A supply chain data access control method that supports attribute revocation and updating
By introducing elliptic curve digital signature algorithm and hash algorithm into the CP-ABE mechanism, a supply chain data access control model is constructed, which solves the single-point performance bottleneck and leakage problem of CP-ABE, realizes efficient revocation and update of user attributes, and ensures the security and flexibility of data access.
Patent Information
- Application Number
- CN202410985800.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-07-23
AI Technical Summary
The existing CP-ABE mechanism has single-point performance bottlenecks and leakage issues, and does not support user attribute cancellation and attribute update.
An elliptic curve digital signature algorithm, hash algorithm, and asynchronous update strategy are used to construct a supply chain data access control model, including global initialization, attribute key generation, data encryption and decryption, and support for user attribute revocation and update.
It effectively eliminates single-point performance bottlenecks and leakage issues, enables efficient attribute revocation and updates, and ensures the security and flexibility of data access.
Smart Images

Figure CN118965385B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of industrial data encryption processing technology, and in particular to a supply chain data access control method that supports attribute revocation and updating. Background Technology
[0002] In 2005, Sahai and Water proposed Attribute-Based Encryption (ABE), a mechanism based on identity-based encryption that enables fine-grained access control of data, ensuring data security. Following research by numerous domestic and international academic teams, attribute-based encryption mechanisms have been categorized into two types: KeyPolicy Attribute Based Encryption (KP-ABE) and CiphertextPolicy Attribute Based Encryption (CP-ABE). In KP-ABE, the data owner embeds a set of attributes into the plaintext for encryption, generating ciphertext based on the attribute set. Data access users must conform to the attribute set set set set by the data owner to obtain the plaintext. In CP-ABE, the data owner embeds the access policy into the plaintext for encryption, generating ciphertext based on the access control policy. Data access users must conform to the user attribute set set set by the data owner to obtain the plaintext.
[0003] CP-ABE, as an attribute-based encryption method, offers a more flexible solution in the field of access control. Compared to traditional access control mechanisms, CP-ABE's access policy can be defined by the data owner, and only users who meet the data owner's requirements can decrypt specific ciphertext data. CP-ABE is built on a public-key cryptography system, associating user attributes with ciphertext to achieve flexible access control. In CP-ABE, the data owner selects an access policy and transforms it into an access control tree. The access control tree consists of internal nodes and leaf nodes. Internal nodes represent logical operations (such as AND, OR, etc.), while leaf nodes represent attributes. The set of attributes associated with the user and the ciphertext must satisfy the leaf nodes of the access tree to achieve data decryption. The ciphertext contains the encryption key and access control tree information, ensuring that only users who comply with the access policy can successfully decrypt the data. However, CP-ABE suffers from single-point performance bottlenecks and data leakage issues, and it does not support user attribute revocation or update. Summary of the Invention
[0004] The purpose of this application is to provide a supply chain data access control method that supports attribute revocation and update. By applying elliptic curve digital signature algorithm, hash algorithm and asynchronous update strategy, it effectively eliminates single point performance bottleneck and leakage problem, and achieves efficient attribute revocation and attribute update.
[0005] To address the aforementioned technical problems, embodiments of this application provide a supply chain data access control method supporting attribute revocation and updating, comprising the following steps: establishing a supply chain data access control model, wherein the supply chain data access control model consists of data visitors, data owners, authentication and authorization centers, attribute authorization centers, and cloud service providers; globally initializing the supply chain data access control model, wherein the authentication and authorization center generates a globally public parameter set and a globally public master key based on input security parameters, and registers each user and each attribute authorization center, wherein each user and each attribute authorization center selects its own private key and calculates the corresponding public key; users generate their own attribute set and initiate an attribute key generation application to the attribute authorization center based on the attribute set, and obtain their own attribute key after verification by the authentication and authorization center; when users have data storage needs, they become data owners, the data owners determine the access structure corresponding to the plaintext data to be stored, select a secret shared value, select a column vector based on the selected secret shared value, and perform processing on the plaintext data to be stored based on the globally public parameter set, the selected secret shared value, and the selected column vector. The process involves several steps: First, encryption is performed to obtain the ciphertext data to be stored, which is then sent to the authentication and authorization center. After verification by the center, the data is forwarded to the cloud service provider for storage. When a user needs data access, they become a data access user. The user initiates a data access request for the target ciphertext data. After verification by the authentication and authorization center, this request is sent to the cloud service provider. If the cloud service provider determines that the user's attribute set meets the access structure corresponding to the target ciphertext data, it sends the target ciphertext data to the user. The user then decrypts the target ciphertext data to obtain the target plaintext data. Second, when a user requests the complete revocation of their attributes, the authentication and authorization center sends the identity identifier of the user to be revoked to the cloud service provider. The cloud service provider removes the user's data access permissions and notifies the user. Third, when a user requests an attribute update, the cloud service provider temporarily removes the user's data access permissions. The user then re-initiates an attribute key generation request to the attribute authorization center based on the updated attribute set. After verification by the authentication and authorization center, a new attribute key is obtained, and the cloud service provider is notified to restore the user's access permissions.
[0006] Embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a processor, enables a supply chain data access control method supporting attribute revocation and updating as described above.
[0007] This application provides a supply chain data access control method that supports attribute revocation and updating. The data access control is modeled as a supply chain data access control model composed of data visitors, data owners, authentication and authorization centers, attribute authorization centers, and cloud service providers. Through global initialization, attribute key generation, data encryption, and data decryption, data visitors can securely access data provided by the data owner, achieving efficient and secure data access control. The supply chain data access control model also supports complete revocation and updating of user attributes without affecting data storage and access. By applying elliptic curve digital signature algorithms, hash algorithms, and asynchronous update strategies, single-point performance bottlenecks and leakage problems are effectively eliminated, achieving efficient complete attribute revocation and updating. Attached Figure Description
[0008] One or more embodiments are illustrated by way of example with reference to the accompanying drawings, and these illustrative descriptions do not constitute a limitation on the embodiments.
[0009] Figure 1 This is a flowchart of a supply chain data access control method that supports attribute revocation and updating, provided in one embodiment of this application;
[0010] Figure 2 This is a structural diagram of a supply chain data access control model provided in one embodiment of this application;
[0011] Figure 3 This is a flowchart of the global initialization phase provided in one embodiment of this application;
[0012] Figure 4 This is a flowchart of the attribute key generation stage provided in one embodiment of this application;
[0013] Figure 5 This is a flowchart of the data encryption stage provided in one embodiment of this application;
[0014] Figure 6 This is a flowchart of the data decryption stage provided in one embodiment of this application;
[0015] Figure 7 This is a flowchart of the complete revocation phase of user attributes provided in one embodiment of this application;
[0016] Figure 8 This is a flowchart of the user attribute update stage provided in one embodiment of this application;
[0017] Figure 9 This is a flowchart of the system attribute update phase provided in one embodiment of this application. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the various embodiments of this application will be described in detail below with reference to the accompanying drawings. However, those skilled in the art will understand that many technical details have been provided in the various embodiments of this application to help readers better understand this application. However, the technical solutions claimed in this application can be implemented even without these technical details and various changes and modifications based on the following embodiments. The division of the various embodiments below is for the convenience of description and should not constitute any limitation on the specific implementation of this application. The various embodiments can be combined with and referenced by each other without contradiction.
[0019] One embodiment of this application proposes a supply chain data access control method that supports attribute revocation and updating. The implementation details of the supply chain data access control method that supports attribute revocation and updating proposed in this embodiment are described in detail below. The following implementation details are provided for ease of understanding only and are not necessary for implementing this solution.
[0020] The specific process of the supply chain data access control method supporting attribute revocation and updating proposed in this embodiment can be described as follows: Figure 1 As shown, it includes:
[0021] Step 101: Establish a supply chain data access control model, which consists of data accessers, data owners, authentication and authorization centers, attribute authorization centers, and cloud service providers.
[0022] In its implementation, data access control is modeled as a supply chain data access control model. This model consists of five parts: Data User (DU), Data Owner (DO), Certificate Authority (CA), Attribute Authority (AA), and Cloud Service Provider (CSP). The predecessors of both the Data User and the Data Owner are Users (UR). Since there are several Users, there can also be several Data Users and Data Owners. There are also several Attribute Authority Centers, which together form an Attribute Authority Center cluster.
[0023] In one example, the specific structure of the supply chain data access control model is as follows: Figure 2 As shown, the attribute authorization center exists in the form of a cluster.
[0024] DU is a user who wants to access encrypted data. Its main function is to obtain a decryption key that matches its attributes, decrypt the data encrypted by DO using the key, and obtain the required data file. DU also needs to verify whether its attributes meet the data access control policy to determine whether it has the right to access the data.
[0025] As the owner of the entire supply chain, the DO can define access control policies, specifying who can access encrypted data and under what conditions. These policies are typically based on attributes such as user identity, role, or other attributes. The DO uses the CP-ABE encryption algorithm to encrypt the data, converting it into ciphertext form to protect its security.
[0026] The CA (Certificate Authority) is responsible for issuing and managing the AA's (Agency Provider's) digital certificates, ensuring the security and trustworthiness of the entire system. The digital certificates issued by the CA are used to verify the AA's identity and permissions, and also manage the key pairs associated with the AA, including public and private keys, used for encryption and decryption operations. Furthermore, the CA is also responsible for verifying the identity and permissions of users and the AA to ensure that users have legitimate access to data.
[0027] The Access Controller (AA) is responsible for managing and maintaining user-related attribute information. The AA generates and issues keys associated with user-owned attributes; these attribute keys are used to decrypt encrypted data associated with specific attributes. The AA needs to ensure that only users who meet the access policy requirements can obtain their attribute keys. Therefore, before sending attribute keys, the AA needs to verify whether the user's attributes meet the requirements. This ensures that users can only obtain the attribute keys they actually possess, thus complying with the access control policy.
[0028] The CSP (Content Provider Service) is responsible for storing data in the supply chain and providing corresponding processing services. Its main responsibilities include data encryption / decryption and enforcing appropriate access policies. The CSP needs to enforce defined access policies to ensure that only users with the required attributes can access and decrypt the corresponding data.
[0029] The data access control involved in the supply chain data access control model can be divided into seven stages: "global initialization", "attribute key generation", "data encryption", "data decryption", "complete revocation of user attributes", "user attribute update" and "system attribute update". The following is an explanation of each step. The order of steps 104 to 107 is only an illustrative example and there are no special requirements for the specific order.
[0030] Step 102: Globally initialize the supply chain data access control model. The authentication and authorization center generates a global public parameter set and a global master key based on the input security parameters, and registers each user and each attribute authorization center. Each user and each attribute authorization center selects its own private key and calculates the corresponding public key.
[0031] In a practical implementation, the global initialization phase can proceed as follows: Figure 3 As shown.
[0032] The authentication and authorization center obtains the input security parameter γ, constructs a first multiplicative cyclic group G1 and a second multiplicative cyclic group G2 based on the input security parameter γ, defines the generator of the first multiplicative cyclic group G1 and the second multiplicative cyclic group G2 as g, and the order of the generator g is p. Define a bilinear mapping e, e: G1×G1→G2, and generate a system version number V for itself. CA .
[0033] The authentication and authorization center selects a hash function H, where H: {0,1} * →Z p In Z p The first global master key parameter b, the second global master key parameter α, and the third global master key parameter β are randomly selected, and the fourth global master key parameter a is determined, where a = e(g,g). α Meanwhile, let h = g β .
[0034] The certification and authorization center randomly selects elliptic curve E p (c,d) and determine the elliptic curve E p The base point of (c,d) is G, and the elliptic curve E p (c,d) satisfy the following conditions;
[0035] {(x,y)|y 2 =x 3 +cx+d,4c 3 +27d 2 ≠0}∪0
[0036] Where c and d are the semi-major axis and semi-minor axis of the elliptic curve, respectively, and (x,y) is any point on the elliptic curve.
[0037] The authentication and authorization center is based on the first multiplicative cyclic group G1, the second multiplicative cyclic group G2, the hash function H, the generator g, the second global master key parameter α, and the elliptic curve E. p (c,d) and e(g,g) α Generate and publish a global public parameter set GK. The global public parameter set GK can be represented as: GK = {G1, G2, H, g, g} α E p (c,d),e(g,g) α}
[0038] The authentication and authorization center generates and publishes a global master key MSK based on the first global master key parameter b, the second global master key parameter α, the third global master key parameter β, and the fourth global master key parameter a, where MSK = {a, b, α, β}.
[0039] After generating and publishing the globally public parameter set GK and the global master key MSK, the authentication and authorization center can register for each user and each attribute authorization center.
[0040] The user sends a registration request to the authentication and authorization center, which then generates an identity identifier (Uid) and a user version number (V) for the user who sent the registration request. Uid The user randomly selects k Uid ∈Z p As a self-owned private key, and based on k Uid and elliptic curve E p Calculate the corresponding public key P from the base point G of (c,d). Uid =k Uid G is returned to the certification and authorization center.
[0041] The Attribute Authorization Center sends a registration request to the Certification and Authorization Center. The Certification and Authorization Center generates an identity identifier (Aid) for the Attribute Authorization Center that sent the registration request. The Attribute Authorization Center then randomly selects k. Aid ∈Z p As a self-owned private key, and based on k Aid and elliptic curve E p Calculate the corresponding public key P from the base point G of (c,d). Aid =k Aid G is returned to the certification and authorization center.
[0042] Step 103: The user generates their own attribute set and submits an attribute key generation application to the attribute authorization center based on the attribute set. After verification by the authentication and authorization center, the user obtains their own attribute key.
[0043] In the specific implementation, after the global initialization phase is completed, the attribute key generation phase can begin. The process of the attribute key generation phase can be as follows: Figure 4 As shown.
[0044] A user generates their own attribute set U, and based on this attribute set U, initiates an attribute key generation request to the attribute authorization center. The attribute authorization center then processes the public key P of the user who sent the attribute key generation request. Uid Authentication will be performed. If authentication fails, the attribute authorization center will directly reject the user's attribute key generation request. If authentication succeeds, the attribute authorization center will generate an intermediate key MK for the user and then transfer the verified attribute set U. JThe identity identifier Aid of the attribute authorization center, the identity identifier Uid of the user, and the intermediate key MK are packaged and sent to the authentication and authorization center.
[0045] The intermediate key MK can be generated using the following formula:
[0046]
[0047] Where x represents the verified attribute set U J The xth attribute in.
[0048] The authentication and authorization center received the U package sent by the attribute authorization center. J After Aid, Uid, and MK, the legitimacy of the attribute authorization center needs to be verified. If the legitimacy verification fails, the user's attribute key generation application is directly rejected. If the legitimacy verification succeeds, the user's attribute key SK is generated based on the intermediate key MK and the global master key MSK. After calculating the attribute key SK, the authentication and authorization center can then perform operations on the attribute key SK based on the user's public key P. Uid After elliptic encryption, an encryption attribute key is generated and sent to the user.
[0049] The attribute key SK can be generated using the following formula:
[0050]
[0051] Among them, L, K, etc. are intermediate or abbreviated representations and have no real meaning.
[0052] After receiving the encryption attribute key from the authentication and authorization center, the user uses their own private key k. Uid Decrypt the encrypted attribute key to obtain its own attribute key SK.
[0053] Step 104: When a user has a data storage need, they become the data owner. The data owner determines the access structure corresponding to the plaintext data to be stored, selects a secret shared value, selects a column vector based on the selected secret shared value, and encrypts the plaintext data to be stored based on the globally public parameter set, the selected secret shared value, and the selected column vector to obtain the ciphertext data to be stored and sends it to the authentication and authorization center. After the authentication and authorization center verifies the data, it forwards it to the cloud service provider for storage.
[0054] In practical implementation, after obtaining their own attribute key, users can upgrade to either a data owner or a data accessor. When a user has data storage needs, they become a data owner, and the supply chain data access control model enters the data encryption phase. The data encryption phase process can be as follows: Figure 5 As shown.
[0055] The data owner determines that the access structure corresponding to the plaintext data m to be stored is (M, ρ), and randomly selects a secret shared value s, where s ∈ Z. p M is an l-row n-column matrix, and ρ represents the specific attribute mapped from the i-th row of M.
[0056] The data owner selects a column vector v based on the chosen secret shared value s, where v = (s, y1, y2, ..., y n ) T The table T in the upper right corner represents taking the transpose, (y1, y2, ..., y n ) is the first set of encryption parameters selected randomly.
[0057] For each row of M, the data owner computes the intermediate ciphertext based on the selected secret shared value s and the selected column vector v.
[0058] The data owner randomly selects a second set of encryption parameters (q1, q2, ..., q l )∈Z p And based on the globally public parameter set GK and the second encrypted parameter set (q1,q2,…,q l The intermediate ciphertext is further encrypted to obtain the ciphertext data CT that needs to be stored.
[0059] The ciphertext data CT that needs to be stored can be calculated using the following formula:
[0060]
[0061] Among them, C, D, etc. are intermediate or abbreviated representations and have no real meaning.
[0062] The data owner sends their identity identifier (Uid) and the encrypted data (CT) to be stored to the authentication and authorization center. The authentication and authorization center verifies the data owner's identity based on the data owner's identity identifier (Uid). If the verification fails, the data owner's data storage request is rejected. If the verification is successful, the encrypted data (CT) to be stored is sent to the cloud service provider for storage.
[0063] Step 105: When a user has a data access need, they become a data access user. The data access user initiates a data access request for the target encrypted data. After the authentication and authorization center verifies the request, it is sent to the cloud service provider. If the cloud service provider determines that the data access user's attribute set meets the access structure corresponding to the target encrypted data, it sends the target encrypted data to the data access user. The data access user decrypts the target encrypted data to obtain the target plaintext data.
[0064] In practical implementation, users become data access users when they have data access needs, and the supply chain data access control model enters the data decryption phase. The data decryption phase process can be as follows: Figure 6 As shown.
[0065] Data access users initiate a CT request for the target encrypted data to the authentication and authorization center. * For data access requests, the authentication and authorization center verifies the data access user's identity based on the data access user's Uid. If the authentication fails, the data access request is directly rejected. If the authentication is successful, the data access request is forwarded to the cloud service provider.
[0066] Cloud service providers determine whether the attribute set U of the data visitor satisfies the target encrypted data CT. * If the corresponding access structure (M, ρ) is not satisfied, the data access request from the data access user is directly rejected; if it is satisfied, the target encrypted data CT is sent. * Send to the data accessor.
[0067] Data visitors construct a decryption matrix M based on their own attribute set U. U Based on the decryption matrix M U And the globally public parameter set GK, for the target ciphertext data CT * Decryption is performed to obtain the target plaintext data m. * .
[0068] Wherein, the decryption matrix M U It is a submatrix of M, M U Each row corresponds to a specific attribute of U, and the data visitor commands... Select a set of parameters {θ i ∈Z p} i∈N Satisfying s=∑θ i ·γ i ,for Data visitors need to calculate: Based on the selected parameter {θ i} i∈N Further calculations:
[0069]
[0070] Final calculation Obtain the target plaintext data m * .
[0071] Step 106: When there is a request to completely revoke user attributes, the authentication and authorization center sends the identity identifier of the user to be revoked to the cloud service provider. The cloud service provider removes the data access permissions of the user to be revoked and notifies the user.
[0072] In its implementation, when a user attribute is required to be completely revoked, the supply chain data access control model enters the user attribute complete revocation phase. The flowchart for the user attribute complete revocation phase is as follows: Figure 7 As shown.
[0073] The cloud service provider maintains a hash table for users. Each key in the hash table is the user's identity identifier (Uid). The value of the key is either 0 or 1. A value of 0 indicates that the user does not have access rights, while a value of 1 indicates that the user has access rights.
[0074] When a user needs to have their attributes completely revoked, the authentication and authorization center sends the user's identity identifier (Uid) to the cloud service provider. The cloud service provider then retrieves the corresponding key from the hash table based on the user's identity identifier (Uid) and changes the value of the corresponding key to 0 to remove the user's data access permissions and prevent the user from continuing to access the data.
[0075] After removing the data access permissions of the user that needs to be revoked, the cloud service provider will notify the user.
[0076] Step 107: When there is a user attribute update requirement, the cloud service provider temporarily removes the data access permissions of the user who needs to update. The user who needs to update re-initiates the attribute key generation application to the attribute authorization center based on the updated attribute set. After verification by the authentication and authorization center, the user obtains a new attribute key and notifies the cloud service provider to restore their access permissions.
[0077] In practical implementation, when there is a need to update user attributes, the supply chain data access control model enters the user attribute update phase. The process of the user attribute update phase can be as follows: Figure 8 As shown.
[0078] When there is a need to update user attributes, the authentication and authorization center sends the identity identifier Uid of the user to be updated to both the cloud service provider and the attribute authorization center. The cloud service provider retrieves the corresponding key in the hash table based on the identity identifier Uid of the user to be updated, and changes the value of the corresponding key to 0 to temporarily remove the data access permissions of the user to be revoked.
[0079] Users who need to update their attributes are based on the updated attribute set U. * The attribute key generation request is resubmitted to the attribute authorization center. The attribute authorization center then updates the public key P of the user who needs the key. UidAuthentication is performed. If authentication fails, the request to generate the attribute key for the user who needs to be updated is rejected, and the user attribute update fails. If authentication succeeds, a new intermediate key MK is generated for the user who needs to be updated. * The updated attribute set U after verification * J The identity identifier Aid from the attribute authorization center, the identity identifier Uid of the user to be updated, and the new intermediate key MK * Package and send to the certification and authorization center.
[0080] The certification and authorization center received U * J Aid, Uid, and MK * Next, the legitimacy of the attribute authorization center needs to be verified. If the legitimacy verification fails, the user's attribute key generation application that needs to be updated is directly rejected, and the user attribute update fails. If the legitimacy verification succeeds, the update is based on the new intermediate key MK. * Generate a new attribute key SK for the user using the global master key MSK. * For the new attribute key SK * Perform updates based on the user's public key P that needs to be updated. Uid After elliptic encryption, a new encryption attribute key is generated and sent to the user.
[0081] Users who need to update their accounts do so based on their self-owned private key k. Uid Decrypt the new encrypted attribute key to obtain its own new attribute key SK. * and through the elliptic curve E p (c,d) for the new attribute key SK * The signature is processed, and the signature information is returned to the authentication and authorization center.
[0082] Upon receiving the signature information, the authentication and authorization center verifies it. If signature verification fails, the user attribute update is deemed to have failed. If signature verification succeeds, the verification result is sent to the cloud service provider.
[0083] After receiving the signature verification information, the cloud service provider will change the value of the key corresponding to the user's identity identifier Uid in the hash table back to 1, so as to restore the user's data access permissions.
[0084] The specific process of sending and verifying the signature information is as follows: The user selects a random number k, k∈[1,n-1], where n is the order of the base point G of the elliptic curve, and calculates P=kG and r=x mod n; the user then sends the newly obtained attribute key (denoted as SK) to the system. **The hash function SHA-1 is used to convert the hash value into a 160-bit hash value, i.e., e = H(SK). * Then calculate s = k -1 (e+dr)mod n; After receiving the signature information, the authentication and authorization center will assign the new attribute key SK. * It is also converted into a 160-bit hash value using the hash function SHA-1, i.e., e * =H(SK) * ), and calculate:
[0085]
[0086] X = (x1, y1) = u1G + u2Q
[0087] v = x1 mod n
[0088] The signature information is successfully verified if and only if v = r.
[0089] In one example, when a system attribute update is required, the supply chain data access control model enters the system attribute update phase. The system attribute update employs an asynchronous update strategy, and the process of the system attribute update phase can be as follows: Figure 9 As shown.
[0090] The Certification and Authorization Center has updated its system version number to V. CA * When the authentication and authorization center receives any application from a user who has obtained the attribute key, it can verify the user's version number V. Uid With the new system version number V CA * Are they the same? If the user's version number V Uid With the new system version number V CA * If they are the same, then respond to the user's request; if the user's version number V... Uid With the new system version number V CA * If they are different, a new attribute key SK will be generated for the user. * And new user version number V Uid * For the new attribute key SK * And new user version number V Uid * Perform user-based public key P Uid The elliptic cryptography generates a new encryption attribute key and a new encryption version number, which are then sent to the user.
[0091] The user uses their own private key k Uid Decrypt the new encryption attribute key and the new encryption version number to obtain its own new attribute key SK.* And new user version number V Uid * .
[0092] In this embodiment, data access control is modeled as a supply chain data access control model consisting of data visitors, data owners, authentication and authorization centers, attribute authorization centers, and cloud service providers. Through global initialization, attribute key generation, data encryption, and data decryption, data visitors can securely access data provided by data owners, achieving efficient and secure data access control. The supply chain data access control model also supports complete revocation and updating of user attributes without affecting data storage and access. By applying elliptic curve digital signature algorithms, hash algorithms, and asynchronous update strategies, single-point performance bottlenecks and leakage problems are effectively eliminated, achieving efficient complete attribute revocation and attribute updates.
[0093] The steps of the various methods described above are only for clarity. In practice, they can be combined into one step or some steps can be split into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this application. Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but without changing the core design of the algorithm and process, are also within the scope of protection of this application.
[0094] Another embodiment of this application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, can implement a supply chain data access control method supporting attribute revocation and updating as described in the above method embodiments.
[0095] That is, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware. This program is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0096] Those skilled in the art will understand that the above embodiments are specific embodiments for implementing this application, and in practical applications, various changes can be made to them in form and detail without departing from the spirit and scope of this application.
Claims
1. A supply chain data access control method supporting attribute revocation and updating, characterized in that, include: A supply chain data access control model is established, which consists of data accessers, data owners, authentication and authorization centers, attribute authorization centers, and cloud service providers; The supply chain data access control model is globally initialized. The authentication and authorization center generates a global public parameter set and a global master key based on the input security parameters, and registers each user and each attribute authorization center. Each user and each attribute authorization center selects its own private key and calculates the corresponding public key. Users generate their own attribute set and submit an attribute key generation application to the attribute authorization center based on the attribute set. After verification by the authentication and authorization center, they obtain their own attribute key. When a user has a data storage need, they become the data owner. The data owner determines the access structure corresponding to the plaintext data to be stored, selects a secret shared value, selects a column vector based on the selected secret shared value, and encrypts the plaintext data to be stored based on the globally public parameter set, the selected secret shared value, and the selected column vector to obtain the ciphertext data to be stored and sends it to the authentication and authorization center. After the authentication and authorization center verifies the data, it forwards it to the cloud service provider for storage. When a user has a data access need, they become a data access user. The data access user initiates a data access request for the target encrypted data. After the authentication and authorization center verifies the request, it is sent to the cloud service provider. If the cloud service provider determines that the data access user's attribute set meets the access structure corresponding to the target encrypted data, it sends the target encrypted data to the data access user. The data access user decrypts the target encrypted data to obtain the target plaintext data. When there is a need to completely revoke a user's attributes, the authentication and authorization center sends the identity identifier of the user to be revoked to the cloud service provider. The cloud service provider removes the data access permissions of the user to be revoked and notifies the user. When a user needs to update their attributes, the cloud service provider temporarily removes the user's data access permissions. The user then resubmits an attribute key generation request to the attribute authorization center based on the updated attribute set. After verification by the authorization center, the user obtains a new attribute key and notifies the cloud service provider to restore their access permissions.
2. The supply chain data access control method supporting attribute revocation and updating according to claim 1, characterized in that, The global initialization of the supply chain data access control model, wherein the authentication and authorization center generates a globally public parameter set and a global master key based on the input security parameters, includes: The authentication and authorization center obtains the input security parameters, constructs a first multiplicative cyclic group G1 and a second multiplicative cyclic group G2 based on the input security parameters, defines the generator of the first multiplicative cyclic group G1 and the second multiplicative cyclic group G2 as g, the order of the generator g as p, defines a bilinear mapping e, e: G1×G1→G2, and generates a system version number V for itself. CA ; Choose a hash function H, where H: {0,1} * →Z p In Z p The first global master key parameter b, the second global master key parameter α, and the third global master key parameter β are randomly selected, and the fourth global master key parameter a is determined, where a = e(g,g). α ; Randomly select elliptic curve E p (c,d) and determine the elliptic curve E p The base point of (c,d) is G, and the elliptic curve E p (c,d) satisfy the following conditions; {(x,y)|y 2 =x 3 +cx+d,4c 3 +27d 2 ≠0}∪0 Where c and d are the semi-major axis and semi-minor axis of the elliptic curve, respectively, and (x,y) is any point on the elliptic curve; Based on the first multiplicative cyclic group G1, the second multiplicative cyclic group G2, the hash function H, the generator g, the second global master key parameter α, and the elliptic curve E. p (c,d) and e(g,g) α Generate and publish the globally public parameter set GK; Based on the first global master key parameter b, the second global master key parameter α, the third global master key parameter β, and the fourth global master key parameter a, a global master key MSK is generated and published.
3. The supply chain data access control method supporting attribute revocation and updating according to claim 2, characterized in that, The process involves registration for each user and each attribute authorization center. Each user and each attribute authorization center selects its own private key and calculates the corresponding public key, including: The user sends a registration request to the authentication and authorization center, which then generates an identity identifier (Uid) and a user version number (V) for the user who sent the registration request. Uid The user randomly selects k Uid ∈Z p As a self-owned private key, and based on k Uid and elliptic curve E p Calculate the corresponding public key P from the base point G of (c,d). Uid P Uid =k Uid G; The Attribute Authorization Center sends a registration request to the Certification and Authorization Center. The Certification and Authorization Center generates an identity identifier (Aid) for the Attribute Authorization Center that sent the registration request. The Attribute Authorization Center then randomly selects k. Aid ∈Z p As a self-owned private key, and based on k Aid and elliptic curve E p Calculate the corresponding public key P from the base point G of (c,d). Aid P Aid =k Aid G.
4. A supply chain data access control method supporting attribute revocation and updating according to claim 3, characterized in that, Users generate their own attribute sets and submit attribute key generation requests to the attribute authorization center based on these attribute sets. After verification by the authorization center, users obtain their own attribute keys, which include: Users generate their own attribute set U and, based on attribute set U, initiate an attribute key generation request to the attribute authorization center. The attribute authorization center then processes the public key P of the user who sent the attribute key generation request. Uid Perform identity verification; If authentication fails, the user's request to generate the attribute key is rejected; If authentication is successful, an intermediate key MK is generated for the user, and the verified attribute set U is transferred. J The attribute authorization center's identity identifier Aid, the user's identity identifier Uid, and the intermediate key MK are sent to the authentication and authorization center; The authentication and authorization center verifies the legitimacy of the attribute authorization center; If the validity verification fails, the user's application to generate the attribute key will be rejected. If the legitimacy verification is successful, the user's attribute key SK is generated based on the intermediate key MK and the global master key MSK. The attribute key SK is then processed using the user's public key P. Uid After elliptic encryption, an encryption attribute key is generated and sent to the user; The user uses their own private key k Uid Decrypt the encrypted attribute key to obtain its own attribute key SK.
5. A supply chain data access control method supporting attribute revocation and updating according to claim 4, characterized in that, The data owner determines the access structure corresponding to the plaintext data to be stored, selects a secret shared value, selects a column vector based on the selected secret shared value, and encrypts the plaintext data to be stored based on the globally public parameter set, the selected secret shared value, and the selected column vector to obtain the ciphertext data to be stored. This ciphertext data is then sent to the authentication and authorization center. After verification by the authentication and authorization center, it is forwarded to the cloud service provider for storage, including: The data owner determines that the access structure corresponding to the plaintext data m to be stored is (M, ρ), and randomly selects a secret shared value s; where s ∈ Z p M is an l-row n-column matrix, and ρ represents the specific attribute mapped from the i-th row of M; The data owner selects a column vector v based on the chosen secret shared value s; where v = (s, y1, y2, ..., y n ) T The table T in the upper right corner represents taking the transpose, (y1, y2, ..., y n () represents the first set of encryption parameters selected randomly. For each row of M, the intermediate ciphertext is computed based on the selected secret shared value s and the selected column vector v; The data owner randomly selects a second set of encryption parameters (q1, q2, ..., q l )∈Z p And based on the globally public parameter set GK and the second encrypted parameter set (q1,q2,…,q l The intermediate ciphertext is further encrypted to obtain the ciphertext data CT that needs to be stored. The data owner sends their identity identifier (Uid) and the encrypted data (CT) to be stored to the authentication and authorization center. The authentication and authorization center verifies the data owner's identity based on the data owner's identity identifier (Uid). If the verification fails, the data owner's data storage request is rejected. If the verification is successful, the encrypted data (CT) to be stored is sent to the cloud service provider for storage.
6. A supply chain data access control method supporting attribute revocation and updating according to claim 5, characterized in that, A data access user initiates a data access request for target encrypted data. After verification by the authentication and authorization center, the request is sent to the cloud service provider. If the cloud service provider determines that the data access user's attribute set matches the access structure corresponding to the target encrypted data, it sends the target encrypted data to the data access user. The data access user decrypts the target encrypted data to obtain the target plaintext data, including: The data accesser initiates a data access request to the authentication and authorization center for the target encrypted data. The authentication and authorization center verifies the data accesser's identity based on the data accesser's Uid. If authentication fails, the data access request from the data user is denied. If authentication is successful, the data access request will be forwarded to the cloud service provider. The cloud service provider determines whether the attribute set U of the data visitor satisfies the access structure (M, ρ) corresponding to the target encrypted data; If the conditions are not met, the data access request from the data user will be rejected. If the conditions are met, the target encrypted data CT* will be sent to the data accessor. Data visitors construct a decryption matrix M based on their own attribute set U. U Based on the decryption matrix M U Using the globally public parameter set GK, the target ciphertext data CT* is decrypted to obtain the target plaintext data m*.
7. A supply chain data access control method supporting attribute revocation and updating according to any one of claims 3 to 6, characterized in that, When a user needs to have their attributes completely revoked, the authentication and authorization center sends the identity identifier of the user to be revoked to the cloud service provider. The cloud service provider then removes the data access permissions for the user to be revoked and notifies the user, including: The cloud service provider maintains a hash table for users. Each key in the hash table is the user's identity identifier (Uid). The value of the key is either 0 or 1. A value of 0 indicates that the user does not have access rights, and a value of 1 indicates that the user has access rights. When there is a need to completely revoke a user's attributes, the authentication and authorization center sends the identity identifier (Uid) of the user to be revoked to the cloud service provider. The cloud service provider retrieves the corresponding key in the hash table based on the identity identifier (Uid) of the user to be revoked, changes the value of the corresponding key to 0, and removes the data access permissions of the user to be revoked. After removing the data access permissions of the user that needs to be revoked, notify the user who needs to be revoked.
8. A supply chain data access control method supporting attribute revocation and updating according to claim 7, characterized in that, When a user needs to update their attributes, the cloud service provider temporarily removes the data access permissions for that user. The user then re-submits an attribute key generation request to the attribute authorization center based on the updated attribute set. After verification by the authorization center, a new attribute key is obtained, and the user notifies the cloud service provider to restore their access permissions, including: When there is a need to update user attributes, the authentication and authorization center sends the identity identifier Uid of the user to be updated to both the cloud service provider and the attribute authorization center. The cloud service provider retrieves the corresponding key in the hash table based on the identity identifier Uid of the user to be updated, and changes the value of the corresponding key to 0 to temporarily remove the data access permissions of the user to be revoked. Users who need to update their attributes are based on the updated attribute set U. * The attribute key generation request is resubmitted to the attribute authorization center. The attribute authorization center then updates the public key P of the user who needs the key. Uid Perform identity verification; If authentication fails, the request to generate the attribute key for the user that needs to be updated is rejected, and the user attribute update fails. If authentication is successful, a new intermediate key MK will be generated for the user who needs to update. * The updated attribute set U after verification * J The identity identifier Aid from the attribute authorization center, the identity identifier Uid of the user to be updated, and the new intermediate key MK * Send to the certification and authorization center; The authentication and authorization center verifies the legitimacy of the attribute authorization center; If the validity verification fails, the application to generate the attribute key for the user that needs to be updated will be rejected, and the user attribute update will fail. If the validity verification is successful, then based on the new intermediate key MK * Generate a new attribute key SK for the user using the global master key MSK. * For the new attribute key SK * Perform updates based on the user's public key P that needs to be updated. Uid After elliptic encryption, a new encryption attribute key is generated and sent to the user; Users who need to update their accounts do so based on their self-owned private key k. Uid Decrypt the new encrypted attribute key to obtain its own new attribute key SK. * and through the elliptic curve E p (c,d) for the new attribute key SK * Sign the document and return the signature information to the authentication and authorization center; The authentication and authorization center verifies the signature information; If the signature verification fails, it indicates that the user attribute update has failed. If the signature verification is successful, the signature verification information will be sent to the cloud service provider. After receiving the signature verification information, the cloud service provider will change the value of the key corresponding to the user's identity identifier Uid in the hash table back to 1, so as to restore the user's data access permissions.
9. A supply chain data access control method supporting attribute revocation and updating according to claim 7, characterized in that, When there is a need to update system attributes, the method further includes: The Certification and Authorization Center has updated its system version number to V. CA * When the authentication and authorization center receives an application from a user who has obtained the attribute key, it verifies the user's version number V. Uid With the new system version number V CA * Are they the same? If the user's version number is V Uid With the new system version number V CA * If they are the same, then respond to the user's request; If the user's version number is V Uid With the new system version number V CA * If they are different, a new attribute key SK* and a new user version number V will be generated for the user. Uid * For the new attribute key SK* and the new user version number V respectively Uid * Perform user-based public key P Uid The elliptic cryptography is used to generate a new encryption attribute key and a new encryption version number, which are then sent to the user. The user uses their own private key k Uid Decrypt the new encryption attribute key and the new encryption version number to obtain its own new attribute key SK. * And new user version number V Uid * .
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements a supply chain data access control method that supports attribute revocation and updating as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Improved multi-authorization CP-ABE supply chain source tracing data access control method
CN117371003A
Data access control system based on revocable attribute encryption
CN117997604A