Guides and code examples for configuring MQTT on IoT with TLS, and other security features.
For further notes and links, see my Dust-Notes repository.
I've been working on creating secure IoT devices, with the Arduino Nano 33 IoT micro-control unit. My aim is to
- spawn VerneMQTT brokers to handle and deliver messages
- use NGiNX as a load balancer for the brokers
- configure NGiNX for TLS TCP streams
- use the IoT device to send MQTT packets via TLS over WiFi
This repository will act as an overview, and eventually a guide, as to a possible implementation of this goal, first on a privately owned server, and later over AWS.
As this project is a work in progress, I am unsure how I will organise the final overview. Most of my notes will be included in my Dust-Notes/mq-mqtt and Dust-Notes/arduino repository, however I will include explicit code examples both in this repository, and in my own Ego and the Id-IoT project.
For relevant notes, see here:
- minimal MQTT protocol overview here
- NGiNX as a load balancer (with Docker) here
- VerneMQ cluster (with Docker) (TODO)
- Configuring SSL/TLS on NGiNX (TODO)
- Uploading CA certificates and onto Arduino firmware here
- Configuring the ATECC608a secure chip here
- Testing the communication system is secure (TODO)