Zorg ALTIJD voor genoeg beveiliging
Systemen schakelen uit. Soms is dat omdat je wilt dat ze dat doen, voor onderhoud of om stroom te besparen of om nog andere redenen. En soms schakelen ze uit terwijl je dat juist niet wilt en dat is nou net iets wat je probeert te vermijden. Dit fenomeen mag absoluut niet optreden wanneer je systeem aan het opstarten is of uitgezet wordt gemaakt, momenten waarop de beveiliging onbedoeld zwakker kan zijn.
Er bestaat aardig wat documentatie over hoe je je systeem kunt beveiligen als alles goed gaat. Maar dat is niet noodzakelijkerwijs het geval wanneer het systeem opstart of wordt uitgezet, vooral als het een ongeplande storing betreft. Dus wat kun je in dergelijke onfortuinlijke situaties doen?
Een eerste, eenvoudig antwoord is dat je ervoor moet zorgen dat je een MCU ontwerpt die over de nieuwste beveiligingsfuncties beschikt. Het moeilijkste onderdeel is om te bepalen of dat inderdaad het geval is, aangezien de normen en functies tamelijk snel veranderen, daar de slechteriken met de minuut slimmer lijken te worden. Om meer over deze technologie te weten te komen, lees je het artikel “De anatomie van beveiligingsmicrocontrollers voor IoT-toepassingen.”
Afbeelding 1: hier worden de grensgebieden van bescherming in een industrieel platform getoond. (Bron afbeelding: Maxim Integrated Products)
In een typisch "veilig" ontwerp werken alle ingebedde bouwstenen van de beveiliging samen onder een gemeenschappelijke grens. Het hoogste niveau in die hiërarchie van beveiliging bevat technieken zoals cryptografie en hardwarebeveiliging (Afbeelding 1). Die grens isoleert authenticatiesleutels van software, wat zou moeten voorkomen dat hackers aanvallen uitvoeren, onder andere tijdens het opstarten en uitzetten van je systeem. Maar mocht de stroom worden uitgeschakeld, dan is het van essentieel belang dat het systeem in de juiste volgorde wordt opgezet; wat betekent dat de beveiliging als eerste wordt geladen, ver weg van glurende “ogen".
De RX-familie van apparaten van Renesas, zoals de RX651-microcontrollers, implementeert beveiliging met behulp van een Root of Trust. Dit is een manier waarop systeemontwerpers met het probleem bij het opstarten en uitzetten omgaan. Het systeem weet dat het in een bepaalde volgorde moet opstarten en uitschakelen, met gebruikmaking van die Root of Trust. Het leest de gecodeerde sleutelwoorden in, die het “groenlicht"-signaal naar de rest van het systeem geeft.
De RX651 MCU's pakken beveiligingsproblemen ook aan door integratie van Trusted Secure IP (TSIP) en betrouwbare flash-area bescherming, die flash-firmware-updates in het veld mogelijk maakt via veilige netwerkcommunicatie. De TSIP biedt degelijk sleutelbeheer, versleutelde communicatie en sabotagedetectie om een sterke beveiliging te bieden tegen externe bedreigingen zoals afluisteren, sabotage en virussen.
Een tweede, vandaag de dag behoorlijk populaire beveiligingsmethode, is TrustZone van Arm, die de kritieke beveiligingsfirmware en privé-informatie, zoals beveiligd booten, firmware-update en sleutels van de rest van de toepassing isoleert. Bij deze methode wordt de MCU in feite in twee delen verdeeld, waarbij een deel volledig veilig is en de coderingssleutels etc. bevat, terwijl het andere deel wordt ingezet voor algemene activiteiten. De twee domeinen blijven geïsoleerd, zodat sabotage wordt geëlimineerd.
Een MCU die gebruik maakt van TrustZone is de STM32MP151A van STMicroelectronics. Deze is gebaseerd op de Arm Cortex-A7 32-bits RISC-kern, kan werken op maximaal 650 MHz en bevat 32-kbyte instructie en data-caches, alsmede een 256-kbyte Level 2-cache. De ingebouwde geheugenbeschermingseenheid (memory protection unit - MPU) verbetert de beveiliging van de toepassing. Deze vormt een toevoeging op de embedded TrustZone-technologie.
Beveiliging van een tweede bron
Een ander apparaat, dat onafhankelijk van de MCU werkt, is het ATECC608A beveiligingselement van Microchip (Afbeelding 2). Het apparaat is uitgerust met een random number generator (RNG) voor het genereren van unieke sleutels en voldoet ook aan de nieuwste vereisten van het National Institute of Standards and Technology (NIST). Het beschikt daarnaast over cryptografische versnellers zoals AES-128, SHA-256 en ECC P-256, voor wederzijdse authenticatie.
Afbeelding 2: de ATECC608A van Microchip is een cryptografische co-processor die naast een MCU werkt. Het biedt veilige, op hardware gebaseerde opslag van sleutels. (Bron afbeelding: Microchip)
Hoewel de haken zijn ingebouwd ter ondersteuning van de uitgebreide reeks MCU's van Microchip, is het onderdeel agnostisch voor elke microprocessor of microcontroller. Het apparaat heeft maar heel weinig stroom nodig en vereist slechts een GPIO over een breed spanningsbereik. De kleine vormfactor (UDFN met 8 pads of SOIC-pakket met 8 geleiders) maakt het ontwerp op het bord gemakkelijk.
Zoals je kunt zien zijn er vele manieren om je systeem te beveiligen. Kies de manier die het beste bij je toepassing past.
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum




