Il chip open source OpenTitan sostituirà le radici di fiducia proprietarie di Intel e ARM

Il chip open source OpenTitan sostituirà le radici di fiducia proprietarie di Intel e ARM

Organizzazione non profit lowRISC con la partecipazione di Google e altri sponsor il 5 novembre 2019 ha presentato progetto OpenTitan, che si definisce "il primo progetto open source per la creazione di architetture di chip aperte e di qualità con una base di fiducia (RoT) a livello hardware."

OpenTitan, basato sull'architettura RISC-V, è un chip specializzato progettato per essere installato su server nei data center e in qualsiasi altro hardware dove è necessario assicurare l'autenticità dell'avvio, proteggere il firmware da modifiche e ridurre al minimo il rischio di rootkit: come schede madri, schede di rete, router, dispositivi IoT, gadget mobili, e altro.

Certo, moduli simili esistono nei processori moderni. Ad esempio, il modulo hardware Intel Boot Guard funge da root of trust nei processori Intel. Verifica la validità del UEFI BIOS prima del caricamento del sistema operativo tramite una catena di fiducia. Ma ci chiediamo, quanto possiamo fidarci dei root of trust proprietari considerando che non abbiamo garanzie contro bug nel design e non possiamo verificarli? Vedi articolo «L'avvio fidato di Schrödinger. Intel Boot Guard» con una descrizione di come "l'errore clonabile da anni nella produzione di diversi fornitori consenta a un potenziale aggressore di utilizzare questa tecnologia per creare un rootkit nascosto nel sistema, non eliminabile nemmeno da un programmatore".

La minaccia di compromissione dell'hardware nella catena di approvvigionamento è sorprendentemente reale: sembra che qualsiasi appassionato di elettronica possa installare un dispositivo di ascolto sulla scheda madre di un server, utilizzando attrezzature che costano meno di 200 dollari. Alcuni esperti sospettano che "organizzazioni con budget di centinaia di milioni di dollari possano essere coinvolte in questo da anni". Sebbene non ci siano prove, teoricamente è possibile.

"Se non puoi fidarti del bootloader hardware, il gioco è finito, — afferma Gavin Ferris, membro del consiglio direttivo di lowRISC. — Non importa cosa faccia il sistema operativo: se al momento del caricamento del sistema operativo sei compromesso, tutto il resto è una questione tecnica. È finita per te."

Questo è il problema che la prima piattaforma hardware aperta del suo genere, OpenTitan, deve risolvere (il repository GitHub, documentazione, specifiche hardware). Allontanarsi dalle soluzioni proprietarie consentirà di modificare «l'industria RoT rigida e imperfetta», secondo Google.

La stessa Google ha avviato lo sviluppo di Titan, scoprendo il sistema operativo Minix integrato nei chip Intel Management Engine (ME). Questo complesso sistema operativo allargava in modo imprevedibile e incontrollabile la superficie di attacco. Google ha cercato di eliminare Intel Management Engine (ME), ma senza successo.

Cos'è la radice di fiducia?

Ogni fase del processo di avvio del sistema verifica l'autenticità della fase successiva, creando così una catena di fiducia.

La radice di fiducia (Root of Trust, RoT) è un meccanismo di autenticazione hardware che garantisce che la fonte della prima istruzione eseguibile nella catena di fiducia non possa essere alterata. Il RoT fornisce una protezione di base contro i rootkit. Rappresenta una fase cruciale nel processo di avvio, coinvolta nell'avvio del sistema, dal BIOS al sistema operativo e alle applicazioni. Deve autenticare ogni fase successiva del processo di avvio. A questo scopo, una serie di chiavi con firma digitale viene utilizzata ad ogni fase. Uno degli standard più popolari per la protezione hardware delle chiavi è il TPM (Trusted Platform Module).

Il chip open source OpenTitan sostituirà le radici di fiducia proprietarie di Intel e ARM
Stabilire la radice di fiducia. Qui sopra è rappresentato un processo di avvio in cinque fasi che crea una catena di fiducia, a partire dal bootloader memorizzato in memoria immutabile. Ad ogni fase viene utilizzata una chiave pubblica per autenticare il successivo componente da avviare. Illustrazione tratta dal libro di Perry Lee. Architettura dell'Internet delle Cose

Il RoT può essere avviato in vari modi:

  • caricando l'immagine e la chiave radice dal firmware o da memoria immutabile.
  • memorizzazione della chiave radice nella memoria programmabile monouso tramite fuse bit;
  • caricamento del codice da un'area di memoria protetta in uno storage sicuro.

Nei vari processori, la radice di fiducia è implementata in modi differenti. Intel e ARM
supportano le seguenti tecnologie:

  • ARM TrustZone. ARM vende ai produttori di chip un blocco di silicio proprietario che fornisce la radice di fiducia e altri meccanismi di sicurezza. In questo modo, il microprocessore è separato dal core non sicuro; esegue un Trusted OS - un sistema operativo protetto con un'interfaccia chiaramente definita per l'interazione con componenti non sicuri. Le risorse protette si trovano nel core di fiducia e devono essere il più leggere possibile. Il passaggio tra componenti di tipi diversi avviene tramite switching hardware del contesto, eliminando così la necessità di software sicuro per il monitoraggio.
  • Intel Boot Guard — è un meccanismo hardware per la verifica dell'autenticità del blocco di avvio utilizzando metodi crittografici o tramite un processo di misurazione. Per verificare il blocco di avvio, il produttore deve generare una chiave a 2048 bit, composta da due parti: una chiave pubblica e una privata. La chiave pubblica viene stampata sulla scheda tramite la "detonazione" dei fuse bit durante la fase di produzione. Questi bit sono mono-use e non sono modificabili. La parte privata della chiave genera una firma digitale per la successiva autenticazione della fase di avvio.

La piattaforma OpenTitan apre le parti chiave di un tale sistema hardware-software, come mostrato nel diagramma qui sotto.

Il chip open source OpenTitan sostituirà le radici di fiducia proprietarie di Intel e ARM

Piattaforma OpenTitan

Lo sviluppo della piattaforma OpenTitan è gestito da un'organizzazione no-profit chiamata lowRISC. Un team di ingegneri ha sede a Cambridge (Regno Unito) e il principale sponsor è Google. I partner fondatori includono l'ETH di Zurigo, G+D Mobile Security, Nuvoton Technology e Western Digital.

Google ha pubblicato un annuncio del progetto nel blog aziendale di Google Open Source. L'azienda ha dichiarato che OpenTitan si propone di «fornire raccomandazioni di alta qualità per il design e l'integrazione di RoT da utilizzare in server di data center, archiviazione, dispositivi periferici e molto altro».

La radice di fiducia è il primo anello della catena di fiducia al livello più basso in un modulo di computazione fidata, di cui il sistema si fida completamente.

RoT è fondamentale per le applicazioni, comprese le infrastrutture a chiave pubblica (PKI). È il fondamento di un sistema di sicurezza su cui si basa un sistema complesso, come un'app IoT o un data center. Pertanto, è comprensibile perché Google supporti questo progetto. Attualmente ha 19 data center su cinque continenti. I data center, l'archiviazione e le applicazioni critiche rappresentano un'ampia superficie di attacco, e per proteggere questa infrastruttura Google ha inizialmente sviluppato la propria radice di fiducia nel chip Titan.

Chip Titan proprietario per i data center di Google è stato presentato per la prima volta nel marzo 2017 alla conferenza Google Cloud Next. «I nostri computer effettuano una verifica crittografica di ciascun pacchetto software e poi decidono se concedere accesso alle risorse di rete. Titan si integra in questo processo e offre ulteriori strati di protezione», hanno spiegato i rappresentanti di Google durante quella presentazione.

Il chip open source OpenTitan sostituirà le radici di fiducia proprietarie di Intel e ARM
Il chip Titan nel server Google

L'architettura Titan era di proprietà di Google, ma ora diventa di pubblico dominio nell'ambito di un progetto open source.

La prima fase del progetto consiste nella creazione del design logico del RoT a livello di chip, incluso un microprocessore open source lowRISC ibex, processori crittografici, generatore hardware di numeri casuali, gerarchie di chiavi e memoria per lo storage non volatile e volatile, meccanismi di sicurezza, dispositivi periferici di input/output e processi di avvio sicuri.

Google afferma che OpenTitan si basa su tre principi chiave:

  • ogniuno ha la possibilità di controllare la piattaforma e contribuire;
  • maggiore flessibilità grazie all'apertura di un design logicamente sicuro che non è bloccato da divieti proprietari del fornitore;
  • qualità garantita non solo dal design stesso, ma anche dalla documentazione e dal firmware di riferimento.

«Le attuali microchip con radici di fiducia sono molto proprietari. Dichiarano di essere sicuri, ma in realtà ci si deve fidare e non è possibile verificarli, — afferma Dominic Rizzo, esperto di sicurezza del progetto Google Titan. — Ora, per la prima volta, c'è la possibilità di garantire la sicurezza senza la fiducia cieca nei progettisti di design proprietari delle radici di fiducia. Quindi la base non è solo robusta, ma può essere verificata».

Rizzo ha aggiunto che OpenTitan può essere considerato «un design radicalmente trasparente, rispetto alla situazione attuale».

Secondo gli sviluppatori, OpenTitan non deve essere considerato un prodotto finito, poiché lo sviluppo non è ancora concluso. Hanno volutamente reso pubbliche le specifiche e il design nel mezzo dello sviluppo, affinché tutti potessero verificarlo, contribuire e perfezionare il sistema prima dell'inizio della produzione.

Per avviare la produzione dei chip OpenTitan, è necessario presentare una richiesta e superare la certificazione. A quanto pare, non sono richiesti diritti di licenza.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster