Glossary

[ IPEK ] PAYMENT CRYPTOGRAPHY

IPEK — Initial PIN Encryption Key

The per-terminal symmetric key loaded into a POS device at injection time, derived from the BDK + KSN. The IPEK is the only DUKPT-related key that ever lives on a terminal.

Standard:
ANSI X9.24-1 / X9.24-3
Origin:
Visa / ANSI

What is an IPEK?

The Initial PIN Encryption Key (IPEK) is the seed key for DUKPT key derivation on a specific terminal. It is derived once on the acquirer's HSM from the BDK + the terminal's Key Serial Number, then loaded into the terminal via a secure injection process. From that moment forward, the terminal uses the IPEK + its current KSN counter to derive a new Transaction Key for every payment, then securely erases the keys it can no longer produce.

The "Initial" in IPEK is literal: it is the value loaded at terminal initialization, and the actual encryption work is done by Transaction Keys derived from it on-the-fly. PCI PIN Security mandates that the IPEK never leaves the secure cryptographic boundary of the terminal once injected — it cannot be exported, printed, or relayed back to the acquirer.

IPEK Injection

Loading the IPEK into a terminal is called key injection. Historically, this was done at a Secure Cryptographic Device (SCD) in a controlled facility — the terminal was physically connected to a Key Loading Device (KLD) that decrypted and inserted the IPEK. Modern terminals support Remote Key Injection (RKI) using TR-31 wrapping over a TLS tunnel authenticated with X.509 device certificates, or asymmetric protocols like TR-34, eliminating the need for physical key facilities.

Either way, the injection ceremony itself never sees the clear IPEK outside of an SCD. PCI PIN Security Annex A spells out the integrity and authenticity requirements for each step. The same protocols are used for re-injection when an IPEK is exhausted (after 1M transactions for 3DES) or when a BDK is rotated.

Frequently Asked Questions

Is IPEK the same as DUKPT key?
No. The IPEK is the initial seed; "DUKPT keys" (Transaction Keys) are derived from the IPEK on every transaction. There is one IPEK per terminal and one Transaction Key per transaction.
Can two terminals have the same IPEK?
No. The IPEK is a function of the BDK and the terminal's unique KSN. Two terminals will have different KSNs (the upper bits of the KSN are the device identifier), so their IPEKs differ.
How long is an IPEK?
16 bytes (128 bits) for 3DES DUKPT, or 16/24/32 bytes for AES-128/192/256 DUKPT depending on the chosen algorithm.

Related Terms