認證
適用於 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) 來重新部署工作負載。 有關資料遷移的資訊,請參閱 遷移指南。 如需詳細資訊,請參閱 服務廢止公告。
驗證是預設於虛擬實例建立時啟動的流程,確保虛擬伺服器實例映像確實由 建立,且 IBM 未遭修改。 此處理程序也會提供資訊,並容許驗證部署時提供給實例的任何資料。
當您使用 IBM Hyper Protect Container Runtime 映像檔建立虛擬伺服器實例時,該映像檔會使用受加密保護且由 IBM Secure Execution 簽署的起始檔案系統。 如需相關資訊,請參閱 使用 LinuxONE進行機密運算。 若要進一步瞭解認證處理程序,請參閱此 視訊。
開機處理程序會建立唯一根磁碟加密金鑰,以確保根磁碟的保護。 為了執行認證,虛擬伺服器實例映像檔包含認證簽署金鑰及建置時根分割區的雜湊。 開機處理程序會驗證根分割區。 如果根分割區的雜湊不相符,則開機處理程序不會繼續,因為它假設在開機之前已修改映像檔。 認證簽署金鑰是由 Hyper Protect Crypto Services中維護的 IBM 根金鑰所簽署的隨機 RSA 4 K 金鑰。 IBM 根金鑰由 Digicert 簽署。
在雲端中部署虛擬伺服器實例期間,會建立認證記錄。 它包含下列項目的雜湊:
- 原始基本映像檔
- 第一次開機時的根分割區
- 建置時期的根分割區
- 雲端起始設定選項
認證記錄由認證金鑰簽署。 作為額外保護層,您可以在部署期間提供公開金鑰,對其進行認證記錄加密。 此公開金鑰的切細值會被加入證明記錄中,因此該記錄只能由合規授權機構檢視。 預期的權限可透過該切細值輕易識別。
將任何工作量上傳至實例之前,您需要先驗證認證記錄。 建立實例之後,您可以驗證所建立實例內的認證記錄。 您的實例必須具有 /var/hyperprotect 目錄的存取權。 如果是的話,請遵循下列程序:
- 認證記錄由認證簽署金鑰簽署。
- IBM 中繼憑證可以確認認證簽署金鑰。 這IBM中間證書由以下人員簽署DigiCert,由根證書證明DigiCert,從而完成信任鏈。
加密和認證憑證由 IBM 中間憑證簽署,這些憑證由 IBM Digicert 中間憑證簽署。 IBM Digicert 中間憑證由 DigiCert Trusted Root G4 簽署。 有關憑證的詳細資訊,請參閱 DigiCert Trusted Root Authority Certificates。
使用下列程序來驗證認證記錄及雜湊:
- 從 VPC 實例的 Hyper Protect Virtual Servers 取得認證記錄
se-checksums.txt及簽章檔案se-signature.bin。 若要這樣做,您可以實作容器,以提供認證記錄及簽章檔案。 認證記錄及簽章檔案可供/var/hyperprotect目錄中的容器使用。 - 取得 IBM 認證憑證。 下表根據映像檔版本列出認證憑證的到期日。
自 2025 年 3 月 25 日起,憑證連結會有所變更。
| 映像檔版本 | 證書連結 | 到期日 |
|---|---|---|
ibm-hyper-protect-container-runtime-1-0-s390x-29 |
憑證 | 2027年7月6日 |
ibm-hyper-protect-container-runtime-1-0-s390x-28 |
憑證 | 2027年6月15日 |
ibm-hyper-protect-container-runtime-1-0-s390x-26 |
憑證 | 2027 年 2 月 24 日 |
ibm-hyper-protect-container-runtime-1-0-s390x-25 |
憑證 | 2026年11月26日 |
-
遵循 這裡 的指示來驗證認證憑證。
-
使用以下指令從認證憑證中提取認證公開密鑰:
openssl x509 -pubkey -noout -in ibm-hyper-protect-container-runtime-1-0-s390x-29-attestation.crt > contract-public-key.pub -
驗證認證記錄的簽章:
openssl sha256 -verify contract-public-key.pub -signature se-signature.bin se-checksums.txt簽章驗證必須在 解密的認證檔 上完成。
-
您現在可以使用認證記錄中的雜湊進行驗證。
如果您提供公開金鑰來加密認證記錄,下列 Script 可能有助於解密記錄。
#!/bin/bash
#
# Example script to decrypt attestation document.
#
# Usage:
# ./decrypt-attestation.sh <rsa-priv-key.pem> [file]
#
# Token Format:
# hyper-protect-basic.<ENC_AES_KEY_BASE64>.<ENC_MESSAGE_BASE64>
RSA_PRIV_KEY="$1"
if [ -z "$RSA_PRIV_KEY" ]; then
echo "Usage: $0 <rsa-priv-key.pem>"
exit 1
fi
INPUT_FILE="${2:-se-checksums.txt.enc}"
TMP_DIR="$(mktemp -d)"
#trap 'rm -r $TMP_DIR' EXIT
PASSWORD_ENC="${TMP_DIR}/password_enc"
MESSAGE_ENC="${TMP_DIR}/message_enc"
# extract encrypted AES key and encrypted message
cut -d. -f 2 "$INPUT_FILE"| base64 -d > "$PASSWORD_ENC"
cut -d. -f 3 "$INPUT_FILE"| base64 -d > "$MESSAGE_ENC"
# decrypt password
PASSWORD=$(openssl pkeyutl -decrypt -inkey "$RSA_PRIV_KEY" -in "$PASSWORD_ENC")
# decrypt message
echo -n "$PASSWORD" | openssl aes-256-cbc -d -pbkdf2 -in "$MESSAGE_ENC" -pass stdin --out se-checksums.txt
如果是 Docker 儲存器,則可以透過在 Docker 儲存器中裝載 /var/hyperprotect 來存取 decrypt-attestation.sh 檔案。 例如,
volumes:
- "/var/hyperprotect/:/var/hyperprotect/:ro"
如果是 Podman 儲存器,則可以透過在 Podman 儲存器中裝載 /var/hyperprotect 來存取 decrypt-attestation.sh 檔案。 例如,
volumeMounts:
- name: attestation
readOnly: true
mountPath: /var/hyperprotect:Z,U
認證文件
認證文件位於 Hyper Protect Virtual Servers for VPC 實例內的 /var/hyperprotect/se-checksums.txt。 其他相關檔案也位於相同的目錄中。
以下資訊可在 /var/hyperprotect/ 目錄中找到:
/var/hyperprotect
/var/hyperprotect/
|-- certificate_expiry_date.json
|-- cidata
| |-- meta-data
| |-- vendor-data
|-- se-checksums.txt
|-- se-signature.bin
|-- se-version
|-- user-data.decrypted
校驗和是訊息摘要的 SHA256,您可以使用下列 Linux 指令列公用程式計算:
sha256sum <file>
下列 Snippet 是認證文件的範例:
26.7.1
Machine Type/Plant/Serial: 8562/02/4C598
Image age: 10 days since creation.
Encryption Certificate valid until: Jul 06 06:44:41 2027 UTC
Attestation Certificate valid until: Jul 06 12:28:59 2027 UTC
5df88e43e3b0819f05c4a2d90253f26fe72308c7102f1cafe60cf2902f26cc06 certificate_expiry_date.json
44d9ccbb009ba581a391ec569f4cce97b365c5ca63c47574c3a3168ddb4115b3 root.tar.gz
87cba102a31c9131a5e04c4d555ef93ff4294aa28faedecb7b94bb726e6a9f4a baseimage
fe40ba8362e570e5caa533b7cbed3cb5f8fa67ed2e7022a678c1c06760821c8f sbom
65b99110547298d3f6fec2888664dcf74fdf53b52e27fa2f9e4e97c274055ac2 /dev/disk/by-label/cidata
f95185cc25937c43d0b912cfcae1934996785f5ecbeed07c1cca3cb8cefd4e0e cidata/meta-data
98a916c28414671a04623ee1a6902dda41777fbb0cd56ebb5ab3c5cb399bc163 cidata/user-data
3bee754bb0c58bb691242b0d1787bc5b1f71d22885d9444b581e4b51adecac0d cidata/vendor-data
6c338061a8a39a9d0d6ca6e8c0ee5b758741b01484abd7403e1481ae75ed1ca1 contract:workload
7f326b4f780652d77e7d2d22631b9da7ec000b97f5363030ed1d7fab4378bb6c contract:env
d879515efa1fb1b94bf00f3e03855539d169c54f4beb4dad3fff91b39467c461 contract:attestationPublicKey
Machine Type/Plant/Serial
Machine Type/Plant/Serial 是取得安全執行 VM 的主機金鑰文件所需的資訊。 它反映了安全執行 VM 目前在哪台機器上執行。
baseimage
baseimage 是 IBM 內部 QEMU Copy On Write 第 2 版 (QCOW2) 檔案,用作 Hyper Protect Container Runtime 映像檔大部分作業系統檔案的來源。 只有在映像檔建置時期,啟用程式程序才會使用它。 Enabler 使用此原始碼與其他 Debian 套件來建立 root.tar.gz 與加密的安全執行核心或「initrd」映像。
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-29 網站( baseimage )的摘要:
87cba102a31c9131a5e04c4d555ef93ff4294aa28faedecb7b94bb726e6a9f4a baseimage
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-28 網站( baseimage )的shasum:
334549f6dfcf8e0e2132c0eb9a5281e9e0b335e319fe2f66158be5b524acdc48 baseimage
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-26 baseimage 的 shasum:
f8614f9f6a39302b97b0a590e14b2e64affddb0f98ef459bf0f8c7f185c98bd5 baseimage
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-25 baseimage 的 shasum:
f73df7d02327896fbda67f6e7368c3e27fe5e15b580cdfdb60e7310afeed5b75 baseimage
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-24 baseimage 的 shasum:
14d2a725746bf9a6cbf9847e09422f5a97609d03f15b373519a16015619f227d baseimage
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-23 baseimage 的 shasum:
3e13f7658ef790dbc040e90ff4f8d537c9c10da879b0b16df9e98265c7b5170a baseimage
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-22 baseimage 的 shasum:
538170f79b7bd44553847e81afce7ae14c8ea8857df243e4f8656c9d06d42c18 baseimage
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-21 baseimage 的 shasum:
538170f79b7bd44553847e81afce7ae14c8ea8857df243e4f8656c9d06d42c18 baseimage
root.tar.gz
root.tar.gz 是由 IBM Hyper Protect Container Runtime 映像啟用的最終安全執行的一部分,包含所有作業系統檔案。 它儲存在映像的第一個磁碟分割 (開機磁碟分割) 中,格式為 /boot/root.tar.gz。
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-29 網站( root.tar.gz )的shasum。
44d9ccbb009ba581a391ec569f4cce97b365c5ca63c47574c3a3168ddb4115b3 root.tar.gz
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-28 網站( root.tar.gz )的shasum。
692f9724bb6c6fb855d6724c903e080998997b3a8aa2350fd5cb95b1c967ea92 root.tar.gz
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-26 root.tar.gz 的 shasum。
f700d860d931d953bffa6a7f2593ec53074a757c0184bcfbea0648de7f2b501b root.tar.gz
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-25 root.tar.gz 的 shasum。
3c5866a25d0e64c47e56ba29238b96435c6a81933d4e19bf3bc0704c0504d16b root.tar.gz
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-24 root.tar.gz 的 shasum。
a93839d82b98323665740a12ca2b30107bd8488e02eb411a6db6c17703b9b5cf root.tar.gz
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-23 root.tar.gz 的 shasum。
84ae048bc5d88e99f6ec13b4c4ba3e2ffe5f10285f7dd71a65ea99eaa1838ce0 root.tar.gz
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-22 root.tar.gz 的 shasum。
ff09f53f19d0f82ca24d4f2d5277c851516734c3d55ae7f8db47cde378a51ec9 root.tar.gz
以下是 ibm-hyper-protect-container-runtime-1-0-s390x-21 root.tar.gz 的 shasum。
024ff109be23e1e4e7b9f07dc553afc60a5a93645939eedf2a936930cc8a44ae root.tar.gz
/dev/disk/by-label/cidata
/dev/disk/by-label/cidata 是連接至執行中實例的區塊裝置,其中包含 IBM Cloud® Virtual Private Cloud (VPC) 所提供的 cloud-init 檔案。 如需 Cloud-Init 的相關資訊,請參閱 使用者資料 或 cloud-init 文件。
cidata
f95185cc25937c43d0b912cfcae1934996785f5ecbeed07c1cca3cb8cefd4e0e cidata/meta-data
98a916c28414671a04623ee1a6902dda41777fbb0cd56ebb5ab3c5cb399bc163 cidata/user-data
3bee754bb0c58bb691242b0d1787bc5b1f71d22885d9444b581e4b51adecac0d cidata/vendor-data
attestationPublicKey
attestationPublicKey 是您提供的公開金鑰,用於加密認證文件。 attestationPublicKey 是使用者資料檔案的一部分。 可選擇為證明文件加密。
d879515efa1fb1b94bf00f3e03855539d169c54f4beb4dad3fff91b39467c461 contract:attestationPublicKey
計算 certificate_expiry_date.json
若要計算 sha256sum 值,certificate_expiry_date.json:
- 從目錄中取出
certificate_expiry_date.json檔案:/var/hyperprotect - 執行下列指令:
sha256sum certificate_expiry_date.json - 以
se-checksum.txt檔案驗證輸出內容
解密認證文件
若使用者資料包含公開的RSA金鑰(屬性:attestationPublicKey ),則驗證文件( se-checksums.txt )將使用指定金鑰進行加密。 加密是透過與合約加密相同的處理程序來完成。 如需相關資訊,請參閱 合約加密。 公開 RSA 金鑰本身也可以像合約一樣加密。
然後,加密的認證文件會命名為 se-checksums.txt.enc。
如果是 Docker 儲存器,則可以透過在 Docker 儲存器中裝載 /var/hyperprotect 來存取 decrypt-attestation.sh 檔案。 例如,
volumes:
- "/var/hyperprotect/:/var/hyperprotect/:ro"
如果是 Podman 儲存器,則可以透過在 Podman 儲存器中裝載 /var/hyperprotect 來存取 decrypt-attestation.sh 檔案。 例如,
volumeMounts:
- name: attestation
readOnly: true
mountPath: /var/hyperprotect:Z,U
瞭解認證流程
下圖從審核員的觀點顯示兩個證明實務範例,以驗證部署是否為預期的部署。 圖表左側顯示植根於協力廠商憑證管理中心的審核員建立信任。 使用的任何金鑰都保留在 Hyper Protect Crypto Service 中,並根據協力廠商權限在憑證鏈中簽署。 Hyper Protect 所使用的「建置」環境是使用 IBM Secure Execution Technology 在授信執行環境中執行。
結果是在圖表尾端看到的安全執行映像檔,這是已加密的安全執行映像檔。 在圖表右側,會概述部署的驗證。 為此,審核員會在 IBM Hyper Protect 實例的加密工作量合約中包括密鑰的公開金鑰,只有審核員才能控制該密鑰。 這類密鑰可能受到適當方法的保護,例如 Hyper Protect Crypto Service、HSM 或只是隨機金鑰。 只有在透過 IBM Secure Execution 為 Linux 提供的可信執行環境中執行的 Hyper Protect 開機載入程式 IBM LinuxONE,才能執行 IBM Cloud Hyper Protect Virtual Servers 的安全執行映像 IBM Cloud® Virtual Private Cloud。 開機載入器包含用於解密合約的密鑰。
在開機期間,會採取數個元件雜湊及程式碼測量,並將其新增至認證記錄。 為了進一步保護此認證記錄,會使用審核員提供的公開金鑰來加密記錄。 這樣做時,只有審核員才能解密認證記錄,並且可以驗證部署在區域中的工作量是預期部署至 VPC 實例之 Hyper Protect Virtual Servers 工作量的預期及未竄改版本。