IP Library › Granted Patent US 9,166,787
Granted Patent B2
US 9,166,787 · App. 14/178,598 · Granted Oct 20, 2015

Securing encrypted virtual hard disks

Inventors: Joseph Harry Nord (Lighthouse Point, FL); Timothy Gaylor (Plantation, FL); Benjamin Elliot Tucker (Parkland, FL)
Assignee: Citrix Systems, Inc.
H04L9/14G06F21/602G06F21/78G06F21/80H04L9/0886G06F3/0623G06F3/0664G06F2221/2107H04L9/0822H04L63/0428
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,166,787
App. No.
14/178,598
Granted
Oct 20, 2015
Kind
B2
Abstract

Securing encrypted virtual hard disks may include a variety of processes. In one example, a virtual hard disk is created for a user and encrypted with a volume key, and the volume key placed in an administrator header. The administrator header may be encrypted with a protection key, the protection key created from a user identifier corresponding to the user, a volume identifier corresponding to the virtual hard disk, and two cryptographic secrets. The protection key may then destroyed after encrypting the administrator header and therefore, might never leave the encryption engine. The two cryptographic secrets may be stored in separate storage locations, one accessible to the user and the other accessible to administrators. Accordingly, the protection key might never transmitted or can be intercepted, and no single entity may be compromised to gain access to all of the information needed to recreate the protection key.

Claims (27)

1. A method comprising:

generating, by a computing device, a first encryption key using a first encryption secret and a second encryption secret;

encrypting, by the computing device, a first portion of a data storage using the first encryption key, wherein the encrypted first portion of the data storage stores a second encryption key used to encrypt at least a second portion of the data storage, different from the first portion of the data storage, wherein the first encryption key is distinct from the second encryption key;

encrypting a third portion of the data storage, different from the first portion encrypted using the first encryption key, using a third encryption key different from the first encryption key, wherein the third portion stores the second encryption key;

deleting the first encryption key after encrypting the first portion of the data storage; and

storing the first encryption secret to a first storage location and the second encryption secret to a second storage location, wherein the first storage location and the second storage location are different.

2. The method of claim 1 , wherein the first encryption key is deleted without allowing any transmission of the encryption key.

3. The method of claim 1 , wherein the first portion of the data storage is a header and the second portion of the data storage is a payload.

4. The method of claim 1 , wherein generating the first encryption key further comprises using a volume identifier of the data storage.

5. The method of claim 1 , further comprising:

determining that the third portion has been deleted;

in response to determining that the third portion has been deleted, determining whether a user associated with the data storage has been authenticated; and

in response to determining that the user associated with the data storage has been authenticated, re-generating the third portion.

6. The method of claim 1 , further comprising:

determining that at least one predefined condition has been satisfied; and

in response to determining that the at least one predefined condition has been satisfied, transmitting a command to delete the third portion without deleting the first portion encrypted using the first encryption key.

7. The method of claim 6 , wherein the at least one predefined condition includes expiration of a time period.

8. The method of claim 6 , wherein the at least one predefined condition includes a number of failed authentication attempts.

9. A non-transitory computer readable medium storing computer readable instructions that, when executed, cause an apparatus to:

generate a first encryption key using a first encryption secret and a second encryption secret;

encrypt a first portion of a data storage using the first encryption key, wherein the encrypted first portion of the data storage stores a second encryption key used to encrypt at least a second portion of the data storage, different from the first portion of the data storage, wherein the first encryption key is distinct from the second encryption key;

encrypt a third portion of the data storage, different from the first portion encrypted using the first encryption key, using a third encryption key different from the first encryption key, wherein the third portion stores the second encryption key;

delete the first encryption key after encrypting the first portion of the data storage; and

store the first encryption secret to a first storage location and the second encryption secret to a second storage location, wherein the first storage location and the second storage location are different.

10. The non-transitory computer readable medium of claim 9 , wherein the first encryption key is deleted prior to any transmission of the first encryption key.

11. The non-transitory computer readable medium of claim 9 , wherein generating the first encryption key further comprises using a volume identifier of the data storage.

12. The non-transitory computer readable medium of claim 9 , wherein the first portion of the data storage is a header and the second portion of the data storage is a payload.

Assignments (8)
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: 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 →
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 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
Continuity (3)
Continuation 13474936 · May 18, 2012
Provisional Application 61488615 · May 20, 2011
Related Publication 20140164792A1 · Jun 12, 2014