WO2022199291A1 - 生成应用层密钥 - Google Patents
生成应用层密钥 Download PDFInfo
- Publication number
- WO2022199291A1 WO2022199291A1 PCT/CN2022/076773 CN2022076773W WO2022199291A1 WO 2022199291 A1 WO2022199291 A1 WO 2022199291A1 CN 2022076773 W CN2022076773 W CN 2022076773W WO 2022199291 A1 WO2022199291 A1 WO 2022199291A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- layer key
- application layer
- link layer
- key
- function
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000006870 function Effects 0.000 claims description 186
- 238000004891 communication Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 241000238633 Odonata Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- One or more embodiments of this specification relate to the field of Bluetooth technology, and in particular, to a method and apparatus for generating an application layer key.
- Bluetooth technology is a radio technology that supports short-range communication between devices. Wireless data communication can be carried out between devices that establish a Bluetooth connection.
- the application layer key pair can also be used at the application layer.
- the communication data is encrypted to realize double-layer encryption of the communication data.
- the application layer key is preset in the firmware of the Bluetooth device, and the preset application layer key in each Bluetooth device is the same, and the application layer key is easy to be reversely cracked by an attacker. Therefore, there is a need to provide a more reliable application layer key generation scheme.
- One or more embodiments of this specification describe a method and apparatus for generating an application layer key, so as to reduce the possibility that the application layer key is cracked by an attacker.
- a method for generating an application layer key comprising: determining a connection mode used when establishing a Bluetooth connection with an external Bluetooth device; determining an application layer key generation function according to the connection mode; The application layer key generation function determines the link layer dynamic parameters used in the link layer; obtains the application layer key identifier agreed with the external Bluetooth device; according to the application layer key generation function, the link layer The dynamic parameters and the application layer key identifier are used to generate the application layer key.
- connection mode is: basic rate/enhanced data rate mode;
- the determining the application layer key generation function according to the connection mode includes: the f2 function used when generating the link layer key, It is determined as an application layer key generation function;
- the determining of the link layer dynamic parameters used at the link layer includes: determining the random number in each key parameter used by the f2 function when calculating the link layer key is the link layer dynamic parameter;
- the generating the application layer key includes: replacing the link layer key identifier in each key parameter used by the f2 function when calculating the link layer key with the Application layer key identifier; use the f2 function to calculate each key parameter obtained after replacement to obtain the application layer key.
- the application layer key identifier is different from the link layer key identifier.
- the connection mode is: a basic rate/enhanced data rate mode, or a low power consumption mode; the determining an application layer key generation function according to the connection mode includes: determining the h6 function as the application layer key generation function; the determining the link layer dynamic parameters used at the link layer includes: acquiring the link layer key generated when the Bluetooth connection is established with an external Bluetooth device; converting the link layer key It is determined as the link layer dynamic parameter; the generating the application layer key includes: using the h6 function to calculate the application layer key identifier and the link layer key to obtain the application layer key key.
- connection mode is the basic rate/enhanced data rate mode
- link layer key is generated by using the f2 function and the link layer key identifier
- application layer key identifier is the same as the The link layer key identifiers are the same or different.
- the link layer key is generated by using the f5 function.
- an apparatus for generating an application layer key comprising: a connection mode determination unit configured to determine a connection mode used when establishing a Bluetooth connection with an external Bluetooth device; an application layer key generation function determination unit, is configured to determine an application layer key generation function according to the connection mode; a link layer dynamic parameter acquisition unit is configured to determine a link layer dynamic parameter used at the link layer according to the application layer key generation function ;
- the application layer key identification acquisition unit is configured to obtain the application layer key identification agreed with the external Bluetooth device;
- the application layer key generation unit is configured to generate functions according to the application layer key, the chain
- the road layer dynamic parameters and the application layer key identifier are used to generate the application layer key.
- connection mode is: basic rate/enhanced data rate mode;
- application layer key generation function determination unit is configured to: determine the f2 function used when generating the link layer key as the application layer key layer key generation function;
- the link layer dynamic parameter obtaining unit is configured to: determine the random number in each key parameter used by the f2 function when calculating the link layer key as the link layer dynamic parameter;
- the application layer key generation unit is configured to: replace the link layer key identifier in each key parameter used by the f2 function when calculating the link layer key with the application layer key identifier; use
- the f2 function calculates each key parameter obtained after replacement to obtain the application layer key.
- the application layer key identifier is different from the link layer key identifier.
- connection mode is: basic rate/enhanced data rate mode, or low power consumption mode
- the application layer key generation function determination unit is configured to: determine the h6 function as the application layer key generating function
- the link layer dynamic parameter obtaining unit is configured to: obtain the link layer key generated when the Bluetooth connection is established with an external Bluetooth device; determine the link layer key as the link layer key dynamic parameters
- the application layer key generation unit is configured to: use the h6 function to calculate the application layer key identifier and the link layer key to obtain the application layer key.
- connection mode is the basic rate/enhanced data rate mode
- link layer key is generated by using the f2 function and the link layer key identifier
- application layer key identifier is the same as the The link layer key identifiers are the same or different.
- the link layer key is generated by using the f5 function.
- a computing device including a memory and a processor, where executable code is stored in the memory, and when the processor executes the executable code, the processor described in any embodiment of the present specification is implemented. method.
- a Bluetooth device determines an application layer key generation function according to a connection mode used when establishing a Bluetooth connection with an external Bluetooth device, and according to the determined application layer key
- the key generation function determines the link layer dynamic parameters used in the link layer, and generates the application layer key according to the application layer key generation function, the link layer dynamic parameters and the application layer key identifier agreed with the external Bluetooth device. Since the link layer dynamic parameters used by the link layer are dynamically generated, the application layer key generated by using the link layer dynamic parameters is also dynamically changed, so the possibility of the application layer key being cracked by attackers can be reduced. .
- FIG. 1 is a schematic diagram of a system architecture to which a method for generating an application layer key provided by an embodiment of the present invention is applied;
- FIG. 2 is a flowchart of a method for generating an application layer key provided by an embodiment of this specification
- FIG. 3 is a schematic diagram of an apparatus for generating an application layer key provided by an embodiment of this specification.
- the application layer key is written by the application developer, and the application layer key is preset in the firmware of the Bluetooth device or hard-coded in the application APP of the Bluetooth device.
- the application layer key is fixed.
- the preset application layer key in each Bluetooth device is the same. Once the attacker reverses it, the attacker can obtain the application layer key in each Bluetooth device, which will affect the security of data communication between Bluetooth devices. .
- the application layer key can be generated by using functions to calculate some parameters, but it needs to be guaranteed. Both the two Bluetooth devices that establish the Bluetooth connection can learn the functions and parameters used to generate the application layer key each time.
- the function used to generate the application layer key each time can be determined by the connection mode used each time a Bluetooth connection is established.
- the parameters used to generate the application layer key if the parameters are generated by one of the Bluetooth devices and then distributed to another Bluetooth device, the distribution process is not only complicated, but also insecure. In this way, you can consider using the link layer dynamic parameters used by the link layer, because each time a Bluetooth connection is established, the link layer itself will generate link layer dynamic parameters, and the Bluetooth devices at both ends use the link layer parameters in the link layer.
- the dynamic parameters of the road layer are the same. Therefore, if the dynamic parameters of the link layer used by the link layer are used as the parameters used to generate the application layer key, the parameter distribution process is not required, and the Bluetooth devices at both ends will learn about the link layer. Road layer dynamic parameters. Moreover, the dynamic parameters of the link layer are dynamically changed each time the Bluetooth is connected, so that the application layer key generated by using the dynamic parameters of the link layer is dynamically changed each time.
- the system architecture mainly includes two Bluetooth devices.
- one bluetooth device is a dragonfly host, and another bluetooth device is a bluetooth keyboard.
- each bluetooth device is provided with a bluetooth chip, which is used to establish a bluetooth connection between the bluetooth chip and the bluetooth chip of another bluetooth device, and the two bluetooth devices that successfully establish a bluetooth connection can realize short-distance wireless data communication.
- the Bluetooth device will encrypt the communication data once at the application layer and the link layer, respectively, and send the encrypted communication data twice to the Bluetooth device at the other end, and the Bluetooth device at the other end receives the encrypted communication. After the data is stored, the communication data will be obtained through corresponding two decryptions, so as to ensure the transmission security of the communication data. Since the link layer key is generated in the process of establishing the Bluetooth connection, the specific implementation process of the method for generating the application layer key is described below.
- FIG. 2 shows a flowchart of a method of generating an application layer key according to one embodiment. It can be understood that the method can be performed by any apparatus, device, platform, or device cluster with computing and processing capabilities.
- the specific implementation includes: Step 200: Determine the connection mode used when establishing a Bluetooth connection with an external Bluetooth device; Step 202: Determine an application layer key generation function according to the connection mode; Step 204: According to the The application layer key generation function is used to determine the link layer dynamic parameters used in the link layer; Step 206: Obtain the application layer key identifier agreed with the external Bluetooth device; Step 208: Generate according to the application layer key function, the link layer dynamic parameter and the application layer key identifier to generate the application layer key.
- the Bluetooth device can determine the application layer key generation function according to the connection mode used when establishing the Bluetooth connection with the external Bluetooth device, and according to the determined application layer key generation function , determine the link layer dynamic parameters used in the link layer, and generate the application layer key according to the application layer key generation function, the link layer dynamic parameters and the application layer key identifier agreed with the external Bluetooth device. Since the link layer dynamic parameters used by the link layer are dynamically generated, the application layer key generated by using the link layer dynamic parameters is also dynamically changed, so the possibility of the application layer key being cracked by attackers can be reduced. . In addition, the link layer dynamic parameters used by the link layer are generated during the process of establishing a Bluetooth connection. Therefore, using the existing parameters as the parameters used to generate the application layer key can avoid complex parameters. distribution process.
- step 200 a connection mode used when establishing a Bluetooth connection with an external Bluetooth device is determined.
- Bluetooth connection There are many types of electronic devices that can realize Bluetooth connection, for example, mobile phones, tablet computers, laptop computers, cameras, mice, keyboards, wristbands, etc. Different types of devices use different connection modes when establishing a Bluetooth connection.
- the determined connection modes of the Bluetooth connection may include two types: the first is a basic rate/enhanced data rate (BR/EDR) mode, and the second is a low energy consumption (LE) mode.
- BR/EDR basic rate/enhanced data rate
- LE low energy consumption
- the BR/EDR mode is mainly used for audio and streaming media applications, which is based on a point-to-point network topology to create one-to-one device communication
- the LE mode is mostly used for battery-operated devices, using point-to-point, broadcast, and network topology.
- step 202 an application layer key generation function is determined according to the determined connection mode.
- the application layer key generation function is used to generate an application layer key, and the generated application layer key needs to satisfy the following three conditions:
- Condition 3 The application layer key generated each time is different from other keys used in this Bluetooth connection.
- the two Bluetooth devices need to be able to know the application layer key generation function used each time, which can be determined by the connection mode used when establishing a Bluetooth connection with an external Bluetooth device.
- the following two connection modes are as follows: The determined application layer key generation functions are described respectively.
- connection mode is BR/EDR mode.
- the calculation function in the Bluetooth standard can be directly used as the application layer key generation function.
- the f2 function in the Bluetooth standard used when generating the link layer key or the h6 function in the Bluetooth standard can be used as the application layer key generation function , the two functions are described below.
- Mode A The f2 function used when generating the link layer key is determined as the application layer key generation function.
- the Bluetooth chip In the BR/EDR mode, after the Bluetooth chip establishes the Bluetooth connection, it will use the f2 function to generate the link layer key.
- the expression of the f2 function is shown in the following formula (1):
- LK is used to characterize the link layer key generated by the f2 function in BR/EDR mode
- DHkey is the key generated by the Bluetooth chip in the process of establishing a Bluetooth connection
- N_master is the master Bluetooth of the two Bluetooth devices that establish a Bluetooth connection.
- the random number generated by the device, N_slave is the random number generated from the Bluetooth device in the two Bluetooth devices that establish the Bluetooth connection
- "btlk” is the link layer key identifier
- the length is 32bit
- BD_ADDR_master is the two Bluetooth devices that establish the Bluetooth connection
- the private address of the master bluetooth device, BD_ADDR_slave is the private address of the slave bluetooth device among the two bluetooth devices that establish a bluetooth connection.
- the key parameters used when using the f2 function to calculate the link layer key include two random numbers N_master and N_slave. are randomly generated. Therefore, in this embodiment of the present specification, these two random numbers may be determined as link layer dynamic parameters used at the link layer in step 204 . Since the link layer dynamic parameter changes dynamically, when the application layer key is generated by using the f2 function and the link layer dynamic parameter in step 208, the generated application layer key can be made to change dynamically each time, thereby The above condition 1 is satisfied.
- the key parameters used when using the f2 function to calculate the link layer key have been stored in the Bluetooth devices at both ends during the establishment of the Bluetooth connection. Therefore, the key parameter used in calculating the link layer key by using the f2 function can be used as the key parameter used in the application layer key generation function. In this way, there is no need to distribute the key parameters, and the Bluetooth devices at both ends can learn the key parameters used in the application-layer key generation function. And, the application layer key generation function is determined by the connection mode, so that the second condition above is satisfied.
- the link layer key identifier "btlk" in the key parameter used by the f2 function to calculate the link layer key can be replaced with the application layer key identifier obtained in step 206, so that the f2
- the key parameters used by the function to calculate the application layer key are different from the key parameters used to calculate the link layer key using the f2 function, so the generated application layer key will be different from the link layer key.
- APP_AES_Key f2(DHkey,N_master,N_slave,KeyID,BD_ADDR_master,BD_ADDR_slave) (2)
- APP_AES_Key is the application layer key generated by using the f2 function
- KeyID is the application layer key identifier
- Mode B Determine the h6 function as the application layer key generation function.
- Key is used to represent the key generated by the h6 function
- W is used to represent an encryption key
- KeyID0 is a key identifier in the function, with a length of 32 bits.
- the h6 function calculates the encryption key and the key identifier to generate the key Key, it may be considered to replace the key parameters used in the h6 function to generate the application layer key of the embodiment of this specification.
- the key parameter can be replaced in the formula (3) to obtain the expression of the h6 function shown in the following formula (4):
- App_AES_Key h6(LK,KeyID) (4)
- APP_AES_Key is the application layer key generated by the h6 function
- LK is the link layer key generated by using the f2 function and the link layer key identifier by formula (1) in BR/EDR mode
- KeyID is the application layer key ID. key ID.
- the key parameters used when using the h6 function to calculate the application layer key include the link layer key LK.
- the parameters include two random numbers, so the link layer key LK generated each time a Bluetooth connection is established changes dynamically.
- the link layer key may be determined as the link layer dynamic parameter used at the link layer in step 204 . Since the link layer dynamic parameter changes dynamically, when the application layer key is generated by using the h6 function and the link layer dynamic parameter in step 208, the generated application layer key can be made to change dynamically each time, thereby The above condition 1 is satisfied.
- the Bluetooth devices at both ends generate and store the link layer key LK. Therefore, the link layer key is directly used as the key used in the application layer key generation function. key parameters, so that it is not necessary to distribute the key parameters, and the Bluetooth devices at both ends can learn the key parameters used in the application layer key generation function. And, the application layer key generation function is determined by the connection mode, so that the second condition above is satisfied.
- the key parameters (LK, KeyID) used when using the h6 function to calculate the application layer key are different from the key parameters (W, KeyID0) used when the h6 function in the Bluetooth standard calculates the key. Therefore, the calculated The application layer key is not the same as the Key, so the above condition 3 is satisfied.
- connection mode is LE mode.
- At least the h6 function in the Bluetooth standard can be used as the application layer key generation function.
- the key parameter can be replaced in the formula (3), and the expression of the h6 function shown in the following formula (5) can be obtained:
- App_AES_Key h6(LTK,KeyID) (5)
- APP_AES_Key is the application layer key generated by the h6 function
- LTK is the link layer key generated by using the f5 function in the LE mode
- KeyID is the application layer key identifier.
- DHKey is the key generated in the process of establishing a Bluetooth connection by the Bluetooth chip
- Na is a random number generated by the main Bluetooth device among the two Bluetooth devices that establish a Bluetooth connection
- Nb is a Bluetooth device that is generated from the two Bluetooth devices that establish a Bluetooth connection.
- the random number of , A is the private address of the master Bluetooth device in the two Bluetooth devices that establish a Bluetooth connection
- B is the private address of the slave Bluetooth device in the two Bluetooth devices that establish a Bluetooth connection.
- the key parameters used to calculate the application layer key using the h6 function include the link layer key LTK, which is calculated according to the above f5 function.
- the key parameter used in calculating the link key is The key parameter includes two random numbers Na and Nb, so the link layer key LTK generated each time a Bluetooth connection is established changes dynamically.
- the link layer key may be determined as the link layer dynamic parameter used at the link layer in step 204 . Since the link layer dynamic parameter changes dynamically, when the application layer key is generated by using the h6 function and the link layer dynamic parameter in step 208, the generated application layer key can be made to change dynamically each time, thereby The above condition 1 is satisfied.
- the Bluetooth devices at both ends generate and store the link layer key LTK. Therefore, the link layer key is directly used as the key used in the application layer key generation function. key parameters, so that it is not necessary to distribute the key parameters, and the Bluetooth devices at both ends can learn the key parameters used in the application layer key generation function. And, the application layer key generation function is determined by the connection mode, so that the second condition above is satisfied.
- the key parameters (LTK, KeyID) used when using the h6 function to calculate the application layer key are different from the key parameters (W, KeyID0) used when the h6 function in the Bluetooth standard calculates the key. Therefore, the calculated The application layer key is not the same as the Key, so the above condition 3 is satisfied.
- step 204 the link layer dynamic parameters used at the link layer are determined according to the application layer key generation function.
- step 202 if the determined application layer key generation function is different, the obtained link layer dynamic parameters are also different, specifically:
- step 202 the f2 function used in generating the link layer key is determined to be the application layer key generation function, then in this step 204, each key used by the f2 function in calculating the link layer key is determined The random number in the parameter is determined as the link layer dynamic parameter.
- step 202 If in step 202, the h6 function is determined to be the application layer key generation function, then in this step 24, first obtain the link layer key generated when the Bluetooth connection is established with the external Bluetooth device, and then the link layer key is obtained. The key is determined as the link layer dynamic parameter.
- step 206 the application layer key identifier agreed with the external Bluetooth device is obtained.
- the length of the link layer key identifier in the f2 function and the length of the key identifier in the h6 function are both 32 bits, so for ease of calculation, the length of the application layer key identifier may also be 32 bits.
- the application layer key identification needs to be pre-agreed by two Bluetooth devices that establish a Bluetooth connection.
- the application layer key identifier may be preset in the firmware of the Bluetooth device, or hard-coded in an application program installed on the Bluetooth device.
- the Bluetooth device can obtain the preset application layer key identifier from firmware or hard coding.
- the number of the preset application layer key identifiers may be one or more.
- the two Bluetooth devices need to pre-agreed a selection rule for application layer key identifiers, so that the two Bluetooth devices select the same application layer key identifier.
- step 202 it can be known from step 202 that the application layer key that needs to be generated satisfies at least the third condition above. Based on this, under the following two preconditions, the conditions that the application layer key identification needs to meet are different:
- connection mode is the BR/EDR mode
- application layer key generation function is the f2 function.
- the condition that the application layer key identifier needs to meet is: the application layer key identifier is different from the link layer key identifier.
- connection mode is BR/EDR mode
- key generation function of the application layer is the h6 function.
- the condition that the application layer key identifier needs to meet is: the application layer key identifier is the same or different from the link layer key identifier.
- the functions used to calculate the application layer key and the link layer key are different under the second premise, no matter whether the application layer key identifier and the link layer key identifier are the same or different, the calculated application layer key The key is not the same as the link layer key.
- an application layer key is generated according to the application layer key generation function, the link layer dynamic parameter and the application layer key identifier.
- the application layer key generation function determined in step 202 is different, then the calculation process when generating the application layer key is different, specifically:
- Case 1 The application layer key generation function is the f2 function.
- step 204 the random number included in each key parameter used by the f2 function in calculating the link layer key is determined as the link layer dynamic parameter.
- step 208 includes: replacing the link layer key identifier in each key parameter used by the f2 function when calculating the link layer key with the application layer key identifier; using the The f2 function calculates each key parameter obtained after replacement to obtain the application layer key.
- Case 2 The application layer key generation function is the h6 function.
- step 204 the link layer key generated when the Bluetooth connection is established with the external Bluetooth device is obtained; the link layer key is determined as the link layer dynamic parameter; accordingly, the implementation of step 208
- the process includes: using the h6 function to calculate the application layer key identifier and the link layer key to obtain the application layer key.
- the application layer key after the application layer key is generated, it can be stored in the Bluetooth device, so that the application layer key can be directly used during data communication between the Bluetooth devices.
- an application layer key update mechanism can be implemented between two Bluetooth devices to update the application layer key, so that the update The application layer key after the update is different from the application layer key before the update. After the application layer key is updated, the Bluetooth device uses the updated application layer key to encrypt and decrypt the data to be communicated next.
- the update mechanism of the application layer key is described below.
- an update period can be set, and each time the set update period is reached, the application layer key is regenerated, and the regenerated application layer key is updated to the locally stored application layer key.
- the link layer key needs to be regenerated, the application layer key is regenerated, and the regenerated application layer key is updated to the locally stored application layer key.
- the application layer key can be recorded in the memory, the application layer key in the memory will be cleared after each restart of the Bluetooth device, and an application layer key needs to be regenerated at this time.
- the Bluetooth device can determine the application layer key generation function according to the connection mode used when establishing the Bluetooth connection with the external Bluetooth device, and determine the application layer key generation function according to the determined application layer key generation function.
- Link layer dynamic parameters Generate the application layer key according to the application layer key generation function, the link layer dynamic parameters and the application layer key identifier agreed with the external Bluetooth device. Since the link layer dynamic parameters used by the link layer are dynamically generated, the application layer key generated by using the link layer dynamic parameters is also dynamically changed, so the possibility of the application layer key being cracked by attackers can be reduced. . In addition, the link layer dynamic parameters used by the link layer are generated during the process of establishing a Bluetooth connection. Therefore, using the existing parameters as the parameters used to generate the application layer key can avoid complex parameters. distribution process.
- FIG. 3 shows an apparatus for generating an application layer key according to an embodiment. It can be understood that the apparatus can be implemented by any apparatus, device, platform and device cluster having computing and processing capabilities. As shown in FIG.
- the apparatus 30 includes: a connection mode determination unit 31 configured to determine a connection mode used when establishing a Bluetooth connection with an external Bluetooth device; an application layer key generation function determination unit 32 configured to The connection mode determines the application layer key generation function; the link layer dynamic parameter acquisition unit 33 is configured to determine the link layer dynamic parameters used at the link layer according to the application layer key generation function; the application layer key The identification acquisition unit 34 is configured to acquire the application layer key identification agreed with the external Bluetooth device; the application layer key generation unit 35 is configured to generate the function according to the application layer key, the link layer dynamic parameters and the application layer key identifier to generate an application layer key.
- connection mode is: basic rate/enhanced data rate mode;
- application layer key generation function determining unit is configured to: determine the f2 function used when generating the link layer key as: an application layer key generation function;
- the link layer dynamic parameter obtaining unit is configured to: determine the random number in each key parameter used by the f2 function when calculating the link layer key as the link layer dynamic parameter
- the application layer key generation unit is configured to: replace the link layer key identifier in each key parameter used by the f2 function when calculating the link layer key with the application layer key identifier;
- the key parameters obtained after replacement are calculated by using the f2 function to obtain the application layer key.
- the application layer key identifier is different from the link layer key identifier.
- the connection mode is: basic rate/enhanced data rate mode, or low power consumption mode
- the application layer key generation function determination unit is configured to: determine the h6 function as the application layer key. key generation function
- the link layer dynamic parameter obtaining unit is configured to: obtain the link layer key generated when the Bluetooth connection is established with an external Bluetooth device; determine the link layer key as the link layer key layer dynamic parameters
- the application layer key generation unit is configured to: use the h6 function to calculate the application layer key identifier and the link layer key to obtain the application layer key.
- connection mode is the basic rate/enhanced data rate mode
- link layer key is generated by using the f2 function and the link layer key identifier
- application layer key identifier The same or different from the link layer key identifier.
- the link layer key is generated by using the f5 function.
- An embodiment of this specification provides a computing device, including a memory and a processor, the memory stores executable code, and when the processor executes the executable code, the execution of any one of the embodiments in the specification is implemented. method.
- the structures illustrated in the embodiments of this specification do not constitute a specific limitation on the apparatus for generating the application layer key.
- the apparatus for generating an application layer key may include more or less components than shown, or combine some components, or separate some components, or different component arrangements.
- the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
- the functions described in the present invention may be implemented by hardware, software, pendants or any combination thereof.
- the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Claims (13)
- 生成应用层密钥的方法,包括:确定与外部蓝牙设备建立蓝牙连接时使用的连接模式;根据所述连接模式,确定应用层密钥生成函数;根据所述应用层密钥生成函数,确定在链路层使用的链路层动态参数;获取与所述外部蓝牙设备约定的应用层密钥标识;根据所述应用层密钥生成函数、所述链路层动态参数和所述应用层密钥标识,生成应用层密钥。
- 根据权利要求1所述的方法,其中,所述连接模式为:基本速率/增强数据速率模式;所述根据所述连接模式确定应用层密钥生成函数,包括:将生成链路层密钥时使用的f2函数,确定为应用层密钥生成函数;所述确定在链路层使用的链路层动态参数,包括:将所述f2函数在计算链路层密钥时使用的各密钥参数中的随机数确定为所述链路层动态参数;所述生成应用层密钥,包括:将所述f2函数在计算链路层密钥时使用的各密钥参数中的链路层密钥标识替换为所述应用层密钥标识;利用所述f2函数对替换后得到的各密钥参数进行计算,得到所述应用层密钥。
- 根据权利要求2所述的方法,其中,所述应用层密钥标识与所述链路层密钥标识不相同。
- 根据权利要求1所述的方法,其中,所述连接模式为:基本速率/增强数据速率模式,或者低功耗模式;所述根据所述连接模式确定应用层密钥生成函数,包括:将h6函数,确定为应用层密钥生成函数;所述确定在链路层使用的链路层动态参数,包括:获取与外部蓝牙设备建立所述蓝牙连接时生成的链路层密钥;将所述链路层密钥确定为所述链路层动态参数;所述生成应用层密钥,包括:利用所述h6函数对所述应用层密钥标识和所述链路层密钥进行计算,得到所述应用层密钥。
- 根据权利要求4所述的方法,其中,当所述连接模式为基本速率/增强数据速率模式时;所述链路层密钥是利用f2函数以及链路层密钥标识生成的;所述应用层密钥标识与所述链路层密钥标识相同或不相同。
- 根据权利要求4所述的方法,其中,当所述连接模式为低功耗模式时;所述链路层密钥是利用f5函数生成的。
- 生成应用层密钥的装置,包括:连接模式确定单元,被配置为确定与外部蓝牙设备建立蓝牙连接时使用的连接模式;应用层密钥生成函数确定单元,被配置为根据所述连接模式,确定应用层密钥生成函数;链路层动态参数获取单元,被配置为根据所述应用层密钥生成函数,确定在链路层使用的链路层动态参数;应用层密钥标识获取单元,被配置为获取与所述外部蓝牙设备约定的应用层密钥标识;应用层密钥生成单元,被配置为根据所述应用层密钥生成函数、所述链路层动态参数和所述应用层密钥标识,生成应用层密钥。
- 根据权利要求7所述的装置,其中,所述连接模式为:基本速率/增强数据速率模式;所述应用层密钥生成函数确定单元被配置为:将生成链路层密钥时使用的f2函数,确定为应用层密钥生成函数;链路层动态参数获取单元被配置为:将所述f2函数在计算链路层密钥时使用的各密钥参数中的随机数确定为所述链路层动态参数;所述应用层密钥生成单元被配置为:将所述f2函数在计算链路层密钥时使用的各密钥参数中的链路层密钥标识替换为所述应用层密钥标识;利用所述f2函数对替换后得到的各密钥参数进行计算,得到所述应用层密钥。
- 根据权利要求8所述的装置,其中,所述应用层密钥标识与所述链路层密钥标识不相同。
- 根据权利要求7所述的装置,其中,所述连接模式为:基本速率/增强数据速率模式,或者低功耗模式;所述应用层密钥生成函数确定单元被配置为:将h6函数,确定为应用层密钥生成函数;所述链路层动态参数获取单元被配置为:获取与外部蓝牙设备建立所述蓝牙连接时生成的链路层密钥;将所述链路层密钥确定为所述链路层动态参数;所述应用层密钥生成单元被配置为:利用所述h6函数对所述应用层密钥标识和所述链路层密钥进行计算,得到所述应用层密钥。
- 根据权利要求10所述的装置,其中,当所述连接模式为基本速率/增强数据速率模式时;所述链路层密钥是利用f2函数以及链路层密钥标识生成的;所述应用层密钥标识与所述链路层密钥标识相同或不相同。
- 根据权利要求10所述的装置,其中,当所述连接模式为低功耗模式时;所述链路层密钥是利用f5函数生成的。
- 一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22773953.9A EP4319222A4 (en) | 2021-03-25 | 2022-02-18 | APPLICATION LAYER KEY GENERATION |
US18/552,025 US20240179517A1 (en) | 2021-03-25 | 2022-02-18 | Application layer key generation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110317802.5A CN113038444B (zh) | 2021-03-25 | 2021-03-25 | 生成应用层密钥的方法和装置 |
CN202110317802.5 | 2021-03-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022199291A1 true WO2022199291A1 (zh) | 2022-09-29 |
Family
ID=76474068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/076773 WO2022199291A1 (zh) | 2021-03-25 | 2022-02-18 | 生成应用层密钥 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240179517A1 (zh) |
EP (1) | EP4319222A4 (zh) |
CN (1) | CN113038444B (zh) |
WO (1) | WO2022199291A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113038444B (zh) * | 2021-03-25 | 2022-07-19 | 支付宝(杭州)信息技术有限公司 | 生成应用层密钥的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523087A (zh) * | 2011-12-14 | 2012-06-27 | 百度在线网络技术(北京)有限公司 | 一种用于对自执行网络信息进行加密处理的方法及设备 |
US20130340067A1 (en) * | 2012-03-27 | 2013-12-19 | Ty Brendan Lindteigen | Multi-Wrapped Virtual Private Network |
CN106714146A (zh) * | 2015-11-13 | 2017-05-24 | 广西咪付网络技术有限公司 | 一种蓝牙ble设备的通信加密方法 |
CN111740827A (zh) * | 2020-07-28 | 2020-10-02 | 北京金山云网络技术有限公司 | 数据传输方法、装置、计算机设备及存储介质 |
CN113038444A (zh) * | 2021-03-25 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 生成应用层密钥的方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075075A1 (en) * | 2004-10-01 | 2006-04-06 | Malinen Jouni I | Method and system to contextually initiate synchronization services on mobile terminals in an enterprise environment |
US8886935B2 (en) * | 2010-04-30 | 2014-11-11 | Kabushiki Kaisha Toshiba | Key management device, system and method having a rekey mechanism |
EP3021603A1 (en) * | 2014-11-12 | 2016-05-18 | Gemalto Sa | Method of managing pairing with a wireless device |
CN109076487B (zh) * | 2016-04-14 | 2021-03-19 | 苹果公司 | 安全测距的方法和架构 |
CN106209811A (zh) * | 2016-07-04 | 2016-12-07 | 福州米立科技有限公司 | 蓝牙设备安全登录身份验证方法及装置 |
CN106535090B (zh) * | 2016-10-11 | 2020-04-03 | 歌尔科技有限公司 | 一种蓝牙设备与智能设备的配对方法及蓝牙设备 |
CN109688573A (zh) * | 2019-01-22 | 2019-04-26 | 北京深思数盾科技股份有限公司 | 蓝牙设备间的交互方法及蓝牙设备 |
CN110365707A (zh) * | 2019-07-30 | 2019-10-22 | 广州致链科技有限公司 | 面向区块链物联网系统的边缘计算网关及其实现方法 |
CN110572804B (zh) * | 2019-08-27 | 2022-04-22 | 暨南大学 | 蓝牙通信认证请求、接收及通信方法、移动端、设备端 |
CN111526509B (zh) * | 2020-05-26 | 2022-08-02 | 中国联合网络通信集团有限公司 | 一种卡数据处理方法及装置 |
-
2021
- 2021-03-25 CN CN202110317802.5A patent/CN113038444B/zh active Active
-
2022
- 2022-02-18 WO PCT/CN2022/076773 patent/WO2022199291A1/zh active Application Filing
- 2022-02-18 EP EP22773953.9A patent/EP4319222A4/en active Pending
- 2022-02-18 US US18/552,025 patent/US20240179517A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523087A (zh) * | 2011-12-14 | 2012-06-27 | 百度在线网络技术(北京)有限公司 | 一种用于对自执行网络信息进行加密处理的方法及设备 |
US20130340067A1 (en) * | 2012-03-27 | 2013-12-19 | Ty Brendan Lindteigen | Multi-Wrapped Virtual Private Network |
CN106714146A (zh) * | 2015-11-13 | 2017-05-24 | 广西咪付网络技术有限公司 | 一种蓝牙ble设备的通信加密方法 |
CN111740827A (zh) * | 2020-07-28 | 2020-10-02 | 北京金山云网络技术有限公司 | 数据传输方法、装置、计算机设备及存储介质 |
CN113038444A (zh) * | 2021-03-25 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 生成应用层密钥的方法和装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4319222A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN113038444B (zh) | 2022-07-19 |
US20240179517A1 (en) | 2024-05-30 |
EP4319222A1 (en) | 2024-02-07 |
EP4319222A4 (en) | 2024-09-18 |
CN113038444A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018014723A1 (zh) | 密钥管理方法、装置、设备及系统 | |
TWI672648B (zh) | 業務處理方法、裝置、資料共享系統及儲存介質 | |
WO2018176781A1 (zh) | 信息发送方法、信息接收方法、装置及系统 | |
KR20130111165A (ko) | 블루투스 저 에너지 프라이버시 | |
CN111698794B (zh) | 一种无线音频共享方法 | |
WO2020143196A1 (zh) | 区块链节点之间的通信方法及装置、存储介质及电子设备 | |
WO2020233049A1 (zh) | 区块链系统的数据授权方法、装置、存储介质及电子设备 | |
US9083535B2 (en) | Method and apparatus for providing efficient management of certificate revocation | |
JP2020532928A (ja) | デジタル署名方法、装置及びシステム | |
JP5714776B2 (ja) | ハイブリッド・ネットワークのためのプロトコル特有鍵 | |
US20180062839A1 (en) | Mobile security using context patterns | |
WO2017067369A1 (zh) | 一种加密图片、解密图片的方法、装置和设备 | |
WO2022199291A1 (zh) | 生成应用层密钥 | |
CN109345242A (zh) | 基于区块链的密钥存储、更新方法、装置、设备和介质 | |
CN114553612B (zh) | 数据加密、解密方法、装置、存储介质及电子设备 | |
JP6934973B2 (ja) | センサー装置と電子装置との間でデータを送信する方法及びシステム | |
JP2011101367A (ja) | 非対話型キー生成装置及び方法、並びにこれを用いた通信セキュリティー方法 | |
CN110808969B (zh) | 数据传输方法及系统、电子设备、存储介质 | |
JP6390124B2 (ja) | 需要応答イベントの配布のための方法 | |
JP2013118500A (ja) | 認証装置、認証方法および認証プログラム | |
WO2024139734A1 (zh) | 密钥更新方法、装置、电子设备和计算机可读存储介质 | |
CN117555946A (zh) | 一种数据查询方法、装置、计算机设备和存储介质 | |
JP5041607B2 (ja) | ワイヤレスメッシュネットワークにおけるセキュア通信用の鍵導出技術 | |
WO2024001037A1 (zh) | 一种消息传输方法、装置、电子设备和存储介质 | |
EP4092957A1 (en) | Secure and trusted peer-to-peer offline communication systems and methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22773953 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18552025 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022773953 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11202307219T Country of ref document: SG |
|
ENP | Entry into the national phase |
Ref document number: 2022773953 Country of ref document: EP Effective date: 20231025 |