Attribute-based access control method for realizing puncture revocation and outsourcing decryption under multiple authorizations
By employing a multi-authority-based puncture revocation and outsourced decryption method, the security risks associated with a single authoritative institution and the fine-grained revocation problem of traditional CP-ABE are resolved. This enables fine-grained user revocation and lightweight decryption operations, thereby improving the data security and flexibility of the cloud storage environment.
Patent Information
- Application Number
- CN202511476139.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-16
- Publication Date
- 2025-11-14
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In existing technologies, key management by a single authority has the risk of single point of failure, security risks of malicious organizations abusing keys, and traditional CP-ABE schemes are difficult to achieve fine-grained user revocation and efficient revocation calculation.
By introducing multiple authorization authorities, user keys are jointly managed by certificate authorities and attribute authorities. Decryption operations are outsourced to proxy servers, and puncture strategies are used to achieve fine-grained access control and lightweight revocation, reducing the decryption burden on users.
It enables fine-grained user revocation and lightweight decryption calculations under multiple authorization authorities, reducing the decryption burden on system users and improving data security and flexibility in cloud storage environments.
Smart Images

Figure QLYQS_34 
Figure QLYQS_35 
Figure QLYQS_61
Abstract
Description
Technical Field
[0001] This invention relates to the fields of cloud services and cryptography, specifically to an attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorization authorities. Background Technology
[0002] In today's cloud service systems, a flexible and fine-grained access control scheme is needed. Cited Policy Attribute-Based Encryption (CP-ABE), as a novel encryption primitive, can effectively protect data confidentiality and achieve flexible, fine-grained access control. The core idea of Attribute-Based Cryptography (ABE) is to associate ciphertext and keys with a set of attributes and access structures. This is achieved by transforming the user's identity from a single key or certificate into a set of descriptive attributes, and the encryption / decryption strategy is dynamically determined by these attributes. Unlike traditional public-key cryptography, where the encryptor needs to know the identities of all recipients during encryption, CP-ABE, as a type of ABE, binds attributes to the user's private key, embedding an access control policy composed of various attributes into the ciphertext. By comparing and verifying attributes with the access policy, it is possible for someone with a specific identity to decrypt the ciphertext without prior knowledge of the recipient's actual identity or private key.
[0003] In an ABE (Advanced Behavior-Based Execution) system, user permissions are determined by their attributes. When a user's permissions need to be revoked (e.g., employee departure, key leakage), the system must be able to prevent that user from continuing to decrypt ciphertext, i.e., revoke the permissions of the specified user. Currently, many studies focus on ABE schemes with revocable policies, and these schemes implement the revocation of unauthorized data users by the data owner. However, these schemes generally suffer from problems such as the inability to achieve fine-grained user revocation or complex revocation computations. To address the potential issue of malicious users or lost keys of legitimate users in the system, data users need a flexible and efficient revocation scheme to protect the security of data in the cloud.
[0004] In addition, single-authority schemes remain the mainstream in the encryption and decryption field. The generation and distribution of decryption keys are handled by an authoritative institution, requiring users to fully trust this institution. However, on the one hand, the heavy burden of password management for the institution can easily lead to a single point of failure. On the other hand, malicious organizations can easily abuse decryption keys because they possess every user's key, posing a significant security risk. Summary of the Invention
[0005] The present invention aims to at least partially solve one of the technical problems existing in the related art.
[0006] The purpose of this invention is to provide an attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorization agencies. It introduces a puncture-based user revocation scheme and outsources some decryption and revocation operations to the cloud, thereby achieving fine-grained access control in the current cloud storage environment and realizing efficient and flexible user revocation and encrypted decryption.
[0007] To achieve the above objectives, the present invention provides an attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorized agencies, comprising:
[0008] S1. Define the cloud service system, including certificate authorities, attribute authorities, service providers, proxy servers, data owners, and data users;
[0009] S2. The certificate authority initializes the cloud service system and obtains the system's public parameters. Global public key and global private key And initialize the attribute issuing authority, service provider, proxy server, data owner and data user respectively;
[0010] For each data user, the certificate authority generates a global public key pair for that user. and user global private key pair During the initialization phase of the attribute issuing authority, the attribute issuing authority generates its own public key. and private key And generate a public key for each attribute it manages. ;
[0011] S3. During the key generation phase, the Certificate Authority generates the user's private key. The system then distributes these keys to attribute issuing authorities and data users; after a data user initiates an access request to the system, the corresponding attribute issuing authority generates a conversion key based on the data user's attributes. And send it to the data user;
[0012] S4. During the ciphertext generation phase, the data owner defines the access control policy and runs the encryption algorithm to encrypt the corresponding plaintext information. Receive ciphertext ;
[0013] S5. During the puncture phase, the service provider uses a puncture strategy to encrypt the ciphertext. Perform a puncture and obtain the ciphertext after the puncture. ciphertext after puncture A new restriction label has been inserted;
[0014] S6. During the outsourced decryption phase, the proxy server first verifies whether the data user's attributes meet the requirements. If the access control policies included are met, the proxy server will further verify the conversion key. If the tags in the data do not match the puncture policy, the proxy server performs partial decryption for the data user, obtains partial decryption parameters, and sends them to the data user.
[0015] S7. During the decryption phase, the data user uses their own private key. By combining some decryption parameters, the corresponding plaintext is obtained.
[0016] A further preferred embodiment of the present invention is that step S2 specifically comprises:
[0017] S21. Certificate Authority Operation Group Generator Obtains Public System Parameters ,in It is a group generator, It is a bilinear mapping. ; , For two distinct finite cyclic groups, To generate a group, For the result group;
[0018] Next, the certificate authority selects a hash function. Convert the string into elements of the group; select three random numbers. Define a polynomial , making and set ;Will Select the tag as the initial state; generate the system's global public key, represented as:
[0019] ;
[0020] And the system's global private key, represented as:
[0021] ;
[0022] S22. For each data user registered with the system, if the data user is a legitimate user, the certificate authority assigns a unique user identifier to that data user. When an attribute issuing authority registers with the system, if it is a legitimate authority, the certificate authority assigns it a global attribute issuing authority identity. Then, for each registered data user, the certificate authority generates a global public key pair for that user. User's global private key pair ,in ; These are two different random numbers selected by the system for the data user;
[0023] Certificate authorities obfuscate the key pair, and then... Send to data users, Issued to the attribute issuing authority;
[0024] S23. The attribute issuing authority is initialized, and two random numbers are selected. and Generate your own private key ;in Used for data encryption Used to distinguish different attribute issuing authorities and generate corresponding public keys. For each attribute managed by the attribute issuing authority The corresponding attribute issuing authority generates the attribute public key. ;
[0025] The attribute issuing authority manages the public key of the attributes it manages. and public key public.
[0026] Preferably, the key generation stage in step S3 is as follows:
[0027] S31. After a data user registers with the system, the certificate authority is the data user. Select This is the decryption private key for the data user. and distribute it to the data user. And the issuing authority of the attribute corresponding to the user of this data;
[0028] S32, Data User After applying to the corresponding attribute issuing authority, the attribute issuing authority runs a key generation algorithm to select a random number. For each attribute that belongs to the authority that issues the attribute Generate for users:
[0029] ;
[0030] For the attributes of managed users, the attribute issuing authority generates a transformation attribute key, represented as:
[0031] ;
[0032] For the attributes in the selected tag set Transformed into group elements The conversion key is then represented as:
[0033] ;
[0034] If the user does not have attributes managed by an attribute issuing authority, the conversion key does not contain [the relevant information]. and .
[0035] Preferably, the ciphertext generation stage in step S4 is as follows:
[0036] S41. The data owner defines the access control policy and runs the encryption algorithm, as follows:
[0037] ;
[0038] in, This is plaintext information. The set of public keys issued by all attribute issuing authorities related to the attributes used during encryption. It is The matrix, where This represents the total number of all attributes. For the number of unit holders, The function will Each row is mapped to a property;
[0039] S42. The data owner selects a random number. And select a random vector ;in Used to conceal encryption index ;remember For the issuing authority of attributes in the encrypted set; for From 1 to Calculate ,in Representative matrix The OK;
[0040] S43, then from Start to Calculate the ciphertext:
[0041] ;
[0042] ;
[0043] ].
[0044] Preferably, the puncture stage of step S5 is as follows:
[0045] S51, The service provider receives the access policy from the data owner. Then, De Morgan's Law was used to transform it into a puncture strategy. And puncture the ciphertext; specifically, for leaf nodes in the puncture strategy, change AND gates to OR gates, and OR gates to AND gates; for threshold nodes in the puncture strategy, ... Threshold conversion Threshold;
[0046] S52, Assume the current position is the [number]. Second puncture, then the initial key After the previous The state after the second puncture was ,in The service provider selects two random numbers. And calculate :
[0047] ;
[0048] S53, Constructing a tree using a secret sharing strategy The secret value of the root node is hidden, i.e., the label is used to hide it. The secret value bound to it Split into multiple Trees and labels The leaf nodes of the rooted tree are bound separately; for the leaf nodes... Select random numbers calculate:
[0049] ;
[0050] After that, Transformed into:
[0051] ;
[0052] in, For the first Secondary puncture of user-defined access control policies It is the first The next puncture strategy;
[0053] Obtain the ciphertext after puncture ciphertext after puncture A new restriction label has been inserted.
[0054] As a preferred option, the outsourced decryption stage of step S5 specifically includes:
[0055] When the data user's conversion key is received Then, the proxy server first requests the ciphertext from the service provider. Upon receiving the ciphertext, it first verifies whether the attribute set in the conversion key matches the access control tree in the ciphertext. If they match, the proxy server further checks the conversion key. Does the label in the text relate to the puncture strategy? If the tags are the same, and all tags are different, then the proxy server will partially decrypt the ciphertext.
[0056] The proxy server integrates the set of keys received from the attribute issuing authority, denoted as . Then select a set of constants Make Then for each Assuming Calculated:
[0057] ;
[0058] remember That is, the set of attribute values in the corresponding attribute issuing authority management after all mappings, calculated as follows:
[0059] ;
[0060] The decryption component will then be calculated, and the result will be recorded as follows: all The sum of :
[0061] ;
[0062] for In the tree-like access structure, the proxy server selects a set of Lagrange coefficients. Make Calculated:
[0063] ;
[0064] In order to calculate middle The proxy server selects a set of Lagrange coefficients. Make c, and calculate:
[0065] ;
[0066] Next, the proxy server calculates and some decryption parameters , Send to data users.
[0067] As a preferred option, the decryption stage of step S7 specifically includes:
[0068] After receiving partially decrypted ciphertext from the proxy server, the data user performs a decryption operation to obtain the plaintext. The decryption operation is represented as follows:
[0069] .
[0070] In another aspect, the present invention provides a non-transitory computer-readable storage medium having computer instructions stored thereon, the computer instructions causing a computer to execute the aforementioned attribute-based access control method for implementing puncture revocation and outsourcing decryption under multiple authorization agencies.
[0071] In another aspect, the present invention provides an electronic device, comprising: a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus, and the processor calls logical instructions in the memory to execute the aforementioned attribute-based access control method for implementing puncture revocation and outsourcing decryption under multiple authorization mechanisms.
[0072] In another aspect, the present invention provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, wherein when the computer program is executed by a processor, the computer executes the aforementioned attribute-based access control method for implementing puncture revocation and outsourcing decryption under multiple authorization authorities.
[0073] Beneficial effects: In the attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorization authorities of the present invention, the certificate authority is responsible for the initialization of the system and the registration of attribute authorities and users. The attribute authority manages the attributes it authorizes and generates conversion keys for outsourced decryption by the proxy agency. The data owner encrypts the data using attribute-based encryption according to the defined access structure and tag structure. The proxy server converts the access policy specified by the data owner into a puncture policy and then punctures the conversion key to revoke the access of the specified user group. Unlike previous puncture revocation methods, this scheme achieves fine-grained puncture revocation, simultaneously achieving lightweight revocation computation and fine-grained puncture revocation with a specified revocation structure. The proxy server uses the transformation key portion to decrypt the ciphertext; users can only access ciphertext whose attributes satisfy the ciphertext access structure but not the puncture policy; during the user revocation phase, the specified user is revoked according to the puncture policy defined by the data owner, and only the puncture key portion in the ciphertext needs to be updated; this invention can realize puncture revocation and outsourced decryption attribute-based access control under multiple authorization mechanisms, providing a feasible method for lightweight, fine-grained user revocation under multiple authorization mechanisms.
[0074] In summary, this invention achieves fine-grained user puncture revocation and reduces the decryption computation load for system users. It provides data owners with the ability to specify puncture strategies to revoke designated users or user groups that meet the puncture strategy after discovering illegal users. At the same time, it outsources more decryption operations to cloud servers, reducing the decryption burden on data users. Detailed Implementation
[0075] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention are described clearly and completely below. Obviously, the described embodiments are only some, not all, of the embodiments of this invention, and should not be construed as limiting the invention. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention. In the description of this invention, it should be understood that the terminology used is for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0076] The following describes in detail the attribute-based access control method for implementing puncture revocation and outsourcing decryption under multiple authorized agencies provided by the present invention.
[0077] First, some of the technologies involved in this invention will be described:
[0078] Bilinear mapping:
[0079] Bilinear mappings are a special type of multiplication algorithm that takes two inputs and produces one output. Bilinear mappings possess bilinearity, non-degeneracy, and computability. They allow "multiplication" operations between different groups, thus enabling the verification of relationships between secret values without knowing the secret values themselves.
[0080] Linear Secret Sharing Scheme (LSSS):
[0081] A secret 's' is divided into multiple shares and distributed to multiple participants. Only an authorized subset meeting specific conditions (e.g., more than 't' participants) can reconstruct the secret 's'. Application in ABE: In ABE (especially CP-ABE), during encryption, a secret value 's' is divided according to an access policy using the LSSS scheme. Each attribute corresponds to a share. Only when a user possesses attributes that satisfy the access policy can they collect enough shares to reconstruct the secret 's', thus completing decryption. The access policy is first transformed into a generator matrix; only when the attributes satisfy the policy can the reconstruction constants for recovering 's' from the matrix be found, thereby recovering the plaintext.
[0082] Puncture cancellation:
[0083] In an ABE system, user permissions are determined by their attributes. When a user's permissions need to be revoked (e.g., employee departure, key leakage), the system must be able to prevent that user from continuing to decrypt ciphertext, i.e., revoke the permissions of the specified user. Puncture revocation aims to solve these problems; its core idea is to make the revoked user's key automatically invalidate without their knowledge, without updating the keys of other honest users. By defining a puncture policy and inserting it into the system's transformation key, the revocation of a specified user can be achieved.
[0084] Example 1: This example provides an attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorization agencies, including:
[0085] S1. Define the cloud service system, including certificate authorities, attribute authorities, service providers, proxy servers, data owners, and data users.
[0086] The Certificate Authority (CA) is responsible for system initialization and the registration of attribute issuing authorities and users. The attribute issuing authority manages the attributes it authorizes and generates conversion keys for outsourced decryption by the proxy. The data owner encrypts the data using attribute-based encryption according to the defined access structure and tag structure. The proxy server converts the access policy specified by the data owner into a puncture policy and then punctures the conversion key to revoke the access of a specified user group. Unlike previous puncture revocation methods, this scheme achieves fine-grained puncture revocation, simultaneously achieving lightweight revocation computation and fine-grained puncture revocation with a specified revocation structure. The proxy server partially decrypts the ciphertext using the conversion key. Users can only access ciphertext whose attributes satisfy the ciphertext access structure but not the puncture policy. During the user revocation phase, the specified user is revoked according to the puncture policy defined by the data owner, requiring only an update to the puncture key portion of the ciphertext. This invention enables puncture revocation and outsourced decryption attribute-based access control under multiple authorization mechanisms, providing a feasible method for lightweight, fine-grained user revocation under multiple authorization authorities.
[0087] S2. The certificate authority initializes the cloud service system and obtains the system's public parameters. Global public key and global private key The system initializes the attribute issuing authority, service provider, proxy server, data owner, and data user respectively. Specifically:
[0088] S21. Certificate Authority Operation Group Generator Obtains Public System Parameters ,in It is a group generator, It is a bilinear mapping, e: G×G→G T ; , For two distinct finite cyclic groups, To generate a group, For the result group;
[0089] Next, the certificate authority selects a hash function. Convert the string into elements of the group; select three random numbers. Define a polynomial , making and set ;Will Select the tag as the initial state; generate the system's global public key, represented as:
[0090] ;
[0091] And the system's global private key, represented as:
[0092] ;
[0093] S22. For each data user registered with the system, if the data user is a legitimate user, the certificate authority assigns a unique user identifier to that data user. When an attribute issuing authority registers with the system, if it is a legitimate authority, the certificate authority assigns it a global attribute issuing authority identity. Then, for each registered data user, the certificate authority generates a global public key pair for that user. User's global private key pair ,in ; These are two different random numbers selected by the system for the data user;
[0094] Certificate authorities obfuscate the key pair, and then... Send to data users, Issued to the attribute issuing authority;
[0095] S23. The attribute issuing authority is initialized, and two random numbers are selected. and Generate your own private key ;in Used for data encryption Used to distinguish different attribute issuing authorities and generate corresponding public keys. For each attribute managed by the attribute issuing authority The corresponding attribute issuing authority generates the attribute public key. ;
[0096] The attribute issuing authority manages the public key of the attributes it manages. and public key public.
[0097] S3. During the key generation phase, the Certificate Authority generates the user's private key. The system then distributes these keys to attribute issuing authorities and data users; after a data user initiates an access request to the system, the corresponding attribute issuing authority generates a conversion key based on the data user's attributes. And send it to the data user. Specifically:
[0098] S31. After a data user registers with the system, the certificate authority is the data user. Select This is the decryption private key for the data user. and distribute it to the data user. And the issuing authority of the attribute corresponding to the user of this data;
[0099] S32, Data User After applying to the corresponding attribute issuing authority, the attribute issuing authority runs a key generation algorithm to select a random number. For each attribute that belongs to the authority that issues the attribute Generate for users:
[0100] ;
[0101] For the attributes of managed users, the attribute issuing authority generates a transformation attribute key, represented as:
[0102] ;
[0103] For the attributes in the selected tag set Transformed into group elements The conversion key is then represented as:
[0104] ;
[0105] If the user does not have attributes managed by an attribute issuing authority, the conversion key does not contain [the relevant information]. and .
[0106] S4. During the ciphertext generation phase, the data owner defines the access control policy and runs the encryption algorithm to encrypt the corresponding plaintext information. Receive ciphertext Specifically:
[0107] S41. The data owner defines the access control policy and runs the encryption algorithm, as follows:
[0108] ;
[0109] in, This is plaintext information. The set of public keys issued by all attribute issuing authorities related to the attributes used during encryption. It is The matrix, where This represents the total number of all attributes. For the number of unit holders, The function will Each row is mapped to a property;
[0110] S42. The data owner selects a random number. And select a random vector ;in Used to conceal encryption index ;remember For the issuing authority of attributes in the encrypted set; for From 1 to Calculate ,in Representative matrix The OK;
[0111] S43, then from Start to Calculate the ciphertext:
[0112] ;
[0113] ;
[0114] ].
[0115] S5. During the puncture phase, the service provider uses a puncture strategy to encrypt the ciphertext. Perform a puncture and obtain the ciphertext after the puncture. ciphertext after puncture A new restriction label has been inserted. Specifically:
[0116] S51, The service provider receives the access policy from the data owner. Then, De Morgan's Law was used to transform it into a puncture strategy. And puncture the ciphertext; specifically, for leaf nodes in the puncture strategy, change AND gates to OR gates, and OR gates to AND gates; for threshold nodes in the puncture strategy, ... Threshold conversion Threshold;
[0117] S52, Assume the current position is the [number]. Second puncture, then the initial key After the previous The state after the second puncture was ,in The service provider selects two random numbers. And calculate :
[0118] ;
[0119] S53, Constructing a tree using a secret sharing strategy The secret value of the root node is hidden, i.e., the label is used to hide it. The secret value bound to it Split into multiple Trees and labels The leaf nodes of the rooted tree are bound separately; for the leaf nodes... Select random numbers calculate:
[0120] ;
[0121] After that, Transformed into:
[0122] ;
[0123] in, For the first Secondary puncture of user-defined access control policies It is the first The next puncture strategy;
[0124] Obtain the ciphertext after puncture ciphertext after puncture A new restriction label has been inserted.
[0125] S6. During the outsourced decryption phase, the proxy server first verifies whether the data user's attributes meet the requirements. If the access control policies included are met, the proxy server will further verify the conversion key. If the tags in the data do not match the puncture policy, the proxy server will perform partial decryption for the data user. Partial decryption parameters are obtained and sent to the data user. Specifically:
[0126] When the data user's conversion key is received Then, the proxy server first requests the ciphertext from the service provider. Upon receiving the ciphertext, it first verifies whether the attribute set in the conversion key matches the access control tree in the ciphertext. If they match, the proxy server further checks the conversion key. Does the label in the text relate to the puncture strategy? If the tags are the same, and all tags are different, then the proxy server will partially decrypt the ciphertext.
[0127] The proxy server integrates the set of keys received from the attribute issuing authority, denoted as . Then select a set of constants Make ;
[0128] Then for each Assuming Calculated:
[0129] ;
[0130] remember That is, the set of attribute values in the corresponding attribute issuing authority management after all mappings, calculated as follows:
[0131] ;
[0132] The decryption component will then be calculated, and the result will be recorded as follows: all The sum of :
[0133] ;
[0134] for In the tree-like access structure, the proxy server selects a set of Lagrange coefficients. Make Calculated:
[0135] ;
[0136] In order to calculate middle The proxy server selects a set of Lagrange coefficients. Make c, and calculate:
[0137] ;
[0138] Next, the proxy server calculates and some decryption parameters , Send to data users.
[0139] S7. During the decryption phase, the data user uses their own private key. The ciphertext is decrypted using some decryption parameters to obtain the corresponding plaintext. Specifically:
[0140] After receiving partially decrypted ciphertext from the proxy server, the data user performs a decryption operation to obtain the plaintext. The decryption operation is represented as follows:
[0141] .
[0142] This invention achieves fine-grained user puncture revocation and reduces the decryption computation load for system users. It provides data owners with the ability to specify puncture strategies to revoke specified users or user groups that meet the puncture strategy after discovering illegal users. At the same time, it outsources more decryption operations to cloud servers, reducing the decryption burden on data users.
[0143] Example 2: This example provides a non-transitory computer-readable storage medium storing computer instructions that cause a computer to execute an attribute-based access control method for implementing puncture reversal and outsourced decryption under multiple authorization authorities. The method includes the following steps:
[0144] S1. Define the cloud service system, including certificate authorities, attribute authorities, service providers, proxy servers, data owners, and data users;
[0145] S2. The certificate authority initializes the cloud service system and obtains the system's public parameters. Global public key and global private key And initialize the attribute issuing authority, service provider, proxy server, data owner and data user respectively;
[0146] For each data user, the certificate authority generates a global public key pair for that user. and user global private key pair During the initialization phase of the attribute issuing authority, the attribute issuing authority generates its own public key. and private key And generate a public key for each attribute it manages. ;
[0147] S3. During the key generation phase, the Certificate Authority generates the user's private key. The system then distributes these keys to attribute issuing authorities and data users; after a data user initiates an access request to the system, the corresponding attribute issuing authority generates a conversion key based on the data user's attributes. And send it to the data user;
[0148] S4. During the ciphertext generation phase, the data owner defines the access control policy and runs the encryption algorithm to encrypt the corresponding plaintext information. Receive ciphertext ;
[0149] S5. During the puncture phase, the service provider uses a puncture strategy to encrypt the ciphertext. Perform a puncture and obtain the ciphertext after the puncture. ciphertext after puncture A new restriction label has been inserted;
[0150] S6. During the outsourced decryption phase, the proxy server first verifies whether the data user's attributes meet the requirements. If the access control policies included are met, the proxy server will further verify the conversion key. If the tags in the data do not match the puncture policy, the proxy server performs partial decryption for the data user, obtains partial decryption parameters, and sends them to the data user.
[0151] S7. During the decryption phase, the data user uses their own private key. The ciphertext is decrypted using some of the decryption parameters to obtain the corresponding plaintext.
[0152] Example 3: This example provides an electronic device that may include a processor, a communication interface, a memory, and a communication bus. The processor, communication interface, and memory communicate with each other via the communication bus. The processor can invoke logical instructions from the memory to execute an attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorization authorities. This method includes the following steps:
[0153] S1. Define the cloud service system, including certificate authorities, attribute authorities, service providers, proxy servers, data owners, and data users;
[0154] S2. The certificate authority initializes the cloud service system and obtains the system's public parameters. Global public key and global private key And initialize the attribute issuing authority, service provider, proxy server, data owner and data user respectively;
[0155] For each data user, the certificate authority generates a global public key pair for that user. and user global private key pair During the initialization phase of the attribute issuing authority, the attribute issuing authority generates its own public key. and private key And generate a public key for each attribute it manages. ;
[0156] S3. During the key generation phase, the Certificate Authority generates the user's private key. The system then distributes these keys to attribute issuing authorities and data users; after a data user initiates an access request to the system, the corresponding attribute issuing authority generates a conversion key based on the data user's attributes. And send it to the data user;
[0157] S4. During the ciphertext generation phase, the data owner defines the access control policy and runs the encryption algorithm to encrypt the corresponding plaintext information. Receive ciphertext ;
[0158] S5. During the puncture phase, the service provider uses a puncture strategy to encrypt the ciphertext. Perform a puncture and obtain the ciphertext after the puncture. ciphertext after puncture A new restriction label has been inserted;
[0159] S6. During the outsourced decryption phase, the proxy server first verifies whether the data user's attributes meet the requirements. If the access control policies included are met, the proxy server will further verify the conversion key. If the tags in the data do not match the puncture policy, the proxy server performs partial decryption for the data user, obtains partial decryption parameters, and sends them to the data user.
[0160] S7. During the decryption phase, the data user uses their own private key. The ciphertext is decrypted using some of the decryption parameters to obtain the corresponding plaintext.
[0161] Furthermore, the logical instructions in the aforementioned memory can be implemented as software functional units and sold or used as independent products, and can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0162] Example 4: This example provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute an attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorization authorities. The method includes the following steps:
[0163] S1. Define the cloud service system, including certificate authorities, attribute authorities, service providers, proxy servers, data owners, and data users;
[0164] S2. The certificate authority initializes the cloud service system and obtains the system's public parameters. Global public key and global private key And initialize the attribute issuing authority, service provider, proxy server, data owner and data user respectively;
[0165] For each data user, the certificate authority generates a global public key pair for that user. and user global private key pair During the initialization phase of the attribute issuing authority, the attribute issuing authority generates its own public key. and private key And generate a public key for each attribute it manages. ;
[0166] S3. During the key generation phase, the Certificate Authority generates the user's private key. The system then distributes these keys to attribute issuing authorities and data users; after a data user initiates an access request to the system, the corresponding attribute issuing authority generates a conversion key based on the data user's attributes. And send it to the data user;
[0167] S4. During the ciphertext generation phase, the data owner defines the access control policy and runs the encryption algorithm to encrypt the corresponding plaintext information. Receive ciphertext ;
[0168] S5. During the puncture phase, the service provider uses a puncture strategy to encrypt the ciphertext. Perform a puncture and obtain the ciphertext after the puncture. ciphertext after puncture A new restriction label has been inserted;
[0169] S6. During the outsourced decryption phase, the proxy server first verifies whether the data user's attributes meet the requirements. If the access control policies included are met, the proxy server will further verify the conversion key. If the tags in the data do not match the puncture policy, the proxy server performs partial decryption for the data user, obtains partial decryption parameters, and sends them to the data user.
[0170] S7. During the decryption phase, the data user uses their own private key. The ciphertext is decrypted using some of the decryption parameters to obtain the corresponding plaintext.
[0171] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0172] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0173] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. An attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorization agencies, characterized in that, include: S1. Define the cloud service system, including certificate authorities, attribute authorities, service providers, proxy servers, data owners, and data users; S2. The certificate authority initializes the cloud service system and obtains the system's public parameters. Global public key and global private key And initialize the attribute issuing authority, service provider, proxy server, data owner and data user respectively; For each data user, the certificate authority generates a global public key pair for that user. and user global private key pair During the initialization phase of the attribute issuing authority, the attribute issuing authority generates its own public key. and private key And generate a public key for each attribute it manages. ; S3. During the key generation phase, the Certificate Authority generates the user's private key. The system then distributes these keys to attribute issuing authorities and data users; after a data user initiates an access request to the system, the corresponding attribute issuing authority generates a conversion key based on the data user's attributes. And send it to the data user; S4. During the ciphertext generation phase, the data owner defines the access control policy and runs the encryption algorithm to encrypt the corresponding plaintext information. Receive ciphertext ; S5. During the puncture phase, the service provider uses a puncture strategy to encrypt the ciphertext. Perform a puncture and obtain the ciphertext after the puncture. ciphertext after puncture A new restriction label has been inserted; S6. During the outsourced decryption phase, the proxy server first verifies whether the data user's attributes meet the requirements. If the access control policies included are met, the proxy server will further verify the conversion key. If the tags in the data do not match the puncture policy, the proxy server performs partial decryption for the data user, obtains partial decryption parameters, and sends them to the data user. S7. During the decryption phase, the data user uses their own private key. The ciphertext is decrypted using some of the decryption parameters to obtain the corresponding plaintext.
2. The attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorized agencies as described in claim 1, characterized in that, Step S2 is as follows: S21. Certificate Authority Operation Group Generator Obtains Public System Parameters ,in It is a group generator, It is a bilinear mapping. ; , For two distinct finite cyclic groups, To generate a group, For the result group; Next, the certificate authority selects a hash function. Convert the string into elements of the group; select three random numbers. Define a polynomial , making and set ;Will Select the tag as the initial state; generate the system's global public key, represented as: ; And the system's global private key, represented as: ; S22. For each data user registered with the system, if the data user is a legitimate user, the certificate authority assigns a unique user identifier to that data user. When an attribute issuing authority registers with the system, if it is a legitimate authority, the certificate authority assigns it a global attribute issuing authority identity. Then, for each registered data user, the certificate authority generates a global public key pair for that user. User's global private key pair ,in ; These are two different random numbers selected by the system for the data user; Certificate authorities obfuscate the key pair, and then... Send to data users, Issued to the attribute issuing authority; S23. The attribute issuing authority is initialized, and two random numbers are selected. and Generate your own private key ;in Used for data encryption Used to distinguish different attribute issuing authorities and generate corresponding public keys. For each attribute managed by the attribute issuing authority The corresponding attribute issuing authority generates the attribute public key. ; The attribute issuing authority manages the public key of the attributes it manages. and public key public.
3. The attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorized agencies as described in claim 2, characterized in that, Step S3, the key generation stage, specifically includes: S31. After a data user registers with the system, the certificate authority is the data user. Select This is the decryption private key for the data user. and distribute it to the data user. And the issuing authority of the attribute corresponding to the user of this data; S32, Data User After applying to the corresponding attribute issuing authority, the attribute issuing authority runs a key generation algorithm to select a random number. For each attribute that belongs to the authority that issues the attribute Generate a conversion key for the user. The components of the conversion key are as follows: ; For the attributes of managed users, the attribute issuing authority generates a transformation attribute key, represented as: ; For the attributes in the selected tag set Transformed into group elements The conversion key is then represented as: ; If the user does not have attributes managed by an attribute issuing authority, the conversion key does not contain [the relevant information]. and .
4. The attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorized agencies as described in claim 3, characterized in that, Step S4, the ciphertext generation stage, specifically includes: S41. The data owner defines the access control policy and runs the encryption algorithm, as follows: ; in, This is plaintext information. The set of public keys issued by all attribute issuing authorities related to the attributes used during encryption. It is The matrix, where This represents the total number of all attributes. For the number of unit holders, The function will Each row is mapped to a property; S42. The data owner selects a random number. And select a random vector ;in Used to conceal encryption index ;remember For the issuing authority of attributes in the encrypted set; for From 1 to Calculate ,in Representative matrix The OK; S43, then from Start to Calculate the ciphertext: ; ; ]。 5. The attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorized agencies as described in claim 4, characterized in that, The puncture phase of step S5 is as follows: S51, The service provider receives the access policy from the data owner. Then, De Morgan's Law was used to transform it into a puncture strategy. And puncture the ciphertext; specifically, for leaf nodes in the puncture strategy, change AND gates to OR gates, and OR gates to AND gates; for threshold nodes in the puncture strategy, ... Threshold conversion Threshold; S52, Assume the current position is the [number]. Second puncture, then the initial key After the previous The state after the second puncture was ,in The service provider selects two random numbers. And calculate : ; S53, Constructing a tree using a secret sharing strategy The secret value of the root node is hidden, i.e., the label is used to hide it. The secret value bound to it Split into multiple Trees and labels The leaf nodes of the rooted tree are bound separately; for the leaf nodes... Select random numbers calculate: ; After that, Transformed into: ; in, For the first Secondary puncture of user-defined access control policies It is the first The next puncture strategy; Obtain the ciphertext after puncture ciphertext after puncture A new restriction label has been inserted.
6. The attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorized agencies as described in claim 5, characterized in that, Step S5, the outsourced decryption stage, specifically includes: When the data user's conversion key is received Then, the proxy server first requests the ciphertext from the service provider. Upon receiving the ciphertext, it first verifies whether the attribute set in the conversion key matches the access control tree in the ciphertext. If they match, the proxy server further checks the conversion key. Does the label in the text relate to the puncture strategy? If the tags are the same, and all tags are different, then the proxy server will partially decrypt the ciphertext. The proxy server integrates the set of keys received from the attribute issuing authority, denoted as . Then select a set of constants Make Then for each Assuming Calculated: ; remember That is, the set of attribute values in the corresponding attribute issuing authority management after all mappings, calculated as follows: ; The decryption component will then be calculated, and the result will be recorded as follows: all The sum of : ; for In the tree-like access structure, the proxy server selects a set of Lagrange coefficients. Make Calculated: ; In order to calculate middle The proxy server selects a set of Lagrange coefficients. Make c, and calculate: ; Next, the proxy server calculates and some decryption parameters , Send to data users.
7. The attribute-based access control method for implementing puncture revocation and outsourced decryption under multiple authorized agencies as described in claim 6, characterized in that, The decryption stage in step S7 is as follows: After receiving partially decrypted ciphertext from the proxy server, the data user performs a decryption operation to obtain the plaintext. The decryption operation is represented as follows: 。 8. A non-transitory computer-readable storage medium, characterized in that, It stores computer instructions that cause the computer to execute the attribute-based access control method for implementing puncture revocation and outsourcing decryption under multiple authorization agencies as described in any one of claims 1-7.
9. An electronic device, characterized in that, include: The system includes a processor, a communication interface, a memory, and a communication bus. The processor, communication interface, and memory communicate with each other via the communication bus. The processor calls logical instructions from the memory to execute the attribute-based access control method for implementing puncture revocation and outsourcing decryption under multiple authorization agencies as described in any one of claims 1-7.
10. A computer program product, characterized in that, The computer program product includes a computer program stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer executes the attribute-based access control method for implementing puncture revocation and outsourcing decryption under multiple authorization agencies as described in any one of claims 1-7.
Citation Information
Patent Citations
Cloud storage data access control method, attribute certificate issuing method and system
CN109818757A
Multi-authorization center access control method supporting strategy hiding and cloud storage system
CN110099043A
Dynamic hierarchical data access control method based on recoverable puncture encryption
CN119728282A
Puncture and searchable attribute-based encrypted data sharing method based on block chain
CN120128309A
Certificateless puncturable signcryption method for resisting long-range attack of block chain
CN120415833A
Cited By
Attribute access control method supporting multi-domain tracking and user management
CN121792246A