5.3. wpa_supplicant および NetworkManagerでの MACsec の使用
Media Access Control Security
(MACsec
、IEEE 802.1AE)は、LAN 内のすべてのトラフィックを GCM-AES-128 アルゴリズムで暗号化および認証します。MACsec
は、IP
だけでなく、ARP (Address Resolution Protocol)、ND (Neighbor Discovery)、または DHCP
も保護できます。IPsec
はネットワーク層(レイヤー 3)および SSL
または TLS
上でアプリケーション層(レイヤー 7)で動作しますが、MACsec
はデータリンク層(レイヤー 2)で動作します。MACsec
と他のネットワーク層のセキュリティープロトコルを組み合わせて、これらの標準が提供するさまざまなセキュリティー機能を利用します。
事前に共有されている CAK/CKN (Connectivity Association Key/CAK Name)ペアを使用して認証を実行するスイッチを使用して
MACsec
を有効にするには、以下を実行します。
手順
- CAK/CKN ペアを作成します。たとえば、次のコマンドにより、16 バイトの鍵が 16 進数表記で生成されます。
~]$ dd if=/dev/urandom count=16 bs=1 2> /dev/null | hexdump -e '1/2 "%02x"'
wpa_supplicant.conf
設定ファイルを作成し、次の行を追加します。ctrl_interface=/var/run/wpa_supplicant eapol_version=3 ap_scan=0 fast_reauth=1 network={ key_mgmt=NONE eapol_flags=0 macsec_policy=1 mka_cak=0011... # 16 bytes hexadecimal mka_ckn=2233... # 32 bytes hexadecimal }
前の手順の値を使用して、wpa_supplicant.conf
設定ファイルのmka_cak
行とmka_ckn
行を完了します。詳細は、man ページのwpa_supplicant.conf (5)
を参照してください。- wlp61s0 を使用してネットワークに接続している場合は、以下のコマンドを使用して wpa_supplicant を起動します。
~]# wpa_supplicant -i wlp61s0 -Dmacsec_linux -c wpa_supplicant.conf
Red Hat では、
wpa_supplicant.conf
ファイルを作成および編集する代わりに、nmcli コマンドを使用して、前述の手順と同じように wpa_supplicant を設定することを推奨します。以下の例では、すでに 16 バイトの 16 進数 CAK ($MKA_CAK
)と 32 バイトの 16 進数 CKN ($MKA_CKN
)があることを前提としています。
~]# nmcli connection add type macsec \ con-name test-macsec+ ifname macsec0 \ connection.autoconnect no \ macsec.parent wlp61s0 macsec.mode psk \ macsec.mka-cak $MKA_CAK \ macsec.mka-cak-flags 0 \ macsec.mka-ckn $MKA_CKN ~]# nmcli connection up test-macsec+
この手順の後に、macsec0 デバイスを設定してネットワーク設定に使用する必要があります。
詳細は、What's new in MACsec: setting up MACsec using wpa_supplicant and (optionally) NetworkManagerの記事を参照してください。さらに、
MACsec
ネットワークのアーキテクチャー、ユースケースシナリオ、設定例の詳細は、MACsec: a different solution to encrypt network traffic の記事を参照してください。