vol71. MACSec XPNとは?
MACSecについて最近調べている
MACSec のencryption 方式は、GCM-AES-128, GCM-AES-256という理解でいたが、
さらに調べてみると、GCM-AES-XPN-128, GCM-AES-XPN-256, なるものがあるらしい。
XPN ??
なんだ、それは?
そんな encryption 方式はないぞ。
というわけで少し調べてみた
XPN(extended Packet Numberering)とは
なぜXPNが必要になったのか?
- MACSec frame は32bit のPN(Packet Numbering) field をもつ
- MACSec frame はSAK(Secure Association Key)を用いて、encryption/ICVの計算を行う
- SAKはPN が0から232 までは同じものを使う
- PNがwrap up すると、新しいものを使う
- データーセンター等では、Ethernet のスピードがとてもはやい
- 現行で400Gb/s
- 次世代は800Gb/s
- 400Gb/sでは、最悪、2秒でPNはwrap up してしまう(*1)
- SKAを発行はMKA(Macket Key Agrement) protocol (IEEE802.1X-2010) を用いておこなわれる
- SKAを2秒で更新するのは、ムズカシイ
- だからPNを64bitに拡張することとなった
- 64bitならば、一つのSKAで数年は持つ
ポイント
- IV 生成方法が変更
- Salt を使用する
- SSCI(Short Secure Channel Identifier)導入
- SecTAG formatは変更なし
- PN field の長さは32bitのまま変わらない
- PNのLSB 32 bitはSecTAGのPN fieldで転送
- PNのMSB 32bitは受信側でrecovery
- PN field の長さは32bitのまま変わらない
なぜMACSec のPN field を単純に64 bitに拡張しなかったのか?
"GCM Cipher Suites with Extended Packet Numbering" (*1)に以下の記載がある
Design choices were significantly informed by SP 800–38D’s requirement
for a 96-bit IV when more than 232 invocations are made with a single key.
This rules out ‘simply extending’ the PN field in the SecTAG.
まとめ
なるほどね。データセンターとかではものすごい数のフレームが、
ものすごいスピードで流れているから、PNが32bit しかないと、すぐにPNがwrap upしてしまうのね。
PNがwrap up すると、新しいSAK(Secure Association Key)を発行するまで、
新しいMACSec フレームが遅れなくなってしまう。
SAKの発行はそれなりに時間がかかるから(数秒?)、2秒程度でPNがwrap upしてしまっては問題。
この問題を解決するために、PNが64bitに拡張されたのか。
参考
1: https://www.ieee802.org/1/files/public/docs2011/new-seaman-macsec-xpn-0711-v1.pdf
2: https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/16-9/configuration_guide/sec/b_169_sec_9300_cg/macsec_encryption.html