Server apparatus, terminal, authentication system, authentication method, and storage medium
A server apparatus includes a communication unit and a matching unit. The communication unit receives a matching request including an ID (Identifier) of an authentication algorithm supported by a terminal. The matching unit processes the matching request by using a registered user database in which IDs of users, feature values generated from biological information about the users, and IDs of authentication algorithms that can use the generated feature values are stored in association with each other.
1. A server apparatus comprising:
at least one memory storing a set of instructions; and
at least one processor configured to execute the set of instructions to:
receive, from a terminal apparatus, a first request comprising a user identity of a user and a first face data of the user;
for each of a plurality of face authentication algorithm identities:
generate a face feature value of the first face data by using the face authentication algorithm; and
store the generated face feature value in association with the user identity and the face authentication algorithm identity, wherein
the at least one processor is configured to execute the set of instructions to further:
receive, from the terminal apparatus, a second request comprising the generated first face feature value and a face authentication algorithm identity indicating the face authentication algorithm supported by the terminal apparatus, and
send, to the terminal apparatus, a response comprising an authentication result of the user, the authentication result comprising the user identity of the user.
2. The server apparatus according to claim 1 , wherein
the one or more processors are configured to process the instructions to control the server apparatus to:
authenticate the user by comparing the received first face feature value and a plurality of the stored face feature values corresponding to the face authentication algorithm supported by the terminal apparatus.
3. The server apparatus according to claim 1 , wherein
the at least one processor is configured to execute the set of instructions to:
store the generated face feature value in association with the user identity and the face authentication algorithm identity and the first face data.
4. The server apparatus according to claim 3 , wherein
the at least one processor is configured to execute the set of instructions to:
in a case where a face authentication algorithm supported by the terminal apparatus is updated,
generate a new face feature value from the stored first face data, and
store the generated new face feature value in association with the user identity and the face authentication algorithm identity and the first face data.
5. The server apparatus according to claim 1 , wherein
the at least one processor is configured to execute the set of instructions to: encrypt the response before sending the response to the terminal apparatus.
6. The server apparatus according to claim 1 , wherein the at least one processor is configured to execute the set of instructions to: verify a digital signature comprised in the second request before processing the second request.
7. A method performed by a server apparatus and comprising:
receiving, from a terminal apparatus, a first request comprising a user identity of a user and a first face data of the user;
for each of a plurality of face authentication algorithm identities:
generating a face feature value of the first face data by using the face authentication algorithm; and
storing the generated face feature value in association with the user identity and the face authentication algorithm identity, wherein
the method further comprises:
receiving, from the terminal apparatus, a second request comprising the generated first face feature value and a face authentication algorithm identity indicating the face authentication algorithm supported by the terminal apparatus, and
sending, to the terminal apparatus, a response comprising an authentication result of the user, the authentication result comprising the user identity of the user.
8. A terminal apparatus comprising:
at least one memory storing a set of instructions; and
at least one processor configured to execute the set of instructions to:
receive a first signal by using a first senser;
acquire first user information of a user based on the received first signal, the first user information comprising a user identity of the user and a first face data of the user; and
send, to a server apparatus, a first request comprising the user identity of the user and the first face data of the user, wherein
the at least one processor is configured to execute the set of instructions to further:
receive a second signal by using a second senser;
acquire second user information of the user based on the received second signal, the second user information comprising a second face data of the user;
generate a first face feature value from the second face data by using a face authentication algorithm supported by the terminal apparatus;
send, to the server apparatus, a second request comprising the generated first face feature value and a face authentication algorithm identity indicating the face authentication algorithm supported by the terminal apparatus; and
receive, from the server apparatus, a response comprising an authentication result of the user, the authentication result comprising the user identity of the user.
9. The terminal apparatus according to claim 8 , wherein
the second sensor is a camera device, and
the at least one processor is configured to execute the set of instructions to: extract the second face data in a case where a size of a face region in an image captured by the camera device is equal to or larger than a predetermined value.
10. The terminal apparatus according to claim 8 , wherein
the at least one processor is configured to execute the set of instructions to:
measure a distance between the terminal apparatus and the user using a distance sensor or a stereo camera; and
acquire the second face data in a case where the measured distance is equal to or less than a predetermined threshold.
11. The terminal apparatus according to claim 8 , wherein
the at least one processor is configured to execute the set of instructions to: provide a service to the user based on the authentication result received from the server apparatus.
12. The terminal apparatus according to claim 8 , wherein
the at least one processor is configured to execute the set of instructions to: encrypt the first request and the second request before sending the first request and the second request to the server apparatus.
13. The terminal apparatus according to claim 8 , wherein
the at least one processor is configured to execute the set of instructions to: add a digital signature to the second request before sending the second request to the server apparatus.