Method and apparatus for performing multi-server threshold password-authenticated key exchange
First Claim
1. A method for performing password authentication between a client and a plurality of servers, the client having a password to be authenticated by the plurality of servers, each of the plurality of servers having a share of a secret key, the secret key having a public key associated therewith, the method performed by the client and comprising the steps of:
- generating an encryption using the public key, wherein the generation of the encryption is based on the password, but wherein the generated encryption is mathematically independent of the password; and
communicating the generated encryption to the plurality of servers.
1 Assignment
0 Petitions
Accused Products
Abstract
A provably secure multi-server threshold password-authenticated key exchange system and method. Initially, an encryption of a function of a client'"'"'s password is provided to each of a plurality of servers. The client later can authenticate the password (i.e., login) by generating an encryption based on the password which is nonetheless mathematically independent of the value of the password. Then, this encryption, along with a “proof” that the encryption was, in fact, generated based on the password, is provided to each of the servers for verification. Thus, it can be shown that the protocol is provably secure. The password authentication protocol advantageously incorporates a thresholding scheme such that the compromise of fewer than a given threshold number of the servers neither compromises the security of the system nor inhibits the proper operation of the password authentication process.
51 Citations
30 Claims
-
1. A method for performing password authentication between a client and a plurality of servers, the client having a password to be authenticated by the plurality of servers, each of the plurality of servers having a share of a secret key, the secret key having a public key associated therewith, the method performed by the client and comprising the steps of:
-
generating an encryption using the public key, wherein the generation of the encryption is based on the password, but wherein the generated encryption is mathematically independent of the password; and
communicating the generated encryption to the plurality of servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for performing password authentication between a client and a plurality of servers, the client having a password to be authenticated by the plurality of servers, each of the plurality of servers having a share of a secret key, the secret key having a public key associated therewith, the method performed by one of said servers and comprising the steps of:
-
receiving from said client an encryption using the public key, wherein the encryption has been generated based on the password, but wherein the generated encryption is mathematically independent of said password; and
verifying that said encryption has been generated based on the password. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for performing password authentication between a client and a plurality of servers, the client having a password to be authenticated by the plurality of servers, each of the plurality of servers having a share of a secret key, the secret key having a public key associated therewith, the method performed by the client and comprising the steps of:
-
generating an encryption using the public key, wherein the generation of the encryption is based on the password; and
communicating the generated encryption to the plurality of servers, wherein said plurality of servers consists of n servers, and wherein said step of communicating the generated encryption communicates said generated encryption to a number k of servers, where k<
n, said k servers being sufficient to authenticate said password. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A method for performing password authentication between a client and a plurality of servers, the client having a password to be authenticated by the plurality of servers, each of the plurality of servers having a share of a secret key, the secret key having a public key associated therewith, the method performed by one of said servers and comprising the steps of:
-
receiving from said client an encryption using the public key, wherein the encryption has been generated based on the password; and
verifying that said encryption has been generated based on the password, wherein said plurality of servers consists of n servers, and wherein said step of verifying that said encryption has been generated based on the password is based on password authentication information received from a number k−
1 of the servers other than the server performing the method, where k<
n. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification