Dynamic password authentication method and device
By generating and verifying dynamic passwords, combining time, event and challenge factors, the problem of traditional static passwords being easily attacked is solved, improving the security of dynamic passwords and the accuracy of authentication processes, and simplifying the system process.
Patent Information
- Application Number
- CN202411376417.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2024-12-27
AI Technical Summary
Traditional user identity authentication methods use static passwords to be easily guessed, stolen and replayed, and it is difficult to meet the needs of high security levels. The existing dynamic password verification methods have average security strength.
By obtaining user number, encryption key, password parameters and time offset, a verification dynamic password is generated using the encryption algorithm, and the terminal dynamic password is verified based on this dynamic password, introducing time factors, event factors and challenge factors to improve security and accuracy.
It improves the security of dynamic passwords and the security of authentication processes, reduces errors caused by insufficient time synchronization accuracy, simplifies system processes, and reduces the frequency of time synchronization services.
Smart Images

Figure CN119210865A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a dynamic password authentication method and device. Background Art
[0002] With the rapid development of Internet technology, Internet business has become more and more popular. With the increasing number of online transactions and online services, the security issues of user authentication have become particularly prominent. Traditional user authentication usually uses static passwords, but static passwords are often accompanied by security risks such as easy guessing, theft and replay attacks, which makes it difficult to meet the needs of high security levels.
[0003] In order to improve the security of authentication, the technology of dynamic password has become a development trend. The commonly used dynamic password verification method is a dynamic password based on an international algorithm, but this method generates passwords through a hash algorithm and has average security strength. Summary of the invention
[0004] In view of this, an embodiment of the present invention provides a dynamic password authentication method and device, which can improve the security of the dynamic password and improve the security of the authentication process.
[0005] To achieve the above object, according to one aspect of an embodiment of the present invention, a dynamic password authentication method is provided, comprising:
[0006] Obtain the user ID and the terminal dynamic password generated by the user terminal;
[0007] Obtaining the encryption key, password parameter, first encryption algorithm and time offset of the user terminal corresponding to the user according to the user number;
[0008] Generate a verification dynamic password using a first encryption algorithm based on an encryption key, a password parameter, a time offset of a user terminal, and a preset verification interval;
[0009] Based on the verification of dynamic password, the terminal dynamic password is verified.
[0010] Optionally, the time offset of the user terminal is obtained in the following manner:
[0011] Generate a temporary encryption key corresponding to the user according to the random string input by the user, the preset string and the second encryption algorithm;
[0012] Based on the temporary encryption key and the third encryption algorithm, the user number, the encryption key and the first encryption algorithm are encrypted to obtain a ciphertext;
[0013] Generate identifiable information based on the ciphertext so that the user terminal can identify the identifiable information to obtain the ciphertext, decrypt the ciphertext based on the temporary encryption key and the third encryption algorithm to obtain the first encryption algorithm and the encryption key, and generate a first terminal dynamic password based on the encryption key, the first encryption algorithm and the time factor corresponding to the user;
[0014] In response to receiving a first terminal dynamic password sent by the user terminal, a first verification dynamic password is generated, and a time offset of the user terminal is determined based on the first verification dynamic password and the first terminal dynamic password.
[0015] Optionally, generating a first verification dynamic password, and determining a time offset of the user terminal based on the first verification dynamic password and a first terminal dynamic password includes:
[0016] Generate a plurality of first verification time factors based on a first preset time window;
[0017] Based on the encryption key and the multiple first verification time factors, generate multiple first verification dynamic passwords according to the first encryption algorithm;
[0018] Compare the multiple first verification dynamic passwords with the first terminal dynamic password respectively, and obtain the first verification dynamic password that is consistent with the first terminal dynamic password as the target first verification dynamic password;
[0019] The offset between the first verification time factor corresponding to the target first verification dynamic password and the current system time is determined as the time offset of the user terminal.
[0020] Optionally, the password parameter includes a time factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the encryption key and the first encryption algorithm, and based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval, the first encryption algorithm is used to generate the verification dynamic password, including:
[0021] Generate a verification time factor based on a time offset of a user terminal and a preset time window;
[0022] Based on the encryption key and the verification time factor, a verification dynamic password is generated using a first encryption algorithm.
[0023] Optionally, there are multiple verification time factors and verification dynamic passwords;
[0024] Based on the verification of dynamic password, the terminal dynamic password is verified, including:
[0025] Comparing the multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password;
[0026] Among them, if the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
[0027] Optionally, the method further comprises:
[0028] In response to the verification result being verification passed, using the verification dynamic password that is consistent with the terminal dynamic password as the target verification dynamic password;
[0029] The time offset of the user terminal is updated according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time.
[0030] Optionally, the password parameter includes an event factor and a time factor, the preset verification interval includes a preset time window and a preset event window, the terminal dynamic password is generated based on the time factor, the event factor, an encryption key and a first encryption algorithm, and based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval, the first encryption algorithm is used to generate the verification dynamic password, including:
[0031] Generate a verification time factor based on a time offset of a user terminal and a preset time window;
[0032] Generate a verification event factor based on a preset event window;
[0033] Based on the encryption key, the verification time factor and the verification event factor, a verification dynamic password is generated using a first encryption algorithm.
[0034] Optionally, there are multiple verification time factors, verification event factors, and verification dynamic passwords;
[0035] Based on the verification of dynamic password, the terminal dynamic password is verified, including:
[0036] Comparing the multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password;
[0037] Among them, if the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
[0038] Optionally, the method further comprises:
[0039] In response to the verification result being verification passed, using the verification dynamic password that is consistent with the terminal dynamic password as the target verification dynamic password;
[0040] Update the time offset of the user terminal according to the verification time factor corresponding to the target verification dynamic password and the offset of the current system time;
[0041] The event offset of the user terminal is updated according to the verification event factor corresponding to the target verification dynamic password.
[0042] Optionally, the password parameter includes a time factor and a challenge factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the challenge factor, the encryption key and the first encryption algorithm, and based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval, the first encryption algorithm is used to generate the verification dynamic password, including:
[0043] Generate a verification time factor based on a time offset of a user terminal and a preset time window;
[0044] Based on the encryption key, the verification time factor and the challenge factor, a verification dynamic password is generated using a first encryption algorithm.
[0045] Optionally, there are multiple verification time factors and verification dynamic passwords;
[0046] Based on the verification of dynamic password, the terminal dynamic password is verified, including:
[0047] Comparing the multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password;
[0048] Among them, if the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
[0049] Optionally, the method further comprises:
[0050] In response to the verification result being verification passed, using the verification dynamic password that is consistent with the terminal dynamic password as the target verification dynamic password;
[0051] The time offset of the user terminal is updated according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time.
[0052] According to another aspect of an embodiment of the present invention, there is provided a dynamic password authentication device, comprising:
[0053] An acquisition module is used to acquire a user number and a terminal dynamic password generated by a user terminal; and acquire an encryption key, a password parameter, a first encryption algorithm, and a time offset of the user terminal corresponding to the user according to the user number;
[0054] A generation module, configured to generate a verification dynamic password using a first encryption algorithm based on an encryption key, a password parameter, a time offset of a user terminal and a preset verification interval;
[0055] The verification module is used to verify the terminal dynamic password based on the verification dynamic password.
[0056] According to another aspect of an embodiment of the present invention, an electronic device is provided, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the dynamic password authentication method provided by an embodiment of the present invention.
[0057] According to another aspect of an embodiment of the present invention, a computer-readable medium is provided, on which a computer program is stored. When the program is executed by a processor, the dynamic password authentication method provided by an embodiment of the present invention is implemented.
[0058] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the dynamic password authentication method provided by an embodiment of the present invention is implemented.
[0059] An embodiment of the above invention has the following advantages or beneficial effects: it can obtain the corresponding encryption key, password parameters, first encryption algorithm, time offset and preset verification interval based on the obtained user number to generate a verification dynamic password, and verify the obtained user terminal dynamic password based on the dynamic password, which can ensure the accuracy and security of dynamic password verification. At the same time, generating a verification dynamic password based on the time offset and the preset verification interval can reduce the error caused by insufficient time synchronization accuracy between systems, improve the availability of dynamic passwords, reduce the frequency of time synchronization services required for services, and thus simplify system processes.
[0060] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.
[0062] Figure 1 Schematic diagram of the main steps of the dynamic password authentication method according to an embodiment of the present invention;
[0063] Figure 2 Schematic diagram of main modules of a dynamic password authentication device according to an embodiment of the present invention;
[0064] Figure 3 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;
[0065] Figure 4 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0066] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0067] It should be noted that the collection, collection, updating, analysis, processing, use, transmission, storage and other aspects of user personal information involved in the technical solution disclosed in the present invention are in compliance with the provisions of relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken for user personal information to prevent illegal access to user personal information data and maintain the security of user personal information, network security and national security.
[0068] It should be noted that in the technical solution of the present invention, the collection, use, storage, sharing and transfer of user personal information involved are in compliance with the provisions of relevant laws and regulations, and it is necessary to inform the user and obtain the user's consent or authorization. When applicable, the user's personal information is de-identified and / or anonymized and / or encrypted.
[0069] Figure 1 FIG. 4 is a schematic diagram of the main steps of the dynamic password authentication method according to an embodiment of the present invention. Figure 1 As shown, including:
[0070] Step S101, obtaining a user ID and a terminal dynamic password generated by a user terminal.
[0071] When a user accesses a business system, the business system will call the dynamic password authentication system to authenticate the user's identity and authority, and the dynamic password authentication system will authenticate the user based on the dynamic password sent by the business system. Specifically, first, obtain the user number SN and dynamic password sent by the business system through the dynamic password authentication system interface. The dynamic password is a terminal dynamic password generated by the user terminal, and the terminal dynamic password is received by the business system.
[0072] Step S102: Obtain the encryption key, password parameter, first encryption algorithm and time offset of the user terminal corresponding to the user according to the user number.
[0073] According to the obtained user number, the encryption key corresponding to the user number is determined in the set of pre-stored encryption keys, and the password parameter corresponding to the user number, the first encryption algorithm and the time offset of the user terminal are obtained. Among them, the set of pre-stored encryption keys stores the encryption key and the user number corresponding to the encryption key, and the user number is unique. The password parameter includes at least a time factor, specifically a time factor of the current moment of the system; the first encryption algorithm is an encryption algorithm supported by both the user terminal and the current authentication system; the time offset of the user terminal is the time amount of the user terminal time offset compared to the authentication system time.
[0074] Step S103: Generate a verification dynamic password using a first encryption algorithm based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval.
[0075] Based on the time offset of the user terminal and the preset verification interval, the encryption key and password parameters are encrypted by the first encryption algorithm to generate a verification dynamic password. Take the generation of a verification dynamic password as an example: the time offset of the user terminal is -1, the preset verification interval is [-2, 2], the encryption key is SK, the first encryption algorithm is SM3 (a national secret algorithm), and the current time of the system (password parameter) is T. Then, a generated verification dynamic password (OTP) can be SM3 (SK, T-1-1), where one -1 corresponds to the time offset of the user terminal, and the other -1 corresponds to a value in the verification interval.
[0076] Optionally, in order to ensure the consistency of the dynamic password, the dynamic password may be truncated by a truncation function TRUN to obtain a dynamic password of a fixed length, that is, OTP=TRUN(SM3(SK, T-1)).
[0077] Step S104: verifying the dynamic password of the terminal based on the dynamic password.
[0078] The consistency verification is performed based on the verification dynamic password and the terminal dynamic password. If they are consistent, the verification passes; if they are inconsistent, the verification fails, and the final verification result is generated.
[0079] Among them, when the user terminal is in normal use, the dynamic password of the user terminal should be generated on the user terminal side using a method similar to the method of verifying the dynamic password. The only difference is that the user terminal side does not need to generate at least one dynamic password based on the time offset and the preset verification interval, and the password parameter on the user terminal side is the system time of the user terminal.
[0080] According to the dynamic password authentication method provided in the embodiment of the present invention, the corresponding encryption key, password parameters, first encryption algorithm, time offset and preset verification interval can be obtained based on the obtained user number to generate a verification dynamic password, and the obtained user terminal dynamic password can be verified based on the dynamic password, which can ensure the accuracy and security of dynamic password verification. At the same time, generating a verification dynamic password based on the time offset and the preset verification interval can reduce the error caused by insufficient time synchronization accuracy between systems, improve the availability of dynamic passwords, reduce the frequency of time synchronization services required for services, and thus simplify system processes.
[0081] Optionally, the time offset of the user terminal is obtained in the following manner: based on a random character string, a preset character string and a second encryption algorithm input by the user, a temporary encryption key corresponding to the user is generated; based on the temporary encryption key and the third encryption algorithm, the user number, the encryption key and the first encryption algorithm are encrypted to obtain a ciphertext; based on the ciphertext, identifiable information is generated so that the user terminal recognizes the identifiable information to obtain the ciphertext, the ciphertext is decrypted based on the temporary encryption key and the third encryption algorithm to obtain the first encryption algorithm and the encryption key, and a first terminal dynamic password is generated based on the encryption key, the first encryption algorithm and the time factor corresponding to the user; in response to receiving the first terminal dynamic password sent by the user terminal, a first verification dynamic password is generated, and the time offset of the user terminal is determined based on the first verification dynamic password and the first terminal dynamic password.
[0082] When a user terminal is authenticated by the authentication system for the first time, a time offset of the user terminal is generated, which is used to determine the synchronization between the system time of the user terminal and the time of the authentication system, and is also used for the subsequent verification of the generation of dynamic passwords. Specifically, the authentication system generates a user number SN according to a preset generation rule, for example, it can be a 16-byte alphanumeric number, which is required to be non-repeated globally. The encryption key SK is generated in a safe manner and stored securely at the same time, wherein the safe manner refers to the use of a compliant cryptographic module to generate the encryption key SK, and the encryption key SK does not leave the cryptographic module. Secure storage refers to the encryption key SK being stored inside the cryptographic module, or encrypted by a compliant cryptographic module and stored outside the cryptographic module. The user enters a random string S in the authentication system, obtains a preset string A, and a second encryption algorithm, such as SM3, and uses the second encryption algorithm for encryption to obtain a temporary encryption key K. The formula is: . The random string S can also be generated by the authentication system, and then the user inputs it into the user terminal according to the S generated by the system. In order to ensure the security of data transmission, data transmission is realized through encrypted ciphertext. The ciphertext E is generated by: encrypting the temporary encryption key K, user number SN, encryption key SK, and the first encryption algorithm M with a third encryption algorithm, for example, SM4. The specific calculation formula is: . Among them, the first encryption algorithm M can be SM3, SM4 or other algorithms. For the generated ciphertext, identifiable information can be generated based on the ciphertext, for example, it can be identifiable information such as a QR code, a barcode, etc. The identifiable information cannot be used by a third party, which ensures the security of ciphertext transmission. The user terminal can identify the identifiable information through pre-installed software or programs to obtain the ciphertext E1 therein, for example, by scanning the QR code to obtain the ciphertext. The user terminal uses the second encryption algorithm SM3 that is the same as the authentication system to generate a temporary encryption key K based on the user input S and the preset character string A, which is used to decrypt the identified ciphertext E1. By decrypting the ciphertext E1, the user number SN1, the encryption key SK1 and the first encryption algorithm M1 are obtained, and SK1 is securely stored for generating a dynamic password. The first terminal dynamic password OTP of the user terminal is generated based on SK1, M1 and the user terminal system time T. Taking M1 as SM3 as an example, the formula is OTP=SM3(SK1, T), or in order to ensure that the length of the dynamic password is fixed, OTP=TRUN(SM3(SK1, T)). After the user terminal generates the dynamic password, it enters the user name and dynamic password into the business system and then sends it to the authentication system. The business system pre-binds the relationship between the user name and the user number SN. According to the received user name, the corresponding user number SN and dynamic password can be sent to the authentication system. After receiving the dynamic password, the authentication system will generate a verification dynamic password based on the synchronously received user number for verification, and determine the time offset of the user terminal based on the time when the verified consistent dynamic password was generated.
[0083] It should be known that when the system runs correctly, the temporary encryption key K generated by the user terminal and the authentication system should be the same, and when data transmission is correct, E1 is the same as E, SN1 is the same as SN, SK1 is the same as SK, and M1 is the same as M.
[0084] Optionally, the correspondence between the user name and the user number pre-bound in the business system can be bound by manual input by the user in the business system. It can also be provided to the business system when the user sends an access request to the business system, so that the business system can bind and store the correspondence between the user name and the user number according to the user number provided by the user.
[0085] Optionally, when the user terminal is authenticated by the authentication system for the first time after performing the time synchronization operation, a time offset of the user terminal is also generated, but at this time, there is no need to generate a temporary encryption key and ciphertext again.
[0086] According to the dynamic password authentication method provided by the embodiment of the present invention, a temporary encryption key can be generated based on a preset character string and encryption algorithm, and important information such as the user number, encryption key and first encryption algorithm can be encrypted based on the temporary encryption key to obtain a ciphertext. The ciphertext is then sent to the user terminal in the form of identifiable information, so that the user terminal generates a user terminal dynamic password based on the information obtained after decryption, and sends it to the authentication system, so that the authentication system generates a verification dynamic password for verification, and an accurate verification result can be obtained while ensuring the security of the transmitted data. During verification, the dynamic password verification method based on the time factor can determine the time offset of the user terminal and update it, thereby improving the availability of the dynamic password and reducing the frequency with which the user terminal needs to perform time synchronization operations.
[0087] Optionally, a first verification dynamic password is generated, and the time offset of the user terminal is determined based on the first verification dynamic password and the first terminal dynamic password, including: generating multiple first verification time factors based on a first preset time window; generating multiple first verification dynamic passwords according to a first encryption algorithm based on an encryption key and multiple first verification time factors; comparing the multiple first verification dynamic passwords with the first terminal dynamic password respectively, and obtaining a first verification dynamic password consistent with the first terminal dynamic password as the target first verification dynamic password; determining the offset between the first verification time factor corresponding to the target first verification dynamic password and the current system time as the time offset of the user terminal.
[0088] When determining the time offset of the user terminal, it is determined by verifying the consistent verification dynamic password. Specifically, since the time offset of the user terminal is determined for the first time, the time offset of the user terminal may be large, so a larger first preset time window is used for verification, for example, a large time window of ±10. Based on the first preset time window, multiple first verification time factors are generated, and the specific number is related to the length of the time window. For a large time window of ±10, 21 first verification time factors of [T-10, T+10] are generated. Based on the encryption key SK and multiple first verification time factors, a first encryption algorithm M is used to generate multiple first verification dynamic passwords, and the number of first verification dynamic passwords is the same as the number of first verification time factors. Each first verification dynamic password is compared with the first terminal dynamic password. If there is a first verification dynamic password that is the same as the first terminal dynamic password, the verification is passed, and the offset of the first verification time factor compared to the current system time is determined to be the time offset of the user terminal. If the first verification time factor is T-3, the offset is determined to be -3.
[0089] Optionally, the password parameter includes a time factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the encryption key and the first encryption algorithm, and the verification dynamic password is generated based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval using the first encryption algorithm, including: generating the verification time factor based on the time offset of the user terminal and the preset time window; generating the verification dynamic password based on the encryption key and the verification time factor using the first encryption algorithm. The password parameter includes a time factor, which is used to generate and verify the dynamic password based on time; the preset verification interval is a preset time window. For the user terminal, the time factor is the system time of the user terminal, and the user terminal generates the dynamic password based on the system time, the encryption key and the first encryption algorithm. For the authentication system, the verification time factor is generated based on the time offset of the user terminal and the preset time window, that is, based on the current system time plus the time offset, the verification time factor is generated within the preset time window range, and the generated verification time factor is encrypted using the first encryption algorithm, and the fixed length is truncated to obtain the final verification dynamic password.
[0090] Optionally, for a non-first dynamic password verification process, since a larger offset has been recorded during the first verification, subsequent time difference offsets will become smaller, so a shorter verification interval can be used for verification, such as a small time window of ±2.
[0091] Optionally, there are multiple verification time factors and verification dynamic passwords; based on the verification dynamic password, the terminal dynamic password is verified, including: comparing multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; wherein, if the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails. The verification time factor is generated according to the interval range covered by the time window. For a small time window of ±2, 5 verification time factors in the range of [T-2, T+2] are generated, and the corresponding generated verification dynamic passwords are also 5. Each verification dynamic password is verified with the terminal dynamic password generated by the user terminal to determine whether there is a verification dynamic password that is consistent with the terminal dynamic password. If there is a consistent verification dynamic password, the verification is successful, otherwise the verification fails.
[0092] Optionally, the method further includes: in response to the verification result being a passed verification, taking the verification dynamic password consistent with the terminal dynamic password as the target verification dynamic password; and updating the time offset of the user terminal according to the verification time factor corresponding to the target verification dynamic password and the offset of the current system time. When the verification result is passed, it is necessary to update the time offset of the user terminal according to the verification dynamic password. Specifically, taking the verification dynamic password that has passed the verification as the target verification dynamic password, taking the verification time factor corresponding to the target verification dynamic password and the offset of the current system time as the increment of the time offset of the user terminal, and using it to update the time offset of the user terminal. For example, if the verification time factor is T-2, then -2 is the increment of the time offset of the user terminal. If the time offset of the user terminal is -4, then the updated time offset of the user terminal is -6.
[0093] Optionally, the password parameter includes an event factor and a time factor, the preset verification interval includes a preset time window and a preset event window, the terminal dynamic password is generated based on the time factor, the event factor, the encryption key and the first encryption algorithm, and the first encryption algorithm is used to generate the verification dynamic password based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval, including: generating the verification time factor based on the time offset of the user terminal and the preset time window; generating the verification event factor based on the preset event window; generating the verification dynamic password based on the encryption key, the verification time factor and the verification event factor using the first encryption algorithm. The password parameter may include a time factor and an event factor, and the corresponding preset verification interval is the preset time window and the preset event window. The preset event window of event E can be, for example, a window of [0, 3]. Accordingly, the generation of the user terminal dynamic password introduces the event factor on the basis of the encryption key and the verification time factor, and the generation formula is OTP=TRUN(SM3(SK1, T, E)). When generating a dynamic password for a user terminal, if the verification time factor range is [-2, 2] and the verification event factor range is [0, 2], a verification dynamic password that satisfies both ranges is generated. For example, when the time factor is 1 and the event factor is 2, a corresponding verification dynamic password is generated.
[0094] Optionally, the event may generally be a counter, the terminal may be a button, pressing the button once increases the counter by 1, and the authentication system may be a database record, and verifying the button once increases the counter by 1.
[0095] Optionally, there are multiple verification time factors, verification event factors, and verification dynamic passwords; based on the verification dynamic password, the terminal dynamic password is verified, including: comparing multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; wherein, if the terminal dynamic password is consistent with any verification dynamic password, the verification is passed; otherwise, the verification fails. If the verification time factor range is [-2, 2], and the verification event factor range is [0, 2], 15 corresponding verification dynamic passwords are generated, and each verification dynamic password is compared with the terminal dynamic password one by one to determine whether there is a consistent verification dynamic password. If so, it means that the verification is passed, and if not, it means that the verification fails.
[0096] Optionally, when generating a verification dynamic password, it is necessary to generate it according to the obtained event offset. For example, if the time offset is -2 and the event offset is 1, the generated dynamic password is OTP=TRUN(SM3(SK1, T-2-1, E+1+1)).
[0097] Optionally, the method further includes: in response to the verification result being that the verification is passed, taking the verification dynamic password consistent with the terminal dynamic password as the target verification dynamic password; updating the time offset of the user terminal according to the verification time factor corresponding to the target verification dynamic password and the offset of the current system time; and updating the event offset of the user terminal according to the verification event factor corresponding to the target verification dynamic password. If there is a verification dynamic password consistent with the terminal dynamic password, the password is determined to be the target verification dynamic password, and the offset relative to the current system time is determined according to the verification time factor corresponding to the target verification dynamic password, and the time offset of the user terminal is updated by using the offset as the increment of the time offset of the user terminal. The increment of the event offset is determined according to the value of the verification event factor, and the event offset of the user terminal is updated.
[0098] The dynamic password authentication method provided in the embodiment of the present invention can introduce event factors in the generation of dynamic passwords, combine the event factors to generate the dynamic password of the user terminal and the verification dynamic password of the authentication system, thereby improving the security of the dynamic password. The method of verification based on event factors can also further improve the accuracy and availability of the dynamic password verification process.
[0099] Optionally, the password parameters include a time factor and a challenge factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the challenge factor, the encryption key and the first encryption algorithm, and the verification dynamic password is generated based on the encryption key, the password parameters, the time offset of the user terminal and the preset verification interval using the first encryption algorithm, including: generating the verification time factor based on the time offset of the user terminal and the preset time window; generating the verification dynamic password using the first encryption algorithm based on the encryption key, the verification time factor and the challenge factor. The password parameters may also include a time factor and a challenge factor, and the challenge factor may specifically be a randomly generated challenge code C. The terminal dynamic password is generated on the user terminal side according to the time factor of the user terminal (i.e., the current system time of the user terminal), the challenge code entered by the user, the encryption key and the first encryption algorithm. In the authentication system, the verification time factor is generated according to the current system time of the authentication system, the time offset of the user terminal and the preset time window, and the verification dynamic password is generated in combination with the challenge code generated by the system, the encryption key and the first encryption algorithm, and the formula is: OTP=TRUN(SM3(SK1, T, C)).
[0100] Optionally, the challenge code may have an expiration date. After receiving the dynamic password from the user terminal, it is necessary to first determine whether the challenge code is valid. If not, the verification fails directly without generating a verification dynamic password. If valid, a verification dynamic password will be generated for subsequent consistency verification.
[0101] Optionally, there are multiple verification time factors and verification dynamic passwords; based on the verification dynamic password, verifying the terminal dynamic password includes: comparing multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; wherein, if the terminal dynamic password is consistent with any verification dynamic password, the verification is passed; otherwise, the verification fails. When performing dynamic password verification, there are multiple dynamic passwords generated based on a preset time window, and each verification dynamic password is compared with the terminal dynamic password respectively. If there is a consistent verification dynamic password, the verification is passed, otherwise, the verification fails.
[0102] Optionally, the method further includes: in response to the verification result being that the verification is passed, using the verification dynamic password that is consistent with the terminal dynamic password as the target verification dynamic password; and updating the time offset of the user terminal according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time. After the verification is passed, the target verification dynamic password that is consistent with the terminal dynamic password is determined, and the time offset of the user terminal is updated based on the offset between the verification time factor corresponding to the password and the current system time.
[0103] According to the authentication method of the dynamic password provided by the embodiment of the present invention, when generating the dynamic password, a challenge factor or an event factor can be introduced on the basis of the time factor to generate the dynamic password of the user terminal and the verification dynamic password of the authentication system, thereby improving the security of the dynamic password. The verification method based on the challenge factor or the event factor can also further improve the accuracy and availability of the dynamic password verification process, and is applicable to different business scenarios. At the same time, since the process of generating the dynamic password refers to the user terminal system time and the authentication system time, the offset of the user terminal system time can be determined and continuously updated, thereby improving the availability of the winter password and simplifying the business of the user terminal performing regular time synchronization operations.
[0104] Figure 2 is a schematic diagram of a dynamic password authentication device 200 provided in an embodiment of the present invention, such as Figure 2 As shown, including:
[0105] The acquisition module 201 is used to acquire the user number and the terminal dynamic password generated by the user terminal; acquire the encryption key, password parameters, first encryption algorithm and time offset of the user terminal corresponding to the user according to the user number;
[0106] A generating module 202, configured to generate a verification dynamic password using a first encryption algorithm based on an encryption key, a password parameter, a time offset of a user terminal and a preset verification interval;
[0107] The verification module 203 is used to verify the terminal dynamic password based on the verification dynamic password.
[0108] The dynamic password authentication device provided in the embodiment of the present invention can obtain the corresponding encryption key, password parameters, first encryption algorithm, time offset and preset verification interval based on the obtained user number to generate a verification dynamic password, and verify the obtained user terminal dynamic password based on the dynamic password, thereby ensuring the accuracy and security of dynamic password verification. At the same time, generating a verification dynamic password based on the time offset and the preset verification interval can reduce the error caused by insufficient time synchronization accuracy between systems, improve the availability of dynamic passwords, reduce the frequency of services requiring time synchronization services, and thus simplify system processes.
[0109] Optionally, the time offset of the user terminal is obtained in the following manner: based on a random character string input by the user, a preset character string and a second encryption algorithm, a temporary encryption key corresponding to the user is generated; the user number, the encryption key and the first encryption algorithm are encrypting with the temporary encryption key and the third encryption algorithm to obtain a ciphertext; identifiable information is generated based on the ciphertext so that the user terminal recognizes the identifiable information to obtain the ciphertext, the ciphertext is decrypted based on the temporary encryption key and the third encryption algorithm to obtain the first encryption algorithm and the encryption key, and a first terminal dynamic password is generated based on the encryption key, the first encryption algorithm and the time factor corresponding to the user; in response to receiving the first terminal dynamic password sent by the user terminal, a first verification dynamic password is generated, and the time offset of the user terminal is determined based on the first verification dynamic password and the first terminal dynamic password.
[0110] Optionally, the generation module 202 is also used to: generate multiple first verification time factors based on a first preset time window; generate multiple first verification dynamic passwords according to a first encryption algorithm based on an encryption key and multiple first verification time factors; compare the multiple first verification dynamic passwords with the first terminal dynamic password respectively, and obtain a first verification dynamic password that is consistent with the first terminal dynamic password as the target first verification dynamic password; determine the offset between the first verification time factor corresponding to the target first verification dynamic password and the current system time as the time offset of the user terminal.
[0111] Optionally, the password parameters include a time factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the encryption key and the first encryption algorithm, and the generation module 202 is also used to: generate the verification time factor based on the time offset of the user terminal and the preset time window; based on the encryption key and the verification time factor, use the first encryption algorithm to generate a verification dynamic password.
[0112] Optionally, there are multiple verification time factors and verification dynamic passwords; the verification module 203 is also used to: compare multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; wherein, if the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
[0113] Optionally, the device also includes: a determination module 204, which is used to respond to the verification result being verification passed, and use the verification dynamic password consistent with the terminal dynamic password as the target verification dynamic password; an update module 205, which is used to update the time offset of the user terminal according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time.
[0114] Optionally, the password parameters include an event factor and a time factor, the preset verification interval includes a preset time window and a preset event window, the terminal dynamic password is generated based on the time factor, the event factor, an encryption key and a first encryption algorithm, and the generation module 202 is also used to: generate a verification time factor based on the time offset of the user terminal and the preset time window; generate a verification event factor based on the preset event window; and generate a verification dynamic password using the first encryption algorithm based on the encryption key, the verification time factor and the verification event factor.
[0115] Optionally, there are multiple verification time factors, verification event factors and verification dynamic passwords; the verification module 203 is also used to: compare multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; wherein, if the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
[0116] Optionally, the device also includes: a determination module 204, which is also used to respond to the verification result being a passed verification, and use a verification dynamic password that is consistent with the terminal dynamic password as a target verification dynamic password; an update module 205, which is also used to update the time offset of the user terminal according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time; and update the event offset of the user terminal according to the verification event factor corresponding to the target verification dynamic password.
[0117] Optionally, the password parameters include a time factor and a challenge factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the challenge factor, the encryption key and the first encryption algorithm, and the generation module 202 is also used to: generate a verification time factor based on the time offset of the user terminal and the preset time window; based on the encryption key, the verification time factor and the challenge factor, use the first encryption algorithm to generate a verification dynamic password.
[0118] Optionally, there are multiple verification time factors and verification dynamic passwords; the verification module 203 is also used to: verify the terminal dynamic password based on the verification dynamic password, including: comparing multiple verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; wherein, if the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
[0119] Optionally, the device also includes: a determination module 204, which is used to respond to the verification result being verification passed, and use the verification dynamic password consistent with the terminal dynamic password as the target verification dynamic password; the update module 205, which is also used to: update the time offset of the user terminal according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time.
[0120] According to the dynamic password authentication device provided by the embodiment of the present invention, when generating a dynamic password, a challenge factor or an event factor can be introduced on the basis of a time factor to generate a dynamic password for a user terminal and a verification dynamic password for an authentication system, thereby improving the security of the dynamic password. The verification method based on the challenge factor or the event factor can also further improve the accuracy and availability of the dynamic password verification process, and is applicable to different business scenarios. At the same time, since the process of generating a dynamic password refers to the user terminal system time and the authentication system time, the offset of the user terminal system time can be determined and continuously updated, thereby improving the availability of the winter password and simplifying the business of regular time synchronization operations of the user terminal.
[0121] Figure 3 An exemplary system architecture 300 is shown to which a dynamic password authentication method or a dynamic password authentication device according to an embodiment of the present invention can be applied.
[0122] like Figure 3 As shown, the system architecture 300 may include terminal devices 301, 302, 303, a network 304 and a server 305. The network 304 is used to provide a medium for communication links between the terminal devices 301, 302, 303 and the server 305. The network 304 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0123] Users can use terminal devices 301, 302, 303 to interact with server 305 through network 304 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 301, 302, 303, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only for example).
[0124] The terminal devices 301 , 302 , and 303 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers, etc.
[0125] The server 305 may be a server that provides various services, such as a backend management server (only an example) that provides support for shopping websites browsed by users using the terminal devices 301, 302, and 303. The backend management server may analyze and process the received verification request and other data, and feed back the processing result (such as the current verification result - only an example) to the terminal device.
[0126] It should be noted that the dynamic password authentication method provided in the embodiment of the present invention is generally executed by the server 305 , and accordingly, the dynamic password authentication device is generally disposed in the server 305 .
[0127] It should be understood that Figure 3 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0128] Reference below Figure 4 , which shows a schematic diagram of the structure of a computer system 400 of a terminal device or a server suitable for implementing an embodiment of the present invention. Figure 4 The terminal device or server shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0129] like Figure 4 As shown, the computer system 400 includes a central processing unit (CPU) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage part 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the system 400 are also stored. The CPU 401, the ROM 402, and the RAM 403 are connected to each other through a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0130] The following components are connected to the I / O interface 405: an input section 406 including a keyboard, a mouse, etc.; an output section 407 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN card, a modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. A removable medium 411, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 410 as needed, so that a computer program read therefrom is installed into the storage section 408 as needed.
[0131] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 409, and / or installed from the removable medium 411. When the computer program is executed by the central processing unit (CPU) 401, the above-mentioned functions defined in the system of the present invention are executed.
[0132] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0133] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0134] The units or modules involved in the embodiments of the present invention may be implemented in software or hardware. The units or modules described may also be provided in a processor, for example, may be described as: a processor including an acquisition module, a generation module, and a verification module. The names of these units or modules do not, in certain cases, constitute limitations on the units or modules themselves, for example, the verification module may also be described as "a module for verifying a dynamic password of a terminal based on a verification dynamic password".
[0135] As another aspect, the present invention further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes:
[0136] Obtain the user ID and the terminal dynamic password generated by the user terminal;
[0137] Obtaining the encryption key, password parameter, first encryption algorithm and time offset of the user terminal corresponding to the user according to the user number;
[0138] Generate a verification dynamic password using a first encryption algorithm based on an encryption key, a password parameter, a time offset of a user terminal, and a preset verification interval;
[0139] Based on the verification of dynamic password, the terminal dynamic password is verified.
[0140] According to the technical solution of the embodiment of the present invention, the corresponding encryption key, password parameters, first encryption algorithm, time offset and preset verification interval can be obtained based on the obtained user number to generate a verification dynamic password, and the obtained user terminal dynamic password can be verified based on the dynamic password, which can ensure the accuracy and security of dynamic password verification. At the same time, generating a verification dynamic password based on the time offset and the preset verification interval can reduce the error caused by insufficient time synchronization accuracy between systems, improve the availability of dynamic passwords, reduce the frequency of time synchronization services required for services, and thus simplify system processes.
[0141] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the dynamic password authentication method provided by an embodiment of the present invention is implemented.
[0142] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A dynamic password authentication method, characterized in that: include: Obtain the user ID and the terminal dynamic password generated by the user terminal; Acquire the encryption key, password parameter, first encryption algorithm and time offset of the user terminal corresponding to the user according to the user number; Generate a verification dynamic password using the first encryption algorithm based on the encryption key, the password parameter, the time offset of the user terminal and a preset verification interval; Based on the verification dynamic password, the terminal dynamic password is verified.
2. The method according to claim 1, characterized in that The time offset of the user terminal is obtained by: Generate a temporary encryption key corresponding to the user according to the random string input by the user, the preset string and the second encryption algorithm; Based on the temporary encryption key and the third encryption algorithm, encrypt the user number, the encryption key and the first encryption algorithm to obtain a ciphertext; Generate identifiable information based on the ciphertext so that the user terminal recognizes the identifiable information to obtain the ciphertext, decrypt the ciphertext based on the temporary encryption key and the third encryption algorithm to obtain the first encryption algorithm and the encryption key, and generate a first terminal dynamic password based on the encryption key, the first encryption algorithm and the time factor corresponding to the user; In response to receiving a first terminal dynamic password sent by the user terminal, a first verification dynamic password is generated, and a time offset of the user terminal is determined based on the first verification dynamic password and the first terminal dynamic password.
3. The method according to claim 2, characterized in that The generating a first verification dynamic password, and determining the time offset of the user terminal based on the first verification dynamic password and the first terminal dynamic password, includes: Generate a plurality of first verification time factors based on a first preset time window; Based on the encryption key and the multiple first verification time factors, generating multiple first verification dynamic passwords according to the first encryption algorithm; Compare the multiple first verification dynamic passwords with the first terminal dynamic password respectively, and obtain a first verification dynamic password that is consistent with the first terminal dynamic password as a target first verification dynamic password; The offset between the first verification time factor corresponding to the target first verification dynamic password and the current system time is determined as the time offset of the user terminal.
4. The method according to claim 1, characterized in that The password parameter includes a time factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the encryption key and the first encryption algorithm, and the first encryption algorithm is used to generate the verification dynamic password based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval, including: Generate a verification time factor based on the time offset of the user terminal and the preset time window; Based on the encryption key and the verification time factor, the verification dynamic password is generated using the first encryption algorithm.
5. The method according to claim 4, characterized in that There are multiple verification time factors and multiple verification dynamic passwords; Based on the verification dynamic password, verifying the terminal dynamic password includes: Comparing a plurality of verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; If the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
6. The method according to claim 5, characterized in that The method further comprises: In response to the verification result being verification passed, using the verification dynamic password consistent with the terminal dynamic password as a target verification dynamic password; The time offset of the user terminal is updated according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time.
7. The method according to claim 1, characterized in that The password parameter includes an event factor and a time factor, the preset verification interval includes a preset time window and a preset event window, the terminal dynamic password is generated based on the time factor, the event factor, the encryption key and the first encryption algorithm, and the first encryption algorithm is used to generate the verification dynamic password based on the encryption key, the password parameter, the time offset of the user terminal and the preset verification interval, including: Generate a verification time factor based on the time offset of the user terminal and the preset time window; Generate a verification event factor based on the preset event window; Based on the encryption key, the verification time factor and the verification event factor, the first encryption algorithm is used to generate a verification dynamic password.
8. The method according to claim 7, characterized in that There are multiple verification time factors, verification event factors and verification dynamic passwords; Based on the verification dynamic password, verifying the terminal dynamic password includes: Comparing a plurality of verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; If the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
9. The method according to claim 8, characterized in that The method further comprises: In response to the verification result being verification passed, using the verification dynamic password consistent with the terminal dynamic password as a target verification dynamic password; Update the time offset of the user terminal according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time; The event offset of the user terminal is updated according to the verification event factor corresponding to the target verification dynamic password.
10. The method according to claim 1, characterized in that The password parameters include a time factor and a challenge factor, the preset verification interval includes a preset time window, the terminal dynamic password is generated based on the time factor, the challenge factor, the encryption key and the first encryption algorithm, and the first encryption algorithm is used to generate the verification dynamic password based on the encryption key, the password parameters, the time offset of the user terminal and the preset verification interval, including: Generate a verification time factor based on the time offset of the user terminal and the preset time window; Based on the encryption key, the verification time factor and the challenge factor, the first encryption algorithm is used to generate a verification dynamic password.
11. The method according to claim 10, characterized in that There are multiple verification time factors and multiple verification dynamic passwords; Based on the verification dynamic password, verifying the terminal dynamic password includes: Comparing a plurality of verification dynamic passwords with the terminal dynamic password respectively to verify the terminal dynamic password; If the terminal dynamic password is consistent with any verification dynamic password, the verification is successful; otherwise, the verification fails.
12. The method according to claim 11, characterized in that The method further comprises: In response to the verification result being verification passed, using the verification dynamic password consistent with the terminal dynamic password as a target verification dynamic password; The time offset of the user terminal is updated according to the offset between the verification time factor corresponding to the target verification dynamic password and the current system time.
13. A dynamic password authentication device, characterized in that: include: An acquisition module is used to acquire a user ID and a terminal dynamic password generated by a user terminal; Acquire the encryption key, password parameter, first encryption algorithm and time offset of the user terminal corresponding to the user according to the user number; A generation module, configured to generate a verification dynamic password using the first encryption algorithm based on the encryption key, the password parameter, the time offset of the user terminal and a preset verification interval; The verification module is used to verify the terminal dynamic password based on the verification dynamic password.
14. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 12.
15. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 12 is implemented.
16. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 12 is implemented.
Citation Information
Patent Citations
Method and client side and server and system for mobile token dynamic password generation
CN103152172A
Dynamic password generating method and system
CN103916249A
Method for synchronizing token passwords
CN104023030A
Dynamic password authentication method, client and authentication system
CN104125064A
Dynamic password generating method, authentication method, authentication system and corresponding equipment
CN104426659A
Cited By
Bluetooth beacon application method and system based on encrypted time base sequence dynamic password
CN120224183A
Bluetooth beacon application method and system based on encrypted time base sequence dynamic password
CN120224183B
