相关背景请阅读:
我们知道,在仅考虑面向设备模式下,通信双方拥有预先配置好的CAK密钥,根据这个CAK密钥,MKA key生成过程如下:[1]

首先,需要根据KDF(Key Derivation Function, 密钥派生函数)生成ICK(Integrity Check Key,用作完整性校验)和Key Encrypting Key(加密密钥的密钥)。
MACsec通信双方的MACsec服务端,还需要先基于随机数算法生成一个随机数,然后再利用KDF基于这个随机数生成出SAK(Secure Association Key,用来通信的密钥)。
其后,还需要利用AES算法,用上述提到的派生出的KEK密钥来将SAK密钥进行加密。
最后,服务端将加密后的SAK分发给对方设备,对方设备也就能够获得这个SAK密钥,然后用于双方的加密通信。
参考
^Keys, Generation, and Usage https://community.cisco.com/t5/networking-knowledge-base/mka-macsec-key-agreement-exchange-on-the-wire/ta-p/4436083
往期回顾