# Patent

## Title
Dynamic authentication in secured wireless networks

## Abstract

Systems and methods for authentication using paired dynamic secrets in secured wireless networks are provided. Each authenticated user is assigned a random secret generated so as to be unique to the user. The secret is associated with a wireless interface belonging to the user, so that no other wireless interface may use the same secret to access the network. The secret may be updated either periodically or at the request of a network administrator, and reauthentication of the wireless network may be required.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 13/590,997 filed Aug. 21, 2012, which is a continuation and claims the priority benefit of U.S. patent application Ser. No. 12/845,089 filed Jul. 28, 2010, now U.S. Pat. No. 8,272,036, which is a continuation and claims the priority benefit of U.S. patent application Ser. No. 11/788,371 filed Apr. 18, 2007, now U.S. Pat. No. 7,788,703, which claims the priority benefit of U.S. provisional patent application 60/794,625 filed Apr. 24, 2006 and U.S. provisional patent application 60/796,845 filed May 2, 2006. The disclosures of the aforementioned applications are incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to information network security. More specifically, the present invention relates to user-friendly, low-maintenance authentication for secured wireless networks.
2. Description of the Related Art
A variety of user authentication and security measures for wireless networks have been proposed by a number of professional organizations. These professional organizations include the Institute of Electrical and Electronics Engineers (IEEE) 802.11 Working Group, the Wi-Fi Alliance, and the Internet Engineering Task Force (IETF). Implementing these proposals has generally been complicated, difficult to maintain, and requires a high level of technical knowledge by those implementing a particular proposal. Many commercial organizations (e.g., small- and medium-sized businesses), therefore, have been unable to deploy such measures, because of their lack of expertise and/or full-time professional technical support.
In early wireless networks (e.g., IEEE 802.11 or Wi-Fi), security was achieved by wired equivalent privacy (WEP) systems. Deploying a WEP system requires only that a network administrator define a WEP key set at an access point or access device. Any user can access a WEP-secured wireless network by having the same WEP key set manually configured on that user's client station (e.g., a laptop or mobile device). The wireless data communication between the client station and the access point would be encrypted by a defined encryption algorithm utilizing the shared WEP key set.
While WEP may work to prevent casual trespassers from accessing the wireless network, WEP would not likely withstand more serious security attacks. WEP keys can be easily discovered, for example, by using publicly available software. Further, WEP does not work to protect network users from each other since all users share the same key. Because of these flaws in WEP-based security systems, alternative security measures evolved. These new measures generally required that wireless network users first be authenticated in some manner and that a key set then be derived and used for wireless traffic encryption. These proposed authentication measures can generally be categorized into two groups: Extensible Authentication Protocol (EAP) and Pre-Shared Key (PSK).
The EAP group of security measures generally follows the IEEE 802.1x standard, which utilizes the extensible authentication protocol. EAP-based security systems enable mutual authentication between an authentication server and its users. The authentication server may reside in an access point, base station or an external device. Generally, the authentication server provides for a derived pair-wise master key to be shared between an access point and the user client station. That pair-wise master key may be used to derive a key set, which may be used for data encryption.
A major obstacle in implementing EAP or IEEE 802.1x-based security systems is their complexity. Deploying such systems requires a high level of technical expertise, as well as ongoing technical support for users. Most EAP-based systems, for example, require security certificates to be installed onto authentication servers. Depending on the exact requirements of the EAP-based system, the client stations may also need to be granted the authority to root certificate updates and/or have the security certificate pre-installed before access to the wireless network can be granted.
In contrast, PSK security systems are based on a secret shared between and stored at both the client station and the access point. The secret may be, for example, a long bit stream, such as a passphrase, a password, a hexadecimal string, or the like. Used by a client station and the access point to authenticate each other, the secret may also be used to generate an encryption key set.
A major shortcoming of PSK-based systems is that the secret has to be manually entered onto client stations and shared by all the client stations. Once the shared secret becomes known to unauthorized personnel, the security of the entire network is compromised. This may pose a problem in organizations that need to provide network access to temporary employees or that have a highly mobile workforce. To maintain the security of a PSK-based system, the secret must be changed on all client stations whenever a person with knowledge of the secret departs from the organization or is no longer authorized to access the network.
Notwithstanding the many measures available for securing a wireless network, implementing any one of these measures may be complicated, difficult, and/or require extensive maintenance. There is, therefore, a need in the art for improved systems and methods that provide security for wireless networks that are user-friendly and easily maintained without requiring a high degree of technical expertise and ongoing technical support.
SUMMARY OF THE CLAIMED INVENTION
Exemplary systems and methods of the present invention provide for pairing dynamic secrets in secured wireless networks. A random secret is generated for each authenticated user. That secret is unique to the user, and no other users in the network may use that secret to access the network. Further, the secret is associated, or bound, with the wireless interface belonging to the user, so that no other wireless interface belonging to other users may use that secret to access the network.
Various embodiments of the present invention include methods for pairing such dynamic secrets. Associating the secret with a wireless interface may occur immediately after the secret is generated and/or associated with the access profile, or associating the secret with the wireless interface may occur after a delay. Some embodiments associate the secret with the wireless interface by generating an executable to configure the wireless interface to access the wireless network. Configuration may include transferring a copy of the executable to the wireless interface, along with copies of the secret, any security keys derived from the secret, and the user's access profile. Various embodiments of the present invention further include updating the secret, which requires that the wireless interface be reauthenticated before being allowed to reconnect or continue its connection to the wireless network.
Embodiments of the present invention include systems for pairing dynamic secrets in a secured wireless network. Such systems may include a secret generation module, a binding module, and a secret database. The secret is generated by the secret generation module and associated (bound) with a wireless interface by the binding module. The secret database stores information concerning secrets, associations with user profiles, associations with wireless interfaces, and the like. Some embodiments further include an access profile generation module, an executable generation module, and the like. The access profile generation module generates access profiles for users. The executable generation module generates executables for configuring wireless interfaces for access to wireless networks.
Some embodiments of the present invention include computer media and instructions for pairing dynamic secrets in a secured wireless network. Some embodiments further include instructions for updating the secrets and requiring that wireless interfaces be reauthenticated.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an illustration of an authentication system for a secured wireless network in accordance with an exemplary embodiment of the present invention.
FIG. 2 is a flowchart illustrating a method for using paired secrets in a secured wireless network.
FIG. 3 is a flowchart illustrating an alternative method for using paired secrets in a secured wireless network.
FIG. 4 is a flowchart illustrating a method for using security keys in a secured wireless network.



DETAILED DESCRIPTION
The present invention includes systems and methods for using user-friendly, low-maintenance authentication in secured wireless networks through the use of dynamic secrets. Paired secrets are shared between a client station and an access point. These secrets are dynamically generated for each authenticated user and associated with the user's access profile. The secret may also be associated with a specific client station or wireless interface belonging to the user. In some embodiments of the present invention, the secret expires, at which point the user must reauthenticate in order to continue accessing the wireless network.
FIG. 1 is an illustration of an authentication system 100 for a secured wireless network 170 in accordance with an exemplary embodiment of the present invention. Authentication server 100, as illustrated in FIG. 1, includes an authentication module 110, an access profile generation module 120, a secret generation module 130, a database of secrets 140, a binding module 150, and an executable generation module 160. The authentication server 100 may be used to maintain security in network 170. Various client devices, such as wireless workstation 180a, laptop 180b, and mobile device 180c belong to potential users of network 170.
A module (or application), as referenced in the present invention, should be generally understood as a collection of routines that perform various system-level functions and may be dynamically loaded and unloaded by hardware and device drivers as required. The modular software components described herein may also be incorporated as part of a larger software platform or integrated as part of an application specific component.
Authentication module 110 authenticates a user (e.g., laptop 180b) and verifies that the user is who they purport to be and that they are otherwise authorized to access network 170. The authentication module 110 may be used to verify a user name and password supplied by the user. Verification may occur through comparison with user names and passwords stored in an authentication database, which may be independent of or incorporated into authentication module 110. In some embodiments, the authentication database may be integrated with secret database 140 as is described below. Once authenticated by authentication module 110, the user may access data and perform actions within network 170 based on the user's security clearance level, the parameters of the user's role in the organization, as defined by a network administrator, and as may be further governed by a paired secret or derived keys.
Access profile generation module 120 generates an access profile for a user authenticated by authentication module 110. A user access profile may include, at the least, a random paired secret and an executable as is further described herein. An access profile may further include information concerning the user, such as authentication information, security information, user preferences, and the like. To access the network 170, a user copies, downloads, or otherwise transfers the user access profile to the user's client device (e.g., laptop 180b). Access profiles may be securely obtained via a common web browser utilizing hypertext transfer protocol over secure socket layer (HTTPS). The executable automatically configures a wireless device so that they may access the wireless network 170.
Secret generation module 130 generates a random secret for each user. Various algorithms and formulas may be used by secret generation module 130 to randomly generate secrets. By providing for random secrets, secret generation module 130 increases the difficulty for potential trespassers to deduce or otherwise determine a particular secret and illicitly gain access to network 170. Secret generation module 130 is further configured to determine that each secret is unique to each user, so that each secret may only be used by one user. The secret may be bundled as part of an access profile. The secret will be used to authenticate a wireless device so that the wireless device can access the wireless network 170. In some embodiments, secret generation module 130 may derive from a particular secret a set of one or more security keys for a user. Like secrets, security keys may be associated with a wireless device and used in configuring the wireless interface so that it may access the wireless network 170. Also like secrets, no other wireless device may then use those same security keys to access the network 170.
Secret database 140 stores information concerning various secrets generated by secret generation module 130. Secret database 140 may also store information concerning which user is associated with a particular secret, any security keys derived from a secret, which wireless device, if any, is associated with a user's secret or security keys, and the like. Secret database 140 may further store information concerning user names, passwords, security clearance levels, and the like. Secret database 140 may operate in conjunction with authentication module 110 to authenticate users and interfaces belonging to the users to the network 170.
Binding module 150 is configured to associate (bind) a user's secret to a wireless interface device belonging to the user (e.g., workstation 180a, laptop 180b, or mobile device 180c). The association formed by binding module 150 between a secret and a user's wireless interface device is required for the wireless interface to be authenticated and allowed access to the wireless network 170. In some instances, immediately after secret generation and/or association with an access profile, binding module 150 associates the user's secret to the user's wireless interface device (if the user is using a wireless interface device) or a profile assigned to the interface device. The immediate operation of binding module 150 may be referred to as prompt binding. Alternatively, the operations of binding module 150 may be delayed until the user initiates the first wireless connection via the wireless interface and the MAC address of the user's wireless device may be determined. The delayed operation of binding module 150 may be referred to as delayed binding.
An executable generation module 160 generates an executable application that configures a wireless interface for access to the wireless network 170. The executable generated by executable generation module 160 may then be copied, downloaded, or otherwise transferred to a wireless interface belonging to the user. The executable may be bundled as part of an access profile. The executable installs the access profile generated by access profile generation module 120 and the secret generated by secret generation module 130 onto the wireless device. Generation of this executable and the aforementioned access profile are further disclosed in U.S. provisional patent application 60/796,845, the disclosure of which has been previously incorporated by reference.
Network 170 may be configured to transmit various electromagnetic waves, including, for example, radio signals. Network 170 may be an IEEE 802.11 (Wi-Fi or Wireless LAN) network, IEEE 802.16 (WiMAX) network, IEEE 802.16c network, or the like. Network 170 may convey various kinds of information to interface devices, such as client interface devices 180a-c. Network 170 may be a local, proprietary network or may be a part of a larger wide-area network. Various subsidiary networks may reside within the realm of greater network 170 such as peer-top-peer or wireless mesh networks.
Client interface devices 180a-c illustrate a variety of wireless-capable interfaces, including desktop computers, laptop computers, handheld computers, and the like. A user wishing to access the wireless network 170 through wireless interface 180a, for example, may do so by copying, downloading, or otherwise transferring to wireless interface 180a a copy of the user's access profile generated by access profile generation module 120, a secret generated by secret generation module 130, and an installation executable generated by executable generation module 160. The executable configures wireless interface 180a so that wireless interface 180a can access the wireless network 170 utilizing an access profile and paired secret as part of an overall authentication operation. Wireless interface 180b and wireless interface 180c may be configured in similar fashion.
A user's secret may be updated periodically or in response to a request by a network administrator. A new secret may be generated for the user by secret generation module 130, associated with the user's access profile, and saved to the secret database 140. If the previous secret has expired, the wireless interface must be reauthenticated. The user must either reauthenticate immediately or reauthenticate at the next wireless connection. Reauthenticating the wireless device may include reauthenticating the user, transferring copies of the user's new secret, access profile, and/or a new executable, and, using binding module 140, forming a new association between the wireless interface and the new secret.
FIG. 2 is a flowchart illustrating a method 200 for using paired secrets in a secured wireless network 170. In method 200, a user is authenticated, a random and unique paired secret is generated for the user, the secret is associated with an access profile belonging to the user, and the secret is further associated (bound) with a wireless interface belonging to the user and further associated with a particular access profile.
In step 210, the user is authenticated using authentication module 110. Initial authentication may include providing a user name and password identifying the user as a particular user. That user may or may not be authorized to access the network 170 as may be determined with respect to paired secrets. If a user cannot be authenticated through a simple user name and password match (or subsequently with respect to paired secrets), the user may not be allowed to access the wireless network 170.
In step 220, a secret is generated for the provisionally authenticated user. Generated by secret generation module 130, the secret may be determined through various algorithms or formulas so that a randomly generated secret is produced for the authenticated user. Further, the secret is unique to each user in the network 170. The uniqueness of the secret for each user provides each user protection from all other users in the network 170. Because each user has a secret uniquely bound to that specific user (or their profile and/or interface device), there is no way for a user to use another user's secret. Further, when a particular user is no longer authorized to use the network 170, that user's de-authorization does not affect the ability of other users to continue using the network 170 as is the case in many prior art network security solutions. Further, de-authorization of a particular user does it require any particular technical expertise or technical support to maintain the security of the network 170. Also in step 220, other information entities associated with the wireless authentication mechanism, such as authority certificates, may be generated.
In step 230, the secret generated for an authenticated user is associated with that user's access profile, which may be further associated with a particular interface device. Information concerning the association between the secret and the user access profile may be saved in secret database 150.
In step 240, the secret is associated (bound) with a wireless interface belonging to the authenticated user, their profile, and/or device. The association may be formed by binding module 140 and allows the wireless interface device to access the wireless network 170. The association, or binding, may include downloading an access profile, a paired secret and associated derived security keys, and an executable for configuring and associating the wireless interface device with the secret. The secret may be associated with the wireless interface by associating the secret with a specific radio of the wireless interface, a MAC address of the wireless interface, or the like. Information concerning the association between the paired secret and wireless interface may be saved in secret database 150.
FIG. 3 is a flowchart illustrating an alternative method 300 for using secrets in a secured wireless network 170. In this method 300, the user is authenticated as may occur through an initial user name and password verification process, an access profile is generated, and a secret is generated. If a known wireless interface is connected to the network 170, then that wireless interface is associated (bound) with the secret. If there is no known wireless interface currently connected to the network 170, then the unassociated secret may be saved and can be later associated with a wireless interface.
In step 310, the user is authenticated by authentication module 110. The authentication may be performed in a similar fashion to the authentication performed in step 210.
In step 320, an access profile is generated for the authenticated user. The access profile, generated by access profile generation module 120, may be used to configure a wireless interface belonging to the user so that they may access the network 170.
In step 330, a secret is generated for the user. The generation of the secret may be performed in a manner similar to that of step 220 of FIG. 2.
In step 340, the determination is made whether the current network connection is through a known wireless interface. The determination may be based on authentication information, user input, or the like.
In step 350, where the connection is (for example) determined not to be a known wireless interface already having a bound secret, the most recently generated secret is saved to a table. The table may be included in secret database 150. Where the user is not using a wireless interface, the wireless interface is not the intended interface to be used in a multi-wireless-interface (radio) device, the user is not using the user's own wireless interface, or the user is otherwise not ready to associate the wireless interface with the secret, the secret may be saved to the table for later use.
In step 360, where the connection is determined to be a known wireless interface not having a bound secret, having an expired secret, or otherwise in need of a bound secret, the secret is bound with the wireless interface. The association may be formed in a similar manner as the association formed in step 240.
FIG. 4 is a flowchart illustrating a method 400 for using security keys in a secured wireless network 170. In this method, an authentication request is received from a wireless interface. It is then determined whether a security key is associated with the interface, and if so, it is determined whether the security key is valid. If the security key is valid, then the wireless interface is successfully authenticated. If the security key is not valid, the authentication request is denied. If there is no security key associated with the interface, it is determined whether there are any unassociated security keys for the user. If there are unassociated security keys, then the next unassociated security key is obtained. It is then determined whether the security key is valid. If the security key is not valid, it is determined again whether there are any unassociated security keys. If there are no unassociated security keys left, the authentication request is denied. If there is an available unassociated security key and it is valid, then the security key is bound to the interface, and the wireless interface is successfully authenticated.
In step 410, an authentication request is received from a wireless interface belonging to a user. This request may occur when the wireless interface is new to the network 170, for wireless interfaces whose security key has expired, for wireless interfaces whose connection was terminated, or the like.
In step 420, it is determined whether there is a security key associated with the wireless interface. The determination may be made from information in the wireless interface authentication process. If there is an associated security key, the method proceeds to step 430. If there is no associated security key, the method proceeds to step 440.
In step 430, where the security key is determined to be associated with the wireless interface, it is then determined whether that security key is valid. The determination may be made by comparing the security key information from the authentication request with the security key in secret database 150.
In step 440, where there is no security key associated with the wireless network 170, it is determined whether there are any unassociated security keys for the user. The determination may be made based on information from the authentication request, security key information associated with the user access profile saved in secret database 150, and the like. If there is an unassociated security key available, the method proceeds to step 450. If there are no unassociated security keys available, the method proceeds to step 490.
In step 450, where it was determined that there are unassociated security keys available, the next unassociated security key is obtained. All unassociated security keys are saved to a table, as described in step 350. In some embodiments, the table is included in secret database 150. In step 450, the next available unassociated security key from the table is considered.
In step 460, it is determined whether the security key under consideration is valid. The determination of whether the security key is valid is similar to the determination made in step 430. If the security key is not valid, the method returns to step 440. If the security key is valid, the method proceeds to step 470.
In step 470, the security key is bound to the wireless interface. The binding, or association, is formed similarly to the association formed in steps 240 and 360.
In step 480, the authentication of the wireless interface by security key is successful. In some embodiments, the method may proceed with further authentication steps. For example, in step 500, a determination may be made as to whether the security key has expired. If the key has expired, a re-keying process may commence in step 520. In the interim, however, the user may be subjected to restricted access or no access whatsoever. In some embodiments, the re-keying process may be a part of a different process while the user has limited or no access privileges. If they key is still valid, however, the user may enjoy full service access in step 510. Authenticating the wireless interface, however, allows the wireless interface to access the wireless network 170.
In step 490, the authentication request is denied. The wireless interface is not allowed to access the wireless network 170, or if there is an existing connection, it may be terminated.
While the present invention has been described in connection with a series of preferred embodiment, these descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art.

## Claims

1. A method for enabling access to a secured wireless network, the method comprising:
storing information regarding a plurality of secrets in memory, wherein each secret is unique to a user authorized to access the secured wireless network;
receiving an access request from a wireless device, the access request regarding access to the secured wireless network; and
executing instructions stored in memory, wherein execution of instructions by a processor:
authenticates a requesting user of the wireless device as authorized to access the secured wireless network,
determines that the wireless device is not associated with a security key;
determines that the requesting user is associated with a secret of the plurality of secrets, wherein the stored information indicates that one or more unassociated security keys have been derived from the secret,
associates one of the security keys with the wireless device used by the requesting user; and
processes subsequent access request from the requesting user of the wireless device, wherein the wireless device is granted access to the secured wireless network based on the associated security key.

2. The method of claim 1, wherein the plurality of security keys are derived based on the unique secret associated with the requesting user.

3. The method of claim 2, further comprising generating the plurality of security keys based on the unique secret and storing the plurality of other security keys in memory.

4. The method of claim 3, further comprising receiving another authentication request from the requesting user using another wireless device and associating the other wireless device with one of the plurality of other security keys.

5. The method of claim 2, wherein the unique secret expires and further comprising re-authentication before associating a new unique secret with the wireless device.

6. The method of claim 5, wherein the new unique secret is generated periodically.

7. The method of claim 5, wherein the new unique secret is generated in response to a request by a network administrator.

8. The method of claim 5, wherein expiration includes terminating a connection to the wireless device.

9. The system of claim 5, wherein the secret generation module generates the new unique secret periodically.

10. The method of claim 1, further comprising generating an executable for the wireless device, wherein execution of the executable at the wireless device binds the unique security key with the wireless device.

11. A system for enabling access to a secured wireless network, the system comprising:
memory that stores information regarding a plurality of secrets, wherein each secret is unique to a user authorized to access the secured wireless network;
a communication interface that receives an access request from a wireless device, the access request regarding access to the secured wireless network; and
a processor that executes instructions stored in memory, wherein execution of instructions by the processor:
authenticates a requesting user of the wireless device as authorized to access the secured wireless network,
determines that the wireless device is not associated with a security key;
determines that the requesting user is associated with a secret of the plurality of secrets, wherein the stored information indicates that one or more unassociated security keys have been derived from the secret,
associates one of the security keys with the wireless device used by the requesting user; and
processes subsequent access request from the requesting user of the wireless device, wherein the wireless device is granted access to the secured wireless network based on the associated security key.

12. The system of claim 11, further comprising a binding module for associating the wireless device with the security key.

13. The system of claim 11, wherein the unique security key is derived based on the unique secret associated with the requesting user.

14. The system of claim 13, wherein the processor further executes the secret generation module to generate a plurality of other security keys based on the unique secret and storing the plurality of other security keys in memory.

15. The system of claim 14, wherein the network interface receives another authentication request from the requesting user using another wireless device and further comprising a binding associating the other wireless device with one of the plurality of other security keys.

16. The system of claim 13, wherein the unique secret expires and wherein the authentication server requires re-authentication before associating a new unique secret with the wireless device.

17. The system of claim 16, wherein the secret generation module generates the new unique secret in response to a request by a network administrator.

18. The system of claim 16, wherein expiration includes termination of a connection to the wireless device.

19. The system of claim 11, further comprising an executable generation module for generating an executable for the wireless device, wherein execution of the executable at the wireless device binds the unique security key with the wireless device.

20. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for enabling access to a secured wireless network, the method comprising:
storing information regarding a plurality of secrets in memory, wherein each secret is unique to a user authorized to access the secured wireless network;
receiving an access request from a wireless device, the access request regarding access to the secured wireless network;
authenticating a requesting user of the wireless device as authorized to access the secured wireless network;
determining that the wireless device is not associated with a security key;
determining that the requesting user is associated with a secret of the plurality of secrets, wherein the stored information indicates that one or more unassociated security keys have been derived from the secret;
associating one of the security keys with the wireless device used by the requesting user; and
processing subsequent access request from the requesting user of the wireless device, wherein the wireless device is granted access to the secured wireless network based on the associated security key.