MACsec

MACsec (マックセック)は、イーサネットの暗号化通信。OSI参照モデルの第2層で動作し、上位層プロトコルであるIPsecやTLSと同様に、MACによるデータの保護や送信元の認証が可能となる。IEEE 802.1AEで標準化された。

 標準規格の実装 

802.1AEで規定されているフレーム書式を下表に示す。通常のイーサネットフレームのヘッダ内にMACsecタグ、FCS前にICVが付加される形となる。MACsecが動作するポートを SecY (MAC Security Entity)と呼び、両対向のSecYがこのフレーム書式で送受を行うIEEE 802.1AE-2018, Clause 6. Secure provision of the MAC Service。

+ MACsecフレーム書式IEEE 802.1AE-2018, Clause 9. Encoding of MACsec Protocol Data Units サイズ  データ  内容 6バイト  宛先MACアドレス 6バイト  送信元MACアドレス 2バイト  EtherType  0x88e5: MACsec 1バイト  TCI/AN  (Tag Control Infomation / Association Number) 1バイト  Short Length  暗号化データ長 4 or 8バイト  Packet Number  パケット番号。暗号化および認証用の初期値として使う。リプレイ攻撃に対する保護にもなる。 (8バイト)  SCI  (Secure Channel Identifier) LAN全体のID。オプション (1対1接続では不要)。 (4バイト)  VLANタグ  暗号化される。暗号化にはGCM-AES-128 または GCM-AES-256 を使う。 2バイト  EtherType 46～1500バイト  ペイロード  8 or 16バイト  ICV  (Integrity Check Value) 暗号化データの整合性確認用。端末認証にも使う。 4バイト  FCS 

暗号化の接続確立の方法は IEEE 802.1X で規定されており、その鍵交換プロトコルを MKA (MACsec Key Agreement) と呼ぶIEEE 802.1X-2020, Clause 9. "MACsec Key Agreement protocol (MKA)"。確立時には以下の2種類の鍵を用いるIEEE 802.1X-2020, Secion 6.2 "Key hierarchy"。

 CAK (Connectivity Association Key) - マスターキー。両対向で事前に持ち合う。お互いにその存在を通知し合うと、両対向のいずれかが親になる。
 SAK (Secure Association Key) - 使い捨て鍵。親が独自に乱数生成し、CAKベースで暗号化して対向に通知する。主通信のフレーム暗号化に用いる。定期的に変更され、間断なく切り替えるために最低2個の生成が必要。

 脚注 

 外部リンク 
 MACsec Toolkit

Category:IEEE 802
Category:リンク層プロトコル
Category:暗号化プロトコル
Category:セキュア通信