Wi-Fi Protected Setup(ワイファイ・プロテクテッド・セットアップ、WPS)は、かつてWi-Fiアライアンスが提唱していた無線LAN機器同士の接続設定や暗号化設定を容易に行えるようにするための規格である。

最初のバージョンは、2006年8月16日に策定された。2007年1月8日に認定プログラムが開始され、最初の10製品が認定された。同年から順次、本規格対応製品が各社から発売されている。

策定中はWi-Fi Simple Config(WSC)のコード名で呼ばれていた。また、WPS機能を実現するMicrosoftの実装はWindows Connect Now(WCN)の名前で呼ばれている。

## 策定のきっかけ

Wi-Fiアライアンスによって規格化された無線LANでは、傍受防止や不正接続防止のために暗号化することができる。しかし、接続時に長いパスワードを入力する手間があり、簡単な接続のために暗号化をOFFにする運用も散見された。

無線機器メーカーは、2003年頃から暗号化設定を簡単に使えるように独自で自動設定システム(バッファローの「AOSS」やNECプラットフォームズの「らくらく無線スタート」等)を開発したが、結果として互換性のない複数のシステムが乱立し、各メーカーによる独自規格による囲い込みが始まりつつあった。

これを受けWi-Fiアライアンスは、囲い込みではなく「どのメーカーの製品でも接続できる」ようにWPS規格を策定した。WPS対応機器同士ならメーカーが異なっても無線LANセキュリティの暗号化の複雑な設定を簡単に行なうことができる。

## 履歴

- Version 1.0 - 2006年8月16日公開
- 2007年1月8日、認定プログラム開始。
- 2007年1月18日、日本国内では初のWPS対応製品「コレガ CG-WLBARGPX」が発売される。なお発売時点ではWPS認定に合格していなかったが、2007年6月20日に正式に認定され、2007年9月13日に対応アップデートが提供された。
- 2007年4月11日、日本国内では初のWPS認定を取得した製品「バッファロー WHR-G」が発表される。
- Version 2.0.0 - 2010年12月20日公開。曖昧な点を明確にしたり、追加の改善をした。
- Version 2.0.1 - 2011年8月11日公開。デバイスタイプにタブレットPCが追加された。
- Version 2.0.2 - 2012年1月30日公開。PIN認証時、複数回失敗した場合には一定時間ロックするブルートフォース対策機能が必須となる。
- Version 2.0.4 - 2014年3月21日公開。NFC認証など曖昧な点を明確化。
- Version 2.0.5 - 2014年8月4日公開。Wi-Fi P2Pとの関係を明確化。
- Version 2.0.6 - 2018年4月26日公開。Multi-AP識別子を追加。
- Version 2.0.7 - 2019年12月9日公開。Multi-AP要素など細部追記。
- Version 2.0.8 - 2020年12月1日公開。編集上の更新。

## 接続方式

規格上、PINコード認証方式のサポートは必須であり、その他の方式のサポートは任意である。

### PINコード認証方式

#### 手順

アクセスポイント(親機)かクライアント(子機)のどちらかの設定画面や本体貼付のラベルで表示されている数字4桁または8桁のPINコードを確認し、その数字を反対側の設定画面で入力する。

### PBC(プッシュボタン設定)方式

#### 手順

1. 子機側のWPSプッシュボタンを押す。Windows、Android、プリンタでは、それぞれの無線LANの設定画面で付近のESSIDの検索をして該当する親機を選択する操作をするか、「WPSボタン」「Wi-Fi簡単接続」などの語句の操作を行う。
2. 120秒以内に親機(アクセスポイント)側のWPSプッシュボタンを押す。機種によってはWPSとは明記せず「AOSS」「らくらくスタートボタン」などの各メーカー独自機能の名称ボタンがWPSを兼ねている。物理ボタンの場合、誤操作を避けるために数秒の「長押し」をする必要がある場合が多い。
3. 数十秒して、子機(クライアント)側でWi-Fiの接続の確立を示す表示となることを確認する。親機(アクセスポイント)側はWPSプッシュボタンを操作した際にWPS接続操作中の特別なランプの点滅を示していた場合は、終了して通常動作に戻る。

### 近距離無線(NFC)方式

当初の検討には含まれていたが最終的には採用されず、オプション扱いである。

アクセスポイントとデバイスを近づけ、NFCで情報を交換する。

### USB メモリ方式

当初の検討には含まれていたが最終的には採用されず、すでに廃止されている。使用することは非推奨である。

## 脆弱性

### PINのブルートフォース攻撃

2011年12月27日、WPSのPINコード認証方式に脆弱性があることが公表された。PINコードは4桁または8桁の数字を用いて認証を行うが、PINコードが間違っていた場合に返される「EAP-NACK」メッセージを読むことで最初の4桁が合っているかどうかの判定ができてしまう。また、4桁または8桁のPINコードのうち最後の1桁はチェックサムのため実際の鍵は3桁または7桁でしかない。そのため8桁のPINコードを総当たりで解読を試みても最大1万1000通りの試行で正解を見つけることができ、約4時間の攻撃で解読ができる。

2012年1月30日に公開されたWPS 2.0.2では、複数回認証に失敗した場合には一定時間ロックするブルートフォース対策機能が必須となったが、少しの緩和にすぎず、数日あれば解読されてしまう。

WPSではPINコード認証のサポートが必須と定義されているため、この脆弱性に対する根本的な解決策はない。WPSを無効化することが推奨されている。厳格にはWPSの規格には違反していることになるが、一部のアクセスポイント(親機)はPINコード認証のみを無効にする機能を搭載している。

### Pixie Dust attack

2014年9月、Ralink、Broadcom、Realtekのチップセットを搭載した機器の生成する乱数が推測可能であることが公表された。1回の試行と一連のオフライン計算を実行するだけで正解のPINコードを見つけることができる。

これらのハードウェアを使う限り回避や緩和する方法は存在しなく、発見者はWPSを無効化することを推奨している。2015年4月には実証コードが公開された。

### WPS PIN生成アルゴリズム

2014年10月31日、D-LinkのWi-Fiルーターにデフォルトで設定されたWPS PINは完全なランダムな値ではなく、WAN側MACアドレスから一連の計算によって導かれているため、推測が可能であることが公表された。

2015年4月10日にはBelkinのWi-Fiルーターでも同様に推測が可能であることが公表された。

### PINコードラベルの物理的な攻撃

ルーターやアクセスポイントの多くの製品は本体に初期設定のWPS PINコードが記載されたラベルがついている。多くの場合はルーターの裏面に書かれているが、管理者の目を盗んでこのラベルを見ることができれば、許可されていない第三者であっても接続することが可能である。PINコードは初期設定から変更することが推奨されている。

### プッシュボタンの物理的な攻撃

プッシュボタン設定認証は、アクセスポイント(親機)の設置場所次第では脆弱である。許可されていない第三者であっても、管理者の目を盗んでプッシュボタンを押すことができれば接続できる。設置場所を工夫するか、プッシュボタン設定認証機能を無効にすることが推奨されている。

## 衰退

いくつかの脆弱性を受け、WPSは順次廃止の方向へ進んでいる。Wi-Fiアライアンスは代替としてWi-Fi Easy Connectと呼ばれるQRコードやNFCタグを用いた接続を提唱し、普及が進んでいる。

2018年6月にWi-Fiアライアンスが発表したWPA3では、WPSによる接続を許可していない。

2018年7月、Googleは次期OS Android 9.0では、セキュリティ上の理由からWPSをサポートしないことを公表した。