我们希望将HSM keys
从Thales paysheild 9000
迁移到Azure Key vault
。我们想知道是否支持此迁移,如果支持,客户已经迁移到Azure的迁移方法和用例是什么。我们浏览了文章https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/key-vault/key-vault-hsm-protected-keys.md,其中谈到了Thales nShield系列,但我们使用的是https://www.thalesesecurity.com/products/payment-hsms/payshield-9000
谢谢。
答案 0 :(得分:0)
一个很好的问题,正如Dan所建议的,您应该与Microsoft联系以进行澄清,但不幸的是,我认为这是不可能的。
重新封装,因为我确定您知道HSM的用途是使密钥不可导出。
Microsoft(我认为是Thales)支持密钥备份:https://docs.microsoft.com/en-us/rest/api/keyvault/backupkey,但只能还原到相同的地理区域。
在您提供的文章中,它提到了每个地理区域中的“密钥交换密钥”,我认为这将意味着Microsoft将使用与另一个安装的HSM不同的密钥。
虽然我不是一般的HSM专家,但这些只是我过去使用KeyVault遇到的链接。
请尽量与Microsoft联系,如果可能的话,我会很感兴趣,请在听到反馈后发布答案,否则Microsoft员工也许可以直接回答。
在Thales文学中,它指出:
”使用适用于Microsoft Azure的nShield BYOK,您的内部部署 nShield HSM会生成,存储,包装和导出密钥到 代表您的Microsoft Azure Key Vault”
http://go.thalesesecurity.com/rs/480-LWA-970/images/Thales-e-Security-Microsoft-Azure-UK-sb.pdf
有趣的是,它表示生成/存储表明可以迁移预先创建的密钥。但是相反,我猜想导出必须使用“密钥交换密钥”进行,并在BYOK流程中同时存储在本地和Azure中,而不是首先在本地存储。
如果有帮助,此博客文章将提供keyvault团队的详细联系信息:https://blog.romyn.ca/key-management-in-azure/
答案 1 :(得分:0)
重要密钥的迁移过程非常简单,该迁移过程是在您的Thales支付盾上根据当前LMK加密的,非常简单:
1-使用控制台命令GC生成纯格式的新ZMK,这将通过使用密钥类型000(即ZMK密钥类型)来完成,还可以选择纯格式组件选项(在其中使用字母'x') GC命令步骤。
2-重复3次以上的GC命令,以生成新ZMK的3种不同的纯文本格式组件。
3-现在,在您的payshield 9000 HSM上,使用控制台命令FK,这意味着来自组件的Form Key,结果是在旧LMK下加密的新ZMK。
4-使用命令KE(这意味着导出密钥)来导出重要数据加密密钥(DEK),例如ZPK,该密钥在旧LMK下加密而在新ZMK下加密。注意:在KE命令中,请使用密钥类型为001的ZPK密钥类型。
5-现在,您需要手动将相同的新ZMK分发给要迁移到的另一方。
6-您可以通过将您在步骤2中早些时候生成的3种不同的纯文本格式组件发送给公司的三个不同的安全人员,来手动分发到如此重要的密钥(新的ZMK)。出于安全原因,没有人可以同时拥有这三个组成部分。
7-在您要将密钥迁移到的另一个实体(即Microsoft Azure Key Vault云服务)上,Azure提供了在nShield类型的硬件HSM环境(通用HSM)中保护密钥的安全。不适用于诸如Thales payshield HSM之类的付款交易。
8-请参阅Microsoft Azure密钥库文档,以了解如何形成之前生成的3种不同的纯文本格式组件的新ZMK,并另请参阅《 nShield手册》以检查负责导入密钥的命令
9-现在,您的重要密钥(例如在新ZMK下导出的ZPK)现在已在同一ZMK下导入,并最终以加密的方式存储在nShield提供的云服务的新LMK下。