英特爾的工程師提出了一種新的 HTTPA 協定(HTTPS Attestable),擴展了 HTTPS,為所執行的計算的安全性提供了額外的保證。 HTTPA 可以保證伺服器上處理使用者請求的完整性,並確保 Web 服務是可信任的,且伺服器上 TEE 環境(可信任執行環境)中執行的程式碼沒有因駭客攻擊或攻擊而被更改。管理員的破壞。
HTTPS 可在網路傳輸過程中保護傳輸的數據,但無法防止其完整性因伺服器攻擊而受到破壞。 使用 Intel SGX(軟體防護擴充)、ARM TrustZone 和 AMD PSP(平台安全處理器)等技術創建的隔離飛地可以保護敏感運算並降低終端節點上敏感資訊外洩或修改的風險。
為了確保傳輸資訊的可靠性,HTTPA 可讓您使用 Intel SGX 中提供的證明工具,可確認執行計算的 enclave 的真實性。 從本質上講,HTTPA 擴展了 HTTPS,能夠遠端證明 enclave,並允許您驗證它是否在真正的 Intel SGX 環境中運行以及 Web 服務是否可信任。 該協議最初被開發為通用協議,除了 Intel SGX 之外,還可以用於其他 TEE 系統。
除了為 HTTPS 建立安全連線的正常程序之外,HTTPA 還需要協商可信任的會話金鑰。 該協定引入了一種新的 HTTP 方法“ATTEST”,它允許您處理三種類型的請求和回應:
- “preflight”檢查遠端是否支援 enclave 證明;
- 「attest」用於就證明參數達成一致(選擇加密演算法、交換會話特有的隨機序列、產生會話標識符並將 enclave 的公鑰傳輸給客戶端);
- 「可信任會話」- 產生用於可信任資訊交換的會話金鑰。 會話金鑰是基於客戶端使用從伺服器接收的 TEE 公鑰產生的先前商定的會話前秘密以及各方產生的隨機序列而形成的。
HTTPA 意味著客戶端是值得信賴的,而伺服器則不然,即客戶端可以使用該協定來驗證TEE環境中的計算。 同時,HTTPA 並不保證 Web 伺服器運作過程中執行的、未在 TEE 中執行的其他計算不會受到損害,這需要使用單獨的方法來開發 Web 服務。 因此,HTTPA 主要針對對資訊完整性要求較高的專業服務,例如金融和醫療系統。
對於必須為伺服器和用戶端確認 TEE 中的計算的情況,提供了 mHTTPA (Mutual HTTPA) 協定的變體,該協定執行雙向驗證。 由於需要為伺服器和用戶端雙向產生會話金鑰,因此此選項更加複雜。
來源: opennet.ru