Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2023 May 29;23(11):5173. doi: 10.3390/s23115173

Blockchain-Based Data Access Control and Key Agreement System in IoT Environment

JoonYoung Lee 1, MyeongHyun Kim 1, KiSung Park 2, SungKee Noh 2, Abhishek Bisht 3, Ashok Kumar Das 3, Youngho Park 1,4,*
Editor: Giuseppe Piro
PMCID: PMC10255739  PMID: 37299901

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
DUiDUIDiDUPWi ith data user
and his/her identity and password, respectively
GWjGIDi jth gateway and its identity, respectively
CSIDcs Cloud server and its identity, respectively
 HDUIDi,PGIDj,PIDcs The hidden identity of data user,
gateway, and cloud server, respectively
 TA Trusted authority
RcsrirjkTA The secret key of CSDUiGWj, and TA, respectively
PKcsPKiPKjPKTA The public key of CSDUiGWj, and TA, respectively
 ATTRIi The attribute of DUi
 attri The attribute private key of DUi
Tτ Access tree and root of tree
 SK The session key established among GWj and CS
K The data decryption key
 h1,h2 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 TA.

  • 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.

Figure 1

Proposed system model (author’s own processing).

In the setup phase, TA generates and publishes parameters necessary for the system and tree. During the registration phase, DUs, GWs, and CS are registered with TA through closed channels. Through the attribute key generation phase, DU can ask TA for a key that matches his attribute, and use the acquired attribute key to decrypt the encrypted data. In the authentication phase, GW and CS perform authentication and key agreement for data upload. In the data upload phase, GW uploads data to the cloud server through the agreed session key. Simultaneously, GW uploads the signature as a verification value to verify its own data and the upload time to the blockchain. In addition, CS 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, DU requests data from CS, and CS verifies the DU’s request message, checks the attribute value of DU through the blockchain, and transmits the corresponding data to DUDU 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 T is an access tree, T includes (v,numv,thresholdv,par(v),ind(v)), where v is a node of Tthresholdv is threshold value of vnumv is the number of children nodes of vind(v) is unique index of v, and par(v) is a parent node of v. Assuming v is an internal node, v is the threshold gate denoted by AND and ORAND and OR gates are defined as follows: when 0<thresholdvnumv, it is an AND gate if thresholdv=numv and an OR gate if thresholdv=1.

Moreover, in the case where v is a leaf node, it is described as the attributes thresholdv=1. To fit T with attribute set att(v)att(v) have to match the threshold gate at root node τ of T. Here, att(v) 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 att(v). In the following case, if τ is a threshold gate whose child node is an attribute, the access tree is satisfied when att(v) 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 G1 and G2 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 e:G1×G1G2.

  • Efficiency: For all P,QG1e(P,Q) are able to be computed in polynomial time.

  • Bilinearity: For all P,QG1, and for all x,yZpe(xP,yQ) is e(P,Q)xy.

  • Nondegeneracy: Existing P,QG1, then e(P,Q)1G1, where 1G1 is the identifying element of G1.

3.5. Decisional Bilinear Diffie–Hellman (DBDH) Assumption

Let G1 be a group of order q; P be a generator of G1; and a,b,c,zZq be chosen randomly. The DBDH assumption [28] is that it is difficult for a probabilistic polynomial time adversary A to distinguish (Pa,Pb,Pc,e(P,P)abc) from (Pa,Pb,Pc,e(P,P)z). The advantage ε of A is defined as follows:

|Pr[A(Pa,Pb,Pc,e(P,P)abc)=1]Pr[A(Pa,Pb,Pc,e(P,P)z)=1]|ε (1)

If there is no A can decide whether e(P,P)z=e(P,P)abc, that is deciding whether z=abc or zZq, 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: TA generates G1 and G2 in the same order q, where G1 is an additive cyclic group and G2 is a multiplicative cyclic group. Then, TA generates a bilinear map e:G1×G1TA chooses the secret keys kTA and ζ in Zq, and chooses PG1, where P is a generator. Moreover, TA chooses the hash functions h1:{0,1}Zq and h2:{0,1}G1.

Step SP2: TA computes the public key PKTA=kTAP, a factor of an attribute key F=PkTA and a factor for decryption e(P,P)ζ. Then, TA publishes (G1,G2,q,e,P,PKTA,F,e(P,P)ζ,h1,h2).

4.2. Registration Phase

For key agreement and authentication, GW, of the IoT environment, CS and DU have to register at TA. 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 CS picks its identity IDcs and generates a random number ccsCS computes PIDcs=IDcsccs. Then, CS sends PIDcs,ccs to the trusted authority TA through a closed channel.

Step CSR2: After that, TA stores PIDcs in a its secure database. TA computes Rcs=h(kta||ccs) as CS’s private key. After that, TA sends Rcs to CS over a secure channel.

Step CSR3: CS computes the public key PKcs=PRcs.

4.2.2. Data User Registration Phase

When a new data user DUi registers with TA, the following steps are followed:

Step UR1: DUi chooses unique identity and password DUIDi and DUPWiDUi generates random nonces IUi and ai, where they are in Zq. Then, DUi computes HDUIDi=h1(DUIDi||IUi) and HDUPWi=h1(DUIDi||IUi||DUPWi). After that, DUi sends HDUIDiHDUPWiai to TA via closed channels.

Step UR2: After TA receives the request message, TA computes TIDi=(HDUIDikTA)PKTA and Ai=TIDi(HDUPWiai)TA stores HDUIDi with TIDi in a its secure memory and stores Ai in a smart card SC. Then, TA issues SC to DUi. At the same time, TA sends h1(TIDi),HDUIDi to CS via closed channels.

Step UR3: After receiving SCDUi computes Zi=h1(DUIDi||DUPWi)IUiBi=Aiai=TIDiHDUPWiCi=h1(TIDi||HDUPWi), and Di=riHDUPWi. Then, DUi stores ZiBiCi and Di into SC and computes a public key as PKi=riP.

Step UR4: After receiving message, CS computes MCSi=h1(HMIDi||Rcs) and stores MCSi in its secure database. CS also stores h1(TIDi) with HDUIDi.

4.2.3. Gateway Registration Phase

In this phase, the following steps are performed in the closed channel:

Step GWR1: A gateway GWj chooses identity GIDj and generates a random nonce bjGW computes PGIDj=GIDjbj. Then, GW generates a public key PKj=rjP and sends PGIDj to the trusted authority TA via closed channels.

Step GWR2: After that, TA computes TGIDj=(h1(PGIDj)kTA)PKTA and stores PGIDj with TGIDj in a its secure database. Then, TA sends TGIDj to GWj over a secure channel. At the same time, TA sends h1(PGIDj),TGIDj through secure channels.

Step GWR3: CS computes GCSj=h1(h1(PGIDj||Rcs)) and stores GCSj in its secure database. CS also stores TGIDj with h1(PGIDj).

4.3. Attribute Key Generation Phase

In this phase, the data user with attributes ATTRIi requests the attribute key from the TA and provides the corresponding key.

Step AKG1: DU chooses his/her attributes ATTRIi and sends it to TA to request the attribute key.

Step AKG2: After that, TA generates random nonces rai,rbiZq. In addition, TA computes Ati=F(ζ+rai) for all sATTRIi, and also computes Atis=raiP+rbiH(s) and Atis=rbiP. Then, TA computes attribute keys attri=(Ati,Atis,Atis). Finally, TA sends attribute keys attri to DUi.

Step AKG3: After receiving attribute keys, DUi uploads the transaction Txi=(PKi,ATTRIi) to the blockchain.

4.4. Authentication and Key Agreement Phase

For uploading the IoT data to the cloud server, GWj and CS authenticate each other. They authenticate each other to secure mutual trust, and later, by establishing the session key SKGWj and CS can configure a secure communication channel. The detailed steps involved in this step are shown below and are summarized in Figure 2.

Figure 2.

Figure 2

Authentication and key agreement phase (author’s own processing).

Step AK1:GWj generates a random number βi and timestamp T1, and computes Ei=(βirj)PAUTHj=(βirj)PKcsFi=h1(PGIDj)AUTHjMCjc=h1(AUTHj||h1(PGIDj)||T1), and TAUTHj=TGIDjMCjc. Then, GW sends a request message Ei,Fi,PKjTAUHTjT1 to CS over an insecure channel.

Step AK2: After receiving the message, CS retrieves h1(PGIDj) using TGIDj and verifies h1(h1(PGIDj)||Rcs)=?GCSj. If it corrects, CS computes AUTHj=EiRcsh1(h1(PGIDj)||βi)=FiAUTHj, and MCjc=h2(AUTHj||h1(PGIDj)||T1). After that, CS checks e(TAUTHj,P)=?e((h1(PGIDj)Mjc)PKTA,PKTA). If they are the same, GWj is authenticated. After that, CS generates a ncs and timestamp T2. In addition, CS computes Pcg=(ncsRcs)PVcg=(ncsRcs)PKj, and CS also computes Gi=VcgncsSK=h1(ncs||h1(h1(PGIDj)||βi)) as a session key, and Mcg=h1(h1(PGIDj)||Vcg||T2). Then, CS sends a response message Pcg,Gi,Mcg,T2 to GWj through public channels.

Step AK3: After that, GWj checks the validity of |T2T2|<ΔT. If it is valid, GWj computes Vcg=Pcgrj and ncs=GiVcg. Then, GWj checks Mcg=?h1(h1(PGIDj)||Vcg||T2). If it holds, GWj considers CS as authentic and computes the session key shared with CS as SK=h1(ncs||h1(h1(PGIDj)||βi)).

Finally, GWj and CS complete mutual authentication to generate the same session key SK for IoT data upload.

4.5. Data Upload Phase

GWj uploads IoT data through the session key agreed with CS. At this time, GWj encrypts data through CP-ABE and uploads them to CS so that only DUi with appropriate attributes can access data sharing. In addition, GWj generates the signature value for data verification of DUiCS stores encrypted data and uploads GWj’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: GWj chooses an access tree T and root of tree τ. Then, GWj generates a timestamp TSj and selects a random polynomial qτ(x) with degree dτ=vτ1GWj generates a random number xj=qτ(0) for a leaf node x of T. Thereafter, GWj computes cj1=DATAje(P,P)ζxjcj2=PKTAsj.

For other leaf nodes le of TGWj chooses a random point dle of polynomial qle(x). Then, GWj calculates Cle=Pqn(0) and Cle=h2(attr(le))qle(0) for all leaf nodes le of T. The ciphertext consists of δj=(T,cj1,cj2,Cle,Cle)GWj also computes the signature of data as follows. GW computes sj=h1(PGIDj||rj||DATAj)Sj=sjP, and Sigj=sj+h1(PKj||δj)rj as the signature. Finally, GWj sends (Sj,Sigj,δj,TSj)SK,h1(PKj||δj||TSj) to CS through a open channel.

Step DU2: After that, CS decrypts (Sigj,δj,TSj) using the session key and checks h1(PKj||δj||TSj). If these values are equal, CS stores δj in its database and sets ADDRj to the record address. At the end, CS uploads the transaction Txj=(Sj,Sigj,PKj,T,h1(δj||PKj),ADDRj) to the blockchain.

4.6. Data Request and Provide Phase

Step DRP1: DUi inserts the smartcard SC and inputs DUIDi and DUPWi. Then, SC computes IUi=Zih1(DUIDi||DUPWi)HDUPWi=h1(DUIDi||IUi||DUPWi), and TIDi=BiHDUPWiSC checks Ci=?h1(TIDi||HDUPWi). If it is valid, DUi generates random nonce rdu and timestamp TSi, and computes ri=DiHDUPWiMCic=h1(AUTHi||h1(DUIDi||IUi)||TSi)AIDi=TIDiMCic. After that, DUi obtains the transaction (Sigj,PKj,T,h1(δj||PKj),ADDRj)DUi computes M1=(PKi||ADDRj||rdu||TSi)+riPKcs and sends the data request message h1(TIDi)AIDiPKiTSiM1.

Step DRP2: After receiving the message, CS retrieves HDUIDi using h1(TIDi) and verifies h1(HDUIDi||Rcs)=?MCSi. If it holds, CS computes AUTHi=PKiRcs and MCic=h1(AUTHi||HDUIDi||TSi). Then, CS checks e(AIDi,P)=?e((HDUIDiMCic)PKTA),PKTA). If this equality holds, CS obtains (PKi,ATTRIi) from the blockchain. Then, CS computes (PKi||ADDRj||rdu||TSi)=M1RcsPKi and confirms that ATTRIi satisfies tree of δj. If it is met, CS calculates M2=(δj||Tcs)+RcsPKi. Then, CS sends the message M2AIDiTScs.

Step DRP3: After receiving the message, DUi computes (δj||TScs)=M2riPKcs. Then, DUi checks h1(δj||PKj)=?h1(δj||PKj) acquired on the blockchain. Depending on the type of root node, data decryption proceeds as follows.

  • Case 1: If τ is a leaf node, DUi calculates e(Ati,Cle) and e(Ati,Cle). Then, DUi computes Atis,Cle and Atis,Cle. Then, DUi computes e(Atis,Cle)e(Atis,Cle)=e(P,P)raiqτ(0)=K for data decryption. Thereafter, DUi can decrypt as follows:
    cj1e(cj2,Ati)/K=DATAje(P,P)ζxie(xiPKTA,F(ζ+rai))/K=DATAje(P,P)ζxie(P,P)xi(ζ+rai)/K=DATAj
  • 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 cτ and Δind(le),cτ(x)cτ is a set of child nodes of the root node, and Δind(le),cτ(x) is Lagrange coefficient, where Δind(le),cτ(x)=Πocτ,ind(o)ind(le)xind(o)ind(le)ind(o).

    DUi computes e(Atis,Cle)e(Atis,Cle)=e(P,P)raiqτ(0)=Kle for all leaf nodes le. After that, DUi computes decrypt key:
    leKleind(le),cτ(0)=le(e(P,P)raiqle(0))ind(le),cτ(0)=le(e(P,P)raiqτ(ind(le))ind(le),cτ(0)=e(P,P)raiqτ(0)=K

    Then, DUi 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:DUi obtains SjSigjPKj, and h1(δj||PKj) from the transaction related to the data. DUi computes SigjP=sjP+h1(PKj||δj)rjP=Sj+h1(PKj||δj)PKj. Then, DUi checks Sj=Sigjh1(PKj||δj)PKj. If it is valid, DUi can be considered as data validation completed.

4.8. Block Formation and Addition Phase

In the key generation phase and data upload phase, DUi and CS create a transaction and upload it to the blockchain. We describe it in detail in terms of CS in this section, and the block construction and addition of DUi 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
  •   1:

    Input: Block (Blockm as shown in Figure 3, transactions pool (Txpol), transactions threshold (Txthresh=t, number of CS nodes: ncs, minimal approval (Minapprove=2(ncs1)/3+1)

  •   2:

    Output: Commitment for block addition (CMP)

  •   3:

    Assume that a cloud server node (CSl) is elected as a leader

  •   4:

    CSl picks a fresh timestamp and creates a block Blockm with Txpool

  •   5:

    CSl sets CMP=NULL and sends Blockm to follower cloud server nodes (CSk(kl|k=1,2,,ncs)) for voting request

  •   6:

    for each follower CSj do

  •   7:

       if ((Txj=valid) and (MR=valid) and (ECDSA.sigTx=valid) and (CBHash=valid)) then

  •   8:

         Set CMP=CMP+1

  •   9:

       end if

  •  10:

    end for

  •  11:

    if (CMPMinapprove) then

  •  12:

       Add Blockm to the blockchain

  •  13:

       Broadcast commitment message to CS

  •  14:

    end if

Figure 3.

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 GWj are uploaded to CS using SK agreed between GWj and CS at the authentication and key agreement phase. CS safely gathers t counts of data, filters that information, and then generates t counts of transactions Txj=(Sj,Sigj,PKj,T,h1(δj||PKj),ADDRj), for j= 1, 2,…, t, to contribute to the transactions pool. To describe this in detail in terms of the data upload phase, CS computes the Merkle tree root (MR) for transactions Txj and calculates “elliptic curve digital signature” for transactions Txj as ECDSA.sigTx=ECDSA.siggen(Txmsg), where Txmsg=h1(Tx1||Tx2||||Txj||PKcs||MR).

4.8.2. Block Addition Phase

After block formation phase, the MR for the transaction existing in the block is verified. In addition, CS conducts a voting-based PBFT consensus algorithm. The CS nodes CSl|l=1,2,,ncs (ncs represent the number of peers in CS) form a distributed P2P network. Here, each CS node is considered a peer node that is responsible for adding blocks. After the CS peer node receives the Blockm, peer node verifies it with the existing transaction pool. When all transactions in Blockm are confirmed by the transaction pool, the peer puts a valid vote into the commit message pool. CS constantly checks the commit message pool and checks when the minimum approval (Minapprove) for block additions on the blockchain is reached; where Minapprove=2(ncs1)/3+1, the new block Blockm 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 CS and GWj. Figure 4 shows the HLPSL implementation of the role user.

Figure 4.

Figure 4

HLPSL specification for user (Author’s own processing).

At transition 1, GW sends the request message {PGIDj} to TA using SND operation and SKgwta, which means the secure channel. The declaration secret({Bj,Rj},sp3,{GW}) means that the random nonce Bj and secret key Rj are only known to GW.

At transition 2, GW receives the TGIDj from TA. In login and authentication phase, GW sends the message {Ei,Fi,TGIDj,PKj,TAUTHj,T1} to CS through insecure channel. The declaration witness(GW,CS,gw_cs_bei,Bei) means that GW generates a random nonce βi for CS.

At transition 3, GW receives the message {Pcg,Gi,Mcg,T2} from CS. The declaration request(CS,GW,cs_gw_ncs,Ncs) specifies that CS request to the GW for checking the value of ncs.

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.

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 A gives a challenge access structure T.

  • Setup. The simulator X executes Setup phase and sends the public parameters to the adversary A.

  • Phase 1. A queries multiple private keys corresponding to q1 different sets of attributes (ATTRI1,,ATTRIq1) where ATTRIiT.

  • Challenge. A submits two plaintext DATA0 and DATA1, where |DATA0|=|DATA1| to the simulator X with TX flips the coin b{0,1}, encrypts DATAb under T, and sends the ciphertext CT to A.

  • Phase 2. A repeats Phase 1 with the attribute sets (ATTRIq1+1,,ATTRIq) where ATTRIiT.

  • Guess. A outputs a guess b of b to the simulator X. If b=bA wins the game.

The adversary A’s advantage ε in this game is defined as ε=|Pr[b=b]12|. If A 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 ε/2.

Proof. 

Assume that the adversary A wants to take advantage of ε to subvert the system. We build a X simulator to play the DBDH game with a ε/2 advantage. We proceed through the simulation process as follows. The B challenger randomly picks a,b,c,zZq and generator PG1B flips a coin to obtain a random value μ{0,1}. If μ=1Z=e(P,P)z, which means (Pa,Pb,Pc,e(P,P)z). Otherwise, Z=e(P,P)abc means (Pa,Pb,Pc,e(P,P)abc). After that, B transmits the results to X.

Init. The simulator X runs A to create access structure T that A hopes to attack. Then, A transmits it to X.

Setup. X computes public parameters {PKTA=kTAP,F=PkTA,e(P,P)ζ}, where ζ=ab. Then, X sends them to A.

Phase 1. A requests multiple private keys (attri1,,attriq1) corresponding to q1 different sets of attributes (ATTRI1,,ATTRIq1) where ATTRIiT. The simulator X generates random nonces rai,rbiZqX computes Ati=F(ζ+rai) for all sATTRIiATis=raiP+rbiH(s)Atis=rbiPattri=(Ati,Atis,Atis). Then, X sends attri to A.

Challenge. A submits T to the X simulator with plain text DATA0 and DATA1 of equal length. X randomly tosses a coin to obtain b{0,1}. If μ=0, then Z=e(P,P)abc. In this case, we let xj=c, then e(P,P)abc=e(P,P)ζxj and cj1=DATAbe(P,P)abc. Otherwise, if μ=1, then Z=e(P,P)z and cj1=DATAbe(P,P)zX computes cj2=PKTAsj. Then, X chooses a random point dle of polynomial qle(x) and computes Cle=Pqn(0)Cle=h2(attr(le))qle(0) for all leaf nodes le of T. Then, X sends δj=(cj1,cj2,Cle,Cle) to A.

Phase 2. The adversary A repeats Phase 1 to obtain the private keys that are associated with attribute sets ATTRIi|q1+1iq and ATTRIiT.

Guess. A guesses b of b. If bbX gives a result 1, otherwise, it gives a result 0. If X gives a result 0, then Z=e(P,P)abcA can obtain practical ciphertext δj. The advantage in this case is ε, so we obtain Pr[b=b|Z=e(P,P)abc]=12+ε. When X gives a result 0, it means Z=e(P,P)zA obtains the wrong ciphertext, and does not have the advantage of guessing the correct b, so it is able to obtain Pr[bb|Z=e(P,P)z]=12. Therefore, the probability Pr of a successful game is

Pr=12Pr[A(P,Pa,Pb,Pc,e(P,P)abc)=1]+12Pr[A(P,Pa,Pb,Pc,e(P,P)z)=1]12=12Pr[b=b|Z=(P,P)abc]+12Pr[bb|Z=e(P,P)z]12=12×(12+ε)+12×1212=ε2 (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 le is a root node τ, we check the correctness of the decryption key as follows:

e(Atis,Cle)e(Atis,Cle)=e(raiP+rbih2(attr(τ)),qτ(0)P)e(rbiP,h2(attr(τ))qτ(0))=e(raiP,qτ(0)P)e(rbih2(attr(τ)),qτ(0)P)e(rbiP,h2(attr(τ))qτ(0))=e(P,P)raiqτ(0)e(h2(attr(τ)),P)rbiqτ(0)e(P,h2(attr(τ)))rbiqτ(0)=e(P,P)raiqτ(0)=K

6.2. Guessing Attacks

The malicious adversary A cannot guess the data user’s DUIDi and DUPWi in the proposed system. A obtains the credentials {Zi,Bi,Ci,Di} stored on the smart card. However, since {Zi,Bi,Ci} is encrypted with random numbers IUi and aiA cannot obtain sensitive information. Furthermore, these values are protected via “a one-way collision-free hash function h(·)”. In addition, Di is masked by the unknown parameter HDUPWi and secret key ri. As a result, our proposed system can resist guessing attacks.

6.3. Tracing Attacks and Provides Anonymity

The adversary A is trying to obtain the real IDs of DUi and GWj to perform a tracking attack. In our system, the user’s real identity DUIDi is hidden by HDUIDi masked with a random number IUi. In addition, the DUi sends the message through the public channel using the temporary ID TIDi received from TA via an insecure channel. Moreover, GWj hides its real ID GIDj as PGIDjGWj sends a message through the public channel with the temporary ID TGIDj obtained from TA. So, A cannot know original IDs DUIDi and GIDj. This demonstrates that our system provides anonymity and can resist tracing attacks.

6.4. Impersonation Attacks

A 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 βincsxi, and rdu and secret values rj and Rcs. Moreover, in the data upload phase, the message is encrypted by the session key SKA tries to take out these values, but this cannot be carried out. In addition, each of the entities check e(TAUTHj,P)=?e((h1(PGIDj)Mjc)PKTA,PKTA)Mcg=?h1(h1(PGIDj)||Vcg||T2), and e(AIDi,P)=?e((HMIDiMCic)PKTA),PKTA). Therefore, the proposed system can provide protection against impersonation attacks.

6.5. Ephemeral Secret Leakage Attacks

In the authentication and key agreement phase, GWj and CS establish the session key SK=h1(ncs||h1(h1(PGIDj)||βi))=h1(ncs||h1(h1(GIDjbj)||βi)) in our system. The SK depends on “ephemeral secrets ncs and βi” and long-term secret bj. Even if the attacker “short-term secret ncs and βi” is compromised for A, guessing SK without long-term secret bj is “a computationally difficult problem.” Likewise, even if “long-term secret bj” is compromised to A, deriving SK is also “computationally difficult. except for short-term secrets. Since SK between the gateway and the cloud server is distinct and unique, leaking SK from a session to A 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, GW and CS use the TAUTHj and Mcg values to authenticate each other by verifying the message. Every transmitted message is changed with a random number and current timestamps. GW and CS authenticate each other through an authentication and key agreement phase and compute the same session key SK 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 GWjGWj establishes an access tree for IoT data and uses it to encrypt data and upload them to CS. Then, only DUi with the appropriate set of attributes in the IoT data’s access tree is able to request data from CS and decrypt them with the attribute key. In addition, GWj uploads the signature value of its own data to the transaction on the blockchain. DUi can confirm that the data are uploaded by GWj through the signature value of the transaction, which means that GWj 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 (Tpair)”, “ECC signature operation (Tsig), “ECC scalar point multiplication (Tmul)”, “ECC point addition (Tadd)”, “modular exponentiation operation (Texp)”, “map-to-point-hash-function (Tmtp)”, “encryption function (Tenc)”, “decryption function (Tdec)”, and “one-way-hash-function (Th)”. 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
 SF1 x - o
 SF2 x - o
 SF3 o o o
 SF4 x o o
 SF5 - - o
 SF6 - - o
 SF7 x x o
 SF8 o o o
 SF9 x x o

o: provide the security property x: does not provide the security property -: does not consider SF1: Guessing attack SF2: Anonymity and tracing attacks SF3: Replay and man-in-the-middle attacks SF4: Impersonation attack SF5: ESL attack SF6: Session key disclosure attack SF7: Mutual authentication and key agreement SF8: Data validation SF9: 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]  (1+n)Tmul+2Texp+Th  Th+Tsig+(n)Texp  Tpair+2Tmul 110.307 ms
15.613 ms +(3+n)Tmul+(2n)Tpair83.013 ms 11.681 ms
Qin et al. [24]  5Tmul+9Texp+Tadd+4Th  (8+6n)Tmul+6Tpair  Texp+2Tmul 156.802 ms
14.236 ms 137.308 ms 5.258 ms
Proposed  (4+2n)Tmul+(n)Tmtp+2Th+Tpair  3Th+2Tmul+2Tadd+Tpair  5Tmul+(n)Tpair+(n)Texp 138.305 ms
+Tadd+Tenc80.081 ms 11.716 ms +6Th46.508 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 32l 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 32l+ 1952 bits for three messages and 2208 bits for three messages.

Table 4.

Communication costs comparison (Author’s own processing).

System Number of Messages Number of Bits
Lu et al. [18] 3 32l + 1952
Qin et al. [24] 3 2208
Proposed 3 2112

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]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES