hsm 如何干预终端交易的加密?

How does the hsm intervene in the encryption of a transaction with a termianl?

我正在尝试了解如何使用终端将 hsm 和密钥链接到交易。我应该开发一个身份验证服务器,从终端接收交易并解析它们以获取不同的数据。但是我不明白的是hsm是如何用来保护数据的。

首先你必须了解卡片个性化。当银行(发行人)想要发行新卡时,他们会从万事达卡、维萨卡获得新的 BIN。发行人生成与这些 BIN 绑定的新 IMK(AC、Mac、Enc、CVC3 等)。在卡片个性化过程中,每一种 IMK 都通过 PAN 进行多样化并加载到卡片中,因此每张卡片都会获得其 UDK(唯一派生密钥、UDKAC、UDKMAC 等)。密钥生成和密钥多样化过程是使用 HSM 加密软件完成的。

在emv交易过程中,卡使用其UDK生成其加密数据(cryptogram)并将其发送到认证服务器。认证服务器查看交易 BIN 并在 HSM 的帮助下通过派生 IMK 密钥获得卡 UDK。所以它知道 UDK 密钥并计算相同的密码。如果这些密码相同,则服务器确定该卡具有正确的密钥并接受交易。