P4 The HSM

Needs: Supporter

What stays inside the HSM, and the commands a host sends to translate and verify PINs, MACs and cryptograms.

This is a supporter feature. Create a free account, then try every supporter feature free for 7 days.

Sign in Create a free account See plans

What this module covers

Track P · PIN and card security

You will be able to

  • Explain what stays inside the HSM
  • Read a command and its response
  • Map host operations to HSM commands
  • Read HSM error codes

The lesson

  1. Why it matters
  2. The concept
  3. In the real world
  4. Common mistakes
  5. What to test

In the module

  • The lesson, with diagrams, common mistakes and what to test
  • A worked example you can change: Inside an HSM command
  • Practice: 2 kinds of generated exercise, each with a step-by-step solution
  • A quiz of 8 questions

Key terms

Authorised state
An HSM mode, enabled by smart cards or passwords under dual control, needed for sensitive commands such as loading keys.
FIPS 140
The US and Canadian standard for cryptographic modules, with levels 1 to 4. Payment HSMs are usually level 3.
Host command
A request from the host application to the HSM, such as translate a PIN block, verify a PIN, generate a MAC or verify an ARQC, with a response code.
HSM (Hardware security module)
A tamper-responsive device that keeps keys and runs cryptographic commands so that keys, PINs and other secrets never appear in the clear in host memory.
Local master key (LMK)
The HSM's own master key. Every other key the host stores is encrypted under it (or a variant of it).
PCI HSM
The PCI PTS security requirements for payment HSMs.
Tamper response
An HSM or PIN pad erasing its keys when it detects being opened, drilled or chilled.

Tools for this module: HSM Simulator

Read the opening of the lesson →

The lesson, worked example, practice and quiz open with a supporter pass, which you can try free for 7 days.
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.