A non-interactive and time-based mac address change method

By using a non-interactive, time-based MAC address change method, terminal devices can dynamically update their OTA MAC addresses, solving the problems of user privacy leakage and computational communication overhead, and achieving efficient MAC address management and privacy protection.

CN116436899BActive Publication Date: 2026-04-28XIDIAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XIDIAN UNIV
Filing Date
2023-04-13
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In existing technologies, terminal devices use fixed MAC addresses when associated with access points, which cannot be dynamically changed, leading to the risk of user privacy leakage. Furthermore, existing dynamic change schemes increase the computational and communication overhead of access points, resulting in low MAC address utilization.

Method used

By employing a non-interactive, time-based MAC address change method, the terminal device dynamically updates its OTA MAC address based on the current time and stored update parameters. The network device synchronously calculates the OTA MAC address list of the terminal device, achieving encryption-free negotiation and reducing computational and communication overhead.

Benefits of technology

It enables dynamic changes to MAC addresses without increasing computational and communication overhead, protecting user privacy, reducing the risk of MAC address leakage, and improving MAC address utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116436899B_ABST
    Figure CN116436899B_ABST
Patent Text Reader

Abstract

The application relates to a non-interactive and time-based MAC address changing method applied to a wireless communication system, wherein the wireless communication system comprises network equipment and terminal equipment; the method is based on a two-layer MAC address mechanism, an OTA MAC address and a permanent MAC address; a synchronous random change mechanism of the OTA MAC address is provided; an OTA MAC address synchronous updating mode based on current system time is introduced; the terminal equipment can update the OTA MAC address at any time within a time period selected by the terminal equipment; the network equipment associated with the terminal equipment can calculate the corresponding OTA MAC address of the terminal equipment in each time period in advance; under the premise of ensuring that the privacy of a user in a WLAN is not leaked, the method has low calculation cost, air interface communication cost and storage cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of wireless communication technology, specifically relating to a non-interactive and time-based MAC address changing method. Background Technology

[0002] IEEE 802.11 is the current international standard for wireless local area networks. With increasing demands for user privacy protection, the IEEE 802.11TGbi group began developing future Wi-Fi user privacy enhancement technology standards in early 2021. The MAC (Media Access Control) address that comes with a device at the factory is globally unique, thus uniquely identifying the device. Associating a MAC address with a specific user can identify the user's presence and even predict their movement, posing a significant risk of privacy breaches.

[0003] To prevent users from being tracked by their terminal's MAC address, terminal devices are allowed to use random MAC addresses before associating with an access point. However, once a terminal device begins associating with an access point, it uses its own fixed MAC address and cannot dynamically change it during the association process. Therefore, it is impossible to prevent the leakage of user privacy.

[0004] To ensure the privacy of STAs (Stations) when accessing wireless LANs, a scheme for dynamically changing MAC addresses has been proposed. However, in this scheme, the new MAC address of the STA is negotiated in an encrypted manner, and the STA must interact with the AP (Wireless Access Point) at least once before changing its MAC address. This increases the overhead of local computing and air interface communication for the access point. In addition, each STA may occupy multiple MAC addresses at the same time, resulting in low MAC address utilization. Summary of the Invention

[0005] To address the aforementioned problems in the prior art, this invention provides a non-interactive, time-based MAC address changing method. The technical problem to be solved by this invention is achieved through the following technical solution:

[0006] This invention provides a non-interactive, time-based MAC address changing method applied to a wireless communication system, the wireless communication system including network devices and terminal devices, the method comprising:

[0007] When the terminal device performs an address update, it updates the OTA MAC address according to the current time of the terminal device and the stored terminal address update parameters, and uses the updated OTA MAC address to communicate with the network device.

[0008] The network device establishes a list of MAC addresses associated with the terminal device, the list of MAC addresses including the permanent MAC address of the terminal device, the currently used OTA MAC address, and the next OTA MAC address to be used;

[0009] The next OTA MAC address to be used is the updated OTA MAC address of the terminal device, which is synchronously calculated by the network device; the next OTA MAC address to be used is calculated and updated in real time based on the current time of the network device and the stored network address update parameters.

[0010] In response to the terminal device communicating using an updated OTA MAC address, the network device updates the currently used OTA MAC address in the MAC address list to the updated OTA MAC address.

[0011] In one embodiment of the present invention, the non-interactive and time-based MAC address changing method further includes:

[0012] Upon initial access, the terminal device uses a permanent MAC address to establish a secure association with the network device. After establishing the secure association, it generates a first secret value using generation rules, sends an update parameter T to the network device, and establishes a first time mapping table based on the update parameter T, and establishes a time difference table for the network device associated with it.

[0013] The first secret value, the first time mapping table, and the time difference table serve as the terminal address update parameters.

[0014] The network device generates a second secret value using the same generation rule and establishes a second time mapping table based on the received update parameter T;

[0015] The second secret value and the second time mapping table are used as network part address update parameters.

[0016] In one embodiment of the present invention, the non-interactive and time-based MAC address changing method further includes:

[0017] When accessing the network for the first time, the terminal device generates an OTA MAC address based on the current time of the terminal device and the stored terminal address update parameters, and uses the OTA MAC address to communicate with the network device.

[0018] The network device finds the permanent MAC address corresponding to the received OTA MAC address based on the received OTA MAC address and the stored MAC address list, and establishes a secure association between the terminal device and the network device based on the permanent MAC address.

[0019] In one embodiment of the present invention, the terminal device communicates with the network device using a permanent MAC address before generating an initial OTA MAC address.

[0020] In one embodiment of the present invention, the first secret value is the same as the second secret value, the first time mapping table is the same as the second time mapping table, and both the first secret value and the second secret value are obtained by hashing the secret information common to the terminal device and the network device using a standard hash algorithm.

[0021] In one embodiment of the present invention, when the terminal device is de-associated with the network device, the terminal device sends a new update parameter T to the network device, and both the terminal device and the network device update the corresponding first time mapping table and second time mapping table according to the new update parameter T.

[0022] In one embodiment of the present invention, the update parameter T is a random integer in the range (0, 86400); establishing a first time mapping table based on the update parameter T includes:

[0023] If the update parameter T∈(0,60), let T'=T, This indicates rounding down. If the value of 60 ÷ T' is an integer, then the time value in seconds [0, 60) is divided into n consecutive second intervals, with i taking the value of an integer in the range [0, n). The i-th second interval is denoted as [iT', (i+1)T'), and the corresponding mapping value of the i-th second interval is iT'. If the value of 60 ÷ T' is not an integer, then the time value in seconds [0, 60) is divided into n+1 consecutive second intervals, with i taking the value of an integer in the range [0, n]. When i ≠ n, the i-th second interval is denoted as [iT', (i+1)T'), and when i = n, the i-th second interval is denoted as [nT', 60), and the corresponding second mapping value of the i-th second interval is iT'. Based on the divided second intervals and the corresponding second mapping values, a second value mapping table is established as the first time mapping table.

[0024] If the update parameter T∈[60,3600), let This indicates rounding up. If the value of 60 ÷ T' is an integer, then the time minute value [0, 60) is divided into n consecutive minute intervals, with i taking the value of an integer in the range [0, n). The i-th minute interval is denoted as [iT', (i+1)T'), and the corresponding minute mapping value is iT'. If the value of 60 ÷ T' is not an integer, then the time minute value [0, 60) is divided into n+1 consecutive minute intervals, with i taking the value of an integer in the range [0, n]. When i ≠ n, the i-th minute interval is denoted as [iT', (i+1)T'), and when i = n, the i-th minute interval is denoted as [nT', 60), and the corresponding minute mapping value is iT'. Based on the divided minute intervals and the corresponding minute mapping values, a minute value mapping table is established as the first time mapping table.

[0025] If the update parameter T∈[3600,86400], let If the value of 24÷T' is an integer, then the hourly value [0,24) is divided into n consecutive hourly intervals, with i taking the value of an integer in the range [0,n). The i-th hourly interval is denoted as [iT', (i+1)T'), and the hourly mapping value corresponding to the i-th hourly interval is iT'. If the value of 24÷T' is not an integer, then the hourly value [0,24) is divided into n+1 consecutive hourly intervals, with i taking the value of an integer in the range [0,n]. When i≠n, the i-th hourly interval is denoted as [iT', (i+1)T'), and when i=n, the i-th hourly interval is denoted as [nT', 24). The hourly mapping value corresponding to the i-th hourly interval is iT'. Based on the divided hourly intervals and the hourly mapping values ​​corresponding to the hourly intervals, an hourly value mapping table is established as the first time mapping table.

[0026] In one embodiment of the present invention, the process of updating the OTA MAC address includes:

[0027] Obtain the current time of the terminal device, including date, hour, minute, and second;

[0028] According to the time difference table, the time difference between the terminal device and the network device is obtained, and the time difference is used to achieve time synchronization between the terminal device and the network device to obtain the synchronization time.

[0029] If the first time mapping table is a second value mapping table, then the second value of the synchronization time is determined to be located in the second interval of the first time mapping table, the corresponding second mapping value is obtained, and the synchronization time is updated using the second mapping value to obtain the updated time;

[0030] If the first time mapping table is a minute value mapping table, then the minute value of the synchronization time is determined to be located in the minute interval of the first time mapping table, the corresponding minute mapping value is obtained, and the synchronization time is updated using the minute mapping value to obtain the updated time;

[0031] If the first time mapping table is an hour value mapping table, then the hour value of the synchronization time is determined to be located in the hour interval of the first time mapping table, the corresponding hour mapping value is obtained, and the synchronization time is updated using the hour mapping value to obtain the updated time;

[0032] Based on the updated time, use HASH(IV||Time) 48 A 48-bit value is calculated as the updated OTA MAC address. It is then checked whether the U / L bits are 1 and the I / G bits are 0. If not, they are changed to 1 and 0 respectively. The HASH() function is then used to calculate this value. 48 This indicates that 48 bits are extracted from the result of the hash operation. IV represents the secret value, Time represents the updated time, and || represents string concatenation.

[0033] In one embodiment of the present invention, the calculation and update process of the next used OTA MAC address includes:

[0034] Obtain the current time of the network device, including date, hour, minute, and second;

[0035] If the second time mapping table is a second value mapping table, then the second value of the current time is determined to be within the second interval of the second time mapping table, the corresponding second mapping value is obtained, and the current time is updated using the second mapping value to obtain the updated time;

[0036] If the second time mapping table is a minute value mapping table, then the minute value of the current time is determined to be located in the minute interval of the second time mapping table, the corresponding minute mapping value is obtained, and the current time is updated using the minute mapping value to obtain the updated time;

[0037] If the second time mapping table is an hour value mapping table, then the hour value of the current time is determined to be located in the hour interval of the second time mapping table, the corresponding hour mapping value is obtained, and the current time is updated using the hour mapping value to obtain the updated time;

[0038] Based on the updated time, use HASH(IV||Time) 48A 48-bit value is calculated as the next OTA MAC address to be used. It is then checked whether the U / L bits and I / G bits of this next OTA MAC address are 1 and 0 respectively. If not, they are changed to 1 and 0 respectively. HASH() is then used to calculate this value. 48 This indicates that 48 bits are extracted from the result of the hash operation, IV represents the secret value, Time represents the updated time, and || represents string concatenation.

[0039] As the current time of the network device changes, the MAC address of the next OTA to be used is calculated and updated in real time.

[0040] The present invention also provides a wireless communication system, including a network device and a terminal device, wherein the wireless communication system implements the non-interactive and time-based MAC address changing method described in any of the above embodiments.

[0041] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0042] 1. The non-interactive and time-based MAC address change method of the present invention allows network devices and terminal devices in a wireless communication system to synchronously calculate the next OTA MAC address to be used by the terminal device. Therefore, the network devices and terminal devices do not need to encrypt and / or decrypt to negotiate the next OTA MAC address to be used by the terminal device, so the method provided by the present invention has low computational overhead.

[0043] 2. The non-interactive, time-based MAC address change method of the present invention allows the network device to dynamically change the next OTA MAC address to be used by the terminal device based on the current time of the network device and the update parameter T negotiated with the terminal device. Since the terminal device has pre-calculated the OTA MAC address it will use at any given time, no additional interaction between the terminal device and the network device is required before updating the MAC address, resulting in lower air interface communication overhead. Furthermore, the network device only needs to maintain the mapping between the terminal device's permanent MAC address and the current and next OTA MAC addresses, thus resulting in lower storage overhead.

[0044] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described in detail below with reference to the accompanying drawings. Attached Figure Description

[0045] Figure 1 This is a flowchart of a non-interactive and time-based MAC address changing method provided in an embodiment of the present invention;

[0046] Figure 2 This is a schematic diagram of the process for establishing a time mapping table according to an embodiment of the present invention;

[0047] Figure 3 This is a schematic diagram illustrating the calculation process of the next OTA MAC address provided in an embodiment of the present invention; Figure 4 This is a schematic diagram of an OTA MAC address update process provided by an embodiment of the present invention. Detailed Implementation

[0048] To further illustrate the technical means and effects adopted by the present invention to achieve the intended purpose, the following describes in detail a non-interactive and time-based MAC address changing method proposed according to the present invention, in conjunction with the accompanying drawings and specific embodiments.

[0049] The foregoing and other technical contents, features, and effects of the present invention will be clearly presented in the following detailed description of specific embodiments in conjunction with the accompanying drawings. Through the description of the specific embodiments, a more in-depth and concrete understanding can be gained of the technical means and effects adopted by the present invention to achieve its intended purpose. However, the accompanying drawings are for reference and illustration only and are not intended to limit the technical solutions of the present invention.

[0050] To address the privacy concerns arising from MAC addresses in existing WLANs, this invention proposes a synchronous random change mechanism for OTA MAC addresses. This mechanism is based on a two-layer MAC address mechanism: OTA (Over-the-Air) MAC addresses (dynamically changing, used for transmitting / receiving addresses in communication) and permanent MAC addresses (fixed, used for authentication and identification, generating security associations, and encrypting / decrypting user data). This ensures efficient and secure synchronization. While protecting user privacy in WLANs, this invention introduces an OTA MAC address synchronization update method based on the current system time. It proposes a non-interactive, time-based MAC address change method applied to wireless communication systems, including network devices and terminal devices. For ease of description, the AP is used as the network device, and the STA as the terminal device. In this method, the STA can update its OTA MAC address at any time within a selected time period. The AP can dynamically synchronize the STA's next OTA MAC address with the STA based on the current system time and relevant parameters. That is, the AP can pre-calculate the STA's OTA MAC address for each time period, and the AP only needs to store the STA's next OTA MAC address.

[0051] The overall flowchart of the method of this invention is as follows: Figure 1 As shown, it mainly includes three stages: the initial access stage, the OTA MAC address update stage, and the non-initial access stage.

[0052] Upon initial access, the terminal device uses a permanent MAC address to establish a secure association with the network device. After establishing the secure association, it generates a first secret value using generation rules, sends an update parameter T to the network device, and establishes a first time mapping table and a time difference table for the associated network device based on the update parameter T. The first secret value, the first time mapping table, and the time difference table serve as terminal address update parameters. The network device generates a second secret value using the same generation rules and establishes a second time mapping table based on the received update parameter T. The second secret value and the second time mapping table serve as network address update parameters.

[0053] It should be noted that the first secret value is the same as the second secret value, and the first time mapping table is the same as the second time mapping table.

[0054] In an optional implementation, both the first secret value and the second secret value are obtained by hashing the shared secret information between the terminal device and the network device using a standard hash algorithm. Optionally, the shared secret information between the terminal device and the network device may be secret information generated after the terminal device and the network device are first associated, such as a pairwise transient key (PTK) or a portion of the PTK.

[0055] For example, both the first secret value and the second secret value are obtained by hashing the pairwise transient key (PTK) using a standard hash algorithm (e.g., SHA-256).

[0056] In other words, when a STA first connects to an AP, both the STA and the AP generate the same secret value (IV) based on the same generation rules, known only to each other. Simultaneously, the STA sends an update parameter (T) to the AP via encryption. The AP uses this update parameter T to synchronize and update the STA's next OTA MAC address. After the STA and AP securely associate, the AP maintains a list of legitimate STA MAC addresses. This list stores the permanent MAC address of a legitimate STA, the currently used OTA MAC address, and the next OTA MAC address to be used.

[0057] During the OTA MAC address update phase, when the terminal device updates its address, it updates the OTA MAC address based on the terminal device's current time and the stored terminal address update parameters, and uses the updated OTA MAC address to communicate with the network device. The network device establishes a list of MAC addresses associated with its terminal devices. The MAC address list includes the terminal device's permanent MAC address, the currently used OTA MAC address, and the next used OTA MAC address. The next used OTA MAC address is the updated OTA MAC address of the terminal device, which is synchronously calculated by the network device. The next used OTA MAC address is calculated and updated in real time based on the network device's current time and the stored network address update parameters. In this embodiment, when the network device's current time changes from one time interval in the second time mapping table to another time interval, the network device updates the next used OTA MAC address of the terminal device stored in the MAC address list. In response to the terminal device using the updated OTA MAC address for communication, the network device updates the currently used OTA MAC address in the MAC address list to the updated OTA MAC address.

[0058] It should be noted that before the terminal device generates its initial OTA MAC address, it communicates with the network device using a permanent MAC address. Currently, the network device stores the same OTA MAC address as the terminal device's current MAC address. The initial OTA MAC address is calculated in the same way as the OTA MAC address update phase.

[0059] In other words, during the OTA MAC address update phase, the STA calculates the next OTA MAC address to be used based on its current system time, the secret value IV between itself and the AP, and the update parameter T. The STA starts sending frames to the AP using the new OTA MAC address. When the AP receives the frame sent by the STA using the new OTA MAC address, the AP determines that the OTA MAC address is the next OTA MAC address to be used by a certain associated STA by searching the MAC address list. The AP then updates the OTA MAC address currently used by the STA in the MAC address list.

[0060] During non-first-time access, the terminal device generates an OTA MAC address based on its current time and stored terminal address update parameters, and uses this OTA MAC address to communicate with the network device. The network device finds the permanent MAC address corresponding to the received OTA MAC address based on the received OTA MAC address and the stored MAC address list, and establishes a secure association between the terminal device and the network device based on the permanent MAC address.

[0061] In other words, when a STA connects to an AP it has previously connected to, the STA first discovers the existence of the AP through active or passive scanning and finds that the AP is one it has previously connected to. The STA calculates its own OTA MAC address corresponding to the AP based on the current system time and relevant parameters between the STA and the AP (the calculation method is the same as that in the OTA MAC address update phase). The STA uses the calculated OTA MAC address to send an authentication and association request frame to the AP. The AP uses its stored MAC address list to find the corresponding permanent MAC address of the STA based on the received OTA MAC address. The STA and the AP generate a security association based on the permanent MAC address, but the permanent MAC address of the STA will no longer appear in the header of the frames exchanged between the STA and the AP.

[0062] The specific process of each of the above stages will be explained below.

[0063] When a STA first connects to an AP, it uses a permanent MAC address to authenticate and associate with the AP. During or after the four-way handshake, both the STA and AP use the standard hash algorithm SHA-256 to hash the PTK, generating a secret value (IV) that is known only to each other. After or following the four-way handshake, the STA sends an update parameter T to the AP in an encrypted manner. The AP then uses the update parameter T to synchronize the value of its next OTA MAC address with the STA.

[0064] After the STA associates with the AP, the STA will establish a time difference table to maintain a time difference table with the associated AP, as shown in Table 1 below. The time difference value t between the STA and the AP is stored at the end of the list. The AP includes a timestamp bit in the beacon frame and probe response frame, which the STA and the AP can use to synchronize their time.

[0065] Table 1. Time difference between STA maintenance and associated AP

[0066] Time difference between STA and associated access points Access Point 1 [t1] Access Point 2 <![CDATA[t2]]> Access Point 3 <![CDATA[t3]]> … … Access point n <![CDATA[t n ]]>

[0067] After sending the update parameter T to the AP, the STA will establish and store a time mapping table locally, namely the first time mapping table. The update parameter T is a random integer in the range of (0, 86400]. It can be randomly generated by the STA, set by the user, or generated according to specific rules, etc., without any restrictions.

[0068] The following, combined with Figure 2 The diagram shown illustrates the process of establishing the first time mapping table based on the update parameter T.

[0069] If we update the parameter T∈(0,60), let T'=T, The function represents rounding down. If the value of 60 ÷ T' is an integer, the time value in seconds [0, 60) is divided into n consecutive second intervals, with i taking the value of an integer in the range [0, n). The i-th second interval is denoted as [iT', (i+1)T'), and the corresponding mapping value is iT'. If the value of 60 ÷ T' is not an integer, the time value in seconds [0, 60) is divided into n+1 consecutive second intervals, with i taking the value of an integer in the range [0, n]. When i ≠ n, the i-th second interval is denoted as [iT', (i+1)T'), and when i = n, the i-th second interval is denoted as [nT', 60), and the corresponding second mapping value is iT'. Based on the divided second intervals and the corresponding second mapping values, a second value mapping table is established as the first time mapping table. The second value mapping table is shown in Table 2.

[0070] Table 2. Second Value Mapping Table

[0071] Second interval [0,T’) [T',2T') … [iT',(i+1)T') … [nT',60) Second mapping value 0 T’ … iT' … nT'

[0072] If we update the parameter T∈[60,3600), let The function rounds up. If the value of 60 ÷ T' is an integer, the time minute value [0, 60) is divided into n consecutive minute intervals, with i taking the value of an integer in the range [0, n). The i-th minute interval is denoted as [iT', (i+1)T'), and the corresponding minute mapping value is iT'. If the value of 60 ÷ T' is not an integer, the time minute value [0, 60) is divided into n+1 consecutive minute intervals, with i taking the value of an integer in the range [0, n]. When i ≠ n, the i-th minute interval is denoted as [iT', (i+1)T'), and when i = n, the i-th minute interval is denoted as [nT', 60), and the corresponding minute mapping value is iT'. Based on the divided minute intervals and the corresponding minute mapping values, a minute value mapping table is established as the first time mapping table. The minute value mapping table is shown in Table 3.

[0073] Table 3. Minute Value Mapping Table

[0074] minute interval [0,T’) [T',2T') … [iT',(i+1)T') … [nT',60) Minute mapping value 0 T’ … iT' … nT'

[0075] If the parameter T∈[3600,86400] is updated, let If the value of 24 ÷ T' is an integer, then the hourly value [0, 24) is divided into n consecutive hourly intervals, with i taking the value of an integer in the range [0, n). The i-th hourly interval is denoted as [iT', (i+1)T'), and the hourly mapping value corresponding to the i-th hourly interval is iT'. If the value of 24 ÷ T' is not an integer, then the hourly value [0, 24) is divided into n+1 consecutive hourly intervals, with i taking the value of an integer in the range [0, n]. When i ≠ n, the i-th hourly interval is denoted as [iT', (i+1)T'), and when i = n, the i-th hourly interval is denoted as [nT', 24), and the hourly mapping value corresponding to the i-th hourly interval is iT'. Based on the divided hourly intervals and the hourly mapping values ​​corresponding to the hourly intervals, an hourly value mapping table is established as the first time mapping table. The hourly value mapping table is shown in Table 4.

[0076] Table 4. Time Hour Value Mapping Table

[0077] hourly interval [0,T’) [T',2T') … [iT',(i+1)T') … [nT',24) Hourly mapping value 0 T’ … iT' … nT'

[0078] When the AP receives the update parameter T sent by the STA, it uses the same method as the first time mapping table to create and store a time-related mapping table locally, namely the second time mapping table. The specific process of creating the second time mapping table will not be described in detail here. It should be noted that the time mapping table maintained by the AP is the same as the time mapping table maintained by the STA. For example, if the STA stores the second value mapping table of Table 2 locally, the AP also stores the second value mapping table of Table 2 locally.

[0079] When a new STA associates with an AP, the AP will create and maintain a list of STA MAC addresses associated with it, as shown in Figure 5. At the end of the list, the AP adds the STA's permanent MAC address, the currently used OTA MAC address, and the next OTA MAC address to be used. It should be noted that before the STA uses its initial OTA MAC address for communication, the value of the currently used OTA MAC address in the MAC address list is equal to the value of the STA's permanent MAC address. The length of the STA MAC address list maintained by the AP is equal to the number of new sites that have successfully connected to the AP.

[0080] Table 5. List of MAC addresses associated with the STA maintained by the AP

[0081] Permanent MAC address Current OTA MAC address Next OTA MAC address to use Site 1 <![CDATA[MAC1]]> <![CDATA[OTA-MAC 11 ]]> <![CDATA[OTA-MAC 12 ]]> Site 2 <![CDATA[MAC2]]> <![CDATA[OTA-MAC 21 ]]> <![CDATA[OTA-MAC 22 ]]> Site 3 <![CDATA[MAC3]]> <![CDATA[OTA-MAC 31 ]]> <![CDATA[OTA-MAC 32 ]]> .... ... ... ... Site n <![CDATA[MAC n ]]> <![CDATA[OTA-MAC n1 ]]> <![CDATA[OTA-MAC n2 ]]>

[0082] The following, combined with Figure 3 The diagram shown illustrates the calculation process for the next OTA MAC address to be used, explaining the calculation and update process for the next OTA MAC address to be used.

[0083] First, obtain the current time of the network device, including date, hour, minute, and second. If the second time mapping table is a second value mapping table, determine that the second value of the current time falls within the second interval of the second time mapping table, obtain the corresponding second mapping value, and use this second mapping value to update the current time to obtain the updated time. If the second time mapping table is a minute value mapping table, determine that the minute value of the current time falls within the minute interval of the second time mapping table, obtain the corresponding minute mapping value, and use this minute mapping value to update the current time to obtain the updated time. If the second time mapping table is an hour value mapping table, determine that the hour value of the current time falls within the hour interval of the second time mapping table, obtain the corresponding hour mapping value, and use this hour mapping value to update the current time to obtain the updated time.

[0084] Secondly, based on the updated time, use HASH(IV||Time) 48 A 48-bit value is calculated as the next OTA MAC address to be used. It is then checked whether the U / L bits and I / G bits of this next OTA MAC address are 1 and 0 respectively. If not, they are changed to 1 and 0 respectively. HASH() is then used to calculate this value. 48 This indicates that 48 bits are extracted from the hash result, IV represents the secret value, Time represents the updated time, and || represents string concatenation. As the network device's current time changes, it enables real-time calculation and updating of the MAC address for the next OTA (Over-The-Air) device.

[0085] For example, initially, the AP first obtains its own system's current time, which can be denoted as T. now = [D:H:M:S], where D, H, M, and S represent the date, hour, minute, and second of the current time on the AP, respectively. If the time mapping table stored by the AP is the second value mapping table in Table 2, the AP determines which second interval of Table 2 the value of S belongs to, and determines T based on the second interval where S belongs. now The second mapping value is iT', thus obtaining the updated Time value [D:H:M:iT']. When the value of S changes from one second interval in Table 2 to another, the Time value will be updated accordingly. If the time mapping table stored by AP is the minute value mapping table in Table 3, AP determines which minute interval in Table 3 the value of M belongs to, and determines T based on the minute interval where M is located. now The minute mapping value is iT', thus obtaining the updated Time value [D:H:iT']. When the value of M changes from one minute interval in Table 3 to another, the Time value will be updated accordingly. If the time mapping table stored by AP is the hour value mapping table in Table 4, AP determines which hour interval in Table 4 the value of H belongs to, and determines T based on the hour interval where H is located. nowThe hourly mapping value is iT', thus obtaining the updated Time value of [D:iT']. When the value of H changes from one hour interval in Table 4 to another hour interval, the value of Time will be updated accordingly.

[0086] After obtaining the updated Time value, AP calculates HASH(IV||Time). 48 The value can be, optionally, a hash algorithm such as SHA2 or SHA3. Optionally, it can be truncated from the 0th bit of the hash result, or it can be truncated from the last bit of the hash result, with no specific restriction on the truncation method.

[0087] AP will use HASH(IV||Time) 48 The result is used as the next OTA MAC address to be used by the STA. The U / L bit and I / G bit of the next OTA MAC address to be used by the STA are checked to see if they are 1 and 0 respectively. If not, they are changed to 1 and 0 respectively to indicate that the OTA MAC address is a local management and unicast address. The final result is stored in Table 5 as the next OTA MAC address to be used by the STA. It can be seen that as the current time of the AP changes, the Time value will be updated accordingly, and therefore, the next OTA MAC address to be used by the STA will also be updated accordingly.

[0088] Furthermore, combined Figure 4 The diagram shown illustrates the OTA MAC address update process, explaining how to update the OTA MAC address.

[0089] First, obtain the current time of the terminal device, including date, hour, minute, and second. Second, based on the time difference table, obtain the time difference between the terminal device and the network device. Using this time difference, synchronize the time of the terminal device and the network device to obtain the synchronized time. If the first time mapping table is a second value mapping table, determine that the second value of the synchronized time falls within the second interval of the first time mapping table, obtain the corresponding second mapping value, and use this second mapping value to update the synchronized time to obtain the updated time. If the first time mapping table is a minute value mapping table, determine that the minute value of the synchronized time falls within the minute interval of the first time mapping table, obtain the corresponding minute mapping value, and use this minute mapping value to update the synchronized time to obtain the updated time. If the first time mapping table is an hour value mapping table, determine that the hour value of the synchronized time falls within the hour interval of the first time mapping table, obtain the corresponding hour mapping value, and use this hour mapping value to update the synchronized time to obtain the updated time.

[0090] Then, based on the updated time, use HASH(IV||Time)48 A 48-bit value is calculated as the updated OTA MAC address. It is then determined whether the U / L bit and I / G bit of the updated OTA MAC address are 1 and 0, respectively. If not, they are changed to 1 and 0, respectively.

[0091] For example, when a STA needs to update its OTA MAC address, firstly, the STA obtains its current system time, denoted as Tnow = [D:H:M:S]. Secondly, the STA looks up the time difference t between itself and the AP in Table 1, adds or subtracts the value of t from the value of Tnow, and obtains the time synchronized with the AP, Tnow' = [D:H':M':S']. Then, the STA obtains the updated Time value according to the locally stored time mapping list. If the time mapping table stored by the STA is the second value mapping table in Table 2, the AP determines which second interval in Table 2 the value of S' is in, and determines the second value mapping value of Tnow' as iT' based on the second interval in which S' is located, thus obtaining the updated Time value as [D:H':M':iT']. If the time mapping table stored by the STA is the minute value mapping table in Table 3, the STA determines which minute interval in Table 3 the value of M' is in, and determines the minute mapping value of Tnow' as iT' based on the minute interval in which M' is located, thus obtaining the updated Time value as [D:H':iT']. If the time mapping table stored by AP is the hour value mapping table in Table 4, AP determines which hour interval in Table 4 the value of H' belongs to. Based on the hour interval where H' is located, it determines the hour mapping value of Tnow' as iT', thus obtaining the updated value of Time as [D:iT'].

[0092] Finally, STA uses HASH(IV||Time) 48 A 48-bit value is calculated as the updated OTA MAC address. The U / L bits and I / G bits of this updated OTA MAC address are checked to see if they are 1 and 0 respectively. If not, they are changed to 1 and 0 respectively, indicating that the OTA MAC address is a local management and unicast address. Afterwards, the STA begins using the updated OTA MAC address for communication and maintains the use of this OTA MAC address for a period of time.

[0093] It should be noted that STA and AP communicate via HASH(IV||Time). 48 When calculating a 48-bit value, the same truncation method is used to truncate the result of the hash operation.

[0094] This embodiment's non-interactive, time-based MAC address change method establishes a secure association with the AP using a permanent MAC address when the STA first connects to the AP. Subsequently, it generates the first OTA MAC address, after which the STA's permanent MAC address will not appear in the MAC frame header. During the association with the AP, the STA can update its OTA MAC address at any time without requiring additional interaction with the AP.

[0095] When a STA reconnects to a previously connected AP, both its OTA MAC address and permanent MAC address can uniquely identify it. Therefore, when associating with the AP, the STA uses the OTA MAC address in the MAC frame header. Since the AP maintains a mapping between the STA's permanent MAC address and OTA MAC address, it can look up the corresponding permanent MAC address using the OTA MAC address. The STA then uses the permanent MAC address to establish a secure association with the AP. Because the STA consistently uses the permanent MAC address, changes to the STA's OTA MAC address will not cause it to lose any secure association status. Furthermore, if the STA does not connect to a new AP, its permanent MAC address will no longer appear in plaintext. The permanent MAC address and OTA MAC address mapping tables of the APs the STA has previously associated with are different, thus preventing the AP from identifying the STA's presence through its own mapping relationships.

[0096] Furthermore, the AP can synchronously calculate the OTA MAC address that the STA will use in each future time period based on the current system time and the relevant parameters agreed upon by the STA. The AP only needs to pre-calculate and store the value of the STA's next OTA MAC address, as this value dynamically changes with the access point's current system time and the parameters negotiated with the STA. Since the AP has already pre-calculated the STA's next OTA MAC address, the STA can directly use the updated OTA MAC address to communicate with the AP.

[0097] In an optional implementation, the update parameter T negotiated between the terminal device and the network device is variable. When the terminal device and the network device are de-associated, the terminal device sends a new update parameter T to the network device. Both the terminal device and the network device update the corresponding first time mapping table and second time mapping table according to the new update parameter T.

[0098] For example, when the STA disconnects from the AP, the STA sends a new update parameter T to the AP. The AP uses the new update parameter T to update the time mapping table and synchronously calculates and updates the AP's OTA MAC address. When the STA reconnects to the AP, the STA calculates the OTA MAC address based on the new update parameter T and uses the OTA MAC address to communicate with the AP.

[0099] This invention also provides a wireless communication system, including a network device and a terminal device. The wireless communication system is used to implement the above-described non-interactive and time-based MAC address change method. For the specific implementation process, please refer to the non-interactive and time-based MAC address change method in the above embodiments, which will not be repeated here.

[0100] In this wireless communication system, the network device and terminal device synchronously calculate the next OTA MAC address to be used by the terminal device. Therefore, the network device and terminal device do not need to encrypt and / or decrypt to negotiate the next OTA MAC address to be used by the terminal device, resulting in low computational overhead. Secondly, the next OTA MAC address to be used by the terminal device calculated by the network device can dynamically change according to the current time of the network device and the update parameter T negotiated with the terminal device. The terminal device has already pre-calculated the OTA MAC address to be used by the terminal device at any time. Therefore, the terminal device does not need to have additional interaction with the network device before updating the MAC address, resulting in low air interface communication overhead. Moreover, the network device only needs to maintain the mapping between the terminal device's permanent MAC address and the current and next OTA MAC addresses, thus resulting in low storage overhead.

[0101] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations are intended to cover non-exclusive inclusion, such that an article or apparatus comprising a list of elements includes not only those elements but also other elements not expressly listed. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the article or apparatus that includes said element.

[0102] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.

Claims

1. A non-interactive, time-based MAC address change method, characterized in that, Applied to a wireless communication system, the wireless communication system including network equipment and terminal equipment, the method includes: When the terminal device performs an address update, it updates the OTA MAC address according to the current time of the terminal device and the stored terminal address update parameters, and uses the updated OTA MAC address to communicate with the network device. The network device establishes a list of MAC addresses associated with the terminal device, the list of MAC addresses including the permanent MAC address of the terminal device, the currently used OTA MAC address, and the next OTA MAC address to be used; The next OTA MAC address to be used is the updated OTA MAC address of the terminal device, which is synchronously calculated by the network device; the next OTA MAC address to be used is calculated and updated in real time based on the current time of the network device and the stored network address update parameters. In response to the terminal device communicating using an updated OTA MAC address, the network device updates the currently used OTA MAC address in the MAC address list to the updated OTA MAC address; Wherein, the first secret value, the first time mapping table, and the time difference table are used as the terminal address update parameters; the second secret value and the second time mapping table are used as the network address update parameters; the first time mapping table and the second time mapping table are established according to the update parameter T; The update parameter T is Random integers within the range; establishing a first-time mapping table based on the update parameter T, including: If the update parameter T ,make , , This indicates rounding down. If the value is an integer, then the time in seconds will be... Divide the interval into n consecutive second intervals, and let i take values ​​of... Integers within a range, the i-th second interval is denoted as The mapping value corresponding to the i-th second interval is ;like If the value is not an integer, then the time in seconds will be used. Divide the interval into n+1 consecutive second intervals, and let i take values ​​of... Integers within the range, when When, the i-th second interval is denoted as ,when When, the i-th second interval is denoted as The second mapping value corresponding to the i-th second interval is Based on the divided second intervals and the corresponding second mapping values, a second value mapping table is established as the first time mapping table. If the update parameter T ,make , , This indicates rounding up. If the value is an integer, then the time in minutes will be... Divide the interval into n consecutive minute intervals, and let i take values ​​of... Integers within a range, the i-th minute interval is denoted as The minute mapping value corresponding to the i-th minute interval is ;like If the value is not an integer, then the time in minutes will be used. Divide the interval into n+1 consecutive minute intervals, and let i take values ​​of... Integers within the range, when When, the i-th minute interval is denoted as ,when When, the i-th minute interval is denoted as The minute mapping value corresponding to the i-th minute interval is Based on the divided minute intervals and the corresponding minute mapping values, a minute value mapping table is established as the first time mapping table. If the update parameter T ,make , ,like If the value is an integer, then the hour value of the time will be used. Divide the interval into a continuous n-hour interval, and let i take values ​​of... Integers within a range, the i-th hour interval is denoted as The hourly mapping value corresponding to the i-th hour interval is ;like If the value is not an integer, then the hour value of the time will be used. Divide the interval into a continuous n+1 hour interval, and let i take the value of Integers within the range, when When, the i-th hour interval is denoted as ,when When, the i-th hour interval is denoted as The hourly mapping value corresponding to the i-th hour interval is Based on the divided hour intervals and the hour mapping values ​​corresponding to the hour intervals, an hour value mapping table is established as the first time mapping table.

2. The non-interactive and time-based MAC address changing method according to claim 1, characterized in that, Also includes: Upon initial access, the terminal device uses a permanent MAC address to establish a secure association with the network device. After establishing the secure association, it generates a first secret value using generation rules, sends an update parameter T to the network device, and establishes a first time mapping table based on the update parameter T, and establishes a time difference table for the network device associated with it. The network device generates a second secret value using the same generation rule and establishes a second time mapping table based on the received update parameter T.

3. The non-interactive and time-based MAC address changing method according to claim 2, characterized in that, Also includes: When accessing the network for the first time, the terminal device generates an OTA MAC address based on the current time of the terminal device and the stored terminal address update parameters, and uses the OTA MAC address to communicate with the network device. The network device finds the permanent MAC address corresponding to the received OTA MAC address based on the received OTA MAC address and the stored MAC address list, and establishes a secure association between the terminal device and the network device based on the permanent MAC address.

4. The non-interactive and time-based MAC address changing method according to claim 2, characterized in that, Before the terminal device generates an initial OTA MAC address, the terminal device uses a permanent MAC address to communicate with the network device.

5. The non-interactive and time-based MAC address changing method according to claim 2, characterized in that, The first secret value is the same as the second secret value, the first time mapping table is the same as the second time mapping table, and both the first secret value and the second secret value are obtained by hashing the secret information shared by the terminal device and the network device using a standard hash algorithm.

6. The non-interactive and time-based MAC address changing method according to claim 5, characterized in that, When the terminal device is de-associated with the network device, the terminal device sends a new update parameter T to the network device. Both the terminal device and the network device update the corresponding first time mapping table and second time mapping table according to the new update parameter T.

7. The non-interactive and time-based MAC address changing method according to claim 1, characterized in that, The process of updating the OTA MAC address includes: Obtain the current time of the terminal device, including date, hour, minute, and second; According to the time difference table, the time difference between the terminal device and the network device is obtained, and the time difference is used to achieve time synchronization between the terminal device and the network device to obtain the synchronization time. If the first time mapping table is a second value mapping table, then the second value of the synchronization time is determined to be located in the second interval of the first time mapping table, the corresponding second mapping value is obtained, and the synchronization time is updated using the second mapping value to obtain the updated time; If the first time mapping table is a minute value mapping table, then the minute value of the synchronization time is determined to be located in the minute interval of the first time mapping table, the corresponding minute mapping value is obtained, and the synchronization time is updated using the minute mapping value to obtain the updated time; If the first time mapping table is an hour value mapping table, then the hour value of the synchronization time is determined to be located in the hour interval of the first time mapping table, the corresponding hour mapping value is obtained, and the synchronization time is updated using the hour mapping value to obtain the updated time; Based on the updated time, use HASH(IV||Time) 48 A 48-bit value is calculated as the updated OTA MAC address. It is then determined whether the U / L bits and I / G bits of this updated OTA MAC address are 1 and 0 respectively. If not, they are changed to 1 and 0 respectively. The hash function is then used. 48 This indicates that 48 bits are extracted from the result of the hash operation. IV represents the secret value, Time represents the updated time, and || represents string concatenation.

8. The non-interactive and time-based MAC address changing method according to claim 1, characterized in that, The calculation and update process for the next OTA MAC address to be used includes: Obtain the current time of the network device, including date, hour, minute, and second; If the second time mapping table is a second value mapping table, then the second value of the current time is determined to be within the second interval of the second time mapping table, the corresponding second mapping value is obtained, and the current time is updated using the second mapping value to obtain the updated time; If the second time mapping table is a minute value mapping table, then the minute value of the current time is determined to be located in the minute interval of the second time mapping table, the corresponding minute mapping value is obtained, and the current time is updated using the minute mapping value to obtain the updated time; If the second time mapping table is an hour value mapping table, then the hour value of the current time is determined to be located in the hour interval of the second time mapping table, the corresponding hour mapping value is obtained, and the current time is updated using the hour mapping value to obtain the updated time; Based on the updated time, use HASH(IV||Time) 48 A 48-bit value is calculated as the next OTA MAC address to be used. It is then determined whether the U / L bits and I / G bits of this next OTA MAC address are 1 and 0 respectively. If not, they are changed to 1 and 0 respectively. HASH() 48 This indicates that 48 bits are extracted from the result of the hash operation, IV represents the secret value, Time represents the updated time, and || represents string concatenation. As the current time of the network device changes, the MAC address of the next OTA to be used is calculated and updated in real time.

9. A wireless communication system, characterized in that, The wireless communication system, including network devices and terminal devices, implements the non-interactive and time-based MAC address changing method according to any one of claims 1-8.

Citation Information

Patent Citations

  • Address randomization scheme for multi-link devices

    CN115834546A

  • Wi-fi privacy in a wireless station using media access control address randomization

    US20160135041A1