The present application claims priority from Japanese Patent Application Serial No. 2007-230899 filed on Sep. 6, 2007, the content of which is hereby incorporated by reference into this application.
1. Field of the Invention
The present invention relates to a technology of authenticating an individual using a biometric feature every human has.
2. Description of the Related Art
A user authentication system based on biometric information obtains biometric information of a user in a registration processing, extracts information referred to as a feature from the biometric information, and registers the extracted feature therein. The registered feature is called a template. In an authentication processing, the system obtains the biometric information from the user again, extracts the user's feature, and compares the newly-obtained feature against the already-registered template to thereby verify identity of the user. If a server authenticates a user based on biometric information of the user who is connected to the server via a network and is on a client side, the server typically holds a template. In the authentication processing, a client terminal obtains biometric information of the user, extracts the use's feature, and transmits the feature to the server. The server compares the received feature with the already-registered template to thereby verify identity of the user.
A template is information by which an individual can be identified. This means that the template needs to be strictly managed as personal information and thereby requires a high management cost. Even if the template is managed with strict security, many people are still psychologically reluctant to register a template because of concerns about leak of their personal information. Additionally, variations of one type of biometric information that one user has are limited. For example, a fingerprint authentication typically has only ten variations as a user has ten fingers in general. This means that, if the template is leaked and is put at risk of being forged, authentication based on the biometric information cannot be used any more, because such a template can not be easily changed to another, unlike authentication based on a password or an encryption key. Further, if biometric information of the same kind is registered in plural different systems, and is leaked from one of the systems, the other systems are likewise put at risk.
A method for solving the above described problems is to encrypt biometric information and then transmit the encrypted biometric information to an authentication server. However, the method requires decoding of the encrypted biometric information in the authentication processing. This still makes it difficult to block a leak of the template from a sophisticated attack or a leak intentionally made by a server administrator. The method fails to have a sufficient measure against personal information leak.
N. K. Ratha, J. H. Connell, R. M. Bolle, “Enhancing security and privacy in biometrics-based authentication systems”, IBM Systems Journal, Vol. 40, No. 3, 2001, discloses a method in which: in a registration processing, a feature of biometric information is transformed by a given function and a secret parameter held by a client, and the transformed feature is stored in a server as a template of which original information is kept confidential; and, in an authentication processing, a feature of the biometric information is newly extracted by the client, the extracted feature is transformed with the same function and parameter as those used in the registration processing, the transformed feature is transmitted to the server, and the received feature is compared with the template both in transformed states by the server. This method is also called a cancelable biometric authentication. The server can authenticate the biometric information but cannot know its original feature, because the client holds the parameter in secret. This allows personal information of the user to be protected. Even if the template is leaked, the user's personal information can still be protected by creating and reregistering another template using a different transformation parameter.
If a cancelable biometric authentication system is configured by a plurality of servers each of which is provided by different service providers, a configuration of the system may be as follows. A single kind of biometric information and a single unit of sensor for obtaining the biometric information are used in the system so as to reduce cost of introducing a plurality of sensors. Biometric information is registered for each service provider, which prevents the biometric information from being known to each other. The registered biometric information is stored as a template in a server of each service provider. In the registration, parameters generated by a client are different for each service provider and are stored in a tamper resistant device (a storage medium) owned by a user. In authentication, a parameter corresponding to a desired service is read from the tamper resistant device to the client. The read parameter is used to send a transformed feature to a corresponding server, to thereby conduct authentication. Another method of realizing a cancelable biometric authentication system available to a plurality of servers is disclosed in James L. Cambier, Ulf M. Cahn von Seelen, Randal Glass, Russell Moore, Ian Scott, Michael Braithwaite, John Daugman, “Application-Specific Biometric Templates”, IEEE Workshop on Automated Identification Advanced Technologies, Tarrytown, N.Y., March, 2002, P167-171. In the method, a server dedicated to transforming a template creates a template for each authentication server.
However, in constructing the cancelable biometric authentication system available to a plurality of servers, the above configurations based on the “Enhancing security and privacy in biometrics-based authentication systems” or the “Application-Specific Biometric Templates” have problems as follows.
One problem is that registration of biometric information lays a large burden on both a user and a service provider in those systems. For example, every time a user wants to use a new service, the user needs to go to a contact point for registration of a service provider providing the desired service, because biometric information is registered for each service provider. The service provider, in turn, needs to operate and maintain the contact point for registration. Further, the user needs to take a necessary procedure for registration, such as presenting an ID card, to verify identity of the user. The service provider also needs to install equipment for preventing fraudulent activity such as impersonation, for strictly verifying user's identity.
Another problem is that an available memory of a tamper resistant device should be large in those systems. Since different service providers have different parameters, the more service providers a user uses, the more parameters the tamper resistant device of the user stores. Thus an existing tamper resistant device may run short of memory.
The present invention has been made in an attempt to provide a cancelable biometric authentication system, in which a client terminal of a user is connected to a plurality of authentication servers, which can reduce a burden in registering biometric information and can eliminate a need of a larger memory of a storage medium, as described above.
In a cancelable biometric authentication system, a template sharing processing is performed. In the processing, of two authentication servers, one server completes registration of a template, and then transfers the template to the other that has not yet registered the template. Herein, the template is referred to as being shared between the two authentication servers. That is, the other authentication server which receives the template from one authentication server is no longer required to register the template. Thus a burden of registration is reduced. The template transferred from one authentication server to the other is called a temporary template and is different from the template that one authentication server has already stored therein. This prevents the template stored in one authentication server from being known to the other and ensures information security.
In the cancelable biometric authentication system, a client terminal generates a parameter from a single master key stored in a storage medium owned by a user and a random number managed by an authentication server. This allows the storage medium to store therein only the single master key.
With reference to attached drawings, the exemplary embodiment of the present invention is described in detail below.
In a biometrics authentication system according to the embodiment is described assuming the following. To simplify description, two authentication servers, namely, a first authentication server and a second authentication server are provided for each service provider. A user inputs a finger vein image into a client terminal and presents his/her tamper resistant device (a storage medium). The authentication server verifies a finger vein while keeping a feature thereof secret.
In the embodiment, mainly described are four processings, namely, a (user) registration processing, a template sharing processing, an authentication processing, and a template update processing.
In the registration processing, following steps are executed. Herein, description is made assuming that a user registration is performed in the first authentication server. A user inputs his/her biometric information into a sensor connected to a client terminal. The client terminal extracts a feature of the inputted biometric information. The client terminal then generates a master key (key data capable of generating a parameter corresponding to each authentication server) and stores the master key in a tamper resistant device. The first authentication server generates a random number and sends the random number to the client terminal. The client terminal generates a parameter from the random number received from the first authentication server and the master key in the tamper resistant device. The client terminal transforms the feature with the parameter and sends the transformed feature to the first authentication server. The first authentication server registers both the received transformed feature (a transformed feature for comparison) and the random number as a template.
In the template sharing processing, following steps are executed. Herein, description is made assuming that the template is transferred from the first authentication server to a second authentication server (the other authentication server). The client terminal generates two parameter differences, namely, a first and a second parameter deference. The client terminal sends the first parameter difference (or a first difference parameter) to the first authentication server and sends the second parameter difference (or a second difference parameter) to the second authentication server. The first authentication server transforms the already-received template with the received first parameter difference to thereby create a temporary template. The first authentication server sends the temporary template to the second authentication server. The second authentication server transforms the received temporary template with the second parameter difference to thereby create another template. This allows the first authentication server to transfer the transformed template to the second authentication server with security while keeping the template managed by itself secret without outputting it outside. Template sharing herein means that one authentication server transfers a template managed by itself to another authentication server, which, in turn, creates its unique template managed by itself, using the received template.
In the authentication processing, following steps are executed. Herein, description is made assuming that an authentication is performed in the first authentication server. The user inputs biometric information into a sensor connected to the client terminal. The client terminal extracts a feature from the biometric information. The first authentication server sends the random number included in the already-registered template to the client terminal. The client terminal generates a parameter from the random number received from the first authentication server and the master key in the tamper resistant device. The client terminal transforms the feature with the parameter and sends the transformed feature to the first authentication server. The first authentication server compares the received transformed feature with the transformed feature included in the template to determine identity of the user.
In the template update processing, following steps are executed. Herein, description is made assuming that update of the template is performed in the first authentication server. The first authentication server generates a first random number and sends the first random number and a second random number included in the already-registered temperature to the client terminal. The client terminal generates a parameter difference from the first and second random numbers and sends the parameter difference to the first authentication server. The first authentication server transforms the template with the parameter difference to thereby create a new template, thus allowing the template to be updated.
Next is described in detail configuration of a cancelable finger vein authentication system according to the embodiment with reference to
The cancellable finger vein authentication system according to the embodiment includes a first authentication server 100, a second authentication server 110, a client terminal 120, a finger vein sensor 130, a tamper resistant device 140, and a network 150. The first authentication server 100, second authentication server 110, and client terminal 120 are each connected to the network 150. The client terminal 120 is also connected to the finger vein sensor 130 and tamper resistant device 140.
The first authentication server 100 stores templates of all users via a registration processing. In an authentication processing, the first authentication server 100 compares a transformed feature sent from the client terminal 120 with another transformed feature included in a template of a user of interest. In a template sharing processing, the first authentication server 100 receives a parameter difference from the client terminal 120, creates a temporary template therefrom, and sends the temporary template to the second authentication server 110. The second authentication server 110 having received the temporary template receives another parameter difference from the client terminal 120, creates another template therefrom, and registers the template. In a template update processing, the first authentication server 100 receives a parameter difference from the client terminal 120 and updates the template using the parameter difference.
The first authentication server 100 is embodied by a commonly used computer. Such a computer may include hardware resources, for example, an input unit 100a implemented with a keyboard or a mouse, a control unit 100b implemented with a CPU (Central Processing Unit), a storage unit 100c implemented with a RAM (Random Access Memory) for reserving a storage area for developing data to be read or written or with an HDD (Hard Disk Drive), and an output unit 100d implemented with a display or a printer. The control unit 100b reads out a program for executing processings such as the authentication processing, which will be described later, from a recording medium for an authentication server such as a ROM (Read Only Memory).
The first authentication server 100 is installed by a service provider for providing a user with a specific service and is usually preinstalled with an application executed for providing the service. However, it is optional that the first authentication server 100 is preinstalled with such an application, description of which is thus omitted from the embodiment.
The second authentication server 110 operates similarly to the first authentication server 100. So do the input unit 110a, control unit 110b, storage unit 110c, and output unit 110d included in the second authentication server 110, to the input unit 100a, control unit 100b, storage unit 100c, and output unit 100d included in the first authentication server 100, respectively.
In the registration processing, the client terminal 120 generates a master key and then generates a parameter from the master key and a random number obtained from the first authentication server 100. The client terminal 120 also obtains an image of finger veins of a user from the finger vein sensor 130, extracts a feature from the image, and transforms the feature with a parameter. The client terminal 120 sends the transformed feature to the first authentication server 100 and registers the transformed feature therein. The client terminal 120 writes the master key in the tamper resistant device 140. In the authentication processing, the client terminal 120 reads out the master key from the tamper resistant device 140 and generates a parameter therefrom. The client terminal 120 also obtains an image of finger veins of a user, extracts a feature from the image, and transforms the feature with the parameter. The client terminal 120 sends the transformed feature to the first authentication server 100, in which the two transformed features are compared with each other. In the template update processing, the client terminal 120 generates a parameter difference and sends the parameter difference to the first authentication server 100.
The client terminal 120 is embodied by a commonly used computer. Such a computer may include hardware resources, for example, an input unit 120a implemented with a keyboard or a mouse, a control unit 120b implemented with a CPU, a storage unit 120c implemented with a RAM for reserving a storage area for developing data to be read or written or with an HDD, and an output unit 120d implemented with a display or a printer. The control unit 120b reads out a program for executing processings such as a processing of extracting a feature from biological information of a user, which will be described later, from a recording medium for a client terminal such as a ROM.
The finger vein sensor 130 irradiates near-infrared light to a finger of a user and takes an image of veins of the finger which is obtained via the light transmitted through the finger. The taken finger vein image is sent to the client terminal 120.
The tamper resistant device 140 is a recording medium for storing a master key. The tamper resistant device 140 is embodied by, for example, an Smart card connectable to the client terminal 120 and having tamper resistance. In the registration processing, the tamper resistant device 140 receives the master key from the client terminal 120 and stores the master key therein. In the template sharing processing, authentication processing, and template update processing, the tamper resistant device 140 outputs the master key upon request of the client terminal 120.
Next is described a functional configuration of the first authentication server 100 with reference to
The first authentication server 100 includes a comparison unit 101, a communication unit 102, a transformation unit 103, a random number generation unit 104, and a template storage unit 105.
In the registration processing, the random number generation unit 104 generates a random number r1. The communication unit 102 sends the generated random number r1 to the client terminal 120 (see
In the authentication processing, the template storage unit 105 reads out the template (r1, K1F) using a user ID number of a user of the client terminal 120 who has requested to execute his/her authentication. The communication unit 102 sends the random number r1 to the client terminal 120. The comparison unit 101 receives the transformed feature K1G from the client terminal 120 via the communication unit 102. The comparison unit 101 compares K1G with K1F, to thereby determine the user's identity.
In the template sharing processing, the template storage unit 105 reads out the template (r1, K1F) to obtain the random number r1. The random number generation unit 104 generates the random number r′1. The communication unit 102 sends r1 and r′ to the client terminal 120. The transformation unit 103 receives a parameter difference (a first difference parameter) ΔK1 from the client terminal 120 via the communication unit 102. The transformation unit 103 then transforms K1F with the parameter difference ΔK1 to create a temporary template (r′, K′F). The communication unit 102 sends the created temporary template (r′, K′F) to the second authentication server 110.
In the template update processing, the random number generation unit 104 generates the random number r1′. The template storage unit 105 reads out the template (r1, K1F) and sends r1 and r′ to the client terminal 120 via the communication unit 102. The transformation unit 103 receives the parameter difference ΔK1′ from the client terminal 120 via the communication unit 102 and transforms K1F with the parameter difference ΔK1′ to obtain K1′F. The template storage unit 105 registers and stores therein a new updated template (r1′, K1′F).
Functional configuration of the second authentication server 110 is similar to that of the first authentication server 100. Same names and same reference numbers are used for the components having the substantially same functions as those of the first authentication server. In the template sharing processing, the communication unit 102 of the second authentication server 110 receives the temporary template (r′, K′F) from the first authentication server 100. The random number generation unit 104 generates a random number r2. The communication unit 102 of the second authentication server 110 sends r2 and r′ to the client terminal 120. The transformation unit 103 thereof receives a parameter difference (or a second difference parameter) ΔK2 from the client terminal 120 and transforms K′F with the parameter difference ΔK2 to generate K2F. The template storage unit 105 thereof registers a new template (r2, K2F).
In the registration processing in the first authentication server 100, the master key generation unit 125 generates a master key S. The communication unit 123 sends the random number r1 from the first authentication server 100 to the parameter generation unit 124. The parameter generation unit 124 performs an operation with the random number r1 and the master key S using a predetermined function to thereby generate the parameter K1. The feature extract unit 121 extracts the feature F from a finger vein image of a user inputted from the finger vein sensor 130. The transformation unit 122 transforms the feature F with the parameter K1, to thereby generate the transformed feature K1F. The communication unit 123 sends the transformed feature K1F to the first authentication server 100. The tamper resistant device interface unit 126 stores the master key S in the tamper resistant device 140.
In the authentication processing in the first authentication server 100, the tamper resistant device interface unit 126 reads out the master key S from the tamper resistant device 140. The communication unit 123 sends the random number r1 received from the first authentication server 100 to the parameter generation unit 124. The parameter generation unit 124 generates a parameter K1 from the random number r1 and the master key S. The feature extract unit 121 extracts a feature G from a finger vein image of a user inputted from the finger vein sensor 130. The transformation unit 122 transforms the feature G with the parameter K1 to thereby generate a transformed feature K1G. The communication unit 123 sends the transformed feature K1G to the first authentication server 100.
In the template sharing processing from the first authentication server 100 to the second authentication server 110, the communication unit 123 receives the random numbers r1 and r′ from the first authentication server 100 and sends the random numbers r1 and r′ to the parameter generation unit 124. The tamper resistant device interface unit 126 reads out the master key S from the tamper resistant device 140. The parameter generation unit 124 generates a parameter difference ΔK1 from the master key S and the random numbers r1 and r′, and sends the parameter difference ΔK1 to the first authentication server 100 via the communication unit 123. The communication unit 123 receives the random number r2 and r′ from the second authentication server 110. The tamper resistant device interface unit 126 reads out the master key S from the tamper resistant device 140. The parameter generation unit 124 generates a parameter difference ΔK2 from the master key S and the random numbers r2 and r′ and sends the parameter difference ΔK2 to the second authentication server 110 via the communication unit 123.
In the template update processing in the first authentication server 100, the communication unit 123 receives the random numbers r1 and r1′ from the first authentication server. The tamper resistant device interface unit 126 reads out the master key S from the tamper resistant device 140. The parameter generation unit 124 generates a parameter difference ΔK1′ from the master key S and the random numbers r1 and r1′ and sends the parameter difference ΔK1′ to the first authentication server 100 via the communication unit 123.
The tamper resistant device 140 includes a communication unit 141 and a master key storage unit 142.
In the registration processing, the communication unit 141 receives the master key S from the client terminal 120. The master key storage unit 142 stores the master key S therein.
In the authentication processing, template sharing processing, and template update processing, the communication unit 141 outputs the master key S to the client terminal 120 in response to a request therefrom.
Next are described processings performed in the cancelable finger vein authentication system. The processings include the registration processing, template sharing processing, authentication processing, and template update processing.
In step S201, the first authentication server 100 generates a random number r1 and sends the random number r1 to the client terminal 120.
In step S202, the client terminal 120 acquires a finger vein image of a user via the finger vein sensor 130.
In step S203, the client terminal 120 extracts a feature F which can identify the user from the acquired finger vein image. In the embodiment, the feature F is extracted by, for example, a method described in Naoto Miura, Akio Nagasaka, and Takafumi Miyatake, “Feature extraction of finger-vein patterns based on repeated line tracking and it's application to personal identification”, Machine Vision and Applications, Vol. 15, pp. 194-203, 2004, detailed description of which is omitted herefrom.
In step S204, the client terminal 120 generates a master key S. In the embodiment, a master key is generated by a commonly used method of generating a random number. However, the method of generating the master key S is not limited to this.
In step S205, the client terminal 120 generates a parameter K1 from the random number r1 and the master key S received from the first authentication server 100. In the embodiment, the parameter K1 is generated by obtaining a hash value of a bit-connected random number r1 and master key S using some cryptographic hash function. However, the method of generating the parameter K1 is not limited to this.
In step S206, the client terminal 120 transforms the feature F with the parameter K1. In the embodiment, the feature F is transformed by, for example, a method described in Shinji Hirata, Kenta Takahashi, and Masahiro Mimura “A Proposition of Cancelable Biometrics Applicable to Biometric Authentication based on Image Matching”, 2006-CSEC-34, pp. 45-440, 2006, detailed description of which is omitted herefrom. The client terminal 120 sends the feature after the transformation (or transformed feature) K1F to the first authentication server 100. The client terminal 120 also sends the master key S to the tamper resistant device 140.
In step S207, the first authentication server 100 creates a template (r1, K1F) with both the random number r1 and the transformed feature K1F and registers the template in the template storage unit 105. At the registration, a user ID number of the user who has completed necessary registration procedures is determined. The user ID number is data inputted from the input unit 120a of the client terminal 120 and is used as a retrieval key through the template database (see
In step S208, the tamper resistant device 140 stores therein the master key S received from the client terminal 120.
It is not the parameter K1 or the feature F but the transformed feature K1F that is sent from the client terminal 120 to the first authentication server 100. Even if the transformed feature K1F of a user is leaked from the first authentication server 100 for some reason, the feature F itself is not leaked. Original biological information of the user is still kept in secret. Additionally, the first authentication server 100 is not capable of computing the parameter K1 or the feature F only from the transformed feature K1F. That is, the original biological information of the user is kept in secret even from the first authentication server 100 itself.
In step S301, the first authentication server 100 generates a random number r′. The template storage unit 105 of the first authentication server 100 searches through the template database by the user ID number of a user of the client terminal 120 as a retrieval key. If the user ID number as the retrieval key is identical to the user ID number registered in the user ID number field 105a, the first authentication server 100 reads out a template corresponding to the user ID number in the template field 105b, which is the template (r1, K1F). Then the first authentication server 100 reads out the random number r1 from the template (r1, K1F) and sends the random numbers r1 and r′ to the client terminal 120.
In step S302, the client terminal 120 reads out the master key S from the tamper resistant device 140 and generates a parameter difference ΔK1 from the master key S and the random numbers r1 and r′ received from the first authentication server 100. The parameter difference ΔK1 is generated by, for example, a method as follows. First, a parameter K1 is generated from the master key S and the random number r1 by, for example, obtaining a hash value of a bit-connected random number r1 and master key S using some cryptographic hash function. Next, a parameter K′ is generated from the master key S and the random number r′ by, for example, obtaining a hash value of a bit-connected random number r′ and master key S using some cryptographic hash function. Herein, K1, K′ and ΔK1 are each regarded as an image (a two-dimensional image constituted by an X-axis and a Y-axis which are at right angles to each other) and are thus expressed as K1(x, y), K′ (x, y), and ΔK1(x, y), respectively. ΔK1(x, y) can be calculated by an expression as follows:
ΔK1(x,y)=K′(x,y)/K1(x,y)
The client terminal 120 sends the generated ΔK11 to the first authentication server 100.
In step S303, the first authentication server 100 creates a temporary template (r′, K′F). K′F is generated by, for example, a method as follows. K1F and K′F are herein each regarded as an image (a two-dimensional image constituted by an X-axis and a Y-axis which are at right angles to each other) and are thus expressed as K1(x, y)F(x, y) and K′ (x, y)F(x, y), respectively. K′(x, y)F(x, y) can be calculated by an expression as follows:
K′(x,y)F(x,y)=ΔK1(x,y)×K1(x,y)F(x,y)
Thus the temporary template (r′, K′F) is created from both K′F and the random number r′1 having been generated in step S301 and is sent to the second authentication server 110.
In step S304, the second authentication server 110 generates a random number r2. In the embodiment, the random number r2 is generated by a commonly used method of generating a random number. However, the method of generating the random number r2 is not limited to this. The second authentication server 110 reads out the random number r′ from the temporary template (r′, K′F) received from the first authentication server 100 and sends the random numbers r2 and r′ to the client terminal 120.
In step S305, the client terminal 120 generates a parameter difference ΔK2 from the random numbers r2 and r′ received from the second authentication server 110 and the master key S. The parameter difference ΔK2 is generated by, for example, a method as follows. First, a parameter K2 is generated from the master key S and the random number r2 by, for example, obtaining a hash value of a bit-connected random number r2 and master key S using some cryptographic hash function. Next, a parameter K′ is generated from the master key S and the random number r′ by, for example, obtaining a hash value of a bit-connected random number r′ and master key S using some cryptographic hash function. Herein, K2, K′ and ΔK2 are each regarded as an image (a two-dimensional image constituted by an X-axis and a Y-axis which are at right angles to each other) and are thus expressed as K2 (x, y), K′ (x, y), and ΔK2 (x, y), respectively. ΔK2 (x, y) can be calculated by an expression as follows:
ΔK2(x,y)=K2(x,y)/K′(x,y)
The client terminal 120 sends the generated ΔK2 to the second authentication server 110.
In step S306, the second authentication server 110 transforms K′F of the temporary template (r′, K′F) with ΔK2 received from the client terminal 120 to thereby generate K2F. A method of transforming K2F is, for example, as follows. ΔK2, K′F and K2F are each regarded as an image (a two-dimensional image constituted by an X-axis and a Y-axis which are at right angles to each other) and are thus expressed as ΔK2(x, y), K′ (x, y)F(x, y), and K2(x, y)F(x, y), respectively. K2(x, y)F(x, y) can be calculated by an expression as follows:
K
2(x,y)F(x,y)=ΔK2(x,y)×K′(x,y)F(x,y)
In step S307, the second authentication server 110 creates a template (r2, K2F) with both the random number r2 and K2F and registers the template in the template storage unit 105. A user ID number of a user of the client terminal 120 who is a target in the template sharing processing is registered into the user ID number field 105a of the template database. A template of the user is registered into the template field 105b.
Thus, the first authentication server 100 can transfer the template (r2, K2F) to the second authentication server 110, while keeping the template (r1, K1F) managed by itself in secret. In other words, the second authentication server 110 receives the template (r2, K2F) without knowing the template (r1, K1F) of the first authentication server 100. This allows a secure sharing of a template between the authentication servers 100,110. Further, data sent from the client terminal 120 to the authentication servers 100,110 is not the parameter K1 or K2 itself but a difference between the parameters. This eliminates a concern that the feature F constituted by the transformed features K1F or K2F is known to the authentication servers 100,110.
In step S401, the client terminal 120 acquires a finger vein image of the user via the finger vein sensor 130.
In step S402, the client terminal 120 extracts a feature G from the acquired finger vein image. In the embodiment, the feature G is extracted by, for example, the method described in Naoto Miura, Akio Nagasaka, and Takafumi Miyatake, “Feature extraction of finger-vein patterns based on repeated line tracking and it's application to personal identification”, Machine Vision and Applications, Vol. 15, pp. 194-203, 2004, detailed description of which is omitted herefrom.
In step S403, the client terminal 120 receives r1 from the first authentication server 100, and reads out the master key S from the tamper resistant device 140, to generate a parameter K1 therefrom.
The first authentication server 100 performs steps as follows, when the first authentication server 100 sends r1 to the client terminal 120. Namely, the template storage unit 105 of the first authentication server 100 searches through the template database by the user ID number of the user of the client terminal 120 as a retrieval key. If the user ID number as the retrieval key is identical to the user ID number registered in the user ID number field 105a, the first authentication server 100 reads out a template corresponding to the user ID number in the template field 105b, which is the template (r1, K1F). Then the first authentication server 100 reads out the random number r1 from the template (r1, K1F) and sends the random number r1 to the client terminal 120.
In the embodiment, the parameter K1 is generated by, for example, obtaining a hash value of a bit-connected random number r1 and master key S using some cryptographic hash function. However, the method of generating the master key S is not limited to this.
In step S404, the client terminal 120 transforms the feature G with the parameter K1. In the embodiment, the feature G is transformed by, for example, the method described in Shinji Hirata, Kenta Takahashi, and Masahiro Mimura “A Proposition of Cancelable Biometrics Applicable to Biometric Authentication based on Image Matching”, 2006-CSEC-34, pp. 45-440, 2006, detailed description of which is omitted herefrom. The client terminal 120 sends the feature after the transformation (transformed feature) K1G to the first authentication server 100.
In step S405, the first authentication server 100 compares the received K1G with K1F included in the template (r1, K1F), to thereby determine the user's identity. In the embodiment, K1G and K1F are compared with each other by the method described in Shinji Hirata, Kenta Takahashi, and Masahiro Mimura “A Proposition of Cancelable Biometrics Applicable to Biometric Authentication based on Image Matching”, 2006-CSEC-34, pp. 45-440, 2006, detailed description of which is omitted herefrom. In the embodiment, the features in transformed states are directly compared with each other to conduct authentication, without a need of decoding encrypted data which is performed in, for example, an authentication method according to related art.
In step S501, the first authentication server 100 generates a random number r1′. In the embodiment, the random number r1′ is generated by a commonly used method of generating a random number. However, the method of generating the random number r1 is not limited to this. The template storage unit 105 of the first authentication server 100 searches through the template database by the user ID number of a user of the client terminal 120 as a retrieval key. If the user ID number as the retrieval key is identical to the user ID number registered in the user ID number field 105a, the first authentication server 100 reads out a template corresponding to the user ID number in the template field 105b, which is the template (r1, K1F) Then the first authentication server 100 reads out the random number r1 from the template (r1, K1F) and sends the random numbers r1 and r1′ to the client terminal 120.
In step S502, the client terminal 120 generates a parameter difference ΔK1′ from r1 and r1′ and the master key S, which is read out from the tamper resistant device 140. The parameter difference ΔK1′ is generated by, for example, a method as follows. First, a parameter K1 is generated from the master key S and the random number r1 by, for example, obtaining a hash value of a bit-connected random number r1 and master key S using some cryptographic hash function. Next, a parameter K′ is generated from the master key S and the random number r1′ by, for example, obtaining a hash value of a bit-connected random number r′ and master key S using some cryptographic hash function. Herein, K1, K1′ and ΔK1 are each regarded as an image (a two-dimensional image constituted by an X-axis and a Y-axis which are at right angles to each other) and are thus expressed as K1(x, y), K1′(x, y), and ΔK1(x, y), respectively. ΔK1(x, y) can be calculated by an expression as follows:
ΔK1′(x,y)=K1′(x,y)/K1(x,y)
The client terminal 120 sends the generated ΔK1′ to the first authentication server 100.
In step S503, the first authentication server 100 transforms K1F included in the template (r1, K1F) with the registered ΔK1′, to thereby generate a new transformed feature K1′F. K1F is transformed by, for example, a method as follows. Herein, K1F, K1′F and ΔK1′ are each regarded as an image (a two-dimensional image constituted by an X-axis and a Y-axis which are at right angles to each other) and are thus expressed as K1(x, y)F(x, y), K1′(x, y)F(x, y), and ΔK1′(x, y), respectively. K1(x, y)F(x, y) can be calculated by an expression as follows:
K
1′(x,y)F(x,y)=ΔK1′(x,y)×K1(x,y)F(x,y)
In step S504, the template storage unit 105 of the first authentication server 100 stores therein an updated template (r1′, K1′F) with both r1′ and K1′F. More specifically, in the template database, the template storage unit 105 identifies a user ID number of a user who is a target in the template update processing stored in the user ID number field 105a. The template storage unit 105 then registers an updated template (r1′, K1′F), in place of the original template (r1, K1F) of the identified user. The original template (r1, K1F) is deleted.
This can reduce a possible negative influence in case of leaking of the original template. Further, data sent from the client terminal 120 to the authentication servers 100,110 is not the parameter K1 or K1′ but a parameter difference therebetween. This eliminates a concern that the feature F constituted by the transformed features K1F or K1′F is known to the authentication servers 100,110.
In the embodiment, in the cancelable finger vein authentication system in which a plurality of authentication servers are provided, a template is shared in the authentication servers with security. This can reduce a burden of a user and a service provider for registration. An authentication server which receives a template in the template sharing processing is not required to execute a registration processing any more. The service provider is not required to establish a contact point for registration. The user is not required to go to the contact point to take necessary procedures for registration.
In the embodiment, data stored in the tamper resistant device is only a single master key, because a parameter is generated from the single master key in the tamper resistant device and a random number managed by an authentication server. This requires less memory capacity in the tamper resistant device compared with a system where parameters for each authentication server are stored therein. This is advantageous because an existing memory capacity of the tamper resistant device may be sufficient even if the system includes a number of authentication servers.
In the embodiment, biometric information of a user is shared between two authentication servers. This is advantageous because one finger vein sensor which is connected to each client terminal suffices, thus reducing a cost associated with the sensor.
The above-mentioned embodiment is exemplary in implementing the biometrics authentication system according to the present invention. However, the present invention is not limited to the embodiment, and various modifications and variations are possible without departing from the gist of the present invention.
In the embodiment, the user authentication system includes two authentication servers. However, the authentication system may include three or more authentication servers. Further, the authentication system may include a plurality of client terminals.
Even with the system having three or more authentication servers, the present invention is still generally applicable.
For example, suppose that a template of a user is shared among three authentication servers, and a first authentication server in which a template has been already registered transfers the template to a second and a third authentication server. Two cases of transfer are possible. Case 1 is that the second authentication server receives the template from the first authentication server, and the third authentication server also receives the template from the first authentication server. Case 2 is that the second authentication server receives the template from the first authentication server, and the third authentication server receives the template from the second authentication server.
In Case 1, the template received by the third authentication server is subjected to one template sharing processing. On the other hand, in Case 2, two template sharing processings. Nevertheless, the template sharing herein means that an authentication server receives a template and creates a unique template therefrom. Thus, a template created and managed by the third authentication server is always a template created by itself in either Case 1 or Case 2. Therefore, the template managed by the third authentication server is not known to the first or second authentication server. In this sense, the present invention is applicable to both Cases 1 and 2.
In the embodiment, a parameter for transforming a feature is generated by obtaining a hash value of a bit-connected master key (for example, a random number) and random number obtained from an authentication server using some cryptographic hash function. However, the method of generating a parameter is not limited to this. For example, in another method, a master key bit-connected to a random number is transformed with a one-way function other than the hash function, and a reversible processing for restoring the original bit-connected value from the hash value is designed to be unallowable.
In the embodiment, the tamper resistant device 140 is used for storing the master key. Tamper resistance owned by the tamper resistant device 140 may be enhanced with a logical or a physical means. For example, the logical means may be a software-related technique such as obfuscation which prevents analysis with a disassembler or the like. The physical means may be a hardware-related technique such as an LSI (Large Scale Integration Circuit) of which analysis is impossible because peel-off of a protective layer is designed to destroy its inner circuit all together.
In the embodiment, the master key is stored in the tamper resistant device 140. However, the master key may not be stored therein and may be memorized by a user as a password including characters, numerals, or a combination thereof. The user may input the password into the input unit 120a of the client terminal 120, when necessary.
The present invention can be applied to any biometrics authentication system in which biometric information of a user is registered in a server for verifying identity of the user. Examples of such a biometrics authentication system include an information access control in an in-house network, an Internet banking system, an ID system at an ATM (Automated Teller Machine), a login to a Web site only available to members, a personal authentication for entering a specific area, and the like.
Number | Date | Country | Kind |
---|---|---|---|
2007-230899 | Sep 2007 | JP | national |