A method and device for identifying biological information
By saving the feature vector shard of biological information on multiple recognition platforms and calculating feature distances using homomorphic encryption, the problem of biological information leakage is solved, data security is improved and computing performance is improved.
Patent Information
- Application Number
- CN202210749718.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-28
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2042-06-28
AI Technical Summary
The prior art has the risk of biological information leakage in biometric identification, which affects the security of data.
By dividing the reference feature vectors of reference biological information into multiple feature vector fragments and saving these fragments in multiple recognition platforms, it is ensured that any recognition platform cannot restore the entire reference feature vector based on one feature vector fragment saved locally. At the same time, homomorphic encryption is used to calculate the characteristic distance to realize the calculation in the ciphertext state.
It effectively improves the security of biological information data, prevents information leakage, and improves computing performance and reduces communication resource consumption by reducing the number of communication rounds and amounts.
Smart Images

Figure CN115100715B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular, to a method and device for identifying biological information. Background Art
[0002] In biometric recognition scenarios (such as face recognition scenarios), Euclidean distance and cosine distance are used to measure the characteristic distance of biometric information, and then determine whether it is the same biological object. In related technologies, when performing biometric recognition, the biometric information is stored in the form of plain text data or original image data, and then the characteristic distance between the biometric information in the form of plain text data or original image data is calculated to determine whether it is the same biological object.
[0003] However, when the above method is used to store and compare biometric information, there is a risk of biometric information leakage, thereby affecting the security of the data. Summary of the invention
[0004] The embodiments of the present application provide a biometric information recognition method and device for improving the security of biometric information data.
[0005] On the one hand, an embodiment of the present application provides a biometric information recognition method, which is applied to each recognition platform in a secure computing system, including:
[0006] Obtaining a target feature vector of the biometric information to be identified, and obtaining a local feature vector slice corresponding to at least one reference biometric identifier from a vector slice library;
[0007] For each reference biometric identifier, determining a characteristic distance between a corresponding local feature vector slice and the target feature vector, and sending the target feature vector to at least one other recognition platform storing corresponding other feature vector slices, and receiving the characteristic distance between the target feature vector and the stored other feature vector slices sent by the at least one other recognition platform;
[0008] Based on the obtained multiple feature distances, an identification result of the biological information to be identified is determined.
[0009] On the one hand, an embodiment of the present application provides a biometric information recognition device, which is applied to each recognition platform in a secure computing system, including:
[0010] An acquisition module, comprising acquiring a target feature vector of the biological information to be identified, and acquiring a local feature vector fragment corresponding to at least one reference biological identifier from a vector fragment library;
[0011] a processing module, configured to determine, for each reference biometric identifier, a characteristic distance between a corresponding local feature vector slice and the target feature vector, and to send the target feature vector to at least one other recognition platform storing corresponding other feature vector slices, and to receive the characteristic distance between the target feature vector and the stored other feature vector slices sent by the at least one other recognition platform;
[0012] The recognition module is used to determine the recognition result of the biological information to be recognized based on the obtained multiple feature distances.
[0013] Optionally, the processing module is further used for:
[0014] Before obtaining the target feature vector of the biological information to be identified, for each reference biological identifier, obtain the reference biological information corresponding to the reference biological identifier, and perform feature extraction on the reference biological information to obtain a reference feature vector;
[0015] Dividing the reference feature vector into a plurality of feature vector slices;
[0016] One feature vector slice among the multiple feature vector slices is saved as a local feature vector slice, and at least one other feature vector slice among the multiple feature vector slices is sent to corresponding other recognition platforms for saving.
[0017] Optionally, the processing module is further used for:
[0018] Acquire device information of multiple recognition platforms for storing the multiple feature vector slices;
[0019] storing the reference biometric identifier and device information of the plurality of identification platforms;
[0020] For each other recognition platform, the reference biometric identifier and the device information of the multiple recognition platforms are sent to the other recognition platform for storage.
[0021] Optionally, the multiple feature vector fragments are feature vector fragments in plain text or homomorphically encrypted, and the target feature vector is a feature vector in plain text or homomorphically encrypted.
[0022] Optionally, the biological information to be identified corresponds to a target biological identifier;
[0023] The acquisition module is specifically used for:
[0024] A local feature vector fragment corresponding to a reference biometric identifier matching the target biometric identifier is obtained from the vector fragment library.
[0025] Optionally, the identification module is specifically used for:
[0026] determining a target feature distance between the target feature vector and a reference feature vector corresponding to the one reference biometric identifier based on the obtained plurality of feature distances;
[0027] If the target feature distance is less than the distance threshold, determining that the recognition result of the to-be-recognized biological information is verified;
[0028] If the target feature distance is greater than or equal to the distance threshold, the recognition result of the to-be-recognized biological information is determined to be verification failure.
[0029] Optionally, the identification module is specifically used for:
[0030] Performing a homomorphic addition operation on the obtained multiple feature distances to obtain a candidate feature distance between the target feature vector and a reference feature vector corresponding to the one reference biometric identifier;
[0031] The candidate feature distance is decrypted using a homomorphic encryption private key to obtain the target feature distance.
[0032] Optionally, the vector shard library includes local feature vector shards corresponding to each of the multiple reference biometric identifiers;
[0033] Optionally, the acquisition module is specifically used for:
[0034] The local feature vector fragments corresponding to each of the plurality of reference biometric identifiers are obtained from the vector fragment library.
[0035] Optionally, the identification module is specifically used for:
[0036] For each reference biometric identifier of the plurality of reference biometric identifiers, determining a target feature distance between the target feature vector and a reference feature vector corresponding to the reference biometric identifier based on a plurality of feature distances associated with the reference biometric identifier;
[0037] Determine the minimum feature distance from the obtained multiple target feature distances;
[0038] If the minimum characteristic distance is less than the distance threshold, determining that the recognition result of the to-be-recognized biological information is verified;
[0039] If the minimum characteristic distance is greater than or equal to the distance threshold, it is determined that the recognition result of the to-be-recognized biological information is verification failure.
[0040] On the one hand, an embodiment of the present application provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned image processing method when executing the program.
[0041] On the one hand, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program that can be executed by a computer device. When the program is run on the computer device, the computer device executes the steps of the above-mentioned biometric information recognition method.
[0042] On the one hand, an embodiment of the present application provides a computer program product, which includes a computer program stored on a computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer device, the computer device executes the steps of the above-mentioned biometric information recognition method.
[0043] In the embodiment of the present application, a reference feature vector of a reference biological information is divided into multiple feature vector slices and the multiple feature vector slices are respectively stored in multiple recognition backgrounds, so that any recognition background needs to rely on the feature vector slices stored in other recognition platforms to complete the biological information recognition, and each recognition background cannot restore the entire reference feature vector based on a locally stored feature vector slice, thereby ensuring the security of the feature vector information storage. Secondly, each recognition background calculates the characteristic distance between the local feature vector slice and the target feature vector of the biological information to be identified based on the homomorphic encryption operation method, realizes the calculation in the ciphertext state, and ensures the security of the calculation. In addition, each recognition background independently calculates the characteristic distance between the local feature vector slice and the target feature vector, and then summarizes the calculation results to a recognition background. Compared with the data interaction of multi-party secure computing, the communication rounds and communication volume are greatly reduced, thereby improving the performance of the calculation and reducing the consumption of communication resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0045] Figure 1 A schematic diagram of a system architecture provided in an embodiment of the present application;
[0046] Figure 2 A schematic diagram of a process for biometric information recognition provided in an embodiment of the present application;
[0047] Figure 3 A schematic diagram of a flow chart of a feature vector slicing method provided in an embodiment of the present application;
[0048] Figure 4A schematic diagram of a process for biometric information recognition provided in an embodiment of the present application;
[0049] Figure 5 A schematic diagram of a process for biometric information recognition provided in an embodiment of the present application;
[0050] Figure 6 A schematic diagram of the structure of a biometric information recognition device provided in an embodiment of the present application;
[0051] Figure 7 A schematic diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and beneficial effects of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0053] refer to Figure 1 , which is a system architecture diagram of a multi-party secure computing applicable to an embodiment of the present application, the system architecture includes multiple terminals and multiple identification platforms, the multiple terminals include terminal 101-1, terminal 101-2, ..., terminal 101-N, and the multiple identification platforms include identification platform 102-1, identification platform 102-2, ..., identification platform 102-N, wherein terminal 101-1 corresponds to identification platform 102-1, terminal 101-2 corresponds to identification platform 102-2, ..., terminal 101-N corresponds to identification platform 102-N, wherein N is an integer greater than 0. Each identification platform includes a business system, a feature extraction module, a feature comparison module, and a vector sharding library.
[0054] The terminal is pre-installed with target applications that require biometric identification, such as payment applications, instant messaging applications, video applications, shopping applications, etc. Each terminal device has the function of collecting biometric information, where biometric information includes but is not limited to face information, fingerprint information, and iris information. The terminal can be a smart phone, tablet computer, laptop computer, desktop computer, smart home appliance, smart voice interaction device, smart car device, etc., but is not limited to these.
[0055] The identification platform is the background server of the target application. Different identification platforms correspond to different target applications. The identification platform can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), and big data and artificial intelligence platforms. The terminal and the identification platform can be directly or indirectly connected by wired or wireless communication, and any two identification platforms can be directly or indirectly connected by wired or wireless communication. This application does not limit this.
[0056] In practical applications, the biometric information recognition method in the embodiments of the present application can be applied to payment scenarios, login scenarios, identity authentication scenarios, etc.
[0057] It is understandable that in the specific implementation of this application, biometric information data such as facial information, fingerprint information, iris information, etc. is involved. When the embodiments in this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.
[0058] based on Figure 1 The system architecture diagram shown in the figure, the embodiment of the present application provides a process of a biometric information recognition method, such as Figure 2 As shown, the process of the method is executed by a computer device, which may be Figure 1 Any of the identification platforms shown includes the following steps:
[0059] Step S201, obtaining a target feature vector of the biometric information to be identified, and obtaining a local feature vector slice corresponding to at least one reference biometric identifier from a vector slice library.
[0060] Specifically, biometric information includes but is not limited to facial information, fingerprint information, and iris information; a biometric identifier can be an identifier that uniquely identifies biometric information, which can be a name, a unique number, etc., such as a user ID. Each recognition platform contains a vector sharding library. Taking a recognition platform as an example, the local feature vector shards in the vector sharding library can be obtained by the recognition platform after sharding the reference feature vector, or can be sent by any other recognition platform after sharding the reference feature vector.
[0061] In some embodiments, for each reference biometric identifier, reference biological information corresponding to the reference biometric identifier is obtained, and feature extraction is performed on the reference biological information to obtain a reference feature vector. The reference feature vector is then divided into multiple feature vector slices. One feature vector slice among the multiple feature vector slices is saved as a local feature vector slice, and at least one other feature vector slice among the multiple feature vector slices is sent to corresponding other recognition platforms for storage.
[0062] Specifically, the terminal collects reference biometric information corresponding to the reference biometric identifier, and then sends the reference biometric information to the corresponding recognition platform. After the recognition platform performs preprocessing such as denoising, graying, face detection, and normalization on the reference biometric information, the feature extraction module uses a neural network model to extract features from the reference biometric information to obtain a reference feature vector. The reference feature vector can be evenly divided into multiple feature vector slices, or the reference feature vector can be evenly divided into multiple feature vector slices in a non-average manner, and the multiple feature vector slices are different feature vectors. The number of feature vector slices can be determined based on the number of cooperatively stored recognition platforms. For example, if the number of cooperatively stored recognition platforms is 3, the reference feature vector is divided into 3 feature vector slices.
[0063] In addition, a feature vector slice can be randomly selected from multiple feature vector slices as a local feature vector slice for storage, or the feature vector slice ranked first can be saved as a local feature vector slice, or other methods can be used to select a feature vector slice as a local feature vector slice for storage, etc. Each other feature vector slice can be sent to another recognition platform for storage, and after receiving a feature vector slice, the other recognition platform saves the feature vector slice as a local feature vector slice. The feature vector slices saved by different recognition platforms are different. After obtaining the feature vector slice, each recognition platform can expand the dimension of the feature vector slice to the dimension of the reference feature vector by zero-filling.
[0064] In some embodiments, in addition to saving the local feature vector slices, the recognition platform also obtains device information of multiple recognition platforms for saving multiple feature vector slices, and then saves the reference biometric identifier and the device information of the multiple recognition platforms. For each other recognition platform, the reference biometric identifier and the device information of the multiple recognition platforms are sent to the other recognition platforms for storage.
[0065] Specifically, the device information includes but is not limited to the device name, device ID, and the organization information corresponding to the identification platform. For each identification platform, the identification platform associates and saves the local feature vector slices, reference biometric identifiers, and device information of multiple identification platforms, so that in the subsequent biometric information identification process, the feature vector slices can be quickly queried and calculated, thereby improving the efficiency of biometric information identification.
[0066] In some embodiments, the plurality of feature vector slices are feature vector slices in plain text. To ensure the security of the feature vector slices, the recognition platform encrypts one of the plurality of feature vector slices and saves it as a local feature vector slice. When each other recognition platform receives another feature vector slice in plain text, it may also encrypt the other feature vector slice and save it as a local feature vector slice.
[0067] In some embodiments, the plurality of feature vector shards are feature vector shards in encrypted form. Specifically, the reference feature vector is divided into a plurality of original vector shards, and then each feature vector shard is homomorphically encrypted using homomorphic encryption to obtain a plurality of feature vector shards. In this way, when the recognition platform saves one feature vector shard from the plurality of feature vector shards as a local feature vector shard, and when each other recognition platform receives another feature vector shard, it saves the other feature vector shard as a local feature vector shard, and the security of the feature vector shard can also be ensured.
[0068] For example, if Figure 3 As shown, a multi-party secure computing system is set to include a first terminal, a second terminal, a first identification platform, and a second identification platform, wherein the first terminal corresponds to the first identification platform, the second terminal corresponds to the second identification platform, and the first terminal is installed with a payment application. When a user registers in the payment application, the first terminal collects a face image and a user account with the user's permission, and sends the face image and the user account to the business system of the first identification platform. The feature extraction module in the first identification platform obtains a face image from the business system, and performs pre-processing such as denoising, graying, face detection, and normalization on the face image, and then uses a neural network model to extract features from the face image to obtain a reference feature vector [v1, v2, v3, ..., v1024]. The reference feature vector is divided into two feature vector slices, namely feature vector slice A [v1, v2, v3, ..., v512] and feature vector slice B [v513, v514, ..., v1024]. The feature vector shard A is encrypted and saved in the vector shard library of the first recognition platform, and the user account, the device information of the first recognition platform and the device information of the second recognition platform are simultaneously saved in association.
[0069] The feature extraction module in the first recognition platform sends the feature vector slice B to the second recognition platform. The second recognition platform encrypts the feature vector slice B and saves it in the vector slice library of the second recognition platform, while also associating and saving the user account, the device information of the first recognition platform, and the device information of the second recognition platform.
[0070] In an embodiment of the present application, a reference feature vector of a reference biological information is divided into multiple feature vector slices and the multiple feature vector slices are respectively stored in multiple recognition backgrounds, so any recognition background cannot restore the entire reference feature vector based on a locally stored feature vector slice, thereby ensuring the security of feature vector information storage.
[0071] In the biometric information recognition stage, the terminal collects the biometric information to be recognized, and then sends the biometric information to be recognized to the recognition platform. The recognition platform extracts features from the biometric information to be recognized through the feature extraction module to obtain a target feature vector. Of course, the terminal can also extract features from the biometric information to be recognized after collecting the biometric information to be recognized, obtain a target feature vector, and then send the target feature vector to the recognition platform. This application does not make specific limitations on this. In addition, the recognition platform can directly output the target feature vector in plain text after extracting features from the biometric information to be recognized, or it can extract features from the biometric information to be recognized to obtain the original feature vector, and then homomorphically encrypt the original feature vector to obtain the target feature vector.
[0072] In some embodiments, if the target biometric identifier of the biometric information to be identified is obtained at the same time when the target feature vector of the biometric information to be identified is obtained, a local feature vector fragment corresponding to a reference biometric identifier that matches the target biometric identifier will be obtained from the vector fragment library (a scenario in which one-to-one comparison is used for biometric information identification).
[0073] In some embodiments, if the target biometric identifier of the biometric information to be identified is not obtained when obtaining the target feature vector of the biometric information to be identified, and the vector shard library includes local feature vector shards corresponding to each of the multiple reference biometric identifiers. Then, the recognition device obtains the local feature vector shards corresponding to each of the multiple reference biometric identifiers from the vector shard library, that is, obtains the local feature vector shards corresponding to all the reference biometric identifiers in the vector shard library (a scenario of one-to-many comparison for biometric information identification), and then sorts the multiple local feature vector shards according to the reference biometric identifiers and compares them in sequence.
[0074] Step S202: for each reference biometric identifier, determine the feature distance between the corresponding local feature vector segment and the target feature vector.
[0075] Specifically, the feature distance may be Euclidean distance, cosine distance, Mahalanobis distance, or the like.
[0076] When the local feature vector shard is a feature vector shard in plain text and the target feature vector is a feature vector after homomorphic encryption, the recognition platform performs homomorphic multiplication on the local feature vector shard and the target feature vector in semi-homomorphic mode to obtain the feature distance.
[0077] When the local feature vector shard is a homomorphically encrypted feature vector shard and the target feature vector is a plaintext feature vector, the recognition platform performs homomorphic multiplication on the local feature vector shard and the target feature vector in a semi-homomorphic mode to obtain a feature distance. In the embodiment of the present application, feature distance calculation based on the semi-homomorphic mode ensures the security of the calculation and improves the calculation efficiency.
[0078] When the local feature vector shard is a homomorphically encrypted feature vector shard and the target feature vector is a homomorphically encrypted feature vector, the recognition platform performs homomorphic multiplication on the local feature vector shard and the target feature vector in the fully homomorphic mode to obtain the feature distance.
[0079] Step S203: Send the target feature vector to at least one other recognition platform storing corresponding other feature vector fragments.
[0080] Since the reference feature vector corresponding to each reference biometric identifier is divided into multiple feature vector slices, the reference biometric identifier corresponds to at least one other feature vector slice in addition to a local feature vector slice, and each other feature vector slice is stored in another recognition platform. Therefore, the recognition platform sends the target feature vector to each other recognition platform that stores other feature vector slices corresponding to the reference biometric identifier.
[0081] Step S204: receiving a feature distance between a target feature vector sent by at least one other recognition platform and other stored feature vector slices.
[0082] Specifically, after receiving the target feature vector, each other recognition platform calculates the feature distance between the target feature vector and other saved feature vector fragments.
[0083] Step S205: determining the recognition result of the biological information to be recognized based on the obtained multiple feature distances.
[0084] In some embodiments, in a scenario where one-to-one comparison is performed for biometric information recognition, a target feature distance between a target feature vector and a reference feature vector corresponding to a matched reference biometric identifier is determined based on the obtained multiple feature distances. If the target feature distance is less than a distance threshold, the recognition result of the biometric information to be recognized is determined to be verified; if the target feature distance is greater than or equal to the distance threshold, the recognition result of the biometric information to be recognized is determined to be verified unsuccessful.
[0085] Specifically, the recognition platform performs homomorphic addition operations on the obtained multiple feature distances through the feature comparison module to obtain the candidate feature distances between the target feature vector and the reference feature vector corresponding to the reference biometric identifier. Then, the candidate feature distances are decrypted using the homomorphic encryption private key to obtain the target feature distance.
[0086] When the target feature distance is less than the distance threshold, it means that the similarity between the biological information to be identified and the reference biological information corresponding to the reference biological identifier is greater than the similarity threshold, which further indicates that the biological information to be identified and the reference biological information correspond to the same organism, and the identification result of the biological information to be identified is determined to be verified.
[0087] When the target feature distance is greater than or equal to the distance threshold, it means that the similarity between the biological information to be identified and the reference biological information corresponding to the reference biological identifier is less than or equal to the similarity threshold, which further indicates that the biological information to be identified and the reference biological information correspond to different organisms, and the identification result of the biological information to be identified is determined to be verification failure.
[0088] The following takes user verification as an example for a specific implementation scenario. Figure 4 As shown, a multi-party secure computing system is set to include a first terminal, a second terminal, a first identification platform, and a second identification platform, wherein the first terminal corresponds to the first identification platform, the second terminal corresponds to the second identification platform, and the first terminal is installed with a shopping application. When a user registers in the shopping application, the first terminal collects a reference face image and a user account with the permission of the user, and sends the reference face image and the user account to the business system of the first identification platform. The feature extraction module in the first identification platform obtains a reference face image from the business system, and performs pre-processing such as denoising, graying, face detection, and normalization on the reference face image, and then uses a neural network model to extract features from the reference face image to obtain a reference feature vector [v1, v2, v3, ..., v1024]. The reference feature vector is divided into two feature vector slices, namely feature vector slice A [v1, v2, v3, ..., v512] and feature vector slice B [v513, v514, ..., v1024]. The feature vector shard A is encrypted and saved in the vector shard library of the first recognition platform, and the user account, the device information of the first recognition platform and the device information of the second recognition platform are simultaneously saved in association.
[0089] The feature extraction module in the first recognition platform sends the feature vector slice B to the second recognition platform. The second recognition platform encrypts the feature vector slice B and saves it in the vector slice library of the second recognition platform, while also associating and saving the user account, the device information of the first recognition platform, and the device information of the second recognition platform.
[0090] When performing user verification, the first terminal collects the face image to be identified and the user account with the user's permission, and sends the face image to be identified and the user account to the business system of the first recognition platform. The feature extraction module of the first recognition platform obtains the face image to be identified from the business system, and performs pre-processing such as denoising, graying, face detection, and normalization on the face image to be identified, and then uses a neural network model to extract features from the face image to be identified to obtain the original feature vector C[c1, c2, c3, ..., c1024]. The feature comparison module of the first recognition platform generates an asymmetric homomorphic encryption public-private key pair (he_pub_key, he_pri_key), and uses the asymmetric homomorphic encryption public key (he_pub_key) to homomorphically encrypt the original feature vector C to obtain the target feature vector D.
[0091] The feature comparison module of the first recognition platform obtains the encrypted feature vector fragment A based on the user account, and then decrypts the encrypted feature vector fragment A to obtain the plaintext feature vector fragment A. Then, the homomorphic encryption Lib library is used to calculate the Euclidean distance between the target feature vector D and the feature vector fragment A to obtain the first feature distance, and the first feature distance is sent to the business system of the first recognition platform.
[0092] Based on the user account, the first recognition platform can also learn that the second recognition platform has saved another feature vector shard. Therefore, the target feature vector D is sent to the business system of the second recognition platform. The feature comparison module of the second recognition platform obtains the target feature vector D from the business system, and obtains the encrypted feature vector shard B based on the user account, and decrypts the encrypted feature vector shard B to obtain the plaintext feature vector shard B. Then, the homomorphic encryption Lib library is used to calculate the Euclidean distance between the target feature vector D and the feature vector shard B to obtain the second feature distance, and the second feature distance is sent to the business system of the second recognition platform. The business system of the second recognition platform sends the second feature distance to the business system of the first recognition platform.
[0093] The business system of the first recognition platform performs an addition operation on the first feature distance and the second feature distance based on the homomorphic encryption Lib library to obtain the candidate feature distance. Then, the candidate feature distance is decrypted using the asymmetric homomorphic encryption private key (he_pri_key) to obtain the target feature distance. Since the target feature distance is less than the distance threshold, it is determined that the face image to be recognized has passed the verification.
[0094] It should be noted that the second recognition platform can also collect the face image to be recognized and verify the face image to be recognized in the same way as above. When it comes to the data encrypted by the first recognition platform, the API service interface provided by the first recognition platform can be called to perform decryption operations.
[0095] In some embodiments, in a scenario where one-to-many comparison is used to identify biometric information, for each of a plurality of reference biometric identifiers, a target feature distance between a target feature vector and a reference feature vector corresponding to the reference biometric identifier is determined based on a plurality of feature distances associated with the reference biometric identifier. Then, from the plurality of target feature distances obtained, a minimum feature distance is determined. If the minimum feature distance is less than a distance threshold, the identification result of the biometric information to be identified is determined to be verified. If the minimum feature distance is greater than or equal to the distance threshold, the identification result of the biometric information to be identified is determined to be verified unsuccessful.
[0096] Specifically, for each reference biometric identifier, multiple feature distances can be obtained. For a reference biometric identifier, multiple feature distances are homomorphically added to obtain candidate feature distances between the target feature vector and the reference feature vector corresponding to the reference biometric identifier. The candidate feature distances are then decrypted using a homomorphic encryption private key to obtain the target feature distance.
[0097] After normalizing and sorting multiple target feature distances, the minimum feature distance and the reference biological identifier corresponding to the minimum feature distance are obtained. When the minimum feature distance is less than the distance threshold, it means that the similarity between the biological information to be identified and the reference biological information corresponding to the reference biological identifier is greater than the similarity threshold, which further means that the biological information to be identified and the reference biological information correspond to the same organism, and the identification result of the biological information to be identified is determined to be verified.
[0098] When the minimum feature distance is greater than or equal to the distance threshold, it means that the similarity between the biological information to be identified and the reference biological information corresponding to the reference biological identifier is less than or equal to the similarity threshold, which further indicates that the biological information to be identified and the reference biological information correspond to different organisms, and the identification result of the biological information to be identified is determined to be verification failure.
[0099] The following takes the payment scenario as an example of a specific implementation scenario. Figure 5 As shown, a multi-party secure computing system is set to include a first terminal, a second terminal, a third terminal, a first identification platform, a second identification platform and a third identification platform, wherein the first terminal corresponds to the first identification platform, the second terminal corresponds to the second identification platform, the third terminal corresponds to the third identification platform, and the first terminal is installed with a payment application.
[0100] When the first user registers in the payment application, the first terminal collects the first reference facial image and the first user account with the user's permission, and sends the first reference facial image and the first user account to the business system of the first recognition platform. The feature extraction module in the first recognition platform obtains the first reference facial image from the business system, and after pre-processing the first reference facial image such as denoising, graying, face detection, and normalization, uses a neural network model to extract features from the first reference facial image to obtain a reference feature vector. The first reference feature vector is divided into two feature vector slices, namely feature vector slice A and feature vector slice B. Feature vector slice A is encrypted and saved in the vector slice library of the first recognition platform, and the first user account, the device information of the first recognition platform, and the device information of the second recognition platform are associated and saved at the same time. The first recognition platform sends feature vector slice B to the second recognition platform, and the second recognition platform encrypts feature vector slice B and saves it in the vector slice library of the second recognition platform, and the first user account, the device information of the first recognition platform, and the device information of the second recognition platform are associated and saved at the same time.
[0101] When the second user registers in the payment application, the first terminal collects the second reference facial image and the second user account with the user's permission, and sends the second reference facial image and the second user account to the business system of the first recognition platform. The feature extraction module in the first recognition platform obtains the second reference facial image from the business system, and after pre-processing the second reference facial image such as denoising, graying, face detection, and normalization, uses a neural network model to extract features from the second reference facial image to obtain a second reference feature vector. The second reference feature vector is divided into two feature vector slices, namely feature vector slice M and feature vector slice N. Feature vector slice M is encrypted and saved in the vector slice library of the first recognition platform, and the second user account, the device information of the first recognition platform, and the device information of the third recognition platform are associated and saved at the same time. The first recognition platform sends feature vector slice N to the third recognition platform, and the third recognition platform encrypts feature vector slice N and saves it in the vector slice library of the third recognition platform, and the first user account, the device information of the first recognition platform, and the device information of the third recognition platform are associated and saved at the same time.
[0102] When the first user makes a payment, the first terminal collects the face image to be identified with the user's permission and sends the face image to be identified to the business system of the first recognition platform. The feature extraction module of the first recognition platform obtains the face image to be identified from the business system, and performs pre-processing such as denoising, graying, face detection, and normalization on the face image to be identified, and then uses a neural network model to extract features from the face image to be identified to obtain the original feature vector C. The feature comparison module of the first recognition platform generates an asymmetric homomorphic encryption public-private key pair (he_pub_key, he_pri_key), and uses the asymmetric homomorphic encryption public key (he_pub_key) to homomorphically encrypt the original feature vector C to obtain the target feature vector D.
[0103] The first recognition platform obtains a feature vector segment A corresponding to the first user account and a feature vector segment M corresponding to the second user account from the vector segment library.
[0104] For the feature vector shard A corresponding to the first user account, the feature comparison module of the first recognition platform decrypts the encrypted feature vector shard A to obtain the plaintext feature vector shard A. Then, the homomorphic encryption Lib library is used to calculate the Euclidean distance between the target feature vector D and the feature vector shard A to obtain the first feature distance.
[0105] Based on the first user account, the feature comparison module of the first identification platform can also learn that the second identification platform has saved another feature vector fragment corresponding to the first user account, so the target feature vector D is sent to the business system of the second identification platform. The feature comparison module of the second identification platform obtains the target feature vector D from the business system, and obtains the encrypted feature vector fragment B based on the user account, and then decrypts the encrypted feature vector fragment B to obtain the feature vector fragment B in plain text. Then use the homomorphic encryption Lib library to calculate the Euclidean distance between the target feature vector D and the feature vector fragment B, obtain the second feature distance, and send the second feature distance to the business system of the second identification platform. The business system of the second identification platform sends the second feature distance to the business system of the first identification platform.
[0106] The business system of the first recognition platform performs an addition operation on the first feature distance and the second feature distance based on the homomorphic encryption Lib library to obtain the candidate feature distance. Then, the candidate feature distance is decrypted using the asymmetric homomorphic encryption private key (he_pri_key) to obtain the target feature distance X.
[0107] For the feature vector shard M corresponding to the second user account, the feature comparison module of the first recognition platform decrypts the encrypted feature vector shard M to obtain the plaintext feature vector shard M. Then, the homomorphic encryption Lib library is used to calculate the Euclidean distance between the target feature vector D and the feature vector shard M to obtain the third feature distance.
[0108] Based on the second user account, the feature comparison module of the first identification platform can also learn that the third identification platform has saved another feature vector shard corresponding to the second user account, so the target feature vector D is sent to the business system of the third identification platform. The feature comparison module of the third identification platform obtains the target feature vector D from the business system, and obtains the encrypted feature vector shard N based on the second user account, and then decrypts the encrypted feature vector shard N to obtain the feature vector shard N in plain text. Then use the homomorphic encryption Lib library to calculate the Euclidean distance between the target feature vector D and the feature vector shard N to obtain the fourth feature distance, and send the fourth feature distance to the business system of the third identification platform. The business system of the third identification platform sends the fourth feature distance to the business system of the first identification platform.
[0109] The business system of the first recognition platform performs addition operation on the third feature distance and the fourth feature distance based on the homomorphic encryption Lib library to obtain the candidate feature distance. Then, the candidate feature distance is decrypted using the asymmetric homomorphic encryption private key (he_pri_key) to obtain the target feature distance Y.
[0110] Since the target feature distance X is less than the target feature distance Y, it is determined whether the target feature distance X is less than the distance threshold. If the target feature distance is less than the distance threshold, it is determined that the face image to be identified has passed the verification. At this time, the first recognition platform assembles the payment message and performs the payment transaction based on the first user account, bank card and other information. The payment result is then returned to the first terminal, and the first terminal displays the payment result in the payment application.
[0111] In the embodiment of the present application, a reference feature vector of a reference biological information is divided into multiple feature vector slices and the multiple feature vector slices are respectively stored in multiple recognition backgrounds, so that any recognition background needs to rely on the feature vector slices stored in other recognition platforms to complete the biological information recognition, and each recognition background cannot restore the entire reference feature vector based on a locally stored feature vector slice, thereby ensuring the security of the feature vector information storage. Secondly, each recognition background calculates the characteristic distance between the local feature vector slice and the target feature vector of the biological information to be identified based on the homomorphic encryption operation method, realizes the calculation in the ciphertext state, and ensures the security of the calculation. In addition, each recognition background independently calculates the characteristic distance between the local feature vector slice and the target feature vector, and then summarizes the calculation results to a recognition background. Compared with the data interaction of multi-party secure computing, the communication rounds and communication volume are greatly reduced, thereby improving the performance of the calculation and reducing the consumption of communication resources.
[0112] Based on the same technical concept, the present application embodiment provides a schematic diagram of the structure of a biometric information recognition device, which is applied to each recognition platform in a secure computing system, such as Figure 6 As shown, the device 600 includes:
[0113] The acquisition module 601 includes acquiring a target feature vector of the biometric information to be identified, and acquiring a local feature vector fragment corresponding to at least one reference biometric identifier from a vector fragment library;
[0114] Processing module 602 is used to determine, for each reference biometric identifier, a characteristic distance between a corresponding local feature vector slice and the target feature vector, and send the target feature vector to at least one other recognition platform storing corresponding other feature vector slices, and receive the characteristic distance between the target feature vector and the stored other feature vector slices sent by the at least one other recognition platform;
[0115] The identification module 603 is used to determine the identification result of the biological information to be identified based on the obtained multiple feature distances.
[0116] Optionally, the processing module 602 is further configured to:
[0117] Before obtaining the target feature vector of the biological information to be identified, for each reference biological identifier, obtain the reference biological information corresponding to the reference biological identifier, and perform feature extraction on the reference biological information to obtain a reference feature vector;
[0118] Dividing the reference feature vector into a plurality of feature vector slices;
[0119] One feature vector slice among the multiple feature vector slices is saved as a local feature vector slice, and at least one other feature vector slice among the multiple feature vector slices is sent to corresponding other recognition platforms for saving.
[0120] Optionally, the processing module 602 is further configured to:
[0121] Acquire device information of multiple recognition platforms for storing the multiple feature vector slices;
[0122] storing the reference biometric identifier and device information of the plurality of identification platforms;
[0123] For each other recognition platform, the reference biometric identifier and the device information of the multiple recognition platforms are sent to the other recognition platform for storage.
[0124] Optionally, the multiple feature vector fragments are feature vector fragments in plain text or homomorphically encrypted, and the target feature vector is a feature vector in plain text or homomorphically encrypted.
[0125] Optionally, the biological information to be identified corresponds to a target biological identifier;
[0126] The acquisition module 601 is specifically used for:
[0127] A local feature vector fragment corresponding to a reference biometric identifier matching the target biometric identifier is obtained from the vector fragment library.
[0128] Optionally, the identification module 603 is specifically used for:
[0129] determining a target feature distance between the target feature vector and a reference feature vector corresponding to the one reference biometric identifier based on the obtained plurality of feature distances;
[0130] If the target feature distance is less than the distance threshold, determining that the recognition result of the to-be-recognized biological information is verified;
[0131] If the target feature distance is greater than or equal to the distance threshold, the recognition result of the to-be-recognized biological information is determined to be verification failure.
[0132] Optionally, the identification module 603 is specifically used for:
[0133] Performing a homomorphic addition operation on the obtained multiple feature distances to obtain a candidate feature distance between the target feature vector and a reference feature vector corresponding to the one reference biometric identifier;
[0134] The candidate feature distance is decrypted using a homomorphic encryption private key to obtain the target feature distance.
[0135] Optionally, the vector shard library includes local feature vector shards corresponding to each of the multiple reference biometric identifiers;
[0136] Optionally, the acquisition module 601 is specifically used for:
[0137] The local feature vector fragments corresponding to each of the plurality of reference biometric identifiers are obtained from the vector fragment library.
[0138] Optionally, the identification module 603 is specifically used for:
[0139] For each reference biometric identifier of the plurality of reference biometric identifiers, determining a target feature distance between the target feature vector and a reference feature vector corresponding to the reference biometric identifier based on a plurality of feature distances associated with the reference biometric identifier;
[0140] Determine the minimum feature distance from the obtained multiple target feature distances;
[0141] If the minimum characteristic distance is less than the distance threshold, determining that the recognition result of the to-be-recognized biological information is verified;
[0142] If the minimum characteristic distance is greater than or equal to the distance threshold, it is determined that the recognition result of the to-be-recognized biological information is verification failure.
[0143] In the embodiment of the present application, a reference feature vector of a reference biological information is divided into multiple feature vector slices and the multiple feature vector slices are respectively stored in multiple recognition backgrounds, so that any recognition background needs to rely on the feature vector slices stored in other recognition platforms to complete the biological information recognition, and each recognition background cannot restore the entire reference feature vector based on a locally stored feature vector slice, thereby ensuring the security of the feature vector information storage. Secondly, each recognition background calculates the characteristic distance between the local feature vector slice and the target feature vector of the biological information to be identified based on the homomorphic encryption operation method, realizes the calculation in the ciphertext state, and ensures the security of the calculation. In addition, each recognition background independently calculates the characteristic distance between the local feature vector slice and the target feature vector, and then summarizes the calculation results to a recognition background. Compared with the data interaction of multi-party secure computing, the communication rounds and communication volume are greatly reduced, thereby improving the performance of the calculation and reducing the consumption of communication resources.
[0144] Based on the same technical concept, the embodiment of the present application provides a computer device, which can be Figure 1 The identification platform shown, such as Figure 7As shown, it includes at least one processor 701 and a memory 702 connected to the at least one processor. The specific connection medium between the processor 701 and the memory 702 is not limited in the embodiment of the present application. Figure 7 For example, the processor 701 and the memory 702 are connected via a bus. The bus can be divided into an address bus, a data bus, a control bus, etc.
[0145] In the embodiment of the present application, the memory 702 stores instructions that can be executed by at least one processor 701, and the at least one processor 701 can perform the steps of the above-mentioned biometric information recognition method by executing the instructions stored in the memory 702.
[0146] Among them, the processor 701 is the control center of the computer device, and various interfaces and lines can be used to connect various parts of the computer device, and biometric information recognition can be realized by running or executing instructions stored in the memory 702 and calling data stored in the memory 702. Optionally, the processor 701 may include one or more processing units, and the processor 701 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 701. In some embodiments, the processor 701 and the memory 702 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on independent chips.
[0147] Processor 701 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor.
[0148] The memory 702 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 702 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 702 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer device, but is not limited thereto. The memory 702 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0149] Based on the same inventive concept, an embodiment of the present application provides a computer-readable storage medium storing a computer program executable by a computer device. When the program runs on the computer device, the computer device executes the steps of the above-mentioned biometric information recognition method.
[0150] It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as methods or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0151] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer device or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0152] These computer program instructions may also be stored in a computer readable memory capable of directing a computer device or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0153] These computer program instructions can also be loaded onto a computer device or other programmable data processing device so that a series of operation steps are executed on the computer device or other programmable device to produce a process implemented by the computer device, thereby providing instructions for implementing the process in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0154] Although the preferred embodiments of the present invention have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.
[0155] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.
Claims
1. A biometric information recognition method, applied to each recognition platform in a secure computing system, characterized in that: include: Obtaining a target feature vector of the biometric information to be identified, and obtaining a local feature vector slice corresponding to at least one reference biometric identifier from a vector slice library; For each reference biometric identifier, determine the characteristic distance between the corresponding local feature vector slice and the target feature vector, send the target feature vector to at least one other recognition platform storing the corresponding other feature vector slices, and receive the characteristic distance between the target feature vector sent by the at least one other recognition platform and the stored other feature vector slices; wherein, if the local and / or other feature vector slices are feature vector slices in plain text form and the target feature vector is a homomorphically encrypted feature vector, the recognition platform performs homomorphic multiplication operation on the local and / or feature vector slices and the target feature vector in a semi-homomorphic mode to obtain the characteristic distance; perform homomorphic addition operation on the obtained multiple feature distances to obtain a candidate feature distance between the target feature vector and the reference feature vector corresponding to the one reference biometric identifier; Decrypting the candidate feature distance using a homomorphic encryption private key to obtain a target feature distance; Based on the target feature distance, a recognition result of the to-be-recognized biological information is determined.
2. The method according to claim 1, characterized in that Before obtaining the target feature vector of the biological information to be identified, the method further includes: For each reference biological identifier, obtain reference biological information corresponding to the reference biological identifier, and perform feature extraction on the reference biological information to obtain a reference feature vector; Dividing the reference feature vector into a plurality of feature vector slices; One feature vector slice among the multiple feature vector slices is saved as a local feature vector slice, and at least one other feature vector slice among the multiple feature vector slices is sent to corresponding other recognition platforms for saving.
3. The method according to claim 2, characterized in that Also includes: Acquire device information of multiple recognition platforms for storing the multiple feature vector slices; storing the reference biometric identifier and device information of the plurality of identification platforms; For each other recognition platform, the reference biometric identifier and the device information of the multiple recognition platforms are sent to the other recognition platform for storage.
4. The method according to claim 2, characterized in that The multiple feature vector fragments are feature vector fragments in plain text or homomorphically encrypted, and the target feature vector is a feature vector in plain text or homomorphically encrypted.
5. The method according to claim 2, characterized in that The biological information to be identified corresponds to the target biological identifier; The step of obtaining at least one local feature vector fragment corresponding to a reference biological identifier from a vector fragment library includes: A local feature vector fragment corresponding to a reference biometric identifier matching the target biometric identifier is obtained from the vector fragment library.
6. The method according to claim 5, characterized in that The step of determining the recognition result of the biological information to be recognized based on the obtained multiple feature distances includes: determining a target feature distance between the target feature vector and a reference feature vector corresponding to the one reference biometric identifier based on the obtained plurality of feature distances; If the target feature distance is less than the distance threshold, determining that the recognition result of the to-be-recognized biological information is verified; If the target feature distance is greater than or equal to the distance threshold, the recognition result of the to-be-recognized biological information is determined to be verification failure.
7. The method according to claim 1, characterized in that The vector shard library includes local feature vector shards corresponding to each of the multiple reference biometric identifiers; The step of obtaining at least one local feature vector fragment corresponding to a reference biological identifier from a vector fragment library includes: The local feature vector fragments corresponding to each of the plurality of reference biometric identifiers are obtained from the vector fragment library.
8. The method according to claim 7, characterized in that The step of determining the recognition result of the biological information to be recognized based on the obtained multiple feature distances includes: For each reference biometric identifier of the plurality of reference biometric identifiers, determining a target feature distance between the target feature vector and a reference feature vector corresponding to the reference biometric identifier based on a plurality of feature distances associated with the reference biometric identifier; Determine the minimum feature distance from the obtained multiple target feature distances; If the minimum characteristic distance is less than the distance threshold, determining that the recognition result of the to-be-recognized biological information is verified; If the minimum characteristic distance is greater than or equal to the distance threshold, it is determined that the recognition result of the to-be-recognized biological information is verification failure.
9. A biometric information recognition device, applied to each recognition platform in a secure computing system, characterized in that: include: An acquisition module, comprising acquiring a target feature vector of the biological information to be identified, and acquiring a local feature vector fragment corresponding to at least one reference biological identifier from a vector fragment library; A processing module, for determining, for each reference biometric identifier, a characteristic distance between a corresponding local feature vector shard and the target feature vector, and sending the target feature vector to at least one other recognition platform storing the corresponding other feature vector shards, and receiving the characteristic distance between the target feature vector sent by the at least one other recognition platform and the stored other feature vector shards; wherein, if the local and / or other feature vector shards are feature vector shards in plain text form and the target feature vector is a homomorphically encrypted feature vector, the recognition platform performs homomorphic multiplication on the local and / or feature vector shards and the target feature vector in a semi-homomorphic mode to obtain the characteristic distance; an identification module, configured to perform homomorphic addition operations on the obtained multiple feature distances to obtain candidate feature distances between the target feature vector and a reference feature vector corresponding to the one reference biometric identifier; Decrypting the candidate feature distance using a homomorphic encryption private key to obtain a target feature distance; Based on the target feature distance, a recognition result of the to-be-recognized biological information is determined.
10. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of any one of the methods of claims 1 to 8 are implemented.
11. A computer-readable storage medium, characterized in that: It stores a computer program executable by a computer device. When the program is run on the computer device, the computer device executes the steps of any method described in claims 1 to 8.
Citation Information
Patent Citations
Face recognition privacy protection system and method
CN114241560A
Biological feature recognition method and device, electronic equipment and storage medium
CN114596639A