
Organizzazione non profit con la partecipazione di Google e altri sponsor il 5 novembre 2019 progetto , che è chiamato "il primo progetto open source per la creazione di architetture di chip aperte e di qualità con una radice di fiducia (RoT) a livello hardware."
OpenTitan basato sull'architettura RISC-V è un chip a scopo speciale da installare su server nei data center e in qualsiasi altra attrezzatura dove è necessario garantire l'autenticità del caricamento, proteggere il firmware da modifiche e escludere la probabilità di rootkit: schede madri, schede di rete, router, dispositivi IoT, gadget mobili, ecc.
Certo, moduli simili esistono nei processori moderni. Ad esempio, il modulo hardware Intel Boot Guard è la radice di fiducia nei processori Intel. Verifica la validità del BIOS UEFI prima del caricamento del sistema operativo tramite una catena di fiducia. Ma la domanda è: quanto possiamo fidarci delle radici di fiducia proprietarie considerando che non abbiamo garanzie sull'assenza di bug nel design, e non possiamo verificarlo? Vedi l'articolo che descrive come "un errore di produzione clonabile per anni da diversi fornitori consente a un potenziale aggressore di utilizzare questa tecnologia per creare un rootkit nascosto nel sistema che non può essere rimosso (neppure da un programmatore)."
La minaccia di compromissione dell'hardware nella catena di approvvigionamento è sorprendentemente reale: a quanto pare, qualsiasi elettronico dilettante , utilizzando attrezzature del valore inferiore ai 200 dollari. Alcuni esperti sospettano che "organizzazioni con budget di centinaia di milioni di dollari possano praticare questa attività da molti anni". Sebbene non ci siano prove, teoricamente è possibile.
"Se non puoi fidarti di un bootloader hardware, il gioco è finito," ha affermato Gavin Ferris, membro del consiglio di amministrazione di lowRISC. "Non importa cosa faccia il sistema operativo: se al momento del caricamento del sistema operativo sei compromesso, il resto è solo una questione tecnica. È tutto finito per te."
Questo problema dovrebbe essere risolto dalla prima piattaforma hardware open source nel suo genere, OpenTitan (, , ). L'allontanamento dalle soluzioni proprietarie permetterà di modificare l'«industria RoT, ingessata e imperfetta», ritiene Google.
La stessa Google ha iniziato a sviluppare Titan, scoprendo il sistema operativo Minix integrato nei chip Intel Management Engine (ME). Questo complesso sistema operativo ampliava in modo imprevedibile e incontrollabile la superficie di attacco. Google , ma senza successo.
Che cos'è la radice di fiducia?
Ogni fase del processo di avvio del sistema verifica l'autenticità della fase successiva, formando così una catena di fiducia.
La radice di fiducia (Root of Trust, RoT) è un'autenticazione hardware che garantisce che la fonte della prima istruzione eseguibile nella catena di fiducia non possa essere alterata. La RoT è una protezione fondamentale contro i rootkit. È una fase chiave del processo di avvio, che partecipa al successivo avvio del sistema, dal BIOS al sistema operativo e alle applicazioni. Deve verificare l'autenticità di ogni fase successiva di avvio. A questo scopo, in ogni fase viene utilizzato un insieme di chiavi con firma digitale. Uno degli standard di protezione hardware delle chiavi più diffusi è il TPM (Trusted Platform Module, modulo di piattaforma affidabile).

Stabilire la radice di fiducia. Qui sopra è presentato un avvio a cinque fasi che forma una catena di fiducia e inizia con il bootloader, situato in una memoria immutabile. In ogni fase viene utilizzata una chiave pubblica, con la quale viene verificata l'autenticità del componente caricato successivamente. Illustrazione tratta dal libro di Perry Lee
La RoT può avviarsi in vari modi:
- il caricamento dell'immagine e della chiave radice dal firmware o dalla memoria immutabile;
- la memorizzazione della chiave radice nella memoria programmabile una sola volta tramite bit di fusione;
- il caricamento del codice da una zona di memoria protetta in un archivio sicuro.
Nei diversi processori, la radice di fiducia è implementata in modi diversi. Intel e ARM
supportano le seguenti tecnologie:
- ARM TrustZone. ARM vende ai produttori di chip un modulo siliconico proprietario, che fornisce la radice di fiducia e altri meccanismi di sicurezza. In questo modo, il microprocessore è separato dal nucleo non sicuro; esegue un Trusted OS — un sistema operativo sicuro con un'interfaccia di interazione chiaramente definita con i componenti non sicuri. Le risorse protette si trovano nel nucleo fiduciario e devono essere il più leggere possibile. La transizione tra componenti di diversi tipi avviene tramite il passaggio 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 iniziale mediante mezzi crittografici o tramite un processo di misurazione. Per verificare il blocco di avvio, il produttore deve generare una chiave di 2048 bit, composta da due parti: una pubblica e una privata. La chiave pubblica è impressa sulla scheda tramite la 'detonazione' dei fuse bit durante il processo di produzione. Questi bit sono monouso e non possono essere modificati. La parte privata della chiave genera una firma digitale per la successiva certificazione dell'autenticità della fase di avvio.
La piattaforma OpenTitan svela le parti chiave di un tale sistema hardware-software, come mostrato nel diagramma sottostante.

Piattaforma OpenTitan
La sviluppo della piattaforma OpenTitan è gestito da un'organizzazione no-profit chiamata lowRISC. Il 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 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 del RoT da utilizzare in server, data center, sistemi di archiviazione, dispositivi periferici e molto altro'.
La radice di fiducia è il primo anello nella catena di fiducia al livello più basso nel modulo di calcolo fidato, a cui il sistema si fida completamente.
Il RoT è critico per le applicazioni, comprese le infrastrutture a chiave pubblica (PKI). È la base del sistema di sicurezza su cui si fonda un sistema complesso, come un'app IoT o un centro dati. È quindi comprensibile perché Google supporti questo progetto. Attualmente ha 19 centri di elaborazione dati su cinque continenti. I centri dati, i magazzini e le applicazioni critiche presentano una vasta superficie di attacco, e per proteggere questa infrastruttura Google ha originariamente sviluppato il proprio root of trust sul chip Titan.
per i data center di Google è stato presentato per la prima volta alla conferenza Google Cloud Next. «I nostri computer eseguono una verifica crittografica di ogni pacchetto di software e poi decidono se concedere accesso alle risorse di rete. Titan si integra in questo processo e offre ulteriori strati di protezione», hanno dichiarato i rappresentanti di Google durante quella presentazione.

Chip Titan nel server Google
L'architettura Titan era di proprietà di Google, ma ora diventa di dominio pubblico nell'ambito di un progetto open source.
La prima fase del progetto è la creazione del design logico del RoT a livello di chip, compreso un microprocessore open source , processori crittografici, generatori hardware di numeri casuali, gerarchie di chiavi e memoria per lo stoccaggio non volatile e volatile, meccanismi di sicurezza, dispositivi di input/output e processi di avvio sicuri.
Google afferma che OpenTitan si basa su tre principi fondamentali:
- ognuno ha la possibilità di verificare 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 dal firmware di riferimento e dalla documentazione.
«Le attuali microchip con radici di fiducia sono estremamente proprietari. Dichiarano sicurezza, ma in realtà ci si deve fidare e non si possono verificare, — afferma Dominic Rizzo, esperto di sicurezza del progetto Google Titan. — Ora per la prima volta c'è la possibilità di garantire la sicurezza senza dover fidarsi ciecamente dei progettisti delle radici di fiducia proprietarie. Quindi la base non è solo robusta, è anche verificabile.»
Rizzo ha aggiunto che OpenTitan può essere considerato un «design radicalmente trasparente, rispetto alla situazione attuale».
Secondo gli sviluppatori, OpenTitan non deve essere in alcun modo considerato un prodotto finito, poiché lo sviluppo non è ancora concluso. Hanno aperto appositamente le specifiche e il design a metà dello sviluppo, affinché tutti possano verificare, contribuire e migliorare il sistema prima dell'inizio della produzione.
Per iniziare la produzione dei chip OpenTitan, è necessario presentare una richiesta e passare attraverso una certificazione. A quanto pare, non sono richiesti diritti di licenza.
Fonte: habr.com
