4.4. Keyed SHA1 and Meticulous Keyed SHA1 Authentication Section Format (密钥 SHA1 和严格密钥 SHA1 认证段格式)
4.4. Keyed SHA1 and Meticulous Keyed SHA1 Authentication Section Format (密钥 SHA1 和严格密钥 SHA1 认证段格式)
如果在头部中设置了认证存在 (A) 位, 并且认证类型字段包含 4 (密钥 SHA1, Keyed SHA1) 或 5 (严格密钥 SHA1, Meticulous Keyed SHA1), 则认证段具有以下格式:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Key/Hash... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Auth Type
认证类型, 在这种情况下为 4 (密钥 SHA1) 或 5 (严格密钥 SHA1)。
Auth Len
认证段的长度, 以字节为单位。对于密钥 SHA1 和严格密钥 SHA1 认证, 长度为 28。
Auth Key ID
此数据包使用的认证密钥 ID。这允许多个密钥同时激活。
Reserved
此字节在发送时必须设置为零, 在接收时忽略。
Sequence Number
此数据包的序列号。对于密钥 SHA1 认证, 此值偶尔递增。对于严格密钥 SHA1 认证, 此值为会话传输的每个连续数据包递增。这提供了针对重放攻击的保护。
Auth Key/Hash
此字段携带数据包的 20 字节 SHA1 哈希。当计算哈希时, 共享 SHA1 密钥存储在此字段中, 如果需要, 用尾随零字节填充到 20 字节长度。共享密钥必须根据第 6.7.4 节进行编码和配置。