MACSec 密钥协商协议 (MKA) 中的所需密钥是如何生成的?

网络工程 以太网 安全
2022-03-05 13:40:24

我正在尝试围绕 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 吗?

谢谢。

0个回答
没有发现任何回复~