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.
Le chip Titan est un chip dédié qui établit la racine matérielle de confiance pour les plates-formes dans les centres de données Google Cloud . La puce 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 à se 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 proposer les avantages suivants:
- Une 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 moment du démarrage et de la mise à jour
- Flux de scellage des identifiants à distance qui sous-tendent le système de gestion des identifiants de machine de Google
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
- RAM statique (SRAM), flash et ROM intégrés
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 créer des enregistrements d'endossement. 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 que ces plates-formes 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 de Titan. Pour en savoir plus sur la façon dont les services utilisent le système d'identité Titan, consultez la section Procédure 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 le Device Identifier Composition Engine (DICE). 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, le module de plate-forme sécurisée (TPM) et le protocole de sécurité et le mode de données (SPDM), 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 carte mère (BMC) ou à un accélérateur pour des 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.
Les étapes suivantes sont effectuées lorsqu'une plate-forme compatible avec Titan s'allume:
- 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 en lecture seule intégrée.
- 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.
- 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.
- La ROM de démarrage de Titan charge le micrologiciel validé de Titan.
- 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 le processus de validation soit terminé.
- 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.
- 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 intégrations Titan plus récentes de Google limitent ces attaques en utilisant des racines de confiance intégrées. Pour en savoir plus, consultez la page 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 fois que la puce démarre.
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 de confirmer fortement le SVN du micrologiciel de Titan, même si un micrologiciel plus ancien a pu présenter des failles. 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 après des failles dans le micrologiciel de la racine de confiance.
Google a contribué à la dernière version de la spécification de la bibliothèque TPM, qui inclut 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 limités par le micrologiciel et 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 derniers chips Titan.
Mise à niveau sécurisée du micrologiciel des points 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 du point d'accès est mis à jour, en veillant à ce que seules les images de micrologiciel de point d'accès authentiques puissent être écrites sur la puce flash du micrologiciel de démarrage du point d'accès. Ce processus de validation atténue les attaques qui tentent d'installer des portes dérobées persistantes ou de rendre la plate-forme non amorçable. 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