IP Library Granted Patent US 8,589,680
Granted Patent B2
US 8,589,680 · App. 12/756,123 · Granted Nov 19, 2013

System and method for synchronizing encrypted data on a device having file-level content protection

Inventors: Dallas Blake De Atley (San Francisco, CA); Gordon Freedman (Palo Alto, CA); Thomas Brogan Duffy, Jr. (San Francisco, CA); Paul Andrew Seligman (Palo Alto, CA)
Assignee: Apple Inc.
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 8,589,680
App. No.
12/756,123
Granted
Nov 19, 2013
Kind
B2
Abstract

Disclosed herein are systems, methods, and non-transitory computer-readable storage media for initiating data synchronization between devices. The method includes sending a host identifier and pairing record to a second device having a file system encrypted on a per file and on a per class basis for a set of classes, receiving from the second device a sync ticket containing encryption keys for the set of classes, and storing the sync ticket. Also disclosed is a method for synchronizing encrypted data between devices. This method includes receiving, at a first device having a file system encrypted on a per file and on a per class basis, a sync ticket containing encryption keys from a second device, retrieving an escrow key bag containing protection class keys, decrypting protection class keys based on the sync ticket, and synchronizing data with the second device based on the decrypted protection class keys.

Claims (54)

1. A computer-implemented method of initiating data synchronization between devices, the method causing a computing device to perform steps comprising:

sending a first device identifier from a first device to a second device, the second device having a file system that uses file-level data protection, wherein the file system is configured to encrypt files using file encryption keys, wherein each file is associated with one of a set of protection classes, each protection class is associated with a protection class key, and the file encryption keys are encrypted using the corresponding protection class keys;

receiving from the second device a sync ticket containing encryption keys used to encrypt the protection class keys;

decrypting, by the first device, the sync ticket using a device code specific to and stored on the first device;

receiving, by the first device, protection class keys from a server;

decrypting, by the first device, the protection class keys using a key retrieved from the decrypted sync ticket;

decrypting, by the first device, the files using the decrypted protection class keys; and

synchronizing, by the first device, data contained in the decrypted files with the second device.

2. The computer-implemented method of claim 1 , further comprising establishing a relationship between the first device and the second device.

3. The computer-implemented method of claim 1 , further comprising entering, by the first device, a lockdown state before synchronizing data.

4. The computer-implemented method of claim 1 , wherein the first device identifier is associated with an asymmetric key pair having a public key and the private key.

5. The computer-implemented method of claim 2 , wherein the relationship has a limited duration.

6. The method of claim 1 , further comprising:

decrypting, by the first device, the file encryption keys using the decrypted protection class keys; and

decrypting, by the first device, the files using the decrypted file encryption keys,

wherein synchronizing data with the second device is in response to decrypting the files.

7. The method of claim 1 ,

wherein receiving protection class keys from a server comprises retrieving, by the first device, an escrow key bag containing the protection class keys;

decrypting the protection class keys based on the sync ticket comprises decrypting the protection class keys using the private key;

decrypting, by the first device, the file encryption keys using the decrypted protection class keys;

decrypting, by the first device, the files using the decrypted file encryption keys; and

synchronizing, by the first device, data with the second device in response to decrypting the files.

8. A system comprising:

a processor:

a memory storing computer executable instructions to initiate data synchronization between devices that when executed by the processor cause the processor to:

send a first device identifier from a first device to a second device, the second device having a file system that uses file-level data protection, wherein the file system is configured to encrypt files using file encryption keys, wherein each file is associated with one of a set of protection classes, each protection class is associated with a protection class key, and the file encryption keys are encrypted using the corresponding protection class keys;

receive from the second device a sync ticket containing encryption keys for the plurality of classes;

store the sync ticket on the first device;

decrypt the sync ticket using a device code specific to and stored on the first device;

retrieve a private key from the decrypted sync ticket;

retrieve an escrow key bag containing protection class keys;

decrypt the protection class keys using the private key;

decrypt the file encryption keys using the decrypted protection class keys;

decrypt the files using the decrypted file encryption keys; and

synchronize data with the second device in response to decrypting the files.

9. The system of claim 8 , wherein the instructions, when executed by the processor, further cause the processor to establish a relationship between the first device and the second device.

10. The system of claim 9 , wherein the relationship has a limited duration.

11. The system of claim 8 , wherein the instructions, when executed by the processor, further cause the processor to enter a lockdown state before synchronizing data.

12. The system of claim 8 , wherein the first device identifier is associated with an asymmetric key pair having a public key and the private key.

13. A non-transitory machine-readable medium for a computer system, the non-transitory machine-readable medium having stored thereon a series of instructions executable by a processor to initiate data synchronization between devices, the series of instructions comprising:

instructions that cause the processor to send a first device identifier from a first device to a second device, the second device having a file system that uses file-level data protection, wherein the file system is configured to encrypt files using file encryption keys, wherein each file is associated with one of a set of protection classes, each protection class is associated with a protection class key, and the file encryption keys are encrypted using the corresponding protection class keys;

instructions that cause the processor to receive from the second device a sync ticket containing encryption keys for the plurality of classes;

instructions that cause the processor to store the sync ticket on the first device;

instructions that cause the processor to decrypt the sync ticket using a device code specific to and stored on the first device;

instructions that cause the processor to retrieve a private key from the decrypted sync ticket;

instructions that cause the processor to retrieve an escrow key bag containing protection class keys;

instructions that cause the processor to decrypt the protection class keys using the private key;

instructions that cause the processor to decrypt the file encryption keys using the decrypted protection class keys;

instructions that cause the processor to decrypt the files using the decrypted file encryption keys; and

instructions that cause the processor to synchronize data with the second device in response to decrypting the files.

14. The machine-readable medium of claim 13 , the series of instructions further comprising instructions that cause the processor to establish a relationship between the first device and the second device.

15. The machine-readable medium of claim 14 , wherein the relationship has a limited duration.

16. The machine-readable medium of claim 13 , the series of instructions further comprising instructions that cause the processor to enter a lockdown state before synchronizing data.

17. The machine-readable medium of claim 13 , wherein the first device identifier is associated with an asymmetric key pair having a public key and the private key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2010
From: DE ATLEY, DALLAS BLAKE; FREEDMAN, GORDON; DUFFY, THOMAS BROGAN, JR.; SELIGMAN, PAUL ANDREW
To: APPLE INC.
Reel/Frame 024201/0749 →
Continuity (1)
Related Publication 20110252236A1 · Oct 13, 2011