web-dev-qa-db-fra.com

Différence entre TPM, TEE et SE

Quelle est la différence entre un Secure Element (SE), un Trusted Execution Environment (TEE) et un Trusted Platform Module (TPM)?

Je comprends qu'ils font tous référence à un cryptoprocesseur externe sécurisé, conçu pour stocker des clés cryptographiques et exécuter des algorithmes cryptographiques en toute sécurité. Y a-t-il des différences ou signifient-ils tous la même chose?

15
Raoul722

Commençons par disposer les différentes définitions:

  • TPM est un morceau de matériel spécialement créé pour faire des calculs cryptographiques avec. Il est physiquement isolé du reste du système de traitement et est souvent un circuit intégré séparé sur la carte mère.
  • TEE est une zone du chipset qui fonctionne comme un TPM, mais qui n'est pas physiquement isolée du reste de la puce.
  • SE est un magasin de secrets inviolable, un peu comme une carte à puce ou une carte SIM. Son objectif principal est de stocker des secrets cryptographiques de telle manière qu'une utilisation illicite soit difficile ou impossible à faire. Un exemple de cette technologie très utilisée est la puce EMV sur les cartes de paiement.

Nous pouvons clairement voir en comparant les définitions que ces 3 éléments sont différents, mais partagent un objectif commun. La différence entre un TPM et un TEE réside principalement dans la façon dont il est implémenté (purement matériel ou combo matériel et logiciel). Le SE a une fonction différente qui peut faire partie de la fonction d'un TPM et/ou d'un TEE, en étant un endroit sûr pour stocker des secrets cryptographiques.

14
LvB

Un peu plus sur les aspects fonctionnels: - Le TPM est une fonctionnalité fixe et bien spécifiée par une norme ISO et TCG. Vous ne pouvez pas simplement ajouter ou modifier cela. Il s'agit généralement d'une puce de sécurité discrète connectée via SPI à l'hôte uC.

  • TEE est (comme expliqué par les affiches précédentes) un environnement d'exécution sur une puce/SoC plus grande, mais le code s'exécutant à l'intérieur de ce TEE est à la discrétion des développeurs. Il existe même des implémentations TPM qui s'exécutent à l'intérieur d'un TEE.

  • l'élément sécurisé (SE) désigne généralement (sans séparer les cheveux) une puce de sécurité discrète qui est connectée via une interface série à l'hôte uC. Sur le SE, vous trouverez généralement une implémentation JavaCard et, par conséquent, la fonctionnalité du SE dépend des applets qui sont chargées et exécutées.

6
Scott McCoy