Wi-Fi Protected Setup Best Practices v2.0.2
Wi-Fi Protected Setup Best Practices v2.0.2
Version 2.0.2
Wi-Fi Alliance®
December 2020
The following document, and the information contained herein regarding Wi-Fi Alliance programs and expected dates of
launch, is subject to revision or removal at any time without notice. THIS DOCUMENT IS PROVIDED ON AN "AS IS",
"AS AVAILABLE" AND "WITH ALL FAULTS" BASIS. WI-FI ALLIANCE MAKES NO REPRESENTATIONS,
WARRANTIES, CONDITIONS OR GUARANTEES AS TO THE USEFULNESS, QUALITY, SUITABILITY, TRUTH,
ACCURACY OR COMPLETENESS OF THIS DOCUMENT AND THE INFORMATION CONTAINED IN THIS
DOCUMENT.
Revision History
Dec 20, 2010 2.0.0 Initial release for Wi-Fi Protected Setup 2.0
1.2 Scope
This document applies to Wi-Fi Protected Setup implementations of Enrollees, Access Points and
Registrars where applicable.
This document contains clarifications, guidelines, and recommendations for Wi-Fi Protected
Setup. These recommendations are not normative, and they do not supersede the generic
protocol specification. For example, this document gives recommendations on interactions
between Wi-Fi Protected Setup and 802.1X/802.11 protocols that apply only to Wi-Fi Protected
Setup use.
AP Access Point
IE Information Element
Legacy Client Client that does not support Wi-Fi Protected Setup
UI User Interface
3.1.1 The user purchases a new Wi-Fi Protected Setup device and triggers an Enrollee
addition with either a physical button press or an appropriate alternative option (e.g. a
soft button on a display UI).
• Certified Wi-Fi Protected Setup Enrollees should clearly designate the Wi-Fi Protected
Setup button, preferably using the Wi-Fi Protected Setup Identifier Mark (see Section
3.18).
• The device may conditionally present the WSC trigger sequence if Wi-Fi Protected
Setup-capable APs are detected in the vicinity. Alternately, the Enrollee may allow a
manual WSC connection with any AP in an 802.11 channel scan list in order to
accommodate environments where interference from multiple APs on the same channel
may reduce the ability for Enrollees to see WSC IEs.
• The user typically presses the button until the device WSC visual indicator activates,
indicating a WSC session.
• The WSC visual indicator should change status less than one second from the time it is
triggered by a button press.
• If capable, the device UI should next direct the user to trigger the AP's button.
3.1.2 The user triggers the WSC process with a button press on their Wi-Fi Protected Setup
AP.
• Certified Wi-Fi Protected Setup APs should clearly designate the Wi-Fi Protected Setup
button, preferably using the Wi-Fi Protected Setup Identifier Mark (see Section 3.18).
• The user should be able to trigger a Wi-Fi Protected Setup AP with a single simple button
press. Wi-Fi Protected Setup ease-of-use will be drastically degraded if long vs. short or
single vs. multiple button presses are required. The recommended maximum required
press time should be less than two seconds.
• Push Buttons should not be dual-purposed (i.e. a button that activates more than one
function on the device, depending on condition or length of button press). This is
especially problematic if the alternative purpose of the button is to reset security or reset
the device to factory defaults.
3.1.3 The user confirms the successful completion of the WSC sequence through the
Enrollee's WSC visual indicator.
• When providing instructions, vendors should not assume the presence or behavior of any
WSC visual indicators on other vendors' devices, as visual indicators may vary from
vendor to vendor.
• The following recommended WSC visual indicator LED flashing frequencies make WSC
In-Progress and WSC Error conditions more distinguishable to the user:
Error
On 0.25
0.25 •••
Off seconds
2.0 0.5
Session Overlap Detected
On 300
Off seconds
Success
Solution:
The following paragraphs summarize the PIN method discovery phase for a Wi-Fi Protected
Setup Enrollee, as per the Wi-Fi Protected Setup Specification. The summary is followed by a
recommendation for PIN method discovery when the environment includes both Wi-Fi Protected
Setup v1.0 and Wi-Fi Protected Setup v2.0 APs.
As shown in Figure 3, the Wi-Fi Protected Setup discovery phase was modified to allow an
Enrollee to more easily identify which Registrar is ready to run the Registration Protocol for PIN
method (see Wi-Fi Protected Setup Specification Section 4.2). Information about the Enrollee,
equivalent to the information in message M1, is now sent by the Enrollee in the WSC IE in its
Probe Requests. The Enrollee may include the optional Request To Enroll sub-element set to
TRUE to indicate that it is specifically requesting to start Registration and not just performing
discovery. This allows the AP or external Registrar user interfaces to provide the user with
specific indicators containing details of the prospective Enrollee, for example.
The AP must proxy the Enrollee’s Probe Request to the internal or any attached external
Registrar. The AP must include the Selected Registrar attribute set to TRUE in Beacons and
Probe Responses when it receives a SetSelectedRegistrar message with the Selected Registrar
attribute TRUE from a Registrar. Note that some Registrars may send a SetSelectedRegistrar
message with the Selected Registrar attribute TRUE when the user navigates to a GUI page that
allows selection of the Enrollee, so for PIN method the presence of the Selected Registrar
attribute TRUE alone in Beacons and Probe Responses does not guarantee that the Registrar is
ready to run the Registration Protocol.
Once the PIN is entered into the Registrar, it must send a SetSelectedRegistrar message to the
AP with the Selected Registrar attribute TRUE and an AuthorizedMACs sub-element which
includes either the Enrollee MAC address or the wildcard MAC address (FF:FF:FF:FF:FF:FF).
Once the Enrollee receives a Beacon or Probe Response with the Selected Registrar attribute
TRUE and with an AuthorizedMACs sub-element containing either its own MAC address or the
wildcard MAC address, it may start the Registration Protocol. In the case where the wildcard
MAC address is advertised, and not the Enrollee’s MAC address, the PIN attempt may fail if the
Registrar is expecting a different Enrollee. In another case, the Enrollee may receive an M2D
message following its M1 message if a Wi-Fi Protected Setup v1.0 external Registrar is attached
to the AP and the external Registrar is not yet ready to run the Registration Protocol. An Enrollee
must handle both cases.
Note that for the PIN method, an Enrollee may also perform discovery as for Wi-Fi Protected
Setup v1.0 by associating and sending M1, i.e. before receiving a Beacon or Probe Response
with the Selected Registrar attribute TRUE and an AuthorizedMACs sub-element containing
either its own MAC address or the wildcard MAC address. An Enrollee may use this form of
discovery to discover available Registrars.
Blink Solid
Requiring user actions at the Enrollee or Registrar before an Enrollee can be added via PIN
decreases the ease-of-use of the Wi-Fi Protected Setup system. These additional tasks can be
even more difficult in the case of a headless Enrollee.
One of the primary goals of the Wi-Fi Protected Setup certification program was to allow a user to
configure and add devices to a secure WLAN without prior knowledge of the SSID and security
settings.
1 Out-of-band Interface Error, the security settings Error, the security settings
Read Error cannot be detected. Please try cannot be configured. Please
again. try again.
2 Decryption CRC Error, the security settings Error, the security settings
Failure cannot be detected. Please try cannot be configured. Please
again. try again.
3 2.4 channel not The 2.4 GHz band is not The 2.4 GHz band is not
supported supported by the current supported by the current
network. network.
4 5.0 channel not The 5.0 GHz band is not The 5.0 GHz band is not
supported supported by the current supported by the current
network. network.
12 Multiple PBC Error. Multiple devices in your Error. Multiple devices in your
sessions detected area have had their buttons area have had their buttons
pushed recently, which may be a pushed recently, which may be
security risk. Please wait two a security risk. Please wait two
minutes and try again. minutes and try again.
14 Device busy Error. Another session of Wi-Fi Error. Another session of Wi-Fi
Protected Setup is running; this Protected Setup is running; this
device is busy at this time. device is busy at this time.
Please wait and try again. Please wait and try again.
15 Setup locked AP: Error. This device has been Client/ER: Error. Due to
locked due to multiple failed multiple failed configuration
configuration attempts that may attempts, the device you are
indicate a security risk. Please attempting to access has been
(insert vendor specific locked. Please wait two minutes
instructions for continuing) and try again, or read the
device's user guide for further
instructions.
18 Device password auth Error. The PIN used to add this Error. The PIN used to add the
failure device may have been entered new device may have been
incorrectly. Please check the entered incorrectly. Please
PIN and try again. check the PIN and try again.
Solution:
Recommendations for Client (also see Section 3.4):
Start listening:
• on boot
• on idle (connected, but no data frames exchanged for x time, or predefined timer) if
connected to an open AP
1. Connect to (or stay connected to): previously connected (or currently connected) profile if
profile is for a secure AP
2. If not connected (and no profile for a secure AP is retained): search for an AP advertising the
AuthorizedMACs attribute and/or SelectedRegistrar equal to TRUE
3. If no Wi-Fi Protected Setup AP or Wi-Fi Protected Setup v1.0 AP advertising the required
attributes and values is found then go back to vendor defaults or last connected profile
3.15 Enrollee Session Overlap Detection after WSC Protocol Run (Multiple Registrars
Detected)
Issue:
The current Specification includes a two-minute Walk Time during which an Enrollee can find a
Registrar.
However, there is an opportunity for the Enrollee to join a rogue network if a rogue Registrar
initiates PBC mode before the legitimate Registrar does.
Solution:
The Specification requires the Enrollee to scan through all channels to verify that there is only
one AP/Registrar in PBC mode before starting the WSC protocol run. Vendors may improve
security by requiring the Enrollee to do a full scan (but without PBC request in Probe Request
frames) after a successfully completed protocol run. If another PBC Registrar is found at that
point, the Enrollee should report session overlap to the user and may reject the credentials
received during the protocol run.
3.16 AP/Registrar Session Overlap Detection after WSC Protocol Run (Multiple Enrollees
Detected)
Issue:
The current Specification includes a two-minute Monitor Time which is intended to determine that
one (and only one) Enrollee is in PBC mode. Otherwise, the Specification requires the Registrar
to declare a Session Overlap. In addition, the Specification requires the AP/Registrar to continue
to monitor for additional Enrollees during the WSC protocol run.
However, there is still an opportunity for a rogue Enrollee to join the network if the rogue Enrollee
initiates PBC mode during the Monitor Time, but the legitimate Enrollee initiates PBC mode after
the Registrar successfully completes the protocol run with the rogue Enrollee.
In addition, there is another opportunity for a rogue Enrollee to join the network if the rogue
Enrollee initiates PBC mode after the Registrar initiates PBC mode and successfully completes
the protocol run before the legitimate Enrollee initiates PBC mode.
Solution:
The Specification requires the AP/Registrar to verify that there is only one Enrollee in PBC mode
before starting and during the WSC protocol run. Vendors may improve security by requiring the
AP/Registrar to continue to monitor for Enrollees attempting to associate via PBC mode after a
successfully completed protocol run for up to two minutes.
If another PBC Enrollee is found at that point, the AP/Registrar may message to the user that
there may be a problem. The message may indicate that another Enrollee has been found and
that the user should confirm that the intended Enrollee has joined the network. The device can
provide additional information about what the user can do if a rogue Enrollee has joined the
network.
However, vendors are cautioned that providing this additional Monitor Time might increase
security at the risk of confusing or unnecessarily alarming the user. It is possible for the
AP/Registrar to falsely identify a second (legitimate) Enrollee that is attempting to start a new
WSC session if the user presses the Enrollee's button within two minutes of the previous WSC
session ending, and before pressing the button on the AP/Registrar again. For this reason, if
vendors do choose to implement this additional security feature, it is strongly recommended that
vendors keep the messaging as informational only and avoid alarming language.
There would be no changes to the actual WSC protocol run and from the AP/Registrar view point
there would simply be an additional verification afterward.
3.18 Consistent Visual Identification on Labels and UIs for PIN and Push Button
Issue:
A user may be unable to locate the correct PIN or the correct button to press for Wi-Fi Protected
Setup.
Devices (APs and clients) from different manufacturers label the PIN differently. Some common
ways of indicating the PIN are WPS PIN, PIN, PIN CODE, and SECURITY CODE. Also, the
labels on devices often have additional numbers such as serial numbers and MAC addresses that
can confuse the user.
Solution:
The Wi-Fi Protected Setup Identifier Mark PIN method Physical Label should be printed along
with the PIN to clearly provide a visual indication to the user. Additional numbers, such as serial
numbers or MAC addresses, should not be combined with the label. Software Labels should
replicate as closely as possible the layout of the Physical Labels.
It is recommended that a physical Push Button have the Wi-Fi Protected Setup Identifier Mark or
Solo Mark printed directly on it, if possible, or immediately adjacent. Software buttons should
replicate as closely as possible the layout of the physical Push Buttons.
Manufacturers should refer to the Wi-Fi Alliance Brand Style Guide for additional detail.
UUID (UUID-E and The UUID must be unique. It is recommended that the UUID field be
UUID-R) based on the MAC Address of one interface on the device and that the
UUID must be used on all interfaces. It is recommended that the UUID
is derived as Version 5 Name-based UUID as described in RFC 4122,
Chapter 4.3.
Manufacturer, Model The Manufacturer, Model Name and Model Number should match any
Name and Model similar information displayed on the outside of the device or its
Number packaging.
Primary Device The Primary Device Type field should be populated with a value that
Type best represents the user’s view of the type of the device.
Device Name Where possible the default value of this field should be populated with a
fairly unique friendly name for the device. The user should have the
able to rename the device by changing this field.
PB Client parallel PB AP
Client find AP in
2.4
No
Continue WPS –
etc.
(2.4)
Success
Figure 4 – Scenario 1: PBC → PBC, Client = 2.4 GHz / 5 GHz, AP = 2.4 GHz
Client find AP in
2.4
No
Continue WPS –
etc.
(2.4)
Success
Figure 5 – Scenario 2: PBC → PBC, Client = 2.4 GHz, AP = 2.4 GHz / 5 GHz
Client search 2.4 parallel Client search 5 AP broadcast 2.4 parallel AP broadcast 5
Client find AP in
parallel Client find AP in 5
2.4
Client compare
UUID, validate
same AP
Same AP? No
Yes
No
Client Choose
based on Device
Default*
Continue WPS –
etc.
Success
Figure 6 – Scenario 3: PBC → PBC, Client = 2.4 GHz / 5 GHz, AP = 2.4 GHz / 5 GHz
Choose to
use WPS
PB Client parallel PB AP
Client find AP in
2.4
No
Continue WPS –
etc.
(2.4)
Success
Figure 7 – Scenario 4: PBC from Scan List on Client, Client = 2.4 GHz / 5 GHz, AP = 2.4 GHz
Choose to
use WPS
PB Client parallel PB AP
Client find AP in
2.4
No
Continue WPS –
etc.
(2.4)
Success
Figure 8 – Scenario 5: PBC → PBC from Scan List on Client, Client = 2.4 GHz, AP = 2.4 GHz / 5 GHz
Choose to
use WPS
PB Client parallel PB AP
Client search 2.4 parallel Client search 5 AP broadcast 2.4 parallel AP broadcast 5
Client find AP in
parallel Client find AP in 5
2.4
Client compare
UUID, validate
same AP
Same AP? No
Yes
No
Client Choose
based on which
band chosen at
Site Survey step
Continue WPS –
etc.
Success
Figure 9 – Scenario 6: PBC → PBC from Scan List on Client, Client = 2.4 GHz / 5 GHz, AP = 2.4 GHz /
5 GHz
AP broadcast 2.4
– looking for a
client w/ this PIN
Notes:
1) Client scan* for beacons from APs that are broadcasting that
they have a PIN entered and are ready to register an enrolee
2) If Client finds an AP per (1), client will disassociate from
whatever (if anything) it is currently connected/associated to, and
associate to the target AP
Client search 2.4 parallel Client search 5 3) If PIN is correct, continue WPS, (stop scanning)
4) If PIN is incorrect, disassociate and move to the next PIN-
broadcasting AP
5) If no more PIN-broadcasting AP, go back to the previously
associated AP (with the previous encryption key/settings if
necessary)
Continue WPS –
etc.
(2.4)
Success
Figure 10 – Scenario 7: PIN (Client as Enrollee), Client = 2.4 GHz / 5 GHz, AP = 2.4 GHz
Continue WPS –
etc.
(2.4)
Success
Figure 11 – Scenario 8: PIN (Client as Enrollee), Client = 2.4 GHz, AP = 2.4 GHz / 5 GHz
Note: this means that the Client may find the AP first in
Client find AP in the less preferable band – so the default/order of the
2.4 or 5 – stop scan should be device specific (per Vendor choice)
when find first
Implementation caution: that if the client stops
scanning after selecting an AP per above, then if the
client scans again, could find the second radio and
switch over, could end up switching back and forth...
Continue WPS –
etc.
Success
Figure 12 – Scenario 9: PIN (Client as Enrollee), Client = 2.4 GHz / 5 GHz, AP = 2.4 GHz / 5 GHz
Enter AP/
enrollee PIN in
ER
ER uses UPnP to
send profile(s) to
AP
Success
Figure 13 – Scenario 10: PIN (AP as Enrollee), Client = 2.4 GHz and/or 5 GHz, AP = 2.4 GHz and/or 5
GHz