Puce matérielle Titan

Ce contenu a été mis à jour pour la dernière fois en janvier 2025, et correspond à l'état des connaissances à sa date de rédaction. Il est possible que les règles et les systèmes de sécurité de Google changent par la suite, car nous améliorons continuellement la protection de nos clients.

La puce Titan est une puce spécialement conçue pour établir la racine matérielle de confiance des plates-formes dans les centres de données. Google Cloud Le chip Titan est un microcontrôleur basse consommation qui est déployé sur des plates-formes telles que des serveurs, une infrastructure réseau et d'autres périphériques de centre de données.

La puce Titan est un composant important de l'architecture de sécurité matérielle Titanium, qui fournit une couche de sécurité de base qui aide à protéger contre les attaques physiques et les menaces sur les données utilisateur. La puce Titan permet à Google d'identifier et de mesurer de manière sécurisée le micrologiciel et la configuration de la plate-forme. Il est conçu pour protéger contre les attaques logicielles privilégiées et les rootkits, à partir du processus de démarrage de la machine.

Ce document décrit l'architecture du chip et les avantages de sécurité du chip Titan. La puce Titan est compatible avec une base de calcul sécurisée (TCB) minimale qui lui permet de fournir les avantages suivants:

  • Racine de confiance matérielle qui crée une identité forte pour une machine
  • Vérification de l'intégrité du micrologiciel de la plate-forme, au démarrage et au moment de la mise à jour
  • Flux de scellement des identifiants à distance qui sous-tendent le système de gestion des identifiants de machine de Google

La famille de puces Titan

Les premières puces Titan ont été conçues en 2014. Les générations suivantes ont intégré l'expérience acquise lors des processus itératifs de fabrication, d'intégration et de déploiement. Pour en savoir plus sur la façon dont Google a contribué à la communauté de sécurité matérielle Open Source avec ses connaissances sur la puce Titan, consultez opentitan.org.

Les puces Titan incluent les composants suivants:

  • Processeur sécurisé
  • Coprocesseur cryptographique AES et SHA
  • Générateur de nombres aléatoires matériel
  • Hiérarchie des clés sophistiquée
  • Mémoire RAM statique (SRAM) intégrée, flash et ROM

Identité de fabrication Titan

Au cours du processus de fabrication des puces Titan, chaque puce Titan génère du matériel de clé unique. Ce matériel de clé est certifié et utilisé pour générer des enregistrements d'approbation. Ces enregistrements d'approbation sont stockés dans une ou plusieurs bases de données de registre et sont protégés de manière cryptographique à l'aide de contrôles multiparties et de coupure réseau.

Lorsque des plates-formes compatibles avec Titan sont intégrées au réseau de production Google, les systèmes backend peuvent vérifier qu'elles sont équipées de puces Titan authentiques. Les puces Titan authentiques sont provisionnées avec des clés qui ont été enregistrées et certifiées lors du processus de fabrication Titan. Pour en savoir plus sur la façon dont les services utilisent le système d'identité Titan, consultez la section Processus de scellement des identifiants.

Les identités des puces Titan de dernière génération sont générées et certifiées conformément aux normes du secteur, telles que DICE (Device Identifier Composition Engine). Les puces Titan d'origine ont été certifiées à l'aide d'une conception personnalisée de Google, car elles ont été fabriquées avant l'introduction des normes du secteur pertinentes. L'expérience de Google dans la fabrication et le déploiement de matériel sécurisé nous motive à participer davantage aux processus de normalisation. Les normes plus récentes, telles que DICE, TPM (Trusted Platform Module) et SPDM (Security Protocol and Data Model), incluent des modifications qui reflètent notre expérience.

Intégration de Titan

Lorsque la puce Titan est intégrée à une plate-forme, elle fournit des protections de sécurité à un processeur d'application (PA). Par exemple, Titan peut être associé à un processeur qui exécute des charges de travail, à un contrôleur de gestion de baseboard (BMC) ou à un accélérateur pour les charges de travail telles que le machine learning.

Titan communique avec le point d'accès à l'aide du bus SPI (Serial Peripheral Interface). Titan s'interpose entre l'AP et la puce flash du micrologiciel de démarrage de l'AP, ce qui garantit que Titan peut lire et mesurer chaque octet de ce micrologiciel avant son exécution au démarrage.

Voici ce qui se passe lorsqu'une plate-forme compatible avec Titan s'allume:

  1. Titan maintient le processeur en mode réinitialisation, tandis que le processeur d'application interne de Titan exécute du code immuable (la ROM de démarrage) à partir de sa mémoire morte intégrée.
  2. Titan exécute un autotest intégré pour vérifier que toute la mémoire (y compris la ROM) n'a pas été altérée.
  3. La ROM de démarrage de Titan vérifie le micrologiciel de Titan à l'aide de la cryptographie à clé publique et mélange l'identité du micrologiciel validé dans la hiérarchie des clés de Titan.
  4. La ROM de démarrage de Titan charge le micrologiciel validé de Titan.
  5. Le micrologiciel Titan vérifie le contenu du micrologiciel de démarrage de l'AP à l'aide de la cryptographie à clé publique. Titan bloque l'accès de l'AP à son flash de micrologiciel de démarrage jusqu'à ce que la procédure de validation soit terminée.
  6. Après vérification, le chip Titan libère le point d'accès de la réinitialisation, ce qui lui permet de démarrer.
  7. Le micrologiciel du point d'accès effectue une configuration supplémentaire, qui peut inclure le lancement d'autres images de démarrage. Le point d'accès peut capturer des mesures de ces images de démarrage et les envoyer à Titan pour une surveillance sécurisée.

Ces étapes permettent d'obtenir une intégrité de la première instruction, car Google peut identifier le micrologiciel de démarrage et l'OS démarrés sur la machine dès la toute première instruction exécutée pendant le cycle de démarrage. Pour les points d'accès dont les processeurs acceptent les mises à jour du microcode, le processus de démarrage permet également à Google de savoir quels correctifs de microcode ont été récupérés avant la première instruction du micrologiciel de démarrage. Pour en savoir plus, consultez la section Processus de démarrage mesuré.

Ce flux est semblable au processus de démarrage effectué par les plates-formes équipées d'un TPM. Toutefois, les puces Titan incluent des fonctionnalités qui ne sont généralement pas disponibles sur les TPM standards, telles que l'auto-attestation du micrologiciel interne de Titan ou la sécurité de la mise à niveau du micrologiciel de l'AP, comme décrit dans les sections suivantes.

Les intégrations TPM standards peuvent être vulnérables aux attaques par interposition physique. Les nouvelles intégrations Titan de Google atténuent ces attaques à l'aide de racines de confiance intégrées. Pour en savoir plus, consultez la section TPM Transport Security: Defeating Active Interposers with DICE (YouTube).

Mise à niveau sécurisée du micrologiciel Titan

Le micrologiciel de la puce Titan est signé par une clé stockée dans un HSM hors connexion, qui est protégé par des contrôles basés sur un quorum. La ROM de démarrage de Titan vérifie la signature du micrologiciel Titan à chaque démarrage de la puce.

Le micrologiciel Titan est signé avec un numéro de version de sécurité (SVN), qui indique l'état de sécurité de l'image. Si une image de micrologiciel inclut un correctif de faille, le SVN de l'image est incrémenté. Le matériel Titan permet au réseau de production d'attester fortement du SVN du micrologiciel de Titan, même si des failles ont pu être détectées dans un micrologiciel plus ancien. Le processus de mise à niveau nous permet de récupérer de ces failles à grande échelle, même si elles affectent le micrologiciel de Titan. Pour en savoir plus, consultez la section Récupération des failles dans le micrologiciel de confiance racine.

Google a contribué à la dernière version de la spécification de la bibliothèque TPM, qui comprend désormais des fonctionnalités permettant à d'autres TPM de fournir des assurances d'auto-attestation similaires. Pour en savoir plus, consultez la section Objects TPM Limited by Firmware and SVN (PDF) de la version 1.83 de la spécification d'architecture TPM. Ces fonctionnalités TPM ont été implémentées et déployées sur nos dernières puces Titan.

Mise à niveau sécurisée du micrologiciel du point d'accès

En plus du micrologiciel de Titan, nous signons également de manière cryptographique le micrologiciel exécuté sur le point d'accès. Titan vérifie cette signature dans le cadre du processus de démarrage de la plate-forme. Il vérifie également cette signature chaque fois que le micrologiciel de l'AP est mis à jour, en veillant à ce que seules les images de micrologiciel d'AP authentiques puissent être écrites sur la puce flash de micrologiciel de démarrage de l'AP. Ce processus de validation atténue les attaques qui tentent d'installer des portes dérobées persistantes ou de rendre la plate-forme impossible à démarrer. La validation des signatures offre également une défense en profondeur aux plates-formes de Google en cas de faille dans son propre mécanisme d'authentification du microcode.

Étape suivante

En savoir plus sur notre processus d'intégrité du démarrage