Depending on multiple receivers on password values
By generating cryptographic values and reusable keys based on shared secrets, the problems of limited message size and insufficient security in wireless communications are solved, and efficient and secure communication between multiple receivers is achieved.
Patent Information
- Application Number
- CN202510922259.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-07-05
- Filing Date
- 2025-07-04
- Publication Date
- 2025-09-26
AI Technical Summary
When establishing secure communications, existing wireless communication technologies have limited message size and difficulty in transmitting through multiple receivers, and lack effective security measures to prevent third parties from eavesdropping or tampering with information.
By generating a cryptographic value based on a shared secret, a reusable key is generated, and the key is used as a public key for encryption and decryption, wireless communication of individual group elements is achieved, message size is reduced, and security is enhanced.
This significantly reduces message size, improves security, and prevents information from being stolen by third parties. It is suitable for low-power wireless communication technologies such as Bluetooth™ low energy.
Smart Images

Figure CN120710671A_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application Serial No. 63 / 667,976, filed on July 5, 2024, the disclosure of which is incorporated herein by reference in its entirety. Background Art
[0002] Some electronic devices use radio frequency (RF) signals to communicate information. These RF signals enable users to chat with friends, download information, share pictures, make electronic payments, remotely control home appliances, and more. Protecting the information carried by RF signals from third parties can be challenging. Without appropriate security measures, third parties can extract information from RF signals and use this information to impersonate users, gain unauthorized access to networks, eavesdrop on conversations, violate users' privacy, perform destructive or illegal activities under the user's identity, and more. Summary of the Invention
[0003] Techniques and devices for piggybacking multiple receivers on a cryptographic value are described. In one example aspect, an agent (e.g., a sender) generates a cryptographic value based on a shared secret with an owner. The agent uses the cryptographic value to generate a reusable key. To establish secure communication with the owner via multiple receivers, the reusable key serves as a public key for decryption performed by the second receiver. Additionally, the reusable key serves as a public key for encryption performed by the first receiver. In this sense, the first and second receivers piggyback on the cryptographic value generated by the sender. This piggybacking enables a first message to be sent by the agent using a single group element (e.g., the reusable key), which can significantly reduce the size of the first message compared to other techniques that involve sending multiple group elements (e.g., a first public key for encryption performed by the first receiver and a second public key for decryption performed by the second receiver). Using a single group element, the first message can be sent using a relatively small message size wireless communication technology, such as Bluetooth™ Low Energy.
[0004] Aspects described below include a method performed by an agent (e.g., a transmitter) for relying on multiple receivers on a cryptographic value. The method includes establishing a shared secret with an owner of the agent. The method also includes generating the cryptographic value using a pseudorandom function and the shared secret. The method additionally includes generating a reusable key based on the cryptographic value. The method also includes broadcasting a message including the reusable key. The reusable key is to be used by a first receiver for encryption and forwarded by the first receiver to a second receiver, and the reusable key is to be used by the second receiver for decryption.
[0005] Aspects described below include a method performed by a first receiver (e.g., an observer) for relying on multiple receivers on a cryptographic value. The method includes receiving a first message from an agent including encrypted first information and a reusable key. The reusable key is derived from a shared secret between the agent and an owner. The method also includes encrypting second information using the reusable key. The method additionally includes forwarding the first message to a second receiver. The method further includes sending the encrypted second information to the second receiver.
[0006] The various aspects described below also include a device including a transceiver and a processor. The device is configured to use the transceiver and the processor to perform any of the described methods.
[0007] Aspects described below include a computer-readable storage medium comprising computer-executable instructions that, in response to being executed by a processor, cause an apparatus to perform any one of the described methods.
[0008] Aspects described below also include a system having means for relying on a plurality of receivers on a cryptographic value. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Devices and techniques for relying on multiple receivers for cryptographic values are described with reference to the following figures. Throughout the figures, like reference numerals are used to reference like features and components: Figure 1 shows an example environment in which relying on multiple receivers on cryptographic values can be implemented; Figure 2 An example cryptographic key for relying on multiple receivers on a cryptographic value is shown; Figure 3 shows an example transaction for relying on multiple receivers on a cryptographic value; Figure 4 A first example method for performing aspects of relying on multiple receivers on cryptographic values is shown; Figure 5 A second example method for performing aspects of relying on multiple receivers on cryptographic values is shown; Figure 6 An example agent for performing aspects of relying on multiple receivers on cryptographic values is shown; and Figure 7 An example network device for performing aspects of relying on multiple receivers on cryptographic values is shown. DETAILED DESCRIPTION
[0010] Without appropriate security measures, information carried by RF signals could be accessed by third parties. To address this issue, wireless communications can use cryptography to encrypt information carried by RF signals. This encryption can make it challenging for third parties to extract the information. However, wireless communication standards may limit the size (e.g., length or duration) of messages sent. This size constraint makes it challenging to convey appropriate information so that secure communication can be established between the agent and the owner through multiple receivers.
[0011] Some technologies use segmentation to address this issue. Segmentation involves breaking down the information being transmitted into smaller chunks. Smaller chunks enable wireless communication technologies to transmit information across multiple messages. One challenge with segmentation is that it adds additional complexity at the receiver. Furthermore, it limits the receiver's mobility, as it needs to remain within the transmitter's communication range in order to receive information across multiple messages.
[0012] To address these challenges, a technique for relying on cryptographic values for multiple receivers is described. In one example, an agent (e.g., a sender) generates a cryptographic value based on a shared secret with an owner. The agent uses the cryptographic value to generate a reusable key. To establish secure communication with the owner via multiple receivers, the reusable key serves as a public key for decryption performed by the second receiver. Additionally, the reusable key serves as a public key for encryption performed by the first receiver. In this sense, the first and second receivers rely on the cryptographic value generated by the sender. This relying enables the agent to send a first message using a single group element (e.g., the reusable key), which can significantly reduce the size of the first message compared to other techniques that involve sending multiple group elements (e.g., a first public key for encryption performed by the first receiver and a second public key for decryption performed by the second receiver). Using a single group element, the first message can be sent using wireless communication technologies with relatively small message sizes, such as Bluetooth™ Low Energy (Bluetooth™ LE or BLE), without employing fragmentation techniques. Operating Environment
[0013] Figure 11 is an illustration of an example environment 100 in which relying on multiple receivers for cryptographic values can be implemented. Environment 100 includes an agent 102, an observer 104, a parser 106, and an owner 108. Agent 102, observer 104, parser 106, and owner 108 each include at least one device. In this example, agent 102 is a device, observer 104 is a (separate) device, parser 106 is a (separate) device or includes multiple devices, and owner 108 is a (separate) device. Agent 102 is a device that is associated with owner 108 through a pairing process. In some cases, agent 102 enables owner 108 to track the location of a real-world object, such as a set of keys, a wallet, a vehicle, etc. In other cases, agent 102 collects environmental data for owner 108.
[0014] The agent 102 can be designed for power efficiency, thereby achieving longer operating durations between recharges. Designing for power efficiency can also enable the agent 102 to operate with a smaller battery, which can reduce the cost and overall size of the agent 102. To achieve a lower power consumption rate, some agents 102 utilize low-power wireless communication technology, such as Bluetooth™ Low Energy. As further described below, other types of low-power wireless communication technology may be used instead. Where low-power wireless communication technology is utilized, the agent 102 can send messages to the owner 108 via multiple receivers, as further described below.
[0015] Designing for power efficiency may result in agents 102 having fewer features and / or capabilities. For example, some agents 102 may not include a Global Navigation Satellite System (GNSS) receiver. As a result, these agents 102 may not be able to determine their location.
[0016] The agent 102 may also be referred to as a sender 110. The agent 102 stores first information 112 that can be used by another entity (e.g., the resolver 106) to identify the owner 108. In other words, the first information 112 includes identity information of the owner 108. For example, the identity information uniquely identifies the owner 108 (e.g., among multiple owner devices). Alternatively, the first information 112 may include information to be sent (e.g., forwarded) to the owner 108.
[0017] In some cases, the agent 102 cannot communicate directly with the owner 108. For example, the owner 108 may be too far away from the agent 102 to directly receive the message sent by the agent 102. For these types of situations, the agent 102 may instead forward the information through multiple entities (e.g., multiple receivers) such as the observer 104 and the resolver 106.
[0018] The observer 104 is a device, such as a smartphone, that is capable of receiving transmissions from the agent 102 when it is in proximity to the agent 102 (e.g., when it is within communication range of the agent 102). In the context of establishing communication between the agent 102 and the owner 108, the observer 104 represents (or, for example, is) a first receiver 114. Other terms may also be used to refer to the observer 104, including gateway or observer. The observer 104 may store second information 116, which may include a location of the observer 104 (e.g., location information). In some implementations, the observer 104 includes a global navigation satellite system receiver capable of determining (and updating) the location of the observer 104.
[0019] The resolver 106 can be a device such as a server, or a collection of devices forming a cloud-based service. Generally speaking, the resolver 106 is capable of receiving transmissions from the observer 104 and communicating with the owner 108. The resolver 106 can perform a resolution service to identify the owner 108 associated with the agent 102. In the context of establishing communication between the agent 102 and the owner 108, the resolver 106 represents (or, for example, is) a second receiver 118.
[0020] An owner 108 is another device, such as a smartphone or any other type of computing system, that is paired with the agent 102. Some owners 108 may be paired with multiple agents 102. The owner 108 is able to communicate with the agent 102 and the resolver 106. In an example implementation, the owner 108 may communicate directly with the agent 102 using Bluetooth™ low energy and may communicate directly with the resolver 106 using Internet Protocol (IP).
[0021] The owner 108 may include an application that collects information about the location of the agents 102 and / or collects information sent by the agents 102. In some implementations, the owner 108 includes a machine learning model that uses the information provided by the agents 102 as input.
[0022] During an initialization or setup phase, the agent 102 is associated or linked with the owner 108 through a pairing process. During operation, the agent 102 broadcasts (e.g., transmits) first information 112, as indicated at 122. The broadcast can be wireless. The broadcast can be performed using a radio frequency signal. The observer 104 receives the first information 112 and forwards the first information 112 to the resolver 106 via the Internet 124. In this example, the Internet 124 represents any combination of wired and / or wireless, local area network, and / or wide area network that interconnects the observer 104, the resolver 106, and / or the owner 108. In addition to forwarding the first information 112, the observer 104 can also send second information 116 to the resolver 106 via the Internet 124.
[0023] The resolver 106 identifies the owner 108 based on the first information 112 provided by the agent 102. Furthermore, the resolver 106 forwards at least a portion of the first information 112 and / or at least a portion of the second information 116 to the owner 108. The owner 108 receives the information forwarded by the resolver 106. In various examples, the owner 108 may use the forwarded information to identify the location of the agent 102 and / or determine information about the environment surrounding the agent 102. These examples are described further below.
[0024] Consider an example project-finding system. In this example, agent 102 is a beacon capable of transmitting beacon packets (e.g., advertising packets) to observer 104 using Bluetooth™ Low Energy. Observer 104 can be another device that is at least temporarily within range of agent 102 and receives at least one of the transmitted beacon packets. Upon receiving the transmitted beacon packet from agent 102, observer 104 forwards the beacon packet (e.g., first information 112) and the location of observer 104 (e.g., second information 116) to resolver 106. Resolver 106 identifies owner 108 based on the beacon packet and forwards the location of observer 104 to owner 108. Using this information, owner 108 can determine at least an approximate location of agent 102.
[0025] Consider another example where the agent 102 is capable of sensing (e.g., measuring or collecting) information about its surrounding environment. For example, the agent 102 may include a temperature sensor and / or a humidity sensor (or Figure 6 In this case, the sensor data forms at least a portion of first information 112 and is intended to be communicated to owner 108. This portion of first information 112 may be referred to as context information. Context information may also include other information, such as the time associated with the data. The data is forwarded to owner 108 via observer 104 and parser 106.
[0026] The owner 108 can use this data to provide additional information to the user. For example, the owner 108 can provide this data as input to a machine learning model. Using the machine learning model, the owner 108 can generate a local weather forecast for the location of the agent 102. In some cases, the observer 104 can send its location to the owner 108 via the resolver 106. In this case, the owner 108 can provide the observer's 104 location as input to the machine learning model to further improve the accuracy of the local weather forecast.
[0027] Although the above discussion often refers to Bluetooth™ low energy, Bluetooth™ low energy is an example wireless technology mentioned for explanation purposes. The described techniques for relying on multiple receivers for cryptographic values can also be applied in a similar manner to other wireless technologies (e.g., ultra-wideband (UWB), wireless local area network (WLAN), near field communication (NFC), personal area network (PAN), IEEE 802.15.4, ZigBee, Thread, etc.).
[0028] To prevent malicious actors from obtaining the first information 112 and / or the second information 116, the agent 102, the observer 104, and the resolver 106 can employ cryptography. This enables communications from the agent 102 to the owner 108 to be anonymized (by hiding the identities of both the agent 102 and the owner 108). The routing system (e.g., the resolver 106) can resolve the anonymity to the identification of the owner 108 to connect the agent 102 to the owner 108. The observer 104 can be any intermediary device that receives transmissions from the agent 102 and, despite the anonymity, forwards (or transmits) the information to the owner 108. Transmissions from the observer 104 remain secure from the resolver 106 (and any other network nodes) in addition to the owner 108.
[0029] In order to reduce the size of the transmission at the agent 102 while enabling secure communication to be established, reference Figure 3 Techniques for relying on multiple receivers for cryptographic values are further described. These techniques include reusing a local public key generated at the agent and based on a secret key shared between the agent 102 and the owner 108, as described in reference to Figure 2 Further described. Relying on multiple receivers on password values
[0030] Figure 2 204 and generates a public key (g) based on the private key 204. z ) 206. The agent 102 receives the public key 206 from the resolver 106 indirectly or directly.
[0031] To perform aspects of relying on multiple receivers on a cryptographic value, agent 102 and owner 108 each generate a cryptographic value (w) 208 based on shared secret 202. Cryptographic value 208 represents a temporary identifier because it may change over time (e.g., every few minutes, multiple times a day, etc.).
[0032] The agent 102 and the owner 108 also generate a key based on the password value 208, in this example a reusable key (g w ) 210. In particular, the agent 102 and the owner 108 use asymmetric cryptographic techniques to generate the reusable key 210 based on the cryptographic value 208. In this sense, the cryptographic value 208 represents a private key, and the reusable key 210 represents a public key derived from the private key.
[0033] The agent 102 broadcasts the reusable key 210 to the observer 104. Using the reusable key 210, the observer 104 can also communicate private information to the owner 108. In particular, the observer 104 can use the reusable key 210 to perform encryption, as indicated at 212. In this case, the observer 104 uses the reusable key 210 as a private key for performing encryption.
[0034] The observer 104 forwards the reusable key 210 to the resolver 106. Using the reusable key 210, the resolver 106 can resolve the identity of the owner 108. To identify the owner 108, the resolver 106 (re)uses the reusable key 210 to perform decryption, as indicated at 214. More specifically, the resolver 106 uses the reusable key 210 as a public key to decrypt the information sent by the agent 102 via the observer 104.
[0035] Because the reusable key 210 is derived from the cryptographic value 208, the first receiver 114 and the second receiver 118 rely on the cryptographic value 208 generated by the agent 102 to perform encryption and decryption, respectively. This reliance enables the first message to be sent by the agent 102 using a single group element (e.g., the reusable key 210), which can significantly reduce the size of the first message compared to other techniques that involve sending multiple group elements (e.g., a first public key for encryption performed by the first receiver and a second public key for decryption performed by the second receiver). In some examples, the size of the message with a single group element can be at least 40% smaller than other messages with two group elements. Using a single group element, the first message can be sent using a wireless communication technology with a relatively small message size, such as Bluetooth™ Low Energy, without employing fragmentation techniques. Reference Figure 3 An example transaction between agent 102, observer 104, resolver 106, and owner 108 is further described.
[0036] Figure 3An example transaction for relying on multiple receivers for a cryptographic value is shown. At 302, the agent 102 and the owner 108 perform a pairing process. During the pairing process, the agent 102 and the owner 108 initiate a common state and agree on a shared secret 202. Establishing the shared secret by the agent 102 and the owner 108 (of the agent) can be performed by the agent 102 performing a pairing process with the owner 108. The pairing process can be performed in a secure physical environment based on proximity and the absence of other nearby devices to ensure that the shared secret 202 is known only to the agent 102 and the owner 108. Generally speaking, the pairing process enables messages broadcast by the agent 102 to be associated with the owner 108.
[0037] At 304 and 306, the agent 102 and the owner 108 generate a reusable key 210 based on the shared secret 202. Based on the common state, the agent 102 and the owner 108 can determine a common rotating key based on a pseudorandom function (PRF). The pseudorandom function can ensure that messages sent by the agent 102 are inaccessible to any entity other than the owner 108 and the resolver 106. More specifically, the agent 102 and the owner 108 apply the pseudorandom function (PRF) to generate a cryptographic value 208 based on a time element and the shared secret 202, as shown in Equation 1 below. The time element may represent the current time, a function of the current time, or the value of a counter. By using a pre-agreed pseudo-random function, the agent 102 may utilize an algorithmic approach to enable the observer 104 to secure the channel to the owner 108 without requiring the observer 104 to know who the owner 108 is or to have access to the owner 108.
[0038] To generate the reusable key 210, the agent 102 and the owner 108 may use a cryptographic algorithm, such as an algorithm based on Diffie-Hellman (DH) (e.g., an algorithm based on elliptic curve DH). For example, the reusable key 210 may be generated as part of a calculation for a Diffie-Hellman Integrated Encryption Scheme (DHIES), which will be described further below.
[0039] At 308, the agent 102 encrypts the first information 112 using the cryptographic value 208 and the public key 206. For example, the agent 102 uses the Diffie-Hellman integrated encryption scheme to encrypt the first information 112. More specifically, the agent 102 applies a key derivation function (KDF) to generate a first key (K1), as shown in Equation 2 below. Using the first key, the agent 102 encrypts the first information 112 to generate encrypted first information (e1) 310, as shown in Equation 3 below. variable represents the first information 112, and ENC represents a symmetric encryption function. In this example, the reusable key 210 represents a temporary private key used in the Diffie-Hellman integrated encryption scheme, and the public key 206 represents a public key used in the Diffie-Hellman integrated encryption scheme.
[0040] At 312, the agent 102 broadcasts (e.g., sends) a first message 314. The first message 314 includes the encrypted first information 310 and the reusable key 210. In this sense, the first message 314 includes the symmetric encryption (e.g., the encrypted first information 310) and a group element (e.g., the reusable key 210).
[0041] First message 314 does not include another public key. Thus, first message 314 can have a smaller size than other messages that include symmetric encryption with two group elements (e.g., a public key for encryption via observer 104 and a public key for decrypting the encrypted first information 310). Moreover, first message 314 can be sent without fragmentation using a wireless technology that supports smaller message sizes, such as Bluetooth™ Low Energy. In other words, a single exchange can occur to transfer first message 314 from agent 102 to observer 104. In an example, the content of first message 314 can have a size of approximately 256 bytes or less. The broadcasted first message 314 can be received by one or more observers 104 located near agent 102. In this example, observer 104 receives first message 314.
[0042] At 316, the observer 104 performs encryption using the second cryptographic value (a) 318 and the reusable key 210. More specifically, the observer 104 generates the second cryptographic value 318 using a random number generator. The second cryptographic value 318 may represent a temporary identifier. The observer 104 generates a public key (g) based on the second cryptographic value 318 using a cryptographic algorithm such as a Diffie-Hellman (DH)-based algorithm. a ) 320.
[0043] At 316, the agent 102 encrypts the second information 116 using the second cryptographic value 318 and the reusable key 210. For example, the agent 102 encrypts the second information 116 using the Diffie-Hellman integrated encryption scheme. In this case, the second cryptographic value 318 represents a temporary private key, and the reusable key 210 represents a pseudo-random public key. In more detail, the agent 102 applies a key derivation function to generate the second key (K2), as shown in Equation 4 below. Using the second key, the agent 102 encrypts the second information 116 to generate encrypted second information (e2) 322, as shown in Equation 5 below. variable represents the second information 116, and ENC represents a symmetric encryption function. In this example, the second cryptographic value 318 represents a temporary private key used in the Diffie-Hellman integrated encryption scheme, and the reusable key 210 represents a public key used in the Diffie-Hellman integrated encryption scheme.
[0044] At 324, the observer 104 sends a second message 326 to the parser 106. The second message 326 includes the encrypted first information 310, the reusable key 210, the encrypted second information 322, and the public key 320.
[0045] At 328, the parser 106 decrypts the encrypted first information 310 using the private key 204 and the reusable key 210. More specifically, the parser 106 applies a key derivation function to reconstruct the first key The parser 106 is able to reconstruct the first key , because it has the private key 204 and because the reusable key 210 is forwarded to it via the observer 104. Using the first key , the resolver 106 decrypts the encrypted first information 310 to resolve the identity of the owner 108, as shown in Equation 6 below.
[0046] The decryption performed at 328 enables the parser 106 to recover the first message 314 broadcast by the agent 102. Using the first information 310, the parser 106 can associate the broadcast of the agent 102 with the owner 108 without having to use a large table (or multiple tables) that maps every possible key sent by the agent (e.g., over the course of a day) to the owner of the agent.
[0047] At 330, resolver 106 sends a third message 332 to owner 108. Third message 332 includes encrypted second information 322 and public key 320. In this example, resolver 106 does not have access to the content of second encrypted message 322, which is intended for owner 108.
[0048] At 334, the owner 108 uses the cryptographic value 208 and the public key 320 to decrypt the encrypted second information 322. More specifically, the owner 108 applies a key derivation function to reconstruct the second key The owner 108 is able to reconstruct the second key Because it has the cryptographic value 208 and because the public key 320 is forwarded to it via the parser 106. Using the second key , the parser 106 decrypts the encrypted second information 322 as shown in Equation 7 below.
[0049] The owner 108 can provide the decrypted second information 116 to an application running on the owner 108. In various examples, the application can display the second information 116 or use the second information 116 to generate other information, such as described above with reference to Figure 1 Describe the weather forecast.
[0050] The techniques for relying on multiple receivers on a cryptographic value are applicable when utilizing many other standardized and non-standardized cryptographic algorithms. Although the above discussion often refers to Diffie-Hellman-based algorithms or operations, Diffie-Hellman-based algorithms are an example type of cryptography mentioned for explanation purposes. The described techniques for relying on multiple receivers on a cryptographic value can also be applied to other types of cryptography.
[0051] It can also be combined with other security techniques, such as backward security. Backward security modification Figure 3 , so that the observer 104 is provided with a public key whose corresponding private key is hidden from the agent 102. This ensures that if the agent 102 is compromised, the encryption at the observer 104 remains secure. To provide backward security, the owner 108 generates a private key and provides the corresponding public key to the agent 102. The agent 102 generates a reusable key 210 based on this public key and the cryptographic value 208. Example Method
[0052] Figure 4 and Figure 5Depicted are example methods 400 and 500 for relying on multiple receivers on a cryptographic value. Methods 400 and 500 are shown as a set of operations (or actions) performed, but are not necessarily limited to the order or combination of operations shown herein. Further, any of one or more of the operations may be repeated, combined, reorganized, or chained to provide a wide range of additional methods and / or alternative methods. In the following discussion, reference may be made to Figure 1 Environment 100, and Figure 2 and Figure 3 While the entities described in detail in the present disclosure are referenced by way of example only, the techniques are not limited to being performed by one entity or multiple entities operating on one device.
[0053] exist Figure 4 402, establish a shared secret with an owner (e.g., an owner device), which may be the owner of the agent and / or associated with the agent (e.g., an agent device). For example, the agent 102 and the owner 108 perform a pairing process to establish the shared secret 202, such as Figure 3 The 302 location indicated.
[0054] At 404, a cryptographic value is generated using the pseudorandom function and the shared secret. For example, the agent 102 generates the cryptographic value 208 using the pseudorandom function and the shared secret 202, as shown in Equation 1.
[0055] At 406, a reusable key is generated based on the password value. For example, the agent 102 generates the reusable key 210 based on the password value 208, such as Figure 3 The 304 location indicated in the.
[0056] At 408, a message including the reusable key is broadcast. The reusable key will be used by the first receiver (and is configured to be used by the first receiver) for encryption and forwarded by the first receiver to the second receiver. Furthermore, the reusable key will be used by the second receiver (and is configured to be used by the second receiver) for decryption. For example, the agent 102 broadcasts the first message 314 including the reusable key 210, as shown in FIG. Figure 3 The reusable key 210 will be used by the observer 104 (eg, the first receiver 114) for encryption, as shown at 312 in FIG. Figure 3 More specifically, the observer 104 encrypts the second information 116 using the reusable key 210, as shown in Equations 4 and 5. Additionally, the observer 104 forwards the reusable key 210 to the parser 106 (eg, the second receiver 118).
[0057] The reusable key 210 will also be used by the parser 106 for decryption, such as Figure 3More specifically, the parser 106 reconstructs the first key based on the reusable key 210 and the private key 204. . Using the reconstructed first key , the parser 106 decrypts the encrypted first information 310, as shown in Equation 6.
[0058] exist Figure 5 At 502, a first message including encrypted first information and a reusable key is received from an agent. For example, observer 104 receives first message 314 from agent 102, the first message including encrypted first information 310 and reusable key 210. The encrypted first information is encrypted using cryptographic value 208 derived from shared secret 202 between agent 102 and owner 108. Reusable key 210 is derived from cryptographic value 208.
[0059] At 504, the second information is encrypted using the reusable key. For example, the observer 104 encrypts the second information 116 using the reusable key 210, such as Figure 3 More specifically, the observer 104 applies a cryptographic technique (eg, DHIES) to encrypt the second information 116 based on the reusable key 210 serving as a temporary private key. The encryption of the second information 116 is described with respect to equations 4 and 5.
[0060] At 506, the first message is forwarded to the second receiver. For example, the observer 104 forwards the first message 314 (eg, the content of the first message 314) to the parser 106, such as Figure 3 Indicated at 324 places.
[0061] At 508, the encrypted second information is sent to the second receiver. For example, the observer 104 sends the encrypted second information 322 to the parser 106, such as Figure 3 In some cases, the forwarding of the first message 314 and the sending of the encrypted second information 322 may occur together (eg, as part of a single exchange).
[0062] Utilizing these example methods, the agent 102 can utilize a single group element (e.g., the reusable key 210) to send the first message 314, which can significantly reduce the size of the first message 314 compared to other techniques that involve sending multiple group elements (e.g., a first public key for encryption performed by a first receiver and a second public key for decryption performed by a second receiver). Utilizing a single group element, the first message 314 can be sent using wireless communication technologies with relatively small message sizes, such as those associated with low-power wireless communication, without employing fragmentation techniques. Example low-power wireless communication technologies include Bluetooth™ low energy, ultra-wideband, wireless local area network, near field communication, personal area network (PAN), IEEE 802.15.4, ZigBee, or Thread.
[0063] It is worth noting that Figure 4 and Figure 5 The methods can be combined with each other. In the (combined) method, for example, the agent 102 performs Figure 4 The steps shown in FIG. 1 and the observer 104 executes Figure 5 The steps shown in . Example device
[0064] Figure 6 An example agent 102 is shown that is capable of at least partially performing aspects of relying on multiple receivers on cryptographic values. The agent 102 can be integrated with electronic circuitry, microprocessors, memory, input / output (I / O) logic control, communication interfaces and components, and other hardware, firmware, and / or software to implement an apparatus in a network.
[0065] In this example, the agent 102 includes one or more processors 602 (e.g., microcontrollers or digital signal processors) that process executable instructions. The agent 102 also includes input and output (I / O) logic control 604 (e.g., to include electronic circuitry). The processor 602 may include components of an integrated circuit, a programmable logic device, a logic device formed using one or more semiconductors, and other implementations in silicon and / or hardware, such as a processor and memory system implemented as a system on a chip (SoC). Alternatively or additionally, the agent 102 may be implemented using any one or a combination of software, hardware, firmware, or fixed logic circuitry, which may be implemented along with the processing circuitry and the control circuitry.
[0066] Optionally or alternatively, one or more sensors 606 may be included and implemented to detect various properties, such as acceleration, temperature, humidity, water, supplied power, proximity, external motion, device motion, sound signals, ultrasonic signals, light signals, fire, smoke, carbon monoxide, global positioning satellite (GPS) signals, radio frequency (RF), other electromagnetic signals or fields, etc. Thus, the sensors 606 may include any one or a combination of temperature sensors, humidity sensors, hazard-related sensors, other environmental sensors, accelerometers, microphones, optical sensors up to and including cameras (e.g., charge-coupled devices or video cameras), active or passive radiation sensors, GPS receivers, and radio frequency identification detectors. In an implementation, the agent 102 may include one or more primary sensors, and one or more auxiliary sensors, such as primary sensors that sense data most important to the core operation of the device (e.g., sensing temperature in a thermostat or sensing smoke in a smoke detector), while auxiliary sensors may sense other types of data (e.g., motion, light, or sound) that may be used for energy-saving or smart operation goals.
[0067] The agent 102 includes memory 608, such as any type of non-volatile memory and / or other suitable electronic data storage device. The agent 102 may also include various firmware and / or software, such as an operating system 610, which is maintained by the memory as computer-executable instructions and executed by the processor. The device software may also include a communication application 612 that facilitates communication with the observer 104 and the owner 108. Optionally or additionally, the agent 102 also includes a device interface 614 to interface with the owner 108, another device, and / or peripheral components. The agent 102 includes an integrated data bus 616 that couples the various components for data communication. The data bus may also be implemented as any one or a combination of different bus structures and / or bus architectures.
[0068] Device interface 614 can receive input from the user and / or provide information to the user (e.g., as a user interface), and the input received can be used to determine settings. Device interface 614 can also include mechanical or virtual components that respond to user input. For example, the user can mechanically move a sliding or rotatable component, or can detect motion along a touchpad, and such motion can correspond to the settings of the device. Physical and virtual movable user interface components can allow the user to set settings along a part of an apparent continuum. Device interface 614 can also receive input from any number of peripheral devices such as buttons, keyboards, switches, microphones, and imagers (e.g., camera devices).
[0069] The agent 102 may include a wireless radio system 618 for wireless communication. The wireless radio system 618 may include Wi-Fi™, Bluetooth™, Bluetooth™ Low Energy, mobile broadband, and / or point-to-point IEEE 602.15.4. The wireless radio system 618 may include a radio, antenna, and chipset implemented for a particular wireless communication technology. The agent 102 also includes a power source 620, such as a battery and / or connecting the device to line voltage. An AC power source may also be used to charge the device's battery.
[0070] Figure 7 An example network device 700 is shown that can be implemented as any of the observer 104, the resolver 106, or the owner 108. The network device 700 can be integrated with electronic circuitry, microprocessors, memory, input-output (I / O) logic controls, communication interfaces and components, and other hardware, firmware, and / or software to implement the device in a network.
[0071] In this example, network device 700 includes a low-power microprocessor 702 and / or a high-power microprocessor 704 (e.g., a microcontroller or digital signal processor) that processes executable instructions. The device also includes input / output (I / O) logic control 706 (e.g., to include electronic circuitry). The microprocessor may include components of an integrated circuit, a programmable logic device, a logic device formed using one or more semiconductors, and other implementations in silicon and / or hardware, such as a processor and memory system implemented as a system on a chip (SoC). Alternatively or additionally, the device may be implemented using any one or a combination of software, hardware, firmware, or fixed logic circuitry, which may be implemented along with processing circuitry and control circuitry. The low-power microprocessor 702 and the high-power microprocessor 704 may also support one or more different device functionalities of the device. For example, the high-power microprocessor 704 may perform computationally intensive operations, while the low-power microprocessor 702 may manage less complex processes such as detecting hazards or temperatures from one or more sensors 708. The low-power processor 702 may also wake up or initialize the high-power processor 704 to perform computationally intensive processes.
[0072] One or more sensors 708 may be included and implemented to detect various properties, such as acceleration, temperature, humidity, water, power supply, proximity, external motion, device motion, sound signals, ultrasonic signals, light signals, fire, smoke, carbon monoxide, global positioning satellite (GPS) signals, radio frequency (RF), other electromagnetic signals or fields, etc. Thus, sensors 708 may include any one or a combination of temperature sensors, humidity sensors, hazard-related sensors, other environmental sensors, accelerometers, microphones, optical sensors up to and including cameras (e.g., charge-coupled devices or video cameras), active or passive radiation sensors, GPS receivers, and radio frequency identification detectors. In an implementation, network device 700 may include one or more primary sensors, and one or more secondary sensors, such as primary sensors that sense data most important to the core operation of the device (e.g., sensing temperature in a thermostat or sensing smoke in a smoke detector), while secondary sensors may sense other types of data (e.g., motion, light, or sound) that may be used for energy-saving or smart operation goals.
[0073] Network device 700 includes a memory device controller 710 and a memory device 712, such as any type of non-volatile memory and / or other suitable electronic data storage device. Network device 700 may also include various firmware and / or software, such as an operating system 714, which is maintained as computer-executable instructions by the memory and executed by the microprocessor. The device software may also include a messaging application 716 that may implement aspects of using cryptographic values to communicate with multiple receivers. Network device 700 also includes a device interface 718 for interfacing with another device or peripheral component, and includes an integrated data bus 720 that couples the various components of the wireless network device to facilitate data communication between the components. The data bus in the wireless network device may also be implemented as any one or a combination of different bus structures and / or bus architectures.
[0074] Device interface 718 can receive input from the user and / or provide information to the user (e.g., as a user interface), and the input received can be used to determine settings. Device interface 718 can also include mechanical or virtual components that respond to user input. For example, the user can mechanically move a sliding or rotatable component, or can detect motion along a touchpad, and such motion can correspond to the settings of the device. Physical and virtual movable user interface components can allow the user to set settings along a part of an apparent continuum. Device interface 718 can also receive input from any number of peripheral devices such as buttons, keyboards, switches, microphones, and imagers (e.g., camera devices).
[0075] The network device 700 may include a network interface 722, such as a wireless network interface for communicating with other wireless network devices in a wireless network, and an external network interface for network communication, such as via the Internet 124. The network device 700 also includes a wireless radio system 724 for wirelessly communicating with other wireless network devices via the wireless network interface and for a plurality of different wireless communication systems. The wireless radio system 724 may include Wi-Fi™, Bluetooth™, Bluetooth™ Low Energy, mobile broadband, and / or point-to-point IEEE 802.15.4. Each of the different radio systems may include a radio device, antenna, and chipset implemented for a particular wireless communication technology. The network device 700 also includes a power supply 726, such as a battery and / or for connecting the device to line voltage. An AC power source may also be used to charge the battery of the device. in conclusion
[0076] Although techniques for, and devices including, relying on multiple receivers for cryptographic values have been described in language specific to features and / or methods, it should be understood that the subject matter of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations of relying on multiple receivers for cryptographic values.
[0077] Some examples are described below.
[0078] Example 1. A method performed by an agent, the method comprising: establishing a shared secret with an owner of the proxy; generating a cryptographic value using a pseudorandom function and the shared secret; generating a reusable key based on the cryptographic value; and A message is broadcast including the reusable key, which is to be used by the first receiver for encryption and forwarded by the first receiver to the second receiver, which is to be used by the second receiver for decryption.
[0079] Example 2. The method of Example 1, wherein: The message comprises a single group element; said single group element comprising said reusable key; and The message does not include another cryptographic key.
[0080] Example 3. The method of Example 1 or 2 further comprises: generating a first key using the cryptographic value and using a public key associated with the second receiver; and encrypting the first information using the first key, The message includes the encrypted first information and the reusable key, and the message is forwarded by the first receiver to the second receiver.
[0081] Example 4. The method of Example 3, wherein: said encrypting of said first information comprises encrypting said first information using a Diffie-Hellman integrated encryption scheme; The reusable key represents a temporary private key used in the Diffie-Hellman integrated encryption scheme; and The public key associated with the second receiver represents a public key used in the Diffie-Hellman integrated encryption scheme.
[0082] Example 5. The method of Example 3 or 4, wherein: The agent includes a beacon; The first receiver includes an observer; and The second receiver includes a parser.
[0083] Example 6. The method of Example 5, wherein: The first information includes identity information of the owner; The reusable key will be used by the observer to encrypt the observer's location information; and The reusable key will be used by the parser to decrypt the encrypted first information.
[0084] Example 7. The method of any preceding example, further comprising: generating environmental information using at least one sensor of the agent, The first information includes the environmental information.
[0085] Example 8. The method of any preceding example, wherein the size of the message enables the message to be broadcast in a single exchange.
[0086] Example 9. The method of Example 8, wherein: The broadcasting of the message comprises broadcasting the message using Bluetooth™ Low Energy; and The size of the message enables the message to be broadcast in the single exchange via Bluetooth™ Low Energy.
[0087] Example 10. The method of any preceding example, wherein the message does not include another key.
[0088] Example 11. A method performed by a first receiver, the method comprising: receiving, from an agent, a first message comprising encrypted first information and a reusable key, the encrypted first information being encrypted using a first cryptographic value derived from a shared secret between the agent and an owner of the agent, the reusable key being derived from the first cryptographic value; encrypting second information using the reusable key; forwarding the first message to a second receiver; and The encrypted second information is sent to the second receiver.
[0089] Example 12. The method of Example 11, wherein: The first message includes a single group element; and The single group element comprises the reusable key.
[0090] Example 13. The method of Example 12, wherein the message does not include another cryptographic key.
[0091] Example 14. The method of any one of Examples 11 to 13, further comprising: generating a second cryptographic value; generating a first public key using the second cryptographic value; and generating a key using the reusable key and using the second cryptographic value, in: The encryption of the second information comprises encrypting the second information using the key; and The forwarding of the first message and the sending of the encrypted second information includes sending a second message to the second receiver, the second message including the encrypted first information, the reusable key, the encrypted second information, and the first public key.
[0092] Example 15. The method of Example 14, wherein: said encrypting of said second information comprises encrypting said second information using a Diffie-Hellman integrated encryption scheme; The second cryptographic value represents a temporary private key used in the Diffie-Hellman integrated encryption scheme; and The reusable key represents a pseudo-random public key used in the Diffie-Hellman integrated encryption scheme.
[0093] Example 16. The method of Example 14 or 15, wherein the generating of the second cryptographic value comprises generating a random number.
[0094] Example 17. The method of any one of Examples 11 to 16, wherein the encrypted first information is encrypted using a second public key of the second receiver and using the first cryptographic value associated with the reusable key.
[0095] Example 18. The method of any one of Examples 11 to 17, wherein: The receiving of the message comprises receiving the message using Bluetooth™ Low Energy; and The size of the message enables the message to be received in a single exchange via the Bluetooth™ Low Energy.
[0096] Example 19. An apparatus comprising: transceiver; and A processor is coupled to the transceiver, the apparatus being configured to perform any of the methods of Examples 1 to 18 using the transceiver and the processor.
[0097] Example 20. A computer-readable storage medium comprising instructions that, in response to being executed by a processor, cause an apparatus to perform any of the methods of Examples 1 to 18.
Claims
1. A method performed by an agent, the method comprising: establishing a shared secret with an owner of the proxy; generating a cryptographic value using a pseudorandom function and the shared secret; generating a reusable key based on the cryptographic value; as well as A message is broadcast including the reusable key, which is to be used by the first receiver for encryption and forwarded by the first receiver to the second receiver, which is to be used by the second receiver for decryption.
2. The method of claim 1, wherein: The message comprises a single group element; and The single group element comprises the reusable key.
3. The method of claim 1, further comprising: generating a first key using the cryptographic value and using a public key associated with the second receiver; as well as encrypting the first information using the first key, The message includes the encrypted first information and the reusable key, and the message is forwarded by the first receiver to the second receiver.
4. The method of claim 3, wherein: said encrypting of said first information comprises encrypting said first information using a Diffie-Hellman integrated encryption scheme; The reusable key represents a temporary private key used in the Diffie-Hellman integrated encryption scheme; and The public key associated with the second receiver represents a public key used in the Diffie-Hellman integrated encryption scheme.
5. The method of claim 3, wherein: The agent includes a beacon; The first receiver includes an observer; and The second receiver includes a parser.
6. The method of claim 5, wherein: The first information includes identity information of the owner; The reusable key will be used by the observer to encrypt the observer's location information; and The reusable key will be used by the parser to decrypt the encrypted first information.
7. The method of claim 3, further comprising: generating environmental information using at least one sensor of the agent, The first information includes the environmental information.
8. The method of claim 1, wherein the size of the message enables the message to be broadcast in a single exchange.
9. The method of claim 8, wherein: The broadcasting of the message comprises broadcasting the message using Bluetooth™ Low Energy; and The size of the message enables the message to be broadcast via the Bluetooth™ Low Energy in the single exchange.
10. The method of claim 1, wherein the message does not include another cryptographic key.
11. A method performed by a first receiver, the method comprising: receiving, from an agent, a first message comprising encrypted first information and a reusable key, the encrypted first information being encrypted using a first cryptographic value derived from a shared secret between the agent and an owner of the agent, the reusable key being derived from the first cryptographic value; encrypting second information using the reusable key; forwarding the first message to a second receiver; as well as The encrypted second information is sent to the second receiver.
12. The method of claim 11, wherein: The first message includes a single group element; and The single group element comprises the reusable key. The method of claim 12 , wherein the first message does not include another cryptographic key.
14. The method of claim 11, further comprising: generating a second cryptographic value; generating a public key using the second cryptographic value; as well as generating another key using the reusable key and using the second cryptographic value, in: The encryption of the second information comprises encrypting the second information using the other key; and The forwarding of the first message and the sending of the encrypted second information includes sending a second message to the second receiver, the second message including the encrypted first information, the reusable key, the encrypted second information, and the public key.
15. The method of claim 14, wherein: said encrypting of said second information comprises encrypting said second information using a Diffie-Hellman integrated encryption scheme; The second cryptographic value represents a temporary private key used in the Diffie-Hellman integrated encryption scheme; and The reusable key represents a pseudo-random public key used in the Diffie-Hellman integrated encryption scheme.
16. The method of claim 14, wherein said generating of said second cryptographic value comprises generating a random number.
17. The method of claim 11, wherein the encrypted first information is encrypted using a public key of the second receiver and using the first cryptographic value associated with the reusable key.
18. The method of claim 11, wherein: The receiving of the first message comprises receiving the first message using Bluetooth™ Low Energy; and The size of the first message enables the first message to be received in a single exchange via the Bluetooth™ Low Energy.
19. An apparatus comprising: transceiver; as well as a processor coupled to the transceiver, The apparatus is configured to use the transceiver and the processor to perform the method according to any one of claims 1 to 18.
20. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processor of a device, cause the device to perform the method according to any one of claims 1-18.
