GH GambleHub

加密At Rest

加密At Rest

1)為什麼需要它,我們保護的是什麼

定義。Rest加密是對寫入介質(磁盤,snapshot,備份,對象,logi,內存轉儲)的數據的保護,因此未經授權訪問物理介質或「原始」存儲不會泄露內容。

我們涵蓋的內容:
  • 塊/文件卷、對象存儲、數據庫、隊列/網關、緩存轉儲、邏輯/跟蹤、備份、導出/導入、VM/容器快照、核心/進程轉儲、播客/交換。
  • 多目標場景:客戶端/項目/環境之間的隔離。

我們不能完全覆蓋的內容包括:內存中的會話竊取,對實時過程的攻擊,應用程序漏洞,損害憑據。這需要「飛行中」加密,嚴格的身份驗證/授權,最小化權限和監控(請參閱相關文章:「身份驗證和授權」,「請求簽名和驗證」)。

2)威脅模式和控制目標

典型風險:
  • 媒體丟失/盜竊(磁盤、磁帶、USB、開發人員設備)。
  • 未經授權訪問備份/快照/登錄。
  • 濫用Platform/Hypervisor/Storaj-nod級別的特權。
  • 配置錯誤時租戶交叉。
  • 「垃圾」臨時文件和轉儲到工件和圖像中。
目標是:

1.介質上的數據隱私。

2.租戶/環境的加密隔離。

3.密鑰可管理性(創建,存儲,輪換,撤回)。

4.可審核性(誰以及何時使用密鑰)。

5.將事件中的操作風險降至最低。

3)架構基本原理

默認情況下,將全部加密。Opt-out被禁止,沒有風險級別的例外。
密鑰層次結構(envelope加密)。Root/KEK → DEK(數據加密密鑰)→ 對象/文件/DB頁面。
KMS/HSM作為信任來源。KEK在KMS/HSM中的生成和存儲,密鑰包裝/部署操作在同一位置進行。
Per-tenant/per-dataset鍵。粒度符合隔離和旋轉的要求。
職責劃分。平臺團隊≠租戶密鑰所有者;最低特權(PoLP)。
Crypto-agility.能夠安全地遷移算法/密鑰長度。
輪換為過程而不是事件。密鑰和數據必須支持「滾動」替換。

4)加密算法和模式

對象/文件/記錄:AES-256-GCM或AES-256-SIV(具有身份驗證的AEAD)。
對於塊設備/卷:AES-XTS-256/512(塊置換保護;非AEAD-在文件格式之上使用MAC,其中完整性很重要)。

對於數據庫:
  • TDE (Transparent Data Encryption) движка: Oracle TDE, SQL Server TDE, MySQL/InnoDB TDE и пр.
  • 字段/小寫密碼學(FPE/確定性加密)-用於加密字段上的搜索/操縱桿功能;謹慎行事。
  • 密鑰生成和存儲:KEK-在KMS/HSM中;DEK-在應用程序內存中壽命短,存儲時僅以包裹形式。

5)密鑰層次結構和KMS/HSM

級別:

1.Root key(HSM/KMS中的法定名稱)。不會離開HSM/KMS外圍。

2.KEK (Key Encryption Key).項目/環境/租戶。管理DEK生命周期。

3.DEK (Data Encryption Key).對象/文件/表/段。壽命短,不間斷旋轉。

實踐:
  • 所有包裝/部署操作均通過KMS API進行審核。
  • 政客:誰可以「使用」鑰匙≠誰可以「管理」鑰匙。
  • 關鍵地理分配:區域間的pin-to-Region+雙控制。
  • 對於高風險操作,可以使用「雙檢查」模型(兩個操作員)。
  • 要隔離強層,每個租戶都有單獨的鑰匙戒指。

6)輪換,召回和合規性

DEK輪換:透明且恒定(在對象/頁面級別滾動re-encryption)。
KEK輪換:間歇性(例如,每6至12個月一次)+當懷疑有罪時立即召回。
訪問召回:通過KMS政策;阻止unwrap操作=數據的瞬時「加密銷毀」。
審計日誌:誰、何時、哪些權利使用密鑰;分別存儲和加密。
法規和標準:針對行業需求(例如GDPR/PCI公差/本地監管機構),使用經過認證的加密碼器(例如,符合認證水平)。

7)按存儲類型劃分的模式

7.1塊/文件卷和VM/容器

全盤加密(XTS)+通過KMS控制密鑰(裝載時初始化卷)。
保護交換、崩潰轉儲、tmp 目錄、容器覆蓋層、映像/AMI。
快照/快照-始終以加密,帶有單獨的DEK。

7.2個對象存儲

Envelope加密:每個對象的唯一DEK;標題/元數據-沒有PII泄漏。
通過租戶和環境控制KMS密鑰的訪問。
服務器端加密(帶有本機KMS的SSE)或客戶端端加密(CSE)-通過信任模型進行選擇。

7.3個數據庫

在可用的地方啟用TDE;DB密鑰通過插件/插件綁定到KMS。
對於特別敏感的字段-在進入DB之前的應用程序加密(AEAD)。
Redo日誌/事務日誌、存檔日誌、轉儲分別加密,密鑰分開。

7.4 Logi/Traces/度量

Logs格式-沒有敏感的默認數據(消毒)。
Log Archives-單個密鑰和短存儲TTL。
通過具有A&A和審核的代理服務訪問日誌閱讀。

7.5備份和離線媒體

在寫入磁帶/雲之前,始終在客戶端進行加密。
單獨存儲(外帶),分開控制。
對於緊急情況,分離秘密(例如m-of-n)以恢復主訪問。

8)多範圍(multi-tenant)

租戶的關鍵:KEK-per-tenant+DEK-per-dataset。
策略隔離:KMS名稱空間,IAM邊界,單獨的IDP角色。
應客戶要求刪除:「加密擦除」-召回租戶的KEK並銷毀DEK。
客戶報告:合規工件、密鑰訪問日誌、輪換確認。

9)性能和操作

硬件加速(AES-NI/x86 Crypto Extensions ARMv8)。
熱路分析:使用I/O邊界上的加密,避免雙重加密,無需。
KMS會話池,在內存中緩存包裹的DEK(具有TTL和轉儲保護)。
SLO/度量標準:unwrap的潛在性,「超密」對象的比例,KMS錯誤,備用加密速度。

10)實施過程(參考簡歷)

步驟0-數據清單。編目所有存儲和泄漏路徑(tmp、轉儲、導出、分析箱)。
步驟1-關鍵層次結構設計。我們定義KEK/DEK級別,粒度,區域,角色。
步驟2-選擇模式/庫。認可的算法,密碼庫,版本策略。
步驟3-與KMS/HSM集成。生成/包裝/審計,IAM策略,地理固定。
步驟4-寫入加密。默認情況下啟用,將現有數據遷移到背景重新映射。
步驟5-輪換和緊急情況。法規,「key compomise」測試,「KMS不可用」。
步驟6-監測和審計。Dashbords,Alertes,定期合規報告。
步驟7-學習和「安全代碼」。Gaids for Engineers,禁止將秘密帶入博客/轉儲。

11)測試和驗證

加密單元測試:AEAD(標簽驗證)的正確性,更改字節時的故障驗證。
失敗測試:關閉KMS,過時的密鑰版本,強制撤回KEK。
紅色/藍色測試:嘗試讀取「原始」光盤/snapshot/備用。
兼容性檢查:遷移算法/密鑰長度(crypto-agility)。
圖書館認證:僅使用經過驗證的加密碼器;記錄版本。

12)頻繁的錯誤以及如何避免錯誤

雙重加密沒有意義。多余的潛伏和復雜性。保持一層,提供所需的顆粒和絕緣。
將密鑰存儲在數據旁邊。按鍵-總是分開的,在不同的訪問模型下。
被遺忘的文物。未加密的臨時文件、CSV導出、支持轉儲。在CI/CD和Data Loss Prevention中啟用控制。
缺乏旋轉。使旋轉成為管道/cron的一部分,而非手動操作。
具有敏感數據的日誌。引入博客格式和自動消毒劑的合同。

13)迷你食譜(偽代碼)

對象的Envelope加密:

1) Request unwrap DEK from KMS by tenant KEK id dek = kms. unwrap(kek_id, wrapped_dek)

2) Generate fresh nonce/iv, encrypt payload (AEAD)
ciphertext, tag = aead_encrypt(dek, iv=random(), aad=metadata, plaintext=data)

3) Delete DEK from memory (zeroize), save {ciphertext, iv, tag, wrapped_dek}
無停機的KEK輪換:

For each object:
new_wrapped_dek = kms. rewrap(old_wrapped_dek, old_kek_id -> new_kek_id)
store(new_wrapped_dek)
We do not touch the data: we turn over only DEK
數據集的「加密刪除」:

kms. disable_key (tenant_kek_id) # Deny unwrap kms. schedule_destroy (tenant_kek_id, hold_period_days=7) # Optional hold

14)支票單

在運行到prod之前:
  • 在所有類型的存儲上啟用默認加密。
  • 密鑰層次結構已描述並實現;角色和IAM策略配置。
  • KMS/HSM已集成,關鍵操作審計已啟用。
  • DEK/KEK輪換是自動的;已制定妥協方案。
  • Backaps,snapshots,logi和dumps-加密;密鑰單獨存儲。
  • 已將Alerta設置為KMS錯誤,AEAD標簽偏差,未加密工件比例。
  • 通過KMS不可用性和密鑰召回測試。
運營:
  • 關於密鑰使用和訪問嘗試的月度報告。
  • crypto-agility計劃和無痛算法遷移窗口。
  • 定期紅隊從「原始」媒體中提取數據。

15)問答(FAQ)

問: 全盤加密是否足夠?

答:對於物理風險-是的,但是對於隔離租戶和靈活的輪換,使用DEK對象/撥號更好envelope。

問: KEK損害時該怎麼辦?

答:立即將KEK召回KMS,重新發布新版本,對所有DEK進行重寫,檢查日誌並進行RCA。

問: 如何加密您正在尋找的字段?

答:僅在嚴格的風險評估(模式參考)中使用確定性電路或FPE。最好設計查詢,以使敏感字段不需要索引的開放視圖。

問: 是否需要單獨的密鑰命令?

答:建議將「Crypto/KMS運算符」作為具有單獨權限和程序的角色。

「體系結構和協議」部分的相關材料:
  • 「密鑰管理和旋轉」
  • 「S2S認證」
  • ";請求的簽字和核實";
  • 「OAuth2/OpenID核心連接」
  • 「網絡手冊交付保證」
Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。