Not applicable.
Not applicable.
Not applicable.
This invention relates to authentication of a user in a client-server communication.
There are different authentication schemes in computer security that allow user to login to the server. They are based on security credentials e.g., a password or a fingerprint or an access card provided by the user at the client.
In these schemes a user's biometry can be used in order to increase the security of communications. However, using biometric data puts the user's privacy in danger since storing biometric data long term (even in encrypted form) introduces the possibility that at some moment of time it will be revealed or decoded.
It is therefore the objective of the present invention to provide a device and the method for client-server communication where the login to the server is based on user's biometric data, but the biometric data itself is not saved in any form neither on the server, nor on the client.
The proposed device is comprised of a biometric sensor located client-side, e.g. a webcam used to make pictures of the user's palm, and the access card with information recorded during enrollment.
The proposed method is based on server-side representation of the user by an array of random numbers unrelated to the user's biometric data. The information on the access card is an array of coefficients calculated in such a way that applying these coefficients to the biometric data of the user (e.g. to his palm's image) produces the array of random numbers saved on the server.
The advantage of the method is that real biometric data cannot be retrieved even theoretically from data of the server or of the client if they are compromised.
An array R={r1, r2, r3 . . . , rN} of random numbers (not related to biometric data of the user) is generated on the server. The array R represents the user at the server.
Biometric data of the user is collected on the client as an array Z of N components: Z={z1, z2, z3 . . . , zN}. Example technique for extracting a biometric array from the user's face image is given in section [0024], from the user's palm image—in section [0025], from the signature—in section [0026], and from the audio-record—in section [0027].
An array C={c1, c2, c3 . . . , CN} is saved on the user's access card; the values of ci are calculated using the formulas:
c
1
=r
1/(z1−
c
2
=r
2/(z2−
. . . ,
c
N
=r
N/(zN−
where
If one of the components of the array Z is equal to its average (e.g., z1=
When the user submits an access card, a random public/private pair is generated at the client side (for RSA encryption; see U.S. Pat. No. 4,405,829). The public key is sent to the server along with the connection request.
Then, the server performs the following operations (numerated in
After that, the client performs the following operations:
After that, the server performs the following operations:
If the correlation coefficient is sufficiently close to 1 (e.g., greater than 0.7), the server grants authorization; otherwise, the user's access to the server is denied.
The reason that the correlation coefficient is required to be close to 1 is as follows. If the average values of two arrays A and B are equal to zero (as is the case for A=(Z−
The face image 100 can be represented as a frame of 48×48 pixels (see U.S. patent application Ser. No. 13/936,190) so that the biometric array Z is represented as the array {zi} of the brightness values of the pixels in the frame, where 0<=zi<255 and N=48*48 to account for each pixel in the frame.
The palm 200 can be presented in a similar manner, see U.S. patent application Ser. No. 14/034,274.
User's signature 300 can be presented as three arrays
X={x
0
, x
1
, x
2
, . . . , x
K−1}
Y={y
0
, y
1
, y
2
, . . . , y
K−1}
T={t
0
, t
1
, t
2
, . . . , t
K−1}
where K is a number of data points in the signature, X corresponds to the x-coordinates and Y corresponds to the y-coordinates of the points of the signature registered on each “mouse move”—at the moments T. The triplet sequence Z={x0, y0, t0, x1, y1, t1, . . . , xK−1yK−1, tK−1}, where N=3*K is an example of biometric array Z extracted from the user's signature. The pair sequence Z={x0, y0, x1, y1, . . . , xK−1, yK−1}, where N=2*K is another example of biometric array Z, see U.S. Pat. No. 8,060,752 and U.S. Pat. No. 7,783,893.
In the case of the audio recording 400 array Z is a sequence of N volume intensities in the phrase “My secrete word” pronounced by a user. For the audio recording in
The last step of deriving Z is “twisting” it: the sequence Z={z1, z2, z3 . . . , zN} is shuffled and the value of each zi is multiplied by a random number between 0 and 1. The shuffle pattern and the multipliers are determined based on the information extracted from the user's access card or based on other source of information that a hacker cannot have. This is done in order to protect the real biometry of the user: if the hacker knows both the array C and the array R, he can calculate Z, but this Z will be not real, but twisted, biometry.
The security of the proposed system is very difficult to compromise for the following reasons.
To get access to the server, the hacker has to produce the permuted representational array; having just the representational array is not enough for that. The hacker can intercept an encoded permutation string sent from the server, but he has to decode it in order to build a permuted representational array. However, the corresponding private key to do that is not available to him since it is not stored anywhere (it is an internal variable of a program running on the client). So the hacker can only use the trial and error method. In the proposed scheme, he has just one attempt to break encryption per response because private and public keys and permutations are randomly generated for each request.
The advantages of the proposed method are as follows:
Although the present invention has been described in terms of the preferred application, it is to be understood that the disclosure is not to be interpreted as limiting. Various modifications will become apparent to those skilled in the art after having read this disclosure. For example, the described device and method can be used to restrict access to facilities. Other examples: using the device and method for voting machines and ATMs. It is intended that the appended claims be interpreted as covering all alterations and modifications in the spirit and within scope of the invention.