Naar de inhoud
esif.nl, kennisbank security en intelligence

Afkortingen

HSM (hardware security module)

Bijgewerkt op · Door Maarten van den Bos

HSM staat voor hardware security module: een fysiek apparaat dat cryptografische sleutels veilig aanmaakt, bewaart en gebruikt. De sleutels verlaten de HSM niet onversleuteld, en de behuizing detecteert pogingen om het apparaat open te breken. Banken, certificaatautoriteiten en cloudaanbieders gebruiken HSM's om betalingen, digitale handtekeningen en versleutelde gegevens te beschermen.

Wat is een HSM?

Een HSM is een apart stuk hardware dat maar 1 taak heeft: cryptografische sleutels beschermen en ermee rekenen. Het Amerikaanse standaardisatie-instituut NIST omschrijft een HSM als een fysiek apparaat dat digitale sleutels en andere geheimen beschermt en beheert, met een behuizing die sabotage zichtbaar maakt en indringing tegengaat.

Het verschil met gewone opslag zit in waar de sleutel leeft. Staat een sleutel in een bestand op een server, dan kan een aanvaller die de server overneemt de sleutel kopiëren. In een HSM blijft de sleutel binnen het apparaat. Een applicatie stuurt gegevens naar de HSM, de HSM ondertekent of ontsleutelt ze en stuurt alleen het resultaat terug. De sleutel zelf verlaat de HSM niet onversleuteld.

HSM’s vormen de basis van encryptie op grote schaal en van een PKI (public key infrastructure), het stelsel van digitale certificaten waarop onder meer TLS voor beveiligde websites draait. Een HSM bestaat als insteekkaart, als netwerkapparaat in een datacenter of als clouddienst.

Hoe werkt een HSM?

Een HSM beschermt sleutels op 3 manieren: fysiek, logisch en organisatorisch.

  1. Genereer de sleutel in de HSM zelf, met een eigen generator van willekeurige getallen, zodat de sleutel nergens anders bestaat.
  2. Gebruik de sleutel alleen via de interface van de HSM: de applicatie vraagt om een handtekening of ontsleuteling, niet om de sleutel.
  3. Scherm de hardware af: bij een poging tot openbreken detecteert de HSM dit en kan hij de sleutels wissen.
  4. Verdeel de toegang: kritieke handelingen, zoals een sleutel activeren, vragen de aanwezigheid van meerdere sleutelhouders tegelijk.

Hoe goed een HSM is, wordt getoetst met de norm FIPS 140-3 van NIST. Die norm, gepubliceerd op 22 maart 2019, stelt eisen aan cryptografische modules en kent 4 beveiligingsniveaus, van basisbeveiliging tot zware eisen aan fysieke bescherming. FIPS 140-3 volgde FIPS 140-2 uit 2002 op en sluit aan op de internationale norm ISO/IEC 19790. Het Cryptographic Module Validation Program van NIST en het Canadian Centre for Cyber Security keurt modules officieel.

Voorbeeld uit de praktijk

PKIoverheid is het stelsel van digitale certificaten van de Nederlandse overheid, beheerd door Logius. In het Certification Practice Statement (versie 3.9) van de Policy Authority PKIoverheid staat dat de actieve ondertekeningssleutels zich altijd in een cryptografische module (HSM) bevinden. Die HSM moet voldoen aan FIPS PUB 140-2 niveau 3 of hoger, of aan een vergelijkbare norm zoals Common Criteria EAL 4+.

Sleutelmateriaal kan daar alleen worden gemaakt als verschillende sleutelhouders tegelijk aanwezig zijn, en elke sleutelhouder heeft maar een deel van de activeringsgegevens (bron: Logius, CPS PKIoverheid v3.9). Dit heet het N-uit-M-principe.

HSM in de praktijk van een security-professional

Een security architect bepaalt waar een organisatie een HSM nodig heeft, bijvoorbeeld voor een eigen certificaatautoriteit, voor het ondertekenen van software of voor het beheer van API-keys en databasesleutels. Een information security officer controleert of het sleutelbeheer voldoet aan beleid en normen.

Bij het kiezen van een HSM is de FIPS-status van belang. NIST verplaatst FIPS 140-2-certificaten per 21 september 2026 naar de Historical List: nieuwe systemen gebruiken daarna FIPS 140-3-modules, bestaande systemen mogen hun FIPS 140-2-modules blijven gebruiken (bron: NIST CMVP). Meer over het vakgebied lees je bij data security en de opleidingen in informatiebeveiliging.

Veelgestelde vragen

Waar staat de afkorting HSM voor?

In informatiebeveiliging staat HSM voor hardware security module: een apparaat dat cryptografische sleutels veilig bewaart en gebruikt. De afkorting HSM komt ook elders voor, bijvoorbeeld in het Nederlandse migratierecht voor highly skilled migrant (kennismigrant). Die betekenis heeft niets met security te maken.

Wat is het verschil tussen een HSM en een TPM?

Een TPM (trusted platform module) is een kleine chip in een laptop of server die sleutels voor dat ene apparaat beschermt, bijvoorbeeld voor schijfversleuteling. Een HSM is een apart, krachtiger apparaat dat sleutels beheert voor veel systemen en applicaties tegelijk, zoals een betaalplatform of certificaatautoriteit.

Wat is FIPS 140-3?

FIPS 140-3 is de Amerikaanse norm van NIST voor cryptografische modules, zoals HSM’s. De norm is gepubliceerd op 22 maart 2019, volgde FIPS 140-2 op en kent 4 beveiligingsniveaus. Ook Europese organisaties vragen vaak om een FIPS-certificaat als bewijs dat een HSM onafhankelijk is getest.

Is een cloud-HSM net zo veilig als een eigen HSM?

Een cloud-HSM is een fysieke HSM in het datacenter van een cloudaanbieder, die je als dienst afneemt. De sleutelbescherming kan vergelijkbaar zijn, maar je bent afhankelijk van de aanbieder en de locatie van het datacenter. Controleer daarom de FIPS-certificering en waar de sleutels fysiek staan.

Bronnen

  1. NIST: Glossary, hardware security module (HSM)
  2. NIST: FIPS 140-3, Security Requirements for Cryptographic Modules (2019)
  3. NIST: Cryptographic Module Validation Program (CMVP)
  4. Logius: Certification Practice Statement Policy Authority PKIoverheid v3.9

Gerelateerde begrippen

  • Encryptie

    Encryptie is het versleutelen van gegevens, zodat ze onleesbaar worden voor iedereen die de juiste sleutel niet heeft. Een algoritme zet leesbare tekst om in een reeks willekeurige tekens. Alleen met de sleutel kan de ontvanger de gegevens weer ontsleutelen. Encryptie beschermt berichten, bestanden, wachtwoorden en internetverbindingen.

  • PKI (public key infrastructure)

    PKI staat voor public key infrastructure: het stelsel van organisaties, afspraken en techniek waarmee digitale certificaten worden uitgegeven, beheerd en ingetrokken. Een certificaat koppelt een publieke sleutel aan een persoon, organisatie of server. Een vertrouwde certificaatautoriteit staat met haar digitale handtekening garant voor die koppeling. Zo maakt PKI versleutelde verbindingen en digitale handtekeningen mogelijk.

  • TLS (Transport Layer Security)

    TLS staat voor Transport Layer Security: het protocol dat de verbinding tussen een client, zoals je browser, en een server versleutelt. TLS zorgt dat niemand onderweg kan meelezen of berichten ongemerkt kan aanpassen, en controleert met een certificaat of je met de juiste server praat. Het slotje en https in de adresbalk laten zien dat TLS wordt gebruikt.

  • API key

    Een API key is een unieke geheime code waarmee een programma zich bij een API bekendmaakt. De API gebruikt de sleutel om te bepalen welke applicatie een verzoek doet, wat die applicatie mag en hoeveel verzoeken ze mag sturen. Een API key hoort geheim te blijven: wie hem in handen krijgt, kan de API gebruiken alsof hij die applicatie is.

  • Data security

    Data security is het beschermen van digitale gegevens tegen ongeoorloofde toegang, wijziging, diefstal en verlies, gedurende hun hele levenscyclus. Het richt zich op de data zelf, waar die ook staat: op een server, in de cloud of op een laptop. Bekende maatregelen zijn versleuteling, toegangsbeheer, labeling van vertrouwelijke informatie en back-ups.