我在哪里获得BDK进行DUKPT解密

时间:2017-07-17 07:55:17

标签: encryption hsm dukpt

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

关于BDK交换(您和终端制造商之间)

直截了当的过程是:

  1. 在您和制造商之间交换ZMK(区域主密钥)
  2. 在ZMK下加密BDK
  3. 制造商在安全环境(密钥注入室)中解密BDK(使用ZMK)
  4. 制造商使用clear BDK生成IPEK
  5. 您的BDK是在LMK下加密的。换句话说,你的BDK受LMK保护,这样你就不能使用你的BDK(超级密钥)了。如果您发送BDK(在LMK下),您的制造商将无法使用BDK(清除)进行IPEK生成。这就是您在流程中需要ZMK的原因。