Trust platforma zagotavlja varnost od zasnove do uvajanja

microchip 300x74 - Trust platforma zagotavlja varnost od zasnove do uvajanjaVarnost je zdaj ključna zahteva za ugnezdene sisteme. Želja po povezovanju naprav z internetom, da bi jih lažje nadzorovali in izvlekli podatke iz njihovih senzorjev v živo, prinaša veliko tveganje za vdore. Dejavnost vdora ne ogroža samo posameznih naprav, temveč celotna omrežja.

Microchip Technology Inc
Avtor: Nicolas Demoulin, EMEA Marketing Manager – Secure Products Group
2021-298-19

Smer je jasna: prodajalci ne morejo na trg brez IoT izdelka, ki je zasnovan tako, da je zasnovan varno. Vprašanje proizvajalcev naprav, ki želijo izkoristiti moč interneta stvari za svoje sisteme, je zapletenost izvajanja učinkovitih in ustreznih varnostnih mehanizmov. V teh sistemih je enostavno videti temeljno potrebo po preverjanju pristnosti in šifriranju. Toda izvajanje je bilo veliko težje doseči.

Obstaja več komponent, tako programske kot strojne opreme, ki so potrebne za ustvarjanje varnih temeljev za ugnezden sistem. Slabost katerega koli izmed njih lahko zlahka povzroči, da je strojna oprema ogrožena z naloženo zlonamerno programsko opremo, ki se uporablja za napad na omrežje operaterja ali za uhajanje občutljivih podatkov kibernetskim kriminalcem. Hkrati se številne razvojne skupine prvič soočajo z razvojnimi težavami, ki jih predstavljajo varnostni pomisleki.

Ena glavnih zahtev za učinkovito varnost je, da mora imeti vsaka postavljena naprava svojo edinstveno identiteto. Običajna napaka, ki jo izkoriščajo hekerji je, da naprave zagotavljajo skupno geslo ali prijavo za uporabo servisov in vzdrževanja. Podrobnosti o tej prijavi je pogosto enostavno uganiti in tudi če ne, jih navadno zlahka dobi heker. S to prijavo lahko pridobite dostop ne le do ene naprave, temveč do celotne flote. Kiberkriminalci so lahko z uporabo preprostih avtomatiziranih skript ustvarili botnete – vojske enakih računalnikov, ki se uporabljajo v DNS napadih. Skripte so prepoznali in se prijavili v vsako napravo določene vrste, ki je imela internetno povezavo.
Z edinstveno identiteto lahko vsakemu sistemu določite lastne varnostne poverilnice in močno zmanjšate možnost, da hekerjem omogočite enostaven način izdelave botnetov. Dovoljen jim mora biti dostop le, če ima pooblaščeni uporabnik ustrezne poverilnice za določeno napravo. Vendar pa ima ta povečana raven zaščite posledice za načrtovanje, razvoj in procese upravljanja storitev.

Izvajanje učinkovite varnosti na način, ki olajša in ne ovira razvoja, vključuje skrbne odločitve. Prva izbira je osnova strojne opreme, uporabljena za zaščito integritete ciljne naprave. Ta osnova zagotavlja, da je nemogoče ne samo dostopati do jedrne programske opreme naprave brez dovoljenja, temveč tudi zagotoviti, da njenih funkcij ni mogoče spodrezati in napravo uporabiti za napad na omrežje. Če je heker na primer pridobil poverilnice za dostop do ene naprave, ne sme biti mogoče druge naprave pretvoriti, da bi sprejele te iste poverilnice, da bi na primer heker tako oblikoval botnet. Posledično sta identiteta in integriteta tesno povezani.

Infrastruktura z javnimi ključi (PKI: angl. Public Key Infrastructure) zagotavlja način za vzpostavitev in dokazovanje edinstvene zaupanja vredne identitete ne samo znotraj same naprave, temveč tudi v omrežju. PKI se opira na koncept asimetrične kriptografije, tehnike, ki matematično poveže dve številki. Ena je javni ključ, ki se običajno uporablja za preverjanje sporočil. Kot že ime pove, lahko ta ključ razširjamo brez ogrožanja varnosti. Omogoča preprost način pošiljanja varnih sporočil v napravo, če se ve, kateri javni ključ mora uporabiti. Naprava sama potrebuje zasebni ključ, ki omogoča podpisovanje sporočil poslanih vanjo, ki jih bo preveril ustrezni javni ključ.

Iz osnovnih PKI operacij je mogoče izdelati bolj strukturirane modele preverjanja pristnosti, kot so digitalna potrdila, ki dokazujejo identiteto naprave. Če želite ustvariti digitalno potrdilo, naprava podpiše sporočilo ali ustvari podpis z zasebnim ključem. Ustrezni javni ključ uporablja prejemnik za določitev veljavnosti podpisa.

Zasebni ključ očitno potrebuje močno zaščito. Ni dovolj samo programirati ključa va trajni pomnilnik na napravi, preden je nameščena, saj je lahko dostopen. Zasebnega ključa nikoli ne smete razkriti. Če pride do razkritja, lahko hekerji izdelajo lastne naprave za kloniranje. Nato se lahko lažno predstavljajo in ponarejajo verodostojno napravo in tako ogrožajo varnost omrežnih aplikacij, ki so odvisne od podatkov, ki jih pošlje naprava.

Težava običajne zasnove, ki temelji na mikrokontrolerju je, da vsaka kriptografska programska oprema, ki se izvaja v jedru procesorja, potrebuje dostop do zasebnega ključa, da lahko izvede potrebne izračune, če je ključ v mikrokontrolerju. Osnovna zahteva strojne opreme je torej varen element, ki se uporablja za zlaganje teh kriptografskih operacij v samostojni del zaščitene strojne opreme skupaj z varnim pomnilnikom za zasebne ključe. Ker so ključne in kriptografske funkcije skupaj shranjene znotraj iste fizične varne meje, ni treba pošiljati občutljivih podatkov po notranjem vodilu sistema.

Ko mora sistem varno komunicirati ali dokazati svojo identiteto, zahteva od varnega elementa, da se odzove na naključni izziv. Odgovor na ta izziv je koda, ki je aritmetično pridobljena iz naključnega dela izziva in ustreznega zasebnega ključa, shranjenega v zaščitenem elementu. Z drugimi besedami, naključni izziv podpiše zasebni ključ. Na ta način lahko zaščitni element dokaže, da ima ustrezno skrivnost, vendar mu ni treba razkriti občutljivega zasebnega ključa.

Varni element lahko zaščiti tudi napravo pred ponarejeno kodo, ki bi jo napadalci poskusili zagnati, in jo uporabili za ogrožanje sistema. Zaščitni mehanizem, ki je potreben za preprečitev tega, je preverjanje kode, včasih znano tudi kot varen zagon ali preverjanje kode izvajanja. V tem primeru je izziv, poslan varnostnemu elementu podpis, pridobljen iz podpisane zagonske datoteke, shranjene v napravi. Vse posodobitve kode mora OEM podpisati z zasebnim ključem. Z zaščitenimi postopki preverjanja zagona in izvajalnega okolja lahko sistem podpira brezžične posodobitve, ki jih zagotavlja proizvajalec, brez nevarnosti da posodobitve, ki jih zagotovi tretja oseba, uporabijo za napad ali podoben pristop.

Ta ključ, ki se uporablja za preverjanje podpisa kode, je občutljiva poverilnica, ki bo živela v zaščitenem in nespremenljivem pomnilniškem območju. Če je ključ mogoče spremeniti, sistem preprosto ne bi deloval. Če je mogoče spremeniti par ključev, lahko podobno spremenite kodo.

Primer učinkovite zaščite najdete v Microchip Technology ATECC608A. To je varen element, ki ga lahko uporabljate v katerem koli sistemu, ki temelji na mikrokontrolerju, zahvaljujoč uporabi standardne I²C ali enožične komunikacijske povezave. Naprava združuje NV pomnilnik z več kripto-pospeševalniki, zasnovanimi za podporo algoritmom, ki temeljijo na algoritmih eliptične krivulje, na primer v varnem siliciju. Naprava nikoli ne razkrije zasebnih ključev prek komunikacijske povezave in vključuje številne funkcije strojne opreme za preprečevanje nedovoljenih posegov, zaradi katerih odkrivanje njene vsebine praktično ni izvedljivo.

Čeprav varni element, povezan z mikrokontrolerjem, predstavlja učinkovit temelj za izdelavo povezanih ugnezdenih naprav, ki lahko zagotavljajo visoko varnost, je ta kombinacija le del celotne rešitve. Obstaja veliko primerov uporabe, ki vključujejo izdelavo zapletenih protokolov v ugnezdeni programski opremi iz osnovnih funkcij, ki jih zagotavlja varen element. Na primer, poleg varnega zagona mora IoT naprava imeti možnost komuniciranja z oddaljenimi gostitelji z uporabo šifriranih protokolov, kot je TLS, in na zahtevo ustvariti potrdila, ki kažejo, da naprava ni ogrožena, ko se želi povezati z novo storitvijo. Ko želi proizvajalec ali operater storitve poslati posodobitev kode, je treba pred posodobitvijo Flash pomnilnika in ponovnim zagonom sistema preveriti podpis te programske opreme.

Nadaljnja zahteva je lahko sposobnost zaznavanja sistemske opreme ali potrošnih kartuš in ugotavljanja, ali so verodostojne. To funkcijo lahko izvajate z uporabo protokolov, ki so podobni tistim, ki se uporabljajo za izdelavo primera preverjanja kode, vendar z nekaterimi ključnimi razlikami. Na primer, lahko ima vsaka zunanja naprava svoj zaščitni element, s katerim se preveri, ali je gostiteljski sistem, v katerega je priključen, sam verodostojen.

Čeprav so načela vsakega od protokolov, ki izvajajo te funkcije, dokaj enostavna, je izvajanje lahko težavno, ker je zmožnost odpravljanja težav omejena s potrebo, da sistem upošteva varne protokole.

Pogosta predpostavka med razvojem je, da bo pritisk na tipko za reset ali brisanje vsebine pomnilnika inženirjem omogočil dostop do neodzivne naprave. Načini za odpravljanje napak razvijalcem praviloma dajejo privilegiran dostop do sistema. Toda, ko se uvedejo višje stopnje varnosti, potrebne za sisteme, ki bodo povezani v internet, nekatere od teh predpostavk ne veljajo več. Če programske opreme ne implementirate na pravi način, lahko prototip naprave postane nedosegljiv. Najbolj težavni deli razvoja varnega sistema so v razhroščevanju jedrnih protokolov. Na primer v kodo, ki se uporablja za obdelavo gesla ali varnostnega potrdila, je enostavno vnesti napake, zaradi katerih se naprava ne more odzvati na veljavne zahteve. Če bi bilo mogoče napravo ponastaviti, da bi pridobila dostop, bi objekt hekerjem zagotovil lahek dostop v sistem preko stranskih vrat. Posledično razvoj, usmerjen v varnost in v razvojni proces vnaša ovire. Težko jih je rešiti, če ekipa nima izkušenj s potrebnimi tehnikami.

Vendar pa je ena od prednosti sistemov, zgrajenih na PKI infrastrukturi ta, da lahko aplikacije gradimo nad jedrnimi protokoli in primeri uporabe, kot sta preverjanje podpisanih izvršljivih datotek in ustvarjanje potrdil, ki jih je mogoče ponovno uporabiti v številnih projektih. Takšen vpogled je privedel do ustanovitve Microchip-ove Trust Platform-e. Ta platforma ponuja nabor konfiguracij, izvorne kode, strojne in programske opreme, zasnovane tako, da strankam olajšajo izvajanje najrazličnejših primerov uporabe v delovnem toku, ki uporabnika vodi od zasnove do izvedbe na podlagi strojne opreme, ki vključuje varen element, kot je ATECC608A.

Trust Platform se deli na tri glavne ponudbe. Najenostavnejši je Trust & GO, ki ponuja določen nabor funkcij, na primer omogočanje dostopa do storitev v oblaku, ki jih gostijo AWS, Google Cloud, Microsoft Azure ali zasebni oblak. Druga konfiguracija, ki jo podpira Trust & GO, je popolna varna rešitev za preverjanje pristnosti naprav, ki se morajo povezati z brezžičnim LoRaWAN omrežjem.

TrustFLEX nudi dodatno raven prilagajanja s podporo za širok spekter operacij od varnega zagona do generiranja potrdil. Tretja možnost je TrustCUSTOM, ki strankam omogoča nastavitev ustvarjanja in integracije varnih elementov v njihov želeni varnostni model.

Pomemben element Trust platforme, ki olajša dostop do varnosti v primerjavi z drugimi ponudbami je način, kako lahko storitev zagotavljanja varnega ključa uporabimo v aplikacijah z majhnim obsegom. Pri konkurenčnih dobavnih verigah z varnimi elementi je lahko najmanjša količina naročila 100.000, ker so režijski stroški, povezani z nastavitvijo začetnih potrdil in ključev, ki jih je treba programirati v strojno opremo dobaviteljeve varne proizvodne linije. S storitvijo Trust & GO lahko kupci kupijo varne elemente od 10 enot na naročilo in imajo vso podporo Trust Platform infrastrukture, vključno z dobavo. Za TrustFLEX je najmanjša količina naročila najmanj 2000 enot, vključno z dobavo, vendar uporabniku še vedno zagotavlja večjo raven nadzora nad certifikati, ključi in aplikacijami, ki bi jih lahko pričakovali od prilagojenih rešitev varne dobavne verige.

V okviru Microchip-ove Trust Platform imajo kupci dostop do zelo prilagodljivih varnostnih mehanizmov z veliko manjšim tveganjem za razvoj in uvajanje kot obstoječe rešitve. Kombinacija orodij, izvorne kode in oskrbovalne infrastrukture razvijalcem ugnezdenih sistemov omogočajo dostop do celovitega varno pripravljenega sistema, ki deluje od zasnove do uvedbe in zmanjšuje razvojni proces iz mesecev v dneve.

Opomba: Ime in logotip Microchip sta registrirani blagovni znamki podjetja Microchip Technology Incorporated v ZDA in drugih državah. Vse druge blagovne znamke, ki so morda tu omenjene, so last njihovih podjetij.

https://www.microchip.com