IP Library Granted Patent US 10,534,933
Granted Patent B1
US 10,534,933 · App. 15/856,040 · Granted Jan 14, 2020

Encrypting and decrypting sensitive files on a network device

Inventors: Kevin Alejandro Roundy (El Segundo, CA); Yuqiong Sun (Mountain View, CA); Christopher Gates (Marina Del rey, CA); Michael Hart (Farmington, CT); Saurabh Shintre (Sunnyvale, CA); Brian T. Witten (Hermosa Beach, CA)
Assignee: Symantec Corporation
G06F21/6245G06F21/31G06F21/53G06F21/6227H04L63/06H04L63/0884H04L2463/082
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,534,933
App. No.
15/856,040
Granted
Jan 14, 2020
Kind
B1
Abstract

Encrypting and decrypting sensitive files on a network device. In one embodiment, a method may include determining that a file stored on a network device is a sensitive file, encrypting the sensitive file, sending, to an authentication server, an encryption key, initializing, at the network device, a Software Guard Extension (SGX) enclave, loading, into the SGX enclave, a retrieval application, receiving, at the retrieval application, an attestation from the authentication server that the retrieval application is authentic, receiving, at the retrieval application, the encryption key from the authentication server, receiving, at the retrieval application, a user request to decrypt the encrypted sensitive file, authenticating, at the retrieval application, the user request, decrypting, at the network device, the particular encrypted sensitive file, and providing the sensitive file to the user.

Claims (69)

1. A computer-implemented method for encrypting and decrypting sensitive files on a network device, at least a portion of the method being performed by a computing device comprising one or more processors, the method comprising:

(a) determining, at a network device, that a file stored on the network device is a sensitive file;

(b) encrypting, at the network device, the sensitive file;

(c) sending, to an authentication server, an encryption key;

(d) initializing, at the network device, a Software Guard Extension (SGX) enclave;

(e) loading, into the SGX enclave, a retrieval application;

(f) receiving, at the retrieval application, an attestation from the authentication server that the retrieval application is authentic;

(g) receiving, at the retrieval application, the encryption key from the authentication server;

(h) receiving, at the retrieval application, a user request to decrypt the encrypted sensitive file;

(i) authenticating, at the retrieval application, the user request based on a user credential provided by the user;

(j) authenticating, at the retrieval application, the user request based on a second factor authentication key provided by the user;

(k) decrypting, at the network device, the encrypted sensitive file; and

(l) providing the sensitive file to the user.

2. The method of claim 1 , wherein the determining, at the network device, that the file stored on the network device is a sensitive file comprises identifying the file in a list of previously-identified sensitive files.

3. The method of claim 2 , wherein the list of previously-identified sensitive files excludes files that are accessed within a particular frequency.

4. The method of claim 1 , wherein the initializing, at the network device, of the SGX enclave comprises initializing, at the network device, of the SGX enclave using an Intel® processor of the network device that supports Intel® SGX instructions.

5. The method of claim 1 , wherein the initializing, at the network device, of the SGX enclave comprises initializing, at the network device, of the SGX enclave using an OpenSGX simulator, or a Komodo monitor, that supports Intel® SGX instructions.

6. The method of claim 1 , wherein (h)-(l) are performed while the network device is online and maintains network communication with the authentication server.

7. The method of claim 1 , wherein one or more of (h)-(l) are performed while the network device is offline and does not maintain network communication with the authentication server.

8. A computer-implemented method for encrypting and decrypting sensitive files on a network device, at least a portion of the method being performed by a computing device comprising one or more processors, the method comprising:

(a) determining, at a network device, that a file stored on the network device is a sensitive file;

(b) building, at the network device, a search index of the sensitive file;

(c) encrypting, at the network device, the search index using an encryption key;

(d) encrypting, at the network device, the sensitive file;

(e) sending, to an authentication server, the encryption key;

(f) initializing, at the network device, a Software Guard Extension (SGX) enclave;

(g) loading, into the SGX enclave, a retrieval application;

(h) receiving, at the retrieval application, an attestation from the authentication server that the retrieval application is authentic;

(i) receiving, at the retrieval application, the encryption key from the authentication server;

(j) receiving, at the retrieval application, a user request to search the encrypted sensitive file;

(k) authenticating, at the retrieval application, the user request based on a user credential provided by the user;

(l) authenticating, at the retrieval application, the user request based on a second factor authentication key provided by the user;

(m) decrypting, at the retrieval application, the search index using the encryption key;

(n) searching, at the retrieval application, the search index based on the user request to produce search results;

(o) receiving, at the retrieval application, a user request to decrypt the encrypted sensitive file based on a selection of one of the search results;

(p) decrypting, at the network device, the encrypted sensitive file; and

(q) providing the sensitive file to the user.

9. The method of claim 8 , wherein the determining, at the network device, that the file stored on the network device is a sensitive file comprises identifying the file in a list of previously-identified sensitive files.

10. The method of claim 9 , wherein the list of previously-identified sensitive files excludes files that are accessed within a particular frequency.

11. The method of claim 8 , wherein the initializing, at the network device, of the SGX enclave comprises initializing, at the network device, of the SGX enclave using an Intel® processor of the network device that supports Intel® SGX instructions.

12. The method of claim 8 , wherein the initializing, on the network device, of the SGX enclave comprises initializing, on the network device, of the SGX enclave using an OpenSGX simulator, or a Komodo monitor, that supports Intel® SGX instructions.

13. The method of claim 8 , wherein (j)-(q) are performed while the network device is online and maintains network communication with the authentication server.

14. The method of claim 8 , wherein one or more of (j)-(q) are performed while the network device is offline and does not maintain network communication with the authentication server.

15. One or more non-transitory computer-readable media comprising one or more computer-readable instructions that, when executed by one or more processors of one or more computing devices, cause the one or more computing devices to perform a method for encrypting and decrypting sensitive files on a network device, the method comprising:

(a) determining, at a network device, that a file stored on the network device is a sensitive file;

(b) encrypting, at the network device, the sensitive file;

(c) sending, to an authentication server, an encryption key;

(d) initializing, at the network device, a Software Guard Extension (SGX) enclave;

(e) loading, into the SGX enclave, a retrieval application;

(f) receiving, at the retrieval application, an attestation from the authentication server that the retrieval application is authentic;

(g) receiving, at the retrieval application, the encryption key from the authentication server;

(h) receiving, at the retrieval application, a user request to decrypt the encrypted sensitive file;

(i) authenticating, at the retrieval application, the user request based on a user credential provided by the user;

(j) authenticating, at the retrieval application, the user request based on a second factor authentication key provided by the user;

(k) decrypting, at the network device, the encrypted sensitive file; and

(l) providing the sensitive file to the user.

16. The one or more non-transitory computer-readable media of claim 15 , wherein:

the determining, at the network device, that the file stored on the network device is a sensitive file comprises identifying the file in a list of previously-identified sensitive files; and

the list of previously-identified sensitive files excludes files that are accessed within a particular frequency.

17. The one or more non-transitory computer-readable media of claim 15 , wherein the initializing, at the network device, of the SGX enclave comprises initializing, at the network device, of the SGX enclave using an Intel® processor of the network device that supports Intel® SGX instructions.

18. The one or more non-transitory computer-readable media of claim 15 , wherein the initializing, at the network device, of the SGX enclave comprises initializing, at the network device, of the SGX enclave using an OpenSGX simulator, or a Komodo monitor, that supports Intel® SGX instructions.

19. The one or more non-transitory computer-readable media of claim 15 , wherein:

the method further comprises (a.1) building, at the network device, a search index of the sensitive file;

the method further comprises (a.2) encrypting, at the network device, the search index using the encryption key;

the method further comprises (g.1) receiving, at the retrieval application, a user request to search the encrypted sensitive file;

the method further comprises (j.1) decrypting, at the retrieval application, the search index;

the method further comprises (j.2) searching, at the retrieval application, the search index based on the user request to produce search results; and

the receiving at (h) comprises receiving, at the retrieval application, the user request to decrypt the encrypted sensitive file based on a selection of one of the search results.

20. The one or more non-transitory computer-readable media of claim 15 , wherein one or more of (h)-(l) are performed while the network device is offline and does not maintain network communication with the authentication server.

Assignments (6)
CHANGE OF NAME Recorded May 18, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 063697/0493 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Mar 5, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 052109/0186 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2018
From: ROUNDY, KEVIN ALEJANDRO; SUN, YUQIONG; GATES, CHRISTOPHER; HART, MICHAEL; SHINTRE, SAURABH; WITTEN, BRIAN T.
To: SYMANTEC CORPORATION
Reel/Frame 044878/0766 →