跳到主要内容

8. Security Considerations (安全考虑)

8. Security Considerations (安全考虑)

IETF 已经发布了单独的文档 [RFC8827] [RFC8826] 来描述 WebRTC 整体的安全架构。本节的其余部分描述本文档的安全考虑。

虽然从形式上看 JSEP 接口是一个 API, 但更好的做法是将其视为一个互联网协议, 从 JSEP 实现的角度来看, 应用程序 JavaScript 是不可信的。因此, [RFC3552] 的威胁模型适用。特别是, JavaScript 可以以任何顺序、使用任何输入 (包括恶意输入) 调用 API。当我们考虑传递给 setLocalDescription 的 SDP 时, 这一点尤为重要。虽然正确的 API 使用要求应用程序传入从 createOffer 或 createAnswer 派生的 SDP, 但无法保证应用程序会这样做。JSEP 实现必须准备好 JavaScript 传入伪造数据的情况。

相反, 应用程序开发人员需要意识到 JavaScript 并不能完全控制端点行为。一个值得特别提及的情况是: 从 SDP 中编辑掉 ICE 候选者或抑制分散候选者并不会产生预期的行为: 即使这些候选者没有发送到另一端, 实现仍然会从这些候选者执行检查。因此, 例如, 通过删除服务器反射候选者来阻止远程对等方获知您的公共 IP 地址是不可能的。希望隐藏其公共 IP 地址的应用程序必须将 ICE 代理配置为仅使用中继候选者。