You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Thales ProtectToolKit 7导出密钥并导入至AWS CloudHSM?

从Thales ProtectToolKit 7迁移密钥至AWS CloudHSM的解决方案

核心限制说明

AWS CloudHSM仅支持单组件的AES/RSA包装密钥,不兼容Thales默认的多组件(split)包装密钥,因此需要调整导出流程,使用兼容的单组件包装密钥完成迁移。


步骤1:在Thales HSM中创建单组件AES包装密钥

使用PTK7的ctkmu工具生成符合AWS要求的单组件AES-256包装密钥:

ctkmu create -k aes -s 256 -l "AWS_Wrapping_Key" -m wrap -u -w

参数说明:

  • -k aes:指定密钥类型为AES
  • -s 256:密钥长度设为256位(AWS CloudHSM支持AES-128/256)
  • -l "AWS_Wrapping_Key":自定义密钥标签,便于后续识别
  • -m wrap:标记密钥用途为包装/解包
  • -u:允许该密钥导出为明文(需在安全环境下操作)
  • -w:授权该密钥包装其他密钥

步骤2:用单组件包装密钥导出目标密钥

执行ctkmu export命令,将待迁移密钥用新创建的AES包装密钥加密后导出到本地文件:

ctkmu export -t <目标密钥标签> -w <AWS_Wrapping_Key标签> -f exported_key.wrapped

替换<目标密钥标签>为实际待迁移密钥的标签,<AWS_Wrapping_Key标签>为步骤1中创建的密钥标签。

步骤3:导出单组件包装密钥的明文版本

由于AWS CloudHSM需要用该密钥解包导入的目标密钥,需将其导出为明文(注意:此操作必须在物理隔离、权限严格管控的安全环境中执行):

ctkmu export -t <AWS_Wrapping_Key标签> -o aws_wrapping_key_plain.bin

步骤4:将包装密钥导入AWS CloudHSM

通过AWS CloudHSM的cloudhsm_mgmt_util工具完成导入:

  1. 连接到CloudHSM集群:
    cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    
  2. 使用具备密钥导入权限的管理员账号登录:
    loginHSM <管理员用户名> <管理员密码>
    
  3. 导入明文AES包装密钥:
    importKey -f aws_wrapping_key_plain.bin -t 3 -l "AWS_Wrapping_Key_CloudHSM" -m 2
    
    参数说明:
    • -t 3:指定密钥类型为AES
    • -m 2:设置密钥用途为包装/解包

步骤5:导入已包装的目标密钥到AWS CloudHSM

先通过findKey命令获取CloudHSM中包装密钥的句柄:

findKey -l "AWS_Wrapping_Key_CloudHSM"

再执行importWrappedKey命令导入目标密钥:

importWrappedKey -f exported_key.wrapped -w <包装密钥句柄> -t <目标密钥类型> -l <CloudHSM中目标密钥标签> -m <目标密钥用途>

参数替换说明:

  • <目标密钥类型>:RSA密钥填0,AES密钥填3
  • <目标密钥用途>:加密解密填1,签名验签填2

替代方案(合规限制场景)

若因合规要求禁止导出包装密钥明文,可改用RSA非对称包装方案:

  1. 在AWS CloudHSM中创建RSA密钥对,导出公钥到本地
  2. 在Thales HSM中导入该RSA公钥
  3. 用RSA公钥包装目标密钥后导出,再到AWS CloudHSM中用对应私钥解包导入

内容的提问来源于stack exchange,提问作者Duong LV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 00:40:20