
Neprofitna organizacija v sodelovanju z Googlom in drugimi sponzorji 5. novembra 2019 projekat , ki ga imenujejo "prvi odprtokodni projekt za ustvarjanje odprte in kakovostne arhitekture čipov s korenino zaupanja (RoT) na strojni ravni."
OpenTitan na arhitekturi RISC-V je specializiran čip za namestitev na strežnikih v podatkovnih centrih in v kateri koli drugi opremi, kjer je treba zagotoviti avtentikacijo nalaganja, zaščititi programsko opremo pred spremembami in odpraviti možnost rootkitov: to so matične plošče, omrežne kartice, usmerjevalniki, IoT naprave, mobilne naprave in druge.
Seveda so tovrstni moduli prisotni v sodobnih procesorjih. Na primer, strojni modul Intel Boot Guard je korenina zaupanja v procesorjih Intel. Verificira avtentičnost UEFI BIOS pred nalaganjem OS prek verige zaupanja. Vendar je vprašanje, koliko lahko zaupamo lastniškim koreninam zaupanja, glede na to, da nimamo garancij glede odsotnosti napak v oblikovanju, preveriti pa ga ne moremo? Oglejte si članek s opisom, „kako dolgoletna napaka pri proizvodnji več dobaviteljev omogoča potencialnemu napadalcu uporabo te tehnologije za ustvarjanje neizbrisnega (tudi s programatorjem) skritega rootkita v sistemu.“
Grožnja kompromitacije opreme v dobavni verigi je presenetljivo resnična: očitno lahko kateri koli elektronikk, ki ima ljubiteljske sposobnosti , pri čemer uporablja opremo, ki stane manj kot 200 dolarjev. Nekateri strokovnjaki sumijo, da "organizacije s proračunom v stotinah milijonov dolarjev to počnejo že vrsto let." Čeprav ni dokazov, je teoretično to mogoče.
„Če ne morete zaupati strojni nalagalniku, je igra končana, — Gavin Ferris, član upravnega odbora lowRISC. — Ni pomembno, kaj počne operacijski sistem — če ste že ob nalaganju operacijskega sistema kompromitirani, je ostalo le tehnika. Že ste končani.“
To težavo bi morala rešiti prva takšna odprta strojna platforma OpenTitan (, , ). Odhod od proprietarnih rešenj će omogućiti promenu „nepokretne i nesavršene RoT industrije“, smatra Google.
Sama kompanija Google započela je razvoj Titan, otkrivši operativni sistem Minix, ugrađen u Intel Management Engine (ME) čipove. Ovaj složeni operativni sistem je na nepredvidiv i neovladiv način proširivao površinu napada. Google , ali bez uspeha.
Šta je koren poverenja?
Svaka faza procesa bootovanja sistema proverava autentičnost sledeće faze, formirajući tako lanac poverenja.
Koren poverenja (Root of Trust, RoT) je hardverska provera autentičnosti koja garantuje da izvor prve izvršne instrukcije u lancu poverenja nije podložan izmeni. RoT je osnovna zaštita od rootkit-a. To je ključna faza procesa bootovanja koja učestvuje u daljem pokretanju sistema — od BIOS-a do operativnog sistema i aplikacija. Treba da proveri autentičnost svake sledeće faze bootovanja. Za to se u svakoj fazi koristi skup ključeva sa digitalnim potpisom. Jedan od najpopularnijih standarda hardverske zaštite ključeva je TPM (Trusted Platform Module, povereni platform modula).

Usmeravanje korena poverenja. Izložena je petfazna boot logika koja formira lanac poverenja i počinje od učitavača koji se nalazi u nepromenljivoj memoriji. U svakoj fazi koristi se javni ključ kojim se potvrđuje autentičnost sledeće učitane komponente. Ilustracija iz knjige Perija Li
RoT se može pokretati na različite načine:
- učitavanjem slike i korenskog ključa iz firmware-a ili nepromenljive memorije;
- čuvanjem korenskog ključa u jednokratno programiranoj memoriji pomoću fuse-bitova;
- učitavanjem koda iz zaštićene memorijske oblasti u zaštićenu skladište.
U različitim procesorima, koren poverenja je implementiran na različite načine. Intel i ARM
podržavaju sledeće tehnologije:
- ARM TrustZone. ARM prodaja proizvođačima čipova vlasnički silikonski blok koji pruža korijen povjerenja i druge mehanizme sigurnosti. Na taj način mikroprocesor je odvojen od nesigurne jezgre; izvršava Trusted OS — zaštićeni operativni sustav s jasno definiranim sučeljem za interakciju s nesigurnim komponentama. Zaštićeni resursi nalaze se u povjerenoj jezgri i trebaju biti što je moguće lakši. Prijelaz između komponenti različitih tipova vrši se pomoću hardverskog prebacivanja konteksta, čime se eliminira potreba za sigurnim softverom za nadgledanje.
- Intel Boot Guard — je hardverski mehanizam za provjeru autentičnosti početnog bloka učitavanja kriptografskim sredstvima ili putem procesa mjerenja. Kako bi provjerio početni blok, proizvođač mora generirati 2048-bitni ključ koji se sastoji od dva dijela: javnog i privatnog. Javni ključ se ispisuje na ploči putem "detonacije" fus-bita tijekom proizvodnje. Ovi bitovi su jednokratni i ne podliježu promjeni. Privatni dio ključa generira digitalni potpis za naknadnu potvrdu autentičnosti faze učitavanja.
Platforma OpenTitan otvara ključne dijelove takvog hardversko-softverskog sustava, kako je prikazano na dijagramu u nastavku.

Platforma OpenTitan
Razvoj platforme OpenTitan vodi neprofitna organizacija lowRISC. Tim inženjera ima sjedište u Cambridgeu (Velika Britanija), a glavni sponzor je Google. Osnivački partneri uključuju Švicarski savezni institut tehnologije u Zürichu, G+D Mobile Security, Nuvoton Technology i Western Digital.
Google projekta na korporativnom blogu Google Open Source. Tvrtka je izjavila da OpenTitan teži "osigurati visokokvalitetne preporuke za dizajn i integraciju RoT za korištenje u serverima centara za obradu podataka, skladištima, perifernim uređajima i mnogim drugim".
Korijen povjerenja — prvi link u lancu povjerenja na najnižoj razini u povjerenom računalnom modu, kojem sustav uvijek potpuno vjeruje.
RoT je kritično važan za aplikacije, uključujući infrastrukture javnih ključeva (PKI). To je temelj sigurnosnog sistema na kojem se temelji složen sistem, kao što je IoT aplikacija ili centar podataka. Stoga nije iznenađujuće što Google podržava ovaj projekat. Trenutno ima 19 centara podataka na pet kontinenata. Data centri, skladišta i kritične aplikacije predstavljaju široku površinu napada, a za zaštitu ove infrastrukture Google je prvotno razvio svoj vlastiti temelj poverenja na Titan čipu.
za Google data centre prvi put je predstavljen na konferenciji Google Cloud Next. „Naši računari vrše kriptografsku proveru svakog paketa softvera, a zatim odlučuju da li da mu omoguće pristup mrežnim resursima. Titan se integriše u ovaj proces i nudi dodatne slojeve zaštite“, rekli su predstavnici Google-a na toj prezentaciji.

Titan čip u Google serveru
Arhitektura Titan bila je svojina Google-a, ali sada postaje društveno vlasništvo u okviru otvorenog projekta.
Prva faza projekta je kreiranje logičkog dizajna RoT na nivou čipa, uključujući otvoreni mikroprocesor , kriptografske procesore, hardverski generator slučajnih brojeva, hijerarhije ključeva i memoriju za energijski nezavisno i energetskih nezavisnih skladištenja, zaštitne mehanizme, periferne uređaje za ulaz/izlaz i sigurne procese pokretanja.
Google kaže da je OpenTitan zasnovan na tri ključna principa:
- svako ima mogućnost da proveri platformu i doprinese;
- povećana fleksibilnost kroz otvaranje logičkog bezbednog dizajna koji nije zaključan vlasničkim zabranama dobavljača;
- kvalitet koji je obezbeđen ne samo samim dizajnom, već i referentnim firmverom i dokumentacijom.
»Današnji čipi z zaupanjem temeljev so zelo lastniški. Trdijo, da so varni, vendar v resnici to sprejmete na vero in jih ne morete sami preveriti,« pravi Dominic Rizzo, vodilni strokovnjak za varnost projekta Google Titan. «Zdaj se prvič pojavlja možnost zagotoviti varnost brez slepe vere v lastniške zasnove korenin zaupanja. Tako da je temelj ne le trden, lahko ga je preveriti.«
Rizzo je dodal, da se OpenTitan lahko šteje za »radikalno pregleden dizajn, v primerjavi z aktualnim stanjem stvari«.
Po besedah razvijalcev OpenTitan nikakor ne smemo obravnavati kot končni izdelek, ker razvoj še ni končan. Namenoma so odprli specifikacije in zasnovo sredi razvoja, da bi vsi lahko to preverili, prispevali in izboljšali sistem pred začetkom proizvodnje.
Za začetek proizvodnje čipov OpenTitan je potrebno oddati prijavo in opraviti certificiranje. Po vsej verjetnosti za to niso potrebne nobene licenčne pristojbine.
Izvor: habr.com
