跳到主要内容

4.2. Message Authentication and Integrity (消息认证和完整性)

4.2. Message Authentication and Integrity (消息认证和完整性)

在本节中, M 将表示要进行完整性保护的数据。对于 SRTP, M 应该由数据包的认证部分 (如图 1 所指定) 与 ROC 连接而成, M = 认证部分 || ROC; 对于 SRTCP, M 应该仅由认证部分 (如图 2 所指定) 组成。

通用参数:

  • AUTH_ALG 是认证算法
  • k_a 是会话消息认证密钥
  • n_a 是认证密钥的比特长度
  • n_tag 是输出认证标签的比特长度
  • SRTP_PREFIX_LENGTH 是上面定义的密钥流前缀的八位字节长度, AUTH_ALG 的一个参数

SRTP/SRTCP 的不同会话认证密钥默认按照第 4.3 节中的规定派生。

对于密钥的任何特定固定值, n_a, n_tag 和 SRTP_PREFIX_LENGTH 的值必须是固定的。

我们描述计算认证标签的过程如下。发送方计算 M 的标签并将其附加到数据包。SRTP 接收方通过使用选定的算法和密钥对 M 计算新的认证标签来验证消息/认证标签对, 然后将其与接收到的消息关联的标签进行比较。如果两个标签相等, 则消息/标签对有效; 否则, 它无效, 并且必须返回错误审计消息 "AUTHENTICATION FAILURE"。