跳到主要内容

3.2.3. Mapping SRTP Packets to Cryptographic Contexts (将 SRTP 数据包映射到加密上下文)

3.2.3. Mapping SRTP Packets to Cryptographic Contexts (将 SRTP 数据包映射到加密上下文)

回顾一下, 每个参与者的 RTP 会话 (RTP session) 由一对目标传输地址 (destination transport addresses) 定义 [RFC3550] (一个网络地址加上 RTP 和 RTCP 的端口对), 多媒体会话 (multimedia session) 定义为 RTP 会话的集合。例如, 一个特定的多媒体会话可以包括一个音频 RTP 会话、一个视频 RTP 会话和一个文本 RTP 会话。

加密上下文 (cryptographic context) 应当通过三元组上下文标识符 (triplet context identifier) 唯一标识:

context id = <SSRC, destination network address, destination transport port number>

其中目标网络地址和目标传输端口是 SRTP 数据包中的地址和端口。假设当提供此信息时, 密钥管理 (key management) 返回一个包含 Section 3.2 中描述的信息的上下文。

如上所述, SRTP 和 SRTCP 默认情况下共享加密上下文中的大部分参数。因此, 在实践中检索 SRTCP 流的加密上下文参数可能意味着绑定到对应的 SRTP 加密上下文。由于 RTCP 端口可能无法仅从 RTP 端口直接推导出来, 因此实现有责任确保这种绑定。或者, 密钥管理可以选择提供单独的 SRTP 和 SRTCP 上下文, 复制公共参数 (如主密钥 master key(s))。后一种方法还使 SRTP 和 SRTCP 能够使用不同的转换 (transforms), 如果需要的话。当形成单个 RTP 会话一部分的多个 SRTP 流共享密钥和其他参数时, 也会出现类似的考虑。

如果对于对应于某个上下文标识符的数据包找不到有效上下文, 则该数据包必须被丢弃。