The application provides a two-factor
authentication and key agreement method suitable for low-entropy
biometrics, in the registration stage, a user sends a
password and a biometric feature to a
server; the
server selects two secret values, uses a
secret sharing algorithm to divide the secret values into multiple sub-secrets respectively, generates a sub-secret derived element based on the user
password and the sub-secret, and stores the sub-secret derived element in an
authentication file together with a random element. In the
authentication and key agreement stage, the user sends the
password to the
server after blinding, the server processes the blinded password and returns it to the user, so that the user generates a password-related element without revealing the password information; the user uses a newly collected biometric feature to execute an
oblivious transfer protocol with the server, obtains a randomized sub-secret derived element without revealing the biometric feature information, and constructs a secret derived element; the user calculates a randomized secret element based on the secret derived element and the password-related element, and derives a
session key shared with the server from the secret element.