Carleton University - School of Computer Science Honours Project
Summer 2022
Securing MQTT Communications on IoT Devices
Maximilian Dobrei
SCS Honours Project Image
ABSTRACT
MQ Telemetry Transport (MQTT) is a communication protocol designed to be used by the Internet Of Things (IoT). MQTT is well known for its lightweight code base, scalability, and variable quality of service. These are all important factors to consider when trying to provide adequate service to IoT devices despite the variety of environments in which IoT devices are used. Many IoT devices have relatively little computing power and may not have a reliable network connection. Alongside the aforementioned characteristics, MQTT supports security features such as TLS for encryption and OAuth to allow authentication. However, these security features are completely optional, and must be explicitly enabled by the implementer. This project aims to explore the feasibility of providing enhanced security to existing deployments of IoT devices using MQTT that lack any of the optional security features. To do so, custom endpoints to the communication protocol will be implemented that offer opportunistic encryption of messages, as well as authentication. The implementation of these custom endpoints revealed several challenges with this approach, and informed future design choices.