IP Library Granted Patent US 7,765,584
Granted Patent B2
US 7,765,584 · App. 11/566,648 · Granted Jul 27, 2010

Simple, secure login with multiple authentication providers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,765,584
App. No.
11/566,648
Granted
Jul 27, 2010
Kind
B2
Abstract

A secure distributed single-login authentication system comprises a client and a server. The client collects a user name and password from a user and tests that user name and password at a variety of potential authentication servers to check where the login is valid. It combines the password with a time varying salt and a service specific seed in a message digesting hash and generates a first hash value. The client sends the hash value along with the user name and the time varying salt to a currently selected server. The server extracts the user name and looks up an entry under the user name from the selected server's database. If an entry is found, it retrieves the password and performs the same hash function on the combination of the user name, the service specific seed, and the retrieved password to generate a second hash value. Then, it compares two hash values. If these two values match, the user is authenticated. In this way, the system never sufficiently reveals the password to authentication agents that might abuse the information.

Claims (74)

1. An apparatus for distributed authentication comprising:

at least one client;

at least one authentication server being communicatively coupled to said at least one client via a telecommunications network; and

an application running on said at least one client and said at least one authentication server, said application comprising a client portion and a server portion;

wherein said client portion performs a hash operation on a group of identification elements extracted via a client to generate a first hash value and sends said first hash value to a selected authentication server; and

wherein said server portion performs a same hash operation on a same group of identification elements extracted via said selected authentication server, compares said first hash value and said second hash value, and distributes a matching result of said two hash values which indicates a successful authentication to any affiliated authentication server without central control.

2. The apparatus of claim 1 , wherein said group of identification elements comprises:

entered user name and password; and

a service specific seed unique to an authentication server selected from said at least one authentication server.

3. The apparatus of claim 2 , wherein said group of identification elements further comprises:

a time stamp generated at said client when said user name and password were entered.

4. An apparatus for distributed authentication comprising:

at least one client;

at least one authentication server being communicatively coupled to said at least one client via a telecommunications network;

an application running on said at least one client and said at least one authentication server, said application comprising a client portion and a server portion;

wherein said client portion comprises:

means for taking and parsing an entered user name and password;

means for combining said password and a service specific seed unique to an authentication server selected from said at least one authentication server;

means for applying a hash algorithm to said combination to generate a first hash value;

means for finding an address representing said selected authentication server; means for sending a data packet to said selected authentication server, said data packet comprising said user name and said first hash value; and

means for iterating said at least one authentication server to find a correct authentication server; and

wherein said server portion comprises:

means for extracting said user name and said first hash value from said data packet;

means for checking and retrieving said user's password from said selected authentication server's database;

means for combining said retrieved password and said service specific seed unique to said selected authentication server;

means for applying said hash algorithm to said combination completed in said server portion to generate a second hash value;

means for comparing said first hash value and said second hash value, wherein a matching result of said two hash values indicates a successful authentication; and

means for caching and distributing said positive authentication result to any affiliated authentication server without central control.

5. In a computerized network comprising at least one client and a plurality of authentication servers, said client and said authentication servers being communicatively coupled to each other via a global telecommunications network, a distributed authentication system comprising:

a client; and a server;

wherein said client comprises:

means for taking and parsing an entered user name and password;

means for generating a time stamp;

means for combining said password and a service specific seed unique to an authentication server selected from a list of authentication servers;

means for applying a hash algorithm to said combination and said time stamp to generate a first hash value;

means for finding an address representing said selected authentication server;

means for sending a data packet to said selected authentication server, said data packet comprising said user name, said time stamp, and said first hash value; and

means for iterating said list of authentication servers to find a correct authentication server; and

wherein said server comprises:

means for extracting said user name, said time stamp, and said first hash value from said data packet;

means for checking and retrieving said user's password from said selected authentication server's database;

means for combining said time stamp, said retrieved password and said service specific seed unique to said selected authentication server;

means for applying said hash algorithm to said combination completed in said server portion to generate a second hash value;

means for comparing said first hash value and said second hash value, wherein a matching result of said two hash values indicates a successful authentication;

means for caching and distributing said positive authentication result to any affiliated server without central control.

6. The distributed authentication system of claim 5 , wherein said hash algorithm is a message digesting (MD) algorithm or its equivalent.

7. The distributed authentication system of claim 5 , wherein said service specific seed is a domain name of said selected authentication server.

8. The distributed authentication system of claim 5 , wherein said means for finding an address representing said selected authentication server comprises:

means for looking up a local mapping list; and

means for consulting to a domain name system (DNS).

9. In a computerized network which is registered with a unique domain name, said network comprising at least one client and a plurality of authentication servers, said client and said authentication servers being communicatively coupled to each other via a global telecommunications network, each of said authentication servers having a fully qualified domain name (FQDN) which is a local host name with said unique domain name appended, a distributed authentication system for providing distributed authentication service, wherein a given user enters a global user identification (GUID) and a password for authentication to be carried out at a target authentication server, said GUID comprising a user name, a delimitation symbol, and a domain which is same as said local host name of said target authentication server, said distributed authentication system comprising:

a client; and

a server;

wherein said client comprises:

means for parsing an entered GUID and extracting said domain therefrom;

means for appending said unique domain to said domain to form a fully qualified domain name (FQDN) for said target authentication server; means for translating said FQDN to an address representing said target authentication server;

means for generating a time stamp;

means for combining said password and a service specific seed unique to said target authentication server;

means for applying a hash algorithm to said combination and said time stamp to generate a first hash value; and

means for sending a data packet to said target authentication server, said data packet comprising said first hash value, said user name, and said time stamp;

and wherein said server comprises:

means for extracting said first hash value, said user name, and said time stamp from said data packet received from said client;

means for checking and retrieving said user's password from said target authentication server's database;

means for combining said time stamp, said retrieved password, and said service specific seed unique to said target authentication server;

means for applying said hash algorithm to said combination completed in said server portion to generate a second hash value;

means for comparing said first hash value and said second hash value, wherein a matching result of said two hash values indicates a successful authentication; and

means for caching and distributing said positive authentication result to any of said plurality of authentication servers without central control.

10. The distributed authentication system of claim 9 , wherein said hash algorithm is a message digesting (MD) algorithm or its equivalent.

11. The distributed authentication system of claim 9 , wherein said service specific seed is a domain name of said target authentication server.

12. The distributed authentication system of claim 9 , wherein said means for translating said FQDN comprises:

means for looking up said FQDN from a local mapping list; and

means for looking up said FQDN from a domain name system (DNS).

13. The distributed authentication system of claim 9 , further comprising:

means for automatically mapping any unrecognized FQDN into a default server which carries out authentication on said user's authentication request.

Assignments (8)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2012
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 028487/0304 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2012
From: ROSKIND, JAMES A.
To: AMERICA ONLINE, INC.
Reel/Frame 028345/0918 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 16, 2010
From: BANK OF AMERICA, N A
To: AOL INC; AOL ADVERTISING INC; GOING INC; LIGHTNINGCAST LLC; MAPQUEST, INC; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC; TACODA LLC; TRUVEO, INC; YEDDA, INC
Reel/Frame 025323/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2009
From: AOL LLC
To: AOL INC.
Reel/Frame 023750/0210 →
SECURITY AGREEMENT Recorded Dec 14, 2009
From: AOL INC.; AOL ADVERTISING INC.; BEBO, INC.; ICQ LLC; GOING, INC.; LIGHTNINGCAST LLC; MAPQUEST, INC.; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC.; TACODA LLC; TRUVEO, INC.; YEDDA, INC.
To: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT
Reel/Frame 023649/0061 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED ON REEL 019711 FRAME 0316. ASSIGNOR(S) HEREBY CONFIRMS THE NATURE OF CONVEYANCE IS CHANGE OF NAME. Recorded Mar 25, 2009
From: AMERICA ONLINE, INC.
To: AOL LLC, A DELAWARE LIMITED LIABILITY COMPANY
Reel/Frame 022451/0186 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2007
From: AMERICA ONLINE, INC.
To: AOL LLC, A DELAWARE LIMITED LIABILITY COMPANY
Reel/Frame 019711/0316 →