Skip to main content

IoT Security Hardening Toolkit for Edge Devices

Project description

🧩 IoTPatch — Secure, Auto-Patching Framework for IoT Devices

PyPI Version Python Version License Build Status Made with ❤️ by Soumyapriya Goswami


🔒 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.

  1. Fork the repository
  2. Create your feature branch
    git checkout -b feature/awesome-patch
    
  3. git commit -m 'Add awesome patch'
    
  4. 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.

GitHub Stars GitHub Forks

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

iotpatch-0.1.3.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iotpatch-0.1.3-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

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

Hashes for iotpatch-0.1.3.tar.gz
Algorithm Hash digest
SHA256 104bbb1244604a074c5aeaf49ef1fa50e29b1d3b4358a460bd9415a5e4211884
MD5 b0b49ebc7b8baefc6df048879d3bf4f0
BLAKE2b-256 9459bc08e2e6da814150934e90d0668694d72272a9d38a39eedce96a216fcaf6

See more details on using hashes here.

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

Hashes for iotpatch-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 862784fd7d8973e85787c94ffdf0ff02485c7db1fb6131d1e8cb017436661316
MD5 7d7c4ee85970abeb6140dc6ddf947d2e
BLAKE2b-256 62b2d1680e7573ddfe717834596521e8d396995fc18fa373c9acade6943cd6bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page