IP Library Granted Patent US 9,819,492
Granted Patent B2
US 9,819,492 · App. 15/233,614 · Granted Nov 14, 2017

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 9,819,492
App. No.
15/233,614
Granted
Nov 14, 2017
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 (89)

1. A method comprising:

by a client computing device, accessing a device identifier encoded in hardware of the client computing device;

by the client computing device, generating a device key based on the device identifier, wherein the device key uniquely identifies the client computing device;

by the client computing device, storing the device key in a data store of the client computing device;

by the client computing device, sending the device key to a first computer server of an online system, wherein the device key is stored in a data store of the first computer server;

by the client computing device, sending a request for a user action to a second computer server;

by the client computing device, receiving, from the second computer server, a request for an authentication code based on the device key;

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

by the client computing device, sending the first authentication code to the second computer server, wherein the client computing device is authenticated based on the first authentication code and a second authentication code, wherein the second authentication code is generated by the first computer server using a second cryptographic hash algorithm executed based on the device key.

2. The method of claim 1 , wherein the sending the device key to the first computer server comprises receiving the device key through user input on a user interface of the client computing device.

3. The method of claim 1 , wherein the sending the device key to the first computer server comprises automatically sending the device key from the client computing device.

4. The method of claim 3 , wherein the automatically sending the device key is based on determining that the client computing device has network connectivity to the first computer server.

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

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

a password of the user; or

other personal information of the user.

6. The method of claim 5 , further comprising:

determining 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.

7. The method of claim 1 , wherein the request for the authentication code from the second server comprises a user interface on the client computing device for user input of the first authentication code.

8. The method of claim 7 , wherein the user interface is an interface from the first computing server.

9. The method of claim 1 , wherein the first authentication code and second authentication code comprise a cryptographic hash of the device key.

10. The method of claim 9 , wherein the cryptographic hash further comprises a timestamp.

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

12. The method of claim 1 , further comprising:

receiving a disavowal request from a user associated with the client computing device; and

sending the disavowal request to the first computing server; and

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

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

14. A computing device 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:

access a device identifier encoded in hardware of the client computing device;

generate a device key based on the device identifier, wherein the device key uniquely identifies the client computing device;

store the device key in a data store of the client computing device;

send the device key to a first computer server of an online system, wherein the device key is stored in a data store of the first computer server;

send a request for a user action to a second computer server;

receive, from the second computer server, a request for an authentication code based on the device key;

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

send the first authentication code to the second computer server, wherein the client computing device is authenticated based on the first authentication code and a second authentication code, wherein the second authentication code is generated by the first computer server using a second cryptographic hash algorithm executed based on the device key.

15. The device of claim 14 , wherein the sending the device key to the first computer server comprises receiving the device key through user input on a user interface of the client computing device.

16. The device of claim 14 , wherein the sending the device key to the first computer server comprises automatically sending the device key from the client computing device.

17. The device of claim 14 , wherein the automatically sending the device key is based on determining that the client computing device has network connectivity to the first computer server.

18. The device of claim 14 , wherein the device key is further based on:

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

a password of the user; or

other personal information of the user.

19. The device of claim 18 , further comprising:

determining 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.

20. The device of claim 14 , wherein the request for the authentication code from the second server comprises a user interface on the client computing device for user input of the first authentication code.

21. The device of claim 20 , wherein the user interface is an interface from the first computing server.

22. The device of claim 14 , wherein the first authentication code and second authentication code comprise a cryptographic hash of the device key.

23. The device of claim 22 , wherein the cryptographic hash further comprises a timestamp.

24. The device of claim 14 , wherein the first cryptographic hash algorithm and the second cryptographic hash algorithm are identical algorithms.

25. The device of claim 14 , further comprising:

receiving a disavowal request from a user associated with the client computing device; and

sending the disavowal request to the first computing server; and

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

26. The device of claim 25 , wherein the deletion is reversible for a predetermined period of time.

27. A non-transitory, computer-readable media comprising instructions operable, when executed by a computing device, to:

access a device identifier encoded in hardware of the client computing device;

generate a device key based on the device identifier, wherein the device key uniquely identifies the client computing device;

store the device key in a data store of the client computing device;

send the device key to a first computer server of an online system, wherein the device key is stored in a data store of the first computer server;

send a request for a user action to a second computer server;

receive, from the second computer server, a request for an authentication code based on the device key;

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

send the first authentication code to the second computer server, wherein the client computing device is authenticated based on the first authentication code and a second authentication code, wherein the second authentication code is generated by the first computer server using a second cryptographic hash algorithm executed based on the device key.

28. The media of claim 27 , wherein the sending the device key to the first computer server comprises receiving the device key through user input on a user interface of the client computing device.

29. The media of claim 27 , wherein the sending the device key to the first computer server comprises automatically sending the device key from the client computing device.

30. The media of claim 27 , wherein the automatically sending the device key is based on determining that the client computing device has network connectivity to the first computer server.

31. The media of claim 27 , wherein the device key is further based on:

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

a password of the user; or

other personal information of the user.

32. The media of claim 31 , further comprising:

determining 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.

33. The media of claim 27 , wherein the request for the authentication code from the second server comprises a user interface on the client computing device for user input of the first authentication code.

34. The media of claim 33 , wherein the user interface is an interface from the first computing server.

35. The media of claim 27 , wherein the first authentication code and second authentication code comprise a cryptographic hash of the device key.

36. The media of claim 35 , wherein the cryptographic hash further comprises a timestamp.

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

38. The media of claim 27 , further comprising:

receiving a disavowal request from a user associated with the client computing device; and

sending the disavowal request to the first computing server; and

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

39. The media of claim 38 , wherein the deletion is reversible for a predetermined period of time.

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