Abstract
Recently, with the increasing application of the Internet of Things (IoT), various IoT environments such as smart factories, smart homes, and smart grids are being generated. In the IoT environment, a lot of data are generated in real time, and the generated IoT data can be used as source data for various services such as artificial intelligence, remote medical care, and finance, and can also be used for purposes such as electricity bill generation. Therefore, data access control is required to grant access rights to various data users in the IoT environment who need such IoT data. In addition, IoT data contain sensitive information such as personal information, so privacy protection is also essential. Ciphertext-policy attribute-based encryption (CP-ABE) technology has been utilized to address these requirements. Furthermore, system structures applying blockchains with CP-ABE are being studied to prevent bottlenecks and single failures of cloud servers, as well as to support data auditing. However, these systems do not stipulate authentication and key agreement to ensure the security of the data transmission process and data outsourcing. Accordingly, we propose a data access control and key agreement scheme using CP-ABE to ensure data security in a blockchain-based system. In addition, we propose a system that can provide data nonrepudiation, data accountability, and data verification functions by utilizing blockchains. Both formal and informal security verifications are performed to demonstrate the security of the proposed system. We also compare the security, functional aspects, and computational and communication costs of previous systems. Furthermore, we perform cryptographic calculations to analyze the system in practical terms. As a result, our proposed protocol is safer against attacks such as guessing attacks and tracing attacks than other protocols, and can provide mutual authentication and key agreement functions. In addition, the proposed protocol is more efficient than other protocols, so it can be applied to practical IoT environments.
Keywords: IoT data; CP-ABE; data validation; data nonrepudiation, data accountability; security; authentication
1. Introduction
As IoT devices are deployed in various environments such as houses, farms, factories, and grids, the development and spread of smart cities such as smart homes, smart factories, and smart grids continues. As the amount of data generated and collected by IoT devices increases exponentially, it is predicted that the total amount of data generated annually by 2024 will reach 149 ZB [1]. IoT data are used as source data for services related to finance, medical care, artificial intelligence, and electricity bills.
Data access control technology that can provide IoT data to data users (e.g., managers of smart grids and financial institutions) in an appropriate service environment is required to utilize IoT data as source data for various services. To efficiently utilize IoT data and provide them to data users, the gateway collects IoT data, outsources them to a cloud server, and manages the data through the cloud [2,3]. However, the generated IoT data contain sensitive information such as user personal information, so privacy cannot be guaranteed if the data are indiscriminately viewed by institutions using the data. Moreover, data outsourcing also creates security and privacy concerns because it separates data ownership and data management [4]. Therefore, access control for the data users is necessary to protect personal information and provide only data that meet the attributes of the data user that will use the data. To this end, data access control technology using attribute-based encryption (ABE) [5] has recently attracted attention as a promising technology.
In the case of ciphertext-policy ABE (CP-ABE) [6], each original datum is encrypted in relation to the access control structure set in advance by the encryptor. Data users can only decrypt the ciphertext if the set of attributes he or she uses satisfies the ciphertext access structure. IoT data producers need to be able to provide their data only to organizations that want them through the gateway to ensure privacy. Therefore, since the access structure for IoT data must be determined, using CP-ABE is suitable for the IoT environment.
Additionally, if the cloud server manages the computation and communication of most systems, including outsourced data and access control, it is vulnerable to a single point of failure and data management due to centralization issues [7]. In order to solve this problem, research on the decentralization of cloud servers using blockchains has recently been conducted [8,9]. On the other hand, since IoT data are transmitted and received through open channels, malicious attackers can steal the data to perform attacks such as invasions of privacy, data exfiltration, and data abuse. Therefore, to solve these problems, it is necessary to study the application of ABE and blockchain for data privacy provision and access control. In addition, in order to securely store and provide data, gateways, cloud servers, and data users need to verify that they are valid entities through key agreement.
Therefore, in this paper, we suggest a security system that provides authentication while providing access control. We analyze the trends and problems of systems for secure access control and management of data generated in the IoT environment, and present the direction of blockchain-based access control and key agreement to solve these problems.
The main motivations and contributions of this study based on the problems and challenges mentioned above are as follows:
Unlike existing IoT data access control systems using blockchains, the proposed system guarantees data protection through mutual authentication and key agreement. The detailed method is as follows: The proposed system provides mutual authentication based on bilinear pairing and secure key agreement based on the DBDH assumption. In addition, it provides secure data outsourcing and data access control based on CP-ABE by using the session key generated through key agreement.
The gateway and the cloud server generate a session key through key agreement and mutual authentication, and the gateway can safely outsource data through the session key. Gateways can also prove data validation through self-signing when uploading data. Data users can request data to the cloud server and verify the received data through the gateway’s signature. Thus, the system can provide data accountability.
Since the proposed system utilizes a public permissioned blockchain, only data users, gateways, and cloud servers registered with the TA (trusted authority) can use the blockchain as a participant. By auditing the blockchain through data users, nonrepudiation of data can be avoided.
Detailed formal security validation utilizing the widely accepted “AVISPA Software Verification Tool” [10], “indistinguishability game against selective chosen plaintext attack (IND-CPA)”, and “informal (nonmathematical) security analysis” shows that the suggested system guarantees safety against multiple potential attacks on smart city environments utilizing IoT.
Testbed experiments with cryptographic primitives in a laptop environment were performed using the popular “Multiprecision Integer and Rational Arithmetic Cryptographic Library (MIRACL)” [11].
The remainder of this paper is organized as follows: Section 2 reviews papers on data access control using CP-ABE and blockchain in IoT environments. Section 3 outlines the proposed system model, blockchain, access structure, bilinear pairing, DBDH assumption, and adversary model. Section 4 describes our proposed data access control system. Section 5 describes the results of formal security validation using AVISPA and IND-CPA, and Section 6 describes the results of informal security analysis. We analyze the efficiency and security features of the protocol in Section 7. Finally, Section 8 concludes the paper.
2. Related Works
Numerous studies on data access control using CP-ABE have been proposed; its application to the IoT environment has also been proposed. In 2007, Ling and Newport [12] proposed a CP-ABE method that can be applied to both positive and negative attributes using an AND gate access structure. They proposed a structure that has been proven to be secure with plaintext selected under the decisional bilinear Diffie–Hellman (DBDH) assumption. Lewko and Waters [13] suggested a CP-ABE method based on multiauthority, and argued that their system does not require collaboration between rapid institutions. However, in the initialization phase, all agencies must set key parameters, so their structure is impractical for large-scale systems.
In order to efficiently store and manage data, systems in which data are outsourced to a cloud server and controlled have been also proposed [14,15,16,17,18]. Yeh et al. [14] proposed a system that can collect patient information from IoT devices and use it for smart healthcare. For data integrity in their system, data are pre-encrypted before uploading to cloud servers, giving patients access control to data. Miao et al. [15] proposed a CP-ABE-based data access control and keyword search system structure in a cloud-enabled mobile crowdsourcing environment. Liu et al. [16] proposed an e-healthcare record system that uploads and shares health data collected from wearable IoT devices to a cloud server and protects the personal information of patients based on CP-ABE. Ding et al. [17] proposed a structure that can ensure data security in IoT systems by using a pairing-free-based CP-ABE in IoT systems. Lu et al. [18] proposed a secure data sharing system in cloud computing that ensures data privacy protection in resource-constrained mobile terminals. However, since these studies are data access control systems based on cloud servers, a centralization problem may occur, which may cause a single-point-of-failure problem.
Therefore, CP-ABE systems have been proposed for access control of IoT data based on blockchains to solve this centralization problem [19,20,21,22,23,24]. In 2018, Zhang et al. [19] proposed a user-controlled data sharing system with privacy protection using fine-grained access control based on a blockchain and CP-ABE. In 2019, Ding et al. [20] also proposed an ABE access control system for IoT. Blockchain technology was used to record the distribution of properties to prevent single-point errors and data tampering. They demonstrated that authentication can ensure strict access control, but there is no algorithm or protocol for this in their system. Guo et al. [21] suggested a multiauthority blockchain-based ABE protocol for telemedicine systems. Unfortunately, Son et al. [25] figured out that Guo et al.’s protocol [21] is not suitable for real-world environments as patients must maintain their own attribute keys. Yang et al. [22] proposed an EHR sharing system utilizing cloud computing based on ABE and blockchains. In 2021, Wei et al. [23] designed an ABE algorithm for multiauthority scenarios with resource-constrained IoT devices in mind, thereby shifting data management to a blockchain instead of a central server. Qin et al. [24] also proposed a blockchain-based CP-ABE system using cloud computing with consideration to the resource limitations of IoT devices. However, the authentication they proposed [19,20,21,22,23,24] is authentication for data, not mutual authentication between entities participating in communication. For secure communication, the session key must be calculated by performing mutual authentication and key agreement.
Blockchain-based CP-ABE access control systems have been proposed in various smart environments using IoT devices. However, most studies do not provide mutual authentication, key agreement, data access control, validation and accountability at the same time. Therefore, we propose a structure that guarantees a secure data outsourcing process through mutual authentication and key agreement and provides data access control using CP-ABE technology. In addition, our proposed structure proposes an access control system that provides functions of data nonrepudiation, data accountability, and data validation based on a blockchain.
3. System Models and Preliminary Work
We present the proposed system model for IoT data access control considering data users in the different IoT environments. We describe blockchain characteristics, ABE, and the adversary model used in our system. Table 1 is an explanation of abbreviations and symbols used in this paper.
Table 1.
Notations (author’s own processing).
Notations & Abbreviations | Meanings |
---|---|
IoT | Internet of Things |
ABE | Attribute-based encryption |
CP-ABE | Ciphertext-policy ABE |
DBDH | Decisional bilinear Diffie-Hellman |
, , | ith data user |
and his/her identity and password, respectively | |
, | jth gateway and its identity, respectively |
, | Cloud server and its identity, respectively |
The hidden identity of data user, | |
gateway, and cloud server, respectively | |
Trusted authority | |
, , , | The secret key of , , , and , respectively |
, , , | The public key of , , , and , respectively |
The attribute of | |
The attribute private key of | |
, | Access tree and root of tree |
The session key established among and | |
K | The data decryption key |
Hash function and map-to-point hash function | |
Data concatenation operator | |
⊕ | Bitwise exclusive-or operator |
3.1. System Model
Our proposed data access control system model is described in Figure 1. The proposed system model consists of the following four entities:
Cloud Server (CS): A set of CSs forms a “CS network”, where a distributed ledger is maintained for block additions. CSs are honest but curious entities. Moreover, the CS receives the IoT data and provides the data to the data user when the user’s attribute value matches. In addition, the CS uploads data such as data attributes, signature values, and public keys to the blockchain to solve the centralization problem.
Gateway (GW): Gateways are distributed in various smart environments that make up the smart city. The gateway collects IoT data from each environment and uploads them to a cloud server with attribute-based encryption appropriate for each attribute.
Data User (DU): Data user refers to a person who charges fees using IoT data or provides services such as artificial intelligence, finance, and medical care using IoT data. The data user requests an attribute key from the TA. After that, the TA can request data matching the attribute from the cloud server, and can obtain the original data by decrypting the received data through the attribute key.
Trusted Authority (TA): All data users, gateways, and cloud servers must register with a fully trusted .
Blockchain: In the proposed system model, the blockchain is composed of a public permissioned blockchain. To solve the problem of centralization of CSs, the blockchain stores the storage address of data stored in the CS, the public key of each component, hash, data access tree, etc., on behalf of the CS. The “practical Byzantine fault tolerance (PBFT) consensus algorithm” [26] has been applied for adding blocks to existing blockchains, verifying blocks, and voting-based consensus algorithms. Data users audit the blockchain ledger. All blockchain members can read the ledger, but only data users and cloud servers can upload transitions to the blockchain. When the DU requests information from the CS, the CS checks whether the access tree of the requested information and the attributes of the DU match through the blockchain. If the attributes match the access tree, the CS passes the encrypted data to the DU.
Figure 1.
Proposed system model (author’s own processing).
In the setup phase, generates and publishes parameters necessary for the system and tree. During the registration phase, s, s, and are registered with through closed channels. Through the attribute key generation phase, can ask for a key that matches his attribute, and use the acquired attribute key to decrypt the encrypted data. In the authentication phase, and perform authentication and key agreement for data upload. In the data upload phase, uploads data to the cloud server through the agreed session key. Simultaneously, uploads the signature as a verification value to verify its own data and the upload time to the blockchain. In addition, uploads the attribute tree value of the data and the record address value where the data are stored to the blockchain. In the data request and provide phase, requests data from , and verifies the ’s request message, checks the attribute value of through the blockchain, and transmits the corresponding data to . downloads the verification value from the blockchain for the transmitted data, verifies that they are valid data, and can decrypt the data with its own attribute key.
3.2. Blockchain
A blockchain is a distributed data storage system that can solve the single-point-of-failure problem that can occur by being concentrated in the cloud server. The decentralized nature of blockchains can provide nonrepudiation of data, accountability, and transparency. In addition, the timestamp recorded on the blockchain allows blockchain participants to know the transaction generation time [27]. In general, four types of blockchain platforms are defined:
Public permissionless blockchain: A public permissionless blockchain provides a ’low trust’ environment where anyone can run nodes and participate in the network. A public permissionless blockchain can be accessed by anyone, and any node can participate in the consensus protocol. Moreover, anyone can read the entire ledger of transactions.
Public permissioned blockchain: Public permissioned blockchains have rules that determine who can participate in the verification process and launch nodes. They are commonly used by public institutions such as government agencies, businesses, or educational institutions. Whitelisted nodes can participate in the consensus mechanism. Owners create validator nodes that define governance rules for the blockchain, including those who can create new nodes or write to the blockchain. However, read access can be used by anyone who makes the blockchain publicly accessible.
Private permissionless blockchain: A private permissionless blockchain has no restrictions on who can participate in the consensus mechanism. However, unlike public permissionless convex chains, there are restrictions on who can read and write content on the blockchain.
Private permissioned blockchain: These blockchains are controlled by a unique group of one or several owners who determine the participants in the consensus mechanism. Only selected user groups can read or write to these blockchains. If public verification of records is not required, consider private permissioned blockchains.
In this paper, only cloud servers and data users of smart cities can write to the blockchain. Therefore, in this paper, a public permission-type blockchain is adopted, and the consensus algorithm uses PBFT.
3.3. Access Structure
According to [6], we use the following access tree as an access structure.
Assuming that is an access tree, includes , where v is a node of , is threshold value of v, is the number of children nodes of v, is unique index of v, and is a parent node of v. Assuming v is an internal node, v is the threshold gate denoted by and . and gates are defined as follows: when , it is an gate if and an gate if .
Moreover, in the case where v is a leaf node, it is described as the attributes . To fit with attribute set , have to match the threshold gate at root node of . Here, is defined only if v is a leaf node and represents an attribute related to leaf node v in the tree. In the first case, is an attribute and its key satisfies the access tree . In the following case, if is a threshold gate whose child node is an attribute, the access tree is satisfied when holds the threshold gate of . In other cases, such as where is a threshold gate and the child nodes are also threshold gates, the method in the second case can be applied recursively to solve it.
3.4. Bilinear Pairing
Let and be recursive groups with large prime q, and let them be addition and multiplication groups, respectively. Then, a map that satisfies the following conditions can be applied to the bilinear map .
Efficiency: For all , are able to be computed in polynomial time.
Bilinearity: For all , and for all , is .
Nondegeneracy: Existing , then , where is the identifying element of .
3.5. Decisional Bilinear Diffie–Hellman (DBDH) Assumption
Let be a group of order q; P be a generator of ; and be chosen randomly. The DBDH assumption [28] is that it is difficult for a probabilistic polynomial time adversary to distinguish from . The advantage of is defined as follows:
(1) |
If there is no can decide whether , that is deciding whether or , with a non-negligible advantage, the DBDH assumption holds.
3.6. Adversary Model
We adopt the widely accepted “Dolev–Yao (DY) threat model” [29] for cryptographic analysis of protocol security. A malicious adversary could, according to the assumptions of the DY model, intercept messages sent over public channels. Attackers can also modify, insert, delete, or eavesdrop on hijacked messages.
An adversary takes full control of transmitted messages sent over an open wireless channel and learns from the messages. The attacker can then modify, remove, or insert a legitimate message.
In polynomial time, an adversary is able to only guess one value, because guessing more than one value at a time is “computationally infeasible”, for example, guessing an ID and password at the same time.
An adversary can steal or obtain a valid smart card. The adversary can perform a power analysis attack [30,31] on a smart card to steal sensitive information stored on the smart card.
In addition, this paper adopts the assumption of the “CK adversary model” [32], which is a more powerful attack model considering the actual environment. The CK attack model is considered the de facto standard for modeling key exchange protocols. Therefore, in the CK model, for the session key agreed upon between the communicating parties to be secure, the key exchange protocol must minimize the impact of persistent (long-term) or temporary (short-term) secret leaks.
4. Proposed Data Access Control System for IoT Environments
In this section, we propose a method of access control for IoT data, which overcomes the limitations and security pitfalls of previous access control methods. In addition, the proposed protocol guarantees stronger security through authentication in the existing access control method.
4.1. Setup Phase
TA generates public parameters for use in the system’s attribute-based encryption and blockchain. The following steps are followed:
Step SP1: generates and in the same order q, where is an additive cyclic group and is a multiplicative cyclic group. Then, generates a bilinear map . chooses the secret keys and in , and chooses , where P is a generator. Moreover, chooses the hash functions and .
Step SP2: computes the public key , a factor of an attribute key and a factor for decryption . Then, publishes ().
4.2. Registration Phase
For key agreement and authentication, , of the IoT environment, and have to register at . This phase runs through a secure channel.
4.2.1. Cloud Server Registration Phase
This phase is also executed over the secure channel:
Step CSR1: A cloud server picks its identity and generates a random number . computes . Then, sends to the trusted authority through a closed channel.
Step CSR2: After that, stores in a its secure database. computes as ’s private key. After that, sends to over a secure channel.
Step CSR3: computes the public key .
4.2.2. Data User Registration Phase
When a new data user registers with , the following steps are followed:
Step UR1: chooses unique identity and password and . generates random nonces and , where they are in . Then, computes and . After that, sends , to via closed channels.
Step UR2: After receives the request message, computes and . stores with in a its secure memory and stores in a smart card . Then, issues to . At the same time, sends to via closed channels.
Step UR3: After receiving , computes , , , and . Then, stores , , and into and computes a public key as .
Step UR4: After receiving message, computes and stores in its secure database. also stores with .
4.2.3. Gateway Registration Phase
In this phase, the following steps are performed in the closed channel:
Step GWR1: A gateway chooses identity and generates a random nonce . computes . Then, generates a public key and sends to the trusted authority via closed channels.
Step GWR2: After that, computes and stores with in a its secure database. Then, sends to over a secure channel. At the same time, sends through secure channels.
Step GWR3: computes and stores in its secure database. also stores with .
4.3. Attribute Key Generation Phase
In this phase, the data user with attributes requests the attribute key from the and provides the corresponding key.
Step AKG1: chooses his/her attributes and sends it to to request the attribute key.
Step AKG2: After that, generates random nonces . In addition, computes for all , and also computes and . Then, computes attribute keys ). Finally, sends attribute keys to .
Step AKG3: After receiving attribute keys, uploads the transaction to the blockchain.
4.4. Authentication and Key Agreement Phase
For uploading the IoT data to the cloud server, and authenticate each other. They authenticate each other to secure mutual trust, and later, by establishing the session key , and can configure a secure communication channel. The detailed steps involved in this step are shown below and are summarized in Figure 2.
Figure 2.
Authentication and key agreement phase (author’s own processing).
Step AK1: generates a random number and timestamp , and computes , , , , and . Then, sends a request message , , to over an insecure channel.
Step AK2: After receiving the message, retrieves using and verifies . If it corrects, computes , , and . After that, checks . If they are the same, is authenticated. After that, generates a and timestamp . In addition, computes , , and also computes , as a session key, and . Then, sends a response message to through public channels.
Step AK3: After that, checks the validity of . If it is valid, computes and . Then, checks . If it holds, considers as authentic and computes the session key shared with as .
Finally, and complete mutual authentication to generate the same session key for IoT data upload.
4.5. Data Upload Phase
uploads IoT data through the session key agreed with . At this time, encrypts data through CP-ABE and uploads them to so that only with appropriate attributes can access data sharing. In addition, generates the signature value for data verification of . stores encrypted data and uploads ’s signature value, public key, attribute tree, and stored server address value to the blockchain. Detailed steps related to this phase are provided below.
Step DU1: chooses an access tree and root of tree . Then, generates a timestamp and selects a random polynomial with degree . generates a random number for a leaf node x of . Thereafter, computes , .
For other leaf nodes of , chooses a random point of polynomial . Then, calculates and for all leaf nodes of . The ciphertext consists of . also computes the signature of data as follows. computes , , and as the signature. Finally, sends to through a open channel.
Step DU2: After that, decrypts using the session key and checks . If these values are equal, stores in its database and sets to the record address. At the end, uploads the transaction to the blockchain.
4.6. Data Request and Provide Phase
Step DRP1: inserts the smartcard and inputs and . Then, computes , , and . checks . If it is valid, generates random nonce and timestamp , and computes , , . After that, obtains the transaction . computes and sends the data request message , , , .
Step DRP2: After receiving the message, retrieves using and verifies . If it holds, computes and . Then, checks . If this equality holds, obtains from the blockchain. Then, computes and confirms that satisfies tree of . If it is met, calculates . Then, sends the message , .
Step DRP3: After receiving the message, computes . Then, checks acquired on the blockchain. Depending on the type of root node, data decryption proceeds as follows.
- Case 1: If is a leaf node, calculates and . Then, computes and . Then, computes for data decryption. Thereafter, can decrypt as follows:
-
Case 2: We assume that root node is a threshold gate and child nodes are attributes. Before we describe the decryption computation, we define the symbols and . is a set of child nodes of the root node, and is Lagrange coefficient, where .
computes for all leaf nodes . After that, computes decrypt key:Then, can decrypt the IoT data.
4.7. Data Validation Phase
If the data users want to verify that the gateway information is correct, data verification can be performed during this phase. This data validation ensures that the gateway is accountable for its own data and that the data user can obtain the reliability of the data. A detailed description of this phase is provided bellow:
Step DVP: obtains , , , and from the transaction related to the data. computes . Then, checks . If it is valid, can be considered as data validation completed.
4.8. Block Formation and Addition Phase
In the key generation phase and data upload phase, and create a transaction and upload it to the blockchain. We describe it in detail in terms of in this section, and the block construction and addition of is similar. The “practical Byzantine fault tolerance (PBFT) consensus algorithm” [26] has been applied for adding blocks to existing blockchains, verifying blocks, and voting-based consensus algorithms. The block structure is depicted in Figure 3, and the entire algorithm of block addition is given in Algorithm 1.
Algorithm 1 PBFT Consensus for Block Addition in Blockchain by Cloud Server |
|
Figure 3.
Formation of a block on the transactions by CS (author’s own processing).
4.8.1. Block Formation Phase
At the data upload phase of our system, the data generated by are uploaded to using agreed between and at the authentication and key agreement phase. safely gathers t counts of data, filters that information, and then generates t counts of transactions , for 1, 2,…, t, to contribute to the transactions pool. To describe this in detail in terms of the data upload phase, computes the Merkle tree root () for transactions and calculates “elliptic curve digital signature” for transactions as , where .
4.8.2. Block Addition Phase
After block formation phase, the for the transaction existing in the block is verified. In addition, conducts a voting-based PBFT consensus algorithm. The nodes ( represent the number of peers in ) form a distributed P2P network. Here, each node is considered a peer node that is responsible for adding blocks. After the peer node receives the , peer node verifies it with the existing transaction pool. When all transactions in are confirmed by the transaction pool, the peer puts a valid vote into the commit message pool. constantly checks the commit message pool and checks when the minimum approval for block additions on the blockchain is reached; where , the new block will be added to the blockchain.
5. Formal Security Validation: AVISPA Simulation Study and IND-CPA
In this section, we utilize the “AVISPA simulation tool” [10] and IND-CPA to verify the security of the proposed system.
5.1. AVISPA Simulation
We use the “AVISPA Simulation Tool” [10] in this section to validate our proposed system security against man-in-the-middle and replay attacks.
In AVISPA, there are four backends: “tree automata based on automatic approximations for analysis of security protocols (TA4SP)”, the “SAT-based model checker (SATMC)”, the “on-the-fly-mode-checker (OFMC)” and the “constraint-logic-based attack Searcher” (CL-AtSe)”. Among these, the SATMC and TA4SP backends can not aid the “bitwise exclusive OR (XOR)”. However, since our system has an XOR operation, two backends are not suitable for analysis. Therefore, we adopt two backends, OFMC and CL-AtSe, which support XOR operation, and use them for analysis. In the proposed system, “High-Level Protocol Specification Language (HLPSL)”, a language supported by AVISPA, is used to implement the basic roles of and . Figure 4 shows the HLPSL implementation of the role user.
Figure 4.
HLPSL specification for user (Author’s own processing).
At transition 1, sends the request message } to using operation and , which means the secure channel. The declaration means that the random nonce and secret key are only known to .
At transition 2, receives the from . In login and authentication phase, sends the message to through insecure channel. The declaration means that generates a random nonce for .
At transition 3, receives the message from . The declaration specifies that request to the for checking the value of .
HLPSL of cloud server is implemented similarly to gateway’s HLPSL. In addition, it implements “composite roles and goals for sessions and environment” of the proposed system through HLPSL. AVISPA used in this section is a security validation simulation based on the DY model [30]. Figure 5 gives the analysis results performed on the CL-ATse and OFMC backends. The figure clearly shows that the proposed system can be resistant to “replay and man-in-the-middle attacks”.
Figure 5.
Simulation results on OFMC and CL-AtSe.
5.2. IND-CPA Security
We prove the confidentiality property of our system with the game of IND-CPA. In our scheme, the game is defined as follows.
Init. The adversary gives a challenge access structure .
Setup. The simulator executes Setup phase and sends the public parameters to the adversary .
Phase 1. queries multiple private keys corresponding to different sets of attributes where .
Challenge. submits two plaintext and , where to the simulator with . flips the coin , encrypts under , and sends the ciphertext to .
Phase 2. repeats Phase 1 with the attribute sets where .
Guess. outputs a guess of b to the simulator . If , wins the game.
The adversary ’s advantage in this game is defined as . If in probabilistic polynomial time can be played with a non-negligible advantage , then we prove that the problem of the DBDH assumption can be solved with .
Proof.
Assume that the adversary wants to take advantage of to subvert the system. We build a simulator to play the DBDH game with a advantage. We proceed through the simulation process as follows. The challenger randomly picks and generator . flips a coin to obtain a random value . If , , which means . Otherwise, means . After that, transmits the results to .
Init. The simulator runs to create access structure that hopes to attack. Then, transmits it to .
Setup. computes public parameters , where . Then, sends them to .
Phase 1. requests multiple private keys corresponding to different sets of attributes where . The simulator generates random nonces . computes for all , , , . Then, sends to .
Challenge. submits to the simulator with plain text and of equal length. randomly tosses a coin to obtain . If , then . In this case, we let , then and . Otherwise, if , then and . computes . Then, chooses a random point of polynomial and computes , for all leaf nodes of . Then, sends to .
Phase 2. The adversary repeats Phase 1 to obtain the private keys that are associated with attribute sets and .
Guess. guesses of b. If , gives a result 1, otherwise, it gives a result 0. If gives a result 0, then . can obtain practical ciphertext . The advantage in this case is , so we obtain . When gives a result 0, it means . obtains the wrong ciphertext, and does not have the advantage of guessing the correct , so it is able to obtain . Therefore, the probability of a successful game is
(2) Therefore, our scheme ensures IND-CPA security.
□
6. Informal Security Analysis
We provide an nonmathematical (informal) security analysis of whether the proposed system can provide various security features and safety against possible attacks.
6.1. Correctness of Data Decryption Key
If the leaf node is a root node , we check the correctness of the decryption key as follows:
6.2. Guessing Attacks
The malicious adversary cannot guess the data user’s and in the proposed system. obtains the credentials stored on the smart card. However, since is encrypted with random numbers and , cannot obtain sensitive information. Furthermore, these values are protected via “a one-way collision-free hash function ”. In addition, is masked by the unknown parameter and secret key . As a result, our proposed system can resist guessing attacks.
6.3. Tracing Attacks and Provides Anonymity
The adversary is trying to obtain the real IDs of and to perform a tracking attack. In our system, the user’s real identity is hidden by masked with a random number . In addition, the sends the message through the public channel using the temporary ID received from via an insecure channel. Moreover, hides its real ID as . sends a message through the public channel with the temporary ID obtained from . So, cannot know original IDs and . This demonstrates that our system provides anonymity and can resist tracing attacks.
6.4. Impersonation Attacks
may attempt to impersonate each entity by calculating legitimate messages to obtain information. In our system, messages sent over public channels are encrypted using random numbers , , , and and secret values and . Moreover, in the data upload phase, the message is encrypted by the session key . tries to take out these values, but this cannot be carried out. In addition, each of the entities check , , and . Therefore, the proposed system can provide protection against impersonation attacks.
6.5. Ephemeral Secret Leakage Attacks
In the authentication and key agreement phase, and establish the session key in our system. The depends on “ephemeral secrets and ” and long-term secret . Even if the attacker “short-term secret and ” is compromised for , guessing without long-term secret is “a computationally difficult problem.” Likewise, even if “long-term secret ” is compromised to , deriving is also “computationally difficult. except for short-term secrets. Since between the gateway and the cloud server is distinct and unique, leaking from a session to is “computationally infeasible” as it applies both short-term and long-term secrets without having to compute another session key in another session. Therefore, the proposed system prevents ephemeral secret leakage attacks.
6.6. Mutual Authentication and Key Agreement
At our system, and use the and values to authenticate each other by verifying the message. Every transmitted message is changed with a random number and current timestamps. and authenticate each other through an authentication and key agreement phase and compute the same session key only if the authentication is complete. Therefore, our system provides key agreement through mutual authentication.
6.7. Data Access Control, Validation and Accountability
The proposed system can provide access control to IoT data of . establishes an access tree for IoT data and uses it to encrypt data and upload them to . Then, only with the appropriate set of attributes in the IoT data’s access tree is able to request data from and decrypt them with the attribute key. In addition, uploads the signature value of its own data to the transaction on the blockchain. can confirm that the data are uploaded by through the signature value of the transaction, which means that guarantees accountability for its own data when uploading. Thus, the system can provide data access control, validation, and accountability.
7. Efficiency Features and Security Analysis
The proposed system is compared with existing competitive data access control systems in the smart city area, such as smart health and smart homes [18,24]. The compared schemes are all schemes using attribute-based encryption. We compare different data access control schemes with each other in terms of communication and communication costs, function, and security features.
7.1. Testbed Experiment Using MIRACL
In this section, we apply MIRACL to show an an environment for practical perspective experiments. The MIRACL testbed experiment shows the computation costs of the proposed system. We performed a testbed experiment with cryptographic primitives using the popular “MIRACL” [11] in a laptop environment. Here are the detailed performance details of the laptops we used: “Ubuntu 18.04.4 LTS with memory 8 GiB, processor: Intel Core i7-4790 @ 3.60 GHz × 4, CPU Architecture: 64-bit”. The experiments were run 100 times to determine the time to run “bilinear pairing operation ”, “ECC signature operation , “ECC scalar point multiplication ”, “ECC point addition ”, “modular exponentiation operation ”, “map-to-point-hash-function ”, “encryption function ”, “decryption function ”, and “one-way-hash-function ”. Thereafter, the average execution time in milliseconds for these functions or operations over 100 run was recorded: 6.587 ms, 0.546 ms, 2.547 ms, 0.013 ms, 0.164 ms, 7.564 ms, 0.001 ms, 0.001 ms, and 0.003 ms, respectively.
7.2. Security and Function Feature Comparison
This section presents the results of comparison of the proposed system with related existing approaches in terms of security and functionality. Table 2 presents the results of the comparison. Previous studies do not provide data accountability, nor do they provide the functions of mutual authentication and key agreement, whereas the proposed method meets all essential security and functional requirements for data access control in a smart city environment.
Table 2.
Security and function properties comparison (Author’s own processing).
Security and Function Properties | Lu et al. [18] | Qin et al. [24] | Proposed |
---|---|---|---|
x | - | o | |
x | - | o | |
o | o | o | |
x | o | o | |
- | - | o | |
- | - | o | |
x | x | o | |
o | o | o | |
x | x | o |
o: provide the security property x: does not provide the security property -: does not consider : Guessing attack : Anonymity and tracing attacks : Replay and man-in-the-middle attacks : Impersonation attack : ESL attack : Session key disclosure attack : Mutual authentication and key agreement : Data validation : Data accountability.
7.3. Computation Cost Comparison Analysis
Computational costs are compared, taking into account the data upload and data request and provide phases, and follow the testbed experiment results reported in Section 7.1.
We use the average time required on the platform for the data owner/gateway/IoT device, cloud server, and data user costs, respectively. Table 3 shows the comparison results of the computation costs. In Table 3, n means the number of attributes. We assumed that n is 5 to obtain the total computation costs. It can be observed that the total computational costs of our system are slightly higher than those of the other systems. The proposed system uses traditional CP-ABE, which has proven safety rather than efficiency. Moreover, as shown in Table 2, the proposed system can provide mutual authentication, key agreement, and data accountability that other systems cannot provide, and it is safe against attacks from various security aspects.
Table 3.
Computation costs comparison (Author’s own processing).
System | Data Owner/Gateway | Cloud Server | Data User | Total Costs |
---|---|---|---|---|
Lu et al. [18] | 110.307 ms | |||
ms | ms | ms | ||
Qin et al. [24] | 156.802 ms | |||
ms | ms | ms | ||
Proposed | 138.305 ms | |||
ms | ms | ms |
n: number of attribute (assuming that n = 5).
7.4. Communication Cost Comparison Analysis
For comparison analysis of the communication costs during the data upload and data request and provide phases between the proposed system and other systems, the l column matrix, encryption data, hash function output value (using SHA-256), public key, identity, ECC value, chain code, index, and timestamp are taken as bits, 256 bits, 256 bits, 256 bits, 160 bits, 256 bits, 256 bits, 256 bits, and 32 bits, respectively.
Table 4 indicates that our system requires communication costs of 2112 bits to exchange three messages for data upload and data download. On the other hand, the schemes of Lu et al. [18] and Qin et al. [24] require communication costs of + 1952 bits for three messages and 2208 bits for three messages.
Table 4.
Communication costs comparison (Author’s own processing).
8. Conclusions
In this paper, we proposed an access control system for IoT data in various IoT environments based on CP-ABE and blockchains. Existing systems do not provide mutual authentication and key agreement for secure communication. However, the proposed system guarantees secure communication through these two properties. In addition, the proposed system can provide data validation and accountability to data users. To verify the safety of our system, formal and unofficial security analysis was performed, and the proposed system was compared and analyzed with existing systems in terms of security and functionality. Through the analysis results, it was found that the proposed system is safe against guessing, tracing, ESL, and session key disclosure attacks, unlike existing systems. In addition, our protocol can be said to be an efficient protocol because it has a computation cost similar to or lower than that of existing systems and a lower communication cost than existing systems.
In the future, we plan to design a more efficient access control system. In this paper, we used the traditional CP-ABE, but we need to design an efficient ABE for a more efficient system design. In traditional CP-ABE, when the number of users or the number of attributes increase, the number of pairing operations increases. This will increase the computational cost of the system, which will make it impossible to provide real-time services to users in the IoT environment. In order to solve this problem, there is a need to study a new method of access control in the future. If we develop an efficient access control method even if the number of users and attributes increases, we will be able to design an access control system that is more suitable for the IoT environment.
Author Contributions
Conceptualization, J.L., K.P. and Y.P.; software, A.B. and A.K.D.; verification, A.B. and A.K.D.; validation, M.K., K.P. and S.N.; formal analysis, J.L. and M.K.; investigation, K.P. and S.N.; writing—original draft preparation, J.L.; writing—review and editing, S.N., A.K.D. and Y.P.; supervision, Y.P.; funding acquisition, K.P. and S.N. All authors have read and agreed to the published version of the manuscript.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
Funding Statement
This work was supported by Electronics and Telecommunications Research Institute(ETRI) grant funded by the Korean government. [23ZR1330, Core Technology Research on Trust Data Connectome].
Footnotes
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
References
- 1.Holst A. Volume of Data/Information Created, Captured, Copied, and Consumed Worldwide from 2010 to 2024. Statista. 2020. [(accessed on 30 January 2021)]. Available online: https://www.statista.com/statistics/871513/worldwide-data-created/
- 2.Juliadotter N.V., Choo K.K.R. Cloud attack and risk assessment taxonomy. IEEE Cloud Comput. 2015;2:14–20. doi: 10.1109/MCC.2015.2. [DOI] [Google Scholar]
- 3.Osanaiye O., Choo K.K.R., Dlodlo M. Distributed denial of service (DDoS) resilience in cloud: Review and conceptual cloud DDoS mitigation framework. J. Netw. Comput. Appl. 2016;67:147–165. doi: 10.1016/j.jnca.2016.01.001. [DOI] [Google Scholar]
- 4.Chen X., Li J., Huang X., Ma J., Lou W. New publicly verifiable databases with efficient updates. IEEE Trans. Dependable Secur. Comput. 2015;125:546–556. doi: 10.1109/TDSC.2014.2366471. [DOI] [Google Scholar]
- 5.Sahai A., Waters B. Fuzzy identity-based encryption; Proceedings of the Advances in Cryptology–EUROCRYPT 2005: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques; Aarhus, Denmark. 22–26 May 2005; pp. 457–473. [Google Scholar]
- 6.Bethencourt J., Sahai A., Waters B. Ciphertext-policy attribute based encryption; Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP’07); Berkeley, CA, USA. 20–23 May 2007; pp. 321–334. [Google Scholar]
- 7.Xie S., Zheng Z., Chen W., Wu J., Dai H.-N., Imran M. Blockchain for cloud exchange: A survey. Comput. Electr. Eng. 2020;81:106526. doi: 10.1016/j.compeleceng.2019.106526. [DOI] [Google Scholar]
- 8.Nakamoto S. Bitcoin: A Peer-To-Peer Electronic Cash System. 2008. [(accessed on 23 January 2023)]. Available online: http://bitcoin.org/bitcoin.pdf.
- 9.Weerapanpisit P., Trilles S., Huerta J., Painho M. A Decentralized Location-Based Reputation Management System in the IoT Using Blockchain. IEEE Internet Things J. 2022;9:15100–15115. doi: 10.1109/JIOT.2022.3147478. [DOI] [Google Scholar]
- 10.AVISPA Automated Validation of Internet Security Protocols and Applications. [(accessed on 23 January 2023)]. Available online: http://www.avispa-project.org/
- 11.MIRACL Cryptographic SDK: Multiprecision Integer and Rational Arithmetic Cryptographic Library. [(accessed on 23 January 2023)]. Available online: https://github.com/miracl/MIRACLAccessed.
- 12.Ling C., Newport C. Provably secure ciphertext policy ABE; Proceedings of the 14th ACM Conference on Computer and Communications Security; Alexandria, VA, USA. 29 October–2 November 2007; pp. 456–465. [Google Scholar]
- 13.Lewko A., Waters B. Decentralizing attribute-based encryption; Proceedings of the Advances in Cryptology–EUROCRYPT 2011: 30th Annual International Conference on the Theory and Applications of Cryptographic Techniques; Tallinn, Estonia. 15–19 May 2011; pp. 568–588. [Google Scholar]
- 14.Yeh L.Y., Chiang P.Y., Tsai Y.L., Huang J.L. Cloud-based fine-grained health information access control framework for lightweight IoT devices with dynamic auditing and attribute revocation. IEEE Trans. Cloud Comput. 2015;6:532–544. doi: 10.1109/TCC.2015.2485199. [DOI] [Google Scholar]
- 15.Miao Y., Ma J., Liu X., Li X., Liu Z., Li H. Practical attribute-based multi-keyword search scheme in mobile crowdsourcing. IEEE Internet Things J. 2017;5:3008–3018. doi: 10.1109/JIOT.2017.2779124. [DOI] [Google Scholar]
- 16.Liu Y., Zhang Y., Ling J., Liu Z. Secure and fine-grained access control on e-healthcare records in mobile cloud computing. Future Gener. Comput. Syst. 2018;78:1020–1026. doi: 10.1016/j.future.2016.12.027. [DOI] [Google Scholar]
- 17.Ding S., Li C., Li H. A novel efficient pairing-free CP-ABE based on elliptic curve cryptography for IoT. IEEE Access. 2018;6:27336–27345. doi: 10.1109/ACCESS.2018.2836350. [DOI] [Google Scholar]
- 18.Lu X., Pan Z., Xian H. An efficient and secure data sharing scheme for mobile devices in cloud computing. J. Cloud Comput. 2020;91:1–13. doi: 10.1186/s13677-020-00207-5. [DOI] [Google Scholar]
- 19.Zhang Y., He D., Choo K.K.R. BaDS: Blockchain-based architecture for data sharing with ABS and CP-ABE in IoT. Wirel. Commun. Mob. Comput. 2018;2018:1–9. doi: 10.1155/2018/2783658. [DOI] [Google Scholar]
- 20.Ding S., Cao J., Li C., Fan K., Li H. A novel attribute-based access control scheme using blockchain for IoT. IEEE Access. 2019;7:38431–38441. doi: 10.1109/ACCESS.2019.2905846. [DOI] [Google Scholar]
- 21.Guo R., Shi H., Zheng D., Jing C., Zhuang C., Wang Z. Flexible and efficient blockchain-based ABE scheme with multi-authority for medical on demand in telemedicine system. IEEE Access. 2019;7:88012–88025. doi: 10.1109/ACCESS.2019.2925625. [DOI] [Google Scholar]
- 22.Yang X., Li T., Pei X., Wen L., Wang C. Medical data sharing scheme based on attribute cryptosystem and blockchain technology. IEEE Access. 2020;8:45468–45476. doi: 10.1109/ACCESS.2020.2976894. [DOI] [Google Scholar]
- 23.Wei X., Yan Y., Guo S., Qiu X., Qi F. Secure Data Sharing: Blockchain enabled Data Access Control Framework for IoT. IEEE Internet Things J. 2021;9:8143–8153. doi: 10.1109/JIOT.2021.3111012. [DOI] [Google Scholar]
- 24.Qin X., Huang Y., Yang Z., Li X. LBAC: A lightweight blockchain-based access control scheme for the internet of things. Inf. Sci. 2021;554:222–235. doi: 10.1016/j.ins.2020.12.035. [DOI] [Google Scholar]
- 25.Son S., Lee J., Kim M., Yu S., Das A.K., Park Y. Design of secure authentication protocol for cloud-assisted telecare medical information system using blockchain. IEEE Access. 2020;8:192177–192191. doi: 10.1109/ACCESS.2020.3032680. [DOI] [Google Scholar]
- 26.Castro M., Liskov B. Practical Byzantine fault tolerance and proactive recovery. Acm Trans. Comput. Syst. (TOCS) 2002;204:398–461. doi: 10.1145/571637.571640. [DOI] [Google Scholar]
- 27.Macdonald M., Liu-Thorrold L., Julien R. The blockchain: A comparison of platforms and their uses beyond bitcoin. Work. Pap. 2017:1–18. doi: 10.13140/RG.2.2.23274.52164. [DOI] [Google Scholar]
- 28.Goyal V., Pandey O., Sahai A., Waters B. Attribute-based encryption for fine-grained access control of encrypted data; Proceedings of the 13th ACM Conference on Computer and Communications Security; Alexandria, VA, USA. 30 October–3 November 2006; pp. 89–98. [Google Scholar]
- 29.Dolev D., Yao A.C. On the security of public key protocols. IEEE Trans. Inf. Theory. 1983;29:198–208. doi: 10.1109/TIT.1983.1056650. [DOI] [Google Scholar]
- 30.Kocher P., Jaffe J., Jun B. Advances in Cryptology–CRYPTO (Lecture Notes in Computer Science) Volume 1666. Springer; Santa Barbara, CA, USA: 1999. Differential power analysis; pp. 388–397. [Google Scholar]
- 31.Messerges T.S., Dabbish E.A., Sloan R.H. Examining smart-card security under the threat of power analysis attacks. IEEE Trans. Comput. 2002;51:541–552. doi: 10.1109/TC.2002.1004593. [DOI] [Google Scholar]
- 32.Canetti R., Krawczyk H. Universally Composable Notions of Key Exchange and Secure Channels; Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT’02); Amsterdam, The Netherlands. 28 April–2 May 2002; pp. 337–351. [Google Scholar]