Este contenido se actualizó por última vez en enero de 2025 y representa el statu quo en el momento de su redacción. Es posible que cambien las políticas y los sistemas de seguridad de Google en el futuro, ya que mejoramos la protección de nuestros clientes de forma continua.
El chip Titan es un chip creado para propósitos específicos que establece la raíz de confianza del hardware para las plataformas en los Google Cloud centros de datos. El chip Titan es un microcontrolador de bajo consumo que se implementa en plataformas como servidores, infraestructura de red y otros periféricos de centros de datos.
El chip Titan es un componente importante de la arquitectura de seguridad de hardware Titanium, que proporciona una capa de seguridad fundamental que ayuda a proteger contra ataques físicos y amenazas a los datos del usuario. El chip Titan permite que Google identifique y mida de forma segura el firmware y la configuración de la plataforma. Está diseñado para proteger contra ataques de software con privilegios y rootkits, desde el proceso de inicio de la máquina en adelante.
En este documento, se describen la arquitectura del chip Titan y sus beneficios en cuanto a seguridad. El chip Titan admite una base de procesamiento confiable (TCB) mínima que le permite brindar los siguientes beneficios:
- Una raíz de confianza de hardware que crea una identidad sólida para una máquina
- Verificación de la integridad del firmware de la plataforma, tanto en el momento del inicio como en el de la actualización
- Flujos de sellado de credenciales remotas que sustentan el sistema de administración de credenciales de máquinas de Google
La familia de chips Titan
Los primeros chips Titan se diseñaron en 2014. Las generaciones posteriores incorporaron la experiencia que se obtuvo durante los procesos iterativos de fabricación, integración y despliegue. Para obtener más información sobre cómo Google aportó su conocimiento sobre el chip Titan a la comunidad de seguridad de hardware de código abierto, consulta opentitan.org.
Los chips Titan incluyen los siguientes componentes:
- Procesador seguro
- Coprocesador criptográfico AES y SHA
- Generador de números aleatorios de hardware
- Jerarquía de claves sofisticada
- RAM estática (SRAM), memoria flash y ROM integradas
Identidad de fabricación de Titan
Durante el proceso de fabricación de los chips Titan, estos se trasladan a una sala segura en la instalación de Outsourced Semiconductor Assembly and Test (OSAT) para que se les pueda aprovisionar su identidad. Esta sala cumple con los estándares de ISO y criterios comunes. Tiene cuatro cámaras redundantes (en todas las esquinas) y una puerta con lector de identificación que solo debe abrirse durante emergencias operativas. No hay personas en la sala cuando se aprovisionan los chips; el proceso es completamente automático.
Los dispositivos ingresan a través de un gabinete en una pared y se insertan en un manipulador automatizado. Cada manipulador está equipado con un chip Titan que se conoce como Scribe. El Scribe incluye firmware de aprovisionamiento y tiene una interfaz periférica serial (SPI), restablecimiento y conexiones de transmisor-receptor asíncrono universal (UART) al dispositivo en prueba (DUT) (que es el chip Titan que se está fabricando). El Scribe está cubierto de resina epoxi y tiene marcas únicas a prueba de manipulaciones. El manipulador automatizado introduce el DUT en una cama de clavos, donde se enciende. El Scribe libera el DUT del restablecimiento, le proporciona el firmware de ejecución y ejecuta el proceso de aprovisionamiento.
Durante el proceso de aprovisionamiento, el DUT verifica el firmware de aprovisionamiento con una clave pública incorporada en su ROM de máscara. El firmware usa el generador de números aleatorios verdaderos (TRNG) del chip para generar un secreto interno del dispositivo, que se graba en los fusibles del chip. Este secreto es la raíz de todas las derivaciones de claves que ejecutará el chip en el futuro. Scribe no conoce este secreto. El DUT genera un manifiesto de personalización que incluye su clave pública única derivada del secreto interno del dispositivo. El manifiesto de personalización se autentica con una clave de clase incorporada en el registro de transferencia (RTL) del DUT. Scribe recopila el manifiesto de personalización a través de la SPI y, luego, lo firma con una clave exclusiva para ese Scribe. Luego, el manifiesto de personalización se sube y se almacena en una base de datos de registro de Google.
Cada clave de firma de Scribe se registra en una ceremonia presencial cuando se pone en servicio el Scribe. Además, el Scribe solo conserva su clave privada de firma en la memoria volátil, lo que garantiza que, si se quita de la instalación segura, pierda la clave de firma cuando se corte la energía. Cada Scribe debe recuperar una copia de su clave de firma envuelta de forma única desde un servicio de Google cada vez que se enciende. La copia encapsulada de la clave de firma de un Scribe determinado se establece cuando un quórum de k de n registró inicialmente al Scribe sin conexión, y solo ese Scribe puede desencapsularla.
Cuando las plataformas habilitadas para Titan se integran en la red de producción de Google, los sistemas de backend pueden verificar que estas plataformas estén equipadas con chips Titan auténticos. Para ello, verifican la clave pública única de Titan en la base de datos de manifiestos de personalización recopilados. Para obtener más información sobre cómo los servicios usan el sistema de identidad de Titan, consulta el proceso de sellado de credenciales.
Los chips Titan usan sus pares de claves únicos del dispositivo para certificar su firmware de una manera similar a Device Identifier Composition Engine (DICE). Los chips Titan originales se certificaron con un diseño personalizado de Google, ya que se fabricaron antes de que se introdujeran los estándares pertinentes de la industria. La experiencia de Google en la fabricación y la implementación de hardware seguro nos motiva a aumentar la participación en los procesos de estándares, y los estándares más nuevos, como DICE, el Módulo de plataforma segura (TPM) y el Protocolo de seguridad y modo de datos (SPDM), incluyen cambios que reflejan nuestra experiencia.
Integración de Titan
Cuando el chip Titan se integra en una plataforma, proporciona protecciones de seguridad a un procesador de aplicaciones (AP). Por ejemplo, Titan puede combinarse con una CPU que ejecuta cargas de trabajo, un controlador de administración de placas base (BMC) o un acelerador para cargas de trabajo, como el aprendizaje automático.
Titan se comunica con el AP a través del bus SPI. Titan se interpone entre el AP y el chip flash del firmware de inicio del AP, lo que garantiza que Titan pueda leer y medir cada byte de ese firmware antes de que se ejecute en el momento del inicio.
Cuando se enciende una plataforma con Titan, se realizan los siguientes pasos:
- Titan mantiene la CPU en modo de restablecimiento mientras el procesador de aplicaciones interno de Titan ejecuta código inmutable (la ROM de arranque) desde su memoria de solo lectura integrada.
- Titan ejecuta una autocomprobación integrada para verificar que no se haya manipulado la memoria (incluida la ROM).
- La ROM de arranque de Titan verifica el firmware de Titan con criptografía de clave pública y mezcla la identidad del firmware verificado en la jerarquía de claves de Titan.
- La ROM de inicio de Titan carga el firmware verificado de Titan.
- El firmware de Titan verifica el contenido de la memoria flash del firmware de arranque del AP con criptografía de clave pública. Titan bloquea el acceso del AP a su firmware de arranque flash hasta que el proceso de verificación se complete correctamente.
- Después de la verificación, el chip Titan libera el AP del restablecimiento, lo que permite que se inicie.
- El firmware del AP realiza una configuración adicional, que puede incluir el inicio de más imágenes de arranque. El AP puede capturar mediciones de estas imágenes de arranque y enviarlas a Titan para una supervisión segura.
Estos pasos logran la integridad de la primera instrucción porque Google puede identificar el firmware de inicio y el SO que se iniciaron en la máquina desde la primera instrucción que se ejecuta durante el ciclo de inicio. En el caso de los AP con CPU que aceptan actualizaciones de microcódigo, el proceso de inicio también le permite a Google saber qué parches de microcódigo se recuperaron antes de la primera instrucción del firmware de inicio. Para obtener más información, consulta Proceso de inicio medido.
Este flujo es similar al proceso de arranque que realizan las plataformas equipadas con un TPM. Sin embargo, los chips Titan incluyen funciones que no suelen estar disponibles en los TPM estándar, como la autoatestación del firmware interno de Titan o la seguridad de la actualización del firmware del AP, como se describe en las siguientes secciones.
Las integraciones de TPM estándar pueden ser vulnerables a ataques de interposición física. Las integraciones más recientes de Titan en Google mitigan estos ataques con raíces de confianza integradas. Para obtener más información, consulta TPM Transport Security: Defeating Active Interposers with DICE (Seguridad de transporte del TPM: cómo derrotar a los interpositores activos con DICE) (YouTube).
Actualización segura del firmware de Titan
El firmware del chip Titan está firmado con una clave que se encuentra en un HSM sin conexión, que está protegido por controles basados en quórum. La ROM de inicio de Titan verifica la firma del firmware de Titan cada vez que se inicia el chip.
El firmware de Titan está firmado con un número de versión de seguridad (SVN), que indica el estado de seguridad de la imagen. Si una imagen de firmware incluye una corrección de vulnerabilidad, se incrementa el SVN de la imagen. El hardware de Titan permite que la red de producción certifique de forma sólida el SVN del firmware de Titan, incluso si el firmware anterior podría haber tenido vulnerabilidades. El proceso de actualización nos permite recuperarnos de estas vulnerabilidades a gran escala, incluso si afectan el firmware de Titan. Para obtener más información, consulta Recupérate de las vulnerabilidades en el firmware de raíz de confianza.
Google contribuyó a la versión más reciente de la especificación de la biblioteca de TPM, que ahora incluye funciones que permiten que otros TPM proporcionen garantías similares de autoatestación. Para obtener más información, consulta la sección TPM Firmware-Limited and SVN-Limited Objects (Objetos limitados por firmware y SVN del TPM) (PDF) de la versión 1.83 de la especificación de la arquitectura del TPM. Estas funciones del TPM se implementaron y se lanzaron en nuestros chips Titan más recientes.
Actualización segura del firmware del AP
Además del firmware de Titan, también firmamos de forma criptográfica el firmware que se ejecuta en el AP. Titan verifica esta firma como parte del proceso de inicio de la plataforma. También verifica esta firma cada vez que se actualiza el firmware del AP, lo que garantiza que solo se puedan escribir imágenes de firmware del AP auténticas en el chip flash del firmware de inicio del AP. Este proceso de verificación mitiga los ataques que intentan instalar puertas traseras persistentes o hacer que la plataforma no se pueda iniciar. La verificación de firmas también proporciona una defensa en profundidad para las plataformas de Google en caso de que una CPU tenga una vulnerabilidad en su propio mecanismo de autenticación de microcódigo.
¿Qué sigue?
Obtén más información sobre nuestro proceso de integridad del inicio.