IP Library Granted Patent US 11,658,814
Granted Patent B2
US 11,658,814 · App. 16/876,630 · Granted May 23, 2023

System and method for encryption and decryption based on quantum key distribution

Inventors: Peng Yuan (Beijing, CN); Zhiqiang Wang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
H04L9/0852H04L9/0822H04L9/0891H04L9/0894H04L9/40H04L63/062H04L67/1097
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,658,814
App. No.
16/876,630
Granted
May 23, 2023
Kind
B2
Abstract

One embodiment of the present invention provides a system for facilitating storage encryption and decryption. During operation, the system receives a first request to encrypt data which is to be stored on a remote device, wherein the first request indicates the data. The system updates a key based on a dynamic key refreshment protocol. The system determines a key label for the updated key. The system encrypts the data based on the updated key, and transmits the encrypted data and the key label to the remote device, thereby facilitating secure encryption and decryption of data on the remote device.

Claims (88)

1. A computer system for facilitating encryption, the system comprising:

a processor; and

a memory coupled to the processor and storing instructions, which when executed by the processor cause the processor to perform a method, the method comprising:

receiving a first request to encrypt data, wherein the first request indicates the data to be encrypted;

encrypting the data based on a first key;

determining a first key label for the first key;

transmitting the encrypted data and the first key label to a remote device; and

responsive to receiving a second request which indicates the encrypted data and the first key label for the first key used to encrypt the data:

obtaining a second key from a first key pool;

encrypting, based on the second key, the first key label;

transmitting a third request for the first key, wherein the third request includes the encrypted first key label; and

receiving the first key, which is encrypted based on a third key which is the same as the second key.

2. The computer system of claim 1 , wherein prior to transmitting the third request, the method further comprises:

generating a first synchronization request for a key-managing device, which causes the key-managing device to obtain from a second key pool of the key-managing device the third key which is the same as the second key.

3. The computer system of claim 1 , wherein the method further comprises updating the first key based on a dynamic key refreshment protocol, which comprises:

obtaining a first new key from the first key pool;

transmitting a second synchronization request to the key-managing device, which causes the key-managing device to obtain from the second key pool of the key-managing device a second new key which is the same as the first new key; and

obtaining a first new key label for the first new key, wherein the first new key label is the same as a second new key label obtained for the second new key,

wherein the first new key is the key used to encrypt the data, and wherein the first new key label is the determined first key label.

4. The computer system of claim 3 , wherein the dynamic key refreshment protocol is based on one or more of:

determining that a predetermined time interval has passed; and

receiving the first request.

5. The computer system of claim 3 , wherein the first key is received from the key-managing device, wherein the first new key and the second new key are obtained based on a same method, and wherein the first new key label and the second new key label are obtained based on a same algorithm.

6. The computer system of claim 3 , wherein the method further comprises:

computing a first hash value of the first new key; and

including the first hash value in the first synchronization request, which allows the key-managing device to verify the second new key by confirming that a second hash value of the second new key is the same as the first hash value.

7. The computer system of claim 6 , wherein the method further comprises:

computing, by the key-managing device, the second hash value of the second new key; and

verifying the second new key by confirming that the second hash value is the same as the first hash value.

8. The computer system of claim 3 , wherein the method further comprises:

receiving, by the key-managing device based on the dynamic key refreshment protocol, the second synchronization request which indicates the first new key obtained from the first key pool;

obtaining the second new key from the second key pool, wherein the second new key is the same as the first new key;

obtaining the second new key label for the second new key, wherein the second new key label is the same as the first new key label obtained for the first new key; and

storing the second new key and the second new key label,

thereby facilitating secure encryption and decryption of data on a remote device.

9. The computer system of claim 8 , wherein the second key and the second key label are stored in a database associated with the computing system, wherein the method further comprises:

receiving a fourth request for the second new key, wherein the fourth request includes the second key label;

retrieving the second new key from the database based on the second new key label included in the fourth request for the second new key; and

returning the retrieved second new key.

10. The computer system of claim 8 , wherein the fourth request is received from a security device, wherein the retrieved second new key is returned to the security device, wherein the method further comprises:

prior to receiving the fourth request from the security device:

receiving, from the security device, a third synchronization request associated with a fourth key from the first key pool, wherein the second new key label included in the third request for the second key is encrypted based on the fourth key; and

obtaining, from the second key pool, a fifth key which is the same as the fourth key;

decrypting the encrypted second new key label based on the fifth key; and

prior to returning the retrieved second new key, encrypting the retrieved second new key based on the fifth key.

11. The computer system of claim 1 , wherein the method further comprises:

generating, by a quantum engine of the computer system, one or more key sequences based on a quantum communication with a quantum engine of a key-managing device;

storing, by the computer system, the generated key sequences in a first key pool of the computer system;

storing, by the key-managing device, the generated key sequences in a second key pool of the key-managing device;

generating, by the computer system, a first key label for a respective key sequence in the first key pool; and

generating, by the key-managing device, a second key label for a respective key sequence in the second key pool,

wherein the first key label and the second key label are generated based on a same algorithm.

12. The computer system of claim 1 , wherein the second request is a request to decrypt the encrypted data, and wherein the method further comprises:

decrypting, based on the second key, the encrypted received first key to obtain a decrypted first key; and

decrypting the encrypted data based on the decrypted first key.

13. A computer-implemented method for facilitating encryption, the method comprising:

receiving a first request to encrypt data, wherein the first request indicates the data to be encrypted;

encrypting the data based on a first key;

determining a first key label for the first key;

transmitting the encrypted data and the first key label to a remote device; and

responsive to receiving a second request which indicates the encrypted data and the first key label for the first key used to encrypt the data:

obtaining a second key from a first key pool;

encrypting, based on the second key, the first key label;

transmitting a third request for the first key, wherein the third request includes the encrypted first key label; and

receiving the first key, which is encrypted based on a third key which is the same as the second key.

14. The method of claim 13 , wherein prior to transmitting the third request, the method further comprises:

generating a first synchronization request for a key-managing device, which causes the key-managing device to obtain from a second key pool of the key-managing device the third key which is the same as the second key.

15. The method of claim 13 , wherein the method further comprises updating the first key based on a dynamic key refreshment protocol, which comprises:

obtaining a first new key from the first key pool;

transmitting a second synchronization request to the key-managing device, which causes the key-managing device to obtain from the second key pool of the key-managing device a second new key which is the same as the first new key; and

obtaining a first new key label for the first new key, wherein the first new key label is the same as a second new key label obtained for the second new key,

wherein the first new key is the key used to encrypt the data, and wherein the first new key label is the determined first key label.

16. The method of claim 15 , wherein the method further comprises:

computing a first hash value of the first new key; and

including the first hash value in the first synchronization request, which allows the key-managing device to verify the second new key by confirming that a second hash value of the second new key is the same as the first hash value.

17. The method of claim 15 , wherein the method further comprises:

receiving, by the key-managing device based on the dynamic key refreshment protocol, the second synchronization request which indicates the first new key obtained from the first key pool;

obtaining the second new key from the second key pool, wherein the second new key is the same as the first new key;

obtaining the second new key label for the second new key, wherein the second new key label is the same as the first new key label obtained for the first new key; and

storing the second new key and the second new key label,

thereby facilitating secure encryption and decryption of data on a remote device.

18. The method of claim 13 , wherein the method further comprises:

generating, by a quantum engine of the computer system, one or more key sequences based on a quantum communication with a quantum engine of a key-managing device;

storing, by the computer system, the generated key sequences in a first key pool of the computer system;

storing, by the key-managing device, the generated key sequences in a second key pool of the key-managing device;

generating, by the computer system, a first key label for a respective key sequence in the first key pool; and

generating, by the key-managing device, a second key label for a respective key sequence in the second key pool,

wherein the first key label and the second key label are generated based on a same algorithm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075478/0225 →
Priority Claims (1)
CN 201610298847.1 · May 6, 2016 · national
Continuity (2)
Continuation 15481338 · Apr 6, 2017
Related Publication 20200280437A1 · Sep 3, 2020