Open Source OpenTitan-chip vervangt Intel en ARM's gepatenteerde roots of trust

Open Source OpenTitan-chip vervangt Intel en ARM's gepatenteerde roots of trust

Non-profit organisatie laagRISC met Google en andere sponsors 5 november 2019 gepresenteerd project OpenTitan, dat het omschrijft als "het eerste open source-project dat een open, hoogwaardige siliciumarchitectuur creëert met een hardwarematige root of trust (RoT)."

OpenTitan op de RISC-V-architectuur is een microcircuit met een speciaal doel voor installatie op servers in datacenters en in andere apparatuur waarbij het nodig is om de authenticiteit van het opstarten te garanderen, firmware te beschermen tegen wijzigingen en de mogelijkheid van rootkits te elimineren. Denk hierbij aan moederborden, netwerkkaarten, routers, IoT-apparaten, mobiele gadgets, enzovoort.

Dergelijke modules zijn uiteraard aanwezig in moderne processoren. De Intel Boot Guard-hardwaremodule is bijvoorbeeld de basis van vertrouwen in Intel-processors. Hiermee wordt de authenticiteit van het UEFI BIOS geverifieerd via een vertrouwensketen voordat het besturingssysteem wordt geladen. De vraag is echter in hoeverre we op bedrijfseigen vertrouwen kunnen vertrouwen, aangezien we geen enkele garantie hebben dat het ontwerp vrij is van bugs en er geen manier is om dit te testen. Zie artikel "Betrouwbare boot Schrödinger. Intel Boot Guard" waarin wordt beschreven "hoe een bug die in de loop der jaren bij verschillende leveranciers is gekloond, een potentiële aanvaller in staat stelt deze technologie te gebruiken om een ​​verborgen rootkit in een systeem te creëren die niet kan worden verwijderd (zelfs niet door een programmeur)."

De dreiging van apparatuurcompromissen in de toeleveringsketen is verrassend reëel: elke hobby-elektronica-liefhebber lijkt kan een bug in het moederbord van de server solderen, met apparatuur die niet meer dan $ 200 kost. Sommige deskundigen vermoeden dat "organisaties met budgetten van honderden miljoenen dollars dit al jaren doen." Hoewel er geen bewijs is, is het theoretisch mogelijk.

"Als je de hardware-bootloader niet kunt vertrouwen, is het spel voorbij," говорит Gavin Ferris, bestuurslid van lowRISC. — Het maakt niet uit wat het besturingssysteem doet: als je al gecompromitteerd bent tegen de tijd dat het besturingssysteem opstart, is de rest een kwestie van technologie. "Je bent al klaar."

Dit is het probleem waarmee het eerste open hardwareplatform in zijn soort, OpenTitan (GitHub-repository, documentatie, hardwarespecificaties). Google is van mening dat afstappen van bedrijfsspecifieke oplossingen de "omslachtige en gebrekkige RoT-industrie" zal veranderen.

Google zelf begon met de ontwikkeling van Titan nadat ze het Minix-besturingssysteem hadden ontdekt dat in Intel Management Engine (ME)-chips was ingebouwd. Dit complexe besturingssysteem breidde zijn aanvalsoppervlak op onvoorspelbare en oncontroleerbare wijze uit. Google geprobeerd om van Intel Management Engine (ME) af te komen, maar zonder succes.

Wat is de basis van vertrouwen?

Elke fase van het opstartproces van het systeem verifieert de authenticiteit van de volgende fase, waardoor keten van vertrouwen.

Root of Trust (RoT) is een hardwaregebaseerde authenticatie die ervoor zorgt dat de bron van de eerste uitvoerbare instructie in een vertrouwensketen niet kan worden gewijzigd. RoT is een basisbescherming tegen rootkits. Dit is een belangrijke fase in het opstartproces dat betrokken is bij de rest van het opstarten van het systeem - van BIOS tot besturingssysteem en toepassingen. De authenticiteit van elke volgende laadstap moet worden geverifieerd. Om dit te bereiken, wordt in elke fase gebruikgemaakt van een set digitaal ondertekende sleutels. Een van de populairste standaarden voor hardwarematige sleutelbeveiliging is TPM (Trusted Platform Module).

Open Source OpenTitan-chip vervangt Intel en ARM's gepatenteerde roots of trust
Het creëren van een vertrouwensbasis. Hierboven ziet u een opstartproces in vijf stappen dat een vertrouwensketen vormt en begint met een bootloader die zich in onveranderlijk geheugen bevindt. In elke fase wordt een openbare sleutel gebruikt om de authenticiteit van het volgende te laden onderdeel te verifiëren. Illustratie uit het boek van Perry Lee "Architectuur van het internet der dingen"

RoT kan op verschillende manieren worden gelanceerd:

  • het laden van een afbeelding en root-sleutel vanuit firmware of onveranderlijk geheugen;
  • het opslaan van de root-sleutel in een eenmalig programmeerbaar geheugen met behulp van fuse bits;
  • het laden van code uit een beschermd geheugengebied naar een beschermde opslag.

De vertrouwenswortel wordt op verschillende processoren op verschillende manieren geïmplementeerd. Intel en ARM
ondersteunen de volgende technologieën:

  • ARM TrustZone. ARM verkoopt gepatenteerde silicium aan chipfabrikanten die de basis vormen voor vertrouwen en andere beveiligingsmechanismen. Hierdoor wordt de microprocessor gescheiden van de onveilige kern; Het draait op Trusted OS: een veilig besturingssysteem met een goed gedefinieerde interface voor interactie met onveilige componenten. Beveiligde bronnen bevinden zich in de vertrouwde kern en moeten zo licht mogelijk zijn. De overgang tussen componenten van verschillende typen vindt plaats via hardwarecontextswitching, waardoor er geen beveiligde bewakingssoftware nodig is.
  • Intel Bootguard — is een hardwaremechanisme voor het verifiëren van de authenticiteit van een initieel opstartblok door cryptografische middelen of via een meetproces. Om het initiële blok te verifiëren, moet de fabrikant een 2048-bits sleutel genereren, die uit twee delen bestaat: een openbaar en een privédeel. De openbare sleutel wordt op het bord afgedrukt door de zekeringsbits tijdens de productie te 'detoneren'. Deze onderdelen zijn voor eenmalig gebruik en kunnen niet worden gewijzigd. Het persoonlijke deel van de sleutel genereert een digitale handtekening om de opstartfase vervolgens te verifiëren.

Het OpenTitan-platform legt de belangrijkste onderdelen van een dergelijk hardware- en softwaresysteem bloot, zoals in het onderstaande diagram wordt weergegeven.

Open Source OpenTitan-chip vervangt Intel en ARM's gepatenteerde roots of trust

OpenTitan-platform

Het OpenTitan-platform wordt ontwikkeld door de non-profitorganisatie lowRISC. Het technische team is gevestigd in Cambridge (Verenigd Koninkrijk) en de hoofdsponsor is Google. Oprichters zijn onder meer ETH Zurich, G+D Mobile Security, Nuvoton Technology en Western Digital.

Google een aankondiging gepubliceerd project op de Google Open Source bedrijfsblog. Volgens het bedrijf streeft OpenTitan ernaar om "hoogwaardige RoT-ontwerp- en integratierichtlijnen te bieden voor gebruik in datacenterservers, opslag, edge-apparaten en meer."

De basis van vertrouwen is de eerste schakel in de vertrouwensketen op het laagste niveau in een vertrouwde computereenheid die altijd volledig vertrouwd wordt door het systeem.

RoT is essentieel voor toepassingen zoals Public Key Infrastructures (PKI). Het vormt de basis van het beveiligingssysteem waarop een complex systeem zoals een IoT-applicatie of een datacenter is gebaseerd. Het is dus begrijpelijk dat Google dit project steunt. Momenteel zijn er 19 datacenters verspreid over vijf continenten. Datacenters, opslag en bedrijfskritische applicaties vormen een enorm aanvalsoppervlak. Om deze infrastructuur te beschermen, ontwikkelde Google aanvankelijk een eigen root of trust op de Titan-chip.

Titan Proprietary Chip voor Google-datacenters werd voor het eerst geïntroduceerd maart 2017 op de Google Cloud Next-conferentie. "Onze computers voeren cryptografische verificatie uit van elk softwarepakket en beslissen vervolgens of het toegang krijgt tot netwerkbronnen. Titan integreert in dit proces en biedt extra beschermingslagen", aldus Google-vertegenwoordigers tijdens die presentatie.

Open Source OpenTitan-chip vervangt Intel en ARM's gepatenteerde roots of trust
Titan-chip op Google-server

De Titan-architectuur was eigendom van Google, maar wordt nu als open sourceproject openbaar gemaakt.

De eerste fase van het project is het creëren van een logisch ontwerp van RoT op chipniveau, inclusief een open source microprocessor lowRISC steenbok, cryptografische processoren, hardwarematige willekeurige nummergenerator, sleutel- en geheugenhiërarchieën voor niet-vluchtige en niet-vluchtige opslag, beveiligingsmechanismen, I/O-randapparatuur en beveiligde opstartprocessen.

Volgens Google is OpenTitan gebaseerd op drie belangrijke principes:

  • iedereen heeft de mogelijkheid om het platform te testen en bij te dragen;
  • verhoogde flexibiliteit door open source, veilig ontwerp dat niet wordt geblokkeerd door eigendomsbeperkingen van leveranciers;
  • Kwaliteit wordt niet alleen gegarandeerd door het ontwerp zelf, maar ook door de referentiefirmware en documentatie.

"De huidige Roots of Trust-chips zijn zeer gepatenteerd. Ze beweren veilig te zijn, maar in werkelijkheid neem je het op goed vertrouwen en kun je het niet zelf verifiëren", zegt Dominic Rizzo, hoofd beveiligingsonderzoeker bij Google's Titan-project. "Nu is het voor het eerst mogelijk om de veiligheid te garanderen zonder blindelings te vertrouwen op de ontwikkelaars van een gepatenteerd ontwerp voor de Roots of Trust. De basis is dus niet alleen sterk, maar kan ook worden getest."

Rizzo voegde toe dat OpenTitan kan worden beschouwd als een "radicaal transparant ontwerp vergeleken met de huidige stand van zaken."

Volgens de ontwikkelaars kan OpenTitan nog lang niet als een af ​​product worden beschouwd, omdat de ontwikkeling nog niet is afgerond. Ze hebben de specificaties en het ontwerp halverwege de ontwikkeling bewust opengesteld, zodat iedereen ze kon bekijken, er een bijdrage aan kon leveren en het systeem kon verbeteren voordat de productie begon.

Om te beginnen met de productie van OpenTitan-chips, moet u een aanvraag indienen en certificering verkrijgen. Blijkbaar zijn er geen licentiekosten vereist.

Bron: www.habr.com

Voeg een reactie