与我一起编码安全概述
最后修改时间:2023 年 8 月 23 日Code With Me 是一个功能强大的工具,使您能够协作处理代码。有了这种能力,就有责任保证您的代码和访问级别的安全。
连接工作流程
假设我们有两个用户想要使用Code With Me相互连接。
用户 ( Host ) 单击“与我一起启动代码会话”操作以在其本地 IDE 中创建会话。
本地 IDE 向大厅服务器发送有关会话创建的通知,并请求会话连接。
注册后,将创建链接。
生成的链接将通过任何可用的方式发送给另一个用户 ( Guest )。
例如,可以通过 Slack、WhatsApp Messenger、电子邮件等发送。
其他用户(来宾)单击收到的链接。或者,单击本地 IDE 主工具栏上的“加入会话” ,复制并粘贴收到的链接。
访客接收有关如何连接到主机的参数并开始连接。
此时需要向主机请求授权。如果主机授予访问权限,则连接将继续,并且访客将连接到会话。
数据加密
在会话期间,主机和访客交换私人信息,包括源代码、密码等。
这就是主机和访客之间的连接使用TLS 1.3进行端到端加密的原因。无论流量在用户之间直接流动,还是通过 JetBrains 中继服务器,包括 JetBrains 在内的第三方都无法访问此通信通道。
笔记
当多个访客连接到会话时,主机对每个访客进行单独的端到端加密。然而,当有许多访客同时连接到会话时,PIN 码验证会很困难。
防止中间人 (MitM) 攻击
可以说,最大的风险是恶意行为者冒充主机或来宾访问通信通道,或所谓的中间人攻击。
冒充合法主机
在连接开始时,访客和主机都会生成一个由公共部分和私有部分组成的唯一 SSL 证书。访客和主机通过这对 SSL 证书进行身份验证。
加入链接包含主机证书的指纹,该指纹是其 SSL 证书的公共部分的哈希值。除了主机之外,没有人拥有该证书的私有部分。因此,访客无法物理连接到冒充主机的恶意行为者。
冒充合法客人
假设主机创建了一个泄露的链接。例如,主持人在公共频道中分享了链接。
因此,如果主机不确定尝试连接到创建的会话的访客,主机可以检查 pin 码。密码必须与客人的密码一致。主人应检查客人是否可以使用任何可用的渠道命名显示在主人一侧的 PIN 码。如果 pin 码匹配,则尝试连接到会话的用户就是合法用户。
音视频通话加密
两个参与者之间的音频和视频通话默认不进行端到端加密,但可以在通话安全选项中启用。
启用端到端加密
会话开始后,在右侧工具栏上单击“Code With Me”以打开“Code With Me”工具窗口。
在“语音呼叫”选项卡的工具窗口菜单上,单击。
从可用选项列表中,选择安全选项。
您可以为音频或视频通话添加密码,以便受到密码保护。您还可以使用启用端到端加密选项来加密您的呼叫。
笔记
请记住,两个以上参与者的音频和视频通话(例如视频会议)不是端到端加密的。然而,这种加密技术正在开发中。
感谢您的反馈意见!