WO2021129095A1 - 一种安全输入密码的方法及系统 - Google Patents

一种安全输入密码的方法及系统 Download PDF

Info

Publication number
WO2021129095A1
WO2021129095A1 PCT/CN2020/122811 CN2020122811W WO2021129095A1 WO 2021129095 A1 WO2021129095 A1 WO 2021129095A1 CN 2020122811 W CN2020122811 W CN 2020122811W WO 2021129095 A1 WO2021129095 A1 WO 2021129095A1
Authority
WO
WIPO (PCT)
Prior art keywords
password
user
module
key device
smart key
Prior art date
Application number
PCT/CN2020/122811
Other languages
English (en)
French (fr)
Inventor
陆舟
于华章
Original Assignee
飞天诚信科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 飞天诚信科技股份有限公司 filed Critical 飞天诚信科技股份有限公司
Priority to US17/432,078 priority Critical patent/US20220327192A1/en
Publication of WO2021129095A1 publication Critical patent/WO2021129095A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1013Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to locations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/031Protect user input by software means

Definitions

  • the invention relates to a method and system for safely inputting a password, belonging to the field of information security.
  • the smart key device means that the private key is stored separately in a
  • the chip is isolated from the Internet and can be used immediately, which guarantees the security of network interaction to a large extent.
  • traditional password protection methods can no longer protect the password of the hardware, no matter which encryption method is used. , As long as the upper-level software code is tampered with, the hardware password is at risk of loss.
  • the purpose of the present invention is to provide a method and system for safely inputting a password, which realizes a verification scheme that requires user participation and one password at a time.
  • the number is not displayed on the upper computer screen to further ensure the user Security of digital assets.
  • a method for safely entering a password which includes:
  • Step s1 The smart key device receives the password verification request sent by the upper computer, generates and displays randomly arranged characters, and returns a password verification response to the upper computer;
  • Step s2 The host computer receives the password verification response, displays the password input interface, waits for user input, and judges whether user input is received, if yes, execute step s3; otherwise, report an error and exit;
  • Step s3 The upper computer obtains the first location identification of the corresponding location according to the user input, obtains the password acquisition response according to the first location identification, and sends the password acquisition response to the smart key device;
  • Step s4 The smart key device receives the password acquisition response, and judges whether the user input is correct according to the password acquisition response, its own saved password and randomly arranged characters. If it is, the verification is successful, and the upper computer returns a verification success response; otherwise, the verification fails , The host computer returns a verification failure response.
  • the method further includes:
  • Step s1-1 The host computer waits to receive user trigger information, and judges whether user trigger information is received, if yes, execute step s1-2; otherwise, return to step s1-1;
  • Step s1-2 The host computer judges whether there is a connected smart key device, if yes, go to step s1-6; otherwise, go to step s1-3;
  • Step s1-3 The upper computer sends a connection request
  • Step s1-4 The smart key device receives the connection request, generates a connection response, and returns the connection response to the upper computer;
  • Step s1-5 The host computer receives the connection response, and judges whether the connection with the smart key device is successful according to the connection response, if yes, execute step s1-6; otherwise, return to step s1-3;
  • Step s1-6 The host computer judges whether the pairing with the smart key device is successful, if yes, go to step s1; otherwise, send a pairing request to the smart key device and prompt the user to enter the pairing code, and go to step s1-7; and
  • Step s1-7 The upper computer judges whether the pairing code entered by the user is received, if it is, judge whether the pairing code is correct, if the pairing code is correct, generate a password verification request, and send a password verification request to the smart key device; if the pairing code is wrong , Prompting that the pairing code is wrong, wait for the user to input the pairing code, and return to step s1-7; otherwise, exit and end.
  • the user trigger information in step s1-1 is specifically an interactive signature request.
  • generating and displaying randomly arranged characters in step s1 is specifically: generating and displaying random graphics, the random graphics containing characters that can be used for user input; or
  • Generating and displaying randomly arranged characters is specifically: generating and displaying a preset graphic, the preset graphic contains randomly arranged characters that can be used for user input; or
  • the generating and displaying of randomly arranged characters specifically includes: generating and displaying a preset graphic, and the preset graphic includes random characters that can be used for user input.
  • the display of the password input interface in step s2 is specifically: displaying the same graphic as the graphic displayed by the smart key device, and the graphic displayed by the upper computer does not include randomly arranged characters.
  • step s4 it further includes:
  • the upper computer receives the verification response returned by the smart key device, determines the type of verification response, and if it is a successful password verification response, sends an interactive signature request to the smart key device;
  • the smart key device receives the interactive signature request sent by the host computer, parses the interactive signature request to obtain the first interactive data, signs the first interactive data to generate an interactive signature response, and returns the interactive signature response to the host computer.
  • the above method further includes: when the host computer receives the interactive signature response returned by the smart key device, obtaining second interactive data according to the interactive signature response, generating a broadcast request according to the second interactive data, sending the broadcast request to the server, and determining Whether to receive the response returned by the server, if yes, the interaction is successful, end; otherwise, report an error and end.
  • step s3 is specifically:
  • the upper computer obtains the first location identifier of the corresponding location input by the user according to the user input, performs a hash operation on the first location identifier to obtain the first operation result, uses the first operation result as the password acquisition response, and sends the password acquisition to the smart key device response.
  • step s4 specifically includes:
  • the smart key device receives the password acquisition response, acquires the first calculation result, acquires the second location identifier of the corresponding location of the user password saved by itself according to the user password and randomly arranged characters saved by itself, and performs the second location identifier on the acquired second location identifier. Hash operation to obtain the second operation result, and judge whether the first operation result is correct according to the second operation result, if yes, the verification is successful; otherwise, the verification fails.
  • step s3 is specifically:
  • the upper computer obtains the first location identifier of the corresponding location input by the user according to the user input, uses the first location identifier as the password acquisition response, and sends the password acquisition response to the smart key device.
  • step s4 specifically includes:
  • the smart key device receives the password acquisition response, acquires the first location identifier, and sequentially splices the first location identifier to obtain the first calculation result, and obtains the corresponding location of the user password saved by itself according to the user password saved by itself and the randomly arranged characters
  • the second position identifier, the second position identifier is sequentially spliced to obtain the second operation result, and it is judged whether the first operation result is the same as the second operation result. If so, the verification is successful; otherwise, the verification fails.
  • step s3 is specifically:
  • the upper computer obtains the first location identifier of the corresponding location according to the user input, sequentially splices the first location identifiers to obtain the password acquisition response, and sends the password acquisition response to the smart key device.
  • step s4 specifically includes:
  • the smart key device receives the password acquisition response, divides and extracts each first location identifier in the password acquisition response, determines the password entered by the user according to the first location identifier, and determines whether the password entered by the user is the same as the password saved by the user, if so , The verification is successful; otherwise, the verification fails.
  • a system for safely inputting a password including:
  • Smart key devices include:
  • the first receiving module is used to receive the password verification request sent by the upper computer
  • the first return module is used to return a password verification response to the upper computer
  • the first generating module is configured to generate and display randomly arranged characters when the first receiving module receives the password verification request sent by the upper computer;
  • the first receiving module is also used to receive the first calculation result sent by the host computer;
  • the first judgment module is configured to judge whether the user input is correct according to the first calculation result, the password stored by itself, and the random arrangement characters generated by the generating module when the first receiving module receives the first calculation result;
  • the first return module is also used to return a verification success response to the upper computer when the first judgment module judges that the user input is correct; when the first judgment module judges that the user input is wrong, return a verification failure response to the upper computer;
  • the upper computer includes:
  • the second receiving module is used to receive the password verification response returned by the smart key device
  • the second display module is configured to display the password input interface when the second receiving module receives the password verification response, and wait for user input;
  • the second judgment module is used for judging whether user input is received when the second display module displays the password input interface
  • the second acquisition module is configured to acquire the first location identifier of the corresponding location when the second determination module determines that the user input is received, and perform operations on the first location identifier to obtain the first operation result;
  • the second sending module is used to send the first calculation result obtained by the second obtaining module to the smart key device.
  • the second judgment module is also used to judge whether the trigger information of the user is received
  • the second receiving module is also used to receive user trigger information
  • the second judging module is also used for judging whether there is a connected smart key device when the second receiving module receives the user’s trigger information; when there is a connected smart key device, judging whether the user input is received Pairing code
  • the second judgment module is also used to judge whether the pairing code is correct
  • the second sending module is also used to send a connection request when the second judgment module determines that there is no connected smart key device in the upper computer;
  • the first receiving module is also used to receive the connection request sent by the upper computer
  • the first generating module is further configured to generate a connection response when the first receiving module receives the connection request sent by the host computer;
  • the first return module is also used to, when the first generation module generates a connection response, return a connection response to the host computer;
  • the second receiving module is also used to receive the connection response returned by the smart key device
  • the second judgment module is further configured to judge whether the upper computer and the smart key device are successfully connected according to the connection response received by the second receiving module;
  • the second sending module is also used to send a pairing request to the smart key device when the second judgment module determines that the host computer and the smart key device are not successfully paired;
  • the second display module is also used for prompting the user to enter the pairing code when the second sending module sends a pairing request to the smart key device;
  • the second judgment module is also used for judging whether the pairing code is correct when the upper computer receives the pairing code input by the user;
  • the host computer also includes a second generation module, which is used to generate a password verification request when the second judgment module determines that the pairing code input by the user is correct;
  • the second display module is also used for prompting that the pairing code is wrong when the second judging module judges that the pairing code input by the user is wrong.
  • the user trigger information received by the second receiving module is specifically an interactive signature request.
  • the first generating module is specifically configured to generate and display random graphics when the first receiving module receives the password verification request sent by the host computer, the random graphics containing characters that can be used for user input; or
  • the first generating module is specifically configured to generate and display a preset graphic when the first receiving module receives a password verification request sent by the host computer, the preset graphic containing randomly arranged characters that can be used for user input; or
  • the first generating module is specifically configured to generate and display a preset graphic when the first receiving module receives a password verification request sent by the host computer, and the preset graphic includes random characters that can be used for user input.
  • the second display module is specifically configured to display the same graphic as the same graphic displayed on the smart key device, and the graphic does not contain randomly arranged characters.
  • the second receiving module is further configured to receive the verification response returned by the smart key device
  • the second judging module is also used for judging the verification response type when the second receiving module receives the verification response;
  • the second sending module is further configured to send an interactive signature request to the smart key device when the second judgment module determines that the verification response type is a password verification success response;
  • the first receiving module receives the interactive signature request sent by the host computer
  • the smart key device also includes:
  • the parsing module is used to parse the interactive signature request to obtain the first interactive data when the first receiving module receives the interactive signature request;
  • the first generation module is also used to sign the first interactive data to generate an interactive signature response
  • the first return module returns the interactive signature response generated by the first generation module to the upper computer.
  • the second receiving module is further configured to receive the interactive signature response returned by the smart key device;
  • the second generating module is further configured to: when the second receiving module receives the interactive signature response, obtain second interactive data according to the interactive signature response, and generate a broadcast request according to the second interactive data;
  • the second sending module is further configured to send the broadcast request generated by the second generating module to the server;
  • the second judgment module is also used to judge whether the response returned by the server is received.
  • the second acquiring module is specifically configured to acquire the first location identifier of the corresponding location input by the user according to the user input, perform a hash operation on the first location identifier to obtain the first operation result, and use the first operation result as the password acquisition response;
  • the second sending module is specifically configured to send the first operation result obtained by the second obtaining module to the smart key device.
  • the first receiving module is further configured to receive the password obtaining response sent by the upper computer, and obtain the first calculation result;
  • the smart key device also includes:
  • the first obtaining module is used to obtain the second location identifier of the corresponding location of the user password saved by itself according to the password stored by itself and the randomly arranged characters, and perform a hash operation on the obtained second location identifier to obtain the second operation result ;
  • the first judgment module is also used for judging whether the first calculation result is correct according to the second calculation result.
  • the second acquiring module is specifically configured to acquire the first location identifier of the corresponding location input by the user according to the user input, and use the first location identifier as the password acquisition response;
  • the second sending module is used to send a password acquisition response to the smart key device.
  • the first receiving module is further configured to receive a password acquisition response
  • the first obtaining module is further configured to obtain the first location identifier, and sequentially splice the first location identifier to obtain the first operation result;
  • the first obtaining module is also configured to obtain the second location identifier of the corresponding location of the user password saved by itself according to the user password and randomly arranged characters saved by itself, and sequentially splicing the second location identifiers to obtain the second operation result;
  • the first judgment module is also used for whether the first operation result is the same as the second operation result.
  • the second acquiring module is further configured to acquire the first location identifier of the corresponding location according to the user input, and sequentially stitch the first location identifiers to obtain the password acquisition response;
  • the second sending module is also used to send a password acquisition response to the smart key device.
  • the first receiving module is further configured to receive a password acquisition response
  • the first generation module is also used to segment and extract each first location identifier in the password acquisition response, and determine the password entered by the user according to the first location identifier;
  • the first judgment module is also used to judge whether the password entered by the user is the same as the password saved by the user.
  • Fig. 1 is a flowchart of a method for securely inputting a password according to Embodiment 1 of the present invention
  • Figure 2 is a flowchart of a method for securely inputting a password according to Embodiment 2 of the present invention
  • FIG. 3 is a schematic diagram of the upper computer displaying the input pairing code when the smart key device and the upper computer are paired in Embodiment 2 of the present invention
  • FIG. 4 is a schematic diagram of the smart key device displaying a pairing code when the smart key device is paired with the host computer in Embodiment 2 of the present invention
  • FIG. 5 is a schematic diagram of the smart key device according to the second embodiment of the present invention displaying a nine-square grid pattern containing numbers;
  • FIG. 6 is a schematic diagram of a user input password graphic displayed after the upper computer according to Embodiment 2 of the present invention receives the first response;
  • FIG. 7 is a flowchart of a method for safely inputting a password according to Embodiment 3 of the present invention.
  • FIG. 8 is a flowchart of a method for safely inputting a password according to Embodiment 4 of the present invention.
  • FIG. 9 is a flowchart of a method for safely inputting a password according to Embodiment 5 of the present invention.
  • Fig. 10 is a block diagram of a system for securely inputting a password according to Embodiment 6 of the present invention.
  • the upper computer is a device with a display screen, such as a mobile phone, a computer, etc., and the upper computer and the smart key device are connected through Bluetooth, audio, or wired.
  • a method for securely generating a password which includes:
  • Step s1 The smart key device receives the password verification request sent by the upper computer, generates and displays randomly arranged characters, and returns a password verification response to the upper computer;
  • Step s2 The host computer receives the password verification response, displays the password input interface, waits for user input, and judges whether user input is received, if yes, execute step s3; otherwise, report an error and exit;
  • Step s3 the upper computer obtains the first location identifier of the corresponding location according to the user input, obtains the password acquisition response according to the first location identifier, and sends the password acquisition response to the smart key device;
  • Step s4 The smart key device receives the password acquisition response, and judges whether the user input is correct according to the password acquisition response, its own saved password and randomly arranged characters. If it is, the verification is successful, and the upper computer returns a verification success response; otherwise, the verification fails , The host computer returns a verification failure response.
  • the method further includes:
  • Step s1-1 The host computer waits to receive user trigger information, and judges whether user trigger information is received, if yes, execute step s1-2; otherwise, return to step s1-1;
  • Step s1-2 The host computer judges whether there is a connected smart key device, if yes, go to step s1-6; otherwise, go to step s1-3;
  • Step s1-3 The upper computer sends a connection request
  • Step s1-4 The smart key device receives the connection request, generates a connection response, and returns the connection response to the upper computer;
  • Step s1-5 The host computer receives the connection response, and judges whether the connection with the smart key device is successful according to the connection response, if yes, execute step s1-6; otherwise, return to step s1-3;
  • Step s1-6 The host computer judges whether the pairing with the smart key device is successful, if yes, go to step s1; otherwise, send a pairing request to the smart key device and prompt the user to enter the pairing code, and go to step s1-7;
  • Step s1-7 The upper computer judges whether the pairing code entered by the user is received, if it is, judge whether the pairing code is correct, if the pairing code is correct, generate a password verification request, and send a password verification request to the smart key device; if the pairing code is wrong , Prompting that the pairing code is wrong, wait for the user to input the pairing code, and return to step s1-7; otherwise, exit and end.
  • the user trigger information in step s1-1 is specifically an interactive signature request.
  • generating and displaying randomly arranged characters in step s1 is specifically: generating and displaying random graphics, the random graphics containing characters that can be used for user input; or
  • Generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, the preset graphic contains randomly arranged characters that can be used for user input; or
  • the generating and displaying of randomly arranged characters specifically includes: generating and displaying a preset graphic, and the preset graphic includes random characters that can be used for user input.
  • the display of the password input interface in step s2 is specifically: displaying the same graphic as the graphic displayed by the smart key device, and the graphic displayed by the upper computer does not include randomly arranged characters.
  • step s4 it further includes:
  • the upper computer receives the verification response returned by the smart key device, determines the type of verification response, and if it is a successful password verification response, sends an interactive signature request to the smart key device;
  • the smart key device receives the interactive signature request sent by the host computer, parses the interactive signature request to obtain the first interactive data, signs the first interactive data to generate an interactive signature response, and returns the interactive signature response to the host computer.
  • the above method further includes: when the host computer receives the interactive signature response returned by the smart key device, obtaining second interactive data according to the interactive signature response, generating a broadcast request according to the second interactive data, sending the broadcast request to the server, and determining Whether to receive the response returned by the server, if yes, the interaction is successful, end; otherwise, report an error and end.
  • step s3 is specifically:
  • the upper computer obtains the first location identifier of the corresponding location input by the user according to the user input, performs a hash operation on the first location identifier to obtain the first operation result, uses the first operation result as the password acquisition response, and sends the password acquisition to the smart key device response.
  • step s4 specifically includes:
  • the smart key device receives the password acquisition response, acquires the first calculation result, acquires the second location identifier of the corresponding location of the user password saved by itself according to the user password and randomly arranged characters saved by itself, and performs the second location identifier on the acquired second location identifier. Hash operation to obtain the second operation result, and judge whether the first operation result is correct according to the second operation result, if yes, the verification is successful; otherwise, the verification fails.
  • step s3 is specifically:
  • the upper computer obtains the first location identifier of the corresponding location input by the user according to the user input, uses the first location identifier as the password acquisition response, and sends the password acquisition response to the smart key device.
  • step s4 specifically includes:
  • the smart key device receives the password acquisition response, acquires the first location identifier, and sequentially splices the first location identifier to obtain the first calculation result, and obtains the corresponding location of the user password saved by itself according to the user password saved by itself and the randomly arranged characters
  • the second position identifier, the second position identifier is sequentially spliced to obtain the second operation result, and it is judged whether the first operation result is the same as the second operation result. If so, the verification is successful; otherwise, the verification fails.
  • step s3 is specifically:
  • the upper computer obtains the first location identifier of the corresponding location according to the user input, sequentially splices the first location identifiers to obtain the password acquisition response, and sends the password acquisition response to the smart key device.
  • step s4 specifically includes:
  • the smart key device receives the password acquisition response, divides and extracts each first location identifier in the password acquisition response, determines the password entered by the user according to the first location identifier, and determines whether the password entered by the user is the same as the password saved by the user, if so , The verification is successful; otherwise, the verification fails.
  • Embodiment 2 of the present invention a method for safely entering a password is provided, as shown in FIG. 2, including:
  • Step s201 the host computer waits to receive user trigger information, and judges whether the user trigger information is received, if yes, execute step s202; otherwise, continue to wait;
  • the user trigger information is a private key signature request.
  • Step s202 the host computer judges whether there is a connected smart key device, if yes, go to step s206; otherwise, go to step s203;
  • the upper computer and the smart key device can be connected via Bluetooth or a data cable; in this embodiment 2, the upper computer and the smart key device are connected via Bluetooth as an example for description;
  • step s202 specifically includes: the host computer reads the parameters of the Bluetooth module of the host computer to determine whether the parameters of the Bluetooth module can be successfully read, if yes, the host computer has been connected to the smart key device, and step s206 is executed; otherwise, the host computer If the machine is not connected to the smart key device, perform step s203;
  • Step s203 the upper computer sends a connection request to the smart key device
  • Step s204 The smart key device receives the connection request sent by the upper computer, generates a connection response according to the connection request, and returns the connection response to the upper computer;
  • step s204 specifically includes:
  • Step s204-1 The smart key device receives the connection request sent by the host computer, the smart key device parses the connection request, obtains the terminal information of the host computer, checks the white list saved by the smart key device itself, and judges whether the white list is empty , If yes, connect to the upper computer, and return a connection success response to the upper computer; otherwise, go to step s204-2;
  • Step s204-2 The smart key device judges whether there is terminal information in the whitelist that is the same as the obtained terminal information of the upper computer. If it is, it connects to the upper computer and returns a connection success response to the upper computer; otherwise, it refuses to communicate with the upper computer.
  • the host computer connects, and the host computer returns a connection failure response.
  • Step s205 the host computer receives the connection response and judges whether the connection with the smart key device is successful, if yes, execute step s206; otherwise, return to step s203;
  • Step s206 The host computer checks whether the smart key device exists in the pairing list, if yes, go to step s209; otherwise, send a pairing request to the smart key device and prompt the user to enter the smart key device pairing code, and go to step s207;
  • the upper computer sends a pairing request to the smart key device, and displays a pattern that prompts the user to enter the smart key device pairing code as shown in Figure 3 on the screen of the upper computer;
  • Step s207 The smart key device receives the pairing request sent by the host computer, generates the smart key device pairing code, and displays the smart key device pairing code;
  • the Bluetooth of the smart key device is turned on
  • the smart key device displays the pairing code, as shown in Figure 4;
  • Step s208 The upper computer judges whether the pairing code input by the user is received, if it is, it judges whether the pairing code input by the user is correct, if the pairing code is correct, the pairing is successful, and step s209 is executed; if the pairing code is incorrect, it prompts the user that the pairing code is wrong , Return to step s208; otherwise, exit the process;
  • the procedure further includes:
  • the upper computer judges whether the waiting time exceeds the first preset time, if yes, exit the process, otherwise, continue to execute step s208;
  • the host computer judges whether it exceeds 2 minutes, if yes, exit the process; otherwise, continue to execute step s208;
  • Step s209 the host computer generates a password verification request, and sends the encrypted password verification request to the smart key device;
  • the host computer generates a password verification request 00290000, and sends a verification request 00290000 to the smart key device;
  • 00290000 is an APDU message.
  • Step s210 The smart key device receives the password verification request, generates and displays randomly arranged characters, and returns a password verification response to the upper computer;
  • generating and displaying randomly arranged characters is specifically: generating and displaying a random graphic, the random graphic contains characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, and the preset graphic contains randomly arranged characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, the preset graphic contains random characters that can be used for a user to input a password;
  • the smart key device receives a password verification request, generates a set of random numbers 1-9, and randomly displays the numbers 1-9 on the screen in a nine-square grid, as shown in Figure 5, and returns a password verification response to the upper computer ;
  • the smart key generates and displays a random pattern
  • the random pattern containing a random number that can be used for user input is specifically:
  • the password is preset by the user and stored in the smart key device.
  • the smart key generates random graphics, and saves the location identification of each location of the random graphics in the identification list.
  • all numbers that can be used by the user are randomly assigned to the location identifications in the identification list.
  • the random pattern generated by the smart key is a preset pattern.
  • Step s211 The host computer receives the password verification response, displays a figure with the same shape as the smart key device display but does not include random numbers, waits for the user to enter the password, and judges whether the user has completed the password input, if yes, go to step s212; otherwise, exit, the end.
  • the upper computer judges whether the user clicks the confirmation key, if yes, the user has completed the password input; otherwise, the user has not completed the password input;
  • the method further includes:
  • the upper computer judges whether the waiting time for the user to input the password exceeds the second preset time, if yes, exit and end; otherwise, continue to wait for the user to input the password;
  • the second preset time is 2 minutes.
  • the host computer receives the password verification response and displays a graphic that has the same shape as the smart key device but does not contain numbers or letters. As shown in Figure 6, it waits for the user to input the password and judges whether to accept the password input by the user. If it is, Go to step s212; otherwise, exit and end.
  • Step s212 The host computer obtains the first location identifier corresponding to the location where the user clicks according to the password entered by the user, performs calculations on the first location identifier to obtain the first calculation result, and sends the first calculation result to the smart key device;
  • step s212 is specifically: the host computer obtains the first location identifier of the user's click location according to the password entered by the user, performs a hash operation on the obtained first location identifier, obtains the first operation result, and sends it to the smart key device The first operation result.
  • the password entered by the user on the host computer is 123456
  • the first location identifier corresponding to the location is 258963.
  • the first location identifier obtained is hashed to obtain the first calculation result 2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb, and the first calculation is sent to the smart key device result.
  • Step s213 The smart key device receives the first calculation result, obtains the second location identifier corresponding to the location of the preset password according to the password preset by the user, and performs calculation on the acquired second location identifier to obtain the second calculation result;
  • step s213 is specifically: the smart key device receives the first calculation result, obtains the second location identifier of the corresponding location according to the password set by the user, and performs a hash operation on the second location identifier to obtain the second calculation result;
  • the password preset by the user is 123456
  • the second identifier corresponding to the location obtained according to the password preset by the user is 258963
  • the obtained second location identifier is hashed to obtain the second calculation result 2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb.
  • Step s214 The smart key device judges whether the first operation result and the second operation result match, if yes, the verification is successful, and sends a verification success response to the upper computer; otherwise, if the verification fails, it sends a verification failure response to the upper computer;
  • step s214 is specifically: the smart key device judges whether the first calculation result and the second calculation result are the same, if yes, the verification is successful, and the upper computer sends a verification success response; otherwise, the verification fails, and the upper computer sends a verification failure. Respond, end.
  • the smart key device judges whether the first calculation result 2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb and the second calculation result 2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb are the same. If yes, the verification is successful and the response is sent upwards.
  • Step s215 The host computer receives the response returned by the smart key device and judges the response type. If the returned response is a verification success response, execute step s216; if the returned response is a verification failure response, it prompts that the user password is incorrect and exits.
  • step s215 when the host computer judges that the response returned by the smart key device is a failure response, after prompting the user that the password is entered incorrectly, the method further includes:
  • the upper computer judges whether the number of times the user password has been entered incorrectly reaches the threshold, if yes, exit; otherwise, continue to prompt the user to enter the password;
  • the above-mentioned host computer judging whether the number of times the user password has been entered incorrectly reaches the threshold specifically includes:
  • Step a The upper computer sends a request for obtaining the number of user password retries to the smart key device;
  • Step b The smart key device receives the request to obtain the number of user password retries, obtains the number of password retries from the storage area of the smart key device, and determines whether the number of retries is 0, and if it is not 0, the number of retries is returned to the host computer ; If it is 0, the upper computer will return the smart key device lock response and exit;
  • Step c The host computer receives the result returned by the smart key device and judges the result type. If it is the number of retries, continue to prompt the user to enter the password; if the smart key device locks the response, exit.
  • Step s216 the upper computer sends an interactive signature request to the smart key device
  • the interactive signature request includes interactive data
  • the interaction data includes: last interaction data, account address, and interaction amount.
  • the last interaction data is specifically the HASH value of the last interaction
  • the specific interaction data received is: 0X 01000000 01c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7 00000000 ffffff 01 00bd010500000000 1976a9 14 63498b26a6339d0808fbb013c90c6095fc93901ea77410103489ab7 00000000 fffffff 01 00bd010500000000 1976a9 14 63498b26af40a02a05b88;
  • the sixth byte to the thirty-seventh byte 0X c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7 is the last interaction data
  • the 47th byte to the 54th byte 0X 00bd010500000000 is the interaction amount
  • the eight bytes 0X 634228c26cf40a02a05db93f2f98b768a8e0e61b is the account address.
  • Step s217 The smart key device receives the interactive signature request sent by the host computer, parses the interactive signature request to obtain the first interactive data, signs the first interactive data to generate an interactive signature response, and returns the interactive signature response to the host computer;
  • the smart key device signs the first interactive data according to the private key to generate an interactive signature response;
  • a first private key to sign data through interactive elliptic curve digital signature algorithm for example: 256-bit private key sub 2 according to the present embodiment, "0X 6c5544797a91115dc3330ebd003851d239a706ff2aa2ab70039c5510ddf06420" sign on the interaction data obtained by 0X 0100000001c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab700000000fffffff0100bd0105000000001976a914634228c26cf40a02a05db93f2f98b768a8e0e61b88ac00000000 Elliptic Curve Digital Signature Algorithm Signature result, the generated signature result is "0X 048aefd78bba80e2d1686225b755dacea890c9ca1be10
  • Step s218 The host computer receives the interactive signature response, obtains the second interactive data according to the interactive signature response, generates a broadcast request according to the second interactive data, sends the broadcast request to the server, and judges whether the response returned by the server is received. If yes, the interaction is successful. End; otherwise, report an error and exit.
  • Embodiment 3 of the present invention a method for safely inputting a password is provided, as shown in FIG. 7, including:
  • Step s301 the upper computer sends a connection request to the smart key device
  • Step s302 The smart key device receives the connection request sent by the upper computer, generates a connection response according to the connection request, and returns the connection response to the upper computer;
  • Step s303 The upper computer receives the connection response, generates a password verification request, and sends the password verification request to the smart key device;
  • Step s304 The smart key device receives the password verification request sent by the upper computer, generates and displays randomly arranged characters, records the first position identifier corresponding to the user's password, generates a password verification response, and returns a password verification response to the upper computer;
  • generating and displaying randomly arranged characters is specifically: generating and displaying a random graphic, the random graphic contains characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, and the preset graphic contains randomly arranged characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, the preset graphic contains random characters that can be used for a user to input a password;
  • Step s305 The host computer displays the same graphic as the smart key device display graphic.
  • the graphic does not contain random numbers, prompts the user to input, and determines whether the user input is received. If so, returns the user input corresponding position to the smart key device.
  • the location identifier to determine whether the user has finished this input, if so, generate the user input end identifier, and send the user input end identifier to the smart key device; otherwise, return to step s305; otherwise, exit and end;
  • Step s306 The smart key device receives the second location identifier corresponding to the user input from the host computer, and saves the received second location identifiers in the location identifier list in order; determines whether the input end identifier sent by the host computer is received, If yes, go to step s307; otherwise, go to step s306;
  • Step s307 the smart key device sequentially splices the second location identifiers stored in the location identifier list to obtain the first verification data;
  • Step s308 The smart key device sequentially splices the second location identification to obtain the second verification data, and judges whether the first verification data and the second verification data are the same. If it is, the verification is successful, and the upper computer returns a verification success response and ends; otherwise, If the verification fails, the host computer will return a verification failure response and end.
  • a method for securely generating a password including:
  • Step s401 the upper computer sends a connection request to the smart key device
  • Step s402 The smart key device receives the connection request, generates a connection response according to the connection request, and returns the connection response to the upper computer;
  • Step s403 the upper computer receives the connection response returned by the smart key device, generates a password verification request, and sends the password verification request to the smart key device;
  • Step s404 The smart key device receives the password verification request, generates and displays randomly arranged characters, sequentially saves the location identification of the corresponding location of the user password, saves a location identification, the counter is incremented by 1, the initial value of the counter is 0, and the upper computer returns the password Verify response;
  • generating and displaying randomly arranged characters is specifically: generating and displaying a random graphic, the random graphic contains characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, and the preset graphic contains randomly arranged characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, the preset graphic contains random characters that can be used for a user to input a password;
  • Step s405 The host computer displays the same graphic as the graphic displayed on the smart key device.
  • the random graphic does not contain random numbers, prompts the user to input, and determines whether user input is received. If yes, execute step s406; otherwise, exit and end;
  • Step s406 Each time the host computer receives the user input, it performs a hash operation on the location identifier of the corresponding location input by the user to obtain the first operation result, sends the first operation result to the smart key device, and judges whether the user has ended this time Input, if yes, generate the user input end identifier, and send the user input end identifier to the host computer; otherwise, return to step s406;
  • Step s407 The smart key device sequentially receives the first operation result, extracts the current random number corresponding to the user password according to the counter, and performs a hash operation on the current random number to obtain the second operation result;
  • Step s408 The smart key device judges whether the first calculation result matches the second calculation result, and if yes, execute step s409; otherwise, the verification fails, and the upper computer returns a verification failure response, and the end;
  • Step s409 The smart key device judges whether the user input end mark is received, if it is, the verification is successful, the upper computer returns a verification success response, the counter is set, and the end; otherwise, a new random pattern is generated and displayed, the random pattern contains The random number that can be used for user input, return to step S407.
  • Embodiment 5 of the present invention a method for safely entering a password is provided, as shown in FIG. 9, including:
  • Step s501 the upper computer sends a connection request to the smart key device
  • Step s502 The smart key device receives the connection request, generates a connection response according to the connection request, and returns the connection response to the upper computer;
  • Step s503 the upper computer receives the connection response, generates a password verification request, and sends the password verification request to the smart key device;
  • Step s504 The smart key device receives the password verification request, generates and displays randomly arranged characters, and returns a password verification response to the upper computer;
  • generating and displaying randomly arranged characters is specifically: generating and displaying a random graphic, the random graphic contains characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, and the preset graphic contains randomly arranged characters that can be used for a user to input a password;
  • generating and displaying randomly arranged characters specifically includes: generating and displaying a preset graphic, the preset graphic contains random characters that can be used for a user to input a password;
  • Step s505 The host computer receives the password verification response returned by the smart key device, and displays the same graph as the smart key display graph.
  • the graph does not contain random numbers. It waits for user input and judges whether user input is received.
  • the entered first position identification of the corresponding position is stored in the identification list saved by the host computer in order, and step s506 is executed; otherwise, exit and end;
  • Step s506 The host computer judges whether the user has finished this input, if yes, go to step s507; otherwise, continue to receive the first position identifier of the corresponding position input by the user, and save it in the identifier list in order, and return to step s506;
  • Step s507 the upper computer splices the first position identifiers stored in the identifier list in order to obtain the first verification data, and sends the first verification data to the smart key device;
  • Step s508 The smart key device receives the first verification data, divides and extracts the first verification data to obtain each location identification, determines the password entered by the user according to the obtained location identification, and determines the password entered by the user and the password saved by the smart key device Are they the same? If yes, the verification is successful, and the upper computer returns a verification success response and ends; otherwise, if the verification fails, the upper computer returns a verification failure response and ends.
  • a system for safely inputting a password including: a smart key device 10 and an upper computer 20;
  • the smart key device 1 includes:
  • the first receiving module 101 is configured to receive a password verification request sent by the upper computer 20;
  • the first return module 102 is configured to return a password verification response to the upper computer 20;
  • the first generating module 103 is configured to generate a random character string when the first receiving module 101 receives a password verification request sent by the host computer 20;
  • the first receiving module 101 is also configured to receive the first calculation result sent by the host computer 20;
  • the first judgment module 104 is configured to judge whether the user input is correct according to the first calculation result, the password saved by itself, and the random character string generated by the generating module when the first receiving module 101 receives the first calculation result;
  • the first return module 102 is also used to return a verification success response to the upper computer 20 when the first judgment module 104 judges that the user input is correct; when the first judgment module 104 judges that the user input is incorrect, return the verification failure to the upper computer 20 response;
  • the upper computer 20 includes:
  • the second receiving module 201 is configured to receive the password verification response returned by the smart key device 10;
  • the second display module 202 is configured to display the password input interface when the second receiving module 201 receives the password verification response, and wait for user input;
  • the second judgment module 203 is configured to judge whether user input is received when the second display module 202 displays the password input interface;
  • the second acquisition module 204 is configured to acquire the first location identifier of the corresponding location when the second determination module 203 determines that the user input is received, and perform operations on the first location identifier to obtain the first operation result;
  • the second sending module 205 is configured to send the first calculation result obtained by the second obtaining module 204 to the smart key device 10.
  • the second judgment module 203 is also used to judge whether user trigger information is received
  • the second receiving module 201 is also used to receive user trigger information
  • the second judging module 203 is also used for judging whether there is a connected smart key device when the second receiving module 201 receives the user’s trigger information; when there is a connected smart key device, judging whether the user is received Enter the pairing code;
  • the second judgment module 203 When receiving the pairing code input by the user, the second judgment module 203 is also used to judge whether the pairing code is correct;
  • the second sending module 205 is also used to send a connection request when the second judgment module 203 judges that there is no connected smart key device in the upper computer;
  • the first receiving module 101 is also configured to receive a connection request sent by the host computer 20;
  • the first generating module 103 is further configured to generate a connection response when the first receiving module 101 receives the connection request sent by the host computer 20;
  • the first return module 102 is also used to, when the first generation module 103 generates a connection response, return a connection response to the host computer 20;
  • the second receiving module 201 is also configured to receive the connection response returned by the smart key device 10;
  • the second judging module 203 is further configured to judge whether the upper computer 20 and the smart key device 10 are successfully connected according to the connection response received by the second receiving module 201;
  • the second sending module 205 is further configured to send a pairing request to the smart key device 10 when the second judgment module 203 determines that the host computer 20 and the smart key device 10 are not successfully paired;
  • the second display module 202 is also configured to prompt the user to enter a pairing code when the second sending module 205 sends a pairing request to the smart key device 10;
  • the second judgment module 203 is also used for judging whether the pairing code is correct when the upper computer 20 receives the pairing code input by the user;
  • the upper computer also includes a second generating module, which is used to generate a password verification request when the second determining module 203 determines that the pairing code input by the user is correct;
  • the second display module 202 is also used for prompting that the pairing code is wrong when the second judgment module 203 judges that the pairing code input by the user is wrong.
  • the user trigger information received by the second receiving module 201 is specifically an interactive signature request.
  • the smart key device 10 further includes:
  • the first display module is used to display the random character string on the smart key device 10 in a specific graphic after the first generating module 103 generates the random character string.
  • the second display module 202 is specifically configured to display the same specific graphic as that displayed on the smart key device 10, and random characters are not displayed in the graphic.
  • the second receiving module 201 is further configured to receive the verification response returned by the smart key device 10;
  • the second judgment module 203 is further configured to judge the verification response type when the second receiving module 201 receives the verification response;
  • the second sending module 205 is further configured to send an interactive signature request to the smart key device 10 when the second judgment module 203 judges that the verification response type is a password verification success response;
  • the first receiving module 101 receives the interactive signature request sent by the host computer
  • the smart key device also includes:
  • the parsing module is used to parse the interactive signature request to obtain the first interactive data when the first receiving module 101 receives the interactive signature request;
  • the first generation module 103 is further configured to sign the first interactive data to generate an interactive signature response;
  • the first return module 102 returns the interactive signature response generated by the first generation module 103 to the host computer.
  • the second receiving module 201 is further configured to receive the interactive signature response returned by the smart key device 10;
  • the second generating module is further configured to, when the second receiving module 201 receives the interactive signature response, obtain second interactive data according to the interactive signature response, and generate a broadcast request according to the second interactive data;
  • the second sending module 205 is further configured to send the broadcast request generated by the second generating module to the server;
  • the second judgment module 203 is also used to judge whether the response returned by the server is received.
  • the second obtaining module 204 is specifically configured to perform a hash operation on the first location identifier to obtain the first operation result.
  • the first receiving module 101 is also configured to receive the first calculation result sent by the host computer 20;
  • the smart key device also includes:
  • the first obtaining module is configured to obtain the second location identifier corresponding to the location identifier of the password stored by itself according to the password and random character string stored by itself, and perform a hash operation on the obtained second location identifier to obtain the second operation result;
  • the first judgment module 104 is further configured to judge whether the first calculation result is correct according to the second calculation result;
  • the second acquisition module 204 is specifically configured to sequentially splice the first location identifiers to obtain the first verification data, and use the first verification data as the first operation result.
  • the first receiving module 101 is further configured to receive the first calculation result
  • the first acquisition module is also used to segment and extract each location identifier in the first operation result
  • the first judging module 104 is also configured to determine the password input by the user according to the location identifier, and judge whether the password input by the user is correct according to the password and random character string stored by itself.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Telephone Function (AREA)

Abstract

一种安全输入密码的方法,包括:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;上位机接收到密码验证响应时显示密码输入界面,等待用户输入,当接收到用户输入时,根据用户输入得到密码获取响应,向智能密钥设备发送密码获取响应;智能密钥设备根据接收到的密码获取响应判断用户输入是否正确。通过本发明,实现了一种用户每一次输入密码均需点击不同位置的密码输入方案,另外,通过数字在上位机屏幕不显示的方式,进一步保证了用户数字资产的安全。

Description

一种安全输入密码的方法及系统 技术领域
本发明涉及一种安全输入密码的方法及系统,属于信息安全领域。
背景技术
随着互联网行业的快速发展,网络交互在生活中得到越来越广泛的应用,网络交互中输入密码的安全也成了一个亟待解决的问题;智能密钥设备是指将私钥单独储存在一个芯片中,与互联网隔离,即连即用,很大程度上保证了网络交互的安全,随着上层软件要开放源码,传统的密码保护手段已经无法保护硬件的密码,无论是采用哪种加密方式,只要上层软件代码被篡改,硬件密码就有丢失的风险。
发明内容
本发明的目的是提供一种安全输入密码的方法及系统,其看实现一种必须用户参与,并且一次一密码的验证方案,另外,通过数字在上位机屏幕不显示的方式,进一步保证了用户数字资产的安全。
为此,根据本发明的一个方面,提供了一种安全输入密码的方法,其包括:
步骤s1:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;
步骤s2:上位机接收密码验证响应,显示密码输入界面,等待用户输入,判断是否接收到用户输入,如果是,执行步骤s3;否则,报错,退出;
步骤s3:上位机根据用户输入获取对应位置的第一位置标识,根据第一位置标识得到密码获取响应,向智能密钥设备发送密码获取响应;研究
步骤s4:智能密钥设备接收密码获取响应,根据密码获取响应、自身保存的密码和随机排列的字符判断用户输入是否正确,如果是,验证成功,向上位机返回验证成功响应;否则,验证失败,向上位机返回验证失败响应。
优选地,步骤s1之前还包括:
步骤s1-1:上位机等待接收用户触发信息,判断是否接收到用户触发信息,如果是,执行步骤s1-2;否则,返回步骤s1-1;
步骤s1-2:上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s1-6;否则,执行步骤s1-3;
步骤s1-3:上位机发送连接请求;
步骤s1-4:智能密钥设备接收连接请求,生成连接响应,向上位机返回连接响应;
步骤s1-5:上位机接收连接响应,根据连接响应判断与智能密钥设备连接是否成功,如果是,执行步骤s1-6;否则,返回步骤s1-3;
步骤s1-6:上位机判断是否与智能密钥设备配对成功,如果是,执行步骤s1;否则,向智能密钥设备发送配对请求,并提示用户输入配对码,执行步骤s1-7;以及
步骤s1-7:上位机判断是否接收到用户输入的配对码,如果是,判断配对码是否正确,如果配对码正确,生成密码验证请求,向智能密钥设备发送密码验证请求;如果配对码错误,提示配对码错误,等待用户输入配对码,返回步骤s1-7;否则,退出,结束。
优选地,步骤s1-1中用户触发信息具体为交互签名请求。
优选地,步骤s1中生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形包含可用于用户输入的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的 随机排列的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的随机字符。
优选地,步骤s2中显示密码输入界面具体为:显示与智能密钥设备显示的图形相同的图形,上位机显示的图形中不包含随机排列字符。
优选地,步骤s4之后,还包括:
上位机接收智能密钥设备返回的验证响应,判断验证响应类型,如果为密码验证成功响应,向智能密钥设备发送交互签名请求;
智能密钥设备接收上位机发送的交互签名请求,解析交互签名请求,得到第一交互数据,对第一交互数据进行签名生成交互签名响应,向上位机返回交互签名响应。
优选地,上述方法还包括:当上位机接收到智能密钥设备返回的交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求,向服务器发送广播请求,判断是否接收到服务器返回的响应,如果是,交互成功,结束;否则,报错,结束。
优选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,对第一位置标识进行哈希运算得到第一运算结果,将第一运算结果作为密码获取响应,向智能密钥设备发送密码获取响应。
优选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果,根据第二运算结果判断第一运算结果是否正确,如果是,验证成功;否则,验证失败。
优选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,将第一位置标识作为密码获取响应,向智能密钥设备发送密码获取响应。
优选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一位置标识,对第一位置标识进行顺序拼接得到第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对第二位置标识进行顺序拼接得到第二运算结果,判断第一运算结果与第二运算结果是否相同,如果是,验证成功;否则,验证失败。
优选地,步骤s3具体为:
上位机根据用户输入获取对应位置的第一位置标识,将第一位置标识顺序拼接得到密码获取响应,向智能密钥设备发送密码获取响应。
优选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,分割并提取密码获取响应中的每个第一位置标识,根据第一位置标识确定用户输入的密码,判断用户输入的密码和自身保存的密码是否相同,如果是,验证成功;否则,验证失败。
根据本发明的另一方面,提供一种安全输入密码的系统,包括:
智能密钥设备和上位机;
智能密钥设备包括:
第一接收模块,用于接收上位机发送的密码验证请求;
第一返回模块,用于向上位机返回密码验证响应;
第一生成模块,用于当第一接收模块接收到上位机发送的密码验证请求时,生成并显示随机排列的字符;
第一接收模块还用于接收上位机发送的第一运算结果;
第一判断模块,用于当第一接收模块接收到第一运算结果时,根据第一运算结果、自身保存的密码和生成模块生成的随机排列字符判断用户输入是否正确;
第一返回模块还用于当第一判断模块判断出用户输入正确时,向上位机返回验证成功响应;当第一判断模块判断出用户输入错误时,向上位机返回验证失败响应;
上位机包括:
第二接收模块,用于接收智能密钥设备返回的密码验证响应;
第二显示模块,用于当第二接收模块接收到密码验证响应时,显示密码输入界面,等待用户输入;
第二判断模块,用于当第二显示模块显示密码输入界面时,判断是否接收到用户输入;
第二获取模块,用于当第二判断模块判断出接收到用户输入时获取对应位置的第一位置标识,并对第一位置标识进行运算,得到第一运算结果;
第二发送模块,用于将第二获取模块得到的第一运算结果发送给智能密钥设备。
优选地,第二判断模块还用于判断是否接收到用户的触发信息;
第二接收模块还用于接收用户的触发信息;
第二判断模块还用于,当第二接收模块接收到用户的触发信息时,判断是否存在已连接的智能密钥设备;当存在已连接的智能密钥设备时,判断是否接收到用户输入的配对码;
当接收到用户输入的配对码,第二判断模块还用于判断配对码是否正确;
第二发送模块还用于,当第二判断模块判断出上位机不存在已连接的智能密钥设备时,发送连接请求;
第一接收模块还用于接收上位机发送的连接请求;
第一生成模块还用于当第一接收模块接收上位机发送的连接请求时,生成连接响应;
第一返回模块还用于,当第一生成模块生成连接响应时,向上位机返回连接响应;
第二接收模块还用于接收智能密钥设备返回的连接响应;
第二判断模块还用于根据第二接收模块接收到的连接响应判断上位机与智能密钥设备连接是否成功;
第二发送模块还用于当第二判断模块判断出上位机与智能密钥设备配对未成功时,向智能密钥设备发送配对请求;
第二显示模块还用于当第二发送模块向智能密钥设备发送配对请求时,提示用户输入配对码;
第二判断模块还用于当上位机接收到用户输入的配对码时,判断配对码是否正确;
上位机还包括第二生成模块,用于当第二判断模块判断出用户输入的配对码正确时,生成密码验证请求;
第二显示模块还用于当第二判断模块判断出用户输入的配对码错误时,提示配对码错误。
优选地,第二接收模块接收到的用户触发信息具体为交互签名请求。
优选地,第一生成模块具体用于,当第一接收模块接收到上位机发送的密码验证请求时,生成并显示随机图形,随机图形包含可用于用户输入的字符;或者
第一生成模块具体用于,当第一接收模块接收到上位机发送的密码验证请求时,生成并显示预设图形,预设图形包含可用于用户输入的随机排列的字符;或者
第一生成模块具体用于,当第一接收模块接收到上位机发送的密码验证请求时,生成并显示预设图形,预设图形包含可用于用户输入的随机字符。
优选地,第二显示模块具体用于显示和智能密钥设备上显示的相同的图形相同的图形,图形中不包含随机排列的字符。
优选地,第二接收模块还用于接收智能密钥设备返回的验证响应;
第二判断模块还用于当第二接收模块接收到验证响应时,判断验证响应类型;
第二发送模块还用于当第二判断模块判断出验证响应类型为密码验证成功响应时,向智能密钥设备发送交互签名请求;
第一接收模块接收上位机发送的交互签名请求;
智能密钥设备还包括:
解析模块,用于当第一接收模块接收到交互签名请求时,解析交互签名请求得到第一交互数 据;
第一生成模块还用于对第一交互数据进行签名生成交互签名响应;
第一返回模块将第一生成模块生成的交互签名响应返回上位机。
优选地,第二接收模块还用于接收智能密钥设备返回的交互签名响应;
第二生成模块还用于当第二接收模块接收到交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求;
第二发送模块还用于向服务器发送第二生成模块生成的广播请求;
第二判断模块还用于判断是否接收到服务器返回的响应。
优选地,第二获取模块具体用于根据用户输入获取用户输入的对应位置的第一位置标识,对第一位置标识进行哈希运算得到第一运算结果,将第一运算结果作为密码获取响应;
第二发送模块具体用于向智能密钥设备发送第二获取模块得到的第一运算结果。
优选地,第一接收模块还用于接收上位机发送的密码获取响应,获取第一运算结果;
智能密钥设备还包括:
第一获取模块,用于根据自身保存的密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果;
第一判断模块还用于根据第二运算结果判断第一运算结果是否正确。
优选地,第二获取模块具体用于根据用户输入获取用户输入的对应位置的第一位置标识,将第一位置标识作为密码获取响应;
第二发送模块用于向智能密钥设备发送密码获取响应。
优选地,第一接收模块还用于接收密码获取响应;
第一获取模块还用于获取第一位置标识,对第一位置标识进行顺序拼接得到第一运算结果;
第一获取模块还用于根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对第二位置标识进行顺序拼接得到第二运算结果;
第一判断模块还用于第一运算结果与第二运算结果是否相同。
优选地,第二获取模块还用于根据用户输入获取对应位置的第一位置标识,将第一位置标识顺序拼接得到密码获取响应;
第二发送模块还用于向智能密钥设备发送密码获取响应。
优选地,第一接收模块还用于接收密码获取响应;
第一生成模块还用于分割并提取密码获取响应中的每个第一位置标识,根据第一位置标识确定用户输入的密码;
第一判断模块还用于判断用户输入的密码和自身保存的密码是否相同。
通过本发明,实现了一种必须用户参与,并且一次一密码的验证方案,另外,通过数字在上位机屏幕不显示的方式,进一步保证了用户数字资产的安全。
附图说明
图1为根据本发明实施例1的一种安全输入密码的方法的流程图;
图2为根据本发明实施例2的一种安全输入密码的方法的流程图;
图3为当本发明实施例2中智能密钥设备和上位机配对时,上位机显示输入配对码的示意图;
图4为当本发明实施例2中智能密钥设备和上位机配对时,智能密钥设备显示配对码示意图;
图5为根据本发明实施例2的智能密钥设备显示包含数字的九宫格图形的示意图;
图6为根据本发明实施例2的上位机接收到第一响应后,显示的用户输入密码图形的示意图;
图7为根据本发明实施例3的一种安全输入密码的方法的流程图;
图8为根据本发明实施例4的一种安全输入密码的方法的流程图;
图9为根据本发明实施例5的一种安全输入密码的方法的流程图;
图10为根据本发明实施例6的一种安全输入密码的系统的方框图。
具体实施方式
下面将结合本发明的附图,对本发明的实施例进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域的技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例中,上位机为有显示屏的设备,如手机、电脑等设备,上位机和智能密钥设备之间通过蓝牙、音频或者有线等方式连接。
实施例1:
根据本发明实施例1,提供了一种安全生成密码的方法,其包括:
步骤s1:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;
步骤s2:上位机接收密码验证响应,显示密码输入界面,等待用户输入,判断是否接收到用户输入,如果是,执行步骤s3;否则,报错,退出;
步骤s3:上位机根据用户输入获取对应位置的第一位置标识,根据第一位置标识得到密码获取响应,向智能密钥设备发送密码获取响应;
步骤s4:智能密钥设备接收密码获取响应,根据密码获取响应、自身保存的密码和随机排列的字符判断用户输入是否正确,如果是,验证成功,向上位机返回验证成功响应;否则,验证失败,向上位机返回验证失败响应。
优选地,步骤s1之前还包括:
步骤s1-1:上位机等待接收用户触发信息,判断是否接收到用户触发信息,如果是,执行步骤s1-2;否则,返回步骤s1-1;
步骤s1-2:上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s1-6;否则,执行步骤s1-3;
步骤s1-3:上位机发送连接请求;
步骤s1-4:智能密钥设备接收连接请求,生成连接响应,向上位机返回连接响应;
步骤s1-5:上位机接收连接响应,根据连接响应判断与智能密钥设备连接是否成功,如果是,执行步骤s1-6;否则,返回步骤s1-3;
步骤s1-6:上位机判断是否与智能密钥设备配对成功,如果是,执行步骤s1;否则,向智能密钥设备发送配对请求,并提示用户输入配对码,执行步骤s1-7;
步骤s1-7:上位机判断是否接收到用户输入的配对码,如果是,判断配对码是否正确,如果配对码正确,生成密码验证请求,向智能密钥设备发送密码验证请求;如果配对码错误,提示配对码错误,等待用户输入配对码,返回步骤s1-7;否则,退出,结束。
优选地,步骤s1-1中用户触发信息具体为交互签名请求。
优选地,步骤s1中生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形包含可用于用户输入的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的随机排列的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的随机字符。
优选地,步骤s2中显示密码输入界面具体为:显示与智能密钥设备显示的图形相同的图形,上位机显示的图形中不包含随机排列字符。
优选地,步骤s4之后,还包括:
上位机接收智能密钥设备返回的验证响应,判断验证响应类型,如果为密码验证成功响应,向智能密钥设备发送交互签名请求;
智能密钥设备接收上位机发送的交互签名请求,解析交互签名请求,得到第一交互数据,对第一交互数据进行签名生成交互签名响应,向上位机返回交互签名响应。
优选地,上述方法还包括:当上位机接收到智能密钥设备返回的交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求,向服务器发送广播请求,判断是否接收到服务器返回的响应,如果是,交互成功,结束;否则,报错,结束。
优选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,对第一位置标识进行哈希运算得到第一运算结果,将第一运算结果作为密码获取响应,向智能密钥设备发送密码获取响应。
优选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果,根据第二运算结果判断第一运算结果是否正确,如果是,验证成功;否则,验证失败。
优选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,将第一位置标识作为密码获取响应,向智能密钥设备发送密码获取响应。
优选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一位置标识,对第一位置标识进行顺序拼接得到第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对第二位置标识进行顺序拼接得到第二运算结果,判断第一运算结果与第二运算结果是否相同,如果是,验证成功;否则,验证失败。
优选地,步骤s3具体为:
上位机根据用户输入获取对应位置的第一位置标识,将第一位置标识顺序拼接得到密码获取响应,向智能密钥设备发送密码获取响应。
优选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,分割并提取密码获取响应中的每个第一位置标识,根据第一位置标识确定用户输入的密码,判断用户输入的密码和自身保存的密码是否相同,如果是,验证成功;否则,验证失败。
实施例2:
根据本发明实施例2,提供了一种安全输入密码的方法,如图2所示,包括:
步骤s201:上位机等待接收用户触发信息,判断是否接收到用户触发信息,如果是,执行步骤s202;否则,继续等待;
优选地,本实施例2中,用户触发信息为用私钥签名请求。
步骤s202:上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s206;否则,执行步骤s203;
优选地,上位机和智能密钥设备可以通过蓝牙或者数据线的方式进行连接;本实施例2中,以上位机和智能密钥设备通过蓝牙方式连接为例进行说明;
优选地,步骤s202具体包括:上位机读取上位机的蓝牙模块的参数,判断是否可以成功读取蓝牙模块的参数,如果是,上位机已经连接智能密钥设备,执行步骤s206;否则,上位机未连接智能密钥设备,执行步骤s203;
步骤s203:上位机向智能密钥设备发送连接请求;
步骤s204:智能密钥设备接收上位机发送的连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
优选地,步骤s204具体包括:
步骤s204-1:智能密钥设备接收上位机发送的连接请求,智能密钥设备解析连接请求,获取上位机的终端信息,检查智能密钥设备自身保存的白名单,判断白名单中是否为空,如果是,连接上位机,向上位机返回连接成功响应;否则,执行步骤s204-2;
步骤s204-2:智能密钥设备判断白名单中是否存在与获取到的上位机的终端信息相同的终端信息,如果是,与上位机连接,向上位机返回连接成功响应;否则,拒绝与上位机连接,向上位机返回连接失败响应。
步骤s205:上位机接收连接响应,判断是否与智能密钥设备连接成功,如果是,执行步骤s206;否则,返回步骤s203;
步骤s206:上位机检查配对列表中是否存在该智能密钥设备,如果是,执行步骤s209;否则,向智能密钥设备发送配对请求,并提示用户输入智能密钥设备配对码,执行步骤s207;
例如,上位机向智能密钥设备发送配对请求,并在上位机的屏幕上显示如图3所示的提示用户输入智能密钥设备配对码的图案;
步骤s207:智能密钥设备接收上位机发送的配对请求,生成智能密钥设备配对码,显示智能密钥设备配对码;
其中,智能密钥设备的蓝牙为打开状态;
例如,智能密钥设备显示配对码,如图4所示;
步骤s208:上位机判断是否接收到用户输入的配对码,如果是,判断用户输入的配对码是否正确,如果配对码正确,配对成功,执行步骤s209;如果配对码不正确,提示用户配对码错误,返回步骤s208;否则,退出流程;
优选地,当上位机判断出未接收到用户输入的配对码,退出流程之前还包括:
上位机判断是否等待时长超过第一预设时间,如果是,退出流程,否则,继续执行步骤s208;
例如,上位机判断是否超过2分钟,如果是,退出流程;否则,继续执行步骤s208;
步骤s209:上位机生成密码验证请求,向智能密钥设备发送加密后的密码验证请求;
例如:上位机生成密码验证请求00290000,向智能密钥设备发送验证请求00290000;
其中,00290000为APDU报文。
步骤s210:智能密钥设备接收密码验证请求,生成并显示随机排列的字符,并向上位机返回密码验证响应;
优选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
例如,智能密钥设备接收密码验证请求,生成一组随机数字1-9,并且将数字1-9随机以九宫格的图形显示在屏幕上,如图5所示,并向上位机返回密码验证响应;
优选地,智能密钥生成并显示随机图形,随机图形中包含可用于用户输入的随机数具体为:
优选地,密码为用户预先设置的,存储于智能密钥设备中。
智能密钥生成随机图形,将随机图形每个位置的位置标识保存在标识列表中,当接收到密码验证请求时,将可用于用户输入的所有数字,随机一一对应标识列表中的位置标识。
优选地,智能密钥生成的随机图形为预设图形。
步骤s211:上位机接收密码验证响应,显示与智能密钥设备显示形状相同但不包随机数的图形,等待用户输入密码,判断用户输入密码是否完成,如果是,执行步骤s212;否则,退出,结束。
优选地,上位机判断用户是否点击确认键,如果是,用户输入密码完成;否则,用户未完成密码输入;
优选地,步骤s211中判断为否时,退出之前还包括:
上位机判断等待用户输入密码完成时间是否超过第二预设时间,如果是,退出,结束;否则,继续等待用户输入密码;
例如,第二预设时间为2分钟。
例如,上位机接收密码验证响应,显示与智能密钥设备显示形状相同但不包含数字或字母的图形,如图6所示,等待用户点输入密码,判断是否接收用户输入的密码,如果是,执行步骤s212;否则,退出,结束。
步骤s212:上位机根据用户输入的密码获取用户点击位置对应的第一位置标识,对第一位置标识进行运算,得到第一运算结果,向智能密钥设备发送第一运算结果;
优选地,步骤s212具体为:上位机根据用户输入的密码获取用户点击位置的第一位置标识,对获取到的第一位置标识进行哈希运算,得到第一运算结果,向智能密钥设备发送第一运算结果。
例如,用户在上位机输入的密码为123456,对应位置的第一位置标识为258963,对获取的第一位置标识进行哈希运算,得到第一运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb,向智能密钥设备发送第一运算结果。
步骤s213:智能密钥设备接收第一运算结果,根据用户预设的密码获取预设密码的位置对应的第二位置标识,对获取到的第二位置标识进行运算,得到第二运算结果;
优选地,步骤s213具体为:智能密钥设备接收第一运算结果,根据用户设置的密码获取对应位置的第二位置标识,并对第二位置标识进行哈希运算,得到第二运算结果;
例如:用户预设的密码为123456,根据用户预设的密码获取对应位置的第二标识为258963,对获取到的第二位置标识进行哈希运算,得到第二运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb。
步骤s214:智能密钥设备判断第一运算结果和第二运算结果是否匹配,如果是,验证成功,向上位机发送验证成功响应;否则,验证失败,向上位机发送验证失败响应;
优选地,步骤s214具体为:智能密钥设备判断第一运算结果和第二运算结果是否相同,如果是,验证成功,向上位机发送验证成功响应;否则,验证失败,向上位机发送验证失败响应,结束。
例如:智能密钥设备判断第一运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb和第二运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb是否相同,如果是,验证成功,向上位机发送验证成功响应;否则,验证失败,向上位机发送验证失败响应,结束。
步骤s215:上位机接收智能密钥设备返回的响应,判断响应类型,如果返回的响应为验证成功响应,执行步骤s216;如果返回的响应为验证失败响应,提示用户密码错误,退出。
优选地,步骤s215中,上位机判断出接收到智能密钥设备返回的响应为失败响应时,提示用户密码输入错误之后,退出之前还包括:
上位机判断用户密码输入错误次数是否达到阈值,如果是,退出;否则,继续提示用户输入密码;
优选地,上述上位机判断用户密码输入错误次数是否达到阈值具体包括:
步骤a:上位机向智能密钥设备发送获取用户密码重试次数请求;
步骤b:智能密钥设备接收获取用户密码重试次数请求,从智能密钥设备储存区获取密码重试次数,并判断重试次数是否为0,若不为0,将重试次数返回上位机;若为0,向上位机返回智能密钥设备锁死响应,退出;
步骤c:上位机接收智能密钥设备返回的结果,判断结果类型,如果是重试次数,继续提示用户输入密码;如果是智能密钥设备锁死响应,退出。
步骤s216:上位机向智能密钥设备发送交互签名请求;
优选地,交互签名请求中包括交互数据;
具体地,交互数据中包括:上次交互数据,账户地址、交互金额。
其中,上次交互数据具体为上次交互的HASH值;
本实施例2中,接收到的交互数据具体为:0X 01000000 01c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7 00000000 ffffffff 01 00bd010500000000 1976a9 14 634228c26cf40a02a05db93f2f98b768a8e0e61b 88ac 00000000;
其中,第六字节至第三十七字节0X c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7为上次交互数据,第四十七字节至第五十四字节0X 00bd010500000000为交互金额;第五十九字节至第七十八字节0X 634228c26cf40a02a05db93f2f98b768a8e0e61b为账户地址。
步骤s217:智能密钥设备接收上位机发送的交互签名请求,解析交互签名请求,得到第一交互数据,对第一交互数据进行签名生成交互签名响应,向上位机返回交互签名响应;
优选地,智能密钥设备根据私钥对第一交互数据进行签名生成交互签名响应;
具体地,私钥通过椭圆曲线数字签名算法对第一交互数据进行签名,例如:本实施例2中256比特的子私钥“0X 6c5544797a91115dc3330ebd003851d239a706ff2aa2ab70039c5510ddf06420”通过椭圆曲线数字签名算法对交互数据0X 0100000001c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab700000000ffffffff0100bd0105000000001976a914634228c26cf40a02a05db93f2f98b768a8e0e61b88ac00000000进行签名得到签名结果,生成的签名结果为“0X 048aefd78bba80e2d1686225b755dacea890c9ca1be10ec98173d7d5f2fefbbf881a6e918f3b051f8aaaa3fcc18bbf65097ce8d30d5a7e5ef8d1005eaafd4b3fbe”
步骤s218:上位机接收交互签名响应,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求,向服务器发送广播请求,判断是否接收到服务器返回的响应,如果是,交互成功,结束;否则,报错,退出。
实施例3:
根据本发明实施例3,提供了一种安全输入密码的方法,如图7所示,包括:
步骤s301:上位机向智能密钥设备发送连接请求;
步骤s302:智能密钥设备接收上位机发送的连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
步骤s303:上位机接收连接响应,生成密码验证请求,向智能密钥设备发送密码验证请求;
步骤s304:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,记录用户密码对应位置的第一位置标识,生成密码验证响应,向上位机返回密码验证响应;
优选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
步骤s305:上位机显示与智能密钥设备显示图形相同的图形,图形中不包含随机数,提示用户输入,判断是否接收到用户输入,如果是,向智能密钥设备返回用户输入对应位置的第二位置标识,判断用户是否结束本次输入,如果是,生成用户输入结束标识,向智能密钥设备发送用户输入结束标识;否则,返回步骤s305;否则,退出,结束;
步骤s306:智能密钥设备接收上位机发送的用户输入对应位置的第二位置标识,将接收到的第二位置标识顺序保存在位置标识列表中;判断是否接收到上位机发送的输入结束标识,如果是,执行步骤s307;否则,执行步骤s306;
步骤s307:智能密钥设备将位置标识列表中保存的第二位置标识顺序拼接得到第一验证数据;
步骤s308:智能密钥设备顺序拼接第二位置标识得到第二验证数据,判断第一验证数据和第二验证数据是否相同,如果是,验证成功,向上位机返回验证成功响应,结束;否则,验证失败,向上位机返回验证失败响应,结束。
实施例4:
根据本发明实施例4,提供了一种安全生成密码的方法,如图8所示,包括:
步骤s401:上位机向智能密钥设备发送连接请求;
步骤s402:智能密钥设备接收连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
步骤s403:上位机接收智能密钥设备返回的连接响应,生成密码验证请求,向智能密钥设备发送密码验证请求;
步骤s404:智能密钥设备接收密码验证请求,生成并显示随机排列的字符,依次保存用户密码对应位置的位置标识,保存一个位置标识,计数器加1,计数器初始值为0,向上位机返回密码验证响应;
优选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
步骤s405:上位机显示与智能密钥设备上显示图形相同的图形,随机图形不包含随机数,提示用户输入,判断是否接收到用户输入,如果是,执行步骤s406;否则,退出,结束;
步骤s406:上位机每次接收到用户输入,对用户输入的对应位置的位置标识进行哈希运算,得到第一运算结果,向智能密钥设备发送第一运算结果,并判断用户是否结束本次输入,如果是,生成用户输入结束标识,向上位机发送用户输入结束标识;否则,返回步骤s406;
步骤s407:智能密钥设备依次接收第一运算结果,根据计数器提取用户密码对应位置的当前位随机数,对当前位随机数进行哈希运算得到第二运算结果;
步骤s408:智能密钥设备判断第一运算结果与第二运算结果是否匹配,如果是,执行步骤s409;否则,验证失败,向上位机返回验证失败响应,结束;
步骤s409:智能密钥设备判断是否接收到用户输入结束标识,如果是,验证成功,向上位机返回验证成功响应,置位计数器,结束;否则,生成并显示新的随机图形,随机图形中包含可用于用户输入的随机数,返回步骤s407。
实施例5:
根据本发明实施例5,提供了一种安全输入密码的方法,如图9所示,包括:
步骤s501:上位机向智能密钥设备发送连接请求;
步骤s502:智能密钥设备接收连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
步骤s503:上位机接收连接响应,生成密码验证请求,向智能密钥设备发送密码验证请求;
步骤s504:智能密钥设备接收密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;
优选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
优选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
步骤s505:上位机接收智能密钥设备返回的密码验证响应,显示与智能密钥显示图形相同的图形,图形中不包含随机数,等待用户输入,判断是否接收到用户输入,如果是,将用户输入的对应位置的第一位置标识顺序保存在上位机保存的标识列表中,执行步骤s506;否则,退出,结束;
步骤s506:上位机判断用户是否结束本次输入,如果是,执行步骤s507;否则,继续接收用户输入的对应位置的第一位置标识,并顺序保存在标识列表内,返回步骤s506;
步骤s507:上位机将标识列表中保存的第一位置标识顺序拼接,得到第一验证数据,向智能密钥设备发送第一验证数据;
步骤s508:智能密钥设备接收第一验证数据,分割并提取第一验证数据得到每个位置标识,根据得到的位置标识确定用户输入的密码,判断用户输入的密码和智能密钥设备保存的密码是否相同,如果是,验证成功,向上位机返回验证成功响应,结束;否则,验证失败,向上位机返回验证失败响应,结束。
实施例6:
根据本发明实施例6,提供了一种安全输入密码的系统包括:智能密钥设备10和上位机20;
智能密钥设备1包括:
第一接收模块101,用于接收上位机20发送的密码验证请求;
第一返回模块102,用于向上位机20返回密码验证响应;
第一生成模块103,用于当第一接收模块101接收到上位机20发送的密码验证请求时,生成随机字符串;
第一接收模块101还用于接收上位机20发送的第一运算结果;
第一判断模块104,用于当第一接收模块101接收到第一运算结果时,根据第一运算结果、自身保存的密码和生成模块生成的随即字符串判断用户输入是否正确;
第一返回模块102还用于当第一判断模块104判断出用户输入正确时,向上位机20返回验证成功响应;当第一判断模块104判断出用户输入错误时,向上位机20返回验证失败响应;
上位机20包括:
第二接收模块201,用于接收智能密钥设备10返回的密码验证响应;
第二显示模块202,用于当第二接收模块201接收到密码验证响应时,显示密码输入界面,等待用户输入;
第二判断模块203,用于当第二显示模块202显示密码输入界面时,判断是否接收到用户输入;
第二获取模块204,用于当第二判断模块203判断出接收到用户输入时获取对应位置的第一位置标识,并对第一位置标识进行运算,得到第一运算结果;
第二发送模块205,用于将第二获取模块204得到的第一运算结果发送给智能密钥设备10。
优选地,第二判断模块203还用于判断是否接收到用户的触发信息;
第二接收模块201还用于接收用户的触发信息;
第二判断模块203还用于,当第二接收模块201接收到用户的触发信息时,判断是否存在已连接的智能密钥设备;当存在已连接的智能密钥设备时,判断是否接收到用户输入的配对码;
当接收到用户输入的配对码,第二判断模块203还用于判断配对码是否正确;
第二发送模块205还用于,当第二判断模块203判断出上位机不存在已连接的智能密钥设备时,发送连接请求;
第一接收模块101还用于接收上位机20发送的连接请求;
第一生成模块103还用于当第一接收模块101接收上位机20发送的连接请求时,生成连接响应;
第一返回模块102还用于,当第一生成模块103生成连接响应时,向上位机20返回连接响应;
第二接收模块201还用于接收智能密钥设备10返回的连接响应;
第二判断模块203还用于根据第二接收模块201接收到的连接响应判断上位机20与智能密钥设备10连接是否成功;
第二发送模块205还用于当第二判断模块203判断出上位机20与智能密钥设备10配对未成功时,向智能密钥设备10发送配对请求;
第二显示模块202还用于当第二发送模块205向智能密钥设备10发送配对请求时,提示用户输入配对码;
第二判断模块203还用于当上位机20接收到用户输入的配对码时,判断配对码是否正确;
上位机还包括第二生成模块,用于当第二判断模块203判断出用户输入的配对码正确时,生成密码验证请求;
第二显示模块202还用于当第二判断模块203判断出用户输入的配对码错误时,提示配对码错误。
优选地,第二接收模块201接收到的用户触发信息具体为交互签名请求。
优选地,智能密钥设备10还包括:
第一显示模块,用于当第一生成模块103生成随机字符串后,以特定图形将随机字符串显示在智能密钥设备10上。
优选地,第二显示模块202具体用于显示和智能密钥设备10上显示的相同的特定图形,图形中不显示随机字符。
优选地,第二接收模块201还用于接收智能密钥设备10返回的验证响应;
第二判断模块203还用于当第二接收模块201接收到验证响应时,判断验证响应类型;
第二发送模块205还用于当第二判断模块203判断出验证响应类型为密码验证成功响应时,向智能密钥设备10发送交互签名请求;
第一接收模块101接收上位机发送的交互签名请求;
智能密钥设备还包括:
解析模块,用于当第一接收模块101接收到交互签名请求时,解析交互签名请求得到第一交互数据;
第一生成模块103还用于对第一交互数据进行签名生成交互签名响应;
第一返回模块102将第一生成模块103生成的交互签名响应返回上位机。
优选地,第二接收模块201还用于接收智能密钥设备10返回的交互签名响应;
第二生成模块还用于当第二接收模块201接收到交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求;
第二发送模块205还用于向服务器发送第二生成模块生成的广播请求;
第二判断模块203还用于判断是否接收到服务器返回的响应。
优选地,第二获取模块204具体用于对第一位置标识进行哈希运算得到第一运算结果。
优选地,第一接收模块101还用于接收上位机20发送的第一运算结果;
智能密钥设备还包括:
第一获取模块,用于根据自身保存的密码和随机字符串获取自身保存的密码的对应位置标识的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果;
第一判断模块104还用于根据第二运算结果判断第一运算结果是否正确;
优选地,第二获取模块204具体用于对第一位置标识顺序拼接,得到第一验证数据,将第一验证数据作为第一运算结果。
优选地,第一接收模块101还用于接收第一运算结果;
第一获取模块还用于分割并提取第一运算结果中的每个位置标识;
第一判断模块104还用于根据位置标识确定用户输入的密码,根据自身保存的密码和随机字符串判断用户输入的密码是否正确。
以上对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域的技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (18)

  1. 一种安全输入密码的方法,其特征在于,包括以下步骤:
    s1)智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向所述上位机返回密码验证响应;
    s2)所述上位机接收所述密码验证响应,显示密码输入界面,等待所述用户输入,判断是否接收到用户输入,如果是,执行步骤s3;否则,报错,退出;
    s3)所述上位机根据所述用户输入获取对应位置的第一位置标识,根据所述第一位置标识得到密码获取响应,向所述智能密钥设备发送所述密码获取响应;以及
    s4)所述智能密钥设备接收所述密码获取响应,根据所述密码获取响应、自身保存的密码和所述随机排列的字符判断所述用户输入是否正确,如果是,验证成功,向所述上位机返回验证成功响应;否则,验证失败,向所述上位机返回验证失败响应。
  2. 如权利要求1所述的方法,其特征在于,所述步骤s1之前还包括以下步骤:
    s1-1)所述上位机等待接收用户触发信息,判断是否接收到所述用户触发信息,如果是,执行步骤s1-2;否则,返回步骤s1-1;
    s1-2)所述上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s1-6;否则,执行步骤s1-3;
    s1-3)所述上位机发送连接请求;
    s1-4)所述智能密钥设备接收所述连接请求,生成连接响应,向所述上位机返回所述连接响应;
    s1-5)所述上位机接收所述连接响应,根据所述连接响应判断与所述智能密钥设备连接是否成功,如果是,执行步骤s1-6;否则,返回所述步骤s1-3;
    s1-6)所述上位机判断是否与所述智能密钥设备配对成功,如果是,执行步骤s1;否则,向所述智能密钥设备发送配对请求,并提示用户输入配对码,执行步骤s1-7;以及
    s1-7)所述上位机判断是否接收到所述用户输入的配对码,如果是,判断所述配对码是否正确,如果所述配对码正确,生成所述密码验证请求,向所述智能密钥设备发送所述密码验证请求;如果所述配对码错误,提示所述配对码错误,等待用户输入配对码,返回步骤s1-7;否则,退出,结束。
  3. 如权利要求1所述的方法,其特征在于,所述步骤s1中所述生成并显示随机排列的字符具体为:生成并显示随机图形,所述随机图形包含可用于用户输入的字符;或者
    所述生成并显示随机排列的字符具体为:生成并显示预设图形,所述预设图形包含可用于用户输入的随机排列的字符;或者
    所述生成并显示随机排列的字符具体为:生成并显示所述预设图形,所述预设图形包含可用于用户输入的随机字符。
  4. 如权利要求1所述的方法,其特征在于,所述步骤s3具体为:
    所述上位机根据用户输入获取所述用户输入的对应位置的第一位置标识,对所述第一位置标识进行哈希运算得到所述第一运算结果,将所述第一运算结果作为所述密码获取响应,向所述智能密钥设备发送所述密码获取响应。
  5. 如权利要求4所述的方法,其特征在于,所述步骤s4具体包括:
    所述智能密钥设备接收所述密码获取响应,获取所述第一运算结果,根据所述自身保存的用户密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对获取到的所述第二位置标识进行哈希运算,得到第二运算结果,根据所述第二运算结果判断所述第一运算结果是否正确,如果是,验证成功;否则,验证失败。
  6. 如权利要求1所述的方法,其特征在于,所述步骤s3具体为:
    所述上位机根据所述用户输入获取所述用户输入的对应位置的第一位置标识,将所述第一位置标识作为所述密码获取响应,向所述智能密钥设备发送所述密码获取响应。
  7. 如权利要求6所述的方法,其特征在于,所述步骤s4具体包括:
    所述智能密钥设备接收所述密码获取响应,获取所述第一位置标识,对所述第一位置标识进行顺序拼接得到第一运算结果,根据所述自身保存的用户密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对所述第二位置标识进行顺序拼接得到第二运算结果,判断所述第一运算结果与所述第二运算结果是否相同,如果是,验证成功;否则,验证失败。
  8. 如权利要求1所述的方法,其特征在于,所述步骤s3具体为:
    所述上位机根据所述用户输入获取对应位置的第一位置标识,将所述第一位置标识顺序拼接得到所述密码获取响应,向所述智能密钥设备发送所述密码获取响应。
  9. 如权利要求8所述的方法,其特征在于,所述步骤s4具体包括:
    所述智能密钥设备接收所述密码获取响应,分割并提取所述密码获取响应中的每个第一位置标识,根据所述第一位置标识确定用户输入的密码,判断所述用户输入的密码和所述自身保存的密码是否相同,如果是,验证成功;否则,验证失败。
  10. 一种安全输入密码的系统,其特征在于,其包括:
    智能密钥设备和上位机;
    所述智能密钥设备包括:
    第一接收模块,用于接收所述上位机发送的密码验证请求;
    第一返回模块,用于向所述上位机返回密码验证响应;
    第一生成模块,用于当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示随机排列的字符;
    所述第一接收模块还用于接收所述上位机发送的第一运算结果;
    第一判断模块,用于当所述第一接收模块接收到所述第一运算结果时,根据所述第一运算结果、自身保存的密码和所述生成模块生成的所述随机排列字符判断用户输入是否正确;
    所述第一返回模块还用于当所述第一判断模块判断出所述用户输入正确时,向所述上位机返回验证成功响应;当所述第一判断模块判断出所述用户输入错误时,向所述上位机返回验证失败响应;
    所述上位机包括:
    第二接收模块,用于接收所述智能密钥设备返回的所述密码验证响应;
    第二显示模块,用于当所述第二接收模块接收到所述密码验证响应时,显示密码输入界面,等待用户输入;
    第二判断模块,用于当所述第二显示模块显示密码输入界面时,判断是否接收到用户输入;
    第二获取模块,用于当所述第二判断模块判断出接收到用户输入时获取对应位置的第一位置标识,并对所述第一位置标识进行运算,得到所述第一运算结果;
    第二发送模块,用于将所述第二获取模块得到的所述第一运算结果发送给所述智能密钥设备。
  11. 如权利要求10所述的系统,其特征在于,所述第二判断模块还用于判断是否接收到所述用户的触发信息;
    所述第二接收模块还用于接收所述用户的触发信息;
    所述第二判断模块还用于,当所述第二接收模块接收到所述用户的触发信息时,判断是否存在已连接的智能密钥设备;当存在已连接的智能密钥设备时,判断是否接收到所述用户输入的配对码;
    当接收到所述用户输入的配对码,所述第二判断模块还用于判断所述配对码是否正确;
    所述第二发送模块还用于,当所述第二判断模块判断出所述上位机不存在已连接的智能密钥设备时,发送连接请求;
    所述第一接收模块还用于接收所述上位机发送的所述连接请求;
    所述第一生成模块还用于当所述第一接收模块接收所述上位机发送的所述连接请求时,生成连接响应;
    所述第一返回模块还用于,当所述第一生成模块生成所述连接响应时,向所述上位机返回所述连接响应;
    所述第二接收模块还用于接收所述智能密钥设备返回的所述连接响应;
    所述第二判断模块还用于根据所述第二接收模块接收到的所述连接响应判断所述上位机与所述智能密钥设备连接是否成功;
    所述第二发送模块还用于当所述第二判断模块判断出所述上位机与所述智能密钥设备配对未成功时,向所述智能密钥设备发送配对请求;
    所述第二显示模块还用于当所述第二发送模块向所述智能密钥设备发送配对请求时,提示用户输入配对码;
    所述第二判断模块还用于当所述上位机接收到所述用户输入的配对码时,判断所述配对码是否正确;
    所述上位机还包括第二生成模块,用于当所述第二判断模块判断出所述用户输入的配对码正确时,生成所述密码验证请求;以及
    所述第二显示模块还用于当所述第二判断模块判断出所述用户输入的配对码错误时,提示所述配对码错误。
  12. 如权利要求10所述的系统,其特征在于,所述第一生成模块具体用于,当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示随机图形,所述随机图形包含可用于用户输入的字符;或者
    所述第一生成模块具体用于,当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示预设图形,所述预设图形包含可用于用户输入的随机排列的字符;或者
    所述第一生成模块具体用于,当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示所述预设图形,所述预设图形包含可用于用户输入的随机字符。
  13. 如权利要求10所述的系统,其特征在于,所述第二获取模块具体用于根据所述用户输入获取所述用户输入的对应位置的所述第一位置标识,对所述第一位置标识进行哈希运算得到所述第一运算结果,将所述第一运算结果作为所述密码获取响应;以及
    所述第二发送模块具体用于向所述智能密钥设备发送所述第二获取模块得到的所述第一运算结果。
  14. 如权利要求13所述的系统,其特征在于,
    所述第一接收模块还用于接收所述上位机发送的所述密码获取响应,获取所述第一运算结果;
    所述智能密钥设备还包括:
    第一获取模块,用于根据自身保存的密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对获取到的所述第二位置标识进行哈希运算,得到第二运算结果;
    所述第一判断模块还用于根据所述第二运算结果判断所述第一运算结果是否正确。
  15. 如权利要求10所述的系统,其特征在于,所述第二获取模块具体用于根据所述用户输入获取所述用户输入的对应位置的第一位置标识,将所述第一位置标识作为所述密码获取响应;
    所述第二发送模块用于向所述智能密钥设备发送所述密码获取响应。
  16. 如权利要求15所述的系统,其特征在于,
    所述第一接收模块还用于接收所述密码获取响应;
    所述第一获取模块还用于获取所述第一位置标识,对所述第一位置标识进行顺序拼接得到所述第一运算结果;
    所述第一获取模块还用于根据自身保存的用户密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对所述第二位置标识进行顺序拼接得到第二运算结果;以及
    所述第一判断模块还用于所述第一运算结果与所述第二运算结果是否相同。
  17. 如权利要求10所述的系统,其特征在于,
    所述第二获取模块还用于根据所述用户输入获取对应位置的第一位置标识,将所述第一位置 标识顺序拼接得到所述密码获取响应;以及
    所述第二发送模块还用于向所述智能密钥设备发送所述密码获取响应。
  18. 如权利要求17所述的系统,其特征在于,
    所述第一接收模块还用于接收所述密码获取响应;
    所述第一生成模块还用于分割并提取所述密码获取响应中的每个第一位置标识,根据所述第一位置标识确定用户输入的密码;以及
    所述第一判断模块还用于判断所述用户输入的密码和所述自身保存的密码是否相同。
PCT/CN2020/122811 2019-12-28 2020-10-22 一种安全输入密码的方法及系统 WO2021129095A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/432,078 US20220327192A1 (en) 2019-12-28 2020-10-22 Secure password entry method and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911385177.7A CN111064743B (zh) 2019-12-28 2019-12-28 一种安全输入密码的方法及系统
CN201911385177.7 2019-12-28

Publications (1)

Publication Number Publication Date
WO2021129095A1 true WO2021129095A1 (zh) 2021-07-01

Family

ID=70304431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/122811 WO2021129095A1 (zh) 2019-12-28 2020-10-22 一种安全输入密码的方法及系统

Country Status (3)

Country Link
US (1) US20220327192A1 (zh)
CN (1) CN111064743B (zh)
WO (1) WO2021129095A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8579853B2 (en) * 2006-10-31 2013-11-12 Abbott Diabetes Care Inc. Infusion devices and methods
US10614208B1 (en) * 2019-02-21 2020-04-07 Capital One Services, Llc Management of login information affected by a data breach
CN111064743B (zh) * 2019-12-28 2021-09-28 飞天诚信科技股份有限公司 一种安全输入密码的方法及系统
CN113806730B (zh) * 2021-09-18 2024-03-08 北京安天网络安全技术有限公司 一种安全密码输入方法、系统、设备及介质
CN113907715B (zh) * 2021-10-11 2022-10-18 创启科技(广州)有限公司 一种用于体脂秤的一对一通讯方法
CN117560151B (zh) * 2024-01-09 2024-03-19 北京电子科技学院 双核心密码工程实验系统及实验方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195493A (ja) * 1990-11-28 1992-07-15 Oki Electric Ind Co Ltd 暗証番号入力装置
CN101222334A (zh) * 2008-01-11 2008-07-16 华中科技大学 一种采用图片干扰的密码令牌安全认证方法
JP2009301208A (ja) * 2008-06-11 2009-12-24 Funai Electric Co Ltd パスワード入力装置
CN103679448A (zh) * 2013-11-29 2014-03-26 天地融科技股份有限公司 一种密码输入方法和系统
CN104090688A (zh) * 2014-08-06 2014-10-08 广东欧珀移动通信有限公司 一种移动终端的密码输入方法及装置
CN104507037A (zh) * 2014-12-12 2015-04-08 飞天诚信科技股份有限公司 一种实现智能密钥装置与移动设备进行蓝牙绑定的方法
CN104700049A (zh) * 2015-03-23 2015-06-10 李健 密码字符显示与输入操作分离实现的密码保护方案
CN106022172A (zh) * 2016-05-24 2016-10-12 中国银行股份有限公司 一种保护密码键盘按键输入操作的密码输入方法及系统
CN111064743A (zh) * 2019-12-28 2020-04-24 飞天诚信科技股份有限公司 一种安全输入密码的方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120047564A1 (en) * 2009-05-15 2012-02-23 Setcom (Pty) Ltd. Security system and method
CN101695107B (zh) * 2009-10-09 2012-07-25 北京数码视讯科技股份有限公司 用于数字电视机顶盒的密码安全输入的软键盘方法
LT2936369T (lt) * 2012-12-21 2020-07-27 Biobex, Llc Slaptažodžio patvirtinimas, naudojant klaviatūra ir saugų slaptažodžio įvedimo režimą
CN103246839B (zh) * 2013-04-27 2015-10-28 飞天诚信科技股份有限公司 一种智能密钥设备的工作方法
CN106487767B (zh) * 2015-08-31 2020-01-21 阿里巴巴集团控股有限公司 验证信息的更新方法及装置
CN105635114B (zh) * 2015-12-18 2019-02-26 恒宝股份有限公司 一种口令校验方法及系统
CN106953726A (zh) * 2017-02-14 2017-07-14 上海林果实业股份有限公司 一种消息认证方法、消息认证装置和上位机

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195493A (ja) * 1990-11-28 1992-07-15 Oki Electric Ind Co Ltd 暗証番号入力装置
CN101222334A (zh) * 2008-01-11 2008-07-16 华中科技大学 一种采用图片干扰的密码令牌安全认证方法
JP2009301208A (ja) * 2008-06-11 2009-12-24 Funai Electric Co Ltd パスワード入力装置
CN103679448A (zh) * 2013-11-29 2014-03-26 天地融科技股份有限公司 一种密码输入方法和系统
CN104090688A (zh) * 2014-08-06 2014-10-08 广东欧珀移动通信有限公司 一种移动终端的密码输入方法及装置
CN104507037A (zh) * 2014-12-12 2015-04-08 飞天诚信科技股份有限公司 一种实现智能密钥装置与移动设备进行蓝牙绑定的方法
CN104700049A (zh) * 2015-03-23 2015-06-10 李健 密码字符显示与输入操作分离实现的密码保护方案
CN106022172A (zh) * 2016-05-24 2016-10-12 中国银行股份有限公司 一种保护密码键盘按键输入操作的密码输入方法及系统
CN111064743A (zh) * 2019-12-28 2020-04-24 飞天诚信科技股份有限公司 一种安全输入密码的方法及系统

Also Published As

Publication number Publication date
US20220327192A1 (en) 2022-10-13
CN111064743A (zh) 2020-04-24
CN111064743B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
WO2021129095A1 (zh) 一种安全输入密码的方法及系统
RU2506637C2 (ru) Способ и устройство верификации динамического пароля
CN107196922B (zh) 身份认证方法、用户设备和服务器
CN107483419B (zh) 服务器认证接入终端的方法、装置、系统、服务器及计算机可读存储介质
CN101527630B (zh) 远程制证的方法、服务器及系统
CN101527633B (zh) 智能密钥设备获取数字证书的方法
US10778447B2 (en) Method and system for safely switching between product mode and development mode of terminal
CN112615834B (zh) 一种安全认证方法及系统
CN101527714B (zh) 制证的方法、装置及系统
CN113765906B (zh) 终端应用程序的一键登录的方法、设备及系统
CN110909340B (zh) 一种登录处理方法、系统、装置、电子设备及存储介质
CN108809982B (zh) 一种基于可信执行环境的免密认证方法及系统
CN111046436A (zh) 基于系统级包管理的签名认证方法及服务器
CN113641973A (zh) 一种身份认证方法、系统及介质
BRPI0709392A2 (pt) método e aparelho para proporcionar autenticação utilizando um cartão de autenticação
CN104852806A (zh) 一种根据密钥类型进行签名的实现方法
CN112287312B (zh) 一种登录Windows操作系统的方法及系统
CN115964755B (zh) 数据授权及验证方法、装置、设备和存储介质
CN107493167B (zh) 终端密钥分发系统及其终端密钥分发方法
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
KR102313868B1 (ko) Otp를 이용한 상호 인증 방법 및 시스템
CN115086090A (zh) 基于UKey的网络登录认证方法及装置
WO2022073336A1 (zh) 安全支付方法、装置、电子设备及存储介质
CN114817903A (zh) 基于智能合约的疫苗接种验证系统、方法及合约平台
CN114117404A (zh) 一种用户认证方法、装置、设备、系统及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20905118

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20905118

Country of ref document: EP

Kind code of ref document: A1