WO2023066374A1 - Privacy protection based image processing method, identity registration method, and identity authentication method - Google Patents

Privacy protection based image processing method, identity registration method, and identity authentication method Download PDF

Info

Publication number
WO2023066374A1
WO2023066374A1 PCT/CN2022/126690 CN2022126690W WO2023066374A1 WO 2023066374 A1 WO2023066374 A1 WO 2023066374A1 CN 2022126690 W CN2022126690 W CN 2022126690W WO 2023066374 A1 WO2023066374 A1 WO 2023066374A1
Authority
WO
WIPO (PCT)
Prior art keywords
authenticated
key
auxiliary data
biometric
feature
Prior art date
Application number
PCT/CN2022/126690
Other languages
French (fr)
Chinese (zh)
Inventor
汤林鹏
邰骋
张舒畅
张青笛
王心安
刘勤
张之蔚
Original Assignee
墨奇科技(北京)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202111228163.1A external-priority patent/CN114117383A/en
Priority claimed from CN202111229310.7A external-priority patent/CN116010917A/en
Application filed by 墨奇科技(北京)有限公司 filed Critical 墨奇科技(北京)有限公司
Publication of WO2023066374A1 publication Critical patent/WO2023066374A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints

Definitions

  • Embodiments of the present disclosure relate to a privacy-protected image processing method, an identity registration method, and an identity authentication method.
  • Biometrics are an important means of modern identity management and access control systems. Due to the strong and permanent link between an individual and their biometrics, exposing a registered user's biometrics to an attacker could seriously compromise user privacy. Currently, few biometric methods are capable of guaranteeing the irreversibility, revocability, and unlinkability required by biometric systems without significantly degrading recognition performance.
  • the purpose of the embodiments of the present disclosure is to provide a privacy-protected image processing method, identity registration method, and identity authentication method, which can improve the irreversibility of the biometric identification method, ensure revocability and unlinkability, and thus realize Protection of user privacy.
  • an embodiment of the present disclosure provides a privacy-protected image processing method, including:
  • the image to be processed includes a first biological feature area, and the first biological feature area includes a plurality of first feature points;
  • the first biometric area determine a first biometric template of the first biometric area, where the first biometric template includes biometric representations corresponding to a plurality of first feature points;
  • Perform encoding operation on the first biometric template to obtain the first auxiliary data including the following items:
  • the encoding operation includes an irreversible transformation.
  • an identity registration method including:
  • the first auxiliary data in the registration information of the object to be registered is determined through the above privacy-protected image processing method.
  • an embodiment of the present disclosure provides an identity authentication method, including:
  • the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
  • the second biometric area determine the biometric template to be authenticated in the second biometric area
  • the identity authentication result of the object to be authenticated is determined according to the biometric template to be authenticated and the auxiliary data of the bottom database;
  • the bottom database auxiliary data includes at least one first auxiliary data; the first auxiliary data is determined through the above-mentioned identity registration method.
  • an identity registration method including:
  • the registration information is determined through the above-mentioned identity registration method
  • the embodiment of the present disclosure provides an identity authentication method, including:
  • An authentication request sent by the terminal device is received; according to the authentication request, the bottom database auxiliary data is determined from the registration information stored in the database through the above identity registration method; wherein the bottom database auxiliary data includes at least one first auxiliary data.
  • an embodiment of the present disclosure provides a method for using a key, including:
  • identity authentication of the object to be authenticated If the identity authentication of the object to be authenticated is successful, one or more of digital signature, message encryption, message decryption, application login, and digital wallet management will be performed using the verified key determined by the identity authentication method of the third aspect deal with;
  • the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
  • the embodiment of the present disclosure provides a digital signature method, including:
  • the registration information is determined; wherein, the registration information includes the first auxiliary data; the key corresponding to the first auxiliary data is the first private key; the first private key corresponds to the first public key; the first The private key and the first public key are generated in a trusted execution environment;
  • the first public key is sent to the sign verifier, so that the sign verifier uses the first public key to verify the digital signature generated using the first private key.
  • an embodiment of the present disclosure provides a digital signature method, including:
  • the identity authentication of the object to be authenticated is successful, then use the first authenticated key determined by the identity authentication method of the third aspect to sign the information to be signed to obtain signed data with a digital signature;
  • an embodiment of the present disclosure provides a method for decrypting a message, including:
  • the registration information is determined; wherein, the registration information includes the first auxiliary data; the key corresponding to the first auxiliary data is the second private key; the second private key corresponds to the second public key; The second private key and the second public key are generated in a trusted execution environment;
  • an embodiment of the present disclosure provides a method for decrypting a message, including:
  • the second authentication key determined by the identity authentication method in the third aspect is used to decrypt the data to be decrypted to obtain the decrypted data;
  • the public key corresponding to the second key to be authenticated is sent to the message encryption party through the above method, and the data to be decrypted is encrypted with the public key corresponding to the second key to be authenticated.
  • an application login method including:
  • the third to-be-authenticated key determined by the identity authentication method of the third aspect and passed the verification is sent to the application server to log in to the target application program; or, the above-mentioned identity will be used
  • the third key to be authenticated and the user ID that pass the verification determined by the authentication method are sent to the application server to log into the target application program.
  • the embodiment of the present disclosure provides a blockchain node information synchronization method, which is applied to the current blockchain node on the blockchain, and the blockchain includes multiple blockchain nodes, including:
  • the registration information is determined, and the registration information includes the first auxiliary data; the key corresponding to the first auxiliary data is the third private key; the third private key corresponds to the third public key; the third private key and the third public key are generated in a trusted execution environment;
  • an embodiment of the present disclosure provides a privacy-protected image processing device, including:
  • the first acquisition module is configured to acquire an image to be processed, the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
  • the first determining module is configured to determine a first biometric template of the first biometric region according to the first biometric region, where the first biometric template includes biometric representations corresponding to a plurality of first feature points;
  • An encoding module configured to perform an encoding operation on the first biometric template to obtain first auxiliary data
  • Encoding modules are implemented in any of the following ways:
  • the encoding operation includes an irreversible transformation.
  • an identity registration device including:
  • the second determination module is configured to determine the first auxiliary data in the registration information of the object to be registered through the method of the first aspect.
  • an identity authentication device including:
  • the second acquisition module is configured to acquire an image to be authenticated of the object to be authenticated, the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
  • the third determining module is used to determine the biometric template to be authenticated in the second biometric region according to the second biometric region, and the biometric template to be authenticated includes a plurality of biometric data corresponding to a plurality of second characteristic points;
  • the fourth determining module is used to determine the identity authentication result of the object to be authenticated according to the biometric template to be authenticated and the auxiliary data of the bottom database;
  • the base library auxiliary data includes at least one first auxiliary data; the first auxiliary data is included in the registration information, and the registration information is determined through the registration method of the second aspect.
  • an identity registration device including:
  • the first receiving module is configured to receive registration information sent by the terminal device, where the registration information is determined through the identity registration method provided by the second aspect;
  • the second storage module is used to store the registration information in the database, and the registration information includes the first auxiliary data.
  • an identity authentication device including:
  • the second receiving module is configured to receive the authentication request sent by the terminal device
  • the bottom database auxiliary data determination module is used to determine the bottom database auxiliary data from the registration information stored in the database through the method in the identity registration method provided by the fourth aspect according to the authentication request; wherein the bottom database auxiliary data includes at least one First auxiliary data.
  • an embodiment of the present disclosure further provides an electronic device, including: a processor and a memory, the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the machine-readable instructions are executed by the processor When performing the steps of the above-mentioned method.
  • the embodiments of the present disclosure further provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the above method are executed.
  • the privacy-protected image processing method, registration method, and identity authentication method, device, electronic device, and computer-readable storage medium perform irreversible encoding operations on biometric templates that reflect user privacy. Even if the result of the encoding operation is leaked, it cannot be pushed back to the original biometric template, which greatly reduces the risk of privacy leakage; at the same time, the decoding operation corresponding to the encoding operation is fault-tolerant or the matcher used in the authentication stage is fault-tolerant, and can be based on the A biometric template that is sufficiently similar but not identical at the time of enrollment for authentication. Therefore, the method in the embodiment of the present invention is suitable for biometric identification and can protect privacy.
  • FIG. 1 is a schematic diagram of an operating environment provided by at least one embodiment of the present disclosure
  • FIG. 2 is a schematic block diagram of an electronic device provided by at least one embodiment of the present disclosure
  • Fig. 3 is a flowchart of a privacy-protected image processing method provided by at least one embodiment of the present disclosure
  • Fig. 4 is an interaction sequence diagram of an identity registration method provided by at least one embodiment of the present disclosure.
  • Fig. 5 is an interaction sequence diagram of an identity authentication method provided by at least one embodiment of the present disclosure.
  • Fig. 6 is an interaction sequence diagram of another identity authentication method provided by at least one embodiment of the present disclosure.
  • the inventor of the present application provides a privacy-protected image processing method, identity registration method, and identity authentication method.
  • the data obtained after encoding the biometric template satisfies the following attributes:
  • Biometric data should be processed through irreversible transformations before storage. In any case, it is difficult to reverse and transform the original biological characteristics only based on the irreversible transformation results. This property prevents misuse of stored biometric data to launch spoofing or replay attacks, increasing the security of biometric systems. The more difficult it is to reverse and transform the original biometrics based on the irreversible transformation results, the higher the security of the biometric system.
  • Revocability or Revocability This property satisfies the possibility of revoking and reissuing new instances of protected biometric references when the biometric database is compromised.
  • Non-linkability This property satisfies that it is computationally difficult to determine whether two or more reference instances of a protected creature originate from the same biometric of the user, non-linkability prevents crossover across different applications match to protect user privacy.
  • the registration method and the authentication method provided by the embodiments of the present disclosure may be implemented independently by the terminal device or the server, or may be jointly implemented by the terminal device and the server. When the two are implemented together, the server and the terminal device need to interact.
  • FIG. 1 it is a schematic diagram of interaction between a server and a terminal device provided by an embodiment of the present disclosure.
  • the server 110 communicates with one or more first terminal devices 120 through a network for data communication or interaction.
  • the server 110 may be a web server, a database server, or the like.
  • the first terminal device 120 may be a personal computer (personal computer, PC), a tablet computer, a smart phone, a personal digital assistant (personal digital assistant, PDA), a punch card machine, a payment device, and the like.
  • the first terminal device 120 may determine the registration information based on the acquired image, and send the registration information to the server 110 for registration.
  • the server 110 may also communicate with one or more second terminal devices 130 for data communication or interaction.
  • the second terminal device 130 may perform identity authentication on the object contained in the image based on the acquired image.
  • identity registration and identity authentication may be implemented in the same terminal device.
  • the first terminal device 120 and the second terminal device 130 may be the same terminal device.
  • the first terminal device 120 may be a card punching device, an access control device, a payment device, a personal mobile device, and the like.
  • identity registration and identity authentication may be implemented in different terminal devices.
  • the first terminal device 120 and the second terminal device 130 may be different terminal devices.
  • the first terminal device 120 may be a personal mobile device
  • the second terminal device 130 may be a face recognition device in a subway.
  • the electronic device 300 may include a memory 311 , a storage controller 312 , a processor 313 , a peripheral interface 314 , an input and output unit 315 , and a display unit 316 .
  • the memory 311 , storage controller 312 , processor 313 , peripheral interface 314 , input/output unit 315 and display unit 316 are electrically connected to each other directly or indirectly to realize data transmission or interaction.
  • these components can be electrically connected to each other through one or more communication buses or signal lines.
  • the aforementioned processor 313 is used to execute the executable modules stored in the memory.
  • the memory 311 can be, but not limited to, random access memory (Random Access Memory, referred to as RAM), read-only memory (Read Only Memory, referred to as ROM), programmable read-only memory (Programmable Read-Only Memory, referred to as PROM) ), Erasable Programmable Read-Only Memory (EPROM for short), Electric Erasable Programmable Read-Only Memory (EEPROM for short), etc.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • PROM programmable read-only memory
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electric Erasable Programmable Read-Only Memory
  • the above-mentioned processor 313 may be an integrated circuit chip with signal processing capabilities.
  • Above-mentioned processor 313 can be general-purpose processor, comprises central processing unit (Central Processing Unit, be called for short CPU), network processor (Network Processor, be called for short NP) etc.; Can also be digital signal processor (digital signal processor, be called for short DSP) ), Application Specific Integrated Circuit (ASIC for short), Field Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • CPU central processing unit
  • Network Processor Network Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • peripheral interface 314 couples various input/output devices to the processor 313 and the memory 311 .
  • peripheral interface 314, processor 313, and memory controller 312 may be implemented in a single chip. In some other instances, they can be implemented by independent chips respectively.
  • the aforementioned input and output unit 315 is used to provide the user with input data.
  • the input and output unit 315 may be, but not limited to, a mouse and a keyboard.
  • the above-mentioned display unit 316 provides an interactive interface (such as a user operation interface) between the electronic device 300 and the user or is used to display image data for the user's reference.
  • the display unit may be a liquid crystal display or a touch display. If it is a touch display, it can be a capacitive touch screen or a resistive touch screen supporting single-point and multi-touch operations. Supporting single-point and multi-touch operations means that the touch display can sense simultaneous touch operations from one or more positions on the touch display, and hand over the sensed touch operations to the processor calculation and processing.
  • the electronic device 300 may be the server shown in FIG. 1 , or the terminal device shown in FIG. 1 .
  • the structure shown in FIG. 2 is only a schematic diagram, and it does not limit the structure of the electronic device 300.
  • the structures of the servers and terminal devices in FIG. 1 can also be compared to the electronic device shown in FIG. 300 with more or fewer components, or a different configuration than that shown in FIG. 2 .
  • the first terminal device and the second terminal device shown in FIG. 1 may further include a collection device for collecting image or audio data.
  • the server shown in FIG. 1 may not include the display unit shown in FIG. 2 .
  • the electronic device 300 in this embodiment may be used to execute various steps in various methods provided in the embodiments of the present disclosure.
  • the implementation process of each method is described in detail below through several embodiments.
  • FIG. 3 is a flowchart of a privacy-protected image processing method 400 provided by an embodiment of the present disclosure. The specific flow of the privacy-protected image processing method 400 will be described in detail below.
  • Step 410 acquire the image to be processed.
  • the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points.
  • the first biological characteristic area in the image to be processed may be a fingerprint area, a palmprint area, a finger vein area, a palm vein area, a face area, an iris area, and the like.
  • the first feature point is a point in the first biometric region that can characterize biological characteristics, such as a key point of a human face, a finger-palm print, and a detail point of a finger-palm vein.
  • the first feature point may be a key point in the first biometric region representing the tip of the nose, the end of the eye, and the center of the eyebrow.
  • the first feature point may be a minutiae point representing a bifurcation point, an end point, and the like of a texture in the first biometric area.
  • the image to be processed can be obtained through contact or non-contact acquisition.
  • the non-contact acquisition manner may be to obtain images to be processed by taking pictures.
  • the image obtained by collecting the same biological feature multiple times can also be fused to form the image to be processed.
  • the image to be processed is collected by non-contact acquisition, and the biometrics contained in the first biometric region may be at least one of fingerprints, palm prints, finger veins, and palm veins.
  • the number of feature points included in the first biological feature area is greater than 300.
  • FAR False Acceptance Rate
  • Faces are not as unique as fingerprints/palmprints, and today's best facial recognition systems achieve no less than a FAR of 1 in a million.
  • finger palm prints finger palm veins have lower FAR than faces.
  • fingerprints are more unique than faces on the one hand, it is estimated that fingerprints with 36 details can have a discrimination degree as high as 1.95 ⁇ 10 36 .
  • the relative positions of facial features such as eyes and nose are limited rather than disordered. Compared with finger palm prints and finger palm veins, faces have lower information entropy and contain less information.
  • biometric areas containing more than 300 feature points can be collected at one time. So many feature points It makes it possible to collect information with sufficient discrimination and enough information for encoding through a single image without aligning and fusing multiple images, so that the security level of the biometric identification algorithm can be raised to a very high standard.
  • Step 420 Determine a first biometric template of the first biometric region according to the first biometric region.
  • the first biological feature template includes multiple biological feature representations corresponding to the first feature points.
  • the biometric template is obtained by performing feature extraction on the biometric region, where the feature extraction is a reversible transformation.
  • the biometric template may be presented in the form of a vector or a data set.
  • a biometric template includes multiple biometric representations corresponding to multiple feature points one-to-one, and each biometric representation is the local information of its corresponding feature point, so that the biometric template includes a sufficiently high degree of discrimination .
  • the biometric template includes multiple biometric representations corresponding to multiple feature points one by one, and the biometric representation corresponding to each feature point includes information describing the feature point, such as the position of the feature point, Angle, relative position and relative angle with other feature points, etc.
  • biometric template needs to have a high enough discrimination to ensure that the FAR is within an acceptable range, and the specific discrimination requirements can be determined according to the size of the base library for biometric identification. It is understandable that the larger the size of the base library, the higher the discrimination of the biometric template is required.
  • Step 430 performing an encoding operation on the first biometric template to obtain first auxiliary data.
  • the encoding operations used in the above step 430 include irreversible transformations. It can be understood that the encoding operation includes irreversible transformation means that at least one of the steps involved in the encoding operation is an irreversible transformation, making it difficult to determine the biometric template through inverse transformation only based on the first auxiliary data obtained by the encoding operation. In this way, privacy protection can be realized.
  • the natural ambiguity of biometric features will inevitably require the decoding operation used in authentication (at this time, the encoding operation will use BCH, RS, etc. to encode the error correction code, and the decoding operation will use the corresponding method to decode the error correction code) or matcher To be fault tolerant so that authentication is based on a biometric template that is sufficiently similar to, but not identical to, the enrollment.
  • step 430 may be implemented as:
  • the key corresponding to the first auxiliary data is not required to be obtained after the first auxiliary data exists, and if a key is used to generate the first auxiliary data, it is called the key corresponding to the first auxiliary data .
  • the key corresponding to the first auxiliary data may be input by the user to be registered corresponding to the image to be processed or generated according to the input of the user to be registered.
  • the key corresponding to the first auxiliary data is generated by performing one or more processes of format conversion, digit padding, and verification information addition on the input of the user to be registered.
  • F is the feature conversion function
  • k is the key corresponding to the first auxiliary data
  • k' is the key obtained in the authentication phase
  • X and X' are the biometric templates to be authenticated in the registration phase and the authentication phase, respectively
  • H and H 'Auxiliary data for the registration phase and authentication phase, respectively. If X and X' are close enough and k' k, then H and H' are close enough.
  • the matcher judges whether H and H' are close enough, and the matcher has fault tolerance.
  • Specific examples of the first optional implementation manner may be Biohashing and Robusthashing.
  • step 430 may be implemented as:
  • biometric representation included in the biometric template is discretized at a relatively high resolution, and the biometric representation needs to be further discretized, that is, quantized, before the encoding operation.
  • Quantizing according to the first biological feature template can be understood as quantizing the biological feature representation corresponding to the first feature point into the grid space.
  • biological features are expressed as the position and angle of feature points ⁇ i, j, ⁇ >, where the value ranges of i, j, ⁇ are 1-32, 1-16, 1-8, and the values of i, j, ⁇ Can be integer or decimal.
  • the quantized i, j, and ⁇ take integer values from 1-32, 1-16, and 1-8.
  • the size of the grid space is 32*16*8, and the resolution of the grid space is is 1.
  • Quantifying according to the first biometric template may comprise individually rounding and/or operating elements of the biometric representation contained in the first biometric template, and/or rounding/operating between elements.
  • the quantification includes rounding each element separately, for example, ⁇ 3.5, 5.1, 60.5> represents a biological characteristic corresponding to a quantitative value of ⁇ 4 (rounded), 5 (rounded), 2 ( Round after 60.5/360)>.
  • the quantification includes individual rounding of each element and splicing into multiple digits, for example, the corresponding quantitative value of ⁇ 3.5, 5.1, 60.5> is 452 (rounded to ⁇ 4, 5 , 2> after splicing into multiple digits).
  • the key corresponding to the first auxiliary data may be input by the user or generated by the system, where the generation by the system includes random generation or generation according to user input.
  • the key corresponding to the first auxiliary data has k dimensions.
  • the key corresponding to the first auxiliary data is generated by performing one or more processes of format conversion, digit padding, and verification information addition on user input.
  • Determining the error-correcting code word according to the key corresponding to the first auxiliary data may be to determine the error-correcting code word from the n-dimensional finite field according to the key corresponding to the first auxiliary data, and the error-correcting code word is n-dimensional (n >k), making the decoding algorithm corresponding to the encoding algorithm error-tolerant. It is understandable that the larger n is than k, the stronger the error tolerance is, and the greater the amount of computation required for encoding operations is.
  • Step S110 may include determining an error correction code word according to a key corresponding to the first auxiliary data, or determining an error correction code word according to a key and a quantization value corresponding to the first auxiliary data.
  • the error correction code word can be determined by BCH or other error correction code encoding.
  • a k-dimensional key and a k*n encoding matrix may be converted into an n-dimensional vector.
  • the error correction code word may be determined through RS error correction coding.
  • Step S120 may include: performing a first conversion process on the error correction code word that has nothing to do with the quantization value; it may also include, according to the quantization value, performing the first conversion process on the error correction code word to obtain the first auxiliary data, thereby realizing Protection of codewords of error-correcting codes.
  • the first conversion process of S120 needs to be related to the quantization value, so that the error correction codeword, that is, the first A key corresponding to the auxiliary data is bound to a quantized value, that is, a biometric template, so as to realize protection of a key and a quantized value corresponding to the first auxiliary data, that is, a biometric template.
  • the first conversion process in S120 may or may not be related to the quantization value, because S110 has converted the key corresponding to the first auxiliary data into Binding with the quantized value, regardless of whether S120 is related to the quantized value, can realize the protection of the key corresponding to the first auxiliary data and the quantized value, that is, the biometric template.
  • step S110 and step S120 uses the quantized value obtained in step S109, that is, the quantized value is used when expanding the key corresponding to the first auxiliary data of k dimension to n dimension or after expanding to n dimension,
  • the binding of the key corresponding to the quantized value and the first auxiliary data is realized in the encoding operation.
  • Enc is the step of determining the codeword of the error correction code
  • Dec is the step of the decoding operation
  • k is the key corresponding to the first auxiliary data
  • k' is the key obtained from the decoding operation
  • X and X' are the registration stage and the authentication stage respectively
  • Specific examples of the second optional implementation manner can be fuzzy commitment (Fuzzy Commitment) and fuzzy vault (Fuzzy Vault).
  • step 430 may be implemented as:
  • the key corresponding to the first auxiliary data is not obtained before the error correction code word is determined, and the error correction code word is not generated according to the key corresponding to the first auxiliary data.
  • step S130 includes: randomly determining the code word of the error correction code; determining the code word of the error correction code according to the quantization value; determining one of the code words of the error correction code according to the quantization value and the random quantity.
  • RS error correction coding can be used when the quantization value is used when determining the codeword of the error correction code.
  • the error correction coding may be performed by BCH error correction coding, RS error correction coding, and the like. Randomly determine the codeword of the error correction code For example, randomly generate a k-dimensional vector and multiply it by a k*n coding matrix as the codeword of the error correction code.
  • the second transform process may or may not be quantized value dependent.
  • the second transformation process needs to be related to the quantization value, so as to realize the encoding operation of the error correction code code word and the quantization value, that is, the biometric template, and then realize the protection of the quantization value, that is, the biometric template .
  • the error correction code word is determined according to the quantization value, or when it is determined according to the quantization value and the random quantity, since the quantization value and the error correction code word have been corresponding in S130, no matter whether the second conversion process is related to the quantization value or not, it can be Realize the protection of the quantitative value, that is, the biometric template.
  • step S130 and step S140 uses the quantized value obtained in step S129 to implement an encoding operation on the quantized value.
  • the key corresponding to the first auxiliary data is generated by the strong extractor according to the quantization value, that is, the key corresponding to the first auxiliary data is generated from the biometric region.
  • r is a random variable
  • Enc is the step of determining the code word of the error correction code
  • Dec is the step of decoding operation
  • Ext is the step of extracting the key from the quantized value
  • k is the key corresponding to the first auxiliary data
  • X and X' is the quantized value of the registration stage and the authentication stage respectively
  • X1 is the quantized value obtained from the error correction of the error correction code
  • a specific example of the third optional implementation manner may be fuzzy extractor (Fuzzy Extractor).
  • the method of the embodiment of the present invention performs an irreversible encoding operation on the biometric template that reflects user privacy.
  • the result of the irreversible encoding operation is stored, even if it is leaked, it cannot be pushed back to the original biometric template, which greatly reduces the The risk of privacy leakage makes the biometric method meet the irreversible property; on the other hand, the key or random quantity is used in the irreversible encoding operation, so that when the key or random quantity is different, different auxiliary functions can be generated for the same biometric template. data such that the biometric method satisfies the revocable property.
  • the decoding operation corresponding to the encoding operation or the matcher used in the authentication stage is fault-tolerant, and can be authenticated based on a biometric template that is sufficiently similar to but not identical to the registration. It can be seen that the method in the embodiment of the present invention is suitable for biometric identification and can protect privacy.
  • the biological feature representation corresponding to the first biological feature area includes: biological feature data and precise descriptors.
  • Step 420 may include:
  • the biometric data is in one-to-one correspondence with the feature points, describing the position and angle of the corresponding feature points, the relative position and relative angle between the corresponding feature points and other feature points, and other orientation information;
  • the biometric data corresponding to these two feature points may be similar but not identical. Therefore, the multiple feature data corresponding to the multiple feature points A and the multiple feature data corresponding to the multiple feature points A' collected twice are almost certainly similar but different, where A corresponds to multiple biological positions of an object w1, w2..wn, A' corresponds to the same biological position w1, w2..wn of the same object.
  • S4202. Determine accurate descriptors corresponding to multiple first feature points according to the first biological feature area.
  • the precise descriptor is in one-to-one correspondence with the feature points, and is used to describe information such as texture features, direction fields, frequency domain vectors, colors, etc. of the local area where the corresponding feature points are located.
  • the precise descriptor refers to two feature points corresponding to the same biological position of the same object (for example, the same minutiae point on the fingerprint, the same key point in the face) on the two acquired images (for example, the same minutiae point on the fingerprint is in
  • the corresponding feature point in the first image to be processed is A1
  • the corresponding feature point (A2) in the second image to be processed corresponds to the same exact descriptor (for example, a probability of more than 90%) is the same (accurate descriptions corresponding to A1 and A2 same sub).
  • the use of the descriptor increases the information used for encoding compared with the non-use of the descriptor, so that the security of the biometric identification method is further improved.
  • the use of accurate descriptors can reduce the possibility of authentication failure caused by double fuzziness of biometric data and descriptors, thereby increasing the stability of biometric identification methods.
  • the security of the whole method mainly depends on the number of feature points used to generate the biometric template and the size of the entire grid space used to quantify the feature points. For the one-to-one correspondence between descriptors and feature points, for each feature point, an additional accurate descriptor is obtained in addition to the biometric data. If the grid space increases correspondingly due to the descriptor, it will be more difficult for the attacker to guess the real feature points from the grid space, and the security of the biometric identification method will be further improved.
  • biological characteristics are expressed as ⁇ i, j, ⁇ , d>, the value ranges are 1-32, 1-16, 1-8, 1-10, and the grid space can be increased to 32*16*8* 10.
  • the grid space is not increased due to the descriptor, it is equivalent to when the feature points are mapped to the grid space, the contribution proportion of the biometric data decreases, and the contribution proportion of the descriptor increases.
  • the biometric data is fuzzy
  • the sub is accurate, which is equivalent to when the feature points are mapped to the grid space, the proportion of fuzzy information is reduced, and the proportion of accurate information is increased, which can reduce the possibility of authentication failure due to the fuzziness of the biometric itself. Thereby, the stability of the biometric identification method is increased.
  • the authentication stage when the precise descriptor is used, the authentication stage only needs to correct the blur caused by the biometric data, and does not need to further correct the blur caused by the descriptor.
  • the use of accurate descriptors can reduce two layers of error correction to one layer of error correction, thereby increasing the decoding speed.
  • Accurate descriptor determination method 1 input the image to be processed and/or the description information of the image to be processed into the descriptor extraction model for processing, and obtain accurate descriptors corresponding to multiple first feature points.
  • the input of the descriptor extraction model may be the image to be processed, or both the image to be processed and the description information of the image to be processed.
  • the description information of the image to be processed can be extracted by image processing methods or algorithm models, and can be presented in the form of vectors, matrices, and graphs.
  • the description information is a vector representing the ridge frequency of the sub-region corresponding to each feature point in the image to be processed.
  • the descriptor extraction model Before using the descriptor extraction model to extract the descriptor of the image to be processed, the descriptor extraction model needs to be trained. If the input of the descriptor extraction model includes images to be processed, the training samples of the descriptor extraction model may be multiple pairs of sample images whose matching conditions are known. Exemplarily, knowing the matching situation refers to knowing whether the sample image P1 and the sample image P2 match, and if so, which feature points match. For example, two sample images of P1 and P2 are matched, P1 and P2 respectively include 6 minutiae points P10-P15, P20-P25, and the corresponding accurate descriptors are d10-d15, d20-d25 respectively.
  • the gap between the precise descriptors of the matched minutiae should be as large as possible. If the input of the descriptor extraction model includes the image to be processed and the description information of the image to be processed, the training samples of the descriptor extraction model can be multiple pairs of sample images whose matching conditions are known and their respective description information. The specific training method is as above, and will not be repeated here.
  • the image to be processed and the description information of the image to be processed are used as the input of the descriptor extraction model, and the characteristics of the sub-regions corresponding to each feature point in the image to be processed can be obtained at one time for describing the location of each feature point. information descriptor.
  • Accurate descriptor determination method 2 According to the position data of multiple first feature points, determine the local images of the neighborhood where the multiple first feature points are located, and combine the local images and/or descriptions of the local images of multiple first feature points The information is input into the descriptor extraction model to obtain accurate descriptors corresponding to multiple first feature points.
  • the descriptor extraction model needs to be trained.
  • model training is also to make the exact descriptors of the matched minutiae as consistent as possible, and the gap between the exact descriptors of the unmatched minutiae be as large as possible.
  • the local data corresponding to the feature points is used as the input of the descriptor extraction model
  • the model can be relatively small, the amount of calculation is small, the calculation speed is fast, and the accuracy of the result is higher, but it is necessary to intercept the local image from the image to be processed Wait for preprocessing.
  • Accurate descriptor determination method 3 For each first feature point among multiple first feature points, determine the fuzzy descriptor of the first feature point, and cluster the fuzzy descriptors of the first feature point to its distance The closest category center descriptor, using the nearest category center descriptor as the precise descriptor corresponding to the first feature point; wherein, the category center descriptor is obtained by clustering multiple fuzzy descriptors.
  • the fuzzy descriptor of the first feature point is determined according to the local image of the neighborhood where the first feature point is located.
  • the precise descriptor is determined through three steps. First, extract descriptors from a large number of (for example, 100w) feature points to obtain fuzzy descriptors corresponding to feature points; secondly, cluster multiple fuzzy descriptors to obtain multiple category center descriptors; thirdly, for For each first feature point in the plurality of first feature points, a fuzzy descriptor of the first feature point is determined, and the fuzzy descriptor of the first feature point is clustered to the category center descriptor closest to it, and the The closest category center descriptor is used as the precise descriptor corresponding to the first feature point. In this way, fuzzy descriptors can be transformed into precise descriptors.
  • fuzzy descriptors can be transformed into precise descriptors.
  • the accurate descriptors are determined by the above several methods, so that the exact descriptors corresponding to the two feature points corresponding to the same biological position of the same object on the images acquired twice are likely to be the same (for example, the probability of more than 90%) is the same, so that The probability of error correction of the descriptor is greatly reduced, thereby improving the decoding speed.
  • the biometric representation includes biometric data and precise descriptors, and the precise descriptors are used in different sub-steps of step S430.
  • accurate descriptors are used in the biometric template/according to the biometric template to obtain the quantified value/feature conversion step, the security and/or stability of the biometric method can be improved, and it can be used in the first transformation process and the second transformation process
  • precise descriptors are used, the calculation speed of biometric methods can be improved compared to using vague descriptors.
  • the feature conversion/first transformation processing/second transformation processing in step S430 may have nothing to do with the precise descriptor; Only when the precise descriptor is used in the feature conversion/first transformation processing/second transformation processing in step S430, performing feature conversion according to the first biological feature template may be to perform feature conversion only on the feature data in the first biological feature template , performing quantification according to the first biological characteristic template may be performing quantification only according to biological characteristic data in the first biological characteristic template.
  • step S430 is implemented through the first to third optional implementation manners, precise descriptors may be used in S100, S109 and S120, S129 and S140 respectively.
  • step S430 when step S430 is implemented through the first optional implementation manner, there are three ways to use the precise descriptor in S100:
  • Mode 1 Perform feature conversion on the biometric data and precise descriptors included in the first biometric template to obtain the first auxiliary data; the feature conversion is determined according to the key corresponding to the first auxiliary data;
  • Mode 2 performing feature conversion on the biometric data in the first biometric template to obtain the first auxiliary data; the feature conversion is determined according to the key and the precise descriptor corresponding to the first auxiliary data;
  • Mode 3 Perform feature transformation on the biometric data and precise descriptor included in the first biometric template to obtain the first auxiliary data; the feature transformation is determined according to the key and the precise descriptor corresponding to the first auxiliary data.
  • the use of descriptors increases the information used for encoding compared with the use of descriptors, which further improves the security of biometric identification methods.
  • the use of accurate descriptors can reduce the possibility of authentication failure caused by double fuzziness of biometric data and descriptors, thereby increasing the stability of biometric identification methods.
  • step S430 is implemented through the second optional implementation manner, precise descriptors may be used in S109 and S120.
  • the precise descriptor may be used in step S1091 and/or step S1092.
  • Step S1091 performing quantification according to the first biometric template, including: quantifying the biometric data and the precise descriptor included in the first biometric template;
  • Step S1092 obtaining the quantized value includes: performing a third transform process on the quantized result of step S1091 to obtain the quantized value, the third transform process is determined according to the precise descriptor; the third transform process is reversible or irreversible transform;
  • the quantization value X ⁇ d (T), wherein T is the quantization result obtained in step S1091, and ⁇ d is the third transformation process determined according to the precise descriptor.
  • the biometric template to be authenticated collected in the authentication stage can be quantified in the same way to obtain the quantized value to be authenticated, and the authentication can be performed by decoding the quantized value to be authenticated without restoring the quantized result before the third transformation process. Therefore, the third transformation process is a reversible or irreversible transformation.
  • using the additional accurate descriptor information in S109 can further improve the security and/or stability of the biometric identification algorithm. If only precise descriptors are used in S1091 and the lattice space does not increase, then stability is improved; if only precise descriptors are used in S1091 and the lattice space is increased, security is improved; if only precise descriptors are used in S1092 If the descriptor is used in S1092 and S1091, the security is improved; if the precise descriptor is used in S1092 and S1091 and the grid space does not increase, the stability and security are improved; if the precise descriptor is used in S1092 and S1091 and the grid space is increased , the security is improved.
  • steps S110 and S120 may be implemented as:
  • the key corresponding to the first auxiliary data is k-dimensional
  • the first algebraic curve is a k-order polynomial f
  • the coefficients of the k-order polynomial are determined according to the key corresponding to the first auxiliary data.
  • the first quantization value is one of the quantization values.
  • the first quantization value is mapped on the first algebraic curve to obtain the first mapping value, thereby obtaining each mapping value corresponding to each quantization value one-to-one, and the error correction code word includes each mapping value.
  • the point with the first quantization value as the first coordinate component and the first mapping value as the second coordinate component can be called the first point; the point set with each quantization value and each mapping value as the first and second coordinate components is called First point set.
  • the code words of the error correction code include y1, y2,...yn.
  • the first set of points is ⁇ (x1,y1),(x2,y2),...(xn,yn) ⁇ . The first point is a point in the first point set.
  • the hash points in the hash point set may be randomly generated, and the first coordinate component of the hash points is not equal to any quantization value.
  • S1203. Determine the first auxiliary data according to the first auxiliary point set and the hash point set; wherein, the first auxiliary point in the first auxiliary point set has a first functional relationship with the first point on the first algebraic curve, and the first The point uses the first quantization value as the first coordinate component, and the first mapping value as the second coordinate component; the first coordinate component of the first auxiliary point is determined according to the first quantization value.
  • step S1103 the first point set has been obtained, and the first point set can be directly used as the first auxiliary point set.
  • the first functional relationship is an identity mapping; or, the first point set is transformed to obtain the first auxiliary point set. point set, at this time the first functional relationship is determined by the transformation process.
  • the union of the first auxiliary point set and the hash point set is used as the first auxiliary data.
  • S120 may also include: S1202, performing a fourth transformation process on the first point to obtain the first auxiliary point in the first auxiliary point set; the fourth transformation The processing is determined according to the precise descriptor, and the fourth transformation processing is reversible transformation.
  • the first auxiliary point set composed of auxiliary points is obtained.
  • the first point set is ⁇ (x1,y1),(x2,y2),...(xn,yn) ⁇
  • the first auxiliary point set is ⁇ (x1',y1'),(x2',y2') ,...(xn',yn') ⁇
  • ⁇ d represents the fourth transformation process determined according to the precise descriptor
  • ⁇ d x represents the first transformation component used to obtain the first coordinate component of the first auxiliary point in the fourth transformation process
  • the fourth transformation process needs to satisfy (x,y) ⁇ ( ⁇ d x (x), ⁇ d y (x,y)), where ⁇ d x (x) represents the first transformation component and The second coordinate component of the first point has nothing to do with the first coordinate component of the first point; ⁇ d y (x, y) means that the second transformation component can be related to the first coordinate component of the first point and It is related to the second coordinate component of the first point (or not related to the first coordinate component of the first point).
  • the fourth transformation process needs to meet the above conditions to ensure that in the authentication stage, the points in the first auxiliary point set can be determined from the auxiliary data according to the quantization value corresponding to the biometric template to be authenticated.
  • the fourth transformation process needs to be reversible to ensure that it can According to the first auxiliary point in the auxiliary data, the corresponding points in the first point set are restored.
  • the first algebraic curve determined according to the key corresponding to the first auxiliary data is f
  • the second algebraic curve determined by the key is g
  • the fourth transformation process is to use the precise descriptor d and the error correction code word f(x)/g(x) to perform XOR operation
  • the second coordinate component of the real minutiae point corresponds to the error-correcting code word of the error-correcting code Enc
  • the second coordinate component of the hash point does not necessarily correspond to the error-correcting code word due to the randomness of the noise, so the attacker can Most of the real minutiae points are screened out based on the auxiliary data, which makes the biometric identification algorithm unsafe.
  • this problem can be overcome without encoding f(xi), g(xi) with an error-correcting code.
  • steps S110 and S120 may be implemented as:
  • S1107 Determine the parameters of the first mapping relationship according to the quantization value and the first algebraic curve
  • first set and the second set are introduced to describe the first mapping relationship, and it is not necessary to generate or store the first set and the second set.
  • the first subset of the first set is determined by the quantization value; the first value in the first subset is the first coordinate component, and the value in the second set that satisfies the first mapping relationship with the first value is the second coordinate component
  • the subset point has a second functional relationship with the second point on the first algebraic curve; the first coordinate component of the second point is a quantized value corresponding to the first value. All or most of the value in the complement of the first subset in the first set is the first coordinate component, and the value in the second set that satisfies the first mapping relationship with this value is the complement point of the second coordinate component and the first Points on an algebraic curve do not have a second functional relationship.
  • the first value is any value in the first subset.
  • the first mapping relationship needs to make the first coordinate component and the second coordinate component of the subset point and the complement point satisfy the first mapping relationship, and the subset point and the second point on the second algebraic curve have The second functional relationship, and all or most of the complement points do not have the second functional relationship with the points on the second algebraic curve.
  • the first mapping relationship can be expressed as formula 1.1,
  • the element in the first set is X
  • the element corresponding to X in the second set is V(X)
  • the first algebraic curve is f(X)
  • A is the set x1, x2,...xn, i corresponding to the quantized value for 1-n.
  • the second item in formula 1.1 is 0, and the second functional relationship is identity mapping.
  • the first mapping relationship is an n-order polynomial
  • V(X) is expanded to obtain the coefficients of each power term of X in the n-order polynomial.
  • S1109 Determine first auxiliary data according to parameters of the first mapping relationship.
  • the parameters of the first mapping relationship are used as the first auxiliary data.
  • polynomial coefficients are used as the first auxiliary data.
  • the first coordinate component and the second coordinate component of the subset point, that is, the real point, and the complement point, that is, the hash point conform to the same first mapping relationship, and only need to store the parameters of the first mapping relationship, without storing the real Point and hash point coordinates, greatly saving storage space.
  • step S1107 includes: determining parameters of the first mapping relationship according to the quantization value, the precise descriptor and the first algebraic curve.
  • the first mapping relationship can be determined according to the precise descriptor.
  • the first mapping relationship can be expressed in the form of formula 1.3 or formula 1.5:
  • the element in the first set is X
  • the element corresponding to X in the second set is V(X)
  • the first algebraic curve is f(X)
  • A is the set x1, x2,...xn
  • i corresponding to the quantized value is 1-n
  • ⁇ d is the transformation process related to the precise descriptor.
  • the second functional relationship is determined according to ⁇ d .
  • ⁇ d needs to meet the same conditions as the fourth transformation process, so as to ensure that in the authentication stage, subset points can be selected from the auxiliary data according to the quantitative value corresponding to the biometric template to be authenticated. At the same time, ⁇ d needs to be reversible to ensure that the second point can be restored according to the auxiliary data. It can be understood that, in Equation 1.3 and Equation 1.5, ⁇ d only includes the second transformation component.
  • steps S110 and S120 may be implemented as:
  • the key corresponding to the first auxiliary data is k-dimensional
  • the codebook contains a plurality of n-dimensional error correction code words. According to the key corresponding to the first auxiliary data, from the codebook The error correction code word corresponding to the key corresponding to the first auxiliary data is determined from the error correction code word.
  • the key corresponding to the first auxiliary data is expanded into an n-dimensional vector by padding zeros, and the error-correcting code word closest to the n-dimensional vector is determined from the error-correcting code words in the codebook as the first An error correction code word corresponding to the key corresponding to the auxiliary data.
  • the key corresponding to the k-dimensional first auxiliary data is converted into an n-dimensional vector by performing an operation with a k*n coding matrix as an error correction code word.
  • the binding of the code word of the error correction code and the quantized value is realized in the encoding operation through the replacement operation, that is, the binding of the key corresponding to the first auxiliary data and the biometric template is realized.
  • the quantized value itself can be in the form of a vector, and it can be considered that the quantized value itself is a biological vector.
  • the quantized value itself can be converted into its corresponding biological vector.
  • the quantized value includes 64 quantized values corresponding to 64 fingerprint minutiae points
  • the biometric data corresponding to each quantized value can be represented by minutiae position, angle i, j, ⁇ , where i, j, ⁇ occupy 5, 4 , 3bit, and the other 6bits represent the detail points corresponding to the quantized value
  • each quantized value corresponds to a 12-bit vector
  • the biological vector corresponding to the 64 quantized values is 18 bits.
  • K X is a permutation operation determined according to X.
  • the replacement operation may include translation and rotation relative to the biological vector X, and the replacement operation may be a matrix operation with the biological vector X.
  • the replacement operation determined according to the biological vector corresponding to the quantized value is " ” That is, XOR operation with the biological vector, Essentially characterizes the amount of translation of c relative to X. It is understandable that, for some permutation operations, it is required that the biometric vector X and the code word c of the error correction code have the same length.
  • the permutation operation is applied to the codeword of the error correction code to obtain the first auxiliary data, including:
  • step S430 is implemented through the third optional implementation manner, precise descriptors may be used in S129 and S140.
  • steps S130-S150 may be implemented as:
  • This embodiment is similar to Embodiment 2.3, except that the code word of the error correction code is determined randomly instead of according to the key corresponding to the first auxiliary data.
  • a k-dimensional key is generated according to the quantized value and a random quantity, so that different keys can be generated according to the same biometric template.
  • the random amount is included in the first auxiliary data.
  • steps S130-S150 may be implemented as:
  • the biological vector is X
  • the code word of the error correction code is C
  • H X-C.
  • S150 Generate a key corresponding to the first auxiliary data according to the quantization value. Refer to the description of S150 in Embodiment 3.1.
  • the result of the permutation operation or the calculated difference can be directly used as a part of the first auxiliary data, and the result of the subsequent transformation process based on it can also be used as the first auxiliary data a part of.
  • the first auxiliary data may further include a random amount used when generating a key corresponding to the first auxiliary data according to the quantization value.
  • obtaining the first auxiliary data in steps S1401 and S1403 includes: obtaining the first auxiliary data through a sixth transformation process; the sixth transformation process is determined according to the precise descriptor, and the sixth transformation process is reversible. For the description of the sixth conversion process, see the fifth conversion process.
  • the fourth transformation process, ⁇ d in Embodiment 2.2, the fifth transformation process, or the sixth transformation process are related to the descriptor and the descriptor is fuzzy
  • the Error correction is performed on fuzziness
  • error correction is also performed on the fuzziness of the quantized value.
  • Using an accurate descriptor can reduce two layers of error correction to one layer of error correction, thereby increasing the decoding speed.
  • the acquisition, use (such as step S430, or the part of S430 involving the quantization value and the key corresponding to the first auxiliary data) and/or transmission process of the key corresponding to the first auxiliary data or other keys (For example, sent from the terminal to the server) are all executed in the terminal device TEE (Trusted Execution Environment, Trusted Execution Environment).
  • TEE Trusted Execution Environment, Trusted Execution Environment
  • step S420 is divided into different sub-steps in the following two ways, and each sub-step is executed in TEE with a certain priority:
  • step S420 includes: determining a first intermediate result according to the first biometric region, and determining a first biometric template according to the first intermediate result;
  • the first intermediate result determined according to the first biometric area is executed in the trusted execution environment with the first priority; the first biometric template determined according to the first intermediate result is executed in the trusted execution environment with the second priority implement.
  • step S420 is divided into two sections.
  • both sections can be executed in the TEE; otherwise, the two sections can be executed in the TEE with a certain priority.
  • the second intermediate result determined according to the first biometric area is executed in the trusted execution environment with the first priority; the first biometric template determined according to the third intermediate result is executed in the trusted execution environment with the second priority Executing: determining according to the second intermediate result that the third intermediate result is executed in the trusted execution environment with a third priority.
  • step S420 is divided into three stages.
  • TEE resources are sufficient, all three stages can be executed in TEE; otherwise, the three stages can be executed in TEE with a certain priority.
  • the third priority is lower than the first priority, and the third priority is lower than the second priority.
  • first priority and second priority are higher or lower, and "first" and “second” do not mean high or low priority.
  • steps not performed in the TEE are performed in the REE.
  • the process of performing shallow transformation according to the first biometric region to obtain intermediate results has a strong correlation with the first biometric region, which involves user privacy, and should be placed in TEE with a high priority (first priority); on the other hand,
  • step S430 has been executed in TEE, placing the part closely connected with step S430 in step S420 in TEE does not increase the communication cost between TEE and REE, and it can be considered as a high priority (section Second priority) into the TEE.
  • the step of determining the third intermediate result according to the second intermediate result is neither a step with strong correlation with the first biometric feature area, nor a step closely connected with step S103, Can be executed in the TEE with the lowest priority. Which one of the first priority and the second priority is higher can be determined according to whether it is more desirable to protect the data with a stronger correlation with the first biometric area, or to reduce the communication cost between TEE and REE. choose.
  • the embodiment of the present disclosure also provides a privacy-protected image processing device corresponding to the privacy-protected image processing method. Since the problem-solving principle of the device in the embodiment of the present disclosure is the same as the implementation of the aforementioned privacy-protected image processing method Therefore, the implementation of the device in this embodiment can refer to the description in the embodiment of the above-mentioned method, and repeated descriptions will not be repeated.
  • the privacy-protected image processing device in this embodiment may include: a first acquisition module 510, a first determination module 520, and an encoding module 530; wherein,
  • the first acquiring module 510 is configured to acquire an image to be processed, the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
  • the first determining module 520 is configured to determine a first biometric template of the first biometric region according to the first biometric region, where the first biometric template includes a plurality of biometric data corresponding to a plurality of first characteristic points;
  • the encoding module 530 is configured to perform an encoding operation according to the first biometric template to obtain the first auxiliary data; wherein, the encoding operation includes an irreversible transformation.
  • the embodiment of the present disclosure provides an identity registration method 600.
  • the identity registration method 600 in this embodiment is applied to a terminal device.
  • the specific process of this embodiment will be described in detail below in conjunction with the steps of the identity registration method 600.
  • step 610 the first auxiliary data in the registration information of the object to be registered is determined through the privacy-protected image processing method 400 .
  • the privacy-protected image processing method mentioned in this embodiment can be the privacy-protected image processing method provided in Embodiment 2. Therefore, for the method of obtaining the first auxiliary data in this embodiment, please refer to the description in Embodiment 2 , which will not be repeated here.
  • the object to be registered refers to the target object that needs to be registered before authentication.
  • the registration method of this embodiment may also include storing the registration information in a database on the terminal device or a database of a server communicatively connected to the terminal device.
  • the registration information may only include the first auxiliary data, and by comparing the auxiliary data to be authenticated and the first auxiliary data generated in the authentication stage, Determine the authentication result.
  • the key to be authenticated can be determined according to the decoding result of the error correction code, by comparing the key to be authenticated with The key corresponding to the first auxiliary data verifies the key to be authenticated to determine the authentication result.
  • biometrics can be combined with other factors for multi-factor authentication.
  • a possible multi-factor authentication method is: in the registration phase, transform the key corresponding to the first auxiliary data with other factors to obtain the first multi-factor key; key, obtain other factors again, perform the same conversion process as in the registration stage on the key to be authenticated and other factors obtained in the authentication stage, and obtain the multi-factor key to be authenticated, and compare the multi-factor key to be authenticated with the first multi-factor key Verify the multi-factor key to be authenticated to determine the authentication result. It can be understood that when using multi-factor authentication, in addition to verifying the multi-factor key to be authenticated, the key to be authenticated may also be verified.
  • the registration information also needs to include information required for verification of the key to be authenticated and/or the multi-factor key to be authenticated.
  • verifying the key may include verifying the key by comparing hash values of the key.
  • the above registration information may also include: The first hash value generated by the key and/or the second hash value generated according to the first multi-factor key, the first hash value and the second hash value are respectively used for the key to be authenticated and the key to be authenticated in the authentication phase Multi-factor keys are verified.
  • the first hash value and the second hash value can be determined according to the key, can be determined according to the key and the default hash parameter, or can be determined according to the key and the set (non-default) hash parameter OK, where the hash parameters include the salt value and/or the number of rounds of the hash operation.
  • the registration information also needs to include additional hash parameters, so that the key to be authenticated can be decoded according to the same hash parameter in the authentication stage or the key to be authenticated can be obtained by The hash operation is performed on the multi-factor key to be authenticated determined by the key.
  • the content contained in the registration information may also include but not limited to the following situations: (1) the first hash value; (2) the first hash value + the first hash parameter; (3) second hash value; (4) second hash value + second hash parameter; (5) first hash value + second hash value; (6) first hash value + The first hash parameter + the second hash value + the second hash parameter.
  • the identity registration method in this embodiment may also include:
  • Step 611 Perform a hash operation according to the key corresponding to the first auxiliary data to determine a first hash value in the registration information.
  • performing the hash operation according to the key corresponding to the first auxiliary data may also be performing the hash operation according to the key corresponding to the first auxiliary data and the first hash parameter.
  • the identity registration method in this embodiment may also include:
  • Step S612 perform the ninth conversion process according to the key corresponding to the first auxiliary data and the first conversion key, and obtain the first multi-factor key;
  • Step S613 perform a hash operation according to the first multi-factor key, and determine the registration information The second hash value in .
  • performing the hash operation according to the first multi-factor key may also be performing a hash operation according to the first multi-factor key and the second hash parameter.
  • this embodiment corresponds to a multi-factor authentication scenario, and other factors can be other biometric features or user passwords, etc.
  • other factors are accurate rather than vague, and the embodiments of the present disclosure use other factors as user passwords
  • the user password is directly used as the first transformation key or the first transformation key is generated according to the received user password.
  • Generating the first conversion key according to the user password is, for example, performing one or more processes of format conversion, digit padding, and verification information addition on the user password to generate the first conversion key.
  • the key corresponding to the first auxiliary data and the first transformation key may be combined through a ninth transformation process, and the ninth transformation process may be any reversible or irreversible transformation.
  • the ninth transformation process may be to use the key corresponding to the first auxiliary data to perform symmetric encryption on the first transformed key, and use the first transformed key to perform symmetric encryption to the key corresponding to the first auxiliary data.
  • combining multiple factors enables only one verification of the combined result in the authentication stage to determine whether the multiple independent factors are correct.
  • performing the ninth transformation process according to the key corresponding to the first auxiliary data and the first transformation key to obtain the first multi-factor key may include: according to the key corresponding to the first auxiliary data and the first transformation key Carry out ninth transformation processing, add verification information to the transformation processing result, and obtain the first multi-factor key. For example, redundant bits are determined according to the transformation result, and the first multi-factor key includes the transformation result and the redundant bits.
  • the registration information can also include the first hash value and the second hash value at the same time, so as to verify both the key to be authenticated and the multi-factor key to be authenticated.
  • the identity registration method includes step S611 , step 612 and step 613.
  • a preliminary verification may be performed on the key, and a key that passes the preliminary verification is subjected to subsequent verification. It can be understood that the preliminary verification consumes less computing power and/or requires less network communication than the subsequent verification, and the preliminary verification can improve the authentication efficiency by narrowing the range of keys that need to be subjected to subsequent verification.
  • preliminary verification can be performed through the verification information contained in the key to be authenticated and the multi-factor key to be authenticated (for example, redundant bits contained in the key), and additional verification values can also be used to treat The authentication key and the multi-factor key to be authenticated are initially verified.
  • the registration information may also include the first check value and/or the second key corresponding to the key corresponding to the first auxiliary data.
  • a second check value corresponding to a multi-factor key (for example, the check value is the result of operation of the values corresponding to some or all bits in the key), the first check value and/or the second check value need
  • the corresponding first auxiliary data is stored in association with it.
  • the identity registration method provided by the embodiment of the present disclosure may further include: generating a first verification value according to a key corresponding to the first auxiliary data and/or generating a second verification value according to the first multi-factor key.
  • the database for storing registration information includes a first data table and a second data table; the first auxiliary data corresponding to the object to be registered and other registration information of the object to be registered are associated and stored in the first data table , other registration information of the object to be registered includes: at least one of the first index feature, the first hash parameter, the second hash parameter, noise information, and a check value; the associated storage of the object to be registered is stored in the second data table The first hash value or the second hash value corresponding to the user identifier and the object to be registered.
  • auxiliary data is stored in association, so as to facilitate filtering of the first auxiliary data.
  • the user identification is often stored independently of the first auxiliary data.
  • the first auxiliary data may be stored in association with information such as sensitive information, hash parameters, and verification values in the first data table, and the user ID and the first hash value and/or the second hash value may be associated and stored in The second data table, after it is determined that there is a base first hash value that matches the hash value to be authenticated of the key to be authenticated and/or it is determined that there is a multifactor hash to be authenticated that matches the multifactor key to be authenticated Only when the value matches the second hash value of the bottom library can the user identifier be determined in the second data table according to the matched hash value.
  • the fourth embodiment may also include step S614: the terminal device performs feature extraction on the first biometric feature area to obtain the first index feature, and the discrimination degree of the first index feature is lower than that of the first biometric feature template. distinction.
  • the discrimination degree of the index feature is at least one magnitude lower than that of the first biometric template, and may be in the form of a vector or a graph.
  • the discrimination of index features only needs to reduce the large base library to a sufficiently small candidate list (that is, reduce the amount of data that needs to be compared).
  • the candidate list is small enough to mean that, with the computing power of the device, in the authentication stage, the total comparison time for comparing the biometric template of the object to be authenticated with each record in the candidate list is within an acceptable time range.
  • the candidate list needs to be reduced to 50 records to make the total comparison time within an acceptable time within range.
  • the discrimination of index features should not be too high, otherwise, if the index features are not encrypted and stored, privacy will be leaked.
  • the index feature may be a macro feature or a global feature.
  • the index features may refer to global descriptive information of palm prints and palm veins, information related to finger palm shapes, finger knuckle lines, and palm rough lines At least one of the characteristics such as information.
  • the registration information also includes the first index feature, and the first index feature of the object to be registered is stored in association with the first auxiliary data of the object to be registered, so that in the authentication stage, it can be determined whether the first auxiliary data is used as a base database auxiliary data according to the first index feature. data.
  • the first auxiliary data corresponding to the first biometric template with a high degree of discrimination and the index features with a low degree of discrimination are acquired during the biometric registration phase, so that the index features can be used for preliminary screening in the authentication phase, and then used
  • the first auxiliary data are sieved.
  • the index features have a low degree of discrimination, and they do not need to be stored after complex irreversible transformations to ensure that privacy is not leaked, so that the index features can be used for comparison without error correction code decoding in the authentication stage, so the index features are used for comparison
  • the calculation speed is fast.
  • the decoding operation corresponding to the irreversible transformation/encoding operation is involved in the comparison with auxiliary data, and the operation speed is slow.
  • the index feature comparison with the fast operation speed can quickly and greatly reduce the candidate list, making The slow irreversible transformation/decoding operation within the candidate list does not significantly affect performance; at the same time, the discrimination of index features is poor, and the discrimination of biometric templates is good.
  • the final authentication result is determined by the biometric template, which can ensure the authentication accuracy. ; On the other hand, the discrimination of index features is poor. Even if the biometric system is breached and the index features are leaked, it is impossible to identify specific objects based on the index features.
  • the first auxiliary data is obtained through irreversible transformation, even if the second If the auxiliary data is leaked, the first biometric template cannot be obtained from the first auxiliary data through irreversible inverse transformation. Therefore, the method in the embodiment of the present invention has high security. It can be seen that the method in the embodiment of the present invention can balance performance, precision and security.
  • noise may be added to the first index feature.
  • the initial screening condition can be: an index feature whose distance from the second index feature is not greater than 5.
  • initial screening results are returned in the bottom database; if Zhang San’s first index feature added certain noise when he registered , so that the distance between the noise-added first index feature and the second index feature is 10, and the initial screening condition can be: the index feature whose distance from the second index feature is not greater than 10. At this time, you can no longer use too strict preliminary screening conditions, otherwise the actual matching objects will be filtered out in the preliminary screening stage. At this time, for example, 50 preliminary screening results will be returned in the bottom library.
  • the specific noise information (at least one of the noise adding method and the noise intensity) can be weighed according to comparing the requirements on the total time consumption and the security requirements on the first index feature.
  • the way/strength of adding noise may be fixed, or may be determined according to at least one factor among noise adding decision information such as performance information of the terminal device, network information between the terminal device and the server, and expected security level.
  • noise information is added to the first index feature, it needs to go through the steps of obtaining noise addition decision information, determining noise information according to the noise addition decision information, and adding noise to the first index feature according to the noise information.
  • Each step can be completed by a terminal device or a server, and which subject to complete depends on considerations such as specific operational efficiency and security.
  • the registration information of the object to be registered also includes the noise information stored in association with the first auxiliary data, so as to dynamically determine according to the noise information during the authentication phase.
  • the distance condition used to determine whether the first auxiliary data passes the screening.
  • an identity registration device corresponding to the identity registration method is also provided in the embodiment of the present disclosure. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity registration method, the method in this embodiment For the implementation of the device, reference may be made to the descriptions in the embodiments of the above methods, and repeated descriptions will not be repeated.
  • the identity registration device includes: a second determination module.
  • the second determination module is configured to determine the first auxiliary data in the registration information of the object to be registered through the privacy-protected image processing method provided in the above embodiment.
  • the identity authentication method 700 provided by the embodiment of the present disclosure.
  • the method in this embodiment can be executed by a terminal device.
  • the device performing the authentication method may be the same as or different from the device performing the registration method.
  • the specific flow of the identity authentication method 700 will be described in detail below.
  • Step 710 acquire the image to be authenticated of the object to be authenticated.
  • the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points.
  • the image to be authenticated can be acquired by using the acquisition method of the image to be processed involved in the above embodiment.
  • Step 720 according to the second biometric area, determine a biometric template to be authenticated in the second biometric area.
  • biometric template to be authenticated can be understood in a broad sense, and the biometric template to be authenticated may include biometric representations corresponding to multiple second feature points, and may also include biometric features used to determine multiple second feature points. represents the intermediate result.
  • the biological feature template to be authenticated may include multiple biological feature representations corresponding to the second feature points.
  • the first biometric template is determined according to the first biometric region through the feature extraction steps a-e.
  • the biometric template to be authenticated is determined through steps a-e.
  • the biometric template to be authenticated extracted by the terminal may include biometric representations corresponding to multiple second feature points, and may also include intermediate results for determining the biometric representations corresponding to multiple second feature points , at this time, the server completes determining the biological feature representations corresponding to the multiple second feature points according to the intermediate results and subsequent steps.
  • the first biometric template is determined according to the first biometric region through the feature extraction steps a-e.
  • the terminal device may determine the biometric template to be authenticated through steps a-b, and the server may complete steps c-e, or the terminal device may determine the biometric template to be authenticated through steps a-e.
  • the terminal device can determine the biometric template to be authenticated in the second biometric area according to the second biometric area through at least the first half of the feature extraction step same as determining the first biometric template according to the first biometric area .
  • Step 730 acquiring the identity authentication result of the object to be authenticated.
  • the identity authentication result is determined according to the biometric template to be authenticated and the auxiliary data in the bottom database.
  • the base database auxiliary data includes at least one first auxiliary data; the first auxiliary data is determined through the identity registration method 600 .
  • the database for storing registration information can be located in the terminal, or located in the server or obtained by the server.
  • the steps of determining the identity authentication result according to the biometric template to be authenticated and the auxiliary data in the base database are all completed by the terminal; when the database for storing registration information is located in the server or obtained by the server At this time, some steps are completed by the terminal, and some steps are completed by the server.
  • the identity authentication result of the object to be authenticated can be determined in different ways according to the biometric template to be authenticated and the auxiliary data in the base database.
  • authentication can be performed in two ways: non-multi-factor and multi-factor. The various methods are described below:
  • step S430 S730 corresponding to the second (steps S109, S110-S120) or third implementation (steps S129, S130-S150) in step S430 will be described.
  • step S730 includes:
  • the bottom database auxiliary data may be all first auxiliary data in the stored registration information, or the first auxiliary data after preliminary screening. For example, based on user ID, device ID, registration time, authentication time, authentication location, low-discriminatory features extracted from images to be authenticated, low-discrimination features extracted from biometric templates to be authenticated, and quantitative values to be authenticated
  • the low-discriminatory features and other limiting factors screen out the bottom library auxiliary data from the full amount of first auxiliary data.
  • the base library auxiliary data may be the first auxiliary data uniquely determined according to user identification, device identification, and the like. It can be understood that if the restriction factors are used for preliminary screening of the auxiliary data, the restriction factors and the first auxiliary data need to be associated and stored, so as to filter out the first auxiliary data meeting the requirements of the restriction factors as the bottom database auxiliary data.
  • the identity authentication result may include authentication success or failure. If the database for storing registration information is located at the terminal, the information (such as the first hash value) for verifying the key to be authenticated is also located at the terminal, and the terminal itself performs verification; if the database for storing registration information is located at The server may be obtained by the server, and the server has issued information to the terminal to verify the key to be authenticated, and the terminal itself will perform the verification; if the database used to store the registration information is located on the server or obtained by the server, and the server has not sent the terminal Send the information of verifying the key to be authenticated, and then the server performs verification (for example, the terminal sends the hash value of the key to be authenticated to the server, and the server uses the hash value of the key to be authenticated to verify).
  • the hash value of the key to be authenticated can be used to verify the key to be authenticated.
  • the first auxiliary data and the first hash value are correspondingly stored in the registration information.
  • S770 may include: determining corresponding hash values to be authenticated according to part or all of the keys to be authenticated, and determining an identity authentication result of the object to be authenticated according to the hash values to be authenticated.
  • the key to be authenticated corresponding to the hash value to be authenticated The verification result of the verification is passed; the first hash value of the bottom database is the first hash value corresponding to the first auxiliary data contained in the auxiliary data of the bottom database.
  • the terminal judges whether there is a first hash value of the bottom library that matches the hash value to be authenticated. , the terminal sends the hash value to be authenticated to the server, and the server judges whether there is a first hash value of the bottom library that matches the hash value to be authenticated.
  • determining its corresponding hash value to be authenticated according to all keys to be authenticated refers to calculating its hash value for each key to be authenticated; determining its corresponding hash value to be authenticated according to some of the keys to be authenticated means that only the hash values of some of the keys to be authenticated are calculated. For example, preliminary verification is performed on the key to be authenticated to obtain a key to be authenticated that passes the preliminary verification, and a hash value of the key to be authenticated that passes the preliminary verification is calculated.
  • step S730 includes:
  • the second transformation key is determined according to the user password received in the authentication stage, for example, directly using the user password in the authentication stage as the second transformation key or generating the second transformation key according to the received user password.
  • Generating the second conversion key according to the user password is, for example, performing one or more processes of format conversion, digit padding, and verification information addition on the user password to generate the second conversion key. It can be understood that, the manner of determining the second conversion key from the user password in the authentication phase is the same as the manner of determining the first conversion key from the user password in the registration phase.
  • the key corresponding to the first auxiliary data and the first transformation key can be used as the variables of the ninth transformation process
  • the key to be authenticated and the second transformation key can be used as the ninth transformation process variables.
  • Variables for transformation processing That is to say, the variables of the ninth transformation processing in the registration phase and the authentication phase are different, but the parameters are the same.
  • the multi-factor key to be authenticated can be determined according to each key to be authenticated, or the key to be authenticated can be determined according to the part of the key to be authenticated after preliminary verification, or the key to be authenticated that has passed the verification (at this time, when determining the multi-factor key to be authenticated Before entering the key, the key to be authenticated needs to be verified, and the registration information includes information such as the first hash value used to verify the key to be authenticated) to determine the multi-factor key to be authenticated.
  • S790 Verify the multi-factor key to be authenticated, and determine an identity authentication result of the object to be authenticated. For the description of this step, refer to S770.
  • the hash value of the multi-factor key to be authenticated can be used to verify the multi-factor key to be authenticated.
  • the first auxiliary data and the second hash value are correspondingly stored in the registration information.
  • S790 may include: determining a corresponding multi-factor hash value to be authenticated according to part or all of the multi-factor key to be authenticated, and determining an identity authentication result of the object to be authenticated according to the multi-factor hash value to be authenticated.
  • the multi-factor hash value to be authenticated if there is a second hash value of the bottom library that matches the multi-factor hash value to be authenticated in the second hash value of the bottom library, then the multi-factor hash value to be authenticated
  • the verification result of the corresponding multi-factor key to be authenticated is verification passed;
  • the second hash value of the bottom library is the second hash value corresponding to the first auxiliary data contained in the auxiliary data of the bottom library; the second hash value included in the registration information.
  • the step of judging whether there is a matching second hash value of the bottom database can be performed by the terminal or the server.
  • determining the corresponding multi-factor hash value to be authenticated according to all multi-factor keys to be authenticated refers to calculating its hash value for each multi-factor key to be authenticated;
  • the corresponding multi-factor hash value to be authenticated means that only the hash values of part of the multi-factor key to be authenticated are calculated. For example, a preliminary verification is performed on the multi-factor key to be authenticated to obtain a multi-factor key to be authenticated that passes the preliminary verification, and a hash value of the multi-factor key to be authenticated that passes the preliminary verification is calculated.
  • step 730 includes:
  • S800 Send the biometric template to be authenticated or the quantized value to be authenticated to the server through a secure channel; wherein the quantized value to be authenticated is obtained by quantifying the biometric template to be authenticated; if the biometric template to be authenticated is sent to the server, the server will Quantification is performed according to the biometric template to be authenticated to obtain a quantified value to be authenticated.
  • the identity authentication result may include authentication success or failure.
  • S750 is executed (S750 is not executed when the terminal sends the quantized value to be authenticated to the server through the secure channel), S760 and S770, for the multi-factor scheme, after the server receives the biometric template to be authenticated or the quantized value to be authenticated sent by the terminal, S750 is executed (S750 is not executed when the terminal sends the quantized value to be authenticated to the server through the secure channel), S760, S780 and S790.
  • establishing a secure channel between the terminal and the server may be establishing a secure channel between the terminal equipment TEE and the server TEE.
  • the identification of the identity authentication result of the object to be authenticated is usually faster on the server than on the terminal device, based on the biometric template to be authenticated or the quantified value to be authenticated and the auxiliary data in the base database.
  • the biometric template to be authenticated or the quantitative value to be authenticated needs to be transmitted.
  • the authentication method 700 further includes: acquiring a user ID corresponding to the matching hash value; wherein, when the key to be authenticated is verified and the identity authentication result of the object to be authenticated is determined, the matching hash value
  • the verification result is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification, or, when the multi-factor key to be authenticated is verified and the identity authentication result of the object to be authenticated is determined, the hash value is matched is the multi-factor hash value to be authenticated corresponding to the multi-factor key to be authenticated whose verification result is passed.
  • the terminal may determine the matching hash value, and the terminal may determine the user ID according to the matching hash value; the server may also determine the matching hash value, the server may determine the user ID according to the matching hash value, and the terminal receives the user ID; it may also be determined by the terminal Matching the hash value, the server determines the user ID according to the matching hash value, and the terminal receives the user ID.
  • the user ID of the object to be registered is associated with the first hash value or the second hash value corresponding to the object to be registered, and the user ID can be determined according to the matching hash value by querying the second data table conduct.
  • Steps S750 and S760 executed by the terminal or the server will be specifically described below.
  • the biometric template to be authenticated in S720 includes a plurality of biometric representations corresponding to the second feature points; correspondingly, S750 is analogous to the step of performing quantification according to the first biometric template in step S430 to obtain a quantified value.
  • the biometric representation in the registration stage contains precise descriptors
  • the authentication stage also needs to determine the precise descriptors to be authenticated in the same manner.
  • the precise descriptor to be authenticated needs to be correspondingly used in the same manner in step S750.
  • the precise descriptor is used in S1091 and/or S1092 in step S430, the precise descriptor to be authenticated is used in S7501 and/or S7502 in step S750.
  • Step S7501 quantifying according to the biometric template to be authenticated includes: quantifying the biometric data and the precise descriptor included in the biometric template to be authenticated in the same manner as S1091.
  • Step S7502 obtaining the quantized value to be authenticated, includes: performing the third transformation process on the quantized result of step S7501, which is the same as step S1092, to obtain the quantized value to be authenticated, the third transformation process is determined according to the accurate descriptor to be authenticated; the third The transformation is handled as reversible or irreversible transformation;
  • the quantization value X ⁇ d (T), where T is the quantization result obtained in step S7501, and ⁇ d is the third transformation process determined according to the accurate descriptor to be authenticated.
  • the quantization result obtained in S1091 is T(t1, t2,...tn)
  • the precise descriptor corresponding to the feature point corresponding to each quantization result is D(d1, d2,...dn)
  • the decoding operation corresponding to the encoding operation includes an error correction code decoding operation.
  • the decoding operation of the error correction code needs to correspond to the encoding operation of the error correction code during encoding, which may be BCH decoding or RS decoding.
  • the error correction code word is used in step S430, so the corrected value determined in step S430 can be restored by decoding the error correction code according to the quantized value to be authenticated that is close enough to the quantized value corresponding to the first biometric template and the first auxiliary data.
  • Error code word and then decoded according to the error correction code code word to obtain the key corresponding to the first auxiliary data, or, according to the quantitative value to be authenticated that is close enough to the quantization value corresponding to the first biometric template and the first auxiliary data through
  • the error correction code is decoded to recover the error correction code word determined in step S430, and then the quantization value corresponding to the first biometric template is determined according to the error correction code word, and then the key corresponding to the first auxiliary data is obtained according to the quantization value .
  • the key to be authenticated determined with the first auxiliary data is equal to the key corresponding to the first auxiliary data.
  • the first auxiliary data is not the first auxiliary data included in the registration information determined by the object to be authenticated at the registration stage, the key to be authenticated or the determined key to be authenticated cannot be determined according to the quantized value to be authenticated and the first auxiliary data.
  • the authentication key is inconsistent with the key corresponding to the first auxiliary data. It can be understood that the failure to determine the key to be authenticated means that the key to be authenticated cannot be determined within polynomial time.
  • the following example illustrates how to perform the decoding operation corresponding to the encoding operation.
  • step S760 can be implemented as,
  • the query point set includes a plurality of query points; the first coordinate component of the query point is determined according to the quantitative value to be authenticated.
  • each first auxiliary data in the at least one first auxiliary data can be used as the current first auxiliary data in turn, or at least one first auxiliary data can be filtered, and the filtered first auxiliary data can be Each first auxiliary data is sequentially used as the current first auxiliary data.
  • the first coordinate component of the query point is the quantified value to be authenticated; for example, the quantized value X'(x1',x2',..xn') to be authenticated, then the first coordinate component of each query point in the query point set They are x1', x2',...xn' respectively.
  • the first coordinate component of the query point is the first transformation of the fourth transformation process on the quantized value to be authenticated obtained by the inverse transformation of the components. It can be expressed as ⁇ d x-1 (X'), where ⁇ d x represents the first transformation component used to obtain the first coordinate component of the first auxiliary point in the fourth transformation process. It can be understood that the exact descriptor to be authenticated is used in the inverse transformation.
  • the points in the first auxiliary point set are obtained directly from the first point, then according to the query point set, use a decoding algorithm to restore the key to be authenticated corresponding to the current auxiliary data.
  • the points in the first auxiliary point set are obtained by performing the fourth transformation process on the first point
  • the query curve point set is obtained according to the query point set (the second coordinate of the query point in the query point set
  • the inverse transformation of the second transformation component of the fourth transformation process is performed on the component, wherein the inverse transformation uses the accurate descriptor to be authenticated)
  • the decoding algorithm is used to restore the key to be authenticated corresponding to the current auxiliary data.
  • the decoding algorithm is, for example, an algorithm that restores polynomials using Lagrangian interpolation.
  • the key to be authenticated corresponding to the current auxiliary data is consistent with the key corresponding to the first auxiliary data.
  • step S760 can be implemented as,
  • the query point set includes multiple query points; the first coordinate component of the query point is determined according to the quantitative value to be authenticated, the second coordinate component of the query point and the first coordinate component of the query point satisfy the current first auxiliary data corresponding to Mapping relations;
  • each first auxiliary data in the at least one first auxiliary data can be used as the current first auxiliary data in turn, or at least one first auxiliary data can be filtered, and the filtered first auxiliary data can be Each first auxiliary data is sequentially used as the current first auxiliary data.
  • the first coordinate component of the query point is the quantified value to be authenticated; for example, the quantized value X'(x1',x2',..xn') to be authenticated, then the first coordinate component of each query point in the query point set They are x1', x2',...xn' respectively.
  • the current first auxiliary data records the parameter values of the first algebraic curve, and the second coordinate component of the query point can be determined according to the first coordinate component of the query point.
  • the first coordinate component of the query point is obtained by performing an inverse transformation of ⁇ d x on the quantized value to be authenticated. It can be expressed as ⁇ d x-1 (X'), where ⁇ d x is ⁇ d x used when determining the first mapping relationship in Embodiment 2.2. It can be understood that the exact descriptor to be authenticated is used in the inverse transformation.
  • the decoding algorithm is, for example, an algorithm that restores polynomials using Lagrangian interpolation.
  • the key to be authenticated corresponding to the current auxiliary data is consistent with the key corresponding to the first auxiliary data.
  • the error correction code codeword is first determined according to the auxiliary data through error correction code decoding (RS decoding), and then the key to be authenticated is determined according to the error correction code codeword by using Lagrangian interpolation.
  • RS decoding error correction code decoding
  • step S760 may be implemented as,
  • the replacement operation in step S7605 is in the same form as the replacement operation in step S1205, the replacement operation in step S1205 is determined according to the biological vector corresponding to the quantized value, and the replacement operation in step S7605 is determined according to the to-be-authenticated quantitative value corresponding to The authentication bio-vector is determined. It can be understood that the step of determining the permutation operation in step S7605 according to the biological vector to be authenticated corresponding to the quantified value to be authenticated may not be used in the actual execution process, and the inverse operation of the permutation operation can be directly determined.
  • step S1205 includes S1205b, preprocessing is performed on the current first auxiliary data, and the preprocessing includes the inverse operation ⁇ d -1 (H) or ⁇ d -1 (X' , H). It can be understood that the exact descriptor to be authenticated is used in the inverse operation.
  • step S760 may be implemented as,
  • step S7607 is the same as S7605. It can be understood that the replacement operation in step S7607 is in the same form as the replacement operation in step S1401.
  • the replacement operation in step S1401 is determined according to the biological vector corresponding to the quantized value.
  • the biological vector to be authenticated corresponding to the quantitative value is determined. It can be understood that, in the actual execution process, there may be no step of determining the permutation operation in step S7607 according to the biological vector to be authenticated corresponding to the quantified value to be authenticated, and the inverse operation of the permutation operation can be directly determined.
  • the preprocessing includes performing the inverse operation ⁇ d -1 (H) or ⁇ of the sixth transformation processing on the current first auxiliary data.
  • d -1 (X',H) ⁇ of the sixth transformation processing
  • the key to be authenticated corresponding to the current first auxiliary data is generated according to the quantized value and the random quantity parsed from the current first auxiliary data.
  • step S760 may be implemented as,
  • each first auxiliary data in the at least one first auxiliary data can be used as the current first auxiliary data in turn, or at least one first auxiliary data can be filtered, and the filtered first auxiliary data can be Each first auxiliary data is sequentially used as the current first auxiliary data.
  • the preprocessing includes performing the inverse operation ⁇ d -1 (H) or ⁇ of the sixth transformation process on the current first auxiliary data d -1 (X',H). It can be understood that the exact descriptor to be authenticated is used in the inverse operation.
  • the key to be authenticated corresponding to the current first auxiliary data is generated according to the quantized value and the random quantity parsed from the current first auxiliary data.
  • step S730 corresponding to the first implementation manner in step S430 will be described below.
  • step S730 includes:
  • the authentication key is input by the object to be authenticated at the authentication stage or determined according to the input of the object to be authenticated at the authentication stage.
  • the authentication key is generated by performing one or more processes of format conversion, digit padding, and verification information addition on the input of the object to be authenticated. It can be understood that the authentication key is obtained through the same process as the key corresponding to the first auxiliary data in the first implementation manner of the registration phase.
  • the encoding operation is the feature conversion in the same form as in step S100, except that the feature conversion in this embodiment is determined according to the authentication key.
  • F is the feature conversion function
  • k is the key corresponding to the first auxiliary data
  • k' is the authentication key obtained in the authentication stage
  • X and X' are the biometric templates in the registration stage and the authentication stage, respectively
  • H and H' are the auxiliary data in the registration phase and the authentication phase, respectively
  • the auxiliary data in the authentication phase are the auxiliary data to be authenticated.
  • the auxiliary data to be authenticated and the auxiliary data of the bottom database are both on the same body, they can be compared on the body to obtain a comparison result. Otherwise, it is necessary to send the auxiliary data to be authenticated or the auxiliary data of the bottom database to the same subject, and then compare it on the subject to obtain the comparison result.
  • the auxiliary data to be authenticated is generated by the terminal, and the auxiliary data of the base database is located in the server.
  • the terminal can send the auxiliary data to be authenticated to the server for comparison; or the server can send the auxiliary data of the base library to the terminal for comparison.
  • the identity authentication result of the object to be authenticated can be determined according to the comparison result of the auxiliary data to be authenticated and the auxiliary data in the bottom database.
  • S700 also includes:
  • the second biometric area determine the second index feature; the second index feature and the first index feature are extracted by the same feature extraction method; the bottom library auxiliary data is corresponding to the first index data whose second index feature satisfies the distance condition The first auxiliary data of .
  • the second index feature can be extracted in the authentication stage, and the first auxiliary data can be screened out by using the second index feature as the bottom database auxiliary data: the corresponding first index feature and the second index feature Indexed features satisfy the distance condition.
  • the distance condition is, for example, that the distance is less than a distance threshold and/or the distance is the closest top N.
  • the step of screening the auxiliary data of the bottom library can be performed on the terminal or the server. If it is performed on the server, the terminal may send the second index feature of the object to be authenticated to the server, and the server will perform screening.
  • the distance condition corresponding to the first index feature is determined according to the noise information corresponding to the first index feature in the registration information.
  • the first index feature in the registration information may be the first index feature with noise added, and at this time, the distance condition may be determined according to the degree of noise addition.
  • the embodiment of the present disclosure also provides an identity authentication device corresponding to the identity authentication method. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity authentication method, the For the implementation of the device, reference may be made to the descriptions in the embodiments of the above methods, and repeated descriptions will not be repeated.
  • An embodiment of the present disclosure provides a functional module of an identity authentication device.
  • Each module in the identity authentication device in this embodiment is used to execute each step in the above method embodiment.
  • the identity authentication device includes: a second acquisition module, a third determination module, and a third acquisition module; wherein,
  • the second acquisition module is configured to acquire an image to be authenticated of the object to be authenticated, the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
  • the third determining module is used to determine the biometric template to be authenticated in the second biometric region according to the second biometric region;
  • the third acquisition module is used to acquire the identity authentication result of the object to be authenticated, and the identity authentication result is determined according to the biometric template to be authenticated and the auxiliary data in the base database.
  • the base database auxiliary data includes at least one first auxiliary data; the first auxiliary data is included in the registration information, and the registration information is determined through the identity registration method provided in the fourth embodiment.
  • the embodiment of the present disclosure also provides an identity registration method.
  • the method in this embodiment is similar to the identity registration method provided in Embodiment 4, the difference is that the method provided in Embodiment 4 is based on the identity registration method provided by the terminal device side, and this embodiment is based on the identity registration method provided by the server side.
  • the identity registration method The specific flow of the identity registration method of this embodiment will be described in detail below.
  • the above registration information may be determined through the identity registration method provided in Embodiment 4. Store registration information in the database.
  • the registration information includes first assistance data.
  • the registration information can also include hash value, hash parameter, check value, first index feature, noise information added in the first index feature, restriction factor, user identification, etc., and the registration information can include the first data table and the second For the data table, see the description of Embodiment 4 for related descriptions, and details will not be repeated here.
  • this embodiment also includes the following steps:
  • the server can also Add data records for obfuscation in the database. If the registration information includes the first auxiliary data, execute S850, and if the registration information includes the first index feature and the first auxiliary data, execute S860.
  • the simulation auxiliary data is generated by one of the following methods:
  • the simulation image includes a simulated biometric region, determining a simulated biometric template for the simulated characteristic region according to the simulated biometric region, and determining simulation auxiliary data according to the simulated biometric template;
  • Mode b generating a simulated biometric template, and determining simulation auxiliary data according to the simulated biometric template
  • Mode c directly generate simulation auxiliary data.
  • a Generative Adversarial Network can be used to generate a simulated image or a simulated biometric template; wherein, the generative confrontation network that can be used includes: GAN, styleGAN, styleGAN2, WGAN (Wasserstein GAN ), WGAN-GP (Wasserstein GAN-gradient penalty) and Auxiliary Classifier Generative Adversarial Network (AC-GAN), etc.
  • method c can be adopted. For example, it can be randomly generated.
  • the simulation auxiliary data is used for decoding in the authentication stage or comparison of auxiliary data. Even if it is randomly generated, it will not affect its function as a confusing record.
  • Simulation index features can be generated by way d and way e.
  • Mode d directly generate simulation index features.
  • a Generative Adversarial Network GAN
  • GAN Generative Adversarial Network
  • Mode e performing feature extraction on the simulated biometric feature area of the simulated image to obtain simulated index features.
  • an identity registration device corresponding to the identity registration method is also provided in the embodiment of the present disclosure. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity registration method, the method in this embodiment For the implementation of the device, reference may be made to the descriptions in the embodiments of the above methods, and repeated descriptions will not be repeated.
  • An embodiment of the present disclosure provides a functional module of an identity registration device.
  • Each module in the identity registration device in this embodiment is used to execute each step in the above method embodiment.
  • the identity registration device includes: a receiving module and a second storage module; wherein,
  • the receiving module is used to receive the registration information sent by the terminal device, the registration information is determined by the above identity registration method; the second storage module is used to store the registration information in the database, the registration information includes the first auxiliary data.
  • the embodiment of the present disclosure also provides an identity authentication method.
  • the identity authentication method provided in this embodiment is similar to the identity authentication method provided in Embodiment 6, the difference is that the identity authentication method provided in Embodiment 6 is based on the identity authentication method provided by the terminal device, and the identity authentication method provided in this embodiment
  • the method is a server-based authentication method. The specific flow of the identity authentication method in this embodiment will be described in detail below.
  • Step 910 receiving an authentication request sent by the terminal device.
  • Step 920 according to the authentication request, determine the bottom library auxiliary data from the registration information.
  • the base library auxiliary data includes at least one first auxiliary data.
  • the step of determining base bank auxiliary data from the registration information is usually performed by the server.
  • the bottom database auxiliary data may be all first auxiliary data in the stored registration information, or the first auxiliary data after preliminary screening. For example, based on user ID, device ID, registration time, authentication time, authentication location, low-discrimination features extracted from images to be authenticated, low-discrimination features extracted from biometric templates to be authenticated, and quantitative values to be authenticated Restricting factors such as low-discriminatory features in the medium screen out the auxiliary data of the bottom library from the full amount of the first auxiliary data.
  • the base library auxiliary data may be the first auxiliary data uniquely determined according to user identification, device identification, and the like. It can be understood that the information used to determine the base library auxiliary data from the registration information can be sent by the terminal device to the server, and it can be included in the authentication request, or can be sent independently of the authentication request.
  • the above-mentioned registration information is the registration information stored in the database through the above-mentioned identity registration method.
  • the identity authentication method provided in this embodiment may authenticate the biometric template to be authenticated based on the determined base database auxiliary data. Specifically, the authentication can be performed on the server, or the auxiliary data of the bottom database can be sent to the terminal device, and the terminal device or the terminal device and the server cooperate to perform the authentication.
  • step S109, S110-S120 or third implementation step S129, S130-S150
  • the steps of quantizing, decoding, verifying the key, and determining the user identification can be executed on terminal or server.
  • the terminal sends a biometric template instead of a quantized value
  • the server performs quantization.
  • the base library auxiliary data is stored in the terminal or sent to the terminal by the server, it will be decoded by the terminal, otherwise it will be decoded by the server.
  • the hash value, hash parameters, and verification values required for verifying the key are located on the server, the verification is performed by the server; otherwise, the verification of the corresponding steps is performed by the terminal.
  • the server will determine the user ID. For specific steps, refer to the description of Embodiment 6, and details are not repeated here.
  • the steps of determining the auxiliary data to be authenticated and comparing the auxiliary data to be authenticated with the auxiliary data in the bottom database can be executed by the terminal or the server.
  • the auxiliary data to be authenticated is determined by the terminal in consideration of security issues. If determined by the server, the terminal needs to send the biometric template to be authenticated and the authentication key to the server, and the server will perform encoding operations to obtain auxiliary data to be authenticated. For specific steps, refer to the description of Embodiment 6, and details are not repeated here.
  • the embodiment of the present disclosure provides a specific registration method, including:
  • the terminal device obtains an image to be processed of an object to be registered, where the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
  • the terminal device determines a first biometric template of the first biometric region according to the first biometric region, where the first biometric template includes biometric representations corresponding to a plurality of first characteristic points;
  • the terminal device converts the format of the user input and adds redundant bits as verification information to generate a key corresponding to the first auxiliary data;
  • the terminal device performs an encoding operation according to the first biometric template and a key corresponding to the first auxiliary data to obtain the first auxiliary data; wherein, the encoding operation includes irreversible transformation;
  • the terminal device determines a first hash parameter, and performs a hash operation according to the key corresponding to the first auxiliary data and the first hash parameter, to obtain a first hash value;
  • the terminal device obtains at least one of the performance information of the terminal device, the network information between the terminal device and the server, and the expected security level;
  • the terminal device determines the noise information according to at least one of the performance information of the terminal device, the network information between the terminal device and the server, and the expected security level;
  • the terminal device performs feature extraction on the first biometric feature area to obtain a first index feature, and adds noise data of noise intensity contained in the noise information to the first index feature to obtain the first index feature with noise added; the first index the distinctiveness of the feature is lower than that of the first biometric template;
  • the terminal device sends the noise-added first index feature, first auxiliary data, first hash parameter, and first hash value to the server;
  • the terminal device sends the noise information and the user identification specified by the user to the server;
  • the server receives the noise-added first index feature, first auxiliary data, first hash parameter, first hash value, noise information, and user identifier;
  • the server associates and stores the noise-added first index feature, first auxiliary data, first hash parameter, and noise information;
  • the server associates and stores the user identifier and the first hash value.
  • the embodiment of the present disclosure provides a specific identity authentication method, including:
  • the terminal device acquires an image to be authenticated of an object to be authenticated, where the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
  • the terminal device determines a second index feature according to the second biometric area; the second index feature and the first index feature are extracted by the same feature extraction method;
  • the terminal device determines a biometric template to be authenticated in the second biometric region according to the second biometric region;
  • the terminal device sends the second index feature to the server
  • the terminal device sends the biometric template to be authenticated to the server through a secure channel
  • the server searches the database for a plurality of first index features whose distance from the second index feature satisfies the distance condition according to the second index feature;
  • the server queries the database for a plurality of first auxiliary data corresponding to a plurality of first index features one-to-one, and obtains the bottom database auxiliary data;
  • the server performs a decoding operation according to the biometric template to be authenticated and the auxiliary data of the bottom database, and obtains at least one key to be authenticated;
  • the server performs preliminary verification on at least one key to be authenticated, and obtains a key to be authenticated that passes the preliminary verification;
  • the server determines the hash value to be authenticated corresponding to the key to be authenticated that passes the preliminary verification according to the first hash parameter corresponding to the first auxiliary data corresponding to the key to be authenticated that passes the preliminary verification;
  • the server compares each hash value to be authenticated with the first hash value of the bottom library, and determines the first hash value of the bottom library that matches the hash value to be authenticated; if there is a hash value to be authenticated If it matches the first hash value of the bottom library, the key to be authenticated corresponding to the hash value to be authenticated is verified as passing;
  • the server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
  • the server sends an identity authentication result to the terminal device through a secure channel, and the identity authentication result includes authentication success, a key to be authenticated and a user ID that pass the verification;
  • the terminal device receives an identity authentication result.
  • S500-S503, S505-S506, also include,
  • the server sends the bottom library auxiliary data and the first hash parameter corresponding to the first auxiliary data included in the bottom library auxiliary data to the terminal device;
  • the terminal device performs a decoding operation according to the biometric template to be authenticated and the received bottom database auxiliary data, to obtain at least one key to be authenticated;
  • the terminal device performs preliminary verification on at least one key to be authenticated, and obtains a key to be authenticated that passes the preliminary verification;
  • the terminal device determines the hash value to be authenticated corresponding to the key to be authenticated that passes the preliminary verification according to the first hash parameter corresponding to the first auxiliary data corresponding to the key to be authenticated that passes the preliminary verification;
  • the terminal device sends the hash value to be authenticated to the server
  • the server compares each received hash value to be authenticated with the first hash value of the bottom library, and determines the first hash value of the bottom library that matches the hash value to be authenticated; value, if there is a matching first hash value of the bottom library, then the key to be authenticated corresponding to the hash value to be authenticated is verified as passing;
  • the server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
  • the server sends an identity authentication result to the terminal device, where the identity authentication result includes authentication success, matching hash value, and user identifier;
  • the terminal device receives the identity authentication result, and determines the key to be authenticated that passes the verification according to the matching hash value in the identity authentication result.
  • the embodiment of the present disclosure provides another specific identity authentication method, including:
  • S500-S503, S505-S506, also include,
  • the server sends the bottom library auxiliary data and the second hash parameter corresponding to the first auxiliary data included in the bottom library auxiliary data to the terminal device;
  • the terminal device performs a decoding operation according to the biometric template to be authenticated and the received bottom database auxiliary data, to obtain at least one key to be authenticated;
  • the terminal device performs preliminary verification on at least one key to be authenticated, and obtains a key to be authenticated that passes the preliminary verification;
  • the terminal device generates a multi-factor key to be authenticated according to the key to be authenticated and the second transformation key that have passed the preliminary verification; the second transformation key is determined according to the user password input by the object to be authenticated;
  • the terminal device performs preliminary verification on the multi-factor key to be authenticated, and obtains the multi-factor key to be authenticated that passes the preliminary verification;
  • the terminal determines the multi-factor hash value to be authenticated corresponding to the key to be authenticated that passes the preliminary verification according to the second hash parameter corresponding to the first auxiliary data corresponding to the multi-factor key to be authenticated that passes the preliminary verification;
  • the terminal device sends the multi-factor hash value to be authenticated to the server;
  • the server compares each received multi-factor hash value to be authenticated with the second hash value of the bottom library, and determines the second hash value of the bottom library that matches the multi-factor hash value to be authenticated; if for a For the multi-factor hash value to be authenticated, if there is a second hash value matching it, the multi-factor key to be authenticated corresponding to the multi-factor hash value to be authenticated has passed the verification;
  • the server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the multi-factor hash value to be authenticated corresponding to the multi-factor key to be authenticated that passes the verification;
  • the server sends an identity authentication result to the terminal device, where the identity authentication result includes authentication success, matching hash value, and user identifier;
  • the terminal device receives the identity authentication result, and determines the multi-factor key to be authenticated that passes the verification according to the matching hash value in the identity authentication result.
  • the embodiment of the present disclosure also provides another specific identity authentication method, including:
  • the server sends the first hash value of the base library to the terminal device
  • the terminal device compares each hash value to be authenticated with the received first hash value of the bottom library, and determines the first hash value of the bottom library that matches the hash value to be authenticated; Hash value, if there is a matching first hash value of the bottom library, the key to be authenticated corresponding to the hash value to be authenticated is verified as passing;
  • the terminal device sends a matching hash value to the server, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
  • the server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
  • the server sends the user identifier corresponding to the matching hash value to the terminal device;
  • the terminal device receives the user identifier corresponding to the matching hash value
  • the terminal device determines the identity authentication result: the identity authentication result includes: the authentication is successful, the verification key to be authenticated is successful, and the user ID.
  • the embodiment of the present disclosure also provides an identity authentication device corresponding to the identity authentication method. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity authentication method, in this embodiment For the implementation of the device, reference may be made to the description in the embodiments of the above method, and repeated descriptions will not be repeated.
  • the identity authentication device includes: a second receiving module and a bottom database auxiliary data determination module; wherein,
  • the second receiving module is configured to receive the authentication request sent by the terminal device
  • the bottom library auxiliary data determining module is configured to determine the bottom library auxiliary data from the registration information according to the authentication request; wherein the bottom library auxiliary data includes at least one first auxiliary data.
  • the embodiment of the present disclosure also provides a method for using a key, and the specific flow of the method will be described in detail below.
  • Step 1010 use the identity authentication method to authenticate the identity of the object to be authenticated.
  • step 1020 is executed.
  • the identity authentication method used in this embodiment may be similar to the identity authentication method provided in Embodiment 6 or Embodiment 10 above.
  • step 1010 please refer to the description in Embodiment 6 or Embodiment 10. This will not be repeated here.
  • the identity authentication method in step S1010 needs to be a method capable of determining the key to be authenticated or the multi-factor key to be authenticated during the authentication process, that is, the identity authentication result is obtained by verifying the key to be authenticated Or determined by the multi-factor key to be authenticated.
  • the generation and verification of the key to be authenticated or the multi-factor key to be authenticated can be performed on the terminal and/or the server.
  • the server needs to send the key to be authenticated that has passed the verification or the multifactor key to be authenticated that has passed the verification Send it to the terminal device, so that the terminal device uses the verified key to perform subsequent application processing.
  • the key transmission between the server and the terminal device is carried out through a secure channel between the two TEEs.
  • the verified key may be included in the identity authentication result and sent by the server to the terminal device.
  • Step 1020 use the verified key determined by the above identity authentication method to perform one or more processes in digital signature, message encryption, message decryption, application login, and digital wallet management.
  • the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
  • the identity authentication method used in step S1010 performs identity authentication by verifying the key to be authenticated or the multi-factor key to be authenticated. Therefore, when the identity authentication is passed, a key to be authenticated that passes the verification must be determined. Or the multi-factor key to be authenticated that passes the verification.
  • the key that passes the verification includes the key to be authenticated that passes the verification; if the multi-factor key to be authenticated is used for verification in the authentication stage, the key that passes the verification may include The multi-factor key to be authenticated that passes the verification may also include the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
  • the key used in the registration stage can be restored according to the biological characteristics and auxiliary information that are close enough to the registration stage, so that the restored key can be used for digital signature, message encryption, message decryption, One or more of application login, digital wallet management.
  • An embodiment of the present disclosure provides a digital signature method. The specific flow of the method will be described in detail below.
  • Step 1110 determine the registration information through the identity registration method.
  • the registration information includes the first auxiliary data.
  • the identity registration method used in this embodiment can be similar to the identity registration method provided in the fourth embodiment above.
  • the registration method in step S1110 needs to be the second and third methods in step S430, that is, the authentication method corresponding to the registration method is to generate and verify the key to be authenticated or the multi-factor password to be authenticated key for identity authentication.
  • Step 1120 generating a first public key corresponding to the first private key.
  • the first private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data.
  • the key corresponding to the first auxiliary data involved in the registration phase or the first multi-factor key may be used as the first private key, and the first public key may be generated based on the first private key.
  • a key pair consisting of the first private key and the first public key can be generated, and the first private key can be used as the key corresponding to the first auxiliary data, or the first multi-factor can be generated based on the key corresponding to the first auxiliary data. key.
  • step S1120 may be performed prior to step S1110.
  • Step 1130 send the first public key to the sign verifier, so that the sign verifier can use the first public key to verify the digital signature generated using the first private key.
  • An embodiment of the present disclosure provides a digital signature method. The specific flow of the method will be described in detail below.
  • Step 1210 use the identity authentication method to authenticate the identity of the object to be authenticated.
  • step 1220 is performed.
  • step S1210 For the description of step S1210, refer to step S1010.
  • Step 1220 use the verified key determined by the identity authentication method to sign the information to be signed to obtain signed data with a digital signature.
  • the hash value of the information to be signed can be asymmetrically encrypted by using the key that passes the verification to obtain a digital signature, and the digital signature and the information to be signed can be used as signature data.
  • Step 1230 send the signature data to the signature verification party, so that the signature verification party can use the public key corresponding to the key that passes the verification to verify the digital signature of the signature data.
  • the sign verifier before receiving the signed data, the sign verifier has received at least one public key. At least one public key is sent to the signature verification party through the method of Embodiment 13. The signature verifier can determine which public key to use to verify the digital signature according to the information contained in or attached to the signature data.
  • the signature verification party can calculate the hash value of the data to be signed in the signature data, and compare the hash value with the result obtained by decrypting the digital signature with the public key. pass.
  • the public key here refers to the public key used for signature verification determined by the signature verification party based on the information contained in or attached to the signature data.
  • the public key corresponding to the verified key is sent to the signature verification party through the method of Embodiment 13;
  • the verified key includes the verified key to be authenticated, the verified multi-factor key or the key to be authenticated used to generate the multifactor key to be authenticated that passes the verification.
  • the verified key includes the verified key to be authenticated, the verified multi-factor key or the key to be authenticated used to generate the multifactor key to be authenticated that passes the verification.
  • An embodiment of the present disclosure provides a method for decrypting a message. The specific flow of the method will be described in detail below.
  • step S1110 For the specific description of this step, refer to step S1110.
  • Step 1420 generating a second public key corresponding to the second private key; wherein, the second private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data.
  • Step 1430 send the second public key to the message encryption party.
  • An embodiment of the present disclosure provides a method for decrypting a message. The specific flow of the method will be described in detail below.
  • Step 1510 receive the data to be decrypted sent by the message encryption party.
  • Step 1520 use the identity authentication method to authenticate the identity of the object to be authenticated.
  • step 1530 is executed.
  • Step 1530 decrypt the data to be decrypted by using the verified key determined by the above identity authentication method to obtain the decrypted data.
  • the public key corresponding to the verified key is sent to the message encryption party according to the method provided in Embodiment 15;
  • the verified key includes the verified key to be authenticated, the verified multi-factor The key or the key to be authenticated used to generate the multi-factor key to be authenticated that has passed the verification;
  • the data to be decrypted is encrypted with the public key corresponding to the key that has passed the verification.
  • An embodiment of the present disclosure provides an application login method. The specific flow of the method will be described in detail below.
  • Step 1610 use the identity authentication method to authenticate the identity of the object to be authenticated.
  • step 1620 is executed.
  • Step 1620 log in the target application program with the verified key determined by the above-mentioned identity authentication method; or log in the target application program with the verified key and user ID determined by the above-mentioned identity authentication method.
  • the verified key can be determined through the identity authentication method. If the verified key is globally unique in the target application program, for example, it is a sufficiently long and random character string, it can be Only authenticated keys are used to log into the target application. If the identity authentication method determines the user ID, the user ID and the verified key can also be used to log in to the target application program.
  • S1620 includes: performing a hash operation according to the verified key (the salt value/round number of the hash operation can be selected), and sending the hash operation result to the application server to log in the target application , or send the hash result and user ID to the application server to log into the target application.
  • the verified key the salt value/round number of the hash operation can be selected
  • the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
  • An embodiment of the present disclosure provides a method for synchronizing blockchain node information.
  • the blockchain node information synchronization method provided in this embodiment is applied to the current blockchain node on the blockchain, and the blockchain includes multiple blockchain nodes. The specific process of the method will be described in detail below.
  • Step 1710 determine the registration information through the identity registration method.
  • the registration information includes first auxiliary data
  • Step 1720 generate a third public key corresponding to the third private key; wherein, the third private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data.
  • Step 1730 broadcast the third public key to other blockchain nodes on the blockchain.
  • any node in the blockchain system can verify the transaction data generated on the blockchain nodes.
  • An embodiment of the present disclosure provides a method for synchronizing blockchain node information.
  • the blockchain node information synchronization method provided in this embodiment is applied to the current blockchain node on the blockchain, and the blockchain includes multiple blockchain nodes. The specific process of the method will be described in detail below.
  • Step 1730 use the identity authentication method to authenticate the identity of the object to be authenticated.
  • step 1740 is executed.
  • Step 1740 use the verified key determined by the identity authentication method to sign the transaction information, and obtain transaction data with a digital signature
  • Step 1750 broadcasting the transaction data to other blockchain nodes on the blockchain, so that other blockchain nodes can use the public key corresponding to the verified key to verify the digital signature of the transaction data;
  • the public key corresponding to the verified key is sent to the verification party through the method of Embodiment 18;
  • the verified key includes the verified key to be authenticated, the verified multi-factor key or the key to be authenticated used to generate the multifactor key to be authenticated that passes the verification.
  • embodiments of the present disclosure also provide devices corresponding to the methods in embodiments 12 to 19.
  • devices corresponding to the methods in embodiments 12 to 19. For specific device embodiments, refer to the description of the summary of the invention and the method corresponding to the devices.
  • the keys in each embodiment of the present disclosure are generated (such as generated by the system, such as generated by decoding operations), used (such as hash calculation, transformation processing) in the process of device TEE (including terminal equipment) TEE and server TEE), the transmission of the key is carried out between the TEEs of the device through the secure channel between the devices.
  • an embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored, and the computer program executes the steps in the foregoing method embodiments when the computer program is run by a processor.
  • the computer program products of the various methods provided by the embodiments of the present disclosure include a computer-readable storage medium storing program codes.
  • the instructions included in the program codes can be used to execute the steps in the above-mentioned various method embodiments. For details, please refer to the above-mentioned method embodiments. , which will not be repeated here.
  • each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more executable instruction.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by a dedicated hardware-based system that performs the specified function or action , or may be implemented by a combination of dedicated hardware and computer instructions.
  • each functional module in each embodiment of the present disclosure may be integrated together to form an independent part, each module may exist independently, or two or more modules may be integrated to form an independent part.
  • the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present disclosure is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods in various embodiments of the present disclosure.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disc, etc., which can store program codes.
  • relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is a relationship between these entities or operations. There is no such actual relationship or order between them.
  • the term “comprises”, “comprises” or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus comprising a set of elements includes not only those elements, but also includes elements not expressly listed. other elements of or also include elements inherent in such a process, method, article, or device. Without further limitations, an element defined by the statement "comprising" does not exclude the presence of additional identical elements in the process, method, article or device that includes the element.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Collating Specific Patterns (AREA)

Abstract

The present disclosure provides a privacy protection based image processing method, an identity registration method, and an identity authentication method. The privacy protection based image processing method comprises: obtaining an image to be processed, said image comprising a first biometric area, and the first biometric area comprising a plurality of first feature points; determining a first biometric template of the first biometric area according to the first biometric area, the first biometric template comprising biometric representations corresponding to the plurality of first feature points; and performing coding operation on the first biometric template to obtain first auxiliary data. According to embodiments of the present disclosure, the irreversibility of a biometric method can be improved, and revocability and unlinkability are ensured, thereby implementing protection of user privacy.

Description

隐私保护的图像处理方法、身份注册方法及身份认证方法Image processing method, identity registration method, and identity authentication method for privacy protection
本申请要求于2021年10月21日递交的申请号为CN202111228163.1和CN202111229310.7的中国专利申请的优先权,在此全文引用上述中国专利申请公开的内容以作为本申请的一部分。This application claims the priority of the Chinese patent applications with application numbers CN202111228163.1 and CN202111229310.7 submitted on October 21, 2021. The content disclosed in the above-mentioned Chinese patent applications is hereby cited in its entirety as a part of this application.
技术领域technical field
本公开的实施例涉及一种隐私保护的图像处理方法、身份注册方法及身份认证方法。Embodiments of the present disclosure relate to a privacy-protected image processing method, an identity registration method, and an identity authentication method.
背景技术Background technique
生物识别是现代身份管理和访问控制系统的重要手段。由于个人与其生物特征之间存在牢固和永久的联系,将注册用户的生物特征暴露给攻击者可能会严重损害用户隐私。目前,很少生物识别方法有能在不显著降低识别性能的情况下保证生物特征识别系统所需的不可逆性、可撤销性和不可链接性。Biometrics are an important means of modern identity management and access control systems. Due to the strong and permanent link between an individual and their biometrics, exposing a registered user's biometrics to an attacker could seriously compromise user privacy. Currently, few biometric methods are capable of guaranteeing the irreversibility, revocability, and unlinkability required by biometric systems without significantly degrading recognition performance.
发明内容Contents of the invention
有鉴于此,本公开实施例的目的在于提供一种隐私保护的图像处理方法、身份注册方法及身份认证方法,能够提高生物特征识别方法的不可逆性,保证可撤销性和不可链接性,从而实现对用户隐私的保护。In view of this, the purpose of the embodiments of the present disclosure is to provide a privacy-protected image processing method, identity registration method, and identity authentication method, which can improve the irreversibility of the biometric identification method, ensure revocability and unlinkability, and thus realize Protection of user privacy.
第一方面,本公开实施例提供了一种隐私保护的图像处理方法,包括:In a first aspect, an embodiment of the present disclosure provides a privacy-protected image processing method, including:
获取待处理图像,待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点;Acquiring an image to be processed, where the image to be processed includes a first biological feature area, and the first biological feature area includes a plurality of first feature points;
根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板,第一生物特征模板包括多个第一特征点对应的生物特征表示;According to the first biometric area, determine a first biometric template of the first biometric area, where the first biometric template includes biometric representations corresponding to a plurality of first feature points;
对第一生物特征模板进行编码运算,得到第一辅助数据,包括以下一项:Perform encoding operation on the first biometric template to obtain the first auxiliary data, including the following items:
对第一生物特征模板进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥确定的;performing feature conversion on the first biometric template to obtain first auxiliary data; the feature conversion is determined according to a key corresponding to the first auxiliary data;
根据第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码字;对纠错码码字进行第一变换处理,得到第一辅助数据;其中,根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和量化值确定纠错码码字;和/或,对纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据量化值,对纠错码码字进行第一变换处理,得到第一辅助数据;第一变换处理为不可逆变换;Perform quantization according to the first biometric template to obtain a quantized value; determine an error correction code word according to a key corresponding to the first auxiliary data; perform a first conversion process on the error correction code word to obtain the first auxiliary data; wherein, according to The key corresponding to the first auxiliary data determines the error correction code word, including: determining the error correction code code word according to the key corresponding to the first auxiliary data and the quantization value; and/or performing a first transformation on the error correction code word Processing to obtain the first auxiliary data includes: performing a first transformation process on the error correction code word according to the quantization value to obtain the first auxiliary data; the first transformation process is an irreversible transformation;
根据第一生物特征模板进行量化,得到量化值;确定纠错码码字;对纠错码码字进行第二变换处理,得到第一辅助数据;根据量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据量化值对纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据量化值确定纠错码码字,对纠错码码字进行第二变换处理,得到第一辅助数据;第二变换处理为不可逆变换;Perform quantization according to the first biometric template to obtain a quantized value; determine an error-correcting code word; perform a second conversion process on the error-correcting code word to obtain first auxiliary data; generate a key corresponding to the first auxiliary data according to the quantized value ; Wherein, determine the error correction code word; carry out the second transformation process to the error correction code word, obtain the first auxiliary data, including: randomly determine the error correction code word; Transform processing to obtain the first auxiliary data; or, determine the error correction code word according to the quantization value, and perform the second transformation processing on the error correction code code word to obtain the first auxiliary data; the second transformation processing is an irreversible transformation;
其中,编码运算包括不可逆变换。Wherein, the encoding operation includes an irreversible transformation.
第二方面,本公开实施例提供一种身份注册方法,包括:In a second aspect, an embodiment of the present disclosure provides an identity registration method, including:
通过上述的隐私保护的图像处理方法确定待注册对象的注册信息中的第一辅助数据。The first auxiliary data in the registration information of the object to be registered is determined through the above privacy-protected image processing method.
第三方面,本公开实施例提供一种身份认证方法,包括:In a third aspect, an embodiment of the present disclosure provides an identity authentication method, including:
获取待认证对象的待认证图像,待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点;Acquiring an image to be authenticated of the object to be authenticated, the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板;According to the second biometric area, determine the biometric template to be authenticated in the second biometric area;
获取待认证对象的身份认证结果,身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的;Obtain the identity authentication result of the object to be authenticated, and the identity authentication result is determined according to the biometric template to be authenticated and the auxiliary data of the bottom database;
其中,底库辅助数据包括至少一个第一辅助数据;第一辅助数据是通过上述的身份注册方法确定的。Wherein, the bottom database auxiliary data includes at least one first auxiliary data; the first auxiliary data is determined through the above-mentioned identity registration method.
第四方面,本公开实施例提供一种身份注册方法,包括:In a fourth aspect, an embodiment of the present disclosure provides an identity registration method, including:
接收终端设备发送的注册信息,注册信息是通过上述的身份注册方法确定的;Receive the registration information sent by the terminal device, the registration information is determined through the above-mentioned identity registration method;
将注册信息存储至数据库中。Store registration information in the database.
第五方面,本公开实施例提供一种身份认证方法,包括:In the fifth aspect, the embodiment of the present disclosure provides an identity authentication method, including:
接收终端设备发送的认证请求;根据认证请求,从通过上述身份注册方法存储至数据库中的注册信息中确定出底库辅助数据;其中,底库辅助数据包括至少一个第一辅助数据。An authentication request sent by the terminal device is received; according to the authentication request, the bottom database auxiliary data is determined from the registration information stored in the database through the above identity registration method; wherein the bottom database auxiliary data includes at least one first auxiliary data.
第六方面,本公开实施例提供一种密钥使用方法,包括:In a sixth aspect, an embodiment of the present disclosure provides a method for using a key, including:
使用上述第三方面的身份认证方法对待认证对象进行身份认证;Use the identity authentication method of the third aspect above to authenticate the object to be authenticated;
若待认证对象的身份认证成功,则使用第三方面的身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理;If the identity authentication of the object to be authenticated is successful, one or more of digital signature, message encryption, message decryption, application login, and digital wallet management will be performed using the verified key determined by the identity authentication method of the third aspect deal with;
其中,校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成校验通过的待认证多因子密钥所使用的待认证密钥。Wherein, the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
第七方面,本公开实施例提供一种数字签名方法,包括:In the seventh aspect, the embodiment of the present disclosure provides a digital signature method, including:
通过第二方面的注册方法,确定出注册信息;其中,注册信息包括第一辅助数据;第一辅助数据对应的密钥为第一私钥;第一私钥对应有第一公钥;第一私钥和第一公钥是在可信执行环境中生成的;Through the registration method of the second aspect, the registration information is determined; wherein, the registration information includes the first auxiliary data; the key corresponding to the first auxiliary data is the first private key; the first private key corresponds to the first public key; the first The private key and the first public key are generated in a trusted execution environment;
将第一公钥发送给验签方,以供验签方利用第一公钥对使用第一私钥生成的数字签名进行验签。The first public key is sent to the sign verifier, so that the sign verifier uses the first public key to verify the digital signature generated using the first private key.
第八方面,本公开实施例提供一种数字签名方法,包括:In an eighth aspect, an embodiment of the present disclosure provides a digital signature method, including:
使用第三方面的身份认证方法对待认证对象进行身份认证;Use the third-party identity authentication method to authenticate the object to be authenticated;
若待认证对象的身份认证成功,则使用第三方面的身份认证方法确定出的校验通过的第一待认证密钥对待签名信息进行签名,得到带有数字签名的签名数据;If the identity authentication of the object to be authenticated is successful, then use the first authenticated key determined by the identity authentication method of the third aspect to sign the information to be signed to obtain signed data with a digital signature;
将签名数据发送给验签方,以供验签方使用第一待认证密钥所对应的公钥对签名数据的数字签名进行验签;其中,第一待认证密钥所对应的公钥通过第五方面的方法发送给验签方。Send the signature data to the signature verification party, so that the signature verification party uses the public key corresponding to the first key to be certified to verify the digital signature of the signature data; wherein, the public key corresponding to the first key to be certified is passed The method in the fifth aspect is sent to the signature verification party.
第九方面,本公开实施例提供一种消息解密方法,包括:In a ninth aspect, an embodiment of the present disclosure provides a method for decrypting a message, including:
通过第二方面的身份注册方法,确定出注册信息;其中,注册信息包括第一辅助数据;第一辅助数据对应的密钥为第二私钥;第二私钥对应有第二公钥;第二私钥和第二公钥是在可信执行环境中生成的;Through the identity registration method of the second aspect, the registration information is determined; wherein, the registration information includes the first auxiliary data; the key corresponding to the first auxiliary data is the second private key; the second private key corresponds to the second public key; The second private key and the second public key are generated in a trusted execution environment;
将第二公钥发送给消息加密方。Send the second public key to the message encrypting party.
第十方面,本公开实施例提供一种消息解密方法,包括:In a tenth aspect, an embodiment of the present disclosure provides a method for decrypting a message, including:
接收消息加密方发送的待解密数据;Receive the data to be decrypted sent by the message encryption party;
使用第三方面的身份认证方法对待认证对象进行身份认证;Use the third-party identity authentication method to authenticate the object to be authenticated;
若待认证对象的身份认证成功,则使用第三方面的身份认证方法确定出的校验通过的第二待认证 密钥对待解密数据进行解密,得到解密数据;If the identity authentication of the object to be authenticated is successful, the second authentication key determined by the identity authentication method in the third aspect is used to decrypt the data to be decrypted to obtain the decrypted data;
其中,第二待认证密钥所对应的公钥通过上述的方法发送给消息加密方,待解密数据是用第二待认证密钥所对应的公钥进行加密的。Wherein, the public key corresponding to the second key to be authenticated is sent to the message encryption party through the above method, and the data to be decrypted is encrypted with the public key corresponding to the second key to be authenticated.
第十一方面,本公开实施例提供一种应用登录方法,包括:In an eleventh aspect, an embodiment of the present disclosure provides an application login method, including:
使用第三方面的身份认证方法对待认证对象进行身份认证;Use the third-party identity authentication method to authenticate the object to be authenticated;
若待认证对象的身份认证成功,则将使用第三方面的身份认证方法确定出的校验通过的第三待认证密钥发送至应用服务器,以登录目标应用程序;或,将使用上述的身份认证方法确定出的校验通过的第三待认证密钥和用户标识发送至应用服务器,以登录目标应用程序。If the identity authentication of the object to be authenticated is successful, the third to-be-authenticated key determined by the identity authentication method of the third aspect and passed the verification is sent to the application server to log in to the target application program; or, the above-mentioned identity will be used The third key to be authenticated and the user ID that pass the verification determined by the authentication method are sent to the application server to log into the target application program.
第十二方面,本公开实施例提供一种区块链节点信息同步方法,应用于区块链上的当前区块链节点,区块链上包括多个区块链节点,包括:In the twelfth aspect, the embodiment of the present disclosure provides a blockchain node information synchronization method, which is applied to the current blockchain node on the blockchain, and the blockchain includes multiple blockchain nodes, including:
通过第二方面的注册方法,确定出注册信息,注册信息包括第一辅助数据;第一辅助数据对应的密钥为第三私钥;第三私钥对应有第三公钥;第三私钥和第三公钥是在可信执行环境中生成的;Through the registration method of the second aspect, the registration information is determined, and the registration information includes the first auxiliary data; the key corresponding to the first auxiliary data is the third private key; the third private key corresponds to the third public key; the third private key and the third public key are generated in a trusted execution environment;
将第三公钥向区块链上的其他区块链节点广播。Broadcast the third public key to other blockchain nodes on the blockchain.
第十三方面,本公开实施例提供一种隐私保护的图像处理装置,包括:In a thirteenth aspect, an embodiment of the present disclosure provides a privacy-protected image processing device, including:
第一获取模块,用于获取待处理图像,待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点;The first acquisition module is configured to acquire an image to be processed, the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
第一确定模块,用于根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板,第一生物特征模板包括多个第一特征点对应的生物特征表示;The first determining module is configured to determine a first biometric template of the first biometric region according to the first biometric region, where the first biometric template includes biometric representations corresponding to a plurality of first feature points;
编码模块,用于对第一生物特征模板进行编码运算,得到第一辅助数据;An encoding module, configured to perform an encoding operation on the first biometric template to obtain first auxiliary data;
编码模块通过以下任意一种方式实现:Encoding modules are implemented in any of the following ways:
对第一生物特征模板进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥确定的;performing feature conversion on the first biometric template to obtain first auxiliary data; the feature conversion is determined according to a key corresponding to the first auxiliary data;
根据第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码字;对纠错码码字进行第一变换处理,得到第一辅助数据;其中,根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和量化值确定纠错码码字;和/或,对纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据量化值,对纠错码码字进行第一变换处理,得到第一辅助数据;第一变换处理为不可逆变换;Perform quantization according to the first biometric template to obtain a quantized value; determine an error correction code word according to a key corresponding to the first auxiliary data; perform a first conversion process on the error correction code word to obtain the first auxiliary data; wherein, according to The key corresponding to the first auxiliary data determines the error correction code word, including: determining the error correction code code word according to the key corresponding to the first auxiliary data and the quantization value; and/or performing a first transformation on the error correction code word Processing to obtain the first auxiliary data includes: performing a first transformation process on the error correction code word according to the quantization value to obtain the first auxiliary data; the first transformation process is an irreversible transformation;
根据第一生物特征模板进行量化,得到量化值;确定纠错码码字;对纠错码码字进行第二变换处理,得到第一辅助数据;根据量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据量化值对纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据量化值确定纠错码码字,对纠错码码字进行第二变换处理,得到第一辅助数据;第二变换处理为不可逆变换;Perform quantization according to the first biometric template to obtain a quantized value; determine an error-correcting code word; perform a second conversion process on the error-correcting code word to obtain first auxiliary data; generate a key corresponding to the first auxiliary data according to the quantized value ; Wherein, determine the error correction code word; carry out the second transformation process to the error correction code word, obtain the first auxiliary data, including: randomly determine the error correction code word; Transform processing to obtain the first auxiliary data; or, determine the error correction code word according to the quantization value, and perform the second transformation processing on the error correction code code word to obtain the first auxiliary data; the second transformation processing is an irreversible transformation;
其中,编码运算包括不可逆变换。Wherein, the encoding operation includes an irreversible transformation.
第十四方面,本公开实施例提供一种身份注册装置,包括:In a fourteenth aspect, an embodiment of the present disclosure provides an identity registration device, including:
第二确定模块,用于通过第一方面的方法确定待注册对象的注册信息中的第一辅助数据。The second determination module is configured to determine the first auxiliary data in the registration information of the object to be registered through the method of the first aspect.
第十五方面,本公开实施例提供一种身份认证装置,包括:In a fifteenth aspect, an embodiment of the present disclosure provides an identity authentication device, including:
第二获取模块,用于获取待认证对象的待认证图像,待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点;The second acquisition module is configured to acquire an image to be authenticated of the object to be authenticated, the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
第三确定模块,用于根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板,待 认证生物特征模板包括多个第二特征点对应的多个生物特征数据;The third determining module is used to determine the biometric template to be authenticated in the second biometric region according to the second biometric region, and the biometric template to be authenticated includes a plurality of biometric data corresponding to a plurality of second characteristic points;
第四确定模块,用于根据待认证生物特征模板和底库辅助数据,确定出待认证对象的身份认证结果;The fourth determining module is used to determine the identity authentication result of the object to be authenticated according to the biometric template to be authenticated and the auxiliary data of the bottom database;
其中,底库辅助数据包括至少一个第一辅助数据;第一辅助数据包括在注册信息中,注册信息是通过第二方面的注册方法确定的。Wherein, the base library auxiliary data includes at least one first auxiliary data; the first auxiliary data is included in the registration information, and the registration information is determined through the registration method of the second aspect.
第十六方面,本公开实施例提供一种身份注册装置,包括:In a sixteenth aspect, an embodiment of the present disclosure provides an identity registration device, including:
第一接收模块,用于接收终端设备发送的注册信息,注册信息是通过第二方面提供的身份注册方法确定的;The first receiving module is configured to receive registration information sent by the terminal device, where the registration information is determined through the identity registration method provided by the second aspect;
第二存储模块,用于将注册信息存储至数据库中,注册信息包括第一辅助数据。The second storage module is used to store the registration information in the database, and the registration information includes the first auxiliary data.
第十七方面,本公开实施例提供一种身份认证装置,包括:In a seventeenth aspect, an embodiment of the present disclosure provides an identity authentication device, including:
第二接收模块,用于接收终端设备发送的认证请求;The second receiving module is configured to receive the authentication request sent by the terminal device;
底库辅助数据确定模块,用于根据认证请求,从通过第四方面提供的身份注册方法中的方法存储至数据库中的注册信息中确定出底库辅助数据;其中,底库辅助数据包括至少一个第一辅助数据。The bottom database auxiliary data determination module is used to determine the bottom database auxiliary data from the registration information stored in the database through the method in the identity registration method provided by the fourth aspect according to the authentication request; wherein the bottom database auxiliary data includes at least one First auxiliary data.
第十八方面,本公开实施例还提供一种电子设备,包括:处理器、存储器,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,机器可读指令被处理器执行时执行上述的方法的步骤。In an eighteenth aspect, an embodiment of the present disclosure further provides an electronic device, including: a processor and a memory, the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the machine-readable instructions are executed by the processor When performing the steps of the above-mentioned method.
第十九方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的方法的步骤。In a nineteenth aspect, the embodiments of the present disclosure further provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the above method are executed.
本公开实施例提供的隐私保护的图像处理方法、注册方法及身份认证方法、装置、电子设备及计算机可读存储介质,对体现用户隐私的生物特征模板进行不可逆的编码运算,由于存储的是不可逆的编码运算的结果,即便泄露也无法反推回原始生物特征模板,大大降低了隐私泄露风险;同时,编码运算对应的解码运算具有容错性或认证阶段使用的匹配器具有容错性,能够基于与注册时足够相似但不完全相同的生物特征模板进行认证。因此本发明实施例的方法适用于生物识别,能够保护隐私。The privacy-protected image processing method, registration method, and identity authentication method, device, electronic device, and computer-readable storage medium provided by the embodiments of the present disclosure perform irreversible encoding operations on biometric templates that reflect user privacy. Even if the result of the encoding operation is leaked, it cannot be pushed back to the original biometric template, which greatly reduces the risk of privacy leakage; at the same time, the decoding operation corresponding to the encoding operation is fault-tolerant or the matcher used in the authentication stage is fault-tolerant, and can be based on the A biometric template that is sufficiently similar but not identical at the time of enrollment for authentication. Therefore, the method in the embodiment of the present invention is suitable for biometric identification and can protect privacy.
为使本公开的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。In order to make the above objects, features and advantages of the present disclosure more comprehensible, the following specific embodiments are described in detail in conjunction with the accompanying drawings.
附图说明Description of drawings
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following will briefly introduce the accompanying drawings used in the embodiments. It should be understood that the following drawings only show some embodiments of the present disclosure, and therefore are not It should be regarded as a limitation on the scope, and those skilled in the art can also obtain other related drawings based on these drawings without creative work.
图1为本公开至少一实施例提供的运行环境的示意图;FIG. 1 is a schematic diagram of an operating environment provided by at least one embodiment of the present disclosure;
图2为本公开至少一实施例提供的电子设备的方框示意图;FIG. 2 is a schematic block diagram of an electronic device provided by at least one embodiment of the present disclosure;
图3为本公开至少一实施例提供的隐私保护的图像处理方法的流程图Fig. 3 is a flowchart of a privacy-protected image processing method provided by at least one embodiment of the present disclosure
图4为本公开至少一实施例提供的一种身份注册方法的交互时序图;Fig. 4 is an interaction sequence diagram of an identity registration method provided by at least one embodiment of the present disclosure;
图5为本公开至少一实施例提供的一种身份认证方法的交互时序图;以及Fig. 5 is an interaction sequence diagram of an identity authentication method provided by at least one embodiment of the present disclosure; and
图6为本公开至少一实施例提供的另一身份认证方法的交互时序图。Fig. 6 is an interaction sequence diagram of another identity authentication method provided by at least one embodiment of the present disclosure.
具体实施方式Detailed ways
下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行描述。The technical solutions in the embodiments of the present disclosure will be described below with reference to the drawings in the embodiments of the present disclosure.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定 义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。It should be noted that similar numbers and letters denote similar items in the following figures, therefore, once an item is defined in one figure, it does not require further definition and explanation in subsequent figures. Meanwhile, in the description of the present disclosure, the terms "first", "second", etc. are only used to distinguish descriptions, and cannot be understood as indicating or implying relative importance.
本申请的发明人提供了一种隐私保护的图像处理方法、身份注册方法及身份认证方法,对生物特征模板进行编码运算后得到的数据满足以下几个属性:The inventor of the present application provides a privacy-protected image processing method, identity registration method, and identity authentication method. The data obtained after encoding the biometric template satisfies the following attributes:
不可逆性(Non-invertibility):生物特征数据应在储存之前通过不可逆变换进行处理。任何情况下,都难以仅根据不可逆变换结果逆转、变换得出原始的生物特征。此属性可防止滥用存储的生物识别数据来发起欺骗或重放攻击,提高生物识别系统的安全性。根据不可逆变换结果逆转、变换得出原始的生物特征越困难,生物识别系统的安全性越高。Non-invertibility: Biometric data should be processed through irreversible transformations before storage. In any case, it is difficult to reverse and transform the original biological characteristics only based on the irreversible transformation results. This property prevents misuse of stored biometric data to launch spoofing or replay attacks, increasing the security of biometric systems. The more difficult it is to reverse and transform the original biometrics based on the irreversible transformation results, the higher the security of the biometric system.
可撤销性或可更新性(Revocability):此属性满足在生物特征数据库遭到破坏时撤销和重新发布受保护生物特征参考的新实例成为可能。Revocability or Revocability: This property satisfies the possibility of revoking and reissuing new instances of protected biometric references when the biometric database is compromised.
不可链接性(Non-linkability):此属性满足确定两个或多个受保护生物的参考实例是否源自用户的相同生物特征在计算上是困难的,不可链接性可防止跨不同应用程序的交叉匹配,从而保护用户隐私。Non-linkability: This property satisfies that it is computationally difficult to determine whether two or more reference instances of a protected creature originate from the same biometric of the user, non-linkability prevents crossover across different applications match to protect user privacy.
下面通过一些实施例,对本公开的发明构思进行描述。The inventive concepts of the present disclosure are described below through some embodiments.
实施例一Embodiment one
为便于对本实施例进行理解,首先对执行本公开实施例所公开的各个方法的运行环境进行介绍。In order to facilitate the understanding of this embodiment, an operating environment for executing each method disclosed in the embodiments of the present disclosure is firstly introduced.
本公开实施例提供的注册方法和认证方法可由终端设备或服务器单独实施,也可由终端设备和服务器配合实施。二者配合实施时,服务器和终端设备需要进行交互。如图1所示,是本公开实施例提供的服务器与终端设备进行交互的示意图。该服务器110通过网络与一个或多个第一终端设备120进行通信连接,以进行数据通信或交互。该服务器110可以是网络服务器、数据库服务器等。该第一终端设备120可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)、打卡机、支付设备等。该第一终端设备120可以基于获取的图像,确定出注册信息,并将该注册信息发送给服务器110,以为实现注册。The registration method and the authentication method provided by the embodiments of the present disclosure may be implemented independently by the terminal device or the server, or may be jointly implemented by the terminal device and the server. When the two are implemented together, the server and the terminal device need to interact. As shown in FIG. 1 , it is a schematic diagram of interaction between a server and a terminal device provided by an embodiment of the present disclosure. The server 110 communicates with one or more first terminal devices 120 through a network for data communication or interaction. The server 110 may be a web server, a database server, or the like. The first terminal device 120 may be a personal computer (personal computer, PC), a tablet computer, a smart phone, a personal digital assistant (personal digital assistant, PDA), a punch card machine, a payment device, and the like. The first terminal device 120 may determine the registration information based on the acquired image, and send the registration information to the server 110 for registration.
可选地,该服务器110还可以与一个或多个第二终端设备130进行通信连接,以进行数据通信或交互。该第二终端设备130可以基于获取的图像,对该图像所包含的对象进行身份认证。Optionally, the server 110 may also communicate with one or more second terminal devices 130 for data communication or interaction. The second terminal device 130 may perform identity authentication on the object contained in the image based on the acquired image.
在一些实施例中,身份的注册和身份的认证可以在同一终端设备中实现,此时,该第一终端设备120与第二终端设备130可以是同一终端设备。例如,该第一终端设备120可以是打卡设备、门禁设备、支付设备、个人移动设备等。In some embodiments, identity registration and identity authentication may be implemented in the same terminal device. In this case, the first terminal device 120 and the second terminal device 130 may be the same terminal device. For example, the first terminal device 120 may be a card punching device, an access control device, a payment device, a personal mobile device, and the like.
在另一些实施例中,身份的注册和身份的认证可以在不同的终端设备中实现,此时,该第一终端设备120与第二终端设备130可以为不同的终端设备。例如,该第一终端设备120可以是个人移动设备,该第二终端设备130可以是地铁内的人脸识别设备。In some other embodiments, identity registration and identity authentication may be implemented in different terminal devices. In this case, the first terminal device 120 and the second terminal device 130 may be different terminal devices. For example, the first terminal device 120 may be a personal mobile device, and the second terminal device 130 may be a face recognition device in a subway.
如图2所示,是电子设备的方框示意图。电子设备300可以包括存储器311、存储控制器312、处理器313、外设接口314、输入输出单元315、显示单元316。As shown in FIG. 2 , it is a schematic block diagram of an electronic device. The electronic device 300 may include a memory 311 , a storage controller 312 , a processor 313 , a peripheral interface 314 , an input and output unit 315 , and a display unit 316 .
上述的存储器311、存储控制器312、处理器313、外设接口314、输入输出单元315及显示单元316各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器313用于执行存储器中存储的可执行模块。The memory 311 , storage controller 312 , processor 313 , peripheral interface 314 , input/output unit 315 and display unit 316 are electrically connected to each other directly or indirectly to realize data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines. The aforementioned processor 313 is used to execute the executable modules stored in the memory.
其中,存储器311可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦 除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。其中,存储器311用于存储程序,处理器313在接收到执行指令后,执行程序,本公开实施例任一实施例揭示的过程定义的电子设备300所执行的方法可以应用于处理器313中,或者由处理器313实现。Wherein, the memory 311 can be, but not limited to, random access memory (Random Access Memory, referred to as RAM), read-only memory (Read Only Memory, referred to as ROM), programmable read-only memory (Programmable Read-Only Memory, referred to as PROM) ), Erasable Programmable Read-Only Memory (EPROM for short), Electric Erasable Programmable Read-Only Memory (EEPROM for short), etc. Wherein, the memory 311 is used to store the program, and the processor 313 executes the program after receiving the execution instruction, and the method performed by the electronic device 300 according to the process definition disclosed in any embodiment of the present disclosure can be applied to the processor 313, Or implemented by the processor 313 .
上述的处理器313可能是一种集成电路芯片,具有信号的处理能力。上述的处理器313可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signal processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The above-mentioned processor 313 may be an integrated circuit chip with signal processing capabilities. Above-mentioned processor 313 can be general-purpose processor, comprises central processing unit (Central Processing Unit, be called for short CPU), network processor (Network Processor, be called for short NP) etc.; Can also be digital signal processor (digital signal processor, be called for short DSP) ), Application Specific Integrated Circuit (ASIC for short), Field Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. Various methods, steps and logic block diagrams disclosed in the embodiments of the present disclosure may be implemented or executed. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
上述的外设接口314将各种输入/输出装置耦合至处理器313以及存储器311。在一些实施例中,外设接口314,处理器313以及存储控制器312可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。The aforementioned peripheral interface 314 couples various input/output devices to the processor 313 and the memory 311 . In some embodiments, peripheral interface 314, processor 313, and memory controller 312 may be implemented in a single chip. In some other instances, they can be implemented by independent chips respectively.
上述的输入输出单元315用于提供给用户输入数据。输入输出单元315可以是,但不限于,鼠标和键盘等。The aforementioned input and output unit 315 is used to provide the user with input data. The input and output unit 315 may be, but not limited to, a mouse and a keyboard.
上述的显示单元316在电子设备300与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。The above-mentioned display unit 316 provides an interactive interface (such as a user operation interface) between the electronic device 300 and the user or is used to display image data for the user's reference. In this embodiment, the display unit may be a liquid crystal display or a touch display. If it is a touch display, it can be a capacitive touch screen or a resistive touch screen supporting single-point and multi-touch operations. Supporting single-point and multi-touch operations means that the touch display can sense simultaneous touch operations from one or more positions on the touch display, and hand over the sensed touch operations to the processor calculation and processing.
其中,该电子设备300可以是图1所示的服务器,也可以是图1所示的终端设备。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对电子设备300的结构造成限定,图1中的各个服务器、终端设备的结构也可以比图2所示的电子设备300更多或者更少的组件,或者具有与图2所示不同的配置。例如,图1所示的第一终端设备和第二终端设备还可以包括采集设备,用于采集图像或者音频数据。再例如,图1所示的服务器可以不包括图2所示的显示单元。Wherein, the electronic device 300 may be the server shown in FIG. 1 , or the terminal device shown in FIG. 1 . Those of ordinary skill in the art can understand that the structure shown in FIG. 2 is only a schematic diagram, and it does not limit the structure of the electronic device 300. The structures of the servers and terminal devices in FIG. 1 can also be compared to the electronic device shown in FIG. 300 with more or fewer components, or a different configuration than that shown in FIG. 2 . For example, the first terminal device and the second terminal device shown in FIG. 1 may further include a collection device for collecting image or audio data. For another example, the server shown in FIG. 1 may not include the display unit shown in FIG. 2 .
本实施例中的电子设备300可以用于执行本公开实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述各个方法的实现过程。The electronic device 300 in this embodiment may be used to execute various steps in various methods provided in the embodiments of the present disclosure. The implementation process of each method is described in detail below through several embodiments.
实施例二Embodiment two
请参阅图3,是本公开实施例提供的隐私保护的图像处理方法400的流程图。下面将对隐私保护的图像处理方法400的具体流程进行详细阐述。Please refer to FIG. 3 , which is a flowchart of a privacy-protected image processing method 400 provided by an embodiment of the present disclosure. The specific flow of the privacy-protected image processing method 400 will be described in detail below.
步骤410,获取待处理图像。 Step 410, acquire the image to be processed.
该待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点。The image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points.
该待处理图像中的第一生物特征区域可以是指纹区域、掌纹区域、指静脉区域、掌静脉区域、人脸区域、虹膜区域等。该第一特征点为该第一生物特征区域中能够表征生物特性的点,例如人脸关键点、指掌纹、指掌静脉细节点。以第一生物特征区域是人脸区域为例,该第一特征点可以是第一生物特征区域中表示鼻尖、眼尾、眉心等部位的关键点。以第一生物特征区域是指纹区域为例,该第一特征点可以是第一生物特征区域中表示纹路的分叉点、端点等部位的细节点。The first biological characteristic area in the image to be processed may be a fingerprint area, a palmprint area, a finger vein area, a palm vein area, a face area, an iris area, and the like. The first feature point is a point in the first biometric region that can characterize biological characteristics, such as a key point of a human face, a finger-palm print, and a detail point of a finger-palm vein. Taking the first biometric region as an example of a face region, the first feature point may be a key point in the first biometric region representing the tip of the nose, the end of the eye, and the center of the eyebrow. Taking the first biometric area as an example of a fingerprint area, the first feature point may be a minutiae point representing a bifurcation point, an end point, and the like of a texture in the first biometric area.
待处理图像可以通过接触式或非接触式的采集方式得到。示例性地,非接触采集方式可以为通过拍照获得待处理图像。为了使采集的待处理图像包含更多的特征点,以使待处理图像包含足够多可用于编码的信息,还可以将多次采集同一生物特征得到的图像进行融合,以形成待处理图像。The image to be processed can be obtained through contact or non-contact acquisition. Exemplarily, the non-contact acquisition manner may be to obtain images to be processed by taking pictures. In order to make the collected image to be processed contain more feature points so that the image to be processed contains enough information that can be used for encoding, the image obtained by collecting the same biological feature multiple times can also be fused to form the image to be processed.
在一种实施方式中,待处理图像是通过非接触式采集方式采集得到的,且第一生物特征区域包含的生物特征可以为指纹、掌纹、指静脉、掌静脉中至少一者。该第一生物特征区域包含的特征点数量大于300。In one embodiment, the image to be processed is collected by non-contact acquisition, and the biometrics contained in the first biometric region may be at least one of fingerprints, palm prints, finger veins, and palm veins. The number of feature points included in the first biological feature area is greater than 300.
保护隐私的生物识别系统的安全级别受其FAR(错误接受率)的限制。面部不像指纹/掌纹那样独特,当今最好的面部识别系统也实现了不低于百万分之一的FAR。相比之下,指掌纹、指掌静脉具有比面部更低的FAR。因为一方面指纹比面部更加独特,估计36个细节的指纹可以高达1.95×10 36的区分度。另一方面,面部包含的眼睛、鼻子等五官之间的相对位置有一定限制而不是无序的,面部相比于指掌纹、指掌静脉的信息熵更低,包含的信息更少。 The security level of a privacy-preserving biometric system is limited by its FAR (False Acceptance Rate). Faces are not as unique as fingerprints/palmprints, and today's best facial recognition systems achieve no less than a FAR of 1 in a million. In contrast, finger palm prints, finger palm veins have lower FAR than faces. Because fingerprints are more unique than faces on the one hand, it is estimated that fingerprints with 36 details can have a discrimination degree as high as 1.95×10 36 . On the other hand, the relative positions of facial features such as eyes and nose are limited rather than disordered. Compared with finger palm prints and finger palm veins, faces have lower information entropy and contain less information.
实际上,通过非接触采集的方式可以捕捉到的细节信息比传统方法更多,结合多指纹和大面积掌纹,可以一次采集到包含特征点数量大于300的生物特征区域,如此多的特征点使得在无需对齐、融合多张图像的情况下就能通过单张图像收集到具有足够区分度、足够多用于编码的信息,使生物特征识别算法的安全级别得以提高到非常高的标准。In fact, more detailed information can be captured by non-contact collection than traditional methods. Combining multiple fingerprints and large-area palmprints, biometric areas containing more than 300 feature points can be collected at one time. So many feature points It makes it possible to collect information with sufficient discrimination and enough information for encoding through a single image without aligning and fusing multiple images, so that the security level of the biometric identification algorithm can be raised to a very high standard.
步骤420,根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板。Step 420: Determine a first biometric template of the first biometric region according to the first biometric region.
该第一生物特征模板包括多个第一特征点对应的生物特征表示。The first biological feature template includes multiple biological feature representations corresponding to the first feature points.
示例性的,生物特征模板是对生物特征区域进行特征提取得到的,此处的特征提取为可逆变换。示例性地,该生物特征模板可以以向量或数据集合等形式呈现。示例性的,一个生物特征模板中包括与多个特征点一一对应的多个生物特征表示,每个生物特征表示为其对应的特征点的局部信息,使得生物特征模板包括足够高的区分度。Exemplarily, the biometric template is obtained by performing feature extraction on the biometric region, where the feature extraction is a reversible transformation. Exemplarily, the biometric template may be presented in the form of a vector or a data set. Exemplarily, a biometric template includes multiple biometric representations corresponding to multiple feature points one-to-one, and each biometric representation is the local information of its corresponding feature point, so that the biometric template includes a sufficiently high degree of discrimination .
在一种具体实现方式中,生物特征模板包括与多个特征点一一对应的多个生物特征表示,每个特征点对应的生物特征表示包括描述该特征点的信息,例如特征点的位置、角度,与其他特征点的相对位置、相对角度等。In a specific implementation manner, the biometric template includes multiple biometric representations corresponding to multiple feature points one by one, and the biometric representation corresponding to each feature point includes information describing the feature point, such as the position of the feature point, Angle, relative position and relative angle with other feature points, etc.
可以理解的是,生物特征模板中包含的信息越多,生物特征模板的区分度越高。生物特征模板需要有足够高的区分度以保证FAR在可接受范围,具体的区分度要求可根据进行生物特征识别的底库规模来确定。可以理解的是,底库规模越大,要求生物特征模板的区分度越高。It can be understood that the more information contained in the biometric template, the higher the discrimination of the biometric template. The biometric template needs to have a high enough discrimination to ensure that the FAR is within an acceptable range, and the specific discrimination requirements can be determined according to the size of the base library for biometric identification. It is understandable that the larger the size of the base library, the higher the discrimination of the biometric template is required.
步骤430,对第一生物特征模板进行编码运算,得到第一辅助数据。 Step 430, performing an encoding operation on the first biometric template to obtain first auxiliary data.
上述步骤430所使用的编码运算包括不可逆变换。可以理解的是,编码运算包括不可逆变换是指编码运算包含的若干步骤中至少一个步骤为不可逆变换,使得难以仅根据编码运算得到的第一辅助数据通过逆变换来确定生物特征模板。如此,可实现隐私保护。The encoding operations used in the above step 430 include irreversible transformations. It can be understood that the encoding operation includes irreversible transformation means that at least one of the steps involved in the encoding operation is an irreversible transformation, making it difficult to determine the biometric template through inverse transformation only based on the first auxiliary data obtained by the encoding operation. In this way, privacy protection can be realized.
同时,生物特征天然的模糊性必然要求认证时使用的解码运算(此时,编码运算会使用BCH、RS等方式进行纠错码编码,解码运算会使用相应方式进行纠错码解码)或匹配器具备容错性,如此才能基于与注册时足够相似但不完全相同的生物特征模板进行认证。At the same time, the natural ambiguity of biometric features will inevitably require the decoding operation used in authentication (at this time, the encoding operation will use BCH, RS, etc. to encode the error correction code, and the decoding operation will use the corresponding method to decode the error correction code) or matcher To be fault tolerant so that authentication is based on a biometric template that is sufficiently similar to, but not identical to, the enrollment.
满足上述要求的编码运算可通过多种可选的方式实施。Encoding operations that meet the above requirements can be implemented in various optional ways.
在第一种可选的实施方式中,步骤430可以被实施为:In a first optional implementation manner, step 430 may be implemented as:
S100,对第一生物特征模板进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥确定的。S100. Perform feature conversion on the first biometric template to obtain first auxiliary data; the feature conversion is determined according to a key corresponding to the first auxiliary data.
可理解的是,第一辅助数据对应的密钥并不要求在存在第一辅助数据后获取,如果一个密钥用于生成了第一辅助数据,则称其为第一辅助数据对应的密钥。It can be understood that the key corresponding to the first auxiliary data is not required to be obtained after the first auxiliary data exists, and if a key is used to generate the first auxiliary data, it is called the key corresponding to the first auxiliary data .
示例性地,该第一辅助数据对应的密钥可以是待处理图像对应的待注册用户输入的或根据待注册用户的输入生成的。例如,通过对待注册用户的输入进行格式转换、位数补齐、校验信息添加中的一 种或多种处理来生成第一辅助数据对应的密钥。Exemplarily, the key corresponding to the first auxiliary data may be input by the user to be registered corresponding to the image to be processed or generated according to the input of the user to be registered. For example, the key corresponding to the first auxiliary data is generated by performing one or more processes of format conversion, digit padding, and verification information addition on the input of the user to be registered.
在该种可选的实施方式中,注册阶段,F k(X)=H;认证阶段,F k’(X’)=H’。其中,F为特征转换函数,k为第一辅助数据对应的密钥,k’为认证阶段获取的密钥,X和X’分别为注册阶段和认证阶段的待认证生物特征模板,H和H’分别为注册阶段和认证阶段的辅助数据。若X和X’足够接近且k’=k,则H和H’足够接近。在该种可选的实施方式中,认证阶段,通过匹配器判断H和H’是否足够接近,匹配器具有容错性。 In this optional implementation manner, in the registration phase, F k (X)=H; in the authentication phase, F k' (X')=H'. Among them, F is the feature conversion function, k is the key corresponding to the first auxiliary data, k' is the key obtained in the authentication phase, X and X' are the biometric templates to be authenticated in the registration phase and the authentication phase, respectively, H and H 'Auxiliary data for the registration phase and authentication phase, respectively. If X and X' are close enough and k'=k, then H and H' are close enough. In this optional implementation manner, in the authentication stage, the matcher judges whether H and H' are close enough, and the matcher has fault tolerance.
第一种可选的实施方式的具体例子可为生物哈希(Biohashing)和鲁棒哈希(Robusthashing)。Specific examples of the first optional implementation manner may be Biohashing and Robusthashing.
在第二种可选的实施方式中,步骤430可以被实施为:In a second optional implementation manner, step 430 may be implemented as:
S109,根据第一生物特征模板进行量化,得到量化值;S109, performing quantification according to the first biometric template to obtain a quantification value;
可理解的是,生物特征模板包含的生物特征表示是以较高的分辨率离散的,编码运算前,需将生物特征表示进一步离散化即量化。It is understandable that the biometric representation included in the biometric template is discretized at a relatively high resolution, and the biometric representation needs to be further discretized, that is, quantized, before the encoding operation.
根据第一生物特征模板进行量化可以理解为将第一特征点对应的生物特征表示量化至格点空间。例如,生物特征表示为特征点的位置、角度<i,j,θ>,其中i、j、θ取值范围分别为1-32,1-16,1-8,i、j、θ取值可以为整数或小数。为便于编码,希望量化后的i、j、θ取1-32,1-16,1-8中的整数值,此时格点空间的大小为32*16*8,格点空间的分辨率为1。Quantizing according to the first biological feature template can be understood as quantizing the biological feature representation corresponding to the first feature point into the grid space. For example, biological features are expressed as the position and angle of feature points <i, j, θ>, where the value ranges of i, j, θ are 1-32, 1-16, 1-8, and the values of i, j, θ Can be integer or decimal. For the convenience of coding, it is hoped that the quantized i, j, and θ take integer values from 1-32, 1-16, and 1-8. At this time, the size of the grid space is 32*16*8, and the resolution of the grid space is is 1.
根据第一生物特征模板进行量化可以包括将第一生物特征模板中包含的生物特征表示中的各元素单独取整和/或运算,和/或在元素之间取整/运算。在一个具体实施方式中,量化包括将各元素单独取整,例如,<3.5,5.1,60.5>这一生物特征表示对应的量化值为<4(取整),5(取整),2(60.5/360后取整)>。另一具体实施方式中,量化包括将各元素单独取整后拼接为多位数,例如,<3.5,5.1,60.5>这一生物特征表示对应的量化值为452(取整为<4,5,2>后拼接为多位数)。Quantifying according to the first biometric template may comprise individually rounding and/or operating elements of the biometric representation contained in the first biometric template, and/or rounding/operating between elements. In a specific embodiment, the quantification includes rounding each element separately, for example, <3.5, 5.1, 60.5> represents a biological characteristic corresponding to a quantitative value of <4 (rounded), 5 (rounded), 2 ( Round after 60.5/360)>. In another specific embodiment, the quantification includes individual rounding of each element and splicing into multiple digits, for example, the corresponding quantitative value of <3.5, 5.1, 60.5> is 452 (rounded to <4, 5 , 2> after splicing into multiple digits).
S110,根据第一辅助数据对应的密钥确定纠错码码字;S110. Determine an error correction code word according to the key corresponding to the first auxiliary data;
第一辅助数据对应的密钥可以是用户输入或系统生成,其中,系统生成包括随机生成或根据用户输入生成。第一辅助数据对应的密钥为k维。例如,通过对用户输入进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第一辅助数据对应的密钥。根据第一辅助数据对应的密钥确定纠错码码字可以是根据第一辅助数据对应的密钥从n维有限域中确定出纠错码码字,纠错码码字为n维(n>k),使得编码算法对应的解码算法具有容错性。可理解的是,n比k大得越多容错能力越强,编码运算所需运算量越大。The key corresponding to the first auxiliary data may be input by the user or generated by the system, where the generation by the system includes random generation or generation according to user input. The key corresponding to the first auxiliary data has k dimensions. For example, the key corresponding to the first auxiliary data is generated by performing one or more processes of format conversion, digit padding, and verification information addition on user input. Determining the error-correcting code word according to the key corresponding to the first auxiliary data may be to determine the error-correcting code word from the n-dimensional finite field according to the key corresponding to the first auxiliary data, and the error-correcting code word is n-dimensional (n >k), making the decoding algorithm corresponding to the encoding algorithm error-tolerant. It is understandable that the larger n is than k, the stronger the error tolerance is, and the greater the amount of computation required for encoding operations is.
步骤S110可以包括根据第一辅助数据对应的密钥确定纠错码码字,或根据第一辅助数据对应的密钥和量化值确定纠错码码字。Step S110 may include determining an error correction code word according to a key corresponding to the first auxiliary data, or determining an error correction code word according to a key and a quantization value corresponding to the first auxiliary data.
根据k维的第一辅助数据对应的密钥确定n维的纠错码码字的方式有多种,示例性的,可以通过BCH等纠错码编码确定纠错码码字。示例性的,可将k维的密钥与k*n的编码矩阵进行运算转换为n维向量。根据第一辅助数据对应的密钥和量化值确定纠错码码字的方式有多种,示例性的,可以通过RS纠错编码确定纠错码码字。例如根据第一辅助数据对应的密钥生成(k-1)阶多项式函数(也即生成多项式函数的k个系数),在n个量化值处求函数值得到n维纠错码码字。There are many ways to determine the n-dimensional error correction code word according to the key corresponding to the k-dimensional first auxiliary data. Exemplarily, the error correction code word can be determined by BCH or other error correction code encoding. Exemplarily, a k-dimensional key and a k*n encoding matrix may be converted into an n-dimensional vector. There are many ways to determine the error correction code word according to the key and the quantization value corresponding to the first auxiliary data. Exemplarily, the error correction code word may be determined through RS error correction coding. For example, according to the key generation (k-1) order polynomial function (that is, k coefficients of the generator polynomial function) corresponding to the first auxiliary data, calculate the function value at n quantized values to obtain an n-dimensional error correction code word.
S120,对纠错码码字进行第一变换处理,得到第一辅助数据。S120. Perform a first conversion process on the error correction code word to obtain first auxiliary data.
步骤S120可以包括:对纠错码码字进行与量化值无关的第一变换处理;也可以包括,根据量化值,对纠错码码字进行第一变换处理,得到第一辅助数据,从而实现对纠错码码字的保护。Step S120 may include: performing a first conversion process on the error correction code word that has nothing to do with the quantization value; it may also include, according to the quantization value, performing the first conversion process on the error correction code word to obtain the first auxiliary data, thereby realizing Protection of codewords of error-correcting codes.
当纠错码码字根据第一辅助数据对应的密钥确定、未根据量化值确定时,S120的第一变换处理需要与量化值有关,从而在编码运算中实现对纠错码码字即第一辅助数据对应的密钥和量化值即生物特 征模板的绑定,进而实现对第一辅助数据对应的密钥和量化值即生物特征模板的保护。当纠错码字根据第一辅助数据对应的密钥和量化值确定时,S120的第一变换处理可以与量化值有关也可以与量化值无关,因为S110已经将第一辅助数据对应的密钥和量化值绑定,无论S120是否与量化值有关,均可实现对第一辅助数据对应的密钥和量化值即生物特征模板的保护。When the error correction codeword is determined according to the key corresponding to the first auxiliary data, but not according to the quantization value, the first conversion process of S120 needs to be related to the quantization value, so that the error correction codeword, that is, the first A key corresponding to the auxiliary data is bound to a quantized value, that is, a biometric template, so as to realize protection of a key and a quantized value corresponding to the first auxiliary data, that is, a biometric template. When the error correction codeword is determined according to the key corresponding to the first auxiliary data and the quantization value, the first conversion process in S120 may or may not be related to the quantization value, because S110 has converted the key corresponding to the first auxiliary data into Binding with the quantized value, regardless of whether S120 is related to the quantized value, can realize the protection of the key corresponding to the first auxiliary data and the quantized value, that is, the biometric template.
也就是说,步骤S110和步骤S120中至少一个步骤使用步骤S109得到的量化值,即在将k维的第一辅助数据对应的密钥扩展到n维时或扩展到n维后使用量化值,从而在编码运算中实现对量化值和第一辅助数据对应的密钥的绑定。That is to say, at least one of step S110 and step S120 uses the quantized value obtained in step S109, that is, the quantized value is used when expanding the key corresponding to the first auxiliary data of k dimension to n dimension or after expanding to n dimension, Thus, the binding of the key corresponding to the quantized value and the first auxiliary data is realized in the encoding operation.
在该种可选的实施方式中,注册阶段,步骤S110中c=Enc(k)或c=Enc(k,X),步骤S120中对c进行第一变换处理得到H;认证阶段,Dec(X’,H)=k’。其中,Enc为确定纠错码码字的步骤,Dec为解码运算的步骤,k为第一辅助数据对应的密钥,k’为解码运算所得密钥,X和X’分别为注册阶段和认证阶段的量化值,H为第一辅助数据。若X和X’足够接近,则k’=k。In this kind of optional embodiment, in the registration stage, c=Enc(k) or c=Enc(k, X) in step S110, in step S120, the first transformation process is performed on c to obtain H; in the authentication stage, Dec( X', H) = k'. Among them, Enc is the step of determining the codeword of the error correction code, Dec is the step of the decoding operation, k is the key corresponding to the first auxiliary data, k' is the key obtained from the decoding operation, X and X' are the registration stage and the authentication stage respectively The quantization value of the stage, H is the first auxiliary data. If X and X' are close enough, then k'=k.
第二种可选的实施方式的具体例子可以为模糊承诺(Fuzzy Commitment),模糊金库(Fuzzy Vault)。Specific examples of the second optional implementation manner can be fuzzy commitment (Fuzzy Commitment) and fuzzy vault (Fuzzy Vault).
在第三种可选的实施方式中,步骤430可以被实施为:In a third optional implementation manner, step 430 may be implemented as:
S129,根据第一生物特征模板进行量化,得到量化值。对本步骤的说明参见对S109。S129. Perform quantization according to the first biometric template to obtain a quantized value. For the description of this step, refer to S109.
S130,确定纠错码码字;S130, determining an error correction code word;
本实施方式中,在确定纠错码码字前并未获取第一辅助数据对应的密钥,纠错码码字不根据第一辅助数据对应的密钥生成。In this embodiment, the key corresponding to the first auxiliary data is not obtained before the error correction code word is determined, and the error correction code word is not generated according to the key corresponding to the first auxiliary data.
示例性的,步骤S130包括:随机确定纠错码码字;根据量化值确定纠错码码字;根据量化值和随机量确定纠错码码字中一者。示例性的,当确定纠错码码字时使用了量化值时,可使用RS纠错编码。示例性的,当确定纠错码码字时未使用量化值时,可通过BCH纠错编码、RS纠错编码等方式进行纠错编码。随机确定纠错码码字例如,随机生成k维向量,乘以k*n编码矩阵作为纠错码码字。根据量化值和随机量确定纠错码码字例如,随机生成(k-1)阶多项式函数(也即随机生成多项式函数的k个系数),在n个量化值处求函数值得到n维码字。当随机确定纠错码码字或根据量化值和随机量确定纠错码码字时,可基于同一量化值确定出不同的纠错码码字,从而保证生物特征识别算法的可撤销性。Exemplarily, step S130 includes: randomly determining the code word of the error correction code; determining the code word of the error correction code according to the quantization value; determining one of the code words of the error correction code according to the quantization value and the random quantity. Exemplarily, when the quantization value is used when determining the codeword of the error correction code, RS error correction coding can be used. Exemplarily, when the quantization value is not used when determining the codeword of the error correction code, the error correction coding may be performed by BCH error correction coding, RS error correction coding, and the like. Randomly determine the codeword of the error correction code For example, randomly generate a k-dimensional vector and multiply it by a k*n coding matrix as the codeword of the error correction code. Determine the error correction code word according to the quantization value and random quantity. For example, randomly generate (k-1) order polynomial function (that is, randomly generate k coefficients of the polynomial function), and calculate the function value at n quantization values to obtain n-dimensional code. Character. When the error correction code word is determined randomly or according to the quantization value and random quantity, different error correction code words can be determined based on the same quantization value, thereby ensuring the revocability of the biometric identification algorithm.
S140,对纠错码码字进行第二变换处理,得到第一辅助数据。S140. Perform a second transformation process on the error correction code word to obtain first auxiliary data.
第二变换处理可与量化值有关或无关。当纠错码码字随机确定时,第二变换处理需要与量化值有关,从而实现对纠错码码字和量化值即生物特征模板的编码运算,进而实现对量化值即生物特征模板的保护。当纠错码码字根据量化值确定,或根据量化值和随机量确定时,由于S130中已经将量化值和纠错码码字对应,无论第二变换处理与量化值有关或无关,均能实现对量化值即生物特征模板的保护。The second transform process may or may not be quantized value dependent. When the error correction code word is randomly determined, the second transformation process needs to be related to the quantization value, so as to realize the encoding operation of the error correction code code word and the quantization value, that is, the biometric template, and then realize the protection of the quantization value, that is, the biometric template . When the error correction code word is determined according to the quantization value, or when it is determined according to the quantization value and the random quantity, since the quantization value and the error correction code word have been corresponding in S130, no matter whether the second conversion process is related to the quantization value or not, it can be Realize the protection of the quantitative value, that is, the biometric template.
也就是说,步骤S130和步骤S140中至少一个步骤使用步骤S129得到的量化值,从而实现对量化值的编码运算。That is to say, at least one of step S130 and step S140 uses the quantized value obtained in step S129 to implement an encoding operation on the quantized value.
S150,根据量化值生成第一辅助数据对应的密钥;S150. Generate a key corresponding to the first auxiliary data according to the quantization value;
示例性的,通过强提取器根据量化值生成第一辅助数据对应的密钥,即第一辅助数据对应的密钥是由生物特征区域生成的。Exemplarily, the key corresponding to the first auxiliary data is generated by the strong extractor according to the quantization value, that is, the key corresponding to the first auxiliary data is generated from the biometric region.
在该种可选的实施方式中,注册阶段,S130中c=Enc(r)或c=Enc(X),S150中k=Ext(X),S140中对c进行第二变换处理得到H;认证阶段,Dec(X’,H)=X1,k’=Ext(X1)。其中,r为随机变量,Enc为确定纠错码码字的步骤,Dec为解码运算的步骤,Ext为从量化值中提取密钥的步骤,k为第一辅助数据对应的密钥,X和X’分别为注册阶段和认证阶段的量化值,X1为纠错码纠错所得量化值,H为第一辅助数据。若X和X’足够接近,则X1=X,从而k’=k。In this optional implementation, in the registration stage, c=Enc(r) or c=Enc(X) in S130, k=Ext(X) in S150, and the second conversion process is performed on c in S140 to obtain H; In the authentication phase, Dec(X', H)=X1, k'=Ext(X1). Among them, r is a random variable, Enc is the step of determining the code word of the error correction code, Dec is the step of decoding operation, Ext is the step of extracting the key from the quantized value, k is the key corresponding to the first auxiliary data, X and X' is the quantized value of the registration stage and the authentication stage respectively, X1 is the quantized value obtained from the error correction of the error correction code, and H is the first auxiliary data. If X and X' are close enough, then X1=X, so k'=k.
第三种可选的实施方式的具体例子可以为模糊提取(Fuzzy Extractor)。A specific example of the third optional implementation manner may be fuzzy extractor (Fuzzy Extractor).
本发明实施例的方法,对体现用户隐私的生物特征模板进行不可逆的编码运算,一方面,由于存储的是不可逆的编码运算的结果,即便泄露也无法反推回原始生物特征模板,大大降低了隐私泄露风险,使生物识别方法满足不可逆属性;另一方面,在不可逆的编码运算中使用了密钥或随机量,使得当密钥或随机量不同时,对于同一生物特征模板可产生不同的辅助数据,使得生物识别方法满足可撤销的属性。同时,编码运算对应的解码运算或认证阶段使用的匹配器具有容错性,能够基于与注册时足够相似但不完全相同的生物特征模板进行认证。可见,本发明实施例的方法适用于生物识别,能够保护隐私。The method of the embodiment of the present invention performs an irreversible encoding operation on the biometric template that reflects user privacy. On the one hand, because the result of the irreversible encoding operation is stored, even if it is leaked, it cannot be pushed back to the original biometric template, which greatly reduces the The risk of privacy leakage makes the biometric method meet the irreversible property; on the other hand, the key or random quantity is used in the irreversible encoding operation, so that when the key or random quantity is different, different auxiliary functions can be generated for the same biometric template. data such that the biometric method satisfies the revocable property. At the same time, the decoding operation corresponding to the encoding operation or the matcher used in the authentication stage is fault-tolerant, and can be authenticated based on a biometric template that is sufficiently similar to but not identical to the registration. It can be seen that the method in the embodiment of the present invention is suitable for biometric identification and can protect privacy.
在一些实施例中,该第一生物特征区域对应的生物特征表示包括:生物特征数据和精确描述子。步骤420可以包括:In some embodiments, the biological feature representation corresponding to the first biological feature area includes: biological feature data and precise descriptors. Step 420 may include:
S4201,根据第一生物特征区域确定出多个第一特征点对应的生物特征数据;S4201. Determine biometric data corresponding to multiple first feature points according to the first biometric region;
示例性的,生物特征数据与特征点一一对应,描述其所对应特征点的位置、角度、其所对应特征点与其他特征点的相对位置、相对角度等方位信息;Exemplarily, the biometric data is in one-to-one correspondence with the feature points, describing the position and angle of the corresponding feature points, the relative position and relative angle between the corresponding feature points and other feature points, and other orientation information;
可以理解的是,由于生物特征的天然模糊性,即便不同次采集到的两个图像中的两个特征点对应同一对象的相同生物位置(例如指纹上同一细节点,人脸中同一关键点),这两个特征点对应的生物特征数据可能相似而不完全相同。因此,两次采集到的多个特征点A对应的多个特征数据和多个特征点A’对应的多个特征数据几乎一定是相似但不同的,其中,A对应一个对象的多个生物位置w1、w2..wn,A’对应同一对象的相同生物位置w1、w2..wn。It is understandable that due to the natural ambiguity of biological features, even if two feature points in two images collected at different times correspond to the same biological position of the same object (such as the same minutiae point on a fingerprint, the same key point in a face) , the biometric data corresponding to these two feature points may be similar but not identical. Therefore, the multiple feature data corresponding to the multiple feature points A and the multiple feature data corresponding to the multiple feature points A' collected twice are almost certainly similar but different, where A corresponds to multiple biological positions of an object w1, w2..wn, A' corresponds to the same biological position w1, w2..wn of the same object.
S4202,根据第一生物特征区域,确定出多个第一特征点对应的精确描述子。S4202. Determine accurate descriptors corresponding to multiple first feature points according to the first biological feature area.
示例性的,精确描述子与特征点一一对应,用于描述其所对应特征点所在局部区域的纹路纹理特征、方向场、频域向量、色彩等信息。Exemplarily, the precise descriptor is in one-to-one correspondence with the feature points, and is used to describe information such as texture features, direction fields, frequency domain vectors, colors, etc. of the local area where the corresponding feature points are located.
精确描述子是指,同一对象的相同生物位置(例如指纹上同一细节点,人脸中同一关键点)在两次采集得到的图像上对应的两个特征点(例如,指纹上同一细节点在第一待处理图像中对应的特征点为A1,第二待处理图像中对应的特征点A2)所对应的精确描述子大概率(例如90%以上的概率)相同(A1和A2对应的精确描述子相同)。The precise descriptor refers to two feature points corresponding to the same biological position of the same object (for example, the same minutiae point on the fingerprint, the same key point in the face) on the two acquired images (for example, the same minutiae point on the fingerprint is in The corresponding feature point in the first image to be processed is A1, and the corresponding feature point (A2) in the second image to be processed corresponds to the same exact descriptor (for example, a probability of more than 90%) is the same (accurate descriptions corresponding to A1 and A2 same sub).
对于基于匹配器的容错性的生物特征识别算法中,使用描述子较不使用描述子增加了用于编码的信息,使得生物特征识别方法的安全性进一步提升。使用精确描述子较使用模糊描述子,可降低生物特征数据和描述子的双重模糊性造成的认证失败的可能性,从而增加生物特征识别方法的稳定性。For the biometric identification algorithm based on the fault tolerance of the matcher, the use of the descriptor increases the information used for encoding compared with the non-use of the descriptor, so that the security of the biometric identification method is further improved. Compared with fuzzy descriptors, the use of accurate descriptors can reduce the possibility of authentication failure caused by double fuzziness of biometric data and descriptors, thereby increasing the stability of biometric identification methods.
对于基于解码运算的容错性的生物特征识别算法中,整个方法的安全性主要取决于用于生成生物特征模板的特征点的数量和整个用于量化特征点的格点空间的大小。对于描述子和特征点一一对应的情况,对于每个特征点,除生物特征数据外还额外的获取精确描述子。如果格点空间因为描述子而相应增大,则攻击者从格点空间中猜对真实特征点的难度进一步增加,生物特征识别方法的安全性进一步提升。例如,生物特征表示为<i,j,θ,d>,取值范围分别为1-32,1-16,1-8,1-10,格点空间可增大为32*16*8*10。如果用于格点空间未因为描述子而增大,相当于将特征点映射到格点空间时,生物特征数据的贡献比重减少,描述子的贡献比重增加,由于生物特征数据是模糊的,描述子是精确的,相当于将特征点映射到格点空间时,模糊的信息所占比重减少,精确的信息所占比重增加,如此可降低因为生物特征本身的模糊性造成认证失败的可能性,从而增加生物特征识别方法的稳定性。此外,相比于模糊描述子,当使用精确描述子时,认证阶段只需对生物特征数据带来的模糊进行纠错,而无需进一步对描述子带来的模糊进行纠错,相比于模糊的描述子,使用精确的描述子可将两层纠错减少为 一层纠错,从而提高解码速度。For the biometric identification algorithm based on the fault tolerance of the decoding operation, the security of the whole method mainly depends on the number of feature points used to generate the biometric template and the size of the entire grid space used to quantify the feature points. For the one-to-one correspondence between descriptors and feature points, for each feature point, an additional accurate descriptor is obtained in addition to the biometric data. If the grid space increases correspondingly due to the descriptor, it will be more difficult for the attacker to guess the real feature points from the grid space, and the security of the biometric identification method will be further improved. For example, biological characteristics are expressed as <i, j, θ, d>, the value ranges are 1-32, 1-16, 1-8, 1-10, and the grid space can be increased to 32*16*8* 10. If the grid space is not increased due to the descriptor, it is equivalent to when the feature points are mapped to the grid space, the contribution proportion of the biometric data decreases, and the contribution proportion of the descriptor increases. Since the biometric data is fuzzy, the description The sub is accurate, which is equivalent to when the feature points are mapped to the grid space, the proportion of fuzzy information is reduced, and the proportion of accurate information is increased, which can reduce the possibility of authentication failure due to the fuzziness of the biometric itself. Thereby, the stability of the biometric identification method is increased. In addition, compared with the fuzzy descriptor, when the precise descriptor is used, the authentication stage only needs to correct the blur caused by the biometric data, and does not need to further correct the blur caused by the descriptor. Descriptors, the use of accurate descriptors can reduce two layers of error correction to one layer of error correction, thereby increasing the decoding speed.
由于生物特征的天然模糊性,如果用常规的方式提取特征点对应的描述子,只能得到模糊的描述子而无法得到精确描述子。本发明实施例采用如下方式确定精确描述子:Due to the natural ambiguity of biological characteristics, if the descriptors corresponding to feature points are extracted in a conventional way, only fuzzy descriptors can be obtained but precise descriptors cannot be obtained. The embodiment of the present invention uses the following method to determine the precise descriptor:
精确描述子确定方式1:将待处理图像和/或待处理图像的描述信息输入描述子提取模型进行处理,得到多个第一特征点对应的精确描述子。Accurate descriptor determination method 1: input the image to be processed and/or the description information of the image to be processed into the descriptor extraction model for processing, and obtain accurate descriptors corresponding to multiple first feature points.
描述子提取模型的输入可以为待处理图像,也可以为待处理图像和待处理图像的描述信息二者。The input of the descriptor extraction model may be the image to be processed, or both the image to be processed and the description information of the image to be processed.
待处理图像的描述信息可以通过图像处理的方法或算法模型提取,可以以向量、矩阵、图等形式呈现。例如,描述信息是表征待处理图像中各特征点所对应子区域的纹线频率的向量。The description information of the image to be processed can be extracted by image processing methods or algorithm models, and can be presented in the form of vectors, matrices, and graphs. For example, the description information is a vector representing the ridge frequency of the sub-region corresponding to each feature point in the image to be processed.
在使用描述子提取模型对待处理图像的描述子进行提取之前,需要对描述子提取模型进行训练。若描述子提取模型的输入包括待处理图像,则描述子提取模型的训练样本可以为多对已知其匹配情况的样本图像。示例性的,已知其匹配情况是指,已知样本图像P1和样本图像P2是否匹配,如果匹配,是哪些特征点匹配。例如,P1和P2两个样本图像匹配,P1、P2中分别包括6个细节点P10-P15、P20-P25,对应的精确描述子分别为d10-d15,d20-d25。已知P1、P2中以下细节点是匹配的:P11-P23、P13-P25、P12-P20、P10-P22、P14-P21。获知各细节点之间的匹配情况后,可根据每个细节点对应的描述子之差的预测值和每个细节点对的描述子之差的真值GT(对于匹配的细节点对,该细节点对内两个细节点的描述子之差的GT为0,对于不匹配的细节点对,该细节点对内两个细节点的描述子之差为无穷大)计算这6*6=36个细节点对的描述子之差的损失值,根据损失值更新描述子提取模型的网络参数,其中,损失值需要被设计为使P1和P2中匹配的细节点的精确描述子尽量一致,不匹配的细节点的精确描述子差距尽量大。若描述子提取模型的输入包括待处理图像和待处理图像的描述信息,则描述子提取模型的训练样本可以为多对已知其匹配情况的样本图像及各自的描述信息。具体的训练方法如上文,在此不再赘述。Before using the descriptor extraction model to extract the descriptor of the image to be processed, the descriptor extraction model needs to be trained. If the input of the descriptor extraction model includes images to be processed, the training samples of the descriptor extraction model may be multiple pairs of sample images whose matching conditions are known. Exemplarily, knowing the matching situation refers to knowing whether the sample image P1 and the sample image P2 match, and if so, which feature points match. For example, two sample images of P1 and P2 are matched, P1 and P2 respectively include 6 minutiae points P10-P15, P20-P25, and the corresponding accurate descriptors are d10-d15, d20-d25 respectively. It is known that the following minutiae points in P1 and P2 are matched: P11-P23, P13-P25, P12-P20, P10-P22, P14-P21. After knowing the matching situation between each minutiae point, the predicted value of the descriptor difference corresponding to each minutiae point and the true value GT of the descriptor difference of each minutiae point pair (for the minutiae point pair matched, the The GT of the difference between the descriptors of the two minutiae points in the minutiae pair is 0, and for the mismatched minutiae point pair, the difference between the descriptors of the two minutiae points in the minutiae pair is infinite) Calculate this 6*6=36 The loss value of the difference between the descriptors of a pair of minutiae points, and update the network parameters of the descriptor extraction model according to the loss value, where the loss value needs to be designed to make the exact descriptors of the matched minutiae points in P1 and P2 as consistent as possible. The gap between the precise descriptors of the matched minutiae should be as large as possible. If the input of the descriptor extraction model includes the image to be processed and the description information of the image to be processed, the training samples of the descriptor extraction model can be multiple pairs of sample images whose matching conditions are known and their respective description information. The specific training method is as above, and will not be repeated here.
本实施方式中,将待处理图像和待处理图像的描述信息作为描述子提取模型的输入,即可一次性的得到描述待处理图像中各特征点对应的用于描述各特征点所在子区域特征信息的描述子。In this embodiment, the image to be processed and the description information of the image to be processed are used as the input of the descriptor extraction model, and the characteristics of the sub-regions corresponding to each feature point in the image to be processed can be obtained at one time for describing the location of each feature point. information descriptor.
精确描述子确定方式2:根据多个第一特征点的位置数据,确定出多个第一特征点所在邻域的局部图像,将多个第一特征点的局部图像和/或局部图像的描述信息输入描述子提取模型,得到多个第一特征点对应的精确描述子。Accurate descriptor determination method 2: According to the position data of multiple first feature points, determine the local images of the neighborhood where the multiple first feature points are located, and combine the local images and/or descriptions of the local images of multiple first feature points The information is input into the descriptor extraction model to obtain accurate descriptors corresponding to multiple first feature points.
同样的,在使用描述子提取模型对待处理图像的描述子进行提取之前,需要对描述子提取模型进行训练。Similarly, before using the descriptor extraction model to extract the descriptor of the image to be processed, the descriptor extraction model needs to be trained.
局部图像的描述信息的提取以及模型训练方式与精确描述子确定方式1类似,不再赘述。可以理解的是,模型训练的目的同样是使匹配的细节点的精确描述子尽量一致,不匹配的细节点的精确描述子差距尽量大。The extraction of the description information of the partial image and the model training method are similar to the precise descriptor determination method 1, and will not be repeated here. It can be understood that the purpose of model training is also to make the exact descriptors of the matched minutiae as consistent as possible, and the gap between the exact descriptors of the unmatched minutiae be as large as possible.
本实施方式中,将特征点对应的局部数据作为描述子提取模型的输入,模型可以比较小,运算量少,运算速度快且结果准确性更高,但需要进行从待处理图像中截取局部图像等预处理。In this embodiment, the local data corresponding to the feature points is used as the input of the descriptor extraction model, the model can be relatively small, the amount of calculation is small, the calculation speed is fast, and the accuracy of the result is higher, but it is necessary to intercept the local image from the image to be processed Wait for preprocessing.
精确描述子确定方式3:对于多个第一特征点中的每个第一特征点,确定出该第一特征点的模糊描述子,将该第一特征点的模糊描述子聚类至与其距离最近的类别中心描述子,将距离最近的类别中心描述子作为该第一特征点对应的精确描述子;其中,类别中心描述子是对多个模糊描述子进行聚类得到的。Accurate descriptor determination method 3: For each first feature point among multiple first feature points, determine the fuzzy descriptor of the first feature point, and cluster the fuzzy descriptors of the first feature point to its distance The closest category center descriptor, using the nearest category center descriptor as the precise descriptor corresponding to the first feature point; wherein, the category center descriptor is obtained by clustering multiple fuzzy descriptors.
示例性的,第一特征点的模糊描述子是根据该第一特征点所在邻域的局部图像确定的。Exemplarily, the fuzzy descriptor of the first feature point is determined according to the local image of the neighborhood where the first feature point is located.
该实施方式中,通过三个步骤确定精确描述子。首先,对大量(例如100w)特征点进行描述子提 取,得到与特征点一一对应的模糊描述子;其次,对多个模糊描述子进行聚类,得到多个类别中心描述子;再次,对于多个第一特征点中的每个第一特征点,确定出该第一特征点的模糊描述子,将该第一特征点的模糊描述子聚类至与其距离最近的类别中心描述子,将距离最近的类别中心描述子作为该第一特征点对应的精确描述子。如此,可将模糊描述子转化为精确描述子。In this embodiment, the precise descriptor is determined through three steps. First, extract descriptors from a large number of (for example, 100w) feature points to obtain fuzzy descriptors corresponding to feature points; secondly, cluster multiple fuzzy descriptors to obtain multiple category center descriptors; thirdly, for For each first feature point in the plurality of first feature points, a fuzzy descriptor of the first feature point is determined, and the fuzzy descriptor of the first feature point is clustered to the category center descriptor closest to it, and the The closest category center descriptor is used as the precise descriptor corresponding to the first feature point. In this way, fuzzy descriptors can be transformed into precise descriptors.
通过以上几种方式确定精确描述子,使同一对象的相同生物位置在两次采集得到的图像上对应的两个特征点所对应的精确描述子大概率(例如90%以上的概率)相同,使得需要对描述子进行纠错的概率大大降低,从而提高解码速度。The accurate descriptors are determined by the above several methods, so that the exact descriptors corresponding to the two feature points corresponding to the same biological position of the same object on the images acquired twice are likely to be the same (for example, the probability of more than 90%) is the same, so that The probability of error correction of the descriptor is greatly reduced, thereby improving the decoding speed.
本实施方式中,生物特征表示包含生物特征数据和精确描述子,在步骤S430不同子步骤中使用精确描述子。在生物特征模板/根据生物特征模板得到量化值/特征转换步骤中使用精确描述子时,可提升生物特征识别方法的安全性和/或稳定性,在第一变换处理、第二变换处理中使用精确描述子时,相比于使用模糊的描述子,可提升生物识别方法的运算速度。可以理解的是,仅在生物特征模板和/或根据生物特征模板得到量化值中使用精确描述子时,步骤S430中的特征转换/第一变换处理/第二变换处理可以与精确描述子无关;仅在步骤S430中的特征转换/第一变换处理/第二变换处理中使用精确描述子时,根据第一生物特征模板进行特征转换可以为仅对第一生物特征模板中的特征数据进行特征转换,根据第一生物特征模板进行量化可以为仅根据第一生物特征模板中的生物特征数据进行量化。In this embodiment, the biometric representation includes biometric data and precise descriptors, and the precise descriptors are used in different sub-steps of step S430. When accurate descriptors are used in the biometric template/according to the biometric template to obtain the quantified value/feature conversion step, the security and/or stability of the biometric method can be improved, and it can be used in the first transformation process and the second transformation process When precise descriptors are used, the calculation speed of biometric methods can be improved compared to using vague descriptors. It can be understood that when the precise descriptor is only used in the biometric template and/or obtaining the quantified value according to the biometric template, the feature conversion/first transformation processing/second transformation processing in step S430 may have nothing to do with the precise descriptor; Only when the precise descriptor is used in the feature conversion/first transformation processing/second transformation processing in step S430, performing feature conversion according to the first biological feature template may be to perform feature conversion only on the feature data in the first biological feature template , performing quantification according to the first biological characteristic template may be performing quantification only according to biological characteristic data in the first biological characteristic template.
步骤S430通过第一种到第三种可选的实施方式实施时,可以分别在S100、S109和S120、S129和S140中使用精确描述子。When step S430 is implemented through the first to third optional implementation manners, precise descriptors may be used in S100, S109 and S120, S129 and S140 respectively.
具体的,步骤S430通过第一种可选的实施方式实施时,在S100使用精确描述子有3种方式:Specifically, when step S430 is implemented through the first optional implementation manner, there are three ways to use the precise descriptor in S100:
方式1:对第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥确定的;Mode 1: Perform feature conversion on the biometric data and precise descriptors included in the first biometric template to obtain the first auxiliary data; the feature conversion is determined according to the key corresponding to the first auxiliary data;
方式2:对第一生物特征模板中的生物特征数据进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥和精确描述子确定的;Mode 2: performing feature conversion on the biometric data in the first biometric template to obtain the first auxiliary data; the feature conversion is determined according to the key and the precise descriptor corresponding to the first auxiliary data;
方式3:对第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥和精确描述子确定的。Mode 3: Perform feature transformation on the biometric data and precise descriptor included in the first biometric template to obtain the first auxiliary data; the feature transformation is determined according to the key and the precise descriptor corresponding to the first auxiliary data.
在这3种方式中,使用描述子较不使用描述子增加了用于编码的信息,使得生物特征识别方法的安全性进一步提升。使用精确描述子较使用模糊描述子,可降低生物特征数据和描述子的双重模糊性造成的认证失败的可能性,从而增加生物特征识别方法的稳定性。Among these three methods, the use of descriptors increases the information used for encoding compared with the use of descriptors, which further improves the security of biometric identification methods. Compared with fuzzy descriptors, the use of accurate descriptors can reduce the possibility of authentication failure caused by double fuzziness of biometric data and descriptors, thereby increasing the stability of biometric identification methods.
步骤S430通过第二种可选的实施方式实施时,可在S109和S120中使用精确描述子。When step S430 is implemented through the second optional implementation manner, precise descriptors may be used in S109 and S120.
在S109中使用精确描述子时,可在步骤S1091和/或步骤S1092中使用精确的描述子。When the precise descriptor is used in S109, the precise descriptor may be used in step S1091 and/or step S1092.
步骤S1091,根据第一生物特征模板进行量化,包括:对第一生物特征模板中包括的生物特征数据和精确描述子进行量化;Step S1091, performing quantification according to the first biometric template, including: quantifying the biometric data and the precise descriptor included in the first biometric template;
可理解的是,即便生物特征表示中包含精确描述子,S1091的量化过程也可仅使用生物特征数据而不使用描述子。当S1091中使用精确描述子时,又包括格点空间增大和不增大两种情况。It can be understood that, even if the biometric representation contains accurate descriptors, the quantization process of S1091 may only use biometric data without using descriptors. When the precise descriptor is used in S1091, there are two cases of increasing and not increasing the grid space.
如前,将生物特征数据和精确描述子量化至格点空间时,如果相比于不使用描述子时格点空间增大,可提升生物识别方法的安全性,如果相比于不使用描述子时格点空间不增大,可提升生物识别方法的稳定性。As before, when biometric data and precise descriptors are quantized to the grid space, if the grid space is increased compared to when the descriptor is not used, the security of the biometric method can be improved. The time lattice point space does not increase, which can improve the stability of the biometric identification method.
步骤S1092,得到量化值,包括:对步骤S1091的量化结果进行第三变换处理,得到量化值,第三变换处理是根据精确描述子确定的;第三变换处理为可逆或不可逆变换;Step S1092, obtaining the quantized value includes: performing a third transform process on the quantized result of step S1091 to obtain the quantized value, the third transform process is determined according to the precise descriptor; the third transform process is reversible or irreversible transform;
示例性的,量化值X=φ d(T),其中T为步骤S1091中得到的量化结果,φ d为根据精确描述子确 定的第三变换处理。 Exemplarily, the quantization value X=φ d (T), wherein T is the quantization result obtained in step S1091, and φ d is the third transformation process determined according to the precise descriptor.
在本实施方式中,若想猜对真实点,不仅要猜中T(当T仅根据生物特征数据确定时,猜中T意味着猜中生物特征数据即可),还要额外的猜中d,如此,可进一步提高生物特征识别方法的安全性。In this embodiment, if you want to guess the real point, you must not only guess T (when T is determined only according to the biometric data, guessing T means guessing the biometric data), but also an additional guess d In this way, the security of the biometric identification method can be further improved.
认证阶段,可对认证阶段采集的待认证生物特征模板用同样方式进行量化得到待认证量化值,根据待认证量化值进行解码运算即可进行认证,无需还原出第三变换处理前的量化结果,因此第三变换处理为可逆或不可逆变换。In the authentication stage, the biometric template to be authenticated collected in the authentication stage can be quantified in the same way to obtain the quantized value to be authenticated, and the authentication can be performed by decoding the quantized value to be authenticated without restoring the quantized result before the third transformation process. Therefore, the third transformation process is a reversible or irreversible transformation.
也就是说,在S109中使用额外的精确描述子信息,能够进一步提升生物特征识别算法的安全性和/或稳定性。如果仅在S1091中使用精确描述子且格点空间不增大,则提升稳定性;如果仅在S1091中使用精确描述子且格点空间增大,则提升安全性;如果仅在S1092中使用精确描述子,则提升安全性;如果在S1092和S1091中使用精确描述子且格点空间不增大,则提升稳定性和安全性;如果在S1092和S1091中使用精确描述子且格点空间增大,则提升安全性。That is to say, using the additional accurate descriptor information in S109 can further improve the security and/or stability of the biometric identification algorithm. If only precise descriptors are used in S1091 and the lattice space does not increase, then stability is improved; if only precise descriptors are used in S1091 and the lattice space is increased, security is improved; if only precise descriptors are used in S1092 If the descriptor is used in S1092 and S1091, the security is improved; if the precise descriptor is used in S1092 and S1091 and the grid space does not increase, the stability and security are improved; if the precise descriptor is used in S1092 and S1091 and the grid space is increased , the security is improved.
当在S120的第一变换处理中使用精确描述子时,相对于使用模糊的描述子,将显著提高认证时的运算速度。When the precise descriptor is used in the first transformation process of S120, compared with using the fuzzy descriptor, the operation speed during authentication will be significantly improved.
在第二种可选的实施方式的第一个实施方式2.1中,步骤S110和S120可以被实施为:In the first implementation manner 2.1 of the second optional implementation manner, steps S110 and S120 may be implemented as:
S1101,根据第一辅助数据对应的密钥,确定出第一代数曲线的参数;S1101. Determine the parameters of the first algebraic curve according to the key corresponding to the first auxiliary data;
在一个具体的实施方式中,第一辅助数据对应的密钥为k维,第一代数曲线为k阶多项式f,根据第一辅助数据对应的密钥,确定出k阶多项式的系数。In a specific implementation, the key corresponding to the first auxiliary data is k-dimensional, the first algebraic curve is a k-order polynomial f, and the coefficients of the k-order polynomial are determined according to the key corresponding to the first auxiliary data.
S1103,将量化值中的第一量化值在第一代数曲线上进行映射,得到第一量化值对应的第一映射值,纠错码码字包括多个映射值。S1103. Map the first quantization value among the quantization values on the first algebraic curve to obtain a first mapping value corresponding to the first quantization value, and the error correction code word includes a plurality of mapping values.
示例性的,第一量化值为量化值中的一个量化值。将第一量化值在第一代数曲线上进行映射,得到第一映射值,由此得到各量化值一一对应的各映射值,纠错码码字包括各映射值。可将以第一量化值为第一坐标分量,第一映射值为第二坐标分量的点称为第一点;各量化值、各映射值为第一、第二坐标分量的点集称为第一点集。Exemplarily, the first quantization value is one of the quantization values. The first quantization value is mapped on the first algebraic curve to obtain the first mapping value, thereby obtaining each mapping value corresponding to each quantization value one-to-one, and the error correction code word includes each mapping value. The point with the first quantization value as the first coordinate component and the first mapping value as the second coordinate component can be called the first point; the point set with each quantization value and each mapping value as the first and second coordinate components is called First point set.
在一个具体的实施方式中,量化值X包括与特征点一一对应的多个量化值x1,x2…xn。对于每个量化值,生成其对应的映射值y1=f(x1),y2=f(x2),…yn=f(xn)。纠错码码字包括y1,y2,…yn。第一点集为{(x1,y1),(x2,y2),…(xn,yn)}。第一点为第一点集中的一个点。In a specific implementation manner, the quantization value X includes a plurality of quantization values x1, x2...xn corresponding to the feature points one-to-one. For each quantization value, its corresponding mapping value y1=f(x1), y2=f(x2), . . . yn=f(xn) is generated. The code words of the error correction code include y1, y2,...yn. The first set of points is {(x1,y1),(x2,y2),...(xn,yn)}. The first point is a point in the first point set.
S1201,生成杂凑点集;S1201, generating a hash point set;
在一个具体的实施方式中,杂凑点集中的杂凑点可以是随机生成的,且杂凑点的第一坐标分量不等于任一量化值。In a specific implementation manner, the hash points in the hash point set may be randomly generated, and the first coordinate component of the hash points is not equal to any quantization value.
S1203,根据第一辅助点集和杂凑点集,确定第一辅助数据;其中,第一辅助点集中的第一辅助点与第一代数曲线上的第一点具有第一函数关系,第一点以第一量化值为第一坐标分量,以第一映射值为第二坐标分量;第一辅助点的第一坐标分量是根据第一量化值确定的。S1203. Determine the first auxiliary data according to the first auxiliary point set and the hash point set; wherein, the first auxiliary point in the first auxiliary point set has a first functional relationship with the first point on the first algebraic curve, and the first The point uses the first quantization value as the first coordinate component, and the first mapping value as the second coordinate component; the first coordinate component of the first auxiliary point is determined according to the first quantization value.
在步骤S1103中已经得到第一点集,可将第一点集直接作为第一辅助点集,此时第一函数关系为恒等映射;或者,对第一点集进行变换处理得到第一辅助点集,此时第一函数关系由变换处理决定。In step S1103, the first point set has been obtained, and the first point set can be directly used as the first auxiliary point set. At this time, the first functional relationship is an identity mapping; or, the first point set is transformed to obtain the first auxiliary point set. point set, at this time the first functional relationship is determined by the transformation process.
在一个具体的实施方式中,将第一辅助点集和杂凑点集的并集作为第一辅助数据。In a specific implementation manner, the union of the first auxiliary point set and the hash point set is used as the first auxiliary data.
在认证阶段,需要还原出第一点集中足够多的点,从而确定出第一代数曲线的参数,进而确定第一辅助数据对应的密钥。In the authentication phase, it is necessary to restore enough points in the first point set, so as to determine the parameters of the first algebraic curve, and then determine the key corresponding to the first auxiliary data.
对应对第一点集进行变换处理得到第一辅助点集的情况,S120还可以包括:S1202,对第一点进行第四变换处理,得到第一辅助点集中的第一辅助点;第四变换处理是根据精确描述子确定的,第四 变换处理为可逆变换。Corresponding to the case of performing transformation processing on the first point set to obtain the first auxiliary point set, S120 may also include: S1202, performing a fourth transformation process on the first point to obtain the first auxiliary point in the first auxiliary point set; the fourth transformation The processing is determined according to the precise descriptor, and the fourth transformation processing is reversible transformation.
可理解的是,确定了第一点集中每个点对应的辅助点,也就得到了辅助点构成的第一辅助点集。It can be understood that, after determining the auxiliary points corresponding to each point in the first point set, the first auxiliary point set composed of auxiliary points is obtained.
例如,第一点集为{(x1,y1),(x2,y2),…(xn,yn)},第一辅助点集为{(x1’,y1’),(x2’,y2’),…(xn’,yn’)},(xi’,yi’)=Φ d(xi,yi)=(Φ d x(xi),Φ d y(xi,yi)),其中i=1-n。其中,Φ d表示根据精确描述子确定的第四变换处理,Φ d x表示第四变换处理中用于得到第一辅助点的第一坐标分量的第一变换分量,Φ d y表示第四变换处理中用于得到第一辅助点的第二坐标分量的第二变换分量。可以理解的是,Φ d可以只有第二变换分量而没有第一变换分量,即xi’=xi。 For example, the first point set is {(x1,y1),(x2,y2),…(xn,yn)}, and the first auxiliary point set is {(x1',y1'),(x2',y2') ,...(xn',yn')}, (xi',yi')=Φ d (xi,yi)=(Φ d x (xi),Φ d y (xi,yi)), where i=1- n. Among them, Φ d represents the fourth transformation process determined according to the precise descriptor, Φ d x represents the first transformation component used to obtain the first coordinate component of the first auxiliary point in the fourth transformation process, and Φ d y represents the fourth transformation The second transformation component used to obtain the second coordinate component of the first auxiliary point during processing. It can be understood that Φ d may have only the second transformation component without the first transformation component, that is, xi'=xi.
需要说明的是,第四变换处理需要满足(x,y)∣→(Φ d x(x),Φ d y(x,y)),其中,Φ d x(x)表示第一变换分量与第一点的第二坐标分量无关,可以与第一点的第一坐标分量有关;Φ d y(x,y)表示第二变换分量可以既与第一点的第一坐标分量有关、又与第一点的第二坐标分量有关(也可与第一点的第一坐标分量无关)。 It should be noted that the fourth transformation process needs to satisfy (x,y)∣→(Φ d x (x),Φ d y (x,y)), where Φ d x (x) represents the first transformation component and The second coordinate component of the first point has nothing to do with the first coordinate component of the first point; Φ d y (x, y) means that the second transformation component can be related to the first coordinate component of the first point and It is related to the second coordinate component of the first point (or not related to the first coordinate component of the first point).
第四变换处理需满足上述条件,以确保在认证阶段,能够根据待认证生物特征模板对应的量化值从辅助数据中确定出第一辅助点集中的点,第四变换处理需要可逆,以确保能够根据辅助数据中的第一辅助点还原出其对应的第一点集中的点。The fourth transformation process needs to meet the above conditions to ensure that in the authentication stage, the points in the first auxiliary point set can be determined from the auxiliary data according to the quantization value corresponding to the biometric template to be authenticated. The fourth transformation process needs to be reversible to ensure that it can According to the first auxiliary point in the auxiliary data, the corresponding points in the first point set are restored.
例如,根据同一生物特征模板两次用实施方式2.1分别生成第一、第二辅助数据时,根据第一辅助数据对应的密钥确定出的第一代数曲线为f,根据第二辅助数据对应的密钥确定出的第二代数曲线为g,第四变换处理为利用精确描述子d和纠错码码字f(x)/g(x)进行异或运算,则第一辅助数据
Figure PCTCN2022126690-appb-000001
Figure PCTCN2022126690-appb-000002
(其中i=1-n,为真实的细节点,x’为杂凑点,ε为随机噪声),第二辅助数据
Figure PCTCN2022126690-appb-000003
(其中i=1-n,为真实的细节点,x’为杂凑点,δ为随机噪声)。如果描述子d是模糊的,为了对d进行纠错,需要对纠错码码字f(x)g(x)进行再一轮的纠错码编码,这时有
Figure PCTCN2022126690-appb-000004
Figure PCTCN2022126690-appb-000005
如果攻击者拿到H1和H2,并将
Figure PCTCN2022126690-appb-000006
则有{xi,Enc(f(xi)+g(xi))}∪{x’,Enc(f(x’)+g(x’))+ε+δ}。如此,真实的细节点的第二坐标分量对应Enc这个纠错码的纠错码码字,杂凑点的第二坐标分量由于噪声的随机性不一定不对应纠错码码字,如此攻击者可根据辅助数据筛选出大部分真实的细节点,导致生物特征识别算法不安全。当使用精确描述子时,无需对f(xi),g(xi)进行纠错码编码,也就可以克服该问题。
For example, when using Embodiment 2.1 to generate the first and second auxiliary data respectively based on the same biometric template twice, the first algebraic curve determined according to the key corresponding to the first auxiliary data is f, and according to the corresponding key of the second auxiliary data The second algebraic curve determined by the key is g, and the fourth transformation process is to use the precise descriptor d and the error correction code word f(x)/g(x) to perform XOR operation, then the first auxiliary data
Figure PCTCN2022126690-appb-000001
Figure PCTCN2022126690-appb-000002
(where i=1-n, is the real detail point, x' is the hash point, ε is random noise), the second auxiliary data
Figure PCTCN2022126690-appb-000003
(where i=1-n is the real minutiae point, x' is the hash point, and δ is the random noise). If the descriptor d is ambiguous, in order to correct d, it is necessary to perform another round of error correction code coding on the error correction code word f(x)g(x), then there is
Figure PCTCN2022126690-appb-000004
Figure PCTCN2022126690-appb-000005
If the attacker gets H1 and H2, and
Figure PCTCN2022126690-appb-000006
Then there are {xi, Enc(f(xi)+g(xi))}∪{x', Enc(f(x')+g(x'))+ε+δ}. In this way, the second coordinate component of the real minutiae point corresponds to the error-correcting code word of the error-correcting code Enc, and the second coordinate component of the hash point does not necessarily correspond to the error-correcting code word due to the randomness of the noise, so the attacker can Most of the real minutiae points are screened out based on the auxiliary data, which makes the biometric identification algorithm unsafe. When precise descriptors are used, this problem can be overcome without encoding f(xi), g(xi) with an error-correcting code.
在第二种可选的实施方式的第二个实施方式2.2中,步骤S110和S120并无清晰界限,步骤S110和S120可以被实施为:In the second implementation manner 2.2 of the second optional implementation manner, there is no clear boundary between steps S110 and S120, and steps S110 and S120 may be implemented as:
S1105:根据第一辅助数据对应的密钥,确定出第一代数曲线的参数。参见步骤S1101。S1105: Determine parameters of the first algebraic curve according to the key corresponding to the first auxiliary data. See step S1101.
S1107:根据量化值和第一代数曲线,确定第一映射关系的参数;S1107: Determine the parameters of the first mapping relationship according to the quantization value and the first algebraic curve;
其中,第一集合和第二集合之间具有第一映射关系。Wherein, there is a first mapping relationship between the first set and the second set.
需要说明的是,第一集合和第二集合是为了描述第一映射关系而引出,并不必须生成或存储第一集合和第二集合。It should be noted that the first set and the second set are introduced to describe the first mapping relationship, and it is not necessary to generate or store the first set and the second set.
第一集合的第一子集是量化值确定的;以第一子集中的第一值为第一坐标分量、第二集合中与第一值满足第一映射关系的值为第二坐标分量的子集点与第一代数曲线上的第二点具有第二函数关系;第二点的第一坐标分量为与第一值对应的量化值。全部或大部分以第一集合中第一子集的补集中的值为第一坐标分量、第二集合中与该值满足第一映射关系的值为第二坐标分量的补集点与第一代数曲线上的点不具有第二函数关系。The first subset of the first set is determined by the quantization value; the first value in the first subset is the first coordinate component, and the value in the second set that satisfies the first mapping relationship with the first value is the second coordinate component The subset point has a second functional relationship with the second point on the first algebraic curve; the first coordinate component of the second point is a quantized value corresponding to the first value. All or most of the value in the complement of the first subset in the first set is the first coordinate component, and the value in the second set that satisfies the first mapping relationship with this value is the complement point of the second coordinate component and the first Points on an algebraic curve do not have a second functional relationship.
可以理解的是,第一值为第一子集中任一值。It can be understood that the first value is any value in the first subset.
也就是说,第一映射关系需要使子集点和补集点的第一坐标分量、第二坐标分量均满足第一映射关系,并且,子集点与第二代数曲线上的第二点具有第二函数关系,而全部或大部分补集点与第二代数曲线上的点不具有第二函数关系。That is to say, the first mapping relationship needs to make the first coordinate component and the second coordinate component of the subset point and the complement point satisfy the first mapping relationship, and the subset point and the second point on the second algebraic curve have The second functional relationship, and all or most of the complement points do not have the second functional relationship with the points on the second algebraic curve.
示例性的,第一映射关系可以表示为如式1.1,Exemplarily, the first mapping relationship can be expressed as formula 1.1,
Figure PCTCN2022126690-appb-000007
Figure PCTCN2022126690-appb-000007
其中,第一集合中元素为X,第二集合与X对应的元素为V(X),第一代数曲线为f(X),A为量化值对应的集合x1,x2,…xn,i为1-n。对于子集点,式1.1中第二项为0,第二函数关系为恒等映射。Among them, the element in the first set is X, the element corresponding to X in the second set is V(X), the first algebraic curve is f(X), and A is the set x1, x2,...xn, i corresponding to the quantized value for 1-n. For the subset points, the second item in formula 1.1 is 0, and the second functional relationship is identity mapping.
本实施方式中,第一映射关系为n阶多项式,将V(X)展开,得到n阶多项式中X各次方项的系数。In this embodiment, the first mapping relationship is an n-order polynomial, and V(X) is expanded to obtain the coefficients of each power term of X in the n-order polynomial.
S1109:根据第一映射关系的参数,确定第一辅助数据。S1109: Determine first auxiliary data according to parameters of the first mapping relationship.
示例性的,将第一映射关系的参数作为第一辅助数据。例如,将多项式系数作为第一辅助数据。Exemplarily, the parameters of the first mapping relationship are used as the first auxiliary data. For example, polynomial coefficients are used as the first auxiliary data.
在本实施方式中,子集点即真实点和补集点即杂凑点的第一坐标分量、第二坐标分量符合相同的第一映射关系,只需存储第一映射关系的参数,无需存储真实点和杂凑点坐标,大大节省了存储空间。In this embodiment, the first coordinate component and the second coordinate component of the subset point, that is, the real point, and the complement point, that is, the hash point, conform to the same first mapping relationship, and only need to store the parameters of the first mapping relationship, without storing the real Point and hash point coordinates, greatly saving storage space.
一个具体的实施方式中,步骤S1107,包括:根据量化值、精确描述子和第一代数曲线,确定第一映射关系的参数。In a specific implementation manner, step S1107 includes: determining parameters of the first mapping relationship according to the quantization value, the precise descriptor and the first algebraic curve.
使用精确描述子时,第一映射关系可根据精确描述子确定。When the precise descriptor is used, the first mapping relationship can be determined according to the precise descriptor.
示例性的,第一映射关系可以表示为如式1.3或式1.5的形式:Exemplarily, the first mapping relationship can be expressed in the form of formula 1.3 or formula 1.5:
Figure PCTCN2022126690-appb-000008
Figure PCTCN2022126690-appb-000008
Figure PCTCN2022126690-appb-000009
Figure PCTCN2022126690-appb-000009
其中,第一集合中元素为X,第二集合与X对应的元素为V(X),第一代数曲线为f(X),A为量化值对应的集合x1,x2,…xn,i为1-n,Φ d为与精确描述子有关的变换处理。第二函数关系根据Φ d确定。 Among them, the element in the first set is X, the element corresponding to X in the second set is V(X), the first algebraic curve is f(X), and A is the set x1, x2,...xn, i corresponding to the quantized value is 1-n, Φ d is the transformation process related to the precise descriptor. The second functional relationship is determined according to Φ d .
可以理解的是,Φ d需要满足第四变换处理同样的条件,以确保在认证阶段,能够根据待认证生物特征模板对应的量化值从辅助数据中筛选出子集点。同时,Φ d需要可逆,以确保能够根据辅助数据还原出第二点。可以理解的是,式1.3和式1.5中,Φ d只包含第二变换分量。 It can be understood that Φ d needs to meet the same conditions as the fourth transformation process, so as to ensure that in the authentication stage, subset points can be selected from the auxiliary data according to the quantitative value corresponding to the biometric template to be authenticated. At the same time, Φ d needs to be reversible to ensure that the second point can be restored according to the auxiliary data. It can be understood that, in Equation 1.3 and Equation 1.5, Φ d only includes the second transformation component.
在第二种可选的实施方式的第三个实施方式2.3中,步骤S110和S120可以被实施为:In the third implementation manner 2.3 of the second optional implementation manner, steps S110 and S120 may be implemented as:
S1111,根据第一辅助数据对应的密钥,确定纠错码码字;S1111. Determine an error correction code word according to the key corresponding to the first auxiliary data;
在一个具体的实施方式中,第一辅助数据对应的密钥为k维,码本中包含多个n维的纠错码码字,可根据第一辅助数据对应的密钥,从码本的纠错码码字中确定出第一辅助数据对应的密钥所对应的纠错码码字。In a specific implementation, the key corresponding to the first auxiliary data is k-dimensional, and the codebook contains a plurality of n-dimensional error correction code words. According to the key corresponding to the first auxiliary data, from the codebook The error correction code word corresponding to the key corresponding to the first auxiliary data is determined from the error correction code word.
示例性的,通过补零将第一辅助数据对应的密钥扩展为n维向量,在码本的纠错码码字中确定出与该n维向量最接近的纠错码码字作为第一辅助数据对应的密钥所对应的纠错码码字。示例性的,将k维的第一辅助数据对应的密钥与k*n的编码矩阵进行运算转换为n维向量作为纠错码码字。Exemplarily, the key corresponding to the first auxiliary data is expanded into an n-dimensional vector by padding zeros, and the error-correcting code word closest to the n-dimensional vector is determined from the error-correcting code words in the codebook as the first An error correction code word corresponding to the key corresponding to the auxiliary data. Exemplarily, the key corresponding to the k-dimensional first auxiliary data is converted into an n-dimensional vector by performing an operation with a k*n coding matrix as an error correction code word.
S1205,根据量化值对应的生物向量确定置换运算;将置换运算作用在纠错码码字上,得到第一辅助数据。S1205. Determine a permutation operation according to the biological vector corresponding to the quantization value; apply the permutation operation to the codeword of the error correction code to obtain first auxiliary data.
本步骤中,通过置换运算在编码运算中实现对纠错码码字和量化值的绑定,即实现第一辅助数据对应的密钥和生物特征模板的绑定。In this step, the binding of the code word of the error correction code and the quantized value is realized in the encoding operation through the replacement operation, that is, the binding of the key corresponding to the first auxiliary data and the biometric template is realized.
可理解的是,量化值本身即可是向量的形式,可以认为量化值本身即为生物向量。量化值本身非 向量形式时,可将量化值转化为其对应的生物向量。It is understandable that the quantized value itself can be in the form of a vector, and it can be considered that the quantized value itself is a biological vector. When the quantized value itself is not in vector form, the quantized value can be converted into its corresponding biological vector.
例如,量化值包括64个指纹细节点对应的64个量化值,每个量化值对应的生物特征数据可用细节点位置、角度i,j,θ表示,其中i,j,θ分别占用5、4、3bit,另外6bit表示该量化值对应的细节点,则每个量化值对应12bit的向量,64个量化值总体对应的生物向量为18bit。For example, the quantized value includes 64 quantized values corresponding to 64 fingerprint minutiae points, and the biometric data corresponding to each quantized value can be represented by minutiae position, angle i, j, θ, where i, j, θ occupy 5, 4 , 3bit, and the other 6bits represent the detail points corresponding to the quantized value, then each quantized value corresponds to a 12-bit vector, and the biological vector corresponding to the 64 quantized values is 18 bits.
示例性的,步骤S1205可表示为H=K X(c)。其中K X为根据X确定的置换运算。置换运算可包括相对于生物向量X的平移、旋转等,置换运算可以是与生物向量X的矩阵运算。例如根据量化值对应的生物向量确定出的置换运算为“
Figure PCTCN2022126690-appb-000010
”即与生物向量进行异或运算,
Figure PCTCN2022126690-appb-000011
本质上表征c相对于X的平移量。可理解的是,对于某些置换运算,要求生物向量X和纠错码码字c的长度相同。
Exemplarily, step S1205 may be expressed as H=K X (c). where K X is a permutation operation determined according to X. The replacement operation may include translation and rotation relative to the biological vector X, and the replacement operation may be a matrix operation with the biological vector X. For example, the replacement operation determined according to the biological vector corresponding to the quantized value is "
Figure PCTCN2022126690-appb-000010
” That is, XOR operation with the biological vector,
Figure PCTCN2022126690-appb-000011
Essentially characterizes the amount of translation of c relative to X. It is understandable that, for some permutation operations, it is required that the biometric vector X and the code word c of the error correction code have the same length.
示例性的,可直接将置换运算结果作为第一辅助数据即H=K X(c),也可将置换运算结果进行后续变换处理后作为第一辅助数据。 Exemplarily, the result of the permutation operation can be directly used as the first auxiliary data, that is, H=K X (c), or the result of the permutation operation can be used as the first auxiliary data after subsequent transformation processing.
在对置换运算结果进行后续变换处理得到第一辅助数据的一个具体的实施方式中,将置换运算作用在纠错码码字上,得到第一辅助数据,包括:In a specific embodiment of performing subsequent transformation processing on the result of the permutation operation to obtain the first auxiliary data, the permutation operation is applied to the codeword of the error correction code to obtain the first auxiliary data, including:
S1205a,将置换运算作用在纠错码码字上,得到置换运算结果;S1205a, apply the permutation operation to the code word of the error correction code to obtain a permutation operation result;
S1205b,对置换运算结果进行第五变换处理,得到第一辅助数据;第五变换处理是根据精确描述子确定的;第五变换处理为可逆变换,以确保得以根据第一辅助数据还原出置换运算结果,进而还原出第一辅助数据对应的密钥。S1205b. Perform the fifth transformation process on the result of the permutation operation to obtain the first auxiliary data; the fifth transformation process is determined according to the precise descriptor; the fifth transformation process is reversible transformation, so as to ensure that the permutation operation can be restored according to the first auxiliary data As a result, the key corresponding to the first auxiliary data is further restored.
示例性的,第五变换处理的变量可以为置换运算结果K X(c)(此时有H=Φ d(K X(c))),也可以为置换运算结果K X(c)和生物向量X(此时有H=Φ d(X,K X(c)))。 Exemplarily, the variable of the fifth transformation process can be the replacement operation result K X (c) (at this time, H=Φ d (K X (c))), or the replacement operation result K X (c) and biological Vector X (at this time, H=Φ d (X, K X (c))).
步骤S430通过第三种可选的实施方式实施时,可在S129和S140中使用精确描述子。When step S430 is implemented through the third optional implementation manner, precise descriptors may be used in S129 and S140.
在S129中使用精确描述子的方式和效果参见S109的说明,不再赘述。For the manner and effect of using the precise descriptor in S129, refer to the description of S109, and details will not be repeated here.
在第三种可选的实施方式的实施方式3.1中,步骤S130-S150可以被实施为:In implementation manner 3.1 of the third optional implementation manner, steps S130-S150 may be implemented as:
S1301,随机确定纠错码码字;S1301. Randomly determine an error correction code word;
S1401,根据量化值对应的生物向量确定置换运算;将置换运算作用在纠错码码字上,得到第一辅助数据;S1401. Determine a permutation operation according to the biological vector corresponding to the quantization value; apply the permutation operation to the codeword of the error correction code to obtain first auxiliary data;
本实施方式类似于实施方式2.3,只是纠错码码字是随机确定而不是根据第一辅助数据对应的密钥确定。This embodiment is similar to Embodiment 2.3, except that the code word of the error correction code is determined randomly instead of according to the key corresponding to the first auxiliary data.
S150,根据量化值生成第一辅助数据对应的密钥。S150. Generate a key corresponding to the first auxiliary data according to the quantization value.
示例性的,根据量化值和一随机量生成k维的密钥,使得根据同一生物特征模板可生成不同密钥。示例性的,在第一辅助数据中包含该随机量。Exemplarily, a k-dimensional key is generated according to the quantized value and a random quantity, so that different keys can be generated according to the same biometric template. Exemplarily, the random amount is included in the first auxiliary data.
在第三种可选的实施方式的实施方式3.2中,步骤S130-S150可以被实施为:In implementation manner 3.2 of the third optional implementation manner, steps S130-S150 may be implemented as:
S1303,确定与量化值对应的生物向量距离最近的码字为纠错码码字;S1303. Determine that the codeword with the closest distance to the biological vector corresponding to the quantization value is the codeword of the error correction code;
S1403,根据生物向量与纠错码码字的差异,得到第一辅助数据。S1403. Obtain first auxiliary data according to the difference between the biological vector and the codeword of the error correction code.
示例性的,生物向量为X,纠错码码字为C,H=X-C。Exemplarily, the biological vector is X, the code word of the error correction code is C, and H=X-C.
S150,根据量化值生成第一辅助数据对应的密钥。参见对实施方式3.1中对S150的说明。S150. Generate a key corresponding to the first auxiliary data according to the quantization value. Refer to the description of S150 in Embodiment 3.1.
可理解的是,在步骤S1401和1403中,可直接将置换运算结果或计算差异后的结果作为第一辅助数据的一部分,也将在其基础上进行后续变换处理后的结果作为第一辅助数据的一部分。可理解的是,第一辅助数据中还可以包括根据量化值生成第一辅助数据对应的密钥时所用的随机量。It can be understood that in steps S1401 and 1403, the result of the permutation operation or the calculated difference can be directly used as a part of the first auxiliary data, and the result of the subsequent transformation process based on it can also be used as the first auxiliary data a part of. It is understandable that the first auxiliary data may further include a random amount used when generating a key corresponding to the first auxiliary data according to the quantization value.
示例性的,步骤S1401和S1403中的得到第一辅助数据包括:通过第六变换处理,得到第一辅助数据;第六变换处理是根据精确描述子确定的,第六变换处理是可逆的。第六变换处理的描述见第五 变换处理。Exemplarily, obtaining the first auxiliary data in steps S1401 and S1403 includes: obtaining the first auxiliary data through a sixth transformation process; the sixth transformation process is determined according to the precise descriptor, and the sixth transformation process is reversible. For the description of the sixth conversion process, see the fifth conversion process.
可以理解的是,若第四变换处理、实施方式2.2中的Φ d、第五变换处理或第六变换处理是与描述子有关且描述子是模糊的,在认证阶段,首先要对描述子的模糊进行纠错,还要对量化值的模糊进行纠错,而使用精确的描述子可将两层纠错减少为一层纠错,从而提高解码速度。 It can be understood that if the fourth transformation process, Φ d in Embodiment 2.2, the fifth transformation process, or the sixth transformation process are related to the descriptor and the descriptor is fuzzy, in the authentication phase, the Error correction is performed on fuzziness, and error correction is also performed on the fuzziness of the quantized value. Using an accurate descriptor can reduce two layers of error correction to one layer of error correction, thereby increasing the decoding speed.
一个具体实施方式中,第一辅助数据对应的密钥或其他密钥的获取、使用(例如步骤S430,或S430中涉及量化值和第一辅助数据对应的密钥的部分)和/或传输过程(例如由终端发送至服务器)都在终端设备TEE(Trusted Execution Environment,可信执行环境)中被执行。如此,可保证密钥不出TEE、不被泄露,进一步保证了生物识别系统的安全性。In a specific embodiment, the acquisition, use (such as step S430, or the part of S430 involving the quantization value and the key corresponding to the first auxiliary data) and/or transmission process of the key corresponding to the first auxiliary data or other keys (For example, sent from the terminal to the server) are all executed in the terminal device TEE (Trusted Execution Environment, Trusted Execution Environment). In this way, it can be guaranteed that the key will not leave the TEE and will not be leaked, further ensuring the security of the biometric system.
由于待处理图像包括生物特征区域,也涉及用户隐私,当然希望从待处理图像的采集到预处理、获得生物特征模板、由生物特征模板得到辅助数据的过程都在TEE中进行,然而TEE无论算力还是存储空间都是有限的,各个步骤均在TEE执行中难以实现,此时可以将各步骤以一定优先级在TEE中执行。在一个具体实施方式中,步骤S420按照以下两种方式进行划分为不同子步骤,并且各个子步骤以一定优先级在TEE执行:Since the image to be processed includes the biometric region and also involves user privacy, it is hoped that the process from the acquisition of the image to be processed to preprocessing, obtaining the biometric template, and obtaining auxiliary data from the biometric template are all carried out in the TEE. Both power and storage space are limited, and each step is difficult to implement in TEE execution. At this time, each step can be executed in TEE with a certain priority. In a specific implementation, step S420 is divided into different sub-steps in the following two ways, and each sub-step is executed in TEE with a certain priority:
划分方式1,步骤S420包括:根据第一生物特征区域确定第一中间结果,根据第一中间结果确定第一生物特征模板;Division 1, step S420 includes: determining a first intermediate result according to the first biometric region, and determining a first biometric template according to the first intermediate result;
其中,根据第一生物特征区域确定第一中间结果以第一优先级在可信执行环境中被执行;根据第一中间结果确定第一生物特征模板以第二优先级在可信执行环境中被执行。Wherein, the first intermediate result determined according to the first biometric area is executed in the trusted execution environment with the first priority; the first biometric template determined according to the first intermediate result is executed in the trusted execution environment with the second priority implement.
此种方式将步骤S420划分为两段,当TEE资源充足时,两段可均在TEE执行,否则两段以一定优先级在TEE中执行。In this way, step S420 is divided into two sections. When the TEE resources are sufficient, both sections can be executed in the TEE; otherwise, the two sections can be executed in the TEE with a certain priority.
划分方式2,根据第一生物特征区域确定第二中间结果;根据第二中间结果确定第三中间结果;根据第三中间结果确定第一生物特征模板;Division 2, determining the second intermediate result according to the first biometric region; determining the third intermediate result according to the second intermediate result; determining the first biometric template according to the third intermediate result;
其中,根据第一生物特征区域确定第二中间结果以第一优先级在可信执行环境中被执行;根据第三中间结果确定第一生物特征模板以第二优先级在可信执行环境中被执行;根据第二中间结果确定第三中间结果以第三优先级在可信执行环境中被执行。Wherein, the second intermediate result determined according to the first biometric area is executed in the trusted execution environment with the first priority; the first biometric template determined according to the third intermediate result is executed in the trusted execution environment with the second priority Executing: determining according to the second intermediate result that the third intermediate result is executed in the trusted execution environment with a third priority.
此种方式将步骤S420划分三段,当TEE资源充足时,三段可均在TEE执行,否则三段以一定优先级在TEE中执行。In this way, step S420 is divided into three stages. When TEE resources are sufficient, all three stages can be executed in TEE; otherwise, the three stages can be executed in TEE with a certain priority.
其中,第三优先级低于第一优先级,第三优先级低于第二优先级。上述第一优先级、第二优先级孰高孰低并不做限制,“第一”、“第二”并不代表优先级高低。Wherein, the third priority is lower than the first priority, and the third priority is lower than the second priority. There is no limitation on which of the above-mentioned first priority and second priority is higher or lower, and "first" and "second" do not mean high or low priority.
可以理解的是,不在TEE中执行的步骤在REE中执行。一方面,根据第一生物特征区域进行浅层变换得到中间结果的过程与第一生物特征区域相关性较强,涉及用户隐私,应该以高优先级(第一优先级)放入TEE;另一方面,在步骤S430已经在TEE中执行的前提下,将步骤S420中与步骤S430紧密连接的部分放在TEE中执行并不增加TEE与REE之间的通信成本,可以考虑以高优先级(第二优先级)放入TEE。基于上述两方面考虑,在划分方式2中,根据第二中间结果确定第三中间结果的步骤既不属于第一生物特征区域相关性较强的步骤,也不属于与步骤S103紧密连接的步骤,可以最低优先级在TEE中执行。而第一优先级和第二优先级哪个更高,可根据更希望对与第一生物特征区域相关性较强的数据做更强的保护,还是更希望降低TEE、REE之间的通信成本来选择。It is understood that steps not performed in the TEE are performed in the REE. On the one hand, the process of performing shallow transformation according to the first biometric region to obtain intermediate results has a strong correlation with the first biometric region, which involves user privacy, and should be placed in TEE with a high priority (first priority); on the other hand, On the one hand, under the premise that step S430 has been executed in TEE, placing the part closely connected with step S430 in step S420 in TEE does not increase the communication cost between TEE and REE, and it can be considered as a high priority (section Second priority) into the TEE. Based on the above two considerations, in the division method 2, the step of determining the third intermediate result according to the second intermediate result is neither a step with strong correlation with the first biometric feature area, nor a step closely connected with step S103, Can be executed in the TEE with the lowest priority. Which one of the first priority and the second priority is higher can be determined according to whether it is more desirable to protect the data with a stronger correlation with the first biometric area, or to reduce the communication cost between TEE and REE. choose.
实施例三Embodiment three
基于同一构思,本公开实施例中还提供了与隐私保护的图像处理方法对应的隐私保护的图像处理装置,由于本公开实施例中的装置解决问题的原理与前述的隐私保护的图像处理方法实施例相似,因 此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。Based on the same idea, the embodiment of the present disclosure also provides a privacy-protected image processing device corresponding to the privacy-protected image processing method. Since the problem-solving principle of the device in the embodiment of the present disclosure is the same as the implementation of the aforementioned privacy-protected image processing method Therefore, the implementation of the device in this embodiment can refer to the description in the embodiment of the above-mentioned method, and repeated descriptions will not be repeated.
本实施例中的隐私保护的图像处理装置中的各个模块用于执行上述方法实施例中的各个步骤。如图5所示,本实施例中的隐私保护的图像处理装置可以包括:第一获取模块510、第一确定模块520、编码模块530;其中,Each module in the privacy-protected image processing apparatus in this embodiment is used to execute each step in the above method embodiment. As shown in FIG. 5 , the privacy-protected image processing device in this embodiment may include: a first acquisition module 510, a first determination module 520, and an encoding module 530; wherein,
第一获取模块510,用于获取待处理图像,待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点;The first acquiring module 510 is configured to acquire an image to be processed, the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
第一确定模块520,用于根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板,第一生物特征模板包括多个第一特征点对应的多个生物特征数据;The first determining module 520 is configured to determine a first biometric template of the first biometric region according to the first biometric region, where the first biometric template includes a plurality of biometric data corresponding to a plurality of first characteristic points;
编码模块530,用于根据第一生物特征模板进行编码运算,得到第一辅助数据;其中,编码运算包括不可逆变换。The encoding module 530 is configured to perform an encoding operation according to the first biometric template to obtain the first auxiliary data; wherein, the encoding operation includes an irreversible transformation.
实施例四Embodiment four
本公开实施例提供身份注册方法600,本实施例中的身份注册方法600应用于终端设备,下面结合身份注册方法600的步骤,对本实施例的具体流程进行详细阐述。The embodiment of the present disclosure provides an identity registration method 600. The identity registration method 600 in this embodiment is applied to a terminal device. The specific process of this embodiment will be described in detail below in conjunction with the steps of the identity registration method 600.
步骤610,通过隐私保护的图像处理方法400确定待注册对象的注册信息中的第一辅助数据。In step 610, the first auxiliary data in the registration information of the object to be registered is determined through the privacy-protected image processing method 400 .
本实施例中提及的隐私保护的图像处理方法可以是实施例二提供的隐私保护的图像处理方法,因此,关于本实施例中的第一辅助数据的得到方式可以参阅实施例二中的描述,在此不再赘述。The privacy-protected image processing method mentioned in this embodiment can be the privacy-protected image processing method provided in Embodiment 2. Therefore, for the method of obtaining the first auxiliary data in this embodiment, please refer to the description in Embodiment 2 , which will not be repeated here.
待注册对象,是指在认证之前需要注册的目标对象。The object to be registered refers to the target object that needs to be registered before authentication.
本实施例的注册方法还可以包括将注册信息存储至终端设备上的数据库或与该终端设备通信连接的服务器的数据库。The registration method of this embodiment may also include storing the registration information in a database on the terminal device or a database of a server communicatively connected to the terminal device.
当注册信息中的第一辅助数据是根据步骤S430中的第一种实施方式确定时,注册信息中可以仅包括第一辅助数据,通过比较认证阶段生成的待认证辅助数据和第一辅助数据,确定认证结果。当注册信息中的第一辅助数据是根据步骤S430中的第二种或第三种实施方式确定时,在认证阶段可根据纠错码解码结果确定待认证密钥,通过比较待认证密钥和第一辅助数据对应的密钥对待认证密钥进行校验,确定认证结果。当注册信息中的第一辅助数据是根据步骤S430中的第二种或第三种实施方式确定时,为了进一步提高系统安全性能,可使用生物特征与其他因子结合进行多因子认证。一种可能的多因子认证方式为,在注册阶段,将第一辅助数据对应的密钥与其他因子进行变换处理得到第一多因子密钥,在认证阶段,解码出辅助数据对应的待认证密钥,再次获取其他因子,对待认证密钥和认证阶段获取的其他因子进行与注册阶段同样的变换处理,得到待认证多因子密钥,通过比较待认证多因子密钥和第一多因子密钥对待认证多因子密钥进行校验,确定认证结果。可以理解的是,使用多因子认证时,除了对待认证多因子密钥进行校验,还可对待认证密钥进行校验。When the first auxiliary data in the registration information is determined according to the first implementation manner in step S430, the registration information may only include the first auxiliary data, and by comparing the auxiliary data to be authenticated and the first auxiliary data generated in the authentication stage, Determine the authentication result. When the first auxiliary data in the registration information is determined according to the second or third implementation in step S430, in the authentication stage, the key to be authenticated can be determined according to the decoding result of the error correction code, by comparing the key to be authenticated with The key corresponding to the first auxiliary data verifies the key to be authenticated to determine the authentication result. When the first auxiliary data in the registration information is determined according to the second or third implementation manner in step S430, in order to further improve system security performance, biometrics can be combined with other factors for multi-factor authentication. A possible multi-factor authentication method is: in the registration phase, transform the key corresponding to the first auxiliary data with other factors to obtain the first multi-factor key; key, obtain other factors again, perform the same conversion process as in the registration stage on the key to be authenticated and other factors obtained in the authentication stage, and obtain the multi-factor key to be authenticated, and compare the multi-factor key to be authenticated with the first multi-factor key Verify the multi-factor key to be authenticated to determine the authentication result. It can be understood that when using multi-factor authentication, in addition to verifying the multi-factor key to be authenticated, the key to be authenticated may also be verified.
当注册信息中的第一辅助数据是根据步骤S430中的第二种或第三种实施方式确定时,由于在认证阶段需要对待认证密钥和/或待认证多因子密钥进行校验,注册信息中还需包括对待认证密钥和/或待认证多因子密钥进行校验所需的信息。When the first auxiliary data in the registration information is determined according to the second or third implementation in step S430, since the key to be authenticated and/or the multi-factor key to be authenticated needs to be verified during the authentication phase, the registration The information also needs to include information required for verification of the key to be authenticated and/or the multi-factor key to be authenticated.
在一种具体实施方式中,对密钥进行校验可以包括通过比较密钥的哈希值对密钥进行校验,此时,上述的注册信息还可以包括:根据第一辅助数据对应的密钥生成的第一哈希值和/或根据第一多因子密钥生成的第二哈希值,第一哈希值、第二哈希值分别用于在认证阶段对待认证密钥和待认证多因子密钥进行校验。可以理解的是,第一哈希值、第二哈希值可根据密钥确定,可根据密钥和默认的哈希参数确定,也可根据密钥和设置(非默认的)的哈希参数确定,其中哈希参数包括盐值和/或哈希运算的轮数。使用设置的哈希参数进行哈希运算时,针对不同待注册用户可以使用不同哈希参数,或针对同 一用户不同应用场景也可以使用不同的哈希参数,使得生物识别系统更大程度的满足可撤销性。可以理解的是,使用设置的哈希参数进行哈希运算时,注册信息中还需额外包括哈希参数,以在认证阶段根据同样的哈希参数对解码获得的待认证密钥或由待认证密钥确定出的待认证多因子密钥进行哈希运算。In a specific implementation manner, verifying the key may include verifying the key by comparing hash values of the key. At this time, the above registration information may also include: The first hash value generated by the key and/or the second hash value generated according to the first multi-factor key, the first hash value and the second hash value are respectively used for the key to be authenticated and the key to be authenticated in the authentication phase Multi-factor keys are verified. It can be understood that the first hash value and the second hash value can be determined according to the key, can be determined according to the key and the default hash parameter, or can be determined according to the key and the set (non-default) hash parameter OK, where the hash parameters include the salt value and/or the number of rounds of the hash operation. When using the set hash parameters for hash operations, different hash parameters can be used for different users to be registered, or different hash parameters can be used for different application scenarios of the same user, so that the biometric system can meet the requirements to a greater extent. revocation. It can be understood that when using the set hash parameter for hash operation, the registration information also needs to include additional hash parameters, so that the key to be authenticated can be decoded according to the same hash parameter in the authentication stage or the key to be authenticated can be obtained by The hash operation is performed on the multi-factor key to be authenticated determined by the key.
基于上述描述,除了第一辅助数据,注册信息中所包含的内容还可以包括但不限于以下几种情形:(1)第一哈希值;(2)第一哈希值+第一哈希参数;(3)第二哈希值;(4)第二哈希值+第二哈希参数;(5)第一哈希值+第二哈希值;(6)第一哈希值+第一哈希参数+第二哈希值+第二哈希参数。Based on the above description, in addition to the first auxiliary data, the content contained in the registration information may also include but not limited to the following situations: (1) the first hash value; (2) the first hash value + the first hash parameter; (3) second hash value; (4) second hash value + second hash parameter; (5) first hash value + second hash value; (6) first hash value + The first hash parameter + the second hash value + the second hash parameter.
若注册信息还包括第一哈希值,相应的,本实施例中的身份注册方法还可以包括:If the registration information also includes the first hash value, correspondingly, the identity registration method in this embodiment may also include:
步骤611,根据第一辅助数据对应的密钥进行哈希运算,确定注册信息中的第一哈希值。其中,根据第一辅助数据对应的密钥进行哈希运算还可以是根据第一辅助数据对应的密钥和第一哈希参数进行哈希运算。Step 611: Perform a hash operation according to the key corresponding to the first auxiliary data to determine a first hash value in the registration information. Wherein, performing the hash operation according to the key corresponding to the first auxiliary data may also be performing the hash operation according to the key corresponding to the first auxiliary data and the first hash parameter.
若注册信息还包括第二哈希值,相应的,本实施例中的身份注册方法还可以包括:If the registration information also includes the second hash value, correspondingly, the identity registration method in this embodiment may also include:
步骤S612,根据第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,得到第一多因子密钥;步骤S613,根据第一多因子密钥进行哈希运算,确定注册信息中的第二哈希值。其中,根据第一多因子密钥进行哈希运算还可以是根据第一多因子密钥和第二哈希参数进行哈希运算。Step S612, perform the ninth conversion process according to the key corresponding to the first auxiliary data and the first conversion key, and obtain the first multi-factor key; Step S613, perform a hash operation according to the first multi-factor key, and determine the registration information The second hash value in . Wherein, performing the hash operation according to the first multi-factor key may also be performing a hash operation according to the first multi-factor key and the second hash parameter.
如前述内容可知,本实施方式对应多因子认证的场景,其他因子可以为其他生物特征或用户口令等,优选的,其他因子为精确的而非模糊的,本公开实施例以其他因子为用户口令为例,直接将用户口令作为第一变换密钥或根据接收的用户口令生成第一变换密钥。根据用户口令生成第一变换密钥例如是对用户口令进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第一变换密钥。As can be seen from the foregoing, this embodiment corresponds to a multi-factor authentication scenario, and other factors can be other biometric features or user passwords, etc. Preferably, other factors are accurate rather than vague, and the embodiments of the present disclosure use other factors as user passwords For example, the user password is directly used as the first transformation key or the first transformation key is generated according to the received user password. Generating the first conversion key according to the user password is, for example, performing one or more processes of format conversion, digit padding, and verification information addition on the user password to generate the first conversion key.
示例性的,第一辅助数据对应的密钥和第一变换密钥可通过第九变换处理结合,第九变换处理可以为任何可逆或不可逆变换。例如,第九变换处理可以为用第一辅助数据对应的密钥对第一变换密钥进行对称加密,用第一变换密钥对第一辅助数据对应的密钥进行对称加密。相比于将多个独立因子分别进行认证,将多个因子结合使得在认证阶段可以只对结合结果进行一次校验即确定是否多个独立因子均正确。Exemplarily, the key corresponding to the first auxiliary data and the first transformation key may be combined through a ninth transformation process, and the ninth transformation process may be any reversible or irreversible transformation. For example, the ninth transformation process may be to use the key corresponding to the first auxiliary data to perform symmetric encryption on the first transformed key, and use the first transformed key to perform symmetric encryption to the key corresponding to the first auxiliary data. Compared with separately authenticating a plurality of independent factors, combining multiple factors enables only one verification of the combined result in the authentication stage to determine whether the multiple independent factors are correct.
示例性的,根据第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,得到第一多因子密钥可以包括:根据第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,在变换处理结果中加入校验信息,得到第一多因子密钥。例如,根据变换结果确定冗余位,第一多因子密钥包括变换结果和冗余位。Exemplarily, performing the ninth transformation process according to the key corresponding to the first auxiliary data and the first transformation key to obtain the first multi-factor key may include: according to the key corresponding to the first auxiliary data and the first transformation key Carry out ninth transformation processing, add verification information to the transformation processing result, and obtain the first multi-factor key. For example, redundant bits are determined according to the transformation result, and the first multi-factor key includes the transformation result and the redundant bits.
可以理解的是,注册信息还可以同时包括第一哈希值和第二哈希值,以对待认证密钥和待认证多因子密钥二者进行校验,此时,身份注册方法包括步骤S611、步骤612和步骤613。It can be understood that the registration information can also include the first hash value and the second hash value at the same time, so as to verify both the key to be authenticated and the multi-factor key to be authenticated. At this time, the identity registration method includes step S611 , step 612 and step 613.
在一可选的实施方式中,在通过哈希值对密钥进行校验之前,可对密钥进行初步校验,初步校验通过的密钥再进行后续校验。可以理解的是,初步校验相比于后续校验消耗算力更少和/或需要的网络通信更少,通过初步校验缩小需要进行后续校验的密钥的范围能够提高认证效率。In an optional implementation manner, before the key is verified by the hash value, a preliminary verification may be performed on the key, and a key that passes the preliminary verification is subjected to subsequent verification. It can be understood that the preliminary verification consumes less computing power and/or requires less network communication than the subsequent verification, and the preliminary verification can improve the authentication efficiency by narrowing the range of keys that need to be subjected to subsequent verification.
示例性的,可通过待认证密钥、待认证多因子密钥中本身包含的校验信息(例如,密钥中包含的冗余位)进行初步校验,还可借助额外的校验值对待认证密钥、待认证多因子密钥进行初步校验。借助额外的校验值对待认证密钥和/或待认证多因子密钥进行初步校验时,注册信息还可以包括第一辅助数据对应的密钥所对应的第一校验值和/或第一多因子密钥对应的第二校验值(例如,校验值是密钥中部分或全部位对应的数值进行运算后的结果),第一校验值和/或第二校验值需要与其对应的第一辅助数据关联存储。相应的,本公开实施例提供的身份注册方法还可以包括:根据第一辅助数据对应的密 钥生成第一校验值和/或根据第一多因子密钥生成第二校验值。Exemplarily, preliminary verification can be performed through the verification information contained in the key to be authenticated and the multi-factor key to be authenticated (for example, redundant bits contained in the key), and additional verification values can also be used to treat The authentication key and the multi-factor key to be authenticated are initially verified. When preliminary verification is performed on the key to be authenticated and/or the multi-factor key to be authenticated by means of an additional check value, the registration information may also include the first check value and/or the second key corresponding to the key corresponding to the first auxiliary data. A second check value corresponding to a multi-factor key (for example, the check value is the result of operation of the values corresponding to some or all bits in the key), the first check value and/or the second check value need The corresponding first auxiliary data is stored in association with it. Correspondingly, the identity registration method provided by the embodiment of the present disclosure may further include: generating a first verification value according to a key corresponding to the first auxiliary data and/or generating a second verification value according to the first multi-factor key.
在一个具体实施方式中,用于存储注册信息的数据库包括第一数据表和第二数据表;在第一数据表中关联存储待注册对象对应的第一辅助数据和待注册对象的其他注册信息,待注册对象的其他注册信息包括:第一索引特征、第一哈希参数、第二哈希参数、噪声信息、校验值中至少一者;在第二数据表中关联存储待注册对象的用户标识和待注册对象对应的第一哈希值或第二哈希值。In a specific embodiment, the database for storing registration information includes a first data table and a second data table; the first auxiliary data corresponding to the object to be registered and other registration information of the object to be registered are associated and stored in the first data table , other registration information of the object to be registered includes: at least one of the first index feature, the first hash parameter, the second hash parameter, noise information, and a check value; the associated storage of the object to be registered is stored in the second data table The first hash value or the second hash value corresponding to the user identifier and the object to be registered.
其中,用户标识可作广义理解,包括用户姓名、证件号等信息。注册时使用的待处理图像中提取出的低区分度特征、第一生物特征模板中提取出的低区分度特征、量化值中提取中的低区分度特征、注册时间等敏感信息常与第一辅助数据关联存储,以便于筛选第一辅助数据。为避免用户标识与敏感信息关联,第一辅助数据与敏感信息关联存储时,常使用户标识独立于第一辅助数据存储。示例性的,可将第一辅助数据与敏感信息、哈希参数、校验值等信息关联存储于第一数据表,用户标识和第一哈希值和/或第二哈希值关联存储于第二数据表,以在确定了存在与待认证密钥的待认证哈希值匹配的底库第一哈希值和/或确定了存在与待认证多因子密钥的待认证多因子哈希值匹配的底库第二哈希值时,才能在第二数据表中根据匹配的哈希值确定出用户标识。Among them, user identification can be understood in a broad sense, including information such as user name and certificate number. Sensitive information such as the low-discrimination features extracted from the image to be processed used for registration, the low-discrimination features extracted from the first biometric template, the low-discrimination features extracted from the quantitative value, and the registration time are often related to the first The auxiliary data is stored in association, so as to facilitate filtering of the first auxiliary data. In order to prevent the user identification from being associated with sensitive information, when the first auxiliary data is stored in association with the sensitive information, the user identification is often stored independently of the first auxiliary data. Exemplarily, the first auxiliary data may be stored in association with information such as sensitive information, hash parameters, and verification values in the first data table, and the user ID and the first hash value and/or the second hash value may be associated and stored in The second data table, after it is determined that there is a base first hash value that matches the hash value to be authenticated of the key to be authenticated and/or it is determined that there is a multifactor hash to be authenticated that matches the multifactor key to be authenticated Only when the value matches the second hash value of the bottom library can the user identifier be determined in the second data table according to the matched hash value.
在一个具体实施方式中,实施例四中还可以包括步骤S614:终端设备对第一生物特征区域进行特征提取,得到第一索引特征,第一索引特征的区分度低于第一生物特征模板的区分度。In a specific implementation, the fourth embodiment may also include step S614: the terminal device performs feature extraction on the first biometric feature area to obtain the first index feature, and the discrimination degree of the first index feature is lower than that of the first biometric feature template. distinction.
示例性的,索引特征的区分度比第一生物特征模板的区分度低至少一个量级,可以为向量或图的形式。索引特征的区分度只需把大底库缩小至足够小的候选列表即可(即减小需要对比的数据量)。候选列表足够小是指,以设备的算力,在认证阶段,将待认证对象的待认证生物特征模板与候选列表中各条记录进行比对的总比对耗时在可接受时间范围内。例如,待认证对象的待认证生物特征模板与单条记录的比对耗时为20ms,可接受时间范围为1s,则需要将候选列表缩小为50条记录才能使总比对耗时在可接受时间范围内。索引特征的区分度不能过高,否则如果不对索引特征进行加密存储将导致隐私泄露。Exemplarily, the discrimination degree of the index feature is at least one magnitude lower than that of the first biometric template, and may be in the form of a vector or a graph. The discrimination of index features only needs to reduce the large base library to a sufficiently small candidate list (that is, reduce the amount of data that needs to be compared). The candidate list is small enough to mean that, with the computing power of the device, in the authentication stage, the total comparison time for comparing the biometric template of the object to be authenticated with each record in the candidate list is within an acceptable time range. For example, it takes 20ms to compare the biometric template to be authenticated with a single record of the object to be authenticated, and the acceptable time range is 1s, so the candidate list needs to be reduced to 50 records to make the total comparison time within an acceptable time within range. The discrimination of index features should not be too high, otherwise, if the index features are not encrypted and stored, privacy will be leaked.
示例性的,索引特征可以是宏观特征或全局特征。示例性的,当生物特征是指掌纹、指掌静脉时,索引特征可以是指掌纹、指掌静脉的全局描述性信息、手指手掌形状相关信息、手指指关节线、手掌粗纹线相关信息等特征中至少一者。Exemplarily, the index feature may be a macro feature or a global feature. Exemplarily, when the biometric features refer to palm prints and palm veins, the index features may refer to global descriptive information of palm prints and palm veins, information related to finger palm shapes, finger knuckle lines, and palm rough lines At least one of the characteristics such as information.
此时,注册信息还包括第一索引特征,待注册对象的第一索引特征与待注册对象的第一辅助数据关联存储,以便认证阶段根据第一索引特征确定第一辅助数据是否作为底库辅助数据。At this time, the registration information also includes the first index feature, and the first index feature of the object to be registered is stored in association with the first auxiliary data of the object to be registered, so that in the authentication stage, it can be determined whether the first auxiliary data is used as a base database auxiliary data according to the first index feature. data.
如此,在生物识别的注册阶段获取具有高区分度的第一生物特征模板所对应的第一辅助数据和具有低区分度的索引特征,使得在认证阶段可以先用索引特征进行初筛,再用第一辅助数据进行细筛。一方面,索引特征具有低区分度,无需经过复杂不可逆变换后存储也能保证不泄露隐私,使得在认证阶段无需经过纠错码解码即可使用索引特征进行比对,因此使用索引特征进行比对时运算速度快,相比之下,用辅助数据进行比对时涉及不可逆变换/编码运算对应的解码运算,运算速度慢,先用运算速度快的索引特征比对能够快速大幅缩小候选列表,使得在候选列表范围内进行运算速度慢的不可逆变换/解码运算不显著影响性能;同时,索引特征的区分度差,生物特征模板的区分度好,最终认证结果由生物特征模板确定,能够保证认证精度;另一方面,索引特征的区分度较差,即便生物识别系统被攻破,索引特征被泄露,也无法根据索引特征识别出具体的对象,而第一辅助数据是通过不可逆变换获得的,即便第一辅助数据被泄露,也无法由第一辅助数据通过不可逆变换的逆变换得到第一生物特征模板,因此,本发明实施例的方法具有高安全性。可见,本发明实施例的方法能够兼顾性能、精度和安全性。In this way, the first auxiliary data corresponding to the first biometric template with a high degree of discrimination and the index features with a low degree of discrimination are acquired during the biometric registration phase, so that the index features can be used for preliminary screening in the authentication phase, and then used The first auxiliary data are sieved. On the one hand, the index features have a low degree of discrimination, and they do not need to be stored after complex irreversible transformations to ensure that privacy is not leaked, so that the index features can be used for comparison without error correction code decoding in the authentication stage, so the index features are used for comparison The calculation speed is fast. In contrast, the decoding operation corresponding to the irreversible transformation/encoding operation is involved in the comparison with auxiliary data, and the operation speed is slow. First, the index feature comparison with the fast operation speed can quickly and greatly reduce the candidate list, making The slow irreversible transformation/decoding operation within the candidate list does not significantly affect performance; at the same time, the discrimination of index features is poor, and the discrimination of biometric templates is good. The final authentication result is determined by the biometric template, which can ensure the authentication accuracy. ; On the other hand, the discrimination of index features is poor. Even if the biometric system is breached and the index features are leaked, it is impossible to identify specific objects based on the index features. The first auxiliary data is obtained through irreversible transformation, even if the second If the auxiliary data is leaked, the first biometric template cannot be obtained from the first auxiliary data through irreversible inverse transformation. Therefore, the method in the embodiment of the present invention has high security. It can be seen that the method in the embodiment of the present invention can balance performance, precision and security.
一个具体实施方式中,为进一步提高第一索引特征的安全性,并控制候选列表的大小,可在第一索引特征中添加噪声。例如,在认证阶段,用待认证对象张三的第二索引特征进行初筛时,若张三注册时的第一索引特征未添加噪声,第一索引特征和第二索引特征之间的距离为5,初筛条件可以为:与第二索引特征之间距离不大于5的索引特征,此时底库中例如返回20个初筛结果;若张三注册时的第一索引特征添加了一定噪声,使得添加了噪声的第一索引特征和第二索引特征之间的距离为10,初筛条件可以为:与第二索引特征之间距离不大于10的索引特征。此时不能再使用过于严苛的初筛条件,否则会将实际匹配的对象在初筛阶段过滤掉,此时底库中例如返回50个初筛结果。可见,当添加在第一索引特征中的噪声强度变大时,为避免漏掉真实的匹配对象,初筛条件放宽,候选列表中记录数增多,将初筛出来的索引特征所对应辅助数据发送给终端的耗时变长,细筛时耗时变长,但是第一索引特征的安全性变好。具体的噪声信息(加噪声方式和噪声强度中至少一者)可根据对比对总耗时的要求和对第一索引特征的安全性要求进行权衡。添加噪声的方式/强度可以是固定的,也可根据加噪决策信息如终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中至少一个因素确定。In a specific implementation manner, in order to further improve the security of the first index feature and control the size of the candidate list, noise may be added to the first index feature. For example, in the authentication stage, when Zhang San’s second index feature is used for preliminary screening, if the first index feature of Zhang San’s registration does not add noise, the distance between the first index feature and the second index feature is 5. The initial screening condition can be: an index feature whose distance from the second index feature is not greater than 5. At this time, for example, 20 initial screening results are returned in the bottom database; if Zhang San’s first index feature added certain noise when he registered , so that the distance between the noise-added first index feature and the second index feature is 10, and the initial screening condition can be: the index feature whose distance from the second index feature is not greater than 10. At this time, you can no longer use too strict preliminary screening conditions, otherwise the actual matching objects will be filtered out in the preliminary screening stage. At this time, for example, 50 preliminary screening results will be returned in the bottom library. It can be seen that when the noise intensity added to the first index feature becomes larger, in order to avoid missing the real matching object, the initial screening conditions are relaxed, the number of records in the candidate list increases, and the auxiliary data corresponding to the index features that are initially screened out are sent to The time-consuming for the terminal becomes longer, and the time-consuming for fine screening becomes longer, but the security of the first index feature becomes better. The specific noise information (at least one of the noise adding method and the noise intensity) can be weighed according to comparing the requirements on the total time consumption and the security requirements on the first index feature. The way/strength of adding noise may be fixed, or may be determined according to at least one factor among noise adding decision information such as performance information of the terminal device, network information between the terminal device and the server, and expected security level.
若向第一索引特征添加噪声信息,需经过获取加噪决策信息、根据加噪决策信息确定噪声信息、根据噪声信息向第一索引特征中添加噪声的步骤。各步骤均可由终端设备或服务器完成,具体由哪个主体完成视具体操作效率、安全性等考虑因素决定。此时,若各待注册对象的第一索引特征中添加的噪声信息不同,待注册对象的注册信息中还包括与第一辅助数据关联存储的噪声信息,以在认证阶段动态根据该噪声信息确定用于决定该第一辅助数据是否筛选通过的距离条件。If noise information is added to the first index feature, it needs to go through the steps of obtaining noise addition decision information, determining noise information according to the noise addition decision information, and adding noise to the first index feature according to the noise information. Each step can be completed by a terminal device or a server, and which subject to complete depends on considerations such as specific operational efficiency and security. At this time, if the noise information added to the first index feature of each object to be registered is different, the registration information of the object to be registered also includes the noise information stored in association with the first auxiliary data, so as to dynamically determine according to the noise information during the authentication phase. The distance condition used to determine whether the first auxiliary data passes the screening.
实施例五Embodiment five
基于同一构思,本公开实施例中还提供了与身份注册方法对应的身份注册装置,由于本公开实施例中的装置解决问题的原理与前述的身份注册方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。Based on the same idea, an identity registration device corresponding to the identity registration method is also provided in the embodiment of the present disclosure. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity registration method, the method in this embodiment For the implementation of the device, reference may be made to the descriptions in the embodiments of the above methods, and repeated descriptions will not be repeated.
本实施例中的身份注册装置中的各个模块用于执行上述方法实施例中的各个步骤。身份注册装置包括:第二确定模块。Each module in the identity registration device in this embodiment is used to execute each step in the above method embodiment. The identity registration device includes: a second determination module.
第二确定模块,用于通过上述实施例提供的隐私保护的图像处理方法确定待注册对象的注册信息中的第一辅助数据。The second determination module is configured to determine the first auxiliary data in the registration information of the object to be registered through the privacy-protected image processing method provided in the above embodiment.
实施例六Embodiment six
本公开实施例提供的身份认证方法700。本实施例的方法可由终端设备执行。执行身份认证方法的设备可与执行注册方法的设备相同或不同。下面将对身份认证方法700的具体流程进行详细阐述。The identity authentication method 700 provided by the embodiment of the present disclosure. The method in this embodiment can be executed by a terminal device. The device performing the authentication method may be the same as or different from the device performing the registration method. The specific flow of the identity authentication method 700 will be described in detail below.
步骤710,获取待认证对象的待认证图像。Step 710, acquire the image to be authenticated of the object to be authenticated.
待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点。The image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points.
本实施例中,该待认证图像可以采用上述实施例涉及的待处理图像的获取方式获取。In this embodiment, the image to be authenticated can be acquired by using the acquisition method of the image to be processed involved in the above embodiment.
步骤720,根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板。Step 720, according to the second biometric area, determine a biometric template to be authenticated in the second biometric area.
需要说明的是,可对待认证生物特征模板做广义理解,待认证生物特征模板可以包括多个第二特征点对应的生物特征表示,也可以包括用于确定多个第二特征点对应的生物特征表示的中间结果。It should be noted that the biometric template to be authenticated can be understood in a broad sense, and the biometric template to be authenticated may include biometric representations corresponding to multiple second feature points, and may also include biometric features used to determine multiple second feature points. represents the intermediate result.
可以理解的是,如果解码运算是在终端完成,待认证生物特征模板可以包括多个第二特征点对应的生物特征表示。例如,注册时,通过特征提取步骤a-e,根据第一生物特征区域,确定第一生物特征模板。认证时,通过步骤a-e确定待认证生物特征模板。如果解码运算在服务器完成,则终端提取的待认证生物特征模板可以包括多个第二特征点对应的生物特征表示,也可以包括用于确定多个第二特征点对应的生物特征表示的中间结果,此时服务器完成根据中间结果确定多个第二特征点对应的生物特 征表示和后续步骤。例如,注册时,通过特征提取步骤a-e,根据第一生物特征区域,确定第一生物特征模板。认证时,终端设备可以通过步骤a-b确定待认证生物特征模板、由服务器完成步骤c-e,或者终端设备通过步骤a-e确定待认证生物特征模板。It can be understood that, if the decoding operation is completed at the terminal, the biological feature template to be authenticated may include multiple biological feature representations corresponding to the second feature points. For example, during registration, the first biometric template is determined according to the first biometric region through the feature extraction steps a-e. During authentication, the biometric template to be authenticated is determined through steps a-e. If the decoding operation is completed on the server, the biometric template to be authenticated extracted by the terminal may include biometric representations corresponding to multiple second feature points, and may also include intermediate results for determining the biometric representations corresponding to multiple second feature points , at this time, the server completes determining the biological feature representations corresponding to the multiple second feature points according to the intermediate results and subsequent steps. For example, during registration, the first biometric template is determined according to the first biometric region through the feature extraction steps a-e. During authentication, the terminal device may determine the biometric template to be authenticated through steps a-b, and the server may complete steps c-e, or the terminal device may determine the biometric template to be authenticated through steps a-e.
也就是说,终端设备可以通过与根据第一生物特征区域确定第一生物特征模板相同的特征提取步骤的至少前半部分,根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板。That is to say, the terminal device can determine the biometric template to be authenticated in the second biometric area according to the second biometric area through at least the first half of the feature extraction step same as determining the first biometric template according to the first biometric area .
步骤730,获取待认证对象的身份认证结果。Step 730, acquiring the identity authentication result of the object to be authenticated.
身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的。其中,底库辅助数据包括至少一个第一辅助数据;第一辅助数据是通过身份注册方法600确定的。The identity authentication result is determined according to the biometric template to be authenticated and the auxiliary data in the bottom database. Wherein, the base database auxiliary data includes at least one first auxiliary data; the first auxiliary data is determined through the identity registration method 600 .
用于存储注册信息的数据库可以位于终端,也可以位于服务器或由服务器获取。当用于存储注册信息的数据库位于终端时,根据待认证生物特征模板和底库辅助数据确定出身份认证结果的各步骤均由终端完成;当用于存储注册信息的数据库位于服务器或由服务器获取时,部分步骤由终端完成、部分步骤由服务器完成,此时,优选在终端和服务器之间传送辅助数据、密钥对应的哈希值等不涉及用户隐私的数据,不推荐传输生物特征模板、量化值、密钥等数据,如需传输此类数据需用安全通道。The database for storing registration information can be located in the terminal, or located in the server or obtained by the server. When the database for storing registration information is located in the terminal, the steps of determining the identity authentication result according to the biometric template to be authenticated and the auxiliary data in the base database are all completed by the terminal; when the database for storing registration information is located in the server or obtained by the server At this time, some steps are completed by the terminal, and some steps are completed by the server. At this time, it is preferable to transmit data that does not involve user privacy, such as auxiliary data and hash values corresponding to keys, between the terminal and the server. It is not recommended to transmit biometric templates, For data such as quantized values and keys, a secure channel is required to transmit such data.
对应于步骤S430中的第一种到第三种实施方式,可通过不同方式根据待认证生物特征模板以及底库辅助数据确定出待认证对象的身份认证结果。对于步骤S430中的第二种和第三种实施方式,可以通过非多因子和多因子两种方式进行认证。下面对各种方式进行说明:Corresponding to the first to third implementation manners in step S430, the identity authentication result of the object to be authenticated can be determined in different ways according to the biometric template to be authenticated and the auxiliary data in the base database. For the second and third implementation manners in step S430, authentication can be performed in two ways: non-multi-factor and multi-factor. The various methods are described below:
首先对对应于步骤S430中的第二种(步骤S109、S110-S120)或第三种实施方式(步骤S129、S130-S150)的S730进行说明。First, S730 corresponding to the second (steps S109, S110-S120) or third implementation (steps S129, S130-S150) in step S430 will be described.
一个非多因子认证的、终端进行解码的具体实施方式中,步骤S730包括:In a specific implementation of non-multi-factor authentication, where the terminal performs decoding, step S730 includes:
S740,获取底库辅助数据。如果用于存储注册信息的数据库位于终端,则终端直接从自身获取底库辅助数据;否则从服务器接收底库辅助数据。S740. Obtain auxiliary data of the base bank. If the database for storing the registration information is located in the terminal, the terminal directly obtains the bottom bank auxiliary data from itself; otherwise, it receives the bottom bank auxiliary data from the server.
对于1:N的情形,底库辅助数据可以是存储的注册信息中的全量第一辅助数据,也可以是经过初步筛选之后的第一辅助数据。例如,根据用户标识、设备标识、注册时间、认证时间、认证地点待认证图像中提取出的低区分度特征、待认证生物特征模板中提取出的低区分度特征、待认证量化值中提取中的低区分度特征等限制因素从全量第一辅助数据筛选出底库辅助数据。对于1:1的情形,底库辅助数据可以是根据用户标识、设备标识等唯一确定的第一辅助数据。可以理解的是,如果使用限制因素对辅助数据进行初筛,需要将限制因素和第一辅助数据关联存储,以便筛选出满足限制因素要求的第一辅助数据作为底库辅助数据。For the case of 1:N, the bottom database auxiliary data may be all first auxiliary data in the stored registration information, or the first auxiliary data after preliminary screening. For example, based on user ID, device ID, registration time, authentication time, authentication location, low-discriminatory features extracted from images to be authenticated, low-discrimination features extracted from biometric templates to be authenticated, and quantitative values to be authenticated The low-discriminatory features and other limiting factors screen out the bottom library auxiliary data from the full amount of first auxiliary data. For the case of 1:1, the base library auxiliary data may be the first auxiliary data uniquely determined according to user identification, device identification, and the like. It can be understood that if the restriction factors are used for preliminary screening of the auxiliary data, the restriction factors and the first auxiliary data need to be associated and stored, so as to filter out the first auxiliary data meeting the requirements of the restriction factors as the bottom database auxiliary data.
S750,根据待认证生物特征模板进行量化,得到待认证量化值。S750. Perform quantification according to the biometric template to be authenticated to obtain a quantified value to be authenticated.
S760,根据待认证量化值与底库辅助数据,进行与编码运算对应的解码运算,确定出与底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥。S760. Perform a decoding operation corresponding to the encoding operation according to the quantization value to be authenticated and the auxiliary data of the base library, and determine at least one key to be authenticated corresponding to at least one first auxiliary data included in the auxiliary data of the base library.
S770,对待认证密钥进行校验,确定出对待认证对象的身份认证结果。身份认证结果可包括认证成功或失败。如果用于存储注册信息的数据库位于终端,则用于对待认证密钥进行校验的信息(例如第一哈希值)也位于终端,终端自身进行校验;如果用于存储注册信息的数据库位于服务器或由服务器获取,且服务器向终端下发了对待认证密钥进行校验的信息,则终端自身进行校验;如果用于存储注册信息的数据库位于服务器或由服务器获取,且服务器向终端未下发对待认证密钥进行校验的信息,则服务器进行校验(例如终端将待认证密钥的哈希值发送服务器,服务器用待认证密钥的哈希值进行校验)。S770. Verify the key to be authenticated, and determine an identity authentication result of the object to be authenticated. The identity authentication result may include authentication success or failure. If the database for storing registration information is located at the terminal, the information (such as the first hash value) for verifying the key to be authenticated is also located at the terminal, and the terminal itself performs verification; if the database for storing registration information is located at The server may be obtained by the server, and the server has issued information to the terminal to verify the key to be authenticated, and the terminal itself will perform the verification; if the database used to store the registration information is located on the server or obtained by the server, and the server has not sent the terminal Send the information of verifying the key to be authenticated, and then the server performs verification (for example, the terminal sends the hash value of the key to be authenticated to the server, and the server uses the hash value of the key to be authenticated to verify).
具体的,可用待认证密钥的哈希值对待认证密钥进行校验。此时,注册信息中对应存储了第一辅 助数据和第一哈希值。S770可以包括:根据部分或全部待认证密钥确定其对应的待认证哈希值,根据待认证哈希值确定出对待认证对象的身份认证结果。Specifically, the hash value of the key to be authenticated can be used to verify the key to be authenticated. At this point, the first auxiliary data and the first hash value are correspondingly stored in the registration information. S770 may include: determining corresponding hash values to be authenticated according to part or all of the keys to be authenticated, and determining an identity authentication result of the object to be authenticated according to the hash values to be authenticated.
其中,对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;底库第一哈希值为底库辅助数据中包含的第一辅助数据所对应的第一哈希值。Among them, for a hash value to be authenticated, if there is a first hash value in the base library that matches the hash value to be authenticated in the first hash value of the base library, then the key to be authenticated corresponding to the hash value to be authenticated The verification result of the verification is passed; the first hash value of the bottom database is the first hash value corresponding to the first auxiliary data contained in the auxiliary data of the bottom database.
可理解的是,底库第一哈希值位于终端时,由终端判断底库第一哈希值中是否存在与该待认证哈希值匹配的底库第一哈希值,不位于终端时,终端将待认证哈希值发送至服务器、由服务器判断底库第一哈希值中是否存在与该待认证哈希值匹配的底库第一哈希值。It can be understood that when the first hash value of the bottom library is located at the terminal, the terminal judges whether there is a first hash value of the bottom library that matches the hash value to be authenticated. , the terminal sends the hash value to be authenticated to the server, and the server judges whether there is a first hash value of the bottom library that matches the hash value to be authenticated.
其中,根据全部待认证密钥确定其对应的待认证哈希值是指,对于每个待认证密钥,均计算其哈希值;根据部分待认证密钥确定其对应的待认证哈希值是指,仅计算部分待认证密钥的哈希值。例如,对待认证密钥进行初步校验,得到初步校验合格的待认证密钥,计算初步校验合格的待认证密钥的哈希值。Wherein, determining its corresponding hash value to be authenticated according to all keys to be authenticated refers to calculating its hash value for each key to be authenticated; determining its corresponding hash value to be authenticated according to some of the keys to be authenticated means that only the hash values of some of the keys to be authenticated are calculated. For example, preliminary verification is performed on the key to be authenticated to obtain a key to be authenticated that passes the preliminary verification, and a hash value of the key to be authenticated that passes the preliminary verification is calculated.
一个多因子认证的、终端进行解码的具体实施方式中,步骤S730包括:In a specific implementation of multi-factor authentication and terminal decoding, step S730 includes:
S740,获取底库辅助数据。S740. Obtain auxiliary data of the base bank.
S750,根据待认证生物特征模板进行量化,得到待认证量化值。S750. Perform quantification according to the biometric template to be authenticated to obtain a quantified value to be authenticated.
S760,根据待认证量化值与底库辅助数据,进行与编码运算对应的解码运算,确定出与底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥。S760. Perform a decoding operation corresponding to the encoding operation according to the quantization value to be authenticated and the auxiliary data of the base library, and determine at least one key to be authenticated corresponding to at least one first auxiliary data included in the auxiliary data of the base library.
S780,根据部分或全部的待认证密钥和第二变换密钥,得到待认证多因子密钥。S780. Obtain a multi-factor key to be authenticated according to part or all of the key to be authenticated and the second transformed key.
第二变换密钥根据认证阶段接收的用户口令确定,例如直接将认证阶段的用户口令作为第二变换密钥或根据接收的用户口令生成第二变换密钥。根据用户口令生成第二变换密钥例如是对用户口令进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第二变换密钥。可理解的是,由认证阶段用户口令确定第二变换密钥的方式与注册阶段由用户口令确定第一变换密钥的方式相同。The second transformation key is determined according to the user password received in the authentication stage, for example, directly using the user password in the authentication stage as the second transformation key or generating the second transformation key according to the received user password. Generating the second conversion key according to the user password is, for example, performing one or more processes of format conversion, digit padding, and verification information addition on the user password to generate the second conversion key. It can be understood that, the manner of determining the second conversion key from the user password in the authentication phase is the same as the manner of determining the first conversion key from the user password in the registration phase.
可以理解的是,注册阶段,可将第一辅助数据对应的密钥和第一变换密钥作为第九变换处理的变量,认证阶段,可将待认证密钥和第二变换密钥作为第九变换处理的变量。也就是说,注册阶段和认证阶段的第九变换处理变量不同,参数相同。It can be understood that, in the registration stage, the key corresponding to the first auxiliary data and the first transformation key can be used as the variables of the ninth transformation process, and in the authentication stage, the key to be authenticated and the second transformation key can be used as the ninth transformation process variables. Variables for transformation processing. That is to say, the variables of the ninth transformation processing in the registration phase and the authentication phase are different, but the parameters are the same.
可根据每个待认证密钥确定待认证多因子密钥,也可根据经过初步校验的部分待认证密钥,或是根据通过校验的待认证密钥(此时在确定待认证多因子密钥之前,需对待认证密钥进行校验,注册信息中包含第一哈希值等用于对待认证密钥进行校验的信息)确定待认证多因子密钥。The multi-factor key to be authenticated can be determined according to each key to be authenticated, or the key to be authenticated can be determined according to the part of the key to be authenticated after preliminary verification, or the key to be authenticated that has passed the verification (at this time, when determining the multi-factor key to be authenticated Before entering the key, the key to be authenticated needs to be verified, and the registration information includes information such as the first hash value used to verify the key to be authenticated) to determine the multi-factor key to be authenticated.
S790,对待认证多因子密钥进行校验,确定出对待认证对象的身份认证结果。对该步骤的说明参考S770。S790. Verify the multi-factor key to be authenticated, and determine an identity authentication result of the object to be authenticated. For the description of this step, refer to S770.
具体的,可用待认证多因子密钥的哈希值对待认证多因子密钥进行校验。此时,注册信息中对应存储了第一辅助数据和第二哈希值。S790可以包括:根据部分或全部待认证多因子密钥确定其对应的待认证多因子哈希值,根据待认证多因子哈希值确定出对待认证对象的身份认证结果。Specifically, the hash value of the multi-factor key to be authenticated can be used to verify the multi-factor key to be authenticated. At this time, the first auxiliary data and the second hash value are correspondingly stored in the registration information. S790 may include: determining a corresponding multi-factor hash value to be authenticated according to part or all of the multi-factor key to be authenticated, and determining an identity authentication result of the object to be authenticated according to the multi-factor hash value to be authenticated.
其中,对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过;底库第二哈希值为底库辅助数据中包含的第一辅助数据所对应的第二哈希值;第二哈希值包括在注册信息中。Among them, for a multi-factor hash value to be authenticated, if there is a second hash value of the bottom library that matches the multi-factor hash value to be authenticated in the second hash value of the bottom library, then the multi-factor hash value to be authenticated The verification result of the corresponding multi-factor key to be authenticated is verification passed; the second hash value of the bottom library is the second hash value corresponding to the first auxiliary data contained in the auxiliary data of the bottom library; the second hash value included in the registration information.
同样的,判断是否存在匹配的底库第二哈希值的步骤可由终端或服务器执行。Likewise, the step of judging whether there is a matching second hash value of the bottom database can be performed by the terminal or the server.
其中,根据全部待认证多因子密钥确定其对应的待认证多因子哈希值是指,对于每个待认证多因子密钥,均计算其哈希值;根据部分待认证多因子密钥确定其对应的待认证多因子哈希值是指,仅计 算部分待认证多因子密钥的哈希值。例如,对待认证多因子密钥进行初步校验,得到初步校验合格的待认证多因子密钥,计算初步校验合格的待认证多因子密钥的哈希值。Wherein, determining the corresponding multi-factor hash value to be authenticated according to all multi-factor keys to be authenticated refers to calculating its hash value for each multi-factor key to be authenticated; The corresponding multi-factor hash value to be authenticated means that only the hash values of part of the multi-factor key to be authenticated are calculated. For example, a preliminary verification is performed on the multi-factor key to be authenticated to obtain a multi-factor key to be authenticated that passes the preliminary verification, and a hash value of the multi-factor key to be authenticated that passes the preliminary verification is calculated.
在一种终端设备无需进行解码的实现方式中,步骤730包括:In an implementation where the terminal device does not need to perform decoding, step 730 includes:
S800,通过安全通道向服务器发送待认证生物特征模板或待认证量化值;其中,待认证量化值是根据待认证生物特征模板进行量化得到的;若向服务器发送待认证生物特征模板,则由服务器根据待认证生物特征模板进行量化,得到待认证量化值。S800. Send the biometric template to be authenticated or the quantized value to be authenticated to the server through a secure channel; wherein the quantized value to be authenticated is obtained by quantifying the biometric template to be authenticated; if the biometric template to be authenticated is sent to the server, the server will Quantification is performed according to the biometric template to be authenticated to obtain a quantified value to be authenticated.
S810,接收服务器发送的待认证对象的身份认证结果。身份认证结果可包括认证成功或失败。S810. Receive the identity authentication result of the object to be authenticated sent by the server. The identity authentication result may include authentication success or failure.
此时,对于非多因子方案,服务器接收到终端发送的待认证生物特征模板或待认证量化值后,执行S750(当终端通过安全通道向服务器发送的是待认证量化值时不执行S750),S760和S770,对于多因子方案,服务器接收到终端发送的待认证生物特征模板或待认证量化值后,执行S750(当终端通过安全通道向服务器发送的是待认证量化值时不执行S750),S760,S780和S790。At this time, for the non-multi-factor scheme, after the server receives the biometric template to be authenticated or the quantized value to be authenticated sent by the terminal, S750 is executed (S750 is not executed when the terminal sends the quantized value to be authenticated to the server through the secure channel), S760 and S770, for the multi-factor scheme, after the server receives the biometric template to be authenticated or the quantized value to be authenticated sent by the terminal, S750 is executed (S750 is not executed when the terminal sends the quantized value to be authenticated to the server through the secure channel), S760, S780 and S790.
为保证数据传输的安全性,在终端和服务器之间建立安全通道可以是在终端设备TEE和服务器TEE之间建立安全通道。该实现方式中,由于服务器算力通常强于终端设备,在服务器根据待认证生物特征模板或待认证量化值以及底库辅助数据确定出待认证对象的身份认证结果通常比在终端设备更快,但需要对待认证生物特征模板或待认证量化值进行传输。To ensure the security of data transmission, establishing a secure channel between the terminal and the server may be establishing a secure channel between the terminal equipment TEE and the server TEE. In this implementation, since the computing power of the server is generally stronger than that of the terminal device, the identification of the identity authentication result of the object to be authenticated is usually faster on the server than on the terminal device, based on the biometric template to be authenticated or the quantified value to be authenticated and the auxiliary data in the base database. However, the biometric template to be authenticated or the quantitative value to be authenticated needs to be transmitted.
在一个具体实施方式中,认证方法700还包括:获取与匹配哈希值对应的用户标识;其中,当对待认证密钥进行校验,确定出对待认证对象的身份认证结果时,匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,当对待认证多因子密钥进行校验,确定出对待认证对象的身份认证结果时,匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。具体的,可以由终端确定匹配哈希值、终端根据匹配哈希值确定用户标识;也可由服务器确定匹配哈希值、服务器根据匹配哈希值确定用户标识、终端接收用户标识;还可由终端确定匹配哈希值、服务器根据匹配哈希值确定用户标识、终端接收用户标识。如前,在第二数据表中关联存储待注册对象的用户标识和待注册对象对应的第一哈希值或第二哈希值,根据匹配哈希值确定用户标识可通过查询第二数据表进行。In a specific implementation, the authentication method 700 further includes: acquiring a user ID corresponding to the matching hash value; wherein, when the key to be authenticated is verified and the identity authentication result of the object to be authenticated is determined, the matching hash value The verification result is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification, or, when the multi-factor key to be authenticated is verified and the identity authentication result of the object to be authenticated is determined, the hash value is matched is the multi-factor hash value to be authenticated corresponding to the multi-factor key to be authenticated whose verification result is passed. Specifically, the terminal may determine the matching hash value, and the terminal may determine the user ID according to the matching hash value; the server may also determine the matching hash value, the server may determine the user ID according to the matching hash value, and the terminal receives the user ID; it may also be determined by the terminal Matching the hash value, the server determines the user ID according to the matching hash value, and the terminal receives the user ID. As before, in the second data table, the user ID of the object to be registered is associated with the first hash value or the second hash value corresponding to the object to be registered, and the user ID can be determined according to the matching hash value by querying the second data table conduct.
下面对由终端或服务器执行的步骤S750和S760进行具体说明。Steps S750 and S760 executed by the terminal or the server will be specifically described below.
S750,根据待认证生物特征模板进行量化,得到待认证量化值。S750. Perform quantification according to the biometric template to be authenticated to obtain a quantified value to be authenticated.
示例性的,S720的待认证生物特征模板包括多个第二特征点对应的生物特征表示;相应的,S750类比步骤S430中根据第一生物特征模板进行量化得到量化值的步骤。可以理解的是,若注册阶段的生物特征表示中包含精确描述子,则认证阶段也需相应的以同样方式确定待认证精确描述子。若步骤S430使用了精确描述子,则步骤S750也需相应的以同样方式使用待认证精确描述子。示例性的,若步骤S430中在S1091和/或S1092中使用精确描述子,步骤S750中在S7501和/或S7502中使用待认证精确描述子。Exemplarily, the biometric template to be authenticated in S720 includes a plurality of biometric representations corresponding to the second feature points; correspondingly, S750 is analogous to the step of performing quantification according to the first biometric template in step S430 to obtain a quantified value. It can be understood that, if the biometric representation in the registration stage contains precise descriptors, the authentication stage also needs to determine the precise descriptors to be authenticated in the same manner. If the precise descriptor is used in step S430, the precise descriptor to be authenticated needs to be correspondingly used in the same manner in step S750. Exemplarily, if the precise descriptor is used in S1091 and/or S1092 in step S430, the precise descriptor to be authenticated is used in S7501 and/or S7502 in step S750.
步骤S7501,根据待认证生物特征模板进行量化,包括:对待认证生物特征模板中包括的生物特征数据和精确描述子以S1091同样的方式进行量化。Step S7501, quantifying according to the biometric template to be authenticated includes: quantifying the biometric data and the precise descriptor included in the biometric template to be authenticated in the same manner as S1091.
步骤S7502,得到待认证量化值,包括:对步骤S7501的量化结果进行与步骤S1092同样的第三变换处理,得到待认证量化值,第三变换处理是根据待认证精确描述子确定的;第三变换处理为可逆或不可逆变换;Step S7502, obtaining the quantized value to be authenticated, includes: performing the third transformation process on the quantized result of step S7501, which is the same as step S1092, to obtain the quantized value to be authenticated, the third transformation process is determined according to the accurate descriptor to be authenticated; the third The transformation is handled as reversible or irreversible transformation;
示例性的,量化值X=φ d(T),其中T为步骤S7501中得到的量化结果,φ d为根据待认证精确描述子确定的第三变换处理。 Exemplarily, the quantization value X=φ d (T), where T is the quantization result obtained in step S7501, and φ d is the third transformation process determined according to the accurate descriptor to be authenticated.
例如,S1091中得到的量化结果为T(t1,t2,…tn),各量化结果对应的特征点对应的精确描述子为D(d1,d2,…dn),在S1092中使x1=φ d1(t1),如此可确定出X(x1,x2…xn)。对应的,S7501中得到的量化结果为T’(t1’,t2’,…tn’),各量化结果对应的特征点对应的待认证精确描述子为D’(d1’,d2’,…dn’),在S7502中使x1’=φ d1’(t1’),如此可确定出X’(x1’,x2’…xn’)。 For example, the quantization result obtained in S1091 is T(t1, t2,...tn), the precise descriptor corresponding to the feature point corresponding to each quantization result is D(d1, d2,...dn), and x1=φ d1 is set in S1092 (t1), so that X(x1,x2...xn) can be determined. Correspondingly, the quantization results obtained in S7501 are T'(t1',t2',...tn'), and the accurate descriptors to be certified corresponding to the feature points corresponding to each quantization result are D'(d1',d2',...dn '), set x1'=φ d1' (t1') in S7502, so that X'(x1', x2'...xn') can be determined.
如此,当待处理图像和待认证图像包含同一对象相同的生物位置时,X和X’相同或足够相似。In this way, when the image to be processed and the image to be authenticated contain the same biological position of the same object, X and X' are the same or sufficiently similar.
S760,根据待认证量化值与底库辅助数据,进行与编码运算对应的解码运算,确定出与底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;S760. Perform a decoding operation corresponding to the encoding operation according to the quantization value to be authenticated and the auxiliary data of the bottom library, and determine at least one key to be authenticated corresponding to at least one first auxiliary data included in the auxiliary data of the bottom library;
示例性的,与编码运算对应的解码运算包括纠错码解码运算。示例性的,纠错码解码运算需要与编码时的纠错码编码运算对应,可以为BCH解码或RS解码。步骤S430中使用了纠错码码字,因此可根据与第一生物特征模板对应的量化值足够接近的待认证量化值和第一辅助数据通过纠错码解码恢复出步骤S430中确定出的纠错码码字,进而根据纠错码码字解码得到第一辅助数据对应的密钥,或者,可根据与第一生物特征模板对应的量化值足够接近的待认证量化值和第一辅助数据通过纠错码解码恢复出步骤S430中确定出的纠错码码字,进而根据纠错码码字确定第一生物特征模板对应的量化值,再根据该量化值得到第一辅助数据对应的密钥。Exemplarily, the decoding operation corresponding to the encoding operation includes an error correction code decoding operation. Exemplarily, the decoding operation of the error correction code needs to correspond to the encoding operation of the error correction code during encoding, which may be BCH decoding or RS decoding. The error correction code word is used in step S430, so the corrected value determined in step S430 can be restored by decoding the error correction code according to the quantized value to be authenticated that is close enough to the quantized value corresponding to the first biometric template and the first auxiliary data. Error code word, and then decoded according to the error correction code code word to obtain the key corresponding to the first auxiliary data, or, according to the quantitative value to be authenticated that is close enough to the quantization value corresponding to the first biometric template and the first auxiliary data through The error correction code is decoded to recover the error correction code word determined in step S430, and then the quantization value corresponding to the first biometric template is determined according to the error correction code word, and then the key corresponding to the first auxiliary data is obtained according to the quantization value .
可以理解的是,对于底库辅助数据中的一个第一辅助数据,当该第一辅助数据是待认证对象在注册阶段确定的注册信息中所包含的第一辅助数据时,根据待认证量化值与该第一辅助数据确定出的待认证密钥等于第一辅助数据对应的密钥。当该第一辅助数据不是待认证对象在注册阶段确定的注册信息中所包含的第一辅助数据时,根据待认证量化值与该第一辅助数据无法确定出待认证密钥或者确定出的待认证密钥与第一辅助数据对应的密钥不一致。可以理解的是,无法确定出待认证密钥是指在多项式时间内无法确定出待认证密钥。It can be understood that, for a first auxiliary data in the bottom library auxiliary data, when the first auxiliary data is the first auxiliary data contained in the registration information determined by the object to be authenticated at the registration stage, according to the quantitative value to be authenticated The key to be authenticated determined with the first auxiliary data is equal to the key corresponding to the first auxiliary data. When the first auxiliary data is not the first auxiliary data included in the registration information determined by the object to be authenticated at the registration stage, the key to be authenticated or the determined key to be authenticated cannot be determined according to the quantized value to be authenticated and the first auxiliary data. The authentication key is inconsistent with the key corresponding to the first auxiliary data. It can be understood that the failure to determine the key to be authenticated means that the key to be authenticated cannot be determined within polynomial time.
下面举例说明如何进行与编码运算对应的解码运算。The following example illustrates how to perform the decoding operation corresponding to the encoding operation.
在第二种实施方式被实施为2.1时,第一辅助数据为点集,步骤S760可以被实施为,When the second implementation manner is implemented as 2.1, the first auxiliary data is a point set, and step S760 can be implemented as,
S7601,将至少一个第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据待认证量化值筛选当前第一辅助数据中的查询点,得到当前第一辅助数据对应的查询点集,查询点集包括多个查询点;查询点的第一坐标分量是根据待认证量化值确定的。S7601. Using at least one first auxiliary data in the first auxiliary data as the current first auxiliary data, filter the query points in the current first auxiliary data according to the quantization value to be authenticated, and obtain the query point set corresponding to the current first auxiliary data. , the query point set includes a plurality of query points; the first coordinate component of the query point is determined according to the quantitative value to be authenticated.
示例性的,可将至少一个第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据,也可将至少一个第一辅助数据进行筛选,将筛选后的第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据。Exemplarily, each first auxiliary data in the at least one first auxiliary data can be used as the current first auxiliary data in turn, or at least one first auxiliary data can be filtered, and the filtered first auxiliary data can be Each first auxiliary data is sequentially used as the current first auxiliary data.
示例性的,查询点的第一坐标分量为待认证量化值;例如,待认证量化值X’(x1’,x2’,..xn’),则查询点集中各查询点的第一坐标分量分别为x1’,x2’,…xn’。Exemplarily, the first coordinate component of the query point is the quantified value to be authenticated; for example, the quantized value X'(x1',x2',..xn') to be authenticated, then the first coordinate component of each query point in the query point set They are x1', x2',...xn' respectively.
示例性的,若在注册阶段第一辅助点集中的点是对第一点进行第四变换处理得到的,则查询点的第一坐标分量是对待认证量化值进行第四变换处理的第一变换分量的逆变换得到的。可表示为Φ d x-1(X’),Φ d x表示第四变换处理中用于得到第一辅助点的第一坐标分量的第一变换分量。可理解的是,该逆变换中使用待认证精确描述子。 Exemplarily, if the points in the first auxiliary point set in the registration stage are obtained by performing the fourth transformation process on the first point, the first coordinate component of the query point is the first transformation of the fourth transformation process on the quantized value to be authenticated obtained by the inverse transformation of the components. It can be expressed as Φ d x-1 (X'), where Φ d x represents the first transformation component used to obtain the first coordinate component of the first auxiliary point in the fourth transformation process. It can be understood that the exact descriptor to be authenticated is used in the inverse transformation.
S7602,根据查询点集,利用解码算法恢复当前辅助数据对应的待认证密钥。S7602. According to the query point set, use a decoding algorithm to restore the key to be authenticated corresponding to the current auxiliary data.
示例性的,若在注册阶段,第一辅助点集中的点是由第一点直接得到的,则根据查询点集,利用解码算法恢复当前辅助数据对应的待认证密钥。Exemplarily, if in the registration phase, the points in the first auxiliary point set are obtained directly from the first point, then according to the query point set, use a decoding algorithm to restore the key to be authenticated corresponding to the current auxiliary data.
示例性的,若在注册阶段,第一辅助点集中的点是对第一点进行第四变换处理得到的,则根据查询点集得到查询曲线点集(对查询点集中查询点的第二坐标分量进行第四变换处理的第二变换分量的 逆变换,其中逆变换中使用待认证精确描述子),根据查询曲线点集,利用解码算法恢复当前辅助数据对应的待认证密钥。解码算法例如是利用拉格朗日插值恢复多项式的算法。Exemplarily, if in the registration stage, the points in the first auxiliary point set are obtained by performing the fourth transformation process on the first point, then the query curve point set is obtained according to the query point set (the second coordinate of the query point in the query point set The inverse transformation of the second transformation component of the fourth transformation process is performed on the component, wherein the inverse transformation uses the accurate descriptor to be authenticated), and according to the query curve point set, the decoding algorithm is used to restore the key to be authenticated corresponding to the current auxiliary data. The decoding algorithm is, for example, an algorithm that restores polynomials using Lagrangian interpolation.
可理解的是,如果查询点集或查询曲线点集中有足够多的点与第一点集中的点重合,则当前辅助数据对应的待认证密钥与第一辅助数据对应的密钥一致。It can be understood that if enough points in the query point set or query curve point set coincide with points in the first point set, the key to be authenticated corresponding to the current auxiliary data is consistent with the key corresponding to the first auxiliary data.
在第二种实施方式被实施为2.2时,第一辅助数据为第一代数曲线的参数,步骤S760可以被实施为,When the second embodiment is implemented as 2.2, the first auxiliary data is the parameter of the first algebraic curve, step S760 can be implemented as,
S7603,将至少一个第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据待认证量化值确定当前第一辅助数据对应的查询点,得到当前第一辅助数据对应的查询点集,查询点集包括多个查询点;查询点的第一坐标分量是根据待认证量化值确定的,查询点的第二坐标分量与查询点的第一坐标分量满足当前第一辅助数据对应的当前映射关系;S7603. Using one of the at least one first auxiliary data as the current first auxiliary data, determine the query point corresponding to the current first auxiliary data according to the quantization value to be authenticated, and obtain the query point set corresponding to the current first auxiliary data. , the query point set includes multiple query points; the first coordinate component of the query point is determined according to the quantitative value to be authenticated, the second coordinate component of the query point and the first coordinate component of the query point satisfy the current first auxiliary data corresponding to Mapping relations;
示例性的,可将至少一个第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据,也可将至少一个第一辅助数据进行筛选,将筛选后的第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据。Exemplarily, each first auxiliary data in the at least one first auxiliary data can be used as the current first auxiliary data in turn, or at least one first auxiliary data can be filtered, and the filtered first auxiliary data can be Each first auxiliary data is sequentially used as the current first auxiliary data.
示例性的,查询点的第一坐标分量为待认证量化值;例如,待认证量化值X’(x1’,x2’,..xn’),则查询点集中各查询点的第一坐标分量分别为x1’,x2’,…xn’。当前第一辅助数据中记录的是第一代数曲线的参数值,可根据查询点的第一坐标分量确定查询点的第二坐标分量。Exemplarily, the first coordinate component of the query point is the quantified value to be authenticated; for example, the quantized value X'(x1',x2',..xn') to be authenticated, then the first coordinate component of each query point in the query point set They are x1', x2',...xn' respectively. The current first auxiliary data records the parameter values of the first algebraic curve, and the second coordinate component of the query point can be determined according to the first coordinate component of the query point.
示例性的,若在注册阶段的第一辅助数据是根据精确描述子得到的,则查询点的第一坐标分量是对待认证量化值进行Φ d x的逆变换得到的。可表示为Φ d x-1(X’),Φ d x为实施方式2.2中确定第一映射关系时使用的Φ d x。可理解的是,该逆变换中使用待认证精确描述子。 Exemplarily, if the first auxiliary data in the registration phase is obtained according to the precise descriptor, then the first coordinate component of the query point is obtained by performing an inverse transformation of Φ d x on the quantized value to be authenticated. It can be expressed as Φ d x-1 (X'), where Φ d x is Φ d x used when determining the first mapping relationship in Embodiment 2.2. It can be understood that the exact descriptor to be authenticated is used in the inverse transformation.
S7604,根据查询点集,利用解码算法恢复当前辅助数据对应的待认证密钥。S7604. According to the query point set, use a decoding algorithm to restore the key to be authenticated corresponding to the current auxiliary data.
参见对步骤S7602的描述。Refer to the description of step S7602.
解码算法例如是利用拉格朗日插值恢复多项式的算法。The decoding algorithm is, for example, an algorithm that restores polynomials using Lagrangian interpolation.
可理解的是,如果查询点集或查询曲线点集中有足够多的点与第二点集中的点重合,则当前辅助数据对应的待认证密钥与第一辅助数据对应的密钥一致。It can be understood that if enough points in the query point set or query curve point set coincide with points in the second point set, the key to be authenticated corresponding to the current auxiliary data is consistent with the key corresponding to the first auxiliary data.
在实施方式2.1和2.2中,先通过纠错码解码(RS解码)根据辅助数据确定纠错码码字,再利用拉格朗日插值根据纠错码码字确定待认证密钥。In Embodiments 2.1 and 2.2, the error correction code codeword is first determined according to the auxiliary data through error correction code decoding (RS decoding), and then the key to be authenticated is determined according to the error correction code codeword by using Lagrangian interpolation.
在第二种实施方式被实施为2.3时,步骤S760可以被实施为,When the second implementation manner is implemented as 2.3, step S760 may be implemented as,
S7605,将至少一个第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据待认证量化值对应的待认证生物向量确定置换运算的逆运算,将置换运算的逆运算作用在当前第一辅助数据上或预处理的当前第一辅助数据上,确定与当前第一辅助数据对应的纠错码码字;S7605. Using one of the at least one first auxiliary data as the current first auxiliary data, determine the inverse operation of the replacement operation according to the biological vector to be authenticated corresponding to the quantitative value to be authenticated, and apply the inverse operation of the replacement operation to the current On the first auxiliary data or on the preprocessed current first auxiliary data, determine an error correction code word corresponding to the current first auxiliary data;
可以理解的是,步骤S7605的置换运算与步骤S1205中的置换运算形式相同,步骤S1205的置换运算是根据量化值对应的生物向量确定的,步骤S7605的置换运算是根据待认证量化值对应的待认证生物向量确定的。可理解的是实际执行过程中可以没有根据待认证量化值对应的待认证生物向量确定步骤S7605的置换运算的步骤,可直接确定置换运算的逆运算。It can be understood that the replacement operation in step S7605 is in the same form as the replacement operation in step S1205, the replacement operation in step S1205 is determined according to the biological vector corresponding to the quantized value, and the replacement operation in step S7605 is determined according to the to-be-authenticated quantitative value corresponding to The authentication bio-vector is determined. It can be understood that the step of determining the permutation operation in step S7605 according to the biological vector to be authenticated corresponding to the quantified value to be authenticated may not be used in the actual execution process, and the inverse operation of the permutation operation can be directly determined.
若步骤S1205中包括S1205b,则对当前第一辅助数据进行预处理,预处理包括对当前第一辅助数据进行第五变换处理的逆运算Φ d -1(H)或Φ d -1(X’,H)。可理解的是,该逆运算中使用待认证精确描述子。 If step S1205 includes S1205b, preprocessing is performed on the current first auxiliary data, and the preprocessing includes the inverse operation Φ d -1 (H) or Φ d -1 (X' , H). It can be understood that the exact descriptor to be authenticated is used in the inverse operation.
S7606,根据当前第一辅助数据对应的纠错码码字得到当前第一辅助数据对应的待认证密钥。S7606. Obtain the key to be authenticated corresponding to the current first auxiliary data according to the error correction code word corresponding to the current first auxiliary data.
在第三种实施方式被实施为3.1时,步骤S760可以被实施为,When the third implementation manner is implemented as 3.1, step S760 may be implemented as,
S7607,同S7605,可以理解的是,步骤S7607的置换运算与步骤S1401中的置换运算形式相同,步骤S1401的置换运算是根据量化值对应的生物向量确定的,步骤S7607的置换运算是根据待认证量化值对应的待认证生物向量确定的。可理解的是,实际执行过程中可以没有根据待认证量化值对应的待认证生物向量确定步骤S7607的置换运算的步骤,可直接确定置换运算的逆运算。S7607 is the same as S7605. It can be understood that the replacement operation in step S7607 is in the same form as the replacement operation in step S1401. The replacement operation in step S1401 is determined according to the biological vector corresponding to the quantized value. The biological vector to be authenticated corresponding to the quantitative value is determined. It can be understood that, in the actual execution process, there may be no step of determining the permutation operation in step S7607 according to the biological vector to be authenticated corresponding to the quantified value to be authenticated, and the inverse operation of the permutation operation can be directly determined.
示例性的,S1401中进行了第六变换处理时需要对当前第一辅助数据进行预处理,预处理包括对当前第一辅助数据进行第六变换处理的逆运算Φ d -1(H)或Φ d -1(X’,H)。可理解的是,该逆运算中使用待认证精确描述子。 Exemplarily, when the sixth transformation processing is performed in S1401, it is necessary to perform preprocessing on the current first auxiliary data, and the preprocessing includes performing the inverse operation Φ d -1 (H) or Φ of the sixth transformation processing on the current first auxiliary data. d -1 (X',H). It can be understood that the exact descriptor to be authenticated is used in the inverse operation.
S7608,根据S7607中确定出的纠错码码字恢复当前第一辅助数据时使用的量化值所对应的生物向量;S7608. Restore the biological vector corresponding to the quantization value used in the current first auxiliary data according to the error correction code word determined in S7607;
S7609,根据量化值确定出当前第一辅助数据对应的待认证密钥。S7609. Determine the key to be authenticated corresponding to the current first auxiliary data according to the quantization value.
示例性的,根据量化值和当前第一辅助数据中解析出的随机量生成当前第一辅助数据对应的待认证密钥。Exemplarily, the key to be authenticated corresponding to the current first auxiliary data is generated according to the quantized value and the random quantity parsed from the current first auxiliary data.
在第三种实施方式被实施为3.2时,步骤S760可以被实施为,When the third implementation manner is implemented as 3.2, step S760 may be implemented as,
S7610,将至少一个第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据当前第一辅助数据和待认证生物向量确定当前第一辅助数据对应的纠错码码字;S7610, using one of the at least one first auxiliary data as the current first auxiliary data, and determining an error correction code word corresponding to the current first auxiliary data according to the current first auxiliary data and the biological vector to be authenticated;
示例性的,可将至少一个第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据,也可将至少一个第一辅助数据进行筛选,将筛选后的第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据。Exemplarily, each first auxiliary data in the at least one first auxiliary data can be used as the current first auxiliary data in turn, or at least one first auxiliary data can be filtered, and the filtered first auxiliary data can be Each first auxiliary data is sequentially used as the current first auxiliary data.
示例性的,S1403中进行了第六变换处理时需要对当前第一辅助数据进行预处理,预处理包括对当前第一辅助数据进行第六变换处理的逆运算Φ d -1(H)或Φ d -1(X’,H)。可理解的是,该逆运算中使用待认证精确描述子。 Exemplarily, when the sixth transformation process is performed in S1403, it is necessary to perform preprocessing on the current first auxiliary data, and the preprocessing includes performing the inverse operation Φ d -1 (H) or Φ of the sixth transformation process on the current first auxiliary data d -1 (X',H). It can be understood that the exact descriptor to be authenticated is used in the inverse operation.
S7611,根据S7610确定出的纠错码码字恢复当前第一辅助数据时使用的量化值所对应的生物向量;S7611. Restoring the biovector corresponding to the quantization value used in the current first auxiliary data according to the error correction code word determined in S7610;
S7612,根据量化值确定出当前第一辅助数据对应的待认证密钥。S7612. Determine the key to be authenticated corresponding to the current first auxiliary data according to the quantization value.
示例性的,根据量化值和当前第一辅助数据中解析出的随机量生成当前第一辅助数据对应的待认证密钥。Exemplarily, the key to be authenticated corresponding to the current first auxiliary data is generated according to the quantized value and the random quantity parsed from the current first auxiliary data.
下面对对应于步骤S430中的第一种实施方式的S730进行说明。步骤S430采用第一种实施方式时,步骤S730包括:S730 corresponding to the first implementation manner in step S430 will be described below. When step S430 adopts the first implementation mode, step S730 includes:
S820,获取认证密钥;S820, acquiring an authentication key;
S830,根据待认证生物特征模板以及认证密钥,进行编码运算,得到待认证辅助数据;S830. Perform an encoding operation according to the biometric template to be authenticated and the authentication key to obtain auxiliary data to be authenticated;
示例性的,认证密钥是待认证对象在认证阶段输入的或是根据待认证对象在认证阶段的输入确定的。例如,通过对待认证对象的输入进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成认证密钥。可以理解的是,认证密钥和注册阶段第一实现方式中第一辅助数据对应的密钥进行相同的处理得到。Exemplarily, the authentication key is input by the object to be authenticated at the authentication stage or determined according to the input of the object to be authenticated at the authentication stage. For example, the authentication key is generated by performing one or more processes of format conversion, digit padding, and verification information addition on the input of the object to be authenticated. It can be understood that the authentication key is obtained through the same process as the key corresponding to the first auxiliary data in the first implementation manner of the registration phase.
本实施方式中,编码运算为步骤S100中形式相同的特征转换,只是本实施方式中的特征转换是根据认证密钥确定的。In this embodiment, the encoding operation is the feature conversion in the same form as in step S100, except that the feature conversion in this embodiment is determined according to the authentication key.
本实施方式中,注册阶段,F k(X)=H;认证阶段,F k’(X’)=H’。其中,F为特征转换函数,k为第一辅助数据对应的密钥,k’为认证阶段获取的认证密钥,X和X’分别为注册阶段和认证阶段的生物特征模板,H和H’分别为注册阶段和认证阶段的辅助数据,认证阶段的辅助数据即待认证辅助数据。 In this embodiment, in the registration phase, F k (X)=H; in the authentication phase, F k '(X')=H'. Among them, F is the feature conversion function, k is the key corresponding to the first auxiliary data, k' is the authentication key obtained in the authentication stage, X and X' are the biometric templates in the registration stage and the authentication stage, respectively, H and H' are the auxiliary data in the registration phase and the authentication phase, respectively, and the auxiliary data in the authentication phase are the auxiliary data to be authenticated.
S840,根据待认证辅助数据与底库辅助数据的对比结果,确定出待认证对象的身份认证结果。S840. Determine the identity authentication result of the object to be authenticated according to the comparison result of the auxiliary data to be authenticated and the auxiliary data in the bottom database.
可理解的是,若待认证辅助数据和底库辅助数据均在同一主体上,可在该主体上进行对比,得到对比结果。否则,需要将待认证辅助数据或底库辅助数据发送至同一主体,再在该主体上进行对比,得到对比结果。例如,待认证辅助数据由终端生成,底库辅助数据位于服务器,可由终端将待认证辅助数据发送至服务器、由服务器进行对比;或者由服务器将底库辅助数据发送至终端、由终端进行对比。It is understandable that if the auxiliary data to be authenticated and the auxiliary data of the bottom database are both on the same body, they can be compared on the body to obtain a comparison result. Otherwise, it is necessary to send the auxiliary data to be authenticated or the auxiliary data of the bottom database to the same subject, and then compare it on the subject to obtain the comparison result. For example, the auxiliary data to be authenticated is generated by the terminal, and the auxiliary data of the base database is located in the server. The terminal can send the auxiliary data to be authenticated to the server for comparison; or the server can send the auxiliary data of the base library to the terminal for comparison.
若X和X’足够接近且k’=k,则H和H’足够接近。因此可根据待认证辅助数据与底库辅助数据的对比结果,确定出待认证对象的身份认证结果。If X and X' are close enough and k'=k, then H and H' are close enough. Therefore, the identity authentication result of the object to be authenticated can be determined according to the comparison result of the auxiliary data to be authenticated and the auxiliary data in the bottom database.
一种具体实施方式中,S700还包括:In a specific implementation manner, S700 also includes:
根据第二生物特征区域,确定第二索引特征;第二索引特征和第一索引特征通过相同的特征提取方法提取;底库辅助数据是与第二索引特征满足距离条件的第一索引数据所对应的第一辅助数据。According to the second biometric area, determine the second index feature; the second index feature and the first index feature are extracted by the same feature extraction method; the bottom library auxiliary data is corresponding to the first index data whose second index feature satisfies the distance condition The first auxiliary data of .
若注册阶段提取了第一索引特征,则可在认证阶段提取第二索引特征,用第二索引特征筛选出这样的第一辅助数据作为底库辅助数据:其对应的第一索引特征与第二索引特征满足距离条件。距离条件例如是,距离小于距离阈值和/或距离为最接近的前N个。If the first index feature is extracted in the registration stage, the second index feature can be extracted in the authentication stage, and the first auxiliary data can be screened out by using the second index feature as the bottom database auxiliary data: the corresponding first index feature and the second index feature Indexed features satisfy the distance condition. The distance condition is, for example, that the distance is less than a distance threshold and/or the distance is the closest top N.
可理解的是,筛选底库辅助数据的步骤可在终端或服务器进行。若在服务器进行,可由终端将待认证对象的第二索引特征发送至服务器,由服务器进行筛选。It can be understood that the step of screening the auxiliary data of the bottom library can be performed on the terminal or the server. If it is performed on the server, the terminal may send the second index feature of the object to be authenticated to the server, and the server will perform screening.
一例中,第一索引特征所对应的距离条件是根据注册信息中与该第一索引特征所对应的噪声信息确定的。In one example, the distance condition corresponding to the first index feature is determined according to the noise information corresponding to the first index feature in the registration information.
如前,注册信息中的第一索引特征可以是添加了噪声的第一索引特征,此时可根据噪声添加程度确定距离条件。As before, the first index feature in the registration information may be the first index feature with noise added, and at this time, the distance condition may be determined according to the degree of noise addition.
实施例七Embodiment seven
基于同一构思,本公开实施例中还提供了与身份认证方法对应的身份认证装置,由于本公开实施例中的装置解决问题的原理与前述的身份认证方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。Based on the same idea, the embodiment of the present disclosure also provides an identity authentication device corresponding to the identity authentication method. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity authentication method, the For the implementation of the device, reference may be made to the descriptions in the embodiments of the above methods, and repeated descriptions will not be repeated.
本公开实施例提供一种身份认证装置的功能模块。本实施例中的身份认证装置中的各个模块用于执行上述方法实施例中的各个步骤。身份认证装置包括:第二获取模块、第三确定模块以及第三获取模块;其中,An embodiment of the present disclosure provides a functional module of an identity authentication device. Each module in the identity authentication device in this embodiment is used to execute each step in the above method embodiment. The identity authentication device includes: a second acquisition module, a third determination module, and a third acquisition module; wherein,
第二获取模块,用于获取待认证对象的待认证图像,待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点;The second acquisition module is configured to acquire an image to be authenticated of the object to be authenticated, the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
第三确定模块,用于根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板;The third determining module is used to determine the biometric template to be authenticated in the second biometric region according to the second biometric region;
第三获取模块,用于获取待认证对象的身份认证结果,身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的。The third acquisition module is used to acquire the identity authentication result of the object to be authenticated, and the identity authentication result is determined according to the biometric template to be authenticated and the auxiliary data in the base database.
其中,底库辅助数据包括至少一个第一辅助数据;第一辅助数据包括在注册信息中,注册信息是通过实施例四提供的身份注册方法确定的。Wherein, the base database auxiliary data includes at least one first auxiliary data; the first auxiliary data is included in the registration information, and the registration information is determined through the identity registration method provided in the fourth embodiment.
实施例八Embodiment eight
本公开实施例还提供了身份注册方法。本实施例中的方法与实施例四提供的身份注册方法类似,其不同之处在于,实施例四提供的方法是基于终端设备一侧提供的身份注册方法,本实施例是基于服务器一侧提供的身份注册方法。下面将对本实施例的身份注册方法的具体流程进行详细阐述。The embodiment of the present disclosure also provides an identity registration method. The method in this embodiment is similar to the identity registration method provided in Embodiment 4, the difference is that the method provided in Embodiment 4 is based on the identity registration method provided by the terminal device side, and this embodiment is based on the identity registration method provided by the server side. The identity registration method. The specific flow of the identity registration method of this embodiment will be described in detail below.
接收终端设备发送的注册信息。上述的注册信息可以是通过实施例四提供的身份注册方法确定的。 将注册信息存储至数据库中。Receive the registration information sent by the terminal device. The above registration information may be determined through the identity registration method provided in Embodiment 4. Store registration information in the database.
注册信息包括第一辅助数据。注册信息还可包括哈希值、哈希参数、校验值、第一索引特征、第一索引特征中添加的噪声信息、限制因素、用户标识等,注册信息可以包括第一数据表和第二数据表,相关说明参见对实施例四的描述,不再赘述。The registration information includes first assistance data. The registration information can also include hash value, hash parameter, check value, first index feature, noise information added in the first index feature, restriction factor, user identification, etc., and the registration information can include the first data table and the second For the data table, see the description of Embodiment 4 for related descriptions, and details will not be repeated here.
一个具体实施方式中,本实施例还包括以下步骤:In a specific implementation manner, this embodiment also includes the following steps:
S850,确定仿真辅助数据,将仿真辅助数据存储至数据库中;或者,S850. Determine the simulation auxiliary data, and store the simulation auxiliary data in the database; or,
S860,确定仿真辅助数据,确定仿真索引特征,将仿真索引特征和仿真辅助数据关联存储至数据库中。S860. Determine simulation auxiliary data, determine simulation index features, and associate and store the simulation index features and simulation auxiliary data in a database.
可以理解的是,为了使得攻击者无法确认哪些特征是真实用户的索引特征和辅助数据,哪些是混淆特征和辅助数据,从而无法判定一个用户是否在系统中,进一步提高数据安全性,服务器还可以在数据库中增加用于混淆的数据记录。如果注册信息中包括第一辅助数据,执行S850,如果注册信息中包括第一索引特征和第一辅助数据,执行S860。It is understandable that in order to make it impossible for the attacker to confirm which features are the real user's index features and auxiliary data, which are the obfuscated features and auxiliary data, so that it is impossible to determine whether a user is in the system and further improve data security, the server can also Add data records for obfuscation in the database. If the registration information includes the first auxiliary data, execute S850, and if the registration information includes the first index feature and the first auxiliary data, execute S860.
其中,仿真辅助数据通过如下方式之一生成:Among them, the simulation auxiliary data is generated by one of the following methods:
方式a,生成仿真图像,仿真图像包括仿真生物特征区域,根据仿真生物特征区域,确定仿真特征区域的仿真生物特征模板,根据仿真生物特征模板确定仿真辅助数据;Mode a, generating a simulation image, the simulation image includes a simulated biometric region, determining a simulated biometric template for the simulated characteristic region according to the simulated biometric region, and determining simulation auxiliary data according to the simulated biometric template;
方式b,生成仿真生物特征模板,根据仿真生物特征模板确定仿真辅助数据;Mode b, generating a simulated biometric template, and determining simulation auxiliary data according to the simulated biometric template;
方式c,直接生成仿真辅助数据。Mode c, directly generate simulation auxiliary data.
方式a和方式b中,例如可以用生成对抗网络(Generative Adversarial Network,GAN)生成仿真图像或生成仿真生物特征模板;其中,可以使用的生成对抗网络包括:GAN、styleGAN、styleGAN2、WGAN(Wasserstein GAN)、WGAN-GP(Wasserstein GAN-gradient penalty)和辅助分类生成对抗网络(Auxiliary Classifier Generative Adversarial Network,AC-GAN)等。In mode a and mode b, for example, a Generative Adversarial Network (GAN) can be used to generate a simulated image or a simulated biometric template; wherein, the generative confrontation network that can be used includes: GAN, styleGAN, styleGAN2, WGAN (Wasserstein GAN ), WGAN-GP (Wasserstein GAN-gradient penalty) and Auxiliary Classifier Generative Adversarial Network (AC-GAN), etc.
为节省算力,可采用方式c。例如可以随机生成。仿真辅助数据用来进行认证阶段的解码或辅助数据的比对,即便随机生成,也不会影响其作为混淆记录的作用。In order to save computing power, method c can be adopted. For example, it can be randomly generated. The simulation auxiliary data is used for decoding in the authentication stage or comparison of auxiliary data. Even if it is randomly generated, it will not affect its function as a confusing record.
仿真索引特征可通过方式d和方式e生成。Simulation index features can be generated by way d and way e.
方式d,直接生成仿真索引特征。例如,可以用生成对抗网络(Generative Adversarial Network,GAN)生成仿真索引特征。Mode d, directly generate simulation index features. For example, a Generative Adversarial Network (GAN) can be used to generate simulated index features.
方式e,对仿真图像的仿真生物特征区域进行特征提取,得到仿真索引特征。Mode e, performing feature extraction on the simulated biometric feature area of the simulated image to obtain simulated index features.
实施例九Embodiment nine
基于同一构思,本公开实施例中还提供了与身份注册方法对应的身份注册装置,由于本公开实施例中的装置解决问题的原理与前述的身份注册方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。Based on the same idea, an identity registration device corresponding to the identity registration method is also provided in the embodiment of the present disclosure. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity registration method, the method in this embodiment For the implementation of the device, reference may be made to the descriptions in the embodiments of the above methods, and repeated descriptions will not be repeated.
本公开实施例提供一种身份注册装置的功能模块。本实施例中的身份注册装置中的各个模块用于执行上述方法实施例中的各个步骤。身份注册装置包括:接收模块和第二存储模块;其中,An embodiment of the present disclosure provides a functional module of an identity registration device. Each module in the identity registration device in this embodiment is used to execute each step in the above method embodiment. The identity registration device includes: a receiving module and a second storage module; wherein,
接收模块,用于接收终端设备发送的注册信息,注册信息是通过上述的身份注册方法确定的;第二存储模块,用于将注册信息存储至数据库中,注册信息包括第一辅助数据。The receiving module is used to receive the registration information sent by the terminal device, the registration information is determined by the above identity registration method; the second storage module is used to store the registration information in the database, the registration information includes the first auxiliary data.
实施例十Embodiment ten
本公开实施例还提供了一种身份认证方法。本实施例提供的身份认证方法与实施例六提供的身份认证方法类似,其不同之处在于,实施例六提供的身份认证方法是基于终端设备提供的身份认证方法,本实施例提供的身份认证方法是基于服务器的身份认证方法。下面将对本实施例的身份认证方法的具 体流程进行详细阐述。The embodiment of the present disclosure also provides an identity authentication method. The identity authentication method provided in this embodiment is similar to the identity authentication method provided in Embodiment 6, the difference is that the identity authentication method provided in Embodiment 6 is based on the identity authentication method provided by the terminal device, and the identity authentication method provided in this embodiment The method is a server-based authentication method. The specific flow of the identity authentication method in this embodiment will be described in detail below.
步骤910,接收终端设备发送的认证请求。Step 910, receiving an authentication request sent by the terminal device.
步骤920,根据认证请求,从注册信息中确定出底库辅助数据。Step 920, according to the authentication request, determine the bottom library auxiliary data from the registration information.
其中,底库辅助数据包括至少一个第一辅助数据。Wherein, the base library auxiliary data includes at least one first auxiliary data.
若注册信息存储于服务器,从注册信息中确定底库辅助数据的步骤通常由服务器执行。对于1:N的情形,底库辅助数据可以是存储的注册信息中的全量第一辅助数据,也可以是经过初步筛选之后的第一辅助数据。例如,根据用户标识、设备标识、注册时间、认证时间、认证地点、待认证图像中提取出的低区分度特征、待认证生物特征模板中提取出的低区分度特征、待认证量化值中提取中的低区分度特征等限制因素从全量第一辅助数据筛选出底库辅助数据。对于1:1的情形,底库辅助数据可以是根据用户标识、设备标识等唯一确定的第一辅助数据。可以理解的是,用于从注册信息中确定出底库辅助数据的信息可由终端设备发送至服务器,其可以包含在认证请求中,也可以独立于认证请求发送。If the registration information is stored on the server, the step of determining base bank auxiliary data from the registration information is usually performed by the server. For the case of 1:N, the bottom database auxiliary data may be all first auxiliary data in the stored registration information, or the first auxiliary data after preliminary screening. For example, based on user ID, device ID, registration time, authentication time, authentication location, low-discrimination features extracted from images to be authenticated, low-discrimination features extracted from biometric templates to be authenticated, and quantitative values to be authenticated Restricting factors such as low-discriminatory features in the medium screen out the auxiliary data of the bottom library from the full amount of the first auxiliary data. For the case of 1:1, the base library auxiliary data may be the first auxiliary data uniquely determined according to user identification, device identification, and the like. It can be understood that the information used to determine the base library auxiliary data from the registration information can be sent by the terminal device to the server, and it can be included in the authentication request, or can be sent independently of the authentication request.
其中,上述的注册信息是通过上述身份注册方法所存储数据库中的注册信息。Wherein, the above-mentioned registration information is the registration information stored in the database through the above-mentioned identity registration method.
本实施例提供的身份认证方法可以基于确定出的底库辅助数据对待认证生物特征模板进行认证。具体的,可在服务器进行认证,也可将底库辅助数据发送给终端设备,由终端设备或终端设备和服务器配合进行认证。The identity authentication method provided in this embodiment may authenticate the biometric template to be authenticated based on the determined base database auxiliary data. Specifically, the authentication can be performed on the server, or the auxiliary data of the bottom database can be sent to the terminal device, and the terminal device or the terminal device and the server cooperate to perform the authentication.
对于对应于步骤S430中的第二种(步骤S109、S110-S120)或第三种实施方式(步骤S129、S130-S150),量化、解码、对密钥进行校验、用户标识的确定的步骤可在终端或服务器执行。若终端发送的是生物特征模板而非量化值,则服务器进行量化。若底库辅助数据存储于终端或由服务器下发至终端,则由终端解码,否则由服务器解码。若对密钥进行校验所需的哈希值、哈希参数、校验值等位于服务器,则由服务器进行校验,否则由终端进行对应步骤的校验。若用户标识和哈希值的对应关系存储于服务器,则由服务器确定用户标识。具体步骤参见对实施例六的描述,不再赘述。For the second (step S109, S110-S120) or third implementation (step S129, S130-S150) corresponding to step S430, the steps of quantizing, decoding, verifying the key, and determining the user identification Can be executed on terminal or server. If the terminal sends a biometric template instead of a quantized value, the server performs quantization. If the base library auxiliary data is stored in the terminal or sent to the terminal by the server, it will be decoded by the terminal, otherwise it will be decoded by the server. If the hash value, hash parameters, and verification values required for verifying the key are located on the server, the verification is performed by the server; otherwise, the verification of the corresponding steps is performed by the terminal. If the correspondence between the user ID and the hash value is stored in the server, the server will determine the user ID. For specific steps, refer to the description of Embodiment 6, and details are not repeated here.
对应于步骤S430的第一种实施方式,确定待认证辅助数据、将待认证辅助数据与底库辅助数据进行对比的步骤可由终端或服务器执行。通常情况下,考虑到安全问题待认证辅助数据由终端确定。若由服务器确定,终端需将待认证生物特征模板和认证密钥发送至服务器,由服务器进行编码运算得到待认证辅助数据。具体步骤参见对实施例六的描述,不再赘述。Corresponding to the first implementation manner of step S430, the steps of determining the auxiliary data to be authenticated and comparing the auxiliary data to be authenticated with the auxiliary data in the bottom database can be executed by the terminal or the server. Usually, the auxiliary data to be authenticated is determined by the terminal in consideration of security issues. If determined by the server, the terminal needs to send the biometric template to be authenticated and the authentication key to the server, and the server will perform encoding operations to obtain auxiliary data to be authenticated. For specific steps, refer to the description of Embodiment 6, and details are not repeated here.
下面以几种具体的身份注册方法和身份认证方法为例,对本公开实施例的方法进行说明。The methods in the embodiments of the present disclosure will be described below by taking several specific identity registration methods and identity authentication methods as examples.
请参见图4示出的本公开实施例提供的注册方法的其中一种交互时序图;本公开实施例提供一种具体的注册方法,包括:Please refer to one of the interactive sequence diagrams of the registration method provided by the embodiment of the present disclosure shown in FIG. 4; the embodiment of the present disclosure provides a specific registration method, including:
S400,终端设备获得待注册对象的待处理图像,待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点;S400. The terminal device obtains an image to be processed of an object to be registered, where the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
S401,终端设备根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板,第一生物特征模板包括多个第一特征点对应的生物特征表示;S401. The terminal device determines a first biometric template of the first biometric region according to the first biometric region, where the first biometric template includes biometric representations corresponding to a plurality of first characteristic points;
S402,终端设备对用户输入进行格式转换并添加冗余位作为校验信息,生成第一辅助数据对应的密钥;S402. The terminal device converts the format of the user input and adds redundant bits as verification information to generate a key corresponding to the first auxiliary data;
S403,终端设备根据第一生物特征模板和第一辅助数据对应的密钥进行编码运算,得到第一辅助数据;其中,编码运算包括不可逆变换;S403. The terminal device performs an encoding operation according to the first biometric template and a key corresponding to the first auxiliary data to obtain the first auxiliary data; wherein, the encoding operation includes irreversible transformation;
S404,终端设备确定第一哈希参数,根据第一辅助数据对应的密钥和第一哈希参数进行哈希运算,得到第一哈希值;S404. The terminal device determines a first hash parameter, and performs a hash operation according to the key corresponding to the first auxiliary data and the first hash parameter, to obtain a first hash value;
S405,终端设备获取终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中 至少一者;S405, the terminal device obtains at least one of the performance information of the terminal device, the network information between the terminal device and the server, and the expected security level;
S406,终端设备根据终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中至少一者确定噪声信息;S406, the terminal device determines the noise information according to at least one of the performance information of the terminal device, the network information between the terminal device and the server, and the expected security level;
S407,终端设备对第一生物特征区域进行特征提取,得到第一索引特征,在第一索引特征上添加噪声信息中包含的噪声强度的噪声数据,获得添加噪声的第一索引特征;第一索引特征的区分度低于第一生物特征模板的区分度;S407. The terminal device performs feature extraction on the first biometric feature area to obtain a first index feature, and adds noise data of noise intensity contained in the noise information to the first index feature to obtain the first index feature with noise added; the first index the distinctiveness of the feature is lower than that of the first biometric template;
S408,终端设备向服务器发送添加噪声的第一索引特征、第一辅助数据、第一哈希参数、第一哈希值;S408. The terminal device sends the noise-added first index feature, first auxiliary data, first hash parameter, and first hash value to the server;
S409,终端设备向服务器发送噪声信息和用户指定的用户标识;S409, the terminal device sends the noise information and the user identification specified by the user to the server;
S410,服务器接收添加噪声的第一索引特征、第一辅助数据、第一哈希参数、第一哈希值、噪声信息和用户标识;S410. The server receives the noise-added first index feature, first auxiliary data, first hash parameter, first hash value, noise information, and user identifier;
S411,服务器将添加噪声的第一索引特征、第一辅助数据、第一哈希参数、噪声信息关联存储;S411, the server associates and stores the noise-added first index feature, first auxiliary data, first hash parameter, and noise information;
S412,服务器将用户标识和第一哈希值关联存储。S412. The server associates and stores the user identifier and the first hash value.
请参见图5示出的本公开实施例提供的第一种具体认证方法的交互时序图;本公开实施例提供一种具体的身份认证方法,包括:Please refer to the interactive sequence diagram of the first specific authentication method provided by the embodiment of the present disclosure shown in FIG. 5; the embodiment of the present disclosure provides a specific identity authentication method, including:
S500,终端设备获取待认证对象的待认证图像,待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点;S500. The terminal device acquires an image to be authenticated of an object to be authenticated, where the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
S501,终端设备根据第二生物特征区域,确定第二索引特征;第二索引特征和第一索引特征通过相同的特征提取方法提取;S501. The terminal device determines a second index feature according to the second biometric area; the second index feature and the first index feature are extracted by the same feature extraction method;
S502,终端设备根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板;S502. The terminal device determines a biometric template to be authenticated in the second biometric region according to the second biometric region;
S503,终端设备将第二索引特征发送至服务器;S503. The terminal device sends the second index feature to the server;
S504,终端设备将待认证生物特征模板通过安全通道发送至服务器;S504, the terminal device sends the biometric template to be authenticated to the server through a secure channel;
S505,服务器根据第二索引特征在数据库中查询与第二索引特征的距离满足距离条件的多个第一索引特征;S505. The server searches the database for a plurality of first index features whose distance from the second index feature satisfies the distance condition according to the second index feature;
S506,服务器在数据库中查询多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据;S506. The server queries the database for a plurality of first auxiliary data corresponding to a plurality of first index features one-to-one, and obtains the bottom database auxiliary data;
S507,服务器根据待认证生物特征模板和底库辅助数据进行解码运算,得到至少一个待认证密钥;S507, the server performs a decoding operation according to the biometric template to be authenticated and the auxiliary data of the bottom database, and obtains at least one key to be authenticated;
S508,服务器对至少一个待认证密钥进行初步校验,得到初步校验通过的待认证密钥;S508. The server performs preliminary verification on at least one key to be authenticated, and obtains a key to be authenticated that passes the preliminary verification;
S509,服务器根据初步校验通过的待认证密钥对应的第一辅助数据对应的第一哈希参数,确定初步校验通过的待认证密钥对应的待认证哈希值;S509, the server determines the hash value to be authenticated corresponding to the key to be authenticated that passes the preliminary verification according to the first hash parameter corresponding to the first auxiliary data corresponding to the key to be authenticated that passes the preliminary verification;
S510,服务器将每个待认证哈希值与底库第一哈希值进行对比,确定与待认证哈希值匹配的底库第一哈希值;如果对于某个待认证哈希值,存在与其匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥为校验通过;S510. The server compares each hash value to be authenticated with the first hash value of the bottom library, and determines the first hash value of the bottom library that matches the hash value to be authenticated; if there is a hash value to be authenticated If it matches the first hash value of the bottom library, the key to be authenticated corresponding to the hash value to be authenticated is verified as passing;
S510,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;S510, the server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
S511,服务器通过安全通道向终端设备发送身份认证结果,身份认证结果包括认证成功、校验通过的待认证密钥和用户标识;S511. The server sends an identity authentication result to the terminal device through a secure channel, and the identity authentication result includes authentication success, a key to be authenticated and a user ID that pass the verification;
S512,终端设备接收身份认证结果。S512. The terminal device receives an identity authentication result.
请参见图6示出的本公开实施例提供的另一种具体身份认证方法的交互时序图;本公开实施例提 供另一种具体的身份认证方法,包括:Please refer to the interactive sequence diagram of another specific identity authentication method provided by the embodiment of the present disclosure shown in FIG. 6; the embodiment of the present disclosure provides another specific identity authentication method, including:
S500-S503,S505-S506,还包括,S500-S503, S505-S506, also include,
S520,服务器向终端设备发送底库辅助数据和底库辅助数据包括的第一辅助数据所对应的第一哈希参数;S520. The server sends the bottom library auxiliary data and the first hash parameter corresponding to the first auxiliary data included in the bottom library auxiliary data to the terminal device;
S521,终端设备根据待认证生物特征模板和接收到的底库辅助数据进行解码运算,得到至少一个待认证密钥;S521. The terminal device performs a decoding operation according to the biometric template to be authenticated and the received bottom database auxiliary data, to obtain at least one key to be authenticated;
S522,终端设备对至少一个待认证密钥进行初步校验,得到初步校验通过的待认证密钥;S522. The terminal device performs preliminary verification on at least one key to be authenticated, and obtains a key to be authenticated that passes the preliminary verification;
S523,终端设备根据初步校验通过的待认证密钥对应的第一辅助数据对应的第一哈希参数,确定初步校验通过的待认证密钥对应的待认证哈希值;S523. The terminal device determines the hash value to be authenticated corresponding to the key to be authenticated that passes the preliminary verification according to the first hash parameter corresponding to the first auxiliary data corresponding to the key to be authenticated that passes the preliminary verification;
S524,终端设备向服务器发送待认证哈希值;S524, the terminal device sends the hash value to be authenticated to the server;
S525,服务器将接收到的每个待认证哈希值与底库第一哈希值进行对比,确定与待认证哈希值匹配的底库第一哈希值;如果对于某个待认证哈希值,存在与其匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥为校验通过;S525. The server compares each received hash value to be authenticated with the first hash value of the bottom library, and determines the first hash value of the bottom library that matches the hash value to be authenticated; value, if there is a matching first hash value of the bottom library, then the key to be authenticated corresponding to the hash value to be authenticated is verified as passing;
S526,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;S526. The server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
S527,服务器向终端设备发送身份认证结果,身份认证结果包括认证成功、匹配哈希值和用户标识;S527. The server sends an identity authentication result to the terminal device, where the identity authentication result includes authentication success, matching hash value, and user identifier;
S528,终端设备接收身份认证结果,根据身份认证结果中的匹配哈希值确定出校验通过的待认证密钥。S528. The terminal device receives the identity authentication result, and determines the key to be authenticated that passes the verification according to the matching hash value in the identity authentication result.
本公开实施例提供另一种具体的身份认证方法,包括:The embodiment of the present disclosure provides another specific identity authentication method, including:
S500-S503,S505-S506,还包括,S500-S503, S505-S506, also include,
S540,服务器向终端设备发送底库辅助数据和底库辅助数据包括的第一辅助数据所对应的第二哈希参数;S540. The server sends the bottom library auxiliary data and the second hash parameter corresponding to the first auxiliary data included in the bottom library auxiliary data to the terminal device;
S541,终端设备根据待认证生物特征模板和接收到的底库辅助数据进行解码运算,得到至少一个待认证密钥;S541. The terminal device performs a decoding operation according to the biometric template to be authenticated and the received bottom database auxiliary data, to obtain at least one key to be authenticated;
S542,终端设备对至少一个待认证密钥进行初步校验,得到初步校验通过的待认证密钥;S542. The terminal device performs preliminary verification on at least one key to be authenticated, and obtains a key to be authenticated that passes the preliminary verification;
S543,终端设备根据初步校验通过的待认证密钥和第二变换密钥,生成待认证多因子密钥;第二变换密钥是根据待认证对象输入的用户口令确定的;S543. The terminal device generates a multi-factor key to be authenticated according to the key to be authenticated and the second transformation key that have passed the preliminary verification; the second transformation key is determined according to the user password input by the object to be authenticated;
S544,终端设备对待认证多因子密钥进行初步校验,得到初步校验通过的待认证多因子密钥;S544. The terminal device performs preliminary verification on the multi-factor key to be authenticated, and obtains the multi-factor key to be authenticated that passes the preliminary verification;
S545,终端根据初步校验通过的待认证多因子密钥对应的第一辅助数据对应的第二哈希参数,确定初步校验通过的待认证密钥对应的待认证多因子哈希值;S545. The terminal determines the multi-factor hash value to be authenticated corresponding to the key to be authenticated that passes the preliminary verification according to the second hash parameter corresponding to the first auxiliary data corresponding to the multi-factor key to be authenticated that passes the preliminary verification;
S546,终端设备向服务器发送待认证多因子哈希值;S546. The terminal device sends the multi-factor hash value to be authenticated to the server;
S547,服务器将接收到的每个待认证多因子哈希值与底库第二哈希值进行对比,确定与待认证多因子哈希值匹配的底库第二哈希值;如果对于某个待认证多因子哈希值,存在与其匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥为校验通过;S547. The server compares each received multi-factor hash value to be authenticated with the second hash value of the bottom library, and determines the second hash value of the bottom library that matches the multi-factor hash value to be authenticated; if for a For the multi-factor hash value to be authenticated, if there is a second hash value matching it, the multi-factor key to be authenticated corresponding to the multi-factor hash value to be authenticated has passed the verification;
S548,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证多因子密钥所对应的待认证多因子哈希值;S548. The server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the multi-factor hash value to be authenticated corresponding to the multi-factor key to be authenticated that passes the verification;
S549,服务器向终端设备发送身份认证结果,身份认证结果包括认证成功、匹配哈希值和用户标识;S549. The server sends an identity authentication result to the terminal device, where the identity authentication result includes authentication success, matching hash value, and user identifier;
S550,终端设备接收身份认证结果,根据身份认证结果中的匹配哈希值确定出校验通过的待认证多因子密钥。S550. The terminal device receives the identity authentication result, and determines the multi-factor key to be authenticated that passes the verification according to the matching hash value in the identity authentication result.
本公开实施例还提供另一种具体的身份认证方法,包括:The embodiment of the present disclosure also provides another specific identity authentication method, including:
S500-S503,S505-S506,S520-S523,S500-S503, S505-S506, S520-S523,
S529,服务器向终端设备发送底库第一哈希值;S529, the server sends the first hash value of the base library to the terminal device;
S530,终端设备将每个待认证哈希值与接收到的底库第一哈希值进行对比,确定与待认证哈希值匹配的底库第一哈希值;如果对于某个待认证哈希值,存在与其匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥为校验通过;S530. The terminal device compares each hash value to be authenticated with the received first hash value of the bottom library, and determines the first hash value of the bottom library that matches the hash value to be authenticated; Hash value, if there is a matching first hash value of the bottom library, the key to be authenticated corresponding to the hash value to be authenticated is verified as passing;
S531终端设备向服务器发送匹配哈希值,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;S531 The terminal device sends a matching hash value to the server, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
S532,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;S532. The server determines the user identifier corresponding to the matching hash value according to the matching hash value, and the matching hash value is the hash value to be authenticated corresponding to the key to be authenticated that passes the verification;
S533,服务器向终端设备发送匹配哈希值对应的用户标识;S533. The server sends the user identifier corresponding to the matching hash value to the terminal device;
S534,终端设备接收匹配哈希值对应的用户标识;S534. The terminal device receives the user identifier corresponding to the matching hash value;
S535,终端设备确定身份认证结果:身份认证结果包括:认证成功,校验成功的待认证密钥,用户标识。S535. The terminal device determines the identity authentication result: the identity authentication result includes: the authentication is successful, the verification key to be authenticated is successful, and the user ID.
实施例十一Embodiment Eleven
基于同一公开构思,本公开实施例中还提供了与身份认证方法对应的身份认证装置,由于本公开实施例中的装置解决问题的原理与前述的身份认证方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。Based on the same public concept, the embodiment of the present disclosure also provides an identity authentication device corresponding to the identity authentication method. Since the problem-solving principle of the device in the embodiment of the present disclosure is similar to the aforementioned embodiment of the identity authentication method, in this embodiment For the implementation of the device, reference may be made to the description in the embodiments of the above method, and repeated descriptions will not be repeated.
本实施例中的身份认证装置中的各个模块用于执行上述方法实施例中的各个步骤。身份认证装置包括:第二接收模块和底库辅助数据确定模块;其中,Each module in the identity authentication device in this embodiment is used to execute each step in the above method embodiment. The identity authentication device includes: a second receiving module and a bottom database auxiliary data determination module; wherein,
第二接收模块,用于接收终端设备发送的认证请求;The second receiving module is configured to receive the authentication request sent by the terminal device;
底库辅助数据确定模块,用于根据认证请求,从注册信息中确定出底库辅助数据;其中,底库辅助数据包括至少一个第一辅助数据。The bottom library auxiliary data determining module is configured to determine the bottom library auxiliary data from the registration information according to the authentication request; wherein the bottom library auxiliary data includes at least one first auxiliary data.
实施例十二Embodiment 12
本公开实施例还提供一种密钥使用方法,下面对该方法的具体流程进行详细阐述。The embodiment of the present disclosure also provides a method for using a key, and the specific flow of the method will be described in detail below.
步骤1010,使用身份认证方法对待认证对象进行身份认证。Step 1010, use the identity authentication method to authenticate the identity of the object to be authenticated.
若待认证对象的身份认证成功,则执行步骤1020。If the identity authentication of the object to be authenticated is successful, step 1020 is executed.
可选地,本实施例所使用的身份认证方法可以与上述实施例六或实施例十提供的身份认证方法类似,关于步骤1010的具体细节可以参阅实施例六或实施例十中的描述,在此不再赘述。Optionally, the identity authentication method used in this embodiment may be similar to the identity authentication method provided in Embodiment 6 or Embodiment 10 above. For details about step 1010, please refer to the description in Embodiment 6 or Embodiment 10. This will not be repeated here.
可以理解的是,步骤S1010的身份认证方法,需要是能够在认证过程中确定出待认证密钥或待认证多因子密钥的方法,也就是说,身份认证结果是通过校验待认证密钥或待认证多因子密钥确定的。待认证密钥或待认证多因子密钥的生成、校验可以在终端和/或服务器进行。若确定校验通过的待认证密钥或校验通过的待认证多因子密钥是在服务器进行的,则服务器需要把校验通过的待认证密钥或校验通过的待认证多因子密钥发送至终端设备,使终端设备利用校验通过的密钥进行后续应用处理。通常情况下,服务器和终端设备之间的密钥传输在二者的TEE之间通过安全通道进行。示例性的,校验通过的密钥可以包含在身份认证结果中由服务器发送给终端设备。It can be understood that the identity authentication method in step S1010 needs to be a method capable of determining the key to be authenticated or the multi-factor key to be authenticated during the authentication process, that is, the identity authentication result is obtained by verifying the key to be authenticated Or determined by the multi-factor key to be authenticated. The generation and verification of the key to be authenticated or the multi-factor key to be authenticated can be performed on the terminal and/or the server. If it is determined that the key to be authenticated that has passed the verification or the multifactor key to be authenticated that has passed the verification is performed on the server, the server needs to send the key to be authenticated that has passed the verification or the multifactor key to be authenticated that has passed the verification Send it to the terminal device, so that the terminal device uses the verified key to perform subsequent application processing. Normally, the key transmission between the server and the terminal device is carried out through a secure channel between the two TEEs. Exemplarily, the verified key may be included in the identity authentication result and sent by the server to the terminal device.
步骤1020,使用上述身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、 应用登录、数字钱包管理中的一种或多种处理。Step 1020, use the verified key determined by the above identity authentication method to perform one or more processes in digital signature, message encryption, message decryption, application login, and digital wallet management.
其中,校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成校验通过的待认证多因子密钥所使用的待认证密钥。Wherein, the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
可以理解的是,步骤S1010使用的身份认证方法是通过校验待认证密钥或待认证多因子密钥进行身份认证的,因此身份认证通过时,必然会确定一个校验通过的待认证密钥或校验通过的待认证多因子密钥。It can be understood that the identity authentication method used in step S1010 performs identity authentication by verifying the key to be authenticated or the multi-factor key to be authenticated. Therefore, when the identity authentication is passed, a key to be authenticated that passes the verification must be determined. Or the multi-factor key to be authenticated that passes the verification.
如果认证阶段用待认证密钥校验,则校验通过的密钥包括校验通过的待认证密钥;如果认证阶段用待认证多因子密钥校验,则校验通过的密钥可以包括校验通过的待认证多因子密钥,也可以包括生成校验通过的待认证多因子密钥所使用的待认证密钥。If the key to be authenticated is used for verification in the authentication stage, the key that passes the verification includes the key to be authenticated that passes the verification; if the multi-factor key to be authenticated is used for verification in the authentication stage, the key that passes the verification may include The multi-factor key to be authenticated that passes the verification may also include the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
本发明实施例中,在认证阶段能够根据与注册时足够接近的生物特征和辅助信息还原出注册阶段所使用的密钥,从而可以利用还原出的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理。In the embodiment of the present invention, in the authentication stage, the key used in the registration stage can be restored according to the biological characteristics and auxiliary information that are close enough to the registration stage, so that the restored key can be used for digital signature, message encryption, message decryption, One or more of application login, digital wallet management.
实施例十三Embodiment Thirteen
本公开实施例提供一种数字签名方法。下面将对该方法具体流程进行详细阐述。An embodiment of the present disclosure provides a digital signature method. The specific flow of the method will be described in detail below.
步骤1110,通过身份注册方法,确定出注册信息。Step 1110, determine the registration information through the identity registration method.
其中,注册信息包括第一辅助数据。Wherein, the registration information includes the first auxiliary data.
本实施例所使用的身份注册方法可以与上述实施例四提供的身份注册方法类似,关于本实施例中的步骤1110的身份注册方法的其它细节可以参阅实施例四中的描述,在此不再赘述。The identity registration method used in this embodiment can be similar to the identity registration method provided in the fourth embodiment above. For other details about the identity registration method in step 1110 in this embodiment, please refer to the description in the fourth embodiment, which will not be repeated here repeat.
需要说明的是,步骤S1110的注册方法需要是步骤S430中的第二种和第三种方法,即该注册方法对应的认证方法,是通过生成并校验待认证密钥或待认证多因子密钥来进行身份认证的。It should be noted that the registration method in step S1110 needs to be the second and third methods in step S430, that is, the authentication method corresponding to the registration method is to generate and verify the key to be authenticated or the multi-factor password to be authenticated key for identity authentication.
步骤1120,生成第一私钥对应的第一公钥。Step 1120, generating a first public key corresponding to the first private key.
其中,第一私钥为第一辅助数据对应的密钥或第一辅助数据对应的第一多因子密钥。Wherein, the first private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data.
示例性的,可将注册阶段涉及的第一辅助数据对应的密钥或第一多因子密钥作为第一私钥,基于第一私钥生成第一公钥。Exemplarily, the key corresponding to the first auxiliary data involved in the registration phase or the first multi-factor key may be used as the first private key, and the first public key may be generated based on the first private key.
示例性的,可生成第一私钥-第一公钥组成的密钥对,将第一私钥作为第一辅助数据对应密钥,或者基于第一辅助数据对应的密钥生成第一多因子密钥。此时,步骤S1120可能先于步骤S1110执行。Exemplarily, a key pair consisting of the first private key and the first public key can be generated, and the first private key can be used as the key corresponding to the first auxiliary data, or the first multi-factor can be generated based on the key corresponding to the first auxiliary data. key. At this time, step S1120 may be performed prior to step S1110.
步骤1130,将第一公钥发送给验签方,以供验签方利用第一公钥对使用第一私钥生成的数字签名进行验签。Step 1130, send the first public key to the sign verifier, so that the sign verifier can use the first public key to verify the digital signature generated using the first private key.
实施例十四Embodiment Fourteen
本公开实施例提供一种数字签名方法。下面将对该方法的具体流程进行详细阐述。An embodiment of the present disclosure provides a digital signature method. The specific flow of the method will be described in detail below.
步骤1210,使用身份认证方法对待认证对象进行身份认证。Step 1210, use the identity authentication method to authenticate the identity of the object to be authenticated.
若待认证对象的身份认证成功,则执行步骤1220。If the identity authentication of the object to be authenticated is successful, step 1220 is performed.
对步骤S1210的说明参见步骤S1010。For the description of step S1210, refer to step S1010.
步骤1220,使用身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据。Step 1220, use the verified key determined by the identity authentication method to sign the information to be signed to obtain signed data with a digital signature.
示例性的,可利用校验通过的密钥对待签名信息的哈希值进行非对称加密,得到数字签名,将数字签名和待签名信息作为签名数据。Exemplarily, the hash value of the information to be signed can be asymmetrically encrypted by using the key that passes the verification to obtain a digital signature, and the digital signature and the information to be signed can be used as signature data.
步骤1230,将签名数据发送给验签方,以供验签方使用校验通过的密钥所对应的公钥对签名数据的数字签名进行验签。Step 1230, send the signature data to the signature verification party, so that the signature verification party can use the public key corresponding to the key that passes the verification to verify the digital signature of the signature data.
示例性的,在接收到签名数据前,验签方已经接收到至少一个公钥。至少一个公钥通过实施例十三的方法发送给验签方。验签方可根据签名数据中包含或附带的信息确定用哪个公钥对数字签名进行验签。Exemplarily, before receiving the signed data, the sign verifier has received at least one public key. At least one public key is sent to the signature verification party through the method of Embodiment 13. The signature verifier can determine which public key to use to verify the digital signature according to the information contained in or attached to the signature data.
示例性的,验签方接收到签名数据后,可计算签名数据中待签名数据的哈希值,将该哈希值与对数字签名进行公钥解密所得结果进行比较,二者一致则验签通过。此处的公钥,是指验签方根据签名数据中包含或附带的信息确定出的用于验签的公钥。Exemplarily, after receiving the signature data, the signature verification party can calculate the hash value of the data to be signed in the signature data, and compare the hash value with the result obtained by decrypting the digital signature with the public key. pass. The public key here refers to the public key used for signature verification determined by the signature verification party based on the information contained in or attached to the signature data.
其中,校验通过的密钥所对应的公钥通过实施例十三的方法发送给验签方;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成校验通过的待认证多因子密钥所使用的待认证密钥。具体参见对实施例十二的描述。Wherein, the public key corresponding to the verified key is sent to the signature verification party through the method of Embodiment 13; the verified key includes the verified key to be authenticated, the verified multi-factor key or the key to be authenticated used to generate the multifactor key to be authenticated that passes the verification. For details, refer to the description of Embodiment 12.
实施例十五Embodiment 15
本公开实施例提供一种消息解密方法。下面将对该方法的具体流程进行详细阐述。An embodiment of the present disclosure provides a method for decrypting a message. The specific flow of the method will be described in detail below.
该步骤的具体说明参见步骤S1110。For the specific description of this step, refer to step S1110.
步骤1420,生成第二私钥对应的第二公钥;其中,第二私钥为第一辅助数据对应的密钥或第一辅助数据对应的第一多因子密钥。Step 1420, generating a second public key corresponding to the second private key; wherein, the second private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data.
步骤1430,将第二公钥发送给消息加密方。Step 1430, send the second public key to the message encryption party.
关于第二公钥、第二私钥的描述可参见第一公钥、第一私钥。For the description about the second public key and the second private key, please refer to the first public key and the first private key.
实施例十六Embodiment sixteen
本公开实施例提供一种消息解密方法。下面将对该方法的具体流程进行详细阐述。An embodiment of the present disclosure provides a method for decrypting a message. The specific flow of the method will be described in detail below.
步骤1510,接收消息加密方发送的待解密数据。Step 1510, receive the data to be decrypted sent by the message encryption party.
步骤1520,使用身份认证方法对待认证对象进行身份认证。Step 1520, use the identity authentication method to authenticate the identity of the object to be authenticated.
对S1520的说明参见S1010。For the description of S1520, refer to S1010.
若待认证对象的身份认证成功,则执行步骤1530。If the identity authentication of the object to be authenticated is successful, step 1530 is executed.
步骤1530,使用上述身份认证方法确定出的校验通过的密钥对待解密数据进行解密,得到解密数据。Step 1530, decrypt the data to be decrypted by using the verified key determined by the above identity authentication method to obtain the decrypted data.
其中,校验通过的密钥所对应的公钥实施例十五提供的方法发送给消息加密方;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成校验通过的待认证多因子密钥所使用的待认证密钥;待解密数据是用校验通过的密钥所对应的公钥进行加密的。Among them, the public key corresponding to the verified key is sent to the message encryption party according to the method provided in Embodiment 15; the verified key includes the verified key to be authenticated, the verified multi-factor The key or the key to be authenticated used to generate the multi-factor key to be authenticated that has passed the verification; the data to be decrypted is encrypted with the public key corresponding to the key that has passed the verification.
实施例十七Embodiment 17
本公开实施例提供一种应用登录方法。下面将对该方法的具体流程进行详细阐述。An embodiment of the present disclosure provides an application login method. The specific flow of the method will be described in detail below.
步骤1610,使用身份认证方法对待认证对象进行身份认证。Step 1610, use the identity authentication method to authenticate the identity of the object to be authenticated.
若待认证对象的身份认证成功,则执行步骤1620。If the identity authentication of the object to be authenticated is successful, step 1620 is executed.
具体参见对S1010的说明。For details, refer to the description of S1010.
步骤1620,将使用上述身份认证方法确定出的校验通过的密钥登录目标应用程序;或,将使用上述身份认证方法确定出的校验通过的密钥和用户标识登录目标应用程序。Step 1620, log in the target application program with the verified key determined by the above-mentioned identity authentication method; or log in the target application program with the verified key and user ID determined by the above-mentioned identity authentication method.
可理解的是,可通过身份认证方法确定出校验通过的密钥,如果该校验通过的密钥在目标应用程序中是全局唯一的,例如是一个足够长足够随机的字符串,则可仅利用校验通过的密钥登录目标应用程序。若身份认证方法出确定出了用户标识,也可利用用户标识和校验通过的密钥登录目标应用程序。It is understandable that the verified key can be determined through the identity authentication method. If the verified key is globally unique in the target application program, for example, it is a sufficiently long and random character string, it can be Only authenticated keys are used to log into the target application. If the identity authentication method determines the user ID, the user ID and the verified key can also be used to log in to the target application program.
可理解的是,示例性的,S1620包括:根据校验通过的密钥进行哈希运算(可选择哈希运算的盐值/轮数),将哈希运算结果发送应用服务器以登录目标应用程序,或者将哈希运算结果和用户标识发送 至应用服务器以登录目标应用程序。It can be understood that, for example, S1620 includes: performing a hash operation according to the verified key (the salt value/round number of the hash operation can be selected), and sending the hash operation result to the application server to log in the target application , or send the hash result and user ID to the application server to log into the target application.
其中,校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成校验通过的待认证多因子密钥所使用的待认证密钥。Wherein, the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
实施例十八Embodiment eighteen
本公开实施例提供一种区块链节点信息同步方法。本实施例提供的区块链节点信息同步方法应用于区块链上的当前区块链节点,区块链上包括多个区块链节点,下面将对该方法的具体流程进行详细阐述。An embodiment of the present disclosure provides a method for synchronizing blockchain node information. The blockchain node information synchronization method provided in this embodiment is applied to the current blockchain node on the blockchain, and the blockchain includes multiple blockchain nodes. The specific process of the method will be described in detail below.
步骤1710,通过身份注册方法,确定出注册信息。Step 1710, determine the registration information through the identity registration method.
注册信息包括第一辅助数据;the registration information includes first auxiliary data;
具体参见对S1110的说明。For details, refer to the description of S1110.
步骤1720,生成第三私钥对应的第三公钥;其中,第三私钥为第一辅助数据对应的密钥或第一辅助数据对应的第一多因子密钥。Step 1720, generate a third public key corresponding to the third private key; wherein, the third private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data.
关于第三私钥和第三公钥的说明参见对第一私钥、第一公钥的说明。For the description of the third private key and the third public key, refer to the description of the first private key and the first public key.
步骤1730,向区块链上的其他区块链节点广播第三公钥。Step 1730, broadcast the third public key to other blockchain nodes on the blockchain.
本实施例中,在将第三公钥在区块链节点中广播后,则可以在区块链系统中任意一个节点实现对区块链节点上产生的交易数据进行验证。In this embodiment, after the third public key is broadcast in the blockchain nodes, any node in the blockchain system can verify the transaction data generated on the blockchain nodes.
实施例十九Embodiment nineteen
本公开实施例提供一种区块链节点信息同步方法。本实施例提供的区块链节点信息同步方法应用于区块链上的当前区块链节点,区块链上包括多个区块链节点,下面将对该方法的具体流程进行详细阐述。An embodiment of the present disclosure provides a method for synchronizing blockchain node information. The blockchain node information synchronization method provided in this embodiment is applied to the current blockchain node on the blockchain, and the blockchain includes multiple blockchain nodes. The specific process of the method will be described in detail below.
步骤1730,使用身份认证方法对待认证对象进行身份认证。Step 1730, use the identity authentication method to authenticate the identity of the object to be authenticated.
若待认证对象的身份认证成功,则执行步骤1740。If the identity authentication of the object to be authenticated is successful, step 1740 is executed.
具体参见对S1010的说明。For details, refer to the description of S1010.
步骤1740,使用身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据;Step 1740, use the verified key determined by the identity authentication method to sign the transaction information, and obtain transaction data with a digital signature;
步骤1750,将交易数据广播给区块链上的其他区块链节点,以供其他区块链节点使用校验通过的密钥所对应的公钥对交易数据的数字签名进行验签;Step 1750, broadcasting the transaction data to other blockchain nodes on the blockchain, so that other blockchain nodes can use the public key corresponding to the verified key to verify the digital signature of the transaction data;
其中,校验通过的密钥所对应的公钥通过实施例十八的方法发送给验签方;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成校验通过的待认证多因子密钥所使用的待认证密钥。Wherein, the public key corresponding to the verified key is sent to the verification party through the method of Embodiment 18; the verified key includes the verified key to be authenticated, the verified multi-factor key or the key to be authenticated used to generate the multifactor key to be authenticated that passes the verification.
具体说明参见实施例十四。For details, refer to Embodiment 14.
此外,本公开实施例还提供实施例十二到十九的方法所对应的装置,具体装置实施例参见对发明内容和对装置对应的方法的描述。In addition, the embodiments of the present disclosure also provide devices corresponding to the methods in embodiments 12 to 19. For specific device embodiments, refer to the description of the summary of the invention and the method corresponding to the devices.
需要说明的是,优选的,本公开各实施例的密钥(第一辅助数据对应的第一变换密钥、第二变换密钥、认证密钥、第一公钥、第一私钥、第二公钥、第二私钥、第三公钥、第三私钥)生成(例如系统生成,例如通过解码运算生成)、使用(例如哈希计算、变换处理)过程在设备TEE(包括终端设备TEE和服务器TEE)中执行,密钥的传输通过设备之间的安全通道在设备的TEE之间进行。It should be noted that, preferably, the keys in each embodiment of the present disclosure (the first transformation key, the second transformation key, the authentication key, the first public key, the first private key, the second transformation key corresponding to the first auxiliary data The second public key, the second private key, the third public key, and the third private key) are generated (such as generated by the system, such as generated by decoding operations), used (such as hash calculation, transformation processing) in the process of device TEE (including terminal equipment) TEE and server TEE), the transmission of the key is carried out between the TEEs of the device through the secure channel between the devices.
此外,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述各个方法实施例中的步骤。In addition, an embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored, and the computer program executes the steps in the foregoing method embodiments when the computer program is run by a processor.
本公开实施例所提供的各个方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行上述各个方法实施例中的步骤,具体可参见上述方法实施例,在此不再赘述。The computer program products of the various methods provided by the embodiments of the present disclosure include a computer-readable storage medium storing program codes. The instructions included in the program codes can be used to execute the steps in the above-mentioned various method embodiments. For details, please refer to the above-mentioned method embodiments. , which will not be repeated here.
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。In the several embodiments provided in the present disclosure, it should be understood that the disclosed devices and methods may also be implemented in other ways. The device embodiments described above are only illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functions and possible implementations of devices, methods and computer program products according to multiple embodiments of the present disclosure. operate. In this regard, each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more executable instruction. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved. It should also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by a dedicated hardware-based system that performs the specified function or action , or may be implemented by a combination of dedicated hardware and computer instructions.
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。In addition, each functional module in each embodiment of the present disclosure may be integrated together to form an independent part, each module may exist independently, or two or more modules may be integrated to form an independent part.
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present disclosure is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods in various embodiments of the present disclosure. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disc, etc., which can store program codes. . It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is a relationship between these entities or operations. There is no such actual relationship or order between them. Furthermore, the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus comprising a set of elements includes not only those elements, but also includes elements not expressly listed. other elements of or also include elements inherent in such a process, method, article, or device. Without further limitations, an element defined by the statement "comprising..." does not exclude the presence of additional identical elements in the process, method, article or device that includes the element.
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。The above are only preferred embodiments of the present application, and are not intended to limit the present application. For those skilled in the art, there may be various modifications and changes in the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this application shall be included within the protection scope of this application. It should be noted that like numerals and letters denote similar items in the following figures, therefore, once an item is defined in one figure, it does not require further definition and explanation in subsequent figures.
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above is only the specific implementation of the application, but the scope of protection of the application is not limited thereto. Anyone familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the application, and should cover Within the protection scope of this application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (56)

  1. 一种隐私保护的图像处理方法,包括:A privacy-preserving image processing method, comprising:
    获取待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;Acquiring an image to be processed, where the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
    根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;Determine a first biometric template for the first biometric region according to the first biometric region, where the first biometric template includes biometric representations corresponding to the plurality of first characteristic points;
    对所述第一生物特征模板进行编码运算,得到第一辅助数据,包括以下一项:Performing an encoding operation on the first biometric template to obtain first auxiliary data, including the following items:
    根据所述第一生物特征模板进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;performing feature conversion according to the first biometric template to obtain first auxiliary data; the feature conversion is determined according to a key corresponding to the first auxiliary data;
    根据所述第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码字;对所述纠错码码字进行第一变换处理,得到第一辅助数据;其中,所述根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和所述量化值确定纠错码码字;和/或,所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述量化值,对所述纠错码码字进行第一变换处理,得到第一辅助数据;Perform quantization according to the first biometric template to obtain a quantized value; determine an error correction code word according to a key corresponding to the first auxiliary data; perform a first conversion process on the error correction code word to obtain first auxiliary data ; Wherein, the determining the error correction code word according to the key corresponding to the first auxiliary data includes: determining the error correction code word according to the key corresponding to the first auxiliary data and the quantization value; and/or, the Performing a first conversion process on the error correction code word to obtain first auxiliary data includes: performing a first conversion process on the error correction code word according to the quantization value to obtain first auxiliary data;
    根据所述第一生物特征模板进行量化,得到量化值;确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据;根据所述量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据;Perform quantization according to the first biometric template to obtain a quantized value; determine an error correction code word; perform a second conversion process on the error correction code word to obtain first auxiliary data; generate a first auxiliary data according to the quantized value A key corresponding to the auxiliary data; wherein, determining an error correction code word; performing a second transformation process on the error correction code word to obtain the first auxiliary data, including: randomly determining an error correction code word; according to the quantization Perform the second transformation process on the error correction code word to obtain the first auxiliary data; or determine the error correction code word according to the quantization value, and perform the second transformation process on the error correction code word to obtain first auxiliary data;
    其中,所述编码运算包括不可逆变换。Wherein, the encoding operation includes an irreversible transformation.
  2. 根据权利要求1所述的方法,其中,所述第一生物特征模板包括生物特征数据和精确描述子,所述根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,包括:The method according to claim 1, wherein the first biometric template includes biometric data and a precise descriptor, and the first biometric of the first biometric region is determined according to the first biometric region. Feature templates, including:
    根据所述第一生物特征区域,确定出所述多个第一特征点对应的生物特征数据;根据所述第一生物特征区域,确定出所述多个第一特征点对应的精确描述子;According to the first biometric area, determine the biometric data corresponding to the plurality of first feature points; according to the first biometric area, determine the precise descriptor corresponding to the plurality of first feature points;
    所述方法包括以下至少一项:The method includes at least one of the following:
    根据所述第一生物特征模板进行特征转换,得到第一辅助数据,包括:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;Performing feature conversion according to the first biological feature template to obtain first auxiliary data, including: performing feature conversion on the biological feature data and accurate descriptors included in the first biological feature template to obtain first auxiliary data; The feature conversion is determined according to the key corresponding to the first auxiliary data;
    根据所述第一生物特征模板进行特征转换,得到第一辅助数据,包括:对所述第一生物特征模板中的第一生物特征数据进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥和所述精确描述子确定的;Performing feature conversion according to the first biological feature template to obtain first auxiliary data, including: performing feature conversion on the first biological feature data in the first biological feature template to obtain first auxiliary data; the feature conversion is Determined according to the key corresponding to the first auxiliary data and the precise descriptor;
    根据所述第一生物特征模板进行特征转换,得到第一辅助数据,包括:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥和所述精确描述子确定的;Performing feature conversion according to the first biological feature template to obtain first auxiliary data, including: performing feature conversion on the biological feature data and accurate descriptors included in the first biological feature template to obtain first auxiliary data; The feature conversion is determined according to the key corresponding to the first auxiliary data and the precise descriptor;
    根据所述第一生物特征模板进行量化,包括:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行量化,得到量化值;Quantifying according to the first biometric template includes: quantifying the biometric data and the precise descriptor included in the first biometric template to obtain a quantified value;
    所述得到量化值,包括:对根据所述第一生物特征模板进行量化所得的量化结果进行第三变换处理,得到量化值,所述第三变换处理是根据所述精确描述子确定的;所述第三变换处理为可逆或不可 逆变换;The obtaining the quantized value includes: performing a third conversion process on the quantized result obtained by quantizing the first biometric template to obtain a quantized value, and the third conversion process is determined according to the precise descriptor; The third transformation process is reversible or irreversible transformation;
    所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:利用所述精确描述子,对所述纠错码码字进行第一变换处理,得到第一辅助数据;The performing the first transformation process on the error correction code word to obtain the first auxiliary data includes: using the precise descriptor to perform the first transformation process on the error correction code word to obtain the first auxiliary data ;
    所述对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:利用所述精确描述子,对所述纠错码码字进行第二变换处理,得到第一辅助数据。The performing the second conversion process on the error correction code word to obtain the first auxiliary data includes: using the precise descriptor to perform the second conversion process on the error correction code word to obtain the first auxiliary data .
  3. 根据权利要求1或2所述的方法,其中,The method according to claim 1 or 2, wherein,
    根据第一辅助数据对应的密钥确定纠错码码字,包括:根据所述第一辅助数据对应的密钥,确定出第一代数曲线的参数;将所述量化值中的第一量化值在所述第一代数曲线上进行映射,得到所述第一量化值对应的第一映射值,所述纠错码码字包括多个所述第一映射值;Determining the error correction code word according to the key corresponding to the first auxiliary data includes: determining the parameters of the first algebraic curve according to the key corresponding to the first auxiliary data; Values are mapped on the first algebraic curve to obtain a first mapping value corresponding to the first quantization value, and the error correction code word includes a plurality of the first mapping values;
    对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:生成杂凑点集;根据第一辅助点集和所述杂凑点集,确定第一辅助数据;其中,所述第一辅助点集中的第一辅助点与所述第一代数曲线上的第一点具有第一函数关系,所述第一点以所述第一量化值为第一坐标分量,以所述第一映射值为第二坐标分量;所述第一辅助点的第一坐标分量是根据所述第一量化值确定的。Performing a first conversion process on the error correction code word to obtain first auxiliary data includes: generating a hash point set; determining the first auxiliary data according to the first auxiliary point set and the hash point set; wherein, the The first auxiliary point in the first auxiliary point set has a first functional relationship with the first point on the first algebraic curve, the first point uses the first quantization value as the first coordinate component, and the first point uses the first quantization value as the first coordinate component, and the The first mapping value is the second coordinate component; the first coordinate component of the first auxiliary point is determined according to the first quantization value.
  4. 根据权利要求3所述的方法,其中,对所述纠错码码字进行第一变换处理,得到第一辅助数据,还包括:对所述第一点进行第四变换处理,得到所述第一辅助点集中的第一辅助点;所述第四变换处理是根据所述精确描述子确定的,所述第四变换处理为可逆变换。The method according to claim 3, wherein, performing a first transformation process on the error correction code word to obtain the first auxiliary data, further comprising: performing a fourth transformation process on the first point to obtain the first auxiliary data A first auxiliary point in a set of auxiliary points; the fourth transformation process is determined according to the precise descriptor, and the fourth transformation process is reversible transformation.
  5. 根据权利要求1或2所述的方法,其中,The method according to claim 1 or 2, wherein,
    根据第一辅助数据对应的密钥确定纠错码码字;对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述第一辅助数据对应的密钥,确定出第一代数曲线的参数;根据所述量化值和所述第一代数曲线,确定第一映射关系的参数;根据所述第一映射关系的参数,确定所述第一辅助数据;Determining an error correction code word according to the key corresponding to the first auxiliary data; performing a first conversion process on the error correction code word to obtain the first auxiliary data, including: according to the key corresponding to the first auxiliary data, Determine the parameters of the first algebraic curve; determine the parameters of the first mapping relationship according to the quantization value and the first algebraic curve; determine the first auxiliary data according to the parameters of the first mapping relationship;
    其中,所述第一集合和第二集合之间具有所述第一映射关系,所述第一集合的第一子集是所述量化值确定的;以所述第一子集中的第一值为第一坐标分量、第二集合中与所述第一值满足第一映射关系的值为第二坐标分量的子集点与所述第一代数曲线上的第二点具有第二函数关系,以所述第一集合中所述第一子集的补集中的值为第一坐标分量、第二集合中与该值满足所述第一映射关系的值为第二坐标分量的补集点与所述第一代数曲线上的点不具有所述第二函数关系;所述第二点的第一坐标分量为与所述第一值对应的量化值。Wherein, there is the first mapping relationship between the first set and the second set, the first subset of the first set is determined by the quantization value; the first value in the first subset A subset point of the first coordinate component, the value of which satisfies the first mapping relationship with the first value in the second set and the second coordinate component has a second functional relationship with the second point on the first algebraic curve , the value in the complement of the first subset in the first set is the first coordinate component, and the value in the second set that satisfies the first mapping relationship with this value is the complement point of the second coordinate component The point on the first algebraic curve does not have the second functional relationship; the first coordinate component of the second point is a quantized value corresponding to the first value.
  6. 根据权利要求5所述的方法,其中,所述根据所述量化值和所述第一代数曲线,确定第一映射关系的参数,包括:根据所述量化值、所述精确描述子和所述第一代数曲线,确定第一映射关系的参数。The method according to claim 5, wherein said determining the parameters of the first mapping relationship according to the quantization value and the first algebraic curve comprises: according to the quantization value, the precise descriptor and the The first algebraic curve is used to determine the parameters of the first mapping relationship.
  7. 根据权利要求1或2所述的方法,其中,The method according to claim 1 or 2, wherein,
    根据第一辅助数据对应的密钥确定纠错码码字,包括:根据所述第一辅助数据对应的密钥,确定所述纠错码码字;Determining an error correction code word according to a key corresponding to the first auxiliary data includes: determining the error correction code word according to a key corresponding to the first auxiliary data;
    对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述量化值对应的生物向量确定置换运算;将所述置换运算作用在所述纠错码码字上,得到第一辅助数据。Performing a first conversion process on the error correction code word to obtain first auxiliary data, including: determining a permutation operation according to the biological vector corresponding to the quantization value; applying the permutation operation to the error correction code code word , to get the first auxiliary data.
  8. 根据权利要求7所述的方法,其中,The method according to claim 7, wherein,
    所述将所述置换运算作用在所述纠错码码字上,得到第一辅助数据,包括:将所述置换运算作用在所述纠错码码字上,得到置换运算结果;对所述置换运算结果进行第五变换处理,得到第一辅助数据;所述第五变换处理是根据所述精确描述子确定的;所述第五变换处理为可逆变换。The step of applying the permutation operation on the error correction code word to obtain the first auxiliary data includes: applying the permutation operation on the error correction code word to obtain a permutation result; The result of the permutation operation is subjected to a fifth transformation process to obtain the first auxiliary data; the fifth transformation process is determined according to the precise descriptor; the fifth transformation process is a reversible transformation.
  9. 根据权利要求1或2所述的方法,其中,The method according to claim 1 or 2, wherein,
    随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据所述量化值对应的生物向量确定置换运算;将所述置换运算作用在所述纠错码码字上,得到第一辅助数据;Randomly determining an error correction code word; performing a second conversion process on the error correction code word according to the quantization value to obtain first auxiliary data, including: randomly determining an error correction code word; according to the quantization value corresponding to The biological vector determines a permutation operation; applying the permutation operation to the error correction code word to obtain first auxiliary data;
    或者,根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:确定与所述量化值对应的生物向量距离最近的码字为纠错码码字;根据所述生物向量与所述纠错码码字的差异,得到第一辅助数据。Or, determine the error correction code word according to the quantization value, and perform the second transformation process on the error correction code word to obtain the first auxiliary data, including: determining the code with the closest distance to the biological vector corresponding to the quantization value The word is an error-correcting code word; the first auxiliary data is obtained according to the difference between the biological vector and the error-correcting code word.
  10. 根据权利要求9所述的方法,其中,The method of claim 9, wherein,
    所述得到第一辅助数据包括:通过第六变换处理,得到第一辅助数据;所述第六变换处理是根据所述精确描述子确定的,所述第六变换处理是可逆的。The obtaining the first auxiliary data includes: obtaining the first auxiliary data through a sixth transformation process; the sixth transformation process is determined according to the precise descriptor, and the sixth transformation process is reversible.
  11. 根据权利要求1-10任一项所述的方法,其中,所述获取待处理图像,包括:The method according to any one of claims 1-10, wherein said acquiring the image to be processed comprises:
    采用非接触采集方式采集所述待处理图像,所述第一生物特征区域为指纹、掌纹、指静脉、掌静脉中至少一者,所述第一生物特征区域包含的特征点数量大于300。The image to be processed is collected by a non-contact acquisition method, the first biometric area is at least one of fingerprints, palm prints, finger veins, and palm veins, and the number of feature points contained in the first biometric area is greater than 300.
  12. 根据权利要求1-11任一项所述的方法,应用于终端设备,其中,所述终端设备上设置有可信执行环境;所述根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,包括:The method according to any one of claims 1-11, which is applied to a terminal device, wherein a trusted execution environment is set on the terminal device; according to the first biometric area, determining the first biometric A first biometric template for the signature region, comprising:
    根据所述第一生物特征区域确定第一中间结果,根据所述第一中间结果确定第一生物特征模板;其中,所述根据所述第一生物特征区域确定第一中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第一中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;Determine a first intermediate result according to the first biometric area, and determine a first biometric template according to the first intermediate result; wherein, determining the first intermediate result according to the first biometric area takes a first priority Executed in the trusted execution environment; determining according to the first intermediate result that the first biometric template is executed in the trusted execution environment with a second priority;
    或者,根据所述第一生物特征区域确定第二中间结果;根据所述第二中间结果确定第三中间结果;根据所述第三中间结果确定第一生物特征模板;其中,所述根据所述第一生物特征区域确定第二中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第三中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;所述根据所述第二中间结果确定第三中间结果以第三优先级在所述可信执行环境中被执行;其中,所述第三优先级低于所述第一优先级,所述第三优先级低于所述第二优先级。Or, determine a second intermediate result according to the first biometric area; determine a third intermediate result according to the second intermediate result; determine a first biometric template according to the third intermediate result; wherein, according to the The second intermediate result determined by the first biometric area is executed in the trusted execution environment with a first priority; the determining of the first biometric template according to the third intermediate result is executed in the trusted execution environment with a second priority is executed in a trusted execution environment; the third intermediate result determined according to the second intermediate result is executed in the trusted execution environment with a third priority; wherein, the third priority is lower than the first a priority, the third priority is lower than the second priority.
  13. 一种身份注册方法,应用于终端设备,所述方法包括:An identity registration method applied to a terminal device, the method comprising:
    通过权利要求1-12任一项所述的方法确定待注册对象的注册信息中的第一辅助数据。The first auxiliary data in the registration information of the object to be registered is determined by the method described in any one of claims 1-12.
  14. 根据权利要求13所述的方法,还包括:The method of claim 13, further comprising:
    对所述第一生物特征区域进行特征提取,得到第一索引特征,所述第一索引特征的区分度低于所述第一生物特征模板的区分度;所述待注册对象的注册信息还包括所述第一索引特征。Feature extraction is performed on the first biometric feature area to obtain a first index feature, and the discrimination degree of the first index feature is lower than the discrimination degree of the first biometric feature template; the registration information of the object to be registered also includes The first index feature.
  15. 根据权利要求14所述的方法,还包括以下之一:The method according to claim 14, further comprising one of the following:
    获取加噪决策信息,以供和所述终端设备连接的服务器根据所述加噪决策信息确定向所述第一索引特征中添加噪声的噪声信息;Obtaining noise addition decision information, for the server connected to the terminal device to determine noise information for adding noise to the first index feature according to the noise addition decision information;
    获取加噪决策信息;获取向所述第一索引特征中添加噪声的噪声信息;Obtaining noise addition decision information; obtaining noise information for adding noise to the first index feature;
    获取加噪决策信息;获取向所述第一索引特征中添加噪声的噪声信息;根据所述噪声信息向所述第一索引特征中添加噪声,得到加噪后的第一索引特征;所述注册信息中第一索引特征为所述加噪后的第一索引特征;Acquiring noise addition decision information; acquiring noise information for adding noise to the first index feature; adding noise to the first index feature according to the noise information to obtain a noise-added first index feature; the registration The first index feature in the information is the first index feature after the noise addition;
    其中,所述加噪决策信息包括所述终端设备的性能信息、所述终端设备与和所述终端设备连接的服务器之间的网络信息和期待安全等级中至少一者;所述噪声信息包括:加噪声方式和噪声强度中至少一者;所述噪声信息是根据所述加噪决策信息确定的;所述待注册对象的注册信息中还包括所述噪 声信息。Wherein, the noise addition decision information includes at least one of the performance information of the terminal device, the network information between the terminal device and the server connected to the terminal device, and the expected security level; the noise information includes: At least one of noise adding method and noise intensity; the noise information is determined according to the noise adding decision information; the registration information of the object to be registered also includes the noise information.
  16. 根据权利要求13-15任一项所述的方法,其中,所述待注册对象的注册信息还包括:第一哈希值;所述方法还包括:根据所述第一辅助数据对应的密钥进行哈希运算,确定所述第一哈希值;The method according to any one of claims 13-15, wherein the registration information of the object to be registered further includes: a first hash value; the method further includes: according to the key corresponding to the first auxiliary data performing a hash operation to determine the first hash value;
    和/或,所述待注册对象的注册信息还包括:第一哈希值和第一哈希参数,所述方法还包括:根据所述第一辅助数据对应的密钥和所述第一哈希参数进行哈希运算,确定所述第一哈希值;And/or, the registration information of the object to be registered further includes: a first hash value and a first hash parameter, and the method further includes: according to the key corresponding to the first auxiliary data and the first hash performing a hash operation on the desired parameters to determine the first hash value;
    和/或,所述待注册对象的注册信息还包括第二哈希值;所述方法还包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,得到第一多因子密钥;根据所述第一多因子密钥进行哈希运算,确定所述第二哈希值;And/or, the registration information of the object to be registered further includes a second hash value; the method further includes: performing a ninth conversion process according to the key corresponding to the first auxiliary data and the first conversion key, to obtain The first multi-factor key; performing a hash operation according to the first multi-factor key to determine the second hash value;
    和/或,所述待注册对象的注册信息还包括第二哈希值和第二哈希参数,所述方法还包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,得到第一多因子密钥;根据所述第一多因子密钥和第二哈希参数进行哈希运算,确定所述第二哈希值;And/or, the registration information of the object to be registered further includes a second hash value and a second hash parameter, and the method further includes: performing an operation according to the key corresponding to the first auxiliary data and the first conversion key Ninth transformation processing, obtaining a first multi-factor key; performing a hash operation according to the first multi-factor key and a second hash parameter to determine the second hash value;
    其中,所述第一哈希参数包括哈希运算所使用的盐值和/或轮数,所述第二哈希参数包括哈希运算所使用的盐值和/或轮数。Wherein, the first hash parameter includes the salt value and/or the number of rounds used in the hash operation, and the second hash parameter includes the salt value and/or the number of rounds used in the hash operation.
  17. 根据权利要求16所述的方法,其中,所述第一辅助数据对应的密钥和/或所述第一多因子密钥中包含用于对密钥进行初步校验的校验信息;The method according to claim 16, wherein the key corresponding to the first auxiliary data and/or the first multi-factor key contains verification information for preliminary verification of the key;
    或者,所述待注册对象的注册信息包括用于对所述第一辅助数据对应的密钥进行初步校验的第一校验值和/或用于对所述第一多因子密钥进行校验的第二校验值,所述方法还包括:根据所述第一辅助数据对应的密钥生成所述第一校验值,和/或,根据所述第一多因子密钥生成所述第二校验值。Alternatively, the registration information of the object to be registered includes a first verification value for preliminary verification of the key corresponding to the first auxiliary data and/or a first verification value for verification of the first multi-factor key. The method further includes: generating the first verification value according to the key corresponding to the first auxiliary data, and/or generating the first multi-factor key according to the first multi-factor key Second check value.
  18. 根据权利要求16或17所述的方法,其中,用于存储注册信息的数据库包括第一数据表和第二数据表;在第一数据表中关联存储所述待注册对象对应的第一辅助数据和待注册对象的其他注册信息,所述待注册对象的其他注册信息包括:第一索引特征、第一哈希参数、第二哈希参数、噪声信息、校验值中至少一者;在第二数据表中关联存储所述待注册对象的用户标识和所述待注册对象对应的第一哈希值或第二哈希值。The method according to claim 16 or 17, wherein the database for storing registration information includes a first data table and a second data table; the first auxiliary data corresponding to the object to be registered is associated and stored in the first data table and other registration information of the object to be registered, the other registration information of the object to be registered includes: at least one of the first index feature, the first hash parameter, the second hash parameter, noise information, and a check value; The user identifier of the object to be registered and the first hash value or the second hash value corresponding to the object to be registered are stored in association in the two data tables.
  19. 一种身份认证方法,应用于终端设备,所述方法包括:An identity authentication method applied to a terminal device, the method comprising:
    获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;Acquiring an image to be authenticated of an object to be authenticated, where the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
    根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;determining a biometric template to be authenticated for the second biometric region according to the second biometric region;
    获取所述待认证对象的身份认证结果,所述身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的;Acquiring the identity authentication result of the object to be authenticated, the identity authentication result is determined according to the biometric template to be authenticated and the auxiliary data of the bottom database;
    其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据是通过权利要求13至18任一项所述的身份注册方法确定的。Wherein, the bottom database auxiliary data includes at least one first auxiliary data; the first auxiliary data is determined by the identity registration method described in any one of claims 13 to 18.
  20. 根据权利要求19所述的方法,其中,所述获取所述待认证对象的身份认证结果,包括:The method according to claim 19, wherein said obtaining the identity authentication result of the object to be authenticated comprises:
    通过安全通道向服务器发送所述待认证生物特征模板或待认证量化值;其中,所述待认证量化值是根据所述待认证生物特征模板进行量化得到的;Sending the biometric template to be authenticated or the quantized value to be authenticated to the server through a secure channel; wherein the quantized value to be authenticated is obtained by quantifying the biometric template to be authenticated;
    接收所述服务器发送的所述待认证对象的身份认证结果。receiving the identity authentication result of the object to be authenticated sent by the server.
  21. 根据权利要求19所述的方法,其中,所述获取所述待认证对象的身份认证结果,包括:The method according to claim 19, wherein said obtaining the identity authentication result of the object to be authenticated comprises:
    获取所述底库辅助数据;Obtaining the auxiliary data of the bottom bank;
    根据所述待认证生物特征模板进行量化,得到待认证量化值;performing quantification according to the biometric template to be authenticated to obtain a quantified value to be authenticated;
    根据所述待认证量化值与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所 述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;Perform a decoding operation corresponding to the encoding operation according to the quantization value to be authenticated and the bottom library auxiliary data, and determine at least one to-be-authenticated corresponding to at least one first auxiliary data contained in the bottom library auxiliary data key;
    对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果。Verifying the key to be authenticated to determine an identity authentication result for the object to be authenticated.
  22. 根据权利要求20所述的方法,其中,The method of claim 20, wherein,
    对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果,包括:Verifying the key to be authenticated to determine an identity authentication result for the object to be authenticated, including:
    根据部分或全部所述待认证密钥确定其对应的待认证哈希值,根据所述待认证哈希值确定出对所述待认证对象的身份认证结果;determining a corresponding hash value to be authenticated according to part or all of the key to be authenticated, and determining an identity authentication result for the object to be authenticated according to the hash value to be authenticated;
    其中,对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足第一指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。Among them, for a hash value to be authenticated, if there is a first hash value in the base library that matches the hash value to be authenticated in the first hash value of the base library, then the key to be authenticated corresponding to the hash value to be authenticated The verification result of the verification is that the verification is passed; the first hash value of the bottom library is the first hash value corresponding to the first auxiliary data contained in the auxiliary data of the bottom library, or the first hash value of the bottom library The value is a first hash value satisfying a first specified condition; the first hash value is included in the registration information.
  23. 根据权利要求19所述的方法,其中,所述获取所述待认证对象的身份认证结果,包括:The method according to claim 19, wherein said obtaining the identity authentication result of the object to be authenticated comprises:
    获取所述底库辅助数据;Obtaining the auxiliary data of the bottom bank;
    根据所述待认证生物特征模板进行量化,得到待认证量化值;performing quantification according to the biometric template to be authenticated to obtain a quantified value to be authenticated;
    根据所述待认证量化值与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;Perform a decoding operation corresponding to the encoding operation according to the quantization value to be authenticated and the bottom library auxiliary data, and determine at least one to-be-authenticated corresponding to at least one first auxiliary data contained in the bottom library auxiliary data key;
    根据部分或全部的所述待认证密钥和第二变换密钥,得到待认证多因子密钥;Obtaining a multi-factor key to be authenticated according to part or all of the key to be authenticated and the second transformed key;
    对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果。Verifying the to-be-authenticated multi-factor key to determine an identity authentication result for the to-be-authenticated object.
  24. 根据权利要求23所述的方法,其中,对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果,包括:The method according to claim 23, wherein verifying the multi-factor key to be authenticated to determine the identity authentication result of the object to be authenticated comprises:
    根据部分或全部所述待认证多因子密钥确定其对应的待认证多因子哈希值,根据所述待认证多因子哈希值确定出对所述待认证对象的身份认证结果;determining a corresponding multi-factor hash value to be authenticated according to part or all of the multi-factor key to be authenticated, and determining an identity authentication result for the object to be authenticated according to the multi-factor hash value to be authenticated;
    其中,对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过;所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为满足第二指定条件的第二哈希值;所述第二哈希值包括在所述注册信息中。Among them, for a multi-factor hash value to be authenticated, if there is a second hash value of the bottom library that matches the multi-factor hash value to be authenticated in the second hash value of the bottom library, then the multi-factor hash value to be authenticated The verification result of the corresponding multi-factor key to be authenticated is a verification pass; the second hash value of the bottom library is the second hash value corresponding to the first auxiliary data contained in the bottom library auxiliary data, or The second hash value of the base library is a second hash value that satisfies a second specified condition; the second hash value is included in the registration information.
  25. 根据权利要求22或24所述的方法,还包括:The method according to claim 22 or 24, further comprising:
    获取与匹配哈希值对应的用户标识;其中,当对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果时,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,当对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果时,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。Obtain the user ID corresponding to the matching hash value; wherein, when the key to be authenticated is verified and the identity authentication result of the object to be authenticated is determined, the matching hash value is verified as Verifying the hash value to be authenticated corresponding to the key to be authenticated that passes the verification, or when the multi-factor key to be authenticated is verified and the identity authentication result for the object to be authenticated is determined, the matching The verification result of the hash value is the multi-factor hash value to be authenticated corresponding to the multi-factor key to be authenticated that passes the verification.
  26. 根据权利要求19所述的方法,其中,所述获取所述待认证对象的身份认证结果,包括:The method according to claim 19, wherein said obtaining the identity authentication result of the object to be authenticated comprises:
    获取认证密钥;Obtain the authentication key;
    根据所述待认证生物特征模板以及所述认证密钥,进行所述编码运算,得到待认证辅助数据;performing the encoding operation according to the biometric template to be authenticated and the authentication key to obtain auxiliary data to be authenticated;
    根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。An identity authentication result of the object to be authenticated is determined according to a comparison result of the auxiliary data to be authenticated and the auxiliary data of the bottom database.
  27. 根据权利要求19-26任一项所述的方法,还包括:The method according to any one of claims 19-26, further comprising:
    根据所述第二生物特征区域,确定第二索引特征;所述第二索引特征和权利要求14所述第一索引特征通过相同的特征提取方法提取;所述底库辅助数据是与所述第二索引特征满足距离条件的第一索引数据所对应的第一辅助数据。According to the second biometric area, determine the second index feature; the second index feature and the first index feature in claim 14 are extracted by the same feature extraction method; the bottom library auxiliary data is the same as the first index feature The first auxiliary data corresponding to the first index data whose index feature satisfies the distance condition.
  28. 根据权利要求27所述的方法,其中,第一索引特征所对应的距离条件是根据所述注册信息中与该第一索引特征所对应的噪声信息确定的。The method according to claim 27, wherein the distance condition corresponding to the first index feature is determined according to the noise information corresponding to the first index feature in the registration information.
  29. 一种身份注册方法,应用于服务器,所述方法包括:An identity registration method applied to a server, the method comprising:
    接收终端设备发送的注册信息,所述注册信息是通过权利要求13-18任一项所述的身份注册方法确定的;将所述注册信息存储在数据库中。receiving the registration information sent by the terminal device, the registration information is determined by the identity registration method according to any one of claims 13-18; storing the registration information in a database.
  30. 根据权利要求29所述的方法,其中,所述注册信息中包括第一索引特征;所述方法还包括:The method according to claim 29, wherein the registration information includes a first index feature; the method further comprises:
    获取向所述第一索引特征中添加噪声的噪声信息;根据所述噪声信息向所述第一索引特征中添加噪声,得到加噪后的第一索引特征;所述注册信息中第一索引特征为所述加噪后的第一索引特征;根据所述噪声信息向所述第一索引特征中添加噪声,得到加噪后的第一索引特征,包括:根据所述加噪声方式在所述第一索引特征上添加噪声数据,和/或,在所述第一索引特征上添加所述噪声强度的噪声数据,得到加噪后的第一索引特征;所述噪声信息是从终端设备接收的或根据从终端设备接收的加噪决策信息确定的;Obtain noise information that adds noise to the first index feature; add noise to the first index feature according to the noise information to obtain the first index feature after noise addition; the first index feature in the registration information is the first index feature after the noise addition; adding noise to the first index feature according to the noise information to obtain the first index feature after the noise addition, including: according to the noise addition method in the first index feature Adding noise data to an index feature, and/or adding noise data of the noise intensity to the first index feature to obtain a noise-added first index feature; the noise information is received from a terminal device or Determined according to the noise addition decision information received from the terminal equipment;
    从终端设备接收加噪决策信息;根据所述加噪决策信息确定向所述第一索引特征中添加噪声的噪声信息;向所述终端设备发送所述噪声信息;receiving noise addition decision information from a terminal device; determining noise information for adding noise to the first index feature according to the noise addition decision information; sending the noise information to the terminal device;
    其中,所述加噪决策信息包括所述终端设备的性能信息、所述终端设备与和所述终端设备连接的服务器之间的网络信息和期待安全等级中至少一者;所述噪声信息包括:加噪声方式和噪声强度中至少一者;所述噪声信息是根据所述加噪决策信息确定的;所述待注册对象的注册信息中还包括所述噪声信息。Wherein, the noise addition decision information includes at least one of the performance information of the terminal device, the network information between the terminal device and the server connected to the terminal device, and the expected security level; the noise information includes: At least one of noise adding method and noise intensity; the noise information is determined according to the noise adding decision information; the registration information of the object to be registered also includes the noise information.
  31. 根据权利要求29或30所述的方法,还包括:The method according to claim 29 or 30, further comprising:
    确定仿真辅助数据,将所述仿真辅助数据存储至所述数据库中;或者,determining simulation assistance data, and storing the simulation assistance data in the database; or,
    确定仿真辅助数据,确定仿真索引特征,将所述仿真索引特征和所述仿真辅助数据关联存储至所述数据库中;Determining simulation auxiliary data, determining simulation index features, and associating and storing the simulation index features and the simulation auxiliary data into the database;
    其中,所述仿真辅助数据通过如下方式之一生成:Wherein, the simulation auxiliary data is generated in one of the following ways:
    生成仿真图像,所述仿真图像包括仿真生物特征区域,根据所述仿真生物特征区域,确定所述仿真特征区域的仿真生物特征模板,根据仿真生物特征模板确定所述仿真辅助数据;Generate a simulated image, the simulated image includes a simulated biological feature area, determine a simulated biological feature template for the simulated feature area according to the simulated biological feature area, and determine the simulation auxiliary data according to the simulated biological feature template;
    生成仿真生物特征模板,根据仿真生物特征模板确定所述仿真辅助数据;Generate a simulated biometric template, and determine the simulated auxiliary data according to the simulated biometric template;
    直接生成所述仿真辅助数据。The simulation assistance data is generated directly.
  32. 一种身份认证方法,包括:A method of identity authentication, comprising:
    接收终端设备发送的认证请求;Receive the authentication request sent by the terminal device;
    根据所述认证请求,从通过权利要求29-31任意一项所述的方法存储至数据库中的注册信息中确定出底库辅助数据;其中,所述底库辅助数据包括至少一个第一辅助数据。According to the authentication request, bottom library auxiliary data is determined from the registration information stored in the database by the method according to any one of claims 29-31; wherein the bottom library auxiliary data includes at least one first auxiliary data .
  33. 根据权利要求32所述的方法,还包括:The method of claim 32, further comprising:
    根据对所述待认证生物特征模板进行量化得到的待认证量化值和所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;其中,所述待认证量化值是通过安全通道接收终端设备发送的待认证生物特征模板后,根据所述待认证生物特征模板进行量化得到;或者,所述待认证量化值是终端设备通过安全通道发送的;According to the quantitative value to be authenticated obtained by quantizing the biometric template to be authenticated and the auxiliary data of the base library, perform a decoding operation corresponding to the encoding operation, and determine at least one of the items contained in the auxiliary data of the base library At least one key to be authenticated corresponding to the first auxiliary data; wherein, the quantized value to be authenticated is obtained by quantizing the biometric template to be authenticated after receiving the biometric template to be authenticated sent by the terminal device through a secure channel; or , the quantized value to be authenticated is sent by the terminal device through a secure channel;
    对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果。Verifying the key to be authenticated to determine an identity authentication result for the object to be authenticated.
  34. 根据权利要求33所述的方法,其中,对所述待认证密钥进行校验,确定出对所述待认证对象 的身份认证结果,包括:The method according to claim 33, wherein verifying the key to be authenticated to determine the identity authentication result of the object to be authenticated comprises:
    根据部分或全部所述待认证密钥确定其对应的待认证哈希值,根据所述待认证哈希值确定出对所述待认证对象的身份认证结果;determining a corresponding hash value to be authenticated according to part or all of the key to be authenticated, and determining an identity authentication result for the object to be authenticated according to the hash value to be authenticated;
    其中,对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足第一指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。Among them, for a hash value to be authenticated, if there is a first hash value in the base library that matches the hash value to be authenticated in the first hash value of the base library, then the key to be authenticated corresponding to the hash value to be authenticated The verification result of the verification is that the verification is passed; the first hash value of the bottom library is the first hash value corresponding to the first auxiliary data contained in the auxiliary data of the bottom library, or the first hash value of the bottom library The value is a first hash value satisfying a first specified condition; the first hash value is included in the registration information.
  35. 根据权利要求32所述的方法,还包括:The method of claim 32, further comprising:
    根据对所述待认证生物特征模板进行量化得到的待认证量化值和所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;其中,所述待认证量化值是通过安全通道接收终端设备发送的待认证生物特征模板后,根据所述待认证生物特征模板进行量化得到;或者,所述待认证量化值是终端设备通过安全通道发送的;According to the quantitative value to be authenticated obtained by quantizing the biometric template to be authenticated and the auxiliary data of the base library, perform a decoding operation corresponding to the encoding operation, and determine at least one of the items contained in the auxiliary data of the base library At least one key to be authenticated corresponding to the first auxiliary data; wherein, the quantized value to be authenticated is obtained by quantizing the biometric template to be authenticated after receiving the biometric template to be authenticated sent by the terminal device through a secure channel; or , the quantized value to be authenticated is sent by the terminal device through a secure channel;
    根据部分或全部的所述待认证密钥和第二变换密钥,得到待认证多因子密钥;Obtaining a multi-factor key to be authenticated according to part or all of the key to be authenticated and the second converted key;
    对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果。Verifying the to-be-authenticated multi-factor key to determine an identity authentication result for the to-be-authenticated object.
  36. 根据权利要求35所述的方法,其中,对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果,包括:The method according to claim 35, wherein verifying the multi-factor key to be authenticated to determine the identity authentication result of the object to be authenticated comprises:
    根据部分或全部所述待认证多因子密钥确定其对应的待认证多因子哈希值,根据所述待认证多因子哈希值确定出对所述待认证对象的身份认证结果;determining a corresponding multi-factor hash value to be authenticated according to part or all of the multi-factor key to be authenticated, and determining an identity authentication result for the object to be authenticated according to the multi-factor hash value to be authenticated;
    其中,对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过;所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为满足第二指定条件的第二哈希值;所述第二哈希值包括在所述注册信息中。Among them, for a multi-factor hash value to be authenticated, if there is a second hash value of the bottom library that matches the multi-factor hash value to be authenticated in the second hash value of the bottom library, then the multi-factor hash value to be authenticated The verification result of the corresponding multi-factor key to be authenticated is a verification pass; the second hash value of the bottom library is the second hash value corresponding to the first auxiliary data contained in the bottom library auxiliary data, or The second hash value of the base library is a second hash value that satisfies a second specified condition; the second hash value is included in the registration information.
  37. 根据权利要求34或36所述的方法,还包括:A method according to claim 34 or 36, further comprising:
    获取与匹配哈希值对应的用户标识;其中,当对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果时,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,当对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果时,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。Obtain the user ID corresponding to the matching hash value; wherein, when the key to be authenticated is verified and the identity authentication result of the object to be authenticated is determined, the matching hash value is verified as Verifying the hash value to be authenticated corresponding to the key to be authenticated that passes the verification, or when the multi-factor key to be authenticated is verified and the identity authentication result for the object to be authenticated is determined, the matching The verification result of the hash value is the multi-factor hash value to be authenticated corresponding to the multi-factor key to be authenticated that passes the verification.
  38. 根据权利要求32所述的方法,其中,所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:The method according to claim 32, wherein said determining the identity authentication result of the object to be authenticated according to the biometric template to be authenticated and the auxiliary data of the bottom database includes:
    获取认证密钥;Obtain the authentication key;
    根据所述待认证生物特征模板和所述认证密钥,进行所述编码运算,得到待认证辅助数据;performing the encoding operation according to the biometric template to be authenticated and the authentication key to obtain auxiliary data to be authenticated;
    根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。An identity authentication result of the object to be authenticated is determined according to a comparison result of the auxiliary data to be authenticated and the auxiliary data of the bottom database.
  39. 根据权利要求32-38任一项所述的方法,其中,所述认证请求中包含第二索引特征,所述第二索引特征是根据待认证对象的待认证图像所包含的第二生物特征区域确定的;所述第二索引特征和权利要求14所述的第一索引特征通过相同的特征提取方法提取;The method according to any one of claims 32-38, wherein the authentication request contains a second index feature, and the second index feature is based on the second biometric area included in the image to be authenticated of the object to be authenticated determined; the second index feature and the first index feature described in claim 14 are extracted by the same feature extraction method;
    根据所述认证请求,从通过权利要求29-31任一项所述的方法存储至数据库中的注册信息中确定出底库辅助数据,包括:在数据库中查询与所述第二索引特征的距离满足距离条件的多个第一索引特 征;在所述数据库中查询所述多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据。According to the authentication request, determining the bottom library auxiliary data from the registration information stored in the database by the method according to any one of claims 29-31 includes: querying the distance from the second index feature in the database A plurality of first index features satisfying the distance condition; querying the database for a plurality of first auxiliary data corresponding to the plurality of first index features one-to-one, to obtain bottom library auxiliary data.
  40. 根据权利要求39所述的方法,其中,第一索引特征所对应的距离条件是根据所述注册信息中与该第一索引特征所对应的噪声信息确定的。The method according to claim 39, wherein the distance condition corresponding to the first index feature is determined according to the noise information corresponding to the first index feature in the registration information.
  41. 一种密钥使用方法,包括:A key usage method comprising:
    使用所述权利要求21-25任一项所述的身份认证方法对待认证对象进行身份认证;Using the identity authentication method described in any one of claims 21-25 to authenticate the object to be authenticated;
    若所述待认证对象的身份认证成功,则使用所述权利要求21-25任一项所述的身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理;If the identity authentication of the object to be authenticated is successful, use the verified key determined by the identity authentication method described in any one of claims 21-25 to perform digital signature, message encryption, message decryption, and application login , one or more processes in digital wallet management;
    其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。Wherein, the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated that is used to generate the multi-factor key to be authenticated that passes the verification. key.
  42. 一种数字签名方法,包括:A digital signature method comprising:
    通过权利要求16至18任意一项所述的身份注册方法,确定出注册信息;其中,所述注册信息包括第一辅助数据;The registration information is determined through the identity registration method according to any one of claims 16 to 18; wherein, the registration information includes first auxiliary data;
    生成第一私钥对应的第一公钥;其中,所述第一私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;generating a first public key corresponding to the first private key; wherein the first private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data;
    将所述第一公钥发送给验签方,以供所述验签方利用所述第一公钥对使用所述第一私钥生成的数字签名进行验签。Sending the first public key to a sign verifier, so that the sign verifier uses the first public key to verify the digital signature generated using the first private key.
  43. 一种数字签名方法,包括:A digital signature method comprising:
    使用所述权利要求21-25任一项所述的身份认证方法对待认证对象进行身份认证;Using the identity authentication method described in any one of claims 21-25 to authenticate the object to be authenticated;
    若所述待认证对象的身份认证成功,则使用所述权利要求21-25任一项所述的身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据;If the identity authentication of the object to be authenticated is successful, use the verified key determined by the identity authentication method described in any one of claims 21-25 to sign the information to be signed, and obtain a digital signature signature data;
    将所述签名数据发送给验签方,以供所述验签方使用所述校验通过的密钥所对应的公钥对所述签名数据的数字签名进行验签;其中,所述校验通过的密钥所对应的公钥通过权利要求42所述的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。Sending the signature data to the signature verification party, so that the signature verification party can use the public key corresponding to the key that passes the verification to verify the digital signature of the signature data; wherein, the verification The public key corresponding to the passed key is sent to the verification party through the method described in claim 42; the verified key includes the verified key to be authenticated, the verified verified key to be authenticated The factor key or the key to be authenticated used to generate the multi-factor key to be authenticated that passes the verification.
  44. 一种消息解密方法,包括:A message decryption method, comprising:
    通过权利要求16-18任意一项所述的身份注册方法,确定出注册信息;其中,所述注册信息包括第一辅助数据;The registration information is determined by the identity registration method according to any one of claims 16-18; wherein, the registration information includes first auxiliary data;
    生成第二私钥对应的第二公钥;其中,所述第二私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;generating a second public key corresponding to the second private key; wherein the second private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data;
    将所述第二公钥发送给消息加密方。Send the second public key to the message encryption party.
  45. 一种消息解密方法,其中,包括:A message decryption method, comprising:
    接收消息加密方发送的待解密数据;Receive the data to be decrypted sent by the message encryption party;
    使用所述权利要求21-25任意一项所述的身份认证方法对待认证对象进行身份认证;Using the identity authentication method described in any one of claims 21-25 to authenticate the object to be authenticated;
    若所述待认证对象的身份认证成功,则使用所述权利要求21-25任意一项所述的身份认证方法确定出的校验通过的密钥对所述待解密数据进行解密,得到解密数据;If the identity authentication of the object to be authenticated is successful, then use the verified key determined by the identity authentication method according to any one of claims 21-25 to decrypt the data to be decrypted to obtain decrypted data ;
    其中,所述校验通过的密钥所对应的公钥通过权利要求44所述的方法发送给所述消息加密方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥;所述待解密数据是用所述校验通过的密钥所对应的公钥进行 加密的。Wherein, the public key corresponding to the verified key is sent to the message encryption party through the method described in claim 44; the verified key includes the verified key to be authenticated, the verified key The multi-factor key to be authenticated that has passed the verification or the key to be authenticated used to generate the multi-factor key to be authenticated that has passed the verification; the data to be decrypted is the public key corresponding to the key that has passed the verification key for encryption.
  46. 一种应用登录方法,包括:An application login method, comprising:
    使用所述权利要求21-25任意一项所述的身份认证方法对待认证对象进行身份认证;Using the identity authentication method described in any one of claims 21-25 to authenticate the object to be authenticated;
    若所述待认证对象的身份认证成功,则将使用所述权利要求21-25任意一项所述的身份认证方法确定出的校验通过的密钥登录目标应用程序;或,将使用所述权利要求25所述的身份认证方法确定出的校验通过的密钥和所述用户标识登录目标应用程序;If the identity authentication of the object to be authenticated is successful, the key that has passed the verification determined by the identity authentication method described in any one of claims 21-25 will be used to log into the target application; or, the key will be used to log in to the target application program; The verified key determined by the identity authentication method according to claim 25 and the user ID logging into the target application program;
    其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。Wherein, the key that passes the verification includes the key to be authenticated that passes the verification, the multi-factor key to be authenticated that passes the verification, or the key to be authenticated that is used to generate the multi-factor key to be authenticated that passes the verification. key.
  47. 根据权利要求46所述的方法,其中,使用如权利要求21-25任一项所述的身份认证方法确定出的校验通过的密钥登录目标应用程序,包括:根据所述校验通过的密钥进行哈希运算,将所述哈希运算结果发送至应用服务器以登录目标应用程序;或,使用如权利要求25所述的身份认证方法确定出的校验通过的密钥和所述用户标识登录目标应用程序,包括:根据所述校验通过的密钥进行哈希运算,将所述哈希运算结果和所述用户标识发送至应用服务器以登录目标应用程序。The method according to claim 46, wherein, using the verified key determined by the identity authentication method according to any one of claims 21-25 to log in to the target application program includes: perform a hash operation on the key, and send the result of the hash operation to the application server to log in to the target application; or, use the verified key determined by the identity authentication method as claimed in claim 25 and the user Identifying the login target application program includes: performing a hash operation according to the verified key, and sending the hash operation result and the user ID to an application server to log in to the target application program.
  48. 一种区块链节点信息同步方法,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,所述方法包括:A block chain node information synchronization method, applied to the current block chain node on the block chain, the block chain includes a plurality of block chain nodes, the method includes:
    通过权利要求16-18任意一项所述的身份注册方法,确定出注册信息,所述注册信息包括第一辅助数据;Through the identity registration method described in any one of claims 16-18, the registration information is determined, and the registration information includes the first auxiliary data;
    生成第三私钥对应的第三公钥;其中,所述第三私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;generating a third public key corresponding to the third private key; wherein the third private key is a key corresponding to the first auxiliary data or a first multi-factor key corresponding to the first auxiliary data;
    向所述区块链上的其他区块链节点广播所述第三公钥。broadcasting the third public key to other blockchain nodes on the blockchain.
  49. 一种区块链节点信息同步方法,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,所述方法包括:A block chain node information synchronization method, applied to the current block chain node on the block chain, the block chain includes a plurality of block chain nodes, the method includes:
    使用所述权利要求21-25任意一项所述的身份认证方法对待认证对象进行身份认证;Using the identity authentication method described in any one of claims 21-25 to authenticate the object to be authenticated;
    若所述待认证对象的身份认证成功,则使用所述权利要求21-25任意一项所述的身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据;If the identity authentication of the object to be authenticated is successful, use the verified key determined by the identity authentication method according to any one of claims 21-25 to sign the transaction information, and obtain the transaction information with a digital signature transaction data;
    将所述交易数据广播给所述区块链上的其他区块链节点,以供所述其他区块链节点使用所述校验通过的密钥所对应的公钥对所述交易数据的数字签名进行验签;其中,所述校验通过的密钥所对应的公钥通过权利要求48所述的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。broadcasting the transaction data to other blockchain nodes on the blockchain, so that the other blockchain nodes can use the public key corresponding to the verified key to pair the digital data of the transaction data signature for signature verification; wherein, the public key corresponding to the verified key is sent to the signature verification party through the method described in claim 48; the verified key includes the verified key to be The authentication key, the unauthenticated multi-factor key that passes the verification, or the unauthenticated key used to generate the unauthenticated multi-factor key that passes the verification.
  50. 一种隐私保护的图像处理装置,包括:A privacy-protected image processing device, comprising:
    第一获取模块,用于获取待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;A first acquiring module, configured to acquire an image to be processed, where the image to be processed includes a first biometric feature area, and the first biometric feature area includes a plurality of first feature points;
    第一确定模块,用于根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;The first determination module is configured to determine a first biometric template of the first biometric region according to the first biometric region, and the first biometric template includes biological characters corresponding to the plurality of first characteristic points feature representation;
    编码模块,用于对所述第一生物特征模板进行编码运算,得到第一辅助数据;An encoding module, configured to perform an encoding operation on the first biometric template to obtain first auxiliary data;
    所述编码模块通过以下任意一种方式实现:The encoding module is implemented in any of the following ways:
    对所述第一生物特征模板进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;performing feature conversion on the first biometric template to obtain first auxiliary data; the feature conversion is determined according to a key corresponding to the first auxiliary data;
    根据所述第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码 字;对所述纠错码码字进行第一变换处理,得到第一辅助数据;其中,所述根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和所述量化值确定纠错码码字;和/或,所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述量化值,对所述纠错码码字进行第一变换处理,得到第一辅助数据;所述第一变换处理为不可逆变换;Perform quantization according to the first biometric template to obtain a quantized value; determine an error correction code word according to a key corresponding to the first auxiliary data; perform a first conversion process on the error correction code word to obtain first auxiliary data ; Wherein, the determining the error correction code word according to the key corresponding to the first auxiliary data includes: determining the error correction code word according to the key corresponding to the first auxiliary data and the quantization value; and/or, the Performing a first transformation process on the error correction code word to obtain first auxiliary data includes: performing a first transformation process on the error correction code word according to the quantization value to obtain first auxiliary data; The first transformation process is an irreversible transformation;
    根据所述第一生物特征模板进行量化,得到量化值;确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据;根据所述量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据;所述第二变换处理为不可逆变换;Perform quantization according to the first biometric template to obtain a quantized value; determine an error correction code word; perform a second conversion process on the error correction code word to obtain first auxiliary data; generate a first auxiliary data according to the quantized value A key corresponding to the auxiliary data; wherein, determining an error correction code word; performing a second transformation process on the error correction code word to obtain the first auxiliary data, including: randomly determining an error correction code word; according to the quantization Perform the second transformation process on the error correction code word to obtain the first auxiliary data; or determine the error correction code word according to the quantization value, and perform the second transformation process on the error correction code word to obtain the first auxiliary data; the second transformation process is an irreversible transformation;
    其中,所述编码运算包括不可逆变换。Wherein, the encoding operation includes an irreversible transformation.
  51. 一种身份注册装置,包括:An identity registration device, comprising:
    第二确定模块,用于通过权利要求1-15任一项所述的方法确定待注册对象的注册信息中的第一辅助数据。The second determination module is configured to determine the first auxiliary data in the registration information of the object to be registered by the method described in any one of claims 1-15.
  52. 一种身份认证装置,包括:An identity authentication device, comprising:
    第二获取模块,用于获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;A second acquiring module, configured to acquire an image to be authenticated of an object to be authenticated, the image to be authenticated includes a second biometric feature area, and the second biometric feature area includes a plurality of second feature points;
    第三确定模块,用于根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;A third determining module, configured to determine a biometric template to be authenticated in the second biometric region according to the second biometric region;
    第三获取模块,用于获取所述待认证对象的身份认证结果,所述身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的;The third obtaining module is used to obtain the identity authentication result of the object to be authenticated, and the identity authentication result is determined according to the biometric template to be authenticated and the auxiliary data of the bottom database;
    其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据是通过权利要求16至18任意一项所述的身份注册方法确定的。Wherein, the bottom database auxiliary data includes at least one first auxiliary data; the first auxiliary data is determined by the identity registration method described in any one of claims 16-18.
  53. 一种身份注册装置,包括:An identity registration device, comprising:
    第一接收模块,用于接收终端设备发送的注册信息,所述注册信息是通过权利要求16-18任意一项的身份注册方法确定的;The first receiving module is configured to receive the registration information sent by the terminal device, the registration information is determined by the identity registration method according to any one of claims 16-18;
    第二存储模块,用于将所述注册信息存储至数据库中,所述注册信息包括第一辅助数据。A second storage module, configured to store the registration information in a database, where the registration information includes first auxiliary data.
  54. 一种身份认证装置,包括:An identity authentication device, comprising:
    第二接收模块,用于接收所述终端设备发送的认证请求;The second receiving module is configured to receive the authentication request sent by the terminal device;
    底库辅助数据确定模块,用于根据所述认证请求,从通过权利要求29-31任意一项所述的方法存储至数据库中的注册信息中确定出底库辅助数据;其中,所述底库辅助数据包括至少一个第一辅助数据。The bottom library auxiliary data determination module is used to determine the bottom library auxiliary data from the registration information stored in the database by the method according to any one of claims 29-31 according to the authentication request; wherein, the bottom library The assistance data includes at least one first assistance data.
  55. 一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至49任一所述的方法的步骤。An electronic device, comprising: a processor and a memory, the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the machine-readable instructions are executed by the processor as follows: The steps of any one of claims 1-49.
  56. 一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至49任一所述的方法的步骤。A computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is run by a processor, the steps of the method according to any one of claims 1 to 49 are executed.
PCT/CN2022/126690 2021-10-21 2022-10-21 Privacy protection based image processing method, identity registration method, and identity authentication method WO2023066374A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202111229310.7 2021-10-21
CN202111228163.1A CN114117383A (en) 2021-10-21 2021-10-21 Registration method, authentication method and device
CN202111228163.1 2021-10-21
CN202111229310.7A CN116010917A (en) 2021-10-21 2021-10-21 Privacy-protected image processing method, identity registration method and identity authentication method

Publications (1)

Publication Number Publication Date
WO2023066374A1 true WO2023066374A1 (en) 2023-04-27

Family

ID=86057953

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/126690 WO2023066374A1 (en) 2021-10-21 2022-10-21 Privacy protection based image processing method, identity registration method, and identity authentication method

Country Status (1)

Country Link
WO (1) WO2023066374A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955881A (en) * 2014-04-18 2014-07-30 中国科学院信息工程研究所 Image biological characteristic protection method and device and information retrieval method
CN106936586A (en) * 2016-12-07 2017-07-07 中国电子科技集团公司第三十研究所 A kind of biological secret key extracting method based on fingerprint bit string and Error Correction of Coding
US20190013931A1 (en) * 2015-09-11 2019-01-10 Aware, Inc. Biometric verification of a blockchain database transaction contributor
CN112347855A (en) * 2020-10-12 2021-02-09 西安电子科技大学青岛计算技术研究院 Biological characteristic template protection method and device based on deep learning
CN114117383A (en) * 2021-10-21 2022-03-01 墨奇科技(北京)有限公司 Registration method, authentication method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955881A (en) * 2014-04-18 2014-07-30 中国科学院信息工程研究所 Image biological characteristic protection method and device and information retrieval method
US20190013931A1 (en) * 2015-09-11 2019-01-10 Aware, Inc. Biometric verification of a blockchain database transaction contributor
CN106936586A (en) * 2016-12-07 2017-07-07 中国电子科技集团公司第三十研究所 A kind of biological secret key extracting method based on fingerprint bit string and Error Correction of Coding
CN112347855A (en) * 2020-10-12 2021-02-09 西安电子科技大学青岛计算技术研究院 Biological characteristic template protection method and device based on deep learning
CN114117383A (en) * 2021-10-21 2022-03-01 墨奇科技(北京)有限公司 Registration method, authentication method and device

Similar Documents

Publication Publication Date Title
Liu et al. Finger vein secure biometric template generation based on deep learning
Lee et al. Cancelable fingerprint templates using minutiae-based bit-strings
Sandhya et al. Securing fingerprint templates using fused structures
Li et al. An effective biometric cryptosystem combining fingerprints with error correction codes
Jain et al. Fingerprint template protection: From theory to practice
Cimato et al. Privacy-aware biometrics: Design and implementation of a multimodal verification system
Ali et al. Robust technique for fingerprint template protection
CN116010917A (en) Privacy-protected image processing method, identity registration method and identity authentication method
Benhammadi et al. Password hardened fuzzy vault for fingerprint authentication system
Tran et al. A multi-filter fingerprint matching framework for cancelable template design
Sandhya et al. Cancelable fingerprint cryptosystem using multiple spiral curves and fuzzy commitment scheme
CN114117383A (en) Registration method, authentication method and device
Yang et al. A linear convolution-based cancelable fingerprint biometric authentication system
Kaur et al. Cryptographic key generation from multimodal template using fuzzy extractor
Shi et al. Fingerprint recognition strategies based on a fuzzy commitment for cloud-assisted IoT: a minutiae-based sector coding approach
Ali et al. Fingerprint shell with impregnable features
Dong et al. Secure chaff-less fuzzy vault for face identification systems
Baghel et al. An enhanced fuzzy vault to secure the fingerprint templates
Jacob et al. Biometric template security using DNA codec based transformation
Shukla et al. Securing fingerprint templates by enhanced minutiae‐based encoding scheme in Fuzzy Commitment
Dash et al. Efficient private key generation from iris data for privacy and security applications
Liu et al. A hybrid approach to protect palmprint templates
Verma et al. A novel model to enhance the data security in cloud environment
Katsumata et al. Revisiting fuzzy signatures: Towards a more risk-free cryptographic authentication system based on biometrics
Sandhya et al. A bio-cryptosystem for fingerprints using Delaunay neighbor structures (dns) and fuzzy commitment scheme

Legal Events

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

Ref document number: 22882979

Country of ref document: EP

Kind code of ref document: A1