我正在尝试围绕 MACSec 密钥协议协议 (MKA) 及其与 MACSec 和其他协议的关系。所以请耐心等待。
据我了解,为了使 MACSec 正常工作,所有节点都必须有一个共享的加密密钥,称为安全关联密钥 (SAK)。其中 Key server 负责生成和分发。为了安全分发,它使用密钥加密密钥 (KEK)。它是使用以连接关联密钥 (CAK) 作为输入的密钥派生函数 (KDF) 从 CAK 生成的。
根据 IEEE 802.1X
使用以下变换直接从 EAP MSK 导出成对 CAK:
CAK = KDF(密钥、标签、mac1 | mac2、CAK 长度)
在哪里
密钥 = MSK[0-15] 用于 128 位 CAK,MSK[0-31] 用于 256 位 CAK
标签 = "IEEE8021 EAP CAK"
mac1 = EAPOL-EAP 交换 (11.1.2) 中使用的两个源 MAC 地址中的较小者
mac2 = EAPOL-EAP 交换中使用的两个源 MAC 地址中的较大者
CAKlength = 表示整数值的两个八位字节(128 位 CAK 为 128,256 位 CAK 为 256),最高有效八位位组在前。
MSK 应该是所谓的 EAP(可扩展身份验证协议)主会话密钥。我一直在阅读 EAP 的 IEEE RFC3748,但我无法理解这个 MSK 是如何生成的以及它是如何安全分发的?
除了 EAP 身份验证过程和预共享密钥之外,还有其他方法可以生成 CAK 吗?
谢谢。