# US 2022/0286290 A1 · Privacy preserving biometric authentication

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2022/0286290 A1
- Document ID: US20220286290A1
- Status: Published application
- Kind: A1
- Application number: 17/824,756
- Filed: 2022-05-25
- Published: 2022-09-08
- Earliest claimed: 2019-01-11
- Assignees: Visa International Service Association
- Applicants: Visa International Service Association
- Inventors: Payman Mohassel; Shashank Agrawal; Pratyay Mukherjee; Saikrishna Badrinarayanan
- Web page: https://patentgrep.com/patent/US20220286290A1

## CPC

- H04L 9/008: {involving homomorphic encryption}
- H04L 9/3231: {Biological data, e.g. fingerprint, voice or retina (network architectures or network communication protocols for supporting authentication of entities using biometrical features in a packet data network H04L63/0861)}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- G06Q 50/265: {Personal security, identity or safety}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Techniques of authenticating a first device of a user to a second device are disclosed. The method enables the second device to perform authentication using a biometric template stored on the first device and a biometric measurement. Homomorphic encryption may be used by the first device to encrypt the biometric template and the second device to determine an encrypted similarity metric between the biometric template and the biometric measurement. The second device can also determine an encrypted code using an authentication function and the encrypted similarity metric. The second device sends the encrypted code and the encrypted similarity metric to be decrypted by the first device. The second device can receive a response from the first device, indicating whether a decrypted similarity metric exceeds a threshold; and whether the decrypted code matches a test code. The second device can then authenticate the user based on the response.

## Claims

### Claim 1

A method of authenticating a first device of a user to a second device, the method comprising performing, by the second device:
receiving a public key, an encrypted biometric template, and a threshold proof from the first device;
obtaining, using one or more sensors of the second device, a biometric measurement from the user;
responsive to successfully evaluating the threshold proof, computing an encrypted similarity metric of the encrypted biometric template and the biometric measurement using homomorphic encryption with the public key;
computing an encrypted code using the public key and the encrypted similarity metric within an authentication function;
sending a first message to the first device, the first message including the encrypted similarity metric and the encrypted code;
receiving a response message from the first device, the response message indicating whether a decrypted code matches a test code, the decrypted code obtained from the encrypted code; and
providing access to a resource when the decrypted code matches the test code.

### Claim 2 (depends on 1)

The method of claim 1, wherein
the decrypted code is generated by decrypting the encrypted code and the test code generated using a decrypted similarity metric and the authentication function.

### Claim 3 (depends on 2)

The method of claim 2, wherein the response message indicates whether the decrypted similarity metric exceeds a threshold.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
generating the test code;
determining whether the test code matches the decrypted code; and
comparing the decrypted similarity metric to the threshold.

### Claim 5 (depends on 3)

The method of claim 3, wherein the decrypted similarity metric is masked, the method further comprising:
receiving one or more encrypted masks from the first device; and
masking the encrypted similarity metric with the encrypted masks.

### Claim 6 (depends on 1)

The method of claim 1, wherein the encrypted code is a one-time message authentication code.

### Claim 7 (depends on 2)

The method of claim 2, wherein computing the encrypted similarity metric further comprises:
sampling one or more random values; and
masking the encrypted similarity metric using the one or more random values.

### Claim 8 (depends on 7)

The method of claim 7, wherein the response message comprises an output of a garbled circuit, the method further comprising:
generating a garbled circuit, wherein the garbled circuit is configured to:
compute the test code by applying the authentication function to a decrypted similarity metric;
compare a decrypted code to the test code to verify a match, the decrypted code generated by decrypting the encrypted code;
determine whether the decrypted similarity metric exceeds a threshold; and
return an indicator that the decrypted similarity metric exceeds the threshold and the decrypted code matches the test code; and
sending the garbled circuit to the first device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the encrypted similarity metric corresponds to a similarity metric encrypted with the public key, wherein the similarity metric is an inner product.

### Claim 10

A method of authenticating a first device of a user to a second device, the method comprising performing, by the first device:
generating a public key, a threshold proof, and an encrypted biometric template;
sending the public key, the threshold proof, and the encrypted biometric template to the second device;
receiving a first message from the second device, the first message including an encrypted similarity metric and an encrypted code, the encrypted similarity metric computed with the encrypted biometric template and a biometric measurement of the user using homomorphic encryption with the public key, the encrypted code computed using the public key and the encrypted similarity metric within an authentication function, the biometric measurement obtained by the second device;
decrypting the encrypted code to obtain a decrypted code; and
sending a response message to the second device, the response message indicating whether the decrypted code matches a test code.

### Claim 11 (depends on 10)

The method of claim 10, wherein the test code is generated using a decrypted similarity metric and the authentication function.

### Claim 12 (depends on 11)

The method of claim 11, wherein the response message indicates whether the decrypted similarity metric exceeds a threshold.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
generating one or more random values;
encrypting the one or more random values with the public key to generate one or more encrypted masks;
sending the one or more encrypted masks to the second device; and
receiving the encrypted similarity metric, the encrypted similarity metric masked by the one or more encrypted masks.

### Claim 14 (depends on 13)

The method of claim 13, wherein the response message comprises the threshold proof, and the decrypted similarity metric is masked, the decrypted similarity metric generated by decrypting the encrypted similarity metric, and wherein the method further comprises:
unmasking the decrypted similarity metric; and
generating the threshold proof.

### Claim 15 (depends on 11)

The method of claim 11, wherein the encrypted similarity metric is masked by one or more random values, and wherein the one or more random values are generated by the second device.

### Claim 16 (depends on 15)

The method of claim 15, wherein the response message comprises an output of a garbled circuit, the method further comprising:
receiving a garbled circuit from the second device; and
using the garbled circuit to:
compute the test code by applying the authentication function to a decrypted similarity metric;
compare a decrypted code to the test code to verify a match, the decrypted code generated by decrypting the encrypted code;
determine whether the decrypted similarity metric exceeds a threshold; and
return an indicator that the decrypted similarity metric exceeds the threshold and the decrypted code matches the test code.

### Claim 17

A system comprising:
one or more sensors;
one or more processors; and
a computer readable medium storing a plurality of instructions for controlling the one or more processors to perform a method comprising:
receiving a public key, an encrypted biometric template, and a threshold proof from the first device;
obtaining, using one or more sensors of the second device, a biometric measurement from the user; responsive to successfully evaluating the threshold proof, computing an encrypted similarity metric of the encrypted biometric template and the biometric measurement using homomorphic encryption with the public key;
computing an encrypted code using the public key and the encrypted similarity metric within an authentication function;
sending a first message to the first device, the first message including the encrypted similarity metric and the encrypted code;
receiving a response message from the first device, the response message indicating whether a decrypted code matches a test code; and
providing access to a resource when the decrypted code matches the test code.

### Claim 18 (depends on 17)

The system of claim 17, wherein the decrypted code is generated by decrypting the encrypted code and the test code generated using a decrypted similarity metric and the authentication function.

### Claim 19 (depends on 18)

The system of claim 18, wherein the response message indicates whether the decrypted similarity metric exceeds a threshold.

### Claim 20 (depends on 19)

The system of claim 19, wherein the method further comprises:
generating the test code;
determining whether the test code matches the decrypted code; and
comparing the decrypted similarity metric to the threshold.
