| Literature DB >> 29558406 |
Luis Cruz-Piris1, Diego Rivera2, Ivan Marsa-Maestre3, Enrique de la Hoz4, Juan R Velasco5.
Abstract
Internet growth has generated new types of services where the use of sensors and actuators is especially remarkable. These services compose what is known as the Internet of Things (IoT). One of the biggest current challenges is obtaining a safe and easy access control scheme for the data managed in these services. We propose integrating IoT devices in an access control system designed for Web-based services by modelling certain IoT communication elements as resources. This would allow us to obtain a unified access control scheme between heterogeneous devices (IoT devices, Internet-based services, etc.). To achieve this, we have analysed the most relevant communication protocols for these kinds of environments and then we have proposed a methodology which allows the modelling of communication actions as resources. Then, we can protect these resources using access control mechanisms. The validation of our proposal has been carried out by selecting a communication protocol based on message exchange, specifically Message Queuing Telemetry Transport (MQTT). As an access control scheme, we have selected User-Managed Access (UMA), an existing Open Authorization (OAuth) 2.0 profile originally developed for the protection of Internet services. We have performed tests focused on validating the proposed solution in terms of the correctness of the access control system. Finally, we have evaluated the energy consumption overhead when using our proposal.Entities:
Keywords: Internet of Things; MQTT; OAuth; access control; security
Year: 2018 PMID: 29558406 PMCID: PMC5876929 DOI: 10.3390/s18030917
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Main entities of the Message Queuing Telemetry Transport (MQTT) protocol.
Tokens used in User-Managed Access (UMA). API: Application Programming Interface; AS: Authorization Server; RP: Requesting Party.
| Token | Used by | To Access | Goal/s |
|---|---|---|---|
| Authorization API Token (AAT) | RP Client | AS Authorization API | Request an RPT |
| Protection API Token (PAT) | Resource Server | AS Protection API | Register resources or check permissions |
| Requesting Party Token (RPT) | RP Client | A resource in a Resource Server | Access a UMA-protected resource |
Figure 2The main phases and entities of User-Managed Access (UMA). PAT: Protection API Token; RPT: Requesting Party Token.
Figure 3The main diagram of the proposed solution. ADC: Analog to Digital Converter; DAC: Digital to Analog Converter; DEMUX: Demultiplexer; HTTP: Hypertext Transfer Protocol; IoT: Internet of Things; MUX: Multiplexer.
Figure 4Sequence diagram for accessing the protected Message Queue Telemetry Transport (MQTT) flow.
Figure 5Sequence diagram for Requesting Party Token (RPT) validation. DB: Database; MRF: Manufacturer; SN: serial number.
Results in delay measurement (milliseconds). : Time without using the authorization module; : Time using the authorization module; : Time needed to obtain the AS validation response; : Time imposed by the authorization module.
| Value | Mean | Standard Deviation |
|---|---|---|
| 43.83 | 5.99 | |
| 67.74 | 11.07 | |
| 11.84 | 1.28 | |
| 0.23 | - |
Current measures during the experiments (milliamperes).
| Developer Board | Wi-Fi | Mean | Standard Deviation |
|---|---|---|---|
| Idle state | Off | 33.47 | 1.67 |
| Idle state | On | 81.08 | 4.21 |
| HTTP Client (with requests) | On | 96.37 | 7.38 |
| MQTT Client (with requests) | On | 88.48 | 2.40 |
| MQTT Client (with requests and auth.) | On | 88.51 | 2.27 |
Results in energy consumption measurement (millijoules). REST: Representational State Transfer.
| Experiment | Mean | Standard Deviation |
|---|---|---|
| REST request | 33.16 | 5.71 |
| MQTT request | 19.70 | 1.01 |
| MQTT request with auth. | 30.46 | 1.75 |