云密钥管理服务用例 密钥管理服务主要应用场景
每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。
本文将比较 Azure 密钥库、AWS KMS、Google CKMS 和其他云密钥管理解决方案中的主要安全密钥管理服务解决方案用例。
如今,许多业务解决方案已选择云环境作为其应用程序的主要托管环境。他们可以选择软件即服务(SaaS)、平台即服务 (PaaS) 或基础架构即服务 (IaaS) 不同的解决方案类型来构建满足业务需求的解决方案。但是,将业务数据存储在云环境中,在向公众公开业务数据方面将面临巨大挑战。由于关注数据安全问题,每个云平台厂商都提供了不同的数据安全解决方案。了解这些解决方案的异同将有助于业务客户为业务应用程序选择合适的解决方案。
本文将讨论 Microsoft Azure、Amazon AWS 和 Google Cloud Platform 之间用于管理密钥、证书和数据加密的主要解决方案用例和密钥管理的主要区别。尽管平台可以为特定用例提供类似的解决方案或间接解决方案,但只要不是常用用例,它仍然会被作为差异进行比较。
Azure 安全密钥保管库服务
Microsoft Azure 云平台提供集中式解决方案密钥库,用于保护应用程序敏感信息、管理 Azure Web 应用程序、功能应用程序和冷存储的机密、安全密钥和证书。它可以用作 PaaS 解决方案,与其他 Azure 云服务集成,同时支持软件密钥和硬件密钥。
Azure 安全密钥是在具有密钥保管库名称、区域、定价层(标准和高级)和一组访问策略的资源组中创建的。可以从多种方法访问 Vault 密钥,例如 Rest API、Ney SDK、Java SDK、Node.js、Python、Azure CLI、PowerShell 等。
Azure 密钥保管库提供标准和高级两种服务层级,可用于以下主要用例:
- 使用Azure 密钥保管库通过 VM 密钥管理 VM 和磁盘存储
- 使用 Azure 密钥库管理后端 Azure SQL、逻辑应用程序和 Web 应用程序,通过 Secrets 和证书进行监控和日志记录
- 跨其他云平台的身份翻译或代理服务,例如 AWS、Google 云平台等。
AWS 密钥管理服务
AWS 密钥管理系统(KMS) 是一个区域密钥系统。多区域密钥可用于多个区域,例如灾难恢复或全球应用程序运行。
AWS 密钥管理服务包括客户端加密和服务器端加密。它在 AWS Amazon Elastic Compute Cloud (EC2) 内部进行管理。KMS 使客户能够配置和使用加密密钥来保护数据,还使客户能够创建、使用和管理加密密钥。
例如,在 KMS 中,用户可以使用数据密钥来加密文件或存储数据。加密的数据密钥存储在加密的数据文件中,并通过 KMS 加密模型进行加密。在解密过程中,首先将数据密钥解密,然后将其用于解密数据文件。
AWS KMS 使用主密钥生成将用于加密和解密数据文件的数据密钥。主密钥使用 AES 256 加密算法和提供的密码进行加密。AWS 还管理 AWS 云跟踪中管理的加密/解密活动和审计事件。
与 Azure Key Vault 相比,AWS Key Management Service (KMS) 中的常见用例是使用对称密钥。这意味着相同的密钥用于数据加密和解密(使用 256 AES 算法)。它是加密和解密数据文件的主要方式,密钥也可以用于签名和签名。
Azure 保管库是一种具有公钥和私钥的非对称密钥机制。私钥用于解密或签名,公钥用于加密或验证。公钥被提供给每个人进行加密。它对解密没有帮助
由于对称或非对称密钥方法之间的差异,AWS 中的主要用例与 Azure 密钥库用例不同:
- 在 AWS 中,系统会生成一个新数据密钥,AWS KMS 将使用主密钥加密该新数据密钥,并将其保护在 KMS 内部。AWS 将通过 TLS 将明文版本密钥和加密版本密钥发送回用户。客户端可以使用加密版本密钥进行后续解密,也可以使用明文版本密钥进行加密。
- 在 Azure Vault 中,客户端将生成自己的密钥,使用 Azure Key Vault 提供的公钥加密数据文件,并使用私钥解密数据文件。
谷歌云密钥管理服务
Google Cloud Key Management Service (CKMS) 是一种集中式云服务,用于管理加密密钥,用于加密其他 Google 服务(例如 API 令牌、数据文件、存储或 Web 应用程序)的云数据文件。它使用 AES 256 加密算法来保护数据文件。
Google Cloud KMS 支持非对称密钥和对称密钥。它与 Google 提供的其他服务集成,例如 Cloud Identity and Access Management、存储管理和内容管理。与 Azure Vault 一样,Google CKMS 也集成了云监控和日志记录、硬件安全模型等。
主要用例:
- 使用 Google Cloud KMS 管理对内容、磁盘存储和 Web 应用 API 的访问。
- 使用非对称密钥(公钥和私钥)或对称密钥(主密钥和数据密钥)来管理数据文件的加密和解密
- 通过 Google 提供的服务中的 API在BigQuery中使用加密数据
其他云密钥管理服务
还有一些其他的云密钥管理服务,例如 Spring Cloud Vault,它提供了一个具有外部客户端配置的中心位置来管理外部安全机密。Spring Cloud Vault 是一个用于管理安全机密的开放式结构框架,可用于保护外部服务,如 Can 数据库(MySQL、PostgreSQL、MongoDB 等)
IBM Security Guardium Key Lifecycle Manager 也是一种集中的、透明的加密密钥管理服务,用于密钥生命周期管理,例如密钥创建、存储、自加密、互操作和 API 访问。它是 IBM Security Guardium 套件中的一项集成服务。
Oracle Cloud 再次为 Oracle Cloud Infrastructure (OCI) Vault 提供了一个集中位置,用于管理跨 OCI 服务以及 Oracle 身份和访问管理 (IAM) 服务的密钥和机密的使用。它支持使用 AES 256 加密算法的对称和非对称密钥。
总结
虽然 Azure 密钥库、AWS 密钥管理服务和谷歌云密钥管理服务提供几乎相似的安全、密钥管理、加密和解密服务来保护云数据文件、存储、内容、证书、硬件、访问等,但它们在主要用例、系统接入和开发、成本模型等方面仍有一些差异。以下是这些平台之间主要区别的摘要讨论:
从发展的角度
Azure Key Vault 支持使用本机 API 的本地开发环境,在开发人员的本地计算机上设置要容易得多。AWS KMS 需要从密钥管理控制台生成密钥并使用加密 SDK 设置开发。谷歌 CKS 需要谷歌云服务 API 进行开发
从部署的角度来看
Azure Key Vault 和 google CKMS 支持远程本地开发和部署。Azure 密钥保管库可用作跨其他云平台进行身份转换的代理。
从密钥加密/解密的角度
Azure 密钥保管库主要用作非对称密钥系统(公钥和私钥)。AWS KMS 使用对称密钥(主密钥和数据密钥),而 Google CKMS 两者都使用。
从密钥管理和数据保留的角度
在 Azure 密钥保管库中,密钥将在保留期过后销毁。AWS KMS 将在 7-30 天后删除密钥。Google CKMS 不会删除密钥。
结论
如您所知,在云环境中,不同的平台为数据文件的加密和解密提供了类似的安全密钥管理服务。它们之间的区别非常微妙。选择将在您的解决方案中使用的系统应该在您组织的战略路线图计划的大范围内考虑。
但是,仅针对密钥管理和数据文件加密,IT开发人员和架构师会考虑对称或非对称密钥结构、使用原生环境开发的便利性、跨云平台访问服务的便利性以及成本模型等。
感谢您的阅读,希望这篇文章对您有所帮助。