IP Library Granted Patent US 8,200,964
Granted Patent B2
US 8,200,964 · App. 11/525,799 · Granted Jun 12, 2012

Method and apparatus for accessing an encrypted file system using non-local keys

Assignee: Oracle America, 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,200,964
App. No.
11/525,799
Granted
Jun 12, 2012
Kind
B2
Abstract

One embodiment of the present invention provides a system for accessing an encrypted file through a file system. During operation, the system receives a request to access the encrypted file. In response to the request, the system sends an encrypted file key for the encrypted file from the file system to a tamper-resistant module. Next, the tamper-resistant module uses a master secret to decrypt the encrypted file key to restore the file key, wherein the master secret is obtained from an external source by the tamper-resistant module. The system then uses the file key to access the encrypted file.

Claims (94)

1. A method for accessing an encrypted file through a file system, comprising:

mounting the file system, wherein mounting the file system comprises inputting a master secret in a tamper-resistant module;

receiving a request at the file system to access the encrypted file, wherein the encrypted file and an encrypted file key for the encrypted file are stored in the file system;

in response to the request,

sending the encrypted file key for the encrypted file from the file system to the tamper-resistant module outside of, and physically separate from, the file system, wherein the tamper-resistant module does not store the encrypted file or the encrypted file key for the encrypted file;

using the master secret to decrypt the encrypted file key at the tamper-resistant module to restore the file key;

wherein the master secret is obtained from an external source by the tamper-resistant module, and wherein the master secret is not stored in a memory within a computer system in which the file system operates, and hence the file system never has access to the master secret; and

using the file key to access the encrypted file.

2. The method of claim 1 , wherein using the file key to access the encrypted file involves:

returning the file key to the file system from the tamper-resistant module;

using the file key to decrypt the encrypted file at the file system; and

accessing the decrypted file at the file system.

3. The method of claim 1 , wherein using the file key to access the encrypted file involves:

sending the encrypted file from the file system to the tamper-resistant module;

using the file key to decrypt the encrypted file at the tamper-resistant module;

returning the decrypted file to the file system; and

accessing the decrypted file at the file system.

4. The method of claim 1 , wherein prior to receiving the request to access the encrypted file, the method further comprises producing the encrypted file by:

encrypting a file with the file key to produce the encrypted file;

sending the file key to the tamper-resistant module;

using the master secret to encrypt the file key to produce an encrypted file key;

returning the encrypted file key to the file system; and

storing the encrypted file key along with the encrypted file in the file system.

5. The method of claim 1 , wherein the master secret is a system administrator password which is known only to the system administrator.

6. The method of claim 1 , wherein the file system communicates with the tamper-resistant module through an encrypted communication session.

7. The method of claim 1 , wherein the file system stores the encrypted file and the encrypted file key in non-volatile storage.

8. The method of claim 1 , wherein prior to receiving the request to access the encrypted file, the method further comprises producing the encrypted file by:

encrypting a file with the file key to produce the encrypted file;

sending the file key to the tamper-resistant module, which maintains a set of class keys, wherein the class keys are associated with different classes of files;

using a class key from the set of class keys to encrypt the file key to produce the encrypted file key;

returning the encrypted file key to the file system; and

storing the encrypted file key along with the encrypted file in the file system.

9. The method of claim 8 , wherein using the master secret to decrypt the encrypted file key involves using the class key to decrypt the encrypted file key, the class key having been previously obtained by using the master secret to decrypt an encrypted class key received from non-volatile storage.

10. The method of claim 8 ,

wherein an ephemerizer maintains a set of ephemerizer-class keys which correspond to the set of class keys; and

wherein the method further comprises storing the set of class keys in non-volatile storage by,

encrypting each class key in the set of class keys with a corresponding ephemerizer-class key to produce a set of encrypted class keys,

encrypting the set of encrypted class keys with the master secret, and

storing the set of encrypted class keys, which are also encrypted with the master secret, in the non-volatile storage.

11. The method of claim 10 ,

wherein each ephemerizer-class key is associated with an expiration time; and

wherein the ephemerizer makes each ephemerizer-class key permanently unreadable at the associated expiration time.

12. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for accessing an encrypted file through a file system, the method comprising:

mounting the file system, wherein mounting the file system comprises inputting a master secret in a tamper-resistant module;

receiving a request at the file system to access the encrypted file, wherein the encrypted file and an encrypted file key for the encrypted file are stored in the file system;

in response to the request,

sending the encrypted file key for the encrypted file from the file system to the tamper-resistant module outside of, and physically separate from, the file system, wherein the tamper-resistant module does not store the encrypted file or the encrypted file key for the encrypted file;

using the master secret to decrypt the encrypted file key at the tamper-resistant module to restore the file key;

wherein the master secret is obtained from an external source by the tamper-resistant module, and wherein the master secret is not stored in a memory within a computer system in which the file system operates, and hence the file system never has access to the master secret; and

using the file key to access the encrypted file.

13. The computer-readable storage medium of claim 12 , wherein using the file key to access the encrypted file involves:

returning the file key to the file system from the tamper-resistant module;

using the file key to decrypt the encrypted file at the file system; and

accessing the decrypted file at the file system.

14. The computer-readable storage medium of claim 12 , wherein using the file key to access the encrypted file involves:

sending the encrypted file from the file system to the tamper-resistant module;

using the file key to decrypt the encrypted file at the tamper-resistant module;

returning the decrypted file to the file system, and

accessing the decrypted file at the file system.

15. The computer-readable storage medium of claim 12 , wherein prior to receiving the request to access the encrypted file, the method further comprises producing the encrypted file by:

encrypting a file with the file key to produce the encrypted file;

sending the file key to the tamper-resistant module;

using the master secret to encrypt the file key to produce an encrypted file key;

returning the encrypted file key to the file system; and

storing the encrypted file key along with the encrypted file in the file system.

16. The computer-readable storage medium of claim 12 , wherein the master secret is a system administrator password which is known only to the system administrator.

17. The computer-readable storage medium of claim 12 , wherein the tamper-resistant module provides guaranteed physical protection.

18. The computer-readable storage medium of claim 12 , wherein the file system communicates with the tamper-resistant module through an encrypted communication session.

19. The computer-readable storage medium of claim 12 , wherein the file system stores the encrypted file and the encrypted file key in non-volatile storage.

20. The computer-readable storage medium of claim 12 , wherein prior to receiving the request to access the encrypted file, the method further comprises producing the encrypted file by:

encrypting a file with the file key to produce the encrypted file;

sending the file key to the tamper-resistant module, which maintains a set of class keys, wherein the class keys are associated with different classes of files;

using a class key from the set of class keys to encrypt the file key to produce the encrypted file key;

returning the encrypted file key to the file system; and

storing the encrypted file key along with the encrypted file in the file system.

21. The computer-readable storage medium of claim 20 , wherein using the master secret to decrypt the encrypted file key involves using the class key to decrypt the encrypted file key, the class key having been previously obtained by using the master secret to decrypt an encrypted class key received from non-volatile storage.

22. The computer-readable storage medium of claim 20 ,

wherein an ephemerizer maintains a set of ephemerizer-class keys which correspond to the set of class keys; and

wherein the method further comprises storing the set of class keys in non-volatile storage by,

encrypting each class key in the set of class keys with a corresponding ephemerizer-class key to produce a set of encrypted class-keys,

encrypting the set of encrypted class keys with the master secret, and

storing the set of encrypted class keys, which are also encrypted with the master secret, in the non-volatile storage.

23. The computer-readable storage medium of claim 22 ,

wherein each ephemerizer-class key is associated with an expiration time; and

wherein the ephemerizer makes each ephemerizer-class key permanently unreadable at the associated expiration time.

24. An apparatus that accesses an encrypted file through a file system, comprising:

a tamper-resistant module;

a mounting mechanism configured to mount the file system, wherein mounting the file system comprises inputting a master secret in the tamper-resistant module;

a receiving mechanism configured to receive a request at the file system to access the encrypted file, wherein the encrypted file and an encrypted file key for the encrypted file are stored in the file system;

a sending mechanism configured to send the encrypted file key for the encrypted file from the file system to the tamper-resistant module outside of, and physically separate from, the file system, wherein the tamper-resistant module does not store the encrypted file or the encrypted file key for the encrypted file;

a decryption mechanism configured to use the master secret to decrypt the encrypted file key at the tamper-resistant module to restore the file key;

wherein the master secret is obtained from an external source by the tamper-resistant module, and wherein the master secret is not stored in a memory within a computer system in which the file system operates, and hence the file system never has access to the master secret; and

an access mechanism configured to use the file key to access the encrypted file.

25. The method of claim 8 , wherein mounting the file system comprises inputting data from non-volatile storage containing the class keys.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2006
From: PERLMAN, RADIA J.; TRIPATHI, SUNAY
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018333/0569 →
Continuity (1)
Related Publication 20080123858A1 · May 29, 2008