Aller au contenu

Sécurisation Hardware des communications IoT

Implémentation d'un chiffrement hybride LoRa via Secure Element ATECC608B et M5Stack.

Problématique & Solution

Dans l'IoT, un microcontrôleur classique n'est pas conçu pour résister aux attaques physiques. Si la clé de chiffrement est stockée dans la mémoire flash, elle peut être extraite.

Mon rôle dans ce projet a été d'intégrer un Secure Element (ATECC608B). C'est un véritable coffre-fort numérique qui stocke les clés cryptographiques et génère un aléa physique (TRNG). L'objectif : établir une communication LoRa chiffrée de bout en bout où les secrets ne sortent jamais de la puce.

Cryptographie Matérielle

Utilisation du bus I²C pour piloter l'ATECC608B. Génération de vrai hasard (TRNG) pour les vecteurs d'initialisation (IV) et stockage sécurisé de la clé AES dans le Slot 8.

Voir l'Hardware

AES-256-CTR

Implémentation de l'algorithme AES en mode compteur (CTR) via la librairie mbedTLS. Chiffrement des payloads LoRa à la volée pour garantir la confidentialité des échanges.

Voir le Chiffrement

Protocole LoRa

Mise en place d'un protocole de messagerie robuste avec système d'accusé de réception (ACK) et encodage Base64 pour le transport des données chiffrées.

Voir l'Intégration

Architecture du Système Sécurisé

Le flux de données sécurisé, depuis le stockage de la clé jusqu'à l'émission radio.

Secure Element

ATECC608B
Stockage Clé AES & TRNG

I²C

M5Stack Core

Chiffrement
AES-256-CTR

LoRa 868MHz

Récepteur

Gateway
Réception Paquet Chiffré