Systems and methods for pre-authentication encryption

By using temporary key encryption technology in Wi-Fi connections, the vulnerability of client devices to DoS attacks before authentication is solved, enabling secure communication during the authentication process and preventing unauthorized disconnections.

CN122093799APending Publication Date: 2026-05-26ZEBRA TECHNOLOGIES CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZEBRA TECHNOLOGIES CORP
Filing Date
2025-11-25
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

During Wi-Fi connection, client devices are vulnerable to denial-of-service (DoS) attacks before the authentication process, especially through disconnection notification message attacks, which cause the device to disconnect from the network.

Method used

By generating a temporary key and encrypting it with the access point's public key, the client device sends the encrypted temporary key to the access point in the authentication request. The access point decrypts and stores the key using the corresponding private key, ensuring that the source of the disconnection notification during the authentication process is verifiable and preventing DoS attacks.

Benefits of technology

Effectively protects devices from DOS attacks before authentication, ensures secure communication, and prevents the impact of unauthorized disconnection notifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122093799A_ABST
    Figure CN122093799A_ABST
Patent Text Reader

Abstract

Example methods include: selecting an access point to connect to; obtaining the access point's public key; generating a temporary key for pre-authentication encryption; encrypting the temporary key using the access point's public key; sending an authentication request to the access point to initiate the authentication process with the access point, the authentication request including the encrypted temporary key; completing the authentication process to begin authenticated communication with the access point; and discarding the temporary key.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] In Wi-Fi, Denial-of-Service (DoS) attacks are initiated by malicious devices impersonating the access point and sending disconnect notifications (such as deauthentication or disassociation messages), causing client or terminal devices to disconnect from the network. DoS attacks can be mitigated after authentication between the client device and the access point, at which point the client can verify the access point as the source of the disconnect notification. However, between the initiation of a new connection and the completion of the authentication process, client devices remain vulnerable to DoS attacks. Attached Figure Description

[0002] The accompanying drawings (in which the same reference numerals denote the same or functionally similar elements throughout the different views) together with the following detailed implementations are incorporated into and form part of the specification, and serve to further illustrate embodiments including the concepts of the claimed invention and to explain the various principles and advantages of those embodiments.

[0003] Figure 1 This is a schematic diagram of a system used for pre-authentication encryption.

[0004] Figure 2 yes Figure 1 A block diagram of some internal hardware components of the device and access point.

[0005] Figure 3 This is a flowchart of an example method for pre-authentication encryption.

[0006] Figure 4 This is a schematic diagram illustrating an example of pre-authenticated encryption.

[0007] Figure 5 This is a flowchart of an example method for sending a disconnection notification at the access point.

[0008] Figure 6 This is a flowchart of an example method for handling disconnection notifications at the computing device.

[0009] Those skilled in the art will understand that the elements in the accompanying drawings are shown for simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some elements in the drawings may be exaggerated relative to other elements to aid in understanding embodiments of the invention.

[0010] The apparatus and method configurations have been indicated in appropriate places in the accompanying drawings by conventional symbols, which show only those specific details relevant to understanding embodiments of the invention, so as not to obscure this disclosure with details that would be obvious to those skilled in the art who benefit from the description herein. Detailed Implementation

[0011] The examples disclosed herein relate to a method comprising: selecting an access point to connect to and obtaining the public key of the access point; generating a temporary key for pre-authentication encryption; encrypting the temporary key using the public key of the access point; sending an authentication request to the access point to initiate an authentication process with the access point, the authentication request including the encrypted temporary key; completing the authentication process to begin authenticated communication with the access point; and discarding the temporary key.

[0012] The additional examples disclosed herein relate to another method at an access point, the method comprising: obtaining a public key for the access point and a private key corresponding to the public key; receiving an authentication request from a computing device to initiate an authentication process, the authentication request including an encrypted temporary key for pre-authentication encryption; decrypting the temporary key using the private key and storing the temporary key; completing the authentication process to initiate authenticated communication with the computing device; and discarding the temporary key.

[0013] Further examples disclosed herein relate to a device including: a communication interface; and a controller interconnected with the communication interface, the controller being configured to: select an access point to connect to; obtain the public key of the access point; generate a temporary key for pre-authentication encryption; encrypt the temporary key using the public key of the access point; send an authentication request to the access point to initiate an authentication process with the access point, the authentication request including the encrypted temporary key; complete the authentication process to begin authenticated communication with the access point; and discard the temporary key.

[0014] Further examples disclosed herein relate to an access point, including: a communication interface; and a processor interconnected with the communication interface, the processor being configured to: acquire a public key for the access point and a private key corresponding to the public key; receive an authentication request from a computing device to initiate an authentication process, the authentication request including an encrypted temporary key for pre-authentication encryption; decrypt the temporary key using the private key and store the temporary key; complete the authentication process to initiate authenticated communication with the computing device; and discard the temporary key.

[0015] Figure 1 A system 100 for pre-authentication encryption is depicted in accordance with the teachings of this disclosure. System 100 includes a computing device 104 (also referred to herein as terminal device 104 or simply device 104) configured for wireless communication. Device 104 may be a mobile computing device (such as a handheld computer, mobile phone, tablet computer, barcode scanner, etc.) or a fixed computing device (e.g., desktop computer, kiosk, server, etc.).

[0016] Specifically, computing device 104 can be configured to connect to network 108, which can be a wireless local area network (WLAN), such as a network implemented according to the IEEE (Institute of Electrical and Electronics Engineers) 802.11 standard. In this example, network 108 is deployed with a set of access points, of which one access point 112 is shown. Specifically, device 104 can select the access point 112 to connect to in order to access network 108, for example, based on proximity to access point 112, signal strength relative to access point 112, etc.

[0017] To connect to access point 112, computing device 104 can initiate an authentication process to establish an authenticated link 116 between access point 112 and computing device 104. Specifically, the authenticated link 116 can allow secure communication between access point 112 and computing device 104, for example, using one or more encryption methods (such as pre-shared key (PSK) encryption) or according to industry standards (such as the IEEE 802.11w standard).

[0018] To establish an authenticated link 116, computing device 104 initiates the authentication process by sending an authentication request to access point 112. Access point 112 may additionally send an authentication response to computing device 104. Computing device 104 and access point 112 can then follow a standard authentication process to install a key according to the PSK encryption standard or other suitable encryption protocols. After the authentication process, computing device 104 and access point 112 can securely exchange messages by allowing verification of the source of received messages.

[0019] Specifically, after authentication, computing device 104 is protected against denial-of-service (DoS) attacks. In a DoS attack, malicious entity 120 could send disconnect notifications 124 (such as deauthentication or deassociation messages) while impersonating access point 112 as the source of such notifications. Without authentication to verify the source of the message (e.g., according to encryption procedures specified in standards such as 802.11w), computing device 104 might assume the disconnect notification is valid and potentially disconnect from access point 112. Malicious entity 120 might continue sending disconnect notifications 124, thereby refusing to provide services to computing device 104. With authentication, malicious entity 120 will be unable to generate appropriate disconnect notifications that computing device 104 would recognize as being sent by access point 112, thus preventing this type of attack.

[0020] However, messages exchanged during the authentication phase (such as initial authentication request and authentication response messages) remain vulnerable to DoS attacks. According to this disclosure, access point 112 can generate a public and private key pair and publish the public key. For example, access point 112 can provide its public key to computing device 104 in response to a probe request from computing device 104. Computing device 104 can then generate a temporary key for pre-authentication encryption and encrypt the temporary key using access point 112's public key. Computing device 104 can then send the encrypted temporary key to access point 112 in an authentication request.

[0021] Access point 112 can use a temporary key to encrypt disconnection notifications before completing the authentication process. Specifically, since the temporary key is encrypted using access point 112's public key, it can be decrypted using access point 112's private key, but cannot be decrypted by malicious device 120. Therefore, when computing device 104 subsequently receives a disconnection notification before completing the authentication process with access point 112, device 104 can use the temporary key to verify the source of the disconnection notification, as will be further described herein. Thus, by employing the pre-authentication encryption described herein, device 104 can be protected from DoS attacks before authentication.

[0022] Now go to Figure 2 The diagram illustrates some internal components of computing device 104 and access point 112. Device 104 includes a processor 200 (such as a central processing unit (CPU), graphics processing unit (GPU), microcontroller, a series of coprocessors, application-specific integrated circuits (ASICs), etc.) interconnected with a non-transient computer-readable storage medium (such as memory 204). Memory 204 includes a combination of volatile memory (e.g., random access memory or RAM) and non-volatile memory (e.g., read-only memory or ROM, electrically erasable programmable read-only memory or EEPROM, flash memory). Processor 200 and memory 204 may each include one or more integrated circuits. Memory 204 stores computer-readable instructions for execution by processor 200, including one or more application programs that, when executed, configure processor 200 to perform various functions of device 104.

[0023] Device 104 further includes a communication interface 208 that enables device 104 to exchange data with other computing devices, such as access point 112. Communication interface 208 is interconnected with processor 200. Communication interface 208 may further include a controller and one or more antennas, transmitters, receivers, etc. (not shown) to allow device 104 to communicate with other computing devices. In some examples, communication interface 208 may be equipped with components supporting multiple communication protocols, such as Bluetooth Low Energy or other wireless transmission protocols.

[0024] The controller may be a microcontroller, microprocessor, or other suitable device capable of executing computer-readable instructions to control the communication interface 208 to perform the functions described herein. The controller 212 may include one or more integrated circuits and may include and / or be interconnected with a non-transitory computer-readable storage medium storing computer-readable instructions that, when executed, configure the controller 212 and / or the communication interface 208 to perform the functions described herein. Specifically, the controller 212 may control the pre-authentication encryption operation of the device 104.

[0025] Device 104 may further include one or more input and / or output devices (not shown) adapted to allow an operator to interact with device 104, such as a keypad, a touch-sensitive display, a speaker, etc.

[0026] Access point 112 includes processor 220 (such as a CPU, GPU, microcontroller, a series of coprocessors, ASIC, etc.) interconnected with a non-transient computer-readable storage medium (such as memory 224). Memory 224 includes a combination of volatile memory (e.g., RAM) and non-volatile memory (e.g., ROM, EEPROM, flash memory). Processor 220 and memory 224 may each include one or more integrated circuits.

[0027] Memory 224 stores computer-readable instructions for execution by processor 220. Specifically, memory 224 stores application program 228, which, when executed by the processor, configures processor 220 to perform various functions related to the pre-authentication encryption operations of access point 112, as discussed in more detail below. Application program 228 can also be implemented as a suite of different applications.

[0028] Those skilled in the art will understand that, in other embodiments, the functionality implemented by processor 220 may also be implemented by one or more specially designed hardware and firmware components (such as FPGAs, ASICs, etc.). In embodiments, processor 220 may be a processor that can be implemented via a dedicated logic circuit system such as an ASIC or FPGA to improve the processing speed of the operations discussed herein.

[0029] Access point 112 also includes a communication interface 232 that enables access point 112 to exchange data with other computing devices, such as device 104. Communication interface 232 is interconnected with processor 220 and includes suitable hardware (e.g., transmitter, receiver, network interface controller, etc.) to allow access point 112 to communicate with other computing devices. The specific components of communication interface 232 are selected based on the type of network or other links through which access point 112 will communicate.

[0030] Now go to Figure 3 The functions implemented by device 104 will be discussed in more detail. Figure 3 A method 300 for pre-authentication encryption is shown. (Refer to...) Figure 1 and Figure 2 Method 300 is discussed in terms of the execution of the component combination method 300 within system 100 (and particularly between device 104 and access point 112). In other examples, method 300 may be executed by other suitable devices or systems.

[0031] At box 305, computing device 104 is configured to select a target base station or access point to connect to access network 108. That is, computing device 104 can select an access point to initiate a communication session (such as a communication session compliant with the IEEE 802.11 standard). Specifically, computing device 104 can select access point 112.

[0032] At block 310, device 104 may optionally send a probe request to target access point 112. Specifically, the probe request may include a request for the public key of access point 112. In other examples, such as if access point 112 is configured to send periodic beacon signals including the public key, computing device 104 may proceed directly to block 325, as described below.

[0033] At box 315, access point 112 is configured to obtain a public and private key pair. In some examples, box 315 may be executed in response to a probe request sent by computing device 104 at box 310. In other examples, access point 112 proactively obtains the public and private key pair.

[0034] The public and private key pair obtained by access point 112 at box 315 can be a statically predetermined or pre-generated public and private key pair, for example, stored in and retrieved from memory 224. In other examples, access point 112 may store multiple predetermined or pre-generated public and private key pairs in memory 224, and access point 112 may select (e.g., in turn, by random selection, or similar pseudo-random selection, etc.) one of the public and private key pairs. In a further example, access point 112 may generate (e.g., periodically at predetermined intervals, or in response to a probe request sent by computing device 104) new public and private key pairs. In examples of generating multiple and / or new public and private key pairs, access point 112 may additionally include identifiers (such as an index number or timestamp for each public and private key pair) to track the appropriate key pair to be used.

[0035] At box 320, access point 112 is configured to send a public key to computing device 104. Specifically, when access point 112 receives a probe request including a request for the public key, access point 112 may send a probe response including the public key. In other examples, access point 112 may send a periodic beacon signal including the public key. Access point 112 may additionally send an identifier of the key pair.

[0036] At box 325, access point 104 receives and stores the public key of access point 112.

[0037] At box 330, computing device 104 generates a temporary key for pre-authentication encryption operations. Specifically, a temporary key can be generated for symmetric encryption operations to be used by the selected access point 112 to encrypt disconnection notifications, allowing computing device 104 to verify the source of the disconnection notification and thus its validity. Therefore, the temporary key can be generated to be used with a sufficiently secure encryption scheme to resist attacks from malicious device 120 for the duration of the authentication process. Since the temporary key will be used as a session key during pre-authentication message exchange and subsequently discarded, it can be regenerated in each iteration of method 300 instead of using a pre-generated and stored key. Device 104 can either install the temporary key within the radio hardware within its communication interface 208 to decrypt frames encrypted using the temporary key, or device 104 can store the temporary key in, for example, memory 204 and employ a software application to use the temporary key for decryption.

[0038] At box 335, computing device 104 is configured to encrypt the temporary key using the public key of access point 112 received and stored at box 325. Specifically, this encryption ensures that access point 112 is the only device capable of decrypting the temporary key and obtaining it. Computing device 104 may employ a sufficiently secure encryption scheme, such as AES, ChaCha20, CAST, Twofish, or other suitable encryption schemes. Furthermore, to resist man-in-the-middle attacks and transmit a suitable encryption scheme, computing device 104 may include information elements in a predetermined order, including the encrypted temporary key, a cipher suite (or its indicator), a random number, and a Message Integrity Check (MIC) value calculated from the other information elements. That is, computing device 104 may define a message based on the encrypted temporary key, cipher suite, and random number, generate the MIC value using the public key and the message, and append the MIC value to the message to obtain an encrypted message. The encrypted message can then be included in an authentication request to securely transmit the temporary key. Other suitable message formats are also envisioned for transmitting and protecting the temporary key. For example, a replay counter can be used instead of a random number to reduce the likelihood of a replay attack.

[0039] Then, computing device 104 can send an encrypted temporary key to access point 112 as part of an authentication request to initiate the authentication process between device 104 and access point 112. That is, computing device 104 can send an authentication request to access point 112 (including messages, frames, and information as specified in the 802.11w standard, for example), and can further embed the encrypted temporary key into the authentication request. The authentication request may further include an identifier of the key pair.

[0040] At box 340, access point 112 receives an authentication request from computing device 104, including an encrypted temporary key. Access point 112 is configured to decrypt the temporary key using a private key corresponding to the public key used to encrypt the temporary key and to store the temporary key. Access point 112 may similarly install the temporary key in the radio hardware of its communication interface 232, or store the temporary key in, for example, memory 224 for use in a software-based decryption application.

[0041] At box 345, access point 112 is configured to generate a multicast key. Specifically, the temporary key generated by computing device 104 is sufficient for unicast communication, where messages are delivered directly to computing device 104. Access point 112 can serve multiple computing devices (not shown) connected to network 108 and, in some cases, can identify widespread disconnections where all connected computing devices are affected and their connections to access point 112 are severed. In such cases, sending secure disconnection notifications individually is inefficient, so access point 112 can broadcast disconnection notifications to all connected computing devices. Such disconnection requests can be protected by a multicast key, as will be further described below. Therefore, the multicast key can be similarly generated to be of sufficient length and / or used with a sufficiently secure encryption scheme to resist attacks from malicious device 120 for the duration of the authentication process. Access point 112 can have a multicast key for connected clients and can have or generate separate multicast keys for clients in the process of connecting to access point 112. Specifically, if no client attempts to connect, access point 112 can discard the multicast key used by the client during the connection process, so that a new multicast key can be generated when a new client attempts to connect to access point 112.

[0042] At box 350, access point 112 is configured to encrypt the multicast key using a temporary key received from computing device 104. Access point 112 may employ encryption specified by the temporary key and may similarly include informational elements such as the encrypted multicast key, cipher suites, random numbers, and MIC values ​​to protect the message. Access point 112 can then be configured to send the encrypted multicast key as part of an authentication response to computing device 104. That is, access point 112 may send an authentication response (including, for example, messages, frames, and information specified in the 802.11w standard) and may further embed the encrypted multicast key into the authentication response.

[0043] More generally, access point 112 can send a message encrypted with a temporary key to computing device 104 at any point before the authentication process is completed. For example, the relevant payload portion of the message can be encrypted using the temporary key.

[0044] At box 355, computing device 104 receives an authentication response from access point 112, including an encrypted multicast key. Computing device 104 is configured to decrypt the multicast key using a temporary key used to encrypt the multicast key and to store the multicast key. More generally, before the authentication process is completed, computing device 104 may receive another message encrypted using the temporary key (e.g., an authentication response or authentication message that occurs as part of the authentication process before its completion, or other related messages). Computing device 104 can use the temporary key to decrypt the message to verify that access point 112 is the source of the message.

[0045] For example, Figure 4 This is a schematic diagram illustrating the communication flow during blocks 310 to 350 of method 300. Specifically, in response to selecting access point 112 for connection, computing device 104 may optionally send a probe request 410 to access point 112. Access point 112 may generate or otherwise obtain a public and private key pair 415, for example, in response to probe request 410 or in response to another key generation condition (e.g., after a predetermined time interval). Access point 112 may then send the public key 420 from key pair 415 to computing device 104. For example, public key 420 may be broadcast in a beacon signal that can be received by computing device 104, or optionally may be embedded in a probe response sent in response to probe request 410. After receiving public key 420, computing device 104 may store public key 420 for use.

[0046] The computing device 104 can then generate a temporary key 430 for use in the pre-authentication encryption operation. The computing device 104 can encrypt the temporary key 430 using the public key 420. The computing device 104 can then send an authentication request 435 to the access point 112 to initiate the authentication process between the device 104 and the access point 112. The authentication request 435 may further include (e.g., embedded or appended as an additional message or frame to the request) the temporary key 430 encrypted with the public key 420. Further, the authentication request 435 may include a cipher suite indicating one or more encryption schemes intended to be used with the temporary key 430, a random number (RN), and a MIC value calculated based on the encrypted temporary key 430, the cipher suite, and the random number. Specifically, the MIC value may allow verification of the authenticity and / or originality of the message (i.e., verification that the information elements that generated the MIC have not been tampered with).

[0047] In response to receiving authentication request 435 (including an encrypted temporary key 430), access point 112 may store or install the temporary key 430 for pre-authentication encryption. Specifically, access point 112 may use the private key from key pair 415 to decrypt the encrypted temporary key 430. Access point 112 may additionally generate or retrieve a multicast key 445 for multicast pre-authentication communication. Access point 112 may encrypt the multicast key using the temporary key 430 received from computing device 104 for pre-authentication encryption. Access point 112 may then send an authentication response 450 to computing device 104 to acknowledge authentication request 435 and provide information and / or data to computing device 104 to continue the authentication process. Authentication response 450 further includes the multicast key 445 encrypted by temporary key 430, and may additionally include a cipher suite, a random number, and a MIC value calculated based on the aforementioned elements.

[0048] In response to receiving an authentication response 450 including an encrypted multicast key 445, computing device 104 may use temporary key 430 to decrypt the encrypted multicast key 445 and may store or install the multicast key 445.

[0049] Therefore, after securely exchanging the temporary key 430 and the multicast key 445, both computing device 104 and access point 112 can store these keys, allowing disconnection notifications or messages to be securely sent (e.g., similar to the 802.11w standard) to allow computing device 104 to verify the source of such requests, thus protecting it from DoS attacks. Specifically, access point 112 can use the temporary key 430 to encrypt disconnection notifications sent directly to computing device 104 as unicast messages. Access point 112 can use the multicast key 445 to encrypt disconnection notifications broadcast to all connected (or currently connected) devices, including computing device 104.

[0050] For example, refer to Figure 5 The diagram depicts a flowchart of an example method 500 in which an access point sends a disconnection request via pre-authentication encryption. Method 500 will be described in conjunction with its execution by access point 112 within system 100; in other examples, method 500 may be executed by other suitable devices or systems.

[0051] At box 505, access point 112 detects disconnection conditions (such as connectivity or interference problems between access point 112 and one or more separately connected devices, or between access point 112 and network 108), access point 112's own settings, configuration or device problems, or other conditions.

[0052] At box 510, access point 112 determines whether the disconnection condition affects all devices connected to or being connected to access point 112, or whether the disconnection condition is specific to a single device or a subset of devices (such as computing device 104).

[0053] If the determination at box 510 indicates that the disconnection condition affects multiple devices, access point 112 proceeds to box 515. At box 515, access point 112 retrieves the multicast key that has been transmitted to each of the devices connected to or currently connecting to access point 112, and uses the multicast key to encrypt the disconnection notification. For example, access point 112 can use the disconnection notification and the multicast key to generate a MIC value, and append the MIC value to the disconnection notification to generate an encrypted disconnection notification.

[0054] At box 520, access point 112 (e.g., in a beacon signal, etc.) broadcasts an encrypted disconnection notification. Specifically, the disconnection notification is sent as a single multicast message to each of the devices connected to or currently connected to access point 112, instructing the devices to disconnect from access point 112. Furthermore, since the disconnection notification is encrypted using a multicast key, each of the client or terminal devices can use the multicast key to verify that access point 112 is the source of the disconnection notification.

[0055] If the determination at box 510 indicates that the disconnection condition affects a single device or a subset of connected devices, access point 112 proceeds to box 525. At box 525, access point 112 is configured to generate a disconnection notification configured as a unicast message to be sent directly to each of the affected devices, such as device 104. For devices authenticated with access point 112, access point 112 can encrypt and send the disconnection notification using the same procedure as the 802.11w standard. For devices not yet authenticated with access point 112, access point 112 obtains a temporary key generated by and received from the given device. Access point 112 can then use the temporary key to encrypt the disconnection notification. For example, access point 112 can use the disconnection notification and the temporary key to generate a MIC value and append the MIC value to the disconnection notification to generate an encrypted disconnection notification.

[0056] At box 530, access point 112 sends an encrypted disconnection notification directly to a given device as a unicast message. Because the disconnection notification is encrypted using a temporary key for the device, the device can use the temporary key to verify that access point 112 is the source of the disconnection notification, even if the device has not yet completed authentication with access point 112.

[0057] Specifically, refer to Figure 6 A flowchart of an example method 600 for verifying a disconnection notification is depicted. Method 600 will be discussed in conjunction with its execution in a mobile computing device 104; in other examples, method 600 may be executed by other suitable devices.

[0058] At box 605, device 104 receives a disconnect notification requesting device 104 to disconnect from access point 112 (e.g., to deassociate or deauthenticate).

[0059] At box 610, device 104 determines whether the disconnection notification is a multicast message.

[0060] If device 104 determines at box 610 that the disconnection notification is a multicast message, then device 104 proceeds to box 615. At box 615, device 104 uses the multicast key received from access point 112 to confirm the disconnection notification. For example, device 104 can use the disconnection notification and the multicast key to calculate the MIC value and determine whether the MIC value from the encrypted disconnection notification matches the calculated MIC value.

[0061] Specifically, without a multicast key, a malicious device may be unable to generate a suitable MIC value.

[0062] If device 104 determines at box 610 that the disconnection notification is a unicast message, then device 104 proceeds to box 620. At box 620, device 104 uses a temporary key generated by device 104 and sent to access point 112 to confirm the disconnection notification. For example, device 104 can similarly use the disconnection notification and the temporary key to calculate the MIC value and determine whether the MIC value from the encrypted disconnection notification matches the calculated MIC value. Specifically, without the temporary key, a malicious device may be unable to generate a suitable MIC value.

[0063] At box 625, device 104 determines whether the disconnection notification is valid. For example, device 104 may make this determination based on whether the calculated MIC value matches the MIC value from the encrypted disconnection notification. In other examples, a multicast key or temporary key may be used in other contemplated ways to verify the source of the disconnection notification and thereby confirm the disconnection notification.

[0064] If the determination at box 625 is positive, i.e., the MIC value matches or the disconnect notification is otherwise determined to be valid, then device 104 proceeds to box 630. At box 630, device 104 disconnects from access point 112.

[0065] If the determination at box 625 is negative, i.e., the MIC value does not match, or the disconnection notification is otherwise determined to be invalid, then method 600 ends. Specifically, device 104 may determine that the disconnection notification was not sent by access point 112 and therefore could be an attack, etc., and therefore may take no action.

[0066] Back Figure 3 At boxes 360-1 and 360-2, in response to receiving and sending authentication responses, computing device 104 and access point 112 are respectively configured to complete the authentication process. For example, the authentication process may include installing one or more additional keys for encryption during authenticated communication, and these one or more additional keys may be transmitted according to predetermined sharing and / or standard methods (such as the 802.11w standard). This may include key derivation and key installation, association, 802.1x authentication, LAN-based Extensible Authentication Protocol (EAPOL) exchange, etc.

[0067] At boxes 365-1 and 365-2, in response to the completion of the authentication process, computing device 104 and access point 112 are respectively configured to discard the temporary key. Specifically, the authentication process can define other keys or other methods of secure communication between computing device 104 and access point 112, thus eliminating the need for a temporary key to encrypt messages.

[0068] Specific embodiments have been described in the foregoing specification. However, those skilled in the art will understand that various modifications and changes can be made without departing from the scope of the invention as set forth in the appended claims. Therefore, the specification and drawings are to be considered illustrative rather than restrictive, and all such modifications are intended to be included within the scope of this teaching.

[0069] These benefits, advantages, solutions to problems, and any elements(s) that make any benefit, advantage, or solution occur or become more prominent are not to be construed as key, essential, or necessary features or elements of any or all claims. The invention is defined solely by the appended claims, including any amendments made during the pending period of this application and all equivalents of these claims in the patent announcement.

[0070] Furthermore, in this document, relational terms such as first and second, top and bottom, etc., may be used individually to distinguish one entity or action from another entity or action, without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has,” “having,” “includes,” “including,” “contains,” “containing,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes, has, includes, or contains a list of elements includes not only those elements but may also include other elements not expressly listed or inherent to such process, method, article, or apparatus. Elements beginning with “comprises,” “has,” “includes,” or “contains” do not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes, has, includes, or contains that element, unless further constraints are imposed. The term "a / an" is defined as one or more unless expressly stated otherwise herein. The terms "substantially," "essentially," "approximately," "about," or any other version of these terms are defined as being as close as understood by one of ordinary skill in the art, and in one non-limiting embodiment, these terms are defined as within 10%, in another within 5%, in yet another within 1%, and in yet another within 0.5%. The term "coupled" as used herein is defined as connected, although not necessarily directly connected or mechanically connected. A device or structure "configured" in a certain way is configured at least in that manner, but may also be configured in ways not listed.

[0071] Certain expressions may be used in this document to list combinations of elements. Examples of such expressions include: “at least one of A, B, and C”; “one or more of A, B, and C”; “at least one of A, B, or C”; “one or more of A, B, or C”. Unless otherwise expressly stated, the above expressions cover any combination of A and / or B and / or C.

[0072] It will be understood that some embodiments may include one or more dedicated processors (or processing devices), such as microprocessors, digital signal processors, custom processors, and field-programmable gate arrays (FPGAs), and uniquely stored program instructions (including both software and firmware) that control one or more processors to implement some, most, or all of the functions of the methods and / or apparatuses described herein, in conjunction with certain non-processor circuitry. Alternatively, some or all of the functions may be implemented by a state machine without stored program instructions, or in one or more application-specific integrated circuits (ASICs), wherein each function or some combination of certain functions is implemented as custom logic. Of course, a combination of these two approaches may also be used.

[0073] Furthermore, embodiments can be implemented as computer-readable storage media having computer-readable code stored thereon for programming a computer (e.g., including a processor) to perform the methods described and claimed herein. Examples of such computer-readable storage media include, but are not limited to, hard disks, CD-ROMs, optical storage devices, magnetic storage devices, ROMs (read-only memories), PROMs (programmable read-only memories), EPROMs (erasable programmable read-only memories), EEPROMs (electrically erasable programmable read-only memories), and flash memory. Moreover, it is anticipated that those skilled in the art, while making potentially significant efforts driven by, for example, available time, current technology, and economic considerations, and numerous design choices, will be able to readily generate such software instructions and programs, as well as ICs, with minimal experimentation when guided by the concepts and principles disclosed herein.

[0074] This abstract is provided to allow the reader to quickly determine the nature of the disclosure. This abstract is submitted with the understanding that it is not intended to interpret or limit the scope or meaning of the claims. Furthermore, in the above detailed description, it can be seen that various features are grouped together in various embodiments for the purpose of making the disclosure coherent. This method of disclosure should not be construed as reflecting an intention to require more features than are expressly recited in the claims. Rather, as reflected in the appended claims, the inventive subject matter lies in fewer than all the features of a single disclosed embodiment. Therefore, the appended claims are thus incorporated into the detailed description, wherein each claim represents itself as a separately claimed subject matter.

Claims

1. A method comprising: Select an access point to start a communication session; Obtain the public key of the access point; Generate a temporary key for pre-authentication encryption; The temporary key is encrypted using the public key of the access point; Send an authentication request to the access point to initiate the authentication process with the access point, the authentication request including an encrypted temporary key; Complete the authentication process to initiate authenticated communication with the access point; as well as Discard the temporary key.

2. The method of claim 1, further comprising: Before the authentication process is completed, a message is received from the access point, and the message is encrypted using the temporary key; as well as The message is decrypted using the temporary key to verify that the access point is the source of the message.

3. The method of claim 1, further comprising: Receive a disconnect request before completing the authentication process; Use the temporary key to verify the disconnect request; When the disconnection request is valid, the connection is disconnected from the access point; as well as If the disconnect request is invalid, discard the disconnect request.

4. The method of claim 1, further comprising: The message is defined using the encrypted temporary key, cipher suite indicator, and random number; Use the public key and the message to generate a message integrity check value; Append the message integrity check value to the message to obtain an encrypted message; as well as The encrypted message is included in the authentication request.

5. The method of claim 1, further comprising: Receive an authentication response from the access point, the authentication response including an encrypted multicast key; Decrypt the multicast key using the temporary key; as well as Store the multicast key.

6. The method of claim 5, further comprising: Before the authentication process is completed, a multicast disconnect request is received; Use the multicast key to verify the multicast disconnection request; When the multicast disconnect request is valid, the connection is disconnected from the access point; as well as If the multicast disconnect request is invalid, the multicast disconnect request is discarded.

7. The method of claim 1, wherein obtaining the public key comprises: Send a probe request to the access point; as well as Receive a probe response including the public key of the access point.

8. The method of claim 1, wherein the communication session conforms to the IEEE 802.11 standard.

9. A method at an access point, the method comprising: Obtain the public key and the private key corresponding to the access point; Receive an authentication request from a computing device to initiate the authentication process, the authentication request including an encrypted temporary key for pre-authentication encryption; The temporary key is decrypted using the private key and then stored. Complete the authentication process to initiate authenticated communication with the computing device; as well as Discard the temporary key.

10. The method of claim 9, further comprising: Receive a probe request from the computing device; as well as In response to the probe request, the public key is sent as a probe response to the computing device.

11. The method of claim 9, further comprising: Generate multiple public and private key pairs; as well as Choose one of the public key and private key pair as the public key and the private key.

12. The method of claim 9, further comprising: Obtain the multicast key used for multicast communication; The multicast key is encrypted using the temporary key; as well as The encrypted multicast key is sent to the computing device in the authentication response.

13. The method of claim 9, further comprising: Detect disconnection conditions; The disconnection request is encrypted using either the temporary key or the multicast key. as well as An encrypted disconnect request is sent to the computing device.

14. The method of claim 9, further comprising: Before the authentication process is completed, the message is sent to the computing device and is encrypted using the temporary key.

15. The method of claim 9, wherein the communication between the access point and the computing device conforms to the IEEE 802.11 standard.

16. A computing device, comprising: Communication interface; The controller, interconnected with the communication interface, is configured to: Select an access point to start a communication session; Obtain the public key of the access point; Generate a temporary key for pre-authentication encryption; The temporary key is encrypted using the public key of the access point; Send an authentication request to the access point to initiate the authentication process with the access point, the authentication request including an encrypted temporary key; Complete the authentication process to initiate authenticated communication with the access point; as well as Discard the temporary key.

17. The computing device of claim 16, wherein the controller is further configured to: Before completing the authentication process, a message is received from the access point, the message being encrypted using the temporary key; and The message is decrypted using the temporary key to verify that the access point is the source of the message.

18. The computing device of claim 16, wherein the controller is further configured to: Receive a disconnect request before completing the authentication process; Use the temporary key to verify the disconnect request; When the disconnect request is valid, the connection is disconnected from the access point; and If the disconnect request is invalid, discard the disconnect request.

19. The computing device of claim 16, wherein the controller is further configured to: The message is defined using the encrypted temporary key, cipher suite indicator, and random number; Use the public key and the message to generate a message integrity check value; Append the message integrity check value to the message to obtain an encrypted message; as well as Include the encrypted message in the authentication request.

20. The computing device of claim 16, wherein the controller is further configured to: Receive an authentication response from the access point, the authentication response including an encrypted multicast key; Decrypt the multicast key using the temporary key; and Store the multicast key.

21. The computing device of claim 20, wherein the controller is further configured to: Before the authentication process is completed, a multicast disconnect request is received; Use the multicast key to verify the multicast disconnection request; When the multicast disconnect request is valid, the connection is disconnected from the access point; as well as If the multicast disconnect request is invalid, the multicast disconnect request is discarded.

22. The computing device of claim 16, wherein, in order to obtain the public key, the controller is configured to: Send a probe request to the access point; and Receive a probe response including the public key of the access point.

23. An access point, comprising: Communication interface; as well as A processor, interconnected with the communication interface, is configured to: Obtain the public key and the private key corresponding to the access point; Receive an authentication request from a computing device to initiate the authentication process, the authentication request including an encrypted temporary key for pre-authentication encryption; The temporary key is decrypted using the private key and then stored. Complete the authentication process to initiate authenticated communication with the computing device; as well as Discard the temporary key.