Pairing-free security revocable attribute-based encryption method using white box TEE
By replacing bilinear pairing calculation on the elliptic curve and combining the discrete logarithmic problem of elliptic curve, a pair-free security revocable attribute-based encryption method is designed, which solves the performance bottlenecks and security risks of traditional pairing encryption in complex permission policies and resource-constrained environments, and realizes efficient attribute-based encryption and secure outsourcing decryption, which improves the flexibility and security of system performance and access control.
Patent Information
- Application Number
- CN202411854888.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-16
- Publication Date
- 2025-04-04
AI Technical Summary
Traditional paired encryption has computing performance bottlenecks, insufficient flexibility and potential security risks in the allocation of complex permission policy and key management, making it difficult to meet the requirements of real-time and computing efficiency, especially in resource-constrained environments.
By replacing bilinear pairing calculation with simple scalar multiplication on the elliptic curve, combined with the calculation difficulty of discrete logarithmic problem of elliptic curve, a pair-free secure revocable attribute-based encryption method is designed, using a rich execution environment and a trusted execution environment to realize collaborative calculation between the two parties, supporting outsourcing decryption and dynamic permission management.
It realizes efficient paired attribute-based encryption and secure outsourcing decryption, reduces the computing burden on the user side, improves system performance, and supports lightweight permission revocation and dynamic permission management, enhancing the flexibility and security of access control.
Smart Images

Figure CN119766512A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of access control, and proposes a pairing-free secure revocable attribute-based encryption method using a white-box TEE. Background Art
[0002] In large-scale distributed storage and access control environments, the privacy protection issue of data sharing is becoming increasingly prominent. When users access data hosted by cloud platforms, they must rely on effective access control policies to prevent unauthorized access. However, traditional data protection technologies usually rely on symmetric encryption or asymmetric encryption, which have computing performance bottlenecks, insufficient flexibility, and potential security risks when faced with complex permission policy allocation and key management.
[0003] Attribute-Based Encryption (ABE), as a one-to-many public key encryption technology, is widely used in public cloud storage environments and is a cutting-edge technology for achieving flexible and fine-grained access control of encrypted data. ABE mainly includes two types: cipher policy ABE (CP-ABE) and key policy ABE (KP-ABE). However, whether it is CP-ABE or KP-ABE, existing ABE schemes generally rely on pairing operations (Pairing-Based Cryptography, PBC), such as bilinear mapping, which makes the encryption and decryption process computationally complex, especially in fine-grained access control strategies with a large number of attributes. As a result, in resource-constrained environments (such as mobile devices, IoT terminals, etc.), existing technologies are difficult to meet the requirements of real-time performance and computational efficiency.
[0004] The core of access control lies in the granting and revoking of user permissions. Currently, there are two main revocation mechanisms: direct revocation and indirect revocation. Direct revocation defines a revocation list through a trusted third party to limit the revoked user's permission to decrypt ciphertexts, but this method requires constant updating of the revocation list, which increases management costs. In contrast, indirect revocation prevents the revoked user from decrypting future ciphertexts through timestamps and private key update mechanisms, but it cannot prevent the revoked user from decrypting historical ciphertexts, and other users also need to update their private keys regularly. Even if ciphertext delegation is implemented through a storage server, the timestamp of the ciphertext still needs to be updated uniformly, which will bring significant computational overhead as the data scale increases. In addition, the system must also guard against collusion attacks between untrusted cloud storage servers and revoked users.
[0005] How to break through the performance bottleneck of traditional pairing encryption, achieve flexible user permission control without relying on expensive decryption mechanisms, and efficiently identify and retrieve valuable data from large amounts of ciphertext remains a key and challenging issue in the field of access control technology. Summary of the invention
[0006] The present invention aims to overcome the performance bottleneck brought by traditional pairing encryption and solve the problem of high-overhead user permission revocation, and provides an efficient pairing-free secure revocable attribute-based encryption scheme.
[0007] Specifically, this method replaces the complex bilinear pairing calculation in the traditional identity authentication scheme with a simple scalar multiplication on the elliptic curve to achieve efficient attribute-based encryption, and relies on the computational difficulty of the elliptic curve discrete logarithm problem to ensure security. This method allows the data owner DO to rely on a cloud service provider CSP for remote data storage and management, so as to share the data with multiple authorized requesting users RU. The cloud service provider CSP provides two independent computing environments: the rich execution environment REE and the trusted execution environment TEE. Among them, the trusted execution environment TEE not only supports authentication operations with users, but also allows the loading and execution of user-defined code. In contrast, TEE can provide trusted digital proof to confirm to users that the code is indeed fully executed in the TEE. This method only relies on REE and TEE under a single cloud architecture to achieve collaborative computing between the two parties, effectively avoiding the collusion risk caused by the introduction of multiple servers. Furthermore, in view of the user's consideration of TEE trust and the non-absolute security assumption of TEE, this method regards TEE as a white box model, that is, TEE only guarantees the integrity of internal states (such as code and data), but does not provide confidentiality protection for other states (such as data other than certificates, signatures and keys), thereby avoiding the potential secret leakage problem of TEE (such as the impact of side channel attacks). On the premise of ensuring the security of sensitive data, this method implements fine-grained access control and supports outsourced decryption to reduce the decryption overhead of the requesting user RU as the final recipient. At the same time, this method also supports dynamic revocation of user permissions, enhances the flexibility of access control, and effectively prevents revoked users from accessing data in an unauthorized manner.
[0008] Furthermore, the core steps of this method adopt a hybrid encryption strategy, combining the ciphertext policy attribute-based encryption algorithm CP-ABE and the symmetric encryption algorithm AES-GCM, which act on the access control layer and the outsourced data encryption layer respectively. First, a random element ek is generated on the elliptic curve as the basis of the encryption key, and the symmetric key K is generated through the key derivation function KDF. AES Next, the symmetric key is used to encrypt the sensitive file data using AES-GCM.Enc, while the element ek is protected using CP-ABE. To achieve decryption, the corresponding authorization conditions must be met to successfully calculate the random element ek through CP-ABE, and then the symmetric key K is recovered through the key derivation function. AES , and finally decrypt the data using the algorithm AES-GCM.Dec.
[0009] Furthermore, based on the one-to-many access control implemented by CP-ABE, a phased outsourcing decryption mechanism is innovatively proposed. The mechanism consists of the rich execution environment REE executing the first phase of outsourcing decryption, the trusted execution environment TEE executing the second phase of outsourcing decryption, and the requesting user RU completing the final decryption in a lightweight manner, namely the third phase. Furthermore, the mechanism splits the original CP-ABE private key sk into three parts in the form of secret sharing, namely the conversion key TK, the revocation key RK and the decryption key DK, and each requesting user RU corresponds to a set of attribute sets and these three keys to achieve refined access control. Most importantly, the rich execution environment REE eliminates the high computational overhead generated by the access control layer when performing access legitimacy verification through attribute and policy matching by using the conversion key TK, the trusted execution environment TEE uses the revocation key RK to ensure the security of user permission checking, and the decryption key DK ensures the security of the complete decryption of the requesting user RU data. It is worth mentioning that even if the attribute set satisfies the access policy, even if the attacker steals the corresponding transformation key TK and destroys any of the keys (such as the revocation key RK or the decryption key DK), the confidentiality of the information can still be guaranteed, because the ciphertext cannot be completely decrypted unless all the subkeys of the three keys are obtained at the same time.
[0010] Furthermore, the system architecture of the method involves four entities: the key generation center KGC, the cloud service provider CSP, the data owner DO and the requesting user RU. Their responsibilities are as follows:
[0011] (1) Key Generation Center KGC: Mainly responsible for initializing system modules and user management (for example, broadcasting public parameters for newly registered data owners DO, and generating data access keys associated with attribute sets for requesting users RU, including conversion keys, revocation keys and decryption keys, but only decryption keys are held by the users themselves). In addition, KGC also needs to maintain a trusted list UL representing authorized requesting users in real time. Each user has an identity identification number UID. Whenever a new user is registered or an old user is revoked, KGC updates UL and associates it with a timestamp, recorded as state st. At the same time, KGC uses another set of public key cryptography to digitally sign each new state to ensure its reliability.
[0012] (2) Cloud service provider CSP consists of four sub-modules:
[0013] ① Storage module: It has huge storage resources and is responsible for storing and managing the ciphertext uploaded by the data owner DO. When receiving a data access request from the requesting user RU, the storage module is responsible for retrieving the corresponding ciphertext, and then forwarding the ciphertext C and the identity number UID of the RU to the rich execution environment REE for further processing.
[0014] ② Rich Execution Environment REE: Responsible for the first stage of outsourcing decryption, that is, the ciphertext C can be converted into a one-time decrypted ciphertext PTC by using the conversion key TK.
[0015] ③ Trusted Execution Environment TEE: Responsible for the second stage of outsourced decryption, that is, it can provide trusted ciphertext conversion services for non-revoked requesting users RU by using the revocation key RK, and has the ability to convert the first conversion ciphertext PTC into the second decryption ciphertext TC.
[0016] ④ State module: manages the state set associated with all requesting users RU in each time interval (such as hours, days, etc.), such as the state st with maintenance time i i This module allows the latest state st to be forwarded to the rich execution environment REE and the trusted execution environment TEE. Before the REE and the TEE perform an operation, they need to verify the permission status of the requesting user RU.
[0017] (3) Data owner DO: allows its data to be encrypted and outsources the encrypted ciphertext to the cloud service provider CSP for storage so that it can be shared with requesting users RU. Each ciphertext is associated with a customized access policy.
[0018] (4) Requesting user RU: is associated with a set of attribute sets and holds the decryption key DK. Its authority and decryption capabilities are limited by the key it owns and the attribute set associated with it.
[0019] Furthermore, the specific implementation of the pairing-free secure revocable attribute-based encryption method includes the following steps:
[0020] Step 1, system initialization phase: The key generation center KGC executes the initialization algorithm Setup to complete the initialization of the ElGamal encryption system on the elliptic curve, including setting the elliptic curve group E, constructing the range of the integer finite field, declaring the collision-resistant hash function, and defining the global access policy space. And global attribute universe Ω and other operations. Subsequently, a public key PK and a master private key MSK are generated, and the key generation center KGC maintains the master private key MSK by itself and broadcasts the public key PK to other entities.
[0021] Step 2, key generation phase: The requesting user RU with data access needs needs to complete registration with the key generation center KGC. The key generation center KGC executes the key generation algorithm DKeyGen to generate a key for each requesting user RU that matches its attribute set. The three related keys are: conversion key TK, revocation key RK and decryption key DK. Subsequently, KGC transmits the decryption key DK to the requesting user RU through a secure channel, and securely transmits the conversion key TK and revocation key RK to the rich execution environment REE and the trusted execution environment TEE.
[0022] Step 3, state signing phase: The key generation center KGC creates and maintains the trusted user list UL, and manages the registered requesting users RU in real time. Subsequently, the current state st is generated and signed, and finally the signed state is securely stored in the state module State of the cloud service provider CSP. This state st will record whether the user's permissions are valid.
[0023] Step 4, data outsourcing storage stage: the data owner DO calls the encryption algorithm Enc to complete the hybrid encryption. Specifically, ① in the outsourced data encryption layer, DO first randomly generates an element ek on the elliptic curve, and generates a symmetric key through a key derivation function, namely K AES =KDF(ek). Then, DO uses the symmetric key K AES The outsourced data msg is encrypted to obtain the outsourced data ciphertext. ② In the access control layer, the data owner DO defines the access policy associated with the target request user RU This strategy It is generated by the linear secret sharing scheme LSSS and expressed as a matrix strategy. Subsequently, the data owner DO uses the public key PK to encrypt the primitive ek to obtain the ciphertext of CP-ABE. At this point, the data owner DO has the ciphertext of the outsourced data, the CP-ABE ciphertext and the access strategy. They are all encapsulated into a ciphertext C, and C is outsourced and stored in the cloud service provider CSP.
[0024] Step 5, request initiation phase: the requesting user RU sends a data access request to the cloud service provider CSP, providing credentials (including its identity identifier UID and the ID of the file to be requested) to obtain data access authorization.
[0025] Step 6, one-time decryption phase: the rich execution environment REE retrieves the latest state st from the state module State, and verifies the integrity and freshness of st with the signature. If the identity identifier UID of the requesting user RU is not in the UL list of this state (indicating that the permission has been revoked), the data access request is rejected; otherwise, the subsequent steps are continued: the rich execution environment REE retrieves the target ciphertext C according to the ID of the requested file, and uses the conversion key TK to call the decryption algorithm PDec1 to decrypt the ciphertext C once, and obtains a decrypted ciphertext PTC. This process will cancel the attribute-based access control layer in the ciphertext, that is, check the attribute set Whether the access policy is satisfied Subsequently, REE forwards the decrypted ciphertext PTC to the trusted execution environment TEE.
[0026] Step 7, secondary decryption phase: The trusted execution environment TEE receives data from the rich execution environment REE, retrieves the latest state st from the state module State, and verifies the integrity and freshness of st with the signature. If the identity identifier UID of the requesting user RU is not in the UL list of this state (indicating that the permission has been revoked), the data access request is rejected; otherwise, the subsequent steps are continued: the trusted execution environment TEE uses the revocation key RK to call the secondary decryption algorithm PDec2 to perform secondary decryption on the primary decrypted ciphertext PTC to obtain the secondary decrypted ciphertext TC. This process has the ability to check whether the PTC given from the REE is legal without full decryption, and finally returns the secondary decrypted ciphertext TC to the requesting user RU.
[0027] Step 8, Final decryption phase: After the requesting user RU receives the secondary decrypted ciphertext TC, it uses the decryption key DK to call the decryption algorithm TDee. If the decryption is successful, the plaintext ek can be obtained, and then the symmetric key K can be restored through the key derivation function. AES , and finally use the symmetric algorithm to decrypt the outsourced ciphertext and restore the original plaintext msg.
[0028] Furthermore, in step 1, the input of the initialization algorithm Setup includes a security parameter 1 λ , the output is the public key PK and the global master private key MSK. Specifically, the algorithm first calculates the security parameter 1 λ Select a large prime number p and construct a finite field GF(p), then select an elliptic curve E on the field and determine its generator G. Next, specify three hash functions: And define the attribute universe Ω = {att1, att2, ..., att l}. Then, for each attribute att i Pick a random number k i, calculate and generate the public key PK and the master private key MSK as follows: This step can be formally expressed as: Setup(1 λ )→(PK, MSK).
[0029] Further, in step 2, the input of the key generation algorithm DKeyGen includes the global master private key MSK and an attribute set The output is the unique conversion key TK, revocation key RK and decryption key DK related to the attribute. Specifically, the algorithm first selects random numbers α1, α2, β1, β2, Parse each attribute in the attribute set Assume that there are y attributes in the attribute set, and then calculate:
[0030]
[0031] Finally, we get three keys RK=(β1,β2), DK=γ are the outputs of this step. This step can be formally expressed as:
[0032] Further, in step 5, the input of the encryption algorithm Enc includes the public key PK, the data to be outsourced msg∈{0,1} k and access policies The output is the encapsulated ciphertext C. Specifically, ① In the outsourced data encryption layer, the algorithm randomly selects an element ek and generates a symmetric key K through a derivation function AES =KDF(ek). Then, the plaintext data msg is encrypted using the symmetric key through a symmetric encryption algorithm to obtain C0←AES-GCM.Enc(K AES , iv, msg), where iv is the initialization vector used to ensure the uniqueness of encryption. Next, calculate Used for subsequent correctness verification. ② In the access control layer, select a random number As a secret, to hide ek, C2 = ek + sG is calculated. Then, based on the LSSS type access strategy (where M is a The share matrix, and ρ represents the mapping function, which is used to map each row of the matrix to a different attribute label), randomly generates a vector Calculated Select Random numbers Then calculate: Finally, the encapsulated ciphertext is obtained As the output of this step. This step can be formally expressed as:
[0033] Further, in step 6, the input of the decryption algorithm PDec1 includes the conversion key TK and the encapsulation ciphertext C. If the execution is successful, the decryption ciphertext PTC is output, otherwise the output is (this symbol represents failure). Specifically, the algorithm first determines the attribute set of the requesting user RU Whether the access policy defined by the data owner DO is met Right now If the set exists Calculate a vector ω that satisfies So to recover the secret, calculate Then calculate and output the decrypted ciphertext PTC=(C0, C1, C2, C P1 , C P2 , C′), the specific calculation is as follows:
[0034]
[0035]
[0036] If the attribute set Access policy not satisfied Output ⊥. This step can be formally expressed as: PDec1(TK,C)→PTC / ⊥.
[0037] Further, in step 7, the input of the secondary decryption algorithm PDec2 includes the revocation key RK and the primary decryption ciphertext PTC. If the execution is successful, the secondary decryption ciphertext TC is output, otherwise ⊥ is output. Specifically, the algorithm first uses the formula C P1 +β1·C′==C P2 +β2·C′ verifies that the equation is equal, which means:
[0038]
[0039] If they are equal, output the secondary decrypted ciphertext TC=(T0=C0, T1=C1, T2=C2, T=C P1 +β1G·C′, T′=C′), otherwise output ⊥. This step can be formally expressed as: PDec2(RK,PTC)→TC / ⊥.
[0040] Further, in step 8, the input of the decryption algorithm TDec includes the decryption key DK and the secondary decryption ciphertext TC, and the output is the plaintext ek. Specifically, the algorithm can obtain the output by calculation If it fails, output ⊥. This step can be formally expressed as: TDec(DK,TC)→ek / ⊥.
[0041] Furthermore, the correctness analysis of the pairing-free secure revocable attribute-based encryption method is as follows:
[0042] if Then we can successfully calculate:
[0043]
[0044] Thus, the secret value s can be recovered, and ek can be successfully calculated through subsequent steps to recover the symmetric key K AES , call the symmetric algorithm AES-GCM.Dec to decrypt the outsourced ciphertext.
[0045] Furthermore, the symmetric encryption algorithm used is the AES-GCM algorithm. The same key is used for encryption and decryption of this algorithm, and the uniqueness of encryption is guaranteed by using a random vector iv, as follows:
[0046] (1) Encryption: using the symmetric key K AES The plaintext msg is encrypted with a unique random initialization vector iv to generate a ciphertext C, which contains the encrypted data c, the length of the encrypted data len, and the authentication tag tag, that is, C = {c, len, tag}. The encryption process can be formally expressed as: C←AES-GCM.Enc(K AES ,iv,msg).
[0047] (2) Decryption: Use the same symmetric key K AES and initialization vector iv, decrypt the ciphertext C into the original plaintext msg, and verify the tag tag to ensure that the data has not been tampered with. The decryption process can be formally expressed as: msg←AES-GCM.Dec(K AES ,iv,C={c,len,tag}).
[0048] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0049] 1. Efficient pairing-free attribute-based encryption and secure outsourced decryption support. Specifically, the traditional bilinear pairing operation is innovatively replaced with elliptic curve scalar multiplication to accelerate the efficiency of encryption and decryption in the access control matching process. Furthermore, a hybrid encryption strategy of CP-ABE and AES-GCM is designed to provide double encryption protection for sensitive data outsourced by the data owner. Furthermore, a phased outsourcing decryption mechanism is designed to entrust part of the decryption task to the cloud service provider, so that the authorized requesting user RU only needs to perform lightweight operations to complete data access, effectively reducing the computing burden on the user side, thereby improving the overall performance of the system.
[0050] 2. Lightweight permission revocation and dynamic permission management. The direct revocation method is adopted, without the need to update the ciphertext and key, breaking through the high permission revocation cost in traditional access control solutions. The system supports dynamic permission management, which can adapt to changes in attributes and user roles in real time, ensure the flexibility and security of access control, and meet changing security needs. At the same time, the trusted execution environment TEE is delegated to avoid security vulnerabilities in the permission revocation process. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 Schematic diagram of the system model of the method of the present invention.
[0052] Figure 2 The figure is a schematic diagram of the system flow of the method of the present invention. Specific implementation methods
[0054] In order to make the purpose, technical solution and advantages of the present invention more clear, the technical solution in the embodiment of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiment of the present invention. Obviously, the described embodiment is only a part of the embodiment of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0055] like Figure 1 , Figure 2 As shown, the present invention provides a secure revocable attribute-based encryption method using a white-box TEE, comprising the following steps:
[0056] Step 1, system initialization phase: The key generation center KGC executes the initialization algorithm Setup to complete the initialization of the ElGamal encryption system on the elliptic curve, including setting the elliptic curve group E, constructing the range of the integer finite field, declaring the collision-resistant hash function, and defining the global access policy space. And global attribute universe Ω and other operations. In the present application example, the multiplication cyclic group is generated based on the A-type elliptic curve (r: 20 bits, q: 64 bits). For the convenience of calculation, the specific values of the parameters of the elliptic curve are as follows:
[0057]
[0058] Further, determine the generator G = [3468003745401084019, 2295770672269900068], and specify the hash function Define the attribute universe Ω = {A, B, C, D, E, F, G, H, A1, A2, A3, A4, A5}, and then generate the specific values of the public key PK and the master private key MSK as follows.
[0059]
[0060] Finally, the key generation center KGC maintains the master private key MSK={k i |att i ∈Ω}, broadcast the public key to other entities
[0061] Step 2, key generation phase: The requesting user RU with data access needs needs to complete registration with the key generation center KGC. The key generation center KGC executes the key generation algorithm DKeyGen to generate a key for each requesting user RU that matches its attribute set. The three related keys are: conversion key TK, revocation key RK and decryption key DK. Assume that in this application example, the requesting user RU attribute set is It has three attributes A, B and C. The selected random numbers are α1=277331, α2=175837, β1=246894, β2=257966 and γ=162162, and then the conversion key is calculated. The specific values are as follows:
[0062]
[0063] And the revocation key RK=(β1, β2) and the decryption key DK=γ.
[0064] Subsequently, KGC transmits the decryption key DK to the requesting user RU through a secure channel, and securely transmits the conversion key TK and revocation key RK to the rich execution environment REE and the trusted execution environment TEE.
[0065] Step 3, state signing phase: The key generation center KGC creates and maintains the trusted user list UL, and manages the registered requesting users RU in real time. Subsequently, the current state st is generated and signed, and finally the signed state is securely stored in the state module State of the cloud service provider CSP. This state st will record whether the user's permissions are valid.
[0066] Step 4, data outsourcing storage stage: the data owner DO calls the encryption algorithm Enc to complete the hybrid encryption. Assume that in this application embodiment, ① in the outsourcing data encryption layer, DO first randomly generates an element ek=[2197760908281763273, 1024738255095154634] on the elliptic curve, and generates a symmetric key K through a derivation function AES =KDF(ek). Then, the plaintext data msg is encrypted using the symmetric key through a symmetric encryption algorithm to obtain C0←AES-GCM.Enc(K AES, iv, msg), where iv is the initialization vector used to ensure the uniqueness of encryption. Next, calculate Used for subsequent correctness verification. ② In the access control layer, a random number s=274176 is selected as the secret. To hide ek, C2=ek+sG=[4233097503385814095, 137210865297876013] is calculated. Subsequently, it is assumed that in the embodiment of this application, the threshold access policy defined by the data owner DO is (A, B, C, D, 2). This policy means that only the requesting user RU with any two attributes has the right to access the data. Next, the threshold access policy is transformed by the linear secret sharing scheme LSSS to form a new matrix access policy. The specific expressions are as follows:
[0067]
[0068] By randomly generating a vector The first value of this vector is the secret value s. Select Random numbers r1 = 337766, r2 = 95055, r3 = 251871, Then calculate:
[0069]
[0070]
[0071] Finally, the encapsulated ciphertext is obtained as the output of this step.
[0072] At this point, the data owner DO will outsource the ciphertext, CP-ABE ciphertext and access policy of the data. They are all encapsulated into a ciphertext C, and C is outsourced and stored in the cloud service provider CSP.
[0073] Step 5, request initiation phase: the requesting user RU sends a data access request to the cloud service provider CSP, providing credentials (including its identity identifier UID and the ID of the file to be requested) to obtain data access authorization.
[0074] Step 6, one-time decryption phase: the rich execution environment REE retrieves the latest state st from the state module State, and verifies the integrity and freshness of st with the signature. If the identity identifier UID of the requesting user RU is not in the UL list of this state (indicating that the permission has been revoked), the data access request is rejected; otherwise, the subsequent steps are continued: the rich execution environment REE retrieves the target ciphertext C according to the ID of the requested file, and uses the conversion key TK to call the decryption algorithm PDec1 to decrypt the ciphertext C once, and obtains a decrypted ciphertext PTC. This process will cancel the attribute-based access control layer in the ciphertext, that is, check the attribute set Whether the access policy is satisfied In this application example, it is clear that the conditions are met Existence Set Calculate a vector ω that satisfies Specifically, the calculated vector ω=(5, 524350, 0) is then calculated:
[0075]
[0076]
[0077] Then, REE will decrypt the ciphertext PTC=(C0,C1,C2,C P1 , C P2 , C′) is forwarded to the trusted execution environment TEE.
[0078] Step 7, secondary decryption phase: The trusted execution environment TEE receives data from the rich execution environment REE, retrieves the latest state st from the state module State, and verifies the integrity and freshness of st with the signature. If the identity identifier UID of the requesting user RU is not in the UL list of this state (indicating that the permission has been revoked), the data access request is rejected; otherwise, the subsequent steps are continued: the trusted execution environment TEE uses the revocation key RK to call the secondary decryption algorithm PDec2 to perform secondary decryption on the first decrypted ciphertext PTC to obtain the secondary decrypted ciphertext TC. This process has the ability to check whether the PTC given by the REE is legal without full decryption. Specifically, the algorithm calculates the condition C that satisfies the condition C. P1 +β1·C′=C P2 +β2·C′=[2129741439954079822,1972852361052035111],then the secondary decrypted ciphertext TC=(T0=C0,T1=C1,T2=C2,T=C P1 +β1G·C′, T′=C′) is returned to the requesting user RU.
[0079] Step 8, final decryption stage: After receiving the secondary decrypted ciphertext TC, the requesting user RU uses the decryption key DK to call the decryption algorithm TDec and calculates the plaintext ek as follows:
[0080]
[0081] Then the symmetric key K is recovered through the key derivation function AES Finally, the symmetric algorithm is used to decrypt the outsourced ciphertext and restore the original plaintext msg←AES-GCM.Dec(K AES ,iv,C0).
[0082] The above implementation examples are only used to illustrate the technical solution of the present invention rather than to limit it. A person skilled in the art may modify or convert the technical solution of the present invention without departing from the spirit and scope of the present invention. The scope of protection of the present invention shall be based on the claims.
Claims
1. A pairing-free secure revocable attribute-based encryption method using white-box TEE, characterized in that: This method replaces the complex bilinear pairing calculation in the traditional identity authentication scheme with a simple scalar multiplication on the elliptic curve to achieve efficient attribute-based encryption, and relies on the computational difficulty of the elliptic curve discrete logarithm problem to ensure security. This method allows the data owner DO to rely on a cloud service provider CSP for remote data storage and management, so as to share the data with multiple authorized requesting users RU. The cloud service provider CSP provides two independent computing environments: the rich execution environment REE and the trusted execution environment TEE. Among them, the trusted execution environment TEE not only supports authentication operations with users, but also allows the loading and execution of user-defined code. In contrast, TEE can provide trusted digital proof to confirm to users that the code is indeed fully executed in the TEE. This method only relies on REE and TEE under a single cloud architecture to achieve collaborative computing between the two parties, effectively avoiding the collusion risk caused by the introduction of multiple servers. Furthermore, in view of the user's consideration of TEE trust and the non-absolute security assumption of TEE, this method regards TEE as a white box model, that is, TEE only guarantees the integrity of internal states (such as code and data), but does not provide confidentiality protection for other states (such as data other than certificates, signatures and keys), thereby avoiding the potential secret leakage problem of TEE (such as the impact of side channel attacks). On the premise of ensuring the security of sensitive data, this method implements fine-grained access control and supports outsourced decryption to reduce the decryption overhead of the requesting user RU as the final recipient. At the same time, this method also supports dynamic revocation of user permissions, enhances the flexibility of access control, and effectively prevents revoked users from accessing data in an unauthorized manner. Specifically, the core steps of this method adopt a hybrid encryption strategy, combining the ciphertext policy attribute-based encryption algorithm CP-ABE and the symmetric encryption algorithm AES-GCM, which act on the access control layer and the outsourced data encryption layer respectively. First, a random element ek is generated on the elliptic curve as the basis of the encryption key, and the symmetric key K is generated through the key derivation function KDF. AES Next, the symmetric key is used to encrypt the sensitive file data using AES-GCM.Enc, while the element ek is protected using CP-ABE. To achieve decryption, the corresponding authorization conditions must be met to successfully calculate the random element ek through CP-ABE, and then the symmetric key K is recovered through the key derivation function. AES , and finally decrypt the data using the algorithm AES-GCM.Dec. In addition, based on the one-to-many access control implemented by CP-ABE, an innovative phased outsourcing decryption mechanism is proposed. The mechanism consists of the rich execution environment REE executing the first phase of outsourcing decryption, the trusted execution environment TEE executing the second phase of outsourcing decryption, and the requesting user RU completing the final decryption in a lightweight manner, that is, the third phase. Furthermore, the mechanism splits the original CP-ABE private key sk into three parts in the form of secret sharing, namely the conversion key TK, the revocation key RK and the decryption key DK, and each requesting user RU corresponds to a set of attribute sets and these three keys to achieve refined access control. Most importantly, the rich execution environment REE eliminates the high computational overhead generated by the access control layer when performing access legitimacy verification through attribute and policy matching, by using the conversion key TK, the trusted execution environment TEE uses the revocation key RK to ensure the security of user permission checking, and the decryption key DK ensures the security of the complete decryption of the requesting user RU data. It is worth mentioning that even if the attribute set satisfies the access policy, even if the attacker steals the corresponding transformation key TK and destroys any of the keys (such as the revocation key RK or the decryption key DK), the confidentiality of the information can still be guaranteed, because the ciphertext cannot be completely decrypted unless all the subkeys of the three keys are obtained at the same time.
2. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 1, characterized in that: The system architecture of the method involves four entities: key generation center KGC, cloud service provider CSP, data owner DO and requesting user RU. Their responsibilities are as follows: (1) Key Generation Center KGC: Mainly responsible for initializing system modules and user management (for example, broadcasting public parameters for newly registered data owners DO, and generating data access keys associated with attribute sets for requesting users RU, including conversion keys, revocation keys and decryption keys, but only decryption keys are held by the users themselves). In addition, KGC also needs to maintain a trusted list UL representing authorized requesting users in real time. Each user has an identity identification number UID. Whenever a new user is registered or an old user is revoked, KGC updates UL and associates it with a timestamp, recorded as state st. At the same time, KGC uses another set of public key cryptography to digitally sign each new state to ensure its reliability. (2) Cloud service provider CSP consists of four sub-modules: ① Storage module: It has huge storage resources and is responsible for storing and managing the ciphertext uploaded by the data owner DO. When receiving a data access request from the requesting user RU, the storage module is responsible for retrieving the corresponding ciphertext, and then forwarding the ciphertext C and the identity number UID of the RU to the rich execution environment REE for further processing. ② Rich Execution Environment REE: Responsible for the first stage of outsourcing decryption, that is, the ciphertext C can be converted into a one-time decrypted ciphertext PTC by using the conversion key TK. ③ Trusted Execution Environment TEE: Responsible for the second stage of outsourced decryption, that is, it can provide trusted ciphertext conversion services for non-revoked requesting users RU by using the revocation key RK, and has the ability to convert the first conversion ciphertext PTC into the second decryption ciphertext TC. ④ State module: manages the state set associated with all requesting users RU in each time interval (such as hours, days, etc.), such as the state st with maintenance time i i This module allows the latest state st to be forwarded to the rich execution environment REE and the trusted execution environment TEE. Before the REE and the TEE perform an operation, they need to verify the permission status of the requesting user RU. (3) Data owner DO: allows its data to be encrypted and outsources the encrypted ciphertext to the cloud service provider CSP for storage so that it can be shared with requesting users RU. Each ciphertext is associated with a customized access policy. (4) Requesting user RU: is associated with a set of attribute sets and holds the decryption key DK. Its authority and decryption capabilities are limited by the key it owns and the attribute set associated with it. The specific implementation of the pairing-free secure revocable attribute-based encryption method includes the following steps: Step 1, system initialization phase: The key generation center KGC executes the initialization algorithm Setup to complete the initialization of the ElGamal encryption system on the elliptic curve, including setting the elliptic curve group E, constructing the range of the integer finite field, declaring the collision-resistant hash function, and defining the global access policy space. And global attribute universe Ω and other operations. Subsequently, a public key PK and a master private key MSK are generated, and the key generation center KGC maintains the master private key MSK by itself and broadcasts the public key PK to other entities. Step 2, key generation phase: The requesting user RU with data access needs needs to complete registration with the key generation center KGC. The key generation center KGC executes the key generation algorithm DKeyGen to generate a key for each requesting user RU that matches its attribute set. The three related keys are: conversion key TK, revocation key RK and decryption key DK. Subsequently, KGC transmits the decryption key DK to the requesting user RU through a secure channel, and securely transmits the conversion key TK and revocation key RK to the rich execution environment REE and the trusted execution environment TEE. Step 3, state signing phase: The key generation center KGC creates and maintains the trusted user list UL, and manages the registered requesting users RU in real time. Subsequently, the current state st is generated and signed, and finally the signed state is securely stored in the state module State of the cloud service provider CSP. This state st will record whether the user's permissions are valid. Step 4, data outsourcing storage stage: the data owner DO calls the encryption algorithm Enc to complete the hybrid encryption. Specifically, ① in the outsourced data encryption layer, DO first randomly generates an element ek on the elliptic curve, and generates a symmetric key through a key derivation function, namely K AES =KDF(ek). Then, DO uses the symmetric key K AES The outsourced data msg is encrypted to obtain the outsourced data ciphertext. ② In the access control layer, the data owner DO defines the access policy associated with the target request user RU This strategy It is generated by the linear secret sharing scheme LSSS and expressed as a matrix strategy. Subsequently, the data owner DO uses the public key PK to encrypt the primitive ek to obtain the ciphertext of CP-ABE. At this point, the data owner DO has the ciphertext of the outsourced data, the CP-ABE ciphertext and the access strategy. They are all encapsulated into a ciphertext C, and C is outsourced and stored in the cloud service provider CSP. Step 5, request initiation phase: the requesting user RU sends a data access request to the cloud service provider CSP, providing credentials (including its identity identifier UID and the ID of the file to be requested) to obtain data access authorization. Step 6, one-time decryption phase: the rich execution environment REE retrieves the latest state st from the state module State, and verifies the integrity and freshness of st with the signature. If the identity identifier UID of the requesting user RU is not in the UL list of this state (indicating that the permission has been revoked), the data access request is rejected; otherwise, the subsequent steps are continued: the rich execution environment REE retrieves the target ciphertext C according to the ID of the requested file, and uses the conversion key TK to call the decryption algorithm PDec1 to decrypt the ciphertext C once, and obtains a decrypted ciphertext PTC. This process will cancel the attribute-based access control layer in the ciphertext, that is, check the attribute set Whether the access policy is satisfied Subsequently, REE forwards the decrypted ciphertext PTC to the trusted execution environment TEE. Step 7, secondary decryption phase: The trusted execution environment TEE receives data from the rich execution environment REE, retrieves the latest state st from the state module State, and verifies the integrity and freshness of st with the signature. If the identity identifier UID of the requesting user RU is not in the UL list of this state (indicating that the permission has been revoked), the data access request is rejected; otherwise, the subsequent steps are continued: the trusted execution environment TEE uses the revocation key RK to call the secondary decryption algorithm PDec2 to perform secondary decryption on the primary decrypted ciphertext PTC to obtain the secondary decrypted ciphertext TC. This process has the ability to check whether the PTC given from the REE is legal without full decryption, and finally returns the secondary decrypted ciphertext TC to the requesting user RU. Step 8, Final decryption phase: After the requesting user RU receives the secondary decrypted ciphertext TC, it uses the decryption key DK to call the decryption algorithm TDec. If the decryption is successful, the plaintext ek can be obtained, and then the symmetric key K can be restored through the key derivation function. AES , and finally use the symmetric algorithm to decrypt the outsourced ciphertext and restore the original plaintext msg.
3. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 2, characterized in that: In step 1, the input of the initialization algorithm Setup includes a security parameter 1 λ , the output is the public key PK and the global master private key MSK. Specifically, the algorithm first calculates the security parameter 1 λ Select a large prime number p and construct a finite field GF(p), then select an elliptic curve E on the field and determine its generator G. Next, specify three hash functions: And define the attribute universe Ω = {att1, att2, ..., att l }. Then, for each attribute att i Pick a random number k i , calculate and generate the public key PK and the master private key MSK as follows: This step can be formally expressed as: Setup(1 λ )→(PK, MSK).
4. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 2, characterized in that: In step 2, the input of the key generation algorithm DKeyGen includes the global master private key MSK and an attribute set The output is the unique conversion key TK, revocation key RK and decryption key DK related to the attribute. Specifically, the algorithm first selects a random number Parse each attribute in the attribute set Assume that there are y attributes in the attribute set, and then calculate: Finally, we get three keys RK=(β1,β2), DK=γ are the outputs of this step. This step can be formally expressed as:
5. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 2, characterized in that: In step 5, the input of the encryption algorithm Enc includes the public key PK, the data to be outsourced msg∈{0,1} k and access policies The output is the encapsulated ciphertext C. Specifically, ① In the outsourced data encryption layer, the algorithm randomly selects an element ek and generates a symmetric key K through a derivation function AES =KDF(ek). Then, the plaintext data msg is encrypted using the symmetric key through a symmetric encryption algorithm to obtain C0←AES-GCM.Enc(K AES , iv, msg), where iv is the initialization vector used to ensure the uniqueness of encryption. Next, calculate Used for subsequent correctness verification. ② In the access control layer, select a random number As a secret, to hide ek, C2 = ek + sG is calculated. Then, based on the LSSS type access strategy (in is a The share matrix, and ρ represents the mapping function, which is used to map each row of the matrix to a different attribute label), randomly generate vectors Calculated Select Random numbers Then calculate: Finally, the encapsulated ciphertext is obtained As the output of this step. This step can be formally expressed as: Enc(PK, msg∈{0, 1} k , 6. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 2, characterized in that: In step 6, the input of the decryption algorithm PDec1 includes the conversion key TK and the encapsulated ciphertext C. If the execution is successful, the decrypted ciphertext PTC is output, otherwise ⊥ (this symbol represents failure) is output. Specifically, the algorithm first determines the attribute set of the requesting user RU Whether the access policy defined by the data owner DO is met Right now If the set exists Calculate a vector ω that satisfies So to recover the secret, calculate Then calculate and output the decrypted ciphertext PTC=(C0, C1, C2, C P1 , C P2 , C′), the specific calculation is as follows: If the attribute set Access policy not satisfied Output ⊥. This step can be formally expressed as: PDec1(TK,C)→PTC / ⊥.
7. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 2, characterized in that: In step 7, the input of the secondary decryption algorithm PDec2 includes the revocation key RK and the primary decryption ciphertext PTC. If the execution is successful, the secondary decryption ciphertext TC is output, otherwise the output is TC. Specifically, the algorithm first uses the formula C P1 +β1·C′=C P2 +β2·C′ verifies that the equation is equal, which means: If they are equal, output the secondary decrypted ciphertext TC=(T0=C0, T1=C1, T2=C2, T=C P1 +β1G·C′, T′=C′), otherwise output ⊥. This step can be formally expressed as: PDec2(RK,PTC)→TC / ⊥.
8. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 2, characterized in that: In step 8, the input of the decryption algorithm TDec includes the decryption key DK and the secondary decryption ciphertext TC, and the output is the plaintext ek. Specifically, the algorithm can obtain the output by calculating If it fails, output ⊥. This step can be formally expressed as: TDec(DK,TC)→ek / ⊥.
9. A pairing-free secure revocable attribute-based encryption method using white-box TEE according to claim 2, characterized in that: The correctness analysis of the pairing-free secure revocable attribute-based encryption method is as follows: if Then we can successfully calculate: Thus, the secret value s can be recovered, and ek can be successfully calculated through subsequent steps to recover the symmetric key K AES , call the symmetric algorithm AES-GCM.Dec to decrypt the outsourced ciphertext.
10. According to claim 2, a pairing-free secure revocable attribute-based encryption method using white-box TEE is characterized in that: The symmetric encryption algorithm used is the AES-GCM algorithm. The same key is used for both encryption and decryption of this algorithm, and the uniqueness of encryption is guaranteed by using a random vector iv, as follows: (1) Encryption: using the symmetric key K AES The plaintext msg is encrypted with a unique random initialization vector iv to generate a ciphertext C, which contains the encrypted data c, the length of the encrypted data len, and the authentication tag tag, that is, C = {c, len, tag}. The encryption process can be formally expressed as: C←AES-GCM.Enc(K AES ,iv,msg). (2) Decryption: Use the same symmetric key K AES and initialization vector iv, decrypt the ciphertext C into the original plaintext msg, and verify the tag tag to ensure that the data has not been tampered with. The decryption process can be formally expressed as: msg←AES-GCM.Dec(K AES ,iv,C={c,len,tag}).
Citation Information
Cited By
Garment anti-counterfeiting traceability management system and method based on Internet of Things technology
CN119961960A