読み方 : フォーウェイハンドシェイク
4ウェイハンドシェイク【4-way handshake】
概要
TCPの4ウェイハンドシェイク
TCP(Transmission Control Protocol)における4ウェイハンドシェイクは、確立済みの接続を正常に終了するための手順である。接続開始時に行われる「3ウェイハンドシェイク」と対をなす。
まず切断を希望する側がFINパケットを送り、相手がACKパケットで受信を確認する。続いて、相手側もFINを送り、最初の側がACKを返して完了する。接続の開始と異なり4回の交信が必要になるのは、TCPが送受信の経路を独立して管理する仕組みを持つためである。一方が送信を終えても、相手側にまだ送るべきデータが残っている場合があり、それぞれが個別に終了の意思を伝える必要がある。
Wi-Fiの4ウェイハンドシェイク
無線LAN(Wi-Fi)における4ウェイハンドシェイクは、端末とアクセスポイント(AP)の間で暗号化通信に使う鍵を生成・共有するための手順である。WPA2やWPA3といったセキュリティ規格で定義されており、利用者が認証を終えた直後に実行される。
まずAPが「ノンス」(nonce)と呼ばれるその場で生成した乱数を端末に送り、端末も自ら生成した別の乱数を返す。双方はこの2つの乱数とパスワードから一定の計算手順で算出した値をもとに、同一の暗号鍵(PTK:Pairwise Transient Key)をそれぞれ個別に生成する。その後、双方が同じ鍵を持っていることを確認し合って暗号化通信が始まる。
暗号鍵そのものはネットワーク上に送出しないため、一連のやり取りが傍受されても解読されにくい仕組みになっている。過去にはWPA2規格におけるこの手順の弱点を突く「KRACK」と呼ばれる攻撃手法が報告され、関連する機器やソフトウェアで対策の更新が行われた。WPA3では手順が見直され、対策済みとなっている。
(2026.6.26更新)
