FreeRadiusとEAP-TLS(相互TLS証明書ベースの認証)を使用した802.1x WPA2エンタープライズ認証の実装を進めています。
実際のプロトコルがどのように連携して動作し、どのようにしてWiFiネットワークを安全に保つかを理解したいと思っています。
Pub/privキーを使用した、証明書ベースの認証の基本を理解しています。また、通常のHTTPSでは、セッションキーがクライアントによって作成され、サーバーに送信されますが、EAP-TLSはこのように動作しないようです。
私はこの図を見ています: http://tldp.org/HOWTO/8021X-HOWTO/images/8021X-KeyManagement.png
私の理解(上記の図を読んだ後)は、TLS認証が成功した後、FreeRadiusサーバーがマスターキーを生成し、ペアワイズマスターキー(PMK)を導出することです。次に、何らかの方法でクライアントサプリカントとアクセスポイントの両方にPMKを送信し、PMKを使用して他のセッションキーを生成して実際のデータを暗号化します。
ただし、ラップトップとFreeRadiusサーバーの両方でいくつかのtcpdumpを実行した後、次のことを除いて、送受信されるキーが表示されません。..Freeradiusサーバーからのキャプチャでは、最終的なAccess-Acceptパケット内にAPに送信すると、MPPE-SendおよびMPPE-Recvキーが表示されます。これは、MSCHAPv2 .....を使用していないため、奇妙です。
クライアント(ラップトップ)側のキャプチャで、最後のEAP成功(基本的には空です)と4ウェイWPA2ハンドシェイクの開始(その時点でPMKがわかっている必要がある)の間に何も表示されません。
それで私の質問は、FreeRadiusからAPおよびクライアントにPMKがどこに送信されるのかということです
ありがとう!
ですから...サーバーはその証明書をクライアントに送信してIDを検証し、クライアントも同じことを行います。その後、必要に応じて他の内部認証プロトコルが提供されます。
MSK(マスターセッションキー)は、TLSマスターシークレットから一方向関数を介して取得されます。このMSKでPMKが生成されます。
MSKは半分に分割され、前半はピア(STA /クライアント/サプリカント)からオーセンティケーター暗号化キー(32オクテット)と呼ばれ、PMKまたはEnc-RECV-Keyで、後半はピアへのオーセンティケーター(STA /クライアント/サプリカント)暗号化キー(32オクテットも)またはEnc-SEND-Key。
MKはパスワードから生成され、サプリカント(クライアント)とRadiusサーバーによって個別に実行されます。
その後、PMKはクライアントとRADIUSサーバーによって別々に取得されます。 RadiusサーバーがAPにPMKを有線で送信しています。