← Back to Patent Explorer
US6038315A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for normalizing biometric variations to authenticate users from a public database and that ensures individual biometric data privacy

Assignee: University of California
•
Filing: 1997-03-17
•
Granted: 2000-03-14
•
Expires: 2017-03-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A password system comprises a set of codewords spaced apart from one another by a Hamming distance (HD) that exceeds twice the variability that can be projected for a series of biometric measurements for a particular individual and that is less than the HD that can be encountered between two individuals. To enroll an individual, a biometric measurement is taken and exclusive-ORed with a random codeword to produce a "reference value." To verify the individual later, a biometric measurement is taken and exclusive-ORed with the reference value to reproduce the original random codeword or its approximation. If the reproduced value is not a codeword, the nearest codeword to it is found, and the bits that were corrected to produce the codeword to it is found, and the bits that were corrected to produce the codeword are also toggled in the biometric measurement taken and the codeword generated during enrollment. The correction scheme can be implemented by any conventional error correction code such as Reed-Muller code R(m,n). In the implementation using a hand geometry device an R(2,5) code has been used in this invention. Such codeword and biometric measurement can then be used to see if the individual is an authorized user. Conventional Diffie-Hellman public key encryption schemes and hashing procedures can then be used to secure the communications lines carrying the biometric information and to secure the database of authorized users.

Inventors

  • 👤 Robert S. Strait
  • 👤 Peter K. Pearson
  • 👤 Sailes K. Sengupta

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:21
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/32; H04L9/3226; H04L9/3231; H04L9/06; H04L9/065; H04L9/0656; H04L9/0662; H04L9/30; H04L9/304; H04L9/3236; H04L9/3239

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 95 words
A biometric password enrollment system, comprising: number generator means for producing a secret codeword "C"; conversion means for combining a biometric measurement "E", having an inherent natural variability from a user, with said secret codeword "C" to produce a reference value "R"; public parameter generation means for combining a public base number "p, g" with a secret exponent "i" derived from said secret codeword "C" to compute I=g i mod p; and relational means for associating in a database a name "N" for said user with said reference value "R" and said public parameter "I".
Claim 2
Dependent Claim 95 words
A biometric password enrollment system, comprising: number generator means for producing a secret codeword "C"; conversion means for combining a biometric measurement "E", having an inherent natural variability from a user, with said secret codeword "C" to produce a reference value "R"; public parameter generation means for combining a public base number "p, g" with a secret exponent "i" derived from said secret codeword "C" to compute I=g i mod p; and relational means for associating in a database a name "N" for said user with said reference value "R" and said public parameter "I".
Claim 3
Dependent Claim 153 words
A biometric password verification method, comprising the steps of: associating in a database a name "N" for a user with a reference value "R" and a public parameter "I"; obtaining a biometric reading "V" and a name "N" provided by a user and which serves as a password to-be-verified before access to a system is allowed to said user; fetching from said database said value "R" and said parameter "I" related to said name "N"; computing an approximate codeword "C'" from the exclusive-OR combination of said reading "V" and said value "R"; obtaining a secret codeword "C" that most nearly matches said approximate codeword "C'"; seeding a pseudo-random number generator with secret codeword "C" to obtain a secret exponent "i"; obtaining an exponent "j" from a random number generator; computing J=g j mod p, where "p" is a public modulus; and computing z=MD5 (J i mod p), where MD5 is a hashing function.
Claim 4
Dependent Claim 153 words
A biometric password verification method, comprising the steps of: associating in a database a name "N" for a user with a reference value "R" and a public parameter "I"; obtaining a biometric reading "V" and a name "N" provided by a user and which serves as a password to-be-verified before access to a system is allowed to said user; fetching from said database said value "R" and said parameter "I" related to said name "N"; computing an approximate codeword "C'" from the exclusive-OR combination of said reading "V" and said value "R"; obtaining a secret codeword "C" that most nearly matches said approximate codeword "C'"; seeding a pseudo-random number generator with secret codeword "C" to obtain a secret exponent "i"; obtaining an exponent "j" from a random number generator; computing J=g j mod p, where "p" is a public modulus; and computing z=MD5 (J i mod p), where MD5 is a hashing function.
Claim 5
Dependent Claim 32 words
The method of claim 2, further comprising the steps of: computing z'=MD5 (I j mod p); and comparing z to z'; wherein a match between z and z' indicates an authorized access.
Claim 6
Independent Claim 127 words
A method for biometric authentication, comprising the steps of: defining a set of original error correcting codewords; recording original biometric measurements from a set of users; convolving each of the original biometric measurements with a different original error correcting codeword from the set of original error correcting codewords to generate a set of reference values; recording a current biometric measurement from an unknown user; retrieving a reference value from the set of reference values which allegedly corresponds to the unknown user; deconvolving the current biometric measurement with the reference value to generate a reproduced error correcting codeword; and identifying the unknown user as one of the set of users if the reproduced error correcting codeword is equal to one of the set of original error correcting codewords.
Claim 7
Independent Claim 127 words
A method for biometric authentication, comprising the steps of: defining a set of original error correcting codewords; recording original biometric measurements from a set of users; convolving each of the original biometric measurements with a different original error correcting codeword from the set of original error correcting codewords to generate a set of reference values; recording a current biometric measurement from an unknown user; retrieving a reference value from the set of reference values which allegedly corresponds to the unknown user; deconvolving the current biometric measurement with the reference value to generate a reproduced error correcting codeword; and identifying the unknown user as one of the set of users if the reproduced error correcting codeword is equal to one of the set of original error correcting codewords.
Claim 8
Dependent Claim 35 words
The method of claim 4, further comprises: using Diffie-Hellman public key encryption schemes and hashing procedures to secure a communications line carrying said biometric measurements and to secure a database of the set of users.
Claim 9
Dependent Claim 17 words
The method of claim 4, further comprises: using a Reed-Muller code R(2,5) to improve communication error susceptibility.
Claim 10
Dependent Claim 16 words
The method of claim 4, wherein the steps of convolving and deconvolving are equivalent to exclusive-ORing.
Claim 11
Dependent Claim 34 words
The method of claim 4, wherein the generating step includes the step of: spacing the set of error correcting codewords apart by a Hamming distance which exceeds biometric variations between the set of users.
Claim 12
Dependent Claim 38 words
The method of claim 4, further comprising the step of: spacing the set of error correcting codewords apart by a Hamming distance at least twice a largest Hamming distance probable between two biometric measurements from any one user.
Claim 13
Dependent Claim 36 words
The method of claim 4, further comprising the step of: spacing the set of error correcting codewords apart by a Hamming distance less than a smallest Hamming distance probable between biometric measurements from any two users.
Claim 14
Dependent Claim 41 words
The method of claim 4, further comprising the step of: rejecting the unknown user as not one of the set of users if the reproduced error correcting codeword is outside of the Hamming distance spacing of adjacent original error correcting codewords.
Claim 15
Dependent Claim 57 words
The method of claim 4: wherein the current biometric measurement has an inherent natural single-user biometric-reading variability; and further comprising the step of: rejecting the unknown user as not one of the set of users if the reproduced error correcting codeword differs from the original error correcting codewords by more than the inherent natural single-user biometric-reading variability.
Claim 16
Dependent Claim 85 words
The method of claim 4, further comprising the steps of: selecting a nearest error correcting codeword from the set of original error correcting codewords, if the reproduced error correcting codeword is not equal to one of the set of original error correcting codewords; and recovering an original biometric measurement from the current biometric measurement by toggling those bits in the current biometric measurement which correspond to those bits in the reproduced error correcting codeword which must be toggled to obtain the nearest error correcting codeword.
Claim 17
Dependent Claim 57 words
The method of claim 4, further comprising the steps of: selecting a nearest error correcting codeword from the set of original error correcting codewords, if the reproduced error correcting codeword is not equal to one of the set of original error correcting codewords; and recovering an original cryptographically secure random number from the nearest error correcting codeword.
Claim 18
Dependent Claim 83 words
A biometric password enrollment method, comprising the steps of: producing a secret codeword "C"; combining a biometric measurement "E", having an inherent natural variability from a user, with said secret codeword "C" to produce a reference value "R"; combining a public base number "p, g" with a secret exponent "i" derived from said secret codeword "C" to compute I=g i mod p; and associating in a database a name "N" for said user with said reference value "R" and said public parameter "I".
Claim 19
Dependent Claim 83 words
A biometric password enrollment method, comprising the steps of: producing a secret codeword "C"; combining a biometric measurement "E", having an inherent natural variability from a user, with said secret codeword "C" to produce a reference value "R"; combining a public base number "p, g" with a secret exponent "i" derived from said secret codeword "C" to compute I=g i mod p; and associating in a database a name "N" for said user with said reference value "R" and said public parameter "I".
Claim 20
Dependent Claim 168 words
A biometric password verification system, comprising: means for associating in a database a name "N" for a user with a reference value "R" and a public parameter "I"; means for obtaining a biometric reading "V" and a name "N" provided by a user and which serves as a password to-be-verified before access to a system is allowed to said user; means for fetching from said database said value "R" and said parameter "I" related to said name "N"; means for computing an approximate codeword "C'" from the exclusive-OR combination of said reading "V" and said value "R"; means for obtaining a secret codeword "C" that most nearly matches said approximate codeword "C'"; means for seeding a pseudo-random number generator with secret codeword "C" to obtain a secret exponent "i"; means for obtaining an exponent "j" from a random number generator; means for computing J=g j mod p, where "p" is a public modulus; and means for computing z=MD5 (J i mod p), where MD5 is a hashing function.
Claim 21
Dependent Claim 168 words
A biometric password verification system, comprising: means for associating in a database a name "N" for a user with a reference value "R" and a public parameter "I"; means for obtaining a biometric reading "V" and a name "N" provided by a user and which serves as a password to-be-verified before access to a system is allowed to said user; means for fetching from said database said value "R" and said parameter "I" related to said name "N"; means for computing an approximate codeword "C'" from the exclusive-OR combination of said reading "V" and said value "R"; means for obtaining a secret codeword "C" that most nearly matches said approximate codeword "C'"; means for seeding a pseudo-random number generator with secret codeword "C" to obtain a secret exponent "i"; means for obtaining an exponent "j" from a random number generator; means for computing J=g j mod p, where "p" is a public modulus; and means for computing z=MD5 (J i mod p), where MD5 is a hashing function.
Claim 22
Dependent Claim 33 words
The system of claim 16, further comprising: means for computing z'=MD5 (I j mod p); and means for comparing z to z'; wherein a match between z and z' indicates an authorized access.
Claim 23
Dependent Claim 95 words
A computer-usable medium embodying computer program code for causing a computer to effect biometric password enrollment by performing the steps of: producing a secret codeword "C"; combining a biometric measurement "E", having an inherent natural variability from a user, with said secret codeword "C" to produce a reference value "R"; combining a public base number "p, g" with a secret exponent "i" derived from said secret codeword "C" to compute I=g i mod p; and associating in a database a name "N" for said user with said reference value "R" and said public parameter "I".
Claim 24
Dependent Claim 95 words
A computer-usable medium embodying computer program code for causing a computer to effect biometric password enrollment by performing the steps of: producing a secret codeword "C"; combining a biometric measurement "E", having an inherent natural variability from a user, with said secret codeword "C" to produce a reference value "R"; combining a public base number "p, g" with a secret exponent "i" derived from said secret codeword "C" to compute I=g i mod p; and associating in a database a name "N" for said user with said reference value "R" and said public parameter "I".
Claim 25
Dependent Claim 165 words
A computer-usable medium embodying computer program code for causing a computer to effect biometric password verification by performing the steps of: associating in a database a name "N" for a user with a reference value "R" and a public parameter "I"; obtaining a biometric reading "V" and a name "N" provided by a user and which serves as a password to-be-verified before access to a system is allowed to said user; fetching from said database said value "R" and said parameter "I" related to said name "N"; computing an approximate codeword "C'" from the exclusive-OR combination of said reading "V" and said value "R"; obtaining a secret codeword "C" that most nearly matches said approximate codeword "C'"; seeding a pseudo-random number generator with secret codeword "C" to obtain a secret exponent "i"; obtaining an exponent "j" from a random number generator; computing J=g i mod p, where "p" is a public modulus; and computing z=MD5 (J i mod p), where MD5 is a hashing function.
Claim 26
Dependent Claim 165 words
A computer-usable medium embodying computer program code for causing a computer to effect biometric password verification by performing the steps of: associating in a database a name "N" for a user with a reference value "R" and a public parameter "I"; obtaining a biometric reading "V" and a name "N" provided by a user and which serves as a password to-be-verified before access to a system is allowed to said user; fetching from said database said value "R" and said parameter "I" related to said name "N"; computing an approximate codeword "C'" from the exclusive-OR combination of said reading "V" and said value "R"; obtaining a secret codeword "C" that most nearly matches said approximate codeword "C'"; seeding a pseudo-random number generator with secret codeword "C" to obtain a secret exponent "i"; obtaining an exponent "j" from a random number generator; computing J=g i mod p, where "p" is a public modulus; and computing z=MD5 (J i mod p), where MD5 is a hashing function.
Claim 27
Dependent Claim 33 words
The computer-usable medium of claim 19 further performing the steps of: computing z'=MD5 (I j mod p); and comparing z to z'; wherein a match between z and z' indicates an authorized access.

References Cited (Backward Citations)

US5228094A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-03-14 2003-09-13 2004-03-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-03-14 2007-09-13 2008-03-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-03-14 2011-09-13 2012-03-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag