---
abstract: 'Today, Internet of Things (IoT) technology is being increasingly popular which is applied in a wide range of industry sectors such as healthcare, transportation and some critical infrastructures. With the widespread applications of IoT technology, people’s lives have changed dramatically. Due to its capabilities of sensitive data-aware, information collection, communication and processing, it raises security and privacy concerns. Moreover, a malicious attacker may impersonate a legitimate user, which may cause security threat and violation privacy. In allusion to the above problems, we propose a novel and lightweight anonymous authentication and key agreement scheme for heterogeneous IoT, which is innovatively designed to shift between the public key infrastructure (PKI) and certificateless cryptography (CLC) environment. The proposed scheme not only achieves secure communication among the legal authorized users, but also possesses more attributes with user anonymity, non-repudiation and key agreement fairness. Through the security analysis, it is proved that the proposed scheme can resist replay attacks and denial of service (DOS) attacks. Finally, the performance evaluation demonstrates that our scheme is more lightweight and innovative.'
author:
- 
bibliography:
- 'ms.bib'
title: A Novel Secure Authentication Scheme for Heterogeneous Internet of Things
---

Introduction
============

With the rapid development of modern smart technologies, Internet of things (IoT) has caught much attention from industry and IT community in terms of networking and communication aspects [@Yaqoob2017Internet]. In the future, IoT communication scenarios will be a combination of heterogeneous access technologies and services, which enables users to be exposed to a diverse network environment. The heterogeneity of IoT determines that information can flow among multiple transmission networks with different structures, providing various services on a common network platform. Like in all other communication and computer networks, security issues are always significantly important in the development of heterogeneous IoT (HIoT). In addition, key agreement and authentication mechanism play indispensable roles in the aspects of protecting user privacy and data security for HIoT scenario.

IoT is a popular notion [@Wu2017A] that has been widely used in industries such as healthcare and some critical infrastructures, as shown in Fig.\[Figure 1\]. Meanwhile, the diversity of IoT applications and heterogeneity of IoT communication infrastructures also have led to lots of security challenges [@Du2008Security; @Du2008Defending; @Du2009A; @Xiao2007A; @Du2007An; @Xiao2007Internet; @Du2005Designing; @Du2006Adaptive; @Du2004QoS; @Mandala2006], exposing some threats of malicious attacks, data interception, user privacy leaking, unauthorized access, etc. These security flaws seriously affect HIoT’s development and application. Therefore, security and privacy become essential in HIoT.

![Application Scenario of IoT[]{data-label="Figure 1"}](Application.eps "fig:"){width="8.5cm"}\

In 2010, the EU Commission [@Sundmaeker2010Vision] identified security and privacy as a major IoT research challenge. Many researches [@Turkanovic2014A; @Xu2017hybrid; @Wei2017A; @Farash2016An] focused on secure communication and privacy preservation for HIoT. Moreover, some other researches [@Feng2017A; @Zhang2015Communication; @Kim2012An; @Wang2015Preserving] put forward countermeasures that were targeted at specific types of attacks. In 2017, Feng et al. [@Feng2017A] presented a replay-attack resistant authentication scheme, based on an improved challenge-response mechanism instead of the timestamp mechanism. In [@Zhang2015Communication], a lightweight defensive algorithm for distributed denial of service attacks (DDOS) was proposed for IoT environment, which could protect the sensor nodes from the attacks of malicious requests effectively. In order to preserve user privacy, Kim-Kim’s scheme [@Kim2012An] adopted the one-time pseudonym identities synchronization mechanism that could maintain identities consistency between users and the server. However, the scheme was vulnerable to the de-synchronization attack. In 2015, Wang et al. [@Wang2015Preserving] improved the Kim-Kim’s scheme, achieving superior privacy preservation.

Authentication and key agreement are the core technologies and the foundation of other security mechanisms. It enables legal authorized users to establish a reliable relationship between each other in HIoT. In 2009, a key establishment and authentication scheme based on combined public key (CPK) algorithm was proposed for the heterogeneous network, and it was proved to be efficient in terms of the mutual authentication [@Li2009Key]. In 2013, Chu et al. [@Chu2013An] proposed an identity authentication scheme based on elliptic curve cryptographic (ECC), which innovatively used the encryption algorithm of public-private key pair to satisfy the security requirements of heterogeneous network. In 2016, Amin et al. [@Amin2016Design] came up with a three-factor authenticated key agreement scheme for IoT and claimed that their scheme was secure. However, Arasteh et al. [@Arasteh2016A] showed that the scheme of Amin et al. was prone to replay attacks and DOS attacks.

Moreover, due to the resource-constrained nature of IoT devices, the secure schemes should be lightweight. In allusion to this requirement, some schemes [@Mahmood2017Lightweight; @Sarvabhatla2014A] were proposed to reduce the computation burden of participants. In 2016, Iqbal and Bayoumi [@Iqbal2016A] proposed a novel authentication and key agreement scheme, which offloaded the heavy cryptographic functions of resource-constrained sensors to the trusted neighboring sensors. In [@Alkuhlani2017Lightweight], a secure and lightweight mutual authentication and key agreement scheme was presented, in which the cryptographic functions were proved to be computationally lightweight and resist some known attacks. Although these schemes were lightweight in the IoT environment, they did not prove that they were applicable to heterogeneous IoT. In [@Hou2008CPK], Hou et al. proposed a secure and lightweight authentication and key agreement scheme based on CPK and ECC in HIoT environment. Unfortunately, this scheme used signature-to-encryption in a time-consuming way.

In this paper, we propose a novel and lightweight anonymous authentication and key agreement scheme for heterogeneous IoT, which is based on a signcryption algorithm between PKI and CLC environment. It provides more features of user anonymity, non-repudiation, key agreement fairness and lightweight. In addition, our scheme can be proved to resist replay attacks and DOS attacks. Therefore, it has wider application prospect in HIoT environment.

The rest of this paper is organized as follows. In Section II, we discuss the secure HIoT’s system model. Section III demonstrates the proposed mutual authentication and key agreement scheme for HIoT. Sections IV and V present informal security and performance analysis respectively. At last, the conclusion is described in section VI.

Preliminaries
=============

In this section, there is a brief description of the HIoT’s system model and security assumptions.

 \
**A. System model**

A typical scenario model of HIoT is illustrated in Fig. \[Figure 2\]. It mainly consists of a gateway node (GWN), a user and a sensor node (SN).

The GWN is a trust third party that can distribute partial private key to the SN and the digital certificate to the user respectively. The SN in CLC is in charge of gathering data from environments and forwarding the data to the user in PKI via a secure channel.

![A secure system model for HIoT[]{data-label="Figure 2"}](System.eps "fig:"){width="8.5cm"}\

 \
**B. Security assumptions**

The security of the proposed scheme depends on the hardness of the following problems:

$G_{1}$ is a cyclic additive group, and $G_{2}$ is a cyclic multiplicative group. A large prime $q$ is the order of $G_{1}, G_{2}$. $e(.,.)$ is a bilinear map $G_{1} \times G_{1} \rightarrow G_{2}$. $P$ is a generator of $G_{1}$ and $g=e(P,P)$.

 \
**Definition 1 (CDHP)**. Defining Computational Diffie-Hellman Problem (CDHP) is to compute $abP \in G_{1}$ when given $(P,aP,bP)\in G_{1}$.

 \
**Definition 2 (ECDLP)**. Defining Elliptic Curve Discrete Logarithm Problem (ECDLP) is to compute the integer $a \in Z_{q}^*$ when given $(P,aP) \in G_{1}$.

The Proposed Scheme
===================

In this section, we propose a novel anonymous authentication and key agreement scheme based on a signcryption algorithm for HIoT, as shown in Fig. \[Figure 3\]. The proposed scheme comprises three phases: system initialization, system registration, system authentication and key agreement phase.

 \
**A. System initialization phase.**

1\) The GWN selects the main private key $s\in Z_{q}^{*}$ randomly, and calculates the public key $P_{pub}=sP$. Let $l$ be the security parameter of the system and $ID=\{0,1\} ^*$ be an identity space.

2\) The GWN defines five secure cryptographic hash functions: $H_{0}:\{0,1\} ^*\rightarrow Z_{q}^*$, $H_{1}:\{0,1\}^*\times G_{1}\rightarrow Z_{q}^*$, $H_{3}:\{0,1\}^n\times G_{1}\rightarrow Z_{q}^*$, $H_{4}:\{0,1\}^n\rightarrow Z_{q}^*$. Then, it publishes $parameter\{G_{1},G_{2},P,P_{pub},l,g,H_{0},H_{1},H_{2},H_{3},H_{4}\}$ and keeps $s$.

 \
**B. System registration phase.**

This phase is divided into two steps: registration between the user and the GWN, registration between the SN and the GWN.

**Step 1:** Registration between the user in PKI environment and the GWN.

1\) The user runs PKI-Key-Gen algorithm:

-   Select $x_{p}\in Z_{q}^{*}$ randomly as the private key $sk_{p}=x_{p}$;

-   Compute $P_{pub}=x_{p}P$ as its public key;

-   Send the message $\{ID_{p},PK_{p}\}$ to the GWN through a secure channel.

2\) The GWN firstly computes the account information $Acd=(w_{1}+H_{0}(ID_{p}))P$ and the signature information $\sigma_{1}=w_{1}+H_{0}(ID_{p})+s\delta$, where $w_{1}\in Z_{q}^{*}$ and $\delta=H_{1}(ID_{p},PK_{p})$. Then, it returns the identity account management information $\{Acd,\sigma_{1},\delta\}$ to the user.

3\) The user checks if the equation $Acd=\sigma_{1}P-P_{pub}\delta$ holds or not.

-   If it holds, the user stores $\{Acd,\sigma_{1},\delta\}$, and regards $Acd$ as its identifier, which indicates the registration between the GWN and the user is successful;

-   Otherwise, the user aborts.

 \
**Step 2:** Registration between the SN in CLC environment and the GWN.

1\) The SN sends its identity $ID_{c}$ to the GWN.

2\) The GWN runs CLC-Partial-Private-Key-Gene algorithm:

-   Select $t\in Z_{q}^{*}$ randomly, compute $T=tP$, $\gamma=H_{1}(ID_{c},T)$ and obtain part of the private key $d=t+s\gamma$;

-   Return $\{T,d,\gamma\}$ to the SN through a secure channel.

3\) The SN checks if $e(dP,P)=e(T,P)e(P_{pub},\gamma P)$ holds or not.

-   If it holds, the GWN is legal. Then, the SN selects $x_{c}\in Z_{q}^{*}$ and obtains the intact privacy key $sk_{c}=\{x_{c},d\}$;

-   Otherwise, the SN aborts.

4\) The SN computes $PK_{c1}=x_{c}P$ and sets $PK_{c}=\{T,PK_{c1},\gamma\}$ as its intact public key. Then, it checks if $Acd=\sigma_{1}P-P_{pub}\delta$.

-   If it holds, the SN stores $\{Acd,\sigma_{1},PK_{p},\delta\}$, and regards $Acd$ as legal user’s identifier;

-   Otherwise, the SN aborts.

 \
**C. System authentication and key agreement phase.**

1\) The user runs the PKI-to-CLC heterogeneous signcryption algorithm:

-   Select a random number $k\in \{0,1\}^{n}$;

-   Compute $r=H_{2}(k,m)$, $R_{1}=rP$, $r_{1}=m\oplus H_{3}(k)$, $r_{2}=k\oplus H_{3}(r_{1})$;

-   Compute $U=rPK_{c1}+T+\gamma P_{pub}$;

-   Compute $c=(sk_{p}H_{4}(m)+r)\pmod n$;

-   Obtain the ciphertext message $\sigma=\{c,R_{1},r_{1},r_{2},U\}$;

-   Calculate the account protection information $R_{2}=R_{1}+Acd$;

-   Send a service request message $\{R_{2},\sigma,t_{c}\}$ to the SN.

2\) Then, the SN runs the PKI-to-CLC heterogeneous unsigncryption algorithm:

-   Check if $|t_{c}-t_{1}|<\Delta t$, where $t_{1}$ is the current timestamp, and $\Delta t$ is the allowed transmission delay. If it holds, the message is fresh. The SN can carry on the subsequent steps. Otherwise, it terminates the authentication.

-   Compute $R_{1}=\frac{1}{x_{c}}(U-dP)$;

-   Compute $k=r_{2}\oplus H_{3}(r_{1})$, $m=r_{1}\oplus H_{3}(k)$, $r=H_{2}(k,m)$;

-   If $R_{1}=cP-H_{4}(m)PK_{p}$, the SN receives $\sigma$. Otherwise, it returns $\bot$ for rejection;

-   Check if $Acd=R_{2}-R_{1}$. If it does, the SN computes its own message digest $h_{1}=H_{1}(ID_{c}||t_{c},Acd||c)$. Otherwise, the SN aborts;

-   Calculate the session key $key=H_{2}(h_{1},R_{1})$;

-   Calculate the message authentication code $M_{1}=MAC_{key}(h_{1})$ and send $M_{1}$ to the user.

3\) Finally, the user does the following verification:

-   Calculate the message digest $h_{1}=H_{1}(ID_{c}||t_{c},Acd||c)$;

-   Calculate the session key $key=H_{2}(h_{1},R_{1})$;

-   Generate a new message authentication code $ M_{1}^{*}=MAC_{key}(h_{1})$. And it checks if $M_{1}=M_{1}^{*}$. If it does, the authentication is successful. Otherwise, it is failed.

If mutual authentication is successful, the user and the SN could generate the same session key respectively. Therefore, they can communicate with each other securely in the future.

![image](Algorithm.eps){width="\textwidth"}\

The security analysis
=====================

Mutual authentication
---------------------

The scheme realizes mutual heterogeneous authentication between SNs and users. When a user starts the authentication phase with a SN, the SN has to verify the identity of the user. Thereby, it needs to verify the user’s legality by running the authentication phase of Section III. After verifying user’s legality, the user starts authenticating the SN. The user can also verify the SN’s legality by running the authentication phase of Section III. When the SN and the user are both proven to be legal, they also have completed the key agreement phase.

Key agreement
-------------

Only the user and the SN can get the session key $key=H_{2}(h_{1},R_{1})$. The user does not send the account information $Acd$ to the SN directly. $Acd$ is hidden in the account protection information $R_{2}=R_{1}+Acd$. If the private key of the SN is unavailable, anyone else can not obtain $Acd$ and $h_{1}$. In other word, it is impossible for others to get the session key. Therefore, the session key is secure in our scheme.

Anonymity
---------

Our scheme ensures the user’s anonymity via the masked identity $\{ID_{p},PK_{p}\}$. In system registration phase, the user sends the registration request message $\{ID_{p},PK_{p}\}$ to the GWN. The GWN creates an account information $Acd$ for the user. Here, $Acd$ is not the real identity of the user. Namely, it is only the user’s identifier. When the user sends a service request message to the SN, the SN sends the corresponding service to the user with $Acd$, but it does not know the real identity of the user. Because the SN can not derive the user’s identity information from $Acd$. So our scheme achieves the user’s identity anonymity in system registration phase.

In system authentication phase, $Acd$ is not transmitted in plaintext and is hidden by the account protection information $R_{2}=R_{1}+Acd$. Only the user and the SN can get $Acd$. Even the GWN can not get the user’s real identity. Therefore, our scheme can provide the user’s identity anonymity.

Non-repudiation
---------------

The user sends the service request message $\{R_{2},\sigma,t_{c}\}$ to the SN, but in this process others can not forge the ciphertext message $\sigma$ without obtaining the user’s intact private key due to the hardness of the $CDHP$ problem under current conditions. Thereby, $\sigma$ can only be generated by the user. When the authentication is successful, the SN will provide the corresponding services for the legal user. The user can not deny sending the service request messages to the SN. Similarly, anyone else is unable to impersonate the SN due to the lack of the SN’s private key. Therefore, the SN can not deny either that it had received the user’s service request messages or that it had provided the corresponding services for the user.

Key agreement fairness
----------------------

The SN calculates the session key $key=H_{2}(h_{1},R_{1})$ and the message authentication code $M_{1}$. Then it sends $M_{1}$ to the user. After receiving $M_{1}$, the user calculates the message digest $h_{1}=H_{1}(ID_{c}||t_{c},Acd||c)$ in order to get the session key $key=H_{2}(h_{1},R_{1})$. It computes the message authentication code $M_{1}^{*}$. The SN and the user can get the session key and the message authentication code equally, and one participant does not have more privilege than the other. Therefore, the communication participants are in an equal position after the key agreement is completed. According to the above, fairness is ensured in our scheme.

Anti-replay attacks
-------------------

The SN is unable to identify the validity of the message from the user, because it does not know if the message had been received by itself. The attackers usually utilize the drawback to initiate a replay attack on the SN. Our scheme avoids this drawback by involving a timestamp to the user’s service request message effectively. After receiving the service request message, the SN can check the freshness of the message based on the judgment of the timestamp to identify if the message could be accepted. Therefore, our scheme can resist replay attacks.

Denial of service attacks
-------------------------

In system registration phase, the GWN sends the account information $Acd$ to the user and the SN respectively through a secure channel. When the user initiates a service request for the SN, the SN utilizes the account protection information $R_{2}$ and own private key to compute $Acd$. Then, it verifies if $Acd$ is equal to the received $Acd$, so as to determine if it should accept the service request message from the user. Before generating a bogus service request, the attackers must calculate $Acd$ correctly ahead. However, they can not get the correct $Acd=(w_{1}+H_{0}(ID_{p}))P$ without the random number $w_{1}$. Our scheme exploits $Acd$ to prevent attackers from abusing system resources to send a lot of invalid service request messages. Therefore, our scheme can resist denial of service attacks successfully.

The performance evaluation
==========================

For quantitative analysis of our scheme, we use Ubuntu OS as the experimental platform to simulate the total running time. Let P denote the bilinear pairing operation, M denote the point multiplication operation in $G_{1}$, E denote the exponential operation in $G_{2}$, and H denote the hash operation separately.

TABLE \[Table I\] demonstrates the performance comparison between the proposed scheme and other related schemes. Note that SC denotes symmetric cryptography. Fig. \[Figure 5\] shows the total computation and communication costs of each scheme.

  ----------------------- ---------------- ------------- ------------- ---------------- --------------------- -------------------- ---------
                                                                                                                                   
          Schemes          User(or Alice)   GWN(or PKG)   SN(or Bob)    Total time(ms)   Communication costs   Signcryption-based   Domains
   Ref. [@Farash2016An]         19H             17H           9H            0.145             4056bits                 No             SC
    Ref. [@Wang2017An]      5P+3E+9M+6H         H+M       5P+2E+6M+6H       39.078            1600bits                Yes           PKI-IBC
   Ref. [@Luo2018Secure]     P+E+3M+2H         4M+4H        4P+E+2H         16.071            1912bits                Yes           IBC-CLC
         Proposed              3M+4H           2M+2H       3P+4M+6H         16.913            2012bits                Yes           PKI-CLC
  ----------------------- ---------------- ------------- ------------- ---------------- --------------------- -------------------- ---------

![image](Performance.eps){width="9.5cm"}\

From TABLE \[Table I\], we can clearly find that the scheme [@Farash2016An] does not involve signcryption algorithm, so it causes higher communication costs. Although the scheme [@Wang2017An] has a lower communication overhead, it is inefficient with higher computation complexity. Furthermore, the scheme in [@Luo2018Secure] has only proved that it satisfies confidentiality and unforgeability. Besides, it has the key escrow issue, causing a lot of storage space to be occupied for the resource-constrained sensor node side. For all above, our scheme is more applicable for heterogeneous IoT.

Conclusion
==========

In recent time, the security and privacy issues of HIoT have drawn much attention from all walks of life. In order to solve these problems for HIoT, this paper proposes an anonymous mutual authentication and key agreement scheme based on a proper signcryption algorithm. The proposed scheme not only possesses the features of anonymity, non-repudiation, key agreement fairness, but also can resist replay attacks and DOS attacks. Additionally, the scheme is highly lightweight with lower computation and communication overhead. What’s more, it is innovatively designed to shift between the PKI and CLC environment. As a consequence, our scheme has a better scalability to be more applicable for heterogeneous IoT.
