Abstract
Keywords
Introduction
With the arrival of the Internet of Things (IoT), anything, anywhere, and anytime connections have become a reality. Consequently, a whole new generation of services and applications can be developed. However, special attention must be paid to the security and privacy aspects from both end-user and device perspectives. Moreover, these measures should be implemented in a highly efficient way due to the power and processing constraints, which characterize many IoT devices.
In many proposed solutions in the literature, node access is managed through a reasonably powerful gateway. However, this approach does not offer end-to-end security and leads to a single point of failure. Making the end-nodes responsible for the access control requires highly efficient access control mechanisms due to the constrained nature of these devices. Therefore, traditional techniques cannot be immediately utilized. Moreover, the standard security mechanisms and protocols for providing authenticated and authorized access need to be adapted toward more lightweight versions in order to make a distributed approach feasible.
Figure 1 illustrates a number of scenarios implemented in the smart home setting. First, the smart locks should grant access to authenticated parties, authorized by the home owner. Next, several electrical devices (e.g. washing machine and dryer) should only be activatable by the residents, and not by temporary or recurring guests. Also the home owner should be able to remotely monitor the operation of some electrical devices (e.g. television and computer).

Use-cases of eDAAAS in smart home setting.
In this article, we describe a highly efficient authenticated access control mechanism between the stakeholders and the end-nodes, which can be easily coupled with any type of access control model. The proposed solution is entirely based on symmetric key cryptographic operations. In order to provide a good benchmark with previous research, we couple our authentication mechanism with the capability-based access control (CBAC) system in Hernandez-Ramos et al., 1 but include small changes pertaining to the capability token. In cases where there is a very large network of nodes, one could also easily adopt a capability role-based approach by just changing the content and structure of the token. 2
Note that our authentication procedure is completely symmetric key based and contains the additional important properties of anonymity and unlinkability of the user and the end-node to any outsider. Thanks to this property, user profiling can be avoided based on the behavior of the accessed nodes. Since the end-nodes cannot derive the real identity of the user, leakage of the user’s information is not possible even in instances where the end-node is compromised.
Two-factor authentication is realized in our scheme, based on the password of the user and the possession of the user’s device. Even if the user’s device is stolen, the stored secret information cannot be abused by the intruder due to its particular construction. All of the other solutions proposed in the literature exploit expensive public key solutions including elliptic curve cryptographic (ECC) operations to obtain authentication and anonymity in the access control system.
The remainder of the article is organized as follows: section “Related work” provides an overview of the related work. Section “System model and assumptions” explains the system model and some assumptions used. In section “eDAAAS system operation,” we explain the different phases of our scheme in detail. Sections “Security analysis” and “eDAAAS efficiency assessment,” respectively, describe the security analysis and the efficiency of the protocol. Finally, section “Conclusion” presents our conclusions.
Related work
Many publications have been presented on either authentication or access control models in communication systems. Recently, a number of approaches combining both authentication and access control have been proposed in the application domains of wireless sensor networks (WSNs) and in the context of the IoT. We now discuss related work in each of these domains.
Authentication
Paying particular attention to authentication in WSNs to symmetric key based systems, we distinguish two types of approaches. The first approach is based on secret-sharing, where devices exploit symmetric key threshold schemes (as described in Benenson et al.
3
and Banerjee and Mukhopadhyay
4
for authenticated querying in WSNs, allowing a group of
Access control
Access control in WSNs can be divided among two major architectural categories: distributed or centralized. In a distributed access control mechanism, the final access decision is made in the end-device and not at the gateway as opposed to the centralized approach.
Centralized access control systems17,18 have several severe disadvantages. First, they are not able to make decisions based on contextual information related to the end-device itself since the end-nodes can be seen as smart devices. Second, the central gateway, which stores and manages all information of every device, becomes a single point of failure. 1 Moreover, a centralized system layout has a higher degree of network dependency, adding and removing of nodes is more complicated compared to a decentralized system. 19 The two traditional access control systems, role-based (RBAC) and attribute-based (ABAC) access control, are mostly applied in centralized architectures.
Each application requires its own type of granularity for access control. We refer to Maw et al. 20 for a summary and comparison of different access control systems in WSNs and to Adda et al. 21 for some recent access control models. In particular, based on a user study, intuitive access control policies for future smart homes have been presented in Kim et al. 22 and Ur et al. 23
Authentication and access control
Two approaches for authenticated end-to-end distributed access control using CBAC can be found in Hernandez-Ramos et al. 1 and Mahalle et al. 24 In Hernandez-Ramos et al., 1 ECC is used to sign the tokens, while in Mahalle et al. 24 a secret shared key is first negotiated using an ECC-based key agreement protocol. The system in Hernandez-Ramos et al. 1 does not perform data authentication, whereas the solution of Mahalle et al. 24 consists of an overload of communication flows. Another distributed access control system 25 uses ABAC in combination with an ECC-based key agreement protocol to enable authentication. None of these schemes1,24,25 take the property of anonymity into account.
In Hernndez-Ramos et al., 26 an anonymous end-to-end access system is built in combination with a corresponding type of CBAC access control system, called DCApBAC. 27 In order to establish the anonymity feature, the classical crypto-systems identity-based encryption (IBE) and ciphertext-policy attribute-based encryption (CP-ABE) are used. These systems apply public key–based mechanisms, which require very high-performance capabilities.
In summary, considering the proposals we referred to, none are able to establish authenticated access control with anonymity of the user, using only symmetric key–based operations.
System model and assumptions
We designed a system that performs anonymous authentication for IoT devices based on symmetric key cryptography. Following its purpose and functionality, our system is called efficient distributed anonymous authentication and access control for smart home sensors using symmetric key cryptography (eDAAAS).
Network setting
In our system model design, we distinguish five different entities as follows: the user (U), the user’s device (
Thus, the owner is able to serve the access control process of the nodes and thus perform the task of the registration center. The role of the gateway is passive, in the sense that it only forwards the messages to the nodes. All the nodes in the network need to be pre-installed with some secure information by the owner. Furthermore, the user first needs to register with the owner in order to receive the capability token and key material related to the particular node or a set of end-nodes. The capability token and secret key material are defined by the owner and stored on the user’s device. The user needs to log into their device in order to get access to this security material and to initiate its authentication request.
After successfully logging in, the user can send authenticated and anonymous requests, including a capability-based token, to the nodes in the network without the involvement of the owner. The ENs are able to check the validity of the token and the authentication of the user. If both are positive, a message containing the required information is sent to the user. The actual process to request information by a user to a node only requires one message, followed by only one message for the response in case of successful authentication and access control.
Design goals
Our system, eDAAAS, has the following security features inherently built into its design:
Data authentication. The source of the information can be corroborated and it is ensured that the information has not been altered by unauthorized or unknown means.
Anonymity. No outsider is able to derive the identity of the user or the end-node. Note that the system also satisfies the unlinkability property of the behaviors of users and end-nodes with respect to outsiders. Links are still possible at the level of ENs in order to facilitate the detection of malicious behavior.
Access control. The owner derives the unique token for a particular end-node, which is required in order to gain access to it. This token cannot be altered by any other instance.
We also base our system on a distributed architecture, meaning that end-to-end decisions about the access control and authentication are made at the actual IoT device. Moreover, in order to obtain an efficient system with respect to timing and energy consumption, we limit the operations used in the protocol to hashes, concatenations, and symmetric key encryptions/decryptions. Finally, we make sure that lost user devices, eventually combined with attacked end-nodes, are not able to cause damage to the rest of the system.
In section “Security analysis,” we describe how eDAAAS meets the design goals with respect to the above-described security features. Note that due to the particular construction of the key material, no password tables of end-nodes or users need to be stored at the owner. The user’s password is easy to change without involvement of any other entity in the system.
Attack model and assumptions
We focus on the communication between users and end-nodes. For the communication among the other entities, we assume the existence of a secret shared key. These keys can be established either by physical contact or by more computer-intensive public key infrastructure (PKI) mechanisms. As these methods are well known, we do not focus on them in this article. Consequently, the following notations are used for the secret shared keys:
This key is stored on the user’s device in an encrypted format,
and thus derive
This key is stored in the end-node.
We further assume that the owner is a trusted party in the form of a key distribution center (KDC). The goal of the attackers is to obtain illegitimate data or control access to the nodes, to perform service degradation or denial-of-service (DoS) attacks. The attackers may come from inside or outside the network. They are able to eavesdrop on the traffic, inject new messages, replay and change messages, or spoof other identities.
Notations
Table 1 summarizes the most frequently used notations and abbreviations in the article.
Summary of notations and abbreviations.
IoT: Internet of Things.
eDAAAS system operation
Different phases can be distinguished: (1) the installation phase of end-nodes, (2) the registration of the user with the owner, (3) the definition of the capability token by the owner, (4) the derivation of secure key material by the owner, (5) the login of the user on their device, (6) the actual request by the user with the IoT device, (7) the answer by the end-node, and (8) information retrieval by the user. Figure 2 gives an overview of the protocol among each entity under the different phases.

Overview of eDAAAS.
The italic parameters in the figure denote the secret values that are randomly determined by the corresponding entities as will be explained in the next phases. The other parameters represent the secret shared keys that are assumed to be established beforehand (as explained in section “Notations”). Besides these eight phases, there are two other phases with only limited use: (9) update of user’s password and (10) revocation of the capability token.
We now discuss each phase in detail.
Installation phase of the end-nodes
Let
Registration phase
Here, two actions can be distinguished, activation of the device by the user and submission of the registration request:
As already mentioned in section “Notations,” the user has selected a random value
If the user enters
Finally, the registration request consists of the message registration with the owner, requesting access
Definition of the capability token
The concept of capability was originally introduced in Dennis and Horn 28 and defined as a tamper-proof token, ticket, or key that gives the possessor permission to access an entity or object in a computer system. In Hernandez-Ramos et al., 1 a concrete example of a capability is described and implemented. It consisted of the following information:
Identifier (16 bytes), allowing to distinguish the capability token.
Issued time (10 bytes), describing the time at which the token was issued. This time follows the time stamp of
Issuer (Variable size), referring to the identity of the owner, the entity that issued the token.
Subject (56 bytes), giving information on the subject or user to which the token is granted.
Device (variable size), consisting of an URI to identify the end-node to which the token applies.
Signature (56 bytes) of the token.
Access rights (variable size), representing the set of rights (GET, POST, PUT, DELETE) that an issuer has granted to the different resources of the end-node or the functionalities of the end-nodes, taking eventually into account context-aware criteria.
Not before (10 bytes), indicating the starting time for the validity of the token.
Not after (10 bytes), representing the end time of the token.
In our system, due to the particular distribution of the key material, we are able to remove the largest entity of the token, being the signature. As we want to enable anonymous requests, the subject should also be removed. However, since we want to establish accountability in case of misuse or abuse of the system, the owner encrypts the subject information using their own secret key. Another, however, much less elegant solution would be to store lists at the owner side, containing all identities of users and tokens.
Installation phase of the users
The secret shared key
Note that each of these parameters
The owner sends the message
Figure 3 gives a graphical overview of the steps in the registration phase and the installation phase.

Overview of the steps in the registration phase (2) and installation phase (4).
User login phase
Here, the user enters its identity
Request phase
This phase is executed only after a successful user login. First, the user selects
These two steps are required to make the link with information, which is derivable by the end-node. First, from
The following message is sent to the gateway, which forwards the message further to the corresponding node
Answer phase
Here,
If
Finally, the message
Information retrieval
The user first derives
Figure 4 gives a graphical overview of the steps in the user login, request, and answer phases.

Overview of the steps in user login phase (5), request phase (6), and answer phase (7).
Update of user’s password
This can be easily executed by the user, without involvement of the owner or changes to the other nodes in the system. The user needs to compute a new value of the password, leading to an updated version of
Revocation of the capability token
Suppose the validity of the token’s capability expires before the end date of the token. In this case, the identity of the token is sent to the involved nodes in the field using the secret shared key between owner and end-node or a multicast key, 29 keeping track of a black list of identity tokens. As soon as the expiration date is reached, the token can be removed from the list. Note that this implies a trade-off between user friendliness and storage. Consequently, the decision on the end date of a token should be carefully considered and strongly depends on the application, user, or size of the network.
Security analysis
Fulfilling its purpose, eDAAAS protects the system entities from a range of attacks which we describe here in detail.
Replay attacks
Replay attacks in the registration phase are avoided by the inclusion of a time stamp in the
Also a replay attack on the user’s request to the IoT end-node is impossible due to the presence of a time stamp in the request message.
Illegitimate data access or control
A user cannot derive a token itself, since the token is included in the computation of the parameter
Accountability
It is important to install a logging mechanism in each node. Each log contains the parameters
In case the owner wants to monitor the users with respect to the behavior of the IoT devices in real time, these logs should be sent to the owner.
Insider attacks
We distinguish the insider attacks by the impact of five different situations, which are dependent on the combination of compromised objects and users:
Compromised user’s device. Here, the adversary is not aware of the user’s identity and password. Consequently, the process cannot be continued. Even if the adversary is able to retrieve the stored information on the device, being
Compromised user + device. In this case, the user is able to perform any type of action that is permitted by the token, as long as the attack is not noticed. As explained before, as soon as suspicious behavior is detected, the effective origin of the user can be retrieved. Note that a new user with an associated valid token cannot be created by such a compromised user, since the secret key
Compromised end-node. A compromised end-node can send no or incorrect information. It cannot release critical identity–related information of its users, since the received information is only indirectly associated with the user’s identity. A compromised node has insufficient information to create users that can perform valid requests to other nodes, since the other secret key
Compromised device + end-node. Since the identity of the owner is unknown, it is not possible to derive
Compromised user + device + end-node. When the user, its device, and one of the end-nodes are compromised, then the system is completely broken. We can consider the likelihood of such a combination of events happening to be very rare.
HW/SW attacks
The system is based on a security protocol for tamper-resistant smart cards. The same ideas are applied at the side of the user. Even with the knowledge of the parameters
Note that the attacker in this situation can still launch, given the parameter
Mutual authentication
Mutual authentication between the user and the end-node is obtained since the constructed secret shared key
Anonymity and unlinkability
Note that the user’s request contains the parameter
From the request, the end-node can derive the indirect link
eDAAAS efficiency assessment
The efficiency of the eDAAAS solution is discussed, taking into account that the end-node is the most resource-constrained device. The reception of the user’s request and the according response correspond each with a single message phase. Furthermore, since the operations in each phase are limited to xors, hashes, and symmetric encryptions, the computation complexity of the proposed security solution is relatively low.
In order to obtain 80-bit security, the length of the parameters
After reception of the message, 5 xors, 5 hashes, and 1 decryption need to be performed. After checking the validity of the token, the response generation requires another 2 hashes, 2 xors, and 1 encryption. The length of the transmitted message corresponds to a maximum of 56 bytes, when limiting the output to 16 bytes. Moreover, the storage requirements are reasonably small. Besides the secret material at each node,
In order to elaborate an insight of the computation time of the token at the end-node (EN), we show the timing and energy consumption values with respect to the Libelium Waspmote platform.
30
Therefore, neglecting the timing values for xor operations, we obtain for the 7 hash computations and 1 encryption during the token computation, approximately
Moreover, the minimum token size is calculated to be equal to 73 bytes.
Finally to conclude, we compare the most important characteristics with respect to security features and efficiency for the other existing authentication and distributed access control systems, as discussed in related work in Table 2. Consequently, our proposal is the only symmetric key–based solution in the literature that is able to establish anonymity and unlinkability in an authenticated distributed access control system, leading to a very efficient and highly capable system.
Comparison with related work.
CBAC: capability-based access control; ABAC: attribute-based access control; ECC: elliptic curve cryptographic; CP-ABE: ciphertext-policy attribute-based encryption; ECDSA: elliptic curve digital signature algorithm.
Conclusion
We present the eDAAAS protocol in this article, which is a highly efficient and distributed authentication protocol to access end-nodes in an IoT setting for smart homes, authorized by the home owner. The efficiency is thanks to the fact that only symmetric key–based operations are required. Due to the particular construction of the keying materials, the additional features are also obtained such as anonymity and unlinkability of the user and end-node for any outsider. In addition to that, the authentication mechanism can be easily combined with other access control modes.
