WO2019100845A1 - 一种密钥管理方法、装置及设备 - Google Patents
一种密钥管理方法、装置及设备 Download PDFInfo
- Publication number
- WO2019100845A1 WO2019100845A1 PCT/CN2018/107501 CN2018107501W WO2019100845A1 WO 2019100845 A1 WO2019100845 A1 WO 2019100845A1 CN 2018107501 W CN2018107501 W CN 2018107501W WO 2019100845 A1 WO2019100845 A1 WO 2019100845A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- node
- key
- root
- path information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/061—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present specification relates to the field of information technology, and in particular, to a key management method, apparatus, and device.
- the data acquirer can access the data storage device through the network to obtain the data stored on the device.
- the data storage party encrypts the data for each data by using the key corresponding to the data, and obtains the encrypted data corresponding to the data.
- the keys corresponding to different data are different. If the data acquirer wants to decrypt an encrypted data, it must first request the data storage party to obtain the key corresponding to the encrypted data, and then use the obtained key to decrypt the encrypted data to obtain the original data.
- the embodiment of the present specification provides a key management method, device and device to solve the problem of high cost of the existing key management method.
- the one-way function is used to calculate the key corresponding to the data
- the data is encrypted using the key corresponding to the data to obtain encrypted data corresponding to the data.
- the data decryption request includes a data identifier
- the data decryption request includes a data identifier
- a calculation module for each data, according to a pre-stored root key and a data identifier of the data, using a one-way function to calculate a key corresponding to the data;
- the encryption module encrypts the data by using a key corresponding to the data to obtain encrypted data corresponding to the data.
- Receiving a module receiving a data decryption request sent by the data decryption device; the data decryption request includes a data identifier;
- the calculating module calculates the key by using a one-way function according to the pre-stored root key and the data identifier;
- a sending module sending a data decryption request to the data encryption device;
- the data decryption request includes a data identifier;
- a receiving module which receives a key returned by the data encryption device, where the key is calculated by the data encryption device according to the data encryption method
- the decryption module decrypts the encrypted data corresponding to the data identifier included in the data decryption request according to the key.
- a data encryption device provided by an embodiment of the present specification includes one or more processors and a memory, the memory stores a program, and is configured to perform the following steps by the one or more processors:
- the one-way function is used to calculate the key corresponding to the data
- the data is encrypted using the key corresponding to the data to obtain encrypted data corresponding to the data.
- An apparatus for transmitting a key provided by an embodiment of the present specification includes one or more processors and a memory, the memory storing a program, and configured to perform the following steps by the one or more processors:
- the data decryption request includes a data identifier
- a data decryption device includes one or more processors and a memory, the memory stores a program, and is configured to perform the following steps by the one or more processors:
- the data decryption request includes a data identifier
- a one-way function is used to calculate a key corresponding to the data according to the data identifier of the data and the root key stored in advance, and the key corresponding to the data is used. Encrypt the data.
- the one-way function is used to calculate the key corresponding to the data according to the data identifier and the root key of the data, and the key corresponding to the data is sent to the data decryption device.
- the data encryption device does not need to store the key corresponding to each data, and only the root key is stored.
- the data encryption device can derive the key corresponding to each data according to the root key and the data identifier of each data. In this way, the storage cost of the data encryption device is reduced.
- FIG. 2 is a flowchart of a method for transmitting a key according to an embodiment of the present disclosure
- FIG. 3 is a flowchart of a data decryption method provided by an embodiment of the present specification
- FIG. 4 is a schematic diagram of a tree structure provided by an embodiment of the present specification.
- FIG. 5 is a schematic diagram of a data encryption apparatus according to an embodiment of the present disclosure.
- FIG. 6 is a schematic diagram of an apparatus for transmitting a key according to an embodiment of the present disclosure.
- FIG. 7 is a schematic diagram of a data decryption apparatus provided by an embodiment of the present specification.
- FIG. 8 is a schematic diagram of a data encryption device according to an embodiment of the present disclosure.
- FIG. 9 is a schematic diagram of an apparatus for transmitting a key according to an embodiment of the present disclosure.
- FIG. 10 is a schematic diagram of a data decryption device according to an embodiment of the present disclosure.
- the data storage party usually encrypts different data using different keys and stores the obtained encrypted data and the keys corresponding to the respective encrypted data.
- the data decryption device requests the data encryption device to decrypt a certain encrypted data
- the data encryption device sends the key corresponding to the encrypted data to the data decryption device, and the data decryption device can use the received key to decrypt the encrypted data to obtain the original data. .
- the key used by the data encryption device to encrypt a certain data is obtained using a one-way function based on the data identification of the data and the pre-stored root key. This means:
- the key corresponding to each data is derived from the root key.
- the data encryption device only needs to store the root key.
- the key corresponding to each data can be derived from the root key at any time. Significantly reduce the storage cost of data encryption devices.
- the data storage party may encrypt the data by using its own device, and then store the obtained encrypted data; or the device of the non-data storage device encrypts the data to obtain the encrypted data and the data.
- the storage side obtains the encrypted data and stores it. Therefore, the device that actually encrypts data is referred to as a “data encryption device”, which may be a device of a data storage side or a device of a non-data storage side.
- Embodiments of the present specification relate to a key management method, and in particular, to a data encryption method, a method of transmitting a key, and a data decryption method.
- FIG. 1 is a flowchart of a data encryption method provided by an embodiment of the present disclosure, including the following steps:
- the data encryption device obtains each data to be encrypted.
- the execution subject of the method shown in Figure 1 is a data encryption device, for example, a device that can be the owner of the data, such as a computer of the author of the file.
- the data encryption device can receive the data to be encrypted input by the data author, and can also obtain the data to be encrypted from other ways, which is not specifically limited in this specification.
- the root key is a key that the encryption device needs to store, and the key used for encrypting each data is derived from the root key.
- One-way function In order to ensure that the keys derived from the root key and the data identification of different data are different, and to ensure that it is difficult to reverse the root key based on the derived key, it is necessary to utilize the following characteristics of the one-way function: First, if input The data of the one-way function is different, and the output data is often different by the one-way function; secondly, according to the output of the one-way function, it is difficult to reverse the input of the one-way function.
- Common one-way functions can be applied to the embodiments of the present specification, such as MD5 (Message Digest Algorithm 5), SHA (Secure Hash Algorithm), MAC (Message Authentication Code), and the like.
- S104 Encrypt the data by using a key corresponding to the data to obtain encrypted data corresponding to the data.
- steps S100 to S104 are method steps for encrypting data.
- the main function of the data encryption device is to encrypt each data to be encrypted and to distribute a key for the data decryption device requesting decryption of the data.
- the data encryption device does not necessarily store the obtained encrypted data.
- the data encryption device may store the obtained encrypted data, and/or send each obtained encrypted data to each blockchain node, and each blockchain node encrypts each encrypted data after the consensus verification is passed. Data is stored in the blockchain.
- the data decryption device may request the data encryption device to acquire a certain encrypted data and a key required to decrypt the encrypted data, and then decrypt the acquired encrypted data using the acquired key.
- the data decryption device may first request the data encryption device to decrypt the key required for the encrypted data, and then acquire the encrypted data from a blockchain node and use the data.
- the key corresponding to the encrypted data distributed by the encryption device decrypts the encrypted data to obtain the original data.
- FIG. 2 is a flowchart of a method for sending a key according to an embodiment of the present disclosure, including:
- S200 Receive a data decryption request sent by the data decryption device.
- the execution subject of the method shown in Figure 2 is a data encryption device.
- the main functions of the data encryption device include encrypting each data to be encrypted (as shown in the flow of FIG. 1), and also distributing a key for the data decryption device requesting decryption of data (ie, as shown in FIG. 2). Process).
- the data decryption device is a device that has a need for decrypting the key required to encrypt the data, and is usually a device of the data acquirer. Before decrypting a certain encrypted data, the data decryption device needs to obtain a key corresponding to the encrypted data from the data encryption device, which is equivalent to requesting the data encryption device to decrypt and authorize the data.
- the data decryption request may include a data identifier, and the data identifier may correspond to one encrypted data, or may correspond to a batch of encrypted data.
- the encrypted data corresponding to the data identifier is the encrypted data that the data decryption device needs to decrypt.
- S202 Calculate the key by using a one-way function according to the pre-stored root key and the data identifier.
- the data encryption device in order to reduce the storage cost, does not store the keys corresponding to the respective encrypted data. Therefore, in this step S202, the data encryption device needs to temporarily generate a key to be transmitted.
- the data encryption device calculates a key to be transmitted to the data decryption device using a one-way function according to the pre-stored root key and the data identifier included in the data decryption request.
- FIG. 3 is a flowchart of a data decryption method provided by an embodiment of the present disclosure, including the following steps:
- the main body of execution of the method is a data decryption device.
- the data decryption request includes a data identifier, and the encrypted data corresponding to the data identifier is encrypted data that the data decryption device needs to decrypt.
- the data decryption device can know in advance the data identifier corresponding to the encrypted data that it is to decrypt. For example, the data encryption device may organize the data identifiers of the respective encrypted data into a list and expose the list, and the data decryption device determines the data identifier of the encrypted data to be decrypted by querying the list.
- the key returned by the data encryption device is calculated by the data encryption device in step S202 shown in FIG. 2.
- S304 Decrypt the encrypted data corresponding to the data identifier included in the data decryption request according to the key.
- the key corresponding to each encrypted data is managed by the data encryption device, and the storage of each encrypted data is not specifically limited.
- the data encryption device can store the encrypted data, and other devices than the data encryption device (even including the data decryption device) can also store the encrypted data.
- the data decryption device can obtain the encrypted data corresponding to the data identifier from the data encryption device, or obtain the encrypted data corresponding to the data identifier from other devices (such as a blockchain node), or even pre-store each Encrypt data.
- the data decryption device obtains the key sent by the data encryption device, meaning that the authority to decrypt the encrypted data corresponding to the data identifier is obtained.
- the keys required to decrypt different encrypted data are different by the key management method shown in FIGS. 1 to 3.
- the data decryption device cannot reversely derive the root key according to the key corresponding to a certain data that has been obtained, and thus cannot directly derive the key corresponding to other data, and can only request the decryption authority from the data encryption device.
- the data encryption device that manages the key does not need to store the key corresponding to each data, and only the root key is stored.
- the data encryption device can derive the key corresponding to each data according to the root key and the data identifier of each data. In this way, the storage cost of the data encryption device is reduced.
- FIG. 4 is a schematic diagram of a tree structure provided by an embodiment of the present specification. As shown in FIG. 4, in the tree structure, solid dots represent root nodes, hollow dots represent intermediate nodes, and shaded dots represent leaf nodes.
- each node is assigned a number, which can conveniently represent the path between any two nodes in the number structure with the relationship of the upper and lower levels. Assuming that any node in the tree structure is the first node, and any node under the first node is the second node, in this specification, the path information of the second node relative to the first node is actually the first node to The sequence of all nodes through which the second node passes.
- the path information of node 5 with respect to node 1 may be the sequence "1-2-5", and the path information of node 15 with respect to node 1 may be the sequence "1-3-8-15".
- the leaf nodes of the tree structure may be in one-to-one correspondence with each data to be encrypted.
- each obtained encrypted data is also in one-to-one correspondence with each leaf node.
- the path information of the leaf node corresponding to the data relative to the root node of the tree structure can be used as the data identifier of the data.
- each encrypted data is in one-to-one correspondence with each leaf node, and does not mean that each encrypted data must be stored according to a tree structure.
- the storage form of each encrypted data is not specifically limited in this specification.
- the leaf may be calculated by using a one-way function according to the pre-stored root key and the path information of the leaf node corresponding to the root node with respect to the data for each data.
- the key corresponding to the node is used as the key corresponding to the data.
- the data identifier included in the data decryption request may be path information of a leaf node corresponding to the encrypted data that the data decryption device wants to decrypt with respect to the root node of the tree structure, and data.
- the encryption device can also calculate the key corresponding to the encrypted data to be decrypted by using the method in step S102, and send the calculated key to the data decryption device.
- the data identifier included in the data decryption request sent by the data decryption device may be path information of the leaf node relative to the root node, and the data decryption device may use the received key pair.
- the encrypted data corresponding to the data identifier included in the data decryption request is decrypted.
- node key algorithm a method for calculating a density corresponding to a second node by using a one-way function according to a key corresponding to the first node and path information of the second node relative to the first node.
- the root key is the key corresponding to the root node
- the calculated key is used as the key corresponding to the second node
- next node is re-used as an input node, and the key corresponding to the next node of the input node in the sequence is continuously calculated until the key corresponding to the second node is obtained.
- the first node is node 3 and the second node is node 15 as an example. Knowing the key corresponding to the node 3, firstly, the node 3 is taken as the input node, the key corresponding to the node 3 and the path information of the next node 8 of the node 3 in the sequence "3-8-15" relative to the node 3 are "3". -8" input to the one-way function, the key corresponding to the node 8 is calculated; since the node 8 is not the node 15, the node 8 is re-used as the input node, and the key corresponding to the next node 15 of the node 8 is continuously calculated, and finally The key corresponding to the node 15 is calculated.
- each node (including the root node, the intermediate node, and the leaf node) of the tree structure shown in FIG. 4 can have a corresponding key.
- the root node and the path information of the leaf node corresponding to the certain data relative to the root node are known, and the key corresponding to the leaf node corresponding to the data may be calculated by using the node key algorithm. It is the key corresponding to the data.
- the path information of the leaf node corresponding to the root node is actually a sequence of all the nodes that the root node passes to the leaf node, and at the same time,
- the root key is the key corresponding to the root node of the tree structure.
- the key corresponding to the leaf node is calculated by using a one-way function according to the pre-stored root key and the path information of the leaf node corresponding to the root node, including:
- the calculated key is used as the key corresponding to the leaf node
- next node is re-used as an input node, and the key corresponding to the next node of the input node in the sequence is continuously calculated until the key corresponding to the leaf node is obtained.
- the data identifier included in the data decryption request received by the data encryption device is not necessarily the path information of a leaf node relative to the root node, and may be an intermediate node in the tree structure relative to Path information of the root node.
- the above node key algorithm may be used, according to The key corresponding to the node is calculated and sent to the data decryption device.
- path information of the node relative to the root node of the tree structure is a sequence of all nodes through which the root node passes to the node.
- the root key is a key corresponding to the root node;
- the way to calculate the key using the one-way function can be as follows:
- the calculated key is used as a key to be sent to the data decryption device;
- next node is re-used as an input node, and the key corresponding to the next node of the input node in the sequence is continuously calculated until the key corresponding to the last node in the sequence is obtained.
- the data identifier included in the data decryption request sent by the data decryption device to the data encryption device may be path information of a leaf node relative to the root node in the tree structure, or may be an intermediate node. Path information relative to the root node.
- the tree structure is publicly known, so the data decryption device can determine the path between the nodes and the encrypted data corresponding to each leaf node.
- the data decryption request includes the path information of a certain intermediate node relative to the root node, it is equivalent to the data decryption device requesting the data encryption device to grant the user the right to decrypt the encrypted data corresponding to all the leaf nodes under the intermediate node.
- the key returned by the data encryption device to the data decryption device is the key corresponding to the intermediate node.
- the data decryption device may use a node key algorithm according to the key corresponding to the intermediate node sent by the data encryption device, and calculate a key corresponding to any leaf node of the intermediate node, thereby decrypting any leaf node corresponding to the intermediate node. Encrypted data.
- the path information of the leaf node relative to the intermediate node is a sequence of all nodes that the intermediate node passes to the leaf node, and data.
- the decryption device may calculate the key corresponding to the leaf node by using a one-way function according to the path information of the leaf node relative to the intermediate node and the received key:
- the calculated key is used as the key corresponding to the leaf node
- next node is re-used as an input node, and the key corresponding to the next node of the input node in the sequence is continuously calculated until the key corresponding to the last node in the sequence is obtained.
- the data encryption device can flexibly grant the data decryption device permission to decrypt the encrypted data, that is, grant the data at a time by sending a key corresponding to the intermediate node to the data decryption device.
- the decryption device decrypts the encrypted data corresponding to all the leaf nodes under the intermediate node.
- the embodiment of the present specification provides a data encryption device, as shown in FIG. 5, including:
- Obtaining module 501 obtaining each data to be encrypted
- the calculating module 502 is configured to calculate, according to the pre-stored root key and the data identifier of the data, a key corresponding to the data by using a one-way function;
- the encryption module 503 encrypts the data using the key corresponding to the data to obtain encrypted data corresponding to the data.
- Each data corresponds to each leaf node of the preset tree structure
- the data identifier of the data is path information of the leaf node corresponding to the data relative to the root node of the tree structure;
- the calculation module 502 calculates, according to the pre-stored root key and the path information of the leaf node corresponding to the root node with respect to the root node, the key corresponding to the leaf node is calculated for each data as The key corresponding to this data.
- the path information of the leaf node corresponding to the root node is a sequence of all the nodes that the root node passes to the leaf node;
- the root key is a key corresponding to the root node;
- the calculating module 502 the root node is used as an input node; the key corresponding to the input node and the path information of the next node of the input node in the sequence with respect to the input node are input to one-way a function, calculating a key corresponding to the next node; determining whether the next node is the leaf node; if yes, using the calculated key as a key corresponding to the leaf node; otherwise, the next A node is again used as an input node, and the key corresponding to the next node of the input node in the sequence is continuously calculated until the key corresponding to the leaf node is obtained.
- the embodiment of the present specification provides a device for transmitting a key, as shown in FIG. 6, including:
- the receiving module 601 receives a data decryption request sent by the data decryption device; the data decryption request includes a data identifier;
- the calculating module 602 calculates a key by using a one-way function according to the pre-stored root key and the data identifier;
- the sending module 603 sends the calculated key to the data decryption device, so that the data decryption device decrypts the encrypted data corresponding to the data identifier included in the data decryption request according to the received key.
- Each encrypted data has a one-to-one correspondence with each leaf node of the preset tree structure
- the data included in the data decryption request is identified as path information of any node of the tree structure relative to a root node of the tree structure.
- path information of the node relative to the root node of the tree structure is a sequence of all nodes through which the root node passes to the node;
- the root key is a key corresponding to the root node;
- the calculating module 602 determines a sequence according to the path information included in the data decryption request; using the root node as an input node; and a key corresponding to the input node and a next one of the input nodes in the sequence Entering the path information of the node relative to the input node to a one-way function, calculating a key corresponding to the next node; determining whether the next node is the last node in the sequence; if yes, calculating The obtained key is used as a key to be sent to the data decryption device; otherwise, the next node is re-used as an input node, and the key corresponding to the next node of the input node in the sequence is continuously calculated until the key is obtained.
- the key corresponding to the last node in the sequence is a sequence according to the path information included in the data decryption request; using the root node as an input node; and a key corresponding to the input node and a next one of the input nodes in the sequence Entering
- the embodiment of the present specification provides a data decryption apparatus, as shown in FIG. 7, including:
- the sending module 701 sends a data decryption request to the data encryption device; the data decryption request includes a data identifier;
- the receiving module 702 is configured to receive a key returned by the data encryption device, where the key is calculated by the data encryption device according to the method according to any one of claims 4-6;
- the decryption module 703 decrypts the encrypted data corresponding to the data identifier included in the data decryption request according to the key.
- Each encrypted data has a one-to-one correspondence with each leaf node of the preset tree structure
- the data identifier included in the data decryption request is path information of any node of the tree structure relative to a root node of the tree structure;
- the data identifier is path information of the intermediate node relative to the root node, and for each leaf node under the intermediate node, a one-way is used according to the path information of the leaf node relative to the intermediate node and the received key.
- the function calculates a key corresponding to the leaf node, and decrypts the encrypted data corresponding to the leaf node by using a key corresponding to the leaf node.
- the path information of the leaf node relative to the intermediate node is a sequence of all nodes that the intermediate node passes to the leaf node;
- Decryption module 703 for each leaf node under the intermediate node corresponding to the data identifier, determining a sequence according to path information of the leaf node relative to the intermediate node; using the intermediate node as an input node; Corresponding key and path information of the next node of the input node in the sequence with respect to the input node are input to a one-way function, and a key corresponding to the next node is calculated; determining the next node Whether it is the last node in the sequence; if yes, the calculated key is used as the key corresponding to the leaf node; otherwise, the next node is re-used as an input node, and the input node in the sequence is continuously calculated. The key corresponding to the next node until the key corresponding to the last node in the sequence is obtained.
- FIG. 8 is a data encryption device provided by an embodiment of the present specification, including one or more processors and a memory, the memory storing a program, and configured to perform the following steps by the one or more processors:
- the one-way function is used to calculate the key corresponding to the data
- the data is encrypted using the key corresponding to the data to obtain encrypted data corresponding to the data.
- 9 is a device for transmitting a key according to an embodiment of the present disclosure, including one or more processors and a memory, the memory storing a program, and configured to perform the following steps by the one or more processors. :
- the data decryption request includes a data identifier
- FIG. 10 is a data decryption apparatus provided by an embodiment of the present specification, including one or more processors and a memory, the memory storing a program, and configured to perform the following steps by the one or more processors:
- the data decryption request includes a data identifier
- PLD Programmable Logic Device
- FPGA Field Programmable Gate Array
- HDL Hardware Description Language
- the controller can be implemented in any suitable manner, for example, the controller can take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (eg, software or firmware) executable by the (micro)processor.
- computer readable program code eg, software or firmware
- examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, The Microchip PIC18F26K20 and the Silicone Labs C8051F320, the memory controller can also be implemented as part of the memory's control logic.
- the controller can be logically programmed by means of logic gates, switches, ASICs, programmable logic controllers, and embedding.
- Such a controller can therefore be considered a hardware component, and the means for implementing various functions included therein can also be considered as a structure within the hardware component.
- a device for implementing various functions can be considered as a software module that can be both a method of implementation and a structure within a hardware component.
- the system, device, module or unit illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product having a certain function.
- a typical implementation device is a computer.
- the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital character assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device. Or a combination of any of these devices.
- embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
- a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- processors CPUs
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
- RAM random access memory
- ROM read only memory
- Memory is an example of a computer readable medium.
- Computer readable media includes both permanent and non-persistent, removable and non-removable media.
- Information storage can be implemented by any method or technology.
- the information can be computer readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), multi-character versatile disc (DVD) or other optical storage
- PRAM phase change memory
- SRAM static random access memory
- DRAM dynamic random access memory
- RAM random access memory
- ROM read only memory
- EEPROM electrically erasable programmable read only memory
- flash memory or other memory technology
- compact disk read only memory CD-ROM
- DVD multi-character versatile disc
- embodiments of the present specification can be provided as a method, system, or computer program product. Accordingly, the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment in combination of software and hardware. Moreover, the description may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
- the present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
- program modules can be located in both local and remote computer storage media including storage devices.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了一种密钥管理方法、装置及设备。在本说明书实施例中,根据数据的数据标识和预先存储的根密钥,使用单向函数计算数据对应的密钥,并使用数据对应的密钥对数据进行加密。当需要授权数据解密设备解密某个数据时,再次根据该数据的数据标识和根密钥,使用单向函数计算该数据对应的密钥,将该数据对应的密钥发送给数据解密设备。
Description
本说明书涉及信息技术领域,尤其涉及一种密钥管理方法、装置及设备。
目前,数据存储方将存储的数据公开,以供数据获取方使用的模式较为常见。数据获取方可以通过网络访问数据存储方的设备,获取设备上存储的数据。
通常,数据存储方为了对数据获取权限进行管理,会针对每个数据,使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。其中,不同的数据对应的密钥是不同的。数据获取方倘若想要解密某个加密数据,则必须先向数据存储方请求获得该加密数据对应的密钥,随后方能使用获得的密钥解密该加密数据,得到数据原文。
基于现有技术,需要一种成本较低的密钥管理方法。
发明内容
本说明书实施例提供一种密钥管理方法、装置及设备,以解决现有的密钥管理方法成本较高的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种数据加密方法,包括:
获得待加密的各数据;
针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;
使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
本说明书实施例提供的一种发送密钥的方法,包括:
接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;
根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;
将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
本说明书实施例提供的一种数据解密方法,包括:
向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;
接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据上述数据加密方法计算得到的;
根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
本说明书实施例提供的一种数据加密装置,包括:
获得模块,获得待加密的各数据;
计算模块,针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;
加密模块,使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
本说明书实施例提供的一种发送密钥的装置,包括:
接收模块,接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;
计算模块,根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;
发送模块,将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
本说明书实施例提供的一种数据解密装置,包括:
发送模块,向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;
接收模块,接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据上述数据加密方法计算得到的;
解密模块,根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
本说明书实施例提供的一种数据加密设备,包括一个或多个处理器及存储器,所述 存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获得待加密的各数据;
针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;
使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
本说明书实施例提供的一种发送密钥的设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;
根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;
将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
本说明书实施例提供的一种数据解密设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;
接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据上述数据加密方法计算得到的;
根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
由以上本说明书实施例提供的技术方案可见,在本说明书实施例中,根据数据的数据标识和预先存储的根密钥,使用单向函数计算数据对应的密钥,并使用数据对应的密钥对数据进行加密。当需要授权数据解密设备解密某个数据时,再次根据该数据的数据标识和根密钥,使用单向函数计算该数据对应的密钥,将该数据对应的密钥发送给数据解密设备。如此一来,数据加密设备无需存储各数据分别对应的密钥,仅存储根密钥即可,数据加密设备可以根据根密钥和各数据的数据标识随时派生出各数据分别对应的密钥,这样,也就降低了数据加密设备的存储成本。
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种数据加密方法流程图;
图2是本说明书实施例提供的一种发送密钥的方法流程图;
图3是本说明书实施例提供的一种数据解密方法流程图;
图4是本说明书实施例提供的树形结构示意图;
图5是本说明书实施例提供的一种数据加密装置示意图;
图6是本说明书实施例提供的一种发送密钥的装置示意图;
图7是本说明书实施例提供的一种数据解密装置示意图;
图8是本说明书实施例提供的一种数据加密设备示意图;
图9是本说明书实施例提供的一种发送密钥的设备示意图;
图10是本说明书实施例提供的一种数据解密设备示意图。
在现有技术中,数据存储方通常使用不同的密钥对不同的数据进行加密并存储得到的各加密数据以及各加密数据分别对应的密钥。当数据解密设备向数据加密设备请求解密某个加密数据时,数据加密设备将该加密数据对应的密钥发送给数据解密设备,数据解密设备就可以使用接收到的密钥解密加密数据得到数据原文。
但是,这种模式的缺陷在于,随着数据存储方存储的数据越来越多,其需要存储的密钥也会相应地增加,导致数据存储方的存储成本较大。
在本说明书的一个或多个实施例中,数据加密设备加密某个数据所使用密钥是根据该数据的数据标识和预先存储的根密钥,使用单向函数得到的。这意味着:
1、每个数据对应的密钥都是由根密钥派生出来的,数据加密设备仅需存储根密钥即可,每个数据对应的密钥都可以随时由根密钥派生出来,这可以显著降低数据加密设备的存储成本。
2、一方面每个数据的数据标识不同,另一方面对于单向函数而言,输入不同通常导致输出不同。基于此,由于对每个数据进行加密所使用的密钥是根据根密钥和该数据的数据标识,使用单向函数计算得到的,因此解密各加密数据所需的密钥是不同的。
3、由于单向函数具有不可逆性,通常无法根据某个密钥逆推出派生该密钥的根密钥,从而可以有效防止除数据加密设备之外的其他设备未经授权私自生成某个数据对应的密钥的情况发生。
需要说明的是,在本说明书实施例中,数据存储方可以通过自己的设备对数据进行加密后,存储得到的加密数据;也可以是非数据存储方的设备对数据进行加密,得到加密数据,数据存储方获取加密数据并存储。因此,本文将实际加密数据的设备称为“数据加密设备”,其可以是数据存储方的设备,也可以是非数据存储方的设备。
本说明书的各实施例涉及一种密钥管理方法,具体涉及数据加密方法、发送密钥的方法以及数据解密方法。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。通过本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1是本说明书实施例提供的数据加密方法流程图,包括以下步骤:
S100:数据加密设备获得待加密的各数据。
图1所示的方法的执行主体是数据加密设备,例如,可以是数据的拥有者的设备,如文件作者的计算机。数据加密设备可以接收数据作者输入的待加密的数据,也可以从其他途径获取待加密的数据,本说明书对此不作具体限制。
S102:针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥。
在本说明书实施例中,所述根密钥是加密设备需要存储的密钥,对每个数据进行加密所使用的密钥都是由所述根密钥派生出来的。
为了确保根据根密钥和不同的数据的数据标识派生出的密钥不同,以及确保根据派 生出的密钥难以逆推出根密钥,需要利用单向函数的如下特性:其一,若输入到单向函数的数据不同,则通过单向函数计算,输出的数据也往往不同;其二,根据单向函数的输出,难以逆推出单向函数的输入。常见的单向函数均可应用于本说明书实施例中,如MD5(Message Digest Algorithm 5)、SHA(Secure Hash Algorithm)、MAC(Message Authentication Code)等。
S104:使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
此处值得强调,上述步骤S100~S104是对数据进行加密的方法步骤,数据加密设备的主要功能是对待加密的各数据进行加密以及为请求解密数据的数据解密设备派发密钥。数据加密设备不一定会存储得到的各加密数据。
具体来说,数据加密设备可以存储得到的各加密数据,和/或,将得到的各加密数据发送给各区块链节点,由各区块链节点在对各加密数据共识验证通过后,将各加密数据存入区块链。
当各加密数据是由数据加密设备进行存储时,数据解密设备可以向数据加密设备请求获取某个加密数据以及解密该加密数据所需的密钥,随后使用获取的密钥解密获取的加密数据。
当各加密数据被存入区块链时,数据解密设备可以先向数据加密设备请求解密某个加密数据所需的密钥,随后从某个区块链节点处获取该加密数据,并使用数据加密设备派发的该加密数据对应的密钥解密该加密数据,得到数据原文。
图2是本说明书实施例提供的发送密钥的方法流程图,包括:
S200:接收数据解密设备发送的数据解密请求。
图2所示的方法的执行主体是数据加密设备。如前所述,数据加密设备的主要功能除了包括对待加密的各数据进行加密(如图1所示的流程),还包括为请求解密数据的数据解密设备派发密钥(即图2所示的流程)。
数据解密设备是对解密加密数据所需的密钥有需求的设备,其通常是数据获取方的设备。数据解密设备对某个加密数据进行解密前,需要向数据加密设备请求获取该加密数据对应的密钥,相当于请求数据加密设备对其进行解密授权。
在本说明书实施例中,所述数据解密请求可包含数据标识,所述数据标识可对应一个加密数据,也可以对应一批加密数据。数据标识对应的加密数据就是数据解密设备需 要解密的加密数据。
S202:根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥。
在本说明实施例中,为了降低存储成本,数据加密设备不会存储各加密数据分别对应的密钥。因此,在本步骤S202中,数据加密设备需要临时生成需要发送的密钥。
类似于步骤S102,在本步骤S202中,数据加密设备根据预先存储的根密钥和数据解密请求中包含的数据标识,使用单向函数计算得到需要发送给数据解密设备的密钥。
S204:将计算得到的密钥发送给所述数据解密设备。
图3是本说明书实施例提供的数据解密方法流程图,包括以下步骤:
S300:向数据加密设备发送数据解密请求。
本方法的执行主体是数据解密设备。所述数据解密请求包含数据标识,所述数据标识对应的加密数据就是数据解密设备需要解密的加密数据。数据解密设备可预先获知其所要解密的加密数据对应的数据标识。例如,数据加密设备可以将各加密数据的数据标识组织成列表,并将列表公开,数据解密设备通过查询列表,确定其要解密的加密数据的数据标识。
S302:接收所述数据加密设备返回的密钥。
在本说明书实施例中,所述数据加密设备返回的密钥是所述数据加密设备在图2所示的步骤S202中计算得到的。
S304:根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
如前所述,在本说明书实施例中,由数据加密设备对各加密数据对应的密钥进行管理,而对各加密数据存储于何处不作具体限定。数据加密设备可以存储加密数据,数据加密设备之外的其他设备(甚至包括数据解密设备)也可以存储加密数据。相应地,数据解密设备既可以从数据加密设备获取所述数据标识对应的加密数据,也可以从其他设备(如区块链节点)中获取所述数据标识对应的加密数据,甚至可以预先存储各加密数据。
数据解密设备获得数据加密设备发送的密钥,意味着取得了解密所述数据标识对应的加密数据的权限。
通过图1~图3所示的密钥管理方法,解密不同的加密数据所需要的密钥不同。数据 解密设备无法根据已经获得的某个数据对应的密钥逆推出根密钥,也就无法私自派生其他数据对应的密钥,只能向数据加密设备请求解密权限。管理密钥的数据加密设备无需存储各数据分别对应的密钥,仅存储根密钥即可,数据加密设备可以根据根密钥和各数据的数据标识随时派生出各数据分别对应的密钥,这样,也就降低了数据加密设备的存储成本。
此外,下文对上述的技术方案作进一步扩展。
图4是本说明书实施例提供的树形结构示意图。如图4所示,在树形结构中,实心点表示根节点,空心点表示中间节点,阴影点表示叶子节点。
在树形结构中,为每个节点分配编号,这样可以方便表示数形结构中任意两个具有上下级关系的节点之间的路径。假设树形结构中任一节点为第一节点,第一节点下的任一节点为第二节点,那么在本说明书中,第二节点相对于第一节点的路径信息实际上是第一节点到第二节点所经过的所有节点的序列。
例如,节点5相对于节点1的路径信息可以是序列“1-2-5”,节点15相对于节点1的路径信息可以是序列“1-3-8-15”。
在本说明书实施例中,可以使得上述树形结构的叶子节点与待加密的各数据一一对应,当然,对各数据进行加密后,得到的各加密数据与各叶子节点也是一一对应的。通过这种设置,针对每个数据,可以将该数据对应的叶子节点相对于所述树形结构的根节点的路径信息作为该数据的数据标识。需要说明的是,各加密数据与各叶子节点一一对应,并不意味着各加密数据一定是依照树形结构而被存储的,本说明书对各加密数据的存储形式并不做具体限定。
倘若各数据及其对应的各加密数据与各叶子节点是一一对应的,则可对本技术方案扩展如下:
在图1所示的方法的步骤S102中,可以针对每个数据,根据预先存储的根密钥和该数据对应的叶子节点相对于所述根节点的路径信息,使用单向函数计算得到该叶子节点对应的密钥,作为该数据对应的密钥。
在图2所示的发送密钥的方法中,数据解密请求包含的数据标识可以是数据解密设备想要解密的加密数据对应的叶子节点相对于所述树形结构的根节点的路径信息,数据加密设备可以同样采用步骤S102中的方法计算出待解密的加密数据对应的密钥,将计算出的密钥发送给数据解密设备。
在图3所示的数据解密方法中,数据解密设备发送的数据解密请求包含的数据标识可以是叶子节点相对于所述根节点的路径信息,数据解密设备可以使用接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
基于图4所示的树形结构,本说明书实施例提供了一种根据第一节点对应的密钥和第二节点相对于第一节点的路径信息,使用单向函数计算第二节点对应的密钥的方法(下文称“节点密钥算法”),如下:
根密钥为根节点对应的密钥;
将第一节点作为输入节点;
将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;
判断所述下一个节点是否是第二节点;
若是,则将计算得到的密钥作为第二节点对应的密钥;
否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到第二节点对应的密钥为止。
以第一节点是节点3,第二节点是节点15为例说明。已知节点3对应的密钥,首先将节点3作为输入节点,将节点3对应的密钥和序列“3-8-15”中节点3的下一个节点8相对于节点3的路径信息“3-8”输入到单向函数,计算得到节点8对应的密钥;由于节点8不是节点15,因此,重新将节点8作为输入节点,继续计算节点8的下一个节点15对应的密钥,最终计算出节点15对应的密钥。这样,如图4所示的树形结构的每个节点(包括根节点、中间节点、叶子节点)都可以有对应的密钥。
基于上述节点密钥算法,还可以对本技术方案扩展如下:
在图1所示的流程中,已知根节点和某个数据对应的叶子节点相对于根节点的路径信息,可以使用上述节点密钥算法计算出该数据对应的叶子节点对应的密钥,也就是该数据对应的密钥。
具体地,在步骤S102中,针对每个数据,该数据对应的叶子节点相对于所述根节点的路径信息实际上是所述根节点到该叶子节点所经过的所有节点的序列,同时,所述根密钥即是树形结构的根节点对应的密钥。根据预先存储的根密钥和该数据对应的叶子节点相对于所述根节点的路径信息,使用单向函数计算得到该叶子节点对应的密钥, 包括:
将所述根节点作为输入节点;
将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;
判断所述下一个节点是否是该叶子节点;
若是,则将计算得到的密钥作为该叶子节点对应的密钥;
否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到该叶子节点对应的密钥为止。
在图2所示的流程中,数据加密设备接收的数据解密请求中包含的数据标识不一定是某个叶子节点相对于根节点的路径信息,可能是树形结构中的某个中间节点相对于根节点的路径信息。对数据加密设备而言,不论其接收到的数据解密请求中包含的数据标识为何种节点(中间节点或叶子节点)相对于根节点的路径信息,其都可以采用上述的节点密钥算法,根据计算出该节点对应的密钥,并将之发送给数据解密设备。
具体地,在步骤S202中,针对所述树形结构中的任一节点,该节点相对于所述树形结构的根节点的路径信息为所述根节点到该节点所经过的所有节点的序列;所述根密钥为所述根节点对应的密钥;
根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥的方式可以如下:
根据所述数据解密请求中包含的路径信息确定序列;
将所述根节点作为输入节点;
将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;
判断所述下一个节点是否是所述序列中的最后一个节点;
若是,则将计算得到的密钥作为要发送给所述数据解密设备的密钥;
否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
在图3所示的流程中,数据解密设备发送给数据加密设备的数据解密请求包含 的数据标识可以是树形结构中某个叶子节点相对于根节点的路径信息,也可以是某个中间节点相对于根节点的路径信息。树形结构是公开可知的,因此数据解密设备可以确定各节点间的路径以及各叶子节点对应的加密数据。
当数据解密请求包含某个中间节点相对于根节点的路径信息时,相当于数据解密设备请求数据加密设备授予其解密该中间节点下所有叶子节点对应的加密数据的权限。相应地,数据加密设备返回给数据解密设备的密钥就是该中间节点对应的密钥。
数据解密设备可以根据数据加密设备发送的中间节点对应的密钥采用节点密钥算法,计算得到该中间节点下任一叶子节点对应的密钥,也就可以解密该中间节点下任一叶子节点对应的加密数据。
具体地,在步骤S304中,针对所述中间节点下的任一叶子节点,该叶子节点相对于所述中间节点的路径信息为所述中间节点到该叶子节点所经过的所有节点的序列,数据解密设备可以采用如下方式,根据该叶子节点相对于该中间节点的路径信息和接收到的密钥,使用单向函数计算得到该叶子节点对应的密钥:
针对所述数据标识对应的中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息确定序列;
将该中间节点作为输入节点;
将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;
判断所述下一个节点是否是所述序列中的最后一个节点;
若是,则将计算得到的密钥作为该叶子节点对应的密钥;
否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
通过对本说明书实施例进行上述扩展,数据加密设备可以较为灵活的授予数据解密设备解密加密数据的权限,即,通过向数据解密设备发送某个中间节点对应的密钥的方式,一次性地授权数据解密设备解密该中间节点下所有叶子节点对应的加密数据。
基于图1所示的数据加密方法,本说明书实施例对应提供了一种数据加密装置,如图5所示,包括:
获得模块501,获得待加密的各数据;
计算模块502,针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;
加密模块503,使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
各数据与预设的树形结构的各叶子节点一一对应;
针对每个数据,该数据的数据标识为该数据对应的叶子节点相对于所述树形结构的根节点的路径信息;
所述计算模块502,针对每个数据,根据预先存储的根密钥和该数据对应的叶子节点相对于所述根节点的路径信息,使用单向函数计算得到该叶子节点对应的密钥,作为该数据对应的密钥。
该数据对应的叶子节点相对于所述根节点的路径信息是所述根节点到该叶子节点所经过的所有节点的序列;所述根密钥为所述根节点对应的密钥;
所述计算模块502,将所述根节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是该叶子节点;若是,则将计算得到的密钥作为该叶子节点对应的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到该叶子节点对应的密钥为止。
基于图2所示的发送密钥的方法,本说明书实施例对应提供了一种发送密钥的装置,如图6示,包括:
接收模块601,接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;
计算模块602,根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;
发送模块603,将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
各加密数据与预设的树形结构的各叶子节点一一对应;
所述数据解密请求中包含的数据标识为所述树形结构的任一节点相对于所述树形结构的根节点的路径信息。
针对所述树形结构中的任一节点,该节点相对于所述树形结构的根节点的路径信息为所述根节点到该节点所经过的所有节点的序列;所述根密钥为所述根节点对应的密钥;
所述计算模块602,根据所述数据解密请求中包含的路径信息确定序列;将所述根节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是所述序列中的最后一个节点;若是,则将计算得到的密钥作为要发送给所述数据解密设备的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
基于图3所示的数据解密方法,本说明书实施例对应提供了一种数据解密装置,如图7所示,包括:
发送模块701,向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;
接收模块702,接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据如权利要求4~6任一项所述的方法计算得到的;
解密模块703,根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
各加密数据与预设的树形结构的各叶子节点一一对应;
所述数据解密请求中包含的数据标识为所述树形结构的任一节点相对于所述树形结构的根节点的路径信息;
所述解密模块703,若所述数据标识是叶子节点相对于所述根节点的路径信息,则使用所述密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密;若所述数据标识是中间节点相对于所述根节点的路径信息,则针对该中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息和接收到的密钥,使用单向函数计算得到该叶子节点对应的密钥,并使用该叶子节点对应的密钥对该叶子节点对应的加密数据进行解密。
针对所述中间节点下的任一叶子节点,该叶子节点相对于所述中间节点的路径信息为所述中间节点到该叶子节点所经过的所有节点的序列;
所述解密模块703,针对所述数据标识对应的中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息确定序列;将该中间节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是所述序列中的最后一个节点;若是,则将计算得到的密钥作为该叶子节点对应的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
图8是本说明书实施例提供的一种数据加密设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获得待加密的各数据;
针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;
使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
图9是本说明书实施例提供的一种发送密钥的设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;
根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;
将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
图10是本说明书实施例提供的一种数据解密设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;
接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据上述数据加密方法计算得到的;
根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图8、图9以及图10所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步 骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在 计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字符多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、 对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (21)
- 一种数据加密方法,包括:获得待加密的各数据;针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
- 根据权利要求1所述的方法,各数据与预设的树形结构的各叶子节点一一对应;针对每个数据,该数据的数据标识为该数据对应的叶子节点相对于所述树形结构的根节点的路径信息;针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥,具体包括:针对每个数据,根据预先存储的根密钥和该数据对应的叶子节点相对于所述根节点的路径信息,使用单向函数计算得到该叶子节点对应的密钥,作为该数据对应的密钥。
- 根据权利要求2所述的方法,该数据对应的叶子节点相对于所述根节点的路径信息是所述根节点到该叶子节点所经过的所有节点的序列;所述根密钥为所述根节点对应的密钥;根据预先存储的根密钥和该数据对应的叶子节点相对于所述根节点的路径信息,使用单向函数计算得到该叶子节点对应的密钥,具体包括:将所述根节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是该叶子节点;若是,则将计算得到的密钥作为该叶子节点对应的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到该叶子节点对应的密钥为止。
- 一种发送密钥的方法,包括:接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
- 根据权利要求4所述的方法,各加密数据与预设的树形结构的各叶子节点一一 对应;所述数据解密请求中包含的数据标识为所述树形结构的任一节点相对于所述树形结构的根节点的路径信息。
- 根据权利要求5所述的方法,针对所述树形结构中的任一节点,该节点相对于所述树形结构的根节点的路径信息为所述根节点到该节点所经过的所有节点的序列;所述根密钥为所述根节点对应的密钥;根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥,具体包括:根据所述数据解密请求中包含的路径信息确定序列;将所述根节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是所述序列中的最后一个节点;若是,则将计算得到的密钥作为要发送给所述数据解密设备的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
- 一种数据解密方法,包括:向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据如权利要求4~6任一项所述的方法计算得到的;根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
- 根据权利要求7所述的方法,各加密数据与预设的树形结构的各叶子节点一一对应;所述数据解密请求中包含的数据标识为所述树形结构的任一节点相对于所述树形结构的根节点的路径信息;根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密,具体包括:若所述数据标识是叶子节点相对于所述根节点的路径信息,则使用所述密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密;若所述数据标识是中间节点相对于所述根节点的路径信息,则针对该中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息和接收到的密钥,使用单向函数计算得到该叶子节点对应的密钥,并使用该叶子节点对应的密钥对该叶子节点对 应的加密数据进行解密。
- 根据权利要求8所述的方法,针对所述中间节点下的任一叶子节点,该叶子节点相对于所述中间节点的路径信息为所述中间节点到该叶子节点所经过的所有节点的序列;针对所述数据标识对应的中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息和接收到的密钥,使用单向函数计算得到该叶子节点对应的密钥,具体包括:针对所述数据标识对应的中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息确定序列;将该中间节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是所述序列中的最后一个节点;若是,则将计算得到的密钥作为该叶子节点对应的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
- 一种数据加密装置,包括:获得模块,获得待加密的各数据;计算模块,针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;加密模块,使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
- 根据权利要求10所述的装置,各数据与预设的树形结构的各叶子节点一一对应;针对每个数据,该数据的数据标识为该数据对应的叶子节点相对于所述树形结构的根节点的路径信息;所述计算模块,针对每个数据,根据预先存储的根密钥和该数据对应的叶子节点相对于所述根节点的路径信息,使用单向函数计算得到该叶子节点对应的密钥,作为该数据对应的密钥。
- 根据权利要求11所述的装置,该数据对应的叶子节点相对于所述根节点的路径信息是所述根节点到该叶子节点所经过的所有节点的序列;所述根密钥为所述根节点对应的密钥;所述计算模块,将所述根节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是该叶子节点;若是,则将计算得到的密钥作为该叶子节点对应的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到该叶子节点对应的密钥为止。
- 一种发送密钥的装置,包括:接收模块,接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;计算模块,根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;发送模块,将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
- 根据权利要求13所述的装置,各加密数据与预设的树形结构的各叶子节点一一对应;所述数据解密请求中包含的数据标识为所述树形结构的任一节点相对于所述树形结构的根节点的路径信息。
- 根据权利要求14所述的装置,针对所述树形结构中的任一节点,该节点相对于所述树形结构的根节点的路径信息为所述根节点到该节点所经过的所有节点的序列;所述根密钥为所述根节点对应的密钥;所述计算模块,根据所述数据解密请求中包含的路径信息确定序列;将所述根节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是所述序列中的最后一个节点;若是,则将计算得到的密钥作为要发送给所述数据解密设备的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
- 一种数据解密装置,包括:发送模块,向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;接收模块,接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据如权利要求4~6任一项所述的方法计算得到的;解密模块,根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据 进行解密。
- 根据权利要求16所述的装置,各加密数据与预设的树形结构的各叶子节点一一对应;所述数据解密请求中包含的数据标识为所述树形结构的任一节点相对于所述树形结构的根节点的路径信息;所述解密模块,若所述数据标识是叶子节点相对于所述根节点的路径信息,则使用所述密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密;若所述数据标识是中间节点相对于所述根节点的路径信息,则针对该中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息和接收到的密钥,使用单向函数计算得到该叶子节点对应的密钥,并使用该叶子节点对应的密钥对该叶子节点对应的加密数据进行解密。
- 根据权利要求17所述的装置,针对所述中间节点下的任一叶子节点,该叶子节点相对于所述中间节点的路径信息为所述中间节点到该叶子节点所经过的所有节点的序列;所述解密模块,针对所述数据标识对应的中间节点下的每个叶子节点,根据该叶子节点相对于该中间节点的路径信息确定序列;将该中间节点作为输入节点;将所述输入节点对应的密钥和所述序列中所述输入节点的下一个节点相对于所述输入节点的路径信息输入到单向函数,计算得到所述下一个节点对应的密钥;判断所述下一个节点是否是所述序列中的最后一个节点;若是,则将计算得到的密钥作为该叶子节点对应的密钥;否则,将所述下一个节点重新作为输入节点,继续计算所述序列中输入节点的下一个节点对应的密钥,直至得到所述序列中最后一个节点对应的密钥为止。
- 一种数据加密设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:获得待加密的各数据;针对每个数据,根据预先存储的根密钥和该数据的数据标识,使用单向函数计算得到该数据对应的密钥;使用该数据对应的密钥对该数据进行加密,得到该数据对应的加密数据。
- 一种发送密钥的设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:接收数据解密设备发送的数据解密请求;所述数据解密请求包含数据标识;根据预先存储的根密钥和所述数据标识,使用单向函数计算得到密钥;将计算得到的密钥发送给所述数据解密设备,以使所述数据解密设备根据接收到的密钥对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
- 一种数据解密设备,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:向数据加密设备发送数据解密请求;所述数据解密请求包含数据标识;接收所述数据加密设备返回的密钥,所述密钥是所述数据加密设备根据如权利要求4~6任一项所述的方法计算得到的;根据所述密钥,对所述数据解密请求中包含的数据标识对应的加密数据进行解密。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SG11202000571RA SG11202000571RA (en) | 2017-11-21 | 2018-09-26 | Key management method, apparatus, and device |
| EP18881752.2A EP3644574B1 (en) | 2017-11-21 | 2018-09-26 | Key management method and apparatus |
| US16/805,446 US10931651B2 (en) | 2017-11-21 | 2020-02-28 | Key management |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711168249.3A CN108063756B (zh) | 2017-11-21 | 2017-11-21 | 一种密钥管理方法、装置及设备 |
| CN201711168249.3 | 2017-11-21 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/805,446 Continuation US10931651B2 (en) | 2017-11-21 | 2020-02-28 | Key management |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019100845A1 true WO2019100845A1 (zh) | 2019-05-31 |
Family
ID=62134929
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2018/107501 Ceased WO2019100845A1 (zh) | 2017-11-21 | 2018-09-26 | 一种密钥管理方法、装置及设备 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10931651B2 (zh) |
| EP (1) | EP3644574B1 (zh) |
| CN (1) | CN108063756B (zh) |
| SG (1) | SG11202000571RA (zh) |
| TW (1) | TWI686071B (zh) |
| WO (1) | WO2019100845A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021079224A1 (en) * | 2019-10-24 | 2021-04-29 | nChain Holdings Limited | Data structure for efficiently verifying data |
| CN116436846A (zh) * | 2023-06-12 | 2023-07-14 | 广东电网有限责任公司 | 基于节点搜索的智能电网资产数据管理方法及其系统 |
| US12074993B2 (en) | 2019-10-24 | 2024-08-27 | Nchain Licensing Ag | Method of using a blockchain |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108063756B (zh) * | 2017-11-21 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 一种密钥管理方法、装置及设备 |
| CN109289199B (zh) * | 2018-08-10 | 2020-07-10 | 杭州复杂美科技有限公司 | 多人游戏方法、设备和存储介质 |
| CN109543443A (zh) * | 2018-10-17 | 2019-03-29 | 平安科技(深圳)有限公司 | 基于区块链的用户数据管理方法、装置、设备和存储介质 |
| CN110457912B (zh) * | 2019-07-01 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
| CN110611668A (zh) * | 2019-09-09 | 2019-12-24 | 江西航天鄱湖云科技有限公司 | 自由可配的物联网监测方法、装置、存储介质及设备 |
| JP7331714B2 (ja) * | 2020-01-27 | 2023-08-23 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
| US11558185B2 (en) | 2021-03-19 | 2023-01-17 | Raytheon Bbn Technologies Corp. | Stream-based key management |
| US11804949B2 (en) * | 2021-03-19 | 2023-10-31 | Raytheon Bbn Technologies Corp. | Subscriber revocation in a publish-subscribe network using attribute-based encryption |
| CN113434885B (zh) * | 2021-06-30 | 2022-12-09 | 湖南国科微电子股份有限公司 | 一种密钥派生方法、装置、设备及存储介质 |
| US12335387B2 (en) * | 2021-11-08 | 2025-06-17 | Adobe Inc. | Distributing and synchronizing encrypted data for multi-regional accessibility |
| CN114662135A (zh) * | 2022-05-19 | 2022-06-24 | 深圳市航顺芯片技术研发有限公司 | 数据访问方法、计算机设备及可读存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102546151A (zh) * | 2012-03-22 | 2012-07-04 | 山东泰信电子有限公司 | 一种数据加密、解密方法 |
| CN103905187A (zh) * | 2012-12-26 | 2014-07-02 | 厦门雅迅网络股份有限公司 | 一种基于内容的网络通信加密方法 |
| CN105825142A (zh) * | 2016-02-22 | 2016-08-03 | 北京启迪思创科技有限公司 | 用于对移动终端中文档加解密的方法和装置 |
| CN107124271A (zh) * | 2017-04-28 | 2017-09-01 | 成都梆梆信息科技有限公司 | 一种数据加密、解密方法和设备 |
| CN108063756A (zh) * | 2017-11-21 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种密钥管理方法、装置及设备 |
Family Cites Families (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6307936B1 (en) * | 1997-09-16 | 2001-10-23 | Safenet, Inc. | Cryptographic key management scheme |
| US6240188B1 (en) | 1999-07-06 | 2001-05-29 | Matsushita Electric Industrial Co., Ltd. | Distributed group key management scheme for secure many-to-many communication |
| CA2379476C (en) * | 2000-06-15 | 2009-11-10 | Sony Corporation | System and method for processing information using encryption key block |
| JP2001358707A (ja) * | 2000-06-15 | 2001-12-26 | Sony Corp | 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体 |
| JP4581246B2 (ja) * | 2000-12-26 | 2010-11-17 | ソニー株式会社 | 情報処理システム、および情報処理方法、並びにプログラム記録媒体 |
| US7007040B1 (en) * | 2001-12-04 | 2006-02-28 | General Dynamics C4 Systems, Inc. | Method and apparatus for storing and updating information in a multi-cast system |
| EP1488596B1 (en) | 2002-03-27 | 2018-02-28 | British Telecommunications public limited company | Key management protocol |
| MXPA04011062A (es) * | 2002-05-09 | 2005-02-14 | Matsushita Electric Ind Co Ltd | Aparato de generacion de lista de revocacion de certificado de clave publica, aparato de juicio de renovacion y sistema de autenticacion. |
| JP3864867B2 (ja) * | 2002-07-23 | 2007-01-10 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
| US7069272B2 (en) * | 2002-10-09 | 2006-06-27 | Blackrock Financial Management, Inc. | System and method for implementing dynamic set operations on data stored in a sorted array |
| JP4424465B2 (ja) * | 2003-06-09 | 2010-03-03 | ソニー株式会社 | 情報機器、情報サーバおよび情報処理プログラム |
| CN1846396B (zh) | 2003-07-11 | 2011-09-28 | 佳能株式会社 | 密钥信息处理方法及其设备 |
| JP2005286959A (ja) * | 2004-03-31 | 2005-10-13 | Sony Corp | 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム |
| US8266234B1 (en) * | 2004-06-11 | 2012-09-11 | Seisint, Inc. | System and method for enhancing system reliability using multiple channels and multicast |
| JP4599194B2 (ja) | 2005-03-08 | 2010-12-15 | 株式会社東芝 | 復号装置、復号方法、及びプログラム |
| EP1929423A2 (en) * | 2005-09-16 | 2008-06-11 | Koninklijke Philips Electronics N.V. | Cryptographic role-based access control |
| US8832466B1 (en) * | 2006-01-27 | 2014-09-09 | Trustwave Holdings, Inc. | Methods for augmentation and interpretation of data objects |
| GB0612433D0 (en) * | 2006-06-23 | 2006-08-02 | Ibm | Method and system for defining a hierarchical structure |
| KR101377455B1 (ko) * | 2006-10-09 | 2014-04-02 | 삼성전자주식회사 | 브로드캐스트 암호화를 위한 암호화 키 생성 방법 및 장치 |
| JP4823015B2 (ja) * | 2006-10-26 | 2011-11-24 | 富士通株式会社 | 遠隔制御プログラム、携帯端末装置およびゲートウェイ装置 |
| FR2916317B1 (fr) * | 2007-05-15 | 2009-08-07 | Sagem Defense Securite | Protection d'execution d'un calcul cryptographique |
| CN100586062C (zh) * | 2008-03-28 | 2010-01-27 | 清华大学 | 一种基于avl树的分布式密钥更新方法 |
| US8595504B2 (en) * | 2008-08-12 | 2013-11-26 | Industrial Technology Research Institute | Light weight authentication and secret retrieval |
| US8812874B1 (en) * | 2009-03-31 | 2014-08-19 | Symantec Corporation | Content deduplication in enterprise rights management |
| JP5552541B2 (ja) * | 2009-12-04 | 2014-07-16 | クリプトグラフィ リサーチ, インコーポレイテッド | 検証可能な耐漏洩性暗号化および復号化 |
| US8788505B2 (en) * | 2011-04-27 | 2014-07-22 | Verisign, Inc | Systems and methods for a cache-sensitive index using partial keys |
| CN102867286A (zh) * | 2011-07-08 | 2013-01-09 | 索尼公司 | 数字水印生成、嵌入、检测方法和装置 |
| US9052824B2 (en) * | 2012-01-26 | 2015-06-09 | Upthere, Inc. | Content addressable stores based on sibling groups |
| US9215076B1 (en) * | 2012-03-27 | 2015-12-15 | Amazon Technologies, Inc. | Key generation for hierarchical data access |
| US8892865B1 (en) * | 2012-03-27 | 2014-11-18 | Amazon Technologies, Inc. | Multiple authority key derivation |
| US8707035B2 (en) * | 2012-03-30 | 2014-04-22 | Decho Corporation | High privacy of file synchronization with sharing functionality |
| CN104040935B (zh) * | 2012-12-14 | 2017-06-20 | 华为技术有限公司 | 一种数据加密、解密的方法及设备 |
| US9465947B2 (en) * | 2013-08-05 | 2016-10-11 | Samsung Sds America, Inc. | System and method for encryption and key management in cloud storage |
| US9633210B2 (en) | 2013-09-13 | 2017-04-25 | Microsoft Technology Licensing, Llc | Keying infrastructure |
| US9432192B1 (en) * | 2014-03-28 | 2016-08-30 | Emc Corporation | Content aware hierarchical encryption for secure storage systems |
| US9553722B2 (en) * | 2014-07-08 | 2017-01-24 | Cryptography Research, Inc. | Generating a key based on a combination of keys |
| CN104113408B (zh) * | 2014-07-11 | 2017-12-08 | 西安电子科技大学 | 一种实现及时用户属性撤销的基于密文策略属性加密方法 |
| US9720926B2 (en) * | 2014-08-04 | 2017-08-01 | Cohesity, Inc. | Read operations in a tree-based distributed file system |
| US11042488B2 (en) * | 2015-06-01 | 2021-06-22 | Cryptography Research, Inc. | Diversifying a base symmetric key based on a public key |
| CN105187202B (zh) * | 2015-07-13 | 2018-12-21 | 重庆涔信科技有限公司 | 基于完全二叉树的可撤销的属性加密方法 |
| CN105071937B (zh) * | 2015-07-14 | 2019-01-11 | 河海大学 | 具有高效属性撤销的密文策略属性基加密方法 |
| WO2017079652A1 (en) * | 2015-11-05 | 2017-05-11 | Pulsifer Allen | Cryptographic transactions system |
| CN106059768B (zh) * | 2016-05-30 | 2019-06-21 | 西安电子科技大学 | 抵抗重加密密钥泄露的属性可撤销加密系统及方法 |
| CN106230588B (zh) * | 2016-09-19 | 2019-06-18 | 中国传媒大学 | 一种数字版权密钥管理方法及系统 |
| US10218511B2 (en) * | 2016-12-23 | 2019-02-26 | Amazon Technologies, Inc. | Signature delegation |
| US10725988B2 (en) * | 2017-02-09 | 2020-07-28 | Micron Technology, Inc. | KVS tree |
| US10291404B2 (en) * | 2017-03-08 | 2019-05-14 | International Business Machines Corporation | Supplies of deficiency of a key in information on a set of keys |
| US10783186B2 (en) * | 2017-08-31 | 2020-09-22 | Micron Technology, Inc. | Heterogenous key-value sets in tree database |
| US11362805B2 (en) * | 2018-11-01 | 2022-06-14 | International Business Machines Corporation | Database encryption layer |
-
2017
- 2017-11-21 CN CN201711168249.3A patent/CN108063756B/zh active Active
-
2018
- 2018-09-17 TW TW107132608A patent/TWI686071B/zh not_active IP Right Cessation
- 2018-09-26 WO PCT/CN2018/107501 patent/WO2019100845A1/zh not_active Ceased
- 2018-09-26 EP EP18881752.2A patent/EP3644574B1/en active Active
- 2018-09-26 SG SG11202000571RA patent/SG11202000571RA/en unknown
-
2020
- 2020-02-28 US US16/805,446 patent/US10931651B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102546151A (zh) * | 2012-03-22 | 2012-07-04 | 山东泰信电子有限公司 | 一种数据加密、解密方法 |
| CN103905187A (zh) * | 2012-12-26 | 2014-07-02 | 厦门雅迅网络股份有限公司 | 一种基于内容的网络通信加密方法 |
| CN105825142A (zh) * | 2016-02-22 | 2016-08-03 | 北京启迪思创科技有限公司 | 用于对移动终端中文档加解密的方法和装置 |
| CN107124271A (zh) * | 2017-04-28 | 2017-09-01 | 成都梆梆信息科技有限公司 | 一种数据加密、解密方法和设备 |
| CN108063756A (zh) * | 2017-11-21 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种密钥管理方法、装置及设备 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3644574A4 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021079224A1 (en) * | 2019-10-24 | 2021-04-29 | nChain Holdings Limited | Data structure for efficiently verifying data |
| US12074993B2 (en) | 2019-10-24 | 2024-08-27 | Nchain Licensing Ag | Method of using a blockchain |
| CN116436846A (zh) * | 2023-06-12 | 2023-07-14 | 广东电网有限责任公司 | 基于节点搜索的智能电网资产数据管理方法及其系统 |
| CN116436846B (zh) * | 2023-06-12 | 2023-09-19 | 广东电网有限责任公司 | 基于节点搜索的智能电网资产数据管理方法及其系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US10931651B2 (en) | 2021-02-23 |
| CN108063756B (zh) | 2020-07-03 |
| EP3644574B1 (en) | 2021-08-11 |
| TWI686071B (zh) | 2020-02-21 |
| US20200204529A1 (en) | 2020-06-25 |
| TW201926941A (zh) | 2019-07-01 |
| EP3644574A4 (en) | 2020-07-01 |
| EP3644574A1 (en) | 2020-04-29 |
| SG11202000571RA (en) | 2020-02-27 |
| CN108063756A (zh) | 2018-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI686071B (zh) | 密鑰管理方法、裝置及設備 | |
| TWI695290B (zh) | 登錄資訊處理方法及設備 | |
| KR102272117B1 (ko) | 블록체인 기반 데이터 프로세싱 방법 및 디바이스 | |
| CN111431936B (zh) | 基于可验证声明的授权处理方法、装置、设备、系统及存储介质 | |
| RU2708952C1 (ru) | Способ и устройство для обработки запроса услуги | |
| CN108932297B (zh) | 一种数据查询、数据共享的方法、装置及设备 | |
| CN109936626B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
| CN110020855B (zh) | 区块链中实现隐私保护的方法、节点、存储介质 | |
| WO2021103708A1 (zh) | 基于隐私信息保护的数据查询方法、装置、设备及系统 | |
| CN110781192B (zh) | 区块链数据的验证方法、装置及设备 | |
| CN111934874A (zh) | 一种基于区块链的数据加密与解密方法、设备及介质 | |
| WO2021204067A1 (zh) | 可验证声明的转发、获取 | |
| WO2016107458A1 (zh) | 恢复会话的方法和服务器、生成会话凭证的方法和装置 | |
| WO2024221905A1 (zh) | 区块链中账户数据的隐私保护方法及装置 | |
| WO2019165875A1 (zh) | 一种交易处理方法、服务器、客户端及系统 | |
| CN110866274A (zh) | 一种数据融合方法、平台、系统以及数据处理平台 | |
| CN119312303A (zh) | 调试口安全访问方法、装置、车载电子设备及存储介质 | |
| CN107566499A (zh) | 数据同步的方法、装置和系统 | |
| CN111641499B (zh) | 一种基于区块链的私钥还原方法、装置、设备及介质 | |
| TW201734877A (zh) | 基於應用程序的用戶資訊的隱藏方法及裝置 | |
| CN116226902A (zh) | 一种数据查询方法、装置、存储介质及电子设备 | |
| HK1254035B (zh) | 一种密钥管理方法、装置及设备 | |
| CN110177371A (zh) | 生成设备标识信息的方法及装置 | |
| CN110750800A (zh) | 数据安全处理方法、装置、设备及存储介质 | |
| HK1254035A1 (zh) | 一种密钥管理方法、装置及设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18881752 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2018881752 Country of ref document: EP Effective date: 20200121 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |