4 ウェイハンドシェイクは、アクセスポイントとクライアントデバイス の間で 4 つのメッセージを交換して、無線区間のデータを暗号化するために使用できる暗号化キーを生成するプロセスです。4 ウェイハンドシェイク中に生成されるキーと、これらのキーを生成するために必要なキーおよびその他の変数について説明します。
各キーの説明
MSK (マスター セッション キー)
マスターセッションキーは、802.1X/EAP から生成されるか、PSK 認証から派生する最初のキーです。PSK認証の場合、アクセスポイントとクライアントはPSK(Pre-Shared Key)を元に特定のアルゴリズムでMSK(Master Session Key)を生成します。802.1X認証の場合、802.1xのEAP認証の過程でMSKを生成します。
PMK (ペアワイズ マスター キー)
ペアワイズマスターキーは、マスター セッション キー (MSK) から生成されたキーです。MSKの一部(最初の256ビット)よりPMK(Pairwise Master Key)を生成します。このキーを使用して、ユニキャストデータの暗号化に使用される PTK を作成します。
GMK (グループ マスター キー)
グループ マスター キーはすべてのアクセスポイントで生成され、アクセスポイントに接続されたデバイスと共有されます。このキーを使用して、ブロードキャストおよびマルチキャストトラフィックデータの暗号化に使用される GTK を作成します。
PTK (ペアワイズテンポラリーキー)
ペアワイズテンポラリーキーは、クライアントステーションとアクセスポイント間のすべてのユニキャストトラフィックを暗号化するために使用されます。PTKは、クライアントステーションとアクセスポイントの間で一意です。
GTK (グループテンポラリーキー)
アクセス ポイントと複数のクライアントデバイス間のすべてのブロードキャストおよびマルチキャストトラフィックを暗号化するために使用されます。GTK は、1 つのアクセスポイントに関連付けられたすべてのクライアントデバイス間で共有されるキーです。アクセスポイントごとに異なる GTK が存在します。
4 ウェイハンドシェイクの動作
クライアントデバイスが認証され関連付けられると、セキュリティがチェックされ、4 ウェイハンドシェイクが開始されます。
4 ウェイハンドシェイク(Message 1 of 4)
まず最初にPTK を生成するために、アクセスポイントからAnonce (乱数) を含む EAPOL メッセージをクライアントデバイスに送信します。以下のキャプチャー(1/4)のとおり、WPA Key Nonce に乱数が含まれていることが解ります。
クライアントデバイスは、PMKとAnonce(AP側で作成された乱数)とSnonce(サプリカント側で作成された乱数)、お互いのMACアドレスでPTKを生成します。
4 ウェイハンドシェイク(Message 2 of 4)
クライアントデバイスが PTK を作成すると、アクセス ポイントが PTK を生成するために必要な SNonce (サプリカント側で作成された乱数)を送信します。デバイスは、MIC (メッセージ整合性チェック) を使用して EAPOL を送信し、このメッセージが破損または変更されていないかどうかをアクセスポイントがいつ確認できるかを確認します。
アクセスポイントが SNonce を受信すると、ユニキャストトラフィックの暗号化のための PTK を生成できます。
4 ウェイハンドシェイク(Message 3 of 4)
EAPOLメッセージ 3 は、アクセスポイントから GTK をクライアントデバイスに送信します。アクセスポイントはクライアント側の関与なしに、GMKからGTKを作成します。GTKはKEKで暗号化されクライアントデバイスに送信されます。(※PTK は KEK 、KCK、TK の 3 つのキーで構成される。)
クライアントデバイスはKCKを使ってGTKを複合化します。(※PTK は KEK 、KCK、TK の 3 つのキーで構成される。)
4 ウェイハンドシェイク(Message 4 of 4)
キーがインストールされたことを確認するためだけに、クライアントデバイスから最後の EPOL メッセージが アクセスポイントに送信されます。
4 ウェイハンドシェイク完了後は、パケット毎に異なる nonce とTKを使って暗号化され、送信されるようになります。