vol71. MACSec XPNとは?

MACSecについて最近調べている

john-rama01.hatenablog.com  
 

MACSec のencryption 方式は、GCM-AES-128, GCM-AES-256という理解でいたが、
さらに調べてみると、GCM-AES-XPN-128, GCM-AES-XPN-256, なるものがあるらしい。

 

XPN ??

 

なんだ、それは?
そんな encryption 方式はないぞ。
というわけで少し調べてみた

XPN(extended Packet Numberering)とは

  • IEEE802.1AEbw-2013
  • SecTAGのPN fieldを拡張
    • Packet Number を32bitから64bitに拡張

なぜ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で数年は持つ

ポイント

なぜ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