Method and device for remote unlocking, intelligent door lock, server, storage medium

CN117253304BActive Publication Date: 2026-08-18QINGDAO HAIER TECH +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311120545.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-31
Publication Date
2026-08-18
Estimated Expiration
2043-08-31

AI Technical Summary

Technical Problem

例如,在移动终端或服务器端被黑客入侵的情况下,挑战码易被黑客伪造或篡改、控制智能门锁执行开锁动作,极大危害个人和家庭的财产安全

Benefits of technology

[0028]智能门锁生成的挑战码包括智能门锁的设备ID、门锁数字证书和私钥,设备ID保证了待开锁的智能门锁唯一,门锁数字证书和私钥是移动终端和服务器无法获取的信息。这使得即使黑客攻击了移动终端或服务器,也无法生成能通过智能门锁校验的挑战码,更无法生成包含该挑战码的远程开锁指令。远程开锁指令中的智能门锁的设备ID、门锁数字证书和私钥也无法通过校验,无法执行开锁动作。因此在黑客攻击了移动终端或服务器的情况下,能有效降低挑战码和远程开锁指令被伪造或篡改的风险,进而降低智能门锁执行开锁动作的风险,进而维护个人和家庭的财产安全。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117253304B_ABST
    Figure CN117253304B_ABST
Patent Text Reader

Abstract

The application discloses a method, a storage medium and an electronic device for remote unlocking, and relates to the technical field of smart home, which is applied to a smart door lock and comprises the following steps: generating a challenge code; wherein the challenge code comprises a device identity identifier (ID) of the smart door lock, a door lock digital certificate and a private key; sending the challenge code and a remote unlocking request; receiving a remote unlocking instruction; wherein the remote unlocking instruction comprises the challenge code; and performing an unlocking action in the case that a check factor of the remote unlocking instruction passes the check; wherein the check factor comprises the device ID of the smart door lock, the door lock digital certificate and the private key. In the case that a hacker attacks a mobile terminal or a server, the risk of forgery or tampering of the challenge code and the remote unlocking instruction can be effectively reduced, the risk of the smart door lock performing the unlocking action is further reduced, and the property safety of individuals and families is further maintained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of smart home appliances, and more specifically, to a method and apparatus for remote unlocking, a smart door lock, a server, and a storage medium. Background Technology

[0002] Currently, with the improvement of people's living standards and the continuous advancement of technology, more and more people are paying attention to home security. Traditional key locks can no longer meet people's security needs, so smart door locks have emerged.

[0003] The related technology discloses a method for remotely unlocking a smart key. Remote unlocking of a smart key includes two parts: a smart key management tool generating a challenge code and a smart key unlocking tool generating a response code. Setting the password refers to the smart key device manufacturer or smart key application provider calling the smart key administrator setting function to set the administrator and user passwords. The SDF interface call SKF_CreateApplication sets the administrator and user passwords. Remote unlocking utilizes the smart key management tool to remotely unlock the door lock through the smart key unlocking tool. Remote unlocking includes the following steps: Step 1: The smart key management tool generates a challenge code, which is a random number of length 16, stored in memory or a global variable. Step 1: The smart password key management tool generates a challenge code and sends it to the smart password key unlocking tool. Step 2: The smart password key unlocking tool receives the challenge code, which is used as the SM4 algorithm key to encrypt the data to be transmitted. Step 3: The smart password key unlocking tool receives the challenge code and uses it as the SM4 algorithm key to encrypt the data to be transmitted. Step 4: Generate a response code: a string consisting of the administrator's unlock password and the unlocked user password. If the string is not a multiple of 16, padding is added. The code is then encrypted using the SM4 algorithm, with the challenge code as the encryption key. Step 5: The response code is sent to the smart password key management tool. The tool calls the SM4 decryption function, using the challenge code as the decryption key, to complete the decryption operation, obtaining the administrator's password and the unlocked user password. The SKF interface calls the SKF_UnblockPIN function to complete the unlocking operation. Step 6: The unlocking is determined based on the return value.

[0004] In the process of implementing the embodiments of this disclosure, at least the following problems were found in the related art:

[0005] Smart locks in related technologies lack security design during remote unlocking and lack preventative mechanisms against security risks arising from network attacks, firmware attacks, and application layer protocol attacks. For example, if the mobile terminal or server is compromised by hackers, the challenge code can be easily forged or tampered with, allowing hackers to control the smart lock to perform unlocking actions, which greatly endangers the property security of individuals and families.

[0006] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0007] To provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not intended as a general commentary, nor is it intended to identify key / important components or describe the scope of protection of these embodiments, but rather as a prelude to the detailed description that follows.

[0008] This disclosure provides a method and apparatus for remote unlocking, a smart lock, a server, and a storage medium to reduce the risk of challenge codes being forged or tampered with by hackers, thereby controlling the smart lock to perform unlocking actions, and improving the property security of individuals and families in the event of a hacker intrusion into the mobile terminal or server.

[0009] In some embodiments, the method is applied to a smart lock and includes: generating a challenge code. The challenge code includes the smart lock's device ID (Identity Document), digital certificate, and private key. Sending the challenge code and a remote unlocking request. Receiving a remote unlocking command. The remote unlocking command includes the challenge code. If the verification factors of the remote unlocking command pass verification, performing an unlocking action. The verification factors include the smart lock's device ID, digital certificate, and private key.

[0010] Optionally, a challenge code can be generated if a visitor triggers the doorbell.

[0011] Optionally, the challenge code may also include: a user-valid time window; wherein the challenge code is generated based on the smart lock's device ID, the user-valid time window, the lock's digital certificate, and the private key.

[0012] Optionally, a challenge code is generated based on the smart lock's device ID, user validity time window, lock digital certificate, and private key, including: generating the challenge code using a hash algorithm or encryption algorithm from the smart lock's device ID, lock digital certificate, lock digital private key, and user validity time window.

[0013] Optionally, the verification factors of the remote unlocking command pass the verification, including: the validity of the verification factors of the remote unlocking command passes the verification, and the timeliness of the verification factors of the remote unlocking command passes the verification.

[0014] Optionally, the verification factors also include: the server's cloud identity, the binding relationship between the mobile terminal user and the door lock; and the validity of the verification factors for the remote unlocking command, including: the server's cloud identity is verified, the binding relationship between the mobile terminal user and the door lock is verified, the smart door lock's device ID is verified, and the door lock's digital certificate and private key are verified.

[0015] Optionally, the remote unlocking command may also include: a digital certificate and private key of the server used to verify the server's cloud identity; and the binding relationship between the mobile terminal user and the door lock.

[0016] Optionally, the verification factors also include: verification time; the timeliness of the verification factors of the remote unlocking command passes verification, including: the verification time of the remote unlocking command passes verification.

[0017] In some embodiments, the method is applied to a server and includes: receiving a challenge code, wherein the challenge code includes the smart lock's device ID, lock digital certificate, and private key; sending a remote unlocking request; and, upon receiving a request to confirm unlocking and generate a remote unlocking instruction, generating a remote unlocking instruction, wherein the remote unlocking instruction includes the challenge code; and sending the remote unlocking instruction to cause the smart lock to unlock if the verification factors of the remote unlocking instruction pass verification. The unlocking is executed if the verification factors of the instruction pass verification; wherein the verification factors include the smart lock's device ID, lock digital certificate, and private key.

[0018] Optionally, the temporary response code may also include: the binding relationship between the mobile terminal user and the door lock, the server's digital certificate and private key; wherein, the temporary response code is generated based on the challenge code, the binding relationship between the mobile terminal user and the door lock, and the server's digital certificate and private key.

[0019] Optionally, a temporary response code is generated based on the challenge code, the binding relationship between the mobile terminal user and the door lock, the server's digital certificate and private key, including: generating a temporary response code using a hash algorithm or encryption algorithm based on the challenge code, the binding relationship between the mobile terminal user and the door lock, the server's digital certificate and private key.

[0020] Optionally, the remote unlocking command is generated based on the challenge code and the temporary response code.

[0021] Optionally, a remote unlocking command is generated based on the challenge code and the temporary response code, including: generating the remote unlocking command from the challenge code and the temporary response code using a hash algorithm or a cryptographic algorithm.

[0022] Optionally, after receiving the challenge code, the process also includes sending the challenge code.

[0023] In some embodiments, the storage medium includes a stored program, wherein the program executes the method when it runs.

[0024] In some embodiments, the electronic device includes a memory and a processor, the memory storing a computer program and the processor being configured to execute the method via the computer program.

[0025] In some embodiments, the smart lock includes: a smart lock body; and a device for remote unlocking, installed in the smart lock body, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the method described by the computer program.

[0026] In some embodiments, the server includes: a server body; and a device for remote unlocking, installed in the server body, including a memory and a processor, the memory storing a computer program, the processor being configured to execute the method described by the computer program.

[0027] The method and apparatus for remote unlocking, smart lock, server, and storage medium provided in this disclosure can achieve the following technical effects:

[0028] The challenge code generated by a smart lock includes the smart lock's device ID, digital certificate, and private key. The device ID ensures the uniqueness of the smart lock to be unlocked, while the digital certificate and private key are information that mobile terminals and servers cannot access. This prevents hackers from generating a challenge code that passes the smart lock's verification, and thus from generating a remote unlocking command containing that challenge code, even if the mobile terminal or server is compromised. The smart lock's device ID, digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, this effectively reduces the risk of the challenge code and remote unlocking command being forged or tampered with, thereby reducing the risk of the smart lock executing an unlocking action and protecting the property security of individuals and families.

[0029] The above general description and the description below are exemplary and illustrative only and are not intended to limit this application. Attached Figure Description

[0030] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0031] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0032] Figure 1 This is a schematic diagram of the hardware environment for an interaction method of a smart device according to an embodiment of this application;

[0033] Figure 2 This is a schematic diagram illustrating a method for remote unlocking provided by an embodiment of this disclosure;

[0034] Figure 3 This is a schematic diagram illustrating another method for remote unlocking provided in this disclosure embodiment;

[0035] Figure 4 This is a schematic diagram illustrating another method for remote unlocking provided in this disclosure embodiment;

[0036] Figure 5 This is an application illustration of an embodiment of the present disclosure;

[0037] Figure 6 This is a schematic diagram of a device for remote unlocking provided in an embodiment of this disclosure. Detailed Implementation

[0038] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0039] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0040] According to one aspect of the embodiments of this application, an interaction method for smart home devices is provided. This interaction method for smart home devices is widely applicable to whole-house intelligent digital control application scenarios such as smart homes, smart home ecosystems, and intelligence house ecosystems. Optionally, in this embodiment, the above-mentioned interaction method for smart home devices can be applied to, for example... Figure 1 The hardware environment shown consists of terminal device 102 and server 104. For example... Figure 1 As shown, server 104 is connected to terminal device 102 via a network and can be used to provide services (such as application services) to the terminal or clients installed on the terminal. A database can be set up on the server or independently of the server to provide data storage services for server 104. Cloud computing and / or edge computing services can be configured on the server or independently of the server to provide data processing services for server 104.

[0041] The aforementioned network may include, but is not limited to, at least one of the following: wired network, wireless network. The aforementioned wired network may include, but is not limited to, at least one of the following: wide area network, metropolitan area network, local area network. The aforementioned wireless network may include, but is not limited to, at least one of the following: Wi-Fi (Wireless Fidelity), Bluetooth. The terminal device 102 may not be limited to PC, mobile phone, tablet computer, smart air conditioner, smart range hood, smart refrigerator, smart oven, smart stove, smart washing machine, smart water heater, smart washing equipment, smart dishwasher, smart projector, smart TV, smart clothes rack, smart curtains, smart audio-visual equipment, smart socket, smart speaker, smart speaker box, smart fresh air equipment, smart kitchen and bathroom equipment, smart bathroom equipment, smart robot vacuum cleaner, smart window cleaning robot, smart mopping robot, smart air purifier, smart steam oven, smart microwave oven, smart water heater, smart air purifier, smart water dispenser, smart door lock, etc.

[0042] Combination Figure 2 As shown, this disclosure provides a method for remote unlocking, including:

[0043] S201, the smart lock generates a challenge code. The challenge code includes the smart lock's device ID, digital certificate, and private key.

[0044] S202, the smart lock sends a challenge code and a remote unlocking request.

[0045] S203, the smart lock receives remote unlocking commands. These remote unlocking commands include a challenge code.

[0046] S204: If the verification factors of the remote unlocking command pass the verification, the smart lock will perform the unlocking action. These verification factors include the smart lock's device ID, digital certificate, and private key.

[0047] The remote unlocking method provided in this disclosure generates a challenge code for the smart lock, which includes the smart lock's device ID, digital certificate, and private key. The device ID ensures the uniqueness of the smart lock to be unlocked, while the digital certificate and private key are information that the mobile terminal and server cannot access. This prevents the generation of a challenge code that can pass the smart lock's verification, even if a hacker attacks the mobile terminal or server, from generating a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, the risk of the challenge code and remote unlocking command being forged or tampered with is effectively reduced, thereby reducing the risk of the smart lock executing an unlocking action and protecting the property security of individuals and families.

[0048] Optionally, the smart lock generates a challenge code when a visitor rings the doorbell. This ensures that the smart lock only generates a challenge code to initiate the remote unlocking process when a visitor rings the doorbell. If no visitor manually triggers the lock, even if a hacker attacks the mobile terminal or server, they cannot generate a challenge code that can pass the smart lock's verification, nor can they generate a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, this effectively reduces the risk of the challenge code and remote unlocking command being forged or tampered with, thereby reducing the risk of the smart lock executing an unlocking action and protecting the property security of individuals and families.

[0049] Optionally, the challenge code also includes a user-valid time window. The challenge code is generated by the smart lock based on its device ID, user-valid time window, digital certificate, and private key. Thus, the challenge code generated by the smart lock includes the user-valid time window. If the smart lock does not receive a remote unlocking command within the user-valid time window, the user-valid time window for the remote unlocking command will fail verification. This reduces the likelihood of the smart lock attempting to unlock after a visitor has left, thereby lowering the risk of the smart lock performing an unlocking action and protecting personal and family property security.

[0050] Optionally, the smart lock generates a challenge code based on the smart lock's device ID, user validity time window, lock digital certificate, and private key. This involves the smart lock generating the challenge code using a hash algorithm or encryption algorithm based on the device ID, lock digital certificate, lock digital private key, and user validity time window. In this way, the device ID ensures the uniqueness of the smart lock to be unlocked, and the lock digital certificate and private key are information that mobile terminals and servers cannot access. This prevents even if a hacker attacks the mobile terminal or server from generating a challenge code that passes the smart lock's verification, and also prevents the generation of a remote unlocking command containing that challenge code. The smart lock's device ID, lock digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, the risk of the challenge code and remote unlocking command being forged or tampered with is effectively reduced, thereby reducing the risk of the smart lock executing an unlocking action and protecting personal and family property security. Furthermore, if the smart lock does not receive a remote unlocking command within the user validity time window, the user validity time window of the remote unlocking command will fail verification. This reduces the likelihood of smart locks remotely unlocking after visitors have left, thereby lowering the risk of smart locks performing unlocking actions and protecting personal and family property security.

[0051] Optionally, the smart lock generates a challenge code using a hash algorithm or encryption algorithm based on the smart lock's device ID, digital certificate, digital private key, and user validity time window. This involves generating the challenge code using the smart lock's device ID, digital certificate, digital private key, user validity time window, and a random number. This ensures the uniqueness of the smart lock to be unlocked by the device ID, the digital certificate and private key are information inaccessible to mobile terminals and servers, and the user validity time window reduces the risk of the smart lock attempting to unlock after the visitor has left. Furthermore, generating the challenge code using a hash algorithm or encryption algorithm further enhances its security. Even if a hacker attacks the mobile terminal or server, they cannot generate a challenge code that passes the smart lock's verification, nor can they generate a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on a mobile terminal or server, it can effectively reduce the risk of challenge codes and remote unlocking commands being forged or tampered with, thereby reducing the risk of smart locks performing unlocking actions and thus protecting the property security of individuals and families.

[0052] Optionally, the smart lock generates a challenge code using a hash algorithm or encryption algorithm based on the smart lock's device ID, digital certificate, private key, user validity time window, and a random number. This process includes: the smart lock generates a string using the device ID, the hash of the digital key, a timestamp from the user validity time window, and a random number. The smart lock then uses a hash function to generate a hash value from this string. The smart lock encrypts the hash value using its private key to obtain a signature value for the challenge code from the digital certificate. The string and the signature value are then concatenated to obtain the challenge code. Specifically, the string can be in JSON (JavaScript Object Notation) format. The hash function can be SHA (Secure Hash Algorithm) - 256. This method of generating a challenge code using a hash algorithm or encryption algorithm from the smart lock's device ID, digital certificate, private key, and user validity time window further enhances the security of the challenge code. Even if a hacker attacks the mobile terminal or server, they will be unable to generate a challenge code that passes the smart lock's verification, let alone generate a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, this effectively reduces the risk of the challenge code and remote unlocking command being forged or tampered with, thereby reducing the risk of the smart lock executing the unlocking action and protecting the property security of individuals and families.

[0053] Optionally, the verification factors for the remote unlocking command may pass verification if: the validity of the remote unlocking command's verification factors passes verification, and the timeliness of the remote unlocking command's verification factors passes verification. Thus, the smart lock will only execute the unlocking action if the validity and timeliness of the smart lock's device ID, digital certificate, and private key in the remote unlocking command all pass verification. This ensures that even if a hacker attacks the mobile terminal or server, the smart lock's device ID, digital certificate, and private key in the remote unlocking command will fail the validity and timeliness verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, this effectively reduces the risk of the challenge code and remote unlocking command being forged or tampered with, thereby reducing the risk of the smart lock executing the unlocking action and protecting the property security of individuals and families.

[0054] Optionally, verification factors also include: the server's cloud identity, the binding relationship between the mobile terminal user and the door lock; and the validity of the verification factors for the remote unlocking command, including: the server's cloud identity passing verification, the binding relationship between the mobile terminal user and the door lock passing verification, the smart lock's device ID passing verification, and the door lock's digital certificate and private key passing verification. In this way, because the smart lock's device ID ensures the uniqueness of the smart lock to be unlocked, and the door lock's digital certificate and private key are information that the mobile terminal and server cannot obtain, these information are difficult for hackers to forge. This means that even if a hacker attacks the mobile terminal or server, the smart lock's device ID, door lock digital certificate, door lock digital private key, server's cloud identity, and the binding relationship between the mobile terminal user and the door lock in the remote unlocking command will fail the validity and timeliness verification, and the unlocking action cannot be executed. Therefore, in the event of a hacker attack on the mobile terminal or server, the risk of the challenge code and remote unlocking command being forged or tampered with can be effectively reduced. Meanwhile, the cloud identity of the server, the binding relationship between the mobile terminal user and the door lock are information from three parties: the server, the mobile terminal, and the smart door lock. If any one or two of these parties are hacked, the smart door lock will be unable to perform remote unlocking actions. This helps to protect the property security of individuals and families.

[0055] Optionally, the remote unlocking command also includes: the server's digital certificate and private key for verifying the server's cloud identity; and the binding relationship between the mobile terminal user and the smart lock. In this way, the server's digital certificate and private key for verifying the server's cloud identity, and the binding relationship between the mobile terminal user and the smart lock constitute information from three parties: the server, the mobile terminal, and the smart lock. If any one or two of these parties are compromised, the smart lock will be unable to perform remote unlocking. This helps to protect the property security of individuals and families.

[0056] Optionally, the verification factors also include: verification time; and the timeliness of the remote unlocking command verification factor passing verification, including: the verification time of the remote unlocking command passing verification. Specifically, the verification time of the remote unlocking command passing verification includes: the verification time of the remote unlocking command being within the user's valid time window. Thus, the smart lock will only perform the unlocking action when both the validity and timeliness of the remote unlocking command pass verification simultaneously. This reduces the occurrence of situations where the smart lock performs remote unlocking after the visitor has left, thereby reducing the risk of the smart lock performing unlocking actions and protecting the property security of individuals and families.

[0057] Optionally, if the verification factors of the remote unlocking command fail, the smart lock will not perform the unlocking action and will send an error message. In this way, if the timeliness of the remote unlocking command fails verification, the smart lock will not perform the unlocking action and will send an error message. This reduces the occurrence of situations where the smart lock performs remote unlocking after a visitor has left, thereby reducing the risk of the smart lock performing unlocking actions and protecting the property security of individuals and families.

[0058] Combination Figure 3 As shown in the embodiments of this disclosure, another method for remote unlocking is provided, including:

[0059] S301, the server receives the challenge code. The challenge code includes the smart lock's device ID, digital certificate, and private key.

[0060] S302, the server sends a remote unlocking request.

[0061] S303: Upon receiving a request to confirm unlocking and generate a remote unlocking command, the server generates a remote unlocking command. This remote unlocking command includes a challenge code.

[0062] S304, the server sends a remote unlocking command, causing the smart lock to unlock if the verification factors of the remote unlocking command pass the verification. These verification factors include the smart lock's device ID, digital certificate, and private key.

[0063] The remote unlocking method provided in this disclosure generates a challenge code for the smart lock, which includes the smart lock's device ID, digital certificate, and private key. The device ID ensures the uniqueness of the smart lock to be unlocked, while the digital certificate and private key are information that the mobile terminal and server cannot access. This prevents the generation of a challenge code that can pass the smart lock's verification, even if a hacker attacks the mobile terminal or server, from generating a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, the risk of the challenge code and remote unlocking command being forged or tampered with is effectively reduced, thereby reducing the risk of the smart lock executing an unlocking action and protecting the property security of individuals and families.

[0064] Optionally, the temporary response code also includes: the binding relationship between the mobile terminal user and the door lock, and the server's digital certificate and private key; wherein, the temporary response code is generated based on the challenge code, the binding relationship between the mobile terminal user and the door lock, and the server's digital certificate and private key. In this way, the server's cloud identity, the server's digital certificate and private key, and the binding relationship between the mobile terminal user and the door lock constitute information from three parties: the server, the mobile terminal, and the smart door lock. Furthermore, the challenge code is difficult for the server or the mobile terminal to forge. If any one or two parties are compromised, the smart door lock will be unable to perform remote unlocking. This is beneficial for protecting the property security of individuals and families.

[0065] Optionally, the server generates a temporary response code based on the challenge code, the binding relationship between the mobile terminal user and the door lock, and the server's digital certificate and private key. This includes the server generating the temporary response code using a hash algorithm or encryption algorithm based on the challenge code, the binding relationship between the mobile terminal user and the door lock, and the server's digital certificate and private key. In this way, the server's cloud identity, the server's digital certificate and private key, and the binding relationship between the mobile terminal user and the door lock constitute information from three parties: the server, the mobile terminal, and the smart door lock. Furthermore, the challenge code is difficult for the server or the mobile terminal to forge. If any one or two parties are compromised, the smart door lock will be unable to perform remote unlocking. This helps to protect the property security of individuals and families.

[0066] Optionally, the server generates a temporary response code using a hash algorithm or encryption algorithm based on the challenge code, the binding relationship between the mobile terminal user and the door lock, the server's digital certificate, and its private key. This includes: the server generating a string using the smart door lock's hardware ID (the challenge code), the key hash of the binding relationship between the mobile terminal user and the door lock, a hash value generated from the challenge code using a hash function, and the server's public key hash. The server generates a hash value from the string using a hash function. The server encrypts the hash value using the door lock's digital private key to obtain the signature value of the temporary response code from the server's digital certificate. The server concatenates the string with the signature value to obtain the challenge code. Specifically, the string can be in JSON format. The hash function can be SHA-256. In this way, the challenge code, the binding relationship between the mobile terminal user and the door lock, the server's digital certificate, and its private key generate a temporary response code using a hash algorithm or encryption algorithm, further enhancing the security of the challenge code. Even if a hacker attacks the mobile terminal or the server, they will be unable to generate a challenge code that can pass the smart door lock's verification, let alone generate a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, this effectively reduces the risk of the challenge code and remote unlocking command being forged or tampered with, thereby reducing the risk of the smart lock executing the unlocking action and protecting the property security of individuals and families.

[0067] Optionally, the remote unlocking command is generated based on a challenge code and a temporary response code. This ensures the smart lock to be unlocked is unique, as the device ID in the challenge code guarantees its uniqueness, and the lock's digital certificate and private key are information that the mobile terminal and server cannot access. Furthermore, the server's cloud identity (server digital certificate and private key) and the binding relationship between the mobile terminal user and the lock involve three parties: the server, the mobile terminal, and the smart lock. The challenge code in the temporary verification code is difficult for the server or mobile terminal to forge. If any one or both parties are compromised, the smart lock will be unable to perform the remote unlocking action. This helps protect personal and family property security. Even if a hacker attacks the mobile terminal or server, they cannot generate a challenge code that passes the smart lock's verification, nor can they generate a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being performed. Therefore, in the event of a hacker attack on a mobile terminal or server, it can effectively reduce the risk of challenge codes and remote unlocking commands being forged or tampered with, thereby reducing the risk of smart locks performing unlocking actions and thus protecting the property security of individuals and families.

[0068] Optionally, the server generates a remote unlocking command based on the challenge code and temporary response code. This includes the server generating the remote unlocking command from the challenge code and temporary response code using a hash algorithm or encryption algorithm. In this way, the device ID in the challenge code ensures the uniqueness of the smart lock to be unlocked, and the lock's digital certificate and private key are information that the mobile terminal and server cannot access. Furthermore, the server's cloud identity (the server's digital certificate and private key) and the binding relationship between the mobile terminal user and the lock are information from three parties: the server, the mobile terminal, and the smart lock. The challenge code in the temporary verification code is difficult for the server or mobile terminal to forge. If any one or two parties are compromised, the smart lock will be unable to perform a remote unlocking action. Further generating the remote unlocking command from the challenge code and temporary verification code using a hash algorithm or encryption algorithm enhances the security of the remote unlocking command and reduces the risk of forgery. This, in turn, helps protect the property security of individuals and families. This ensures that even if a hacker attacks the mobile terminal or server, they cannot generate a challenge code that can pass the smart lock's verification, nor can they generate a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, this effectively reduces the risk of the challenge code and remote unlocking command being forged or tampered with, thereby reducing the risk of the smart lock executing the unlocking action and protecting the property security of individuals and families.

[0069] Optionally, after receiving the challenge code, the server also sends the challenge code. This facilitates sending a challenge code that is difficult to forge to the mobile terminal. The challenge code generated by the smart lock includes the smart lock's device ID, digital certificate, and private key. The device ID ensures the uniqueness of the smart lock to be unlocked, while the digital certificate and private key are information that neither the mobile terminal nor the server can access. This makes it impossible for a hacker to generate a challenge code that can pass the smart lock's verification, let alone generate a remote unlocking command containing that challenge code, even if they attack the mobile terminal or the server.

[0070] Combination Figure 4 As shown in the embodiments of this disclosure, another method for remote unlocking is provided, including:

[0071] S401, the mobile terminal receives a remote unlocking request.

[0072] S402, if the owner confirms the unlocking action, the mobile terminal sends a request to confirm the unlocking and generate a remote unlocking command, so that the server generates a remote unlocking command.

[0073] The remote unlocking method provided in this disclosure requires the homeowner to confirm the unlocking action before the mobile terminal sends a request to unlock and generate a remote unlocking command, thus enabling the server to generate the remote unlocking command. During the generation of the remote unlocking command, the visitor, smart lock, server, mobile terminal, and homeowner are all indispensable. In the event of a hacker attack on the mobile terminal or server, this method effectively reduces the risk of the remote unlocking command being forged or tampered with, thereby reducing the risk of the smart lock executing the unlocking action and protecting personal and family property security.

[0074] Optionally, before the mobile terminal sends the request to confirm unlocking and generate a remote unlocking command, the process also includes receiving a challenge code. This ensures that the received challenge code is difficult to forge. The challenge code generated by the smart lock includes the smart lock's device ID, digital certificate, and private key. The device ID guarantees the uniqueness of the smart lock to be unlocked, while the digital certificate and private key are information that the mobile terminal and server cannot access. This prevents even if a hacker attacks the mobile terminal or server, from generating a challenge code that passes the smart lock's verification, and further prevents the generation of a remote unlocking command containing that challenge code.

[0075] In practical applications, such as Figure 5As shown, S501, the smart lock generates a challenge code. The challenge code includes the smart lock's device ID, digital certificate, and private key. S502, the smart lock sends the challenge code and a remote unlocking request. S503, the server receives the challenge code. S504, the server sends the remote unlocking request. S505, the mobile terminal receives the remote unlocking request. S506, if the owner confirms the unlocking action, the mobile terminal sends a request to confirm unlocking and generate a remote unlocking command. S507, upon receiving the requests to confirm unlocking and generate a remote unlocking command, the server generates a remote unlocking command. The remote unlocking command includes the challenge code. S508, the server sends the remote unlocking command. S509, the smart lock receives the remote unlocking command. S510, if the verification factors of the remote unlocking command pass verification, the smart lock executes the unlocking action. The verification factors include the smart lock's device ID, digital certificate, and private key.

[0076] The remote unlocking method provided in this disclosure generates a challenge code for the smart lock, which includes the smart lock's device ID, digital certificate, and private key. The device ID ensures the uniqueness of the smart lock to be unlocked, while the digital certificate and private key are information that the mobile terminal and server cannot access. This prevents the generation of a challenge code that can pass the smart lock's verification, even if a hacker attacks the mobile terminal or server, from generating a remote unlocking command containing that challenge code. The smart lock's device ID, digital certificate, and private key in the remote unlocking command will also fail verification, preventing the unlocking action from being executed. Therefore, in the event of a hacker attack on the mobile terminal or server, the risk of the challenge code and remote unlocking command being forged or tampered with is effectively reduced, thereby reducing the risk of the smart lock executing an unlocking action and protecting the property security of individuals and families.

[0077] Combination Figure 6 As shown, this disclosure provides a device 300 for remote unlocking, including a processor 600 and a memory 601. Optionally, the device may further include a communication interface 602 and a bus 603. The processor 600, communication interface 602, and memory 601 can communicate with each other via the bus 603. The communication interface 602 can be used for information transmission. The processor 600 can call logical instructions in the memory 601 to execute the remote unlocking method described in the above embodiment.

[0078] Furthermore, the logic instructions in the aforementioned memory 601 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium.

[0079] The memory 601, as a computer-readable storage medium, can be used to store software programs and computer-executable programs, such as program instructions / modules corresponding to the methods in the embodiments of this disclosure. The processor 600 executes functional applications and data processing by running the program instructions / modules stored in the memory 601, thereby implementing the remote unlocking method described in the above embodiments.

[0080] The memory 601 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the terminal device. Furthermore, the memory 601 may include high-speed random access memory and may also include non-volatile memory.

[0081] This disclosure provides a smart lock, including a smart lock body and the aforementioned remote unlocking device. The remote unlocking device is installed in the smart lock body. The installation relationship described herein is not limited to placement inside the smart lock, but also includes installation connections with other components of the smart lock, including but not limited to physical connections, electrical connections, or signal transmission connections. Those skilled in the art will understand that the remote unlocking device can be adapted to any feasible smart lock body, thereby realizing other feasible embodiments.

[0082] This disclosure provides a server, including a server body and the aforementioned device for remote unlocking. The device for remote unlocking is installed on the server body. The installation relationship described herein is not limited to placement within the server, but also includes installation connections with other components of the server, including but not limited to physical connections, electrical connections, or signal transmission connections. Those skilled in the art will understand that the device for remote unlocking can be adapted to suitable server bodies to achieve other feasible embodiments.

[0083] This disclosure provides a mobile terminal, including a mobile terminal body and the aforementioned remote unlocking device. The remote unlocking device is installed in the mobile terminal body. The installation relationship described herein is not limited to placement within the mobile terminal, but also includes installation connections with other components of the mobile terminal, including but not limited to physical connections, electrical connections, or signal transmission connections. Those skilled in the art will understand that the remote unlocking device can be adapted to suitable mobile terminal bodies to achieve other feasible embodiments.

[0084] This disclosure provides a computer-readable storage medium storing computer-executable instructions configured to perform the above-described method for remote unlocking.

[0085] The aforementioned computer-readable storage medium may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.

[0086] The technical solutions of this disclosure can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes one or more instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in this disclosure. The aforementioned storage medium can be a non-transitory storage medium, including: a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and other media capable of storing program code; it can also be a transient storage medium.

[0087] The foregoing description and accompanying drawings fully illustrate embodiments of this disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, procedural, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the order of operation may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terminology used in this application is for describing embodiments only and is not intended to limit the claims. As used in the description of embodiments and claims, the singular forms “a,” “an,” and “the” are intended to equally include the plural forms unless the context clearly indicates otherwise. Similarly, the term “and / or” as used in this application means including one or more of the associated listed items and all possible combinations thereof. Additionally, when used in this application, the term "comprise" and its variations "comprises" and / or "comprising" refer to the presence of stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof. Without further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the process, method, or apparatus that includes said element. In this document, each embodiment may focus on the differences from other embodiments, and similar or identical parts between embodiments can be referred to mutually. For methods, products, etc., disclosed in the embodiments, if they correspond to the method section disclosed in the embodiments, the relevant parts can be referred to the description of the method section.

[0088] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this disclosure. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0089] The methods and products (including but not limited to devices and equipment) disclosed in the embodiments herein can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units may be merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the shown or discussed units may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to implement this embodiment according to actual needs. Furthermore, the functional units in the embodiments of this disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0090] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than that shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different blocks may also occur in a different order than disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. Each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0091] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method for remote unlocking, applied to a smart door lock, characterized in that, include: Generate a challenge code; wherein the challenge code includes the smart lock's device ID, lock digital certificate, private key, and user validity time window; the smart lock generates the challenge code using a hash algorithm or encryption algorithm based on the smart lock's device ID, lock digital certificate, lock digital private key, and user validity time window; Send a challenge code and a remote unlocking request; Receive remote unlocking command; wherein, the remote unlocking command includes a challenge code and a temporary response code, the temporary response code containing the server's digital certificate, the server's private key signature, and the binding relationship between the mobile terminal user and the door lock; If the verification factors of the remote unlocking command pass the verification, the unlocking action is executed. Passing the verification factors of the remote unlocking command includes: the validity of the remote unlocking command's verification factors passing the validity verification, and the timeliness of the remote unlocking command's verification factors passing the validity verification. The validity verification includes: verifying the legitimacy of the server's cloud identity, verifying the legitimate binding relationship between the mobile terminal user and the door lock, verifying the matching of the smart door lock's device ID, and verifying the legitimacy of the door lock's digital certificate and private key signature in the challenge code. The timeliness verification includes: verifying that the current verification time is within the user's valid time window.

2. The method according to claim 1, characterized in that, A challenge code is generated when a visitor rings the doorbell.

3. The method according to claim 1, characterized in that, Smart locks generate a challenge code using a hash algorithm or encryption algorithm based on the smart lock's device ID, digital certificate, digital private key, and user validity time window. The code includes: A smart lock generates a challenge code using a hash algorithm or encryption algorithm, which consists of the smart lock's device ID, digital certificate, digital private key, user validity time window, and random number.

4. A method for remote unlocking, applied to a server, characterized in that, Receive a challenge code; wherein the challenge code is formed by concatenating the original information string with the signature value of the door lock digital certificate, the original information string includes the smart door lock device ID, door lock digital certificate, user valid time window and random number, and the signature value is generated by encrypting the hash value of the original information string with the door lock digital private key; Send a remote unlocking request and the challenge code; Upon receiving a request to confirm unlocking and generate a remote unlocking command, a remote unlocking command is generated; wherein, the remote unlocking command includes a challenge code and a temporary response code, the temporary response code containing the server's digital certificate, the server's private key signature, and the binding relationship between the mobile terminal user and the smart lock; A remote unlocking command is sent to enable the smart lock to unlock if the verification factors of the remote unlocking command pass the verification. Passing the verification of the remote unlocking command includes verifying the validity of the verification factors and the timeliness of the verification factors. The validity verification includes verifying the legitimacy of the server's cloud identity, verifying the legitimate binding relationship between the mobile terminal user and the lock, verifying the matching of the smart lock's device ID, and verifying the legitimacy of the lock's digital certificate and private key signature in the challenge code. The timeliness verification includes verifying that the current verification time is within the user's valid time window.

5. The method according to claim 4, characterized in that, Generate remote unlocking commands, including: Receive user identity and digital signature from mobile terminal; Once the user's identity and digital signature on the mobile terminal are verified, a temporary response code is generated; the temporary response code includes a challenge code. Generate a remote unlocking command; the remote unlocking command includes a challenge code and a temporary response code.

6. The method according to claim 5, characterized in that, The temporary response code is generated based on the challenge code, the binding relationship between the mobile terminal user and the door lock, and the server's digital certificate and private key.

7. The method according to claim 5, characterized in that, The remote unlocking command is generated based on the challenge code and the temporary response code.

8. A storage medium, characterized in that, The storage medium includes a stored program, wherein the program, when executed, performs the method according to any one of claims 1 to 7.

9. A device for remote unlocking, comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to execute the method of any one of claims 1 to 7 through the computer program.

10. A smart door lock, characterized in that, include: The smart door lock itself; A device for remote unlocking is installed in the smart lock body, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to execute the method of any one of claims 1 to 3 through the computer program.

11. A server, characterized in that, include: Server body; A device for remote unlocking is installed in the server body, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to execute the method of any one of claims 4 to 7 through the computer program.

Citation Information

Patent Citations

  • Verification result determination method and device, storage medium and electronic device

    CN116563976A