WO2014107977A1 - 密钥保护方法和系统 - Google Patents

密钥保护方法和系统 Download PDF

Info

Publication number
WO2014107977A1
WO2014107977A1 PCT/CN2013/084117 CN2013084117W WO2014107977A1 WO 2014107977 A1 WO2014107977 A1 WO 2014107977A1 CN 2013084117 W CN2013084117 W CN 2013084117W WO 2014107977 A1 WO2014107977 A1 WO 2014107977A1
Authority
WO
WIPO (PCT)
Prior art keywords
private key
information
banking server
mobile terminal
user
Prior art date
Application number
PCT/CN2013/084117
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 US14/760,213 priority Critical patent/US9824353B2/en
Priority to SG11201505397RA priority patent/SG11201505397RA/en
Publication of WO2014107977A1 publication Critical patent/WO2014107977A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0433Key management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Definitions

  • the present invention relates to the field of information security technologies, and in particular, to a key protection method and a key protection system. Background technique
  • the generation of the user's public key certificate is completed by the bank server, and is sent to the terminal used by the user after being authenticated by the third-party e-commerce authentication server.
  • the problem is that the bank server may not know the specific terminal sent during the process of issuing the user public key certificate to the terminal, and thus may be intercepted, and the user public key certificate is stolen during the process of being issued.
  • the security risks, at the same time in the process of transaction can not guarantee the security of the user's private key, there are security risks. Summary of the invention
  • the object of the present invention is to at least solve one of the above technical drawbacks.
  • a first object of the present invention is to provide a key protection method, the method comprising the steps of: a, a mobile terminal receiving a registration instruction, and generating a user public key and a private key according to the registration instruction, and When the mobile terminal authenticates the identity of the mobile banking server and the bank integrated front server, the mobile banking server sends the user public key to a third-party electronic commerce authentication server for authentication and signature to generate the user public key certificate. And saving; b.
  • the mobile banking server verifies the encrypted user transaction information sent by the mobile terminal according to the user public key certificate, and after the verification is passed, the bank integrated front server executes the transaction; and c, The mobile terminal generates an update private key protection parameter after the transaction is executed, and sends the updated private key protection parameter to the mobile banking server, where the mobile terminal receives the mobile banking server update success result, according to the update
  • the private key protection parameter adds to the user private key Storage.
  • the user public key and the private key are generated in the mobile terminal, and the mobile terminal is verified by the mobile banking server and the bank integrated front server, and the mobile server is moved after the verification.
  • the mobile banking server can verify the user's public key certificate and complete the private key of the user's private key.
  • the key protection parameter thereby, in the generation of the user public key certificate, the mobile banking server authenticates the mobile terminal, and can clearly know which mobile terminal communicates with itself, and prevents the fake mobile terminal from interacting with the mobile banking server, thereby ensuring security.
  • a second object of the present invention is to provide a key protection system, the system comprising: a mobile terminal, a mobile banking server, and a bank integrated front server, wherein the mobile terminal is configured to receive a registration instruction, And generating a user public key and a private key according to the registration instruction; when the mobile terminal performs registration, the mobile public server sends the user public key to a third-party e-commerce authentication server for authentication and signature, to generate the user public Key certificate is saved; the mobile banking server verifies the encrypted user transaction information sent by the mobile terminal according to the user digital certificate, and after the verification is passed, the bank integrated pre-server performs a transaction; The terminal generates an update private key protection parameter after the transaction is executed, and sends the updated private key protection parameter to the mobile banking server, where the mobile terminal receives the mobile banking server update success result, according to the updated private key protection The parameter encrypts the user private key .
  • the user public key and the private key are generated in the mobile terminal, and the mobile terminal is verified by the mobile banking server and the bank integrated front server, and the mobile banking server is used after the verification.
  • the key is sent to the third-party e-commerce authentication server for authentication signature to generate the user public key certificate.
  • the mobile banking server can verify by the user public key certificate and update the private key protection parameter of the user private key after the transaction is completed. Therefore, in the generation of the user public key certificate, the mobile banking server authenticates the mobile terminal, and can clearly know which mobile terminal communicates with itself, prevents the fake mobile terminal from interacting with the mobile banking server, ensures security, and increases attacks. Difficulty, at the same time in the process of transaction through the user's public key certificate for verification, can ensure transaction security, and update the private key protection parameters after the transaction is executed to encrypt and store the user's private key, further ensuring security.
  • FIG. 1 is a flowchart of a key protection method according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for generating a user public key certificate according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a method for generating a user public key certificate according to another embodiment of the present invention.
  • FIG. 4 is a flow chart of a transaction method according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a transaction method according to another embodiment of the present invention.
  • FIG. 6 is a flowchart of a method for storing a user private key according to an embodiment of the present invention
  • FIG. 7 is a structural block diagram of a key protection system according to an embodiment of the present invention. detailed description
  • FIG. 1 is a flowchart of a key protection method according to an embodiment of the present invention.
  • a key protection method includes the following steps:
  • Step S101 The mobile terminal receives the registration instruction, generates a user public key and a private key according to the registration instruction, and sends the user public key to the mobile public server when the mobile terminal authenticates the identity of the front server through the mobile banking server and the bank.
  • the three-party e-commerce authentication server performs authentication and signature to generate a user public key certificate and save it.
  • the mobile terminal downloads the bank client software, and the mobile terminal registers with the bank client software. After the mobile terminal receives the registration instruction of the user, the mobile terminal generates the user public key and the private key, and moves in the registration process.
  • the bank server and the bank integrated front server authenticate the identity of the mobile terminal. If the identity authentication of the mobile terminal passes, the mobile banking server sends the user public key to the third party e-commerce authentication server for authentication and signature to generate a user public key certificate. And save, where the user public key certificate is stored in the mobile banking server and the bank integrated front server.
  • Step S102 The mobile banking server verifies the encrypted user transaction information sent by the mobile terminal according to the user public key certificate, and after the verification is passed, the bank comprehensive pre-server performs the transaction.
  • the user may conduct a transaction with the mobile banking server and the bank integrated front server through the mobile terminal, and the mobile banking server verifies the encrypted user transaction information sent by the mobile terminal according to the stored user public key certificate. After the verification is passed, the bank integrated front-end server executes the transaction according to the user transaction information.
  • Step S103 The mobile terminal generates an update private key protection parameter after the transaction is executed, and sends the updated private key protection parameter to the mobile banking server, and the mobile terminal receives the mobile banking server update success result, and performs the user private key according to the updated private key protection parameter. Encrypted storage.
  • the user public key and the private key are generated in the mobile terminal, and the mobile terminal is verified by the mobile banking server and the bank integrated front server, and the mobile banking server is used after the verification.
  • the key is sent to the third-party e-commerce authentication server for authentication signature to generate the user public key certificate.
  • the mobile banking server can verify by the user public key certificate and update the private key protection parameter of the user private key after the transaction is completed. Therefore, in the generation of the user public key certificate, the mobile banking server authenticates the mobile terminal, and can clearly know which mobile terminal communicates with itself, prevents the fake mobile terminal from interacting with the mobile banking server, ensures security, and increases attacks.
  • FIG. 2 is a flowchart of a method for generating a user public key certificate according to an embodiment of the present invention.
  • step S101 includes the following steps:
  • Step S201 The mobile terminal acquires the public key of the mobile banking server and the public key of the bank integrated front server, and verifies the public key of the mobile banking server and the public key of the bank integrated front server, and according to the registration instruction after the verification is passed
  • the mobile banking server establishes a connection and generates a user public and private key.
  • the mobile terminal downloads the bank client software, and when installing the client software, obtains the public key of the mobile banking server and the public key of the bank integrated front server from the loaded software, the public key of the mobile banking server and the bank comprehensive
  • the root certificate of the public key of the front server is preset in the mobile terminal, and when the registration request is sent, the public key of the mobile banking server and the public key of the bank integrated front server may be verified according to the preset root certificate, wherein
  • the following steps can be continued when the public key of the mobile banking server and the public key of the bank integrated front server are correct, and an error message is displayed when the public key of the mobile banking server and the public key of the bank integrated front server are incorrect.
  • the private key of the mobile banking server is stored in the mobile banking server, and the public key and the private key of the mobile banking server are used to encrypt the communication data between the mobile terminal and the mobile banking server; the private key of the banking server is stored in the bank In the integrated front-end server, the public key and private key of the bank integrated front-end server are used to encrypt sensitive information such as bank cards during the transaction.
  • the mobile terminal is triggered to generate a public-private key pair of the user according to the key generation rule of the preset asymmetric encryption algorithm, and the mobile terminal generates the public-private key pair of the user for subsequent execution of the transaction. Interact with the mobile banking server through the public private key pair.
  • Step S202 The mobile terminal encrypts the account information, the first verification information, and the first random encryption parameter according to the public key of the mobile banking server, and sends the encrypted information to the mobile banking server.
  • the first verification information is generated by the mobile banking server, and is sent to the mobile terminal and displayed for the user to view and input.
  • the first verification information may be a graphic verification code, so as to prevent attacks.
  • the mobile terminal receives the first verification information (e.g., characters in the graphic verification code) input by the user.
  • the first random encryption parameter is randomly generated by the mobile terminal.
  • the account information includes: a mobile phone number, a bank card number, and a login password after registration; or the account information includes: a mobile phone number, a bank card number, and a hash value of the login password after registration.
  • the mobile banking server decrypts the information from the mobile terminal according to the private key of the mobile banking server, to obtain the account information, the first verification information, and the first random encryption parameter, and verifies the first verification information, and after the verification is passed Send account information to the bank's integrated front-end server.
  • the mobile banking server verifies whether the first verification information sent by the mobile terminal is consistent with the first verification information generated by the mobile terminal, and if they are consistent, the verification is performed.
  • the mobile banking server obtains the decrypted information, the mobile phone number in the account information and the first random encryption parameter are saved.
  • Step S204 the bank integrated front server verifies the account information from the mobile banking server, and sends the verification result to the mobile banking server.
  • the bank integrated front server verifies that the mobile phone number and the bank card number in the account information are correct, and sends the verification result to the mobile banking server.
  • Step S205 When the verification result is correct, the mobile banking server generates the second random encryption parameter and the second verification information, and sends the second random encryption parameter and the second verification information to the mobile terminal.
  • the mobile banking server encrypts the second random encryption parameter according to the first random encryption parameter, and sends the encrypted second random encryption parameter to the mobile terminal; and uses the stored mobile phone number to The second verification information is sent to the mobile terminal in the form of a short message.
  • Step S206 The mobile terminal encrypts the second verification information and the user public key by using the first random encryption parameter and the second random encryption parameter to generate third verification information, and sends the third verification information to the mobile banking server.
  • the mobile terminal decrypts the encrypted second random encryption parameter according to the first random encryption parameter to obtain the second random encryption parameter; and receives the second verification information input by the user; the mobile terminal further uses the first random encryption parameter and The second random encryption parameter encrypts the second verification information and the user public key input by the user to generate third verification information, and sends the third verification information and the user public key to the mobile banking server.
  • the second verification information and the user public key may be segmented and encrypted by using the first random encryption parameter and the second random encryption parameter to generate third verification information, for example, using a MAC encryption algorithm.
  • Step S207 The mobile banking server verifies the third verification information from the mobile terminal, and sends the user public key to the third-party e-commerce authentication server to perform an authentication signature after the verification is passed, to generate a user public key certificate.
  • the third-party e-commerce authentication server authenticates and signs the user's public key, prevents the user's public key from being impersonated, and stores the user public key after the signature in the mobile banking server, and the mobile banking server stores the signed user public key. After that, the user is prompted to generate a public key certificate.
  • the digital certificate generating method of the embodiment of the present invention before the mobile terminal generates the user public key and the private key, and sends the user information and the user public key to the mobile banking server, the mobile terminal performs the multi-party with the mobile banking server and the bank integrated front server. Verification, and after verification, is stored in the mobile banking server as a digital certificate to ensure the security of the user's public key transmission path and increase the difficulty of the attack.
  • FIG. 3 is a flowchart of a method for generating a user public key certificate according to another embodiment of the present invention.
  • the digital certificate generating method (ie, step S101) according to the embodiment of the present invention includes the following steps: Step S301: The mobile terminal acquires a public key of the mobile banking server and a public key of the bank integrated front server, and moves the mobile terminal The public key of the bank server and the public key of the bank integrated front server are verified, and after the verification is passed, a connection is established with the mobile banking server according to the registration instruction, and the user public key and the private key are generated.
  • the mobile terminal downloads the bank client software, and when installing the client software, obtains the public key of the mobile banking server and the public key of the bank integrated front server from the loaded software, the public key of the mobile banking server and the bank comprehensive
  • the root certificate of the public key of the front server is preset in the mobile terminal, and when the registration request is sent, the public key of the mobile banking server and the public key of the bank integrated front server may be verified according to the preset root certificate, wherein
  • the following steps can be continued when the public key of the mobile banking server and the public key of the bank integrated front server are correct, and an error message is displayed when the public key of the mobile banking server and the public key of the bank integrated front server are incorrect.
  • the private key of the mobile banking server is stored in the mobile banking server, and the public key and the private key of the mobile banking server are used to encrypt the communication data between the mobile terminal and the mobile banking server; the private key of the banking server is stored in the bank In the integrated front-end server, the public key and private key of the bank integrated front-end server are used to encrypt sensitive information such as bank cards during the transaction.
  • the mobile terminal is triggered to generate a public-private key pair of the user according to the key generation rule of the preset asymmetric encryption algorithm, and the mobile terminal generates the public-private key pair of the user for subsequent execution of the transaction. Interact with the mobile banking server through the public private key pair.
  • Step S302 The mobile terminal encrypts the account information, the hardware information, the first verification information, and the first random encryption parameter according to the public key of the mobile banking server, and sends the encrypted information to the mobile banking server.
  • the first verification information is generated by the mobile banking server, and is sent to the mobile terminal and displayed for the user to view and input.
  • the first verification information may be a graphic verification code, so as to prevent attacks.
  • the mobile terminal receives the first verification information (e.g., characters in the graphic verification code) input by the user.
  • the first random encryption parameter is randomly generated by the mobile terminal.
  • the account information includes: a mobile phone number, a bank card number, and a login password after registration; or the account information includes: a mobile phone number, a bank card number, and a hash value of the login password after registration.
  • the hardware information is: a hash value of hardware feature information or hardware feature information, where the hardware feature information includes a device serial number and/or a MAC address of the network card.
  • the mobile terminal extracts the hardware feature information of the mobile terminal itself (or calculates the hash value of the extracted hardware feature information), generates the first random encryption parameter, and receives the mobile phone number, the bank card number, and the login password entered by the user (may be prompted) The user enters twice), the character displayed by the graphic verification code, and the information obtained by the mobile terminal through the public key of the mobile banking server after clicking the submission (including the mobile phone number, the bank card number, the login password, the hardware feature information/hardware characteristic information)
  • the hash, the first random encryption parameter, and the graphical verification code are encrypted and sent to the mobile banking server.
  • the mobile terminal can also calculate the hash value of the login password, and the information obtained by the mobile terminal by using the public key of the mobile banking server after clicking the submission (including the mobile phone number, the bank card number, the hash value of the login password, the hardware)
  • the hash value of the feature information/hardware feature information, the first random encryption parameter, and the graphical verification code are encrypted and sent to the mobile banking server.
  • Step S303 the mobile banking server decrypts the information from the mobile terminal according to the private key of the mobile banking server, to obtain the account information, the hardware information, the first verification information, and the first random encryption parameter, and verifies the first verification information. After the verification is passed, the account information is sent to the bank integrated front server.
  • the mobile banking server verifies whether the first verification information sent by the mobile terminal is consistent with the first verification information generated by the mobile terminal, and if they are consistent, the verification is performed.
  • the mobile banking server obtains the decrypted information, the mobile phone number, the hardware information, and the first random encryption parameter in the account information are saved.
  • Step S304 the bank integrated front server verifies the account information from the mobile banking server, and sends the verification result to the mobile banking server.
  • the bank integrated front server verifies that the mobile phone number and the bank card number in the account information are correct, and sends the verification result to the mobile banking server.
  • Step S305 when the verification result is correct, the mobile banking server generates the second random encryption parameter and the second verification information, and sends the second random encryption parameter and the second verification information to the mobile terminal.
  • the mobile banking server encrypts the second random encryption parameter according to the first random encryption parameter, and sends the encrypted second random encryption parameter to the mobile terminal; and uses the stored mobile phone The number sends the second verification information to the mobile terminal in the form of a short message.
  • Step S306 the mobile terminal encrypts the second verification information and the user public key according to the first random encryption parameter and the second random encryption parameter to generate three verification information, and signs the hardware information according to the user private key to generate the first signature information. And transmitting the third verification information, the user public key, and the first signature information to the mobile banking server.
  • the mobile terminal decrypts the encrypted second random encryption parameter according to the first random encryption parameter to obtain the second random encryption parameter; and receives the second verification information input by the user; the mobile terminal further uses the first random encryption parameter and The second random encryption parameter encrypts the second verification information input by the user and the user public key to generate third verification information, and signs the hardware feature information or the hash value of the hardware feature information according to the user private key to generate the first signature.
  • the information is sent to the mobile banking server by the third verification information, the user public key, and the first signature information.
  • the second verification information and the user public key may be segmented and encrypted by using the first random encryption parameter and the second random encryption parameter to generate third verification information, for example, using a MAC encryption algorithm.
  • Step S307 The mobile banking server verifies the third verification information and the first signature information from the mobile terminal, and sends the user public key to the third-party e-commerce authentication server for authentication and signature after the verification is passed, to generate a user public key certificate. .
  • the mobile banking server encrypts the second verification information and the user public key according to the stored first random encryption parameter and the second random encryption parameter to generate fourth verification information, and performs the first signature information according to the user public key. And signing, and determining whether the third verification information is consistent with the fourth verification information, whether the first signature information passes the verification check; if the agreement is consistent and passes the verification, the verification is passed.
  • the third-party e-commerce authentication server authenticates and signs the user's public key, prevents the user's public key from being impersonated, and stores the signed public key in the mobile banking server.
  • the mobile banking server prompts the user after storing the signed user public key.
  • the public key certificate was generated successfully.
  • the mobile terminal before the mobile terminal generates the user public key and the private key, and sends the user information and the user public key to the mobile banking server, the mobile terminal performs the multi-party with the mobile banking server and the bank integrated front server. Verification, and after verification, is stored in the mobile banking server as a digital certificate to ensure the security of the user's public key transmission path and increase the difficulty of the attack.
  • the mobile banking server verifies the mobile terminal's hardware information, and can clearly know which mobile terminal communicates with itself, and prevents the fake mobile terminal from interacting with the mobile banking server to ensure security.
  • 4 is a flow chart of a transaction method in accordance with an embodiment of the present invention. As shown in FIG. 4, the transaction method (ie, step S102) according to an embodiment of the present invention includes the following steps.
  • Step S401 The mobile terminal receives the transaction information of the user, and generates a first random number.
  • the transaction information includes at least a transaction account number and a transaction amount.
  • Step S402 the mobile terminal encrypts the transaction information according to the first random number, the hardware information of the mobile terminal, the user private key, the public key of the mobile banking server, and the public key of the bank integrated front server to generate a transaction message, and the transaction is executed.
  • the message is sent to the mobile banking server, where the hardware information is a hash value of the hardware feature information or the hardware feature information, and the hardware feature information may include a device serial number of the mobile terminal or a MAC address of the network card.
  • Step S403 The mobile banking server decrypts the transaction message according to the private key of the mobile banking server and the stored hardware information of the mobile terminal, and performs verification according to the user public key certificate.
  • Step S404 if the verification is passed, the mobile banking server generates an encryption key, and generates a digital envelope according to the encryption key, the private key of the mobile banking server, the public key of the bank integrated front server, and the transaction information, and sends the digital envelope to the digital envelope.
  • Bank integrated front-end server If the verification is not passed, the user is prompted to fail the verification in the mobile banking server.
  • Step S405 the bank integrated front server decrypts the digital envelope according to the private key of the bank integrated front server and the public key of the mobile banking server to obtain transaction information, and performs verification according to the public key of the mobile banking server, and passes the verification After that, the transaction is completed.
  • the mobile terminal encrypts the transaction information according to the first random number, the hardware information of the mobile terminal, the user private key, and the public key of the mobile banking server to obtain the transaction message, and is in the mobile banking server.
  • the verification of the transaction message ensures that the transaction information received by the bank integrated front server is from a secure terminal used by the user, and at the same time ensures that the transaction information is between the mobile terminal, the mobile banking server and the bank integrated front server. Secure transmission to ensure the security of mobile payments.
  • FIG. 5 is a flowchart of a transaction method according to another embodiment of the present invention.
  • the transaction method (i.e., step S102) according to an embodiment of the present invention includes the following steps.
  • Step S501 The mobile terminal receives the transaction information of the user, and generates a first random number.
  • the first random number is generated each time the transaction message processing is performed, and the first random number generated each time is different.
  • the transaction information includes at least a transaction account number and a transaction amount.
  • Step S502 The mobile terminal encrypts the transaction password according to the public key of the bank integrated front server to obtain the ciphertext of the transaction password, and signs the transaction information and the ciphertext of the transaction password according to the user private key to generate a first digital signature.
  • the ciphertext of the transaction password is generated by encrypting the transaction password according to the public key of the bank integrated front server, and the transaction is Password encryption can ensure the security of the transaction password and ensure that the entire electronic channel does not fall.
  • the mobile terminal in this embodiment may also encrypt the hash value of the transaction password according to the public key of the bank integrated front server to obtain the ciphertext of the transaction password.
  • Step S503 The mobile terminal generates an encryption parameter key according to the random number and the hardware information of the mobile terminal, and encrypts the transaction information and the ciphertext of the transaction password according to the encryption parameter key to generate the first message ciphertext.
  • the mobile terminal extracts hardware feature information of the mobile terminal and calculates a hash value of the hardware feature information, and generates an encryption parameter key by using the first random number and hardware feature information of the mobile terminal (or a hash value of the hardware feature information). Encrypting the ciphertext of the transaction information and the transaction password according to the encryption parameter key to generate the first message ciphertext; wherein the mobile terminal may use 3DES (Triple DES, Triple Data Encryption Algorithm) or AES (Advanced) according to the encryption parameter key
  • 3DES Triple DES, Triple Data Encryption Algorithm
  • AES Advanced
  • Step S504 The mobile terminal encrypts the first random number according to the public key of the mobile banking server to generate a first key ciphertext.
  • steps S502, S503, and S504 may be performed in no particular order.
  • Step S505 The mobile terminal sends the first digital signature, the first message ciphertext, and the first key ciphertext as transaction messages to the mobile banking server.
  • the above steps are the encryption processing flow before the mobile terminal sends the transaction information to the mobile banking server.
  • the mobile banking server After receiving the transaction message sent by the mobile terminal, the mobile banking server performs the following processing, that is, the mobile banking server performs the transaction message sent by the mobile terminal. Decryption processing.
  • Step S506 The mobile banking server decrypts the first key ciphertext according to the private key of the mobile banking server to obtain the first random number.
  • Step S507 The mobile banking server generates an encryption parameter key according to the first random number and the stored hardware information of the mobile terminal, and decrypts the first message ciphertext according to the encryption parameter key to obtain the ciphertext of the transaction information and the transaction password. .
  • the mobile banking server recalculates the encrypted parameter key according to the stored hardware feature information of the mobile terminal and the first random number, or the stored hash value of the hardware feature information of the mobile terminal and the first random number, and the mobile banking The server decrypts the received first message ciphertext by using the encrypted parameter key calculated by itself, and obtains the ciphertext of the transaction information and the transaction password.
  • Step S508 The mobile banking server performs verification of the first digital signature according to the stored user public key certificate.
  • the mobile banking server obtains the user public key from the user public key certificate, and uses the user public key to the first number. Signature for verification.
  • Step S509 If the verification is not passed, the user is prompted to fail the verification in the mobile banking server.
  • Step S510 if the verification is passed, the mobile banking server generates an encryption key.
  • the encryption key uses a symmetric encryption key.
  • the following steps are continued, and the following steps are the process of encrypting the transaction information by the mobile banking server.
  • Step S511 The mobile banking server encrypts the transaction information and the ciphertext of the transaction password according to the encryption key to generate the second message ciphertext.
  • Step S512 the mobile banking server encrypts the encryption key according to the public key of the bank integrated front server to generate a second key ciphertext.
  • the encryption method can be the same as the encryption method of the transaction information by the mobile terminal.
  • Step S513 the mobile banking server signs the transaction information and the ciphertext of the transaction password according to the private key of the mobile banking server to generate a second digital signature.
  • Step S514 the mobile banking server sends the second digital signature, the second message ciphertext and the second key ciphertext as a digital envelope to the bank integrated front server.
  • the bank integrated front-end server After receiving the digital envelope, the bank integrated front-end server continues the process of decrypting the information sent by the bank's integrated front-end server to the mobile banking server.
  • Step S515 the bank integrated front server decrypts the second key ciphertext according to the private key of the bank integrated front server to obtain an encryption key.
  • Step S516 the bank integrated front server decrypts the second message ciphertext according to the encryption key to obtain the ciphertext of the transaction information and the transaction password.
  • the transaction password is transmitted in the form of ciphertext of the transaction password in the process of sending the password to the bank integrated pre-server via the mobile terminal and the mobile banking server; After the server decrypts the ciphertext of the transaction password, the ciphertext of the transaction password can be further decrypted according to the private key of the bank integrated front server, and the transaction password is obtained and sent to the banking system of the back end.
  • Step S517 The bank integrated front server checks the second digital signature according to the public key of the mobile banking server. Step S518, if the verification is passed, the bank integrated front server completes the transaction according to the transaction information.
  • Step S519 if the verification is not passed, prompting the mobile banking server to fail the verification and sending the verification failure information to the mobile terminal.
  • the secure transmission of the transaction information between the mobile terminal, the mobile banking server and the bank integrated front server is further ensured, and the security of the mobile payment is ensured.
  • FIG. 6 is a flowchart of a method for storing a user private key according to an embodiment of the present invention.
  • Step S103 the method for storing a user private key according to an embodiment of the present invention includes the following steps: Step S601: The mobile terminal encrypts and stores a user private key file generated by the user private key in a preset area.
  • the user private key file includes the user private key and hardware information of the mobile terminal; the user private key protection key is all or part of the hash value of the hardware information/hardware characteristic information of the mobile terminal, and the login password/login password. All or part of the hash value and private key protection parameters are generated.
  • Step S602 The mobile terminal performs user identity verification during the transaction, generates a second random number after the verification is passed, and acquires the first private key protection parameter and the second private key protection parameter from the mobile banking server according to the second random number.
  • the mobile terminal receives the payment information input by the user, and firstly verifies the user identity according to the payment information; and can verify by means of SMS verification code verification, dynamic password verification, electronic signature tool verification or transaction password verification. user ID.
  • the mobile terminal encrypts the second random number according to the public key of the mobile banking server, and sends the encrypted second random number to the mobile banking server; and the mobile banking server sends the encryption to the mobile terminal according to the private key of the mobile banking server.
  • Decrypting the information to obtain a second random number the mobile banking server encrypts the first private key protection parameter and the second private key protection parameter according to the second random number, and encrypts the first private key protection parameter and the second private
  • the key protection parameter is sent to the mobile terminal; the mobile terminal decrypts the information sent by the mobile banking server according to the second random number to obtain the first private key protection parameter and the second private key protection parameter.
  • the first private key protection parameter and the second private key protection parameter obtained from the mobile banking server for the first time may be assigned the same value at the time of registration.
  • Step S603 The mobile terminal decrypts the stored user private key file according to the second private key protection parameter, and verifies the decrypted user private key file.
  • the mobile terminal can use the hardware information to verify the user private key file after decryption to improve security.
  • Step S604 if the user private key file passes the verification, the transaction is executed according to the user private key file, and the private key protection parameter update identifier is updated.
  • the private key protection parameter update identifier is updated according to the first private key protection parameter of the decrypted user private key file. Step S605: If the user private key file fails the verification, decrypt the stored user private key file according to the first private key protection parameter, and verify the decrypted user private key file.
  • Step S606 If the user private key file passes the verification, the transaction is executed according to the user private key file, and the private key protection parameter update identifier is updated.
  • the private key protection parameter update identifier is updated according to the second private key protection parameter of the decrypted user private key file.
  • the mobile terminal updates the private key protection parameter update identifier according to the verification result, and further includes: if the decrypted user private key file is verified by using the second private key protection parameter to decrypt the user private key file, the decrypted user private key file may be decrypted according to the decryption user private key file.
  • the second private key protection parameter updates the private key protection parameter update identifier, for example, updates the private key protection parameter update identifier to 2; if the first private key protection parameter is used to decrypt the user private key file, the decrypted user private key file is verified. Then, the private key protection parameter update identifier may be updated according to the first private key protection parameter of the decrypted user private key file, for example, the private key protection parameter update identifier is updated to 1.
  • Step S607 The mobile terminal generates an updated private key protection parameter according to the received transaction result, and sends an updated private key protection parameter and a private key protection parameter update identifier to the mobile banking server.
  • the mobile terminal generates an updated private key protection parameter regardless of whether the transaction result is successful or failed.
  • the mobile terminal may further encrypt the updated private key protection parameter and the private key protection parameter update identifier according to the public key of the mobile banking server, and send the encrypted updated private key protection parameter and the private key protection parameter update identifier to the mobile after the encryption.
  • the bank server correspondingly, the mobile banking server further decrypts the information sent by the mobile terminal according to the private key of the mobile banking server to obtain the updated private key protection parameter and the private key protection parameter update identifier. Security is ensured by means of encrypted transmission.
  • the mobile banking server further updates the first private key protection parameter and the second private key protection parameter by using a private key protection parameter update identifier, specifically: if the private key protection parameter update identifier is an identifier corresponding to the second private key protection parameter, The mobile banking server updates the second private key protection parameter according to the updated private key protection parameter, and updates the first private key protection parameter according to the second private key protection parameter; if the private key protection parameter update identifier is corresponding to the first private key protection parameter Identification, the mobile banking server updates the second private key protection parameter according to the updated private key protection parameter.
  • a private key protection parameter update identifier specifically: if the private key protection parameter update identifier is an identifier corresponding to the second private key protection parameter, The mobile banking server updates the second private key protection parameter according to the updated private key protection parameter, and updates the first private key protection parameter according to the second private key protection parameter; if the private key protection parameter update identifier is corresponding to the first private key protection parameter Identification, the mobile banking server updates the second private key protection parameter according to the
  • the successful update result is returned to the mobile terminal.
  • Step S608 the mobile terminal uses the updated private key protection parameter according to the update success result of the mobile banking service.
  • the private key file is re-encrypted and stored.
  • the mobile terminal is based on the updated private key protection parameter, all or part of the hash value of the hardware feature information/hardware feature information of the mobile terminal, and the hash value of the login password/login password. All or part of the information is calculated to generate a user private key protection key, and the user private key file is encrypted according to the user private key protection key.
  • the mobile terminal does not use the updated private key protection parameter generated in step S607 to encrypt and store the user private key file according to the update failure result of the mobile banking server, but still encrypts the storage user in the original manner.
  • the private key file may be encrypted and stored in step S601 according to the user private key protection key.
  • FIG. 7 is a structural block diagram of a key protection system according to an embodiment of the present invention.
  • the user public key certificate generation system includes: a mobile terminal 10, a mobile banking server 20, a bank integrated front server 30, and a third party electronic commerce authentication server 40.
  • the mobile terminal 10 is configured to receive a registration instruction and generate a user public key and a private key according to the registration instruction. Specifically, the mobile terminal 10 downloads the bank client software, and the mobile terminal 10 registers with the bank client software. After the mobile terminal 10 receives the registration instruction of the user, the user public key and the private key are generated in the mobile terminal 10.
  • the mobile public server 10 transmits the user public key to the third party e-commerce authentication server 40 for authentication signature to generate a user public key certificate and save it.
  • the mobile banking server 20 and the bank integrated front server 30 authenticate the identity of the mobile terminal 10 during the registration process, and if the identity authentication of the mobile terminal 10 passes, the mobile banking server 20 transmits the user public key to the third party electronic commerce.
  • the authentication server 40 performs an authentication signature to generate and store a user public key certificate, which is stored in the mobile banking server 20.
  • the mobile banking server 20 verifies the encrypted user transaction information transmitted by the mobile terminal based on the user digital certificate, and after the verification is passed, the bank integration pre-server 30 executes the transaction.
  • the bank integration pre-server 30 executes the transaction.
  • the user public key certificate is generated, the user can conduct a transaction through the mobile terminal 10, and the mobile banking server 20 verifies the encrypted user transaction information sent by the mobile terminal 10 according to the stored user public key certificate.
  • the bank comprehensively The front server 30 executes the transaction.
  • the mobile terminal 10 generates an updated private key protection parameter after the transaction is executed, and transmits the updated private key protection parameter to the mobile banking server 20, and the mobile terminal 10 receives the successful update result of the mobile banking server 20, and the user private key according to the updated private key protection parameter. Perform encrypted storage.
  • the user public key and the private key are generated in the mobile terminal, and the mobile terminal is verified by the mobile banking server and the bank integrated front server, and the mobile banking server is used after the verification.
  • the key is sent to the third-party e-commerce authentication server for authentication signature to generate the user public key certificate.
  • the mobile banking server can verify by the user public key certificate and update the private key protection parameter of the user private key after the transaction is completed. Therefore, in the generation of the user public key certificate, the mobile banking server authenticates the mobile terminal, and can clearly know which mobile terminal communicates with itself, prevents the fake mobile terminal from interacting with the mobile banking server, ensures security, and increases attacks.
  • the difficulty at the same time, through the user's public key certificate in the process of transaction verification, can ensure transaction security, and update the private key protection parameters after the transaction is executed to encrypt and store the user's private key, further ensuring security.
  • the specific implementation is as follows:
  • the mobile terminal 10 is further configured to acquire the public key of the mobile banking server 20 and the public key of the bank integrated front server 30, verify the public key of the mobile banking server 20 and the public key of the bank integrated front server 30, and pass the verification. Then, a connection is established with the mobile banking server 20 according to the registration instruction, and the user public key and the private key are generated, and the account information, the first verification information, and the first random encryption parameter are encrypted according to the public key of the mobile banking server 20, and the encryption is performed. The subsequent information is sent to the mobile banking server 20.
  • the mobile banking server 20 is further configured to decrypt the information from the mobile terminal 10 according to the private key of the mobile banking server 20, to obtain the account information, the first verification information, and the first random encryption parameter, and verify the first verification information. After the verification is passed, the account information is sent to the bank integrated front server 20.
  • the bank integrated front server 30 is also used to verify the account information from the mobile banking server 20 and send the verification result to the mobile banking server 20.
  • the mobile banking server 20 is further configured to generate the second random encryption parameter and the second verification information, and send the second random encryption parameter and the second verification information to the mobile terminal 10, where the mobile terminal 10 further And configured to generate third verification information by encrypting the second verification information and the user public key according to the first random encryption parameter and the second random encryption parameter, and send the third verification information to the mobile banking server 20, where the mobile banking server 20 is from the mobile terminal
  • the third verification information of 10 is verified, and the user public key is sent to the third party e-commerce authentication service after the verification is passed.
  • the device 40 performs an authentication signature to generate a user public key certificate.
  • the mobile terminal 10 is further configured to encrypt the hardware information of the mobile terminal 10 according to the public key of the mobile banking server 20, wherein the hardware information is a hash value of the hardware feature information or the hardware feature information, and the hardware feature information includes the device serial number and/or Or the MAC address of the network card.
  • the account information includes a mobile phone number, a bank card number, and a login password.
  • the mobile terminal 10 is further configured to receive the first verification information generated by the mobile banking server 20, where the first verification information is a graphic verification code, and the mobile phone number, the bank card number, and the calculated login password according to the public key of the mobile banking server 20.
  • the hash value, the hardware information, the first random encryption parameter, and the first verification information are encrypted, and the encrypted information is transmitted to the mobile banking server 20, wherein the first random encryption parameter is generated by the mobile terminal 10.
  • the mobile banking server 20 is further configured to encrypt the second random encryption parameter according to the first random encryption parameter, and send the encrypted second random encryption parameter to the mobile terminal 10, and send the second verification information as a short message to the Mobile terminal 10.
  • the mobile terminal 10 After the step of transmitting the second random encryption parameter and the second verification information to the mobile terminal 10, the mobile terminal 10 is further configured to decrypt the encrypted second random encryption parameter according to the first random encryption parameter to obtain the second random encryption parameter. And receive the second verification information input by the user.
  • the mobile terminal 10 is further configured to encrypt the second verification information and the user public key according to the first random encryption parameter and the second random encryption parameter to generate third verification information, and sign the hardware information according to the user private key to generate the first
  • the signature information is transmitted to the mobile banking server 20 with the third verification information, the user public key, and the first signature information.
  • the mobile banking server 20 is further configured to encrypt the second verification information and the user public key according to the stored first random encryption parameter and the second random encryption parameter to generate fourth verification information, and perform the first signature information according to the user public key. Checking, and determining whether the third verification information is consistent with the fourth verification information, whether the first signature information passes the verification check; if it is consistent and passes the verification check, the verification is passed.
  • the second verification information and the user public key are segmented according to the first random encryption parameter and the second random encryption parameter, for example, using a MAC encryption algorithm.
  • the transaction is executed after the user's public key certificate, as follows:
  • the mobile terminal 10 is further configured to receive transaction information of the user, and generate a first random number, where the transaction information includes at least a transaction account number and a transaction amount, and according to the first random number, hardware information of the mobile terminal, the user private key, and the mobile banking server.
  • the public key of 20 and the public key of the bank integrated front server 30 encrypt the transaction information to generate a transaction message.
  • the transaction message is sent to the mobile banking server 20, wherein the hardware information is a hash value of the hardware feature information or the hardware feature information.
  • the mobile banking server 20 is further configured to decrypt the transaction message according to the private key of the mobile banking server 20 and the stored hardware information of the mobile terminal 10, and perform verification according to the user public key certificate, and generate an encryption when passing the verification.
  • the key, and a digital envelope is generated based on the encryption key, the private key of the mobile banking server 20, the public key of the bank integrated front server 30, and the transaction information, and the digital envelope is sent to the bank integrated front server 30.
  • the bank integrated front server 30 is further configured to decrypt the digital envelope according to the private key of the bank integrated front server 30 and the public key of the mobile banking server 20 to obtain transaction information, and perform verification according to the public key of the mobile banking server 20, and After passing the verification, the transaction is completed.
  • the mobile terminal 10 is further configured to encrypt the hash value of the transaction password or the transaction password according to the public key of the bank integrated front server 30, obtain the ciphertext of the transaction password, and compare the transaction information according to the user private key. And signing the ciphertext of the transaction password to generate a first digital signature, and generating an encryption parameter key according to the first random number and hardware information of the mobile terminal 10, and performing ciphertext on the transaction information and the transaction password according to the encryption parameter key.
  • the mobile banking server 20 is further configured to decrypt the first key ciphertext according to the private key of the mobile banking server 20 to obtain a first random number, and generate an encryption parameter according to the first random number and the stored hardware information of the mobile terminal 10. Key, and decrypting the first message ciphertext according to the encryption parameter key to obtain the ciphertext of the transaction information and the transaction password, and verifying the first digital signature according to the stored user public key certificate.
  • the mobile banking server 20 is further configured to generate an encryption key, and encrypt the transaction information and the ciphertext of the transaction password according to the encryption key to generate a second message ciphertext, and encrypt according to the public key pair of the bank integrated front server 30.
  • the key is encrypted to generate a second key ciphertext, and the transaction information and the ciphertext of the transaction password are signed according to the private key of the mobile banking server 20 to generate a second digital signature, and the second digital signature, the second report is The ciphertext and the second key ciphertext are sent to the bank integrated front server 30 as a digital envelope.
  • the bank integrated front server 30 is further configured to decrypt the second key ciphertext according to the private key of the bank integrated front server 30 to obtain an encryption key, and decrypt the second message ciphertext according to the encryption key to obtain The ciphertext of the transaction information and the transaction password, and the verification of the second digital signature according to the public key of the mobile banking server 20, and when the verification is passed, the transaction is completed according to the transaction information.
  • the transaction password is transmitted in the form of the ciphertext of the transaction password in the process of being sent to the bank integrated front server 30 via the mobile terminal 10 and the mobile banking server 20;
  • the bank integrated front server 30 decrypts the ciphertext of the transaction password
  • the ciphertext of the transaction password can be further decrypted according to the private key of the bank integrated front server 30, and the transaction password is obtained and sent to the banking system of the back end.
  • the encryption key is a symmetric encryption key.
  • the private key protection parameter is updated to encrypt and store the user private key, and the specific implementation is as follows:
  • the mobile terminal 10 is further configured to encrypt and store the user private key file generated by the user private key in the preset area, perform user identity verification at the time of transaction, and generate a second random number after the verification is passed, and move from the second random number according to the second random number.
  • the bank server 20 acquires the first private key protection parameter and the second private key protection parameter, and decrypts the stored user private key file according to the second private key protection parameter, and verifies the decrypted user private key file, and the user private key file.
  • the transaction is executed according to the user's private key file through verification, and the private key protection parameter update identifier is updated.
  • the stored private key file is decrypted according to the first private key protection parameter, and the user after decryption is verified.
  • the mobile terminal 10 does not use the generated updated private key protection parameter to encrypt and store the user private key file according to the update failure result of the mobile banking server 20, but still encrypts the storage user in the original manner.
  • the private key file may be used to encrypt and store the user private key file according to the user private key protection key.
  • the mobile terminal 10 re-executes the registration process based on the result that both verifications are not passed.
  • the mobile terminal 10 is further configured to encrypt and store the user private key file according to the user private key protection key, where the user private key file includes the user private key and hardware information of the mobile terminal 10, and the user private
  • the key protection key is generated by all or part of the hash value of the hardware information/hardware characteristic information of the mobile terminal 10, all or part of the hash value of the login password/login password, and the private key protection parameter.
  • the private key protection parameter update identifier is updated according to the first private key protection parameter or the second private key protection parameter of the decrypted user private key file. If the private key protection parameter update identifier is an identifier corresponding to the second private key protection parameter, the mobile banking server 20 updates the second private key protection parameter according to the updated private key protection parameter, and updates the first private key according to the second private key protection parameter. Protection parameter; if the private key protection parameter update identifier is an identifier corresponding to the first private key protection parameter, the mobile banking server 20 updates the second private key protection parameter according to the updated private key protection parameter; the mobile banking server 20 returns the update success result to the mobile Terminal 10.
  • the mobile terminal 10 is further configured to encrypt the updated private key protection parameter and the private key protection parameter update identifier according to the public key of the mobile banking server 20, and send the encrypted updated private key protection parameter and the private key protection parameter update identifier to the mobile after the encryption.
  • the bank server 20; the mobile banking server 20 is further configured to decrypt the information sent by the mobile terminal 10 according to the private key of the mobile banking server 20 to obtain an updated private key protection parameter and a private key protection parameter update identifier.
  • the mobile terminal 10 is also used to verify the user private key file after decryption using the hardware information.
  • the mobile terminal 10 is further configured to encrypt the second random number according to the public key of the mobile banking server 20, and send the encrypted second random number to the mobile banking server 20; the mobile banking server 20 is further configured to use the mobile banking server 20
  • the private key decrypts the encrypted information sent by the mobile terminal 10 to obtain a second random number, and encrypts the first private key protection parameter and the second private key protection parameter according to the second random number, and encrypts the first after the encryption
  • the private key protection parameter and the second private key protection parameter are sent to the mobile terminal 10; the mobile terminal 10 is further configured to decrypt the information sent by the mobile banking server 20 according to the second random number to obtain the first private key protection parameter and the second private Key protection parameters.
  • the mobile banking server 20 and the mobile terminal 10 authenticate the user identity by means of SMS verification code verification, dynamic password verification, electronic signature verification or transaction password verification.

Abstract

本发明提出一种密钥保护方法和系统,该方法包括:移动终端接收注册指令,并根据注册指令生成用户公钥和私钥,以及在移动终端通过移动银行服务器和银行综合前置服务器的身份认证时,移动银行服务器将用户公钥发送至第三方电子商务认证服务器进行认证签名,以生成用户公钥证书并保存;移动银行服务器根据用户公钥证书对移动终端发送的加密的用户交易信息进行验证,在验证通过之后,银行综合前置服务器执行交易;移动终端在交易执行之后生成更新私钥保护参数,并将更新私钥保护参数发送至移动银行服务器,移动终端接收移动银行服务器更新成功结果,根据更新私钥保护参数对用户私钥进行加密存储。根据本发明可增加攻击的难度,提高安全性。

Description

密钥保护方法和系统
技术领域
本发明涉及信息安全技术领域, 特别涉及一种密钥保护方法和一种密钥保护系统。 背景技术
近年来, 伴随互联网以及金融信息化的快速发展, 网上银行因其便利、 高效等优点迅 速得到用户和银行业界的普遍推崇, 其中数字证书是通过网上银行进行交易时用户和银行 服务器的身份标识, 可以保证网上交易的安全。
目前, 用户公钥证书的生成均由银行服务器完成, 经过第三方电子商务认证服务器认 证之后再下发给用户所使用的终端。 存在的问题是, 银行服务器在下发用户公钥证书给终 端的过程中, 银行服务器可能不知道所发送的具体终端, 从而有可能遭到拦截, 用户公钥 证书在下发的过程中存在被盗取的安全隐患, 同时在交易的过程中不能保证用户私钥的安 全, 存在安全隐患。 发明内容
本发明的目的旨在至少解决上述技术缺陷之一。
为达到上述目的, 本发明第一个目的在于提出一种密钥保护方法, 该方法包括以下步 骤: a、 移动终端接收注册指令, 并根据所述注册指令生成用户公钥和私钥, 以及在所述移 动终端通过移动银行服务器和银行综合前置服务器的身份认证时, 所述移动银行服务器将 所述用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成所述用户公钥证书 并保存; b、所述移动银行服务器根据所述用户公钥证书对所述移动终端发送的加密的用户 交易信息进行验证, 在验证通过之后, 所述银行综合前置服务器执行交易; 以及 c、所述移 动终端在所述交易执行之后生成更新私钥保护参数, 并将所述更新私钥保护参数发送至所 述移动银行服务器, 所述移动终端接收所述移动银行服务器更新成功结果, 根据更新私钥 保护参数对所述用户私钥进行加密存储。
根据本发明实施例的密钥保护方法, 在移动终端生成用户公钥和私钥, 并通过移动银 行服务器和银行综合前置服务器多方对移动终端进行验证, 并在验证之后移动银行服务器 将用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成用户公钥证书, 同时 在交易时, 移动银行服务器可以通过用户公钥证书进行验证, 并在交易完成更新用户私钥 的私钥保护参数, 由此, 在用户公钥证书的生成中移动银行服务器经过对移动终端进行验 证, 可以明确知道与自己通信的是哪个移动终端, 防止假冒移动终端与移动银行服务器进 行交互, 保证了安全, 增加攻击的难度, 同时在交易的过程中通过用户公钥证书进行验签, 可以保证交易安全性, 且在交易执行之后更新私钥保护参数以对用户私钥进行加密存储, 进一步保证安全性。
为达到上述目的, 本发明第二个目的在于提出一种密钥保护系统, 该系统包括: 移动 终端、 移动银行服务器和银行综合前置服务器, 其中, 所述移动终端, 用于接收注册指令, 并根据所述注册指令生成用户公钥和私钥; 所述移动银行服务器在移动终端进行注册时, 将所述用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成所述用户公钥证 书并保存; 所述移动银行服务器根据所述用户数字证书对所述移动终端发送的加密的用户 交易信息进行验证, 并在验证通过之后, 所述银行综合前置服务器执行交易; 所述移动终 端在所述交易执行之后生成更新私钥保护参数, 并将所述更新私钥保护参数发送至所述移 动银行服务器, 所述移动终端接收所述移动银行服务器更新成功结果, 根据更新私钥保护 参数对所述用户私钥进行加密存储。
根据本发明实施例的密钥保护系统, 在移动终端生成用户公钥和私钥, 并通过移动银 行服务器和银行综合前置服务器多方对移动终端进行验证, 并在验证之后移动银行服务器 将用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成用户公钥证书, 同时 在交易时, 移动银行服务器可以通过用户公钥证书进行验证, 并在交易完成更新用户私钥 的私钥保护参数, 由此, 在用户公钥证书的生成中移动银行服务器经过对移动终端进行验 证, 可以明确知道与自己通信的是哪个移动终端, 防止假冒移动终端与移动银行服务器进 行交互, 保证了安全, 增加攻击的难度, 同时在交易的过程中通过用户公钥证书进行验签, 可以保证交易安全性, 且在交易执行之后更新私钥保护参数以对用户私钥进行加密存储, 进一步保证安全性。
本发明附加的方面和优点将在下面的描述中部分给出, 部分将从下面的描述中变得明 显, 或通过本发明的实践了解到。 附图说明 本发明上述的和 /或附加的方面和优点从下面结合附图对实施例的描述中将变得明显 和容易理解, 其中:
图 1为本发明实施例的密钥保护方法的流程图;
图 2为本发明一个实施例的用户公钥证书生成方法的流程图;
图 3为本发明另一个实施例的用户公钥证书生成方法的流程图;
图 4为本发明一个实施例的交易方法的流程图;
图 5为本发明另一个实施例的交易方法的流程图;
图 6为本发明一个实施例的用户私钥的存储方法的流程图; 以及
图 7为根据本发明实施例的密钥保护系统的结构框图。 具体实施方式
下面详细描述本发明的实施例, 所述实施例的示例在附图中示出, 其中自始至终相同 或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。 下面通过参考附图描 述的实施例是示例性的, 仅用于解释本发明, 而不能理解为对本发明的限制。 相反, 本发 明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、 修改和等同物。
在本发明的描述中, 需要理解的是, 术语 "第一"、 "第二"等仅用于描述目的, 而不 能理解为指示或暗示相对重要性。 在本发明的描述中, 需要说明的是, 除非另有明确的规 定和限定, 术语 "相连"、 "连接"应做广义理解, 例如, 可以是固定连接, 也可以是可拆 卸连接, 或一体地连接; 可以是机械连接, 也可以是电连接; 可以是直接相连, 也可以通 过中间媒介间接相连。 对于本领域的普通技术人员而言, 可以具体情况理解上述术语在本 发明中的具体含义。 此外, 在本发明的描述中, 除非另有说明, "多个"的含义是两个或两 个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为, 表示包括一个 或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、 片段或部分, 并且本发明的优选实施方式的范围包括另外的实现, 其中可以不按所示出或讨论的顺序, 包括根据所涉及的功能按基本同时的方式或按相反的顺序, 来执行功能, 这应被本发明的 实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的密钥保护方法和密钥保护系统。 图 1为本发明实施例的密钥保护方法的流程图。
如图 1所示, 根据本发明实施例的密钥保护方法包括下述步骤:
步骤 S101 , 移动终端接收注册指令, 并根据注册指令生成用户公钥和私钥, 以及在移 动终端通过移动银行服务器和银行综合前置服务器的身份认证时, 移动银行服务器将用户 公钥发送至第三方电子商务认证服务器进行认证签名, 以生成用户公钥证书并保存。
具体地, 移动终端下载银行客户端软件, 移动终端通过银行客户端软件进行注册, 当 移动终端接收到用户的注册指令之后, 在移动终端中生成用户公钥和私钥, 并在注册的过 程中移动银行服务器和银行综合前置服务器对移动终端的身份进行认证, 如果移动终端的 身份认证通过之后, 移动银行服务器将用户公钥发送至第三方电子商务认证服务器进行认 证签名, 以生成用户公钥证书并保存, 其中用户公钥证书存储在移动银行服务器和银行综 合前置服务器中。
步骤 S102, 移动银行服务器根据用户公钥证书对移动终端发送的加密的用户交易信息 进行验证, 在验证通过之后, 银行综合前置服务器执行交易。
具体地, 用户公钥证书生成之后, 用户可以通过移动终端与移动银行服务器和银行综 合前置服务器进行交易, 移动银行服务器根据存储的用户公钥证书对移动终端发送的加密 的用户交易信息进行验证, 验证通过后, 银行综合前置服务器根据用户交易信息执行交易。
步骤 S103, 移动终端在交易执行之后生成更新私钥保护参数, 并将更新私钥保护参数 发送至移动银行服务器, 移动终端接收移动银行服务器更新成功结果, 根据更新私钥保护 参数对用户私钥进行加密存储。
根据本发明实施例的密钥保护方法, 在移动终端生成用户公钥和私钥, 并通过移动银 行服务器和银行综合前置服务器多方对移动终端进行验证, 并在验证之后移动银行服务器 将用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成用户公钥证书, 同时 在交易时, 移动银行服务器可以通过用户公钥证书进行验证, 并在交易完成更新用户私钥 的私钥保护参数, 由此, 在用户公钥证书的生成中移动银行服务器经过对移动终端进行验 证, 可以明确知道与自己通信的是哪个移动终端, 防止假冒移动终端与移动银行服务器进 行交互, 保证了安全, 增加攻击的难度, 同时在交易的过程中通过用户公钥证书进行验签, 可以保证交易安全性, 且在交易执行之后更新私钥保护参数以对用户私钥进行加密存储, 进一步保证安全性。 下面参考附图分别描述图 1所示的本发明实施例的密钥保护方法中的步骤 S101、 S102 及 S103的实施过程。 图 2为本发明一个实施例的用户公钥证书生成方法的流程图。
如图 2所示, 用户公钥证书生成方法 (即步骤 S101 ) 包括下述步骤:
步骤 S201 , 移动终端获取移动银行服务器的公钥和银行综合前置服务器的公钥, 对移 动银行服务器的公钥和银行综合前置服务器的公钥进行验证, 以及在验证通过之后根据注 册指令与移动银行服务器建立连接, 并生成用户公钥和私钥。
具体的, 移动终端下载银行客户端软件, 在安装客户端软件时, 从所加载的软件中获 取移动银行服务器的公钥和银行综合前置服务器的公钥, 移动银行服务器的公钥和银行综 合前置服务器的公钥的根证书提前预置在移动终端中, 在发送注册请求时, 可以根据预置 的根证书验证移动银行服务器的公钥和银行综合前置服务器的公钥是否正确, 其中在移动 银行服务器的公钥和银行综合前置服务器的公钥正确时才可以继续执行下述步骤, 在移动 银行服务器的公钥和银行综合前置服务器的公钥错误时提示错误信息。
其中, 移动银行服务端的私钥存储在移动银行服务器中, 移动银行服务器的公钥和私 钥用于对移动终端与移动银行服务端之间的通讯数据进行加密; 银行服务端的私钥存储在 银行综合前置服务器中, 银行综合前置服务器的公钥和私钥用于对交易过程中的银行卡等 敏感信息进行加密。
当然, 本实施例中, 可以在用户点击注册后, 触发移动终端根据预设的非对称加密算 法的密钥生成规则生成用户的公私钥对, 移动终端生成用户的公私钥对以便后续执行交易 时通过该公私钥对与移动银行服务器进行交互。
步骤 S202, 移动终端根据移动银行服务器的公钥对账号信息、 第一验证信息以及第一 随机加密参数进行加密, 并将加密之后的信息发送至移动银行服务器。
具体的, 第一验证信息由移动银行服务器生成, 并下发至移动终端并显示出来, 以供 用户查看并输入, 该第一验证信息可以为图形验证码, 从而可以防止攻击。 移动终端接收 用户输入的第一验证信息 (例如图形验证码中的字符)。
另外, 本实施例中, 第一随机加密参数由移动终端随机生成。
账号信息包括: 手机号码、 银行卡号、 注册完毕后的登录密码; 或者账号信息包括: 手机号码、 银行卡号、 注册完毕后的登录密码的哈希值。 步骤 S203, 移动银行服务器根据移动银行服务器的私钥对来自移动终端的信息进行解 密, 以获得账号信息、 第一验证信息以及第一随机加密参数, 并对第一验证信息进行验证, 验证通过后将账号信息发送至银行综合前置服务器。
具体的, 移动银行服务器验证移动终端发送的第一验证信息与自身生成的第一验证信 息是否一致, 一致则通过验证。
另外, 移动银行服务器获取解密信息后, 保存账号信息中的手机号码以及第一随机加 密参数。
步骤 S204, 银行综合前置服务器对来自移动银行服务器的账号信息进行验证, 发送验 证结果至移动银行服务器。
具体的, 银行综合前置服务器验证账号信息中的手机号码和银行卡号是否正确, 发送 验证结果至移动银行服务器。
步骤 S205, 在验证结果为正确时, 移动银行服务器生成第二随机加密参数和第二验证 信息, 并将第二随机加密参数和第二验证信息发送至移动终端。
具体的, 在验证结果为正确时, 移动银行服务器根据第一随机加密参数对第二随机加 密参数进行加密, 并将加密后的第二随机加密参数发送至移动终端; 并且利用存储的手机 号码将第二验证信息以短信的形式发送至移动终端。
步骤 S206, 移动终端利用第一随机加密参数和第二随机加密参数加密第二验证信息和 用户公钥生成第三验证信息, 并将第三验证信息发送至移动银行服务器。
具体的, 移动终端根据第一随机加密参数对加密后的第二随机加密参数进行解密, 获 得第二随机加密参数; 并接收用户输入的第二验证信息; 移动终端再根据第一随机加密参 数和第二随机加密参数对用户输入的第二验证信息和用户公钥进行加密以生成第三验证信 息, 将第三验证信息和用户公钥发送至移动银行服务器。
在本实施例中, 可以利用第一随机加密参数和第二随机加密参数对第二验证信息和用 户公钥进行分段做加密以生成第三验证信息, 例如使用 MAC加密算法。
步骤 S207, 移动银行服务器对来自移动终端的第三验证信息进行验证, 并在验证通过 后将用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成用户公钥证书。
具体地, 第三方电子商务认证服务器对用户的公钥进行认证签名, 可以防止用户公钥 被冒充, 并将签名之后的用户公钥储存在移动银行服务器中, 移动银行服务器存储签名的 用户公钥之后提示用户公钥证书生成成功。 根据本发明实施例的数字证书生成方法, 在移动终端生成用户公钥和私钥, 将用户信 息和用户公钥发送至移动银行服务器之前, 移动终端与移动银行服务器和银行综合前置服 务器多方进行验证, 并在验证之后以数字证书的方式存储在移动银行服务器, 保证用户公 钥传输通路的安全性, 增加攻击的难度。 图 3为本发明另一个实施例的用户公钥证书生成方法的流程图。
如图 3所示, 根据本发明实施例的数字证书生成方法 (即步骤 S101 ) 包括下述步骤: 步骤 S301 , 移动终端获取移动银行服务器的公钥和银行综合前置服务器的公钥, 对移 动银行服务器的公钥和银行综合前置服务器的公钥进行验证, 以及在验证通过之后根据注 册指令与移动银行服务器建立连接, 并生成用户公钥和私钥。
具体的, 移动终端下载银行客户端软件, 在安装客户端软件时, 从所加载的软件中获 取移动银行服务器的公钥和银行综合前置服务器的公钥, 移动银行服务器的公钥和银行综 合前置服务器的公钥的根证书提前预置在移动终端中, 在发送注册请求时, 可以根据预置 的根证书验证移动银行服务器的公钥和银行综合前置服务器的公钥是否正确, 其中在移动 银行服务器的公钥和银行综合前置服务器的公钥正确时才可以继续执行下述步骤, 在移动 银行服务器的公钥和银行综合前置服务器的公钥错误时提示错误信息。
其中, 移动银行服务端的私钥存储在移动银行服务器中, 移动银行服务器的公钥和私 钥用于对移动终端与移动银行服务端之间的通讯数据进行加密; 银行服务端的私钥存储在 银行综合前置服务器中, 银行综合前置服务器的公钥和私钥用于对交易过程中的银行卡等 敏感信息进行加密。
当然, 本实施例中, 可以在用户点击注册后, 触发移动终端根据预设的非对称加密算 法的密钥生成规则生成用户的公私钥对, 移动终端生成用户的公私钥对以便后续执行交易 时通过该公私钥对与移动银行服务器进行交互。
步骤 S302, 移动终端根据移动银行服务器的公钥对账号信息、 硬件信息、 第一验证信 息以及第一随机加密参数进行加密, 并将加密之后的信息发送至移动银行服务器。
具体的, 第一验证信息由移动银行服务器生成, 并下发至移动终端并显示出来, 以供 用户查看并输入, 该第一验证信息可以为图形验证码, 从而可以防止攻击。 移动终端接收 用户输入的第一验证信息 (例如图形验证码中的字符)。
另外, 本实施例中, 第一随机加密参数由移动终端随机生成。 账号信息包括: 手机号码、 银行卡号、 注册完毕后的登录密码; 或者账号信息包括: 手机号码、 银行卡号、 注册完毕后的登录密码的哈希值。
硬件信息为: 硬件特征信息或者硬件特征信息的哈希值, 其中, 硬件特征信息包括设 备序列号和 /或网卡的 MAC地址。
具体地, 移动终端提取移动终端自身的硬件特征信息 (或者计算提取的硬件特征信息 的哈希值), 同时生成第一随机加密参数, 接收用户录入的手机号码、 银行卡号、 登录密码 (可以提示用户输入两次)、 图形验证码显示的字符, 通过点击提交之后移动终端通过移动 银行服务器的公钥对获取的信息 (包括手机号码、 银行卡号、 登录密码、 硬件特征信息 /硬 件特征信息的哈希值、 第一随机加密参数和图形验证码) 进行加密并发送给移动银行服务 器。
当然, 此时, 移动终端还可以计算登录密码的哈希值, 通过点击提交之后移动终端通 过移动银行服务器的公钥对获取的信息 (包括手机号码、 银行卡号、 登录密码的哈希值、 硬件特征信息 /硬件特征信息的哈希值、 第一随机加密参数和图形验证码) 进行加密并发送 给移动银行服务器。
步骤 S303, 移动银行服务器根据移动银行服务器的私钥对来自移动终端的信息进行解 密, 以获得账号信息、 硬件信息、 第一验证信息以及第一随机加密参数, 并对第一验证信 息进行验证, 验证通过后将账号信息发送至银行综合前置服务器。
具体的, 移动银行服务器验证移动终端发送的第一验证信息与自身生成的第一验证信 息是否一致, 一致则通过验证。
另外, 移动银行服务器获取解密信息后, 保存账号信息中的手机号码、 硬件信息以及 第一随机加密参数。
步骤 S304, 银行综合前置服务器对来自移动银行服务器的账号信息进行验证, 发送验 证结果至移动银行服务器。
具体的, 银行综合前置服务器验证账号信息中的手机号码和银行卡号是否正确, 发送 验证结果至移动银行服务器。
步骤 S305, 在验证结果为正确时, 移动银行服务器生成第二随机加密参数和第二验证 信息, 并将第二随机加密参数和第二验证信息发送至移动终端。
具体的, 在验证结果为正确时, 移动银行服务器根据第一随机加密参数对第二随机加 密参数进行加密, 并将加密后的第二随机加密参数发送至移动终端; 并且利用存储的手机 号码将第二验证信息以短信的形式发送至移动终端。
步骤 S306, 移动终端根据第一随机加密参数和第二随机加密参数对第二验证信息和用 户公钥进行加密以生成三验证信息, 并根据用户私钥对硬件信息进行签名以生成第一签名 信息, 并将第三验证信息、 用户公钥和第一签名信息发送至移动银行服务器。
具体的, 移动终端根据第一随机加密参数对加密后的第二随机加密参数进行解密, 获 得第二随机加密参数; 并接收用户输入的第二验证信息; 移动终端再根据第一随机加密参 数和第二随机加密参数对用户输入的第二验证信息和用户公钥进行加密以生成第三验证信 息, 并根据用户私钥对硬件特征信息或者硬件特征信息的哈希值进行签名以生成第一签名 信息, 将第三验证信息、 用户公钥以及第一签名信息发送至移动银行服务器。
在本实施例中, 可以利用第一随机加密参数和第二随机加密参数对第二验证信息和用 户公钥进行分段做加密以生成第三验证信息, 例如使用 MAC加密算法。
步骤 S307,移动银行服务器对来自移动终端的第三验证信息和第一签名信息进行验证, 并在验证通过后将用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成用户 公钥证书。
具体的, 移动银行服务器根据存储的第一随机加密参数和第二随机加密参数对第二验 证信息和用户公钥进行加密以生成第四验证信息, 并根据用户公钥对第一签名信息进行验 签, 并判断第三验证信息与第四验证信息是否一致, 第一签名信息是否通过验签; 如果一 致且通过验签, 则验证通过。
第三方电子商务认证服务器对用户的公钥进行认证签名, 可以防止用户公钥被冒充, 并将签名之后的用户公钥储存在移动银行服务器中, 移动银行服务器存储签名的用户公钥 之后提示用户公钥证书生成成功。
根据本发明实施例的数字证书生成方法, 在移动终端生成用户公钥和私钥, 将用户信 息和用户公钥发送至移动银行服务器之前, 移动终端与移动银行服务器和银行综合前置服 务器多方进行验证, 并在验证之后以数字证书的方式存储在移动银行服务器, 保证用户公 钥传输通路的安全性, 增加攻击的难度。 同时移动银行服务器经过对移动终端的硬件信息 进行验证, 可以明确知道与自己通信的是哪个移动终端, 防止假冒移动终端与移动银行服 务器进行交互, 保证了安全。 图 4为本发明一个实施例的交易方法的流程图。 如图 4所示, 根据本发明实施例的交易方法 (即步骤 S102) 包括下述步骤。
步骤 S401 , 移动终端接收用户的交易信息, 并生成第一随机数。
具体地, 交易信息至少包括交易账号和交易金额。
步骤 S402, 移动终端根据第一随机数、 移动终端的硬件信息、 用户私钥、 移动银行服 务器的公钥及银行综合前置服务器的公钥对交易信息进行加密以生成交易报文, 并将交易 报文发送至移动银行服务器, 其中, 硬件信息为硬件特征信息或硬件特征信息的哈希值, 硬件特征信息可以包括移动终端的设备序列号或网卡的 MAC地址等。
步骤 S403 , 移动银行服务器根据移动银行服务器的私钥和存储的移动终端的硬件信息 对交易报文进行解密, 并根据用户公钥证书进行验签。
步骤 S404, 如果通过验签, 移动银行服务器生成加密密钥, 并根据加密密钥、 移动银 行服务器的私钥、 银行综合前置服务器的公钥和交易信息生成数字信封, 并将数字信封发 送至银行综合前置服务器。其中如果未通过验签, 提示用户在移动银行服务器中验签失败。
步骤 S405 , 银行综合前置服务器根据银行综合前置服务器的私钥和移动银行服务器的 公钥对数字信封进行解密获取交易信息, 并根据移动银行服务器的公钥进行验签, 并在通 过验签后, 完成交易。
根据本发明实施例的交易方法, 在移动终端根据第一随机数、 移动终端的硬件信息、 用户私钥和移动银行服务器的公钥对交易信息进行加密以获取交易报文, 并在移动银行服 务器中对交易报文进行验证, 可以保证银行综合前置服务器接收到的交易信息是来自于用 户使用的安全的终端, 同时保证交易信息在移动终端、 移动银行服务器和银行综合前置服 务器之间的安全传输, 保证移动支付的安全。 图 5为本发明另一个实施例的交易方法的流程图。
如图 5所示, 根据本发明实施例的交易方法 (即步骤 S102) 包括下述步骤。
步骤 S501 , 移动终端接收用户的交易信息, 并生成第一随机数。
其中, 每次进行交易报文处理时均生成第一随机数, 且每次生成的第一随机数都不同。 具体地, 交易信息至少包括交易账号和交易金额。
步骤 S502, 移动终端根据银行综合前置服务器的公钥对交易密码进行加密获得交易密 码的密文, 并根据用户私钥对交易信息和交易密码的密文进行签名以生成第一数字签名。
其中, 交易密码的密文根据银行综合前置服务器的公钥对交易密码加密生成, 对交易 密码加密可以保证交易密码的安全, 保证电子渠道的全程不落地。 当然, 本实施例中的移 动终端还可根据银行综合前置服务器的公钥对交易密码的哈希值进行加密获得交易密码的 密文。
步骤 S503, 移动终端根据随机数和移动终端的硬件信息生成加密参数密钥, 并根据加 密参数密钥对交易信息和交易密码的密文进行加密以生成第一报文密文。
具体地, 移动终端提取移动终端的硬件特征信息并计算硬件特征信息的哈希值, 利用 第一随机数和移动终端的硬件特征信息(或者硬件特征信息的哈希值)生成加密参数密钥, 根据加密参数密钥对交易信息和交易密码的密文进行加密以生成第一报文密文; 其中移动 终端根据加密参数密钥, 可以采用 3DES ( Triple DES、 三重数据加密算法) 或者 AES (Advanced Encryption Standards高级加密标准)算法等加密交易信息和交易密码的密文以 生成第一报文密文。
步骤 S504, 移动终端根据移动银行服务器的公钥对第一随机数进行加密以生成第一密 钥密文。
应理解, 步骤 S502、 S503和 S504的执行可以不分先后顺序。
步骤 S505, 移动终端将第一数字签名、 第一报文密文和第一密钥密文作为交易报文发 送至移动银行服务器。
上述步骤为移动终端将交易信息发送至移动银行服务器之前的加密处理流程, 移动银 行服务器接收到移动终端发送的交易报文之后, 进行以下处理, 即移动银行服务器对移动 终端发送的交易报文进行解密处理。
步骤 S506, 移动银行服务器根据移动银行服务器的私钥对第一密钥密文进行解密以获 取第一随机数。
步骤 S507, 移动银行服务器根据第一随机数和存储的移动终端的硬件信息生成加密参 数密钥,并根据加密参数密钥对第一报文密文进行解密以获取交易信息和交易密码的密文。
具体地, 移动银行服务器根据存储的移动终端的硬件特征信息和第一随机数, 或者存 储的移动终端的硬件特征信息的哈希值和第一随机数, 重新计算得到加密参数密钥, 移动 银行服务器利用自己计算所得的加密参数密钥解密接收到的第一报文密文, 得到交易信息 和交易密码的密文。
步骤 S508, 移动银行服务器根据存储的用户公钥证书对第一数字签名进行验签。
具体地, 移动银行服务器从用户公钥证书中获取用户公钥, 利用用户公钥对第一数字 签名进行验签。
步骤 S509, 如果未通过验签, 提示用户在移动银行服务器中验签失败。
步骤 S510, 如果通过验签, 移动银行服务器生成加密密钥。
其中, 加密密钥使用对称加密密钥。
具体地, 如果通过验签, 说明是安全的移动终端发送的交易报文, 继续执行下述的步 骤, 下述步骤为移动银行服务器对交易信息进行加密处理的流程。
步骤 S511 , 移动银行服务器根据加密密钥对交易信息和交易密码的密文进行加密以生 成第二报文密文。
步骤 S512, 移动银行服务器根据银行综合前置服务器的公钥对加密密钥进行加密以生 成第二密钥密文。
其中, 该加密方式可以与移动终端对交易信息的加密方式相同。
步骤 S513, 移动银行服务器根据移动银行服务器的私钥对交易信息和交易密码的密文 进行签名以生成第二数字签名。
步骤 S514, 移动银行服务器将第二数字签名、 第二报文密文和第二密钥密文作为数字 信封发送至银行综合前置服务器。
银行综合前置服务器接收到数字信封之后, 继续执行下述的步骤, 即银行综合前置服 务器对移动银行服务器发送的信息进行解密处理的流程。
步骤 S515, 银行综合前置服务器根据银行综合前置服务器的私钥对第二密钥密文进行 解密以获取加密密钥。
步骤 S516, 银行综合前置服务器根据加密密钥对第二报文密文进行解密以获取交易信 息和交易密码的密文。
为了保证交易密码的安全, 保证电子渠道的全程不落地, 交易密码在经由移动终端、 移动银行服务器发往银行综合前置服务器的过程中,采用交易密码的密文的形式进行传输; 银行综合前置服务器解密获得交易密码的密文后, 可进一步根据银行综合前置服务器的私 钥对交易密码的密文进行解密, 获得交易密码并发送至后端的银行系统中。
步骤 S517,银行综合前置服务器根据移动银行服务器的公钥对第二数字签名进行验签。 步骤 S518, 如果通过验签, 则银行综合前置服务器根据交易信息完成交易。
步骤 S519, 如果未通过验签, 提示移动银行服务器验签失败并向移动终端发送验证失 败信息。 根据本发明实施例的交易, 进一步保证交易信息在移动终端、 移动银行服务器和银行 综合前置服务器之间的安全传输, 保证移动支付的安全。 图 6为本发明一个实施例的用户私钥的存储方法的流程图。
如图 6所示,根据本发明实施例的用户私钥的存储方法(即步骤 S103 )包括以下步骤: 步骤 S601 , 移动终端在预设区域加密存储由用户私钥生成的用户私钥文件。
其中, 用户私钥文件包括用户私钥和移动终端的硬件信息; 用户私钥保护密钥为由移 动终端的硬件信息 /硬件特征信息的哈希值的全部或部分信息、登录密码 /登陆密码的哈希值 的全部或部分信息和私钥保护参数生成。
步骤 S602, 移动终端在交易时进行用户身份验证, 在验证通过之后生成第二随机数, 根据第二随机数从移动银行服务器获取第一私钥保护参数和第二私钥保护参数。
具体地, 在每次转账支付时, 移动终端接收用户输入的支付信息, 首先要根据支付信 息验证用户身份; 可通过短信验证码验证、 动态口令验证、 电子签名工具验证或交易密码 验证等方式验证用户身份。
进一步, 移动终端根据移动银行服务器的公钥对第二随机数进行加密, 并将加密之后 的第二随机数发送至移动银行服务器; 移动银行服务器根据移动银行服务器的私钥对移动 终端发送的加密信息进行解密以获取第二随机数; 移动银行服务器根据第二随机数对第一 私钥保护参数和第二私钥保护参数进行加密, 并将加密之后的第一私钥保护参数和第二私 钥保护参数发送至移动终端; 移动终端根据第二随机数对移动银行服务器发送的信息进行 解密以获取第一私钥保护参数和第二私钥保护参数。
通过上述方式, 能够保证移动终端与移动银行服务器之间传输私钥保护参数的安全。 其中, 首次从移动银行服务器获取的第一私钥保护参数和第二私钥保护参数可以在注 册时赋值相同。
步骤 S603, 移动终端根据第二私钥保护参数解密存储的用户私钥文件, 并验证解密之 后的用户私钥文件。
当然, 移动终端可以利用硬件信息验证解密之后的用户私钥文件, 以提高安全性。 步骤 S604, 如果用户私钥文件通过验证, 则根据用户私钥文件执行交易, 并更新私钥 保护参数更新标识。
其中, 根据解密用户私钥文件的第一私钥保护参数更新私钥保护参数更新标识。 步骤 S605, 如果用户私钥文件未通过验证, 则根据第一私钥保护参数解密存储的用户 私钥文件, 并验证解密之后的用户私钥文件。
当然, 移动终端可以利用硬件信息验证解密之后的用户私钥文件, 以提高安全性。 步骤 S606, 如果用户私钥文件通过验证, 则根据用户私钥文件执行交易, 并更新私钥 保护参数更新标识。
根据解密用户私钥文件的第二私钥保护参数更新私钥保护参数更新标识。
此步骤中, 如果用户私钥文件未通过验证, 则反馈错误信息, 此时, 需要用户重新进 行注册才能进行交易。
移动终端根据验证结果更新私钥保护参数更新标识, 进一步包括, 如果在利用第二私 钥保护参数解密用户私钥文件时, 解密后的用户私钥文件通过验证, 则可以根据解密用户 私钥文件的第二私钥保护参数更新私钥保护参数更新标识, 例如将私钥保护参数更新标识 更新为 2; 如果利用第一私钥保护参数解密用户私钥文件, 解密后的用户私钥文件通过验 证, 则可以根据解密用户私钥文件的第一私钥保护参数更新私钥保护参数更新标识, 例如 将私钥保护参数更新标识更新为 1。
步骤 S607, 移动终端根据接收到的交易结果生成更新私钥保护参数, 发送更新私钥保 护参数及私钥保护参数更新标识至移动银行服务器。
其中, 无论交易结果是成功还是失败, 移动终端都生成更新私钥保护参数。
具体的, 移动终端还可以根据移动银行服务器的公钥对更新私钥保护参数和私钥保护 参数更新标识进行加密, 并将加密之后的更新私钥保护参数和私钥保护参数更新标识发送 至移动银行服务器; 相应的, 移动银行服务器还根据移动银行服务器的私钥对移动终端发 送的信息进行解密以获取更新私钥保护参数和私钥保护参数更新标识。 通过加密传输的方 式保证安全。
另外, 移动银行服务器还私钥保护参数更新标识对第一私钥保护参数和第二私钥保护 参数进行更新, 具体的: 如果私钥保护参数更新标识为第二私钥保护参数对应的标识, 则 移动银行服务器根据更新私钥保护参数更新第二私钥保护参数, 并根据第二私钥保护参数 更新第一私钥保护参数; 如果私钥保护参数更新标识为第一私钥保护参数对应的标识, 则 移动银行服务器根据更新私钥保护参数更新第二私钥保护参数。
另外, 移动银行服务器在成功更新后, 还返回更新成功结果至移动终端。
步骤 S608, 移动终端根据移动银行服务的更新成功结果, 利用更新私钥保护参数对用 户私钥文件重新进行加密存储。
具体地, 移动终端接收到更新成功结果之后, 根据更新私钥保护参数、 移动终端的硬 件特征信息 /硬件特征信息的哈希值的全部或部分信息、和登录密码 /登陆密码的哈希值的全 部或部分信息计算产生用户私钥保护密钥, 并根据用户私钥保护密钥对用户私钥文件进行 加密。
如果移动银行服务器更新失败, 则移动终端根据移动银行服务器的更新失败结果, 则 不利用步骤 S607生成的更新私钥保护参数对用户私钥文件进行加密存储,而仍采用原有的 方式加密存储用户私钥文件,原有的方式可为步骤 S601中根据用户私钥保护密钥对用户私 钥文件进行加密并存储。
由此可见, 根据本发明实施例的用户私钥的存储方法, 移动终端从移动银行服务器获 取私钥保护参数, 并验证私钥保护参数能否成功解密用户私钥文件, 在验证无误之后方可 执行交易, 使得用户私钥不易被破解, 保证安全。 图 7为根据本发明实施例的密钥保护系统的结构框图。
如图 7所示, 用户公钥证书生成系统包括: 移动终端 10、 移动银行服务器 20、 银行综 合前置服务器 30和第三方电子商务认证服务器 40。
具体地, 移动终端 10用于接收注册指令, 并根据注册指令生成用户公钥和私钥。 具体 地, 移动终端 10下载银行客户端软件, 移动终端 10通过银行客户端软件进行注册, 当移 动终端 10接收到用户的注册指令之后, 在移动终端 10中生成用户公钥和私钥。
移动银行服务器 20在移动终端 10进行注册时, 将用户公钥发送至第三方电子商务认 证服务器 40进行认证签名, 以生成用户公钥证书并保存。 其中, 在注册的过程中移动银行 服务器 20和银行综合前置服务器 30对移动终端 10的身份进行认证, 如果移动终端 10的 身份认证通过之后, 移动银行服务器 20将用户公钥发送至第三方电子商务认证服务器 40 进行认证签名, 以生成用户公钥证书并保存,其中用户公钥证书存储在移动银行服务器 20。
移动银行服务器 20 根据用户数字证书对移动终端发送的加密的用户交易信息进行验 证, 并在验证通过之后, 银行综合前置服务器 30执行交易。其中,用户公钥证书生成之后, 用户可以通过移动终端 10进行交易, 移动银行服务器 20根据存储的用户公钥证书对移动 终端 10发送的加密的用户交易信息进行验证, 在验证通过之后, 银行综合前置服务器 30 执行交易。 移动终端 10在交易执行之后生成更新私钥保护参数,并将更新私钥保护参数发送至移 动银行服务器 20, 移动终端 10接收移动银行服务器 20更新成功结果, 根据更新私钥保护 参数对用户私钥进行加密存储。
根据本发明实施例的密钥保护系统, 在移动终端生成用户公钥和私钥, 并通过移动银 行服务器和银行综合前置服务器多方对移动终端进行验证, 并在验证之后移动银行服务器 将用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成用户公钥证书, 同时 在交易时, 移动银行服务器可以通过用户公钥证书进行验证, 并在交易完成更新用户私钥 的私钥保护参数, 由此, 在用户公钥证书的生成中移动银行服务器经过对移动终端进行验 证, 可以明确知道与自己通信的是哪个移动终端, 防止假冒移动终端与移动银行服务器进 行交互, 保证了安全, 增加攻击的难度, 同时在交易的过程中通过用户公钥证书进行验证, 可以保证交易安全性, 且在交易执行之后更新私钥保护参数以对用户私钥进行加密存储, 进一步保证安全性。 在密钥保护系统中, 首先需要生成用户公钥证书, 具体实施例如下:
移动终端 10还用于获取移动银行服务器 20的公钥和银行综合前置服务器 30的公钥, 对移动银行服务器 20的公钥和银行综合前置服务器 30的公钥进行验证, 以及在验证通过 之后根据注册指令与移动银行服务器 20建立连接, 并生成用户公钥和私钥, 并根据移动银 行服务器 20的公钥对账号信息、第一验证信息以及第一随机加密参数进行加密, 并将加密 之后的信息发送至移动银行服务器 20。
移动银行服务器 20还用于根据移动银行服务器 20的私钥对来自移动终端 10的信息进 行解密, 以获得账号信息、 第一验证信息以及第一随机加密参数, 并对第一验证信息进行 验证, 验证通过后将账号信息发送至银行综合前置服务器 20。
银行综合前置服务器 30还用于对来自移动银行服务器 20的账号信息进行验证, 发送 验证结果至移动银行服务器 20。
其中, 在验证结果为正确时, 移动银行服务器 20还用于生成第二随机加密参数和第二 验证信息, 并将第二随机加密参数和第二验证信息发送至移动终端 10, 移动终端 10还用 于根据第一随机加密参数和第二随机加密参数加密第二验证信息和用户公钥生成第三验证 信息, 并将第三验证信息发送至移动银行服务器 20, 移动银行服务器 20对来自移动终端 10的第三验证信息进行验证, 并在验证通过后将用户公钥发送至第三方电子商务认证服务 器 40进行认证签名, 以生成用户公钥证书。
移动终端 10还用于根据移动银行服务器 20的公钥对移动终端 10的硬件信息进行加 密, 其中, 硬件信息为硬件特征信息或硬件特征信息的哈希值, 硬件特征信息包括设备序 列号和 /或网卡的 MAC地址。
其中, 账号信息包括手机号码、 银行卡号和登录密码。
移动终端 10还用于接收移动银行服务器 20生成的第一验证信息, 其中第一验证信息 为图形验证码, 以及根据移动银行服务器 20的公钥对手机号码、 银行卡号、 计算得到的登 录密码的哈希值、 硬件信息、 第一随机加密参数和第一验证信息进行加密, 并将加密之后 的信息发送至移动银行服务器 20, 其中第一随机加密参数由移动终端 10生成。
移动银行服务器 20还用于根据第一随机加密参数对第二随机加密参数进行加密,并将 加密后的第二随机加密参数发送至移动终端 10, 以及将第二验证信息以短信的形式发送至 移动终端 10。
将第二随机加密参数和第二验证信息发送至移动终端 10的步骤之后, 移动终端 10还 用于根据第一随机加密参数对加密后的第二随机加密参数进行解密, 获得第二随机加密参 数; 并接收用户输入的第二验证信息。
移动终端 10 还用于根据第一随机加密参数和第二随机加密参数对第二验证信息和用 户公钥进行加密以生成第三验证信息, 并根据用户私钥对硬件信息进行签名以生成第一签 名信息, 并将第三验证信息、 用户公钥和第一签名信息发送至移动银行服务器 20。
移动银行服务器 20 还用于根据存储的第一随机加密参数和第二随机加密参数对第二 验证信息和用户公钥进行加密以生成第四验证信息, 并根据用户公钥对第一签名信息进行 验签, 并判断第三验证信息与第四验证信息是否一致, 第一签名信息是否通过验签; 如果 一致并通过验签, 则验证通过。
根据第一随机加密参数和第二随机加密参数对第二验证信息和用户公钥进行分段做加 密, 例如使用 MAC加密算法。 在密钥保护系统中, 在用户公钥证书之后执行交易, 具体实施例如下:
移动终端 10还用于接收用户的交易信息, 并生成第一随机数, 其中交易信息至少包括 交易账号和交易金额, 以及根据第一随机数、 移动终端的硬件信息、 用户私钥、 移动银行 服务器 20的公钥及银行综合前置服务器 30的公钥对交易信息进行加密以生成交易报文, 并将交易报文发送至移动银行服务器 20, 其中硬件信息为硬件特征信息或硬件特征信息的 哈希值。
移动银行服务器 20还用于根据移动银行服务器 20的私钥和存储的移动终端 10的硬件 信息对交易报文进行解密, 并根据用户公钥证书进行验签, 并在通过验签时, 生成加密密 钥, 并根据加密密钥、 移动银行服务器 20的私钥、 银行综合前置服务器 30的公钥和交易 信息生成数字信封, 并将数字信封发送至银行综合前置服务器 30。
银行综合前置服务器 30还用于根据银行综合前置服务器 30的私钥和移动银行服务器 20的公钥对数字信封进行解密获取交易信息, 并根据移动银行服务器 20的公钥进行验签, 并在通过验签后, 完成交易。
在本发明实施例中, 移动终端 10还用于根据银行综合前置服务器 30的公钥对交易密 码或交易密码的哈希值进行加密获得交易密码的密文, 并根据用户私钥对交易信息和交易 密码的密文进行签名以生成第一数字签名, 以及根据第一随机数和移动终端 10的硬件信息 生成加密参数密钥, 并根据加密参数密钥对交易信息和交易密码的密文进行加密以生成第 一报文密文, 并根据移动银行服务器 20 的公钥对第一随机数进行加密以生成第一密钥密 文, 以及将第一数字签名、 第一报文密文和第一密钥密文作为交易报文发送至移动银行服 务器 20。
移动银行服务器 20还用于根据移动银行服务器 20的私钥对第一密钥密文进行解密以 获取第一随机数, 并根据第一随机数和存储的移动终端 10的硬件信息生成加密参数密钥, 并根据加密参数密钥对第一报文密文进行解密以获取交易信息和交易密码的密文, 以及根 据存储的用户公钥证书对第一数字签名进行验签。
移动银行服务器 20还用于生成加密密钥,并根据加密密钥对交易信息和交易密码的密 文进行加密以生成第二报文密文, 以及根据银行综合前置服务器 30的公钥对加密密钥进行 加密以生成第二密钥密文,并根据移动银行服务器 20的私钥对交易信息和交易密码的密文 进行签名以生成第二数字签名, 以及将第二数字签名、 第二报文密文和第二密钥密文作为 数字信封发送至银行综合前置服务器 30。
银行综合前置服务器 30还用于根据银行综合前置服务器 30的私钥对第二密钥密文进 行解密以获取加密密钥, 并根据加密密钥对第二报文密文进行解密以获取交易信息和交易 密码的密文, 以及根据移动银行服务器 20的公钥对第二数字签名进行验证, 并在验证通过 时, 根据交易信息完成交易。 为了保证交易密码的安全,保证电子渠道的全程不落地,交易密码在经由移动终端 10、 移动银行服务器 20发往银行综合前置服务器 30的过程中, 采用交易密码的密文的形式进 行传输; 银行综合前置服务器 30解密获得交易密码的密文后, 可进一步根据银行综合前置 服务器 30的私钥对交易密码的密文进行解密, 获得交易密码并发送至后端的银行系统中。
进一步, 加密密钥为对称加密密钥。 在密钥保护系统中, 在执行交易之后, 更新私钥保护参数对用户私钥进行加密存储, 具体实施例如下:
移动终端 10还用于在预设区域加密存储由用户私钥生成的用户私钥文件,并在交易时 进行用户身份验证, 并在验证通过之后生成第二随机数, 根据第二随机数从移动银行服务 器 20获取第一私钥保护参数和第二私钥保护参数,并根据第二私钥保护参数解密存储的用 户私钥文件, 并验证解密之后的用户私钥文件, 以及在用户私钥文件通过验证时根据用户 私钥文件执行交易, 并更新私钥保护参数更新标识, 在用户私钥文件未通过验证时根据第 一私钥保护参数解密存储的用户私钥文件, 并验证解密之后的用户私钥文件, 以及在用户 私钥文件通过验证时根据用户私钥文件执行交易, 并更新私钥保护参数更新标识, 并根据 接收到的交易结果生成更新私钥保护参数, 发送更新私钥保护参数及私钥保护参数更新标 识至移动银行服务器 20, 以及根据移动银行服务器 20的更新成功结果, 利用更新私钥保 护参数对用户私钥重新进行加密存储。
如果移动银行服务器更新失败, 则移动终端 10根据移动银行服务器 20的更新失败结 果, 则不利用生成的更新私钥保护参数对用户私钥文件进行加密存储, 而仍采用原有的方 式加密存储用户私钥文件, 原有的方式可为根据用户私钥保护密钥对用户私钥文件进行加 密并存储。
另外, 移动终端 10根据两次验证均不通过的结果, 重新执行注册流程。
在本发明的实施例中,移动终端 10还用于根据用户私钥保护密钥对用户私钥文件进行 加密并存储, 用户私钥文件包括用户私钥和移动终端 10的硬件信息, 以及用户私钥保护密 钥为由移动终端 10的硬件信息 /硬件特征信息的哈希值的全部或部分信息、 登录密码 /登陆 密码的哈希值的全部或部分信息和私钥保护参数生成。
进一步, 根据解密用户私钥文件的第一私钥保护参数或第二私钥保护参数更新私钥保 护参数更新标识。 如果私钥保护参数更新标识为第二私钥保护参数对应的标识,则移动银行服务器 20根 据更新私钥保护参数更新第二私钥保护参数, 并根据第二私钥保护参数更新第一私钥保护 参数; 如果私钥保护参数更新标识为第一私钥保护参数对应的标识, 则移动银行服务器 20 根据更新私钥保护参数更新第二私钥保护参数;移动银行服务器 20返回更新成功结果至移 动终端 10。
移动终端 10还用于根据移动银行服务器 20的公钥对更新私钥保护参数和私钥保护参 数更新标识进行加密, 并将加密之后的更新私钥保护参数和私钥保护参数更新标识发送至 移动银行服务器 20; 移动银行服务器 20还用于根据移动银行服务器 20的私钥对移动终端 10发送的信息进行解密以获取更新私钥保护参数和私钥保护参数更新标识。
移动终端 10还用于利用硬件信息验证解密之后的用户私钥文件。
移动终端 10还用于根据移动银行服务器 20的公钥对第二随机数进行加密, 并将加密 之后的第二随机数发送至移动银行服务器 20; 移动银行服务器 20还用于根据移动银行服 务器 20的私钥对移动终端 10发送的加密信息进行解密以获取第二随机数, 并根据第二随 机数对第一私钥保护参数和第二私钥保护参数进行加密, 并将加密之后的第一私钥保护参 数和第二私钥保护参数发送至移动终端 10; 移动终端 10还用于根据第二随机数对移动银 行服务器 20发送的信息进行解密以获取第一私钥保护参数和第二私钥保护参数。
移动银行服务器 20与移动终端 10之间通过短信验证码验证、 动态口令验证、 电子签 名工具验证或交易密码验证的方式验证用户身份。
应理解, 应理解, 本发明的系统实施例中的各个设备的具体操作过程可与方法实施例 中的描述相同, 此处不再详细描述。
尽管已经示出和描述了本发明的实施例, 对于本领域的普通技术人员而言, 可以理解 在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、 修改、 替换和变 型, 本发明的范围由所附权利要求及其等同限定。

Claims

权利要求书
1、 一种密钥保护方法, 其特征在于, 该方法包括:
a、 移动终端接收注册指令, 并根据所述注册指令生成用户公钥和私钥, 以及在所述移 动终端通过移动银行服务器和银行综合前置服务器的身份认证时, 所述移动银行服务器将 所述用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成所述用户公钥证书 并保存;
b、所述移动银行服务器根据所述用户公钥证书对所述移动终端发送的加密的用户交易 信息进行验证, 在验证通过之后, 所述银行综合前置服务器执行交易; 以及
c、所述移动终端在所述交易执行之后生成更新私钥保护参数, 并将所述更新私钥保护 参数发送至所述移动银行服务器, 所述移动终端接收所述移动银行服务器更新成功结果, 根据更新私钥保护参数对所述用户私钥进行加密存储。
2、 根据权利要求 1所述的方法, 其特征在于, 所述步骤 a包括:
al、 所述移动终端获取移动银行服务器的公钥和银行综合前置服务器的公钥, 对所述 移动银行服务器的公钥和所述银行综合前置服务器的公钥进行验证, 以及在验证通过之后 根据所述注册指令与所述移动银行服务器建立连接, 并生成所述用户公钥和私钥;
a2、 所述移动终端根据所述移动银行服务器的公钥对账号信息、 第一验证信息以及第 一随机加密参数进行加密, 并将加密之后的信息发送至所述移动银行服务器;
a3、 所述移动银行服务器根据所述移动银行服务器的私钥对来自所述移动终端的信息 进行解密, 以获得所述账号信息、 第一验证信息以及第一随机加密参数, 并对所述第一验 证信息进行验证, 验证通过后将所述账号信息发送至银行综合前置服务器;
a4、 所述银行综合前置服务器对来自所述移动银行服务器的所述账号信息进行验证, 发送验证结果至所述移动银行服务器;
a5、 在所述验证结果为正确时, 所述移动银行服务器生成第二随机加密参数和第二验 证信息, 并将所述第二随机加密参数和第二验证信息发送至所述移动终端;
a6、 所述移动终端根据所述第一随机加密参数和第二随机加密参数加密所述第二验证 信息和用户公钥生成第三验证信息, 并将所述第三验证信息发送至所述移动银行服务器; 以及 a7、 所述移动银行服务器对来自所述移动终端的所述第三验证信息进行验证, 并在验 证通过后将所述用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成所述用 户公钥证书。
3、 根据权利要求 2所述的方法, 其特征在于, 所述步骤 a2还包括:
所述移动终端根据所述移动银行服务器的公钥对所述移动终端的硬件信息进行加密, 其中, 所述硬件信息为硬件特征信息或硬件特征信息的哈希值, 所述硬件特征信息包括设 备序列号和 /或网卡的 MAC地址。
4、 根据权利要求 3所述的方法, 其特征在于, 所述账号信息包括手机号码、 银行卡号 和登录密码, 所述步骤 a2包括:
所述移动终端接收所述移动银行服务器生成的所述第一验证信息, 其中所述第一验证 信息为图形验证码; 以及
所述移动终端根据所述移动银行服务器的公钥对所述手机号码、 银行卡号、 计算得到 的登录密码的哈希值、 硬件信息、 第一随机加密参数和第一验证信息进行加密, 并将加密 之后的信息发送至所述移动银行服务器,其中所述第一随机加密参数由所述移动终端生成。
5、 根据权利要求 2所述的方法, 其特征在于, 所述步骤 a5中将所述第二随机加密参 数和所述第二验证信息发送至所述移动终端的步骤包括:
所述移动银行服务器根据所述第一随机加密参数对所述第二随机加密参数进行加密, 并将加密后的所述第二随机加密参数发送至所述移动终端, 以及将所述第二验证信息以短 信的形式发送至所述移动终端。
6、 根据权利要求 5所述的方法, 其特征在于, 将所述第二随机加密参数和所述第二验 证信息发送至所述移动终端的步骤之后, 步骤 a6之前, 所述方法还包括:
所述移动终端根据所述第一随机加密参数对加密后的所述第二随机加密参数进行解 密, 获得所述第二随机加密参数; 并接收用户输入的第二验证信息。
7、 根据权利要求 3所述的方法, 其特征在于, 所述步骤 a6包括:
所述移动终端根据所述第一随机加密参数和第二随机加密参数对所述第二验证信息和 用户公钥进行加密以生成所述第三验证信息, 并根据所述用户私钥对所述硬件信息进行签 名以生成第一签名信息, 并将所述第三验证信息、 用户公钥和第一签名信息发送至所述移 动银行服务器。
8、 根据权利要求 7所述的方法, 其特征在于, 所述步骤 a7中所述移动银行服务器对 来自所述移动终端的所述第三验证信息进行验证的步骤包括:
所述移动银行服务器根据存储的所述第一随机加密参数和第二随机加密参数对所述第 二验证信息和用户公钥进行加密以生成第四验证信息, 并根据所述用户公钥对所述第一签 名信息进行验签, 并判断所述第三验证信息与所述第四验证信息是否一致, 所述第一签名 信息是否通过验签; 如果一致并通过验签, 则验证通过。
9、 根据权利要求 2或 7所述的方法, 其特征在于, 步骤 a6中所述生成第三验证信息 的步骤包括:
根据所述第一随机加密参数和所述第二随机加密参数对所述第二验证信息和用户公钥 进行分段做加密。
10、 根据权利要求 1所述的方法, 其特征在于, 所述步骤 b包括:
bl、 移动终端接收用户的交易信息, 并生成第一随机数, 其中所述交易信息至少包括 交易账号和交易金额;
b2、 所述移动终端根据所述第一随机数、 移动终端的硬件信息、 用户私钥、 移动银行 服务器的公钥及银行综合前置服务器的公钥对所述交易信息进行加密以生成交易报文, 并 将所述交易报文发送至所述移动银行服务器, 其中所述硬件信息为硬件特征信息或硬件特 征信息的哈希值;
b3、 所述移动银行服务器根据所述移动银行服务器的私钥和存储的所述移动终端的硬 件信息对所述交易报文进行解密, 并根据所述用户公钥证书进行验证;
b4、 如果验证通过, 所述移动银行服务器生成加密密钥, 并根据所述加密密钥、 移动 银行服务器的私钥、 银行综合前置服务器的公钥和交易信息生成数字信封, 并将所述数字 信封发送至所述银行综合前置服务器; 以及
b5、 所述银行综合前置服务器根据所述银行综合前置服务器的私钥和移动银行服务器 的公钥对所述数字信封进行解密获取所述交易信息, 并根据所述移动银行服务器的公钥进 行验签, 并在通过验签后, 完成交易。
11、 根据权利要求 10方法, 其特征在于, 所述步骤 b2包括:
所述移动终端根据所述银行综合前置服务器的公钥对交易密码或交易密码的哈希值进 行加密获得交易密码的密文, 并根据所述用户私钥对所述交易信息和所述交易密码的密文 进行签名以生成第一数字签名;
所述移动终端根据所述第一随机数和所述移动终端的硬件信息生成加密参数密钥, 并 根据所述加密参数密钥对所述交易信息和所述交易密码的密文进行加密以生成第一报文密 文;
所述移动终端根据所述移动银行服务器的公钥对所述第一随机数进行加密以生成第一 密钥密文; 以及
所述移动终端将所述第一数字签名、 所述第一报文密文和所述第一密钥密文作为所述 交易报文发送至所述移动银行服务器。
12、 根据权利要求 11所述的方法, 其特征在于, 所述步骤 b3包括以下步骤: 所述移动银行服务器根据所述移动银行服务器的私钥对所述第一密钥密文进行解密以 获取所述第一随机数;
所述移动银行服务器根据所述第一随机数和存储的所述移动终端的硬件信息生成所述 加密参数密钥, 并根据所述加密参数密钥对所述第一报文密文进行解密以获取所述交易信 息和所述交易密码的密文; 以及
所述移动银行服务器根据存储的所述用户公钥证书对所述第一数字签名进行验签。
13、 根据权利要求 12所述的方法, 其特征在于, 所述步骤 b4包括:
所述移动银行服务器生成所述加密密钥;
所述移动银行服务器根据所述加密密钥对所述交易信息和所述交易密码的密文进行加 密以生成第二报文密文;
所述移动银行服务器根据所述银行综合前置服务器的公钥对所述加密密钥进行加密以 生成第二密钥密文;
所述移动银行服务器根据所述移动银行服务器的私钥对所述交易信息和所述交易密码 的密文进行签名以生成第二数字签名; 以及
所述移动银行服务器将所述第二数字签名、 所述第二报文密文和所述第二密钥密文作 为所述数字信封发送至所述银行综合前置服务器。
14、 根据权利要求 13所述的方法, 其特征在于, 所述步骤 b5包括:
所述银行综合前置服务器根据所述银行综合前置服务器的私钥对所述第二密钥密文进 行解密以获取所述加密密钥;
所述银行综合前置服务器根据所述加密密钥对所述第二报文密文进行解密以获取所述 交易信息和所述交易密码的密文;
所述银行综合前置服务器根据所述移动银行服务器的公钥对所述第二数字签名进行验 签; 以及
如果通过验签, 则所述银行综合前置服务器根据所述交易信息完成交易。
15、 根据权利要求 12所述的方法, 其特征在于, 所述加密密钥为对称加密密钥。
16、 根据权利要求 1所述的方法, 其特征在于, 所述步骤 c包括:
c 移动终端在预设区域加密存储由所述用户私钥生成的用户私钥文件;
c2、 所述移动终端在所述交易时进行用户身份验证, 并在验证通过之后生成第二随机 数, 根据所述第二随机数从所述移动银行服务器获取第一私钥保护参数和第二私钥保护参 数;
c3、 所述移动终端根据所述第二私钥保护参数解密所述存储的用户私钥文件, 并验证 解密之后的所述用户私钥文件;
c4、 如果所述用户私钥文件通过验证, 则根据所述用户私钥文件执行交易, 并更新私 钥保护参数更新标识;
c5、 如果所述用户私钥文件未通过验证, 则根据所述第一私钥保护参数解密所述存储 的用户私钥文件, 并验证解密之后的所述用户私钥文件;
c6、 如果所述用户私钥文件通过验证, 则根据所述用户私钥文件执行交易, 并更新所 述私钥保护参数更新标识;
c7、 所述移动终端根据接收到的交易结果生成更新私钥保护参数, 发送所述更新私钥 保护参数及所述私钥保护参数更新标识至移动银行服务器; 以及
c8、 所述移动终端根据所述移动银行服务器的更新成功结果, 利用更新私钥保护参数 对所述用户私钥重新进行加密存储。
17、 根据权利要求 16所述的方法, 其特征在于, 所述步骤 cl包括:
根据用户私钥保护密钥对所述用户私钥文件进行加密并存储;
所述用户私钥文件包括用户私钥和所述移动终端的硬件信息; 以及
所述用户私钥保护密钥为由所述移动终端的硬件信息 /硬件特征信息的哈希值的全部 或部分信息、 登录密码 /登陆密码的哈希值的全部或部分信息和私钥保护参数生成。
18、 根据权利要求 16所述的方法, 其特征在于, 所述步骤 c4或 c6中更新所述私钥保 护参数更新标识的步骤包括:
根据解密所述用户私钥文件的所述第一私钥保护参数或第二私钥保护参数更新所述私 钥保护参数更新标识。
19、 根据权利要求 16所述的方法, 其特征在于, 所述步骤 c7和所述步骤 c8之间还包 括:
如果所述私钥保护参数更新标识为所述第二私钥保护参数对应的标识, 则所述移动银 行服务器根据所述更新私钥保护参数更新所述第二私钥保护参数, 并根据所述第二私钥保 护参数更新所述第一私钥保护参数;
如果所述私钥保护参数更新标识为所述第一私钥保护参数对应的标识, 则所述移动银 行服务器根据所述更新私钥保护参数更新所述第二私钥保护参数;
所述移动银行服务器返回更新成功结果至所述移动终端。
20、 根据权利要求 19所述的方法, 其特征在于, 所述步骤 c7所述发送所述更新私钥 保护参数及所述私钥保护参数更新标识至移动银行服务器包括:
所述移动终端根据所述移动银行服务器的公钥对所述更新私钥保护参数和所述私钥保 护参数更新标识进行加密, 并将加密之后的所述更新私钥保护参数和所述私钥保护参数更 新标识发送至所述移动银行服务器;
所述步骤 c7和所述步骤 c8之间还包括: 所述移动银行服务器根据所述移动银行服务 器的私钥对所述移动终端发送的信息进行解密以获取所述更新私钥保护参数和所述私钥保 护参数更新标识。
21、 根据权利要求 16所述的方法, 其特征在于, 步骤 c3中所述验证解密之后的所述 用户私钥文件包括:
利用所述硬件信息验证解密之后的所述用户私钥文件。
22、 根据权利要求 16-21任一项所述的方法, 其特征在于, 步骤 c2中所述根据所述第 二随机数从移动银行服务器获取第一私钥保护参数和第二私钥保护参数的步骤包括: 所述移动终端根据所述移动银行服务器的公钥对所述第二随机数进行加密, 并将加密 之后的所述第二随机数发送至所述移动银行服务器;
所述移动银行服务器根据所述移动银行服务器的私钥对所述移动终端发送的加密信息 进行解密以获取所述第二随机数;
所述移动银行服务器根据所述第二随机数对所述第一私钥保护参数和所述第二私钥保 护参数进行加密, 并将加密之后的所述第一私钥保护参数和第二私钥保护参数发送至所述 移动终端; 以及
所述移动终端根据所述第二随机数对所述移动银行服务器发送的信息进行解密以获取 所述第一私钥保护参数和第二私钥保护参数。
23、 根据权利要求 16-21任一项所述的方法, 其特征在于, 步骤 c2中所述验证用户身 份的步骤包括短信验证码验证、 动态口令验证、 电子签名工具验证或交易密码验证。
24、 一种密钥保护系统, 其特征在于, 包括移动终端、 移动银行服务器和银行综合前 置服务器, 其中,
所述移动终端, 用于接收注册指令, 并根据所述注册指令生成用户公钥和私钥; 所述移动银行服务器在移动终端进行注册时, 将所述用户公钥发送至第三方电子商务 认证服务器进行认证签名, 以生成所述用户公钥证书并保存;
所述移动银行服务器根据所述用户数字证书对所述移动终端发送的加密的用户交易信 息进行验证, 并在验证通过之后, 所述银行综合前置服务器执行交易;
所述移动终端在所述交易执行之后生成更新私钥保护参数, 并将所述更新私钥保护参 数发送至所述移动银行服务器, 所述移动终端接收所述移动银行服务器更新成功结果, 根 据更新私钥保护参数对所述用户私钥进行加密存储。
25、 根据权利要求 24所述的系统, 其特征在于,
所述移动终端,还用于获取所述移动银行服务器的公钥和银行综合前置服务器的公钥, 对所述移动银行服务器的公钥和所述银行综合前置服务器的公钥进行验证, 以及在验证通 过之后根据所述注册指令与所述移动银行服务器建立连接, 并生成所述用户公钥和私钥, 并根据所述移动银行服务器的公钥对账号信息、 第一验证信息以及第一随机加密参数进行 加密, 并将加密之后的信息发送至所述移动银行服务器;
所述移动银行服务器, 还用于根据所述移动银行服务器的私钥对来自所述移动终端的 信息进行解密, 以获得所述账号信息、 第一验证信息以及第一随机加密参数, 并对所述第 一验证信息进行验证, 验证通过后将所述账号信息发送至银行综合前置服务器;
所述银行综合前置服务器, 还用于对来自所述移动银行服务器的所述账号信息进行验 证, 发送验证结果至所述移动银行服务器;
其中, 在所述验证结果为正确时, 所述移动银行服务器还用于生成第二随机加密参数 和第二验证信息, 并将所述第二随机加密参数和第二验证信息发送至所述移动终端, 所述 移动终端还用于根据所述第一随机加密参数和第二随机加密参数加密所述第二验证信息和 用户公钥生成第三验证信息, 并将所述第三验证信息发送至所述移动银行服务器, 所述移 动银行服务器对来自所述移动终端的所述第三验证信息进行验证, 并在验证通过后将所述 用户公钥发送至第三方电子商务认证服务器进行认证签名, 以生成所述用户公钥证书。
26、 根据权利要求 25所述的系统, 其特征在于,
所述移动终端, 还用于根据所述移动银行服务器的公钥对所述移动终端的硬件信息进 行加密, 其中, 所述硬件信息为硬件特征信息或硬件特征信息的哈希值, 所述硬件特征信 息包括设备序列号和 /或网卡的 MAC地址。
27、 根据权利要求 26所述的系统, 其特征在于, 所述账号信息包括手机号码、 银行卡 号和登录密码,
所述移动终端, 还用于接收所述移动银行服务器生成的所述第一验证信息, 其中所述 第一验证信息为图形验证码, 以及
根据所述移动银行服务器的公钥对所述手机号码、 银行卡号、 计算得到的登录密码的 哈希值、 硬件信息、 第一随机加密参数和第一验证信息进行加密, 并将加密之后的信息发 送至所述移动银行服务器, 其中所述第一随机加密参数由所述移动终端生成。
28、 根据权利要求 25所述的系统, 其特征在于,
所述移动银行服务器, 还用于根据所述第一随机加密参数对所述第二随机加密参数进 行加密, 并将加密后的所述第二随机加密参数发送至所述移动终端, 以及将所述第二验证 信息以短信的形式发送至所述移动终端。
29、 根据权利要求 28所述的系统, 其特征在于, 将所述第二随机加密参数和所述第二 验证信息发送至所述移动终端的步骤之后,
所述移动终端, 还用于根据所述第一随机加密参数对加密后的所述第二随机加密参数 进行解密, 获得所述第二随机加密参数; 并接收用户输入的第二验证信息。
30、 根据权利要求 26所述的系统, 其特征在于,
所述移动终端, 还用于根据所述第一随机加密参数和第二随机加密参数对所述第二验 证信息和用户公钥进行加密以生成所述第三验证信息, 并根据所述用户私钥对所述硬件信 息进行签名以生成第一签名信息, 并将所述第三验证信息、 用户公钥和第一签名信息发送 至所述移动银行服务器。
31、 根据权利要求 30所述的系统, 其特征在于,
所述移动银行服务器, 还用于根据存储的所述第一随机加密参数和第二随机加密参数 对所述第二验证信息和用户公钥进行加密以生成第四验证信息, 并根据所述用户公钥对所 述第一签名信息进行验签, 并判断所述第三验证信息与所述第四验证信息是否一致, 所述 第一签名信息是否通过验签; 如果一致并通过验签, 则验证通过。
32、 根据权利要求 25或 31所述的系统, 其特征在于, 根据所述第一随机加密参数和 所述第二随机加密参数对所述第二验证信息和用户公钥进行分段做加密。
33、 根据权利要求 24所述的系统, 其特征在于,
所述移动终端, 还用于接收用户的交易信息, 并生成第一随机数, 其中所述交易信息 至少包括交易账号和交易金额, 以及根据所述第一随机数、 移动终端的硬件信息、 用户私 钥、 移动银行服务器的公钥及银行综合前置服务器的公钥对所述交易信息进行加密以生成 交易报文, 并将所述交易报文发送至所述移动银行服务器, 其中所述硬件信息为硬件特征 信息或硬件特征信息的哈希值;
所述移动银行服务器, 还用于根据所述移动银行服务器的私钥和存储的所述移动终端 的硬件信息对所述交易报文进行解密, 并根据所述用户公钥证书进行验签, 并在通过验签 时, 生成加密密钥, 并根据所述加密密钥、 移动银行服务器的私钥、 银行综合前置服务器 的公钥和交易信息生成数字信封, 并将所述数字信封发送至所述银行综合前置服务器; 所述银行综合前置服务器, 还用于根据所述银行综合前置服务器的私钥和移动银行服 务器的公钥对所述数字信封进行解密获取所述交易信息, 并根据所述移动银行服务器的公 钥进行验签, 并在通过验签后, 完成交易。
34、 根据权利要求 33所述的方法, 其特征在于,
所述移动终端, 还用于根据所述银行综合前置服务器的公钥对交易密码或交易密码的 哈希值进行加密获得交易密码的密文, 并根据所述用户私钥对所述交易信息和所述交易密 码的密文进行签名以生成第一数字签名, 以及根据所述第一随机数和所述移动终端的硬件 信息生成加密参数密钥, 并根据所述加密参数密钥对所述交易信息和所述交易密码的密文 进行加密以生成第一报文密文, 并根据所述移动银行服务器的公钥对所述第一随机数进行 加密以生成第一密钥密文, 以及将所述第一数字签名、 所述第一报文密文和所述第一密钥 密文作为所述交易报文发送至所述移动银行服务器。
35、 根据权利要求 34所述的系统, 其特征在于,
所述移动银行服务器, 还用于根据所述移动银行服务器的私钥对所述第一密钥密文进 行解密以获取所述第一随机数, 并根据所述第一随机数和存储的所述移动终端的硬件信息 生成所述加密参数密钥, 并根据所述加密参数密钥对所述第一报文密文进行解密以获取所 述交易信息和所述交易密码的密文, 以及根据存储的所述用户公钥证书对所述第一数字签 名进行验签。
36、 根据权利要求 35所述的系统, 其特征在于,
所述移动银行服务器, 还用于生成所述加密密钥, 并根据所述加密密钥对所述交易信 息和所述交易密码的密文进行加密以生成第二报文密文, 以及根据所述银行综合前置服务 器的公钥对所述加密密钥进行加密以生成第二密钥密文, 并根据所述移动银行服务器的私 钥对所述交易信息和所述交易密码的密文进行签名以生成第二数字签名, 以及将所述第二 数字签名、 所述第二报文密文和所述第二密钥密文作为所述数字信封发送至所述银行综合 前置服务器。
37、 根据权利要求 36所述的系统, 其特征在于,
所述银行综合前置服务器, 还用于根据所述银行综合前置服务器的私钥对所述第二密 钥密文进行解密以获取所述加密密钥, 并根据所述加密密钥对所述第二报文密文进行解密 以获取所述交易信息和所述交易密码的密文, 以及根据所述移动银行服务器的公钥对所述 第二数字签名进行验签, 并在通过验签时, 根据所述交易信息完成交易。
38、 根据权利要求 35所述的系统, 其特征在于, 所述加密密钥为对称加密密钥。
39、 根据权利要求 24所述的系统, 其特征在于,
所述移动终端, 还用于在预设区域加密存储由所述用户私钥生成的用户私钥文件, 并 在所述交易时进行用户身份验证, 并在验证通过之后生成第二随机数, 根据所述第二随机 数从所述移动银行服务器获取第一私钥保护参数和第二私钥保护参数, 并根据所述第二私 钥保护参数解密所述存储的用户私钥文件, 并验证解密之后的所述用户私钥文件, 以及在 所述用户私钥文件通过验证时根据所述用户私钥文件执行交易, 并更新私钥保护参数更新 标识, 在所述用户私钥文件未通过验证时根据所述第一私钥保护参数解密所述存储的用户 私钥文件, 并验证解密之后的所述用户私钥文件, 以及在所述用户私钥文件通过验证时根 据所述用户私钥文件执行交易, 并更新所述私钥保护参数更新标识, 并根据接收到的交易 结果生成更新私钥保护参数, 发送所述更新私钥保护参数及所述私钥保护参数更新标识至 移动银行服务器, 以及根据所述移动银行服务器的更新成功结果, 利用更新私钥保护参数 对所述用户私钥重新进行加密存储。
40、 根据权利要求 39所述的系统, 其特征在于,
所述移动终端, 还用于根据用户私钥保护密钥对所述用户私钥文件进行加密并存储, 所述用户私钥文件包括用户私钥和所述移动终端的硬件信息, 以及所述用户私钥保护密钥 为由所述移动终端的硬件信息 /硬件特征信息的哈希值的全部或部分信息、登录密码 /登陆密 码的哈希值的全部或部分信息和私钥保护参数生成。
41、 根据权利要求 39所述的系统, 其特征在于, 根据解密所述用户私钥文件的所述第 一私钥保护参数或第二私钥保护参数更新所述私钥保护参数更新标识。
42、 根据权利要求 39所述的系统, 其特征在于,
如果所述私钥保护参数更新标识为所述第二私钥保护参数对应的标识, 则所述移动银 行服务器根据所述更新私钥保护参数更新所述第二私钥保护参数, 并根据所述第二私钥保 护参数更新所述第一私钥保护参数;
如果所述私钥保护参数更新标识为所述第一私钥保护参数对应的标识, 则所述移动银 行服务器根据所述更新私钥保护参数更新所述第二私钥保护参数;
所述移动银行服务器返回更新成功结果至所述移动终端。
43、 根据权利要求 42所述的系统, 其特征在于,
所述移动终端, 还用于根据所述移动银行服务器的公钥对所述更新私钥保护参数和所 述私钥保护参数更新标识进行加密, 并将加密之后的所述更新私钥保护参数和所述私钥保 护参数更新标识发送至所述移动银行服务器;
所述移动银行服务器, 还用于根据所述移动银行服务器的私钥对所述移动终端发送的 信息进行解密以获取所述更新私钥保护参数和所述私钥保护参数更新标识。
44、 根据权利要求 39所述的系统, 其特征在于, 所述移动终端还用于利用所述硬件信 息验证解密之后的所述用户私钥文件。
45、 根据权利要求 39-44任一项所述的系统, 其特征在于,
所述移动终端, 还用于根据所述移动银行服务器的公钥对所述第二随机数进行加密, 并将加密之后的所述第二随机数发送至所述移动银行服务器;
所述移动银行服务器, 还用于根据所述移动银行服务器的私钥对所述移动终端发送的 加密信息进行解密以获取所述第二随机数, 并根据所述第二随机数对所述第一私钥保护参 数和所述第二私钥保护参数进行加密, 并将加密之后的所述第一私钥保护参数和第二私钥 保护参数发送至所述移动终端;
所述移动终端, 还用于根据所述第二随机数对所述移动银行服务器发送的信息进行解 密以获取所述第一私钥保护参数和第二私钥保护参数。
46、 根据权利要求 39-44任一项所述的系统, 其特征在于, 所述移动银行服务器与所 述移动终端之间通过短信验证码验证、 动态口令验证、 电子签名工具验证或交易密码验证 的方式验证用户身份。
PCT/CN2013/084117 2013-01-10 2013-09-24 密钥保护方法和系统 WO2014107977A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/760,213 US9824353B2 (en) 2013-01-10 2013-09-24 Key protection method and system
SG11201505397RA SG11201505397RA (en) 2013-01-10 2013-09-24 Key protection method and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310009435.8 2013-01-10
CN201310009435.8A CN103067401B (zh) 2013-01-10 2013-01-10 密钥保护方法和系统

Publications (1)

Publication Number Publication Date
WO2014107977A1 true WO2014107977A1 (zh) 2014-07-17

Family

ID=48109862

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/084117 WO2014107977A1 (zh) 2013-01-10 2013-09-24 密钥保护方法和系统

Country Status (5)

Country Link
US (1) US9824353B2 (zh)
CN (1) CN103067401B (zh)
MY (1) MY171731A (zh)
SG (1) SG11201505397RA (zh)
WO (1) WO2014107977A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503415A (zh) * 2019-08-22 2019-11-26 浪潮软件集团有限公司 一种内外网隔离的在线银行打款安全防护方法
US10915896B2 (en) * 2014-01-02 2021-02-09 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
CN103067401B (zh) * 2013-01-10 2015-07-01 天地融科技股份有限公司 密钥保护方法和系统
US10489852B2 (en) * 2013-07-02 2019-11-26 Yodlee, Inc. Financial account authentication
CN103905207B (zh) * 2014-04-23 2017-02-01 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
US9584492B2 (en) * 2014-06-23 2017-02-28 Vmware, Inc. Cryptographic proxy service
US9231925B1 (en) * 2014-09-16 2016-01-05 Keypasco Ab Network authentication method for secure electronic transactions
CN104243484B (zh) * 2014-09-25 2016-04-13 小米科技有限责任公司 信息交互方法及装置、电子设备
CN105722067B (zh) * 2014-12-02 2019-08-13 阿里巴巴集团控股有限公司 移动终端上数据加/解密方法及装置
US10205599B2 (en) * 2014-12-08 2019-02-12 Luigi Caramico Methods and systems of increasing security quality of computing-device communications
CN104618105A (zh) * 2014-12-29 2015-05-13 芜湖乐锐思信息咨询有限公司 基于验证和数据加密的在线交易系统
CN104618106A (zh) * 2014-12-29 2015-05-13 芜湖乐锐思信息咨询有限公司 一种安全可靠的互联网在线交易系统
US20200034835A1 (en) * 2015-06-08 2020-01-30 Ebay Korea Co., Ltd. Payment system for user non-repudiation using user terminal and method thereof
CN107154916A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 一种认证信息获取方法、提供方法及装置
US20170262853A1 (en) * 2016-03-14 2017-09-14 Mastercard International Incorporated Method and system for biometric confirmation of suspect transactions
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
CN107317791B (zh) * 2016-12-15 2018-07-31 平安科技(深圳)有限公司 登录验证方法、登录请求方法和安全登录系统
CN108574571B (zh) * 2017-03-08 2021-12-03 华为技术有限公司 私钥生成方法、设备以及系统
CN107274183B (zh) * 2017-03-21 2020-05-22 中国银联股份有限公司 交易验证方法及系统
CN108737335A (zh) * 2017-04-14 2018-11-02 广州小兵过河信息科技有限公司 基于私有云的会议文档处理的方法
CN106952409B (zh) * 2017-04-27 2022-10-11 济南大学 一种按流量计费的售水系统及方法
US10218697B2 (en) * 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
CN107508791B (zh) * 2017-07-12 2020-04-10 武汉精伦电气有限公司 一种基于分散密钥加密的终端身份验证方法及系统
CN107508804A (zh) * 2017-08-10 2017-12-22 山东渔翁信息技术股份有限公司 一种保护移动终端中密钥和证书的方法、装置及移动终端
JP6647258B2 (ja) * 2017-09-11 2020-02-14 Capy株式会社 ユーザ認証方法、評価装置、プログラム、及びユーザ認証システム
US10958423B2 (en) * 2018-02-06 2021-03-23 Microsoft Technology Licensing, Llc Automated changeover of transfer encryption key
WO2019171163A1 (en) 2018-03-07 2019-09-12 Visa International Service Association Secure remote token release with online authentication
CN108764907B (zh) * 2018-05-30 2022-03-01 招商银行股份有限公司 资产找回方法、系统及计算机可读存储介质
CN109684819A (zh) * 2018-12-26 2019-04-26 北京字节跳动网络技术有限公司 数据验证方法和装置
TWI774902B (zh) * 2018-12-28 2022-08-21 新唐科技股份有限公司 密鑰保護方法及密鑰保護系統
CN109919611B (zh) * 2019-01-15 2021-11-16 如般量子科技有限公司 基于对称密钥池服务器的抗量子计算区块链交易方法和系统
CN110839217B (zh) * 2019-10-24 2022-03-11 深圳市梦网科技发展有限公司 一种移动终端的寻址方法、装置、服务器及介质
CN110650160B (zh) * 2019-10-29 2022-01-04 北京天威诚信电子商务服务有限公司 一种身份认证方法及系统
CN110753066B (zh) * 2019-10-29 2021-12-28 北京计算机技术及应用研究所 一种基于密码技术的物联网标识方法
CN110881063B (zh) * 2019-11-20 2022-03-15 腾讯科技(深圳)有限公司 一种隐私数据的存储方法、装置、设备及介质
CN111178884B (zh) * 2019-12-16 2024-04-12 平安壹钱包电子商务有限公司 信息处理方法、装置、设备及可读存储介质
CN111193730B (zh) * 2019-12-25 2022-06-14 上海沄界信息科技有限公司 一种IoT可信场景构建方法及装置
CN111327629B (zh) * 2020-03-04 2021-07-27 广州柏视医疗科技有限公司 身份验证方法、客户端和服务端
CN111490876B (zh) * 2020-04-03 2021-12-28 北京达龙上东文化艺术传播有限责任公司 一种基于usb key的通信方法和usb key
CN111698225B (zh) * 2020-05-28 2022-08-19 国家电网有限公司 一种适用于电力调度控制系统的应用服务认证加密方法
CN111914308B (zh) * 2020-07-27 2024-02-13 万达信息股份有限公司 一种利用智能卡内ca证书进行移动数据签名的方法
CN112235115B (zh) * 2020-10-12 2023-05-12 宋煜 基于可否认认证关系的密码算法私钥保护方法
CN112765617A (zh) * 2020-12-23 2021-05-07 北京连山科技股份有限公司 一种数据异地协同保护方法和系统
CN112822026B (zh) * 2021-04-22 2021-09-17 北京信安世纪科技股份有限公司 数字签名方法、装置及系统
CN113301035B (zh) * 2021-05-18 2023-04-18 重庆川仪自动化股份有限公司 一种不信任对象间数据传输方法及系统
CN114584301A (zh) * 2022-03-04 2022-06-03 中国银行股份有限公司 数据传输方法及装置
CN115225362A (zh) * 2022-07-13 2022-10-21 南京元贝信息技术有限公司 人机行为的验证方法、装置、设备及存储介质
CN115396222B (zh) * 2022-08-30 2024-03-12 重庆紫光华山智安科技有限公司 设备指令执行方法、系统、电子设备及可读存储介质
CN115242553B (zh) * 2022-09-21 2023-01-06 航天宏图信息技术股份有限公司 一种支持安全多方计算的数据交换方法及系统
CN116866034B (zh) * 2023-07-11 2024-03-08 吉客印(郑州)数字科技有限公司 一种分布式节点认证方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070241180A1 (en) * 2006-04-14 2007-10-18 Harexinfotech Inc. Method of settling signatureless payment of bank card sales slip in mobile terminal, and system therefor
CN102118251A (zh) * 2011-01-24 2011-07-06 郑州信大捷安信息技术有限公司 基于多界面安全智能卡的网上银行远程支付的安全认证方法
US20120089519A1 (en) * 2010-10-06 2012-04-12 Prasad Peddada System and method for single use transaction signatures
CN103067401A (zh) * 2013-01-10 2013-04-24 天地融科技股份有限公司 密钥保护方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1734486A (zh) * 2004-08-13 2006-02-15 李东声 一种网上支付的身份识别方法
CN101645889B (zh) * 2009-06-26 2012-09-05 飞天诚信科技股份有限公司 一种下发数字证书的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070241180A1 (en) * 2006-04-14 2007-10-18 Harexinfotech Inc. Method of settling signatureless payment of bank card sales slip in mobile terminal, and system therefor
US20120089519A1 (en) * 2010-10-06 2012-04-12 Prasad Peddada System and method for single use transaction signatures
CN102118251A (zh) * 2011-01-24 2011-07-06 郑州信大捷安信息技术有限公司 基于多界面安全智能卡的网上银行远程支付的安全认证方法
CN103067401A (zh) * 2013-01-10 2013-04-24 天地融科技股份有限公司 密钥保护方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915896B2 (en) * 2014-01-02 2021-02-09 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system
US20210097536A1 (en) * 2014-01-02 2021-04-01 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system
US11854003B2 (en) 2014-01-02 2023-12-26 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system
CN110503415A (zh) * 2019-08-22 2019-11-26 浪潮软件集团有限公司 一种内外网隔离的在线银行打款安全防护方法

Also Published As

Publication number Publication date
US9824353B2 (en) 2017-11-21
CN103067401A (zh) 2013-04-24
CN103067401B (zh) 2015-07-01
US20150363775A1 (en) 2015-12-17
MY171731A (en) 2019-10-25
SG11201505397RA (en) 2015-08-28

Similar Documents

Publication Publication Date Title
WO2014107977A1 (zh) 密钥保护方法和系统
US11588637B2 (en) Methods for secure cryptogram generation
US11856104B2 (en) Methods for secure credential provisioning
US9838205B2 (en) Network authentication method for secure electronic transactions
US9231925B1 (en) Network authentication method for secure electronic transactions
US9647832B2 (en) Efficient methods for protecting identity in authenticated transmissions
WO2019020051A1 (zh) 一种安全认证的方法及装置
CN111512608B (zh) 基于可信执行环境的认证协议
CN103078742B (zh) 数字证书的生成方法和系统
WO2015161689A1 (zh) 一种基于协商密钥的数据处理方法
WO2015109958A1 (zh) 一种基于协商密钥的数据处理方法和手机
US20240106633A1 (en) Account opening methods, systems, and apparatuses
TW201828134A (zh) 基於密文的身份驗證方法
KR20150053520A (ko) Ssl/tls 통신에서의 개인 확인 메시지를 통한 서버 인증 방법

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: 13870520

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14760213

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13870520

Country of ref document: EP

Kind code of ref document: A1