IP Library Granted Patent US 7,703,130
Granted Patent B2
US 7,703,130 · App. 11/781,210 · Granted Apr 20, 2010

Secure authentication systems and methods

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,703,130
App. No.
11/781,210
Granted
Apr 20, 2010
Kind
B2
Abstract

Systems and methods are provided for authentication by combining a Reverse Turing Test (RTT) with password-based user authentication protocols to provide improved resistance to brute force attacks. In accordance with one embodiment of the invention, a method is provided for user authentication, the method including receiving a username/password pair associated with a user; requesting one or more responses to a first Reverse Turing Test (RTT); and granting access to the user if a valid response to the first RTT is received and the username/password pair is valid.

Claims (73)

1. A method for user authentication, the method comprising:

requesting, by a processor, username and password information from a user;

receiving, by the processor, a username/password pair associated with the user;

determining, by the processor, whether the username/password pair is valid;

requesting, by the processor, one or more responses to a first Reverse Turing Test (RTT), regardless of whether the username/password pair is valid;

selectively, by the processor, granting the user access to a resource only if the username/password pair is valid, and one or more responses to the first RTT is valid; and

generating, by the processor, a cookie if the user is granted access to the resource, wherein the cookie indicates that the user was authenticated.

2. The method of claim 1 , wherein the cookie is stored at least on the user's computing device.

3. The method of claim 1 , wherein the cookie is stored on a server.

4. The method of claim 1 , wherein the user enters the username/password pair manually.

5. The method of claim 1 , wherein the username/password pair is automatically entered.

6. The method of claim 1 , wherein the first RTT is independent of the username/password pair.

7. The method of claim 1 , wherein the first RTT is a non-deterministic or random function that depends on the username/password pair.

8. The method of claim 1 , wherein the first RTT is presented only after receiving a username/password pair.

9. The method of claim 1 , wherein the request for username and password information and the request for one or more responses to the first RTT are presented simultaneously.

10. The method of claim 1 , wherein a time between (a) performing the step of receiving a username/password pair and (b) performing the step of requesting one or more responses to a first RTT is substantially the same regardless of whether the username/password pair is valid.

11. The method of claim 1 , wherein the first RTT comprises at least one of:

(a) a deterministic function of the username/password pair;

(b) a non-deterministic function; or

(d) a random function.

12. The method of claim 1 , wherein the first RTT comprises an audible sound.

13. The method of claim 1 , wherein the resource comprises at least one of:

a bank account;

an Internet auction;

a stock trading account; or

an email account.

14. The method of claim 1 , further comprising: selectively notifying, by the processor, the user that authentication has failed if the user gives an invalid response to the first RTT.

15. The method of claim 14 , further comprising preventing, by the processor, the user from accessing the resource for a predetermined period of time after a failed authentication.

16. The method of claim 14 , further comprising determining, by the processor, that the response is invalid if it is not within a predetermined margin of error of a valid response.

17. The method of claim 1 , wherein the first RTT is a deterministic function of the username/password pair.

18. The method of claim 17 , wherein when a particular username/password pair is received, the RTT selected is always the same for each authentication attempt.

19. The method of claim 17 , wherein a new RTT is generated only when a user provides an invalid response to the first RTT.

20. The method of claim 17 , wherein a function used to generate the first RTT is publicly known.

21. The method of claim 1 , wherein the first RTT comprises an image on which the user is instructed to locate certain characters.

22. The method of claim 21 , wherein the user enters a password by clicking the appropriate characters on the first RTT.

23. The method of claim 21 , wherein the user uses a touch screen to respond to the first RTT.

24. The method of claim 1 , further comprising monitoring, by the processor, a ratio of failed login attempts for each of a plurality of users.

25. The method of claim 24 , further comprising increasing, by the processor, the difficulty of the first RTT for a user if a ratio of failed login attempts for the user reaches a predetermined limit.

26. The method of claim 1 , further comprising monitoring, by the processor, a global ratio of failed login attempts for a plurality of users.

27. The method of claim 1 , further comprising: maintaining, by the processor, a record for each user of the Internet Protocol (IP) address of the machine used for each successful authentication by that user.

28. The method of claim 27 , further comprising: allowing, by the processor, the user to access the resource if the user's current IP address matches an IP address of a machine from which the user was previously authenticated, regardless of the user's response to the first RTT.

29. The method of claim 1 , further comprising: determining, by the processor, if a valid cookie exists.

30. The method of claim 29 , further comprising: if a valid cookie exists, granting, by the processor, the user access to the resource.

31. The method of claim 29 , wherein:

the username/password pair received from the user is a first username/password pair; and

wherein the user is granted access to the resource regardless of the user's response to the first RTT if the first username/password pair matches a second username/password pair stored in the cookie.

32. The method of claim 31 , wherein:

if the first username/password pair does not match a second username/password pair stored in the cookie, a login counter is increased; and

after the login counter reaches a predefined value, the user is required to provide a valid username/password pair and answer an RTT correctly before being granted access to the resource.

33. A computer storage medium, the computer storage medium storing programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

requesting username and password information from a user;

receiving a username/password pair associated with the user;

determining whether the username/password pair is valid;

requesting one or more responses to a first Reverse Turing Test (RTT), regardless of whether the username/password pair is valid;

selectively granting the user access to a resource only if the username/password pair is valid, and one or more responses to the first RTT is valid; and

generating a cookie if the user is granted access to the resource, wherein the cookie indicates that the user was authenticated.

34. The computer storage medium of claim 33 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

selectively notifying the user that authentication has failed if the user gives an invalid response to the first RTT.

35. The computer storage medium of claim 34 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising preventing the user from accessing the resource for a predetermined period of time after a failed authentication.

36. The computer storage medium of claim 34 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising determining that the response is not valid if it is not within a predetermined margin of error of a valid response.

37. The computer storage medium of claim 33 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

maintaining a record for each user of the Internet Protocol (IP) address of the machine used for each successful authentication by that user.

38. The computer storage medium of claim 37 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

allowing the user to access the resource if the user's current IP address matches an IP address of a machine from which the user was previously authenticated, regardless of the user's response to the first RTT.

39. The computer storage medium of claim 33 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

determining if a valid cookie exists.

40. The computer storage medium of claim 39 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

granting the user access to the resource if a valid cookie exists.

41. The computer storage medium of claim 39 , wherein the username/password pair received from the user is a first username/password pair; the computer storage medium further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

granted the user access to the resource regardless of the user's response to the first RTT if the first username/password pair matches a second username/password pair stored in the cookie.

42. The computer storage medium of claim 41 , further comprising programming instructions which, if executed by a computer system, are operable to cause the computer system to perform operations comprising:

incrementing a login counter if the first username/password pair does not match a second username/password pair stored in the cookie; and

requiring the user to provide a valid username/password pair and to answer an RTT correctly before being granted access to the resource after the login counter reaches a predefined value.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Feb 14, 2023
From: ORIGIN FUTURE ENERGY PTY LTD.
To: INTERTRUST TECHNOLOGIES CORPORATION
Reel/Frame 062747/0742 →
SECURITY INTEREST Recorded Mar 18, 2020
From: INTERTRUST TECHNOLOGIES CORPORATION
To: ORIGIN FUTURE ENERGY PTY LTD
Reel/Frame 052189/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2019
From: PINKAS, BINYAMIN; SANDER, TOMAS
To: INTERTRUST TECHNOLOGIES CORPORATION
Reel/Frame 050153/0575 →