Chip hardware Titan

Questi contenuti sono stati aggiornati per l'ultima volta a gennaio 2025 e rappresentano lo status quo al momento della redazione. Le norme e i sistemi di sicurezza di Google potrebbero cambiare in futuro, poiché miglioriamo continuamente la protezione per i nostri clienti.

Il chip Titan è un chip creato appositamente che stabilisce la radice di attendibilità hardware per le piattaforme nei Google Cloud data center. Il chip Titan è un microcontrollore a basso consumo energetico che viene implementato su piattaforme come server, infrastrutture di rete e altre periferiche dei data center.

Il chip Titan è un componente importante dell'architettura di sicurezza hardware Titanium security architecture, che fornisce un livello di sicurezza di base che aiuta a proteggere da attacchi fisici e minacce ai dati degli utenti. Il chip Titan consente a Google di identificare e misurare in modo sicuro il firmware e la configurazione della piattaforma. È progettato per proteggere da attacchi software con privilegi e rootkit, a partire dal processo di avvio della macchina.

Questo documento descrive l'architettura del chip e i vantaggi in termini di sicurezza del chip Titan. Il chip Titan supporta una base di calcolo attendibile (TCB) minima che consente al chip di fornire i seguenti vantaggi:

  • Una radice di attendibilità hardware che crea un'identità solida per una macchina
  • Verifica dell'integrità del firmware della piattaforma, sia al momento dell'avvio sia al momento dell'aggiornamento
  • Flussi di sigillatura delle credenziali remoti che sono alla base del sistema di gestione delle credenziali della macchina di Google

La famiglia di chip Titan

I primi chip Titan sono stati progettati nel 2014. Le generazioni successive hanno incorporato l'esperienza acquisita durante i processi iterativi di produzione, integrazione e deployment. Per saperne di più su come Google ha contribuito con le proprie conoscenze sul chip Titan alla community di sicurezza hardware open source, visita opentitan.org.

I chip Titan includono i seguenti componenti:

  • Processore sicuro
  • Coprocessore crittografico AES e SHA
  • Generatore di numeri casuali hardware
  • Gerarchia delle chiavi sofisticata
  • RAM statica incorporata (SRAM), flash e ROM

Identità di produzione Titan

Durante il processo di produzione dei chip Titan, i chip vengono spostati in una stanza sicura nella struttura OSAT (Outsourced Semiconductor Assembly and Test) in modo che possano essere sottoposti a provisioning con la loro identità. Questa stanza soddisfa gli standard ISO e Common Criteria. Dispone di quattro videocamere ridondanti (tutte angolari) e di una porta con lettore di badge che deve essere aperta solo durante le emergenze operative. Non sono presenti persone nella stanza durante il provisioning dei chip; il processo è completamente automatizzato.

I dispositivi entrano attraverso un involucro in una parete e vengono inseriti in un gestore automatico. Ogni gestore è dotato di un chip Titan chiamato Scribe. Scribe include il firmware di provisioning e dispone di connessioni SPI (Serial Peripheral Interface), di ripristino e UART (Universal Asynchronous Receiver-Transmitter) al dispositivo in fase di test (DUT), ovvero il chip Titan in fase di produzione. Scribe è rivestito di resina epossidica e presenta marcature univoche che evidenziano eventuali manomissioni. Il gestore automatico spinge il DUT in un letto di aghi, dove si accende. Scribe rilascia il DUT dal ripristino, gli fornisce il firmware di esecuzione ed esegue il processo di provisioning.

Durante il processo di provisioning, il DUT verifica il firmware di provisioning utilizzando una chiave pubblica incorporata nella ROM della maschera. Il firmware utilizza il generatore di numeri casuali (TRNG) del chip per generare un secret del dispositivo interno, che viene memorizzato nei fusibili dei chip. Questo secret è la radice di tutte le derivazioni di chiavi che il chip eseguirà in futuro. Scribe non conosce questo secret. Il DUT genera un manifest di personalizzazione che include la sua chiave pubblica univoca derivata dal secret del dispositivo interno. Il manifest di personalizzazione viene autenticato da una chiave di classe incorporata nel livello di trasferimento dei registri (RTL) del DUT. Scribe raccoglie il manifest di personalizzazione tramite SPI, quindi lo firma utilizzando una chiave univoca per quel Scribe. Il manifest di personalizzazione viene quindi caricato e archiviato in un database di registro di Google.

Ogni chiave di firma di Scribe viene registrata durante una cerimonia di persona quando Scribe viene messo in servizio. Inoltre, Scribe conserva la chiave privata di firma solo nella memoria volatile, assicurandosi che, se Scribe viene rimosso dalla struttura sicura, perda la chiave di firma in caso di interruzione dell'alimentazione. Ogni Scribe deve recuperare una copia della chiave di firma con wrapping univoco da un servizio Google ogni volta che viene acceso. La copia con wrapping della chiave di firma di un determinato Scribe viene stabilita quando Scribe è stato registrato inizialmente offline da un quorum k-of-n e può essere scartata solo da Scribe.

Quando le piattaforme abilitate per Titan vengono integrate nella rete di produzione di Google, i sistemi di backend possono verificare che queste piattaforme siano dotate di chip Titan autentici verificando la chiave pubblica univoca di Titan rispetto al database dei manifest di personalizzazione raccolti. Per saperne di più su come i servizi utilizzano il sistema di identità Titan, consulta la sezione Procedura di sigillatura delle credenziali.

I chip Titan utilizzano le coppie di chiavi univoche del dispositivo per attestare il firmware in un modo simile a DICE (Device Identifier Composition Engine). I chip Titan originali sono stati certificati utilizzando un design personalizzato di Google, perché questi chip sono stati prodotti prima dell'introduzione degli standard di settore pertinenti. L'esperienza di Google nella produzione e nel deployment di hardware sicuro ci spinge ad aumentare la partecipazione ai processi di standardizzazione e i nuovi standard come DICE, TPM (Trusted Platform Module) e SPDM (Security Protocol and Data Mode) includono modifiche che riflettono la nostra esperienza.

Integrazione di Titan

Quando il chip Titan viene integrato in una piattaforma, fornisce protezioni di sicurezza a un processore di applicazioni (AP). Ad esempio, Titan potrebbe essere abbinato a una CPU che esegue carichi di lavoro, a un BMC (Baseboard Management Controller) o a un acceleratore per carichi di lavoro come il machine learning.

Titan comunica con l'AP utilizzando il bus SPI. Titan si interpone tra l'AP e il chip flash del firmware di avvio dell'AP, assicurandosi che Titan possa leggere e misurare ogni byte di quel firmware prima che venga eseguito al momento dell'avvio.

Quando una piattaforma abilitata per Titan viene accesa, si verificano i seguenti passaggi:

  1. Titan mantiene la CPU in modalità di ripristino mentre il processore di applicazioni interno di Titan esegue codice immutabile (la ROM di avvio) dalla memoria di sola lettura incorporata.
  2. Titan esegue un test automatico integrato per verificare che la memoria (inclusa la ROM) non sia stata manomessa.
  3. La ROM di avvio di Titan verifica il firmware di Titan utilizzando la crittografia con chiave pubblica e combina l'identità del firmware verificato nella gerarchia delle chiavi di Titan.
  4. La ROM di avvio di Titan carica il firmware verificato di Titan.
  5. Il firmware di Titan verifica i contenuti del flash del firmware di avvio dell'AP utilizzando la crittografia con chiave pubblica. Titan blocca l'accesso dell'AP al flash del firmware di avvio finché il processo di verifica non viene completato correttamente.
  6. Dopo la verifica, il chip Titan rilascia l'AP dal ripristino, consentendo l'avvio dell'AP.
  7. Il firmware dell'AP esegue una configurazione aggiuntiva, che potrebbe includere l'avvio di altre immagini di avvio. L'AP può acquisire misurazioni di queste immagini di avvio e inviarle a Titan per un monitoraggio sicuro.

Questi passaggi consentono di ottenere l'integrità della prima istruzione perché Google può identificare il firmware di avvio e il sistema operativo avviati sulla macchina dalla prima istruzione eseguita durante il ciclo di avvio. Per gli AP con CPU che accettano aggiornamenti del microcodice, la procedura di avvio consente anche a Google di sapere quali patch del microcodice sono state recuperate prima della prima istruzione del firmware di avvio. Per saperne di più, consulta la sezione Procedura di avvio misurato processo.

Questo flusso è simile alla procedura di avvio eseguita dalle piattaforme dotate di TPM. Tuttavia, i chip Titan includono funzionalità che non sono generalmente disponibili sui TPM standard, come l'autoattestazione del firmware interno di Titan o la sicurezza dell'upgrade del firmware dell'AP, come descritto nelle sezioni seguenti.

Le integrazioni TPM standard possono essere vulnerabili agli attacchi di interposizione fisica. Le nuove integrazioni di Titan in Google mitigano questi attacchi utilizzando radici di attendibilità integrate. Per saperne di più, guarda il video TPM Transport Security: Defeating Active Interposers with DICE (YouTube).

Upgrade sicuro del firmware di Titan

Il firmware del chip Titan è firmato da una chiave conservata in un HSM offline, protetto da controlli basati sul quorum. La ROM di avvio di Titan verifica la firma del firmware di Titan ogni volta che il chip viene avviato.

Il firmware di Titan è firmato con un numero di versione di sicurezza (SVN), che indica lo stato di sicurezza dell'immagine. Se un'immagine del firmware include una correzione di vulnerabilità, l'SVN dell'immagine viene incrementato. L'hardware di Titan consente alla rete di produzione di attestare con forza l'SVN del firmware di Titan, anche se il firmware precedente potrebbe aver avuto vulnerabilità. La procedura di upgrade ci consente di recuperare da queste vulnerabilità su larga scala, anche se interessano il firmware di Titan. Per saperne di più, consulta la sezione Recupero da vulnerabilità nel firmware della radice di attendibilità.

Google ha contribuito all'ultima versione della specifica della libreria TPM, che ora include funzionalità che consentono ad altri TPM di fornire garanzie di autoattestazione simili. Per saperne di più, consulta la sezione TPM Firmware-Limited and SVN-Limited Objects (PDF) della versione 1.83 della specifica dell'architettura TPM. Queste funzionalità TPM sono state implementate e sottoposte a deployment sui nostri ultimi chip Titan.

Upgrade sicuro del firmware dell'AP

Oltre al firmware di Titan, firmiamo anche crittograficamente il firmware eseguito sull'AP. Titan verifica questa firma come parte della procedura di avvio della piattaforma. Verifica anche questa firma ogni volta che il firmware dell'AP viene aggiornato, applicando che solo le immagini del firmware dell'AP autentiche possono essere scritte sul chip flash del firmware di avvio dell'AP. Questa procedura di verifica mitiga gli attacchi che tentano di installare backdoor persistenti o di rendere la piattaforma non avviabile. La verifica della firma fornisce anche una difesa approfondita per le piattaforme di Google nel caso in cui una CPU abbia una vulnerabilità nel proprio meccanismo di autenticazione del microcodice.

Passaggi successivi

Scopri di più sulla nostra procedura di integrità dell'avvio.