0

我在 Thales HSM 中为 DUKPT 生成了一个 BDK Type3 密钥。我已将这个在HSM的LMK下加密的BDK发送给终端制造商以生成IPEK密钥并将其注入终端。

当我收到加密数据时,我有 KSN,现在我需要再次使用 BDK 来解密它。我没有将 BDK 存储在我的主机应用程序中的任何位置。我怎样才能再次获取 BDK 进行解密。它是否存储在 HSM 中的某个位置.如果有多个 BDK,我如何找到用于此特定终端的正确的一个?

4

2 回答 2

5

BDK(基本派生密钥)应保存在HSM中,以便在您需要解密时可用。在解密期间,您会将KSN(密钥序列号)作为输入传递给HSM,然后HSM将重新创建终端用于从BDK加密的DUKPT密钥。

于 2017-07-18T08:10:05.290 回答
0

对于数据解密,您可以使用带参数的 THALES HSM 命令 M2

  • BDK(在 LMK 下) - 这是您发送给终端
    制造商的密钥
  • 加密数据 - 从终端接收
  • KSN - 从终端接收

关于BDK交换(您与终端厂商之间)

简单的过程是:

  1. 在您和制造商之间交换 ZMK(区域主密钥)
  2. 在 ZMK 下加密 BDK
  3. 制造商在安全环境(密钥注入室)中解密 BDK(使用 ZMK)
  4. 制造商使用透明 BDK 生产 IPEK

您的 BDK 在 LMK 下加密。换句话说,您的 BDK 受 LMK 保护,这样您就无法使用您的 BDK(超级密钥)。如果您始终如一地发送您的 BDK(在 LMK 下),您的制造商就不能使用 BDK(透明)来生成 IPEK。这就是您在流程中需要 ZMK 的原因。

于 2017-07-26T23:08:21.000 回答