云服务提供商通过结合使用传输中加密、静态加密和密钥管理服务来处理数据加密。传输中的数据使用 TLS(传输层安全协议)等协议进行保护,该协议对用户设备和云服务器之间的通信进行加密。例如,当您上传文件到 AWS S3 或 Azure Blob Storage 时,数据在传输过程中会使用 TLS 进行加密。静态数据使用 AES-256 等算法进行加密,应用于数据库、磁盘或备份等存储系统。Google Cloud 等提供商默认自动加密存储的数据,除非另行配置,否则通常使用其内部系统管理的密钥。AWS Key Management Service (KMS) 或 Azure Key Vault 等密钥管理服务允许开发者控制加密密钥,包括轮换和访问策略。
密钥管理是一个关键组成部分。云服务提供商提供多种选项,供客户自行管理加密密钥或依赖提供商托管的密钥。例如,AWS KMS 允许用户创建和控制用于加密 S3 或 RDS 等服务中数据的密钥,而 Google Cloud 的 Cloud KMS 集成了 BigQuery 等服务。一些提供商还支持硬件安全模块 (HSMs)——用于安全存储密钥的物理设备——例如 Google Cloud 的 Cloud HSM。这确保密钥受到保护,即使提供商的员工也无法未经授权访问。开发者必须根据合规要求、性能和数据的敏感性来决定是使用提供商托管密钥(更简单但控制较少)还是客户管理密钥(更安全但需要主动管理)。
额外的层包括客户端加密和机密计算。客户端加密涉及在将数据发送到云端之前对其进行加密,例如 AWS Encryption SDK 或 Google 的 Tink 库等工具。这确保数据永远不会以明文形式暴露给云服务提供商。Azure Confidential Computing 或 AWS Nitro Enclaves 提供的机密计算则在内存中处理数据时对其进行加密,即使在使用中也能保护数据。例如,医疗保健应用可以使用 Azure 的 enclaves 来处理敏感的患者数据而不会暴露它。开发者必须根据合规需求、性能和数据的敏感性来评估这些选项,以选择合适的加密策略。