SYSTEM AND METHOD FOR PROTECTING A PASSWORD AGAINST BRUTE FORCE ATTACKS
First Claim
1. A method for providing authentication information from a client device to an authentication device, the authenticating device being provided with a public key Kpub paired to a private key Kpriv associated with the client device, wherein Kpub and Kpriv are generated at the client device, and Kpriv is stored at the client device in encrypted form EKpriv, wherein Kpriv is encrypted by a key K(P) derived from a password P to provide EKpriv, the method comprising the steps of:
- receiving an input password P′
at the client device;
deriving, using the input password P′
, a key K(P′
), wherein the key K(P′
) is derived from the input password P′
using the same method used to derive the key K(P) from the password P;
decrypting, using the key K(P′
), the encrypted private key EKpriv to provide a signing value;
digitally signing a message using the signing value; and
transmitting the message to the authentication device, the authentication device being configured to verify the digitally signed message using the paired public key Kpub.
4 Assignments
0 Petitions
Accused Products
Abstract
In a system and method for authenticating a client device by an authentication device, the client device user is assigned a PIN generated by the authentication device. The user provides the PIN and a password to the client device, from which the client device generates a symmetric key and further generates a public/private key pair. The private key is encrypted using the symmetric key and stored in encrypted form only. The public key and a message authentication code generated from the PIN are provided to the authentication device, which stores the public key. Subsequently, when the user seeks to be authenticated, the user enters a password at the client device, which is used to generate a symmetric key to decrypt the encrypted private key. A message to the authentication device is signed using the resultant value. The authentication device uses the public key to verify the signature of the message.
81 Citations
40 Claims
-
1. A method for providing authentication information from a client device to an authentication device, the authenticating device being provided with a public key Kpub paired to a private key Kpriv associated with the client device, wherein Kpub and Kpriv are generated at the client device, and Kpriv is stored at the client device in encrypted form EKpriv, wherein Kpriv is encrypted by a key K(P) derived from a password P to provide EKpriv, the method comprising the steps of:
-
receiving an input password P′
at the client device;deriving, using the input password P′
, a key K(P′
), wherein the key K(P′
) is derived from the input password P′
using the same method used to derive the key K(P) from the password P;decrypting, using the key K(P′
), the encrypted private key EKpriv to provide a signing value;digitally signing a message using the signing value; and transmitting the message to the authentication device, the authentication device being configured to verify the digitally signed message using the paired public key Kpub. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 29, 30, 37, 38)
-
-
17. A method for providing authentication information to a client device and an authentication device for authenticating the client device by the authentication device, comprising the steps of:
-
receiving an input password P at the client device; deriving, using the input password P, a key K(P); generating a private key Kpriv and a paired public key Kpub; encrypting, using the key K(P), the private key Kpriv to derive EKpriv, wherein EKpriv is stored at the client device; and transmitting the public key Kpub to the authentication device for storage. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A method for authenticating a client device, comprising the steps of:
-
receiving, at an authentication device, a message from a client device comprising a public key Kpub; storing the public key Kpub at the authentication device; receiving, at the authentication device, a message comprising a request for authentication and a digital signature; verifying, at the authentication device, the digital signature of the message, such that if the digital signature is verified further data requiring prior authentication may be delivered to the client device; wherein the digital signature is derived from a first value stored at the client device processed in accordance with a decryption algorithm using a key K(P′
), the key K(P′
) in turn derived using a key derivation algorithm from a user-entered password P′
, wherein the first value was previously derived at the client device as a private key Kpriv paired with the public key Kpub and encrypted using an encryption algorithm corresponding to the decryption algorithm and using a key K(P), the key K(P) in turn derived from the key derivation algorithm from a password P, such that the digital signature is verified if the user-entered password P′
matches the password P. - View Dependent Claims (25, 26, 27, 39, 40)
-
-
31. A client device for a system for authenticating the client device using an authentication device, the client device comprising:
-
an input for receiving an input password and authentication data; a processor and memory for; generating symmetric keys and paired public and private keys, encrypting and decrypting data and digitally signing messages using keys, and generating and transmitting messages; wherein the client device is further adapted to; generate a symmetric key from a first password P, generate a public and private key pair Kpub, Kpriv, generate and transmit a message to the authentication device comprising the public key Kpub and received authentication data, encrypt the private key Kpriv using the symmetric key and store the encrypted private key Kpriv, generate and transmit a message to the authentication device comprising a request for authentication digitally signed with a value derived from decrypting the stored encrypted private key Kpriv using a symmetric key generated from an input password P′
, for verification by the authentication device using the public key Kpub. - View Dependent Claims (33, 34, 35, 36)
-
-
32. An authentication device for a system for authenticating a client device using the authentication device, the authentication device comprising:
-
a processor and memory for; generating and providing authentication data; storing data; verifying digitally signed messages using public keys; generating and transmitting messages; wherein the authentication device is further adapted to; receive a message comprising a public key Kpub generated by the client device and information derived from the authentication data generated by the authentication device and provided to a user of the client device and subsequently received by the client device, the public key Kpub corresponding to a paired private key Kpub encrypted using a first password P and stored at the client device in encrypted form, store the public key Kpub, receive a message from the client device comprising a request for authentication provided with a digital signature generated by the client device using a value derived from decrypting the encrypted private key Kpriv stored at the client device using a symmetric key generated from an input password P′
received at the client device, andverify the digital signature using the public key Kpub, wherein the authentication device is adapted to authenticate a user of the client device if the digital signature is verified using the public key Kpub.
-
Specification