IoT Security Hardening Toolkit for Edge Devices
Project description
🧩 IoTPatch — Secure, Auto-Patching Framework for IoT Devices
🔒 Overview
IoTPatch is a Python-based secure IoT firmware patching framework designed to demonstrate encrypted update delivery and authenticated device connectivity over MQTT with TLS.
It provides a modular interface to:
- ✅ Establish secure MQTT communication between IoT nodes and servers.
- 🔐 Manage firmware updates and patches safely using certificate-based authentication.
- ⚙️ Integrate lightweight security layers for IoT edge devices with minimal dependencies.
Ideal for IoT security researchers, embedded developers, and students exploring secure OTA (Over-The-Air) update mechanisms.
🏗️ Architecture
+---------------------------+ MQTT/TLS +---------------------------+
| IoT Device | <-------------------------> | IoT Patch Server |
|---------------------------| |---------------------------|
| • iotpatch.net (Client) | | • Patch Distribution Node |
| • Patch Manager | | • Validation Engine |
| • Crypto & Utils | | • Certificate Authority |
| • Auto-apply + Rollback | | • Update Scheduler |
+---------------------------+ +---------------------------+
↑ ↓
[Secure Patch Pull] [Encrypted Push + Verify]
## 🚀 Installation
You can install **IoTPatch** directly from [PyPI](https://pypi.org/project/iotpatch/):
```bash
pip install iotpatch
🔬 Use Cases
- Securely updating fleets of smart sensors
- Delivering emergency patches to medical IoT devices
- Teaching secure OTA in IoT security courses
- Prototyping post-quantum-ready update systems
📈 Roadmap
- Web dashboard for patch management
- Post-quantum signatures (Dilithium)
- Binary diff optimization (zstd + courgette)
- Dockerized server with REST API
- MicroPython port for ultra-low footprint
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create your feature branch
git checkout -b feature/awesome-patch
-
git commit -m 'Add awesome patch'
- Push to the branch and open a Pull Request
📄 License
This project is distributed under the MIT License.
See LICENSE for full details.
👨💻 Author
Soumyapriya Goswami
📧 soumyapriyagoswami@gmail.com
🔗 github.com/soumyapriyagoswami
💼 linkedin.com/in/soumyapriyagoswami
🔐 Secure your IoT fleet — one patch at a time.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iotpatch-0.1.3.tar.gz.
File metadata
- Download URL: iotpatch-0.1.3.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
104bbb1244604a074c5aeaf49ef1fa50e29b1d3b4358a460bd9415a5e4211884
|
|
| MD5 |
b0b49ebc7b8baefc6df048879d3bf4f0
|
|
| BLAKE2b-256 |
9459bc08e2e6da814150934e90d0668694d72272a9d38a39eedce96a216fcaf6
|
File details
Details for the file iotpatch-0.1.3-py3-none-any.whl.
File metadata
- Download URL: iotpatch-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
862784fd7d8973e85787c94ffdf0ff02485c7db1fb6131d1e8cb017436661316
|
|
| MD5 |
7d7c4ee85970abeb6140dc6ddf947d2e
|
|
| BLAKE2b-256 |
62b2d1680e7573ddfe717834596521e8d396995fc18fa373c9acade6943cd6bb
|