TPM versus HSM versus secure element: plaats, doel, sleutelbescherming en certificering vergeleken
Alle drie zijn speciale hardware die cryptografische sleutels genereert en bewaart en intern ondertekent of ontsleutelt, zonder privésleutels naar buiten te laten. Ze verschillen in wat ze beschermen en waar ze zitten. Een TPM zit in elke pc of server, legt de opstarttoestand van die machine vast en toont die aan, en beschermt sleutels die aan die machine zijn gebonden. Een HSM is een speciaal apparaat dat de belangrijkste sleutels van een organisatie op één plek bewaart; het vormt het hart van certificaatautoriteiten, betaalsystemen en sleutelbeheerdiensten in de cloud en verwerkt grote aantallen ondertekeningen en ontsleutelingen. Een secure element is een kleine manipulatiebestendige chip in smartcards en telefoons die betaal- en identiteitsgegevens beschermt in apparaten die mensen bij zich dragen.
| Kenmerk | TPM | HSM | Secure element |
|---|---|---|---|
| Plaats en vorm | Een aparte chip op het moederbord van een pc of server; kan ook firmware in de CPU of SoC zijn (fTPM) | Een PCIe-kaart of een apparaat aan het netwerk; ook aangeboden als clouddienst | Een kleine chip in smartcards, simkaarten of op het bord van een smartphone of IoT-apparaat; kan ook in een SoC zijn geïntegreerd |
| Hoofddoel | De opstarttoestand van die machine vastleggen en aantonen, en sleutels beschermen die eraan zijn gebonden | De belangrijke sleutels van een organisatie op één plek beschermen en verzoeken tot ondertekenen en ontsleutelen van veel systemen afhandelen | Betaal-, identiteits- en abonneegegevens voor mobiele netwerken beschermen in apparaten die mensen bij zich dragen |
| Typische apparaten en gebruikers | Pc's en servers | Certificaatautoriteiten, banken en betaaldienstverleners, sleutelbeheerdiensten (KMS) in datacenters en clouds | Smartcards zoals creditcards en personeelspassen, simkaarten, smartphones, IoT-apparaten |
| Hoe sleutels worden beschermd | Sleutels worden in de TPM gegenereerd en het privédeel verlaat die nooit in leesbare vorm; sealing kan een sleutel aan PCR-waarden binden, zodat die alleen wordt vrijgegeven als de opstarttoestand correct is | Sleutels worden in het apparaat gegenereerd en bewaard; applicaties vragen „onderteken met deze sleutel” en krijgen alleen het resultaat terug; gebruikersrollen en een audittrail worden beheerd | Sleutels en credentials staan op de chip, en applicaties (applets) op de chip voeren authenticatie en ondertekening uit |
| Cryptoprestaties | Laag; grote hoeveelheden data versleutelt de CPU met een sleutel die de TPM vrijgeeft | Hoog; gebouwd om continu veel ondertekeningen en sleutelbewerkingen te verwerken | Laag; geschikt voor authenticatie of ondertekening van korte stukken data |
| Manipulatiebestendigheid en certificering | Een aparte chip is manipulatiebestendig; een fTPM steunt op de bescherming van de hoofdprocessor. Afhankelijk van het product gecertificeerd volgens Common Criteria of FIPS 140 | Wist zijn sleutels als het een poging tot openen detecteert; veel producten zijn gecertificeerd volgens normen zoals FIPS 140-3 | Manipulatiebestendigheid op smartcardniveau, waarbij ook tegenmaatregelen tegen zijkanaal- en foutinjectieaanvallen worden beoordeeld; veel zijn geëvalueerd volgens Common Criteria (ISO/IEC 15408) |
| Attestatie | Een kernfunctie: PCR-waarden worden ondertekend met een sleutel die de TPM niet kan verlaten (een quote), voor remote attestation | Geen kernfunctie; sommige producten kunnen aantonen dat een sleutel intern is gegenereerd en niet kan worden geëxporteerd | Gebruikt om aan te tonen dat een sleutel op de chip is gegenereerd en dat de chip echt is |
| Kosten en omvang | Goedkoop; één onderdeel van een pc, en een fTPM vraagt geen extra component | Het duurst en het grootst; diensten die niet mogen stoppen gebruiken meerdere exemplaren voor redundantie | Het kleinst; past in kaarten en kleine apparaten en is per stuk goedkoop doordat het in massa wordt geproduceerd |
| Typische toepassingen | Sealing van sleutels voor schijfversleuteling, measured boot, controle van de apparaatstatus vóór netwerktoegang | Ondertekeningssleutels van CA's, betaalsleutels, KMS-sleutels op het hoogste niveau, sleutels voor codeondertekening van software | Contactloos betalen, abonneeauthenticatie voor sim en eSIM, e-paspoorten en identiteitskaarten, authenticatie van IoT-apparaten |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.