Skip to main content

IoT-biztonság a PUF-kulcsok és a TrustZone-platform használatával

Megjelent: 2020. július 20.

digi keyA dolgok internete (IoT) köré épült rendszerek egyre bonyolultabbak, ezért egyre jobb megoldások szükségesek a megfelelő rendszerbiztonság kialakításához és a szüntelen helyi és távoli támadások elhárításához. Az általában korlátozott erőforrásokkal rendelkező IoT-eszközök biztonságossá tételére azonban nemigen helyeződött nagy hangsúly, és a megbízható működést vagy a támadási felületek laza szoftveres befoltozásával vagy a bonyolult titkosítási algoritmusokkal rendelkező nagyon kifinomult és drága IC-k alkalmazásával oldották meg.

 

A fejlesztőknek az eddig alkalmazott módszereknél összetettebb, ugyanakkor egyszerűbben használható megoldásokra van szükségük a megbízható működés gyors megteremtéséhez és megvalósításához. Olyan technológiák jöttek létre, mint például a statikus, véletlen elérésű memóriára (SRAM-ra) épülő fizikailag nem klónozható funkciók (PUF – Physically Unclonable Function) és az Arm cég TrustZone nevű megoldása, amelyeket azóta továbbfejlesztettek, hogy megfeleljenek a beágyazottsággal kapcsolatos biztonsági követelményeknek és az IoT-fejlesztők igényeinek. Ez a cikk az NXP Semiconductors, a Microchip Technology és a Maxim Integrated cégek PUF és TrustZone-technológiáira épülő megoldásait ismerteti.

 

digi key figure 1

1. ábra  Az LPC55S6x mikrovezérlő-család blokkvázlatán látható, hogyan vannak beépítve az SRAM-ra épülő PUF technológiát tartalmazó biztonsági célú alkotóelemek (Forrás: NXP)

 

SRAM PUF-technológia

Az SRAM PUF-technológia – a hagyományos titkosítási módok pehelysúlyú hitelesítési alternatívájaként – megtalálható az olyan biztonsági célú lapkákban, mint például az NXP cég LPC55S6x mikrovezérlő-családja, ahol ez képezi a megbízhatóság és a szolgáltatás alapját (1. ábra).
A PUF-technológia eltér a hagyományos, nem felejtő memóriában való kulcstárolástól, ahol a biztonsági kulcsokat az eredeti berendezésgyártó (OEM) illeszti be hagyományos beégetéses módszerrel vagy pedig egyszer programozható (OTP) memória alkalmazásával. A PUF-technológia ehelyett az SRAM-bitcellák alapvető tulajdonságát, a természetes, véletlenszerű villamosságingadozását használja fel, és ezt az egyedi „ujjlenyomatot” alakítja át egy titkos rejtjelkulccsá, amely aztán a biztonsági alrendszer alapjául szolgál. Ez az igen erős és megbízható kulcs minden alkalommal és minden körülmények között újraalkotható ugyanazon rejtjelkulccsá. Ennek a módszernek számos előnye van:

  • Nincs szükség harmadik fél általi, esetleg nem megbízható környezetben történő kulcskezelésre.

  • A kulcstároló és a szolgáltató rendszert nem kell betölteni a lapka gyártásakor, hanem az beállítható a gyártási folyamat egy későbbi szakaszában, vagy akár már üzembe helyezett készülékek is továbbfejleszthetők vele.

  • Az adott SRAM lapkához való fizikai hozzáférés nélkül ezeknek a biztonsági kulcsoknak a visszafejtése csaknem lehetetlen feladat.

  • A kulcsokat csak akkor hozza létre a rendszer, amikor szükség van rájuk, és nem tárolja őket.

  • Az a tény, hogy a kulcs nincs állandóan tárolva a rendszerben, és nem is létezik, amikor a készülék nincs használatban nagyon megnehezíti a támadók számára a memória tartalmához való fizikai hozzáférést annak károsítása céljából.

 

digi key figure 33

2. ábra  A TrustZone lehetővé teszi több szoftveres biztonsági tartomány kialakítását, amelyek mindegyike csupán a megbízható szoftverkörnyezetek számára engedélyezi a megbízható memóriához és a bemenetekhez/kimenetekhez való hozzáférést (Forrás: NXP)

 

Arm TrustZone

Az Arm Cortex®-M23 és Cortex-M33 processzormagokba integrált, ultra-kis fogyasztású és beágyazott felhasználásra optimalizált TrustZone-technológia védett környezetbe helyezi az olyan biztonság szempontjából kritikus tényezőket, mint például az indítókódot, a biztonsági beállításokat, a biztonsági kulcsokat, a titkosítási könyvtárakat és a belső vezérlőprogram (firmware) frissítéseit (2. ábra).
A TrustZone-nal ellátott mikrovezérlőkben például a feladat szempontjából létfontosságú kódot a rendszer a nagy kódtömbökről való leválasztása után teljes mértékben ellenőrzi annak megelőzése érdekében, nehogy a fejlesztők által benne hagyott esetleges programhiba azt befolyásolni tudja.
Ami a biztonságos adatokat és kódokat illeti, a TrustZone azzal garantálja ezek biztonságát, hogy a szoftver kritikus részeit egymástól elszigeteli, és azokat egy felhasználói szoftver általi írástól és olvasástól védett hardveres felügyeleti környezetben futtatja.
A TrustZone lehetőséget ad a fejlesztőknek arra, hogy a memóriát megbízható és nem megbízható területekre osszák, ezáltal hitelesítés hiányában még akár a programhiba-javítási próbálkozások is elérhetetlenné tehetők még a megbízható kódok és adatok számára is. Ezenkívül egy nem megbízható CPU csak a nem megbízható memóriaterületen lévő adatokhoz tud hozzáférni, ezért csak a nem megbízható memóriaterületen lévő programokat tudja futtatni.
Fontos, hogy miközben a TrustZone mindezeket a biztonsági funkciókat nyújtja, továbbra is kis megszakításkésleltetéssel dolgozik mind a megbízható, mind a nem megbízható tartományban. Sőt mi több, nem növeli a többletkódmennyiséget, a ciklusszámtöbbletet, és nem jellemző rá a virtuális alapú megoldások bonyolultsága sem.

 

digi key figure 33

3. ábra  Az NXP az Intrinsic ID hardveres IP-blokkját és az azt támogató szoftverkönyvtárakat használta fel az LPC55Sxx mikrovezérlőkbe integrált saját PUF-ok kialakítására. Az IP-blokk végzi a kulcsok generálását és azok kezelését (Forrás: Intrinsic ID)

 

A PUF és a TrustZone fizikai megvalósítása

Az NXP az Intrinsic ID cégnek (a PUF feltalálójának) a hardveres IP-blokkját (és az azt támogató szoftverkönyvtárakat) használta fel az LPC55Sxx mikrovezérlőkbe integrált saját PUF-ok kialakítására (3. ábra). A kulcsok generálását, a kulcsok tárolását, a készülékek hitelesítését, a kulcsszolgáltatást és a lapkaerőforrások kezelését az Intrinsic ID beágyazott hardveres IP-blokkja, a QuiddiKey végzi.
Az NXP az LPC55Sxx mikrovezérlőkben a TrustZone-technológiát is alkalmazza, és az IoT-biztonságnak ilyen CPU-központú megközelítésével a beágyazott rendszer megbízható és nem megbízható, egymástól elszigetelt részekre tagolódik.
A Microchip Technology SAM L10/11 mikrovezérlőiben például a TrustZone az egész rendszerre kiterjedő védelmet kínál, ahol a dolgok internetéhez tartozó eszközök megbízható és nem megbízható állapotúakra oszthatók fel. A hatékony beágyazás érdekében viszont a megbízható és a nem megbízható kód is ugyanazon a CPU-n fut.
Ez a CPU-központú megközelítés azért fontos, mert az olyan kapcsolódási célú technológiákat kiszolgáló protokollcsomagokkal, mint például a Wi-Fi, a Bluetooth és a TLS (Transport Layer Security – átviteli rétegbeli biztonság) a korszerű mikrovezérlőkbe épített szoftverek száma rohamosan nő. Ez a növekvő kódbázis jelentősen megnöveli az IoT-eszközök rosszindulatú támadásoknak való kitettségét. Az okosotthonoknál és okosépületeknél például egy sérült protokollcsomag az interneten keresztül elérhető ajtózárakat, garázsajtónyitókat és biztonsági kamerákat nagyon sebezhetővé teheti.
Ha azonban az IoT-fejlesztők a feladat szempontjából létfontosságú kódokat a TrustZone által védett környezetbe helyezik, még a külső cégek által írt protokollcsomagokban lévő programhibák sem befolyásolhatják súlyosan az eszközök működőképességét.

 

digi key figure 4

4. ábra  A Maxim Integrated MAXREFDES155# DeepCover nevű IoT-kapcsolódást biztosító referenciaterve egy Arm mbed modult, egy I2C sínen kapcsolódó érzékelő végpontot és a felhőhöz Wi-Fi útján történő kapcsolódási lehetőséget tartalmaz (Forrás: Maxim Integrated)

 

Kártyaszintű biztonság

Az IoT biztonsági paradigmának egy másik világosan körvonalazott alterülete a helyi peremhálózati eszközök egymás közötti, illetve a felhő és a peremhálózati eszközök közötti kommunikációjának a leegyszerűsítése. A rendelkezésre álló referenciaterveknek köszönhetően ez megvalósítható, ezáltal a fejlesztők viszonylag könnyen úrrá tudnak lenni a biztonsági és kommunikációs protokollok bonyolultságán. A Maxim Integrated MAXREFDES155# DeepCover® referenciaterve és a Microchip AC164164 PIC®-IoT WG jelű fejlesztőkártyája mindezt remekül szemlélteti.
A MAXREFDES155# biztonsági kialakításnál egy Arm mbed™ modul van csatlakoztatva egy érzékelő végponthoz egy 300 mm hosszú kábellel. Az érzékelő végpont egy DS28C36 DeepCover biztonsági hitelesítőegységet, egy infravörös (IR) hőérzékelőt és az ahhoz tartozó célzólézert tartalmazza (4. ábra).
A DS28C36 biztonsági lapka a biztonsági állapot ellenőrzésére és a szintérzékelésre (opcionális lehetőségekként) két hitelesített, általános célú be- és kimeneti (GPIO) lábbal rendelkezik. Ez lehetővé teszi az IoT-fejlesztők számára egy hitelesített EEPROM (elektronikusan törölhető, programozható, csak olvasható memória) beprogramozásával és egy 17 bites csak visszaszámláló egységgel a perifériák használatának figyelését és korlátozását.
A DS28C36 a következő alkalmazásokat könnyíti meg: kétirányú hitelesítés, rendszeradatok (például rejtjelkulcsok) biztonságos tárolása, a feladat szempontjából létfontosságú adatok ellenőrzése, a biztonságos indítás és a végtermék használatának ellenőrzése.
A MAXREFDES155# referenciatervben lévő modul tartalmaz egy DeepCover biztonsági segédprocesszort, Wi-Fi kommunikációt, folyadékkristályos kijelzőt (LCD), nyomógombos kezelőszerveket és állapotjelző világítódiódákat (LED). A referenciatervnél az MAX32600MBED# mbed fejlesztőkártya van felhasználva az azonnali tesztekhez, a modul Wi-Fi-áramköre pedig megkönnyíti a kommunikációt a webszerverrel.
A MAXREFDES155# referenciatervnél az mbed modulon lévő biztonsági segédprocesszor a DS28C36 hitelesítőlapka kisegítésére szolgál, és a DS28C36 biztonsági műveleteinek részét képező HMAC (Hash-based Message Authentication Code – kivonatalapú üzenethitelesítő kód) és ECDSA (Elliptic Curve Digital Signature Algorithm – elliptikus görbéjű digitális aláírási algoritmus) számításokat könnyíti meg.
A segédprocesszor rendelkezik egy titkosítóeszköz-alapkészlettel, amely megkönnyíti az IoT-tervezők számára a titkosítóprogramok létrehozását és az FIPS/NIST szervezetek (Federal Information Processing Standards/National Institute of Standards and Technology – Szövetségi Adatfeldolgozási Szabványok/Szabványok és Műszaki Tudományok Országos Intézete) valódi véletlenszám-generátorának (RNG) beépítését. A nyilvános és privát biztonsági kulcsok a NIST által meghatározott szabványoknak megfelelően működnek. Ez tartalmazza a FIPS 186 szabványt és az ECDSA aláírás-generáló és ellenőrző mechanizmust, amely egy kétirányú, aszimmetrikus kulcsos hitelesítési modellt támogat.

 

A felhővel való kapcsolat biztonságának egyszerűsítése

A Microchip AC164164 PIC-IoT WG jelű fejlesztőkártyája hasonló elemeket tartalmaz, de az IoT-csomópontnak a felhőplatformokkal (pl. Google Cloud) való kapcsolatának egyszerűsítésére összpontosít. A cég PIC mikrovezérlőire épülő fejlesztőplatform a nagy szoftveres keretrendszerek és a valósidejű operációs rendszereket (RTOS) használó platformok használatával együtt járó sebezhetőség megszüntetésére az ATECC608A segédprocesszort használja.
Az AC164164 egy IoT-tervezőplatform, amelyben a peremhálózati eszköz és a felhő közötti kapcsolatot egy a Google Cloud IoT Core szolgáltatáshoz gyárilag regisztrált és beállítás nélkül (ZTP – zero-touch provisioning) azonnal használatra kész biztonsági elem biztosítja. A fejlesztőkártya az ATECC608A biztonsági segédprocesszor mellett tartalmaz egy PIC24FJ128GA705 mikrovezérlőt is, amely kevesebb kóddal és kisebb fogyasztással kezeli a bonyolult alkalmazásokat.
Az IoT-csomópontot egy teljes értékű IEEE 802.11b/g/n IoT Wi-Fi-s vezérlőegység kapcsolja a Google Cloud felhőhöz. Ennek eredményeképpen az IoT-fejlesztőknek nem kell külön szakértelemmel rendelkezniük a vezeték nélküli hálózati protokollok, a biztonság és a hardverkompatibilitás területén ahhoz, hogy biztonságos IoT-termékeket tudjanak megtervezni.

 

Összegzés

Mivel az IoT-kialakításoknál a fő processzor vagy a mikrovezérlő mellett már segédlapkaként rendelkezésre állnak célirányos biztonsági lapkák is, ezért ez lehetővé teszi a fejlesztők számára, hogy az IoT-csomópontoknak a végpontokkal, illetve a felhőplatformokkal való kapcsolatát külön biztonsági szakértelem nélkül is biztonságossá tegyék. Ahogyan az IoT-rendszerek biztonsági követelményei egyre fokozódnak, az olyan kiegészítő technológiák, mint a PUF és a TrustZone beépítésével ezeknek a kis fogyasztású, olcsó mikrovezérlőknek a biztonsági minősítése is még nagyobbá tehető.
Mindezeken túlmenően a rendelkezésre álló referenciatervek és fejlesztőkártyák tovább egyszerűsítik a biztonsági egyenletet azáltal, hogy többszintű beágyazott védelmet biztosítanak az IoT-eszközök széles körében.

 

Szerző: Rolf Horn – Alkalmazástechnikai mérnök, Digi-Key Electronics

 

Rolf Horn

Rolf Horn, a Digi-Key Electronics alkalmazástechnikai mérnöke 2014 óta tagja az Európai Technikai Támogatási Csoportnak, amelynek elsődleges felelőssége az EMEA végfelhasználói által feltett fejlesztési és mérnöki kérdések megválaszolása, valamint a német cikkek és blogok írása és korrektúrája a Digi-Key TechForum és maker.io platformon. A Digi-Key előtt több gyártónál dolgozott félvezető területen, elsősorban a beágyazott FPGA, mikrokontroller és processzor rendszerekkel foglalkozva ipari és autóipari alkalmazásokban. Rolf villamos- és elektronikai mérnöki diplomát szerzett a Müncheni Alkalmazott Tudományok Egyetemén. Szakmai karrierjét – mint rendszerszintű megoldások szakértője – egy helyi, elektronikai termékeket forgalmazó cégnél kezdte meg, ahol megbízható tanácsadóként megoszthatta folyamatosan növekvő tudását és szakértelmét.

 

 

Digi-Key Electronics
Angol nyelvű kapcsolat
Arkadiusz Rataj
Sales Manager Central Eastern Europe & Turkey
Digi-Key Electronics Germany
Tel.: +48 696 307 330
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.

www.digikey.hu

 

még több Digi-Key Electronics