Article de reference

Module de plateforme de confiance

Composants d'un module de plateforme sécurisée conforme à la norme TPM version 1.2 Trusted Platform Module ( TPM ) est une norme internationale pour un cryptoprocesseur sécurisé...

Composants d'un module de plateforme sécurisée conforme à la norme TPM version 1.2

Trusted Platform Module ( TPM ) est une norme internationale pour un cryptoprocesseur sécurisé , un microcontrôleur dédié conçu pour sécuriser le matériel via des clés cryptographiques intégrées. Le terme peut également désigner une puce conforme à la norme ISO/IEC 11889. Les utilisations courantes sont la vérification de l'intégrité de la plateforme (pour vérifier que le processus de démarrage démarre à partir d'une combinaison fiable de matériel et de logiciel) et le stockage des clés de chiffrement du disque.

L'une des exigences du système d'exploitation Windows 11 est l'implémentation de TPM 2.0. Microsoft a déclaré que cela vise à renforcer la sécurité contre les attaques du micrologiciel.

Le gonflement des fonctions a été critiqué, en particulier la génération de nombres aléatoires.

Histoire

Le module de plateforme sécurisée (TPM) a été conçu par un consortium de l'industrie informatique appelé Trusted Computing Group (TCG). Il a évolué vers la spécification principale TPM version 1.2 qui a été normalisée par l'Organisation internationale de normalisation (ISO) et la Commission électrotechnique internationale (CEI) en 2009 sous la référence ISO/CEI 11889:2009. La spécification principale TPM version 1.2 a été finalisée le 3 mars 2011, achevant ainsi sa révision.

Le 9 avril 2014, le Trusted Computing Group a annoncé une mise à niveau majeure de sa spécification intitulée TPM Library Specification 2.0 . Le groupe continue de travailler sur la norme en incorporant des errata, des ajouts algorithmiques et de nouvelles commandes, avec sa dernière édition publiée sous la forme 2.0 en novembre 2019. Cette version est devenue la norme ISO/IEC 11889:2015.

Lorsqu'une nouvelle révision est publiée, elle est divisée en plusieurs parties par le Trusted Computing Group. Chaque partie est constituée d'un document qui constitue l'intégralité de la nouvelle spécification TPM.

  • Partie 1 Architecture (renommée à partir de Principes de conception)
  • Partie 2 Structures du TPM
  • Partie 3 Commandes
  • Partie 4 Routines de support (ajoutées dans TPM 2.0)

Aperçu

Le module de plateforme sécurisée (TPM) fournit :

  • Un générateur de nombres aléatoires matériel
  • Installations permettant la génération sécurisée de clés cryptographiques à usages limités.
  • Attestation à distance : Crée un résumé de la configuration matérielle et logicielle quasiment infalsifiable . On peut utiliser le hachage pour vérifier que le matériel et le logiciel n'ont pas été modifiés. Le logiciel en charge du hachage de la configuration détermine l'étendue du résumé.
  • Liaison : les données sont chiffrées à l'aide de la clé de liaison TPM, une clé RSA unique issue d'une clé de stockage. Les ordinateurs qui intègrent un TPM peuvent créer des clés cryptographiques et les chiffrer afin qu'elles ne puissent être déchiffrées que par le TPM. Ce processus, souvent appelé encapsulation ou liaison d'une clé, peut aider à protéger la clé contre toute divulgation. Chaque TPM possède une clé d'encapsulation principale, appelée clé racine de stockage, qui est stockée dans le TPM lui-même. Les conteneurs de clés RSA au niveau utilisateur sont stockés avec le profil utilisateur Windows d'un utilisateur particulier et peuvent être utilisés pour chiffrer et déchiffrer des informations pour les applications qui s'exécutent sous cette identité d'utilisateur spécifique.
  • Stockage scellé : Spécifie l'état TPM pour les données à déchiffrer (non scellées).
  • Autres fonctions de Trusted Computing pour les données à décrypter (desceller).

Les programmes informatiques peuvent utiliser un TPM pour l' authentification des périphériques matériels, car chaque puce TPM possède une clé d'approbation (EK) unique et secrète gravée lors de sa production. La sécurité intégrée au matériel offre une meilleure protection qu'une solution purement logicielle. Son utilisation est restreinte dans certains pays.

Utilisations

Intégrité de la plateforme

La principale fonction du TPM est de garantir l' intégrité d'une plateforme au démarrage. Dans ce contexte, « intégrité » signifie « se comporter comme prévu » et une « plateforme » désigne tout périphérique informatique, quel que soit son système d'exploitation . Cela permet de garantir que le processus de démarrage démarre à partir d'une combinaison fiable de matériel et de logiciel, et se poursuit jusqu'à ce que le système d'exploitation ait complètement démarré et que les applications soient en cours d'exécution.

Lorsque le TPM est utilisé, le micrologiciel et le système d’exploitation sont responsables de garantir l’intégrité.

Par exemple, l' interface UEFI (Unified Extensible Firmware Interface ) peut utiliser TPM pour former une racine de confiance : le TPM contient plusieurs registres de configuration de plate-forme (PCR) qui permettent le stockage sécurisé et la création de rapports sur les mesures de sécurité. Ces mesures peuvent être utilisées pour détecter les modifications apportées aux configurations précédentes et décider de la marche à suivre. Des exemples d'une telle utilisation peuvent être trouvés dans Linux Unified Key Setup (LUKS), BitLocker et le chiffrement de mémoire PrivateCore vCage. (Voir ci-dessous.)

Un autre exemple d’intégrité de la plateforme via TPM est l’utilisation des licences Microsoft Office 365 et d’Outlook Exchange.

Un autre exemple d'utilisation de TPM pour l'intégrité de la plateforme est la technologie TXT (Trusted Execution Technology ), qui crée une chaîne de confiance. Elle pourrait attester à distance qu'un ordinateur utilise le matériel et les logiciels spécifiés.

Cryptage du disque

Les utilitaires de chiffrement de disque complet , tels que dm-crypt , peuvent utiliser cette technologie pour protéger les clés utilisées pour chiffrer les périphériques de stockage de l'ordinateur et fournir une authentification d'intégrité pour un chemin de démarrage fiable qui inclut le micrologiciel et le secteur de démarrage .

Autres utilisations et préoccupations

Toute application peut utiliser une puce TPM pour :

D'autres utilisations existent, dont certaines suscitent des inquiétudes en matière de confidentialité . La fonction de « présence physique » du TPM répond à certaines de ces inquiétudes en exigeant une confirmation au niveau du BIOS / UEFI pour des opérations telles que l'activation, la désactivation, l'effacement ou le changement de propriété du TPM par une personne physiquement présente à la console de la machine.

Par organisations

Le Département de la Défense des États-Unis (DoD) précise que « les nouveaux actifs informatiques (par exemple, serveur, ordinateur de bureau, ordinateur portable, client léger, tablette, smartphone, assistant numérique personnel, téléphone mobile) acquis pour soutenir le DoD comprendront un TPM version 1.2 ou supérieure lorsque cela est requis par les guides de mise en œuvre technique de sécurité (STIG) de la Defense Information Systems Agency (DISA ) et lorsque cette technologie est disponible. » Le DoD prévoit que le TPM sera utilisé pour l'identification, l'authentification, le chiffrement et la vérification de l'intégrité des appareils.

Implémentations TPM

Module de plateforme sécurisée installé sur une carte mère

Ordinateurs portables et notebooks

En 2006, de nouveaux ordinateurs portables ont commencé à être vendus avec une puce TPM intégrée. À l'avenir, ce concept pourrait être co-implanté sur une puce de carte mère existante dans les ordinateurs, ou tout autre appareil sur lequel les fonctionnalités TPM pourraient être utilisées, comme un téléphone portable . Sur un PC, le bus Low Pin Count (LPC) ou le bus Serial Peripheral Interface (SPI) est utilisé pour se connecter à la puce TPM.

Le Trusted Computing Group (TCG) a certifié les puces TPM fabriquées par Infineon Technologies , Nuvoton et STMicroelectronics , après avoir attribué des identifiants de fournisseur TPM à Advanced Micro Devices , Atmel , Broadcom , IBM , Infineon, Intel , Lenovo , National Semiconductor , Nationz Technologies, Nuvoton, Qualcomm , Rockchip , Standard Microsystems Corporation , STMicroelectronics, Samsung , Sinosun, Texas Instruments et Winbond .

Implémentations TPM 2.0

Il existe cinq types différents d'implémentations TPM 2.0 (classés par ordre de sécurité du plus au moins élevé) :

  • Les TPM discrets sont des puces dédiées qui implémentent la fonctionnalité TPM dans leur propre boîtier semi-conducteur inviolable. Ils sont les plus sûrs, certifiés FIPS-140 avec une sécurité physique de niveau 3 une résistance aux attaques par rapport aux routines implémentées dans le logiciel, et leurs boîtiers doivent implémenter une certaine résistance à l'effraction. Par exemple, le TPM du contrôleur de frein d'une voiture est protégé contre le piratage par des méthodes sophistiquées.
  • Les TPM intégrés font partie d'une autre puce. Bien qu'ils utilisent un matériel qui résiste aux bugs logiciels, ils ne sont pas tenus d'implémenter une résistance aux altérations. Intel a intégré des TPM dans certains de ses chipsets .
  • Les TPM de micrologiciel (fTPM) sont des solutions basées sur un micrologiciel (par exemple UEFI ) qui s'exécutent dans l' environnement d'exécution sécurisé d'un processeur . Intel, AMD et Qualcomm ont implémenté des TPM de micrologiciel.
  • Les TPM virtuels (vTPM) sont fournis par des hyperviseurs et s'appuient sur eux dans des environnements d'exécution isolés qui sont cachés des logiciels exécutés à l'intérieur des machines virtuelles pour sécuriser leur code contre les logiciels des machines virtuelles. Ils peuvent fournir un niveau de sécurité comparable à un TPM de micrologiciel. Google Cloud Platform a implémenté vTPM.
  • Les TPM logiciels sont des émulateurs logiciels de TPM qui s'exécutent sans plus de protection que celle dont bénéficie un programme normal au sein d'un système d'exploitation. Ils dépendent entièrement de l'environnement dans lequel ils s'exécutent, ils n'offrent donc pas plus de sécurité que celle que peut fournir l'environnement d'exécution normal. Ils sont utiles à des fins de développement.

Implémentations open source

L'implémentation de référence officielle TCG de la spécification TPM 2.0 a été développée par Microsoft . Elle est sous licence BSD et le code source est disponible sur GitHub .

En 2018, Intel a rendu open source sa pile logicielle Trusted Platform Module 2.0 (TPM2) avec prise en charge de Linux et Microsoft Windows. Le code source est hébergé sur GitHub et sous licence BSD .

Infineon a financé le développement d'un middleware TPM open source conforme à la spécification Software Stack (TSS) Enhanced System API (ESAPI) du TCG. Il a été développé par l'Institut Fraunhofer pour les technologies de l'information sécurisées (SIT).

Le logiciel TPM 2.0 d' IBM est une implémentation de la spécification TCG TPM 2.0. Il est basé sur les parties 3 et 4 de la spécification TPM et sur le code source fourni par Microsoft. Il contient des fichiers supplémentaires pour compléter l'implémentation. Le code source est hébergé sur SourceForge et GitHub et sous licence BSD.

En 2022, AMD a annoncé que dans certaines circonstances, son implémentation fTPM provoquait des problèmes de performances. Un correctif est disponible sous la forme d'une mise à jour du BIOS .

TPM 1.2 contre TPM 2.0

Bien que TPM 2.0 aborde de nombreux cas d'utilisation similaires et présente des fonctionnalités similaires, les détails sont différents. TPM 2.0 n'est pas rétrocompatible avec TPM 1.2.

Spécification TPM 1.2 TPM 2.0
Architecture Une spécification complète est censée comprendre un profil de protection spécifique à la plate-forme qui fait référence à une bibliothèque TPM 1.2 commune en trois parties. En pratique, seul un profil de protection PC Client a été créé pour TPM 1.2. Des profils de protection pour PDA et cellulaires devaient être définis, mais n'ont jamais été publiés. Une spécification complète consiste en une spécification spécifique à la plateforme qui fait référence à une bibliothèque TPM 2.0 commune en quatre parties. Les spécifications spécifiques à la plateforme définissent les parties de la bibliothèque qui sont obligatoires, facultatives ou interdites pour cette plateforme ; et détaillent les autres exigences pour cette plateforme. Les spécifications spécifiques à la plateforme incluent PC Client, mobile, et Automotive-Thin.
Algorithmes SHA-1 et RSA sont requis. AES est facultatif. Triple DES était autrefois un algorithme facultatif dans les versions antérieures de TPM 1.2, mais a été supprimé de la version 103 de TPM 1.2. La fonction de génération de masque basée sur le hachage MGF1 définie dans PKCS#1 est requise. La spécification PC Client Platform TPM Profile (PTP) requiert SHA-1 et SHA-256 pour les hachages ; RSA , ECC utilisant la courbe NIST P-256 pour la cryptographie à clé publique et la génération et la vérification de signatures numériques asymétriques ; HMAC pour la génération et la vérification de signatures numériques symétriques ; AES 128 bits pour l'algorithme à clé symétrique ; et la fonction de génération de masque basée sur le hachage MGF1 définie dans PKCS#1 sont requises par la spécification TCG PC Client Platform TPM Profile (PTP). De nombreux autres algorithmes sont également définis mais sont facultatifs. Notez que Triple DES a été ajouté à la bibliothèque TPM 2.0, mais avec des restrictions pour rejeter les clés faibles . De plus, la cryptographie elliptique Direct Anonymous Attestation (ECDAA) utilisant les courbes ECC Barreto-Naehrig qui était obligatoire dans les versions antérieures est devenue facultative dans la version 1.59 du profil PC Client.
Primitives cryptographiques Un générateur de nombres aléatoires , un algorithme cryptographique à clé publique , une fonction de hachage cryptographique , une fonction de génération de masque, une génération et une vérification de signature numérique et une attestation anonyme directe sont nécessaires. Les algorithmes à clé symétrique et exclusif ou sont facultatifs. La génération de clés est également requise. Un générateur de nombres aléatoires , des algorithmes cryptographiques à clé publique , des fonctions de hachage cryptographique , des algorithmes à clé symétrique , une génération et une vérification de signature numérique , des fonctions de génération de masque et un ou exclusif sont requis par la spécification TCG PC Client Platform TPM Profile (PTP). L'attestation anonyme directe basée sur ECC utilisant la courbe Barreto–Naehrig 256 bits est facultative pour la spécification TCG PC Client Platform TPM Profile (PTP). La spécification de la bibliothèque commune TPM 2.0 nécessite également des fonctions de génération et de dérivation de clés .
Hiérarchie Un (stockage) Trois (plateforme, stockage et approbation)
Touches de base Un (SRK RSA-2048) Plusieurs clés et algorithmes par hiérarchie
Autorisation HMAC , PCR, localité, présence physique Mot de passe, HMAC et politique (qui couvre HMAC, PCR, localité et présence physique).
Mémoire vive non volatile (NVRAM) Données non structurées Données non structurées, compteur, bitmap, extension, réussite et échec du code PIN

L'autorisation de la politique TPM 2.0 inclut le HMAC 1.2, la localité, la présence physique et le PCR. Elle ajoute une autorisation basée sur une signature numérique asymétrique, une indirection vers un autre secret d'autorisation, des compteurs et des limites de temps, des valeurs NVRAM, une commande particulière ou des paramètres de commande et la présence physique. Elle permet d'utiliser la fonction AND et la fonction OR de ces primitives d'autorisation pour construire des politiques d'autorisation complexes.

Réception

Le Trusted Computing Group (TCG) a rencontré une certaine résistance au déploiement de cette technologie dans certains domaines, où certains auteurs voient des utilisations possibles qui ne sont pas spécifiquement liées au Trusted Computing , ce qui peut soulever des problèmes de confidentialité. Les inquiétudes portent notamment sur l'abus de la validation à distance des logiciels qui décident quels logiciels sont autorisés à s'exécuter et sur les moyens possibles de suivre les actions entreprises par l'utilisateur enregistrées dans une base de données, d'une manière totalement indétectable pour l'utilisateur.

L' utilitaire de chiffrement de disque TrueCrypt , ainsi que son dérivé VeraCrypt , ne prennent pas en charge le TPM. Les développeurs originaux de TrueCrypt étaient d'avis que le but exclusif du TPM était de « protéger contre les attaques qui nécessitent que l'attaquant ait des privilèges d'administrateur ou un accès physique à l'ordinateur ». L'attaquant qui a un accès physique ou administratif à un ordinateur peut contourner le TPM, par exemple en installant un enregistreur de frappe matériel , en réinitialisant le TPM ou en capturant le contenu de la mémoire et en récupérant les clés émises par le TPM. Le texte de condamnation va jusqu'à affirmer que le TPM est entièrement redondant. L'éditeur de VeraCrypt a reproduit l'allégation originale sans autre changement que le remplacement de « TrueCrypt » par « VeraCrypt ». L'auteur a raison de dire qu'après avoir obtenu un accès physique illimité ou des privilèges administratifs, ce n'est qu'une question de temps avant que d'autres mesures de sécurité en place soient contournées. Cependant, arrêter un attaquant en possession de privilèges administratifs n'a jamais été l'un des objectifs du TPM (voir § Utilisations pour plus de détails), et le TPM peut arrêter certaines altérations physiques .

En 2015, Richard Stallman a suggéré de remplacer le terme « informatique de confiance » par le terme « informatique traîtresse » en raison du danger que l'ordinateur puisse être amené à désobéir systématiquement à son propriétaire si les clés cryptographiques lui sont cachées. Il considère également que les TPM disponibles pour les PC en 2015 ne sont pas actuellement dangereux et qu'il n'y a aucune raison de ne pas en inclure un dans un ordinateur ou de ne pas le prendre en charge dans un logiciel en raison des tentatives infructueuses de l'industrie d'utiliser cette technologie pour la gestion des droits numériques (DRM) , mais que le TPM2 sorti en 2022 est précisément la menace « informatique traîtresse » contre laquelle il avait mis en garde.

Linus Torvalds a écrit en 2023 qu'il n'y a aucun moyen de croire que le caractère aléatoire généré par le TPM est meilleur que le caractère aléatoire généré de toute façon par le CPU, et qu'il n'y a aucune raison de prendre en charge le caractère aléatoire à partir d'une source de firmware.

Attaques

En 2010, Christopher Tarnovsky a présenté une attaque contre les TPM lors de Black Hat Briefings , où il a affirmé pouvoir extraire des secrets d'un seul TPM. Il a pu le faire après 6 mois de travail en insérant une sonde et en espionnant un bus interne pour le PC Infineon SLE 66 CL.

En cas d'accès physique, les ordinateurs équipés de TPM 1.2 sont vulnérables aux attaques de démarrage à froid tant que le système est allumé ou peut être démarré sans mot de passe à partir de l'arrêt, de la veille ou de l'hibernation , ce qui est la configuration par défaut pour les ordinateurs Windows avec le chiffrement intégral du disque BitLocker. Un correctif a été proposé, qui a été adopté dans les spécifications de TPM 2.0.

En 2009, le concept de données d'autorisation partagées dans TPM 1.2 s'est avéré défectueux. Un adversaire ayant accès aux données pourrait usurper les réponses du TPM. Un correctif a été proposé, qui a été adopté dans les spécifications de TPM 2.0.

En 2015, dans le cadre des révélations de Snowden , il a été révélé qu'en 2010, une équipe de la CIA américaine avait affirmé lors d'une conférence interne avoir mené une attaque d'analyse de puissance différentielle contre des TPM capable d'extraire des secrets.

Les principales distributions Trusted Boot (tboot) antérieures à novembre 2017 sont affectées par une attaque DRTM (Dynamic Root of Trust for Measurement) CVE - 2017-16837, qui affecte les ordinateurs fonctionnant sur la technologie Trusted eXecution Technology (TXT) d'Intel pour la routine de démarrage.

En 2018, une faille de conception dans la spécification TPM 2.0 pour la racine de confiance statique pour la mesure (SRTM) a été signalée ( CVE - 2018-6622). Elle permet à un adversaire de réinitialiser et de falsifier les registres de configuration de la plateforme conçus pour conserver en toute sécurité les mesures des logiciels utilisés pour démarrer un ordinateur. La correction de cette faille nécessite des correctifs de micrologiciel spécifiques au matériel. Un attaquant abuse des interruptions d'alimentation et des restaurations d'état du TPM pour tromper le TPM en lui faisant croire qu'il fonctionne sur des composants non altérés.

En 2021, le groupe Dolos a montré une attaque sur un TPM discret, où la puce TPM elle-même avait une certaine résistance à la falsification, mais les autres points d'extrémité de son bus de communication ne l'avaient pas. Ils ont lu une clé de chiffrement de disque complet pendant qu'elle était transmise sur la carte mère et l'ont utilisée pour décrypter le SSD de l'ordinateur portable.

Controverse sur la génération de clés faibles en 2017

En octobre 2017, il a été signalé qu'une bibliothèque de codes développée par Infineon , qui était largement utilisée dans ses TPM, contenait une vulnérabilité, connue sous le nom de ROCA, qui générait des paires de clés RSA faibles permettant de déduire des clés privées à partir de clés publiques . Par conséquent, tous les systèmes dépendant de la confidentialité de ces clés faibles sont vulnérables aux compromissions, telles que le vol d'identité ou l'usurpation d'identité.

Les cryptosystèmes qui stockent les clés de chiffrement directement dans le TPM sans aveuglement pourraient être particulièrement exposés à ce type d'attaques, car les mots de passe et d'autres facteurs n'auraient aucune importance si les attaques pouvaient extraire des secrets de chiffrement.

Infineon a publié des mises à jour du micrologiciel de ses TPM pour les fabricants qui les ont utilisés.

Disponibilité

Actuellement, presque tous les fabricants de PC et d’ordinateurs portables fournissent un TPM dans leurs produits.

TPM

Le TPM est implémenté par plusieurs fournisseurs :

  • Infineon fournit à la fois des puces TPM et des logiciels TPM, qui sont livrés en versions OEM avec les nouveaux ordinateurs ainsi que séparément par Infineon pour les produits dotés de la technologie TPM conformes aux normes TCG. Par exemple, Infineon a accordé une licence pour le logiciel de gestion TPM à Broadcom Corp. en 2004.
  • Microchip (anciennement Atmel) a fabriqué des dispositifs TPM qu'elle prétend être conformes à la spécification Trusted Platform Module version 1.2 révision 116 et proposés avec plusieurs interfaces (LPC, SPI et I2C), modes (certifiés FIPS 140-2 et mode standard), classes de température (commerciales et industrielles) et packages (TSSOP et QFN). Ses TPM prennent en charge les PC et les appareils embarqués. Elle fournit également des kits de développement TPM pour prendre en charge l'intégration de ses dispositifs TPM dans diverses conceptions embarquées.
  • Nuvoton Technology Corporation fournit des dispositifs TPM pour les applications PC. Nuvoton fournit également des dispositifs TPM pour les systèmes embarqués et les applications Internet des objets (IoT) via des interfaces hôtes I2C et SPI. Le TPM de Nuvoton est conforme aux critères communs (CC) avec un niveau d'assurance EAL 4 augmenté de ALC_FLR.1, AVA_VAN.4 et ALC_DVS.2, FIPS 140-2 niveau 2 avec sécurité physique et EMI/EMC niveau 3 et exigences de conformité du Trusted Computing Group , le tout pris en charge au sein d'un seul appareil. Les TPM produits par Winbond font désormais partie de Nuvoton.
  • STMicroelectronics fournit des TPM pour les plateformes PC et les systèmes embarqués depuis 2005. L'offre de produits comprend des composants discrets dotés de plusieurs interfaces prenant en charge les interfaces SPI ( Serial Peripheral Interface ) et I²C et différents niveaux de qualification (grand public, industriel et automobile). Les produits TPM sont certifiés Common Criteria (CC) EAL4+ augmentés de ALC_FLR.1 et AVA_VAN.5, certifiés FIPS 140-2 niveau 2 avec niveau de sécurité physique 3 et également certifiés Trusted Computing Group (TCG).

Il existe également des types hybrides ; par exemple, le TPM peut être intégré dans un contrôleur Ethernet , éliminant ainsi le besoin d'un composant de carte mère séparé.

Mise à niveau sur le terrain

La mise à niveau sur le terrain est le terme utilisé par le TCG pour désigner la mise à jour du micrologiciel TPM. La mise à jour peut être effectuée entre TPM 1.2 et TPM 2.0, ou entre les versions du micrologiciel. Certains fournisseurs limitent le nombre de transitions entre 1.2 et 2.0, et certains restreignent la restauration des versions précédentes. Les constructeurs de plateformes tels que HP fournissent un outil de mise à niveau.

Depuis le 28 juillet 2016, tous les nouveaux modèles, lignes ou séries d'appareils Microsoft (ou la mise à jour de la configuration matérielle d'un modèle, d'une ligne ou d'une série existante avec une mise à jour majeure, comme le processeur, les cartes graphiques) implémentent et activent par défaut TPM 2.0.

Alors que les composants TPM 1.2 sont des composants discrets en silicium, qui sont généralement soudés sur la carte mère, TPM 2.0 est disponible sous forme de composant discret (dTPM) en silicium dans un seul boîtier semi-conducteur, de composant intégré incorporé dans un ou plusieurs boîtiers semi-conducteurs - aux côtés d'autres unités logiques dans le(s) même(s) boîtier(s), et sous forme de composant basé sur un micrologiciel (fTPM) exécuté dans un environnement d'exécution de confiance (TEE) sur un système sur puce (SoC) à usage général.

TPM virtuel

  • Google Compute Engine propose des TPM virtualisés (vTPM) dans le cadre du produit Shielded VMs de Google Cloud .
  • La bibliothèque libtpms fournit une émulation logicielle d'un module de plateforme sécurisée (TPM 1.2 et TPM 2.0). Elle vise l'intégration de la fonctionnalité TPM dans les hyperviseurs, principalement dans Qemu.

Systèmes d'exploitation

  • Windows 11 nécessite la prise en charge de TPM 2.0 comme configuration système minimale requise. Sur de nombreux systèmes, TPM est désactivé par défaut, ce qui nécessite de modifier les paramètres de l'UEFI de l'ordinateur pour l'activer.
  • Windows 8 et versions ultérieures disposent d'une prise en charge native du TPM 2.0.
  • Windows 7 peut installer un correctif officiel pour ajouter la prise en charge de TPM 2.0.
  • Windows Vista à Windows 10 disposent d'une prise en charge native de TPM 1.2.
  • Le Trusted Platform Module 2.0 (TPM 2.0) est pris en charge par le noyau Linux depuis la version 3.20 (2012)

Plateformes

  • Google inclut des TPM dans les Chromebooks dans le cadre de son modèle de sécurité.
  • Oracle fournit des TPM dans ses systèmes des séries X et T, tels que les serveurs des séries T3 ou T4. La prise en charge est incluse dans Solaris 11. [
  • En 2006, avec l'introduction des premiers modèles Macintosh équipés de processeurs Intel, Apple a commencé à livrer des Mac avec TPM. Apple n'a jamais fourni de pilote officiel, mais un portage sous GPL était disponible. Apple n'a pas livré d'ordinateur avec TPM depuis 2006.
  • En 2011, le fabricant taïwanais MSI a lancé sa tablette Windpad 110W dotée d'un processeur AMD et d'un module TPM Infineon Security Platform, qui est livré avec la version 3.7 du logiciel de contrôle. La puce est désactivée par défaut mais peut être activée avec le logiciel préinstallé inclus.

Virtualisation

  • L'hyperviseur VMware ESXi prend en charge TPM depuis la version 4.x et, à partir de la version 5.0, il est activé par défaut.
  • L'hyperviseur Xen prend en charge les TPM virtualisés. Chaque invité dispose de son propre TPM logiciel émulé unique.
  • KVM , combiné à QEMU , prend en charge les TPM virtualisés. Depuis 2012 , il prend en charge le passage de la puce TPM physique à un seul invité dédié. QEMU 2.11, sorti en décembre 2017, fournit également des TPM émulés aux invités.
  • VirtualBox prend en charge les périphériques TPM virtuels 1.2 et 2.0 à partir de la version 7.0 publiée en octobre 2022.

Logiciel

  • Les systèmes d'exploitation Microsoft Windows Vista et versions ultérieures utilisent la puce en conjonction avec le composant de chiffrement de disque inclus appelé BitLocker . Microsoft avait annoncé qu'à partir du 1er janvier 2015, tous les ordinateurs devront être équipés d'un module TPM 2.0 afin de passer la certification matérielle Windows 8.1 . Cependant, dans une révision du programme de certification Windows de décembre 2014, cette exigence est devenue facultative. Cependant, TPM 2.0 est requis pour les systèmes de secours connectés . Les machines virtuelles exécutées sur Hyper-V peuvent avoir leur propre module TPM virtuel à partir de Windows 10 1511 et Windows Server 2016. Microsoft Windows inclut deux commandes liées au TPM : tpmtool , un utilitaire qui peut être utilisé pour récupérer des informations sur le TPM, et tpmvscmgr , un outil de ligne de commande qui permet de créer et de supprimer des cartes à puce virtuelles TPM sur un ordinateur.

Clés d'approbation

Les clés d'approbation TPM (EK) sont des paires de clés asymétriques propres à chaque TPM. Elles utilisent les algorithmes RSA et ECC . Le fabricant du TPM fournit généralement des certificats de clé d'approbation dans la mémoire non volatile du TPM . Les certificats attestent de l'authenticité du TPM. À partir de TPM 2.0, les certificats sont au format X.509 DER .

Ces fabricants fournissent généralement leurs certificats racines (et parfois intermédiaires) d'autorité de certification sur leurs sites Web.

Bibliothèques de logiciels TPM

Pour utiliser un TPM, l'utilisateur a besoin d'une bibliothèque logicielle qui communique avec le TPM et fournit une API plus conviviale que la communication TPM brute. Actuellement, il existe plusieurs bibliothèques TPM 2.0 open source de ce type. Certaines d'entre elles prennent également en charge TPM 1.2, mais la plupart des puces TPM 1.2 sont désormais obsolètes et le développement moderne se concentre sur TPM 2.0.

En règle générale, une bibliothèque TPM fournit une API avec des mappages un à un vers les commandes TPM. La spécification TCG appelle cette couche l'API système (SAPI). De cette façon, l'utilisateur a plus de contrôle sur les opérations TPM, mais la complexité est élevée. Pour masquer une partie de la complexité, la plupart des bibliothèques proposent également des moyens plus simples d'appeler des opérations TPM complexes. La spécification TCG appelle ces deux couches Enhanced System API (ESAPI) et Feature API (FAPI).

Il n'existe actuellement qu'une seule pile qui respecte la spécification TCG. Toutes les autres bibliothèques TPM open source disponibles utilisent leur propre forme d'API plus riche.

Résumé des bibliothèques TPM open source existantes
Bibliothèques TPM API TPM 2.0 TPM 1.2 Serveur d'attestation ou exemple Microsoft
Windows
Linux Métal nu
tpm2-tss SAPI, ESAPI et FAPI
de la spécification TCG
Oui Non Non, mais il y a un projet séparé Oui Oui Peut-être
ibmtss Mappage 1:1 vers les commandes TPM
+ API riche (couche légère sur le dessus)
Oui Partiel Oui, « IBM ACS » Oui Oui Non
aller-tpm Mappage 1:1 vers les commandes TPM
+ API riche (couche légère sur le dessus)
Oui Partiel Oui, « Go-attestation » Oui Oui Non
loupTPM Mappage 1:1 vers les commandes TPM
+ API riche (wrappers)
Oui Non Oui, des exemples sont à l'intérieur de la bibliothèque Oui Oui Oui
TSS.MSR Mappage 1:1 vers les commandes TPM
+ API riche (wrappers)
Oui Non Oui, des exemples sont à l'intérieur de la bibliothèque Oui Oui Non

Ces bibliothèques TPM sont parfois également appelées piles TPM, car elles fournissent l'interface permettant au développeur ou à l'utilisateur d'interagir avec le TPM. Comme le montre le tableau, les piles TPM font abstraction du système d'exploitation et de la couche de transport, de sorte que l'utilisateur peut migrer une application entre les plates-formes. Par exemple, en utilisant l'API de la pile TPM, l'utilisateur interagirait de la même manière avec un TPM, que la puce physique soit connectée via une interface SPI, I2C ou LPC au système hôte.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index