IP Library › Granted Patent US 11,516,275
Granted Patent B2
US 11,516,275 · App. 17/410,569 · Granted Nov 29, 2022

Subscription-notification mechanisms for synchronization of distributed states

Inventors: Senthilvasan Supramaniam (Sunnyvale, CA); Osborne B. Hardison (Palo Alto, CA); Jay D. Logue (San Jose, CA); Jared A. Luxemberg (San Francisco, CA)
Assignee: Google LLC
H04L67/01H04L63/08H04L67/1095
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,516,275
App. No.
17/410,569
Granted
Nov 29, 2022
Kind
B2
Abstract

A method of rotating assigned credentials for client devices registering with servers may include determining that assigned credentials for a client device are expired; in response to determining that the assigned credentials have expired, generating new credentials for the client device; sending the new credentials to the client device; generating an encrypted version of the new credentials and storing the encrypted version of the new credentials at the server during a grace period, where during the grace period the client device can be authenticated using the assigned credentials or the new credentials; and deleting the encrypted version of the new credentials at an expiration of the grace period.

Claims (48)

1. A method of rotating assigned credentials for client devices registering with servers, the method comprising:

determining, by a server, that assigned credentials for a client device are expired;

in response to determining that the assigned credentials have expired, generating, by the server, new credentials for the client device;

sending, by the server, the new credentials to the client device;

generating, by the server, an encrypted version of the new credentials and storing the encrypted version of the new credentials at the server during a grace period, wherein during the grace period the client device can be authenticated using the assigned credentials or the new credentials; and

deleting, by the server, the encrypted version of the new credentials at an expiration of the grace period.

2. The method of claim 1 , further comprising:

receiving, by the server, the assigned credentials from the client device during the grace period; and

in response to receiving the assigned credentials from the client device, sending, by the server, the new credentials to the client device.

3. The method of claim 2 , wherein the new credentials are generated by the server by decrypting the encrypted version of the new credentials that are stored at the server.

4. The method of claim 1 , further comprising:

generating, by the server, a hashed version of the new credentials and storing the hashed version of the new credentials at the server.

5. The method of claim 4 , further comprising:

receiving, by the server, the new credentials from the client device during the grace period;

generating, by the server, a temporary hash of the new credentials; and

authenticating the client device by comparing the temporary hash of the new credentials with the hashed version of the new credentials stored at the server.

6. The method of claim 1 , further comprising:

storing the encrypted version of the new credentials in a secure storage that is separate from the server at the expiration of the grace period.

7. The method of claim 1 , furthering comprising:

determining, by the server, whether a secure connection exists between the server and the client device, wherein the new credentials are sent to the client device in response to a determination that the secure connection exists.

8. The method of claim 1 , wherein the new credentials comprise an assigned identifier and an assigned secret for the client device, wherein the assigned identifier comprises a serial number of the client device.

9. The method of claim 8 , wherein the assigned secret comprises a random number generated by the server, and a hashed version of the new credentials comprises a hash of the assigned secret.

10. The method of claim 1 , wherein the assigned credentials expire after a predetermined number of uses.

11. A server comprising:

one or more processors; and

one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

determining, by the server, that assigned credentials for a client device are expired;

in response to determining that the assigned credentials are expired, generating, by the server, new credentials for the client device;

sending, by the server, the new credentials to the client device;

generating, by the server, an encrypted version of the new credentials and storing the encrypted version of the new credentials at the server during a grace period, wherein during the grace period the client device can be authenticated using the assigned credentials or the new credentials; and

deleting, by the server, the encrypted version of the new credentials at an expiration of the grace period.

12. The server of claim 11 , wherein the operations further comprise:

receiving, by the server, the assigned credentials from the client device during the grace period; and

in response to receiving the assigned credentials from the client device, sending, by the server, the new credentials to the client device.

13. The server of claim 12 , wherein the new credentials are generated by the server by decrypting the encrypted version of the new credentials that are stored at the server.

14. The server of claim 11 , wherein the operations further comprise:

generating, by the server, a hashed version of the new credentials and storing the hashed version of the new credentials at the server.

15. The server of claim 14 , wherein the operations further comprise:

receiving, by the server, the new credentials from the client device during the grace period;

generating, by the server, a temporary hash of the new credentials; and

authenticating the client device by comparing the temporary hash of the new credentials with the hashed version of the new credentials stored at the server.

16. The server of claim 11 , wherein the operations further comprise:

storing the encrypted version of the new credentials in a secure storage that is separate from the server at the expiration of the grace period.

17. The server of claim 11 , wherein the operations further comprise:

determining, by the server, whether a secure connection exists between the server and the client device, wherein the new credentials are sent to the client device in response to a determination that the secure connection exists.

18. The server of claim 11 , wherein the new credentials comprise an assigned identifier and an assigned secret for the client device, wherein the assigned identifier comprises a serial number of the client device.

19. The server of claim 18 , wherein the assigned secret comprises a random number generated by the server, and a hashed version of the new credentials comprises a hash of the assigned secret.

20. The server of claim 11 , wherein the assigned credentials expire after a predetermined number of uses.

Continuity (4)
Continuation 16510415 · Jul 12, 2019
Continuation 14150675 · Jan 8, 2014
Division 13624892 · Sep 22, 2012
Related Publication 20210385301A1 · Dec 9, 2021
Cited By (1)
US 12,301,656