IP Library › Granted Patent US 11,611,539
Granted Patent B2
US 11,611,539 · App. 16/716,211 · Granted Mar 21, 2023

Method, computer program product and apparatus for encrypting and decrypting data using multiple authority keys

Inventors: Hongjun Li (Newark, CA); Ning Xu (Foster City, CA)
Assignee: Auth9, Inc.
H04L63/0435H04L9/0836H04L9/3226H04L63/108
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 11,611,539
App. No.
16/716,211
Granted
Mar 21, 2023
Kind
B2
Abstract

A method, apparatus and computer program product are provided for encrypting and decrypting data using multiple authority keys including receiving, from a first computing device, a data decrypt request to decrypt encrypted data, the data decrypt request comprising a user key, determining that the user key is associated with a key hierarchy that comprises a server key, decrypting the server key using the user key, decrypting the encrypted data using the decrypted server key and permitting access to the decrypted data by the first computing device.

Claims (85)

1. An apparatus for providing decrypted data, the apparatus comprising:

at least one processor; and

at least one non-transitory memory storing instructions that, when executed by the processor, configure the apparatus to:

receive, from a first computing device, a data decrypt request to decrypt encrypted data, the data decrypt request comprising a user key;

determine that the user key is associated with a key hierarchy that comprises a server key;

decrypt the server key using the user key;

decrypt the encrypted data using the decrypted server key;

permit access to the decrypted data by the first computing device;

determine that the user key is associated with the key hierarchy that comprises the server key and at least a second key associated with a second user;

receive, from a second computing device associated with the second user, a second data decrypt request to decrypt the encrypted data;

receive from the second computing device, the second key; and

decrypt the server key using the second key.

2. The apparatus of claim 1 , wherein the at least one non-transitory memory stores instructions that, when executed by the processor, further configure the apparatus to:

determine that the user key is associated with the key hierarchy that comprises the server key and a plurality of other keys associated with the user; and

decrypt the server key using the user key or at least one of the plurality of other keys associated with the user.

3. The apparatus of claim 1 , wherein the at least one non-transitory memory stores instructions that, when executed by the processor, further configure the apparatus to:

receive, from the first computing device, a password associated with the first computing device;

derive the user key from the password;

determine that the password derived user key is associated with the key hierarchy that comprises the server key; and

decrypt the server key using the password derived user key.

4. The apparatus of claim 1 , wherein the at least one non-transitory memory stores instructions that, when executed by the processor, further configure the apparatus to:

responsive to receiving, from the first computing device, the data decrypt request to decrypt encrypted data, transmit an authentication question to the first computing device;

receive a reply to the authentication question;

compare the reply to a corresponding answer; and

responsive to the reply matching the corresponding answer, derive the user key from the answer;

determine that the answer derived user key is associated with the key hierarchy that comprises the server key; and

decrypt the server key using the answer derived user key.

5. The apparatus of claim 1 , wherein the at least one non-transitory memory stores instructions that, when executed by the processor, further configure the apparatus to:

permit access to the decrypted data based upon a time period falling within an allowed time period of an access rule.

6. The apparatus of claim 1 , wherein the at least one non-transitory memory stores instructions that, when executed by the processor, further configure the apparatus to:

permit access to the decrypted data based upon one or more access rules, wherein the one or more access rules indicate a maximum number of access requests permitted within a predetermined period of time.

7. A computer implemented method for providing decrypted data, the computer implemented method comprising:

receiving, from a first computing device, a data decrypt request to decrypt encrypted data, the data decrypt request comprising a user key;

determining that the user key is associated with a key hierarchy that comprises a server key;

decrypting the server key using the user key;

decrypting the encrypted data using the decrypted server key;

permitting access to the decrypted data by the first computing device;

determining that the user key is associated with the key hierarchy that comprises the server key and at least a second key associated with a second user;

receiving, from a second computing device associated with the second user, a second data decrypt request to decrypt the encrypted data;

receiving from the second computing device, the second key; and

decrypting the server key using the second key.

8. The computer implemented method of claim 7 , further comprising:

determining that the user key is associated with the key hierarchy that comprises the server key and a plurality of other keys associated with the user; and

decrypting the server key using the user key or at least one of the plurality of other keys associated with the user.

9. The computer implemented method of claim 7 , further comprising;

deriving the user key from a password;

determining that the password derived user key is associated with the key hierarchy that comprises the server key; and

decrypting the server key using the password derived user key.

10. The computer implemented method of claim 7 , further comprising;

receiving a reply to an authentication question;

comparing the reply to a corresponding answer; and

responsive to the reply matching the corresponding answer, deriving the user key from the answer;

determining that the answer derived user key is associated with the key hierarchy that comprises the server key; and

decrypting the server key using the answer derived user key.

11. The computer implemented method of claim 7 , further comprising:

permitting access to the decrypted data based upon a time period falling within an allowed time period of an access rule.

12. The computer implemented method of claim 7 , further comprising:

permitting access to the decrypted data based upon one or more access rules, wherein the one or more access rules indicate a maximum number of access requests permitted within a predetermined period of time.

13. A computer program product for providing decrypted data, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions, in execution with a processor, configured to:

receive, from a first computing device, a data decrypt request to decrypt encrypted data, the data decrypt request comprising a user key;

determine that the user key is associated with a key hierarchy that comprises an server key;

decrypt the server key using the user key;

decrypt the encrypted data using the decrypted server key;

permit access to the decrypted data by the first computing device;

determine that the user key is associated with the key hierarchy that comprises the server key and at least a second key associated with a second user;

receive, from a second computing device associated with the second user, a second data decrypt request to decrypt the encrypted data;

receive from the second computing device, the second key; and

decrypt the server key using the second user key.

14. The computer program product of claim 13 , wherein the computer-executable program code instructions, in execution with a processor, are further configured to:

determine that the user key is associated with the key hierarchy that comprises the server key and a plurality of other keys associated with the user; and

decrypt the server key using the user key or at least one of the plurality of other keys associated with the user.

15. The computer program product of claim 13 , wherein the computer-executable program code instructions, in execution with a processor, are further configured to:

receive, from the first computing device, a password associated with the first computing device;

derive the user key from the password;

determine that the password derived user key is associated with the key hierarchy that comprises the server key; and

decrypt the server key using the password derived user key.

16. The computer program product of claim 13 , wherein the computer-executable program code instructions, in execution with a processor, are further configured to:

responsive to receiving, from the first computing device, the data decrypt request to decrypt encrypted data, transmit an authentication question to the first computing device;

receive a reply to the authentication question;

compare the reply to a corresponding answer; and

responsive to the reply matching the corresponding answer, derive the user key from the answer;

determine that the answer derived user key is associated with the key hierarchy that comprises the server key; and

decrypt the server key using the answer derived user key.

17. The computer program product of claim 13 , wherein the computer-executable program code instructions, in execution with a processor, are further configured to:

permit access to the decrypted data based upon a time period falling within an allowed time period of an access rule.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2021
From: LI, HONGJUN; XU, NING
To: AUTH9, INC.
Reel/Frame 055623/0962 →
Continuity (4)
Provisional Application 62814119 · Mar 5, 2019
Provisional Application 62810463 · Feb 26, 2019
Provisional Application 62780300 · Dec 16, 2018
Related Publication 20200195621A1 · Jun 18, 2020
Cited By (1)
US 12,212,693