CN119011127B - Data processing method, device and equipment - Google Patents
Data processing method, device and equipmentInfo
- Publication number
- CN119011127B CN119011127B CN202310560048.7A CN202310560048A CN119011127B CN 119011127 B CN119011127 B CN 119011127B CN 202310560048 A CN202310560048 A CN 202310560048A CN 119011127 B CN119011127 B CN 119011127B
- Authority
- CN
- China
- Prior art keywords
- data
- decryption
- node
- key
- parameter 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.)
- Active
Links
Classifications
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
The invention provides a data processing method, a device and equipment, wherein the data processing method comprises the steps of respectively sending decryption requests to at least two data decryption nodes, enabling the decryption requests to carry data access addresses, receiving decryption results fed back by the data decryption nodes and first verification parameter information aiming at the decryption results, and obtaining decryption data according to the decryption results and the first verification parameter information, wherein the decryption results comprise partial decryption contents of ciphertext data corresponding to the decryption requests. The scheme can support to realize data decryption by utilizing a plurality of data decryption nodes, and further obtain complete decryption data according to decryption results (partial decryption data) obtained by each data decryption node, so that distributed entrusting decryption is realized, and the problems of lower safety caused by adopting asymmetric key single-point storage and difficult management caused by adopting a symmetric key are avoided.
Description
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data processing method, apparatus, and device.
Background
With the rapid development of digital economy and internet technology, the computing network becomes a new productivity in the digital economy era. The computing power network is a novel infrastructure of integrated services with fused computing power and network depth, the stronger the computing power is, the stronger the data processing capability is, and the larger and more accurate the available useful data is. The computing power network connects the distributed computing nodes, dynamically perceives the states of computing resources and network resources in real time, and forms a network with perceivable, distributable and schedulable computing resources, thereby meeting the requirements of new business and new application on computing power.
One of the main uses of the computing network is data storage, and in particular, users may store their data on remote computing network nodes due to device limitations or access convenience requirements, etc. In addition, by storing data on the computing network nodes, efficient and convenient sharing of data among different institutions can also be achieved.
However, as network security risks continue to increase, threat challenges become increasingly severe, resulting in various threats (problems with leakage or tampering) to the data stored on the computing network nodes. Based on this, in the prior art, the data provider DP may encrypt the data and then send the encrypted data to the computing network node for storage, and the data user downloads the data and then decrypts the data, so as to obtain the plaintext data. However, with the prior art, there are problems that symmetric key management is difficult, and asymmetric key single-point storage security is low.
By the method, the scheme aiming at data processing in the prior art has the problems that symmetric key management is difficult, and asymmetric key single-point storage security is low.
Disclosure of Invention
The invention aims to provide a data processing method, a device and equipment, which are used for solving the problems that in the scheme aiming at data processing in the prior art, symmetric key management is difficult and asymmetric key single-point storage security is low.
In order to solve the above technical problems, an embodiment of the present invention provides a data processing method, applied to a data usage node, including:
respectively sending decryption requests to at least two data decryption nodes, wherein the decryption requests carry data access addresses;
Receiving decryption results fed back by each data decryption node and first verification parameter information aiming at the decryption results;
Obtaining decryption data according to each decryption result and the first verification parameter information;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
Optionally, the obtaining the decrypted data according to each decryption result and the first verification parameter information includes:
Verifying the corresponding decryption result according to the first verification parameter information;
And obtaining decrypted data according to the decrypted result passing the verification.
Optionally, the obtaining the decrypted data according to the decrypted result passing the verification includes:
Obtaining at least one candidate decryption result according to the decryption result passing the verification;
Obtaining a first random number according to each candidate decryption result and a first bilinear map and a second bilinear map which correspond to each candidate decryption result;
Obtaining decryption data according to the first random number;
the mapping parameters of the first bilinear mapping comprise a first public parameter and a first data encryption parameter corresponding to the candidate decryption result;
the mapping parameters of the second bilinear map include a second data encryption parameter and a partial private key of the data usage node.
Optionally, before the obtaining the first random number according to each candidate decryption result and the first bilinear map and the second bilinear map that respectively correspond to each candidate decryption result, the method further includes:
Receiving the partial private key sent by the key management node, and acquiring second verification parameter information corresponding to the partial private key;
verifying the partial private key by using bilinear mapping, a generator, a public key related parameter and the second verification parameter information;
If the verification is passed, the partial private key is saved;
the public key related parameters are obtained by using an identity identifier of a node and a first hash function according to the data, the input of the first hash function is binary calculation with any length, the output of the first hash function is an addition cyclic group with q-order, and q is a prime number which is larger than a threshold and is generated by a key management node according to the input security parameters.
Optionally, the number of the candidate decryption results meets a first condition, wherein the first condition is that n is more than or equal to 2t-1, n represents the total number of the at least two data decryption nodes, and t represents the number of the candidate decryption results.
The embodiment of the invention also provides a data processing method which is applied to the data decryption node and comprises the following steps:
Receiving a decryption request sent by a data using node, wherein the decryption request carries a data access address;
Acquiring ciphertext data from the computing network node according to the data access address;
obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data;
transmitting the decryption result and first verification parameter information to the data using node;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
Optionally, the obtaining a decryption result and the first verification parameter information for the decryption result according to the ciphertext data includes:
And obtaining a decryption result and first verification parameter information aiming at the decryption result according to the second random number, the ciphertext data and the partial key corresponding to the data using node.
Optionally, before obtaining a decryption result and the first verification parameter information for the decryption result according to the ciphertext data and the partial key corresponding to the data using node, the method further includes:
receiving the partial key sent by the key management node, and acquiring a third public parameter corresponding to the partial key;
Verifying the partial key by using bilinear mapping, a generator, a public key related parameter and the third public parameter;
In case of verification pass, saving the partial key;
the public key related parameters are obtained by using an identity identifier of a node and a first hash function according to the data, the input of the first hash function is binary calculation with any length, the output of the first hash function is an addition cyclic group with q-order, and q is a prime number which is larger than a threshold and is generated by a key management node according to the input security parameters.
Optionally, before obtaining a decryption result and the first verification parameter information for the decryption result according to the ciphertext data and the partial key corresponding to the data using node, the method further includes:
Randomly acquiring the second random number;
and obtaining and disclosing the first disclosure parameters according to the second random number and the generator.
The embodiment of the invention also provides a data processing method which is applied to the data providing node and comprises the following steps:
obtaining a first data encryption parameter according to the data to be encrypted, the first random number and the second public parameter;
obtaining ciphertext data according to the first data encryption parameter;
and sending the ciphertext data to an algorithm network node.
The embodiment of the invention also provides a data processing method which is applied to the key management node and comprises the following steps:
for each data decryption node in at least two data decryption nodes, respectively acquiring a partial key and a third public parameter of the data use node;
transmitting each partial key to the corresponding data decryption node through a secure channel;
and disclosing each third disclosure parameter.
Optionally, the method further comprises:
obtaining public key related parameters according to the identity identifier of the data using node and the first hash function;
According to the generation element, the secret parameter obtained by random selection and the public key related parameter, a partial private key of the data using node and second verification parameter information aiming at the partial private key are obtained;
and sending the partial private key to the data using node through a secure channel, and disclosing the second verification parameter information.
The embodiment of the invention also provides a data processing device which is applied to the data using node and comprises:
the system comprises a first sending module, a second sending module and a first receiving module, wherein the first sending module is used for respectively sending decryption requests to at least two data decryption nodes, and the decryption requests carry data access addresses;
The first receiving module is used for receiving decryption results fed back by the data decryption nodes and first verification parameter information aiming at the decryption results;
The first processing module is used for obtaining decryption data according to each decryption result and the first verification parameter information;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
Optionally, the obtaining the decrypted data according to each decryption result and the first verification parameter information includes:
Verifying the corresponding decryption result according to the first verification parameter information;
And obtaining decrypted data according to the decrypted result passing the verification.
Optionally, the obtaining the decrypted data according to the decrypted result passing the verification includes:
Obtaining at least one candidate decryption result according to the decryption result passing the verification;
Obtaining a first random number according to each candidate decryption result and a first bilinear map and a second bilinear map which correspond to each candidate decryption result;
Obtaining decryption data according to the first random number;
the mapping parameters of the first bilinear mapping comprise a first public parameter and a first data encryption parameter corresponding to the candidate decryption result;
the mapping parameters of the second bilinear map include a second data encryption parameter and a partial private key of the data usage node.
Optionally, the method further comprises:
The second receiving module is used for receiving the partial private key sent by the key management node and obtaining second verification parameter information corresponding to the partial private key before the first random number is obtained according to each candidate decryption result and the first bilinear mapping and the second bilinear mapping which are respectively corresponding to the candidate decryption result;
the first verification module is used for verifying the partial private key by utilizing bilinear mapping, a generation element, a public key related parameter and the second verification parameter information;
The first storage module is used for storing the partial private key under the condition that verification is passed;
the public key related parameters are obtained by using an identity identifier of a node and a first hash function according to the data, the input of the first hash function is binary calculation with any length, the output of the first hash function is an addition cyclic group with q-order, and q is a prime number which is larger than a threshold and is generated by a key management node according to the input security parameters.
Optionally, the number of the candidate decryption results meets a first condition, wherein the first condition is that n is more than or equal to 2t-1, n represents the total number of the at least two data decryption nodes, and t represents the number of the candidate decryption results.
The embodiment of the invention also provides a data processing device which is applied to the data decryption node and comprises:
the third receiving module is used for receiving a decryption request sent by the data using node, wherein the decryption request carries a data access address;
The first acquisition module is used for acquiring ciphertext data from the computing network node according to the data access address;
the second processing module is used for obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data;
The second sending module is used for sending the decryption result and the first verification parameter information to the data using node;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
Optionally, the obtaining a decryption result and the first verification parameter information for the decryption result according to the ciphertext data includes:
And obtaining a decryption result and first verification parameter information aiming at the decryption result according to the second random number, the ciphertext data and the partial key corresponding to the data using node.
Optionally, the method further comprises:
a fourth receiving module, configured to receive, before obtaining a decryption result and first verification parameter information for the decryption result according to the ciphertext data and a partial key corresponding to the data using node, the partial key sent by a key management node, and obtain a third public parameter corresponding to the partial key;
The second verification module is used for verifying the partial secret key by utilizing bilinear mapping, a generation element, a public key related parameter and the third public parameter;
the second saving module is used for saving the partial key under the condition that the verification is passed;
the public key related parameters are obtained by using an identity identifier of a node and a first hash function according to the data, the input of the first hash function is binary calculation with any length, the output of the first hash function is an addition cyclic group with q-order, and q is a prime number which is larger than a threshold and is generated by a key management node according to the input security parameters.
Optionally, the method further comprises:
the third processing module is used for randomly acquiring the second random number before a decryption result and first verification parameter information aiming at the decryption result are obtained according to the ciphertext data and the partial key corresponding to the data using node;
and the fourth processing module is used for obtaining and disclosing the first disclosure parameters according to the second random number and the generator.
The embodiment of the invention also provides a data processing device, which is applied to the data providing node and comprises:
the fifth processing module is used for obtaining first data encryption parameters according to the data to be encrypted, the first random number and the second public parameters;
the sixth processing module is used for obtaining ciphertext data according to the first data encryption parameter;
And the third sending module is used for sending the ciphertext data to the computing network node.
The embodiment of the invention also provides a data processing device which is applied to the key management node and comprises:
the second acquisition module is used for respectively acquiring partial keys and third public parameters of the data use nodes aiming at each data decryption node in the at least two data decryption nodes;
the fourth sending module is used for sending each partial key to the corresponding data decryption node through a secure channel;
And a seventh processing module, configured to disclose each of the third disclosure parameters.
Optionally, the method further comprises:
An eighth processing module, configured to obtain a public key related parameter according to the identity identifier of the data usage node and the first hash function;
The third acquisition module is used for acquiring a part of private key of the data using node and second verification parameter information aiming at the part of private key according to the generation element, the secret parameter obtained through random selection and the public key related parameter;
and the ninth processing module is used for sending the partial private key to the data using node through a secure channel and disclosing the second verification parameter information.
The embodiment of the invention also provides a data processing device which is a data using node, comprising a processor and a transceiver;
the processor is used for respectively sending decryption requests to at least two data decryption nodes through the transceiver, wherein the decryption requests carry data access addresses;
Receiving decryption results fed back by each data decryption node and first verification parameter information aiming at the decryption results through the transceiver;
Obtaining decryption data according to each decryption result and the first verification parameter information;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
Optionally, the obtaining the decrypted data according to each decryption result and the first verification parameter information includes:
Verifying the corresponding decryption result according to the first verification parameter information;
And obtaining decrypted data according to the decrypted result passing the verification.
Optionally, the obtaining the decrypted data according to the decrypted result passing the verification includes:
Obtaining at least one candidate decryption result according to the decryption result passing the verification;
Obtaining a first random number according to each candidate decryption result and a first bilinear map and a second bilinear map which correspond to each candidate decryption result;
Obtaining decryption data according to the first random number;
the mapping parameters of the first bilinear mapping comprise a first public parameter and a first data encryption parameter corresponding to the candidate decryption result;
the mapping parameters of the second bilinear map include a second data encryption parameter and a partial private key of the data usage node.
Optionally, the processor is further configured to:
Before the first random number is obtained according to each candidate decryption result and the first bilinear mapping and the second bilinear mapping which are respectively corresponding, the transceiver receives the partial private key sent by the key management node, and acquires second verification parameter information corresponding to the partial private key;
verifying the partial private key by using bilinear mapping, a generator, a public key related parameter and the second verification parameter information;
If the verification is passed, the partial private key is saved;
the public key related parameters are obtained by using an identity identifier of a node and a first hash function according to the data, the input of the first hash function is binary calculation with any length, the output of the first hash function is an addition cyclic group with q-order, and q is a prime number which is larger than a threshold and is generated by a key management node according to the input security parameters.
Optionally, the number of the candidate decryption results meets a first condition, wherein the first condition is that n is more than or equal to 2t-1, n represents the total number of the at least two data decryption nodes, and t represents the number of the candidate decryption results.
The embodiment of the invention also provides data processing equipment, which comprises a processor and a transceiver, wherein the data processing equipment is a data decryption node;
the processor is used for receiving a decryption request sent by the data using node through the transceiver, wherein the decryption request carries a data access address;
Acquiring ciphertext data from the computing network node according to the data access address;
obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data;
Transmitting, by the transceiver, the decryption result and first authentication parameter information to the data use node;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
Optionally, the obtaining a decryption result and the first verification parameter information for the decryption result according to the ciphertext data includes:
And obtaining a decryption result and first verification parameter information aiming at the decryption result according to the second random number, the ciphertext data and the partial key corresponding to the data using node.
Optionally, the processor is further configured to:
Before a decryption result and first verification parameter information aiming at the decryption result are obtained according to the ciphertext data and the partial key corresponding to the data using node, the partial key sent by a key management node is received through the transceiver, and a third public parameter corresponding to the partial key is obtained;
Verifying the partial key by using bilinear mapping, a generator, a public key related parameter and the third public parameter;
In case of verification pass, saving the partial key;
the public key related parameters are obtained by using an identity identifier of a node and a first hash function according to the data, the input of the first hash function is binary calculation with any length, the output of the first hash function is an addition cyclic group with q-order, and q is a prime number which is larger than a threshold and is generated by a key management node according to the input security parameters.
Optionally, the processor is further configured to:
The second random number is randomly acquired before a decryption result and first verification parameter information aiming at the decryption result are obtained by using a partial key corresponding to a node according to the ciphertext data and the data;
and obtaining and disclosing the first disclosure parameters according to the second random number and the generator.
The embodiment of the invention also provides data processing equipment, which is used for providing nodes for data and comprises a processor and a transceiver;
The processor is used for obtaining a first data encryption parameter according to the data to be encrypted, the first random number and the second public parameter;
obtaining ciphertext data according to the first data encryption parameter;
and sending the ciphertext data to an algorithm network node through the transceiver.
The embodiment of the invention also provides a data processing device which is a key management node and comprises a processor and a transceiver;
the processor is used for respectively acquiring a partial key and a third public parameter of the data using node for each data decrypting node in the at least two data decrypting nodes;
Transmitting each partial key to the corresponding data decryption node through a secure channel by the transceiver;
and disclosing each third disclosure parameter.
Optionally, the processor is further configured to:
obtaining public key related parameters according to the identity identifier of the data using node and the first hash function;
According to the generation element, the secret parameter obtained by random selection and the public key related parameter, a partial private key of the data using node and second verification parameter information aiming at the partial private key are obtained;
and transmitting the partial private key to the data using node through a secure channel by the transceiver, and disclosing the second verification parameter information.
The embodiment of the invention also provides data processing equipment which comprises a memory, a processor and a program stored in the memory and capable of running on the processor, wherein the processor realizes the data processing method of the data use node side, the data decryption node side, the data providing node side or the key management node side when executing the program.
The embodiment of the invention also provides a readable storage medium, on which a program is stored, which when executed by a processor, implements the steps in the data processing method of the data use node side, the data decryption node side, the data providing node side, or the key management node side.
The technical scheme of the invention has the following beneficial effects:
According to the scheme, the data processing method comprises the steps of respectively sending decryption requests to at least two data decryption nodes, wherein the decryption requests carry data access addresses, receiving decryption results fed back by the data decryption nodes and first verification parameter information aiming at the decryption results, obtaining decryption data according to the decryption results and the first verification parameter information, wherein the decryption results comprise partial decryption contents of ciphertext data corresponding to the decryption requests, and further, the data decryption can be carried out by using a plurality of data decryption nodes, and further, complete decryption data is obtained according to decryption results (partial decryption data) obtained by the data decryption nodes, so that distributed entrusting decryption is achieved, the problem of low security caused by single-point storage of asymmetric keys and the problem of management difficulty caused by the adoption of symmetric keys are avoided, data leakage caused by attack of data use nodes is avoided, the risk of private key leakage caused by single-point (single data decryption node) is reduced, the security of a data user private key is improved, and in addition, the fact that the data decryption nodes and the data use nodes are required to process together (namely, the risk of decrypting the data can be avoided).
Drawings
FIG. 1 is a flow chart of a data processing method according to an embodiment of the invention;
FIG. 2 is a flowchart illustrating a data processing method according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a data processing method according to an embodiment of the present invention;
FIG. 4 is a flowchart illustrating a data processing method according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of a data processing method implementation framework according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a data processing apparatus according to an embodiment of the present invention;
FIG. 7 is a schematic diagram of a data processing apparatus according to an embodiment of the present invention;
FIG. 8 is a third schematic diagram of a data processing apparatus according to an embodiment of the present invention;
FIG. 9 is a diagram illustrating a data processing apparatus according to an embodiment of the present invention;
FIG. 10 is a schematic diagram of a data processing apparatus according to an embodiment of the present invention;
FIG. 11 is a schematic diagram of a second embodiment of a data processing apparatus;
FIG. 12 is a third schematic diagram of a data processing apparatus according to an embodiment of the present invention;
Fig. 13 is a schematic diagram of a data processing apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the technical problems, technical solutions and advantages to be solved more apparent, the following detailed description will be given with reference to the accompanying drawings and specific embodiments.
The following first describes the relevant contents of the present scheme.
Data stored on computing network nodes in the prior art may face various threats, such as:
1) The problem that the computing network node is attacked is that the computing network node possibly becomes an attack target of a malicious attacker because a large amount of user data is stored, and if the computing network node is breached, the data stored on the computing network node has the risks of leakage and tampering.
2) The reliability problem of the computing network node is that when an individual or an organization uploads sensitive data to the computing network node, a user loses control over the data, and some sensitive data is likely to be checked by the computing network node with lower reliability.
3) The data encryption key safety problem is that in order to protect the confidentiality of data, a data provider node can upload data encryption to an computing network node for storage and sharing, and the single-point stored data decryption key can be attacked to cause the leakage problem.
Specifically, in order to address the above problems, the following method may be adopted:
the method 1) the data provider DP encrypts the data and sends the encrypted data to the computing network node for storage, and the data user downloads the data and decrypts the data, so that plaintext data is obtained. However, this method has the following disadvantages:
a) The key support is needed for encryption and decryption, and the existing schemes can adopt a mode of presetting a symmetric key, but in the computing network environment, the number of roles of a data provider, a data user, a computing network node and the like is large, the use of the symmetric encryption technology can bring complex key management problems, and a key management center which is always on can become a main target of an attacker.
B) The problem of difficult tracing of symmetric key leakage is that symmetric keys are used by adopting a symmetric encryption technology, both communication parties share secret information, and if the keys are leaked, the keys leaked by either party cannot be confirmed.
C) The security problem of asymmetric key single-point storage is that as the symmetric key has the problem in the computing network environment, a public key cryptography technology based on certificates is adopted by many technical schemes to encrypt and decrypt data, but the protection capability of data user node equipment is limited (particularly, many internet of things (IoT) equipment, such as unattended equipment and the like), and the problem of leakage caused by attack of the single-point stored data decryption key can also exist.
In order to solve the problem of security of asymmetric key single-point storage, a method of entrusting decryption can be adopted, wherein a data user synchronizes a decryption key to a network computing node with better protection measures for entrusting decryption, the method does not need the data user node to safely manage own private keys, but if the network computing node is broken or has lower trust, the risks of private key leakage and data leakage still exist.
Based on the above, the present invention provides a data processing method, which is applied to a data using node, as shown in fig. 1, and includes:
step 11, respectively sending decryption requests to at least two data decryption nodes, wherein the decryption requests carry data access addresses;
Step 12, receiving decryption results fed back by each data decryption node and first verification parameter information aiming at the decryption results;
And 13, obtaining decryption data according to each decryption result and the first verification parameter information, wherein the decryption result comprises part of decryption content of ciphertext data corresponding to the decryption request.
The data processing method provided by the embodiment of the invention comprises the steps of respectively sending decryption requests to at least two data decryption nodes, wherein the decryption requests carry data access addresses, receiving decryption results fed back by the data decryption nodes and first verification parameter information aiming at the decryption results, obtaining decryption data according to the decryption results and the first verification parameter information, wherein the decryption results comprise partial decryption contents of ciphertext data corresponding to the decryption requests, and can support the realization of data decryption by utilizing a plurality of data decryption nodes, further, complete decryption data is obtained according to the decryption results (partial decryption data) obtained by the data decryption nodes, thereby realizing distributed entrustment decryption, avoiding the problem of lower security caused by adopting asymmetric key single-point storage and the problem of management difficulty caused by adopting symmetric keys.
The method comprises the steps of obtaining decryption data according to each decryption result and first verification parameter information, verifying the corresponding decryption result according to each first verification parameter information, and obtaining the decryption data according to the decryption result passing verification.
Thus, the decryption result can be accurately obtained.
The embodiment of the invention discloses a method for obtaining decryption data according to a decryption result passing verification, which comprises the steps of obtaining at least one candidate decryption result according to the decryption result passing verification, obtaining a first random number according to each candidate decryption result and a first bilinear map and a second bilinear map which correspond to each candidate decryption result respectively, and obtaining the decryption data according to the first random number, wherein mapping parameters of the first bilinear map comprise a first public parameter and a first data encryption parameter which correspond to the candidate decryption result, and mapping parameters of the second bilinear map comprise a second data encryption parameter and a part of private keys of data using nodes.
This ensures the validity of the resulting decrypted data.
Further, before the first random number is obtained according to each candidate decryption result and the first bilinear map and the second bilinear map which correspond to each other, the method further comprises the steps of receiving the partial private key sent by a key management node, obtaining second verification parameter information corresponding to the partial private key, verifying the partial private key by using bilinear map, a generating element, a public key related parameter and the second verification parameter information, and storing the partial private key under the condition that verification is passed, wherein the public key related parameter is obtained according to the data by using an identity identifier of the node and a first hash function, the input of the first hash function is binary calculation with any length, the output of the first hash function is an addition cyclic group of q steps, and q is prime number which is generated by the key management node according to the input security parameter and is larger than a threshold value.
This ensures the validity of the resulting partial private key.
The number of the candidate decryption results meets a first condition, wherein the first condition is that n is more than or equal to 2t-1, n represents the total number of the at least two data decryption nodes, and t represents the number of the candidate decryption results.
This ensures that the delegated decryption operation is implemented.
The embodiment of the invention also provides a data processing method, which is applied to the data decryption node, as shown in fig. 2, and comprises the following steps:
step 21, receiving a decryption request sent by a data using node, wherein the decryption request carries a data access address;
Step 22, obtaining ciphertext data from the computing network node according to the data access address;
step 23, obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data;
And step 24, sending the decryption result and the first verification parameter information to the data using node, wherein the decryption result comprises part of decryption content of ciphertext data corresponding to the decryption request.
The data processing method provided by the embodiment of the invention comprises the steps of receiving a decryption request sent by a data using node, carrying a data access address by the decryption request, acquiring ciphertext data from a computing network node according to the data access address, acquiring a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data, sending the decryption result and the first verification parameter information to the data using node, wherein the decryption result comprises partial decryption content of the ciphertext data corresponding to the decryption request, and supporting the realization that the data using node utilizes a plurality of data decryption nodes to decrypt the data, so that the decryption result (partial decryption data) obtained by each data decryption node can obtain complete decryption data according to the data decryption nodes, thereby realizing distributed entrusting decryption, avoiding the problem of lower security caused by adopting asymmetric key single point storage and the problem of management difficulty caused by adopting a symmetric key.
The method comprises the steps of obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data, wherein the decryption result and the first verification parameter information aiming at the decryption result are obtained according to a second random number, the ciphertext data and a partial key corresponding to a data using node.
In this way, the decryption result and the first verification parameter information for the decryption result can be accurately obtained.
Further, before obtaining a decryption result and first verification parameter information for the decryption result according to the ciphertext data and the partial key corresponding to the data using node, the method further comprises the steps of receiving the partial key sent by a key management node, obtaining a third public parameter corresponding to the partial key, verifying the partial key by using bilinear mapping, a generator, a public key related parameter and the third public parameter, and storing the partial key when verification is passed, wherein the public key related parameter is obtained according to an identity identifier of the data using node and a first hash function, input of the first hash function is binary calculation with any length, output of the first hash function is an addition cyclic group of q steps, and q is prime number which is generated by the key management node according to an input security parameter and is larger than a threshold value.
In this way, the accuracy of the partial key obtained can be ensured.
In the embodiment of the invention, before the decryption result and the first verification parameter information aiming at the decryption result are obtained by using the partial key corresponding to the node according to the ciphertext data and the data, the method further comprises the steps of randomly obtaining (and storing) the second random number, obtaining and disclosing the first disclosure parameter according to the second random number and the generator.
This may enable the data usage node to derive decrypted data based on the first public parameter.
The embodiment of the invention also provides a data processing method, which is applied to the data providing node, as shown in fig. 3, and comprises the following steps:
step 31, obtaining a first data encryption parameter according to the data to be encrypted, the first random number and the second public parameter;
step 32, obtaining ciphertext data according to the first data encryption parameter;
and step 33, sending the ciphertext data to the computing network node.
The data processing method provided by the embodiment of the invention obtains the first data encryption parameter according to the data to be encrypted, the first random number and the second public parameter, obtains the ciphertext data according to the first data encryption parameter, sends the ciphertext data to the computing network node, can support the realization that the data using node uses a plurality of data decrypting nodes to decrypt the data, and further obtains complete decrypting data according to the decrypting result (part of decrypting data) obtained by each data decrypting node, thereby realizing distributed entrusting decryption, avoiding the problem of lower safety caused by adopting asymmetric key single-point storage and the problem of difficult management caused by adopting symmetric keys, avoiding the data leakage caused by the attack of the data using node, reducing the risk of private key leakage caused by the attack of the single point (single data decrypting node), improving the safety of a data user, and in addition, the scheme needs a plurality of plaintext data decrypting nodes and the data using node to jointly process so as to obtain the information (namely decrypting data), and avoiding the risk of collusion decryption of the data decrypting nodes.
The embodiment of the invention also provides a data processing method which is applied to the key management node, as shown in fig. 4, and comprises the following steps:
step 41, for each data decryption node in at least two data decryption nodes, respectively acquiring a partial key and a third public parameter of the data use node;
And 42, transmitting each partial key to the corresponding data decryption node through a secure channel, and disclosing each third public parameter.
The data decryption node is used for decrypting the data, wherein the partial keys are sent to the corresponding data decryption nodes through a secure channel, and the third public parameters are disclosed, so that the sequence is not distinguished.
The data processing method provided by the embodiment of the invention is characterized in that partial keys and third public parameters of data use nodes are respectively acquired for each data decryption node in at least two data decryption nodes, each partial key is sent to the corresponding data decryption node through a secure channel, each third public parameter is disclosed, the data decryption by using a plurality of data decryption nodes can be supported to be realized, then complete decrypted data is obtained according to decryption results (partial decrypted data) obtained by each data decryption node, distributed entrusting decryption is realized, the problem of lower security caused by single point storage of an asymmetric key and the problem of difficult management caused by adoption of a symmetric key are avoided, the scheme can avoid data leakage caused by attack of the data use nodes, the risk of private key leakage caused by single point (single data decryption node) attack is reduced, the security of the data user key is improved, in addition, the scheme needs a plurality of data decryption nodes and the data use nodes to jointly process information (namely decryption data) to be obtained, and the risk of decrypting data with plaintext is avoided, and the risk of decrypting the data can be avoided.
Further, the data processing method further comprises the steps of obtaining public key related parameters according to the identity identifier of the data using node and the first hash function, obtaining a partial private key of the data using node and second verification parameter information aiming at the partial private key according to the secret parameters obtained through generating elements and random selection and the public key related parameters, sending the partial private key to the data using node through a secure channel, and disclosing the second verification parameter information.
Thus, the data using node can be supported to acquire the partial private key and verify according to the second verification parameter information.
The following illustrates the data processing method provided in the embodiment of the present invention.
In view of the above technical problems, the embodiments of the present invention provide a data processing method, which may be implemented as a distributed delegated decryption method in an computing network environment, specifically, firstly, an Identity-based public key cryptography (Identity-Based Cryptography, IBC) is adopted, and support of a PKI (public key infrastructure) digital certificate is not required, so that a public key of a user is simplified, and Identity information (corresponding to an Identity identifier of the data usage node, such as an electronic mailbox, an Identity card number, a server domain name, etc.) of the user is adopted as a public key, so that the method is suitable for a communication environment of multiple nodes of a communication network, and provides trusted key management for multiple parties such as a computing network node, a data provider, a data user, etc. Secondly, the scheme can also solve the problems of entrusting decryption, storage and sharing of data on the computing network node. Meanwhile, the scheme can solve the problems of safe storage and use of the data decryption private key, avoid the private key leakage of the computing network node and acquire sensitive data.
Specifically, the implementation of the scheme may use an architecture diagram shown in fig. 5, where the following description is given to each part involved:
Data provider node DPN (corresponding to the data providing node described above) is the data's owner device that uses the storage and computing power provided by the computing network to manage its own data, etc.
The data user node DUN (corresponding to the data use node described above) is the data user device that uses the data provided by the third party using the storage and computing power provided by the computing network.
The computing network node CNN, the node in the computing network responsible for providing storage and computing power, may be self-owned by the computing network operator or by a third party.
The network entrusting decryption node DDN (corresponding to the data decryption node) is a node providing entrusting decryption capability in the network, and can be self-owned by an operator or a third party and has certain credibility.
The key management node KMN has higher security and reliability and is used for providing key distribution and management, and in the embodiment of the scheme, the KMN can be equivalent to a PKG (PRIVATE KEY Generator ) in the IBC by adopting an IBC (identification-based cryptosystem) cryptography technology, so as to provide key management for the node.
Based on the above, the scheme can realize the secure distribution and management of the public parameters of the system and the public parameters of a plurality of DDN nodes by introducing the KMN to the key secure distribution and management of the DUN, and adopts the public key cryptography technology based on the identity, so that the identity information of the user is used as the public key to provide the trusted key management for the computing network nodes, the data provider, the data user and other parties, the data is stored by the CNN, the data is entrusted and decrypted by the DDN, and the related network elements can not acquire the final plaintext data in the whole data circulation process, thereby ensuring the confidentiality of the data and avoiding the third party computing network nodes with lower credibility from acquiring the sensitive data.
Specifically, the scheme can comprise the following operations:
s1, a system establishment (Setup) process:
1) The key management node KMN generates a large prime number q (i.e. prime number greater than threshold) based on the input security parameter k, selects an addition cyclic group with G 1 as q-order, selects a multiplication cyclic group with G 2 as q-order, generates a binary mapping e.g. G 1, defines 5 secure Hash functions H 1:{0,1}*→G1 (representing binary calculation from arbitrary length to G1), H 2:G2→{0,1}n (representing binary calculation from G2 to length n), H 3:{0,1}n→Zq(Zq represents an addition cyclic group of modulo q, and H 4:{0,1}n→{0,1}n,H5:G2→G1, where n represents the bit length of the message. It can also be understood that the key management node generates a large prime number q according to the input security parameter, determines an addition cyclic group G1 corresponding to the large prime number q-order, a multiplication cyclic group G2 corresponding to the large prime number q-order, and a generator P, determines a bilinear map e: G 1×G1→G2 according to the addition cyclic group and the multiplication cyclic group, and determines five Hash functions.
2) KMN randomly selects and secrets a saving system master key(Meaning that s is randomly selected from the integer multiplication group of modulo q), the public key P pub =s·p is calculated. KMN discloses system parameters G 1,G2,n,q,e,P,Ppub,H1,H2,H3,H4,H5. It can also be understood that the KMN randomly selects and secretly stores a system master key, calculates a public key, determines system parameters including addition loop group, multiplication loop group, bit length of message, prime number, bilinear map, generator element, public key, and five Hash functions, and discloses the system parameters.
3) All DDN nodes in the system involved in delegated decryption, including the subsequently newly joined DDN nodes, are initialized by randomly selecting and secretly holding a random number for DDN i (i=1,..n.)(S DDN,i is selected randomly from the integer multiplication group of modulo q, the second random number is obtained randomly corresponding to the data decryption node, and stored), and a disclosure parameter S DDN,i=sDDN,i ·p (corresponding to the first disclosure parameter obtained from the second random number and the generator, and disclosed) is calculated and disclosed. It is understood that the DDN node participating in the delegated decryption is initialized.
S2, a key extraction (Extract) process:
Let n DDN nodes in the system altogether, the threshold value of the scheme is t, satisfy n is greater than or equal to 2t-1, where t represents that at least t DDN nodes are required to complete the delegated decryption operation (the number corresponding to the candidate decryption result satisfies the first condition).
1) For the user node DUN, the identity identifier of the user node DUN is set to be ID DUN, which can be used as the public key of the DUN. KMN randomly selects secret parameters(Meaning that Y is randomly selected from the integer multiplication group of modulo Q), calculating Y DUN=y·QDUN,Y'DUN = y·p (corresponding to the secret parameter obtained according to the generator, the random selection and the public key related parameter, obtaining a partial private key of the data using node and second verification parameter information for the partial private key), wherein the public key related parameter Q DUN=H1(IDDUN corresponds to the identity identifier of the data using node and the first hash function, obtaining the public key related parameter, transmitting Y DUN as the partial private key of the DUN to the DUN secret to be stored through the secure channel, disclosing a public parameter Y' DUN (corresponding to the second verification parameter information, for verifying whether Y DUN is generated for the DUN with the number i), and corresponding to transmitting the partial private key to the data using node through the secure channel and disclosing the second verification parameter information. It is also understood that the KMN randomly selects the secret parameters by determining the public key of the user node DUN based on the identifier information of the user node DUNCalculating Y DUN=y·QDUN,Y'DUN = y·p, wherein the partial private key with Q DUN=H1(IDDUN),YDUN being DUN is sent to the DUN secret store through a secure channel, public Y' DUN.
2) DUN verifies the validity of Y DUN by keeping Y DUN securely if it is consistent, otherwise returning an error message to KMN (end of the procedure for this DUN node):
e (Y DUN,P)=e(QDUN,Y'DUN), corresponding to the partial private key sent by the receiving key management node, acquiring second verification parameter information corresponding to the partial private key, verifying the partial private key by using bilinear mapping, a generator, a public key related parameter and the second verification parameter information, and storing the partial private key when verification is passed. Here, e in the formula and e related to the following similar formulas may be bilinear maps that are constructed when the system is built, but are not limited thereto.
S3, initialization procedure (initialization):
1) KMN random selection (Representing random selection of a i from the integer multiplication group of modulo q), where i=1,..t-1, construct (objective) functions (facilitating subsequent restoration of data, decryption):
f(x)=s+y+a1x+a2x2+…+at-1xt-1;
2) For DDN 1,…,DDNn, KMN calculates a partial key S DUN,i=f(i)·QDUN of DUN and a public parameter F i =f (i) ·p (corresponding to each of the at least two data decryption nodes, respectively acquiring a partial key of a data usage node and a third public parameter) for each of the at least two data decryption nodes (corresponding to each of the partial keys being transmitted to the corresponding data decryption node through a secure channel as described above), S DUN,i is transmitted to DDN i through a secure channel, respectively, and F i is used as a public parameter (corresponding to each of the third public parameters being disclosed as described above), where 1≤i≤n. It can also be understood that, for n DDN nodes, KMN calculates a partial key S DUN,i=f(i)·QDUN and a public parameter F i =f (i) ·p for each DUN, and sends S DUN,i to DDN i,Fi through a secure channel as a public parameter, respectively, where 1+≤i+≤n.
From the above, in this scheme, the KMN splits the key of the DUN into multiple parts and sends the multiple parts to the DNN.
3) DDN i (i=1,., n) receives S DUN,i (each DDN node receives key S DUN,i), the validity of S DUN,i is verified by the following calculation:
e (S DUN,i,P)=e(QDUN,Fi); the partial key sent by the key management node is received correspondingly, and a third public parameter corresponding to the partial key is obtained; verifying the partial key by using bilinear mapping, a generator, a public key related parameter and the third public parameter;
If so, secret save S DUN,i (corresponding to saving the partial key if verification passes as described above), otherwise return error information to the KMN.
S4, a data encryption process (encryptions):
1) When the DPN has data M (corresponding to the data to be encrypted) to be shared to the DUN through the computing network, the DPN obtains the public information ID DUN of the DUN (i.e., the identity of the DUN, i.e., the public key of the DUN) from the KMN bulletin board.
2) DPN randomly selects a random number (corresponding to the first random number)(Representing a random selection of alpha from the integer multiplication group of modulo q), r=h 3(α,M),V=r·P,U=r·Y'DUN (corresponding to the first data encryption parameter obtained from the data to be encrypted, the first random number and the second public parameter described above),The encrypted ciphertext C DUN = (U, V, W, T) is obtained, where C DUN = (U, V, W, T) is the encrypted ciphertext (corresponding to the above-mentioned ciphertext data obtained from the first data encryption parameter). Wherein V, U, W and T are each part of an encrypted ciphertext.
3) The DPN may select an appropriate CNN (e.g., a closer CNN) according to the principles of security, reliability, etc., and send ciphertext C DUN to the CNN store (corresponding to sending the ciphertext data to the network node as described above).
S5, a data decryption process (Decrypt):
1) When the DUN needs to use data shared by the DPNs, the DUN sends an access address (e.g., URL, etc.) of the data to DDN i (i=1, n), i.e. to all DDNs to initiate decryption requests, DDN i obtains ciphertext data C DUN = (U, V, W, T) from the CNN. The method comprises the steps of respectively sending decryption requests to at least two data decryption nodes corresponding to the data using nodes, wherein the decryption requests carry data access addresses, receiving the decryption requests sent by the data using nodes by the data decryption nodes, carrying the data access addresses by the decryption requests, and acquiring ciphertext data from an algorithm network node according to the data access addresses.
2) DDN i (i=1,., n) calculates a i=e(V,SDUN,i+sDDN,iY'DUN),A'i=sDDN,i·H5(Ai by means of secret information S DUN,i, obtains a decryption result and first authentication parameter information for the decryption result corresponding to the second random number, the ciphertext data, and the partial key corresponding to the data usage node, and transmits (a i,A'i) to DUN corresponding to the transmission of the decryption result and first authentication parameter information to the data usage node. Wherein, (a i,A'i) represents the decryption result and the first authentication parameter information.
3) DUN received (a i,A'i) (i=1,..n), validity of (a i,A'i) was verified by the following calculation:
e (H 5(Ai),sDUN,i·P)=e(A'i, P) corresponding to the first verification parameter information, respectively verifying the corresponding decryption result;
if the result is consistent, the result indicates that the result is valid (corresponding to the result of the decryption according to the verification, the decrypted data is obtained), otherwise, the result indicates that the result is invalid, possibly that the DDN is attacked, and the reliability of the DDN can be reduced according to the situation.
4) DUN randomly constructs a set from valid decryption results (set to n')And |t|=t (i.e. the number of elements of the set T is T; corresponding to the above decryption result passing the verification, at least one candidate decryption result is obtained), and the partial decryption result a i is reconstructed:
Wherein the method comprises the steps of Is the lagrangian (Lagrange) coefficient. S DUN represents the true private key (complete) of the DUN, which is determined by KMN, and the DUN is not known, and may specifically be S DUN=s·QDUN, but is not limited thereto.
5) Calculation by AObtaining alpha (corresponding to the above-mentioned first bilinear map and second bilinear map respectively corresponding to each candidate decryption result and obtaining first random number), calculating the decryption messageAnd obtaining decryption data according to the first random number.
By the scheme, the trusted key management can be provided for multiple parties such as the computing network node, the data provider, the data user and the like, the problems of entrusting decryption, storage and sharing of data on the computing network node and the problems of safe storage and use of a decryption private key are solved, and the leakage of the private key and the leakage of sensitive data of the computing network node are avoided. Specifically, the scheme relates to the following contents:
1) The scheme is suitable for a distributed entrusted decryption system architecture in an computing network environment, and the KMN is introduced to realize the secure distribution and management of keys of the DUN, so that the secure management of public parameters in the system and the public parameters of a plurality of DDN nodes can be realized.
2) In the scheme, the private key of the DUN is not stored and managed by the DUN single point, the DUN does not have complete private key information, and the deformed private key is managed by the n DDN nodes and the DUN together, so that the risk of private key leakage caused by single point attack is reduced.
3) The initialization process and the key extraction process of the scheme need to be supported by a secure channel in the process of executing less times, and the data encryption and data entrusting decryption processes with more times do not need to be supported by the secure channel, so that the communication load of the system is reduced.
4) In the system setup flow, all DDN nodes in the system participating in delegated decryption generate an initialization parameter s DDN,i,SDDN,i for subsequent verification of DDN i partial decryption messages.
5) In the key extraction process 1), the KMN calculates a partial private key Y DUN for subsequent decryption, so that the decryption can be performed only by the DUN, and the risk of collusion of the DDN nodes for decryption is avoided.
6) In key extraction process 2), DUN can verify the validity of Y DUN through the published Y' DUN, avoiding the risk of forging part of the private key.
7) In the data encryption process 1), ciphertext and partial private key Y DUN are associated by introducing u=ry' DUN.
8) In data decryption process 2), part of the decryption information (a i,A'i) does not expose any information of the plaintext, nor does it expose the private key information of the DDN.
9) In the data decryption process 3), the DUN can verify (a i,A'i) the validity, thereby locating the DDN node in question, and reducing the reliability of the DDN according to the situation, and also avoiding decryption failure due to the reception of the wrong parameter.
10 In the data decryption process 4), the DUN may select t DDN nodes according to circumstances, decrypt the plaintext by using the partial key stored in the DUN, and must decrypt the plaintext information under the joint decryption of at least t DDN nodes and the DUN.
In summary, the scheme has the following advantages:
1) The scheme adopts the IBC cryptographic technology, does not need the support of PKI digital certificates, simplifies the public key of the user, adopts the identity information (such as a server domain name, a server name, a mechanism name and the like) of the node as the public key, is suitable for the communication environment of multiple nodes of a communication network, and provides trusted key management for multiple parties such as DPN, DUN and the like.
2) The scheme can solve the problem of entrusted encryption storage and sharing of data on the computing network nodes, and the nodes such as DPN, DUN and KMN do not need to be online for a long time, but entrusted to the computing network nodes DDN and CNN for safe storage and sharing of the data.
3) In the scheme, the private key of the DUN is not stored and managed by the DUN single point, the DUN does not have complete private key information, and the n DDN nodes and the DUN jointly manage the deformed private key, so that the risk of private key leakage caused by single point attack is reduced, and the security of the private key of a data user is improved.
4) Because the DUN does not have a complete decryption key, even if the DUN is compromised, part of the private key is revealed, the DUN only needs to apply for key revocation to the KMN or the DDN node, so that the DDN cannot cooperate to complete decryption, and an attacker cannot decrypt a complete plaintext.
5) Each DDN node has no complete decryption key, even if the private key of part of the nodes is revealed, the complete private key is not revealed, and an attacker cannot decrypt the complete plaintext, so that the risk of key abuse and the risk of key loss caused by that a certain computing network node completely grasps the key can be reduced or avoided, the risk of system paralysis caused by that a certain node is completely controlled by the attacker can be reduced, and the fault tolerance rate and the safety of the system are improved.
6) The scheme can decrypt the plaintext information only under the joint decryption of at least t DDN nodes and DUN, and avoids the risk of collusion decryption of the DDN nodes.
7) In the entrusting decryption process of the scheme, the DUN can verify the validity of part of the decryption information, so that the ddN node with a problem is positioned, the reliability of the ddN is reduced according to the situation, and decryption failure caused by receiving wrong parameters can be avoided.
8) In the scheme, the data is stored by the CNN and is entrusted and decrypted by the DDN, and the related network elements cannot acquire the final plaintext M in the whole data circulation process, so that the confidentiality of the data is ensured, and the possibility that a third-party computing network node with lower reliability acquires sensitive data is avoided.
9) The initialization process and the key extraction process of the scheme need to be supported by a secure channel in the process of executing less times, and the data encryption and data entrusting decryption processes with more times do not need to be supported by the secure channel, so that the communication load of the system is reduced.
In summary, the scheme provides the distributed entrusted decryption method in the computing network environment, which can be applied to the computing network environment, protects the data security and has wider application prospect.
The embodiment of the invention also provides a data processing device, which is applied to the data using node, as shown in fig. 6, and comprises:
a first sending module 61, configured to send decryption requests to at least two data decryption nodes, where the decryption requests carry data access addresses;
A first receiving module 62, configured to receive a decryption result fed back by each of the data decryption nodes and first verification parameter information for the decryption result;
A first processing module 63, configured to obtain decryption data according to each decryption result and the first verification parameter information;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
The data processing device provided by the embodiment of the invention respectively sends decryption requests to at least two data decryption nodes, wherein the decryption requests carry data access addresses, receives decryption results fed back by the data decryption nodes and first verification parameter information aiming at the decryption results, obtains decryption data according to the decryption results and the first verification parameter information, wherein the decryption results comprise partial decryption contents of ciphertext data corresponding to the decryption requests, can support the realization of data decryption by utilizing a plurality of data decryption nodes, further obtains complete decryption data according to the decryption results (partial decryption data) obtained by the data decryption nodes, thereby realizing distributed entrustment decryption, avoiding the problem of lower security caused by adopting asymmetric key single-point storage and the problem of management difficulty caused by adopting symmetric keys, avoiding data leakage caused by the attack of data use nodes, reducing the security of private keys caused by single-point (single data decryption node) attack, improving the security of the private keys of data users, and further avoiding the situation that the data decryption nodes need a plurality of data decryption nodes and the data use nodes together to obtain the plaintext information (namely, the data decryption nodes can be used for decrypting).
The method comprises the steps of obtaining decryption data according to each decryption result and first verification parameter information, verifying the corresponding decryption result according to each first verification parameter information, and obtaining the decryption data according to the decryption result passing verification.
The embodiment of the invention discloses a method for obtaining decryption data according to a decryption result passing verification, which comprises the steps of obtaining at least one candidate decryption result according to the decryption result passing verification, obtaining a first random number according to each candidate decryption result and a first bilinear map and a second bilinear map which correspond to each candidate decryption result respectively, and obtaining the decryption data according to the first random number, wherein mapping parameters of the first bilinear map comprise a first public parameter and a first data encryption parameter which correspond to the candidate decryption result, and mapping parameters of the second bilinear map comprise a second data encryption parameter and a part of private keys of data using nodes.
The data processing device further comprises a second receiving module, a first verifying module and a first preserving module, wherein the second receiving module is used for receiving the partial private key sent by a key management node and obtaining second verifying parameter information corresponding to the partial private key before the first random number is obtained according to each candidate decryption result and a first bilinear map and a second bilinear map which correspond to each candidate decryption result, the first verifying module is used for verifying the partial private key by using bilinear map, a generating element, a public key related parameter and the second verifying parameter information, and the first preserving module is used for preserving the partial private key under the condition that verification is passed, the public key related parameter is obtained by using an identity identifier of a node and a first hash function according to data, the input of the first hash function is binary calculation of any length, the output of the first hash function is an addition cyclic group of q-order, and q is a prime number which is greater than a threshold and is generated by the key management node according to the input safety parameter.
In the embodiment of the invention, the number of the candidate decryption results meets a first condition, wherein the first condition is that n is more than or equal to 2t-1, n represents the total number of the at least two data decryption nodes, and t represents the number of the candidate decryption results.
The above embodiments of the data processing method on the data use node side are applicable to the embodiments of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a data processing device, which is applied to the data decryption node, as shown in fig. 7, and comprises:
a third receiving module 71, configured to receive a decryption request sent by a data usage node, where the decryption request carries a data access address;
a first obtaining module 72, configured to obtain ciphertext data from the computing network node according to the data access address;
a second processing module 73, configured to obtain a decryption result and first verification parameter information for the decryption result according to the ciphertext data;
a second transmitting module 74, configured to transmit the decryption result and the first verification parameter information to the data usage node;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
The data processing device provided by the embodiment of the invention receives a decryption request sent by a data using node, wherein the decryption request carries a data access address, acquires ciphertext data from a computing network node according to the data access address, acquires a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data, and sends the decryption result and the first verification parameter information to the data using node, wherein the decryption result comprises partial decryption content of the ciphertext data corresponding to the decryption request, the data using node can be supported to decrypt the data by utilizing a plurality of data decrypting nodes, and further, the decryption result (partial decryption data) obtained by each data decrypting node can obtain complete decryption data according to the data decrypting node, so that distributed entrustment decryption is realized, the problem of lower security caused by adopting asymmetric key single point storage and the problem of difficult management caused by adopting a symmetric key are avoided.
The method comprises the steps of obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data, wherein the decryption result and the first verification parameter information aiming at the decryption result are obtained according to a second random number, the ciphertext data and a partial key corresponding to a data using node.
The data processing device further comprises a fourth receiving module, a second verifying module and a second storing module, wherein the fourth receiving module is used for receiving the partial key sent by a key management node and obtaining a third public parameter corresponding to the partial key before obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data and the partial key corresponding to the data using node, the second verifying module is used for verifying the partial key by utilizing bilinear mapping, a generating element, a public key related parameter and the third public parameter, and the second storing module is used for storing the partial key under the condition that verification is passed, the public key related parameter is obtained according to an identity identifier of the data using node and a first hash function, the input of the first hash function is binary calculation of any length, the output of the first hash function is a q-order cyclic group, and q is an addition prime number which is generated by the key management node according to the input safety parameter and is larger than a threshold value.
In the embodiment of the invention, the data processing device further comprises a third processing module for randomly acquiring (and storing) the second random number before the decryption result and the first verification parameter information aiming at the decryption result are obtained according to the ciphertext data and the partial key corresponding to the data using node, and a fourth processing module for acquiring and disclosing the first public parameter according to the second random number and the generator.
The implementation embodiments of the data processing method at the data decryption node side are applicable to the embodiments of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a data processing device, which is applied to the data providing node, as shown in fig. 8, and comprises:
A fifth processing module 81, configured to obtain a first data encryption parameter according to the data to be encrypted, the first random number, and the second public parameter;
A sixth processing module 82, configured to obtain ciphertext data according to the first data encryption parameter;
And the third sending module 83 is configured to send the ciphertext data to the computing network node.
The data processing device provided by the embodiment of the invention obtains the first data encryption parameter according to the data to be encrypted, the first random number and the second public parameter, obtains ciphertext data according to the first data encryption parameter, sends the ciphertext data to the computing network node, can support the realization that the data using node uses a plurality of data decrypting nodes to decrypt the data, and further obtains complete decrypting data according to the decrypting result (part of decrypting data) obtained by each data decrypting node, thereby realizing distributed entrusting decryption, avoiding the problem of lower safety caused by adopting asymmetric key single-point storage and the problem of difficult management caused by adopting symmetric keys, avoiding data leakage caused by the attack of the data using node, reducing the risk of private key leakage caused by the attack of the single point (single data decrypting node), improving the safety of a data user, and in addition, the scheme needs a plurality of plaintext data decrypting nodes and the data using node to jointly process so as to obtain the information (namely decrypting data), and avoiding the risk of collusion decryption of the data decrypting nodes.
The above embodiments of the data processing method at the data providing node are applicable to the embodiments of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a data processing device, which is applied to the key management node, as shown in fig. 9, and comprises:
a second obtaining module 91, configured to obtain, for each of the at least two data decryption nodes, a partial key and a third public parameter of the data usage node;
A fourth sending module 92, configured to send each partial key to a corresponding data decryption node through a secure channel;
a seventh processing module 93, configured to disclose each of the third disclosure parameters.
The data processing device provided by the embodiment of the invention respectively acquires the partial key and the third public parameter of the data use node by aiming at each data decryption node in at least two data decryption nodes, sends each partial key to the corresponding data decryption node through a secure channel, and discloses each third public parameter, so that the data use node can be supported to decrypt the data by utilizing a plurality of data decryption nodes, and further complete decrypted data can be obtained according to the decryption result (partial decrypted data) obtained by each data decryption node, thereby realizing distributed entrusting decryption, avoiding the problem of lower security caused by single point storage by adopting an asymmetric key and the problem of difficult management caused by adopting a symmetric key.
Further, the data processing device further comprises an eighth processing module, a third acquisition module and a ninth processing module, wherein the eighth processing module is used for obtaining public key related parameters according to the identity identifier of the data using node and the first hash function, the third acquisition module is used for acquiring a part of private key of the data using node and second verification parameter information aiming at the part of private key according to the secret parameters obtained through generating elements and random selection and the public key related parameters, and the ninth processing module is used for sending the part of private key to the data using node through a secure channel and disclosing the second verification parameter information.
The embodiments of the data processing method on the key management node side are applicable to the embodiments of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a data processing device, which is a data using node, as shown in fig. 10, and comprises a processor 101 and a transceiver 102;
the processor 101 is configured to send decryption requests to at least two data decryption nodes through the transceiver 102, where the decryption requests carry data access addresses;
receiving, by the transceiver 102, a decryption result fed back by each of the data decryption nodes and first verification parameter information for the decryption result;
Obtaining decryption data according to each decryption result and the first verification parameter information;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
The data processing device provided by the embodiment of the invention respectively sends decryption requests to at least two data decryption nodes, wherein the decryption requests carry data access addresses, receives decryption results fed back by the data decryption nodes and first verification parameter information aiming at the decryption results, obtains decryption data according to the decryption results and the first verification parameter information, wherein the decryption results comprise partial decryption contents of ciphertext data corresponding to the decryption requests, can support the realization of data decryption by utilizing a plurality of data decryption nodes, and further obtains complete decryption data according to the decryption results (partial decryption data) obtained by the data decryption nodes, thereby realizing distributed entrusting decryption, avoiding the problem of lower security caused by adopting asymmetric key single-point storage and the problem of management difficulty caused by adopting symmetric keys.
The method comprises the steps of obtaining decryption data according to each decryption result and first verification parameter information, verifying the corresponding decryption result according to each first verification parameter information, and obtaining the decryption data according to the decryption result passing verification.
The embodiment of the invention discloses a method for obtaining decryption data according to a decryption result passing verification, which comprises the steps of obtaining at least one candidate decryption result according to the decryption result passing verification, obtaining a first random number according to each candidate decryption result and a first bilinear map and a second bilinear map which correspond to each candidate decryption result respectively, and obtaining the decryption data according to the first random number, wherein mapping parameters of the first bilinear map comprise a first public parameter and a first data encryption parameter which correspond to the candidate decryption result, and mapping parameters of the second bilinear map comprise a second data encryption parameter and a part of private keys of data using nodes.
The processor is further configured to receive, by the transceiver, the partial private key sent by the key management node and obtain second verification parameter information corresponding to the partial private key before obtaining the first random number according to each candidate decryption result and the first bilinear map and the second bilinear map that correspond to each candidate decryption result, verify the partial private key by using the bilinear map, the generating element, the public key related parameter and the second verification parameter information, and store the partial private key if the verification is passed, where the public key related parameter is obtained by using an identifier of a node and a first hash function according to the data, an input of the first hash function is binary calculation with an arbitrary length, an output of the first hash function is an addition cyclic group of q-order, and q is a prime number greater than a threshold value generated by the key management node according to an input security parameter.
In the embodiment of the invention, the number of the candidate decryption results meets a first condition, wherein the first condition is that n is more than or equal to 2t-1, n represents the total number of the at least two data decryption nodes, and t represents the number of the candidate decryption results.
The implementation embodiments of the data processing method of the data using node side are applicable to the embodiments of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a data processing device, which is a data decryption node, as shown in fig. 11, and comprises a processor 111 and a transceiver 112;
the processor 111 is configured to receive, through the transceiver 112, a decryption request sent by a data usage node, where the decryption request carries a data access address;
Acquiring ciphertext data from the computing network node according to the data access address;
obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data;
Transmitting the decryption result and first authentication parameter information to the data use node through the transceiver 112;
the decryption result comprises a part of decryption content of ciphertext data corresponding to the decryption request.
The data processing equipment provided by the embodiment of the invention receives a decryption request sent by a data using node, wherein the decryption request carries a data access address, acquires ciphertext data from a computing network node according to the data access address, acquires a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data, sends the decryption result and the first verification parameter information to the data using node, wherein the decryption result comprises partial decryption content of the ciphertext data corresponding to the decryption request, can support the data using node to decrypt the data by utilizing a plurality of data decrypting nodes, further obtains complete decryption data according to the decryption result (partial decryption data) obtained by each data decrypting node, thereby realizing distributed entrusting decryption, avoiding the problem of lower security caused by adopting asymmetric key single point storage and the problem of difficult management caused by adopting a symmetric key, avoiding data leakage caused by attack of the data using node, reducing the risk of private leakage caused by single point (single data decrypting node) attack, improving the security of a data user, and avoiding the fact that the data decrypting node and the common decrypting node need to process the data.
The method comprises the steps of obtaining a decryption result and first verification parameter information aiming at the decryption result according to the ciphertext data, wherein the decryption result and the first verification parameter information aiming at the decryption result are obtained according to a second random number, the ciphertext data and a partial key corresponding to a data using node.
The processor is further configured to, before obtaining a decryption result and first verification parameter information for the decryption result according to the ciphertext data and a partial key corresponding to the data using a node, receive, by the transceiver, the partial key sent by a key management node, and obtain a third public parameter corresponding to the partial key, verify the partial key by using a bilinear map, a generator, a public key related parameter, and the third public parameter, and store the partial key if the verification is passed, where the public key related parameter is obtained according to an identity identifier of the data using a node and a first hash function, an input of the first hash function is binary calculation with an arbitrary length, an output of the first hash function is an addition cyclic group of q-order, and q is a prime number greater than a threshold value generated by the key management node according to an input security parameter.
In the embodiment of the invention, the processor is further used for randomly acquiring (and storing) the second random number before the decryption result and the first verification parameter information aiming at the decryption result are obtained by using the partial key corresponding to the node according to the ciphertext data and the data, and obtaining and disclosing the first public parameter according to the second random number and the generator.
The implementation embodiments of the data processing method at the data decryption node side are applicable to the embodiment of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a data processing device, which is a data providing node, as shown in fig. 12, and comprises a processor 121 and a transceiver 122;
The processor 121 is configured to obtain a first data encryption parameter according to the data to be encrypted, the first random number, and the second public parameter;
obtaining ciphertext data according to the first data encryption parameter;
The ciphertext data is transmitted to an algorithm node via the transceiver 122.
The data processing equipment provided by the embodiment of the invention obtains the first data encryption parameter according to the data to be encrypted, the first random number and the second public parameter, obtains ciphertext data according to the first data encryption parameter, sends the ciphertext data to the computing network node, can support the realization that the data using node uses a plurality of data decrypting nodes to decrypt the data, and further obtains complete decrypting data according to the decrypting result (part of decrypting data) obtained by each data decrypting node, thereby realizing distributed entrusting decryption, avoiding the problem of lower safety caused by adopting asymmetric key single-point storage and the problem of difficult management caused by adopting symmetric keys, avoiding data leakage caused by the attack of the data using node, reducing the risk of private key leakage caused by the attack of the single point (single data decrypting node), improving the safety of a data user, and in addition, the scheme needs a plurality of plaintext data decrypting nodes and the data using node to jointly process so as to obtain the information (namely decrypting data), and avoiding the risk of collusion decryption of the data decrypting nodes.
The implementation embodiments of the data processing method at the data providing node side are applicable to the embodiment of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a data processing device, which is a key management node, as shown in fig. 13, and comprises a processor 131 and a transceiver 132;
The processor 131 is configured to obtain, for each of the at least two data decryption nodes, a partial key and a third public parameter of the data usage node;
transmitting each of the partial keys to a corresponding one of the data decryption nodes through a secure channel via the transceiver 132;
and disclosing each third disclosure parameter.
The data processing equipment provided by the embodiment of the invention respectively acquires the partial key and the third public parameter of the data use node by aiming at each data decryption node in at least two data decryption nodes, sends each partial key to the corresponding data decryption node through a secure channel, and discloses each third public parameter, so that the data use node can be supported to decrypt the data by utilizing a plurality of data decryption nodes, and further complete decrypted data can be obtained according to the decryption result (partial decrypted data) obtained by each data decryption node, thereby realizing distributed entrusting decryption, avoiding the problem of lower security caused by single point storage by adopting an asymmetric key and the problem of difficult management caused by adopting a symmetric key.
Further, the processor is further configured to obtain a public key related parameter according to an identifier of a data usage node and a first hash function, obtain a partial private key of the data usage node and second verification parameter information for the partial private key according to a secret parameter obtained by generating element and random selection and the public key related parameter, send the partial private key to the data usage node through a secure channel through the transceiver, and disclose the second verification parameter information.
The implementation embodiments of the data processing method on the key management node side are applicable to the embodiments of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides data processing equipment which comprises a memory, a processor and a program stored in the memory and capable of running on the processor, wherein the processor realizes the data processing method of the data use node side, the data decryption node side, the data providing node side or the key management node side when executing the program.
The implementation embodiments of the data processing method of the data use node side, the data decryption node side, the data providing node side or the key management node side are all applicable to the embodiment of the data processing device, and the same technical effects can be achieved.
The embodiment of the invention also provides a readable storage medium, on which a program is stored, which when executed by a processor, implements the steps in the data processing method of the data use node side, the data decryption node side, the data providing node side, or the key management node side.
The implementation embodiments of the data processing method of the data use node side, the data decryption node side, the data providing node side or the key management node side are all applicable to the embodiment of the readable storage medium, and the same technical effects can be achieved.
It should be noted that many of the functional components described in this specification have been referred to as modules, in order to more particularly emphasize their implementation independence.
In an embodiment of the invention, the modules may be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different bits which, when joined logically together, comprise the module and achieve the stated purpose for the module.
Indeed, a module of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Likewise, operational data may be identified within modules and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices.
Where a module may be implemented in software, taking into account the level of existing hardware technology, a module may be implemented in software, and one skilled in the art may, without regard to cost, build corresponding hardware circuitry, including conventional Very Large Scale Integration (VLSI) circuits or gate arrays, and existing semiconductors such as logic chips, transistors, or other discrete components, to achieve the corresponding functions. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
While the foregoing is directed to the preferred embodiments of the present invention, it will be appreciated by those skilled in the art that various modifications and changes can be made without departing from the principles of the present invention, and such modifications and changes should also be considered as being within the scope of the present invention.
Claims (21)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310560048.7A CN119011127B (en) | 2023-05-18 | 2023-05-18 | Data processing method, device and equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310560048.7A CN119011127B (en) | 2023-05-18 | 2023-05-18 | Data processing method, device and equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119011127A CN119011127A (en) | 2024-11-22 |
| CN119011127B true CN119011127B (en) | 2026-01-16 |
Family
ID=93488776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310560048.7A Active CN119011127B (en) | 2023-05-18 | 2023-05-18 | Data processing method, device and equipment |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119011127B (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108418686A (en) * | 2017-11-23 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | A multi-distributed SM9 decryption method and medium and key generation method |
| CN111010276A (en) * | 2019-10-25 | 2020-04-14 | 武汉大学 | A multi-party joint SM9 key generation, ciphertext decryption method and medium |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5752751B2 (en) * | 2013-07-18 | 2015-07-22 | 日本電信電話株式会社 | Decryption system, terminal device, signature system, method thereof, and program |
| US11411742B2 (en) * | 2020-09-08 | 2022-08-09 | Qed-It Systems Ltd. | Private set calculation using private intersection and calculation, and applications thereof |
-
2023
- 2023-05-18 CN CN202310560048.7A patent/CN119011127B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108418686A (en) * | 2017-11-23 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | A multi-distributed SM9 decryption method and medium and key generation method |
| CN111010276A (en) * | 2019-10-25 | 2020-04-14 | 武汉大学 | A multi-party joint SM9 key generation, ciphertext decryption method and medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119011127A (en) | 2024-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12375304B2 (en) | Mutual authentication of confidential communication | |
| US11108565B2 (en) | Secure communications providing forward secrecy | |
| JP7119040B2 (en) | Data transmission method, device and system | |
| US11870891B2 (en) | Certificateless public key encryption using pairings | |
| US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
| US9106410B2 (en) | Identity based authenticated key agreement protocol | |
| US20170244687A1 (en) | Techniques for confidential delivery of random data over a network | |
| US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
| CN117914483A (en) | Secure communication method, apparatus, device and medium | |
| CN119011127B (en) | Data processing method, device and equipment | |
| CN114070550B (en) | Information processing method, device, equipment and storage medium | |
| CN114095151B (en) | Encryption and decryption method, authentication method, device, equipment and storage medium | |
| Yin et al. | PKI-based cryptography for secure cloud data storage using ECC | |
| CN119011120B (en) | Delegated encryption method, system, encryption device and medium for computing power network nodes | |
| Mulkey et al. | Towards an efficient protocol for privacy and authentication in wireless networks | |
| Paar et al. | Key Management | |
| CN120639277A (en) | Construction method of identity-based oblivious pseudo-random function and end-to-end encryption method implemented according to national secret standards | |
| HK40020610A (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
| HK40020610B (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
| HK1241582B (en) | Data transmission method, data transmission device and data transmission system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |