Frame protection in wireless communications
Patent Information
- Application Number
- JP2026513973
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-12
- Filing Date
- 2024-08-23
- Publication Date
- 2026-10-14
Smart Images

Figure 2026533979000001_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Cross-Reference to Related Applications
[0001] This patent application claims the benefit of U.S. Patent Application Publication No. 18 / 465,962, filed September 12, 2023, entitled "FRAME PROTECTION IN WIRELESS COMMUNICATIONS" by PATIL et al., assigned to the assignee of the present application.
[0002]
[0002] The present disclosure relates to wireless communications, and more specifically, to frame protection in wireless communications.
BACKGROUND ART
[0003]
[0003] A wireless local area network (WLAN) may be formed by one or more wireless access points (APs) that provide a shared wireless communication medium for use by a plurality of client devices, also referred to as wireless stations (STAs). The basic building block of a WLAN conforming to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards is a Basic Service Set (BSS), which is managed by an AP. Each BSS is identified by a Basic Service Set Identifier (BSSID) that is advertised by the AP. The AP periodically broadcasts beacon frames to allow any STA within the wireless range of the AP to establish or maintain a communication link with the WLAN.
[0004]
[0004] In some WLANs, data frames sent over-the-air between STAs or APs communicating wirelessly with another STA or AP include information in the data frame's Medium Access Control (MAC) header, such as the source address, destination address, duration / ID field, or high-throughput (HT) control field. Some fields in the MAC header, such as the duration / ID field or HT control field, may be unprotected because such fields may not be encrypted or undergo integrity checks. A malicious device may exploit such unprotected fields, which may result in the receiving device taking undesirable actions. [Overview of the project]
[0005]
[0005] Each of the systems, methods, and devices of this disclosure has several innovative aspects, and no single aspect of them alone represents the desirable attributes disclosed herein.
[0006]
[0006] A first wireless communication device for wireless communication will be described. The first wireless communication device may include a processing system including a processor circuit configuration and a memory circuit configuration for storing code. The processing system may be configured to cause the first wireless communication device to generate a packet number for a frame to be transmitted to a second wireless communication device, the packet number including a first subset of bits corresponding to a portion of the timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value, and to cause the second wireless communication device to transmit a frame including the portion containing the packet number.
[0007]
[0007] A second wireless communication device for wireless communication is described. The second wireless communication device may include a processing system including a processor circuit configuration and a memory circuit configuration for storing code. The processing system may be configured to cause the second wireless communication device to receive a frame including a packet number including a first subset of bits corresponding to a first timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value, and to process the frame at least in part on whether the time value indicated by the first subset of bits corresponds to a local time maintained in the second wireless communication device.
[0008]
[0008] Another first wireless communication device for wireless communication is described. The first wireless communication device may include a processing system which includes a processor circuit configuration and a memory circuit configuration for storing code. The processing system may be configured to cause the first wireless communication device to generate a message integrity check (MIC) field for a frame to be sent to a second wireless communication device, to execute an XOR function on the MIC field to generate an XORed MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to some of the timing synchronization function values associated with the frame, and to send the frame containing the XORed MIC field to the second wireless communication device.
[0009]
[0009] Another second wireless communication device for wireless communication is described. The second wireless communication device may include a processing system which includes a processor circuit configuration and a memory circuit configuration for storing code. The processing system may be configured to cause the second wireless communication device to receive a frame which includes a message integrity check (MIC) field, to perform an XOR function on the MIC field to generate an XORed MIC field which is obtained by exclusively ORing (XORing) the bits of the MIC field with a set of bits which correspond to some of the timing synchronization function values associated with the time the frame was received, and to process the XORed MIC field to determine the frame integrity of the frame.
[0010]
[0010] A method for wireless communication by a first wireless communication device will be described. The method may include generating a packet number for a frame to be transmitted to a second wireless communication device, the packet number comprising a first subset of bits corresponding to a portion of the timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value, and transmitting a frame, comprising the portion comprising the packet number, to the second wireless communication device.
[0011]
[0011] In some examples of the method and the first wireless communication device, generating a packet number may include an operation or instruction to generate a portion of the timing synchronization function value as a shortened version of the timing synchronization function value and to append a counter value to the portion of the timing synchronization function value.
[0012]
[0012] A method for wireless communication by a second wireless communication device is described. The method may include receiving a frame which includes a packet number which includes a first subset of bits which corresponds to a first timing synchronization function value associated with the frame and a second subset of bits which corresponds to a counter value, and processing the frame which is at least in part on whether the time value indicated by the first subset of bits corresponds to a local time which is maintained in the second wireless communication device.
[0013]
[0013] Some examples of the methods and second wireless communication devices described herein may further include an operation or command in the second wireless communication device for generating a second timing synchronization function value as a shortened version of the time value of the timing synchronization function, the local time maintained in the second wireless communication device corresponds to the second timing synchronization function value, and frames may be processed based on the second timing synchronization function value which matches the first timing synchronization function value.
[0014]
[0014] Another method for wireless communication by a first wireless communication device is described. The method may include: generating a message integrity check (MIC) field for a frame to be sent to a second wireless communication device; performing an XOR function on the MIC field to generate an XORed MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to some of the timing synchronization function values associated with the frame; and sending the frame containing the XORed MIC field to the second wireless communication device.
[0015]
[0015] In some examples of the method and the first wireless communication device, the portion of the timing synchronization function value may be a shortened version of the timing synchronization function value in the first wireless communication device.
[0016]
[0016] Another method for wireless communication by a second wireless communication device is described. The method may include receiving a frame containing a message integrity check (MIC) field, performing an XOR function on the MIC field to generate an MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to some of the timing synchronization function values associated with the time the frame was received, and processing the XORed MIC field to determine the frame integrity of the frame.
[0017]
[0017] In some examples of the method and the second wireless communication device, the portion of the timing synchronization function value may be a shortened version of the timing synchronization function value in the second wireless communication device.
[0018]
[0018] Details of one or more implementations of the subject matter described herein are shown in the accompanying drawings and the following description. Other features, embodiments, and advantages will become apparent from the description, drawings, and claims. Note that the relative dimensions in the following figures may not be drawn to exact scale. [Brief explanation of the drawing]
[0019] [Figure 1]
[0019] An illustrative diagram of a wireless communication network is shown. [Figure 2]
[0020] An exemplary protocol data unit (PDU) that can be used for communication between a wireless access point (AP) and one or more wireless stations (STAs) is shown. [Figure 3]
[0021] An exemplary Physical Layer (PHY) Protocol Data Unit (PPDU) that can be used for communication between a wireless AP and one or more wireless STAs is shown. [Figure 4]
[0022] illustrates an exemplary hierarchical format of a PPDU usable for communication between a wireless AP and one or a plurality of wireless STAs. [Figure 5]
[0023] illustrates an example of a time-based packet number that supports frame protection in wireless communications. [Figure 6]
[0024] illustrates an example of a signaling diagram that supports frame protection in wireless communications. [Figure 7]
[0025] illustrates an example of a process flow that supports frame protection in wireless communications. [Figure 8]
[0026] illustrates an example of a process flow that supports frame protection in wireless communications. [Figure 9]
[0027] illustrates a block diagram of an exemplary wireless communication device that supports frame protection in wireless communications. [Figure 10]
[0028] illustrates a block diagram of an exemplary wireless communication device that supports frame protection in wireless communications. [Figure 11]
[0029] illustrates a flowchart showing an exemplary process executable by or at a first wireless communication device that supports frame protection in wireless communications. [Figure 12]
[0030] illustrates a flowchart showing an exemplary process executable by or at a second wireless communication device that supports frame protection in wireless communications. [Figure 13]
[0031] illustrates a flowchart showing an exemplary process executable by or at a first wireless communication device that supports frame protection in wireless communications. [Figure 14]
[0032] A flowchart is provided illustrating an exemplary process that can be performed by, or in, a second wireless communication device, which supports frame protection in wireless communication.
[0020]
[0033] Similar reference numbers and names in various drawings refer to the same elements. [Modes for carrying out the invention]
[0021]
[0034] The following description focuses on several specific examples for the purpose of illustrating innovative aspects of the disclosure. However, those skilled in the art will readily recognize that the teachings herein can be applied in numerous different ways. Some or all of the examples described may be implemented in any device, system, or network capable of transmitting and receiving radio frequency (RF) signals in accordance with, among other things, the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, the IEEE 802.15 standard, the Bluetooth® Special Interest Group (SIG) standard, or one or more of the Long Term Evolution (LTE), 3G, 4G, or 5G (New Radio (NR)) standards issued by the Third Generation Partnership Project (3GPP).The examples described can be implemented in any device, system, or network capable of transmitting and receiving RF signals according to one or more of the following technologies or techniques: code division multiple access (CDMA), time division multiple access (TDMA), orthogonal frequency division multiplexing (OFDM), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), spatial division multiple access (SDMA), rate-splitting multiple access (RSMA), multi-user shared access (MUSA), single-user (SU) multiple-input multiple-output (MIMO), and multi-user (MU)-MIMO (MU-MIMO). The examples described can also be implemented using other wireless communication protocols or RF signals suitable for use in one or more of the following networks: wireless personal area network (WPAN), wireless local area network (WLAN), wireless wide area network (WWAN), wireless metropolitan area network (WMAN), or Internet of Things (IoT) network.
[0022]
[0035] A WLAN may include one or more access points (APs) and non-AP stations (STAs) that communicate with each other over specific communication links (such as channels within a given frequency band). In some WLANs that support multilink operation (MLO), non-AP STAs may belong to non-AP multilink devices (MLDs) that operate on multiple communication links. Similarly, APs may belong to one or more AP MLDs that operate on two or more communication links (and may be controlled or managed by them). As used herein, the term "STA" may refer to any type of wireless STA, such as a non-AP STA, a non-MLD STA, or a non-MLD non-AP STA. Similarly, the term "AP" may refer to any type of wireless AP, such as an AP MLD or a non-MLD AP, among other examples.
[0023]
[0036] Security in WLAN communication can be provided through mechanisms that protect several control frames and fields within the Media Access Control (MAC) header, such as encryption, integrity checks, or both. Even with such security mechanisms, some implementations may allow attack scenarios where a malicious device could interfere with frame reception while logging the frame. Later, the attacker may replay the unmodified frame, which may prompt the receiver to take undesirable actions (for example, the receiver might assume the transmitter is operating in a different state than it actually is, because it failed to successfully receive the original frame). Such attacks are sometimes called jam, log, and replay attacks. In some implementations, protection against jam, log, and replay attacks may use a continuously incrementing packet number (PN) provided with the frame, where the receiver drops the frame if the received PN is less than or equal to a previously received PN. However, in jam, log, and replay attacks, the receiving device does not have a record of the PN carried in that frame because it did not receive the original frame, which can lead to a successful attack where the attacker can circumvent the replay detection logic.
[0024]
[0037] Various aspects of this disclosure relate, in general, to frame protection in wireless communications. Some aspects relate more specifically to protection against jam, recording, and replay attacks through the use of PNs having timing components. In some implementations, a first wireless device (such as an AP or STA) may transmit a PN with each frame having a time-based portion and a counter value. In some implementations, the time-based portion may include a shortened timing synchronization function (TSF) value indicating the time the frame was transmitted from the first wireless device, and thus may provide a reduced granularity of time given by the TSF. In some implementations, the counter value may be incremented for each frame transmitted using the same shortened TSF value. A second wireless device (such as an AP or STA) may receive a frame and perform a replay check by comparing the received shortened TSF value with the current local shortened TSF value. If the received TSF value is lower than the shortened local TSF value, the frame may be dropped. If the received value is the same as the TSF value received in the previous frame, the received counter value is compared to the previous counter value. If the received counter value is less than or equal to the previously received counter value, the frame is dropped. Otherwise, the packet is processed further. When operating in a multilink configuration, a separate TSF may be maintained for each link in the wireless device.
[0025]
[0038] As an addition or alternative, some implementations provide protection for frames that may not have an unencrypted PN field (e.g., certain administrative or data frames may encrypt the PN field). In some implementations, such frame protection may be provided using a Message Integrity Check (MIC) sent with the frame. The MIC may be exclusively ORed (XORed) with the sending device's shortened TSF value. The receiving device may XOR the received MIC with the local shortened TSF value to obtain the XORed MIC. The receiving device may decrypt the received frame, derive the value of the MIC, and compare the XORed MIC with the derived MIC value. If there is a mismatch, the frame may be dropped; otherwise, further processing may be performed.
[0026]
[0039] Certain aspects of the subject matter described herein can be implemented to realize one or more of the following potential benefits. In some implementations, using the time component as part of the PN or as the XOR value in an XOR operation can enable a receiving device to discard frames that have delayed reception at the receiving device, thus helping to prevent jam, record, and replay attacks and improving security and reliability in communications. Furthermore, the reduced granularity of the time value used when comparing the received time value with the local time value allows for some clock drift between the transmitter and receiver. In addition, a counter value provided with the time value can enable multiple frames to be communicated with the same reduced granularity time value, thus improving throughput and network efficiency.
[0027]
[0040] Figure 1 shows a diagram of an exemplary wireless communication network 100. In some embodiments, the wireless communication network 100 may be an embodiment of a wireless local area network (WLAN), such as a Wi-Fi network. For example, the wireless communication network 100 may be a network implementing at least one of the IEEE 802.11 family of wireless communication protocol standards (e.g., defined by the IEEE 802.11-2020 specification or its modifications, including but not limited to 802.11ay, 802.11ax, 802.11az, 802.11ba, 802.11bd, 802.11be, 802.11bf, and 802.11bn). In some other examples, the wireless communication network 100 may be an example of a cellular radio access network (RAN), such as a 5G or 6G RAN, implementing one or more cellular protocols, such as those specified in one or more 3GPP standards. In some other examples, the wireless communications network 100 may include WLANs that function in an interoperable or converged manner with one or more cellular RANs to provide larger or extended network coverage to wireless communications devices within the wireless communications network 100, or to enable such devices to connect to the core of a cellular network, for example, to access the network management capabilities and functionality provided by the core of the cellular network.
[0028]
[0041] The wireless communication network 100 may include a number of wireless communication devices, including at least one wireless access point (AP) 102 and any number of wireless stations (STAs) 104. Although only one AP 102 is shown in Figure 1, the wireless communication network 100 may also include multiple APs 102. AP102 may represent or include various different types of network entities, including but not limited to other types of devices or equipment included in a Radio Access Network (RAN), such as home networking APs, enterprise-level APs, single-frequency APs, dual-band simultaneous (DBS) APs, tri-band simultaneous (TBS) APs, standalone APs, non-standalone APs, software-enabled APs (soft APs), and multi-link APs (also referred to as multi-link devices (MLDs)), as well as cellular base stations (such as 3GPP, 4G LTE, 5G, or 6G), or other cellular network nodes such as Node B, evolved Node B (eNB), gNB, transmission reception point (TRP), or Open-RAN (O-RAN) network entities such as central units (CUs), distributed units (DUs), or radio units (RUs).
[0029]
[0042] Each of the STA104 may also be called a mobile station (MS), mobile device, mobile handset, wireless handset, access terminal (AT), user equipment (UE), subscriber station (SS), or subscriber unit, among other examples. STA104 may represent a variety of devices, among other examples, such as mobile phones, other handheld or wearable communication devices, netbooks, notebook computers, tablet computers, laptops, Chromebooks, augmented reality (AR), virtual reality (VR), mixed reality (MR), or augmented reality (XR) wireless headsets or other peripheral devices, wireless earphones, other wearable devices, display devices (e.g., TVs, computer monitors, or video game consoles), video game controllers, navigation systems, music or other audio or stereo devices, remote control devices, printers, kitchen appliances (including smart refrigerators), or other household appliances, key fobs (e.g., for passive keyless entry and start (PKES) systems), Internet of Things (IoT) devices, and vehicles.
[0030]
[0043] A single AP102 and associated set of STA104 may be referred to as a basic service set (BSS) managed by each AP102. Figure 1 additionally shows an exemplary coverage area 108 of AP102, which may represent a basic service area (BSA) of a wireless communication network 100. The BSS can be identified by STA104 and other devices by a service set identifier (SSID) and a basic service set identifier (BSSID), which may be the medium access control (MAC) address of AP102. AP102 may periodically broadcast beacon frames ("beacons") containing the BSSID so that any STA104 within AP102's wireless range can "associate" or reassociate with AP102 in order to establish or maintain a communication link 106 (hereinafter also referred to as a "Wi-Fi link") with AP102. For example, a beacon may include identification information or an indicator of the primary channel used by each AP102, and a timing synchronization function (TSF) to establish or maintain timing synchronization with the AP102. The AP102 may provide access to the external network to various STA104 in the wireless communication network 100 via their respective communication links 106.
[0031]
[0044] To establish a communication link 106 with AP102, each STA104 is configured to perform a passive scan operation or an active scan operation ("scan") on a frequency channel within one or more frequency bands (e.g., 2.4 GHz, 5 GHz, 6 GHz, 45 GHz, or 60 GHz bands). To perform a passive scan, the STA104 listens for beacons transmitted by each AP102 at periodic time intervals called target beacon transmission times (TBTTs). To perform an active scan, the STA104 generates probe requests, transmits them continuously on each channel to be scanned, and listens for probe responses from AP102. Each STA104 may perform authentication and association operations to identify, determine, confirm, or select an AP102 to associate with, according to the scan information obtained through the passive or active scan, and to establish a communication link 106 with the selected AP102. The selected AP102 assigns an association identifier (AID) to STA104 upon completion of the association operation, and AP102 uses it to track STA104.
[0032]
[0045] As a result of the increased ubiquity of wireless networks, STA104 may have the opportunity to select one of many BSSs within STA104's range, or to select from multiple AP102s that together form an extended service set (ESS) containing multiple connected BSSs. For example, a wireless communication network 100 may be connected to a wired or wireless distributed system that allows multiple AP102s to be connected within such an ESS. Therefore, STA104 may be covered by two or more AP102s and may associate with different AP102s at different times for different transmissions. In addition, after association with an AP102, STA104 may also periodically scan its vicinity to find a more suitable AP102 to associate with. For example, STA104 moving towards an associated AP102 may perform a “roaming” scan to find another AP102 with more desirable network characteristics, such as a higher received signal strength indicator (RSSI) or reduced traffic load.
[0033]
[0046] In some cases, STA104 can form a network without AP102 or any other equipment other than the STA104 themselves. An example of such a network is an ad-hoc network (or wireless ad-hoc network). Ad-hoc networks may alternatively be referred to as mesh networks or peer-to-peer (P2P) networks. In some cases, an ad-hoc network may be implemented within a larger network, such as a wireless communication network 100. In such an example, STA104 may be able to communicate with each other through AP102 using communication link 106, but STA104 may also communicate with each other directly via direct wireless communication link 110. Additionally, two STA104 may communicate via direct communication link 110, regardless of whether both STA104 are associated with and serviced by the same AP102. In such an ad-hoc system, it may be assumed that one or more of the STA104s take on the role that is played by AP102 in BSS. Such an STA104 may be referred to as a group owner (GO) and can coordinate transmissions within an ad-hoc network. Examples of direct wireless communication links 110 include Wi-Fi Direct connections, connections established using Wi-Fi Tunneled Direct Link Setup (TDLS) links, and other P2P group connections.
[0034]
[0047] In some networks, the AP102 or STA104, or both, may support applications associated with high throughput or low latency requirements, or provide lossless audio to one or more other devices. For example, the AP102 or STA104 may support applications and use cases associated with ultra-low latency (ULL), such as ultra-low-latency (ULL) games, or streaming lossless audio and video to one or more personal audio devices (such as peripheral devices) or AR / VR / MR / XR headset devices. In scenarios where a user uses two or more peripheral devices, the AP102 or STA104 may support an extended personal audio network that enables communication with two or more peripheral devices. Furthermore, the AP102 and STA104 may support additional ULL applications, such as cloud-based applications with ULL and high throughput requirements (such as VR cloud games).
[0035]
[0048] As described above, AP102 and STA104 can function and communicate (via their respective communication links 106) in accordance with one or more of the IEEE 802.11 family of wireless communication protocol standards. These standards define WLAN radio protocols and baseband protocols for the physical (PHY) layer and MAC layer. AP102 and STA104 transmit and receive wireless communication (hereinafter also referred to as "Wi-Fi communication" or "wireless packets") between themselves in the form of PHY protocol data units (PPDUs).
[0036]
[0049] Each PPDU is a composite structure containing the PHY preamble and payload in the form of a PHY service data unit (PSDU). The information provided in the preamble can be used by the receiving device to decode the subsequent data in the PSDU. In instances where the PPDU is transmitted over bonded or broadband channels, the preamble field may be duplicated and transmitted on each of the multiple component channels. The PHY preamble may contain both a legacy portion (or "legacy preamble") and a non-legacy portion (or "non-legacy preamble"). The legacy preamble may be used for packet detection, automatic gain control, and channel estimation, among other applications. The legacy preamble may also generally be used to maintain compatibility with legacy devices. The format, coding, and information provided in the non-legacy portion of the preamble are associated with the specific IEEE 802.11 wireless communication protocol to be used to transmit the payload.
[0037]
[0050] AP102 and STA104 in the WLAN wireless communication network 100 may transmit PPDUs over unlicensed spectrum, which may be a part of the spectrum including frequency bands conventionally used by Wi-Fi technology, such as the 2.4GHz band, 5GHz band, 6GHz band, 45GHz band, and 60GHz band. Some examples of AP102 and STA104 described herein may also communicate in other frequency bands that may support licensed or unlicensed communication. For example, AP102 or STA104, or both, may also communicate over licensed operating bands, where multiple operators may each have licenses to operate in the same or overlapping frequency ranges. Such authorized operating bands may be mapped to or associated with the following frequency range designations: FR1 (410 MHz to 7.125 GHz), FR2 (24.25 GHz to 52.6 GHz), FR3 (7.125 GHz to 24.25 GHz), FR4a or FR4-1 (52.6 GHz to 71 GHz), FR4 (52.6 GHz to 114.25 GHz), and FR5 (114.25 GHz to 300 GHz).
[0038]
[0051] Each frequency band may contain multiple subbands and frequency channels (also called subchannels). For example, PPDUs compliant with the IEEE 802.11n, 802.11ac, 802.11ax, 802.11be, and revised 802.11bn standards may be transmitted over one or more of the 2.4GHz, 5GHz, or 6GHz bands, each divided into multiple 20MHz channels. Therefore, these PPDUs are transmitted over physical channels with a minimum bandwidth of 20MHz, but larger channels can also be formed through channel bonding. For example, a PPDU may be transmitted over physical channels with bandwidths of 40MHz, 80MHz, 160MHz, 240MHz, 320MHz, 480MHz, or 640MHz by bonding multiple 20MHz channels together.
[0039]
[0052] In some implementations, a first wireless device (such as STA104 or AP102) may transmit frames over one or more communication links 106, and the PN given with each frame may have a time-based portion and a counter value. In some implementations, the time-based portion may include a shortened TSF value indicating the time the frame was transmitted from the first wireless device. In some implementations, the counter value may be incremented for each frame transmitted with the same shortened TSF value and appended to the shortened TSF value. A second wireless device (such as STA104 or AP102) may receive the frame and perform a replay check based on the shortened local TSF by comparing the shortened TSF with the current local time. Based on the replay check, the second wireless device may process the frame or discard the frame. Additionally or alternatively, the first wireless device may use a MIC for frame protection, and the MIC may be XORed with the shortened TSF value of the first wireless device. The second wireless device may XOR the received MIC with the local shortened TSF value to obtain the XORed MIC. The receiving device may decode the received frame, derive the MIC value, and compare the XORed MIC with the derived MIC value. If there is a mismatch, the frame is dropped; otherwise, further processing may be performed.
[0040]
[0053] Figure 2 shows an exemplary protocol data unit (PDU) 200 that can be used for wireless communication between a wireless AP and one or more wireless STAs. For example, the AP and STA may be examples of AP102 and STA104 described with reference to Figure 1. The PDU 200 can be configured as a PPDU. As shown, the PDU 200 includes a PHY preamble 202 and a PHY payload 204. For example, the preamble 202 may include a legacy portion which itself includes a legacy short training field (L-STF) 206 which may consist of two symbols, a legacy long training field (L-LTF) 208 which may consist of two symbols, and a legacy signal field (L-SIG) 210 which may consist of two symbols. The legacy portion of the preamble 202 may be configured according to the IEEE 802.11a wireless communication protocol standard. The preamble 202 may also include a non-legacy portion, for example, one or more non-legacy fields 212 that conform to one or more of the IEEE 802.11 family of wireless communication protocol standards.
[0041]
[0054] L-STF206 generally enables a receiving device (such as AP102 or STA104) to perform coarse timing and frequency tracking and automatic gain control (AGC). L-LTF208 generally enables a receiving device to perform fine timing and frequency tracking and also enables initial estimation of the wireless channel. L-SIG210 generally enables a receiving device to determine (e.g., acquire, select, identify, detect, verify, calculate, or compute) the duration of a PDU to avoid overlapping transmissions with the PDU, and to use the determined duration. The legacy portion of the preamble, including L-STF206, L-LTF208, and L-SIG210, may be modulated according to a binary phase shift keying (BPSK) modulation scheme. The payload 204 may be modulated according to a BPSK modulation scheme, a quadrature BPSK (Q-BPSK) modulation scheme, a quadrature amplitude modulation (QAM) modulation scheme, or another suitable modulation scheme. The payload 204 may include a PSDU containing a data field (DATA) 214, which may carry upper-layer data in the form of, for example, MAC protocol data units (MPDUs) or aggregated MPDUs (A-MPDUs).
[0042]
[0055] In some implementations, a first wireless device (such as an STA or AP) may transmit a PN with each frame, which may have a time-based portion and a counter value. In some implementations, the time-based portion may include a shortened TSF value indicating the time the frame was transmitted from the first wireless device. In some implementations, the counter value may be incremented for each frame transmitted with the same shortened TSF value and appended to the shortened TSF value. A second wireless device (such as an STA or AP) may receive the frame and perform a replay check based on the shortened local TSF by comparing the shortened TSF to the current local time. Based on the replay check, the second wireless device may process or discard the frame. Additionally or alternatively, the first wireless device may use a MIC for frame protection, which may be XORed with the shortened TSF value of the first wireless device. The second wireless device may XOR the received MIC with the local shortened TSF value to obtain the XORed MIC. The receiving device may decode the received frame, derive the value of the MIC, and compare the XORed MIC with the derived MIC value. If there is a mismatch, the frame will be dropped; otherwise, further processing may be performed.
[0043]
[0056] Figure 3 shows an exemplary Physical Layer (PHY) Protocol Data Unit (PPDU) 350 that can be used for communication between a wireless AP and one or more wireless STAs. For example, the AP and STA may be examples of AP102 and STA104 described with reference to Figure 1. As shown, the PPDU 350 includes a PHY preamble including a legacy portion 352 and a non-legacy portion 354, and a payload 356 including a data field 374. The legacy portion 352 of the preamble includes an L-STF 358, an L-LTF 360, and an L-SIG 362. The non-legacy portion 354 of the preamble includes a repetition of L-SIG (RL-SIG) 364 and multiple wireless communication protocol version-dependent signal fields following the RL-SIG 364. For example, the non-legacy portion 354 may include a general-purpose signal field 366 (referred to herein as “U-SIG366”) and an EHT signal field 368 (referred to herein as “EHT-SIG368”). The presence of RL-SIG364 and U-SIG366 may indicate to an EHT- or later version-compliant STA104 that PPDU350 is an EHT PPDU, or a PPDU compliant with any later (post-EHT) version of a new wireless communication protocol conforming to a future IEEE 802.11 wireless communication protocol standard. Either or both of U-SIG366 and EHT-SIG368 may be configured as other wireless communication protocol versions associated with revisions of standards in the IEEE family beyond EHT, and may carry version-dependent information about them. For example, U-SIG366 may be used by a receiving device (such as AP102 or STA104) to interpret bits in one or more of EHT-SIG368 or data field 374. In instances involving the use of bonded channels, such as L-STF358, L-LTF360, and L-SIG362, the information in U-SIG366 and EHT-SIG368 may be duplicated and transmitted over each of the 20MHz component channels.
[0044]
[0057] The non-legacy portion 354 further includes an additional short training field 370 (referred herein to as “EHT-STF370”, which may be constructed as other wireless communication protocol versions beyond EHT and carry version-dependent information for them) and one or more additional long training fields 372 (referred herein to as “EHT-LTF372”, which may be constructed as other wireless communication protocol versions beyond EHT and carry version-dependent information for them). The EHT-STF370 may be used for timing and frequency tracking and AGC, and the EHT-LTF372 may be used for more refined channel estimation.
[0045]
[0058] The EHT-SIG368 may be used by AP102 to identify one or more STA104s and to notify the multiple STA104s that AP102 has scheduled uplink (UL) or downlink (DL) resources for them. The EHT-SIG368 may be decoded by each compatible STA104 served by AP102. The EHT-SIG368 may generally be used by a receiving device to interpret bits in the data field 374. For example, the EHT-SIG368 may include resource unit (RU) allocation information, spatial stream configuration information, and user-specific (e.g., STA-specific) signaling information. Each EHT-SIG368 may include a common field and at least one user-specific field. In the context of OFDMA, the common field, in particular among other examples, can indicate the RU distribution across multiple STA104s, the RU allocation in the frequency domain, which RUs are allocated to MU-MIMO transmissions, which RUs respond to OFDMA transmissions, and the number of users in the allocation. The user-specific field is assigned to a specific STA104 and carries STA-specific scheduling information, such as user-specific MCS values and user-specific RU allocation information. Such information allows each STA104 to identify and decode the corresponding RU in the associated data field 374.
[0046]
[0059] In some implementations, a first wireless device (such as an STA or AP) may transmit a PN with each frame, which may have a time-based portion and a counter value. In some implementations, the time-based portion may include a shortened TSF value indicating the time the frame was transmitted from the first wireless device. In some implementations, the counter value may be incremented for each frame transmitted with the same shortened TSF value and appended to the shortened TSF value. A second wireless device (such as an STA or AP) may receive the frame and perform a replay check based on the shortened local TSF by comparing the shortened TSF to the current local time. Based on the replay check, the second wireless device may process or discard the frame. Additionally or alternatively, the first wireless device may use a MIC for frame protection, which may be XORed with the shortened TSF value of the first wireless device. The second wireless device may XOR the received MIC with the local shortened TSF value to obtain the XORed MIC. The receiving device may decode the received frame, derive the value of the MIC, and compare the XORed MIC with the derived MIC value. If there is a mismatch, the frame will be dropped; otherwise, further processing may be performed.
[0047]
[0060] Figure 4 shows an exemplary PPDU hierarchical format usable for communication between a wireless AP and one or more wireless STAs. For example, the AP and STA may be examples of AP102 and STA104 described with reference to Figure 1. As described, each PPDU 400 includes a PHY preamble 402 and a PSDU 404. Each PSDU 404 may represent (or "carry") one or more MAC protocol data units (MPDUs) 416. For example, each PSDU 404 may carry an aggregate MPDU (A-MPDU) 406 containing an aggregation of multiple A-MPDU subframes 408. Each A-MPDU subframe 406 may contain an MPDU frame 410, which includes a MAC delimiter 412 and a MAC header 414 before the accompanying MPDU 416 containing the data portion ("payload" or "frame body") of the MPDU frame 410. Each MPDU frame 410 may also include a frame check sequence (FCS) field 418 for error detection (for example, the FCS field may include a cyclic redundancy check (CRC)) and padding bits 420. An MPDU 416 may carry one or more MAC service data units (MSDUs) 416. For example, an MPDU 416 may carry an aggregate MSDU (A-MSDU) 422 containing multiple A-MSDU subframes 424. Each A-MSDU subframe 424 includes a corresponding MSDU frame 426 having an MSDU 430, preceded by a subframe header 428 and optionally followed by padding bits 432.
[0048]
[0061] Referring again to the MPDU frame 410, the MAC delimiter 412 acts as a marker for the start of the associated MPDU 416 and may indicate the length of the associated MPDU 416. The MAC header 414 may include several fields containing information that defines or indicates the characteristics or attributes of the data encapsulated within the frame body 416. The MAC header 414 may include a duration field indicating the duration from the end of the PPDU to the end of the acknowledgment (ACK) or block ACK (BA) of the PPDU that will be transmitted by the receiving wireless communication device. The use of the duration field helps reserve the wireless medium for the indicated duration, allowing the receiving device to establish its network allocation vector (NAV). The MAC header 414 also includes one or more fields indicating the addresses of the data encapsulated within the frame body 416. For example, the MAC header 414 may include a source address, transmitter address, receiver address, or a combination of destination addresses. The MAC header 414 may further include a frame control field containing control information. The frame control field may specify the frame type, such as a data frame, control frame, or management frame.
[0049]
[0062] Some wireless communication devices (including both APs and STAs, such as AP102 and STA104 as described with reference to Figure 1) are capable of multilink operation (MLO). In some examples, MLO supports the establishment of multiple different communication links between STA104 and AP102 (such as a first link on the 2.4 GHz band, a second link on the 5 GHz band, and a third link on the 6 GHz band) and simultaneous and dynamic support of packet switching on one or more communication links. Each communication link may support one or more sets of channels or logical entities. In some cases, each communication link associated with a given wireless communication device may be associated with a separate radio of the wireless communication device, which may include one or more transmit / receive (Tx / Rx) chains, one or more physical antennas or be coupled thereto, or signal processing components, among other components. MLO-enabled devices are sometimes called multi-link devices (MLDs). An MLD may include a single upper MAC layer and, for example, three independent lower MAC layers and three associated independent PHY layers for each link in the 2.4GHz, 5GHz, and 6GHz bands. This architecture may enable a single association process and security context. An AP MLD may include multiple APs, each configured to communicate with each STA of multiple STA104 non-AP MLDs (also called "STA MLDs") on each communication link. An STA MLD may communicate with an AP MLD over one or more of multiple communication links at a given time. MLDs may independently compete for access on each communication link, which achieves latency reduction by allowing an MLD to send its packets on the first communication link that becomes available.
[0050]
[0063] Another feature of MLO is traffic steering and QoS characterization, which achieves latency reduction and other QoS enhancements by mapping traffic flows with different latency or other requirements to different links. For example, traffic with low latency requirements may be mapped to a wireless link operating in the 6GHz band, while more latency-tolerant flows may be mapped to wireless links operating in the 2.4GHz or 5GHz band.
[0051]
[0064] One type of MLO is an alternating multilink, where an MLD can listen on two different high-performance channels simultaneously. When an MLD has traffic to transmit, it can use the first channel on which it has access opportunities (such as TXOP). While an MLD can only use one channel at a time to receive or transmit, having access opportunities on two different channels provides low latency when the network is congested.
[0052]
[0065] Another type of MLO is multilink aggregation (MLA), where traffic associated with a single STA104 is transmitted simultaneously in parallel over multiple communication links to maximize the use of available resources and achieve higher throughput. This is similar to carrier aggregation in cellular space; that is, for at least some duration, transmission or a portion of transmission may occur simultaneously in parallel over two or more links. In some examples, parallel wireless communication links may support synchronous transmission. In some other examples, or during some other duration, transmissions over links may be parallel but not synchronous or simultaneous. In some examples or durations, two or more of the links may be used for communication between wireless communication devices in the same direction (such as all uplink or all downlink). In some other examples or durations, two or more of the links may be used for communication in different directions. For example, one or more links may support uplink communication, and one or more links may support downlink communication. In such examples, at least one of the wireless communication devices operates in full-duplex mode. Generally, full-duplex operation enables bidirectional communication in which at least one of the wireless communication devices can transmit and receive simultaneously.
[0053]
[0066] MLA can be implemented in several ways. In some examples, MLA can be packet-based. In packet-based aggregation, frames of a single traffic flow (such as all traffic associated with a given traffic identifier (TID)) can be transmitted simultaneously across multiple communication links. In some other examples, MLA can be flow-based. In flow-based aggregation, each traffic flow (such as all traffic associated with a given TID) can be transmitted using a single communication link out of several available communication links. For example, a single STA MLD may access a web browser while simultaneously streaming video in parallel. Traffic associated with the web browser access may be transmitted over a first communication link, and traffic associated with the video stream may be transmitted in parallel over a second communication link (resulting in at least some of the data being transmitted on the first channel simultaneously with data being transmitted on the second channel).
[0054]
[0067] In some other examples, MLA can be implemented as a hybrid of flow-based and packet-based aggregation. For example, MLD may employ flow-based aggregation in situations where multiple traffic flows are created, and packet-based aggregation in other situations. The decision to switch between MLA techniques or modes may, additionally or alternatively, be associated with other metrics (among other factors or considerations, such as time of day, traffic load in the network, or battery power of wireless communication devices).
[0055]
[0068] To support MLO techniques, AP MLDs and STA MLDs may exchange supported MLO capability information (such as supported aggregation types or supported frequency bands, among other information). In some examples, the exchange of information may occur via beacon signals, probe requests or probe responses, association requests or association response frames, dedicated action frames, or operating mode indicators (OMIs), among other examples. In some examples, an AP MLD may designate a given channel in a given band as an anchor channel (such as the channel from which it transmits beacons and other management frames). In such examples, the AP MLD may also transmit beacons (which may contain less information, among other things) on other channels for discovery purposes.
[0056]
[0069] MLO techniques can offer several benefits to a wireless communication network 100. For example, MLO can improve user-perceived throughput (UPT) by rapidly flushing per-user transmit queues. Similarly, MLO can improve throughput by improving the utilization of available channels and increase spectrum utilization by increasing the bandwidth-time product. Furthermore, MLO can enable smooth transitions between multiband radios (for example, if each radio can be associated with a given RF band), or allow the framework to set up separation of control and data channels. Other advantages of MLO include reducing modem on-time, which can benefit wireless communication devices in terms of power consumption. Another advantage of MLO is the increased multiplexing opportunities in the case of a single BSS. For example, multilink aggregation can increase the number of users per multiplexed transmit served by a multilink AP MLD.
[0057]
[0070] In some implementations, a first wireless device (such as an STA or AP) may transmit a PN with each frame, which may have a time-based portion and a counter value. In some implementations, the time-based portion may include a shortened TSF value indicating the time the frame was transmitted from the first wireless device. In some implementations, the counter value may be incremented for each frame transmitted with the same shortened TSF value and appended to the shortened TSF value. A second wireless device (such as an STA or AP) may receive the frame and perform a replay check based on the shortened local TSF by comparing the shortened TSF to the current local time. In some implementations, MLO techniques may be used, and separate TSFs may be maintained for each link or two or more links in the first or second wireless device, or the TSFs may be synchronized. Based on the replay check, the second wireless device may process or discard the frame. Additionally or alternatively, the first wireless device may use a MIC for frame protection, which may be XORed with the shortened TSF value of the first wireless device. A second wireless device may XOR the received MIC with a local shortened TSF value to obtain the XORed MIC. The receiving device may decode the received frame, derive the MIC value, and compare the XORed MIC with the derived MIC value. If there is a mismatch, the frame is dropped; otherwise, further processing may be performed.
[0058]
[0071] Figure 5 shows an example of a time-based packet number 500 that supports frame protection in wireless communication. The time-based packet number 500 can implement one or more embodiments of the wireless communication network 100. For example, the time-based packet number 500 may be provided with a frame transmitted by AP102 or STA104, as illustrated and described with reference to Figure 1.
[0059]
[0072] In some implementations, protection against jam, recording, and replay attacks may be provided through the use of PN502, which includes a first subset 504 of bits and a second subset 506 of bits. The first subset 504 of bits may be time-related bits obtained from the TSF value 508. For example, the first subset of bits may be obtained by shortening the TSF value 508 to remove a certain amount of least significant bits (LSBs) 510. Furthermore, in some implementations, one or more most significant bits (MSBs) 512 may be removed from the TSF value 508. The second subset 506 of bits may correspond to a counter value that is incremented for each frame transmitted along with the same first subset 504 of bits.
[0060]
[0073] In some implementations, a first wireless device (such as an AP or STA) may transmit PN502 with each frame. A second wireless device (such as an AP or STA) may receive the frame and perform a replay check by comparing the shortened TSF value provided in the first subset of bits 504 with the current local time based on the shortened local TSF. If the received shortened TSF value given in the first subset of bits 504 is lower than the shortened local TSF value, the frame may be dropped. If the received value is the same as the received TSF value received in the previous frame, the received counter value provided in the second subset of bits 506 is compared with the previous counter value of the previous frame, and if the received counter value is less than or equal to the previous counter value, the frame is dropped. Otherwise, the frame is processed further.
[0061]
[0074] In some implementations, a shortened TSF value indicating the time a frame was transmitted from a first wireless device may therefore provide a reduced granularity of time given by the full TSF value 508. In some implementations, the number of shortened bits (e.g., the number of bits in the LSB 510) may be a specified value or may be negotiated between the first and second wireless devices based on their capabilities. A counter value in the second subset of bits 506 may be appended to the shortened TSF value in the first subset of bits 504, incrementing each time a frame is transmitted with the same shortened TSF value, and may be reset to zero when the LSB of the shortened TSF rolls over.
[0062]
[0075] In some implementations, PN502 may be used to protect frames and assist in replay checking, and a frame is considered replayed by the receiving device if the received PN502 has a first subset of bits 504 that have a value lower than the corresponding value generated in the receiving device based on its local TSF. In some implementations, PN502 may be included in the plaintext within the frame so that the receiving device knows the PN used for protection (e.g., MIC generation or encryption of the payload). As described herein, in jam, record, and replay attacks, a malicious device may attempt to circumvent replay detection logic by jamming the original frame and later replaying an unmodified frame. The technique described herein, using a shortened TSF value as the first subset of bits 504, can provide further protection from such attacks by linking PN502 to transmission time, so that the received PN502 of the frame contains a shortened TSF value lower than the shortened TSF value in the receiving device, and thus delayed replayed frames will be discarded.
[0063]
[0076] According to the implementation described herein, a shortened TSF can enable clock drafts between the transmitting and receiving devices. For example, the receiving device may extend the period of inactive or dosed states to conserve battery power. In one particular example, the receiving device may have 10 listen intervals (LIs) and therefore may be able to skip up to 10 beacons. If the target beacon transmission time (TBTT) is every 100ms, the receiving device with 10 LIs will skip beacons for 1 second. Furthermore, since the clocks in the transmitting and receiving devices operate independently on each device, clock drift can occur over time. For example, the clocks in different devices may have an accuracy of + / -100ppm according to some standards. Therefore, in the worst case, the drift between the transmitting and receiving devices may be + / -200ppm. Thus, in such an example, the receiving device may turn off its local TSF for 200μs relative to the transmitting device after skipping 10 beacons (1 second). In implementations where the TSF has microsecond (μs) granularity, this results in a TSF mismatch when the LSB510 of a TSF value of 508 is compared at the receiving device. Therefore, shortening the LSB510 from the TSF value of 508 reduces the granularity of the indicated time value and can mask clock drift. In some implementations, the number of LSB510s to mask can be specified and used by all devices in the network. In other implementations, the number of LSB510s to mask can be negotiated between two devices based on one or more of the capabilities of the two devices, the LI used at the receiving device, the expected clock drift at the devices, the traffic flow, or any combination thereof. For example, a TSF value of 508 can be shortened by 8 bits of a 64-bit TSF value of 508, which can reduce the timing granularity to 1 / 4 of a unit of time (TU), or 256 μs, which may be sufficient to address most clock drift scenarios.
[0064]
[0077] However, the reduced granularity in time may result in multiple packets being sent within a reduced granularity time window (e.g., a 256 μs window) having the same shortened TSF value provided in the first subset of bits 504. The counter value provided in the second subset of bits 506 may be used to distinguish different frames being sent using the same shortened TSF value.
[0065]
[0078] In other implementations, protection against replay attacks may be provided by the receiving device synchronizing its TSF with the transmitting device's TSF after transitioning to the awake state. Such synchronization may allow an unshortened TSF value of 508 to be used as the PN. Furthermore, if the serving AP's clock is slower, the PN in the AP's downlink frames will have a lower TSF, and to avoid such a scenario, the client may not indicate the awake state to the AP until it synchronizes its TSF. In further implementations, the transmitting and receiving devices may specify or negotiate a time window for acceptable PN(TSF) values. For example, a fixed-size window for TSF values may be provided by the standard, or the two devices may negotiate a window based on their capabilities (e.g., LI and expected clock drift), and the receiving device may accept packets with TSF values within that window.
[0066]
[0079] Referring again to the example in Figure 5, the counter value provided in the second subset of bits 506 may be used to distinguish different frames transmitted with the same abbreviated TSF value. In some implementations, the counter value may be incremented each time a frame is transmitted with the same TSF value, and the counter value may be reset to zero when the LSB of the abbreviated TSF provided in the first subset of bits 504 rolls over. Thus, in such implementations, the overall PN502 is a concatenation of a partial TSF and an X-bit counter (e.g., X=8). In some implementations, PN502 may contain 48 bits, with the second subset of bits 506 corresponding to the lower octet and representing a counter. Thus, PN502 may contain PN[0:7] corresponding to an 8-bit counter and PN[8:47] corresponding to an abbreviated TSF value with bits TSF[8:47]. In some implementations, the TSF value 508 can be a 64-bit value, and in this example, the bits TSF[48:63] corresponding to MSB512 are not signaled.
[0067]
[0080] In some implementations, the receiving device performs a replay check by comparing a partial TSF to the current local time from the local TSF function. If the received value is lower than the partial local TSF, the frame may be dropped. If the received partial TSF is the same as the TSF received in the previous frame, the receiving device may compare the received counter value to the counter value of the previous frame. If the received counter value is less than or equal to the previous frame counter, the frame may be dropped. Otherwise, if the frame is not dropped, further frame processing is performed. For frames that pass the replay check and subsequent checks (e.g., MIC verification), the receiving device may record the received partial TSF and counter value as the last known values, respectively, for use in subsequent replay checks. In some implementations, due to clock drift, there is a corner case where the 9th bit of the TSF (when 8 bits are truncated) may have recently flipped at the receiving device, but this bit has not flipped at the transmitting device. For example, the receiving device bit of TSFR[0:8] = 100000001, while the transmitter has TSFT[0:8] = 011111101, corresponding to a time difference of 4 μs. In such a case, some tolerance may be implemented to allow for such a difference in TSF values. In some implementations, such tolerance may be predefined or negotiated between the two devices.
[0068]
[0081] In some implementations, when the PN502 value wraps around, both devices may perform a key regeneration operation to generate a new security key for encrypted communications. In some implementations, TSF[8:47], such a wrap-around would occur after 2^48 μs, or approximately 3258 days. In other implementations, seamless roaming and MLO techniques may be used, and one or more PN502 MIBs may be reserved for signaling identified entities in the PN space. In such implementations, if eight MSBs are used for PN space IDs, TSF[8:39] is available for a partial TSF corresponding to 2^40 μs, or approximately 13 days. Such timeframes for key regeneration operations provide that, for most scenarios, TSF / PN wrap-around is not the reason for key regeneration.
[0069]
[0082] Figure 6 shows an example of a signaling diagram 600 that supports frame protection in wireless communication. The signaling diagram 600 may implement one or more embodiments of the wireless communication network 100. For example, the signaling diagram 600 may be an example of an AP 102, as illustrated and described with reference to Figure 1, including AP102-a (e.g., a non-MLD AP), AP102-b (e.g., an MLD AP), AP102-c, AP102-d, AP102-e, and AP102-f. Similarly, the signaling diagram 600 may be an example of an STA 104, as illustrated and described with reference to Figure 1, including STA104-a (e.g., a non-AP MLD STA), STA104-b, STA104-c, and STA104-d (e.g., a non-MLD non-AP STA).
[0070]
[0083] As used herein, the term "AP" encompasses both non-MLD APs (e.g., APs operating on a single communication link) and MLD APs operating on two or more communication links. Similarly, the term "STA" encompasses both non-MLD non-AP STAs (e.g., STAs operating on a single communication link) and non-AP MLD STAs operating on two or more communication links. Therefore, in the following description of signaling diagram 600, when referring to communication between an STA and an AP, "STA" may be a non-MLD non-AP STA (e.g., STA104-d, a non-AP STA not belonging to a non-AP MLD) or a non-AP MLD STA (e.g., STA104-c, belonging to a non-AP MLD604), and "AP" may be a non-MLD AP (e.g., AP102-a) or an MLD AP (e.g., AP102-d, belonging to AP MLD606-a, or AP102-e, belonging to AP MLD604-b). In some implementations, a serving AP (or centralized controller) may provide security keys associated with a specific client / STA to neighboring APs belonging to the same Single Mobility Domain (SMD) MLD602.
[0071]
[0084] According to the described technique, in the MLO, each affiliated AP, such as AP102-b, AP102-c, and AP102-d, is allowed to have an independent clock. As a result, the TSF value on each link may be different. In some implementations, the PN based on partial TSF may be a per-link PN. In other implementations, affiliated APs such as AP102-b, AP102-c, and AP102-d may have the same clock, and therefore the TSF value may be the same across each associated link. In such implementations, the TSF-based PN may be elevated to an MLD level, such as the AP MLD604-a level. In such implementations, a second subset of bits on the PN that provides the counter value may consider frame transmission across all corresponding links (e.g., across the links for each of AP102-b, AP102-c, and AP102-d). In some implementations, the number of bits in the second subset of bits on the PN may be chosen to consider a counter value that increments for each frame across multiple links. As an addition or alternative, the total length of the PN may be increased to allocate more bits for the counter or to use extra bits to signal link ID information for seamless roaming.
[0072]
[0085] Figure 7 shows an example of a process flow 700 that supports frame protection in wireless communication. The process flow 700 can implement one or more embodiments of the wireless communication network 100 or signaling figure 600, as illustrated and described with reference to Figures 1 and 6. For example, the process flow 700 includes a first wireless device 702 (such as an AP or STA) and a second wireless device 704 (such as an AP or STA).
[0073]
[0086] In 706, the first wireless device 702 and the second wireless device 704 may optionally exchange capability signaling. The capability signaling may indicate, for example, the ability to perform time-based PN operation, expected clock drift, MLO capability, or any combination thereof.
[0074]
[0087] In 708, optionally, the first wireless device 702 and the second wireless device 704 may exchange negotiation signaling. The negotiation signaling may include a requested number of bits of a shortened TSF value, which may be based, for example, on the expected clock drift in one or both of the first wireless device 702 and the second wireless device 704. Additionally or alternatively, this negotiation may be for one or more specific traffic flows. For example, there may be one or more traffic flows that do not mind one or both of the first wireless device 702 and the second wireless device 704 having time-based replay checks, and some other flows that are more important from a security standpoint and should be protected based on time-based PN. In such an implementation, time-based PN replay checks may be enabled or disabled on a per-traffic-flow basis on the basis of the negotiation, and / or some shortened bits of the TSF value may be negotiated on a per-traffic-flow basis. Additionally, the negotiated TSF shortened value may be based on the listen interval (LI) for non-AP devices. Furthermore, in some implementations, APs may or may not have different shortened values for different non-APs, depending on their capabilities. For example, in the case of legacy non-AP STAs, APs may not use time-based PNs, and in the case of later generation non-APs, the negotiated value may depend on one or more of the following: feature support (i.e., whether the device supports the feature), clock drift, listen interval, traffic flow, etc.
[0075]
[0088] In 710, the first wireless communication device 702 may generate a PN based on its TSF value and counter. As described herein, the PN may include a first subset of bits containing the abbreviated TSF value and a second subset of bits containing the counter value. The counter value may be incremented for each transmit frame having the same abbreviated TSF value in the first subset of bits. In 712, the first wireless device 702 may transmit a frame transmit containing the PN, and the second wireless device 704 may receive it.
[0076]
[0089] In 714, the second wireless device 704 may compare the portion of PN with the local shortened TSF and a counter value. As described herein, the second wireless device 704 may maintain an independent TSF that gives the local TSF value. The second wireless device 704 may take the local TSF value, shorten the local TSF value according to the number of bits to be shortened, and compare the two TSF values. Furthermore, if the two TSF values are the same, the second wireless device 704 may compare the counter value provided in a second subset of bits.
[0077]
[0090] In 716, the second wireless device 704 may process or discard a frame based on a comparison. For example, if the received shortened TSF value is smaller than the local shortened TSF value, the second wireless device 704 may discard the frame. Furthermore, if the received shortened TSF value is the same as the local shortened TSF value, the second wireless device 704 may determine whether the previous received frame had the same shortened TSF value. If the previous received frame did not have the same shortened TSF value, the second wireless device 704 may proceed with further processing of the frame. If the previous received frame had the same shortened TSF value, the second wireless device 704 may compare the counter value of a second subset of bits with the previous counter value of the previous frame. If the counter value of the received frame is higher than the previous counter value of the previous frame, further processing of the received frame may be performed; otherwise, the frame may be dropped.
[0078]
[0091] Figure 8 shows an example of a process flow 800 that supports frame protection in wireless communication. The process flow 800 can implement one or more embodiments of the wireless communication network 100 or signaling figure 600, as illustrated and described with reference to Figures 1 and 6. For example, the process flow 800 includes a first wireless device 802 (such as an AP or STA) and a second wireless device 804 (such as an AP or STA).
[0079]
[0092] In 806, the first wireless device 802 and the second wireless device 804 may optionally exchange capability signaling. Capability signaling may indicate, for example, the ability to perform time-based PN operations, the ability to perform XOR MIC checks for data or management frames, expected clock drift, MLO capability, or any combination thereof.
[0080]
[0093] In 808, optionally, the first wireless device 802 and the second wireless device 804 may exchange negotiation signaling. The negotiation signaling may include, for example, a required number of bits in the TSF value to be shortened for use in an XOR operation on the MIC, which may be based on the expected clock drift in one or both of the first wireless device 802 and the second wireless device 804. Additionally or alternatively, this negotiation may be for one or more specific traffic flows. For example, there may be one or more traffic flows that do not mind one or both of the first wireless device 802 and the second wireless device 804 having time-based replay checks, and some other flows that are more important from a security standpoint and should be protected based on time-based PN. In such an implementation, time-based PN replay checks may be enabled or disabled on a per-traffic-flow basis based on the negotiation, and / or some shortened bits of the TSF value may be negotiated on a per-traffic-flow basis. As an addition or alternative, the negotiated TSF shortened value may be based on the LI for non-AP devices. Furthermore, in some implementations, APs may or may not have different shortened values for different non-APs, depending on their capabilities. For example, in the case of legacy non-AP STAs, APs may not use time-based PNs, and in the case of later generation non-APs, the negotiated value may depend on one or more of the following: feature support (i.e., whether the device supports the feature), clock drift, listen interval, traffic flow, etc.
[0081]
[0094] In 810, the first wireless communication device 802 may generate an MIC field. The MIC field may be generated according to established techniques based on a subset of the MAC header field and is generated during the encryption of the MPDU payload. Since the contents of the header field may change when the MPDU is retried, each time the MPDU is retried, a new MIC is generated only for the header field and the MPDU payload is not re-encrypted. In some implementations, the control frame may also be protected via the MIC.
[0082]
[0095] In 812, the first wireless device 802 may perform an XOR operation to XOR the shortened TSF value provided by the TSF in the first wireless device 802 with the MIC field. As described herein, the shortened TSF may have one or more LSBs that are shortened to adapt to the clock draft between the first wireless device 802 and the second wireless device 804. In some implementations, the number of bits in the shortened TSF corresponds to the number of bits in the MIC, and the XOR operation is performed on each bit of the MIC and shortened TSF. In other implementations, the shortened TSF and MIC may have different numbers of bits, and padding may be used for values with fewer bits. In 814, the first wireless device 802 may transmit a frame transmission containing the XORed MIC field, and the second wireless device 804 may receive it. In some implementations, the frame may be a data frame or a management frame.
[0083]
[0096] In 816, the second wireless device 804 may perform an XOR operation to XOR the received MIC field with a shortened version of the local TSF value in order to obtain the transmitted MIC field. In 818, the second wireless device 804 may decrypt the received frame in accordance with the encryption procedure established for communication between the first wireless device 802 and the second wireless device 804. In 818, the second wireless device 804 may generate the received MIC field based on the decrypted frame.
[0084]
[0097] In 822, the second wireless device 804 may process or discard the received frame based on whether the generated MIC field matches the XORed received MIC field. In some implementations, the second wireless device 804 may process the received frame if the two MICs match, and may drop the received frame if there is a mismatch between the two MICs. In some implementations, since the TSF changes in the first wireless device 802, the XORed MIC values may be different when the packet is retransmitted, and this replay check and XOR operation provides the MIC associated with the transmitted frame for an MIC check that may be performed if the frame is not discarded. In some implementations, the retransmitted frame may occur on any link in the MLD operation, and the TSF corresponding to that link will be used in the XOR step in the first wireless device 802 and the second wireless device 804.
[0085]
[0098] In some other implementations, a TSF-based PN may be used for management or data frame encryption to help prevent replay attacks. In such implementations, the frame payload may be re-encrypted for frame retransmission. Furthermore, such techniques may provide that the associated AP has a TSF synchronized with a common clock.
[0086]
[0099] Figure 9 shows a block diagram 900 of a first wireless device 920 supporting frame protection in wireless communication according to one or more aspects of the present disclosure. The first wireless device 920 may be an example of an aspect of the first wireless device as described with reference to Figures 2 to 8. The first wireless device 920 or its various components may be an example of means for performing various aspects of frame protection in wireless communication as described herein. For example, the first wireless device 920 may include a packet number manager 925, a communication manager 930, a MIC manager 935, an XOR component 940, a TSF manager 945, a counter manager 950, an MLO manager 955, an encryption manager 960, or any combination thereof. Each of these components, or each of these components or subordinate components (e.g., one or more processors, one or more memories), may communicate with one another directly or indirectly (e.g., via one or more buses).
[0087]
[0100] The wireless communication device 920 can support wireless communication in accordance with examples such as those disclosed herein. The packet number manager 925 can be configured to generate a packet number for a frame to be transmitted to a second wireless communication device, the packet number comprising a first subset of bits corresponding to a portion of the timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value. The communication manager 930 can be configured to transmit a frame, which includes a portion containing a packet number, to the second wireless communication device. In some examples, the frame includes a header portion, and the packet number is used to protect the contents of the header portion. In some examples, the frame is a control frame, and the packet number is used to protect the contents of the control frame.
[0088]
[0101] In some examples, to support the generation of packet numbers, the TSF manager 945 can be configured to generate a portion of the timing synchronization function value as a shortened version of the timing synchronization function value. In some examples, to support the generation of packet numbers, the counter manager 950 can be configured to append a counter value to a portion of the timing synchronization function value. In some examples, the shortened version of the timing synchronization function value can be shortened by removing an amount of the least significant bits of the timing synchronization function value.
[0089]
[0102] In some examples, the TSF manager 945 can be configured or is configured to communicate with a second wireless communication device to negotiate the number of bits to be shortened from the timing synchronization function value. In some examples, the number of bits shortened varies for different traffic flows and is based on the listening interval of the first wireless communication device or the second wireless communication device, or any combination thereof. In some examples, the shortened version of the timing synchronization function value may be shortened by an amount based on the potential clock drift between the first and second wireless communication devices.
[0090]
[0103] In some examples, the first wireless communication device may be a non-multilink device (MLD) non-access point (AP) STA or a non-AP STA belonging to a non-AP MLD, and the second wireless communication device may be a non-MLD AP or an AP belonging to an AP MLD, or the first wireless communication device may be a non-MLD AP or an AP belonging to an AP MLD, and the second wireless communication device may be a non-AP MLD non-AP STA or a non-AP STA belonging to a non-AP MLD. In some examples, when a non-AP STA transitions to the awake state, its timing synchronization function may be synchronized with the corresponding timing synchronization function of the associated AP operating on that link.
[0091]
[0104] In some examples, the portion of the timing synchronization function value may correspond to a specified time window or to a time window of an acceptable timing synchronization function value having a duration negotiated with a second wireless communication device.
[0092]
[0105] In some examples, a frame may be a first frame having a first portion of a timing synchronization function value and a first counter value, and a second frame sent after the first frame having a first portion of the timing synchronization function value and a second counter value which is an increment from the first counter value. In some examples, the subsequent counter value of the frame following the second frame may be reset to zero in accordance with the change in the portion of the timing synchronization function value.
[0093]
[0106] In some examples, the TSF manager 945 can be configured to communicate with a second wireless communication device in order to negotiate a tolerance between a timing synchronization function value and a corresponding timing synchronization function value in the second wireless communication device, which enables the processing of frames in the second wireless communication device.
[0094]
[0107] In some examples, the encryption manager 960 can be configured to regenerate the encryption key associated with the communication between the first wireless communication device and the second wireless communication device in response to the packet number being reset to an initial value. In some examples, the first wireless communication device may be an MLD operating on multiple links, with separate timing synchronization functions maintained on each link. In some examples, the first wireless communication device may be an MLD operating on multiple links, with the same timing synchronization function used to generate timing synchronization function values for each link.
[0095]
[0108] As an addition or alternative, the wireless communication device 900 may support wireless communication according to embodiments such as those disclosed herein. The MIC manager 935 is configurable or configured to generate a message integrity check (MIC) field for a frame to be transmitted to a second wireless communication device. The XOR component 940 is configurable or configured to perform an XOR function on the MIC field to generate an XORed MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to some of the timing synchronization function values associated with the frame. In some examples, the communication manager 930 is configurable or configured to transmit a frame containing the XORed MIC field to a second wireless communication device.
[0096]
[0109] In some examples, the MIC field may be generated during frame encryption. In some examples, a portion of the timing synchronization feature value may be a shortened version of the timing synchronization feature value in the first wireless communication device. In some examples, the shortened version of the timing synchronization feature value may be shortened by removing a certain amount of the least significant bits of the timing synchronization feature value.
[0097]
[0110] In some examples, the shortened version of the timing synchronization feature value may be shortened by an amount based on the potential clock drift between the first wireless communication device and at least the second wireless communication device. In some examples, the shortened version of the timing synchronization feature value may be shortened by removing an amount of the least significant bit of the timing synchronization feature value.
[0098]
[0111] In some examples, the communications manager 930 can be configured to cause a subsequent frame to retransmit the data contained in the frame, which includes an updated XORed MIC field based on a corresponding subsequent timing synchronization value associated with the subsequent frame. In some examples, the contents of the subsequent frame may not be re-encrypted when the frame is retransmitted. In some examples, the frame may be a data frame or a management frame.
[0099]
[0112] Figure 10 shows a block diagram 1000 of a second wireless device 1020 supporting frame protection in wireless communication according to one or more aspects of the present disclosure. The second wireless device 1020 may be an example of an aspect of the second wireless device as described with reference to Figures 2 to 8. The second wireless device 1020 or its various components may be an example of means for performing various aspects of frame protection in wireless communication as described herein. For example, the second wireless device 1020 may include a packet number manager 1025, a frame processing manager 1030, a MIC manager 1035, an XOR component 1040, a TSF manager 1045, an MLO manager 1050, a counter manager 1055, an encryption manager 1060, or any combination thereof. Each of these components, or each of these components or subordinate components (e.g., one or more processors, one or more memories) may communicate with one another directly or indirectly (e.g., via one or more buses).
[0100]
[0113] The wireless communication device 1020 can support wireless communication in accordance with examples such as those disclosed herein. The packet number manager 1025 is configurable or configured to receive frames containing a packet number that includes a first subset of bits corresponding to a first timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value. The frame processing manager 1030 is configurable or configured to process frames at least in part on whether the time value indicated by the first subset of bits corresponds to a local time maintained in a second wireless communication device.
[0101]
[0114] In some examples, a frame may include a header portion, and the packet number is used to protect the contents of the header portion. In some examples, a frame may be a control frame, and the packet number is used to protect the contents of the control frame.
[0102]
[0115] In some examples, the TSF manager 1045 can be configured to cause a second wireless communication device to generate a second timing synchronization function value as a shortened version of the time value of the timing synchronization function, the local time maintained in the second wireless communication device corresponds to the second timing synchronization function value, and the frames are processed based on the second timing synchronization function value which matches the first timing synchronization function value.
[0103]
[0116] In some examples, the TSF manager 1045 further includes communicating with a first wireless communication device to negotiate the number of bits to be shortened from the time value of the timing synchronization function, and the frame is configurable or configured to be transmitted by the first wireless communication device. In some examples, the number of bits shortened differs for different traffic flows, and the number of bits shortened is based on the listening interval of the first wireless communication device or the second wireless communication device, or any combination thereof.
[0104]
[0117] In some examples, a shortened version of the time value of the timing synchronization function allows for clock drift between a second wireless communication device and at least the first wireless communication device.
[0105]
[0118] In some examples, the second wireless communication device may be a non-multilink device (MLD) AP, or an AP belonging to an AP MLD, and may communicate with the first wireless communication device, which is a non-MLD non-AP STA, or a non-AP STA belonging to a non-AP MLD; or the first wireless communication device may be a non-MLD AP, or an AP belonging to an AP MLD, and the second wireless communication device may be a non-AP MLD non-AP STA, or a non-AP STA belonging to a non-AP MLD. In some examples, when the non-AP STA transitions to the awake state, it synchronizes its timing synchronization function with the corresponding timing synchronization function of the associated AP operating on that link.
[0106]
[0119] In some examples, the first timing synchronization function value may correspond to a specified time window or a time window of an acceptable timing synchronization function value having a duration negotiated with the first wireless communication device. In some examples, a frame may be a first frame having a first timing synchronization function value and a first counter value, and a second frame transmitted after the first frame having the first timing synchronization function value and a second counter value which is an increment from the first counter value. In some examples, the subsequent counter value of a frame following the second frame may be reset to zero in response to a change in the first timing synchronization function value.
[0107]
[0120] In some examples, the TSF manager 1045 can be configured to compare a first subset of bits with a third subset of bits corresponding to a second timing synchronization function value generated in a second wireless communication device and associated with the time the frame was received.
[0108]
[0121] In some examples, the frame processing manager 1030 can be configured to discard frames in response to a mismatch between a first subset of bits and a third subset of bits. In some examples, the frame processing manager 1030 can be configured to determine, in response to a match between a first subset of bits and a third subset of bits, that a frame is an initial frame received with a first timing synchronization function value, or that the counter value exceeds the previous counter value of the previous frame having the first timing synchronization function value. In some examples, the frame processing manager 1030 can be configured to process frames. In some examples, the frame processing manager 1030 can be configured to discard frames in response to a frame whose counter value is less than or equal to a previously received counter value having the first timing synchronization function value.
[0109]
[0122] In some examples, the TSF manager 1045 can be configured to record a first timing synchronization function value and a counter value for use when processing subsequent frame headers. In some examples, the TSF manager 1045 can be configured to communicate with the first wireless communication device to negotiate a tolerance between the first timing synchronization function value and the corresponding timing synchronization function value in the first wireless communication device, which enables the processing of frames in the second wireless communication device.
[0110]
[0123] In some examples, the encryption manager 1060 can be configured to regenerate the encryption key associated with the communication between the second wireless communication device and the first wireless communication device in response to the packet number being reset to an initial value. In some examples, the second wireless device is a multilink device (MLD) operating on multiple links, and separate timing synchronization functions may be maintained on each link.
[0111]
[0124] As an addition or alternative, the wireless communication device 1000 may support wireless communication according to embodiments such as those disclosed herein. The MIC manager 1035 is configurable or configured to receive frames containing a message integrity check (MIC) field. The XOR component 1040 is configurable or configured to perform an XOR function on the MIC field to produce an XORed MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to some of the timing synchronization function values associated with the frame's reception time. In some examples, the frame processing manager 1030 is configurable or configured to process the XORed MIC field to determine the frame integrity of the frame.
[0112]
[0125] In some examples, the TSF manager 1045 can be configured or is configured such that a portion of the timing synchronization function value is a shortened version of the timing synchronization function value in the second wireless communication device. In some examples, the shortened version of the timing synchronization function value may be shortened by an amount based on the potential clock drift between the second wireless communication device and the first wireless communication device.
[0113]
[0126] In some examples, the encryption manager 1060 is configurable or configured to decrypt frames. In some examples, the MIC manager 1035 is configurable or configured to generate a received frame MIC field based on the decrypted frame. In some examples, the frame processing manager 1030 is configurable or configured to discard frames in response to a mismatch between the received frame MIC field and the XORed MIC field, or to decrypt frames in response to a match between the received frame MIC field and the XORed MIC field. In some examples, the second wireless communication device may be an MLD operating on multiple links, with separate timing synchronization functions maintained on each link.
[0114]
[0127] Figure 11 shows a flowchart illustrating a method 1100 that supports frame protection in wireless communications according to one or more aspects of the present disclosure. The operation of method 1100 can be carried out by a first wireless device or its components, as described herein. For example, the operation of method 1100 can be carried out by a first wireless device, as described with reference to Figures 2 to 9. In some examples, the first wireless device may execute a set of instructions for controlling functional elements of the first wireless device to perform the functions described. In addition or alternatively, the first wireless device may use dedicated hardware to carry out aspects of the functions described.
[0115]
[0128] In 1105, the method may include generating a packet number for a frame to be transmitted to a second wireless communication device, wherein the packet number includes a first subset of bits corresponding to a portion of the timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value. The operation of block 1105 can be performed according to examples disclosed herein, such as the generation of PN 502 in Figure 5 and / or the generation of PN 710 in Figure 7. The PN may include information similar to that shown in Figures 5 to 7, which will be described with reference to Figures 5 to 7. In some examples, the operation of 1105 may be performed by a packet number manager 925, as described with reference to Figure 9.
[0116]
[0129] In 1110, the method may include transmitting a frame, which includes a portion containing a packet number, to a second wireless communication device. The operation of block 1110 may be performed according to examples disclosed herein, such as the transmission of frame 410 in Figure 4 and / or the transmission of frame 712 in Figure 7. The frame may contain information similar to that shown in Figures 5-7, which will be described with reference to Figures 5-7. In some examples, the operation of 1110 may be performed by a communication manager 930, as described with reference to Figure 9.
[0117]
[0130] Figure 12 shows a flowchart illustrating a method 1200 that supports frame protection in wireless communications according to one or more aspects of the present disclosure. The operation of method 1200 may be carried out by a second wireless device or its components, as described herein. For example, the operation of method 1200 may be carried out by a second wireless device, as described with reference to Figures 2-8 and 10. In some examples, the second wireless device may execute a set of instructions for controlling functional elements of the second wireless device to perform the functions described. In addition or alternatively, the second wireless device may use dedicated hardware to carry out aspects of the functions described.
[0118]
[0131] In 1205, the method may include receiving a frame containing a packet number that includes a first subset of bits corresponding to a first timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value. The operation of block 1205 may be performed according to examples disclosed herein, such as receiving frame 410 in Figure 4 and / or receiving frame 712 in Figure 7. The frame may contain information similar to that shown in Figures 5-7, which will be described with reference to Figures 5-7. In some examples, the operation of 1205 may be performed by a packet number manager 1025, as described with reference to Figure 10.
[0119]
[0132] In 1210, the method may include processing a frame based at least in part on whether the time value indicated by a first subset of bits corresponds to a local time maintained in a second wireless communication device. The operation of block 1210 may be performed according to examples disclosed herein, such as the processing of frame 410 in Figure 4, and / or the processing of frames 714 and 716 in Figure 7. The frames may contain information similar to that shown in Figures 5 to 7, which were described with reference to Figures 5 to 7. In some examples, the operation of 1210 may be performed by a frame processing manager 1030, as described with reference to Figure 10.
[0120]
[0133] Figure 13 shows a flowchart illustrating a method 1300 that supports frame protection in wireless communications according to one or more aspects of the present disclosure. The operation of method 1300 can be carried out by a first wireless device or its components, as described herein. For example, the operation of method 1300 can be carried out by a first wireless device, as described with reference to Figures 2 to 9. In some examples, the first wireless device may execute a set of instructions for controlling functional elements of the first wireless device to perform the functions described. In addition or alternatively, the first wireless device may use dedicated hardware to carry out aspects of the functions described.
[0121]
[0134] In 1305, the method may include generating a message integrity check (MIC) field for a frame to be transmitted to a second wireless communication device. The operation of block 1305 may be performed according to examples disclosed herein, such as MIC generation in 810 of Figure 8. The MIC may include information similar to that shown in Figures 5-8, which were described with reference to Figures 5-8. In some examples, the operation of 1305 may be performed by an MIC manager 935, as described with reference to Figure 9.
[0122]
[0135] In 1310, the method may include performing an XOR function on the MIC field to produce an XORed MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to some of the timing synchronization function values associated with the frame. The operation of block 1310 may be performed according to examples disclosed herein, such as the XOR of the MIC field in 812 of Figure 8. The MIC contains information and may be processed with an XOR operation similar to that described with respect to Figures 5-8 and shown in Figures 5-8. In some examples, as described with reference to Figure 9, the mode of operation of 1310 may be performed by the XOR component 940.
[0123]
[0136] In 1315, the method may include transmitting a frame containing an XORed MIC field to a second wireless communication device. The operation of block 1315 may be performed according to examples disclosed herein, such as the transmission of frame 410 in Figure 4 and / or the transmission of frame 814 in Figure 8. The frames may be described with reference to Figures 5-8 and may contain information similar to that shown in Figures 5-8. In some examples, the operation of 1315 may be performed by a communication manager 930, as described with reference to Figure 9.
[0124]
[0137] Figure 14 shows a flowchart illustrating a method 1400 that supports frame protection in wireless communications according to one or more aspects of the present disclosure. The operation of method 1400 can be carried out by a second wireless device or its components, as described herein. For example, the operation of method 1400 can be carried out by a second wireless device, as described with reference to Figures 2-8 and 10. In some examples, the second wireless device may execute a set of instructions for controlling functional elements of the second wireless device to perform the functions described. In addition or alternatively, the second wireless device may use dedicated hardware to carry out aspects of the functions described.
[0125]
[0138] In 1405, the method may include receiving a frame containing a Message Integrity Check (MIC) field. The operation of block 1405 may be performed according to the examples disclosed herein, such as receiving frame 410 in Figure 4 and / or receiving frame 814 in Figure 8. The frames may be described with reference to Figures 5-8 and may contain information similar to that shown in Figures 5-8. In some examples, the operation of 1405 may be performed by an MIC manager 1035, as described with reference to Figure 10.
[0126]
[0139] In 1410, the method may include performing an XOR function on the MIC field to produce an XORed MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to a portion of the timing synchronization function value associated with the frame reception time. The operation of block 1410 may be performed according to examples disclosed herein, such as the XOR of the MIC field in 816 of Figure 8. The MIC contains information and may be processed with an XOR operation similar to that described with respect to Figures 5-8 and shown in Figures 5-8. In some examples, as described with reference to Figure 10, an aspect of the operation of 1410 may be performed by the XOR component 1040.
[0127]
[0140] In 1415, the method may include processing an XORed MIC field to determine the frame integrity of the frame. The operation of block 1415 may be performed according to examples disclosed herein, such as the processing of the MIC field in 820 and 822 of Figure 8. The MIC field may contain information similar to that shown in Figures 5 to 8, which are described with reference to Figures 5 to 8. In some examples, the operation of 1415 may be performed by a frame processing manager 1030, as described with reference to Figure 10.
[0128]
[0141] Implementation examples are described in the following numbered clauses.
[0129]
[0142] Clause 1: A first wireless communication device comprising a processing system comprising a processor circuit and a memory circuit for storing code, wherein the processing system is configured to cause the first wireless device to generate a packet number for a frame to be transmitted to a second wireless communication device, the packet number comprising a first subset of bits corresponding to a portion of a timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value, and transmit a frame comprising the portion containing the packet number to the second wireless communication device.
[0130]
[0143] Clause 2: A frame includes a header portion, and a packet number is used to protect the contents of the header portion, as defined in Clause 1, for the first wireless communications device.
[0131]
[0144] Clause 3: The first wireless communication device as described in Clause 1 or 2, wherein the frame is a control frame and the packet number is used to protect the contents of the control frame.
[0132]
[0145] Clause 4: The contents of the frame are protected by an integrity check that generates a MIC over the contents to be protected, or by encryption of the contents to be protected, as described in any one of Clauses 1 to 3, for the first wireless communication device.
[0133]
[0146] Clause 5: The first wireless communication device as described in any one of Clauses 1 to 4, wherein the processing system is configured to cause the first wireless device to generate a portion of the timing synchronization function value as a shortened version of the timing synchronization function value and to append a counter value to the portion of the timing synchronization function value.
[0134]
[0147] Clause 6: The shortened version of the timing synchronization function value is shortened by removing an amount of the least significant bit of the timing synchronization function value, as described in Clause 5 for the first wireless communication device.
[0135]
[0148] Clause 7: The processing system is further configured to cause the first wireless device to communicate with a second wireless communication device in order to negotiate a number of bits to be shortened from a timing synchronization function value, as described in Clause 5 or 6.
[0136]
[0149] Clause 8: The number of bits shortened will differ for different traffic flows, and the number of bits shortened will be at least in part based on the listening interval of the first wireless communication device or the second wireless communication device, or any combination thereof, as described in Clause 7.
[0137]
[0150] Clause 9: The shortened version of the timing synchronization function value is shortened by an amount at least in part based on the potential clock drift between the first wireless communication device and the second wireless communication device, as described in any one of Clauses 5 to 8.
[0138]
[0151] Clause 10: The first wireless communication device is a non-MLD non-AP STA or a non-AP STA belonging to a non-AP MLD, and the second wireless communication device is an AP belonging to a non-MLD AP or AP MLD, or the first wireless communication device is an AP belonging to a non-MLD AP or AP MLD, and the second wireless communication device is a non-AP MLD non-AP STA or a non-AP STA belonging to a non-AP MLD, and the non-AP STA synchronizes its timing synchronization function with the corresponding timing synchronization function of the associated AP operating on its link when the non-AP STA transitions to the awake state, as described in any one of Clauses 1 to 9.
[0139]
[0152] Clause 11: The portion of the timing synchronization function value is either a specified time window or corresponds to a time window of an acceptable timing synchronization function value having a duration negotiated with the second wireless communication device, as described in any one of Clauses 1 to 10.
[0140]
[0153] Clause 12: The first wireless communication device as described in any one of Clauses 1 to 11, wherein the frame is a first frame having a first portion of a timing synchronization function value and a first counter value, and a second frame transmitted after the first frame having a first portion of a timing synchronization function value and a second counter value which is an increment from the first counter value.
[0141]
[0154] Clause 13: The counter value following the second frame and subsequent frames of the first wireless communication device as described in Clause 12 is reset to zero in accordance with the change in the portion of the timing synchronization function value.
[0142]
[0155] Clause 14: The first wireless communication device as described in any one of Clauses 1 to 13, further configured to cause the first wireless device to communicate with the second wireless communication device in order to negotiate a tolerance between a timing synchronization function value and a corresponding timing synchronization function value in the second wireless communication device, which enables the processing of frames in the second wireless communication device.
[0143]
[0156] Clause 15: The first wireless communication device as described in any of Clauses 1 to 14, further configured to cause the first wireless device to regenerate the cryptographic key associated with the communication between the first wireless communication device and the second wireless communication device in response to the packet number being reset to an initial value.
[0144]
[0157] Clause 16: The first wireless communication device is an MLD operating on multiple links, with separate timing synchronization functions maintained on each link, as described in any one of Clauses 1 to 15.
[0145]
[0158] Clause 17: The first wireless communication device is an MLD operating on multiple links, and the same timing synchronization function is used to generate timing synchronization function values for each link, as described in any one of Clauses 1 to 16.
[0146]
[0159] Clause 18: A second wireless communication device comprising a processing system including a processor circuit and a memory circuit for storing code, wherein the processing system is configured to cause the second wireless device to receive a frame including a packet number including a first subset of bits corresponding to a first timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value, and to process the frame at least in part on whether the time value indicated by the first subset of bits corresponds to a local time maintained in the second wireless communication device.
[0147]
[0160] Clause 19: A frame includes a header portion, and a packet number is used to protect the contents of the header portion, as described in Clause 18 for the second wireless communications device.
[0148]
[0161] Clause 20: The second wireless communications device as described in Clause 18 or 19, wherein the frame is a control frame and the packet number is used to protect the contents of the control frame.
[0149]
[0162] Clause 21: The second wireless communication device as described in any one of Clauses 18 to 20, further comprising generating a second timing synchronization function value as a shortened version of the time value of the timing synchronization function, wherein the local time maintained in the second wireless communication device corresponds to the second timing synchronization function value, and frames are processed at least in part on the second timing synchronization function value which matches the first timing synchronization function value.
[0150]
[0163] Clause 22: The processing system is configured to cause a second wireless device to communicate with a first wireless communication device in order to negotiate the number of bits to be shortened from the time value of the timing synchronization function, and the frame is transmitted by the first wireless communication device to the second wireless communication device as described in Clause 21.
[0151]
[0164] Clause 23: The number of bits shortened will differ for different traffic flows, and the number of bits shortened will be at least in part based on the listening interval of the first wireless communication device or the second wireless communication device, or any combination thereof, as described in Clause 22.
[0152]
[0165] Clause 24: A shortened version of the time value of the timing synchronization function enables clock drift between the second wireless communication device and at least the first wireless communication device, as described in any one of Clauses 21 to 23.
[0153]
[0166] Clause 25: The second wireless communication device is a non-MLD AP or an AP belonging to AP MLD and communicates with a first wireless communication device which is a non-MLD non-AP STA or a non-AP STA belonging to non-AP MLD, or the first wireless communication device is a non-MLD AP or an AP belonging to AP MLD, and the second wireless communication device is a non-AP MLD non-AP STA or a non-AP STA belonging to non-AP MLD, and the non-AP STA synchronizes its timing synchronization function with the corresponding timing synchronization function in the associated AP operating on its link, as described in any one of Clauses 18 to 24.
[0154]
[0167] Clause 26: The first timing synchronization function value is a specified time window or corresponds to a time window of an acceptable timing synchronization function value having a duration negotiated with the first wireless communication device, the second wireless communication device as described in any one of Clauses 18 to 25.
[0155]
[0168] Clause 27: A second wireless communication device as described in any one of Clauses 18 to 26, wherein a frame is a first frame having a first timing synchronization function value and a first counter value, and a second frame transmitted after the first frame having a first timing synchronization function value and a second counter value which is an increment from the first counter value.
[0156]
[0169] Clause 28: The second wireless communication device as described in Clause 27, wherein the counter value for subsequent frames following the second frame is reset to zero in accordance with the change in the first timing synchronization function value.
[0157]
[0170] Clause 29: The processing system is configured to cause the second wireless device to compare a first subset of bits with a third subset of bits corresponding to a second timing synchronization function value generated in the second wireless communication device and associated with the time the frame was received, as described in any one of Clauses 18 to 28.
[0158]
[0171] Clause 30: The processing system of the second wireless communication device as described in Clause 29 is configured to cause the second wireless device to discard a frame in response to a mismatch between a first subset of bits and a third subset of bits.
[0159]
[0172] Clause 31: The processing system is configured to cause the second wireless communication device, as described in any one of Clauses 29 to 30, to process a frame, depending on the match between a first subset of bits and a third subset of bits, to determine whether the frame is an initial frame received with a first timing synchronization function value, or whether the counter value exceeds the previous counter value of the previous frame having the first timing synchronization function value.
[0160]
[0173] Clause 32: The processing system of the second wireless communication device as described in any one of Clauses 29 to 31 is configured to cause the second wireless device to discard frames in accordance with frames whose counter value is less than or equal to a previously received counter value having a first timing synchronization function value.
[0161]
[0174] Clause 33: The processing system is configured to cause the second wireless communication device, as described in any one of Clauses 18 to 32, to record a first timing synchronization function value and a counter value for use when processing subsequent frame headers.
[0162]
[0175] Clause 34: A second wireless communication device as described in any one of Clauses 18 to 33, further comprising communicating with the first wireless communication device to negotiate a tolerance between a first timing synchronization function value and a corresponding timing synchronization function value in the first wireless communication device, which enables the processing of frames in the second wireless communication device.
[0163]
[0176] Clause 35: The processing system is configured to cause the second wireless device to regenerate the cryptographic key associated with the communication between the second wireless communication device and the first wireless communication device in response to the packet number being reset to an initial value, as described in any one of Clauses 18 to 34.
[0164]
[0177] Clause 36: The second wireless device is an MLD operating on multiple links, with separate timing synchronization functions maintained on each link, as described in any one of Clauses 18 to 35.
[0165]
[0178] Clause 37: The first wireless communication device is an MLD operating on multiple links, and the same timing synchronization function is used to generate timing synchronization function values for each link, as described in any one of Clauses 18 to 36.
[0166]
[0179] Clause 38: A first wireless communication device comprising a processing system comprising a processor circuit and a memory circuit for storing code, wherein the processing system is configured to cause the first wireless device to generate an MIC field for a frame to be transmitted to a second wireless communication device, to perform an XOR function on the MIC field to generate an XORed MIC field in which bits of the MIC field are XORed with a set of bits corresponding to a portion of the timing synchronization function values associated with the frame, and to transmit a frame containing the XORed MIC field to the second wireless communication device.
[0167]
[0180] Clause 39: The MIC field is generated during frame encryption by the first wireless communications device as described in Clause 38.
[0168]
[0181] Clause 40: The portion of the timing synchronization function value is a shortened version of the timing synchronization function value in the first wireless communication device as described in Clause 38 or 39.
[0169]
[0182] Clause 41: The shortened version of the timing synchronization function value is shortened by removing an amount of the least significant bit of the timing synchronization function value, as described in Clause 40 for the first wireless communication device.
[0170]
[0183] Clause 42: The shortened version of the timing synchronization function value is shortened by an amount at least partially based on the potential clock drift between the first wireless communication device and at least the second wireless communication device, as described in Clause 40 or 41.
[0171]
[0184] Clause 43: The shortened version of the timing synchronization function value is shortened by removing an amount of the least significant bits of the timing synchronization function value, for the first wireless communication device described in any one of Clauses 40 to 42.
[0172]
[0185] Clause 44: The processing system is configured to cause the first wireless communication device, as described in any one of Clauses 38 to 43, to retransmit the data contained in the frame in a subsequent frame, wherein the subsequent frame includes an updated XORed MIC field based on a corresponding subsequent timing synchronization function value associated with the subsequent frame.
[0173]
[0186] Clause 45: The contents of subsequent frames are not re-encrypted when the frames are retransmitted, for the first wireless communications device as described in Clause 44.
[0174]
[0187] Clause 46: A frame is a data frame or a management frame, as defined in any one of Clauses 38 to 45, for the first wireless communication device.
[0175]
[0188] Clause 47: A second wireless communication device comprising a processing system comprising a processor circuit and a memory circuit for storing code, wherein the processing system is configured to cause the second wireless device to receive a frame comprising an MIC field, to perform an XOR function on the MIC field to generate an XORed MIC field in which the bits of the MIC field are XORed with a set of bits corresponding to a portion of a timing synchronization function value associated with the time of reception of the frame, and to process the XORed MIC field to determine the frame integrity of the frame.
[0176]
[0189] Clause 48: The portion of the timing synchronization function value is a shortened version of the timing synchronization function value in the second wireless communication device as described in Clause 47.
[0177]
[0190] Clause 49: The shortened version of the timing synchronization function value is shortened by an amount at least partially based on the potential clock drift between the second wireless communication device and the first wireless communication device, as described in Clause 48.
[0178]
[0191] Clause 50: A second wireless communication device as described in any one of Clauses 47 to 49, further comprising decoding a frame, generating a received frame MIC field based on the decoded frame, and discarding a frame in response to a mismatch between the received frame MIC field and the XORed MIC field, or decoding a frame in response to a match between the received frame MIC field and the XORed MIC field.
[0179]
[0192] Clause 51: The second wireless communication device is an MLD operating on multiple links, with separate timing synchronization functions maintained on each link, as described in any one of Clauses 47 to 50.
[0180]
[0193] Clause 52: The first wireless communication device is an MLD operating on multiple links, and the same timing synchronization function is used to generate timing synchronization function values for each link, as described in any one of Clauses 47 to 51.
[0181]
[0194] Embodiment 53: A method for wireless communication in a first wireless communication device, comprising: generating a packet number for a frame to be transmitted to a second wireless communication device, the packet number comprising a first subset of bits corresponding to a portion of a timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value; and transmitting a frame, comprising the portion comprising the packet number, to the second wireless communication device.
[0182]
[0195] Embodiment 54: The method according to Embodiment 53, wherein the frame includes a header portion, and the packet number is used to protect the contents of the header portion.
[0183]
[0196] Embodiment 55: The method according to Embodiment 53 or 54, wherein the frame is a control frame and the packet number is used to protect the contents of the control frame.
[0184]
[0197] Embodiment 56: The method according to any one of Embodiments 53 to 55, wherein the contents of the frame are protected by an integrity check that generates a message integrity check (MIC) over the contents to be protected, or by encryption of the contents to be protected.
[0185]
[0198] Embodiment 57: The method according to any one of Embodiments 53 to 56, wherein generating a packet number includes generating a portion of the timing synchronization function value as a shortened version of the timing synchronization function value and adding a counter value to the portion of the timing synchronization function value.
[0186]
[0199] Embodiment 58: The method according to Embodiment 57, wherein the shortened version of the timing synchronization function value is shortened by removing an amount of the least significant bit of the timing synchronization function value.
[0187]
[0200] Embodiment 59: The method according to Embodiment 57 or 58, further comprising communicating with a second wireless communication device to negotiate the number of bits to be shortened from the timing synchronization function value.
[0188]
[0201] Embodiment 60: The method according to Embodiment 59, wherein the number of bits shortened differs for different traffic flows, and the number of bits shortened is at least in part based on the listening interval of the first wireless communication device or the second wireless communication device, or any combination thereof.
[0189]
[0202] Embodiment 61: The method according to any one of Embodiments 57 to 60, wherein the shortened version of the timing synchronization function value is shortened by an amount that is at least partially based on a potential clock drift between the first wireless communication device and the second wireless communication device.
[0190]
[0203] Embodiment 62: The method according to any one of Embodiments 53 to 61, wherein the first wireless communication device is a non-multilink device (MLD) non-access point (AP) STA or a non-AP STA belonging to a non-AP MLD, and the second wireless communication device is a non-MLD AP or an AP belonging to an AP MLD, or the first wireless communication device is a non-MLD AP or an AP belonging to an AP MLD, and the second wireless communication device is a non-AP MLD non-AP STA or a non-AP STA belonging to a non-AP MLD, and the non-AP STA synchronizes its timing synchronization function with the corresponding timing synchronization function of the associated AP operating on the link when the non-AP STA transitions to the awake state.
[0191]
[0204] Embodiment 63: The method according to any one of Embodiments 53 to 62, wherein the portion of the timing synchronization function value is a specified time window or corresponds to a time window of an acceptable timing synchronization function value having a duration negotiated with a second wireless communication device.
[0192]
[0205] Embodiment 64: The method according to any one of embodiments 53 to 63, wherein the frame is a first frame having a first portion of a timing synchronization function value and a first counter value, and a second frame transmitted after the first frame having a first portion of a timing synchronization function value and a second counter value which is an increment from the first counter value.
[0193]
[0206] Embodiment 65: The method according to Embodiment 64, wherein the counter value for the frame following the second frame is reset to zero in accordance with the change in the portion of the timing synchronization function value.
[0194]
[0207] Embodiment 66: The method according to any one of embodiments 53 to 65, further comprising communicating with a second wireless communication device to negotiate a tolerance between a timing synchronization function value and a corresponding timing synchronization function value in the second wireless communication device, which enables the processing of frames in the second wireless communication device.
[0195]
[0208] Embodiment 67: The method according to any one of embodiments 53 to 66, further comprising regenerating the cryptographic key associated with communication between a first wireless communication device and a second wireless communication device in response to the packet number being reset to an initial value.
[0196]
[0209] Embodiment 68: The method according to any one of embodiments 53 to 67, wherein the first wireless communication device is a multilink device (MLD) operating on multiple links, and separate timing synchronization functions are maintained on each link.
[0197]
[0210] Embodiment 69: The method according to any one of Embodiments 53 to 68, wherein the first wireless communication device is a multilink device (MLD) operating on multiple links, and the same timing synchronization function is used to generate timing synchronization function values for each link.
[0198]
[0211] Embodiment 70: A method for wireless communication in a second wireless communication device, comprising: receiving a frame including a packet number including a first subset of bits corresponding to a first timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value; and processing the frame on at least in part whether the time value indicated by the first subset of bits corresponds to a local time maintained in the second wireless communication device.
[0199]
[0212] Embodiment 71: The method according to Embodiment 70, wherein the frame includes a header portion, and the packet number is used to protect the contents of the header portion.
[0200]
[0213] Embodiment 72: The method according to Embodiment 70 or 71, wherein the frame is a control frame and the packet number is used to protect the contents of the control frame.
[0201]
[0214] Embodiment 73: The method according to any one of Embodiments 70 to 72, further comprising generating a second timing synchronization function value as a shortened version of the time value of the timing synchronization function in a second wireless communication device, wherein the local time maintained in the second wireless communication device corresponds to the second timing synchronization function value, and the frame is processed at least in part on the second timing synchronization function value which matches the first timing synchronization function value.
[0202]
[0215] Embodiment 74: The method of Embodiment 73, further comprising communicating with a first wireless communication device to negotiate the number of bits to be shortened from the time value of the timing synchronization function, wherein the frame is transmitted by the first wireless communication device.
[0203]
[0216] Embodiment 75: The method according to Embodiment 74, wherein the number of bits shortened differs for different traffic flows, and the number of bits shortened is at least in part based on the listening interval of the first wireless communication device or the second wireless communication device, or any combination thereof.
[0204]
[0217] Embodiment 76: The method according to any one of Embodiments 73 to 75, wherein a shortened time value version of the timing synchronization function enables clock drift between a second wireless communication device and at least a first wireless communication device.
[0205]
[0218] Embodiment 77: The method according to any one of Embodiments 70 to 76, wherein the second wireless communication device is a non-multilink device (MLD) AP, or an AP belonging to AP MLD, and communicates with a first wireless communication device which is a non-MLD non-AP STA, or a non-AP STA belonging to non-AP MLD, or the first wireless communication device is a non-MLD AP, or an AP belonging to AP MLD, and the second wireless communication device is a non-AP MLD non-AP STA, or a non-AP STA belonging to non-AP MLD, and the non-AP STA synchronizes its timing synchronization function with the corresponding timing synchronization function of the associated AP operating on its link when the non-AP STA transitions to an awake state.
[0206]
[0219] Embodiment 78: The method according to any one of Embodiments 70 to 77, wherein the first timing synchronization function value is a specified time window or corresponds to a time window of an acceptable timing synchronization function value having a duration negotiated with the first wireless communication device.
[0207]
[0220] Embodiment 79: The method according to any one of Embodiments 70 to 78, wherein the frame is a first frame having a first timing synchronization function value and a first counter value, and a second frame transmitted after the first frame has a first timing synchronization function value and a second counter value which is an increment from the first counter value.
[0208]
[0221] Embodiment 80: The method according to Embodiment 79, wherein the counter value for the frame following the second frame is reset to zero in accordance with the change in the first timing synchronization function value.
[0209]
[0222] Embodiment 81: The method according to any one of Embodiments 70 to 80, further comprising comparing a first subset of bits with a third subset of bits corresponding to a second timing synchronization function value generated in a second wireless communication device and associated with the time the frame was received.
[0210]
[0223] Embodiment 82: The method according to Embodiment 81, further comprising discarding a frame in response to a mismatch between a first subset of bits and a third subset of bits.
[0211]
[0224] Embodiment 83: The method according to Embodiment 81 or 82, further comprising determining, in accordance with a match between a first subset of bits and a third subset of bits, that the frame is an initial frame received with a first timing synchronization function value, or that the counter value exceeds the previous counter value of the previous frame having the first timing synchronization function value, and processing the frame.
[0212]
[0225] Embodiment 84: The method according to any one of embodiments 81 to 83, further comprising discarding a frame in which the counter value is less than or equal to a previously received counter value having a first timing synchronization function value.
[0213]
[0226] Embodiment 85: The method according to any one of embodiments 70 to 84, further comprising recording a first timing synchronization function value and a counter value for use when processing a subsequent frame header.
[0214]
[0227] Embodiment 86: The method according to any one of embodiments 70 to 85, further comprising communicating with the first wireless communication device to negotiate a tolerance between a first timing synchronization function value and a corresponding timing synchronization function value in the first wireless communication device, which enables the processing of frames in the second wireless communication device.
[0215]
[0228] Embodiment 87: The method according to any one of embodiments 70 to 86, further comprising regenerating the cryptographic key associated with communication between a second wireless communication device and a first wireless communication device in response to the packet number being reset to an initial value.
[0216]
[0229] Embodiment 88: The method according to any one of Embodiments 70 to 87, wherein the second wireless device is a multilink device (MLD) operating on multiple links, and separate timing synchronization functions are maintained on each link.
[0217]
[0230] Embodiment 89: The method according to any one of Embodiments 70 to 88, wherein the first wireless communication device is a multilink device (MLD) operating on multiple links, and the same timing synchronization function is used to generate timing synchronization function values for each link.
[0218]
[0231] Embodiment 90: A method for wireless communication in a first wireless communication device, comprising: generating a message integrity check (MIC) field for a frame to be transmitted to a second wireless communication device; performing an XOR function on the MIC field to generate an MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to a portion of the timing synchronization function values associated with the frame; and transmitting a frame containing the XORed MIC field to the second wireless communication device.
[0219]
[0232] Embodiment 91: The method according to Embodiment 90, wherein the MIC field is generated during frame encryption.
[0220]
[0233] Embodiment 92: The method according to Embodiment 90 or 91, wherein the portion of the timing synchronization function value is a shortened version of the timing synchronization function value in the first wireless communication device.
[0221]
[0234] Embodiment 93: The method according to Embodiment 92, wherein the shortened version of the timing synchronization function value is shortened by removing an amount of the least significant bit of the timing synchronization function value.
[0222]
[0235] Embodiment 94: The method according to Embodiment 92 or 93, wherein the shortened version of the timing synchronization function value is shortened by an amount at least partially based on a potential clock drift between the first wireless communication device and at least the second wireless communication device.
[0223]
[0236] Embodiment 95: The method according to any one of Embodiments 92 to 94, wherein a shortened version of the timing synchronization function value is shortened by removing an amount of the least significant bit of the timing synchronization function value.
[0224]
[0237] Embodiment 96: The method according to any one of Embodiments 90 to 95, further comprising retransmitting the data contained in the frame in a subsequent frame, the subsequent frame including an updated XORed MIC field based on a corresponding subsequent timing synchronization function value associated with the subsequent frame.
[0225]
[0238] Embodiment 97: The method of Embodiment 96, wherein the contents of subsequent frames are not re-encrypted when the frames are retransmitted.
[0226]
[0239] Embodiment 98: The method according to any one of Embodiments 90 to 97, wherein the frame is a data frame or a management frame.
[0227]
[0240] Apparatus 99: A method for wireless communication in a second wireless communication device, comprising: receiving a frame including a message integrity check (MIC) field; performing an XOR function on the MIC field to generate an MIC field in which the bits of the MIC field are exclusively ORed (XORed) with a set of bits corresponding to a portion of a timing synchronization function value associated with the time of reception of the frame; and processing the XORed MIC field to determine the frame integrity of the frame.
[0228]
[0241] Embodiment 100: The method according to Embodiment 99, wherein the portion of the timing synchronization function value is a shortened version of the timing synchronization function value in the second wireless communication device.
[0229]
[0242] Embodiment 101: The method according to Embodiment 100, wherein the shortened version of the timing synchronization function value is shortened by an amount that is at least partially based on a potential clock drift between the second wireless communication device and the first wireless communication device.
[0230]
[0243] Embodiment 102: The method according to any one of Embodiments 99 to 101, further comprising decoding a frame, generating a received frame MIC field based on the decoded frame, discarding a frame in response to a mismatch between the received frame MIC field and the XORed MIC field, or decoding a frame in response to a match between the received frame MIC field and the XORed MIC field.
[0231]
[0244] Embodiment 103: The method according to any one of embodiments 99 to 102, wherein the second wireless communication device is a multilink device (MLD) operating on multiple links, and separate timing synchronization functions are maintained on each link.
[0232]
[0245] Embodiment 104: The method according to any one of embodiments 99 to 103, wherein the first wireless communication device is a multilink device (MLD) operating on multiple links, and the same timing synchronization function is used to generate timing synchronization function values for each link.
[0233]
[0246] As used herein, the terms “determine” or “determining” encompass a wide range of actions, and therefore “determining” may include, among other possibilities, calculating, calculating, processing, deriving, estimating, investigating, searching (such as by searching within a table, database, or other data structure), inferring, confirming, or measuring. “Determining” may also include, among other possibilities, receiving (such as receiving information), accessing (such as accessing data stored in memory), or transmitting (such as transmitting information). Furthermore, “deciding” may also include resolving, selecting, obtaining, choosing, establishing, and other similar actions.
[0234]
[0247] As used herein, the phrases "at least one of" or "one or more of" the list of items refer to any combination of those items, including a single member. For example, "at least one of a, b, or c" is intended to include a, b, c, ab, ac, bc, and abc. As used herein, "or" is intended to be interpreted in an inclusive sense unless otherwise explicitly indicated. For example, "a or b" may include a only, b only, or a combination of a and b. Furthermore, as used herein, the phrases "one (a)" or "one (an)" element refer to one or more such elements that act individually or collectively to perform the enumerated function(singular or plural). Furthermore, "set" refers to one or more items, and "subset" refers to fewer than the entire set but not empty.
[0235]
[0248] As used herein, “based on” is intended to be interpreted in a comprehensive sense unless otherwise explicitly indicated. For example, “based on” may be used interchangeably with “at least partially based on,” “associated with,” “following,” or “according to,” unless otherwise explicitly indicated. Specifically, unless the phrase “based on ‘a’ alone” or refers to an equivalent in the context, whatever “based on ‘a’” or “at least partially based on ‘a’” may be based on “a” alone or on “a” in combination with one or more other factors, conditions, or pieces of information.
[0236]
[0249] The various exemplary components, logic, logic blocks, modules, circuits, operations, and algorithmic processes described in relation to the embodiments disclosed herein may be implemented as electronic hardware, firmware, software, or combinations of hardware, firmware, or software, including the structures disclosed herein and their structural equivalents. The compatibility of hardware, firmware, and software is described conceptually in terms of functionality and is shown in the various exemplary components, blocks, modules, circuits, and processes described above. Whether such functionality is implemented in hardware, firmware, or software depends on the specific application and the design constraints imposed on the overall system.
[0237]
[0250] Various modifications to the embodiments described herein may be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the spirit or scope of this disclosure. Therefore, the claims should not be limited to the embodiments shown herein, but should be given the broadest scope consistent with this disclosure, the principles disclosed herein, and any novel features.
[0238]
[0251] Additionally, various features described herein in the context of separate embodiments may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented separately or in any preferred partial combination in multiple embodiments. Therefore, features may be described above as acting in a particular combination, and may even be initially claimed as such, but one or more features from a claimed combination may, in some cases, be removed from that combination, and the claimed combination may cover partial combinations or variations of partial combinations.
[0239]
[0252] Similarly, while operations are shown in a specific order in the drawings, this should not be understood as requiring that such operations be performed in a specific or sequential order shown, or that all illustrated operations be performed, in order to achieve the desired result. Furthermore, drawings may schematically represent one or more exemplary processes in the form of flowcharts or flow diagrams. However, other operations not shown can be incorporated into those schematically illustrated exemplary processes. For example, one or more additional operations may be performed before, after, simultaneously with, or between any of the illustrated operations. In some situations, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described can generally be integrated together in a single software product or packaged within multiple software products.
Claims
1. A first wireless communication device, The processing system includes a processor circuit and a memory circuit for storing code, and the processing system is connected to the first wireless communication device. A packet number for a frame to be transmitted to a second wireless communication device, wherein the packet number generates a packet number comprising a first subset of bits corresponding to a portion of the timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value. A first wireless communication device configured to transmit the frame, including the portion containing the packet number, to the second wireless communication device.
2. The first wireless communication device according to claim 1, wherein the frame includes a header portion, and the packet number is used to protect the contents of the header portion.
3. The first wireless communication device according to claim 1, wherein the frame is a control frame, and the packet number is used to protect the contents of the control frame.
4. In order to generate the packet number, the processing system provides the first wireless communication device with: The aforementioned portion of the timing synchronization function value is generated as a shortened version of the timing synchronization function value. The first wireless communication device according to claim 1, configured to add the counter value to the portion of the timing synchronization function value.
5. The first wireless communication device according to claim 4, wherein the shortened version of the timing synchronization function value is shortened by removing an amount of the least significant bit of the timing synchronization function value.
6. The processing system provides the first wireless communication device with The first wireless communication device according to claim 4, further configured to communicate with the second wireless communication device in order to negotiate the number of bits to be shortened from the timing synchronization function value.
7. The first wireless communication device according to claim 6, wherein the number of bits shortened varies for different traffic flows, and the number of bits shortened is at least partially based on the listen interval of the first wireless communication device or the second wireless communication device, or any combination thereof.
8. The shortened version of the timing synchronization function value is shortened by an amount that is at least partially based on a potential clock drift between the first wireless communication device and the second wireless communication device, according to claim 4.
9. The first wireless communication device is a non-multilink device (MLD) non-access point (AP) station (STA) or a non-AP STA belonging to a non-AP MLD, and the second wireless communication device is a non-MLD AP or an AP belonging to an AP MLD, or the first wireless communication device is a non-MLD AP or an AP belonging to an AP MLD, and the second wireless communication device is a non-AP MLD non-AP STA or a non-AP STA belonging to a non-AP MLD, The first wireless communication device according to claim 1, wherein the non-AP STA synchronizes its timing synchronization function with the corresponding timing synchronization function of the associated AP operating on its link when the non-AP STA transitions to an awake state.
10. The portion of the timing synchronization function value corresponds to a specified time window or to a time window of an acceptable timing synchronization function value having a duration negotiated with the second wireless communication device, according to claim 1.
11. The first wireless communication device according to claim 1, wherein the frame is a first frame having a first portion of the timing synchronization function value and a first counter value, and a second frame transmitted after the first frame has the first portion of the timing synchronization function value and a second counter value which is an increment from the first counter value.
12. The first wireless communication device according to claim 11, wherein the counter value of a frame following the second frame is reset to zero in accordance with the change in the portion of the timing synchronization function value.
13. The processing system provides the first wireless communication device with The first wireless communication device according to claim 1, further configured to communicate with the second wireless communication device in order to negotiate a tolerance between the timing synchronization function value and a corresponding timing synchronization function value in the second wireless communication device, which enables the processing of the frame in the second wireless communication device.
14. The processing system provides the first wireless communication device with The first wireless communication device according to claim 1, further configured to regenerate the encryption key associated with communication between the first wireless communication device and the second wireless communication device in response to the packet number being reset to an initial value.
15. The first wireless communication device according to claim 1, wherein the first wireless communication device is a multilink device (MLD) that operates on multiple links, and separate timing synchronization functions are maintained on each link.
16. The first wireless communication device according to claim 1, wherein the first wireless communication device is a multilink device (MLD) that operates on multiple links, and the same timing synchronization function is used to generate timing synchronization function values for each link.
17. A second wireless communication device, The processing system includes a processor circuit and a memory circuit for storing code, and the processing system is connected to the second wireless communication device. The frame is received, which includes a packet number that includes a first subset of bits corresponding to a first timing synchronization function value associated with the frame and a second subset of bits corresponding to a counter value. A second wireless communication device is configured to process the frame at least in part on whether the time value indicated by a first subset of the bits corresponds to a local time maintained in the second wireless communication device.
18. The processing system provides the second wireless communication device with The second wireless communication device according to claim 17, wherein the second wireless communication device generates a second timing synchronization function value as a shortened version of the time value of the timing synchronization function, the local time maintained in the second wireless communication device corresponds to the second timing synchronization function value, and the frame is further configured to be processed at least in part on the second timing synchronization function value which matches the first timing synchronization function value.
19. The processing system provides the second wireless communication device with The second wireless communication device according to claim 17, further configured to compare a first subset of the bits with a third subset of bits corresponding to a second timing synchronization function value generated in the second wireless communication device and associated with the time the frame was received.
20. The processing system provides the second wireless communication device with The second wireless communication device according to claim 19, further configured to discard the frame in response to a mismatch between a first subset of the bits and a third subset of the bits.
21. The processing system provides the second wireless communication device with Depending on the agreement between the first subset of bits and the third subset of bits, it is determined that the frame is an initial frame received with the first timing synchronization function value, or that the counter value exceeds the counter value of the previous frame that had the first timing synchronization function value. A second wireless communication device according to claim 19, further configured to process the aforementioned frames.
22. The processing system provides the second wireless communication device with The second wireless communication device according to claim 19, further configured to discard frames in accordance with the frame in which the counter value is less than or equal to a previously received counter value having the first timing synchronization function value.
23. A first wireless communication device, The processing system includes a processor circuit and a memory circuit for storing code, and the processing system is connected to the first wireless communication device. To generate a message integrity check (MIC) field for the frame to be transmitted to the second wireless communication device, To generate an XORed MIC field, the bits of the MIC field are subjected to an exclusive OR (XOR) operation with a set of bits corresponding to some of the timing synchronization function values associated with the frame, by performing an XOR function on the MIC field. A first wireless communication device configured to cause the second wireless communication device to transmit the frame, which includes the XORed MIC field.
24. The first wireless communication device according to claim 23, wherein the MIC field is generated during the encryption of the frame.
25. The portion of the timing synchronization function value is a shortened version of the timing synchronization function value in the first wireless communication device according to claim 23.
26. The processing system provides the first wireless communication device with The first wireless communication device according to claim 23, wherein a subsequent frame is further configured to cause the subsequent frame to retransmit the data contained in the frame, the subsequent frame including an updated XORed MIC field based on a corresponding subsequent timing synchronization function value associated with the subsequent frame.
27. The first wireless communication device according to claim 26, wherein the contents of the subsequent frame are not re-encrypted when the frame is retransmitted.
28. The first wireless communication device according to claim 23, wherein the frame is a data frame or a management frame.
29. A second wireless communication device, The processing system includes a processor circuit and a memory circuit for storing code, and the processing system is connected to the second wireless communication device. The system receives a frame containing a Message Integrity Check (MIC) field. To generate an XORed MIC field, the bits of the MIC field are XORed with a set of bits corresponding to a portion of the timing synchronization function value associated with the reception time of the frame, by performing an exclusive OR (XOR) function on the MIC field. A second wireless communication device configured to process the XORed MIC field in order to determine the frame integrity of the frame.
30. The processing system provides the second wireless communication device with The aforementioned frame is decoded, Based on the decoded frame, generate the received frame MIC field. The second wireless communication device according to claim 29, further configured to discard the frame in response to a mismatch between the received frame MIC field and the XORed MIC field, or to decode the frame in response to a match between the received frame MIC field and the XORed MIC field.