Patent Publication Number: US-9843575-B2

Title: Wireless network authentication method and wireless network authentication apparatus

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application is a national stage application of International Application No. PCT/CN2014/071183, filed on Jan. 23, 2014, which claims priority to and the benefit of Chinese Patent Application No. 201310462287.5 filed with the State Intellectual Property Office of P.R. China on Sep. 30, 2013, and entitled “WIRELESS NETWORK AUTHENTICATION METHOD, AND CLIENT AND SERVER-WIRELESS NETWORK AUTHENTICATION APPARATUS ”. The contents of both of the above-referenced applications are herein incorporated by reference in their entirety. 
     TECHNICAL FIELD 
     The present application relates to the field of wireless local area network (WLAN) technologies, and in particular, to a wireless network authentication method and wireless network authentication apparatus. 
     BACKGROUND 
     WLANs aim to provide a network access service for wireless users, and to meet a demand of users for accessing network resources (for example, the Internet). Currently, many public places (for example, a shopping mall, a coffee shop, an airport, a conference center, and a library) are deployed with WLANs, and after accessing the WLANs, users can access a basic local service, or implement faster or cheaper Internet access. There is one type of application demand in the foregoing scenario, that is, a network service provider needs to quickly identify a user identity to provide a better service. For example, automatic network access is provided for a user who has visited the place before, or a larger network bandwidth is provided for a guest who frequently visits the place. 
     Currently, most wireless management software on a client device can set a WLAN access point (AP) configuration file and save an AP service set identifier (SSID) and corresponding access password to ensure direct access next time; however, the problem of such a method lies in that a user has to enter a password again and update the configuration file once the password is changed; as a result, fast network access cannot be implemented; and another problem lies in that an AP cannot verify a real identity of a mobile device, in other words, any mobile device having the access password can modify a media access control (MAC) address of the mobile device and be in disguise as another user (for example, a user with a high service level), so as to gain benefits. 
     SUMMARY 
     An objective of the present application is to provide a wireless network authentication method and wireless network authentication apparatuses, which can identify and verify a real identity of a device and implement fast network access. 
     To solve the foregoing technical problems, in a first aspect, an embodiment of the present application provides a wireless network authentication method, wherein the method comprises: 
     generating a to-be-verified address according to history access information related to a target AP, wherein the to-be-verified address is used to identify an identity of a client device; and 
     sending an authentication request comprising the to-be-verified address to the target AP. 
     In a second aspect, an embodiment of the present application provides a wireless network authentication method, wherein the method comprises: 
     receiving an authentication request sent by at least one client device; and 
     authenticating, according to history access information, a client device corresponding to an authentication request comprising a to-be-verified address; 
     wherein the to-be-verified address is generated by the at least one client device according to history access information related to an AP, and the to-be-verified address is used to identify an identity of the client device. 
     In a third aspect, an embodiment of the present application provides a client wireless network authentication apparatus, wherein the apparatus comprises: 
     an address generating module, configured to generate a to-be-verified address according to history access information related to a target AP, wherein the to-be-verified address is used to identify an identity of a client device; and 
     a sending module, configured to send an authentication request comprising the to-be-verified address to the target AP. 
     In a fourth aspect, an embodiment of the present application provides a server wireless network authentication apparatus, wherein the apparatus comprises: 
     a receiving module, configured to receive authentication request sent by at least one client device; and 
     an authenticating module, configured to authenticate, according to history access information, a client device corresponding to an authentication request comprising a to-be-verified address; 
     wherein the to-be-verified address is generated by the at least one client device according to history access information related to an AP, and the to-be-verified address is used to identify an identity of the client device. 
     By using the method and the apparatuses in the embodiments of the present application, a client device generates a to-be-verified address by using history access information, and an AP identifies and verifies a real identity of a corresponding client device according to the history access information, so as to provide a network service for a history access device, such that a history access client device can also obtain fast network access in the case of not knowing an access password. In addition, a time stamp is used in a process of creating the to-be-verified address, and the time stamp is updated when access is performed each time, so as to avoid a replay attack. Moreover, by using the to-be-verified address, the client device uses different addresses when accessing a network each time, thereby hiding the identity of the client device and avoiding disguise. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a flowchart of a wireless network authentication method implemented at a client according to an embodiment of the present application; 
         FIG. 2  is a flowchart of another wireless network authentication method implemented at a client according to an embodiment of the present application; 
         FIG. 3  is a flowchart of a wireless network authentication method implemented at a server according to an embodiment of the present application; 
         FIG. 4  is a flowchart of another wireless network authentication method implemented at a server according to an embodiment of the present application; 
         FIG. 5  is a structural block diagram of a client wireless network authentication apparatus according to an embodiment of the present application; 
         FIG. 6  is a structural block diagram of another client wireless network authentication apparatus according to an embodiment of the present application; 
         FIG. 7  is a structural block diagram of a server wireless network authentication apparatus according to an embodiment of the present application; 
         FIG. 8  is a structural block diagram of another server wireless network authentication apparatus according to an embodiment of the present application; 
         FIG. 9  is a structural block diagram of still another client wireless network authentication apparatus according to an embodiment of the present application; and 
         FIG. 10  is a structural block diagram of still another server wireless network authentication apparatus according to an embodiment of the present application. 
     
    
    
     DETAILED DESCRIPTION 
     Specific implementations of the present application are further described in detail below with reference to the accompanying drawings and embodiments. The embodiments below are used to describe the present application, but are not intended to limit the scope of the present application. 
     WLAN networking may be simply divided into two parts: a WLAN client and a WLAN server. A client is a host device with a wireless network interface card, and a server is an AP device. To better understand the embodiments of the present application, a negotiation process of accessing a WLAN by a client device is briefly introduced below, and the process is as follows: 
     1. WLAN Service Discovery 
     An AP device sends beacon information to advertise a provided WLAN, and the client device determines a WLAN nearby according to the packet. The client device may specify an SSID or use a broadcast SSID to actively detect whether there is a specified network, and the AP device sends acknowledgement information to the client device if there is specified WLAN service. 
     After service discovery succeeds, a link authentication process is entered. 
     2. Link Authentication 
     This is a starting point for the client device to access a WLAN, and is one method to indicate an identity to the WLAN. Link authentication is implemented by using an authentication packet. Generally, if the WLAN enables access authentication, after link authentication succeeds by using an access password, only limited network access is allowed, and only after a user identity is determined in an access authentication process, higher level or more complete network access is allowed. 
     3. Terminal Association 
     In the process of WLAN service discovery, the client device has already obtained a configuration and a parameter (the AP device carries, for example, an access authentication algorithm and an encryption key, in Beacon and Probe Response packets) of a current service. After the client device succeeds in the link authentication, the client device initiates an association request or a re-association request, wherein the request carries various parameters of the client device and various parameters selected according to the service configuration (mainly including a supported rate, a supported channel, a supported QoS capability, and selected access authentication and encryption algorithms). 
     The client device and the AP device successfully complete link service negotiation, which indicates that the two devices successfully establish a link. To a WLAN service not enabling access authentication, the client device has already gained access to the WLAN, and to a WLAN service enabling access authentication, the AP device will initiate access authentication for the client. 
     4. Access Authentication 
     Access authentication implements identity authentication on a client device access, to provide security protection for a network service. During the link negotiation, an access authentication algorithm used by the client device can be determined. After the link negotiation succeeds, access authentication on the client device is triggered, then a key needs to be negotiated for the client device access, and then the client device can access the WLAN. 
     5. Key Negotiation 
     Key negotiation provides powerful guarantee for data security, and a negotiated key is used as an encryption/decryption key in a data transmission process. 
     6. Data Encryption 
     After the identity of the client device is determined correctly and an access right is granted, a network must prevent data transmitted by the client device from being intercepted. Protection of the privacy of wireless link data is a challenge that all wireless networks need to address. Data privacy is generally achieved by using an encrypted protocol, and only an authorized user with a key is allowed to access data to ensure that data is not tampered during transmission. 
     Authentication involved in the embodiments of the present application includes the foregoing processes after the link authentication, and the mentioned password is an access password of a wireless network service corresponding to an AP. 
     As shown in  FIG. 1 , an embodiment of the present application provides a wireless network authentication method implemented at a client. The method comprises: 
     S 110 : Generate a to-be-verified address according to history access information related to a target AP, wherein the to-be-verified address is used to identify an identity of a client device. 
     After starting a network access process, the client device scans AP information nearby (for example, SSID information), determines whether a history access record related to an AP corresponding to the AP information exists, and obtains the related history access information according to the AP information; if the related history access information does not exist, a standard access negotiation process mentioned above is entered, and a wireless network corresponding to the target AP is accessed by using an access password; and if the related history access information exists, the to-be-verified address may be generated according to the history access information, and fast network access may be sought by using the to-be-verified address. 
     In the embodiments of the present application, for the client device, the history access information may comprise one or more of a formerly used password of the target AP, the number of times that the wireless network corresponding to the target AP is accessed, and a time stamp (for example, a time when authentication by the target AP once succeeded). To query an access record, history information of each time of access should be saved, and a specific saving manner may be in the form of configuration file, a database, or the like. 
     S 120 : Send an authentication request comprising the to-be-verified address generated in Step S 110  to the target AP. 
     As shown in  FIG. 2 , an embodiment of the present application further provides a wireless network authentication method implemented at a server. Corresponding to the method implemented at a client shown in  FIG. 1 , the method in the embodiment shown in  FIG. 2  comprises: 
     S 210 : Receive authentication request sent by at least one client device. 
     After starting an access process, an AP scans and receives an authentication request sent by a client device. If the authentication request does not comprise a to-be-verified address, a standard network service access process mentioned above is entered; otherwise, Step S 220  is performed. 
     S 220 : Authenticate, according to history access information, a client device corresponding to the authentication request comprising the to-be-verified address. 
     The to-be-verified address is generated by the at least one client device according to history access information related to the AP, and the to-be-verified address is used to identify an identity of the client device. 
     For the server, the history access information may comprise one or more of a formerly used password of the AP, the number of times that the client device accesses a wireless network corresponding to the AP, a time stamp (for example, a time when the client device once succeeded in authentication of the AP), and a history network service policy for the client device. To query the history access information, the AP saves an access history of each client device. Specifically, the access history may be saved in a log file, a database, or in another form. 
     In the method in the embodiment of the present application, a client device generates a to-be-verified address by using history access information, and an AP identifies and verifies a real identity of a corresponding client device according to the history access information, so as to provide a network service for a history access device, such that a history access client device can also obtain fast network access in the case of not knowing an access password. 
     In the embodiments of the present application, the client device may save the history access information locally or in an external device, and can obtain history access information of the client device for each AP locally or from the external. Correspondingly, in the method in the embodiment shown in  FIG. 1 , a step of obtaining the history access information related to the target AP may be further included. The AP may also save history access information of each history access device locally or in an external device. When a data amount is large, the external device may be a cloud server. 
     In addition, in the method in the embodiment shown in  FIG. 1 , Step S 110  may further comprise: 
     S 111 : Create an encryption key according to the history access information. 
     The encryption key may be obtained by performing an operation on all or a part of the history access information, for example, performing a simple addition operation on the formerly used password of the target AP and the time when the authentication by the target AP once succeeded. 
     S 112 : Generate the to-be-verified address according to the encryption key and a preset encryption algorithm. 
     In the method in the embodiment shown in  FIG. 1 , the preset encryption algorithm may be any encryption algorithm; however, to improve the security, a message digest algorithm (for example, MD5) is preferably selected. After the encryption key is generated, all or a part of the history access information and objects such as a random number may be encrypted by using the encryption key, so as to generate the to-be-verified address. In one implementation embodiment, Step S 110  may further comprise: 
     S 111 ′: Create an encryption key according to the history access information: perform an addition operation according to the formerly used password of the target AP and the time when the authentication by the target AP once succeeded in the history access information, to obtain the encryption key. 
     S 112 ′: Generate, according to a preset encryption algorithm, the to-be-verified address by encrypting a random number by using the encryption key: encrypt, according to an MD5 algorithm, a group of random numbers (may be generated locally or in an external device) by using the encryption key created in Step S 111 ′, to generate the to-be-verified address comprising a random number and a verification part, wherein the verification part is obtained by encrypting the random number by using the encryption key. 
     In Step S 120 , the sent authentication request comprises a field of the to-be-verified address, and any length of the field of the to-be-verified address may be cut off according to a length requirement of the field to constitute the authentication request. It should be noted that, to ensure that the AP can match the history access information with the to-be-verified address with higher match efficiency, the time when the client device once succeeded in the authentication by the target AP may be further incorporated into the to-be-verified address. 
     In the methods in the embodiments of the present application, a time stamp may be used in a process of creating the to-be-verified address. The time stamp is a type of confidential information between the client device and the AP and must be updated when access is performed each time, so as to avoid a replay attack. By using the to-be-verified address, the client device uses different address when accessing a network each time, thereby hiding the identity of the client device and avoiding disguise. 
     Corresponding to the foregoing process implemented by the client device, in a possible implementation manner, Step S 220  in the method implemented at the server shown in  FIG. 2  may further comprise: 
     S 221 : Decrypt the to-be-verified address according to a preset decryption algorithm. 
     The preset decryption algorithm may be set according to negotiation between the client device and the AP, or for a same AP, the preset decryption algorithm does not need to be negotiated with any client device, and each client device already knows an encryption policy of an AP. 
     S 222 : Match the history access information with a decryption result. 
     In other words, the history access information is matched with history access information obtained through the decryption. In the method in the embodiment shown in  FIG. 2 , to improve the matching efficiency, the history access information and the decryption result may be first preprocessed, and then results of the preprocessing are matched. 
     S 223 : Determine that a client device corresponding to a decryption result having matched history information succeeds in the authentication. 
     In another possible implementation manner, Step S 220  in the method implemented at the server shown in  FIG. 2  may further comprise: 
     matching the history access information with the to-be-verified address, and when history access information matching the to-be-verified address exists, determining that a client device corresponding to the to-be-verified address succeeds in the authentication. 
     Corresponding to Step S 111 ′ to Step S 113 ′, the matching the history access information with the to-be-verified address comprises: 
     S 221 ′: Parse the authentication request comprising the to-be-verified address to obtain a random number and a verification address. When the to-be-verified address comprises the time when the client device once succeeded in the authentication by the AP, a parsing result further comprises the time. 
     S 222 ′: Encrypt, according to a preset encryption algorithm, the random number by using the history access information, to obtain a random address. The preset encryption algorithm is the same as an algorithm used by the client device to encrypt the random number, and for example, is also the MD5. 
     S 223 ′: Match the random address with the verification address. 
     In the method in the embodiment shown in  FIG. 2 , the history access information obtained by the AP may record a time period corresponding to a password formerly used by the AP. If the parsing result in Step S 221 ′ comprises the time when the client device once succeeded in the authentication of the AP, some pieces of the history access information may be first filtered out according to the time, and a random address corresponding to a time period into which the time falls is matched, so as to improve the matching efficiency. 
     S 224 ′: When a random address matching the verification address exists, determine that a client device corresponding to the verification address succeeds in the authentication. 
     In the method in the embodiment shown in  FIG. 3 , after it is determined that the client device succeeds in the authentication, the method further comprises: 
     S 230 : Send a response indicating that the authentication succeeds to a client device that succeeds in the authentication, so as to notify the client device that the client device has already succeeded in the authentication and can enjoy a higher level network service or all network services provided by a corresponding wireless network. 
     Because different network services can be provided for different client devices, for example, for a public place such as a coffee shop, the coffee shop may provide a network service, for example, provide a larger bandwidth and a higher priority, which is different from that of a customer that seldom visits the place, for a customer that visits the place frequently. Therefore, as shown in  FIG. 3 , the method in the embodiment shown in  FIG. 2  further comprises: 
     S 240 : Formulate a network service policy according to history access information of the client device that succeeds in the authentication, wherein the history access information may comprise information such as the number of times that the client device accesses a corresponding wireless network and a history network service policy. 
     After the real identity of the client device is identified and verified, the method in the embodiment shown in  FIG. 2  further comprises: 
     S 250 : Negotiate a link key with the client device that succeeds in the authentication. 
     Correspondingly, as shown in  FIG. 4 , the method in the embodiment shown in  FIG. 1  further comprises: 
     S 130 : Receive a response indicating that authentication succeeds and sent by the target AP. 
     S 140 : Negotiate a link key with the target AP after the response indicating that the authentication succeeds and sent by the target AP is received. 
     After the client device and the AP negotiate the link key to ensure the security of a communications link between the client device and the AP, the method in the embodiment shown in  FIG. 2  further comprises: 
     S 260 : Update and save the history access information of the client device that succeeds in the authentication. 
     S 270 : Send, by using a negotiated encryption policy, the updated history access information to the client device that succeeds in the authentication. 
     Correspondingly, the method in the embodiment shown in  FIG. 1  further comprises: 
     S 150 : Receive updated history access information related to the target AP and sent by the target AP. 
     S 160 : Save the updated history access information related to the target AP. 
     In conclusion, in the method in the embodiment of the present application, a client device generates a to-be-verified address by using history access information, and an AP identifies and verifies a real identity of a corresponding client device according to the history access information, so as to provide a network service for a history access device, such that a history access client device can also obtain fast network access in the case of not knowing an access password. In addition, a time stamp is used in a process of creating the to-be-verified address, and the time stamp is updated when access is performed each time, so as to avoid a replay attack. Moreover, by using the to-be-verified address, the client device uses different addresses when accessing a network each time, thereby hiding the identity of the client device and avoiding disguise. 
     It should be understood that in the embodiments of the present application, the sequence numbers of all the foregoing processes do not indicate an execution sequence, and the execution sequence of all processes should be determined by functions and internal logic of the processes, and shall not constitute any limitation to the implementation process of the embodiment of the present application. 
     As shown in  FIG. 5 , an embodiment of the present application provides a client wireless network authentication apparatus  500 . The apparatus  500  is located at a client, and may be any device (for example, a mobile phone, a tablet computer, a vehicle-mounted device, or a wearable device) with a wireless network interface card or a part of the device. The apparatus  500  comprises: 
     The address generating module  510  is configured to generate a to-be-verified address according to history access information related to a target AP, wherein the to-be-verified address is used to identify an identity of a client device, wherein 
     after starting a network access process, the client device scans AP information nearby (for example, SSID information), determines whether a history access record related to an AP corresponding to the AP information nearby exists, and obtains the related history access information according to the AP information; if the related history access information does not exist, a standard access negotiation process mentioned above is entered, and a wireless network corresponding to the target AP is accessed by using an access password; and if the related history access information exists, the address generating module  510  may generate the to-be-verified address according to the history access information, and fast network access is sought by using the to-be-verified address; and 
     the sending module  520  is configured to send an authentication request comprising the to-be-verified address to the target AP. 
     As shown in  FIG. 6 , an embodiment of the present application further provides a server wireless network authentication apparatus  600 . The apparatus  600  is located at a server, and may be an AP device (for example, a wireless router, a gateway, or a network bridge) or belong to the AP device. As shown in  FIG. 6 , the apparatus  600  comprises: 
     a receiving module  610 , configured to receive at least one authentication request sent by a client; and 
     an authenticating module  620 , configured to authenticate, according to history access information, a client device corresponding to an authentication request comprising a to-be-verified address. 
     The to-be-verified address is generated by the at least one client device according to history access information related to an AP, and the to-be-verified address is used to identify an identity of the client device. 
     After starting an access process, an AP scans and receives an authentication request sent by a client. If the authentication request does not comprise a to-be-verified address, a standard network service access process mentioned above is entered; otherwise, the authenticating module  620  identifies and verifies an identity of the client device according to the history access information. 
     By using the apparatus in the embodiment of the present application, a client device may generate a to-be-verified address according to history access information, and an AP may identify and verify a real identity of a corresponding client device according to the history access information, so as to provide a network service for a history access device, such that a history access client device can also obtain fast network access in the case of not knowing an access password. 
     In the embodiments of the present application, the client device may save the history access information locally or in an external device, and can obtain history access information of the client device for each AP locally or from the exterior. Correspondingly, the apparatus  500  in the embodiment shown in  FIG. 5  further comprises an obtaining module  530 , configured to obtain the history access information related to the target AP. The obtaining module  530  may obtain corresponding history access information according to an SSID of the AP. The AP may also save history access information of each history access device locally or in an external device. When a data amount is large, the external device may be a cloud server. 
     In addition, in the apparatus  500  in the embodiment shown in  FIG. 5 , the address generating module  510  may further comprise: 
     a key creating unit  511 , configured to create an encryption key according to the history access information, wherein 
     the encryption key may be obtained by performing an operation on all or a part of the history access information, for example, performing a simple addition operation on the formerly used password of the target AP and the time when the authentication by the target AP once succeeded; and 
     an encrypting unit  512 , configured to generate the to-be-verified address according to the encryption key and a preset encryption algorithm. 
     In the apparatus in the embodiment shown in  FIG. 5 , the preset encryption algorithm may be any encryption algorithm; however, to improve the security, a message digest algorithm (for example, MD5) is preferably selected. After the encryption key is generated, all or a part of the history access information and objects such as a random number may be encrypted by using the encryption key, so as to generate the to-be-verified address. In an implementation, the address generating module  510  may further comprise: 
     a key creating unit  511 ′, configured to create an encryption key according to the history access information: perform an addition operation according to the formerly used password of the target AP and the time when the authentication by the target AP once succeeded in the history access information, to obtain the encryption key; and 
     an encrypting unit  512 ′, configured to generate, according to a preset encryption algorithm, the to-be-verified address by encrypting a random number by using the encryption key: encrypt, according to an MD5 algorithm, a group of random numbers (may be generated locally or in an external device) by using the encryption key created by the key creating unit  511 ′, to generate the to-be-verified address comprising a random number and a verification part, wherein the verification part is obtained by encrypting the random number by using the encryption key. 
     The authentication request sent by the sending module  520  comprises a field of the to-be-verified address, and any length of the field of the to-be-verified address may be cut off according to a length requirement of the field to constitute the authentication request. It should be noted that, to ensure that the AP can match the history access information with the to-be-verified address with higher match efficiency, the time when the client device once succeeded in the authentication by the target AP may be further incorporated into the to-be-verified address. 
     In the apparatuses in the embodiments of the present application, a time stamp may be used in a process of creating the to-be-verified address. The time stamp is a type of confidential information between the client device and the AP and must be updated when access is performed each time, so as to avoid a replay attack. By using the to-be-verified address, the client device uses different address when accessing a network each time, thereby hiding the identity of the client device and avoiding disguise. 
     Corresponding to the configuration of the client wireless network authentication apparatus, in a possible implementation manner, the authenticating module  620  of the apparatus  600  shown in  FIG. 6  may further comprise: 
     a decrypting unit  621 , configured to decrypt the to-be-verified address according to a preset decryption algorithm, wherein the preset decryption algorithm may be set according to negotiation between the client device and the AP, or for a same AP, the preset decryption algorithm does not need to be negotiated with any client device and each client device already knows an encryption policy of an AP; 
     a matching unit  622 , configured to match the history access information with a decryption result, in other words, match the history access information with history access information obtained through the decryption, wherein, in the apparatus  600  in the embodiment shown in  FIG. 6 , to improve the matching efficiency, the matching unit  622  may further comprise: a preprocessing subunit  6221 , configured to preprocess the history access information and the decryption result, and a matching subunit  6222 , configured to match results of the preprocessing by the preprocessing subunit; and 
     an authenticating unit  623 , configured to determine that a client device corresponding to a decryption result having matched history information succeeds in the authentication. 
     In another possible implementation manner, the authenticating module  620  of the apparatus  600  in the embodiment shown in  FIG. 6  may further match the history access information with the to-be-verified address, and when a random address matching the verification address exists, determine that a client device corresponding to the to-be-verified address succeeds in the authentication. Specifically, the authenticating module  620  may further comprise: 
     a parsing unit  621 ′, configured to parse the authentication request comprising the to-be-verified address to obtain a random number and a verification address, wherein when the to-be-verified address comprises the time when the client device once succeeded in the authentication by the AP, a parsing result further comprises the time; 
     an encrypting unit  622 ′, configured to encrypt, according to a preset encryption algorithm, the random number by using the history access information, to obtain a random address, wherein the preset encryption algorithm is the same as an algorithm used by the client device to encrypt the random number, and for example, is also the MD5; 
     a matching unit  623 ′, configured to match the random address with the verification address, wherein in the apparatus  600  in the embodiment shown in  FIG. 6 , the obtained history access information may record a time period corresponding to a password formerly used by the AP, if the parsing result of the parsing unit  621 ′ comprises the time when the client device once succeeded in the authentication by the AP, some pieces of the history access information may be first filtered out according to the time, and a random address corresponding to a time period into which the time falls is matched, so as to improve the matching efficiency; and 
     an authenticating unit  624 ′, configured to: when a random address matching the verification address exists, determine that a client device corresponding to the verification address succeeds in the authentication. 
     As shown in  FIG. 7 , the apparatus  600  in the embodiment shown in  FIG. 6  further comprises: 
     a sending module  630 , configured to send a response indicating that the authentication succeeds to a client device that succeeds in the authentication, so as to notify the corresponding client device that the client device has already succeeded in the authentication and can enjoy a higher level network service or all network services provided by a corresponding wireless network. 
     Because different network services can be provided for different client devices, for example, for a public place such as a coffee shop, the coffee shop may provide a network service, for example, provide a larger bandwidth and a higher priority, which is different from that of a customer that seldom visits the place, for a customer that visits the place frequently. Therefore, as shown in  FIG. 7 , the apparatus  600  in the embodiment shown in  FIG. 6  further comprises: 
     a service policy formulating module  640 , configured to formulate a network service policy according to history access information of the client device that succeeds in the authentication, wherein the history access information may comprise information such as the number of times that the client device accesses a corresponding wireless network and a history network service policy; 
     a negotiating module  650 , configured to negotiate a link key with the client device that succeeds in the authentication; and 
     a storing module  660 , configured to update and save the history access information of the client device that succeeds in the authentication, wherein a specific saving manner may be configuring a file, a database, or the like. 
     The sending module  630  is further configured to: after the client device and the AP negotiate the link key to ensure the security of a communications link between the client device and the AP, send, by using a negotiated encryption policy, the corresponding updated history access information to the client device that succeeds in the authentication. 
     Correspondingly, as shown in  FIG. 8 , the apparatus  500  in the embodiment shown in  FIG. 5  further comprises: 
     a receiving module  530 , configured to receive a response indicating that authentication succeeds and sent by the target AP, and receive updated history access information related to the target AP and sent by the target AP; 
     a negotiating module  540 , configured to negotiate a link key with the target AP after the receiving module  530  receives the response indicating that the authentication succeeds and sent by the target AP; and 
     a storing module  550 , configured to save the updated history access information related to the target AP, wherein a specific saving manner may be configuring a file, a database, or the like. 
     In conclusion, by using the apparatuses in the embodiments of the present application, a client device generates a to-be-verified address by using history access information, and an AP identifies and verifies a real identity of a corresponding client device according to the history access information, so as to provide a network service for a history access device, to cause that a history access client device can also obtain fast network access in the case of not knowing an access password. In addition, a time stamp is used in a process of creating the to-be-verified address, and the time stamp is updated when access is performed each time, so as to avoid a replay attack. Moreover, by using the to-be-verified address, the client device uses different addresses when accessing a network each time, thereby hiding the identity of the client device and avoiding disguise. 
     In addition, an embodiment of the present application further provides a computer readable medium (or medium), which comprises computer readable instructions that perform the following operations when being executed: executing operations from Step S 110  to Step S 160  in the methods in the embodiments shown in  FIG. 1  and  FIG. 4 . 
     An embodiment of the present application further provides a computer readable medium (or medium), which comprises computer readable instructions that perform the following operations when being executed: executing operations from Step S 210  to Step S 270  in the methods in the embodiments shown in  FIG. 2  and  FIG. 3 . 
       FIG. 9  shows still another client wireless network authentication apparatus  900  according to an embodiment of the present application. Specific implementation of the wireless network authentication apparatus  900  is not limited by specific embodiments of the present application. As shown in  FIG. 9 , the apparatus may comprise: 
     a processor  910 , a communications interface  920 , a memory  930 , and a communications bus  940 , wherein: 
     the processor  910 , the communications interface  920 , and the memory  930  complete mutual communication by using the communications bus  940 . 
     The communications interface  920  is configured to communicate with a network element, for example, a client. 
     The processor  910  is configured to execute a program  932 , and may specifically execute related steps in the method embodiments shown in  FIG. 1  and  FIG. 4 . 
     Specifically, the program  932  may comprise program code, wherein the program code comprises computer operation instructions. 
     The processor  910  may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or is configured to one or more integrated circuits for implementing the embodiment of the present application. 
     The memory  930  is configured to store the program  932 . The memory  930  may comprise a high-speed random access memory (RAM), and may also comprise a non-volatile memory, for example, at least one disk memory. The program  932  may specifically enable the apparatus  900  to execute the following steps: 
     generating a to-be-verified address according to history access information related to a target AP, wherein the to-be-verified address is used to identify an identity of a client device; and 
     sending an authentication request comprising the to-be-verified address to the target AP. 
     For specific implementation of units in the program  932 , reference may be made to corresponding steps or units in the embodiments of the present application, which is not described in detail herein again. 
       FIG. 10  shows still another server wireless network authentication apparatus  1000  according to an embodiment of the present application. Specific implementation of the wireless network authentication apparatus  1000  is not limited by specific embodiments in the present application. As shown in  FIG. 10 , the apparatus  1000  may comprise: 
     a processor  1100 , a communications interface  1200 , a memory  1300 , and a communications bus  1400 , wherein: 
     the processor  1100 , the communications interface  1200 , and the memory  1300  complete mutual communication by using the communications bus  1400 . 
     The communications interface  1200  is configured to communicate with a network element, for example, a client. 
     The processor  1100  is configured to execute a program  1320 , and may specifically execute related steps in the method embodiment shown in  FIG. 2  or  FIG. 3 . 
     Specifically, the program  1320  may comprise program code, wherein the program code comprises computer operation instructions. 
     The processor  1100  may be a CPU, an ASIC, or one or more integrated circuits configured to implement embodiments of the present application. 
     The memory  1300  is configured to store the program  1320 . The memory  1300  may comprise a high-speed RAM, and may also comprise a non-volatile memory, for example, at least one disk memory. The program  1320  may specifically enable the apparatus  1000  to execute the following steps: 
     receiving an authentication request sent by at least one client device; and 
     authenticating, according to history access information, a client device corresponding to an authentication request comprising a to-be-verified address; 
     wherein the to-be-verified address is generated by the at least one client device according to history access information related to an AP, and the to-be-verified address is used to identify an identity of the client device. 
     For specific implementation of units in the program  1320 , reference may be made to corresponding steps or units in embodiments of the present application, which is not described in detail herein again. 
     A person of ordinary skill in the art may be aware that, the exemplary units and method steps described in the embodiments disclosed in this specification can be implemented by electronic hardware, or a combination of computer software and the electronic hardware. Whether the functions are performed in a hardware manner or a software manner depends on a particular application and a design constraining condition of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the present application. 
     When the functions are implemented in a form of a software functional unit, and are sold or used as an independent product, the functions may be stored in a computer readable storage medium. Based on such an understanding, the technical solutions of the present application essentially, or the part contributing to the prior art, or a part of the technical solutions may be represented in a form of a software product. The computer software product is stored in a storage medium and comprises multiple instructions for instructing a computer module (which may be a personal computer, a server, a network module, or the like) to perform all or a part of the steps of the methods described in the embodiments of the present application. The foregoing storage medium comprises any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a RAM, a magnetic disk, or an optical disc. 
     The foregoing implementation manners are only used for describing the present application rather than limiting the present application. A person of ordinary skill in the art may make various changes and variations without departing from the spirit and scope of the present application; therefore, all equivalent technical solutions shall fall within the scope of the present application, and the patent protection scope of the present application shall be defined by the claims.