IoT-beveiliging: Cryptografische fundamenten voor robuuste apparaatbescherming
Redacteur's noot: Het beveiligen van het Internet of Things is essentieel voor het behoud van de integriteit van datastromen, firmware en de bedrijfshulpmiddelen waaraan ze verbonden zijn. IoT-beveiliging is een veelzijdige uitdaging die een systematische benadering vereist om dreigingen te identificeren en effectieve maatregelen te implementeren.
Ge адаптеerd uit Internet of Things for Architects door Perry Lea.
Hoofdstuk 12. IoT-beveiliging
Door Perry Lea
Cryptografie
Encryptie en vertrouwelijkheid zijn ononderhandelbaar voor IoT-implementaties. Ze beschermen communicatie, firmware en authenticatieprocessen. In de praktijk werken we met drie kerncryptografische primitieven:
- Symmetrische sleutelencryptie - Dezelfde sleutel versleutelt en ontsleutelt data. Veelvoorkomende algoritmes zijn RC5, DES, 3DES en de industriestandaard AES.
- Openbare-sleutelencryptie - Een publiek gedeelde sleutel versleutelt data, terwijl alleen de houder van de bijbehorende privésleutel het kan ontsleutelen. Dit asymmetrische schema maakt ook authenticatie en non-repudiation mogelijk. Wijd gebruikte protocollen zoals Elliptische Kromme Cryptografie, PGP, RSA, TLS en S/MIME zijn hierop gebaseerd.
- Cryptografische hash - Éénrichtingsfuncties die willekeurige data afbeelden op een fixed-size digest. MD5, SHA-1, SHA-2 en SHA-3 vallen in deze categorie. Hashes vormen de basis voor digitale handtekeningen, message authentication codes (MACs) en veilige firmware-validatie. Bij het hashen van kleine inputs zoals wachtwoorden wordt een salt toegevoegd om de entropie te vergroten; dit is een vorm van key derivation function (KDF).
Elementen van cryptografie. Symmetrische encryptie vereist identieke sleutels voor zowel encryptie als decryptie, terwijl asymmetrische encryptie verschillende openbare/privé sleutelparen gebruikt. Hash-functies bieden éénrichtingsintegriteitscontroles.
Symmetrische cryptografie
In symmetrische encryptie is plaintext de duidelijke invoer en ciphertext de versleutelde uitvoer. De Advanced Encryption Standard (AES) is de wereldwijde benchmark, die oudere DES-algoritmes heeft vervangen. AES voldoet aan FIPS 197 en ISO/IEC 18033-3, en werkt op 128-bits blokken met sleutelgroottes van 128, 192 of 256 bits. Langere sleutels bieden sterkere beveiliging ten koste van extra CPU-cycli: 128-bits sleutels vereisen 10 rondes, 192-bits sleutels 12 rondes en 256-bits sleutels 14 rondes.
// Pseudo-code voor een AES-128 cipher
// Invoer: 128-bit plaintext
// Uitvoer: 128-bit ciphertext
// w: 44 32-bit woorden (uitgebreide sleutel)
state = in
w = KeyExpansion(key) // Sleuteluitbreidingsfase
AddRoundKey(state, w[0, Nb-1]) // Initiële ronde
for round = 1 to Nr-1
SubBytes(state) // Niet-lineaire substitutie
ShiftRows(state) // Rijpermutatie
MixColumns(state) // Kolommenging
AddRoundKey(state, w[round*Nb, (round+1)*Nb-1])
end for
SubBytes(state) // Finale ronde
ShiftRows(state)
AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1])
out = state
Scroll of sleep de hoek van het vak om uit te breiden naar wens. ↑
Blokcijfers, zoals AES, verwerken data in fixed-size blokken en zijn afhankelijk van een blokmodus om het algoritme uit te breiden naar grotere berichten. Een Initialization Vector (IV) zorgt ervoor dat identieke plaintext-blokken verschillende ciphertexts produceren, wat patroonanalyse verhindert. Veelvoorkomende modi zijn:
- Electronic Codebook (ECB) - De eenvoudigste modus; elk blok wordt onafhankelijk versleuteld. Identieke blokken leveren identieke ciphertexts op, waardoor ECB ongeschikt is voor de meeste toepassingen.
- Cipher Block Chaining (CBC) - Elk plaintext-blok wordt XOR'd met het vorige ciphertext-blok vóór encryptie, wat diffusie biedt.
- Cipher Feedback (CFB) - Een stroom-achtige modus die de vorige cipher-uitvoer in de volgende encryptiestap voedt. CFB kan niet geparallelleerd worden, maar stelt herstel van verloren blokken in staat.
- Output Feedback (OFB) - Vergelijkbaar met CFB maar genereert een keystream die met plaintext wordt XOR'd, wat error-correctie codes mogelijk maakt.
- Counter (CTR) - Transformeert een blokcijfer in een stroomcijfer met een nonce-teller paar, wat parallelle encryptie en snelle prestaties mogelijk maakt.
- CBC-MAC - Voegt een message authentication code toe aan CBC, wat integriteitsverificatie en bronauthenticatie mogelijk maakt.
Deze modi dateren uit de late jaren '70 en werden gestandaardiseerd door NIST in FIPS 81. Hoewel ze confidentialiteit waarborgen, voorkomen ze geen manipulatie. Het combineren van authenticatie met encryptie leidde tot authenticated-encryption modi zoals AES-CCM (Counter with CBC-MAC). CCM is integraal voor protocollen zoals Zigbee, Bluetooth Low Energy, TLS 1.2 (na sleuteluitwisseling), IPsec en Wi-Fi WPA2.
AES-CCM modus.
AES-CCM combineert CTR voor efficiënte decryptie van de ciphertext-stroom en CBC voor het genereren van een authenticatietag. De tag wordt vergeleken met een verwachte waarde afgeleid van het gedecrypteerde payload; een mismatch duidt op mogelijke manipulatie.
In een volledig verbonden mesh van n knooppunten vereist bidirectionele communicatie n(n-1)/2 unieke sleutels, wat kwadratisch schaalt (O(n²)). Efficiënte sleutelbeheerstrategien zijn daarom cruciaal voor grote IoT-implementaties.
Internet of Things-technologie
- De Industriële IoT Beveiligen: Een Praktische Roadmap
- IoT-beveiliging en Fragmentatie Blijven Top-uitdagingen, GSMA-onderzoek Onthult
- Uw IoT-ecosysteem beveiligen: Expert strategieën tegen ransomware en cyberdreigingen
- IoT-beveiliging – Wie draagt de verantwoordelijkheid?
- De Opkomst van IoT: Waarom Beveiliging Vanaf Dag Één Ingebouwd Moet Zijn
- IoT-beveiliging: Implementatiebarrières Overwinnen
- IoT Apparaten Beschermen Met Deception Technology
- Automatisering & IoT: Revolutie in gezondheidszorglogistiek & beveiliging
- Beveiliging ontgrendelt IoT's volle potentieel
- 12 Essentiële IoT-beveiligingsinzichten uit 2023
- Machine Vision: Industrie 4.0 en de Industriële IoT drijven