Unlocking method, smart door lock and door body based on Bluetooth encryption

By generating temporary terminal keys and digital signature processing, combined with encryption and signature verification, the problem of low information security during the Bluetooth unlocking process of smart door lock is solved, and the security of smart door locks is improved.

CN118038587BActive Publication Date: 2025-01-03CHONGQING LUXIANGJIA TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410173892.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-07
Publication Date
2025-01-03
Estimated Expiration
2044-02-07

AI Technical Summary

Technical Problem

During the Bluetooth unlocking process, existing smart door locks have the risk of encrypted unlocking command information being intercepted and tampered, and the long-term use of the door lock device key has led to a decrease in security.

Method used

By generating the temporary terminal key and the door lock device private key for digital signature processing, and using the server public key to encrypt it, the encryption key information is transmitted to the mobile terminal for signature verification, ensuring information security, and in the unlocking command information Embed dynamic sequence codes to prevent tampering.

Benefits of technology

It greatly reduces the possibility of encrypted information being intercepted and tampered, reduces the risk of temporary terminal password leakage, and improves the security of smart door locks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118038587B_ABST
    Figure CN118038587B_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure disclose an unlocking method, a smart door lock and a door body based on Bluetooth encryption. A specific implementation of the method includes: in response to receiving a Bluetooth communication request, establishing a Bluetooth connection with a mobile terminal; in response to receiving a Bluetooth unlocking request, executing the following unlocking processing steps: generating a temporary terminal key; digitally signing the temporary terminal key and the door lock device identification information to generate key signature information; encrypting the key signature information, the temporary terminal key and the door lock device identification information to obtain the encrypted key information; transmitting the encrypted key information to the mobile terminal; executing the unlocking operation corresponding to the unlocking instruction information, and inserting the dynamic sequence code as the instruction sequence code into the instruction sequence code set. This implementation can improve the security of the Bluetooth unlocking method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of computer technology, and in particular to an unlocking method based on Bluetooth encryption, a smart door lock and a door body. Background Art

[0002] With the continuous development of Internet of Things technology, the application of smart home is becoming more and more widespread. Among them, smart door locks are the most popular. Common smart door lock unlocking methods include but are not limited to password unlocking, biometric recognition (such as fingerprint, iris and palm vein) and Bluetooth control unlocking. Usually, smart door locks have a pre-generated key built in as the door lock device key, which is used for a long time to decrypt the received encrypted information. At present, when performing Bluetooth unlocking operations on smart door locks, the commonly used method is: directly send the encrypted unlocking command information to the smart door lock through the Bluetooth connection, and the smart door lock decrypts the encrypted unlocking command information through the door lock device key to complete the unlocking operation.

[0003] However, when using the above method to perform Bluetooth unlocking operations, the following technical problems often occur: the encrypted unlocking command information is sent directly to the smart door lock, and the encrypted unlocking command information is at risk of being intercepted and tampered with, and the long-term use of the door lock device key has a high risk of leakage, resulting in a decrease in the security of the smart door lock.

[0004] The above information disclosed in this Background section is only for enhancement of understanding of the background of the inventive concept and therefore it may contain information that does not form the prior art that is already known in this country to a person of ordinary skill in the art. Summary of the invention

[0005] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.

[0006] Some embodiments of the present disclosure propose a Bluetooth encryption-based unlocking method, a smart door lock and a door body to solve one or more of the technical problems mentioned in the above background technology part.

[0007] In the first aspect, some embodiments of the present disclosure provide a method for unlocking based on Bluetooth encryption, the method comprising: in response to receiving a Bluetooth communication request sent by a mobile terminal, establishing a Bluetooth connection with the above-mentioned mobile terminal, wherein the above-mentioned smart door lock corresponds to door lock device identification information, door lock device private key and server public key; in response to receiving the Bluetooth unlocking request sent by the above-mentioned mobile terminal, performing the following unlocking processing steps: generating a temporary terminal secret key, wherein the number of bits of the above-mentioned temporary terminal secret key is equal to the number of bits of the preset key; according to the above-mentioned door lock device private key, digitally signing the above-mentioned temporary terminal secret key and the above-mentioned door lock device identification information to generate secret key signature information; according to the above-mentioned server public key, digitally signing the above-mentioned secret key signature information, the above-mentioned temporary terminal secret key and the above-mentioned door lock device identification information to generate secret key signature information The terminal secret key and the door lock device identification information are encrypted to obtain the encrypted secret key information; the encrypted secret key information is transmitted to the mobile terminal through the Bluetooth connection established with the mobile terminal, so that the mobile terminal transmits the encrypted secret key information to the target server for signature verification; in response to determining that there is no instruction sequence code that satisfies the sequence code condition corresponding to the dynamic sequence code in the pre-constructed instruction sequence code set, the unlocking operation corresponding to the unlocking instruction information is executed, and the dynamic sequence code is inserted into the instruction sequence code set as the instruction sequence code, wherein the unlocking instruction information and the dynamic sequence code are obtained after decrypting the encrypted door lock instruction information sent by the mobile terminal.

[0008] In the second aspect, some embodiments of the present disclosure provide a smart door lock device, including: one or more processors; a door lock component; a Bluetooth device for Bluetooth connection; a storage device on which one or more programs are stored; when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation method of the first aspect.

[0009] In a third aspect, some embodiments of the present disclosure provide a door body, comprising: a door body and a smart door lock described in any implementation of the second aspect, wherein the smart door lock is arranged on the door body.

[0010] The above-mentioned embodiments of the present disclosure have the following beneficial effects: the security of the Bluetooth unlocking method can be improved through the unlocking method based on Bluetooth encryption of some embodiments of the present disclosure. Specifically, the reason for the reduction of the security of Bluetooth unlocking is that the encrypted unlocking instruction information is directly sent to the smart door lock, and the encrypted unlocking instruction information has the risk of being intercepted and tampered, and the long-term use of the door lock device key has a high risk of leakage, resulting in the security of the smart door lock. Based on this, the unlocking method based on Bluetooth encryption of some embodiments of the present disclosure, first, in response to receiving a Bluetooth communication request sent by the mobile terminal, establishes a Bluetooth connection with the above-mentioned mobile terminal. Among them, the above-mentioned smart door lock corresponds to the door lock device identification information, the door lock device private key and the server public key. Thus, the smart door lock can communicate with the above-mentioned mobile terminal through Bluetooth. Then, in response to receiving the Bluetooth unlocking request sent by the above-mentioned mobile terminal, the following unlocking processing steps are performed: the first step is to generate a temporary terminal secret key. Among them, the number of digits of the above-mentioned temporary terminal secret key is equal to the number of digits of the preset key. Thus, after receiving the Bluetooth unlocking request sent by the mobile terminal, by generating a temporary terminal key, the high risk of leakage caused by long-term use of a single key can be reduced. The second step is to digitally sign the temporary terminal key and the door lock device identification information according to the door lock device private key to generate key signature information. Thus, the security risk of information being intercepted and tampered during Bluetooth communication between the smart door lock and the mobile terminal can be reduced by digital signature processing, and the communication security can be improved. The third step is to encrypt the key signature information, the temporary terminal key and the door lock device identification information according to the server public key to obtain the encrypted key information. Thus, the security of information can be further improved by encryption processing. The fourth step is to transmit the encrypted key information to the mobile terminal through the Bluetooth connection established with the mobile terminal, so that the mobile terminal can transmit the encrypted key information to the target server for signature verification. Thus, the encrypted information can be effectively protected through multi-terminal signature verification, greatly reducing the possibility of interception and tampering of the encrypted information. In the fifth step, in response to determining that there is no instruction sequence code that satisfies the sequence code condition corresponding to the dynamic sequence code in the pre-constructed instruction sequence code set, the unlocking operation corresponding to the unlocking instruction information is executed, and the above-mentioned dynamic sequence code is inserted into the above-mentioned instruction sequence code set as the instruction sequence code. Among them, the above-mentioned unlocking instruction information and the above-mentioned dynamic sequence code are obtained by decrypting the encrypted door lock instruction information sent by the above-mentioned mobile terminal. Therefore, the above-mentioned encrypted door lock instruction information can be decrypted to obtain the door lock instruction information for executing the unlocking operation, and then the above-mentioned dynamic sequence code and the above-mentioned instruction sequence code set can be used to determine whether the above-mentioned door lock instruction information has been tampered with, thereby improving the security of Bluetooth unlocking.By adopting the temporary terminal password method, since each temporary terminal password is only used during a single unlocking task, the risk of temporary terminal password leakage can be reduced. When the temporary terminal password is leaked, since each temporary terminal password is only used for a single unlocking task and has a short validity period, it has little impact on the long-term security of the smart door lock, greatly improving the security of the Bluetooth unlocking method. By adopting the multi-terminal digital signature verification method, the risk of encrypted information being intercepted and tampered with can be greatly reduced through multi-terminal verification, thereby further improving the security of the Bluetooth unlocking method. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.

[0012] Figure 1 is a flow chart of some embodiments of the unlocking method based on Bluetooth encryption according to the present disclosure;

[0013] Figure 2 It is a schematic diagram of the structure of electronic components of a smart door lock suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION

[0014] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0015] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.

[0016] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0017] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0018] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0019] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.

[0020] Figure 1 The process 100 of some embodiments of the unlocking method based on Bluetooth encryption according to the present disclosure is shown. The unlocking method based on Bluetooth encryption includes the following steps:

[0021] Step 101: In response to receiving a Bluetooth communication request sent by a mobile terminal, establishing a Bluetooth connection with the mobile terminal.

[0022] In some embodiments, the execution subject of the unlocking method based on Bluetooth encryption can establish a Bluetooth connection with the mobile terminal in response to receiving a Bluetooth communication request sent by the mobile terminal. The execution subject can be a smart door lock. The smart door lock corresponds to the door lock device identification information, the door lock device private key and the server public key. The door lock device identification information can be a string representing the smart door lock device. The Bluetooth communication request can be a request sent by the mobile terminal for establishing a Bluetooth connection with the smart door lock. The mobile terminal can include but is not limited to a mobile phone, a smart watch and a tablet computer.

[0023] It should be noted that the above-mentioned smart door lock is pre-installed with a door lock device private key and a server public key. The target server is pre-installed with a door lock device public key corresponding to the above-mentioned door lock device private key and a server private key corresponding to the above-mentioned server public key. The above-mentioned target server may be a server for processing the Bluetooth unlocking request of the above-mentioned smart door lock. The above-mentioned door lock device private key may be a private key used by the above-mentioned smart door lock to digitally sign local information. The above-mentioned server public key may be a public key used by the above-mentioned smart door lock to encrypt local information. The above-mentioned door lock device public key may be a public key used by the above-mentioned target server to verify the signature of the information signed by the above-mentioned smart door lock. The above-mentioned server private key may be a private key used by the above-mentioned target server to decrypt the information encrypted by the above-mentioned smart door lock.

[0024] Step 102: in response to receiving a Bluetooth unlocking request sent by a mobile terminal, executing the following unlocking processing steps:

[0025] Step 1021, generate a temporary terminal key.

[0026] In some embodiments, the execution subject may generate a temporary terminal key, wherein the number of digits of the temporary terminal key is equal to the number of digits of the preset key, and wherein the temporary terminal key may be a key generated by the execution subject and used for a single unlocking operation.

[0027] Optionally, the Bluetooth unlock request may include an unlock request time and mobile terminal identification information corresponding to the mobile terminal. The mobile terminal identification information may be a character string representing the corresponding mobile terminal. The unlock request time may be the time when the mobile terminal sends the Bluetooth unlock request. The smart door lock may also correspond to temporary key time granularity information. The temporary key time granularity information may include various preset temporary key time granularities. Each of the temporary key time granularities may represent a unit time. The temporary key time granularity information may be the time granularity information used to generate the temporary terminal key.

[0028] In some optional implementations of some embodiments, the above execution subject may generate a temporary terminal key through the following steps:

[0029] The first step is to generate a random number as a temporary terminal key base. The number of bits of the generated temporary terminal key base is less than the number of bits of the preset key. The temporary terminal key base may be a random number used to generate a temporary terminal key. In practice, the execution subject may generate a random number as the temporary terminal key base through a random number generator. As an example, the number of bits of the preset key may be 128 bits. The random number generator may be a pseudo-random number generator.

[0030] The second step is to randomly select a temporary key time granularity from the various temporary key time granularities included in the temporary key time granularity information as the target time granularity. In practice, the execution entity may randomly select a temporary key time granularity from the various temporary key time granularities included in the temporary key time granularity information as the target time granularity. For example, the time granularity represented by the various temporary key time granularities included in the temporary key time granularity information may be "day", "hour", "minute" and "second". The target time granularity randomly selected by the execution entity may be "hour".

[0031] The third step is to perform a timestamp conversion process on the unlock request time according to the target time granularity to generate timestamp information. In practice, first, the execution subject can generate the timestamp of the unlock request time as the initial timestamp through a built-in function (for example, the Time.time() function in Python). Then, the execution subject can perform a time granularity conversion on the initial timestamp according to the target time granularity to obtain timestamp information. As an example, the timestamp can be a UNIX timestamp. For example, the target time granularity can be "hours". The unlock request time can be "2023-10-11-09:00", and the generated initial timestamp can be "1675983600". According to the target time granularity "hours", the initial timestamp is converted to a time granularity, and the obtained timestamp information can be 1675983600 (s) / 60 (s) * 60 = 465551.

[0032] The fourth step is to concatenate the timestamp information, the mobile terminal identification information and the temporary terminal key base to obtain concatenated character information. In practice, the execution subject may concatenate the timestamp information, the mobile terminal identification information and the temporary terminal key base to obtain concatenated character information.

[0033] The fifth step is to perform encoding conversion processing on the above-mentioned spliced ​​character sequence to generate a temporary key code. In practice, the above-mentioned execution entity can perform encoding conversion of each character in the above-mentioned spliced ​​character sequence into a preset base according to a preset character table to generate a temporary key code. As an example, the above-mentioned preset character table can be but not limited to: an ASCII character table, a Unicode character table or a UTF-8 encoding table. The above-mentioned preset base can be hexadecimal. For example, the above-mentioned spliced ​​character information can be "A5b7R9x2D", and the above-mentioned execution entity performs hexadecimal encoding conversion on the above-mentioned spliced ​​character sequence according to the ASCII character table, and the obtained temporary key code can be 413562375239783244.

[0034] Step 6: Scramble the temporary key code to obtain a random temporary key code. In practice, the execution entity may randomly sort the temporary key code to disrupt the order of the characters in the temporary key code to obtain a random temporary key code.

[0035] Step 7: Perform a preset number of permutations on the random temporary key code to obtain a permuted temporary key code. In practice, the execution subject may perform a preset number of permutations on the random temporary key code through a permutator to obtain a permuted temporary key code. As an example, the permutator may be an S-box (Substitution-box) permutator.

[0036] In step 8, in response to determining that the number of bits of the temporary secret key code after the replacement is greater than the number of bits of the preset secret key, the following segmentation determination step is performed:

[0037] In the first sub-step, the replaced temporary key code is segmented according to the number of bits of the preset key to obtain the segmented temporary key code. The number of bits of the segmented temporary key code is equal to the number of bits of the preset key. In practice, the execution subject can segment a series of continuous codes from the replaced temporary key code as the segmented temporary key code according to the number of bits of the preset key.

[0038] In the second sub-step, the split temporary key is encoded as a temporary terminal key.

[0039] In a ninth step, in response to determining that the number of bits of the replaced temporary key code is equal to the number of bits of the preset key code, the replaced temporary key code is determined as a temporary terminal key.

[0040] Step 10: In response to determining that the number of bits of the temporary key code after the replacement is less than the number of bits of the preset key code, perform the following filling determination step:

[0041] The first sub-step is to perform random code filling processing on the above-mentioned temporary key code after replacement to obtain the filled temporary key code. Among them, the number of bits of the above-mentioned temporary key code after filling is equal to the number of bits of the above-mentioned preset key. In practice, first, the above-mentioned execution subject can generate a target number of random characters. The above-mentioned target number can be the difference between the number of bits of the above-mentioned preset key and the number of bits of the above-mentioned temporary key code after replacement. Then, the above-mentioned execution subject can randomly insert each random character of the above-mentioned target number of random characters into the above-mentioned temporary key code after replacement to perform code filling on the above-mentioned temporary key code after replacement to obtain the filled temporary key code.

[0042] In the second sub-step, the filled temporary key is encoded as a temporary terminal key.

[0043] The above-mentioned first to tenth steps, as an inventive point of an embodiment of the present disclosure, can solve the technical problem of "when generating a door lock device key, a high-bit random number is often used directly as the door lock device key, resulting in a low complexity of the door lock device key, thereby reducing the security of the smart door lock". The factors that lead to a reduction in the security of smart door locks are often as follows: when generating a door lock device key, a high-bit random number is often used directly as the door lock device key, resulting in a low complexity of the door lock device key, thereby reducing the security of the smart door lock. If the above-mentioned factors are solved, the effect of improving the security of the smart door lock can be achieved. In order to achieve this effect, the present disclosure generates spliced ​​character information by splicing the timestamp information, the mobile terminal identification information and the random base. Since the time granularity selected by the smart door lock is different each time the spliced ​​character information is generated, the timestamp information generated at the same time is different, which improves the dynamic nature of the spliced ​​character information. Then, by encoding, shuffling and replacing the above-mentioned spliced ​​character information in turn, the complexity and randomness of the generated temporary terminal key can be greatly improved, thereby improving the security of the smart door lock.

[0044] Step 1022, based on the door lock device private key, the temporary terminal secret key and the door lock device identification information are digitally signed to generate secret key signature information.

[0045] In some embodiments, the execution subject may digitally sign the temporary terminal secret key and the door lock device identification information according to the door lock device private key to generate secret key signature information. The secret key signature information may be information sent to the mobile terminal for signature verification.

[0046] Optionally, the door lock device private key includes a door lock device private key index and a door lock device private key modulus. The door lock device private key index may be a private key index constituting the door lock device private key. The door lock device private key modulus may be a private key modulus constituting the door lock device private key.

[0047] In some optional implementations of some embodiments, the execution subject may perform digital signature processing on the temporary terminal secret key and the door lock device identification information according to the door lock device private key through the following steps to generate secret key signature information:

[0048] The first step is to splice the temporary terminal key and the door lock device identification information to obtain spliced ​​character information.

[0049] The second step is to generate a concatenated character digest based on the concatenated character information. In practice, the execution subject may encrypt the concatenated character information using an encryption algorithm to generate a concatenated character digest. As an example, the encryption algorithm may be a SHA256 algorithm or an MD5 algorithm.

[0050] The third step is to perform exponential processing on the concatenated character digest according to the door lock device private key index included in the door lock device private key to obtain processed character information. In practice, the execution subject can use the concatenated character digest as the base and perform exponential operation on the concatenated character digest according to the door lock device private key index included in the door lock device private key to obtain processed character information.

[0051] The fourth step is to perform a modulus processing on the processed character information according to the private key modulus of the door lock device to generate key signature information. In practice, the execution subject can perform a modulus processing on the processed character information according to the private key modulus of the door lock device to generate key signature information.

[0052] Step 1023, according to the server public key, encrypt the key signature information, the temporary terminal key and the door lock device identification information to obtain the encrypted key information.

[0053] In some embodiments, the execution entity may encrypt the key signature information, the temporary terminal key and the door lock device identification information according to the server public key to obtain encrypted key information.

[0054] Optionally, the server public key includes a server public key exponent and a server public key modulus. The server public key exponent may be a public key exponent constituting the server public key. The server public key modulus may be a public key modulus constituting the server public key.

[0055] In some optional implementations of some embodiments, the execution subject may encrypt the key signature information, the temporary terminal key and the door lock device identification information according to the server public key through the following steps to obtain the encrypted key information:

[0056] The first step is to sequentially splice the above-mentioned secret key signature information, the above-mentioned temporary terminal secret key and the above-mentioned door lock device identification information to obtain the spliced ​​character information.

[0057] The second step is to encode the above-mentioned spliced ​​character information to obtain the spliced ​​character code. In practice, the above-mentioned execution subject can perform binary encoding processing on each character in the above-mentioned spliced ​​character information through the above-mentioned preset character table to obtain the spliced ​​character code.

[0058] The third step is to perform exponential processing on the concatenated character code according to the server public key exponent included in the server public key to obtain the processed character code. The implementation method of performing exponential processing on the concatenated character code can refer to the implementation method of performing exponential processing on the concatenated character digest to obtain the processed character information, which will not be repeated here.

[0059] In the fourth step, the processed character code is modulo processed according to the server public key modulus included in the server public key to generate encrypted secret key information. The implementation method of performing modulo processing on the processed character code to generate encrypted secret key information can refer to the implementation method of performing modulo processing on the processed character information according to the private key modulus of the door lock device to generate key signature information, which will not be repeated here.

[0060] Step 1024, transmitting the encrypted key information to the mobile terminal through the Bluetooth connection established with the mobile terminal, so that the mobile terminal can transmit the encrypted key information to the target server for signature verification.

[0061] In some embodiments, the execution entity may transmit the encrypted key information to the mobile terminal via a Bluetooth connection established with the mobile terminal.

[0062] Step 1025, in response to determining that there is no instruction sequence code in the pre-built instruction sequence code set that satisfies the sequence code condition corresponding to the dynamic sequence code, executing the unlocking operation corresponding to the unlocking instruction information, and inserting the dynamic sequence code as the instruction sequence code into the instruction sequence code set.

[0063] In some embodiments, the execution subject may, in response to determining that there is no instruction sequence code satisfying the sequence code condition corresponding to the dynamic sequence code in the pre-constructed instruction sequence code set, execute the unlocking operation corresponding to the unlocking instruction information, and insert the dynamic sequence code as the instruction sequence code into the instruction sequence code set. Wherein, the unlocking instruction information and the dynamic sequence code are obtained after decrypting the encrypted door lock instruction information sent by the mobile terminal. In practice, first, the execution subject may, in response to receiving the encrypted door lock instruction information sent by the mobile terminal, decrypt the encrypted door lock instruction information by the temporary terminal secret key and the preset decryption algorithm to obtain the door lock instruction information. Wherein, the door lock instruction information includes unlocking instruction information and dynamic sequence code. The unlocking instruction information may be information for controlling the smart door lock to unlock. The dynamic sequence code may be information for marking the unlocking instruction information to avoid the same unlocking instruction information being repeatedly received by the smart door lock and repeatedly executing the corresponding unlocking operation. As an example, the decryption algorithm may be an AES decryption algorithm. Then, in response to determining that there is no instruction sequence code that satisfies the sequence code condition corresponding to the dynamic sequence code in the pre-built instruction sequence code set, the execution subject may execute the unlocking operation corresponding to the unlocking instruction information. The sequence code condition may be that the instruction sequence code in the instruction sequence code set is the same as the dynamic sequence code. Finally, the execution subject may insert the dynamic sequence code as the instruction sequence code into the instruction sequence code set.

[0064] Optionally, the encrypted backdoor lock instruction information may be generated by the mobile terminal through the following terminal processing steps:

[0065] The first step is to generate unlocking instruction information and a dynamic sequence code in response to determining that a Bluetooth connection is successfully established with the smart door lock. In practice, first, the mobile terminal can generate unlocking instruction information for controlling the smart door lock to unlock. Then, the mobile terminal can generate a random number as a dynamic sequence code through a random number generator.

[0066] The second step is to send the encrypted key information to the target server in response to receiving the encrypted key information sent by the smart door lock.

[0067] The third step is to receive the decrypted key information sent by the target server, wherein the decrypted key information may include the temporary terminal key and the door lock device identification information.

[0068] The fourth step is to encrypt the unlocking instruction information and the dynamic sequence code according to the temporary terminal secret key to generate encrypted backdoor lock instruction information, and update the dynamic sequence code. In practice, first, the mobile terminal can encrypt the unlocking instruction information and the dynamic sequence code by a preset encryption algorithm and the temporary terminal secret key to generate encrypted backdoor lock instruction information. As an example, the encryption algorithm can be an AES encryption algorithm. Then, the mobile terminal can update the dynamic sequence code by increasing the dynamic sequence code by 1.

[0069] Optionally, the decrypted key information may be obtained by the target server through the following server-side processing steps:

[0070] The first step is to, in response to receiving the encrypted key information sent by the mobile terminal, decrypt the encrypted key information according to the preset server private key to obtain the key signature information, the temporary terminal key and the door lock device identification information. In practice, the target server can decrypt the encrypted key information by the preset server private key to obtain the key signature information, the temporary terminal key and the door lock device identification information.

[0071] In the second step, a door lock device public key that satisfies the device identification condition corresponding to the door lock device identification information is selected from the pre-built door lock device public key set as the target door lock device public key. Among them, each door lock device public key in the door lock device public key set corresponds to each device identification information. Each device identification information in the above device identification information can be the door lock device identification information of the corresponding smart door lock. The above device identification condition can be that the door lock device identification information is the same as the device identification information corresponding to the target door lock device public key.

[0072] In the third step, based on the public key of the target door lock device, the secret key signature information is verified and the signature verification result is obtained. The above signature verification result can represent the verification result of the above secret key signature information. In practice, the above signature verification result can be a Boolean type variable. For example, when the above signature verification result is TRUE, it can be represented that the above verification signature has passed, that is, the risk that the above secret key signature information has been tampered with is low. When the above signature verification result is FALSE, it can be represented that the above verification signature has not passed, that is, the risk that the above secret key signature information has been tampered with is high.

[0073] Step 4: in response to determining that the signature verification result indicates that the verification has failed, sending a verification failure prompt message to the mobile terminal. The verification failure prompt message may be information for reminding the mobile terminal user that the signature verification has failed and that the door lock information has a risk of being leaked.

[0074] In a fifth step, in response to determining that the signature verification result indicates that the verification is passed, the temporary terminal key and the door lock device identification information are determined as decrypted key information.

[0075] Optionally, the target door lock device public key may include a door lock device public key index and a door lock device public key modulus. The door lock device public key index may be a public key index of the target door lock device public key. The door lock device public key modulus may be a public key modulus of the target door lock device public key. The server private key may include a server private key index and a server private key modulus. The server private key index may be a private key index of the server private key. The server private key modulus may be a private key modulus of the server private key. It should be noted that the door lock device public key modulus is the same as the door lock device private key modulus. The server private key modulus is the same as the server public key modulus.

[0076] In some optional implementations of some embodiments, the target server may perform signature verification processing on the secret key signature information according to the target door lock device public key through the following steps to obtain a signature verification result:

[0077] The first step is to perform exponential processing on the secret key signature information according to the door lock device public key included in the target door lock device public key to generate processed secret key signature information. The target server performs exponential processing on the secret key signature information to generate processed secret key signature information. The implementation method of performing exponential processing on the concatenated character digest to obtain processed character information can refer to the implementation method, which will not be repeated here.

[0078] The second step is to perform a modulus processing on the processed secret key signature information according to the door lock device public key modulus included in the target door lock device public key to generate verification signature information. The implementation method of performing a modulus processing on the processed secret key signature information to generate verification signature information can refer to the implementation method of performing a modulus processing on the processed character information according to the door lock device private key modulus to generate key signature information, which will not be repeated here.

[0079] The third step is to perform modulus processing on the secret key signature information according to the door lock device public key modulus included in the target door lock device public key to generate signature information to be verified.

[0080] In the fourth step, in response to determining that the signature information to be verified is the same as the verification signature information, a signature verification result indicating that the verification is passed is generated.

[0081] In a fifth step, in response to determining that the signature information to be verified is different from the verification signature information, a signature verification result indicating that the verification has failed is generated.

[0082] In some optional implementations of some embodiments, the target server may, in response to receiving the encrypted key information sent by the mobile terminal, decrypt the encrypted key information according to a preset server private key to obtain the key signature information, the temporary terminal key and the door lock device identification information through the following steps:

[0083] In the first step, the encrypted key information is subjected to exponential processing according to the server private key index included in the server private key to generate processed encrypted key information. The target server performs exponential processing on the encrypted key information according to the server private key index included in the server private key to generate processed encrypted key information. The implementation method of performing exponential processing on the concatenated character digest to obtain processed character information can be referred to, and will not be repeated here.

[0084] The second step is to perform a modulus processing on the processed encrypted key information according to the server private key modulus included in the server private key to generate encrypted key encoding information. The implementation method of performing a modulus processing on the processed encrypted key information according to the server private key modulus included in the server private key to generate encrypted key encoding information can refer to the implementation method of performing a modulus processing on the processed character information according to the door lock device private key modulus to generate key signature information, which will not be repeated here.

[0085] The third step is to perform reverse encoding processing on the encryption key encoding information to obtain encryption key character information. In practice, the execution subject can convert each eight-bit character in the encryption key encoding information into a string of binary codes into characters in the preset character table to obtain encryption key character information.

[0086] The fourth step is to segment the encrypted key character information to obtain the key signature information, the temporary terminal key and the door lock device identification information. In practice, the execution subject can sequentially segment the encrypted key character information according to the length of the key signature information, the length of the temporary terminal key and the length of the door lock device identification information to obtain the key signature information, the temporary terminal key and the door lock device identification information.

[0087] Optionally, the unlocking process may further include the following steps:

[0088] In the first step, in response to determining that there is an instruction sequence code in the instruction sequence code set that satisfies the sequence code condition corresponding to the dynamic sequence code, an unlocking failure prompt message is sent to the mobile terminal. The sequence code condition may be that the instruction sequence code and the dynamic sequence code are the same. The unlocking failure prompt message may be information for prompting the mobile terminal user that the door lock has failed to unlock.

[0089] In the second step, in response to determining that the Bluetooth connection with the mobile terminal is interrupted, the temporary terminal key, the encrypted backdoor lock instruction information and each instruction sequence code in the instruction sequence code set are deleted.

[0090] The above-mentioned embodiments of the present disclosure have the following beneficial effects: the security of the Bluetooth unlocking method can be improved through the unlocking method based on Bluetooth encryption of some embodiments of the present disclosure. Specifically, the reason for the reduction of the security of Bluetooth unlocking is that the encrypted unlocking instruction information is directly sent to the smart door lock, and the encrypted unlocking instruction information has the risk of being intercepted and tampered, and the long-term use of the door lock device key has a high risk of leakage, resulting in the security of the smart door lock. Based on this, the unlocking method based on Bluetooth encryption of some embodiments of the present disclosure, first, in response to receiving a Bluetooth communication request sent by the mobile terminal, establishes a Bluetooth connection with the above-mentioned mobile terminal. Among them, the above-mentioned smart door lock corresponds to the door lock device identification information, the door lock device private key and the server public key. Thus, the smart door lock can communicate with the above-mentioned mobile terminal through Bluetooth. Then, in response to receiving the Bluetooth unlocking request sent by the above-mentioned mobile terminal, the following unlocking processing steps are performed: the first step is to generate a temporary terminal secret key. Among them, the number of digits of the above-mentioned temporary terminal secret key is equal to the number of digits of the preset key. Thus, after receiving the Bluetooth unlocking request sent by the mobile terminal, by generating a temporary terminal key, the high risk of leakage caused by long-term use of a single key can be reduced. The second step is to digitally sign the temporary terminal key and the door lock device identification information according to the door lock device private key to generate key signature information. Thus, the security risk of information being intercepted and tampered during Bluetooth communication between the smart door lock and the mobile terminal can be reduced by digital signature processing, and the communication security can be improved. The third step is to encrypt the key signature information, the temporary terminal key and the door lock device identification information according to the server public key to obtain the encrypted key information. Thus, the security of information can be further improved by encryption processing. The fourth step is to transmit the encrypted key information to the mobile terminal through the Bluetooth connection established with the mobile terminal, so that the mobile terminal can transmit the encrypted key information to the target server for signature verification. Thus, the encrypted information can be effectively protected through multi-terminal signature verification, greatly reducing the possibility of interception and tampering of the encrypted information. In the fifth step, in response to determining that there is no instruction sequence code that satisfies the sequence code condition corresponding to the dynamic sequence code in the pre-constructed instruction sequence code set, the unlocking operation corresponding to the unlocking instruction information is executed, and the above-mentioned dynamic sequence code is inserted into the above-mentioned instruction sequence code set as the instruction sequence code. Among them, the above-mentioned unlocking instruction information and the above-mentioned dynamic sequence code are obtained by decrypting the encrypted door lock instruction information sent by the above-mentioned mobile terminal. Therefore, the above-mentioned encrypted door lock instruction information can be decrypted to obtain the door lock instruction information for executing the unlocking operation, and then the above-mentioned dynamic sequence code and the above-mentioned instruction sequence code set can be used to determine whether the above-mentioned door lock instruction information has been tampered with, thereby improving the security of Bluetooth unlocking.By adopting the temporary terminal password method, since each temporary terminal password is only used during a single unlocking task, the risk of temporary terminal password leakage can be reduced. When the temporary terminal password is leaked, since each temporary terminal password is only used for a single unlocking task and has a short validity period, it has little impact on the long-term security of the smart door lock, greatly improving the security of the Bluetooth unlocking method. By adopting the multi-terminal digital signature verification method, the risk of encrypted information being intercepted and tampered with can be greatly reduced through multi-terminal verification, thereby further improving the security of the Bluetooth unlocking method.

[0091] Reference below Figure 2 , which shows a schematic diagram of the structure of electronic components of a smart door lock 200 suitable for implementing some embodiments of the present disclosure. Figure 2 The electronic components of the smart door lock shown are merely examples and should not bring any limitations to the functions and scope of use of the embodiments of the present disclosure.

[0092] like Figure 2 As shown, the smart door lock 200 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 201, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 202 or a program loaded from a storage device 208 to a random access memory (RAM) 203. In RAM 203, various programs and data required for the operation of the smart door lock 200 are also stored. The processing device 201, ROM 202, and RAM 203 are connected to each other via a bus 204. An input / output (I / O) interface 205 is also connected to the bus 204.

[0093] Typically, the following devices may be connected to the I / O interface 205: an input device 206 including, for example, a touch screen, a touchpad, a Bluetooth device, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 207 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 208; a door lock assembly ( Figure 2 ); communication device 209, wherein the communication device 209 can allow the smart door lock to communicate with other devices wirelessly or wired to exchange data; Bluetooth device ( Figure 2 (not shown), wherein the above-mentioned Bluetooth device can allow the smart door lock to connect to Bluetooth. Figure 2 The smart door lock 200 with various devices is shown, but it should be understood that it is not required to implement or have all the devices shown. More or fewer devices can be implemented or have alternatively. Figure 2 Each block shown in the figure may represent one device, or may represent multiple devices as required.

[0094] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from a network through the communication device 208, or installed from the read-only memory 202. When the computer program is executed by the processing device 201, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.

[0095] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0096] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (Hyper Text Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0097] The above-mentioned computer-readable medium may be included in the above-mentioned smart door lock; or it may exist independently and not be assembled into the smart door lock. The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the smart door lock, the smart door lock: in response to receiving a Bluetooth communication request sent by the mobile terminal, establish a Bluetooth connection with the above-mentioned mobile terminal, wherein the above-mentioned smart door lock corresponds to the door lock device identification information, the door lock device private key and the server public key; in response to receiving a Bluetooth unlocking request sent by the above-mentioned mobile terminal, perform the following unlocking processing steps: generate a temporary terminal secret key, wherein the number of bits of the above-mentioned temporary terminal secret key is equal to the number of bits of the preset key; according to the above-mentioned door lock device private key, digitally sign the above-mentioned temporary terminal secret key and the above-mentioned door lock device identification information to generate secret key signature information; according to the above-mentioned server public key, digitally sign the above-mentioned secret key signature information, the above-mentioned temporary terminal secret key and the above-mentioned door lock device identification information to generate secret key signature information. The method comprises: encrypting the information to obtain the encrypted key information; transmitting the encrypted key information to the mobile terminal through the Bluetooth connection established with the mobile terminal, so that the mobile terminal transmits the encrypted key information to the target server for signature verification; in response to receiving the encrypted backdoor lock instruction information sent by the mobile terminal, decrypting the encrypted backdoor lock instruction information according to the temporary terminal key to obtain the door lock instruction information, wherein the door lock instruction information includes unlocking instruction information and a dynamic sequence code; in response to determining that there is no instruction sequence code that meets the sequence code condition corresponding to the dynamic sequence code in the pre-constructed instruction sequence code set, executing the unlocking operation corresponding to the unlocking instruction information, and inserting the dynamic sequence code as the instruction sequence code into the instruction sequence code set.

[0098] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0099] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0100] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0101] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) and the technical solutions formed.

Claims

1. A method for unlocking based on Bluetooth encryption, applied to smart door locks, comprising: In response to receiving a Bluetooth communication request sent by a mobile terminal, establishing a Bluetooth connection with the mobile terminal, wherein the smart door lock corresponds to the door lock device identification information, the door lock device private key and the server public key; In response to receiving the Bluetooth unlocking request sent by the mobile terminal, the following unlocking processing steps are performed: Generate a temporary terminal key, wherein the number of bits of the temporary terminal key is equal to the number of bits of the preset key, the Bluetooth unlock request includes the unlock request time and the mobile terminal identification information corresponding to the mobile terminal, the smart door lock also corresponds to temporary key time granularity information, the temporary key time granularity information includes each temporary key time granularity, and the generating of the temporary terminal key includes: Generate a random number as a temporary terminal key base, wherein the number of bits of the generated temporary terminal key base is less than the number of bits of the preset key; Randomly selecting a temporary key time granularity from each temporary key time granularity included in the temporary key time granularity information as a target time granularity; According to the target time granularity, performing timestamp conversion processing on the unlock request time to generate timestamp information; Concatenate the timestamp information, the mobile terminal identification information and the temporary terminal key base to obtain concatenated character information; Performing encoding conversion processing on the concatenated character sequence to generate a temporary key code; Performing code scrambling on the temporary key code to obtain a scrambled temporary secret key code; Performing a preset number of permutations on the random temporary key code to obtain a permuted temporary key code; In response to determining that the number of bits of the replaced temporary key code is equal to the number of bits of the preset key, determining the replaced temporary key code as a temporary terminal key; According to the door lock device private key, the temporary terminal secret key and the door lock device identification information are digitally signed to generate secret key signature information; According to the server public key, the secret key signature information, the temporary terminal secret key and the door lock device identification information are encrypted to obtain encrypted secret key information; The encrypted key information is transmitted to the mobile terminal via a Bluetooth connection established with the mobile terminal, so that the mobile terminal transmits the encrypted key information to a target server for signature verification; In response to determining that there is no instruction sequence code that meets the sequence code condition corresponding to the dynamic sequence code in the pre-constructed instruction sequence code set, an unlocking operation corresponding to the unlocking instruction information is executed, and the dynamic sequence code is inserted into the instruction sequence code set as an instruction sequence code, wherein the unlocking instruction information and the dynamic sequence code are obtained after decrypting the encrypted backdoor lock instruction information sent by the mobile terminal.

2. The method according to claim 1, wherein: The unlocking process step further includes: In response to determining that there is an instruction sequence code in the instruction sequence code set that satisfies the sequence code condition corresponding to the dynamic sequence code, sending unlocking failure prompt information to the mobile terminal; In response to determining that the Bluetooth connection with the mobile terminal is interrupted, the temporary terminal key, the encrypted backdoor lock instruction information and each instruction sequence code in the instruction sequence code set are deleted.

3. The method according to claim 1, wherein: The encrypted backdoor lock instruction information is generated by the mobile terminal through the following terminal processing steps: In response to determining that a Bluetooth connection is successfully established with the smart door lock, generating unlocking instruction information and a dynamic sequence code; In response to receiving the encrypted key information sent by the smart door lock, sending the encrypted key information to the target server; Receiving the decrypted key information sent by the target server, wherein the decrypted key information includes the temporary terminal key and the door lock device identification information; The unlocking instruction information and the dynamic sequence code are encrypted according to the temporary terminal secret key to generate encrypted backdoor lock instruction information, and the dynamic sequence code is updated.

4. The method according to claim 3, wherein: The decrypted key information is obtained by the target server through the following server-side processing steps: In response to receiving the encrypted secret key information sent by the mobile terminal, decrypting the encrypted secret key information according to the preset server private key to obtain the secret key signature information, the temporary terminal secret key and the door lock device identification information; Selecting a door lock device public key that satisfies a device identification condition corresponding to the door lock device identification information from a pre-constructed door lock device public key set as a target door lock device public key, wherein each door lock device public key in the door lock device public key set corresponds to each device identification information; According to the public key of the target door lock device, the secret key signature information is verified and the signature verification result is obtained; In response to determining that the signature verification result indicates that the verification has failed, sending verification failure prompt information to the mobile terminal; In response to determining that the signature verification result indicates that the verification is passed, the temporary terminal key and the door lock device identification information are determined as decrypted key information.

5. The method according to claim 2, wherein: The door lock device private key includes a door lock device private key index and a door lock device private key modulus; and The step of digitally signing the temporary terminal secret key and the door lock device identification information according to the door lock device private key to generate secret key signature information includes: Concatenating the temporary terminal key and the door lock device identification information to obtain concatenated character information; Generate a splicing character summary according to the splicing character information; According to the door lock device private key index included in the door lock device private key, the spliced ​​character digest is subjected to exponential processing to obtain processed character information; The processed character information is modulo processed according to the door lock device private key modulus to generate key signature information.

6. The method according to claim 5, wherein: The server public key includes a server public key exponent and a server public key modulus; and The method of encrypting the key signature information, the temporary terminal key and the door lock device identification information according to the server public key to obtain the encrypted key information includes: Concatenating the secret key signature information, the temporary terminal secret key and the door lock device identification information to obtain concatenated character information; Performing encoding processing on the spliced ​​character information to obtain a spliced ​​character code; According to the server public key exponent included in the server public key, the concatenated character code is subjected to exponential processing to obtain a processed character code; According to the server public key modulus included in the server public key, the processed character code is modulo processed to generate encrypted secret key information.

7. The method according to claim 4, wherein: The target door lock device public key includes a door lock device public key exponent and a door lock device public key modulus; as well as The method of performing signature verification processing on the secret key signature information according to the target door lock device public key to obtain a signature verification result includes: According to the door lock device public key exponent included in the target door lock device public key, the secret key signature information is subjected to exponential processing to generate processed secret key signature information; According to the door lock device public key modulus included in the target door lock device public key, the processed secret key signature information is modulo processed to generate verification signature information; According to the door lock device public key modulus included in the target door lock device public key, the secret key signature information is modulo processed to generate signature information to be verified; In response to determining that the signature information to be verified is the same as the verification signature information, generating a signature verification result indicating that the verification is passed; In response to determining that the signature information to be verified is different from the verification signature information, a signature verification result indicating that the verification has failed is generated.

8. The method according to claim 4, wherein: The server private key includes a server private key exponent and a server private key modulus; and The response to receiving the encrypted secret key information sent by the mobile terminal, decrypting the encrypted secret key information according to the preset server private key to obtain the secret key signature information, the temporary terminal secret key and the door lock device identification information, including: According to the server private key exponent included in the server private key, the encrypted key information is subjected to exponential processing to generate processed encrypted key information; According to the server private key modulus included in the server private key, performing modulus processing on the processed encryption key information to generate encryption key encoding information; Performing reverse encoding processing on the encryption key encoding information to obtain encryption key character information; The encrypted key character information is segmented to obtain the key signature information, the temporary terminal key and the door lock device identification information.

9. A smart door lock, comprising: one or more processors; Door lock assembly; A Bluetooth device, used for Bluetooth connection; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 8.

10. A door body, comprising: A door body and a smart door lock as claimed in claim 9, wherein the smart door lock is arranged on the door body.