科技議題

首頁> 科技議題 - 智慧科技> 一項保護雲端加密金鑰的研究調查
一項保護雲端加密金鑰的研究調查 Securing Cryptographic Keys in the Cloud: A Survey
2016/09/19
IEEE Cloud Computing
IEEE
IEEE Cloud Computing
http://ieeexplore.ieee.org/document/7571091/
根據歐盟與美國的資料保護法,組織要為機敏信息全盤負責,如客戶與員工的個人資料。即使第三方(例如雲服務商)代表其處理資料,他們也必須保證資訊安全。因此,資料安全已成為雲服務所要考慮的重要因素。資料所有者對於外包契約上所具體載明之雲服務商的安全程序細節(包含基於雲的加密服務)之要求也越來越高。然而,許多用戶並不信任這樣的加密服務。世界各地的標準機構以及安全機構都意識到此一情況; 美國國家標準技術研究所(NIST)甚至發表了一項研究,討論雲端加密金鑰管理中的開放議題與挑戰。
當資料所有者提出解密要求時,他必須先釋出加密檔以及相對應之解密金鑰。解密過程中,金鑰需要被加載到解密服務的記憶體之中。如果此一階段服務已被洩漏,則系統的安全性將遭受破壞。不幸的是,仍有許多對實體或虛擬RAM的已知攻擊,並且保護加密金鑰的議題仍被認為是尚未解決。
本文分析過去十年(大致從2005年起)開發的技術,以將關鍵信息(如加密金鑰)安全儲存在雲端虛擬化堆疊的各層。我們透過過去聚有高影響力的研究出版來作為分析的開端。我們主要研究雲端特殊文獻,但我們還包括一些未明確寫入雲端計算主題的出版物,像是具有應用於基於雲的外包技術。整體上,我們訂定了五種類別的技術,將在下面進行討論:
結構修改技術。這類技術旨在利用防篡改硬體/軟體組件保護用戶的加密金鑰免於未經授權的檢查及誤用。此類別大多依賴於關於雲服務商以及VM管理員的關鍵假設:像亞馬遜和微軟這樣的公共雲服務商相當重視商譽,因此他們可以被認為是可信賴的,而VM域管理員卻可能是惡意的。當然,這個假設必須持保留態度,因為域管理員角色通常屬於雲服務商組織結構。
技術上,域管理員使用Dom0來管理用戶虛擬機。Dom0能監控用戶虛擬機,並可以啟動/停止它們、變更其配置以及對虛擬設備驅動程序執行I/O。結構修改技術會試著限制或隔離能夠通過Dom0執行的任務。在此,我們專注於修改雲架構的現有方法,以防止雲服務商存取運行中虛擬機的加密金鑰,因此我們不會評論涉及雲架構完整重建的方式,例如刪除虛擬層或構建一個全新微核心。我們將目的相關的研究分為三類:巢狀虛擬化、域解構以及安全執行環境。
巢狀虛擬化設置多個虛擬化級別,並且每個由不同的管理程序所管理,以減少可信計算基(TCB)的大小。該效果使得外部審計員更便於檢查實體的可信賴性,進而促進認證過程。使用巢狀虛擬化來個別管理與用戶安全任務的最早研究之一是在傳統管理程序下添加名為CloudVisor的安全監視器。CloudVisor監控VM管理器(VMM)與管理程序之間的調用、加密以及解密。如此一來,CloudVisor能夠保護CPU狀態、磁碟I/O數據以及與我們用途相關的用戶內存頁(包括持有用戶密鑰的內存頁)的保密性及完整性。在Fengzhe Zhang等人設計的威脅模型中,考慮從虛擬機管理程序存取客戶虛擬機以及其他從VMM到客戶虛擬機的攻擊。
域解構的目的也是在減少TCB的大小,但由管理域代碼(Dom0)限制執行任務來實現。在介紹這個概念的文章中,Derek Murray等人注意到,Xen TCB的龐大是由於Dom0中存在巨大的域建構碼。因此,他們將域構建功能從Dom0移動到另一個名為DomB的域。通過減少TCB組件,用戶能夠更快速檢查較小組件的整合性,也因而更能信任這樣的組件。它還有助於審計員作業,以確保較小組件的可信賴性。同時應用這類技術也能保護客戶的加密金鑰與雲端加密操作。
另一種域解構方法是自助雲計算(SSC)。其主要目標是為雲用戶提供對其VM的安全與隱私控制。SSC在整個管理域(SDom0)與每個用戶的管理域(UDom0)之間分割Dom0的特權功能。再來,UDom0與SDom0依賴於由服務域以及互信域(MTD)提供功能的子集。UDom0包含每個用戶創建其VM並使用不同服務域提供的服務功能,例如內存內省、入侵檢測以及儲存加密。SDom0則可以啟動/停止VM並包含虛擬設備驅動程序,但它不能檢查用戶端VM的內存。
安全執行環境,該子類別中的研究將用戶操作系統或虛擬機管理程序視為潛在惡意,並旨在不受信任的VM環境中安全運行臨界區代碼組塊(包括加密函數)。子類別中的開創性研究依賴於一個名為TrustVisor的特殊管理程序,它提供了一個共享的隔離環境,即運行應用程序代碼的關鍵部分。在他們的威脅模型中,研究作者考慮了一個本地對手,它可以在用戶VM以及存取DMA上執行任意代碼,另外,也考慮一個網路對手,即能夠篡改虛擬化堆疊中不同實體間的網路流量。TrustVisor以三種模式運行:
•主機模式下,TrustVisor在最高權限級別執行自我維護。
•傳統訪客模式下,TrustVisor託管運行標準代碼之guestVM。
•安全訪客模式下,TrustVisor託管guestVM運行關鍵代碼塊,而此代碼塊稱為應用程序邏輯(PAL)。
TrustVisor將PAL配置為同一VM上其他應用程序無法存取的特殊內存塊運行。TrustVisor的一個關鍵特徵是它在兩個級別使用硬體TPM。首先,它利用完整的TPM來使用戶信任其自身的完整性。第二,它使用微TPM檢查每個PAL的完整性。這樣的完整性測定可以支援外部驗證器的遠端認證,以確保整個雲堆疊的可信賴性。
可信第三方(TTP)加密服務是用於在外部且更為可信的安全內文中執行用戶數據加解密的技術。在這些解決方案中,雲用戶依靠TTP在雲端所執行的特定加密操作。這裡的主要假設是雲服務商與TTP永遠不會串通。基於TTP的技術之主要構想是委託TTP為雲客戶端執行加密服務或在不可信雲環境中設計多方密鑰管理協議以實現目標。該技術最主要缺點是"沒有串通"這個強大預設,這會需要在實際設置中仔細審查。當然,串通機率原則上可以通過使用多個TTP來減少,但這要以額外的複雜性以及開銷作為代價。
安全多方計算(SMC),即不同分散方對其保密輸入數據評估公用函數,而不向其他方洩露這樣的數據,並且能保證該功能的結果是正確的。在SMC的詳細(雖然不完全)調查中,Vladimir Kolesnikov等人專注於實際有效的協定,以用於安全的雙邊計算。在不可信雲端加密以及解密數據可以被建模為半誠實環境中的安全雙邊計算,其中雙方分別代表的是雲用戶以及雲服務商。在半誠實環境中進行加密,其中的假設是雲服務商不會偏離加密演算法,而是嘗試存取計算中涉及的數據,包括加密金鑰。安全雙邊計算的概念最早於1982年提出。在安全雙邊計算中使用的兩種主要方法是亂碼電路以及完全同態加密(FHE)。
雲端代碼混淆為涉及不可信雲環境中使用模糊代碼或密鑰本身的模糊/加密表示法來執行密碼服務的技術。在模糊技術中,我們將分析聚焦在白盒加密(WBC)上,以保護不可信環境中運行的加密代碼。代碼混淆的主要目的是保護代碼不受反向工程以及篡改。然而,它也被惡意軟體以及病毒注入攻擊所利用。在雲端及其他開放環境中有許多方法來模糊程序代碼與數據,包括加密操作以及加密金鑰。儘管近來對混淆技術有所改進,但從理論結果來看卻顯示,通過單一混淆來達到可證明的安全性是不可能的。而加強混淆機制的一種方式是將它們與可信計算技術(諸如前面討論的那些技術)一起使用。
實體RAM加密技術。實體類別包括一些研究是關於找尋實體機器上冷開機攻擊的解決方案。我們將它們納入本文中,是因為它們在虛擬雲環境中具備的潛力。但就目前所知,仍沒有雲端版本。此類別中著名的解決方案是TRESOR,其目的是保護磁碟加密金鑰免受冷啟動以及DMA攻擊。
我們從研究中學到的第一個經驗是需要衡量基準來比較不同關鍵保護技術的代價。不幸的,目前這類基準測試僅提供一些基本安全控制。在我們的調查中所提及的密鑰保護技術之開銷,為不具有密鑰保護時所對應之加密時間百分比,而非均勻負載,故此應謹慎比較。另一個重要的經驗是需要考慮開銷的分佈與其絕對值。一個極端事例,結構化內存保護解決方案的開銷將影響所有雲用戶,無論他們是否使用控制來加密數據以及驗證身份。另一個例子,VM局部技術(如模糊處理或WBC)的開銷只會影響VM所配置的區域。我們認為,當本文中所審查的技術成為商業產品時,將需要協助用戶獲得新規範以降低風險。審查的部分還使我們確立了三個主要的研究挑戰:實現初始化密鑰通信與更新的保密性與真實性、加密服務期間確保可証明的安全性以及有效的密鑰保護、離線分析保護加密服務。未來的研究應該關注我們所描述的挑戰與目標,以增加雲用戶對基於雲的加密技術之信任,並使其實現商業化服務。
游家牧
英文