
Organizație non-profit cu participarea Google și a altor sponsori pe 5 noiembrie 2019 proiect , care este numit „primul proiect open-source dedicat creării unei arhitecturi de microcipuri deschise și de calitate cu rădăcină de încredere (RoT) la nivel hardware”.
OpenTitan pe arhitectura RISC-V este un cip specializat destinat instalării pe servere în centre de date și în orice alt echipament unde este necesară asigurarea autenticității încărcării, protecția firmware-ului împotriva modificărilor și eliminarea riscurilor de rootkit-uri: plăci de bază, plăci de rețea, routere, dispozitive IoT, gadgeturi mobile etc.
Desigur, astfel de module există în procesoarele moderne. De exemplu, modulul hardware Intel Boot Guard servește ca rădăcină de încredere în procesoarele Intel. Acesta verifică în lanț autenticitatea UEFI BIOS înainte de încărcarea OS-ului. Însă întrebarea este cât de mult putem avea încredere în rădăcinile de încredere proprietare, având în vedere că nu avem garanții că nu există erori în design, iar verificarea acestuia nu este posibilă? Vezi articolul care descrie cum o eroare de fabricație clonată timp de ani de zile de mai mulți furnizori permite unui atacator potențial să folosească această tehnologie pentru a crea un rootkit latent (chiar și programabil) în sistem.
Amenințarea compromiterii echipamentului în lanțul de aprovizionare este surprinzător de reală: se pare că orice electronist hobbyist , folosind echipamente în valoare de nu mai mult de 200 de dolari. Unii experți suspectează că „organizațiile cu bugete de sute de milioane de dolari ar putea face asta de ani de zile”. Deși nu există dovezi concrete, teoretic este posibil.
„Dacă nu poți avea încredere în bootloaderul hardware, jocul s-a terminat, — Gavin Ferris, membru al consiliului de administrație al lowRISC. — Nu contează ce face sistemul de operare — dacă până în momentul încărcării sistemului de operare ai fost compromis, restul este doar o chestiune de tehnică. Ești deja terminat.”
Această problemă trebuie să fie soluționată de prima platformă hardware open-source din lume OpenTitan (, , ). Abandoning proprietary solutions will change the 'clumsy and imperfect RoT industry,' believes Google.
Google itself has started developing Titan after discovering the Minix operating system embedded in Intel Management Engine (ME) chips. This complex OS unpredictably and uncontrollably expanded the attack surface. Google , but unsuccessfully.
What is the root of trust?
Every stage of the system boot process verifies the authenticity of the next stage, thus forming a chain of trust..
The root of trust (RoT) is a hardware authentication that guarantees that the source of the first executable instruction in the chain of trust cannot be altered. RoT is the foundational protection against rootkits. It is a key step in the boot process that participates in the further startup of the system — from BIOS to OS and applications. It must verify the authenticity of each subsequent boot stage. For this, a set of keys with a digital signature is used at each stage. One of the most popular hardware security standards for keys is TPM (Trusted Platform Module).

Establishing the root of trust. Above is a five-stage boot that forms a chain of trust and starts with a bootloader located in immutable memory. An open key is used at each stage to authenticate the next loaded component. Illustration from Perry Lee's book
RoT can be initiated in different ways:
- loading the image and root key from firmware or immutable memory;
- storing the root key in one-time programmable memory using fuse bits;
- loading code from a secure memory area into a secure storage.
The root of trust is implemented differently in different processors. Intel and ARM
support the following technologies:
- ARM TrustZone. ARM vinde producătorilor de cipuri un bloc de siliciu proprietar care oferă un rădăcină de încredere și alte mecanisme de securitate. Astfel, microprocesorul este separat de nucleul nesecurizat; acesta rulează un Sistem de Operare de Încredere — un sistem de operare protejat cu o interfață de interacțiune clar definită cu componentele nesecurizate. Resursele protejate se află în nucleul de încredere și trebuie să fie cât mai ușoare posibil. Trecerea între componente de tipuri diferite se face prin schimbarea de context hardware, eliminând astfel necesitatea unui software securizat pentru monitorizare.
- Intel Boot Guard este un mecanism hardware pentru autentificarea blocului de încărcare inițial prin mijloace criptografice sau printr-un proces de măsurare. Pentru a autentifica blocul de încărcare inițial, producătorul trebuie să genereze o cheie de 2048 biți, care constă în două părți: o parte deschisă și una privată. Cheia deschisă este imprimată pe placă prin 'detonarea' biților de fuză în timpul producției. Acești biți sunt unici și nu pot fi modificați. Partea privată a cheii generează o semnătură digitală pentru autentificarea ulterioară a procesului de încărcare.
Platforma OpenTitan deschide părțile cheie ale unui astfel de sistem hardware-software, așa cum este demonstrat în diagramele de mai jos.

Platforma OpenTitan
Dezvoltarea platformei OpenTitan se desfășoară sub franco organizației non-profit lowRISC. Echipa de ingineri este bazată în Cambridge (Marea Britanie), iar principalul sponsor este Google. Partenerii fondatori includ ETH Zurich, G+D Mobile Security, Nuvoton Technology și Western Digital.
Google despre proiect pe blogul corporativ Google Open Source. Compania a declarat că OpenTitan își propune să 'oferă recomandări de înaltă calitate pentru designul și integrarea RoT pentru utilizare în servere de centre de date, depozite, dispozitive periferice și multe altele'.
Rădăcina de încredere este primul link într-un lanț de încredere la cel mai jos nivel al modulului de calcul de încredere, căruia sistemul îi oferă întotdeauna încredere totală.
RoT este critic pentru aplicații, inclusiv infrastructurile cu chei publice (PKI). Este fundamentul sistemului de securitate pe care se bazează o sistem complex, cum ar fi o aplicație IoT sau un centru de date. Prin urmare, este clar de ce Google susține acest proiect. În prezent, are 19 centre de date pe cinci continente. Centrele de date, stocarea și aplicațiile critice prezintă o suprafață extinsă de atac, iar pentru a proteja această infrastructură, Google a dezvoltat inițial propriul său rădăcină de încredere pe chipul Titan.
pentru centrele de date Google a fost prezentat pentru prima dată la conferința Google Cloud Next. „Computerele noastre efectuează verificarea criptografică a fiecărui pachet de software și decid dacă merită să-i acorde acces la resursele rețelei. Titan se integrează în acest proces și oferă straturi suplimentare de protecție”, au explicat reprezentanții Google în cadrul acelei prezentări.

Chipul Titan în serverul Google
Arhitectura Titan a fost proprietatea Google, dar acum devine un bun comun în cadrul proiectului open-source.
Prima etapă a proiectului constă în crearea designului logic RoT la nivel de chip, inclusiv un microprocesor open-source , procesoare criptografice, un generator hardware de numere aleatorii, ierarhii de chei și memorie pentru stocare non-volatile și volatice, mecanisme de protecție, periferice de intrare-ieșire și procese de bootare securizate.
Google afirmă că OpenTitan se bazează pe trei principii cheie:
- fiecare are posibilitatea de a verifica platforma și de a contribui;
- flexibilitate sporită prin deschiderea designului logic sigur, care nu este blocat de restricții proprietare ale furnizorului;
- calitate, asigurată nu doar de designul în sine, ci și de firmware-ul de referință și documentația.
„Circuitele actuale cu rădăcini de încredere sunt foarte proprietare. Ele revendică securitate, dar în realitate asta este ceva în care trebuie să ai încredere și nu le poți verifica tu însuți”, afirmă Dominic Rizzo, expert în securitate al proiectului Google Titan. „Acum apare pentru prima dată posibilitatea de a asigura securitatea fără a avea încredere în mod orb în dezvoltatorii designului proprietar al rădăcinilor de încredere. Așadar, fundația nu este doar solidă, ci poate fi și verificată.”
Rizzo a adăugat că OpenTitan poate fi considerat „un design radical transparent, comparativ cu situația actuală”.
Dezvoltatorii spun că OpenTitan nu ar trebui să fie considerat un produs final, deoarece dezvoltarea nu este încă terminată. Ei au decis să deschidă specificațiile și designul în mijlocul dezvoltării, pentru ca toată lumea să poată verifica acest lucru, să contribuie și să îmbunătățească sistemul înainte de a începe producția.
Pentru a începe producția de cipuri OpenTitan, este necesar să se depună o cerere și să se treacă printr-o certificare. Se pare că nu sunt necesare taxe de licențiere.
Sursa: habr.com
