Server, authentication system, authentication method, and program

The server system employs homomorphic encryption and proxy re-encryption to address high-speed processing, security, and privacy issues in SaaS biometric authentication by maintaining encrypted feature calculations and secure key conversions.

JP7910617B2Active Publication Date: 2026-08-25NEC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024546669
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-09-16
Publication Date
2026-08-25
Estimated Expiration
2042-09-16

AI Technical Summary

Technical Problem

Existing biometric authentication systems in SaaS environments face challenges with high-speed processing, security risks due to symmetric-key cryptography, and privacy concerns related to biometric feature handling and encryption.

Method used

A server system using homomorphic encryption and proxy re-encryption technology to calculate and convert biometric similarity scores while keeping features encrypted, enabling high-speed authentication with secure key conversions between servers.

Benefits of technology

Ensures high-speed, secure, and private biometric authentication by maintaining feature confidentiality and avoiding decryption and re-encryption overhead, thus enhancing security and privacy in SaaS environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007910617000001
    Figure 0007910617000001
  • Figure 0007910617000002
    Figure 0007910617000002
  • Figure 0007910617000003
    Figure 0007910617000003
Patent Text Reader

Abstract

This invention provides a server, an authentication system, an authentication method and a program that contribute to the attainment of high-speed processing, high security and privacy in authentication services. The server comprises: a storage unit that stores a first encrypted feature value; an acquisition unit that acquires a second encrypted feature value accepted by a terminal; a calculation unit that calculates a similarity degree on the basis of the first feature value and the second feature value; and a conversion / transmission unit that converts the similarity degree in a format allowing another server to perform a decryption and that transmits the similarity degree as converted to the other server.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a server, an authentication system, an authentication method, and a program. [Background technology]

[0002] SaaS (Software as a Service) can be provided on an account basis, requiring only a terminal device and an internet connection. Furthermore, by creating multiple accounts, the service can be provided to multiple users. This ease of use and centralization has led to the provision of a wide variety of services.

[0003] As mentioned above, SaaS allows multiple users to access application software services by creating accounts and accessing the server via the internet. In large-scale SaaS applications, users will exist across organizations such as companies and departments. In such cases, ensuring security between accounts becomes a problem. In particular, strict management of passwords and IDs during account authentication is necessary to prevent unauthorized access to confidential information.

[0004] In recent years, there has been an increase in the adoption of biometric authentication instead of IDs and passwords to prevent unauthorized access. However, if the biometric features of an individual are leaked, it becomes possible to access other services that use the same biometric authentication. Therefore, care must be taken in handling the so-called templates used for biometric authentication and the biometric features obtained during authentication. Furthermore, if authentication is performed by SaaS, the biometric authentication template and the features obtained during authentication are handed over to the service provider during account registration, creating security problems. In addition, if the features are not encrypted, the service operator can identify who authenticated to which service, raising concerns about privacy. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2008-021295 [Overview of the project] [Problems that the invention aims to solve]

[0006] The disclosures in the above-mentioned prior art documents are incorporated herein by reference. The following analysis was conducted by the inventors.

[0007] Patent Document 1 discloses a service provider program that enables matching a member matching service between groups while keeping the user's identification number encrypted, and that allows the matching process to be executed without the results of the matching being known to a third party such as the service provider.

[0008] However, the invention described in Patent Document 1 encrypts the user identification ID in the list included in the matching query information using a symmetric-key cryptography scheme, and then encrypts the list of identification IDs sorted according to priority using the public key of the service provider's server in a two-stage encryption process. Furthermore, the matching results are processed using the processing information included in the query before being sent to the relay computer, so the processing speed becomes an issue when introducing it into an authentication service.

[0009] Furthermore, because the encryption key is generated using a symmetric-key cryptography scheme in the relay computer, the private key must be delivered to the user's terminal for use, which creates a security risk. In particular, if the private key is obtained illegally, the impact could be enormous in situations where many terminals are used, such as in authentication services.

[0010] Therefore, an object of the present invention is to provide a server, an authentication system, an authentication method, and a program that contribute to ensuring high-speed processing, high security, and privacy in an authentication service.

Means for Solving the Problems

[0011] According to a first aspect of the present invention or the disclosure, there is provided a server including a storage unit that stores an encrypted first feature amount, an acquisition unit that receives an encrypted second feature amount from a terminal, a calculation unit that calculates a similarity based on the first feature amount and the second feature amount, and a conversion transmission unit that converts the similarity into a form that can be decrypted by another server and transmits it to the other server.

[0012] According to a second aspect of the present invention or the disclosure, there is provided a server including a storage unit that stores an encrypted first feature amount, an acquisition unit that receives an encrypted second feature amount from a terminal, a calculation unit that calculates a similarity based on the first feature amount and the second feature amount, and a conversion transmission unit that converts the similarity into a form that can be decrypted by another server and transmits it to the other server. The acquisition unit acquires a user ID for identifying a user in association with the first feature amount, the calculation unit calculates the similarity in an encrypted state based on the first feature amount and the second feature amount, and the conversion transmission unit transmits the similarity to another server in association with the user ID. There is also provided an authentication system including the server and another server that decrypts the similarity and acquires a single user ID based on the similarity and a predetermined criterion.

[0013] According to a third aspect of the present invention or the disclosure, there is provided an authentication method including steps of: a computer storing an encrypted first feature amount; the computer acquiring an encrypted second feature amount received from a terminal; the computer calculating a similarity based on the first feature amount and the second feature amount; and the computer converting the similarity into a form that can be decrypted by another server and transmitting it to the other server.

[0014] According to a fourth aspect of the present invention or disclosure, there is provided a program for causing a computer to execute: a process of storing an encrypted first feature amount; a process of receiving an encrypted second feature amount received by a terminal; a process of calculating a similarity based on the first feature amount and the second feature amount; and a process of converting the similarity into a form that can be decrypted by another server and transmitting the similarity to the other server.

Effect of the Invention

[0015] According to each aspect of the present invention or disclosure, the present invention provides a server, an authentication system, an authentication method, and a program that contribute to ensuring high-speed processing, high security, and privacy in an authentication service.

Brief Description of the Drawings

[0016] [Figure 1] It is a block diagram showing an example of the configuration of a server according to an embodiment. [Figure 2] It is a schematic diagram for showing an outline of processing of a server according to a first embodiment. [Figure 3] It is a block diagram showing an example of the configuration of a server according to a first embodiment. [Figure 4] It is a flowchart showing the operation (key generation and storage of registered feature amounts) of a server according to a first embodiment. [Figure 5] It is a flowchart showing the operation (collation process) of a server according to a first embodiment. [Figure 6] It is a schematic diagram showing the hardware configuration of a server according to a first embodiment. [Figure 7] It is a block diagram showing an example of the configuration of a server according to a second embodiment. [Figure 8] It is a sequence diagram showing an example of the operation (key generation) of a server according to a second embodiment. [Figure 9] It is a sequence diagram showing an example of the operation (registration of feature amounts) of a server according to a second embodiment. [Figure 10] This is a sequence diagram showing an example of the operation (verification) of the server according to the second embodiment. [Figure 11] This is a sequence diagram showing an example of another operation (key generation) of the server according to the second embodiment. [Figure 12] This is a sequence diagram showing an example of another operation (matching) of the server according to the second embodiment. [Modes for carrying out the invention]

[0017] [Summary of the process in one embodiment] First, an overview of the processing of one embodiment will be described. The reference numerals in the drawings attached to this overview are for convenience and serve as examples to aid understanding; this overview is not intended to be limiting in any way. Furthermore, the connection lines between blocks in each figure include both bidirectional and unidirectional connections. Unidirectional arrows schematically represent the flow of the main signal (data) and do not exclude bidirectional connections. In addition, although not explicitly shown, input and output ports exist at the input and output ends of each connection line in the circuit diagrams, block diagrams, internal configuration diagrams, and connection diagrams disclosed in this application. The same applies to input / output interfaces.

[0018] [Configuration of one embodiment] Next, the configuration of a server according to one embodiment will be described with reference to a figure. Figure 1 is a block diagram showing an example of the configuration of a server according to one embodiment. As shown in this figure, the server 10 according to one embodiment includes a storage unit 11, an acquisition unit 12, a calculation unit 13, and a conversion and transmission unit 14.

[0019] The storage unit 11 stores the encrypted first feature quantity. The acquisition unit 12 acquires the encrypted second feature quantity received by the terminal. The calculation unit 13 calculates the similarity score based on the first feature quantity and the second feature quantity. The conversion and transmission unit 14 converts the similarity score into a format that can be decrypted by other servers and transmits it to those other servers.

[0020] According to one embodiment of the server, in biometric authentication, it is possible to calculate the similarity between a first feature quantity, which serves as a template, and a second feature quantity, which is authentication query information obtained from the terminal for attempting authentication, and to convert the similarity into a format that can be decrypted by other servers. In other words, it is possible to convert the calculated similarity using a key that can be decrypted by other servers. For example, by converting the calculated similarity into a feature quantity encrypted with a secret key that can be decrypted by a server providing a service on another server, it is possible to perform authentication processing while keeping the first and second feature quantities confidential without re-encrypting them.

[0021] Specific embodiments will be described in more detail below with reference to the drawings. In each embodiment, the same reference numerals are used for the same components, and their descriptions are omitted.

[0022] [First Embodiment] Figure 2 is a schematic diagram illustrating the overview of the server processing according to the first embodiment. As shown in this figure, there is a server 10 that performs authentication processing, a server 21 that provides service A, and a server 22 that provides service B. Server 10 provides the authentication service as SaaS. Server 10 stores pre-registered authentication feature quantities in an encrypted format. Note that Figure 2 is an example where there are two services, A and B, for one authentication SaaS, but the number of services is not limited to two.

[0023] A user 23 intending to use service A enters biometric information at terminal 24. For example, in the case of facial recognition, the user points their face at the camera and inputs the image into the terminal. The input image is then processed by the terminal, where features are extracted and encrypted. The encrypted features are sent to server 10, which is the authentication server, as an authentication query along with the service ID "A".

[0024] Server 10 calculates the similarity between the registered features and the authentication query features. The calculation is performed between the registered features and the authentication query features, but both are homomorphically encrypted, allowing the calculation to be performed while they remain encrypted. The calculated encrypted similarity D1 is encrypted with the authentication service key. Here, a proxy re-encryption method is used to convert from the authentication service key to the service A key. The converted Enc(D1) is sent to server 21 of service A, where it is decrypted.

[0025] The decrypted D1 is then checked on server 21 to determine if it falls within a predetermined range of values, i.e., the acceptable range. If it falls within the acceptable range, an OK message is sent to terminal 24, and service A is permitted. If it falls outside the acceptable range, an NG message is sent, and the authentication process ends.

[0026] User 25, who is attempting to use service B, undergoes a similar process. The difference is that it sends service ID "B" to server 10 as an authentication query, and server 10 sends the encryption similarity score Enc(D2), which has been converted from the authentication service key to the service B key, to server 22.

[0027] In this way, by calculating the similarity between the registered features and the authentication query features while keeping them encrypted, the authentication process can be performed in a confidential state within the service provider server 10. Furthermore, by directly converting the calculated encrypted similarity key to the key for each service, it becomes unnecessary to decrypt and then re-encrypt with the key for each service, thus enabling high-speed processing.

[0028] [Configuration of the first embodiment] Next, the configuration of the server 10 of Embodiment 1 will be described with reference to the figures. Figure 3 is a block diagram showing an example of the configuration of the server 10 according to this embodiment. As shown in this figure, the server 10 according to the first embodiment includes a storage unit 11, an acquisition unit 12, a calculation unit 13, a conversion and transmission unit 14, a key generation unit 15, and a conversion key acquisition unit 16.

[0029] The memory unit 11 stores the encrypted first feature quantity. Various encryption methods can be employed. In this embodiment, the server uses public-key cryptography, but symmetric-key cryptography may also be used. However, since it is necessary to distribute the private key, and security issues arise at that time, it is desirable to use public-key cryptography. The "first feature quantity" is a template for querying so-called biometric information, and there are at least as many as the number of pre-registered users.

[0030] The memory unit 11 may also store a user ID (for each service) that identifies the user in association with the encrypted first feature quantity.

[0031] The acquisition unit 12 acquires a second feature quantity that has been received and encrypted by the terminal. The second feature quantity is included in the authentication query that attempts authentication. The encryption must be performed using at least the same key as the first feature quantity. Biometric information is acquired at the terminal, and feature quantities are extracted based on the biometric information. The extracted feature quantities are encrypted and sent to the server 10. The server 10 receives the feature quantities and sends them to the calculation unit 13 while still encrypted.

[0032] The calculation unit 13 calculates the similarity based on the first feature and the second feature. Generally, the distance between the first feature vector and the second feature vector is used as the similarity measure. For example, various similarity measures such as Euclidean distance, Hamming distance, cosine similarity, and the square of the Euclidean distance can be used.

[0033] In this embodiment, homomorphic encryption and homomorphic operations are used as examples to match feature quantities while they remain encrypted. For example, an encryption scheme called Somewhat homomorphic encryption is a homomorphic encryption scheme that has homomorphism with respect to an arbitrary number of additions and a finite number of multiplications (given ciphertexts Enc(m1) and Enc(m2) of plaintexts m1 and m2, the ciphertext Enc(m1○m2) of a binary operation m1○m2 on the plaintexts m1 and m2 can be calculated without decrypting them back into the plaintexts m1 and m2. Here, "○" is a binary operation, such as addition "+" or multiplication "×"). Therefore, it is applicable to similarity calculations and other matching means in the calculation unit 13.

[0034] The conversion and transmission unit 14 converts the similarity into a format that other servers can decrypt and sends it to other servers. As described above, the first and second feature quantities are encrypted with a key generated by server 10, which is the authentication server. This is converted into a decryptable key at each service server and sent to the respective service server.

[0035] In this embodiment, the server uses proxy re-encryption technology as an example to perform key conversion. Proxy re-encryption is a technology that can convert the ciphertext of one key to the ciphertext of the second key without obtaining the plaintext information. Here, it is used to convert the public key of server 10 to the public key generated by the server providing each service without decryption. Here, there are two types of public-key cryptography key pairs, represented as (public key 1, private key 1) = (pk1, sk1) and (public key 2, private key 2) = (pk2, sk2). To perform proxy re-encryption, a conversion key is generated. If the conversion key is ReKey, the conversion key generation process rk = ReKeyGen() is ReKeyGen(pk2, sk1) = rk 1→2 This is how it works. Here, pk2 is the public key of the target ciphertext, and sk1 is the private key of the source ciphertext.

[0036] The key generation unit 15 generates a pair of private and public keys. The generated public key is distributed to each terminal receiving the service. The first feature is encrypted with the public key generated during template registration, and the second feature is encrypted with the public key generated during authentication.

[0037] The conversion key acquisition unit 16 obtains a conversion key from the private key generated by the key generation unit and the key obtained from other servers. For example, it generates a conversion key from the private key generated by server 10 and the public keys of each service, which are other servers. For example, if the private key of server 10 is sk1 and the public key of each service is pk2, then ReKeyGen(pk2,sk1)=rk 1→2 The resulting conversion key is rk. 1→2 This is sent to the conversion transmission unit 14.

[0038] In addition to the one-way conversion method described above, proxy re-encryption technology also includes methods that allow bidirectional conversion. In that case, ReKeyGen(sk1,sk2)=rk 1←→2 As shown above, both the source and destination secret keys are required. In the server of this embodiment, it becomes necessary to deliver the user's secret key from another server to server 10, which raises security issues, so it is desirable to adopt the aforementioned one-way conversion model. If the feature quantity of the plaintext before encryption is M, the processing of the conversion key is ReEnc(rk 1→2 This can be expressed as ,Enc(pk1,M))=Enc(pk2,M).

[0039] Furthermore, the server 10 may acquire a user ID, such as a user ID for a service provided by another server, in the acquisition unit 12, associating it with the second feature quantity. The conversion and transmission unit 14 may also transmit the calculated similarity score to the other server, associating it with the user ID.

[0040] [Explanation of operation] Figures 4 and 5 are flowcharts illustrating an example of the operation of the server 10 in this embodiment. The authentication service is mainly divided into three processing flows: key generation, storage of registered features, and matching. Figure 4 illustrates an example of the operation of key generation and storage of registered features, and Figure 5 illustrates an example of the operation during matching.

[0041] Referring to Figure 4, first, a set of private and public keys is generated on server 10 (step S101). Of the generated keys, the public key is distributed to each terminal (step S102). Then, server 10 obtains the private key and the public key (or private key) generated on other servers that are servers for each service, and generates and obtains a conversion key (step S103). Next, each terminal obtains the first feature quantity, which has been obtained and encrypted (step S104). The obtained first feature quantity is stored in the storage of server 10 (step S105).

[0042] Referring to Figure 5, first, server 10 obtains the second feature from the terminal (step S201). Next, it calculates the similarity based on the first and second feature (step S202). Then, it converts the similarity into a format that other servers can decrypt. Once the conversion is complete, it sends the encrypted similarity to the other servers, which are the servers for each service (S204).

[0043] [Hardware configuration] The server 10 of this embodiment is executable by an information processing device (computer) and has the configuration illustrated in Figure 6. The server 10 includes a CPU (Central Processing Unit) 301, memory 302, input / output interface 303, and a communication means such as a NIC (Network Interface Card) 304, which are interconnected by an internal bus 305.

[0044] However, the configuration shown in Figure 6 is not intended to limit the server's hardware configuration. Server 10 may include hardware not shown, and may not have an input / output interface 303 if necessary. Furthermore, the number of CPUs and other components included in these devices is not limited to the example shown in Figure 6; for example, multiple CPUs may be included in Server 10.

[0045] Memory 302 includes RAM (Random Access Memory), ROM (Read Only Memory), and auxiliary storage devices (such as hard disks).

[0046] The input / output interface 303 is a means that serves as an interface for a display device or input device (not shown). The display device is, for example, a liquid crystal display. The input device is, for example, a camera or sensor that receives biological information, and a device that receives user input such as a keyboard or mouse.

[0047] The functions of server 10 are realized by a group of programs (processing modules) stored in memory 302, such as a storage program, acquisition program, calculation program, conversion and transmission program, key generation program, and conversion key acquisition program, as well as a group of data such as parameters used by each program. These processing modules are realized, for example, by the CPU 301 executing each program stored in memory 302. Furthermore, these programs can be downloaded via a network or updated using a storage medium that stores the programs. Moreover, the above processing modules may be realized by semiconductor chips. In other words, there is a means to execute the functions performed by the above processing modules using some hardware and / or software.

[0048] [Hardware operation: During key generation] On server 10, a key generation program is called from memory 302 and enters execution mode on CPU 301. This program generates a public key and private key pair for server 10, which provides authentication SaaS, and stores it in memory 302. Also on server 10, a conversion key acquisition program is called from memory 302 and enters execution mode on CPU 301. This program receives the public key (or private key) of other servers providing each service via NIC 304 and uses it together with server 10's private key to generate a conversion key. The generated conversion key is temporarily stored in memory 302.

[0049] [When registering the first feature] On server 10, the storage program is called from memory 302 and enters execution mode on CPU 301. This program receives encrypted first feature quantities, which are the feature quantities for the authentication query, from the user terminal via NIC 304 and stores them in memory 302.

[0050] [During verification] Once key generation and registration of the encrypted first feature are complete, the acquisition program is called from memory 302 on server 10 and executed on CPU 301. This program receives the second feature of the biometric information acquired from the user terminal via NIC 304, while it remains encrypted. Next, the calculation program is called from memory 302 on server 10 and executed on CPU 301. This program calculates the similarity between the first feature stored in memory 302 and the acquired second feature without decrypting them, while both features remain encrypted.

[0051] Next, the conversion transmission program is called from memory 302 and enters execution mode on CPU 301. This program reads the conversion key and the calculated similarity temporarily stored in memory 302, and converts the public key of server 10, which is encrypting the calculated similarity, to the public key generated by the server of each service. The converted encrypted similarity is then sent by this program via NIC 304 to the other servers, which are the servers of each service.

[0052] The transmitted encrypted similarity after conversion is decrypted on another server using its own private key, and that server performs a process to determine whether or not it falls within the acceptable range.

[0053] [Explanation of effects] According to the server 10 of this embodiment, when a biometric authentication service is provided as a SaaS, the authentication process can be performed while keeping the information confidential from the SaaS provider, enabling high-level security and privacy protection. Furthermore, by using a conversion key to convert the key used to encrypt the encryption similarity, high-speed authentication processing can be achieved.

[0054] [Second Embodiment] The authentication system of this embodiment is based on the authentication server of the first embodiment, and further decrypts the similarity encrypted by another server and determines whether or not it is within the acceptable range, thereby enabling authentication for services provided by other servers.

[0055] [Configuration of the second embodiment] Figure 7 is a block diagram showing the configuration of the authentication system according to the second embodiment. As shown in this figure, the server in this embodiment includes other server groups 20 and server 10. In this configuration, there are multiple other servers 20, and one server 10 is responsible for the authentication of multiple services. The configuration of server 10 is the same as above, and includes a storage unit 11, an acquisition unit 12, a calculation unit 13, a conversion and transmission unit 14, a key generation unit 15, and a conversion key acquisition unit 16. The multiple other server groups 20 are configured so that at least one server is assigned to each service (services A to X).

[0056] The configuration of server 10 has already been explained above, so it will be omitted here. The other server group 20 obtains the encrypted similarity from server 10 and decrypts it. If the decrypted similarity is within a predetermined acceptable range, an authentication OK message is sent to the terminal. On the other hand, if the similarity is outside the predetermined acceptable range, an authentication NG message is sent to the terminal.

[0057] Furthermore, if server 10 stores the user ID of a service user in its memory unit in association with a first feature, the other servers 20 may obtain a user ID based on similarity and predetermined criteria. For example, they may perform a process to obtain the user ID associated with the feature with the highest similarity. The user ID obtained here may be used as the login ID for services running on the other servers 20.

[0058] Still other server groups 20 may be configured to obtain settlement information including the above user ID based on the authentication result, transmit the settlement information to the settlement server, and receive settlement result information from the settlement server.

[0059] [System Operation] Figures 8 to 10 are sequence diagrams showing examples of the operations of the server according to the second embodiment. Figure 8 shows an example of the operation at the time of key generation, Figure 9 shows an example of the operation when registering the first feature amount, and Figure 10 shows an example of the operation when collating the second feature amount and the first feature amount.

[0060] [System Operation: At the Time of Key Generation] Referring to Figure 8, at the start of the system operation, another server 20 corresponding to Service A and server 10 generate a pair of public key and private key (pk A , sk A ), (pk S , sk S ) respectively (steps S401, S402). Next, the public key pk A (or sk A ) is sent from another server 20 to server 10. In server 10, a conversion key rk S→A is generated using the private key sk S of server 10 and the received public key pk A (step S403). The generated public key pk S of server 10 is sent to the user terminal 1. If there is no further addition of services, that is, if the number of other servers 20 does not increase, the private key sk S may be deleted (step S404).

[0061] [At the Time of Template Registration] Referring to Figure 9, the public key of server 10 is sent to user terminal 1 of service A (reiterated). User terminal 1 of service A obtains the biometric feature x1 of user 1. The obtained x1 is encrypted with the public key of server 10 that was sent to it (step S405). The encrypted data is sent to server 10 as the first feature. At this time, user 1's user ID may also be associated with it when it is sent. This operation is repeated for each user.

[0062] [During verification] Referring to Figure 10, first the service ID "SID(A)" is sent from another server 20. User terminal 1 obtains the biometric feature y1 of user 1 who is trying to be authenticated. Next, the public key pk is sent from server 10. S Encrypt y1 (step S406). The encrypted feature y1 is sent to server 10 as the second feature along with the service ID: SID(A). Server 10 calculates the similarity between the first feature and the second feature (step S407). The calculated Enc(pk S ,D(x1,y1)) is the public key pk of server 10. S Because it is encrypted, other servers 20 will not know their own private key sk S To enable decryption, use the conversion key rk S→A Then the key conversion is performed (step S408). Next, the encrypted similarity Enc(pk A The data D(x1,y1) is sent, and the decryption process is performed (step S409). It is determined whether the decrypted D is within a predetermined range (step S410). Depending on the result, the other server 20 notifies the user terminal of an OK or NG message.

[0063] [Another way the system works] Figures 11 and 12 illustrate the system's operation when using endpoints. An "endpoint" refers to a device that can receive authentication services, such as a terminal installed in a convenience store.

[0064] [Another system operation: During key generation] Referring to Figure 11, the endpoint of service A generates the key on behalf of the user's terminal. The public key and private key pair (pk) of endpoint α α sk α ) is generated (step S501). Also, both Server 20 and Server 10 generate public key and private key pairs (steps S502, S503). Similarly, on Server 10, the conversion key rk is generated. S→A The public key pk is generated (step S504). Endpoint α receives the public key pk from server 10. S (Topsk S ) receives the conversion key rk α→S Generate (step S505). Note that the private key sk α This may be deleted after the conversion key is generated (step S506).

[0065] [When registering a template] When registering a template, the user's terminal can be used to send encrypted user biometric information to the server 10 as the first feature and store it. In this case, the operation is the same as in Figure 9, so the explanation is omitted.

[0066] [During verification] Referring to Figure 12, endpoint α obtains the biometric information of the user performing authentication, extracts the feature y1, and uses its own public key pk α The data is encrypted (step S507). The encrypted authentication query data is sent to server 10 along with the service ID: SID(A) and endpoint ID: EID(α). On server 10, the encrypted second feature is first processed by Enc(pk α ,y1) to conversion key rk α→S Enc(pk S The key is converted to (step S508). Then the similarity with the first registered feature is calculated (step S509). After that, the key is converted again so that it can be decrypted with the key of another server 20. s from pk AThe data is converted to (step S510). Then, similar to Figure 10, the similarity is decoded on another server 20 (step S511), and a determination is made as to whether or not it is within the acceptable range (step S512). The result of the determination is notified to endpoint α.

[0067] [Explanation of effects] In the authentication system of this embodiment, the user terminal encrypts the first feature quantity and registers it with the server 10. The second feature quantity, which is the authentication query, is similarly encrypted, and the server 10 calculates the similarity while the encryption is still active. By converting the resulting encrypted similarity key, it can be decrypted using the key of another server 20. Therefore, it is possible to achieve high security and privacy, as well as high-speed processing, as an authentication service.

[0068] Some or all of the embodiments described above can also be described as follows. However, these following appendices are merely illustrative examples of the present invention, and the present invention is not limited to these cases. [Note 1] The server is as described above in relation to the first perspective. [Note 2] The calculation unit calculates the similarity based on the first and second feature quantities, each in an encrypted state, preferably using the server described in Appendix 1. [Note 3] Preferably a server as described in Appendix 1 or 2, further comprising: a key generation unit that generates a pair of private and public keys; and a conversion key acquisition unit that acquires a conversion key from the private key generated by the key generation unit and a key acquired from another server. [Note 4] The storage unit stores a user ID that identifies a user in association with a first feature quantity, and the conversion and transmission unit transmits the similarity in association with the user ID to another server, preferably one of the servers described in Appendix 1 to 3. [Note 5] The authentication system related to the second perspective described above is as follows. [Note 6] The other server decodes the similarity and obtains the user ID associated with the highest similarity, preferably using the authentication system described in Appendix 5. [Note 7] Preferably, the authentication system as described in Appendix 5 or 6, further comprising: a key generation unit that generates a pair of private and public keys; and a conversion key acquisition unit that acquires a conversion key from the private key generated by the key generation unit and a key obtained from another server. [Note 8] The other server transmits payment information including the aforementioned user ID to the payment server and receives payment result information from the payment server, preferably an authentication system according to any one of appendices 5 to 7. [Note 9] The authentication method related to the third perspective described above is as follows. [Note 10] The program related to the fourth perspective described above is as follows.

[0069] Furthermore, each disclosure of the above-mentioned patent documents, etc., cited herein shall be incorporated by reference. Within the framework of the full disclosure of the present invention (including the claims), further modifications and adjustments to the embodiments are possible based on the fundamental technical concept. Also, within the framework of the full disclosure of the present invention, various combinations or selections (including partial deletions) of various disclosed elements (including each element of each claim, each element of each embodiment, each element of each drawing, etc.) are possible. In other words, the present invention naturally includes various modifications and changes that a person skilled in the art could make in accordance with the full disclosure, including the claims, and the technical concept. In particular, with respect to the numerical ranges described herein, any numerical value or sub-range included within that range should be interpreted as being specifically described unless otherwise stated. [Explanation of Symbols]

[0070] 10: Server 11: Storage section 12: Acquisition part 13: Calculation section 14: Conversion and transmission unit 15: Key generation section 16: Conversion Key Acquisition Unit 20, 21, 22: Server(group) 23, 25: User 24, 26: Terminals 301:CPU 302: Memory 303: Input / Output Interface 304:NIC 305: Internal bus

Claims

1. An endpoint that encrypts and sends the second feature using the first public key, A memory unit that stores a first feature quantity encrypted using a second public key, An acquisition unit that receives a second feature quantity from the endpoint and encrypts it using the first public key, A conversion unit that converts a second feature quantity encrypted using the first public key to a second feature quantity encrypted using the second public key, A calculation unit that calculates a similarity encrypted using the second public key based on a first feature quantity encrypted using the second public key and a second feature quantity encrypted using the second public key, A server comprising: a conversion and transmission unit that converts the similarity encrypted using the second public key into a format encrypted using a third public key that can be decrypted by another server, and transmits it to the other server; The other server decrypts the similarity encrypted using the third public key using the third private key, An authentication system that includes this.

2. The storage unit of the server stores a user ID that identifies a user, associated with a first feature quantity. The conversion transmission unit of the server transmits the similarity score to another server, associating it with the user ID. The authentication system according to claim 1, wherein the other server identifies a user ID by comparing the similarity with a predetermined criterion.

3. The other server decodes the similarity and obtains the user ID corresponding to the highest similarity. The authentication system according to claim 1.

4. The aforementioned server, A key generation unit that generates a pair of a second private key and a second public key, The system further comprises a conversion key acquisition unit that acquires a conversion key from the second private key generated by the key generation unit and the third public key obtained from the other server, The authentication system according to claim 1.

5. The aforementioned endpoint is A key generation unit that generates a pair of a first private key and a first public key, The system further comprises a conversion key acquisition unit that acquires a conversion key from the first secret key generated by the key generation unit and the second public key obtained from the server, The authentication system according to claim 1.

6. The other server transmits payment information, including the user ID, to the payment server. The payment server receives payment result information. The authentication system according to claim 2.

7. The endpoint encrypts the second feature using the first public key and sends it, The server stores the first feature quantity encrypted using the second public key, The steps include: the server receiving a second feature quantity, which is encrypted using the first public key, and receiving it from the endpoint; The server converts the second feature quantity encrypted using the first public key back into the second feature quantity encrypted using the second public key, The steps include: the server calculating a similarity encrypted using the second public key based on the first feature quantity encrypted using the second public key and the second feature quantity encrypted using the second public key; The steps include: converting the similarity encrypted by the server using the second public key into a format that can be decrypted by other servers using a third public key and transmitting it to the other servers; An authentication method comprising the step of the other server decrypting the similarity, which has been encrypted using the third public key, using the third private key.

8. The endpoint is instructed to perform a process that encrypts the second feature using the first public key and sends it. A process to store the first feature quantity encrypted using the second public key, The process involves receiving a second feature quantity via the endpoint and obtaining it encrypted using the first public key, A process to convert a second feature quantity encrypted using the first public key back into a second feature quantity encrypted using the second public key, A process for calculating a similarity encrypted using the second public key based on the first feature quantity encrypted using the second public key and the second feature quantity encrypted using the second public key, The process involves converting the similarity encrypted using the second public key into a format encrypted using a third public key that can be decrypted by the other server, and then sending it to the other server. The server will execute it, A program that causes the other server to perform the process of decrypting the similarity score, which has been encrypted using the third public key, using the third private key.

Citation Information

Patent Citations

  • A biological recognition method and device based on homomorphic encryption, terminal and service server

    CN110011954A

  • Privacy protection task matching method based on threshold similarity search in crowdsourcing environment

    CN112488585A

  • Device, method and program for providing matching service

    JP2008021295A

  • Computer-implemented system and method for protecting sensitive data via data re-encryption

    JP2017225116A

  • Data processing device

    WO2011052056A1