The present disclosure relates to communications, and in particular, to a method and apparatus for secure communications in a wireless network.
A wireless LAN (WLAN) or Wi-Fi (wireless fidelity) communication system may include an access point (AP) and one or more stations (STAs), which the AP serves. An AP may also be referred as a communications controller, base station, access node, etc. A STA may be referred to as a client device, device, terminal, mobile station, user equipment, etc. Today, typical examples of WLAN STAs include laptops, smartphones, tablets, sensors, etc.
The AP is configured with a service set identifier (SSID) for WLAN discovery. The AP may broadcast its SSID in Beacon frames to announce its presence. The STA may display the received SSID to show the available WLAN list to the end user. As a result, for example, the user may choose to add an AP to a preferred WLAN list. Afterwards, the STA may search for the preferred AP(s) using the corresponding SSID(s) automatically. Besides Beacon frames, an SSID may be presented in other management frames such as Probe Requests, Probe Responses, Association Requests, and Reassociation Requests.
The SSID is traditionally transmitted over the air using plain text, and consequently has been viewed as an open invitation to hackers or attackers. One existing solution is to “hide” the SSID by giving out a null SSID in the Beacon or refusing to answer a Probe Request if the SSID in the Probe Request does not specifically match the SSID of the AP. However, this manner of hiding the SSID may be ineffective as there are other ways to obtain the SSID in plain text, e.g., by passively monitoring the air for a legitimate client device that is trying to actively scan or associate with the AP, or by actively sending a faked Deauthentication frame to an already connected legitimate client device and then monitoring its Reassociation Request.
Additionally, there is an issue of user privacy, as the SSIDs of a STA's preferred WLANs, which may be sent in the Probe Request, Association Request, or Reassociation Request frames together with the media access control (MAC) address of the STA (which is sent in a transmitter address (TA) field in these frames), can be used for tracking user locations, inferring a user's personal lifestyle (e.g., by the entertainment places visited) or health conditions (e.g., by the medical doctor's office visited), or a social relationship between users (e.g., by a shared WLAN of a business office or school), etc.
Conventional solutions addressing these security and privacy issues usually involve the establishment of a shared encryption key between the AP and the STA before transmitting the encrypted SSID over the air. This requires a significant change to the existing standardized procedure and incurs additional delay due to the steps required to establish the shared encryption key first. Accordingly, mechanisms for addressing these security and privacy issues are desired.
Example embodiments of the present disclosure provide a method and apparatus for secure communications in a wireless network.
In accordance with an embodiment of the present disclosure, a method for secure communications between an access point and a station in a wireless network is provided. The method is performed by the station, and includes: receiving a first message from the access point in the wireless network, the first message includes a first hashed service set identifier (SSID) generated by the access point by performing a first hash function on an SSID associated with the access point; generating a second hashed SSID by performing the first hash function on an SSID known by the station; determining whether the second hashed SSID matches the first hashed SSID; and sending a second message to the access point when the second hashed SSID matches the first hashed SSID.
In accordance with another embodiment of the present disclosure, a station in a wireless network is provided. The station includes a receiver, a processor and a transmitter. The receiver is configured to receive a first message from an access point in the wireless network. The first message includes a first hashed service set identifier (SSID) generated by the access point by performing a first hash function on an SSID associated with the access point. The processor is coupled to the receiver and configured to: generate a second hashed SSID by performing the first hash function on an SSID known by the station; and determine whether the second hashed SSID matches the first hashed SSID. The transmitter is coupled to the processor and configured to send a second message to the access point when the second hashed SSID matches the first hashed SSID.
In accordance with yet another embodiment of the present disclosure, a method for secure communications between an access point and a station in a wireless network is provided. The method is performed by the access point and includes: receiving a first message from the station in the wireless network, the first message includes a first hashed service set identifier (SSID) generated by the station by performing a first hash function on an SSID known by the station; generating a second hashed SSID by performing the first hash function on an SSID associated with the access point; determining whether the second hashed SSID matches the first hashed SSID; and sending a second message to the station when the second hashed SSID matches the first hashed SSID.
In accordance with a further embodiment of the present disclosure, an access point in a wireless network is provided. The access point includes a receiver, a processor and a transmitter. The receiver is configured to receive a first message from a station in the wireless network. The first message includes a first hashed service set identifier (SSID) generated by the station by performing a first hash function on an SSID known by the station. The processor is coupled to the receiver and configured to: generate a second hashed SSID by performing the first hash function on an SSID associated with the access point; and determine whether the second hashed SSID matches the first hashed SSID. The transmitter is coupled to the processor and configured to send a second message to the station when the second hashed SSID matches the first hashed SSID.
Aspects of this disclosure may provide the following benefits: (1) protecting SSID privacy; (2) protecting user privacy (such as location or interests); (3) making it more costly for an attacker to impersonate a legitimate AP or STA; and (4) maintaining backward compatibility such that legacy STAs or legacy APs do not misbehave when a Hashed SSID is used. Aspects of this disclosure may be effectuated without significantly departing from existing telecom standards.
For a more complete understanding of the present disclosure, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:
It should be understood at the outset that, although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
This disclosure provides techniques for increasing service set identifier (SSID) security and user privacy (e.g., location and interests), making it more costly for an attacker to impersonate a legitimate AP or STA, and maintaining backward compatibility such that legacy STAs or legacy APs do not misbehave when the identifier, instead of the plain text SSID is used.
Aspects of this disclosure address the above mentioned security and privacy concerns by using an identifier that is generated from a SSID (e.g., plain text SSID) so that the SSID is not transmitted over a wireless fidelity (Wi-Fi) air interface in plain text form. The SSID can be pre-installed on a legitimate STA by secured means, e.g., by manually typing it in via a setup menu on the STA, using a Wi-Fi Protected Setup (WPS) procedure, or using a secured out-of-band communications channel such as a cellular connection or a near field communication (NFC) link as a part of an authorization transaction. The identifier can be used by the STA to recognize or to indicate its preferred WLAN, while a hacker or an unauthorized third party is not able to derive the SSID from the received identifier.
In some embodiments, the SSID may be communicated between the STA and the AP using a cryptographically hashed SSID instead of a plain text SSID. For instance, the cryptographically hashed SSID may be generated by using a SHA-256 hash function. The hash output of the hash function may be further truncated to a fixed, shorter length. Before being hashed, the SSID may be modified by a string or value, e.g., by a TimeStamp. For instance, the TimeStamp is provided in a Beacon frame and Probe Response frame and can be used to modify the SSID before the SSID is hashed by the hash function. Thus, a hacker will not receive the same hashed SSID twice, as it takes more than 580,000 years for the 64-bit TimeStamp field to repeat itself. The SSID may also be modified by a type of a frame that carries the hashed SSID. The SSID may also be modified by a random number (e.g., a nonce) or sequence number generated by the STA or AP, or by an identifier (e.g., MAC address) of the STA or AP. Aspects of this disclosure are related to the disclosure in U.S. patent application Ser. No. 14/105,895, filed on Dec. 13, 2013 and entitled “Systems and Methods for Pre-Association Discovery”, which is incorporated by reference herein in its entirety.
Aspects of this disclosure also provide techniques for creating a new Hashed SSID IE to carry the hashed SSID in a Beacon frame, Probe Request frame, Probe Response frame, Association Request frame, or Reassociation Request frame.
In some embodiments, the presence of the Hashed SSID IE in a Beacon frame or Probe Response frame indicates that the AP is capable of using a hashed SSID. In the same or other embodiments, the presence of the Hashed SSID IE in a Probe Request frame, Association Request frame, or Reassociation Request frame indicates that the STA is capable of using a hashed SSID.
At Step 700, the AP, which is capable of hashed SSID, may broadcast a Beacon frame periodically. The Beacon frame includes a transmitter address (TA) field, a TimeStamp field, an SSID IE and a Hashed SSID IE. The TA field is set to the MAC address of the AP. The SSID IE is set to a null SSID, and the Hashed SSID IE includes a first hashed SSID generated from the SSID associated with the AP. The details of generating the first hashed SSID are disclosed, e.g., in
At Step 702, a STA, capable of hashed SSID, uses the SSID(s) of its preferred AP(s) to generate the corresponding hashed SSID(s) (first hashed SSID of the STA). The STA may use the same method and parameters that the AP uses to generate the first hashed SSID, which is carried in the Beacon frame. For example, the STA uses the same method to modify the SSID(s) known by the STA (e.g., the STA uses the same TimeStamp value in the Beacon frame to modify the SSID(s) known by the STA), uses the same hash function on the modified SSID(s) and the same truncation function to truncate the output of the hash function to obtain one or more hashed SSIDs. The hashed SSID(s) in Step 702 may be generated according to
Generally, the STA may use either active scanning or passive scanning, although in some cases both active scanning and passive scanning may be used. For example, if the STA obtains sufficient information from the Beacon frame and decides to make a connection with the AP, the STA can initiate an authentication procedure (i.e., skipping to Step 712) without sending a Probe Request frame to the AP and receiving a Probe Response frame from the AP. That is, the STA may use passive scanning without using active scanning. In this case, the AP does not perform Step 706. However, if the STA does not have sufficient information from the Beacon frame, then the STA may utilize active scanning to obtain additional information from the AP in order to make a connection with the AP. In such a situation, the STA may perform both passive scanning and active scanning.
At Step 704, when there is a match, the STA initiates active scanning by sending a Probe Request frame to the AP. The Probe Request frame may include a receiver address (RA) field set to the AP's MAC address, a TA field set to the STA's own MAC address, a Hashed SSID IE including a second hashed SSID of the STA generated from the SSID for which the match is found, without sending the SSID explicitly. The STA may use the method shown in
At Step 706, the AP generates its second hashed SSID, by using the same method and parameters that the STA uses to generate the hashed SSID in Step 704. In one embodiment, the AP uses the same nonce number in the received Probe Request frame to modify the SSID associated with the AP, performs the same hash function on the modified SSID and truncates the output of the hash function with the same truncation function to generate the second hashed SSID of the AP. Then the AP compares the second hashed SSID of the AP with the second Hashed SSID received from the STA to determine if there is a match.
At Step 708, when there is a match, the AP sends back a Probe Response frame with a third hashed SSID of the AP generated from the SSID associated with the ΔP, without sending the SSID explicitly. The AP may generate the third hashed SSID according to the method shown in
At Step 710, the STA further checks if a third hashed SSID of the STA matches the third hashed SSID of the AP. The STA generates its third Hashed SSID from, for example, the SSID that the STA used to generate the hashed SSID in Step 704, by using the same method and parameters that the AP uses to generate its third hashed SSID in Step 708 (e.g., the same TimeStamp value in the received Probe Response frame, the same frame type of “Probe Response”). The aforementioned U.S. patent application Ser. No. 14/105,895, describes why and how using difference truncated hash of the same ID in subsequent frames (with different frame types) and checking iteratively if the match persists can help to reduce the residual false match probability. If the third hashed SSID of the STA matches the third hashed SSID of the AP, the STA sends an Authentication Request frame to the AP at Step 712 and receives an Authentication Response frame from the AP at Step 714. Steps 712 and 714 are the same as the current 802.11 Open System Authentication procedure. However, at any subsequent step, if the third hashed SSID of the STA does not match the third hashed SSID of the AP, the discovery or association procedure may be stopped.
At Step 716, the STA sends an Association Request frame to the AP with a fourth hashed SSID of the STA, without sending the SSID in plain text form. Similar to Step 704, the STA may also include a random number (i.e., a nonce) in the Hashed SSID IE of the Association Request frame and use the random number to generate the fourth hashed SSID so that an attacker cannot rely on a static hashed SSID to impersonate a legitimate STA, thus making it more costly for the attacker.
At Step 718, the AP generates its fourth hashed SSID, by using the same method and parameters that the STA used to generate the hashed SSID in Step 716. In one embodiment, the AP uses the same nonce number in the received Association Request frame to modify the SSID associated with the AP, performs the same hash function on the modified SSID and truncates the output of the hash function with the same truncation function, to generate the fourth hashed SSID of the AP. Then the AP further checks if its fourth hashed SSID matches the hashed SSID included in the received Association Request frame.
At Step 720, when there is a match, the AP sends back an Association Response frame with a Status code of “Success”.
It is noted that after the STA receives the Association Response frame in Step 720, an EAP/802.1X/Radius Authentication may be performed to supplement the open system authentication with mutual authentication between the STA and an Authentication Server. Then, a 4-way handshake may be performed so that the STA can mutually trust the AP and share their keys with the indication of the pair-wise master key (PMK). Afterwards, the secured data communications may begin.
At Step 800, a STA, which is capable of hashed SSID, knows the desired SSID of an AP capable of hashed SSID, but does not know the MAC address of the AP (as may be a typical scenario when using a WLAN in an airport lounge). Thus, the STA broadcasts a Probe Request frame that appears as a Wildcard Probe Request to legacy APs, but appears as a dedicated Probe Request frame for all APs capable of hashed SSID (due to the requirement of matching the hashed SSID). That is, an AP capable of hashed SSID does not send a response unless the hashed SSIDs generated by the respective AP and STA match. The Probe Request frame includes an SSID IE that is set to wildcard SSID and a Hashed SSID IE that includes a hashed SSID generated from an SSID known by the STA. The STA may use the method shown in
At Step 802, a legacy AP nearby treats the Probe Request frame as a Wildcard Probe Request and sends a Probe Response frame. If the STA is not interested in it, the message exchange between the STA and the legacy AP ends.
At Step 804, the AP capable of hashed SSID generates a hashed SSID by using the same method and parameters that the STA used to generate the hashed SSID in Step 800. For example, the AP uses the same nonce number in the received Probe Request frame to modify the SSID associated with the AP, performs the same hash function on the modified SSID and truncates the output of the hash function with the same truncation function to generate the hashed SSID of the AP. Then the AP determines if the hashed SSID generated by the AP matches the received hashed SSID.
At Step 806, when the hashed SSID generated by the AP matches the received hashed SSID, the AP thus sends back a Probe Response frame, which includes the MAC address of the AP in the TA field. After this step, the frames exchanged between the AP and the STA use the unicast MAC address in the RA field. The remaining steps may be similar to those described in the previous example shown in
Aspects of this disclosure also provide techniques for maintaining backward compatibility. One exemplary technique is described as follows: When an AP, capable of a hashed SSID, transmits a Beacon frame with the Hashed SSID IE, such as Step 700 in
Another exemplary technique is described as follows: When a STA, capable of hashed SSID, transmits a Probe Request frame with the Hashed SSID IE, if the STA already knows the MAC address of the AP which is capable of hashed SSID, e.g., after receiving the Beacon frame from the AP in Step 700 in
A legacy AP will ignore this Probe Request frame as the RA field does not match (i.e., the RA is not the MAC address of the legacy AP nor the broadcast MAC address) for it.
If the STA does not know the MAC address of the AP capable of hashed SSID (e.g., only the SSID associated with the AP is provided to an user after the user purchases the temporary usage to a fee-bearing WLAN), then the STA may also include a legacy SSID IE with a Wildcard SSID, which appears the same as a null SSID, in the Probe Request frame. Such an example is shown in Step 800 in
The bus 907 may be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, video bus, or the like. The CPU 901 may include any type of electronic data processor. The memory 902 may include any type of system memory such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM) and a combination thereof. In an embodiment, the memory 902 may include a ROM for use at boot-up, and a DRAM for program and data storage for use while executing programs.
The mass storage device 903 may include any type of storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus 907. The mass storage device 903 may include, for example, one or more of a solid state drive, hard disk drive, and an optical disk drive.
The video adapter 904 and the I/O interface 906 provide interfaces to couple external input and output devices to the processing system 900. As illustrated, examples of input and output devices include a display coupled to the video adapter 904 and the mouse/keyboard/printer coupled to the I/O interface 906. Other devices may be coupled to the processing system 900 and additional or fewer interface cards may be utilized. For example, a serial interface such as Universal Serial Bus (USB) (not shown) may be used to provide an interface for a printer.
The processing system 900 also includes one or more network interfaces 905, which may include wired links, such as an Ethernet cable, and/or wireless links to access nodes or different networks. The network interface 905 allows the processing system 900 to communicate with remote units via the networks. For example, the network interface 905 may provide wireless communications via one or more transmitters/transmit antennas and one or more receivers/receive antennas. In an embodiment, the processing system 900 is coupled to a local-area network or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet and remote storage facilities.
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.
This application claims the benefit of U.S. Provisional Application No. 61/820,228, filed on May 7, 2013, entitled “Method and System for Indicating a Service Set Identifier”, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61820228 | May 2013 | US |