TPM vs HSM vs élément sécurisé : emplacement, rôle, protection des clés, certification

Tous trois sont du matériel dédié qui génère et stocke des clés cryptographiques et effectue en interne les signatures ou déchiffrements, sans jamais laisser sortir les clés privées. Ils diffèrent par ce qu’ils protègent et par leur emplacement. Un TPM se trouve dans chaque PC ou serveur, enregistre et prouve l’état de démarrage de cette machine et protège les clés liées à celle-ci. Un HSM est un équipement dédié qui conserve en un seul endroit les clés les plus importantes d’une organisation ; il est au cœur des autorités de certification, des systèmes de paiement et des services cloud de gestion de clés et traite de grands volumes de signatures et de déchiffrements. Un élément sécurisé est une petite puce résistante à l’effraction présente dans les cartes à puce et les téléphones, qui protège les identifiants de paiement et d’identité dans les appareils que l’on transporte.

CritèreTPMHSMÉlément sécurisé
Emplacement et formeUne puce distincte sur la carte mère d’un PC ou d’un serveur ; peut aussi être un micrologiciel dans le CPU ou le SoC (fTPM)Une carte PCIe ou un équipement connecté au réseau ; également proposé comme service cloudUne petite puce dans les cartes à puce, les cartes SIM ou sur la carte d’un smartphone ou d’un objet connecté ; peut aussi être intégrée à un SoC
Rôle principalEnregistrer et prouver l’état de démarrage de cette machine, et protéger les clés qui lui sont liéesProtéger en un seul endroit les clés importantes d’une organisation et traiter les demandes de signature et de déchiffrement de nombreux systèmesProtéger les identifiants de paiement, d’identité et d’abonné mobile dans les appareils que l’on transporte
Appareils et utilisateurs typiquesPC et serveursAutorités de certification, banques et prestataires de paiement, services de gestion de clés (KMS) des centres de données et des cloudsCartes à puce comme les cartes bancaires et les badges d’employés, cartes SIM, smartphones, objets connectés
Protection des clésLes clés sont générées dans le TPM et leur partie privée n’en sort jamais en clair ; le scellement peut lier une clé à des valeurs de PCR pour qu’elle ne soit libérée que si l’état de démarrage est correctLes clés sont générées et stockées dans l’équipement ; les applications lui demandent de « signer avec cette clé » et ne reçoivent que le résultat ; les rôles des utilisateurs et une piste d’audit sont gérésLes clés et identifiants sont stockés sur la puce, et des applications (applets) sur la puce effectuent l’authentification et la signature
Performances cryptographiquesFaibles ; les gros volumes de données sont chiffrés par le CPU avec une clé libérée par le TPMÉlevées ; conçu pour traiter en continu de nombreuses signatures et opérations sur les clésFaibles ; adapté à l’authentification ou à la signature de courtes données
Résistance à l’effraction et certificationUne puce distincte résiste à l’effraction ; un fTPM s’appuie sur la protection du processeur principal. Selon le produit, certifié selon les Critères communs ou FIPS 140Efface ses clés lorsqu’il détecte une tentative d’ouverture ; de nombreux produits sont certifiés selon des normes comme FIPS 140-3Résistance à l’effraction de niveau carte à puce, avec évaluation des contre-mesures contre les attaques par canal auxiliaire et par injection de fautes ; beaucoup sont évalués selon les Critères communs (ISO/IEC 15408)
AttestationFonction centrale : les valeurs des PCR sont signées avec une clé qui ne peut pas sortir du TPM (un quote), pour l’attestation à distancePas une fonction centrale ; certains produits peuvent prouver qu’une clé a été générée en interne et ne peut pas être exportéeSert à montrer qu’une clé a été générée sur la puce et que la puce est authentique
Coût et taillePeu coûteux ; un composant parmi d’autres d’un PC, et un fTPM ne nécessite aucune pièce supplémentaireLe plus coûteux et le plus encombrant ; les services qui ne doivent pas s’arrêter en utilisent plusieurs pour la redondanceLe plus petit ; tient dans des cartes et de petits appareils, et coûte peu à l’unité car il est produit en masse
Usages typiquesScellement des clés de chiffrement de disque, démarrage mesuré, contrôle de l’état de l’appareil avant l’accès au réseauClés de signature des AC, clés de paiement, clés racines des KMS, clés de signature de code des logicielsPaiement sans contact, authentification des abonnés SIM et eSIM, passeports électroniques et cartes d’identité, authentification des objets connectés

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

TPM
Sur les PC et les serveurs, lorsqu’on veut protéger des clés liées à l’état de démarrage (chiffrement de disque, par exemple) ou prouver à un serveur que la machine a démarré le bon logiciel.
HSM
Lorsque les clés les plus importantes d’une organisation, comme les clés de signature d’une AC ou les clés de paiement, doivent être gardées en un seul endroit tout en étant utilisées par de nombreux systèmes. Utilisé aussi lorsque la réglementation ou les audits exigent que les clés soient manipulées dans un équipement certifié.
Élément sécurisé
Dans les cartes, téléphones et objets connectés susceptibles de tomber entre les mains d’un attaquant, lorsque les identifiants de paiement ou d’identité et les clés propres à chaque appareil doivent être protégés contre les attaques physiques.
Ensemble
Les systèmes les utilisent couramment côte à côte : un serveur prouve son état de démarrage avec un TPM, les clés critiques du service résident dans un HSM, et le smartphone de l’utilisateur garde ses clés de paiement dans un élément sécurisé.

Questions fréquentes

Quelle est la différence entre un TPM et un HSM ?

Un TPM se trouve dans une seule machine, enregistre et prouve son état de démarrage, protège les clés qui lui sont liées et est relativement lent. Un HSM est un équipement dédié qui conserve les clés importantes d’une organisation et traite avec de hautes performances les demandes de signature et de déchiffrement de nombreux systèmes. Les deux suivent le principe de traiter les clés en interne sans les laisser sortir ; ils diffèrent par l’échelle et le rôle.

Un élément sécurisé et un TEE sont-ils la même chose ?

Non. Un élément sécurisé est une puce distincte résistante à l’effraction, avec son propre processeur et sa propre mémoire. Un TEE (environnement d’exécution de confiance), comme Arm TrustZone, crée un environnement d’exécution isolé dans le processeur principal et partage les cœurs et les caches avec le système d’exploitation normal. Les smartphones utilisent souvent les deux, par exemple en comparant les empreintes digitales dans le TEE tout en gardant les clés les plus précieuses dans un élément sécurisé.

Un fTPM est-il aussi sûr qu’une puce TPM distincte ?

L’interface est la même, mais la protection diffère. Un fTPM s’exécute dans un environnement isolé du processeur principal, sans puce supplémentaire, mais il peut être touché par des vulnérabilités du micrologiciel du processeur et par des attaques par canal auxiliaire. Une puce distincte peut être conçue spécifiquement pour résister aux attaques physiques. Le choix dépend des attaques auxquelles il faut résister.

Quelle est la différence entre FIPS 140-3 et les Critères communs ?

FIPS 140-3 est une norme utilisée dans les programmes américain et canadien, qui fixe les exigences de sécurité des modules cryptographiques, réparties en quatre niveaux de sécurité de plus en plus stricts. Les Critères communs (ISO/IEC 15408) sont une norme internationale dans laquelle un produit est évalué par rapport à des cibles de sécurité définies pour lui, la profondeur de l’évaluation étant exprimée par des niveaux d’assurance de l’évaluation (EAL) et des mesures similaires. Les HSM sont généralement validés selon FIPS 140-3, et les cartes à puce et éléments sécurisés selon les Critères communs, mais certains produits ont les deux.

Vérifier vos connaissances

Quel est le rôle principal du TPM (Trusted Platform Module) intégré aux ordinateurs et autres appareils ?

  1. AUn circuit dédié accélérant l'affichage
  2. BUn composant gérant le refroidissement du CPU
  3. CFournir des fonctions de sécurité : générer et conserver des clés en sécurité, tenir un registre des logiciels démarrés et attester de cet état
Afficher la réponse et l'explication

Réponse : C. Fournir des fonctions de sécurité : générer et conserver des clés en sécurité, tenir un registre des logiciels démarrés et attester de cet état

Le TPM est une puce de sécurité difficile à altérer de l'extérieur (ou une fonction intégrée au CPU) qui assure la génération et la conservation de clés, les traitements cryptographiques, la génération de nombres aléatoires et l'enregistrement des empreintes des logiciels démarrés. Par exemple, en ne libérant la clé de chiffrement du disque que si l'état de démarrage est correct, les données restent difficiles à lire même si le disque est extrait ou le logiciel de démarrage modifié.

Quelle affirmation sur le rôle d'un HSM (module matériel de sécurité) est correcte ?

  1. AUn dispositif de stockage rapide intégrant des fonctions de chiffrement, destiné à stocker de grandes quantités de données chiffrées
  2. BUn dispositif qui génère et conserve des clés dans un matériel résistant à l'effraction et effectue des opérations comme la signature et le déchiffrement sans laisser sortir les clés
  3. CUn équipement réseau qui surveille le trafic réseau et détecte et bloque les paquets malveillants et le trafic d'attaque
Afficher la réponse et l'explication

Réponse : B. Un dispositif qui génère et conserve des clés dans un matériel résistant à l'effraction et effectue des opérations comme la signature et le déchiffrement sans laisser sortir les clés

Un HSM est un dispositif dédié à la protection de clés comme les clés de signature des autorités de certification, les clés de paiement et les clés de plus haut niveau des services de gestion des clés (KMS) du cloud. Les clés sont générées dans le HSM, qui est conçu pour qu'elles ne puissent pas en sortir en clair ; les applications envoient des demandes comme « signe avec cette clé » et ne reçoivent que le résultat. Il présente une résistance à l'effraction, par exemple en effaçant ses clés si quelqu'un tente de l'ouvrir, et de nombreux produits sont certifiés selon des normes comme FIPS 140-3. L'élément sécurisé d'un smartphone et le TPM d'un PC protègent les clés selon une idée semblable, bien qu'à plus petite échelle.

Quelle est la définition de la résistance à l'effraction (tamper resistance) exigée des puces de sécurité comme celles des cartes à puce ?

  1. ALa propriété d'une puce de ne pas être endommagée par l'eau
  2. BLa propriété de rendre difficiles les attaques physiques comme l'ouverture de la puce ou la pose de sondes, et de protéger les secrets internes, par exemple en effaçant les clés à la détection
  3. CLa propriété d'une puce de fonctionner rapidement à haute température
Afficher la réponse et l'explication

Réponse : B. La propriété de rendre difficiles les attaques physiques comme l'ouverture de la puce ou la pose de sondes, et de protéger les secrets internes, par exemple en effaçant les clés à la détection

La résistance à l'effraction est la capacité de résister aux attaques visant à extraire des secrets en démontant la puce ou en posant des sondes sur ses interconnexions internes. Elle combine la détection de la coupure d'un maillage métallique couvrant la surface (blindage), la détection d'anomalies de lumière, de température ou de tension, le chiffrement ou l'agencement complexe des interconnexions internes, et l'effacement des clés en cas d'anomalie. Son évaluation inclut aussi les contre-mesures aux canaux auxiliaires et à l'injection de fautes.

  1. Quelle est la définition de l'attestation à distance (remote attestation) ?
  2. Quelle est la définition d'une attaque par injection de fautes ?
  3. On appelle DEK une clé de chiffrement des données et KEK une clé de chiffrement de clés. Quelle description du chiffrement d'enveloppe, utilisé notamment pour le stockage dans le cloud, est correcte ?

Questions d'entraînement sur Sécurité matérielle

Termes clés expliqués

TPM
Module de plateforme de confiance (Trusted Platform Module). Puce ou fonction de sécurité qui génère et stocke des clés, enregistre les mesures des logiciels démarrés et atteste de l'état du système.
HSM (module matériel de sécurité)
Dispositif dédié qui génère et conserve de façon sûre des clés cryptographiques et effectue en interne des opérations comme la signature et le déchiffrement, sans laisser sortir les clés. Il est résistant à l'effraction et efface ses clés lorsqu'il détecte des tentatives comme une ouverture forcée. Il sert à protéger les clés de signature des autorités de certification, les clés de paiement et les clés de plus haut niveau des services de gestion des clés (KMS) du cloud. De nombreux produits sont certifiés selon des normes comme FIPS 140-3. Outre les cartes PCIe et les appareils raccordés au réseau, les HSM sont aussi proposés sous forme de services cloud.
Résistance à l'effraction (tamper resistance)
Capacité d'une puce à résister aux attaques physiques comme l'ouverture du boîtier ou le micro-sondage, et à protéger ses secrets, par exemple en effaçant les clés en cas de détection.
Attestation à distance
Mécanisme par lequel un équipement signe, avec une clé interne à la puce, l'état du logiciel qu'il exécute et le présente à un serveur distant pour faire vérifier qu'il est digne de confiance.
Démarrage mesuré (measured boot)
Mécanisme qui, à chaque étape du démarrage, enregistre cumulativement dans un TPM, etc., l'empreinte (hash) du logiciel suivant, afin de pouvoir vérifier ensuite l'état du démarrage.
TEE (environnement d'exécution de confiance)
Environnement d'exécution protégé par le matériel, isolé même du système d'exploitation ordinaire. Il exécute les traitements sensibles comme la gestion des clés ou l'authentification. Par exemple TrustZone d'Arm.
Chiffrement d'enveloppe (envelope encryption)
Schéma dans lequel les données sont chiffrées avec une clé de chiffrement des données (DEK), puis cette DEK est elle-même chiffrée (« emballée », wrapping) avec une clé de chiffrement de clés (KEK) distincte et stockée avec les données. La KEK reste dans un KMS ou un HSM et n'en sort jamais, tandis que les données volumineuses peuvent être chiffrées localement. Lors du renouvellement de la KEK, il suffit de rechiffrer les petites DEK, et non toutes les données. Il est largement utilisé pour chiffrer le stockage dans le cloud et les bases de données.

Comparatifs associés