Revokeable access control method based on cloud-edge collaboration
By employing encrypted policy attribute encryption and blockchain technology in the edge-cloud model, efficient and secure access control is achieved, solving the problems of data insecurity and low access control efficiency in existing technologies, and ensuring fine-grained management of data privacy and access permissions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-18
- Publication Date
- 2026-04-07
AI Technical Summary
Existing access control methods in the edge-cloud model suffer from data insecurity and low access control efficiency, making it difficult to meet low-latency service requirements and posing risks of single points of failure and data privacy leaks.
A revocable access control method based on cloud-edge collaboration is adopted. It utilizes encrypted policy attribute encryption and blockchain technology, and outsources some encryption and decryption operations to edge nodes through the end-edge-cloud model. Combined with the decentralized and immutable storage of blockchain, smart contracts are used to check the legality of keys, so as to achieve fine-grained access control and user revocation.
It achieves efficient and secure data access control in the Internet of Things environment, avoids single points of failure, ensures data privacy and supports fine-grained access control, and has traceability and verifiability to prevent malicious users from leaking decryption keys.
Smart Images

Figure CN116545715B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to a cloud data security access method, in particular to a revocable access control method based on cloud-edge collaboration. BACKGROUND
[0002] CN115484095A discloses a fine-grained access control method based on a blockchain in a cloud-edge collaboration environment, which specifically comprises the following steps: an authority center generates an initial partial key and sends the initial partial key to a user and an edge server respectively, and generates a symmetric key and sends the symmetric key to an edge node; the user generates a search trapdoor using the partial key and sends the search trapdoor to a corresponding edge server, recovers a secret value in a consensus network by using a threshold secret sharing technology, and generates a final private key that meets an access policy, thereby protecting the security of the private key. The patent uses an edge server to perform data encryption and decryption and search matching operations, thereby reducing the computing overhead of the user.
[0003] CN115396093A discloses an attribute encryption method with revocation and policy update in edge computing, which adopts an elliptic curve instead of a bilinear pairing operation to avoid the computing overhead caused by the bilinear pairing operation; generates an update key by giving a unique identifier of a user to realize policy update, and binds the identifier and feature attributes by using a public key and a private key generated by different attribute authorization agencies, so that access control on different users or different attributes is dynamic.
[0004] In recent years, with the rapid rise of edge computing, more and more schemes adopt the method of placing part of the computing task on an edge node to meet the requirement of people for low-latency services, but there is still no safe and efficient access control method that can run in an end-edge-cloud model, so it is difficult to meet the requirement of users for low-latency services, and there are also problems such as single-point failure and data privacy leakage. SUMMARY
[0005] The application aims to provide a revocable access control method based on cloud-edge collaboration to solve the problems of data insecurity and low access control efficiency in the existing access control method.
[0006] The application is achieved in the following manner:
[0007] A revocable access control method based on cloud-edge collaboration comprises the following steps:
[0008] S1, system initialization: a blockchain execution system sets and generates a global parameter GP; a data owner sets and generates a public key DPK and a master key DMK of the data owner; and an edge node executes a setting algorithm to output a public key EPK and a master key EMK of the edge node.
[0009] S2, key generation: the user decryption key SK is composed of the data owner's key and the edge node's key.
[0010] S3, data encryption: the data owner first performs partial encryption of the data according to the access policy W and the plaintext information m, generates a partial ciphertext CT', and then the edge node performs secondary encryption on the partial ciphertext CT' to obtain the final ciphertext CT.
[0011] S4, key legality check: when the user requests to access the data, the blockchain performs key legality check on the user decryption key SK, if the check is passed, output 1, and the user can continue to access the data; if the check fails, output 0, and the user is prohibited from accessing the data, and the user's id is added to the revocation list, and the user is revoked.
[0012] S5, ciphertext decryption: the edge node performs semi-decryption on the final ciphertext CT to obtain semi-decrypted ciphertext CT1; the user performs final decryption on the semi-decrypted ciphertext CT1 to obtain the correct plaintext information m.
[0013] S6, ciphertext update: after performing the revocation operation, the final ciphertext CT is updated using the updated revocation list and key, and the updated final ciphertext CT is stored in the cloud.
[0014] Further, the specific manner of step S1 of the present application comprises the following sub-steps:
[0015] S1-1, initialize the system data, generate a linear multiplicative cyclic group (G1, G2) with order as a large prime number p according to a security parameter k; set g as the generator of the linear multiplicative cyclic group G1, and the mapping operation e: G1x G1→ G2; define two hash functions (H, H1): H: {0,1} * → G1, wherein, is a non-zero element of a field; the blockchain generates a global parameter GP;
[0016] S1-2, data owner initialization, input global parameter GP and attribute set A = {1, 2,..., n}; wherein, n is the number of attributes in the attribute set; T is a binary tree, each leaf node in the tree corresponds to a user u, and the depth of the tree is d; select a random number a, a Z p , the data owner selects a symmetric probability encryption scheme (Enc, Dec) with a key of from the field to obtain the data owner's key wherein, a and a are random numbers, is a symmetric encryption key;
[0017] S1-3, for each attribute x e A (1≤x≤|U|), the edge node selects a random number w x e Z p As a private key, calculate: and take it as a public key; wherein x is an attribute in the attribute universe;
[0018] Then the public key of the edge node EPK={w x |1≤x≤|U|}, the master key of the edge node EMK={w x |1≤x≤|U|}; the public key of the edge node EPK is published, while the master key of the edge node EMK is kept secret.
[0019] Further, the specific manner of step S2 of the present application comprises the following sub-steps:
[0020] S2-1, set a partial key corresponding to the user attribute set:
[0021]
[0022] Wherein K', K, L, L', K X are all key parameters, and a, r, t are random numbers;
[0023] S2-2, let path(id)={i0,i1,...,ib d}, wherein i d is the value of the leaf node associated with the user u, and b e Z p is randomly selected,
[0024] And calculate the conversion key TK and the personal key UK:
[0025] TK=(K',K,L,L',{K x} x∈S ,D,E,{x i} i∈path(id) );
[0026] Wherein D and E are both intermediate parameters;
[0027] UK=z;
[0028] Wherein z is a random number;
[0029] S2-3, constitute a complete user decryption key SK:
[0030] SK=(TK,UK).
[0031] Further, the specific manner of step S3 of the present application comprises the following sub-steps:
[0032] S3-1, The data owner inputs the global parameter GP, the plaintext information m, and the access policy (M, ρ);
[0033] The data owner randomly selects a column vector: v = s, v2, v3, ..., v n ∈Z p We obtained a partial encrypted text CT′:
[0034]
[0035] Where C, C0, and C1 are all ciphertext parameters, ρ(i) is the number of attributes, and a and s are both random numbers;
[0036] S3-2. For i∈[1,l], edge nodes are randomly selected k. i ∈Z p Then, the partial ciphertext CT′ is re-encrypted to obtain the final ciphertext CT:
[0037]
[0038] Where C, C0, and C1 are all ciphertext parameters, ρ(i) is the number of attributes, and a and s are both random numbers.
[0039] Furthermore, step S4 of the present invention includes the following sub-steps:
[0040] S4-1 When a user in the Internet of Things (IoT) wants to access data, they first send an access request to the blockchain. When the blockchain receives the user's access request, it first authorizes the contract to determine whether the user is on the revocation list. If not, it checks the key SK. If the user's key SK meets the following checks:
[0041] K′∈Z p ,K,L,L′,K x ,D,E∈G
[0042] e(g,L′)=e(g a L)≠1
[0043]
[0044] If the user passes the key validity check, the algorithm outputs 1; otherwise, the user is considered malicious and the algorithm terminates.
[0045] In the above three detection relationships, K′, K, L, L′, K X All are key parameters, D and E are intermediate parameters, e is a bilinear mapping, g is the generator of the linear multiplicative cyclic groups G1 and G2, and A x Let x be the xth attribute in the set of attributes.
[0046] The revocation contract in the S4-2 blockchain handles anomalous behavior by maintaining a revocation list. It uses the key parameter K′ in the key to search for malicious users in the revocation list; if the value i of the leaf node of user u is output... d This means identifying the user as a malicious user and adding them to the revocation list to prevent them from further accessing data; if the output is... This indicates that the user is not malicious and can continue to access the data.
[0047] Furthermore, step S5 of the present invention includes the following sub-steps:
[0048] S5-1, The edge node receives ciphertext from the cloud service provider and performs partial decryption:
[0049] S5-1-1 Compute node j = cover(R) ∩ path(u); Let path(j) = {i0, i1, ..., i dept(j) ,…,i d}, where i dept(j) =j, therefore
[0050] Where j is a node in the binary tree, cover(R) is the undo list, path(u) is the path of user u, path(j) is the path of node j, and i d It is the value of the leaf node associated with user u. For i d Path value;
[0051] S5-1-2 Order There exists {c i |i∈I}, such that {c i M i =(1 , Therefore, we have 0,…,0)}
[0052] Where I represents a matrix, i is the row number of matrix I, ρ(i) is the number of attributes, and c i For coefficients;
[0053] S5-1-3 calculates the ciphertext parameter K1, ciphertext parameter K′1, ciphertext parameter K″1, and the semi-decrypted ciphertext CT1 according to the following formula:
[0054]
[0055] Where K, C0, and C1 are all ciphertext parameters, g is the generator of the linear multiplication cyclic groups G1 and G2, and a, r, t, and z are all random numbers;
[0056]
[0057]
[0058] Where D and E represent intermediate parameters, For i d Path value;
[0059]
[0060] S5-2, The user decrypts the plaintext information m using their personal key UK:
[0061]
[0062] Where C is the ciphertext parameter and z is a random number.
[0063] Furthermore, the method for updating the final encrypted CT in step S6 of the present invention is as follows:
[0064] cover(R′) is the smallest covered subset associated with the latest cancellation list; if j′∈cover(R), then there are two cases:
[0065] a. If there exist j∈cover(R) and j=j′, then let T j′ =T j ;
[0066] b. If there exists j∈cover(R) where j is an ancestor node of j′, then assume path(j′)=path(j)∪{i dept(j)+1 ,…,i ddept(j′)}, where i dept(j) =j,i dept(j′) =j′, calculate:
[0067]
[0068] The updated final encrypted CT is:
[0069] CT=<(M,ρ),C,C0,C1,{C i,1 C i,2 C i,3} i∈[1,l] ,{T j′} j′∈cover(R′) >
[0070] This invention addresses the problems of high computational overhead, single point of failure, and privacy leakage faced by attribute-based encryption with ciphertext policy in the Internet of Things (IoT) environment. It proposes a revocable access control method based on cloud-edge collaboration. First, an end-edge-cloud model is designed, and then ciphertext policy attribute-based encryption and blockchain technology are adopted.
[0071] This invention firstly uses an edge-cloud model combined with a blockchain architecture to achieve fine-grained and flexible data security sharing and access control. Some encryption and decryption operations are outsourced to edge nodes to improve the efficiency of the Internet of Things. It utilizes the decentralized and immutable nature of the blockchain network to store public information and uses smart contracts to perform a validity check on the key before the user decrypts the ciphertext to ensure privacy and security, and enables user revocation. Finally, it satisfies the data security access control objective through an adversary simulation game proof scheme.
[0072] This invention achieves fine-grained access control by designing an edge-cloud model, employing encrypted policy attribute-based encryption and blockchain technology. To avoid single points of failure caused by a single attribute management institution, the storage and computing capabilities of the blockchain are integrated, making access history traceable and verifiable, thus forming an attribute management trust mechanism. To prevent malicious users from leaking decryption keys, a smart contract is used to check the correctness of the decryption keys and bind the decryption keys to user identities. In the event of a decryption key leak, the user's identity can be exposed from the decryption key, thereby identifying malicious users and revoking their accounts. Through security analysis and experimental comparison, the security and feasibility of this invention are verified, achieving fine-grained access control while protecting data privacy. Attached Figure Description
[0073] Figure 1 This is a system model diagram of the present invention.
[0074] Figure 2 This is the algorithm flowchart of the present invention.
[0075] Figure 3 This is a comparison chart of key generation times.
[0076] Figure 4 This is a comparison chart of encryption times.
[0077] Figure 5 This is a comparison chart of decryption times. Detailed Implementation
[0078] The invention will now be described in further detail with reference to the accompanying drawings.
[0079] like Figure 1As shown, the system model of this invention comprises users, data owners (DOs), a blockchain, edge nodes (ENs), and cloud service providers (CSPs). In this system model, users can access encrypted data in the Internet of Things (IoT). Only users whose attributes, not on the revocation list and whose attributes meet the access policy after passing the decryption key validity check, can correctly decrypt the data using the key according to the decryption algorithm to obtain the plaintext. Data owners need to outsource data to IoT devices stored in the cloud. Data owners also set attribute-based access policies and encrypt messages according to these policies. The blockchain maintains a transparent and tamper-proof structure, performs the duties of an attribute management agency in managing user attributes, and stores global parameters related to the revocation list. The blockchain uses authorization contracts and revocation contracts to ensure the correct and secure execution of access control and revocation functions. Edge nodes are not fully trusted entities, located close to IoT devices and data users, participating in parts of the outsourced encryption and decryption process. Cloud service providers are semi-trusted entities, storing encrypted files uploaded by IoT devices, providing data storage and other authorized services, and may potentially eavesdrop on information during the process.
[0080] like Figure 2 As shown, the access control method (algorithm) of the present invention includes the following steps:
[0081] S1. System Initialization (Setup): The blockchain performs system setup and generates global parameters GP; the data owner performs settings, generating the data owner's public key DPK and master key DMK; edge nodes execute the setup algorithm and output the edge node's public key EPK and master key EMK; specifically including the following steps:
[0082] S1-1. Initialize the system data and generate a linear multiplicative cyclic group (G1, G2) of order p with a large prime number based on the security parameter k; set g as the generator of the linear multiplicative cyclic group G1, and perform the mapping operation e: G1 × G1 → G2; define two hash functions (H, H1): H: {0, 1} * →G1, in, For a non-zero element field; the blockchain generates a global parameter GP.
[0083] S1-2. Data owner initialization: Input global parameter GP and attribute set A = {1, 2, ..., n}; where n is the number of attributes in the attribute set; T is a binary tree, where each leaf node corresponds to a user u, and the tree depth is d; select a random number α, a ∈ Z. p The data owner selects a key from {0,1}. Symmetric probabilistic encryption schemes (Enc, Dec) to domain Obtain the data owner's key Where α, a are random numbers. It is a symmetric encryption key;
[0084] S1-3. For each attribute x∈A (1≤x≤|U|), the edge node selects a random number w. x ∈Z p As the private key, calculate: And use it as the public key; where x is an attribute in the set of attributes;
[0085] Then the public key EPK of the edge node = {W x |1≤x≤|U|}, the master key of the edge node is EMK={w x |1≤x≤|U|};
[0086] The public key EPK of the edge node is published, while the master key EMK of the edge node is kept secret.
[0087] S2. Private Key Generation: The user decryption key SK is composed of the data owner's key and the edge node's key. This process includes the following steps:
[0088] S2-1. Set a partial key corresponding to the user attribute set:
[0089]
[0090] Among them, K′, K, L, L′, K X All of these are key parameters, and a, r, and t are random numbers.
[0091] S2-2. Let path(id)={i0,i1,...,i d}, where i d It is the value of the leaf node associated with user u, randomly selected from b∈Z. p ,
[0092] And calculate the conversion key TK and personal key UK:
[0093] TK=(K′,K,L,L′,{K x} x∈S ,D,E,{x i} i∈path(id) );
[0094] Where D and E are both intermediate parameters;
[0095] UK = z;
[0096] Where z is a random number.
[0097] S2-3, Constructing the complete user decryption key SK:
[0098] SK = (TK, UK).
[0099] S3. Data Encryption: The data owner first performs partial encryption of the data according to the access policy W and the plaintext information m, generating a partial ciphertext CT′. Then, the edge nodes perform secondary encryption on the partial ciphertext CT′ to obtain the final ciphertext CT. Specifically, this includes the following steps:
[0100] S3-1, The data owner inputs the global parameter GP, the plaintext information m, and the access policy (M, ρ);
[0101] The data owner randomly selects a column vector: v = s, v2, v3, ..., v n ∈Z p We obtained a partial encrypted text CT′:
[0102]
[0103] Where C, C0, and C1 are all ciphertext parameters, ρ(i) is the number of attributes, and a and s are both random numbers.
[0104] S3-2. For i∈[1,l], edge nodes are randomly selected k. i ∈Z p Then, the partial ciphertext CT′ is re-encrypted to obtain the final ciphertext CT:
[0105]
[0106] Where C, C0, and C1 are all ciphertext parameters, ρ(i) is the number of attributes, and a and s are both random numbers.
[0107] S4. Key Validity Detection: When a user requests access to data, the blockchain performs a key validity check on the user's decryption key SK. If the check passes, it outputs 1, and the user can continue to access the data; if the check fails, it outputs 0, and the user is prohibited from accessing the data. The user's ID is added to the revocation list, and the user's access is revoked. The specific method includes the following steps:
[0108] S4-1 When a user in the Internet of Things (IoT) wants to access data, they first send an access request to the blockchain. When the blockchain receives the user's access request, it first authorizes the contract to determine whether the user is on the revocation list. If not, it checks the key SK. If the user's key SK meets the following checks:
[0109] K′∈Z p ,K,L,L′,K x ,D,E∈G
[0110] e(g,L′)=e(g a L)≠1
[0111]
[0112] If the user passes the key validity check, the algorithm outputs 1; otherwise, the user is considered malicious and the algorithm terminates.
[0113] In the above three detection relationships, K′, K, L, L′, K X All are key parameters, D and E are intermediate parameters, e is a bilinear mapping, g is the generator of the linear multiplicative cyclic groups G1 and G2, and A x Let x be the xth attribute in the set of attributes.
[0114] The revocation contract in the S4-2 blockchain handles anomalous behavior by maintaining a revocation list. It uses the key parameter K′ in the key to search for malicious users in the revocation list; if the value i of the leaf node of user u is output... d This means identifying the user as a malicious user and adding them to the revocation list to prevent them from further accessing data; if the output is... This indicates that the user is not malicious and can continue to access the data.
[0115] The authorization contract can determine whether further access to information is permitted based on the address's key value, as follows:
[0116]
[0117] S5. Ciphertext Decryption: The edge node performs partial decryption on the final ciphertext CT to obtain the partially decrypted ciphertext CT1; the user then performs final decryption on the partially decrypted ciphertext CT1 to obtain the correct plaintext information m. The specific method includes the following steps:
[0118] S5-1, The edge node receives ciphertext from the cloud service provider and performs partial decryption:
[0119] S5-1-1 Compute node j = cover(R) ∩ path(u); Let path(j) = {i0, i1, ..., i dept(j) ,...,i d}, where i dept(j) =j, therefore
[0120] Where j is a node in the binary tree, cover(R) is the undo list, path(u) is the path of user u, path(j) is the path of node j, and i d It is the value of the leaf node associated with user u. For i d The path value.
[0121] S5-1-2 Order There exists {c i |i∈I}, such that {c i M i = (1,0,...,0)}, therefore we have
[0122] Where I represents a matrix, i is the row number of matrix I, ρ(i) is the number of attributes, and c i For coefficients;
[0123] S5-1-3 calculates the ciphertext parameter K1, ciphertext parameter K′1, ciphertext parameter K″1, and the semi-decrypted ciphertext CT1 according to the following formula:
[0124]
[0125] Where K, C0, and C1 are all ciphertext parameters, g is the generator of the linear multiplication cyclic groups G1 and G2, and a, r, t, and z are all random numbers;
[0126]
[0127]
[0128] Where D and E represent intermediate parameters, For i d Path value;
[0129]
[0130] S5-2, The user decrypts the plaintext information m using their personal key UK:
[0131]
[0132] Where C is the ciphertext parameter and z is a random number.
[0133] S6. Ciphertext Update: After performing the undo operation, the final ciphertext CT is updated using the updated undo list and key, and the updated final ciphertext CT is stored in the cloud. The update method for the final ciphertext CT is as follows:
[0134] cover(R′) is the smallest covered subset associated with the latest cancellation list. If j′∈cover(R), then there are two cases:
[0135] a. If there exist j∈cover(R) and j=j′, then let T j′ =T j .
[0136] b. If there exists j∈cover(R) where j is an ancestor node of j′, then assume path(j′)=path(j)∪{i dept(j)+1 ,...,i ddept(j′)}, where i dept(j) =j,i dept(j′) =j′, calculate:
[0137]
[0138] Therefore, the updated ciphertext is:
[0139] CT=<(M,ρ),C,C0,C1,{C i,1 C i,2 C i,3} i∈[1,l] ,{T j′} j′∈cover(R′) >
[0140] This invention analyzes data protection by providing access policies at various levels, enabling fine-grained access control. Even if a user conflicts with other users, cloud data access is restricted according to the defined access policies. The proposed architecture ensures data is protected from unauthorized users because it only allows users to decrypt data if they possess sufficient attributes. If a user is revoked from the system, they cannot access the data; this invention achieves this using an immediate attribute revocation process. Another potential attack comes from cloud servers or edge node servers, which may share information for profit. In this invention, during user registration, the user key consists of a personal key (UK) and a transformation key (TK). A single key cannot decrypt data, thus achieving data protection.
[0141] Security against collusion attacks: The architecture proposed in this invention avoids collision attacks, a key security requirement of the ABE algorithm. If multiple users collaborate, they can decrypt ciphertext through the link attribute. Therefore, to prevent such attacks, edge node servers and cloud servers cannot cooperate with the revoked user in any way. Furthermore, users use unique random values to generate keys; in the event of a collusion attack, the attacker cannot perform the decryption process until they obtain the user's random value.
[0142] Backward and forward security: Backward security means that if a new user joins, they cannot access previously accessed data. Forward security restricts revoked users' access to data outsourced to the cloud unless the user meets access policies for other valid attributes. The proposed scheme achieves backward and forward security by using an instant user revocation process. If a user relinquishes or updates attributes in the group, a re-encryption process is deployed using a new key, and the generated key is then shared with all relevant users.
[0143] Performance analysis of this invention: The experimental environment was a laptop computer with an Intel Core i5 CPU and 16GB DDR3 RAM, running Ubuntu 18.06. Programming was performed using Python 3 and the PYPBC (Python Pairing-Based Crypto Library) function library. The smart contracts in the Ethereum blockchain were written in Solidity and called via a Python interface. The hash function used was SHA-256, the symmetric encryption algorithm was AES-CBC, and the key was 128 bits. All results in the experiment are the average of 20 results.
[0144] Table 1 compares the functionality of this invention with other solutions in terms of whether encryption is outsourced, whether decryption is outsourced, whether user revocation is possible, whether privacy protection is achieved, and whether a trusted institution is involved.
[0145] Table 1. Functional Comparison of Different Solutions
[0146]
[0147] Among them, Rabaninejad et al.'s scheme proposes attribute-based public auditing of data in cloud storage, using a unique public key to verify integrity without disclosing any identity information, and achieving revocation through proxy resignation. However, the data owner performing all encryption and decryption operations leads to high computational overhead. Raj et al.'s scheme introduces a trusted third-party encryption server to generate keys for encrypted data, perform encryption and decryption functions, and achieve user revocation, but it cannot resist collusion attacks between physical machines. Ziegler et al.'s scheme achieves traceability and revocation of malicious users and protects data privacy, but has a single point of failure problem. He et al.'s scheme uses collaborative decryption to reduce overhead and builds a multi-authorization model to solve the key management problem, but the introduction of a private chain does not increase the security of the architecture. Only this invention constructs a trusted environment through the Ethereum blockchain, achieving traceability and immediate revocation of malicious users, and this invention supports edge computing, improving response speed.
[0148] (1) Gas Consumption Assessment: Table 2 shows the amount of gas consumed by the present invention in performing blockchain operations. Normally, gas consumption ranges from tens of thousands to hundreds of thousands of kilobytes. From Table 2, it can be concluded that the gas consumption of the blockchain in this invention is relatively small and falls within the normal range.
[0149] Table 2. Gas consumption for different blockchain operations
[0150]
[0151] (2) Access control efficiency evaluation: The Ziegler et al. and He et al. schemes, which also use the ciphertext policy attribute base encryption method, were selected for access control efficiency evaluation. The computational overhead of them in key generation, encryption and decryption is compared in Table 3.
[0152] Table 3. Comparison of computational costs
[0153]
[0154] Key generation time comparison, such as Figure 3 As shown. The Ziegler et al. scheme utilizes BLS short signatures to distribute keys across multiple authorization centers, thus achieving high efficiency. In this invention, to ensure the security of user privacy data, the user key consists of two parts, resulting in relatively higher overhead.
[0155] Figure 4 The time taken by several schemes to encrypt messages for the data owner was compared. As can be seen from the figure, the efficiency of this invention is significantly higher than the other two schemes. Although the Ziegler et al. scheme uses a dedicated agent to perform some computationally expensive operations, its overhead is still higher than that of this invention. The He et al. scheme utilizes the LSSS access structure to improve efficiency. Because IoT devices are resource-constrained devices, to maintain better performance, they need to perform less computation. Therefore, this invention divides the encryption operation into two parts, with the user only needing to execute the lightweight part.
[0156] Decryption time, such as Figure 5 As shown, the Ziegler et al. scheme has high overhead, while the He et al. scheme and this invention have relatively low overhead, which does not increase significantly with the increase in the number of attributes and remains basically constant. The He et al. scheme completes collaborative decryption by passing messages through a private chain within the group. This invention outsources the complex decryption operation to edge nodes.
Claims
1. A revocable access control method based on cloud-edge collaboration, characterized in that, Includes the following steps: S1. System Initialization: The blockchain executes system settings and generates global parameters GP; The data owner sets up the data and generates the data owner's public key DPK and master key DMK; the edge node executes the setup algorithm and outputs the edge node's public key EPK and master key EMK; S2, Key Generation: The user decryption key SK is composed of the data owner's key and the edge node's key; S3. Data Encryption: The data owner first performs partial encryption of the data according to the access policy W and the plaintext information m, generating partial ciphertext. Then the edge nodes partially ciphertext A second encryption is performed to obtain the final ciphertext CT; S4. Key Validity Check: When a user requests access to data, the blockchain decrypts the user's key. Perform a key validity check. If the check passes, output the following: And the user is able to continue accessing the data; If the check fails, output Furthermore, the user is prohibited from accessing data, and the user's account is... Add to the undo list and undo the operation for this user; S5. Data Decryption: Edge nodes perform partial decryption on the final ciphertext CT to obtain the partially decrypted ciphertext. The user decrypted the ciphertext. Perform the final decryption to obtain the correct plaintext information m; S6. Ciphertext Update: After the revocation operation is performed, the final ciphertext CT is updated using the updated revocation list and key, and the updated final ciphertext CT is stored in the cloud. Step S1 includes the following sub-steps: S1-1. Initialize the system data and generate linear multiplicative cyclic groups (G1, G2) of order p with a large prime number based on the security parameter k; set g as the generator of the linear multiplicative cyclic group G1, and perform mapping operations. Define two hash functions (H, H1): , ;in, For a non-zero element field; the blockchain generates a global parameter GP; S1-2, Data owner initialization: Input global parameter GP and attribute set. Where n is the number of attributes in the attribute set; T is a binary tree, where each leaf node corresponds to a user u, and the depth of the tree is d; select random numbers. The data owner selects a key from {0,1}. Symmetric probabilistic encryption schemes to the domain Obtain the data owner's key ;in, It is a random number. It is a symmetric encryption key; S1-3, For each attribute The edge node selects a random number. As the private key, calculate: And use it as the public key; where x is an attribute in the set of attributes; Then the public key of the edge node The master key of the edge node The public key EPK of the edge node is published, while the master key EMK of the edge node is kept secret.
2. The revocable access control method based on cloud-edge collaboration according to claim 1, characterized in that, Step S2 includes the following sub-steps: S2-1. Set a partial key corresponding to the user attribute set: ; in, K, L, , All of these are key parameters, where a, r, and t are random numbers; S2-2, Order ,in, It is with users The values of the associated leaf nodes are randomly selected. And calculate the conversion key TK and personal key UK: ; Where D and E are both intermediate parameters; ; Where z is a random number; S2-3, Constructing the complete user decryption key SK: 。 3. The revocable access control method based on cloud-edge collaboration according to claim 1, characterized in that, Step S3 specifically includes the following sub-steps: S3-1, Data owner inputs global parameters Plaintext information and access policies ; The data owner randomly selects a column vector: Part of the ciphertext was obtained. : ; Among them, C, , All parameters are encrypted. The number of attributes is denoted by 'a' and 's', where 'a' and 's' are both S3-2, For Edge nodes are randomly selected. Then, for part of the ciphertext Perform re-encryption to obtain the final ciphertext. : ; Among them, C, , All parameters are encrypted. represents the number of attributes, where a and s are both random numbers.
4. The revocable access control method based on cloud-edge collaboration according to claim 1, characterized in that, Step S4 specifically includes the following sub-steps: S4-1 When a user in the Internet of Things (IoT) wants to access data, they first send an access request to the blockchain. When the blockchain receives the user's access request, it first authorizes the contract to determine whether the user is on the revocation list. If not, it then processes the key. Perform an inspection; if the user key Meets the following tests: ; ; ; If the user passes the key validity check, the algorithm outputs 1; otherwise, the user is considered malicious and the algorithm terminates. In the three detection relationships mentioned above, K, L, , All are key parameters, D and E are intermediate parameters, e is a bilinear mapping, and g is a generator of groups G1 and G2. The x-th attribute in the set of attributes; In the S4-2 blockchain, the revocation contract handles anomalous behavior in the system by maintaining a revocation list, using key parameters from the key. Search the revocation list for malicious users; if the user is found... The value of the leaf node This means identifying the user as a malicious user and adding them to the revocation list to prevent them from further accessing data; if the output is... If the result is positive, it means the user is not malicious and can continue to access the data.
5. The revocable access control method based on cloud-edge collaboration according to claim 1, characterized in that, Step S5 specifically includes the following sub-steps: S5-1, The edge node receives ciphertext from the cloud service provider and performs partial decryption: S5-1-1 Computing Node ;make ,in, ,have to ; Where j is a node in the binary tree. To remove the list, For user u's path, The path to node j, It is with users The value of the associated leaf node, for Path value; S5-1-2 Order ,exist , making Therefore, there is ; Where I represents a matrix, and i is the row number of matrix I. For the number of attributes, For coefficients; S5-1-3 Calculate the ciphertext parameters according to the following formula. ciphertext parameters ciphertext parameters and semi-decrypted ciphertext : ; Among them, K, , All are encrypted parameters, g is the generator of the linear multiplicative cyclic groups G1 and G2, and a, r, t, and z are all random numbers; ; ; Where D and E represent intermediate parameters, for Path value; ; S5-2, The user decrypts the plaintext information m using their personal key UK: ; Where C is the ciphertext parameter and z is a random number.
6. The revocable access control method based on cloud-edge collaboration according to claim 1, characterized in that, The final ciphertext CT in step S6 is updated as follows: the cloud service provider inputs the updated key, the latest revocation list, and the original ciphertext, and then the algorithm outputs the final ciphertext related to the latest revocation list; It is the smallest covered subset associated with the latest cancellation list; Then there are two possibilities: a. If it exists , Then let ; b. If it exists , yes If the ancestor node is , then assume ,in, , ,calculate: ; The updated final encrypted CT is: 。
Citation Information
Patent Citations
Fine-grained access control method based on block chain in cloud edge collaborative environment
CN115484095A
Strategy-hidden attribute-based encryption method and system capable of tracking and cancelling malicious users
CN110457930A
Revocable access control method for fog-based intelligent power grid system
CN110611571A