Ranging positioning method, positioning system, chip and storage medium
By generating and distributing secret keys to decrypt encrypted broadcasts, the problem of ranging positioning is solved that is vulnerable to relay attacks is achieved, and safe and convenient location information determination is achieved.
Patent Information
- Application Number
- PCT/CN2024/118661
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-29
- Filing Date
- 2024-09-13
- Publication Date
- 2025-07-03
AI Technical Summary
The existing ranging positioning technology is vulnerable to relay playback attacks, resulting in unsafe location information determination.
By receiving the first key sent by the to-located device, a second key is generated and sent to N broadcast receiving devices, it is caused to decrypt and encrypt the broadcast to determine the ranging calculation information, and the location information of the to-located device is calculated in conjunction with the central broadcast receiving device.
It effectively avoids relay playback attacks, realizes convenient ranging and positioning in safe situations, and ensures the accuracy and security of position information.
Smart Images

Figure CN2024118661_03072025_PF_FP_ABST
Abstract
Description
Ranging and positioning method, positioning system, chip and storage medium
[0001] This application claims priority to the Chinese application filed with the China Patent Office on December 29, 2023, with application number 2023118625957 and application name “Ranging and Positioning Method, Positioning System, Chip and Storage Medium”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a ranging and positioning method, a positioning system, a chip, and a storage medium. Background Art
[0003] Currently, ranging positioning technology is widely used in various scenarios, such as locating digital car keys and mobile phones. However, these technologies typically determine the location of a device by scanning multiple points to determine the RSSI (Received Signal Strength Indication) of the broadcast signal from the device to be located (also known as the located device or the broadcasting device). This makes it vulnerable to relay replay attacks. Therefore, a good solution for conveniently implementing ranging positioning while avoiding security attacks has yet to be proposed.
[0004] Summary of the Invention
[0005] In view of this, the embodiments of the present application provide a ranging and positioning method, a positioning system, a chip, and a storage medium to solve the problem that the related technology determines the location information of the device to be located by multi-point scanning of the signal strength of the broadcast signal of the device to be located, which makes it easy to be attacked by relay replay. In other words, the embodiments of the present application can conveniently implement ranging and positioning while avoiding security attacks, and can conveniently determine the location information of the device to be located.
[0006] According to one aspect of an embodiment of the present application, a ranging and positioning method is provided, the method comprising:
[0007] receiving a first key sent by the device to be located, and determining a second key based on the first key;
[0008] Sending the second secret key to N broadcast receiving devices, so that each of the N broadcast receiving devices decrypts the encrypted broadcast sent by the device to be located based on the second secret key to determine ranging calculation information, where the ranging calculation information of a broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device or the ranging result of the corresponding broadcast receiving device, where the ranging result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, and N is a positive integer;
[0009] The distance measurement calculation information sent by each broadcast receiving device is received, and the position information of the device to be located is calculated based on the received distance measurement calculation information.
[0010] According to another aspect of an embodiment of the present application, another ranging and positioning method is provided, the method comprising:
[0011] generating an initial key, and determining a first key based on the initial key;
[0012] Sending the first key to a central broadcast receiving device, so that the central broadcast receiving device sends a second key to each of N broadcast receiving devices based on the first key, where N is a positive integer;
[0013] sending an encrypted broadcast so that each of the broadcast receiving devices receives the encrypted broadcast and decrypts the encrypted broadcast based on the second secret key to determine ranging calculation information;
[0014] The central broadcast receiving device supports receiving distance calculation information sent by each broadcast receiving device, and the distance calculation information received by the central broadcast receiving device is used to calculate the position information of the device to be located.
[0015] According to another aspect of an embodiment of the present application, another ranging and positioning method is provided, the method comprising:
[0016] Receiving a second secret key sent by a central broadcast receiving device, and receiving a broadcast; wherein the second secret key is transmitted by the central broadcast receiving device through a second secure connection;
[0017] decrypting the received broadcast based on the second secret key and determining ranging calculation information;
[0018] The distance calculation information is returned to the central broadcast receiving device, so that the central broadcast receiving device calculates the position information of the device to be located based on the received distance calculation information.
[0019] According to another aspect of an embodiment of the present application, a ranging and positioning device is provided, the device comprising:
[0020] A first receiving unit, configured to receive a first secret key sent by the device to be located;
[0021] a first processing unit, configured to determine a second key based on the first key;
[0022] a first sending unit, configured to send the second secret key to N broadcast receiving devices, so that each of the N broadcast receiving devices decrypts the encrypted broadcast sent by the device to be located based on the second secret key to determine ranging calculation information, where the ranging calculation information of a broadcast receiving device includes: a signal strength of the encrypted broadcast on the corresponding broadcast receiving device or a ranging result of the corresponding broadcast receiving device, where the ranging result of a broadcast receiving device is used to indicate a distance between the corresponding broadcast receiving device and the device to be located, and N is a positive integer;
[0023] The first receiving unit is further configured to receive ranging calculation information sent by each broadcast receiving device;
[0024] The first processing unit is further configured to calculate the location information of the device to be located based on the received ranging calculation information.
[0025] According to another aspect of an embodiment of the present application, another ranging and positioning device is provided, the device comprising:
[0026] a second processing unit, configured to generate an initial key and determine a first key based on the initial key;
[0027] a second sending unit, configured to send the first key to a central broadcast receiving device, so that the central broadcast receiving device sends a second key to each of N broadcast receiving devices based on the first key, where N is a positive integer;
[0028] The second sending unit is further configured to send an encrypted broadcast, so that each of the broadcast receiving devices receives the encrypted broadcast respectively, and decrypts the encrypted broadcast based on the second secret key to determine the ranging calculation information;
[0029] The central broadcast receiving device supports receiving distance calculation information sent by each broadcast receiving device, and the distance calculation information received by the central broadcast receiving device is used to calculate the position information of the device to be located.
[0030] According to another aspect of an embodiment of the present application, a ranging and positioning device is provided, the device comprising:
[0031] A third receiving unit is configured to receive a second secret key sent by the central broadcast receiving device and receive the broadcast; wherein the second secret key is transmitted by the central broadcast receiving device through a second secure connection;
[0032] a third processing unit, configured to decrypt the received broadcast based on the second secret key and determine ranging calculation information;
[0033] The third sending unit is configured to return the distance measurement calculation information to the central broadcast receiving device, so that the central broadcast receiving device calculates the position information of the device to be located based on the received distance measurement calculation information.
[0034] According to another aspect of an embodiment of the present application, an electronic device is provided, comprising a processor and a memory for storing a program, wherein the program comprises instructions that, when executed by the processor, cause the processor to perform the above-mentioned method.
[0035] According to another aspect of an embodiment of the present application, a chip is provided, comprising a processor and a memory for storing a program, wherein the program comprises instructions, which, when executed by the processor, cause the processor to perform the above-mentioned method.
[0036] According to another aspect of an embodiment of the present application, a positioning system is provided, comprising a central broadcast receiving device and N broadcast receiving devices, where N is a positive integer; wherein the central broadcast receiving device is configured to perform the following steps:
[0037] receiving a first key sent by the device to be located, and determining a second key based on the first key;
[0038] Sending the second secret key to N broadcast receiving devices, so that each of the N broadcast receiving devices decrypts the encrypted broadcast sent by the device to be located based on the second secret key to determine ranging calculation information, where the ranging calculation information of a broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device or the ranging result of the corresponding broadcast receiving device, where the ranging result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, and N is a positive integer;
[0039] The distance measurement calculation information sent by each broadcast receiving device is received, and the position information of the device to be located is calculated based on the received distance measurement calculation information.
[0040] Each of the N broadcast receiving devices is configured to perform the following steps:
[0041] Receiving a second secret key sent by a central broadcast receiving device, and receiving a broadcast; wherein the second secret key is transmitted by the central broadcast receiving device through a second secure connection;
[0042] decrypting the received broadcast based on the second secret key and determining ranging calculation information;
[0043] The distance calculation information is returned to the central broadcast receiving device, so that the central broadcast receiving device calculates the position information of the device to be located based on the received distance calculation information.
[0044] According to another aspect of an embodiment of the present application, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the above-mentioned method.
[0045] In an embodiment of the present application, after a central broadcast receiving device receives a first key sent by a device to be located, it can determine a second key based on the first key and send the second key to N broadcast receiving devices. The first key is determined by the device to be located based on an initial key generated, i.e., the first key can be updated as the initial key is updated. Accordingly, the device to be located can send an encrypted broadcast so that each of the N broadcast receiving devices can receive the encrypted broadcast. Based on this, each of the N broadcast receiving devices can decrypt the encrypted broadcast sent by the device to be located based on the second key to determine ranging calculation information. The ranging calculation information for each broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device (i.e., the signal strength of the corresponding broadcast receiving device) or the ranging result of the corresponding broadcast receiving device. The ranging result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, where N is a positive integer. Furthermore, the central broadcast receiving device can receive the ranging calculation information sent by each broadcast receiving device and calculate the location information of the device to be located based on the received ranging calculation information. It can be seen that the broadcast receiving device in the embodiment of the present application can decrypt the received broadcast through the second secret key to verify whether the received broadcast is sent by the device to be located, and the second secret key can be continuously updated, thereby effectively avoiding relay replay attacks; that is, the embodiment of the present application can conveniently implement ranging positioning while avoiding security attack issues, and can conveniently determine the location information of the device to be located. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Further details, features and advantages of the present application are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:
[0047] FIG1 shows a schematic flow chart of a ranging and positioning method according to an exemplary embodiment of the present application;
[0048] FIG2 shows a schematic diagram of a ranging and positioning system according to an exemplary embodiment of the present application;
[0049] FIG3 shows a schematic flow chart of another ranging and positioning method according to an exemplary embodiment of the present application;
[0050] FIG4 shows a schematic flow chart of another ranging and positioning method according to an exemplary embodiment of the present application;
[0051] FIG5a shows a schematic block diagram of a distance measurement and positioning device according to an exemplary embodiment of the present application;
[0052] FIG5 b shows a schematic block diagram of another ranging and positioning device according to an exemplary embodiment of the present application;
[0053] FIG5c shows a schematic block diagram of another ranging and positioning device according to an exemplary embodiment of the present application;
[0054] FIG6 shows a structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present application. DETAILED DESCRIPTION
[0055] The following describes embodiments of the present application in more detail with reference to the accompanying drawings. Although certain embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be construed as limited to the embodiments described herein. Instead, these embodiments are provided to provide a more thorough and complete understanding of the present application. It should be understood that the drawings and embodiments of the present application are for illustrative purposes only and are not intended to limit the scope of protection of the present application.
[0056] It should be understood that the various steps described in the method embodiments of the present application can be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present application is not limited in this respect.
[0057] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc. mentioned in this application are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0058] It should be noted that the modifications of "one" and "multiple" mentioned in this application are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".
[0059] The names of the messages or information exchanged between multiple devices in the embodiments of the present application are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0060] It should be noted that the embodiments of the present application relate to a positioning system, wherein the positioning system may include: a central broadcast receiving device and N broadcast receiving devices, where N is a positive integer; optionally, the embodiments of the present application may also relate to a ranging positioning system, wherein the ranging positioning system may include the above-mentioned positioning system and a device to be positioned, and the central broadcast receiving device and the N broadcast receiving devices may be used to perform ranging and positioning on the device to be positioned. Optionally, the positioning system may also include a device to be positioned, in which case the ranging positioning system may refer to the positioning system. The device to be positioned, the central broadcast receiving device, and the broadcast receiving device may all be an electronic device; optionally, the electronic device may be a terminal, a server, or an embedded device, chip, module, system, or module in a terminal or server, etc., which is not limited in the embodiments of the present application.
[0061] Accordingly, the terminals mentioned herein may include, but are not limited to, vehicle-mounted terminals (i.e., vehicle-mounted nodes), smartphones, tablet computers, laptop computers, desktop computers, smart watches, smart home appliances, aircraft terminals, etc. The servers mentioned herein may be independent physical servers, or server clusters or distributed systems consisting of multiple physical servers. They may also be cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms, etc.
[0062] In the embodiments of the present application, the above-mentioned ranging and positioning system can be applied to various scenarios, such as digital car key positioning scenarios or mobile phone positioning scenarios, etc., and the embodiments of the present application do not limit this. It should be understood that when the ranging and positioning system is applied to the car key positioning scenario, the device to be positioned can be a digital car key, and the physical device of the digital car key can be, for example, a mobile phone, a smart watch, a mobile computer or other terminal, and the central broadcast receiving device and the N broadcast receiving devices can be electronic devices located in the corresponding vehicle (in this case, they can be vehicle-mounted nodes), that is, the positioning system can be located in the corresponding vehicle; correspondingly, when the ranging and positioning system is applied to the mobile phone positioning scenario, the device to be positioned can be a mobile phone, and the positioning system can be located in the mobile phone locator, that is, the mobile phone locator can be composed of the central broadcast receiving device and N broadcast receiving devices, and so on.
[0063] Optionally, the central broadcast receiving device can be any device in the positioning system, that is, the central broadcast receiving device can also be a broadcast receiving device. In this case, the positioning system may include N+1 broadcast receiving devices, and the central broadcast receiving device can be any device among the N+1 broadcast receiving devices. The N broadcast receiving devices can include broadcast receiving devices other than the central broadcast receiving device among the N+1 broadcast receiving devices. At this time, the roles of each device in the N+1 broadcast receiving devices can be interchangeable; or, the central broadcast receiving device can be a designated device in the positioning system, that is, the central broadcast receiving device can be fixed as a device in the positioning system, and so on; the embodiments of the present application are not limited to this.
[0064] Based on the above description, the present embodiment proposes a ranging and positioning method, which can be performed by the central broadcast receiving device mentioned above. As shown in FIG1 , the ranging and positioning method may include the following steps S101-S103:
[0065] S101: Receive a first key sent by a device to be located, and determine a second key based on the first key.
[0066] Optionally, the first key can be a single key or a key sequence; that is, the first key can include one or more keys, etc.; this embodiment of the present application does not limit this. Optionally, when the first key is a key sequence, the first key can include a separator character to divide the individual keys, or it can not include a separator character, which is not limited in this embodiment of the present application. Optionally, the separator character can be a space or the character "-", etc.; this embodiment of the present application does not limit this.
[0067] Optionally, when the first key does not include a separation character, the central broadcast receiving device may use a preset key length to determine the keys included in the first key; optionally, the preset key length may be set according to experience or according to actual needs, and the embodiments of the present application are not limited to this; for example, assuming that the first key includes 12 characters and the preset key length is 6, the central broadcast receiving device may use the first 6 characters of the first key as a key, and the last 6 characters of the first key as a key.
[0068] In an embodiment of the present application, the first secret key may be transmitted through a first secure connection, and the first secure connection supports encrypted connection and / or encrypted transmission. Optionally, the first secure connection may be a BLE (Bluetooth Low Energy) connection (also referred to as a secure BLE connection), or a Bluetooth connection, etc.; this embodiment of the present application is not limited thereto. As an example, the first secure connection may be a BLE connection; in this case, the embodiment of the present application may utilize the security of the BLE connection channel to establish a secure BLE connection channel between the device to be located and the central broadcast receiving device (also referred to as a receiving central device), at which point the device to be located may share the first secret key with the central broadcast receiving device via the BLE connection channel.
[0069] Among them, the BLE connection utilizes the pairing, authentication, and encryption processes supported by the BLE protocol standard to ensure the security of the interaction; that is, when the first security connection is a BLE connection, the first security connection can support the pairing, authentication, and encryption processes, thereby enabling the first security connection to support encrypted connection and / or encrypted transmission. It should be understood that because the entire ranging and positioning system process relies on the first security connection and the first secret key is transmitted through the first security connection channel, a replay attacker (i.e., a relay) cannot achieve the ranging and positioning function by only recording the connection packet or broadcast packet.
[0070] Optionally, the encrypted connection may refer to a connection through pairing, an authentication connection, or the like; this is not limited in the present embodiment. Accordingly, the encrypted transmission may refer to encrypting the first key to transmit the encrypted first key; optionally, the central broadcast receiving device may also decrypt the encrypted first key to obtain the unencrypted first key.
[0071] Optionally, the first key can be determined based on the initial key, the initial key can be randomly generated, and the initial key can be generated according to the initial generation frequency; wherein, the method of generating the initial key and the method of determining the first key can be seen as shown below, and the embodiments of the present application will not be repeated here.
[0072] Optionally, the first key may be updated at a first update frequency; and / or the second key may be updated at a second update frequency. It should be noted that both the first update frequency and the second update frequency may be set based on experience or actual needs, and this embodiment of the application does not limit this. Accordingly, the first update frequency and the second update frequency may be the same or different, and this embodiment of the application does not limit this.
[0073] In an embodiment of the present application, the second key may be determined by a central key update policy, and the central key update policy may include at least one of the following: an equal key update policy, a sequence key update policy, and a conversion key update policy.
[0074] In one embodiment, if the central key update policy includes an equivalent key update policy, the central broadcast receiving device may use the first key as the second key. In this case, upon receiving the first key, the central broadcast receiving device triggers step S102, thereby sending the first key to the N broadcast receiving devices. Accordingly, since the second key is equivalently updated when the first key is updated, the first update frequency can be the same as the second update frequency.
[0075] In another embodiment, if the central key update policy includes a sequential key update policy, the central broadcast receiving device may determine a key from the first key according to the sequence order corresponding to the first key, and use the determined key as the second key. In this case, the first key may include one or more keys, and the keys included in the first key are arranged in a sequential order. Accordingly, the central broadcast receiving device may sequentially traverse each key in the first key according to the sequence order corresponding to the first key, and use the currently traversed key as the determined key, thereby using the determined key as the second key. After traversing each key in the first key, each key in the first key may be used as the second key, and then sent to each of the N broadcast receiving devices. Based on this, the central broadcast receiving device may traverse each key in the first key according to the second update frequency, and then use the currently traversed key to update the determined key according to the second update frequency, that is, use the currently traversed key to update the second key.
[0076] Accordingly, since the first key may include one or more keys, when the first key includes one key, the second key is updated identically to the first key, and in this case, the second update frequency may be the same as the first update frequency. When the first key includes multiple keys, the second key may be updated multiple times using the same first key. In this case, the second update frequency may be different from the first update frequency. For example, assuming the first key is a key sequence and includes Key 1, Key 2, and Key 3, and the first update frequency is once per minute, the second update frequency may be three times per minute. That is, the central broadcast receiving device may sequentially use Key 1, Key 2, and Key 3 as a second key within one minute, and so on.
[0077] In another embodiment, if the central key update policy includes a conversion key update policy, the central broadcast receiving device may determine a central key conversion method and convert the first key into a second key according to the central key conversion method. In this case, the second update frequency may be the same as the first update frequency. Optionally, the central key conversion method may be set based on experience or actual needs, and this embodiment of the present application is not limited to this. For example, the central key conversion method may be a weighted summation method, in which case a weighted summation may be performed on each value in the first key, and the weighted summation result may be used as the second key; optionally, the weights of each value may be set based on experience or actual needs, and this embodiment of the present application is not limited to this. For another example, the central key conversion method may be a prefix conversion method, in which the central broadcast receiving device may add a preset prefix to the first key so that the second key includes the preset prefix and the first key, and so on. Optionally, the preset prefix may be set based on experience or actual needs, and this embodiment of the present application is not limited to this.
[0078] In another embodiment, if the central key update policy includes a sequence key update policy and a conversion key update policy, the central broadcast receiving device may determine a key from the first keys according to the sequence order corresponding to the first keys to obtain the determined key, and convert the determined key into a second key according to the central key conversion method, and so on. In this case, the central broadcast receiving device may sequentially traverse each key in the first key, and convert the currently traversed key into the second key according to the central key conversion method.
[0079] S102, sending the second secret key to N broadcast receiving devices, so that each of the N broadcast receiving devices decrypts the encrypted broadcast sent by the device to be located based on the second secret key to determine the ranging calculation information, the ranging calculation information of a broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device or the ranging result of the corresponding broadcast receiving device, the ranging result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, and N is a positive integer.
[0080] Among them, the encrypted broadcast is obtained after the device to be located encrypts the broadcast, which is used for ranging and positioning, and can refer to Bluetooth broadcast, and Bluetooth broadcast is a broadcast data packet (also called broadcast packet) transmitted via Bluetooth signal.
[0081] In an embodiment of the present application, the second key can be sent to each broadcast receiving device via a second secure connection, so that each broadcast receiving device uses the second key to update the local key. That is, after receiving the second key, any broadcast receiving device can store the second key in a local space, thereby updating the local key. The local key in a broadcast receiving device can be used to decrypt the currently received broadcast by the corresponding broadcast receiving device. That is, the local key in a broadcast receiving device can be updated as the second key is updated. That is, the broadcast receiving device can use the currently received second key to decrypt the currently received broadcast. The currently received second key refers to the second key with the closest time distance between the reception time and the currently received broadcast.
[0082] Optionally, the second security connection can be a CAN (Controller Area Network) connection (i.e., a connection implemented through a CAN bus), a LIN (Local Interconnect Network) connection (i.e., a connection implemented through a LIN bus), a UART2LIN (a tool for converting UART to LIN) connection, a Bluetooth connection, and so on; the embodiments of the present application do not limit this. As an example, the second security connection can be a CAN or LIN connection; wherein, CAN / LIN is one of the commonly used vehicle bus protocols, so that data transmission between vehicle nodes can be completed through this physical protocol, that is, data transmission between the central broadcast receiving device and each broadcast receiving device can be completed. It can be seen that random secret keys are shared through the security channels between the device to be located and the central broadcast receiving device, as well as the security channels between the central broadcast receiving device and each broadcast receiving device, so that the security devices (such as broadcast receiving devices) in the embodiments of the present application can identify encrypted broadcasts and filter replay attack broadcasts.
[0083] Optionally, considering the transmission bandwidth between the central broadcast receiving device and the broadcast receiving devices, embodiments of the present application can also dynamically set the frequency of key sharing. Based on this, when the central broadcast receiving device sends the second key to each broadcast receiving device, the second key can be split into multiple subkeys, and each of the multiple subkeys can be sent to each broadcast receiving device one by one. After the current subkey is successfully sent, the next subkey will continue to be sent, so that each broadcast receiving device will receive the second key after receiving all the subkeys and obtain the second key. Alternatively, the second update frequency can be set dynamically; for example, the central broadcast receiving device can update the second key after the second key in each broadcast receiving device is used, so as to send the current second key to each broadcast receiving device; for example, the central broadcast receiving device can update the second key when it detects a second key update instruction, and so on. Optionally, when the central broadcast receiving device receives the first key sent by the device to be located, it can determine that a second key update instruction has been detected; or, when the central key update policy includes a sequential key update policy, when the central key update policy is received, it can determine that a second key update instruction has been detected, wherein the device to be located can send the second key update instruction to the central broadcast receiving device when updating the encryption key, and so on; this embodiment of the application is not limited to this. The encryption key supports the use of encrypted broadcasts, as shown below, and the embodiment of the application will not be repeated here.
[0084] Optionally, the distance measurement calculation information for a broadcast receiving device may also include the coordinates of the corresponding broadcast receiving device; alternatively, the central broadcast receiving device may also store the coordinates of each broadcast receiving device, and so on; this embodiment of the present application is not limited to this. Based on this, the central broadcast receiving device may include the coordinates of each broadcast receiving device; optionally, the central broadcast receiving device may also store its own coordinates, that is, the coordinates of the central broadcast receiving device.
[0085] S103: Receive distance measurement calculation information sent by each broadcast receiving device, and calculate the position information of the device to be located based on the received distance measurement calculation information.
[0086] In the embodiment of the present application, the above-mentioned location information can be the coordinates of the device to be located, or the distance between the device to be located and the target coordinates, etc., which is not limited in the embodiment of the present application; as an example, the location information can be the distance between the device to be located and the target coordinates. Optionally, the target coordinates can refer to the coordinates of the central broadcast receiving device, or the coordinates of any broadcast receiving device among N broadcast receiving devices, or the coordinates of any position in the carrier (such as a car) where the positioning system is located other than the devices in the positioning system, etc.; this is not limited in the embodiment of the present application. It should be understood that the central broadcast receiving device can also obtain the target coordinates, such as the central broadcast receiving device can store the target coordinates.
[0087] Optionally, when the location information of the device to be located is the distance between the device to be located and the target coordinates, the location information of the device to be located can also be used for automated value-added services. For example, taking the device to be located as a car key (i.e., a digital car key), when the location information of the device to be located is less than or equal to a preset distance threshold, it can be used to provide customers with automated value-added services such as welcoming guests, opening car doors, and starting the car. Optionally, the preset distance threshold can be set based on experience or actual needs, and this embodiment of the application is not limited to this.
[0088] It should be understood that when the ranging calculation information of a broadcast receiving device includes the signal strength of the corresponding broadcast receiving device (i.e., the signal strength of the encrypted broadcast on the corresponding broadcast receiving device), the central broadcast receiving device can calculate the ranging result of the broadcast receiving device corresponding to each piece of ranging calculation information in the received ranging calculation information based on the received ranging calculation information, and thus calculate the location information of the device to be located based on the ranging result of the broadcast receiving device corresponding to each piece of ranging calculation information and the coordinates of the corresponding broadcast receiving device; wherein the signal strength is the signal strength of the air interface signal packet, and there is a certain relationship between signal strength and distance, so the ranging result can be calculated based on the signal strength. Accordingly, when the ranging calculation information of a broadcast receiving device includes the ranging result of the corresponding broadcast receiving device, the central broadcast receiving device can calculate the location information of the device to be located based on the received ranging calculation information and the coordinates of the broadcast receiving device corresponding to each piece of ranging calculation information in the received ranging calculation information. Optionally, after obtaining the received ranging result, or the ranging result of the broadcast receiving device corresponding to each ranging calculation information in the received ranging calculation information, the position information can be calculated by the least squares method, or by the trilateration method, etc.; the embodiments of the present application are not limited to this.
[0089] It should be noted that if the location information is the coordinates of the device to be located, the location information of the device to be located can be calculated directly based on the received ranging calculation information; if the location information is the distance between the device to be located and the target coordinates, the coordinates of the device to be located can be calculated based on the received ranging calculation information, and then the location information of the device to be located can be calculated based on the coordinates of the device to be located and the target coordinates, and so on.
[0090] In one embodiment, the central broadcast receiving device may calculate the location information of the device to be located based on M received ranging calculation information, where M is a positive integer less than or equal to N. For example, assuming that the value of M is 3, when the value of N is 3, the location information of the device to be located may be calculated based on the ranging calculation information of each broadcast receiving device; alternatively, when the value of N is greater than 3, three ranging calculation information may be randomly determined from the N received ranging calculation information, or the first three ranging calculation information may be determined in order of the time at which the ranging calculation information is received, thereby calculating the location information of the device to be located based on the determined ranging calculation information, and so on.
[0091] Based on this, the central broadcast receiving device can calculate the location information of the device to be located based on the M received ranging calculation information and the coordinates of the broadcast receiving device corresponding to each of the M ranging calculation information. For example, the location information of the device to be located can be calculated using the least squares method based on the M received ranging calculation information and the coordinates of the broadcast receiving device corresponding to each of the M ranging calculation information.
[0092] In another embodiment, the central broadcast receiving device can determine central ranging calculation information and calculate the location information of the device to be located based on the received ranging calculation information and the central ranging calculation information. The central ranging calculation information includes the signal strength of the encrypted broadcast on the central broadcast receiving device (i.e., the signal strength of the central broadcast receiving device) or the central ranging result. The central ranging result is used to indicate the distance between the central broadcast receiving device and the device to be located. In this case, the central broadcast receiving device can also receive the encrypted broadcast sent by the device to be located, thereby decrypting the encrypted broadcast based on the second secret key and determining the central ranging calculation information. In this case, the central broadcast receiving device can also be used as a broadcast receiving device for receiving encrypted broadcasts, which can reduce the number of devices in the positioning system and thus reduce costs. Optionally, when calculating the location information of the device to be located based on the received ranging calculation information and the central ranging calculation information, the location information of the device to be located can be calculated based on the M received ranging calculation information and the central ranging calculation information.
[0093] It should be noted that if the central ranging calculation information includes the signal strength of the encrypted broadcast on the central broadcast receiving device, the central ranging result of the central broadcast receiving device can be calculated based on the central ranging calculation information, thereby calculating the location information of the device to be located based on the central ranging result, the coordinates of the central broadcast receiving device, the received ranging calculation information, and the coordinates of the broadcast receiving device corresponding to each piece of ranging calculation information in the received ranging calculation information. If the central ranging calculation information includes the central ranging result, the central broadcast receiving device can calculate the location information of the device to be located based on the central ranging calculation information, the coordinates of the central broadcast receiving device, the received ranging calculation information, and the coordinates of the broadcast receiving device corresponding to each piece of ranging calculation information in the received ranging calculation information; wherein the central ranging result can be calculated based on the signal strength of the central broadcast receiving device.
[0094] In summary, before ranging and positioning, the device to be located can establish a first secure connection with the central broadcast receiving device, such as establishing a secure BLE channel, and the central broadcast receiving device can maintain the first secure connection with the device to be located; accordingly, a second secure connection can be established between the central broadcast receiving device and each broadcast receiving device, such as establishing a data channel CAN / LIN, as shown in Figure 2. Based on this, data can be transmitted between the device to be located and the central broadcast receiving device via the first secure connection; optionally, the central broadcast receiving device can also receive broadcasts sent by the device to be located (such as the encrypted broadcasts mentioned above); accordingly, data can be transmitted between the central broadcast receiving device and each broadcast receiving device via the second secure connection, and each broadcast receiving device can also receive broadcasts sent by the device to be located. It can be seen that the embodiment of the present application does not need to establish multiple connections, that is, there is no need for the device to be located to establish a first secure connection with each broadcast receiving device, the resource requirements for the device to be located and the broadcast receiving device are relatively low, and it is easier to implement and deploy; and since broadcast reception is one of the Bluetooth protocol standards, all Bluetooth devices support it, and there is no need to develop additional chip support, which effectively saves development costs and avoids various compatibility issues.
[0095] In an embodiment of the present application, after a central broadcast receiving device receives a first key sent by a device to be located, the central broadcast receiving device can determine a second key based on the first key, where the first key is transmitted via a first secure connection. The second key is then sent to N broadcast receiving devices, so that each of the N broadcast receiving devices can decrypt the encrypted broadcast sent by the device to be located based on the second key to determine the distance calculation information. The distance calculation information of a broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device or the distance measurement result of the corresponding broadcast receiving device. The distance measurement result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, where N is a positive integer. The second key is sent to each broadcast receiving device via a second secure connection, i.e., the second key is transmitted via a second secure connection, thereby achieving secure transmission of the key. Furthermore, the central broadcast receiving device can receive the distance calculation information sent by each broadcast receiving device and calculate the location information of the device to be located based on the received distance calculation information. It can be seen that the embodiment of the present application can send the second secret key to each broadcast receiving device through the central broadcast receiving device, so that the broadcast receiving device can decrypt the encrypted broadcast sent by the device to be positioned, thereby effectively identifying the encrypted broadcast sent by the device to be positioned; and the first secret key can be updated based on the first update frequency, the second secret key can be updated based on the second update frequency, the first secret key can be determined based on the initial secret key, and the initial secret key can be randomly generated, so as to realize the continuous update of the secret key required for decryption, and effectively avoid replay attacks through replay packets; that is, the embodiment of the present application can conveniently realize ranging positioning while avoiding security attack issues, and can conveniently determine the location information of the device to be positioned.
[0096] Based on the above description, the embodiment of the present application further proposes another ranging and positioning method, which can be performed by the above-mentioned device to be positioned; referring to FIG3 , the ranging and positioning method may include the following steps S301-S303:
[0097] S301: Generate an initial key, and determine a first key based on the initial key.
[0098] Optionally, when generating the initial secret key, the device to be located may determine a random number generation method, and generate at least one random number according to the random number generation method, thereby using the generated random number as the initial secret key. Optionally, the random number generation method may be a true random number generation method (such as a method for generating random numbers such as simulating coin tossing), or a pseudo-random number generation method (such as a method for randomly generating random decimals between 0 and 1, or a method for randomly generating random integers between 0 and 9, etc.), which is not limited in the embodiments of the present application. Optionally, the device to be located may use true random hardware or software to generate the initial secret key according to the true random number generation method; correspondingly, the device to be located may use pseudo-random hardware or software to generate the initial secret key according to the pseudo-random number generation method. Optionally, the number of random numbers in the above-mentioned at least one random number may be set according to experience, or may be set according to actual needs, or may be a randomly generated positive integer, etc.; this is not limited in the embodiments of the present application.
[0099] For example, assuming that the number of random numbers in at least one random number is 3, and the first random number generated is 6, the second random number generated is 9, and the third random number generated is 1, then the generated random number can be 691, that is, the initial key can be 691 at this time.
[0100] Optionally, when generating the initial key, the device to be located may also determine a key sequence generation method and generate a key sequence according to the key sequence generation method, thereby using the generated key sequence as the initial key, and so on. The key sequence includes one or more keys, and each key in the key sequence can be a random key; optionally, the keys and order contained in the key sequence can be changed at any time. Optionally, the key sequence generation method can be used to indicate the number of keys in the initial key, and can be used to indicate the random number generation method; in this case, the device to be located can sequentially generate each key in the initial key according to the random number generation method; or, the key sequence generation method can be a limited key sequence generation method of Bluetooth CH MAP (Channel Message Access Profile, used to identify currently used and unused physical channels), in which case the initial key can include one or more limited key sequences of Bluetooth CH MAP, and so on; this embodiment of the present application is not limited to this.
[0101] In summary, the embodiments of the present application do not limit the method for generating the initial secret key, as long as a certain degree of randomness is ensured to meet the actual ease of use and security requirements. In the embodiments of the present application, the randomness and update frequency of the secret key can be customized according to the security level requirements (e.g., the higher the security level requirements, the higher the update frequency can be) and the sharing cost (e.g., reducing the update frequency to reduce the sharing cost, etc.), thereby making the embodiments of the present application easier to implement.
[0102] Optionally, the initial key may be generated according to an initial generation frequency; wherein the initial generation frequency may be set based on experience, or may be set based on actual needs, etc.; this is not limited in the embodiments of the present application. Optionally, the first key described below may be updated according to a first update frequency; and / or, the second key described below may be updated according to a second update frequency. Optionally, the initial generation frequency and the first update frequency may be the same or different, and this is not limited in the embodiments of the present application.
[0103] Furthermore, the first key may be determined based on a key update policy to be located, and the key update policy to be located may include at least one of the following: an equivalent key update policy, a sequence key update policy, and a conversion key update policy.
[0104] In one embodiment, if the key update policy for the device to be located includes an equivalent key update policy, the device to be located may use the initial key as the first key. In this case, once the device to be located generates the initial key, step S302 is triggered, thereby transmitting the initial key to the central broadcast receiving device. Accordingly, since the first key can be equivalently updated after the initial key is generated, the first update frequency can be the same as the initial generation frequency.
[0105] In another embodiment, if the key update strategy for the device to be located includes a sequential key update strategy, the device to be located may select a key from the initial key according to the sequence order corresponding to the initial key, and use the selected key as the first key. In this case, the initial key may include one or more keys, and the keys included in the initial key are arranged in sequence; accordingly, the device to be located may traverse each key in the initial key in sequence according to the sequence order corresponding to the initial key, and use the currently traversed key as the selected key, thereby using the selected key as the first key. After traversing each key in the initial key, each key in the initial key may be used as the first key, and then sent to the central broadcast receiving device respectively. Correspondingly, since the initial key may include one or more keys, when the initial key includes one key, the first key is updated identically to the initial key, and in this case, the first update frequency may be the same as the initial generation frequency; when the initial key includes multiple keys, the first key may be updated multiple times using the same initial key, and in this case, the first update frequency may be different from the initial generation frequency.
[0106] In another embodiment, if the key update policy for the device to be located includes a conversion key update policy, the device to be located may determine a conversion method for the key to be located and convert the initial key to the first key according to the conversion method. In this case, the first update frequency may be the same as the initial generation frequency. Optionally, the conversion method for the key to be located may be set based on experience or actual needs, and this embodiment of the present application is not limited thereto.
[0107] Optionally, the to-be-located key conversion method may correspond to the above-mentioned central key conversion method. In this case, a key is first converted by the to-be-located key conversion method, and then the conversion result of the corresponding key after the to-be-located key conversion method is converted by the central key conversion method. The conversion result after the to-be-located key conversion method can be restored to the corresponding key; that is, when key A is converted to key B by the to-be-located key conversion method, key B can be restored to key A by the central key conversion method. For example, assuming that the to-be-located key conversion method is a multiplication method, and the central key conversion method is a division method, and both the division method and the multiplication method use preset factors for calculation, then when converting key A (such as the initial key) according to the to-be-located key conversion method, key A can be multiplied by the preset factor to achieve conversion of key A according to the multiplication method, thereby obtaining key B (such as the first key); correspondingly, when converting key B according to the central key conversion method, key B can be divided by the preset factor to achieve conversion of key B according to the division method, thereby obtaining key A (i.e., the second key can be equal to the initial key at this time), etc. Optionally, the preset factor can be set based on experience or actual needs, and this embodiment of the application is not limited to this; illustratively, the preset factor can be 5 or 6, etc.
[0108] In another embodiment, if the key update strategy to be located includes a sequence key update strategy and a conversion key update strategy, the device to be located may select a key from the initial keys according to the sequence order corresponding to the initial keys to obtain the selected key, and convert the selected key into the first key according to the key conversion method to be located, and so on. In this case, the device to be located may sequentially traverse each key in the initial keys, thereby converting the currently traversed key into the first key according to the key conversion method to be located. Accordingly, when the initial keys include a single key, the first update frequency may be the same as the initial generation frequency; when the initial keys include multiple keys, the first update frequency may be different from the initial generation frequency.
[0109] Optionally, the key update strategy for the device to be located and the central key update strategy may be the same or different, and this is not limited in the embodiments of the present application. For example, when the key update strategy for the device to be located and the central key update strategy are both equivalent key update strategies, the first key may be equal to the initial key, and the second key may be equal to the first key. In this case, the device to be located may send the initial key to the central broadcast receiving device, and the central broadcast receiving device may send the initial key to each broadcast receiving device. In other words, the key received by the broadcast receiving device in one transmission may be the same as the initial key generated by the device to be located. For another example, when the key update strategy for the device to be located is an equivalent key update strategy, the central key update strategy is a sequential key update strategy, and the first key includes multiple keys, the first key may be the same as the initial key, and the second key may be different from the first key, and so on.
[0110] S302 : Send the first key to the central broadcast receiving device, so that the central broadcast receiving device sends the second key to each of N broadcast receiving devices based on the first key, where N is a positive integer.
[0111] Optionally, the first key may be transmitted via a first secure connection, which supports encrypted connection and / or encrypted transmission; and / or the second key may be sent to each broadcast receiving device via a second secure connection, i.e., the second key may be transmitted via the second secure connection. Specifically, the first secure connection and the second secure connection are described above and are not further described in detail in this embodiment of the present application.
[0112] S303: Send the encrypted broadcast so that each broadcast receiving device receives the encrypted broadcast respectively, and decrypts the encrypted broadcast based on the second secret key to determine the ranging calculation information.
[0113] The central broadcast receiving device supports receiving ranging calculation information sent by each broadcast receiving device, and the ranging calculation information received by the central broadcast receiving device is used to calculate the location information of the device to be located. An encrypted broadcast is obtained by encrypting the broadcast by the device to be located. This broadcast is used for ranging and positioning and can refer to a Bluetooth broadcast, which is a broadcast data packet (also called a broadcast packet) transmitted via a Bluetooth signal.
[0114] In an embodiment of the present application, the device to be located can encrypt the broadcast to obtain an encrypted broadcast. It should be understood that the device to be located can encrypt the broadcast using an encryption key, and the encryption key corresponds to the decryption key determined by any broadcast receiving device based on the second key, so that the broadcast receiving device can decrypt the encrypted broadcast based on the decryption key. The correspondence can be the same or different, as long as the encrypted broadcast encrypted by the encryption key can be decrypted based on the decryption key; that is, when any broadcast receiving device decrypts the encrypted broadcast based on the second key, any broadcast receiving device can determine the decryption key based on the second key (that is, determine the decryption key based on the local key), thereby using the decryption key to decrypt the encrypted broadcast; wherein, the specific implementation method of determining the decryption key based on the second key can be seen as follows, and the embodiment of the present application will not be repeated here.
[0115] Optionally, the encryption key used by the device to be located can be different each time, that is, the device to be located can use different encryption keys to encrypt different broadcasts; accordingly, the decryption key used by any broadcast receiving device each time to decrypt the broadcast sent by the device to be located can be different, that is, one decryption key can be used to decrypt the broadcast sent by the device to be located once. Based on this, even if the broadcast of the device to be located is captured and replayed, any broadcast receiving device can determine the replay attack packet based on the current decryption key, thereby filtering out the replay attack packet; that is, because the keys (such as encryption keys and decryption keys) and broadcast sending and receiving are bound and refreshed in real time, when the attacker records and replays, his ciphertext cannot be correctly decrypted by the real-time key, so the broadcast receiving device can filter out the replay attack packet.
[0116] Optionally, if the decryption key is the same as the first key, the first key may be used as the encryption key, such as when the central key update policy includes an equal key update policy and the decryption key is the same as the second key. Alternatively, if the decryption key is one of the keys in the first key, the corresponding key in the first key may be used as the encryption key (e.g., the decryption key and the encryption key may both be the second key in the first key); illustratively, when the to-be-located key update policy includes an equal key update policy, the central key update policy includes a sequence key update policy, and the decryption key is the same as the second key, or when both the to-be-located key update policy and the central key update policy include an equal key update policy and the decryption key is one of the keys in the second key, the decryption key may be one of the keys in the first key. Alternatively, if the decryption key is the same as the initial key, the initial key can be used as the encryption key; exemplarily, when the key update strategy to be located includes a conversion key update strategy, the central key update strategy includes a conversion key update strategy, the key conversion method to be located corresponds to the central key conversion method, and the decryption key is the same as the second key, the decryption key is the same as the initial key. Alternatively, if the decryption key is obtained by converting the first key or one of the first keys according to the target key conversion method, the first key or the corresponding key in the first key can be converted according to the target key conversion method to obtain the encryption key (such as the decryption key and the encryption key can both be obtained by converting the second key in the first key according to the target key conversion method), and so on; exemplarily, when the key update strategy to be located includes an equivalent key update strategy or a sequential key update strategy, the central key update strategy includes a conversion key update method, and the decryption key is the same as the second key, the decryption key is obtained by converting the first key or one of the first keys according to the target key conversion method (in this case, the central key conversion method).
[0117] Optionally, the target key conversion method may include a central key conversion method, in which case the second key may be determined through the central key conversion method, and the decryption key is the same as the second key; or, the target key conversion method may include a broadcast reception key conversion method, in which case the decryption key may be determined based on the second key through the broadcast reception key conversion method, wherein the broadcast reception key conversion method is specifically as shown below and is not described in detail in the embodiments of the present application; or, the target key conversion method may include a central key conversion method and a broadcast reception key conversion method, in which case the second key may be determined through the central key conversion method, and the decryption key may be determined through the broadcast reception key conversion method, and so on; the embodiments of the present application are not limited to this.
[0118] In the embodiments of the present application, the device to be located can generate an initial key and determine a first key based on the initial key. The initial key can be randomly generated using a random number generation method or a key sequence generation method. This means that the initial key can be randomly generated, allowing the broadcast to be encrypted using the random key, thereby fundamentally preventing replay attacks. Based on this, the first key can be sent to a central broadcast receiving device, which in turn sends a second key to each of N broadcast receiving devices based on the first key, where N is a positive integer. The first key is transmitted via a first secure connection, and the second key is sent to each broadcast receiving device via a second secure connection, thereby achieving secure key transmission. Accordingly, the device to be located can send an encrypted broadcast, allowing each broadcast receiving device to receive the encrypted broadcast and decrypt it based on the second key to determine ranging calculation information. The central broadcast receiving device supports receiving ranging calculation information sent by each broadcast receiving device, and the ranging calculation information received by the central broadcast receiving device is used to calculate the location information of the device to be located. It can be seen that the device to be located in the embodiment of the present application can generate an encrypted broadcast through a randomly generated initial key, so that the broadcast receiving device can verify the received broadcast based on the second key; and the first key can be updated based on the first update frequency, and the second key can be updated based on the second update frequency, so that the key required for decryption can be continuously updated, which can effectively avoid relay replay attacks; that is, the embodiment of the present application can conveniently implement ranging positioning while avoiding security attack issues, and can conveniently determine the location information of the device to be located.
[0119] Based on the above description, the present embodiment proposes another ranging and positioning method. The ranging and positioning method can be performed by each of the N broadcast receiving devices mentioned above, where N is a positive integer. For ease of explanation, the following description will be based on the example of any one of the N broadcast receiving devices. As shown in FIG4 , the ranging and positioning method may include the following steps S401-S403:
[0120] S401, receiving a second secret key sent by a central broadcast receiving device, and receiving a broadcast; wherein the second secret key is transmitted by the central broadcast receiving device through a second secure connection.
[0121] Optionally, the second secure connection can support encrypted transmission. That is, the central broadcast receiving device can encrypt the second key to obtain an encrypted second key, and then send the encrypted second key to any broadcast receiving device. Correspondingly, any broadcast receiving device can decrypt the encrypted second key to obtain the second key, thus obtaining the unencrypted second key. Based on this, when sharing keys between the central broadcast receiving device and the broadcast receiving devices, the function of encrypting the second key can be added according to security requirements. It should be understood that in S401, the broadcast received by each broadcast receiving device can be an encrypted broadcast sent by the device to be located, or it can be a replay of a broadcast sent by an attacker, i.e., a replay attack packet.
[0122] Optionally, the second key may be determined based on the first key; and / or the first key may be transmitted via a first secure connection, where the first secure connection supports encrypted connection and / or encrypted transmission. The method for determining the second key and the specific description of the first secure connection are described above and will not be further elaborated herein in the present embodiment.
[0123] Optionally, the first key may be determined based on the initial key, and the initial key may be randomly generated; the first key may be updated at a first update frequency; and / or the second key may be updated at a second update frequency; and / or the initial key may be generated at an initial generation frequency. Specifically, the method for determining the first key and the method for generating the initial key are described above and will not be further described in detail in this embodiment of the present application.
[0124] S402: Decrypt the received broadcast based on the second secret key and determine the ranging calculation information.
[0125] In the embodiments of the present application, any broadcast receiving device can determine a decryption key based on the second key and use the decryption key to decrypt the received broadcast. It should be understood that a successfully decrypted broadcast is an encrypted broadcast sent by the device to be located. Optionally, the decryption key can be determined based on a broadcast reception key update policy. The broadcast reception key update policy can include at least one of the following: an equivalent key update policy, a sequence key update policy, and a conversion key update policy. Based on this, when determining the decryption key based on the second key, if the broadcast reception key update policy includes an equivalent key update policy, the second key can be used as the decryption key; or, if the broadcast reception key update policy includes a sequence key update policy, a key can be selected from the second key according to the sequence order corresponding to the second key, and the selected key can be used as the decryption key, and each key in the second key can be used as the decryption key in turn; or, if the broadcast reception key update policy includes a conversion key update policy, a broadcast reception key conversion method can be determined, and the second key can be converted into a decryption key according to the broadcast reception key conversion method; or, if the broadcast reception key update policy includes a sequence key update policy and a conversion key update policy, a key can be selected from the second key according to the sequence order corresponding to the second key to obtain the selected key, and the selected key can be converted into a decryption key according to the broadcast reception key conversion method, and so on.
[0126] Optionally, the broadcast reception key conversion method may be the same as the central key conversion method, or may be different from the central key conversion method, and this embodiment of the present application does not limit this. It should be noted that the broadcast reception key conversion method may be a weighted summation method, a prefix removal method, and so on; this embodiment of the present application does not limit this. Exemplarily, assuming that the central key conversion method is a prefix conversion method, the preset prefix is ABD, and assuming that the broadcast reception key conversion method is a prefix removal method, in this case, when the second key is ABD123456, any broadcast receiving device can convert the second key into a decryption key according to the broadcast reception key conversion method, and the decryption key can be 123456 at this time.
[0127] In an embodiment of the present application, the decryption key may be updated according to the decryption update frequency; optionally, the decryption update frequency may be the same as any one of the initial generation frequency, the first update frequency, and the second update frequency, or may be different from each of the initial generation frequency, the first update frequency, and the second update frequency, and this embodiment of the present application does not limit this. Exemplarily, when the decryption key, the second key, the first key, and the initial key are all the same, the regeneration of the initial key may cause the first key, the second key, and the decryption key to be updated accordingly, and at this time, the decryption update frequency may be the same as each of the initial generation frequency, the first update frequency, and the second update frequency; or, when the initial key includes multiple keys, the first key is one of the initial keys, and the second key and the decryption key are the same as the first key, the decryption update frequency may be different from the initial generation frequency, and the decryption update frequency may be the same as the first update frequency and the second update frequency, and so on.
[0128] Furthermore, when determining the ranging calculation information (i.e., the ranging calculation information of any broadcast receiving device), any broadcast receiving device can extract the RSSI value (i.e., signal strength) of the broadcast, that is, extract the signal strength of the encrypted broadcast on any broadcast receiving device (i.e., the signal strength of any broadcast receiving device). Based on this, the signal strength of any broadcast receiving device can be used as the ranging calculation information. In other words, the signal strength of any broadcast receiving device can be added to the ranging calculation information so that the ranging calculation information includes the signal strength of any broadcast receiving device. The central broadcast receiving device can then further calculate the ranging result of any broadcast receiving device based on the signal strength of any broadcast receiving device in the ranging calculation information. Alternatively, the signal strength of any broadcast receiving device can be used to calculate the ranging result of any broadcast receiving device, and the ranging result of any broadcast receiving device can be used as the ranging calculation information. In other words, the ranging result of any broadcast receiving device can be added to the ranging calculation information so that the ranging calculation information includes the ranging result of any broadcast receiving device, and so on.
[0129] In the embodiment of the present application, any broadcast receiving device can also determine whether the decryption is correct, that is, it can determine whether the current decryption key is the same as the encryption key of the received broadcast, that is, it can determine whether the current decryption key is the decryption key required for the received broadcast; if the decryption is correct, it triggers the execution of the above-mentioned determination of the ranging calculation information; if the decryption is incorrect, the received broadcast (i.e., broadcast packet) is discarded, that is, it can be determined that the broadcast received at this time is a replay attack packet (i.e., replay attack broadcast), and thus the replay attack packet is discarded to avoid the replay attack. It should be understood that the attacker (i.e., relay) can capture the content of the broadcast packet through an air interface packet capture device (i.e., air interface packet capture tool). Although it cannot be decrypted, it can be sent to any broadcast receiving device by recording and playback. In the case where the key is not random, the broadcast receiving device cannot distinguish whether the packet comes from the device to be located or the attacker; for example, in the digital key scenario, the attacker can use this method to simulate the key and open the car door. It can be seen that the embodiment of the present application can make the second key random, thereby making the decryption key random, and can make the encryption key random. In this case, the decryption key corresponding to the replay attack packet can be a historical decryption key, that is, the current decryption key used by any broadcast receiving device is the decryption key of the broadcast of the device to be located, rather than the decryption key corresponding to the replay attack packet. Based on this, any broadcast receiving device can effectively distinguish whether the received broadcast is from the device to be located or the attacker, thereby avoiding replay attacks.
[0130] S403: Return the distance measurement calculation information to the central broadcast receiving device, so that the central broadcast receiving device calculates the position information of the device to be located based on the received distance measurement calculation information.
[0131] From the above, it can be seen that since the keys (such as the initial key, decryption key, etc.) are random, the embodiments of the present application can not only take advantage of the simplicity and ease of deployment of broadcasting, but also avoid security attack issues.
[0132] In the embodiments of the present application, any broadcast receiving device can receive a second key sent by a central broadcast receiving device and receive the broadcast. The second key is transmitted by the central broadcast receiving device via a second secure connection and is random. Accordingly, the second key is determined by the central broadcast receiving device based on a first key sent by the device to be located, which is transmitted via a first secure connection, thus enabling secure key transmission. Based on this, any broadcast receiving device can decrypt the received broadcast using the second key and determine the ranging calculation information. Furthermore, the ranging calculation information can be returned to the central broadcast receiving device, allowing the central broadcast receiving device to calculate the location information of the device to be located based on the received ranging calculation information. It can be seen that the embodiment of the present application can decrypt the received broadcast through the second secret key to verify whether the received broadcast is sent by the device to be located; and when it is determined that the received broadcast is not sent by the device to be located (that is, the decryption is determined to be incorrect), the received broadcast can be discarded, which can effectively avoid being attacked by relay replay; in addition, the first secret key can be updated based on the first update frequency, the second secret key can be updated based on the second update frequency, the first secret key can be determined based on the initial secret key, and the initial secret key can be randomly generated, so that the secret key required for decryption can be continuously updated to effectively improve the security of the secret key. Based on this, the embodiment of the present application can conveniently realize ranging positioning while avoiding security attack problems, that is, it can conveniently determine the location information of the device to be located.
[0133] In summary, the ranging and positioning method proposed in the embodiments of the present application can be applied to the ranging and positioning system. The implementation process of the ranging and positioning method applied to the device to be positioned, the central broadcast receiving device, and each broadcast receiving device mentioned above will be further summarized and explained below:
[0134] First, the device to be located may randomly generate an initial key using a random number generation method or a key sequence generation method, and then determine the first key based on the initial key. The initial key may be generated according to an initial generation frequency, and the first key may be updated according to a first update frequency. Based on this, the device to be located may transmit the first key to the central broadcast receiving device via a first secure connection. The specific process can be referred to the description of the above embodiment and will not be repeated here.
[0135] The central broadcast receiving device may then determine a second key based on the first key and send the second key to the N broadcast receiving devices via a second secure connection; wherein the second key may be updated at a second update frequency. The specific process can be referred to the description of the above embodiment and will not be repeated here.
[0136] Accordingly, the device to be located can determine an encryption key (which can be determined based on the initial key or the first key) and use the encryption key to encrypt the broadcast. This broadcast is used for ranging and positioning, thereby obtaining an encrypted broadcast and then transmitting the encrypted broadcast. In this case, each broadcast receiving device can receive the encrypted broadcast sent by the device to be located. The specific process can be referred to the description of the above embodiment and will not be repeated here.
[0137] It should be understood that any broadcast receiving device can receive any broadcast (such as the encrypted broadcast or replay attack packet described above). Therefore, for the currently received broadcast (i.e., the received broadcast), any broadcast receiving device can determine the decryption key based on the second key (i.e., the currently received second key) and decrypt the currently received broadcast based on the decryption key. If the decryption is correct, the currently received broadcast can be determined to be the encrypted broadcast described above, and ranging calculation information can be determined based on the encrypted broadcast, and the ranging calculation information can be returned to the central broadcast receiving device. If the decryption is incorrect, the currently received broadcast is discarded. The specific process can be referred to the description of the above embodiment and will not be repeated here.
[0138] After the central broadcast receiving device receives the distance calculation information returned by each broadcast receiving device, the central broadcast receiving device can calculate the position information of the device to be located to achieve distance positioning. The specific process can be referred to the description of the above embodiment and will not be repeated here.
[0139] It can be seen that the embodiments of the present application can conveniently implement ranging and positioning while avoiding security attack issues, that is, can conveniently determine the location information of the device to be located.
[0140] Based on the description of the relevant embodiments of the above-mentioned ranging and positioning method, the embodiments of the present application further propose a ranging and positioning device, which can be a computer program (including program code) running in an electronic device, where the electronic device can refer to the above-mentioned central broadcast receiving device; as shown in Figure 5a, the ranging and positioning device may include a first receiving unit 501, a first processing unit 502, and a first sending unit 503. The ranging and positioning device can execute the ranging and positioning method shown in Figure 1, that is, the ranging and positioning device can run the above-mentioned units:
[0141] The first receiving unit 501 is configured to receive a first key sent by a device to be located;
[0142] A first processing unit 502 is configured to determine a second key based on the first key;
[0143] A first sending unit 503 is configured to send the second secret key to N broadcast receiving devices, so that each of the N broadcast receiving devices decrypts the encrypted broadcast sent by the device to be located based on the second secret key to determine ranging calculation information, where the ranging calculation information of a broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device or the ranging result of the corresponding broadcast receiving device, where the ranging result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, and N is a positive integer;
[0144] The first receiving unit 501 is further configured to receive ranging calculation information sent by each broadcast receiving device;
[0145] The first processing unit 502 is further configured to calculate the location information of the device to be located based on the received distance calculation information.
[0146] In one embodiment, the first key is transmitted via a first secure connection, and the first secure connection supports encrypted connection and / or encrypted transmission.
[0147] In another embodiment, the second key is sent to each broadcast receiving device via a second secure connection, so that each broadcast receiving device updates a local key using the second key;
[0148] The local key in a broadcast receiving device is used for the corresponding broadcast receiving device to decrypt the currently received broadcast.
[0149] In another embodiment, the second key is determined by a central key update policy, wherein the central key update policy includes at least one of the following: an equivalent key update policy, a sequence key update policy, and a conversion key update policy; when the first processing unit 502 determines the second key based on the first key, it can be specifically configured to:
[0150] If the central key update policy includes the equivalent key update policy, the first key is used as the second key; or,
[0151] If the central key update strategy includes the sequence key update strategy, a key is determined from the first keys according to the sequence order corresponding to the first keys, and the determined key is used as the second key; or
[0152] If the central key update policy includes the conversion key update policy, determining a central key conversion method, and converting the first key into the second key according to the central key conversion method; or
[0153] If the central key update strategy includes the sequence key update strategy and the conversion key update strategy, a key is determined from the first keys according to the sequence order corresponding to the first key to obtain the determined key, and the determined key is converted into the second key according to the central key conversion method.
[0154] In another embodiment, when calculating the location information of the device to be located based on the received ranging calculation information, the first processing unit 502 may be specifically configured to:
[0155] Calculate the location information of the device to be located based on the M received ranging calculation information, where M is a positive integer less than or equal to N; or
[0156] Determine center ranging calculation information, and calculate the location information of the device to be located based on the received ranging calculation information and the center ranging calculation information, the center ranging calculation information including the signal strength of the encrypted broadcast on the center broadcast receiving device or the center ranging result, the center ranging result being used to indicate the distance between the center broadcast receiving device and the device to be located.
[0157] In another embodiment, the first key is updated according to a first update frequency; and / or the second key is updated according to a second update frequency.
[0158] In another embodiment, the first key is determined based on an initial key, the initial key is randomly generated, and the initial key is generated according to an initial generation frequency.
[0159] Based on the description of the relevant embodiments of the above-mentioned ranging and positioning method, the embodiments of the present application further propose another ranging and positioning device, which can be a computer program (including program code) running in an electronic device, where the electronic device can refer to the above-mentioned device to be positioned; as shown in Figure 5b, the ranging and positioning device can include a second processing unit 504 and a second sending unit 505. The ranging and positioning device can execute the ranging and positioning method shown in Figure 3, that is, the ranging and positioning device can run the above-mentioned units:
[0160] The second processing unit 504 is configured to generate an initial key and determine a first key based on the initial key;
[0161] The second sending unit 505 is configured to send the first key to a central broadcast receiving device, so that the central broadcast receiving device sends a second key to each of N broadcast receiving devices based on the first key, where N is a positive integer;
[0162] The second sending unit 505 is further configured to send an encrypted broadcast, so that each of the broadcast receiving devices receives the encrypted broadcast respectively, and decrypts the encrypted broadcast based on the second secret key to determine the ranging calculation information;
[0163] The central broadcast receiving device supports receiving distance calculation information sent by each broadcast receiving device, and the distance calculation information received by the central broadcast receiving device is used to calculate the position information of the device to be located.
[0164] In one embodiment, when generating the initial key, the second processing unit 504 may be specifically configured to:
[0165] Determine a random number generation method, and generate at least one random number according to the random number generation method, thereby using the generated random number as the initial secret key; or,
[0166] A key sequence generation method is determined, and a key sequence is generated according to the key sequence generation method, so that the generated key sequence is used as the initial key.
[0167] In another embodiment, the first key is determined based on a key update strategy to be located, and the key update strategy to be located includes at least one of the following: an equivalent key update strategy, a sequence key update strategy, and a conversion key update strategy; when the second processing unit 504 determines the first key based on the initial key, it can be specifically used to:
[0168] If the key update policy to be located includes the equivalent key update policy, the initial key is used as the first key; or,
[0169] If the key update strategy to be located includes the sequence key update strategy, a key is selected from the initial keys according to the sequence order corresponding to the initial keys, and the selected key is used as the first key; or
[0170] If the to-be-located key update strategy includes the conversion key update strategy, determining a to-be-located key conversion method, and converting the initial key into the first key according to the to-be-located key conversion method; or
[0171] If the key update strategy to be located includes the sequence key update strategy and the conversion key update strategy, a key is selected from the initial keys according to the sequence order corresponding to the initial key to obtain the selected key, and the selected key is converted into the first key according to the key conversion method to be located.
[0172] In another embodiment, the first key is transmitted via a first secure connection, which supports encrypted connection and / or encrypted transmission; and / or, the second key is sent to each broadcast receiving device via a second secure connection.
[0173] In another embodiment, the first key is updated according to a first update frequency; and / or the second key is updated according to a second update frequency; and / or the initial key is generated according to an initial generation frequency.
[0174] Based on the description of the relevant embodiments of the above-mentioned ranging and positioning method, the embodiments of the present application further propose another ranging and positioning device, which can be a computer program (including program code) running in an electronic device. The electronic device here can refer to any of the N broadcast receiving devices mentioned above. As shown in Figure 5c, the ranging and positioning device may include a third receiving unit 506, a third processing unit 507, and a third sending unit 508. The ranging and positioning device can execute the ranging and positioning method shown in Figure 4, that is, the ranging and positioning device can run the above-mentioned units:
[0175] The third receiving unit 506 is configured to receive a second secret key sent by the central broadcast receiving device and receive the broadcast; wherein the second secret key is transmitted by the central broadcast receiving device via a second secure connection;
[0176] a third processing unit 507, configured to decrypt the received broadcast based on the second secret key and determine ranging calculation information;
[0177] The third sending unit 508 is configured to return the distance measurement calculation information to the central broadcast receiving device, so that the central broadcast receiving device calculates the location information of the device to be located based on the received distance measurement calculation information.
[0178] In one embodiment, the third processing unit 507 may further be configured to:
[0179] Determine whether the decryption is correct;
[0180] If the decryption is correct, the determination of the distance calculation information is triggered;
[0181] If the decryption is incorrect, the received broadcast is discarded.
[0182] In another embodiment, the second key is determined based on the first key; and / or the first key is transmitted via a first secure connection, and the first secure connection supports encrypted connection and / or encrypted transmission.
[0183] In another embodiment, the first key is determined based on the initial key, and the initial key is randomly generated; wherein, the first key is updated according to a first update frequency; and / or, the second key is updated according to a second update frequency; and / or, the initial key is generated according to an initial generation frequency.
[0184] According to one embodiment of the present application, each step involved in the method shown in Figure 1 can be performed by each unit in the ranging and positioning device shown in Figure 5a, each step involved in the method shown in Figure 3 can be performed by each unit in the ranging and positioning device shown in Figure 5b, each step involved in the method shown in Figure 4 can be performed by each unit in the ranging and positioning device shown in Figure 5c, and so on.
[0185] According to another embodiment of the present application, each unit in the ranging and locating device shown in Fig. 5 a, Fig. 5 b and Fig. 5 c can be respectively or all merged into one or several other units to constitute, or certain (some) unit therein can also be split into multiple smaller units in function to constitute, this can realize the same operation, and does not affect the realization of the technical effect of the embodiment of the present application. The above-mentioned units are divided based on logical functions. In actual applications, the function of a unit can also be realized by multiple units, or the function of multiple units is realized by one unit. In other embodiments of the present application, any ranging and locating device can also include other units. In actual applications, these functions can also be assisted by other units to realize, and can be realized by the collaboration of multiple units.
[0186] According to another embodiment of the present application, a computer program (including program code) capable of executing each step involved in the corresponding method shown in FIG. 1 can be run on a general electronic device such as a computer including processing elements and storage elements such as a central processing unit (CPU), a random access storage medium (RAM), and a read-only storage medium (ROM), to construct a ranging and positioning device as shown in FIG. 5a, and to implement the ranging and positioning method of the embodiment of the present application; and a computer program (including program code) capable of executing each step involved in the corresponding method shown in FIG. 3 can be run on a general electronic device such as a computer including processing elements and storage elements such as a central processing unit, a random access storage medium, and a read-only storage medium, to construct a ranging and positioning device as shown in FIG. 5b, and to implement the ranging and positioning method of the embodiment of the present application; and a computer program (including program code) capable of executing each step involved in the corresponding method shown in FIG. 4 can be run on a general electronic device such as a computer including processing elements and storage elements such as a central processing unit, a random access storage medium, and a read-only storage medium, to construct a ranging and positioning device as shown in FIG. 5c, and to implement the ranging and positioning method of the embodiment of the present application. The computer program may be recorded on a computer storage medium, for example, and loaded into the electronic device via the computer storage medium and run therein.
[0187] In an embodiment of the present application, after a central broadcast receiving device receives a first key sent by a device to be located, it can determine a second key based on the first key and send the second key to N broadcast receiving devices. The first key is determined by the device to be located based on an initial key generated, i.e., the first key can be updated as the initial key is updated. Accordingly, the device to be located can send an encrypted broadcast so that each of the N broadcast receiving devices can receive the encrypted broadcast. Based on this, each of the N broadcast receiving devices can decrypt the encrypted broadcast sent by the device to be located based on the second key to determine ranging calculation information. The ranging calculation information for each broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device (i.e., the signal strength of the corresponding broadcast receiving device) or the ranging result of the corresponding broadcast receiving device. The ranging result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, where N is a positive integer. Furthermore, the central broadcast receiving device can receive the ranging calculation information sent by each broadcast receiving device and calculate the location information of the device to be located based on the received ranging calculation information. It can be seen that the broadcast receiving device in the embodiment of the present application can decrypt the received broadcast through the second secret key to verify whether the received broadcast is sent by the device to be located, and the second secret key can be continuously updated, thereby effectively avoiding relay replay attacks; that is, the embodiment of the present application can conveniently implement ranging positioning while avoiding security attack issues, and can conveniently determine the location information of the device to be located.
[0188] Based on the description of the above method embodiments and apparatus embodiments, the exemplary embodiments of the present application further provide an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, and when executed by the at least one processor, the computer program causes the electronic device to perform the method according to the embodiments of the present application.
[0189] The exemplary embodiments of the present application further provide a chip, comprising: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, and when executed by the at least one processor, the computer program causes the chip to perform a method according to an embodiment of the present application.
[0190] An exemplary embodiment of the present application also provides a positioning system, which includes a central broadcast receiving device and N broadcast receiving devices, where N is a positive integer; wherein the central broadcast receiving device is used to execute the method provided in various optional embodiments of the ranging and positioning method embodiment shown in Figure 1 above, and each of the N broadcast receiving devices is used to execute the method provided in various optional embodiments of the ranging and positioning method embodiment shown in Figure 4 above.
[0191] An exemplary embodiment of the present application further provides a non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor of a computer, is used to cause the computer to perform a method according to an embodiment of the present application.
[0192] An exemplary embodiment of the present application further provides a computer program product, including a computer program, wherein when the computer program is executed by a processor of a computer, it is used to cause the computer to perform the method according to the embodiment of the present application.
[0193] With reference to Figure 6, the structural block diagram of the electronic device 600 that can be used as the server or terminal of the present application will now be described, which is an example of the hardware device that can be applied to various aspects of the present application. The electronic device is intended to represent various forms of digital electronic computer equipment, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or required herein.
[0194] As shown in Figure 6, electronic device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In RAM 603, various programs and data required for the operation of electronic device 600 can also be stored. Computing unit 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to bus 604.
[0195] Multiple components within electronic device 600 are connected to I / O interface 605, including an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. Input unit 606 can be any type of device capable of inputting information into electronic device 600. Input unit 606 can receive input numeric or character information and generate key input signals related to user settings and / or function control of the electronic device. Output unit 607 can be any type of device capable of presenting information and may include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. Storage unit 608 may include, but is not limited to, a magnetic disk or an optical disk. Communication unit 609 allows electronic device 600 to exchange information / data with other devices via computer networks such as the Internet and / or various telecommunication networks and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver and / or a chipset, such as a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0196] The computing unit 601 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above. For example, in some embodiments, the ranging and positioning method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 600 via the ROM 602 and / or the communication unit 609. In some embodiments, the computing unit 601 can be configured to perform the ranging and positioning method by any other appropriate means (e.g., by means of firmware).
[0197] The program code for implementing the methods of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable distance measurement and positioning device, so that when the program code is executed by the processor or controller, the functions / operations specified in the flow charts and / or block diagrams are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0198] In the context of the present application, a machine-readable medium can be a tangible medium that can contain or store a program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0199] As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., a magnetic disk, an optical disk, a memory, a programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0200] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0201] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0202] Computer systems may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The client and server relationship arises through computer programs running on the respective computers and having a client-server relationship to each other.
[0203] Furthermore, it should be understood that what is disclosed above is only a preferred embodiment of the present application, and certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A ranging and positioning method, characterized in that Including: Receiving a first secret key sent by a device to be located, and determining a second secret key based on the first secret key; Sending the second secret key to N broadcast receiving devices, so that each of the N broadcast receiving devices decrypts the encrypted broadcast sent by the device to be located based on the second secret key to determine ranging calculation information. The ranging calculation information of a broadcast receiving device includes: the signal strength of the encrypted broadcast on the corresponding broadcast receiving device or the ranging result of the corresponding broadcast receiving device. The ranging result of a broadcast receiving device is used to indicate the distance between the corresponding broadcast receiving device and the device to be located, and N is a positive integer; Receiving the ranging calculation information sent by each of the broadcast receiving devices, and calculating the position information of the device to be located based on the received ranging calculation information.
2. The method according to claim 1, wherein, The first secret key is transmitted through a first secure connection, and the first secure connection supports encrypted connection and / or encrypted transmission.
3. The method according to claim 1 or 2, characterized in that, The second secret key is sent to each of the broadcast receiving devices through a second secure connection, so that each of the broadcast receiving devices updates the local secret key with the second secret key; Wherein, the local secret key in a broadcast receiving device is used for: the corresponding broadcast receiving device decrypts the currently received broadcast.
4. The method according to claim 1 or 2, characterized in that, The second secret key is determined through a central secret key update policy, and the central secret key update policy includes at least one of the following: equivalent secret key update policy, sequential secret key update policy, and transformed secret key update policy; The determining the second secret key based on the first secret key includes: If the central secret key update policy includes the equivalent secret key update policy, using the first secret key as the second secret key; Or, If the central secret key update policy includes the sequential secret key update policy, determining a secret key from the first secret key according to the sequence order corresponding to the first secret key, and using the determined secret key as the second secret key; or, If the central secret key update policy includes the transformed secret key update policy, determining a central secret key transformation method, and transforming the first secret key into the second secret key according to the central secret key transformation method; or, If the central secret key update policy includes the sequential secret key update policy and the transformed secret key update policy, determining a secret key from the first secret key according to the sequence order corresponding to the first secret key to obtain the determined secret key, and transforming the determined secret key into the second secret key according to the central secret key transformation method.
5. The method according to claim 1 or 2, characterized in that, The calculating the position information of the device to be located based on the received ranging calculation information includes: Calculating the position information of the device to be located based on the received M pieces of ranging calculation information, where M is a positive integer less than or equal to N; or, Determine the central ranging calculation information, and calculate the position information of the device to be located based on the received ranging calculation information and the central ranging calculation information. The central ranging calculation information includes the signal strength of the encrypted broadcast on the central broadcast receiving device or the central ranging result, and the central ranging result is used to indicate the distance between the central broadcast receiving device and the device to be located.
6. The method according to claim 1 or 2, characterized in that, The first secret key is updated according to a first update frequency; and / or, the second secret key is updated according to a second update frequency.
7. The method according to claim 1 or 2, characterized in that, The first secret key is determined based on an initial secret key, the initial secret key is randomly generated, and the initial secret key is generated according to an initial generation frequency.
8. A ranging and positioning method, characterized in that, including: Generate an initial secret key, and determine a first secret key based on the initial secret key; Send the first secret key to the central broadcast receiving device, so that the central broadcast receiving device sends a second secret key to each of the N broadcast receiving devices based on the first secret key, where N is a positive integer; Send an encrypted broadcast, so that each of the broadcast receiving devices receives the encrypted broadcast and decrypts the encrypted broadcast based on the second secret key to determine the ranging calculation information; wherein, the central broadcast receiving device supports receiving the ranging calculation information sent by each of the broadcast receiving devices and the ranging calculation information received by the central broadcast receiving device is used for: calculating the position information of the device to be located.
9. The method according to claim 8, characterized in that, The generating the initial secret key includes: Determine a random number generation method, and generate at least one random number according to the random number generation method, so as to use the generated random number as the initial secret key; or, Determine a secret key sequence generation method, and generate a secret key sequence according to the secret key sequence generation method, so as to use the generated secret key sequence as the initial secret key.
10. The method according to claim 8 or 9, characterized in that The first secret key is determined based on a secret key update strategy for the device to be located, and the secret key update strategy for the device to be located includes at least one of the following: equivalent secret key update strategy, sequence secret key update strategy, and conversion secret key update strategy; The determining the first secret key based on the initial secret key includes: If the secret key update strategy for the device to be located includes the equivalent secret key update strategy, use the initial secret key as the first secret key; or, If the secret key update strategy for the device to be located includes the sequence secret key update strategy, select a secret key from the initial secret keys according to the sequence order corresponding to the initial secret key, and use the selected secret key as the first secret key; or, If the secret key update strategy for the device to be located includes the conversion secret key update strategy, determine a secret key conversion method for the device to be located, and convert the initial secret key into the first secret key according to the secret key conversion method for the device to be located; or, If the secret key update strategy for the device to be located includes the sequence secret key update strategy and the conversion secret key update strategy, select a secret key from the initial secret keys according to the sequence order corresponding to the initial secret key to obtain the selected secret key, and convert the selected secret key into the first secret key according to the secret key conversion method for the device to be located.
11. The method according to claim 8 or 9, characterized in that, The first key is transmitted through a first secure connection, and the first secure connection supports encrypted connection and / or encrypted transmission; and / or, the second key is sent to each broadcast receiving device through a second secure connection.
12. The method according to claim 8 or 9, characterized in that, The first key is updated according to a first update frequency; and / or, the second key is updated according to a second update frequency; and / or, the initial key is generated according to an initial generation frequency.
13. A ranging and positioning method, characterized in that, Comprising: Receiving the second key sent by the central broadcast receiving device and receiving broadcasts; wherein, the second key is transmitted by the central broadcast receiving device through a second secure connection; Based on the second key, decrypting the received broadcast and determining ranging calculation information; Returning the ranging calculation information to the central broadcast receiving device so that the central broadcast receiving device calculates the position information of the device to be located based on the received ranging calculation information.
14. The method according to claim 13, wherein The method further comprises: Judging whether the decryption is correct; If the decryption is correct, triggering the execution of the determination of the ranging calculation information; If the decryption is incorrect, discarding the received broadcast.
15. The method according to claim 13 or 14, characterized in that, The second key is determined based on the first key; and / or, the first key is transmitted through a first secure connection, and the first secure connection supports encrypted connection and / or encrypted transmission.
16. The method according to claim 15, wherein The first key is determined based on an initial key, and the initial key is randomly generated; Wherein, the first key is updated according to a first update frequency; and / or, the second key is updated according to a second update frequency; and / or, the initial key is generated according to an initial generation frequency.
17. A positioning system, characterized in that, The positioning system includes a central broadcast receiving device and N broadcast receiving devices, where N is a positive integer; Wherein, the central broadcast receiving device is used to execute the method according to any one of claims 1-7, and each of the N broadcast receiving devices is used to execute the method according to any one of claims 13-16.
18. A chip, characterized in that, Comprising: A processor; And A memory storing a program, Wherein, the program includes instructions, and when the instructions are executed by the processor, the processor executes the method according to any one of claims 1-7; or, when the instructions are executed by the processor, the processor executes the method according to any one of claims 8-12; or, when the instructions are executed by the processor, the processor executes the method according to any one of claims 13-16.
19. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause a computer to execute the method according to any one of claims 1-7; or, the computer instructions are used to cause a computer to execute the method according to any one of claims 8-12; or, the computer instructions are used to cause a computer to execute the method according to any one of claims 13-16.
Citation Information
Patent Citations
Distance measuring location system and device and signal transmitting method
CN103813443A
Anti-attack encrypting positioning method and device of wireless sensor network
CN105491562A
Ranging method and device, communication equipment and storage medium
CN115606216A
Distance measurement positioning method, positioning system, chip and storage medium
CN117768881A
Correction information integrity monitoring in navigation satellite system positioning methods, systems, and devices
US20200096649A1