MACsec
From Wikipedia, the free encyclopedia
標準規格の実装
802.1AEで規定されているフレーム書式を下表に示す。通常のイーサネットフレームのヘッダ内にMACsecタグ、FCS前にICVが付加される形となる。MACsecが動作するポートを SecY (MAC Security Entity)と呼び、両対向のSecYがこのフレーム書式で送受を行う[2]。
| サイズ | データ | 内容 |
|---|---|---|
| 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) と呼ぶ[4]。確立時には以下の2種類の鍵を用いる[5]。
- CAK (Connectivity Association Key) - マスターキー。両対向で事前に持ち合う。お互いにその存在を通知し合うと、両対向のいずれかが親になる。
- SAK (Secure Association Key) - 使い捨て鍵。親が独自に乱数生成し、CAKベースで暗号化して対向に通知する。主通信のフレーム暗号化に用いる。定期的に変更され、間断なく切り替えるために最低2個の生成が必要。