TPM signifie Trusted Platform Module. La traduction littérale a peu de sens en français, mais il s'agit essentiellement d'une puce (ou d'un « logiciel » dans certains cas) qui va permettre d'effectuer certaines tâches en supposant que l'ensemble est sécurisé. Dans la suite, nous parlerons de module, même s'il peut s'agir d'un composant dédié ou d'une fonction intégrée dans le processeur. Un module TPM, donc, peut avoir plusieurs fonctions liées à la cryptographie. Premièrement, il offre un générateur de nombres aléatoires, très utile dans le monde du chiffrement. Il s'agit d'un point important : le résultat donné par le module est en théorie totalement aléatoire, alors que certaines fonctions logicielles (et parfois matérielles) ne le sont pas toujours. Et dans le cas du chiffrement, un générateur qui n'est pas réellement aléatoire réduit de façon significative la robustesse de l'ensemble et permet d'envisager les attaques en force brute, étant donné qu'il diminue le nombre de possibilités. Deuxièmement, le module prend en charge la génération des clés de chiffrement et le stockage de ces dernières, avec la possibilité de créer une chaîne de confiance. L'exemple type va être le démarrage d'un système d'exploitation : il peut stocker, chiffrer et déchiffrer des données liées au matériel, pour vérifier si un composant a été modifié et éventuellement bloquer le démarrage. La chaîne de confiance en question n'est pas infaillible (tout comme la puce TPM, voir encadré dans la première partie de notre dossier) mais elle réduit de façon significative les attaques sur le matériel. Un second cas concerne la question de la sécurisation des contenus pour les éditeurs, les fameux DRM : la lecture des Blu-ray Ultra HD sur un PC passe par exemple par l’Intel Trusted Execution Technology (TXT), qui est là pour essayer d'empêcher un pirate de découvrir la clé de décodage du disque et qui dépend des fonctions liées au module TPM. L'un des autres usages classiques des modules TPM est le chiffrement du stockage avec la technologie BitLocker de Microsoft : les clés de chiffrement du volume de démarrage se trouvent dans la puce TPM. Sous Windows, la liste des programmes pouvant profiter de la présence d'un module est d'ailleurs assez longue, et nous n'avons pas la place de tout détailler ici, mais vous avez compris le principe. Dans la suite, nous parlerons essentiellement de TPM dans sa version 2.0 : il existe une 1.2, plus ancienne, mais elle est rarement utilisée et tous les appareils modernes prennent en charge la variante 2.0.
BitLocker peut utiliser la puce TPM pour stocker les clés et simplifier le chiffrement.

Le cas Windows 11.

La première question à se poser est simple : pourquoi Microsoft impose-t-il le TPM 2.0. La seconde, liée, est sans doute plus intéressante : cela représente-t-il réellement un problème ? Et il faut commencer par la seconde. Si vous avez acheté un PC « complet », c'est-à-dire un modèle de bureau chez un fabricant (Dell, Lenovo, etc.) ou à peu près n'importe quel PC portable livré avec Windows 10, vous disposez probablement d'un module TPM 2.0 activé. Microsoft l'impose en effet depuis plus de cinq ans (28 juillet 2016). Donc dans le cas d'un PC sous Windows 10 obtenu après cette date, le problème n'en est normalement pas un. Dans les PC plus anciens, TPM n'était pas obligatoire mais parfois présent, et dans les PC plus récents, les seuls qui ne possèdent peut-être pas ce module sont essentiellement les PC montés par un utilisateur.

Les PC sous Windows 10 disposent en principe d'un module TPM 2.0 activé, Microsoft l'imposant depuis plus de cinq ans.

En effet, si vous avez acheté les pièces et monté votre PC (peut-être en suivant nos conseils), vous n'avez sans doute pas de module TPM 2.0 et même s'il est présent, par exemple à travers le CPU, il n'est pas nécessairement activé. La réponse à la première question demeure finalement assez simple : pour la sécurité. Ce billet de blog chez l'éditeur explique en détail les raisons de ce choix critiqué (cpc.cx/BlogTPM), mais – pour résumer – le module TPM permet à Microsoft de mieux protéger votre PC, de chiffrer correctement le stockage et de gérer la sécurité plus finement. Bien évidemment, tout n'est pas rose, la technologie est aussi employée pour certains DRM, nous l'avons vu, mais dans l'ensemble la présence d'un module TPM est un avantage pour l'utilisateur. Par ailleurs, il ne s'agit pas d'un mouvement initié par Microsoft à l'encontre du reste du marché : les OS de smartphones passent par des choix similaires, Google impose un module TPM 2.0 dans les appareils sous Chrome OS, Apple intègre des solutions du même ordre pour démarrer les smartphones et tablettes iOS et les Mac récents, etc.
Le panneau TPM de Windows 10 indique si le module est présent...
... ou pas.

Physique ou logique ?

Nous l'avons dit plus haut, un module TPM peut être mis en place de différentes façons. La solution la plus évidente, mais pas forcément la plus courante, passe par une puce dédiée. Certaines cartes mères offrent un emplacement idoine et différents constructeurs intègrent le composant sur la carte mère. La seconde voie consiste en une implémentation qui tire parti du CPU ou du chipset. Intel propose une compatibilité TPM depuis 2013 sur certaines plateformes, sous le nom Platform Trust Technology (PTT), AMD appelle la fonction fTPM (firmware TPM) et elle est présente dans une bonne partie des CPU (et APU au départ) depuis 2015. Vous pourriez penser que cette solution n’est point sécurisée, mais ce n'est pas le cas : chez AMD, par exemple, elle se base sur une implémentation de la TrustZone d'ARM dans le CPU, avec un cœur Cortex A5 et une zone mémoire séparée, comme dans les smartphones. Enfin, d'autres possibilités existent, notamment au niveau des hyperviseurs : une machine virtuelle peut être compatible TPM 2.0 sans que la machine hôte soit elle-même TPM 2.0, ce qui permettra de virtualiser Windows 11 sur des plateformes non équipées (les Mac, certains PC, etc.).

L'obligation d'intégrer un module TPM 2.0 peut être vue comme un atout qui va renforcer la sécurité des PC.

Vérifier la présence de TPM et l'activer.

Difficile de répondre directement à la question « mon PC est-il compatible TPM 2.0 ? », même si dans la pratique, si vous possédez un PC portable, c'est probablement le cas. La première étape, sous Windows 10, consiste à vérifier si la fonction est activée. Une tâche assez simple : tapez tpm.msc dans la zone de recherche du menu Démarrer, et la fenêtre devrait vous indiquer si un module TPM est de la partie et – le cas échéant – sa version. Si TPM n'est pas présent, tout n'est pas perdu : il suffit parfois de l'activer dans l'UEFI. Avant de vous diriger vers le setup, il semble judicieux de contrôler que cette compatibilité soit possible. Sur une plateforme Intel, les fabricants de cartes mères indiquent que les cartes à base de chipset « Skylake » des séries 300, 400 et 500 supportent PTT (par exemple les Z370, B450, etc.) ainsi que celles qui intègrent un X299. Chez une partie des constructeurs, Asrock et MSI notamment, certains chipsets des séries 100 et 200 sont aussi compatibles, mais Microsoft indique qu'un Core de 8e génération est indispensable pour Windows 11, ce qui rend certaines combinaisons inutilisables. Chez AMD, la compatibilité officielle inclut normalement les chipsets 300, 400 et 500, couplés à un Ryzen Zen+ au minimum (Ryzen 2000). En effet, Microsoft considère bizarrement que les Ryzen de première génération (Zen) sont incompatibles Windows 11. Enfin, les Threadripper (X399 et TRX40) le supportent, de façon assez logique. Nous n'avons pas la place pour vous proposer une liste exhaustive et le site du fabricant de votre carte mère sera d'une bien plus grande aide que nous.

Dans le setup de l'UEFI, les intitulés varient selon le type de CPU.
Maintenant, si votre plateforme est compatible officiellement, nous vous recommandons de mettre à jour l'UEFI et ensuite de vous rendre dans les paramètres et de chercher les références qui parlent de fTPM (AMD) ou PTT (Intel). Là aussi, nous ne pouvons pas détailler les (trop) nombreuses possibilités, mais il faut presser frénétiquement F2 ou Del au démarrage et se promener dans les menus pour dénicher le bon intitulé, généralement dans les options avancées (ou lire le manuel).

Ajouter une puce ?

Si le reste de votre PC est suffisant pour Windows 11 mais qu'il ne permet pas d'utiliser les fonctions TPM intégrées aux CPU (un cas plutôt rare), il y a une autre solution : une carte TPM. Certaines cartes mères offrent en effet un emplacement pour une carte d'extension qui contient une puce TPM 2.0, et nous en avions une dans notre laboratoire : elle avait servi à montrer l'intérêt du chiffrement il y a quelques années, dans Canard PC Hardware n° 24. Les fabricants proposent des accessoires de ce type et le prix s'est d'ailleurs envolé avec les annonces liées à Windows 11 : un module vendu une vingtaine de dollars a dépassé rapidement les 100 dollars. Il s'agit d'une solution à n'envisager qu'en dernier recours : en dehors du prix, les headers diffèrent selon les marques (il faut bidouiller pour mettre un modèle Asus sur une carte Gigabyte, par exemple) et les fonctions demeurent les mêmes qu'avec les solutions d'AMD et Intel dans la pratique.

Un module Asus, avec un brochage spécifique.
Pour conclure, l'obligation d'intégrer un module TPM 2.0 peut être vue comme un atout qui va renforcer la sécurité des PC. Malgré tout, devant les retours de certains utilisateurs, Microsoft pourrait abandonner cette idée. Dans le cas de la préversion de Windows 11, il est possible de passer outre cette étape et d'installer l'OS sur un PC qui ne possède pas le fameux sésame, et rien ne dit que la version finale imposera toujours la présence du module : les critiques restent assez vives à ce sujet, tant dans la presse que chez les utilisateurs et certains fabricants de matériel.

TPM n'est pas infaillible

Plus exactement (car le titre de cet encadré est un peu putaclic), le fonctionnement du module et de certaines implémentations n'est pas infaillible. Un exemple mis en avant récemment est celui de BitLocker, le chiffrement de Microsoft. La clé de chiffrement du volume se trouve dans le module TPM, et est en théorie inaccessible, mais elle transite entre le composant et le bootloader au moment du démarrage. Et dans ce cas, l’interception est possible : la liaison s'effectue à travers un protocole série qui peut être surveillé quand la puce TPM est physiquement accessible. Les contre-mesures consistent soit à demander un mot de passe avant le démarrage, qui va permettre (ensuite) de lancer la récupération de la clé, soit de sélectionner un module TPM inaccessible. C'est déjà en partie le cas : les solutions récentes l'intègrent dans le CPU, et certains constructeurs choisissent des composants avec un montage de type BGA, c'est-à-dire avec des contacts placés sous la puce, ce qui réduit les possibilités de hack.