The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
May. 08, 2001
Filed:
Mar. 04, 1998
Terence R. Spies, Kirkland, WA (US);
Pradyumna K. Misra, Redmond, WA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
An authentication system for a distributed network having multiple clients and a server enables a user to log on at any one of the clients with a password and receive his/her associated public/private key pair. The client computes a hash of the user ID to produce a first hash value H(ID) and a hash of the user ID concatenated with the user password P to produce a second hash value H(ID/P). The client constructs a message M containing the hash value H(ID), the hash value H(ID/P), and a randomly generated session key SK. The client encrypts the message M using the server's public key and sends the encrypted message to the server. The server decrypts the message using its private key to recover the message M. The server initially checks to see if the hash values are subject to a hostile cryptographic attack. If the check is negative, the server generates key source material S as a function of the hash value H(ID), the hash value H(ID/P), and a private value that is confidential to the server. The server encrypts the key source material S using the session key SK received in the message M and sends the encrypted key source material S to the client. The client decrypts the key source material using the session key SK to recover the key source material S. The client then constructs a public/private key pair unique to the user from the user ID, the user password, and the key source material S. More particularly, one implementation involves passing the hash value H(ID), the hash value H(ID/P), the raw password P, and the key source material S through a random number generator to produce two large, relatively prime numbers p and q which are used in an RSA public key system to generate a public/private key pair.