WO2018225291A1 - 計算機システム、秘密情報の検証方法、及び計算機 - Google Patents
計算機システム、秘密情報の検証方法、及び計算機 Download PDFInfo
- Publication number
- WO2018225291A1 WO2018225291A1 PCT/JP2018/002213 JP2018002213W WO2018225291A1 WO 2018225291 A1 WO2018225291 A1 WO 2018225291A1 JP 2018002213 W JP2018002213 W JP 2018002213W WO 2018225291 A1 WO2018225291 A1 WO 2018225291A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature data
- information
- template
- secret information
- error
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Definitions
- the present invention relates to a system that performs processing such as authentication, encryption, and signature based on a user's biometric information.
- Biometric authentication technology that performs personal authentication based on biometric information such as fingerprints, veins, faces, and irises is widely used.
- the terminal registers feature data extracted from the user's biological information as a template in the system.
- the terminal compares the template with the feature data extracted from the user's biometric information again. If the similarity is sufficiently high, that is, if the distance between the two feature data is sufficiently close, the authentication is successful. If the similarity is small, it is determined that the authentication has failed.
- Biometric information is information that cannot generally be replaced. For this reason, leakage of biological information is a serious problem.
- a template protection type biometric authentication technology that authenticates biometric information while keeping it secret has been researched and developed.
- biometric cryptography which generates key data from biometric information and performs processes such as cryptographic authentication processing, encryption processing, decryption processing, and signature generation processing, has attracted attention.
- a terminal In biometric cryptography, a terminal generates a protection template T by converting biometric information feature data X and embedding a secret key K when biometric information is registered. After that, the terminal restores the secret key K using the newly acquired biometric information feature data X ′ and the protection template T. When the private key is successfully restored, the terminal can execute cryptographic authentication processing, encryption processing, decryption processing, and electronic signature generation processing using the private key K.
- the template T at the time of biometric information registration can be expressed as a vector as shown in Expression (3), and the element t_i is calculated based on Expression (4).
- the subscript i is a value from 1 to n.
- the newly acquired biometric feature data X ′ can be expressed as a vector as shown in equation (5).
- the terminal uses the stored template T and feature data X ′ to execute each operation of the secret key S ′ expressed by the equation (6) by executing the calculation shown in the equation (7). Is calculated. As a result, the secret key S ′ is restored.
- the subscript i is a value from 1 to n.
- the symbol “[]” represents an operation for extracting an integer part by truncating a decimal part of a value in parentheses.
- the terminal determines that the secret key has been correctly restored and verifies the secret key. Is accepted as the user registered in the system.
- the use of the method of Document 1 can realize protection of a template having a certain effect.
- the value that can be taken by the element x_i of the feature data is the range shown in the expression (10).
- the candidate of the element x_i is the common range of the expression (9) and the expression (10). Can be narrowed down to.
- the range of the element x_i may be narrowed down stochastically. Therefore, in order to ensure sufficient security, the value of q is increased so that 2q is sufficiently large with respect to
- the size of the template T also increases, resulting in an efficiency problem. Specifically, when the number of digits represented by the decimal part of the element x_i of the feature data X is r digits in binary notation, the element t_i of the template T has q bits for the integer part and r bits for the decimal part. . Therefore, the data size of the template T is n (q + r) bits.
- n 1000
- the data size of the template T is 38.5 KB.
- one template T is generated from a fingerprint of one finger, ten templates T are generated for one user.
- 100 million templates T are registered in the system, the total data size is 38.5 TB.
- n authentication which is an authentication method for comparing authentication data with all registered N templates, authentication processing is required because it is necessary to access 38.5 TB of data. The access time to the storage area for storing the data becomes dominant.
- the present invention aims to improve security and efficiency, which are problems of conventional biometric encryption technology. Specifically, it is an object to generate a template that is difficult to estimate feature data and has a small size.
- a typical example of the invention disclosed in the present application is as follows. That is, a computer system including at least one computer, wherein the at least one computer includes an arithmetic device and a storage device connected to the arithmetic device, and the arithmetic device is a first living body obtained from a user.
- First feature data is generated based on the information, and based on the first feature data, error feature data indicating an error occurring in the first biological information and a portion other than the error occurring in the first biological information are indicated.
- the stationary feature data is generated, a template is generated based on the error feature data of the first biological information, the identification information of the user and the template are associated with each other and stored in the storage device, and the stationary state of the first biological information
- First secret information used for cryptographic processing is generated based on the feature data
- first verification information is generated based on the first secret information
- the user's knowledge is generated.
- second feature data is generated based on the second biological information acquired from the user.
- the second secret information is generated based on the template and the second feature data
- the second verification information is generated based on the second secret information
- the first verification information and the second verification information are The second secret information is verified by comparison, and the cryptographic processing is executed based on the verification result of the second secret information.
- FIG. 3 is a diagram illustrating an example of a hardware configuration of a computer that configures the biometric authentication system according to the first embodiment.
- 6 is a flowchart illustrating a registration process executed by a registration terminal according to the first embodiment. It is a flowchart explaining the verification process which the authentication terminal of Example 1 performs.
- 6 is a flowchart illustrating a template T generation process and secret information sk generation process according to the first embodiment.
- 6 is a flowchart illustrating a restoration process of secret information sk ′ according to the first embodiment.
- a computer included in the biometric authentication system generates verification information for verifying the template and the restored secret information (secret key) from the user's biometric information, and registers it in the database. To do.
- the computer verifies the secret information associated with the execution of the cryptographic process, the computer restores the secret information using the registered template and the newly acquired biometric information of the user.
- the computer also verifies the secret information based on the restored secret information and verification information, and performs encryption such as user authentication processing, encryption processing, decryption processing, and electronic signature generation processing based on the verification result. Execute the scientific process.
- FIG. 1 is a diagram illustrating a configuration example of a biometric authentication system according to the first embodiment.
- FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer configuring the biometric authentication system according to the first embodiment.
- the biometric authentication system includes a registration terminal 100, an authentication terminal 110, a DB server 120, and a network 130.
- the registration terminal 100, the authentication terminal 110, and the DB server 120 are connected to each other via the network 130.
- the network 130 may be a LAN (Local Area Network), a WAN (Wide Area Network), or the like. Note that the present embodiment is not limited to the type of the network 130.
- the connection method of the network 130 may be either wired or wireless.
- the registration terminal 100 acquires biometric information from a user, generates a template and verification information using the biometric information, and registers the template and verification information in the DB server 120.
- the registration terminal 100 includes a CPU 200, a memory 201, a storage device 202, an input device 203, an output device 204, and a communication device 205.
- a CPU 200 central processing unit 200
- a memory 201 main memory 201
- a storage device 202 storage device 202
- an input device 203 input device 203
- an output device 204 output device 204
- a communication device 205 communication device 205
- an authentication terminal 110 and a DB server 120 described later also have the same hardware configuration.
- CPU 200 is an arithmetic unit of registration terminal 100 and executes a program stored in memory 201.
- the CPU 200 executes processing according to a program, it operates as a module that realizes a specific function.
- a process is described with a module as a subject, it indicates that the CPU 200 is executing a program for realizing the module.
- the memory 201 is a main storage device of the registration terminal 100 and stores a program executed by the CPU 200 and data used by the program.
- the memory 201 includes a temporary area that is temporarily used by the program.
- the storage device 202 is a secondary storage device of the registration terminal 100 and stores data permanently.
- an HDD Hard Disk Drive
- an SSD Solid State Drive
- the input device 203 is a device for inputting various data to the registration terminal 100, and includes a keyboard, a mouse, a touch panel, a sensor, and the like.
- the output device 204 is a device for outputting various information, and includes a touch panel and a display.
- the communication device 205 is an interface for communicating with many devices via a network.
- the memory 201 of the registration terminal 100 stores programs for realizing the data acquisition module 101, the feature data extraction module 102, the template generation module 103, the secret information generation module 104, and the verification information generation module 105.
- the data acquisition module 101 acquires biometric information for registration such as fingerprints and veins from the user, and outputs the acquired biometric information for registration to the feature data extraction module 102.
- the feature data extraction module 102 extracts feature data for registration from biometric information for registration, and outputs the extracted feature data for registration to the template generation module 103 and the secret information generation module 104.
- the template generation module 103 generates a template based on the registration feature data.
- the template generation module 103 registers the template in the template DB 122 by transmitting the template to the DB server 120.
- the secret information generation module 104 generates secret information based on the feature data for registration.
- the secret information generation module 104 outputs the secret information to the verification information generation module 105.
- the verification information generation module 105 generates verification information for verifying the secret information restored by the authentication terminal 110 based on the secret information.
- the verification information generation module 105 registers the verification information in the verification information DB 123 by transmitting the verification information to the DB server 120.
- the authentication terminal 110 newly acquires biometric information from the user, restores the secret information based on the newly acquired biometric information and the template, and verifies the restored secret information. Further, the authentication terminal 110 performs cryptographic processing such as user authentication processing, encryption processing, decryption processing, and electronic signature generation processing based on the verification result of the restored secret information.
- the memory 201 of the authentication terminal 110 stores programs for realizing the data acquisition module 111, the feature data extraction module 112, the secret information restoration module 113, the secret information verification module 114, and the data processing module 115.
- the data acquisition module 111 acquires biometric information for generating secret information from the user, and outputs the acquired biometric information to the feature data extraction module 112.
- the feature data extraction module 112 extracts feature data from the biometric information, and outputs the extracted feature data to the secret information restoration module 113.
- the secret information restoration module 113 restores the secret information based on the feature data and the template, and outputs the restored secret information to the secret information verification module 114.
- the secret information verification module 114 verifies the correctness of the restored secret information based on the verification information. That is, it is determined whether or not the secret information generated by the registration terminal 100 matches the restored secret information.
- the data processing module 115 executes cryptographic processing such as authentication processing, encryption processing, decryption processing, and electronic signature generation processing using secret information.
- the DB server 120 manages various data used in the biometric authentication system.
- the DB server 120 also executes data registration processing, data search processing, and the like.
- the memory 201 of the DB server 120 stores a program for realizing the database management module 121, and also stores a template DB 122 and a verification information DB 123. Note that the template DB 122 and the verification information DB 123 may be stored in the storage device 202 of the DB server 120.
- the database management module 121 performs data registration, update, and search.
- the template DB 122 is a database that stores templates.
- the template DB 122 stores one or more data in which user identification information and templates are associated with each other.
- a database in a table format including one or more entries including a field for storing user identification information and a field for storing a template is conceivable.
- the verification information DB 123 is a database that stores verification information.
- the verification information DB 123 stores one or more data in which user identification information and verification information are associated with each other.
- a database in a table format including one or more entries including a field for storing user identification information and a field for storing verification information can be considered.
- one DB server 120 holds the template DB 122 and the verification information DB 123, but may be managed using a distributed database including a plurality of DB servers 120.
- templates and verification information are distributed and stored in each DB server 120.
- the authentication terminal 110 may hold at least one of the template DB 122 and the verification information DB 123.
- at least one of the template DB 122 and the verification information DB 123 is placed on a portable medium such as a printed matter obtained by converting an IC card, a USB memory, and data into a QR code (QR code is a registered trademark, the same applies hereinafter) or a personal terminal such as a smartphone. May be stored.
- the registration terminal 100, the authentication terminal 110, and the DB server 120 are described as physically independent computers, but the present invention is not limited to this.
- a plurality of functions may be integrated into one computer.
- the authentication terminal 110 and the DB server 120 may be realized using a single computer.
- two or more modules may be combined into one module, or one module may be combined into a plurality of modules for each function. It may be divided.
- FIG. 3 is a flowchart illustrating the registration process executed by the registration terminal 100 according to the first embodiment.
- the registration terminal 100 When the registration terminal 100 accepts an operation of a user or an operator, the registration terminal 100 starts a registration process described below.
- the data acquisition module 101 of the registration terminal 100 acquires biometric information for registration from the user using the input device 203 (step S301).
- the data acquisition module 101 also acquires user identification information such as the user ID and name at the start of registration processing or biometric information for registration.
- the feature data extraction module 102 of the registration terminal 100 extracts feature data for registration from biometric information for registration (step S302). For example, an image and a feature vector are extracted as feature data.
- the template generation module 103 of the registration terminal 100 generates a template T based on the registration feature data (step S303). Details of the template T generation processing will be described later.
- the secret information generation module 104 of the registration terminal 100 generates secret information sk based on the registration feature data (step S304). Details of the secret information sk generation process will be described later.
- the verification information generation module 105 of the registration terminal 100 generates verification information vk based on the secret information sk (step S305).
- verification information vk based on the secret information sk.
- the verification information generation module 105 generates verification information vk using an arbitrary one-way function Hash () as shown in Expression (14).
- the one-way function Hash () for example, cryptographic hash functions such as SHA256 and SHA3 can be considered.
- G a generation source of G.
- the generated pair (sk, vk) is treated as a private key / public key pair in many public key cryptographic / electronic signature algorithms such as ElGamal cryptographic / signature, DSA, Schnorr signature, or their elliptic curve version algorithm Can do.
- the verification information generation module 105 uses the function Enc () whose variable is p, which is a secret key or parameter for generating verification information, to generate verification information vk. Generate. Note that p may be set in units of users or biometric information units for registration, or may be set in units of authentication terminals 110 or biometric authentication systems.
- the function Enc () is an encryption function in AES or RSA, a hash function with a key, and the like. The above is the description of the process in step S305.
- the template generation module 103 and the verification information generation module 105 of the registration terminal 100 register the template T and the verification information vk in the DB server 120, respectively (step S306). Thereafter, the registration terminal 100 ends the registration process.
- the template generation module 103 transmits a registration request including the user identification information and the template T to the DB server 120, and the verification information generation module 105 generates a registration request including the user identification information and the verification information vk. Transmit to the DB server 120.
- the DB server 120 When the DB server 120 receives a registration request from the template generation module 103, the DB server 120 registers data in which the user identification information and the template T are associated with each other in the template DB 122. Further, when receiving a registration request from the verification information generation module 105, the DB server 120 registers data in which the user identification information and the verification information vk are associated with each other in the verification information DB 123.
- FIG. 4 is a flowchart illustrating the verification process executed by the authentication terminal 110 according to the first embodiment.
- the authentication terminal 110 When the authentication terminal 110 receives an operation of a user or an operator, the authentication terminal 110 starts an authentication process described below.
- the data acquisition module 111 of the authentication terminal 110 acquires biometric information for verification from the user using the input device 203 (step S401).
- the data acquisition module 111 also acquires user identification information such as the user ID and name at the time of starting the verification process or acquiring biometric information for verification.
- the feature data extraction module 112 of the authentication terminal 110 extracts feature data for verification from the biometric information for verification (step S402).
- the secret information restoration module 113 of the authentication terminal 110 acquires the template T from the template DB 122 of the DB server 120, and restores the secret information sk ′ based on the template T and the feature data for verification (step S403). Details of the restoration process (generation process) of the secret information sk ′ will be described later.
- the secret information restoration module 113 transmits a template acquisition request including user identification information to the DB server 120.
- the DB server 120 refers to the template DB 122 to search for a template associated with the user identification information, and transmits the search result to the authentication terminal 110.
- the secret information verification module 114 generates verification information vk ′ from the secret information sk ′, and determines whether the verification information vk ′ matches the verification information vk acquired from the DB server 120.
- the following method can be considered according to the method for generating the verification information vk.
- the authentication terminal 110 performs cryptographic processing based on the verification result of the secret information sk ′ (step S405). Thereafter, the authentication terminal 110 ends the authentication process.
- FIG. 5 is a flowchart illustrating the template T generation process and the secret information sk generation process according to the first embodiment.
- the value of each element of the vector is expressed in binary or decimal.
- the template generation module 103 generates a registration normalized feature vector X shown in Expression (20) by performing at least one of conversion processing and normalization processing on the registration feature data (step S501). ).
- Each element X_i of the normalized feature vector X for registration is a real number. If the feature data has already been normalized, the normalization process may not be executed.
- a normalized feature vector X ′ for verification which will be described later, is expressed as in Expression (21).
- Each element X′_i of the normalized feature vector X ′ for verification is a real number.
- the distance between the two feature vectors X and X ′ is defined as in Expression (22).
- the authentication terminal 110 determines that the two feature vectors X and X ′ are feature vectors of biometric information acquired from the same user.
- step S501 the template generation module 103 establishes the formula (23) with high probability for the biological information acquired from the same user, and the formula (23) with high probability for the biological information acquired from different users. ) Is performed, appropriate conversion processing or scaling is performed on the registration feature data.
- the template generation module 103 based on the normalized feature vector X for registration, an integer vector XI having an integer part of each element X_i as an element, and a decimal vector XD having an decimal part of each element X_i as an element. Is generated (step S502).
- the integer vector XI and the decimal vector XD are expressed as Expression (24) and Expression (25), respectively.
- the template generation module 103 generates an integer vector XI by rounding down the decimal point of the element X_i. Further, the template generation module 103 generates the decimal vector XD by executing the calculation of Expression (26).
- the template generation module 103 performs a rounding process for rounding each element XD_i of the decimal vector XD to k digits after the decimal point, and generates a rounded decimal vector XDr as shown in Expression (27) (step S503).
- the template generation module 103 rounds the decimal point to the (k + 1) th decimal place.
- a rounded decimal vector XDr having values up to the k-th decimal point as elements is generated.
- the element XDr_i expressed in binary number is k digits, that is, k bits
- the size of the rounded decimal vector XDr is nk bits.
- rounding methods such as rounding down, rounding up, nearest rounding, and even rounding can be considered.
- the size of the template T can be further reduced.
- the probability that the restoration process of the secret information fails due to an error due to the rounding process increases.
- the relationship between the probability and k specifying the rounding size will be described later.
- the probability that the restoration process of the secret information fails due to an error due to the rounding process is also referred to as an error probability.
- the template generation module 103 generates a salt (step S504).
- the template generation module 103 is a character string or bit string of a predetermined length (for example, s bits) generated at random, or a numerical value of a predetermined length randomly generated from an arbitrary numerical range. Is generated as a salt. Further, the template generation module 103 may generate a salt by using a different value for each user or biometric information for registration, such as a user ID and a counter. The length of the salt may be a size that makes brute force attacks difficult, for example, 128 or more.
- the template generation module 103 generates a template T based on the rounded decimal vector XDr and the salt (step S505). Specifically, the template generation module 103 generates a set of a rounded decimal vector XDr and a salt as shown in Expression (28) as a template.
- the rounding process does not necessarily have to be performed on the decimal vector XD.
- the template T does not necessarily have to be generated using a salt. That is, the template T may be generated only from the decimal vector XD or the rounded decimal vector XDr.
- the template generation module 103 registers the template T in the template DB 122 and outputs the integer vector XI and salt to the secret information generation module 104.
- the secret information generation module 104 generates secret information sk based on the integer vector XI and the salt (step S511).
- the secret information verification module 114 inputs the secret information sk by inputting the data obtained by concatenating the integer vector XI and the salt to the one-way function Hash () such as SHA256 or SHA3 as shown in the equation (29). Generate.
- ” in Equation (29) represents data concatenation.
- the secret information verification module 114 includes data obtained by concatenating an integer vector XI and a salt to a function Enc () such as an encryption function such as AES or a hash function with a key, and an arbitrary function.
- the secret information sk is generated by inputting the parameter p ′.
- the data size of the rounded decimal vector XDr is nk bits.
- the size of the template T is (nk + s) bits from the equation (28).
- the size of the template T is 8128 bits (1016 bytes), which is about 1 kB. Since the size of the template generated based on the technique described in Document 1 is 38.5 kB, the template of this embodiment can compress the size of the conventional template to about 1/40. Therefore, since the template size can be significantly reduced as compared with the prior art, the efficiency of the biometric authentication system can be improved.
- the salt included in the template T is a value that does not depend on biological information. Therefore, in order for the attacker to estimate the biological information from the template T, there is no method other than estimating the normalization feature vector X for registration from the rounded decimal vector XDr included in the template T.
- the rounded decimal vector XDr is data generated by rounding the decimal part of the normalized feature vector X for registration. More specifically, the rounded decimal vector XDr is data obtained by deleting the integer part of the feature vector X and the decimal point k + 1 or less. Even if biometric information is obtained from the same user, an error occurs. Therefore, the normalized feature vector X also has a stochastic error within a range of about ⁇ 0.5 for each element. Therefore, since the fractional part contains almost no information for identifying the user, it is difficult to estimate or restore the normalized feature vector X from the rounded decimal vector XDr.
- the size of the template can be reduced and sufficient safety can be ensured.
- the template T is generated using the feature vector.
- the template T having the same feature can be generated using data other than the feature vector. That is, the registration terminal 100 generates error data that is data of an error part generated in biological information and steady data that is data other than the error data, based on feature data or data generated using the feature data. The registration terminal 100 generates the template T using the error data, and generates the secret information sk using the steady data.
- FIG. 6 is a flowchart illustrating the restoration process of the secret information sk ′ according to the first embodiment.
- the secret information restoration module 113 generates a verification normalized feature vector X ′ shown in Expression (21) by performing at least one of conversion processing and normalization processing on the verification feature data ( Step S601). If the feature data has already been normalized, the normalization process may not be executed.
- the secret information restoration module 113 calculates a difference feature vector XC shown in Expression (31) based on the rounded decimal vector XDr and the verification normalized feature vector X ′ included in the acquired template T (step S31). S602).
- the secret information restoration module 113 executes the calculation shown in Expression (32).
- the secret information restoration module 113 generates a restored integer vector XI ′ shown in Expression (33) based on the difference feature vector XC (step S603).
- the secret information restoration module 113 executes the calculation shown in Expression (34).
- the symbol “[]” represents an operation for extracting an integer part by truncating a decimal part of a value in parentheses.
- the secret information restoration module 113 generates the restored secret information sk ′ based on the restored integer vector XI ′ and the salt included in the acquired template T (step S604).
- the secret information generation method is the same processing as in step S511.
- ⁇ _i is defined by equation (35).
- ⁇ _i is a value representing a rounding error of the rounded decimal vector XDr, and is a value of the decimal point k + 1 or less. Therefore, the absolute value of ⁇ _i is less than 2 ⁇ k .
- Expression (36) can be transformed into Expression (36).
- Expression (38) is established with a high probability if ⁇ _i that is not 0 is sufficiently small.
- Formula (38) is not materialized is limited to the case where Formula (40) is satisfied. Therefore, since the error probability is approximately proportional to 2 ⁇ k , it decreases exponentially as the parameter k increases in the rounding process. Therefore, when k is a value between 8 and 16, the accuracy of the verification process is sufficiently high.
- the value of k needs to be determined in consideration of the balance between the accuracy and efficiency of the verification process.
- the size of the template T can be greatly reduced, and the resistance against an attack for estimating the original feature data X from the template T can be increased. Therefore, it is possible to realize a biometric encryption technique that guarantees high efficiency and security.
- a computer that executes cryptographic processing using secret information used to conceal data The calculator is An arithmetic device, a storage device connected to the arithmetic device, and an interface connected to the arithmetic device; A template generated based on error feature data indicating an error generated in the first feature data generated from the input first biological information via the interface, and a portion of the feature data other than the error feature data.
- the arithmetic unit is: When the execution request for the cryptographic process is received, the second feature data is generated based on the second biological information acquired from the user, Generating second secret information based on the template and the second feature data; Generating second verification information based on the second secret information; Verifying the second secret information by comparing the first verification information and the second verification information; A computer that performs the cryptographic processing based on a result of verification of the second secret information.
- the computer according to (1) The first feature data and the second feature data are feature vectors having real numbers as elements,
- the error feature data is a vector having a decimal part of each element of the feature vector as an element,
- the computer, wherein the stationary feature data is a vector having an integer part of each element of the feature vector as an element.
- the arithmetic unit is: Based on the second feature data and the error feature data of the first biological information included in the template, steady feature data of the second biological information is generated, A computer that generates the second secret information by inputting stationary feature data of the second biological information to at least one of a hash function, a keyed hash function, and an encryption function.
- this invention is not limited to the above-mentioned Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with another configuration.
- each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
- the present invention can also be realized by software program codes that implement the functions of the embodiments.
- a storage medium in which the program code is recorded is provided to the computer, and a processor included in the computer reads the program code stored in the storage medium.
- the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention.
- Examples of storage media for supplying such program codes include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, A non-volatile memory card, ROM, or the like is used.
- program code for realizing the functions described in this embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, Perl, Shell, PHP, Java, and the like.
- the program code is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R.
- a processor included in the computer may read and execute the program code stored in the storage unit or the storage medium.
- control lines and information lines indicate those that are considered necessary for the explanation, and do not necessarily indicate all the control lines and information lines on the product. All the components may be connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Collating Specific Patterns (AREA)
- Storage Device Security (AREA)
Abstract
計算機を含む計算機システムであって、計算機は、ユーザから取得した生体情報に基づいて、特徴データを生成し、特徴データに基づいて、生体情報に発生する誤差を示す誤差特徴データ及び生体情報に発生する誤差以外の部分を示す定常特徴データを生成し、生体情報の誤差特徴データに基づいてテンプレートを生成し、生体情報の定常特徴データに基づいて、暗号学的処理に用いる第1秘密情報を生成し、前記第1秘密情報に基づいて第1検証情報を生成する。
Description
本出願は、平成29年(2017年)6月9日に出願された日本出願である特願2017-114026の優先権を主張し、その内容を参照することにより、本出願に取り込む。
本発明は、ユーザの生体情報に基づいて、認証、暗号、及び署名などの処理を行うシステムに関する。
指紋、静脈、顔、及び虹彩などの生体情報に基づいて個人の認証などを行う生体認証技術が広く利用されている。従来の生体認証技術では、以下のような処理が行われる。まず、ユーザ登録時には、端末は、ユーザの生体情報から抽出した特徴データをテンプレートとしてシステムに登録する。ユーザ認証時には、端末は、テンプレートと、再度ユーザの生体情報から抽出した特徴データとを比較して、類似度が十分大きい場合、すなわち、二つの特徴データの距離が十分近い場合、認証の成功と判定し、類似度が小さい場合には認証の失敗と判定する。
生体情報は、一般には取り替えることのできない情報である。そのため、生体情報の漏えいは大きな問題となる。この問題に対し、生体情報を秘匿したまま認証する、テンプレート保護型の生体認証技術が研究開発されている。その中で、生体情報から鍵データを生成し、暗号学的な認証処理、暗号化処理、復号化処理、及び署名生成処理などの処理を行う、バイオメトリック暗号と呼ばれる技術が注目されている。
バイオメトリック暗号では、端末は、生体情報の登録時に、生体情報の特徴データXを変換し、秘密鍵Kを埋め込むことによって、保護テンプレートTを生成する。その後、端末は、新たに取得した生体情報の特徴データX’及び保護テンプレートTを用いて秘密鍵Kを復元する。秘密鍵の復元が成功した場合、端末は、当該秘密鍵Kを用いて暗号学的な認証処理、暗号化処理、復号化処理、及び電子署名生成処理を実行できる。
安全性の要件から、バイオメトリック暗号において、保護テンプレートTを用いた特徴データXの復元又は推定は十分困難でなくてはならない。一方、特徴データX’が特徴データXに十分類似している場合、秘密鍵の復元処理が成功するようにしなければならない。
バイオメトリック暗号の具体的な実現方法として、例えば、“Cryptographic Key Generation from Biometric Data Using Lattice Mapping”(Gang Zheng, et.al., In 18th International Conference on Pattern Recognition (ICPR'06), 2006)(以下、文献1と記載する。)に記載されている方法が提案されている。文献1では、生体情報から抽出された特徴データは、式(1)に示すようなn次元実数ベクトルXであって、各要素とも±δまでの誤差が許される。すなわち、値の誤差が±δの範囲であれば本人として受理される。また、秘密鍵は式(2)に示すような整数ベクトルとして表現できるものとする。秘密鍵の各要素s_iはそれぞれqビット整数とする。ここで、添字iは1からnまでの値であり、qは任意の整数である。したがって、要素s_iは0以上、かつ、2q-1以下の整数である。
生体情報の登録時のテンプレートTは式(3)に示すようなベクトルとして表現でき、要素t_iは式(4)に基づいて算出される。ここで、添字iは1からnまでの値である。
新たに取得した生体情報の特徴データX’は式(5)に示すようなベクトルとして表現できる。
秘密鍵の検証時には、端末は、保存されたテンプレートT及び特徴データX’を用いて、式(7)に示す演算を実行することによって式(6)で表現される秘密鍵S’の各要素の値を算出する。これによって、秘密鍵S’が復元される。ここで、添字iは1からnまでの値である。また、記号「[ ]」は、括弧内の値の小数部分を切り捨てて、整数部分を取り出す演算を表す。
ここで、式(8)を満たす場合、復元された秘密鍵S’は秘密鍵Sと一致するため、端末は、秘密鍵が正しく復元されたものと判定し、秘密鍵の検証を行ったユーザを、システムに登録されたユーザ本人として受理する。
文献1で用いられるテンプレートTを用いて特徴データX及び秘密鍵Sを一意に求めることはできないため、文献1の方法を用いることによって、一定の効果を有するテンプレートの保護を実現できる。
しかし、文献1の方法では、安全性及び効率性に課題がある。
安全性に関して、テンプレートTを用いて特徴データX及び秘密鍵Sの候補を絞り込むことができるという問題がある。具体的には、秘密鍵Sの要素s_iがqビットの整数であるという制約から、t_iを知っている攻撃者は、式(4)に基づいて特徴データXの要素x_iの候補を式(9)に示す範囲に絞り込むことができる。
さらに、特徴データの要素x_iが取り得る値は式(10)に示す範囲であり、攻撃者が当該範囲を知っている場合、要素x_iの候補は式(9)及び式(10)の共通範囲に絞り込むことができる。
例えば、要素x_i=x_max、かつ、要素s_i=0である場合、式(4)より要素t_iは式(11)に示すような値となる。そのため、テンプレートTを知っている攻撃者は、式(9)から要素x_iが式(12)を満たすことが分かる。
したがって、式(10)及び式(12)から、要素x_iの範囲は式(13)に示すようになるため、攻撃者は、要素x_i=x_maxとなることが分かる。また、攻撃者は、式(4)から要素s_i=0も分かる。
前述の仮定以外の場合においても、要素x_iの範囲が確率的に絞り込まれる可能性がある。したがって、十分な安全性を確保するためには、|x_min|及び|x_max|に対して2qが十分大きくなるように、qの値を大きくし、また、秘密鍵Sの要素s_iを、0以上かつ2q-1以下の範囲で一様ランダムに生成する必要である。
しかし、qを大きくした場合、テンプレートTのサイズも増大し、効率性の課題が生じる。具体的には、特徴データXの要素x_iの小数部分の表現桁数が2進数表示でr桁とした場合、テンプレートTの要素t_iは、整数部分がqビットとなり、小数部分がrビットとなる。したがって、テンプレートTのデータサイズは、n(q+r)ビットとなる。
q=256、r=52(doubleの仮数部桁数)、n=1000とした場合、テンプレートTのデータサイズは38.5KBとなる。一本の指の指紋から一つのテンプレートTを生成する場合、一ユーザに対して10個のテンプレートTが生成される。1億人分のテンプレートTがシステムに登録された場合、データサイズは合計で38.5TBとなる。認証用のデータと、登録されたN個の全てのテンプレートとの照合を行う認証方法である1:n認証を実現しようとした場合、38.5TBのデータにアクセスする必要があるため、認証処理において、当該データを格納する記憶領域へのアクセス時間が支配的となる。
本発明は、従来のバイオメトリック暗号技術の課題である安全性及び効率性を向上することを目的とする。具体的には、特徴データの推定が困難であり、かつ、サイズが小さいテンプレートを生成することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、少なくとも一つの計算機を含む計算機システムであって、前記少なくとも一つの計算機は、演算装置及び前記演算装置に接続される記憶装置を有し、前記演算装置は、ユーザから取得された第1生体情報に基づいて第1特徴データを生成し、前記第1特徴データに基づいて、前記第1生体情報に発生する誤差を示す誤差特徴データ及び前記第1生体情報に発生する誤差以外の部分を示す定常特徴データを生成し、前記第1生体情報の誤差特徴データに基づいてテンプレートを生成し、前記ユーザの識別情報及び前記テンプレートを対応付けて前記記憶装置に格納し、前記第1生体情報の定常特徴データに基づいて、暗号学的処理に用いる第1秘密情報を生成し、前記第1秘密情報に基づいて第1検証情報を生成し、前記ユーザの識別情報及び前記第1検証情報を対応付けて前記記憶装置に格納し、前記暗号学的処理の実行要求を受け付けた場合、ユーザから取得された第2生体情報に基づいて第2特徴データを生成し、前記テンプレート及び前記第2特徴データに基づいて、第2秘密情報を生成し、前記第2秘密情報に基づいて、第2検証情報を生成し、前記第1検証情報及び前記第2検証情報を比較することによって、前記第2秘密情報の検証を行い、前記第2秘密情報の検証の結果に基づいて、前記暗号学的処理を実行することを特徴とする。
本発明によれば、テンプレートのサイズを大幅に削減し、かつ、特徴データの推定が困難なバイオメトリック暗号技術を実現できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
以下、本発明に係る実施例を添付図面を用いて説明する。各図において共通の構成については同一の参照符号が付されている。
実施例1の生体認証システムでは、まず、生体認証システムに含まれる計算機が、ユーザの生体情報からテンプレート及び復元された秘密情報(秘密鍵)を検証するための検証情報を生成し、データベースに登録する。計算機は、暗号学的処理の実行に伴う秘密情報の検証を行う場合、登録されたテンプレート及び新たに取得したユーザの生体情報を用いて秘密情報を復元する。また、計算機は、復元された秘密情報及び検証情報に基づいて、秘密情報の検証を行い、検証結果に基づいてユーザ認証処理、暗号化処理、復号化処理、及び電子署名の生成処理などの暗号学的処理を実行する。
図1は、実施例1の生体認証システムの構成例を示す図である。図2は、実施例1の生体認証システムを構成する計算機のハードウェア構成の一例を示す図である。
生体認証システムは、登録端末100、認証端末110、DBサーバ120、及びネットワーク130から構成される。登録端末100、認証端末110、及びDBサーバ120は、ネットワーク130を介して互いに接続される。ネットワーク130は、LAN(Local Area Network)及びWAN(Wide Area Network)等が考えられる。なお、本実施例はネットワーク130の種別に限定されない。また、ネットワーク130の接続方式は有線及び無線のいずれでもよい。
登録端末100は、ユーザから生体情報を取得し、生体情報を用いてテンプレート及び検証情報を生成し、また、テンプレート及び検証情報をDBサーバ120に登録する。
ここで、登録端末100のハードウェア構成について説明する。図2に示すように登録端末100は、CPU200、メモリ201、記憶装置202、入力装置203、出力装置204、及び通信装置205を有する。なお、後述する認証端末110及びDBサーバ120も同一のハードウェア構成である。
CPU200は、登録端末100の演算装置であり、メモリ201に格納されるプログラムを実行する。CPU200がプログラムにしたがって処理を実行することによって、特定の機能を実現するモジュールとして動作する。以下の説明では、モジュールを主語に処理を説明する場合、CPU200が当該モジュールを実現するプログラムを実行していることを示す。
メモリ201は、登録端末100の主記憶装置であり、CPU200が実行するプログラム及びプログラムが使用するデータを格納する。また、メモリ201は、プログラムが一時的に使用する一時領域を含む。
記憶装置202は、登録端末100の副記憶装置であり、データを永続的に格納する。記憶装置202は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。
入力装置203は、登録端末100に各種データを入力するための装置であり、キーボード、マウス、タッチパネル、及びセンサなどを含む。
出力装置204は、各種情報を出力するための装置であり、タッチパネル及びディスプレイなどを含む。
通信装置205は、ネットワークを介して多の装置と通信するためのインタフェースである。
ここで、登録端末100の機能構成について説明する。登録端末100のメモリ201は、データ取得モジュール101、特徴データ抽出モジュール102、テンプレート生成モジュール103、秘密情報生成モジュール104、及び検証情報生成モジュール105を実現するプログラムを格納する。
データ取得モジュール101は、ユーザから指紋及び静脈などの登録用の生体情報を取得し、取得した登録用の生体情報を特徴データ抽出モジュール102に出力する。
特徴データ抽出モジュール102は、登録用の生体情報から登録用の特徴データを抽出し、抽出した登録用の特徴データをテンプレート生成モジュール103及び秘密情報生成モジュール104に出力する。
テンプレート生成モジュール103は、登録用の特徴データに基づいてテンプレートを生成する。テンプレート生成モジュール103は、テンプレートをDBサーバ120に送信することによって、当該テンプレートをテンプレートDB122に登録する。
秘密情報生成モジュール104は、登録用の特徴データに基づいて秘密情報を生成する。秘密情報生成モジュール104は、秘密情報を検証情報生成モジュール105に出力する。
検証情報生成モジュール105は、秘密情報に基づいて認証端末110が復元した秘密情報を検証するための検証情報を生成する。検証情報生成モジュール105は、検証情報をDBサーバ120に送信することによって、当該検証情報を検証情報DB123に登録する。
認証端末110は、ユーザから新たに生体情報を取得し、新たに取得した生体情報とテンプレートに基づいて秘密情報を復元し、復元された秘密情報の検証を行う。また、認証端末110は、復元された秘密情報の検証結果に基づいて、ユーザ認証処理、暗号化処理、復号化処理、及び電子署名の生成処理などの暗号学的処理を実行する。
ここで、認証端末110の機能構成について説明する。認証端末110のメモリ201は、データ取得モジュール111、特徴データ抽出モジュール112、秘密情報復元モジュール113、秘密情報検証モジュール114、及びデータ処理モジュール115を実現するプログラムを格納する。
データ取得モジュール111は、ユーザから秘密情報を生成するための生体情報を取得し、取得した生体情報を特徴データ抽出モジュール112に出力する。
特徴データ抽出モジュール112は、生体情報から特徴データを抽出し、抽出した特徴データを秘密情報復元モジュール113に出力する。
秘密情報復元モジュール113は、特徴データ及びテンプレートに基づいて秘密情報を復元し、復元された秘密情報を秘密情報検証モジュール114に出力する。
秘密情報検証モジュール114は、検証情報に基づいて復元された秘密情報の正しさを検証する。すなわち、登録端末100によって生成された秘密情報と、復元された秘密情報とが一致するか否かが判定される。
データ処理モジュール115は、秘密情報を用いて、認証処理、暗号化処理、復号化処理、及び電子署名生成処理などの暗号学的処理を実行する。
DBサーバ120は、生体認証システムにおいて使用される各種データを管理する。また、DBサーバ120は、データの登録処理及びデータの検索処理などを実行する。
ここで、DBサーバ120の機能構成について説明する。DBサーバ120のメモリ201は、データベース管理モジュール121を実現するプログラムを格納し、また、テンプレートDB122及び検証情報DB123を格納する。なお、テンプレートDB122及び検証情報DB123は、DBサーバ120の記憶装置202に格納されてもよい。
データベース管理モジュール121は、データの登録、更新、及び検索を行う。テンプレートDB122は、テンプレートを格納するデータベースである。テンプレートDB122には、ユーザの識別情報及びテンプレートを対応付けたデータが一つ以上格納される。例えば、ユーザの識別情報を格納するフィールド及びテンプレートを格納するフィールドから構成されるエントリを一つ以上含むテーブル形式のデータベースが考えられる。
検証情報DB123は、検証情報を格納するデータベースである。検証情報DB123には、ユーザの識別情報及び検証情報を対応付けたデータが一つ以上格納される。例えば、ユーザの識別情報を格納するフィールド及び検証情報を格納するフィールドから構成されるエントリを一つ以上含むテーブル形式のデータベースが考えられる。
本実施例では、一つのDBサーバ120がテンプレートDB122及び検証情報DB123を保持するが、複数のDBサーバ120から構成される分散データベースを用いて管理してもよい。この場合、各DBサーバ120にテンプレート及び検証情報が分散して格納される。テンプレート及び検証情報を分散して管理することによって、情報の漏えいリスクが減少するため、安全性を高めることができる。
なお、テンプレートDB122及び検証情報DB123の少なくともいずれかを認証端末110が保持してもよい。また、ICカード、USBメモリ、データをQRコード(QRコードは登録商標、以下同じ)に変換した印刷物などの可搬媒体、又は、スマートフォンなどの個人端末に、テンプレートDB122及び検証情報DB123の少なくともいずれかを格納してもよい。
本実施例では、登録端末100、認証端末110、及びDBサーバ120を物理的に独立した計算機として記載しているが、本発明はこれに限定されない。一つの計算機に複数の機能を統合してもよい。例えば、認証端末110及びDBサーバ120を一つの計算機を用いて実現してもよい。
なお、登録端末100、認証端末110、及びDBサーバ120の各々が有する各モジュールについては、二つ以上のモジュールを一つのモジュールにまとめてもよいし、一つのモジュールを機能毎に複数のモジュールに分けてもよい。
次に、実施例1の登録処理の詳細を図3を用いて説明する。図3は、実施例1の登録端末100が実行する登録処理を説明するフローチャートである。
登録端末100は、ユーザ又はオペレータの操作を受け付けた場合、以下で説明する登録処理を開始する。まず、登録端末100のデータ取得モジュール101は、入力装置203を用いてユーザから登録用の生体情報を取得する(ステップS301)。なお、データ取得モジュール101は、登録処理の開始時又は登録用の生体情報の取得時に、ユーザのID及び氏名など、ユーザの識別情報も取得する。
次に、登録端末100の特徴データ抽出モジュール102は、登録用の生体情報から登録用の特徴データを抽出する(ステップS302)。例えば、画像及び特徴ベクトルが特徴データとして抽出される。
次に、登録端末100のテンプレート生成モジュール103は、登録用の特徴データに基づいてテンプレートTを生成する(ステップS303)。テンプレートTの生成処理の詳細については後述する。
次に、登録端末100の秘密情報生成モジュール104は、登録用の特徴データに基づいて秘密情報skを生成する(ステップS304)。秘密情報skの生成処理の詳細については後述する。
次に、登録端末100の検証情報生成モジュール105は、秘密情報skに基づいて検証情報vkを生成する(ステップS305)。ここで、検証情報vkの生成方法の一例について説明する。秘密情報skに基づいて検証情報vkを生成する方法として以下の三つの方法が考えられる。
(生成方法1)検証情報生成モジュール105は、式(14)に示すように、任意の一方向性関数Hash()を用いて検証情報vkを生成する。一方向性関数Hash()は、例えば、SHA256及びSHA3等の暗号学的ハッシュ関数が考えられる。
(生成方法2)検証情報生成モジュール105は、式(15)に示すように、巡回群G=<g>及び秘密情報skの集合から整数集合への写像φを用いて検証情報vkを生成する。ここでgは、Gの生成元である。
生成された組(sk,vk)は、ElGamal暗号/署名、DSA、Schnorr署名、又はそれらの楕円曲線版アルゴリズムなど、多くの公開鍵暗号/電子署名アルゴリズムにおける秘密鍵及び公開鍵の組として扱うことができる。
(生成方法3)検証情報生成モジュール105は、式(16)に示すように、検証情報を生成するための秘密鍵又はパラメータであるpを変数とする関数Enc()を用いて検証情報vkを生成する。なお、pは、ユーザ単位又は登録用の生体情報単位に設定してもよいし、認証端末110単位又は生体認証システム単位に設定してもよい。
関数Enc()は、AES又はRSAなどにおける暗号化関数、及び鍵付きハッシュ関数などである。以上がステップS305の処理の説明である。
次に、登録端末100のテンプレート生成モジュール103及び検証情報生成モジュール105は、それぞれ、テンプレートT及び検証情報vkをDBサーバ120に登録する(ステップS306)。その後、登録端末100は、登録処理を終了する。
具体的には、テンプレート生成モジュール103は、ユーザの識別情報及びテンプレートTを含む登録要求をDBサーバ120に送信し、検証情報生成モジュール105は、ユーザの識別情報及び検証情報vkを含む登録要求をDBサーバ120に送信する。
DBサーバ120は、テンプレート生成モジュール103から登録要求を受信した場合、ユーザの識別情報及びテンプレートTを対応付けたデータをテンプレートDB122に登録する。また、DBサーバ120は、検証情報生成モジュール105から登録要求を受信した場合、ユーザの識別情報及び検証情報vkを対応付けたデータを検証情報DB123に登録する。
次に、実施例1における検証処理の詳細を図4を用いて説明する。図4は、実施例1の認証端末110が実行する検証処理を説明するフローチャートである。
認証端末110は、ユーザ又はオペレータの操作を受け付けた場合、以下で説明する認証処理を開始する。まず、認証端末110のデータ取得モジュール111は、入力装置203を用いてユーザから検証用の生体情報を取得する(ステップS401)。なお、データ取得モジュール111は、検証処理の開始時又は検証用の生体情報の取得時に、ユーザのID及び氏名など、ユーザの識別情報も取得する。
次に、認証端末110の特徴データ抽出モジュール112は、検証用の生体情報から検証用の特徴データを抽出する(ステップS402)。
次に、認証端末110の秘密情報復元モジュール113は、DBサーバ120のテンプレートDB122からテンプレートTを取得し、テンプレートT及び検証用の特徴データに基づいて秘密情報sk’を復元する(ステップS403)。秘密情報sk’の復元処理(生成処理)の詳細については後述する。
なお、秘密情報復元モジュール113は、テンプレートTを取得する場合、ユーザの識別情報を含むテンプレートの取得要求をDBサーバ120に送信する。DBサーバ120は、テンプレートDB122を参照して、ユーザの識別情報が対応付けられたテンプレートを検索し、検索結果を認証端末110に送信する。
次に、認証端末110の秘密情報検証モジュール114は、DBサーバ120の検証情報DB123から検証情報vkを取得し、検証情報vkに基づいて秘密情報sk’の正しさを検証する(ステップS404)。すなわち、sk’=skが成り立つか否かが判定される。
具体的には、秘密情報検証モジュール114は、秘密情報sk’から検証情報vk’を生成し、検証情報vk’とDBサーバ120から取得した検証情報vkとが一致するか否かを判定する。なお、検証情報vk’の生成方法は、検証情報vkの生成方法に応じて以下のような方法が考えられる。
(生成方法1)を採用した場合、検証情報vk’は式(17)で与えられ、(生成方法2)を採用した場合、検証情報vk’は式(18)で与えられ、(生成方法3)を採用した場合、検証情報vk’は式(19)で与えられる。なお、式(19)においてpは検証情報vkの生成時に用いた値と同一の値である。以上がステップS404の処理の説明である。
次に、認証端末110は、秘密情報sk’の検証結果に基づいて、暗号学的処理を実行する(ステップS405)。その後、認証端末110は、認証処理を終了する。
次に、テンプレートTの生成処理及び秘密情報skの生成処理の詳細を図5を用いて説明する。図5は、実施例1のテンプレートTの生成処理及び秘密情報skの生成処理を説明するフローチャートである。以下の説明ではベクトルの各要素の値は2進法又は10進法で表現されるものとする。
テンプレート生成モジュール103は、登録用の特徴データに対して変換処理及び正規化処理の少なくともいずれかを実行することによって、式(20)に示す登録用の正規化特徴ベクトルXを生成する(ステップS501)。登録用の正規化特徴ベクトルXの各要素X_iは実数である。なお、特徴データが既に正規化されている場合には、正規化処理は実行されなくてもよい。
なお、後述する検証用の正規化特徴ベクトルX’は式(21)のように表す。検証用の正規化特徴ベクトルX’の各要素X’_iは実数である。
また、二つの特徴ベクトルX、X’の距離を式(22)のように定義する。本実施例では、認証端末110は、式(23)を満たす場合、二つの特徴ベクトルX、X’が同一ユーザから取得した生体情報の特徴ベクトルであると判定する。
なお、ステップS501では、テンプレート生成モジュール103は、同一のユーザから取得した生体情報については高い確率で式(23)が成立し、また、異なるユーザから取得した生体情報については高い確率で式(23)が確立しないように、登録用の特徴データに対して適切な変換処理又はスケーリングを実行する。
次に、テンプレート生成モジュール103は、登録用の正規化特徴ベクトルXに基づいて、各要素X_iの整数部分を要素とする整数ベクトルXI、及び、各要素X_iの小数部分を要素とする小数ベクトルXDを生成する(ステップS502)。整数ベクトルXI及び小数ベクトルXDはそれぞれ式(24)及び式(25)のように表される。
具体的には、テンプレート生成モジュール103は、要素X_iの小数点以下を切り捨てることによって、整数ベクトルXIを生成する。また、テンプレート生成モジュール103は、式(26)の演算を実行することによって小数ベクトルXDを生成する。
次に、テンプレート生成モジュール103は、小数ベクトルXDの各要素XD_iを、小数点以下k桁に丸める丸め処理を実行し、式(27)に示すような丸め小数ベクトルXDrを生成する(ステップS503)。
具体的には、テンプレート生成モジュール103は、小数点第k+1位以下を丸める。これによって、小数点第k位までの値を要素とする丸め小数ベクトルXDrが生成される。例えば、2進数で表現された要素XDr_iがk桁、すなわち、kビットである場合、丸め小数ベクトルXDrのサイズはnkビットである。
なお、丸め処理の方法としては、切り捨て、切り上げ、最近接丸め、及び偶数丸めなどが考えられる。
このように要素の桁数を小さくすることによって、テンプレートTのサイズをさらに小さくできる。ただし、丸めるサイズが小さい場合、丸め処理による誤差によって秘密情報の復元処理が失敗する確率が高くなる。当該確率と丸めるサイズを指定するkとの関係については後述する。以下の説明では、丸め処理による誤差によって秘密情報の復元処理が失敗する確率を、エラー確率とも記載する。
次に、テンプレート生成モジュール103は、ソルトを生成する(ステップS504)。
具体的には、テンプレート生成モジュール103は、ランダムに生成された所定の長さ(例えば、sビット)の文字列若しくはビット列、又は、任意の数値範囲からランダムに生成された所定の長さの数値をソルトとして生成する。また、テンプレート生成モジュール103は、ユーザID及びカウンタなど、ユーザ毎又は登録用の生体情報毎に異なる値を用いてソルトを生成してもよい。ソルトの長さは、総当たり攻撃が困難な大きさ、例えば、128以上であればよい。
次に、テンプレート生成モジュール103は、丸め小数ベクトルXDr及びソルトに基づいてテンプレートTを生成する(ステップS505)。具体的には、テンプレート生成モジュール103は、式(28)に示すような丸め小数ベクトルXDr及びソルトの組を、テンプレートとして生成する。
なお、必ずしも小数ベクトルXDに対して丸め処理を実行しなくてもよい。また、必ずしもソルトを用いてテンプレートTを生成しなくてもよい。すなわち、小数ベクトルXD又は丸め小数ベクトルXDrのみからテンプレートTを生成してもよい。
以上がテンプレートの生成処理の説明である。なお、テンプレート生成モジュール103は、テンプレートTをテンプレートDB122に登録するとともに、整数ベクトルXI及びソルトを秘密情報生成モジュール104に出力する。
秘密情報生成モジュール104は、整数ベクトルXI及びソルトに基づいて秘密情報skを生成する(ステップS511)。
例えば、秘密情報検証モジュール114は、式(29)に示すように、SHA256又はSHA3などの一方向性関数Hash()に整数ベクトルXI及びソルトを連結したデータを入力することによって、秘密情報skを生成する。式(29)の記号「||」はデータの連結を表す。
また、秘密情報検証モジュール114は、式(30)に示すように、AESなどの暗号化関数又は鍵付きハッシュ関数などの関数Enc()に、整数ベクトルXI及びソルトを連結したデータ、並びに、任意のパラメータp’を入力することによって、秘密情報skを生成する。
以上が秘密情報の生成処理の説明である。
ここで、本実施例のテンプレートTの特徴について説明する。
前述したように丸め小数ベクトルXDrのデータサイズはnkビットである。ソルトの長さをsビットとした場合、テンプレートTのサイズは、式(28)から(nk+s)ビットとなる。
ここで、n=1000、k=8、s=128とした場合、テンプレートTのサイズは8128ビット(1016バイト)であり、約1kBである。文献1に記載の技術に基づいて生成されたテンプレートのサイズは38.5kBであることから、本実施例のテンプレートは、従来のテンプレートのサイズを約40分の1に圧縮できる。したがって、従来技術と比較して、テンプレートのサイズを大幅に小さくできるため、生体認証システムの効率性を高めることができる。
なお、小数ベクトルXDを用いてテンプレートTを生成する場合であっても、特徴ベクトルXの整数部分が削除されていることから、従来のテンプレートのサイズより十分小さい。
また、テンプレートTに含まれるソルトは生体情報に依存しない値である。そのため、攻撃者がテンプレートTから生体情報を推定するためには、テンプレートTに含まれる丸め小数ベクトルXDrから登録用の正規化特徴ベクトルXを推定する以外に方法がない。
丸め小数ベクトルXDrは、登録用の正規化特徴ベクトルXの小数部分を丸めることによって生成されたデータである。より具体的には、丸め小数ベクトルXDrは、特徴ベクトルXの整数部分及び小数点第k+1位以下が削除されたデータである。生体情報は、同じユーザから取得した場合であっても誤差が生ずることから、正規化特徴ベクトルXについても各要素について±0.5程度の範囲内で確率的な誤差が生じる。したがって、小数部分にはユーザを識別する情報がほとんど含まれていないことから、丸め小数ベクトルXDrから正規化特徴ベクトルXを推定又は復元するのは十分に困難である。
以上のことから、本実施例のテンプレートの生成方法を適応することによって、テンプレートのサイズを削減し、かつ、十分な安全性を確保できる。
なお、本実施例では特徴ベクトルを用いてテンプレートTを生成しているが、特徴ベクトル以外のデータを用いても同様の特徴を有するテンプレートTを生成できる。すなわち、登録端末100は、特徴データ又は特徴データを用いて生成されたデータに基づいて、生体情報に発生する誤差部分のデータである誤差データ及び誤差データ以外のデータである定常データを生成する。登録端末100は、誤差データを用いてテンプレートTを生成し、また、定常データを用いて秘密情報skを生成する。
次に、秘密情報sk’の復元処理の詳細を図6を用いて説明する。図6は、実施例1の秘密情報sk’の復元処理を説明するフローチャートである。
秘密情報復元モジュール113は、検証用の特徴データに対して変換処理及び正規化処理の少なくともいずれかを実行することによって、式(21)に示す検証用の正規化特徴ベクトルX’を生成する(ステップS601)。なお、特徴データが既に正規化されている場合には、正規化処理は実行されなくてもよい。
次に、秘密情報復元モジュール113は、取得したテンプレートTに含まれる丸め小数ベクトルXDr及び検証用の正規化特徴ベクトルX’に基づいて、式(31)に示す差分特徴ベクトルXCを算出する(ステップS602)。
具体的には、秘密情報復元モジュール113は、式(32)に示す演算を実行する。
次に、秘密情報復元モジュール113は、差分特徴ベクトルXCに基づいて、式(33)に示す復元整数ベクトルXI’を生成する(ステップS603)。
具体的には、秘密情報復元モジュール113は、式(34)に示す演算を実行する。記号「[ ]」は、括弧内の値の小数部分を切り捨てて、整数部分を取り出す演算を表す。
次に、秘密情報復元モジュール113は、復元整数ベクトルXI’及び取得したテンプレートTに含まれるソルトに基づいて復元秘密情報sk’を生成する(ステップS604)。秘密情報の生成方法は、ステップS511と同様の処理である。
ここで、秘密情報sk及び復元秘密情報sk’の検証について説明する。
ε_iを式(35)で定義する。ここで、ε_iは、丸め小数ベクトルXDrの丸め誤差を表す値であり、小数点第k+1位以下の値である。したがって、ε_iの絶対値は2-k未満となる。
式(26)、式(32)、及び式(35)より、式(34)は式(36)のように変形できる。
式(22)で定義した距離が式(37)を満たし、かつ、ε_i=0である場合、式(38)が必ず成立する。また、式(38)が成立する場合、秘密情報sk、sk’は、整数ベクトルXI、XI’及びソルトから生成され、かつ、同じ生成方法であることから、式(39)が成立する。また、式(39)が成り立つ場合、検証情報vk、vk’は一致する。
式(37)が成立する場合、0ではないε_iが十分小さいと高い確率で式(38)が成立する。逆に、式(38)が成立しないケースは式(40)を満たす場合に限られる。したがって、エラー確率は、おおよそ2-kに比例するため、丸め処理におけるパラメータkの増加に伴って指数関数的に減少する。したがって、kが8から16の間の値の場合、検証処理の精度は十分高い。
ただし、テンプレートTのサイズは、パラメータkの大きさに比例するため、kの値は検証処理の精度及び効率性のバランスを考慮して決定する必要がある。
以上で説明したように、本実施例によれば、テンプレートTのサイズを大幅に削減でき、また、テンプレートTから元の特徴データXを推定するための攻撃に対する耐性を高めることができる。したがって、高い効率性及び安全性が保証されたバイオメトリック暗号技術を実現できる。
特許請求の範囲に記載した以外の発明の観点の代表的なものとして、次のものがあげられる。
(1)データの秘匿に用いる秘密情報を用いた暗号学的処理を実行する計算機であって、
前記計算機は、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有し、
前記インタフェースを介して、入力された第1生体情報から生成された第1特徴データに発生する誤差を示す誤差特徴データに基づいて生成されたテンプレート、及び前記特徴データの誤差特徴データ以外の部分を示す定常特徴データに基づいて生成された第1検証情報を管理するデータベースと接続し、
前記演算装置は、
前記暗号学的処理の実行要求を受け付けた場合、ユーザから取得された第2生体情報に基づいて第2特徴データを生成し、
前記テンプレート及び前記第2特徴データに基づいて、第2秘密情報を生成し、
前記第2秘密情報に基づいて、第2検証情報を生成し、
前記第1検証情報及び前記第2検証情報を比較することによって前記第2秘密情報を検証し、
前記第2秘密情報の検証の結果に基づいて、前記暗号学的処理を実行することを特徴とする計算機。
(2)(1)に記載の計算機であって、
前記第1特徴データ及び前記第2特徴データは、実数を要素とする特徴ベクトルであり、
前記誤差特徴データは、前記特徴ベクトルの各要素の小数部分を要素とするベクトルであり、
前記定常特徴データは、前記特徴ベクトルの各要素の整数部分を要素とするベクトルであることを特徴とする計算機。
(3)(2)に記載の計算機であって、
前記演算装置は、
前記第2特徴データ及び前記テンプレートに含まれる前記第1生体情報の誤差特徴データに基づいて、前記第2生体情報の定常特徴データを生成し、
ハッシュ関数、鍵付きハッシュ関数、及び暗号化関数の少なくともいずれかに、前記第2生体情報の定常特徴データを入力することによって前記第2秘密情報を生成することを特徴とする計算機。
(1)データの秘匿に用いる秘密情報を用いた暗号学的処理を実行する計算機であって、
前記計算機は、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有し、
前記インタフェースを介して、入力された第1生体情報から生成された第1特徴データに発生する誤差を示す誤差特徴データに基づいて生成されたテンプレート、及び前記特徴データの誤差特徴データ以外の部分を示す定常特徴データに基づいて生成された第1検証情報を管理するデータベースと接続し、
前記演算装置は、
前記暗号学的処理の実行要求を受け付けた場合、ユーザから取得された第2生体情報に基づいて第2特徴データを生成し、
前記テンプレート及び前記第2特徴データに基づいて、第2秘密情報を生成し、
前記第2秘密情報に基づいて、第2検証情報を生成し、
前記第1検証情報及び前記第2検証情報を比較することによって前記第2秘密情報を検証し、
前記第2秘密情報の検証の結果に基づいて、前記暗号学的処理を実行することを特徴とする計算機。
(2)(1)に記載の計算機であって、
前記第1特徴データ及び前記第2特徴データは、実数を要素とする特徴ベクトルであり、
前記誤差特徴データは、前記特徴ベクトルの各要素の小数部分を要素とするベクトルであり、
前記定常特徴データは、前記特徴ベクトルの各要素の整数部分を要素とするベクトルであることを特徴とする計算機。
(3)(2)に記載の計算機であって、
前記演算装置は、
前記第2特徴データ及び前記テンプレートに含まれる前記第1生体情報の誤差特徴データに基づいて、前記第2生体情報の定常特徴データを生成し、
ハッシュ関数、鍵付きハッシュ関数、及び暗号化関数の少なくともいずれかに、前記第2生体情報の定常特徴データを入力することによって前記第2秘密情報を生成することを特徴とする計算機。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
Claims (12)
- 少なくとも一つの計算機を含む計算機システムであって、
前記少なくとも一つの計算機は、演算装置及び前記演算装置に接続される記憶装置を有し、
前記演算装置は、
ユーザから取得された第1生体情報に基づいて第1特徴データを生成し、
前記第1特徴データに基づいて、前記第1生体情報に発生する誤差を示す誤差特徴データ及び前記第1生体情報に発生する誤差以外の部分を示す定常特徴データを生成し、
前記第1生体情報の誤差特徴データに基づいてテンプレートを生成し、前記ユーザの識別情報及び前記テンプレートを対応付けて前記記憶装置に格納し、
前記第1生体情報の定常特徴データに基づいて、暗号学的処理に用いる第1秘密情報を生成し、前記第1秘密情報に基づいて第1検証情報を生成し、前記ユーザの識別情報及び前記第1検証情報を対応付けて前記記憶装置に格納し、
前記暗号学的処理の実行要求を受け付けた場合、ユーザから取得された第2生体情報に基づいて第2特徴データを生成し、
前記テンプレート及び前記第2特徴データに基づいて、第2秘密情報を生成し、
前記第2秘密情報に基づいて、第2検証情報を生成し、
前記第1検証情報及び前記第2検証情報を比較することによって、前記第2秘密情報の検証を行い、
前記第2秘密情報の検証の結果に基づいて、前記暗号学的処理を実行することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記第1特徴データ及び前記第2特徴データは、実数を要素とする特徴ベクトルであり、
前記誤差特徴データは、前記特徴ベクトルの各要素の小数部分を要素とするベクトルであり、
前記定常特徴データは、前記特徴ベクトルの各要素の整数部分を要素とするベクトルであることを特徴とする計算機システム。 - 請求項2に記載の計算機システムであって、
前記演算装置は、
前記誤差特徴データの各要素の値を丸める丸め処理を実行し、
前記丸め処理が実行された前記第1生体情報の誤差特徴データを前記テンプレートとして生成することを特徴とする計算機システム。 - 請求項2に記載の計算機システムであって、
前記演算装置は、
任意の長さのデータ列であるソルトを生成し、
前記丸め処理が実行された第1生体情報の誤差特徴データ及び前記ソルトの組を前記テンプレートとして生成することを特徴とする計算機システム。 - 請求項2に記載の計算機システムであって、
前記演算装置は、
ハッシュ関数、鍵付きハッシュ関数、及び暗号化関数の少なくともいずれかに、前記第1生体情報の定常特徴データを入力することによって前記第1秘密情報を生成し、
前記第2特徴データ及び前記テンプレートに含まれる前記第1生体情報の誤差特徴データに基づいて、前記第2生体情報の定常特徴データを生成し、
前記ハッシュ関数、前記鍵付きハッシュ関数、及び前記暗号化関数の少なくともいずれかに、前記第2生体情報の定常特徴データを入力することによって前記第2秘密情報を生成することを特徴とする計算機システム。 - 秘密情報を用いて暗号学的処理を実行する計算機システムにおける秘密情報の検証方法であって、
前記計算機システムは、演算装置及び前記演算装置に接続される記憶装置を有する少なくとも一つの計算機を含み、
前記秘密情報の検証方法は、
前記演算装置が、ユーザから取得された第1生体情報に基づいて第1特徴データを生成する第1のステップと、
前記演算装置が、前記第1特徴データに基づいて、前記第1生体情報に発生する誤差を示す誤差特徴データ及び前記第1生体情報に発生する誤差以外の部分を示す定常特徴データを生成する第2のステップと、
前記演算装置が、前記第1生体情報の誤差特徴データに基づいてテンプレートを生成し、前記ユーザの識別情報及び前記テンプレートを対応付けて前記記憶装置に格納する第3のステップと、
前記演算装置が、前記第1生体情報の定常特徴データに基づいて、前記暗号学的処理に用いる第1秘密情報を生成し、前記第1秘密情報に基づいて第1検証情報を生成し、前記ユーザの識別情報及び前記第1検証情報を対応付けて前記記憶装置に格納する第4のステップと、
前記演算装置が、前記暗号学的処理の実行要求を受け付けた場合、ユーザから取得された第2生体情報に基づいて第2特徴データを生成する第5のステップと、
前記演算装置が、前記テンプレート及び前記第2特徴データに基づいて、第2秘密情報を生成する第6のステップと、
前記演算装置が、前記第2秘密情報に基づいて、第2検証情報を生成する第7のステップと、
前記演算装置が、前記第1検証情報及び前記第2検証情報を比較することによって、前記第2秘密情報の検証を行う第8のステップと、
前記演算装置が、前記第2秘密情報の検証の結果に基づいて、前記暗号学的処理を実行する第9のステップとことを特徴とする秘密情報の検証方法。 - 請求項6に記載の秘密情報の検証方法であって、
前記第1特徴データ及び前記第2特徴データは、実数を要素とする特徴ベクトルであり、
前記誤差特徴データは、前記特徴ベクトルの各要素の小数部分を要素とするベクトルであり、
前記定常特徴データは、前記特徴ベクトルの各要素の整数部分を要素とするベクトルであることを特徴とする秘密情報の検証方法。 - 請求項7に記載の秘密情報の検証方法であって、
前記第3のステップは、
前記演算装置が、前記誤差特徴データの各要素の値を丸める丸め処理を実行するステップと、
前記演算装置が、前記丸め処理が実行された前記第1生体情報の誤差特徴データを前記テンプレートとして生成するステップと、を含むことを特徴とする秘密情報の検証方法。 - 請求項7に記載の秘密情報の検証方法であって、
前記第3のステップは、
前記演算装置が、任意の長さのデータ列であるソルトを生成するステップと、
前記演算装置が、前記丸め処理が実行された第1生体情報の誤差特徴データ及び前記ソルトの組を前記テンプレートとして生成するステップと、を含むことを特徴とする秘密情報の検証方法。 - 請求項7に記載の秘密情報の検証方法であって、
前記第4のステップは、前記演算装置が、ハッシュ関数、鍵付きハッシュ関数、及び暗号化関数の少なくともいずれかに、前記第1生体情報の定常特徴データを入力することによって前記第1秘密情報を生成するステップを含み、
前記第6のステップは、
前記演算装置が、前記第2特徴データ及び前記テンプレートに含まれる前記第1生体情報の誤差特徴データに基づいて、前記第2生体情報の定常特徴データを生成するステップと、
前記演算装置が、前記ハッシュ関数、前記鍵付きハッシュ関数、及び前記暗号化関数の少なくともいずれかに、前記第2生体情報の定常特徴データを入力することによって前記第2秘密情報を生成するステップと、を含むことを特徴とする秘密情報の検証方法。 - データの秘匿に用いる秘密情報の生成に用いるテンプレートを生成する計算機であって、
前記計算機は、演算装置及び前記演算装置に接続される記憶装置を有し、
前記演算装置は、
ユーザから取得された第1生体情報に基づいて第1特徴データを生成し、
前記第1特徴データに基づいて、前記第1生体情報に発生する誤差を示す誤差特徴データ及び前記第1生体情報に発生する誤差以外の部分を示す定常特徴データを生成し、
前記誤差特徴データの各要素の値を丸める丸め処理を実行し、
任意の長さのデータ列であるソルトを生成し、
前記丸め処理が実行された前記第1生体情報の誤差特徴データ及び前記ソルトに基づいて、検証対象の第2秘密情報の生成に用いるテンプレートを生成し、前記ユーザの識別情報及び前記テンプレートを対応付けて前記記憶装置に格納し、
前記第1生体情報の定常特徴データに基づいて第1秘密情報を生成し、前記第1秘密情報に基づいて、前記第2秘密情報の検証に用いる検証情報を生成し、前記ユーザの識別情報及び前記検証情報を対応付けて前記記憶装置に格納することを特徴とする計算機。 - 請求項11に記載の計算機であって、
前記第1特徴データは、実数を要素とする特徴ベクトルであり、
前記誤差特徴データは、前記特徴ベクトルの各要素の小数部分を要素とするベクトルであり、
前記定常特徴データは、前記特徴ベクトルの各要素の整数部分を要素とするベクトルであることを特徴とする計算機。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880014741.1A CN110383758B (zh) | 2017-06-09 | 2018-01-25 | 计算机***、秘密信息的验证方法以及计算机 |
EP18813135.3A EP3637674A4 (en) | 2017-06-09 | 2018-01-25 | COMPUTER SYSTEM, PROCESS FOR VERIFYING SECRET INFORMATION AND COMPUTER |
US16/494,652 US11227037B2 (en) | 2017-06-09 | 2018-01-25 | Computer system, verification method of confidential information, and computer |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017114026A JP6821516B2 (ja) | 2017-06-09 | 2017-06-09 | 計算機システム、秘密情報の検証方法、及び計算機 |
JP2017-114026 | 2017-06-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018225291A1 true WO2018225291A1 (ja) | 2018-12-13 |
Family
ID=64566458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/002213 WO2018225291A1 (ja) | 2017-06-09 | 2018-01-25 | 計算機システム、秘密情報の検証方法、及び計算機 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11227037B2 (ja) |
EP (1) | EP3637674A4 (ja) |
JP (1) | JP6821516B2 (ja) |
CN (1) | CN110383758B (ja) |
WO (1) | WO2018225291A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020189308A1 (ja) * | 2019-03-20 | 2020-09-24 | 株式会社日立製作所 | 認証情報管理サーバ装置、認証情報管理システム及び認証情報管理方法 |
CN113162898A (zh) * | 2021-01-04 | 2021-07-23 | 浪潮云信息技术股份公司 | 一种移动智能终端离线状态下的人员信息采集工具及方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9735958B2 (en) | 2015-05-19 | 2017-08-15 | Coinbase, Inc. | Key ceremony of a security system forming part of a host computer for cryptographic transactions |
JP6821516B2 (ja) * | 2017-06-09 | 2021-01-27 | 株式会社日立製作所 | 計算機システム、秘密情報の検証方法、及び計算機 |
US11394543B2 (en) * | 2018-12-13 | 2022-07-19 | Coinbase, Inc. | System and method for secure sensitive data storage and recovery |
KR20200100481A (ko) * | 2019-02-18 | 2020-08-26 | 삼성전자주식회사 | 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법 |
US20240104182A1 (en) * | 2021-01-29 | 2024-03-28 | Nec Corporation | Biometric authentication system, template updating method therefor, storage medium, biometric authentication client device, and biometric authentication server device |
JP2024010408A (ja) * | 2022-07-12 | 2024-01-24 | 株式会社日立製作所 | メッセージ提示システム、提示用装置、及びメッセージ提示方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002538504A (ja) * | 1999-02-11 | 2002-11-12 | アールエスエイ セキュリティー インコーポレーテッド | ファジー・コミットメント方式 |
US20040148509A1 (en) * | 2001-03-23 | 2004-07-29 | Yong Dong Wu | Method of using biometric information for secret generation |
JP2016072836A (ja) * | 2014-09-30 | 2016-05-09 | 株式会社日立製作所 | 逐次バイオメトリック暗号システムおよび逐次バイオメトリック暗号処理方法 |
JP2017114026A (ja) | 2015-12-25 | 2017-06-29 | 宇部エクシモ株式会社 | 中空構造板 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219368B2 (en) | 1999-02-11 | 2007-05-15 | Rsa Security Inc. | Robust visual passwords |
WO2001092994A2 (en) * | 2000-06-02 | 2001-12-06 | Kinetic Sciences Inc. | Method for biometric encryption of e-mail |
EP1403783A3 (en) * | 2002-09-24 | 2005-01-19 | Matsushita Electric Industrial Co., Ltd. | Audio signal feature extraction |
US8014570B2 (en) | 2004-11-16 | 2011-09-06 | Activcard, Inc. | Method for improving false acceptance rate discriminating for biometric authentication systems |
EP2127200B1 (en) * | 2006-12-28 | 2017-07-19 | Telecom Italia S.p.A. | Method and system for biometric authentication and encryption |
US20120150450A1 (en) | 2009-09-09 | 2012-06-14 | Nec Corporation | Biometric authentication system, method, and program |
JP5270514B2 (ja) * | 2009-10-23 | 2013-08-21 | 株式会社日立製作所 | 生体認証方法及び計算機システム |
JP6321049B2 (ja) | 2014-01-28 | 2018-05-09 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム |
US9672409B2 (en) * | 2015-07-03 | 2017-06-06 | Fingerprint Cards Ab | Apparatus and computer-implemented method for fingerprint based authentication |
KR102330327B1 (ko) * | 2016-11-29 | 2021-11-24 | 삼성전자주식회사 | 압력에 기초한 지문 인식 방법 및 장치 |
SE1750530A1 (en) * | 2017-05-02 | 2018-11-03 | Fingerprint Cards Ab | Extracting fingerprint feature data from a fingerprint image |
JP6821516B2 (ja) * | 2017-06-09 | 2021-01-27 | 株式会社日立製作所 | 計算機システム、秘密情報の検証方法、及び計算機 |
-
2017
- 2017-06-09 JP JP2017114026A patent/JP6821516B2/ja active Active
-
2018
- 2018-01-25 EP EP18813135.3A patent/EP3637674A4/en active Pending
- 2018-01-25 US US16/494,652 patent/US11227037B2/en active Active
- 2018-01-25 CN CN201880014741.1A patent/CN110383758B/zh active Active
- 2018-01-25 WO PCT/JP2018/002213 patent/WO2018225291A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002538504A (ja) * | 1999-02-11 | 2002-11-12 | アールエスエイ セキュリティー インコーポレーテッド | ファジー・コミットメント方式 |
US20040148509A1 (en) * | 2001-03-23 | 2004-07-29 | Yong Dong Wu | Method of using biometric information for secret generation |
JP2016072836A (ja) * | 2014-09-30 | 2016-05-09 | 株式会社日立製作所 | 逐次バイオメトリック暗号システムおよび逐次バイオメトリック暗号処理方法 |
JP2017114026A (ja) | 2015-12-25 | 2017-06-29 | 宇部エクシモ株式会社 | 中空構造板 |
Non-Patent Citations (4)
Title |
---|
GANG ZHENG: "Cryptographic Key Generation from Biometric Data Using Lattice Mapping", 18TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR'06, 2006 |
LI, Q. ET AL.: "Secure Sketch for Biometric Templates", LECTURE NOTES IN COMPUTERE SCIENCE, vol. 4284, 2006, pages 99 - 113, XP019051562 * |
See also references of EP3637674A4 |
ZHENG, G. ET AL.: "Cryptographic Key Generation from Biometric Data Using Lattice Mapping", PROCEEDINGS THE 18TH INTERNATONAL CONFERENCE ON PATTERN RECOGNITION, August 2006 (2006-08-01), pages 513 - 516, XP055555361 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020189308A1 (ja) * | 2019-03-20 | 2020-09-24 | 株式会社日立製作所 | 認証情報管理サーバ装置、認証情報管理システム及び認証情報管理方法 |
JP2020154750A (ja) * | 2019-03-20 | 2020-09-24 | 株式会社日立製作所 | 認証情報管理サーバ装置、認証情報管理システム及び認証情報管理方法 |
JP7099975B2 (ja) | 2019-03-20 | 2022-07-12 | 株式会社日立製作所 | 認証情報管理サーバ装置、認証情報管理システム及び認証情報管理方法 |
CN113162898A (zh) * | 2021-01-04 | 2021-07-23 | 浪潮云信息技术股份公司 | 一种移动智能终端离线状态下的人员信息采集工具及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3637674A1 (en) | 2020-04-15 |
US11227037B2 (en) | 2022-01-18 |
CN110383758A (zh) | 2019-10-25 |
JP6821516B2 (ja) | 2021-01-27 |
EP3637674A4 (en) | 2020-12-09 |
CN110383758B (zh) | 2022-03-01 |
JP2018207433A (ja) | 2018-12-27 |
US20200019685A1 (en) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018225291A1 (ja) | 計算機システム、秘密情報の検証方法、及び計算機 | |
CN107925581B (zh) | 生物体认证***以及认证服务器 | |
US20170104752A1 (en) | Method of processing a ciphertext, apparatus, and storage medium | |
WO2019018046A1 (en) | EXTRACTOR OF PRACTICAL REUSABLE APPROXIMATE VALUES BASED ON ERROR ASSUMPTION HYPOTHESIS AND RANDOM ORACLE | |
US9712499B2 (en) | Method and apparatus for cryptographic processing | |
KR102008101B1 (ko) | 함수 암호를 이용한 안전한 바이오 인증 방법 | |
CN112948795A (zh) | 保护隐私的身份认证方法及装置 | |
KR20210032088A (ko) | 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법 | |
JP7060449B2 (ja) | 生体認証システム、生体認証方法、及び生体認証プログラム | |
US11706032B2 (en) | Method and apparatus for user authentication | |
KR101838432B1 (ko) | 바이오매트릭스와 함수암호-내적을 이용한 인증 방법 및 시스템 | |
JP7021375B2 (ja) | 計算機システム、秘密情報の検証方法、及び計算機 | |
WO2021106334A1 (ja) | 鍵生成装置、鍵利用装置、及び鍵生成方法 | |
Gunasinghe et al. | Privacy preserving biometrics-based and user centric authentication protocol | |
JP4999472B2 (ja) | 情報処理装置及び演算方法 | |
JP7320101B2 (ja) | 計算機システム、サーバ、端末、プログラム、及び情報処理方法 | |
WO2023127068A1 (ja) | 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法 | |
JP7061083B2 (ja) | 署名システム、署名方法及びプログラム | |
JP6216567B2 (ja) | 生体署名システム | |
JP2023031772A (ja) | 生体認証システム、生体認証サーバ、及び生体認証方法 | |
US20230370261A1 (en) | Comparison system, comparison method and computer readable medium | |
WO2023127069A1 (ja) | 照合システム、照合方法、および照合プログラム | |
WO2024150508A1 (ja) | 認証方法及び認証システム | |
KR20180097060A (ko) | 바이오매트릭스를 이용하여 키를 생성하는 방법 및 시스템 | |
JP6492141B2 (ja) | ベクトル変換システム及びベクトル変換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18813135 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2018813135 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2018813135 Country of ref document: EP Effective date: 20200109 |