WO2021249527A1 - Method and apparatus for implementing motopay, and electronic device - Google Patents

Method and apparatus for implementing motopay, and electronic device Download PDF

Info

Publication number
WO2021249527A1
WO2021249527A1 PCT/CN2021/099608 CN2021099608W WO2021249527A1 WO 2021249527 A1 WO2021249527 A1 WO 2021249527A1 CN 2021099608 W CN2021099608 W CN 2021099608W WO 2021249527 A1 WO2021249527 A1 WO 2021249527A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
bank card
user
card information
tee
Prior art date
Application number
PCT/CN2021/099608
Other languages
French (fr)
Chinese (zh)
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 支付宝(杭州)信息技术有限公司
Publication of WO2021249527A1 publication Critical patent/WO2021249527A1/en

Links

Images

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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • G06Q20/3415Cards acting autonomously as pay-media
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing

Definitions

  • This manual relates to the field of computer communication, especially to the method, device and electronic equipment for implementing MOTOpay.
  • MOTOpay is a credit card remote collection system that can realize non-face-to-face consumption between merchants and consumers. For example, when consumers order goods via telephone, mail, fax, or website, they only need to enter credit card information to complete the payment. Generally, most international e-commerce websites support this payment method.
  • a method for implementing MOTOpay is provided, which is applied to a terminal, the terminal is loaded with a client that supports MOTOpay payment, and the method includes: the client calls the terminal system in response to a payment request triggered by the user Perform a first identity verification on the user; after the user passes the first identity verification, the terminal system obtains the stored bank card information from the trusted execution environment TEE, and returns the bank card information to the Client; The client executes the payment request based on the returned bank card information.
  • the method further includes: after the client terminal obtains the bank card information input by the user for MOTOpay payment, calling the terminal system to perform a second identity verification on the user; the terminal After the user passes the second identity verification, the system stores the bank card information in the TEE.
  • the storing the bank card information in the TEE includes: after the user passes the second identity verification, generating a public key and a private key in the TEE; and using the public key pair
  • the bank card information is encrypted, and the encrypted bank card information is stored in the TEE
  • the obtaining the stored bank card information from the trusted execution environment TEE includes: obtaining the stored bank card information from the TEE Encrypting bank card information; using the private key corresponding to the client to decrypt the encrypted bank card information to obtain the bank card information.
  • the method further includes: after generating the public key and the private key, the terminal system obtains verification information for second identity verification, and encrypts the verification information to obtain the first encryption Verification information; the terminal system uploads the first encrypted verification information and the public key to the server through the client for storage; the method further includes: the client receives the server on the user A challenge code issued after triggering the payment request; after the user passes the first identity verification, the terminal system obtains verification information for the first identity verification, and encrypts the verification information to obtain the first identity verification. 2.
  • the terminal system uses the private key to sign the second encryption verification information and the challenge code, and sends the signature result to the server through the client, so that the The server verifies the signature result;
  • the obtaining the stored bank card information from the trusted execution environment TEE includes: obtaining the stored bank card information from the TEE when the signature result passes the verification.
  • the storing the bank card information in the TEE includes: the terminal system obtains the identity information used for the second identity verification to obtain the first identity; and the terminal system The bank card information and the first identifier are associated and stored in the TEE; the obtaining the stored bank card information from the trusted execution environment TEE includes: obtaining by the terminal system for the first identity verification To obtain the second identity, and obtain the bank card information associated with the second identity from the TEE.
  • the method further includes: the terminal system sets an aging time length for the bank card information stored in the TEE; when the terminal system detects that the aging time length of the bank card information stored in the TEE reaches , Delete the bank card information; or, when the terminal system detects that the use of the bank card information reaches a preset use condition, delete the bank card information; or, the client terminal receives the user’s When deleting the instruction, call the terminal system to delete the bank card information.
  • the bank card information includes at least one of the following: bank card number, name, card validity period, and CVV code.
  • a method for implementing MOTOpay is provided, which is applied to a client supporting MOTOpay payment carried on a terminal.
  • the method includes: in response to a payment request triggered by a user, sending a first system call to the terminal system Request, the terminal system responds to the first system call request to perform first identity verification on the user, and after the user passes the first identity verification, obtain the stored information from the trusted execution environment TEE Bank card information, and return the bank card information to the client; execute the payment request based on the returned bank card information.
  • the method further includes: after acquiring the bank card information input by the user for MOTOpay payment, sending a second system call request to the terminal system, so that the terminal system responds to the second The system calls a request to perform a second identity verification on the user, and after the user passes the second identity verification, the bank card information is stored in the TEE.
  • the TEE further includes: a public key and a private key generated by the user terminal system after the user passes the second identity verification; the method further includes: receiving the first encrypted verification information sent by the terminal system And the public key, upload the first encrypted verification information and the public key to the server; the first encrypted verification information is obtained by encrypting the verification information of the second identity verification; receiving the The server issues a challenge code after the user triggers the payment request, and sends the challenge code to the terminal system so that the terminal system can obtain the user account after the user passes the first identity verification.
  • the signature result sent by the terminal system, and the signature result is sent to the server, so that the server verifies the signature result, so as to trigger the terminal system when the signature result passes the verification, Obtain the stored bank card information from the TEE.
  • a method for implementing MOTOpay is provided, which is applied to a terminal system of a terminal, the terminal is loaded with a client that supports MOTOpay payment, and the method includes: responding to a first sent by the client The system calls a request to perform the first identity verification for the user; after the user passes the first identity verification, obtain the stored bank card information from the TEE; return the bank card information to the client, so that the The client executes the payment request triggered by the user based on the bank card information.
  • the method further includes: in response to a second system call request sent by the client, performing a second identity verification on the user; the second system call request is obtained by the client after the user input After the bank card information used for MOTOpay payment is sent; after the user passes the second identity verification, the bank card information is stored in the TEE.
  • the storing the bank card information in the TEE includes: after the user passes the second identity verification, generating a public key and a private key in the TEE; and using the public key to pair the TEE
  • the bank card information is encrypted, and the encrypted bank card information is stored in the TEE
  • the obtaining the stored bank card information from the TEE includes: obtaining the stored encrypted bank card information from the TEE;
  • the private key corresponding to the client decrypts the encrypted bank card information to obtain the bank card information.
  • the method further includes: after generating the public key and the private key, obtaining verification information for second identity verification, and encrypting the verification information to obtain the first encrypted verification information;
  • the first encrypted verification information and the public key are uploaded to the server for storage through the client;
  • the method further includes: after the user passes the first identity verification, obtaining verification information for the first identity verification , And encrypt the verification information to obtain second encrypted verification information; use the private key to sign the second encrypted verification information and the received challenge code, and send the signature result to the client through the client
  • the server side verifies the signature result by the server side; the challenge code is issued by the server side after the user triggers the payment request; the stored bank is obtained from the TEE
  • the card information includes: obtaining the stored bank card information from the TEE when the signature result is verified.
  • the storing the bank card information in the TEE includes: acquiring an identifier of the identity information used for the second identity verification to obtain the first identifier; and combining the bank card information with the The first identity is associated and stored in the TEE; the obtaining the stored bank card information from the TEE includes: obtaining the identity of the identity information used for the first identity verification to obtain the second identity; obtaining the first identity from the TEE 2. Identify the associated bank card information.
  • the method further includes: setting an aging duration for the bank card information stored in the TEE; deleting the bank card information when it is detected that the aging duration of the bank card information stored in the TEE reaches; Or, when it is detected that the use of the bank card information reaches a preset use condition, the bank card information is deleted.
  • a device for implementing MOTOpay which is applied to a client supporting MOTOpay payment on a terminal.
  • the device includes: a sending module for sending a payment request to the terminal system in response to a payment request triggered by a user. Send a first system call request, so that the terminal system responds to the first system call request to perform a first identity verification on the user, and after the user passes the first identity verification, from the trusted execution environment.
  • the TEE obtains the stored bank card information and returns the bank card information to the client; the execution module is configured to execute the payment request based on the returned bank card information.
  • the sending module is configured to send a second system call request to the terminal system after acquiring the bank card information input by the user for MOTOpay payment, so that the terminal system responds to the first 2.
  • the TEE further includes: a public key and a private key generated by the user terminal system after the user passes the second identity verification;
  • the device further includes: an upload module, which is used to send the terminal system after receiving the public key and the private key.
  • the first encrypted verification information and the public key are encrypted, the first encrypted verification information and the public key are uploaded to the server; the first encrypted verification information is encrypted by the verification information for the second identity verification The processing is obtained;
  • the receiving module is configured to receive the challenge code issued by the server after the user triggers the payment request, and send the challenge code to the terminal system so that the terminal system can
  • the upload module is also used to receive the signature result sent by the terminal system, and send the signature result to the server, so that the server can sign the signature
  • the result is verified to trigger the terminal system to obtain the stored bank card information from the TEE when the signature
  • a device for implementing MOTOpay is provided, which is applied to a terminal system of a terminal, the terminal is equipped with a client that supports MOTOpay payment, and the device includes: a verification module for responding to the client The first system call request sent by the terminal performs the first identity verification for the user; the obtaining module is used to obtain the stored bank card information from the TEE after the user passes the first identity verification; the return module is used to The bank card information is returned to the client, so that the client executes the payment request triggered by the user based on the bank card information.
  • the verification module is further configured to perform a second identity verification on the user in response to a second system call request sent by the client; the second system call request is that the client obtains the user The input bank card information used for MOTOpay payment is sent afterwards; the device further includes: a storage module for storing the bank card information in the TEE after the user passes the second identity verification.
  • the storage module when storing the bank card information in the TEE, is used to generate a public key and a private key in the TEE after the user passes the second identity verification;
  • the public key encrypts the bank card information and stores the encrypted bank card information in the TEE;
  • the obtaining module is used to obtain the stored bank card information from the TEE when obtaining the stored bank card information from the TEE.
  • the encrypted bank card information; the private key corresponding to the client is used to decrypt the encrypted bank card information to obtain the bank card information.
  • the device further includes: an encryption module for obtaining verification information for second identity verification after generating the public key and private key, and encrypting the verification information to obtain the first Encryption verification information; upload the first encryption verification information and the public key to the server through the client for storage; the device further includes: a signature module for after the user passes the first identity verification, Obtain verification information used for the first identity verification, and encrypt the verification information to obtain second encrypted verification information; use the private key to sign the second encrypted verification information and the received challenge code , And send the signature result to the server through the client, so that the server verifies the signature result; the challenge code is issued by the server after the user triggers the payment request
  • the acquisition module when acquiring the stored bank card information from the TEE, is used to acquire the stored bank card information from the TEE when the signature result is verified.
  • the storage module when storing the bank card information in the TEE, is used to obtain the identity information used for the second identity verification to obtain the first identity;
  • the card information and the first identifier are associated and stored in the TEE;
  • the acquiring module is used to acquire the identifier of the identity information used for the first identity verification when acquiring the stored bank card information from the TEE to obtain the first identity verification.
  • Second identification obtain the bank card information associated with the second identification from the TEE.
  • the device further includes: a setting module, configured to set an aging duration for the bank card information stored in the TEE; a deletion module, configured to detect the aging duration of the bank card information stored in the TEE When it reaches, delete the bank card information; or when it is detected that the use of the bank card information reaches a preset use condition, delete the bank card information.
  • a setting module configured to set an aging duration for the bank card information stored in the TEE
  • a deletion module configured to detect the aging duration of the bank card information stored in the TEE When it reaches, delete the bank card information; or when it is detected that the use of the bank card information reaches a preset use condition, delete the bank card information.
  • an electronic device including: a processor; a memory for storing executable instructions of the processor; wherein the processor executes the executable instructions to implement the above-mentioned method for implementing MOTOpay .
  • a computer-readable storage medium on which computer instructions are stored, and when the instructions are executed by a processor, the above-mentioned method for implementing MOTOpay is realized.
  • the user's bank card information is stored in the TEE of the user terminal.
  • the user terminal can call the bank card information in the TEE to complete the payment.
  • a method for implementing identity authentication which is applied to a terminal, the terminal is loaded with a client, and the method includes: the client calls the identity authentication request triggered by the user The terminal system performs the first local identity verification on the user; after the user passes the first local identity verification, the terminal system obtains the stored user authentication information from the trusted execution environment TEE, and combines the user authentication information Return to the client; the client executes the identity authentication request based on the returned user authentication information.
  • the method further includes: after the client obtains the user authentication information input by the user for identity authentication, calling the terminal system to perform a second local identity verification on the user; the After the user passes the second local identity verification, the terminal system stores the user authentication information in the TEE.
  • the storing the user authentication information in the TEE includes: after the user passes the second local identity verification, generating a public key and a private key in the TEE; and using the public key Encrypting the user authentication information and storing the encrypted user authentication information in the TEE; the obtaining the stored user authentication information from the trusted execution environment TEE includes: obtaining all the stored user authentication information from the TEE The encrypted user authentication information; the private key corresponding to the client is used to decrypt the encrypted user authentication information to obtain the user authentication information.
  • the method further includes: after generating the public key and the private key, the terminal system obtains verification information for second local identity verification, and encrypts the verification information to obtain the first Encrypted verification information; the terminal system uploads the first encrypted verification information and the public key to the server through the client for storage; the method further includes: the client receives the server on the A challenge code issued after the user triggers the identity authentication request; after the user passes the first local identity verification, the terminal system obtains verification information for the first local identity verification, and encrypts the verification information Processing to obtain second encrypted verification information; the terminal system uses the private key to sign the second encrypted verification information and the challenge code, and sends the signature result to the server through the client, The server verifies the signature result; the obtaining the stored user authentication information from the trusted execution environment TEE includes: when the signature result passes the verification, obtaining the stored user from the TEE Certification Information.
  • the storing the user authentication information in the TEE includes: the terminal system obtains an identifier of the identity information used for the second local identity verification to obtain the first identifier; the terminal system The user authentication information and the first identifier are associated and stored in the TEE; the obtaining the stored user authentication information from the trusted execution environment TEE includes: the terminal system obtains the user authentication information for the first local The biometric identification of the identity verification obtains the second identification, and the user authentication information associated with the second identification is obtained from the TEE.
  • the user authentication information of the user is stored in the TEE of the user terminal.
  • the user terminal can call the user authentication information in the TEE to complete the payment.
  • the user authentication information accessed by the terminal is authorized to obtain the user authentication information through user information (such as the user's fingerprint, etc.) to ensure the security of the user authentication information.
  • Fig. 1 is a flowchart of a bank card information storage process shown in an exemplary embodiment of this specification
  • Fig. 2 is a flowchart of a MOTOpay payment method shown in an exemplary embodiment of this specification
  • Fig. 3 is a flowchart of a method for implementing MOTOpay shown in an exemplary embodiment of this specification
  • Fig. 4 is a flowchart of a method for implementing MOTOpay shown in an exemplary embodiment of this specification
  • Fig. 5 is a flowchart of another method for storing bank card information according to an exemplary embodiment of this specification
  • Fig. 6 is a flowchart of a MOTOpay payment method shown in an exemplary embodiment of this specification
  • FIG. 7 is a hardware structure diagram of a terminal shown in an exemplary embodiment of this description.
  • Fig. 8 is a block diagram of a device for implementing MOTOpay according to an exemplary embodiment of this specification.
  • Fig. 9 is a block diagram showing another device for implementing MOTOpay according to an exemplary embodiment of the present specification.
  • Fig. 10 is a flowchart of a method for storing user authentication information according to an exemplary embodiment of this specification
  • Fig. 11 is a flowchart of a method for implementing authentication shown in an exemplary embodiment of this specification.
  • first, second, third, etc. may be used in this specification to describe various information, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as second information, and similarly, the second information may also be referred to as first information.
  • word “if” as used herein can be interpreted as "when” or “when” or “in response to a certainty”.
  • MOTOpay is a credit card remote collection system that can realize non-face-to-face consumption between merchants and consumers. For example, when consumers order goods via telephone, mail, fax, or website, they only need to enter credit card information to complete the payment. Generally, most international e-commerce websites support this payment method.
  • this specification proposes a method to implement MOTOpay by storing the user's bank card information in the TEE of the user terminal.
  • the user terminal can call the bank card information in the TEE to complete the payment, thereby solving the payment problem caused by the user forgetting to bring the bank card or forgetting the bank card information.
  • the method of implementing MOTOpay in this manual may include: the storage process of bank card information and the process of user payment.
  • the following two aspects will describe the method of implementing MOTOpay provided in this manual in detail. 1.
  • Fig. 1 is a flowchart of a bank card information storage process shown in an exemplary embodiment of this specification.
  • the method can be applied to the terminal.
  • the terminal may include a client and a terminal system.
  • the client supports MOTOpay payment.
  • the terminal may include: a PC, a portable terminal, etc.
  • the portable terminal may include: the user's mobile phone, IPAD, notebook computer, palmtop computer, and so on.
  • the terminal and the portable terminal are not specifically limited here.
  • the method may include the steps shown below.
  • Step 102 After obtaining the bank card information input by the user for MOTOpay payment, the client invokes the terminal system to perform a second identity verification on the user.
  • the bank card includes: a credit card, a debit card, etc.
  • the bank card is only exemplified here, and it is not specifically limited.
  • Step 102 is described below through step 1021 to step 1022.
  • Step 1021 The client terminal obtains the bank card information input by the user for MOTOpay payment.
  • the user when the user pays for the first time, or the user needs to add bank card information, or the registered user information stored on the terminal (such as registered user fingerprints, etc.) changes, the user can enter the MOTOpay on the terminal Payment bank card information.
  • the client terminal can obtain the bank card information entered by the user.
  • the client when the client detects a payment request triggered by the user, it can call the terminal system to obtain the user information of the user, and perform identity verification on the user according to the user information. After passing the identity verification, the terminal system can detect whether the bank card information is stored in the TEE, and if the bank card information is not stored, it will notify the client. The client can prompt the user to enter bank card information. Then, the client terminal can obtain the bank card information entered by the user.
  • the client terminal obtains the bank card information carried in the adding instruction when receiving the adding instruction of the user to add the bank card information.
  • Step 1022 The client invokes the terminal system to perform a second identity verification on the user.
  • the client After obtaining the bank card information input by the user for MOTOpay payment, the client can send a second system call request to the terminal system.
  • the terminal system may obtain the user information of the user in response to the second system call request, and perform the second identity verification on the user based on the user information and the locally stored verification information.
  • the user information may include text information such as the user's user name and password, or the user's biometric information. For example, the user's fingerprint, the user's facial features, the user's iris features, and so on.
  • the user information is only exemplified here, and it is not specifically limited.
  • the terminal system locally stores the user's registered verification information, such as text information such as the user's registered user name and password, or the user's biometric information, such as the registered user's fingerprint, facial features, and iris features.
  • the verification information stored locally in the terminal system is merely exemplified, and no specific limitation is imposed on it.
  • the terminal system can detect whether the user's identity information matches the verification information stored in the terminal system. If the identity information matches the verification information, it is determined that the second identity verification of the user is passed, and if the identity information does not match the verification information, it is determined that the second identity verification of the user fails.
  • Step 104 After the user passes the second identity verification, the terminal system stores the bank card information in the TEE.
  • Method 1 When storing the bank card information in the TEE, the terminal system can only store the bank card information in the TEE, and any user's identity information can call the bank card information in the TEE.
  • the terminal system can only store the bank card information in the TEE.
  • the call is one or more bank card information stored in the TEE.
  • the terminal system can obtain the identity information used for the second identity verification to obtain the first identity. Then, the terminal system can store the encrypted bank card information in association with the first identification in the TEE.
  • Such associative storage can bind the user's identity information to the bank card one by one. When the user pays later, different bank cards can be called based on the user's different identity information.
  • the bank card information used to pay for MOTOpay input by the user on the client is Bank of China bank card information
  • the user uses thumb fingerprints for the second identity authentication.
  • the terminal system determines that the second identity authentication is passed, the user's thumb fingerprint and the bank card information of the Bank of China are associated and stored in the TEE.
  • the bank card information used to pay for MOTOpay entered by the user on the client is the bank card information of China Construction Bank
  • the user uses the index finger fingerprint to perform the second identity authentication.
  • the terminal system determines that the second identity authentication is passed the user's index finger fingerprint and the bank card information of the China Construction Bank are associated and stored in the TEE.
  • the bank card information of the Bank of China will be returned to the user. If the user enters the index finger fingerprint for the first identity verification, the bank card information of China Construction Bank will be returned to the user.
  • the terminal system can use the generated public The key encrypts the bank card information, and stores the encrypted bank card information in the TEE in the above two ways.
  • the terminal system can generate a key pair of a public key and a private key.
  • the generated key pair may correspond to the client or the user, and the correspondence relationship of the key pair is not specifically limited here.
  • the terminal system can use the public key to encrypt the bank card information, and store the encrypted bank card information in the TEE. 2. MOTOpay payment process
  • the terminal may include a client and a terminal system.
  • the client supports MOTOpay payment.
  • the terminal may include: a PC, a portable terminal, etc.
  • the portable terminal may include: the user's mobile phone, IPAD, notebook computer, palmtop computer, and so on.
  • the terminal and the mobile terminal are not specifically limited here.
  • Step 202 In response to the payment request triggered by the user, the client invokes the terminal system to perform the first identity verification for the user.
  • the client after the client detects the payment request triggered by the user, it can respond to the payment request and send a second system call message to the terminal system.
  • the terminal system can obtain the identity information input by the user through the TUI, and perform the first identity verification on the user based on the identity information and the locally stored verification information.
  • the terminal system can detect whether the identity information of the user matches the verification information stored in the terminal system. If the identity information matches the verification information, it is determined that the first identity verification of the user is passed, and if the identity information does not match the verification information, it is determined that the first identity verification of the user fails.
  • Step 204 After the user passes the first identity verification, the terminal system obtains the stored bank card information from the trusted execution environment TEE, and returns the bank card information to the client.
  • step 204 can be implemented in multiple implementation manners.
  • Method 1 When the terminal system only stores the bank card information entered by the user in the TEE after determining that the user has passed the second identity verification, this step 204 is implemented as follows: After the terminal system determines that the user has passed the first identity verification, it can Obtain the bank card information directly from the TEE and return the bank card information to the client.
  • the terminal system can only store the bank card information of the Bank of China entered by the user in the TEE after confirming that the user has passed the identity verification.
  • the terminal system obtains the bank card information of the Bank of China from the TEE.
  • Manner 2 When the terminal system determines that the user passes the second identity verification, and stores the identifier of the identity information used for the second identity verification in association with the bank card information in the TEE, the step 204 is implemented as follows: : The terminal system obtains the identity information used for the first identity verification to obtain the second identity; obtains the bank card information associated with the second identity from the TEE.
  • the bank card information used to pay for MOTOpay input by the user on the client is Bank of China bank card information
  • the user uses thumb fingerprints for the second identity authentication.
  • the terminal system determines that the second identity authentication is passed, the user's thumb fingerprint and the bank card information of the Bank of China are associated and stored in the TEE.
  • the bank card information used to pay for MOTOpay entered by the user on the client is the bank card information of China Construction Bank
  • the user uses the index finger fingerprint to perform the second identity authentication.
  • the terminal system determines that the second identity authentication is passed the user's index finger fingerprint and the bank card information of the China Construction Bank are associated and stored in the TEE.
  • the terminal system can obtain the bank card information of the Bank of China corresponding to the thumb fingerprint from the TEE, and return the bank card information of the Chinese bank to the client. If the user inputs the index finger fingerprint to perform the first identity verification, the terminal system can obtain the bank card information of the China Construction Bank corresponding to the index finger fingerprint from the TEE, and return the information of the construction bank card to the client.
  • the terminal system can use the generated public key pair
  • the bank card information is encrypted, and the encrypted bank card information is stored in the TEE through the above two methods.
  • the terminal system determines whether it is to obtain bank card information directly from the TEE, or obtain the bank card information corresponding to the identity information identifier of the first identity authentication from the TEE. If the terminal system obtains encrypted bank card information from the TEE, Then, the private key can be used to decrypt the bank card information, and the decrypted bank card information can be returned to the client.
  • Step 206 The client executes the payment request based on the returned bank card information.
  • the client If the client receives one bank card information returned by the terminal system, it can directly execute the payment request based on the bank card information.
  • the client can display the multiple bank card information to the user so that the user can select the bank card information used for this payment. Then, the client can execute the payment request based on the bank card information selected by the user.
  • the client can select one bank card information according to a preset selection algorithm, and execute the payment request based on the selected bank card information.
  • the preset selection algorithm may include: random selection, or selection of bank card information stored recently in the TEE, and so on.
  • the preset selection algorithm is only exemplified, and it is not specifically limited.
  • the client When executing the payment request, the client can generate a payment message based on the bank card information, and then send the payment message to the bank information, so that the banking system can transfer money to the purchaser of the goods to complete the payment.
  • the execution of the payment request is merely exemplified, and it is not specifically limited.
  • the terminal system can obtain the verification information used for the second identity verification after generating the public key and the private key. In other words, the terminal system can obtain the registered user identity information currently stored locally.
  • the terminal system can perform encryption processing on the verification information of the second identity verification to obtain the first encrypted verification information.
  • the terminal system may calculate the hash value of the verification information of the second identity verification, and then use the hash value as the first encryption verification information.
  • the terminal system can also use other encryption processing methods, which are not specifically limited here.
  • the terminal system may send the first encryption verification information and the public key to the client, and the client may send the first encryption verification information and the public key to the server for storage.
  • the client can receive the challenge code issued by the server.
  • the challenge code may be that the client sends a challenge code acquisition request to the server after detecting the user's payment request, so that the server sends the challenge code to the client in response to the challenge code acquisition request.
  • the challenge code can also be issued by the server at other times after the user triggers the payment request, which is not specifically limited here.
  • the client can send the first system call request to the terminal system, and the terminal system can perform the first identity verification on the user.
  • the terminal system can obtain the verification information of the first identity verification. In other words, the terminal system can obtain the currently locally stored registered user identity information.
  • the terminal system can perform encryption processing on the verification information of the first identity verification to obtain the second encrypted verification information.
  • the terminal system may calculate the hash value of the verification information of the first identity verification, and then use the hash value as the second encryption verification information.
  • the terminal system can also use other encryption processing methods, which are not specifically limited here.
  • the terminal system uses the private key to sign the second encryption verification information and the challenge code, and sends the signature result to the client.
  • the client sends the signature result to the server, so that the server verifies the signature result.
  • the server can use the previously stored public key to decrypt the signature to obtain the second encrypted verification information and the challenge code.
  • the server can detect whether the second encrypted verification information is consistent with the previously stored first encrypted verification information, and whether the decrypted challenge code is consistent with the issued challenge code.
  • a message indicating that the signature result is passed is returned to the client.
  • the client can send the message that the signature result has passed to the terminal system, and the terminal system can determine that the signature result has passed after receiving the message that the signature result has passed, and execute the above step of obtaining the stored bank card information from the TEE.
  • the client can send the message that the signature result is not passed to the terminal system.
  • the terminal system can determine that the signature result is not passed.
  • the terminal system does not execute the above-mentioned obtaining and storing the bank card from the TEE. Informational steps.
  • the terminal system may also delete the stored bank card information from the TEE when receiving the message that the signature result is not passed.
  • the client terminal can send prompt information to the user so that the user can re-enter the bank card information.
  • the above-mentioned storage process of the bank card information can be executed, which will not be repeated here.
  • the current terminal system stores the identity information as fingerprints of the user's thumb.
  • the client After obtaining the bank card information input by the user for MOTOpay payment, the client invokes the terminal system to perform the second identity verification on the user, assuming that the verification information of the second identity verification is the thumb fingerprint stored in the current terminal system.
  • the terminal system can generate a public key and a private key.
  • the terminal system can use the public key to encrypt the bank card information and store the encrypted bank card information in the TEE.
  • the terminal system can perform a hash operation on the thumb fingerprint to obtain the hash value of the thumb fingerprint, and upload the hash value and public key of the thumb fingerprint to the server through the client for storage.
  • the identity information stored in the current terminal system is the user's thumb fingerprint.
  • the client invokes the terminal system to perform the first identity verification for the user, and the verification information of the first identity verification is the thumb fingerprint stored in the current terminal system.
  • the client can obtain the challenge code issued by the server, and the client can send the challenge code to the terminal system.
  • the terminal system After the user passes the first identity verification, the terminal system performs a hash operation on the verification information of the first identity verification (that is, the thumb fingerprint) to obtain the hash value of the thumb fingerprint.
  • the terminal system can sign the hash value of the thumb fingerprint and the challenge code, and send the signature result to the server through the client.
  • the server uses the previously stored public key to decrypt the signature result to obtain the thumb hash fingerprint and the challenge code. Because the thumb hash fingerprint obtained by decryption (ie the second encrypted verification information) and the previously stored thumb hash fingerprint (ie The first encrypted verification information) is consistent, and the challenge code obtained by decryption is consistent with the issued challenge code, the server can determine that the signature result is passed, and return a message that the signature result passed to the client. After receiving the message that the signature result passed back by the client, the terminal system can obtain the bank card information from the TEE and return it to the client.
  • the user adds an index finger fingerprint on the user terminal, and the identity information stored in the current terminal system is the user's thumb fingerprint and index finger fingerprint.
  • the client invokes the terminal system to perform the first identity verification for the user, and the verification information of the first identity verification is the thumb fingerprint and the index finger fingerprint stored in the current terminal system.
  • the client can obtain the challenge code issued by the server, and the client can send the challenge code to the terminal system.
  • the terminal system After the user passes the first identity verification, the terminal system performs a hash operation on the verification information of the first identity verification (that is, thumb fingerprint and index finger fingerprint) to obtain the hash values of the thumb fingerprint and the index finger fingerprint.
  • the verification information of the first identity verification that is, thumb fingerprint and index finger fingerprint
  • the terminal system can sign the hash value and challenge code of the thumb fingerprint and index finger fingerprint, and send the signature result to the server through the client.
  • the server uses the previously stored public key to decrypt the signature result to obtain the hash value of the thumb fingerprint and index finger fingerprint and the challenge code. Because of the hash value of the thumb fingerprint and index finger fingerprint obtained by decryption (that is, the second encrypted verification information) It is inconsistent with the previously stored hash value of the thumb fingerprint (ie the first encrypted verification information), and the decrypted challenge code is consistent with the issued challenge code.
  • the server can determine that the signature result is not passed and return the signature result to the client Failed message.
  • the terminal system does not obtain the bank card information from the TEE after receiving the message that the signature result is not passed from the client.
  • the client sends a prompt message to the user to prompt the user to re-enter the bank card information.
  • the above method can realize that when a user adds or deletes a fingerprint, the user has to re-enter the bank card information.
  • the user's bank card information is stored in the TEE of the user terminal.
  • the user terminal can call the bank card information in the TEE to complete the payment.
  • the bank card information is stored in the TEE of the user terminal, and the user can enter the bank card information and call the bank card information through identity verification, thereby greatly ensuring the security of the bank card information.
  • Figure 3 is a flow chart of a method for implementing MOTOpay shown in an exemplary embodiment of this specification.
  • the method can be applied to a client supporting MOTOpay payment carried on a terminal.
  • the method can include the following steps .
  • Step 302 In response to the payment request triggered by the user, the client sends a first system call request to the terminal system, so that the terminal system responds to the first system call request to perform first identity verification on the user, and After the user passes the first identity verification, the stored bank card information is obtained from the trusted execution environment TEE, and the bank card information is returned to the client.
  • step 202 For details, please refer to the description in step 202 to step 204 above, which will not be repeated here.
  • Step 304 The client executes the payment request based on the returned bank card information.
  • step 206 For details, please refer to the description in step 206 above, which will not be repeated here.
  • the client after obtaining the bank card information input by the user for MOTOpay payment, the client sends a second system call request to the terminal system, so that the terminal system responds to the first system call request. 2.
  • the system calls a request to perform a second identity verification on the user, and after the user passes the second identity verification, store the bank card information in the TEE.
  • the user's bank card information is stored in the TEE of the user terminal.
  • the user terminal can call the bank card information in the TEE to complete the payment.
  • FIG. 4 is a flowchart of a method for implementing MOTOpay according to an exemplary embodiment of this specification.
  • the method can be applied to a terminal system of a terminal, and the terminal is equipped with a client that supports MOTOpay payment.
  • Step 402 In response to the first system call request sent by the client, the terminal system performs first identity verification on the user; for details, please refer to the above step 202, which will not be repeated here.
  • Step 404 After the user passes the first identity verification, the terminal system obtains the stored bank card information from the TEE. For details, refer to step 204 above, which will not be repeated here.
  • Step 406 The terminal system returns the bank card information to the client, so that the client executes the user-triggered payment request based on the bank card information. For details, refer to step 206 above, which will not be repeated here.
  • the terminal system may also perform a second identity verification on the user in response to the second system call request sent by the client; the second system call request is that the client is acquiring The bank card information for MOTOpay payment input by the user is sent after the user passes the second identity verification, and the bank card information is stored in the TEE.
  • the user's bank card information is stored in the TEE of the user terminal.
  • the user terminal can call the bank card information in the TEE to complete the payment.
  • Fig. 5 is a flowchart of another bank card information storage method shown in an exemplary embodiment of this specification, and the method can be applied to a terminal.
  • the terminal includes: client and terminal system that support MOTOpay payment.
  • the method may include the steps shown below.
  • Step 501 The client terminal obtains the bank card information input by the user for MOTOpay payment;
  • Step 502 The client sends a first system call request to the terminal system
  • Step 503 The terminal system performs a second identity verification on the user in response to the first system call request;
  • Step 504 After the terminal system passes the second identity verification, the terminal system generates a public key and a private key.
  • Step 505 The terminal system uses the public key to encrypt the bank card information, stores the encrypted bank card information in the TEE, and obtains the verification information of the second identity verification, and encrypts the verification information to obtain the first encryption verification information.
  • Step 506 The terminal system sends the first encryption verification information and the public key to the client;
  • Step 507 The client sends the first encryption verification information and the public key to the server;
  • Step 508 The server stores the first encryption verification information and the public key.
  • Fig. 6 is a flowchart of a MOTOpay payment method shown in an exemplary embodiment of this specification, and the method can be applied to a terminal.
  • the terminal includes: client and terminal system that support MOTOpay payment.
  • the method may include the steps shown below.
  • Step 601 The client detects a payment request triggered by the user.
  • Step 602 In response to the payment request, the client sends a challenge code acquisition request to the server.
  • Step 603 The server sends the challenge code to the client in response to the challenge code acquisition request.
  • Step 604 In response to the payment request, the client sends a second system call request and a challenge code to the terminal system.
  • the client can send the second system call request and the challenge code to the terminal system at the same time.
  • the client can also send a second system call request to the terminal system when detecting a payment request triggered by the user. After receiving the challenge code issued by the server, the client sends the challenge code to the terminal system.
  • the sending of the two is not specifically limited here, as long as it is logical.
  • Step 605 In response to the second system call request, the terminal system performs the first identity verification on the user.
  • Step 606 When the user passes the first identity verification, the terminal system obtains verification information for the first identity verification, and encrypts the verification information to obtain second encrypted verification information.
  • Step 607 The terminal system uses the private key to sign the second encryption verification information and the challenge code.
  • Step 608 The terminal system sends the signature result to the client.
  • Step 609 The client sends the signature result to the server.
  • Step 610 The server uses the stored public key to decrypt the signature result to obtain the second encrypted verification information and the challenge code.
  • Step 611 When the second encryption verification information is consistent with the stored first encryption verification information, and the decrypted challenge code is consistent with the issued challenge code, the server sends a message that the signature result is passed to the client.
  • Step 612 The client sends a message that the signature result is passed to the terminal system.
  • Step 613 After receiving the message that the signature result is passed, the terminal system obtains the bank card information from the TEE.
  • Step 614 The terminal system returns the bank card information to the client.
  • Step 615 The client executes a payment request based on the bank card information.
  • the user's bank card information is stored in the TEE of the user terminal.
  • the user terminal can call the bank card information in the TEE to complete the payment.
  • the bank card information is stored in the TEE of the user terminal, and the user can enter the bank card information and call the bank card information through the identity verification, thereby greatly ensuring the security of the bank card information.
  • this specification also provides an embodiment of the device for implementing MOTOpay.
  • the embodiments of the MOTOpay device in this specification can be applied to electronic equipment.
  • the device embodiments can be implemented by software, or can be implemented by hardware or a combination of software and hardware.
  • Taking software implementation as an example as a logical device, it is formed by reading the corresponding computer program instructions in the non-volatile memory into the memory through the processor of the electronic device where it is located.
  • Figure 7 a hardware structure diagram of the electronic equipment where the MOTOpay device is implemented in this specification, except for the processor, memory, network interface, and non-volatile memory shown in Figure 7.
  • the electronic device in which the device is located in the embodiment usually may include other hardware according to the actual function of the electronic device, which will not be repeated here.
  • FIG. 8 is a block diagram of a device for implementing MOTOpay according to an exemplary embodiment of this specification.
  • the device is applied to a client supporting MOTOpay payment carried on a terminal, and includes a sending module 801 for sending a first system call request to the terminal system in response to a payment request triggered by a user, so that the terminal system responds to the
  • the first system call request is to perform first identity verification on the user, and after the user passes the first identity verification, obtain the stored bank card information from the trusted execution environment TEE, and return the bank card information to Client; execution module 802, used to execute the payment request based on the returned bank card information.
  • the sending module 801 is configured to send a second system call request to the terminal system after acquiring the bank card information input by the user for MOTOpay payment, so that the terminal system can respond to the The second system calls a request to perform a second identity verification on the user, and after the user passes the second identity verification, the bank card information is stored in the TEE.
  • the TEE further includes: a public key and a private key generated by the user terminal system after the user passes the second identity verification.
  • the device also includes an upload module (not shown in FIG. 8), which is used to combine the first encrypted verification information and the public key when receiving the first encrypted verification information and the public key sent by the terminal system. Upload to the server; the first encrypted verification information is obtained by encrypting the verification information of the second identity verification.
  • the receiving module (not shown in Figure 8) is used to receive the challenge code issued by the server after the user triggers the payment request, and send the challenge code to the terminal system so that the terminal system can After passing the first identity verification, the user obtains verification information for the first identity verification, encrypts the verification information to obtain second encrypted verification information, and uses the private key to encrypt the second verification information Sign the challenge code.
  • the upload module is also used to receive the signature result sent by the terminal system, and send the signature result to the server, so that the server verifies the signature result, so as to trigger the terminal system to pass the verification of the signature result At the time, obtain the stored bank card information from the TEE.
  • FIG. 9 is a block diagram of another device for implementing MOTOpay shown in an exemplary embodiment of this specification.
  • the device is applied to a terminal system of a terminal, and the terminal is loaded with a client that supports MOTOpay payment.
  • the device includes: a verification module 901 for responding to the first system call request sent by the client to perform the first system call to the user. An identity verification; an obtaining module 902, used to obtain the stored bank card information from the TEE after the user passes the first identity verification; a return module 903, used to return the bank card information to the client, so that The client executes a payment request triggered by the user based on the bank card information.
  • the verification module is further configured to perform a second identity verification on the user in response to a second system call request sent by the client; the second system call request is that the client obtains the user It is sent after entering the bank card information used for MOTOpay payment.
  • the device also includes a storage module (not shown in FIG. 9) for storing the bank card information in the TEE after the user passes the second identity verification.
  • a storage module after storing the bank card information in the TEE, is used to generate a public key and a private key in the TEE after the user passes the second identity verification; use the public key to pair the TEE
  • the bank card information is encrypted, and the encrypted bank card information is stored in the TEE.
  • the obtaining module 902 is used to decrypt the encrypted bank card information by using the private key corresponding to the client when obtaining the stored encrypted bank card information from the TEE to obtain the bank card information.
  • the device further includes an encryption module (not shown in FIG. 9) for obtaining verification information for second identity verification after generating the public key and the private key, and verifying the verification information Encryption processing is performed to obtain first encrypted verification information; the first encrypted verification information and the public key are uploaded to the server for storage through the client.
  • the device also includes a signature module (not shown in FIG. 9) for obtaining verification information for the first identity verification after the user passes the first identity verification, and encrypting the verification information to obtain the first identity verification. 2.
  • Encryption verification information use the private key to sign the second encryption verification information and the challenge code, and send the signature result to the server through the client, so that the server verifies the signature result;
  • the challenge code is issued by the server after the user triggers the payment request.
  • the obtaining module 902 is used to obtain the stored bank card information from the TEE when the signature result is verified.
  • the storage module when storing the bank card information in the TEE, is used to obtain the identity information used for the second identity verification to obtain the first identity;
  • the card information and the first identifier are stored in the TEE in association with each other.
  • the obtaining module 902 is used to obtain the identifier of the identity information used for the first identity verification when obtaining the stored bank card information from the TEE to obtain the second identifier; to obtain the second identifier association from the TEE Bank card information.
  • the device further includes: a setting module (not shown in FIG. 9), which is used to set the aging duration for the bank card information stored in the TEE; and a deletion module (not shown in FIG. 9), which is used to When it is detected that the aging time of the bank card information stored in the TEE is reached, the bank card information is deleted; or when it is detected that the use of the bank card information reaches a preset use condition, the bank card information is deleted.
  • a setting module (not shown in FIG. 9)
  • a deletion module (not shown in FIG. 9) which is used to When it is detected that the aging time of the bank card information stored in the TEE is reached, the bank card information is deleted; or when it is detected that the use of the bank card information reaches a preset use condition, the bank card information is deleted.
  • This specification also provides an electronic device, including: a processor; and a memory for storing executable instructions of the processor.
  • the processor implements the above-mentioned method for implementing MOTOpay by running the executable instruction.
  • This specification also provides a computer-readable storage medium on which computer instructions are stored. When the instructions are executed by a processor, the above-mentioned method for implementing MOTOpay is realized.
  • this specification provides a method for implementing identity authentication, which is used to enable a user to perform identity authentication without inputting user authentication information, but only by inputting biometric characteristics such as fingerprints to achieve identity authentication.
  • the terminal may include a client and a terminal system.
  • the terminal may include: a PC, a portable terminal, etc.
  • the portable terminal may include: the user's mobile phone, IPAD, notebook computer, palmtop computer, and so on.
  • the terminal and the mobile terminal are not specifically limited here.
  • the method may include the steps shown below.
  • Step 1002 After obtaining the user authentication information input by the user for identity authentication, the client invokes the terminal system to perform a second local identity verification on the user.
  • User authentication information includes: user's certificate number, user's identity privacy information, such as user name, password, and so on.
  • the user authentication information is only exemplified here, and it is not specifically limited.
  • the client terminal of the terminal When the user logs in to the application for the first time, he can input user authentication information on the client terminal of the terminal. After obtaining the user authentication information, the client can send a second system call request to the terminal system. The terminal system may obtain the user information of the user in response to the second system call request, and perform a second local identity verification on the user based on the user information and the locally stored verification information.
  • User information may include information such as the user's biological characteristics. For example, the user's fingerprint, the user's facial features, the user's iris features, and so on.
  • the user information is only exemplified here, and it is not specifically limited.
  • the terminal system locally stores the user's registered verification information, such as the user's biometric information of the registered user, such as the registered user's fingerprint, facial features, and iris features.
  • the verification information stored locally in the terminal system is merely exemplified, and no specific limitation is imposed on it.
  • the terminal system can detect whether the user's identity information matches the verification information stored in the terminal system. If the identity information matches the verification information, it is determined that the user's second local identity verification is passed, and if the identity information does not match the verification information, it is determined that the user's second local identity verification fails.
  • Step 1004 After the user passes the second local identity verification, the terminal system stores the user authentication information in the TEE.
  • Method 1 When storing the user authentication information in the TEE, the terminal system can only store the user authentication information in the TEE, and any biological characteristics of the user can call the user authentication information in the TEE.
  • the terminal system may only store the user authentication information in the TEE.
  • identity authentication whether the user enters a thumb fingerprint or an index finger fingerprint for the first local identity verification, the call is the ID number stored in the TEE.
  • the terminal system can obtain the biometric identification used for the second local identity verification to obtain the first identification. Then, the terminal system can store the encrypted user authentication information and the first identification in the TEE in association with each other.
  • Such associative storage can make the user's biometric identification and different user authentication information be bound one by one.
  • different user authentication information can be called based on the different biological characteristics of the user.
  • the user's biological characteristics include thumb fingerprints and index finger fingerprints
  • user authentication information includes: the user's identity number, and the user's social security card number.
  • the thumb fingerprint and the user's ID number are associated and stored in the TEE
  • the index finger fingerprint and the user's social security card number are associated and stored in the TEE.
  • the terminal system can use the generated public key
  • the user authentication information is encrypted, and the encrypted user authentication information is stored in the TEE in the above two ways.
  • the terminal system may generate a key pair of a public key and a private key.
  • the generated key pair may correspond to the client or the user, and the correspondence relationship of the key pair is not specifically limited here.
  • the terminal system can use the public key to encrypt the user authentication information, and store the encrypted user authentication information in the TEE.
  • the terminal may include a client and a terminal system.
  • Step 1102 In response to the identity authentication request triggered by the user, the client invokes the terminal system to perform local first local identity verification on the user.
  • the client after the client detects the identity authentication request triggered by the user, it can send a second system call message to the terminal system in response to the identity authentication request.
  • the terminal system can obtain the biometric input by the user through the TUI, and perform the first local identity verification on the user according to the biometric feature and the locally stored verification information.
  • the terminal system can detect whether the biological characteristics of the user match the verification information stored in the terminal system. If the biological characteristics match the verification information, it is determined that the local first local identity verification is passed, and if the biological characteristics do not match the verification information, it is determined that the local first local identity verification fails.
  • Step 1104 After the user passes the first local identity verification, the terminal system obtains the stored user authentication information from the trusted execution environment TEE, and returns the user authentication information to the client.
  • step 1104 can be implemented in multiple implementation manners.
  • this step 1104 may be: after the terminal system has determined that the user has passed the first local identity verification, The user authentication information can be obtained directly from the TEE, and the user authentication information can be returned to the client.
  • the terminal system determines that the user passes the identity verification, only the ID number entered by the user can be stored in the TEE.
  • the terminal system obtains the user's ID number from the TEE.
  • step 1104 After the terminal system determines that the user has passed the second local identity verification, the biometric identification used for the second local identity verification is associated with the user authentication information and stored in the TEE, then step 1104 is implemented The method is: the terminal system obtains the biometric identification used for the first local identity verification to obtain the second identification; and obtains the user authentication information associated with the second identification from the TEE.
  • the user's biological characteristics include thumb fingerprints and index finger fingerprints
  • user authentication information includes: the user's identity number, and the user's social security card number.
  • the thumb fingerprint and the user's ID number are associated and stored in the TEE
  • the index finger fingerprint and the user's social security card number are associated and stored in the TEE.
  • the terminal system can use the generated The public key encrypts the user authentication information, and stores the encrypted user authentication information in the TEE in the above two ways.
  • the terminal system determines whether it is to obtain user authentication information directly from the TEE, or obtain user authentication information corresponding to the biometric identification of the first identity authentication from the TEE. If the terminal system obtains encrypted user authentication information from the TEE, The private key can be used to decrypt the user authentication information, and the decrypted user authentication information can be returned to the client.
  • Step 1106 The client executes the identity authentication request based on the returned user authentication information.
  • the client When performing a payment request identity authentication request, the client can generate a payment message identity authentication message based on the bank card information user authentication information, and then send the payment message identity authentication message to the server to perform identity authentication by the server.
  • the terminal system can obtain the verification information used for the second local identity verification after generating the public key and the private key. In other words, the terminal system can obtain the registered user biometrics currently stored locally.
  • the terminal system can perform encryption processing on the verification information of the second local identity verification to obtain the first encrypted verification information.
  • the terminal system may calculate the hash value of the verification information of the second local identity verification, and then use the hash value as the first encryption verification information.
  • the terminal system can also use other encryption processing methods, which are not specifically limited here.
  • the terminal system may send the first encryption verification information and the public key to the client, and the client may send the first encryption verification information and the public key to the server for storage.
  • the client can receive the challenge code issued by the server.
  • the challenge code may be that the client sends a challenge code acquisition request to the server after detecting the user's identity authentication request, so that the server sends the challenge code to the client in response to the challenge code acquisition request.
  • the challenge code can also be issued by the server at other times after the user triggers the identity authentication request, which is not specifically limited here.
  • the client can send the first system call request to the terminal system, and the terminal system can perform the first local identity verification on the user.
  • the terminal system can obtain the verification information of the first local identity verification. In other words, the terminal system can obtain the biometric characteristics of the registered user currently stored locally.
  • the terminal system can perform encryption processing on the verification information of the first local identity verification to obtain the second encrypted verification information.
  • the terminal system may calculate the hash value of the verification information of the first local identity verification, and then use the hash value as the second encryption verification information.
  • the terminal system can also use other encryption processing methods, which are not specifically limited here.
  • the terminal system uses the private key to sign the second encryption verification information and the challenge code, and sends the signature result to the client.
  • the client sends the signature result to the server, so that the server verifies the signature result.
  • the server can use the previously stored public key to decrypt the signature to obtain the second encrypted verification information and the challenge code.
  • the server can detect whether the second encrypted verification information is consistent with the previously stored first encrypted verification information, and whether the decrypted challenge code is consistent with the issued challenge code.
  • a message indicating that the signature result is passed is returned to the client.
  • the client can send the message that the signature result passed to the terminal system, and the terminal system can determine that the signature result is passed after receiving the message that the signature result has passed, and execute the above-mentioned step of obtaining stored user authentication information from the TEE.
  • the terminal system can send the message that the signature result is not passed to the terminal system.
  • the terminal system can determine that the signature result is not passed, and the terminal system does not perform the above-mentioned user authentication obtained from the TEE. Informational steps.
  • the terminal system may also delete the stored user authentication information from the TEE when receiving the message that the signature result is not passed.
  • the relevant part can refer to the part of the description of the method embodiment.
  • the device embodiments described above are merely illustrative, and the units described as separate parts may or may not be physically separated, and the parts displayed as units may or may not be physical units, which can be located in one place. , Or it can be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in this specification. Those of ordinary skill in the art can understand and implement it without creative work.
  • a typical implementation device is a computer.
  • the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game console. , Tablet computers, wearable devices, or a combination of any of these devices.

Abstract

A method and an apparatus for implementing MOTOpay, and an electronic device, comprising: in response to a payment request triggered by a user, a client terminal invokes a terminal system to perform first identity verification of the user (202); after the user passes the first identity verification, the terminal system acquires stored bank card information from a trusted execution environment TEE, and returns the bank card information to the client terminal (204); and, on the basis of the returned bank card information, the client terminal executes the payment request (206).

Description

实现MOTOpay的方法、装置及电子设备Method, device and electronic equipment for implementing MOTOpay 技术领域Technical field
本说明书涉及计算机通信领域,尤其涉及实现MOTOpay的方法、装置及电子设备。This manual relates to the field of computer communication, especially to the method, device and electronic equipment for implementing MOTOpay.
背景技术Background technique
MOTOpay是一种信用卡远程收款系统,可实现商家与消费者非面对面的消费。例如,消费者通过电话、邮件、传真或者网站等方式订购商品时,只需要输入信用卡信息,即可完成支付。通常,国际电商网站大多支持该支付方式。MOTOpay is a credit card remote collection system that can realize non-face-to-face consumption between merchants and consumers. For example, when consumers order goods via telephone, mail, fax, or website, they only need to enter credit card information to complete the payment. Generally, most international e-commerce websites support this payment method.
发明内容Summary of the invention
根据本说明书的第一方面,提供一种实现MOTOpay的方法,应用于终端,所述终端装载有支持MOTOpay支付的客户端,所述方法包括:客户端响应于用户触发的支付请求,调用终端系统对所述用户进行第一身份验证;所述终端系统在所述用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给所述客户端;所述客户端基于返回的所述银行卡信息执行所述支付请求。According to the first aspect of this specification, a method for implementing MOTOpay is provided, which is applied to a terminal, the terminal is loaded with a client that supports MOTOpay payment, and the method includes: the client calls the terminal system in response to a payment request triggered by the user Perform a first identity verification on the user; after the user passes the first identity verification, the terminal system obtains the stored bank card information from the trusted execution environment TEE, and returns the bank card information to the Client; The client executes the payment request based on the returned bank card information.
可选的,所述方法还包括:所述客户端在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,调用所述终端系统对所述用户进行第二身份验证;所述终端系统在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。Optionally, the method further includes: after the client terminal obtains the bank card information input by the user for MOTOpay payment, calling the terminal system to perform a second identity verification on the user; the terminal After the user passes the second identity verification, the system stores the bank card information in the TEE.
可选的,所述将所述银行卡信息存储到所述TEE中,包括:在所述用户通过第二身份验证后,在所述TEE中生成公钥和私钥;采用所述公钥对所述银行卡信息进行加密,并将加密银行卡信息存储到所述TEE中;所述从可信执行环境TEE中获取存储的银行卡信息,包括:从所述TEE中获取已存储的所述加密银行卡信息;采用所述客户端对应的私钥对所述加密银行卡信息进行解密,得到所述银行卡信息。Optionally, the storing the bank card information in the TEE includes: after the user passes the second identity verification, generating a public key and a private key in the TEE; and using the public key pair The bank card information is encrypted, and the encrypted bank card information is stored in the TEE; the obtaining the stored bank card information from the trusted execution environment TEE includes: obtaining the stored bank card information from the TEE Encrypting bank card information; using the private key corresponding to the client to decrypt the encrypted bank card information to obtain the bank card information.
可选的,所述方法还包括:所述终端系统在生成所述公钥和私钥后,获取用于第二身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;所述终端系统将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;所述方法还包括:所述客户端接收所述服务端在所述用户触发所述支付请求后下发的挑战码;所述终端系统在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;所述终端系统采用所述私钥对所述第二加密验证信息和所述挑战码进行签名,并通过所述客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;所述从可信执行环境TEE中获取存储的银行卡信息,包括:在所述签名结果通过验证时,从TEE中获取存储的银行卡信息。Optionally, the method further includes: after generating the public key and the private key, the terminal system obtains verification information for second identity verification, and encrypts the verification information to obtain the first encryption Verification information; the terminal system uploads the first encrypted verification information and the public key to the server through the client for storage; the method further includes: the client receives the server on the user A challenge code issued after triggering the payment request; after the user passes the first identity verification, the terminal system obtains verification information for the first identity verification, and encrypts the verification information to obtain the first identity verification. 2. Encryption verification information; the terminal system uses the private key to sign the second encryption verification information and the challenge code, and sends the signature result to the server through the client, so that the The server verifies the signature result; the obtaining the stored bank card information from the trusted execution environment TEE includes: obtaining the stored bank card information from the TEE when the signature result passes the verification.
可选的,所述将所述银行卡信息存储到所述TEE中,包括:所述终端系统获取用于所述第二身份验证的身份信息的标识,得到第一标识;所述终端系统将所述银行卡信息和所述第一标识关联存储到所述TEE中;所述从可信执行环境TEE中获取存储的银行卡信息,包括:所述终端系统获取用于所述第一身份验证的身份信息的标识,得到第二标识,并从TEE中获取所述第二标识关联的银行卡信息。Optionally, the storing the bank card information in the TEE includes: the terminal system obtains the identity information used for the second identity verification to obtain the first identity; and the terminal system The bank card information and the first identifier are associated and stored in the TEE; the obtaining the stored bank card information from the trusted execution environment TEE includes: obtaining by the terminal system for the first identity verification To obtain the second identity, and obtain the bank card information associated with the second identity from the TEE.
可选的,所述方法还包括:所述终端系统为存储在所述TEE中的银行卡信息设置老化时长;所述终端系统在检测到所述TEE中存储的银行卡信息的老化时长达到时,删除所述银行卡信息;或者,所述终端系统在检测到所述银行卡信息的使用情况达到预设 使用条件时,删除所述银行卡信息;或者,所述客户端在接收到用户的删除指示时,调用终端系统删除所述银行卡信息。Optionally, the method further includes: the terminal system sets an aging time length for the bank card information stored in the TEE; when the terminal system detects that the aging time length of the bank card information stored in the TEE reaches , Delete the bank card information; or, when the terminal system detects that the use of the bank card information reaches a preset use condition, delete the bank card information; or, the client terminal receives the user’s When deleting the instruction, call the terminal system to delete the bank card information.
可选的,所述银行卡信息包括如下至少之一:银行卡卡号、姓名、卡有效期、CVV码。Optionally, the bank card information includes at least one of the following: bank card number, name, card validity period, and CVV code.
根据本说明书的第二方面,提供一种实现MOTOpay的方法,应用于终端上搭载的支持MOTOpay支付的客户端,所述方法包括:响应于用户触发的支付请求,向终端系统发送第一系统调用请求,以由所述终端系统响应于所述第一系统调用请求,对所述用户进行第一身份验证,并在所述用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给所述客户端;基于返回的所述银行卡信息执行所述支付请求。According to the second aspect of this specification, a method for implementing MOTOpay is provided, which is applied to a client supporting MOTOpay payment carried on a terminal. The method includes: in response to a payment request triggered by a user, sending a first system call to the terminal system Request, the terminal system responds to the first system call request to perform first identity verification on the user, and after the user passes the first identity verification, obtain the stored information from the trusted execution environment TEE Bank card information, and return the bank card information to the client; execute the payment request based on the returned bank card information.
可选的,所述方法还包括:在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,向终端系统发送第二系统调用请求,以由所述终端系统响应于所述第二系统调用请求,对所述用户进行第二身份验证,并在所述用户通过第二身份验证后,将所述银行卡信息存储到TEE中。Optionally, the method further includes: after acquiring the bank card information input by the user for MOTOpay payment, sending a second system call request to the terminal system, so that the terminal system responds to the second The system calls a request to perform a second identity verification on the user, and after the user passes the second identity verification, the bank card information is stored in the TEE.
可选的,所述TEE中还包括:用户终端系统在所述用户通过第二身份验证后生成的公钥和私钥;所述方法还包括:在接收到终端系统发送的第一加密验证信息和所述公钥时,将所述第一加密验证信息和所述公钥上传至服务端;所述第一加密验证信息是对所述第二身份验证的验证信息加密处理得到;接收所述服务端在所述用户触发所述支付请求后下发的挑战码,并将所述挑战码发送给所述终端系统,以由所述终端系统在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息,并采用所述私钥对所述第二加密验证信息和所述挑战码进行签名;接收所述终端系统发送的签名结果,并将所述签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证,以触发所述终端系统在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。Optionally, the TEE further includes: a public key and a private key generated by the user terminal system after the user passes the second identity verification; the method further includes: receiving the first encrypted verification information sent by the terminal system And the public key, upload the first encrypted verification information and the public key to the server; the first encrypted verification information is obtained by encrypting the verification information of the second identity verification; receiving the The server issues a challenge code after the user triggers the payment request, and sends the challenge code to the terminal system so that the terminal system can obtain the user account after the user passes the first identity verification. Verify the verification information of the first identity verification, encrypt the verification information to obtain the second encrypted verification information, and use the private key to sign the second encrypted verification information and the challenge code; The signature result sent by the terminal system, and the signature result is sent to the server, so that the server verifies the signature result, so as to trigger the terminal system when the signature result passes the verification, Obtain the stored bank card information from the TEE.
根据本说明书的第三方面,提供一种实现MOTOpay的方法,应用于终端的终端系统,所述终端装载有支持MOTOpay支付的客户端,所述方法包括:响应于所述客户端发送的第一系统调用请求,对于所述用户进行第一身份验证;在所述用户通过第一身份验证后,从TEE中获取存储的银行卡信息;将所述银行卡信息返回给客户端,以由所述客户端基于所述银行卡信息执行用户触发的支付请求。According to the third aspect of this specification, a method for implementing MOTOpay is provided, which is applied to a terminal system of a terminal, the terminal is loaded with a client that supports MOTOpay payment, and the method includes: responding to a first sent by the client The system calls a request to perform the first identity verification for the user; after the user passes the first identity verification, obtain the stored bank card information from the TEE; return the bank card information to the client, so that the The client executes the payment request triggered by the user based on the bank card information.
可选的,所述方法还包括:响应于客户端发送的第二系统调用请求,对所述用户进行第二身份验证;所述第二系统调用请求是所述客户端在获取到用户输入的用于MOTOpay支付的银行卡信息后发送的;在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。Optionally, the method further includes: in response to a second system call request sent by the client, performing a second identity verification on the user; the second system call request is obtained by the client after the user input After the bank card information used for MOTOpay payment is sent; after the user passes the second identity verification, the bank card information is stored in the TEE.
可选的,所述将所述银行卡信息存储到所述TEE中,包括:在所述用户通过第二身份验证后,在TEE中生成公钥和私钥;采用所述公钥对所述银行卡信息进行加密,并将加密银行卡信息存储到TEE中;所述从TEE中获取存储的银行卡信息,包括:从所述TEE中获取已存储的所述加密银行卡信息;采用所述客户端对应的私钥对所述加密银行卡信息进行解密,得到所述银行卡信息。Optionally, the storing the bank card information in the TEE includes: after the user passes the second identity verification, generating a public key and a private key in the TEE; and using the public key to pair the TEE The bank card information is encrypted, and the encrypted bank card information is stored in the TEE; the obtaining the stored bank card information from the TEE includes: obtaining the stored encrypted bank card information from the TEE; The private key corresponding to the client decrypts the encrypted bank card information to obtain the bank card information.
可选的,所述方法还包括:在生成所述公钥和私钥后,获取用于第二身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;所述方法还包括:在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;采用所述私钥对所述第二加密验证信息和已接收到的挑战 码进行签名,并通过客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;所述挑战码由所述服务端在所述用户触发所述支付请求后下发;所述从TEE中获取存储的银行卡信息,包括:在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。Optionally, the method further includes: after generating the public key and the private key, obtaining verification information for second identity verification, and encrypting the verification information to obtain the first encrypted verification information; The first encrypted verification information and the public key are uploaded to the server for storage through the client; the method further includes: after the user passes the first identity verification, obtaining verification information for the first identity verification , And encrypt the verification information to obtain second encrypted verification information; use the private key to sign the second encrypted verification information and the received challenge code, and send the signature result to the client through the client The server side verifies the signature result by the server side; the challenge code is issued by the server side after the user triggers the payment request; the stored bank is obtained from the TEE The card information includes: obtaining the stored bank card information from the TEE when the signature result is verified.
可选的,所述将所述银行卡信息存储到所述TEE中,包括:获取用于所述第二身份验证的身份信息的标识,得到第一标识;将所述银行卡信息和所述第一标识关联存储到TEE中;所述从TEE中获取存储的银行卡信息,包括:获取用于所述第一身份验证的身份信息的标识,得到第二标识;从TEE中获取所述第二标识关联的银行卡信息。Optionally, the storing the bank card information in the TEE includes: acquiring an identifier of the identity information used for the second identity verification to obtain the first identifier; and combining the bank card information with the The first identity is associated and stored in the TEE; the obtaining the stored bank card information from the TEE includes: obtaining the identity of the identity information used for the first identity verification to obtain the second identity; obtaining the first identity from the TEE 2. Identify the associated bank card information.
可选的,所述方法还包括:为存储在所述TEE中的银行卡信息设置老化时长;在检测到所述TEE中存储的银行卡信息的老化时长达到时,删除所述银行卡信息;或者,在检测到所述银行卡信息的使用情况达到预设使用条件时,删除所述银行卡信息。Optionally, the method further includes: setting an aging duration for the bank card information stored in the TEE; deleting the bank card information when it is detected that the aging duration of the bank card information stored in the TEE reaches; Or, when it is detected that the use of the bank card information reaches a preset use condition, the bank card information is deleted.
根据本说明书的第四方面,提供一种实现MOTOpay的装置,应用于终端上搭载的支持MOTOpay支付的客户端,所述装置包括:发送模块,用于响应于用户触发的支付请求,向终端系统发送第一系统调用请求,以由所述终端系统响应于所述第一系统调用请求,对所述用户进行第一身份验证,并在所述用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给所述客户端;执行模块,用于基于返回的所述银行卡信息执行所述支付请求。According to the fourth aspect of this specification, a device for implementing MOTOpay is provided, which is applied to a client supporting MOTOpay payment on a terminal. The device includes: a sending module for sending a payment request to the terminal system in response to a payment request triggered by a user. Send a first system call request, so that the terminal system responds to the first system call request to perform a first identity verification on the user, and after the user passes the first identity verification, from the trusted execution environment The TEE obtains the stored bank card information and returns the bank card information to the client; the execution module is configured to execute the payment request based on the returned bank card information.
可选的,所述发送模块,用于在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,向终端系统发送第二系统调用请求,以由所述终端系统响应于所述第二系统调用请求,对所述用户进行第二身份验证,并在所述用户通过第二身份验证后,将所述银行卡信息存储到TEE中。Optionally, the sending module is configured to send a second system call request to the terminal system after acquiring the bank card information input by the user for MOTOpay payment, so that the terminal system responds to the first 2. A system call request to perform a second identity verification on the user, and after the user passes the second identity verification, store the bank card information in the TEE.
可选的,所述TEE中还包括:用户终端系统在所述用户通过第二身份验证后生成的公钥和私钥;所述装置还包括:上传模块,用于在接收到终端系统发送的第一加密验证信息和所述公钥时,将所述第一加密验证信息和所述公钥上传至服务端;所述第一加密验证信息是由对所述第二身份验证的验证信息加密处理得到;接收模块,用于接收所述服务端在所述用户触发所述支付请求后下发的挑战码,并将所述挑战码发送给所述终端系统,以由所述终端系统在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息,并采用所述私钥对所述第二加密验证信息和所述挑战码进行签名;所述上传模块,还用于接收所述终端系统发送的签名结果,并将所述签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证,以触发所述终端系统在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。Optionally, the TEE further includes: a public key and a private key generated by the user terminal system after the user passes the second identity verification; the device further includes: an upload module, which is used to send the terminal system after receiving the public key and the private key. When the first encrypted verification information and the public key are encrypted, the first encrypted verification information and the public key are uploaded to the server; the first encrypted verification information is encrypted by the verification information for the second identity verification The processing is obtained; the receiving module is configured to receive the challenge code issued by the server after the user triggers the payment request, and send the challenge code to the terminal system so that the terminal system can After the user passes the first identity verification, obtains verification information for the first identity verification, encrypts the verification information to obtain second encrypted verification information, and uses the private key to verify the second encryption Information and the challenge code to sign; the upload module is also used to receive the signature result sent by the terminal system, and send the signature result to the server, so that the server can sign the signature The result is verified to trigger the terminal system to obtain the stored bank card information from the TEE when the signature result is verified.
根据本说明书的第五方面,提供一种实现MOTOpay的装置,应用于终端的终端系统,所述终端搭载有支持MOTOpay支付的客户端,所述装置包括:验证模块,用于响应于所述客户端发送的第一系统调用请求,对于所述用户进行第一身份验证;获取模块,用于在所述用户通过第一身份验证后,从TEE中获取存储的银行卡信息;返回模块,用于将所述银行卡信息返回给客户端,以由所述客户端基于所述银行卡信息执行用户触发的支付请求。According to the fifth aspect of this specification, a device for implementing MOTOpay is provided, which is applied to a terminal system of a terminal, the terminal is equipped with a client that supports MOTOpay payment, and the device includes: a verification module for responding to the client The first system call request sent by the terminal performs the first identity verification for the user; the obtaining module is used to obtain the stored bank card information from the TEE after the user passes the first identity verification; the return module is used to The bank card information is returned to the client, so that the client executes the payment request triggered by the user based on the bank card information.
可选的,所述验证模块,还用于响应于客户端发送的第二系统调用请求,对所述用户进行第二身份验证;所述第二系统调用请求是所述客户端在获取到用户输入的用于MOTOpay支付的银行卡信息后发送的;所述装置还包括:存储模块,用于在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。Optionally, the verification module is further configured to perform a second identity verification on the user in response to a second system call request sent by the client; the second system call request is that the client obtains the user The input bank card information used for MOTOpay payment is sent afterwards; the device further includes: a storage module for storing the bank card information in the TEE after the user passes the second identity verification.
可选的,所述存储模块,在将所述银行卡信息存储到所述TEE中时,用于在所述用 户通过第二身份验证后,在TEE中生成公钥和私钥;采用所述公钥对所述银行卡信息进行加密,并将加密银行卡信息存储到TEE中;所述获取模块,在从TEE中获取存储的银行卡信息时,用于从所述TEE中获取已存储的所述加密银行卡信息;采用所述客户端对应的私钥对所述加密银行卡信息进行解密,得到所述银行卡信息。Optionally, when storing the bank card information in the TEE, the storage module is used to generate a public key and a private key in the TEE after the user passes the second identity verification; The public key encrypts the bank card information and stores the encrypted bank card information in the TEE; the obtaining module is used to obtain the stored bank card information from the TEE when obtaining the stored bank card information from the TEE The encrypted bank card information; the private key corresponding to the client is used to decrypt the encrypted bank card information to obtain the bank card information.
可选的,所述装置还包括:加密模块,用于在生成所述公钥和私钥后,获取用于第二身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;所述装置还包括:签名模块,用于在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;采用所述私钥对所述第二加密验证信息和已接收到的挑战码进行签名,并通过客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;所述挑战码由所述服务端在所述用户触发所述支付请求后下发;所述获取模块,在从TEE中获取存储的银行卡信息时,用于在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。Optionally, the device further includes: an encryption module for obtaining verification information for second identity verification after generating the public key and private key, and encrypting the verification information to obtain the first Encryption verification information; upload the first encryption verification information and the public key to the server through the client for storage; the device further includes: a signature module for after the user passes the first identity verification, Obtain verification information used for the first identity verification, and encrypt the verification information to obtain second encrypted verification information; use the private key to sign the second encrypted verification information and the received challenge code , And send the signature result to the server through the client, so that the server verifies the signature result; the challenge code is issued by the server after the user triggers the payment request The acquisition module, when acquiring the stored bank card information from the TEE, is used to acquire the stored bank card information from the TEE when the signature result is verified.
可选的,所述存储模块,在将所述银行卡信息存储到所述TEE中时,用于获取用于所述第二身份验证的身份信息的标识,得到第一标识;将所述银行卡信息和所述第一标识关联存储到TEE中;所述获取模块,在从TEE中获取存储的银行卡信息时,用于获取用于所述第一身份验证的身份信息的标识,得到第二标识;从TEE中获取所述第二标识关联的银行卡信息。Optionally, when storing the bank card information in the TEE, the storage module is used to obtain the identity information used for the second identity verification to obtain the first identity; The card information and the first identifier are associated and stored in the TEE; the acquiring module is used to acquire the identifier of the identity information used for the first identity verification when acquiring the stored bank card information from the TEE to obtain the first identity verification. Second identification: obtain the bank card information associated with the second identification from the TEE.
可选的,所述装置还包括:设置模块,用于为存储在所述TEE中的银行卡信息设置老化时长;删除模块,用于在检测到所述TEE中存储的银行卡信息的老化时长达到时,删除所述银行卡信息;或者,在检测到所述银行卡信息的使用情况达到预设使用条件时,删除所述银行卡信息。Optionally, the device further includes: a setting module, configured to set an aging duration for the bank card information stored in the TEE; a deletion module, configured to detect the aging duration of the bank card information stored in the TEE When it reaches, delete the bank card information; or when it is detected that the use of the bank card information reaches a preset use condition, delete the bank card information.
根据本说明书的第六方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述实现MOTOpay的方法。According to the sixth aspect of this specification, there is provided an electronic device, including: a processor; a memory for storing executable instructions of the processor; wherein the processor executes the executable instructions to implement the above-mentioned method for implementing MOTOpay .
根据本说明书的第七方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现实现上述实现MOTOpay的方法。According to the seventh aspect of the present specification, a computer-readable storage medium is provided, on which computer instructions are stored, and when the instructions are executed by a processor, the above-mentioned method for implementing MOTOpay is realized.
由上述描述可知,通过将用户的银行卡信息储存在用户终端的TEE中。在用户进行支付时,用户终端可调用TEE中的银行卡信息完成支付。It can be seen from the above description that the user's bank card information is stored in the TEE of the user terminal. When the user makes a payment, the user terminal can call the bank card information in the TEE to complete the payment.
在本说明书中,用户在采用motopay支付时,只需要输入用户信息,比如按指纹,就可实现支付,从而实现了国内快捷支付的功能。通过用户信息授权获取终端存取的银行卡信息,可保障银行卡信息的安全性。In this manual, when the user uses motopay to pay, he only needs to input user information, such as pressing his fingerprint, to realize the payment, thus realizing the domestic fast payment function. Obtaining the bank card information accessed by the terminal through user information authorization can ensure the security of the bank card information.
根据本说明书的第八方面,提供一种身份认证的实现方法,应用于终端,所述终端装载有客户端,所述方法包括:所述客户端响应于用户触发的身份认证请求,调用所述终端系统对所述用户进行第一本地身份验证;所述终端系统在所述用户通过第一本地身份验证后,从可信执行环境TEE中获取存储的用户认证信息,并将所述用户认证信息返回给客户端;客户端基于返回的所述用户认证信息执行所述身份认证请求。According to the eighth aspect of this specification, there is provided a method for implementing identity authentication, which is applied to a terminal, the terminal is loaded with a client, and the method includes: the client calls the identity authentication request triggered by the user The terminal system performs the first local identity verification on the user; after the user passes the first local identity verification, the terminal system obtains the stored user authentication information from the trusted execution environment TEE, and combines the user authentication information Return to the client; the client executes the identity authentication request based on the returned user authentication information.
可选的,所述方法还包括:所述客户端在获取到所述用户输入的用于身份认证的用户认证信息后,调用所述终端系统对所述用户进行第二本地身份验证;所述终端系统在所述用户通过第二本地身份验证后,将所述用户认证信息存储到所述TEE中。Optionally, the method further includes: after the client obtains the user authentication information input by the user for identity authentication, calling the terminal system to perform a second local identity verification on the user; the After the user passes the second local identity verification, the terminal system stores the user authentication information in the TEE.
可选的,所述将所述用户认证信息存储到所述TEE中,包括:在所述用户通过第二本地身份验证后,在所述TEE中生成公钥和私钥;采用所述公钥对所述用户认证信息 进行加密,并将加密用户认证信息存储到所述TEE中;所述从可信执行环境TEE中获取存储的用户认证信息,包括:从所述TEE中获取已存储的所述加密用户认证信息;采用所述客户端对应的私钥对所述加密用户认证信息进行解密,得到所述用户认证信息。Optionally, the storing the user authentication information in the TEE includes: after the user passes the second local identity verification, generating a public key and a private key in the TEE; and using the public key Encrypting the user authentication information and storing the encrypted user authentication information in the TEE; the obtaining the stored user authentication information from the trusted execution environment TEE includes: obtaining all the stored user authentication information from the TEE The encrypted user authentication information; the private key corresponding to the client is used to decrypt the encrypted user authentication information to obtain the user authentication information.
可选的,所述方法还包括:所述终端系统在生成所述公钥和私钥后,获取用于第二本地身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;所述终端系统将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;所述方法还包括:所述客户端接收所述服务端在所述用户触发所述身份认证请求后下发的挑战码;所述终端系统在所述用户通过第一本地身份验证后,获取用于第一本地身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;所述终端系统采用所述私钥对所述第二加密验证信息和所述挑战码进行签名,并通过所述客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;所述从可信执行环境TEE中获取存储的用户认证信息,包括:在所述签名结果通过验证时,从所述TEE中获取存储的用户认证信息。Optionally, the method further includes: after generating the public key and the private key, the terminal system obtains verification information for second local identity verification, and encrypts the verification information to obtain the first Encrypted verification information; the terminal system uploads the first encrypted verification information and the public key to the server through the client for storage; the method further includes: the client receives the server on the A challenge code issued after the user triggers the identity authentication request; after the user passes the first local identity verification, the terminal system obtains verification information for the first local identity verification, and encrypts the verification information Processing to obtain second encrypted verification information; the terminal system uses the private key to sign the second encrypted verification information and the challenge code, and sends the signature result to the server through the client, The server verifies the signature result; the obtaining the stored user authentication information from the trusted execution environment TEE includes: when the signature result passes the verification, obtaining the stored user from the TEE Certification Information.
可选的,所述将所述用户认证信息存储到所述TEE中,包括:所述终端系统获取用于所述第二本地身份验证的身份信息的标识,得到第一标识;所述终端系统将所述用户认证信息和所述第一标识关联存储到所述TEE中;所述从可信执行环境TEE中获取存储的用户认证信息,包括:所述终端系统获取用于所述第一本地身份验证的生物特征的标识,得到第二标识,并从所述TEE中获取所述第二标识关联的用户认证信息。Optionally, the storing the user authentication information in the TEE includes: the terminal system obtains an identifier of the identity information used for the second local identity verification to obtain the first identifier; the terminal system The user authentication information and the first identifier are associated and stored in the TEE; the obtaining the stored user authentication information from the trusted execution environment TEE includes: the terminal system obtains the user authentication information for the first local The biometric identification of the identity verification obtains the second identification, and the user authentication information associated with the second identification is obtained from the TEE.
由上述描述可知,通过将用户的用户认证信息储存在用户终端的TEE中。在用户进行身份认证时,用户终端可调用TEE中的用户认证信息完成支付。It can be seen from the above description that the user authentication information of the user is stored in the TEE of the user terminal. When the user performs identity authentication, the user terminal can call the user authentication information in the TEE to complete the payment.
一方面,在本说明书中,用户在进行身份认证时,只需要用户按指纹等,就可实现身份认证。On the one hand, in this manual, when the user performs identity authentication, the user only needs to press his fingerprint, etc., to achieve identity authentication.
另一方面,通过用户信息(比如用户的指纹等)授权获取终端存取的用户认证信息,保障用户认证信息的安全性。On the other hand, the user authentication information accessed by the terminal is authorized to obtain the user authentication information through user information (such as the user's fingerprint, etc.) to ensure the security of the user authentication information.
附图说明Description of the drawings
图1是本说明书一示例性实施例示出的一种银行卡信息存储过程的流程图;Fig. 1 is a flowchart of a bank card information storage process shown in an exemplary embodiment of this specification;
图2是本说明书一示例性实施例示出的一种MOTOpay支付方法的流程图;Fig. 2 is a flowchart of a MOTOpay payment method shown in an exemplary embodiment of this specification;
图3是本说明书一示例性实施例示出的一种实现MOTOpay的方法的流程图;Fig. 3 is a flowchart of a method for implementing MOTOpay shown in an exemplary embodiment of this specification;
图4是本说明书一示例性实施例示出的一种实现MOTOpay的方法的流程图;Fig. 4 is a flowchart of a method for implementing MOTOpay shown in an exemplary embodiment of this specification;
图5是本说明书一示例性实施例示出的另一种银行卡信息存储方法的流程图;Fig. 5 is a flowchart of another method for storing bank card information according to an exemplary embodiment of this specification;
图6是本说明书一示例性实施例示出的一种MOTOpay支付方法的流程图;Fig. 6 is a flowchart of a MOTOpay payment method shown in an exemplary embodiment of this specification;
图7是本说明一示例性实施例示出的一种终端的硬件结构图;FIG. 7 is a hardware structure diagram of a terminal shown in an exemplary embodiment of this description;
图8是本说明书一示例性实施例示出的一种用于实现MOTOpay的装置的框图;Fig. 8 is a block diagram of a device for implementing MOTOpay according to an exemplary embodiment of this specification;
图9是本说明书一示例性实施例示出的另一种实现MOTOpay的装置的框图;Fig. 9 is a block diagram showing another device for implementing MOTOpay according to an exemplary embodiment of the present specification;
图10是本说明书一示例性实施例示出的一种用户认证信息储存方法的流程图;Fig. 10 is a flowchart of a method for storing user authentication information according to an exemplary embodiment of this specification;
图11是本说明书一示例性实施例示出的一种认证实现方法的流程图。Fig. 11 is a flowchart of a method for implementing authentication shown in an exemplary embodiment of this specification.
具体实施方式detailed description
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。Here, exemplary embodiments will be described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings indicate the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with this specification. On the contrary, they are merely examples of devices and methods consistent with some aspects of this specification as detailed in the appended claims.
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terms used in this specification are only for the purpose of describing specific embodiments, and are not intended to limit the specification. The singular forms of "a", "said" and "the" used in this specification and appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and/or" as used herein refers to and includes any or all possible combinations of one or more associated listed items.
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可被称为第二信息,类似地,第二信息也可被称为第一信息。取决于语境,如在此所使用的词语“如果”可被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, third, etc. may be used in this specification to describe various information, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this specification, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information. Depending on the context, the word "if" as used herein can be interpreted as "when" or "when" or "in response to a certainty".
MOTOpay是一种信用卡远程收款系统,可实现商家与消费者非面对面的消费。例如,消费者通过电话、邮件、传真或者网站等方式订购商品时,只需要输入信用卡信息,即可完成支付。通常,国际电商网站大多支持该支付方式。MOTOpay is a credit card remote collection system that can realize non-face-to-face consumption between merchants and consumers. For example, when consumers order goods via telephone, mail, fax, or website, they only need to enter credit card information to complete the payment. Generally, most international e-commerce websites support this payment method.
然而,在实际应用中,用户往往忘记携带银行卡或者用户记不住所有卡的信息,致使用户无法支付。However, in practical applications, users often forget to carry a bank card or the user cannot remember all the card information, which makes the user unable to pay.
有鉴于此,本说明书提出一种实现MOTOpay的方法,通过将用户的银行卡信息储存在用户终端的TEE中。在用户进行支付时,用户终端可调用TEE中的银行卡信息完成支付,从而解决了用户忘记带银行卡或者忘记银行卡信息所产生的支付问题。In view of this, this specification proposes a method to implement MOTOpay by storing the user's bank card information in the TEE of the user terminal. When the user makes a payment, the user terminal can call the bank card information in the TEE to complete the payment, thereby solving the payment problem caused by the user forgetting to bring the bank card or forgetting the bank card information.
此外,在本说明书中,在将银行卡信息存储在用户终端的TEE后,用户在支付时,无需录入银行卡信息,只需录入指纹等身份信就可实现支付,所以极大地便捷了用户的支付操作,提高了支付效率。In addition, in this manual, after the bank card information is stored in the TEE of the user terminal, the user does not need to enter the bank card information when paying, and only needs to enter the fingerprint and other identity letters to realize the payment, so it greatly facilitates the user’s payment. Payment operation improves payment efficiency.
下面对本说明书提供的实现MOTOpay的方法进行详细说明。The method for implementing MOTOpay provided in this manual will be described in detail below.
本说明书的实现MOTOpay的方法可包括:银行卡信息的存储过程,以及用户支付的过程,下面通过这两方面对本说明书提供的实现MOTOpay的方法进行详细地说明。1、银行卡信息的存储过程The method of implementing MOTOpay in this manual may include: the storage process of bank card information and the process of user payment. The following two aspects will describe the method of implementing MOTOpay provided in this manual in detail. 1. The storage process of bank card information
参见图1,图1是本说明书一示例性实施例示出的一种银行卡信息存储过程的流程图,该方法可应用在该方法可应用在终端上。该终端可包括客户端、以及终端系统。客户端支持MOTOpay支付。Referring to Fig. 1, Fig. 1 is a flowchart of a bank card information storage process shown in an exemplary embodiment of this specification. The method can be applied to the terminal. The terminal may include a client and a terminal system. The client supports MOTOpay payment.
该终端可包括:PC机、可移动终端等。比如可移动终端可包括:用户的手机、IPAD、笔记本电脑、掌上电脑等等。这里不对终端、以及可移动终端进行具体地限定。The terminal may include: a PC, a portable terminal, etc. For example, the portable terminal may include: the user's mobile phone, IPAD, notebook computer, palmtop computer, and so on. The terminal and the portable terminal are not specifically limited here.
该方法可包括如下所示步骤。The method may include the steps shown below.
步骤102:客户端在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,调用终端系统对所述用户进行第二身份验证。Step 102: After obtaining the bank card information input by the user for MOTOpay payment, the client invokes the terminal system to perform a second identity verification on the user.
所述银行卡包括:信用卡、借记卡等等,这里只是对银行卡进行示例性地说明,不对其进行具体地限定。The bank card includes: a credit card, a debit card, etc. The bank card is only exemplified here, and it is not specifically limited.
下面通过步骤1021至步骤1022对步骤102进行说明。Step 102 is described below through step 1021 to step 1022.
步骤1021:客户端获取到用户输入的用于MOTOpay支付的银行卡信息。Step 1021: The client terminal obtains the bank card information input by the user for MOTOpay payment.
在实现时,当用户首次支付,或者用户需要添加银行卡信息,或者终端上存储的已注册用户信息(比如已注册的用户指纹等)发生变化等时,用户可在该终端上输入用于MOTOpay支付的银行卡信息。客户端可获取用户输入的银行卡信息。In implementation, when the user pays for the first time, or the user needs to add bank card information, or the registered user information stored on the terminal (such as registered user fingerprints, etc.) changes, the user can enter the MOTOpay on the terminal Payment bank card information. The client terminal can obtain the bank card information entered by the user.
比如,对于用户首次支付,客户端在检测到用户触发的支付请求时,可调用终端系统获取所述用户的用户信息,并依据所述用户信息对所述用户进行身份验证。终端系统在身份验证通过后,可检测TEE中是否存储有银行卡信息,若没有存储银行卡信息,则通知客户端。客户端可提示用户录入银行卡信息。然后,客户端可获取用户录入的银行卡信息。For example, for the user's first payment, when the client detects a payment request triggered by the user, it can call the terminal system to obtain the user information of the user, and perform identity verification on the user according to the user information. After passing the identity verification, the terminal system can detect whether the bank card information is stored in the TEE, and if the bank card information is not stored, it will notify the client. The client can prompt the user to enter bank card information. Then, the client terminal can obtain the bank card information entered by the user.
或者,客户端在接收到用户添加银行卡信息的添加指令时,获取该添加指令中携带的银行卡信息。Alternatively, the client terminal obtains the bank card information carried in the adding instruction when receiving the adding instruction of the user to add the bank card information.
这里只是对“客户端获取用户输入的用于MOTOpay支付的银行卡信息”的方式进行示例性地说明,不对其进行具体地限定。Here is only an exemplary description of the manner in which the “client terminal obtains the bank card information input by the user for MOTOpay payment” is exemplified, and is not specifically limited.
步骤1022:客户端调用终端系统对所述用户进行第二身份验证。Step 1022: The client invokes the terminal system to perform a second identity verification on the user.
客户端在获取到该用户输入的用于MOTOpay支付的银行卡信息后,可向终端系统发送第二系统调用请求。终端系统可响应于该第二系统调用请求,获取所述用户的用户信息,并依据该用户信息、以及本地存储的验证信息对所述用户进行第二身份验证。After obtaining the bank card information input by the user for MOTOpay payment, the client can send a second system call request to the terminal system. The terminal system may obtain the user information of the user in response to the second system call request, and perform the second identity verification on the user based on the user information and the locally stored verification information.
用户信息可包括:用户的用户名密码等文本信息、或者用户的生物特征信息。比如用户的指纹、用户的人脸特征、用户的虹膜特征等。这里只是对用户信息进行示例性地说明,不对其进行具体地限定。The user information may include text information such as the user's user name and password, or the user's biometric information. For example, the user's fingerprint, the user's facial features, the user's iris features, and so on. The user information is only exemplified here, and it is not specifically limited.
终端系统本地存储有用户已注册的验证信息,比如用户已注册用户名密码等文本信息、或者用户的生物特征信息,比如已注册的用户指纹、人脸特征,虹膜特征等。这里只是对终端系统本地存储的验证信息进行示例性地说明,不对其进行具体地限定。The terminal system locally stores the user's registered verification information, such as text information such as the user's registered user name and password, or the user's biometric information, such as the registered user's fingerprint, facial features, and iris features. Here, the verification information stored locally in the terminal system is merely exemplified, and no specific limitation is imposed on it.
在依据该身份信息、以及本地存储的验证信息对该用户进行第二身份验证时,终端系统可检测用户的身份信息与终端系统存储的验证信息是否匹配。若身份信息与验证信息匹配,则确定用户第二身份验证通过,若身份信息与验证信息不匹配,则确定用户第二身份验证不通过。When performing the second identity verification on the user based on the identity information and the locally stored verification information, the terminal system can detect whether the user's identity information matches the verification information stored in the terminal system. If the identity information matches the verification information, it is determined that the second identity verification of the user is passed, and if the identity information does not match the verification information, it is determined that the second identity verification of the user fails.
步骤104:终端系统在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。Step 104: After the user passes the second identity verification, the terminal system stores the bank card information in the TEE.
下面介绍几种将银行卡信息存储到TEE的方式。Here are several ways to store bank card information in TEE.
方式一:在将银行卡信息储存在TEE中时,终端系统可只将银行卡信息储存至TEE中,用户的任何身份信息都可调用该TEE中的银行卡信息。Method 1: When storing the bank card information in the TEE, the terminal system can only store the bank card information in the TEE, and any user's identity information can call the bank card information in the TEE.
以指纹为例,假设终端系统中包括用户的拇指指纹、食指指纹。终端系统可只将银行卡信息存储在TEE中。在后续用户支付时,无论用户输入拇指指纹、或者食指指纹进行第一身份验证,调用均是TEE中存储的一个或者多个银行卡信息。Taking fingerprints as an example, suppose that the user's thumb fingerprint and index finger fingerprint are included in the terminal system. The terminal system can only store the bank card information in the TEE. When a subsequent user pays, whether the user inputs a thumb fingerprint or an index finger fingerprint for the first identity verification, the call is one or more bank card information stored in the TEE.
方式二:终端系统可获取用于所述第二身份验证的身份信息的标识,得到第一标识。然后,终端系统可将加密后的银行卡信息和所述第一标识关联储存在TEE中。Manner 2: The terminal system can obtain the identity information used for the second identity verification to obtain the first identity. Then, the terminal system can store the encrypted bank card information in association with the first identification in the TEE.
这样的关联存储可使得用户的身份信息标识和银行卡一一绑定。在后续用户支付时,可基于该用户的不同身份信息调用不同的银行卡。Such associative storage can bind the user's identity information to the bank card one by one. When the user pays later, different bank cards can be called based on the user's different identity information.
以用户的身份信息为指纹为例进行说明。Take the user's identity information as a fingerprint as an example.
假设,用户在客户端输入的用于支付MOTOpay的银行卡信息为中国银行的银行卡信息,用户是采用拇指指纹进行第二身份认证的。终端系统在确定第二身份认证通过时,将该用户的拇指指纹与该中国银行的银行卡信息关联存储在TEE中。假设,用户又在客户端输入的用于支付MOTOpay的银行卡信息为建设银行的银行卡信息,用户是采用食指指纹进行第二身份认证的。终端系统在确定第二身份认证通过时,将该用户的食指指纹与该建设银行的银行卡信息关联存储在TEE中。Suppose that the bank card information used to pay for MOTOpay input by the user on the client is Bank of China bank card information, and the user uses thumb fingerprints for the second identity authentication. When the terminal system determines that the second identity authentication is passed, the user's thumb fingerprint and the bank card information of the Bank of China are associated and stored in the TEE. Assume that the bank card information used to pay for MOTOpay entered by the user on the client is the bank card information of China Construction Bank, and the user uses the index finger fingerprint to perform the second identity authentication. When the terminal system determines that the second identity authentication is passed, the user's index finger fingerprint and the bank card information of the China Construction Bank are associated and stored in the TEE.
在用户支付时,若用户输入拇指指纹进行第一身份验证,则为用户返回的是中国银行的银行卡信息。若用户输入食指指纹进行第一身份验证,则为用户返回建设银行的银行卡信息。When the user pays, if the user enters the thumb fingerprint for the first identity verification, the bank card information of the Bank of China will be returned to the user. If the user enters the index finger fingerprint for the first identity verification, the bank card information of China Construction Bank will be returned to the user.
此外,为了保证银行卡信息的安全性,无论是直接将银行卡信息存储在TEE中,还是将银行卡信息与第二身份验证的身份信息标识关联存储至TEE中,终端系统可采用生成的公钥对该银行卡信息进行加密,并将加密银行卡信息通过上述两种方式存储在TEE中。In addition, in order to ensure the security of the bank card information, whether it is to directly store the bank card information in the TEE, or store the bank card information in association with the identity information identification of the second identity verification in the TEE, the terminal system can use the generated public The key encrypts the bank card information, and stores the encrypted bank card information in the TEE in the above two ways.
具体地,为了保障银行卡信息的安全性,终端系统可生成公钥、私钥的密钥对。该生成的密钥对可与客户端对应,也可与用户对应,这里不对该密钥对的对应关系进行具体地限定。Specifically, in order to ensure the security of the bank card information, the terminal system can generate a key pair of a public key and a private key. The generated key pair may correspond to the client or the user, and the correspondence relationship of the key pair is not specifically limited here.
当密钥与客户端绑定时,其他客户端不能访问该密钥对。当该密钥与用户绑定时,该客户端的其他用户或者其他客户端无法访问该密钥对,从而可保证银行卡信息的安全性。When the key is bound to the client, other clients cannot access the key pair. When the key is bound to the user, other users of the client or other clients cannot access the key pair, thereby ensuring the security of the bank card information.
终端系统可采用公钥对银行卡信息进行加密,并将加密后银行卡信息存储到TEE中。2、MOTOpay支付过程The terminal system can use the public key to encrypt the bank card information, and store the encrypted bank card information in the TEE. 2. MOTOpay payment process
参见图2,图2是本说明书一示例性实施例示出的一种MOTOpay支付方法的流程图,该方法可应用在终端上。该终端可包括客户端、以及终端系统。客户端支持MOTOpay支付。Refer to Fig. 2, which is a flowchart of a MOTOpay payment method shown in an exemplary embodiment of this specification, and the method can be applied to a terminal. The terminal may include a client and a terminal system. The client supports MOTOpay payment.
该终端可包括:PC机、可移动终端等。比如可移动终端可包括:用户的手机、IPAD、笔记本电脑、掌上电脑等等。这里不对终端、以及可移动终端进行具体地限定。The terminal may include: a PC, a portable terminal, etc. For example, the portable terminal may include: the user's mobile phone, IPAD, notebook computer, palmtop computer, and so on. The terminal and the mobile terminal are not specifically limited here.
该方法可包括如下所示步骤:步骤202:客户端响应于用户触发的支付请求,调用终端系统对于所述用户进行第一身份验证。The method may include the following steps: Step 202: In response to the payment request triggered by the user, the client invokes the terminal system to perform the first identity verification for the user.
在实现时,当客户端检测到用户触发的支付请求后,可响应于该支付请求,向终端系统发送第二系统调用消息。In implementation, after the client detects the payment request triggered by the user, it can respond to the payment request and send a second system call message to the terminal system.
终端系统可响应于该第二系统调用消息,通过TUI获取用户输入的身份信息,并依据该身份信息、以及本地存储的验证信息对该用户的进行第一身份验证。In response to the second system call message, the terminal system can obtain the identity information input by the user through the TUI, and perform the first identity verification on the user based on the identity information and the locally stored verification information.
在依据该身份信息对该用户进行第一身份验证时,终端系统可检测用户的身份信息与终端系统存储的验证信息是否匹配。若身份信息与验证信息匹配,则确定用户第一身份验证通过,若身份信息与验证信息不匹配,则确定用户第一身份验证不通过。When performing the first identity verification on the user according to the identity information, the terminal system can detect whether the identity information of the user matches the verification information stored in the terminal system. If the identity information matches the verification information, it is determined that the first identity verification of the user is passed, and if the identity information does not match the verification information, it is determined that the first identity verification of the user fails.
步骤204:终端系统在所述用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给客户端。Step 204: After the user passes the first identity verification, the terminal system obtains the stored bank card information from the trusted execution environment TEE, and returns the bank card information to the client.
与上述步骤104对应,步骤204可通过多种实现方式实现。Corresponding to step 104 above, step 204 can be implemented in multiple implementation manners.
方式一:当终端系统在确定用户通过第二身份验证后,只将用户输入的银行卡信息储存在TEE中时,该步骤204实现方式为:终端系统在确定用户通过第一身份验证后,可直接从TEE中获取银行卡信息,并将银行卡信息返回给客户端。Method 1: When the terminal system only stores the bank card information entered by the user in the TEE after determining that the user has passed the second identity verification, this step 204 is implemented as follows: After the terminal system determines that the user has passed the first identity verification, it can Obtain the bank card information directly from the TEE and return the bank card information to the client.
以指纹为例,假设终端系统中包括用户的拇指指纹、食指指纹。用户通过拇指指纹进行第二身份验证,终端系统在确定用户通过身份验证后,可只将用户输入的中国银行的银行卡信息存储在TEE中。Taking fingerprints as an example, suppose that the user's thumb fingerprint and index finger fingerprint are included in the terminal system. The user performs the second identity verification through the thumb fingerprint, and the terminal system can only store the bank card information of the Bank of China entered by the user in the TEE after confirming that the user has passed the identity verification.
在后续用户支付时,无论用户输入拇指指纹、或者食指指纹进行第一身份验证,在第一身份验证通过后,终端系统从TEE中获取到的均是中国银行的银行卡信息。In the subsequent user payment, no matter the user enters the thumb fingerprint or index finger fingerprint for the first identity verification, after the first identity verification is passed, the terminal system obtains the bank card information of the Bank of China from the TEE.
方式二:当终端系统在确定用户通过第二身份验证后,将该用于所述第二身份验证的身份信息的标识与该银行卡信息关联存储到TEE中时,该步骤204的实现方式为:终端系统获取用于所述第一身份验证的身份信息的标识,得到第二标识;从TEE中获取所述第二标识关联的银行卡信息。Manner 2: When the terminal system determines that the user passes the second identity verification, and stores the identifier of the identity information used for the second identity verification in association with the bank card information in the TEE, the step 204 is implemented as follows: : The terminal system obtains the identity information used for the first identity verification to obtain the second identity; obtains the bank card information associated with the second identity from the TEE.
以指纹为例,假设,用户在客户端输入的用于支付MOTOpay的银行卡信息为中国银行的银行卡信息,用户是采用拇指指纹进行第二身份认证的。终端系统在确定第二身份认证通过时,将该用户的拇指指纹与该中国银行的银行卡信息关联存储在TEE中。假设,用户又在客户端输入的用于支付MOTOpay的银行卡信息为建设银行的银行卡信息,用户是采用食指指纹进行第二身份认证的。终端系统在确定第二身份认证通过时,将该用户的食指指纹与该建设银行的银行卡信息关联存储在TEE中。Taking fingerprints as an example, suppose that the bank card information used to pay for MOTOpay input by the user on the client is Bank of China bank card information, and the user uses thumb fingerprints for the second identity authentication. When the terminal system determines that the second identity authentication is passed, the user's thumb fingerprint and the bank card information of the Bank of China are associated and stored in the TEE. Assume that the bank card information used to pay for MOTOpay entered by the user on the client is the bank card information of China Construction Bank, and the user uses the index finger fingerprint to perform the second identity authentication. When the terminal system determines that the second identity authentication is passed, the user's index finger fingerprint and the bank card information of the China Construction Bank are associated and stored in the TEE.
在用户支付时,若用户输入拇指指纹进行第一身份验证,终端系统则可从TEE中获取与拇指指纹对应的中国银行的银行卡信息,并将中国银行卡信息返回给客户端。若用户输入食指指纹进行第一身份验证,终端系统则可从TEE中获取与食指指纹对应的建设银行的银行卡信息,并将建设银行卡信息返回给客户端。When the user pays, if the user enters the thumb fingerprint for the first identity verification, the terminal system can obtain the bank card information of the Bank of China corresponding to the thumb fingerprint from the TEE, and return the bank card information of the Chinese bank to the client. If the user inputs the index finger fingerprint to perform the first identity verification, the terminal system can obtain the bank card information of the China Construction Bank corresponding to the index finger fingerprint from the TEE, and return the information of the construction bank card to the client.
为保证银行卡信息的安全性,无论是直接将银行卡信息存储在TEE中,还是将银行卡信息与第二身份验证的身份信息标识关联存储至TEE中,终端系统可采用生成的公钥对该银行卡信息进行加密,并将加密银行卡信息通过上述两种方式存储在TEE。In order to ensure the security of the bank card information, whether it is directly storing the bank card information in the TEE, or storing the bank card information in association with the identity information of the second identity verification in the TEE, the terminal system can use the generated public key pair The bank card information is encrypted, and the encrypted bank card information is stored in the TEE through the above two methods.
同理,无论是直接从TEE中获取银行卡信息,或者从TEE中获取与该第一身份认证的身份信息标识对应的银行卡信息,若终端系统从TEE中获取到的是加密银行卡信息,则可采用私钥对该银行卡信息进行解密,并将解密后的银行卡信息返回给客户端。Similarly, whether it is to obtain bank card information directly from the TEE, or obtain the bank card information corresponding to the identity information identifier of the first identity authentication from the TEE, if the terminal system obtains encrypted bank card information from the TEE, Then, the private key can be used to decrypt the bank card information, and the decrypted bank card information can be returned to the client.
步骤206:客户端基于返回的所述银行卡信息执行所述支付请求。Step 206: The client executes the payment request based on the returned bank card information.
若客户端接收到终端系统返回的银行卡信息为一个时,可直接基于该银行卡信息执行该支付请求。If the client receives one bank card information returned by the terminal system, it can directly execute the payment request based on the bank card information.
若该客户端接收到的终端系统返回的银行卡信息为多个时,客户端可向用户展示该多个银行卡信息,以由用户选择用于此次支付的银行卡信息。然后,客户端可基于用户选择出的银行卡信息执行该支付请求。If there are multiple bank card information returned by the terminal system received by the client, the client can display the multiple bank card information to the user so that the user can select the bank card information used for this payment. Then, the client can execute the payment request based on the bank card information selected by the user.
或者,若该客户端接收到的终端系统返回的银行卡信息为多个时,客户端可依据预设的选择算法,选择一个银行卡信息,并基于选择出的银行卡信息执行该支付请求。Or, if there are multiple bank card information returned by the terminal system received by the client, the client can select one bank card information according to a preset selection algorithm, and execute the payment request based on the selected bank card information.
其中,该预设的选择算法可包括:随机选择,或者选择TEE中最近存储的银行卡信息等等。这里只是对预设的选择算法进行示例性地说明,不对其进行具体地限定。Among them, the preset selection algorithm may include: random selection, or selection of bank card information stored recently in the TEE, and so on. Here, the preset selection algorithm is only exemplified, and it is not specifically limited.
在执行支付请求时,客户端可基于该银行卡信息生成支付消息,然后将支付消息发送给银行信息,以由银行系统向商品购买方进行转账,以完成支付。这里只是对执行支付请求进行示例性地说明,不对其进行具体地限定。When executing the payment request, the client can generate a payment message based on the bank card information, and then send the payment message to the bank information, so that the banking system can transfer money to the purchaser of the goods to complete the payment. Here, the execution of the payment request is merely exemplified, and it is not specifically limited.
此外,在本说明书实施例中,为了保证银行卡信息的安全,当用户新增或者删除用户信息(如指纹)时,用户都要重新输入银行卡信息。为了实现该“用户新增或者删除用户信息时,用户都要重新输入银行卡信息”的功能,可采用如下方式实现。In addition, in the embodiment of this specification, in order to ensure the security of the bank card information, when the user adds or deletes user information (such as fingerprints), the user must re-enter the bank card information. In order to realize the function of "the user must re-enter bank card information when adding or deleting user information", the following methods can be used.
在实现时,终端系统在生成公钥和私钥后,可获取用于第二身份验证的验证信息。换句话来说,终端系统可获取本地当前所存储的已注册的用户身份信息。In implementation, the terminal system can obtain the verification information used for the second identity verification after generating the public key and the private key. In other words, the terminal system can obtain the registered user identity information currently stored locally.
然后,终端系统可将该第二身份验证的验证信息进行加密处理,得到第一加密验证信息。比如,终端系统可计算该第二身份验证的验证信息的哈希值,然后将该哈希值作为第一加密验证信息。当然,终端系统还可采用其他加密处理方法,这里不进行具体地限定。Then, the terminal system can perform encryption processing on the verification information of the second identity verification to obtain the first encrypted verification information. For example, the terminal system may calculate the hash value of the verification information of the second identity verification, and then use the hash value as the first encryption verification information. Of course, the terminal system can also use other encryption processing methods, which are not specifically limited here.
终端系统可将第一加密验证信息和所述公钥发送给客户端,客户端可将第一加密验证信息和公钥发送给服务端进行存储。The terminal system may send the first encryption verification information and the public key to the client, and the client may send the first encryption verification information and the public key to the server for storage.
在用户触发支付请求后,客户端可接收服务端下发的挑战码。其中,该挑战码可是客户端在检测到用户的支付请求后,向服务端发送挑战码获取请求,以使得服务端响应于该挑战码获取请求,向客户端下发挑战码。当然,也该挑战码也可是服务端在用户触发支付请求后的其他时机下下发的,这里不进行具体地限定。After the user triggers the payment request, the client can receive the challenge code issued by the server. Wherein, the challenge code may be that the client sends a challenge code acquisition request to the server after detecting the user's payment request, so that the server sends the challenge code to the client in response to the challenge code acquisition request. Of course, the challenge code can also be issued by the server at other times after the user triggers the payment request, which is not specifically limited here.
在用户触发支付请求后,客户端可向终端系统发送第一系统调用请求,终端系统可对用户进行第一身份验证。终端系统在用户通过第一身份验证后,可获取第一身份验证的验证信息。换句话来说,终端系统可获取当前本地存储的已注册用户身份信息。After the user triggers the payment request, the client can send the first system call request to the terminal system, and the terminal system can perform the first identity verification on the user. After the user passes the first identity verification, the terminal system can obtain the verification information of the first identity verification. In other words, the terminal system can obtain the currently locally stored registered user identity information.
然后,终端系统可将该第一身份验证的验证信息进行加密处理,得到第二加密验证信息。比如,终端系统可计算该第一身份验证的验证信息的哈希值,然后将该哈希值作为第二加密验证信息。当然,终端系统还可采用其他加密处理方法,这里不进行具体地限定。Then, the terminal system can perform encryption processing on the verification information of the first identity verification to obtain the second encrypted verification information. For example, the terminal system may calculate the hash value of the verification information of the first identity verification, and then use the hash value as the second encryption verification information. Of course, the terminal system can also use other encryption processing methods, which are not specifically limited here.
终端系统采用所述私钥对第二加密验证信息和所述挑战码进行签名,并将签名结果发送给客户端。客户端将该签名结果发送给服务端,以由服务端对所述签名结果进行验证。The terminal system uses the private key to sign the second encryption verification information and the challenge code, and sends the signature result to the client. The client sends the signature result to the server, so that the server verifies the signature result.
在验证签名结果时,服务端可采用之前存储的公钥对该签名进行解密,得到第二加密验证信息和挑战码。When verifying the signature result, the server can use the previously stored public key to decrypt the signature to obtain the second encrypted verification information and the challenge code.
服务端可检测第二加密验证信息和之前存储的第一加密验证信息是否一致,以及解密得到的挑战码与下发的挑战码是否一致。The server can detect whether the second encrypted verification information is consistent with the previously stored first encrypted verification information, and whether the decrypted challenge code is consistent with the issued challenge code.
若第二加密验证信息和之前存储的第一加密验证信息一致,以及解密得到的挑战码与下发的挑战码一致,则向客户端返回签名结果通过的消息。客户端可将该签名结果通过的消息发送给终端系统,终端系统在接收到该签名结果通过的消息可确定签名结果通过,并执行上述从TEE中获取存储的银行卡信息的步骤。If the second encrypted verification information is consistent with the previously stored first encrypted verification information, and the decrypted challenge code is consistent with the issued challenge code, a message indicating that the signature result is passed is returned to the client. The client can send the message that the signature result has passed to the terminal system, and the terminal system can determine that the signature result has passed after receiving the message that the signature result has passed, and execute the above step of obtaining the stored bank card information from the TEE.
若第二加密验证信息和之前存储的第一加密验证信息不一致,和/或解密得到的挑战码与下发的挑战码不一致,则向客户端返回签名结果不通过的消息。客户端可将该签名结果不通过的消息发送给终端系统,终端系统在接收到该签名结果不通过的消息时,可确定签名结果不通过,终端系统不执行上述从TEE中获取存储的银行卡信息的步骤。可选的,终端系统在接收到签名结果不通过的消息时,还可从TEE中删除已存储的银行卡信息。If the second encrypted verification information is inconsistent with the previously stored first encrypted verification information, and/or the decrypted challenge code is inconsistent with the issued challenge code, a message indicating that the signature result is not passed is returned to the client. The client can send the message that the signature result is not passed to the terminal system. When the terminal system receives the message that the signature result is not passed, the terminal system can determine that the signature result is not passed. The terminal system does not execute the above-mentioned obtaining and storing the bank card from the TEE. Informational steps. Optionally, the terminal system may also delete the stored bank card information from the TEE when receiving the message that the signature result is not passed.
此外,客户端可向用户发送提示信息,以使得用户重新输入银行卡信息。在用户输入银行卡信息后可执行上述银行卡信息的存储过程,这里不再赘述。In addition, the client terminal can send prompt information to the user so that the user can re-enter the bank card information. After the user enters the bank card information, the above-mentioned storage process of the bank card information can be executed, which will not be repeated here.
例如,假设当前终端系统存储身份信息为有用户的拇指指纹。For example, suppose that the current terminal system stores the identity information as fingerprints of the user's thumb.
客户端在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,调用终端系统对所述用户进行第二身份验证,假设第二身份验证的验证信息为当前终端系统存 储的拇指指纹。After obtaining the bank card information input by the user for MOTOpay payment, the client invokes the terminal system to perform the second identity verification on the user, assuming that the verification information of the second identity verification is the thumb fingerprint stored in the current terminal system.
然后,在用户第二身份验证通过后,终端系统可生成公钥、和私钥。终端系统一方面可采用公钥对该银行卡信息进行加密,并将加密银行卡信息存储至TEE中。另一方面,终端系统可将该拇指指纹进行哈希运算,得到该拇指指纹的哈希值,并将该拇指指纹的哈希值以及公钥通过客户端上传至服务端进行存储。Then, after the user's second identity verification is passed, the terminal system can generate a public key and a private key. On the one hand, the terminal system can use the public key to encrypt the bank card information and store the encrypted bank card information in the TEE. On the other hand, the terminal system can perform a hash operation on the thumb fingerprint to obtain the hash value of the thumb fingerprint, and upload the hash value and public key of the thumb fingerprint to the server through the client for storage.
1)假设,在用户输入银行卡信息到用户触发支付的这段时间里,用户没有在用户终端上新增或者删除指纹,则在当前终端系统存储的身份信息为用户的拇指指纹。1) Assuming that the user does not add or delete fingerprints on the user terminal during the period from when the user inputs bank card information to when the user triggers payment, the identity information stored in the current terminal system is the user's thumb fingerprint.
客户端响应于用户触发的支付请求,调用终端系统对于所述用户进行第一身份验证,该第一身份验证的验证信息为当前终端系统存储的拇指指纹。In response to the payment request triggered by the user, the client invokes the terminal system to perform the first identity verification for the user, and the verification information of the first identity verification is the thumb fingerprint stored in the current terminal system.
此外,在用户触发支付请求后,客户端可获取到服务端下发的挑战码,客户端可将挑战码发送给终端系统。In addition, after the user triggers the payment request, the client can obtain the challenge code issued by the server, and the client can send the challenge code to the terminal system.
终端系统在用户通过第一身份验证后,对第一身份验证的验证信息(即拇指指纹)进行哈希运算,得到拇指指纹的哈希值。After the user passes the first identity verification, the terminal system performs a hash operation on the verification information of the first identity verification (that is, the thumb fingerprint) to obtain the hash value of the thumb fingerprint.
然后,终端系统可对该拇指指纹的哈希值以及挑战码进行签名,并将签名结果通过客户端发送给服务端。服务端利用之前存储的公钥对该签名结果进行解密,得到拇指哈希指纹以及挑战码,由于解密得到的拇指哈希指纹(即第二加密验证信息)与之前存储的拇指哈希指纹(即第一加密验证信息)一致,且解密得到的挑战码与下发的挑战码一致,服务端可确定签名结果通过,并向客户端返回签名结果通过的消息。终端系统在接收到客户端返回的签名结果通过的消息后,可从TEE中获取银行卡信息,并返回给客户端。Then, the terminal system can sign the hash value of the thumb fingerprint and the challenge code, and send the signature result to the server through the client. The server uses the previously stored public key to decrypt the signature result to obtain the thumb hash fingerprint and the challenge code. Because the thumb hash fingerprint obtained by decryption (ie the second encrypted verification information) and the previously stored thumb hash fingerprint (ie The first encrypted verification information) is consistent, and the challenge code obtained by decryption is consistent with the issued challenge code, the server can determine that the signature result is passed, and return a message that the signature result passed to the client. After receiving the message that the signature result passed back by the client, the terminal system can obtain the bank card information from the TEE and return it to the client.
2)假设,在用户输入银行卡信息到用户触发支付的这段时间里,用户在用户终端上新增了食指指纹,则在当前终端系统存储的身份信息为用户的拇指指纹、食指指纹。2) Assuming that during the period between the user inputting the bank card information and the user triggering the payment, the user adds an index finger fingerprint on the user terminal, and the identity information stored in the current terminal system is the user's thumb fingerprint and index finger fingerprint.
客户端响应于用户触发的支付请求,调用终端系统对于所述用户进行第一身份验证,该第一身份验证的验证信息为当前终端系统存储的拇指指纹、食指指纹。In response to the payment request triggered by the user, the client invokes the terminal system to perform the first identity verification for the user, and the verification information of the first identity verification is the thumb fingerprint and the index finger fingerprint stored in the current terminal system.
此外,在用户触发支付请求后,客户端可获取到服务端下发的挑战码,客户端可将挑战码发送给终端系统。In addition, after the user triggers the payment request, the client can obtain the challenge code issued by the server, and the client can send the challenge code to the terminal system.
终端系统在用户通过第一身份验证后,对第一身份验证的验证信息(即拇指指纹、食指指纹)进行哈希运算,得到拇指指纹和食指指纹的哈希值。After the user passes the first identity verification, the terminal system performs a hash operation on the verification information of the first identity verification (that is, thumb fingerprint and index finger fingerprint) to obtain the hash values of the thumb fingerprint and the index finger fingerprint.
然后,终端系统可对该拇指指纹和食指指纹的哈希值以及挑战码进行签名,并将签名结果通过客户端发送给服务端。服务端利用之前存储的公钥对该签名结果进行解密,得到拇指指纹和食指指纹的哈希值以及挑战码,由于解密得到的拇指指纹和食指指纹的哈希值(即第二加密验证信息)与之前存储的拇指指纹的哈希值(即第一加密验证信息)不一致,且解密得到的挑战码与下发的挑战码一致,服务端可确定签名结果不通过,并向客户端返回签名结果不通过的消息。终端系统在接收到客户端返回的签名结果不通过的消息后,不从TEE中获取银行卡信息。同时,客户端向用户发送提示信息,以提示用户重新输入银行卡信息。Then, the terminal system can sign the hash value and challenge code of the thumb fingerprint and index finger fingerprint, and send the signature result to the server through the client. The server uses the previously stored public key to decrypt the signature result to obtain the hash value of the thumb fingerprint and index finger fingerprint and the challenge code. Because of the hash value of the thumb fingerprint and index finger fingerprint obtained by decryption (that is, the second encrypted verification information) It is inconsistent with the previously stored hash value of the thumb fingerprint (ie the first encrypted verification information), and the decrypted challenge code is consistent with the issued challenge code. The server can determine that the signature result is not passed and return the signature result to the client Failed message. The terminal system does not obtain the bank card information from the TEE after receiving the message that the signature result is not passed from the client. At the same time, the client sends a prompt message to the user to prompt the user to re-enter the bank card information.
由此可见通过上述方式可实现当用户新增或者删除指纹时,用户都要重新输入银行卡信息。It can be seen that the above method can realize that when a user adds or deletes a fingerprint, the user has to re-enter the bank card information.
由上述描述可知,通过将用户的银行卡信息储存在用户终端的TEE中。在用户进行支付时,用户终端可调用TEE中的银行卡信息完成支付。It can be seen from the above description that the user's bank card information is stored in the TEE of the user terminal. When the user makes a payment, the user terminal can call the bank card information in the TEE to complete the payment.
在本说明书中,用户在采用motopay支付时只需要输入身份信息,比如按指纹, 就可实现支付,从而实现了国内快捷支付的功能。通过与服务端交互,实现当用户新增或者删除终端系统中已注册的身份信息时,用户都需要重新输入银行卡信息,从而保障了银行卡信息的安全性。比如,用户新增或者删除指纹时,都需要重新输入银行卡信息。In this manual, when using motopay to pay, users only need to enter their identity information, such as by pressing their fingerprints, to realize the payment, thus realizing the function of domestic fast payment. Through the interaction with the server, when the user adds or deletes the registered identity information in the terminal system, the user needs to re-enter the bank card information, thereby ensuring the security of the bank card information. For example, when a user adds or deletes a fingerprint, he/she needs to re-enter the bank card information.
银行卡息存储在用户终端的TEE中,以及用户通过身份验证才能录入银行卡信息,以及调用银行卡信息,从而极大地保证了银行卡信息的安全性。The bank card information is stored in the TEE of the user terminal, and the user can enter the bank card information and call the bank card information through identity verification, thereby greatly ensuring the security of the bank card information.
参见图3,图3是本说明书一示例性实施例示出的一种实现MOTOpay的方法的流程图,该方法可应用在终端上搭载的支持MOTOpay支付的客户端,该方法可包括如下所示步骤。Referring to Figure 3, Figure 3 is a flow chart of a method for implementing MOTOpay shown in an exemplary embodiment of this specification. The method can be applied to a client supporting MOTOpay payment carried on a terminal. The method can include the following steps .
步骤302:客户端响应于用户触发的支付请求,向终端系统发送第一系统调用请求,以由所述终端系统响应于所述第一系统调用请求,对所述用户进行第一身份验证,并在用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给客户端。Step 302: In response to the payment request triggered by the user, the client sends a first system call request to the terminal system, so that the terminal system responds to the first system call request to perform first identity verification on the user, and After the user passes the first identity verification, the stored bank card information is obtained from the trusted execution environment TEE, and the bank card information is returned to the client.
具体可参见上述步骤202-步骤204中的描述,这里不再赘述。For details, please refer to the description in step 202 to step 204 above, which will not be repeated here.
步骤304:客户端基于返回的所述银行卡信息执行所述支付请求。Step 304: The client executes the payment request based on the returned bank card information.
具体可参见上述步骤206中的描述,这里不再赘述。For details, please refer to the description in step 206 above, which will not be repeated here.
此外,在本说明书实施例中,客户端在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,向终端系统发送第二系统调用请求,以由所述终端系统响应于所述第二系统调用请求,对所述用户进行第二身份验证,并在用户通过第二身份验证后,将所述银行卡信息存储到TEE中。In addition, in the embodiment of this specification, after obtaining the bank card information input by the user for MOTOpay payment, the client sends a second system call request to the terminal system, so that the terminal system responds to the first system call request. 2. The system calls a request to perform a second identity verification on the user, and after the user passes the second identity verification, store the bank card information in the TEE.
具体可参见上述步骤102至104中的描述,这里不再赘述。For details, refer to the descriptions in steps 102 to 104 above, which are not repeated here.
由上述描述可知,通过将用户的银行卡信息储存在用户终端的TEE中。在用户进行支付时,用户终端可调用TEE中的银行卡信息完成支付。It can be seen from the above description that the user's bank card information is stored in the TEE of the user terminal. When the user makes a payment, the user terminal can call the bank card information in the TEE to complete the payment.
在本说明书中,用户在采用motopay支付时,只需要输入用户信息,比如按指纹,就可实现支付,从而实现了国内快捷支付的功能。In this manual, when the user uses motopay to pay, he only needs to input user information, such as pressing his fingerprint, to realize the payment, thus realizing the domestic fast payment function.
参见图4,图4是本说明书一示例性实施例示出的一种实现MOTOpay的方法的流程图,该方法可应用在终端的终端系统,该终端搭载有支持MOTOpay支付的客户端。Refer to FIG. 4, which is a flowchart of a method for implementing MOTOpay according to an exemplary embodiment of this specification. The method can be applied to a terminal system of a terminal, and the terminal is equipped with a client that supports MOTOpay payment.
步骤402:终端系统响应于客户端发送的第一系统调用请求,对于所述用户进行第一身份验证;具体可参见上述步骤202,这里不再赘述。Step 402: In response to the first system call request sent by the client, the terminal system performs first identity verification on the user; for details, please refer to the above step 202, which will not be repeated here.
步骤404:终端系统在所述用户通过第一身份验证后,从TEE中获取存储的银行卡信息。具体可参见上述步骤204,这里不再赘述。Step 404: After the user passes the first identity verification, the terminal system obtains the stored bank card information from the TEE. For details, refer to step 204 above, which will not be repeated here.
步骤406:终端系统将所述银行卡信息返回给客户端,以由所述客户端基于所述银行卡信息执行用户触发的支付请求。具体可参见上述步骤206,这里不再赘述。Step 406: The terminal system returns the bank card information to the client, so that the client executes the user-triggered payment request based on the bank card information. For details, refer to step 206 above, which will not be repeated here.
此外,在本说明书实施例中,终端系统还可响应于客户端发送的第二系统调用请求,对所述用户进行第二身份验证;所述第二系统调用请求是所述客户端在获取到用户输入的用于MOTOpay支付的银行卡信息后发送的,在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。In addition, in the embodiment of this specification, the terminal system may also perform a second identity verification on the user in response to the second system call request sent by the client; the second system call request is that the client is acquiring The bank card information for MOTOpay payment input by the user is sent after the user passes the second identity verification, and the bank card information is stored in the TEE.
具体可参见上述步骤102至104,这里不再赘述。For details, please refer to the above steps 102 to 104, which will not be repeated here.
由上述描述可知,通过将用户的银行卡信息储存在用户终端的TEE中。在用户进行支付时,用户终端可调用TEE中的银行卡信息完成支付。It can be seen from the above description that the user's bank card information is stored in the TEE of the user terminal. When the user makes a payment, the user terminal can call the bank card information in the TEE to complete the payment.
在本说明书中,用户在采用motopay支付时,只需要输入用户信息,比如按指纹,就可实现支付,从而实现了国内快捷支付的功能。In this manual, when the user uses motopay to pay, he only needs to input user information, such as pressing his fingerprint, to realize the payment, thus realizing the domestic fast payment function.
下面参考图5、图6介绍另一种实现MOTOpay的方法。The following describes another method of implementing MOTOpay with reference to Figure 5 and Figure 6.
参见图5,图5是本说明书一示例性实施例示出的另一种银行卡信息存储方法的流程图,该方法可应用在终端。终端包括:支持MOTOpay支付的客户端、终端系统。该方法可包括如下所示步骤。Referring to Fig. 5, Fig. 5 is a flowchart of another bank card information storage method shown in an exemplary embodiment of this specification, and the method can be applied to a terminal. The terminal includes: client and terminal system that support MOTOpay payment. The method may include the steps shown below.
步骤501:客户端获取到所述用户输入的用于MOTOpay支付的银行卡信息;Step 501: The client terminal obtains the bank card information input by the user for MOTOpay payment;
步骤502:客户端向终端系统发送第一系统调用请求;Step 502: The client sends a first system call request to the terminal system;
步骤503:终端系统响应于第一系统调用请求,对用户进行第二身份验证;Step 503: The terminal system performs a second identity verification on the user in response to the first system call request;
步骤504:终端系统在第二身份验证通过后,终端系统生成公钥和私钥。Step 504: After the terminal system passes the second identity verification, the terminal system generates a public key and a private key.
步骤505:终端系统采用公钥对银行卡信息进行加密,并将加密银行卡信息存储在TEE中,以及获取第二身份验证的验证信息,并对该验证信息进行加密处理,得到第一加密验证信息。Step 505: The terminal system uses the public key to encrypt the bank card information, stores the encrypted bank card information in the TEE, and obtains the verification information of the second identity verification, and encrypts the verification information to obtain the first encryption verification information.
步骤506:终端系统向客户端发送第一加密验证信息和公钥;Step 506: The terminal system sends the first encryption verification information and the public key to the client;
步骤507:客户端向服务端发送第一加密验证信息和公钥;Step 507: The client sends the first encryption verification information and the public key to the server;
步骤508:服务端存储第一加密验证信息和公钥。Step 508: The server stores the first encryption verification information and the public key.
参见图6,图6是本说明书一示例性实施例示出的一种MOTOpay支付方法的流程图,该方法可应用在终端。终端包括:支持MOTOpay支付的客户端、终端系统。该方法可包括如下所示步骤。Refer to Fig. 6, which is a flowchart of a MOTOpay payment method shown in an exemplary embodiment of this specification, and the method can be applied to a terminal. The terminal includes: client and terminal system that support MOTOpay payment. The method may include the steps shown below.
步骤601:客户端检测到用户触发的支付请求。Step 601: The client detects a payment request triggered by the user.
步骤602:客户端响应于该支付请求,向服务端发送挑战码获取请求。Step 602: In response to the payment request, the client sends a challenge code acquisition request to the server.
步骤603:服务端响应于挑战码获取请求,向客户端发送挑战码。Step 603: The server sends the challenge code to the client in response to the challenge code acquisition request.
步骤604:客户端响应于该支付请求,向终端系统发送第二系统调用请求、挑战码。Step 604: In response to the payment request, the client sends a second system call request and a challenge code to the terminal system.
在实现时,客户端可将第二系统调用请求和挑战码同时发送给终端系统。In implementation, the client can send the second system call request and the challenge code to the terminal system at the same time.
客户端也可在检测到用户触发的支付请求时,向终端系统发送第二系统调用请求。客户端在接收到服务端下发的挑战码后,将挑战码发送给终端系统。这里并不对两者的发送进行具体地限定,只要符合逻辑即可。The client can also send a second system call request to the terminal system when detecting a payment request triggered by the user. After receiving the challenge code issued by the server, the client sends the challenge code to the terminal system. The sending of the two is not specifically limited here, as long as it is logical.
步骤605:终端系统响应于第二系统调用请求,对用户进行第一身份验证。Step 605: In response to the second system call request, the terminal system performs the first identity verification on the user.
步骤606:终端系统在用户第一身份验证通过时,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息。Step 606: When the user passes the first identity verification, the terminal system obtains verification information for the first identity verification, and encrypts the verification information to obtain second encrypted verification information.
步骤607:终端系统采用私钥对所述第二加密验证信息和挑战码进行签名。Step 607: The terminal system uses the private key to sign the second encryption verification information and the challenge code.
步骤608:终端系统将签名结果发送给客户端。Step 608: The terminal system sends the signature result to the client.
步骤609:客户端将签名结果发送给服务端。Step 609: The client sends the signature result to the server.
步骤610:服务端采用已存储的公钥对签名结果进行解密,得到第二加密验证信息和挑战码。Step 610: The server uses the stored public key to decrypt the signature result to obtain the second encrypted verification information and the challenge code.
步骤611:服务端在第二加密验证信息和已存储的第一加密验证信息一致、且解 密得到的挑战码与下发的挑战码一致,则向客户端发送签名结果通过的消息。Step 611: When the second encryption verification information is consistent with the stored first encryption verification information, and the decrypted challenge code is consistent with the issued challenge code, the server sends a message that the signature result is passed to the client.
步骤612:客户端向终端系统发送签名结果通过的消息。Step 612: The client sends a message that the signature result is passed to the terminal system.
步骤613:终端系统在接收到该签名结果通过的消息后,从TEE中获取银行卡信息。Step 613: After receiving the message that the signature result is passed, the terminal system obtains the bank card information from the TEE.
步骤614:终端系统向客户端返回银行卡信息。Step 614: The terminal system returns the bank card information to the client.
步骤615:客户端基于银行卡信息执行支付请求。Step 615: The client executes a payment request based on the bank card information.
本说明书不对上述步骤的时序进行限定,只要步骤之间符合逻辑关系即可。This specification does not limit the timing of the above steps, as long as the steps conform to a logical relationship.
由上述描述可知,通过将用户的银行卡信息储存在用户终端的TEE中。在用户进行支付时,用户终端可调用TEE中的银行卡信息完成支付。It can be seen from the above description that the user's bank card information is stored in the TEE of the user terminal. When the user makes a payment, the user terminal can call the bank card information in the TEE to complete the payment.
一方面,在本说明书中,用户在采用motopay支付时,只需要输入身份信息,比如按指纹,就可实现支付,从而实现了国内快捷支付的功能。On the one hand, in this manual, when a user uses motopay to pay, he only needs to enter his identity information, such as pressing his fingerprint, to realize the payment, thus realizing the domestic fast payment function.
另一方面,在本说明书中,通过与服务端交互,实现当用户新增或者删除终端系统中已注册的身份信息时,用户都需要重新输入银行卡信息,从而保障了银行卡信息的安全性。比如,用户新增或者删除指纹时,都需要重新输入银行卡信息。On the other hand, in this manual, by interacting with the server, when the user adds or deletes the registered identity information in the terminal system, the user needs to re-enter the bank card information, thereby ensuring the security of the bank card information . For example, when a user adds or deletes a fingerprint, he/she needs to re-enter the bank card information.
银行卡信息存储在用户终端的TEE中,以及用户通过身份验证才能录入银行卡信息,以及调用银行卡信息,从而极大地保证了银行卡信息的安全性。The bank card information is stored in the TEE of the user terminal, and the user can enter the bank card information and call the bank card information through the identity verification, thereby greatly ensuring the security of the bank card information.
与前述实现MOTOpay的方法的实施例相对应,本说明书还提供了实现MOTOpay的装置的实施例。Corresponding to the foregoing embodiment of the method for implementing MOTOpay, this specification also provides an embodiment of the device for implementing MOTOpay.
本说明书实现MOTOpay的装置的实施例可应用在电子设备上。装置实施例可通过软件实现,也可通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本说明书实现MOTOpay的装置所在电子设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可包括其他硬件,对此不再赘述。The embodiments of the MOTOpay device in this specification can be applied to electronic equipment. The device embodiments can be implemented by software, or can be implemented by hardware or a combination of software and hardware. Taking software implementation as an example, as a logical device, it is formed by reading the corresponding computer program instructions in the non-volatile memory into the memory through the processor of the electronic device where it is located. From a hardware perspective, as shown in Figure 7, a hardware structure diagram of the electronic equipment where the MOTOpay device is implemented in this specification, except for the processor, memory, network interface, and non-volatile memory shown in Figure 7. In addition, the electronic device in which the device is located in the embodiment usually may include other hardware according to the actual function of the electronic device, which will not be repeated here.
参见图8,图8是本说明书一示例性实施例示出的一种用于实现MOTOpay的装置的框图。该装置应用于终端上搭载的支持MOTOpay支付的客户端,包括:发送模块801,用于响应于用户触发的支付请求,向终端系统发送第一系统调用请求,以由所述终端系统响应于所述第一系统调用请求,对所述用户进行第一身份验证,并在用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给客户端;执行模块802,用于基于返回的所述银行卡信息执行所述支付请求。Refer to FIG. 8, which is a block diagram of a device for implementing MOTOpay according to an exemplary embodiment of this specification. The device is applied to a client supporting MOTOpay payment carried on a terminal, and includes a sending module 801 for sending a first system call request to the terminal system in response to a payment request triggered by a user, so that the terminal system responds to the The first system call request is to perform first identity verification on the user, and after the user passes the first identity verification, obtain the stored bank card information from the trusted execution environment TEE, and return the bank card information to Client; execution module 802, used to execute the payment request based on the returned bank card information.
可选的,所述发送模块801,用于在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,向终端系统发送第二系统调用请求,以由所述终端系统响应于所述第二系统调用请求,对所述用户进行第二身份验证,并在用户通过第二身份验证后,将所述银行卡信息存储到TEE中。Optionally, the sending module 801 is configured to send a second system call request to the terminal system after acquiring the bank card information input by the user for MOTOpay payment, so that the terminal system can respond to the The second system calls a request to perform a second identity verification on the user, and after the user passes the second identity verification, the bank card information is stored in the TEE.
可选的,所述TEE中还包括:用户终端系统在所述用户通过第二身份验证后生成的公钥和私钥。所述装置还包括上传模块(图8中未示出),用于在接收到终端系统发送的第一加密验证信息和所述公钥时,将所述第一加密验证信息和所述公钥上传至服务端;所述第一加密验证信息是由对所述第二身份验证的验证信息加密处理得到。接收模块(图8中未示出),用于接收服务端在用户触发所述支付请求后下发的挑战码,并将所述挑战码发送给终端系统,以由所述终端系统在所述用户通过第一身份验证后,获 取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息,并采用所述私钥对所述第二加密验证信息和所述挑战码进行签名。所述上传模块,还用于接收终端系统发送的签名结果,并将签名结果发送给服务端,以由服务端对所述签名结果进行验证,以触发所述终端系统在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。Optionally, the TEE further includes: a public key and a private key generated by the user terminal system after the user passes the second identity verification. The device also includes an upload module (not shown in FIG. 8), which is used to combine the first encrypted verification information and the public key when receiving the first encrypted verification information and the public key sent by the terminal system. Upload to the server; the first encrypted verification information is obtained by encrypting the verification information of the second identity verification. The receiving module (not shown in Figure 8) is used to receive the challenge code issued by the server after the user triggers the payment request, and send the challenge code to the terminal system so that the terminal system can After passing the first identity verification, the user obtains verification information for the first identity verification, encrypts the verification information to obtain second encrypted verification information, and uses the private key to encrypt the second verification information Sign the challenge code. The upload module is also used to receive the signature result sent by the terminal system, and send the signature result to the server, so that the server verifies the signature result, so as to trigger the terminal system to pass the verification of the signature result At the time, obtain the stored bank card information from the TEE.
参见图9,图9是本说明书一示例性实施例示出的另一种实现MOTOpay的装置的框图。该装置应用于终端的终端系统,所述终端装载有支持MOTOpay支付的客户端,所述装置包括:验证模块901,用于响应于客户端发送的第一系统调用请求,对于所述用户进行第一身份验证;获取模块902,用于在所述用户通过第一身份验证后,从TEE中获取存储的银行卡信息;返回模块903,用于将所述银行卡信息返回给客户端,以由所述客户端基于所述银行卡信息执行用户触发的支付请求。Refer to FIG. 9, which is a block diagram of another device for implementing MOTOpay shown in an exemplary embodiment of this specification. The device is applied to a terminal system of a terminal, and the terminal is loaded with a client that supports MOTOpay payment. The device includes: a verification module 901 for responding to the first system call request sent by the client to perform the first system call to the user. An identity verification; an obtaining module 902, used to obtain the stored bank card information from the TEE after the user passes the first identity verification; a return module 903, used to return the bank card information to the client, so that The client executes a payment request triggered by the user based on the bank card information.
可选的,所述验证模块,还用于响应于客户端发送的第二系统调用请求,对所述用户进行第二身份验证;所述第二系统调用请求是所述客户端在获取到用户输入的用于MOTOpay支付的银行卡信息后发送的。所述装置还包括存储模块(图9中未示出),用于在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。Optionally, the verification module is further configured to perform a second identity verification on the user in response to a second system call request sent by the client; the second system call request is that the client obtains the user It is sent after entering the bank card information used for MOTOpay payment. The device also includes a storage module (not shown in FIG. 9) for storing the bank card information in the TEE after the user passes the second identity verification.
可选的,存储模块,在将所述银行卡信息存储到所述TEE中,用于在用户通过第二身份验证后,在TEE中生成公钥和私钥;采用所述公钥对所述银行卡信息进行加密,并将加密后的银行卡信息存储到TEE中。所述获取模块902,在从所述TEE中获取已存储的加密银行卡信息时,用于采用所述客户端对应的私钥对所述加密银行卡信息进行解密,得到所述银行卡信息。Optionally, a storage module, after storing the bank card information in the TEE, is used to generate a public key and a private key in the TEE after the user passes the second identity verification; use the public key to pair the TEE The bank card information is encrypted, and the encrypted bank card information is stored in the TEE. The obtaining module 902 is used to decrypt the encrypted bank card information by using the private key corresponding to the client when obtaining the stored encrypted bank card information from the TEE to obtain the bank card information.
可选的,所述装置还包括加密模块(图9中未示出),用于在生成所述公钥和私钥后,获取用于第二身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储。所述装置还包括签名模块(图9中未示出),用于在用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;采用所述私钥对所述第二加密验证信息和所述挑战码进行签名,并通过客户端将签名结果发送给服务端,以由服务端对所述签名结果进行验证;所述挑战码由所述服务端在用户触发所述支付请求后下发。所述获取模块902,在从TEE中获取存储的银行卡信息时,用于在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。Optionally, the device further includes an encryption module (not shown in FIG. 9) for obtaining verification information for second identity verification after generating the public key and the private key, and verifying the verification information Encryption processing is performed to obtain first encrypted verification information; the first encrypted verification information and the public key are uploaded to the server for storage through the client. The device also includes a signature module (not shown in FIG. 9) for obtaining verification information for the first identity verification after the user passes the first identity verification, and encrypting the verification information to obtain the first identity verification. 2. Encryption verification information; use the private key to sign the second encryption verification information and the challenge code, and send the signature result to the server through the client, so that the server verifies the signature result; The challenge code is issued by the server after the user triggers the payment request. The obtaining module 902 is used to obtain the stored bank card information from the TEE when the signature result is verified.
可选的,所述存储模块,在将所述银行卡信息存储到所述TEE中时,用于获取用于所述第二身份验证的身份信息的标识,得到第一标识;将所述银行卡信息和所述第一标识关联存储到TEE中。所述获取模块902,在从TEE中获取存储的银行卡信息时,用于获取用于所述第一身份验证的身份信息的标识,得到第二标识;从TEE中获取所述第二标识关联的银行卡信息。Optionally, when storing the bank card information in the TEE, the storage module is used to obtain the identity information used for the second identity verification to obtain the first identity; The card information and the first identifier are stored in the TEE in association with each other. The obtaining module 902 is used to obtain the identifier of the identity information used for the first identity verification when obtaining the stored bank card information from the TEE to obtain the second identifier; to obtain the second identifier association from the TEE Bank card information.
可选的,所述装置还包括:设置模块(图9中未示出),用于为存储在TEE中的银行卡信息设置老化时长;删除模块(图9中未示出),用于在检测到TEE中存储的银行卡信息的老化时长达到时,删除所述银行卡信息;或者,在检测到所述银行卡信息的使用情况达到预设使用条件时,删除所述银行卡信息。Optionally, the device further includes: a setting module (not shown in FIG. 9), which is used to set the aging duration for the bank card information stored in the TEE; and a deletion module (not shown in FIG. 9), which is used to When it is detected that the aging time of the bank card information stored in the TEE is reached, the bank card information is deleted; or when it is detected that the use of the bank card information reaches a preset use condition, the bank card information is deleted.
本说明书还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器。其中,所述处理器通过运行所述可执行指令以实现上述实现MOTOpay的方法。This specification also provides an electronic device, including: a processor; and a memory for storing executable instructions of the processor. Wherein, the processor implements the above-mentioned method for implementing MOTOpay by running the executable instruction.
本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述实现MOTOpay的方法。This specification also provides a computer-readable storage medium on which computer instructions are stored. When the instructions are executed by a processor, the above-mentioned method for implementing MOTOpay is realized.
在实际应用中,当用户通过终端设备进行身份认证时,比如用户某一APP时, 需要输入用户的身份信息,该APP的后台服务器对该用户的身份信息进行认证,才允许登录该APP。然而,每次登录,用户均要输入用户认证信息,不仅降低了登录效率,还不便于用户登录。In actual applications, when a user performs identity authentication through a terminal device, such as a certain APP of the user, the user's identity information needs to be input, and the back-end server of the APP authenticates the user's identity information before being allowed to log in to the APP. However, every time the user logs in, the user has to input user authentication information, which not only reduces the login efficiency, but also makes it inconvenient for the user to log in.
有鉴于此,本说明书提供了一种身份认证的实现方法,用于使得用户在进行身份认证时,不需要输入用户认证信息,只需输入指纹等生物特征就可实现身份认证。In view of this, this specification provides a method for implementing identity authentication, which is used to enable a user to perform identity authentication without inputting user authentication information, but only by inputting biometric characteristics such as fingerprints to achieve identity authentication.
下面从用户认证信息的存储过程、身份认证过程两方面,对本说明书提供的身份认证的实现方式进行详细地说明。The following describes in detail the implementation of the identity authentication provided in this manual from the two aspects of the storage process of user authentication information and the identity authentication process.
1、用户认证信息的存储过程1. The storage process of user authentication information
参见图10,图10是本说明书一示例性实施例示出的一种用户认证信息储存方法的流程图,该方法可应用在该方法可应用在终端上。该终端可包括客户端、以及终端系统。该终端可包括:PC机、可移动终端等。比如可移动终端可包括:用户的手机、IPAD、笔记本电脑、掌上电脑等等。这里不对终端、以及可移动终端进行具体地限定。Refer to FIG. 10, which is a flowchart of a method for storing user authentication information according to an exemplary embodiment of this specification. The method can be applied to the terminal. The terminal may include a client and a terminal system. The terminal may include: a PC, a portable terminal, etc. For example, the portable terminal may include: the user's mobile phone, IPAD, notebook computer, palmtop computer, and so on. The terminal and the mobile terminal are not specifically limited here.
该方法可包括如下所示步骤。The method may include the steps shown below.
步骤1002:客户端在获取到所述用户输入的用于身份认证的用户认证信息后,调用终端系统对所述用户进行第二本地身份验证。Step 1002: After obtaining the user authentication information input by the user for identity authentication, the client invokes the terminal system to perform a second local identity verification on the user.
用户认证信息包括:用户的证件号码、用户的身份隐私信息,比如用户名、密码等等。这里只是对用户认证信息进行示例性地说明,不对其进行具体地限定。User authentication information includes: user's certificate number, user's identity privacy information, such as user name, password, and so on. The user authentication information is only exemplified here, and it is not specifically limited.
用户在首次登录应用时,可在终端的客户端上输入用户认证信息。客户端在获取到用户认证信息后,可向终端系统发送第二系统调用请求。终端系统可响应于该第二系统调用请求,获取所述用户的用户信息,并依据该用户信息、以及本地存储的验证信息对所述用户进行第二本地身份验证。When the user logs in to the application for the first time, he can input user authentication information on the client terminal of the terminal. After obtaining the user authentication information, the client can send a second system call request to the terminal system. The terminal system may obtain the user information of the user in response to the second system call request, and perform a second local identity verification on the user based on the user information and the locally stored verification information.
用户信息可包括:用户的生物特征等信息。比如用户的指纹、用户的人脸特征、用户的虹膜特征等。这里只是对用户信息进行示例性地说明,不对其进行具体地限定。User information may include information such as the user's biological characteristics. For example, the user's fingerprint, the user's facial features, the user's iris features, and so on. The user information is only exemplified here, and it is not specifically limited.
终端系统本地存储有用户已注册的验证信息,比如用户已注册用户的生物特征信息,比如已注册的用户指纹、人脸特征,虹膜特征等。这里只是对终端系统本地存储的验证信息进行示例性地说明,不对其进行具体地限定。The terminal system locally stores the user's registered verification information, such as the user's biometric information of the registered user, such as the registered user's fingerprint, facial features, and iris features. Here, the verification information stored locally in the terminal system is merely exemplified, and no specific limitation is imposed on it.
在依据该身份信息、以及本地存储的验证信息对该用户进行第二本地身份验证时,终端系统可检测用户的身份信息与终端系统存储的验证信息是否匹配。若身份信息与验证信息匹配,则确定用户第二本地身份验证通过,若身份信息与验证信息不匹配,则确定用户第二本地身份验证不通过。When performing the second local identity verification on the user based on the identity information and the locally stored verification information, the terminal system can detect whether the user's identity information matches the verification information stored in the terminal system. If the identity information matches the verification information, it is determined that the user's second local identity verification is passed, and if the identity information does not match the verification information, it is determined that the user's second local identity verification fails.
步骤1004:终端系统在所述用户通过第二本地身份验证后,将所述用户认证信息存储到所述TEE中。Step 1004: After the user passes the second local identity verification, the terminal system stores the user authentication information in the TEE.
下面介绍几种将用户认证信息存储到TEE的方式。Here are several ways to store user authentication information in TEE.
方式一:在将用户认证信息储存在TEE中时,终端系统可只将用户认证信息储存至TEE中,用户的任何生物特征都可调用该TEE中的用户认证信息。Method 1: When storing the user authentication information in the TEE, the terminal system can only store the user authentication information in the TEE, and any biological characteristics of the user can call the user authentication information in the TEE.
以指纹为例,假设终端系统中包括用户的拇指指纹、食指指纹。假设用户输入的用户认证信息为身份证号,终端系统可只将用户认证信息存储在TEE中。在后续用户进行身份认证时,无论用户输入拇指指纹、或者食指指纹进行第一本地身份验证,调用均是TEE中存储的身份证号。Taking fingerprints as an example, suppose that the user's thumb fingerprint and index finger fingerprint are included in the terminal system. Assuming that the user authentication information entered by the user is the ID number, the terminal system may only store the user authentication information in the TEE. When the subsequent user performs identity authentication, whether the user enters a thumb fingerprint or an index finger fingerprint for the first local identity verification, the call is the ID number stored in the TEE.
方式二:终端系统可获取用于所述第二本地身份验证的生物特征的标识,得到 第一标识。然后,终端系统可将加密后用户认证信息和所述第一标识关联储存在TEE。Manner 2: The terminal system can obtain the biometric identification used for the second local identity verification to obtain the first identification. Then, the terminal system can store the encrypted user authentication information and the first identification in the TEE in association with each other.
这样的关联存储可使得用户的生物特征标识和不同的用户认证信息一一绑定。在后续用户进行身份认证时,可基于该用户的不同生物特征调用不同的用户认证信息。Such associative storage can make the user's biometric identification and different user authentication information be bound one by one. When the subsequent user performs identity authentication, different user authentication information can be called based on the different biological characteristics of the user.
比如,用户生物特征包括拇指指纹、食指指纹,用户认证信息包括:用户的身份号号码、用户的社保卡号码。在本例中,将拇指指纹与用户的身份证号码关联储存在TEE中,将食指指纹和用户的社保卡号码关联储存在TEE中。当在用户进行身份认证时,用户输入拇指指纹,可获取到用户的身份证号码进行身份认证,用户输入食指指纹,可获取到用户的社保卡号码进行身份认证。For example, the user's biological characteristics include thumb fingerprints and index finger fingerprints, and user authentication information includes: the user's identity number, and the user's social security card number. In this example, the thumb fingerprint and the user's ID number are associated and stored in the TEE, and the index finger fingerprint and the user's social security card number are associated and stored in the TEE. When the user performs identity authentication, the user enters the thumb fingerprint to obtain the user's ID number for identity authentication, and the user enters the index finger fingerprint to obtain the user's social security card number for identity authentication.
为了保证用户认证信息的安全性,无论是直接将用户认证信息存储在TEE中,还是将用户认证信息与第二本地身份验证的生物特征标识关联存储至TEE中,终端系统可采用生成的公钥对该用户认证信息进行加密,并将加密用户认证信息通过上述两种方式存储在TEE中。In order to ensure the security of user authentication information, whether it is to directly store user authentication information in the TEE, or store the user authentication information in association with the biometric identification of the second local identity verification in the TEE, the terminal system can use the generated public key The user authentication information is encrypted, and the encrypted user authentication information is stored in the TEE in the above two ways.
具体地,为了保障用户认证信息的安全性,终端系统可生成公钥、私钥的密钥对。该生成的密钥对可与客户端对应,也可与用户对应,这里不对该密钥对的对应关系进行具体地限定。当密钥与客户端绑定时,其他客户端不能访问该密钥对。当该密钥与用户绑定时,该客户端的其他用户或者其他客户端无法访问该密钥对,从而可保证用户认证信息的安全性。终端系统可采用公钥对用户认证信息进行加密,并将加密后的用户认证信息存储到TEE中。Specifically, in order to ensure the security of user authentication information, the terminal system may generate a key pair of a public key and a private key. The generated key pair may correspond to the client or the user, and the correspondence relationship of the key pair is not specifically limited here. When the key is bound to the client, other clients cannot access the key pair. When the key is bound to the user, other users of the client or other clients cannot access the key pair, thereby ensuring the security of user authentication information. The terminal system can use the public key to encrypt the user authentication information, and store the encrypted user authentication information in the TEE.
2、身份认证2. Identity authentication
参见图11,图11是本说明书一示例性实施例示出的一种认证实现方法的流程图。该方法可应用在终端上。该终端可包括客户端、以及终端系统。Refer to FIG. 11, which is a flowchart of an authentication implementation method shown in an exemplary embodiment of this specification. This method can be applied to the terminal. The terminal may include a client and a terminal system.
该方法可包括如下所示步骤:步骤1102:客户端响应于用户触发的身份认证请求,调用终端系统对所述用户进行本地第一本地身份验证。The method may include the following steps: Step 1102: In response to the identity authentication request triggered by the user, the client invokes the terminal system to perform local first local identity verification on the user.
在实现时,当客户端检测到用户触发的身份认证请求后,可响应于该身份认证请求,向终端系统发送第二系统调用消息。In implementation, after the client detects the identity authentication request triggered by the user, it can send a second system call message to the terminal system in response to the identity authentication request.
终端系统可响应于该第二系统调用消息,通过TUI获取用户输入的生物特征,并依据该生物特征、以及本地存储的验证信息对该用户的进行第一本地身份验证。In response to the second system call message, the terminal system can obtain the biometric input by the user through the TUI, and perform the first local identity verification on the user according to the biometric feature and the locally stored verification information.
在依据该生物特征对该用户进行第一本地身份验证时,终端系统可检测用户的生物特征与终端系统存储的验证信息是否匹配。若生物特征与验证信息匹配,则确定本地第一本地身份验证通过,若生物特征与验证信息不匹配,则确定本地第一本地身份验证不通过。When performing the first local identity verification on the user based on the biological characteristics, the terminal system can detect whether the biological characteristics of the user match the verification information stored in the terminal system. If the biological characteristics match the verification information, it is determined that the local first local identity verification is passed, and if the biological characteristics do not match the verification information, it is determined that the local first local identity verification fails.
步骤1104:终端系统在所述用户通过第一本地身份验证后,从可信执行环境TEE中获取存储的用户认证信息,并将所述用户认证信息返回给客户端。Step 1104: After the user passes the first local identity verification, the terminal system obtains the stored user authentication information from the trusted execution environment TEE, and returns the user authentication information to the client.
与上述步骤1004对应,步骤1104可通过多种实现方式实现。Corresponding to step 1004 above, step 1104 can be implemented in multiple implementation manners.
方式一:当终端系统在确定用户通过第二本地身份验证后,只将用户输入的用户认证信息储存在TEE中时,该步骤1104可为:终端系统在确定用户通过第一本地身份验证后,可直接从TEE中获取用户认证信息,并将用户认证信息返回给客户端。Method 1: When the terminal system only stores the user authentication information entered by the user in the TEE after determining that the user has passed the second local identity verification, this step 1104 may be: after the terminal system has determined that the user has passed the first local identity verification, The user authentication information can be obtained directly from the TEE, and the user authentication information can be returned to the client.
以指纹为例,假设终端系统中包括用户的拇指指纹、食指指纹。用户通过拇指指纹进行第二本地身份验证,终端系统在确定用户通过身份验证后,可只将用户输入的身份证号码存储在TEE中。Taking fingerprints as an example, suppose that the user's thumb fingerprint and index finger fingerprint are included in the terminal system. The user performs the second local identity verification through the thumb fingerprint. After the terminal system determines that the user passes the identity verification, only the ID number entered by the user can be stored in the TEE.
在后续用户支付时,无论用户输入拇指指纹、或食指指纹进行第一本地身份验 证,在第一本地身份验证通过后,终端系统从TEE中获取到的均是用户的身份证号码。In the subsequent user payment, no matter the user enters the thumb fingerprint or index finger fingerprint for the first local identity verification, after the first local identity verification is passed, the terminal system obtains the user's ID number from the TEE.
方式二:当终端系统在确定用户通过第二本地身份验证后,将该用于所述第二本地身份验证的生物特征的标识与该用户认证信息关联存储到TEE中时,该步骤1104的实现方式为:终端系统获取用于所述第一本地身份验证的生物特征的标识,得到第二标识;从TEE中获取所述第二标识关联的用户认证信息。Manner 2: After the terminal system determines that the user has passed the second local identity verification, the biometric identification used for the second local identity verification is associated with the user authentication information and stored in the TEE, then step 1104 is implemented The method is: the terminal system obtains the biometric identification used for the first local identity verification to obtain the second identification; and obtains the user authentication information associated with the second identification from the TEE.
比如,用户生物特征包括拇指指纹、食指指纹,用户认证信息包括:用户的身份号号码、用户的社保卡号码。For example, the user's biological characteristics include thumb fingerprints and index finger fingerprints, and user authentication information includes: the user's identity number, and the user's social security card number.
在本例中,将拇指指纹与用户的身份证号码关联储存在TEE中,将食指指纹和用户的社保卡号码关联储存在TEE中。当在用户进行身份认证时,用户输入拇指指纹,可获取到用户的身份证号码进行身份认证,用户输入食指指纹,可获取到用户的社保卡号码进行身份认证。In this example, the thumb fingerprint and the user's ID number are associated and stored in the TEE, and the index finger fingerprint and the user's social security card number are associated and stored in the TEE. When the user performs identity authentication, the user enters the thumb fingerprint to obtain the user's ID number for identity authentication, and the user enters the index finger fingerprint to obtain the user's social security card number for identity authentication.
此外,为了保证用户认证信息的安全性,无论是直接将用户认证信息存储在TEE中,还是将用户认证信息与第二本地身份验证的生物特征标识关联存储至TEE中,终端系统可采用生成的公钥对该用户认证信息进行加密,并将加密用户认证信息通过上述两种方式存储在TEE中。In addition, in order to ensure the security of user authentication information, whether it is directly storing user authentication information in the TEE, or storing the user authentication information in association with the biometric identification of the second local identity verification in the TEE, the terminal system can use the generated The public key encrypts the user authentication information, and stores the encrypted user authentication information in the TEE in the above two ways.
同理,无论是直接从TEE中获取用户认证信息,或者从TEE中获取与该第一身份认证的生物特征标识对应的用户认证信息,若终端系统从TEE中获取到的是加密用户认证信息,则可采用私钥对该用户认证信息进行解密,并将解密后的用户认证信息返回给客户端。Similarly, whether it is to obtain user authentication information directly from the TEE, or obtain user authentication information corresponding to the biometric identification of the first identity authentication from the TEE, if the terminal system obtains encrypted user authentication information from the TEE, The private key can be used to decrypt the user authentication information, and the decrypted user authentication information can be returned to the client.
步骤1106:客户端基于返回的所述用户认证信息执行所述身份认证请求。Step 1106: The client executes the identity authentication request based on the returned user authentication information.
在执行支付请求身份认证请求时,客户端可基于该银行卡信息用户认证信息生成支付消息身份认证消息,然后将支付消息身份认证消息发送给服务器,以由服务器进行身份认证。When performing a payment request identity authentication request, the client can generate a payment message identity authentication message based on the bank card information user authentication information, and then send the payment message identity authentication message to the server to perform identity authentication by the server.
在本说明书实施例中,为了保证用户认证信息的安全,当用户新增或者删除生物特征(比如指纹)时,用户都要重新输入用户认证信息。为了实现该“用户新增或者删除生物特征时,用户都要重新输入用户认证信息”的功能,可采用如下方式实现。In the embodiments of this specification, in order to ensure the security of user authentication information, when a user adds or deletes a biometric feature (such as a fingerprint), the user must re-enter the user authentication information. In order to realize the function of "the user has to re-enter user authentication information when adding or deleting biometrics," the following methods can be used.
在实现时,终端系统在生成公钥和私钥后,可获取用于第二本地身份验证的验证信息。换句话来说,终端系统可获取本地当前所存储的已注册的用户生物特征。In implementation, the terminal system can obtain the verification information used for the second local identity verification after generating the public key and the private key. In other words, the terminal system can obtain the registered user biometrics currently stored locally.
然后,终端系统可将该第二本地身份验证的验证信息进行加密处理,得到第一加密验证信息。比如,终端系统可计算该第二本地身份验证的验证信息的哈希值,然后将该哈希值作为第一加密验证信息。当然,终端系统还可采用其他加密处理方法,这里不进行具体地限定。Then, the terminal system can perform encryption processing on the verification information of the second local identity verification to obtain the first encrypted verification information. For example, the terminal system may calculate the hash value of the verification information of the second local identity verification, and then use the hash value as the first encryption verification information. Of course, the terminal system can also use other encryption processing methods, which are not specifically limited here.
终端系统可将第一加密验证信息和所述公钥发送给客户端,客户端可将第一加密验证信息和公钥发送给服务端进行存储。The terminal system may send the first encryption verification information and the public key to the client, and the client may send the first encryption verification information and the public key to the server for storage.
在用户触发身份认证请求后,客户端可接收服务端下发的挑战码。其中,该挑战码可是客户端在检测到用户的身份认证请求后,向服务端发送挑战码获取请求,以使得服务端响应于该挑战码获取请求,向客户端下发挑战码。当然,也该挑战码也可是服务端在用户触发身份认证请求后的其他时机下下发的,这里不进行具体地限定。After the user triggers the identity authentication request, the client can receive the challenge code issued by the server. Wherein, the challenge code may be that the client sends a challenge code acquisition request to the server after detecting the user's identity authentication request, so that the server sends the challenge code to the client in response to the challenge code acquisition request. Of course, the challenge code can also be issued by the server at other times after the user triggers the identity authentication request, which is not specifically limited here.
在用户触发身份认证请求后,客户端可向终端系统发送第一系统调用请求,终端系统可对用户进行第一本地身份验证。终端系统在用户通过第一本地身份验证后,可获取第一本地身份验证的验证信息。换句话来说,终端系统可获取当前本地存储的已注 册用户生物特征。After the user triggers the identity authentication request, the client can send the first system call request to the terminal system, and the terminal system can perform the first local identity verification on the user. After the user passes the first local identity verification, the terminal system can obtain the verification information of the first local identity verification. In other words, the terminal system can obtain the biometric characteristics of the registered user currently stored locally.
然后,终端系统可将该第一本地身份验证的验证信息进行加密处理,得到第二加密验证信息。比如,终端系统可计算该第一本地身份验证的验证信息的哈希值,然后将该哈希值作为第二加密验证信息。当然,终端系统还可采用其他加密处理方法,这里不进行具体地限定。Then, the terminal system can perform encryption processing on the verification information of the first local identity verification to obtain the second encrypted verification information. For example, the terminal system may calculate the hash value of the verification information of the first local identity verification, and then use the hash value as the second encryption verification information. Of course, the terminal system can also use other encryption processing methods, which are not specifically limited here.
终端系统采用所述私钥对第二加密验证信息和所述挑战码进行签名,并将签名结果发送给客户端。客户端将该签名结果发送给服务端,以由服务端对所述签名结果进行验证。The terminal system uses the private key to sign the second encryption verification information and the challenge code, and sends the signature result to the client. The client sends the signature result to the server, so that the server verifies the signature result.
在验证签名结果时,服务端可采用之前存储的公钥对该签名进行解密,得到第二加密验证信息和挑战码。When verifying the signature result, the server can use the previously stored public key to decrypt the signature to obtain the second encrypted verification information and the challenge code.
服务端可检测第二加密验证信息和之前存储的第一加密验证信息是否一致,以及解密得到的挑战码与下发的挑战码是否一致。The server can detect whether the second encrypted verification information is consistent with the previously stored first encrypted verification information, and whether the decrypted challenge code is consistent with the issued challenge code.
若第二加密验证信息和之前存储的第一加密验证信息一致,以及解密得到的挑战码与下发的挑战码一致,则向客户端返回签名结果通过的消息。客户端可将该签名结果通过的消息发送给终端系统,终端系统在接收到该签名结果通过的消息可确定签名结果通过,并执行上述从TEE中获取存储的用户认证信息的步骤。If the second encrypted verification information is consistent with the previously stored first encrypted verification information, and the decrypted challenge code is consistent with the issued challenge code, a message indicating that the signature result is passed is returned to the client. The client can send the message that the signature result passed to the terminal system, and the terminal system can determine that the signature result is passed after receiving the message that the signature result has passed, and execute the above-mentioned step of obtaining stored user authentication information from the TEE.
若第二加密验证信息和之前存储的第一加密验证信息不一致,和/或解密得到的挑战码与下发的挑战码不一致,则向客户端返回签名结果不通过的消息。客户端可将该签名结果不通过的消息发送给终端系统,终端系统在接收到该签名结果不通过的消息时,可确定签名结果不通过,终端系统不执行上述从TEE中获取存储的用户认证信息的步骤。可选的,终端系统在接收到签名结果不通过的消息时,还可从TEE中删除已存储的用户认证信息。If the second encrypted verification information is inconsistent with the previously stored first encrypted verification information, and/or the decrypted challenge code is inconsistent with the issued challenge code, a message indicating that the signature result is not passed is returned to the client. The client can send the message that the signature result is not passed to the terminal system. When the terminal system receives the message that the signature result is not passed, the terminal system can determine that the signature result is not passed, and the terminal system does not perform the above-mentioned user authentication obtained from the TEE. Informational steps. Optionally, the terminal system may also delete the stored user authentication information from the TEE when receiving the message that the signature result is not passed.
由上述描述可知,在本说明书中,用户在进行身份认证时,只需要用户按指纹等,就可实现身份认证。通过用户信息(比如用户的指纹等)授权获取终端存取的用户认证信息,可保障用户认证信息的安全性。It can be seen from the above description that in this manual, when a user performs identity authentication, the user only needs to press his fingerprint, etc., to achieve identity authentication. The user authentication information accessed by the terminal is authorized to obtain the user authentication information through user information (such as the user's fingerprint, etc.), which can ensure the security of the user authentication information.
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。For the implementation process of the functions and roles of each unit in the above-mentioned device, refer to the implementation process of the corresponding steps in the above-mentioned method for details, which will not be repeated here.
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可是或者也可不是物理上分开的,作为单元显示的部件可是或者也可不是物理单元,即可位于一个地方,或者也可分布到多个网络单元上。可根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可理解并实施。As for the device embodiment, since it basically corresponds to the method embodiment, the relevant part can refer to the part of the description of the method embodiment. The device embodiments described above are merely illustrative, and the units described as separate parts may or may not be physically separated, and the parts displayed as units may or may not be physical units, which can be located in one place. , Or it can be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in this specification. Those of ordinary skill in the art can understand and implement it without creative work.
上述实施例阐明的系统、装置、模块或单元,具体可由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。The systems, devices, modules, or units explained in the foregoing embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. The specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game console. , Tablet computers, wearable devices, or a combination of any of these devices.
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。The above descriptions are only the preferred embodiments of this specification and are not intended to limit this specification. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification shall be included in this specification. Within the scope of protection.

Claims (31)

  1. 一种实现MOTOpay的方法,应用于终端,所述终端装载有支持MOTOpay支付的客户端,所述方法包括:A method for implementing MOTOpay, applied to a terminal, the terminal is loaded with a client terminal that supports MOTOpay payment, and the method includes:
    客户端响应于用户触发的支付请求,调用终端系统对所述用户进行第一身份验证;In response to the payment request triggered by the user, the client invokes the terminal system to perform the first identity verification on the user;
    所述终端系统在所述用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给所述客户端;After the user passes the first identity verification, the terminal system obtains the stored bank card information from the trusted execution environment TEE, and returns the bank card information to the client;
    所述客户端基于返回的所述银行卡信息执行所述支付请求。The client executes the payment request based on the returned bank card information.
  2. 根据权利要求1所述的方法,所述方法还包括:The method according to claim 1, further comprising:
    所述客户端在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,调用所述终端系统对所述用户进行第二身份验证;After obtaining the bank card information input by the user for MOTOpay payment, the client invokes the terminal system to perform a second identity verification on the user;
    所述终端系统在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。The terminal system stores the bank card information in the TEE after the user passes the second identity verification.
  3. 根据权利要求2所述的方法,所述将所述银行卡信息存储到所述TEE中,包括:The method according to claim 2, wherein said storing said bank card information in said TEE comprises:
    在所述用户通过第二身份验证后,在所述TEE中生成公钥和私钥;After the user passes the second identity verification, generate a public key and a private key in the TEE;
    采用所述公钥对所述银行卡信息进行加密,并将加密银行卡信息存储到所述TEE中;Use the public key to encrypt the bank card information, and store the encrypted bank card information in the TEE;
    所述从可信执行环境TEE中获取存储的银行卡信息,包括:The obtaining and storing bank card information from the trusted execution environment TEE includes:
    从所述TEE中获取已存储的所述加密银行卡信息;Obtain the stored encrypted bank card information from the TEE;
    采用所述客户端对应的私钥对所述加密银行卡信息进行解密,得到所述银行卡信息。Use the private key corresponding to the client to decrypt the encrypted bank card information to obtain the bank card information.
  4. 根据权利要求3所述的方法,所述方法还包括:The method according to claim 3, further comprising:
    所述终端系统在生成所述公钥和私钥后,获取用于第二身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;After generating the public key and the private key, the terminal system obtains verification information used for second identity verification, and encrypts the verification information to obtain the first encrypted verification information;
    所述终端系统将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;The terminal system uploads the first encryption verification information and the public key to the server through the client for storage;
    所述方法还包括:The method also includes:
    所述客户端接收所述服务端在所述用户触发所述支付请求后下发的挑战码;Receiving, by the client, a challenge code issued by the server after the user triggers the payment request;
    所述终端系统在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;After the user passes the first identity verification, the terminal system obtains verification information for the first identity verification, and encrypts the verification information to obtain second encrypted verification information;
    所述终端系统采用所述私钥对所述第二加密验证信息和所述挑战码进行签名,并通过所述客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;The terminal system uses the private key to sign the second encrypted verification information and the challenge code, and sends the signature result to the server through the client, so that the server can The signature result is verified;
    所述从可信执行环境TEE中获取存储的银行卡信息,包括:The obtaining and storing bank card information from the trusted execution environment TEE includes:
    在所述签名结果通过验证时,从TEE中获取存储的银行卡信息。When the signature result is verified, the stored bank card information is obtained from the TEE.
  5. 根据权利要求2所述的方法,所述将所述银行卡信息存储到所述TEE中,包括:The method according to claim 2, wherein said storing said bank card information in said TEE comprises:
    所述终端系统获取用于所述第二身份验证的身份信息的标识,得到第一标识;Acquiring, by the terminal system, the identifier of the identity information used for the second identity verification to obtain the first identifier;
    所述终端系统将所述银行卡信息和所述第一标识关联存储到所述TEE中;The terminal system associates and stores the bank card information and the first identifier in the TEE;
    所述从可信执行环境TEE中获取存储的银行卡信息,包括:The obtaining and storing bank card information from the trusted execution environment TEE includes:
    所述终端系统获取用于所述第一身份验证的身份信息的标识,得到第二标识,并从TEE中获取所述第二标识关联的银行卡信息。The terminal system obtains the identifier of the identity information used for the first identity verification, obtains the second identifier, and obtains the bank card information associated with the second identifier from the TEE.
  6. 根据权利要求2所述的方法,所述方法还包括:The method according to claim 2, further comprising:
    所述终端系统为存储在所述TEE中的银行卡信息设置老化时长;The terminal system sets the aging time length for the bank card information stored in the TEE;
    所述终端系统在检测到所述TEE中存储的银行卡信息的老化时长达到时,删除所述银行卡信息;The terminal system deletes the bank card information when it detects that the aging time of the bank card information stored in the TEE has reached;
    或者,or,
    所述终端系统在检测到所述银行卡信息的使用情况达到预设使用条件时,删除所述银行卡信息;The terminal system deletes the bank card information when it detects that the use of the bank card information reaches a preset use condition;
    或者,or,
    所述客户端在接收到用户的删除指示时,调用终端系统删除所述银行卡信息。When the client terminal receives the user's deletion instruction, it calls the terminal system to delete the bank card information.
  7. 根据权利要求1所述的方法,所述银行卡信息包括如下至少之一:银行卡卡号、姓名、卡有效期、CVV码。The method according to claim 1, wherein the bank card information includes at least one of the following: bank card number, name, card validity period, and CVV code.
  8. 一种实现MOTOpay的方法,应用于终端上搭载的支持MOTOpay支付的客户端,所述方法包括:A method for implementing MOTOpay, which is applied to a client supporting MOTOpay payment carried on a terminal, and the method includes:
    响应于用户触发的支付请求,向终端系统发送第一系统调用请求,以由所述终端系统响应于所述第一系统调用请求,对所述用户进行第一身份验证,并在所述用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给所述客户端;In response to the payment request triggered by the user, a first system call request is sent to the terminal system, so that the terminal system responds to the first system call request to perform the first identity verification on the user, and the user passes the After the first identity verification, obtain the stored bank card information from the trusted execution environment TEE, and return the bank card information to the client;
    基于返回的所述银行卡信息执行所述支付请求。The payment request is executed based on the returned bank card information.
  9. 根据权利要求8所述的方法,所述方法还包括:The method according to claim 8, further comprising:
    在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,向终端系统发送第二系统调用请求,以由所述终端系统响应于所述第二系统调用请求,对所述用户进行第二身份验证,并在所述用户通过第二身份验证后,将所述银行卡信息存储到TEE中。After obtaining the bank card information input by the user for MOTOpay payment, a second system call request is sent to the terminal system, so that the terminal system responds to the second system call request to perform the first system call on the user. Second identity verification, and after the user passes the second identity verification, the bank card information is stored in the TEE.
  10. 根据权利要求9所述的方法,所述TEE中还包括:用户终端系统在所述用户通过第二身份验证后生成的公钥和私钥;The method according to claim 9, wherein the TEE further comprises: a public key and a private key generated by the user terminal system after the user passes the second identity verification;
    所述方法还包括:The method also includes:
    在接收到终端系统发送的第一加密验证信息和所述公钥时,将所述第一加密验证信息和所述公钥上传至服务端;所述第一加密验证信息是对所述第二身份验证的验证信息加密处理得到;When the first encrypted verification information and the public key sent by the terminal system are received, the first encrypted verification information and the public key are uploaded to the server; the first encrypted verification information is for the second The verification information of identity verification is encrypted and processed;
    接收所述服务端在所述用户触发所述支付请求后下发的挑战码,并将所述挑战码发送给所述终端系统,以由所述终端系统在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息,并采用所述私钥对所述第二加密验证信息和所述挑战码进行签名;Receive the challenge code issued by the server after the user triggers the payment request, and send the challenge code to the terminal system, so that the terminal system will pass the first identity verification by the terminal system , Obtain verification information for the first identity verification, encrypt the verification information to obtain second encrypted verification information, and use the private key to sign the second encrypted verification information and the challenge code ;
    接收所述终端系统发送的签名结果,并将所述签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证,以触发所述终端系统在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。Receive the signature result sent by the terminal system, and send the signature result to the server, so that the server verifies the signature result, so as to trigger the terminal system to pass the verification of the signature result At the time, obtain the stored bank card information from the TEE.
  11. 一种实现MOTOpay的方法,应用于终端的终端系统,所述终端搭载有支持MOTOpay支付的客户端,所述方法包括:A method for implementing MOTOpay is applied to a terminal system of a terminal equipped with a client terminal supporting MOTOpay payment, and the method includes:
    响应于所述客户端发送的第一系统调用请求,对于所述用户进行第一身份验证;In response to the first system call request sent by the client, performing a first identity verification on the user;
    在所述用户通过第一身份验证后,从TEE中获取存储的银行卡信息;After the user passes the first identity verification, obtain the stored bank card information from the TEE;
    将所述银行卡信息返回给客户端,以由所述客户端基于所述银行卡信息执行用户触发的支付请求。The bank card information is returned to the client, so that the client executes the payment request triggered by the user based on the bank card information.
  12. 根据权利要求11所述的方法,所述方法还包括:The method according to claim 11, the method further comprising:
    响应于客户端发送的第二系统调用请求,对所述用户进行第二身份验证;所述第二系统调用请求是所述客户端在获取到用户输入的用于MOTOpay支付的银行卡信息后发送的;In response to the second system call request sent by the client, the second identity verification is performed on the user; the second system call request is sent by the client after obtaining the bank card information input by the user for MOTOpay payment of;
    在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。After the user passes the second identity verification, the bank card information is stored in the TEE.
  13. 根据权利要求12所述的方法,所述将所述银行卡信息存储到所述TEE中,包括:The method according to claim 12, the storing the bank card information in the TEE comprises:
    在所述用户通过第二身份验证后,在TEE中生成公钥和私钥;After the user passes the second identity verification, generate a public key and a private key in the TEE;
    采用所述公钥对所述银行卡信息进行加密,并将加密银行卡信息存储到TEE中;Use the public key to encrypt the bank card information, and store the encrypted bank card information in the TEE;
    所述从TEE中获取存储的银行卡信息,包括:The obtaining and storing bank card information from the TEE includes:
    从所述TEE中获取已存储的所述加密银行卡信息;Obtain the stored encrypted bank card information from the TEE;
    采用所述客户端对应的私钥对所述加密银行卡信息进行解密,得到所述银行卡信息。Use the private key corresponding to the client to decrypt the encrypted bank card information to obtain the bank card information.
  14. 根据权利要求12所述的方法,所述方法还包括:The method according to claim 12, the method further comprising:
    在生成所述公钥和私钥后,获取用于第二身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;After generating the public key and the private key, obtaining verification information for second identity verification, and encrypting the verification information to obtain the first encrypted verification information;
    将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;Uploading the first encrypted verification information and the public key to the server for storage through the client;
    所述方法还包括:The method also includes:
    在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;After the user passes the first identity verification, obtain verification information for the first identity verification, and encrypt the verification information to obtain second encrypted verification information;
    采用所述私钥对所述第二加密验证信息和已接收到的挑战码进行签名,并通过客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;所述挑战码由所述服务端在所述用户触发所述支付请求后下发;Use the private key to sign the second encrypted verification information and the received challenge code, and send the signature result to the server through the client, so that the server verifies the signature result The challenge code is issued by the server after the user triggers the payment request;
    所述从TEE中获取存储的银行卡信息,包括:The obtaining and storing bank card information from the TEE includes:
    在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。When the signature result is verified, the stored bank card information is obtained from the TEE.
  15. 根据权利要求12所述的方法,所述将所述银行卡信息存储到所述TEE中,包括:The method according to claim 12, the storing the bank card information in the TEE comprises:
    获取用于所述第二身份验证的身份信息的标识,得到第一标识;Acquiring the identifier of the identity information used for the second identity verification to obtain the first identifier;
    将所述银行卡信息和所述第一标识关联存储到TEE中;Store the bank card information and the first identifier in a TEE in association;
    所述从TEE中获取存储的银行卡信息,包括:The obtaining and storing bank card information from the TEE includes:
    获取用于所述第一身份验证的身份信息的标识,得到第二标识;Acquiring the identifier of the identity information used for the first identity verification to obtain the second identifier;
    从TEE中获取所述第二标识关联的银行卡信息。Obtain the bank card information associated with the second identifier from the TEE.
  16. 根据权利要求12所述的方法,所述方法还包括:The method according to claim 12, the method further comprising:
    为存储在所述TEE中的银行卡信息设置老化时长;Setting the aging time period for the bank card information stored in the TEE;
    在检测到所述TEE中存储的银行卡信息的老化时长达到时,删除所述银行卡信息;Delete the bank card information when it is detected that the aging time of the bank card information stored in the TEE is reached;
    或者,or,
    在检测到所述银行卡信息的使用情况达到预设使用条件时,删除所述银行卡信息。When it is detected that the use of the bank card information reaches a preset use condition, the bank card information is deleted.
  17. 一种实现MOTOpay的装置,应用于终端上搭载的支持MOTOpay支付的客户端,所述装置包括:A device for implementing MOTOpay, which is applied to a client supporting MOTOpay payment carried on a terminal, and the device includes:
    发送模块,用于响应于用户触发的支付请求,向终端系统发送第一系统调用请求,以由所述终端系统响应于所述第一系统调用请求,对所述用户进行第一身份验证,并在所述用户通过第一身份验证后,从可信执行环境TEE中获取存储的银行卡信息,并将所述银行卡信息返回给所述客户端;The sending module is configured to send a first system call request to the terminal system in response to the payment request triggered by the user, so that the terminal system responds to the first system call request to perform the first identity verification on the user, and After the user passes the first identity verification, obtain the stored bank card information from the trusted execution environment TEE, and return the bank card information to the client;
    执行模块,用于基于返回的所述银行卡信息执行所述支付请求。The execution module is configured to execute the payment request based on the returned bank card information.
  18. 根据权利要求17所述的装置,所述发送模块,用于在获取到所述用户输入的用于MOTOpay支付的银行卡信息后,向终端系统发送第二系统调用请求,以由所述终端系统响应于所述第二系统调用请求,对所述用户进行第二身份验证,并在所述用户通过第二身份验证后,将所述银行卡信息存储到TEE中。The device according to claim 17, wherein the sending module is configured to send a second system call request to the terminal system after acquiring the bank card information input by the user for MOTOpay payment, so that the terminal system In response to the second system call request, a second identity verification is performed on the user, and after the user passes the second identity verification, the bank card information is stored in the TEE.
  19. 根据权利要求18所述的装置,所述TEE中还包括:用户终端系统在所述用户通过第二身份验证后生成的公钥和私钥;The apparatus according to claim 18, wherein the TEE further comprises: a public key and a private key generated by the user terminal system after the user passes the second identity verification;
    所述装置还包括:The device also includes:
    上传模块,用于在接收到终端系统发送的第一加密验证信息和所述公钥时,将所述第一加密验证信息和所述公钥上传至服务端;所述第一加密验证信息是由对所述第二身份验证的验证信息加密处理得到;The upload module is configured to upload the first encrypted verification information and the public key to the server when receiving the first encrypted verification information and the public key sent by the terminal system; the first encrypted verification information is Obtained by encrypting the verification information of the second identity verification;
    接收模块,用于接收所述服务端在所述用户触发所述支付请求后下发的挑战码,并将所述挑战码发送给所述终端系统,以由所述终端系统在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息,并采用所述私钥对所述第二加密验证信息和所述挑战码进行签名;The receiving module is configured to receive the challenge code issued by the server after the user triggers the payment request, and send the challenge code to the terminal system for the terminal system to pass the user through After the first identity verification, the verification information used for the first identity verification is obtained, the verification information is encrypted, and the second encrypted verification information is obtained, and the second encrypted verification information is encrypted with the private key. Sign the challenge code;
    所述上传模块,还用于接收所述终端系统发送的签名结果,并将所述签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证,以触发所述终端系统在所述 签名结果通过验证时,从所述TEE中获取存储的银行卡信息。The upload module is further configured to receive the signature result sent by the terminal system, and send the signature result to the server, so that the server verifies the signature result to trigger the terminal When the signature result is verified, the system obtains the stored bank card information from the TEE.
  20. 一种实现MOTOpay的装置,应用于终端的终端系统,所述终端搭载有支持MOTOpay支付的客户端,所述装置包括:A device for implementing MOTOpay is applied to a terminal system of a terminal, the terminal is equipped with a client terminal that supports MOTOpay payment, and the device includes:
    验证模块,用于响应于所述客户端发送的第一系统调用请求,对于所述用户进行第一身份验证;The verification module is configured to perform first identity verification on the user in response to the first system call request sent by the client;
    获取模块,用于在所述用户通过第一身份验证后,从TEE中获取存储的银行卡信息;The obtaining module is used to obtain the stored bank card information from the TEE after the user passes the first identity verification;
    返回模块,用于将所述银行卡信息返回给客户端,以由所述客户端基于所述银行卡信息执行用户触发的支付请求。The return module is used to return the bank card information to the client, so that the client executes the user-triggered payment request based on the bank card information.
  21. 根据权利要求20所述的装置,所述验证模块,还用于响应于客户端发送的第二系统调用请求,对所述用户进行第二身份验证;所述第二系统调用请求是所述客户端在获取到用户输入的用于MOTOpay支付的银行卡信息后发送的;The device according to claim 20, wherein the verification module is further configured to perform a second identity verification on the user in response to a second system call request sent by the client; the second system call request is for the client Send after receiving the bank card information entered by the user for MOTOpay payment;
    所述装置还包括:The device also includes:
    存储模块,用于在所述用户通过第二身份验证后,将所述银行卡信息存储到所述TEE中。The storage module is configured to store the bank card information in the TEE after the user passes the second identity verification.
  22. 根据权利要求21所述的装置,所述存储模块,在将所述银行卡信息存储到所述TEE中时,用于在所述用户通过第二身份验证后,在TEE中生成公钥和私钥;采用所述公钥对所述银行卡信息进行加密,并将加密银行卡信息存储到TEE中;The device according to claim 21, the storage module, when storing the bank card information in the TEE, is used to generate a public key and a private key in the TEE after the user passes the second identity verification. Key; use the public key to encrypt the bank card information, and store the encrypted bank card information in the TEE;
    所述获取模块,在从TEE中获取存储的银行卡信息时,用于从所述TEE中获取已存储的所述加密银行卡信息;采用所述客户端对应的私钥对所述加密银行卡信息进行解密,得到所述银行卡信息。The obtaining module is used to obtain the stored encrypted bank card information from the TEE when obtaining the stored bank card information from the TEE; use the private key corresponding to the client to pair the encrypted bank card The information is decrypted to obtain the bank card information.
  23. 根据权利要求21所述的装置,所述装置还包括:The device according to claim 21, further comprising:
    加密模块,用于在生成所述公钥和私钥后,获取用于第二身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;The encryption module is used to obtain verification information for second identity verification after generating the public key and the private key, and encrypt the verification information to obtain first encrypted verification information; and encrypt the first The verification information and the public key are uploaded to the server for storage through the client;
    所述装置还包括:The device also includes:
    签名模块,用于在所述用户通过第一身份验证后,获取用于第一身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;采用所述私钥对所述第二加密验证信息和已接收到的挑战码进行签名,并通过客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;所述挑战码由所述服务端在所述用户触发所述支付请求后下发;The signature module is used to obtain verification information for the first identity verification after the user passes the first identity verification, and encrypt the verification information to obtain the second encrypted verification information; using the private key pair The second encryption verification information and the received challenge code are signed, and the signature result is sent to the server through the client, so that the server verifies the signature result; the challenge code is The server issues after the user triggers the payment request;
    所述获取模块,在从TEE中获取存储的银行卡信息时,用于在所述签名结果通过验证时,从所述TEE中获取存储的银行卡信息。The acquiring module is used to acquire the stored bank card information from the TEE when the signature result is verified.
  24. 根据权利要求21所述的装置,所述存储模块,在将所述银行卡信息存储到所述TEE中时,用于获取用于所述第二身份验证的身份信息的标识,得到第一标识;将所述银行卡信息和所述第一标识关联存储到TEE中;The device according to claim 21, the storage module, when storing the bank card information in the TEE, is used to obtain the identity information used for the second identity verification to obtain the first identity ; Store the bank card information and the first identifier in association with the TEE;
    所述获取模块,在从TEE中获取存储的银行卡信息时,用于获取用于所述第一身份验证的身份信息的标识,得到第二标识;从TEE中获取所述第二标识关联的银行卡信息。The acquiring module is used to acquire the identifier of the identity information used for the first identity verification when acquiring the stored bank card information from the TEE to obtain the second identifier; to acquire the information associated with the second identifier from the TEE Bank card information.
  25. 根据权利要求21所述的装置,所述装置还包括:The device according to claim 21, further comprising:
    设置模块,用于为存储在所述TEE中的银行卡信息设置老化时长;A setting module for setting the aging time length for the bank card information stored in the TEE;
    删除模块,用于在检测到所述TEE中存储的银行卡信息的老化时长达到时,删除所述银行卡信息;或者,在检测到所述银行卡信息的使用情况达到预设使用条件时,删除所述银行卡信息。The deletion module is used to delete the bank card information when it is detected that the aging time of the bank card information stored in the TEE reaches; or, when it is detected that the use of the bank card information reaches a preset use condition, Delete the bank card information.
  26. 一种电子设备,包括:An electronic device including:
    处理器;processor;
    用于存储处理器可执行指令的存储器;A memory for storing processor executable instructions;
    其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。Wherein, the processor implements the method according to any one of claims 1-7 by running the executable instruction.
  27. 一种实现身份认证的方法,应用于终端,所述终端装载有客户端,所述方法包括:A method for realizing identity authentication, applied to a terminal, the terminal is loaded with a client, and the method includes:
    所述客户端响应于用户触发的身份认证请求,调用所述终端系统对所述用户进行第一本地身份验证;In response to the identity authentication request triggered by the user, the client invokes the terminal system to perform the first local identity authentication on the user;
    所述终端系统在所述用户通过第一本地身份验证后,从可信执行环境TEE中获取存储的用户认证信息,并将所述用户认证信息返回给客户端;After the user passes the first local identity verification, the terminal system obtains the stored user authentication information from the trusted execution environment TEE, and returns the user authentication information to the client;
    客户端基于返回的所述用户认证信息执行所述身份认证请求。The client executes the identity authentication request based on the returned user authentication information.
  28. 根据权利要求27所述的方法,所述方法还包括:The method according to claim 27, further comprising:
    所述客户端在获取到所述用户输入的用于身份认证的用户认证信息后,调用所述终端系统对所述用户进行第二本地身份验证;After obtaining the user authentication information input by the user for identity authentication, the client invokes the terminal system to perform a second local identity verification on the user;
    所述终端系统在所述用户通过第二本地身份验证后,将所述用户认证信息存储到所述TEE中。The terminal system stores the user authentication information in the TEE after the user passes the second local identity verification.
  29. 根据权利要求28所述的方法,所述将所述用户认证信息存储到所述TEE中,包括:The method according to claim 28, wherein said storing said user authentication information in said TEE comprises:
    在所述用户通过第二本地身份验证后,在所述TEE中生成公钥和私钥;After the user passes the second local identity verification, generate a public key and a private key in the TEE;
    采用所述公钥对所述用户认证信息进行加密,并将加密用户认证信息存储到所述TEE中;Encrypting the user authentication information by using the public key, and storing the encrypted user authentication information in the TEE;
    所述从可信执行环境TEE中获取存储的用户认证信息,包括:The obtaining of stored user authentication information from the trusted execution environment TEE includes:
    从所述TEE中获取已存储的所述加密用户认证信息;Acquiring the stored encrypted user authentication information from the TEE;
    采用所述客户端对应的私钥对所述加密用户认证信息进行解密,得到所述用户认证信息。Use the private key corresponding to the client to decrypt the encrypted user authentication information to obtain the user authentication information.
  30. 根据权利要求29所述的方法,所述方法还包括:The method according to claim 29, further comprising:
    所述终端系统在生成所述公钥和私钥后,获取用于第二本地身份验证的验证信息,并对所述验证信息进行加密处理,得到第一加密验证信息;After generating the public key and the private key, the terminal system obtains the verification information used for the second local identity verification, and encrypts the verification information to obtain the first encrypted verification information;
    所述终端系统将所述第一加密验证信息和所述公钥通过所述客户端上传至服务端存储;The terminal system uploads the first encryption verification information and the public key to the server through the client for storage;
    所述方法还包括:The method also includes:
    所述客户端接收所述服务端在所述用户触发所述身份认证请求后下发的挑战码;Receiving, by the client, a challenge code issued by the server after the user triggers the identity authentication request;
    所述终端系统在所述用户通过第一本地身份验证后,获取用于第一本地身份验证的验证信息,并对所述验证信息进行加密处理,得到第二加密验证信息;After the user passes the first local identity verification, the terminal system obtains verification information for the first local identity verification, and encrypts the verification information to obtain second encrypted verification information;
    所述终端系统采用所述私钥对所述第二加密验证信息和所述挑战码进行签名,并通过所述客户端将签名结果发送给所述服务端,以由所述服务端对所述签名结果进行验证;The terminal system uses the private key to sign the second encrypted verification information and the challenge code, and sends the signature result to the server through the client, so that the server can The signature result is verified;
    所述从可信执行环境TEE中获取存储的用户认证信息,包括:The obtaining of stored user authentication information from the trusted execution environment TEE includes:
    在所述签名结果通过验证时,从所述TEE中获取存储的用户认证信息。When the signature result passes the verification, the stored user authentication information is obtained from the TEE.
  31. 根据权利要求28所述的方法,所述将所述用户认证信息存储到所述TEE中,包括:The method according to claim 28, wherein said storing said user authentication information in said TEE comprises:
    所述终端系统获取用于所述第二本地身份验证的身份信息的标识,得到第一标识;Acquiring, by the terminal system, the identifier of the identity information used for the second local identity verification to obtain the first identifier;
    所述终端系统将所述用户认证信息和所述第一标识关联存储到所述TEE中;The terminal system associates and stores the user authentication information and the first identifier in the TEE;
    所述从可信执行环境TEE中获取存储的用户认证信息,包括:The obtaining of stored user authentication information from the trusted execution environment TEE includes:
    所述终端系统获取用于所述第一本地身份验证的生物特征的标识,得到第二标识,并从所述TEE中获取所述第二标识关联的用户认证信息。The terminal system obtains the biometric identification used for the first local identity verification, obtains the second identification, and obtains the user authentication information associated with the second identification from the TEE.
PCT/CN2021/099608 2020-06-12 2021-06-11 Method and apparatus for implementing motopay, and electronic device WO2021249527A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010537132.3 2020-06-12
CN202010537132.3A CN111445231A (en) 2020-06-12 2020-06-12 Method and device for realizing MOTOpay and electronic equipment

Publications (1)

Publication Number Publication Date
WO2021249527A1 true WO2021249527A1 (en) 2021-12-16

Family

ID=71655409

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/099608 WO2021249527A1 (en) 2020-06-12 2021-06-11 Method and apparatus for implementing motopay, and electronic device

Country Status (2)

Country Link
CN (1) CN111445231A (en)
WO (1) WO2021249527A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023155642A1 (en) * 2022-02-18 2023-08-24 支付宝(杭州)信息技术有限公司 Identity authentication using time-based one-time password algorithm

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111445231A (en) * 2020-06-12 2020-07-24 支付宝(杭州)信息技术有限公司 Method and device for realizing MOTOpay and electronic equipment
CN112866280B (en) 2020-07-03 2023-01-10 支付宝(杭州)信息技术有限公司 Information verification method, device and equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446713A (en) * 2014-08-13 2016-03-30 阿里巴巴集团控股有限公司 Safe storage method and equipment
CN105631293A (en) * 2015-12-29 2016-06-01 宇龙计算机通信科技(深圳)有限公司 Data access method, data access system and terminal
CN106936792A (en) * 2015-12-30 2017-07-07 卓望数码技术(深圳)有限公司 Safety certifying method and system and the mobile terminal for safety certification
CN107301543A (en) * 2017-06-29 2017-10-27 维沃移动通信有限公司 A kind of method of mobile payment and mobile terminal
WO2018137302A1 (en) * 2017-01-25 2018-08-02 华为技术有限公司 Method and device for adding bank card
CN110968743A (en) * 2019-12-13 2020-04-07 支付宝(杭州)信息技术有限公司 Data storage and data reading method and device for private data
CN111445231A (en) * 2020-06-12 2020-07-24 支付宝(杭州)信息技术有限公司 Method and device for realizing MOTOpay and electronic equipment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660417B (en) * 2015-03-17 2018-02-27 联想(北京)有限公司 Verification method, checking device and electronic equipment
CN104778794B (en) * 2015-04-24 2017-06-20 华为技术有限公司 mobile payment device and method
CN105825382B (en) * 2015-09-14 2022-03-11 维沃移动通信有限公司 Mobile payment method and electronic equipment
CN105868983A (en) * 2016-04-26 2016-08-17 北京小米移动软件有限公司 Information output control method and device and intelligent terminal
CN108429769B (en) * 2018-06-01 2021-08-06 北京一砂信息技术有限公司 Identity authentication method, device and system based on biological characteristic recognition and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446713A (en) * 2014-08-13 2016-03-30 阿里巴巴集团控股有限公司 Safe storage method and equipment
CN105631293A (en) * 2015-12-29 2016-06-01 宇龙计算机通信科技(深圳)有限公司 Data access method, data access system and terminal
CN106936792A (en) * 2015-12-30 2017-07-07 卓望数码技术(深圳)有限公司 Safety certifying method and system and the mobile terminal for safety certification
WO2018137302A1 (en) * 2017-01-25 2018-08-02 华为技术有限公司 Method and device for adding bank card
CN107301543A (en) * 2017-06-29 2017-10-27 维沃移动通信有限公司 A kind of method of mobile payment and mobile terminal
CN110968743A (en) * 2019-12-13 2020-04-07 支付宝(杭州)信息技术有限公司 Data storage and data reading method and device for private data
CN111445231A (en) * 2020-06-12 2020-07-24 支付宝(杭州)信息技术有限公司 Method and device for realizing MOTOpay and electronic equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023155642A1 (en) * 2022-02-18 2023-08-24 支付宝(杭州)信息技术有限公司 Identity authentication using time-based one-time password algorithm

Also Published As

Publication number Publication date
CN111445231A (en) 2020-07-24

Similar Documents

Publication Publication Date Title
US20210344678A1 (en) System for accessing data from multiple devices
US11310058B2 (en) Methods for digitally signing an electronic file and authentication method
CN109951489B (en) Digital identity authentication method, equipment, device, system and storage medium
US20210409397A1 (en) Systems and methods for managing digital identities associated with mobile devices
US9741033B2 (en) System and method for point of sale payment data credentials management using out-of-band authentication
US20230289787A1 (en) Authentication using a secure circuit
EP2605567B1 (en) Methods and systems for increasing the security of network-based transactions
WO2021249527A1 (en) Method and apparatus for implementing motopay, and electronic device
US9577999B1 (en) Enhanced security for registration of authentication devices
US10848304B2 (en) Public-private key pair protected password manager
US20160219046A1 (en) System and method for multi-modal biometric identity verification
CN109325342A (en) Identity information management method, apparatus, computer equipment and storage medium
WO2015188426A1 (en) Method, device, system, and related device for identity authentication
WO2015188424A1 (en) Key storage device and method for using same
CN108989346A (en) The effective identity trustship agility of third party based on account concealment authenticates access module
US20180262471A1 (en) Identity verification and authentication method and system
US20220014509A1 (en) Systems and methods for securing login access
Singhal et al. Software tokens based two factor authentication scheme
Wong et al. An enhanced user authentication solution for mobile payment systems using wearables
WO2017091133A1 (en) Method and system for secure storage of information
US20120290483A1 (en) Methods, systems and nodes for authorizing a securized exchange between a user and a provider site
TWM556877U (en) Login verification device and login verification system
Bhargav-Spantzel TRUSTED EXECUTION ENVIRONMENT FOR PRIVACY PRESERVING BIOMETRIC AUTHENTICATION.
Garba A new secured application based mobile banking model for Nigeria
US11531739B1 (en) Authenticating user identity based on data stored in different locations

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21822769

Country of ref document: EP

Kind code of ref document: A1