Methods, storage media, and electronic devices for verifying dynamic passwords

By caching multiple timed synchronization parameters in the cloud and IoT devices, generating multiple password groups and concatenating them, the problem of dynamic password verification failure caused by inconsistent timed synchronization parameters between smart locks and cloud servers is solved, thus improving the success rate of dynamic password verification.

CN116229616BActive Publication Date: 2025-12-02HAIER YOUJIA INTELLIGENT TECH (BEIJING) CO LTD +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211736679.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2025-12-02
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

In existing technologies, inconsistencies in the timed synchronization parameters between smart locks and cloud servers lead to dynamic password verification failures, preventing the generation of identical dynamic passwords and resulting in unlocking failures.

Method used

Multiple timed synchronization parameters are cached in the cloud and IoT devices to generate multiple password groups. These parameters are then concatenated to form first and second dynamic passwords. If some password groups are the same, a prompt message is output to regenerate the dynamic password. Finally, a new dynamic password is generated using the target timed synchronization parameters.

Benefits of technology

It improves the success rate of dynamic password verification when the timed synchronization parameters of the cloud and IoT devices are inconsistent, ensuring successful unlocking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116229616B_ABST
    Figure CN116229616B_ABST
Patent Text Reader

Abstract

This application discloses a method, storage medium, and electronic device for verifying dynamic passwords, relating to the field of smart home / intelligent home technology. The method includes: receiving a first dynamic password input by a user; wherein the first dynamic password is formed by concatenating multiple first password groups, each first password group having a corresponding timing synchronization parameter; generating multiple second password groups; wherein each second password group has a corresponding timing synchronization parameter; concatenating the multiple second password groups to form a second dynamic password; verifying the first and second dynamic passwords; in the case of identical password groups, determining the target timing synchronization parameter corresponding to the identical password groups; and outputting a prompt message; the prompt message is used to prompt the user to regenerate the first dynamic password using the target timing synchronization parameter. This method can prompt the user to generate a new dynamic password based on the target timing synchronization parameter, thus helping to improve the success rate of verifying the new dynamic password.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cryptographic security, and more specifically, to a method, storage medium, and electronic device for verifying dynamic passwords. Background Technology

[0002] In the field of IoT password security, more flexible password verification methods are needed in some scenarios due to access restrictions. Passwords are generally categorized into three types based on their expiration time: real-time passwords, static passwords, and dynamic passwords. Dynamic passwords are one-time temporary passwords. For example, on IoT smart locks, dynamic passwords can be used for temporary visitor access. In most cases, dynamic passwords can unlock the door successfully. However, if the timed synchronization parameters between the smart lock and the cloud server are inconsistent, dynamic password verification will fail.

[0003] A method for generating a dynamic password for a smart lock is disclosed in related technologies, including: generating the same dynamic password in the cloud and on the smart lock terminal; inputting the dynamic password generated in the cloud into the smart lock; comparing the received dynamic password with the self-generated dynamic password on the smart lock terminal; and controlling whether the smart lock is opened based on the comparison result.

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

[0005] In related technologies, the same timestamp, password, and algorithm are used to ensure that the smart lock and the cloud generate the same dynamic password. However, it does not disclose how to solve the problem of dynamic password verification failure caused by inconsistent timing synchronization parameters between the cloud and the smart lock (i.e., the inability to generate the same dynamic password).

[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, storage medium, and electronic device for verifying dynamic passwords, thereby improving the success rate of dynamic password verification when the timing synchronization parameters of the cloud and the smart lock are inconsistent.

[0009] In some embodiments, the method includes: receiving a first dynamic password input by a user; wherein the first dynamic password is formed by concatenating multiple first password groups, each first password group having a corresponding time synchronization parameter; generating multiple second password groups; wherein each second password group has a corresponding time synchronization parameter; concatenating the multiple second password groups to form a second dynamic password; matching the first dynamic password and the second dynamic password; in the case that some password groups are the same, determining the time synchronization parameter corresponding to the same password group; outputting a prompt message; the prompt message is used to prompt the user to regenerate the first dynamic password using the time synchronization parameter.

[0010] In some embodiments, the method includes: generating a plurality of first password groups in response to a request to generate a dynamic password; wherein each first password group has a corresponding timing synchronization parameter; concatenating the plurality of first password groups to form a first dynamic password; and sending the first dynamic password.

[0011] In some embodiments, the computer-readable storage medium includes a stored program, wherein the program executes the aforementioned method when it is run.

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

[0013] The method, storage medium, and electronic device for verifying dynamic passwords provided in this disclosure can achieve the following technical effects:

[0014] In this embodiment, both the first dynamic password and the second dynamic password are generated by concatenating password groups based on corresponding multiple timed synchronization parameters. When the first and second dynamic passwords are inconsistent, it is further determined whether some password groups are identical. The timed synchronization parameters corresponding to the identical password groups are identified, and a prompt is output to regenerate the first dynamic password using those parameters. Thus, even when the timed synchronization parameters of the cloud server and the IoT device are inconsistent, the timed synchronization parameters that can unlock the device are determined. This prompts the user to generate a new dynamic password based on those parameters, thereby improving the success rate of new dynamic password verification.

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

[0016] 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.

[0017] 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.

[0018] 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;

[0019] Figure 2 This is a schematic diagram of a method for verifying dynamic passwords applied to an Internet of Things device according to an embodiment of this application;

[0020] Figure 3 This is a schematic diagram of another method for verifying dynamic passwords applied to an Internet of Things device according to an embodiment of this application;

[0021] Figure 4 This is a schematic diagram of a method for verifying dynamic passwords applied to a server according to an embodiment of this application;

[0022] Figure 5 This is a schematic diagram of another method for verifying dynamic passwords applied to a server according to an embodiment of this application;

[0023] Figure 6 This is an application diagram according to an embodiment of this application;

[0024] Figure 7 This is a schematic diagram of an apparatus for verifying dynamic passwords according to an embodiment of this application. Detailed Implementation

[0025] 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.

[0026] 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.

[0027] 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.

[0028] 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.

[0029] Combination Figure 2 As shown, this disclosure provides a method for verifying dynamic passwords, applied to Internet of Things (IoT) devices. The method includes:

[0030] S101, the IoT device receives the first dynamic password input by the user; wherein, the first dynamic password is formed by concatenating multiple first password groups, and each first password group has a corresponding time synchronization parameter.

[0031] S102, the IoT device generates multiple second password groups; each second password group has a corresponding timed synchronization parameter.

[0032] S103, the IoT device concatenates multiple second password groups to form a second dynamic password.

[0033] S104, the IoT device verifies the first dynamic password and the second dynamic password.

[0034] S105, when some password groups are the same, IoT devices determine the target timing synchronization parameters corresponding to the same password group.

[0035] S106, the IoT device outputs a prompt message; the prompt message is used to prompt the regeneration of the first dynamic password using the target timed synchronization parameters.

[0036] Here, IoT devices refer to devices with locks, such as smart locks and smart safes. In some scenarios, when the IoT device is connected to the network, users (including visitors and owners) can unlock it by entering a real-time password through a smart terminal device. When the IoT device is not connected to the network, the owner can generate a temporary password (also called a dynamic password) on the terminal device and inform the visitor. The visitor unlocks the IoT device using this dynamic password, which becomes invalid after unlocking. The dynamic password is usually formed based on timed synchronization parameters, which are obtained from a cloud server when the IoT device connects to the network. For example, after the IoT device connects to the cloud, it requests an update to the timed synchronization parameters. The cloud responds by sending the latest timed synchronization parameters, and the IoT device updates its timed synchronization parameters and acknowledges the cloud that the update was successful. However, due to network issues or other reasons, the timed synchronization parameters of the cloud and the IoT device may not be updated synchronously. This results in a discrepancy between the first dynamic password generated by the cloud server based on the timed synchronization parameters and the second dynamic password generated by the IoT device based on the timed synchronization parameters stored on the device, causing the unlocking to fail.

[0037] To address the aforementioned issues, this embodiment of the disclosure caches multiple timed synchronization parameters in the IoT device and the cloud server, and forms a first dynamic password and a second dynamic password based on the password groups corresponding to these multiple timed synchronization parameters. The first dynamic password is formed by the cloud server based on a user's request, concatenating multiple first password groups corresponding to the multiple timed synchronization parameters stored on the cloud server. When the user inputs the first dynamic password fed back from the cloud server into the door lock panel of the IoT device, the IoT device forms the second dynamic password by concatenating the second password groups corresponding to the multiple timed synchronization parameters stored on the device.

[0038] Furthermore, the IoT device verifies the received first dynamic password and the second dynamic password generated by the device itself to obtain a verification result. Understandably, if the first and second dynamic passwords are completely identical, the verification succeeds, and the lock can be opened successfully. If the first and second dynamic passwords are inconsistent, the verification fails, and the lock opens. In this case, it indicates that the synchronization timing parameters cached by the cloud server and the IoT device may be out of sync. Therefore, it is necessary to verify whether some password groups are identical. Since each password group has a corresponding timing synchronization parameter, the existence of identical password groups indicates that the cloud server and the IoT device cache common timing synchronization parameters, i.e., the target timing synchronization parameter corresponding to the same password group. Verification can only succeed when both the cloud server and the IoT device generate the first and second dynamic passwords using the same timing synchronization parameter. Therefore, after determining the target timing synchronization parameter, a prompt message can be output, prompting the user to generate a new first dynamic password based on the target timing synchronization parameter. This improves the success rate of unlocking with the new dynamic password.

[0039] Furthermore, it should be noted that "multiple" in this disclosure refers to two or more. That is, each dynamic password corresponds to two or more timed synchronization parameters.

[0040] The method for verifying dynamic passwords provided in this disclosure involves concatenating both the first and second dynamic passwords based on password groups with corresponding timed synchronization parameters. When the first and second dynamic passwords are inconsistent, it further determines whether some password groups are identical. The timed synchronization parameters corresponding to the identical password groups are then identified, and a prompt is output to regenerate the first dynamic password using those parameters. Thus, even when the timed synchronization parameters of the cloud server and the IoT device are inconsistent, a target timed synchronization parameter that can unlock the device is determined. This prompts the user to generate a new dynamic password based on the target timed synchronization parameter, thereby improving the success rate of verifying the new dynamic password.

[0041] Optionally, in step S102, the IoT device generates multiple second password groups, including:

[0042] The IoT device generates n second password groups based on its latest n timed synchronization parameters and its static parameters; n is an integer greater than 1.

[0043] Here, the generation of the second cipher group is related not only to the latest n timed synchronization parameters stored in the IoT device, but also to the static parameters of the IoT device. Typically, after updating to new timed synchronization parameters, the IoT device overwrites the old ones. In this embodiment, to determine the synchronization of the timed synchronization parameters between the IoT device and the cloud server, and to improve the success rate of unlocking, multiple timed synchronization parameters are cached on both the IoT device and the cloud server. The second cipher group can be generated using the n latest timed synchronization parameters. Furthermore, the static parameters of the IoT device refer to parameters that characterize the IoT device. This is because the cloud server may store several IoT devices, and the cloud server needs to determine the target device requesting the generation of the dynamic cipher based on the static parameters. Therefore, each second cipher group is generated based on one timed synchronization parameter and one static parameter. When there are n timed synchronization parameters, n second cipher groups are generated.

[0044] Similarly, this method of generating cipher sets applies to cloud servers. Specifically, the cloud server generates multiple first cipher sets based on its cached timing parameters and the static parameters of the IoT devices. Furthermore, the number of timing synchronization parameters used by the cloud server and the IoT devices to generate the cipher sets is the same, both being n.

[0045] Combination Figure 3 As shown in the embodiments of this disclosure, another method for verifying dynamic passwords is provided, applied to Internet of Things (IoT) devices. The method includes:

[0046] S101, the IoT device receives the first dynamic password input by the user; wherein, the first dynamic password is formed by concatenating multiple first password groups, and each first password group has a corresponding time synchronization parameter.

[0047] S121, IoT devices utilize the hash function SHA256(S+D) i ) is used to calculate and obtain the i-th password. Where S is a static parameter, and D... i Let i be the i-th latest timing synchronization parameter, i = 1, ..., n.

[0048] S122, the IoT device extracts m numbers from the i-th password group to generate the i-th second password group.

[0049] S103, the IoT device concatenates multiple second password groups to form a second dynamic password.

[0050] S104, the IoT device verifies the first dynamic password and the second dynamic password.

[0051] S105, when some password groups are the same, IoT devices determine the target timing synchronization parameters corresponding to the same password group.

[0052] S106, the IoT device outputs a prompt message; the prompt message is used to prompt the regeneration of the first dynamic password using the target timed synchronization parameters.

[0053] Here, the IoT device uses the SHA256 hash function to calculate and obtain n second password groups. Specifically, it calculates SHA256(S+Di) to obtain the i-th password group. This process is repeated n times to obtain n password groups. Then, m numbers are extracted from each password to form n password groups. As an example, i=2, meaning password groups are generated using two timed synchronization parameters, where the latest timed synchronization parameter is D1 and the second newest is D2. The first password group is SHA256(S+D1), assuming the calculation result is b3ee9f8148640d7458766 (several digits are omitted here). Six digits are extracted as the first second password group, such as 48640d. Similarly, the second second password group corresponding to the second newest timed synchronization parameter is calculated. This process yields multiple second password groups corresponding to multiple timed synchronization parameters.

[0054] Optionally, in step S122, the IoT device extracts m numbers from the i-th password, including:

[0055] The Internet of Things (IoT) device splits the i-th cipher into k sub-cipher groups.

[0056] The IoT device converts each sub-cipher group into unsigned numbers to obtain k unsigned numbers.

[0057] IoT devices extract the m least significant bits from any one of k unsigned numbers.

[0058] Here, each password obtained by the hash function is a 32-byte string, which can be split into k sub-password groups. As an example, it can be split according to byte size, such as 4 bytes, 8 bytes, etc. Then, the format of each sub-password group is converted. Since the string obtained by the hash function is in hexadecimal format, while the passwords of IoT devices are generally composed of numbers, the password format is converted to obtain unsigned numbers. Then, m numbers are extracted from any one of the k unsigned numbers in the password group.

[0059] Let's take a password as an example. Assume the password is 4525318d13bf978c0dc86d297e75c4d9ffe247ca76de11d904befdeae9398b56. Splitting this password into 4-byte segments yields 8 sub-password groups, from which the least significant 6 digits are extracted, as shown in Table 1. Thus, a password can be divided into 8 groups of 6-digit numbers, and any one of these groups can be used as a second password group. Because password group generation is random, to reduce the probability of identical password groups generated multiple times, the least significant m digits can be extracted from k unsigned numbers according to a certain pattern. For example, the extraction can be based on the order of splitting. That is, when generating the second password group, m digits are extracted from the first sub-password group; when generating the second password group again, m digits are extracted from the second sub-password group, and so on. This avoids identical passwords when generating multiple second dynamic passwords based on the same timing synchronization parameters. Similarly, the above method applies to the generation of the first cipher block.

[0060] Table 1 shows m numbers extracted from the table.

[0061] Sub-cipher String format Decimal format m numbers Sub-cipher set 1 4525318d 1126510989 510989 Group 2 sub-code 13bf978c 331323276 323276 Group 3 sub-cipher 0dc86d29 231238953 238953 Group 4 sub-cipher 7e75c4d9 2121647321 647321 Group 5 sub-code ffe247ca 4293019594 019594 6th sub-code 76de11d9 1994265049 265049 7th sub-code 04befdea 79625706 625706 Group 8 sub-code e9398b56 3912862550 862550

[0062] Optionally, m ≥ 4.

[0063] Here, multiple second cipher groups are concatenated to form a second dynamic cipher. The length of each second cipher group should not be too short. The shorter the length, the greater the probability of the cipher group repeating itself. Therefore, each second cipher group must include at least 4 digits. Thus, a second dynamic cipher must be at least 8 digits.

[0064] Optionally, the static parameters in step S121 include the identification number (ID) of the IoT device, or the product model of the IoT device.

[0065] Here, the IoT device's ID or product model is used as a static parameter. Each IoT device's ID or product model is unique, meaning there is a one-to-one correspondence between the ID or product model and the IoT device. Thus, the cloud server can determine the IoT device for which a dynamic password should be generated based on this static parameter.

[0066] Optionally, in step S103, the IoT device concatenates multiple second password groups to form a second dynamic password, including:

[0067] IoT devices concatenate multiple second password groups sequentially according to the update order of their corresponding timed synchronization parameters.

[0068] Here, multiple second passwords can be concatenated according to the update order of their corresponding timed synchronization parameters. For example, they can be concatenated in chronological order of update time, or in reverse chronological order of update time. As an example, the latest timed synchronization parameter has the latest update time, followed by the next newest. Assume the second password group corresponding to the latest timed synchronization parameter is 4568, and the second password group corresponding to the next newest timed synchronization parameter is 2379. Then, concatenating them in chronological order of update time results in the second dynamic password 23794568, while concatenating them in reverse chronological order results in the second dynamic password 45682379.

[0069] Furthermore, the concatenation of the first dynamic password can also be found above. And to facilitate the verification of the first and second dynamic passwords, in some embodiments, the first and second dynamic passwords are concatenated using the same rules.

[0070] Optionally, in step S104, the IoT device verifies the first dynamic password and the second dynamic password, including:

[0071] The IoT device compares the i-th first password group with each second password group one by one to determine whether there are any identical first and second password groups; where i = 1, ..., n.

[0072] In this embodiment of the disclosure, when verifying the first dynamic password and the second dynamic password, each first password group of the first dynamic password is compared one by one with all second password groups of the second dynamic password to determine whether there are any identical first password groups and second password groups. Specifically, if multiple (i.e., n) first password groups and second password groups are all identical, it indicates that the first dynamic password and the second dynamic password are consistent. If some first password groups and second password groups are identical, it indicates that the first dynamic password and the second dynamic password are partially identical.

[0073] In some embodiments, the verification of the first dynamic password and the second dynamic password is divided into two steps. The first step is to verify whether the first and second dynamic passwords are completely identical. If they are not completely identical, the second step of verification is performed. Specifically, since the first and second dynamic passwords are not completely identical, when verifying the i-th first password group, the starting second password group to be verified and compared can be determined according to the concatenation rules of the dynamic passwords. As an example, both the first and second dynamic passwords are composed of two passwords, and they are concatenated using the same rules. Therefore, the first first password group can be directly compared with the second second password group, i.e., the first second password group can be skipped. Alternatively, the comparison can start directly from the second first password group and the first second password group, i.e., the first first password group can be skipped. In other words, the i-th first password group can choose to start the comparison from the (i+1)-th or (i-1)-th second password group according to the concatenation rules. This reduces the number of comparisons and helps improve verification efficiency.

[0074] Combination Figure 4 As shown in the embodiments of this disclosure, a method for verifying dynamic passwords is provided, applied to a server, and the method includes:

[0075] S301, In response to the request to generate a dynamic password, the server generates multiple first password groups; each first password group has a corresponding timed synchronization parameter.

[0076] S302, the server concatenates multiple first password groups to form the first dynamic password.

[0077] S303, the server sends the first dynamic password.

[0078] In this embodiment, a user requests the generation of a dynamic password on a terminal device. The server responds to the request by generating multiple first password groups based on multiple timed synchronization parameters cached by the server. These first password groups are then concatenated according to the concatenation rules described above to form a first dynamic password. The first dynamic password is then sent to the user. The user inputs this first dynamic password into the door lock panel of the IoT device. The IoT device generates multiple second password groups based on its cached timed synchronization parameters and concatenates them to form a second dynamic password. The first and second dynamic passwords are verified to determine whether the door can be unlocked. Alternatively, a prompt message may be output if unlocking fails.

[0079] Combination Figure 5 As shown in the embodiments of this disclosure, another method for verifying dynamic passwords is provided, applied to a server, and the method includes:

[0080] S301, In response to the request to generate a dynamic password, the server generates multiple first password groups; each first password group has a corresponding timed synchronization parameter.

[0081] S302, the server concatenates multiple first password groups to form the first dynamic password.

[0082] S303, the server sends the first dynamic password.

[0083] S404, the server receives a request to regenerate the dynamic password based on the target timed synchronization parameters; wherein, the target timed synchronization parameters are provided by the IoT device based on the verification result of the first dynamic password.

[0084] S405, the server generates multiple new first password groups; the timed synchronization parameters corresponding to the new first password groups include the target timed synchronization parameters and the timed synchronization parameters before them.

[0085] S406, the server concatenates multiple new first password groups to form a new first dynamic password and sends it.

[0086] Here, after the first dynamic password verification fails, the IoT device outputs a prompt message. Based on this message, the user sends a request to the server to regenerate the dynamic password according to the target timed synchronization parameters fed back by the IoT device. The server then generates multiple new first password groups based on the target timed synchronization parameters and previous timed synchronization parameters. As mentioned earlier, the failure of the first and second dynamic password verifications is due to inconsistencies in the timed synchronization parameters updated by the server and the IoT device. Therefore, dynamic passwords generated by the server and the IoT device using their respective latest n timed synchronization parameters may fail to verify. In this case, a new dynamic password needs to be generated based on the target timed synchronization parameters and parameters updated earlier than the target timed synchronization parameters. This ensures the consistency of the dynamic passwords between the server and the IoT device, thereby improving the success rate of unlocking with the new first dynamic password.

[0087] In practical applications, combined with Figure 6 As shown,

[0088] S51, the smart terminal receives a user's instruction to generate a dynamic password;

[0089] S52, the smart terminal sends a request command to the cloud server;

[0090] S53, in response to the request to generate dynamic passwords, the cloud server generates n first password groups based on the latest n timed synchronization parameters of this device and the static parameters of the IoT device;

[0091] S54, the cloud server concatenates multiple first password groups to form the first dynamic password;

[0092] S55, the cloud server sends the first dynamic password to the user;

[0093] S56, IoT devices receive the first dynamic password entered by the user;

[0094] S57, the IoT device generates n second password groups based on the latest n timed synchronization parameters of the device and the static parameters of the device;

[0095] S58, IoT devices concatenate multiple second password groups to form a second dynamic password;

[0096] S59, the IoT device verifies the first dynamic password and the second dynamic password;

[0097] S60, when some password groups are the same, IoT devices determine the target timing synchronization parameters corresponding to the same password group;

[0098] S61, the IoT device outputs a prompt message, which prompts the user to regenerate the first dynamic password using the target timed synchronization parameters.

[0099] Combination Figure 7 As shown, this disclosure provides an apparatus 100 for verifying dynamic passwords, including a processor 70 and a memory 71. Optionally, the apparatus may further include a communication interface 72 and a bus 73. The processor 70, communication interface 72, and memory 71 can communicate with each other via the bus 73. The communication interface 72 can be used for information transmission. The processor 70 can invoke logical instructions in the memory 71 to execute the method for verifying dynamic passwords described in the above embodiments.

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

[0101] The memory 71, 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 70 executes the program instructions / modules stored in the memory 71 to perform functional applications and data processing, thereby implementing the method for verifying dynamic passwords described in the above embodiments.

[0102] The memory 71 may include a program storage area and a data storage area. The program storage area may store the operating system and application programs 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 71 may include high-speed random access memory and may also include non-volatile memory.

[0103] This disclosure provides an Internet of Things (IoT) device, including a device body and the aforementioned device for verifying a dynamic password. The device for verifying the dynamic password is installed in the device body. The installation relationship described herein is not limited to placement within the product, but also includes installation connections with other components of the product, including but not limited to physical connections, electrical connections, or signal transmission connections. Those skilled in the art will understand that the device for verifying the dynamic password can be adapted to any feasible product body, thereby enabling other feasible embodiments.

[0104] This disclosure provides a storage medium storing computer-executable instructions configured to execute the above-described method for verifying dynamic passwords.

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

[0106] 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.

[0107] 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 descriptive purposes 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 herein means comprising one or more of the associated listed items and all possible combinations thereof. Additionally, the term “comprising” is used in this application.

[0108] The word "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. Unless otherwise specified, 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.

[0109] 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.

[0110] 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.

[0111] 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.

[0112] 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 verifying dynamic passwords, applied to Internet of Things (IoT) devices, characterized in that, include: Receives a first dynamic password input by the user; wherein the first dynamic password is formed by concatenating multiple first password groups, and each first password group has a corresponding time synchronization parameter; Multiple second cipher sets are generated; each second cipher set has a corresponding timing synchronization parameter. Multiple second cipher groups are concatenated to form a second dynamic cipher; Verify the first dynamic password and the second dynamic password; When some cipher sets are the same, determine the target timing synchronization parameters corresponding to the same cipher sets; Output a prompt message; the prompt message is used to prompt the user to regenerate the first dynamic password using the target time synchronization parameters.

2. The method according to claim 1, characterized in that, The generation of multiple second password groups includes: Based on the latest n timed synchronization parameters and the static parameters of this device, generate n second password groups; n is an integer greater than 1.

3. The method according to claim 2, characterized in that, Based on the latest n timing synchronization parameters and the static parameters of this device, generate n second password groups, including: Using the hash function SHA256(S+D) i ) Perform calculations to obtain the i-th password; where S is a static parameter, D i Let i be the i-th timing synchronization parameter, i = 1, ..., n; Extract m numbers from the i-th cipher group to generate the i-th second cipher group.

4. The method according to claim 3, characterized in that, Extract m numbers from the i-th password, including: Divide the i-th cipher into k sub-cipher groups; Each sub-cipher group is converted into an unsigned number, resulting in k unsigned numbers; Extract the m least significant digits from any one of the k unsigned numbers.

5. The method according to claim 3, characterized in that, m≥4。 6. The method according to claim 2, characterized in that, The static parameters include the IoT device's identification number (ID) or the IoT device's product model.

7. The method according to any one of claims 1 to 6, characterized in that, Concatenating multiple second cipher sets includes: Multiple second cipher sets are concatenated sequentially according to the update order of their corresponding timed synchronization parameters.

8. The method according to any one of claims 1 to 6, characterized in that, Verify the first dynamic password and the second dynamic password, including: The i-th first cipher group is compared with each of the second cipher groups one by one to determine whether there are any identical first cipher groups and second cipher groups; where i = 1, ..., n.

9. A method for verifying dynamic passwords, applied to a server, characterized in that, include: In response to a request to generate a dynamic password, multiple first password groups are generated; each first password group has a corresponding timed synchronization parameter. Multiple first-keyword groups are concatenated to form the first dynamic keyword; Send the first dynamic password; Receive a request to regenerate the dynamic password based on the target time synchronization parameters; wherein, the target time synchronization parameters are the time synchronization parameters corresponding to the same password group where the second dynamic password generated by the IoT device and the first dynamic password exist; Generate multiple new first cipher sets; Multiple new first cipher groups are concatenated to form a new first dynamic cipher, which is then sent.

10. The method according to claim 9, characterized in that, The timing synchronization parameters corresponding to the new first cipher group include the target timing synchronization parameters and the timing synchronization parameters preceding them.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program, when executed, performs the method of any one of claims 1 to 10.

12. An electronic device 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 10 through the computer program.

Citation Information

Patent Citations

  • Dynamic password combination generation method based on natural time sequence

    CN106656482A