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 流共享密钥和其他参数时, 也会出现类似的考虑。
如果对于对应于某个上下文标识符的数据包找不到有效上下文, 则该数据包必须被丢弃。