WO2019052286A1 - 基于区块链的用户身份验证方法、装置及系统 - Google Patents

基于区块链的用户身份验证方法、装置及系统 Download PDF

Info

Publication number
WO2019052286A1
WO2019052286A1 PCT/CN2018/098987 CN2018098987W WO2019052286A1 WO 2019052286 A1 WO2019052286 A1 WO 2019052286A1 CN 2018098987 W CN2018098987 W CN 2018098987W WO 2019052286 A1 WO2019052286 A1 WO 2019052286A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
user information
current
public key
current user
Prior art date
Application number
PCT/CN2018/098987
Other languages
English (en)
French (fr)
Inventor
徐俊
梁添才
高兵
黄宇恒
吕坤
Original Assignee
广州广电运通金融电子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 广州广电运通金融电子股份有限公司 filed Critical 广州广电运通金融电子股份有限公司
Publication of WO2019052286A1 publication Critical patent/WO2019052286A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a blockchain-based user identity verification method, apparatus, and system.
  • VIP cards are being used in various fields.
  • major institutions and even small companies have proposed their own VIP card business.
  • the verification of the user's VIP identity is usually implemented by the user presenting the VIP card at the counter, the verifier inputting the card number, and performing background check in the background.
  • the background information transmission is usually transmitted in an encrypted manner, but since the key pair of the encryption process is usually not arbitrarily changed after the two parties have agreed in advance, and the digital certificate of the encryption process is a unified CA. (Certificate Authority) issued by the certification center, the generated key has a certain regularity, therefore, the key pair and the corresponding user information are easily stolen and imitated, not only easy to appear user information leakage phenomenon, and easy to appear A malicious attacker uses the impersonated user identity to attack the background. In addition, since the corresponding user information is easily falsified after the key pair is imitated, the verification result may be incorrect.
  • the embodiment of the invention provides a blockchain-based user identity verification method, device and system, which can improve the security of the user identity verification process and the accuracy of the user identity verification result.
  • the verification end obtains the corresponding current user public key from the blockchain server according to the user identification code, and utilizes the current user.
  • the embodiment of the present invention further provides a blockchain-based user identity verification device, which specifically includes:
  • a user information ciphertext obtaining module configured to obtain, from the client, a user identification code to be verified and a user information ciphertext in response to the user information verification instruction; wherein the user information ciphertext uses the current user private key by the client Encrypting the user information to be generated;
  • the current user information obtaining module is configured to send the user identification code to the blockchain server, so that the blockchain server obtains the corresponding current user information and the current user public key according to the user identification code;
  • the current user information of the at least one user and the current user public key are pre-stored in the blockchain server;
  • a user information ciphertext decryption module configured to receive the current user public key returned by the blockchain server, and decrypt the user information ciphertext by using the current user public key to obtain a user to be verified after decryption information
  • An authentication result generating module configured to generate a verification pass message when determining that the current user information and the decrypted user information to be verified are the same;
  • the verification is sent by the message sending module, configured to send the verification by message to the client, so that the client triggers the current user private key and the blockchain server according to the verification by message The update operation of the current user public key.
  • the embodiment of the invention further provides another block identity-based user identity verification device, which specifically includes:
  • the user information ciphertext generating module is configured to encrypt the user information to be authenticated by using the current user private key in response to the user information providing instruction, and generate the user information ciphertext to be verified;
  • a user information ciphertext sending module configured to provide the user identification code to be verified and the user information ciphertext to the verification end, so that the verification end obtains the corresponding current from the blockchain server according to the user identification code Decrypting the user information ciphertext by using the current user public key to obtain the decrypted user information after decryption, and determining the decrypted user information to be verified and the blockchain server according to the user Whether the current user information acquired by the identifier is the same; wherein the block chain server pre-stores at least one user's current user information and the current user public key;
  • An authentication result receiving module configured to receive a verification pass message sent by the verification terminal when determining that the user information to be verified and the current user information are the same after the decryption;
  • a current user key pair update module configured to update the current user private key and the current user public key in the blockchain server according to the verification pass message.
  • the embodiment of the invention further provides a blockchain-based user identity verification system, which specifically includes at least one client, at least one verification terminal, and at least one blockchain server;
  • the client is a blockchain-based user identity verification device as described above;
  • the verification end is a blockchain-based user identity verification device as described above;
  • the blockchain server includes a pre-stored user identity record chain; the user identity record chain stores a user identity record including a user identification code, current user information, and a current user public key.
  • a blockchain-based user identity verification method, apparatus, and system provided by an embodiment of the present invention, by using a key pair (ie, a user public key and a user private key) used in the verification process after each verification of the user identity is completed ) to update, so as to prevent malicious attackers from intercepting relevant data and imitating during data transmission to achieve attack on the blockchain server, and also ensuring that user information in the authentication process is not easily leaked, thereby Improve the security of the user authentication process; in addition, since the key pair used in the authentication process is updated frequently, and the user public key in the blockchain server is stored in a chain block manner, the key is For the difficulty of being cracked and imitated, it is more difficult for a malicious attacker to tamper with the user information, so the accuracy of the verification result can be improved.
  • a key pair ie, a user public key and a user private key
  • FIG. 1 is a schematic structural diagram of a preferred embodiment of a blockchain-based user identity verification system provided by the present invention
  • FIG. 2 is a schematic flow chart of a preferred embodiment of a blockchain-based user identity verification method provided by the present invention
  • FIG. 3 is a schematic diagram of a component structure and a generation process of a block in a preferred embodiment of a blockchain-based user identity verification method provided by the present invention
  • FIG. 4 is a schematic diagram of a composition structure and a generation process of a user identity record in a preferred embodiment of a blockchain-based user identity verification method provided by the present invention
  • FIG. 5 is a schematic flow chart of another preferred embodiment of a blockchain-based user identity verification method provided by the present invention.
  • FIG. 6 is a schematic diagram showing a composition structure and a generation process of a two-dimensional code in a preferred embodiment of another blockchain-based user identity verification method provided by the present invention
  • FIG. 7 is a schematic structural diagram of a preferred embodiment of a blockchain-based user identity verification apparatus provided by the present invention.
  • FIG. 8 is a schematic structural diagram of another preferred embodiment of a blockchain-based user identity verification apparatus provided by the present invention.
  • FIG. 1 is a schematic structural diagram of a preferred embodiment of a blockchain-based user identity verification system provided by the present invention, including:
  • the client 11 is the first blockchain-based user identity verification device as follows;
  • the verification terminal 12 is a second blockchain-based user identity verification device as follows;
  • the blockchain server 13 includes a pre-stored user identity record chain; the user identity record chain stores a user identity record including a user identification code, current user information, and a current user public key.
  • the foregoing client is mainly used to provide the user information to be verified to the verification terminal, update the key pair, and the like.
  • the verification end is mainly used to interact with the client and the blockchain server to verify the user information to be verified uploaded by the client.
  • the above-mentioned blockchain server is mainly used for storing and managing the registered user information and the user public key uploaded by the client in a blockchain manner.
  • FIG. 1 is only described by taking one client, one verification end, and one blockchain server as an example, but In a specific implementation, the number of the client, the verification end, and the blockchain server in the foregoing system may be one or more, and the connection manner may be various, and the number and connection manners between the two can be configured according to actual application requirements. It is not limited here.
  • the blockchain-based user identity verification system provided by the embodiment of the present invention can update the key pair (ie, the user public key and the user private key) used in the verification process after completing the verification of the user identity.
  • the user key of the key pair is stored in a blockchain manner, thereby improving the security of the user identity verification process and the accuracy of the user identity verification result.
  • the present invention provides a blockchain-based user identity verification method (based on a verification end), as shown in FIG. 2, which is a blockchain-based user provided by the present invention.
  • a schematic flowchart of a preferred embodiment of the authentication method includes steps S21 to S25, as follows:
  • S21 Respond to the user information verification instruction, obtain the user identification code and the user information ciphertext to be verified from the client; wherein the user information ciphertext is encrypted by the client to use the current user private key to authenticate the user information. ;
  • S22 Send the user identification code to the blockchain server, so that the blockchain server obtains corresponding current user information and a current user public key according to the user identification code; wherein the blockchain The current user information of the at least one user and the current user public key are pre-stored in the server;
  • S23 Receive the current user public key returned by the blockchain server, and decrypt the user information ciphertext by using the current user public key to obtain the user information to be verified after decryption;
  • S25 Send the verification by message to the client, so that the client triggers the current user private key and the current user in the blockchain server according to the verification pass message. Key update operation.
  • the client Before performing the blockchain-based user authentication on the verification end, the client generates a key pair as the current user public key and the current user private key, and sends the current user public key to the blockchain server for storage. At the same time, the current user private key is stored locally.
  • the user may generate a user information providing instruction by clicking a specific button or making a specific gesture in the client, so as to trigger the client to encrypt the user information to be verified by using the current user private key, and obtain the corresponding user information ciphertext, and The user information ciphertext is provided to the verification end together with the user identification code of the above user.
  • the verifier can generate a user information verification instruction by clicking a specific button or making a specific gesture in the verification terminal, thereby triggering the verification end to obtain the user identification code and the user information ciphertext from the client.
  • the verification end After obtaining the user identification code and the user information ciphertext, the verification end sends the user identification code to the blockchain server to obtain a corresponding current user public key.
  • the blockchain server After receiving the user identification code, the blockchain server queries each current user information and the current user public key stored in the local area, and obtains the current user information corresponding to the user identification code and the current user public key, and The current user public key is returned to the verification end.
  • the verification end decrypts the user information ciphertext by using the current user public key returned by the blockchain server, obtains the corresponding decrypted user information after decryption, and determines the decrypted user information to be verified and the above-mentioned blockchain server to search. If the current user information is consistent, if the information is consistent, the user information to be verified is consistent with the current user information, and the verification of the identity of the user is passed, thereby generating a corresponding verification pass message and sending the verification message to the client. End, otherwise, determining that the user information to be verified is inconsistent with the current user information, and the verification of the identity of the user does not pass, thereby generating a corresponding verification failure message and transmitting the verification failure message to the client.
  • the client sends the relevant verification through the message to the user, generates a new key pair, and pairs the current user private key according to the new key pair.
  • the current user public key is updated; if the received message returned by the verification terminal is a verification failure message, the related verification failure information is fed back to the user, so that the user re-initiates an identity verification or performs other corresponding processing.
  • the to-be-verified user information and the current user information are necessary information for authenticating the user, for example, in the membership verification process, the to-be-verified user information and the The current user information is the user identity.
  • the user information to be verified of a certain user may be 100102, indicating that the user is a member of KFC and Jiudingxuan, and not A member of McDonald's.
  • the key pair (ie, the user public key and the user private key) used in the verification process is updated after each verification of the user identity is completed, thereby preventing the malicious attacker from intercepting during the data transmission process.
  • Relevant data and imitation to achieve the attack on the blockchain server can also ensure that the user information in the authentication process will not be easily leaked, thereby improving the security of the user authentication process; in addition, due to the identity verification process
  • the key pair used is updated frequently, and the user public key in the blockchain server is stored in a chain block manner. Therefore, the key pair is difficult to be cracked and imitated, and it is difficult for a malicious attacker to tamper with the user information. Increased, so the accuracy of the verification results can be improved.
  • the user identifier code and the user information ciphertext to be verified are obtained from the client in response to the user information verification instruction, and specifically includes:
  • the client may provide the user identifier code and the user information ciphertext to the verification terminal by using a two-dimensional code. Specifically, after generating the user information ciphertext, the client generates a corresponding two-dimensional code according to the user identification code of the user and the user information ciphertext, and displays the two-dimensional code on the screen. After receiving the user information verification instruction sent by the user, the verification end obtains the corresponding two-dimensional code image by scanning the two-dimensional code in the screen of the client, and obtains the above-mentioned user identification code by decoding the two-dimensional code image. And the above user information ciphertext.
  • the user identification code and the user information ciphertext required for the user identity verification process based on the blockchain are transmitted from the client to the verification end by using a two-dimensional code, so that the user can complete the offline situation.
  • the verification of the user identity improves the convenience of the user authentication process and improves the user experience.
  • the method further includes:
  • the client can also control the validity period of the two-dimensional code by adding a time stamp to the two-dimensional code. Specifically, after generating the user information ciphertext, the client generates a two-dimensional code timestamp according to the current time and time, and generates a corresponding two-dimensional code according to the user identification code, the user information ciphertext, and the two-dimensional code timestamp. And display the QR code to the screen. After receiving the user information verification instruction sent by the user, the verification end obtains the corresponding two-dimensional code image by scanning the two-dimensional code in the screen of the client, and obtains the above-mentioned user identification code by decoding the two-dimensional code image. User information ciphertext and the above two-dimensional code time stamp.
  • the verification end determines whether the two-dimensional code has passed the validity period according to the time stamp of the two-dimensional code and the current time of the current verification, and if yes, sends a two-dimensional code update instruction to the client, so that the client The two-dimensional code is updated, and if not, the user identification code is sent to the blockchain server to obtain the corresponding current user information and the current user public key.
  • the validity period of the two-dimensional code is monitored by using the two-dimensional code time stamp, so that the two-dimensional code can be updated at a certain time to prevent the malicious attacker from imitating the two-dimensional code to the blockchain.
  • the server attacks thus ensuring the security of the user information stored in the blockchain server, thereby ensuring the accuracy of the user identity verification result.
  • the blockchain server includes a user identity record chain; and the user identity record chain includes at least one user identity arranged in a chronological order. Recording; each of the user identity records includes user information of the corresponding user and a user public key;
  • the blockchain server searches for all the users corresponding to the user identification code from the user identity record chain according to the user identification code.
  • the user identity record is recorded as the target user identity, and the current user information and the current user public key are obtained from the most recent target user identity record.
  • the blockchain server uses blockchain technology to store data.
  • the blockchain server includes one or more servers (also called blockchain nodes), and each server is connected to each other through POW (Proof of Work), POS (Proof of Stake) or Consensus mechanisms such as PBFT (Practical Byzantine Fault Tolerance) reach consensus, and the data stored in each server is identical. Therefore, any server in the blockchain server can provide complete services. Therefore, the blockchain server is just like a server that provides services to the outside world. For external personnel, it does not feel the difference and instability of service quality caused by the large number of servers. Further, each server in the blockchain server has a unique server private key, and the corresponding server public key is shared with other servers in the blockchain server to implement data between different servers. Encryption sharing and data validation.
  • Each user identity record chain is composed of one or more blocks, and each block in each user identity record chain is sequentially connected in the chronological order of generation.
  • Each block is mainly composed of a previous block header hash value, a generation time stamp, a local block digital signature, a user identity record Merkle tree, and one or more user identity records collected during the current time period.
  • the hash value of the previous block header is performed by using a hash algorithm to the hash value of the previous block header in the previous block, the time stamp of the generation time, the digital signature of the block, and the root of the user identity record Merkle tree.
  • the digital signature of the block uses the server private key of the server where the current block is located to sign the previous block header hash value, the generation time stamp, and the tree root of the user identity record Merkle tree in the block. Generating, for verifying whether the information in the block is falsified later; each user identity record Merkle tree is generated according to the user identity record of one or more users collected in the current time period (specifically, will be These user identity records hash values obtained by hash calculation as the leaf nodes of the user identity record Merkle tree, and further hash operations are performed according to the leaf nodes to obtain other nodes), and the user identity records may be specific periods ( For example, a user identity record generated within 10 seconds) can also be recorded for a specific number (eg, 5) of user identities.
  • Each user identity record contains corresponding user information and usage records (eg, location, events, etc.), and the system can analyze the user's behavior according to the usage records or consumption records, thereby recommending corresponding consumption to the user. content.
  • FIG. 3 it is a schematic diagram of a block structure and a generation process of a block.
  • Each user identity record chain contains a user identity record for one or more users.
  • Each user identity record is mainly composed of a previous user identity record hash value, a user identification code, current user information, a generation time stamp, a digital signature of the record, and a user public key.
  • the hash value of the previous user identity record is obtained by hashing the previous user identity record belonging to the same user in the user identity record chain by using a hash algorithm; the user identification code, the current user information, and the user public key are passed through the client.
  • the end upload is obtained; the digital signature of the record is signed by the server private key of the server where the current record is located, the previous user identity record hash value, the user identification code, the current user information, the generation time stamp, and the user public key in the record.
  • FIG. 4 it is a schematic diagram of a composition structure and a generation process of a user identity record.
  • the current user information and the current user public key of all users may also be additionally recorded in a tabular manner.
  • the valid user identity record in each user identity record chain is the newly generated user identity record corresponding to each user respectively. Therefore, the block chain server receives the user identity code sent by the verification terminal. After that, all the user identity records corresponding to the user identification code are found in the user identity record chain, and the user identity records are recorded as the target user identity, and the target user identity ranked in the lowest position is read.
  • the current user information corresponding to the user identification code and the current user public key can be obtained by recording the user information and the user public key.
  • the user information and the user public key uploaded by the user are stored by using the blockchain technology, thereby greatly improving the unchangeableness of the data and the difficulty of forgery, and ensuring the security of the data stored in the blockchain server.
  • Sexuality which in turn improves the security of the user authentication process and the accuracy of user authentication results.
  • the user information ciphertext further includes a ciphertext timestamp and a check code encrypted by using the current user private key; Determining the verified user information and the ciphertext time stamp to obtain a hash operation;
  • the method further includes:
  • the verification pass message is generated when it is determined that the current user information and the decrypted user information to be verified are the same.
  • the user information ciphertext further includes information such as a ciphertext time stamp and a check code.
  • the client After receiving the user information providing instruction sent by the user, the client generates a ciphertext timestamp according to the current time, and hashes the user information to be verified and the ciphertext timestamp to obtain a corresponding check code. . Then, the client encrypts the to-be-verified user information, the ciphertext timestamp, and the check code by using the current user private key to obtain a corresponding user information ciphertext, and the user information ciphertext together with the user identifier code. Provided to the verification side.
  • the verification end After receiving the user identification code and the user information ciphertext sent by the client, the verification end obtains the current user public key corresponding to the user identification code by communicating with the blockchain server, and uses the current user public key to The user information ciphertext is decrypted, and the corresponding decrypted user information after decryption, the decrypted ciphertext time stamp, and the decrypted check code are obtained. Then, the verification end performs the above-mentioned hash operation on the decrypted user information to be verified and the decrypted ciphertext timestamp, obtains a corresponding check code to be verified, and the check code to be verified and the decrypted check code. In comparison, it is determined whether the two are consistent.
  • the decrypted user information after decryption, the decrypted ciphertext timestamp, and the decrypted check code are not tampered with, and the content and the client are to be verified.
  • the user information, the ciphertext timestamp, and the check code are consistent. Therefore, it is further determined whether the user information to be verified after the decryption is consistent with the current user information obtained by the blockchain server. If they are consistent, the user information to be verified is determined.
  • the verification of the identity of the user is passed, thereby generating a corresponding verification pass message and transmitting the verification message to the client; if the decrypted user information is obtained after decryption and the blockchain server obtains If the current user information is inconsistent, it is determined that the user information to be verified is inconsistent with the current user information, and the user is If the verification fails, the corresponding verification failure message is generated and sent to the client; if the verification code to be verified is inconsistent with the verification code after the decryption, the user information to be verified after the decryption is considered, After the decryption, the ciphertext timestamp or the decrypted check code is tampered with, and the content is not consistent with the user information to be verified, the ciphertext timestamp, and the check code in the client, so the corresponding error notification is sent to the client. In order for the client to feed back relevant error information to the user, to allow the user to re-initiate an authentication or other processing.
  • the current user public key returned by the blockchain server is received, and the user information is used by the current user public key.
  • the ciphertext is decrypted to obtain the user information to be verified after decryption, and includes:
  • the current user information digest and the digested user information digest are respectively a hash value of the current user information and a hash value of the decrypted user information after decryption. Specifically, after the block chain server finds the corresponding current user information according to the user identification code sent by the verification end, the current user information is calculated by using a preset hash algorithm, and the corresponding first hash value is obtained. And using the first hash value as the current user information digest, and returning the current user information digest together with the found current user public key to the verification end.
  • the verification end After receiving the current user information digest and the current user public key, the verification end decrypts the user information ciphertext by using the current user public key, obtains the user information to be verified after decryption, and decrypts the information according to the hash algorithm.
  • the user information to be verified is calculated, and a corresponding second hash value is obtained, and the second hash value is used as a summary of the user information to be verified.
  • the verification end compares the received current user information digest with the calculated digested user information digest, and compares the first hash value with the second hash value to determine whether the two are consistent.
  • the present embodiment can effectively prevent user information in the transmission process by transmitting user information between the verification end and the blockchain server in a hash value. Leakage, thus ensuring the security of the user authentication process.
  • the present invention also provides another blockchain-based user identity verification method (client-based), as shown in FIG. 5, which is a preferred embodiment of the blockchain-based user identity verification method provided by the present invention.
  • client-based blockchain-based user identity verification method
  • the flow diagram includes steps S51 to S54, as follows:
  • the user identification code to be verified and the user information ciphertext are provided to the verification end, so that the verification end obtains the corresponding current user public key from the blockchain server according to the user identification code, and uses the Decrypting the user information ciphertext by the current user public key to obtain the user information to be verified after decryption, and determining the user information to be verified after the decryption and the corresponding current current obtained by the block chain server according to the user identification code Whether the user information is the same; wherein the current information of the at least one user and the current user public key are pre-stored in the blockchain server;
  • S53 Receive a verification pass message sent by the verification terminal when determining that the user information to be verified and the current user information are the same after the decryption;
  • S54 Update the current user private key and the current user public key in the blockchain server according to the verification by message.
  • the client Before performing the blockchain-based user authentication on the verification end, the client generates a key pair as the current user public key and the current user private key, and sends the current user public key to the blockchain server for storage. At the same time, the current user private key is stored locally.
  • the user may generate a user information providing instruction by clicking a specific button or making a specific gesture in the client, so as to trigger the client to encrypt the user information to be verified by using the current user private key, and obtain the corresponding user information ciphertext, and The user information ciphertext is provided to the verification end together with the user identification code of the above user.
  • the verifier can generate a user information verification instruction by clicking a specific button or making a specific gesture in the verification terminal, thereby triggering the verification end to obtain the user identification code and the user information ciphertext from the client.
  • the verification end After obtaining the user identification code and the user information ciphertext, the verification end sends the user identification code to the blockchain server to obtain a corresponding current user public key.
  • the blockchain server After receiving the user identification code, the blockchain server queries each current user information and the current user public key stored in the local area, and obtains the current user information corresponding to the user identification code and the current user public key, and The current user public key is returned to the verification end.
  • the verification end decrypts the user information ciphertext by using the current user public key returned by the blockchain server, obtains the corresponding decrypted user information after decryption, and determines the decrypted user information to be verified and the above-mentioned blockchain server to search. If the current user information is consistent, if the information is consistent, the user information to be verified is consistent with the current user information, and the verification of the identity of the user is passed, thereby generating a corresponding verification pass message and sending the verification message to the client. End, otherwise, determining that the user information to be verified is inconsistent with the current user information, and the verification of the identity of the user does not pass, thereby generating a corresponding verification failure message and transmitting the verification failure message to the client.
  • the client sends the relevant verification through the message to the user, generates a new key pair, and pairs the current user private key according to the new key pair.
  • the current user public key is updated; if the received message returned by the verification terminal is a verification failure message, the related verification failure information is fed back to the user, so that the user re-initiates an identity verification or performs other corresponding processing.
  • the key pair (ie, the user public key and the user private key) used in the verification process is updated after each verification of the user identity is completed, thereby preventing the malicious attacker from intercepting during the data transmission process.
  • Relevant data and imitation to achieve the attack on the blockchain server can also ensure that the user information in the authentication process will not be easily leaked, thereby improving the security of the user authentication process; in addition, due to the identity verification process
  • the key pair used is updated frequently, and the user public key in the blockchain server is stored in a chain block manner. Therefore, the key pair is difficult to be cracked and imitated, and it is difficult for a malicious attacker to tamper with the user information. Increased, so the accuracy of the verification results can be improved.
  • the user information to be authenticated is encrypted by using the current user private key, and the user information ciphertext to be verified is generated.
  • the verification end obtains the corresponding current user public key from the blockchain server according to the user identification code, and uses the current Decrypting the user information ciphertext by the user public key to obtain the user information to be verified after decryption, and determining the user information to be verified after the decryption and the corresponding current user acquired by the blockchain server according to the user identification code
  • the information to be authenticated is encrypted by using the current user private key
  • the user information ciphertext to be verified is generated.
  • the user identification code to be verified and the user information ciphertext are provided to the verification end, so that the verification end obtains the corresponding current user public key and the utilization point from the blockchain server according to the user identification code.
  • the verification end scans the two-dimensional code to obtain a corresponding two-dimensional code image, and parses the two-dimensional code image to obtain the user identification code and the Describe the user information ciphertext, and obtain the corresponding current user public key from the blockchain server according to the user identification code, and decrypt the user information ciphertext by using the current user public key to obtain the decrypted
  • the client may provide the user identifier code and the user information ciphertext to the verification terminal by using a two-dimensional code. Specifically, after generating the user information ciphertext, the client generates a corresponding two-dimensional code according to the user identification code of the user and the user information ciphertext, and displays the two-dimensional code on the screen. After receiving the user information verification instruction sent by the user, the verification end obtains the corresponding two-dimensional code image by scanning the two-dimensional code in the screen of the client, and obtains the above-mentioned user identification code by decoding the two-dimensional code image. And the above user information ciphertext.
  • the user identification code and the user information ciphertext required for the user identity verification process based on the blockchain are transmitted from the client to the verification end by using a two-dimensional code, so that the user can complete the offline situation.
  • the verification of the user identity improves the convenience of the blockchain-based user authentication process and improves the user experience.
  • the user information to be authenticated is encrypted by using the current user private key, and the user information ciphertext to be verified is generated, which specifically includes:
  • the generating the two-dimensional code according to the user identification code and the user information ciphertext includes:
  • the blockchain-based user identity verification method further includes:
  • the two-dimensional code is replaced with the new two-dimensional code.
  • the two-dimensional code further includes information such as a two-dimensional code time stamp, and is used to implement timely update of the two-dimensional code.
  • the client updates the user information ciphertext while updating the two-dimensional code.
  • the user information ciphertext is updated by adding the ciphertext timestamp and the like to the user information ciphertext.
  • the client after receiving the user information providing instruction sent by the user, the client generates a ciphertext timestamp according to the current time and uses the current user private key to encrypt the user information to be verified and the ciphertext timestamp, and obtain corresponding User information ciphertext.
  • the client generates a two-dimensional code timestamp according to the current time, and generates a corresponding two-dimensional code according to the user identification code, the user information ciphertext and the two-dimensional code timestamp, and displays the two-dimensional code to the screen. on.
  • FIG. 6 it is a schematic diagram of a composition structure and a generation process of a two-dimensional code.
  • the information cipher text according to the two-dimensional code generating process further includes a check code, and the method for generating the check code may refer to the fifth preferred embodiment of the first block chain-based user identity verification method.
  • the method of generating the verification code may refer to the fifth preferred embodiment of the first block chain-based user identity verification method. The method of generating the verification code.
  • the user information ciphertext is updated, thereby greatly increasing the diversity of the generated two-dimensional code, and more effectively preventing the malicious attacker from imitating the two-dimensional code pair.
  • the blockchain server attacks, thus ensuring the security of the user information stored on the blockchain server.
  • the method further includes:
  • the two-dimensional code update instruction is generated when it is determined that the difference between the two-dimensional code timestamp and the current time instant is greater than a preset threshold.
  • the above two-dimensional code update command may be generated by the blockchain server or may be generated by the client.
  • the verification end obtains the corresponding two-dimensional code image by scanning the two-dimensional code in the screen of the client after receiving the user information verification instruction sent by the user. And obtaining the user identification code, the user signature, and the two-dimensional code time stamp by decoding the two-dimensional code image. Then, the verification end determines whether the two-dimensional code has passed the validity period according to the time stamp of the two-dimensional code and the current time of the current verification, and if yes, sends a two-dimensional code update instruction to the client, so that the client The two-dimensional code is updated, and if not, the user identification code is sent to the blockchain server to obtain the corresponding current user information and the current user public key.
  • the client performs real-time monitoring on the two-dimensional code to determine whether the difference between the time code of the two-dimensional code in the two-dimensional code and the current time is greater than the pre- A threshold is set, and if so, the two-dimensional code is considered to have passed the validity period, so a two-dimensional code update command is generated to trigger an update operation on the two-dimensional code; if not, the two-dimensional code is continuously monitored.
  • the blockchain server includes a user identity record chain; and the user identity record chain includes at least one user identity arranged in a chronological order. Recording; each of the user identity records includes user information of the corresponding user and a user public key;
  • User identity record adding the new user identity record to the user identity record chain, and using the new user public key in the new user identity record as the current user public key;
  • the blockchain server end is based on the user identification code, the current user information, and the new A new user identity record is generated by the user public key, and the new user identity record is connected to the end user identity record in the user identity record chain, thereby completing the current user account stored in the blockchain server. Update of the key.
  • the client sends the user information ciphertext to the blockchain while sending the user identification code and the new user public key to the blockchain server.
  • the server so that the blockchain server decrypts the user information ciphertext by using the current user public key in the last user identity record in the found user identity record chain before generating a new user identity record, and The decrypted user information is compared to the current user information in the end user identity record to verify that the correct user identity record chain is found.
  • the user information and the user public key uploaded by the user are stored by using the blockchain technology, thereby greatly improving the unchangeableness of the data and the difficulty of forgery, and ensuring the security of the data stored in the blockchain server.
  • Sexuality which in turn improves the security of the blockchain-based user authentication process and the accuracy of blockchain-based user authentication results.
  • the blockchain-based user identity verification method further includes:
  • User identity record adding the new user identity record to the user identity record chain, and using the new user public key in the new user identity record as the current user public key;
  • the client may also update the current user public key and the current user private key at intervals. Specifically, the client generates a key pair update instruction every preset time period, and generates a new user public key and a new user private key according to the key pair update instruction. Then, the new user public key is encrypted by using the current user private key, the encrypted new user public key is obtained, and the encrypted new user public key is sent to the blockchain server. After receiving the encrypted new user public key sent by the verification end, the blockchain server decrypts the encrypted new user public key by using the current user public key to obtain the new user public key, and obtains the current user public key. Update to the new user public key. At the same time, the client updates the current user private key to the new user private key described above.
  • the current user public key and the current user private key are updated at intervals, thereby further improving the update frequency of the key pair, increasing the security of the key pair and the user information, and further improving the user identity verification process. Security and accuracy of user authentication results.
  • the user information is encrypted by using the current user private key to generate the user information ciphertext to be verified, and the method includes:
  • the blockchain-based user identity verification method further includes:
  • the user information ciphertext is replaced with the new user information ciphertext.
  • the user information ciphertext further includes information such as a ciphertext time stamp, and is used to implement timing update of the user information ciphertext.
  • the client After receiving the user information providing instruction sent by the user, the client generates a ciphertext timestamp according to the current time and uses the current user private key to encrypt the user information to be verified and the ciphertext timestamp, and obtain corresponding User information ciphertext. Then, the client monitors the ciphertext of the user information in real time, and determines whether the difference between the ciphertext timestamp and the current time in the ciphertext of the user information is greater than a preset threshold.
  • a new ciphertext timestamp is generated according to the current time, and the user information to be verified and the new ciphertext timestamp are encrypted by using the current user private key to obtain a new user information ciphertext, The user information ciphertext that has passed the validity period is replaced; if not, the user information ciphertext is continuously monitored.
  • the ciphertext time stamp is used to monitor the validity period of the ciphertext of the user information, so that the ciphertext of the user information can be updated at regular intervals to prevent the malicious attacker from imitating the ciphertext of the user information.
  • the blockchain server attacks to ensure the security of the user information stored on the blockchain server.
  • the user information to be authenticated is encrypted by using the current user private key, and the user information ciphertext to be verified is generated before include:
  • the verification end obtains the corresponding current user public key from the blockchain server according to the user identification code, and utilizes Decrypting the user information ciphertext by the current user public key to obtain the user information to be verified after decryption, and determining the user information to be verified after the decryption and the correspondence obtained by the block chain server according to the user identification code
  • the verification end obtains the corresponding current user public key from the blockchain server according to the user identification code
  • the current user public key and the current user private key are calculated according to the user's biometric characteristics (eg, fingerprint, facial features, voiceprint, pupil pattern, etc.) using a specific random algorithm and a specific cryptographic algorithm. obtain. Specifically, before generating the current user public key and the current user private key, the client collects the human biometric characteristics of the user, and obtains corresponding human biometric data. After collecting the human biometric data of the user, the client generates a random number seed according to a specific random algorithm, and generates a random integer having 256 bits according to the random number seed.
  • biometric characteristics eg, fingerprint, facial features, voiceprint, pupil pattern, etc.
  • the random integer is used as the current user private key, and if not, according to the random
  • the number of seeds regenerates a random integer and recalculates the value.
  • the current user private key is calculated by using an elliptic curve algorithm to obtain a corresponding current user public key, and the current user public key is sent to the blockchain server for storage.
  • the client may regenerate the user according to the random number when the current user public key or the current user private key is lost, damaged, or stolen.
  • the user or related technician can encode the random number seed, generate a corresponding two-dimensional code, and print the two-dimensional code into a safe for storage.
  • the client may also perform encrypted storage on the current user private key. Specifically, the client encrypts the current user private key according to the encrypted password input by the user and uses an AES (Advanced Encryption Standard) algorithm, and adds a corresponding identifier to the front of the current user private key after encryption.
  • AES Advanced Encryption Standard
  • a code (to indicate the attribute of the current user private key after the encryption), and using a hash algorithm to calculate the identification code and the encrypted current user private key to obtain a corresponding hash operation result, and then extracting the hash operation
  • the first 4 bytes in the result are used as a check code, and the above-mentioned hash operation result including the check code is Base58 encoded, a hexadecimal string is obtained, and the string is stored, thereby realizing Encrypted storage of the current user private key.
  • the difficulty of forgery of the key pair can be improved, thereby improving the security of the key pair, thereby improving the user identity verification process.
  • Security and accuracy of user authentication results by using a specific random algorithm and a specific cryptographic algorithm to generate the current user public key and the current user private key, thereby improving the current user public key and the current user private key random sexuality improves the difficulty of imitating the current user public key and the current user private key, thereby improving the security of the user information and the security of the user identity verification process and the accuracy of the user identity verification result.
  • the user information to be authenticated is encrypted by using the current user private key, and the user information ciphertext to be verified is generated before include:
  • the user needs to register the user identity first before performing the blockchain-based user identity verification. Specifically, after the user inputs related registration materials (eg, name, gender, age, identity to be registered, contact information, etc.) in the client, the user registration process is triggered by clicking a specific button or making a specific gesture. After receiving the related triggering operation of the user, the client filters the related registration data input by the user, obtains the necessary registration information as current user information, and further generates a user registration request according to the current user information. After receiving the user registration request, the client sends the user registration request to the blockchain server.
  • related registration materials eg, name, gender, age, identity to be registered, contact information, etc.
  • the blockchain server After receiving the user registration request sent by the client, the blockchain server automatically generates a server key pair (ie, the server public key and the server private key), and sends the server private key to the client. .
  • the client After receiving the server private key sent by the blockchain server, the client automatically generates a current user key pair (ie, the current user public key and the current user private key), and uses the received server private key to The current user public key is encrypted to obtain the current user's public key digital signature. The client then sends the current user public key digital signature to the blockchain server.
  • the blockchain server After receiving the digital signature of the current user public key, the blockchain server decrypts the current user public key digital signature by using the server public key to obtain the current user public key, and establishes the current user public key and After the correspondence between the user identification code and the current user information in the user registration request, the current user public key, the user identification code, and the current user information are stored in a chain block manner.
  • the foregoing user identification code can be obtained by the user's own choice, or can be automatically allocated by the client for the user.
  • the registration data may be first submitted to the third party registration verification terminal, so that the third party registration verification terminal staff checks the registration data.
  • the registration information of the third party registration verification terminal may be filtered, the necessary registration information may be obtained therefrom, and the registration information may be directly sent to the blockchain server to trigger the user registration process.
  • the verification pass message may also be notified to the user, and the user triggers the user registration process by performing a corresponding trigger operation on the client.
  • the current user public key uploaded by the client is encrypted and transmitted during the registration process, thereby improving the security of the current user public key in the data transmission process, and preventing the current user public key from being tampered with by a malicious attacker.
  • the security of the user authentication process and the accuracy of the user authentication result are guaranteed.
  • FIG. 7 is a schematic structural diagram of a preferred embodiment of a blockchain-based user identity verification apparatus provided by the present invention, as follows:
  • the user information ciphertext obtaining module 71 is configured to obtain, from the client, the user identification code and the user information ciphertext to be verified, in response to the user information verification instruction, where the user information ciphertext is used by the client to use the current user private information.
  • the key is to be encrypted to generate the authenticated user information;
  • the current user information obtaining module 72 is configured to send the user identification code to the blockchain server, so that the blockchain server obtains the corresponding current user information and the current user public key according to the user identification code;
  • the current user information of the at least one user and the current user public key are pre-stored in the blockchain server.
  • the user information ciphertext decryption module 73 is configured to receive the current user public key returned by the blockchain server, and decrypt the user information ciphertext by using the current user public key, and obtain a decrypted and verified User Info;
  • the verification result generating module 74 is configured to generate a verification pass message when determining that the current user information and the decrypted user information to be verified are the same;
  • the verification pass message sending module 75 is configured to send the verification pass message to the client, so that the client triggers the current user private key and the blockchain server according to the verification pass message The update operation of the current user public key in the middle.
  • the user information ciphertext obtaining module specifically includes:
  • a two-dimensional code image obtaining unit configured to scan to obtain a two-dimensional code image corresponding to the client in response to the user information verification instruction
  • the information ciphertext obtaining unit is configured to parse the two-dimensional code image to obtain the user identification code and the user information ciphertext.
  • the user information ciphertext obtaining module further includes:
  • a two-dimensional code timestamp obtaining unit for obtaining a two-dimensional code time stamp
  • the current user information obtaining module specifically includes:
  • a two-dimensional code validity period determining unit configured to determine, according to the two-dimensional code timestamp and the current time and time, whether the two-dimensional code corresponding to the two-dimensional code image has passed the validity period
  • a first current user information acquiring unit configured to: when determining that the two-dimensional code has not passed the validity period, send the user identification code to the blockchain server, so that the blockchain server is configured according to the The user identification code acquires the corresponding current user information and the current user public key.
  • the blockchain server includes a user identity record chain; and the user identity record chain includes at least one user identity arranged in a chronological order. Recording; each of the user identity records includes user information of the corresponding user and a user public key;
  • the current user information obtaining module specifically includes:
  • a second current user information obtaining unit configured to send the user identification code to the blockchain server, so that the blockchain server searches for the user identity record chain according to the user identification code All user identity records corresponding to the user identification code are recorded as the target user identity, and the current user information and the current user public key are obtained from the most recent target user identity record.
  • the user information ciphertext further includes a ciphertext timestamp and a check code encrypted by using the current user private key; Determining the verified user information and the ciphertext time stamp to obtain a hash operation;
  • the blockchain-based user identity verification device further includes:
  • a verification parameter obtaining module configured to obtain the decrypted ciphertext time stamp and the decrypted check code
  • the identity verification result generating module specifically includes:
  • a check code calculation unit configured to perform the hash operation on the decrypted user information to be verified and the decrypted ciphertext timestamp, to obtain a check code to be verified
  • a user information comparing unit configured to determine whether the current user information and the decrypted user information to be verified are the same when determining that the decrypted check code and the to-be-verified check code are the same;
  • the first verification result generating unit is configured to generate the verification pass message when it is determined that the current user information and the decrypted user information to be verified are the same.
  • the blockchain-based user identity verification device further includes:
  • a user information summary receiving module configured to receive a current user information summary obtained by performing a hash value calculation on the current user information returned by the blockchain server;
  • the authentication result generating module specifically includes:
  • a user information summary calculation unit configured to perform the hash value calculation on the decrypted user information to be verified, and obtain a summary of the user information to be verified;
  • a user information summary comparison unit configured to compare the current user information digest with the digested user information digest to determine whether the two are the same
  • a second verification result generating unit configured to determine that the current user information and the decrypted user information to be verified are the same when determining that the current user information digest and the to-be-verified user information digest are the same, and generate the verification Through the message.
  • the present invention also provides another blockchain-based user identity verification device (client-based), as shown in FIG. 8, which is a preferred embodiment of the blockchain-based user identity verification device provided by the present invention.
  • client-based blockchain-based user identity verification device
  • the user information ciphertext generating module 81 is configured to encrypt the user information to be verified by using the current user private key in response to the user information providing instruction, and generate a user information ciphertext to be verified;
  • the user information ciphertext sending module 82 is configured to provide the user identification code to be verified and the user information ciphertext to the verification end, so that the verification end obtains the corresponding information from the blockchain server according to the user identification code. Decrypting the user information ciphertext by using the current user public key, using the current user public key to obtain the decrypted user information after decryption, and determining the decrypted user information to be verified and the blockchain server according to the Whether the current user information acquired by the user identifier is the same; wherein the block chain server pre-stores at least one user's current user information and the current user public key;
  • the authentication result receiving module 83 is configured to receive a verification pass message sent by the verification terminal when determining that the user information to be verified after the decryption is the same as the current user information;
  • the current user key pair update module 84 is configured to update the current user private key and the current user public key in the blockchain server according to the verification pass message.
  • the blockchain-based user identity verification device further includes:
  • a two-dimensional code generating module configured to generate a two-dimensional code according to the user identification code and the user information ciphertext
  • the user information ciphertext sending module specifically includes:
  • a two-dimensional code display unit configured to display the two-dimensional code into a screen, so that the verification end scans the two-dimensional code to obtain a corresponding two-dimensional code image, and parses the two-dimensional code image Obtaining the user identification code and the user information ciphertext, and obtaining the corresponding current user public key from the blockchain server according to the user identification code, and using the current user public key to the user information ciphertext After the decryption is performed to obtain the decrypted user information to be verified, it is determined whether the decrypted user information after decryption and the corresponding current user information acquired by the blockchain server according to the user identification code are the same.
  • the user information ciphertext generating module specifically includes:
  • a first timestamp generating unit configured to generate a ciphertext timestamp according to the current time and time in response to the user information providing instruction
  • a first user information ciphertext generating unit configured to encrypt the to-be-verified user information and the ciphertext timestamp by using the current user private key to generate the user information ciphertext
  • the two-dimensional code generating module specifically includes:
  • a two-dimensional code timestamp generating unit configured to generate a two-dimensional code timestamp according to a current time and time
  • a two-dimensional code generating unit configured to generate the two-dimensional code according to the user identification code, the user information ciphertext, and the two-dimensional code time stamp;
  • the blockchain-based user identity verification device further includes:
  • a new timestamp generating module configured to generate a new two-dimensional code timestamp and a new ciphertext timestamp according to the current time and time in response to the two-dimensional code update instruction;
  • a first new user information ciphertext generating module configured to encrypt the to-be-verified user information and the new ciphertext timestamp by using the current user private key to generate a new user information ciphertext
  • a new two-dimensional code generating module configured to generate the new two-dimensional code according to the user identification code, the new user information ciphertext, and the new two-dimensional code time stamp;
  • a two-dimensional code replacement module configured to replace the two-dimensional code with the new two-dimensional code.
  • the blockchain-based user identity verification device further includes:
  • the first two-dimensional code update instruction receiving module is configured to receive, by the verification end, the two-dimensional code update instruction that is sent when the two-dimensional code has expired according to the two-dimensional code time stamp; or
  • the second two-dimensional code update instruction receiving module is configured to generate the two-dimensional code update instruction when determining that the difference between the two-dimensional code timestamp and the current time and time is greater than a preset threshold.
  • the blockchain server includes a user identity record chain; and the user identity record chain includes at least one user identity arranged in a chronological order. Recording; each of the user identity records includes user information of the corresponding user and a user public key;
  • the current user key pair update module specifically includes:
  • a new key pair generating unit configured to generate a new user private key and a new user public key in response to the verification pass message
  • a user public key updating unit configured to encrypt the new user public key by using the current user private key, obtain an encrypted new user public key, and send the encrypted new user public key to the block a chain server, so that the blockchain server decrypts the encrypted new user public key by using the current user public key to obtain the new user public key, according to the current user information and Generating a new user identity record, adding the new user identity record to the user identity record chain, and using the new user public key in the new user identity record as The current user public key;
  • a user private key update unit configured to update the current user private key to the new user private key.
  • the blockchain-based user identity verification device further includes:
  • a key pair update instruction generating module configured to generate a key pair update instruction every preset time period
  • a new key pair generation module configured to generate a new user private key and a new user public key according to the key pair update instruction
  • a user public key update module configured to encrypt the new user public key by using the current user private key, obtain an encrypted new user public key, and send the encrypted new user public key to the block a chain server, so that the blockchain server decrypts the encrypted new user public key by using the current user public key to obtain the new user public key, according to the current user information and Generating a new user identity record, adding the new user identity record to the user identity record chain, and using the new user public key in the new user identity record as The current user public key; and,
  • a user private key update module configured to update the current user private key to the new user private key.
  • the user information ciphertext generating module specifically includes:
  • a second timestamp generating unit configured to generate a ciphertext timestamp according to the current time and time in response to the user information providing instruction
  • a second user information ciphertext generating unit configured to encrypt the to-be-verified user information and the ciphertext timestamp by using the current user private key to generate the user information ciphertext
  • the blockchain-based user identity verification device further includes:
  • the user information ciphertext validity period determining module is configured to calculate a difference between the cipher text timestamp and the current time, and determine whether the difference is greater than a preset threshold;
  • a second new user information ciphertext generating module configured to: when the difference is greater than a preset threshold, generate a new ciphertext timestamp according to the current time and use the current user private key to use the current user private key to Encrypting with the new ciphertext timestamp to generate a new user information ciphertext;
  • the user information ciphertext replacement module is configured to replace the user information ciphertext with the new user information ciphertext.
  • the blockchain-based user identity verification device further includes:
  • a human biometric collection module configured to collect biometric data of a user, and generate a random number seed according to the biometric data of the human body;
  • a user private key generating module configured to generate the current user private key according to the random number seed
  • the blockchain-based user identity verification device further includes:
  • a user public key generating module configured to calculate, according to the current user private key, an elliptic curve algorithm to obtain the current user public key
  • a user public key storage module configured to send the user identification code, the current user information, and the current user public key to the blockchain server, so that the blockchain server establishes the After the correspondence between the user identification code, the current user information, and the current user public key, the user identification code, the current user information, and the current user public key are stored in the blockchain server.
  • the blockchain-based user identity verification device further includes:
  • a user registration request sending module configured to send a user registration request to the blockchain server, so that the blockchain server generates a server private key and a server public key in response to the user registration request;
  • the user registration request includes the user identification code and the current user information;
  • a blockchain server private key receiving module configured to receive the server private key returned by the blockchain server
  • the key pair generates an encryption module, configured to generate the current user private key and the current user public key, and use the server private key to sign the current user public key to obtain a current user public key digital signature;
  • a current user public key sending module configured to send the current user public key and the user public key digital signature to the blockchain server, so that the blockchain server uses the server public key
  • the current user public key digital signature is verified, after the correspondence between the user identification code, the current user information, and the current user public key is established, the user identification code and the current user are obtained.
  • Information and the current user public key are stored in the blockchain server to generate a registration completion message;
  • the registration completion message receiving module is configured to receive the registration completion message returned by the blockchain server.
  • the blockchain-based user identity verification apparatus updates the key pair (ie, the user public key and the user private key) used in the verification process after each verification of the user identity is completed. Therefore, the malicious attacker can prevent the attack on the blockchain server by intercepting the relevant data during the data transmission process, and can also ensure that the user information in the identity verification process is not easily leaked, thereby improving the block-based block.
  • the security of the user authentication process of the chain in addition, since the key pair used in the authentication process is updated frequently, and the user public key in the blockchain server is stored in a chain block manner, the secret is The key pair is difficult to be cracked and imitated, and the malicious attacker is more difficult to tamper with the user information, so the accuracy of the verification result can be improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于区块链的用户身份验证方法、装置及系统。所述用户身份验证方法包括:从客户端获得用户标识码和用户信息密文;所述用户信息密文利用当前用户私钥对待验证用户信息进行加密生成;将所述用户标识码发送至区块链服务端,以使所述区块链服务端获得对应的当前用户信息和当前用户公钥;利用区块链服务端返回的所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息;当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息;所述客户端根据所述验证通过消息触发对所述当前用户私钥和所述当前用户公钥的更新操作。采用本发明,能够提高用户身份验证过程的安全性和用户身份验证结果的准确性。

Description

基于区块链的用户身份验证方法、装置及系统 技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链的用户身份验证方法、装置及系统。
背景技术
随着社会服务业的飞速发展,人们对于服务质量的要求也越来越高。作为尊贵与身份的象征,贵宾卡正被应用于各个领域。为了增加用户黏度,提升服务质量,各大机构乃至小型公司,纷纷提出自己的贵宾卡业务。
在现有技术中,对用户贵宾身份的验证通常是通过用户在柜台出示贵宾卡、验证员输入卡号、后台进行信息核对来实现的。为了防止用户信息泄露,后台的信息传输通常采用加密的方式进行传输,但是由于加密过程的密钥对通常是双方事先约定好后不再随意更改的,且加密过程的数字证书是由统一的CA(Certificate Authority)认证中心颁发的,所生成的密钥具有一定的规律性,因此,该密钥对和相应的用户信息容易被盗取和模仿,不仅容易出现用户信息泄露的现象,且容易出现恶意攻击者利用模仿的用户身份对后台进行攻击的现象。另外,由于在密钥对被模仿后,相应的用户信息将很容易被篡改,因此会出现验证结果错误的现象。
发明内容
本发明实施例提出一种基于区块链的用户身份验证方法、装置及系统,能够提高用户身份验证过程的安全性和用户身份验证结果的准确性。
本发明实施例提供的一种基于区块链的用户身份验证方法,具体包括:
响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密文;其中,所述用户信息密文由所述客户端利用当前用户私钥对待验证用户信息进行加密生成;
将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
接收所述区块链服务端返回的所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息;
当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息;
将所述验证通过消息发送至所述客户端,以使所述客户端根据所述验证通过消息触发对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥的更新操作。
本发明实施例还提供的另一种基于区块链的用户身份验证方法,具体包括:
响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文;
将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
接收所述验证端在判定所述解密后待验证用户信息和所述当前用户信息相同时发送的验证通过消息;
根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新。
相应地,本发明实施例还提供了一种基于区块链的用户身份验证装置,具体包括:
用户信息密文获得模块,用于响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密文;其中,所述用户信息密文由所述客户端利用当前用户私钥对待验证用户信息进行加密生成;
当前用户信息获取模块,用于将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标 识码获取对应的当前用户信息和当前用户公钥;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
用户信息密文解密模块,用于接收所述区块链服务端返回的所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息;
身份验证结果生成模块,用于当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息;以及,
验证通过消息发送模块,用于将所述验证通过消息发送至所述客户端,以使所述客户端根据所述验证通过消息触发对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥的更新操作。
本发明实施例还提供了另一种基于区块链的用户身份验证装置,具体包括:
用户信息密文生成模块,用于响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文;
用户信息密文发送模块,用于将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
身份验证结果接收模块,用于接收所述验证端在判定所述解密后待验证用户信息和所述当前用户信息相同时发送的验证通过消息;以及,
当前用户密钥对更新模块,用于根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新。
本发明实施例还提供了一种基于区块链的用户身份验证系统,具体包括至少一个客户端、至少一个验证端以及至少一个区块链服务端;
所述客户端为如上所述的基于区块链的用户身份验证装置;
所述验证端为如上所述的基于区块链的用户身份验证装置;
所述区块链服务端中包含预先存储的用户身份记录链;所述用户身份记录链中存储有包含用户标识码、当前用户信息以及当前用户公钥的用户身份记录。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的基于区块链的用户身份验证方法、装置及系统,通过在每次完成对用户身份的验证之后对该验证过程中使用的密钥对(即用户公钥和用户私钥)进行更新,从而能够防止恶意攻击者通过在数据传输过程中截获相关的数据并进行模仿来实现对区块链服务端的攻击,也能够保障该身份验证过程中的用户信息不会轻易泄漏,从而提高用户身份验证过程的安全性;另外,由于该身份验证过程中使用的密钥对时常更新,且区块链服务端中的用户公钥以链式区块的方式进行存储,因此该密钥对难以被破解和模仿,恶意攻击者对用户信息进行篡改的难度增加,因此验证结果的准确率能够得到提高。
附图说明
图1是本发明提供的基于区块链的用户身份验证系统的一个优选的实施例的结构示意图;
图2是本发明提供的一种基于区块链的用户身份验证方法的一个优选的实施例的流程示意图;
图3是本发明提供的一种基于区块链的用户身份验证方法的一个优选的实施例中的一个区块的组成结构及生成过程的示意图;
图4是本发明提供的一种基于区块链的用户身份验证方法的一个优选的实施例中的一个用户身份记录的组成结构及生成过程的示意图;
图5是本发明提供的另一种基于区块链的用户身份验证方法的一个优选的实施例的流程示意图;
图6是本发明提供的另一种基于区块链的用户身份验证方法的一个优选的实施例中的一个二维码的组成结构及生成过程的示意图;
图7是本发明提供的一种基于区块链的用户身份验证装置的一个优选的实施例的结构示意图;
图8是本发明提供的另一种基于区块链的用户身份验证装置的一个优选的实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明提供的基于区块链的用户身份验证系统的一个优选的实施例的结构示意图,包括:
至少一个客户端11、至少一个验证端12以及至少一个区块链服务端13;
所述客户端11为如下第一种基于区块链的用户身份验证装置;
所述验证端12为如下第二种基于区块链的用户身份验证装置;
所述区块链服务端13中包含预先存储的用户身份记录链;所述用户身份记录链中存储有包含用户标识码、当前用户信息以及当前用户公钥的用户身份记录。
需要说明的是,上述客户端主要用于将待验证的用户信息提供给上述验证端以及对密钥对进行更新等。上述验证端主要用于与上述客户端、上述区块链服务端进行交互,以对上述客户端上传的待验证的用户信息进行验证。上述区块链服务端主要用于对注册的用户信息和上述客户端上传的用户公钥以区块链的方式进行存储和管理。
需要进一步说明的是,上述客户端、验证端以及区块链服务端之间两两进行连接,图1仅以一个客户端、一个验证端以及一个区块链服务端相连为例进行描述,但在具体实施当中,上述系统中的客户端、验证端以及区块链服务端的个数可以为一个或者多个,连接方式可以为多样,其数量和彼此间的连接方式可以根据实际应用需求来配置,在此不作限定。
本发明实施例所提供的基于区块链的用户身份验证系统能够在每次完成对用户身份的验证之后对该验证过程中使用的密钥对(即用户公钥和用户私钥)进行更新,同时采用区块链的方式对该密钥对中的用户公钥进行存储,从而能够提高用户身份验证过程的安全性和用户身份验证结果的准确性。
基于上述基于区块链的用户身份验证系统,本发明提供了一种基于区块链的用户身份验证方法(基于验证端),如图2所示,为本发明提供的基于区块链的用户身份验证方法的一个优选的实施例的流程示意图,包括步骤S21至S25,具体如下:
S21:响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密文;其中,所述用户信息密文由所述客户端利用当前用户私钥对待验证用户信息进行加密生成;
S22:将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
S23:接收所述区块链服务端返回的所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息;
S24:当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息;
S25:将所述验证通过消息发送至所述客户端,以使所述客户端根据所述验证通过消息触发对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥的更新操作。
需要说明的是,本发明实施例由验证端执行。
在验证端进行基于区块链的用户身份验证之前,客户端预先生成一个密钥对作为当前用户公钥和当前用户私钥, 并将该当前用户公钥发送至区块链服务端中存储,同时将该当前用户私钥存储至本地。用户可以在客户端中通过点击特定按钮或者做出特定手势等方式生成用户信息提供指令,以触发客户端利用上述当前用户私钥对待验证的用户信息进行加密,获得相应的用户信息密文,并将该用户信息密文连同上述用户的用户标识码一起提供给验证端。
验证员可以在验证端中通过点击特定按钮或者做出特定手势等方式生成用户信息验证指令,从而触发验证端从客户端中获得上述用户标识码和上述用户信息密文。验证端在获得该用户标识码和该用户信息密文后,将该用户标识码发送至区块链服务端以获得对应的当前用户公钥。区块链服务端在接收到该用户标识码之后,查询预先存储于本地的各个当前用户信息和当前用户公钥,从中获得该用户标识码所对应的当前用户信息和当前用户公钥,并将该当前用户公钥返回至验证端。验证端利用区块链服务端返回的当前用户公钥对上述用户信息密文进行解密,获得相应的解密后待验证用户信息,并判断该解密后待验证用户信息与上述区块链服务端查找到的当前用户信息是否一致,若一致,则判定上述待验证用户信息与该当前用户信息一致,对上述用户的身份的验证通过,从而生成相应的验证通过消息并将该验证通过消息发送至客户端,否则,则判定上述待验证用户信息与该当前用户信息不一致,对上述用户的身份的验证不通过,从而生成相应的验证失败消息并将该验证失败消息发送至客户端。
客户端若接收到的验证端返回的消息为验证通过消息,则将相关的验证通过消息反馈给用户,同时生成新的密钥对,并根据该新的密钥对对上述当前用户私钥和上述当前用户公钥进行更新;若接收到的验证端返回的消息为验证失败消息,则将相关的验证失败信息反馈给用户,以使该用户重新发起一次身份验证或者进行其他相应的处理。
需要进一步说明的是,在一些更优选的实施例中,上述待验证用户信息和上述当前用户信息为用户进行身份验证的必要信息,例如,在会员身份验证过程中,该待验证用户信息和该当前用户信息为用户身份标识。例如,当100为肯德基会员标识,101为麦当劳会员标识,102为九鼎轩会员标识时,则某一用户的待验证用户信息可以为100102,以表示该用户为肯德基和九鼎轩的会员,而不为麦当劳的会员。
本实施例通过在每次完成对用户身份的验证之后对该验证过程中使用的密钥对(即用户公钥和用户私钥)进行更新,从而能够防止恶意攻击者通过在数据传输过程中截获相关的数据并进行模仿来实现对区块链服务端的攻击,也能够保障该身份验证过程中的用户信息不会轻易泄漏,从而提高用户身份验证过程的安全性;另外,由于该身份验证过程中使用的密钥对时常更新,且区块链服务端中的用户公钥以链式区块的方式进行存储,因此该密钥对难以被破解和模仿,恶意攻击者对用户信息进行篡改的难度增加,因此验证结果的准确率能够得到提高。
在另一个优选的实施例中,在上述实施例的基础上,所述响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密文,具体包括:
响应于所述用户信息验证指令,扫描获得与所述客户端对应的二维码图像;
对所述二维码图像进行解析,获得所述用户标识码和所述用户信息密文。
需要说明的是,客户端可以通过二维码的方式将上述用户标识码和上述用户信息密文提供给验证端。具体地,客户端在生成用户信息密文之后,根据上述用户的用户标识码和该用户信息密文生成相应的二维码,并将该二维码显示至屏幕上。验证端在接收到用户发送的用户信息验证指令之后,通过扫描客户端的屏幕中的二维码获得相应的二维码图像,并通过对该二维码图像进行解码,即可获得上述用户标识码和上述用户信息密文。
本实施例通过二维码的方式将基于区块链的用户身份验证过程中所需的用户标识码和用户信息密文从客户端传输至验证端,从而使得用户在离线的情况下亦能够完成对用户身份的验证,提高了用户身份验证过程的便利性,提高用户体验。
更优选地,在所述获得所述用户标识码和所述用户信息密文的同时,还包括:
获得二维码时间戳;
则所述将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥,具体包括:
根据所述二维码时间戳和当前时刻时间判断所述二维码图像所对应的二维码是否已过有效期;
当判定所述二维码未过所述有效期时,将所述用户标识码发送至所述区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的所述当前用户信息和所述当前用户公钥。
需要说明的是,客户端还可以通过在二维码中添加时间戳的方式来控制二维码的有效期。具体地,客户端在生成用户信息密文之后,根据当前时刻时间生成二维码时间戳,并根据上述用户标识码、上述用户信息密文和该二维码时间戳生成相应的二维码,并将该二维码显示至屏幕上。验证端在接收到用户发送的用户信息验证指令之后,通过扫描客户端的屏幕中的二维码获得相应的二维码图像,并通过对该二维码图像进行解码,获得上述用户标识码、上述用户信息密文和上述二维码时间戳。随后,验证端根据该二维码时间戳和进行当前验证时的当前时刻时间,判断该二维码是否已过有效期,若是,则发送二维码更新指令至客户端,以使客户端对该二维码进行更新,若否,则将上述用户标识码发送至区块链服务端以获得相应的当前用户信息和当前用户公钥。
本实施例通过使用二维码时间戳来对二维码的有效期进行监控,从而能够每隔一定的时间对该二维码进行更新,以防止恶意攻击者通过模仿该二维码对区块链服务端进行攻击,从而保证了区块链服务端存储的用户信息的安全性,进而保证了用户身份验证结果的准确性。
在又一个优选的实施例中,在上述实施例的基础上,所述区块链服务端中包含用户身份记录链;所述用户身份记录链中包含至少一个按照生成时间先后顺序排列的用户身份记录;每个所述用户身份记录中包含对应的用户的用户信息和用户公钥;
则所述将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥,具体包括:
将所述用户标识码发送至所述区块链服务端,以使所述区块链服务端根据所述用户标识码从所述用户身份记录链中查找与所述用户标识码相对应的所有用户身份记录作为目标用户身份记录,并从最靠后的所述目标用户身份记录中读取获得所述当前用户信息和所述当前用户公钥。
需要说明的是,区块链服务端采用区块链技术对数据进行存储。该区块链服务端中包含一个或者多个服务器(又称,区块链节点),每个服务器彼此相连,通过POW(Proof of Work,工作证明)、POS(Proof of Stake,股权证明)或者PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)等共识机制达成共识,且每个服务器中存储的数据完全相同,因此,该区块链服务端中的任意一个服务器均能够对外提供完整的服务,因此,区块链服务端对外就像是只有一台服务器在对外提供服务一样,对外部人员而言,并不会感受到因服务器数量众多而带来的服务质量的差异和不稳定。更进一步地,该区块链服务端中的每台服务器具有唯一对应的服务器私钥,对应的服务器公钥共享至区块链服务端中的其他服务器中存储,以实现不同服务器之间的数据加密共享和数据验证等。
具体地,每个服务器中存储有一个或者多个用户身份记录链(一般为一个)。每个用户身份记录链由一个或者多个区块组成,每个用户身份记录链中的各个区块按照生成的时间先后顺序依次相连接。每个区块主要由上一区块头哈希值、生成时刻时间戳、本区块数字签名、用户身份记录Merkle树以及在当前时间段内收集到的一个或者多个用户身份记录组成。其中,上一区块头哈希值通过利用哈希算法对上一区块中的上一区块头哈希值、生成时刻时间戳、本区块数字签名和用户身份记录Merkle树的树根进行哈希运算获得的;本区块数字签名通过利用当前区块所在的服务器的服务器私钥对本区块中的上一区块头哈希值、生成时刻时间戳以及用户身份记录Merkle树的树根进行签名生成,用于后期对本区块中的信息是否被篡改进行验证;每个用户身份记录Merkle树根据上述在当前时间段内收集到的一个或者多个用户的用户身份记录生成(具体地,将对这些用户身份记录进行哈希计算所获得的哈希值作为该用户身份记录Merkle树的叶子节点,并根据这些叶子节点进行进一步的哈希运算获得其他节点),这些用户身份记录可以为特定周期(如,10秒)内生成的用户身份记录,也可以为特定数目(如,5个)的用户身份记录。每个用户身份记录中包含对应的用户的用户信息和使用消费等记录(如,地点、事项等),系统可以根据这些使用记录或者消费记录对用户的行为进行分析,从而向用户推荐相应的消费内容。如图3所示,为一个区块的组成结构及生成过程的示意图。
每个用户身份记录链中包含一个或者多个用户的用户身份记录。其中,每个用户身份记录主要由上一用户身份 记录哈希值、用户标识码、当前用户信息、生成时刻时间戳、本记录数字签名以及用户公钥组成。其中,上一用户身份记录哈希值通过利用哈希算法对用户身份记录链中的属于同一用户的上一个用户身份记录进行哈希运算获得;用户标识码、当前用户信息以及用户公钥通过客户端上传获得;本记录数字签名通过利用当前记录所在的服务器的服务器私钥对本记录中的上一用户身份记录哈希值、用户标识码、当前用户信息、生成时刻时间戳以及用户公钥进行签名生成,用于后期对本记录中的信息是否被篡改进行验证。如图4所示,为一个用户身份记录的组成结构及生成过程的示意图。
在一些具体的实施例中,还可以另外以表格的方式记录所有用户的当前用户信息和当前用户公钥。
需要进一步说明的是,每个用户身份记录链中的有效用户身份记录为与每个用户分别对应的最新生成的用户身份记录,因此,区块链服务端在接收到验证端发送的用户标识码后,在该用户身份记录链中查找到所有与该用户标识码相对应的用户身份记录,并将这些用户身份记录作为目标用户身份记录,并通过读取排列于最靠后位置的目标用户身份记录中的用户信息和用户公钥,即可获得与该用户标识码相对应的当前用户信息和当前用户公钥。
本实施例通过采用区块链技术对用户上传的用户信息、用户公钥等进行存储,从而大大提高了数据的不可更改性以及难以伪造性,确保了区块链服务端中存储的数据的安全性,进而提高用户身份验证过程的安全性和用户身份验证结果的准确性。
在又一个优选的实施例中,在上述实施例的基础上,所述用户信息密文中还包括利用所述当前用户私钥加密的密文时间戳和校验码;所述校验码根据所述待验证用户信息和所述密文时间戳进行哈希运算获得;
则在所述获得解密后待验证用户信息的同时,还包括:
获得解密后密文时间戳和解密后校验码;
所述当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息,具体包括:
对所述解密后待验证用户信息和所述解密后密文时间戳进行所述哈希运算,获得待验证校验码;
当判定所述解密后校验码和所述待验证校验码相同时,判断所述当前用户信息与所述解密后待验证用户信息是否相同;
当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成所述验证通过消息。
需要说明的是,上述用户信息密文中还包含密文时间戳和校验码等信息。具体地,客户端在接收到用户发送的用户信息提供指令之后,根据当前时刻时间生成密文时间戳,并对上述待验证用户信息和该密文时间戳进行哈希运算获得相应的校验码。随后,客户端利用当前用户私钥对上述待验证用户信息、上述密文时间戳以及上述校验码进行加密,获得相应的用户信息密文,并将该用户信息密文连同上述用户标识码一起提供给验证端。
验证端在接收到客户端发送的用户标识码和用户信息密文之后,通过与区块链服务端通信获得与该用户标识码相对应的当前用户公钥,并利用该当前用户公钥对该用户信息密文进行解密,获得相应的解密后待验证用户信息、解密后密文时间戳以及解密后校验码。随后,验证端对该解密后待验证用户信息和该解密后密文时间戳进行上述哈希运算,获得相应的待验证校验码,并将该待验证校验码与上述解密后校验码相比较,判断二者是否一致,若一致,则认为上述解密后待验证用户信息、上述解密后密文时间戳以及上述解密后校验码均未被篡改,其内容与客户端中的待验证用户信息、密文时间戳以及校验码是相一致的,因此进一步判断上述解密后待验证用户信息与区块链服务端获得的当前用户信息是否一致,若一致,则认定上述待验证用户信息与该当前用户信息一致,对上述用户的身份的验证通过,从而生成相应的验证通过消息并将该验证通过消息发送至客户端;若上述解密后待验证用户信息与区块链服务端获得的当前用户信息不一致,则认定上述待验证用户信息与该当前用户信息不一致,对上述用户的身份的验证不通过,从而生成相应的验证失败消息并将该验证失败消息发送至客户端;若上述待验证校验码与上述解密后校验码不一致,则认为上述解密后待验证用户信息、上述解密后密文时间戳或者上述解密后校验码被篡改,其内容与客户端中的待验证用户信息、密文时间戳以及校验码不相一致,因此发送相应的错误通知至客户端,以使客户端将相关的错误信息反馈给用户,以让用户重新发起一次身份验证或者作出其他处理。
本实施例通过在判断解密后待验证用户信息与当前用户信息是否相同之前,根据解密后校验码判断在数据传输 过程中,用户信息密文中的待验证用户信息是否被篡改,从而进一步提高身份验证结果的准确性。
在又一个优选的实施例中,在上述实施例的基础上,在所述接收所述区块链服务端返回的所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息的同时,还包括:
接收所述区块链服务端返回的对所述当前用户信息进行哈希值计算获得的当前用户信息摘要;
则所述当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息,具体包括:
对所述解密后待验证用户信息进行所述哈希值计算,获得待验证用户信息摘要;
将所述当前用户信息摘要与所述待验证用户信息摘要进行比较,判断二者是否相同;
当判定所述当前用户信息摘要和所述待验证用户信息摘要相同时,判定所述当前用户信息和所述解密后待验证用户信息相同,并生成所述验证通过消息。
需要说明的是,上述当前用户信息摘要以及上述待验证用户信息摘要分别为上述当前用户信息的哈希值以及上述解密后待验证用户信息的哈希值。具体地,区块链服务端在根据验证端发送的用户标识码查找到对应的当前用户信息后,利用预设的哈希算法对该当前用户信息进行计算,获得相应的第一哈希值,并将该第一哈希值作为当前用户信息摘要,并将该当前用户信息摘要连同查找到的当前用户公钥一起返回至验证端。验证端在接收到该当前用户信息摘要和该当前用户公钥之后,利用该当前用户公钥对用户信息密文进行解密,获得解密后待验证用户信息,并按照上述哈希算法对该解密后待验证用户信息进行计算,获得相应的第二哈希值,并将该第二哈希值作为待验证用户信息摘要。随后,验证端将接收到的当前用户信息摘要与计算获得的待验证用户信息摘要进行比较,即将上述第一哈希值与上述第二哈希值进行比较,判断二者是否一致,若一致,则判定上述解密后待验证用户信息与上述当前用户信息一致,进而可以认定上述待验证用户信息与该当前用户信息一致,对上述用户的身份的验证通过,从而生成相应的验证通过消息并将该验证通过消息发送至客户端;若不一致,则判定上述解密后待验证用户信息与上述当前用户信息不一致,进而认定上述待验证用户信息与该当前用户信息不一致,对上述用户的身份的验证不通过,从而生成相应的验证失败消息并将该验证失败消息发送至客户端。
由于哈希值计算过程的不可逆性,因此,本实施例通过将用户信息以哈希值的方式在验证端和区块链服务端之间进行传输,能够有效防止在该传输过程中的用户信息泄露,从而保证了用户身份验证过程的安全性。
本发明还提供了另一种基于区块链的用户身份验证方法(基于客户端),如图5所示,为本发明提供的基于区块链的用户身份验证方法的一个优选的实施例的流程示意图,包括步骤S51至S54,具体如下:
S51:响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文;
S52:将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
S53:接收所述验证端在判定所述解密后待验证用户信息和所述当前用户信息相同时发送的验证通过消息;
S54:根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新。
需要说明的是,本发明实施例由客户端执行。
在验证端进行基于区块链的用户身份验证之前,客户端预先生成一个密钥对作为当前用户公钥和当前用户私钥,并将该当前用户公钥发送至区块链服务端中存储,同时将该当前用户私钥存储至本地。用户可以在客户端中通过点击特定按钮或者做出特定手势等方式生成用户信息提供指令,以触发客户端利用上述当前用户私钥对待验证的用户信息进行加密,获得相应的用户信息密文,并将该用户信息密文连同上述用户的用户标识码一起提供给验证端。
验证员可以在验证端中通过点击特定按钮或者做出特定手势等方式生成用户信息验证指令,从而触发验证端从客户端中获得上述用户标识码和上述用户信息密文。验证端在获得该用户标识码和该用户信息密文后,将该用户标识码发送至区块链服务端以获得对应的当前用户公钥。区块链服务端在接收到该用户标识码之后,查询预先存储于 本地的各个当前用户信息和当前用户公钥,从中获得该用户标识码所对应的当前用户信息和当前用户公钥,并将该当前用户公钥返回至验证端。验证端利用区块链服务端返回的当前用户公钥对上述用户信息密文进行解密,获得相应的解密后待验证用户信息,并判断该解密后待验证用户信息与上述区块链服务端查找到的当前用户信息是否一致,若一致,则判定上述待验证用户信息与该当前用户信息一致,对上述用户的身份的验证通过,从而生成相应的验证通过消息并将该验证通过消息发送至客户端,否则,则判定上述待验证用户信息与该当前用户信息不一致,对上述用户的身份的验证不通过,从而生成相应的验证失败消息并将该验证失败消息发送至客户端。
客户端若接收到的验证端返回的消息为验证通过消息,则将相关的验证通过消息反馈给用户,同时生成新的密钥对,并根据该新的密钥对对上述当前用户私钥和上述当前用户公钥进行更新;若接收到的验证端返回的消息为验证失败消息,则将相关的验证失败信息反馈给用户,以使该用户重新发起一次身份验证或者进行其他相应的处理。
本实施例通过在每次完成对用户身份的验证之后对该验证过程中使用的密钥对(即用户公钥和用户私钥)进行更新,从而能够防止恶意攻击者通过在数据传输过程中截获相关的数据并进行模仿来实现对区块链服务端的攻击,也能够保障该身份验证过程中的用户信息不会轻易泄漏,从而提高用户身份验证过程的安全性;另外,由于该身份验证过程中使用的密钥对时常更新,且区块链服务端中的用户公钥以链式区块的方式进行存储,因此该密钥对难以被破解和模仿,恶意攻击者对用户信息进行篡改的难度增加,因此验证结果的准确率能够得到提高。
在另一个优选的实施例中,在上述实施例的基础上,在所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文之后,所述将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同之前,还包括:
根据所述用户标识码和所述用户信息密文生成二维码;
则所述将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同,具体包括:
将所述二维码显示至屏幕中,以使所述验证端对所述二维码进行扫描获得对应的二维码图像、对所述二维码图像进行解析获得所述用户标识码和所述用户信息密文,并在根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得所述解密后待验证用户信息之后,判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同。
需要说明的是,客户端可以通过二维码的方式将上述用户标识码和上述用户信息密文提供给验证端。具体地,客户端在生成用户信息密文之后,根据上述用户的用户标识码和该用户信息密文生成相应的二维码,并将该二维码显示至屏幕上。验证端在接收到用户发送的用户信息验证指令之后,通过扫描客户端的屏幕中的二维码获得相应的二维码图像,并通过对该二维码图像进行解码,即可获得上述用户标识码和上述用户信息密文。
本实施例通过二维码的方式将基于区块链的用户身份验证过程中所需的用户标识码和用户信息密文从客户端传输至验证端,从而使得用户在离线的情况下亦能够完成对用户身份的验证,提高了基于区块链的用户身份验证过程的便利性,提高用户体验。
更优选地,所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文,具体包括:
响应于所述用户信息提供指令,根据当前时刻时间生成密文时间戳;
利用所述当前用户私钥对所述待验证用户信息和所述密文时间戳进行加密,生成所述用户信息密文;
所述根据所述用户标识码和所述用户信息密文生成二维码,具体包括:
根据当前时刻时间生成二维码时间戳;
根据所述用户标识码、所述用户信息密文和所述二维码时间戳生成所述二维码;
则所述基于区块链的用户身份验证方法,还包括:
响应于所述二维码更新指令,根据当前时刻时间生成新的二维码时间戳和新的密文时间戳;
利用所述当前用户私钥对所述待验证用户信息和所述新的密文时间戳进行加密,生成新的用户信息密文;
根据所述用户标识码、所述新的用户信息密文和所述新的二维码时间戳生成所述新的二维码;
将所述二维码替换为所述新的二维码。
需要说明的是,上述二维码中还包含二维码时间戳等信息,用于实现对二维码的适时更新。客户端在对二维码进行更新的同时,还对用户信息密文进行更新,其中,通过在用户信息密文中添加密文时间戳等信息实现对用户信息密文的更新。具体地,客户端在接收到用户发送的用户信息提供指令之后,根据当前时刻时间生成密文时间戳,并利用当前用户私钥对上述待验证用户信息和上述密文时间戳进行加密,获得相应的用户信息密文。随后,客户端根据当前时刻时间生成二维码时间戳,并根据上述用户标识码、上述用户信息密文和该二维码时间戳生成相应的二维码,并将该二维码显示至屏幕上。随后,当接收到根据上述二维码时间戳生成的二维码更新指令时,根据当前时刻时间生成新的密文时间戳和新的二维码时间戳,并在利用当前用户私钥对上述待验证用户信息和该新的密文时间戳进行加密,获得新的用户信息密文之后,根据上述用户标识码、该新的用户信息密文以及该新的二维码时间戳生成新的二维码,并将该新的二维码显示至屏幕上。
如图6所示,为一个二维码的组成结构及生成过程的示意图。该二维码生成过程所依据的信息密文中还包含校验码,该校验码的生成方法可以参照上述第一种基于区块链的用户身份验证方法的第五个优选的实施例中的验证码的生成方法。
本实施例通过对二维码进行更新的同时,对其中的用户信息密文进行更新,从而能够大大增加生成的二维码的多样性,更加有效地防止恶意攻击者通过模仿该二维码对区块链服务端进行攻击,从而保证了区块链服务端存储的用户信息的安全性。
进一步地,在所述响应于所述二维码更新指令,根据当前时刻时间生成新的二维码时间戳和新的密文时间戳之前,还包括:
接收所述验证端根据所述二维码时间戳判定所述二维码已过有效期时发送的所述二维码更新指令;或者,
当判定所述二维码时间戳与当前时刻时间的差值大于预设阈值时,生成所述二维码更新指令。
需要说明的是,上述二维码更新指令可以由区块链服务端生成,也可以由客户端生成。
在上述二维码更新指令由区块链服务端生成的情况下,验证端在接收到用户发送的用户信息验证指令之后,通过扫描客户端的屏幕中的二维码获得相应的二维码图像,并通过对该二维码图像进行解码,获得上述用户标识码、上述用户签名和上述二维码时间戳。随后,验证端根据该二维码时间戳和进行当前验证时的当前时刻时间,判断该二维码是否已过有效期,若是,则发送二维码更新指令至客户端,以使客户端对该二维码进行更新,若否,则将上述用户标识码发送至区块链服务端以获得相应的当前用户信息和当前用户公钥。
在上述二维码更新指令由客户端生成的情况下,客户端对上述二维码进行实时监听,判断该二维码中的二维码时间戳与当前时刻时间之间的差值是否大于预设阈值,若是,则认为该二维码已过有效期,因此生成二维码更新指令,以触发对该二维码的更新操作;若否,则继续对该二维码进行监听。
在又一个优选的实施例中,在上述实施例的基础上,所述区块链服务端中包含用户身份记录链;所述用户身份记录链中包含至少一个按照生成时间先后顺序排列的用户身份记录;每个所述用户身份记录中包含对应的用户的用户信息和用户公钥;
则所述根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新,具体包括:
响应于所述验证通过消息,生成新的用户私钥和新的用户公钥;
利用所述当前用户私钥对所述新的用户公钥进行加密,获得加密后新用户公钥,并将所述加密后新用户公钥发送至所述区块链服务端,以使所述区块链服务端在利用所述当前用户公钥对所述加密后新用户公钥进行解密获得所述新的用户公钥后,根据所述当前用户信息和所述新的用户公钥生成新的用户身份记录、将所述新的用户身份记录添加至所述用户身份记录链中,并将所述新的用户身份记录中的所述新的用户公钥作为所述当前用户公钥;
将所述当前用户私钥更新为所述新的用户私钥。
在密钥对更新过程中,区块链服务端在接收到客户端发送的用户标识码和新的用户公钥之后,区块链服务端根据上述用户标识码、该当前用户信息以及上述新的用户公钥等生成新的用户身份记录,并将该新的用户身份记录连接于上述用户身份记录链中的最末端用户身份记录之后,从而完成对存储于区块链服务端中的当前用户公钥的更新。
在一些更优选的实施例中,在密钥对更新过程中,客户端在将用户标识码和新的用户公钥发送至区块链服务端的同时,将上述用户信息密文发送至区块链服务端,以使得区块链服务端在生成新的用户身份记录前,利用查找到的用户身份记录链中的最末端用户身份记录中的当前用户公钥对该用户信息密文进行解密,并将解密获得的用户信息与该最末端用户身份记录中的当前用户信息进行比较,以核查是否查找到正确的用户身份记录链。
本实施例通过采用区块链技术对用户上传的用户信息、用户公钥等进行存储,从而大大提高了数据的不可更改性以及难以伪造性,确保了区块链服务端中存储的数据的安全性,进而提高基于区块链的用户身份验证过程的安全性和基于区块链的用户身份验证结果的准确性。
在又一个优选的实施例中,在上述实施例的基础上,所述基于区块链的用户身份验证方法,还包括:
每隔预设时间段生成密钥对更新指令;
根据所述密钥对更新指令,生成新的用户私钥和新的用户公钥;
利用所述当前用户私钥对所述新的用户公钥进行加密,获得加密后新用户公钥,并将所述加密后新用户公钥发送至所述区块链服务端,以使所述区块链服务端在利用所述当前用户公钥对所述加密后新用户公钥进行解密获得所述新的用户公钥后,根据所述当前用户信息和所述新的用户公钥生成新的用户身份记录、将所述新的用户身份记录添加至所述用户身份记录链中,并将所述新的用户身份记录中的所述新的用户公钥作为所述当前用户公钥;
将所述当前用户私钥更新为所述新的用户私钥。
需要说明的是,客户端还可以每隔一段时间对当前用户公钥和当前用户私钥进行更新。具体地,客户端每隔预设时间段生成密钥对更新指令,并根据该密钥对更新指令生成新的用户公钥和新的用户私钥。随后,利用当前用户私钥对该新的用户公钥进行加密,获得加密后新用户公钥,并将该加密后新用户公钥发送至区块链服务端。区块链服务端在接收到验证端发送的加密后新用户公钥之后,利用当前用户公钥对该加密后新用户公钥进行解密,获得上述新的用户公钥,并将当前用户公钥更新为该新的用户公钥。与此同时,客户端将当前用户私钥更新为上述新的用户私钥。
本实施例通过每隔一段时间对当前用户公钥和当前用户私钥进行更新,从而进一步提高密钥对的更新频率、增加密钥对和用户信息的安全性,进而能够进一步提高用户身份验证过程的安全性和用户身份验证结果的准确性。
在又一个优选的实施例中,在上述实施例的基础上,所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文,具体包括:
响应于所述用户信息提供指令,根据当前时刻时间生成密文时间戳;
利用所述当前用户私钥对所述待验证用户信息和所述密文时间戳进行加密,生成所述用户信息密文;
则所述基于区块链的用户身份验证方法,还包括:
计算所述密文时间戳与当前时刻时间的差值,并判断所述差值是否大于预设阈值;
当所述差值大于预设阈值时,根据当前时刻时间生成新的密文时间戳,并利用所述当前用户私钥对所述待验证用户信息和所述新的密文时间戳进行加密,生成新的用户信息密文;
将所述用户信息密文替换为所述新的用户信息密文。
需要说明的是,上述用户信息密文中还包含密文时间戳等信息,用于实现对用户信息密文的定时更新。具体地,客户端在接收到用户发送的用户信息提供指令之后,根据当前时刻时间生成密文时间戳,并利用当前用户私钥对上述待验证用户信息和上述密文时间戳进行加密,获得相应的用户信息密文。随后,客户端对该用户信息密文进行实时监听,判断该用户信息密文中的密文时间戳与当前时刻时间之间的差值是否大于预设阈值,若是,则认为该用户信息密文已过有效期,并根据当前时刻时间生成新的密文时间戳,并利用当前用户私钥对上述待验证用户信息和该新的密文时间戳进行加密,获得新的用户信息密文,以对前述已过有效期的用户信息密文进行替换;若否,则继续对该用户信息密文进行监听。
本实施例通过使用密文时间戳来对用户信息密文的有效期进行监控,从而能够每隔一定的时间对该用户信息密文进行更新,以防止恶意攻击者通过模仿该用户信息密文对区块链服务端进行攻击,从而保证了区块链服务端存储的用户信息的安全性。
在又一个优选的实施例中,在上述实施例的基础上,在所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文之前,还包括:
采集用户的人体生物特征数据,并根据所述人体生物特征数据生成随机数种子;
根据所述随机数种子生成所述当前用户私钥;
则在所述将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同之前,还包括:
根据所述当前用户私钥,采用椭圆曲线算法计算获得所述当前用户公钥;
将所述用户标识码、所述当前用户信息和所述当前用户公钥发送至所述区块链服务端,以使所述区块链服务端在建立所述用户标识码、所述当前用户信息和所述当前用户公钥的对应关系后,将所述用户标识码、所述当前用户信息和所述当前用户公钥存入所述区块链服务端中。
需要说明的是,上述当前用户公钥和当前用户私钥根据用户的人体生物特征(如,指纹、人脸特征、声纹、瞳孔纹等)并利用特定的随机算法和特定的密码学算法计算获得。具体地,在生成当前用户公钥和当前用户私钥之前,客户端对用户的人体生物特征进行采集,获得相应的人体生物特征数据。客户端在采集获得用户的人体生物特征数据之后,根据特定的随机算法生成随机数种子,并根据该随机数种子生成一个具有256比特位的随机整数。随后,判断该随机整数的大小是否在1至N(优选地,N=1.158*10^27)的范围内,若是,则将该随机整数作为上述当前用户私钥,若否,则根据上述随机数种子重新生成一个随机整数并重新进行数值大小判断。随后,采用椭圆曲线算法对该当前用户私钥进行计算,获得对应的当前用户公钥,并将该当前用户公钥发送至区块链服务端中存储。
在本实施例中,只需对上述随机数种子进行备份存储,客户端即可在上述当前用户公钥或者上述当前用户私钥丢失、损坏或者被盗时,根据该随机数种子重新生成与用户相对应的新的当前用户公钥和新的当前用户私钥,以实现对用户身份验证过程中使用的密钥对的恢复。在一些更优选的实施例中,用户或者相关的技术人员可以对该随机数种子进行编码,生成相应的二维码,并将该二维码打印出来放入保险柜中进行存储。
在一些更优选的实施例中,客户端在根据上述随机数种子生成当前用户私钥之后,还可以对该当前用户私钥进行加密存储。具体地,客户端在根据用户输入的加密口令,并利用AES(Advanced Encryption Standard,高级加密标准)算法对该当前用户私钥进行加密后,在加密后当前用户私钥的前部添加相应的标识码(以表明该加密后当前用户私钥的属性),并采用哈希算法对该标识码和该加密后当前用户私钥进行计算,获得相应的哈希运算结果,随后,取出该哈希运算结果中的前4个字节作为校验码,并对包含该校验码的上述哈希运算结果进行Base58编码,获得一个十六进制的字符串,并对该字符串进行存储,从而实现对上述当前用户私钥的加密存储。
本实施例通过根据用户的人体生物特征来生成当前用户公钥和当前用户私钥,能够提高密钥对的难以伪造性, 从而提高了密钥对的安全性,进而提高了用户身份验证过程的安全性和用户身份验证结果的准确性;通过采用特定的随机算法和特定的密码学算法生成当前用户公钥和当前用户私钥,从而提高了该当前用户公钥和该当前用户私钥的随机性、提高了对该当前用户公钥和该当前用户私钥的模仿难度,进而提高了用户信息的安全性以及用户身份验证过程的安全性和用户身份验证结果的准确性。
在又一个优选的实施例中,在上述实施例的基础上,在所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文之前,还包括:
发送用户注册请求至所述区块链服务端,以使所述区块链服务端响应于所述用户注册请求生成服务端私钥和服务端公钥;其中,所述用户注册请求中包含所述用户标识码和所述当前用户信息;
接收所述区块链服务端返回的所述服务端私钥;
生成所述当前用户私钥和所述当前用户公钥,并利用所述服务端私钥对所述当前用户公钥进行签名,获得当前用户公钥数字签名;
将所述当前用户公钥及所述用户公钥数字签名发送至所述区块链服务端,以使所述区块链服务端利用所述服务端公钥对所述当前用户公钥数字签名进行验证通过后,在建立所述用户标识码、所述当前用户信息和所述当前用户公钥的对应关系后,将所述用户标识码、所述当前用户信息和所述当前用户公钥存入所述区块链服务端,生成注册完成消息;
接收所述区块链服务端返回的所述注册完成消息。
需要说明的是,用户在进行基于区块链的用户身份验证之前需首先进行用户身份注册。具体地,用户在客户端中输入相关的注册资料(如,姓名、性别、年龄、欲注册的身份、联系方式等)之后,通过点击特定按钮或者做出特定手势等方式触发用户注册流程。客户端在接收到用户的相关触发操作之后,对用户输入的相关注册资料进行筛选,从中获得必要的注册信息作为当前用户信息,并根据该当前用户信息进一步生成用户注册请求。客户端在接收到该用户注册请求之后,将该用户注册请求发送至区块链服务端。区块链服务端在接收到客户端发送的用户注册请求之后,自动生成一个服务端密钥对(即服务端公钥和服务端私钥),并将其中的服务端私钥发送给客户端。客户端在接收到区块链服务端发送的服务端私钥之后,自动生成一个当前用户密钥对(即当前用户公钥和当前用户私钥),并利用接收到的服务端私钥对该当前用户公钥进行加密,获得当前用户公钥数字签名。随后,客户端将该当前用户公钥数字签名发送至区块链服务端。区块链服务端在接收到该当前用户公钥数字签名之后,利用上述服务端公钥对该当前用户公钥数字签名进行解密,获得上述当前用户公钥,并在建立该当前用户公钥与上述用户注册请求中的用户标识码和当前用户信息等之间的对应关系之后,对该当前用户公钥、该用户标识码和该当前用户信息以链式区块的方式进行存储。
需要进一步说明的是,上述用户标识码可以通过用户自主选择获得,也可以通过客户端为用户自动分配获得。上述用户在客户端中输入相关的注册资料之后,可以首先将该注册资料提交至第三方注册核查端,以使该第三方注册核查端的工作人员对该注册资料进行核查。当注册资料核查通过时,可以由该第三方注册核查端的工作人员对该注册资料进行筛选,从中获得必要的注册信息,并将该注册信息直接发送至区块链服务端以触发用户注册流程,也可以将核查通过消息通知给用户,由用户在客户端进行相应的触发操作触发用户注册流程。
本实施例通过在注册过程中对客户端上传的当前用户公钥进行加密传输,从而提高了该当前用户公钥在数据传输过程中的安全性,防止该当前用户公钥被恶意攻击者篡改,进而保证了用户身份验证过程的安全性以及用户身份验证结果的准确性。
相应地,本发明还提供了一种基于区块链的用户身份验证装置(基于验证端),能够实现上述实施例中的基于区块链的用户身份验证方法的所有流程。如图7所示,为本发明提供的基于区块链的用户身份验证装置的一个优选的实施例的结构示意图,具体如下:
用户信息密文获得模块71,用于响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密 文;其中,所述用户信息密文由所述客户端利用当前用户私钥对待验证用户信息进行加密生成;
当前用户信息获取模块72,用于将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
用户信息密文解密模块73,用于接收所述区块链服务端返回的所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息;
身份验证结果生成模块74,用于当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息;以及,
验证通过消息发送模块75,用于将所述验证通过消息发送至所述客户端,以使所述客户端根据所述验证通过消息触发对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥的更新操作。
在另一个优选的实施例中,在上述实施例的基础上,所述用户信息密文获得模块,具体包括:
二维码图像获得单元,用于响应于所述用户信息验证指令,扫描获得与所述客户端对应的二维码图像;以及,
信息密文获得单元,用于对所述二维码图像进行解析,获得所述用户标识码和所述用户信息密文。
更优选地,用户信息密文获得模块,还包括:
二维码时间戳获得单元,用于获得二维码时间戳;
则所述当前用户信息获取模块,具体包括:
二维码有效期判断单元,用于根据所述二维码时间戳和当前时刻时间判断所述二维码图像所对应的二维码是否已过有效期;以及,
第一当前用户信息获取单元,用于当判定所述二维码未过所述有效期时,将所述用户标识码发送至所述区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的所述当前用户信息和所述当前用户公钥。
在又一个优选的实施例中,在上述实施例的基础上,所述区块链服务端中包含用户身份记录链;所述用户身份记录链中包含至少一个按照生成时间先后顺序排列的用户身份记录;每个所述用户身份记录中包含对应的用户的用户信息和用户公钥;
则所述当前用户信息获取模块,具体包括:
第二当前用户信息获取单元,用于将所述用户标识码发送至所述区块链服务端,以使所述区块链服务端根据所述用户标识码从所述用户身份记录链中查找与所述用户标识码相对应的所有用户身份记录作为目标用户身份记录,并从最靠后的所述目标用户身份记录中读取获得所述当前用户信息和所述当前用户公钥。
在又一个优选的实施例中,在上述实施例的基础上,所述用户信息密文中还包括利用所述当前用户私钥加密的密文时间戳和校验码;所述校验码根据所述待验证用户信息和所述密文时间戳进行哈希运算获得;
则所述基于区块链的用户身份验证装置,还包括:
校验参数获得模块,用于获得解密后密文时间戳和解密后校验码;
所述身份验证结果生成模块,具体包括:
校验码计算单元,用于对所述解密后待验证用户信息和所述解密后密文时间戳进行所述哈希运算,获得待验证校验码;
用户信息比较单元,用于当判定所述解密后校验码和所述待验证校验码相同时,判断所述当前用户信息与所述解密后待验证用户信息是否相同;以及,
第一验证结果生成单元,用于当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成所述验证通过消息。
在又一个优选的实施例中,在上述实施例的基础上,所述基于区块链的用户身份验证装置,还包括:
用户信息摘要接收模块,用于接收所述区块链服务端返回的对所述当前用户信息进行哈希值计算获得的当前用户信息摘要;
则所述身份验证结果生成模块,具体包括:
用户信息摘要计算单元,用于对所述解密后待验证用户信息进行所述哈希值计算,获得待验证用户信息摘要;
用户信息摘要比较单元,用于将所述当前用户信息摘要与所述待验证用户信息摘要进行比较,判断二者是否相同;以及,
第二验证结果生成单元,用于当判定所述当前用户信息摘要和所述待验证用户信息摘要相同时,判定所述当前用户信息和所述解密后待验证用户信息相同,并生成所述验证通过消息。
本发明还提供了另一种基于区块链的用户身份验证装置(基于客户端),如图8所示,为本发明提供的基于区块链的用户身份验证装置的一个优选的实施例的结构示意图,具体如下:
用户信息密文生成模块81,用于响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文;
用户信息密文发送模块82,用于将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
身份验证结果接收模块83,用于接收所述验证端在判定所述解密后待验证用户信息和所述当前用户信息相同时发送的验证通过消息;以及,
当前用户密钥对更新模块84,用于根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新。
在另一个优选的实施例中,在上述实施例的基础上,所述基于区块链的用户身份验证装置,还包括:
二维码生成模块,用于根据所述用户标识码和所述用户信息密文生成二维码;
则所述用户信息密文发送模块,具体包括:
二维码显示单元,用于将所述二维码显示至屏幕中,以使所述验证端对所述二维码进行扫描获得对应的二维码图像、对所述二维码图像进行解析获得所述用户标识码和所述用户信息密文,并在根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得所述解密后待验证用户信息之后,判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同。
更优选地,所述用户信息密文生成模块,具体包括:
第一时间戳生成单元,用于响应于所述用户信息提供指令,根据当前时刻时间生成密文时间戳;以及,
第一用户信息密文生成单元,用于利用所述当前用户私钥对所述待验证用户信息和所述密文时间戳进行加密,生成所述用户信息密文;
所述二维码生成模块,具体包括:
二维码时间戳生成单元,用于根据当前时刻时间生成二维码时间戳;以及,
二维码生成单元,用于根据所述用户标识码、所述用户信息密文和所述二维码时间戳生成所述二维码;
则所述基于区块链的用户身份验证装置,还包括:
新时间戳生成模块,用于响应于所述二维码更新指令,根据当前时刻时间生成新的二维码时间戳和新的密文时间戳;
第一新用户信息密文生成模块,用于利用所述当前用户私钥对所述待验证用户信息和所述新的密文时间戳进行加密,生成新的用户信息密文;
新二维码生成模块,用于根据所述用户标识码、所述新的用户信息密文和所述新的二维码时间戳生成所述新的二维码;以及,
二维码替换模块,用于将所述二维码替换为所述新的二维码。
进一步地,所述基于区块链的用户身份验证装置,还包括:
第一二维码更新指令接收模块,用于接收所述验证端根据所述二维码时间戳判定所述二维码已过有效期时发送的所述二维码更新指令;或者,
第二二维码更新指令接收模块,用于当判定所述二维码时间戳与当前时刻时间的差值大于预设阈值时,生成所述二维码更新指令。
在又一个优选的实施例中,在上述实施例的基础上,所述区块链服务端中包含用户身份记录链;所述用户身份记录链中包含至少一个按照生成时间先后顺序排列的用户身份记录;每个所述用户身份记录中包含对应的用户的用户信息和用户公钥;
则所述当前用户密钥对更新模块,具体包括:
新密钥对生成单元,用于响应于所述验证通过消息,生成新的用户私钥和新的用户公钥;
用户公钥更新单元,用于利用所述当前用户私钥对所述新的用户公钥进行加密,获得加密后新用户公钥,并将所述加密后新用户公钥发送至所述区块链服务端,以使所述区块链服务端在利用所述当前用户公钥对所述加密后新用户公钥进行解密获得所述新的用户公钥后,根据所述当前用户信息和所述新的用户公钥生成新的用户身份记录、将所述新的用户身份记录添加至所述用户身份记录链中,并将所述新的用户身份记录中的所述新的用户公钥作为所述当前用户公钥;以及,
用户私钥更新单元,用于将所述当前用户私钥更新为所述新的用户私钥。
在又一个优选的实施例中,在上述实施例的基础上,所述基于区块链的用户身份验证装置,还包括:
密钥对更新指令生成模块,用于每隔预设时间段生成密钥对更新指令;
新密钥对生成模块,用于根据所述密钥对更新指令,生成新的用户私钥和新的用户公钥;
用户公钥更新模块,用于利用所述当前用户私钥对所述新的用户公钥进行加密,获得加密后新用户公钥,并将所述加密后新用户公钥发送至所述区块链服务端,以使所述区块链服务端在利用所述当前用户公钥对所述加密后新用户公钥进行解密获得所述新的用户公钥后,根据所述当前用户信息和所述新的用户公钥生成新的用户身份记录、将所述新的用户身份记录添加至所述用户身份记录链中,并将所述新的用户身份记录中的所述新的用户公钥作为所述当前用户公钥;以及,
用户私钥更新模块,用于将所述当前用户私钥更新为所述新的用户私钥。
在又一个优选的实施例中,在上述实施例的基础上,所述用户信息密文生成模块,具体包括:
第二时间戳生成单元,用于响应于所述用户信息提供指令,根据当前时刻时间生成密文时间戳;以及,
第二用户信息密文生成单元,用于利用所述当前用户私钥对所述待验证用户信息和所述密文时间戳进行加密,生成所述用户信息密文;
则所述基于区块链的用户身份验证装置,还包括:
用户信息密文有效期判断模块,用于计算所述密文时间戳与当前时刻时间的差值,并判断所述差值是否大于预设阈值;
第二新用户信息密文生成模块,用于当所述差值大于预设阈值时,根据当前时刻时间生成新的密文时间戳,并利用所述当前用户私钥对所述待验证用户信息和所述新的密文时间戳进行加密,生成新的用户信息密文;以及,
用户信息密文替换模块,用于将所述用户信息密文替换为所述新的用户信息密文。
在又一个优选的实施例中,在上述实施例的基础上,所述基于区块链的用户身份验证装置,还包括:
人体生物特征采集模块,用于采集用户的人体生物特征数据,并根据所述人体生物特征数据生成随机数种子;以及,
用户私钥生成模块,用于根据所述随机数种子生成所述当前用户私钥;
则所述基于区块链的用户身份验证装置,还包括:
用户公钥生成模块,用于根根据所述当前用户私钥,采用椭圆曲线算法计算获得所述当前用户公钥;以及,
用户公钥存储模块,用于将所述用户标识码、所述当前用户信息和所述当前用户公钥发送至所述区块链服务端, 以使所述区块链服务端在建立所述用户标识码、所述当前用户信息和所述当前用户公钥的对应关系后,将所述用户标识码、所述当前用户信息和所述当前用户公钥存入所述区块链服务端中。
在又一个优选的实施例中,在上述实施例的基础上,所述基于区块链的用户身份验证装置,还包括:
用户注册请求发送模块,用于发送用户注册请求至所述区块链服务端,以使所述区块链服务端响应于所述用户注册请求生成服务端私钥和服务端公钥;其中,所述用户注册请求中包含所述用户标识码和所述当前用户信息;
区块链服务端私钥接收模块,用于接收所述区块链服务端返回的所述服务端私钥;
密钥对生成加密模块,用于生成所述当前用户私钥和所述当前用户公钥,并利用所述服务端私钥对所述当前用户公钥进行签名,获得当前用户公钥数字签名;
当前用户公钥发送模块,用于将所述当前用户公钥及所述用户公钥数字签名发送至所述区块链服务端,以使所述区块链服务端利用所述服务端公钥对所述当前用户公钥数字签名进行验证通过后,在建立所述用户标识码、所述当前用户信息和所述当前用户公钥的对应关系后,将所述用户标识码、所述当前用户信息和所述当前用户公钥存入所述区块链服务端,生成注册完成消息;以及,
注册完成消息接收模块,用于接收所述区块链服务端返回的所述注册完成消息。
本发明实施例提供的基于区块链的用户身份验证装置,通过在每次完成对用户身份的验证之后对该验证过程中使用的密钥对(即用户公钥和用户私钥)进行更新,从而能够防止恶意攻击者通过在数据传输过程中截获相关的数据并进行模仿来实现对区块链服务端的攻击,也能够保障该身份验证过程中的用户信息不会轻易泄漏,从而提高基于区块链的用户身份验证过程的安全性;另外,由于该身份验证过程中使用的密钥对时常更新,且区块链服务端中的用户公钥以链式区块的方式进行存储,因此该密钥对难以被破解和模仿,恶意攻击者对用户信息进行篡改的难度增加,因此验证结果的准确率能够得到提高。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (18)

  1. 一种基于区块链的用户身份验证方法,其特征在于,包括:
    响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密文;其中,所述用户信息密文由所述客户端利用当前用户私钥对待验证用户信息进行加密生成;
    将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
    接收所述区块链服务端返回的所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息;
    当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息;
    将所述验证通过消息发送至所述客户端,以使所述客户端根据所述验证通过消息触发对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥的更新操作。
  2. 如权利要求1所述的基于区块链的用户身份验证方法,其特征在于,所述响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密文,具体包括:
    响应于所述用户信息验证指令,扫描获得与所述客户端对应的二维码图像;
    对所述二维码图像进行解析,获得所述用户标识码和所述用户信息密文。
  3. 如权利要求2所述的基于区块链的用户身份验证方法,其特征在于,在所述获得所述用户标识码和所述用户信息密文的同时,还包括:
    获得二维码时间戳;
    则所述将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥,具体包括:
    根据所述二维码时间戳和当前时刻时间判断所述二维码图像所对应的二维码是否已过有效期;
    当判定所述二维码未过所述有效期时,将所述用户标识码发送至所述区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的所述当前用户信息和所述当前用户公钥。
  4. 如权利要求1所述的基于区块链的用户身份验证方法,其特征在于,所述区块链服务端中包含用户身份记录链;所述用户身份记录链中包含至少一个按照生成时间先后顺序排列的用户身份记录;每个所述用户身份记录中包含对应的用户的用户信息和用户公钥;
    则所述将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥,具体包括:
    将所述用户标识码发送至所述区块链服务端,以使所述区块链服务端根据所述用户标识码从所述用户身份记录链中查找与所述用户标识码相对应的所有用户身份记录作为目标用户身份记录,并从最靠后的所述目标用户身份记录中读取获得所述当前用户信息和所述当前用户公钥。
  5. 如权利要求1所述的基于区块链的用户身份验证方法,其特征在于,所述用户信息密文中还包括利用所述当前用户私钥加密的密文时间戳和校验码;所述校验码根据所述待验证用户信息和所述密文时间戳进行哈希运算获得;
    则在所述获得解密后待验证用户信息的同时,还包括:
    获得解密后密文时间戳和解密后校验码;
    所述当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息,具体包括:
    对所述解密后待验证用户信息和所述解密后密文时间戳进行所述哈希运算,获得待验证校验码;
    当判定所述解密后校验码和所述待验证校验码相同时,判断所述当前用户信息与所述解密后待验证用户信息是否相同;
    当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成所述验证通过消息。
  6. 如权利要求1所述的基于区块链的用户身份验证方法,其特征在于,在所述接收所述区块链服务端返回的 所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息的同时,还包括:
    接收所述区块链服务端返回的对所述当前用户信息进行哈希值计算获得的当前用户信息摘要;
    则所述当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息,具体包括:
    对所述解密后待验证用户信息进行所述哈希值计算,获得待验证用户信息摘要;
    将所述当前用户信息摘要与所述待验证用户信息摘要进行比较,判断二者是否相同;
    当判定所述当前用户信息摘要和所述待验证用户信息摘要相同时,判定所述当前用户信息和所述解密后待验证用户信息相同,并生成所述验证通过消息。
  7. 一种基于区块链的用户身份验证方法,其特征在于,包括:
    响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文;
    将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
    接收所述验证端在判定所述解密后待验证用户信息和所述当前用户信息相同时发送的验证通过消息;
    根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新。
  8. 如权利要求7所述的基于区块链的用户身份验证方法,其特征在于,在所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文之后,所述将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同之前,还包括:
    根据所述用户标识码和所述用户信息密文生成二维码;
    则所述将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同,具体包括:
    将所述二维码显示至屏幕中,以使所述验证端对所述二维码进行扫描获得对应的二维码图像、对所述二维码图像进行解析获得所述用户标识码和所述用户信息密文,并在根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得所述解密后待验证用户信息之后,判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同。
  9. 如权利要求8所述的基于区块链的用户身份验证方法,其特征在于,所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文,具体包括:
    响应于所述用户信息提供指令,根据当前时刻时间生成密文时间戳;
    利用所述当前用户私钥对所述待验证用户信息和所述密文时间戳进行加密,生成所述用户信息密文;
    所述根据所述用户标识码和所述用户信息密文生成二维码,具体包括:
    根据当前时刻时间生成二维码时间戳;
    根据所述用户标识码、所述用户信息密文和所述二维码时间戳生成所述二维码;
    则所述基于区块链的用户身份验证方法,还包括:
    响应于所述二维码更新指令,根据当前时刻时间生成新的二维码时间戳和新的密文时间戳;
    利用所述当前用户私钥对所述待验证用户信息和所述新的密文时间戳进行加密,生成新的用户信息密文;
    根据所述用户标识码、所述新的用户信息密文和所述新的二维码时间戳生成所述新的二维码;
    将所述二维码替换为所述新的二维码。
  10. 如权利要求9所述的基于区块链的用户身份验证方法,其特征在于,在所述响应于所述二维码更新指令,根据当前时刻时间生成新的二维码时间戳和新的密文时间戳之前,还包括:
    接收所述验证端根据所述二维码时间戳判定所述二维码已过有效期时发送的所述二维码更新指令;或者,
    当判定所述二维码时间戳与当前时刻时间的差值大于预设阈值时,生成所述二维码更新指令。
  11. 如权利要求7所述的基于区块链的用户身份验证方法,其特征在于,所述区块链服务端中包含用户身份记录链;所述用户身份记录链中包含至少一个按照生成时间先后顺序排列的用户身份记录;每个所述用户身份记录中包含对应的用户的用户信息和用户公钥;
    则所述根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新,具体包括:
    响应于所述验证通过消息,生成新的用户私钥和新的用户公钥;
    利用所述当前用户私钥对所述新的用户公钥进行加密,获得加密后新用户公钥,并将所述加密后新用户公钥发送至所述区块链服务端,以使所述区块链服务端在利用所述当前用户公钥对所述加密后新用户公钥进行解密获得所述新的用户公钥后,根据所述当前用户信息和所述新的用户公钥生成新的用户身份记录、将所述新的用户身份记录添加至所述用户身份记录链中,并将所述新的用户身份记录中的所述新的用户公钥作为所述当前用户公钥;
    将所述当前用户私钥更新为所述新的用户私钥。
  12. 如权利要求7所述的基于区块链的用户身份验证方法,其特征在于,所述基于区块链的用户身份验证方法,还包括:
    每隔预设时间段生成密钥对更新指令;
    根据所述密钥对更新指令,生成新的用户私钥和新的用户公钥;
    利用所述当前用户私钥对所述新的用户公钥进行加密,获得加密后新用户公钥,并将所述加密后新用户公钥发送至所述区块链服务端,以使所述区块链服务端在利用所述当前用户公钥对所述加密后新用户公钥进行解密获得所述新的用户公钥后,根据所述当前用户信息和所述新的用户公钥生成新的用户身份记录、将所述新的用户身份记录添加至所述用户身份记录链中,并将所述新的用户身份记录中的所述新的用户公钥作为所述当前用户公钥;
    将所述当前用户私钥更新为所述新的用户私钥。
  13. 如权利要求7所述的基于区块链的用户身份验证方法,其特征在于,所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文,具体包括:
    响应于所述用户信息提供指令,根据当前时刻时间生成密文时间戳;
    利用所述当前用户私钥对所述待验证用户信息和所述密文时间戳进行加密,生成所述用户信息密文;
    则所述基于区块链的用户身份验证方法,还包括:
    计算所述密文时间戳与当前时刻时间的差值,并判断所述差值是否大于预设阈值;
    当所述差值大于预设阈值时,根据当前时刻时间生成新的密文时间戳,并利用所述当前用户私钥对所述待验证用户信息和所述新的密文时间戳进行加密,生成新的用户信息密文;
    将所述用户信息密文替换为所述新的用户信息密文。
  14. 如权利要求7所述的基于区块链的用户身份验证方法,其特征在于,在所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文之前,还包括:
    采集用户的人体生物特征数据,并根据所述人体生物特征数据生成随机数种子;
    根据所述随机数种子生成所述当前用户私钥;
    则在所述将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同之前,还包括:
    根据所述当前用户私钥,采用椭圆曲线算法计算获得所述当前用户公钥;
    将所述用户标识码、所述当前用户信息和所述当前用户公钥发送至所述区块链服务端,以使所述区块链服务端在建立所述用户标识码、所述当前用户信息和所述当前用户公钥的对应关系后,将所述用户标识码、所述当前用户信息和所述当前用户公钥存入所述区块链服务端中。
  15. 如权利要求7所述的基于区块链的用户身份验证方法,其特征在于,在所述响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文之前,还包括:
    发送用户注册请求至所述区块链服务端,以使所述区块链服务端响应于所述用户注册请求生成服务端私钥和服务端公钥;其中,所述用户注册请求中包含所述用户标识码和所述当前用户信息;
    接收所述区块链服务端返回的所述服务端私钥;
    生成所述当前用户私钥和所述当前用户公钥,并利用所述服务端私钥对所述当前用户公钥进行签名,获得当前用户公钥数字签名;
    将所述当前用户公钥及所述用户公钥数字签名发送至所述区块链服务端,以使所述区块链服务端利用所述服务端公钥对所述当前用户公钥数字签名进行验证通过后,在建立所述用户标识码、所述当前用户信息和所述当前用户公钥的对应关系后,将所述用户标识码、所述当前用户信息和所述当前用户公钥存入所述区块链服务端,生成注册完成消息;
    接收所述区块链服务端返回的所述注册完成消息。
  16. 一种基于区块链的用户身份验证装置,其特征在于,包括:
    用户信息密文获得模块,用于响应于用户信息验证指令,从客户端获得待验证的用户标识码和用户信息密文;其中,所述用户信息密文由所述客户端利用当前用户私钥对待验证用户信息进行加密生成;
    当前用户信息获取模块,用于将所述用户标识码发送至区块链服务端,以使所述区块链服务端根据所述用户标识码获取对应的当前用户信息和当前用户公钥;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
    用户信息密文解密模块,用于接收所述区块链服务端返回的所述当前用户公钥,并利用所述当前用户公钥对所述用户信息密文进行解密,获得解密后待验证用户信息;
    身份验证结果生成模块,用于当判定所述当前用户信息和所述解密后待验证用户信息相同时,生成验证通过消息;以及,
    验证通过消息发送模块,用于将所述验证通过消息发送至所述客户端,以使所述客户端根据所述验证通过消息触发对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥的更新操作。
  17. 一种基于区块链的用户身份验证装置,其特征在于,包括:
    用户信息密文生成模块,用于响应于用户信息提供指令,利用当前用户私钥对待验证用户信息进行加密,生成待验证的用户信息密文;
    用户信息密文发送模块,用于将待验证的用户标识码和所述用户信息密文提供给验证端,以使所述验证端根据所述用户标识码从区块链服务端获得对应的当前用户公钥、利用所述当前用户公钥对所述用户信息密文进行解密获得解密后待验证用户信息,并判断所述解密后待验证用户信息和所述区块链服务端根据所述用户标识码获取的对应的当前用户信息是否相同;其中,所述区块链服务端中预先存储有至少一个用户的当前用户信息和当前用户公钥;
    身份验证结果接收模块,用于接收所述验证端在判定所述解密后待验证用户信息和所述当前用户信息相同时发送的验证通过消息;以及,
    当前用户密钥对更新模块,用于根据所述验证通过消息对所述当前用户私钥和所述区块链服务端中的所述当前用户公钥进行更新。
  18. 一种基于区块链的用户身份验证系统,其特征在于,包括至少一个客户端、至少一个验证端以及至少一个区块链服务端;
    所述客户端为如权利要求17所述的基于区块链的用户身份验证装置;
    所述验证端为如权利要求16所述的基于区块链的用户身份验证装置;
    所述区块链服务端中包含预先存储的用户身份记录链;所述用户身份记录链中存储有包含用户标识码、当前用户信息以及当前用户公钥的用户身份记录。
PCT/CN2018/098987 2017-09-12 2018-08-06 基于区块链的用户身份验证方法、装置及系统 WO2019052286A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710821154.0 2017-09-12
CN201710821154.0A CN107579817A (zh) 2017-09-12 2017-09-12 基于区块链的用户身份验证方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2019052286A1 true WO2019052286A1 (zh) 2019-03-21

Family

ID=61036095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/098987 WO2019052286A1 (zh) 2017-09-12 2018-08-06 基于区块链的用户身份验证方法、装置及系统

Country Status (2)

Country Link
CN (1) CN107579817A (zh)
WO (1) WO2019052286A1 (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110110552A (zh) * 2019-04-30 2019-08-09 佛山科学技术学院 一种基于区块链的电子证照数据共享方法及系统
CN110335051A (zh) * 2019-07-03 2019-10-15 烟台市同翔网络科技有限责任公司 一种基于区块链主副链技术的食品标签唯一码发布与流通溯源方法
CN110457389A (zh) * 2019-07-12 2019-11-15 南京邮电大学 一种区块链多链数据信息同步的底层方法
CN110781140A (zh) * 2019-09-06 2020-02-11 平安科技(深圳)有限公司 区块链中数据签名的方法、装置、计算机设备及存储介质
CN110930251A (zh) * 2019-10-18 2020-03-27 如般量子科技有限公司 基于联盟链和隐式证书的抗量子计算云存储方法及系统
CN111130803A (zh) * 2019-12-26 2020-05-08 信安神州科技(广州)有限公司 数字签名的方法、系统及装置
CN111178840A (zh) * 2019-12-27 2020-05-19 支付宝实验室(新加坡)有限公司 业务处理方法及装置、系统、电子设备、存储介质
CN111246471A (zh) * 2020-01-10 2020-06-05 中国联合网络通信集团有限公司 终端接入方法及装置
CN111263361A (zh) * 2020-01-10 2020-06-09 中国联合网络通信集团有限公司 基于区块链网络的连接认证方法、装置及微基站
CN111339509A (zh) * 2020-03-03 2020-06-26 李斌 一种基于侧链的区块链跨链身份认证方法
CN111506930A (zh) * 2020-04-21 2020-08-07 广州上云区块链科技有限公司 一种基于区块链的电商交易信息管理系统及方法
CN111914270A (zh) * 2020-07-08 2020-11-10 广西佳壹大数据科技股份有限公司 基于区块链技术的可编程认证服务方法和系统
CN112100983A (zh) * 2020-08-14 2020-12-18 许继集团有限公司 一种用于系统中的标识码以及标识码的生成方法
CN112162984A (zh) * 2020-09-28 2021-01-01 彩讯科技股份有限公司 一种基于区块链的实名认证方法、系统、设备和存储介质
CN112446701A (zh) * 2019-09-03 2021-03-05 上海唯链信息科技有限公司 一种基于区块链的身份认证方法、设备和存储装置
CN112565211A (zh) * 2020-11-24 2021-03-26 北京沃东天骏信息技术有限公司 区块链网络服务平台及信息处理方法、设备、存储介质
CN112689019A (zh) * 2020-12-29 2021-04-20 浙江万里学院 基于区块链技术的物流状态监控方法
WO2021137833A1 (en) * 2019-12-31 2021-07-08 Turkcell Teknoloji Arastirma Ve Gelistirme Anonim Sirketi A system for creating digital identity
CN113269570A (zh) * 2021-06-11 2021-08-17 深圳番多拉信息科技有限公司 一种抽取结果验证方法以及相关装置
CN113347185A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种基于区块链的物联网设备管理方法
CN113452503A (zh) * 2020-03-24 2021-09-28 山东浪潮质量链科技有限公司 一种基于区块链的私钥找回方法、设备及介质
CN113468602A (zh) * 2020-08-31 2021-10-01 支付宝(杭州)信息技术有限公司 一种数据检验方法、装置及设备
CN113595877A (zh) * 2021-07-23 2021-11-02 永旗(北京)科技有限公司 一种基于区块链的即时通讯方法
CN113904869A (zh) * 2021-11-10 2022-01-07 深圳前海微众银行股份有限公司 一种区块链中恶意节点的检测方法及区块链
TWI755210B (zh) * 2020-12-22 2022-02-11 天宿智能科技股份有限公司 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法
CN114491631A (zh) * 2022-01-25 2022-05-13 广东省第二人民医院(广东省卫生应急医院) 护理敏感指标信息交互方法及监测装置
CN114584314A (zh) * 2022-02-28 2022-06-03 天翼安全科技有限公司 一种注册方法、装置、设备及介质
CN115277690A (zh) * 2022-05-12 2022-11-01 安徽超清科技股份有限公司 一种基于区块链的工业数据监管系统
CN115589298A (zh) * 2022-11-22 2023-01-10 中国信息通信研究院 区块链的信息验证方法、装置和系统、设备、介质
CN116527372A (zh) * 2023-05-16 2023-08-01 深圳建安润星安全技术有限公司 基于互联网的数据安全交互系统及方法
CN117499159A (zh) * 2023-12-27 2024-02-02 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备
CN117874777A (zh) * 2023-11-29 2024-04-12 中国民航信息网络股份有限公司 一种基于区块链的数据存储方法、装置及系统

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
CN108462692B (zh) * 2018-01-30 2020-09-18 合肥工业大学 一种基于区块链的数据防篡改系统及其方法
CN108462696B (zh) * 2018-02-05 2020-12-15 邓海南 一种去中心化的区块链智能身份认证系统
CN108199842B (zh) * 2018-02-13 2021-03-02 克洛斯比尔有限公司 延迟公布信息的方法和系统
CN110311883B (zh) 2018-03-27 2020-11-10 华为技术有限公司 身份管理方法、设备、通信网络及存储介质
CN108616573A (zh) * 2018-03-31 2018-10-02 甘肃万维信息技术有限责任公司 基于区块链互联的精准扶贫便民服务系统
CN108681904A (zh) * 2018-04-01 2018-10-19 蒋欣言 一种瓶装式商品的防伪验证实现方法
CN108512661A (zh) * 2018-04-02 2018-09-07 成都零光量子科技有限公司 一种区块链用户私钥的安全防护方法
CN108768650B (zh) * 2018-04-12 2021-06-22 济南大学 一种基于生物特征的短信验证系统
CN108805573B (zh) * 2018-04-21 2022-04-15 深圳市元征科技股份有限公司 一种信息验证方法、服务器及存储介质
CN108683646B (zh) * 2018-04-28 2021-03-16 厦门美图之家科技有限公司 一种认证方法及计算设备
CN108737106B (zh) * 2018-05-09 2021-06-01 深圳壹账通智能科技有限公司 区块链系统上用户验证方法、装置、终端设备及存储介质
CN108809953B (zh) * 2018-05-22 2020-09-01 飞天诚信科技股份有限公司 一种基于区块链的匿名身份认证的方法及装置
CN108805538A (zh) * 2018-06-14 2018-11-13 清华大学 一种数字货币交易方法和装置
CN110611563B (zh) * 2018-06-15 2022-09-06 富泰华工业(深圳)有限公司 设备识别码配发方法、装置及物联网设备
CN108769057B (zh) * 2018-06-15 2021-11-02 北京奇虎科技有限公司 基于区块链的身份识别方法及装置
CN108847931B (zh) * 2018-06-25 2021-06-15 北京奇虎科技有限公司 基于生物识别结果的区块链密钥生成方法及装置
CN108985364B (zh) * 2018-07-05 2020-12-08 招银云创(深圳)信息技术有限公司 盖章文件的验证方法、装置、计算机设备和存储介质
CN110708269B (zh) * 2018-07-10 2022-04-12 北京京东尚科信息技术有限公司 区块链数据传输方法、区块链节点和计算机可读存储介质
CN109002725B (zh) * 2018-07-19 2021-05-18 合肥工业大学 基于区块链的数据处理系统
CN108650279A (zh) * 2018-07-24 2018-10-12 孔德键 网络信息安全获取方法及网络交易方法及网络安全系统
CN109067524B (zh) * 2018-07-31 2020-07-10 杭州复杂美科技有限公司 一种公私钥对生成方法及系统
CN108833119A (zh) * 2018-08-01 2018-11-16 佛山市苔藓云链科技有限公司 一种节点连接到块链网络的存储设备
CN109088865B (zh) * 2018-08-02 2021-10-12 京东方科技集团股份有限公司 用户身份认证方法、装置、可读存储介质和计算机设备
CN110798433B (zh) * 2018-08-03 2021-12-07 广州小鹏汽车科技有限公司 一种验证码校验方法及装置
CN108847945A (zh) * 2018-08-06 2018-11-20 佛山市苔藓云链科技有限公司 一种包含多个节点连接到块链网络的记录设备
CN108959971A (zh) * 2018-08-09 2018-12-07 佛山市苔藓云链科技有限公司 一种通过区块链维护互联网个人可识别信息的方法
CN109150542A (zh) * 2018-08-15 2019-01-04 杭州链汇通区块链科技有限公司 硬件签章方法、硬件签章验证方法、签章系统和存储介质
CN109118377B (zh) * 2018-08-29 2023-04-18 深圳壹账通智能科技有限公司 一种基于区块链的理赔事件的处理方法、系统及电子设备
CN109407663B (zh) * 2018-09-04 2020-11-06 上海交通大学 基于区块链的无人驾驶信息安全保障方法和系统
CN109245993A (zh) * 2018-09-07 2019-01-18 中链科技有限公司 基于区块链的即时通讯方法及装置
CN110896390B (zh) * 2018-09-12 2021-05-11 华为技术有限公司 一种发送消息的方法、验证消息的方法、装置及通信系统
US11212093B2 (en) * 2018-09-14 2021-12-28 Htc Corporation Method of social key recovery and related device
CN109345242B (zh) * 2018-09-18 2022-10-28 百度在线网络技术(北京)有限公司 基于区块链的密钥存储、更新方法、装置、设备和介质
CN109117674A (zh) * 2018-09-25 2019-01-01 深圳市元征科技股份有限公司 一种客户端验证加密方法、系统、设备及计算机介质
CN109361738A (zh) * 2018-09-25 2019-02-19 安徽灵图壹智能科技有限公司 一种基于区块链网络的身份认证系统及方法
CN109983466B (zh) * 2018-09-27 2023-03-03 区链通网络有限公司 一种基于区块链的账户管理系统以及管理方法、存储介质
CN109067801B (zh) * 2018-09-29 2021-09-03 平安科技(深圳)有限公司 一种身份认证方法、身份认证装置及计算机可读介质
CN109492424B (zh) * 2018-09-29 2023-05-26 平安科技(深圳)有限公司 数据资产管理方法、数据资产管理装置及计算机可读介质
CN109543441A (zh) * 2018-10-08 2019-03-29 北京百度网讯科技有限公司 数据库授权方法、装置、计算机设备及存储介质
CN109447742A (zh) * 2018-10-16 2019-03-08 广东工业大学 一种订单处理方法及相关装置
CN109359601A (zh) * 2018-10-19 2019-02-19 平安科技(深圳)有限公司 身份验证识别方法、电子装置及计算机可读存储介质
CN111160069B (zh) * 2018-11-07 2023-07-18 航天信息股份有限公司 一种活体检测方法及装置
CN109740319B (zh) * 2018-12-06 2021-03-12 中国联合网络通信集团有限公司 数字身份验证方法及服务器
CN109413102B (zh) * 2018-12-10 2021-04-09 北京八分量信息科技有限公司 基于零知识证明的注册系统、方法及区块链存证系统
CN109889479B (zh) * 2018-12-21 2022-07-26 中积教育科技有限公司 基于区块链的用户身份存证、验证方法及装置及查证系统
CN109829269A (zh) * 2018-12-26 2019-05-31 平安科技(深圳)有限公司 基于电子印章验证电子文档的方法、装置及系统
CN109660546B (zh) * 2018-12-27 2021-05-07 泰华智慧产业集团股份有限公司 基于NetflixZuul的API网关实现鉴权的方法
CN109801071B (zh) * 2019-01-17 2020-09-29 厦门美图之家科技有限公司 密码重置方法及装置
CN109872154A (zh) * 2019-01-31 2019-06-11 中国—东盟信息港股份有限公司 一种基于区块链交易数据的身份实名认证系统
CN109829720A (zh) * 2019-01-31 2019-05-31 中国—东盟信息港股份有限公司 一种基于区块链交易数据的身份实名认证方法
CN109687965B (zh) * 2019-02-18 2021-09-21 哈尔滨工业大学(深圳) 一种保护网络中用户身份信息的实名认证方法
CN109951291B (zh) * 2019-02-18 2022-04-15 四川迪佳通电子有限公司 基于可信执行环境的内容共享方法及装置、多媒体设备
CN110086608B (zh) * 2019-03-21 2022-03-25 深圳壹账通智能科技有限公司 用户认证方法、装置、计算机设备及计算机可读存储介质
CN109951489B (zh) * 2019-03-27 2020-11-03 深圳市网心科技有限公司 一种数字身份认证方法、设备、装置、系统及存储介质
CN109862041B (zh) * 2019-03-27 2021-06-15 深圳市网心科技有限公司 一种数字身份认证方法、设备、装置、系统及存储介质
CN110113167B (zh) * 2019-04-01 2021-10-22 广州杰赛科技股份有限公司 一种智能终端的信息保护方法、系统以及可读存储介质
CN110020526A (zh) * 2019-04-02 2019-07-16 深圳智乾区块链科技有限公司 基于区块链身份认证的审批方法、装置及存储介质
CN110071808A (zh) * 2019-04-09 2019-07-30 郭浩 一种区块链用户的安全数字身份验证方法和装置
CN110086789B (zh) * 2019-04-17 2021-07-13 腾讯科技(深圳)有限公司 一种数据传输的方法、装置、设备和介质
CN110163006B (zh) * 2019-04-18 2020-07-07 阿里巴巴集团控股有限公司 一种块链式账本中的签名验证方法、系统、装置及设备
US11070379B2 (en) 2019-04-18 2021-07-20 Advanced New Technologies Co., Ltd. Signature verification for a blockchain ledger
CN110224810A (zh) * 2019-04-28 2019-09-10 新大陆(福建)公共服务有限公司 一种二维码的防伪方法
CN110222542A (zh) * 2019-04-28 2019-09-10 新大陆(福建)公共服务有限公司 一种具有验码功能的扫码引擎及其使用方法
CN110351089B (zh) * 2019-05-23 2022-01-04 西安电子科技大学 一种数据签名认证方法及装置
CN110166460B (zh) * 2019-05-24 2021-12-14 北京思源理想控股集团有限公司 业务帐号的注册方法和装置、存储介质、电子装置
CN110430201A (zh) * 2019-08-09 2019-11-08 北京智汇信元科技有限公司 一种分布式身份凭证生成、验证方法及系统
CN110457878A (zh) * 2019-08-14 2019-11-15 北京中电普华信息技术有限公司 一种基于区块链的身份认证方法、装置及系统
CN110704826A (zh) * 2019-09-02 2020-01-17 深圳壹账通智能科技有限公司 信息推荐方法及装置、存储介质和电子设备
CN112448881B (zh) * 2019-09-03 2022-10-25 阿里巴巴集团控股有限公司 电子邮件的防伪方法及装置、通讯消息的防伪方法及装置
CN110545190B (zh) * 2019-09-06 2021-08-13 腾讯科技(深圳)有限公司 一种签名处理的方法、相关装置以及设备
CN110569658B (zh) * 2019-09-12 2024-06-14 腾讯科技(深圳)有限公司 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质
CN110493261B (zh) * 2019-09-16 2021-07-27 腾讯科技(深圳)有限公司 基于区块链的验证码获取方法、客户端、服务器及存储介质
CN110766831B (zh) * 2019-09-29 2021-08-20 深圳深岚视觉科技有限公司 动态二维码生成方法、装置及存储介质
CN110689348B (zh) * 2019-09-30 2023-12-29 腾讯云计算(北京)有限责任公司 基于联盟链的收入验证方法、装置、终端及介质
CN111132155B (zh) * 2019-12-30 2023-11-17 江苏全链通信息科技有限公司 5g安全通信方法、设备及存储介质
CN111181730A (zh) * 2019-12-31 2020-05-19 航天信息股份有限公司 用户身份生成及更新方法和装置、存储介质和节点设备
CN111262867A (zh) * 2020-01-17 2020-06-09 吴燕琼 一种基于区块链的密钥管理方法
US11722312B2 (en) * 2020-03-09 2023-08-08 Sony Group Corporation Privacy-preserving signature
CN111428531A (zh) * 2020-03-13 2020-07-17 郑州大学 一种艺术qr码的识别方法、装置、电子设备及存储介质
CN113452504B (zh) * 2020-03-24 2023-02-21 浪潮卓数大数据产业发展有限公司 一种数据解密方法及设备
CN113472521A (zh) * 2020-03-30 2021-10-01 山东浪潮质量链科技有限公司 基于区块链的实名数字身份管理方法、签名设备和验证设备
CN111475845B (zh) * 2020-04-13 2023-09-22 中国工商银行股份有限公司 非结构化数据身份授权访问系统及方法
CN111613228A (zh) * 2020-04-15 2020-09-01 上海雷尘智能科技有限公司 一种基于声纹码的身份与内容识别系统
CN111541671A (zh) * 2020-04-16 2020-08-14 北京海益同展信息科技有限公司 人员信息存储、验证方法、系统及存储介质
CN111611292A (zh) * 2020-04-22 2020-09-01 淮阴工学院 一种装配式建筑构件的供应链管理与控制方法
CN111586011A (zh) * 2020-04-29 2020-08-25 中国联合网络通信集团有限公司 一种信息共享方法及装置
CN111669377B (zh) * 2020-05-27 2023-02-03 国家广播电视总局广播电视规划院 一种区块链上链信息的安全管控方法
CN111949953B (zh) * 2020-06-23 2021-10-22 卓尔智联(武汉)研究院有限公司 基于区块链的身份认证方法、系统、装置和计算机设备
CN111770089B (zh) * 2020-06-29 2022-04-08 福建福链科技有限公司 一种用于区块链传感器的认证方法及区块链网络
CN111835775A (zh) * 2020-07-16 2020-10-27 华北电力科学研究院有限责任公司 一种基于区块链的物联网设备安全调用方法、装置及设备
CN113972984B (zh) * 2020-07-24 2024-03-19 中国移动通信集团浙江有限公司 ElGamal密文等价判断方法及装置
CN111860727B (zh) * 2020-07-30 2023-06-20 深圳前海微众银行股份有限公司 二维码生成方法、验证方法、设备及计算机可读存储介质
CN112131489A (zh) * 2020-09-28 2020-12-25 青岛海尔科技有限公司 好友关系管理方法、系统、存储介质和电子装置
CN114362950A (zh) * 2020-09-29 2022-04-15 中国移动通信有限公司研究院 一种信息传输方法、装置及终端
CN112235277A (zh) * 2020-10-09 2021-01-15 北京达佳互联信息技术有限公司 资源请求方法、资源响应方法及相关设备
CN112543241B (zh) * 2020-10-22 2023-05-30 重庆恢恢信息技术有限公司 一种利用区块链进行建筑工地安全图像数据挖掘方法
CN112328989A (zh) * 2020-10-27 2021-02-05 杭州安恒信息技术股份有限公司 基于生物特征的网络身份验证方法、系统和存储介质
CN112311556B (zh) * 2020-11-05 2024-05-24 北京领主科技有限公司 设备认证的方法、设备控制的方法、节点、设备、区块链
CN112822687B (zh) * 2020-12-31 2023-03-24 山西特信环宇信息技术有限公司 一种锥体区块链移动终端认证方法
CN112866241A (zh) * 2021-01-15 2021-05-28 迅鳐成都科技有限公司 一种基于区块链的数字身份更新方法、设备及存储介质
CN112908039B (zh) * 2021-01-27 2022-02-25 深圳协鑫智慧能源有限公司 一种基于智慧路灯的空域管制方法及智慧路灯
CN112865972B (zh) * 2021-03-31 2023-03-14 深圳市巽震科技孵化器有限公司 基于数字证书平台的初始化方法及设备、系统和存储设备
CN113420273A (zh) * 2021-06-28 2021-09-21 国网山东省电力公司电力科学研究院 基于物联网的多特征采集身份验证方法及系统
CN113487321A (zh) * 2021-07-06 2021-10-08 域世安(北京)科技有限公司 基于区块链钱包的身份识别与验证方法及系统
CN113569209B (zh) * 2021-07-09 2024-06-11 远光软件股份有限公司 基于区块链的用户注册方法及装置
CN113743556A (zh) * 2021-09-09 2021-12-03 厦门熵基科技有限公司 一种二维码生成、验证方法及相关设备
CN113626533B (zh) * 2021-10-11 2022-01-25 聊城中塑电子科技有限公司 一种紫外线功率检测方法、装置及电子设备
CN114092039A (zh) * 2021-11-05 2022-02-25 武汉筑链科技有限公司 一种基于区块链的可配置流程审批方法及系统
CN113992532B (zh) * 2021-12-27 2022-03-25 广州敏行区块链科技有限公司 一种区块链底层系统的测试方法及其系统
CN114826654B (zh) * 2022-03-11 2023-09-12 中国互联网络信息中心 一种基于域名系统命名的客户端认证方法及系统
CN114978783B (zh) * 2022-08-02 2022-11-11 暗链科技(深圳)有限公司 零知识身份验证方法、验证客户端、用户客户端及系统
CN115118441B (zh) * 2022-08-29 2022-11-04 中航信移动科技有限公司 一种基于区块链的身份验证系统
US20240073028A1 (en) * 2022-08-30 2024-02-29 Boe Technology Group Co., Ltd. Anti-counterfeiting verifying method, hardware apparatus, system, electronic device, and storage medium
CN116112167B (zh) * 2023-04-13 2023-06-27 恒生电子股份有限公司 密钥管理系统、方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065652A (zh) * 2014-06-09 2014-09-24 韩晟 一种身份验证方法、装置、系统及相关设备
CN106487743A (zh) * 2015-08-25 2017-03-08 阿里巴巴集团控股有限公司 用于支持多用户集群身份验证的方法和设备
US20170180128A1 (en) * 2015-12-22 2017-06-22 Gemalto Inc. Method for managing a trusted identity
CN107079037A (zh) * 2016-09-18 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701372B (zh) * 2015-12-18 2019-04-09 布比(北京)网络技术有限公司 一种区块链身份构建及验证方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065652A (zh) * 2014-06-09 2014-09-24 韩晟 一种身份验证方法、装置、系统及相关设备
CN106487743A (zh) * 2015-08-25 2017-03-08 阿里巴巴集团控股有限公司 用于支持多用户集群身份验证的方法和设备
US20170180128A1 (en) * 2015-12-22 2017-06-22 Gemalto Inc. Method for managing a trusted identity
CN107079037A (zh) * 2016-09-18 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110110552A (zh) * 2019-04-30 2019-08-09 佛山科学技术学院 一种基于区块链的电子证照数据共享方法及系统
CN110335051A (zh) * 2019-07-03 2019-10-15 烟台市同翔网络科技有限责任公司 一种基于区块链主副链技术的食品标签唯一码发布与流通溯源方法
CN110335051B (zh) * 2019-07-03 2023-12-19 烟台市同翔网络科技有限责任公司 一种基于区块链主副链技术的食品标签唯一码发布与流通溯源方法
CN110457389A (zh) * 2019-07-12 2019-11-15 南京邮电大学 一种区块链多链数据信息同步的底层方法
CN112446701A (zh) * 2019-09-03 2021-03-05 上海唯链信息科技有限公司 一种基于区块链的身份认证方法、设备和存储装置
CN112446701B (zh) * 2019-09-03 2024-04-05 上海唯链信息科技有限公司 一种基于区块链的身份认证方法、设备和存储装置
CN110781140A (zh) * 2019-09-06 2020-02-11 平安科技(深圳)有限公司 区块链中数据签名的方法、装置、计算机设备及存储介质
CN110781140B (zh) * 2019-09-06 2023-08-18 平安科技(深圳)有限公司 区块链中数据签名的方法、装置、计算机设备及存储介质
CN110930251A (zh) * 2019-10-18 2020-03-27 如般量子科技有限公司 基于联盟链和隐式证书的抗量子计算云存储方法及系统
CN110930251B (zh) * 2019-10-18 2023-09-29 如般量子科技有限公司 基于联盟链和隐式证书的抗量子计算云存储方法及系统
CN111130803A (zh) * 2019-12-26 2020-05-08 信安神州科技(广州)有限公司 数字签名的方法、系统及装置
CN111130803B (zh) * 2019-12-26 2023-02-17 信安神州科技(广州)有限公司 数字签名的方法、系统及装置
CN111178840A (zh) * 2019-12-27 2020-05-19 支付宝实验室(新加坡)有限公司 业务处理方法及装置、系统、电子设备、存储介质
WO2021137833A1 (en) * 2019-12-31 2021-07-08 Turkcell Teknoloji Arastirma Ve Gelistirme Anonim Sirketi A system for creating digital identity
CN111263361A (zh) * 2020-01-10 2020-06-09 中国联合网络通信集团有限公司 基于区块链网络的连接认证方法、装置及微基站
CN111246471A (zh) * 2020-01-10 2020-06-05 中国联合网络通信集团有限公司 终端接入方法及装置
CN111263361B (zh) * 2020-01-10 2023-04-18 中国联合网络通信集团有限公司 基于区块链网络的连接认证方法、装置及微基站
CN111339509A (zh) * 2020-03-03 2020-06-26 李斌 一种基于侧链的区块链跨链身份认证方法
CN113452503B (zh) * 2020-03-24 2023-02-17 山东浪潮质量链科技有限公司 一种基于区块链的私钥找回方法、设备及介质
CN113452503A (zh) * 2020-03-24 2021-09-28 山东浪潮质量链科技有限公司 一种基于区块链的私钥找回方法、设备及介质
CN111506930A (zh) * 2020-04-21 2020-08-07 广州上云区块链科技有限公司 一种基于区块链的电商交易信息管理系统及方法
CN111506930B (zh) * 2020-04-21 2023-07-18 广州上云区块链科技有限公司 一种基于区块链的电商交易信息管理系统及方法
CN111914270A (zh) * 2020-07-08 2020-11-10 广西佳壹大数据科技股份有限公司 基于区块链技术的可编程认证服务方法和系统
CN112100983A (zh) * 2020-08-14 2020-12-18 许继集团有限公司 一种用于系统中的标识码以及标识码的生成方法
CN112100983B (zh) * 2020-08-14 2024-05-10 许继集团有限公司 一种用于系统中的标识码以及标识码的生成方法
CN113468602A (zh) * 2020-08-31 2021-10-01 支付宝(杭州)信息技术有限公司 一种数据检验方法、装置及设备
CN112162984A (zh) * 2020-09-28 2021-01-01 彩讯科技股份有限公司 一种基于区块链的实名认证方法、系统、设备和存储介质
CN112565211A (zh) * 2020-11-24 2021-03-26 北京沃东天骏信息技术有限公司 区块链网络服务平台及信息处理方法、设备、存储介质
TWI755210B (zh) * 2020-12-22 2022-02-11 天宿智能科技股份有限公司 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法
CN112689019B (zh) * 2020-12-29 2023-05-30 浙江万里学院 基于区块链技术的物流状态监控方法
CN112689019A (zh) * 2020-12-29 2021-04-20 浙江万里学院 基于区块链技术的物流状态监控方法
CN113347185A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种基于区块链的物联网设备管理方法
CN113269570A (zh) * 2021-06-11 2021-08-17 深圳番多拉信息科技有限公司 一种抽取结果验证方法以及相关装置
CN113269570B (zh) * 2021-06-11 2024-04-09 深圳番多拉信息科技有限公司 一种抽取结果验证方法以及相关装置
CN113595877A (zh) * 2021-07-23 2021-11-02 永旗(北京)科技有限公司 一种基于区块链的即时通讯方法
CN113595877B (zh) * 2021-07-23 2022-08-30 永旗(北京)科技有限公司 一种基于区块链的即时通讯方法
CN113904869B (zh) * 2021-11-10 2024-04-19 深圳前海微众银行股份有限公司 一种区块链中恶意节点的检测方法及区块链
CN113904869A (zh) * 2021-11-10 2022-01-07 深圳前海微众银行股份有限公司 一种区块链中恶意节点的检测方法及区块链
CN114491631B (zh) * 2022-01-25 2024-04-02 广东省第二人民医院(广东省卫生应急医院) 护理敏感指标信息交互方法及监测装置
CN114491631A (zh) * 2022-01-25 2022-05-13 广东省第二人民医院(广东省卫生应急医院) 护理敏感指标信息交互方法及监测装置
CN114584314B (zh) * 2022-02-28 2024-06-14 天翼安全科技有限公司 一种注册方法、装置、设备及介质
CN114584314A (zh) * 2022-02-28 2022-06-03 天翼安全科技有限公司 一种注册方法、装置、设备及介质
CN115277690A (zh) * 2022-05-12 2022-11-01 安徽超清科技股份有限公司 一种基于区块链的工业数据监管系统
CN115589298B (zh) * 2022-11-22 2023-03-10 中国信息通信研究院 区块链的信息验证方法、装置和系统、设备、介质
CN115589298A (zh) * 2022-11-22 2023-01-10 中国信息通信研究院 区块链的信息验证方法、装置和系统、设备、介质
CN116527372A (zh) * 2023-05-16 2023-08-01 深圳建安润星安全技术有限公司 基于互联网的数据安全交互系统及方法
CN116527372B (zh) * 2023-05-16 2023-12-15 深圳建安润星安全技术有限公司 基于互联网的数据安全交互系统及方法
CN117874777A (zh) * 2023-11-29 2024-04-12 中国民航信息网络股份有限公司 一种基于区块链的数据存储方法、装置及系统
CN117499159B (zh) * 2023-12-27 2024-03-26 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备
CN117499159A (zh) * 2023-12-27 2024-02-02 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备

Also Published As

Publication number Publication date
CN107579817A (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
WO2019052286A1 (zh) 基于区块链的用户身份验证方法、装置及系统
US9887989B2 (en) Protecting passwords and biometrics against back-end security breaches
CN109962784B (zh) 一种基于数字信封多证书的数据加解密及恢复方法
CN112217807B (zh) 一种锥体区块链密钥生成方法、认证方法及系统
CN106104562B (zh) 机密数据安全储存和恢复系统及方法
CN102624740B (zh) 一种数据交互方法及客户端、服务器
CN109614802B (zh) 抗量子计算的签章方法和签章系统
CN101212293B (zh) 一种身份认证方法及系统
CN109040067A (zh) 一种基于物理不可克隆技术puf的用户认证设备及认证方法
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
CN103124269A (zh) 云环境下基于动态口令与生物特征的双向身份认证方法
CN104735068A (zh) 基于国密的sip安全认证的方法
CN109600228B (zh) 基于公共密钥池的抗量子计算的签章方法和签章系统
CN111698093B (zh) 一种基于pki体系的数字时间戳签发和查证方法
CN112565265B (zh) 物联网终端设备间的认证方法、认证系统及通讯方法
CN109560935B (zh) 基于公共非对称密钥池的抗量子计算的签章方法和签章系统
CN111884811B (zh) 一种基于区块链的数据存证方法和数据存证平台
CN114257376B (zh) 数字证书更新方法、装置、计算机设备和存储介质
TWI526871B (zh) Server, user device, and user device and server interaction method
CN110457928B (zh) 基于区块链的医企协作互联网医院数据安全保障方法
CN109586918B (zh) 基于对称密钥池的抗量子计算的签章方法和签章系统
US20130166911A1 (en) Implementation process for the use of cryptographic data of a user stored in a data base
CN116112242B (zh) 面向电力调控系统的统一安全认证方法及系统
CN114172696B (zh) 一种电力物联网中云边端协同双重认证的终端认证方法
CN104780049B (zh) 一种安全读写数据的方法

Legal Events

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

Ref document number: 18856182

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

Country of ref document: EP

Kind code of ref document: A1