IP Library Granted Patent US 9,639,710
Granted Patent B2
US 9,639,710 · App. 14/139,204 · Granted May 2, 2017

Device-based PIN authentication process to protect encrypted data

Inventors: Shaun Cooley (Mountain View, CA); Brian Powell (El Segundo, CA); Srinivas Chillappa (Culver City, CA); Michael W. Lo (Rowland Heights, CA); Mahesh Kamsala (Sherman Oaks, CA)
Assignee: Symantec Corporation
G06F21/6218G06F21/31H04L63/0428H04L63/06H04L63/083
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,639,710
App. No.
14/139,204
Granted
May 2, 2017
Kind
B2
Abstract

Techniques are disclosed for providing a device-based PIN authentication process used to protect encrypted data stored on a computing system, such as a tablet or mobile device. A client component and a server component each store distinct cryptographic keys needed to access encrypted data on the client. The mobile device stores a vault encryption key used to decrypt encrypted sensitive data stored on the mobile device. The vault key is encrypted using a first encryption key and stored on the mobile device. The first encryption key is itself encrypted using a second encryption key. The second encryption key is derived from the PIN value.

Claims (72)

1. A computer-implemented method for securely storing encrypted data on a computing device that includes a microprocessor and memory, the method comprising:

receiving a data encryption key derived from a password, wherein the data encryption key is used to encrypt data on the computing device;

encrypting the data encryption key using a first encryption key;

storing the encrypted data encryption key on the computing device;

encrypting the first encryption key using a second encryption key,

wherein the second encryption key is derived from a user-supplied value entered on the computing device and a salt input to a password key based derivation function, and

wherein the salt is rotated following a request to access the encrypted data on the computing device, and

wherein the user-supplied value is different from the password; and

sending the encrypted first encryption key to a remote server.

2. The method of claim 1 , further comprising:

generating, from the user supplied value, a lookup key;

generating a device key; and

sending the lookup key and the device key to the remote server,

wherein remote server uses the device key and the lookup key as an index to the encrypted first encryption key stored on the server.

3. The method of claim 2 , further comprising:

in response to the request to access encrypted data stored on the computing device:

regenerating, using the user-supplied value, the lookup key and the second encryption key;

sending the regenerated lookup key and the device key to the remote server;

in response, receiving the encrypted first encryption key from the remote server;

decrypting, using regenerated second encryption key, the encrypted first encryption key received from the remote server to recover the first encryption key; and

decrypting, using recovered first encryption key, the encrypted data encryption key stored on the client device.

4. The method of claim 1 , wherein the user-supplied value is a PIN value.

5. The method of claim 1 , wherein the computing device is a mobile computing device.

6. A non-transitory computer-readable storage medium storing instructions, which, when executed on a microprocessor, performs an operation for securely storing encrypted data on a computing device that includes memory and the microprocessor, the operation comprising:

receiving a data encryption key derived from a password,

wherein the data encryption key is used to encrypt data on the computing device;

encrypting the data encryption key using a first encryption key;

storing the encrypted data encryption key on the computing device;

encrypting the first encryption key using a second encryption key,

wherein the second encryption key is derived from a user-supplied value entered on the computing device and a salt input to a password key based derivation function, and

wherein the salt is rotated following a request to access the encrypted data on the computing device, and

wherein the user-supplied value is different from the password; and

sending the encrypted first encryption key to a remote server.

7. The computer-readable storage medium of claim 6 , wherein the operation further comprises:

generating, from the user supplied value, a lookup key;

generating a device key; and

sending the lookup key and the device key to the remote server,

wherein remote server uses the device key and the lookup key as an index to the encrypted first encryption key stored on the server.

8. The computer-readable storage medium of claim 7 , wherein the operation further comprises:

in response to the request to access encrypted data stored on the computing device:

regenerating, using the user-supplied value, the lookup key and the second encryption key;

sending the regenerated lookup key and the device key to the remote server;

in response, receiving the encrypted first encryption key from the remote server;

decrypting, using regenerated second encryption key, the encrypted first encryption key received from the remote server to recover the first encryption key; and

decrypting, using recovered first encryption key, the encrypted data encryption key stored on the client device.

9. The computer-readable storage medium of claim 6 , wherein the user-supplied value is a PIN value.

10. The computer-readable storage medium of claim 6 , wherein the computing device is a mobile computing device.

11. A computing device, comprising:

a microprocessor and

a memory hosting an application, which, when executed on the microprocessor, performs an operation for securely storing encrypted data on the computing device, the operation comprising:

receiving a data encryption key derived from a password,

wherein the data encryption key is used to encrypt data on the computing device,

encrypting the data encryption key using a first encryption key,

storing the encrypted data encryption key on the computing device,

encrypting the first encryption key using a second encryption key,

wherein the second encryption key is derived from a user-supplied value entered on the computing device and a salt input to a password key based derivation function, and

wherein the salt is rotated following a request to access the encrypted data on the computing device, and

wherein the user-supplied value is different from the password, and

sending the encrypted first encryption key to a remote server.

12. The computing device of claim 11 , wherein the operation further comprises:

generating, from the user supplied value, a lookup key;

generating a device key; and

sending the lookup key and the device key to the remote server,

wherein remote server uses the device key and the lookup key as an index to the encrypted first encryption key stored on the server.

13. The computing device of claim 12 , wherein the operation further comprises:

in response to the request to access encrypted data stored on the computing device:

regenerating, using the user-supplied value, the lookup key and the second encryption key;

sending the regenerated lookup key and the device key to the remote server;

in response, receiving the encrypted first encryption key from the remote server;

decrypting, using regenerated second encryption key, the encrypted first encryption key received from the remote server to recover the first encryption key; and

decrypting, using recovered first encryption key, the encrypted data encryption key stored on the client device.

14. The computing device of claim 11 , wherein the user-supplied value is a PIN value.

Assignments (6)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
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 10, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 052135/0745 →
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 Dec 23, 2013
From: COOLEY, SHAUN; POWELL, BRIAN; CHILLAPPA, SRINIVAS; LO, MICHAEL W.; KAMSALA, MAHESH
To: SYMANTEC CORPORATION
Reel/Frame 031842/0960 →
Continuity (1)
Related Publication 20150178515A1 · Jun 25, 2015