AWS CloudHSM
专用使用 FIPS 140-2 Level 3 认证的硬件安全模块,在云上执行加密密钥生成、存储和加密处理的服务
概述
AWS CloudHSM 是在云上提供专用硬件安全模块 (HSM) 的服务。将获得 FIPS 140-2 Level 3 认证的 Cavium/Marvell 制 HSM 设备部署在 VPC 内,在硬件内完成加密密钥的生成、存储、签名和加解密。密钥材料无法从 HSM 的防篡改硬件中取出,包括 AWS 在内的任何人都无法访问。支持 PKCS#11、JCE (Java Cryptography Extension)、Microsoft CNG 标准接口,可以最小化代码变更集成现有应用程序。
与 KMS 的根本区别及选型标准
CloudHSM 和 KMS 都可用于加密密钥管理,但控制模型和合规要求根本不同。KMS 在多租户共享 HSM 基础设施上运行,AWS 代为管理密钥生命周期。API 是 AWS 专有的,通过 KMS API 执行加解密和签名操作。月费为每个密钥 1 USD + API 调用计费,大多数工作负载这就足够了(截至 2026 年 8 月)。CloudHSM 提供单租户专用 HSM,密钥管理责任完全由用户承担。AWS 仅负责 HSM 硬件运维,完全无法访问密钥材料。使用 PKCS#11 和 JCE 等行业标准接口,便于从本地 HSM 迁移。应选择 CloudHSM 的场景包括:法规明确要求 FIPS 140-2 Level 3、需要对密钥的完全排他控制、迁移使用 PKCS#11 或 JCE 的现有应用、需要用 HSM 进行 SSL/TLS 卸载。其他情况下,从运维负担和成本两方面考虑 KMS 更为合理。
集群配置与高可用性设计
CloudHSM 以集群为单位管理,一个集群最多可部署 28 台 HSM。为确保高可用性,至少需要在 2 个可用区各部署 1 台以上 HSM。集群内的 HSM 自动同步密钥,即使 1 台 HSM 发生故障,其他 HSM 也能继续处理。客户端 SDK 以轮询方式将请求分发到各 HSM,检测到故障时自动故障转移到正常的 HSM。初始设置中,安全保管集群初始化时生成的 Crypto Officer (CO) 认证信息极为重要。丢失此认证信息将无法访问 HSM 内的密钥。AWS 不持有此认证信息,因此无法恢复。备份由 CloudHSM 自动获取,以加密状态保存在 S3 中。可以从备份恢复到同一区域内的新集群,但由于备份加密密钥是集群特有的,无法恢复其他集群的备份。费用为每台 HSM 约 1.60 USD/小时 (约 1,150 USD/月),最小配置 2 台的月费约为 2,300 USD。
SSL/TLS 卸载与数据库加密的实现
CloudHSM 的代表性用例之一是 SSL/TLS 卸载。将 Web 服务器 (Nginx、Apache) 的私钥存储在 CloudHSM 中,在 HSM 内执行 TLS 握手的签名处理。由于私钥不存在于服务器的内存或磁盘中,即使服务器被入侵私钥也不会泄露。通过 OpenSSL 引擎或 PKCS#11 提供程序与 Web 服务器集成。与 Oracle TDE (Transparent Data Encryption) 或 Microsoft SQL Server 的 EKM (Extensible Key Management) 联动,用 CloudHSM 管理数据库加密密钥的模式在实务中也有使用。Oracle TDE 将主加密密钥存储在 CloudHSM 中,表空间加密密钥用主密钥加密后保存在数据库内。这样即使数据库备份泄露,没有 CloudHSM 内的主密钥也无法解密数据。使用 KMS 的自定义密钥存储功能,可以在保持 KMS API 便利性的同时将密钥存储在 CloudHSM 中。调用 KMS API 进行加解密时,后端由 CloudHSM 执行加密处理,兼顾 KMS 的易用性和 CloudHSM 的安全级别。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。