De anatomie van beveiligingsmicrocontrollers voor IoT-toepassingen
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2020-01-13
In een tijd dat het implementeren van beveiliging in ingebedde ontwerpen een overweldigende taak lijkt, zijn microcontrollers (MCU’s) die gespecialiseerd zijn in beveiligingsfuncties in opkomst om beveiliging mogelijk te maken bij het begin van het embedded ontwerp. Dat is een goede zaak, want er is geen twijfel over dat we een nieuw soort ingebedde oplossingen nodig hebben om toepassingen voor het Internet of Things (IoT) te beveiligen.
Volgens een onderzoek van ABI Research bevatte naar schatting minder dan 4% van de IoT-apparaten die vorig jaar werden verkocht ingebedde beveiliging. Tegelijkertijd voorspelt het marktonderzoeksbureau dat in 2020 bijna 25% van de cyberaanvallen gericht zullen zijn op IoT-apparaten, wat de beveiligings-MCU’s een heet hangijzer maken.
Wat is een beveiligings-MCU eigenlijk? Veel MCU’s bevatten naar zeggen beveiligingsfuncties, maar dit blijkt bij nader onderzoek vaak een zoete belofte te zijn. Dit artikel verdiept zich in de kenmerken die een beveiligings-MCU definiëren. Allereerst worden de eigenschappen en functies behandeld die een veilige MCU onderscheidt van een MCU die alleen naar zeggen beveiligd is.
MCU-leveranciers streven ernaar hun op hardware gebaseerde beveiligingsoplossingen aan te vullen met een extra beveiligingslaag om beter bestand te zijn tegen softwarekwetsbaarheden en netwerkaanvallen.
Het succes van twee MCU-samenwerkingen
De opkomst van endpointapparaten die aan de edge van een netwerk werken, vereist veilige firmware-updates over-the-air (OTA). De RX651 microcontrollers van Renesas pakken deze herprogrammeringsvereiste aan door Trusted Secure IP (TSIP) en vertrouwde flashbescherming te integreren, waardoor flash firmware-updates via beveiligde netwerkcommunicatie in het veld kan plaatsvinden.
De TSIP biedt robuust sleutelbeheer, gecodeerde communicatie en sabotagedetectie en garandeert een strenge beveiliging tegen externe bedreigingen zoals afluisteren, ongewenste wijzigingen en virussen (Afbeelding 1). Het geïntegreerde dual bank flash-geheugen maakt het voor fabrikanten van apparaten ook gemakkelijker om firmware-updates veilig en betrouwbaar ter plaatse uit te voeren.
Afbeelding 1. Een overzicht van de beveiligingsbouwstenen (midden rechts) in de RX651 microcontroller. (Bron afbeelding: Renesas Electronics)
De dual bank flash stelt ontwerpers van embedded systemen in staat om een sterke vertrouwensbasis of root of trust te realiseren door middel van een combinatie van TSIP voor het beschermen van de encryptiesleutels en encryptiehardwareversnellers zoals AES, 3DES, RSA, SHA en TRNG. Ook is er de code flashbescherming om de opstartcode te beschermen tegen ongeautoriseerd herprogrammeren.
Daarnaast werkt Renesas samen met Secure Thingz, een expert op het gebied van embedded systeembeveiliging, voor de veilige provisioning van de RX-reeks van 32-bit microcontrollers. Renesas ondersteunt hiervoor de Secure Deploy-architectuur die Secure Thingz heeft ontwikkeld om de beveiligingsimplementaties in de ontwerp- en productiewaardeketens te vereenvoudigen.
Een andere MCU-leverancier die samenwerkt met een provider van ingebedde beveiligingsoplossingen is STMicroelectronics. De chipfabrikant werkt samen met Arilou Information Security Technologies om een meerlaagse beveiliging te creëren waarin hardware en software elkaar kunnen aanvullen om datastromen te bewaken en communicatieafwijkingen te detecteren.
De SPC58 Chorus-serie 32-bit automotive microcontrollers van STMicro integreren een Hardware Security Module (HSM) die gevoelige beveiligingsgegevens, zoals cryptografische sleutels, beschermt en dus bescherming biedt tegen inbreuk via communicatiebussen in automobiel- en gatewaytoepassingen. HSMS verstrekt de hardwarematige root of trust voor veilige communicatie, OTA-updates en veilig opstarten.
Nu heeft ST de Intrusion Detection and Prevention System (IDPS)-software van Arilou aan de SPC58 Chorus-serie automotive MCU’s toegevoegd om verkeersafwijkingen te detecteren en een extra beschermingslaag te vormen tegen cyberaanvallen (Afbeelding 2). IDPS is een softwareoplossing die is ontworpen om de CAN-bus (Controller Area Network) te bewaken en afwijkingen in de communicatiepatronen van elektronische regeleenheden (ECU’s) in voertuigontwerpen te detecteren.
Afbeelding 2. Hier wordt laten zien hoe IDP-software verkeers- en andere wegafwijkingen detecteert. (Bron afbeelding: Arilou)
Gespecialiseerde beveiligings-MCU’s
Hierboven hebben we een overzicht gegeven van MCU’s die beveiligingsmogelijkheden integreren om fysieke en externe aanvallen tegen te gaan. Nu gaan we eens kijken naar gespecialiseerde beveiligings-MCU’s, ook wel secure elements genoemd, die fungeren als een companion-chip voor de hoofd-MCU verbonden via een I2C- of eendraadsinterface.
Secure elements ondersteunen MCU’s die geen beveiligingsfuncties hebben en zijn gebaseerd op speciaal ontworpen hardware, om een beveiligingskader te bieden tegen tal van bedreigingen. Ze zijn eenvoudig, goedkoop en nemen de beveiligingstaken van de hoofd-MCU of CPU over, zoals sleutelopslag, cryptografische versnelling etc. Daarom worden ze ook wel beveiligingscoprocessors genoemd.
In een secure element werken alle beveiligingsbouwstenen onder een gemeenschappelijke laag die verificatiesleutels en software gescheiden houden zodat hackers worden verhinderd om aanvallen uit te voeren, zoals power cycling, klokstoringen en zogenaamde side channel attacks. Het uploaden van beveiligingssleutels en -certificaten in secure elements in de fabriek voorkomt ook diefstal van IP-adressen, klonen van ontwerpen en productenvervalsing.
Neem nu bijvoorbeeld het ATECC608A secure element van Microchip (Afbeelding 3), die een random number generator (RNG) bevat voor het genereren van unieke sleutels en voldoet aan de meeste recente vereisten van het National Institute of Standards and Technology (NIST). Dit secure element beschikt ook over cryptografische versnellers zoals AES-128, SHA-256 en ECC P-256 voor wederzijdse verificatie.
Afbeelding 3. Blokdiagram van het ATECC608A secure element. (Afbeelding: Microchip Technology)
Bovendien biedt veilige ROM voor sleutelopslag een onwrikbare omgeving die moeilijk door hackers en spoofs te veranderen is, waardoor tampering en side-channel attacks worden voorkomen. Al met al biedt de ATECC608A services, variërend van veilig opstarten en OTA-validatie tot veilige sleutelopslag en -overdracht voor IoT- en cloud-serviceverificatie.
Een andere betaalbare, beveiliginggespecialiseerde MCU is de SAM L11 van Microchip (Afbeelding 4), die stroombeperkte IoT-knooppunten beschermen tegen bedreigingen zoals foutinjectie en side channel attacks. Deze MCU abstraheert low-level beveiligingsdetails met een modulaire GUI waarmee ontwikkelaars relevante beveiligingsfuncties kunnen uitkiezen, en vereenvoudigt zo de implementatie van ingebedde beveiliging.
Afbeelding 4. Vier beveiligingsscenario’s waarbij gebruik wordt gemaakt van de SAM L11 beveiligingsmicrocontroller. (Afbeelding: Microchip Technology)
De beveiligingsfuncties die de SAM L11 abstraheert, bevatten provisioningservices van derden. Ook is deze microcontroller uitgerust met de TrustZone-technologie van Arm die veilige en niet-veilige code in een microcontroller gescheiden houdt. De SAM L11 stroomlijnt bovendien de beveiligingsbehoeften van het IoT-knooppunt en verzorgt de verbinding met cloudservices zoals Amazon Web Services (AWS).
De LPC5500 microcontroller van NXP richt zich op IoT-edgetoepassingen en is nog een voorbeeld van een beveiligingsgebaseerde MCU. Hier wordt gebruik gemaakt van apparaatunieke sleutels om een onwrikbare hardware root of trust te creëren. De sleutels kunnen lokaal worden gegenereerd door een op SRAM gebaseerde, fysiek niet-kloonbare functie (PUF) die closed-loop-transacties tussen de eindgebruiker en de OEM toestaat. Dit maakt sleutelafhandeling door derden overbodig.
Gespecialiseerde beveiligingstools
Hoewel op beveiliging gerichte MCU’s zoals de ATECC608A beveiligingsbouwstenen bevatten voor een vertrouwd ecosysteem, houden ze geen rekening met software-isolatie. Juist nu de hoeveelheid software die op MCU’s wordt uitgevoerd voortdurend toeneemt, moeten ontwikkelaars een grote codebasis beschermen tegen schadelijke aanvallen.
De IoT-apparaten hebben bijvoorbeeld protocolstacks voor Wi-Fi, Bluetooth, TLS etc. en de corruptie van protocolstacks kan de werking van het apparaat beïnvloeden, zelfs zonder dat hackers de beveiligingssleutels stelen. Dit pleit voor een scheiding van bedrijfskritische code en niet-bedrijfskritische code en het plaatsen van de kritieke software in een veilige omgeving.
De TrustZone omgeving van Arm (Afbeelding 5) scheidt bedrijfskritische code en protocolstacks van complexe software voor het besturingssyteem (OS) en grote codebases, waarmee firmwarebackdoors in het geheugen waar beveiligingssleutels zijn opgeslagen, wordt voorkomen. TrustZone creëert meerdere softwarebeveiligingsdomeinen om toegang tot specifieke geheugens, peripherals en I/O-componenten in de microcontroller te beperken.
Afbeelding 5. Het TrustZone-basisframework voor het isoleren van software in beveiligde en niet-beveiligde zones. (Bron afbeelding: Arm)
Alle drie hierboven genoemde beveiligings-MCU’s, de ATECC608A, SAM L11 en LPC5500 (Afbeelding 6), bevatten ingebouwde TrustZone-technologie om beveiligde en niet-beveiligde code te scheiden. Bovendien kan het ATECC608A secure element met elke TrustZone-compatibele microcontroller werken.
Afbeelding 6. De TrustZone-technologie in de LPC5500 microcontroller wordt geleverd met de Cortex-M33 processor van Arm, die linksboven in het diagram wordt weergegeven. (Bron afbeelding: NXP)
Het is ook de moeite waard om te vermelden dat beveiligings-MCU’s en TrustZone-technologie elkaar aanvullen in die zin dat TrustZone hardwarebescherming vereist en dat beveiligings-MCU’s zoals de ATECC608A en SAM L11 dit binnen een IoT-ontwerpomgeving mogelijk maken. Daar staat tegenover dat TrustZone een compacte softwareomgeving creëert in de MCU-gerichte ingebedde ontwerpen.
Conclusie
De anatomie van beveiligings-MCU’s laat zien hoe deze de implementatie van ingebedde beveiliging tijdens de ontwerpfase vereenvoudigen en hoe ze de steile leercurve met betrekking tot beveiligingstechnologie-expertise omzeilen. Deze gespecialiseerde MCU’s verlagen ook de overheadkosten en het energieverbruik, twee belangrijke overwegingen in de uiterst beperkte IoT-ontwerpen.
In een tijd waar het ontstaan van IoT-apparaten de snelheid overtreft waarmee deze verbonden ontwerpen veilig worden geïmplementeerd, bieden beveiligings-MCU’s een rendabele manier om cyberdreigingen op meerdere fronten het hoofd te bieden. MCU’s bieden een vereenvoudigde oplossing die is uitgerust met een ecosysteem voor beveiligingsontwerpen met point-and-click ontwikkelomgevingen.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

