WO2021106334A1 - 鍵生成装置、鍵利用装置、及び鍵生成方法 - Google Patents

鍵生成装置、鍵利用装置、及び鍵生成方法 Download PDF

Info

Publication number
WO2021106334A1
WO2021106334A1 PCT/JP2020/035536 JP2020035536W WO2021106334A1 WO 2021106334 A1 WO2021106334 A1 WO 2021106334A1 JP 2020035536 W JP2020035536 W JP 2020035536W WO 2021106334 A1 WO2021106334 A1 WO 2021106334A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
sphere
arrangement
point
conversion
Prior art date
Application number
PCT/JP2020/035536
Other languages
English (en)
French (fr)
Inventor
高橋 健太
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to EP20893777.1A priority Critical patent/EP4068676A4/en
Priority to KR1020227016509A priority patent/KR20220082061A/ko
Priority to US17/779,202 priority patent/US20220405369A1/en
Priority to CN202080080313.6A priority patent/CN114762287A/zh
Publication of WO2021106334A1 publication Critical patent/WO2021106334A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Definitions

  • the present invention relates to a key generation device, a key utilization device, and a key generation method.
  • Biometric authentication technology that authenticates individuals based on biometric information such as fingerprints, veins, faces, and irises is widely used.
  • the feature data (template) extracted from the user's biometric information is registered in the system at the time of user registration, and the feature data extracted from the user's biometric information is compared with the template again at the time of user authentication. If the distance is close enough, it is judged that the authentication is successful, otherwise it is judged that the authentication is unsuccessful.
  • biometric cryptography that generates key data from biometric information and performs processing such as cryptographic authentication, encryption, and signature generation.
  • the protection template T is created by converting the feature data X of biometric information and embedding the private key K at the time of registration. After that, the private key K is restored from the newly acquired feature data X'of the biometric information and the protection template T. If the restoration is successful, the private key K can be used for processing such as cryptographic authentication, encryption and decryption, and generation of an electronic signature. In biometric cryptography, it must be difficult enough to recover or estimate X from T (security requirement). Also, if the distance between X'and X is short, and only then, the private key restoration process must be successful.
  • Non-Patent Document 1 As a method for realizing biometric encryption, for example, the technique described in Non-Patent Document 1 can be applied when feature data X and X'are represented by bit strings and their proximity is defined by a Hamming distance. A method applicable when the feature data X and X'are expressed as a set and their closeness is defined by
  • pattern recognition methods that form the basis of biometrics authentication express feature data as vectors on high-dimensional Euclidean space, and express proximity as Euclidean distance or normalized Euclidean distance (cosine distance or normalized cross-correlation). Includes).
  • feature vector extraction and matching methods from facial images using deep learning and feature vector extraction and matching methods such as principal component analysis, discriminant analysis, and phase-limited correlation for various images such as fingerprints, palm prints, and veins are living organisms. It can be regarded as a method of extracting feature vectors of high-dimensional space from information and collating them by Euclidean distance.
  • Non-Patent Document 1 cannot be applied to such an Euclidean distance. Therefore, the method described in Non-Patent Document 2 attempts to realize a biometric cipher or a biometric signature approximately based on the Euclidean distance by using a triangular lattice.
  • Non-Patent Document 2 has a problem that the authentication accuracy deteriorates rapidly (exponentially) as the dimension becomes larger. Therefore, it is difficult to apply it to actual biometric information and achieve practical authentication accuracy.
  • one aspect of the present invention aims to realize highly accurate authentication in biometric encryption and biometric signature based on a feature vector on a high-dimensional Euclidean space.
  • the key generator that generates a key from biometric information includes a processor and a memory, and the memory has a first feature vector indicating a feature of the first biometric information and a density of less than 1 and higher than a predetermined value.
  • the processor holds the sphere-packed arrangement or the parameter for specifying the sphere-packed arrangement having a density of 1 or more and lower than a predetermined value, and the processor bases the sphere-packed arrangement or the sphere-coated arrangement based on the parameter. Is specified, the first point included in the specified sphere packing arrangement or the sphere coating arrangement is selected, and a predetermined first conversion is performed on the first point to generate a first key. ,
  • the template corresponding to the first biometric information is generated based on the first feature vector and the first point.
  • One aspect of the present invention can realize highly accurate authentication in biometric encryption and biometric signature based on a feature vector on a high-dimensional Euclidean space.
  • FIG. 1 It is a block diagram which shows the structural example of the biometric authentication system in Example 1.
  • FIG. In the first embodiment it is a flowchart which shows an example of the registration process of a template and verification information. It is a flowchart which shows an example of the authentication process in Example 1.
  • FIG. It is a flowchart which shows the detailed example of the key generation process and the template generation process in Example 1.
  • FIG. It is a flowchart which shows the detailed example of the key restoration processing in Example 1.
  • FIG. It is a block diagram which shows the hardware configuration example of the computer which constitutes each of a key registration terminal, a key use terminal, and a DB server in Example 1.
  • the biometric authentication system of this embodiment creates and registers a template from the user's biometric information and verification information for verifying the key, and uses this template and the newly acquired user's biometric information to create a key.
  • the key is used for user authentication, data encryption and decryption, and creation of electronic signatures.
  • FIG. 1 is a block diagram showing a configuration example of a biometric authentication system.
  • the biometric authentication system includes, for example, one or more key registration terminals 100, one or more key use terminals 110, and a DB (DataBase) server 120 connected to each other by a network 130 such as the Internet.
  • DB DataBase
  • any two or all of the key registration terminal 100, the key use terminal 110, and the DB server 120 may be mounted in the same device. Also, if all three are mounted in the same device, the network 130 may not be present.
  • the key registration terminal 100 creates and registers a template and verification information from the biometric information of the user.
  • the key registration terminal 100 is composed of, for example, an input / output processing unit 101 that processes input from a user or another device and output from another device, and biometric information for registration such as a face or vein acquired from the user by a sensor.
  • the feature extraction unit 102 that extracts the registration feature data
  • the key generation unit 103 that generates the key
  • the template generation unit 104 that generates the template from the registration feature data
  • the correctness of the key generated by the key use terminal 110 That is, it includes a verification information generation unit 105 that generates verification information for verifying (whether the key generated by the key registration terminal 100 and the key generated by the key use terminal 110 match).
  • the key registration terminal 100 has a parameter storage unit 106 that holds parameters for designating the sphere packing arrangement and the sphere coating arrangement, which will be described later.
  • the key-using terminal 110 newly acquires the biometric information of the user, restores the key from the acquired biometric information and the template, and performs user authentication, data encryption and decryption, creation of an electronic signature, and the like.
  • the key-using terminal 110 has an input / output processing unit 111 that processes inputs from the user and other devices and outputs from other devices, and a feature extraction unit 112 that extracts feature data from biometric information acquired from the user by a sensor.
  • a key recovery unit 113 that restores the key from the feature data and the template, a key verification unit 114 that verifies the correctness of the key, and encryption such as authentication, encryption, decryption, and digital signature generation using the key.
  • the key registration terminal 100 has a parameter storage unit 116 that holds parameters for designating the sphere packing arrangement and the sphere coating arrangement, which will be described later.
  • the DB server 120 registers and manages templates and verification information.
  • the DB server 120 includes a registration / search unit 121 that registers and searches templates and verification information. Further, the DB server 120 has a template DB 123 that holds a template and a verification information DB 124 that holds verification information.
  • the template DB 123 may be associated with the user ID corresponding to the template and may be retained, or the verification information DB 124 may be associated with and retained the user ID corresponding to the verification information.
  • the template DB 123 and the verification information DB 124 may be distributed and managed on separate servers and terminals. By managing in a distributed manner in this way, it is possible to further improve the safety against the risk of leakage. Further, at least one of the template and the verification information may be stored and managed in the key use terminal 110. Further, at least one of the template and the verification information may be stored and managed in a portable medium such as an IC card, a USB memory, a mobile terminal, a paper printed in a two-dimensional code, or a personal management terminal such as a smartphone.
  • a portable medium such as an IC card, a USB memory, a mobile terminal, a paper printed in a two-dimensional code, or a personal management terminal such as a smartphone.
  • FIG. 6 is a block diagram showing a hardware configuration example of a computer constituting each of the key registration terminal 100, the key use terminal 110, and the DB server 120.
  • the computer includes a CPU (Control Processing Unit) 600, a memory 601, an auxiliary storage device 602, an input device 603, an output device 604, a communication device 605, and a sensor 606, which are connected to each other by an internal communication line such as a bus. Has been done. However, the computer constituting the DB server 120 does not have to include the sensor 606.
  • the CPU 600 includes a processor and executes a program stored in the memory 601.
  • the memory 601 includes a ROM which is a non-volatile storage element and a RAM which is a volatile storage element.
  • the ROM stores an invariant program (for example, BIOS) and the like.
  • the RAM is a high-speed and volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores a program executed by a processor and data used when the program is executed.
  • the auxiliary storage device 602 is, for example, a large-capacity and non-volatile storage device such as a magnetic storage device (HDD) or a flash memory (SSD), and stores a program executed by the CPU 600 and data used when executing the program. .. That is, the program is read from the auxiliary storage device 602, loaded into the memory 601 and executed by the CPU 600.
  • HDD magnetic storage device
  • SSD flash memory
  • the computer may have an input interface and an output interface.
  • the input interface is an interface to which an input device 603 such as a keyboard or a mouse is connected and receives input from an operator.
  • the output interface is an interface to which an output device 604 such as a display device or a printer is connected and outputs a program execution result in a format that can be visually recognized by an operator.
  • the communication device 605 is a network interface device that controls communication with other devices according to a predetermined protocol.
  • the sensor 606 is a sensor (for example, a photographing device, a microphone, etc.) that acquires biological information for identifying a user. The sensor 606 may be connected to the input interface without being included in the computer.
  • the program executed by the CPU 600 is provided to the computer from a non-temporary storage device of another device via a removable medium (CD-ROM, flash memory, etc.) or network 130, and is a non-volatile non-volatile storage medium. It is stored in the auxiliary storage device 602. Therefore, the computer may have an interface for reading data from removable media.
  • Each device included in the biometric authentication system of the present embodiment is a computer system composed of physically one computer or a plurality of computers logically or physically configured, and is the same computer. It may run on a separate thread above, or it may run on a virtual computer built on multiple physical computer resources.
  • the feature extraction unit 102, the key generation unit 103, the template generation unit 104, and the verification information generation unit 105 of the key registration terminal 100 are realized by a program executed by the CPU 600 of the computer constituting the key registration terminal 100.
  • the feature extraction unit 112, the key restoration unit 113, the key verification unit 114, and the authentication / encryption / signature unit 115 of the key utilization terminal 110 are realized by a program executed by the CPU 600 of the computer constituting the key utilization terminal 110.
  • the registration / search unit 121 of the DB server 120 is realized by a program executed by the CPU 600 of the computer constituting the DB server 120.
  • the CPU 600 of the computer constituting the key registration terminal 100 functions as an input / output processing unit 101 by operating according to the input / output processing program loaded in the memory 601 and operates according to the feature extraction program loaded in the memory 601. This functions as a feature extraction unit 102.
  • This functions as a feature extraction unit 102.
  • the parameter DB 106 of the key registration terminal 100 is composed of a part of the memory 601 included in the computer constituting the key registration terminal 100 or a part of the storage area included in the auxiliary storage device 602.
  • the parameter DB 116 of the key-using terminal 110 is composed of a part of the memory 601 included in the computer constituting the key-using terminal 110 or a part of the storage area included in the auxiliary storage device 602.
  • the template DB 123 and the verification information DB 124 of the DB server 120 are composed of a part of the memory 601 included in the computer constituting the DB server 120 or a part of the storage area included in the auxiliary storage device 602.
  • the information used by each device included in the authentication system may be represented by any data structure regardless of the data structure.
  • a properly selected data structure from a table, list, database or queue can store the information.
  • FIG. 2 is a flowchart showing an example of the template and verification information registration process.
  • the input / output processing unit 101 of the key registration terminal 100 starts the registration process according to the operation of the user or the operator (S200).
  • the input / output processing unit 101 acquires the user registration biometric information acquired by the sensor 606 of the key registration terminal 100 (S201).
  • the input / output processing unit 101 may assign a user ID for identifying the user in the process of acquiring the biometric information for registration.
  • the biological information is information that can identify the user obtained from the physical characteristics or behavioral characteristics of the user. Even if the biometric information of the same user is acquired, an error may occur each time (the biometric information may change depending on the shooting angle and noise of the sensor 606, the state of the user's own physical condition, etc.), so the biometric information is fuzzy. It can be said that it is information.
  • an image obtained by capturing a part of the body such as the face, hands, fingers, eyes, veins, iris, and retina with light of an arbitrary predetermined wavelength such as visible light, infrared light, near-infrared light, or X-ray.
  • the moving image, the voice signal when the user speaks, and the signal information obtained by various physical measurements for the user are all examples of biological information.
  • handwritten signatures, gestures, and data obtained by measuring behavior are all examples of biometric information. The same applies to the biometric information for key restoration in the key utilization process described later.
  • the feature extraction unit 102 extracts the registration feature data from the registration biometric information acquired in step S201 (S202).
  • the feature data for registration is represented in the form of an image, a vector, a signal, or one or more numerical values. The same applies to the feature data for key restoration in the key utilization process described later.
  • the key generation unit 103 generates a key sk from the registration feature data extracted in step S202 (S203).
  • the key sk may be a bit string having a predetermined length, an integer having a predetermined number of digits, a vector or a matrix having a predetermined dimension, or the like. The details of the process in step S203 will be described later.
  • the template generation unit 104 generates the template T from the registration feature data generated in step S202 (S204). Details of the process in step S204 will be described later.
  • the process of step S204 may be performed before the process of step S203, or may be performed after the process of step S205.
  • the verification information generation unit 105 generates the verification information vk from the key sk generated in step S203 (S205). A detailed example of the process of step S205 will be shown below.
  • the verification information generation unit 105 calculates the following (Equation 1) using a predetermined one-way function Hash ().
  • Vk Hash (sk) ... (Equation 1)
  • Hash Any cryptographic hash function such as SHA256 or SHA3 is an example of Hash ().
  • the linear hash function is also an example of Hash ().
  • Equation 2 is calculated using the mapping ⁇ to the set of.
  • the (sk, vk) pair thus created is the private key and public key in many public key cryptography / digital signature algorithms, such as ElGamal encryption / signature, DSA, Schnorr signature, or their elliptical curve version algorithms. Can be treated as a set.
  • the verification information generation unit 105 uses the following verification information generation secret key or the verification information generation parameter (p) in addition to the key sk. (Equation 3) is calculated.
  • Vk Enc (sk, p) ... (Equation 3)
  • Enc () Any encryption function such as AES or RSA, and a hash function with a key are all examples of Enc ().
  • the verification information generation private key or the verification information generation parameter (p) may be set by the verification information generation unit 105 for each user or registered biometric information, or for each key use terminal 110 or biometric authentication system.
  • the generation unit 105 may be set or may be preset.
  • the set parameter (p) is stored in the parameter DB 106.
  • the input / output processing unit 101 registers the template T in the template DB 123 of the DB server 120, and registers the verification information vk in the verification information DB 124 of the DB server 120 (S206).
  • the input / output processing unit 101 associates the template T with the user ID and registers it in the template DB 123, and associates the verification information vk with the user ID to the DB server. It is registered in the verification information DB 124 of 120.
  • FIG. 3 is a flowchart showing an example of the authentication process.
  • the input / output processing unit 111 of the key-using terminal 110 starts the authentication process according to the operation of the user or the operator (S300).
  • the input / output processing unit 111 acquires the user authentication biometric information acquired by the sensor 606 of the key use terminal 110 (S301).
  • the input / output processing unit 111 also receives the input of the user ID from the user.
  • 1: 1 authentication shall be performed.
  • the feature extraction unit 112 extracts the authentication feature data from the authentication biometric information acquired in step S301 (S302).
  • the method for extracting the feature data for authentication is the same as the extraction method in step S202.
  • the input / output processing unit 111 requests the DB server 120 to search and read the template T corresponding to the user ID acquired in step S301 from the template DB 123, and the registration / search unit 121 of the DB server 120 searches for the template T. Is read and transmitted to the key use terminal 110, and the key restoration unit 113 restores the key sk'from the received template T and the authentication feature data (S303). Details of the process in step S303 will be described later.
  • the input / output processing unit 111 requests the DB server 120 to search and read the verification information vk corresponding to the user ID acquired in step S301 from the verification information DB 124, and the registration / search unit 121 of the DB server 120 requests the DB server 120 to search and read the verification information vk.
  • step S304 shows a detailed example of the process of step S304.
  • step S205 regardless of which method of the first example, the second example, or the third example is used, the method used is previously referred to as the key registration terminal 100 and the key use terminal 110.
  • step S205 and when the method of the third example is used, the verification information generation private key or the verification information generation parameter (p) is previously keyed with the key registration terminal 100. It is assumed that it is shared with the user terminal 110.
  • the authentication / encryption / signature unit 115 When the authentication / encryption / signature unit 115 performs the authentication process, for example, the authentication / encryption / signature unit 115 generates an electronic signature or a message authentication code (MAC) with sk'as a private key for a predetermined challenge code.
  • MAC message authentication code
  • the authentication / encryption / signing unit 115 executes encryption processing, for example, the predetermined message data is encrypted using sk'as an encryption key, or the predetermined ciphertext data is decrypted using sk'as a decryption key.
  • the authentication / encryption / signature unit 115 executes an electronic signature, for example, the authentication / encryption / signature unit 115 generates an electronic signature for predetermined data using sk'as a signature key.
  • FIG. 4 is a flowchart showing a detailed example of the key generation process in step S203 and the template generation process in step S204.
  • Steps S401 to S404 are processes included in step S203, and steps S405 are processes included in step S204.
  • the key generation unit 103 of the key registration terminal 100 reads the sphere packing arrangement parameter or the sphere coating arrangement parameter from the parameter storage unit 106 (S400).
  • the sphere packing arrangement parameter is a parameter that specifies a certain sphere packing arrangement
  • the sphere coating arrangement parameter is a parameter that specifies a certain sphere coating arrangement.
  • i 0,1,2, ... ⁇ of points S_i on the n-dimensional Euclidean space, and is centered on S_i for each point S_i.
  • i 0,1,2, ... ⁇ on an n-dimensional Euclidean space, and is centered on S_i for each point S_i.
  • a set of n-dimensional hyperspheres having a predetermined radius r covers the entire n-dimensional space without gaps.
  • the number of dimensions n is the same as the number of dimensions n of the feature vector described later, and is, for example, about several tens to tens of thousands.
  • the sphere packing arrangement or the sphere coating arrangement is also simply referred to as “arrangement”.
  • L ⁇ S_i ⁇ has a mathematical lattice structure
  • L is called a lattice arrangement. Since the lattice arrangement can be specified by the basis matrix B of the space to which the lattice belongs, the basis matrix B may be used as the sphere packing parameter or the sphere covering arrangement parameter.
  • the ratio of the volume of the sphere to the space is called “density”.
  • the density of the sphere packing arrangement is greater than 0 and is a value of 1 or less, and the density of the sphere coating arrangement is a value of 1 or more.
  • the highest density sphere packing arrangement is called the “closest sphere packing arrangement", and the lowest density (sparse) sphere coating arrangement is called the “most sparse sphere coating arrangement”.
  • a method of constructing a sphere-packed arrangement that is not the most dense but dense
  • a method of constructing a sphere-packed arrangement that is not the sparsest but is sparse.
  • an arrangement called a BW lattice Barnes-Wall lattice is known as a method for constructing a dense sphere-packed arrangement.
  • the sphere packing arrangement is less than 1 and higher than the predetermined value (the predetermined value may differ depending on the number of dimensions of the space), or 1 or more and the predetermined value (the dimension of the space).
  • a lower density sphere-packed arrangement is used (the predetermined value may vary depending on the number). Therefore, such an arrangement is configured in advance, and parameters for designating the configured arrangement are stored in the parameter storage unit 106 and the parameter storage unit 116.
  • Non-Patent Document 2 discloses a method of biometric signature using a triangular lattice.
  • the triangular lattice is not dense as a sphere-packed arrangement in a high-dimensional space (n is several tens or more), and is not sparse as a sphere-covered arrangement. Therefore, when an attempt is made to apply a triangular lattice to actual biological information, it causes a large deterioration in accuracy and is not practical.
  • t plays the role of an "authentication threshold" in a general biometric authentication system.
  • the larger t is, the easier it is for both the person and others to be accepted, and the smaller t is, the more others are. Although it is easy to be rejected, even the person himself / herself is likely to be rejected.
  • the sphere filling arrangement parameter or the sphere coating arrangement parameter may also include information on t. Further, when the authentication threshold value t is changed for each user (for example, t is specified by the user when acquiring biometric information in the template registration process), t may be included in the template T.
  • X is a vector on the n-dimensional Euclidean space
  • a feature vector can be generated from biological information or feature data by using a machine learning method such as deep learning, principal component analysis, and discriminant analysis. Methods such as learning a feature vector extractor are known.
  • machine learning method such as deep learning, principal component analysis, and discriminant analysis.
  • Methods such as learning a feature vector extractor are known.
  • the number of dimensions n of the feature vector needs to be several tens to tens of thousands, and it is necessary to handle a high-dimensional Euclidean space. is there.
  • i 0, 1, 2, ... ⁇ Designated by the sphere packing arrangement parameter or the sphere coating arrangement parameter (S402).
  • the key generation unit 103 can use, for example, any of the following methods as a specific selection method.
  • the key generation unit 103 randomly selects S according to a predetermined distribution defined on L.
  • This distribution may be, for example, a discrete normal distribution based on L or a uniform distribution on a predetermined finite subset of L.
  • the key generation unit 103 selects the point closest to the registration feature vector X (hereinafter, also referred to as the nearest point of X) in L.
  • the key generation unit 103 calculates the integer vector obtained by rounding down, rounding up, or rounding the fractional part of each component of Y as Z.
  • the key generation unit 103 makes the absolute value of each component of the difference vector D calculated by the formula 8 described later smaller than that of the method (a). Therefore, when the key generation unit 103 uses the method (b) or (c), the data size of the template T becomes smaller than when the method (a) is used, and efficient recording can be performed.
  • the key generation unit 103 generates a value (salt) called salt (S403).
  • the key generation unit 103 does not have to perform the process of step S403, and in this case, the salt may not be used for the process described later.
  • salt in the subsequent processing may be read as a character string or bit string having a length of 0.
  • the key generation unit 103 generates a key sk from the point S and the salt salt (S404). Specifically, the key generation unit 103 calculates sk by calculating the following (Equation 5) using, for example, the one-way function Hash () such as SHA256 or SHA3.
  • the key generation unit 103 may calculate the sk using a linear hash function. Further, the key generation unit 103 calculates sk by calculating the following (Equation 6) using an encryption function such as AES or a hash function Enc () with a key and a predetermined parameter (p). May be good.
  • the key generation unit 103 may calculate the sk by calculating the following (Equation 7) using the linear function f and the appropriate mapping g.
  • step S203 The above is a detailed example of the key generation process in step S203.
  • FIG. 5 is a flowchart showing an example of details of the key restoration process in step S303.
  • the key restoration unit 113 of the key utilization terminal 110 reads a sphere packing arrangement parameter or a sphere coating arrangement parameter (a parameter in the arrangement used by the key registration terminal 100 in key generation and template generation) from the parameter storage unit 116 (S500). It is assumed that the key registration terminal 100 shares information in advance with the key use terminal 110 indicating whether to use the sphere packing arrangement or the sphere coating arrangement in the key generation and the template generation.
  • the key restoration unit 113 searches for the nearest point S'of the point R from the arrangement L (S503).
  • the input / output processing unit 111 does not acquire the user ID in step S301.
  • the input / output processing unit 111 uses all the templates T of the DB server 120. Obtained from template DB123.
  • the input / output processing unit 111 acquires all the verification information from the verification information DB 124 of the DB server 120. Then, for example, the process of step S303 is executed for each of all the templates T, and the process of step S304 is executed for each of all the verification information.
  • the authentication system of this embodiment is characterized by using a high density sphere packing arrangement or a low density sphere coating arrangement, which is higher than the conventional biometric cryptography and biometric signature method. It has the effect of achieving authentication accuracy. The reason will be explained below.
  • the condition of the authentication feature vector X'accepted as the registrant is defined as the Euclidean distance d (X, X') being equal to or less than a predetermined threshold value r. Will be done. That is, the set of accepted X'(accepting region) is a hypersphere having a radius r centered on X in the n-dimensional space.
  • i 0, 1, 2, ... ⁇
  • i 0, 1, 2, ... ⁇
  • the nearest point of S + X'-X is S, and only in that case, the correct key sk is restored and accepted as the person himself / herself.
  • the region (boronoisel of S) in which S is the nearest point in the n-dimensional space is V (S)
  • XS + V (S) on the right side of Equation 11 is a region in which V (S) is translated by XS.
  • V (S) is a hypersphere having a radius r centered on S
  • the right side is a hypersphere having a radius r centered on X.
  • the boronoisel for each point S of the arrangement L does not match the hypersphere, and the accuracy deteriorates.
  • the larger the mismatch region between the hypersphere and the boronoisel the greater the degree of accuracy deterioration.
  • the boronoisels at each point of the sphere packing arrangement regarding the hypersphere of radius r include the hypersphere of radius r from the definition. And the higher the density, the smaller the mismatch region between the boronoisel and the hypersphere, and therefore the degree of accuracy deterioration. Similarly, the boronoisels at each point of the sphere-covered arrangement for a sphere of radius r are included in the sphere of radius r. And the smaller the density, the smaller the mismatch region between the boronoisel and the hypersphere, and therefore the degree of accuracy deterioration.
  • the density as the sphere packing arrangement rapidly decreases as the dimension number n becomes 4 or more, and the sphere coating arrangement is used. Density increases rapidly. Therefore, the degree of accuracy deterioration also increases.
  • a BW lattice or a Leech lattice has a high density as a sphere packing arrangement even in a higher dimension, and the degree of accuracy deterioration is small.
  • the authentication system of this embodiment can realize biometric encryption and biometric signature that achieve high authentication accuracy (that is, high personal acceptance rate and high rejection rate of others).
  • the authentication system of the present embodiment generates keys, templates, and verification information based on biometric information, restores the key, verifies the key, and the like, but is not limited to biometric information that identifies humans. Keys, templates, and verification information may be generated, keys may be restored, keys may be verified, and the like based on fuzzy information that identifies an individual (for example, PUF (Physically Unfoldable Function) that identifies a semiconductor device).
  • PUF Physical Unfoldable Function
  • the present invention is not limited to the above-described embodiment, and includes various modifications.
  • the above-described embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations. It is also possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Further, it is possible to add / delete / replace a part of the configuration of each embodiment with another configuration.
  • each of the above configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • SSD Solid State Drive
  • control lines and information lines indicate those that are considered necessary for explanation, and not all control lines and information lines are necessarily indicated on the product. In practice, it can be considered that almost all configurations are interconnected.

Abstract

高次元ユークリッド空間上の特徴ベクトルに基づくバイオメトリック暗号及びバイオメトリック署名において、高精度な認証を実現するための鍵生成装置であって、第1の生体情報の特徴を示す第1の特徴ベクトルと、1未満であって所定値より高い密度の球充填配置、又は1以上であって所定値より低密度の球被覆配置を特定するためのパラメータと、を保持し、当該パラメータに基づいて球充填配置又は球被覆配置を特定し、該特定した球充填配置又は球被覆配置に含まれる第1の点を選択し、第1の点に対して所定の第1変換を施して第1の鍵を生成し、第1の特徴ベクトルと第1の点とに基づいて、第1の生体情報に対応するテンプレートを生成する。

Description

鍵生成装置、鍵利用装置、及び鍵生成方法 参照による取り込み
 本出願は、2019年11月29日に出願された日本特許出願第2019-216479号の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、鍵生成装置、鍵利用装置、及び鍵生成方法に関する。
 指紋や静脈、顔、虹彩などの生体情報に基づいて個人を認証する生体認証技術が広く利用されている。従来の生体認証技術は、ユーザ登録時にユーザの生体情報から抽出した特徴データ(テンプレート)をシステムに登録しておき、ユーザ認証時に再びユーザの生体情報から抽出した特徴データをテンプレートと比較して、距離が十分近いならば認証成功、そうでなければ認証失敗と判定する。
 しかし生体情報は一般に取り替えることのできない情報であるため、いったん漏えいすると大きな問題となる。この問題に対し、生体情報を秘匿したまま認証する、テンプレート保護型生体認証技術が研究開発されている。その中で、生体情報から鍵データを生成し、暗号学的な認証、暗号化、署名生成などの処理を行う、バイオメトリック暗号と呼ばれる技術がある。
 バイオメトリック暗号では、登録時に生体情報の特徴データXが変換されるとともに秘密鍵Kが埋め込まれることで、保護テンプレートTが作成される。その後、新たに取得した生体情報の特徴データX’と保護テンプレートTとから秘密鍵Kが復元される。復元に成功した場合、当該秘密鍵Kを用いて暗号学的な認証、暗号化及び復号化、並びに電子署名生成などの処理を行うことができる。バイオメトリック暗号において、TからXが復元又は推定されることは十分困難でなくてはならない(安全性の要件)。またX’とXの距離が近いならば、またそのときに限って、秘密鍵の復元処理に成功しなくてはならない。
 バイオメトリック暗号の実現方法として、例えば、非特許文献1に記載の技術は、特徴データX、X’がビット列で表現され、その近さがハミング距離で定義される場合に適用可能な方法や、特徴データX,X’が集合で表現され、その近さが|X-X’|+|X’-X|で定義される場合に適用可能な方法が示されている。
 一方、バイオメトリクス認証の基礎となるパターン認識手法の多くは、特徴データを高次元ユークリッド空間上のベクトルとして表現し、近さをユークリッド距離又は正規化されたユークリッド距離(コサイン距離や正規化相互相関を含む)で定義する。例えば深層学習を用いた顔画像からの特徴ベクトル抽出及び照合手法や、指紋、掌紋、及び静脈など様々な画像に対する主成分分析や判別分析及び位相限定相関などの特徴ベクトル抽出及び照合手法は、生体情報から高次元空間の特徴ベクトルを抽出し、ユークリッド距離で照合する手法とみなすことができる。
 しかし、このようなユークリッド距離に対して、非特許文献1に記載の方法は適用できない。そこで、非特許文献2に記載の方法は、三角格子を用いることで近似的にユークリッド距離に基づくバイオメトリック暗号やバイオメトリック署名を実現しようと試みている。
Dodis Y., Reyzin L., Smith A. 著 "Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data." In: Cachin C., Camenisch J.L. (eds) Advances in Cryptology - EUROCRYPT 2004. EUROCRYPT 2004. Lecture Notes in Computer Science, vol 3027. Springer, Berlin, Heidelberg,インターネット<URL:https://www.iacr.org/archive/eurocrqqypt2004/30270518/DRS-ec2004-final.pdf> 米山裕太、高橋健太、西垣正勝 著、「三角格子における最近傍点探索とそのFuzzy Signatureへの応用" 電子情報通信学会論文誌(A)、vol.J98-A、no.6」、p.427-435、2015年6月
 しかし、非特許文献2に記載の方法は、次元が大きくなるほど認証精度が急速に(指数関数的に)劣化する問題があることが、実験により示されている。このため現実の生体情報に適用して実用的な認証精度を達成することは困難である。
 そこで本発明の一態様は、高次元ユークリッド空間上の特徴ベクトルに基づくバイオメトリック暗号及びバイオメトリック署名において、高精度な認証を実現することを目的とする。
 上記課題を解決するために本発明の一態様は以下の構成を採用する。生体情報から鍵を生成する鍵生成装置は、プロセッサとメモリとを有し、前記メモリは、第1の生体情報の特徴を示す第1の特徴ベクトルと、1未満であって所定値より高い密度の球充填配置、又は1以上であって所定値より低密度の球被覆配置を特定するためのパラメータと、を保持し、前記プロセッサは、前記パラメータに基づいて前記球充填配置又は前記球被覆配置を特定し、前記特定した前記球充填配置又は前記球被覆配置に含まれる第1の点を選択し、前記第1の点に対して所定の第1変換を施して第1の鍵を生成し、前記第1の特徴ベクトルと前記第1の点とに基づいて、前記第1の生体情報に対応するテンプレートを生成する。
 本発明の一態様は、高次元ユークリッド空間上の特徴ベクトルに基づくバイオメトリック暗号及びバイオメトリック署名において、高精度な認証を実現することができる。
 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1における生体認証システムの構成例を示すブロック図である。 実施例1におけるは、テンプレート及び検証情報の登録処理の一例を示すフローチャートである。 実施例1における認証処理の一例を示すフローチャートである。 実施例1における鍵生成処理及びテンプレート生成処理の詳細な例を示すフローチャートである。 実施例1における鍵復元処理の詳細な例を示すフローチャートである。 実施例1における鍵登録端末、鍵利用端末、及びDBサーバそれぞれを構成する計算機のハードウェア構成例を示すブロック図である。
 以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
 本実施例の生体認証システムは、ユーザの生体情報からテンプレートと、鍵を検証するための検証情報と、を作成して登録し、このテンプレートと新たに取得したユーザの生体情報とを用いて鍵を復元するとともに、当該鍵を用いてユーザ認証、データの暗号化及び復号化、並びに電子署名の作成等を行う。
 図1は、生体認証システムの構成例を示すブロック図である。生体認証システムは、例えば、インターネット等のネットワーク130によって互いに接続された、1以上の鍵登録端末100、1以上の鍵利用端末110、及びDB(DataBase)サーバ120を含む。
 なお、鍵登録端末100と、鍵利用端末110と、DBサーバ120のうち、いずれか2つ、あるいは3つ全てが、同じ装置内に実装されていてもよい。またこれらの3つ全てが同じ装置内に実装されている場合、ネットワーク130はなくてもよい。
 鍵登録端末100は、鍵登録端末100は、ユーザの生体情報からテンプレートと検証情報を作成して登録する。鍵登録端末100は、例えば、ユーザや他の装置からの入力及び他の装置からの出力を処理する入出力処理部101と、センサによってユーザから取得された顔や静脈等の登録用生体情報から登録用特徴データを抽出する特徴抽出部102と、鍵を生成する鍵生成部103と、登録用特徴データからテンプレートを生成するテンプレート生成部104と、鍵利用端末110が生成した鍵の正しさ(即ち鍵登録端末100が生成した鍵と鍵利用端末110が生成した鍵が一致するか)を検証するための検証情報を生成する検証情報生成部105とを含む。また、鍵登録端末100は、後述する球充填配置及び球被覆配置を指定するパラメータ等を保持するパラメータ記憶部106を有する。
 鍵利用端末110は、新たにユーザの生体情報を取得し、取得した生体情報とテンプレートとから鍵を復元し、ユーザ認証、データの暗号化及び復号化、並びに電子署名の作成等を行う。
 鍵利用端末110は、ユーザや他の装置からの入力及び他の装置からの出力を処理する入出力処理部111と、センサによってユーザから取得された生体情報から特徴データを抽出する特徴抽出部112と、特徴データとテンプレートとから鍵を復元する鍵復元部113と、鍵の正しさを検証する鍵検証部114と、鍵を用いて認証、暗号化、復号化、及び電子署名生成などの暗号学的処理を行う認証・暗号・署名部115と、を含む。また、鍵登録端末100は、後述する球充填配置及び球被覆配置を指定するパラメータ等を保持するパラメータ記憶部116を有する。
 DBサーバ120は、テンプレートや検証情報を登録及び管理する。DBサーバ120はテンプレートおよび検証情報の登録や検索を行う登録・検索部121を含む。また、DBサーバ120は、テンプレートを保持するテンプレートDB123と、検証情報を保持する検証情報DB124と、を有する。なお、テンプレートDB123は、テンプレートに対応するユーザIDを紐づけて保持してもよいし、検証情報DB124は、検証情報に対応するユーザIDを紐づけて保持してもよい。
 なおテンプレートDB123と検証情報DB124は、それぞれ別々のサーバや端末に分散して管理されてもよい。このように分散管理することで、漏洩リスクに対してより安全性を高めることができる。またテンプレートと検証情報の少なくとも一方が鍵利用端末110内で保存及び管理されてもよい。また、テンプレートと検証情報の少なくとも一方が、ICカードやUSBメモリ、携帯端末、二次元コード化して印刷した紙などの可搬媒体や、スマートフォンなどの個人管理端末に保存及び管理されてもよい。
 図6は、鍵登録端末100、鍵利用端末110、及びDBサーバ120それぞれを構成する計算機のハードウェア構成例を示すブロック図である。当該計算機は、CPU(Control Processing Unit)600、メモリ601、補助記憶装置602、入力装置603、出力装置604、通信装置605、及びセンサ606を含み、これらがバス等の内部通信線によって相互に接続されている。但し、DBサーバ120を構成する計算機はセンサ606を含まなくてもよい。
 CPU600は、プロセッサを含み、メモリ601に格納されたプログラムを実行する。メモリ601は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
 補助記憶装置602は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、CPU600が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置602から読み出されて、メモリ601にロードされて、CPU600によって実行される。
 計算機は、入力インターフェース及び出力インターフェースを有してもよい。入力インターフェースは、キーボードやマウスなどの入力装置603が接続され、オペレータからの入力を受けるインターフェースである。出力インターフェースはディスプレイ装置やプリンタなどの出力装置604が接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。通信装置605は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。センサ606は、ユーザを特定するための生体情報を取得するセンサ(例えば撮影装置やマイク等)である。なお、センサ606は、計算機に含まれずに、入力インターフェースに接続されてもよい。
 CPU600が実行するプログラムは、他の装置の非一時的記憶装置から、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワーク130を介して計算機に提供され、非一時的記憶媒体である不揮発性の補助記憶装置602に格納される。このため、計算機は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
 本実施形態の生体認証システムに含まれる各装置は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
 なお、鍵登録端末100の特徴抽出部102、鍵生成部103、テンプレート生成部104、及び検証情報生成部105は、鍵登録端末100を構成する計算機のCPU600が実行するプログラムにより実現される。同様に、鍵利用端末110の特徴抽出部112、鍵復元部113、鍵検証部114、及び認証・暗号・署名部115は、鍵利用端末110を構成する計算機のCPU600が実行するプログラムにより実現される。同様にDBサーバ120の登録・検索部121は、DBサーバ120を構成する計算機のCPU600が実行するプログラムにより実現される。
 例えば、鍵登録端末100を構成する計算機のCPU600は、メモリ601にロードされた入出力処理プログラムに従って動作することで入出力処理部101として機能し、メモリ601にロードされた特徴抽出プログラムに従って動作することで特徴抽出部102として機能する。鍵登録端末100に含まれる他の機能部とプログラムとの関係、及び認証システムに含まれる他の装置に含まれる機能部とプログラムとの関係についても、同様である。
 例えば、鍵登録端末100のパラメータDB106は、鍵登録端末100を構成する計算機に含まれるメモリ601又は補助記憶装置602に含まれる記憶領域の一部によって構成される。同様に、鍵利用端末110のパラメータDB116は、鍵利用端末110を構成する計算機に含まれるメモリ601又は補助記憶装置602に含まれる記憶領域の一部によって構成される。同様に、DBサーバ120のテンプレートDB123及び検証情報DB124は、DBサーバ120を構成する計算機に含まれるメモリ601又は補助記憶装置602に含まれる記憶領域の一部によって構成される。
 なお、本実施形態において、認証システムに含まれる各装置が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
 図2は、テンプレート及び検証情報の登録処理の一例を示すフローチャートである。まず鍵登録端末100の入出力処理部101は、ユーザ又はオペレータの操作に従って登録処理を開始する(S200)。
 入出力処理部101は、鍵登録端末100のセンサ606が取得したユーザの登録用生体情報を取得する(S201)。なお、入出力処理部101は、登録用生体情報の取得処理において、ユーザを識別するためのユーザIDを付与してもよい。ここで生体情報とは、ユーザの身体的特徴又は行動的特徴から得られるユーザを特定可能な情報である。同じユーザの生体情報であっても取得する度に誤差が生じ得るため(生体情報は、例えばセンサ606の撮影角度やノイズ、ユーザ自身の体調等の状態によって変化し得る)、生体情報はファジーな情報であるといえる。
 例えば、顔や手、指、目、静脈、虹彩、網膜などの身体の一部を、可視光あるいは赤外光、近赤外光、X線など任意の所定の波長の光で撮像した画像や動画像、ユーザの発話時の音声信号、及びユーザに対する各種身体計測によって得られる信号情報はいずれも生体情報の一例である。また手書きのサインやジェスチャ、及び行動を計測して得られるデータもいずれも生体情報の一例である。後述する鍵利用処理における鍵復元用生体情報についても同様である。
 特徴抽出部102は、ステップS201で取得した登録用生体情報から登録用特徴データを抽出する(S202)。例えば、登録用特徴データは、画像、ベクトル、信号、又は1つ以上の数値などの形式によって表現される。後述する鍵利用処理における鍵復元用特徴データについても同様である。
 鍵生成部103は、ステップS202で抽出された登録用特徴データから鍵skを生成する(S203)。鍵skは、所定の長さのビット列でもよいし、所定の桁数の整数や、所定の次元のベクトルや行列などの形式であってもよい。ステップS203の処理の詳細については後述する。
 テンプレート生成部104は、ステップS202で生成された登録用特徴データからテンプレートTを生成する(S204)。ステップS204の処理の詳細については後述する。なお、ステップS204の処理は、ステップS203の処理の前に行われてもよいし、ステップS205の処理の後に行われてもよい。
 検証情報生成部105は、ステップS203で生成された鍵skから検証情報vkを生成する(S205)。以下ではステップS205の処理の詳細な例を示す。
 鍵skから検証情報vkを生成する方法の第一の例として、検証情報生成部105は、所定の一方向性関数Hash()を用いて下記の(式1)を計算する。
 vk=Hash(sk)・・・(式1)
 SHA256やSHA3など任意の暗号学的ハッシュ関数はいずれもHash()の一例である。線形ハッシュ関数もHash()の一例である。
 鍵skから検証情報vkを生成する方法の第二の例として、検証情報生成部105は、ある巡回群G=<g>(gはGの生成元)と、鍵skが属する集合から整数全体の集合への写像φを用いて下記の(式2)を計算する。
 vk=g^φ(sk)・・・(式2)
 このようにして作られる(sk,vk)の組は、ElGamal暗号/署名、DSA、Schnorr署名、又はそれらの楕円曲線版アルゴリズムなど、多くの公開鍵暗号/電子署名アルゴリズムにおける秘密鍵と公開鍵の組として扱うことができる。
 鍵skから検証情報vkを生成する方法の第三の例として、検証情報生成部105は、鍵skの他に所定の検証情報生成用秘密鍵又は検証情報生成用パラメータ(p)を用いて下記の(式3)を計算する。
 vk=Enc(sk,p)・・・(式3)
 AESやRSAなど任意の暗号化関数、及び鍵付きハッシュ関数はいずれもEnc()の一例である。
 検証情報生成用秘密鍵又は検証情報生成用パラメータ(p)は、ユーザ毎又は登録生体情報毎に検証情報生成部105が設定してもよいし、鍵利用端末110又は生体認証システム毎に検証情報生成部105が設定してもよいし予め設定されていてもよい。設定されたパラメータ(p)は、パラメータDB106に格納される。
 最後に入出力処理部101は、テンプレートTをDBサーバ120のテンプレートDB123に登録し、検証情報vkをDBサーバ120の検証情報DB124に登録する(S206)。なお、入出力処理部101は、ステップS200においてユーザIDを付与していた場合には、テンプレートTをユーザIDと紐づけてテンプレートDB123に登録し、検証情報vkをユーザIDと紐づけてDBサーバ120の検証情報DB124に登録する。
 図3は、認証処理の一例を示すフローチャートである。まず鍵利用端末110の入出力処理部111は、ユーザ又はオペレータの操作に従って認証処理を開始する(S300)。入出力処理部111は、鍵利用端末110のセンサ606が取得したユーザの認証用生体情報を取得する(S301)。なお、1:1認証を行う場合には、ステップS301において、入出力処理部111は、併せてユーザからユーザIDの入力を受け付ける。以下、1:1認証が行われるものとする。
 特徴抽出部112は、ステップS301で取得した認証用生体情報から認証用特徴データを抽出する(S302)。認証用特徴データの抽出方法はステップS202における抽出方法と同様である。
 入出力処理部111は、DBサーバ120に対して、ステップS301で取得したユーザIDに対応するテンプレートTをテンプレートDB123から検索して読み出すよう要求し、DBサーバ120の登録・検索部121はテンプレートTを読み出して鍵利用端末110に送信し、鍵復元部113は受信したテンプレートTと、認証用特徴データと、から鍵sk’を復元する(S303)。ステップS303の処理の詳細については後述する。
 入出力処理部111は、DBサーバ120に対して、ステップS301で取得したユーザIDに対応する検証情報vkを検証情報DB124から検索して読み出すよう要求し、DBサーバ120の登録・検索部121は検証情報vkを読みだして鍵利用端末110に送信し、鍵検証部114は鍵sk’の正しさ(すなわちsk’=skであるか否か)を受信した検証情報vkを用いて検証する(S304)。
 以下ではステップS304の処理の詳細な例を示す。ステップS304の処理において、鍵検証部114は前述のステップS205の処理と同様の方法でsk’からvk’を生成し、vk’とvkを比較して一致か不一致かを判定する。具体的には、ステップS205において第一の例が採用された場合、鍵検証部114は、vk’=Hash(sk’)を算出する。
 ステップS205において第二の例が採用された場合、鍵検証部114は、vk’=g^φ(sk’)を算出する。ステップS205において第三の例が採用された場合、鍵検証部114は、vk’=Enc(sk’,p)を算出する(但し、検証情報生成用秘密鍵又は検証情報生成用パラメータ(p)はステップS205と同じ値を用いる)。
 なお、ステップS205において、第一の例、第二の例、及び第三の例のどの方法が用いられた場合であっても、用いられた方法を予め鍵登録端末100と鍵利用端末110とで共有しているものとし、ステップS205において、及び第三の例の方法が用いられた場合には、検証情報生成用秘密鍵又は検証情報生成用パラメータ(p)を予め鍵登録端末100と鍵利用端末110とで共有しているものとする。
 ステップS304において鍵検証部114が検証に成功した場合(すなわちsk’=skと判定した場合)、認証・暗号・署名部115が、鍵sk’(=sk)を用いて、例えばユーザ又はオペレータから要求された認証処理、暗号処理、及び/又は署名処理を行う(S305)。
 認証・暗号・署名部115は、認証処理を行う場合、例えば、所定のチャレンジコードに対してsk’を秘密鍵として電子署名又はメッセージ認証コード(MAC)を生成する。認証・暗号・署名部115は暗号処理を実行する場合、例えば、所定のメッセージデータに対してsk’を暗号鍵として暗号化したり、所定の暗号文データに対してsk’を復号鍵として復号化したりする。認証・暗号・署名部115は電子署名を実行する場合、例えば、所定のデータに対してsk’を署名鍵として電子署名を生成する。
 図4は、ステップS203における鍵生成処理及びステップS204におけるテンプレート生成処理の詳細な例を示すフローチャートである。ステップS401~ステップS404がステップS203に含まれる処理であり、ステップS405がステップS204に含まれる処理である。
 鍵登録端末100の鍵生成部103は、パラメータ記憶部106から、球充填配置パラメータ又は球被覆配置パラメータを読み込む(S400)。ここで、球充填配置パラメータとは、ある球充填配置を指定するパラメータであり、球被覆配置パラメータとは、ある球被覆配置を指定するパラメータである。
 球充填配置(Sphere Packing)とは、n次元ユークリッド空間上の点S_iの可算集合L={S_i|i=0,1,2,…}であって、各点S_iに対して、S_iを中心とする所定の半径r(例えばr=1)のn次元超球の集合が、互いに重なりあわないような配置である。
 球被覆配置(Sphere Covering)とは、n次元ユークリッド空間上の点の可算集合L={S_i|i=0,1,2,…}であって、各点S_iに対して、S_iを中心とするある所定の半径rのn次元超球の集合が、n次元空間全体を隙間なく覆いつくす配置である。ここで次元数nは、後述する特徴ベクトルの次元数nと同じであり、例えば、数十~数万程度の大きさである。以下、球充填配置または球被覆配置のことを、単に「配置」とも呼ぶ。
 配置L={S_i}が数学的に格子(Lattice)の構造を持つとき、Lを格子配置と呼ぶ。格子配置は、その格子が属する空間の基底行列Bで指定することができるので、球充填パラメータ又は球被覆配置パラメータとして基底行列Bが用いられてもよい。
 ある配置において、空間に対する球の体積(球被覆配置の場合は重複部分の体積も重複して足し合わせる)の割合のことを「密度」と呼ぶ。球充填配置の密度は0より大きく1以下の値であり、球被覆配置の密度は1以上の値である。最も高密度な球充填配置を「最密球充填配置」と呼び、最も低密度な(疎な)球被覆配置を「最疎球被覆配置」と呼ぶ。
 n次元空間における最密充填配置や最疎球被覆配置は次元数nによって異なり、幾つかの次元数nに対しては最密充填配置や最疎球被覆配置の具体的な構成法が知られている。例えば次元数がn=24の場合、Leech格子(Leech lattice)と呼ばれる配置が最密球充填配置であることが知られている。
 また、より高次元の空間に対しても、最密ではないものの密な球充填配置の構成法や、最疎ではないが疎な球被覆配置の構成法に関して、様々な方法が知られている。例えばBW格子(Barnes-Wall lattice)と呼ばれる配置は、密な球充填配置の構成法として知られる。
 本実施例では、1未満であって所定の値(空間の次元数によって当該所定の値が異なってもよい)より高密度の球充填配置、又は1以上であって所定の値(空間の次元数によって当該所定の値が異なってもよい)より低密度な球被覆配置が用いられる。そのため、予めこのような配置が構成され、構成された配置を指定するパラメータがパラメータ記憶部106及びパラメータ記憶部116に格納されている。この特徴により、従来は困難であった、高次元ユークリッド空間上の特徴ベクトルを用いたバイオメトリック暗号やバイオメトリック署名を、高精度に実現することができる。この理由は後述する。
 なお非特許文献2は、三角格子を利用したバイオメトリック署名の方法を開示している。しかし三角格子は、高次元空間(nが数十以上)においては球充填配置としてまったく密ではなく、また球被覆配置としてまったく疎でもない。このため三角格子を実際の生体情報に適用しようとすると、大きな精度劣化を引き起こし、実用的ではない。
 ある配置L={S_i|i=0,1,2,…}に対して、それをt倍(tは正の実数)にスケールした配置t・L={t・S_i|i=0,1,2,…}は、tの値によらず同じ密度を持つ。
 一方でtは、本実施例において、一般的な生体認証システムでいうところの「認証しきい値」の役割を果たし、tが大きいほど本人も他人も受理されやすくなり、tが小さいほど他人が拒否されやすくなるものの本人であっても拒否されやすくなる。球充配置パラメータ又は球被覆配置パラメータは、tの情報も含んでもよい。またユーザ毎に認証しきい値tを変える場合(例えばテンプレート登録処理の生体情報取得時にユーザによってtが指定される)は、tをテンプレートTに含めてもよい。
 続いて、鍵生成部103は、登録用特徴データを変換及び正規化して、登録用特徴ベクトルX=(X_1,…,X_n)を生成する(S401)。ここでXはn次元ユークリッド空間上のベクトルであり、後述する鍵復元用特徴ベクトルX’=(X’_1,…,X’_n)との間の距離d(X,X’)は、下記の(式4)が示すユークリッド距離で定義される。
 d(X,X’)=((X_1-X’_1)^2+…+(X_n-X’_n)^2)^(1/2)・・・(式4)
 このようなn次元ユークリッド空間上の特徴ベクトルを生成する方法として、例えば深層学習、主成分分析、及び判別分析などの機械学習手法を用いて、生体情報又は特徴データから特徴ベクトルを生成したり、特徴ベクトル抽出器を学習したりする方法などが知られている。なお一般的に、実用的な認証精度を実現するためには、特徴ベクトルの次元数nは数十~数万程度必要であり、高次元のユークリッド空間を扱う必要があることに注意が必要である。
 鍵生成部103は、球充填配置パラメータ又は球被覆配置パラメータが指定する配置L={S_i|i=0,1,2,…}から、点Sを選択する(S402)。鍵生成部103は、具体的な選択方法として、例えば以下のいずれかの方法を用いることができる。
 (a)鍵生成部103は、Lの上で定義される所定の分布に従ってランダムにSを選択する。この分布は例えばLを台とする離散正規分布や、Lの所定の有限部分集合上の一様分布であってもよい。
 (b)鍵生成部103は、Lの中で前記登録用特徴ベクトルXに最も近い点(以下、Xの最近傍点とも呼ぶ)を選択する。
 (c)Lが格子配置のとき、鍵生成部103は、格子配置の基底行列Bの逆行列をXに掛けたベクトルY=B^(-1)Xを計算する。鍵生成部103は、Yの各成分の小数部分を切り捨て、または切り上げ、または丸め処理した整数ベクトルをZとして算出する。鍵生成部103は、基底行列Bに前記整数ベクトルZを掛けたベクトルS=BZを、Sとして選択する。
 鍵生成部103は、(b)又は(c)の方法を用いることで、後述する式8で算出される差分ベクトルDの各成分の絶対値が(a)の方法に比べて小さくなる。従って、鍵生成部103が(b)又は(c)の方法を用いると、(a)の方法を用いる場合と比較して、テンプレートTのデータサイズが小さくなり、効率的な記録ができる。
 続いて、鍵生成部103は、ソルトと呼ばれる値(salt)を生成する(S403)。鍵生成部103は、例えば、所定の長さの文字列若しくはビット列、又は所定の範囲の数値をランダムに生成して、ソルトとしてもよい。また、鍵生成部103は、ユーザIDやカウンタなど、ユーザ毎又は登録生体情報毎に異なる値をソルトとして用いてもよい。ソルトの長さ(sビット)は、総当たり攻撃が困難となる程度の大きさ、例えばs=128程度以上あることが望ましい。
 なお、鍵生成部103がステップS403の処理を実施しなくてもよく、この場合後述の処理にソルトが用いられなくてもよい。この場合、以降の処理におけるsaltを長さ0の文字列又はビット列として読み替えればよい。
 続いて、鍵生成部103は、点Sとソルトsaltとから鍵skを生成する(S404)。具体的には、鍵生成部103は、例えば、SHA256やSHA3などの一方向性関数Hash()を用いた下記の(式5)を計算することでskを算出する。
 sk=Hash(S||salt)・・・(式5)
 但し、||はデータ連結を示す。また、鍵生成部103は、線形ハッシュ関数を用いてskを算出してもよい。また、鍵生成部103は、AESなどの暗号化関数又は鍵付きハッシュ関数Enc()と、所定のパラメータ(p)とを用いた下記の(式6)を計算することでskを算出してもよい。
 sk=Enc(S||salt,p)・・・(式6)
 また、鍵生成部103は、線形関数fと、適切な写像gと、を用いた下記の(式7)を計算することでskを算出してもよい。
 sk=f(S)+g(salt)・・・(式7)
 以上がステップS203における鍵生成処理の詳細な例である。
 次にテンプレート生成ステップ(S204)の詳細な例を説明する。テンプレート生成部104は、点Sから登録用特徴ベクトルXを引いた差分ベクトルDを下記の(式8)を用いて算出し、Dとsaltとを組にしたテンプレートT=(D,salt)を生成する(S405)。
 D=X-S・・・(式8)
 なお、テンプレート生成部104は、D=S+X、又はD=S-Xとして算出してもよい。
 図5は、ステップS303における鍵復元処理の詳細の例を示すフローチャートである。鍵利用端末110の鍵復元部113は、パラメータ記憶部116から、球充填配置パラメータ又は球被覆配置パラメータ(鍵登録端末100が鍵生成及びテンプレート生成において用いた配置におけるパラメータ)を読み込む(S500)。なお、鍵登録端末100が鍵生成及びテンプレート生成において、球充填配置と球被覆配置のどちらを用いるのかを示す情報を予め鍵利用端末110と共有しているものとする。
 鍵復元部113は、認証用特徴データを変換及び正規化して、認証用特徴ベクトルX’=(X’_1,…,X’_n)を生成する(S501)。鍵復元部113が、認証用特徴ベクトルX’と、テンプレートT=(D,salt)と、から、点Rを計算する(S502)。具体的には、例えば、鍵復元部113は、下記の(式9)を計算することで点Rを算出する。
 R=X’-D・・・(式9)
 (式8)及び(式9)より、下記の(式10)が成立する。
 R=X’?(X-S)=S+(X’-X)・・・(式10)である。
 鍵復元部113は、配置Lから、点Rの最近傍点S’を探索する(S503)。ここで(式10)より、X’-Xが十分に短いベクトルであるならば、即ち認証用特徴ベクトルX’が登録用特徴ベクトルXに十分近いならば、Rの最近傍点S’は、Sと一致することが期待できる。逆にX’がXに近くない場合には、S’とSは異なることが期待できる。従って認証用の生体情報が登録者本人のものであるならばS’=Sとなり、他人ならばS’=Sとはならない、と期待される。
 鍵復元部113は、点S’とテンプレートT=(D,salt)に含まれるソルトsaltから、鍵sk’を生成する(S504)。鍵sk’の具体的な生成方法は、ステップS404における鍵skの生成方法と同様である。S’=Sならばsk=sk’となることが期待され、S’=Sでなければsk=sk’とはならないことが期待される。従って正しいユーザ本人が認証用生体情報を入力した場合にのみ、正しい鍵を復元することができる。
 なお、1:N認証が行われる場合には、ステップS301において入出力処理部111はユーザIDを取得せず、例えば、ステップS303において入出力処理部111は、全てのテンプレートTをDBサーバ120のテンプレートDB123から取得する。さらに、ステップS304において入出力処理部111は、全ての検証情報をDBサーバ120の検証情報DB124から取得する。そして、例えば、全てのテンプレートTそれぞれについてステップS303の処理が実行され、全ての検証情報それぞれについてステップS304の処理が実行される。
 前述の通り、本実施例の認証システムは高密度の球充填配置、又は低密度な球被覆配置を用いることを特徴としており、これによって従来のバイオメトリック暗号やバイオメトリック署名の手法よりも、高い認証精度を達成できるという効果を有する。以下ではその理由を説明する。
 本来、登録用特徴ベクトルXに対して、登録者本人として受理される認証用特徴ベクトルX’の条件は、ユークリッド距離d(X,X’)が所定のしきい値r以下であることとして定義される。すなわち受理されるX’の集合(受理領域)は、n次元空間においてXを中心とする半径rの超球となる。
 一方で本実施例のバイオメトリック暗号やバイオメトリック署名における鍵復元処理では、n次元空間上の配置L={S_i|i=0,1,2,…}の中で、式10の点R=S+X’-Xの最近傍点がSである場合に、またその場合に限って正しい鍵skが復元され、本人として受理される。ここで、n次元空間上でSが最近傍点となるような領域(Sのボロノイセル)をV(S)とすると、X’が受理される必要十分条件は、下記の(式11)で表現できる。
 S+X’-X∈V(S)⇔X’∈X-S+V(S)・・・(式11)
 式11の右辺のX-S+V(S)は、V(S)をX-Sだけ平行移動した領域である。ここで、もしV(S)がSを中心とする半径rの超球だと仮定すると、右辺はXを中心とする半径rの超球となる。これは前述のユークリッド距離に基づく受理領域と一致し、認証精度も一致するため精度劣化は発生しない。しかし一般に、配置Lの各点Sに対するボロノイセルは超球とは一致せず、精度劣化が発生する。一般に、超球とボロノイセルの不一致領域が大きいほど精度劣化の程度も大きくなる。
 ところで、半径rの超球に関する球充填配置の各点のボロノイセルは、その定義から、半径rの超球を含む。そしてその密度が高いほど、ボロノイセルと超球の不一致領域は小さくなり、したがって精度劣化の程度も小さくなる。同様に、半径rの超球に関する球被覆配置の各点のボロノイセルは、半径rの超球に含まれる。そしてその密度が小さいほど、ボロノイセルと超球の不一致領域は小さくなり、したがって精度劣化の程度も小さくなる。
 従来のバイオメトリック暗号やバイオメトリック署名技術、例えば非特許文献1に記載の三角格子を用いる方法は、次元数nが4以上で大きくなるほど球充填配置としての密度は急速に低く、球被覆配置としての密度は急速に高くなる。このため精度劣化の程度も大きくなる。一方で例えばBW格子やLeech格子などは、より高い次元でも球充填配置としての密度が高く、精度劣化の程度が小さくなる。
 以上の理由により、本実施例の認証システムは、高い認証精度(即ち本人受入率及び他人拒否率が高い)を達成するバイオメトリック暗号及びバイオメトリック署名を実現することができる。
 なお、本実施形態の認証システムは、生体情報に基づく、鍵、テンプレート、及び検証情報の生成、鍵の復元、並びに鍵の検証等を行っているが、人間を識別する生体情報に限らず、個体を識別するファジーな情報(例えば半導体デバイスを識別するPUF(Physically Unclonable Function)等)に基づく、鍵、テンプレート、及び検証情報の生成、鍵の復元、並びに鍵の検証等を行ってもよい。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。

Claims (10)

  1.  生体情報から鍵を生成する鍵生成装置であって、
     プロセッサとメモリとを有し、
     前記メモリは、
     第1の生体情報の特徴を示す第1の特徴ベクトルと、
     1未満であって所定値より高い密度の球充填配置、又は1以上であって所定値より低密度の球被覆配置を特定するためのパラメータと、を保持し、
     前記プロセッサは、
     前記パラメータに基づいて前記球充填配置又は前記球被覆配置を特定し、
     前記特定した前記球充填配置又は前記球被覆配置に含まれる第1の点を選択し、
     前記第1の点に対して所定の第1変換を施して第1の鍵を生成し、
     前記第1の特徴ベクトルと前記第1の点とに基づいて、前記第1の生体情報に対応するテンプレートを生成する、鍵生成装置。
  2.  請求項1に記載の鍵生成装置であって、
     前記パラメータが特定する球充填配置又は前記球被覆配置は、格子配置であり、
     前記プロセッサは、
     前記格子配置の基底行列の逆行列を前記第1の特徴ベクトルに掛けたベクトルYを算出し、
     前記ベクトルYの各成分の小数部分を切り捨て、切り上げ、又は丸め処理をした整数ベクトルZを算出し、
     前記基底行列に前記整数ベクトルZを掛けたベクトルを前記第1の点として選択する、鍵生成装置。
  3.  請求項1に記載の鍵生成装置であって、
     前記プロセッサは、前記特定した前記球充填配置又は前記球被覆配置から、所定の分布に従ってランダムに前記第1の点を選択する、鍵生成装置。
  4.  請求項1に記載の鍵生成装置であって、
     前記プロセッサは、
     前記特定した前記球充填配置又は前記球被覆配置における前記第1の特徴ベクトルの最近傍点を前記第1の点として選択する、
    ことを特徴とする、鍵生成装置。
  5.  請求項1に記載の鍵生成装置であって、
     第1変換は、ハッシュ関数、鍵付きハッシュ関数、暗号化関数、及び線形ハッシュ関数の少なくとも1つによる変換を含む、鍵生成装置。
  6.  請求項1に記載の鍵生成装置であって、
     前記プロセッサは、前記第1の鍵に対して所定の第2変換を施して、前記第1の鍵が復元され場合における前記復元された鍵の正当性を検証するための検証情報を生成する、鍵生成装置。
  7.  請求項6に記載の鍵生成装置であって、
     前記第2変換は、ハッシュ関数、鍵付きハッシュ関数、暗号化関数、及び線形ハッシュ関数の少なくとも1つによる変換を含む、鍵生成装置。
  8.  生体情報から生成された鍵を利用する鍵利用装置であって、
     プロセッサとメモリとを有し、
     前記メモリは、
     第1の生体情報から生成されたテンプレートと、
     前記第1の生体情報から生成された第1の鍵を検証するための検証情報と、
     第2の生体情報の特徴を示す第2の特徴ベクトルと、
     1未満であって所定値より高密度の球充填配置、又は1以上であって所定値より低密度の球被覆配置を特定するためのパラメータと、を保持し、
     前記テンプレートは、前記パラメータに基づいて特定された前記球充填配置又は前記球被覆配置に含まれる第1の点と、前記第1の生体情報の特徴を示す第1の特徴と、に基づいて、生成されたものであり、
     前記第1の鍵は、前記第1の点に対して所定の第1変換が施されることによって生成されたものであり、
     前記検証情報は、前記第1の鍵に対して所定の第2変換を施すことによって生成されたものであり、
     前記プロセッサは、
     前記第2の特徴ベクトルと前記テンプレートとから第2の点を算出し、
     前記球充填配置又は配置における前記第2の点の最近傍点を第3の点として算出し、
     前記第3の点に前記第1変換を施して第2の鍵を生成し、
     前記第2の鍵に前記第2変換を施した値と、前記検証情報と、を比較して、前記第1の鍵と前記第2の鍵とが同一の生体の生体情報から生成されたか否かを判定する、鍵利用装置。
  9.  請求項8に記載の鍵利用装置であって、
     前記プロセッサは、前記第2の鍵に前記第2変換を施した値と、前記検証情報と、を比較して、前記第1の鍵と前記第2の鍵とが同一の生体の生体情報から生成されたと判定した場合、前記第2の鍵を用いた、認証処理、暗号化処理、及び署名処理の少なくとも1つを実行する、鍵利用装置。
  10.  生体情報から鍵を生成する鍵生成装置による鍵生成方法であって、
     前記鍵生成装置は、
     第1の生体情報の特徴を示す第1の特徴ベクトルと、
     1未満であって所定値より高い密度の球充填配置、又は1以上であって所定値より低密度の球被覆配置を特定するためのパラメータと、を保持し、
     前記鍵生成方法は、
     前記鍵生成装置が、前記パラメータに基づいて前記球充填配置又は前記球被覆配置を特定し、
     前記鍵生成装置が、前記特定した前記球充填配置又は前記球被覆配置に含まれる第1の点を選択し、
     前記鍵生成装置が、前記第1の点に対して所定の第1変換を施して第1の鍵を生成し、
     前記鍵生成装置が、前記第1の特徴ベクトルと前記第1の点とに基づいて、前記第1の生体情報に対応するテンプレートを生成する、鍵生成方法。
PCT/JP2020/035536 2019-11-29 2020-09-18 鍵生成装置、鍵利用装置、及び鍵生成方法 WO2021106334A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20893777.1A EP4068676A4 (en) 2019-11-29 2020-09-18 KEY GENERATION DEVICE, KEY USE DEVICE AND KEY GENERATION METHOD
KR1020227016509A KR20220082061A (ko) 2019-11-29 2020-09-18 키 생성 장치, 키 이용 장치, 및 키 생성 방법
US17/779,202 US20220405369A1 (en) 2019-11-29 2020-09-18 Key generation apparatus, key utilization apparatus, and key generation method
CN202080080313.6A CN114762287A (zh) 2019-11-29 2020-09-18 密钥生成装置、密钥利用装置和密钥生成方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-216479 2019-11-29
JP2019216479A JP7339866B2 (ja) 2019-11-29 2019-11-29 鍵生成装置及び鍵生成方法

Publications (1)

Publication Number Publication Date
WO2021106334A1 true WO2021106334A1 (ja) 2021-06-03

Family

ID=76086020

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/035536 WO2021106334A1 (ja) 2019-11-29 2020-09-18 鍵生成装置、鍵利用装置、及び鍵生成方法

Country Status (6)

Country Link
US (1) US20220405369A1 (ja)
EP (1) EP4068676A4 (ja)
JP (1) JP7339866B2 (ja)
KR (1) KR20220082061A (ja)
CN (1) CN114762287A (ja)
WO (1) WO2021106334A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019216479A (ja) 2019-09-03 2019-12-19 西尾 実 可動式クリップ機能付スマートフォン及びスマートフォンケース

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201807439D0 (en) * 2018-05-06 2018-06-20 Univ Newcastle Authentication of physical object using internal structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019216479A (ja) 2019-09-03 2019-12-19 西尾 実 可動式クリップ機能付スマートフォン及びスマートフォンケース

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DODIS, Y.REYZIN, L.SMITH, A.: "Advances in Cryptology - EUROCRYPT 2004. Lecture Notes in Computer Science", vol. 3027, SPRINGER, article "Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data"
GILKALAYE BABAK POOREBRAHIM; RATTANI AJITA; DERAKHSHANI REZA: "Euclidean-Distance Based Fuzzy Commitment Scheme for Biometric Template Security", 2019 7TH INTERNATIONAL WORKSHOP ON BIOMETRICS AND FORENSICS (IWBF), IEEE, 2 May 2019 (2019-05-02), pages 1 - 6, XP033564374, DOI: 10.1109/IWBF.2019.8739177 *
See also references of EP4068676A4

Also Published As

Publication number Publication date
CN114762287A (zh) 2022-07-15
EP4068676A1 (en) 2022-10-05
EP4068676A4 (en) 2023-12-27
JP7339866B2 (ja) 2023-09-06
KR20220082061A (ko) 2022-06-16
US20220405369A1 (en) 2022-12-22
JP2021087167A (ja) 2021-06-03

Similar Documents

Publication Publication Date Title
Liu et al. Finger vein secure biometric template generation based on deep learning
Kumar et al. Privacy preserving security using biometrics in cloud computing
JP6821516B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
Olanrewaju et al. Secure ear biometrics using circular kernel principal component analysis, Chebyshev transform hashing and Bose–Chaudhuri–Hocquenghem error-correcting codes
US11115214B2 (en) Biometric signature system and biometric signature method
Delgado-Mohatar et al. Blockchain meets biometrics: Concepts, application to template protection, and trends
KR101845192B1 (ko) 내적 연산 적용을 위한 지문 정보 변경 방법 및 시스템
JP7060449B2 (ja) 生体認証システム、生体認証方法、及び生体認証プログラム
US20200028686A1 (en) Systems and methods for extending the domain of biometric template protection algorithms from integer-valued feature vectors to real-valued feature vectors
JP5753772B2 (ja) 生体認証システム
Verma et al. A novel model to enhance the data security in cloud environment
Jasmine et al. A privacy preserving based multi-biometric system for secure identification in cloud environment
KR101838432B1 (ko) 바이오매트릭스와 함수암호-내적을 이용한 인증 방법 및 시스템
WO2021106334A1 (ja) 鍵生成装置、鍵利用装置、及び鍵生成方法
Bhargav-Spantzel et al. Biometrics-based identifiers for digital identity management
US11711216B1 (en) Systems and methods for privacy-secured biometric identification and verification
KR20190129417A (ko) 바이오매트릭스와 Fuzzy Vault를 이용하여 암호학적 키를 생성하는 방법 및 시스템
Kumar et al. Iris template protection using discrete logarithm
KR101949579B1 (ko) 바이오매트릭스를 이용하여 키를 생성하는 방법 및 시스템
JP7021375B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
JP7320101B2 (ja) 計算機システム、サーバ、端末、プログラム、及び情報処理方法
Karabina et al. Revisiting the false acceptance rate attack on biometric visual cryptographic schemes
JP7061083B2 (ja) 署名システム、署名方法及びプログラム
US11876916B2 (en) Apparatus and methods for candidate tracking
Arora et al. Privacy protection of biometric templates using deep learning

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: 20893777

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20227016509

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020893777

Country of ref document: EP

Effective date: 20220629