5.4 SA TEK负载 (SA TEK Payload)
SA TEK负载定义了流量加密密钥(Traffic Encryption Key, TEK)安全关联。TEK用于保护群组的实际数据流量,由数据安全协议(如IPsec ESP)使用。
SA TEK负载格式
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Next Payload ! RESERVED ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Protocol-ID ! SPI Size ! # of Transforms !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ SPI (variable) ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ TEK Attributes ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
字段说明:
- Protocol-ID: 指定使用TEK的安全协议
- PROTO_IPSEC_ESP: IPsec ESP
- 其他协议由将来的RFC定义
- SPI: 安全参数索引,用于标识此TEK
- TEK Attributes: TEK的属性,格式取决于Protocol-ID
支持的安全协议
PROTO_IPSEC_ESP
当Protocol-ID设置为PROTO_IPSEC_ESP时,TEK用于IPsec ESP协议。属性包括:
- 加密算法: 如AES-CBC, 3DES-CBC
- 认证算法: 如HMAC-SHA1, HMAC-SHA256
- 密钥长度: 加密和认证密钥的长度
- 生命周期: 时间或字节生命周期
- SPI: ESP使用的SPI值
其他安全协议
未来的RFC可以定义对其他安全协议的支持,如:
- SRTP (Secure Real-time Transport Protocol)
- 其他应用层安全协议
在GROUPKEY-PULL中的使用
请求
组成员请求TEK:
SA_TEK {
Protocol-ID = PROTO_IPSEC_ESP
SPI Size = 0
Attributes {
// 建议的ESP参数
}
}
响应
GCKS提供TEK:
SA_TEK {
Protocol-ID = PROTO_IPSEC_ESP
SPI Size = 4
SPI = 0xAABBCCDD
Attributes {
// 实际的ESP参数和策略
}
}
实际的TEK密钥材料通过密钥下载(KD)负载传输。
在GROUPKEY-PUSH中的使用
更新TEK时:
SA_TEK {
Protocol-ID = PROTO_IPSEC_ESP
SPI Size = 4
SPI = 0xAABBCCDE // 新的SPI
Attributes {
// 新的TEK参数
}
}
新的TEK密钥材料通过KD负载传输,消息使用KEK保护。
多个TEK
一个群组可以 (MAY) 有多个TEK:
- 不同的流: 不同的数据流使用不同的TEK
- 不同的安全级别: 不同的子组使用不同的TEK
- 重密钥过渡: 新旧TEK在过渡期共存
多个TEK通过不同的SPI区分。
TEK的使用
发送数据
组成员发送数据时:
- 选择当前TEK: 使用最新的有效TEK
- 查找SPI: 根据策略确定使用哪个TEK
- 加密数据: 使用数据安全协议加密数据
- 包含SPI: 在加密的数据包中包含SPI
接收数据
组成员接收数据时:
- 提取SPI: 从数据包中提取SPI
- 查找TEK: 根据SPI查找相应的TEK
- 解密数据: 使用TEK解密数据包
- 验证完整性: 验证数据的完整性
处理规则
GCKS规则
GCKS必须 (MUST):
- 分配SPI: 为每个TEK分配唯一的SPI
- 设置策略: 根据群组安全策略设置TEK属性
- 生成密钥: 生成高质量的随机TEK
- 协调更新: 确保所有成员及时收到新TEK
组成员规则
组成员必须 (MUST):
- 存储TEK: 安全存储接收到的TEK
- 关联SPI: 将SPI与相应的TEK和安全协议关联
- 配置数据安全协议: 使用TEK配置数据安全协议(如IPsec)
- 处理密钥转换: 在接收新TEK时正确处理密钥转换
- 监控生命周期: 跟踪TEK的到期时间
密钥转换策略
在TEK更新期间,组成员必须 (MUST) 遵循以下规则:
- 发送: 立即使用新TEK加密出站流量
- 接收: 继续使用旧TEK解密入站流量,直到其生命周期到期
这种不对称策略允许在更新期间有一个过渡期,确保所有成员都能解密数据。
安全考虑
TEK直接保护群组数据:
- 保密性: TEK必须 (MUST) 保密
- 完整性: TEK参数和密钥材料必须 (MUST) 受完整性保护
- 密钥强度: TEK必须 (MUST) 具有足够的加密强度
- 生命周期: TEK应该 (SHOULD) 根据使用量和时间定期更新
- 前向保密: 旧TEK的妥协不应 (SHOULD NOT) 影响新TEK
- 后向保密: 新成员不应 (SHOULD NOT) 能解密旧数据
TEK的妥协将直接导致群组通信数据被解密,因此TEK的保护至关重要。