IP Library Granted Patent US 11,201,745
Granted Patent B2
US 11,201,745 · App. 16/244,138 · Granted Dec 14, 2021

Method and system for privacy preserving biometric authentication

Inventors: Muhammad Barham (Haifa, IL); Ariel Farkash (Shinshit, IL); Ron Shmelkin (Haifa, IL); Omri Soceanu (Haifa, IL); Michael Vinov (Nofit, IL)
Assignee: International Business Machines Corporation
H04L9/3231G06N3/08G06N7/005H04L9/008H04L9/0869H04L9/3221
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,201,745
App. No.
16/244,138
Granted
Dec 14, 2021
Kind
B2
Abstract

Embodiments of the present systems and methods may provide encrypted biometric information that can be stored and used for authentication with undegraded recognition performance. For example, in an embodiment, a method may comprise storing a plurality of encrypted trained weights of a neural network classifier, wherein the weights have been trained using biometric information representing at least one biometric feature of a person, receiving encrypted biometric information obtained by sampling at least one biometric feature of the person and encrypting the sampled biometric feature, obtaining an match-score using the encrypted trained neural network classifier, the match-score indicating a probability that the received encrypted biometric information matches the stored encrypted biometric information, and authenticating the person when the probability that received encrypted biometric information matches the stored encrypted biometric information exceeds a threshold.

Claims (42)

1. A method for biometric authentication, implemented in a computer comprising a processor, memory accessible by the processor, and computer program instructions stored in the memory and executable by the processor, the method comprising:

storing a plurality of encrypted trained weights of a neural network classifier, wherein the weights have been trained using biometric information representing at least one biometric feature of a person, and wherein the trained weights are encrypted using homomorphic encryption, multi-party computation, or a combination of the two;

receiving encrypted biometric information obtained by sampling at least one biometric feature of the person and encrypting the sampled biometric feature;

obtaining an match-score using the encrypted trained neural network classifier, the match-score indicating a probability that the received encrypted biometric information matches the stored encrypted biometric information, wherein obtaining the match-score comprises obtaining an encrypted match-score using the encrypted trained neural network classifier, transmitting the encrypted match-score to a client device, receiving an unencrypted match-score from the client device, determining that the client correctly decrypted the match-score using a zero-knowledge proof, and comparing the unencrypted match-score with the threshold; and

authenticating the person when the probability that received encrypted biometric information matches the stored encrypted biometric information exceeds a threshold.

2. The method of claim 1 , wherein the encrypted biometric information is received from a client device communicatively connected to a biometric information acquisition device.

3. The method of claim 2 , wherein the decryption is performed at the client device using a private key.

4. The method of claim 1 , wherein some of the layers of the neural network classifier were trained using publicly-available non-private biometric information, and some layers of the neural network classifier were re-trained using private biometric information of the person.

5. The system of claim 1 , wherein the encrypted biometric information is received from a client device communicatively connected to a biometric information acquisition device.

6. The system of claim 5 , wherein the decryption is performed at the client device using a private key.

7. A system for biometric authentication, the system comprising a processor, memory accessible by the processor, and computer program instructions stored in the memory and executable by the processor to perform:

storing a plurality of encrypted trained weights of a neural network classifier, wherein the weights have been trained using biometric information representing at least one biometric feature of a person, and wherein the trained weights are encrypted using homomorphic encryption, multi-party computation, or a combination of the two;

receiving encrypted biometric information obtained by sampling at least one biometric feature of the person and encrypting the sampled biometric feature;

obtaining an match-score using the encrypted trained neural network classifier, the match-score indicating a probability that the received encrypted biometric information matches the stored encrypted biometric information, wherein obtaining the match-score comprises obtaining an encrypted match-score using the encrypted trained neural network classifier, transmitting the encrypted match-score to a client device, receiving an unencrypted match-score from the client device, determining that the client correctly decrypted the match-score using a zero-knowledge proof, and comparing the unencrypted match-score with the threshold; and

authenticating the person when the probability that received encrypted biometric information matches the stored encrypted biometric information exceeds a threshold.

8. The system of claim 7 , wherein some of the layers of the neural network classifier were trained using publicly-available non-private biometric information, and some layers of the neural network classifier were re-trained using private biometric information of the person.

9. A computer program product for biometric authentication, the computer program product comprising a non-transitory computer readable storage having program instructions embodied therewith, the program instructions executable by a computer, to cause the computer to perform a method comprising:

storing a plurality of encrypted trained weights of a neural network classifier, wherein the weights have been trained using biometric information representing at least one biometric feature of a person, and wherein the trained weights are encrypted using homomorphic encryption, multi-party computation, or a combination of the two;

receiving encrypted biometric information obtained by sampling at least one biometric feature of the person and encrypting the sampled biometric feature;

obtaining an match-score using the encrypted trained neural network classifier, the match-score indicating a probability that the received encrypted biometric information matches the stored encrypted biometric information, wherein obtaining the match-score comprises obtaining an encrypted match-score using the encrypted trained neural network classifier, transmitting the encrypted match-score to a client device, receiving an unencrypted match-score from the client device, determining that the client correctly decrypted the match-score using a zero-knowledge proof, and comparing the unencrypted match-score with the threshold; and

authenticating the person when the probability that received encrypted biometric information matches the stored encrypted biometric information exceeds a threshold.

10. The computer program product of claim 9 , wherein the encrypted biometric information is received from a client device communicatively connected to a biometric information acquisition device.

11. The computer program product of claim 10 , wherein the decryption is performed at the client device using a private key.

12. The computer program product of claim 9 , wherein some of the layers of the neural network classifier were trained using publicly-available non-private biometric information, and some layers of the neural network classifier were re-trained using private biometric information of the person.

13. A method for biometric authentication, implemented in a computer comprising a processor, memory accessible by the processor, and computer program instructions stored in the memory and executable by the processor, the method comprising:

storing a plurality of encrypted trained weights of a neural network classifier, wherein the weights have been trained using biometric information representing at least one biometric feature of a person, and wherein the trained weights are encrypted using homomorphic encryption, multi-party computation, or a combination of the two;

receiving encrypted biometric information obtained by sampling at least one biometric feature of the person and encrypting the sampled biometric feature;

obtaining an match-score using the encrypted trained neural network classifier, the match-score indicating a probability that the received encrypted biometric information matches the stored encrypted biometric information, wherein obtaining the match-score comprises obtaining an encrypted match-score using the encrypted trained neural network classifier, multiplying the encrypted match-score by a first encrypted secret integer, encrypting a plurality of additional secret integers, transmitting the multiplied encrypted match-score and at least some of the plurality of encrypted additional secret integers to a client device, receiving a decrypted multiplied match-score and decrypted additional secret integers from the client device, verifying the correctness of the decrypted additional secret integers, and dividing the unencrypted match-score by the first encrypted secret integer to obtain the match-score; and

authenticating the person when the probability that received encrypted biometric information matches the stored encrypted biometric information exceeds a threshold.

14. The method of claim 13 , wherein the multiplied encrypted match-score the encrypted additional secret integers are transmitted to the client device in a secret random order.

15. A system for biometric authentication, the system comprising a processor, memory accessible by the processor, and computer program instructions stored in the memory and executable by the processor to perform:

storing a plurality of encrypted trained weights of a neural network classifier, wherein the weights have been trained using biometric information representing at least one biometric feature of a person, and wherein the trained weights are encrypted using homomorphic encryption, multi-party computation, or a combination of the two;

receiving encrypted biometric information obtained by sampling at least one biometric feature of the person and encrypting the sampled biometric feature;

obtaining an match-score using the encrypted trained neural network classifier, the match-score indicating a probability that the received encrypted biometric information matches the stored encrypted biometric information, wherein obtaining the match-score comprises obtaining an encrypted match-score using the encrypted trained neural network classifier, multiplying the encrypted match-score by a first encrypted secret integer, encrypting a plurality of additional secret integers, transmitting the multiplied encrypted match-score and at least some of the plurality of encrypted additional secret integers to a client device, receiving a decrypted multiplied match-score and decrypted additional secret integers from the client device, verifying the correctness of the decrypted additional secret integers, and dividing the unencrypted match-score by the first encrypted secret integer to obtain the match-score; and

authenticating the person when the probability that received encrypted biometric information matches the stored encrypted biometric information exceeds a threshold.

16. The system of claim 15 , wherein the multiplied encrypted match-score the encrypted additional secret integers are transmitted to the client device in a secret random order.

17. A computer program product for biometric authentication, the computer program product comprising a non-transitory computer readable storage having program instructions embodied therewith, the program instructions executable by a computer, to cause the computer to perform a method comprising:

storing a plurality of encrypted trained weights of a neural network classifier, wherein the weights have been trained using biometric information representing at least one biometric feature of a person, and wherein the trained weights are encrypted using homomorphic encryption, multi-party computation, or a combination of the two;

receiving encrypted biometric information obtained by sampling at least one biometric feature of the person and encrypting the sampled biometric feature;

obtaining an match-score using the encrypted trained neural network classifier, the match-score indicating a probability that the received encrypted biometric information matches the stored encrypted biometric information, wherein obtaining the match-score comprises obtaining an encrypted match-score using the encrypted trained neural network classifier, multiplying the encrypted match-score by a first encrypted secret integer, encrypting a plurality of additional secret integers, transmitting the multiplied encrypted match-score and at least some of the plurality of encrypted additional secret integers to a client device, receiving a decrypted multiplied match-score and decrypted additional secret integers from the client device, verifying the correctness of the decrypted additional secret integers, and dividing the unencrypted match-score by the first encrypted secret integer to obtain the match-score; and

authenticating the person when the probability that received encrypted biometric information matches the stored encrypted biometric information exceeds a threshold.

18. The computer program product of claim 17 , wherein the multiplied encrypted match-score the encrypted additional secret integers are transmitted to the client device in a secret random order.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2019
From: BARHAM, MUHAMMAD; FARKASH, ARIEL; SHMELKIN, RON; SOCEANU, OMRI; VINOV, MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047947/0606 →
Continuity (1)
Related Publication 20200228339A1 · Jul 16, 2020