Chapter 14

Security Issues of the Web of Things

Saad El Jaouhari; Ahmed Bouabdallah; Jean-Marie Bonnin    Institute Mines-Telecom/TELECOM Bretagne, Network, Multimedia and Security Department, Cesson Sévigné, France

Abstract

The progress in the area of embedded systems has favored the emergence of so called “smart objects” or “Things”. These ones incorporate, in a context of low energy consumption, various wireless communication capabilities combined with a micro-controller driving sensors and/or actuators. Smartphones, connected TVs, smart watches, and so on, are concrete examples of smart objects belonging to our everyday life. The Internet of Things (IoT) conceptualizes this new environment based on traditional networks connected with objects as specific components of the real world. Building however a global ecosystem gathering the different IoT environments, where Things can communicate seamlessly is a difficult task. Since each IoT platform uses its own stack of communication protocols, they usually are not able to work across the many available networking interfaces, which creates silos of users and Things. Web of Things (WoT) has the ambition to provide a single universal application layer protocol enabling the various Things to communicate with each other in a seamless way by using the standards and the APIs of the web as a universal platform. The articulation between objects and Internet if it represents a strong point of the WoT, leads also this one to inherit all the problems of security and privacy already present in Internet. These problems rest with stronger acuity in this new environment, because of its particular characteristics. It is therefore important to analyze the way in which traditional security and privacy requirements can be declined in this new environment. In this chapter, we will try to give a global overview of the currently proposed architectures for securing the WoT. This overview covers an analysis of the different threats and vulnerabilities that an IoT, eventually a WoT, architecture can be exposed to. It covers also the solutions proposed to solve the problematics related to the identity management, data confidentiality, the authorization and the access control in a WoT system.

Keywords

Web of Things; WoT; Internet of Things; IoT; Security; Privacy; Identity management; Data confidentiality; Authorization; Access control; Smart objects; Encryption

Acknowledgement

This work has received funding from the European Union's Horizon 2020 research and innovation program under grant agreement No 645342, project reTHINK.

14.1 Introduction: From IoT to WoT

The progress in the embedded devices, introduced the concept of smart object, with interesting communication capacities and autonomy in one hand and low power and computation capabilities in the other hand. Wireless sensors and actuators are able to interact with humans and other smart objects through low-power network protocols such as Bluetooth, ZigBee, Z-Wave, and so on. By definition the smart Things (or smart objects) are physical objects, enhanced with micro-controller, sensor and/or actuator, communication capability, and low energy consumption. Examples of smart objects are illustrated by smartphones, smart TVs, temperature/light/presence sensors, and so on and so forth. Hence, the Internet of Things (IoT) is defined as a network of smart objects, where each smart object is uniquely identified in the infrastructure. The idea of the IoT is to connect a myriad of embedded devices worldwide through the Internet. According to IP for Smart Objects (IPSO), more and more objects will be able to support the IP protocol, i.e., support direct connectivity to the Internet. Those smart objects can be discovered, monitored, controlled and able to interact with other humans and eventually other objects over the Internet.

Those smart objects, usually called “Things”, extend the world we live in today by enabling a whole new range of applications. Moreover, they are now publicly available and very cheap, which explains the exponential growth of their number. The range of the Things can vary from a very simple tagged product (NFC, RFID, QR codes or bar codes), to more powerful, complex and elaborated objects such as smart cars and smart cities. However, building a global ecosystem gathering the different IoT platforms, where Things can communicate seamlessly is a difficult task. Since each IoT platform uses its own stack of communication protocols, they usually are not able to work across the many available networking interfaces, which creates silos of users and Things. Complexity and the proprietary tools may also become a hindrance toward the creation of a global and interoperable environment. In order to concrete such vision, a single universal application layer protocol enabling the various Things to communicate with each other in seamless way is needed. Hence the idea of using the standards and the APIs of the web as a universal platform, on top of the Internet and for all the smart objects [1]. And this is what Web of Things (WoT) is all about, applying the existing and emerging tools and techniques used on the Web to the development of different innovative IoT scenarios. The advantage of using such approach is that we can reuse the available and widely popular Web protocols without the need of reinventing another complex protocol, which by the way may not bring the full interoperability for the IoT.

In the WoT, connecting the Things becomes simpler. Adapting the web technologies provides an abstraction of the complexity of the low-level protocols. For instance, HTTP and WebSocket can be reused by the smart objects. Moreover, developers can write applications that can interact with the smart objects in the same way as with any other Web service, in particular using the RESTful architectures. Concretely, Things can have a public URL accessible through the Web. However, this approach requires an embedded web server running inside the constrained environment of the smart object [2,3]. Arduino Uno1 and Raspberry Pi2 are examples of devices that can be equipped with web servers.

However, the WoT inherits not only the specific properties of the IoT, but also many security and privacy issues. Those problems are mainly related to the heterogeneous and the constrained nature of the Things, the identity management (identification and authentication), the privacy, the physical and the digital access to the device and the trust. Indeed, the vision of a pervasive communication, anytime and anywhere, needs to deal with those problems. Yet unfortunately, security and privacy studies on the WoT are few and still to mature.

In this chapter we will give a survey of the current advancements in this field. The chapter is structured as follows. Section 14.1 introduces the main building blocks involved in the security of the Internet, provides a list of the main security properties, investigates the security of the smart objects during their life cycle and finally exposes the threats and the security requirements in the current IoT architecture. Section 14.3 begins with an introduction about the security of the WoT, and lists the currently proposed security architectures in the WoT mainly the identity management, data confidentiality and integrity, the authorization and the access control.

14.2 The Existing Security Models

The IoT is seen as the next “industrial revolution” by many experts, where billions of connected devices are able to exchange information between them and with other computing devices. Thence, these devices will constantly generate a huge amount of data, that will be exchanged via Internet. For this reason, we have first to go through some general security properties and threats to which systems are exposed when they are connected to the Internet. Naturally, since more and more data are exchanged over the Internet, they are susceptible to undergo different kinds of attacks including hijacking, eavesdropping, tampering, etc., where the attacker doesn't have to be physically present to take control over the device, a simple corrupted package can do the work. Indeed an eventual attacker can be present in any host connected to the Internet (including the device itself), and it becomes more challenging to prevent them [4].

In this section, we will first introduce the main security properties related to the Internet. The main interest of this subsection, is (1) to give a formal definition to some keywords that will be used all over this chapter; and (2) to have a brief idea of the main security properties required in the Internet in general, and in the IoT and the WoT in particular. Next we will take an interest in the SO itself. We will analyze the different security and privacy mechanisms deployed by the SO to be able to securely communicate with the outside world. And finally we will provide a general security analysis in IoT, including the different threats and vulnerabilities that IoT is exposed to and some security requirement that should be considered while building an IoT application.

14.2.1 Security Properties

• Confidentiality: guarantees that the information exchanged by the users, will not be revealed to a third unauthorized party. A restricted access to the information must be applied and allows only the authorized ones to consult them.

• Integrity: guarantees that the information exchanged between two parties will not be altered or modified by unauthorized third party. It also involves maintaining the consistency, accuracy, and trustworthiness of data over its entire life cycle. It requires direct authorization by the owner of the data, and cryptographic mechanisms to check the integrity such as a hash function (e.g., SHA and MD5), checksums, etc.

• Availability: ensures that the data are always accessible by a legitimate user. Together with the confidentiality and the integrity they form the so called CIA triad, and they are the most crucial components of security.

• Authentication: is a way of identifying users, traditionally by requiring the user to provide valid credentials (e.g., username, password, etc.). The credentials provided are then compared to those already stored in the authentication server database. The credentials are proper to each user and must not be revealed to others. More elaborated authentication processes are required especially for critical systems, for instance using biometric authentication (e.g., fingerprint, eye, etc.), or requiring strong authentication (i.e., authentication with more than one identity factor).

• Authorization: usually following a successful authentication process, users are granted authorization to execute certain task or getting certain information depending on the defined policies. Mainly, who can access the resource? what resource? what action can be performed and for how much time?

• Accounting/Auditing: Accounting consists in the measures of the quantity of resources consumed by a given user during his access, including the amount of system time and the amount of data exchanged. It merely concerns system management. It serves for collecting information in order to do statistics on resource utilization, authorization control and for economical purpose such as trend analysis and billing.

Together with the authentication and the authorization they form the AAA [5], which essentially define a framework for coordinating these individual disciplines across multiple networks, technologies and platforms. Hence, allowing an intelligent and efficient access control to computer resources, enforcing policies, auditing usage and providing the information necessary for services requiring billing. These combined processes are required for any effective security and network management.

• Non-repudiation: guarantees that the author of an information cannot deny its ownership. For example, a user who signed a document with his/her private key cannot deny his/her signature.

Before going deeper into the security mechanisms defined in IoT and WoT, we need to investigate first the critical aspects related to the security of the smart objects. The next section is dedicated to the different security and privacy properties that need to be preserved during the life-cycle of a smart object.

14.2.2 Security of Smart Objects

An attacker who has physical access to the smart object (SO) is able to gather lots of private information. Moreover, if the attacker succeeds to recover the private keys, he/she can decrypt all the traffic flowing from and into this SO, or he/she can inject some malicious codes to other endpoints. Hence, this is a very serious problem and also a critical point in the architecture of WoT and IoT.

In this subsection we will go through the different security and privacy properties that has to be preserved in order to secure the SO, by exploring an architecture proposed in [6].

First we will expose some of the important concepts that will be used in the architecture, some are related to the security and other are for discovery. We will begin with the notion of identity in IoT, since a lot of definitions can be found in the literature, mainly about the identity and the partial identity of objects. In the IoT, SOs are considered as independent entities, with communication and computation capabilities, and with the ability to act on behalf of the user. Traditional identity management becomes obsolete and needs to be extended in order to deal with those changes. Identity will allow in one hand to distinguish the different objects inside the network, and in the other hand to verify their origins. Same as any identity management architecture, in order to create a trust environment, those identifiers must be unique.

Another kind of identity called partial identity can be also used to authenticate objects. Partial identity is mainly used for anonymity purpose. They contain a subset of attributes of a global identity, those attributes can either be chosen by the user or by the identity provider. Pseudonym is an example of partial identity. Those partial identities can be attributed to the users and eventually the objects depending on the situation and the context. Thus we can use either global identity (or identity in general) or partial identity to identify each of the objects according to the context and the environment.

Objects discovery is also one of the concerns in the current architectural research. Objects have to be addressable, named and also discovered. This is a very complex problem especially for the mobility, the availability and the constrained nature of the objects. Many proposals have been introduced in order to address such problems, in particular: IoT Addressing, IoT Naming and IoT Discovery [7,8]. Those problems need a suitable infrastructure such as X.509 [9] or Lightweight Directory Access Protocol (LDAP) [10]. In the solution described bellow they prefer to use the Handle system (HS) [11], because of its advantages such as, simplicity, search capability, interoperability with the others systems, security features and the distributed administration and service model. Handle system is a distributed information system for secure global name service on the network. HS supports secure handled resolution, enabling storing names in a distributed manner, and guarantees access control, data confidentiality, integrity and non-repudiation [11].

Now we will go through the proposed security architecture. This document adds in fact a security layer to an European project called IoT-A focusing on the design of an Architectural Reference Model (ARM) [12], aiming at bringing interoperability between the different IoT domains. This proposal intends to extend the security functions in ARM, particularly the security and privacy in the different stages of the smart object life cycle.

In this architecture, the life cycle of a smart object is divided into three phases: the first one is the Bootstrapping and Registration phase where the smart object is installed, commissioned and connected to the network. The second phase is the Discovery and Provisioning process, where a smart object tries to access the resources of another one. And finally the Operation phase, where the smart object is able to communicate with the destination in a secure manner.

Every step in the previous life cycle needs to provide security and privacy of the users. The information and resources of the smart object must also be protected. Before going deeper into the security aspects of the different phases, a security hypothesis was assumed. Every smart object needs to be statically configured with a cryptographic material such as a X.509 certificate or equivalent, called root identity, in order to execute some security computation later in the different phases. Those materials could be provided either by the manufacturer or by its owner. Next we will inspect the security and privacy analysis of the different phases and also the proposed mechanisms.

The first step in the life cycle of a smart object is the Bootstrapping, where the smart object is installed and needs to be connected to the network. First the smart object needs to be authenticated and authorized before deployed. Naturally not every smart object is allowed to act in the network, otherwise malicious frameworks starting to deploy infected objects in the network may be problematic. This authentication and authorization can be performed using a lightweight protocol respecting the constraints related to the computation capabilities and energy consumption of the objects. Different protocols were mentioned such as Host Identity Protocol Diet EXchange (HIP-DEX) [13], Protocol for carrying Authentication for Network Access (PANA) [14], and 802.1X an IEEE standard for port-based network access control [15]. The proposed solution in [6] can use either PANA or EAP methods [16]. Once this operation done, the smart object can be registered and ready to be discovered, this is done using the resolution infrastructure Handle system discussed before. Additional privacy aspects can be done at this level, in case of successful authentication and authorization. For example, the smart object can compute other cryptographic materials, for anonymity purpose for instance by computing a partial identity. One more thing before going into the next step, is that the credentials are mainly exchanged using a Key Encapsulation Mechanism (usually a public key algorithm), in order to provide a symmetric key material, that will be used later to encrypt the future messages exchanges.

The second step is Discovery and Provisioning where the requester object wants to get resources from an other Object. Hence service discovery should check the authentication and the authorization of the requester object. And the final step is the Operation, where an Object A tries to communicate with an Object B. Fig. 14.1 shows the messages exchanged between the different objects to create a secure communication channel. It regroups the two previous steps.

Image
Figure 14.1 Discovery and operation phases

As shown, first B has to discover if the provider has such kind of service. If it is the case, B will have to authenticate itself, either by providing its full identity, or using a partial identity for privacy-preserving purposes or anonymity. The selection of the identity is done according to the Object B policies and also to the contextual data. Once the authorization and the authentication are successfully done, B requests credentials from the provider to create a secure communication with A. The credentials are formated as a DCapBAC token [17]. The authentication, the authorization, and token exchanges parts can be done using PANA, and the exchanges between the object B and the provider can be secured using HTTPS or CoAP/DTLS [18]. As for the access control, it can be done via XACML technology [19]. Finally, with this DCapBAC token, a secure CoAP-DTLS [20,21] channel can be created between the Object A and the Object B, hence providing a secure M2M communication.

Now that we analyzed the security of the smart object, in what follows we will analyze briefly some of security and privacy properties in the IoT. First we will go through the different threats and vulnerabilities that the IoT is exposed to, then the main security requirements for an IoT system, and finally we will present an example of an authorization framework.

14.2.3 The Security in the Internet of Things

The huge number of smart objects that can be integrated into the Internet thanks to the IoT, and the number of users becoming more reliant on these interconnected devices, raises several security and privacy issues. In order to fully understand those issues, we structured this subsection as follows: (1) We will go through the main threats and vulnerabilities encountered in the IoT. To do so, we firstly present a risk analysis and the origins of those risks. And then, we present the most important attacks surface area, and the top ten IoT's vulnerabilities according to OWASP.3 (2) We will present the main security requirements that should be fulfilled by an IoT application. (3) And we will conclude with an example of security model dedicated to the IoT.

14.2.3.1 Threats and Vulnerabilities

In order to secure an IoT application, several points need to be considered:

• Firstly, with the device itself, since those devices apply relatively weak security mechanisms due to their constrained nature, and also they can be either physically accessible or they can simply be malicious. Hence all these possibilities need to be treated, as explained in 14.2.2.

• Then, the different communication protocols used to communicate with the smart devices. Several vulnerabilities appear (such as Ghost attack in ZigBee [22], usurpation, Sybil attack and Sinkhole attack in 6LoWPAN [23], etc.), which can compromise the devices and the infrastructure.

• Next, the threats coming from the external entities. Attacks such eavesdropping, tampering, DoS attacks, phishing attacks or code injection attacks can occur.

• And finally, problems related to the privacy and trust from the device owner perspectives. Naturally private information needs to be confidential, protected and also guaranteed to be destined only to the legitimate person or device. Hence security and privacy requirements need to be set and applied to protect IoT.

Related works in this field considered the analysis of IoT's specific properties, to be able to analyze the security and privacy challenges, and this is the objective of this section.

A research study in HP [24] conducted on the security risks on the IoT devices, by viewing 10 of the most popular devices in some of the most common IoT architectures, shows that:

• 90% of devices collected at least one piece of personal information via the device, the cloud, or its mobile application such as name, address, data of birth, health information, and even credit card numbers.

• Six out of 10 devices that provide user interfaces raised security concerns and were vulnerable to a range of issues such as persistent XSS and weak credentials.

• 70% of devices do not encrypt communications to the Internet and local networks.

• 70% of devices along with their cloud and mobile application enable an attacker to identify valid user accounts through account enumeration.

• 80% of devices along with their cloud and mobile application components failed to require passwords of a sufficient complexity and length, hence weak passwords.

According to HP and OWASP those problems are mainly due to insufficient authentication and authorization, lack of transport encryption, insecure web interface and insecure software and firmware. Deeper analysis of those problems will be threatened in what follow. OWASP Internet of Things (IoT) Project,3 an Open Web Application Security Project explores and exposes the security risks associated with the IoT in order to help developers, manufacturers or any entity of interest to understand and make better decision when dealing with IoT technologies. This project is structured into sub-projects mainly the IoT attack surface area and the top IoT vulnerabilities.

The IoT attack surface 4 :

The IoT attack surface is pretty wide and exposes an exhaustive list of attacks surfaces and their correspondent vulnerabilities. In this section, we will go through the most important ones which will give us the essential background to continue the exploration of the advancements in the field of IoT security researches:

• Ecosystem Access Control: This area focuses on the problems related to control the access to the device, mainly the problems related to the implicit trust between the components, the enrollment security and the lost access procedures.

• Device Web Interface: it covers all the web attacks that the device's web interface may be exposed to such as SQL injection attacks, Cross-site scripting, username enumeration and weak passwords etc.

• Device Network Services: covering the network attacks that may threat the device, such as Denial of Service, poorly implemented encryption, unencrypted services, buffer overflow, relay attacks, etc.

• Local Data Storage: since the resources in the device need to be protected, several vulnerabilities may occur mainly in case of unencrypted data or data encrypted with discovered keys, lack of data integrity checks or the use of same static encryption/decryption keys.

• Mobile Application: vulnerabilities such as lack of transport encryption, lack of two-factors authentication, weak passwords, etc.

• Network Traffic: covers all the problems related to the communication protocols specially the wireless ones (WiFi, Zigbee, Bluetooth) and the application of fuzzing protocols to test the IoT applications.

• Authentication/Authorization: one of the most important problems, not only in the IoT but also in the WoT. The vulnerabilities are mainly related to the authentication/authorization related values (credentials, session keys, tokens, etc.), device to device authentication, device to mobile application authentication and the lack of dynamic authentication.

• Privacy: user data disclosure, user/device disclosure and differential privacy are the main vulnerabilities that an IoT user may be exposed to.

• Hardware (Sensors): and last but not least all the problems related to the electronic devices itself such as sensing environment manipulation, tampering and damaging the device physically.

Covering all the vulnerabilities provided by OWASP needs a lot of times. In the discussion that follows we will focus on the top ten vulnerabilities provided by OWASP. They are present in many attacks surface areas, and they form also the basis of the previous statistics made by HP.

IoT's top ten vulnerabilities 5 :

1. Insecure Web Interface: it's a threat that can be initiated either by an internal or an external attacker, exploiting the problems related to weak credentials or by the enumeration of users accounts. In term of exploitability and detectability, it is rated as EASY, which means that attacks of this type can be discovered just by manually examining the interface or by using automated testing tools. Also other issues can be identified using those tools such as cross-site scripting. The impact of an unsecured web interface may lead to data loss or corruption, denial of access and even complete device takeover. This is why it is rated as SEVERE regarding the impact.

2. Insufficient Authentication/Authorization: since access to the device's resource must be prohibited for unauthenticated or unauthorized entities, insufficient authentication or authorization mechanism is rated as SEVERE concerning the impact on the data and the device itself (data loss and corruption and even complete compromise of the device and/or the user accounts). The attacker can take advantage of the lack of granular access control and weak credentials, since authenticating entities with weak credentials may not be sufficient. In term of exploitability it is rated as AVERAGE and EASY in term of detectability.

3. Insecure Network Services: checking vulnerabilities related to open ports such as DoS, buffer overflow, and fuzzing attacks are very commune, since anyone who has access to the device via a network connection may attack the device, thus only the necessary ports need to be exposed and protected. Also, abnormal request traffic need to be blocked. Several DoS attacks have been proven to be efficient on the IoT devices [25,26] specially when unsecured network services are available, rendering the device unavailable or inaccessible to the user. In term of exploitability and detectability it is rated as AVERAGE. However, the impact is rated as MODERATE.

4. Lack of Transport Encryption: eavesdropping and tampering can be easily set by an attacker in case of unencrypted data sent over the network, since it is prevalent that the traffic in the local networks is assumed to be not widely visible hence the lack of transport encryption. However, traffic can be visible in case of a mis-configured local wireless network which may result in data leak or loss. Many propositions for end-to-end encryption using DTLS or a lightweight cryptography have seen the light [27]. In term of exploitability it is rated as AVERAGE and EASY in term of detectability. The impact is rated as SEVERE.

5. Privacy Concerns: protecting the user's private information is an important requirement in any system. In IoT case, the attacker can take advantage of a weak authentication, lack of transport encryption or unsecured network to gather personal non-protected information. This scenario can be crucial in case of confidential and sensitive information such as credit cards information or health information. Thus data anonymization, authorization and encryption need to be guaranteed in such environments. In term of exploitability it is rated as AVERAGE and EASY in term of detectability. As for the impact, it is rated as SEVERE.

6. Insecure Cloud Interface.

7. Insecure Mobile Interface.

8. Insufficient Security Configurability are also critical aspects that must be taken into account while dealing with such environment.4

9. Insecure Software/Firmware: even if the exploitability of this kind of vulnerabilities is DIFFICULT, its impact is considered as SEVERE, since it can lead to compromission of user's data and even to take control over the device. The device needs to be able to perform updates regularly, specially when vulnerabilities are discovered. The updates need also to be protected, since software/firmware updates files delivered on insecure network connection are susceptible to altering attacks. Consequently, encryption and integrity checks need to be performed. This vulnerability can be EASILY detected by inspecting the network traffic during the update and check the encryption.

10. Poor Physical Security: finally, physical attacks are widely used to access the operating system and the sensitive data stored in the device such as the encryption keys and the credentials, by disassembling it and accessing the storage medium. Precautions can be made by encrypting the stored data and ensuring that the USB ports can not be used maliciously. In term of exploitability and detectability it is rated as AVERAGE.

14.2.3.2 Security Requirements for the IoT

The exponential growth of the number of deployed devices and the size of data that will be exchanged on the network raised several challenges in order to achieve a global architecture. Those challenges concern not only the operational part, but also, and most importantly, the security and the privacy in such environment [28]. What makes the uniqueness of the IoT are the properties that need to be treated in order to define the security and the privacy challenges. Such properties, as explained in [29], are the result of the analysis of many related researches in the IoT field, they are mainly four properties: 1) Uncontrolled environment which is natural for an environment such as the Web especially when dealing with mobile Things (from one domain to another), physically accessible and requiring the establishment of trust relationships in order to exchange sensible information. 2) Heterogeneity since the IoT environment may integrate various types of entities coming from different origins. 3) Scalability related to the plethora of Things that need to be interconnected, hence a highly scalable protocols need to be applied and 4) Constrained resources in term of energy, computation capabilities and storage space. The same analysis shows that the security requirements can be grouped into five main sections: Network Security, Identity Management, Privacy, Trust, and Resilience.

Network Security:

Preventing eavesdropping, tampering, spoofing, denial of service, and so on, of sensitive information when they are sent via the Internet, either from a Thing to another or from a Thing to human, is an important requirement for network security. Confidentiality requires the establishment of a secure communication for the IoT's smart objects, specially when they communicate through the Internet. Traditionally, several technologies such as IPSec and TLS have been proven to fulfill the requirement, however they require significant cryptographic computations that exceed the capacities of the current IoT devices. Thus, dedicated secure network stack for the IoT needs to provide strong and lightweight encryption, so that the constrained devices can benefit from the same security functionalities that are typical of unconstrained domains. Most of the solutions trend to use a trusted unconstrained node to offload the computationally intensive tasks such as the calculation of the master session key. Another property guaranteed by the encryption is the Integrity of the data to ensure they are not altered during their way to the destination. While Authenticity provides proof that a connection is established with an authenticated entity, it can also include the integrity. And finally, the Things need always to be available meaning that the connectivity of a Thing should persist even under link failure, referring to the Availability property. Secure routing is also one of the issues that can occur in the network, and it can be instantiated through the implementation of secure routing with a strong protocol such as RPL [30].

Identity Management:

First of all, each object needs to be aware of its own resources such as identity, constraints, security requirement, etc. Due to the enormous number of devices deployed in the Internet, and the complex relationships that they can have with each other, appropriate identity management mechanisms need to be present. Still identity management alone is not sufficient showing the importance of authentication, authorization, accountability and revocation mechanisms. Authentication is very important to IoT and is likely to be the first operation carried out by a node when it joins a new network, which appears in first deployment or mobility cases as examples. Usually authentication is performed using an authentication server with a network access protocol such as PANA or Extensible Authentication Protocol (EAP) [16]. As for the management of the access authorization and the ownership of resources, federated authorization such as Kerberos and OAuth have the possibility to provide delegation of access across domains and provide quick revocation. A presentation of an authorization framework is presented in 14.2.3.3. As for the Accountability, it needs to deal with the massive amount of data that will be exchanged. Also mechanisms to manage the identity of the nodes and a key management with protocols such Authenticated Key Exchange (AKE) can be compatible with IoT [16].

Privacy:

Objects dealing directly with the private information of individuals and organizations raise a challenging privacy issue in IoT. The environment needs to provide data privacy for the data transmitted in the Internet, in the sense that traffic sniffed containing those data will not reveal/expose its content. For this reason mechanisms for data anonymity, pseudonimity and unlinkability need to be used to guarantee the privacy of the data in on hand and the entity itself (human or device) in the other hand.

Trust:

Giving a proper definition of the Trust specially in a distributed architecture such IoT is still a challenge, since any trusted entity can become malicious either intentionally or after being compromised. However, the Trust in this case can be separated into three parts. The first part is the Device Trust, since a prior trust cannot always be established due to the mobility and the distributions properties of IoT. However, approaches such as trusted computing [31] and computational trust [32] can solve the problem. The second part is the Entity Trust referring to the expected behavior of the different entities. This part presents more challenges. Solutions based on the behavior analysis and the application of proper policies need to be investigated. The last part is the Data Trust, which can use the previous established trust relationships to judge the trustworthiness of the data e.g., data originating from a trusted entity might be also trusted.

Resilience:

And finally the Resilience requirement, where the IoT applications need to ensure the availability of the resources in case of system failure, and also to have robustness against the different attacks.

14.2.3.3 Example of Security Model in IoT: OAuth-Based Authorization Service

Authorization as we defined it previously, is a critical aspect in accessing the objects in a secure way, and preventing unauthorized users form extracting information, in particular the private ones. Many innovative architectures have been proposed in the last years. One of the main problems related to the authorization process (for example with OAuth) is the limited computational power and the communication constraints of the smart objects, since some cryptographic primitives such as computing checksums or digital signatures require both processing power and energy consumption. Moreover, if the access policies for the services provided by the Smart Object reside on the Smart Object itself, it could be extremely hard to dynamically update them once they have been deployed. The proposed architecture, described below, solves this issue by deploying an external authorization service based on OAuth.

OAuth-Based Authorization Service for IoT (IoT-OAS), is a framework based on HTTP/CoAP services to provide an authorization framework, in order to protect the privacy of the personal information. This authorization is based on the protocol OAuth allowing a secure authorization form third-party applications, and benefiting from the advantages of using such delegated authorization protocol such as lower processing load, fine-grained customization of access policies and scalability. The proposed framework uses the access token in order to access the IoT application resources, and also a delegation approach [33].

Now that we have a global overview of the threats and the security requirements in the IoT, we will introduce the security of the WoT by listing the currently proposed models, mainly the identity management, data confidentiality and integrity, the authorization and the access control.

14.3 Security in the Web of Things

Privacy, security, and trust issues in WoT require special attention and further investigations and ameliorations. To briefly clarify these issues, lets consider the example of an object accessible over the web. The privacy involves handling issues raising from sharing this object with others on the web, allowed only to the authorized ones, the concealment of personal information as well as the ability to control what happens with this information. The security deals with issues related to who will have access to the object and what he/she can do while he/she has the access. And trust concerns the issues related to the interactions between the different WoT entities in the Web. The use of REST-based API in WoT makes it possible to layer the entire interactions using HTTPS protocol. Since Things on the Web will be accessible and shared among many users, researches in this area are essential for a successful and widespread use of the WoT. Until recently, researches dealt only with IoT issues [34,35], thus WoT security is yet to be explored [36].

In this section we will first go through the problematics related to the identity management, we then focus on data confidentiality and integrity, and finally we explore the authorization and the access control models.

Generally, openness and sharing in any ecosystem come always with security and privacy issues, same applies to the WoT. Things' shared resources and data need to be protected against vulnerabilities raised from malicious intervention and inadvertent errors. In the last few decades, several Web services based solutions have been proposed to address those privacy and security issues. However, those solutions in most of the time are not compatible with the constrained environment such as the WoT. Moreover, it does introduce new dimensions of risk due to its heterogeneous nature. Some of the main threats related to WoT can be summarized in the following list:

• Impersonating a Server or a Thing: the server acts as a proxy to deliver requests to the right destination, Things discovery or other purposes. An attacker can take control of the server and present itself as a valid server. Hence, all the traffic going through it will be compromised by the attacker including credentials and users/objects identities. Furthermore, an impersonated Thing can reveal personal information, or send malicious code that can be injected in the requester side.

• Tampering attacks against Things' resources.

• Unauthorized access to the Things' resources.

• Eavesdropping of the traffic flowing between the different entities in the WoT environment, hence compromising the privacy property.

• Denial of Services attacks, which aim the unavailability of the Objects in the Web, by submerging it with excessive amount of network traffic.

To face such threats, WoT needs to provide some security and privacy guarantees while taking into account the mobility and the size of the Network. It is necessary to protect the Things private resources and critical information from being accessed, modified or inserted by unauthorized entity. Thus, Authentication, Authorization and Access control are indispensable requirements for the WoT, combined with efficient Identity management and policies can provide a strong security and privacy architecture. Other security properties need to be also taken into account such data integrity and confidentiality which can be provided through secure communication through encrypted channels inside the WoT ecosystem. The rest of the section provides an overview of the different security mechanisms that are actually proposed or that are under development.

We will start with how the identity is managed in the WoT architectures, the different identity management models and we will conclude with an example in Section 14.3.1. Then in Section 14.3.2, a study on providing confidentiality and integrity of data through securing the channels between the communicating devices. Then in Section 14.3.3, we introduce the authorization approach that can be applied to a WoT architecture. We conclude in Section 14.3.4 with the analysis of the access control mechanisms that can be deployed in a WoT environment.

14.3.1 Identity Management in WoT

Controlling users identity is an important process in any application and system. Such control includes authenticating users and verifying their access permissions to the desired information. This process is also applied on the user's data inside an ecosystem, since personal information such as identity, credentials, social security, etc., must be protected against unauthorized access. Consequently, several mechanisms have been exposed in the literature allowing such control such as the Identity Management mechanisms [37]. Kim Cameron in [38] refers to the set of guidelines related to the digital identity systems, including the design principles and rules to achieve security and dependability properties.

The Identity management defines the rules to identify individuals in a given system, through their identities and depending on the circumstances. The system controls user's access to its resources by attributing respective rights and restrictions. Defining the appropriate policy is also important in the identity management by defining if the entity (devices or user) is authorized on the network or not, what it can accomplish, in what circumstances, if it have the privileges and probably other factors.

However in our case the encountered problem is identifying the smart objects in the WoT. Undoubtedly in WoT, we will have interactions of the form object-to-object where an object A will send information to object B without human intervention, and object-to-human, where sensors will send their results to the human. So obviously for security reasons, identity control in these use cases is crucial, since we exchange and entrust more and more personal information to the smart objects, that are directly exposed to Internet.

In fact several questions raise such as: How to uniquely identify objects in WoT? And how to provide these identities in the object-to-object use case, and the object-to-human use case? Finally, how safe the identity of the users and objects in the WoT ecosystem is? We will answer these questions in the next sections of this chapter by exploring some researches in this domain and through some real-life use cases deploying such techniques.

14.3.1.1 Identity Management Models

The general architecture of the identity management models in the WoT ecosystem is composed of an Identity Provider (IdP), a Service Provider (SP) and the user/object. In this section we will provide a brief sketch of the existing identity management models [39].

• Centralized federation model: where there is a unique trusted IdP responsible for collecting and provisioning users with identity information. Usually located in a secure domain, this model enables Single Sign On (SSO), and sharing the users identity information with different SP. However, the IdP suffers from the problem of single point of failure, if this part fails the entire identity management system will fail.

• Decentralized federation model: the IdP's functions are distributed among several IdPs, and in different secure domains. This model needs to establish a trust relationships between the SPs and the IdPs, in order to provide SSO to users affiliated to different IdPs and SPs. However in this model, the user does not have the full control of his identity information, since they are stored in the IdP, and they can be disclosed to a third party without his permission.

• User-centric model: this model solves the problem of controlling the user's identity, by providing the user with full control of all the transactions involving his identity. Concretely, the user needs to explicitly approve the use of his identity. The user/object can have one or more identities issued by one or more Identity Provider. Such system needs to guarantee several properties, some of the basic ones are the confidentiality, the integrity and the unlinkability. The complete taxonomy of properties related to the user control is illustrated in [39]. An example of user centric IdM is illustrated in [40].

14.3.1.2 Real-Life Identity Management Case Study: E-Health

A new E-Health approach combining remote medical assistance, with the use of smart objects in order to continually monitor patients suffering from chronicle illnesses or age-related diseases, can be brought by the WoT concepts. This kind of remote medical assistance is called Ambient Assisted Living (AAL). Some examples of smarts objects used in the health domain are peacemakers, remote vital signs and motor activity monitoring with wearable smart objects, and so on. They have direct and real-time access to the medical data of the patient. Communicating with those objects can be performed using two methods: directly, which needs powerful devices embedded with web servers or indirectly using a Smart Gateway that allows web interaction with different kinds of smart objects usually using different communication technologies [36]. The indirect method is the one used in this case study [41].

However, accessing private medical information by the objects raises serious security and privacy related problems. Generally in order to access health information by authorized people (relatives, professionals involved in the treatment), the patient's consent must be provided. Due to the high sensitivity of the information, these embedded devices needs to ensure privacy and security requirement, specially when they are directly exposed on the web. Thus authentication and access controls mechanisms needs to be deployed for this purpose. The use of an Authentication and Authorization Infrastructure (AAI) [42], can perfectly satisfy these requirements by providing the Identity Management to the platform together with guaranteeing the identification of the user/object and the quality of the identity information.

As we discussed above, several types of identity management can be deployed depending on the circumstances. In this case where the patient private information needs to be controlled by himself, the user-centric model is the most suitable choice, for authenticating users and devices and also for establishing a trust relationship between the different actors of the system, by adopting the OpenID Connect framework. It is a simple identity layer on top of OAuth2.0, providing identity verification of variant types of users, smart objects, applications, mobiles, etc., based on the authentication performed by the authorization server, or what we usually call IdP. It allows also to obtain a basic identity information about the requester in an interoperable and REST-like manner [43]. Furthermore some security requirements need to be provided by the WoT in addition to the identity management, such as secure exchanges between the entities, data confidentiality and integrity, secure network access just by the authorized objects and the protection of the objects against tampering and physical attacks.

The identity management in this case study helps to control the access to the medical information of the patient, in one hand by identifying the authorized users/devices, and in the other hand by countering the unauthorized people/devices through the use of OpenID Connect combined with policies based on the user-attribute located in the Smart Gateway [41].

14.3.2 Data Confidentiality and Integrity

Securing the communication between the different components of the Web of Thing environment is mandatory, in order to preserve data confidentiality and integrity and to prevent a third party from eavesdropping and intercepting information exchanged between the different entities of the system. However, encryption in a constrained environment such as WoT can be problematic since cryptographic computation usually requires memory and energy which are not always available in the smart devices. In what follows we will go through two examples of end-to-end encryption, the first one is based on securing the communication at the transport-layer, and the second one for securing the communication at the application layer.

14.3.2.1 End-to-End Security in CoAP's Transport-Layer

Several security-related issues are raised in [44], on how to allow secure communications on the WoT, either for Thing-to-Thing communication or for Human-to-Thing, since most of the applications currently envisioned for the WoT require strong security assurances while taking into consideration the constrained environment of the smart objects. Those issues need to be handled before it can realistically be considered ready for deployment.

For this objective, an experimental evaluation of the different mechanisms proposed to secure end-to-end web communications with IPv6-capable sensing applications and devices have been realized in [44]. Those experiments are based on the analysis of Constrained Application Protocol (CoAP) protocol [18] maintained by CoRE (Constrained RESTful Environments), by using the Representational State Transfer (RESTful) web services with IPv6-enabled sensing devices. In CoAP the security is not integrated at the application-layer protocol itself, but rather directly applied to all CoAP messages at the transport layer of the protocol. Thus deploying DTLS in protecting communications at the transport layer appears as a logical choice, since currently 6LoWPAN environments employ UDP, at least from the standardization's standpoint. CoAP proposes three security modes based on the usage of DTLS to secure web communications with smart objects: 1) RawPublicKey, 2) PreSharedKey, and 3) Certificates all employing the CoAPs scheme when contacting a DTLS-enabled CoAP server [18]. The RawPublicKey and Certificates modes employ Elliptic Curve Cryptography (ECC) by using the Elliptic Curve Digital Signature Algorithm (ECDSA) for devices and messages authentication, and the Elliptic Curve Diffie–Hellman (ECDH) for the key agreement. The PreSharedKey mode used in the case where the smart devices already store some predefined keys either provided by the manufacture or the developer or simply by the user. Those keys will be used to secure the communications with other devices.

The experiments done in [44] analyze the impact the different CoAP's security modes on the network-layer payload space, the memory footprint and the computation and the energy overhead of the smart devices deploying theses security modes.

From the first analysis on the overhead on network-layer payload space, they concluded that even if the impact of CoAP security on the payload space available to applications is visible (up to 33% of the payload), it may be considered viable for applications that are thrifty with respect to payload space requirements. However, fragmentation is unavoidable in case where the applications requires a larger payload.

From the second analysis on the memory footprint of CoAP security, they concluded also that hardware-level encryption does not come without a non-negligible overhead on memory, especially the ROM memory (in the best case 78.9% will be needed in the Certificate mode). They also identified a major limitation that there is not enough ROM memory available to support the RawPublicKey mode. RAM is potentially a problem in this case, since 88.6% of memory usage in case of RawPublicKey mode may compromise the usage of other required applications in the device. Elaborated sensing devices with more memory will be required in the future to appropriately support ECC-based security modes. The remaining CoAP security modes appear to be valid in this case.

The last analysis concerns the computational and energy overhead of CoAP security, the outcome is that a significant impact of ECC on the performance and energy of current sensing platforms, inevitably influences the lifetime of sensing applications and its maximum achievable transmission rate. The advantage of hardware-based cryptography is again expressed by the values obtained from the PreSharedKey mode, therefore a good choice when pre-deployment and configuration of security-related parameters on sensing devices is desired. For scenarios where public-key cryptography is required, the Certificate mode appears again the best alternative to ECC.

The analysis concluded that the modes deploying the Elliptic Curve Cryptography consume more memory and energy, and cannot be used for high transmission rate. However in the future the ECC approach can become very promising with the evolution of the capacities of the smart devices due to the strong cryptographic properties proposed.

14.3.2.2 End-to-End Security in CoAP Application-Layer

Indeed, application-based security have been proved to have the capability of interpreting and interacting directly with the information contained in the payload portion of a datagram such as the application proxies used in most firewalls for FTP transfers. These proxies have the ability to control and restrict the use of certain commands even if they are contained within the payload part of the package. Moreover, lower-layer security protocols like DTLS do not have this capability. They can encrypt the commands for confidentiality and authentication, but they cannot apply restriction and policies for their use.

Hence, deploying such security in the transport layer in CoAP misses all the advantages available in the usage of security at the application layer. Another analysis, done in [45], focusing this time on the security of the end-to-end communications between devices at the application-layer rather than the transport layer of the protocol. Respecting the limitation brought by the WoT applications, this mechanism is employable in the context of a general security architecture supporting web-enabled sensors (Things).

Historically, several approaches were proposed to address in particular the end-to-end communications security between 6LoWPAN wireless sensing devices and Internet hosts. However, most of them are not compatible with the current vision of WoT using CoAP and 6LoWPAN as standards. We mention Sizzle [46] which is one of the smallest web server providing HTTP accesses secured using SSL's 160-bit ECC keys, for key negotiation and authentication, but requiring a reliable transport-layer protocol and therefore was incompatible with CoAP and 6LoWPAN at that time. However since then researches have evolved enough so that CoAP can now provide reliable transmission of messages according to the RFC7252 (Section 4.2 in [18]), by adding the Confirmable option to the CoAP's header. This would be a possibility to a future analysis of using Sizzle with the current CoAP. However, another issue with Sizzle is that it does not support two-way authentication which is required by many Machine-to-Machine (M2M) applications on the WoT environment. As an alternative, Sensor Networks for All-IP world (SNAIL) [47] secured using a lightweight SSL (SSNAIL) is another solution proposed to solve the two-way authentication using an ECC-enabled handshake instead of RSA [48], also requiring a reliable transport-layer protocol that was not available at that moment. This reliability can also be brought by CoAP, thus extra analysis can be done to check the compatibility of SNAIL in the WoT environment. More in line with the security in the application layer, a proposed solution for the integration of security with CoAP using options for the activation/deactivation of security contexts and for the protection of CoAP messages have been proposed and abandoned in an IETF draft [49].

The proposed mechanisms integrate and evaluate the security at the application-layer with the CoAP, by adding new security options to CoAP. The first option is SecurityOn which precises if the received CoAP message is protected with an application-layer security or not. This option states which security is applied (encrypted, signed or both) in the SecurityApplied field; the Destination Entity identifies the actor CoAP URI that the destination must handle, this option can be employed several times in the same CoAP messages to enable the traversal of different trust domains and possibly using different encryption keys; the timestamp to verify the legitimacy of the message; and finally the Context identifier enabling the receiver to contextualize the message in term of security, in particular deciding the appropriate ciphers and keys.

The second option is the SecurityToken enabling the use of authorization and identity mechanisms. With this option, the requester may identify itself to obtain the access to a given CoAP resource. This option enables also request authorization based on a per message basis. Using the “TokenType” field, the requester can precise the authentication mechanism, that can be either a simple authentication process using its Username and Password or with a more sophisticated authentication process using its public-key, its X.509 certificate referred by a URI, or a kerberos ticket obtained from a domain server.

The last one is the SecurityEncap option. It transports the security related information required for the processing of the CoAP message, which depends on the content of the SecurityOn option. If only an encryption is required in the SecurityOn message (SecurityApplied set to 0), this message may transport a nonce plus the number of options followed by the encrypted data. If the SecurityOn requires a signature (SecurityApplied set to 1) this message may be used to transport an encrypted MAC plus a nonce value for freshness purpose. If the SecurityOn message requires both encryption and signature (SecurityApplied set to 2) a nonce, a MAC, a number of options and encrypted data may be transported with this option. More details on these new CoAP's security options can be found in [45].

An evaluation of the deployment of these options have been achieved to evaluate the impact the end-to-end security on the CoAP payload, the lifetime and the communication rate of the sensing application. The test platform is composed of a CoAP sensor (TelosB), an Internet host using CoAP and a CoAP intermediary (a forward proxy) that will be used for security processing. Via the SecurityToken option, the intermediary will provide authorization of CoAP clients and access control to the resource. As explained in Fig. 14.2.

Image
Figure 14.2 CoAP and DTLS security end-to-end usage scenarios [45]

The first evaluation is the impact of end-to-end security on the payload space of a CoAP packet, it computes the space needed to add security in the application layer. The analysis shows that the usage of the CoAP security intermediary in the encryption and the signature performs even better than using only CoAP with DTLS in the transport-layer. Thus the usage of the intermediary allows offloading the security computation, and guaranteeing a very small impact on CoAP's payload space. The analysis also shows that in the worst case when using encryption, signature and authentication, 65% of the original 6LoWPAN payload is still available. Hence, this approach is viable from the payload space point of view.

The second evaluation is on the lifetime of sensing application, by computing the energy consumption of the device when using such security options. It shows that the usage of the CoAP security intermediary in the encryption and the signature perform even better than using only CoAP with DTLS in the transport-layer. However, end-to-end CoAP security without an intermediary has bigger impact on the expected lifetime, specially for lower communication rates where the cumulative impact of AES/CCM encryption in the default CoAP security context is lower compared to the impact of the energy required to process and transmit CoAP security options. Consequently the obtained results show that CoAP security provides acceptable lifetime values in all usage scenarios, particularly considering the WoT applications natively designed to require low or moderate wireless communications rates.

Finally concerning the impact of end-to-end encryption on the communication rate of sensing applications, the study shows that using CoAP signing and encryption of all messages (as using DTLS) provides inferior performance. However, the results are still clearly above the requirements for the number of CoAP protected messages per second of most CoAP wireless sensing applications envisioned for the WoT, even in the worst case.

The overall evaluation of the proposed mechanism shows that CoAP application-layer security may perform similarly or better than transport-layer security. This approach brings new security to CoAP messages that are not possible in the transport layer to allow secure end-to-end communication for WoT wireless sensing applications, but still needs further investigation specially in term of key management and synchronization mechanisms [45].

14.3.3 Authorization in WoT

Allowing fine-grained and flexible access control to only authorized parties is crucial to an open ecosystem such as WoT, where objects are part of the World Wide Web and easily discovered. Traditional cryptographic algorithms and protocols might not be feasible due to the constrained nature of smart objects. Most of the actual solutions aim at setting a distributed authorization architecture, where a back-end server deals with the complicated tasks, which needs processing resources while letting the constrained devices handle the minimum of messages. The server is usually located between the smart device and the requesters. However, the device also needs to be able to distinguish the different requests coming from different entities and to apply the right authorization decision.

At the same time, several lightweight cryptographic algorithms such as (SEA, PRESENT, OAuth [50]) appeared specially to satisfy this purpose. Another solution is Delegated CoAP Authentication and Authorization Framework (DCAF) [51], allowing the delegation of the complex cryptographic computation to external entities, and establishing a secure DTLS channel between resource-constrained nodes. This protocol can be used to delegate authentication of communicating peers and authorization management to a trusted third party with more computation power, memory and energy [52].

As discussed in the previous sections, constrained environment needs to be treated differently than the normal environment. Moreover, those constrained nodes are expected to be present in various aspects of everyday life, hence they will be entrusted with large amount of personal data very likely susceptible to various attacks. For this reason, authentication and authorization are required for a secure WoT.

In some cases, static configuration of the authentication and the authorization process can be efficient, just as the case of prefixed silos of users or purposes, by statistically defining the access lists and the trusted entities when first deployed or by the manufacturer. However in case of flexible access to already deployed Things available to various number of users through the Web, this options seems to be obsolete and inefficient. In addition, authorization and privileges may change depending on the circumstances and the policies of the environment such as modifying the privileges of a black listed malicious entity.

For this end, an authorization and authentication architecture is proposed in [53] exclusively for constrained environments, where complicated security tasks will be assigned to another trusted entity, or by getting help from less constrained actors in the system. In this architecture, each entity will be assigned a constrained level (“constrained level”, “less-constrained level”, etc.). The less constrained nodes, also called Authorization managers, will perform the complex security tasks on behalf of their respective managed nodes, such as managing keys, enforcing authorization policies, etc. Fig. 14.3 shows the overall authorization architecture:

Image
Figure 14.3 Overall authorization architecture [53]

The components deployed in this architecture with their roles are such as follow:

• The Resource Server (RS) is hosting and representing a resource. It can be a SO or a traditional server (less constrained device).

• The Client (C) is an endpoint requesting a resource on the resource server (RS). The endpoints may or may not have a trust relationships, it can also be a constrained device (Thing) or not.

• The Authorization Server (AS) is in charge of creating and approving the authorization and the authentication data for the RS. It's a less constrained level of the architecture (in term of memory, energy and processing). Plays the role of backup for the RO and acts on behalf of it to handle the access requests to the RS. Authorization and authentication mechanisms can be deployed also between AS and CAS in order to further relieve the constrained level.

• And finally the Client Authorization Server (CAS) in charge of creating and approving the authorization and the authentication data for the Client. It is also a less constrained level of the architecture and play the role of backup for the RqP and act on behalf of it to handle the access requests to the Client.

• The Resource Owner (RO) is the entity (principle) that owns and controls the resource and also grants permissions using mechanisms such as OAuth [50] and User-Managed Access (UMA) [54]. The RO controls and makes authorization decision for the RS. Basically if an entity is not authorized by the RO it cannot access the resource R, hence performing authorization in the RS side.

• The Requesting Party (RqP) is the principal in charge of the Client, it controls requests that the client makes and the acceptance of the received responses. Precisely, it controls the interactions that the Client may operate with other endpoints and makes authorization decisions on behalf of the Client. Basically the client cannot exchange information (requests/responses) with a resource without the authorization of RqP, hence performing authorization in the requester side. Furthermore RqP may provide enough information to CAS to autonomously negotiates the access to RS with AS on behalf of the requesting Client.

• The Principal it can be either an RqP or a RO.

To summarize the aim of the overall architecture, the interactions between the constrained nodes must be controlled via the less-constrained level entities (AS and CAS) that act on behalf of the respective principals of the endpoints (RqP ans RO). Securing this interaction together with the control messages, by the bias of cryptographic keys, is also a requirement. The connection between the constrained nodes and the less-constrained nodes should be protected using a symmetric pre-shared keys and credentials. Also, protecting the connection between constrained nodes needs to be considered. This solution addresses also the confidentiality, the integrity and the availability problems since only the authorized entity has the right to access the resources, hence less charge on the system. Moreover, adding authentication to this architecture guarantees the accountability property and the authentication/verification of third parties.

There are other variants for this architecture depending on the scenario, for example some components can be merged in a single entity, such as combining the Client and the CAS if the Client has enough capabilities. A deeper analysis can be found in [53]. In what follows, we will present two authorization frameworks, the first one is a concrete implementation of the overall architecture presented above, and the second one is a token based mechanism.

14.3.3.1 Authorization Framework Example 1

An implementation of the previous architecture was proposed in [52]. It's a protocol for delegating the heavy security tasks such as authentication and authorization information to a less constrained and trusted entity. It relies on the DTLS to send authorization information and shared secrets (basically symmetric cryptographic keys) between nodes in a constrained network. It uses the notion of access token to implement the authorization architecture for constrained environment such as WoT. This protocol is called DCAF [52].

The goal of DCAF is mainly to setup a secure DTLS channel between two constrained nodes using the symmetric pre-shared key (PSK) cryptography, where the most sophisticated tasks are handled by the less constrained nodes. Moreover, DCAF ensures secure transmission of authorization tickets and enforces the authorization policies defined by the respective principal of the constrained node. Another advantage of the protocol is the support of implicit authorization where no authorization information are exchanged, hence a simplified authorization mechanism.

The actors of this implementation remain the same, with a difference in the terminology:

• Server (S) referring to the “Resource Server (RS)”.

• Client (C) remains the same.

• Server Authorization Manager (SAM) referring to the “Authorization Server (AS)”.

• Client Authorization Manager (CAM) referring to the “Client Authorization Server (CAS)”.

• Authorization Manager (AM) which can be either a SAM or a CAM.

• Client Overseeing Principal (COP) referring to the “Requesting Party (RqP)”.

• Resource Overseeing Principal (ROP) referring to the “Resource Owner (RO)”.

Fig. 14.4 is a global overview of the proposed architecture, it summarizes the main interactions.

Image
Figure 14.4 DCAF's overall authorization architecture

As explained before in the authorization architecture, each server (S) (which is a constrained environment that hosts a resource and it can be a Thing) is controlled by a Server Authorization Manager (SAM) that will perform the authorization and authentication process on its behalf. They both have already a pre-shared symmetric key that was exchanged initially using a key exchange mechanism.

When a client requests an access to the server's resources, he/she has first to ask the SAM for an “Access Ticket”. The client can be either a constrained device (a Thing) or a less constrained device. In the case of a less constrained client, he/she can directly request the access ticket from the SAM, that will perform the “Check 2” to verify if the client is authorized to access the server's resource, by consulting the Resource Overseeing Principle (ROP) policies. Once the check is done correctly, the client will get an access ticket that contains a PSK, and also some details for the access permission in case of explicit authorization. Using this PSK, the client can directly and securely communicate with the server.

In the second case where the client is a constrained device, in order to get the access ticket he/she needs to go through a CAM that will act on his behalf, represented as step 1. The CAM will perform “Check 1” to verify if the server is an authorized source for the wanted resource, by consulting the policies defined by the COP, and then will forward the request to SAM (the step 2). Similarly, SAM will perform the “Check 2” to verify if the client is authorized to access the server's resource, by consulting ROP's policies. Once the check is done correctly, it will return an access ticket that contains a PSK and also some details for the access permission in case of explicit authorization which is represented by the step 3. Another check is done by CAM to verify if the permission in the access ticket complies with COP's authorization policies for the client (“Check 3”), then sends the ticket to the client which is shown in step 4. Finally, the client can use the PSK to directly and securely communicate with the server in step 5.

Some requirement has to be fulfilled by the authorization manager (SAM and CAM) in order to be able to provide the authorization and the authentication services. Mainly, they need to have enough storage space to store the different credentials, to be able to directly interact with the user, for example, through an interface, and of course have enough processing power to handle in one hand the different authorization requests, and in the other hand to be able to efficiently generate the PSK for a given client.

For security purposes, the channels between CAM and the Client, the channel between SAM and Server and the channel between CAM and SAM are encrypted by DTLS using the pre-shared keys. Also an authentication must be done between SAM and CAM to determine if the request is authorized or not. In this case, CoAP is used to interchange access-related data between the server and SAM in order to provide the server and the client with enough information to establish a secure channel. More details on the messages exchanged and the Ticket are presented in [52].

14.3.3.2 Authorization Framework Example 2

The second authorization framework complements IoT-OAS, an authorization service architecture based on OAuth for secure services in IoT scenarios [33] as we explained in 14.2.3.3, by introducing access token mechanism to access the IoT resources. The analysis is also based on the delegation approach to authorization introduced by IoT-OAS, which can also manage fine-grained access to web resources in the WoT.

The proposed system is composed of four parts: the smart objects, the owner, the external user who wants to access the object and the delegation authorization service IoT-OAS. A preliminary process is the authentication of users into IoT-OAS using one of the known authentication mechanisms (Google login, Tweeter login, Facebook login, etc.), once logged the user will be granted an access token to authorize him to interact with IoT-OAS.

The permission hence will be expressed by the tuple <res,act,exp>Image where res is the URI of the object, act is the REST method that will be sent to the object and exp is the expiration time. The full method and messages are expressed in [55].

In fact owners prefer not only to restrict access to their object's resources, but also want to be able to grant access to authorized parties. In this case we distinguish two possible access policies:

1. Owner-to-Owner authorization: where the owner explicitly gives permission to himself to access or control an object. This type of authorization can be addressed using the OAuth 2.0 protocol [50]. The owner reads the UUID of the object, and sends a register request to IoT-OAS, which verifies if the object belongs to someone else, if not, will bind the object to the owner and grant him an all-access token allowing him to execute any operation on the object. The full message flow is explained in Fig. 3.a of [55].

2. Owner-to-Any authorization: where the owner can grant authorization to access one of his/her objects to other parties. This type of authorization in the web can also be addressed by the OAuth 2.0 protocol using the User-Managed Access (UMA) profile. This type of authorization can be either Reactive, where the external user asks the owner for permission, as explained in Fig. 3.b of [55], or Proactive where the owner gives directly the authorization to the external user, as explained in Fig. 3.c of [55].

14.3.4 Access Control in the WoT

Traditional access control focuses on the protection of data based on the identity and attributes of the users. And generally the access control is used to protect front-end and back-end data and system resources by adding restrictions on who can access the data, what users can do, which resource they have access to and what operations are allowed to be performed on the data. Ideally, access control prevents unauthorized users from viewing, modifying or copying the data. The basic model of access control can be summarized in Fig. 14.5, where mainly an entity A wants to access entity's B resources, this request must go through a guard that will either allow or deny the access. The deny use case has also two branches, if the number of attempts of the same user reaches the legal one, the system will automatically drop his request and can also be black listed, else the user can resend an access request.

Image
Figure 14.5 Basic access control

The WoT context enables the smart objects to publish and exchange their information over the Web. However, some security preventions needs to be taken into account, in order to deal with threats regarding the information exchanged over the Web. In particular regarding the access permission for the Things information and resources, such threats can be malicious clients, unwanted data sharing, divers attacks, etc. Hence the question of how to allow Things to grant clients secure access to their resources in such environment?

For computer network systems and in order to facilitate the access control, standard authorization models, such as Access Control List (ACL), Subject/object access control matrix [56], Multilevel security using information flow [57], Role-base access control (RBAC) [58] and Attribute-based access control (ABAC) [59], dynamic authorization model have been suggested [60] and capability-based systems must be deeply analyzed before applying them in the WoT. The selected mechanism needs to respect the constrained nature of the WoT, the autonomy (since the objects inside needs to be able to communicate with each others over the web without humans intervention) and the security requirement.

In the literature, there are two ways to implement the access control for WoT: (1) A distributed fashion, where an access control server authenticates the user and grants him the appropriate access token, allowing him to access the Thing's resources for a certain period of time or permanently depending on the deployed policy, such as shown in Fig. 14.6.a. And (2) a centralized architecture where all the user's requests go through an access control server that authorizes and relays them to the right destination. In this case, there is no direct interaction between the communicating parties, such as shown in Fig. 14.6.b. Most of the access control models can be implemented in both fashions. The centralized model is interesting in the WoT since all the complexity can be carried out by the server. However, this will create the single point of failure, impersonation and privacy problems since all the requests and eventually responses are monitored by the server. The distributed architecture provides better scalability and privacy in the system, however it can be complicated to implement models such as RBAC and ABAC in WoT constrained environment since the Things themselves needs to check the received access token.

Image
Figure 14.6 Access Control models

As stated in [61], the access control for WoT should have the following requirements: each object may publish its information as one or more web resource(s) over the web, those resources can be accessed via a basic HTTP/REST request. Finally permissions assignment can have a web resource representation, according to it, a permission grant decision can be made. In what follows we will provide two access control architectures, the first one is resource-oriented architecture, and the second one is a role-based access control architecture.

14.3.4.1 Example 1: Access Control Through Resource-Oriented Architecture of the WoT

A decentralized access permission control using resource-oriented architecture for the WoT has been proposed in [62]. It adopt the REST-style to allow Things and users to manage access privileges to their own web resources, which are accessible through a unique URI. They propose 5 steps to control and assure any resource access request coming from an external user. Those requests must be transported via a secure channel. As it is explained is the same paper, the first step to control the access to the resource is by filtering TCP/IP packets, especially filtering out the unallowable domain access. The second step is to parse the HTTP/REST request by filtering out the invalid requests and the abnormal parameters. The third step is to checks the HTTP header for basic authentication purpose so that the unverified users will be blocked. The fourth step is to check whether the requested resource exists or not, since requests for expired or irrelevant resource must be automatically dropped. And finally, the system needs to check the assigned access permission for the request operation. Unassigned access permission for a requested operation must be filtered.

The study focuses on the CRUD operations that can be applied on the object's resources, where a specific permission policy can be applied to each REST request. This permission policy, expressed using XML, can contain the requester information such as IP address, domain, host name, etc, and also some contextual information about the object itself, such as the time duration, localization, hardware state, capabilities, etc. An example of access rights for each CRUD operation to an object is shown in (14.1):

Permission_Flag_C[/R/U/D]={X}{Y}[62]X=Condition_about_subjectsY=Condition_about_the_requested_object

Image (14.1)

Handling the rules that have more than one condition has to be settled by the implementation. Assuming that all the conditions have the same priority to grant permission. There are two cases, either all the conditions need to be met or at least one of them. A more precise representation can be applied by dividing the condition part into two categories: inclusive and exclusive. In this paper the chosen rule was: “Permission is granted if any of inclusive conditions meets when any of exclusive condition does not meet” [62]. Then, the expression can be represented as shown in (14.2):

Permission_Flag_C[/R/U/D]={X}{Y}[62]X=Union_of_inclusive_conditionsY=Union_of_exclusive_conditions

Image (14.2)

14.3.4.2 Example 2: Role-Based Access Control

Another example of access control is presented in [63], introducing the use of the RBAC [58]. It specifies the access policies for the plethora of data published by Things in the Web, and also how to access them and how the access can continue or should terminate. Cryptographic keys are also deployed to enforce those policies. The benefits from using RBAC reside in supporting a set of important security properties such as data abstraction, least privilege and the simplicity of adding access rights to users as long as the existing roles are used.

Generally each User is assigned a Role and each role is assigned to a Permission, hence users acquire permission to access a particular data depending on theirs roles. The user can have many roles and a role can be assigned to many users, same for the role which can have many permission, a permission can be assigned to different roles. And finally, each assignation needs to take into account the different constraints, for example to enforce conflict of interest policies that Thing's owner may employ to limit the number of users able to access Thing's resources. A more elaborated analysis can be found in [64].

However, RBAC suffers from the role proliferation problem related to the issues of dealing with a large amount of data, for instance granting permission to a big number of users to access a Thing's dataset, where each permission depends on the user's affiliation to the system. More precisely, the problem lies in handling the task of assigning a single role to each user which can be complicated in this case. Role parameterization have been proved to be an efficient solution in these types of scenarios [65]. The global proposed RBAC/WoT architecture, as explained in the paper, can be summarized in Fig. 14.7.

Image
Figure 14.7 RBAC/WoT architecture

The proposed security architecture in Fig. 14.7 aims at integrating RBAC model into a WoT-based environment by mapping the RBAC entities with the WoT entities. Where the Things in WoT are represented as users in the RBAC model, with a set of permission that will grant privileges to the users and eventually the Objects. Also a set of RBAC authorization rules needs to be respected in order to access any WoT entity (user/object). The access control of the object's resources is done centrally. To enforce the specified access policies in WoT, RBAC needs to use the concept of reference monitor (RM), a process continuously running inside a trusted computer base, referring to the core control mechanism for the access and the usage of digital information. The reference monitor, located in the ambient space manager, is composed of two main components 1) the Access Control Enforcement Facility (AEF), located in the Monitors section and the 2) Access Decision Facility (ADF), located in the Rules Engine section. The two components interact with each other in order to approve or block an access request. Mainly, the AEF intercepts the different requests, and asks the ADF for a decision. The decision is then enforced in the AEF. More details can be found in the RM standard and [63].

14.3.5 Summary

In this section we went through the currently proposed architectures for securing the WoT in the literature. We started with, how the identity is managed in the WoT, by listing the different identity management models currently proposed. Then, how the data is secured during the communication between the different components of the WoT system, in order to guarantee the integrity and the confidentiality of the data. The majority of the proposals are related to the security of CoAP, which is considered as the ideal communication protocol for the constrained devices. Next, we presented the authorization frameworks that allow a fine-grained and flexible access control to the SO's resources. And we concluded by presenting two models of implementing an access control mechanism in a WoT ecosystem. The first one is a centralized model, where all the access requests go through a server that decides either to authorize or to block the access. And the second one is a decentralized model where the device itself decides either to authorize or to block the access. With this summary, we concluded our overview of the security aspects in the WoT. We believe that the security and privacy in the WoT in particular, and the IoT in general, are a critical aspects that needs to be considered when developing new architectures. We noticed more and more interest by the working groups and the researchers. We hope that the future proposed solutions will be mature enough to cover most of the security and privacy properties, so that we can fully unlock the potential of the IoT/WoT.

14.4 Conclusion

Almost all the technologies are now available to implement a strong WoT and IoT infrastructure, starting from the first deployment of the Things until the step where each Thing is able to interact autonomously with other entities (either humans or objects). Indeed the revolution of the WoT will not stop here. Periodically, innovative ideas of smart objects appear, aiming at covering all the aspects of our daily life. However, the main reason why it has not been widely implemented is the lack of sufficient security and privacy protections. Users are worried about their personal data that they will share with the smart objects and more importantly who can access them. They prefer to have full control of their personal information and to have enough security mechanisms to protect their data inside and outside the infrastructure. In this chapter, we covered the advancement in the WoT security and the privacy mechanisms that are currently proposed by the researchers. We mentioned four main aspects.

The first one is about the Identity management that includes also the authentication of the users. As a remainder each WoT entity needs to be identifiable inside the ecosystem. Within this identity the requester can authenticate itself and ask for permissions to access resources. There is still a lot of work to do in this part, especially since the few current proposed models do not at least fulfill some privacy requirements such as the anonymity and the unlinkability. The second aspect covers the End to end encryption in order to guarantee the confidentiality and the integrity of the communication between the entities. Currently, the IETF working group are on the different security mechanisms related to CoAP. The third aspect is about the current authorization models. They are based on the use of a third entity to execute the excessive tasks in term of memory, energy and computation capabilities. This can be seen as one possible solution to the authorization. However, this solution introduces it's own security concerns such as the MITM attacks. Maybe in the future, objects will have enough capacities to perform this task autonomously without the intervention of a third party, or that new mechanisms will be proposed. Finally the existing Access control solutions suffer from the same restrictions as the authorization ones. The only proposed architectures are based on a third party. Moreover well defined policies needs to take place in order to enforce this mechanism.

In our point of view, security and privacy models still needs to mature, and other aspects needs to be taken into account. Mainly the problems related to the trust relationship between the different entities of the environment. And finally, since undoubtedly vulnerabilities will appear, those systems need to be resilient, in order to prevent any threat and dysfunctionality in the future.

References

[1] B.D. Guinard, A web of things application architecture-integrating the real-world into the web. [PhD th] Zurich: ETH; 2011:220. [Online]. Available: http://webofthings.org/dom/thesis.pdf.

[2] D. Guinard, V. Trifa, E. Wilde, A resource oriented architecture for the web of things, In: Internet of things (IOT), Tokyo, Japan. Nov 2010:1–8.

[3] D. Guinard, V. Trifa, Towards the web of things: web mashups for embedded devices, In: Workshop on mashups, enterprise mashups and lightweight composition on the web. Madrid, Spain. Proceedings of WWW (international world wide web conferences). 2009:15.

[4] C. Kruegel, Internet security, In: The industrial communication technology handbook. 2005.

[5] C. Metz, Aaa protocols: authentication, authorization, and accounting for the internet, IEEE Internet Comput Nov 1999;3(6):75–79.

[6] A. Skarmeta, J.L. Hernández-Ramos, J.B. Bernabe, A required security and privacy framework for smart objects, In: ITU kaleidoscope: trust in the information society. Barcelona, Spain, December 9–11. Dec 2015:1–7.

[7] S. Lee, J.P. Jeong, J.S. Park, Dnsna: Dns name autoconfiguration for internet of things devices, In: 18th international conference on advanced communication technology (ICACT). Pyeongchang, South Korea. Jan 2016:410–416.

[8] Z. Yan, N. Kong, Y. Tian, Y.J. Park, A universal object name resolution scheme for iot, In: IEEE international conference on green computing and communications and IEEE internet of things and IEEE cyber, physical and social computing. Aug 2013:1120–1124.

[9] D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, W. Polk, Internet X.509 public key infrastructure certificate and certificate revocation list (CRL) profile, RFC 5280 (proposed standard), internet engineering task force, updated by RFC 6818 [Online]. Available: http://www.ietf.org/rfc/rfc5280.txt; May 2008.

[10] B.W. Yeong, T. Howes, S. Kille, Lightweight directory access protocol, RFC 1777 (historic), internet engineering task force, obsoleted by RFC 3494. [Online]. Available: http://www.ietf.org/rfc/rfc1777.txt; Mar 1995.

[11] S. Sun, S. Reilly, L. Lannom, J. Petrone, Handle system protocol (ver 2.1) specification, RFC 3652 (informational), internet engineering task force [Online]. Available: http://www.ietf.org/rfc/rfc3652.txt; Nov 2003.

[12] A. Bassi, et al., Enabling things to talk, In: Designing IoT solutions with the IoT architectural reference model. 2013:163–211.

[13] R. Hummen, R. Moskowitz, Hip diet exchange (dex). IETF, Internet-Draft; 2015 (Expires: September 22, 2016).

[14] B.D. Forsberg, Y. Ohba, B. Patil, H. Tschofenig, A. Yegin, Protocol for carrying authentication for network access (PANA), RFC 5191 (proposed standard), internet engineering task force, updated by RFC 5872 [Online]. Available: http://www.ietf.org/rfc/rfc5191.txt; May 2008.

[15] S. Pack, Y. Choi, Pre-authenticated fast handoff in a public wireless lan based on IEEE 802.1 x model, In: Mobile and wireless communications. Springer; 2003:175–182.

[16] B.B. Aboba, L. Blunk, J. Vollbrecht, J. Carlson, H. Levkowetz, Extensible authentication protocol (EAP), RFC 3748 (proposed standard), internet engineering task force, updated by RFCs 5247, 7057 [Online]. Available: http://www.ietf.org/rfc/rfc3748.txt; Jun 2004.

[17] J.L.H. Ramos, A.J. Jara, L. Marin, A.F. Skarmeta-Gómez, Dcapbac: embedding authorization logic into smart things through ECC optimizations, Int J Comput Math 2016:345–366.

[18] B.Z. Shelby, K. Hartke, C. Bormann, The constrained application protocol (CoAP), RFC 7252 (proposed standard), internet engineering task force [Online]. Available: http://www.ietf.org/rfc/rfc7252.txt; Jun 2014.

[19] B.R. Sinnema, E. Wilde, eXtensible access control markup language (XACML) XML media type, RFC 7061 (informational), internet engineering task force [Online]. Available: http://www.ietf.org/rfc/rfc7061.txt; Nov 2013.

[20] S. Raza, et al., Lithe: lightweight secure coap for the internet of things, IEEE Sens J 2013;13.

[21] A.A. Chavan, M.K. Nighot, Securing coap using enhanced dtls for the internet of things, Int J Innovat Res Comput Commun Eng December 2014;2(12).

[22] X. Cao, D. Shila, Y. Cheng, Z. Yang, Y. Zhou, J. Chen, Ghost-in-zigbee: energy depletion attack on zigbee based wireless networks, IEEE Int Things J 2016.

[23] P. Pongle, G. Chavan, A survey: attacks on rpl and 6lowpan in iot, In: International conference on pervasive computing (ICPC). Pune, India. Jan 2015:1–6.

[24] Internet of things research study 2015 report. Hewlett Packard; Nov 2015. [Online]. Available: http://www8.hp.com/h20195/V2/GetPDF.aspx/4AA5-4759ENW.pdf.

[25] P. Kasinathan, C. Pastrone, M.A. Spirito, M. Vinkovits, Denial-of-service detection in 6lowpan based internet of things, In: IEEE 9th international conference on wireless and mobile computing, networking and communications (WiMob). Lyon, France. 2013:600–607.

[26] K. Sonar, H. Upadhyay, A survey: Ddos attack on internet of things, Int J Eng Res Develop 2014.

[27] M.B. Shemaili, C.Y. Yeun, K. Mubarak, M.J. Zemerly, A new lightweight hybrid cryptographic algorithm for the internet of things, In: International conference for internet technology and secured transactions. London, United Kingdom. Dec 2012:87–92.

[28] Company WR, Security in the internet of things lessons from the past for the connected future, White paper, 2015.

[29] E. Vasilomanolakis, J. Daubert, M. Luthra, V. Gazis, A. Wiesmaier, P. Kikiras, On the security and privacy of internet of things architectures and systems, In: International workshop on secure internet of things. SIoT, Vienna, Austria, September 21–25. 2015:49–57.

[30] B.T. Tsao, R. Alexander, M. Dohler, V. Daza, A. Lozano, M. Richardson, A security threat analysis for the routing protocol for low-power and lossy networks (RPLs), RFC 7416 (informational), internet engineering task force. [Online]. Available: http://www.ietf.org/rfc/rfc7416.txt; Jan 2015.

[31] A. Iliev, S.W. Smith, Protecting client privacy with trusted computing at the server, IEEE Secur Priv 2005;3(2):20–28.

[32] J. Audun, I. Roslan, B. Colin, A survey of trust and reputation systems for online service provision, Decis Support Syst 2007;43(2):618–644.

[33] S. Cirani, et al., Iot-oas: an oauth-based authorization service architecture for secure services in iot scenarios, IEEE Sens J Feb 2015;15(2):1224–1234.

[34] R.H. Weber, Internet of things – new security and privacy challenges, Comput Law Secur Rev 2010:23–30.

[35] C.M. Medaglia, A. Serbanati, An overview of privacy and security issues in the internet of things, In: The internet of things: 20th Tyrrhenian workshop on digital communications. New York, NY: Springer; 2010:389–395.

[36] S.S. Mathew, Y. Atif, Q.Z. Sheng, Z. Maamar, The web of things – challenges and enabling technologies, In: Internet of things and inter-cooperative computational technologies for collective intelligence. Stud comput intell. Springer; 2013;vol. 460:1–23.

[37] M.S. Ferdous, R. Poet, A comparative analysis of identity management systems, In: 2012 international conference on high performance computing and simulation (HPCS). 2012:454–461.

[38] K. Cameron, The laws of identity, Microsoft Corp 2005.

[39] A. Bhargav-Spantzel, J. Camenisch, T. Gross, D. Sommer, User centricity: a taxonomy and open issues, J Comput Secur 2007;15(5):493–527.

[40] D. van Thuan, P. Butkus, D. van Thanh, A user centric identity management for internet of things, In: International conference on IT convergence and security (ICITCS). Beijing, China. IEEE; Oct 2014.

[41] M.C. Domenech, E. Comunello, M.S. Wangham, Identity management in e-health: a case study of web of things application using openid connect, In: IEEE 16th international conference on e-health networking, applications and services (healthcom). Natal, Brazil. Oct 2014:219–224.

[42] J. Lopez, R. Oppliger, G. Pernul, Authentication and authorization infrastructures (aais): a comparative survey, Comput Secur 2004:578–590.

[43] N. Sakimura, J. Bradley, M. Jones, B. de Medeiros, C. Mortimore, Openid connect core 1.0 incorporating errata set 1. 2014.

[44] J. Granjal, E. Monteiro, J.S. Silva, On the feasibility of secure application-layer communications on the web of things, In: 2012 IEEE 37th conference on local computer networks (LCN). Clearwater, Florida. Oct 2012:228–231.

[45] J. Granjal, E. Monteiro, J.S. Silva, Application-layer security for the wot: extending coap to support end-to-end message security for internet-integrated sensing applications, In: Wired/wireless internet communication. June 5–7. Proceedings of 11th international conference. 2013:140–153.

[46] V. Gupta, M. Wurm, Y. Zhu, M. Millard, S. Fung, N. Gura, H. Eberle, S.C. Shantz, Sizzle: a standards-based end-to-end security architecture for the embedded internet, Pervasive Mob Comput March 2005;1(4):425–445.

[47] W. Jung, et al., Ssl-based lightweight security of ip-based wireless sensor networks, In: 23rd international conference on advanced information networking and applications, AINA, workshops proceedings. Bradford, United Kingdom, May 26–29. 2009:1112–1117.

[48] B.J. Jonsson, B. Kaliski, Public-key cryptography standards (PKCS) #1: RSA cryptography specifications version 2.1, RFC 3447 (informational), internet engineering task force [Online]. Available: http://www.ietf.org/rfc/rfc3447.txt; Feb 2003.

[49] A. Yegin, Z. Shelby, Coap security options. expired IETF internet-draft 2014.

[50] B.D. Hardt, The OAuth 2.0 authorization framework, RFC 6749 (proposed standard), internet engineering task force [Online]. Available: http://www.ietf.org/rfc/rfc6749.txt; Oct. 2012.

[51] S. Gerdes, O. Bergmann, C. Bormann, Delegated authenticated authorization for constrained environments, In: IEEE 22nd international conference on network protocols. Raleigh, North Carolina. Oct 2014.

[52] S. Gerdes, et al., Delegated coap authentication and authorization framework (dcaf), In: IETF, Internet-draft. 2014 (Expires: April 21, 2016).

[53] S. Gerdes, L. Seitz, G. Selander, C. Bormann, et al., An architecture for authorization in constrained environments, In: IETF, Internet-draft. 2015 (Expires: September 2, 2016).

[54] E. Maler, D. Catalano, M. Machulak, T. Hardjono, User-managed access (uma) profile of oauth 2.0, In: IETF, Internet-draft. 2015 (Expires: July 29, 2016).

[55] S. Cirani, M. Picone, Effective authorization for the web of things, In: IEEE 2nd world forum on internet of things (WF-IoT). Milan, Italy. Dec 2015:316–320.

[56] B.W. Lampson, Protection, SIGOPS Oper Syst Rev 1974:18–24.

[57] A.C. Myers, B. Liskov, A decentralized model for information flow control, In: ACM symp oper syst principles (SOSP). Oct 1997:129–142.

[58] R.S. Sandhu, E.J. Coyne, H.L. Feinstein, C.E. Youman, Role-based access control models, Computer Feb 1996;29(2):38–47.

[59] M.A. Al-Kahtani, R. Sandhu, A model for attribute-based user-role assignment, In: Proceedings of the 18th annual computer security applications conference. IEEE; 2002:353–362.

[60] J. Liu, C. Liu, D. Jiao, J. Chen, The research of a multi-factor dynamic authorization model, In: IEEE ninth international conference on e-business engineering, Hangzhou, China. 2012:201–205.

[61] S.W. Oh, H.S. Kim, Study on access permission control for the web of things, In: 17th international conference on advanced communication technology. Seoul Korea. 2015:574–580.

[62] S.W. Oh, H.S. Kim, Decentralized access permission control using resource-oriented architecture for the web of things, In: 16th international conference on advanced communication technology (ICACT), Pyeongchang, South Korea. 2014:749–753.

[63] E. Barka, S.S. Mathew, Y. Atif, Securing the web of things with role-based access control, In: Codes, cryptology, and information security – first international conference. C2SI, Rabat, Morocco, May 26–28. Proceedings – in honor of thierry Berger. 2015:14–26.

[64] D.F. Ferraiolo, R. Sandhu, S. Gavrila, D.R. Kuhn, R. Chandramouli, Proposed nist standard for role-based access control, ACM Trans Inf Syst Secur Aug 2001;4(3):224–274.

[65] T. Müldner, G. Leighton, J.K. Miziołek, Parameterized role-based access control policies for xml documents, Inf Security J: A Global Perspec 2009;18(6):282–296.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset