IP Library › Granted Patent US 11,509,647
Granted Patent B2
US 11,509,647 · App. 16/259,520 · Granted Nov 22, 2022

Determination of weak hashed credentials

Inventors: Shira Itzhaki (Tel Aviv, IL); Moshe Israel (Ramat-Gan, IL)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L63/083H04L9/0643
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 11,509,647
App. No.
16/259,520
Granted
Nov 22, 2022
Kind
B2
Abstract

According to examples, an apparatus may include a processor and a non-transitory computer readable medium on which is stored machine readable instructions that may cause the processor to access a hashed credential associated with a user or a device, access hashed versions of a plurality of commonly used credentials, determine whether the hashed credential matches a hashed version of a commonly used credential of the plurality of commonly used credentials, and based on a determination that the hashed credential matches a hashed version of a commonly used credential, perform at least one of a reporting or a blocking operation.

Claims (58)

1. An apparatus comprising:

a processor; and

a non-transitory computer readable medium on which is stored machine readable instructions that are to cause the processor to:

receive a hashed credential associated with a user from a device of the user, wherein the device generated the hashed credential through use of a hash function;

determine the hash function used by the device to generate the received hashed credential;

send the determined hash function to a remote server, wherein the remote server is to apply the determined hash function to a plurality of commonly used credentials to generate a plurality of hashed versions of the commonly used credentials and to return the plurality of commonly used credentials to the apparatus;

receive the generated plurality of hashed versions of the generated plurality of commonly used credentials from the remote server;

determine whether the hashed credential matches a hashed version of a commonly used credential of the plurality of commonly used credentials; and

based on a determination that the hashed credential matches a hashed version of a commonly used credential, perform at least one of a reporting or a blocking operation.

2. The apparatus of claim 1 , wherein the plurality of commonly used credentials is included in a dictionary of commonly used credentials.

3. The apparatus of claim 1 , wherein to perform at least one of the reporting or blocking operation, the instructions are further to cause the processor to:

output an alert;

disable a user access to the device, an application, or a network;

shut down the device; or

quarantine the device from the network.

4. The apparatus of claim 1 , wherein the user device is a personal computer, a laptop computer, a tablet computer, or a smartphone.

5. The apparatus of claim 1 , wherein the instructions are further to cause the processor to automatically and periodically access the hashed credential.

6. The apparatus of claim 1 , wherein the apparatus is a personal computer, a laptop computer, a tablet computer, a smartphone, a network gateway, a network router, or a server.

7. The apparatus of claim 1 , wherein the hashed credential comprises a user name, a user password, a device name, or a device password.

8. The apparatus of claim 1 , wherein a salt value is used in the hashing of the hashed credential, and wherein the instructions are further to cause the processor to send the salt value to the remote server, wherein the remote server is to add the salt value to the commonly used credentials and to apply the hash function to the commonly used credentials with the added salt value to generate the hashed versions of the commonly used credentials.

9. A method comprising:

receiving, by a processor, a hashed credential associated with a user from a device of the user, wherein the device generated the hashed credential through use of a hash function;

determining, by the processor, the hash function used by the device to generate the received hashed credential;

sending, by the processor, the determined hash function to a remote server, wherein the remote server is to apply the determined hash function to a plurality of entries corresponding to commonly used credentials to generate a plurality of hashed entries of the commonly used credentials and to return the plurality of commonly used credentials to the processor;

receiving, by the processor, the generated plurality of hashed entries of the commonly used credentials from the remote server;

determining, by the processor, whether the hashed credential matches a hashed entry of the received plurality of hashed entries, wherein a plurality of entries corresponding to the plurality of hashed entries are included in a dictionary of commonly used credentials; and

based on a determination that the hashed credential matches a hashed entry of the received plurality of hashed entries, by the processor:

outputting an alert;

disabling access by the user to the device, an application, or a network;

shutting down the device; or

quarantining the device from the network.

10. The method of claim 9 , wherein the hashed credential is a hashed version of the credential with a salt value added to the credential, the method further comprising:

determining the salt value; and

sending the determined salt value to the remote server, wherein the remote server is to add the determined salt value to the plurality of entries to generate entries with salt values and to generate the plurality of hashed entries of the commonly used credentials with the salt values.

11. The method of claim 9 , further comprising:

automatically accessing hashed credentials from a plurality of devices;

determining which of the hashed credentials matches a hashed entry of the plurality of hashed entries;

maintaining a log of the devices from which hashed credentials matching the hashed entries were accessed;

determining in which of the devices from which the hashed credentials matching the hashed entries were accessed have been changed to have values that do not match a hashed entry of the plurality of hashed entries; and

updating the log with an indication of the devices where the hashed credentials have been changed to have values that do not match a hashed entry of the plurality of hashed entries.

12. The method of claim 9 , further comprising:

determining whether the processor is to determine whether the hashed credential matches a hashed entry of the plurality of hashed entries; and

based on a determination that the processor is to determine whether the hashed credential matches a hashed entry of the plurality of hashed entries, determine whether the hashed credential matches a hashed entry of the plurality of hashed entries.

13. The method of claim 12 , further comprising:

based on a determination that the processor is not to determine whether the hashed credential matches a hashed entry of the plurality of hashed entries, send the accessed hashed credential to a remote server for the remote server to determine whether the hashed credential matches a hashed entry of the plurality of hashed entries.

14. A computer readable medium on which is stored machine readable instructions that when executed by a processor, cause the processor to:

receive a hashed credential associated with a user from a device of the user, wherein the device generated the hashed credential through use of a hash function;

determine a hash function used to generate the received hashed credential;

send the determined hash function to a remote server, wherein the remote server is to apply the determined hash function to a plurality of commonly used credentials to generate a plurality of hashed versions of the commonly used credentials and to return the plurality of commonly used credentials to the processor;

receive the generated plurality of hashed versions of the generated plurality of commonly used credentials from the remote server;

determine whether the hashed credential matches a hashed version of a commonly used credential of the received plurality of commonly used credentials; and

based on a determination that the hashed credential matches a hashed version of a commonly used credential, perform at least one of a reporting or a blocking operation.

15. The computer readable medium of claim 14 , wherein to perform at least one of the reporting or blocking operation, the instructions are further to cause the processor to:

output an alert;

disable a user access to the device, an application, or a network;

shut down the device; or

quarantine the device from the network.

16. The computer readable medium of claim 14 , wherein the instructions are further to cause the processor to automatically and periodically access the hashed credential.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2019
From: ITZHAKI, SHIRA; ISRAEL, MOSHE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 048158/0731 →
Continuity (1)
Related Publication 20200244640A1 · Jul 30, 2020
Cited By (1)
US 12,711,332