Open-source OpenTitan-brikken vil erstatte de proprietære røttene til tillit til Intel og ARM

Open-source OpenTitan-brikken vil erstatte de proprietære røttene til tillit til Intel og ARM

Non-profit organisasjon lavRISC med Google og andre sponsorer 5. november 2019 presentert prosjekt OpenTitan, som kaller "det første åpen kildekodeprosjektet for å skape en åpen, høykvalitets brikkearkitektur med en rot av tillit (RoT) på maskinvarenivå."

OpenTitan basert på RISC-V-arkitektur er en spesialbrikke for installasjon på servere i datasentre og i annet utstyr der det er nødvendig for å sikre oppstartsautentisitet, beskytte fastvaren mot endringer og eliminere muligheten for rootkits: dette er hovedkort, nettverkskort, rutere, IoT-enheter, mobile gadgets, etc.

Selvfølgelig finnes lignende moduler i moderne prosessorer. For eksempel er Intel Hardware Boot Guard-modulen roten til tillit i Intel-prosessorer. Den verifiserer ektheten til UEFI BIOS gjennom en tillitskjede før du laster inn operativsystemet. Men spørsmålet er, hvor mye kan vi stole på proprietære røtter til tillit, gitt at vi ikke har noen garanti for at det ikke vil være noen feil i designet, og det er ingen måte å sjekke det på? Se artikkelen “Schrödingers pålitelige nedlasting. Intel Boot Guard" med en beskrivelse av «hvordan en feil som har blitt klonet i årevis i produksjonen av flere leverandører, lar en potensiell angriper bruke denne teknologien til å lage et skjult rootkit i systemet som ikke kan fjernes (selv med en programmerer).

Trusselen om utstyrskompromittering i forsyningskjeden er overraskende reell: tilsynelatende enhver amatørelektronikkingeniør kan lodde en feil inn på serverens hovedkortbruker utstyr som ikke koster mer enn $200. Noen eksperter mistenker at "organisasjoner med budsjetter på hundrevis av millioner dollar kan gjøre dette i mange år." Selv om det ikke er bevis, er det teoretisk mulig.

"Hvis du ikke kan stole på maskinvareoppstartlasteren, er spillet over," говорит Gavin Ferris, medlem av styret i lowRISC. - Det spiller ingen rolle hva operativsystemet gjør - hvis du er kompromittert når operativsystemet lastes, så er resten et spørsmål om teknologi. Du er allerede ferdig."

Dette problemet bør løses av den første i sitt slag åpne maskinvareplattform OpenTitan (GitHub-depot, dokumentasjonen, maskinvarespesifikasjoner). Å gå bort fra proprietære løsninger vil bidra til å endre «den trege og mangelfulle RoT-industrien», sier Google.

Google begynte selv å utvikle Titan etter å ha oppdaget Minix-operativsystemet innebygd i Intel Management Engine (ME)-brikker. Dette komplekse operativsystemet utvidet angrepsoverflaten på uforutsigbare og ukontrollerbare måter. Google prøvde å bli kvitt Intel Management Engine (ME), men uten hell.

Hva er roten til tillit?

Hvert trinn i systemoppstartsprosessen sjekker ektheten til neste trinn, og genererer dermed tillitskjede.

Root of Trust (RoT) er en maskinvarebasert autentisering som sikrer at kilden til den første kjørbare instruksjonen i tillitskjeden ikke kan endres. RoT er den grunnleggende beskyttelsen mot rootkits. Dette er et nøkkeltrinn i oppstartsprosessen, som er involvert i den påfølgende oppstarten av systemet - fra BIOS til OS og applikasjoner. Den må verifisere ektheten til hvert påfølgende nedlastingstrinn. For å gjøre dette, brukes et sett med digitalt signerte nøkler på hvert trinn. En av de mest populære standardene for beskyttelse av maskinvarenøkler er TPM (Trusted Platform Module).

Open-source OpenTitan-brikken vil erstatte de proprietære røttene til tillit til Intel og ARM
Etablere en rot av tillit. Ovenfor er en fem-trinns oppstartsprosess som skaper en tillitskjede, som starter med oppstartslasteren i uforanderlig minne. Hvert trinn bruker en offentlig nøkkel for å bekrefte identiteten til den neste komponenten som skal lastes. Illustrasjon fra Perry Lees bok "Internet of Things Architecture"

RoT kan lanseres på forskjellige måter:

  • laste inn bildet og rotnøkkelen fra fastvare eller uforanderlig minne;
  • lagring av rotnøkkelen i engangsprogrammerbart minne ved å bruke sikringsbiter;
  • Laster inn kode fra et beskyttet minneområde til et beskyttet lager.

Ulike prosessorer implementerer roten til tillit forskjellig. Intel og ARM
støtter følgende teknologier:

  • ARM TrustZone. ARM selger en proprietær silisiumblokk til brikkeprodusenter som gir en rot av tillit og andre sikkerhetsmekanismer. Dette skiller mikroprosessoren fra den usikre kjernen; den kjører Trusted OS, et sikkert operativsystem med et veldefinert grensesnitt for samhandling med usikre komponenter. Beskyttede ressurser ligger i den pålitelige kjernen og bør være så lette som mulig. Bytte mellom komponenter av forskjellige typer gjøres ved hjelp av maskinvarekontekstbytting, noe som eliminerer behovet for sikker overvåkingsprogramvare.
  • Intel Boot Guard er en maskinvaremekanisme for å verifisere ektheten til den første oppstartsblokken ved hjelp av kryptografiske midler eller gjennom en måleprosess. For å verifisere den første blokkeringen, må produsenten generere en 2048-bits nøkkel, som består av to deler: offentlig og privat. Den offentlige nøkkelen er trykt på tavlen ved å "detonere" sikringsbiter under produksjon. Disse bitene er engangsbruk og kan ikke endres. Den private delen av nøkkelen genererer en digital signatur for påfølgende autentisering av nedlastingsstadiet.

OpenTitan-plattformen viser viktige deler av et slikt maskinvare-/programvaresystem, som vist i diagrammet nedenfor.

Open-source OpenTitan-brikken vil erstatte de proprietære røttene til tillit til Intel og ARM

OpenTitan-plattformen

Utviklingen av OpenTitan-plattformen administreres av den ideelle organisasjonen lowRISC. Ingeniørteamet er basert i Cambridge (Storbritannia), og hovedsponsoren er Google. Grunnleggende partnere inkluderer ETH Zurich, G+D Mobile Security, Nuvoton Technology og Western Digital.

Google publiserte en kunngjøring prosjekt på Google Open Source-bedriftsbloggen. Selskapet sa at OpenTitan er forpliktet til å "gi veiledning av høy kvalitet om RoT-design og integrasjon for bruk i datasenterservere, lagring, edge-enheter og mer."

Roten til tillit er det første leddet i tillitskjeden på det laveste nivået i en klarert datamodul, som alltid er fullstendig klarert av systemet.

RoT er kritisk for applikasjoner inkludert offentlige nøkkelinfrastrukturer (PKI). Det er grunnlaget for sikkerhetssystemet som et komplekst system som en IoT-applikasjon eller datasenter er basert på. Så det er klart hvorfor Google støtter dette prosjektet. Den har nå 19 datasentre på fem kontinenter. Datasentre, lagring og oppdragskritiske applikasjoner presenterer en enorm angrepsoverflate, og for å beskytte denne infrastrukturen utviklet Google i utgangspunktet sin egen rot av tillit på Titan-brikken.

Proprietær Titan-brikke for Google-datasentre ble først introdusert i mars 2017 på Google Cloud Next-konferansen. "Datamaskinene våre utfører kryptografiske kontroller på hver programvarepakke og bestemmer deretter om de skal gi den tilgang til nettverksressurser. Titan integreres i denne prosessen og tilbyr ytterligere beskyttelseslag, sa Google-representanter på presentasjonen.

Open-source OpenTitan-brikken vil erstatte de proprietære røttene til tillit til Intel og ARM
Titan-brikke i Google-serveren

Titan-arkitekturen var tidligere eid av Google, men blir nå gjort til offentlig eiendom som et åpen kildekode-prosjekt.

Den første fasen av prosjektet er å lage en logisk RoT-design på brikkenivå, inkludert en åpen kildekode mikroprosessor lavRISC steinbukk, kryptografiske prosessorer, tilfeldig tallgenerator for maskinvare, nøkkel- og minnehierarkier for ikke-flyktig og ikke-flyktig lagring, sikkerhetsmekanismer, I/O-periferiutstyr og sikre oppstartsprosesser.

Google sier at OpenTitan er basert på tre nøkkelprinsipper:

  • alle har mulighet til å sjekke ut plattformen og bidra;
  • økt fleksibilitet ved å åpne opp logisk sikker design som ikke er blokkert av proprietære leverandørrestriksjoner;
  • kvalitet sikres ikke bare av selve designet, men også av referansefastvare og dokumentasjon.

"Nåværende brikker med røtter av tillit er veldig proprietære. De hevder å være sikre, men i virkeligheten tar du det for gitt og kan ikke bekrefte det selv, sier Dominic Rizzo, ledende sikkerhetsspesialist for Google Titan-prosjektet. "Nå er det for første gang mulig å gi sikkerhet uten blind tro på utviklerne av en proprietær rot av tillitsdesign. Så grunnlaget er ikke bare solid, det kan verifiseres.»

Rizzo la til at OpenTitan kan betraktes som "en radikalt gjennomsiktig design sammenlignet med tingenes nåværende tilstand."

Ifølge utviklerne skal OpenTitan på ingen måte anses som et ferdig produkt, fordi utviklingen ennå ikke er ferdig. De åpnet bevisst opp spesifikasjonene og designet midt i utviklingen slik at alle kunne gjennomgå det, komme med innspill og forbedre systemet før produksjonen startet.

For å begynne å produsere OpenTitan-brikker må du søke og bli sertifisert. Det kreves tilsynelatende ingen royalties.

Kilde: www.habr.com

Legg til en kommentar