無論使用哪個金鑰提供者,都可以透過 vSphere 虛擬機器加密建立加密的虛擬機器並加密現有虛擬機器。由於包含敏感資訊的所有虛擬機器檔案都會加密,因此會保護虛擬機器。僅具有加密權限的管理員可以執行加密和解密工作。

重要: ESXi Shell 使用者還具有密碼編譯作業權限。如需詳細資訊,請參閱 虛擬機器加密工作的必要條件和所需權限

vSphere 虛擬機器加密支援的儲存區

vSphere 虛擬機器加密可與任何支援的儲存區類型 (NFS、iSCSI、光纖通道、直接連結儲存區等) 搭配使用,包括 VMware vSAN。如需有關在 vSAN 叢集中使用加密的詳細資訊,請參閱管理 VMware vSAN說明文件。

vSphere 虛擬機器加密和 vSAN 使用相同的加密程式庫,但具有不同的設定檔。虛擬機器加密是依虛擬機器的加密,vSAN 是資料存放區層級的加密。

vSphere 加密金鑰和金鑰提供者

vSphere 以金鑰加密金鑰 (KEK) 和資料加密金鑰 (DEK) 的形式使用兩級加密。簡單來說,ESXi 主機產生 DEK,用於加密虛擬機器和磁碟。KEK 由金鑰伺服器提供,對 DEK 進行加密 (或「封裝」)。KEK 使用 AES256 演算法加密 DEK,DEK 使用 XTS-AES-256 (512 位元金鑰大小) 演算法加密 VMDK。根據金鑰提供者的類型,使用不同的方法建立及管理 DEK 和 KEK。

標準金鑰提供者的運作方式如下。
  1. ESXi 主機產生並使用內部金鑰來加密虛擬機器和磁碟。這些金鑰用作 DEK。
  2. vCenter Server 會從金鑰伺服器 (KMS) 請求金鑰。這些金鑰用作 KEK。vCenter Server 僅儲存每個 KEK 的識別碼,但不儲存金鑰本身。
  3. ESXi 使用 KEK 加密內部金鑰,且在磁碟上儲存加密的內部金鑰。ESXi 不在磁碟上儲存 KEK。如果主機重新開機,vCenter Server 會從金鑰伺服器請求具有對應識別碼的 KEK,且使其可供 ESXi 使用。然後,ESXi 可視需要解密內部金鑰。

vSphere Trust Authority 受信任金鑰提供者的運作方式如下所示。

  1. 受信任叢集的 vCenter Server 會檢查即將建立加密虛擬機器的 ESXi 主機是否可存取預設的受信任金鑰提供者。
  2. 受信任叢集的 vCenter Server 會將受信任的金鑰提供者新增至虛擬機器 ConfigSpec。
  3. 虛擬機器建立申請將會傳送至 ESXi 主機。
  4. 如果證明 Token 尚未可供 ESXi 主機使用,則會從證明服務申請一個。
  5. 金鑰提供者服務會驗證證明 Token,並建立要傳送至 ESXi 主機的 KEK。將使用金鑰提供者上設定的主要金鑰封裝 (加密) KEK。KEK 加密文字和 KEK 純文字將傳回到受信任的主機。
  6. ESXi 主機產生 DEK,對虛擬機器磁碟進行加密。
  7. 此 KEK 用於封裝 ESXi 主機所產生的 DEK,而金鑰提供者中的加密文字會與加密資料一起儲存。
  8. 虛擬機器已加密並寫入儲存區。
備註:

vSphere 叢集中的 ESXi 主機將加密虛擬機器的 KEK 儲存在主機記憶體中,以啟用高可用性、vMotion、DRS 等可用性功能。刪除或解除登錄虛擬機器時,叢集中的 ESXi 主機會從其記憶體中刪除 KEK。因此,ESXi 主機無法再使用 KEK。對於標準金鑰提供者和受信任金鑰提供者,此行為是相同的。

vSphere Native Key Provider 的運作方式如下所示。

  1. 建立金鑰提供者時,vCenter Server 會產生主要金鑰並將其推送至叢集中的 ESXi 主機。(不涉及外部金鑰伺服器。)
  2. ESXi 主機按需產生 DEK。
  3. 執行加密活動時,會使用 DEK 加密資料。

    加密的 DEK 將與加密的資料一起儲存。

  4. 解密資料時,會使用主要金鑰先解密 DEK,然後再解密資料。

vSphere 虛擬機器加密可以對哪些元件加密

vSphere 虛擬機器加密支援加密虛擬機器檔案、虛擬磁碟檔案,以及核心傾印檔案。
虛擬機器檔案
會加密大多數虛擬機器檔案 (尤其是未儲存在 VMDK 檔案中的客體資料)。這組檔案包括但不限於 NVRAM、VSWP 和 VMSN 檔案。來自金鑰提供者的金鑰將解除鎖定包含內部金鑰和其他密碼的 VMX 檔案中的加密服務包。根據金鑰提供者的不同,金鑰擷取工作如下所示:
  • 標準金鑰提供者:vCenter Server 管理來自金鑰伺服器的金鑰,並且 ESXi 無法直接存取金鑰提供者。主機等待 vCenter Server 推送金鑰。
  • 受信任金鑰提供者和 vSphere Native Key Provider:ESXi 主機直接存取金鑰提供者,因此可以直接從 vSphere Trust Authority 服務或從 vSphere Native Key Provider 擷取請求的金鑰。
如果使用 vSphere Client 建立加密的虛擬機器,可以加密和解密獨立於虛擬機器檔案的虛擬磁碟。依預設,所有虛擬磁碟均已加密。對於其他加密工作,如加密現有虛擬機器,您可以加密和解密獨立於虛擬機器檔案的虛擬磁碟。
備註: 您無法將加密的虛擬磁碟與未加密的虛擬機器建立關聯。
虛擬磁碟檔案
加密的虛擬磁碟 (VMDK) 檔案中的資料永遠不會以純文字寫入儲存區或實體磁碟,且永遠不會以純文字透過網路傳輸。VMDK 描述元檔案通常為純文字,但包含 KEK 的金鑰識別碼和加密服務包中的內部金鑰 (DEK)。
您可以使用 vSphere Client 或 vSphere API 透過新的 KEK 執行淺層雙重加密作業,或者使用 vSphere API 透過新的內部金鑰執行深層雙重加密作業。
核心傾印
永遠加密已啟用加密模式的 ESXi 主機上的核心傾印。請參閱 vSphere 虛擬機器加密和核心傾印。不會加密 vCenter Server 系統上的核心傾印。保護 vCenter Server 系統的存取權。
虛擬機器分頁檔
每當您將 vTPM 新增到虛擬機器時,系統都會加密虛擬機器分頁檔。RAM 不足的環境可能會遇到與加密相關的分頁,這可能會影響效能。
vTPM
設定 vTPM 時,會加密虛擬機器檔案而非磁碟。您可以選擇為虛擬機器及其磁碟明確新增加密。如需詳細資訊,請參閱 使用虛擬信賴平台模組保護虛擬機器
備註: 如需 vSphere 虛擬機器加密可互通的裝置和功能相關的一些限制的相關資訊,請參閱 虛擬機器加密互通性

vSphere 虛擬機器加密不對哪些元件加密

不加密或部分加密與虛擬機器相關聯的一些檔案。
記錄檔
不加密記錄檔,因為其不包含敏感資料。
虛擬機器組態檔
不加密 VMX 和 VMSD 檔案中儲存的大多數虛擬機器組態資訊。
虛擬磁碟描述元檔案
為了支援無金鑰的磁碟管理,不會加密大多數虛擬磁碟描述元檔案。

執行密碼編譯作業需要哪些權限

僅指派了密碼編譯作業權限的使用者可以執行密碼編譯作業。權限集是精細的。預設管理員系統角色包含所有密碼編譯作業權限。「無密碼編譯管理員」角色支援所有管理員權限,密碼編譯作業權限除外。

除了使用 Cryptographer.* 權限之外,vSphere Native Key Provider 還可以使用 Cryptographer.ReadKeyServersInfo 權限,這是 vSphere Native Key Provider 的專屬權限。

如需詳細資訊,請參閱密碼編譯作業權限

您可以建立其他自訂角色,例如允許使用者群組加密虛擬機器但防止其解密虛擬機器。

如何執行密碼編譯作業

vSphere Client 支援許多密碼編譯作業。對於其他工作,您可以使用 PowerCLI 或 vSphere API。

表 1. 用於執行密碼編譯作業的介面
介面 作業 資訊
vSphere Client 建立加密的虛擬機器

加密和解密虛擬機器

執行虛擬機器的淺層雙重加密 (使用不同的 KEK)

本書
PowerCLI 建立加密的虛擬機器

加密和解密虛擬機器

設定 vSphere Trust Authority

VMware PowerCLI Cmdlet 參考
vSphere Web Services SDK 建立加密的虛擬機器

加密和解密虛擬機器

執行虛擬機器的深度雙重加密 (使用不同的 DEK)

執行虛擬機器的淺層雙重加密 (使用不同的 KEK)

vSphere Web Services SDK 程式設計指南

vSphere Web Services API 參考

crypto-util 解密已加密的核心傾印

確認檔案是否已加密

直接在 ESXi 主機上執行其他管理工作

命令列說明

vSphere 虛擬機器加密和核心傾印

如何對已加密的虛擬機器進行雙重加密 (重設金鑰)

您可以使用新金鑰對虛擬機器進行雙重加密 (亦稱為重設金鑰),以防金鑰到期或遭到破解。可用的重設金鑰選項如下。

  • 淺層雙重加密,僅取代金鑰加密金鑰 (KEK)
  • 深度雙重加密,會取代磁碟加密金鑰 (DEK) 和 KEK

深度雙重加密要求虛擬機器已關閉電源且不包含任何快照。您可以在虛擬機器開啟電源且虛擬機器已有快照存在時執行淺層雙重加密作業。僅允許在單一快照分支 (磁碟鏈結) 上對具有快照的加密虛擬機器進行淺層雙重加密。不支援多個快照分支。此外,在虛擬機器或磁碟的連結複製上不支援淺層雙重加密。如果淺層雙重加密在使用新 KEK 更新鏈結中的所有連結之前失敗,您仍可以存取加密的虛擬機器 (如果有舊 KEK 和新 KEK)。但是,最好在執行任何快照作業之前重新發出淺層雙重加密作業。

可以使用 vSphere Client、CLI 或 API 對虛擬機器執行重設金鑰。請參閱使用 vSphere Client 對加密虛擬機器進行重設金鑰使用 CLI 對加密虛擬機器進行重設金鑰vSphere Web Services SDK 程式設計指南