IP Library Granted Patent US 8,838,975
Granted Patent B2
US 8,838,975 · App. 11/555,030 · Granted Sep 16, 2014

System and method for protecting a password against brute force attacks

Inventors: Michael G. Kirkup (Waterloo, CA); Herbert A. Little (Waterloo, CA); Neil P. Adams (Waterloo, CA)
Assignee: BlackBerry Limited
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 8,838,975
App. No.
11/555,030
Granted
Sep 16, 2014
Kind
B2
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.

Claims (53)

1. A method for providing authentication information from a client device to an authentication device, the method comprising:

generating, at the client device, a private key K priv associated with the client device, and a public key K pub paired to the private key K priv ;

transmitting K pub to the authentication device;

transmitting, to the authentication device, a first message comprising K pub and information derived from authentication data, the authentication data being associated with K pub and having been generated and stored by the authentication device, such that the authentication device can verify the first message using the information derived from the authentication data and, if said information is verified, store K pub ;

storing, at the client device, an encrypted private key E Kpriv comprising the private key K priv encrypted using a key K(P) derived from a previously provided password P, wherein the password P is unavailable for verification on the client device or the authentication device after storing the encrypted private key E Kpriv and prior to receiving an input password P′ at the client device;

receiving the input password P′at the client device;

deriving, at the client device, a key K(P′) from the input password P′, wherein the key K(P′) is derived from the input password P′ using a same method used to derive the key K(P) from the previously provided password P;

applying a decryption algorithm, at the client device using the key K(P′), to the stored encrypted private key E Kpriv to provide a signing value;

in response to applying the decryption algorithm to the stored encrypted private key E Kpriv , digitally signing a second message using the signing value; and

transmitting the digitally signed second message to the authentication device, the authentication device being configured to verify a digital signature of the digitally signed second message using the paired public key K pub , wherein when the authentication device fails to verify the digital signature of the digitally signed second message, a mismatch between the previously provided password P and the input password P′ is detected.

2. The method of claim 1 , wherein the authentication device, upon verifying the digital signature, is configured to deliver a digital certificate to the client device.

3. The method of claim 2 , further comprising receiving, at the client device, the digital certificate upon verification of the digital signature by the authentication device.

4. The method of claim 3 , wherein the authentication device comprises a server of a certificate authority.

5. The method of claim 1 , wherein the key K(P) is a symmetric key derived from the previously provided password P and the key K(P′) is a symmetric key derived from the input password P′.

6. The method of claim 1 , wherein the client device comprises a communication device.

7. The method of claim 6 , wherein the client device comprises a mobile communication device.

8. The method of claim 1 , wherein the information derived from the authentication data comprises a message authentication code generated at the client device from the authentication data.

9. The method of claim 1 , further comprising digitally signing the first message using K priv .

10. The method of claim 1 , wherein the second message digitally signed using the signing value comprises a predetermined message provided by the authentication device.

11. The method of claim 1 , wherein the second message comprises a nonce or a randomly generated value.

12. A non-transitory computer-readable medium comprising instructions, which when executed by a processor of a client device, cause the client device to perform a method for providing authentication information from the client device to an authentication device, the method comprising:

generating, at the client device, a private key K priv associated with the client device, and a public K pub paired to the private key K priv ;

transmitting K pub to the authentication device;

transmitting, to the authentication device, a first message comprising K pub and information derived from authentication data, the authentication data being associated with K pub and having been generated and stored by the authentication device, such that the authentication device can verify the first message using the information derived from the authentication data and, if said information is verified, store K pub ;

storing, at the client device, an encrypted private key E Kpriv comprising the private key K priv encrypted using a key K(P) derived from a previously provided password P, wherein the password P is unavailable for verification on the client device or the authentication device after storing the encrypted private key E Kpriv and prior to receiving an input password P′ at the client device;

receiving the input password P′at the client device;

deriving, at the client device, a key K(P′) from the input password P′, wherein the key K(P′) is derived from the input password P′ using a same method used to derive the key K(P) from the previously provided password P;

applying a decryption algorithm, at the client device using the key K(P′), to the stored encrypted private key E Kpriv to provide a signing value;

in response to applying the decryption algorithm to the stored encrypted private key E Kpriv , digitally signing a second message using the signing value; and

transmitting the digitally signed second message to the authentication device, the authentication device being configured to verify a digital signature of the digitally signed second message using the paired public key K pub , wherein when the authentication device fails to verify the digital signature of the digitally signed second message, a mismatch between the previously provided password P and the input password P′ is detected.

13. A client device for a system for authenticating the client device using an authentication device, the client device comprising:

a processor; and

a memory;

wherein the processor is capable of causing the client device to provide authentication information from the client device to an authentication device, wherein the memory stores computer executable instructions that when executed by the processor configures the processor to:

generate, at the client device, a private key K priv associated with the client device, and a public key K pub paired to the private key K priv ;

transmit K pub to the authentication device;

transmit, to the authentication device a first message comprising K pub and information derived from authentication data, the authentication data being associated with K pub and having been generated and stored by the authentication device, such that the authentication device can verify the first message using the information derived from the authentication data and, if said information is verified, store K pub ;

store, in the memory at the client device, an encrypted private key E Kpriv comprising the private key K priv encrypted using a key K(P)derived from a previously provided password P, wherein the password P is unavailable for verification on the client device or the authentication device after storing the encrypted private key E Kpriv and prior to receiving an input password P′ at the client device;

receive the input password P′ at the client device;

derive, at the client device, a key K(P′) from the input password P′, wherein the key K(P′) is derived from the input password P′ using a same method used to derive the key K(P) from the previously provided password P;

apply a decryption algorithm, at the client device using the key K(P′), to the stored encrypted private key E Kpriv to provide a signing value;

digitally sign a second message using the signing value in response to applying the decryption algorithm to the stored encrypted private key E Kpriv ; and

transmit the digitally signed second message to the authentication device, the authentication device being configured to verify a digital signature of the digitally signed second message using the paired public key K pub , wherein when the authentication device fails to verify the digital signature of the digitally signed second message, a mismatch between the previously provided password P and the input password P′ is detected.

14. The client device of claim 13 , wherein the authentication device, upon verifying the digital signature, is configured to deliver a digital certificate to the client device.

15. The client device of claim 14 , wherein the processor is further capable of causing the client device to receive, at the client device, the digital certificate upon verification of the digital signature by the authentication device.

16. The client device of claim 15 , wherein the authentication device comprises a server of a certificate authority.

17. The client device of claim 13 , wherein the key K(P) is a symmetric key derived from the previously provided password P and the key K(P′) is a symmetric key derived from the input password P′.

18. The client device of claim 13 , wherein the client device comprises a communication device.

19. The client device of claim 18 , wherein the client device comprises a mobile communication device.

20. The client device of claim 13 , wherein the information derived from the authentication data comprises a message authentication code generated at the client device from the authentication data.

21. The client device of claim 13 , wherein the processor is further capable of digitally signing the first message using K priv .

22. The client device of claim 13 , wherein the second message digitally signed using the signing value comprises a predetermined message provided by the authentication device.

23. The client device of claim 13 , wherein the second message comprises a nonce or a randomly generated value.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jun 11, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 033134/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2007
From: KIRKUP, MICHAEL G.; LITTLE, HERBERT A.; ADAMS, NEIL P.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 018846/0982 →
Continuity (1)
Related Publication 20080120504A1 · May 22, 2008