copyright: years: 2023, 2026 lastupdated: "2026-08-13"
keywords: Hyper Protect Virtual Servers 針對 VPC 的資料安全性、自備金鑰、保留自有金鑰、金鑰管理服務、KMS、Hyper Protect Crypto Services
subcollection: vpc
在 VPC 的 Hyper Protect Virtual Servers 上保護您的資料
適用於 VPC 的 IBM Cloud Hyper Protect Virtual Servers 已經廢棄。 截至 2026 年 2 月 28 日,您無法建立新的實體。 現有的實例將支援至 2027 年 2 月 20 日為止。 該日期仍然存在的任何實例都將被刪除。 您可以使用 IBM Confidential Computing Container Runtime(以前稱為 Hyper Protect Virtual Servers )或 IBM Confidential Computing Container Runtime for Red Hat Virtualization Solutions(以前稱為 Hyper Protect Container Runtime for Red Hat Virtualization Solutions) 來重新部署工作負載。 有關資料遷移的資訊,請參閱 遷移指南。 如需詳細資訊,請參閱 服務廢止公告。
您附加至 Hyper Protect Virtual Servers for VPC執行個體的資料卷,受 Linux 統一金鑰設定(LUKS)加密密碼保護。 通行語句是根據部署期間提供的種子所衍生而來。 您可透過使用來自 Hyper Protect Crypto Services 的自有金鑰,為靜態資料增添更高層級的加密保護與控制。
如何加密您的資料磁區
沒有 您自己的金鑰,您連接至實例的資料磁區會使用合約 workload- volumes 及 env- volumes 區段中提供的 兩個 種子自動加密。 種子會在內部轉換為 UTF8 序列,然後連結。 串接序列的雜湊值( SHA256 )以十六進位摘要形式計算,該摘要將作為 LUKS 通過密碼用於加密資料卷。
欲了解更多資訊,請參閱「關於合約」部分。
使用您自己的金鑰來保護機密資料
自 Hyper Protect Virtual Servers 起 ibm-hyper-protect-container-runtime-1-0-s390x-11,VPC 支援與金鑰管理服務 (KMS) Hyper Protect Crypto Services 的整合。Hyper Protect Crypto Services 會產生隨機值作為第三個種子,並以 CRK(客戶端根金鑰) 進行封裝。 如需 CRK 的相關資訊,請參閱
根金鑰。 包裝的種子儲存在資料磁區的 meta 資料分割區中。 LUKS 通行詞組是透過使用 三個 種子來產生-meta 資料分割區中的種子 (先解除封裝),以及合約中的兩個種子。
背景知識:從 HPCR 映像版本 ibm-hyper-protect-container-runtime-1-0-s390x-9 開始,針對 VPC 實例的新型 Hyper Protect Virtual Servers,其資料卷被分割為兩部分。 第一個分割區(100 MiB )僅保留給內部元資料使用(工作負載不得存取)。 第二個分割區仍作為工作負載的資料卷。 只會分割新的磁區。
目前僅支援 Hyper Protect Crypto Services 作為金鑰管理服務。
下表是種子的摘要。 第三個種子是由金鑰管理服務提供的種子。
| 種子 | 提供者 | 從 | 必要或選用 |
|---|---|---|---|
| seed1 | 部署人員角色 | env-合約的 volumes 區段 |
必要 |
| seed2 | 工作量角色 | workload-合約的 volumes 區段 |
必要 |
| seed3 | Hyper Protect Crypto Services | Hyper Protect Crypto Services 僅當合約中提供詳細資訊時 kms,才會產生第三個種子並使用CRK進行封裝。 封套加密是透過呼叫一個封裝 API 來實現的。 包裝的種子儲存在資料磁區的 meta 資料分割區中。 |
選用 |
如果磁區受到來自 KMS 實例的保護而受到保護,則會啟動金鑰常駐程式。 它負責對CRK的狀態變化作出反應。
關於客戶管理的金鑰
Hyper Protect Virtual Servers 針對 VPC,請使用 信封加密使用資料加密金鑰加密資料,然後使用可完全管理的根金鑰對該金鑰進行加密的程序。來實現客戶端管理的金鑰。 「信封加密」是指使用一個加密金鑰來加密(包裹)另一個加密金鑰。 在我們的案例中,被封裝的密鑰是第三個種子,而用於封裝該種子的密鑰則是來自 Hyper Protect Crypto Services 的共同密鑰(CRK)。
您擁有位於 Hyper Protect Crypto Services 的 CRK。VPC 的 Hyper Protect Virtual Servers 永遠不會看到該 CRK。 其儲存、管理,以及用於對種子進行封裝與解封裝的作業,均完全在金鑰管理服務內進行。
Hyper Protect Crypto Services 其採用通過FIPS 140-2第4級認證的硬體設備,此為業界雲端服務供應商所能提供的最高安全等級。 如需更多資訊,請參閱 《 Hyper Protect Crypto Services 入門指南 》。
為 VPC 啟用客戶端管理的密鑰以存取 Hyper Protect Virtual Servers
您能否啟用此功能取決於 VPC 實例的「Hyper Protect Virtual Servers」歷史記錄(分區佈局與 LUKS 加密)以及合約資訊。 如需可能的實務範例和結果,請參閱下表。 如果您不知道合約中的 kms 詳細資料,請參閱 步驟 中的指示。 此表格顯示虛擬伺服器在啟動時的行為、已掛載至該虛擬伺服器的卷宗數量,以及合約檔案中指定的輸入參數。
| 資料磁區中的分割區數目 | meta 資料分割區 | 合約 | 分割區/秒分割區是否已加密 LUKS | Hyper Protect Virtual Servers 在VPC中的行為 |
|---|---|---|---|---|
| 0 | 不適用 | 具有 kms 詳細資料 |
未加密 LUKS | 該實例在資料卷中建立兩個分區,呼叫 Hyper Protect Crypto Services 函式生成第三個種子,並以CRK進行封裝。 包裝的種子儲存在 meta 資料分割區中。 接著,該實例會使用種子(先進行解包處理)以及合約中的兩個種子,生成一個 LUKS 通過密碼來加密第二個分割區。 |
| 0 | 不適用 | 具有 kms 詳細資料 |
LUKS 已加密 | 實例會關閉。 您需要移除合約中的 kms 詳細資料。 |
| 1 | 不適用 | 不支援。 實例會關閉。 | ||
| 2 | 無加密種子 | 具有 kms 詳細資料 (一個項目) |
未加密 LUKS | 該實例呼叫 Hyper Protect Crypto Services 以產生第三個種子,並將其用CRK進行封裝。 包裝的種子儲存在 meta 資料分割區中。 接著,該實例會使用種子(先進行解包處理)以及合約中的兩個種子,生成一個 LUKS 通過密碼來加密第二個分割區。 |
| 2 | 無加密種子 | 具有 kms 詳細資料 (一個項目) |
LUKS 已加密 | 與前一流程類似,用於重新加密第二個分割區。 已取代舊 LUKS 通行詞組。 來自 env 和 workload 的兩個種子必須與先前相同,否則重新加密將失敗,且執行個體將關閉。 請提供正確的種子,然後重試。 |
| 2 | 無加密種子 | 具有 kms 詳細資料 (多個項目) |
未加密 LUKS | 類似於先前的實務範例,用於包裝第三個種子並加密第二個分割區。 只會使用第一個項目中的配置來覆蓋第三個種子。 |
| 2 | 具有已加密種子 | 具有 kms 詳細資料 (一個項目) |
未加密 LUKS | 您可能在先前配置時使用了該磁碟區,但加密操作未能成功。 或者您已將該卷分割為兩個分區,並手動創建一個隨機值作為第三個種子,將其封裝後儲存於元數據分區中。 在任一情況下,實例都會檢查分割是否正確。 如果沒有,則會關閉實例。 若分區設定正確,實例將呼叫 Hyper Protect Crypto Services 解封加密種子,並運用該種子與合約中的兩組種子生成 LUKS 通過密碼,用以加密第二個分區。 |
| 2 | 具有已加密種子 | 具有 kms 詳細資料 (一個項目) |
LUKS 已加密 | 該實例呼叫 Hyper Protect Crypto Services 來解封裝加密的種子,並在資料分割區上開啟 LUKS 層。 |
| 2 | 具有已加密種子 | 具有 kms 詳細資料 (多個項目) |
該實例呼叫 Hyper Protect Crypto Services 函式,使用第一個 kms 條目解封裝加密的種子。 如果失敗,則會使用下一個項目。 當它成功時,它會使用第一個配置來重新包裝種子。 如果所有項目都無法運作,則實例會關閉。 |
|
| 2 | 具有已加密種子 | 無 kms 詳細資料 |
實例會關閉。 您需要在合約中提供 kms 詳細資料。 |
若您的實例關閉,請檢查 IBM Cloud 日誌中的記錄。
步驟
-
提供一個 Hyper Protect Crypto Services 實例並建立根金鑰。 如需相關資訊,請參閱 建立根金鑰。
為提升安全性,建議使用具備 Hyper Protect Crypto Services 功能的 虛擬私有端點。
-
當您 準備合約 時,請在 -
env區段中添加kms詳細資訊volumes,然後使用該合約為 VPC 執行個體 建立 Hyper Protect Virtual Servers。 請參閱下列範例:env: | logging: logRouter: hostname: 34be57c7-6ff2-4685-8839-903921e90ab9.ingress.jp-tok.logs.cloud.ibm.com iamApiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" volumes: test: kms: - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx" type: "public" - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" type: "private" seed:"workload_phrase1" kmsTimeout: 10 apiKey: "L4SsSE32xxxxxjAgfHCVkdW8xl_CiqMn4Lpc1dzTD" signingKey: "xxxxxxxxx" workload: | volumes: test: mount: "/mnt/data" seed: "workload_phrase2" filesystem: "ext4"
為了避免攻擊者誤用 KMS 詳細資料,強烈建議部署人員 (提供 env 區段) 加密 並 簽署 合約。 如需加密的相關資訊,請參閱 合約加密。 對於簽章,將公開簽署金鑰 (signingKey 欄位) 新增至
env 區段,並透過將 envWorkloadSignature 區段新增至合約來簽署整個合約。 簽署的目的在於確保 和 env workload 部分始終共同使用,且不會被第三方竄改。 如需相關資訊,請參閱 合約簽章。
-
kms在
kms欄位中,一律放置您要用作第一個項目的 KMS 配置。 接下來的項目是較舊的 KMS 配置 (用來在移轉至現行配置之前解密包裝的種子)。 最多支援五個項目。 有關變更 KMS 設定的詳細資訊,請參閱 《 變更至不同的 Windows 遠端管理伺服器(Hyper Protect Crypto Services)執行個體或根金鑰 》。如果合約中的
kms詳細資料無效,則實例會立即關閉。 -
kmsTimeout您可以在合約中指定
kmsTimeout(介於 0-1000 分鐘之間)。 如果未指定,則預設逾時值為 10 分鐘。 此值決定在初始啟動或重新啟動期間,實例嘗試解封種子所耗費的時間長度。 過了此逾時之後,會記載訊息並關閉實例。 -
type您可以使用此欄位,將實例在專用網路中指定為「專用」,並將實例在公用網路中指定為「公用」。 此項目用於支援切換至不同的 Hyper Protect Crypto Services 實例或CRK。
若您的卷宗為新建立,實例會在資料卷宗中建立兩個分割區,並呼叫 Hyper Protect Crypto Services 產生第三個種子,再以 CRK 進行封裝。 包裝的種子儲存在 meta 資料分割區中。 接著,該實例會使用種子(先進行解包處理)以及合約中的兩個種子,生成一個 LUKS 通過密碼來加密第二個分割區。
您也可以選擇 手動 在磁區中建立兩個分割區,建立隨機值作為第三個種子,包裝它,並將它儲存在 meta 資料分割區中:
-
使用 Linux 工具在區塊裝置上建立
parted兩個分割區。- 第一個區段標記為
metadata,長度為 100 位元組,其位元組序列為:MiB。 元資料分區僅保留供內部元資料使用,工作負載不得存取。 建立一個檔案系統( ext4 ),並建立名為 keyfile 的檔案。 - 第 2 個磁碟分割標示為
data,並填滿整個磁碟空間。
- 第一個區段標記為
-
使用 Hyper Protect Crypto Services KMS API 進行密鑰封裝,以生成基於硬體安全模組(HSM)的隨機明文,並在不傳遞原始值的情況下完成封裝。
-
將回應物件中的密文複製至密鑰檔案。
-
準備包含KMS資訊的合約,並為VPC實例建立 Hyper Protect Virtual Servers,該實例需配備手動分割的磁碟區,且該磁碟區內含封裝的種子。
當執行個體運行時,關鍵守護程序會定期與 Hyper Protect Crypto Services 執行個體建立聯繫。 套用相同的逾時 kmsTimeout。 若無法連上 Hyper Protect Crypto Services 實例、CRK 狀態異常 Active,或存取參數(kms 詳細資訊)不再匹配,該守護程序將觸發重新啟動。
若您的實例關閉,請檢查 Log Analysis 中的記錄。
使用客戶管理金鑰操作 Hyper Protect Virtual Servers for VPC
輪替根金鑰
切換至不同的 Hyper Protect Crypto Services 實例或根金鑰
若需使用不同的 Hyper Protect Crypto Services 實例或根金鑰ID,請將新的KMS設定置於合約的首項條目中,並重新建立 Hyper Protect Virtual Servers 實例。 請在合約中保留舊的 KMS 設定(即目前使用的設定)。 在實例化過程中,VPC 的 Hyper Protect Virtual Servers 會使用舊配置解封裝加密種子,並採用新配置重新封裝該種子。 合約中最多支援五個項目。
完成變更之後,可以從下一個互動中移除舊項目。
停用根金鑰
如果您 停用根金鑰,金鑰的狀態會變成 已暫停。 Hyper Protect Virtual Servers 的VPC關鍵守護程序會定期檢查CRK的狀態。 若狀態非為「Active」,虛擬伺服器將重新啟動。 在重新啟動期間,關鍵守護程序會持續透過輪詢檢查狀態,當所需時間超過
kmsTimeout 時,虛擬伺服器便會關閉。 您需要 啟用根金鑰,才能將金鑰帶回 作用中。
請確定您的 CRK 未過期。 否則,其狀態將轉為停用,虛擬伺服器會重新啟動並最終關閉。 如需金鑰狀態的相關資訊,請參閱 監視加密金鑰的生命週期。