Este conteúdo foi atualizado pela última vez em janeiro de 2025 e representa o estado do momento em que foi escrito. Os sistemas e as políticas de segurança do Google podem mudar no futuro à medida que melhoramos continuamente a proteção dos clientes.
O chip Titan é um chip criado especificamente para estabelecer a raiz de confiança de hardware para plataformas em Google Cloud data centers. O chip Titan é um microcontrolador de baixa potência implantado em plataformas como servidores, infraestrutura de rede e outros periféricos de data center.
O chip Titan é um componente importante da arquitetura de segurança de hardware Titanium, que oferece uma camada de segurança fundamental que ajuda a proteger contra ataques físicos e ameaças aos dados do usuário. O chip Titan permite que o Google identifique e meça com segurança o firmware e a configuração da plataforma. Ele foi projetado para proteger contra ataques de software privilegiados e rootkits, do processo de inicialização da máquina em diante.
Este documento descreve a arquitetura do chip e os benefícios de segurança do chip Titan. O chip Titan oferece suporte a uma base de computação confiável (TCB, na sigla em inglês) mínima que permite que o chip ofereça os seguintes benefícios:
- Uma raiz de confiança de hardware que cria uma identidade forte para uma máquina
- Verificação de integridade do firmware da plataforma, tanto no momento da inicialização quanto da atualização
- Fluxos de vedação de credenciais remotas que sustentam o sistema de gerenciamento de credenciais de máquina do Google
Família de chips Titan
Os primeiros chips Titan foram projetados em 2014. As gerações posteriores incorporaram a experiência adquirida durante os processos iterativos de fabricação, integração e implantação. Para mais informações sobre como o Google contribuiu com nosso conhecimento sobre o chip Titan para a comunidade de segurança de hardware de código aberto, consulte opentitan.org.
Os chips Titan incluem os seguintes componentes:
- Processador seguro
- Coprocessador criptográfico AES e SHA
- Gerador de números aleatórios de hardware
- Hierarquia de chaves sofisticada
- RAM estática incorporada (SRAM), flash e ROM
Identidade de fabricação do Titan
Durante o processo de fabricação do chip Titan, os chips são movidos para uma sala segura na instalação de montagem e teste de semicondutores terceirizados (OSAT, na sigla em inglês) para que possam ser provisionados com a identidade deles. Essa sala atende aos padrões ISO e Common Criteria. Ela tem quatro câmeras redundantes (todos os cantos) e uma porta de leitor de crachá que só pode ser aberta durante emergências operacionais. Nenhum ser humano está na sala quando os chips são provisionados. O processo é totalmente automatizado.
Os dispositivos entram por um gabinete em uma parede e são inseridos em um manipulador automatizado. Cada gerenciador é equipado com um chip Titan chamado Scribe. O Scribe inclui firmware de provisionamento e tem uma interface periférica serial (SPI, na sigla em inglês), redefinição e conexões de transmissor-receptor assíncrono universal (UART, na sigla em inglês) ao dispositivo em teste (DUT, na sigla em inglês), que é o chip Titan que está sendo fabricado. O Scribe é coberto com epóxi, com marcações invioláveis exclusivas. O manipulador automatizado leva o DUT para um leito de pregos, onde ele é ligado. O Scribe libera o DUT da redefinição, alimenta o firmware de execução e executa o processo de provisionamento.
Durante o processo de provisionamento, o DUT verifica o firmware de provisionamento usando uma chave pública incorporada na ROM de máscara. O firmware usa o gerador de números aleatórios verdadeiro (TRNG, na sigla em inglês) do chip para gerar um secret de dispositivo interno, que ele grava nos fusíveis dos chips. Esse secret é a raiz de todas as derivações de chaves que o chip executa no futuro. O Scribe não conhece esse secret. O DUT gera um manifesto de personalização que inclui a chave pública exclusiva derivada do secret do dispositivo interno. O manifesto de personalização é autenticado por uma chave de classe incorporada no nível de transferência de registro (RTL, na sigla em inglês) do DUT. O Scribe coleta o manifesto de personalização pelo SPI e o assina usando uma chave exclusiva desse Scribe. O manifesto de personalização é enviado e armazenado em um banco de dados de registro do Google.
Cada chave de assinatura do Scribe é registrada em uma cerimônia presencial quando o Scribe é colocado em serviço. Além disso, o Scribe só mantém a chave privada de assinatura na memória volátil, garantindo que, se o Scribe for removido da instalação segura, ele perderá a chave de assinatura após a perda de energia. Cada Scribe precisa buscar uma cópia exclusiva da chave de assinatura de um serviço do Google sempre que for ligado. A cópia encapsulada da chave de assinatura de um determinado Scribe é estabelecida quando o Scribe é registrado inicialmente off-line por um quórum k-de-n e só pode ser desencapsulada por esse Scribe.
Quando as plataformas ativadas pelo Titan são integradas à rede de produção do Google, os sistemas de back-end podem verificar se essas plataformas estão equipadas com chips Titan autênticos, verificando a chave pública exclusiva do Titan no banco de dados de manifestos de personalização coletados. Para mais informações sobre como os serviços usam o sistema de identidade do Titan, consulte Processo de vedação de credenciais processo.
Os chips Titan usam os pares de chaves exclusivos do dispositivo para atestar o firmware de maneira semelhante ao mecanismo de composição de identificador de dispositivo (DICE). Os chips Titan originais foram certificados usando um design personalizado do Google, porque esses chips foram fabricados antes da introdução dos padrões relevantes do setor. A experiência do Google na fabricação e implantação de hardware seguro nos motiva a aumentar a participação em processos de padrões, e padrões mais recentes, como DICE, Trusted Platform Module (TPM) e Security Protocol and Data Mode (SPDM), incluem mudanças que refletem nossa experiência.
Integração do Titan
Quando o chip Titan é integrado a uma plataforma, ele oferece proteções de segurança a um processador de aplicativos (AP, na sigla em inglês). Por exemplo, o Titan pode ser pareado com uma CPU que executa cargas de trabalho, um controlador de gerenciamento da placa base (BMC, na sigla em inglês) ou um acelerador para cargas de trabalho, como machine learning.
O Titan se comunica com o AP usando o barramento SPI. O Titan se interpõe entre o AP e o chip flash de firmware de inicialização do AP, garantindo que o Titan possa ler e medir cada byte desse firmware antes que ele seja executado no momento da inicialização.
As etapas a seguir ocorrem quando uma plataforma ativada pelo Titan é ligada:
- O Titan mantém a CPU no modo de redefinição enquanto o processador de aplicativos interno do Titan executa um código imutável (a ROM de inicialização) da memória somente leitura incorporada.
- O Titan executa um autoteste integrado para verificar se toda a memória (incluindo a ROM) não foi adulterada.
- A ROM de inicialização do Titan verifica o firmware do Titan usando a criptografia de chave pública e mistura a identidade do firmware verificado na hierarquia de chaves do Titan.
- A ROM de inicialização do Titan carrega o firmware verificado do Titan.
- O firmware do Titan verifica o conteúdo do flash de firmware de inicialização do AP usando a criptografia de chave pública. O Titan bloqueia o acesso do AP ao flash de firmware de inicialização até que o processo de verificação seja concluído.
- Após a verificação, o chip Titan libera o AP da redefinição, permitindo que o AP seja inicializado.
- O firmware do AP executa uma configuração adicional, que pode incluir o lançamento de outras imagens de inicialização. O AP pode capturar medições dessas imagens de inicialização e enviar as medições para o Titan para monitoramento seguro.
Essas etapas alcançam a integridade da primeira instrução porque o Google pode identificar o firmware de inicialização e o SO que foi inicializado na máquina desde a primeira instrução executada durante o ciclo de inicialização. Para APs com CPUs que aceitam atualizações de microcódigo, o processo de inicialização também informa ao Google quais patches de microcódigo foram buscados antes da primeira instrução do firmware de inicialização. Para mais informações, consulte Processo de inicialização medido.
Esse fluxo é semelhante ao processo de inicialização realizado por plataformas equipadas com um TPM. No entanto, os chips Titan incluem recursos que geralmente não estão disponíveis em TPMs padrão, como a auto-atestação de firmware interno do Titan ou a segurança de upgrade de firmware do AP, conforme descrito nas seções a seguir.
As integrações padrão do TPM podem ser vulneráveis a ataques de interposição física. As integrações mais recentes do Titan no Google atenuam esses ataques usando raízes de confiança integradas. Para mais informações, consulte TPM Transport Security: Defeating Active Interposers with DICE (YouTube).
Upgrade seguro do firmware do Titan
O firmware do chip Titan é assinado por uma chave mantida em um HSM off-line, que é protegido por controles baseados em quórum. A ROM de inicialização do Titan verifica a assinatura do firmware do Titan sempre que o chip é inicializado.
O firmware do Titan é assinado com um número de versão de segurança (SVN, na sigla em inglês), que transmite o estado de segurança da imagem. Se uma imagem de firmware incluir uma correção de vulnerabilidade, o SVN da imagem será incrementado. O hardware do Titan permite que a rede de produção ateste fortemente o SVN do firmware do Titan, mesmo que o firmware mais antigo tenha vulnerabilidades. O processo de upgrade nos permite recuperar dessas vulnerabilidades em escala, mesmo que elas afetem o próprio firmware do Titan. Para mais informações, consulte Como se recuperar de vulnerabilidades no firmware da raiz de confiança.
O Google contribuiu para a versão mais recente da especificação da biblioteca do TPM, que agora inclui recursos que permitem que outros TPMs ofereçam garantias de auto-atestação semelhantes. Para mais informações, consulte a seção Objetos limitados ao firmware e limitados ao SVN (PDF) da versão 1.83 da especificação da arquitetura do TPM. Esses recursos do TPM foram implementados e implantados nos nossos chips Titan mais recentes.
Upgrade seguro do firmware do AP
Além do firmware do Titan, também assinamos criptograficamente o firmware executado no AP. O Titan verifica essa assinatura como parte do processo de inicialização da plataforma. Ele também verifica essa assinatura sempre que o firmware do AP é atualizado, garantindo que apenas imagens de firmware do AP autênticas possam ser gravadas no chip flash de firmware de inicialização do AP. Esse processo de verificação atenua ataques que tentam instalar backdoors persistentes ou tornar a plataforma não inicializável. A verificação de assinatura também oferece defesa em profundidade para as plataformas do Google no caso de uma CPU ter uma vulnerabilidade no próprio mecanismo de autenticação de microcódigo.
A seguir
Saiba mais sobre nosso processo de integridade de inicialização.