我在 Thales HSM 中为 DUKPT 生成了一个 BDK Type3 密钥。我已将这个在HSM的LMK下加密的BDK发送给终端制造商以生成IPEK密钥并将其注入终端。
当我收到加密数据时,我有 KSN,现在我需要再次使用 BDK 来解密它。我没有将 BDK 存储在我的主机应用程序中的任何位置。我怎样才能再次获取 BDK 进行解密。它是否存储在 HSM 中的某个位置.如果有多个 BDK,我如何找到用于此特定终端的正确的一个?
我在 Thales HSM 中为 DUKPT 生成了一个 BDK Type3 密钥。我已将这个在HSM的LMK下加密的BDK发送给终端制造商以生成IPEK密钥并将其注入终端。
当我收到加密数据时,我有 KSN,现在我需要再次使用 BDK 来解密它。我没有将 BDK 存储在我的主机应用程序中的任何位置。我怎样才能再次获取 BDK 进行解密。它是否存储在 HSM 中的某个位置.如果有多个 BDK,我如何找到用于此特定终端的正确的一个?
BDK(基本派生密钥)应保存在HSM中,以便在您需要解密时可用。在解密期间,您会将KSN(密钥序列号)作为输入传递给HSM,然后HSM将重新创建终端用于从BDK加密的DUKPT密钥。
对于数据解密,您可以使用带参数的 THALES HSM 命令 M2
关于BDK交换(您与终端厂商之间)
简单的过程是:
您的 BDK 在 LMK 下加密。换句话说,您的 BDK 受 LMK 保护,这样您就无法使用您的 BDK(超级密钥)。如果您始终如一地发送您的 BDK(在 LMK 下),您的制造商就不能使用 BDK(透明)来生成 IPEK。这就是您在流程中需要 ZMK 的原因。