将Thales payshield 9000迁移到Azure密钥保险库

时间:2018-07-24 16:29:38

标签: azure azure-keyvault hsm

我们希望将HSM keysThales 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

谢谢。

2 个答案:

答案 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下。