The above-mentioned features and objects of the present disclosure will become more apparent with reference to the following description taken in conjunction with the accompanying drawings wherein like reference numerals denote like elements and in which:
A method and apparatus are provided that provide secure access in a wireless network in a home, home office, or small office. Multiple PSKs are generated to reduce the inconvenience of re-keying all the stations other than those whose access is to be terminated and to avoid implementing an overly complex infrastructure. A list of a plurality of PSKs can be maintained so that upon a connection attempt by a user, it can be determined whether the user's pre-shared key is in the list of the plurality of PSKs.
It should be understood that the PSK authentication module 140 can be implemented as one or more physical devices that are coupled to the CPU 110 through a communication channel. Alternatively, the PSK authentication module 140 can be represented by one or more software applications (or even a combination of software and hardware, e.g., using application specific integrated circuits (ASIC)), where the software is loaded from a storage medium, (e.g., a magnetic or optical drive or diskette) and operated by the CPU in the memory 120 of the computer. As such, the PSK authentication module 140 (including associated data structures) of the present invention can be stored on a computer readable medium, e.g., RAM memory, magnetic or optical drive or diskette and the like.
In the system 200, a controller 208 contains a list of plurality of pre-shared keys. The network manager, having already been authenticated to the network as described above, interacts with the controller 208 to maintain the list of multiple PSKs. In one embodiment, the network manager interacts with the network through a web interface. To assure high quality random PSKs, the PSK itself may be generated by the controller 208 with a human recognizable name for the PSK provided by the network manager.
The controller 208 can be implemented as software, hardware, or both. For instance, the controller 208 can be a software program or function that runs in a web page. The controller 208 can also be a hardware device that receives input and/or provides output. Further, the controller can be a server that includes a hardware device for running a server program. One of ordinary skill in the art will recognize a variety of devices and/or programs that can be used for the controller 208.
The list of plurality of pre-shared keys is transmitted from the controller 208 to at least one Access Point 204. When a user station 206 requests access to a wireless network 202, the user station 206 provides information that is dependent on a station pre-shared key to the access point 204. The Access Point 204 compares the information that depends on the station pre-shared key with information that depends on each of the PSKs in the list of multiple PSKs. If it is determined from this comparison of PSK-dependant information that the station pre-shared key is present on the list of multiple PSKs, the Access Point 204 provides access to the wireless network 202 to the user station 206. However, the access that the Access Point provides to the user station 206 may be limited.
The Access Point 204 reviews the list of multiple PSKs to determine if there are any limitations on the user of the authenticated key. There may be restrictions on the type of access given to the user for the key. For example, rules associated with a key assigned to a visitor user may limit the user's access to the wireless network 202 to Internet access. There may also be time restrictions on the key. For example, a visitor user may receive a key with access that expires at the end of the day. Accordingly, each key on the list of multiple PSKs may have a validity expiration date/time. Alternatively or in combination, each key on the list of multiple PSKs may also have a validity start date/time or other chronological limitations, such as being usable only on Wednesdays.
In one embodiment, the list of multiple PSKs is transmitted from the controller 208 to the Access Point 204 through the wireless network 202. In another embodiment, the list of multiple PSKs is transmitted to the Access Point 204 through a hard wired network connection. In this embodiment, the user stations 206 can still communicate with the Access Point 204 to obtain access to the wireless network 202.
A plurality of Access Points 204 can be utilized. Further, each of the Access Points 204 can communicate with a plurality of user stations 206.
Entries may be added or deleted from the list of multiple PSKs. For instance, after a visitor user has left, his or her key may be deleted from the list of multiple PSKs. Further, if a visitor user is going to be coming to a site, an entry may be added to the list of multiple PSKs. Accordingly, the list of multiple PSKs that is sent to the Access Point 204 may need to be updated to reflect additions and/or deletions to the list of multiple PSKs.
In one embodiment, the list of multiple PSKs is securely transmitted from the controller 208 to the Access Points 204 in the wireless network 202 on initial connection of the Access Points 204. In one configuration, if the list of multiple PSKs is updated, the updated list of multiple PSKs is sent to the Access Points 204. In an alternative configuration, the Access Points 204 may maintain only a list of currently valid PSKs, which would be updated by the controller 208 whenever a PSK becomes currently valid or invalid. For instance, the controller 208 may simply provide an instruction to add or delete a particular PSK as opposed to re-sending the entire list of multiple PSKs each time there is an update.
One of ordinary skill in the art will understand that the wireless network 202 may be any wireless network known to one skilled in the art. For instance, the wireless network 202 may be an IEEE 802.11 network.
The list of multiple PSKs may also have communications service restriction information. For example, check boxes may be used to indicate access to the Internet and to local stations. In another configuration, communications access to local nodes could be controlled per node based on station medium access control (“MAC”) address, or PSK, or the like.
In another embodiment, the Access Points 204 maintain a list of the PSKs that are currently valid. The list of the currently valid PSKs would be updated by the controller 208 whenever a PSK becomes currently valid or invalid. The list can be updated from the controller 208, which is not incorporated into the Access Point 204. Alternatively, the list of PSKs can be updated by the controller 208 which is incorporated into the Access Point 204.
A network based on IEEE 802.11 can be modified to provide the methodologies discussed above. The 802.11 logic in the Access Points 204 can be modified to store multiple PSKs. When the station 206 attempts to connect to one of the Access Points 204, the station 206 indicates that the user station 206 is using a PSK. As a result of this indication, the IEEE 802.1X network access control is bypassed and a four way handshake occurs.
The authentication process above leaves two considerations: the Access Point 204 and the STA 206 need to authenticate each other and keys to encrypt the traffic needs still need to be derived. The earlier 802.1X EAP exchange has provided the shared secret key PMK (Pairwise Master Key). This key is however designed to last the entire session, is known to 3 parties, and should be exposed as little as possible. Alternatively, a PSK with a potentially very long lifetime is being used as the PMK and should also be minimally exposed. Therefore the four-way handshake is used to establish another key called the PTK. The PTK is generated by concatenating the following attributes: PMK, a randomly generated number that is used only once (“nonce”) from Access Point 204 (“ANonce”), STA nonce (“SNonce”), Access Point 204 MAC address and STA MAC address. The resulting concatenation is then put through a cryptographic hash (pseudo-random) function.
Successful communication with the PTK proves that the two parties, the mobile user station 206 and the Access Point 204, are live and mutually authenticated.
The handshake also transmits the GTK, used to decrypt multicast and broadcast traffic, from the Access Point 204. The actual messages exchanged during the 802.11 handshake are illustrated in
First, the Access Point 204 sends a nonce-value to the STA (ANonce). The client now has all the information to construct the PTK. Second, the STA sends its own nonce-value (SNonce) to the Access Point 204 together with a MIC (Message Integrity Code). Third, the Access Point 204 uses SNonce to derive PTK and verifies the MIC from the mobile station. The Access Point 204 then sends the GTK and a sequence number together with another MIC. The sequence number is the sequence number that will be used in the next multicast or broadcast frame, so that the receiving STA can perform basic replay detection. Fourth, the STA sends a confirmation to the Access Point 204 so that all parties will know that set up is complete.
As soon as the PTK is obtained, the PTK is divided into three separate keys. The first key is the EAPOL-Key Confirmation Key (“KCK”). The KCK is the key used to compute the MIC for EAPOL-Key packets. The second key is the EAPOL-Key Encryption Key (“KEK”). The KEK is the key used to provide confidentiality for EAPOL-Key packets. The third key is the Temporal Key (“TK”). The TK is the key used to encrypt the actual wireless traffic.
The IEEE 802.11 network is modified so that when the Access Point 204 receives message two from the user station 206, the Access Point 204 attempts to utilize PSKs from the list of PSKs to validate the Message Integrity Code (“MIC”) until one of the PSKs validates the message or all of the PSKs fail to validate the MIC. In the first case, the handshake completes, access is granted, and the Access Point 204 remembers which PSK validated this MIC for that station. In the second, access is denied. Should the PSK that was used to approve access for a station be deleted from the list at an Access Point 204 with which that station is associated, the association should be eliminated. Additional logic can be added to the Access Points 204 if communications restrictions based on PSK are also to be imposed.
Using 802.11i Robust Secure Network (RSN) security, a different unicast session key is used by the Access Point for each station as derived from the four-way handshake. This situation is simple for the user station 206, which needs to only look at the Key ID bits, but a bit more complex for the Access Point 204. The Access Point 204 needs to look at the Key ID and the source MAC address to determine what key to use. In the presence of an Access Point 204 with which they are associated, stations 206 need to look at the source MAC address only for the purpose of dropping all frames that are not from the Access Point 204.
A single session key, the GTK, is used by an Access Point 204 for all broadcast traffic. This is initially given to each station during its four-way handshake with the Access Point 204. However, there are provisions for the Access Point 204 pushing out a new GTK by unicasting it to each authorized station whenever it chooses to do so. If there is a station which has the current GTK based on a PSK authentication and the validity of that PSK expires, that would be a good signal for the Access Point 204 to push out a new GTK and cut off the no longer authorized station from broadcast traffic.
While the method and apparatus have been described in terms of what are presently considered to be the most practical and preferred embodiments, it is to be understood that the disclosure need not be limited to the disclosed embodiments. It is intended to cover various modifications and similar arrangements included within the spirit and scope of the claims, the scope of which should be accorded the broadest interpretation so as to encompass all such modifications and similar structures. The present disclosure includes any and all embodiments of the following claims.