跳到主要内容

11.3. Re-keying and access control (重新密钥和访问控制)

11.3. Re-keying and access control (重新密钥和访问控制)

重新密钥可能由于访问控制 (例如, 在组播 RTP 会话期间删除成员时) 而发生, 或出于纯粹的密码学原因 (例如, 密钥处于其生命周期的末尾)。当使用 SRTP 默认转换时, 必须在由同一主密钥保护的任何流的任何索引空间耗尽之前替换主密钥。

密钥管理如何重新密钥 SRTP 实现不在范围内, 但很明显, 有简单的方法来管理组播组的密钥。例如, 在单发送者组播中, 通常由发送者负责确定何时需要新密钥。发送者是可以跟踪何时发送了最大数据包数的唯一实体, 因为接收者可能随时加入和离开会话, 可能存在数据包丢失和延迟等。在单发送者组播以外的场景中, 可以使用其他方法。在这里, 必须考虑到密钥交换可能是一项昂贵的操作, 单次交换需要几秒钟。因此, 在主密钥耗尽/过期之前的一段时间, 启动带外密钥管理, 产生与接收者共享的新主密钥。无论如何, 为了在切换到新密钥时保持同步, 组策略可能会选择使用 MKI 和 <From, To> 之间的选择, 如第 8.1 节所述。

出于访问控制的目的, <From, To> 周期根据数据包速率设置为所需的粒度。在某些大型组场景中, 高速率重新密钥对 SRTCP 来说可能会有问题。如前所述, 使用 SRTP 索引而不是 SRTCP 索引来确定主密钥存在潜在问题。特别是, 在切换主密钥的短时间内, 可能会出现 SRTCP 数据包不在对应 SRTP 的当前主密钥下的情况。因此, 在这种场景中使用 MKI 进行重新密钥将产生更好的结果。