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'HardwareAES-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 ChiffrementProtocole 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égrationArchitecture 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
M5Stack Core
Chiffrement
AES-256-CTR
Récepteur
Gateway
Réception Paquet Chiffré