MQTT-Auth: a Token-based Solution to Endow MQTT with Authentication and Authorization Capabilities
Abstract
Security in the Internet of Things is a current hot topic and it may comprise different aspects such as confidentiality and integrity of personal data, as well as the authentication and the authorization to access smart objects that are spreading more and more in our every-day lives. In this work we focus on MQTT (Message Queue Telemetry Transport), a message-based communication protocol explicitly designed for low-power machine-to-machine communications and based on the publish-subscribe paradigm. First of all, we provide an accurate analysis of some of the most recent security solutions and improvements of MQTT found in the literature. Secondly, we describe in detail a novel secure solution, called MQTT-Auth, to protect specific topics in MQTT. This solution is based on the AugPAKE security algorithm for guaranteeing confidentiality, and onto two tokens which permit to authenticate the usage of a topic and to guarantee authorization in accessing a topic respectively. MQTT-Auth can also be easily extended to a hierarchical structure of topics and entities. Finally, we compare MQTT-Auth with some solutions for securing MQTT being present in the relevant literature, and we provide some details on how MQTT-Auth has been implemented and successfully tested.
Keywords
Internet of Things, Security, MQTT, Publish-subscribe, token-based authentication, token-based authorizationThis work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
M. Calabretta, R. Pecori, M. Vecchio and L. Veltri, "MQTT-Auth: a Token-based Solution to Endow MQTT with Authentication and Authorization Capabilities," in Journal of Communications Software and Systems, vol. 14, no. 4, pp. 320-331, October 2018, doi: 10.24138/jcomss.v14i4.604
@article{calabretta2018mqttauth, author = {Marco Calabretta and Riccardo Pecori and Massimo Vecchio and Luca Veltri}, title = {MQTT-Auth: a Token-based Solution to Endow MQTT with Authentication and Authorization Capabilities}, journal = {Journal of Communications Software and Systems}, month = {10}, year = {2018}, volume = {14}, number = {4}, pages = {320--331}, doi = {10.24138/jcomss.v14i4.604}, url = {https://doi.org/10.24138/jcomss.v14i4.604} }