Next Article in Journal
Outage Probability and Ergodic Capacity of a Two-User NOMA Relaying System with an Energy Harvesting Full-Duplex Relay and Its Interference at the Near User
Next Article in Special Issue
A Smart Contract-Based P2P Energy Trading System with Dynamic Pricing on Ethereum Blockchain
Previous Article in Journal
Demonstration of Three-Dimensional Indoor Visible Light Positioning with Multiple Photodiodes and Reinforcement Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Autonomous Log Storage Management Protocol with Blockchain Mechanism and Access Control for the Internet of Things

1
Department Information Management, Chang Gung University, Taoyuan 33302, Taiwan
2
Graduate Institute of Business and Management, Chang Gung University, Taoyuan 33302, Taiwan
3
Healthy Aging Research Center, Chang Gung University, Taoyuan 33302, Taiwan
4
Department Visual Communication Design, Ming Chi University of Technology, New Taipei 24301, Taiwan
5
Department Nursing, Taoyuan Chang Gung Memorial Hospital, Taoyuan 333, Taiwan
*
Author to whom correspondence should be addressed.
Submission received: 11 October 2020 / Revised: 8 November 2020 / Accepted: 10 November 2020 / Published: 12 November 2020
(This article belongs to the Special Issue Blockchain for IoT Security, Privacy and Intelligence)

Abstract

:
As the Internet of Things (IoT) has become prevalent, a massive number of logs produced by IoT devices are transmitted and processed every day. The logs should contain important contents and private information. Moreover, these logs may be used as evidences for forensic investigations when cyber security incidents occur. However, evidence legality and internal security issues in existing works were not properly addressed. This paper proposes an autonomous log storage management protocol with blockchain mechanism and access control for the IoT. Autonomous model allows sensors to encrypt their logs before sending it to gateway and server, so that the logs are not revealed to the public during communication process. Along with blockchain, we introduce the concept “signature chain”. The integration of blockchain and signature chain provides efficient management functions with valuable security properties for the logs, including robust identity verification, data integrity, non-repudiation, data tamper resistance, and the legality. Our work also employs attribute-based encryption to achieve fine-grained access control and data confidentiality. The results of security analysis using AVSIPA toolset, GNY logic and semantic proof indicate that the proposed protocol meets various security requirements. Providing good performance with elliptic curve small key size, short BLS signature, efficient signcryption method, and single sign-on solution, our work is suitable for the IoT.

1. Introduction

With the popularization of computers and rapid development of mobile network technologies, Internet of Things (IoT) has become prevalent. Various devices and entities can wirelessly be connected to the internet as long as they are equipped with sensors. Enabled with fifth generation (5G) technology, communication in IoT environments is performed with super low latency, high-peak data rates and massive network capacity [1]. Data aggregation and transmission in IoT networks have been significantly improved, in order to provide better efficiency of energy consumption, network control overhead, delay time, loss packet and aggregation rates [2]. Due to these advances, IoT has huge potentials to change the information technology, enhance reliability of communication systems, as well as improve our life quality. For example, in wireless body area networks (WBAN) [3], sensing data produced by wearable sensors provides rapid diagnostics, efficient treatments and valuable research data. In addition to healthcare [3,4,5], IoT applications have been implemented in a lot of domains, such as energy [6], vehicle [7,8], industrial systems [9], etc.
Logs generated by IoT devices contain important contents and sensitive information. The logs can be stored in cloud systems for convenient management. With the management tools, it is allowed to collect, store, analyze, archive, and dispose of the log information [10]. Specific uses of the logs include device monitoring [11], user behavior analysis [12], or digital forensics [13].

1.1. The Problems

Most IoT environments adopt centralized architecture for managing log storage. It suffers from internal threats since the data can be compromised by the management staffs. Moreover, sensitive information of the logs may be revealed to unauthorized persons. The adversary can also tamper with the log for illegal purposes. The integrity of the data needs to be preserved for forensic investigations when security incidents occur [14]. Communicating parties may repudiate data ownership for their own interests or motives, which causes challenges for digital forensics [15]. In addition, the legality of collected evidences must be ensured so that it provides an effective and efficient investigation process. In heterogeneous and distributed IoT environments with various devices and sensors, these concerns become prominent.
For addressing aforesaid problems, it is essential to propose a mechanism which provides integrity, availability, and legality of the logs. Access control to the log data should also be taken into account, which ensures the confidentiality where the log can only be viewed by legitimate parties. Furthermore, the mechanism should bear a rational implementation cost.

1.2. Related Works

Blockchain is a secure decentralized database that can track, verify, and safely protect the data from tampering [16]. It provides open and transparent mechanism that does not require third-party intervention. Blockchain has successfully been used in various sectors, such as transportation systems [17], medical record management [18], and so on. The concept of combining IoT and blockchain promotes the quality of data sharing services with automatic workflows [19]. Blockchain was proposed as a security solution for IoT by various works [20,21,22]. The research topics include immutable event logs and data access management [23], sensing data transaction [24], or IoT device authentication [25]. The digital forensics in the IoT architecture can be classified into various layers consisting of cloud forensics, network forensics, and device forensics [26]. As the forensics of massive IoT devices require a lot of resources [27], legal evidences helps in improving investigation efficiency in accordance with the demand of law enforcement agencies [28].
Taguchi et al. [29] proposed a distributed management method for logs using a blockchain scheme. The method provides data tamper resistance and increases access availability. Pourmajidi and Miranskyy [30] introduced Logchain, a blockchain-based log system. Their system can avoid log tampering and provides an immutable platform for the log storage. Hang and Kim [31] designed and implemented blockchain platform for ensuring data integrity of the IoT environments. Hang and Kim focused on the integration and management of IoT data and blockchain mechanism. Whereas, the IoT forensics framework designed by Ryu et al. [13] employed the blockchain to satisfy the requirements of IoT forensics. Their work achieves data tamper proof and non-repudiation in third party-less environments. Persistence and privacy of forensic data were also assured. In their design, specific data produced by IoT devices is written into the block for facilitating evidence collection during digital forensic investigations. Aforesaid works have certain strengths that meet several functionality and security requirements. However, internal confidentiality issue was not addressed since they did not introduce access control mechanism. Moreover, the legality of the evidence preservation in their works was uncertain.
Recently, Li et al. [32] proposed a secure fine-grained data sharing scheme for cloud computing. Even though their scheme provides lightweight computation with access control and forward secrecy, it was not introduced with blockchain mechanism. Zheng et al. [33] introduced a new attribute-based encryption scheme using blockchain technique. Their design did not employ digital signature to achieve legal security features. Sowjanya and Dasgupta [34] presented another attribute-based encryption scheme for WBAN. The scheme achieves good performance with elliptic curve cryptography and attribute-based encryption. Zhong et al. [35] also introduced an efficient access control scheme for smart healthcare. Nonetheless, both Sowjanya and Dasgupta [34] and Zhong et al. [35] did not include blockchain mechanism and digital signature technique in their works.
Given the drawbacks of existing works, we are motivated to design a new secure protocol providing log storage management capabilities, fine-grained access control, robust verification, and some other essential security properties. The new design should also meet the forensics requirements as well as the evidence legality.

1.3. Main Contributions

Our work proposes an autonomous log storage management protocol with blockchain mechanism and access control for IoT environments. The proposed protocol allows sensor to perform the signcryption of the log data based on its access policy. With access control mechanism, only the authorized users with appropriate attributes are able to unsigncrypt the message and view the log. Each entity in the system has to sign a signature during communication process so that they can be tracked for potential forensics. We integrate blockchain mechanism and digital signature technique to simultaneously achieve various properties. The contributions made in this paper can be described in the following.
  • Autonomous model allows sensors to encrypt the logs before sending them to other entities (gateways and servers). Privacy of the logs therefore is fully protected throughout communication process. In this way, our protocol is even secure for communications via unreliable channels. Typical application of this model is WBAN, where wearable sensors encrypt health data before sending it to coordinators and healthcare providers for specific services.
  • Since legality of blockchain signature remains uncertain, whereas digital signature satisfies various requirements with legal security properties [36], we introduce the concept “signature chain” in this work. A signature chain is composed by the signatures of all communicating entities of the system including sensors, gateway and server. The integration of blockchain and signature chain achieves valuable properties: robust identity verification, data integrity, tamper proof (insider attack resistance), ownership non-repudiation, and evidence legality. Thus, our work is completely helpful to the purposes of digital forensics.
  • In our design, private blockchain is employed as a storage to conveniently and efficiently store and process the signature chain and ciphertexts, with various management functions. We adopt Proof of Work (PoW) [37] as the consensus algorithm in proposed private chain, in order to achieve above-mentioned security properties. Due to its full decentralization mechanism and immutability, public blockchain is integrated in our protocol to assure the trust of the private blockchain.
  • Fine-grained access control with ciphertext policy attribute-based encryption is proposed in our work. It provides internal confidentiality in which only the legitimate users with specific appropriate attributes are allows to decrypt the ciphertexts and obtain the log plaintexts.
  • We use AVISPA toolset and GNY logic to formally prove security correctness of the proposed protocol. Sematic security proof further indicates that our protocol satisfies various security requirements.
  • Our work employs elliptic curve with small key size, short BLS signature, and efficient signcryption method to design the protocol with single sign-on solution. Therefore, our protocol bears low computation and storage overhead, which is suitable to the IoT.
  • We provide practical implementation of the proposed protocol with specific use case, system construction and user interface.

1.4. Paper Structure

The paper is structured as follows. We present preliminaries of our work in Section 2. Section 3.1 provides system model of our work including all entities with communicating roles. Security goals are provided in Section 3.2, which are required for providing a secure communication with the proposed system model. Section 3.3 presents specific procedure and algorithms of the protocol. Section 4 presents security analysis of the proposed protocol including GNY logic, AVISPA toolset, and semantic proof. Performance experiment and analysis of the our protocol are provided in Section 5. Section 6 describes the implementation including practical procedures and system construction of our work. Finally, some concluding remarks and future works are given in Section 7 of the paper.

2. Preliminaries

Preliminaries of the paper include linear secret-sharing scheme, attribute-based encryption, signcryption, bilinear map, Boneh-Lynn-Shacham signature, blockchain, and single sign-on.

2.1. Linear Secret-Sharing Scheme

Linear Secret-Sharing Scheme (LSSS) proposed by Lewko and Waters [38] introduced how to use AND and OR gates to generate the matrices. LSSS consists of access policy matrix M and column vector v . The matrix M is composed by m rows and n columns, with the policy defined and stored by Boolean formula [39,40]. Whereas, the vector v is composed by s , a 1 , a 2 , a n R Z p that are the randomly selected numbers, in which s is the secret value. Multiplying matrix M with vector v will derive a column vector composed by λ 1 ,   λ n , where λ is the associated information of the secret value s . Access policy M contains a certain number of attributes. As long as users possess appropriate attributes, they can restore the secret value s .

2.2. Attribute-Based Encryption

Attribute-based encryption (ABE) was proposed by Sahai and Waters in 2005 [41]. In ABE, access policy defined by users considers various attributes. The attributes possessed by users determine whether they can meet the policy of data access. This advantage allows an efficient and flexible encryption process. ABE is categorized into two types: key policy attribute-based encryption (KP-ABE) [42,43] and ciphertext policy attribute-based encryption (CP-ABE) [44,45,46]. In the CP-ABE scheme, user’s key is integrated with the attributes; and the ciphertext is associated with the access policy through the LSSS. When access policy is satisfied, the user can use the attribute key to decrypt the ciphertext. On the other hand, in the KP-ABE scheme, the user’s key is associated with the access policy; and the ciphertext is integrated with the attributes. When the ciphertext meets the key’s access policy, the user can decrypt the ciphertext.

2.3. Signcryption

Signcryption [47] is the combination of encryption and signature signing. The ciphertext and signature of the message are generated by performing the functions of both encryption and signature at the same time. Compared with the cumulative cost of separate encryption and signing process, this novel method is much more efficient. Signcryption method provides confidentiality, verification and non-repudiation of the given data. Attribute-based signcryption [48] combines the functions of encryption and signature on the attributes. Fine-grained access control can be associated with the signcrypted text to achieve robust message protection. This novel access control mechanism is well suited for data sharing in distributed environments. For example, users outsource their data to cloud storage, and can effectively share the data with other parties. The users who are granted the access can effectively obtain the data from anywhere through the network.

2.4. Bilinear Map

Selects a big number q , we have the elliptic curve: E : y 2 = x 3 + a x + b   m o d   q . Let G 1 be a multiplicative cyclic group of order n , and g , g 1 and g 2 be the generators of G 1 , a bilinear map from G 1 × G 1 to G T is a function e : G 1 × G 1 G T . The bilinear map provides the following characteristics and assumption [45,49,50]:
  • Bilinear: If any two integers x , y Z p and generators g , g 1 , g 2 G 1 , then e ( g 1 x , g 1 y ) = e ( g 1 , g 1 ) x y = e ( g 1 y , g 1 x ) , and e ( g 1 . g 2 , g ) = e ( g 1 , g ) . e ( g 2 , g ) .
  • Non-degenerate: There exists g 1 , g 2 G 1 such that e ( g 1 , g 2 ) is the generator of G T .
  • Computable: For any g 1 , g 2 G 1 , there exists a polynomial algorithm which can efficiently compute   e ( g 1 , g 2 ) .
  • Elliptic Curve Discrete Logarithm Problem (ECDLP): ECDLP is a special case of Discrete Logarithm Problem (DLP), and can be described as follows. Given g 1 , m G 1 , the problem is to find integer x Z p such that g 1 x = m .

2.5. Boneh-Lynn-Shacham Signature Scheme

Boneh-Lynn-Shacham (BLS) scheme [51] provides shorter signature length than Elliptic Curve Digital Signature Algorithm (ECDSA) [52], but with the same security level. BLS signature scheme can provide batch verification function, which allows to sign and verify multiple signatures at once. Given g 1 , G 1 , G T defined in Section 2.4, plaintexts M 1 : { 0 , 1 } * , M 2 : { 0 , 1 } * , and hash function H : { 0 , 1 } * G 1 , the procedure of BLS scheme is described as follows:
  • Key generation: Randomly choose an integer x R Z p , let x be private key, we have Y = g 1 x is the corresponding public key.
  • Signature generation: Use hash function H and private key x to sign the plaintext M 1 and generate signature σ 1 = H ( M 1 ) x .
  • Signature verification: Based on plaintext M 1 and signature σ 1 , the verification is to confirm the equation ( H ( M 1 ) , Y ) e ( σ 1 , g 1 ) . Correctness of the verification is proved as follows: e ( H ( M 1 ) , Y ) = e ( H ( M 1 ) , g 1 x ) = e ( H ( M 1 ) x , g 1 ) = e ( σ 1 , g 1 ) .
  • Batch signature verification: As stated, σ 1 = H ( M 1 ) x and σ 2 = H ( M 2 ) x are the signatures, the verification is to confirm e ( H ( M 1 ) H ( M 2 ) , Y Y ) e ( σ 1 σ 2 , g 1 g 1 ) . The verification correctness is proved as follows: e ( H ( M 1 ) H ( M 2 ) , Y Y ) = e ( H ( M 1 ) H ( M 2 ) , g 1 x g 1 x ) = e ( H ( M 1 ) x H ( M 2 ) x , g 1 g 1 ) = e ( σ 1 σ 2 , g 1 g 1 ) .

2.6. Blockchain

Blockchain was proposed by Nakamoto in 2008 with its first application, Bitcoin [53]. Peer-to-peer (P2P) mechanism of blockchain with distributed ledger is employed to form decentralized networks. Nodes within the networks communicate with each other to confirm the validity of the transactions before they are uploaded to the blockchain. Due to a unique data structure, the content and transaction recorded in blockchain are unalterably protected. Blockchain provides decentralization [54], tamper resistance [55], and user anonymity [56]. There are three types of blockchain: public blockchain, private blockchain and consortium blockchain [57]. In public blockchain, everyone can conduct transactions, verifications and relevant contributions. It is recognized as the concept of completely decentralized open network. Whereas, private blockchain network partly achieves the decentralization since its design allows a single organization to hold central authority. Data access in private blockchain is only granted to a certain number of users based on specific purposes. The consortium blockchain mechanism is similar to the private blockchain. The difference is consortium blockchain includes multiple organizations, which can provide business-to-business (B2B) services.

2.7. Single Sign-on

Single Sign-On (SSO) [58] provides multi-server environment that allows users to use a single password to log in multiple servers. After completing identity authentication with one sever, users can freely access the services on other severs within the network, without having to repeat authentication procedure. The benefits of SSO solution can be summarized as follows: (1) Avoids the confusion of users when they must store massive credentials at the same time in single-server environments; (2) Allows central service provider to conveniently manage the authentication information of users; and (3) Significantly reduces credential storage overhead.

3. The Proposed Log Storage Management Protocol with Blockchain Mechanism and Access Control

In this section, we describe system model and security goals of the proposed protocol. Thereafter, detailed procedure of our protocol is presented. Cryptographic functions and notations used in the protocol are described in Table 1.

3.1. System Model

Our system model includes 11 roles: attribute authority, SSO server, timestamp server, sensor (IoT device) and agent, gateway, blockchain server, private blockchain, public blockchain, storage cluster, and user. The attribute authority generates public and secret parameters used in entire communication process. In particular, it sends public parameters to the sensor for log signcryption. The authority also computes private attribute key and transmits it to the user for log unsigncryption. The SSO server provides single sign-on login, allowing users to use a single password to enter multiple servers in multi-server environment. The timestamp server derives timestamp parameters for the system. The sensor is a sensing device which contacts the environment, and generates the logs. The agent is installed inside the sensor, and is responsible for defining the access policy, as well as signcrypting the logs to generate ciphertexts. The gateway verifies the signature included in the ciphertexts to ensure the correctness of the log ciphertext. Blockchain server is responsible for storing the signcrypted text in the storage cluster. Moreover, the server also generates private blocks from single signatures, and public block from multiple signatures, and then writes them into private blockchain and public blockchain respectively. The private blockchain stores signature chains and related information. The public blockchain records corresponding data from the private blockchain, and stores the batch signatures, with fully decentralized nature. The user logs in to the blockchain server through the SSO server, obtains the ciphertext, and uses the attribute private key to unsigncrypt it to view the log plaintext. The user can also verify the validity of the related information stored in private blockchain and public blockchain. System model of the proposed protocol is depicted in Figure 1.
Signature chain is composed by the signatures signed by the sensor, the gateway and the server in each communication session. Data in private blockchain is signed using two types of signature schemes including BLS and ECDSA. Each block contains a single signature chain. These chains are immutably stored in blockchain for further security purposes. Figure 2 depicts the design of private blockchain and signature chain of our work.

3.2. Security Goals

Security problems are always big concerns in any information systems. The proposed system model includes various parties in a public communication environment. External invasion and security attacks should also be considered for providing a high security environment. We expect that our protocol can satisfy the following security requirements.
  • Secure decryption key: After the sensor signcrypts the logs, the user attempts to compute the decryption key to decrypt the ciphertext and access the logs. Only legitimate user possessing appropriate attributes is able to compute the correct key.
  • Robust verification: The digital signature signed by the sensor makes sure that the log data is truly produced and transmitted by the sensor itself. Any parties participating in the communication can verify the validity of the signature.
  • Dataunforgeability: Only the sensor with its own private key is able to sign the message. We desire to warrant that the signcryption key of the sensor is kept secret to the sensor only, during communication process. In this way, the adversary cannot forge the signature and impersonate the sensor.
  • Datatampering resistance: The signatures may be modified for obstruction purposes. In addition, the signer may re-sign the message to tamper with its data. These issues should be addressed so that security properties of digital signature are guaranteed.
  • Data confidentiality: The log data must be kept confidential to the legal parties under any circumstances. Users within the system are allowed to access the logs only if they possess required attributes.
  • Non-repudiation: Once the logs are signed, signers cannot repudiate them for any own interests. This property is helpful to digital forensic investigations.
  • Data integrity: This property makes sure that the logs must be originally sent by the sensor without any modifications to its contents.
  • Perfect forward secrecy: This security goal is required for the long-term decryption key. It ensures that if the adversaries successfully calculate the current decryption key, they still cannot use it to compromise the logs in previous communications sessions.

3.3. Procedure of the Proposed Protocol

Communication in the proposed protocol is carried out including 13 phases: initialization phase, device registration phase, SSO registration phase, SSO login phase, SSO password generation phase, user registration phase, log signcryption phase, log verification phase, private block calculation phase, private block verification phase, log unsigncryption phase, public block calculation phase and public block verification phase.

3.3.1. System Initialization Phase

In initialization phase, the attribute authority generates public and secret parameters used in entire system. The attribute authority selects a big number q , and determine the elliptic curve: E : y 2 = x 3 + a x + b   m o d   q . It then generates a cyclic group G 1 and bilinear map e : G 1 × G 1 G T . g is set as the generator of G 1 . Next, a set of system attributes is determined by u s = { a t t 1 , a t t 2 , , a t t x } . The authority selects the corresponding random numbers { Q 1 , Q 2 , , Q x } R G 1 , based on attribute set   u s , and chooses a secure one-way hash function H : { 0 , 1 } * G 1 . It randomly selects α , β R Z q , and compute B = g β and public key Y = e ( g , g ) α . Finally, the authority generates public parameter P P = ( g , B , Y , H , Q x , e , G 1 , G T ) and secret parameter M S K = ( α , β , u s ) . Specific steps of this phase are described in Algorithm 1.
Algorithm 1: System initialization.
Input: I n i t i a l   p a r a m e t e r s .
Output: P P , M S K .
1:
Select a big number q , and determine the elliptic curve: E : y 2 = x 3 + a x + b   m o d   q .
2:
Generate a cyclic group G 1 and bilinear map e : G 1 × G 1 G T .
3:
Set g as the generator of   G 1 .
4:
Determine system attribute set u s = { a t t 1 , a t t 2 , , a t t x } .
5:
Select { Q 1 , Q 2 , , Q x } R G 1 , based on attribute   u s .
6:
Choose a secure one-way hash function H : { 0 , 1 } * G 1 .
7:
Randomly select α , β R Z q .
8:
Compute B = g β .
9:
Compute public key Y = e ( g , g ) α .
10:
Generate P P = ( g , B , Y , H , Q x , e , G 1 , G T ) and M S K = ( α , β , u s ) .

3.3.2. SSO Registration Phase

In this phase, the user U i uses a smart card to register with the SSO server for obtaining multiple services. SSO registration procedure is provided in Algorithm 2 as follows. The user U i enters S I D i and S P W i into smart card. The smart card generates a random number r i , and computes A i = H ( S P W i ) H ( r i S I D i ) . The SSO sever then stores r i and A i .
Algorithm2: SSO registration.
Input: S I D i , S P W i .
Output: r i , A i .
1:
U i enters   S I D i and S P W i into smart card.
2:
Smart card generates r i .
3:
Smart card computes A i = H ( S P W i ) H ( r i S I D i ) .
4:
SSO sever stores r i and A i .

3.3.3. SSO Login Phase

The user U i enters S I D i and S P W i into SSO sever for verifying his/her legitimacy. The user U i enters S I D i and S P W i into the SSO server. The SSO server computes A i = H ( S P W i ) H ( r i S I D i ) . It then compares A i and A i , in order to verify legitimacy of the user U i . Procedure of this phase is presented by Algorithm 3.
Algorithm 3: SSO login.
Input: S I D i , S P W i .
Output: T r u e   o r   F a l s e .
1:
U i enters S I D i and S P W i .
2:
SSO server computes A i = H ( S P W i ) H ( r i S I D i ) .
3:
SSO server compares A i and A i .
4:
   if above check holds, then output T r u e , and confirm legitimacy of U i .
5:
   otherwise, output F a l s e , and terminate the login.

3.3.4. SSO Password Generation Phase

The use U i enters S I D i , S P W i and I D i so that the server can generate an SSO password. In this way, the user U i can obtain services from multiple servers using this single password. The user U i enters S I D i , S P W i and I D i into SSO server. The SSO server generates P W i from S I D i , S P W i and I D i . Procedure of this phase is described by Algorithm 4.
Algorithm 4: SSO password generation.
Input: S I D i , S P W i , I D i .
Output: P W i .
1:
U i enters S I D i , S P W i and I D i into SSO server.
2:
SSO server generates P W i = S S O g e n ( S I D i , S P W i , I D i ) .

3.3.5. Device Registration Phase

In this phase, the s e n s o r i registers with the attribute authority for further communication. The sensor and the authority perform necessary steps for device registration, as presented in Algorithm 5. The s e n s o r i sends D I D i to the attribute authority. The authority verifies D I D i , then sends public parameter P P to the s e n s o r i .
Algorithm 5: Device registration.
Input: D I D i .
Output: P P .
1:
S e n s o r i sends D I D i to attribute authority.
2:
Attribute authority verifies D I D i .
3:
Attribute authority sends P P to s e n s o r i .

3.3.6. User Registration Phase

The user U i uses his/her identity I D i to register and obtain the attribute private key from the attribute authority. This procedure is performed by the attribute authority, as specified in Algorithm 6. The user U i first sends his/her identity I D i to the attribute authority. Upon the received message, the attribute authority verifies I D i . It then randomly chooses t I D i R Z q , and uses g , α , β , and t I D i to compute K i , L i = g t I D i and K j i = Q j t I D i (   j   x ) . The authority generates attribute private key S K I D i =   ( K i , L i , K j i ), and sends S K I D i to the user U i .
Algorithm 6: User registration.
Input: I D i , P P , M S K .
Output: S K I D i .
1:
Receive I D i from U i .
2:
Verify I D i .
3:
Choose t I D i R Z q .
4:
Compute K i = g α + ( β t I D i ) .
5:
Compute L i = g t I D i .
6:
Compute K j i = Q j t I D i (   j   x ) .
7:
Send S K I D i =   ( K i , L i , K j i ) to U i .

3.3.7. Log Signcryption Phase

In this phase, the s e n s o r i is allowed to signcrypt the log, based on attribute-based access policy, Boolean formula B F and public parameters P P . The s e n s o r i performs specific steps in Algorithm 7 for the log signcryption procedure. It sets LSSS matrix m e   by Boolean formula B F , and randomly generates random number r j R Z q (   j   x ) and a secret vector v e composed by secret signcryption key s and j attributes. Then, the s e n s o r i uses matrix m e , vector   v e , signcryption key s and parameter g to compute λ e = m e v e and C = g s . Parameters B , r j , g and λ e are used to compute C j = g β λ e Q j r j (   j   x ) and D j = g r j (   j   x ) . Next, the s e n s o r i computes log ciphertext C = M Y s , its hash value h = H ( C ) and signature σ C T = h Y .   x s . Thereafter, ECDSA signature σ I o T = E C D S A ( σ C T , I P I o T , t I o T ) is derived. The s e n s o r i generates ciphertext C T = ( σ C T , C , C j , C , D j , m e , I P I o T , t C T ) , and then sends it to the gateway. Finally, δ I o T = ( σ I o T , I P I o T , t I o T ) is stored by the s e n s o r i .
Algorithm7: Log signcryption.
Input: B F , P P , M .
Output: C T , δ I o T .
1:
Set LSSS matrix m e   by B F .
2:
Randomly generate r j R Z q (   j   x ) .
3:
Generate v e = [ s a t t 1 a t t 2 a t t j ] R Z q (   j   x ) .
4:
Use m e and v e to compute λ e = m e v e .
5:
Use s and g to compute   C = g s .
6:
Use B , r j and λ e to compute C j = g β λ e Q j r j (   j   x ) .
7:
Use r j and g to compute D j = g r j (   j   x ) .
8:
Compute C = M Y s .
9:
Compute h = H ( C ) .
10:
Compute σ C T = h Y .   x s .
11:
Perform σ I o T = E C D S A ( σ C T , I P I o T , t I o T ) .
12:
Send C T = ( σ C T   , C , C j , C , D j , m e , I P I o T , t C T ) w i t h ( m e , ρ ( j ) ) to gateway.
13:
Store δ I o T = ( σ I o T , I P I o T , t I o T ) .

3.3.8. Log Verification Phase

The gateway verifies the validity of the signatures and the ciphertext C T , based on public parameters   P P . If the verifications are valid, the gateway will send it to the blockchain server. This phase is performed by the gateway with Algorithm 8. The gateway checks e ( h , Y . x C ) e ( σ , g ) and E C D S A ( δ I o T , σ C T ) . If the checks hold, it sends ciphertext C T to the blockchain server. The ciphertext is then stored at cluster storage. The gateway computes signature σ G W = E C D S A ( σ C T , σ I o T , I P G W , t G W ) , sets δ G W = ( σ G W , I P G W , t G W ) , and stores δ G W .
Algorithm 8: Log Verification.
Input: C T , δ I o T , P P .
Output: δ G W .
1:
Ve r i f y :   e ( h , Y .   x C ) e ( σ C T , g ) .
2:
V e r i f y E C D S A ( δ I o T , σ C T ) .
3:
   if above checks hold, then continue with step 5.
4:
   otherwise, terminate the session.5: Send C T to blockchain server, C T is then stored in cluster storage.
5:
Compute signature σ G W = E C D S A ( σ C T , σ I o T , I P G W , t G W ) .
6:
Store δ G W = ( σ G W , I P G W , t G W ) .

3.3.9. Log Unsigncryption Phase

In log unsigncryption phase, the user U i is allowed to unsigncrypt the ciphertext C T to view the log M , using private key S K I D i (with appropriate attributes) and public parameter P P . The user U i uses Algorithm 9 to complete this procedure. Parameter w i   is first restored from the matrix m e with appropriate attributes. The user U i then uses parameters C , C , D j and private key   S K I D i = ( K i , L i , K j i ) to compute decryption key Y s . Value h = H ( C ) is computed for checking e ( h , Y . x C ) e ( σ , g ) based on parameters g , Y , C and C . At last, the user U i uses Y s to decrypt log ciphertext and obtain the log by M = C . Y s 1 .
Algorithm 9: Log unsigncryption.
Input: C T , S K I D i , P P .
Output: M .
1:
Restores w i from m e with appropriate attributes: [ 1 0 0 ] = m e w j .
2:
Use C , C , D j and   S K I D i to compute decryption key: Y s = e ( g , g ) s α = e ( C , K i ) Π j x ( e ( C j , L i ) e ( D j K j i ) ) w j .
3:
Compute h = H ( C ) .
4:
Use g , Y , C and C to Ve r i f y :   e ( h , Y .   x C ) e ( σ C T , g ) .
5:
   if above check holds, then continue with step 7.
6:
   otherwise, terminate the session.
7:
Use Y s to decrypt C and obtain M = C . Y s 1 .

3.3.10. Private Block Calculation Phase

Based on the ciphertext C T and some other information, the blockchain server calculates private block data, then writes it to the blockchain. At first, the server retrieves previous hash from the private blockchain, and verifies ECDSA signature σ G W . It computes signature σ S r v = E C D S A ( σ C T , σ G W , I P S r v , t S r v ) , and sets δ S r v = ( σ S r v , I P S r v , t S r v ) and δ C T = ( σ C T , I P S r v , t C T ) . The initial N o n c e value is set as 0. The server then iteratively compute H ( N o n c e P r e v i o u s H a s h δ S r v δ G W δ I o T δ C T O p t i o n a l F i e l d s O t h e r F i e l d s ) , which must be smaller than the D i f f i c u l t y level. It sets N o n c e = N o n c e + 1 if above check does not hold, and re-compute the hash. The computing is completed if above condition holds. Block data P r i B = ( δ S r v , δ G W , δ I o T , δ C T , N o n c e , D i f f i c u l t y , O p t i o n a l   F i e l d s is generated and written to the private blockchain. Finally, the server receives a corresponding block number P r i B l o c k N o n . Private blockchain calculation procedure is further specified in Algorithm 10.

3.3.11. Private Block Verification Phase

In this phase, the user U i verifies the validity of the private block P r i B . Specific steps of private block verification are performed by the user U i with Algorithm 11. The user U i verifies whether H ( N o n c e P r e v i o u s H a s h δ S r v δ G W δ I o T δ C T O p t i o n a l F i e l d s O t h e r F i e l d s )   < D i f f i c u l t y . The validity of ECDSA signatures ( δ I o T , σ C T ) , ( δ G W , σ C T ) and ( δ S r v , σ C T ) , and e ( h , Y . x C ) e ( σ C T , g ) are also verified. The system outputs T r u e if above verifications hold, otherwise outputs F a l s e .
Algorithm 10: Private block calculation.
Input: C T , δ I o T , δ G W , P r e v i o u s H a s h , O p t i o n a l F i e l d s , O t h e r F i e l d s .
Output: P r i B .
1:
Retrieve previous hash from private blockchain.
2:
Verify E C D S A ( δ G W , σ C T ) .
3:
   if above check holds, then continue with step 5.
4:
   otherwise, terminate the session.
5:
Compute σ S r v = E C D S A ( σ C T , σ G W , I P S r v , t S r v ) .
6:
Set δ S r v = ( σ S r v , I P S r v , t S r v ) .
7:
Set δ C T = ( σ C T , I P S r v , t C T ) .
8:
Set initial N o n c e value as 0.
9:
     w h i l e H ( N o n c e PreviousHash δ S r v δ G W δ I o T δ C T O p t i o n a l F i e l d s O t h e r F i e l d s ) < D i f f i c u l t y do.
10:
      N o n c e = N o n c e + 1 .
11:
e n d   w h i l e .
12:
Generate P r i B = ( δ S r v , δ G W , δ I o T , δ C T , N o n c e , D i f f i c u l t y , O p t i o n a l   F i e l d s ) .
13:
Write P r i B to private blockchain.
14:
Receive P r i B l o c k N o n from private blockchain.
Algorithm 11: Private block verification.
Input: C T , P r i B .
Output: T r u e   o r   F a l s e .
1:
Verify if: H ( N o n c e P r e v i o u s H a s h δ S r v δ G W δ I o T δ C T O p t i o n a l F i e l d s O t h e r F i e l d s )   < D i f f i c u l t y .
2:
V e r i f y E C D S A ( δ I o T , σ C T ) .
3:
V e r i f y E C D S A ( δ G W , σ C T ) .
4:
V e r i f y E C D S A ( δ S r v , σ C T ) .
5:
V e r i f y :   e ( h , Y . x C ) e ( σ , g ) .
6:
   if verifications hold, then output T r u e .
7:
   otherwise, output F a l s e .

3.3.12. Public Block Calculation Phase

The blockchain sever computes batch signature from multiple signatures, and write it to public blockchain. In this. way, credibility of the signatures is enhanced with immutability feature. The procedure is performed by the blockchain server with Algorithm 12 as follows. The server retrieves block number P r i B l o c k N o n from the corresponding block P r i B n , and multiple signatures σ C T n from multiple private blocks P r i B n . Batch signature B S i g = σ C T 1 σ C T 2 σ C T n is computed to generate public block P u b B = ( P r i B l o c k N o n , B S i g , O p t i o n a l   F i e l d s ) . Next, the server writes P u b B to the public blockchain, and receives the corresponding block number P u b B l o c k N o n .

3.3.13. Public Block Verification Phase

In this phase, the user U i verifies the batch verification of data recorded in public blockchain, based on C T n , P u b B and P P . Algorithm 13 is performed by the user U i to complete this procedure. The user U i confirms if P r i B l o c k N o n is available on the private chain, then obtains the corresponding blocks P r i B n . Next, the user U i verifies whether B S i g matches the signatures in the private blocks P r i B n . Value h n = H ( C n ) is computed based on n log ciphertext C n . Finally. the user U i verifies the validity of the batch signature: e ( h n ,   Y . x n C n ) e ( B S i g , g n ) . The system outputs T r u e , meaning the verification is successful if the check holds, otherwise outputs F a l s e .
Algorithm 12: Public block calculation.
Input: P r i B l o c k N o n .
Output: P u b B .
1:
Retrieve P r i B l o c k N o n from corresponding block P r i B n .
2:
Retrieve σ C T n from P r i B n .
3:
Compute B S i g = σ C T 1 σ C T 2 σ C T n .
4:
Generate P u b B = ( P r i B l o c k N o n , B S i g , O p t i o n a l   F i e l d s ) .
5:
Write P u b B to public blockchain.
6:
Receive P u b B l o c k N o n from public blockchain.
Algorithm 13: Public block verification.
Input: P u b B , C T n , P P .
Output: T r u e   o r   F a l s e .
1:
Confirm if P r i B l o c k N o n is available on private blockchain.
2:
V e r i f y : B S i g σ C T 1 σ C T 2 σ C T n .
3:
   if above check holds, then continue with step 6.
4:
   otherwise, terminate current session.
5:
Compute h n = H ( C n ) , based on n log ciphertext C n .
6:
V e r i f y : e ( h i ,   Y . x n C n ) e ( B S i g ,   g n ) .
7:
   if verification holds, then output T r u e .
8:
   otherwise, output F a l s e .

4. Security Analysis

In this section, we use AVISPA toolset and GNY logic to verify security correctness of the proposed protocol. In addition, we prove that our protocol meets various security requirements based on the semantic proof.

4.1. Protocol Simulation Using AVISPA Toolset

We verify the security properties of the proposed protocol by employing Automated Validation of Internet Security Protocols and Applications (AVISPA) [59]. AVISPA tool uses HLPSL [60] as its formal language, and integrates different back-ends in the verification techniques. The back-ends includes On-the-fly Model-Checker (OFMC), Constraint Logic based Attack Searcher (CL-AtSe), SAT-based ModelChecker (SATMC), and Tree Automata based on automatic approximations for the analysis of security protocols (TA4SP). However, the SATMC and TA4SP back-ends are not frequently used since they cannot verify the protocols using algebraic properties of modular exponentiation and XOR operator. In this simulation, AVISPA tool is integrated with Security Protocol Animator (SPAN) for providing a user-friendly application interface.
In our protocol, single signature verifications conducted by the gateway, the user and the blockchain sever are identical. We therefore only simulate the verification of the user in the log unsigncryption phase. Moreover, since the gateway and the sever just merely receives and verifies the signature, and they do not make any changes to the signature, we assume that the user directly receives signature from the sensor. We use the similar arguments of single signature verification for verifying the correctness of the batch signature.
HLPLS codes in the simulation was specified with three roles: authority (A), sensor (S), and user (U). The symmetric key Kau is used to protect the information in user registration phase. Based on our protocol, ( α , β , u s ) are secret keys of the authority, but for simplicity of the simulation, we only include α . Since AVISPA only support three types of operators (concatenation, exclusive or, and exponentiation), the multiplication and paring function can be performed as hash functions. We also assume ECDSA and inv(ECDSA) are public key and private key respectively, for performing ECDSA algorithms. Specific HLPSL specifications of the user, the authority, and the sensor are provided in Figure 3, Figure 4 and Figure 5 respectively.
In addition, Figure 6 provides the specification of the session role where its composition consisting of all main roles is specified. Environment role illuminated in Figure 7 specifies all relevant components within the communication environment including symmetric keys, functions, protocol id, and intruder knowledge. In simulated environment, we can see that the intruder in turn replaces the roles of the authority, the sensor and the user in respective sessions in which, he/she attempts to compromise the simulated system. We consider four secrecy goals and one authentication goal described in the following:
  • secrecy_of idi” represents the identity I D i that the user uses to register with the authority via a secure channel, it is kept secret to the user and the authority.
  • secrecy_of sk” represents S K I D i that the authority sends to the user, it is also kept secret to the user and the authority.
  • secrecy_of alpha” represents the secret value α , it is kept secret to the authority.
  • secrecy_of ss” represents the secret key s , it is kept secure to the sensor.
  • authentication_on ss”: the user authenticates the sensor on s .
After defining certain communication sessions in environment role, we execute the tool to check the security correctness. The results of OFMC backend and CL-AtSe backend are shown in Figure 8. We claim that the proposed protocol is provably secure under AVISPA simulation.

4.2. Logical Analysis Using GNY Logic

This sub-section proves security completeness and correctness of our proposed protocol through Gong-Needham-Yahalom (GNY) logic [61]. For our protocol, the analysis consists of two phases in the logic sequence: message freshness verification and message origin verification. Based on GNY logic, the assumptions and logical rules of our protocol are described in Table 2 and Table 3 respectively [1,62].
Main communication of our protocol can be presented in logic as follows.
s e n s o r i     U i :   ( h Y .   x s   , ( M ) e ( g , g ) α s , g B λ e Q j r j , g s , g r j , m e , I P I o T , t C T ) s e n s o r i     gateway :   h Y .   x s   , ( M ) e ( g , g ) α s , g B λ e Q j r j , g s , g r j , m e , I P I o T , t C T )
Specific phases and corresponding goals of the protocol are described in the following.
  • Phase 1: Message freshness authentication, proving the authenticity of the message.
Goal 1: Other than the authority, only the user U i can read the content of the message transmitted by the s e n s o r i . Goal 1 (G1) is described as follows.
U i   |     ( h Y .   x s   , ( M ) e ( g , g ) α s , g B λ e Q j r j , g s , g r j , m e , I P I o T , t C T )
  • Phase 2: Message origin authentication, proving that the message is transmitted by the legitimate s e n s o r i .
Goal 2: The user U i can verify that only the s e n s o r i can generate the message received by the U i . Description of Goal 2 (G2) is as follows.
U i   |   s e n s o r i   | ~   ( h Y .   x s   , ( M ) e ( g , g ) α s , g B λ e Q j r j , g s , g r j , m e , I P I o T , t C T )
Goal 3: The gateway can verify that only the s e n s o r i can generate the message received by the gateway. Goal 3 (G3) is described as follows.
Gateway   |   s e n s o r i   | ~   ( h Y .   x s   , ( M ) e ( g , g ) α s , g B λ e Q j r j , g s , g r j , m e , I P I o T , t C T )
Based on the assumptions and logical rules, we have the protocol achieve above goals as follows.
Since U i knows of the message, we have that.
U i   * ( * σ C T   , C , C j , C , D j , m e , I P I o T , t C T ) ,
According to (T1), we have that.
U i   ( σ C T   , C , C j , C , D j , m e , I P I o T , t C T ) ,
According to (2), (A1) and (T3), the user U i can compute secret key Y s and use it to decrypt C = M Y s , we have that.
U i   ( h Y .   x s   , ( M ) e ( g , g ) α s , g B λ e Q j r j , g s , g r j , m e , I P I o T , t C T ) ,
According to (3) and (P), we have that.
U i   ϶   h Y .   x s ,   ( M ) e ( g , g ) α s ,   g B λ e Q j r j ,   g s ,   g r j ,   m e ,   I P I o T ,   t C T ,
Based on (4), (A2) and (A3), h Y .   x s is truly recognizable. Therefore, according to (A4) and (R), we have that.
U i   |     ( h Y .   x s ,   ( M ) e ( g , g ) α s ,   g B λ e Q j r j ,   g s ,   g r j ,   m e ,   I P I o T ,   t C T ) ,
Based on (5), (A5), (A6), (A7), and (F) we achieve G1. Due to (6), (8), (A3), (A4), (A5), (A6), (A7), and (F), G2 is achieved. Using similar arguments of G2, we realize G3. As a result, the proposed protocol realizes all goals G1, G2 and G3.

4.3. Semantic Proof

Our proposed protocol provides secure decryption key, signature verification and data integrity, signature unforgeability, data confidentiality, non-repudiation, tamper proof, and perfect forward secrecy. The specific semantic security proof of the protocol is presented in the following.
  • Secure decryptionkey: Based on ECDLP, the adversary cannot retrieve the secret values s from C . The secret value α is also hidden in K i , and K i is even kept secret to the user and the authority only. Therefore, the adversary is not able to obtain g s and g α for computing the decryption key Y s = e ( g , g ) s α . The key is successfully computed only when the legitimate user performs correct pairing operation with appropriate attributes. Thus, we claim the proposed protocol achieves secure decryption key.
  • Robustverification and data integrity: In our protocol, the signature of the ciphertext is verified to assure the authenticity of the log. The verification correctness of single signature σ C T 1 is proved as follows.
e ( h , Y . x C ) =   e ( h , Y . x g s ) =   e ( h ,   g Y . x s ) =   e ( h Y . x s ,   g ) =   e ( σ C T 1 , g ) ,
Suppose there have two signatures for the batch signing, the following equation proves the correctness of batch signature verification (including σ C T 1 and σ C T 2 ).
e ( h 1 h 2 , Y . x Y . x C 1 C 2 ) =   e ( h 1 h 2 , Y . x g s Y . x g s ) =   e ( h 1 h 2 ,   g Y . x s g Y . x s ) =   e ( h 1 Y . x s h 2 Y . x s ,   g g ) =   e ( σ C T 1 σ C T 2 , g g   ) =   e ( B S i g , g g ) ,
Therefore, the signature is verifiably correct. After verifying that the log and its signature is originally sent and signed by the sensor, the integrity is achieved. Thus, the conclusion is established.
  • Signatureunforgeability: If the adversary wants to forge the signature σ = h Y . x s , he must obtain the correct s . However, as stated, the value s is protected by ECDLP. The adversary therefore is not able to compute s for forging signature σ . So, our work achieves signature unforgeability.
  • Dataconfidentiality: If the adversary wants to restore the log M from the ciphertext, he/she must obtain S K I D i = ( K i , L i , K j i ) and compute Y s to unsigncrypt C . However, only the user who has registered with the authority possesses correct attributes and the key S K I D i . As stated, the security of the decryption key Y s is also guaranteed. Moreover, the adversary does not know of M S K = ( α , β , u s ) to compromise the system. Thus, the confidentiality of the logs is fully achieved.
  • Non-repudiation and tamper resistance: During the communication in our protocol, private key s is only known to the sensor. Therefore, the sensor cannot repudiate the signature signed by itself. The signature is furthermore uploaded to public blockchain. Once recorded, it is not possible for block data to be altered retroactively. In this way, the signature cannot be tampered with. Therefore, we claim non-repudiation and data tampering resistance in the proposed protocol.
  • Perfect forward secrecy: In log signcryption phase, the sensor chooses the key s to compute the ciphertext and generate the decryption key Y s . Since s is a randomly selected, the key Y s is computed as a nonce. Therefore, even though the adversary has obtained the decryption key of the current session, he/she cannot recover keys of the past communication sessions. Thus, perfect forward secrecy is achieved in our protocol.

4.4. Comparison with Related Works

We furthermore indicate contributions of this paper by a comparative study of our work and recently published works discussed in Section 1.2. The comparison is described in Table 4. Symbol √ denotes the protocol achieves the corresponding property, and symbol × denotes the property is not provided by the protocol. Besides, symbol -- denotes the property is not available in the protocol. The results show that the proposed protocol satisfies all essential requirements of security and functionality. Especially, only our protocol provides signature chain with evidence legality, which is useful for digital forensic investigations. Public-private blockchain and signcryption method are also not available in all others works except ours. In addition, autonomous model is only introduced in our work, and Hang and Kim [31]’s work.

5. Performance Analysis

In this section, we analyze performance of the proposed protocol based on computation cost. Computation times of major cryptographic functions and operations used in the proposed protocol are defined as follows.
  • T E : Time of performing an exponentiation operation in G 1 .
  • T B P : Time of performing a bilinear paring operation.
  • T H : Time of performing a hash function.
  • T E C D S A _ G e n : Time of performing an ECDSA generation algorithm.
  • T E C D S A _ V e r i : Time of performing an ECDSA verification algorithm.
Due to SSO solution, computation cost of our protocol is independent of the number of servers. Since generating and verifying the ECDSA are performed using private key and public key, we assume their computation costs are similar to asymmetric encryption and decryption algorithms respectively. Suppose finding the nonce value in private blockchain (computing the hash) is straightforward. As shown in Table 5, total cost of the proposed protocol is ( 5 m T E + 2 m ( n + 1 ) T H + ( 2 m n i + 5 m n + 2 m ) T B P + 3 m T E C D S A _ G e n + ( 3 m n + 2 m ) T E C D S A _ V e r i ). Especially, the sensors consume only (5 T E + T H + T E C D S A _ G e n ) for signcrypting a single log.
Based on the data of Table 5, we further conduct experiments of protocol performance with two scenarios: (a) a single user with i attributes signcrypts a single log, and (b) a single user with certain number of attributes (suppose i = 3 ) signcrypts m logs. In the former scenario (depicted in Figure 9a), the cost is slightly increased when i increases. In the latter scenario (depicted in Figure 9b), when m increases, the cost is significantly increased.
It is observed that our protocol bears a reasonable cost with various components and a lot of functionalities. Moreover, it is important to note that the proposed protocol is designed with ECC small key size, rapid BLS signature, signcryption method, and SSO solution. Our work therefore bears low computation and storage cost, and is well suited for the IoT.

6. Implementation

Our implementation simulates log protection of air conditioner S e n s o r 1 in the context of a laboratory in Chang Gung University (Taiwan). S e n s o r 1 is allowed to signcrypt its log based on an access policy. Attributes generated by the attribute authority including Chang Gung University, Department of Information Management, Professor and Student are set to a t t 1 , a t t 2 , a t t 3 and a t t 4 respectively. User U 1 attempts to access the log produced by S e n s o r 1 . The user is able to view the log only if he/she possesses appropriate attributes. We include practical implementation and system construction in the following sub-sections.

6.1. Practical Procedure of the Proposed Protocol

Access policy of the sensors are determined with Boolean formula in the beginning. The access policy of S e n s o r 1 is illuminated in Figure 10.
At first, the authority initializes the corresponding public parameter P P = g , B , Y , H , Q 1 , Q 2 , Q 3 , Q 4 , e , G 1 , G T , and secret parameter M S K = α , β , u s . S e n s o r 1 uses its identity D I D 1 to register with the attribute authority and obtains P P . The user U 1 registers, logs in, and obtains SSO password from the SSO server for accessing specific blockchain server. In this simulation, the user U 1 possesses three attributes: a t t 1 , a t t 2 and a t t 3 . In the user registration phase, the attribute authority performs the Algorithm 6 to compute the secret key S K I D 1 =   ( K 1 , L 1 , K 1 1 , K 2 1 , K 3 1 ) , and send it to the user U 1 . Based on attribute-based access policy B F = ( ( a t t 3   O R   a t t 4 )   A N D   a t t 2 )   A N D   a t t 1 , S e n s o r 1 uses Algorithm 7 to perform signcryption procedure. It then generates C T 1 =( σ C T 1 , C , C 1 , C 2 , C 3 , D 1 , D 2 , D 3 , C C T 1 , I P I o T , t C T )   w i t h   ( m 1 , ρ ( 1 ) ) ( m 2 , ρ ( 2 ) ) ( m 3 , ρ ( 3 ) ) and δ I o T 1 = ( σ I o T 1 , I P I o T , t I o T 1 ) . The gateway verifies validity of the ciphertext C T 1 , sends it to the blockchain server, and stores the signature δ G W 1 = ( σ G W 1 , I P G W , t G W 1 ) after performing Algorithm 8. the user U 1 performs Algorithm 9 to compute the correct key Y s based on the key S K I D 1 with appropriate attributes. Thus, the user U 1 is able to unsigncrypt the ciphertext C T 1 and view the log M 1 .
In private block calculation phase, based on the ciphertext C T 1 and the previous hash retrieved from the private blockchain, the blockchain server generates block P r i B 1 = ( N o n c e , δ C T 1 , δ S r v 1 , δ G W 1 , δ I o T 1 , P r e v i o u s H a s h , D i f f i c u l t y , O p t i o n a l F i e l d s , O t h e r F i e l d s ) , and upload it to the chain. This procedure is conducted by Algorithm 10. Thereafter, the server obtains the block number P r i B l o c k N o 1 generated by the private blockchain. For verifying the validity of the block data P r i B 1 , the user U 1 performs Algorithm 11. Suppose we have private block P r i B 2 generated by the similar procedures. In public block calculation phase, the server then calculates batch signature B S i g 1 = σ C T 1 σ C T 2 . Block data P u b B 1 is then calculated by P u b B 1 = ( B S i g 1 , P r i B l o c k N o 1 , P r i B l o c k N o 2 ) , and is uploaded to the public blockchain. Thereafter, the sever can obtain the block number P u b B l o c k N o 1 generated by the pubic blockchain. The procedure is performed by Algorithm 12. In public block verification phase, the public block data P u b B 1 , the ciphertexts C T 1 , C T 2 , and public parameter P P are retrieved. Based on these parameters, the user U 1 performs Algorithm 13 to verify validity of the uploaded logs.

6.2. System Construction

In this sub-section, we construct a system deployment for the proposed protocol. The development environment and system interface of our construction are specifically provided in the following.

6.2.1. Development Environment

  • Host: We use Ubuntu Server 18.04.02 LTS as the host operating system (OS). The specification includes CPU I7-6820 2.7 GHz, 16 GB RAM memory, and 500 GB hard disk.
  • Sensor Configuration: Raspberry Pi is the mainboard used in the system architecture. Raspbian OS is installed with the hardware including Raspberry Pi 3 Model 8 V1.2, CPU ARM Cortex-A53 1.2 GHz Quad Core, 1 GB RAM, and 16 G MicroSD card. Air conditioner sensor YW-51GJ is used as the device of our simulation. The mainboard and the sensor are integrated and assembled in a box so that sensor can contact the ambient air. Overview of our setting is shown in Figure 11.
  • Blockchain platform: We employ Hyperledger Fabric v1.0 for private blockchain. This framework provides development foundation, modularity, scalability, and security for the simulated system. We use open source platform of the Ethereum for public blockchain. Smart contract can be fully written and published on Ethereum to develop diversified applications. In this regard, an account with virtual currency is created with Metamask wallet for data transaction. In addition, the contract is written into blockchain through Infura, an Ethereum application programming interface (API).
  • Kubernetes: We use Kubernetes as the platform, providing microservices for data management, deployment, and expansion. Kubernetes is compatible to all OS platforms, which provides the proper use of system performance. In our simulation, private blockchain is installed with Kubernetes version 1.13.4.
  • Programming language: Languages used in our system includes Golang, HTML and Javascript. Golang library package was developed by Ben Lynn, who developed the library from the original Pairing-Based Cryptography (PBC) written in C language. According to the recommendation of NIST, the selected key length of ECC for security strength is 224-bit type.

6.2.2. System Interface

The device can be configured as an agent with related settings. The configuration file includes agent IP address, server IP address, server port, and agent type. In addition, the cryptographic module supports AES, NTRU, RSA and ABSE, based on the choice of specific cryptosystem. Brief description of device configuration is provided in Figure 12.
The user logs in to the SSO sever using his/her password and smart card. After SSO login, the user has to make another registration with the blockchain sever. To this end, the user enters main identity, password and an additional identity “m0644013” to register with the server of Chang Gung university, named “cgu_blockchain”. SSO password is generated in this registration. Figure 13 shows a registered account with its credential generated by the SSO server for targeted service. Using the account generated by the SSO server, the user can log in to the server “cgu_blockchain”.
If an administrator enters the system, he/she can see the blockchain status and overall service through a monitoring interface. The interface is described in Figure 14. Table providing information of registered devices is also shown in Figure 15. The devices signcrypt the log and uploads it to blockchain server.
In terms of attribute setting, the attribute authority is allowed to add or delete the attributes, in order to initialize the system. In this way, the authority can determine attributes for specific users, and allows them to obtain their attributes during user registration phase.
When the users log in to the system, they can click on the link within private blockchain allocated at the bottom of the monitoring interface (shown in Figure 16) to see block data. The detailed information of private blockchain is provided in Figure 17. In addition, the users (including the administrator and the users who possesses appropriate attributes) can also view the log data at the bottom of this interface. As shown in Figure 17, the log data produced by the sensor includes dust, temperature, humidity, and atmospheric carbon dioxide.
Furthermore, the user can see detailed information stored in public block by clicking on the icon highlighted in Figure 16. As shown in Figure 18, along with all related information, the data input from private blockchain is available at the bottom of the content table of the public blockchain.

7. Conclusions

The logs produced by IoT devices contain important contents and private information, and can be used as evidences for digital forensic investigations. Our work has introduced an autonomous log storage management protocol with blockchain mechanism and access control for the IoT. Various security properties for the logs including robust identity verification, data integrity, non-repudiation, insider attack resistance, and the legality are achieved by the integration of blockchain and signature chain. Moreover, internal security issue has been addressed by fine-grained attribute-based access control. Security analysis demonstrates that our protocol satisfies various security requirements. Our work is well suited for the IoT with a good performance due to elliptic curve short key length, short BLS signature, efficient signcryption method, and multi-server architecture.
In this paper, we propose a protocol with general IoT applications. Domain applications (for instance, WBANs or smart electricity grids) with specific architectures will be considered for our future works with similar mechanisms. Autonomous model would be modified to other ones in which gateways or servers will perform the signscryption. Additionally, protocol performance should also be taken into account, which further improves communication efficiency of low-power devices in the IoT.

Author Contributions

Conceptualization, W.-X.C., and C.-L.H.; protocol, W.-X.C., and C.-L.H.; GNY logic, T.-V.L.; AVISPA tool, T.-V.L.; semantic security analysis, T.-V.L.; performance analysis, T.-V.L.; implementation, W.-X.C.; supervision, C.-L.H.; and funding acquisition, C.-L.H. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by Chang Gung Memorial Hospital under Grant No. CMRPG5D0183 and CMRPD3D0063, and Ministry of Science and Technology in Taiwan under Grant No. MOST-105-2923-E-182-001-MY3, No. MOST-107-2221-E-182-006, and No. MOST-108-2221-E-182-011. This work was also supported in part by Healthy Aging Research Center, Chang Gung University from the Featured Areas Research Center Program within the Framework of the Higher Education Sprout Project by the Ministry of Education (MOE) in Taiwan under Grant No. EMRPD1I0481, No. EMRPD1H0421, and No. EMRPD1H0551.

Acknowledgments

We would like to thank the support of Chang Gung University, Chang Gung Memorial Hospital, the Ministry of Science and Technology (MOST), and the Ministry of Education (MOE) in Taiwan.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wong, A.K.; Hsu, C.L.; Le, T.V.; Hsieh, M.C.; Lin, T.W. Three-Factor Fast Authentication Scheme with Time Bound and User Anonymity for Multi-Server E-Health Systems in 5G-Based Wireless Sensor Networks. Sensors 2020, 20, 2511. [Google Scholar] [CrossRef] [PubMed]
  2. Homaei, M.H.; Salwana, E.; Shamshirband, S. An Enhanced Distributed Data Aggregation Method in the Internet of Things. Sensors 2019, 19, 3173. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. Movassaghi, S.; Abolhasan, M.; Lipman, J.; Smith, D.; Jamalipour, A. Wireless Body Area Networks: A Survey. IEEE Commun. Surv. Tutor. 2014, 16, 1658–1686. [Google Scholar] [CrossRef]
  4. Guo, X.; Lin, H.; Wu, Y.; Peng, M. A new data clustering strategy for enhancing mutual privacy in healthcare IoT systems. Future Gener. Comput. Syst. 2020, 113, 407–417. [Google Scholar] [CrossRef]
  5. Abdelmoneem, R.M.; Benslimane, A.; Shaaban, E. Mobility-aware task scheduling in cloud-Fog IoT-based healthcare architectures. Comput. Netw. 2020, 179, 107348. [Google Scholar] [CrossRef]
  6. Babar, M.; Tariq, M.U.; Jan, M.A. Secure and resilient demand side management engine using machine learning for IoT-enabled smart grid. Sustain. Cities Soc. 2020, 62, 102370. [Google Scholar] [CrossRef]
  7. Kang, L.; Chen, W.; Zheng, Z.; Li, Z.; Liang, W. A Novel Debt-Credit Mechanism for Blockchain-Based Data-Trading in Internet of Vehicles. IEEE Internet Things J. 2019, 6, 9098–9111. [Google Scholar]
  8. Praveen, M.; Harini, V. NB-IOT based smart car parking system. In Proceedings of the 2019 International Conference on Smart Structures and Systems (ICSSS), Chennai, India, 14–15 March 2019. [Google Scholar]
  9. Zhang, R.; Cui, S.; Zhao, C. Design of a Data Acquisition and Transmission System for Smart Factory Based on NB-IoT.; Springer: Singapore, 2018; pp. 875–880. [Google Scholar]
  10. Yang, C.T.; Kristiani, E.; Wang, Y.T.; Min, G.; Lai, C.H.; Jiang, W.J. On construction of a network log management system using ELK Stack with Ceph. J. Supercomput. 2020, 76, 6344–6360. [Google Scholar] [CrossRef]
  11. Rochim, A.F.; Aziz, M.A.; Fauzi, A. Design Log Management System of Computer Network Devices Infrastructures Based on ELK Stack. In Proceedings of the ICECOS 2019—3rd International Conference on Electrical Engineering and Computer Science, Batam Island, Indonesia, 2–3 October 2019. [Google Scholar]
  12. Di Tosto, G.; McAlearney, A.S.; Fareed, N.; Huerta, T.R. Metrics for Outpatient Portal Use Based on Log. File Analysis: Algorithm Development. J. Med. Internet Res. 2020, 22, e16849. [Google Scholar] [CrossRef]
  13. Ryu, J.H.; Sharma, P.K.; Jo, J.H.; Park, J.H. A blockchain-based decentralized efficient investigation framework for IoT digital forensics. J. Supercomput. 2019, 75, 4372–4387. [Google Scholar] [CrossRef]
  14. Harbawi, M.; Varol, A. An improved digital evidence acquisition model for the Internet of Things forensic I: A theoretical framework. In Proceedings of the 2017 5th International Symposium on Digital Forensic and Security (ISDFS), Tirgu Mures, Romania, 26–28 April 2017. [Google Scholar]
  15. Janjua, K.; Shah, M.A.; Almogren, A.; Khattak, H.A.; Maple, C.; Din, I.U. Proactive forensics in IoT: Privacy-aware log-preservation architecture in fog-enabled-cloud using holochain and containerization technologies. Electronics 2020, 9, 1172. [Google Scholar] [CrossRef]
  16. Fernández-Caramés, T.M.; Fraga-Lamas, P. A Review on the Use of Blockchain for the Internet of Things. IEEE Access 2018, 6, 32979–33001. [Google Scholar] [CrossRef]
  17. Yuan, Y.; Wang, F. Towards blockchain-based intelligent transportation systems. In Proceedings of the 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), Rio de Jeneiro, Brazil, 1–4 November 2016. [Google Scholar]
  18. Gordon, W.J.; Catalini, C. Blockchain Technology for Healthcare: Facilitating the Transition to Patient-Driven Interoperability. Comput. Struct. Biotechnol. J. 2018, 16, 224–230. [Google Scholar] [CrossRef] [PubMed]
  19. Samaniego, M.; Jamsrandorj, U.; Deters, R. Blockchain as a Service for IoT. In Proceedings of the 2016 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Chengdu, China, 15–18 December 2016. [Google Scholar]
  20. Panarello, A.; Tapas, N.; Merlino, G.; Longo, F.; Puliafito, A. Blockchain and IoT Integration: A Systematic Survey. Sensors 2018, 18, 2575. [Google Scholar] [CrossRef] [Green Version]
  21. Queiroz, M.M.; Wamba, S.F. Blockchain adoption challenges in supply chain: An empirical investigation of the main drivers in India and the USA. Int. J. Inf. Manag. 2019, 46, 70–82. [Google Scholar] [CrossRef]
  22. Wang, Y.; Singgih, M.; Wang, J.; Rit, M. Making sense of blockchain technology: How will it transform supply chains? Int. J. Product. Econom. 2019, 211, 221–236. [Google Scholar] [CrossRef]
  23. Zyskind, G.; Nathan, O.; Pentland, A. Enigma: Decentralized Computation Platform with Guaranteed Privacy. arXiv 2015, arXiv:1506.03471. Available online: https://arxiv.org/abs/1506.03471 (accessed on 10 June 2015).
  24. Huang, Z.; Su, X.; Zhang, Y.; Shi, C.; Zhang, H.; Xie, L. A decentralized solution for IoT data trusted exchange based-on blockchain. In Proceedings of the 2017 3rd IEEE International Conference on Computer and Communications (ICCC), Chengdu, China, 13–16 December 2017. [Google Scholar]
  25. Axon, L.; Goldsmith, M. PB-PKI: A Privacy-Aware Blockchain-Based PKI.; Oxford University Press: New York, NY, USA, 2017; pp. 311–318. [Google Scholar]
  26. Kebande, V.R.; Ray, I. A Generic Digital Forensic Investigation Framework for Internet of Things (IoT). In Proceedings of the 2016 IEEE 4th International Conference on Future Internet of Things and Cloud (FiCloud), Vienna, Austria, 22–24 August 2016. [Google Scholar]
  27. Perumal, S.; Norwawi, N.M.; Raman, V. Internet of Things(IoT) digital forensic investigation model: Top.-down forensic approach methodology. In Proceedings of the 2015 Fifth International Conference on Digital Information Processing and Communications (ICDIPC), Sierre, Switzerland, 7–9 October 2015. [Google Scholar]
  28. MacDermott, A.; Baker, T.; Shi, Q. Iot Forensics: Challenges for the Ioa Era. In Proceedings of the 2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS), Paris, France, 26–28 February 2018. [Google Scholar]
  29. Taguchi, Y.; Kanai, A.; Tanimo, S. A Distributed Log. Management Method using a Blockchain Scheme. In Proceedings of the 2020 IEEE International Conference on Consumer Electronics (ICCE), Las Vegas, NV, USA, 4–6 January 2020. [Google Scholar]
  30. Pourmajidi, W.; Miranskyy, A. Logchain: Blockchain-Assisted Log. Storage. In Proceedings of the 2018 IEEE 11th International Conference on Cloud Computing (CLOUD), San Francisco, CA, USA, 2–7 July 2018. [Google Scholar]
  31. Hang, L.; Kim, D.-H. Design and Implementation of an Integrated IoT Blockchain Platform for Sensing Data Integrity. Sensors 2019, 19, 2228. [Google Scholar] [CrossRef] [Green Version]
  32. Li, H.; Lan, C.; Fu, X.; Wang, C.; Li, F.; Guo, H. A Secure and Lightweight Fine-Grained Data Sharing Scheme for Mobile Cloud Computing. Sensors 2020, 20, 4720. [Google Scholar] [CrossRef]
  33. Zheng, H.; Shao, J.; Wei, G. Attribute-based encryption with outsourced decryption in blockchain. Peer-to-Peer Netw. Appl. 2020, 13, 1643–1655. [Google Scholar] [CrossRef]
  34. Sowjanya, K.; Dasgupta, M. A ciphertext-policy Attribute based encryption scheme for wireless body area networks based on ECC. J. Inf. Sec. Appl. 2020, 54, 102559. [Google Scholar] [CrossRef]
  35. Zhong, H.; Zhou, Y.; Zhang, Q.; Xu, Y.; Cui, J. An efficient and outsourcing-supported attribute-based access control scheme for edge-enabled smart healthcare. Future Gener. Comput. Syst. 2020, 115, 486–496. [Google Scholar] [CrossRef]
  36. Panko, R. Digital Signatures and Electronic Signatures. In The Internet Encyclopedia; Bidgoli, H., Ed.; John Wiley and Sons: Hoboken, NJ, USA, 2004. [Google Scholar]
  37. Nguyen, T.; Kim, K. A survey about consensus algorithms used in Blockchain. J. Inf. Process. Syst. 2018, 14, 101–128. [Google Scholar]
  38. Lewko, A.; Waters, B. New Proof Methods for Attribute-Based Encryption: Achieving Full Security through Selective Techniques. In Advances in Cryptology—CRYPTO 2012; Springer: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
  39. Beimel, A. Secure Schemes for Secret Sharing and Key Distribution; Technion-Israel Institute of Technology, Faculty of Computer Science: Haifa, Israel, 1996. [Google Scholar]
  40. Shamir, A. Identity-Based Cryptosystems and Signature Schemes. In Advances in Cryptology; Springer: Berlin/Heidelberg, Germany, 1985. [Google Scholar]
  41. Sahai, A.; Waters, B. Fuzzy Identity-Based Encryption. In Advances in Cryptology—EUROCRYPT 2005; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  42. Lai, J.; Deng, R.H.; Guan, C.; Weng, J. Attribute-Based Encryption With Verifiable Outsourced Decryption. IEEE Trans. Inf. Forensics Sec. 2013, 8, 1343–1354. [Google Scholar]
  43. Han, J.; Susilo, W.; Mu, Y.; Yan, J. Privacy-Preserving Decentralized Key-Policy Attribute-Based Encryption. IEEE Trans. Parallel Distrib. Syst. 2012, 23, 2150–2162. [Google Scholar] [CrossRef]
  44. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP’07), Berkeley, CA, USA, 20–23 May 2007. [Google Scholar]
  45. Waters, B. Ciphertext-Policy Attribute-Based Encryption: An. Expressive, Efficient, and Provably Secure Realization. In Public Key Cryptography—PKC 2011; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
  46. Han, J.; Susilo, W.; Mu, Y.; Zhou, J.; Au, M.H.A. Improving Privacy and Security in Decentralized Ciphertext-Policy Attribute-Based Encryption. IEEE Trans. Inf. Forensics Sec. 2015, 10, 665–678. [Google Scholar]
  47. Zheng, Y. Digital signcryption or how to achieve cost(signature & encryption) ≪ cost(signature) + cost(encryption). In Advances in Cryptology—CRYPTO ‘97; Springer: Berlin/Heidelberg, Germany, 1997. [Google Scholar]
  48. Gagné, M.; Narayan, S.; Safavi-Naini, R. Threshold Attribute-Based Signcryption. In Security and Cryptography for Networks; Springer: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
  49. Hankerson, D.; Menezes, A. Elliptic Curve Discrete Logarithm Problem. In Encyclopedia of Cryptography and Security; van Tilborg, H.C.A., Jajodia, S., Eds.; Springer: Boston, MA, USA, 2011; pp. 397–400. [Google Scholar]
  50. Gordon, D. Discrete Logarithm Problem. In Encyclopedia of Cryptography and Security; van Tilborg, H.C.A., Jajodia, S., Eds.; Springer: Boston, MA, USA, 2011; pp. 352–353. [Google Scholar]
  51. Boneh, D.; Lynn, B.; Shacham, H. Short Signatures from the Weil Pairing. In Advances in Cryptology—ASIACRYPT 2001; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
  52. Al-Zubaidie, M.; Zhang, Z.; Zhang, J. Efficient and Secure ECDSA Algorithm and its Applications: A Survey. arXiv 2019, arXiv:1902.10313. Available online: https://arxiv.org/abs/1902.10313 (accessed on 27 February 2019).
  53. Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Cryptography Mailing List. 2009. Available online: https://git.dhimmel.com/bitcoin-whitepaper/ (accessed on 10 October 2020).
  54. Croman, K.; Decker, C.; Eyal, I.; Gencer, A.E.; Juels, A.; Kosba, A.; Miller, A.; Saxena, P.; Shi, E.; Gün Sirer, E.; et al. On Scaling Decentralized Blockchains. In Financial Cryptography and Data Security; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  55. Eyal, I.; Sirer, E.G. Majority is not enough: Bitcoin mining is vulnerable. Commun. ACM 2018, 61, 95–102. [Google Scholar] [CrossRef]
  56. Henry, R.; Herzberg, A.; Kate, A. Blockchain Access Privacy: Challenges and Directions. IEEE Sec. Priv. 2018, 16, 38–45. [Google Scholar] [CrossRef]
  57. Yeow, K.; Gani, A.; Ahmad, R.W.; Rodrigues, J.J.P.C.; Ko, K. Decentralized Consensus for Edge-Centric Internet of Things: A Review, Taxonomy, and Research Issues. IEEE Access 2018, 6, 1513–1524. [Google Scholar] [CrossRef]
  58. Nongbri, I.; Hadem, P.; Chettri, S. A Survey on Single Sign-On. Int. J. Creative Res. Thoughts 2018, 6, 595–602. [Google Scholar]
  59. Team, T.A. Automated Validation of Internet Security Protocols and Applications (AVISPA 1.1). Available online: http://www.avispa-project.org (accessed on 10 November 2020).
  60. Von Oheimb, D. The high-level protocol specification language HLPSL developed in the EU project AVISPA. In Proceedings of the APPSEM 2005 Workshop, Frauenchiemsee, Germany, 13 September 2005. [Google Scholar]
  61. Gong, L.; Needham, R.; Yahalom, R. Reasoning about belief in cryptographic protocols. In Proceedings of the 1990 IEEE Computer Society Symposium on Research in Security and Privacy, Oakland, CA, USA, 7–9 May 1990. [Google Scholar]
  62. Arshad, H.; Rasoolzadegan, A. Design of a Secure Authentication and Key Agreement Scheme Preserving User Privacy Usable in Telecare Medicine Information Systems. J. Med. Syst. 2016, 40, 237. [Google Scholar] [CrossRef] [PubMed]
  63. Hsu, C.L.; Le, T.V.; Hsieh, M.C.; Tsai, K.Y.; Lu, C.F.; Lin, T.W. Three-Factor UCSSO Scheme With Fast Authentication and Privacy Protection for Telecare Medicine Information Systems. IEEE Access 2020, 8, 196553–196566. [Google Scholar] [CrossRef]
Figure 1. System model of the proposed protocol.
Figure 1. System model of the proposed protocol.
Sensors 20 06471 g001
Figure 2. Private blockchain and signature chain in our system model.
Figure 2. Private blockchain and signature chain in our system model.
Sensors 20 06471 g002
Figure 3. HLPLS specification of user role.
Figure 3. HLPLS specification of user role.
Sensors 20 06471 g003aSensors 20 06471 g003b
Figure 4. HLPLS specification of attribute authority role.
Figure 4. HLPLS specification of attribute authority role.
Sensors 20 06471 g004
Figure 5. HLPLS specification of sensor role.
Figure 5. HLPLS specification of sensor role.
Sensors 20 06471 g005
Figure 6. HLPLS specification of session role.
Figure 6. HLPLS specification of session role.
Sensors 20 06471 g006
Figure 7. HLPLS specification of environment role.
Figure 7. HLPLS specification of environment role.
Sensors 20 06471 g007
Figure 8. Verification results using OFMC and CL-AtSe backends.
Figure 8. Verification results using OFMC and CL-AtSe backends.
Sensors 20 06471 g008
Figure 9. Total computation cost of the proposed protocol: (a) n = 1 and m = 1 ; (b) n = 1 and i = 3 .
Figure 9. Total computation cost of the proposed protocol: (a) n = 1 and m = 1 ; (b) n = 1 and i = 3 .
Sensors 20 06471 g009
Figure 10. Access policy B F 1 of S e n s o r 1 .
Figure 10. Access policy B F 1 of S e n s o r 1 .
Sensors 20 06471 g010
Figure 11. Setting of our implementation.
Figure 11. Setting of our implementation.
Sensors 20 06471 g011
Figure 12. Device configuration.
Figure 12. Device configuration.
Sensors 20 06471 g012
Figure 13. Account generated by SSO server.
Figure 13. Account generated by SSO server.
Sensors 20 06471 g013
Figure 14. Blockchain server management interface.
Figure 14. Blockchain server management interface.
Sensors 20 06471 g014
Figure 15. Table of registered devices.
Figure 15. Table of registered devices.
Sensors 20 06471 g015
Figure 16. Private blocks within the chain.
Figure 16. Private blocks within the chain.
Sensors 20 06471 g016
Figure 17. Data stored in a private block.
Figure 17. Data stored in a private block.
Sensors 20 06471 g017
Figure 18. Data stored in a public block.
Figure 18. Data stored in a public block.
Sensors 20 06471 g018
Table 1. Cryptographic functions and notations used in this paper.
Table 1. Cryptographic functions and notations used in this paper.
NotationsDescription
P P Public parameters
M S K Secret parameters
Y Public key of the authority
α Secret key of the authority
C Public signcryption key
s Private signcryption key
M Log plaintext
C Log ciphertext
σ C T Log signature
σ I o T Sensor signature
σ G W Gateway signature
σ S r v Server signature
t Timestamp
I P Internet protocol address
H ( ) Secure one-way hash function
E C D S A (   ) ECDSA signature function
V e r i f y :   E C D S A (   ) Verifying ECDSA signature function
v e Secret vector
B F Access policy based on Boolean formula
x Total number of attributes
I D i Identity of the user
Table 2. The assumptions of the proposed protocol.
Table 2. The assumptions of the proposed protocol.
(A1) U i     Y s : The user U i possesses secret key Y s
(A2) s e n s o r i     s : The s e n s o r i possesses private keys   s
(A3) U i     g s : The user U i know of public key g s
(A4) U i |≡   σ C T : The user U i believes that σ C T is recognizable
(A5) U i |≡ # ( m e ): The user U i believes that m e is fresh
(A6) U i |≡ # ( I P I o T ): The user U i believes that I P I o T is fresh
(A7) U i |≡ # ( t C T ): The user U i believes that timestamp t C T is fresh
Table 3. The logical rules of the proposed protocol.
Table 3. The logical rules of the proposed protocol.
(F) U | # ( M ) U | # ( M , Y ) , U | # ( F ( M ) ) : U believes message M is fresh, which means U can believe that any (M, N) including message M is fresh, then U believes F(M), which is computed from message M, is also fresh
(P) U M U M : U can see the message M, indicating that U really possesses the message M
(R) U | ( M ) U | ( M , N ) ,   U | ( F ( M ) ) : U believes message M is recognizable, indicating that U can believe that any (M, N) including message M is recognizable, and U believes that any F(M) computed from message M is also recognizable)
(T1) U * M U M : when U obtains a non-original value *M, it means U may obtain the original M
(T3) U { M } K ,   U Y U M : U uses secret key Y to encrypt, decrypt to obtain message M
Table 4. Comparison on security and functionality of our work and related works.
Table 4. Comparison on security and functionality of our work and related works.
[13][29][30][31][32][33][34][35]Ours
Autonomous model×××××××
Signcryption method××××××××
Fine-grained access control with ABE××××
Blockchain mechanism×××
Integration of private and public blockchain××××--×----
Signature chain××××××××
Evidence legality×----×--------
Signature unforgeability--------------
Data non-repudiation------------
Data integrity----------
Data tampering resistance××××
Perfect forward secrecy--------
Protocol simulation using AVISPA/ProVerif××××××××
Protocol implementation××××××
Table 5. Execution time complexities of the proposed protocol.
Table 5. Execution time complexities of the proposed protocol.
SensorGatewayUserServer
Log signcryption phase(5 T E + T H + T E C D S A _ G e n ) m ------
Log verification phase--(2 T B P + T E C D S A _ G e n + T E C D S A _ V e r i ) m ----
Log unsigncryption phase----(2 i T B P + 3 T B P + T H ) m n --
Private block calculation phase------( T E C D S A _ G e n + T E C D S A _ V e r i + T H ) m
Private block verification phase----( T H + 2 T B P + 3 T E C D S A _ V e r i ) m n --
Total time complexities 5 m T E + 2 m ( n + 1 ) T H + ( 2 m n i + 5 m n + 2 m ) T B P + 3 m T E C D S A _ G e n + ( 3 m n + 2 m ) T E C D S A _ V e r i
Total time estimation ( m s )0.5244 m n i + 3.47346 m n + 7.72938 m
m : no. of logs that can be accessed by a single user; n : no. of users; i : no. of attributes; --: not available. Based on [1,63]: T E ≈ 0.72036 m s , T B P ≈ 0.2622 m s , T H ≈ 0.00069 m s , T E C D S A _ G e n ≈ 0.72036 m s , and T E C D S A _ V e r i ≈ 0.72036 m s .
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Hsu, C.-L.; Chen, W.-X.; Le, T.-V. An Autonomous Log Storage Management Protocol with Blockchain Mechanism and Access Control for the Internet of Things. Sensors 2020, 20, 6471. https://0-doi-org.brum.beds.ac.uk/10.3390/s20226471

AMA Style

Hsu C-L, Chen W-X, Le T-V. An Autonomous Log Storage Management Protocol with Blockchain Mechanism and Access Control for the Internet of Things. Sensors. 2020; 20(22):6471. https://0-doi-org.brum.beds.ac.uk/10.3390/s20226471

Chicago/Turabian Style

Hsu, Chien-Lung, Wei-Xin Chen, and Tuan-Vinh Le. 2020. "An Autonomous Log Storage Management Protocol with Blockchain Mechanism and Access Control for the Internet of Things" Sensors 20, no. 22: 6471. https://0-doi-org.brum.beds.ac.uk/10.3390/s20226471

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop