IP Library Granted Patent US 10,110,384
Granted Patent B2
US 10,110,384 · App. 15/784,945 · Granted Oct 23, 2018

Providing user authentication

Inventors: Jacob Andrew Brill (San Francisco, CA); Daniel Gregory Muriello (Menlo Park, CA)
Assignee: Facebook, Inc.
H04L9/3228G06F21/602H04L9/14H04L9/321H04L9/3226H04L9/3239H04L63/0876H04W12/06H04L63/06H04W12/04
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,110,384
App. No.
15/784,945
Granted
Oct 23, 2018
Kind
B2
Abstract

In particular embodiments, a computing device accesses a device identifier that is encoded in the hardware of the computing device. The device identifier is used to generate a device key that will uniquely identify the particular computing device. The computing device stores the device key in a data store, and sends the device key to be stored on a first computer server. The computing device subsequently requests a user action from a second computer server, and the second computing server requests user authentication. The computing device generates a first authentication code using a cryptographic hash algorithm and the device key, and sends the first authentication code to the second computer server. The computing device is authenticated based on a second authentication code generated by the first computer server using the device key.

Claims (49)

1. A method comprising:

by a first computing device, receiving a request to associate a client system to a user account of an online system, wherein the request comprises a device key that uniquely identifies the client system, wherein the device key is based on a device identifier encoded in hardware of the client system;

by the first computing device, storing the device key in a user profile for the user account;

by the first computing device, receiving, from a second computing device, a request for an authentication code for the user account;

by the first computing device, generating a first authentication code using a first cryptographic hash algorithm executed based on the device key; and

by the first computing device, sending, to the second computing device, the first authentication code, wherein the second computing device authenticates the user by comparing the first authentication code with a second authentication code received from one of client devices associated with the user account, wherein the second authentication code was generated by the client system using a second cryptographic hash algorithm executed based on the device key.

2. The method of claim 1 , wherein the first computing device is a part of the online system, wherein the online system maintains the user profile for the user account in a data store.

3. The method of claim 1 , wherein the device key is further based on:

a username of the user account associated with the client computing device;

a password of the user account; or

other personal information associated with the user account.

4. The method of claim 3 , further comprising:

receiving a request to update the device key from one of client devices associated with the user account, wherein the update is triggered by an update of the username, the password, or other personal information of the user; and

updating the device key of the client computing device in response to the update.

5. The method of claim 1 , wherein the client system comprises software generating authentication codes based on the device key using the second cryptographic hash algorithm.

6. The method of claim 1 , wherein the second computing device is associated with a third-party system that relies on the online system for authenticating the user account.

7. The method of claim 1 , wherein the second computing device is a part of the online system and processes user requests requiring heightened security.

8. The method of claim 1 , wherein the first cryptographic hash algorithm and the second cryptographic hash algorithm are identical algorithms.

9. The method of claim 1 , wherein the generating the first authentication code is further based on a timestamp.

10. The method of claim 1 , further comprising:

receiving a disavowal request from one of client devices associated with the user account; and

deleting the device key stored on the data store of the client computing device.

11. The method of claim 10 , wherein the deletion is reversible for a predetermined period of time.

12. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive a request to associate a client system to a user account of an online system, wherein the request comprises a device key that uniquely identifies the client system, wherein the device key is based on a device identifier encoded in hardware of the client system;

store the device key in a user profile for the user account;

receive, from a second computing device, a request for an authentication code for the user account;

generate a first authentication code using a first cryptographic hash algorithm executed based on the device key; and

send, to the second computing device, the first authentication code, wherein the second computing device authenticates the user by comparing the first authentication code with a second authentication code received from one of client devices associated with the user account, wherein the second authentication code was generated by the client system using a second cryptographic hash algorithm executed based on the device key.

13. The media of claim 12 , wherein the device key is further based on:

a username of the user account associated with the client computing device;

a password of the user account; or

other personal information associated with the user account.

14. The media of claim 13 , wherein the software is further operable when executed to:

receive a request to update the device key from one of client devices associated with the user account, wherein the update is triggered by an update of the username, the password, or other personal information of the user; and

update the device key of the client computing device in response to the update.

15. The media of claim 12 , wherein the client system comprises software generating authentication codes based on the device key using the second cryptographic hash algorithm.

16. The media of claim 12 , wherein the second computing device is associated with a third-party system that relies on the online system for authenticating the user account.

17. The media of claim 12 , wherein the second computing device is a part of the online system and processes user requests requiring heightened security.

18. The media of claim 12 , wherein the first cryptographic hash algorithm and the second cryptographic hash algorithm are identical algorithms.

19. The media of claim 12 , wherein the generating the first authentication code is further based on a timestamp.

20. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

receive a request to associate a client system to a user account of an online system, wherein the request comprises a device key that uniquely identifies the client system, wherein the device key is based on a device identifier encoded in hardware of the client system;

store the device key in a user profile for the user account;

receive, from a second computing device, a request for an authentication code for the user account;

generate a first authentication code using a first cryptographic hash algorithm executed based on the device key; and

send, to the second computing device, the first authentication code, wherein the second computing device authenticates the user by comparing the first authentication code with a second authentication code received from one of client devices associated with the user account, wherein the second authentication code was generated by the client system using a second cryptographic hash algorithm executed based on the device key.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
Continuity (3)
Continuation 15233614 · Aug 10, 2016
Continuation 13668083 · Nov 2, 2012
Related Publication 20180041340A1 · Feb 8, 2018