揭晓远程证明架构EAA:机密容器安全部署的最后一环 | 龙蜥技术
簡介:如果需要在云上 HW-TEE 環(huán)境里啟動一個加密容器,如何在啟動過程中獲取容器的解密密鑰?
文 / 周亮, 云原生機密計算 SIG 核心成員。
在云原生場景下,基于HW-TEE(如Intel SGX, Intel TDX 和 AMD SEV)的機密容器技術(shù)(如 Inclavare Containers 機密容器和 Kata CC 機密容器)可以為用戶在使用(計算)過程中的敏感數(shù)據(jù)提供了機密性和完整性的保護。
但是在云環(huán)境中,依舊存在如下的問題:
- 怎么證明用戶的機密容器確實運行在云上真實 HW-TEE 環(huán)境中?
- 怎么證明運行在云上 HW-TEE 環(huán)境中的程序或者容器內(nèi)容是符合預期的或者沒有被篡改?
- 更進一步,如果需要在云上 HW-TEE 環(huán)境里啟動一個加密容器,如何在啟動過程中獲取容器的解密密鑰?
Inclavare Containers 現(xiàn)已是龍蜥社區(qū)云原生機密計算 SIG 的項目之一。而 Inclavare Containers 的組件 Enclave Attestation Architecture (EAA) 正是為解決這些復雜的問題而生的。其設計目標是在解決上述問題的基礎上,提供一個支持不同類型機密容器和 HW-TEE 環(huán)境的通用遠程證明架構(gòu)。
EAA設計
RATS 參考架構(gòu)
機密計算聯(lián)盟定義了 RATS?參考架構(gòu),并建議所有遠程證明服務都應該遵循 RATS 的參考架構(gòu),RATS 架構(gòu)如下:
EAA 架構(gòu)
因此 EAA 的架構(gòu)設計遵循了 RATS 參考架構(gòu),EAA 架構(gòu)如下:
其主要組件和功能:
- Attestation Agent(Attester):運行在 HW-TEE 中的組件。作用是獲取 HW-TEE 中運行程序的度量值信息,該度量值信息由 HW-TEE 進行簽名。
- Chip Manufacturer Specific Attestation Service(Endorser):運行在公有網(wǎng)絡中,由芯片廠商提供的服務。作用是驗證度量值信息的簽名,以確定度量值信息確實是由真實 HW-TEE 生成的。
- Verdict & Reproducible Build Infrastructure(Reference Value Provider):運行在用戶可信環(huán)境中的服務。作用是生成 HW-TEE 中運行程序的度量值的參考值,以判定在 HW-TEE 環(huán)境中的運行程序是符合預期的或者程序是沒有被篡改過的。
- Verdictd(Relying Party + Relying Party Owner + Verifier Owner):運行在用戶可信側(cè)環(huán)境中的服務。職責是調(diào)用 Chip Manufacturer Specific Attestation Service 和 Verdict & Reproducible Build Infrastructure 檢查度量值信息的簽名和其內(nèi)容,以完成整個遠程證明流程。
- KMS:運行在用戶可信側(cè)環(huán)境或者公有網(wǎng)絡中的密鑰管理服務。作用是進行密鑰的管理。
EAA工作原理
1、當需要進行遠程證明時,運行在云上 HW-TEE 環(huán)境中的 Attestation Agent 獲取當前 HW-TEE 運行環(huán)境的度量值信息并發(fā)送給 Verdictd 服務進行相關(guān)驗證。
2、當 Verdictd 收到度量值信息后會把它發(fā)送給 Chip Manufacturer Specific Attestation Service 來檢查度量值信息的簽名,以驗證生成度量值信息的 HW-TEE 是一個真實的 HW-TEE。目的是防止黑客偽造一個 TEE 環(huán)境來騙取用戶的信任。
3、如果度量值信息的簽名驗證成功,Verdictd 會檢查度量值的具體信息。目的是確定云上HW-TEE環(huán)境中的運行程序是符合預期的或者程序是沒有被篡改過的。
4、如果上述檢查都成功,則遠程證明流程已經(jīng)成功完成,用戶可以確定云上 HW-TEE 環(huán)境是一個真實的 HW-TEE,并且運行在 HW-TEE 環(huán)境中的程序滿足:
- 是用戶自己部署的程序,并且該程序沒有被黑客篡改。
- 是第三方部署的程序,但這些程序是符合預期的,比如這些程序是經(jīng)過代碼審核并確定是沒有漏洞的。
5、遠程證明流程已經(jīng)成功,所以 Attestation Agent 和 Verdictd 之間可以建立一個安全并可信的通道。Attestation Agent 可以發(fā)送請求給 Verdictd 以獲取一些機密數(shù)據(jù),比如加密容器鏡像的解密密鑰。
貢獻
EAA 致力于通過和開源社區(qū)貢獻和合作以實現(xiàn)落地實踐能力,它作為首個支持 Intel TDX 遠程證明的 Key Broker Service(KBS),是 confidential-containers 首個支持 TDX HW-TEE 的 E2E demo 的 KBS 服務,并成功地完成了 confidential-containers V0 階段 E2E Demo 關(guān)鍵節(jié)點。
結(jié)束
EAA 填補了基于 HW-TEE 的機密容器在云原生場景下應用的最后一環(huán),為機密容器在云環(huán)境中的安全部署和啟動提供了必要的基礎。
目前 EAA 作為 Inclavare Containers(CNCF 項目)的子模塊,支持的 HW-TEE 環(huán)境包括 Intel SGX 和 Intel TDX,支持的機密容器包括 Inclavare Containers 和 Kata CC。未來,EAA 將持續(xù)演進,以支持新的不同的機密容器方案,并支持新的 HW-TEE 環(huán)境,讓 EAA 成為機密容器領域內(nèi)真正的通用遠程證明架構(gòu)。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的揭晓远程证明架构EAA:机密容器安全部署的最后一环 | 龙蜥技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推文科技:AI解决方案助力内容出海
- 下一篇: 智能巡检云监控指标的实践