IP Library Granted Patent US 10,972,445
Granted Patent B2
US 10,972,445 · App. 15/800,625 · Granted Apr 6, 2021

Dynamic crypto key management for mobility in a cloud environment

Inventors: Benjamin Elliot Tucker (Parkland, FL); Timothy Ray Gaylor (Plantation, FL)
Assignee: Citrix Systems, Inc.
H04L63/061H04L9/083H04L9/0822H04L9/0894H04L63/062H04L63/0823H04L63/0853H04L63/20H04W12/04031
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,972,445
App. No.
15/800,625
Granted
Apr 6, 2021
Kind
B2
Abstract

Aspects of the disclosure relate to dynamic crypto key management for mobility in a cloud environment. A computing platform may receive a request to generate a new tenant master key and a new server recovery key. Subsequently, the computing platform may send to a cloud-based key vault server, the new tenant master key and the new server recovery key. The computing platform may send to a tenant database, the encrypted server recovery key. As a result, the computing platform may provision the enrollment servers with the encrypted server recovery key. In some embodiments, the enrollment servers are configured to manage enrollment of policy-managed devices in a policy enforcement scheme and to authenticate with the key update service based on the encrypted server recovery key.

Claims (78)

1. A method comprising:

at a computing platform comprising at least one processor, memory, and a communication interface:

receiving, by the at least one processor, via a key upgrade service provided by the computing platform, from an administrator console device, a request to generate one or more new keys;

in response to receiving the request to generate the one or more new keys, generating, by the at least one processor, a new tenant master key and a new server recovery key;

sending, by the at least one processor, via the communication interface, to a cloud-based key vault server, the new tenant master key and the new server recovery key, wherein the cloud-based key vault server is configured to store the new tenant master key and is further configured to encrypt the new server recovery key with the new tenant master key to produce an encrypted server recovery key, wherein the encrypted server recovery key enables a plurality of policy-managed devices associated with a tenant to authenticate with the key update service;

receiving, by the at least one processor, via the communication interface, from the cloud-based key vault server, the encrypted server recovery key;

sending, by the at least one processor, via the communication interface, to a tenant database server associated with one or more enrollment servers, the encrypted server recovery key, wherein the tenant database server is separate from the cloud-based key vault server and wherein the tenant database server stores the encrypted server recover key; and

provisioning, by the at least one processor, the one or more enrollment servers with the encrypted server recovery key by sending the encrypted server recovery key to the one or more enrollment servers via the communication interface,

wherein the one or more enrollment servers are configured to manage enrollment of the plurality of policy-managed devices in a policy enforcement scheme and to authenticate with the key update service based on the encrypted server recovery key.

2. The method of claim 1 , comprising:

detecting, by the at least one processor, a new enrollment server is online; and

sending, by the at least one processor, via the communication interface, the encrypted server recovery key to the new enrollment server.

3. The method of claim 2 , comprising:

provisioning, by the at least one processor, the new enrollment server enabling the plurality of policy-managed devices to enroll with the new enrollment server.

4. The method of claim 1 , comprising:

sending, by the at least one processor, via the communication interface, commands to the plurality of policy-managed devices to generate a device key for each of the plurality of policy-managed devices.

5. The method of claim 4 , wherein sending the commands to the plurality of policy-managed devices to generate the device key causes the plurality of policy-managed devices to:

receive a passphrase from a user of the plurality of policy-managed devices;

generate an encrypted device key based on the passphrase; and

store the encrypted device key in local storage of the plurality of policy-managed devices.

6. The method of claim 1 , comprising:

sending, by the at least one processor, via the communication interface, commands to the plurality of policy-managed devices to generate file keys for one or more files residing on the plurality of policy-managed devices.

7. The method of claim 1 , comprising:

sending, by the at least one processor, via the communication interface, commands directing a device management server to send new variables to the plurality of policy-managed devices.

8. The method of claim 7 , wherein sending the commands directing the device management server to send the new variables to the plurality of policy-managed devices causes the policy-managed devices to:

receive the new variables from the device management server; and

generate a device key based on the new variables from the device management server.

9. The method of claim 8 , wherein sending the commands directing the device management server to send the new variables to the plurality of policy-managed devices causes the plurality of policy-managed devices to:

read offline variables from local storage of the plurality of policy-managed devices;

generate an offline device key based on the offline variables from the local storage;

read offline encrypted file keys from the local storage, wherein the offline encrypted file keys correspond to files residing on the plurality of policy-managed devices;

decrypt the offline encrypted file keys with the offline device key to generate decrypted file keys; and

encrypt the decrypted file keys with the device key generated based on the new variables to generate encrypted file keys.

10. The method of claim 9 , wherein sending the commands directing the device management server to send the new variables to the plurality of policy-managed devices causes the plurality of policy-managed devices to:

store the encrypted file keys in the local storage of the plurality of policy-managed devices; and

store the new variables in the local storage.

11. A computing platform, comprising:

at least one processor;

a communication interface communicatively coupled to the at least one processor; and

memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

receive, via a key upgrade service provided by the computing platform, from an administrator console device, a request to generate one or more new keys;

in response to receiving the request to generate the one or more new keys, generate a new tenant master key and a new server recovery key;

send, via the communication interface, to a cloud-based key vault server, the new tenant master key and the new server recovery key, wherein the cloud-based key vault server is configured to store the new tenant master key and is further configured to encrypt the new server recovery key with the new tenant master key to produce an encrypted server recovery key, wherein the encrypted server recovery key enables a plurality of policy-managed devices associated with a tenant to authenticate with the key update service;

receive, via the communication interface, from the cloud-based key vault server, the encrypted server recovery key;

send, via the communication interface, to a tenant database server associated with one or more enrollment servers, the encrypted server recovery key, wherein the tenant database server is separate from the cloud-based key vault server and wherein the tenant database server stores the encrypted server recover key; and

provision the one or more enrollment servers with the encrypted server recovery key by sending the encrypted server recovery key to the one or more enrollment servers via the communication interface,

wherein the one or more enrollment servers are configured to manage enrollment of the plurality of policy-managed devices in a policy enforcement scheme and to authenticate with the key update service based on the encrypted server recovery key.

12. The computing platform of claim 11 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

detect a new enrollment server is online; and

send, via the communication interface, the encrypted server recovery key to the new enrollment server.

13. The computing platform of claim 12 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

provision the new enrollment server enabling the plurality of policy-managed devices to enroll with the new enrollment server.

14. The computing platform of claim 11 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

send, via the communication interface, commands to the plurality of policy-managed devices to generate a device key for each of the plurality of policy-managed devices.

15. The computing platform of claim 11 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

send, via the communication interface, commands to the plurality of policy-managed devices to generate file keys for one or more files residing on the plurality of policy-managed devices.

16. The computing platform of claim 11 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

send, via the communication interface, commands directing a device management server to send new variables to the plurality of policy-managed devices.

17. The computing platform of claim 16 , wherein sending the commands directing the device management server to send the new variables to the plurality of policy-managed devices causes the plurality of policy-managed devices to:

receive the new variables from the device management server; and

generate a device key based on the new variables from the device management server.

18. The computing platform of claim 17 , wherein sending the commands directing the device management server to send the new variables to the policy-managed devices causes the plurality of policy-managed devices to:

read offline variables from local storage of the plurality of policy-managed devices;

generate an offline device key based on the offline variables from the local storage;

read offline encrypted file keys from the local storage, wherein the offline encrypted file keys correspond to files residing on the plurality of policy-managed devices;

decrypt the offline encrypted file keys with the offline device key to generate decrypted file keys; and

encrypt the decrypted file keys with the device key generated based on the new variables to generate encrypted file keys.

19. The computing platform of claim 18 , wherein sending the commands directing the device management server to send the new variables to the plurality of policy-managed devices causes the plurality of policy-managed devices to:

store the encrypted file keys in the local storage of the plurality of policy-managed devices; and

store the new variables in the local storage.

20. One or more non-transitory computer-readable media storing instructions that, when executed by a computing platform comprising at least one processor, memory, and a communication interface, cause the computing platform to:

receive, via a key upgrade service provided by the computing platform, from an administrator console device, a request to generate one or more new keys;

in response to receiving the request to generate the one or more new keys, generate a new tenant master key and a new server recovery key;

send, via the communication interface, to a cloud-based key vault server, the new tenant master key and the new server recovery key, wherein the cloud-based key vault server is configured to store the new tenant master key and is further configured to encrypt the new server recovery key with the new tenant master key to produce an encrypted server recovery key, wherein the encrypted server recovery key enables a plurality of policy-managed devices associated with a tenant to authenticate with the key update service;

receive, via the communication interface, from the cloud-based key vault server, the encrypted server recovery key;

send, via the communication interface, to a tenant database server associated with one or more enrollment servers, the encrypted server recovery key, wherein the tenant database server is separate from the cloud-based key vault server and wherein the tenant database server stores the encrypted server recover key; and

provision the one or more enrollment servers with the encrypted server recovery key by sending the encrypted server recovery key to the one or more enrollment servers via the communication interface,

wherein the one or more enrollment servers are configured to manage enrollment of one or more policy-managed devices in a policy enforcement scheme and to authenticate with the key update service based on the encrypted server recovery key.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2017
From: GAYLOR, TIMOTHY RAY; TUCKER, BENJAMIN ELLIOT
To: CITRIX SYSTEMS, INC.
Reel/Frame 044153/0774 →
Continuity (1)
Related Publication 20190132299A1 · May 2, 2019
Cited By (3)
US 12,634,213 US 12,634,350 US 12,699,639