簡介
本文為擷取 Data Encryption and Key Management | The Nutanix Cloud Bible、AOS Security 6.10 - Data-at-Rest Encryption 文件內容中,針對 Nutanix 提供的資料加密部份進行整理。
圖、Nutanix Cluster 加密架構示意圖
Data Encryption
在討論資料加密時,通常會有下列兩種方式 (In-transit、At-rest),針對資料層級進行加密的方式:
In-transit: 針對兩方之間的傳輸資料進行加密,例如,透過網路傳送資料。在 Nutanix 環境中,便是透過軟體加密方式,在 Nutanix Cluster 中保護 RF 資料複寫時進行加密。
At-rest: 針對靜態資料進行加密,例如,儲存在裝置中的資料。在 Nutanix 環境中,透過整合實體儲存裝置的 Self-Encrypting Drives (SED) 功能,達到靜態資料加密的目的。
- 軟體式加密 (FIPS-140-2 Level-1 / AES-256),從 Nutanix AOS 5.5 開始支援。
- 採用 AHV 時,支援 Cluster Level、VM Level、VG Level 加密,有關支援 VM Level 和 VG Level 加密的部份,請參考 Prism pc.2024.2 - Storage Policy Based Encryption 文件內容。
- Nutanix 建議採用 Cluster Level 加密,以避免造成額外的工作負載和管理開銷。
- 一旦在 Cluster Level 或 Container Level 啟用加密機制後,便「無法停用」加密機制!! 即便停止或重新啟動 Nutanix Cluster 也沒用。
- 資料複寫至「另一個 Cluster」時,並「不會加密」,所以必須為每個叢集啟用加密功能。
- 採用 ESXi, Hyper-V 時,同時支援 Cluster Level 和 Container Level 加密。
圖、Data Encryption - Enabled (cluster level)
- SED 硬體式加密 (FIPS-140-2 Level-2),支援 Cluster Level 加密。
- 當資料寫入磁碟機時,會自動進行加密,當讀取資料時會進行解密,儲存裝置中的晶片組會控制加密和解密過程,系統效能不受影響並且不依賴於系統軟體。
- 在初始化設定時,SED 會建立一個唯一的隨機金鑰,用於在資料寫入期間加密並在讀取時解密資料,資料加密金鑰 (Data Encryption Key,DEK),可以確保儲存裝置中的資料始終加密,因為每次寫入資料或讀取資料時,都需要 DEK 對資料進行加密和解密才行,倘若 DEK 不可用的話,便無法存取 SED 內的資料,導致儲存裝置內的資料都無法使用。
圖、用於 SED 儲存裝置的 DEK 加密金鑰
圖片來源: Self-encrypting drives | Dell PowerScale OneFS: Security Considerations | Dell Technologies Info Hub
Native Software-based Encryption
Nutanix 軟體加密提供原生的 AES-256 資料靜態加密,它可以跟任何符合 KMIP 或 TCG 的外部 KMS 伺服器,例如 Vormetric、SafeNet……等進行互動,也可以使用 Nutanix 從 5.8 版本開始支援的原生 KMS。同時,整合 Intel AES-NI 進行資料加解密時,能夠最小化軟體加密對效能的影響。
當資料寫入時(OpLog 和 Extent Store),資料在寫入磁碟之前,會在Checksum Boundary 時進行加密,然後將加密資料複寫到遠端的 CVM 中 (RF 複寫)。原則上,軟體式加密機制並不會影響進階功能,例如,Deduplication, Compression, Zero Block Suppression,因為資料加密是在這些進階功能之後才執行。
圖、Data Encryption - Transform Application
SED Based Encryption
SED 資料加密的工作原理,是將儲存裝置分成「Strips」,當 Nutanix 叢集啟動時,將會呼叫 KMS 伺服器取得解鎖儲存裝置的金鑰,為了確保安全性,叢集上不會快取任何金鑰,一旦發生 Cold Boot 和 IPMI Reset 事件時,節點會需要 Callback KMS 伺服器以解鎖儲存裝置,至於 CVM Soft Resatrt 則不會發生這種情況。
圖、Data Encryption - SED
圖、儲存裝置啟用 SED 加密
Key Management (KMS)
Nutanix 支援 Local Key Manager (LKM),也就是將 LKM 服務分佈在每台 Nutanix 節點中,然後在 CVM 上運作,以簡化管理,但是仍然支援外部 KMS。
目前,Nutanix 加密方式中支援下列三種類型的金鑰:
- Data Encryption Key (DEK): 用於加密「資料」的金鑰。
- Key Encryption Key (KEK): 用於加密「 DEK」的金鑰。
- Master Encryption Key (MEK): 用於加密「KEK」的金鑰。
圖、Data Encryption - Key Management