陳思錦 吳韶波 高雪瑩
摘 要:云計(jì)算是將CPU、存儲(chǔ)、I/O設(shè)備、網(wǎng)絡(luò)、內(nèi)存等資源通過(guò)虛擬化技術(shù)抽象成為一個(gè)動(dòng)態(tài)的資源池,為用戶提供按需分配的服務(wù)的計(jì)算模式。虛擬化技術(shù)是云計(jì)算的核心技術(shù)之一,虛擬化安全是云計(jì)算安全的核心問(wèn)題。對(duì)云計(jì)算中的虛擬化技術(shù)和虛擬化安全問(wèn)題進(jìn)行研究,提出將同態(tài)加密算法應(yīng)用于云計(jì)算的虛擬化安全問(wèn)題,以實(shí)現(xiàn)保障用戶的數(shù)據(jù)安全性的同時(shí)提高加密解密的算法效率。
關(guān)鍵詞:云計(jì)算;虛擬化;虛擬化安全;同態(tài)加密算法
中圖分類號(hào):TP316 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2015)03-00-02
0 引 言
近年來(lái),云計(jì)算的應(yīng)用范圍越來(lái)越廣泛,并正在逐漸取代傳統(tǒng)的計(jì)算模式,成為各大互聯(lián)網(wǎng)公司爭(zhēng)相發(fā)展的核心技術(shù)。虛擬化技術(shù)是云計(jì)算的核心技術(shù)之一,云計(jì)算服務(wù)提供商通過(guò)虛擬化軟件將硬件資源虛擬化為巨大的動(dòng)態(tài)的資源池,動(dòng)態(tài)的、按需分配的為用戶提供計(jì)算資源。虛擬化技術(shù)是云計(jì)算較傳統(tǒng)計(jì)算模式最顯著的特點(diǎn),同時(shí),虛擬化技術(shù)帶來(lái)的安全問(wèn)題也是傳統(tǒng)計(jì)算模式所不具有的,是云計(jì)算安全特有的核心問(wèn)題[1]。目前對(duì)于虛擬化安全的研究,主要集中在虛擬機(jī)隔離,虛擬機(jī)滲透,和虛擬機(jī)遷移等方面??梢圆捎玫陌踩胧┯性L問(wèn)控制,構(gòu)造可信鏈和對(duì)用戶數(shù)據(jù)和傳輸?shù)男帕钸M(jìn)行加密等。目前,云服務(wù)提供商使用傳統(tǒng)的數(shù)據(jù)加密算法對(duì)用戶存儲(chǔ)在云中的數(shù)據(jù)進(jìn)行加密。由于傳統(tǒng)的數(shù)據(jù)加密算法不能對(duì)密文直接進(jìn)行操作,必須先將密文解密,再對(duì)明文進(jìn)行操作,之后對(duì)結(jié)果進(jìn)行加密,因此產(chǎn)生了潛在的明文數(shù)據(jù)泄露風(fēng)險(xiǎn)[2]。本文提出使用同態(tài)加密算法對(duì)用戶數(shù)據(jù)進(jìn)行加密操作。同態(tài)加密算法是近年來(lái)密碼學(xué)中研究的熱點(diǎn)之一,同態(tài)加密算法可以實(shí)現(xiàn)在不對(duì)密文進(jìn)行解密的前提下,直接對(duì)密文進(jìn)行相關(guān)操作,操作結(jié)果與對(duì)明文進(jìn)行解密再進(jìn)行相同操作并對(duì)結(jié)果進(jìn)行加密的最終輸出一致。同態(tài)加密算法保證了用戶數(shù)據(jù)安全性的同時(shí),由于省去了解密和加密的操作,提高了云存儲(chǔ)中的大數(shù)據(jù)的處理效率[3]。
1 虛擬化技術(shù)
云計(jì)算使用虛擬化技術(shù)在服務(wù)器的硬件資源與用戶之間加設(shè)虛擬化層,虛擬化層負(fù)責(zé)與用戶進(jìn)行交互,并調(diào)用底層所有的硬件設(shè)備及計(jì)算資源。云計(jì)算的虛擬化模型如圖1所示。
圖1 云計(jì)算虛擬化模型
用戶通過(guò)租賃云平臺(tái)中的虛擬機(jī)來(lái)獲得云服務(wù)提供商的服務(wù),而虛擬化層負(fù)責(zé)用戶虛擬機(jī)的創(chuàng)建,銷毀,遷移等操作。目前主流的虛擬化架構(gòu)包括裸金屬架構(gòu)和寄居架構(gòu)[4]。裸金屬架構(gòu)如圖2所示。
圖2 裸金屬架構(gòu)
在裸金屬架構(gòu)下,不需要為服務(wù)器預(yù)裝操作系統(tǒng),虛擬化軟件直接部署在服務(wù)器的硬件資源上,虛擬機(jī)管理器VMM(Virtual Machine Monitor)負(fù)責(zé)從實(shí)際的物理資源到虛擬資源的映射操作,VMM負(fù)責(zé)為用戶分配虛擬機(jī)。當(dāng)用戶請(qǐng)求訪問(wèn)物理資源時(shí),VMM將對(duì)這些請(qǐng)求進(jìn)行處理,并對(duì)相應(yīng)的信令進(jìn)行模擬,之后操作底層的硬件設(shè)備,并將結(jié)果返回給用戶。目前,裸金屬虛擬化架構(gòu)的實(shí)現(xiàn)方式包括硬件輔助的完全虛擬化和軟件輔助的完全虛擬化以及半虛擬化架構(gòu)。硬件輔助的完全虛擬化架構(gòu)必須對(duì)服務(wù)器的CPU進(jìn)行修改,使新的處理器可以理解虛擬化信令,并對(duì)信令進(jìn)行處理,最后將處理結(jié)果通過(guò)異常的方式返回給VMM。硬件輔助的完全虛擬化架構(gòu)的典型代表是Intel Virtualization Technology (VT-x),Microsoft的Hyper-V技術(shù)和AMD 的 AMD-V技術(shù)。軟件輔助的完全虛擬化架構(gòu)不需要對(duì)服務(wù)器的處理器進(jìn)行修改,但是VMM必須對(duì)所有指令進(jìn)行處理,將指令進(jìn)行動(dòng)態(tài)翻譯,從而實(shí)現(xiàn)對(duì)硬件資源的操作,這種虛擬化架構(gòu)的執(zhí)行效率低下,指令轉(zhuǎn)換引擎的工作效率對(duì)性能的影響很大。軟件輔助的完全虛擬化的典型代表是VMware ESX Server,VMware Station和Microsoft的Virtual Server等。完全虛擬化架構(gòu)不需要對(duì)用戶操作系統(tǒng)做任何更改,所有指令轉(zhuǎn)換都由VMM或更改后的處理器完成,性能較差。與其相對(duì)應(yīng)的虛擬化架構(gòu)是半虛擬化架構(gòu),半虛擬化架構(gòu)通過(guò)修改用戶操作系統(tǒng)的內(nèi)核,將不能夠進(jìn)行虛擬化的信令進(jìn)行更改以實(shí)現(xiàn)客戶操作系統(tǒng)與虛擬化平臺(tái)的兼容性,半虛擬化架構(gòu)的性能優(yōu)越,是目前各互聯(lián)網(wǎng)公司主要發(fā)展的虛擬化技術(shù)[5]。半虛擬化技術(shù)的典型代表是Xen。
2 虛擬化安全
用戶通過(guò)租賃虛擬機(jī)來(lái)獲得云服務(wù)提供的計(jì)算資源,虛擬化層直接與用戶進(jìn)行交互,并對(duì)底層的硬件資源進(jìn)行調(diào)用。因此,虛擬化安全是云計(jì)算安全的核心問(wèn)題。目前,虛擬環(huán)境中主要存在以下幾種攻擊方式。
(1)對(duì)管理虛擬機(jī)的攻擊,由于管理虛擬機(jī)負(fù)責(zé)所有用戶虛擬機(jī)的創(chuàng)建,刪除,移植等操作,并且對(duì)于用戶虛擬機(jī)具有最高的管理權(quán)限,因此一旦管理虛擬機(jī)被攻破,則所有的用戶數(shù)據(jù)都將完全暴露給攻擊者。對(duì)于管理虛擬機(jī)的攻擊被公認(rèn)為虛擬環(huán)境中最嚴(yán)重的攻擊,也是攻擊者首選的攻擊方式。
(2)虛擬機(jī)之間的攻擊,攻擊者可能會(huì)通過(guò)一臺(tái)虛擬機(jī)來(lái)獲取另一臺(tái)虛擬機(jī)的訪問(wèn)權(quán)限,從而監(jiān)控另一臺(tái)虛擬機(jī)的網(wǎng)絡(luò)流量等參數(shù),或者對(duì)其配置文件進(jìn)行修改,訪問(wèn)其敏感數(shù)據(jù),使其強(qiáng)制離線等。
(3)Dos攻擊,由于所有用戶的虛擬資源都來(lái)自于服務(wù)器的硬件資源,因此Dos(Denial Of Service)攻擊可以被加入到虛擬環(huán)境中,從而造成可以使用的資源緊缺,造成虛擬環(huán)境無(wú)法響應(yīng)用戶的正常資源請(qǐng)求[6]。
(4)虛擬機(jī)移植攻擊,由于用戶的虛擬機(jī)是被動(dòng)態(tài)創(chuàng)建出來(lái)為用戶提供特定服務(wù)的,當(dāng)服務(wù)結(jié)束或用戶申請(qǐng)離線后,該虛擬機(jī)將被銷毀,其對(duì)應(yīng)的真實(shí)物理資源將被分配給之后請(qǐng)求資源的用戶。由于先前的用戶的操作會(huì)在此物理資源上留下痕跡,攻擊者有可能通過(guò)獲取此痕跡來(lái)獲取用戶操作特性或用戶數(shù)據(jù)占用空間大小等參數(shù),從而進(jìn)一步分析獲取用戶敏感數(shù)據(jù)[7]。
目前對(duì)于云計(jì)算的虛擬化安全的防護(hù)措施主要從以下幾個(gè)方面來(lái)實(shí)施:
(1)訪問(wèn)控制:通過(guò)制定嚴(yán)格的訪問(wèn)控制策略,以保證用戶不能訪問(wèn)超出自己權(quán)限的文件,從而實(shí)現(xiàn)對(duì)敏感數(shù)據(jù)的保護(hù)[8]。
(2)構(gòu)造可信鏈:通過(guò)在云服務(wù)器中添加硬件可信模塊的手段,構(gòu)造可信鏈,從而保證虛擬服務(wù)器認(rèn)證的安全性[9]。
(3)數(shù)據(jù)加密:尋求更加高效安全的數(shù)據(jù)加密算法,對(duì)用戶存儲(chǔ)于云端的數(shù)據(jù)進(jìn)行加密,保證只有秘鑰的持有者才可以訪問(wèn)加密數(shù)據(jù)。從而保障用戶數(shù)據(jù)的隱私性與安全性。
3 同態(tài)加密算法
由于云平臺(tái)中存儲(chǔ)著海量的用戶數(shù)據(jù),并且對(duì)數(shù)據(jù)的操作及其頻繁,傳統(tǒng)的加密算法需要對(duì)數(shù)據(jù)進(jìn)行解密之后才能進(jìn)行相應(yīng)操作,產(chǎn)生了安全風(fēng)險(xiǎn)的同時(shí),降低了云計(jì)算的操作效率。同態(tài)加密算法可以實(shí)現(xiàn)對(duì)密文直接進(jìn)行操作,操作結(jié)果與對(duì)密文先解密再進(jìn)行操作最后將結(jié)果進(jìn)行加密的最終輸出一致。因此,同態(tài)加密算法非常適合作為對(duì)云存儲(chǔ)中的用戶數(shù)據(jù)的加密算法,既保證了用戶數(shù)據(jù)始終處于加密狀態(tài),增強(qiáng)了數(shù)據(jù)安全性,同時(shí)由于省去了加密解密的操作,提高了算法的執(zhí)行效率。
同態(tài)加密算法最初是由Rivest等人在文章“On data banks and privacy homomorphic”中提出的。最初對(duì)同態(tài)加密算法的研究,只停留在僅僅可以滿足對(duì)特定的運(yùn)算滿足同態(tài)性,直到2009年,Gentry提出了第一個(gè)全同態(tài)加密算法。全同態(tài)加密算法可以實(shí)現(xiàn)對(duì)密文進(jìn)行任意有效操作,而操作結(jié)果與對(duì)密文先進(jìn)行解密再進(jìn)行相同操作,最后對(duì)結(jié)果進(jìn)行加密的輸出一致,目前對(duì)于全同態(tài)加密算法的研究主要集中在整數(shù)范圍內(nèi)全同態(tài)加密算法的實(shí)現(xiàn),現(xiàn)今比較主流的同態(tài)加密算法包括,Rivest算法,Domingo算法,DGHV算法和CAFED算法[10]。由于同態(tài)加密算法的高效性與安全性,使得其很適合于作為云存儲(chǔ)中的數(shù)據(jù)加密算法。將用戶數(shù)據(jù)通過(guò)全同態(tài)加密算法進(jìn)行加密后存儲(chǔ)于云端,用戶掌握唯一秘鑰。云服務(wù)提供方可以對(duì)用戶數(shù)據(jù)進(jìn)行如備份,檢索等必要的操作,但不能對(duì)數(shù)據(jù)進(jìn)行解密,既保障了用戶數(shù)據(jù)的安全性和隱私性,也提高了云端對(duì)數(shù)據(jù)的處理效率。
4 結(jié) 語(yǔ)
本文主要介紹了目前云計(jì)算的虛擬化的關(guān)鍵技術(shù)和虛擬化安全的關(guān)鍵因素,并提出將全同態(tài)加密算法應(yīng)用于云存儲(chǔ)中對(duì)大數(shù)據(jù)的加密操作,以實(shí)現(xiàn)用戶數(shù)據(jù)的安全性和隱私性,同時(shí)實(shí)現(xiàn)云服務(wù)提供商對(duì)用戶數(shù)據(jù)更加高效安全的進(jìn)行處理。尋求更加簡(jiǎn)單高效的整數(shù)范圍內(nèi)的全同態(tài)加密算法是未來(lái)云計(jì)算安全中對(duì)于加密算法研究改進(jìn)的主要趨勢(shì)。
參考文獻(xiàn)
[1]馮登國(guó), 張敏, 張妍, 等. 云計(jì)算安全研究[J]. 軟件學(xué)報(bào), 2011, 22(1):71-83.
[2] Luo X, Yang L, Ma L, et al. Virtualization security risks and solutions of Cloud Computing via divide-conquer strategy[C]//Multimedia Information Networking and Security (MINES), 2011 Third International Conference on. IEEE, 2011: 637-641.
[3] 夏超. 同態(tài)加密技術(shù)及其應(yīng)用研究[D]. 合肥:安徽大學(xué), 2013.
[4] 李雙權(quán), 王燕偉. 云計(jì)算中服務(wù)器虛擬化技術(shù)探討[J]. 郵電設(shè)計(jì)技術(shù), 2011 (10): 27-33.
[5] 邵長(zhǎng)庚. Xen 云環(huán)境虛擬機(jī)安全隔離技術(shù)研究與實(shí)現(xiàn)[D]. 成都:電子科技大學(xué), 2013.
[6] 房晶, 吳昊, 白松林. 云計(jì)算的虛擬化安全問(wèn)題[J]. 電信科學(xué), 2012, 28(4): 135-140.
[7] Sabahi F. Virtualization-level security in cloud computing[C]//Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on. IEEE, 2011: 250-254.
[8] 張勇, 仇李寅, 盧致旭. 虛擬機(jī)與宿主機(jī)之間的文件訪問(wèn)控制[J]. 信息安全與通信保密, 2010 (1): 109-112.
[9]禹聰. 一種基于特權(quán)分離和時(shí)間鎖的虛擬機(jī)隔離機(jī)制研究[D].鄭州:信息工程大學(xué),2013.
[10] 湯殿華, 祝世雄, 曹云飛. 整數(shù)上全同態(tài)加密方案的重加密技術(shù)[J]. 信息安全與通信保密, 2012 (1): 76-79.