IP Library › Granted Patent US 10,320,848
Granted Patent B2
US 10,320,848 · App. 15/223,040 · Granted Jun 11, 2019

Smart lockout

Inventors: Alexandre Kerametlian (Redmond, WA); Amit Dhariwal (Redmond, WA); Dana Kaufman (Redmond, WA); Winfred Wong (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L63/205G06F21/31H04L63/083G06F2221/2111
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 10,320,848
App. No.
15/223,040
Filed
Jul 29, 2016
Granted
Jun 11, 2019
Kind
B2
Examiner
HO, THOMAS
Art Unit
2494
USPC
726/7
Abstract

Embodiments are directed to having multiple lockout counters that apply to login requests from different origins. More specifically, one counter is associated with a user's familiar locations, another counter is associated with unfamiliar locations. In another embodiment, hashes of incorrect passwords are recorded so that lockout counters are not incremented multiple times when the same incorrect password is entered repeatedly.

Claims (62)

1. A computer-implemented method for controlling access to a computing account by preventing potentially malicious authentication requests originating from unrecognized sources from interfering with a determined normal usage of the computing account, the access being controlled through use of multiple distinct counters that are used to monitor different types of access attempts, the method being performed by one or more processors of a computer system and comprising:

at the computer system, receiving an authentication request requesting access to the computing account, the authentication request being received from a user device that is requesting the access to the computing account;

at the computer system, determining that the authentication request includes an incorrect credential, the incorrect credential being a credential that is presently unusable to gain access to the computing account;

at the computer system, identifying a device trait associated with the user device that transmitted the authentication request, the device trait being used by the computer system to determine whether the user device is familiar or unfamiliar, wherein the computer system determines that the user device is familiar when the computer system identifies a particular relationship existing between the user device's device trait and the computing account, and wherein the computer system determines that the user device is unfamiliar when the computer system is unable to identify the particular relationship;

at the computer system, incrementing a first counter when the computer system determines that the user device is familiar and when the incorrect credential is received, the first counter being associated with the determined normal usage of the computing account and being used to identify when familiar user devices are submitting incorrect credentials;

at the computer system, incrementing a second counter when the computer system determines that the user device is unfamiliar and when the incorrect credential is received, wherein the second counter is not associated with the determined normal usage of the computing account and instead is used to identify when potentially malicious authentication requests are being submitted; and

at the computer system, selectively modifying access to the computing account based on the second counter.

2. The computer-implemented method of claim 1 , further comprising:

if the user device is familiar, comparing a first counter value of the first counter to a first threshold; and

locking out additional access attempts associated with the familiar user device if the first counter value has exceeded the first threshold, wherein additional access attempts associated with an unfamiliar user device are allowed unless a second counter value of the second counter has exceeded a second threshold.

3. The computer-implemented method of claim 1 , further comprising:

if the user device is unfamiliar, comparing a second counter value of the second counter to a second threshold; and

locking out additional access attempts associated with the unfamiliar user device if the second counter value has exceeded the second threshold, wherein additional access attempts associated with a familiar user device are allowed unless a first counter value of the first counter has exceeded a first threshold.

4. The computer-implemented method of claim 2 , further comprising:

resetting the first counter value after a cooldown time has expired.

5. The computer-implemented method of claim 3 , further comprising:

resetting the second counter value after a cooldown time has expired.

6. The computer-implemented method of claim 1 , wherein the device trait is a current location associated with the user device, and wherein the user device is determined to be familiar if a prior successful authentication request originated from the current location of the user device such that the particular relationship is determined to include a condition in which the prior successful authentication request originated from the current location.

7. The computer-implemented method of claim 1 , further comprising:

at the computer system, storing a list of complete or partial hashes of a selected number of prior incorrect credentials in a storage while refraining from storing the actual prior incorrect credentials in the storage; and

checking a determined hash of the incorrect credential against the complete or partial hashes in the list to determine whether the determined hash is included in the list.

8. The computer-implemented method of claim 1 , further comprising:

comparing the incorrect credential received in the authentication request to a list of prior incorrect credentials stored in a storage; and

preventing the first or second counter from being incremented when the incorrect credential matches at least one of the prior incorrect credentials stored in the storage.

9. The computer-implemented method of claim 1 , wherein the incorrect credential is selected from the group consisting of: an application password, an authenticator-generated code, a code sent via email, text, message or mobile device, a secret answer, a one-time use code, a one-time token (OTT), and a personal identification number (PIN).

10. A system comprising:

one or more processors; and

one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the system to control access to a computing account by preventing potentially malicious authentication requests originating from unrecognized sources from interfering with a determined normal usage of the computing account, the computing account being controlled through use of multiple distinct counters that are used to monitor different types of access attempts, the computer-executable instructions thereby causing the computer system to:

at the computer system, receive an authentication request requesting access to the computing account, the authentication request being received from a user device that is requesting the access to the computing account;

at the computer system, determine that the authentication request includes an incorrect credential, the incorrect credential being a credential that is presently unusable to gain access to the computing account;

at the computer system, identify a device trait associated with the user device that transmitted the authentication request, the device trait being used by the computer system to determine whether the user device is familiar or unfamiliar, wherein the computer system determines that the user device is familiar when the computer system identifies a particular relationship existing between the user device's device trait and the computing account, and wherein the computer system determines that the user device is unfamiliar when the computer system is unable to identify the particular relationship;

at the computer system, increment a first counter when the computer system determines that the user device is familiar and when the incorrect credential is received, the first counter being associated with the determined normal usage of the computing account and being used to identify when familiar user devices are submitting incorrect credentials;

at the computer system, increment a second counter when the computer system determines that the user device is unfamiliar and when the incorrect credential is received, wherein the second counter is not associated with the determined normal usage of the computing account and instead is used to identify when potentially malicious authentication requests are being submitted; and

at the computer system, selectively modify access to the computing account based on the second counter.

11. The system of claim 10 , wherein execution of the computer-executable instructions further causes the system to:

if the user device is familiar, compare a first counter value of the first counter to a first threshold; and

lock out additional access attempts associated with the familiar user device if the first counter value has exceeded the first threshold, wherein additional access attempts associated with an unfamiliar user device are allowed unless a second counter value of the second counter has exceeded a second threshold.

12. The system of claim 10 , wherein execution of the computer-executable instructions further causes the system to:

if the user device is unfamiliar, compare a second counter value of the second counter to a second threshold; and

lock out additional access attempts associated with the unfamiliar user device if the second counter value has exceeded the second threshold, wherein additional access attempts associated with a familiar user device are allowed unless a first counter value of the first counter has exceeded a first threshold.

13. The system of claim 11 , wherein the first counter value is reset after a cooldown time has expired.

14. The system of claim 12 , wherein the second counter value is reset after a cooldown time has expired.

15. The system of claim 10 , wherein the device trait is a current location associated with the user device, and wherein the user device is determined to be familiar if a prior successful authentication request originated from the current location of the user device.

16. The system of claim 10 , further comprising:

a storage device configured to store complete or partial hashes of prior incorrect credentials.

17. The system of claim 16 , wherein execution of the computer-executable instructions further causes the system to:

compare the incorrect credential received in the authentication request to a list of prior incorrect credentials stored in a storage; and

prevent the first or second counter from being incremented when the incorrect credential matches at least one of the prior incorrect credentials stored in the storage.

18. The system of claim 10 , wherein the incorrect credential is selected from the group consisting of: an application password, an authenticator-generated code, a code sent via email, text, message or mobile device, a secret answer, a one-time use code, a one-time token (OTT), and a personal identification number (PIN).

19. One or more hardware storage devices having stored thereon computer-executable instructions that are executable by one or more processors of a computer system to cause the computer system to control access to a computing account by preventing potentially malicious authentication requests originating from unrecognized sources from interfering with a determined normal usage of the computing account, the computing account being controlled through use of multiple distinct counters that are used to monitor different types of access attempts, the computer-executable instructions thereby causing the computer system to:

at the computer system, receive an authentication request requesting access to the computing account, the authentication request being received from a user device that is requesting the access to the computing account;

at the computer system, determine that the authentication request includes an incorrect credential, the incorrect credential being a credential that is presently unusable to gain access to the computing account;

at the computer system, identify a device trait associated with the user device that transmitted the authentication request, the device trait being used by the computer system to determine whether the user device is familiar or unfamiliar, wherein the computer system determines that the user device is familiar when the computer system identifies a particular relationship existing between the user device's device trait and the computing account, and wherein the computer system determines that the user device is unfamiliar when the computer system is unable to identify the particular relationship;

at the computer system, increment a first counter when the computer system determines that the user device is familiar and when the incorrect credential is received, the first counter being associated with the determined normal usage of the computing account and being used to identify when familiar user devices are submitting incorrect credentials;

at the computer system, increment a second counter when the computer system determines that the user device is unfamiliar and when the incorrect credential is received, wherein the second counter is not associated with the determined normal usage of the computing account and instead is used to identify when potentially malicious authentication requests are being submitted; and

at the computer system, selectively modify access to the computing account based on the second counter.

20. The one or more hardware storage devices of claim 19 , wherein execution of the computer-executable instructions further causes the computer system to:

if the user device is familiar:

compare a first counter value of the first counter to a first threshold; and

lock out additional access attempts associated with the familiar user device if the first counter value has exceeded the first threshold, wherein additional access attempts associated with an unfamiliar user device are allowed unless a second counter value of the second counter has exceeded a second threshold; and if the user device is unfamiliar:

compare the second counter value to the second threshold; and

lock out additional access attempts associated with the unfamiliar user device if the second counter value has exceeded the second threshold, wherein additional access attempts associated with the familiar user device are allowed unless the first counter value has exceeded the first threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: KERAMETLIAN, ALEXANDRE; DHARIWAL, AMIT; KAUFMAN, DANA; WONG, WINFRED
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039287/0688 →
Continuity (2)
Provisional Application 62279641 · Jan 15, 2016
Related Publication 20170208075A1 · Jul 20, 2017