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.

Un sistema de la autentificación para una red distribuida que tiene clientes múltiples y un servidor permite a un usuario entrar a la una de los clientes con una contraseña y recibir su par dominante asociado de public/private. El cliente computa un picadillo de la identificación del usuario para producir un primer valor H(ID) del picadillo y un picadillo de la identificación del usuario concatenada con la contraseña P del usuario para producir un segundo valor del picadillo H(ID/P). El cliente construye un mensaje M que contiene el valor H(ID) del picadillo, el valor del picadillo H(ID/P), y una llave aleatoriamente generada SK de la sesión. El cliente cifra el mensaje M usando la llave pública del servidor y envía el mensaje cifrado al servidor. El servidor descifra el mensaje usando su llave privada para recuperar el mensaje M. El servidor comprueba inicialmente para ver si los valores del picadillo están conforme a un ataque criptográfico hostil. Si el cheque es negativo, el servidor genera el material de fuente dominante S en función del valor H(ID) del picadillo, del valor del picadillo H(ID/P), y de un valor privado que sea confidencial al servidor. El servidor cifra el material de fuente dominante S usando la llave SK de la sesión recibida en el mensaje M y envía el material de fuente dominante cifrado S al cliente. El cliente descifra el material de fuente dominante usando la llave SK de la sesión para recuperar el material de fuente dominante S. El cliente entonces construye un par dominante de public/private único al usuario de la identificación del usuario, de la contraseña del usuario, y del material de fuente dominante S. Más particularmente, una puesta en práctica implica el pasar del valor H(ID) del picadillo, del valor del picadillo H(ID/P), de la contraseña cruda P, y del material de fuente dominante S a través de un generador del número al azar para producir dos grandes, los números relativamente primeros p y q que se utilicen en un sistema dominante público de RSA para generar un par dominante de public/private.

 
Web www.patentalert.com

< (none)

< Automatic detection of per-unit location constraints

> Parameterless language in a machine for implementation thereof

> (none)

~ 00007