Azure 機密總帳節點會在受信任執行環境 (TEE) 之上執行,例如 Intel SGX,這可保證處理期間的資料機密性。 平台及其內執行的二進位檔可透過遠端證明流程來保證其可信度。 Azure 機密總帳需要節點,以在加入網路之前呈現報價。 報價報告資料包含節點身分識別公開金鑰和 MRENCLAVE 值的密碼編譯雜湊。 如果發現報價有效,而且 MRENCLAVE 值是可稽核治理中的其中一個允許值,則允許節點加入網路。
必要條件
- Ubuntu 20.04-LTS 64-bit
- 安裝 CCF 或 CCF Python 套件
- 安裝 Open Enclave Host-verify SDK
- 安裝 jq
驗證節點報價
下載服務識別
它用來驗證用戶端所連線節點的身分識別,並與它建立安全的通道。 下列命令會下載服務身分識別、將其格式化並儲存至 service_cert.pem。
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/<ledgername> --silent | jq '.ledgerTlsCertificate' | xargs echo -e > service_cert.pem
驗證報價
您可以從 https://<ledgername>.confidential-ledger.azure.com 下載節點報價,並使用 Open Enclave SDK 或 verify_quote.sh 指令碼隨附的 oeverify 工具進行驗證。 它會隨著 CCF 安裝或 CCF Python 套件一起安裝。 如需指令碼和支援參數的完整詳細資料,請參閱 verify_quote.sh。
/opt/ccf_virtual/bin/verify_quote.sh https://<ledgername>.confidential-ledger.azure.com:443 --cacert service_cert.pem
指令碼會檢查節點身分識別公開金鑰 (DER 編碼) 的密碼編譯雜湊是否符合 SGX 報告資料,且報價中呈現的 MRENCLAVE 值是否受信任。 您可以從 https://<ledgername>.confidential-ledger.azure.com/node/code 端點下載網路中受信任的 MRENCLAVE 值清單。 您可提供選擇性 mrenclave 參數來檢查節點是否執行信任的程式碼。 如果提供,報價中的 mreclave 值必須與其完全符合。