Thales Payshield HSM RSA 私钥

Thales Payshield HSM RSA Private Key

我们正在从 Thales 8000 迁移到 Thales Payshield 9000。我们在 8000 中生成了一个 RSA 密钥对(使用 EI - 生成一个 Public/Private 密钥对命令)。我们将 public 密钥存储在主机上,并将私钥加载到 HSM 的防篡改内存中(使用 EK - 加载私钥命令)。

问题是我们没有保留私钥,我们不想创建新的密钥对,因为如果我们这样做,我们必须与供应商启动新的认证过程。有没有像将这个密钥存储在智能卡上并移动到像 LMK 这样的新版本的解决方案。

我阅读了 Thales 控制台 - 命令参考和程序员手册,但未能找到解决方案。

如果您没有保存 EI 命令的输出(密钥块),那么从那里取出该密钥的机会实际上是不存在的。抱歉!

从 Thales HSM 密钥对生成命令(这是我有权访问的 Payshield 9000 上的命令 EI)返回的私钥在 LMK 密钥对 34-35 下加密。你永远不会以明文即未加密的形式看到它。

从 HSM 中提取它的唯一方法是,如果您知道 LMK 密钥对;然后你可以用它来解密它。这在有时使用一组已知测试 LMK 密钥对的测试环境中通常是可能的。 然而,在生产环境中,这样做显然会危及整个 HSM 和依赖它的任何系统的安全性。

在你的情况下,你真的别无选择,只能生成一个新的密钥对,然后存储加密的私钥字节。

但是,问题在于,仅在此 LMK 密钥对下加密私钥,您需要使用 HSM 来签署 CSR,而不是像 openssl 这样的成熟工具。

我通过使用 EI 命令(生成一个 RSA 密钥对)来生成一个密钥对,将返回的原始加密私钥字节存储在一个文件中,构建一个未签名的 CSR 结构,将其与私钥一起发送到 HSM命令 EW(生成签名)下的密钥字节,然后将签名附加到我的 CSR 结构中。

是的,只有在两种情况下,您才能将 RSA 私钥从 payshield 9000 HSM 导出到另一个 payshield 9000 HSM:

第一个条件:购买HSM9-LIC016许可证,使用主机命令L8导出ZMK下的RSA私钥。请参阅 《1270A548-037 Card & Mobile Issuance LIC011,016》手册看主机指令L8详细步骤 第二个 condition:You 应该以安全的方式记录私钥,你首先通过 EI 主机命令生成它,它是在旧的 LMK 下加密生成的,所以你可以记录它可以安全地供将来使用,例如您现在面临的危急情况。

主机命令L8功能支持将RSA私钥从LMK下的加密导出到区域主密钥下的加密。

必须通过控制台命令 CS 配置以下安全设置才能允许使用此命令:

1- 'Enable import / export of RSA Private Keys?' 必须设置为 'YES'(默认为否)。

2- 'Key export and import in trusted format only?' 必须设置为 'NO'(默认为 YES)

在另一个 HSM2 上:

使用主机命令导入 RSA 私钥 L6

不过,如果您愿意,我可以将详细的步骤发送给您。

参考手册: 1270A548-037 卡和手机发行 LIC011,016,018,023 v3.4 Release:October 2018