Sécurité IoT : fondements cryptographiques pour une protection robuste des appareils
Note de l'éditeur : Sécuriser l'Internet des objets est essentiel pour préserver l'intégrité des flux de données, du firmware et des ressources d'entreprise auxquelles ils se connectent. La sécurité IoT est un défi multifacette qui exige une approche systématique pour identifier les menaces et implémenter des atténuations efficaces.
Adapté de Internet of Things for Architects par Perry Lea.
Chapitre 12. Sécurité IoT
Par Perry Lea
Cryptographie
Le chiffrement et la confidentialité sont non négociables pour les déploiements IoT. Ils protègent les communications, le firmware et les processus d'authentification. En pratique, nous travaillons avec trois primitives cryptographiques fondamentales :
- Chiffrement à clé symétrique – La même clé chiffre et déchiffre les données. Les algorithmes courants incluent RC5, DES, 3DES et l'AES, standard industriel.
- Chiffrement à clé publique – Une clé publique partagée chiffre les données, tandis que seul le détenteur de la clé privée correspondante peut les déchiffrer. Ce schéma asymétrique permet aussi l'authentification et la non-répudiation. Des protocoles largement utilisés comme la cryptographie à courbes elliptiques, PGP, RSA, TLS et S/MIME reposent sur ce modèle.
- Hachage cryptographique – Fonctions à sens unique qui transforment des données arbitraires en un condensé de taille fixe. MD5, SHA-1, SHA-2 et SHA-3 appartiennent à cette catégorie. Les hachages sous-tendent les signatures numériques, les codes d'authentification de message (MAC) et la validation sécurisée du firmware. Lors du hachage de petites entrées comme les mots de passe, un sel est ajouté pour augmenter l'entropie ; il s'agit d'une forme de fonction de dérivation de clé (KDF).
cliquer pour agrandir l'image
Éléments de cryptographie. Le chiffrement symétrique nécessite des clés identiques pour le chiffrement et le déchiffrement, tandis que le chiffrement asymétrique utilise des paires de clés publiques/privées distinctes. Les fonctions de hachage fournissent des contrôles d'intégrité à sens unique.
Cryptographie symétrique
Dans le chiffrement symétrique, le texte en clair est l'entrée en clair et le texte chiffré est la sortie chiffrée. L'Advanced Encryption Standard (AES) est la référence mondiale, supplantant les anciens algorithmes DES. L'AES est conforme à la FIPS 197 et à l'ISO/IEC 18033-3, et opère sur des blocs de 128 bits avec des tailles de clé de 128, 192 ou 256 bits. Les clés plus longues offrent une sécurité renforcée au coût de cycles CPU supplémentaires : les clés de 128 bits nécessitent 10 tours, 192 bits 12 tours, et 256 bits 14 tours.
// Pseudo-code pour un chiffrement AES-128 // Entrée : texte en clair 128 bits // Sortie : texte chiffré 128 bits // w : 44 mots de 32 bits (clé étendue) state = in w = KeyExpansion(key) // Phase d'expansion de clé AddRoundKey(state, w[0, Nb-1]) // Tour initial for round = 1 to Nr-1 SubBytes(state) // Substitution non-linéaire ShiftRows(state) // Permutation de lignes MixColumns(state) // Mélange de colonnes AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) end for SubBytes(state) // Tour final ShiftRows(state) AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) out = state
Faites défiler ou tirez le coin de la boîte pour l'agrandir si nécessaire. ↑
Les chiffrements par blocs, comme l'AES, traitent les données en blocs de taille fixe et s'appuient sur un mode d'opération de bloc pour étendre l'algorithme à des messages plus longs. Un vecteur d'initialisation (IV) garantit que des blocs de texte en clair identiques produisent des textes chiffrés distincts, contrecarrant l'analyse de motifs. Les modes courants incluent :
- Electronic Codebook (ECB) – Le mode le plus simple ; chaque bloc est chiffré indépendamment. Des blocs identiques produisent des textes chiffrés identiques, rendant l'ECB inadapté à la plupart des applications.
- Cipher Block Chaining (CBC) – Chaque bloc de texte en clair est XORé avec le bloc de texte chiffré précédent avant chiffrement, assurant la diffusion.
- Cipher Feedback (CFB) – Un mode de type flux qui réinjecte la sortie de chiffrement précédente dans l'étape de chiffrement suivante. Le CFB ne peut pas être parallélisé, mais permet la récupération de blocs perdus.
- Output Feedback (OFB) – Similaire au CFB mais génère un flux de clés qui est XORé avec le texte en clair, permettant des codes de correction d'erreur.
- Counter (CTR) – Transforme un chiffrement par blocs en chiffrement de flux en utilisant une paire nonce-compteur, permettant le chiffrement parallèle et des performances rapides.
- CBC-MAC – Ajoute un code d'authentification de message au CBC, permettant la vérification d'intégrité et l'authentification de source.
Ces modes ont vu le jour à la fin des années 1970 et ont été formalisés par le NIST dans la FIPS 81. S'ils sécurisent la confidentialité, ils n'empêchent pas la falsification. La combinaison de l'authentification et du chiffrement a conduit à des modes de chiffrement authentifié comme AES-CCM (Counter with CBC-MAC). Le CCM est intégré à des protocoles comme Zigbee, Bluetooth Low Energy, TLS 1.2 (post-échange de clés), IPsec et Wi-Fi WPA2.
AES-CCM combine le mode CTR pour le déchiffrement efficace du flux de texte chiffré et le CBC pour générer une étiquette d'authentification. L'étiquette est comparée à une valeur attendue dérivée de la charge utile déchiffrée ; une inadéquation indique une falsification potentielle.
cliquer pour agrandir l'image
Mode AES-CCM.
Dans un maillage entièrement connecté de n nœuds, la communication bidirectionnelle nécessite n(n-1)/2 clés uniques, évoluant de manière quadratique (O(n²)). Des stratégies de gestion de clés efficaces sont donc critiques pour les déploiements IoT à grande échelle.
Technologie de l'Internet des objets
- Sécuriser l'Industrial IoT : une feuille de route pratique
- Sécuriser votre écosystème IoT : stratégies expertes contre ransomware et cybermenaces
- Sécurité IoT — Qui porte la responsabilité ?
- L'essor de l'IdO : Pourquoi la sécurité doit être intégrée dès le premier jour
- Sécurité IoT : surmonter les obstacles au déploiement
- Protéger les appareils IoT avec la technologie de tromperie (deception technology)
- Automatisation & IoT : Révolutionner la logistique et la sécurité de la santé
- La sécurité libère le plein potentiel de l'IoT
- 12 insights essentiels sur la sécurité IoT de 2023