Communication method and related equipment
By generating a private address based on the responder's identity in a UWB multi-millisecond ranging session, the problem of the initiator being unable to verify the source of the response frame is solved, thereby improving the security and efficiency of authentication.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2023-06-15
- Publication Date
- 2026-05-12
Smart Images

Figure CN122028044A_ABST
Abstract
Description
[0001] This application is a divisional application. The original application has the application number 202380099337.X and the original application date is June 15, 2023. The entire contents of the original application are incorporated herein by reference. Technical Field
[0002] The embodiments of this application relate to the field of communication technology, and more specifically, to a communication method and a related device. Background Technology
[0003] Ultra-wideband (UWB) technology is increasingly being used for indoor positioning and other location services, such as access control and asset location. To address long-range ranging use cases, UWB multi-millisecond (MMS) ranging has been introduced. The key idea behind MMS ranging is to distribute UWB ranging frames into multiple segments, which are transmitted over multiple milliseconds (ms), overcoming the 37 nanojoules (nJ) transmit energy limit per millisecond. By distributing the ranging frames across multiple segments, each transmitted within 1 ms, the total energy of the ranging frames can be increased several times, significantly improving the ranging range. This means that when block-based modes are used for MMS ranging, the control frame transmission time is limited to 1 ms, resulting in very limited available space for actual control information within the control frame. To overcome this limitation, a compressed physical layer service data unit (PSDU) format using private addresses has been introduced for the control frames.
[0004] In an MMS ranging session, when sending an initial compressed PSDU (e.g., an Advertisement Polling (ADV-POLL) frame or a POLL frame), the initiator generates a pseudo-random number RPA_prand and uses it to generate a private address RPA_hash. The responder verifies the initiator's identity based on the RPA_prand and RPA_hash received from the initiator. If the responder intends to participate in the ranging session with the initiator, it will send a response frame carrying the same RPA_hash.
[0005] Typically, only ADV-POLL and POLL frames carry RPA_hash and RPA_prand, while other frames only carry the RPA_hash from the previous frame. This means that any device receiving an ADV-POLL or POLL frame can easily copy the RPA_hash and send a response frame carrying the RPA_hash as its private address. In other words, the initiator cannot determine whether the response frame truly originates from the authorized responder. Summary of the Invention
[0006] Embodiments of this application provide a communication method and a related device that support the initiator verifying that the frame in an MMS ranging session indeed originates from the authorized responder.
[0007] According to a first aspect, this application provides a communication method. The method is applied to a first responder, and the method includes: Receive a first frame from the initiator to initiate the ranging process; generate a first private address based on the first frame and information related to the identity of the first responder; send a second frame carrying the first private address to the initiator.
[0008] For example, information related to the identity of the first responder can uniquely identify the first responder. Frames used to initiate the ranging process include frames used to initiate the initialization and setup phases, or frames used to initiate the measurement cycle phase.
[0009] The second frame can be a response frame to the first frame, or it can be a frame sent after the response frame to the first frame. For example, the first frame is an ADV-POLL frame, and the second frame is an ADV-RESP frame. Alternatively, the first frame is a POLL frame, and the second frame is a RESP frame. Or, the first frame is a POLL frame, and the second frame is a RPRT frame.
[0010] For example, generating a first private address based on the first frame and information related to the identity of the first responder includes: verifying the identity of the initiator based on the first frame; and generating a first private address based on information related to the identity of the first responder when the initiator's authentication is successful.
[0011] It should be noted that information related to the identity of the first responder is known to the initiator.
[0012] According to the above technical solution, since the responder's private address is generated based on the responder's identity, the initiator can identify whether the sender of the compressed frame is an authorized responder, while maintaining the sender's privacy. Furthermore, since no new fields need to be added to the compressed frame, the size of the compressed frame can be minimized.
[0013] In one possible implementation, the information related to the identity of the first responder includes any one of the following: the public address of the first responder, the MMS ranging configuration requested by the first responder, a first random number generated by the first responder, or the unique identity resolving key (IRK) of the initiator and the first responder.
[0014] The public address of the first responder may include either an in-band extended address or an out-of-band (OOB) public address.
[0015] Crucially, the responder provides its public address during the session establishment phase and / or carries the MMS ranging configuration in the compressed frame sent to the initiator to obtain the ranging result. Therefore, in the above technical solution, the first responder uses its public address or MMS ranging configuration as identity-related information to generate a private address, thus eliminating the need for additional signaling interactions to notify the initiator of its identity information, which helps reduce signaling overhead in the ranging session. Furthermore, compared to static identity-related information, random numbers can be updated frequently; therefore, using the first random number as identity-related information for the first responder helps improve communication security. Using the unique IRK between the initiator and the first responder as identity-related information for the first responder reduces the complexity of generating a private address.
[0016] In one possible implementation, the first frame carries a second random number associated with a second private address of the initiator; generating the first private address based on the first frame and information related to the identity of the first responder includes generating the first private address based on the second random number and the information related to the identity of the first responder.
[0017] Generating a first private address based on a second random number and information related to the identity of the first responder includes: after verifying the identity of the initiator using the second random number and the second private address, generating a first private address based on information related to the identity of the first responder; and / or generating the first private address by combining the first random number and information related to the identity of the first responder with a pre-negotiated IRK between the initiator and the first responder as input to a suitable hash function, wherein the suitable hash function is pre-negotiated between the initiator and the first responder. In the former case, the first frame also carries the second private address.
[0018] For example, when the information related to the identity of the first responder includes any of the following: the public address of the first responder, the MMS ranging configuration requested by the first responder, and the first random number generated by the first responder, generating the first private address based on the second random number and the information related to the identity of the first responder includes: generating the first private address based on the second random number, the information related to the identity of the first responder, and the first IRK, wherein the first IRK is pre-negotiated between the initiator and the first responder.
[0019] For example, the first IRK may include: a public IRK shared between the initiator and multiple responders, including the first responder; or a unique IRK between the initiator and the first responder.
[0020] According to the above technical solution, the first responder generates a private address based on the random number carried in the compressed frame received from the initiator. This helps to increase the difficulty of attacking the session between the initiator and the authorized responder, because only the responder who knows the random number can generate a private address that can be successfully verified by the initiator.
[0021] In one possible implementation, the second private address is generated based on information related to the identity of the second responder, and generating the first private address based on the first frame and the information related to the identity of the first responder includes: generating the first private address when it is determined that the second responder and the first responder are the same responder.
[0022] According to the above technical solution, the initiator can select specific responders to participate in MMS ranging.
[0023] In one possible implementation, sending the second frame carrying the first private address to the initiator includes sending the second frame carrying the first private address and the first random number to the initiator.
[0024] Alternatively, the first responder generates a new first random number when sending the second frame.
[0025] According to the above technical solution, by carrying a first random number in the second frame, the initiator can know the identity of the first responder, which can avoid the risk of static identity information being stolen and improve communication security.
[0026] In one possible implementation, the first frame is a ranging initialization message (RIM) frame, which carries a list associated with responders who are scheduled to participate in MMS ranging, and the responders include the first responder; generating the first private address based on information related to the identity of the first responder includes generating the first private address when it is determined from the list that the first responder is scheduled to a first access slot among multiple access slots.
[0027] According to the above technical solution, when a responder receives a RIM, only the responder scheduled to the first access time slot generates and sends its private address, while other responders are in a standby state until they receive a POLL frame.
[0028] In one possible implementation, the second frame includes any one of the following: ADV-RESP frame, RESP frame, and RPRT frame.
[0029] The first frame includes either an ADV-POLL frame or a POLL frame.
[0030] According to the above technical solution, carrying a private address related to the responder's identity in the frame sent by the responder to the initiator helps the initiator to authenticate the responder's identity.
[0031] In one possible implementation, the first frame or the second frame is a secure frame carrying encrypted information obtained based on a first nonce; the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
[0032] For example, the time period can be an Insider block structure or an Outside block structure. Specifically, if the time period is an Insider block structure, the time period can indicate the slot, round, and block for sending the security frame.
[0033] According to the above technical solution, encrypting part of the content in the second frame based on Nonce helps to improve the security of the information carried in the second frame.
[0034] In one possible implementation, the first Nonce includes frame counter information indicating the time period for the transmission of the secure frame.
[0035] According to the above technical solution, based on the time period used for the transmission of security frames, a frame counter can be generated for the Nonce used to secure or desecure the frame.
[0036] In one possible implementation, the first Nonce further includes block structure indication information, which indicates whether the second frame is sent within or outside the block structure.
[0037] For example, the block structure indication information includes a 1-bit field, which is set to 0 in compressed frames sent outside the block structure and set to 1 in secure compressed frames sent inside the block structure.
[0038] According to the above technical solution, the block structure indication information can ensure that the nonce used for secure frames sent within and outside the block structure is never reused.
[0039] In one possible implementation, the second frame also carries the private address of the initiator.
[0040] For example, the initiator's private address includes a second private address.
[0041] According to the above technical solution, including both the initiator's and responder's private addresses in the second frame simplifies the authentication of the responder. For example, if the initiator's private address carried in the second frame does not match the initiator's private address carried in the first frame, the initiator will determine that the responder's authentication has failed; otherwise, the initiator will further verify the responder's identity based on the responder's private address. Furthermore, carrying the initiator's private address in the second frame makes it easier for the initiator to identify the IRK used to verify the responder's private address.
[0042] In one possible implementation, the method further includes receiving a third frame from the initiator carrying time offset information, the time offset information indicating the time offset of the transmitted start of ranging (SOR) frame.
[0043] According to the above technical solution, when UWB channel coordination is active, the responder can perceive the time offset of the SOR frame.
[0044] According to a second aspect, this application provides a communication method. The method is applied to an initiator and includes: A second frame carrying a first private address is received from a first responder, the first private address being associated with information related to the identity of the first responder; a third private address is generated based on the information related to the identity of the first responder; the identity of the first responder is verified by comparing the third private address with the first private address.
[0045] Specifically, when the third private address is the same as the first private address, it is determined whether the second frame actually comes from the authorized first responder.
[0046] In one possible implementation, the information related to the identity of the first responder includes any one of the following: the public address of the first responder, the MMS ranging configuration requested by the first responder, a first random number generated by the first responder, and the unique IRK of the initiator and the first responder.
[0047] In one possible implementation, the method further includes: sending a first frame for initiating a ranging process, wherein the first frame carries a second random number and the second random number is associated with a second private address of the initiator; generating a third private address based on the information related to the identity of the first responder includes: generating the third private address based on the second random number and the information related to the identity of the first responder.
[0048] For example, a third private address is generated by combining a first random number with information related to the identity of the first responder, along with a pre-negotiated IRK between the initiator and the first responder, as input to a suitable hash function. The suitable hash function is pre-negotiated between the initiator and the first responder.
[0049] In one possible implementation, the method further includes: generating a fourth private address based on information related to the identity of the second responder; and sending a frame carrying the fourth private address to the second responder.
[0050] In some embodiments, the first responder and the second responder are the same responder.
[0051] Optionally, the method further includes sending a frame carrying the fourth private address to the first responder. It should be noted that since the fourth private address is generated based on the identity of the second responder, only the second responder can successfully verify the fourth private address.
[0052] In one possible implementation, the second frame also carries the first random number, and generating the third private address based on the information related to the identity of the first responder includes generating the third private address based on the first random number.
[0053] In one possible implementation, the method further includes: sending a first frame to the first responder for initiating a ranging process, the first frame being a RIM frame carrying a list associated with responders scheduled to participate in MMS ranging, the responders including the first responder.
[0054] In one possible implementation, the second frame includes any one of the following: ADV-RESP frame, RESP frame, and RPRT frame.
[0055] In one possible implementation, the first frame or the second frame is a secure frame carrying encrypted information obtained based on a first nonce; the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
[0056] In one possible implementation, the first Nonce includes frame counter information indicating the time period for the transmission of the secure frame.
[0057] In one possible implementation, the first Nonce further includes block structure indication information, which indicates whether the second frame is sent within or outside the block structure.
[0058] In one possible implementation, the second frame also carries the initiator's private address; the method further includes: verifying the identity of the first responder based on the initiator's private address.
[0059] In one possible implementation, the method further includes sending a third frame carrying time offset information to the first responder, the time offset information indicating the time offset of the sent SOR frame.
[0060] The beneficial effects of the second aspect are similar to those of the first aspect. They will not be elaborated upon here.
[0061] According to a third aspect, this application provides a communication apparatus, comprising: a receiving unit for receiving a first frame from an initiator for initiating a ranging process; a generating unit for generating a first private address based on the first frame and information related to the identity of the first responder, wherein the information related to the identity of the first responder is known to the initiator; and a sending unit for sending a second frame carrying the first private address to the initiator.
[0062] In one possible implementation, the information related to the identity of the first responder includes any one of the following: the public address of the first responder, the MMS ranging configuration requested by the first responder, a first random number generated by the first responder, or a unique IRK of the initiator and the first responder.
[0063] In one possible implementation, the first frame carries a second random number associated with a second private address of the initiator; the generation unit is configured to generate the first private address based on the second random number and the information associated with the identity of the first responder.
[0064] In one possible implementation, the second private address is generated based on information related to the identity of the second responder, and the generation unit is used to generate the first private address when it is determined that the second responder and the first responder are the same responder.
[0065] In one possible implementation, the sending unit is configured to send a second frame carrying the first private address and the first random number to the initiator.
[0066] In one possible implementation, the first frame is a RIM frame, which carries a list associated with responders who are scheduled to participate in MMS ranging, and the responders include the first responder; the generation unit is configured to: generate the first private address when it is determined from the list that the first responder is scheduled to a first access slot among multiple access slots.
[0067] In one possible implementation, the second frame includes any one of the following: ADV-RESP frame, RESP frame, and RPRT frame.
[0068] In one possible implementation, the first frame or the second frame is a secure frame carrying encrypted information obtained based on a first nonce; the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
[0069] In one possible implementation, the first Nonce includes frame counter information indicating the time period for the transmission of the secure frame.
[0070] In one possible implementation, the first Nonce further includes block structure indication information, which indicates whether the second frame is sent within or outside the block structure.
[0071] In one possible implementation, the second frame also carries the private address of the initiator.
[0072] In one possible implementation, the receiving unit is further configured to: receive from the initiator a third frame carrying time offset information, the time offset information indicating the time offset of the transmitted SOR frame.
[0073] According to a fourth aspect, this application provides a communication apparatus, comprising: a receiving unit, configured to receive from a first responder a second frame carrying a first private address, wherein the first private address is associated with information, the information being associated with the identity of the first responder; a generating unit, configured to generate a third private address based on the information associated with the identity of the first responder; and a verification unit, configured to verify the identity of the first responder by comparing the third private address with the first private address.
[0074] In one possible implementation, the information related to the identity of the first responder includes any one of the following: the public address of the first responder, the MMS ranging configuration requested by the first responder, a first random number generated by the first responder, or a unique IRK of the initiator and the first responder.
[0075] In one possible implementation, the communication device further includes a sending unit configured to: send a first frame for initiating a ranging process, the first frame carrying a second random number, and the second random number being associated with a second private address of the initiator; and the generating unit configured to: generate the third private address based on the second random number and the information associated with the identity of the first responder.
[0076] In one possible implementation, the generating unit is further configured to: generate a fourth private address based on information related to the identity of the second responder; the sending unit is further configured to: send a frame carrying the fourth private address to the second responder.
[0077] In one possible implementation, the second frame also carries the first random number, and the generation unit is used to generate the third private address based on the first random number.
[0078] In one possible implementation, the sending unit is further configured to: send a first frame to the first responder for initiating a ranging process, the first frame being a RIM frame carrying a list associated with responders who are scheduled to participate in MMS ranging, the responders including the first responder.
[0079] In one possible implementation, the second frame includes any one of the following: ADV-RESP frame, RESP frame, and RPRT frame.
[0080] In one possible implementation, the first frame or the second frame is a secure frame carrying encrypted information obtained based on a first nonce; the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
[0081] In one possible implementation, the first Nonce includes frame counter information indicating the time period for the transmission of the secure frame.
[0082] In one possible implementation, the first Nonce further includes block structure indication information, which indicates whether the second frame is sent within or outside the block structure.
[0083] In one possible implementation, the second frame also carries the private address of the initiator; the verification unit is further configured to: verify the identity of the first responder based on the private address of the initiator.
[0084] In one possible implementation, the sending unit is further configured to: send a third frame carrying time offset information to the first responder, the time offset information indicating the time offset of the sent SOR frame.
[0085] According to a fifth aspect, a communication device is provided, including a processor and a memory. The processor is connected to the memory. The memory is used to store instructions, and the processor is used to execute the instructions. When the processor executes the instructions stored in the memory, the processor performs a method in any possible implementation of the first or second aspect.
[0086] According to a sixth aspect, this application provides a communication system comprising communication means in any possible implementation of the third aspect and communication means in any possible implementation of the fourth aspect.
[0087] According to a seventh aspect, this application provides a computer-readable storage medium including instructions. When the instructions are executed on a processor, they cause the processor to perform the methods in any possible implementation of the first or second aspect.
[0088] According to an eighth aspect, this application provides a computer program product including computer program code. When the computer program code is run on a computer, it causes the computer to perform the methods in any possible implementation of the first or second aspect.
[0089] It should be noted that all or part of the aforementioned computer program code can be stored in the first storage medium. The first storage medium can be packaged together with the processor or packaged separately from the processor.
[0090] According to a ninth aspect, this application provides a chip system including a memory and a processor. The memory is used to store a computer program, and the processor is used to retrieve and execute the computer program from the memory, causing an electronic device configured with the chip system to perform the methods in any possible implementation of the first or second aspect. Attached Figure Description
[0091] Figure 1 The transmission of compressed frames in an MMS ranging session is shown.
[0092] Figure 2 This is a schematic flowchart of a communication method provided in an embodiment of this application.
[0093] Figure 3 This is a schematic flowchart illustrating another communication method provided in an embodiment of this application.
[0094] Figure 4 This is a diagram of an ADV-POLL frame or a POLL frame.
[0095] Figure 5 This is a schematic diagram of an ADV-RESP frame or RESP frame provided in an embodiment of this application.
[0096] Figure 6 This is a schematic diagram of another ADV-RESP frame or another RESP frame provided in the embodiments of this application.
[0097] Figure 7 This is a schematic diagram of yet another ADV-RESP frame or yet another RESP frame provided in the embodiments of this application.
[0098] Figure 8 This is a schematic diagram of an SOR frame.
[0099] Figure 9 This is a schematic diagram of a secure compressed frame provided in an embodiment of this application.
[0100] Figure 10 This is a schematic diagram of a Nonce provided in an embodiment of this application.
[0101] Figure 11 This is a schematic diagram of a method for constructing a Nonce provided in an embodiment of this application.
[0102] Figure 12 This is a schematic flowchart illustrating another communication method provided in an embodiment of this application.
[0103] Figure 13 This is a schematic flowchart illustrating another communication method provided in an embodiment of this application.
[0104] Figure 14 This is a schematic flowchart illustrating another communication method provided in an embodiment of this application.
[0105] Figure 15 This is a schematic flowchart illustrating another communication method provided in an embodiment of this application.
[0106] Figure 16 This is a schematic diagram of a RIM frame provided in an embodiment of this application.
[0107] Figure 17 This is a schematic flowchart illustrating another communication method using selective MMS ranging provided in an embodiment of this application.
[0108] Figure 18 This is a schematic block diagram of a communication device provided in an embodiment of this application.
[0109] Figure 19 This is a schematic block diagram of another communication device provided in the embodiments of this application.
[0110] Figure 20 This is a schematic block diagram of another communication device provided in the embodiments of this application. Detailed Implementation
[0111] For ease of understanding, the MMS ranging session is shown below.
[0112] like Figure 1 As shown, an MMS ranging session may include an initialization and setup phase, followed by one or more ranging measurement cycles. During the initialization and setup phase, frames are transmitted in the initialization channel, while during the measurement cycle, frames are transmitted in the ranging channel. Although the same channel can be used as both the initialization and ranging channels, it is more likely that one or more well-known channels will be used as the initialization channel.
[0113] During the initialization and setup phases, the initiator and responder can negotiate the ranging configuration. The initiator, at its own discretion, opportunistically sends ADV-POLL frames at regular intervals. If a responder intends to participate in the ranging session with the initiator, one or more responders can opportunistically listen for incoming ADV-POLL frames and respond with an ADV-RESP frame. Once the initiator receives an ADV-RESP frame, it sends an SOR frame, which provides the time offset for the start of the first ranging cycle.
[0114] The measurement cycle includes a ranging control phase, a ranging phase, and an optional measurement reporting phase. The ranging control phase begins at the start of the ranging cycle. The initiator initiates the ranging control phase by sending a POLL frame to the responder at the beginning of the first ranging time slot of the ranging wheel. Upon receiving the POLL frame, the responder successfully sends a RESP frame back to the initiator. The POLL and RESP frames enable time and frequency synchronization between the initiator and responder. The initiator can also include other control information in the responder's POLL frame. During the ranging phase, the initiator and responder can exchange zero or more UWB ranging sequence fragments (RSFs) and, optionally, one or more UWB ranging integrity fragments (RIFs). The RSF is used to perform the ranging measurement, while the RIF is used to check the integrity of the ranging measurement. After the initiator or responder has received all UWB fragments in the ranging phase, the reporting phase begins. In the reporting phase, the initiator and / or responder generates a ranging measurement report and sends an RPRT frame carrying the measurement report to the peer device.
[0115] There are two types of MMS ranging: (1) UWB-only MMS ranging, in which control frames and ranging segments are transmitted using UWB; and (2) Narrowband Assisted UWB (NBA-UWB) MMS ranging, in which ranging segments are transmitted using UWB while control signals are transmitted using narrowband.
[0116] Frame transmission in an MMS ranging session is based on a block-based time structure. For example... Figure 1 As shown, during the initialization and setup phases, frames are transmitted outside the block structure, while during the measurement cycle, frames are transmitted within the block structure. In the block-based time structure, each ranging block comprises the full number of ranging wheels, where a ranging wheel is a time period with sufficient duration to complete a full ranging cycle, the time period involving the set of enhanced ranging capable devices (ERDEVs) participating in the ranging exchange. Here, when a frame is referred to as being transmitted or received within the block structure, it means that both the initiator and the responder are aware of the block-based time structure and are synchronized. However, if the initiator and / or the responder are unaware of the block-based time, the frame is said to be transmitted or received outside the block structure. Each ranging wheel is further subdivided into an integer number of ranging time slots, where a ranging time slot is a time period with sufficient duration for the transmission of at least one ranging frame (RFRAME). The block-based mode uses a structured time axis, where, by default, the ranging block structure is periodic.
[0117] The technical solutions in this application are described below with reference to the accompanying drawings.
[0118] Figure 2 A flowchart illustrating an embodiment of the communication method is shown. This method can be applied to an MMS ranging process. The initiator can be a device that initiates UWB exchange by sending exchanged messages. The responder can be a device that responds to messages received from the initiator and participates in the UWB exchange.
[0119] S110: The initiator sends the first frame to the first responder.
[0120] The first frame carries a second random number and the initiator's second private address, wherein the second private address is associated with the second random number. For example, the second private address is generated using a hash function by combining the second random number with a second IRK, which is pre-negotiated between the initiator and the first responder.
[0121] In some possible implementations, the first frame is used to initiate the ranging process. For example, the first frame can be one of an ADV-POLL frame, a POLL frame, and a RIM frame. A RIM frame can be considered a variant of a POLL frame.
[0122] S120: The first responder generates a first private address based on the first frame and information related to the identity of the first responder.
[0123] Information related to the identity of the first responder is known to the initiator. For example, the information related to the identity of the first responder may have been pre-negotiated between the initiator and the first responder, or the information related to the identity of the first responder may have been notified to the initiator by the first responder. In the former case, the information related to the identity of the first responder includes the first responder's public address and either the unique IRK (e.g., IRK-RI) of the initiator and the first responder. In the latter case, the information related to the identity of the first responder includes either the MMS ranging configuration requested by the first responder or a first random number generated by the first responder.
[0124] For example, the public address of the first responder may include an in-band extended address or an out-of-band public address.
[0125] For example, the in-band extended address may include an 8-byte extended media access control (MAC) address. The OOB public address may include a 6-byte Bluetooth MAC address. In some embodiments, the public address of the first responder may also include other communication addresses that uniquely identify the first responder.
[0126] For example, the MMS ranging configuration requested by the first responder may include at least one of the following: UWB physical layer (PHY) configuration, UWB MAC configuration, narrowband (NB) PHY configuration, and NB MAC configuration.
[0127] Optionally, the first responder generating the first private address based on the first frame and information related to the identity of the first responder includes: the first responder generating the first private address based on a second random number and information related to the identity of the first responder.
[0128] In some embodiments, the first responder generating a first private address based on a second random number and information related to the first responder's identity includes: the first responder using the first random number and information related to the first responder's identity, combined with a first IRK pre-negotiated between the initiator and the first responder, as input to a suitable hash function to generate the first private address; or the first responder using the first random number and information related to the first responder's identity as input to a suitable hash function to generate the first private address. The suitable hash function is pre-negotiated between the initiator and the first responder.
[0129] For example, the first private address can be generated using the following formula: Hash = AH(IRK, random number) , Hash Indicates the first private address. AH() Represents a hash function. IRK It can be the first IRK or the unique IRK of both the initiator and the first responder. random number It can be either the second random number or the first random number.
[0130] For example, the first IRK may include: a public IRK shared between the initiator and multiple responders, including the first responder; or a unique IRK between the initiator and the first responder.
[0131] Optionally, the second IRK is the same as the first IRK, or the second IRK is paired with the first IRK.
[0132] In other embodiments, the first responder generating a first private address based on a second random number and information related to the identity of the first responder includes: after verifying the identity of the initiator using the second random number and the second private address, the first responder generates a first private address based on information related to the identity of the first responder.
[0133] For example, the first responder's verification of the initiator's identity using a second random number and a second private address includes: the first responder using a second IRK, a second random number, and a second private address to verify the initiator's identity. Specifically, the first responder uses the first IRK to generate a local private address for the second random number. If the local private address matches the second private address carried in the first frame, the first responder will determine that the initiator's authentication was successful; otherwise, the first responder will discard the first frame.
[0134] S130: The first response direction sends a second frame carrying the first private address to the initiator.
[0135] For example, the second frame can be one of ADV-RESP, RESP, and RPRT frames.
[0136] In some possible implementations, if the first private address is generated based on the first random number, then the second frame will carry the first private address and the first random number.
[0137] In some possible implementations, the second frame also carries a second private address.
[0138] S140: The initiator verifies the identity of the first responder based on the first private address.
[0139] For example, the initiator verifies the identity of the first responder using information related to the first responder's identity and a first IRK, which is pre-negotiated between the initiator and the first responder. Specifically, the initiator uses the first IRK and information related to the first responder's identity to generate a local private address (e.g., a third private address) with a specific random number. If the local private address matches the first private address carried in the second frame, the initiator determines that the first responder's authentication was successful; otherwise, the initiator discards the second frame.
[0140] For example, a specific random number may include a first random number or a second random number. When the first private address is generated based on the first random number, the specific random number includes the first random number. When the first private address is generated based on the second random number, the specific random number includes the second random number.
[0141] In some possible implementations, the initiator generates a second private address based on information related to the identity of the second responder. The first responder generates a local private address based on information related to the identity of the second responder. If the first responder can successfully verify the second private address, the first responder determines that the second responder is the same as the first responder and generates a first private address.
[0142] In some possible implementations, the initiator generates a fourth private address based on information related to the identity of the second responder and sends a frame carrying the fourth private address to both the second and first responders. It should be noted that since the fourth private address is generated based on the identity of the second responder, only the second responder can successfully verify the fourth private address.
[0143] Optionally, the first frame or the second frame is a secure frame carrying encrypted information, which is obtained based on a first nonce; the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
[0144] For example, the first responder generates a first nonce based on the ID field and private address field of the second frame, as well as the time slot, round, and block in which the second frame was sent.
[0145] Optionally, the first nonce includes frame counter information, which indicates the time slot, round, and block for transmitting the second frame.
[0146] Optionally, the first nonce also includes block structure indication information, which indicates whether the second frame is sent within or outside the block structure.
[0147] It should be noted that the first and second frames in this application are compressed frames. Compressed frames are IEEE standard 802.15.4 frames that compress PSDU or use compressed header information elements (header IE) format.
[0148] In some possible implementations, the controller acts as the initiator, while the controlled device is assigned the role of the first responder. However, it is also possible that the controlled device is assigned the role of the initiator, while the controller acts as the first responder. It should be noted that the controller is a device used to control the UWB session and define session parameters, while the controlled device is a device that participates in the UWB session using the session parameters received from the controller.
[0149] The following text combines Figures 3 to 12 This application provides a detailed description of the communication method in a one-to-one MMS ranging session provided by its embodiments. Figures 3 to 12 The illustrated embodiment uses the controller as the initiator and the controlled terminal as the responder as an example for explanation.
[0150] Figure 3 A schematic flowchart of a communication method in one-to-one MMS ranging provided by an embodiment of this application is shown. Figure 3 The method shown includes a session establishment phase and steps S210 to S270.
[0151] An MMS ranging session begins with the controller and the controlled device establishing a session. During this session establishment, long-term session parameters such as the UWB channel number, preamble, and block structure are negotiated. Specifically, during session establishment, the controller also provides the controlled device with at least one IRK to resolve or create a private address. Furthermore, for NBA-UWB MMS ranging, narrowband-related parameters (such as the NB channel number and the number of MMS segments) can also be negotiated during session establishment. Additionally, initiator and responder roles can also be assigned during session establishment.
[0152] For example, at least one IRK may include at least one of the first IRK and the second IRK in the above embodiments.
[0153] Understandably, long-term parameters are not expected to change during an MMS ranging session.
[0154] Conversely, parameters related to the measurement cycle (such as wheel / slot duration, number of MMS segments, reporting mode, etc.) can be considered short-term parameters and can be modified during an MMS ranging session.
[0155] Session establishment can be performed out of band (e.g., using Bluetooth or Wi-Fi radio) or in band (e.g., using NB or UWB radio).
[0156] Once a session is established, proceed to step S210.
[0157] S210: The initiator sends an ADV-POLL frame.
[0158] For example, the initiator may, based on its own judgment, opportunistically send ADV-POLL frames at time intervals, while one or more responders may opportunistically listen for incoming ADV-POLL frames. ADV-POLL frames may carry pseudo-random numbers. RPA_prand-I- 1 and its private address RPA_hash-I-1 , RPA_hash-I-1 This can be seen as an example of the second private address in the above embodiments.
[0159] For example, you can use Formula 1 calculate RPA_hash-I-1 And truncate it to 24 bits: RPA_hash-I-1 = AES-128-ECB(key=IRK, data=(0x000…
[13] || RPA_prand-I-1 [3])) % 2^24. Formula 1 AES-128-ECB is a hash function, but other hash functions can be used instead. [n] This indicates that the preceding parameter is n octets.
[0160] An IRK can be a pre-negotiated public IRK between the initiator and the responder, such as IRK-B.
[0161] A schematic diagram of the ADV-POLL frame is shown below. Figure 4 As shown. Figure 4 As shown, the ADV-POLL frame includes: a 1-byte message ID field, and a 3-byte private address field carrying the initiator's RPA_hash (e.g., ...). RPA_hash-I-1 ), and carry the 3-octet field of the initiator RPA_prand (e.g., RPA_prand-I-1 The format of the MessageContent field consists of a 1-byte MessageControl field that determines the format of the MessageContent field, a variable-length MessageContent field whose format depends on the content of the MessageContent field, and a 2-byte cyclic redundancy check (CRC) field. The initiator's RPA_hash can also be called the initiator's RPA_hash or the initiator's private address. The initiator's RPA_prand can also be called the initiator's RPA_prand or the initiator's random number.
[0162] After receiving the ADV-POLL frame, the responder generates a pre-negotiated IRK (such as IRK-B mentioned above). RPA_ prand-I-1 The local hash. For example, the responder uses IRK-B as... Formula 1 To generate from input RPA_prand-I-1 The local hash. Furthermore, if the local hash matches the hash carried in the ADV-POLL frame... RPA_hash-I-1 If there is a mismatch, the responder will discard the ADV-POLL frame; otherwise, the responder will determine that the initiator's authentication was successful; then, if the responder intends to participate in the ranging session with the initiator, the responder will send an ADV-RESP frame to the initiator as shown in step S220.
[0163] S220: The responding party sends an ADV-RESP frame to the initiator.
[0164] Specifically, the ADV-RESP frame carries a private address that can identify the responder (i.e., RPA_hash-R-1 The private address is generated using information related to the responder's identity. RPA_hash-R-1 This can be seen as an example of the first private address in the above embodiments.
[0165] Once the initiator receives the ADV-RESP frame, the initiator will base it on... RPA_hash-R-1 Verify the identity of the responder.
[0166] In one embodiment, information related to the responder's identity may include the responder's public address. Responder MAC AddressFor example, an 802.15 MAC address extended by 8 octets can then be used... male Formula 2 calculate RPA_hash-R-1 And truncate it to 24 bits: RPA_hash-R-1 = AES-128-ECB(key=IRK, data=(0x000…[5] || Responder MAC Address [8]|| RPA_prand-I-1)) % 2^24. Formula 2 Furthermore, once the initiator receives the ADV-RESP frame, it uses the responder's public address (e.g., an 802.15 MAC address extended by 8 octets) and the address carried in the ADV-POLL. RPA_prand-I-1 The combination, and using IRK as Formula 2 The input is used to generate a local hash for the responder.
[0167] In another embodiment, information related to the responder's identity may include the MMS ranging configuration requested by the responder, such as various NB and UWB configurations requested by the responder in the ADV-RESP frame, which can then be used as follows Formula 3 calculate RPA_hash-R-1 And truncate it to 24 bits: RPA_hash-R-1 = AES-128-ECB(key=IRK, data=(0x00[1] || UWB PHY Config | | UWB MAC Config || NB PHY Config || NB MAC Config || RPA_prand-I-1)) % 2^24. Formula 3 Here, UWB PHY Config, UWB MAC Config, NB PHY Config as well as NB MAC Config This refers to the various configuration parameters carried in the MessageContent field of the ADV-RESP frame.
[0168] It should be noted that as long as the configurations requested by different responders differ by at least 1 bit, the responder's private address will be unique and can be used to identify the responder in subsequent frames.
[0169] Furthermore, once the initiator receives the ADV-RESP frame, it uses the configuration parameters carried in the MessageContent field of the ADV-RESP frame to... RPA_prand-I-1 The combination, and using IRK as the above formula 3 The input is used to generate a local hash for the responder.
[0170] In yet another embodiment, information related to the responder's identity may include the responder's public address. Responder OOB MAC Address For example, a 6-byte Bluetooth MAC address, which can then be used... Formula 4 calculate RPA_hash-R-1 And truncate it to 24 bits: RPA_hash-R-1 = AES-128-ECB(key=IRK, data=(0x000…[7] || , 6 octets Bluetooth MAC address [6] || RPA_prand-I-1)) % 2^24. Formula 4 Furthermore, once the initiator receives the ADV-RESP frame, it uses the responder's public address (e.g., a 6-byte Bluetooth MAC address) to... RPA_prand-I-1 The combination, and using IRK as Formula 4 The input is used to generate a local hash for the responder.
[0171] In some possible implementations, the initiator will maintain a record of the public addresses of one or more responders during session establishment.
[0172] In another embodiment, the information related to the responder's identity may include one of the unique paired IRKs (e.g., IRK-RI & IRK-IR) between the initiator and the first responder, for use in frames sent by the responder to the initiator. Formula 5 calculate RPA_hash-R-1 And truncate it to 24 bits: RPA_hash-R-1 = AES-128-ECB(key=IRK-RI, data=(0x000…
[13] || Initiator RPA_prand-I-1)) % 2^24. Formula 5 Furthermore, once the initiator receives the ADV-RESP frame, the initiator uses IRK-RI to communicate with... RPA_prand-I-1 The combination as Formula 5 The input is used to generate a local hash for the responder.
[0173] Through the above Formulas 2 to 5 Any of the generated ones carries the private address of the responder (e.g., RPA_hash-R- 1 A schematic diagram of the ADV-RESP frame in Figure 5 As shown in the image. Figure 5 As shown, an ADV-RESP frame includes: an octet message ID field, and a private address carrying the responder (e.g., ...). RPA_hash-R-1 The MessageContent field consists of a 3-byte field, a 1-byte MessageControl field that determines the format of the MessageContent field, a variable-length MessageContent field whose format depends on the content of the MessageContent field, and a 2-byte CRC field.
[0174] In some embodiments, the ADV-RESP frame also carries a private address obtained from ADV-POLL, namely the initiator's RPA_hash. A schematic diagram of an ADV-RESP frame carrying both the responder's and initiator's private addresses is shown below. Figure 6 As shown.
[0175] Including both the initiator's RPA_hash and the responder's RPA_hash in the ADV-RESP frame makes identifying the associated IRK easier and simplifies the initiator's authentication of the responder. Specifically, if the initiator's RPA_hash carried in the ADV-RESP frame does not match the initiator's RPA_hash carried in the ADV-POLL frame, the initiator will determine that the responder's authentication has failed; otherwise, the initiator will further verify the responder's identity based on the responder's RPA_hash. The responder's RPA_hash can also be referred to as the responder's RPA_hash or the responder's private address.
[0176] In some embodiments, information related to the responder's identity may include a random number generated by the responder (e.g., RPA_prand-R-1 Then you can use Formula 6 calculate RPA_hash-R-1 And truncate it to 24 bits: RPA_hash-R-1 = AES-128-ECB(key=IRK, data=(0x000…
[13] || RPA_prand-R- 1])) % 2^24. Formula 6 For example, the responder can use any suitable pseudo-random number generation function to generate their own pseudo-random numbers. RPA_prand-R- 1 .
[0177] In one embodiment, when the responder successfully verifies the identity of the initiator, the responder generates... RPA_prand-R- 1 .
[0178] In another embodiment, the responder generates [the response] each time ADV-RESR and RESP frames are sent. RPA_prand-R-1 .
[0179] In addition, if using Formula 6 generate RPA_hash-R-1 Therefore, the ADV-RESP frame also needs to carry the responder's random number so that the initiator can verify the responder's identity. A diagram illustrating an ADV-RESP frame carrying the responder's private address and random number is shown below. Figure 7 As shown. Optionally, Figure 7 The frame shown may or may not carry the initiator's private address obtained from ADV-POLL.
[0180] It should be noted that different formats of ADV-RESP or RESP frames can be distinguished by using different IDs for the frames. For example, for... Figure 5 The format shown uses 0x02, for Figure 6 The format shown uses 0x32, for Figure 7 The format shown uses 0x42, etc.
[0181] It should be noted that, formula 2 to 4 and formula The IRK used in 6 can be the first IRK in the above embodiments. For example, in formula 2 to 4 and formula The IRK used in 6 can be a public IRK (e.g., IRK-B), or in formula 2 to 4 and formula The IRK used in 6 can be one of a pair of IRKs (e.g., IRK-RI). Furthermore, Formulas 2 to 6 It can be seen as Hash = AH (IRK, random number) Some specific examples.
[0182] Furthermore, if the responder's local hash matches the hash carried in the ADV-RESP frame... RPA_hash-R-1 If there is a mismatch, the initiator will discard the ADV-RESP frame; otherwise, the initiator will determine that the responder's authentication was successful, and then the initiator will send an SOR frame to the responder, as shown in step S230.
[0183] S230: The initiator sends an SOR frame to the responder.
[0184] Specifically, the SOR frame provides the time offset at which the first ranging cycle will begin. The SOR frame carries the same information included in the ADV-POLL frame. RPA_hash-I-1 .
[0185] A schematic diagram of an SOR frame is shown below. Figure 8 As shown. Figure 8 As shown, the SOR frame includes: an octet message ID field, and carries the initiator's RPA_hash (e.g., ...). RPA_hash-I-1 The SOR frame contains a 3-byte private address field, a 1-byte MessageControl field that determines the format of the MessageContent field, a variable-length MessageContent field whose format depends on the content of the MessageContent field, and a 2-byte CRC field. The SOR frame carries a time offset that indicates when the measurement phase of MMS ranging will begin.
[0186] S240: The initiator sends a POLL frame to the responder.
[0187] The time offset in the SOR frame indicates the time at which the initiator sends a POLL frame to the responder at the start of the first ranging time slot of the ranging wheel.
[0188] For example, POLL frame sharing Figure 4 The same format as shown, but with pseudo-random numbers. RPA_prand-I-2 and its private address RPA_hash-I-2 The private address is used RPA_prand-I-2 and IRK as Formula 1 It is generated from the input.
[0189] Upon receiving the POLL frame, the responder verifies the initiator's identity based on the private address carried in the POLL frame. The specific verification method is detailed in S210, specifically the verification method based on the ADV-POLL frame. It will not be repeated here.
[0190] When the initiator's authentication is successful, the responder will send an RESP frame to the initiator, as shown in step S250.
[0191] S250: The responding party sends an RESP frame to the initiator.
[0192] Specifically, the RESP frame carries the responder's private address, for example... RPA_hash-R-2 The method for generating the responder's private address, the format of the RESP frame, and the method by which the initiator verifies the responder's identity based on the RESP frame are described in detail in S220. The methods are the same, the difference being that a pseudo-random number carried in the POLL frame (such as...) is used. RPA_prand-I-2 This is used to generate the response RPA_hash. In short, when using the above formula to generate... RPA_hash-R-2 When, in the relevant formula RPA_prand-I-1 Replace with RPA_prand-I-2 This will not be elaborated upon further.
[0193] When the responder's authentication is successful, the initiator initiates the ranging phase. During the ranging phase, the initiator and the responder exchange zero or more RSFs, and optionally exchange one or more RIFs.
[0194] After the initiator or responder receives all UWB segments from the ranging phase, the initiator and / or responder generates a ranging measurement report and sends an RPRT frame carrying the measurement report to the peer device, as shown in steps S260 and S270.
[0195] S260: The response direction sends an RPPT frame to the initiator.
[0196] For example, RPRT frame sharing in this step Figure 8 It has the same format as shown, and carries the private address generated in step S250. RPA_hash-R-2 .
[0197] S270: The initiator sends an RPPT frame to the responder.
[0198] For example, RPRT frame sharing in this step Figure 8 It has the same format as shown, and carries the private address generated in step S240. RPA_hash-I-2 .
[0199] Considering the sensitive nature of some of the information carried in the above frames, the embodiments of this application provide secure compressed frames to improve information security.
[0200] It should be noted that the secure compressed frame in this application is a compressed frame that is protected by encryption operations such as authentication or encryption.
[0201] Figure 9 A schematic diagram of a securely compressed frame is shown. (For example...) Figure 9 As shown, the fields of a secure compressed frame are as follows: 1. The ID field indicates the identity of the secure version of the compressed frame. For example, the ID space 0x60 to 0x6F can be reserved for the secure version of the compressed frame. 0x60 represents a secure ADV-RESP frame, 0x61 represents a secure version of the SOR frame, and 0x65 and 0x66 represent the secure versions of the RPRT frames sent by the initiator and responder, respectively. RPRT frames can also be called REPORT frames.
[0202] 2. A 3-bit private address field carrying RPA_hash.
[0203] 3. An optional 3-octet field carrying RPA_prand. This field may only exist in some frames (e.g., ADV-POLL or POLL) and not in other compressed PSDUs (e.g., ADV-RESP, RESP, SOR, REPORT).
[0204] 4.1 The octet MessageControl field determines the format of the MessageContent field.
[0205] 5. Variable-length MessageContent fields, whose format depends on the content of the MessageContent field. If a security level is selected for encryption, all or part of the MessageContent field will be encrypted. If only a portion of the MessageContent field is encrypted, the subfield to be encrypted (also known as the private payload field) will be placed at the end of the MessageContent field, while the unencrypted subfield (also known as the open payload field) will be placed at the beginning of the MessageContent field.
[0206] 6. The Variable Length Message Integrity Check (MIC) field replaces the CRC field. The length of the MIC depends on the security level. For example, the MIC length can be one of 0 octets, 4 octets, or 8 octets. When the MIC length is 0 octets, the frame is insecure, and the field is used for a 2-octet CRC.
[0207] In some possible implementations, all or part of the content in the MessageContent field can be encrypted using Nonce-based authenticated encryption with associated data (AEAD) operations.
[0208] It should be noted that when security is enabled, the initiator of the AEAD operation and one or more responders can exchange one or more keys different from the IRK.
[0209] Nonce for AEAD transform or inverse transform of secure compressed frames Figure 10 As shown. This nonce format can be used for compressed frames sent outside of a block or within a block structure. For example... Figure 10 As shown, the fields for Nonce are as follows: 1. The RPA_hash field is set to the RPA_hash field of the compressed frame to be secured or desecured.
[0210] 2. The RPA_prand field is set to the RPA_prand field of the compressed frame to be protected. If such a field exists, it is set to RPA_prand. The RPA_hash field is used to generate the compressed frame to be protected or deprotected.
[0211] 3. Set the ID field to the ID field of the compressed frame to be protected or deprotected.
[0212] 4. If the block structure exists and is known to both the transmitting and receiving devices (e.g., Figure 1 If the block structure is not present and is unknown to at least one of the transmitting or receiving devices (e.g., within the block structure), the frame counter field includes a slot index field, a round index field, and a block index field, which are respectively set to the indexes of the slot, round, and block of the transmitted or received frame. Figure 1 If the frame counter field is outside the block structure, it is reserved and set to 0. The information carried in the frame counter field can be seen as an example of frame counter information.
[0213] 5. A 1-bit field called the block structure indicator indicates whether the secure frame is transmitted inside or outside the block structure. For example, the block structure indicator field is set to 0 in a secure compressed frame transmitted outside the block structure and set to 1 in a secure compressed frame transmitted inside the block structure. The information carried in the block structure indicator field can be seen as an example of block structure indication information.
[0214] 6. The security level field is an unsigned integer and should be set to the value of the security level negotiated during session establishment.
[0215] also, Figure 11 This illustrates how a Nonce is constructed for security operations related to secure compressed frames sent within a block structure, according to an embodiment of this application.
[0216] Once the device is synchronized with the block structure, it knows the slot / round / block index for sending or receiving compressed frames, and it can construct the frame counter field of the Nonce; otherwise, the frame counter field is set to 0. Figure 11 In the example shown, for an RPRT frame sent by the responder in slot m of round 1 of block 1, the slot index, round index, and block index fields of the Nonce's frame counter field are set to m, 1, and 1, respectively, corresponding to slot m, round 1, and block 1; while the block structure indicator is set to 1. The Nonce's RPA_hash and ID fields are copied from the RPA_hash and ID fields of the REPORT frame. However, since the RPA_prand field does not exist in the REPORT frame, the Nonce's RPA_prand field is set to the RPA_prand used to generate the RPA_hash field, such as the RPA_prand carried in the previous POLL frame sent by the initiator. The Nonce security level is set to an appropriate security level, such as the security level negotiated during session establishment.
[0217] Similarly, for frames sent outside the block structure, such as SOR frames, the Nonce's frame counter field is set to 0, and the block structure indicator is also set to 0. The Nonce's RPA_hash and message ID fields are copied from the SOR frame's RPA_hash and ID fields. Since the RPA_prand field does not exist in the SOR frame, the Nonce's RPA_prand field is set to the RPA_prand used to generate the RPA_hash field, i.e., the RPA_prand carried in the previous ADV-POLL frame sent by the initiator. The Nonce's security level is set to an appropriate security level, such as the security level negotiated during session establishment.
[0218] For example, to secure or desecure compressed frames, the procedures provided in 9.3.5 (AEAD Transformed Data Representation) or 9.3.6 (AEAD Inverse Transformed Data Representation) of the 802.15.4-2020 specification can be reused, except that for compressed frames, the MAC header (MHR) is replaced by the ID field, RPA_hash field, RPA_prand field (if present), and MessageControl field.
[0219] While in most secure compressed frames, the entire MessageControl field is treated as a private payload field and encrypted when negotiating any security level with encryption, for secure RPRT compressed frames (SECURE-RPRT), only selected fields of the MessageControl field can be considered private payload fields and are encrypted when negotiating any security level with encryption. This is summarized in Table 1: Table 1
[0220] In the above embodiments, encrypting the compressed frames can further improve the security of communication during MMS ranging.
[0221] In some possible implementations, UWB channel coordination can be active, and before sending the SOR frame, the initiator scans the initialization channel and the default UWB channel in the NB to obtain acquisition packets (APs) from other initiators. To perform the acquisition scan, when receiving an ADV-RESP frame from the responder, the initiator does not immediately send the SOR frame, but instead sends an Advertisement Confirmation (ADV-CONF) frame to the responder. This ADV-CONF frame carries a time offset indicating the transmission time of the SOR, such as... Figure 12 As shown in step S230', the initiator performs a capture scan on the AP. Based on the information collected from the AP, the initiator can adjust the configuration parameters used for MMS ranging in the SOR frame.
[0222] The communication method provided in the embodiments of this application can also be applied to one-to-many MMS ranging sessions. Figures 13 to 15 A schematic flowchart of a communication method in one-to-many MMS ranging provided by an embodiment of this application is shown.
[0223] like Figure 13 As shown, similar to one-to-one MMS ranging, a one-to-many MMS ranging session begins with the controller and two controlled devices establishing a session. During session establishment, long-term session parameters such as the UWB channel number, preamble, and block structure are negotiated. When privacy is enabled, the controller will also provide each controlled device with at least one IRK to parse the private address carried in the frame sent by the initiator and generate a private address that will be included in the frame sent by the responder, thereby protecting the device's privacy.
[0224] Once a session is established, proceed to step S310.
[0225] S310: The initiator sends an ADV-POLL frame.
[0226] For example, the initiator may send ADV-POLL frames opportunistically at certain times and intervals based on its own judgment, while the responder may opportunistically listen for incoming ADV-POLL frames.
[0227] Specifically, the method for generating the initiator's private address carried in the ADV-POLL frame and the format of the ADV-POLL frame are the same as described in the above embodiments. They will not be repeated here.
[0228] When the initiator expects more than one responder to participate in MMS ranging, the initiator allocates a fixed duration to the responders to compete for the medium and send their corresponding ADV-RESP frames.
[0229] Upon receiving the ADV-POLL frame, responder 1 or responder 2 verifies the identity of the initiator. The method for verifying the initiator's identity is the same as described in the above embodiment, and will not be repeated here.
[0230] When the initiator's authentication is successful, if respondent 1 and respondent 2 intend to participate in the ranging session with the initiator, respondent 1 and respondent 2 will send ADV-RESP frames to the initiator, as shown in step S320. Specifically, S320 includes S321 and S322.
[0231] S321: Responder 1 sends a message containing its private address to the initiator. RPA_hash-R1-1 AVD-RESP.
[0232] S322: Responder 2 sends a message to the initiator carrying its private address. RPA_hash-R2-1 AVD-RESP.
[0233] The method for generating private addresses can be found in the above embodiments. It will not be repeated here.
[0234] S330: The initiator sends an SOR frame to responders 1 and 2.
[0235] The initiator generates a local hash using the method described in the above embodiments. If at least one local hash is consistent with... RPA_ hash-R1-1 or RPA_hash-R2-1 If any of the matches is found, the initiator will send a SOR frame, which provides the time offset at which the first ranging cycle will begin. The SOR frame carries the same information included in the ADV-POLL frame. RPA_hash-I-1 .
[0236] S340: The initiator sends RIM frames to responders 1 and 2.
[0237] The time offset indicated in the SOR frame indicates that the initiator sends a RIM frame to the responder at the start of the first ranging time slot of the ranging wheel.
[0238] A schematic diagram of a RIM frame is shown below. Figure 16 As shown. Besides providing time and frequency synchronization for the responder, another important purpose of the RIM frame is to provide the responder with scheduling of access slots for MMS ranging. For example... Figure 16 As shown, the MessageControl field of the RIM frame carries a list of responders scheduled to participate in MMS ranging. The responder RPA_hash used in the ADV-RESP frame from responder n (e.g., RPA_hash-Rn -1 (n=1, 2, etc.) serves as the responder's private address. The order in which the responder's RPA_hash appears in the MessageContent field of the RIM frame determines the order of the responder's access slots used for MMS ranging. Furthermore, the RIM frame can also carry a second pseudo-random number from the initiator, i.e., the number in the initiator's RPA_prand field. RPA_prand-I-2 And its private address, i.e., the RPA_hash field of the initiator. RPA_hash-I-2 This allows the responder to verify the identity of the initiator.
[0239] For example, responder 1 is scheduled to the first access time slot (access time slot 0), and responder 2 is scheduled to the second access time slot (access time slot 1). Then steps S350 to S380 and S350' to S380' are executed.
[0240] S350: Responder 1 sends a message carrying its private address to the initiator. RPA_hash-R1-2 RESP.
[0241] Upon receiving a RIM frame, each responder that received the RIM frame generates a local hash of the initiator's RPA_prand based on the IRK (e.g., RPA_prand-I-2 If the local hash is the same as the one carried in the RIM frame's initiator's RPA_hash field... RPA_hash-I-2 If a match is found, the responder will verify the identity of the initiator.
[0242] The responder who successfully receives the RIM frame and is scheduled to the first access slot (access slot 0) is as described above, but uses the information carried in the RIM frame. RPA_prand-I-2 It generates its own private address and sends an RESP frame carrying the private address back to the initiator. As mentioned above, the responder can be responder 1.
[0243] It should be noted that RIM and RESP frames enable time and frequency synchronization between the initiator and responder. The initiator can also include other control information in the responder's RIM frame.
[0244] When the RESP-based responder 1 is successfully authenticated, the initiator initiates the ranging phase. During the ranging phase, the initiator and responder exchange zero or more RSFs, and optionally exchange one or more RIFs.
[0245] After the initiator or responder receives all UWB segments in the ranging phase, the initiator and / or responder generates a ranging measurement report and sends an RPRT frame carrying the measurement report to the peer device. Each RPRT frame carries a suitable private address, as shown in steps S370 and S380.
[0246] Subsequently, as shown in step S340', the initiator sends a POLL frame to the responder 2 at the beginning of the first ranging time slot of the second access time slot (access time slot 1).
[0247] Figure 13 The remaining steps are similar to those described above and in the above embodiments. They will not be repeated here.
[0248] Among some possible implementations, Figure 13 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figures 5 to 7 As shown in the example, the specific format of an ADV-RESP (or RESP) frame can be determined by the parameters used to generate the ADV-RESP (or RESP) frame. For example, if the private address carried in the ADV-RESP (or RESP) frame is... Formulas 2 to 5 Any one of the generation in, then Figure 13 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figure 5 or Figure 6 As shown. Alternatively, if the private address carried in the ADV-RESP (or RESP) frame is transmitted via... Formula 6 If generated, then Figure 13 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figure 7 As shown.
[0249] Figure 14 The one-to-many MMS ranging session shown is Figure 13 Similar. The difference is that UWB channel coordination can be active, and before sending the SOR frame, the initiator scans the initialization channel and the default UWB channel in the NB to obtain acquisition packets (APs) from other initiators. To perform the acquisition scan, when receiving an ADV-RESP frame from the responder, the initiator does not immediately send a SOR frame, but instead sends an ADV-CONF frame to the responder, which carries a time offset indicating the transmission time of the SOR, such as... Figure 14As shown in step S330', the initiator performs a capture scan on the AP. Based on the information collected from the AP, the initiator can adjust the configuration parameters used for MMS ranging in the SOR frame.
[0250] Among some possible implementations, Figure 14 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figures 5 to 7 As shown, the specific format of an ADV-RESP (or RESP) frame can be determined by the parameters used to generate the ADV-RESP (or RESP) frame. For example, if the private address carried in the ADV-RESP (or RESP) frame is... Formulas 2 to 5 Any one of the generation in, then Figure 14 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figure 5 or Figure 6 As shown. Alternatively, if the private address carried in the ADV-RESP (or RESP) frame is transmitted via... Formula 6 If generated, then Figure 14 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figure 7 As shown.
[0251] Figure 15 The one-to-many MMS ranging session shown is also with Figure 13 Similar. The difference is that the responder generates its own private address based on paired IRKs. In some of the embodiments described above, it is assumed that the IRK exchanged between the initiator and all responders is common to all responders; that is, only a single IRK is maintained in the network for identification purposes. However, it is also possible that a common IRK (IRK-B) is shared between all initiators and responders in the same network only for broadcast frames (e.g., RIM), and paired IRKs (IRK-IRn & IRK-RIn, n = responder index) are exchanged between the initiator and each responder for unicast frames in each direction (i.e., one IRK (IRK-IRn, n = responder index) for initiator-to-responder frames; and one IRK (IRK-RIn, n = responder index) for responder-to-initiator frames). The IRK is used in subsequent frames as an indirect means of identifying the frame sender.
[0252] For example, for a unicast frame to be sent to responder n (i.e., a frame for a single responder, such as an ADV-POLL frame, POLL frame, or REPORT frame), the initiator generates a unique pseudo-random number for the responder ( RPA_prand-In ), and use the initiator's paired IRK for the responder (IRK-IRn, n = responder index) to use Formula 1 Generate the initiator RPA_hash ( RPA_hash-In ), and include in the initial unicast frame of responder n RPA_hash-In and RPA_prand-In When responder n receives the initial unicast frame sent by the initiator's ADV-POLL (or POLL) frame, responder n generates the local hash of the initiator's RPA_prand and IRK-IRn carried in the ADV-POLL (or POLL) frame, as... Formula 1 The input. If the local hash matches the initiator's RPA_hash carried in the ADV-POLL (or POLL) frame, the responder will have verified the initiator's identity.
[0253] Similarly, for broadcast frames (i.e., frames used for multiple responders, such as POLL for one-to-many ranging, i.e., RIM frames), the initiator generates a unique pseudo-random number ( RPA_prand-BI ), and uses public broadcast IRK (IRK-B) through male Formula 1 Generate the initiator RPA_hash ( RPA_hash-BI ) and RPA_hash-BI and RPA_prand-BI Included in the broadcast frame. When the responder receives the initial broadcast frame (e.g., a RIM frame) sent by the initiator, the responder generates the local hash of the initiator's RPA_prand and IRK-B carried in the frame, as... Formula 1 The input. If the local hash matches the initiator's RPA_hash carried in the frame, the responder has verified the initiator's identity.
[0254] Similarly, in its response frame, the responder n includes its use of Formula 5 The generated RPA_hash is used as a unique address field in its frame (e.g., ADV-RESP or RESP); the responder uses its unique paired IRK (IRK-RIn) and the initiator's RPA_prand from the previous initial frame (e.g., ...). RPA_prand-In ) Generate its RPA_hash ( RPA_hash-Rn For example, responder 1 generates its own private address based on IRK-RI1, and responder 2 uses IRK-RI2. Formula 5The initiator generates its own private address. Accordingly, the initiator verifies the identity of responder 1 based on IRK-RI1 and the identity of responder 2 based on IRK-RI2. Based on the IRK used, the initiator can implicitly identify the responders (e.g., by mapping the IRK to the initiator's public address). Another difference is that, since paired IRKs are used to generate private addresses in ADV-POLL and POLL frames (e.g., initiator RPA_hash), only the target responder (the responder with the correct IRK) can correctly verify the private address; therefore, only the target responder will respond to ADV-POLL or POLL frames with ADV-RESP or RESP frames respectively. Correspondingly, SOR frames are also for one responder at a time. This allows the initiator to selectively choose one or more responders to participate in MMS ranging.
[0255] For example, Figure 15 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figures 5 to 7 As shown, the specific format of an ADV-RESP (or RESP) frame can be determined by the parameters used to generate the ADV-RESP (or RESP) frame. For example, if the private address carried in the ADV-RESP (or RESP) frame is... Formulas 2 to 5 Any one of the generation in, then Figure 15 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figure 5 or Figure 6 As shown. Alternatively, if the private address carried in the ADV-RESP (or RESP) frame is transmitted via... Formula 6 If generated, then Figure 15 The format of ADV-RESP (or RESP) frames in the text can be as follows: Figure 7 As shown.
[0256] In use such Figure 3 and Figures 12 to 14 In the example of the public IRK shown above, the initiator's ADV-POLL and POLL frames are not targeted at any specific responder, and any responder with the public IRK can verify the initiator's private address and respond with ADV-POLL and POLL frames. However, sometimes the initiator may wish to select specific responders to participate in MMS ranging. Figure 17 An example is shown. The initiator can achieve this by: in the initiator's RPA_hash of the responder n (e.g., RPA_hash_I-Rn The calculation of n = 1, 2, ... includes the identity of the target responder (e.g., an 802.15 MAC address extended by 8 octets) and the ID of the compressed PSDU (e.g., ADV-POLL) and uses... Formula 7 Truncated to 24 bits: RPA_hash = AES-128-ECB(key=IRK, data=(0x000…[4] || ID || 8-octets extended 802.15 MAC address of responder n [8]|| RPA_prand-I)) % 2^24. Formula 7 For example, in the first ADV-POLL, the initiator includes the initiator RPA_hash in the ADV-POLL frame ( RPA_ hash-I-R1-1 The calculation includes the extended 802.15 MAC address of responder 1. Even if both responder 1 and responder 2 receive the ADV-POLL frame, only responder 1 can verify the initiator's private address ( RPA_hash-I-R1-1 Therefore, only responder 1 responds using an ADV-RESP frame.
[0257] Similarly, the responder n can also use the same Formula 7 To generate its private address ( RPA_hash-Rn This can be used in ADV-RESP and RESP frames. Although the same formula is used, including the ID field (e.g., in ADV-RESP) ensures that the private addresses generated by the initiator and responder are different, and that the initiator can verify whether the responder has a valid IRK. For example, responder 1 uses... Formula 7 The initiator generates its private address and sends an ADV-RESP frame to the initiator, which then responds with an SOR frame to invite responder 1 to participate in one-to-one MMS ranging. Subsequently, the initiator sends another ADV-POLL to responder 2. If it receives an ADV-RESP from responder 2, it invites responder 2 to join responder 1 in one-to-many MMS ranging by sending an SOR frame to responder 2. It is assumed here that responder 1 continues the MMS ranging session in the next round / block. The RIM frame from the initiator assigns responder 1 and responder 2 to the first and second access slots of the one-to-many MMS ranging, respectively, by including the private addresses of responder 1 and responder 2 in the RIM frame. Figure 16 As previously stated.
[0258] It should be noted that the RPRT frame in the above embodiments may also carry the private address of the initiator and the private address of the responder.
[0259] It should also be noted that in a one-to-many MMS ranging session, the method for generating the responder's private address, the method for verifying the responder's identity, and other related content can be found in the above embodiments. They will not be repeated here.
[0260] This application provides a communication method that enables the initiator to determine whether a response frame truly originates from an authorized responder. In particular, in one-to-many MMS ranging, the communication method allows the initiator to identify different responders without revealing their identities. Furthermore, the security of compressed frames is also considered.
[0261] In conjunction with the above method embodiments, this application also provides related equipment, which can be located in a controller or a controlled terminal. The related equipment can perform the steps of the above method embodiments.
[0262] Figure 18 This is a schematic block diagram of a communication device 2000 provided in an embodiment of this application. The communication device 2000 can perform the steps executed by the responder in the above embodiments. Figure 18 As shown, the communication device 2000 includes: a receiving unit 2010, configured to receive a first frame from the initiator for initiating a ranging process; a generating unit 2020, configured to generate a first private address based on the first frame and information related to the identity of the first responder, wherein the information related to the identity of the first responder is known to the initiator; and a sending unit 2030, configured to send a second frame carrying the first private address to the initiator.
[0263] In one possible implementation, the information related to the identity of the first responder includes any one of the following: the public address of the first responder, the MMS ranging configuration requested by the first responder, a first random number generated by the first responder, or a unique IRK of the initiator and the first responder.
[0264] In one possible implementation, the first frame carries a second random number, which is associated with a second private address of the initiator; the generation unit 2020 is used to generate the first private address based on the second random number and the information related to the identity of the first responder.
[0265] In one possible implementation, the second private address is generated based on information related to the identity of the second responder, and the generation unit 2020 is used to generate the first private address when it is determined that the second responder and the first responder are the same responder.
[0266] In one possible implementation, the sending unit 2030 is configured to send a second frame carrying the first private address and the first random number to the initiator.
[0267] In one possible implementation, the first frame is a RIM frame, which carries a list associated with responders who are scheduled to participate in MMS ranging, and the responders include the first responder; the generation unit 2020 is configured to: generate the first private address when it is determined from the list that the first responder is scheduled to a first access slot among multiple access slots.
[0268] In one possible implementation, the second frame includes any one of the following: ADV-RESP frame, RESP frame, and RPRT frame.
[0269] In one possible implementation, the first frame or the second frame is a secure frame carrying encrypted information obtained based on a first nonce; the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
[0270] In one possible implementation, the first Nonce includes frame counter information indicating the time period for the transmission of the secure frame.
[0271] In one possible implementation, the first Nonce further includes block structure indication information, which indicates whether the second frame is sent within or outside the block structure.
[0272] In one possible implementation, the second frame also carries the private address of the initiator.
[0273] In one possible implementation, the receiving unit 2010 is further configured to: receive from the initiator a third frame carrying time offset information, the time offset information indicating the time offset of the transmitted SOR frame.
[0274] Figure 19 This is a schematic block diagram of a communication device 2100 provided in an embodiment of this application. The communication device 2100 can perform the steps executed by the initiator in the above embodiments. For example... Figure 19 As shown, the communication device 2100 includes: a receiving unit 2110, configured to receive a second frame carrying a first private address from a first responder, the first private address being associated with information, the information being associated with the identity of the first responder; a generating unit 2120, configured to generate a third private address based on information associated with the identity of the first responder; and a verification unit 2130, configured to verify the identity of the first responder by comparing the third private address with the first private address.
[0275] In one possible implementation, the information related to the identity of the first responder includes any one of the following: the public address of the first responder, the MMS ranging configuration requested by the first responder, a first random number generated by the first responder, or a unique IRK of the initiator and the first responder.
[0276] In one possible implementation, the communication device further includes a sending unit configured to: send a first frame for initiating a ranging process, the first frame carrying a second random number, and the second random number being associated with a second private address of the initiator; the generating unit 2120 configured to: generate the third private address based on the second random number and the information associated with the identity of the first responder.
[0277] In one possible implementation, the generating unit 2120 is further configured to: generate a fourth private address based on information related to the identity of the second responder; the sending unit is further configured to: send a frame carrying the fourth private address to the second responder.
[0278] In one possible implementation, the second frame also carries the first random number, and the generation unit 2120 is used to generate the third private address based on the first random number.
[0279] In one possible implementation, the sending unit is further configured to: send a first frame to the first responder for initiating a ranging process, the first frame being a RIM frame carrying a list associated with responders who are scheduled to participate in MMS ranging, the responders including the first responder.
[0280] In one possible implementation, the second frame includes any one of the following: ADV-RESP frame, RESP frame, and RPRT frame.
[0281] In one possible implementation, the first frame or the second frame is a secure frame carrying encrypted information obtained based on a first nonce; the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
[0282] In one possible implementation, the first Nonce includes frame counter information indicating the time period for the transmission of the secure frame.
[0283] In one possible implementation, the first Nonce further includes block structure indication information, which indicates whether the second frame is sent within or outside the block structure.
[0284] In one possible implementation, the second frame also carries the private address of the initiator; the verification unit 2130 is further configured to: verify the identity of the first responder based on the private address of the initiator.
[0285] In one possible implementation, the sending unit is further configured to: send a third frame carrying time offset information to the first responder, the time offset information indicating the time offset of the sent SOR frame.
[0286] like Figure 20 As shown, the communication device 2200 may include a processor 2210, a transceiver 2220, and a memory 2230. The transceiver 2220 can be used to receive queries. The memory 2230 can be used to store code, instructions, etc., executed by the processor 2210.
[0287] In addition, memory 2230 can also be used to store data corresponding to the generation and / or verification of private addresses, such as the pre-negotiated IRK between the initiator and the responder.
[0288] The memory 2230 may include random access memory, flash memory, read-only memory, programmable read-only memory, non-volatile memory, registers, etc. The processor 2210 may be a central processing unit (CPU).
[0289] For other functions and operations of the communication device 2200, please refer to [link / reference]. Figure 2 , Figure 3 , Figures 12 to 15 as well as Figure 17 The process of the method embodiment will not be described again here to avoid repetition.
[0290] Embodiments of this application also provide a communication system. The communication system includes communication device 2000 and communication device 2100, or the communication system includes communication device 2200.
[0291] Embodiments of this application also provide a computer storage medium that can store program instructions to execute the steps in the above-described method.
[0292] Alternatively, the storage medium may specifically be memory 2230.
[0293] Embodiments of this application also provide a computer program product. The computer program product includes computer program code. When the computer program code is run on a computer, it causes the computer to perform the steps of the methods described above.
[0294] Optionally, all or part of the computer program code may be stored in the first storage medium. The first storage medium may be packaged together with the processor or packaged separately from the processor.
[0295] Embodiments of this application also provide a chip system, wherein the chip system includes an input / output interface, at least one processor, at least one memory, and a bus. The at least one memory is used to store instructions, and the at least one processor is used to invoke the instructions from the at least one memory to perform the operations of the methods described above.
[0296] In embodiments of this application, "at least one" means one or more, and "multiple" means two or more. The term "and / or" describes the association between associated objects, indicating that three relationships may exist. For example, A and / or B can represent the following three cases: only A exists, both A and B exist, and only B exists, where A and B can be singular or plural. The character " / " generally represents an "OR" relationship between associated objects. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of one or more items. For example, at least one of a, b, and c can represent: a, b, c; a and b; a and c; b and c; or a, b, and c, where a, b, and c can be singular or plural.
[0297] Those skilled in the art will understand that all or part of the methods in the embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium. When the program runs, it performs the procedures of the methods in the embodiments. The aforementioned storage medium may include: a magnetic disk, an optical disk, a read-only memory (ROM), or a random-access memory (RAM).
[0298] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the described apparatus embodiments are merely exemplary. For example, unit segmentation is merely a logical functional segmentation, and other segmentations may be used in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. In addition, the mutual coupling or direct coupling or communication connection shown or described can be implemented through some interface. Indirect coupling or communication connection between devices or units can be implemented electronically, mechanically, or otherwise.
[0299] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiment solution according to actual needs.
[0300] In addition, the functional units in the embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0301] The above are merely exemplary embodiments of the present invention. Those skilled in the art can make various modifications and variations to the present invention without departing from its scope.
Claims
1. A communication method applied to an initiator, characterized in that, include: Receive a second frame carrying a first private address from the first responder, wherein the first private address is related to the identity information of the first responder; A third private address is generated based on the identity information of the first responder; The identity of the first responder is verified by comparing the third private address with the first private address.
2. The communication method according to claim 1, characterized in that, The identity-related information of the first responder includes any one of the following: the public address of the first responder, the multi-millisecond (MMS) ranging configuration requested by the first responder, the first random number generated by the first responder, or the unique identity resolving key (IRK) of the initiator and the first responder.
3. The communication method according to claim 1 or 2, characterized in that, The IRK is a common IRK of the initiator and the first responder, or the IRK is one of the unique paired IRKs of the initiator and the first responder.
4. The communication method according to any one of claims 1 to 3, characterized in that, The method further includes: A first frame for initiating the ranging process is sent, wherein the first frame carries a second random number and the second random number is associated with a second private address of the initiator; The step of generating a third private address based on the identity-related information of the first responder includes: The third private address is generated based on the second random number and the identity-related information of the first responder.
5. The communication method according to claim 4, characterized in that, The method further includes: A fourth private address is generated based on the identity information of the second responder. A frame carrying the fourth private address is sent to the second responder.
6. The communication method according to any one of claims 2 to 5, characterized in that, The second frame also carries the first random number, and the generation of the third private address based on the identity-related information of the first responder includes: The third private address is generated based on the first random number.
7. The communication method according to any one of claims 1 to 6, characterized in that, The method further includes: A first frame for initiating the ranging process is sent to the first responder, wherein the first frame is a ranging initialization message (RIM) frame, the RIM frame carrying a list of responders associated with the responders scheduled to participate in MMS ranging, wherein the responders include the first responder.
8. The communication method according to any one of claims 1 to 7, characterized in that, The second frame includes any of the following: an announcement response (ADV-RESP) frame, a response (RESP) frame, or a report (RPRT) frame.
9. The communication method according to any one of claims 1 to 8, characterized in that, The first frame or the second frame is a secure frame carrying encrypted information, wherein the encrypted information is obtained based on a first nonce; wherein the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
10. The communication method according to claim 9, characterized in that, The first Nonce includes frame counter information, wherein the frame counter information indicates the time period for the transmission of the secure frame.
11. The communication method according to claim 9 or 10, characterized in that, The first nonce also includes block structure indication information, wherein the block structure indication information indicates whether the second frame is sent within or outside the block structure.
12. The communication method according to any one of claims 1 to 11, characterized in that, The second frame also carries the private address of the initiator; the method further includes: The identity of the first responder is verified based on the private address of the initiator.
13. The communication method according to any one of claims 1 to 12, characterized in that, The method further includes: A third frame carrying time offset information is sent to the first responder, wherein the time offset information indicates the time offset of the sent start of ranging (SOR) frame.
14. A communication device, characterized in that, include: The receiving unit is configured to receive a second frame carrying a first private address from the first responder, wherein the first private address is related to the identity information of the first responder; The generation unit is used to generate a third private address based on the identity-related information of the first responder; The verification unit is used to compare the third private address and the first private address to verify the identity of the first responder.
15. The communication device according to claim 14, characterized in that, The identity-related information of the first responder includes any one of the following: the public address of the first responder, the multi-millisecond (MMS) ranging configuration requested by the first responder, the first random number generated by the first responder, or the unique identity resolving key (IRK) of the initiator and the first responder.
16. The communication device according to claim 14 or 15, characterized in that, The IRK is a common IRK of the initiator and the first responder, or the IRK is one of the unique paired IRKs of the initiator and the first responder.
17. The communication device according to any one of claims 14 to 16, characterized in that, The communication device further includes a transmitting unit, the transmitting unit being used for: A first frame for initiating the ranging process is sent, wherein the first frame carries a second random number and the second random number is associated with a second private address of the initiator; The generation unit is used for: The third private address is generated based on the second random number and the identity-related information of the first responder.
18. The communication device according to claim 17, characterized in that, The generation unit is also used for: A fourth private address is generated based on the identity-related information of the second responder; The transmitting unit is further configured to: A frame carrying the fourth private address is sent to the second responder.
19. The communication device according to any one of claims 15 to 18, characterized in that, The second frame also carries the first random number, and the generation unit is used to: The third private address is generated based on the first random number.
20. The communication device according to any one of claims 14 to 19, characterized in that, The transmitting unit is further configured to: A first frame for initiating the ranging process is sent to the first responder, wherein the first frame is a ranging initialization message (RIM) frame, the RIM frame carrying a list of responders associated with the responders scheduled to participate in MMS ranging, wherein the responders include the first responder.
21. The communication device according to any one of claims 14 to 20, characterized in that, The second frame includes any one of the following: an announcement response (ADV-RESP) frame, a response (RESP) frame, and a report (RPRT) frame.
22. The communication device according to any one of claims 14 to 21, characterized in that, The first frame or the second frame is a secure frame carrying encrypted information, wherein the encrypted information is obtained based on a first nonce; wherein the first nonce is associated with any of the following: a private address carried by the secure frame, a random number used to generate the private address, or a time period used for the transmission of the secure frame.
23. The communication device according to claim 22, characterized in that, The first Nonce includes frame counter information, wherein the frame counter information indicates the time period for the transmission of the secure frame.
24. The communication device according to claim 22 or 23, characterized in that, The first nonce also includes block structure indication information, wherein the block structure indication information indicates whether the second frame is sent within or outside the block structure.
25. The communication device according to any one of claims 14 to 24, characterized in that, The second frame also carries the private address of the initiator; the verification unit is further configured to: The identity of the first responder is verified based on the private address of the initiator.
26. The communication device according to any one of claims 14 to 25, characterized in that, The transmitting unit is further configured to: A third frame carrying time offset information is sent to the first responder, wherein the time offset information indicates the time offset of the sent start of ranging (SOR) frame.
27. A communication device, characterized in that, The device includes a processor and a memory, the processor being connected to the memory; wherein the memory is used to store instructions, and the processor is used to execute the instructions; when the processor executes the instructions stored in the memory, the processor performs the method according to any one of claims 1 to 13.
28. A communication system, characterized in that, Includes the communication device according to any one of claims 14 to 26.
29. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed on a processor, cause the processor to perform the method according to any one of claims 1 to 13.
30. A computer program product, characterized in that, It includes computer program code that, when run on a computer, causes the computer to perform the method according to any one of claims 1 to 13.