Question

Je me demande s'il est possible de programmer TPM ( http://en.wikipedia.org/wiki/Truted_Platform_Module ) Présent dans la plupart des puces Intel, de manière à:

- decide what to store in the persistent memory
- decide which cryptographic algorithms to implement.

De toute évidence, il ne devrait pas être reprogrammable une fois qu'il commence à fonctionner (vous savez si cette déclaration est correcte?).

Était-ce utile?

La solution

Le comportement d'un TPM est défini par le Caractéristiques Émis par le groupe informatique de confiance. Un TPM doit se comporter exactement comme spécifié, vous ne pouvez donc pas modifier la fonctionnalité d'un TPM implémenté approprié. Les fabricants de TPM ont des capacités limitées pour mettre à jour leurs produits après l'expédition. Par exemple, Infineon fournit des mises à jour du micrologiciel pour leurs appareils.

Intel TPMS peut cependant être différent. Certains chipset comprenaient un TPM imité / logiciel au lieu d'un TPM matériel réel. Ces TPM peuvent être mis à jour avec une mise à jour du BIOS. Mais dans ce cas, la mise à jour doit être fournie par Intel. Des planches récentes comme le DQ67SW ont des TPM matériels autonomes non fabriqués par Intel.

Donc, la réponse à votre deuxième question est: non, vous Impossible de programmer / définir les algorithmes cryptographiques Un TPM utilise.


En ce qui concerne votre première question: oui, vous pouvez définir ce qu'il faut stocker dans le stockage persistant dans une certaine prolongation. Cette région de mémoire est appelée Stockage non volatile ou NV. Vous devez d'abord définir un peu d'espace en utilisant le Tpm_nv_definespace commande. Ensuite, vous pouvez lire et écrire depuis / à l'emplacement en utilisant Tpm_nv_readvalue et TPM_NV_WRITEVALUE. La définition se réserve une quantité donnée de mémoire dans NV et configure également les attributs de sécurité de cet emplacement. Ces commandes sont des commandes TPM de bas niveau, il est fortement recommandé d'utiliser un Stack de logiciels de confiance (TSS) Pour interfacer le TPM. Vous pouvez utiliser soit JTSS avec jtpmtools ou Des pantalons.

Quelques notes concernant NV:

  • Il y a un espace très limité dans le NV, mais la quantité exacte est spécifique au fournisseur (généralement moins de 5 Ko). Le montant minimum pour la plate-forme PC est de 2048 octets.
  • Le TPM est un appareil passif, il ne peut rien faire sans une commande qui lui est délivrée. Si vous souhaitez stocker quelque chose dans le TPM, vous devez avoir une pièce active (BIOS, logiciel, chipset, CPU) qui émet ces commandes.
  • Même la plupart des clés cryptographiques ne sont pas stockées dans le TPM. Il existe une hiérarchie de clé et seule la touche racine (clé de stockage racine - SRK) est stockée dans le TPM. Toutes les autres clés sont stockées à l'extérieur de manière cryptée.

Autres conseils

Le TPM n'est pas destiné à être programmable. Il a un ensemble fixe d'algorithmes pris en charge. Le code est stocké dans ROM (ou si ce n'est pas le cas, il est stocké dans un EEPROM qui se trouve à l'intérieur d'un package quelque peu imprévu et vous ne pouvez pas le remplacer).

Le TPM définit divers rôles administratifs. Lorsque vous l'utilisez pour la première fois, vous configurerez les mots de passe administratifs (ou votre logiciel le fera pour vous, auquel cas vous devez sauvegarder soigneusement ces mots de passe). Si vous n'êtes pas sûr de l'état du TPM lorsque vous le recevez, vous pouvez le réinitialiser aux «paramètres d'usine» (effacer toutes les clés et informations d'identification existantes); C'est ce qu'on appelle la compensation du TPM et se fait normalement à partir du BIOS.

Vous trouverez un aperçu des différentes informations d'identification stockées et utilisées par le TPM dans le profils d'identification. En plus des clés qui font partie du cycle de vie normal, vous pouvez importer vos propres clés et créer des clés non exportables avec le RNG du TPM.

Il y a une norme Profil de protection TPM. Je ne sais pas si le TPM d'Intel a été évalué à ce sujet. La figure 1 est un diagramme du cycle de vie TPM, qui montre lorsque les clés peuvent être générées.

En pratique, vous interagirez probablement avec le TPM à travers Des pantalons (une API TPM entièrement open source), ou de manière limitée via Bitlocker sur Windows.

Oui, vous pouvez utiliser la puce TPM pour exactement ces types d'opérations, et bien d'autres.

La Des pantalons Stack est une implémentation open source du logiciel informatique de confiance nécessaire pour l'utilisation de la puce TPM de manière fiable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top