Biztonság a hálózat peremén
Biztonságos IoT-rendszer tervezése PolarFire® SoC és FPGA eszközökkel
A közelmúlt híre, amely szerint hárommillió „okos” fogkefe intézett túlterheléses támadást egy cég IT-erőforrásai ellen, utólag csupán fiktív (de teljesen lehetséges) forgatókönyvnek bizonyult. Az IoT-eszközök biztonsági szempontból heterogén sokaságában mindig akad „rés a pajzson”, amivel még az átmeneti túlterhelődésnél is nagyobb károk okozhatók. A visszaélések azonban helyes tervezéssel megelőzhetők.
Egyes piaci előrejelzések szerint az IoT-eszközök száma 2025-re a 25 milliárdot, az eszközök adatforgalma pedig a 80 zettabájtot1 is meghaladhatja.
Hogyan befolyásolja ez az IoT-telepítést? Ha megnézzük a hagyományos IoT-rendszerek felépítését, tipikusan „buta” érzékelővégpontokat („peremeszközöket”), átjárókat (gateway-eket), adatkoncentrátorokat és felhőszervereket látunk. Az információkat a peremeszközök érzékelik, és közvetlenül vagy egy átjárón keresztül továbbítják azokat egy kiszolgálónak. A „felhő”, valójában az azt megtestesítő szerverek elemzik ezeket az adatokat, következtetéseket vonnak le belőlük, és utasításokat küldenek vissza a peremvégpontoknak.
A hagyományos IoT-környezetben a biztonság túlnyomó része – ha nem az egésze – a szerverek köré épül, ahol az összes intelligencia található. A peremvégpontok és átjárók jellemzően nem biztonságosak. Ha elérjük a 25 milliárd telepített IoT-eszközt és az általuk forgalmazott, zettabájt nagyságrendű adatot, a hagyományos IoT-topológia túlterhelődik, lelassul és elveszti hatékonyságát. Ekkor elengedhetetlenné válik az intelligencia szétterítése a hálózatban, hogy csökkentsük a hálózati forgalmat és a késleltetési időt.
Vegyünk példaként egy olyan peremeszközt, amely egy autóban a forgalmi sáv felismerését végzi. Nincs idő arra, hogy képeket rögzítsünk a sávról, továbbítsuk azokat egy szerverbe. Az autóba kell az intelligenciát beépíteni, hogy helyben elemezze a forgalmi sávra jellemző adatokat és döntéseket hozzon.
Ha viszont – bármely alkalmazásba – intelligens hálózati végpontokat telepítünk, azok biztonsága kiemelten fontossá válik. Az IoT-rendszereknek ettől kezdve „elejétől a végéig” biztonságosnak kell lennie.
A biztonság csapdái
Bármely rendszer csak annyira biztonságos, amennyire a leggyengébb láncszeme. Tehát az IoT-eszközök biztonságáról nem csupán a felhő „szélén” kell gondoskodni, hanem a termékek teljes ellátási lánca mentén, beleértve a gyártás folyamatait is.
Az elektronikus rendszer teljes ellátási láncának része a csipgyártó, majd egy OEM2, aki az előbbi termékeit felhasználva végterméket állít elő, és végül a végfelhasználó, aki az OEM termékeit használja. Mindegyik szakasznak megvannak a saját biztonsági kockázatai. A csipgyártás során előfordulhat, hogy az IC-tervezéshez felhasznált IP3-be vagy a maszkba beágyazva kerül be az integrált eszközbe, mint „trójai falóba” telepített rosszindulatú vagy támadható funkció, de a szerződéses gyártók is felhasználhatnak jogosulatlanul szerzett félvezető szeleteket (wafereket), rossz kulcsokat injektálhatnak be, meghibásodott vagy lopott eszközöket hozhatnak forgalomba. Lehetőség van arra is, hogy egy „trójai faló” egy szoftverformában megtestesülő IP-ben az OEM-stádiumban, esetleg egy FPGA-ban, vagy akár „fertőzött” vagy hibás elektronikus tervezőkörnyezeten át kompromittálja a végterméket.
Az OEM gyártómű biztonsági kockázatai közé tartozik, hogy rossz kulcsokat vagy konfigurációkat töltenek a rendszerbe, vagy a szerződéses gyártó visszaélés szándékával többet készíthet a megrendelt mennyiségnél, vagy visszafejtheti a terméket, illetve az is előfordulhat, hogy harmadik féltől származó klónok kerülnek a hálózatba, gyengítve az általános biztonságot.
Végül, akkor is fontos megbizonyosodni az adatbiztonságról, amikor a termékek már a helyszínen vannak. Ezek a terepi rendszerek más IoT-eszközökkel kommunikálhatnak, ezért létfontosságú, hogy az adatok továbbítása biztonságos és titkosított legyen.
Összességében tehát a teljes rendszer csak akkor nevezhető biztonságosnak, ha az összes rendszerelem teljes ellátási lánca védett. Elengedhetetlen tehát a végponttól végpontig minden rendszerelemre kiterjedő biztonság.
Háromrétegű biztonság
Mi a Microchip-nél úgy látjuk, hogy a biztonságnak három rétege van (1. ábra). Minden a biztonságos hardverrel kezdődik, és cégünk garantálja az eszközeink teljes biztonságát mindaddig, míg azok eljutnak OEM-partnereinkhez. Innentől pedig hozzásegítjük vásárlóinkat és az OEM-gyártókat, hogy tervezéseik biztonságosak legyenek, és végül, lehetővé tesszük, hogy a végtermékek biztonságosan kommunikálhassanak az IoT összes többi elemével.
Hardverbiztonság
A biztonságos hardver igényeinek kielégítése érdekében a Microchip rendszercsipjei (SoC) és FPGA-i kriptográfiailag védett ellátási lánccal rendelkeznek. A szeleteket (wafer) válogató létesítményből egy FIPS 140-2 3. szintű tanúsítvánnyal rendelkező hardverbiztonsági modul (HSM) található, amely szeletszintű hitelesítést végez. Ha elkészült, a HSM egyedi titkos kulcsokat tölt be a szeleten található minden egyes áramköri egység saját fizikailag nem klónozható funkciója (PUF) segítségével. Ez még a tokozásra és tesztre továbbítás előtt megtörténik (2. ábra).
A tokozás és tesztelés során minden egyes tokozott példány az egyedi gyári számát és hibajavító (ECC) nyilvános kulcsát a hardver biztonsági modulnak (Hardware Security Module – HSM) továbbítja, amely minden tokozott példányt a beleprogramozott gyári kulccsal hitelesít. Ezután a HSM minden egyes csipbe digitálisan aláírt tanúsítványt ír be, mielőtt még azt leszállítanák a felhasználónak. Ezzel az OEM-ek megbizonyosodhatnak arról, hogy az eszköz a teljes gyártási folyamat során megőrizte integritását.
A fentieken kívül a Microchip ugyanezekkel a képességekkel az OEM-eket és végfelhasználókat is felruházza egy gyártásközi biztonsági programozási megoldás (Secure Production Programming Solution – SPPS) révén. Ez a szoftver lehetővé teszi a Microchip vásárlóinak is, hogy a biztonság szempontjait a saját teljes ellátási láncukban érvényesíthessék (3. ábra).
A biztonságos gyártásközi programozási megoldás (SPPS) segítségével az OEM-ek képesekké válnak egy biztonságos munkafájl létrehozására. Ez kizárja, hogy titkosítatlan bináris fájlok bolyongjanak a szervezeten belül vagy a szerződéses gyártóknál, és garantálja, hogy csak pontosan az OEM által előírt mennyiségben gyártsák le a termékeket a gyártó telephelyén. Így az OEM-ek képesek ellenőrzésük alatt tartani a kívánt mennyiséget meghaladó gyártást, és garantálni, hogy az FPGA-eszközök már azt megelőzően hitelesítve legyenek, mielőtt azokat beprogramoznák – kizárva ezzel a visszafejtés lehetőségét.
Biztonságos tervezés
A Microchip rendszercsip- (SoC) és FPGA-termékei olyan megoldásokat kínálnak, amelyek segítenek a felhasználóknak megvédeni terveiket. A PolarFire® FPGA 4. ábrán látható tömbvázlatán a sárga blokk a rendszervezérlő a saját titkosító koprocesszorával, amely ellenállóvá teszi az egységet a fizikai feltöréssel végzett visszafejtési kísérletek (Destructive Physical Analysis – DPA) ellen. Az OEM ezáltal titkosított bitfolyam formájában küldheti át adatait a JTAG-interfészen keresztül, amit a rendszervezérlő dekódol, és ezután írja be az FPGA munkafelületébe. A rendszervezérlőnek van egy kívülről nem hozzáférhető és biztonságos, kikapcsoláskor nem törlődő tárolója a kulcsok tárolására, és ezzel szavatolja, hogy a teljes művelet elérhetetlen legyen a DPA-kísérletek számára.
A rendszervezérlő fizikailag nem klónozható (PUF) funkciója tehát védi a kulcsokat, biztonságosan őrzi a tárolóhelyeket és véd a klónozás ellen.
Az IoT-eszközök védelmének egy másik szintjét jelenti az eszköz fizikai támadás elleni védettségének igénye. Az elektronikus eszközök azon az úton is támadhatók, hogy olyan feltételek közé helyezik azokat, amelyekre nincsenek tervezve. Ez akár a feszültségszintek, a hőmérséklet, az órajel-előállítás stb. üzemi értékhatárokon kívüli igénybevételével történhet. A Microchip FPGA- és SoC-eszközei beépített szabotázsvédelmi mechanizmusokkal vannak ellátva, amelyek segítik az ilyen események felismerését, és riadójelzéseket váltanak ki az ellenintézkedések megtétele érdekében. A rendszer érzékeli a szabotázskísérletet, és jelzőbitekkel értesíti a rendszervezérlőt, a mikroprocesszoros alrendszert és az FPGA-ba beírt konfigurációt, hogy ezeket az ellenintézkedéseket egymással összehangolva hajtsák végre. A tervező feladata eldönteni, hogy ilyen esetekben felhasználói adatokat és kulcsokat, vagy felhasználói adatokat és a gyártó kulcsait törli-e, esetleg teljesen működésképtelenné teszi-e (a mobiltelefonszleng szavával élve „téglásítja”) az egész eszközt.
Adatbiztonság
Amennyiben intelligens peremeszközöket telepítünk, előfordulhat, hogy azok a rendszer biztonságára nézve érzékeny információkat cserélnek a hosztjukkal. Az IoT-rendszerekben tehát az adatbiztonságról is gondoskodni kell az érzékeny adatok védelme érdekében (5. ábra).
A PolarFire SoC- és FPGA-családok az adatbiztonságot támogató részegységeket is tartalmaznak. Ezeknek az eszközöknek beépített részegysége egy Athena TeraFire EXP-5200B destruktív fizikai elemzés ellen védett kriptográfiai koprocesszor. Amennyiben a felhasználó maga is titkosítóprocesszort kíván beépíteni az alkalmazásába, az nem igényel semmilyen FPGA-felületi erőforrást, az összes kriptográfiai funkció átkerülhet az EXP-5200B koprocesszorra, és ezzel energia és költség takarítható meg. Az Athena TeraFire titkosító koprocesszornak saját valódi véletlenszám-generátora van, teljesen védett a fizikai roncsolással végzett visszafejtési kísérletek ellen, és az ehhez szükséges CRI-licencet a Microchip átengedi OEM-ügyfelei számára.
Beágyazott biztonság
A rendszercsipekbe épített FPGA-részegységek esetében a biztonságnak egy másik szintjét kell megvalósítani a teljes beágyazott rendszer védelme érdekében.
A Microchip a PolarFire SoC FPGA-khoz két beágyazott biztonsági opciót kínál. Ezek egyike a felhasználó által tervezett biztonságos rendszerindítás. Ebben a megoldásban a végtermék tervezői megtervezhetik saját egyéni rendszerbetöltőjüket, érzékeny adataik és kulcsaik tárolására pedig használhatják a PolarFire SoC FPGA biztonságos, nem felejtő memóriáját. Bekapcsoláskor elindul a rendszervezérlő, és a felhasználói rendszertöltőt átmásolja a biztonságos, nem felejtő memóriából egy belső vagy külső memóriahelyre, és onnan végrehajtja azokat. Lehetőség van arra is, hogy a felhasználó a biztonságos, kikapcsoláskor nem törlődő memóriát (Secure Non-Volatile Memory – SNVM) ROM-ként jelölje meg, és ezzel annak tartalmát megváltoztathatatlanná tegye.
A másik lehetőség a Microchip által biztosított gyári, biztonságos rendszerbetöltő alkalmazása. Ennél a megoldásnál a rendszervezérlő valamely titkos kulcsú titkosítási mechanizmussal (Private Key Encryption – PKE), például elliptikus görbén alapuló digitális aláíróalgoritmussal (ECDSA) hitelesíti a gyári rendszerbetöltőt. A teljes gyári rendszerbetöltő annak biztonságosan tárolt tanúsítványával együtt a beágyazott, nem törlődő memóriában tárolódik.
Az adatbiztonsághoz szükséges funkciók mind a Microchip PolarFire FPGA-iban, mind pedig a PolarFire SoC FPGA-iban megtalálhatók. Az utóbbiak a beágyazott biztonsághoz szükséges funkciókkal is rendelkeznek.
További információk az alábbi webhelyen találhatók: https://www.microchip.com/en-us/products/fpgas-and-plds/system-on-chip-fpgas/polarfire-soc-fpgas
Szerző: Krishnakumar R, vezető marketingigazgató – FPGA-eszközök, Microchip Technology Inc.
Jegyzetek
1 Zetta: 1021-szeres nagyságrendképző, „egy trilliárd” = egymilliárd terabájt – nem könnyű elképzelni.
2 Original Equipment Manufacturer: eredeti berendezésgyártó, amely a piacon elérhető alkatrészekből, részegységekből, modulokból stb. közvetlen végfelhasználói alkalmazásra szánt végterméket állít elő.
3 Intellectual Property: „szellemi termék”, know-how, olyan részletesen kidolgozott funkcionális egység, amelyet a csipgyártó változatlan formában épít be az általa tervezett rendszecsip tervébe.