US 12,395,342 B1
Privacy-preserving biometric authentication using asymmetrically loaded servers
Charles H. Herder, III, Newark, CA (US); Tina P. Srivastava, Newark, CA (US); and Young Hyun Kwon, Newark, CA (US)
Assigned to Badge Inc., Lewes, DE (US)
Filed by Badge Inc., Lewes, DE (US)
Filed on Nov. 22, 2024, as Appl. No. 18/957,354.
Int. Cl. H04L 29/06 (2006.01); G06F 21/00 (2013.01); H04L 9/00 (2022.01); H04L 9/08 (2006.01); H04L 9/32 (2006.01)
CPC H04L 9/3231 (2013.01) [H04L 9/008 (2013.01); H04L 9/0869 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method using biometric data to authenticate a subject as an individual whose biometric data has been previously obtained, the method implemented by computer processes, comprising:
causing generation of authentication shards from a digital electronic signal characterizing a biometric of the subject and causing the authentication shards to be distributed to, and stored by, a first plurality of servers in an array of servers, wherein the individual's biometric data has been formed into enrollment shards that have been distributed to, and stored by, a second plurality of servers in the array of servers;
causing assignment and distribution of a proxy for a one-time value to each server in the array of servers, and causing storage of the proxy by each server, wherein (i) the one-time values are individually indistinguishable from uniformly random values, (ii) each proxy for a one-time value is selected from the group consisting of the one-time value itself and a seed for the one-time value, (iii) the one-time values distributed to the first plurality of servers is constrained by a first specific value, (iv) the one-time values distributed to the second plurality of servers is constrained by a second specific value, and (v) in each of the first and second pluralities at least one of the proxies for the one-time value is the one-time value itself;
causing performance of a data exchange process among a first subset of servers of the first plurality of servers and a second subset of servers of the second plurality of servers, the data exchange process comprising: performing a multiparty computation to develop authentication information based on (i) the enrollment shards stored by the second subset of servers, (ii) the authentication shards stored by the first subset of servers, and (iii) the proxy assigned and distributed to, and stored by, each server in the first subset of servers and the second subset of servers; and
causing processing of the authentication information to generate an output value corresponding to a determination whether the subject is authenticated as the individual.