本页面介绍了当您通过在 Trusted Cloud上运行的 GKE 集群处理和传输数据时, Trusted Cloud by S3NS 和 Google Kubernetes Engine (GKE) 如何保持对联邦信息处理标准 (FIPS) 的合规性。
本页面适用于希望满足与 FIPS 相关的严格数据安全和隐私权要求的安全经理、安全工程师和合规官。如果您需要向审核员证明 GKE on Trusted Cloud 默认实施了通过 FIPS 验证的数据安全保护措施,本页面也会很有用。
关于 GKE 中通过 FIPS 验证的加密的要点
- FedRAMP® 对传输中数据加密 (SC-28) 和静态数据加密 (SC-8(1)) 的安全控制措施要求使用通过 FIPS 140-2 验证的加密模块或更新的模块来加密数据。这些安全控制措施并未明确要求在操作系统 (OS) 级别启用“FIPS 模式”。此外,操作系统级 FIPS 模式并不能保证合规性。
- 存储在 FedRAMP 授权的 Trusted Cloud 系统中的数据默认会使用通过 FIPS 140-2 验证的加密模块或更新的模块进行静态加密。只要您的数据存储在这些授权系统中,数据就符合 FedRAMP 对保护静态数据的要求(安全控制 SC-28)。如需查看授权系统列表,请参阅范围内的 FedRAMP High 服务。
- 您在 Trusted Cloud虚拟私有云 (VPC) 网络中传输的数据会自动加密,并通过身份验证和授权机制进行保护。VPC 已获得 FedRAMP High 授权。只要数据在 Trusted Cloud VPC 网络中传输,数据就符合 FedRAMP 对保护传输中数据的要求(安全控制 SC-8(1))。
- 您无需使用符合 FIPS 标准的构建流程来构建应用,即可满足 FedRAMP 对静态数据和传输中数据的保护要求。这是因为在Trusted Cloud VPC 网络中传输并存储在 FedRAMP 授权的 Trusted Cloud 存储系统中的数据默认会受到保护,符合这些 FedRAMP 数据保护要求。
FIPS 和 FedRAMP 简介
联邦风险和授权管理计划 (FedRAMP) 是一项美国政府计划,旨在为云技术的安全和风险评估定义一种标准化方法。GKE 包含在已获得 FedRAMP High 临时运营授权 (P-ATO) 的Trusted Cloud 服务列表中。如需详细了解 Trusted Cloud FedRAMP P-ATO,请参阅 Trusted Cloud FedRAMP 概览。
FIPS 是由美国国家标准与技术研究院 (NIST) 发布的一套公开发布的标准。FIPS 出版物 140-2 定义了批准加密模块的要求。如需了解详情,请参阅 NIST 上的 FIPS 140-2。
FedRAMP High P-ATO 包含以下控制措施:使用通过 FIPS 验证的加密模块保护传输中的数据 (SC-8(1)) 和保护静态数据 (SC-28(1))。
GKE 中的默认通过 FIPS 验证的数据保护
以下部分介绍了 Trusted Cloud 和 GKE 如何实现通过 FIPS 验证的加密,以保护静态数据和传输中的数据。 Trusted Cloud 系统安全计划 (SSP) 中涵盖了更详细的信息,您可以向您的 Trusted Cloud 销售团队、Trusted Cloud 代表或 Trusted Cloud FedRAMP 项目管理办公室(如果您是政府客户)索取该计划。如需了解详情,请参阅 Trusted Cloud FedRAMP 合规性。
通过 FIPS 验证的静态数据保护
GKE 数据在静态时会使用通过 FIPS 140-2 验证的Trusted Cloud 加密模块(名为 BoringCrypto)进行加密。如需了解详情,请参阅 Trusted Cloud中的 FIPS 140-2 验证。
如需详细了解静态加密,请参阅以下资源:
- 默认对静态数据进行加密
- 适用 FedRAMP P-ATO 范围的 Google Cloud 服务
- NIST 800-57:密钥管理建议
- NIST BoringCrypto 模块验证
- 使用用户管理的加密密钥在 GKE 中加密传输中的数据
通过 FIPS 验证的传输中数据保护
Trusted Cloud VPC 具有 FedRAMP High P-ATO。您在 VPC 网络中传输的任何数据都会自动加密。在 GKE 中,这意味着进出容器、Pod、每个节点上的 kubelet 进程、所有节点、控制平面实例以及 VPC 内其他 Trusted Cloud 服务的所有流量在传输过程中都会受到保护。与 Google API 的所有连接都使用传输层安全协议 (TLS) 1.2 或更高版本来加密网络流量。在Trusted Cloud VPC 网络中,无需采取任何额外措施即可确保传输中的数据符合 FIPS 标准。
如需详细了解如何对传输中的数据进行加密,请参阅传输加密白皮书。
有关保护 Trusted Cloud以外的数据的建议
GKE 和Trusted Cloud VPC 网络中传输中的数据的默认加密仅在 Trusted Cloud VPC 网络内适用。您必须使用符合 FIPS 标准的加密来保护 VPC 网络边界之外的数据。以下建议有助于确保Trusted Cloud FIPS 环境之外的所有传入和传出数据在传输过程中都使用符合 FIPS 标准的加密进行加密。
拦截并加密来自互联网的入站流量
对于从互联网传入 Trusted Cloud 环境的流量,请在 Trusted Cloud 负载均衡器中使用 SSL 政策来定义一组允许的 FIPS 验证加密方式或机制,以便在数据进入 Trusted Cloud 环境时必须使用这些加密方式或机制来保护数据。如需了解详情,请参阅以下资源:
拦截并加密流向互联网的出站流量
通过配置防火墙,定义一个边界,将出站数据连接限制为一组您信任的已知第三方。绘制并记录所有外部网络要求,例如从 GitHub 等来源提取数据,以及这些外部连接将在您的环境中发生的位置。考虑使用反向代理来拦截来自 VPC 的出站流量。
如果您有 HTTP 流量要离开符合 FedRAMP 标准的Trusted Cloud 环境的边界,请考虑设置 HTTP 正向代理,以便在数据离开环境之前拦截数据。在允许数据离开您的边界之前,请使用已通过 FIPS 140-2 验证的加密模块重新加密数据。与尝试确保每个内部客户端都使用合规的加密库进行外部通信相比,这种方法在规模上更易于管理。
启用专用节点
借助 GKE,您可以为集群中的新节点停用外部 IP 地址,这样一来,在这些节点上运行的工作负载默认情况下就无法与互联网通信。使用 http_proxy
或 https_proxy
环境变量将所有流量发送到您配置的 HTTP 代理。
您可以使用路由规则配置对该流量的更透明的拦截。不过,由于您要代理 TLS 流量,因此代理无法完全透明地处理您在 GKE 上运行的应用。
如需了解详情,请参阅以下资源:
使用 Cloud VPN 建立与 GKE 的网络层连接
有时,您可能需要与 GKE 集群建立加密的网络层连接。例如,您可能需要在 GKE 节点和本地节点之间设置符合 FIPS 标准的网络。Cloud VPN 是一项获得 FedRAMP High 授权的服务,可加密 VPC 网络与本地网络之间传输的数据。如需了解详情,请参阅 Cloud VPN 概览。
使用 Cloud KMS 执行加密操作
如果您需要在 Trusted Cloud环境中执行加密操作,请使用 Cloud Key Management Service。Cloud KMS 是一项获得 FedRAMP High 认证的服务。借助 Cloud KMS,您可以执行符合 FIPS 140-2 1 级或 3 级的加密操作。如需了解详情,请参阅以下资源:
在 GKE 工作负载中构建通过 FIPS 验证的库
如需在 GKE 应用中使用 BoringCrypto 加密模块,请安装 BoringSSL。BoringSSL 是 OpenSSL 的开源分支,包含 BoringCrypto 库。如需构建、编译 BoringCrypto 模块并将其静态链接到 BoringSSL,请参阅 BoringCrypto FIPS 140-2 安全政策 PDF 中的第 12.1 节“安装说明”
考虑使用符合 FIPS 标准的第三方容器映像
我们建议您在符合 FIPS 标准的Trusted Cloud 环境边界处使用代理,以全面强制执行 FIPS 合规性。您还可以运行符合 FIPS 标准的工作负载,而无需局限于具有符合 FIPS 标准的内核的节点宿主机。部分第三方供应商提供的容器映像使用单独的、符合 FIPS 标准的熵源。
请务必正确评估第三方供应商的实现,以确保其确实符合 FIPS 标准。