IP Library Granted Patent US 10,931,651
Granted Patent B2
US 10,931,651 · App. 16/805,446 · Granted Feb 23, 2021

Key management

Inventor: Huabing Du (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L63/06G06F16/2246G06F21/602H04L9/0643H04L9/0861H04L9/3242G06F21/6272H04L2209/24H04L2209/38
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,931,651
App. No.
16/805,446
Granted
Feb 23, 2021
Kind
B2
Abstract

A data encryption device obtains at least one piece of data to be encrypted. The data encryption device calculates, for each particular piece of data of the at least one piece of data, a data-specific key corresponding to the particular piece of data, the data-specific key being calculated based on a prestored root key and a data identifier of the particular piece of data using a one-way function, where the one-way function is such that the root key is not uniquely derivable from the data-specific key using the one-way function. The data encryption device generates encrypted data corresponding to the particular piece of data by encrypting the particular piece of data using the data-specific key corresponding to the piece of data.

Claims (116)

1. A computer-implemented data encryption method, comprising:

obtaining, by a data encryption device, at least one piece of data to be encrypted;

calculating, by the data encryption device, for each particular piece of data of the at least one piece of data, a data-specific key corresponding to the particular piece of data, the data-specific key being calculated based on a prestored root key and a data identifier of the particular piece of data using a one-way function, wherein:

the one-way function is such that the root key is not uniquely derivable from the data-specific key using the one-way function,

the particular piece of data corresponds to a particular node of a predetermined tree structure,

the data identifier of the particular piece of data represents a path between the particular node and a root node of the predetermined tree structure,

the path comprises a plurality of path segments,

the data-specific key is calculated based on one or more keys that are different from the root key, each key of the one or more keys being calculated based on a corresponding different path segment of the plurality of path segments, the path segment connecting a corresponding node of the path segment to its parent node; and

generating, by the data encryption device, encrypted data corresponding to the particular piece of data by encrypting the particular piece of data using the data-specific key corresponding to the piece of data.

2. The method according to claim 1 , wherein:

the particular piece of data corresponds to a leaf node of the predetermined tree structure;

and

wherein calculating the data-specific key comprises:

calculating, based on the prestored root key and the path, a key corresponding to the leaf node by using the one-way function; and

setting the key corresponding to the leaf node as the data-specific key.

3. The method according to claim 2 , wherein:

the path corresponds to a sequence of all nodes from the root node to the leaf node;

the prestored root key corresponds to the root node; and

calculating the key corresponding to the leaf node further comprises:

setting the root node as an input node;

calculating, by inputting a key corresponding to the input node and path information of a path between a next node and the input node to the one-way function, a key corresponding to the next node, the next node being adjacent to the input node in the sequence of all nodes;

determining whether the next node is the leaf node; and

in response to determining that the next node is the leaf node, setting the key corresponding to the next node as the key corresponding to the leaf node.

4. The method according to claim 3 , wherein calculating the key corresponding to the leaf node further comprises:

in response to determining that the next node is not the leaf node:

setting the next node as a new input node; and

continuing to calculate a key corresponding to a new next node until the key corresponding to the leaf node is obtained, the new next node being adjacent to the new input node in the sequence of all nodes.

5. The method according to claim 1 , comprising:

receiving a data decryption request from a data decryption device, wherein the data decryption request comprises the data identifier;

calculating the data-specific key based on the prestored root key and the data identifier by using the one-way function; and

sending the data-specific key to the data decryption device, wherein the data decryption device decrypts the encrypted data corresponding to the data identifier based on the data-specific key.

6. The method according to claim 5 , wherein the encrypted data corresponds to a leaf node of the predetermined tree structure.

7. The method according to claim 6 , wherein:

the path corresponds to a sequence of all nodes from the root node to the leaf node;

the prestored root key corresponds to the root node; and

calculating the data-specific key comprises:

determining the sequence of all nodes based on the path;

setting the root node as an input node;

calculating, by inputting a key corresponding to the input node and path information of a path between a next node and the input node to the one-way function, a key corresponding to the next node, the next node being adjacent to the input node in the sequence of all nodes;

determining that the next node is the last node in the sequence of all nodes; and

in response to determining that the next node is the last node in the sequence of all nodes, setting the data-specific key as the key corresponding to the next node.

8. A non-transitory, computer-readable medium storing a plurality of instructions executable by a computer system to perform operations comprising:

obtaining, by a data encryption device, at least one piece of data to be encrypted;

calculating, by the data encryption device, for each particular piece of data of the at least one piece of data, a data-specific key corresponding to the particular piece of data, the data-specific key being calculated based on a prestored root key and a data identifier of the particular piece of data using a one-way function, wherein:

the one-way function is such that the root key is not uniquely derivable from the data-specific key using the one-way function,

the particular piece of data corresponds to a particular node of a predetermined tree structure,

the data identifier of the particular piece of data represents a path between the particular node and a root node of the predetermined tree structure,

the path comprises a plurality of path segments,

the data-specific key is calculated based on one or more keys that are different from the root key, each key of the one or more keys being calculated based on a corresponding different path segment of the plurality of path segments, the path segment connecting a corresponding node of the path segment to its parent node; and

generating, by the data encryption device, encrypted data corresponding to the particular piece of data by encrypting the particular piece of data using the data-specific key corresponding to the piece of data.

9. The non-transitory, computer-readable medium according to claim 8 , wherein:

the particular piece of data corresponds to a leaf node of the predetermined tree structure;

and

wherein calculating the data-specific key comprises:

calculating, based on the prestored root key and the path, a key corresponding to the leaf node by using the one-way function; and

setting the key corresponding to the leaf node as the data-specific key.

10. The non-transitory, computer-readable medium according to claim 9 , wherein:

the path corresponds to a sequence of all nodes from the root node to the leaf node;

the prestored root key corresponds to the root node; and

calculating the key corresponding to the leaf node further comprises:

setting the root node as an input node;

calculating, by inputting a key corresponding to the input node and path information of a path between a next node and the input node to the one-way function, a key corresponding to the next node, the next node being adjacent to the input node in the sequence of all nodes;

determining whether the next node is the leaf node; and

in response to determining that the next node is the leaf node, setting the key corresponding to the next node as the key corresponding to the leaf node.

11. The non-transitory, computer-readable medium according to claim 10 , wherein calculating the key corresponding to the leaf node further comprises:

in response to determining that the next node is not the leaf node:

setting the next node as a new input node; and

continuing to calculate a key corresponding to a new next node until the key corresponding to the leaf node is obtained, the new next node being adjacent to the new input node in the sequence of all nodes.

12. The non-transitory, computer-readable medium according to claim 8 , comprising:

receiving a data decryption request from a data decryption device, wherein the data decryption request comprises the data identifier;

calculating the data-specific key based on the prestored root key and the data identifier by using the one-way function; and

sending the data-specific key to the data decryption device, wherein the data decryption device decrypts the encrypted data corresponding to the data identifier based on the data-specific key.

13. The non-transitory, computer-readable medium according to claim 12 , wherein the encrypted data corresponds to a leaf node of the predetermined tree structure.

14. The non-transitory, computer-readable medium according to claim 13 , wherein:

the path corresponds to a sequence of all nodes from the root node to the leaf node;

the prestored root key corresponds to the root node; and

calculating the data-specific key comprises:

determining the sequence of all nodes based on the path;

setting the root node as an input node;

calculating, by inputting a key corresponding to the input node and path information of a path between a next node and the input node to the one-way function, a key corresponding to the next node, the next node being adjacent to the input node in the sequence of all nodes;

determining that the next node is the last node in the sequence of all nodes; and

in response to determining that the next node is the last node in the sequence of all nodes, setting the data-specific key as the key corresponding to the next node.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing a plurality of instructions that, when executed by the one or more computers, perform one or more operations comprising:

obtaining, by a data encryption device, at least one piece of data to be encrypted;

calculating, by the data encryption device, for each particular piece of data of the at least one piece of data, a data-specific key corresponding to the particular piece of data, the data-specific key being calculated based on a prestored root key and a data identifier of the particular piece of data using a one-way function, wherein:

the one-way function is such that the root key is not uniquely derivable from the data-specific key using the one-way function,

the particular piece of data corresponds to a particular node of a predetermined tree structure,

the data identifier of the particular piece of data represents a path between the particular node and a root node of the predetermined tree structure,

the path comprises a plurality of path segments,

the data-specific key is calculated based on one or more keys that are different from the root key, each key of the one or more keys being calculated based on a corresponding different path segment of the plurality of path segments, the path segment connecting a corresponding node of the path segment to its parent node; and

generating, by the data encryption device, encrypted data corresponding to the particular piece of data by encrypting the particular piece of data using the data-specific key corresponding to the piece of data.

16. The computer-implemented system according to claim 15 , wherein:

the particular piece of data corresponds to a leaf node of the predetermined tree structure;

and

wherein calculating the data-specific key comprises:

calculating, based on the prestored root key and the path, a key corresponding to the leaf node by using the one-way function; and

setting the key corresponding to the leaf node as the data-specific key.

17. The computer-implemented system according to claim 16 , wherein:

the path corresponds to a sequence of all nodes from the root node to the leaf node;

the prestored root key corresponds to the root node; and

calculating the key corresponding to the leaf node further comprises:

setting the root node as an input node;

calculating, by inputting a key corresponding to the input node and path information of a path between a next node and the input node to the one-way function, a key corresponding to the next node, the next node being adjacent to the input node in the sequence of all nodes;

determining whether the next node is the leaf node; and

in response to determining that the next node is the leaf node, setting the key corresponding to the next node as the key corresponding to the leaf node.

18. The computer-implemented system according to claim 17 , wherein calculating the key corresponding to the leaf node further comprises:

in response to determining that the next node is not the leaf node:

setting the next node as a new input node; and

continuing to calculate a key corresponding to a new next node until the key corresponding to the leaf node is obtained, the new next node being adjacent to the new input node in the sequence of all nodes.

19. The computer-implemented system according to claim 15 , comprising:

receiving a data decryption request from a data decryption device, wherein the data decryption request comprises the data identifier;

calculating the data-specific key based on the prestored root key and the data identifier by using the one-way function; and

sending the data-specific key to the data decryption device, wherein the data decryption device decrypts the encrypted data corresponding to the data identifier based on the data-specific key.

20. The computer-implemented system according to claim 19 , wherein the encrypted data corresponds to a leaf node of the predetermined tree structure.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2020
From: DU, HUABING
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053016/0204 →