# Patent

## Title
System and method for distributing keys in a wireless network

## Abstract

A technique for improving authentication speed when a client roams from a first authentication domain to a second authentication domain involves coupling authenticators associated with the first and second authentication domains to an authentication server. A system according to the technique may include, for example, a first authenticator using an encryption key to ensure secure network communication, a second authenticator using the same encryption key to ensure secure network communication, and a server coupled to the first authenticator and the second authenticator wherein the server distributes, to the first authenticator and the second authenticator, information to extract the encryption key from messages that a client sends to the first authenticator and the second authenticator.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This continuation application claims priority to U.S. patent application Ser. No. 11/377,859, filed on Mar. 15, 2006, which claims priority to U.S. Provisional Patent Application No. 60/661,831, filed Mar. 15, 2005, both of which are incorporated by reference herewith.


BACKGROUND
Consumer demand for wireless local area network (WLAN) products (e.g. smart phones) grew rapidly in the recent past as the cost of WLAN chipsets and software fell while efficiencies rose. Along with the popularity, however, came inevitable and necessary security concerns.
The Institute of Electrical and Electronics Engineers (IEEE) initially attempted to address wireless security issues through the Wired Equivalent Privacy (WEP) standard. Unfortunately, the WEP standard quickly proved inadequate at providing the privacy it advertised and the IEEE developed the 802.11i specification in response. 802.11i provides a framework in which only trusted users are allowed to access WLAN network resources. RFC 2284, setting out an in-depth discussion of Point-to-Point Protocol Extensible Authentication Protocol (PPP EAP) by Merit Network, Inc (available at http://rfc.net/rfc2284.html as of Mar. 9, 2006), is one example of the 802.11i network authentication process and is incorporated by reference.
A typical wireless network based on the 802.11i specification comprises a supplicant common known as a client (e.g. a laptop computer), a number of wireless access points (AP), and an authentication server. In some implementations, the APs also act as authenticators that keep the WLAN closed to all unauthenticated traffic. To access the WLAN securely, an encryption key known as the Pairwise Master Key (PMK) must first be established between the client and an AP. The client and the AP then exchange a sequence of four messages known as the “four-way handshake.” The four-way handshake produces encryption keys unique to the client that are subsequently used to perform bulk data protection (e.g. message source authentication, message integrity assurance, message confidentiality, etc.).
A handoff occurs when the client roams from one AP to another. Prior to 802.11i, it was necessary for the client to re-authenticate itself each time it associates with an AP. This renegotiation results in significant latencies and may prove fatal for real-time exchanges such as voice data transfer.



BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the present invention are illustrated in the figures. However, the embodiments and figures are illustrative rather than limiting; they provide examples of the present invention.
FIG. 1 is a block diagram illustrating an example of a WLAN system.
FIG. 2 is a block diagram illustrating an example of a WLAN system including one or more authenticators.
FIG. 3 is a block diagram illustrating an example of a WLAN system including one or more authentication domains.
FIG. 4 depicts a flowchart of an example of a method for secure network communication.
FIG. 5 depicts a flowchart of another example of a method for secure network communication.
FIG. 6 depicts a flowchart of a method to obtain an encryption key for secure network communication.



The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings.
DETAILED DESCRIPTION
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without one or more of these specific details or in combination with other components or process steps. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
FIG. 1 is a block diagram illustrating an example of a Wireless Local Area Network (WLAN) system 100. In the example of FIG. 1, the WLAN system 100 includes an authentication server 102, switches 104-1 to 104-N (referred to collectively hereinafter as switches 104), Access Points (APs) 106-1 to 106-N (referred to collectively hereinafter as APs 106), and clients 108-1 to 108-N (referred to collectively hereinafter as clients 108).
In the example of FIG. 1, the authentication server 102 may be any computer system that facilitates authentication of a client in a manner described later with reference to FIGS. 4-6. The authentication server 102 may be coupled to one or more of the switches 104 through, for example, a wired network, a wireless network, or a network such as the Internet. The term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (the web). The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. In an alternative embodiment, the authentication server 102 may reside on one of the switches 104 (or, equivalently, one of the switches 104 may reside on the authentication server).
In the example of FIG. 1, the switches 104 may be any computer system that serves as an intermediary between a subset of the APs 106 and the server 102. In an alternative, the APs may include the functionality of the switches 104, obviating the need for the switches 104.
In the example of FIG. 1, the APs 106 typically include a communication port for communicating with one or more of the clients 108. The communication port for communicating with the clients 108 typically includes a radio. In an embodiment, at least some of the clients 108 are wireless clients. Accordingly, APs 108 may be referred to in the alternative as “wireless access points” since the APs 106 provide wireless access for the clients 108 to a network, such as a Local Area Network (LAN) or Virtual LAN (VLAN). The APs 106 may be coupled to the network through network interfaces, which can be Ethernet network or other network interfaces. The network may also be coupled to a gateway computer system (not shown) that can provide firewall and other Internet-related services for the network. This gateway computer system may be coupled to an Internet Service Provider (ISP) to provide Internet connectivity to the clients 108. The gateway computer system can be a conventional server computer system.
In the example of FIG. 1, the clients 108 may include any wireless device. It should be noted that clients may or not be wireless, but for illustrative purposes only, the clients 108 are assumed to include wireless devices, such as by way of example but not limitation, cell phones, PDAs, laptops, notebook computers, or any other device that makes use of 802.11 or other wireless standards. When the clients 108 are authenticated, they can communicate with the network. For illustrative purposes, clients 108 are coupled to the APs 106 by lines 110, which represent a secure connection.
In the example of FIG. 1, in operation, to communicate through data traffic in the WLAN system 100, the clients 108 typically initiate a request to access the network. An authenticator (not shown) logically stands between the clients 108 and the network to authenticate the client's identity and ensure secure communication. The authenticator may reside in any convenient location on the network, such as on one, some, or all of the APs 106, on one, some, or all of the switches 104, or at some other location. Within the 802.11i context, the authenticator ensures secure communication by encryption schemes including the distribution of encryption keys. For example, the authenticator may distribute the encryption keys using existing encryption protocols such as, by way of example but not limitation, the Otway-Rees and the Wide-Mouth Frog protocols. The authenticator may distribute the encryption keys in a known or convenient manner, as described later with reference to FIGS. 4-6.
In the example of FIG. 1, a client may transition from one authenticator to another and establish secure communication via a second authenticator. The change from one authenticator to another is illustrated in FIG. 1 as a dotted line 112 connecting the client 108-N to the AP 106-N. In a non-limiting embodiment, the secure communication via the second authenticator may be accomplished with one encryption key as long as both the first and second authenticators are coupled to the same authentication server 102. In alternative embodiments, this may or may not be the case.
FIG. 2 is a block diagram illustrating an example of a WLAN system 200 including one or more authenticators. In the example of FIG. 2, the WLAN system 200 includes authenticators 204-1 to 204-N (referred to hereinafter as the authenticators 204), and a client 208. As was previously indicated with reference to FIG. 1, the authenticators 204 may reside on APs (see, e.g., FIG. 1), switches (see, e.g., FIG. 1) or at some other location in a network.
In the example of FIG. 2, in a non-limiting embodiment, the client 208 scans different channels for an access point with which to associate in order to access the network. In an alternative embodiment, scanning may or may not be necessary to detect an access point. For example, the client 208 may know of an appropriate access point, obviating the need to scan for one. The access point may or may not have a minimum set of requirements, such as level of security or Quality of Service (QoS). In the example of FIG. 2, the client 208 determines that access point meets the required level of service and thereafter sends an association request. In an embodiment, the access request includes information such as client ID and cryptographic data. The request may be made in the form of a data packet. In another embodiment, the client 208 may generate and later send information including cryptographic data when that data is requested.
In the example of FIG. 2, the authenticator 204-1 authenticates the client 208. By way of example but not limitation, the authenticator 204-1 may first obtain a session encryption key (SEK) in order to authenticate the client 208. In one implementation, the authenticator requests the SEK and relies on an existing protocol (e.g. 802.1X) to generate a PMK as the SEK. In an alternative implementation, the SEK is pre-configured by mapping a preset value (e.g. user password) into a SEK. In the event that a preset value is used, convenient or well-known methods such as periodically resetting the value, or remapping the value with randomly generated numbers, may be employed to ensure security. In this example, once the authenticator 204-1 obtains the SEK, it proceeds to a four-way handshake whereby a new set of session keys are established for data transactions originating from client 208. Typically, the client 208 need not be authenticated again while it communicates via the authenticator 204-1. In the example of FIG. 2, the connection between the client 208 and the server 204-1 is represented by the line 210.
In the example of FIG. 2, the client 208 roams from the authenticator 204-1 to the authenticator 204-N. The connection process is represented by the arrows 212 to 216. In an embodiment, when the client 208 roams, the server 202 verifies the identity of the (new) authenticator 204-N and the client 208. When roaming, the client 208 sends a cryptographic message to authenticator 204-N including the identity of the client 208 (IDc); the identity of the server 202 (IDs); a first payload including the identity of the authenticator 204-N (IDa) and a randomly generated key (k) encrypted by a key that client 208 and the server 202 share (eskey); and a second payload including the SEK encrypted by the random key k. This cryptographic message is represented in FIG. 2 as arrow 212. In an alternative embodiment, the client 208 sends the cryptographic message along with its initial association request.
In the example of FIG. 2, in an embodiment, once authenticator 204-N receives the cryptographic message, it keeps a copy of the encrypted SEK, identifies the server 202 by the IDs, and sends a message to the server 202 including the identity of the client IDc and the first payload from the original cryptographic message having the identity of the authenticator IDa and the random key k encrypted by the share key eskey.
In the example of FIG. 2, when the server 202 receives the message from authenticator 204-N, it looks up the shared key eskey based on the identity of the client IDc and decrypts the message using the eskey. The server 202 then verifies that a trusted entity known by IDa exists and, if so, constructs another message consisting of the random key k encrypted with a key the server 202 shares with authenticator 204-N (askey) and sends that message to the authenticator 204-N. However, if the server 202 can not verify the authenticator 204-N according to IDa, the process ends and client 201 cannot access the network through the authenticator 204-N. In the event that the authenticator 204-N cannot be verified the client may attempt to access the network via another authenticator after a preset waiting period elapses.
Upon receipt of the message from the server 202, the authenticator 204-N decrypts the random key k using the shared key askey and uses k to decrypt the encryption key SEK. Having obtained the encryption key SEK, the authenticator 204-N may then proceed with a four-way handshake, which is represented in FIG. 2 for illustrative purposes as arrows 214 and 216, and allow secure data traffic between the client 208 and the network.
Advantageously, the authentication system illustrated in FIG. 2 enables a client 208 to roam efficiently from authenticator to authenticator by allowing the client 208 to keep the same encryption key SEK when transitioning between authenticators coupled to the same server 202. For example, the client 208 can move the SEK securely between authenticators by using a trusted third party (e.g. the server 202) that negotiates the distribution of the SEK without storing the SEK itself.
FIG. 3 is a block diagram illustrating an example of a WLAN system 300 including one or more authentication domains. In the example of FIG. 3, the WLAN system 300 includes a server 302, authentication domains 304-1 to 304-N (referred to hereinafter as authentication domains 304), and a network 306. The server 302 and the network 306 are similar to those described previously with reference to FIGS. 1 and 2. The authentication domains 304 include any WLANs, including virtual LANs, that are associated with individual authenticators similar to those described with reference to FIGS. 1 and 2.
The scope and boundary of the authentication domains 304 may be determined according to parameters such as geographic locations, load balancing requirements, etc. For illustrative purposes, the client 308 is depicted as roaming from the authentication domain 304-1 to the authentication domain 304-N. This may be accomplished by any known or convenient means, such as that described with reference to FIGS. 1 and 2.
FIGS. 4 to 6, which follow, serve only to illustrate by way of example. The modules are interchangeable in order and fewer or more modules may be used to promote additional features such as security or efficiency. For example, in an alternative embodiment, a client may increase security by generating and distributing a unique random key to each authenticator. In another alternative embodiment of the present invention, the authenticator employs a known or convenient encryption protocol (e.g. Otway-Rees, Wide-Mouth Frog, etc.) to obtain the encryption key.
FIG. 4 depicts a flowchart of an example of a method for secure network communication. In the example of FIG. 4, the flowchart starts at module 401 where a client sends an association request to an access point. The flowchart continues at decision point 403 where it is determined whether a preconfigured encryption key is used. If it is determined that a preconfigured encryption key is not to be used (403-NO), then the flowchart continues at module 405 with requesting an encryption key and at decision point 407 with waiting for the encryption key to be received.
In the example of FIG. 4, if a preconfigured encryption key is provided at module 403, or an encryption key has been received (407-YES), then the flowchart continues at module 409 with a four-way handshake. The flowchart then continues at module 411 where data traffic commences, and the flowchart continues to decision point 413 where it is determined whether the client is ready to transition to a new authentication domain.
In the example of FIG. 4, if it is determined that a client is ready to transition to a new authentication domain (413-YES), then the flowchart continues at module 415 when the client sends a cryptographic message to the new authenticator. In an alternative embodiment, the client sends the cryptographic message along with its initial association request and skips module 415.
The flowchart continues at module 417, where once the new authenticator receives the cryptographic message, the new authenticator sends a message to the server. If at decision point 419 the authenticator is not verified, the flowchart ends. Otherwise, the server sends a message to the authenticator at module 421. The flowchart continues at module 423 where the authenticator obtains an encryption key, at module 424 where the client and the authenticator enter a four-way handshake, and at module 427 where data traffic commences.
FIG. 5 depicts a flowchart of another example of a method for secure network communication. In the example of FIG. 5, the flowchart begins at module 501 where a client makes an association request. The flowchart continues at decision point 503, where it is determined whether a preconfigured encryption key is available. If it is determined that a preconfigured encryption key is not available (503-NO) then the flowchart continues at module 505, where an encryption key is requested, and at decision point 507 where it is determined whether an encryption key is received. If it is determined that an encryption is not received (507-NO), the flowchart continues from module 505. If, on the other hand, it is determined that an encryption key is received (507-YES), or if a preconfigured encryption key is available (503-YES), then the flowchart continues at module 509 with a four-way handshake. In the example of FIG. 5, the flowchart continues at module 511, where data traffic commences, and at decision point 513, where it is determined whether a client is ready to transition. If it is determined that a client is not ready to transition (513-NO), then the flowchart continues at module 511 and at decision point 513 until the client is ready to transition (513-YES). The flowchart continues at module 515, where an authenticator obtains an encryption key using an established cryptographic protocol. The flowchart continues at module 517 with a four-way handshake, and at module 519 where data traffic commences.
FIG. 6 depicts a flowchart of a method to obtain an encryption key for secure network communication. In one embodiment, a client transitions from a first authenticator to a second authenticator, both of which coupled to the same server, and establishes secure communication with the first and the second authenticator using one encryption key.
At module 601, a client generates a first key. In one embodiment, the first key is randomly generated. In an alternative embodiment, the first key is generated according to a preset value such as by requesting a value (e.g. password) from a user. In yet another alternative embodiment, the first key is a constant value such as a combination of the current date, time, etc.
At module 603, the client obtains a second key. In one implementation, the generation of the second key relies on an existing protocol (e.g. 802.1X). In an alternative implementation, the second key is pre-configured (e.g. user password). In yet another alternative implementation, the second key is a combination of a pre-configured value and a randomly generated value.
At module 605, the client constructs a first message using the first key and the second key. In one embodiment, the message is a data packet comprising cryptographic data using the first and the second key. Furthermore, in one embodiment, the first message comprises the second key encrypted with the first key.
At module 607, the client sends the first message to an authenticator. In one embodiment, the authenticator is a second authenticator from which the client transitions from a first authenticator.
At module 609, the authenticator constructs a second message using data from the first message. In one implementation, the authenticator constructs the second message comprising the client's identity, and an encrypted portion having identity of the authenticator and the first key.
At module 611, the authenticator sends the second message to a server with which the authenticator is coupled. At module 613, the server decrypts an encrypted portion of the second message. In one implementation, the encrypted portion of the second message comprises the identity of the authenticator and the first key.
Subsequently at module 615, the server verifies the authenticator with the decrypted identity information extracted from the second message. If the server cannot verify the authenticator according to the identification information, as shown at decision point 617, the client cannot communicate through the authenticator. If, on the other hand, the server verifies the authenticator, the server constructs a third message with the first key that it extracted from the second message at module 619. In one implementation, the third message comprises the first key encrypted with a third key that the server shares with the authenticator. The server then sends the third message to the authenticator at module 621.
After receiving the third message, the authenticator extracts the first key from the message at module 623. In one implementation, the authenticator extracts the first key using a third key it shares with the server. With the first key, the authenticator then decrypts the cryptographic data in the first message and extracts the second key at module 625. Having obtained the second key, the authenticator establishes secure data traffic/communication with the client using the second key. In one embodiment, the authenticator is a second authenticator to which the client transitions from a first authenticator coupled to the server, and the client communicates securely with both the first and the second authenticator using the second key.
As used herein, the term “embodiment” means an embodiment that serves to illustrate by way of example but not limitation. It may be noted that, in an embodiment, timestamps can be observed to measure roaming time.
It will be appreciated to those skilled in the art that the preceding examples and embodiments are exemplary and not limiting to the scope of the present invention. It is intended that all permutations, enhancements, equivalents, and improvements thereto that are apparent to those skilled in the art upon a reading of the specification and a study of the drawings are included within the true spirit and scope of the present invention. It is therefore intended that the following appended claims include all such modifications, permutations and equivalents as fall within the true spirit and scope of the present invention.

## Claims

1. A system comprising:
a first authenticator, the first authenticator, in operation, receiving a first message including an encryption key from a client;
a second authenticator, the second authenticator, in operation, receiving a second message including the encryption key from the client; and
a server coupled to the first authenticator and the second authenticator, the server, in operation, distributing to the first authenticator and the second authenticator information to extract the encryption key from the first message and the second message,
wherein, in operation, the first authenticator and the second authenticator each uses the encryption key to ensure secure network communication.

2. The system of claim 1, further comprising the client, wherein, in operation, the client maintains the encryption key that allows the client to communicate securely with authenticators coupled to the server.

3. The system of claim 1, wherein, in operation, the first authenticator is implemented in a network switch or an access point.

4. The system of claim 1, wherein, in operation, the second authenticator is implemented in a network switch or an access point.

5. The system of claim 1, further comprising the client:
the client, in operation, generates a client-generated key;
the client, in operation, uses the client-generated key to encrypt the encryption key;
the client, in operation, sends the first message to the first authenticator.

6. The system of claim 1, further comprising the client:
the client, in operation, encrypts the portion of the first message comprising the client-generated key and the identity of the first authenticator based on both the client-generated key and the shared key; and
the server, in operation, uses a shared key to decrypt and extract a portion of the first message having a client-generated key and an identity of the first authenticator.

7. The system of claim 1, wherein, in operation:
the first authenticator forwards the first message to the server;
the first authenticator receives a third message from the server;
the first authenticator uses a second shared key to extract the client-generated key from the third message, the second shared key being shared by the server and the first authenticator;
the first authenticator uses the client-generated key to extract the encryption key to establish secure communication with the client.

8. The system of claim 1, wherein, in operation:
the server uses a first shared key to extract a portion of the first message having a client-generated key and an identity of the first authenticator, the first shared key being shared by the client and the server;
the server uses a second shared key to encrypt the client-generated key, the second shared key being shared by the server and the first authenticator;
the server sends the client-generated key encrypted with the first key to the first authenticator.

9. The system of claim 1, further comprising the client:
the client, in operation, generates a second client-generated key;
the client, in operation, uses the second client-generated key to encrypt the encryption key;
the client, in operation, sends the second message to the second authenticator;
the second authenticator, in operation, forwards the second message to the server;
the server, in operation, uses a third shared key to extract a portion of the second message comprising the second client-generated key and an identity of the second authenticator, wherein the third shared key is shared by the server and the client;
the server, in operation, uses a fourth shared key to encrypt the second client-generated key;
the server, in operation, sends the second client-generated key encrypted with the fourth shared key to the second authenticator, wherein the fourth shared key being shared by the server and the second authenticator; and
the second authenticator, in operation, uses the fourth shared key to extract the second client-generated key;
the second authenticator, in operation, uses the second client-generated key to extract the encryption key to establish secure communication with the client.

10. A system comprising:
a first authentication domain the first authentication domain, in operation, receiving an encryption key from a client;
a second authentication domain, the second authentication domain, in operation, receiving the encryption key from the client; and
a server coupled to the first authentication domain and the second authentication domain, the server, in operation, acting as a trusted third party for the client when the client transitions from the first authentication domain to the second authentication domain, using the encryption key to ensure secure network communication.

11. The system of claim 10, further comprising:
a client-generated first key that the client uses to encrypt the encryption key when the client sends a first message to the first authenticator, wherein the first authenticator forwards the first message to the server;
a second key that the server and the client share, wherein the server uses the second key to extract the portion of the first message comprising the first key and the identity of the first authenticator;
a third key that the server and the first authenticator share, wherein the server uses the third key to encrypt the first key and sends the first key encrypted with the third key to the first authenticator, and wherein the first authenticator uses the third key to extract the first key which the first authenticator uses to extract the encryption key in order to establish secure communication with the client;
a client-generated fourth key that the client uses to encrypt the encryption key when the client sends a second message to the second authenticator, wherein the second authenticator forwards the second message to the server;
a fifth key that the server and the client share, wherein the server uses the fifth key to extract the portion of the second message comprising the fourth key and the identity of the second authenticator; and
a sixth key that the server and the second authenticator share, wherein the server uses the sixth key to encrypt the fourth key and sends the fourth key encrypted with the sixth key to the second authenticator, and wherein the second authenticator uses the sixth key to extract the fourth key which the second authenticator uses to extract the encryption key in order to establish secure communication with the client.

12. The system of claim 10, wherein:
the first authentication domain includes a first authenticator, the first authenticator, in operation, coupled to the server, and
the second authentication domain includes a second authenticator, the second authenticator, in operation, coupled to the server.

13. The system of claim 10, wherein:
the first authentication domain includes a first authenticator, the first authenticator, in operation, coupled to the server;
the second authentication domain includes a second authenticator, the second authenticator, in operation, coupled to the server; and
the client, in operation, maintains an encryption key that allows the client to communicate securely in authentication domains having authenticators coupled to the server.

14. A method comprising:
receiving a second message at a server from an authenticator associated with a second authentication domain, the second message including cryptographic data included in a first message received at the authenticator from a client authenticated at a first authentication domain, the first message including cryptographic data including a first key and a second key;
decrypting the second message at the server;
verifying the identity of the authenticator at the server; and
if the authenticator is verified:
constructing a third message comprising the first key at the server;
sending the third message from the server to the authenticator;
extracting the first key from the third message at the authenticator;
extracting the second key from the cryptographic data at the authenticator; and
establishing secure data communication with the client using the second key.

15. The method of claim 14, further comprising identifying an access point at a client.

16. The method of claim 14, further comprising identifying a server at the authenticator.

17. The method of claim 14, further comprising refusing client authentication when the authentication is not verified.

18. The method of claim 14, further comprising constructing and sending the first message having cryptographic data to the authenticator.

19. The method of claim 14, wherein the first key is randomly generated.

20. The method of claim 14, wherein the second key is defined by a user.