英特爾研究人員倡議新的HTTPA網頁安全協定標準 確保伺服器端系統沒有被入侵
兩名英特爾員工指出,要確保Web服務安全,不僅要在遠端伺服器上的可信任執行環境(Trusted Execution Environment, TEE)執行運算,客戶端也要驗證的確如此。
英特爾軟體工程師Gordon King及科學家Hans Wang本月發表一篇論文,談到名為HTTPS Attestable (HTTPA)的HTTP協定,以遠端驗證提升線上安全性,向App保證資料是由可信任軟體在安全執行環境中處理。
理想狀態是應用程式可透過憑證和密碼來驗證伺服器TEE中跑的程式碼就是我們希望跑的程式碼,沒有被劫持的OS、Hypervisor、不肖管理員、駭客或惡意程式竄改過。TEE應該要能防止或偵測惡意刺探、變更程式或資料。
他們指出,軟體服務很容易被入侵者劫持,光是HTTPS不足以保證運算作業或通訊頻道的完整性, 但HTTPA或許可填補這塊不足。
研究人員認為利用HTTPA可以建立Web services的可信任度,確保使用者呼叫處理的完整性,他們相信遠端驗證可以成為提升Web服務安全的新主流,認為HTTPA協定可作為統合網頁驗證及存取服務的新標準。
英特爾可提供SGX實現TEE
HTTPA仰賴TEE,而英特爾剛好有這個東西:Software Guard Extension (SGX)。應用程式可SGX在記憶體內形成一個保護區,利用記憶體內加密或其他技術,使敏感資訊的運算在隔離其他軟體的安全環境下執行。在這個保護區內,可以檢查內容運作如實,基本上SGX提供論文中提及的遠端驗證系統需要的元素。
但King和Wang指出,雖然他們提議的方案是以Intel SGX提供Web互動安全,但這協定也可相容其他廠商的TEE,像是Arm的TrustZone。
TEE過去雖已用來保護Web服務,但只發展出特定應用,而他們提供的是標準化HTTPS上驗證的通用方案,可建立多道信任連線以保護和管理特定HTTP網域的呼叫資料。
HTTPA假設用戶端已被信任,但伺服器未獲信任。因此用戶端可用HTTPA取得保證,保證伺服器可處理TEE內的呼叫運算。但HTTPA無法延伸到TEE之外,保證整體伺服器的可信任度。
簡單而言,HTTPA具有TLS的安全效益,像是伺服器憑證的驗證、完整性保證、前向保密(forward secrecy)及防止連線重送攻擊(session replay),而且可擴大保護範圍到靜止資料及運算期間。
兩位作者相信HTTPA對於金融或醫療業等有資料保密需求的產業將很有幫助。對於需要雙向驗證的應用場景,作者又提出共同HTTPA,或mHTTPA,不過這更複雜一點,因為用戶端和伺服器都必須具有連線前憑證,以便可在TEE獲得連線金鑰。
這協定是否會對頻寬或延遲性要求較大的服務產生干擾,研究人員表示還需要進一步探討,不過他們相信不會受到其他HTTPS協定影響效能。
英特爾內部仍在討論將HTTPA規格送交標準委員會審議的可能性。
來源:The Register