GKE 中经过 FIPS 验证的加密功能简介


本页介绍了当您通过在 Google Cloud上运行的 GKE 集群处理和传输数据时, Google Cloud 和 Google Kubernetes Engine (GKE) 如何确保符合 Federal Information Processing Standards (FIPS)

本页面面向希望满足与 FIPS 相关的严格数据安全和隐私保护要求的安全管理员、安全工程师和合规专员。如果您需要向审核员证明 GKE On-Prem 默认会实现经过 FIPS 验证的数据安全保护措施,本页面也非常有用。 Google Cloud

关于 GKE 中经过 FIPS 验证的加密功能的要点

  • FedRAMP® 针对传输中的数据加密 (SC-28) 和静态数据加密 (SC-8(1)) 的安全控制措施要求您使用通过 FIPS 140-2 验证的加密模块或更高版本对数据进行加密。这些安全控制措施并未明确要求在操作系统 (OS) 级别启用“FIPS 模式”。此外,操作系统级 FIPS 模式无法保证合规性。
  • 默认情况下,存储在 FedRAMP 授权 Google Cloud 系统中的静态数据使用通过 FIPS 140-2 验证的加密模块或更高版本进行加密。只要您的数据存储在这些已获授权的系统中,就符合 FedRAMP 对静态数据保护的要求(安全控制措施 SC-28)。如需查看已获授权的系统列表,请参阅FedRAMP High 范围内的服务
  • 您在 Google CloudVirtual Private Cloud (VPC) 网络中传输的数据会自动加密,并受身份验证和授权机制保护。VPC 已获得 FedRAMP High 认证。只要您的数据在 Google Cloud VPC 网络内传输,就符合 FedRAMP 关于保护传输中数据的要求(安全控制措施 SC-8(1))。
  • 您无需使用符合 FIPS 要求的构建流程来构建应用,即可满足 FedRAMP 对静态数据和传输中数据保护的要求。这是因为,默认情况下,在Google Cloud VPC 网络中传输并存储在 FedRAMP 授权 Google Cloud 存储系统中的数据会根据这些 FedRAMP 数据保护要求进行保护。

FIPS 和 FedRAMP 简介

联邦风险和授权管理计划 (FedRAMP) 是美国政府的一项计划,旨在定义一种标准化的方法来评估云技术的安全性和风险。GKE 包含在Google Cloud 具有 FedRAMP High 临时运营授权 (P-ATO) 的服务列表中。如需详细了解 Google Cloud FedRAMP P-ATO,请参阅 Google Cloud FedRAMP 概览

FIPS 是美国国家标准与技术研究院 (NIST) 发布的一组公开标准。FIPS 出版物 140-2 定义了批准加密模块的要求。如需了解详情,请参阅 NIST 上的 FIPS 140-2

FedRAMP High P-ATO 包含使用 FIPS 验证的加密模块保护传输中的数据 (SC-8(1)) 和保护静态数据 (SC-28(1)) 的控制措施。

GKE 中默认的 FIPS 验证数据保护

以下部分介绍了 Google Cloud 和 GKE 如何实现经过 FIPS 验证的加密来保护静态数据和传输中的数据。 Google Cloud 系统安全计划 (SSP) 中更详细地介绍了这些信息。您可以向 Google Cloud 销售团队、Google Cloud 代表或 Google Cloud FedRAMP 计划管理办公室(如果您是政府客户)申请获取此计划。如需了解详情,请参阅 Google Cloud FedRAMP 合规性

通过 FIPS 验证的静态数据保护

GKE 静态数据使用名为 BoringCrypto 的经过 FIPS 140-2 验证的Google Cloud 加密模块进行加密。如需了解详情,请参阅 Google Cloud中的 FIPS 140-2 验证

如需详细了解静态加密,请参阅以下资源:

通过 FIPS 验证的传输中的数据保护

Google Cloud VPC 具有 FedRAMP 高风险级别 P-ATO。您在 VPC 网络中传输的所有数据都会自动加密。在 GKE 中,这意味着传输中的所有流量都会受到保护,包括容器、Pod、每个节点上的 kubelet 进程、所有节点、控制平面实例以及 VPC 内的其他服务。 Google Cloud 与 Google API 的所有连接都使用传输层安全协议 (TLS) 1.2 或更高版本来加密网络流量。无需采取进一步措施,即可确保在Google Cloud VPC 网络中传输的数据符合 FIPS 标准。

如需详细了解系统如何对传输中的数据进行加密,请参阅“传输加密”白皮书

关于在 Google Cloud之外保护数据的建议

GKE 和Google Cloud 的传输中数据的默认加密仅适用于 Google Cloud VPC 网络。您必须使用符合 FIPS 标准的加密技术来保护位于 VPC 网络边界之外的数据。以下建议可帮助您确保Google Cloud FIPS 环境之外传输的所有传入和传出数据均采用符合 FIPS 标准的加密方法进行加密。

拦截和加密来自互联网的传入流量

对于从互联网传入您 Google Cloud 环境的流量,请在负载平衡器中使用 SSL 政策来定义一组经过 FIPS 验证的允许加密密码或机制,以便在数据进入 Google Cloud 环境时对其进行保护。 Google Cloud 如需了解详情,请参阅以下资源:

拦截并加密出站互联网流量

通过配置防火墙,定义一个边界,将出站数据连接限制到一组您信任的已知第三方。绘制图表并记录所有外部网络要求,例如从 GitHub 等来源提取数据,以及这些外部连接将在您的环境中发生的位置。考虑使用反向代理来拦截来自 VPC 的出站流量。

如果您的 HTTP 流量要离开符合 FedRAMP 要求的Google Cloud 环境边界,不妨考虑设置 HTTP 转发代理,以便在数据离开环境之前拦截数据。请先使用经过 FIPS 140-2 验证的加密模块对数据进行重新加密,然后再允许数据离开边界。与尝试确保每个内部客户端都使用合规的加密库进行外部通信相比,这种方法在规模上更易于管理。

启用专用节点

借助 GKE,您可以为集群中的新节点停用外部 IP 地址,以便默认情况下在这些节点上运行的工作负载无法与互联网通信。使用 http_proxyhttps_proxy 环境变量将所有流量发送到您配置的 HTTP 代理。

您可以使用路由规则配置更透明地拦截此类流量。不过,由于您要代理 TLS 流量,因此代理对您在 GKE 上运行的应用而言无法完全透明。

如需了解详情,请参阅以下资源:

使用 Cloud VPN 进行与 GKE 的网络层连接

有时,您可能需要通过加密的网络层连接到 GKE 集群。例如,您可能需要在 GKE 节点和本地节点之间设置符合 FIPS 标准的网络。Cloud VPN 是一项获得 FedRAMP High 授权的服务,可对在 VPC 网络和本地网络之间传输的数据进行加密。如需了解详情,请参阅 Cloud VPN 概览

使用 Cloud KMS 执行加密操作

如果您需要在 Google 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 标准的Google Cloud 环境边界处使用代理,以全面强制执行 FIPS 合规性。您还可以运行符合 FIPS 要求的工作负载,而不会局限于具有符合 FIPS 要求的核心的节点主机。某些第三方供应商提供的容器映像使用符合 FIPS 标准的单独熵源。

请务必妥善评估第三方供应商的实现,确保其确实符合 FIPS 标准。

后续步骤