UART beveiligen in IoT-apparaten: van RSA-sleuteluitwisseling naar AES-encryptie
Met cryptografische blokken ingebouwd in moderne microcontrollers, kunnen ontwikkelaars nu elk communicatiekanaal beschermen, zelfs legacy-interfaces zoals UART die traditioneel geen ingebouwde beveiliging hebben.
Hoogtepunt-datalekken in IoT-systemen hebben duidelijk gemaakt dat een geweldig product aanbieden niet meer genoeg is—apparaten moeten end-to-end encryptie leveren om competitief te blijven.
Terwijl veel protocollen beveiliging native insluiten, blijft UART een platte, no-ACK interface die gelezen of gemanipuleerd kan worden als de baudrate bekend is. Om te beschermen tegen afhopen en injectie, moeten de endpoints zelf de data versleutelen en authenticeren.
Symmetrische en asymmetrische beveiliging
Cryptografische beveiliging wordt meestal verdeeld in twee categorieën: symmetrische en asymmetrische algoritmen. Symmetrische sleutels—gedeeld door zender en ontvanger—bieden snelle encryptie, maar de sleutel moet veilig uitgewisseld worden. Asymmetrische sleutelparen lossen dit op door één kant een symmetrische sleutel te laten versleutelen met een publieke sleutel; alleen de houder van de bijbehorende privésleutel kan het ontsleutelen.
RSA is het meest gangbare asymmetrische schema voor sleuteluitwisseling, terwijl AES het werkhond is voor data-encryptie vanwege de efficiëntie en lage resource-footprint.
Publieke en privésleutel encryptie
RSA's wiskundige complexiteit garandeert sterke beveiliging maar vereist aanzienlijke rekenkracht, wat duur kan zijn in embedded realtime systemen. Voor de meeste IoT-apparaten biedt een hybride benadering—RSA om een AES-sleutel uit te wisselen, daarna AES voor bulkdata—de beste balans van snelheid en beveiliging.
In de praktijk genereert de ontvanger een RSA-sleutelpaar en publiceert zijn publieke sleutel. De zender creëert een willekeurige AES-sleutel, versleutelt deze met de publieke sleutel van de ontvanger en stuurt het terug. De ontvanger ontsleutelt de AES-sleutel met zijn privésleutel, en alle volgende berichten worden met die sleutel versleuteld.
Afbeelding 1: Veilige uitwisseling van AES-sleutel met RSA. (Bron: Infineon)
Omdat alleen de beoogde ontvanger de privésleutel bezit, kan een aanvaller de AES-sleutel niet herstellen zelfs als ze het kanaal afhouden. Alle verdere communicatie is dan beschermd tegen afhopen en manipulatie.
Firmware vs. hardware implementatie
Het puur in firmware implementeren van cryptografische algoritmen is resource-zwaar: het verbruikt CPU-cycli, verhoogt latentie en verhoogt stroomverbruik. Moderne MCU's mitigeren dit met toegewezen cryptografische versnellers die zware operaties naar gespecialiseerde hardwareblokken offloaden, wat footprint en kosten drastisch verlaagt.
Infineon's PSoC 6 MCU is een voorbeeld van deze benadering. De ingebouwde cryptografische motor ondersteunt AES, DES, TDES, RSA, SHA en CRC, wat ontwikkelaars in staat stelt robuuste beveiliging te implementeren zonder een krachtigere processor.
Echte willekeurige getallen
Willekeur is cruciaal voor sleutelgeneratie. Deterministische firmware kan voorspelbare sleutels produceren, wat brute-force aanvallen haalbaar maakt. Een True Random Number Generator (TRNG), zoals de zes ring-oscillatoren in de PSoC 6, introduceert fysieke ruis om onvoorspelbare sleutels te genereren.
Voor een 16-byte AES-sleutel genereert de TRNG 128 willekeurige bits—wat 2^128 mogelijke sleutels oplevert, ver buiten brute-force bereik. Bovendien beperkt het regenereren van de sleutel bij elke herstart het blootstellingsvenster voor een eventueel gecompromitteerde sleutel.
Integriteit en authenticiteit garanderen
UART's gebrek aan ACK betekent dat er geen inherent garantie is dat een bericht compleet of onbeschadigd is. Om dit te tegengaan, wordt een cryptografische hash (SHA) aan elk bericht toegevoegd voordat het versleuteld wordt. De ontvanger, na ontsleuteling, berekent de hash opnieuw en verifieert het tegen de ontvangen waarde. Een mismatch wijst op manipulatie of transmissiefout, waardoor het bericht verworpen wordt.
Afbeelding 2: Hash zorgt voor berichtintegriteit tijdens veilige uitwisselingen. (Bron: Infineon)
Voor additionele authenticiteit kan de zender het bericht tekenen met zijn privésleutel; de ontvanger verifieert de handtekening met de publieke sleutel van de zender, wat garandeert dat het bericht afkomstig is van de legitieme bron.
Door RSA, AES, TRNG en SHA te integreren in de cryptografische blok van de MCU, kunnen ontwikkelaars UART—een traditioneel onbeveiligde interface—beveiligen zonder prestaties of kosten te compromitteren.
—Harigovind A en Rakshith M B, Senior Application Engineers, Infineon Technologies
>> Dit artikel werd oorspronkelijk gepubliceerd op onze zustersite, EDN.
Internet of Things-technologie
- Hoe 5G Industriële IoT zal transformeren: Automatisering, betrouwbaarheid en connectiviteit boosten
- Hoe IoT en 5G Moderne Werkplekken Transformeren
- IoT's Globaal Effect: Economische Groei, Behoud, Gezondheid en Onderwijs Drijven
- Hoe IoT Enterprise Mobility Transformeert voor Moderne Bedrijven
- 7 essentiële stappen om uw thuis-IoT-netwerk te beveiligen
- Hoe u een winstgevend IoT-bedrijfsmodel bouwt
- Miljarden IoT-apparaten beveiligen met cyberweerbaarheid: Een blauwdruk voor de toekomst
- De Stijgende Dreiging van Kill-Chain Aanvallen op IoT-apparaten — Wat Bedrijven Moeten Weten
- Hoe IoT werkplekveiligheid transformeert: Realtime monitoring en risicoreductie
- Klantervaring Transformeren met IoT: Slimme Oplossingen voor Superieure Tevredenheid
- Top 4 Industriële IoT-toepassingen die Productie Transformeren