9.3. Confidentiality of the RTP Payload (RTP 负载的机密性)
9.3. Confidentiality of the RTP Payload (RTP 负载的机密性)
SRTP 的预定义密码是 "可寻址" (seekable) 流密码, 即能够有效地寻址到其密钥流中任意位置的密码 (因此一个数据包的加密或解密不依赖于前面的数据包)。通过使用可寻址流密码, SRTP 避免了缺少此属性的流密码可能遭受的拒绝服务攻击。重要的是要意识到, 与任何流密码一样, 加密会揭示负载的确切长度。这意味着可能推断出负载的某些 "格式化比特", 因为编解码器输出的长度可能由于某些参数设置等而变化。反过来, 这意味着可以推断出密钥流的相应比特。但是, 如果流密码是安全的 (计数器模式和 f8 在某些假设下可证明是安全的 [BDJR] [KSYH] [IK]), 那么了解密钥流的几个比特不会帮助攻击者预测后续的密钥流比特。因此, 负载长度 (以及从中可推断出的信息) 会泄漏, 但不会泄漏其他内容。
由于某些 RTP 数据包可能包含高度可预测的数据 (例如 SID), 因此使用设计为抵抗已知明文攻击的密码非常重要 (这是当前的实践)。