Distributed Single Sign-On
First Claim
1. A method for generating a cryptographic token for authenticating a user computer, connectable via a network to a plurality of verifier servers and a plurality n of authentication servers, to a said verifier server under a username identifying the user computer to that verifier server, the method comprising:
- providing at the n authentication servers respective cryptographic shares of password data, which is dependent on a predetermined user password, such that a plurality t1≦
n of the password data shares is needed to determine if said user password matches a password attempt;
providing at the n authentication servers respective cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
t1 of the secret data shares is needed to reconstruct the secret data;
at the user computer, on input of a password attempt, communicating via said network with at least t1 authentication servers to implement an authentication procedure in which said password data shares of those authentication servers are used to determine if said user password matches the password attempt and, if so, the user computer receives at least t2 secret data shares from respective authentication servers; and
at the user computer, on receipt of said secret data shares, reconstructing and using said secret data to generate, via communication with at least a plurality T≦
t1 of said at least t1 servers, a cryptographic token for authenticating the user computer to a selected verifier server, secret from said at least T servers, under said username for the selected verifier server.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are provided for authenticating user computers 2 in distributed single sign-on systems 1. A user computer 2 is connectable via a network 3 to a plurality of verifier servers 4 and a plurality n of authentication servers 5. Through communication with authentication servers 5, the user computer 2 can generate a cryptographic token for authenticating the user computer 2 to a selected verifier server 4 under a username identifying the user computer to that verifier server. Respective cryptographic shares of password data, which is dependent on a predetermined user password, are provided at the n authentication servers 5. A plurality t1≦n of the password data shares is needed to determine if the user password matches a password attempt. Respective cryptographic shares of secret data, which enables determination of said username for each verifier server, are also provided at the n authentication servers 5. A plurality t2≦t1 of the secret data shares is needed to reconstruct the secret data. On input of a password attempt at the user computer 2, the user computer communicates via the network with at least t1 authentication servers 5 to implement an authentication procedure in which the password data shares of those authentication servers are used to determine if the user password matches the password attempt and, if so, the user computer 2 receives at least t2 secret data shares from respective authentication servers 5. On receipt of these secret data shares, the user computer 2 reconstructs and uses the secret data to generate, via communication with at least a plurality T≦t1 of said at least t1 servers 5, a cryptographic token for authenticating the user computer 2 to a selected verifier server 4, secret from said at least T servers, under said username for the selected verifier server 4.
-
Citations
23 Claims
-
1. A method for generating a cryptographic token for authenticating a user computer, connectable via a network to a plurality of verifier servers and a plurality n of authentication servers, to a said verifier server under a username identifying the user computer to that verifier server, the method comprising:
-
providing at the n authentication servers respective cryptographic shares of password data, which is dependent on a predetermined user password, such that a plurality t1≦
n of the password data shares is needed to determine if said user password matches a password attempt;providing at the n authentication servers respective cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
t1 of the secret data shares is needed to reconstruct the secret data;at the user computer, on input of a password attempt, communicating via said network with at least t1 authentication servers to implement an authentication procedure in which said password data shares of those authentication servers are used to determine if said user password matches the password attempt and, if so, the user computer receives at least t2 secret data shares from respective authentication servers; and at the user computer, on receipt of said secret data shares, reconstructing and using said secret data to generate, via communication with at least a plurality T≦
t1 of said at least t1 servers, a cryptographic token for authenticating the user computer to a selected verifier server, secret from said at least T servers, under said username for the selected verifier server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for generating a cryptographic token for authenticating a user computer, the method being substantially as hereinbefore described with reference to
FIGS. 1 to 6 , orFIGS. 1 to 3 and 7 to 8c of the accompanying drawings.
-
16. A method for generating, at a user computer which is connectable via a network to a plurality of verifier servers and a plurality n of authentication servers, a cryptographic token for authenticating the user computer to a said verifier server under a username identifying the user computer to that verifier server, wherein the n authentication servers store respective cryptographic shares of password data, which is dependent on a predetermined user password, such that a plurality t1≦
- n of the password data shares is needed to determine if said user password matches a password attempt, and further store respective cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
t1 of the secret data shares is needed to reconstruct the secret data, the method comprising;on input of a password attempt, communicating via said network with at least t1 authentication servers to implement an authentication procedure in which said password data shares of those authentication servers are used to determine if said user password matches the password attempt and, if so, the user computer receives at least t2 secret data shares from respective authentication servers; and on receipt of said secret data shares, reconstructing and using said secret data to generate, via communication with at least a plurality T≦
t1 of said at least t1 servers, a cryptographic token for authenticating the user computer to a selected verifier server, secret from said at least T servers, under said username for the selected verifier server. - View Dependent Claims (18, 23)
- n of the password data shares is needed to determine if said user password matches a password attempt, and further store respective cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
-
17. A method for use, at an authentication server being one of a plurality of n such authentication servers connectable to a user computer via a network, in generating a cryptographic token for authenticating the user computer to one of plurality of verifier servers under a username identifying the user computer to that verifier server, the method comprising:
-
storing one of n cryptographic shares of password data, which is dependent on a predetermined user password, such that a plurality t1≦
n of the n password data shares, each being stored by a respective one of the n authentication servers, is needed to determine if said user password matches a password attempt;storing one of n cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
t1 of the n secret data shares, each being stored by a respective one of the n authentication servers, is needed to reconstruct the secret data;on receipt from the user computer of an authentication request sent to each of at least t1 authentication servers on input of a password attempt at the user computer, communicating via said network to implement an authentication procedure in which said password data shares of those authentication servers are used to determine if said user password matches the password attempt and, if so, the user computer receives at least t2 secret data shares from respective authentication servers; on receipt from the user computer of a token request sent to each of at least a plurality T≦
t1 of said at least t1 authentication servers on reconstruction of said secret data, communicating with the user computer to implement a token generation procedure in which, via communication with said at least T authentication servers, the user computer uses said secret data to generate a cryptographic token for authenticating the user computer to a selected verifier server, secret from said at least T servers, under said username for the selected verifier server.
-
-
19. A user computer, connectable via a network to a plurality of verifier servers and a plurality n of authentication servers, for generating a cryptographic token for authenticating the user computer to a said verifier server under a username identifying the user computer to that verifier server, wherein the n authentication servers store respective cryptographic shares of password data, which is dependent on a predetermined user password, such that a plurality t1≦
- n of the password data shares is needed to determine if said user password matches a password attempt, and further store respective cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
t1 of the secret data shares is needed to reconstruct the secret data, the user computer comprising a user interface for input of a password attempt, and control logic adapted;on input via the user interface of a password attempt, to communicate via said network with at least t1 authentication servers to implement an authentication procedure in which said password data shares of those authentication servers are used to determine if said user password matches the password attempt and, if so, the user computer receives at least t2 secret data shares from respective authentication servers; and on receipt of said secret data shares, to reconstruct and use said secret data to generate, via communication with at least a plurality T≦
t1 of said at least t1 servers, a cryptographic token for authenticating the user computer to a selected verifier server, secret from said at least T servers, under said username for the selected verifier server.
- n of the password data shares is needed to determine if said user password matches a password attempt, and further store respective cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
-
20. An authentication server for use, as one of a plurality of n such authentication servers connectable to a user computer via a network, in generating a cryptographic token for authenticating the user computer to one of plurality of verifier servers under a username identifying the user computer to that verifier server, the authentication server comprising:
-
memory for storing one of n cryptographic shares of password data, which is dependent on a predetermined user password, such that a plurality t1≦
n of the n password data shares, each being stored by a respective one of the n authentication servers, is needed to determine if said user password matches a password attempt, and for further storing one of n cryptographic shares of secret data, which enables determination of said username for each verifier server, such that a plurality t2≦
t1 secret data shares, each being stored by a respective one of the n authentication servers, is needed to reconstruct the secret data; andcontrol logic adapted, on receipt from the user computer of an authentication request sent to each of at least t1 authentication servers on input of a password attempt at the user computer, to communicate via said network to implement an authentication procedure in which said password data shares of those authentication servers are used to determine if said user password matches the password attempt and, if so, the user computer receives at least t2 secret data shares from respective authentication servers; the control logic being further adapted, on receipt from the user computer of a token request sent to each of at least a plurality T≦
t1 of said at least t1 authentication servers on reconstruction of said secret data, to communicate with the user computer to implement a token generation procedure in which, via communication with said at least T authentication servers, the user computer uses said secret data to generate a cryptographic token for authenticating the user computer to a selected verifier server, secret from said at least T servers, under said username for the selected verifier server. - View Dependent Claims (21)
-
-
22. A single sign-on system substantially as hereinbefore described with reference to
FIGS. 1 to 6 , orFIGS. 1 to 3 and 7 to 8c of the accompanying drawings.
Specification