IEEE802.1x EAP-PEAP

WiFiAPを用いてIEEE802.1x認証(EAP-PEAP)を試してみたいと思います。
サプリカントはWindows7端末、オーセンティケータはArubaのWiFiAPを用います。認証サーバはCentOS6にfreeRadisusを設定し、プライベート認証局を構築しました。

プライベート認証局の構築は下記のサイトを参考にさせていただきました。
http://qiita.com/T_Tsan/items/632e83167bbc3a90ad4e

■freeRadiusの設定

・サーバ秘密鍵: /etc/pki/ssl/server.key
・サーバ証明書: /etc/pki/ssl/server.crt
・CA証明書: /etc/pki/CA/cacert.pem

[/etc/raddb/eap.conf]

eap {
default_eap_type = peap

tls {
     certdir = /etc/pki/ssl
     cadir = /etc/pki/CA
     private_key_file = ${certdir}/server.key
     certificate_file = ${certdir}/server.crt
     CA_file = ${cadir}/cacert.pem
     dh_file = ${certdir}/dh2048.pem
     random_file = /dev/urandom
}

peap {
     default_eap_type = mschapv2
     copy_request_to_tunnel = yes
     use_tunneled_reply = yes
     virtual_server = "inner-tunnel"
     soh = yes
     soh_virtual_server = "soh-server"
}
mschapv2 {
     send_error = no
}
}

[/etc/raddb/users]

test Cleartext-Password:="test"

[/etc/raddb/radiusd.conf]

log {
auth = yes
}

RADIUSの起動

openssl dsaparam -out dh2048.pem 2048 : DSAパラメータファイルの作成
/usr/sbin/radiusd -X :デバッグモードで起動

■サプリカントの設定

EAP1

ルート証明書は認証局からダウンロードしてPCにインストール、これを設定します。

EAP2

EAP3

EAP4

■認証

該当するSSIDを選択するとオーセンティケータとEAPOLによる通信を開始します。EAPOLはLAN上でEAPパケットをMACフレームのデータ部分に格納してややとりするための仕様で、イーサネットタイプ「888E」を用います。

[EAPPOLフレーム]

| DA | SA |Type(888e) | Version| タイプ| 長さ | データ(EAPパケット) | FCS |

                                            ↓

                                            |EAP Code| ID | 長さ | EAPデータ | 

※タイプ   1:= EAP-Packet / 2 = EAPOL-Start  /  3=EAPOL-Logoff  /  4=EAPOL-Key / …….

オーセンティケータはEAPOLからEAPを取り出し、RADIUSに移し替えて認証サーバと通信を行います。RADIUSの属性データ部分で属性番号79としてEAPが定義されています。

下図はオーセンティケータから認証サーバへのRADISU(Access-Reaurst)。属性データ部分にEAP情報が含まれておりEAPレスポンス、TypeはIdentityを送付している様子が見てとれます。

EAP-PEAP-Packet1

これに対し認証サーバはEAP-PEAPによる認証をリクエスト。

EAP-PEAP-Packet2

ここからSSL認証をするために、EAPデータ部分にClient Helloを格納して認証サーバへ送付。

EAP-PEAP-Packet3

認証サーバはプライベートCAにより署名されたサーバ証明書をサプリカントへ送付。

EAP-PEAP-Packet4

SSLでのトンネルが確立されると暗号化された状態でMSCHAPによる認証を行っている模様。

EAP-PEAP-Packet5

認証が成功しRADIUSが認証成功を返却。

EAP-PEAP-Packet6

認証成功を受け取ったオーセンティケータはEAPOLタイプ「EAPOL-Key」で暗号通信用の鍵情報を通知します。
※EAP-PEAPのシーケンスはここがわかりやすいです。
https://mrncciew.files.wordpress.com/2014/08/eap-peap-20.png

スポンサーリンク






シェアする

  • このエントリーをはてなブックマークに追加

フォローする