Jste zde

Anatomie bezpečnosti v mikrokontroleru pro aplikace internetu věcí

Embeded systém se neobejde bez bezpečnostních prvků, které jsou většinou implementovány přímo do mikrokontroleru výrobcem. Studie z ABI Research uvádí, že méně než 4% zařízení internetu věcí, které se prodali v loňském roce, obsahovali bezpečnostní funkce. Dále odhaduje, že v roce 2020 bude téměř 25% ze všech kybernetických útoků zaměřeno na zařízení internetu věcí. Takže bezpečnost MCU je nutné řešit, co nejdříve.

Co je to bezpečnost MCU? Mnoho výrobců MCU tvrdí, že nabízí bezpečnostní funkce, ale podrobnější analýza odhalí, že se jedná převážně o kamufláž. Tento článek se zaboří hlouběji a definuje bezpečnost MCU. Začneme s výběrem mikrokontroleru a s řešením bezpečnosti pomocí hardware. Představíme si mikrokontrolery s přídavnou vrstvou zabezpečení, které posílí obranu proti útokům ze sítě.

Spolupráce dvou MCU

Koncová zařízení jsou schopna svůj firmware aktualizovat přes OTA (over-the-air). Mikroprocesory RX651 od Renesas mají integrovány funkce Trusted Secure IP (TSIP) a ochranu pomocí důvěryhodné oblasti ve Flash paměti. Tyto funkce umožňují bezpečnou aktualizaci firmwaru přes zabezpečenou síť.

TSIP nabízí robustní management klíčů, šifrovanou komunikaci a detekci manuálního vniknutí (tampering detection). Mají cíl zajistit mikroprocesor před vnějšími hrozbami, jako je naslouchání, mechanická manipulace a viry (obrázek 1). Stejně tak integrovaná duální banka flash paměti usnadňuje výrobci zařízení provádění aktualizace firmwaru bezpečně a spolehlivě.

Obrázek 1. Pohled na bezpečnostní bloky (vpravo uprostřed) v RX651 mikroprocesoru. (Zdroj obrázku: Renesas Electronics)

Dvojí banka Flash paměti umožňuje realizovat vysokou úroveň bezpečnosti díky kombinaci TSIP pro ochranu šifrovacích klíčů a šifrování hardwarových akcelerátorů jako je AES, 3DES, RSA, SHA a TRNG. Pak je tu speciální oblast pro spouštěcí kód, která má ochranu před neoprávněným přeprogramování.

Renesas se spojil se Secure Thingz, který je expert na bezpečnost pro embeded zařízení. Renesas se s nimi dohodl na podpoře 32 bitových mikroprocesorů rodiny RX v oblasti bezpečnosti. Renesas bude používat Secure Deploy architekturu, kterou vytvořila Secure Thingz ke zjednodušení implementace bezpečnosti v rámci designu i výrobního procesu.

Další dodavatel mikroprocesorů, který se spojil s poskytovatelem řešení bezpečnosti je STMicroelectronics. Ten spolupracuje s Arilou Information Security Technologies a vytvořili vícevrstvou bezpečnost, ve které se hardware a software vzájemně doplňují a monitorují datové toky a mohou odhalit komunikační anomálie.

Sérii 32-bitových automotive mikrořadičů SPC58  Chorus od STMicroelectronics obsahují Hardware Security Module (HSM), který chrání citlivé bezpečnostní informace, jako jsou šifrovací klíče. Také zajišťuje ochranu proti vniknutí. HSM poskytuje hardwarovou ochranu root of trust s cílem usnadnit bezpečnou komunikaci, OTA aktualizace a bezpečné „bootování“.

Nyní ST přidal Intrusion Detection and Prevention system (IDPS) software do řady SPC58 Chorus pro detekci anomálií komunikace a tvoří tak další vrstvu ochrany před kybernetickými útoky (obrázek 2). IDPS je softwarové řešení určené ke sledování sítě CAN a odhalování anomálií v komunikaci elektronických řídicích jednotek (ECU) v automobilovém designu.

Obrázek 2. Znázornění, jak IDPS software detekuje provoz a ostatní anomálie. (Zdroj obrázku: Arilou)

Specializované bezpečnostní MCU

Výše uvedená část uvedla některé druhy MCU, které mají integrované bezpečnostní funkce pro boj proti fyzickým i vzdálených útoků. Teď se budeme zabývat specializovanými bezpečnostními MCU, často též nazývanými bezpečnostními prvky. Jedná se o přídavný čip, který řeší bezpečnost a připojuje se k hlavnímu MCU přes I2C nebo single-wire rozhraní.

Tyto bezpečnostní prvky, které podporují MCU, jsou založeny na speciálním hardware, aby bezpečnostní systém byl účinný proti široké škále hrozeb. Jsou jednoduché, levné, a slouží hlavnímu MCU nebo CPU pro ukládání klíčů, kryptografické akceleraci atd. V bezpečnostním prvku pracují všechny bezpečnostní bloky odděleně. Tím se izolují autentizační klíče od softwaru a dochází tak k účinné ochraně proti hackerům. Vložením bezpečnostních klíčů a certifikátů v bezpečnostních prvcích přímo ve výrobních továrnách také zabraňuje IP krádežím, klonování designu a padělání výrobků.

Příklad takového bezpečnostního prvku je  ATECC608A  od Microchip (obrázek 3), který má generátor náhodných čísel (RNG) pro unikátní generaci klíče, které dodržuje nejnovější požadavky z National Institute of Standards and Technology (NIST). Je také vybaven kryptografickými akcelerátory AES-128, SHA-256 a ECC P-256 pro vzájemné ověřování.

Obrázek 3. Blokové schéma bezpečnostního prvku ATECC608A. (Obrázek: Microchip Technology)

Bezpečná ROM paměť pro ukládání klíčů znemožňuje hackerům tyto klíče změnit, a tím zabraňuje neoprávněnému zásahu a útokům postranními kanály. ATECC608A poskytuje služby os zabezpečení OTA až po ověřování cloudových služeb.

Další low-cost MCU, který se specializuje na bezpečnost je SAM L11  (obr.4). Dokáže pracovat s nízko úrovňovými bezpečnostní údaji s modulárním GUI, které umožňuje vývojářům vybírat příslušné bezpečnostní funkce, které jsou potřebné implementovat.

Obrázek 4. Čtyři případy užití zabezpečení využívající bezpečnostní mikrořadiče SAM L11. (Obrázek: Microchip Technology)

SAM L11 obsahuje také TrustZone technologii ARM (Oddělení zabezpečené a nezabezpečené části paměti uvnitř mikroprocesoru). Kromě toho SAM L11 zefektivňuje bezpečnostní požadavky IoT uzlu při připojování ke cloudovým službám, jako je Amazon Web Services (AWS).

NXP LPC5500  mikrokontrolér je zaměřen na edge aplikace internetu věcí a je dalším příkladem bezpečnostního prvku pro hlavní MCU. Využívá speciální klíče zařízení pro vytvoření hardware root of trust. Klíče mohou být lokálně generovány z paměti SRAM (PUF), která umožňuje transakcí mezi koncovým uživatelem a OEM. Tento provoz eliminuje potřebu manipulace s klíči třetí stranou.

Speciální nástroje zabezpečení

Bezpečnostní čipy jako jsou ATECC608A obsahují bezpečnostní stavební bloky, ale neřeší přímo izolaci softwaru. V době, kdy velikost software běžící na MCU stále roste, je nutné chránit tento obsáhlý kód před škodlivými útoky.

Zařízení internetu věcí obsahují stacky pro Wi-Fi, Bluetooth, TLS atd. Narušení stacku může ovlivnit provoz zařízení i bez krádeže bezpečnostního klíče. Proto je nutné separovat tuto část kódu (stack) do zabezpečené části kódu. TrustZone od Arm je prostředí (Obrázek 5), které odděluje kritické kódy a stacky protokolů z komplexního operačního systému (OS) softwaru. Vytváří několik bezpečnostních softwarových domén, které dokáží omezit přístup ke konkrétním částí paměti, periferií a I/O komponentám uvnitř mikroprocesoru.

Obrázek 5. Technologie TrustZone slouží pro izolaci software do zabezpečených a nezabezpečených zón. (Zdroj obrázku: Arm)

Všechny tři bezpečnostní MCU, které jsou uvedeny výše, ATECC608A, SAM L11 a LPC5500 (obrázek 6) byly začleněny do TrustZone technologie. Takže jsou schopni oddělit zabezpečený a nezabezpečený kód. ATECC608A může pracovat s jakýmkoli procesorem, který využívá technologii TrustZone.

Obrázek 6. TrustZone technologie v LPC5500 mikrokontroléru, který je spojen s M-33 procesorem ARM Cortex, jak je znázorněno na levé horní části obrázku. (Zdroj obrázku: NXP)

Bezpečnostní MCU a TrustZone technologie se vzájemně doplňují. Společně poskytují hardwarovou ochranu a usnadňují implementaci v rámci designu internetu věcí. TrustZone navíc pomáhá vytvořit kompaktní softwarové prostředí v embeded designech.

Závěr

Anatomie zabezpečení MCU ukazuje, jak lze jednoduše vylepšit zabezpečení embeded systému pomocí bezpečnostních prvků, které komunikují s hlavním MCU. Přidáním bezpečnostního prvku dochází ke zvýšení bezpečnosti a zároveň snížení nákladů a spotřeby elektrické energie. To jsou hlavní důvody, proč jsou často implementovány do aplikací internetu věcí.

 

Článek vyšel v originále „The Anatomy of Security Microcontrollers for IoT Applications" na webu DigiKey.com, autorem je Majeed Ahmad

Hodnocení článku: