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

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

Organizzazione non profit bassoRISC con Google e altri sponsor il 5 novembre 2019 presentato progetto Open Titan, che definisce "il primo progetto open source per creare un'architettura di chip aperta e di alta qualità con una radice di fiducia (RoT) a livello hardware".

OpenTitan basato sull'architettura RISC-V è un chip speciale per l'installazione su server nei data center e in qualsiasi altra apparecchiatura dove è necessario garantire l'autenticità dell'avvio, proteggere il firmware dalle modifiche ed eliminare la possibilità di rootkit: si tratta di schede madri, schede di rete, router, dispositivi IoT, gadget mobili, ecc.

Naturalmente, moduli simili esistono nei processori moderni. Ad esempio, il modulo Intel Hardware Boot Guard è la radice della fiducia nei processori Intel. Verifica l'autenticità del BIOS UEFI attraverso una catena di fiducia prima di caricare il sistema operativo. Ma la domanda è: quanto possiamo fidarci delle radici di fiducia proprietarie, dato che non abbiamo alcuna garanzia che non ci siano bug nella progettazione e non c'è modo di verificarlo? Vedi articolo “Download affidabile di Schrödinger. Protezione avvio Intel" con la descrizione di “come un bug clonato da anni nella produzione di diversi fornitori consente a un potenziale aggressore di utilizzare questa tecnologia per creare un rootkit nascosto nel sistema che non può essere rimosso (nemmeno con un programmatore).

La minaccia di compromissione delle apparecchiature nella catena di fornitura è sorprendentemente reale: a quanto pare, qualsiasi ingegnere elettronico dilettante può saldare un bug nella scheda madre del serverutilizzando apparecchiature che non costano più di $ 200. Alcuni esperti sospettano che "organizzazioni con budget di centinaia di milioni di dollari potrebbero continuare a farlo per molti anni". Anche se non ci sono prove, teoricamente è possibile.

"Se non puoi fidarti del bootloader hardware, il gioco è finito," parla Gavin Ferris, membro del consiglio di amministrazione di lowRISC. - Non importa cosa fa il sistema operativo: se nel momento in cui il sistema operativo si carica sei compromesso, il resto è una questione di tecnologia. Hai già finito."

Questo problema dovrebbe essere risolto dalla prima piattaforma hardware aperta nel suo genere, OpenTitan (Repositorio GitHub, la documentazione, specifiche hardware). Allontanarsi dalle soluzioni proprietarie aiuterà a cambiare il “settore RoT lento e imperfetto”, afferma Google.

Google stessa ha iniziato a sviluppare Titan dopo aver scoperto il sistema operativo Minix integrato nei chip Intel Management Engine (ME). Questo sistema operativo complesso ha ampliato la superficie di attacco in modi imprevedibili e incontrollabili. Google ho provato a sbarazzarmi di Intel Management Engine (ME), ma senza successo.

Qual è la radice della fiducia?

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

Root of Trust (RoT) è un'autenticazione basata su hardware che garantisce che l'origine della prima istruzione eseguibile nella catena di fiducia non possa essere modificata. RoT è la protezione di base contro i rootkit. Questa è una fase chiave del processo di avvio, che è coinvolta nel successivo avvio del sistema, dal BIOS al sistema operativo e alle applicazioni. Deve verificare l'autenticità di ogni passaggio successivo del download. Per fare ciò, in ogni fase viene utilizzato un set di chiavi firmate digitalmente. Uno degli standard più diffusi per la protezione delle chiavi hardware è il TPM (Trusted Platform Module).

Il chip open source OpenTitan sostituirà le radici proprietarie della fiducia di Intel e ARM
Stabilire una radice di fiducia. Sopra è riportato un processo di avvio in cinque passaggi che crea una catena di fiducia, a partire dal bootloader nella memoria immutabile. Ogni passaggio utilizza una chiave pubblica per verificare l'identità del componente successivo da caricare. Illustrazione dal libro di Perry Lee "Architettura dell'Internet delle cose"

Il RoT può essere lanciato in diversi modi:

  • caricamento dell'immagine e della chiave root dal firmware o dalla memoria immutabile;
  • memorizzare la chiave fondamentale in una memoria programmabile una tantum utilizzando bit di fusibile;
  • Caricamento del codice da un'area di memoria protetta in un archivio protetto.

Diversi processori implementano la radice della fiducia in modo diverso. Intel e ARM
supportare le seguenti tecnologie:

  • ARM TrustZone. ARM vende un blocco di silicio proprietario ai produttori di chip che fornisce una radice di fiducia e altri meccanismi di sicurezza. Ciò separa il microprocessore dal nucleo non sicuro; esegue Trusted OS, un sistema operativo sicuro con un'interfaccia ben definita per interagire con componenti non sicuri. Le risorse protette risiedono nel nucleo attendibile e dovrebbero essere il più leggere possibile. Il passaggio tra componenti di diverso tipo viene effettuato utilizzando il cambio di contesto hardware, eliminando la necessità di un software di monitoraggio sicuro.
  • Protezione avvio Intel è un meccanismo hardware per verificare l'autenticità del blocco di avvio iniziale mediante mezzi crittografici o attraverso un processo di misurazione. Per verificare il blocco iniziale, il produttore deve generare una chiave da 2048 bit, composta da due parti: pubblica e privata. La chiave pubblica viene stampata sulla scheda “facendo esplodere” i pezzi del fusibile durante la produzione. Questi bit sono monouso e non possono essere modificati. La parte privata della chiave genera una firma digitale per la successiva autenticazione in fase di download.

La piattaforma OpenTitan espone le parti chiave di tale sistema hardware/software, come mostrato nel diagramma seguente.

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

Piattaforma OpenTitan

Lo sviluppo della piattaforma OpenTitan è gestito dall'organizzazione no-profit lowRISC. Il team di ingegneri ha sede a Cambridge (Regno Unito) e lo sponsor principale è Google. Tra i partner fondatori figurano l'ETH di Zurigo, G+D Mobile Security, Nuvoton Technology e Western Digital.

Google pubblicato un annuncio progetto sul blog aziendale di Google Open Source. La società ha affermato che OpenTitan si impegna a "fornire una guida di alta qualità sulla progettazione e l'integrazione di RoT da utilizzare nei server dei data center, nell'archiviazione, nei dispositivi edge e altro ancora".

La radice della fiducia è il primo anello della catena della fiducia al livello più basso in un modulo di Trusted Computing, che è sempre completamente considerato attendibile dal sistema.

Il RoT è fondamentale per le applicazioni che includono infrastrutture a chiave pubblica (PKI). È il fondamento del sistema di sicurezza su cui si basa un sistema complesso come un'applicazione IoT o un data center. Quindi è chiaro il motivo per cui Google sostiene questo progetto. Ora dispone di 19 data center in cinque continenti. I data center, lo storage e le applicazioni mission-critical presentano una vasta superficie di attacco e, per proteggere questa infrastruttura, Google ha inizialmente sviluppato la propria radice di fiducia sul chip Titan.

Chip Titan proprietario per i data center di Google è stato introdotto per la prima volta nel marzo 2017 alla conferenza Google Cloud Next. “I nostri computer eseguono controlli crittografici su ciascun pacchetto software e poi decidono se concedergli l'accesso alle risorse di rete. Titan si integra in questo processo e offre ulteriori livelli di protezione”, hanno affermato i rappresentanti di Google in quella presentazione.

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

L'architettura Titan era precedentemente di proprietà di Google, ma ora è stata resa di pubblico dominio come progetto open source.

La prima fase del progetto è la creazione di un progetto RoT logico a livello di chip, incluso un microprocessore open source stambecco a basso RISC, processori crittografici, generatore di numeri casuali hardware, gerarchie di chiavi e memoria per l'archiviazione non volatile e non volatile, meccanismi di sicurezza, periferiche I/O e processi di avvio sicuri.

Google afferma che OpenTitan si basa su tre principi chiave:

  • tutti hanno l'opportunità di controllare la piattaforma e contribuire;
  • maggiore flessibilità grazie all'apertura di una progettazione logicamente sicura che non sia bloccata dalle restrizioni proprietarie dei fornitori;
  • qualità assicurata non solo dal design stesso, ma anche dal firmware e dalla documentazione di riferimento.

“Gli attuali chip con radici di fiducia sono molto proprietari. Dicono di essere sicuri, ma in realtà lo dai per scontato e non puoi verificarlo da solo, afferma Dominic Rizzo, specialista in sicurezza capo del progetto Google Titan. “Ora, per la prima volta, è possibile fornire sicurezza senza fiducia cieca negli sviluppatori di un progetto proprietario root of trust. Quindi le basi non solo sono solide, ma possono essere verificate”.

Rizzo ha aggiunto che OpenTitan può essere considerato "un design radicalmente trasparente rispetto allo stato attuale delle cose".

Secondo gli sviluppatori OpenTitan non deve in alcun modo essere considerato un prodotto finito, perché lo sviluppo non è ancora terminato. Hanno deliberatamente aperto le specifiche e il progetto a metà dello sviluppo in modo che tutti potessero rivederlo, fornire input e migliorare il sistema prima dell'inizio della produzione.

Per iniziare a produrre chip OpenTitan, è necessario presentare domanda e ottenere la certificazione. Apparentemente non sono richieste royalties.

Fonte: habr.com

Aggiungi un commento