IP Library Granted Patent US 10,574,446
Granted Patent B2
US 10,574,446 · App. 15/717,729 · Granted Feb 25, 2020

Method and system for secure data storage and retrieval

Inventor: Yingfang Fu (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
H04L9/0852H04L9/0897H04L9/3242H04L63/0853H04L63/0869H04L9/3234
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,574,446
App. No.
15/717,729
Granted
Feb 25, 2020
Kind
B2
Abstract

One embodiment described herein provides a system and method for secure data storage. During operation, a client device selects a quantum data key from a plurality of quantum data keys shared between the client device and a storage server, encrypts to-be-stored data using the selected quantum data key, and transmits a data-storage request to the storage server. The data-storage request comprises a key-identifier of the selected quantum data key and the encrypted data.

Claims (70)

1. A computer-implemented method for secure data storage, the method comprising:

selecting, by a client device, a quantum data key from a plurality of quantum data keys shared between the client device and a storage server;

encrypting, using the selected quantum data key, to-be-stored data;

transmitting, by the client device, a data-storage request to the storage server, wherein the data-storage request comprises a key-identifier of the selected quantum data key and the encrypted data; and

receiving, from the storage server, a data-storage response, wherein the data-storage response includes a predetermined variation of the key-identifier, and wherein the predetermined variation of the key-identifier is calculated based on a function shared between the client device and the storage server.

2. The computer-implemented method of claim 1 , further comprising performing mutual authentication between the client device and the storage server, wherein the mutual authentication comprises exchanging trusted measurement reports between the client device and the storage server.

3. The computer-implemented method of claim 1 , wherein the data-storage request further comprises a hash of the to-be-stored data, thereby facilitating the storage server to validate the encrypted data included in the data-storage request.

4. The computer-implemented method of claim 3 , further comprising:

in response to validating the predetermined variation of the key-identifier, saving, by the client device, the hash of the to-be-stored data, wherein the saved hash of the to-be-stored data is indexed using the key-identifier.

5. The computer-implemented method of claim 1 , wherein the key-identifier included in the data-storage request is encrypted.

6. The computer-implemented method of claim 1 , wherein the quantum data keys are encrypted using a storage root key provided by a trusted computing module or a storage key derived from the storage root key, and wherein selecting the quantum data key further comprises performing a decryption operation.

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

transmitting, by the client device, a data-retrieval request to the storage server, wherein the data retrieval request comprises a second key-identifier; and

receiving, from the storage server, a second piece of data encrypted using a second quantum data key corresponding to the second key-identifier.

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

decrypting the received second piece of data;

computing a hash of the second piece of data; and

determining validity of the received second piece of data based on the computed hash of the second piece of data and a hash stored on the client device.

9. The computer-implemented method of claim 7 , wherein the data-retrieval request further comprises a computation indicator configured to indicate to the storage server whether computation on the second piece of data is needed.

10. A secure data storage client device, the client device comprising:

a processor; and

a storage device coupled to the processor and storing instructions which when executed by the processor cause the processor to perform a method for secure data storage, wherein the method comprises:

selecting a quantum data key from a plurality of quantum data keys shared between the client device and a storage server;

encrypting, using the selected quantum data key, to-be-stored data;

transmitting a data-storage request to the storage server, wherein the data-storage request comprises a key-identifier of the selected quantum data key and the encrypted data; and

receiving, from the storage server, a data-storage response, wherein the data-storage response includes a predetermined variation of the key-identifier, and wherein the predetermined variation of the key-identifier is calculated based on a function shared between the client device and the storage server.

11. The secure data storage client device of claim 10 , wherein the data-storage request further comprises a hash of the to-be-stored data, thereby facilitating the storage server to validate the encrypted data included in the data-storage request.

12. The secure data storage client device of claim 11 , wherein the method further comprises:

in response to validating the predetermined variation of the key-identifier, saving the hash of the to-be-stored data, wherein the saved hash of the to-be-stored data is indexed using the key identifier.

13. The secure data storage client device of claim 10 , further comprising a trusted-computing module configured to provide a storage root key, wherein the quantum data keys are encrypted using the storage root key or a storage key derived from the storage root key.

14. The secure data storage client device of claim 10 , wherein the method further comprises:

transmitting a data-retrieval request to the storage server, wherein the data retrieval request comprises a second key-identifier; and

receiving, from the storage server, a second piece of data encrypted using a second quantum data key corresponding to the second key-identifier.

15. A computer-implemented method for secure data storage, the method comprising:

receiving, by a storage server, a data-storage request from a client, wherein the data-storage request comprises a key-identifier and encrypted data, and wherein the key-identifier is configured to identify a quantum data key from a plurality of quantum data keys shared between the client and the storage server, and wherein the encrypted data is encrypted using the identified quantum data key;

transmitting a data-storage response to the client, wherein the data-storage response includes a predetermined variation of the key-identifier, and wherein the predetermined variation of the key-identifier is calculated based on a function shared between the client and the storage server; and

storing the encrypted data and indexing the stored data using the key-identifier.

16. The computer-implemented method of claim 15 , further comprising performing mutual authentication between the storage server and the client, wherein the mutual authentication comprises exchanging trusted measurement reports between the storage server and the client.

17. The computer-implemented method of claim 15 , wherein the data-storage request further comprises a hash of the data, and wherein the method further comprises:

obtaining the quantum data key based on the received key-identifier;

performing a decryption operation on the encrypted data using the quantum data key; and

calculating a hash based on the decrypted data; and

wherein the data-storage response is transmitted to the client in response to the calculated hash matching the hash included in the data-storage request.

18. The computer-implemented method of claim 17 , wherein the quantum data keys are encrypted using a storage root key provided by a trusted computing module or a storage key derived from the storage root key, and obtaining the quantum data key further comprises performing a decryption operation.

19. The computer-implemented method of claim 15 , further comprising:

receiving, by the storage server, a data-retrieval request from the client, wherein the data retrieval request comprises a second key-identifier;

performing a table lookup to obtain a second piece of data encrypted using a second quantum data key corresponding to the second key-identifier; and

transmitting a data-retrieval response to the client, wherein the data-retrieval response comprises the encrypted second piece of data.

20. The computer-implemented method of claim 19 , wherein the data-retrieval request further comprises a computation indicator configured to indicate whether computation on the second piece of data is needed, and wherein the method further comprises:

in response to the computation indicator indicating that computation on the second piece of data is needed, performing computation based on a computation description included in the data-retrieval request to obtain computation result;

encrypting the computation result using the second quantum data key; and

replacing the encrypted second piece of data included in the data-retrieval response with the encrypted computation result.

21. The computer-implemented method of claim 20 , further comprising:

calculating a hash of the computation result; and

including the hash in the data-retrieval response, thereby facilitating the client to validate the data-retrieval response.

22. A secure data storage server, the server comprising:

a processor; and

a storage device coupled to the processor and storing instructions which when executed by the processor cause the processor to perform a method for secure data storage, wherein the method comprises:

receiving a data-storage request from a client, wherein the data-storage request comprises a key-identifier and encrypted data, and wherein the key-identifier is configured to identify a quantum data key from a plurality of quantum data keys shared between the client and the storage server, and wherein the encrypted data is encrypted using the identified quantum data key;

transmitting a data-storage response to the client, wherein the data-storage response includes a predetermined variation of the key-identifier, and wherein the predetermined variation of the key-identifier is calculated based on a function shared between the client and the storage server; and

storing the encrypted data and indexing the stored data using the key-identifier.

23. The secure data storage server of claim 22 , wherein the data-storage request further comprises a hash of the data, and wherein the method further comprises:

obtaining the quantum data key based on the received key-identifier;

performing a decryption operation on the encrypted data using the quantum data key; and

calculating a hash based on the decrypted data; and

wherein the data-storage response is transmitted in response to the calculated hash matching the hash included in the data-storage request.

24. The secure data storage server of claim 22 , wherein the method further comprises:

receiving a data-retrieval request from the client, wherein the data retrieval request comprises a second key-identifier;

performing a table lookup to obtain a second piece of data encrypted using a second quantum data key corresponding to the second key-identifier; and

transmitting a data-retrieval response to the client, wherein the data-retrieval response comprises the encrypted second piece of data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: FU, YINGFANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 043727/0201 →
Priority Claims (1)
CN 2016 1 0900293 · Oct 14, 2016 · national
Continuity (1)
Related Publication 20180109378A1 · Apr 19, 2018
Cited By (3)
US 12,225,117 US 12,455,981 US 12,587,369