Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2020 Nov 12;20(22):6471. doi: 10.3390/s20226471

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

Chien-Lung Hsu 1,2,3,4,5,*, Wei-Xin Chen 1, Tuan-Vinh Le 2
PMCID: PMC7697459  PMID: 33198399

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.

Keywords: attribute-based access control, digital forensics, evidence legality, sensor log, signature chain

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,a1,a2,anRZp 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:y2=x3+ax+b mod q. Let G1 be a multiplicative cyclic group of order n, and g, g1 and g2 be the generators of G1, a bilinear map from G1×G1 to GT is a function e:G1×G1GT. The bilinear map provides the following characteristics and assumption [45,49,50]:

  • Bilinear: If any two integers x,yZp and generators g,g1,g2G1, then e(g1x,g1y)=e(g1,g1)xy=e(g1y,g1x), and e(g1.g2,g)=e(g1,g).e(g2,g).

  • Non-degenerate: There exists g1,g2 G1 such that e(g1,g2) is the generator of GT.

  • Computable: For any g1,g2G1, there exists a polynomial algorithm which can efficiently compute  e(g1,g2).

  • Elliptic Curve Discrete Logarithm Problem (ECDLP): ECDLP is a special case of Discrete Logarithm Problem (DLP), and can be described as follows. Given g1,mG1, the problem is to find integer xZp such that g1x=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 g1,G1,GT defined in Section 2.4, plaintexts M1:{0,1}*, M2:{0,1}*, and hash function H:{0,1}*G1, the procedure of BLS scheme is described as follows:

  • Key generation: Randomly choose an integer xRZp, let x be private key, we have Y=g1x is the corresponding public key.

  • Signature generation: Use hash function H and private key x to sign the plaintext M1 and generate signature σ1=H(M1)x.

  • Signature verification: Based on plaintext M1 and signature σ1, the verification is to confirm the equation (H(M1),Y)e(σ1,g1). Correctness of the verification is proved as follows: e(H(M1),Y)=e(H(M1),g1x)=e(H(M1)x,g1)=e(σ1,g1).

  • Batch signature verification: As stated, σ1=H(M1)x and σ2=H(M2)x are the signatures, the verification is to confirm e(H(M1)H(M2),YY)e(σ1σ2,g1g1). The verification correctness is proved as follows: e(H(M1)H(M2),YY)=e(H(M1)H(M2),g1xg1x)=e(H(M1)xH(M2)x,g1g1)=e(σ1σ2,g1g1).

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.

Table 1.

Cryptographic functions and notations used in this paper.

Notations Description
PP Public parameters
MSK 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
σCT Log signature
σIoT Sensor signature
σGW Gateway signature
σSrv Server signature
t Timestamp
IP Internet protocol address
H() Secure one-way hash function
ECDSA( ) ECDSA signature function
Verify: ECDSA( ) Verifying ECDSA signature function
ve Secret vector
BF Access policy based on Boolean formula
x Total number of attributes
IDi Identity of the user

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.

Figure 1.

Figure 1

System model of the proposed protocol.

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.

Figure 2.

Figure 2

Private blockchain and signature chain in our system model.

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:y2=x3+ax+b mod q. It then generates a cyclic group G1 and bilinear map e:G1×G1GT. g is set as the generator of G1. Next, a set of system attributes is determined by us={att1,att2,,attx}. The authority selects the corresponding random numbers {Q1,Q2,,Qx}RG1, based on attribute set us, and chooses a secure one-way hash function H:{0,1}*G1. It randomly selects α,βRZq, and compute B=gβ and public key Y=e(g,g)α. Finally, the authority generates public parameter PP=(g,B,Y,H,Qx,e,G1,GT) and secret parameter MSK=(α,β,us). Specific steps of this phase are described in Algorithm 1.

Algorithm 1: System initialization.
Input: Initial parameters.
Output: PP, MSK.
  • 1:

    Select a big number q, and determine the elliptic curve: E:y2=x3+ax+b mod q.

  • 2:

    Generate a cyclic group G1 and bilinear map e:G1×G1GT.

  • 3:

    Set g as the generator of G1.

  • 4:

    Determine system attribute set us={att1,att2,,attx}.

  • 5:

    Select {Q1,Q2,,Qx}RG1, based on attribute us.

  • 6:

    Choose a secure one-way hash function H:{0,1}*G1.

  • 7:

    Randomly select α,βRZq.

  • 8:

    Compute B=gβ.

  • 9:

    Compute public key Y=e(g,g)α.

  • 10:

    Generate PP=(g,B,Y,H,Qx,e,G1,GT) and MSK=(α,β,us).

3.3.2. SSO Registration Phase

In this phase, the user Ui 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 Ui enters SIDi and SPWi into smart card. The smart card generates a random number ri, and computes Ai=H(SPWi)H(riSIDi). The SSO sever then stores ri and Ai.

Algorithm2: SSO registration.
Input: SIDi, SPWi.
Output: ri, Ai.
  • 1:

    Ui enters  SIDi and SPWi into smart card.

  • 2:

    Smart card generates ri.

  • 3:

    Smart card computes Ai=H(SPWi)H(riSIDi).

  • 4:

    SSO sever stores ri and Ai.

3.3.3. SSO Login Phase

The user Ui enters SIDi and SPWi into SSO sever for verifying his/her legitimacy. The user Ui enters SIDi and SPWi into the SSO server. The SSO server computes Ai=H(SPWi)H(riSIDi). It then compares Ai and Ai, in order to verify legitimacy of the user Ui. Procedure of this phase is presented by Algorithm 3.

Algorithm 3: SSO login.
Input: SIDi, SPWi.
Output: True or False.
  • 1:

    Ui enters SIDi and SPWi.

  • 2:

    SSO server computes Ai=H(SPWi)H(riSIDi).

  • 3:

    SSO server compares Ai and Ai.

  • 4:

       if above check holds, then output True, and confirm legitimacy of Ui.

  • 5:

       otherwise, output False, and terminate the login.

3.3.4. SSO Password Generation Phase

The use Ui enters SIDi, SPWi and IDi so that the server can generate an SSO password. In this way, the user Ui can obtain services from multiple servers using this single password. The user Ui enters SIDi, SPWi and IDi into SSO server. The SSO server generates PWi from SIDi, SPWi and IDi. Procedure of this phase is described by Algorithm 4.

Algorithm 4: SSO password generation.
Input: SIDi,SPWi,IDi.
Output: PWi.
  • 1:

    Ui enters SIDi, SPWi and IDi into SSO server.

  • 2:

    SSO server generates PWi=SSOgen(SIDi,SPWi,IDi).

3.3.5. Device Registration Phase

In this phase, the sensori 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 sensori sends DIDi to the attribute authority. The authority verifies DIDi, then sends public parameter PP to the sensori.

Algorithm 5: Device registration.
Input: DIDi.
Output: PP.
  • 1:

    Sensori sends DIDi to attribute authority.

  • 2:

    Attribute authority verifies DIDi.

  • 3:

    Attribute authority sends PP to sensori.

3.3.6. User Registration Phase

The user Ui uses his/her identity IDi 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 Ui first sends his/her identity IDi to the attribute authority. Upon the received message, the attribute authority verifies IDi. It then randomly chooses tIDiRZq, and uses g,α,β, and tIDi to compute Ki, Li=gtIDi and Kji=QjtIDi( j x). The authority generates attribute private key SKIDi= (Ki,Li,Kji), and sends SKIDi to the user Ui.

Algorithm 6: User registration.
Input: IDi,PP,MSK.
Output: SKIDi.
  • 1:

    Receive IDi from Ui.

  • 2:

    Verify IDi.

  • 3:

    Choose tIDiRZq.

  • 4:

    Compute Ki=gα+(βtIDi).

  • 5:

    Compute Li=gtIDi.

  • 6:

    Compute Kji=QjtIDi( j x).

  • 7:

    Send SKIDi= (Ki,Li,Kji) to Ui.

3.3.7. Log Signcryption Phase

In this phase, the sensori is allowed to signcrypt the log, based on attribute-based access policy, Boolean formula BF and public parameters PP. The sensori performs specific steps in Algorithm 7 for the log signcryption procedure. It sets LSSS matrix me by Boolean formula BF, and randomly generates random number rjRZq( j x) and a secret vector ve composed by secret signcryption key s and j attributes. Then, the sensori uses matrix me, vector  ve, signcryption key s and parameter g to compute λe=meve and C=gs. Parameters B, rj, g and λe are used to compute Cj=gβλeQjrj( j x) and Dj=grj( j x). Next, the sensori computes log ciphertext C=MYs, its hash value h=H(C) and signature σCT=hY. xs. Thereafter, ECDSA signature σIoT=ECDSA(σCT,IPIoT,tIoT) is derived. The sensori generates ciphertext CT=(σCT,C,Cj,C,Dj,me,IPIoT,tCT), and then sends it to the gateway. Finally, δIoT=(σIoT,IPIoT,tIoT) is stored by the sensori.

Algorithm7: Log signcryption.
Input: BF,PP,M.
Output: CT,δIoT.
  • 1:

    Set LSSS matrix me by BF.

  • 2:

    Randomly generate rjRZq( j x).

  • 3:

    Generate ve=[satt1att2attj]RZq( j x).

  • 4:

    Use me and ve to compute λe=meve.

  • 5:

    Use s and g to compute C=gs.

  • 6:

    Use B, rj and λe to compute Cj=gβλeQjrj( j x).

  • 7:

    Use rj and g to compute Dj=grj( j x).

  • 8:

    Compute C=MYs.

  • 9:

    Compute h=H(C).

  • 10:

    Compute σCT=hY. xs.

  • 11:

    Perform σIoT=ECDSA(σCT,IPIoT,tIoT).

  • 12:

    Send CT=(σCT ,C,Cj,C,Dj,me,IPIoT,tCT)with(me,ρ(j)) to gateway.

  • 13:

    Store δIoT=(σIoT,IPIoT,tIoT).

3.3.8. Log Verification Phase

The gateway verifies the validity of the signatures and the ciphertext CT, based on public parameters PP. 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.xC)e(σ,g) and ECDSA(δIoT,σCT). If the checks hold, it sends ciphertext CT to the blockchain server. The ciphertext is then stored at cluster storage. The gateway computes signature σGW=ECDSA(σCT,σIoT,IPGW,tGW), sets δGW=(σGW,IPGW,tGW), and stores δGW.

Algorithm 8: Log Verification.
Input: CT,δIoT,PP.
Output: δGW.
  • 1:

    Verify: e(h,Y. xC)e(σCT,g).

  • 2:

    VerifyECDSA(δIoT,σCT).

  • 3:

       if above checks hold, then continue with step 5.

  • 4:

       otherwise, terminate the session.5: Send CT to blockchain server, CT is then stored in cluster storage.

  • 5:

    Compute signature σGW=ECDSA(σCT,σIoT,IPGW,tGW).

  • 6:

    Store δGW=(σGW,IPGW,tGW).

3.3.9. Log Unsigncryption Phase

In log unsigncryption phase, the user Ui is allowed to unsigncrypt the ciphertext CT to view the log M, using private key SKIDi (with appropriate attributes) and public parameter PP. The user Ui uses Algorithm 9 to complete this procedure. Parameter wi is first restored from the matrix me with appropriate attributes. The user Ui then uses parameters C,C,Dj and private key SKIDi=(Ki,Li,Kji) to compute decryption key Ys. Value h=H(C) is computed for checking e(h,Y.xC)e(σ,g) based on parameters g, Y, C and C. At last, the user Ui uses Ys to decrypt log ciphertext and obtain the log by M=C.Ys1.

Algorithm 9: Log unsigncryption.
Input: CT,SKIDi,PP.
Output: M.
  • 1:

    Restores wi from me with appropriate attributes: [100]=mewj.

  • 2:

    Use C,C,Dj and SKIDi to compute decryption key: Ys=e(g,g)sα=e(C,Ki)Πjx(e(Cj,Li)e(DjKji))wj.

  • 3:

    Compute h=H(C).

  • 4:

    Use g, Y, C and C to Verify: e(h,Y. xC)e(σCT,g).

  • 5:

       if above check holds, then continue with step 7.

  • 6:

       otherwise, terminate the session.

  • 7:

    Use Ys to decrypt C and obtain M=C.Ys1.

3.3.10. Private Block Calculation Phase

Based on the ciphertext CT 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 σGW. It computes signature σSrv=ECDSA(σCT,σGW,IPSrv,tSrv), and sets δSrv=(σSrv,IPSrv,tSrv) and δCT=(σCT,IPSrv,tCT). The initial Nonce value is set as 0. The server then iteratively compute H(NoncePreviousHashδSrvδGWδIoTδCTOptionalFieldsOtherFields), which must be smaller than the Difficulty level. It sets Nonce=Nonce+1 if above check does not hold, and re-compute the hash. The computing is completed if above condition holds. Block data PriB=(δSrv,δGW,δIoT,δCT,Nonce,Difficulty,Optional Fields is generated and written to the private blockchain. Finally, the server receives a corresponding block number PriBlockNon. Private blockchain calculation procedure is further specified in Algorithm 10.

3.3.11. Private Block Verification Phase

In this phase, the user Ui verifies the validity of the private block PriB. Specific steps of private block verification are performed by the user Ui with Algorithm 11. The user Ui verifies whether H(NoncePreviousHashδSrvδGWδIoTδCTOptionalFieldsOtherFields) <Difficulty. The validity of ECDSA signatures (δIoT,σCT), (δGW,σCT) and (δSrv,σCT), and e(h,Y.xC)e(σCT,g) are also verified. The system outputs True if above verifications hold, otherwise outputs False.

Algorithm 10: Private block calculation.
Input: CT,δIoT,δGW,PreviousHash,OptionalFields,OtherFields.
Output: PriB.
  • 1:

    Retrieve previous hash from private blockchain.

  • 2:

    VerifyECDSA(δGW,σCT).

  • 3:

       if above check holds, then continue with step 5.

  • 4:

       otherwise, terminate the session.

  • 5:

    Compute σSrv=ECDSA(σCT,σGW,IPSrv,tSrv).

  • 6:

    Set δSrv=(σSrv,IPSrv,tSrv).

  • 7:

    Set δCT=(σCT,IPSrv,tCT).

  • 8:

    Set initial Nonce value as 0.

  • 9:

        while H(NoncePreviousHashδSrvδGWδIoTδCTOptionalFieldsOtherFields)<Difficulty do.

  • 10:

         Nonce=Nonce+1.

  • 11:

    end while.

  • 12:

    Generate PriB=(δSrv,δGW,δIoT,δCT,Nonce,Difficulty,Optional Fields).

  • 13:

    Write PriB to private blockchain.

  • 14:

    Receive PriBlockNon from private blockchain.

Algorithm 11: Private block verification.
Input: CT,PriB.
Output: True or False.
  • 1:

    Verify if: H(NoncePreviousHashδSrvδGWδIoTδCTOptionalFieldsOtherFields) <Difficulty.

  • 2:

    VerifyECDSA(δIoT,σCT).

  • 3:

    VerifyECDSA(δGW,σCT).

  • 4:

    VerifyECDSA(δSrv,σCT).

  • 5:

    Verify: e(h,Y.xC)e(σ,g).

  • 6:

       if verifications hold, then output True.

  • 7:

       otherwise, output False.

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 PriBlockNon from the corresponding block PriBn, and multiple signatures σCTn from multiple private blocks PriBn. Batch signature BSig=σCT1σCT2σCTn is computed to generate public block PubB=(PriBlockNon,BSig,Optional Fields). Next, the server writes PubB to the public blockchain, and receives the corresponding block number PubBlockNon.

3.3.13. Public Block Verification Phase

In this phase, the user Ui verifies the batch verification of data recorded in public blockchain, based on CTn,PubB and PP. Algorithm 13 is performed by the user Ui to complete this procedure. The user Ui confirms if PriBlockNon is available on the private chain, then obtains the corresponding blocks PriBn. Next, the user Ui verifies whether BSig matches the signatures in the private blocks PriBn. Value hn=H(Cn) is computed based on n log ciphertext Cn. Finally. the user Ui verifies the validity of the batch signature: e(hn, Y.xnCn)e(BSig,gn). The system outputs True, meaning the verification is successful if the check holds, otherwise outputs False.

Algorithm 12: Public block calculation.
Input: PriBlockNon.
Output: PubB.
  • 1:

    Retrieve PriBlockNon from corresponding block PriBn.

  • 2:

    Retrieve σCTn from PriBn.

  • 3:

    Compute BSig=σCT1σCT2σCTn.

  • 4:

    Generate PubB=(PriBlockNon,BSig,Optional Fields).

  • 5:

    Write PubB to public blockchain.

  • 6:

    Receive PubBlockNon from public blockchain.

Algorithm 13: Public block verification.
Input: PubB,CTn,PP.
Output: True or False.
  • 1:

    Confirm if PriBlockNon is available on private blockchain.

  • 2:

    Verify:BSigσCT1σCT2σCTn.

  • 3:

       if above check holds, then continue with step 6.

  • 4:

       otherwise, terminate current session.

  • 5:

    Compute hn=H(Cn), based on n log ciphertext Cn.

  • 6:

    Verify:e(hi, Y.xnCn)e(BSig, gn).

  • 7:

       if verification holds, then output True.

  • 8:

       otherwise, output False.

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, (α,β,us) 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.

Figure 3.

Figure 3

Figure 3

HLPLS specification of user role.

Figure 4.

Figure 4

HLPLS specification of attribute authority role.

Figure 5.

Figure 5

HLPLS specification of sensor role.

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:

Figure 6.

Figure 6

HLPLS specification of session role.

Figure 7.

Figure 7

HLPLS specification of environment role.

  • secrecy_of idi” represents the identity IDi 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 SKIDi 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.

Figure 8.

Figure 8

Verification results using OFMC and CL-AtSe backends.

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

Table 2.

The assumptions of the proposed protocol.

(A1) Ui  Ys: The user Ui possesses secret key Ys
(A2) sensori  s: The sensori possesses private keys s
(A3) Ui  gs: The user Ui know of public key gs
(A4) Ui |≡  σCT: The user Ui believes that σCT is recognizable
(A5) Ui |≡ # (me): The user Ui believes that me is fresh
(A6) Ui |≡ # (IPIoT): The user Ui believes that IPIoT is fresh
(A7) Ui |≡ # (tCT): The user Ui believes that timestamp tCT is fresh

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) UMUM: 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*MUM: when U obtains a non-original value *M, it means U may obtain the original M
(T3) U{M}K, UYUM: U uses secret key Y to encrypt, decrypt to obtain message M

Main communication of our protocol can be presented in logic as follows.

sensori  Ui: (hY. xs ,(M)e(g,g)αs,gBλeQjrj,gs,grj,me,IPIoT,tCT)sensori  gateway: hY. xs ,(M)e(g,g)αs,gBλeQjrj,gs,grj,me,IPIoT,tCT)

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 Ui can read the content of the message transmitted by the sensori. Goal 1 (G1) is described as follows.

Ui |  (hY. xs ,(M)e(g,g)αs,gBλeQjrj,gs,grj,me,IPIoT,tCT)
  • Phase 2: Message origin authentication, proving that the message is transmitted by the legitimate sensori.

Goal 2: The user Ui can verify that only the sensori can generate the message received by the Ui. Description of Goal 2 (G2) is as follows.

Ui | sensori |~ (hY. xs ,(M)e(g,g)αs,gBλeQjrj,gs,grj,me,IPIoT,tCT)

Goal 3: The gateway can verify that only the sensori can generate the message received by the gateway. Goal 3 (G3) is described as follows.

Gateway | sensori |~ (hY. xs ,(M)e(g,g)αs,gBλeQjrj,gs,grj,me,IPIoT,tCT)

Based on the assumptions and logical rules, we have the protocol achieve above goals as follows.

Since Ui knows of the message, we have that.

Ui *(*σCT ,C,Cj,C,Dj,me,IPIoT,tCT), (1)

According to (T1), we have that.

Ui (σCT ,C,Cj,C,Dj,me,IPIoT,tCT), (2)

According to (2), (A1) and (T3), the user Ui can compute secret key Ys and use it to decrypt C=MYs, we have that.

Ui (hY. xs ,(M)e(g,g)αs,gBλeQjrj,gs,grj,me,IPIoT,tCT), (3)

According to (3) and (P), we have that.

Ui ϶ hY. xs, (M)e(g,g)αs, gBλeQjrj, gs, grj, me, IPIoT, tCT, (4)

Based on (4), (A2) and (A3), hY. xs is truly recognizable. Therefore, according to (A4) and (R), we have that.

Ui |  (hY. xs, (M)e(g,g)αs, gBλeQjrj, gs, grj, me, IPIoT, tCT), (5)

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 Ki, and Ki is even kept secret to the user and the authority only. Therefore, the adversary is not able to obtain gs and gα for computing the decryption key Ys=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 σCT1 is proved as follows.

e(h,Y.xC)= e(h,Y.xgs)= e(h, gY.xs)= e(hY.xs, g)= e(σCT1,g), (6)

Suppose there have two signatures for the batch signing, the following equation proves the correctness of batch signature verification (including σCT1 and σCT2).

e(h1h2,Y.xY.xC1C2)= e(h1h2,Y.xgsY.xgs)= e(h1h2, gY.xsgY.xs)= e(h1Y.xsh2Y.xs, gg)= e(σCT1σCT2,gg )= e(BSig,gg), (7)

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 σ=hY.xs, 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 SKIDi=(Ki,Li,Kji) and compute Ys to unsigncrypt C. However, only the user who has registered with the authority possesses correct attributes and the key SKIDi. As stated, the security of the decryption key Ys is also guaranteed. Moreover, the adversary does not know of MSK=(α,β,us) 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 Ys. Since s is a randomly selected, the key Ys 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.

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 × × × × × ×

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.

  • TE: Time of performing an exponentiation operation in G1.

  • TBP: Time of performing a bilinear paring operation.

  • TH: Time of performing a hash function.

  • TECDSA_Gen: Time of performing an ECDSA generation algorithm.

  • TECDSA_Veri: 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 (5mTE + 2m(n+1)TH + (2mni+5mn+2m)TBP + 3mTECDSA_Gen + (3mn+2m)TECDSA_Veri). Especially, the sensors consume only (5TE + TH + TECDSA_Gen) for signcrypting a single log.

Table 5.

Execution time complexities of the proposed protocol.

Sensor Gateway User Server
Log signcryption phase (5TE + TH + TECDSA_Gen)m -- -- --
Log verification phase -- (2TBP + TECDSA_Gen + TECDSA_Veri)m -- --
Log unsigncryption phase -- -- (2iTBP + 3TBP + TH)mn --
Private block calculation phase -- -- -- (TECDSA_Gen + TECDSA_Veri + TH)m
Private block verification phase -- -- (TH + 2TBP + 3TECDSA_Veri)mn --
Total time complexities 5mTE + 2m(n+1)TH + (2mni+5mn+2m)TBP + 3mTECDSA_Gen + (3mn+2m)TECDSA_Veri
Total time estimation (ms) 0.5244mni + 3.47346mn + 7.72938m

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]: TE ≈ 0.72036ms, TBP ≈ 0.2622ms, TH ≈ 0.00069ms, TECDSA_Gen ≈ 0.72036ms, and TECDSA_Veri ≈ 0.72036ms.

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.

Figure 9.

Figure 9

Total computation cost of the proposed protocol: (a) n=1 and m=1; (b) n=1 and i=3.

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 Sensor1 in the context of a laboratory in Chang Gung University (Taiwan). Sensor1 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 att1,att2,att3 and att4 respectively. User U1 attempts to access the log produced by Sensor1. 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 Sensor1 is illuminated in Figure 10.

Figure 10.

Figure 10

Access policy BF1 of Sensor1.

At first, the authority initializes the corresponding public parameter PP=g,B,Y,H,Q1,Q2,Q3,Q4,e,G1,GT, and secret parameter MSK=α,β,us. Sensor1 uses its identity DID1 to register with the attribute authority and obtains PP. The user U1 registers, logs in, and obtains SSO password from the SSO server for accessing specific blockchain server. In this simulation, the user U1 possesses three attributes: att1, att2 and att3. In the user registration phase, the attribute authority performs the Algorithm 6 to compute the secret key SKID1= (K1,L1,K11,K21,K31), and send it to the user U1. Based on attribute-based access policy BF=((att3 OR att4) AND att2) AND att1, Sensor1 uses Algorithm 7 to perform signcryption procedure. It then generates CT1=(σCT1,C,C1,C2,C3,D1,D2,D3,CCT1,IPIoT,tCT) with (m1,ρ(1))(m2,ρ(2))(m3,ρ(3)) and δIoT1=(σIoT1,IPIoT,tIoT1). The gateway verifies validity of the ciphertext CT1, sends it to the blockchain server, and stores the signature δGW1=(σGW1,IPGW,tGW1) after performing Algorithm 8. the user U1 performs Algorithm 9 to compute the correct key Ys based on the key SKID1 with appropriate attributes. Thus, the user U1 is able to unsigncrypt the ciphertext CT1 and view the log M1.

In private block calculation phase, based on the ciphertext CT1 and the previous hash retrieved from the private blockchain, the blockchain server generates block PriB1=(Nonce,δCT1,δSrv1,δGW1,δIoT1,PreviousHash,Difficulty,OptionalFields,OtherFields), and upload it to the chain. This procedure is conducted by Algorithm 10. Thereafter, the server obtains the block number PriBlockNo1 generated by the private blockchain. For verifying the validity of the block data PriB1, the user U1 performs Algorithm 11. Suppose we have private block PriB2 generated by the similar procedures. In public block calculation phase, the server then calculates batch signature BSig1=σCT1σCT2. Block data PubB1 is then calculated by PubB1=(BSig1,PriBlockNo1,PriBlockNo2), and is uploaded to the public blockchain. Thereafter, the sever can obtain the block number PubBlockNo1 generated by the pubic blockchain. The procedure is performed by Algorithm 12. In public block verification phase, the public block data PubB1, the ciphertexts CT1,CT2, and public parameter PP are retrieved. Based on these parameters, the user U1 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.

Figure 11.

Figure 11

Setting of our implementation.

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.

Figure 12.

Figure 12

Device configuration.

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

Figure 13.

Figure 13

Account generated by SSO server.

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.

Figure 14.

Figure 14

Blockchain server management interface.

Figure 15.

Figure 15

Table of registered devices.

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.

Figure 16.

Figure 16

Private blocks within the chain.

Figure 17.

Figure 17

Data stored in a private block.

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.

Figure 18.

Figure 18

Data stored in a public block.

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.

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.

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.

Conflicts of Interest

The authors declare no conflict of interest.

Footnotes

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

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. doi: 10.3390/s20092511. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 2.Homaei M.H., Salwana E., Shamshirband S. An Enhanced Distributed Data Aggregation Method in the Internet of Things. Sensors. 2019;19:3173. doi: 10.3390/s19143173. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/SURV.2013.121313.00064. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.future.2020.07.023. [DOI] [Google Scholar]
  • 5.Abdelmoneem R.M., Benslimane A., Shaaban E. Mobility-aware task scheduling in cloud-Fog IoT-based healthcare architectures. Comput. Netw. 2020;179:107348. doi: 10.1016/j.comnet.2020.107348. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.scs.2020.102370. [DOI] [Google Scholar]
  • 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; 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. doi: 10.1007/s11227-019-02853-2. [DOI] [Google Scholar]
  • 11.Rochim A.F., Aziz M.A., Fauzi A. Design Log Management System of Computer Network Devices Infrastructures Based on ELK Stack; 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. doi: 10.2196/16849. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1007/s11227-019-02779-9. [DOI] [Google Scholar]
  • 14.Harbawi M., Varol A. An improved digital evidence acquisition model for the Internet of Things forensic I: A theoretical framework; 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. doi: 10.3390/electronics9071172. [DOI] [Google Scholar]
  • 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. doi: 10.1109/ACCESS.2018.2842685. [DOI] [Google Scholar]
  • 17.Yuan Y., Wang F. Towards blockchain-based intelligent transportation systems; 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. doi: 10.1016/j.csbj.2018.06.003. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 19.Samaniego M., Jamsrandorj U., Deters R. Blockchain as a Service for IoT; 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. doi: 10.3390/s18082575. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1016/j.ijinfomgt.2018.11.021. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.ijpe.2019.02.002. [DOI] [Google Scholar]
  • 23.Zyskind G., Nathan O., Pentland A. Enigma: Decentralized Computation Platform with Guaranteed Privacy. [(accessed on 10 June 2015)];arXiv. 2015 Available online: https://arxiv.org/abs/1506.03471.1506.03471 [Google Scholar]
  • 24.Huang Z., Su X., Zhang Y., Shi C., Zhang H., Xie L. A decentralized solution for IoT data trusted exchange based-on blockchain; 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); 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; 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; 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; 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; 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. doi: 10.3390/s19102228. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s20174720. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 33.Zheng H., Shao J., Wei G. Attribute-based encryption with outsourced decryption in blockchain. Peer-to-Peer Netw. Appl. 2020;13:1643–1655. doi: 10.1007/s12083-020-00918-1. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.jisa.2020.102559. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.future.2020.09.021. [DOI] [Google Scholar]
  • 36.Panko R. Digital Signatures and Electronic Signatures. In: Bidgoli H., editor. The Internet Encyclopedia. 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. Advances in Cryptology—CRYPTO 2012. Springer; Berlin/Heidelberg, Germany: 2012. New Proof Methods for Attribute-Based Encryption: Achieving Full Security through Selective Techniques. [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. Advances in Cryptology. Springer; Berlin/Heidelberg, Germany: 1985. Identity-Based Cryptosystems and Signature Schemes. [Google Scholar]
  • 41.Sahai A., Waters B. Advances in Cryptology—EUROCRYPT 2005. Springer; Berlin/Heidelberg, Germany: 2005. Fuzzy Identity-Based Encryption. [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. doi: 10.1109/TPDS.2012.50. [DOI] [Google Scholar]
  • 44.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. [Google Scholar]
  • 45.Waters B. Public Key Cryptography—PKC 2011. Springer; Berlin/Heidelberg, Germany: 2011. Ciphertext-Policy Attribute-Based Encryption: An. Expressive, Efficient, and Provably Secure Realization. [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. Advances in Cryptology—CRYPTO ‘97. Springer; Berlin/Heidelberg, Germany: 1997. Digital signcryption or how to achieve cost(signature & encryption) ≪ cost(signature) + cost(encryption) [Google Scholar]
  • 48.Gagné M., Narayan S., Safavi-Naini R. Security and Cryptography for Networks. Springer; Berlin/Heidelberg, Germany: 2010. Threshold Attribute-Based Signcryption. [Google Scholar]
  • 49.Hankerson D., Menezes A. Elliptic Curve Discrete Logarithm Problem. In: van Tilborg H.C.A., Jajodia S., editors. Encyclopedia of Cryptography and Security. Springer; Boston, MA, USA: 2011. pp. 397–400. [Google Scholar]
  • 50.Gordon D. Discrete Logarithm Problem. In: van Tilborg H.C.A., Jajodia S., editors. Encyclopedia of Cryptography and Security. Springer; Boston, MA, USA: 2011. pp. 352–353. [Google Scholar]
  • 51.Boneh D., Lynn B., Shacham H. Advances in Cryptology—ASIACRYPT 2001. Springer; Berlin/Heidelberg, Germany: 2011. Short Signatures from the Weil Pairing. [Google Scholar]
  • 52.Al-Zubaidie M., Zhang Z., Zhang J. Efficient and Secure ECDSA Algorithm and its Applications: A Survey. [(accessed on 27 February 2019)];arXiv. 2019 Available online: https://arxiv.org/abs/1902.10313.1902.10313 [Google Scholar]
  • 53.Nakamoto S. Bitcoin: A Peer-to-Peer Electronic Cash System. Cryptography Mailing List. [(accessed on 10 October 2020)];2009 Available online: https://git.dhimmel.com/bitcoin-whitepaper/
  • 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. Financial Cryptography and Data Security. Springer; Berlin/Heidelberg, Germany: 2016. On Scaling Decentralized Blockchains. [Google Scholar]
  • 55.Eyal I., Sirer E.G. Majority is not enough: Bitcoin mining is vulnerable. Commun. ACM. 2018;61:95–102. doi: 10.1145/3212998. [DOI] [Google Scholar]
  • 56.Henry R., Herzberg A., Kate A. Blockchain Access Privacy: Challenges and Directions. IEEE Sec. Priv. 2018;16:38–45. doi: 10.1109/MSP.2018.3111245. [DOI] [Google Scholar]
  • 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. doi: 10.1109/ACCESS.2017.2779263. [DOI] [Google Scholar]
  • 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) [(accessed on 10 November 2020)]; Available online: http://www.avispa-project.org.
  • 60.Von Oheimb D. The high-level protocol specification language HLPSL developed in the EU project AVISPA; 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; 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. doi: 10.1007/s10916-016-0585-3. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/ACCESS.2020.3035076. [DOI] [Google Scholar]

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

RESOURCES