摘要:云計(jì)算是以網(wǎng)絡(luò)服務(wù)的形式將計(jì)算機(jī)資源提供給用戶,而基于網(wǎng)絡(luò)的服務(wù)存在用戶數(shù)據(jù)在網(wǎng)絡(luò)上的隱私安全問(wèn)題。用戶數(shù)據(jù)的隱私問(wèn)題成為了云計(jì)算快速發(fā)展所面對(duì)的一個(gè)巨大挑戰(zhàn)。為了解決這一問(wèn)題,本文提出了兩個(gè)解決方案。第一是針對(duì)云端的數(shù)據(jù)安全和控制問(wèn)題,探討了Dissolver系統(tǒng),Dissolver可以確保用戶的隱私數(shù)據(jù)在云端的安全性;第二是針對(duì)對(duì)云服務(wù)器硬件的直接物理攻擊,引入了Diamond技術(shù),使得用戶數(shù)據(jù)的隱私性得以保證。
關(guān)鍵詞:云計(jì)算;隱私保護(hù);數(shù)據(jù)安全;保護(hù)方案
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 18-0000-02
1 基于云服務(wù)器端的數(shù)據(jù)保護(hù)與銷毀
1.1 云服務(wù)器端可信性分析
云服務(wù)器端包括用戶層,操作系統(tǒng)層,虛擬機(jī)監(jiān)控器層和硬件層四層。
首先,因?yàn)樵朴?jì)算的提供商整體上來(lái)說(shuō)是善意的,所以我們假定與計(jì)算的硬件是可信的,并假設(shè)服務(wù)器中安裝了可信平臺(tái)模塊(TPM)。
其次,我們假定虛擬機(jī)監(jiān)控器是可以信任的,因?yàn)樘摂M機(jī)監(jiān)控器相對(duì)來(lái)說(shuō)是容易的、靜態(tài)的。
第三,因?yàn)閃indows等操作系統(tǒng)本身非常繁雜,所以難免會(huì)有不少漏洞。而操作系統(tǒng)很重要,一旦被入侵,用戶的數(shù)據(jù)信息就不再安全。因此,本文需要保證操作系統(tǒng)在被入侵的情況下仍為用戶提供保護(hù)以保證用戶數(shù)據(jù)的安全。
第四,我們假定存在中間人攻擊的可能。因?yàn)樵谠贫伺c用戶的通信通道中,中間人攻擊會(huì)在通信信道上同時(shí)與服務(wù)器端、用戶端取得聯(lián)系,通過(guò)偽裝成用戶來(lái)與服務(wù)器端建立連接進(jìn)行交互,偽裝成服務(wù)器端來(lái)與用戶建立連接進(jìn)行交互,這樣就可以獲取服務(wù)器和用戶交互的數(shù)據(jù)。
通過(guò)以上對(duì)云服務(wù)器端各部分的分析,我們明確:在云服務(wù)器端,用戶數(shù)據(jù)在經(jīng)過(guò)一些不可信部分的時(shí)候,會(huì)遭受攻擊,我們需要建立一個(gè)安全機(jī)制來(lái)進(jìn)行保護(hù)。
1.2 Dissolver系統(tǒng)的設(shè)計(jì)
Dissolver系統(tǒng)包含一個(gè)受保護(hù)進(jìn)程,即只有處于受保護(hù)進(jìn)程的用戶,才執(zhí)行系統(tǒng)的新增模塊。
Dissolver系統(tǒng)還包含一個(gè)密鑰管理模塊,用戶在進(jìn)行上傳數(shù)據(jù)前要先用Dissolver進(jìn)行加密,被加密了的數(shù)據(jù)上傳至云存儲(chǔ)服務(wù)器后,云系統(tǒng)會(huì)對(duì)其進(jìn)行備份,防止容災(zāi)等情況,這樣被加密了的用戶數(shù)據(jù)即使被惡意的員工非法拷貝走也沒(méi)有威脅。
Dissolver中數(shù)據(jù)銷毀有兩種方式,一是用戶發(fā)出銷毀指定,二是數(shù)據(jù)到了用戶指定的時(shí)限,系統(tǒng)便會(huì)將公鑰、密鑰、可執(zhí)行文件進(jìn)行銷毀。因此系統(tǒng)還包括一個(gè)計(jì)時(shí)模塊。
Dissolver系統(tǒng)的總結(jié)構(gòu)(圖1):
(1)Dissolver接口。Dissolver接口負(fù)責(zé)解釋分析用戶的指示命令,并且可以和用戶進(jìn)行交流互動(dòng),也可以對(duì)偽裝成用戶指令的攻擊進(jìn)行預(yù)防和防護(hù)。接口支持新程序注冊(cè)、新用戶注冊(cè)、延長(zhǎng)數(shù)據(jù)生命時(shí)限、程序運(yùn)行、銷毀指定數(shù)據(jù)、銷毀全部數(shù)據(jù)六種用戶命令。
由于數(shù)據(jù)生命到達(dá)時(shí)限前用戶可以主動(dòng)銷毀數(shù)據(jù),因此存在重放攻擊和DOS攻擊,對(duì)于重放攻擊,除新用戶注冊(cè)命令外的5條命令都含有一個(gè)命令版本號(hào),用戶發(fā)出的命令包中命令字號(hào)存在先后順序,當(dāng)Dissolver收到命令后,會(huì)先對(duì)命令中的命令版本號(hào)和上一個(gè)收到的命令版本號(hào)進(jìn)行對(duì)比,如果比原來(lái)的小,它會(huì)拒絕對(duì)這一命令響應(yīng),這樣就可以防止重放攻擊。對(duì)于DOS攻擊,由于它位于用戶端與虛擬監(jiān)視器之間的通信線路上,Dissolver無(wú)法阻攔這種攻擊。但是前面我們說(shuō)過(guò)程序使用的是生命時(shí)限機(jī)制,假如DOS攻擊在通信線路上攔截了用戶數(shù)據(jù),用戶的后續(xù)命令包就不能發(fā)送到虛擬監(jiān)視器,到達(dá)程序的生命時(shí)限后,Dissolver會(huì)強(qiáng)行切斷用戶端與虛擬機(jī)之間的通信,銷毀數(shù)據(jù)文件和密鑰,以保證用戶數(shù)據(jù)不被泄露。
(2)密鑰模塊。用戶注冊(cè)新程序時(shí),程序的公鑰會(huì)被Dissolver系統(tǒng)存儲(chǔ)到密鑰管理模塊,程序運(yùn)行時(shí),密鑰管理模塊會(huì)將其尾部的對(duì)稱密鑰解密。對(duì)稱密鑰和程序公鑰都存儲(chǔ)在虛擬機(jī)監(jiān)控器的內(nèi)存上。如果沒(méi)有惡意篡改上層服務(wù)軟件,Dissolver會(huì)執(zhí)行刪除數(shù)據(jù)操作,即使上層軟件留下一些用戶數(shù)據(jù)的密文拷貝,但是這些數(shù)據(jù)的密鑰已經(jīng)被銷毀[3]因此不會(huì)給用戶造成隱私泄露。
(3)生命時(shí)限計(jì)時(shí)模塊。生命時(shí)限計(jì)時(shí)模塊是用來(lái)計(jì)算用戶數(shù)據(jù)的剩余生命時(shí)限的,當(dāng)一個(gè)處于受保護(hù)進(jìn)程下的用戶進(jìn)程運(yùn)行時(shí),計(jì)時(shí)模塊開(kāi)始記錄時(shí)間,到達(dá)時(shí)限后會(huì)終止與用戶的數(shù)據(jù)傳輸,刪除密鑰和數(shù)據(jù)。如果是未處于保護(hù)進(jìn)程下的普通程序運(yùn)行時(shí),不啟用生命時(shí)限計(jì)時(shí)模塊。
2 基于CPU的隱私數(shù)據(jù)保護(hù)
云計(jì)算中,對(duì)硬件進(jìn)行攻擊是一個(gè)很大的威脅,因?yàn)檫@種攻擊可以直接訪問(wèn)內(nèi)存中的用戶數(shù)據(jù),所有邏輯上的軟件保護(hù)都無(wú)法阻止。
基于此,我們需要對(duì)硬件增強(qiáng)安全性,以保護(hù)用戶隱私數(shù)據(jù)的安全。在所有的硬件中,由于CPU是最復(fù)雜的,因此CPU的可信度最高,本文探討引入Diamond技術(shù)來(lái)增強(qiáng)CPU的安全功能,對(duì)硬件的直接物理攻擊進(jìn)行防范。
首先,我們認(rèn)為數(shù)據(jù)加密是安全可信的。CPU可以對(duì)用戶的數(shù)據(jù)動(dòng)態(tài)生成加密密鑰,然后將密鑰通過(guò)安全通道發(fā)給用戶,攻擊者無(wú)法得知。
其次,我們假設(shè)復(fù)雜程度高的CPU在攻擊者進(jìn)行攻擊時(shí)可以保證其完整性。
第三,我們認(rèn)為只有CPU的存儲(chǔ)部分可信,其余都是不可信的。
基于上述三個(gè)假設(shè),本文利用Diamond技術(shù)通過(guò)增加安全性模塊來(lái)加強(qiáng)CPU的安全性。圖2是完善改進(jìn)后的結(jié)構(gòu)。
圖中的陰影模塊是我們?yōu)镃PU新增的安全功能模塊,RSA平臺(tái)私鑰擬定于CPU芯片上,出廠前就生成,大小為2048比特,主要是用于簽名和解密。頁(yè)面主表主要用來(lái)存放頁(yè)屬主信息,包含2048項(xiàng),初始值為0,不屬于任何的虛擬機(jī)。會(huì)話密鑰表用于存儲(chǔ)虛擬機(jī)的會(huì)話密鑰,初始值為0,最多能夠存儲(chǔ)256項(xiàng)對(duì)稱密鑰。虛擬機(jī)監(jiān)視器發(fā)起的I/O操作主要記錄I/O緩存地址表[5]。
本文針對(duì)用戶數(shù)據(jù)在公共云環(huán)境下的安全問(wèn)題,在云服務(wù)器端構(gòu)建了Dissolver總體結(jié)構(gòu),在CPU端構(gòu)建了Diamond總體結(jié)構(gòu),下一步通過(guò)對(duì)系統(tǒng)進(jìn)行具體實(shí)現(xiàn)和應(yīng)用的研究,便能夠保證用戶在云服務(wù)器端和在用戶虛擬機(jī)的隱私數(shù)據(jù)不會(huì)被惡意攻擊者獲取。進(jìn)而可以行之有效地對(duì)重放攻擊、DOS攻擊和物理性攻擊進(jìn)行預(yù)防和防衛(wèi)。
參考文獻(xiàn):
[1]鄧仲華.云計(jì)算環(huán)境下的隱私權(quán)保護(hù)初探[J].圖書與情報(bào),2010,4.
[2]張逢喆,陳進(jìn),陳海波,臧斌宇.云計(jì)算中的數(shù)據(jù)隱私性保護(hù)與自我銷毀[J].計(jì)算機(jī)研究與發(fā)展,2011,48(7):1155-1167.
計(jì)算機(jī)光盤軟件與應(yīng)用2012年18期