The invention generally relates to access security in computer and telecommunication networks, data systems, etc., using security codes like PINs etc., or by means of biometric data like fingerprints, facial scans, retina scans, etc.
The use of biometric methods for the identification of persons is growing and so the number of biometric methods used for that purpose does. In particular there might be significant advantages in many applications, including automatic teller machines (ATM's), home banking and e-commerce applications, to replace alphanumerical security codes by biometric items, since a user's biometric characteristic is always available, while a numerical security code might be forgotten or be obtained by a third party.
Though the techniques for biometric identification have matured, there are some problems. A major problem is the unwillingness of people to provide their personal biometric data for identification purposes. One reason for this is that people fear that a receiver or verifier of biometric data might misuse it. The second reason is the negative feelings in general associated with providing personal biometric data.
For entering a secured system, in most cases a not-secret user identifier (e.g. login name, account number) has to be entered (e.g. manually or by means of an ID card), to be followed by a secret security code (e.g. password, PIN code).
It is observed that in most cases there is no real need to have security codes which are absolutely unique over all other security codes. The uniqueness in fact is formed by the combination of each not-secret but certainly unique user identifier plus the secret but not pertinently unique security code.
One aspect of the present invention is to generate a security code for a user, entering a secure system or application, based on the users' (unique) biometric characteristics.
According to a further aspect of the invention, the security codes generated are certainly secret but need not to be absolutely unique for all users. This option prevents that each individual security code could be linked back to one individual person, which situation is inwanted. In such a way the privacy and psychological problems for the use of biometric identification could be taken away. Instead of linking back from the security code to one user, in this option only a link could be made from the relevant security code to a number of individual users, each of them applying the same security code, however in combination with different, unique user identifiers.
In
Firstly, the user may enter, via e.g. a data terminal, PC or card terminal 9, his/her user identifier (ID), which is input in system 8. Normally the ID is unique for the user or for a user group he/she belongs to, while normally the user ID is not-secret.
Module 3 serves for generating and outputting a secret security code or password after the user has input his/her user ID.
Module 3 comprises a control modul (CTR) 4, a database (DB) 5, a database controller (DBC) and a matching or comparing module (COMP) 7.
The database 5 contains a set of (e.g. 10,000) classes of fingerprint representations—having a format which is compatible (comparable, matchable) with the format of the input fingerprint representations (FPR)—comprising the whole scala of different fingerprints representations resulting from fingerprints originated by all kinds of users 1, via module 2. Each stored fingerprint representation class (FPCx) is linked to one stored security code (PWx). All security codes have to be secret.
After a fingerprint has been entered via module 2, under control of control module 4 the fingerprint representation, output by module 2, is compared (matched), by module 7, with all fingerprint representation classes stored in database 5. Module 7 matches the FPCs with the user's FPR using one of the matching algorithms which nowadays are in use in modern fingerprint recognizing systems.
After the matching module 7 finds one fingerprint representation class (FPCy) which matches best with the entered fingerprint representation (FPR), the database controller outputs the security code (PWy) which is linked to that matching fingerprint representation class (FPCy), which security code (PWy) is output to the secure access means of system 8.
It is noted that there are several methods for classifying en matching fingerprints, as discusse, for instance, in reference [1] in which fingerprints are classified—for sake of recognition—by way of a spatial re-sampling of each fingerprint pattern through concentric circles. The resulting circles are then correlated with those from a known set (comparable with the set stored in database 5) to obtain a collection of the most probable matches. This technique has shown good results when comparing other methods like binary test patterns or synthetic binary fingerprint images.
Further, it is noted that entering fingerprints in the embodiment of
Below, forming the set of fingerprint classes and the matching process is treated in a more mathematical approach. The following notations are used:
T denotes a set of 10,000 pre-defined (pseudo-) fingerprints.
F, G, and H denote three transformations, where F maps the set of all real fingerprints to the set S of all digital images of fingerprints,
G maps the set of all digital images of fingerprints to the set T of 10,000 pre-defined (pseudo-) fingerprints, and H maps the set T to the set of all 4-digits pins.
Let there be a metric M defined which defines a distance between any two fingerprints. We do not specify what M is, since there are numerous well-defined metrics that can be used. In one embodiment, M is the metric which measures the Cartesian distance between the n-tuples which measure a set of given fingerprint characteristics, where n is the number of characteristics.
The invention comprises a process of mapping a fingerprint to a given class of fingerprint. A small number of classes (e.g. 10,000) is meant to ensure that with very high probability the same given physical fingerprint will be mapped to the same pre-defined (pseudo-) fingerprint. Also we note that the set T shall be chosen in such a way so as to maximise the probability that F (an original fingerprint) is always (i.e. at the very time the original fingerprint is taken) mapped to the same pre-defined (pseudo-) fingerprint.
Note that a token may be used to contain all the 10000 pre-defined (pseudo-) fingerprints that comprise T.
The concatenation of the three functions, F, G, and H achieves the assignment of a 4 digit PIN to a real fingerprint. In particular F transforms a real fingerprint to a digital image. G transforms image to one of 10000 pre-defined (pseudo) fingerprints. H transform a pre-defined (pseudo-) fingerprint to a 4 digit PIN.
There are numerous ways to construct a function F. These are outside the scope of this document.
An example construction of G is as follows:
Let S be the set of all digital images of a real fingerprints.
Let us define for each digital image of a fingerprint in the set S a set of characteristics C—1, . . . , C_n. These characteristics measure different values of a real fingerprint (e.g. distances and directions). Thus for a given S—1 in S, once can construct the value C_i(S—1) for any i from 1 to n, and this yields a real numeric value.
In such a way for each S—1 in S, one can associate a real n-tuple C(S—1), which is namely C(S—1)=(C—1(S—1), C—2(S—1), . . . , C_n(S—1)).
This in turn defines a distance between any two elements in S, namely:
distance(S—1,S—2)=Cartesian distance(C(S—1), C(S—2)).
Using this distance, we can define G(S—1) to be that element in t in T for which distance (S—1, t) is minimal.
We note that given two elements S—1 and S—2 derived from the same original finger, their distance from each other will be comparatively low (in relation to digital prints taken from other fingers). Due to the small size of T (10,000) relative to S, this will ensure that these two elements S—1 and S—2 will always be mapped to the same element in T, provided that T is chosen so that
prob(G(S—1)≠G(S—2))
is minimised, where S—1 and S—2 are two elements of S derived from the same actual finger. This means that the set T must be constructed in such away that all pairs (T—1, T—2) from T have a mutually high distance (i.e. the Cartesian distance (C(T—1), C(T—2)) should be large for all pairs (T—1, T—2) from T).
The set T can be chosen in numerous ways. E.g. methods from error correcting code theory could be applied. We note that the choice of T is also dependent on the choice of the G. The function H may be constructed in many ways. One of the methods is to define an ordering of the 10,000 (pseudo-) fingerprints T—1, T—2, T—3, . . . , T—10000 in T based on their Cartesian distance to a fixed value T_f from (so order (T_i)=Cartesian distance (C(T_i), C(T_f)). The PIN values 0000-9999 are then assigned to in the thus defined order. But the PIN values may also be assigned in a random way to the elements of T.
As presented up here, the invention comprises a process of mapping an entered fingerprint to a given class of fingerprint. A relative small number of classes (e.g. 10000) is preferred to ensure that with high probability always the same entered fingerprint will be mapped to the same equivalence class. Hereafter a preferred method is discussed to optimize the set of 10000 classes.
1. An initial, not-optimized set of classes T is made up, comprising classes T1, T2, . . . , T10000 respectively.
2. A sample set of fingerprint representations is obtained by taking a random sample of fingerprints entered by several users or by using a standards set commercially available. This sample set comprises e.g. 100 samples, denoted by S1, S2, . . . , S100.
3. A known, commercially available image recognition program may be used, comprising a known matching algorithm. The program's algorithm begins by searching for a match of S1 to one of the classes of set T. Once a match is found, the program continues with searching for a match of S2 to one of the classes T1 . . . T10000, after that with a search to a match of S3 to one the calsses etc. etc. In this way each of the samples S1 to S100 is matched to one class from the set of classes T.
4. The process under 3. is executed for a second set of fingerprint representations S1′, S2′, . . . , S100′. The process depicted under 3. is carried out: S1′, S2′, . . . , S100′ is matched, by the matching program with the set of fingerprint classes T resulting in each of the samples S′1 to S′100 being matched to one class from the set of classes T.
5. The process under 3. may be carried out another time or still more times.
6. At this stage the set T is assigned an evaluation value e.g. based on number of times that corresponding representations (S1-S1′-S1″- . . . , S2-S2′-S2″- . . . , etc.) lead to different matching classes, e.g. the corresponding fingerprint representations S2 and SS2″ match with class T32, while representation S2′ matches with class T33.
7. Subsequently one or more new class sets T′, T″, etc. are generated, preferrably by adaptation of the previous set of classes at those points where corresponding fingerprint representations lead to different matching results (e.g. classes T32/33, see up here) to which in the same way evaluation values are assigned; the set having the lowest value is deemed to be the wanted optimized set of classes.
1. David H. Chang, Fingerprint Recognition Through Circular Sampling, 1999 Center for Imaging Science Rochester Institute of Technology Rochester, N.Y. 14623-5604.
Number | Date | Country | Kind |
---|---|---|---|
01204519.1 | Nov 2001 | EP | regional |
01204569.6 | Nov 2001 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP02/12353 | 11/4/2002 | WO |