Biometric technology sharing and verification method, system, device and medium
By using homomorphic encryption and partial encryption technologies on the blockchain, the existing biometric sharing solutions have been solved, efficient biometric recognition and privacy protection are achieved, and decentralized Data sharing records.
Patent Information
- Application Number
- CN202111434502.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-29
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2041-11-29
AI Technical Summary
In the multi-party joint sharing scenario, the existing privacy protection biometric sharing scheme has high computing overhead, low efficiency, and lacks process records, making it difficult to trace.
Using a blockchain-based biometric technology sharing method, the biometric data is partially encrypted through homomorphic encryption and uploaded to the blockchain. Data users perform similarity calculation and verification on the blockchain, avoiding the Decryption and recognition of encryption features.
It improves the efficiency of biometric recognition, protects the privacy of user biometrics, and realizes decentralized, tamper-proof and traceable storage of biometric data sharing.
Smart Images

Figure CN114157473B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of biometric identification, and more specifically, to a method, system, device and medium for sharing and verifying biometric technology. Background Art
[0002] In order to fully realize the value of big data and solve the problem of data silos, institutions need to jointly carry out multi-party data sharing. For the sharing of biometric data, if the data source provider directly shares the user's biometric plaintext data, there will be privacy leakage problems. Therefore, for sensitive information such as biometric data, plaintext data cannot be directly shared to protect user privacy. The current privacy-preserving biometric sharing solutions are generally:
[0003] ① If the data source provider uses traditional encryption methods such as symmetric encryption algorithms and public key encryption algorithms to encrypt the biometric plaintext data and then share it, the biometric data user cannot calculate the ciphertext and cannot meet the computing requirements of biometric identification.
[0004] ② The data source provider uses homomorphic encryption to homomorphically encrypt the plaintext biometric data before sharing it. The user of the biometric data needs to extract and identify features of the data in the ciphertext domain, but the feature extraction and identification process has high computational overhead and low efficiency.
[0005] It can be seen that the problems with the current privacy-preserving biometric sharing scheme are: in the scenario where multiple parties jointly share biometric data, the users of biometric data need to extract and identify features of the encrypted data. The entire process has high computational overhead and low efficiency. Secondly, there is a lack of process records in the process of multiple parties jointly sharing biometric data, making it difficult to trace. Summary of the invention
[0006] The present invention aims to overcome at least one defect of the above-mentioned prior art and provide a biometric technology sharing and verification method, system, device and medium to solve the problem that the current biometric sharing scheme requires feature extraction of encrypted data and the computational overhead and low efficiency generated during the identification process.
[0007] The technical solution adopted by the present invention includes:
[0008] In a first aspect, the present invention provides a blockchain-based biometric technology sharing method, which is applied to data providers, including: determining a first user biometric based on a first user image of a first user, partially encrypting the first user biometric using a homomorphic encryption algorithm, and uploading the partially encrypted first user biometric to a blockchain; obtaining a first similarity ciphertext from the blockchain, decrypting the first similarity ciphertext using a key of the homomorphic encryption algorithm to obtain a plaintext of the first similarity ciphertext, and uploading the plaintext of the first similarity ciphertext to the blockchain; the first similarity ciphertext is determined by a data user based on the partially encrypted first user biometric and the second user image of a second user and then uploaded to the blockchain.
[0009] In a second aspect, the present invention provides a biometric technology verification method based on blockchain, which is applied to data users, including: obtaining a partially encrypted first user biometric feature from the blockchain, and determining a second user biometric feature based on the partially encrypted first user biometric feature and a second user image of a second user; using a homomorphic encryption algorithm to determine the similarity between the second user biometric feature and the partially encrypted first user biometric feature as a first similarity, wherein the first similarity includes a first similarity ciphertext and a first similarity plaintext, and uploading the first similarity ciphertext to the blockchain; obtaining a plaintext of the first similarity ciphertext from the blockchain, determining a second similarity based on the plaintext of the first similarity ciphertext and the first similarity plaintext, and verifying whether the second user and the first user are the same user based on the second similarity; the partially encrypted first user biometric feature is obtained by the data provider determining the first user biometric feature based on the first user image of the first user, partially encrypting it using the homomorphic encryption algorithm, and uploading it to the blockchain; the plaintext of the first similarity ciphertext is obtained by the data provider decrypting the first similarity ciphertext based on the first similarity ciphertext and a key of the homomorphic encryption algorithm, and uploading it to the blockchain.
[0010] In a third aspect, the present invention provides a biometric technology sharing system based on blockchain, including: a data provider, used to determine the first user biometrics based on the first user image of the first user, partially encrypt the first user biometrics using a homomorphic encryption algorithm, and upload the partially encrypted first user biometrics to the blockchain; obtain a first similarity ciphertext from the blockchain, decrypt the first similarity ciphertext using a key of the homomorphic encryption algorithm to obtain a plaintext of the first similarity ciphertext, and upload the plaintext of the first similarity ciphertext to the blockchain; a data user, used to obtain the partially encrypted first user biometrics from the blockchain, and The method comprises the steps of: determining a second user biometric feature by using the partially encrypted first user biometric feature and a second user image of the second user; determining a similarity between the second user biometric feature and the partially encrypted first user biometric feature by using the homomorphic encryption algorithm as a first similarity, wherein the first similarity includes a first similarity ciphertext and a first similarity plaintext, and uploading the first similarity ciphertext to the blockchain; obtaining a plaintext of the first similarity ciphertext uploaded by the data provider from the blockchain, determining a second similarity according to the plaintext of the first similarity ciphertext and the first similarity plaintext, and verifying whether the second user and the first user are the same user according to the second similarity.
[0011] In a fourth aspect, the present invention provides a computer device comprising a processor and a memory, wherein the memory stores a computer program, and is characterized in that when the processor executes the computer program, it implements the above-mentioned blockchain-based biometric technology sharing method and / or the above-mentioned blockchain-based biometric technology verification method.
[0012] In a fifth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-mentioned blockchain-based biometric technology sharing method and / or the above-mentioned blockchain-based biometric technology verification method.
[0013] Compared with the prior art, the present invention has the following beneficial effects:
[0014] (1) In the blockchain-based biometric technology sharing method provided in this embodiment, the data provider, as the data source provider, transmits the first user's biometric characteristics of the data source in encrypted data, thereby protecting the privacy of the user's biometric characteristics;
[0015] (2) The key of the homomorphic encryption algorithm selected by the data provider will not be provided to the data user. The data user only calculates the partially encrypted biometric features based on the homomorphic encryption algorithm and obtains the first similarity containing the ciphertext part. The data user calls the data decryption interface to enable the data provider to use the key to decrypt the ciphertext part of the first similarity and feedback the data user so that the data user can perform user comparison based on the decryption result. During the whole process, the data user does not need to decrypt the encrypted features and will not obtain the key of the encryption algorithm. This not only protects the privacy of the biometric features provided by the data provider, but also improves the recognition efficiency compared with the solution of directly extracting and identifying the encrypted biometric features.
[0016] (3) Biometrics are shared based on blockchain, and the shared biometric data and the institution’s requests and interaction records are stored on the blockchain, achieving decentralized, tamper-proof, and traceable storage of the entire link of biometric data sharing among institutions. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 Schematic diagram of the flow of steps S110 to S130 of the method of Example 1.
[0018] Figure 2 Schematic diagram of the flow of steps S111 to S113 of the method of Example 1.
[0019] Figure 3 Schematic diagram of the flow of steps S210 to S250 of the method of Example 2.
[0020] Figure 4 This is a schematic diagram of the system composition of Example 3. DETAILED DESCRIPTION
[0021] The drawings of the present invention are only for illustrative purposes and should not be construed as limiting the present invention. In order to better illustrate the following embodiments, some parts of the drawings may be omitted, enlarged or reduced, and do not represent the size of the actual product; it is understandable to those skilled in the art that some well-known structures and their descriptions in the drawings may be omitted.
[0022] Example 1
[0023] This embodiment provides a blockchain-based biometric technology sharing method, and the execution subject of the method is a data provider. The data provider is the party responsible for providing the original biometrics in the process of biometric sharing. In the process of executing the method provided in this embodiment, there is another subject that interacts with the data provider, which is the data user. The data user is the party that needs to use the original biometrics held by the data provider for biometric identification and provide the biometric comparison results. Specifically, it means that the data user holds the biometric to be identified and needs to request the original biometrics from the data provider and use it to determine the comparison results of the two. Biometric identification mainly refers to a technology for identity authentication through human biometrics. The biometrics used should have the characteristics of being unique, digitizable, and lifelong, such as face shape, facial features, veins, voice, etc. The specific application scenario of this method can be the sharing of biometrics of specific lists such as blacklists or whitelists between financial institutions, certification agencies, credit agencies, etc.
[0024] like Figure 1 As shown, the method includes the following execution steps:
[0025] S110: determining a first user biometric feature according to a first user image of the first user, partially encrypting the first user biometric feature using a homomorphic encryption algorithm, and uploading the partially encrypted first user biometric feature to a blockchain;
[0026] In this step, the first user refers to the entity corresponding to the biometrics held by the data provider, which may refer to a real person, an account or an identifier pointing to an entity, etc. The first user image contains the biometrics of the first user, which may be facial features, fingerprint features, etc. The first user biometrics refers to a set of features extracted from the first user image. Specifically, the feature extraction process can be implemented using an existing algorithm, such as a linear discriminant analysis (LDA) algorithm or other algorithms that can extract image features. The homomorphic encryption algorithm is an algorithm pre-selected by the data provider, which is used to partially encrypt the first user's biometrics. Partial encryption means that not all data in the first user's biometrics need to be encrypted by the encryption algorithm, and only a part of the data needs to be extracted for encryption. Blockchain is a distributed public ledger based on technologies such as peer-to-peer communication, consensus mechanism, and cryptography, and has the characteristics of decentralization, immutability, and traceability.
[0027] Specifically, the first user biometrics includes a first user biometrics subspace and a first user biometrics value. Based on this, Figure 2 As shown, the specific execution process of step S110 includes:
[0028] S111: Determine a first user biometric feature subspace Ω according to a first user image;
[0029] In this step, the first user biometric feature subspace Ω refers to a feature set obtained after feature extraction from the first user image, which can be used to represent the features of the first user image and map the original data in the first user image to a higher-dimensional space. The feature subspace is a subspace corresponding to the eigenvalues of the linear transformation, and the feature subspace is represented in the form of a matrix.
[0030] S112: Determine a first user biometric value α according to the first user biometric subspace Ω and the first user image;
[0031] In this step, the first user biometric feature value α refers to a value with a lower dimension than the first user biometric feature subspace Ω, and can also be used to represent the features of the first user image. Specifically, the first user biometric feature is the projection α of the first user image in the first user biometric feature subspace Ω, which is a vector.
[0032] S113: Encrypt the first user's biometric value using the homomorphic encryption algorithm, and upload the encrypted first user's biometric value and the first user's biometric subspace Ω to the blockchain;
[0033] In this step, the encrypted first user biometric value is E(α), and E(x) is the homomorphic encryption algorithm pre-selected by the data provider. The encrypted first user biometric value E(α) and the first user biometric subspace Ω are uploaded to the blockchain as partially encrypted first user biometrics.
[0034] Specifically, in this step, the data provider uploads the data to the feature management contract deployed on the blockchain. Based on this, the specific execution process of step S113 is:
[0035] The encrypted first user biometric value E(α) and the first user biometric subspace Ω are transmitted to the blockchain through the biometric data upload interface of the feature management contract.
[0036] In this step, the feature management contract is a smart contract deployed on the blockchain. Smart contracts can generally be considered as programs that perform corresponding operations according to preset rules, and are used to promote and assist cooperation and sharing between consensus nodes on the blockchain. The feature management contract is used to store and manage biometrics. The contract has a biometric data upload interface, which allows data providers to upload partially encrypted biometrics to the blockchain, and a biometric data download interface, which allows data users to download the partially encrypted biometrics from the blockchain. After the data provider uploads the partially encrypted first user biometrics to the feature management contract through the biometric data upload interface, the feature management contract saves the first user biometrics in the biometric data sharing library and records information such as the organization to which the uploaded data provider belongs.
[0037] S120: Obtain a first similarity ciphertext from the blockchain;
[0038] In this step, the first similarity ciphertext obtained from the blockchain is uploaded by the data user, and is uploaded to the blockchain after the data user determines based on the encrypted first user biometric value E(α), the first user biometric subspace Ω, and the second user image of the second user. The second user refers to the entity corresponding to the biometric to be identified held by the data user, and the entity can refer to a real person, an account, or an identifier pointing to an entity, etc. The second user image contains the biometric of the second user.
[0039] Specifically, the first similarity ciphertext is part of the first similarity, and the first similarity specifically refers to the similarity between the encrypted first user biometric value E(α) and the second user biometric value β. The second user biometric value β is the projection β of the second user image determined by the data user in the first user biometric subspace Ω, which is a vector.
[0040] Specifically, there are many ways to express the similarity of two eigenvalues, such as the distance between the two eigenvalues, similarity coefficient, similarity, etc. In this embodiment, the distance between the two eigenvalues is preferably used to express the similarity between the two eigenvalues. Based on this, the first similarity is specifically the distance d between the second user biometric feature value β obtained by the data user through calculation and the encrypted first user biometric feature value E(α). Since the encrypted first user biometric feature value E(α) is encrypted data, the distance d includes the ciphertext distance value and the plaintext distance value, and the ciphertext distance value corresponds to the first similarity ciphertext. The distance d can be the Euclidean distance, the off-chord distance, the Hamming distance, etc.
[0041] Specifically, the first similarity ciphertext is uploaded to the blockchain by the data user through the data decryption interface of the feature management contract. The feature management contract is a smart contract deployed on the blockchain. The data decryption interface is one of the interfaces set up by the feature management contract. It is the interface for the data user and the data provider to transmit the first similarity and verification results.
[0042] Specifically, the data provider monitors events on the data decryption interface of the feature management contract. After the data user uploads the first similarity ciphertext to the blockchain through the data decryption interface, the corresponding data provider will receive a decryption request event for the first similarity ciphertext, which includes information such as the first similarity ciphertext and the requesting agency.
[0043] S130: Decrypt the first similarity ciphertext using the key of the homomorphic encryption algorithm to obtain the plaintext of the first similarity ciphertext, and upload the plaintext of the first similarity ciphertext to the blockchain;
[0044] Specifically, after obtaining the ciphertext of the first similarity, the data provider uses the key of the pre-selected homomorphic encryption algorithm to decrypt the first similarity ciphertext to obtain the plaintext of the first similarity ciphertext, and uploads the plaintext of the first similarity ciphertext to the blockchain, so that the data user can obtain the plaintext of the first similarity ciphertext through the blockchain. Specifically, the data provider uploads the data to the blockchain through the data decryption interface of the feature management contract.
[0045] In this embodiment, steps S110 to S130 are only for feature sharing between a first user and a second user. If the data user needs to compare the biometric features of the second user with those of users uploaded by multiple data providers, the data provider can be requested to repeat steps S110 to S130 multiple times to complete multiple feature sharing and verification. When the data provider repeatedly executes the method of this embodiment, the first user can be a different entity each time it is implemented.
[0046] In the blockchain-based biometric technology sharing method provided in this embodiment, the data provider, as the data source provider, transmits the first user biometric of the data source in encrypted data, thereby protecting the privacy of the user's biometrics. At the same time, the data user does not obtain the key of the encryption algorithm, but only calculates the partially encrypted biometrics based on the encryption algorithm and obtains the first similarity containing the ciphertext part. After transmitting it to the data provider through the data decryption interface, the data provider uses the key to decrypt the ciphertext part of the first similarity, and the data user obtains the comparison result by himself. During the whole process, the data user does not need to decrypt and identify the encrypted features, and will not obtain the key of the encryption algorithm, which not only protects the privacy of the biometrics provided by the data provider, but also improves the recognition efficiency compared with the solution of directly extracting and identifying the encrypted biometrics. At the same time, the sharing of biometrics is realized based on the blockchain, and the shared biometric data and the request and interaction records of the organization are saved on the blockchain, realizing the decentralized, tamper-proof and traceable storage of the entire link of biometric data sharing between institutions. If any party has dishonest behavior, it can be traced.
[0047] This method is helpful for financial institutions to conduct joint risk control in actual application scenarios, such as sharing of biometric features of specific lists such as blacklists or whitelists between financial institutions.
[0048] Example 2
[0049] Based on the same concept as Example 1, this example provides a biometric technology verification method based on blockchain, and the executor of the method is the data user. The data user is the party that has a need for biometric identification, specifically, it needs to use the original biometrics held by the data provider for biometric identification, that is, the data user holds the biometric to be identified, and needs to request the original biometrics from the data provider to determine the comparison result of the two. The data provider is the party responsible for providing the original biometrics and the biometric comparison results in the process of biometric sharing.
[0050] like Figure 3 As shown, the method includes the following execution steps:
[0051] S210: Obtaining partially encrypted biometric features of the first user from the blockchain;
[0052] In this step, the data user specifically obtains the partially encrypted first user biometrics from the blockchain through the biometric data download interface of the feature management contract. The feature management contract is a smart contract deployed on the blockchain, which is used to store and manage biometrics. The contract has a biometric data upload interface, which allows data providers to upload partially encrypted biometrics to the blockchain, and a biometric data download interface, which allows data users to download the partially encrypted biometrics from the blockchain.
[0053] The partially encrypted first user biometrics are obtained by the data provider determining the first user biometrics based on the first user image of the first user, partially encrypting them using a pre-selected homomorphic encryption algorithm, and uploading them to the blockchain through the biometric data upload interface. The first user image contains the first user's biometrics, which can be facial features, fingerprint features, etc. The first user biometrics refer to a set of features extracted from the first user image.
[0054] S220: determining a second user biometric feature according to the partially encrypted first user biometric feature and the second user image of the second user, and determining a similarity between the second user biometric feature and the partially encrypted first user biometric feature by using a homomorphic encryption algorithm as a first similarity;
[0055] In this step, the second user refers to the entity corresponding to the biometric feature to be identified held by the data user, which may refer to a real person, an account, or an identifier pointing to an entity, etc. The second user image contains the biometric feature of the second user. The second user biometric feature refers to a feature set or feature value determined based on the partially encrypted first user biometric feature and the second user image, reflecting the features presented by the second user image under the partially encrypted first user biometric feature.
[0056] Specifically, the second user biometrics includes a second user biometrics value β. The partially encrypted first user biometrics includes a first user biometrics subspace Ω and a first user biometrics value E(α) encrypted by a data provider using a pre-selected homomorphic encryption algorithm, and the first user biometrics value α before encryption is a projection α of the first user image in the first user biometrics subspace Ω, which is a vector.
[0057] Based on this, the specific execution process of step S220 is: determine the second user biometric value β according to the second user image and the first user biometric subspace Ω, and use the homomorphic encryption algorithm to determine the similarity between the encrypted first user biometric value E(α) and the second user biometric value β according to the second user biometric value β and the encrypted first user biometric value E(α), as the first similarity;
[0058] In this step, the second user biometric feature value β can be used to represent the features of the second user image. Specifically, the second user biometric feature value β is the projection β of the second user image in the first user biometric feature subspace Ω, which is a vector. Since the projection α is the projection of the first user image in the first user biometric feature subspace Ω, using the projection β of the second user image in the first user biometric feature subspace Ω as the second user biometric feature is conducive to the subsequent comparison of the two feature values.
[0059] The homomorphic encryption algorithm is the algorithm used by the data provider when encrypting the first user biometric feature value α. The data user is not given the key of the encryption algorithm, but can calculate the first similarity based on the homomorphic encryption algorithm. Since the encrypted first user biometric feature value E(α) is not decrypted, the first similarity includes the first similarity plaintext of the plaintext part and the first similarity ciphertext of the ciphertext part.
[0060] In this embodiment, the distance between two eigenvalues is used to represent the similarity between the two eigenvalues. Based on this, in this step, the first similarity is specifically the distance d between the second user biometric characteristic value β obtained by the data user through calculation and the encrypted first user biometric characteristic value E(α). The distance d includes a plaintext distance value and a ciphertext distance value. The plaintext distance value corresponds to the first similarity plaintext, and the ciphertext distance value corresponds to the first similarity ciphertext. As the first similarity, the distance can be Euclidean distance, off-chord distance, Hamming distance, etc.
[0061] S230: Upload the first similarity ciphertext to the blockchain;
[0062] In this step, the data user uploads the determined first similarity ciphertext to the blockchain. Specifically, the first similarity is uploaded to the blockchain through the data decryption interface of the feature management contract. After receiving the data decryption request, the data decryption interface triggers an event to notify the corresponding data provider to decrypt the uploaded first similarity ciphertext. After receiving the event, the data provider uses the key of the homomorphic encryption algorithm to decrypt the first similarity ciphertext to obtain the plaintext of the first similarity ciphertext, and uploads the plaintext of the first similarity ciphertext through the data decryption interface.
[0063] S240: Obtaining a plaintext of the first similarity ciphertext from the blockchain, and determining a second similarity according to the plaintext of the first similarity ciphertext and the first similarity plaintext;
[0064] In this step, after obtaining the plaintext of the first similarity ciphertext, the data user combines the plaintext of the first similarity ciphertext with the first similarity plaintext to determine the second similarity, where the second similarity is specifically the similarity between the second user biometric feature value β and the first user biometric feature value α before encryption;
[0065] Since the distance d between the two feature values is preferably used as the first similarity in the aforementioned step, the distance d′ between the second user biometric feature value β and the first user biometric feature value α before encryption is preferably used as the second similarity.
[0066] Specifically, the data user monitors the events of the data decryption interface of the feature management contract, and the data provider uploads the plaintext of the first similarity ciphertext uploaded by the data user to the blockchain through the data decryption interface. The data decryption interface will trigger an event to notify the corresponding data user that the ciphertext has been decrypted, and the event information includes the corresponding decryption request and decryption result.
[0067] S250: Verify whether the second user and the first user are the same user according to the second similarity.
[0068] In this step, the data user can determine whether the users to which the biometric features contained in the first user image and the second user image belong are the same user based on the distance d' between the second user's biometric feature value β and the first user's biometric feature value α before encryption, i.e., the second similarity, that is, it can be verified whether the first user and the second user are the same user.
[0069] Specifically, when the data user verifies whether the second user and the first user are the same user based on the second similarity, a similarity range may be preset, and the similarity range indicates that when the difference in similarity between two feature values is within the similarity range, the two feature values can be considered to be extremely similar. In this step, the data user may compare the second similarity with the preset similarity range. If the second similarity is within the similarity range, the verification result is that the second user and the first user are the same user; if the second similarity is not within the similarity range, the verification result is that the second user and the first user are different users.
[0070] In this embodiment, steps S210 to S250 are only for feature sharing and verification between a first user and a second user. If the data user needs to compare the biometric features of the second user with those of users uploaded by multiple data providers, the data user can request the data provider to repeatedly share partially encrypted user biometric features and perform corresponding decryption, or directly obtain multiple partially encrypted user biometric features uploaded by the data provider on the feature management contract of the blockchain, and execute steps S210 to S250 for each partially encrypted user biometric feature to calculate the first similarity, upload it, and obtain the comparison result.
[0071] In the biometric technology verification method based on blockchain provided in this embodiment, during the biometric identification and verification process, the data user only needs to upload the ciphertext part of the similarity to the blockchain after performing similarity calculation based on homomorphic encryption locally. Other personnel, including the data provider, cannot obtain the biometrics of the user to be identified from this part of the similarity, thus protecting the biometric privacy of the user to be identified. At the same time, the data user extracts the biometrics of the user to be identified based on the plaintext feature subspace, and the similarity calculation based on homomorphic encryption only requires integer addition of the homomorphic algorithm calculation complexity, which is more efficient than other privacy-protecting biometric identification technologies. At the same time, the sharing of biometrics is realized based on blockchain, and the shared biometric data and the request and interaction records of the organization are saved on the blockchain, realizing the decentralized, tamper-proof, and traceable storage of the entire link of biometric data sharing between organizations. If any party has dishonest behavior, it can be traced back.
[0072] This method is helpful for financial institutions to conduct joint risk control in actual application scenarios, such as sharing of biometric features of specific lists such as blacklists or whitelists between financial institutions.
[0073] Example 3
[0074] Based on the same concept as embodiments 1 and 2, this embodiment provides a biometric technology sharing system based on blockchain, such as Figure 4 As shown, it includes: a data provider 100 and a data user 200.
[0075] The data provider 100 is used to determine the first user biometric feature based on the first user image of the first user, partially encrypt the first user biometric feature using a homomorphic encryption algorithm, and upload the partially encrypted first user biometric feature to the blockchain.
[0076] Specifically, the first user biometric feature includes a first user biometric feature subspace and a first user biometric feature value.
[0077] Based on this, the data provider 100 is specifically used to determine the first user biometric subspace Ω according to the first user image, determine the first user biometric value according to the first user biometric subspace and the first user image, encrypt the first user biometric value using a homomorphic encryption algorithm, and upload the encrypted first user biometric value and the first user biometric subspace to the blockchain. Specifically, the data provider 100 determines the projection of the first user image in the first user biometric subspace, and uses the projection of the first user image as the first user biometric value.
[0078] The data provider 100 is specifically used to transmit the partially encrypted first user biometrics to the blockchain through the biometric data upload interface of the feature management contract. The feature management contract is a smart contract deployed on the blockchain. The biometric data upload interface is the data transmission interface of the feature management contract.
[0079] Data user 200 is used to obtain a partially encrypted first user biometric feature from the blockchain, and determine a second user biometric feature based on the partially encrypted first user biometric feature and a second user image of the second user; use a homomorphic encryption algorithm to determine the similarity between the second user biometric feature and the partially encrypted first user biometric feature as a first similarity, the first similarity including a first similarity ciphertext and a first similarity plaintext, and upload the first similarity ciphertext to the blockchain.
[0080] The data user 200 specifically obtains the partially encrypted first user biometrics from the blockchain through the biometrics data download interface of the feature management contract. The biometrics data download interface is the data transmission interface of the feature management contract.
[0081] Specifically, the second user biometric feature includes a second user biometric feature value.
[0082] Based on this, the data user 200 is specifically used to obtain the encrypted first user biometric value and the first user biometric subspace from the blockchain, and determine the second user biometric value according to the second user image and the first user biometric subspace. Specifically, the data user 200 determines the projection of the second user image in the first user biometric subspace, and uses the projection of the second user image as the second user biometric value.
[0083] The data user 200 is specifically used to use a homomorphic encryption algorithm and determine the similarity between the second user's biometric value and the encrypted first user's biometric value as the first similarity based on the second user's biometric value and the encrypted first user's biometric value, the first similarity includes a first similarity ciphertext and a first similarity plaintext, and upload the first similarity ciphertext to the blockchain.
[0084] Specifically, the data user 200 uploads the first similarity ciphertext to the blockchain through the data decryption interface of the feature management contract. The data decryption interface is the data transmission interface of the feature management contract.
[0085] The data provider 100 is also used to obtain a first similarity ciphertext from the blockchain, decrypt the first similarity ciphertext using a key of the homomorphic encryption algorithm, obtain a plaintext of the first similarity ciphertext, and upload it to the blockchain through a data decryption interface.
[0086] The data user 200 is also used to obtain the plaintext of the first similarity ciphertext from the blockchain through the data decryption interface, determine the second similarity based on the plaintext of the first similarity ciphertext and the first similarity plaintext, and verify whether the second user biometric feature corresponds to the same user as the first user biometric feature based on the second similarity.
[0087] Specifically, data user 200 compares the second similarity with a preset similarity range. If the second similarity is within the similarity range, the verification result is that the second user biometric feature and the first user biometric feature correspond to the same user; if the second similarity is not within the similarity range, the verification result is that the second user biometric feature and the first user biometric feature correspond to different users.
[0088] The blockchain-based biometric technology sharing system provided in this embodiment can execute the blockchain-based biometric technology sharing method provided in Example 1, and implement the blockchain-based biometric technology verification method provided in Example 2, and has the corresponding functions and beneficial effects of executing the method. For detailed processes, please refer to the relevant descriptions and explanations of the methods in the aforementioned Examples 1 and 2.
[0089] Example 4
[0090] Based on the same concept as embodiments 1 and 2, this embodiment provides a computer device, including a processor and a memory, wherein the memory stores a computer program, and when the processor executes the computer program, it implements the blockchain-based biometric technology sharing method provided in embodiment 1, and implements the blockchain-based biometric technology verification method provided in embodiment 2, and has the corresponding functions and beneficial effects of embodiments 1 and 2.
[0091] This embodiment also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, it implements the blockchain-based biometric technology sharing method provided in Embodiment 1, and implements the blockchain-based biometric technology verification method provided in Embodiment 2, and has the corresponding functions and beneficial effects of Embodiments 1 and 2.
[0092] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the technical solution of the present invention, and are not intended to limit the specific implementation methods of the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the claims of the present invention shall be included in the protection scope of the claims of the present invention.
Claims
1. A blockchain-based biometric technology sharing method, applied to data providers, characterized in that: include: determining a first user biometric feature according to a first user image of the first user, partially encrypting the first user biometric feature using a homomorphic encryption algorithm, and uploading the partially encrypted first user biometric feature to a blockchain; Obtaining a first similarity ciphertext from the blockchain, decrypting the first similarity ciphertext using a key of the homomorphic encryption algorithm to obtain a plaintext of the first similarity ciphertext, and uploading the plaintext of the first similarity ciphertext to the blockchain; The first similarity ciphertext is determined by the data user based on the partially encrypted first user biometric feature and the second user image of the second user and uploaded to the blockchain; The first user biometric feature includes a first user biometric feature subspace and a first user biometric feature value; Determine a first user biometric feature according to a first user image of a first user, partially encrypt the first user biometric feature using a homomorphic encryption algorithm, and upload the partially encrypted first user biometric feature to a blockchain, specifically: Determine the first user biometric subspace according to the first user image, determine the first user biometric value according to the first user biometric subspace and the first user image, encrypt the first user biometric value using the homomorphic encryption algorithm, and upload the encrypted first user biometric value and the first user biometric subspace to the blockchain.
2. The blockchain-based biometric technology sharing method according to claim 1 is characterized in that: Determining the first user biometric value according to the first user biometric subspace and the first user image includes: determining a projection of the first user image in the first user biometric subspace, and using the projection of the first user image as the first user biometric value.
3. The blockchain-based biometric technology sharing method according to any one of claims 1 to 2, characterized in that: Uploading the partially encrypted first user biometric feature to the blockchain, specifically: uploading the partially encrypted first user biometric feature to the blockchain through the biometric feature data upload interface of the feature management contract; The uploading of the plaintext of the first similarity ciphertext to the blockchain specifically includes: uploading the verified result to the blockchain through the data decryption interface of the feature management contract; The feature management contract is a smart contract deployed on the blockchain, including a biometric data upload interface and a data decryption interface.
4. A biometric technology verification method based on blockchain, applied to data users, characterized in that: include: obtaining a partially encrypted first user biometric feature from the blockchain, and determining a second user biometric feature based on the partially encrypted first user biometric feature and a second user image of a second user; Determine, by using a homomorphic encryption algorithm, a similarity between the second user biometric feature and the partially encrypted first user biometric feature as a first similarity, wherein the first similarity includes a first similarity ciphertext and a first similarity plaintext, and upload the first similarity ciphertext to the blockchain; Obtaining a plaintext of the first similarity ciphertext from the blockchain, determining a second similarity according to the plaintext of the first similarity ciphertext and the first similarity plaintext, and verifying whether a second user and the first user are the same user according to the second similarity; The partially encrypted first user biometric feature is obtained by partially encrypting the first user biometric feature using the homomorphic encryption algorithm after the data provider determines the first user biometric feature based on the first user image of the first user and then uploads it to the blockchain; wherein the first user biometric feature includes a first user biometric feature subspace and a first user biometric feature value; Determine a first user biometric feature according to a first user image of a first user, partially encrypt the first user biometric feature using a homomorphic encryption algorithm, and upload the partially encrypted first user biometric feature to a blockchain, specifically: Determine the first user biometric subspace according to the first user image, determine the first user biometric value according to the first user biometric subspace and the first user image, encrypt the first user biometric value using the homomorphic encryption algorithm, and upload the encrypted first user biometric value and the first user biometric subspace to the blockchain; The plaintext of the first similarity ciphertext is obtained by the data provider decrypting the first similarity ciphertext according to the first similarity ciphertext and the key of the homomorphic encryption algorithm and uploading it to the blockchain.
5. The biometric technology verification method based on blockchain according to claim 4 is characterized in that: The partially encrypted first user biometric feature includes a first user biometric feature subspace and a first user biometric feature value encrypted using the homomorphic encryption algorithm; The second user biometric characteristic comprises a second user biometric characteristic value; Obtain a partially encrypted first user biometric feature from the blockchain, and determine a second user biometric feature based on the partially encrypted first user biometric feature and the second user image; A homomorphic encryption algorithm is used to determine a similarity between the second user biometric feature and the partially encrypted first user biometric feature as a first similarity, wherein the first similarity includes a first similarity ciphertext and a first similarity plaintext, specifically: Obtain the encrypted first user biometric value and the first user biometric subspace from the blockchain, and determine the second user biometric value according to the second user image and the first user biometric subspace; Using the homomorphic encryption algorithm and based on the second user biometric value and the encrypted first user biometric value, a similarity between the second user biometric value and the encrypted first user biometric value is determined as the first similarity, wherein the first similarity includes a first similarity ciphertext and a first similarity plaintext.
6. The biometric technology verification method based on blockchain according to claim 5 is characterized in that: Using the homomorphic encryption algorithm, and according to the second user biometric value and the encrypted first user biometric value, a similarity between the second user biometric value and the encrypted first user biometric value is obtained as the first similarity, wherein the first similarity includes a first similarity ciphertext and a first similarity plaintext, specifically: Determine, by using the homomorphic encryption algorithm, a distance between the second user biometric value and the encrypted first user biometric value according to the second user biometric value and the encrypted first user biometric value as the first similarity; The first similarity includes a first similarity ciphertext and a first similarity plaintext, the distance includes a plaintext distance value and a ciphertext distance value, the plaintext distance value is the first similarity plaintext, and the ciphertext distance value is the first similarity ciphertext.
7. The biometric technology verification method based on blockchain according to claim 5 or 6, characterized in that: Determining the second user biometric value according to the second user image and the first user biometric subspace includes: determining a projection of the second user image in the first user biometric subspace, and using the projection of the second user image as the second user biometric value.
8. The biometric technology verification method based on blockchain according to claim 4 is characterized in that: Verifying whether the second user and the first user are the same user according to the second similarity is specifically: The second similarity is compared with a preset similarity range. If the second similarity is within the similarity range, the verification result is that the second user and the first user are the same user; if the second similarity is not within the similarity range, the verification result is that the second user and the first user are different users.
9. The biometric technology verification method based on blockchain according to claim 4 is characterized in that: Determine the second similarity according to the plaintext of the first similarity ciphertext and the first similarity plaintext, specifically: According to the plaintext of the first similarity ciphertext and the first similarity plaintext, a distance between the second user biometric feature value and the first user biometric feature value before encryption is determined as a second similarity.
10. The biometric technology verification method based on blockchain according to claim 5 is characterized in that: Acquiring a partially encrypted first user biometric feature from the blockchain, specifically: acquiring the partially encrypted first user biometric feature from the blockchain through a biometric feature data download interface of a feature management contract; Obtaining the plaintext of the first similarity ciphertext from the blockchain, specifically: obtaining the plaintext of the first similarity ciphertext from the blockchain through the data decryption interface of the feature management contract; The feature management contract is a smart contract deployed on the blockchain, including a biometric data download interface and a data decryption interface.
11. A biometric technology shared verification system based on blockchain, characterized in that: include: a data provider, configured to determine a first user biometric feature according to a first user image of a first user, partially encrypt the first user biometric feature using a homomorphic encryption algorithm, and upload the partially encrypted first user biometric feature to a blockchain; Obtaining a first similarity ciphertext from the blockchain, decrypting the first similarity ciphertext using a key of the homomorphic encryption algorithm to obtain a plaintext of the first similarity ciphertext, and uploading the plaintext of the first similarity ciphertext to the blockchain; A data user, configured to obtain the partially encrypted first user biometric feature from the blockchain, and determine a second user biometric feature based on the partially encrypted first user biometric feature and a second user image of a second user; Determine, by using the homomorphic encryption algorithm, a similarity between the second user biometric feature and the partially encrypted first user biometric feature as a first similarity, wherein the first similarity includes a first similarity ciphertext and a first similarity plaintext, and upload the first similarity ciphertext to the blockchain; Obtaining a plaintext of a first similarity ciphertext uploaded by the data provider from the blockchain, determining a second similarity according to the plaintext of the first similarity ciphertext and the first similarity plaintext, and verifying whether a second user and the first user are the same user according to the second similarity.
12. A computer device comprising a processor and a memory, wherein the memory stores a computer program, characterized in that: The processor implements the blockchain-based biometric technology sharing method described in any one of claims 1 to 3 when executing the computer program, and / or implements the blockchain-based biometric technology verification method described in any one of claims 4 to 10 when executing the computer program.
13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the blockchain-based biometric technology sharing method described in any one of claims 1 to 3 is implemented, and / or when the computer program is executed, the blockchain-based biometric technology verification method described in any one of claims 4 to 10 is implemented.
Citation Information
Patent Citations
A biological recognition method and device based on homomorphic encryption, terminal and service server
CN110011954A