CN114792003A - Method and device for verifying lock password and lock equipment - Google Patents

Method and device for verifying lock password and lock equipment Download PDF

Info

Publication number
CN114792003A
CN114792003A CN202110025230.3A CN202110025230A CN114792003A CN 114792003 A CN114792003 A CN 114792003A CN 202110025230 A CN202110025230 A CN 202110025230A CN 114792003 A CN114792003 A CN 114792003A
Authority
CN
China
Prior art keywords
password
random seed
lock
temporary
temporary lock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110025230.3A
Other languages
Chinese (zh)
Inventor
王伟刚
彭洪彬
范长贵
彭小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110025230.3A priority Critical patent/CN114792003A/en
Publication of CN114792003A publication Critical patent/CN114792003A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00388Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks code verification carried out according to the challenge/response method
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/0042Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal containing a code which is changed
    • G07C2009/00476Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal containing a code which is changed dynamically
    • G07C2009/005Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal containing a code which is changed dynamically whereby the code is a random code

Abstract

The application relates to a method and a device for verifying a lock password and lock equipment. The method comprises the following steps: acquiring a temporary lock password to be verified; acquiring a random seed and a user password, wherein the random seed is a randomly generated character string with limited use times; determining a reference temporary lock password according to the random seed and the user password; and opening the lock body under the condition that the temporary lock password to be verified is matched with the reference temporary lock password.

Description

Method and device for verifying lock password and lock equipment
Technical Field
The application relates to the field of intelligent equipment, in particular to a method and a device for verifying a lock password and lock equipment.
Background
With the development of the smart home industry, more and more users begin to select smart home products. Compared with the traditional door lock, the convenience of the intelligent door lock becomes a new trend. Most intelligent lock can support multiple unblock modes such as password, fingerprint, NFC at present, and to the owner of lock, very convenient. However, in some use scenes, such as access by friends, door cleaning by cleaners and the like, the users need to be provided with the door opening permission, but do not want to inform the users of the door lock password, so that a temporary password can be provided, the unlocking requirement of the scene can be met, and the long-term password can be prevented from being leaked.
Some ways of generating temporary lock passwords are provided in the related art. In one of the ways, the door lock may generate a batch of temporary lock passwords in advance and send the temporary lock passwords to the user client via bluetooth. The temporary lock password is invalid after being used once, the number of the temporary lock passwords is limited, and after the temporary lock passwords are used up, a door lock is required to be connected to obtain the next batch of temporary lock passwords. The temporary lock password is stored in a local memory of the mobile phone, the security is not high, and the password disappears after the corresponding APP is unloaded. In another mode, a background server of the intelligent door lock generates authentication information and sends the authentication information to a client of a user in a link mode. And if the user wants to authorize the temporary user to open the door, the link of the authentication information needs to be sent to the temporary user. The temporary user still needs to download the corresponding APP, and after the APP finishes information registration, the link of the authentication information can be opened, and the operation is complex.
Therefore, the methods for generating the temporary lock password in the related art have the problems of low security, complicated user operation and the like, and therefore a method for generating the temporary lock password that is safe, reliable and simple in operation is urgently needed in the related art.
Disclosure of Invention
In view of this, a method, an apparatus and a lock device for verifying a lock password are provided.
In a first aspect, an embodiment of the present application provides a method for verifying a lock password, including:
acquiring a temporary lock password to be verified;
acquiring a random seed and a user password, wherein the random seed is a randomly generated character string with limited use times;
determining a reference temporary lock password according to the random seed and the user password;
and opening the lock body under the condition that the temporary lock password to be verified is matched with the reference temporary lock password.
The embodiment of the application provides a method for verifying the lock password from the perspective of the lock device, and the lock device can generate a reference temporary lock password according to a random seed and a user password in the process of verifying the temporary lock password and verify the received temporary lock password by using the reference temporary lock password. The random seed is generated randomly and has a limitation on the number of times of use, that is, the random seed is updated frequently and has randomness, so that the corresponding generated temporary lock password is updated frequently and is irregular and recyclable, and the security is high. In addition, the random seed and the user-defined user password are used for generating the reference temporary lock password, so that the safety of the temporary lock password can be further improved.
According to a first possible implementation manner of the first aspect, the obtaining the temporary lock password to be verified includes:
acquiring a graphic code;
and analyzing the graphic code to obtain a temporary lock password contained in the graphic code.
In the embodiment, the temporary lock password is converted into the graphic code, so that the user does not need to relate to the content of the temporary lock password, and the use is more convenient.
According to a second possible implementation manner of the first aspect, after the lock body is opened, the method further includes:
sending a notification message of completing temporary unlocking;
a new random seed is received and stored, the new random seed being used to verify a next temporary lock password.
In this embodiment, after the temporary unlocking is completed, the lock device may send a communication message of the temporary unlocking to the server, and the server may generate a new random seed and send the new random seed to the lock device. The locking device can store the temporary lock password before verifying the lock password next time, so that the locking device can verify the temporary lock password in an off-line manner, namely, the locking device does not depend on the quality of a communication network, and the verification safety can be improved.
According to a third possible implementation manner of the first aspect, the determining a reference temporary locking password according to the random seed and the user password includes:
generating a key seed using the random seed and the user password;
and generating the reference temporary lock password by using the key seed and timestamp information, wherein the timestamp information is set to be the same information in a preset time period.
In this embodiment, can pass through timestamp information restriction the length of time of use of temporary lock password, strengthen the timeliness of temporary lock password promotes the security of verifying.
According to a fourth possible implementation form of the first aspect, the graphical code is arranged to be generated by:
determining a temporary lock password according to the random seed and the user password;
and converting the temporary lock password into a graphic code, or converting the encrypted temporary lock password into the graphic code.
In this embodiment, the temporary lock password may be encrypted before being converted into the graphic code, so as to further improve the security of the temporary lock password.
According to a fifth possible implementation manner of the first aspect, the graphic code includes at least one of a two-dimensional code and a barcode.
In this embodiment, the temporary lock password or the encrypted temporary lock password is converted into a two-dimensional code, a barcode and other graphic codes, so that high-density information can be converted into a simple graphic code, and the two-dimensional code and the barcode have the advantages of strong fault-tolerant capability, low cost, simplicity and convenience in use, mature technology and the like.
In a second aspect, an embodiment of the present application provides a method for generating a lock password, including:
acquiring a user password;
under the condition that the user password passes verification, acquiring a random seed, wherein the random seed is a randomly generated character string with limited use times;
and determining a temporary lock password according to the random seed and the user password.
The embodiment of the application provides a method for generating a lock password from the perspective of a client, and the client can generate a temporary lock password according to a random seed and a user password. The random seed is generated randomly and has a limitation on the number of times of use, that is, the random seed is updated frequently and has randomness, so that the corresponding generated temporary lock password is updated frequently and irregularly, and the security is high. In addition, the temporary lock password is generated by using the random seed and the user-defined user password, so that the safety of the temporary lock password can be further improved.
According to a first possible implementation manner of the second aspect, the determining a temporary lock password according to the random seed and the user password includes:
generating a key seed using the random seed and the user password;
and generating the reference temporary lock password by using the key seed and timestamp information, wherein the timestamp information is set to be the same information in a preset time period.
In this embodiment, can through timestamp information restriction lock the length of time of use of password temporarily, strengthen lock the ageing of password temporarily, promote the security of verifying.
According to a second possible implementation manner of the second aspect, after the determining the temporary lock password according to the random seed and the user password, the method further includes:
and converting the temporary lock password into a graphic code, or converting the temporary lock password into the graphic code after encrypting.
In this embodiment, the temporary lock password may be encrypted before being converted into the graphic code, so as to further improve the security of the temporary lock password. In addition, the temporary lock password or the encrypted temporary lock password is converted into graphic codes such as two-dimensional codes and bar codes, high-density information can be converted into simple graphic codes, and the two-dimensional codes and the bar codes have the advantages of being strong in fault-tolerant capability, low in cost, simple and convenient to use, mature in technology and the like.
According to a third possible implementation manner of the second aspect, the obtaining of the random seed includes;
sending a request for acquiring a random seed;
a random seed is received.
In this embodiment, the random seed may be generated by another main body such as a server, so as to further enhance the randomness and uncertainty of the random seed.
In a third aspect, an embodiment of the present application provides an information processing method, including:
receiving a notification message of completing temporary unlocking;
randomly generating a random seed with a use time limit, wherein the random seed is used for verifying the next temporary lock password;
and sending the random seed.
The embodiment of the application provides an information processing method from the perspective of a server, and after receiving a notification message of temporary unlocking, the server can randomly generate a random seed with a use number limit and send the random seed. On one hand, the random seed is generated randomly and has a limitation on the number of times of use, that is, the random seed is updated frequently and has randomness, so that the corresponding generated temporary lock password is updated frequently and is irregular and highly secure. In another aspect, the server may send the temporary lock password to a locking device, which may have stored the temporary lock password before the next verification of the lock password. Therefore, the locking device can verify the temporary lock password in an off-line mode, namely, the device does not depend on the quality of a communication network, and the verification safety can be improved.
According to a first possible implementation manner of the third aspect, after the generating the random seed, the method further includes:
receiving a request for obtaining a random seed;
transmitting the random seed in response to the request.
In this embodiment, a random seed is generated by a server or the like, and randomness and uncertainty of the random seed can be further enhanced.
According to a second possible implementation manner of the third aspect, after the generating the random seed, the method further includes:
receiving a request for acquiring a temporary lock password;
responding to the request, acquiring a user password, and determining a temporary lock password according to the random seed and the user password;
and sending the temporary lock password.
In this embodiment, the server may further generate a temporary lock password, and send the temporary lock password to the client.
In a fourth aspect, an embodiment of the present application provides an information processing method, including:
receiving a request for obtaining a random seed;
randomly generating a random seed having a usage number limit in response to the request;
and sending the random seed.
According to a first possible implementation manner of the fourth aspect, the sending the random seed includes:
and sending the random seed to the client and the locking device.
The embodiment of the application provides an information processing method from the perspective of a server, and after receiving a request for acquiring a random seed from a client, the server can respond to the request, randomly generate a random seed with limited use times, and send the random seed to the client and a locking device. Thus, another embodiment for sending a random seed is provided.
In a fifth aspect, an embodiment of the present application provides a lock device, including a lock body, a processor, and a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the method for verifying a lock password provided by the first aspect and any possible implementation manner of the first aspect.
According to a first possible implementation manner of the fifth aspect, the method further includes:
and the graphic code reading device is used for reading the graphic code.
According to a second possible implementation manner of the fifth aspect, the method further includes:
a memory for storing the user password and the random seed.
In a sixth aspect, an embodiment of the present application provides an intelligent lock management system, which includes a lock device, a client, and a server, wherein,
the lock device is configured to implement the method for verifying a lock password provided by any one of the first aspect and the first possible implementation manner of the first aspect;
the client is configured to implement the method for generating a lock password provided by any one of the second aspect and the possible implementation manners of the second aspect;
the server is configured to implement the information processing method provided by any one of the third aspect, the fourth aspect, and any one of the possible implementation manners of the third aspect and the fourth aspect.
In a seventh aspect, an embodiment of the present application provides an electronic device, including:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the method provided by any one of the possible implementations of any one of the above aspects.
In an eighth aspect, embodiments of the present application provide a non-transitory computer-readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the method provided by any one of the above possible implementations.
In a ninth aspect, embodiments of the present application provide a computer program product, which includes computer readable code or a non-transitory computer readable storage medium carrying computer readable code, when the computer readable code runs in a processor of an electronic device, the processor in the electronic device implements the method provided in any one of the above possible implementation manners.
In a tenth aspect, embodiments of the present application provide a chip, where the chip includes at least one processor, and the processor is configured to execute a computer program or computer instructions stored in a memory to perform a method provided in any one of the possible implementations of the foregoing aspects.
Optionally, the chip may further comprise a memory for storing a computer program or computer instructions. Optionally, the chip may further include a communication interface for communicating with other modules outside the chip.
Alternatively, one or more chips may constitute a system of chips.
These and other aspects of the present application will be more readily apparent in the following description of the embodiment(s).
Drawings
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the application and, together with the description, serve to explain the principles of the application.
Fig. 1 shows a schematic structural diagram of an intelligent lock management system.
Fig. 2 shows a flow chart of interaction between agents in the intelligent lock management system.
Fig. 3 shows a flow chart of interaction between agents in the intelligent lock management system.
Fig. 4 shows a flow chart of interaction between principals in an intelligent lock management system.
Fig. 5 is a flowchart illustrating a method for verifying a password of a lock according to an embodiment of the present disclosure.
Fig. 6 is a flowchart illustrating a method for generating a lock password according to an embodiment of the present application.
Fig. 7 illustrates a flowchart of an information processing method according to an embodiment of the present application.
Fig. 8 is a flowchart illustrating an information processing method according to an embodiment of the present application.
Fig. 9 shows a schematic structural view of a lock device according to an embodiment of the present application.
Fig. 10 shows a front view of a lock device according to an embodiment of the present application.
Fig. 11 shows a block diagram of a software structure of a lock device according to an embodiment of the present application.
Detailed Description
Various exemplary embodiments, features and aspects of the present application will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present application. It will be understood by those skilled in the art that the present application may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present application.
In the embodiments of the present application, "/" may indicate a relationship in which the former and latter associated objects are "or", for example, a/B may indicate a or B; "and/or" may be used to describe that there are three relationships for the associated object, e.g., A and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. For convenience in describing the technical solutions of the embodiments of the present application, in the embodiments of the present application, terms such as "first" and "second" may be used to distinguish technical features having the same or similar functions. The terms "first", "second", and the like do not necessarily limit the number and execution order, and the terms "first", "second", and the like do not necessarily differ. In the embodiments of the present application, the words "exemplary" or "such as" are used to mean examples, illustrations or illustrations, and any embodiment or design described as "exemplary" or "such as" is not to be construed as preferred or advantageous over other embodiments or designs. The use of the terms "exemplary" or "such as" are intended to present relevant concepts in a concrete fashion for ease of understanding.
In the embodiment of the present application, for a technical feature, the technical features in the technical feature are distinguished by "first", "second", "third", "a", "B", "C", and "D", and the like, and the technical features described in "first", "second", "third", "a", "B", "C", and "D" are not in a sequential order or a size order.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present application. It will be understood by those skilled in the art that the present application may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present application.
Fig. 1 shows a schematic structural diagram of an intelligent lock management system 100 provided in an embodiment of the present application, and fig. 2 shows an interaction flow diagram of an embodiment of a using method based on the intelligent lock management system 100. As shown in fig. 1, the intelligent lock management system 100 may include: locking device 101, server 103, client 105. The locking device 101, the server 103 and the client 105 are configured to perform a method according to any of the following embodiments.
As shown in fig. 2, the embodiment of the present application relates to a master user and a temporary user, the master user is an owner of the lock device 101 or a user authorized for long-term use, such as a landlord, a tenant, or an owner of an article, and the temporary user may be a user to which the master user is authorized to temporarily open the lock device 101, for example, a worker who temporarily enters a house to clean a sanitary room, a lovely person who temporarily enters a house to feed a pet, a friend who visits, and the like. The lock apparatus 101 may be applied to a door body or an opening/closing place of various object facilities, which may typically include houses, safes, ships, luggage, and the like. The lock device 101 in the embodiment of the present application may include a wireless communication module, and the wireless communication module may include a Wireless Local Area Network (WLAN) (e.g., a wireless fidelity (Wi-Fi) network), and the like. Through the wireless communication module, the lock device 101 can communicate with the server 103. The server 103 may provide a predetermined port through which information transmitted by the lock device 101 and the client 105 may be received. For example, the server may perform network data interaction with the lock device 101 and the client 105 based on a network protocol such as HTTP, TCP/IP, or FTP. In the embodiment of the present application, the client 105 may include a terminal device capable of accessing a communication network based on a network protocol. Specifically, for example, the client 105 may include a mobile smart phone, a computer (including a laptop computer, a desktop computer), a tablet electronic device, a Personal Digital Assistant (PDA), or a smart wearable device. Furthermore, the client 105 may also be an application, an applet, a fast application, etc. running on any of the above listed devices, which is not limited herein.
As shown in step 1 of fig. 2, in a case where the lock device 101 is installed for the first time, the master user may set a user password through the client 105, where the user password may include a password that is customized by the master user and is kept by the master user. In an embodiment of the present application, after the master user sets the user password in the client 105, the client 105 may store the user password locally without sending the user password to the server 103 for storage, which may enhance the security of the user password storage. Of course, the master user may also update the user password at any time, which is not limited herein. In step 2, after receiving the user password and verifying the legal identity of the user, the client 105 may instruct the master user to complete registration in the server 103, for example, generate information such as a user account and a login password and register identification information of the lock device 101 in the server 103, and associate the identification information of the lock device 101 with the user account. In an embodiment of the present application, in a case that the security of the server 103 is high, the client 105 may also send the user password to the server 103, and the server 103 may store the user password. In addition, in the subsequent process of verifying the temporary lock password by the lock device 101, the user password also needs to be used, and therefore, the lock device 101 also needs to store the user password. In one embodiment, the user may manually store the user password at the lock device 101. In another embodiment, after the locking device 101 is networked, the server 103 may synchronize the acquired user password to the locking device 101. Similarly, the server 103 may synchronize the updated user password to the lock device 101 after receiving the updated user password.
As shown in step 3 of fig. 2, after determining that the registration of the lock device 101 is completed, the server 103 may generate a random seed and send the random seed to the lock device 101. The random seed may include a string that is randomly generated and has a limit on the number of uses. In some examples, the random seed may be a string of at least one of numbers, letters, special characters. The length of the random seed may include 64 bits, 128 bits, etc., and of course, the random seed may include a character string with any length, which is not limited herein. Due to the characteristic of temporary use of the temporary password, it may be determined that the temporary password has a limitation of the number of uses, such as being disposable, being limited to be used 3 times, 5 times, etc., and then, correspondingly, the random seed may also have a limitation of the number of uses. Based on this, a function of custom setting the number of times of use can be provided to the master user. Each time the random seed is used, the lock device 101 may send an unlocking event to the server 103, and the server 103 may reduce the remaining number of times of use of the random seed according to the number of times of receiving the unlocking event until the remaining number of times of use is zero.
As shown in step 4 of fig. 2, the master user may apply for a temporary lock password in the client 105. The client 105 may request a random seed from the server 103 in step 5 in response to the request of the primary user, and the server 103 may transmit the random seed to the client 105 in response to the request of the client 105 in step 6. Step 3 of fig. 2 shows that in case the lock device 101 is installed for the first time, the server 103 assigns a random seed to the client 105. In an embodiment of the present application, in a case that the temporary lock password is not generated for the first time, as shown in step 12 and step 13, after the locking device 101 sends a message of completing unlocking, the server 103 may automatically generate a new random seed and send the new random seed to the locking device 101. In this embodiment, in the process of verifying the temporary lock password provided by the temporary user, the lock device 101 may complete offline verification without communicating with the server 103, and the offline verification mode does not depend on the state of the communication network, thereby greatly improving timeliness, security, and reliability of the verification password.
As shown in step 7 of fig. 2, the client 105 may generate a temporary lock password from the user password and the random seed. In an embodiment of the present application, the user password and the random seed may be encrypted by using an encryption algorithm with a key, where the user password may be used as an encryption key of the encryption algorithm, and the random seed may also be used as an encryption key of the encryption algorithm, which is not limited herein. In another embodiment of the present application, at least part of the user password and at least part of the random seed may be spliced into a character string according to a preset rule, and then the character string is encrypted by using an encryption algorithm. The encryption algorithm may include any one of AES, RSA, ECC1 and a variant algorithm of the algorithm, which is not limited herein. In one example, a user password may be used as a key for the encryption algorithm, and generating the temporary lock password may include HMAC-SHA256 (random seed, user password). In one embodiment of the present application, the generated temporary lock password may be further encrypted to enhance the security of the temporary lock password. In some examples, the further encryption algorithm may include any one of AES, RSA, ECC, and variants thereof, for example. In one example, the encrypted temporary lock password may include AES-256(HMAC-SHA256 (random seed, user password)). In an embodiment of the present application, the temporary lock password or the encrypted temporary lock password may be further converted into a graphic code. The temporary lock password or the encrypted temporary lock password is converted into the graphic code, high-density information can be converted into the simple graphic code, and the graphic code has the advantages of strong fault-tolerant capability, low cost, simplicity and convenience in use, mature technology and the like. In some examples, the graphic code may include at least one of a two-dimensional code and a barcode, which is not limited herein.
In an embodiment of the present application, a use duration of the temporary lock password may also be set, for example, the temporary lock password may be limited to be used within a time period of 15 minutes, 20 minutes, half an hour, two hours, and the like, and the use duration may not be verified. In the case of offline authentication of the lock device 101, the usage duration of the temporary lock password may be limited by an encryption algorithm. In one embodiment of the present application, timestamp information may be added to the encrypted data, for example, the usage-limited duration of the temporary lock password is limited to T, and then the rounded value of timestamp/T is the same during time T. Based on this, in one example, the generated temporary lock password may be HMAC-SHA256 (random seed, user password), timestamp/T), where timestamp/T represents a rounded value of timestamp divided by T. In another embodiment of the present application, the usage duration may be monitored by a clock, the server 103 may send a notification message to the locking device 101 after sending the random seed, and the locking device 101 may start counting down at the time of receiving the notification message. For example, the time when the lock device 101 receives the notification message is 14:22 in 1/4/2021, then the lock device 101 may start to count down at the time, and the counted down time length is the usage time length. Of course, in other embodiments, after the timestamp information is added to the encrypted data for encryption, the generated lock password may be further encrypted, such as the encrypted temporary lock password being AES-256(HMAC-SHA256 (random seed, user password), timestamp/T)). In another embodiment, the generated temporary lock password or the encrypted temporary lock password may be converted into a graphic code.
In this embodiment, as shown in step 8 of fig. 2, after the client 105 generates the temporary lock password, the client may send the temporary lock password to the client of the temporary user. In this embodiment, the temporary user does not need to download a corresponding APP, and the master user may send the temporary lock password to the temporary user in any manner, and in some examples, the temporary lock password may be sent in a manner of short message, email, instant messaging application, or the like. In step 9, after receiving the temporary lock password, the temporary user may provide the temporary lock password to the locking device 101. In an embodiment of the present application, when the temporary lock password is a graphic code, the temporary user may align the received graphic code with a graphic code scanning window of the lock device 101, so that the graphic code scanning window reads the graphic code.
In step 10, after receiving the graphic code, the locking device 101 may analyze the graphic code to obtain a temporary lock password or an encrypted temporary lock password included in the graphic code. Based on this, the lock device 101 may verify the temporary lock password. In this embodiment, the lock device 101 may generate a reference temporary lock password in the same manner as the temporary lock password, where the reference temporary lock password is a reference password used by the lock device 101 to verify the temporary lock password provided by the temporary user. Under the condition that the temporary lock password to be verified is matched with the reference temporary lock password, the temporary lock password to be verified passes verification; otherwise, the verification is not passed. In one embodiment of the present application, the lock device 101 may generate a key seed using the user password and the string. In one example, the key seed may be represented as HMAC-SHA256 (random seed, user password). The reference temporary lock secret may then be generated using the key seed and the timestamp. In one example, the generated reference temporary lock password may be represented as HMAC-SHA256 (random seed, user password), timestamp/T), where T is the age of the temporary lock password and timestamp/T is the timestamp divided by a rounded value of T. Of course, if it is required to encrypt the reference temporary lock password when generating the temporary lock password, the reference temporary lock password also needs to be encrypted by the same encryption algorithm on the side of the lock device 101 to generate the encrypted reference temporary lock password. Then, the reference temporary lock password may be compared with the temporary lock password to be verified, and if the reference temporary lock password and the temporary lock password to be verified are matched, it may be determined that the temporary lock password provided by the temporary user passes verification; otherwise, the authentication is not passed. The matching of the reference temporary lock password and the temporary lock password to be verified may include: the reference temporary lock password is the same as the temporary lock password to be verified, or the encrypted reference temporary lock password is the same as the encrypted temporary lock password to be verified. In step 11, the lock device 101 may open the lock body when it is determined that the reference temporary lock password is matched with the temporary lock password to be verified.
As shown in fig. 2, in step 12, after verifying the temporary lock password provided by the temporary user and opening the lock body, the lock device 101 may complete an unlocking notification message to the server 103. In step 13, after receiving the notification message, the server 103 may generate a new random seed in response to the notification message, and send the new random seed to the lock device 101. The next time the temporary lock password is verified, the locking device 101 may generate a new reference temporary lock password with the new random seed.
Fig. 3 shows an interaction flow diagram based on another embodiment of the usage method of the intelligent lock management system 100. As shown in fig. 3, the present embodiment is different from the embodiment shown in fig. 2 in that the server 103 sends the random seed to the time point of the lock device 101. As shown in step 6 and step 7 of fig. 3, the server 103 may send the random seed to the server 103 while sending the random seed to the client 105 or within a preset time period (e.g., 1 second, 5 seconds, 1 minute, etc.) after sending.
Of course, in another embodiment of the present application, the locking device 101 may also apply for the random seed from the server 103 when verifying the temporary lock password provided by the temporary user, and the present application does not limit how the locking device 101 obtains the random seed.
Fig. 4 shows an interaction flow diagram based on another embodiment of the usage method of the intelligent lock management system 100. As shown in fig. 4, the present embodiment is different from the embodiment shown in fig. 2 in that the process of generating the temporary lock password can also be completed on the server 103 side. Specifically, in step 5, the client 105 may send a request for obtaining a temporary lock password to the server 103. In step 6 and step 7, the server 103 may obtain the random seed and generate a temporary lock password in response to the request. In step 8, after generating the temporary lock password, the server 103 may send the temporary lock password to the client 105.
Based on the description of the interaction flow between the various entities in the intelligent lock management system 100, the present application provides a method for verifying a lock password from the perspective of the lock device 101, as shown in fig. 5, where the method includes:
s501: acquiring a temporary lock password to be verified;
s503: acquiring a random seed and a user password, wherein the random seed is a randomly generated character string with limited use times;
s505: determining a reference temporary lock password according to the random seed and the user password;
s507: and opening the lock body under the condition that the temporary lock password to be verified is matched with the reference temporary lock password.
Optionally, in an embodiment of the present application, the obtaining a temporary lock password to be authenticated includes:
acquiring a graphic code;
and analyzing the graphic code to obtain a temporary lock password contained in the graphic code.
Optionally, in an embodiment of the present application, after the lock body is unlocked, the method further includes:
sending a notification message for finishing temporary unlocking;
a new random seed is received and stored, the new random seed being used to verify a next temporary lock password.
Optionally, in an embodiment of the present application, the determining, according to the random seed and the user password, a reference temporary lock password includes:
generating a key seed using the random seed and the user password;
and generating the reference temporary lock password by using the key seed and timestamp information, wherein the timestamp information is set to be the same information in a preset time period.
Optionally, in an embodiment of the present application, the graphic code is configured to be generated by:
determining a temporary lock password according to the random seed and the user password;
and converting the temporary lock password into a graphic code, or converting the encrypted temporary lock password into the graphic code.
Optionally, in an embodiment of the present application, the graphic code includes at least one of a two-dimensional code and a barcode.
The embodiment of the application provides a method for verifying the lock password from the perspective of the lock device, and the lock device can generate a reference temporary lock password according to a random seed and a user password in the process of verifying the temporary lock password and verify the received temporary lock password by using the reference temporary lock password. The random seed is generated randomly and has a limitation on the number of times of use, that is, the random seed is updated frequently and has randomness, so that the corresponding generated temporary lock password is updated frequently and irregularly, and the security is high. In addition, the random seed and the user-defined user password are used for generating the reference temporary lock password, so that the safety of the temporary lock password can be further improved.
Another aspect of the present application further provides a method for generating a lock password from the perspective of the client 103, as shown in fig. 6, where the method includes:
s601: acquiring a user password;
s603: under the condition that the user password passes verification, acquiring a random seed, wherein the random seed is a randomly generated character string with limited use times;
s605: and determining a temporary lock password according to the random seed and the user password.
Optionally, in an embodiment of the present application, the determining a temporary lock password according to the random seed and the user password includes:
generating a key seed using the random seed and the user password;
and generating the reference temporary lock password by using the key seed and timestamp information, wherein the timestamp information is set to be the same information in a preset time period.
Optionally, in an embodiment of the present application, after determining the temporary lock password according to the random seed and the user password, the method further includes:
converting the temporary lock password into a graphic code, or converting the temporary lock password into the graphic code after encrypting
Optionally, in an embodiment of the present application, the obtaining a random seed includes;
sending a request for acquiring a random seed;
a random seed is received.
The embodiment of the application provides a method for generating a lock password from the perspective of a client, and the client can generate a temporary lock password according to a random seed and a user password. The random seed is generated randomly and has a limitation on the number of times of use, that is, the random seed is updated frequently and has randomness, so that the corresponding generated temporary lock password is updated frequently and irregularly, and the security is high. In addition, the temporary lock password is generated by using the random seed and the user-defined user password, so that the safety of the temporary lock password can be further improved.
Another aspect of the present application also provides an information processing method from the perspective of the server 105, as shown in fig. 7, the method including:
s701: receiving a notification message of completing temporary unlocking;
s703: randomly generating a random seed with a use time limit, wherein the random seed is used for verifying the next temporary lock password;
s705: and sending the random seed.
Optionally, in an embodiment of the application, after the generating the random seed, the method further includes:
receiving a request for obtaining a random seed;
transmitting the random seed in response to the request.
Optionally, in an embodiment of the present application, after the generating the random seed, the method further includes:
receiving a request for acquiring a temporary lock password;
responding to the request, acquiring a user password, and determining a temporary lock password according to the random seed and the user password;
and sending the temporary lock password.
The embodiment of the application provides an information processing method from the perspective of a server, and after receiving a notification message of temporary unlocking, the server can randomly generate a random seed with a use number limit and send the random seed. On one hand, the random seed is randomly generated and has a limitation on the number of times of use, that is, the random seed is updated frequently and has randomness, so that the corresponding generated temporary lock password is updated frequently and is irregular and high in security. In another aspect, the server may send the temporary lock password to a locking device, which may have stored the temporary lock password before the next verification of the lock password. Therefore, the locking device can verify the temporary lock password in an off-line mode, namely the locking device does not depend on the quality of a communication network, and the verification safety can be improved.
Another aspect of the present application also provides an information processing method from the perspective of the server 105, as shown in fig. 8, the method including:
s801: receiving a request for obtaining a random seed;
s803: randomly generating a random seed having a usage number limit in response to the request;
s805: and sending the random seed.
Optionally, in an embodiment of the present application, the sending the random seed includes:
and sending the random seed to the client and the locking device.
The embodiment of the application provides an information processing method from the perspective of a server, and after receiving a request for acquiring a random seed from a client, the server can respond to the request, randomly generate a random seed with limited use times, and send the random seed to the client and a locking device. Thus, another embodiment for sending a random seed is provided.
In the embodiments of the present application, a party that initiates data transmission across devices and sends the data may be referred to as a source (source) side, and a party that receives the data may be referred to as a sink (sink) side. It should be noted that, a device in one pair may be a source device, and another pair may be a sink device. That is to say, the lock device 101, the client 103, and the server 105 in the embodiment of the present application may be a source end of another terminal device, or may be a sink end of another terminal device.
Fig. 9 shows a schematic structural view of a lock device according to an embodiment of the present application. Fig. 10 shows a front view of a lock device according to an embodiment of the present application.
The locking device may include a lock body, a grip, a processor (including low power processor, main processor), a wireless communication module, a display screen, a USB interface, an internal memory, an external memory interface, a motor, a camera, a light source module, a button, BLE, NFC, a fingerprint recognition module, a microphone, a charging management module, a battery, a power management module, and the like.
It is to be understood that the illustrated structure of the embodiments of the present application does not constitute a specific limitation to the lock device. In other embodiments of the present application, the lock device may include more or fewer components than illustrated, or some components may be combined, some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The processor may be configured to perform a method of verifying a lock password as described in any embodiment of the present application. The processor comprises a master processor and a low power processor. The main control processor is used for managing the low-power processor and modules such as a display screen and a USB interface, and the low-power processor is used for managing modules which need to work with low power consumption, such as a light source module, a key and an NFC module. The master processor and the low-power processor may respectively include one or more processing units, such as: the main control processor and the low power processor may include an Application Processor (AP), a modem processor, a Graphic Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a memory, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a Neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors. Wherein the controller may be a neural center and a command center of the lock device. The controller can generate an operation control signal according to the instruction operation code and the timing signal to complete the control of instruction fetching and instruction execution.
A memory may also be provided in the processor for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. The memory may hold instructions or data that have just been used or recycled by the processor. If the processor needs to use the instruction or data again, it can be called directly from the memory. Avoiding repeated accesses reduces the latency of the processor and thus increases the efficiency of the system.
The display screen is used for displaying images, videos and the like. The display screen includes a display panel, the display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeled, a quantum dot light-emitting diode (QLED), and so on. In some embodiments, the lock device may include 1 or N display screens, N being a positive integer greater than 1. The display screen may be used to display information input by or provided to the user as well as various Graphical User Interfaces (GUIs). For example, the display may display virtual keys, time information, character information input by the user, a face image of the user, and the like. When the processor detects a touch event of a finger of a user aiming at an application icon, the processor responds to the touch event, opens a user interface of an application corresponding to the application icon, and displays the user interface of the application on the display.
After the processor runs the method provided by the embodiment of the present application, the lock device may establish a connection with another terminal device through the wireless communication module or the USB interface, and transmit data and control the display screen to display a corresponding graphical user interface according to the method provided by the embodiment of the present application.
The camera is used to capture still images or video. In general, a camera may include a photosensitive element such as a lens group including a plurality of lenses (convex or concave lenses) for collecting an optical signal reflected by an object to be photographed and transferring the collected optical signal to an image sensor, and an image sensor. And the image sensor generates an original image of the object to be shot according to the optical signal. In addition, the camera can also be used for reading the graphic code, such as reading a two-dimensional code or a bar code.
The internal memory may be used to store computer-executable program code, which includes instructions. The main control processor and the low-power processor execute various functional applications and data processing of the lock device by running instructions stored in an internal memory. The internal memory may include a program storage area and a data storage area. Wherein the storage program area may store codes of an operating system, etc. The data storage area can store data (such as unlocking records, face images, fingerprint information and the like) created in the use process of the lock device and the like. The storage data area can also store the user password, the random seed and the use time limited by the temporary lock password.
The internal memory may further store one or more computer programs corresponding to the methods provided by the embodiments of the present application. The one or more computer programs stored in the memory and configured to be executed by the one or more of the master processors, the low power processors, the one or more computer programs comprising instructions which may be used to perform the steps as in the corresponding embodiments of the figures.
In addition, the internal memory may include a high speed random access memory, and may further include a non-volatile memory, such as at least one of a magnetic disk storage device, a flash memory device, a Universal Flash Storage (UFS), and the like.
Of course, the code of the method provided in the embodiments of the present application may also be stored in the external memory. In this case, the processor may execute the code of the method stored in the external memory through the external memory interface.
The light source module is used for providing a light source for the display screen, and may include a light-emitting diode (LED), for example.
The keys are used for generating key signal inputs related to user settings and function control of the lock device, for example for inputting a lock code. The keys may include mechanical keys or touch keys.
BLE (Bluetooth Low Energy, Bluetooth Low power consumption) is used for realizing near field connection between lock equipment and other terminal equipment (like cell-phone, intelligent wearing equipment), realizes the data transmission between the equipment.
Near Field Communication (NFC) is used for realizing Near Field connection with devices with NFC functions (such as mobile phones and smart wearable devices), and realizing data transmission between the devices.
The fingerprint sensor is used for collecting fingerprints. The lock device may utilize the collected fingerprint characteristics to achieve fingerprint unlocking.
Touch sensors, also known as "touch panels". The touch sensor can be arranged on the display screen, and the touch sensor and the display screen form the touch screen, which is also called a touch screen. The touch sensor is used to detect a touch operation applied thereto or nearby. The touch sensor can communicate the detected touch operation to the application processor to determine the touch event type. Visual output associated with the touch operation may be provided via the display screen. In other embodiments, the touch sensor may be disposed on a surface of the lock device at a location different from the location of the display screen.
The wireless communication function of the lock device may be implemented by a wireless communication module. The wireless communication module may provide a solution for wireless communication applied to the lock device, including Wireless Local Area Networks (WLANs) (e.g., wireless fidelity (Wi-Fi) networks), Global Navigation Satellite Systems (GNSS), Frequency Modulation (FM), external technologies (IR), and the like.
In addition, the locking device can be connected with an audio module, a loudspeaker and a microphone. Such as music playing, recording, etc. The lock device may generate a vibration indication (such as an alarm indication) using the motor. The indicator in the lock device may be an indicator light, which may be used to indicate a change in charge status or charge level.
It should be understood that in actual practice, the lock device may include more or fewer components than those shown in fig. 9, and the embodiments of the present application are not limited thereto. The illustrated lock device is merely one example, and the lock device may have more or fewer components than shown in the figures, may combine two or more components, or may have a different configuration of components. The various components shown in the figures may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
The software system of the lock device may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the application takes a layered architecture as an example, and exemplifies a software structure of a terminal device. Fig. 11 is a block diagram of a software configuration of a lock device according to an embodiment of the present application. The layered architecture divides the software into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface. In some embodiments, the system is divided into three layers, which are an application layer, a service framework layer, and a kernel layer from top to bottom.
The application layer may include a series of application packages. As shown in fig. 11, the application package may include applications such as reminder/alarm, dual-machine communication, door opening and closing service logic, and so on.
And the reminding/warning application program is used for sending out reminding or warning information, such as warning sound, flashing warning light and the like.
And the dual-computer communication is used for processing the communication between the main control processor and the low-power-consumption processor, and comprises the steps of defining a communication instruction format and analyzing an interactive communication instruction.
And the door opening and closing business logic is used for carrying out identity verification on the user, verifying the validity of the temporary lock password, carrying out brute force prevention and cracking protection on the locking equipment and the like.
The application framework layer provides an Application Programming Interface (API) and a programming framework for the application program of the application layer. The service framework layer includes a number of predefined functions.
As shown in fig. 11, the service framework layer may include an interconnection framework, a sensing framework, a security framework, a service subsystem, and the like.
And the interconnection framework is used for processing communication connection between the client and the server.
And the sensing framework is used for managing sensor data of the lock equipment, such as the safe storage of face images and fingerprint information.
And the security framework is used for encryption and decryption processing and the secure storage of key information such as the random seed, the user password and the like.
And the multimedia subsystem is used for scanning codes by the camera and identifying the content of the temporary lock password.
And the equipment management subsystem is used for controlling the initial registration of the lock equipment and the like.
And the door lock control subsystem is used for controlling the driving motor to open and close the door and the like.
The kernel driver layer is a layer between hardware and software. The inner nuclear layer at least comprises a camera drive, a BLE drive and a motor drive.
An embodiment of the present application provides an electronic device, including: a processor and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above method when executing the instructions.
Embodiments of the present application provide a non-transitory computer-readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method.
Embodiments of the present application provide a computer program product comprising computer readable code, or a non-transitory computer readable storage medium carrying computer readable code, which when run in a processor of an electronic device, the processor in the electronic device performs the above method.
The computer-readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an erasable Programmable Read-Only Memory (EPROM or flash Memory), a Static Random Access Memory (SRAM), a portable Compact Disc Read-Only Memory (CD-ROM), a Digital Versatile Disc (DVD), a Memory stick, a floppy disk, a mechanical coding device, a punch card or an in-groove protrusion structure, for example, having instructions stored thereon, and any suitable combination of the foregoing.
The computer readable program instructions or code described herein may be downloaded from a computer readable storage medium to a respective computing/processing device, or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers 107. The network adapter card or network interface in each computing/processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present application may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server 107. In the latter scenario, the remote computer may be connected to the user's computer through any type of Network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the internet using an internet service provider). In some embodiments, the electronic circuitry can execute computer-readable program instructions to implement aspects of the present application by utilizing state information of the computer-readable program instructions to personalize custom electronic circuitry, such as Programmable Logic circuits, Field-Programmable Gate arrays (FPGAs), or Programmable Logic Arrays (PLAs).
Various aspects of the present application are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
It is also noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by hardware (e.g., a Circuit or an ASIC) for performing the corresponding function or action, or by combinations of hardware and software, such as firmware.
While the invention has been described in connection with various embodiments, other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a review of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the word "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
The foregoing description of the embodiments of the present application has been presented for purposes of illustration and description and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or improvements to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (22)

1. A method of verifying a lock password, comprising:
acquiring a temporary lock password to be verified;
acquiring a random seed and a user password, wherein the random seed is a randomly generated character string with limited use times;
determining a reference temporary lock password according to the random seed and the user password;
and opening the lock body under the condition that the temporary lock password to be verified is matched with the reference temporary lock password.
2. The method of claim 1, wherein the obtaining the temporary lock password to be authenticated comprises:
acquiring a graphic code;
and analyzing the graphic code to obtain a temporary lock password contained in the graphic code.
3. The method of claim 1, wherein after said unlocking the lock body, the method further comprises:
sending a notification message for finishing temporary unlocking;
a new random seed is received and stored, the new random seed being used to verify a next temporary lock password.
4. The method of claim 1, wherein determining a reference temporary lock password based on the random seed and the user password comprises:
generating a key seed using the random seed and the user password;
and generating the reference temporary lock password by using the key seed and timestamp information, wherein the timestamp information is set to be the same information in a preset time period.
5. A method according to claim 2, wherein the graphical code is arranged to be generated by:
determining a temporary lock password according to the random seed and the user password;
and converting the temporary lock password into a graphic code, or converting the temporary lock password into the graphic code after encrypting.
6. The method of claim 2 or 5, wherein the graphic code comprises at least one of a two-dimensional code and a bar code.
7. A method of generating a lock password, comprising:
acquiring a user password;
under the condition that the user password passes verification, acquiring a random seed, wherein the random seed is a randomly generated character string with limited use times;
and determining a temporary lock password according to the random seed and the user password.
8. The method of claim 7, wherein determining a temporary lock password from the random seed and the user password comprises:
generating a key seed using the random seed and the user password;
and generating a temporary lock password by using the key seed and timestamp information, wherein the timestamp information is set to be the same information in a preset time period.
9. The method of claim 7, wherein after the determining a temporary lock password from the random seed and the user password, the method further comprises:
and converting the temporary lock password into a graphic code, or converting the temporary lock password into the graphic code after encrypting.
10. The method of claim 7, wherein the obtaining a random seed comprises;
sending a request for acquiring a random seed;
a random seed is received.
11. An information processing method, characterized by comprising:
receiving a notification message of completing temporary unlocking;
randomly generating a random seed with a use time limit, wherein the random seed is used for verifying the next temporary lock password;
and sending the random seed.
12. The method of claim 11, wherein after the generating a random seed, the method further comprises:
receiving a request for obtaining a random seed;
transmitting the random seed in response to the request.
13. The method of claim 11, wherein after the generating a random seed, the method further comprises:
receiving a request for acquiring a temporary lock password;
responding to the request, acquiring a user password, and determining a temporary lock password according to the random seed and the user password;
and sending the temporary lock password.
14. An information processing method characterized by comprising:
receiving a request for obtaining a random seed;
randomly generating a random seed having a usage number limit in response to the request;
and sending the random seed.
15. The method of claim 14, wherein the sending the random seed comprises:
and sending the random seed to the client and the locking device.
16. A lock device comprising a lock body, a processor, a memory for storing processor executable instructions; wherein the processor is configured to implement the method of any of claims 1-6 when executing the instructions.
17. The lock apparatus of claim 16, further comprising:
and the graphic code reading device is used for reading the graphic code.
18. The lock apparatus of claim 16, further comprising:
a memory for storing the user password and the random seed.
19. An intelligent lock management system is characterized by comprising lock equipment, a client and a server, wherein,
the lock device for implementing the method of verifying a lock password of any one of claims 1 to 6;
the client is used for realizing the method for generating the lock password according to any one of claims 7 to 10;
the server is configured to implement the information processing method according to any one of claims 11 to 13, or implement the information processing method according to claim 14 or 15.
20. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to carry out the instructions when executing the instructions to implement the method of any one of claims 1 to 6, or to implement the method of any one of claims 7 to 10, or to implement the method of any one of claims 11 to 13, or to implement the method of claim 14 or 15.
21. A non-transitory computer readable storage medium having stored thereon computer program instructions, wherein the computer program instructions, when executed by a processor, implement the method of any one of claims 1-6, or implement the method of any one of claims 7-10, or implement the method of any one of claims 11-13, or implement the method of claim 14 or 15.
22. A computer program product comprising computer readable code or a non-transitory computer readable storage medium carrying computer readable code which, when run in a processor of an electronic device, implements the method of any one of claims 1-6, or implements the method of any one of claims 7-10, or implements the method of any one of claims 11-13, or implements the method of claim 14 or 15.
CN202110025230.3A 2021-01-08 2021-01-08 Method and device for verifying lock password and lock equipment Pending CN114792003A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110025230.3A CN114792003A (en) 2021-01-08 2021-01-08 Method and device for verifying lock password and lock equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110025230.3A CN114792003A (en) 2021-01-08 2021-01-08 Method and device for verifying lock password and lock equipment

Publications (1)

Publication Number Publication Date
CN114792003A true CN114792003A (en) 2022-07-26

Family

ID=82460462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110025230.3A Pending CN114792003A (en) 2021-01-08 2021-01-08 Method and device for verifying lock password and lock equipment

Country Status (1)

Country Link
CN (1) CN114792003A (en)

Similar Documents

Publication Publication Date Title
US11949771B2 (en) Secure blockchain integrated circuit
EP3657370B1 (en) Methods and devices for authenticating smart card
US11457017B2 (en) System and method of determing persistent presence of an authorized user while performing an allowed operation on an allowed resource of the system under a certain context-sensitive restriction
EP3676746B1 (en) A system and a method for signing transactions using airgapped private keys
CA3058240C (en) Cryptographic key management based on identity information
US9697365B2 (en) World-driven access control using trusted certificates
KR102436509B1 (en) Method, Appratus and System of providing temporal account information
CN104967511A (en) Processing method for enciphered data, and apparatus thereof
US9996687B1 (en) Authentication management
CN105281907B (en) Encrypted data processing method and device
US9853955B2 (en) Techniques for securing delivery of an audio message
EP2927834A1 (en) Information processing apparatus, information processing method, and recording medium
CA3178249A1 (en) Systems and methods for conducting remote attestation
CN113259111B (en) Method, system and computer program product for re-provisioning digital security certificates
CN106465103B (en) Method and apparatus for using the key via physical contact transmitting
US20150264048A1 (en) Information processing apparatus, information processing method, and recording medium
EP3857426B1 (en) Fpga hardware-based secure computing method and apparatus
KR101879326B1 (en) Method and device for transmitting and receiving instruction information
CN114792003A (en) Method and device for verifying lock password and lock equipment
RU2788153C2 (en) System and method for signing transactions, using closed keys disconnected from network
Elavarasi et al. Smart Fingerprint Authentication and Alert System Using IoT
FR2924843A1 (en) Access control system for e.g. computer in public/private enterprise, has authentication architecture comprising control procedure for providing access to computing system based on identity and contextual information relative to person

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination