本文上次更新於 2025 年 2 月,內容反映截至撰文時的情況。我們會持續改善客戶保護措施,因此 Google 的安全性政策和系統未來可能會改變。
客戶提供的加密金鑰 (CSEK) 是 Cloud Storage 的功能。如果您提供自己的加密金鑰,Google 會使用您的金鑰來保護 Google 所產生用於加密和解密資料的金鑰。
本文說明 CSEK 的運作方式,以及如何在Google Cloud中受到保護。
CSEK 與 Cloud Storage 的搭配運作方式
在 Cloud Storage 中使用 CSEK 時,下列金鑰會納入包裝程序:
- 原始 CSEK:您必須在 API 呼叫中提供原始 CSEK。原始 CSEK 金鑰會從 Google Front End (GFE) 傳輸到儲存系統的記憶體。這個金鑰是 Cloud Storage 中資料的金鑰加密金鑰 (KEK)。
- 包裝的區塊金鑰:原始 CSEK 用於包裝包裝的區塊金鑰。
- 原始區塊金鑰:已包裝的區塊金鑰會包裝記憶體中的原始區塊金鑰。 原始區塊金鑰是用來加密儲存在儲存系統中的資料區塊,並在 Cloud Storage 中做為資料的資料加密金鑰 (DEK) 使用。
下圖顯示金鑰包裝程序。
下表說明這些鍵。
| 金鑰 | 儲存位置 | 用途 | 可存取的期限 |
|---|---|---|---|
原始 CSEK |
儲存系統記憶體 |
保護已包裝的區塊金鑰。 |
到客戶要求的作業 (例如 |
已包裝的區塊金鑰 |
儲存裝置 |
保護靜態儲存的原始區塊金鑰。 |
到 Storage 物件遭刪除為止。 |
原始區塊金鑰 |
儲存裝置的記憶體 |
保護您讀取或寫入磁碟的資料。 |
到客戶要求的作業完成為止 |
CSEK 的保護機制
本節說明 CSEK 在磁碟中、在 Google Cloud 基礎架構中移動時,以及在記憶體中的保護方式。
原始 CSEK、CSEK 衍生金鑰和原始磁碟金鑰一律不會在未加密的情況下儲存在磁碟中。原始磁碟金鑰在儲存前會先以 CSEK 衍生金鑰包裝,如果使用了自動重新啟動功能則會先以 Google 金鑰包裝。Google 不會將您的金鑰永久儲存在自家伺服器中。
每項服務都會使用基礎架構提供的存取權管理功能,明確指定要允許哪些服務和自己進行通訊。該服務可以設定許可清單,在當中加入允許的服務帳戶身分,這樣 Google Cloud基礎架構就會自動強制執行這項存取限制條件。詳情請參閱「服務身分、完整性和隔離功能」。
這套基礎架構也為網路上的 RPC 資料提供密碼編譯隱私權及完整性。服務可以為每個基礎架構 RPC 分別設定所需的密碼編譯保護等級,且客戶提供的加密金鑰也會啟用這些設定。詳情請參閱「工作負載間通訊的加密方式」。
金鑰內容存放在各種系統的記憶體中,包括叢集管理員記憶體和 VMM 記憶體。這些系統的記憶體只有在例外情況下 (例如發生事件) 才可存取,並且是由存取控制清單 (ACL) 管理。這些系統已停用記憶體傾印,或是會在記憶體傾印中自動掃描金鑰內容。如要瞭解如何保護這些工作,請參閱「Google 如何保護自家正式版服務」。