TPM 2.0, sans lui vous ne pourrez pas installer Windows 11

Depuis l'annonce de Microsoft que le TPM allait être obligatoire pour installer Windows 11 , l'actualité de ce terme n'a pas cessé d'arriver ; Nous en avons déjà parlé en profondeur bien avant cela, donc ce que nous allons aborder dans cet article est le Version TPM 2.0 les nouveautés nouvelles et Caractéristiques qu'il apporte par rapport à la version précédente 1.2, et surtout comment il affecte les processeurs de Intel et AMD.

Comme vous le savez peut-être déjà, TPM signifie Trusted Platform Module (également connu sous le nom ISO / IEC 11889), une norme de sécurité internationale pour un cryptoprocesseur sécurisé, qui n'est rien de plus qu'un microcontrôleur dédié conçu pour protéger le matériel à travers clés intégré cryptographique. À ce stade, nous savons déjà de quoi il s'agit et à quoi il sert, ainsi que surement quels appareils le transportent, mais connaissez-vous les différences entre ses différentes versions ?

Les différents types de déploiement TPM 2.0

TPM 2.0

Afin de comprendre les différences entre les différentes versions de la norme et comment elles affectent les processeurs Intel et AMD, nous devons d'abord expliquer les différents types d'implémentation que nous pouvons trouver. Le TPM n'est pas quelque chose de nouveau, puisque depuis 2006, des milliers d'ordinateurs portables ont déjà été vendus et intégraient déjà une puce TPM. À partir de là, différentes formes d'intégration ont été développées, ce qui en fait un concept qui pourrait être intégré à n'importe quel autre appareil, y compris les téléphones mobiles. Dans un PC, le bus LPC ou SPI est utilisé pour que le Processeur peut se connecter à la puce TPM.

Le Trusted Computing Group (TCG) a certifié des puces TPM fabriquées par différents fabricants tels que Infineon, Novoton ou STMicroelectronics, mais a également attribué des identifiants de fournisseur à d'autres tels que AMD, Atmel, Broadcom, IBM, Intel, Lenovo, National Semiconductor, Nationz, Qualcomm, Rockchip, SMC, Samsung, Sinosun, Texas Instruments ou Winbond, donc si vous trouvez un supposé module TPM fabriqué par quelqu'un qui n'est pas dans cette liste, c'est définitivement faux.

Il existe cinq types différents d'implémentations pour TPM 2.0, et nous allons les énumérer par ordre de sécurité la plus élevée à la plus faible :

  • TPM 2.0 dédié – Ces sont des puces dédiées qui implémentent la fonctionnalité TPM dans leur propre boîtier semi-conducteur inviolable. En théorie, ils sont le type le plus sécurisé car les routines implémentées dans le matériel devraient être plus résistantes aux erreurs que celles implémentées dans le logiciel, et leurs packages devraient implémenter une certaine résistance à la falsification.
  • TPM 2.0 intégré : ils font partie d'une autre puce, et bien qu'ils utilisent du matériel qui résiste aux bogues logiciels, ils n'ont pas besoin de mettre en œuvre une résistance physique à la falsification. Intel a ainsi intégré le TPM dans certains de ses chipsets par exemple.
  • Micrologiciel TPM (fTPM) - Ces sont des solutions transmises dans le micrologiciel (par exemple, UEFI) qui s'exécutent sur l'anneau d'exécution de confiance du processeur. Intel, AMD et Qualcomm ont implémenté le firmware TPM de cette manière.
  • TPM par hyperviseur (vTPM) : ils sont des TPM virtuels fournis par les hyperviseurs et dépendent donc d'eux. Ils s'exécutent isolément et cachés des logiciels à l'intérieur des machines virtuelles pour protéger votre code et peuvent fournir un niveau de sécurité comparable aux fTPM.
  • TPM 2.0 par logiciel : ces sont des émulateurs qui s'exécutent sans plus de protection que celle obtenue par un programme normal au sein du système d'exploitation. Ils dépendent entièrement de l'environnement dans lequel ils s'exécutent, ils n'offrent donc pas une sécurité supérieure à celle que l'environnement d'exécution normal peut fournir, et sont donc vulnérables à leurs propres bogues et attaques logiciels. Ils ne sont utiles qu'à des fins de développement.

Microsoft a développé l'implémentation de référence officielle de TPM 2.0, il est sous licence BSD et le code source est ouvertement disponible. Microsoft fournit une solution Visual Studio et des scripts de génération pour Linux/Unix outils automatisés. Intel pour sa part, en 2018 a déjà ouvert son code TPM 2.0 avec prise en charge de Windows et Linux, également avec une licence BSD.

Qu'est-ce qui différencie le TPM 2.0 de la version précédente (1.2) ?

Module de plateforme sécurisée Windows 11

Bien que la version TPM 2.0 aborde bon nombre des mêmes cas d'utilisation que la version 1.2 et ait des caractéristiques essentiellement similaires, les détails sont différents, et en fait TPM 2.0 n'est pas compatible avec les versions antérieures à TPM 1.2 (c'est pourquoi ce sont ces deux versions que nous comparons ).

Architecture

TPM 1.2 se compose d'une architecture en trois parties ou de trois bibliothèques différentes. La version 2.0, pour sa part, consiste en une spécification spécifique à la plate-forme qui fait référence à une bibliothèque TPM 2.0 commune en quatre parties. Ces spécifications de plate-forme définissent quelles parties de la bibliothèque sont obligatoires, facultatives ou interdites pour la bibliothèque. Ces spécifications incluent les PC clients, les mobiles et l'automobile.

Algorithmes

Pour la version 1.2, les algorithmes de chiffrement SHA-1 et RSA sont requis, tandis qu'AES est facultatif. Le triple DES était aussi un algorithme optionnel à l'époque dans les versions précédentes, mais il était interdit dans la version 94 de TPM 1.2 pour des raisons de sécurité. La fonction de génération de masque basée sur le hachage MGF1 qui est définie dans PKCS # 1 est requise.

Pour la version 2.0, SHA-1 et SHA-256 sont requis pour l'architecture du PC client, ainsi que RSA et ECC utilisant la courbe Barreto-Naehrig 256 bits et NIST P-256 pour la cryptographie à clé publique et la génération et la vérification de la signature numérique asymétrique . HMAC est également requis pour la génération et la vérification symétriques des signatures numériques, l'AES 128 bits pour l'algorithme de clé symétrique et la fonction de génération de masque de hachage MGF1. Une myriade d'algorithmes supplémentaires sont également définis, mais ils sont facultatifs. Gardez à l'esprit que Triple DES a été incorporé dans TPM 2.0 mais avec des restrictions.

Primitives cryptographiques et considérations supplémentaires

Pour la version 1.2, un générateur de nombres aléatoires (RNG), 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 directe anonyme sont utilisés. Les algorithmes de clé symétrique uniques sont facultatifs.

Dans TPM 2.0, un générateur de nombres aléatoires, des algorithmes cryptographiques à clé publique, des fonctions de hachage cryptographiques, des algorithmes à clé symétrique, la génération et la vérification de signature numérique, des fonctions de génération de masque, une attestation anonyme directe ou exclusive, ou également basé sur ECC utilisant la courbe Barreto-Naehrig de 256 bits. La spécification requiert également des fonctions de génération et de dérivation de clés.

Connecteur TPM

D'autre part, il convient également de noter que la version 1.2 a une seule hiérarchie (stockage) alors que la version 2.0 en utilise trois (plateforme, stockage et confiance), en utilisant une seule clé racine (SRK RSA-2048) dans le cas de la version ci-dessus. et plusieurs clés et algorithmes pour chaque hiérarchie dans la dernière version de TPM.

De même, en termes d'autorisation, la version 1.2 prend en charge HMAC, PCR, localité et présence physique, tandis que TPM 2.0 prend en charge le mot de passe, HMAC et différentes politiques configurables (qui couvrent HMAC, PCR, localité et présence physique). Notons enfin qu'en matière de NVRAM, la version 1.2 n'utilise que des données non structurées, tandis que la version 2.0 utilise des données non structurées mais aussi un compteur, un bitmap, une extension et un PIN.