Policy hidden attribute encryption access control method and system in cloud storage environment

By combining LSSS matrix and Bloom filter in cloud storage environment, generating user private key and encrypted ciphertext, and using cloud server for partial decryption, the problems of sensitive information leakage and high computational overhead of access control policy in cloud storage environment are solved, and efficient and secure data access control is achieved.

CN120785622APending Publication Date: 2025-10-14SHANGHAI UNIVERSITY OF ELECTRIC POWER
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511040766.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-28
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

The existing access control scheme based on CP-ABE in cloud storage environment has problems such as policy-sensitive information leakage, complex system structure, high computational overhead and low decryption efficiency, which makes it difficult to meet the demand for efficient access.

Method used

A policy hiding method combining LSSS matrix and Bloom filter is adopted to generate user private key and encrypted ciphertext, and partially decrypt it using cloud server to reduce terminal computing load and achieve lightweight decryption.

Benefits of technology

It achieves partial hiding of access policies, reduces terminal computing overhead, improves access request processing efficiency and decryption efficiency, and ensures data security and privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120785622A_ABST
    Figure CN120785622A_ABST
Patent Text Reader

Abstract

The invention relates to an attribute encryption access control method for strategy hiding in a cloud storage environment, and the method comprises the following steps: S1, generating an LSSS matrix, extracting a first attribute identifier from the LSSS matrix, and constructing a Bloom filter; s2, generating system common parameters based on the bilinear group; s3, distributing the user private key to a corresponding user terminal; s4, generating an encrypted ciphertext; s5, uploading the system public parameters, the Bloom filter and the encrypted ciphertext to a cloud server; s6, inputting into the Bloom filter for screening to obtain a screening result; generating a partial decryption result, and returning the partial decryption result to the user terminal; and S7, the user terminal obtains plaintext data through bilinear mapping based on the partial decryption result and the user private key. Compared with the prior art, the method has the advantages of improving the processing efficiency of the access request and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of cloud storage security and information security, and in particular to a policy-hidden attribute encryption access control method and system in a cloud storage environment. Background Art

[0002] With the rapid development of cloud computing technology, cloud storage services have become a key way for businesses and individuals to store data due to their advantages such as elastic scalability, pay-as-you-go capabilities, and high availability. However, data security and privacy protection issues in cloud storage environments have become increasingly prominent. How to regulate user access behavior in cloud storage and ensure that data can only be accessed by authorized users has become a pressing issue.

[0003] Currently, ciphertext policy altribute-based encryption (CP-ABE) is considered one of the most effective methods for achieving fine-grained access control for cloud data. In CP-ABE, access policies are closely associated with and bound to ciphertexts, allowing authorized users to decrypt ciphertexts based on their attributes. However, this approach has significant limitations: access policies are stored in plaintext on the cloud, often containing sensitive information, which can easily leak user privacy. To address the issue of sensitive policy information leakage, some researchers have proposed policy hiding techniques. However, existing solutions generally suffer from complex system structures, high computational overhead, and low decryption efficiency. For example, some schemes hide policy details through complex cryptographic transformations, requiring a large number of bilinear pairing operations during the encryption or decryption process. Alternatively, full-policy encryption, while achieving complete policy hiding, significantly increases ciphertext storage overhead and the computational burden on the user end, making it difficult to meet the requirements of efficient access in cloud storage environments. Summary of the Invention

[0004] The purpose of the present invention is to provide a policy-hidden attribute encryption access control method in a cloud storage environment in order to improve the processing efficiency of access requests.

[0005] The purpose of the present invention can be achieved by the following technical solutions:

[0006] A policy-hidden attribute encryption access control method in a cloud storage environment includes the following steps:

[0007] S1. Generate an LSSS matrix, extract the first attribute identifier from the LSSS matrix, and construct a Bloom filter;

[0008] S2, generating system common parameters based on bilinear group;

[0009] S3. Generate a user private key through bilinear group exponential operation based on the user storage attribute set and the secret sharing parameter in the LSSS matrix, and distribute the user private key to the corresponding user terminal;

[0010] S4. Randomly select a secret value to generate a secret shared random vector, and generate an encrypted ciphertext based on the secret shared random vector and the LSSS matrix through a bilinear group exponential operation;

[0011] S5. Upload the system public parameters, the Bloom filter, and the encrypted ciphertext to a cloud server;

[0012] S6. Receive, through the cloud server, the access attribute set and the decryption request sent by the user terminal, and input the second attribute identifier in the access attribute set into the Bloom filter for screening to obtain a screening result;

[0013] For the second attribute identifier whose screening result is passed, the access attribute corresponding to the second attribute identifier that passes the screening is a matching access attribute, extracting, by the cloud server, a row vector corresponding to the matching access attribute from the LSSS matrix, and calculating a partial decryption intermediate value based on the system public parameter and the secret shared random vector, generating a partial decryption result, and returning the partial decryption result to the user terminal;

[0014] S7. The user terminal obtains plaintext data through bilinear mapping based on the partial decryption result and the user private key.

[0015] Furthermore, the specific steps of generating the LSSS matrix are:

[0016] According to the attribute logical relationship in the access policy, the LSSS matrix is ​​constructed to generate the LSSS matrix. The access policy is a set of rules that stipulate the users who can access specific data. The first attribute identifier ρ of the LSSS matrix is ​​a mapping function, which maps each row vector of the LSSS matrix to an attribute logical relationship.

[0017] Furthermore, the specific steps of constructing the Bloom filter are:

[0018] Initialize an all-zero bit array, select multiple independent hash functions to calculate the hash value of each identifier in the first attribute identifier, obtain the corresponding bit index, set the value of the corresponding bit index in the all-zero bit array to 1, and obtain a Bloom filter.

[0019] Furthermore, the system common parameters include group generators and bilinear mappings.

[0020] Furthermore, the secret sharing parameter is a row vector of the LSSS matrix corresponding to each attribute in the user storage attribute set.

[0021] Furthermore, according to the user storage attribute set and the secret sharing parameters in the LSSS matrix, the specific steps of generating the user private key through bilinear group exponential operation are as follows:

[0022] A random exponent is randomly selected from a bilinear group. The mathematical properties and operation rules of the bilinear group are used to combine the secret sharing parameter with the random exponent to obtain the private key component corresponding to each attribute. The private key components of all attributes are aggregated to obtain a mapping set of attribute-private key components, and the mapping set is used as the user private key.

[0023] Furthermore, the specific steps of S4 are:

[0024] Randomly select a secret value, generate a secret shared random vector, and calculate the dot product of each row vector of the LSSS matrix and the secret shared random vector;

[0025] Based on the dot product result and the secret value, the ciphertext components corresponding to each row vector are generated through bilinear group exponential operation;

[0026] The ciphertext components are combined to obtain the encrypted ciphertext.

[0027] Furthermore, for the second attribute identifier whose screening result is passed, the access attribute corresponding to the second attribute identifier that passes the screening is a matching access attribute. The cloud server extracts the row vector corresponding to the matching access attribute from the LSSS matrix, and calculates a partial decryption intermediate value based on the system public parameter and the secret shared random vector. The specific steps of generating the partial decryption result are:

[0028] For the second attribute identifier that passes the screening result, the access attribute corresponding to the second attribute identifier that passes the screening is set as the matching access attribute, extracting the row vector corresponding to the matching access attribute from the LSSS matrix through the cloud server, and calculating the linear combination result of the row vector corresponding to the matching access attribute and the secret shared random vector through a multiplication operation;

[0029] generating a partial decrypted intermediate value corresponding to each matching access attribute based on a group generator and a linear combination result of the system public parameter;

[0030] Integrate the partial decryption intermediate values ​​to obtain the partial decryption result.

[0031] Furthermore, the user terminal obtains the plaintext data through bilinear mapping based on the partial decryption result and the user private key in the following specific steps:

[0032] The user terminal maps a private key component corresponding to the matching access attribute in the user private key and a ciphertext component corresponding to the matching access attribute of the encrypted ciphertext to a target group of the bilinear group to obtain a first bilinear mapping value;

[0033] Calculate a bilinear mapping between the partial decryption result corresponding to the matching access attribute and the group generator of the system public parameter, and calculate a second bilinear mapping value;

[0034] Combined with the recovery coefficient of the LSSS matrix, the plaintext data is obtained by multiplying the product of the first bilinear mapping value corresponding to each matching access attribute and the second bilinear mapping value corresponding to the corresponding matching access attribute by multiple powers, and then multiplying the power results corresponding to each matching access attribute by the power results corresponding to all matching access attributes.

[0035] Compared with the prior art, the present invention has the following beneficial effects:

[0036] The present invention converts access policies into LSSS matrices and constructs Bloom filters, laying the foundation for policy hiding and rapid attribute screening. This prevents sensitive policy information from being exposed in plaintext, and reduces the processing overhead of invalid access requests through the efficient screening of Bloom filters. The key management module generates user private keys based on bilinear groups, generates ciphertext using secret shared random vectors and LSSS matrices, and partially hides access policies by combining the linear combination properties of LSSS matrices. The encrypted data and related parameters are uploaded to a cloud server, completing secure data storage and transmission. The Bloom filter then filters user attributes, eliminating requests that do not meet basic attribute conditions and reducing subsequent invalid decryption calculations. For requests that pass the screening, matching row vectors can be extracted and partial decryption intermediate values ​​calculated, assigning high-computational complexity linear operations to the cloud server, reducing the computational load on the user terminal. Finally, the partial decryption results returned by the cloud server and the user's private key are used to complete final decryption through a bilinear mapping, achieving lightweight terminal decryption operations and ensuring secure access to user data.

[0037] Compared to traditional CP-ABE access control schemes, this invention combines LSSS matrix optimization, Bloom filter screening, and outsourced decryption. This not only partially hides access policies through matrix construction, ensuring policy privacy, but also improves access request processing efficiency by verifying the time complexity properties of Bloom filters. Furthermore, by dividing computing tasks between cloud servers and terminals, it significantly reduces terminal computing overhead and improves overall system decryption efficiency, providing an efficient and secure technical solution for data security access control in cloud storage environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1A schematic diagram of a policy-hidden attribute encryption access control system structure in a cloud storage environment provided by an exemplary embodiment of the present invention;

[0039] Figure 2 A flowchart of a method for constructing a Bloom filter based on an LSSS matrix is ​​provided as an exemplary embodiment of the present invention;

[0040] Figure 3 A flow chart of a policy-hidden attribute encryption access control method in a cloud storage environment provided by an exemplary embodiment of the present invention. DETAILED DESCRIPTION

[0041] The present invention is described in detail below with reference to the accompanying drawings and specific embodiments. This embodiment is implemented based on the technical solution of the present invention, and provides a detailed implementation method and specific operation process, but the protection scope of the present invention is not limited to the following embodiments.

[0042] To address the above technical issues, it is necessary to provide a policy-hiding attribute encryption access control system and method in a cloud storage environment. The system aims to effectively hide access control policies, prevent user privacy leaks, simplify the system structure, reduce computational overhead, and improve decryption efficiency. Therefore, the present invention relates to a policy-hiding attribute encryption access control system and method in a cloud storage environment. The system comprises: a system initialization module for generating an LSSS matrix and system public parameters and constructing a Bloom filter; a key management module for generating and distributing user private keys to corresponding user terminals; a data encryption module for generating encrypted ciphertext based on the LSSS matrix and uploading it to a cloud server using the system public parameters and the Bloom filter; a cloud service processing module for receiving an access attribute set and a decryption request from the cloud server, filtering them through the Bloom filter, and, if they pass the filtering, generating a partial decryption result and returning it to the user terminal; and a terminal decryption module for the user terminal to obtain plaintext data based on the partial decryption result and the user's private key. Through LSSS matrix optimization, Bloom filter screening, and outsourced decryption division of labor, the system improves the security, efficiency, and practicality of data access control in a cloud storage environment.

[0043] Specifically, the system initialization module is used to:

[0044] Performing LSSS matrix construction processing according to the attribute logical relationship in the access policy to generate an LSSS matrix, and extracting attribute identifiers from the LSSS matrix to construct a Bloom filter;

[0045] Generate system public parameters based on a bilinear group, wherein the system public parameters include a group generator and a bilinear map;

[0046] A key management module is configured to generate a user private key through a bilinear group exponential operation based on a user storage attribute set and a secret sharing parameter in the LSSS matrix, and distribute the user private key to a corresponding user terminal;

[0047] Data encryption module, used for:

[0048] Randomly selecting a secret value to generate a secret shared random vector, and generating an encrypted ciphertext based on the secret shared random vector and the LSSS matrix through a bilinear group exponential operation;

[0049] Uploading the system public parameters, the Bloom filter and the encrypted ciphertext to a cloud server;

[0050] Cloud service processing module, used for:

[0051] receiving, through the cloud server, an access attribute set and a decryption request sent by the user terminal, inputting attribute identifiers in the access attribute set into the Bloom filter for screening, and obtaining a screening result;

[0052] If the screening result is passed, extracting, by the cloud server, a row vector matching the access attribute set from the LSSS matrix, and calculating a partial decryption intermediate value based on the system public parameter and the secret shared random vector, generating a partial decryption result, and returning the partial decryption result to the user terminal;

[0053] The terminal decryption module is used for the user terminal to obtain plaintext data through bilinear mapping based on the partial decryption result and the user private key.

[0054] The system initialization module includes an LSSS matrix construction unit for:

[0055] Based on the attribute logical relationship in the access policy, the attribute association relationship and the threshold condition are parsed to obtain a parsing result;

[0056] Based on the analysis result, a strategy tree is constructed, wherein the internal nodes of the strategy tree are threshold nodes, and each leaf node of the strategy tree is an attribute node;

[0057] Generate an initial LSSS matrix by breadth-first traversing the strategy tree, wherein each threshold node generates a row vector group of corresponding dimensions, the vector elements in the row vector group include threshold weight parameters, and each attribute node generates a single row vector, the vector elements in the single row vector include attribute weight parameters;

[0058] The initial LSSS matrix is ​​subjected to linear combination encoding processing, the threshold weight parameter and the attribute weight parameter are encoded into linear shared coefficients through matrix multiplication, only the attribute identifiers in the initial LSSS matrix are retained as visible elements, and the final LSSS matrix is ​​generated.

[0059] The system initialization module includes a Bloom filter construction unit for:

[0060] extracting the attribute identifier set based on the attribute identifiers in the LSSS matrix;

[0061] Initialize an all-zero bit array based on a preset bit array length;

[0062] For each identifier in the attribute identifier set, a hash value is calculated using multiple independent hash functions, and the hash value is modulo the value of the preset bit array length to obtain a bit index;

[0063] The value corresponding to the bit index in the all-zero bit array is set to 1 to generate the Bloom filter.

[0064] The key management module includes a user private key generation unit, which is used to:

[0065] For each attribute in the user stored attribute set, extract the corresponding secret sharing parameter from the LSSS matrix and randomly select an exponent in the bilinear group;

[0066] generating the private key component by bilinear group exponential operation based on the secret shared parameter and the random exponent;

[0067] The private key components of the attributes are combined to generate the user private key.

[0068] The data encryption module includes a ciphertext encryption unit, which is used to:

[0069] Calculating the dot product of each row vector of the LSSS matrix and the secret shared random vector;

[0070] Based on the dot product result and the secret value, generating a ciphertext component by a bilinear group exponential operation;

[0071] The encrypted ciphertext is generated by combining the ciphertext components.

[0072] The cloud service processing module includes a local decryption unit for:

[0073] For the row vector in the LSSS matrix that matches the access attribute set, calculating a linear combination result of the row vector and a search secret shared random vector by multiplication;

[0074] generating a partial decryption intermediate value based on a group generator of the system public parameter and the linear combination result;

[0075] The partial decryption results are generated by combining the partial decryption intermediate values.

[0076] The terminal decryption module includes a decrypted data acquisition unit, which is used to:

[0077] Calculating, by the user terminal, a first bilinear mapping value based on a private key component in the user private key and a ciphertext component of the encrypted ciphertext;

[0078] Calculating a second bilinear mapping value according to the partial decryption result and a group generator of the system public parameter;

[0079] In combination with the restoration coefficient of the LSSS matrix, a product operation is performed on the first bilinear mapping value and the second bilinear mapping value to generate a decryption result, and the plaintext data is extracted from the decryption result.

[0080] Based on the above system, the present invention also proposes a policy-hidden attribute encryption access control method in a cloud storage environment, comprising the following steps:

[0081] Performing LSSS matrix construction processing according to the attribute logical relationship in the access policy to generate an LSSS matrix, and extracting attribute identifiers from the LSSS matrix to construct a Bloom filter;

[0082] Generate system public parameters based on a bilinear group, wherein the system public parameters include a group generator and a bilinear map;

[0083] Generate a user private key through a bilinear group exponential operation according to the user storage attribute set and the secret sharing parameter in the LSSS matrix, and distribute the user private key to the corresponding user terminal;

[0084] Randomly selecting a secret value to generate a secret shared random vector, and generating an encrypted ciphertext based on the secret shared random vector and the LSSS matrix through a bilinear group exponential operation;

[0085] Uploading the system public parameters, the Bloom filter and the encrypted ciphertext to a cloud server;

[0086] receiving, through the cloud server, an access attribute set and a decryption request sent by the user terminal, inputting attribute identifiers in the access attribute set into the Bloom filter for screening, and obtaining a screening result;

[0087] If the screening result is passed, extracting, by the cloud server, a row vector matching the access attribute set from the LSSS matrix, and calculating a partial decryption intermediate value based on the system public parameter and the secret shared random vector, generating a partial decryption result, and returning the partial decryption result to the user terminal;

[0088] The user terminal obtains plaintext data through bilinear mapping based on the partial decryption result and the user private key.

[0089] The present invention further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the aforementioned method when executing the computer program. The present invention further provides a computer-readable storage medium storing the computer program, and wherein the processor implements the aforementioned method when executing the computer program.

[0090] In the cloud service processing module, if the screening result is passed, the cloud server extracts the row vector that matches the access attribute set from the LSSS matrix, calculates the partial decryption intermediate value based on the system public parameters and the secret shared random vector, generates a partial decryption result, and returns the partial decryption result to the user terminal.

[0091] The system initialization module includes an LSSS matrix construction unit for:

[0092] Based on the logical relationship of attributes in the access policy, the attribute association relationship and threshold conditions are analyzed to obtain the analysis results;

[0093] Based on the parsing results, a strategy tree is constructed, wherein the internal nodes of the strategy tree are threshold nodes and the leaf nodes of the strategy tree are attribute nodes;

[0094] Generate the initial LSSS matrix by traversing the strategy tree with breadth first, where each threshold node generates a row vector group of corresponding dimension, the vector elements in the row vector group include the threshold weight parameter, and each attribute node generates a single row vector, the vector elements in the single row vector include the attribute weight parameter;

[0095] The initial LSSS matrix is ​​linearly combined and encoded, and the threshold weight parameters and attribute weight parameters are encoded into linear shared coefficients through matrix multiplication. Only the attribute identifiers in the initial LSSS matrix are retained as visible elements to generate the final LSSS matrix.

[0096] The system initialization module includes a Bloom filter construction unit for:

[0097] Based on the attribute identifiers in the LSSS matrix, extract the attribute identifier set;

[0098] Initialize an all-zero bit array based on a preset bit array length;

[0099] For each identifier in the attribute identifier set, a hash value is calculated using multiple independent hash functions, and the hash value is modulo the value of the preset bit array length to obtain a bit index;

[0100] Set the value of the corresponding bit index in the all-zero bit array to 1 to generate a Bloom filter.

[0101] For each attribute in the user's stored attribute set, the corresponding secret sharing parameter is extracted from the LSSS matrix and an exponent is randomly selected in the bilinear group;

[0102] Based on the secret shared parameter and the random exponent, the private key component is generated through bilinear group exponential operation;

[0103] Combine the private key components of each attribute to generate the user's private key.

[0104] The data encryption module includes a ciphertext encryption unit, which is used to:

[0105] Calculate the dot product of each row vector of the LSSS matrix and the secret shared random vector;

[0106] Based on the dot product result and the secret value, the ciphertext component is generated through bilinear group exponential operation;

[0107] Combine the ciphertext components to generate encrypted ciphertext.

[0108] The cloud service processing module includes a local decryption unit for:

[0109] For the row vector in the LSSS matrix that matches the access attribute set, calculate the linear combination of the row vector and the search secret shared random vector through multiplication operation;

[0110] Generate a partial decryption intermediate value based on the group generator and linear combination result of the system public parameters;

[0111] Combine the partial decryption intermediate values ​​to generate a partial decryption result.

[0112] The terminal decryption module includes a decrypted data acquisition unit, which is used to:

[0113] Calculating, by the user terminal, a first bilinear mapping value based on a private key component in the user private key and a ciphertext component of the encrypted ciphertext;

[0114] Calculating a second bilinear mapping value based on the partial decryption result and a group generator of the system public parameter;

[0115] Combined with the restoration coefficient of the LSSS matrix, a product operation is performed on the first bilinear mapping value and the second bilinear mapping value to generate a decryption result, and the plaintext data is extracted from the decryption result.

[0116] The method of the present invention comprises the following steps:

[0117] The attribute encryption access control method with policy hiding in cloud storage environment includes:

[0118] According to the logical relationship of attributes in the access policy, LSSS matrix construction is performed to generate the LSSS matrix, and attribute identifiers are extracted from the LSSS matrix to construct the Bloom filter;

[0119] Generate system public parameters based on bilinear group, which include group generator and bilinear map;

[0120] Based on the user storage attribute set and the secret sharing parameters in the LSSS matrix, the user private key is generated through bilinear group exponential operation and distributed to the corresponding user terminal;

[0121] Randomly select a secret value to generate a secret shared random vector. Based on the secret shared random vector and the LSSS matrix, generate the encrypted ciphertext through bilinear group exponential operation.

[0122] Upload system public parameters, Bloom filters, and encrypted ciphertext to the cloud server;

[0123] The cloud server receives the access attribute set and decryption request sent by the user terminal, inputs the attribute identifier in the access attribute set into the Bloom filter for screening, and obtains the screening result;

[0124] If the screening result is passed, the cloud server extracts the row vector that matches the access attribute set from the LSSS matrix, calculates the partial decryption intermediate value based on the system public parameters and the secret shared random vector, generates a partial decryption result, and returns the partial decryption result to the user terminal;

[0125] The user terminal obtains the plaintext data through bilinear mapping based on the partial decryption result and the user's private key.

[0126] The above-mentioned policy-hiding attribute encryption access control system and method in the cloud storage environment realizes full-process secure access control from policy construction, key management, data encryption to cloud processing and terminal decryption through the coordinated operation of various modules. Among them, the system initialization module converts the access policy into an LSSS matrix and constructs a Bloom filter, laying the foundation for policy hiding and rapid attribute screening, avoiding the exposure of sensitive policy information in plain text, and reducing the processing overhead of invalid access requests through the efficient screening of the Bloom filter. The key management module generates user private keys based on bilinear groups, ensuring the binding relationship between private keys and user attributes, and providing a secure key foundation for fine-grained access control. The data encryption module uses secret shared random vectors and LSSS matrices to generate ciphertext, and combines the linear combination characteristics of the LSSS matrix to partially hide the access policy. At the same time, the encrypted data and related parameters are uploaded to the cloud server, completing the secure storage and transmission of data. The cloud service processing module uses a Bloom filter to filter user attributes, eliminating requests that don't meet basic attribute requirements and reducing subsequent invalid decryption calculations. For requests that pass the filter, it extracts matching row vectors and calculates partial decryption intermediate values, assigning high-computational complexity linear operations to the cloud server and reducing the computational load on the user terminal. The terminal decryption module uses the partial decryption results returned by the cloud server and the user's private key to complete the final decryption through a bilinear mapping, implementing lightweight terminal decryption operations and ensuring secure access to user data.

[0127] Compared to traditional CP-ABE access control schemes, this system, based on LSSS matrix optimization, Bloom filter screening, and outsourced decryption division of labor, not only partially hides access policies through matrix construction, ensuring policy privacy, but also improves access request processing efficiency by verifying the time complexity properties of Bloom filters. Furthermore, by dividing computing tasks between cloud servers and terminals, it significantly reduces terminal computing overhead and improves overall system decryption efficiency, providing an efficient and secure technical solution for data security access control in cloud storage environments.

[0128] In one embodiment, Figure 1 As shown, a policy-hidden attribute encryption access control system 100 is provided in a cloud storage environment. In this embodiment, the system includes:

[0129] The system initialization module 101 is used to:

[0130] According to the logical relationship of attributes in the access policy, LSSS matrix construction is performed to generate the LSSS matrix, and attribute identifiers are extracted from the LSSS matrix to construct the Bloom filter;

[0131] The system public parameters are generated based on the bilinear group, and the system public parameters include group generators and bilinear maps.

[0132] Specifically, an access policy is a set of rules that specifies which users can access specific data. User access rights can be defined through attribute logical relationships. For example, if a file can only be accessed by employees from a specific department, this department attribute can be included in the access policy. By converting complex access policies into a mathematical structure, the LSSS matrix, it can be encrypted using an encryption algorithm. Furthermore, a Bloom filter is a probabilistic data structure that can be used to test whether an element is likely to be a member of a set. A Bloom filter is constructed by extracting attribute identifiers from the LSSS matrix. This Bloom filter can quickly determine whether a user has permission to access specific data by checking whether the user's attribute identifier exists in the Bloom filter. This screening mechanism can quickly exclude users without permission, reducing unnecessary computational overhead and significantly improving system efficiency. Furthermore, bilinear groups are a special type of mathematical group widely used in cryptography. For example, system public parameters include group generators and bilinear maps. These system public parameters are shared throughout the system's lifecycle and can be used by users and system modules involved in encryption and decryption operations to perform corresponding calculations. A group generator is a special element in a bilinear group that can be used to generate all other elements in the group. A bilinear map is a function on a bilinear group that satisfies some special equality relations, which are related to the correctness of encryption and decryption algorithms.

[0133] The key management module 102 is used to generate a user private key through bilinear group exponential operation according to the user storage attribute set and the secret sharing parameters in the LSSS matrix, and distribute the user private key to the corresponding user terminal.

[0134] Specifically, the user's private key is associated with the user's identity and authorization attributes and is the key for decrypting encrypted data. The user storage attribute set is a set of user-related attributes that defines the user's identity and permissions in the system. The secret sharing parameters are generated during the LSSS matrix construction process and are used to ensure the correct distribution and sharing of secrets among multiple users. By combining user attributes with the system's public parameters through bilinear group exponential operations, a unique user private key can be generated. This private key is the only key that users use to access encrypted data. Furthermore, using technologies such as encrypted communication and secure authentication, the generated user private key is distributed to the corresponding user terminal, ensuring secure distribution of the private key and ensuring that only legitimate user terminals receive the corresponding private key.

[0135] The data encryption module 103 is used to:

[0136] Randomly select a secret value to generate a secret shared random vector. Based on the secret shared random vector and the LSSS matrix, generate the encrypted ciphertext through bilinear group exponential operation.

[0137] Upload system public parameters, Bloom filter and encrypted ciphertext to the cloud server.

[0138] Specifically, the secret value is a randomly selected value used to generate a secret shared random vector. Generating a secret shared random vector ensures the randomness and unpredictability of the encryption process, thereby improving the security of the encrypted data. Subsequently, the module generates encrypted ciphertext using a bilinear group exponential operation based on the secret shared random vector and the LSSS matrix. This bilinear group exponential operation leverages the special properties of bilinear groups to ensure that the generated ciphertext retains the information of the original data while preventing unauthorized users from easily decrypting it. This ensures that only users who meet the access policy can decrypt the data, thereby achieving fine-grained access control for the data. Furthermore, the data encryption module 103 can upload system public parameters, Bloom filters, and encrypted ciphertext to a cloud server. This cloud server is a platform for storing and managing encrypted data, providing data storage space and access control services. Uploading system public parameters and Bloom filters to the cloud server allows the cloud server to participate in the subsequent decryption process. For example, upon receiving a decryption request from a user terminal, the Bloom filter can be used to perform rapid permission screening. The encrypted ciphertext is the actual data stored and protected on the cloud server. By uploading the above information to the cloud server, the system can achieve distributed storage and access control of encrypted data, and ensure the security and accessibility of the data.

[0139] The cloud service processing module 104 is configured to:

[0140] The cloud server receives the access attribute set and decryption request sent by the user terminal, inputs the attribute identifier in the access attribute set into the Bloom filter for screening, and obtains the screening result;

[0141] If the screening result is passed, the cloud server extracts the row vector that matches the access attribute set from the LSSS matrix, calculates the partial decryption intermediate value based on the system public parameters and the secret shared random vector, generates a partial decryption result, and returns the partial decryption result to the user terminal.

[0142] Specifically, the access attribute set is a set of attributes related to the user that is provided when the user requests access to data, and is used to verify whether the user meets the requirements of the access policy. The decryption request is an operation request initiated by the user to decrypt the encrypted data, which can indicate that the user wants to obtain the plaintext content of the encrypted data. When the cloud server receives the user's access attribute set and decryption request, the module can input the attribute identifier in the access attribute set into the Bloom filter for filtering to obtain the filtering result. If the filtering result of the Bloom filter shows that the user passes the screening, it can be shown that the user has access rights and can proceed to the next step. Otherwise, the user's decryption request will be rejected, thereby preventing unauthorized users from further attempting decryption operations.

[0143] Furthermore, if the screening result is passed, the cloud service processing module 104 can search for the corresponding row vector in the LSSS matrix according to the access attribute set provided by the user. The row vector contains the secret sharing information related to the user's access rights. Subsequently, based on the system public parameters and the secret sharing random vector, a partial decryption intermediate value can be calculated to generate a partial decryption result, and the partial decryption result is returned to the user terminal. The partial decryption result contains some information required by the user to further decrypt the data, but this information itself is not sufficient to restore the original data. It needs to be combined with the user's private key to complete the final decryption operation.

[0144] The terminal decryption module 105 is used for the user terminal to obtain plaintext data through bilinear mapping based on the partial decryption result and the user's private key.

[0145] Specifically, since the user's private key is closely related to the user's identity and authorization attributes, only users who meet the access policy can use their private key and partial decryption results to correctly decrypt the plaintext data, thereby ensuring that only legitimate users can successfully access encrypted data under the premise of meeting the access control policy, realizing effective protection and access control of cloud storage data.

[0146] The above system mainly includes five modules. The system initialization module 101 can effectively hide sensitive information in the access policy by converting the access policy into an LSSS matrix and constructing a Bloom filter, providing an efficient data structure basis for subsequent attribute screening, and generating system public parameters based on the bilinear group, laying a data foundation for the encryption system. The key management module 102 generates the user private key based on the user attribute set and the LSSS matrix, realizing the precise binding of user permissions and attributes, ensuring that only users with corresponding attributes can obtain the corresponding data, and improving the security and granularity of data access. The data encryption module 103 can use secret shared random vectors and LSSS matrices to encrypt data, and upload the encrypted ciphertext and related parameters to the cloud server, further strengthening the hiding effect of the access policy and ensuring the security of data during storage and transmission in the cloud. The cloud service processing module 104 quickly screens user attributes through the Bloom filter, which can efficiently exclude access requests that do not meet the conditions and reduce invalid calculations. For requests that pass the screening, matching row vectors are extracted from the LSSS matrix and partial decryption intermediate values ​​are calculated. This computation is then outsourced to the cloud server, significantly reducing the computational burden on the user terminal and improving the overall processing efficiency of the system. The terminal decryption module 105 then completes the final decryption via a bilinear mapping based on the partial decryption results returned by the cloud server and the user's private key, achieving lightweight terminal decryption operations that not only ensure data security but also improve the efficiency and convenience of data acquisition for users.

[0147] In one embodiment, the system initialization module includes an LSSS matrix construction unit for:

[0148] Based on the logical relationship of attributes in the access policy, the attribute association relationship and threshold conditions are analyzed to obtain the analysis results;

[0149] Based on the parsing results, a strategy tree is constructed, wherein the internal nodes of the strategy tree are threshold nodes and the leaf nodes of the strategy tree are attribute nodes;

[0150] Generate the initial LSSS matrix by traversing the strategy tree with breadth first, where each threshold node generates a row vector group of corresponding dimension, the vector elements in the row vector group include the threshold weight parameter, and each attribute node generates a single row vector, the vector elements in the single row vector include the attribute weight parameter;

[0151] The initial LSSS matrix is ​​linearly combined and encoded, and the threshold weight parameters and attribute weight parameters are encoded into linear shared coefficients through matrix multiplication. Only the attribute identifiers in the initial LSSS matrix are retained as visible elements to generate the final LSSS matrix.

[0152] Specifically, the logical relationship of the attributes in the access policy is parsed, and the attribute association relationship and threshold conditions in the policy are extracted, so that the dependency relationship and authorization conditions of each attribute in the policy can be clarified. Based on the parsing results, a policy tree structure can be constructed. Schematically, the internal nodes can correspond to threshold nodes, which are used to represent logical threshold conditions, and each threshold node can include information such as the number of child nodes and threshold parameters. The leaf nodes correspond to specific attribute nodes, and each leaf node is associated with a unique attribute identifier. The hierarchical structure of the policy tree can then be converted into a numerical matrix by traversing the policy tree in a breadth-first manner. Schematically, for each threshold node, a row vector group of dimension n can be generated, each group containing k linearly independent row vectors, and the vector elements in the row vector are threshold weight parameters that meet the secret sharing condition. For each attribute node, a single row vector can be generated, and its vector elements are attribute weight parameters associated with the attribute, which can be 1 or 0, used to identify whether the attribute is selected. After the traversal is completed, the initial LSSS matrix can be obtained. The number of rows is equal to the total number of attributes involved in the access policy, and the number of columns is determined by the maximum threshold dimension. The matrix elements contain threshold weight parameters and attribute weight parameters, thereby fully retaining the logical threshold information of the access policy.

[0153] Furthermore, by converting the threshold weight parameters and attribute weight parameters into linear sharing coefficients through matrix multiplication, sensitive policy details such as threshold limits, attribute weights, etc. no longer exist in plain text, but are implicit in the linear combination relationship of the matrix. For example, the threshold k-of-n can be converted into the linear independence condition of the matrix row vectors, and the secret value can be recovered only when the linear combination of k row vectors is satisfied. And by removing all explicit threshold weight parameters and attribute weight parameters in the matrix and retaining only the attribute identifiers as visible elements, the final LSSS matrix can be formed. Through this matrix, unauthorized users can only obtain the attribute list involved in the matrix, and cannot directly parse out sensitive policy information such as threshold limits through the matrix structure, thereby achieving partial policy hiding.

[0154] In one embodiment, the system initialization module includes a Bloom filter construction unit, such as Figure 2 As shown, this unit is used to build a Bloom filter through the following steps:

[0155] S201: extracting an attribute identifier set based on the attribute identifiers in the LSSS matrix;

[0156] S202: Initializing an all-zero bit array based on a preset bit array length;

[0157] S203: For each identifier in the attribute identifier set, a hash value is calculated using multiple independent hash functions, and the hash value is modulo a value of a preset bit array length to obtain a bit index;

[0158] S204: Set the value of the corresponding bit index in the all-zero bit array to 1 to generate a Bloom filter.

[0159] Specifically, we first traverse each row of the LSSS matrix, identifying and collecting the unique identifiers associated with each attribute node, ensuring that the set contains no duplicate elements. We then extract all attribute identifiers to form an attribute identifier set. This set can include all attribute names involved in the access policy, such as "department" being equivalent to "finance" and "rank," and is used to construct the subsequent Bloom filter. We then calculate the bit array length m required for the Bloom filter based on the preset false positive rate parameter and the number of attribute identifiers.

[0160] And initialize the all-zero bit array corresponding to the preset bit array length m so that the initial value of all bits is 0. Subsequently, by selecting multiple independent hash functions, the hash value of each attribute identifier in the attribute identifier set can be calculated separately, and the corresponding bit index can be obtained by taking the modulus of each hash value by m. The hash function is independently selected to ensure the uniform distribution of hash results and reduce the probability of collision. By setting the value of the corresponding position in the bit array to 1, a Bloom filter can be generated, and its storage structure can be represented as a fixed-length byte array for subsequent rapid screening of user attributes. The Bloom filter can quickly screen out elements that may or may not belong to a certain set through probabilistic judgment without storing specific elements, thereby improving the efficiency of data retrieval.

[0161] In one embodiment, the key management module includes a user private key generation unit configured to:

[0162] For each attribute in the user's stored attribute set, the corresponding secret sharing parameter is extracted from the LSSS matrix and an exponent is randomly selected in the bilinear group;

[0163] Based on the secret shared parameter and the random exponent, the private key component is generated through bilinear group exponential operation;

[0164] Combine the private key components of each attribute to generate the user's private key.

[0165] Specifically, the secret sharing parameter is the row vector or its specific part in the LSSS matrix related to the attribute, which determines the role and weight of the attribute in the access policy. Furthermore, a random exponent is selected in the bilinear group for subsequent bilinear group exponential operations, which can provide randomness and unpredictability for the generation of private key components. Subsequently, by utilizing the mathematical properties and operation rules of the bilinear group, the secret sharing parameter is combined with the random exponent through multiplication of group elements, exponential operations, etc., to calculate the private key component corresponding to the attribute, ensuring that the generation of the private key component not only meets the requirements of the access policy but also has a high degree of security. By aggregating the private key components of all attributes and storing them as a mapping set of attribute-private key components, the user's private key can be obtained, ensuring that each component corresponds one-to-one to the user's attribute.

[0166] In one embodiment, the data encryption module includes a ciphertext encryption unit configured to:

[0167] Calculate the dot product of each row vector of the LSSS matrix and the secret shared random vector;

[0168] Based on the dot product result and the secret value, the ciphertext component is generated through bilinear group exponential operation;

[0169] Combine the ciphertext components to generate encrypted ciphertext.

[0170] Specifically, the secret shared random vector is randomly selected to ensure ciphertext indistinguishability. Even if the same data is encrypted multiple times, the generated ciphertext will be different, further enhancing system security. Through a dot product operation, the logical relationship of the access policy is combined with the random vector to produce a set of intermediate results. This result implicitly reflects the constraints of the access policy. For example, if a row vector corresponds to the attribute "department equivalent to R&D", the dot product calculation can associate the attribute weight with the secret value and random parameters, ensuring that the corresponding dot product result can be used for secret recovery only when the user attribute satisfies the policy. Subsequently, based on the dot product result and the secret value, a bilinear group exponential operation is performed to generate the ciphertext components related to the access policy. Each ciphertext component corresponds to a row vector in the LSSS matrix, thus embedding the logical relationship of access control into the ciphertext. Finally, the ciphertext components are combined to generate the final encrypted ciphertext. This ciphertext can be uploaded to the cloud server along with the system's public parameters, Bloom filter, and other parameters for decryption and access by authorized users.

[0171] In one embodiment, the cloud service processing module includes a local decryption unit configured to:

[0172] For the row vector in the LSSS matrix that matches the access attribute set, calculate the linear combination of the row vector and the search secret shared random vector through multiplication operation;

[0173] Generate a partial decryption intermediate value based on the group generator and linear combination result of the system public parameters;

[0174] Combine the partial decryption intermediate values ​​to generate a partial decryption result.

[0175] Specifically, based on the set of access attributes submitted by the user, all row vectors associated with the attributes in the set can be extracted from the LSSS matrix. The row vector corresponds to the row in the LSSS matrix whose leaf node is the user attribute, and each row represents an attribute constraint. For each matching row vector, the dot product result with the secret shared random vector generated in the encryption phase can be calculated, that is, the linear combination result. Schematically, if the user is an authorized user, then in the ciphertext encryption unit, the linear combination result has been calculated and implicit in the corresponding ciphertext component. The local decryption unit can obtain the linear combination result from the ciphertext encryption unit, or calculate it in real time by reusing the LSSS matrix and the random vector to further ensure the consistency of the calculation.

[0176] Subsequently, a bilinear group exponential operation is performed on each dot product result based on the group generators in the system's public parameters to generate a partial decryption intermediate value. This calculation is performed on the cloud server, eliminating the need for the user terminal to process high-order exponentiation calculations, significantly reducing the local computing load. Finally, the partial decryption intermediate values ​​corresponding to all matching row vectors are combined into a partial decryption result and returned to the user terminal via a secure channel for final decryption.

[0177] In one embodiment, the terminal decryption module includes a decrypted data acquisition unit configured to:

[0178] Calculating, by the user terminal, a first bilinear mapping value based on a private key component in the user private key and a ciphertext component of the encrypted ciphertext;

[0179] Calculating a second bilinear mapping value based on the partial decryption result and a group generator of the system public parameter;

[0180] Combined with the restoration coefficient of the LSSS matrix, a product operation is performed on the first bilinear mapping value and the second bilinear mapping value to generate a decryption result, and the plaintext data is extracted from the decryption result.

[0181] Specifically, based on the private key component in the user's private key and the ciphertext component of the encrypted ciphertext, for each attribute matching the user's attribute set, the private key component and ciphertext component can be mapped to another group of the bilinear group to obtain a first bilinear mapping value. The private key component implicitly contains the secret shared parameters and random exponents of the LSSS matrix, while the ciphertext component implicitly contains the group element representation of the secret value in the ciphertext encryption unit. This process utilizes the mathematical properties of bilinear mappings, ensuring that only authorized users can correctly perform mapping operations on the ciphertext using their private key. The partial decryption result contains the information obtained by the cloud server after local decryption based on the user's access attribute set, and each intermediate value corresponds to the dot product operation of the LSSS matrix row vectors, implicitly reflecting the exponential relationship between the group generator in the system public parameters and the dot product value. Therefore, the partial decryption result can be combined with the group generator of the system public parameters to introduce the random exponent in the private key component, preparing for the subsequent weighted recovery coefficient to offset the random term.

[0182] Specifically, a second bilinear mapping value can be obtained by calculating a bilinear mapping between a partial decryption result and a group generator of system public parameters. Subsequently, the recovery coefficient of the LSSS matrix can be combined to raise the product of the first mapping value and the second mapping value of each matching attribute to multiple powers, and then multiply the results of all attributes to offset the associated terms of the random LSSS row vector, ultimately obtaining a decryption result directly related to the plaintext. In an illustrative example, the recovery coefficient is a set of weight parameters in the LSSS matrix that satisfy the linear reconstruction condition. Furthermore, when the ciphertext encryption unit generates ciphertext, the ciphertext can include a plaintext-bound component and an LSSS policy-bound component. The LSSS policy-bound component is the ciphertext component generated by a bilinear group exponential operation based on the dot product result and the secret value, while the plaintext-bound component can be the result of multiplying the plaintext by the decryption result. Therefore, in this embodiment, the user terminal can obtain the plaintext data by calculating the ratio of the plaintext-bound component to the decryption result.

[0183] Based on the same inventive concept, Figure 3 As shown, the embodiments of the present application also provide a policy-hidden attribute encryption access control method in a cloud storage environment. The implementation solution provided by this method is similar to the implementation solution described in the above-mentioned system. Therefore, the specific limitations of one or more of the following embodiments of the policy-hidden attribute encryption access control method in a cloud storage environment can be found in the above-mentioned limitations of the policy-hidden attribute encryption access control system in a cloud storage environment, and will not be repeated here. The method includes:

[0184] S301: Based on the attribute logical relationship in the access policy, LSSS matrix construction processing is performed to generate an LSSS matrix, and attribute identifiers are extracted from the LSSS matrix to construct a Bloom filter. System public parameters are generated based on the bilinear group. The system public parameters include group generators and bilinear mappings.

[0185] S302: Generate a user private key through bilinear group exponential operation based on the user storage attribute set and the secret sharing parameter in the LSSS matrix, and distribute the user private key to the corresponding user terminal;

[0186] S303: Randomly select a secret value to generate a secret shared random vector. Based on the secret shared random vector and the LSSS matrix, generate an encrypted ciphertext through a bilinear group exponential operation. Upload the system public parameters, Bloom filter, and encrypted ciphertext to the cloud server.

[0187] S304: Receive the access attribute set and decryption request sent by the user terminal through the cloud server, input the attribute identifier in the access attribute set into the Bloom filter for screening, and obtain the screening result. If the screening result passes the screening, extract the row vector matching the access attribute set from the LSSS matrix through the cloud server, calculate the partial decryption intermediate value based on the system public parameters and the secret shared random vector, generate a partial decryption result, and return the partial decryption result to the user terminal;

[0188] S305: The user terminal obtains the plaintext data through bilinear mapping based on the partial decryption result and the user private key.

[0189] The above method, through constructing the LSSS matrix and building a Bloom filter, not only partially hides the access policy and prevents the exposure of sensitive policy information in plaintext, but also effectively filters attribute identifiers through the Bloom filter, reducing the processing overhead of invalid decryption requests and providing access control preconditions for subsequent processes. Secondly, the user's private key is generated based on the user attribute set and the LSSS matrix, ensuring the binding relationship between the private key and the user attributes, providing a secure key foundation for fine-grained access control and preventing unauthorized access. Furthermore, ciphertext is generated based on the secret shared random vector and the LSSS matrix and uploaded to the cloud server. The linear combination properties of the LSSS matrix further enhance the policy hiding effect. The security of the ciphertext is guaranteed through bilinear group exponential operations, providing reliable encryption for cloud data storage and transmission. Furthermore, by using the cloud server to perform Bloom filter screening and partial decryption of user attributes, requests that do not meet the requirements can be quickly eliminated, and high-computation linear operations can be assigned to the cloud server. This not only reduces invalid computations but also reduces the computational load on user terminals, improving the overall system response efficiency.

[0190] Finally, the user terminal obtains the plaintext data based on the partial decryption result and the private key through the bilinear mapping, realizes the lightweight terminal decryption operation, avoids the complex calculation of the terminal, and improves the convenience and efficiency of the user to obtain data.

[0191] In an exemplary embodiment, the present application also provides a computer device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the steps of the attribute encryption access control system with policy hiding in a cloud storage environment when executing the computer program. Preferably, a multi-core processor is used to improve the parallel processing capability of the system. The memory provides sufficient temporary storage space to support the running of programs and the processing of data. The memory capacity should be large enough to accommodate a large amount of supply information and computing tasks.

[0192] In an exemplary embodiment, the present application also provides a computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the steps of the attribute encryption access control system with policy hiding in a cloud storage environment. The computer readable storage medium can include a read-only memory (ROM), a random access memory (RAM), a solid state disk (SSD), or an optical disk. Among them, the random access memory can include a resistance random access memory (ReRAM) and a dynamic random access memory (DRAM).

[0193] The preferred embodiments of the present application are described in detail above. It should be understood that those skilled in the art can make many modifications and changes without creative labor based on the concept of the present application. Therefore, any technical solution obtained by logical analysis, reasoning or limited experiment based on the existing technology according to the concept of the present application shall be within the protection scope determined by the claims.

Claims

1. A policy-hidden attribute encryption access control method in a cloud storage environment, characterized in that: The method comprises the following steps: S1. Generate an LSSS matrix, extract the first attribute identifier from the LSSS matrix, and construct a Bloom filter; S2, generating system common parameters based on bilinear group; S3. Generate a user private key through bilinear group exponential operation based on the user storage attribute set and the secret sharing parameter in the LSSS matrix, and distribute the user private key to the corresponding user terminal; S4. Randomly select a secret value to generate a secret shared random vector, and generate an encrypted ciphertext based on the secret shared random vector and the LSSS matrix through a bilinear group exponential operation; S5. Upload the system public parameters, the Bloom filter, and the encrypted ciphertext to a cloud server; S6. Receive, through the cloud server, the access attribute set and the decryption request sent by the user terminal, and input the second attribute identifier in the access attribute set into the Bloom filter for screening to obtain a screening result; For the second attribute identifier whose screening result is passed, the access attribute corresponding to the second attribute identifier that passes the screening is a matching access attribute, extracting, by the cloud server, a row vector corresponding to the matching access attribute from the LSSS matrix, and calculating a partial decryption intermediate value based on the system public parameter and the secret shared random vector, generating a partial decryption result, and returning the partial decryption result to the user terminal; S7. The user terminal obtains plaintext data through bilinear mapping based on the partial decryption result and the user private key.

2. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 1 is characterized in that: The specific steps of generating the LSSS matrix are: According to the attribute logical relationship in the access policy, the LSSS matrix is ​​constructed to generate the LSSS matrix. The access policy is a set of rules that stipulate the users who can access specific data. The first attribute identifier ρ of the LSSS matrix is ​​a mapping function, which maps each row vector of the LSSS matrix to an attribute logical relationship.

3. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 2 is characterized in that: The specific steps of constructing the Bloom filter are: Initialize an all-zero bit array, select multiple independent hash functions to calculate the hash value of each identifier in the first attribute identifier, obtain the corresponding bit index, set the value of the corresponding bit index in the all-zero bit array to 1, and obtain a Bloom filter.

4. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 3 is characterized in that: The system's common parameters include group generators and bilinear maps.

5. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 1 is characterized in that: The secret sharing parameter is the row vector of the LSSS matrix corresponding to each attribute in the user storage attribute set.

6. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 5 is characterized in that: According to the user's storage attribute set and the secret sharing parameters in the LSSS matrix, the specific steps of generating the user's private key through bilinear group exponential operation are as follows: A random exponent is randomly selected from a bilinear group. The mathematical properties and operation rules of the bilinear group are used to combine the secret sharing parameter with the random exponent to obtain the private key component corresponding to each attribute. The private key components of all attributes are aggregated to obtain a mapping set of attribute-private key components, and the mapping set is used as the user private key.

7. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 6 is characterized in that: The specific steps of S4 are: Randomly select a secret value, generate a secret shared random vector, and calculate the dot product of each row vector of the LSSS matrix and the secret shared random vector; Based on the dot product result and the secret value, the ciphertext components corresponding to each row vector are generated through bilinear group exponential operation; The ciphertext components are combined to obtain the encrypted ciphertext.

8. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 7 is characterized in that: For a second attribute identifier whose screening result is passed, the access attribute corresponding to the second attribute identifier that passes the screening is a matching access attribute. The cloud server extracts a row vector corresponding to the matching access attribute from the LSSS matrix, and calculates a partial decryption intermediate value based on the system public parameter and the secret shared random vector. The specific steps of generating a partial decryption result are as follows: For the second attribute identifier that passes the screening result, the access attribute corresponding to the second attribute identifier that passes the screening is set as the matching access attribute, extracting the row vector corresponding to the matching access attribute from the LSSS matrix through the cloud server, and calculating the linear combination result of the row vector corresponding to the matching access attribute and the secret shared random vector through a multiplication operation; generating a partial decrypted intermediate value corresponding to each matching access attribute based on a group generator and a linear combination result of the system public parameter; Integrate the partial decryption intermediate values ​​to obtain the partial decryption result.

9. The attribute encryption access control method with policy hiding in a cloud storage environment according to claim 8 is characterized in that: The specific steps of obtaining the plaintext data by the user terminal through bilinear mapping based on the partial decryption result and the user private key are as follows: The user terminal maps a private key component corresponding to the matching access attribute in the user private key and a ciphertext component corresponding to the matching access attribute of the encrypted ciphertext to a target group of the bilinear group to obtain a first bilinear mapping value; Calculate a bilinear mapping between the partial decryption result corresponding to the matching access attribute and the group generator of the system public parameter, and calculate a second bilinear mapping value; Combined with the recovery coefficient of the LSSS matrix, the plaintext data is obtained by multiplying the product of the first bilinear mapping value corresponding to each matching access attribute and the second bilinear mapping value corresponding to the corresponding matching access attribute by multiple powers, and then multiplying the power results corresponding to each matching access attribute by the power results corresponding to all matching access attributes.

10. A policy-hidden attribute encryption access control system in a cloud storage environment, characterized in that: The system includes: System initialization module, used to generate LSSS matrix and system common parameters, and build Bloom filter; A key management module is used to generate and distribute user private keys to corresponding user terminals; Data encryption module, used to generate encrypted ciphertext based on the LSSS matrix and upload it to the cloud server in combination with system public parameters and Bloom filter; The cloud service processing module is used to receive the access attribute set and the decryption request through the cloud server, filter it through the Bloom filter, and if it passes the filter, generate a partial decryption result and return it to the user terminal; The terminal decryption module is used for the user terminal to obtain plaintext data based on the partial decryption result and the user's private key.