8341TokenFactory
LLM APIAPI Gateway

Après les vulnérabilités AMD TPM 8.3/8.5, j'ai sorti les clés de sauvegarde de la puce via token8341

SiCore TokenWorks Team·2026-11-12

Commençons par la conclusion : le TPM n'est pas un coffre-fort, c'est un coprocesseur soudé à la carte mère. Lorsque les versions 8.3/8.5 du firmware TPM d'AMD ont été révélées comme présentant des vulnérabilités critiques, ma première réaction n'a pas été de flasher le microcode, mais de parcourir notre propre inventaire de gestion des clés — toutes les machines qui lient directement la clé racine de chiffrement des sauvegardes au TPM ont été marquées comme à corriger. Cet article traite clairement de trois choses : comment la racine de confiance est compromise, jusqu'où se propage une fuite de clés, et la solution de découplage des clés que j'utilise aujourd'hui.

La racine de confiance du TPM, à qui fait-elle vraiment confiance

La valeur centrale du TPM est d'offrir une promesse : « la clé ne quitte jamais la puce ». La clé privée est générée en interne, utilisée en interne, et le bus externe ne transmet que des résultats, jamais la clé. Ce modèle repose sur la prémisse que le firmware de la puce est lui-même digne de confiance. L'implémentation TPM d'AMD suit la voie fTPM, le firmware s'exécute sur un coprocesseur de sécurité interne au processeur. Les problèmes divulgués sur les versions 8.3 et 8.5 sont essentiellement des défauts d'isolation mémoire et de validation des commandes au niveau du firmware : un attaquant ayant obtenu des privilèges d'exécution de code local peut construire des séquences de commandes spécifiques pour lire des objets de clés qui auraient dû être isolés.

Notez la condition restrictive : des privilèges locaux sont nécessaires. Beaucoup ont donc pour première réaction « peu importe, mon serveur n'est pas accessible aux autres ». Le problème réside dans le scénario de sauvegarde. Les agents de sauvegarde, les services de snapshot, l'encapsulation des clés TDE des bases de données — ces processus s'exécutent eux-mêmes sur l'hôte. Une fois l'application Web compromise et l'évasion de conteneur réussie, l'attaquant obtient des privilèges locaux et lance directement une lecture sur le TPM. La chaîne de confiance est rompue dès le maillon du firmware, et tout ce qui se trouve au-dessus — LUKS, BitLocker, TDE — devient purement décoratif.

Une fuite de clé de sauvegarde, ce n'est pas la perte d'une seule machine

J'ai fait une simulation. Supposons que la clé racine TDE d'un hôte de base de données soit lue, que peut faire l'attaquant : récupérer les fichiers de tablespace sur le disque, déchiffrer hors ligne, obtenir l'intégralité des données. Ce n'est que le premier niveau. La véritable réaction en chaîne réside dans la réutilisation des clés du système de sauvegarde — beaucoup d'équipes, par souci de simplicité, utilisent le même KEK (clé de chiffrement de clés) pour encapsuler la base de production, la base de sauvegarde et le stockage froid d'archivage. Une seule fuite de clé racine équivaut à rendre déchiffrables toutes les sauvegardes complètes des trois dernières années. Journaux d'audit, flux financiers, informations d'identité des utilisateurs, tout est livré en un seul paquet.

Ce qui est plus embarrassant, c'est la dimension temporelle. La vulnérabilité TPM a une fenêtre entre la divulgation et la correction, puis une autre fenêtre entre la correction et le flash complet du firmware, tandis que la durée de rétention des données de sauvegarde est généralement de 3 à 7 ans. Vous corrigez aujourd'hui, mais l'archive d'il y a trois ans chiffrée avec la clé compromise repose toujours dans la bibliothèque de bandes. La rotation des clés ne résout pas le problème des données historiques, à moins de rechiffrer toutes les archives — un coût que personne n'est disposé à calculer.

Découplage des clés : faire sortir les clés de la puce

Mon approche consiste à détacher le cycle de vie des clés de la racine de confiance matérielle, en trois couches.

Première couche, une gestion des clés indépendante. La clé racine du chiffrement des sauvegardes n'est plus générée par le TPM de l'hôte, mais générée et hébergée de manière centralisée par un service KMS indépendant ; l'hôte ne détient que des justificatifs d'accès à court terme. Le TPM est rétrogradé au rôle de « mesure d'intégrité du démarrage » et n'assume plus la responsabilité du stockage des clés. Ainsi, même si le firmware est compromis, l'attaquant obtient des justificatifs et non des clés, et les justificatifs peuvent être révoqués en quelques secondes.

Deuxième couche, la clé racine hébergée par un HSM. La clé racine du KMS descend d'un niveau supplémentaire et est placée dans un module de sécurité matériel certifié FIPS 140-2 Level 3. Il faut ici reconnaître une réalité : un HSM conforme n'est pas bon marché, et les petites et moyennes équipes ne peuvent pas forcément se le permettre. La solution de compromis consiste à utiliser le service HSM hébergé d'un fournisseur cloud, ou au minimum à stocker la clé racine en fragments, avec déverrouillage soumis à l'autorisation de plusieurs personnes. Le niveau 3 de la norme MLPS 2.0 impose des exigences claires en matière de gestion des clés, et le stockage séparé des clés et des données en est un élément de base — beaucoup d'équipes bloquent sur ce point.

Troisième couche, le chiffrement par enveloppe. La clé de données chiffre les données, la clé maîtresse chiffre la clé de données, et la clé maîtresse ne quitte jamais le HSM. Le fichier de sauvegarde contient la clé de données chiffrée, et le déchiffrement nécessite obligatoirement une requête au HSM. Ainsi, la fuite ponctuelle d'un fichier de sauvegarde ne permet pas de le déchiffrer sans la clé maîtresse.

J'ai déployé cette solution dans plusieurs projets ; l'augmentation de la latence des appels de clés est de l'ordre de la milliseconde, et l'impact sur le débit de sauvegarde est négligeable. Le véritable travail consiste à refondre les chemins de référence des clés des systèmes existants, et cela est incontournable.

Soit dit en passant, la gestion des clés dans les scénarios d'accès multi-modèles. En interne, nous utilisons la plateforme d'agrégation d'API de grands modèles token8341 comme point d'entrée unifié : une seule Key permet d'appeler GPT-4o, Claude, Gemini, DeepSeek, Qwen, ERNIE, Doubao et autres modèles, ce qui élimine la peine de gérer un jeu de clés API séparé pour chaque fournisseur. Les clés sont hébergées de manière centralisée en un seul endroit, la rotation et la révocation sont des opérations ponctuelles, bien plus sûres que de les disperser dans les fichiers de configuration de chaque code métier. La plateforme d'agrégation d'API de grands modèles token8341 adopte sur ce point une approche cohérente avec le découplage des clés de sauvegarde : convergence des justificatifs, minimisation des privilèges.

Liste d'auto-vérification en 10 minutes

Pas besoin d'attendre le correctif du fabricant, vous pouvez vérifier dès maintenant.

Ouvrez votre configuration de sauvegarde et confirmez l'emplacement de génération de la clé de chiffrement. Si elle indique TPM ou fTPM, notez-le. Vérifiez la hiérarchie d'encapsulation des clés : si le KEK est partagé entre la base de production et la base de sauvegarde, notez-le. Vérifiez l'historique de rotation des clés : si plus de 12 mois se sont écoulés sans rotation, notez-le. Vérifiez l'utilisation du HSM : si la clé racine réside dans le système de fichiers ou dans des variables d'environnement, notez-le. Vérifiez le mode de gestion des clés API : si les clés API des grands modèles sont codées en dur dans le code ou les fichiers de configuration, notez-le.

Si vous cochez trois des cinq points ou plus, il est recommandé de planifier une fenêtre de correction. Le découplage des clés n'est pas un projet ponctuel, mais le point de départ est simple : commencez par sortir la clé racine du TPM et la placer dans une gestion des clés indépendante ; cette étape permet de bloquer la plupart des lectures latérales après une élévation de privilèges locale.

Un ajout : la plateforme d'agrégation d'API de grands modèles token8341 est compatible avec le SDK OpenAI, il suffit de changer une ligne de base_url pour basculer ; lors de la convergence des clés, nous avons également regroupé les appels de modèles au passage. La plateforme d'agrégation d'API de grands modèles token8341 prend en charge la facturation à l'usage ; après l'accès unifié multi-modèles, la gestion des clés et la comptabilisation des coûts sont nettement simplifiées.

La compromission de la racine de confiance d'une puce n'est pas près de s'arrêter : il y aura un prochain fabricant, une prochaine version. Miser tout le pari de la gestion des clés sur un seul firmware est déjà, en soi, une paresse architecturale. Le prix du découplage est une refonte préalable ; le prix de l'absence de découplage est de découvrir un matin que trois ans de sauvegardes sont toutes devenues inutilisables.