WebRTC加密和安全(上)

WebRTC不仅仅是一个协议。它是流技术的集合,包括协议、标准和三个JavaScript API。其中包括用户数据报协议(UDP)。此连接协议与其对应协议传输控制协议 (TCP) 形成鲜明对比,因为它优先考虑速度而不是可靠性。这与WebRTC的开源性质相结合,往往会强化WebRTC是一种易受攻击的技术的误解,但这与事实相去甚远。

了解WebRTC通信

在我们深入研究WebRTC安全漏洞以及它如何解决这些漏洞之前,让我们探讨一下WebRTC如何创建和维护媒体传输的连接。人们会经常提到“WebRTC协议”,但正如我们上面提到的,WebRTC并不是严格意义上的协议。它是技术的集合,包括三个JavaScript API,它们协同工作以建立和维护对等体和传输介质之间的连接。

获取用户媒体

getUserMedia API几乎完全符合它的声音。它从他们的网络摄像头和麦克风获取用户的媒体。曾几何时,这是使用Flash等第三方插件完成的,但是HTML5通过引入此API改变了游戏规则。WebRTC很高兴地利用它作为其底层技术的一部分。

RTCPeerConnection

RTCPeerConnection是一个特定于WebRTC的API,它使用会话描述协议(SDP)在对等方之间建立连接。它还负责对媒体进行编码,并使用UDP 通过已建立的连接发送媒体。

RTCDataChannel

最后,还有RTCDataChannel API。此 API处理非音频/视频形式的数据。它负责通过RTCPeerConnection建立的连接传输文本和其他替代类型的数据。

从技术上讲,这些以及您访问WebRTC应用程序的浏览器是成功流式传输所需的全部内容。但是,这通常不是可扩展的解决方案。许多人最终将这种所谓的无服务器技术与一系列服务器一起使用,以促进通信和可扩展性。正如我们将在下一节中探讨的那样,这引入了一些额外的安全问题。

WebRTC安全漏洞和注意事项

WebRTC要求在协议级别进行加密。在浏览器环境中运行时,它受到严格的隐私和安全控制,但是不使用浏览器的服务呢?虽然WebRTC主要是为浏览器到浏览器的通信而设计的,但它经常使用各种基础设施设备,这可能会使其安全性复杂化。下表总结了常见的WebRTC服务器类型及其高级安全隐患。

WebRTC加密和安全(上)

固有的互联网安全问题

WebRTC信令服务器本质上是Web应用程序服务器,需要像任何应用程序一样进行保护。用户应警惕他们连接到谁。幸运的是,浏览器和应用商店保护措施最大限度地减少了不良提供商-但不良用户是另一个问题。“缩放轰炸”是指获取视频会议会议信息以未经授权加入会议,通常用于破坏性目的。WebRTC服务提供商可以通过为其用户提供身份验证机制来防止这种情况,这些机制将访问权限限制为授权用户,并利用审核控制来快速删除和阻止不良行为者。例如,Wowza具有控制WebRTC流访问和持续时间的API。

媒体服务器风险

虽然有时需要STUN和TURN等其他服务器,但这些服务器永远无法访问未加密的媒体,因此不会带来太大的风险。其他服务器,尤其是支持多方视频电话会议或实时流媒体服务器的选择性转发单元 (SFU) 等媒体服务器,会带来更困难的风险。这些服务器在使用新的加密密钥重新传输媒体之前解密媒体。这种解密通常是无法避免的。如果媒体服务器需要操作媒体,则必须执行解密才能访问该媒体。例如,在实时流网络中,媒体服务器需要解密媒体以对其进行转码(调整大小、重构和转换格式),以供内容分发网络 (CDN) 使用。

如果这些媒体服务器遭到入侵,则用户媒体流可能会面临风险。媒体服务器运营商在部署其基础结构和管理授权用户时遵循最佳安全实践非常重要。因此,这些服务器应避免意外缓存敏感的未加密数据。此外,他们应该在内部将媒体流与其他进程隔离,以进一步避免未经授权的访问。

安全性应特定于应用程序。例如,您可能需要录制和存档媒体以进行有意分发。在这种情况肯定需要保存到磁盘并至少使其在某种程度上可用。安全措施应规定如何以及由谁完成。他们还应该确定谁可以访问和播放媒体。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论