Patent ID: 8356183
Filing Date: 2013-01-15
Classification: G06F,H04L

Abstract:
1. A biometric authentication method for a computer system, the computer system comprising: a computer for capturing biometric information from a user and generating authentication information used for authenticating the user; and an authentication server for executing authentication processing by using the authentication information generated by the computer, the computer comprising a first processor, a first memory coupled to the first processor, a first storage medium coupled to the first processor, and a first communication module for performing communications with the authentication server, the first processor executing a program stored in the first memory to implement a feature extraction module, a polynomial generation module, an inverse polynomial calculation module, and a first polynomial residue calculation module, the first storage medium storing at least one modulo polynomial used for dividing a predetermined polynomial, the authentication server comprising, a second processor a second memory coupled to the second processor, a second storage medium coupled to the second processor, and a second communication module for performing communications with the computer, the second processor executing a program stored in the second memory to implement a control module, a second polynomial residue calculation module, and a matching determination module, the biometric authentication method including: a first step of capturing, by the feature extraction module, the biometric information from the user at a time of enrollment of the biometric information on the user, extracting a first feature, which is formed of a plurality of feature elements and indicate a characteristic of the biometric information, from the captured biometric information, and storing the extracted first feature into the first memory; a second step of reading, by the feature extraction module, the extracted first feature from the first memory, generating a first feature polynomial having each of the plurality of feature elements of the extracted first feature as coefficients thereof, and storing the generated first feature polynomial into the first memory; a third step of generating, by the polynomial generation module, a parameter polynomial used for concealing the first feature polynomial, and storing the generated parameter polynomial into the first memory; a fourth step of generating, by the inverse polynomial calculation module, an inverse parameter polynomial becoming a calculated residue polynomial of 1, the residue polynomial being calculated by dividing a product of the inverse parameter polynomial and the parameter polynomial by one of the at least one modulo polynomial, and storing the generated inverse parameter polynomial into the first memory; a fifth step of reading, by the first polynomial residue calculation module, the first feature polynomial and the inverse parameter polynomial from the first memory, generating a template polynomial for enrollment by calculating a residue polynomial by dividing a product of the first feature polynomial and the inverse parameter polynomial by one of the at least one modulo polynomial, and storing the generated template polynomial for enrollment into the first memory; a sixth step of reading, by the first communication module, the generated template polynomial for enrollment from the first memory, and transmitting the generated template polynomial for enrollment to the authentication server; a seventh step of enrolling, by the control module, the template polynomial for enrollment received from the computer in the second storage medium; an eighth step of capturing, by the feature extraction module, the biometric information from the user at a time of authentication of the biometric information on the user, extracting a second feature, which is formed of a plurality of feature elements and indicate a characteristic of the biometric information, from the captured biometric information, and storing the extracted second feature into the first memory; a ninth step of reading, by the feature extraction module, the extracted second feature from the first memory, generating a second feature polynomial having each of the plurality of feature elements of the extracted second feature as coefficients thereof, and storing the generated second feature polynomial into the first memory; a tenth step of generating, by the polynomial generation module, a parameter polynomial used for concealing the second feature polynomial, and storing the generated parameter polynomial into the first memory; an eleventh step of reading, by the first polynomial residue calculation module, the second feature polynomial and the parameter polynomial from the first memory, generating a template polynomial for authentication by calculating the residue polynomial by dividing a product of the second feature polynomial and the parameter polynomial by one of the at least one modulo polynomial, and storing the generated template polynomial for authentication into the first memory; a twelfth step of reading, by the first communication module, the generated template polynomial for authentication from the first memory, and transmitting the generated template polynomial for authentication to the authentication server; a thirteenth step of reading, by the control module, the enrolled template polynomial from the second storage medium, and calculating, by the second polynomial residue calculation module, a residue polynomial for correlation function generation by dividing a product of the enrolled template polynomial and the template polynomial for authentication by one of the at least one modulo polynomial, and storing the calculated residue polynomial for correlation function generation into the second memory; a fourteenth step of reading, by the second polynomial residue calculation module, the residue polynomial for correlation function generation from the second memory, generating a correlation function for calculating a correlation between the template polynomial for authentication and the enrolled template polynomial by using the read residue polynomial for correlation function generation, and storing the generated correlation function into the second memory; and a fifteenth step of calculating, by the matching determination module, a correlation value between the template polynomial for authentication and the enrolled template polynomial by using the generated correlation function, and determining based on the calculated correlation value whether or not the biometric information captured from the user at the time of authentication coincides with the biometric information enrolled in the authentication server.