US 12,355,891 B2
Verification of biometric templates for privacy preserving authentication
Saikrishna Badrinarayanan, Los Angeles, CA (US); Peter Rindal, San Francisco, CA (US); and Pratyay Mukherjee, Sunnyvale, CA (US)
Assigned to Visa International Service Association, San Francisco, CA (US)
Filed by Visa International Service Association, San Francisco, CA (US)
Filed on Oct. 6, 2023, as Appl. No. 18/482,509.
Application 18/482,509 is a continuation of application No. 18/063,640, filed on Dec. 8, 2022, granted, now 11,831,780.
Application 18/063,640 is a continuation of application No. 17/079,279, filed on Oct. 23, 2020, granted, now 11,546,164, issued on Jan. 3, 2023.
Prior Publication US 2024/0048390 A1, Feb. 8, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/32 (2006.01); H04L 9/08 (2006.01); H04L 9/30 (2006.01)
CPC H04L 9/3231 (2013.01) [H04L 9/0866 (2013.01); H04L 9/30 (2013.01); H04L 9/3271 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer system comprising:
a processor; and
a non-transitory computer readable medium coupled to the processor, the non-transitory computer readable medium comprising code, executable by the processor for implementing a method of registering a biometric stored on a user device with a verifier device, the method comprising:
providing, to the verifier device, an encrypted biometric vector c stored on the user device, the encrypted biometric vector c generated by encrypting a biometric vector x using a user public key, wherein a user secret key corresponds to the user public key;
receiving, from the verifier device, a challenge message including a masked encrypted biometric vector |w|, an encrypted first cancellation value |v|, an encrypted second cancellation value |v|, wherein a first cancellation value v is determined using values of the encrypted biometric vector c and at least with a first random value β, and wherein a second cancellation value v is determined using values of the encrypted biometric vector c and at least a second random value β;
decrypting, using the user secret key, the masked encrypted biometric vector |w|, to obtain a masked biometric vector w, the encrypted first cancellation value |v| to obtain the first cancellation value v, and the encrypted second cancellation value |v| to obtain the second cancellation value v;
generating a first challenge response z using the first cancellation value v and the masked biometric vector w;
generating a second challenge response z using the second cancellation value v and the masked biometric vector w; and
providing, to the verifier device, the first challenge response z and the second challenge response z, thereby enabling the verifier device to validate that (i) the first challenge response z matches a public value y and (ii) the second challenge response z matches the public value y.