Efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph

By adopting a proxy re-encryption method based on directed acyclic graph in IoT data sharing, the problems of large computing overhead and low data transmission security in the prior art are solved, and efficient and reliable data sharing and access control are achieved.

CN119675955APending Publication Date: 2025-03-21CHONGQING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411859182.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

The existing attribute-based proxy re-encryption scheme has a high computational overhead during system initialization, encryption and re-encryption, especially when attributes and access policies increase, resulting in an increase in user economic burden, and data is prone to tampering or error forwarding during transmission.

Method used

Efficient and reliable proxy re-encryption method based on directed acyclic graph (DAG) is adopted, and system parameters and keys are initialized by trusted authoritative organizations. Edge nodes encrypt and hash operations on data, and upload encrypted messages and hash values ​​to DAG. Cloud servers use re-encryption keys to convert ciphertexts, data sharers check encryption policies and attribute matching for decryption, and verify ciphertext integrity through hash.

Benefits of technology

The calculation overhead is achieved when the number of attributes increases, ensuring fine-grained control of data access and ciphertext integrity verification, and improving the security and verifiability of data during transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119675955A_ABST
    Figure CN119675955A_ABST
Patent Text Reader

Abstract

The invention relates to a directed acyclic graph-based efficient and reliable attribute-based proxy re-encryption method, which belongs to the technical field of information security, and comprises the following steps: a trusted authority initializes system parameters and generates a system master key and user public and private keys; the edge node generates a symmetric key and encrypts data, and generates a re-encryption key for data sharing; the cloud server converts the ciphertext into a ciphertext meeting a sharing strategy by using the re-encryption key; the directed acyclic graph records system parameters, a ciphertext hash value and a public key of a key holder; and the data sharer decrypts the ciphertext after matching the access strategy, and completes data integrity verification and symmetric key recovery through signature and subkey verification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of information security, and relates to an efficient and reliable attribute-based proxy re-encryption method based on a directed acyclic graph. Background Art

[0002] The Internet of Things (IoT) is a system that connects objects and devices through the Internet to achieve information sharing and intelligence. With the development and maturity of IoT technology, the IoT has gradually developed from the initial concept and penetrated into various fields, such as medical, transportation, environmental monitoring and other industries. Hundreds of millions of smart devices use sensors to monitor the status of devices in real time, and the IoT data generated is growing exponentially. IoT data processing and data-based smart services have brought us a better smart life, efficient work and colorful entertainment. However, privacy leakage that may be caused by data sharing should be paid attention to. To solve this problem, encryption using cryptographic technology can achieve data sharing. Unfortunately, these schemes can neither share data flexibly and effectively nor provide effective access control.

[0003] Encryption is a fundamental method to protect the confidentiality of data, and attribute-based encryption (ABE) is a technique that can perform fine-grained access control on outsourced data. In a typical ABE setting, the data owner is assigned a list of attributes and uses these attributes to encrypt the data to be uploaded to the cloud. ABE operations should ensure the confidentiality of the data so that only designated users who have access to the data can access the encrypted data. In general, ABE is divided into key policy ABE (KP-ABE) and ciphertext policy ABE (CP-ABE). In KP-ABE, the user's private key is generated under the access policy and the ciphertext is encrypted using the attribute set, which is suitable for scenarios where the authority decides who is the authorized user, such as pay-TV systems. In contrast, in the CP-ABE setting, the attribute set is used to generate the user's secret and the ciphertext is encrypted using the access policy, which is suitable for cloud sharing systems because users can specify the access rights of the recipient.

[0004] Proxy re-encryption (PRE) effectively solves the above problems by implementing secure access authorization. In PRE, the ciphertext encrypted with the public key of the delegator can be converted into the ciphertext decrypted with the key of the delegate, but the corresponding plaintext remains unchanged and the proxy cloud server cannot see the original plaintext. Specifically, the delegator encrypts the data by using his own public key and then uploads the ciphertext to the proxy cloud. Thereafter, the proxy cloud uses the re-encryption key to convert the ciphertext into a re-encrypted ciphertext that the authorized data owner can decrypt. In this process, the proxy cannot obtain the key and any information about the plaintext.

[0005] In order to achieve more flexible and fine-grained access control, Liang et al. defined the concept of PRE through ciphertext policy attributes (CP-ABPRE) in 2009 and provided a practical CP-ABPRE system that enables the proxy cloud to convert the ciphertext of the specified access policy into another ciphertext embedded with the new access policy. Subsequently, attribute-based PRE schemes have been proposed in succession in combination with the needs of data sharing application scenarios. However, in most existing schemes, the overhead of the system initialization algorithm is proportional to the attributes or size of the access policy. As the number of attributes and access policies increases, the computational overhead during initialization, encryption, and re-encryption will also increase, which inevitably brings an economic burden to users.

[0006] In order to solve the problem of low efficiency in multi-user scenarios, Lewko et al. used the bilinear entropy expansion lemma in 2011 to generate a polynomial amount of entropy by using a public parameter of constant size. The initialization algorithm of the system is independent of the attributes and access policies. On this basis, Wang et al. designed a scheme based on attribute encryption and proxy re-encryption in 2023. Their scheme realizes the transition from identity-based encryption to ABE. However, the key generation process for re-encryption and the decryption process of the delegate still incur significant costs. In addition, driven by commercial interests, data may be tampered with by attackers during transmission or malicious proxy clouds may forward incorrect ciphertexts. Therefore, studying a low-cost and verifiable data sharing scheme has important theoretical and application value. Summary of the invention

[0007] In view of this, an object of the present invention is to provide an efficient and reliable attribute-based proxy re-encryption method based on a directed acyclic graph.

[0008] In order to achieve the above object, the present invention provides the following technical solutions:

[0009] An efficient and reliable attribute-based proxy re-encryption method based on a directed acyclic graph includes the following steps:

[0010] S1: The trusted authority TA initializes the system;

[0011] S2: The trusted authority TA generates the keys required by each participant in the system;

[0012] S3: The edge node encrypts the data using a symmetric key and generates a corresponding hash value. It then selects a set of random parameters to re-encrypt the initial ciphertext to generate a final encrypted message. The final encrypted message and its corresponding hash value are uploaded to the directed acyclic graph (DAG).

[0013] S4: The edge node divides the symmetric key into multiple sub-keys;

[0014] S5: The cloud server uses the re-encryption key to convert the initial ciphertext into a ciphertext that the target user can decrypt;

[0015] S6: The data sharer checks whether the encryption policy of the ciphertext matches its own attribute set. If so, the ciphertext is decrypted. If not, the decryption is terminated.

[0016] S7: The data sharer performs a hash operation on the decrypted ciphertext and compares it with the hash value stored in the DAG. If the two match, the data integrity verification passes.

[0017] Furthermore, the trusted authority TA in step S1 initializes the system, specifically including:

[0018] The trusted authority TA sets the core security parameters of the system and defines bilinear mappings for the basic operations of subsequent encryption and decryption;

[0019] The trusted authority TA configures two hash functions to ensure data consistency and security;

[0020] The trusted authority TA selects a set of random elements to generate the system's master key and public parameters;

[0021] The trusted authority TA distributes the generated public parameters to all participants and keeps the master key itself.

[0022] Further, step S2 specifically includes the following steps:

[0023] S21: Generate symmetric key: The edge node EN generates a one-time symmetric key according to the security parameter, and the one-time symmetric key is used to perform preliminary encryption on the data;

[0024] S22: Generate a public-private key pair: The trusted authority TA selects random parameters and generates a public key of the participant, which is used as a public reference in the data encryption and key distribution process; then, the trusted authority TA combines the random parameters and the master key to generate a private key matching the public key for data decryption and signing operations;

[0025] S23: Generate signature key: The trusted authority TA generates a signature key for each user. The signature key includes a set of random parameters and corresponding calculation results, which are used to verify the authenticity of the ciphertext and whether the data has been tampered with;

[0026] S24: Generate re-encryption key: The trusted authority TA generates a re-encryption key by combining the access policy and user attributes.

[0027] Furthermore, in step S4, each subkey is generated by a polynomial and encrypted using a random parameter. The distribution method of the subkey depends on the user's public key, and only users with appropriate permissions can obtain the corresponding subkey.

[0028] Furthermore, in step S5, when data needs to be shared, the cloud server uses the re-encryption key to convert the initial ciphertext into a ciphertext that can be decrypted by the target user. The re-encryption process includes a secure transformation of the original ciphertext and adds random parameters to further enhance the unpredictability of the ciphertext.

[0029] Further, in step S6, if the data sharer checks that the encryption policy of the ciphertext matches its own attribute set, the following decryption operation is performed:

[0030] First-level decryption: The data sharer uses the re-encrypted ciphertext and his / her own private key to extract part of the decrypted data;

[0031] Second layer decryption: further use the data extracted from the first layer to restore the original plaintext.

[0032] Furthermore, in step S7, after the data integrity verification is passed, the data sharer also signs the decrypted content and stores the signature information in the DAG for other users to verify the credibility of the data source.

[0033] Furthermore, in step S7, if the complete symmetric key needs to be restored, the system will start the secret sharing mechanism. By collecting a sufficient number of subkeys, the system can reconstruct the original symmetric key, thereby completing the decryption operation of the encrypted data.

[0034] The beneficial effects of the present invention are as follows: the present invention realizes fine-grained control of data access through attribute-based encryption technology, allows flexible definition of access policies according to user attributes, and maintains a constant computational overhead in the encryption, re-encryption and delegated decryption stages, and does not increase the computational burden even when the number of attributes increases. The integrity of the ciphertext is checked through an attribute-based verifiable ciphertext access mechanism, ensuring the security of data during transmission, and utilizes a directed acyclic graph as an open distributed database to store system parameters and hash values ​​of ciphertexts, as well as public keys of users and subkey holders, thereby ensuring the security of symmetric keys.

[0035] Other advantages, objectives and features of the present invention will be described in the following description to some extent, and to some extent, will be obvious to those skilled in the art based on the following examination and study, or can be taught from the practice of the present invention. The objectives and other advantages of the present invention can be realized and obtained through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In order to make the purpose, technical solutions and advantages of the present invention more clear, the present invention will be described in detail below in conjunction with the accompanying drawings, wherein:

[0037] Figure 1 This is a system architecture diagram of an efficient and reliable attribute-based proxy re-encryption method based on a directed acyclic graph according to the present invention. DETAILED DESCRIPTION

[0038] The following describes the embodiments of the present invention by specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the illustrations provided in the following embodiments only illustrate the basic concept of the present invention in a schematic manner, and the following embodiments and features in the embodiments can be combined with each other without conflict.

[0039] It should be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present invention, and thus the drawings only show components related to the present invention rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout may also be more complicated.

[0040] In the following description, numerous details are discussed to provide a more thorough explanation of the embodiments of the present invention. However, it is obvious to those skilled in the art that the embodiments of the present invention can be implemented without these specific details. In other embodiments, well-known structures and devices are shown in the form of block diagrams rather than in detail to avoid making the embodiments of the present invention difficult to understand.

[0041] like Figure 1 As shown, the present invention provides an efficient and reliable attribute-based proxy re-encryption method based on a directed acyclic graph, and the method is based on the following system structure:

[0042] It includes the trusted authority TA, edge node EN, cloud server CS, directed acyclic graph DAG, data sharer DS and subkey holder SH;

[0043] The trusted authority TA is responsible for initializing system parameters, generating the system master key, and each user's public key and secret key;

[0044] The edge node EN is responsible for generating symmetric keys and re-encryption keys based on its own keys and access policies, and sending the keys used for re-encryption to the proxy for data sharing. Finally, the symmetric key is divided into n parts, and each part is encrypted using the public key of the corresponding sub-key holder;

[0045] The cloud server CS provides a large amount of low-cost ciphertext storage space and efficient computing power, receives ciphertext and re-encryption key sent by edge node EN, and converts ciphertext into data sharer;

[0046] The directed acyclic graph DAG publicly stores the hash values ​​of system parameters and ciphertexts, as well as the public keys of users and subkey holders;

[0047] When the attributes match the access policy, the data sharer DS can decrypt the re-encrypted ciphertext. After decrypting the ciphertext, the data sharer signs the decrypted plaintext with its key and puts the signature on the DAG. If a sufficient number of subkeys are received, the symmetric key is reconstructed to decrypt the data.

[0048] The subkey holder SH can query the signature on the DAG, and if the signature is authentic, the subkey holder privately sends the subkey to the data sharer.

[0049] This method is mainly divided into seven stages, namely, system initialization stage, key generation stage, encryption stage, symmetric key distribution stage, re-encryption stage, decryption stage, and ciphertext integrity verification stage, as follows:

[0050] 1) System initialization phase:

[0051] The system initialization phase is completed by the trusted authority TA. TA sets the core security parameters of the system, including defining bilinear mappings for the basic operations of subsequent encryption and decryption. At the same time, TA configures two hash functions to ensure data consistency and security. In addition, TA selects a set of random elements to generate the master key and public parameters of the system. These random elements are processed to generate public base points and pairing values, which are used to support the encryption and decryption operations of the entire system. Finally, TA distributes the generated public parameters to all participants and properly keeps the master key to ensure the security of the system.

[0052] In this embodiment, TA uses the Setup(α) algorithm to initialize the system, inputs the security parameter α, and generates a bilinear mapping (p, G1, G2, G T ,g,h,e), and define two hash functions H0:{0,1} * →G1 and Randomly select five elements And calculate the four points and three pairing values Finally, the generated parameters params = (e, g, h, P1, P2, P3, P4, Q1, Q2, Q3) and the master key are returned.

[0053] 2) Key generation phase:

[0054] The key generation phase is the responsibility of the TA and is divided into four sub-steps to generate the keys required by system participants:

[0055] a) Generate symmetric key: The edge node EN generates a one-time symmetric key based on the security parameters provided by the system. This key is used to encrypt the data preliminarily. In order to ensure the security and verifiability of the data, a specific random algorithm is used to generate the symmetric key to ensure its uniqueness and unpredictability. In this embodiment, CS and DS may collude to tamper with the data. Therefore, in order to ensure the security and verifiability of the data, EN first calls the SKGen algorithm, inputs the security parameter β, and generates a one-time symmetric key esk, where esk∈Z p ;

[0056] b) Generate a public-private key pair: TA generates a public-private key pair for each participant. First, TA selects random parameters to generate the participant's public key. The public key is used as a public reference in the data encryption and key distribution process. Then, TA combines the random parameters and the master key to generate a private key that matches the public key. The private key is only used by the participant himself for data decryption and signing operations; in this embodiment, TA randomly selects two numbers. Calculate the public key For i=1,2, perform the following operations: Then calculate the private key Combine sk1, sk2, sk3 into the private key SK. Finally, the algorithm returns (PK, SK).

[0057] c) Generate a signature key: To ensure the integrity and source of data, the TA generates a signature key for each user. This key includes a set of random parameters and corresponding calculation results, which are used to verify the authenticity of the ciphertext and whether the data has been tampered with. The signature key is an important mechanism to ensure reliable data transmission; in this embodiment, the TA randomly selects two numbers. calculate For each element x in the set S, do the following: After the loop is finished, calculate Finally, the algorithm returns the signature private key SSK, which is composed of ssk0, {ssk x} x∈S and ssk2;

[0058] d) Generate re-encryption key: TA generates re-encryption key by combining access policy and user attributes. The generation of re-encryption key involves random selection of parameters and fine-grained calculation of access policy. This key enables the cloud server to convert the original ciphertext into a new ciphertext that meets the target user's access rights, thereby achieving secure data sharing. In this embodiment, TA randomly selects two numbers and a random vector For each row M in the matrix M i (from row 1 to row m), do the following: Calculate After the cycle is over, all rk 0,i Combined into set rk0, all rk 1,i Combined into set rk1, calculate Then randomly select three numbers calculate and Finally, the algorithm returns the re-encryption key RK = (rk0, rk1, rk2, rk3, rk4).

[0059] 3) Encryption phase:

[0060] During the encryption phase, the edge node uses a symmetric key to encrypt the data and generates a corresponding hash value. The hash value is used to create a unique identifier for the encrypted data, which is convenient for subsequent integrity verification on the directed acyclic graph DAG. The encrypted ciphertext is further processed to comply with the system access policy. To enhance security, the edge node selects a set of random parameters to encrypt the initial ciphertext to generate a new encrypted message. Subsequently, the edge node uploads the final encrypted message and its corresponding hash value to the DAG to ensure the security and verifiability of the ciphertext during transmission.

[0061] In this embodiment, the edge node first uses the encryption function Enc1(esk, data) and the input secret key esk and data data to calculate the encrypted message C, performs a hash operation on C to obtain a hash value H1(C), and uploads this hash value to the directed acyclic graph DAG; then uses the encryption function Enc2 and parameters params, the encrypted message C and the public key PK to set a new encrypted message C'; selects two random numbers calculate For j = 1, 2, 3, calculate After the loop ends, all c 3,j 'Combined into vector c3', and Set to c4', finally, the algorithm returns the encrypted message C', which consists of (c0',c1',c2',c3',c4').

[0062] 4) Symmetric key distribution phase:

[0063] In data sharing scenarios, symmetric keys need to be distributed to multiple users. To this end, the edge node divides the symmetric key into multiple subkeys. Each subkey is generated by a polynomial and encrypted with a random parameter to ensure the security of the subkey. The distribution method of the subkey depends on the user's public key, and only users with appropriate permissions can obtain the corresponding subkey.

[0064] In this embodiment, the edge node uses the KeyDist(esk) algorithm to input the symmetric key esk, and the algorithm selects a set of random numbers The algorithm then sets the secret key esk to a0 and constructs a polynomial Will be used to generate subkeys; algorithm initializes subkey e r (r=1,2,…,n), execute the following loop: select a random number Using Polynomials Calculate f(x r ); After the cycle ends, the algorithm sets the subkey e for each r r =(x r ,f(x r )), finally, the algorithm returns the generated subkey e r .

[0065] 5) Re-encryption stage:

[0066] When data needs to be shared, the cloud server uses the re-encryption key to convert the initial ciphertext into a ciphertext that the target user can decrypt. The re-encryption process not only includes the secure conversion of the original ciphertext, but also further enhances the unpredictability of the ciphertext by adding random parameters. The resulting re-encrypted ciphertext ensures the decryption rights of the target user while preventing unauthorized access.

[0067] In this embodiment, the cloud server takes params, C', and RK as input and calculates the value Then c0" = c0' / E is calculated, the algorithm sets c2' equal to c1", and sets rk0 to c2", rk1 to c3", rk2 to c4", rk3 to c5", and finally, the algorithm returns the new encrypted message C re , which is composed of c0”, c1”, c2”, c3”, c4”, and c5”.

[0068] 6) Decryption phase:

[0069] The data sharer first checks whether the encryption policy of the ciphertext matches its own attribute set. This step is completed by verifying the access policy of the ciphertext and the user's private key. If the user's attribute set meets the encryption policy, the system will continue to perform the decryption operation; otherwise, the decryption operation is terminated and the user cannot obtain the data. This step ensures that only users with qualified permissions can access the ciphertext content. If the access permission verification is passed, the data sharer uses his own private key to decrypt the ciphertext. The decryption process is divided into two layers:

[0070] First-level decryption: The data sharer uses the re-encrypted ciphertext and his own private key to extract part of the decrypted data.

[0071] Second layer decryption: further use the data extracted from the first layer to restore the original plaintext.

[0072] The decryption process utilizes a distributed key mechanism to ensure data security. Even if part of the information is leaked, the complete data cannot be restored individually.

[0073] In this embodiment, first, the algorithm checks whether the encrypted information C can be decrypted by the function Dec1, which uses the parameter params, the private key SK and the encrypted information C' as input. If C can be decrypted by Dec1, the calculation If C cannot be decrypted by Dec1, it will be checked whether it can be decrypted by function Dec2, which uses the parameters params, the signature private key SK and the encrypted message C. re As input, if C can be decrypted by Dec2, the algorithm will first calculate D1 = e(c3", ssk0), and then calculate Where I={i|i∈(1,2,...,m),π(i)∈S}, w i ∈Z p is a coefficient that can be computed in polynomial time, then, calculate the value of C Finally, the algorithm returns the calculated C, which is the decrypted message.

[0074] 7) Ciphertext integrity verification phase:

[0075] During the ciphertext integrity verification phase, the data sharer will perform a hash operation on the decrypted ciphertext and compare it with the hash value stored in the DAG. If the two match, the data integrity verification is passed. To further ensure data security, the data sharer will sign the decrypted content and store the signature information in the DAG for other users to verify the credibility of the data source. If the complete symmetric key needs to be restored, the system will start the secret sharing mechanism. By collecting a sufficient number of subkeys, the system can reconstruct the original symmetric key and complete the decryption operation of the encrypted data.

[0076] In this embodiment, after DS decrypts the re-encrypted ciphertext, it does not directly obtain the plaintext data; instead, DS has the first-level ciphertext encrypted with the symmetric key. Next, DS calculates the hash value of the first-level ciphertext, represented as hash'. If hash'=hash is true, it indicates that the ciphertext decrypted by DS has not been tampered with, that is, the plaintext data under the first-level ciphertext is authentic and complete; DS uses the private signature key SSK to sign the object C and sends this signature S priDS =Sign(SSK,C) is stored on the directed acyclic graph DAG. Next, the system will check whether the signature is valid. If the signature verification is successful, a Shamir secret sharing scheme will be initialized. This scheme requires two parameters: k (threshold) and n (total number of subkeys). The algorithm receives a set of subkeys e r , the number of these subkeys is t. If the number of received subkeys t satisfies the condition k≤t≤n, the algorithm will continue the calculation of secret recovery. For each subkey e i , calculate the corresponding x i and f(x i ), after processing all subkeys, set a variable x to 0, and then calculate the function The calculated f(0) value is the required secret key esk, and the algorithm will return the recovered secret key esk.

[0077] In the above embodiments, the description's reference to "this embodiment" indicates that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least some embodiments, but not necessarily all embodiments. Multiple occurrences of "this embodiment" do not necessarily all refer to the same embodiment.

[0078] In the above-described embodiments, although the invention has been described in conjunction with specific embodiments of the invention, many substitutions, modifications, and variations of these embodiments will be apparent to those of ordinary skill in the art based on the foregoing description. For example, other storage structures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed. Embodiments of the invention are intended to encompass all such substitutions, modifications, and variations that fall within the broad scope of the appended claims.

[0079] This embodiment further provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, any one of the methods in this embodiment is implemented.

[0080] This embodiment also provides an electronic terminal, including: a processor and a memory;

[0081] The memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory, so that the terminal executes any one of the methods in this embodiment.

[0082] The computer-readable storage medium in this embodiment can be understood by ordinary technicians in this field: all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to the computer program. The aforementioned computer program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other media that can store program codes.

[0083] The electronic terminal provided in this embodiment includes a processor, a memory, a transceiver and a communication interface. The memory and the communication interface are connected to the processor and the transceiver and complete communication with each other. The memory is used to store computer programs, the communication interface is used to communicate, and the processor and the transceiver are used to run computer programs so that the electronic terminal executes each step of the above method.

[0084] In this embodiment, the memory may include a random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0085] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0086] The present invention can be used in many general or special computing system environments or configurations, such as personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like.

[0087] The present invention may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0088] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solution of the present invention can be modified or replaced by equivalents without departing from the purpose and scope of the technical solution, which should be included in the scope of the claims of the present invention.

Claims

1. An efficient and reliable attribute-based proxy re-encryption method based on a directed acyclic graph, characterized by: The following steps are involved: S1: The trusted authority TA initializes the system; S2: The trusted authority TA generates the keys required by each participant in the system; S3: The edge node encrypts the data using a symmetric key and generates a corresponding hash value. It then selects a set of random parameters to re-encrypt the initial ciphertext to generate a final encrypted message, and uploads the final encrypted message and its corresponding hash value to the directed acyclic graph (DAG). S4: The edge node divides the symmetric key into multiple sub-keys; S5: The cloud server uses the re-encryption key to convert the initial ciphertext into a ciphertext that the target user can decrypt; S6: The data sharer checks whether the encryption policy of the ciphertext matches its own attribute set. If so, the ciphertext is decrypted. If not, the decryption is terminated. S7: The data sharer performs a hash operation on the decrypted ciphertext and compares it with the hash value stored in the DAG. If the two match, the data integrity verification passes.

2. The efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph according to claim 1, characterized in that: Step S1: The trusted authority TA initializes the system, specifically including: The trusted authority TA sets the core security parameters of the system and defines bilinear mappings for the basic operations of subsequent encryption and decryption; The trusted authority TA configures two hash functions to ensure data consistency and security; The trusted authority TA selects a set of random elements to generate the system's master key and public parameters; The trusted authority TA distributes the generated public parameters to all participants and keeps the master key itself.

3. The efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph according to claim 1, characterized in that: Step S2 specifically includes the following steps: S21: Generate symmetric key: The edge node EN generates a one-time symmetric key according to the security parameter, and the one-time symmetric key is used to perform preliminary encryption on the data; S22: Generate a public-private key pair: The trusted authority TA selects random parameters and generates a public key of the participant, which is used as a public reference in the data encryption and key distribution process; then, the trusted authority TA combines the random parameters and the master key to generate a private key matching the public key for data decryption and signing operations; S23: Generate signature key: The trusted authority TA generates a signature key for each user. The signature key includes a set of random parameters and corresponding calculation results, which are used to verify the authenticity of the ciphertext and whether the data has been tampered with; S24: Generate re-encryption key: The trusted authority TA generates a re-encryption key by combining the access policy and user attributes.

4. The efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph according to claim 1, characterized in that: In step S4, each subkey is generated by a polynomial and encrypted using a random parameter. The distribution method of the subkey depends on the user's public key. Only users with appropriate permissions can obtain the corresponding subkey.

5. The efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph according to claim 1, characterized in that: In step S5, when data needs to be shared, the cloud server uses the re-encryption key to convert the initial ciphertext into a ciphertext that the target user can decrypt. The re-encryption process includes a secure transformation of the original ciphertext and adds random parameters to further enhance the unpredictability of the ciphertext.

6. The efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph according to claim 1, characterized in that: In step S6, if the data sharer checks that the encryption policy of the ciphertext matches its own attribute set, the following decryption operation is performed: First-level decryption: The data sharer uses the re-encrypted ciphertext and his / her own private key to extract part of the decrypted data; Second layer decryption: further use the data extracted from the first layer to restore the original plaintext.

7. The efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph according to claim 1, characterized in that: In step S7, after the data integrity verification is passed, the data sharer also signs the decrypted content and stores the signature information in the DAG for other users to verify the credibility of the data source.

8. The efficient and reliable attribute-based proxy re-encryption method based on directed acyclic graph according to claim 1, characterized in that: In step S7, if the complete symmetric key needs to be restored, the system will start the secret sharing mechanism. By collecting a sufficient number of subkeys, the system can reconstruct the original symmetric key, thereby completing the decryption operation of the encrypted data.

Citation Information

Patent Citations

  • SGX-oriented lightweight outsourcing data access control method and control system

    CN110213231A

  • Attribute-based encryption (ABE) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (IOT)

    US20230019301A1