本頁面說明如何 Google Cloud 和 Google Kubernetes Engine (GKE) 維持聯邦資訊處理標準 (FIPS) 的規範,透過在 Google Cloud上執行的 GKE 叢集處理及傳輸資料。
本頁面適用於安全管理員、安全工程師和法規遵循主管,協助他們滿足與 FIPS 相關的嚴格資料安全性與隱私權規定。您也可以使用本頁面向稽核人員證明,GKE on Google Cloud 預設會實作 FIPS 驗證的資料安全性防護措施。
GKE 中 FIPS 驗證加密的重點
- 根據 FedRAMP® 資料加密安全控管措施 (傳輸中資料為 SC-28,靜態資料為 SC-8(1)),您的資料必須使用通過 FIPS 140-2 驗證的加密模組或更新版本加密。這些安全控管措施並未明確規定必須在作業系統 (OS) 層級啟用「FIPS 模式」。此外,作業系統層級的 FIPS 模式也無法保證符合法規。
- 儲存在 FedRAMP 授權 Google Cloud 系統中的資料,預設會使用通過 FIPS 140-2 驗證的加密模組或更新版本,以靜態加密方式保護。只要資料儲存在這些授權系統中,資料就會符合 FedRAMP 靜態資料保護規定 (安全控管 SC-28)。如需授權系統清單,請參閱「FedRAMP 高等風險適用範圍內的服務」。
- 您在 Google Cloud虛擬私有雲 (VPC) 網路中傳輸的資料會自動加密,並受到驗證和授權機制保護。VPC 已獲得 FedRAMP 高風險授權。只要資料是在 Google Cloud VPC 網路中傳輸,資料就會符合 FedRAMP 傳輸中資料保護規定 (安全控制措施 SC-8(1))。
- 您不需要使用符合 FIPS 標準的建構程序來建構應用程式,即可符合 FedRAMP 對靜態和傳輸中資料保護的規定。這是因為在Google Cloud VPC 網路中傳輸的資料,以及儲存在 FedRAMP 授權 Google Cloud 儲存系統中的資料,預設會受到保護,符合這些 FedRAMP 資料保護規定。
關於 FIPS 和 FedRAMP
聯邦風險與授權管理計畫 (FedRAMP) 是美國政府計畫,針對雲端技術的安全性和風險評估,制定標準化做法。GKE 已列入Google Cloud 具有 FedRAMP 高等風險暫時性授權 (P-ATO) 的服務清單。如要進一步瞭解 Google Cloud FedRAMP P-ATO,請參閱 Google Cloud FedRAMP 總覽。
FIPS 是美國國家標準暨技術研究院 (NIST) 公布的一組標準。FIPS 出版品 140-2 定義了核准加密編譯模組的規定。詳情請參閱 NIST 的 FIPS 140-2。
FedRAMP 高等風險 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 會使用通過 FIPS 140-2 驗證的加密模組 (名為 BoringCrypto) 加密靜態資料。Google Cloud 詳情請參閱「FIPS 140-2 validation in Google Cloud」。
如要進一步瞭解靜態資料加密,請參閱下列資源:
- 預設靜態資料加密
- 屬於 FedRAMP P-ATO 適用範圍的 Google Cloud 服務
- NIST 800-57:金鑰管理建議
- NIST BoringCrypto 模組驗證
- 使用使用者管理的加密金鑰,在 GKE 中加密傳輸中的資料
通過 FIPS 驗證的傳輸中資料保護機制
Google Cloud VPC 具有 FedRAMP 高等風險 P-ATO。您在虛擬私有雲網路中傳輸的任何資料都會自動加密。在 GKE 中,這表示容器、Pod、每個節點上的 kubelet 程序、所有節點、控制層執行個體,以及虛擬私有雲中的其他 Google Cloud 服務,其所有來回流量都會受到傳輸中保護。所有連至 Google API 的連線都會使用傳輸層安全標準 (TLS) 1.2 以上版本,加密網路流量。如要在虛擬私有雲網路Google Cloud 中傳輸資料時受到資料保護,不必採取任何額外行動,即可符合 FIPS 規定。
如要進一步瞭解資料在傳輸過程中如何加密,請參閱傳輸中資料加密白皮書。
保護 Google Cloud外部資料的建議
GKE 預設會加密傳輸中資料,但Google Cloud 僅適用於 VPC 網路 Google Cloud 。如要保護 VPC 網路邊界外的資料,必須使用符合 FIPS 標準的密碼編譯技術。下列建議有助於確保 FIPS 環境以外的所有傳入和傳出資料,在傳輸過程中都會以符合 FIPS 標準的密碼編譯技術加密。Google Cloud
攔截並加密來自網際網路的連入流量
如要確保網際網路傳入 Google Cloud 環境的流量安全無虞,請在 Google Cloud 負載平衡器中使用 SSL 政策,定義一組允許使用的 FIPS 驗證加密密碼或機制,確保資料進入 Google Cloud 環境時受到保護。詳情請參閱下列資源:
攔截並加密傳出至網際網路的流量
設定防火牆,定義周邊範圍,將傳出資料連線限制為一組您信任的已知第三方。繪製並記錄任何外部網路需求,例如從 GitHub 等來源提取資料,以及這些外部連線在您環境中的發生位置。考慮使用反向 Proxy 攔截虛擬私有雲的傳出流量。
如果 HTTP 流量要離開符合 FedRAMP 規範的Google Cloud 環境,請考慮設定 HTTP 轉送 Proxy,在資料離開環境前攔截資料。在資料離開安全範圍前,請先使用通過 FIPS 140-2 驗證的加密模組重新加密。相較於確保每個內部用戶端都使用符合規定的加密程式庫進行外部通訊,這種做法更易於大規模管理。
啟用私人節點
GKE 可讓您為叢集中的新節點停用外部 IP 位址,這樣一來,在節點上執行的工作負載預設就無法與網際網路通訊。請使用 http_proxy 或 https_proxy 環境變數,將所有流量傳送至您設定的 HTTP Proxy。
您可以透過轉送規則,更清楚地設定這類流量的攔截方式。不過,由於您是 Proxy TLS 流量,Proxy 無法對 GKE 上執行的應用程式完全透明。
詳情請參閱下列資源:
使用 Cloud VPN 建立與 GKE 的網路層連線
有時您可能需要與 GKE 叢集建立加密網路層連線。舉例來說,您可能需要在 GKE 節點和地端部署節點之間,設定符合 FIPS 標準的網路。Cloud VPN 是 FedRAMP High 授權服務,可將虛擬私有雲網路與地端部署網路之間傳輸中的資料加密。詳情請參閱 Cloud VPN 總覽。
使用 Cloud KMS 執行密碼編譯作業
如要在環境中執行加密編譯作業,請使用 Cloud Key Management Service。Cloud KMS 是通過 FedRAMP High 授權的服務,可讓您執行符合 FIPS 140-2 第 1 級或第 3 級的加密編譯作業。詳情請參閱下列資源: Google Cloud
在 GKE 工作負載中建構 FIPS 驗證程式庫
如要在 GKE 應用程式中使用 BoringCrypto 加密模組,請安裝 BoringSSL。BoringSSL 是 OpenSSL 的開放原始碼分支,其中包含 BoringCrypto 程式庫。如要建構、編譯 BoringCrypto 模組,並將其靜態連結至 BoringSSL,請參閱 BoringCrypto FIPS 140-2 安全性政策 PDF 的 12.1 節「安裝說明」。
考慮使用符合 FIPS 規範的第三方容器映像檔
建議您在符合 FIPS 規範的環境邊界使用 Proxy,全面強制執行 FIPS 規範。Google Cloud 您也可以執行符合 FIPS 規範的工作負載,不必受限於具有符合 FIPS 規範核心的節點主機。部分第三方供應商提供的容器映像檔會使用符合 FIPS 標準的獨立熵來源。
評估第三方供應商的實作項目,確認是否確實符合 FIPS 規定。