勉強がてら、WPS(Wi-Fi Protected Setup)のPBC(プッシュボタン方式)のやりとりをWiresharkでキャプチャして仕様書と見比べてみました。
WPSの仕様書
WPSの仕様書は下記URLからダウンロードできます。
この仕様書から、PBCのメッセージ交換の図(Firugre 11)を引用します。
Enrolleeがいわゆる子機、AP+Registrarが親機です。我々が普段使うような環境であればAPとRegistrarは同一機器なので通信は発生せず、単なるライブラリコールとなります。
Wiresharkでキャプチャ
手近にあったUSB無線LAN子機と親機とをPBCで接続してみた上で、別のマシンを使ってモニタモードでパケットキャプチャしてみました。
仕様書と同じようなやりとりが行われているのがわかります。M1やM3が何度も送られているのは、おそらくそういうものなのでしょう。
M8にはPSKが含まれており、この一連のやりとりの後で改めてWPA/WPA2の認証を行うと考えられますが、M8の値は暗号化されているため、実際に何の情報が含まれているかは確認できませんでした(M1/M2でDiffie-Hellman鍵交換を行っているため、盗聴者にも解読は不可能)。