Avatud lähtekoodiga OpenTitani kiip asendab Inteli ja ARM-i varalised usaldusjuured

Avatud lähtekoodiga OpenTitani kiip asendab Inteli ja ARM-i varalised usaldusjuured

Mittetulundusühing madalRISC Google'i ja teiste sponsoritega 5. novembril 2019 esitatakse projekt OpenTitan, mida nimetatakse "esimeseks avatud lähtekoodiga projektiks avatud ja kvaliteetse kiibiarhitektuuri loomiseks, millel on usaldusjuur (RoT) riistvara tasemel."

RISC-V arhitektuuril põhinev OpenTitan on eriotstarbeline kiip, mis on mõeldud paigaldamiseks andmekeskuste serveritesse ja muudesse seadmetesse, kus on vaja tagada alglaadimise autentsus, kaitsta püsivara muudatuste eest ja välistada juurkomplektide võimalus: need on emaplaadid, võrgukaardid, ruuterid, IoT-seadmed, mobiilsed vidinad jne.

Loomulikult on sarnased moodulid kaasaegsetes protsessorites. Näiteks Inteli riistvara alglaadimiskaitse moodul on Inteli protsessorite usalduse juur. Enne OS-i laadimist kontrollib see usaldusahela kaudu UEFI BIOS-i autentsust. Kuid küsimus on selles, kui palju me saame usaldada varalisi usaldusjuuri, arvestades, et meil pole mingit garantiid, et disainis ei esine vigu ja seda pole võimalik kontrollida? Vaata artiklit “Schrödingeri usaldusväärne allalaadimine. Intel Boot Guard" kirjeldusega “kuidas mitme müüja tootmises aastaid kloonitud viga võimaldab potentsiaalsel ründajal selle tehnoloogia abil luua süsteemis peidetud juurkomplekti, mida ei saa eemaldada (isegi programmeerijaga).

Seadmete kompromissi oht tarneahelas on üllatavalt reaalne: ilmselt on iga amatöörelektroonika insener saab jootma vea serveri emaplaadilekasutades seadmeid, mis ei maksa rohkem kui 200 dollarit. Mõned eksperdid kahtlustavad, et "organisatsioonid, mille eelarve on sadu miljoneid dollareid, võivad seda teha aastaid." Kuigi tõendeid pole, on see teoreetiliselt võimalik.

"Kui te ei saa riistvara alglaadurit usaldada, on mäng läbi." говорит Gavin Ferris, lowRISCi juhatuse liige. - Pole vahet, mida operatsioonisüsteem teeb – kui operatsioonisüsteemi laadimise ajaks olete sattunud ohtu, on ülejäänu tehnoloogia küsimus. Sa oled juba lõpetanud."

Selle probleemi peaks lahendama esimene omataoline avatud riistvaraplatvorm OpenTitan (GitHubi hoidla, dokumentatsiooni, riistvara spetsifikatsioonid). Google ütleb, et patenteeritud lahendustest eemaldumine aitab muuta "loidat ja puudulikku RoT-tööstust".

Google hakkas ise Titanit arendama pärast Intel Management Engine (ME) kiipidele sisseehitatud Minixi operatsioonisüsteemi avastamist. See keeruline OS laiendas rünnakupinda ettearvamatul ja kontrollimatul viisil. Google proovis Inteli haldusmootorist (ME) lahti saada, kuid edutult.

Mis on usalduse juur?

Süsteemi alglaadimisprotsessi iga etapp kontrollib järgmise etapi autentsust, luues seega usaldusahel.

Root of Trust (RoT) on riistvarapõhine autentimine, mis tagab, et usaldusahela esimese käivitatava käsu allikat ei saa muuta. RoT on põhiline kaitse juurkomplektide eest. See on alglaadimisprotsessi põhietapp, mis on seotud süsteemi järgneva käivitamisega - BIOS-ist OS-i ja rakendusteni. See peab kontrollima iga järgneva allalaadimisetapi autentsust. Selleks kasutatakse igas etapis digitaalselt allkirjastatud võtmete komplekti. Üks populaarsemaid riistvaravõtmekaitse standardeid on TPM (trusted Platform Module).

Avatud lähtekoodiga OpenTitani kiip asendab Inteli ja ARM-i varalised usaldusjuured
Usalduse juure loomine. Ülal on viieastmeline alglaadimisprotsess, mis loob usaldusahela, alustades muutumatus mälus olevast alglaadurist. Iga samm kasutab avalikku võtit järgmise laaditava komponendi identiteedi kontrollimiseks. Illustratsioon Perry Lee raamatust "Asjade Interneti arhitektuur"

RoT-i saab käivitada mitmel viisil:

  • pildi ja juurvõtme laadimine püsivarast või muutumatust mälust;
  • juurvõtme salvestamine kaitsmebittide abil programmeeritavasse ühekordsesse mällu;
  • Koodi laadimine kaitstud mälualast kaitstud salvestusruumi.

Erinevad protsessorid rakendavad usalduse juurt erinevalt. Intel ja ARM
toetab järgmisi tehnoloogiaid:

  • ARM TrustZone. ARM müüb kiibitootjatele patenteeritud räniplokki, mis pakub usaldust ja muid turvamehhanisme. See eraldab mikroprotsessori ebaturvalisest tuumast; see käitab usaldusväärset operatsioonisüsteemi Trusted OS, millel on täpselt määratletud liides ebaturvaliste komponentidega suhtlemiseks. Kaitstud ressursid asuvad usaldusväärses tuumas ja peaksid olema võimalikult kerged. Erinevat tüüpi komponentide vahel vahetamine toimub riistvaralise konteksti vahetamise abil, välistades vajaduse turvalise monitooringutarkvara järele.
  • Intel Boot Guard on riistvaramehhanism esialgse alglaadimisploki autentsuse kontrollimiseks krüptograafiliste vahendite või mõõtmisprotsessi abil. Algploki kontrollimiseks peab tootja genereerima 2048-bitise võtme, mis koosneb kahest osast: avalikust ja privaatsest. Avalik võti trükitakse plaadile kaitsmeotsikute lõhkamise teel tootmise ajal. Need bitid on ühekordsed ja neid ei saa muuta. Võtme privaatne osa genereerib digitaalallkirja järgnevaks allalaadimisetapi autentimiseks.

OpenTitani platvorm paljastab sellise riist-/tarkvarasüsteemi põhiosad, nagu on näidatud alloleval diagrammil.

Avatud lähtekoodiga OpenTitani kiip asendab Inteli ja ARM-i varalised usaldusjuured

OpenTitani platvorm

OpenTitani platvormi arendust juhib mittetulundusühing lowRISC. Insenerimeeskond asub Cambridge'is (Ühendkuningriik) ja peasponsor on Google. Asutajapartnerite hulka kuuluvad ETH Zurich, G+D Mobile Security, Nuvoton Technology ja Western Digital.

Google avaldas teadaande projekt Google'i avatud lähtekoodiga ettevõtte ajaveebis. Ettevõte ütles, et OpenTitan on pühendunud "kvaliteetsete juhiste pakkumisele RoT-i disaini ja integreerimise kohta kasutamiseks andmekeskuse serverites, salvestusseadmetes, servaseadmetes ja mujal."

Usalduse juur on usaldusahela esimene lüli usaldusväärse andmetöötlusmooduli madalaimal tasemel, mida süsteem alati täielikult usaldab.

RoT on kriitilise tähtsusega rakenduste, sealhulgas avaliku võtme infrastruktuuride (PKI-de) jaoks. See on turvasüsteemi vundament, millel põhineb keeruline süsteem, näiteks asjade Interneti-rakendus või andmekeskus. Seega on selge, miks Google seda projekti toetab. Sellel on nüüd 19 andmekeskust viiel kontinendil. Andmekeskused, salvestusruumid ja missioonikriitilised rakendused pakuvad tohutut rünnakupinda ning selle infrastruktuuri kaitsmiseks arendas Google algselt Titani kiibile oma usaldusjuure.

Patenteeritud Titani kiip esmakordselt tutvustati Google'i andmekeskuste jaoks märtsil 2017 konverentsil Google Cloud Next. "Meie arvutid teostavad iga tarkvarapaketi krüptograafilist kontrolli ja seejärel otsustavad, kas anda sellele juurdepääs võrguressurssidele. Titan integreerub sellesse protsessi ja pakub täiendavaid kaitsekihte," ütlesid Google'i esindajad sellel esitlusel.

Avatud lähtekoodiga OpenTitani kiip asendab Inteli ja ARM-i varalised usaldusjuured
Titani kiip Google'i serveris

Titani arhitektuur kuulus varem Google'ile, kuid nüüd muudetakse see avatud lähtekoodiga projektina avalikuks.

Projekti esimene etapp on loogilise RoT-disaini loomine kiibi tasemel, sealhulgas avatud lähtekoodiga mikroprotsessor madalRISC metskits, krüptoprotsessorid, riistvara juhuslike arvude generaator, võtme- ja mäluhierarhiad püsi- ja püsimäluseadme jaoks, turvamehhanismid, I/O välisseadmed ja turvalised alglaadimisprotsessid.

Google ütleb, et OpenTitan põhineb kolmel põhiprintsiibil:

  • kõigil on võimalus platvormiga tutvuda ja panustada;
  • suurem paindlikkus, avades loogiliselt turvalise disaini, mida ei blokeeri müüja piirangud;
  • kvaliteeti ei taga mitte ainult disain ise, vaid ka viide püsivara ja dokumentatsioon.

"Praegused usalduse juurtega kiibid on väga patenteeritud. Nad väidavad, et nad on turvalised, kuid tegelikult peate seda iseenesestmõistetavaks ega saa seda ise kontrollida, ütleb Dominic Rizzo, Google Titani projekti juhtiv turvaspetsialist. „Nüüd on esimest korda võimalik pakkuda turvalisust ilma pimeda usuta usaldusaluse disaini arendajatesse. Nii et vundament pole mitte ainult tugev, vaid seda saab kontrollida.

Rizzo lisas, et OpenTitani võib pidada "asjade praeguse seisuga võrreldes radikaalselt läbipaistvaks disainiks".

Arendajate sõnul ei tohiks OpenTitani mingil juhul pidada valmistooteks, sest arendus pole veel lõppenud. Nad avasid sihilikult spetsifikatsioonid ja kujundasid väljatöötamise keskel, et kõik saaksid selle üle vaadata, anda sisendit ja täiustada süsteemi enne tootmise alustamist.

OpenTitani kiipide tootmise alustamiseks peate taotlema ja hankima sertifikaadi. Ilmselt autoritasusid ei nõuta.

Allikas: www.habr.com

Lisa kommentaar