Efficient security attribute-based access control method for cloud Internet of Things
By enabling users to generate their own key components and employing online and offline encryption mechanisms, the system addresses key management risks and computational intensity issues in cloud IoT systems, thereby improving system security and decryption efficiency. It is applicable to fields such as smart cities, Industry 4.0, and smart healthcare.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHAANXI NORMAL UNIV
- Filing Date
- 2026-03-16
- Publication Date
- 2026-05-15
AI Technical Summary
Existing cloud IoT systems suffer from risks related to centralized key management, computational intensity, and inability to effectively utilize similar access policies of the same group of users or devices in terms of data security protection and access control. Furthermore, existing optimization solutions have deficiencies in both security and efficiency.
It adopts a dynamic registration management model, where users generate their own key components. The computational burden is reduced through online and offline encryption mechanisms, and management is simplified through slot aggregation and attribute aggregation. Sub-policy reuse is used to improve decryption efficiency.
It eliminates key escrow risks, reduces the computational burden on IoT devices, improves system scalability and decryption efficiency, and enhances security and overall system operating efficiency.
Smart Images

Figure CN122053216A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of digital information transmission technology, specifically relating to an efficient and secure attribute-based access control method for cloud Internet of Things. Background Technology
[0002] With the rapid development of the Internet of Things (IoT) and cloud computing technologies, cloud-IoT systems have become a key infrastructure driving digital transformation in fields such as smart cities, Industry 4.0, and smart healthcare. These systems continuously generate multi-source, heterogeneous real-time data streams through massively distributed sensor nodes, embedded terminals, and mobile devices, providing data support for upper-layer intelligent applications. However, while enjoying the convenience brought by data-driven business, cloud-IoT systems face severe data security challenges, particularly in terms of confidentiality protection and fine-grained access control in outsourced data storage environments.
[0003] In traditional cloud IoT architectures, data owners typically outsource the storage of sensitive data, such as patient medical records, industrial sensor readings, and personal location information, to cloud servers to achieve high availability and convenient sharing. In this model, ensuring that data is accessed only by authorized users in an untrusted cloud environment, while supporting dynamic, attribute-based access policies, becomes a critical issue that urgently needs to be addressed. Existing solutions mainly rely on attribute-based encryption (ABE) technology, particularly Ciphertext-Policy ABE (CP-ABE) mechanisms. This technology allows data owners to define complex access policies and embed these policies into ciphertext; only users whose attributes satisfy the policy can successfully decrypt the data.
[0004] However, existing technologies have the following prominent drawbacks:
[0005] First, in the standard CP-ABE architecture, a fully trusted Central Authority (CA) is responsible for generating and holding the decryption keys for all users. If the CA is compromised by an attacker, the entire system's key materials will be leaked, leading to catastrophic security consequences. This centralized key management approach contradicts the distributed and decentralized nature of cloud IoT, and in large-scale device deployment environments, it becomes a single point of failure risk.
[0006] Second, the encryption and decryption process of existing CP-ABE schemes involves a large number of computationally intensive bilinear pairing operations, which places a heavy burden on IoT terminal devices with limited processing power and strict battery life requirements. Especially in scenarios with high real-time requirements such as medical monitoring and industrial control, encryption and decryption delays may affect system response speed and even cause critical business functions to fail.
[0007] Third, while existing Registered Attribute Encryption (RABE) schemes solve the key escrow problem by returning key generation rights to users, their computational complexity remains high. More importantly, these schemes fail to effectively utilize the "social circle" access characteristic prevalent in cloud IoT environments, where the same group of users or devices frequently access different data with similar access strategies. This access pattern is particularly common in scenarios such as smart healthcare alliances, industrial production line monitoring, and smart community management, providing a significant opportunity to optimize encryption and decryption efficiency.
[0008] Fourth, recently, researchers have proposed optimization schemes based on sub-policy reuse (such as SSP-RABE), attempting to improve efficiency by caching and reusing frequently occurring sub-policy modules. However, such schemes have fundamental flaws in sub-policy parameter generation and security proof, particularly in resisting collusion attacks and chosen-ciphertext attacks, thus failing to meet the security requirements of practical applications. Summary of the Invention
[0009] The technical problem to be solved by this invention is to overcome the defects of the prior art and provide a safe, reliable, and efficient solution.
[0010] The technical solution adopted to solve the above-mentioned technical problems is: a highly efficient and secure attribute-based access control method for cloud IoT, comprising the following steps:
[0011] Step 1. Enter security parameters Size of the complete set of attributes The number of slots L, representing the number of users, is used to generate a common reference string through a common reference string generator. And output,
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019] In the formula, and It is a prime number. Multiplication cyclic group It is a group generator, It is a bilinear pairing operation. , All from The random number selected from the data. User i, attribute The corresponding original attribute public key component, It is user j, attribute The corresponding original attribute public key component, For model The multiplication group;
[0020] Step 2. Generate user key
[0021] user Select secret value As a private key and generate a portion of public key components. And another part of the public key components required for cross-slot collaboration , , From The random number selected from the data. Obtain the public key It is then output, and the user retains the private key. ;
[0022] Step 3. The key manager executes the aggregation protocol to aggregate all users' public keys into the master public key. And generate an auxiliary decryption key. ;
[0023] Step 4. The data owner enters the master public key. Execute the offline encryption algorithm to generate offline ciphertext and output it;
[0024] Step 5. The data owner enters the master public key. It executes an online encryption algorithm, combining the access policy, offline ciphertext, and plaintext message to generate the final ciphertext;
[0025] Step 6. The data user executes the decryption algorithm, using the private key and auxiliary decryption key to decrypt the ciphertext.
[0026] As a preferred technical solution, step 3 specifically involves the following steps:
[0027] Step 3.1. The key manager obtains the slot aggregation public key according to the following formula. ,
[0028]
[0029] Aggregate all other users according to the following formula. i-generated cross-slot collaboration public key component ,
[0030]
[0031] in, User For users The public key component required for the generated cross-slot collaboration, , For users The private key;
[0032] Step 3.2. The key manager for each attribute Aggregate all those having the following formula User attributes Attribute components Thus obtain Aggregate property component ,
[0033] ,
[0034] In the formula, Let j be the set of attributes for user j;
[0035] For each user Aggregator users Combining user j's attributes Parameter-generated cross-slot elimination component Get users For attributes Cross-slot aggregation components , ;
[0036] Step 3.3. The key manager outputs the master public key. and auxiliary decryption key .
[0037] As a preferred technical solution, step 4 specifically involves the following steps:
[0038] Step 4.1. The data owner enters the master public key. Randomly select session key As a random parameter for encryption;
[0039] Step 4.2. Randomly select elements According to public components Generate split components , , , ,make ;
[0040] Step 4.3. For the maximum number of rows in the access strategy matrix ,from arrive Randomly select parameters for each row. ;
[0041] Step 4.4. Generate various offline ciphertext components , , , ;
[0042]
[0043]
[0044] ,
[0045]
[0046] In the formula, For accessing the attribute mapping function of the policy matrix, It is an aggregated property component;
[0047] Step 4.5. Output offline ciphertext ,
[0048] .
[0049] As a preferred technical solution, step 5 specifically involves the following steps:
[0050] Step 5.1. The data owner retrieves the offline encrypted data. Extracting components ;
[0051] Step 5.2. Construct the secret shared vector If the access policy includes a new sub-policy, then set ,in It is the session key. and All from A randomly selected element; if the access strategy reuses an existing sub-strategy, then set... ,in, It is the session key that is compatible with the current encryption. It is a sub-strategy parameter of the history buffer;
[0052] Step 5.3. Calculate the actual number of valid rows for the access strategy matrix M. , For each row Generate the corresponding secret share ;
[0053] Step 5.4. Based on the secret share Plain text message Incremental adjustments are made to the offline encrypted component, and calculations are performed. This enables the encryption embedding of plaintext, binding attributes and secret shares. , If sub-policy reuse exists, compute the reuse calibration component. ,in It is the random number currently selected for encryption. It is the random number stored when the historical reuse sub-policy is encrypted;
[0054] Step 5.5. Output the final ciphertext. ,
[0055] There is no sub-policy reuse.
[0056] Sub-policy reuse exists. .
[0057] As a preferred technical solution, step 6 specifically involves the data user inputting a private key. Auxiliary decryption key and ciphertext Perform the following steps:
[0058] Step 6.1. Validate the attribute set of the data user. Does it satisfy the access policy embedded in the ciphertext? If the condition is not met, output "Decryption failed"; otherwise, continue.
[0059] Step 6.2. Process the sub-policy, which is divided into initial decryption and reuse decryption. The sub-policy is decrypted for the first time to identify the sub-policy in the ciphertext. And determine the set of attribute rows that satisfy the sub-strategy. Solving coefficients based on linear secret sharing Make Established, among which It is the sub-policy matrix. It is the number of columns in the sub-policy matrix; calculate the decryption components of the two core sub-policy components. and , , The sub-policy start line in the ciphertext Offset from selected sub-policy The attribute corresponding to the position is bound to the ciphertext component. User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation components, , It is in the ciphertext at the beginning of the sub-policy line Add sub-policy offset Does the corresponding attribute bind the encrypted component? User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation component; storage sub-strategy parameters For future reuse It is the unique identifier of the sub-strategy;
[0060] If the sub-policy is reused and decrypted, the corresponding historical parameters for that sub-policy are retrieved from storage. Combined with the sub-policy reuse component in the ciphertext Calculate the calibrated current sub-policy component ;
[0061] Step 6.3. Normalize sub-policies
[0062] Based on the original access policy matrix Construct a new matrix and new property mapping The coefficients are solved again through linear secret sharing. , making Established, It is the set of rows that satisfy the main policy. It is the row number of the main strategy matrix. It is a new matrix The number of columns;
[0063] Step 6.4. Based on the transformed access strategy and the obtained sub-strategy components, compute the attribute validation component. Complete the final verification of attribute matching and user slot validity;
[0064] The attribute verification component for:
[0065]
[0066] In the formula, User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation components;
[0067] The for:
[0068]
[0069] The property validation component utilizes the operational characteristics of bilinear pairing. and Combined, the encryption masking layer of the ciphertext is removed, and the plaintext msg is recovered.
[0070] The beneficial effects of this invention are as follows:
[0071] This invention uses a dynamic registration management model, where the key generation center does not hold user keys or secret information, fundamentally eliminating the risk of key escrow. Users generate their own key components, ensuring the confidentiality and independence of the keys.
[0072] This invention introduces an online and offline encryption mechanism, which decomposes the encryption process into pre-computation and real-time synthesis, reducing the real-time burden on IoT devices. Most of the computationally intensive operations are completed in the offline stage, while only lightweight synthesis is required in the online stage, significantly reducing computational overhead.
[0073] This invention addresses the characteristic of data in cloud IoT systems, where data is often encrypted with access policies containing the same sub-policies. By employing a decryption computation reuse mechanism, it significantly improves decryption efficiency. Stored sub-policy parameters can be directly reused in subsequent decryptions, reducing redundant calculations, alleviating CPU load, and significantly improving overall operating efficiency.
[0074] This invention integrates multiple user keys into a unified master public key through slot aggregation and attribute aggregation, simplifying system management, reducing communication and computing overhead, and enhancing system scalability. Attached Figure Description
[0075] Figure 1 This is a flowchart illustrating the efficient and secure attribute-based access control method for cloud IoT according to the present invention.
[0076] Figure 2 This is a system architecture diagram of the efficient and secure attribute-based access control method for cloud IoT proposed in this invention. Detailed Implementation
[0077] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments, but the present invention is not limited to the following embodiments.
[0078] exist Figure 1 , 2 The efficient security attribute-based access control method for cloud IoT in this embodiment includes the following steps:
[0079] Step 1. Generate a common reference string
[0080] Input security parameters Size of the complete set of attributes The number of slots L, representing the number of users, is used to generate a common reference string through a common reference string generator. And output,
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088] In the formula, and It is a prime number. Multiplication cyclic group It is a group generator, It is a bilinear pairing operation. All from The random number selected from the data. User i, attribute The corresponding original attribute public key component, It is user j, attribute The corresponding original attribute public key component, For model The multiplication group;
[0089] Step 2. Generate user key
[0090] user Select secret value As a private key and generate a portion of public key components. And another part of the public key components required for cross-slot collaboration , , From The random number selected from the data. Obtain the public key It is then output, and the user retains the private key. ;
[0091] Step 3. The key manager executes the aggregation protocol to aggregate all users' public keys into the master public key. And generate an auxiliary decryption key. The specific operation is as follows:
[0092] Step 3.1. The key manager obtains the slot aggregation public key according to the following formula. ,
[0093]
[0094] Aggregate all other users according to the following formula. i-generated cross-slot collaboration public key component ,
[0095]
[0096] in, User For users The public key component required for the generated cross-slot collaboration, , For users The private key;
[0097] Step 3.2. The key manager for each attribute Aggregate all those having the following formula User attributes Attribute components Thus obtain Aggregate property component ,
[0098] ,
[0099] In the formula, Let j be the set of attributes for user j;
[0100] For each user Aggregator users Combining user j's attributes Parameter-generated cross-slot elimination component Get users For attributes Cross-slot aggregation components , ;
[0101] Step 3.3. The key manager outputs the master public key. and auxiliary decryption key .
[0102] Step 4. The data owner enters the master public key. The offline encryption algorithm is executed to generate offline ciphertext and output it. The specific operations are as follows:
[0103] Step 4.1. The data owner enters the master public key. Randomly select session key As a random parameter for encryption;
[0104] Step 4.2. Randomly select elements According to public components Generate split components , , , ,make ;
[0105] Step 4.3. For the maximum number of rows in the access strategy matrix ,from arrive Randomly select parameters for each row. ;
[0106] Step 4.4. Generate various offline ciphertext components , , , ;
[0107]
[0108]
[0109] ,
[0110]
[0111] In the formula, For accessing the attribute mapping function of the policy matrix, It is an aggregated property component;
[0112] Step 4.5. Output offline ciphertext ,
[0113] .
[0114] Step 5. The data owner enters the master public key. The online encryption algorithm is executed, and the final ciphertext is generated by combining the access policy, offline ciphertext, and plaintext message. The specific operation is as follows:
[0115] Step 5.1. The data owner retrieves the offline encrypted data. Extracting components ;
[0116] Step 5.2. Construct the secret shared vector If the access policy includes a new sub-policy, then set ,in It is the session key. and All from A randomly selected element; if the access strategy reuses an existing sub-strategy, then set... ,in, It is the session key that is compatible with the current encryption. It is a sub-strategy parameter of the history buffer;
[0117] Step 5.3. Calculate the actual number of valid rows for the access strategy matrix M. , For each row Generate the corresponding secret share ;
[0118] Step 5.4. Based on the secret share Plain text message Incremental adjustments are made to the offline encrypted component, and calculations are performed. This enables the encryption embedding of plaintext, binding attributes and secret shares. , If sub-policy reuse exists, compute the reuse calibration component. ,in It is the random number currently selected for encryption. It is the random number stored when the historical reuse sub-policy is encrypted;
[0119] Step 5.5. Output the final ciphertext. ,
[0120] There is no sub-policy reuse.
[0121] Sub-policy reuse exists. .
[0122] Step 6. The data user executes the decryption algorithm, using the private key and auxiliary decryption key to decrypt the ciphertext. Specifically, the data user enters the private key. Auxiliary decryption key and ciphertext Perform the following steps:
[0123] Step 6.1. Validate the attribute set of the data user. Does it satisfy the access policy embedded in the ciphertext? If the condition is not met, output "Decryption failed"; otherwise, continue.
[0124] Step 6.2. Process the sub-policy, which is divided into initial decryption and reuse decryption. The sub-policy is decrypted for the first time to identify the sub-policy in the ciphertext. And determine the set of attribute rows that satisfy the sub-strategy. Solving coefficients based on linear secret sharing Make Established, among which It is the sub-policy matrix. It is the number of columns in the sub-policy matrix; calculate the decryption components of the two core sub-policy components. and , , The sub-policy start line in the ciphertext Offset from selected sub-policy The attribute corresponding to the position is bound to the ciphertext component. User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation components, , It is in the ciphertext at the beginning of the sub-policy line Add sub-policy offset The corresponding attribute is bound to the ciphertext component. User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation component; storage sub-strategy parameters For future reuse It is the unique identifier of the sub-strategy;
[0125] If the sub-policy is reused and decrypted, the corresponding historical parameters for that sub-policy are retrieved from storage. Combined with the sub-policy reuse component in the ciphertext Calculate the calibrated current sub-policy component ;
[0126] Step 6.3. Normalize sub-policies
[0127] Based on the original access policy matrix Construct a new matrix and new property mapping The coefficients are solved again through linear secret sharing. , making Established, It is the set of rows that satisfy the main policy. It is the row number of the main strategy matrix. It is a new matrix The number of columns;
[0128] Step 6.4. Based on the transformed access strategy and the obtained sub-strategy components, compute the attribute validation component. Attribute validation component Used to integrate sub-policy components and main policy attribute components, verifying that user attributes fully match the transformed access policy, and completing the final verification of attribute matching and user slot validity.
[0129] The attribute verification component for:
[0130]
[0131] In the formula, User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation components;
[0132] The for:
[0133]
[0134] The property validation component utilizes the operational characteristics of bilinear pairing. and Combined, the encryption masking layer of the ciphertext is removed, and the plaintext msg is recovered.
Claims
1. A highly efficient and secure attribute-based access control method for cloud IoT, characterized in that, Includes the following steps: Step 1. Enter security parameters Size of the complete set of attributes The number of slots L, representing the number of users, is used to generate a common reference string through a common reference string generator. And output, In the formula, and It is a prime number. Multiplication cyclic group It is a group generator, It is a bilinear pairing operation. , All from The random number selected from the data. User i, attribute The corresponding original attribute public key component, It is user j, attribute The corresponding original attribute public key component, For model The multiplication group; Step 2. Generate user key user Select secret value As a private key and generate a portion of public key components. And another part of the public key components required for cross-slot collaboration , , From The random number selected from the data. Obtain the public key It is then output, and the user retains the private key. ; Step 3. The key manager executes the aggregation protocol to aggregate all users' public keys into the master public key. And generate an auxiliary decryption key. ; Step 4. The data owner enters the master public key. Execute the offline encryption algorithm to generate offline ciphertext and output it; Step 5. The data owner enters the master public key. It executes an online encryption algorithm, combining the access policy, offline ciphertext, and plaintext message to generate the final ciphertext; Step 6. The data user executes the decryption algorithm, using the private key and auxiliary decryption key to decrypt the ciphertext.
2. The efficient security attribute-based access control method for cloud IoT according to claim 1, characterized in that, The specific operation of step 3 is as follows: Step 3.
1. The key manager obtains the slot aggregation public key according to the following formula. , Aggregate all other users according to the following formula. i-generated cross-slot collaboration public key component , in, User For users The public key component required for the generated cross-slot collaboration, , For users The private key; Step 3.
2. The key manager for each attribute Aggregate all those having the following formula User attributes Attribute components Thus obtain Aggregate property component , , In the formula, Let j be the set of attributes for user j; For each user Aggregator users Combining user j's attributes Parameter-generated cross-slot elimination component Get users For attributes Cross-slot aggregation components , ; Step 3.
3. The key manager outputs the master public key. and auxiliary decryption key .
3. The efficient security attribute-based access control method for cloud IoT according to claim 2, characterized in that, The specific operation of step 4 is as follows: Step 4.
1. The data owner enters the master public key. Randomly select session key As a random parameter for encryption; Step 4.
2. Randomly select elements According to public components Generate split components , , , ,make ; Step 4.
3. For the maximum number of rows in the access strategy matrix ,from arrive Randomly select parameters for each row. ; Step 4.
4. Generate various offline ciphertext components , , , ; , In the formula, For accessing the attribute mapping function of the policy matrix, It is an aggregated property component; Step 4.
5. Output offline ciphertext , 。 4. The efficient security attribute-based access control method for cloud IoT according to claim 3, characterized in that, The specific operation of step 5 is as follows: Step 5.
1. The data owner retrieves the offline encrypted data. Extracting components ; Step 5.
2. Construct the secret shared vector If the access policy includes a new sub-policy, then set ,in It is the session key. and All from The element is randomly selected from the data; If the access policy reuses an existing sub-policy, then set ,in, It is the session key that is compatible with the current encryption. It is a sub-strategy parameter of the history buffer; Step 5.
3. Calculate the actual number of valid rows for the access strategy matrix M. , For each row Generate the corresponding secret share ; Step 5.
4. Based on the secret share Plain text message Incremental adjustments are made to the offline encrypted component, and calculations are performed. This enables the encryption embedding of plaintext, binding attributes and secret shares. , If sub-policy reuse exists, compute the reuse calibration component. ,in It is the random number currently selected for encryption. It is the random number stored when the historical reuse sub-policy is encrypted; Step 5.
5. Output the final ciphertext. , There is no sub-policy reuse. Sub-policy reuse exists. .
5. The efficient security attribute-based access control method for cloud IoT according to claim 4, characterized in that, The specific operation of step 6 is as follows: the data user inputs the private key. Auxiliary decryption key and ciphertext Perform the following steps: Step 6.
1. Validate the attribute set of the data user. Does it satisfy the access policy embedded in the ciphertext? If the conditions are not met, output "Decryption failed". Otherwise, continue; Step 6.
2. Process the sub-policy, which is divided into initial decryption and reuse decryption. The sub-policy is decrypted for the first time to identify the sub-policy in the ciphertext. And determine the set of attribute rows that satisfy the sub-strategy. Solving coefficients based on linear secret sharing Make Established, among which It is the sub-policy matrix. It is the column number of the sub-strategy matrix; Calculate the decryption components of the two core sub-policies and , , The sub-policy start line in the ciphertext Offset from selected sub-policy The attribute corresponding to the position is bound to the ciphertext component. User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation components, , It is in the ciphertext at the beginning of the sub-policy line Add sub-policy offset Does the corresponding attribute bind the encrypted component? User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation component; storage sub-strategy parameters For future reuse It is the unique identifier of the sub-strategy; If the sub-policy is reused and decrypted, the corresponding historical parameters for that sub-policy are retrieved from storage. Combined with the sub-policy reuse component in the ciphertext Calculate the calibrated current sub-policy component ; Step 6.
3. Normalize sub-policies Based on the original access policy matrix Construct a new matrix and new property mapping The coefficients are solved again through linear secret sharing. , making Established, It is the set of rows that satisfy the main policy. It is the row number of the main strategy matrix. It is a new matrix The number of columns; Step 6.
4. Based on the transformed access strategy and the obtained sub-strategy components, compute the attribute validation component. Complete the final verification of attribute matching and user slot validity; The attribute verification component for: In the formula, User In sub-strategy In Attributes corresponding to the position Cross-slot aggregation components; The for: The property validation component utilizes the operational characteristics of bilinear pairing. and Combined, the encryption masking layer of the ciphertext is removed, and the plaintext msg is recovered.