我们正在从 Thales 8000 迁移到 Thales Payshield 9000。我们在 8000 中生成了 RSA 密钥对(使用
EI
- 生成公钥/私钥对命令)。我们将公钥存储在主机上,并将私钥加载到 HSM 的防篡改内存中(使用 EK
- 加载私钥命令)。
问题是我们没有保留私钥,我们不想创建新的密钥对,因为如果我们这样做,我们必须与供应商开始新的认证流程。是否有解决方案,例如将此密钥存储在智能卡上并转移到 LMK 这样的新版本。
我阅读了泰雷兹控制台 - 命令参考和程序员手册,但无法找到解决方案。
从 Thales HSM 密钥对生成命令(这是我有权访问的 Payshield 9000 上的命令 EI)返回的私钥在 LMK 密钥对 34-35 下加密。您永远不会以清晰的形式(即未加密的形式)看到它。
从 HSM 中提取此密钥的唯一方法是如果您知道 LMK 密钥对;然后你可以用它来解密它。这在有时使用一组已知测试 LMK 密钥对的测试环境中通常是可能的。 然而,在生产环境中,这样做显然会危及整个 HSM 以及任何依赖于它的系统的安全性。
在您的情况下,您实际上别无选择,只能生成新的密钥对,然后存储加密的私钥字节。
然而,仅在此 LMK 密钥对下加密私钥的问题是,您需要使用 HSM 来签署 CSR,而不是像 openssl 这样的既定工具。
我通过使用 EI 命令(生成 RSA 密钥对)生成密钥对、将返回的原始加密私钥字节存储在文件中、构建未签名的 CSR 结构、将其与命令下的私钥字节一起发送到 HSM 来做到这一点EW(生成签名),然后将签名附加到我的 CSR 结构中。
如果您没有保存 EI 命令的输出(密钥块),那么从那里获取该密钥的机会几乎不存在。对不起!
是的,只有在两个条件下,您才可以将 RSA 私钥从 payshield 9000 HSM 导出到另一个 payshield 9000 HSM:
第一个条件:通过购买一定的许可证(HSM9-LIC016)并使用主机命令L8,该命令用于在ZMK下导出RSA私钥。请参考 《1270A548-037卡&手机发行LIC011,016》手册看主机命令L8详细步骤 第二个条件:您应该以安全的方式记录私钥,您首先通过EI主机命令生成它,它是在旧LMK下加密生成的,因此您可以安全地记录它以供将来使用,例如您的紧急情况现在面对。
主机命令L8功能支持将RSA私钥从LMK下的加密导出到区域主密钥下的加密。
必须通过控制台命令 CS 配置以下安全设置才能允许使用此命令:
1-“启用 RSA 私钥的导入/导出吗?”必须设置为“是”(默认为“否”)。
2-“仅以可信格式导出和导入密钥?”必须设置为“否”(默认为“是”)
在另一个 HSM2 上:
使用主机命令导入 RSA 私钥 L6
不过,如果您愿意,我可以向您发送详细的步骤。
参考说明书: 1270A548-037 卡和手机发行 LIC011,016,018,023 v3.4 发布:2018 年 10 月
你解决了吗?我有类似的问题。但我无法执行 L8 命令。返回AA