4

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

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

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

4

3 回答 3

5

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

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

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

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

为此,我使用 EI 命令(生成 RSA 密钥对)生成密钥对,将返回的原始加密私钥字节存储在文件中,构建无符号 CSR 结构,将其发送到 HSM,并在命令 EW 下使用私钥字节(生成签名),然后将签名附加到我的 CSR 结构中。

于 2017-09-14T10:57:52.960 回答
0

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

于 2015-04-07T00:25:47.730 回答
0

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

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

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

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

1-“启用 RSA 私钥的导入/导出?” 必须设置为“YES”(默认为 NO)。

2-“仅以受信任的格式导出和导入密钥?” 必须设置为“否”(默认为是)

在另一个 HSM2 上:

使用 Host 命令L6导入 RSA 私钥

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

参考手册:1270A548-037 Card & Mobile Issuance LIC011,016,018,023 v3.4 发布时间:2018年10月

于 2019-09-14T01:25:02.413 回答