The present invention relates to a method and a system of securely computing a measure of similarity for at least two sets of data. A basic idea of the present invention is to securely compare two sets of encrypted data to determine whether the two sets of data resemble each other to a sufficient extent. If the measure of similarity complies with predetermined criteria, the two sets of data from which the encrypted sets of data originate are considered to be identical.
|
1. A method of securely computing a measure of similarity for at least two sets of data, the method comprising:
obtaining a first set of encrypted data and a first set of plaintext data;
encrypting the first set of plaintext data, wherein a second set of encrypted data is created;
computing, based on in part the first set of encrypted data and in part the second set of encrypted data, a measure of similarity for said first and second set of encrypted data;
providing a publicly verifiable proof that the encrypted sets of data and the measure of similarity have been correctly computed;
determining whether the measure of similarity complies with a predetermined criteria;
wherein the data employed is extracted from a biometric feature of an individual, and the encryption performed comprises homomorphic encryption.
7. A system for securely computing a measure of similarity for at least two sets of data, the system comprising:
a verifying device arranged to obtain a first set of encrypted data; and an authenticating sensor arranged to extract a first set of plaintext data from an individual and to encrypt the first set of plaintext data, wherein a second set of encrypted data is created; wherein said verifying device and said authenticating sensor are arranged to jointly compute, based on in part the first set of encrypted data and in part the second set of encrypted data, a measure of similarity for said first and second set of encrypted data;
said authenticating sensor further being arranged to provide a publicly verifiable proof that the encrypted sets of data and the measure of similarity have been correctly computed, and to determine whether the measure of similarity complies with a predetermined criteria;
wherein the data employed is extracted from a biometric feature of an individual, and the encryption performed comprises homomorphic encryption.
2. The method in accordance with
3. The method in accordance with
4. The method in accordance with
5. The method according to
6. The method according
8. The system according to
9. The system according to
10. The system in accordance with
11. The system in accordance with
12. The system in accordance with
13. The system in accordance with
14. A non-transitory computer readable medium for storing a computer program comprising computer-executable components for causing a device to perform the steps recited in
|
The present invention relates to a method and a system of securely computing a measure of similarity for at least two sets of data.
Authentication of physical objects may be used in many applications, such as conditional access to secure buildings or conditional access to digital data (e.g. stored in a computer or removable storage media), or for identification purposes (e.g. for charging an identified individual for a particular activity, or even for entering a country). The use of biometrics for identification and/or authentication, wherein features that are unique to a user such as fingerprints, irises, ears, faces, etc. are used, is to an ever increasing extent considered to be a better alternative to traditional identification means such as passwords and pin-codes, and “manual” identification involving visual comparison between an individual and, for example, a photo. In the future, it is possible that conventional passports, which require manual identification by a customs officer, will be replaced by electronic passports employing biometric features.
The biometric features are compared to reference data. If a match occurs, the user is identified and can be granted access. The reference data for the user has been obtained earlier and is stored securely, e.g. in a secure database or smart card. The physical object to be authenticated may also be non-human. For example, the object may be a storage medium like a CD, a DVD or a solid-state memory containing protected digital content. In that case, biometrics is not necessarily used, but in an analog manner, some identifying feature (in the form of e.g. a bit sequence) that should be kept secret is provided and compared to the corresponding reference data.
In authentication, the user claims to have a certain identity and an offered biometric template is compared with a stored biometric template that is linked to the claimed identity, in order to verify correspondence between the offered and the stored template. In identification, the offered biometric template is compared with all stored available templates, in order to verify correspondence between the offered and stored template. For security reasons, it is important to develop methods to derive secrets from (generally noisy) biometric measurements. It should be noted that biometric data is a good representation of the identity of an individual, and unauthenticated acquirement of biometric data associated with an individual can be seen as an electronic equivalent of stealing the individual's identity. After having acquired appropriate biometric data identifying an individual, the hacker may impersonate the individual whose identity the hacker acquired. Moreover, biometric data may contain sensitive and private information on health conditions. Hence, the integrity of individuals employing biometric authentication/identification systems must be safeguarded.
As biometrics provides sensitive information about an individual, there are privacy problems related to the management and usage of biometric data. For example, in prior art biometric systems, a user must inevitably trust the biometric systems completely with regard to the integrity of her biometric template. During enrollment—i.e. the initial process when an enrolment authority acquires the biometric template of a user—the user offers her template to an enrolment device of the enrolment authority which stores the template, possibly encrypted, in the system. During verification, the user again offers her template to the system, the stored template is retrieved (and decrypted if required) and matching of the stored and the offered template is executed. Cryptographic techniques to encrypt or hash the biometric templates and perform the verification (or matching) on the encrypted data such that the real template is never available in the clear can be envisaged. However, cryptographic functions are intentionally designed such that a small change in the input results in a large change in the output. Due to the very nature of biometrics and the measurement errors involved in obtaining the offered template as well as the stored template due to noise-contamination, the offered template will never be exactly the same as the stored template and therefore a matching algorithm should allow for differences between the two templates, i.e. a biometric authentication/verification scheme has to be intrinsically robust to noise. This makes verification based on encrypted templates problematic.
ID613356 (NL030552, WO IB2004/0506, EP03101453.3) proposes an approach of performing biometric authentication in a secure and private way. This scheme employs a helper data scheme, which enables robustness to noise. In order to combine biometric authentication with cryptographic techniques, helper data is derived during the enrolment phase. The helper data guarantees that a unique string can be derived from the biometrics of an individual during the authentication as well as during the enrolment phase. Since the helper data is stored in a database, it is considered to be public. In order to prevent impersonation, reference data which is statistically independent of the helper data, and which reference data is to be used in the authentication stage, is derived from the biometric. In order to keep the reference data secret, the reference data is stored in hashed form. In this way impersonation becomes computationally infeasible. A problem with the approach of ID613356 is that it still leaks information about the original biometrics identifier to a possibly malicious verifier.
An object of the present invention is to provide a secure cryptographic scheme for comparing two sets of data to determine whether they resemble each other to a certain extent, without having to access plain text versions of two data sets.
The object of the present invention is attained by a method of securely computing a measure of similarity for at least two sets of data in accordance with claim 1 and a system for securely computing a measure of similarity for at least two sets of data in accordance with claim 8.
A basic idea of the present invention is to securely compare two sets of data to determine whether the two sets of data resemble each other to a sufficient extent. Typically, a measurement of a biometric feature is represented (after initial processing) as a sequence of bits, i.e. a long series of 0's and 1's. A well-known prior art example of such a bit sequence is the IrisCode®; a measurement is performed on an eye of an individual, the features of the iris are encoded into a 512 byte IrisCode record for enrolment or recognition. The resulting IrisCode record is compared to every IrisCode record enrolled in a database for recognition. Generally in a biometric identification scheme, the main task is to decide whether two sequences X, Y belong to the same person or not. The probability that two measurements of the same biometric identifier, i.e. the biometric feature pertaining to a specific individual, result in completely identical sequences (i.e. X=Y) is negligible. However, if X and Y are indeed the measurements of the same biometric identifier, they are similar. Hence, a biometric identification system must be capable of deciding to which extent X and Y resemble each other. Note that, as previously mentioned, the physical object to be authenticated may alternatively be non-human. For example, the object may be a storage medium like a CD, a DVD or a solid-state memory containing protected digital content. In that case, biometrics is not necessarily used, but in an analog manner, some identifying feature (in the form of e.g. a bit sequence) that should be kept secret is provided and compared to the corresponding reference data.
A common approach employed in biometric identification systems is to compute a so called Hamming distance dH(X, Y), i.e. the number of mismatches between the vector X=(x1, . . . , xn) and the vector Y=(y1, . . . , yn). The Hamming distance is defined as:
Due to the fact that binary vectors are employed, the Hamming distance may be expressed as:
If this distance is considered sufficiently small, X and Y are deemed identical. Typically, “sufficiently small” implies that the value of the Hamming distance for two measurements of a biometric feature lies below a predetermined threshold value. For example, in IrisCode, the Hamming distance must be smaller than 20% of the total vector length n. Hence, if the vectors comprise 6 bits, there may only be a mismatch of one bit when comparing X to Y, or the two vectors will be considered not to be identical. In order to compute the Hamming distance (or any other measure of similarity) in prior art identification systems, the measurements (i.e. X and Y) of the biometric features must be revealed.
The invention described in the present application specifies a scheme for computing a similarity measure (e.g. the Hamming distance) between an encrypted copy of X, E(X), and an encrypted copy of Y, E(Y). The proposed scheme only reveals whether the similarity measure is above or below a predetermined threshold value, and no other information pertaining to the plaintext representations X, Y of the measured biometric identifier.
The scheme provides secure computation of a defined measure of similarity between two vectors X and Y representing the measurement of a biometric feature, and decides a relation between the similarity measure and the predetermined threshold value, without revealing the plaintext representations, X and Y, of the measured biometric identifier. In the following, it is assumed that the similarity measure is given by the Hamming distance dH(X, Y) defined above. However, other similarity measures may be employed.
In order to perform the computations, a homomorphic threshold encryption system, such as e.g. Paillier or El Gamal, is used. The term “homomorphic” implies that E(x+y)=E(x)E(y). The term further implies that E(x)a=E(x*a) for any x and a. An encryption of a parameter x is denoted by Epk(x), where “pk” denotes public key encryption. Thus, a user and a verifier have access to the same public key pk. Further, the user and the verifier each has access to a share of a corresponding private key. The shares of the private key are used for decryption.
The user may carry her share with her (e.g. on a smart card) or the share may be stored in a sensor of the biometric identification system with which the user interacts. During enrolment, a sequence of bits X representing a biometric identifier, which sequence is assumed to comprise a binary string of length n, i.e. X=(x1, . . . , xn), is captured and encrypted with the common public key pk: Epk(X)=(Epk(x0), . . . , Epk(xn)) at the sensor. This is typically performed on a bit-by-bit basis. The entries xi can be represented as binary strings through the following representation:
The string Epk(X) is then passed on to the verifier, which stores the string. Note that the verifier cannot decrypt Epk(X), as the verifier only has access to his share of the private key, and not to the share of the user. Hence, the plaintext representation X of the biometric identifier remains hidden for the verifier.
During authentication, a noisy representation Y of the biometric identifier is obtained at a sensor of the system. Note that this sensor not necessarily is the same as the sensor with which enrolment was performed. Typically, the authentication sensor is remote from the enrolment sensor. For example, the enrolment—which is performed only once—may be made at an enrolment authority in the form of any DVD/video store comprised in a greater chain of stores, while authentication typically is performed at a specific store at which the user rents a DVD. This store may be viewed upon as the actual verifier, at which the user is to be authenticated. The process of authenticating the user is performed every time she rents a DVD at the store. This authenticating sensor encrypts Y with the common public key pk; Epk(Y)=(Epk(y1), . . . , Epk(yn)).
Now, a secure protocol will be run to find out whether dH(X, Y)<T, where T is a predetermined threshold value, without revealing any other information with respect to X and Y. Now, Epk(dH(X, Y)) is securely computed as follows:
In order to perform this computation, the verifier sends Epk(xi) to the authenticating sensor, where secure computation is undertaken. The authenticating sensor computes Epk(yi) and Epk(2xiyi)=Epk(xi)2yi and a proof which is arranged to show that encrypted output data is correct. Hence, at the authenticating sensor, a first set Epk(X) of encrypted data (received from the enroller) and a first set Y of plaintext data are obtained. The first set Y of plaintext data is then encrypted to create a second set Epk(Y) of encrypted data. Further, the authenticating sensor provides the proof, which may be publicly verified, that the second set Epk(Y) of encrypted data in fact was created by encrypting the first set Y of plaintext data with the public key pk.
Then, the authenticating sensor publishes Epk(yi) and Epk(2xiyi) and the proof, and the verifier checks the proof. Finally, the verifier—which contributes with Epk(xi)—and the authenticating sensor together compute Epk(dH(X, Y)) using equation (3), taking advantage of the homomorphic properties of the encryption system. Consequently, based on in part the first set Epk(xi) of encrypted data and in part the second set Epk(yi) of encrypted data, a measure of similarity Epk(dH(X, Y)) is computed for said first and second set of encrypted data.
Finally, a secure computation of whether dH(X, Y)>T must be made. Computations described in the above yield Epk(dH(X, Y)), i.e. the encryption of the Hamming distance dH(X, Y). In order to check whether dH(X, Y)>T, the authenticating sensor and the verifier will run a two-party protocol. Given the representation Epk(dH(X, Y)), the so called Millionaires protocol may for example be used to find out whether dH(X, Y)>T. Then, the outcome of the comparison is the only information that is revealed.
At this stage, the encrypted bits representing the Hamming distance between X and Y have been computed. Note that neither one of the parties can decrypt this information. The last stage of the protocol is the comparison with a given threshold value T. In fact, even the threshold value may be encrypted (on a bit-by-bit-basis) and may be unknown to both parties.
The secure computation relating to whether dH(X, Y)>T, given E(dH(X, Y)) and E(T), may be performed in many different ways. For example, the protocols developed in “Practical Two-Party Computation based on the Conditional Gate” by B. Schoenmakers and P. Tuyls, Asiacrypt 2004, LNCS Springer-Verlag 2004 may advantageously be used.
The scheme of the present invention combines the advantages of strong cryptography with a possibility to compare similar, but nevertheless different objects, which typically are corrupted by noise. The scheme introduces private and secure biometric authentication which reveals no information pertaining to the original biometric features, under the assumption that the used public key encryption system is secure. It provides protection security against a malicious verifier.
An additional feature of this invention is the fact that common biometric authentication techniques may be employed, but in a secure manner, i.e. under encryption. The computation of the measure of similarity may be outsourced to powerful servers in a secure manner, i.e. the servers obtain no information about the biometric template. For the computations, the sensor needs no secret key, only a public key (although the sensor may have a secret key for authentication purposes). Further, if the sensor (or the verifier) is attacked, no crucial information can be obtained and the privacy of the user is thus not compromised. The similarity measure used can be chosen rather freely and can easily be updated without modifying the existing sensor which is used. A further advantage is provided in that the computations may be publicly verified.
Note that even though the present invention has been described in an exemplifying manner by computing a measure of similarity for two sets of data, it is realized by a skilled person that the computation may be extended to further sets of data. In that case, other measures than just the Hamming distance may have to be employed. For instance, it is possible to use a maximum or average distance between the sets of data for which the measure of similarity are computed, or the edit distance, the so called l1 distance etc.
In accordance with an embodiment of the present invention, the proof is computed as follows. Given the private key α=logg h, decryption is performed by calculating b/aα, which is equal to gm for some message mεZq. Encryptions are computed by means of a common public key h while decryptions are done using a joint protocol between parties, each party possessing a share of the private key α=logg h. The parties obtain their share by running a distributed key generation protocol.
Distributed key generation is achieved by having parties P1, P2 (e.g. the sensor and the verifier) first broadcast commitments ci=gαihri, with αi, riεZq for i=1, 2, and then broadcast the values ri along with proofs of knowledge of logg hi, where hi=ci/hri for i=1, 2. The joint public key is h=h1h2, with private key α=α1+α2. To decrypt an encryption (a, b), party Pi produces di=aαi, along with a proof that loga di=logg hi, i.e. a proof being arranged to show that the encrypted output data is correct without revealing information about the plaintext copies of the representations of the biometric identifiers. The message is then recovered from b/(a1a2).
Further features of, and advantages with, the present invention will become apparent when studying the appended claims and the following description. Those skilled in the art realize that different features of the present invention can be combined to create embodiments other than those described in the following.
The present invention will be described in detailed with reference made to the attached drawings, in which:
The string Epk(X) is passed on to the verifier 211, which stores the string. The verifier 211 also typically contains a DSP, even though it is not shown in
The authenticating sensor 208 computes Epk(yi) and Epk(2xiyi)=Epk(xi)2yi and a proof which is arranged to show that encrypted output data is correct. Hence, the authenticating sensor provides a proof, which may be publicly verified, that the second set Epk(Y) of encrypted data in fact was created by encrypting the first set Y of plaintext data with the public key pk. Then, the authenticating sensor 208 publishes Epk(yi) and Epk(2xiyi) and the proof, and the verifier 211 checks the proof. Finally, the verifier—which contributes with Epk(xi)—and the authenticating sensor together compute Epk(dH(X, Y)) as previously described, taking advantage of the homomorphic properties of the encryption system.
Finally, a secure computation of whether dH(X, Y)>T must be made. Computations described in the above yield Epk(dH(X, Y)), i.e. the encryption of the Hamming distance dH(X, Y). In order to check whether dH(X, Y)>T, the authenticating sensor 208 and the verifier 211 will run a two-party protocol. If the value of the Hamming distance lies below the threshold T, the individual will be given access to the system, which is indicated by path 212. Note that in
The present invention is advantageous, in addition to advantages already mentioned, since it enables outsourcing of computations, which gives additional flexibility for the design of sensors, etc. Further, computational load can be shifted from the sensors to, for instance, a server (not shown) at which the computations are performed.
It is assumed that the sensor(s) contain only a (joint) public key, and hence no secrets, and the server(s) contain a corresponding secret key. In case only one single server is employed, a first outsource algorithm may be employed. In case several servers are used, the secret key is shared by means of a secure sharing scheme amongst those servers. In that case, a second outsource algorithm may be used.
In addition to access control, a cryptographic key K may be derived from biometric data. The key is only released when the biometric template of the person at the sensor matches the template stored in the reference database. Briefly, this can be done as follows. Let s=1 if X matches Y and s=0 otherwise. Further, assume that the outcome of the matching computation gives the encryption of s, i.e. E(s). The key K can be released as follows; given E(K) and E(s), the concerned parties compute the encryption E(r) of a jointly generated random number r, and together compute E(K+r(s−1)). This value is then decrypted by using threshold decryption. Clearly, in the case the biometric templates X and Y match, the decryption releases the key K. If the templates do not match, a random string K−r is obtained.
Even though the invention has been described with reference to specific exemplifying embodiments thereof, many different alterations, modifications and the like will become apparent for those skilled in the art. The described embodiments are therefore not intended to limit the scope of the invention, as defined by the appended claims. Instead of a DSP, a generic processing element can be used.
Van Dijk, Marten Erik, Schoenmakers, Berry, Tuyls, Pim Theo, Verbitskiy, Evgeny
Patent | Priority | Assignee | Title |
10559049, | Apr 19 2016 | International Business Machines Corporation | Digital passport country entry stamp |
11115203, | May 17 2018 | BADGE INC | System and method for securing personal information via biometric public key |
11122078, | Aug 14 2020 | Private Identity LLC | Systems and methods for private authentication with helper networks |
11138333, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11170084, | Jun 28 2018 | Private Identity LLC | Biometric authentication |
11210375, | Mar 07 2018 | Private Identity LLC | Systems and methods for biometric processing with liveness |
11265168, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11295758, | Mar 20 2020 | Seagate Technology LLC | Trusted listening |
11362831, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11392802, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11394552, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11489866, | Mar 07 2018 | Private Identity LLC | Systems and methods for private authentication with helper networks |
11502841, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11640452, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11677559, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
11762967, | Mar 07 2018 | Private Identity LLC | Systems and methods for biometric processing with liveness |
11783018, | Jun 28 2018 | Private Identity LLC | Biometric authentication |
11789699, | Mar 07 2018 | Private Identity LLC | Systems and methods for private authentication with helper networks |
11790066, | Aug 14 2020 | Private Identity LLC | Systems and methods for private authentication with helper networks |
11804959, | May 17 2018 | Badge Inc. | System and method for securing personal information via biometric public key |
11943364, | Mar 07 2018 | Private Identity LLC | Systems and methods for privacy-enabled biometric processing |
8972742, | Sep 06 2010 | Gradiant | System for secure image recognition |
9247024, | Apr 12 2007 | INTRINSIC ID B V | Controlled activation of function |
9729525, | Jun 29 2015 | EMC IP HOLDING COMPANY LLC | Secure data analytics |
9870458, | Dec 02 2015 | Fujitsu Limited | Concealed data matching device, concealed data matching program, and concealed data matching method |
9876790, | Jun 27 2014 | Fujitsu Limited | Secret data matching device, computer-readable recording medium storing program for updating secret data, and secret data updating method |
9906511, | Jun 29 2015 | Bar-Ilan University; EMC IP Holding Company, LLC | Secure impersonation detection |
9917820, | Jun 29 2015 | EMC IP HOLDING COMPANY LLC | Secure information sharing |
Patent | Priority | Assignee | Title |
6697947, | Jun 17 1999 | GOOGLE LLC | Biometric based multi-party authentication |
6772339, | Mar 13 2000 | WSOU Investments, LLC | Mix and match: a new approach to secure multiparty computation |
20030133566, | |||
20050008152, | |||
20070116283, | |||
20080065900, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 09 2005 | Koninklijke Philips Electronics N.V. | (assignment on the face of the patent) | / | |||
Aug 07 2008 | TUYLS, PIM THEO | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021366 | /0592 | |
Aug 07 2008 | VERBITSKIY, EVGENY | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021366 | /0592 | |
Aug 07 2008 | SCHOENMAKERS, BERRY | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021366 | /0592 | |
Aug 07 2008 | VAN DIJK, MARTEN ERIK | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021366 | /0592 |
Date | Maintenance Fee Events |
Mar 29 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 24 2020 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 19 2024 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Oct 02 2015 | 4 years fee payment window open |
Apr 02 2016 | 6 months grace period start (w surcharge) |
Oct 02 2016 | patent expiry (for year 4) |
Oct 02 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 02 2019 | 8 years fee payment window open |
Apr 02 2020 | 6 months grace period start (w surcharge) |
Oct 02 2020 | patent expiry (for year 8) |
Oct 02 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 02 2023 | 12 years fee payment window open |
Apr 02 2024 | 6 months grace period start (w surcharge) |
Oct 02 2024 | patent expiry (for year 12) |
Oct 02 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |