Cryptography 泰雷兹Payshield HSM RSA私钥

Cryptography 泰雷兹Payshield HSM RSA私钥,cryptography,rsa,hsm,Cryptography,Rsa,Hsm,我们正在从泰雷兹8000迁移到泰雷兹Payshield 9000。我们在8000年生成了一个RSA密钥对(使用EI-生成一个公钥/私钥对命令)。我们将公钥存储在主机上,并将私钥加载到HSM的防篡改内存中(使用EK-加载私钥命令) 问题是我们没有保留私钥,我们不想创建新的密钥对,因为如果我们这样做,我们必须与供应商启动新的认证流程。是否有一种解决方案,比如将此密钥存储在智能卡上,然后移动到像LMK这样的新版本 我阅读了泰雷兹控制台-命令参考和程序员手册,但未能找到解决方案。如果您没有保存EI命令的

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

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


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

如果您没有保存EI命令的输出(键块),则从中取出该键的可能性实际上是不存在的。对不起

泰雷兹HSM密钥对生成命令返回的私钥(这是我可以访问的Payshield 9000上的命令EI)在LMK密钥对34-35下加密。你将永远看不到清晰的,即未加密的形式

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

在您的情况下,除了生成一个新的密钥对,然后存储加密的私钥字节之外,您真的没有什么选择

然而,在这个LMK密钥对下只加密私钥的问题是,您需要使用HSM来签署CSR,而不是像openssl这样的已建立的工具


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

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

第一个条件:购买特定许可证,即HSM9-LIC016,并使用主机命令L8,该命令用于在ZMK下导出RSA私钥。请参阅 “1270A548-037卡和移动发行LIC01016”手册,查看主机命令L8的详细步骤 第二个条件:您应该以安全的方式记录私钥,这是您首先通过EIhost命令生成的,它是在旧LMK下加密生成的,因此您可以安全地记录它以备将来使用,就像您现在面临的危急情况一样

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

必须通过console命令CS配置以下安全设置才能使用此命令:

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

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

另一方面,HSM2:

使用Host命令导入RSA私钥L6

尽管如此,如果您愿意,我可以向您发送详细的步骤

请参阅手册:
1270A548-037卡和移动发行LIC01016018023 v3.4版本:2018年10月

可能没有多少人知道这个问题的答案。如果可以,我建议联系泰雷兹支持部门。我添加了
cryptography
标签,这将使其更具可见性。不幸的是,我们无法直接联系泰雷兹支持部门。非常感谢您的更正和加密标记。您好,您如何构造一个未签名的CSR结构,以及“将签名附加到我的CSR结构”是什么意思?你能举个例子吗,我需要用HSM创建一个CSR,由HSMH提供的私有加密密钥签名。当我试图解决这个问题时,我问了一个问题。构建CSR将取决于您打算用什么构建它。在Java中,我使用了bouncycastle库提供的ASN1对象。