黎 珂, 張德治
(中國電子科技集團(tuán)公司第三十研究所,四川 成都610041)
隨著各種基于Web的應(yīng)用在網(wǎng)絡(luò)中興起,數(shù)據(jù)安全面臨極大的挑戰(zhàn)。對個(gè)人用戶而言,無法控制在“云”中存儲的數(shù)據(jù)、發(fā)表的帖子或是發(fā)送的即時(shí)消息,在網(wǎng)絡(luò)中留存的任何信息都有可能一直存儲在網(wǎng)絡(luò)中,隨時(shí)可能被查找和呈現(xiàn);對軍事、黨政而言,其專用網(wǎng)絡(luò)上傳送的公文數(shù)據(jù)通常具有一定的生命周期,如果網(wǎng)絡(luò)中緩存和存儲的公文超過其生命周期后不被及時(shí)銷毀,則存在公文重現(xiàn)的安全隱患。而單純的加解密無法完全解決上述問題,因?yàn)楣粽咭灿锌赡茉讷@取數(shù)據(jù)的同時(shí)獲得密鑰,沒有及時(shí)被銷毀的密文及密鑰也同樣存在安全隱患。
上述問題的根源在于Web應(yīng)用數(shù)據(jù)在網(wǎng)絡(luò)中被大量緩存和存儲,用戶無法確定數(shù)據(jù)在網(wǎng)絡(luò)中的備份數(shù)量及存儲位置,因此用戶不可能將網(wǎng)絡(luò)中數(shù)據(jù)的所有存儲備份都全部清除,而這些未被清除的數(shù)據(jù)則可能遭到未授權(quán)第三方的非法訪問,從而導(dǎo)致數(shù)據(jù)的擁有者所不期望的數(shù)據(jù)泄漏?,F(xiàn)實(shí)網(wǎng)絡(luò)中,用戶難以銷毀自己在網(wǎng)絡(luò)中曾經(jīng)發(fā)布的數(shù)據(jù)。
針對Web應(yīng)用的數(shù)據(jù)安全問題,華盛頓大學(xué)的研究團(tuán)隊(duì)設(shè)計(jì)了Vanish系統(tǒng),巧妙地利用了對等網(wǎng)絡(luò)(P2P,Peer-to-Peer)及分布式哈希表(DHT,Distributed Hash Table)的特性,結(jié)合密鑰共享原理,解決了Web應(yīng)用數(shù)據(jù)的銷毀需求。
Vanish引入了自銷毀數(shù)據(jù)對象(VDO, Vanishing Data Object),VDO是把需要自銷毀的Web應(yīng)用數(shù)據(jù)進(jìn)行封裝,其封裝數(shù)據(jù)在過了規(guī)定時(shí)間后,其內(nèi)容不可恢復(fù)和保留,即使攻擊者在規(guī)定時(shí)間內(nèi)獲取了一份VDO的備份和用戶的密鑰及口令。圖1表明了VDO的使用和面臨攻擊時(shí)不同時(shí)間窗的屬性,黃色背景表示數(shù)據(jù)可用,灰色背景表明數(shù)據(jù)進(jìn)入銷毀期,T對應(yīng)各個(gè)時(shí)間階段的數(shù)據(jù)狀態(tài)[1]。
圖1 VDO使用和攻擊的時(shí)間窗
Vanish系統(tǒng)設(shè)計(jì)基于以下前提:
1)時(shí)效性。VDO封裝的數(shù)據(jù)對用戶而言只在一定時(shí)間范圍內(nèi)具有價(jià)值。
2)銷毀期。當(dāng)用戶使用VDO封裝數(shù)據(jù)時(shí),大概知道多長時(shí)間后VDO封裝的數(shù)據(jù)喪失價(jià)值。
3)Internet連接。用戶對 VDO的處理時(shí)需要Internet連接。
4)攻擊容忍。用戶更愿意銷毀 VDO,而不愿意把信息暴露給攻擊者。
在上述前提下,Vanish的設(shè)計(jì)目標(biāo)如下:
1)數(shù)據(jù)在指定時(shí)間內(nèi)可用。在生命周期內(nèi),數(shù)據(jù)能夠被合法用戶訪問。
2)自銷毀。一旦過了指定時(shí)間段,數(shù)據(jù)就無法訪問(不需要用戶對其做專門的刪除動作)。
3)基礎(chǔ)設(shè)施。利用已有的基礎(chǔ)設(shè)施,而不需要第三方提供的專用服務(wù)和專門的安全硬件。
4)隱私風(fēng)險(xiǎn)。采用了VDO后,不會引入新的隱私風(fēng)險(xiǎn)。
上述設(shè)計(jì)目標(biāo)主要考慮的是無敵手參與情況下的系統(tǒng)屬性,在有敵手參與的情況下,系統(tǒng)的安全設(shè)計(jì)目標(biāo)是保證數(shù)據(jù)在過了銷毀期后能夠自動銷毀,即使在指定時(shí)間段后敵手仍具有數(shù)據(jù)的存儲和備份。
威脅模型的兩個(gè)關(guān)鍵屬性:
1)可信的數(shù)據(jù)擁有者。對同一VDO擁有合法訪問權(quán)的用戶相互信任。
2)針對隱私的追溯攻擊。攻擊者直到銷毀期后才知道該對哪一個(gè)VDO 進(jìn)行攻擊。
前一關(guān)鍵屬性是直接的,如同傳統(tǒng)加密中的共享密鑰假定,Vanish無法阻止合法用戶通過帶外方式泄露或永久保留VDO所封裝的明文數(shù)據(jù)。
第二個(gè)關(guān)鍵屬性的一個(gè)例子是,只有在用戶發(fā)送了一封敏感郵件后,攻擊者才會出現(xiàn),系統(tǒng)主要保護(hù)用戶的私有數(shù)據(jù)避免來自未來的攻擊。
P2P網(wǎng)絡(luò)是一個(gè)“非中心化”的網(wǎng)絡(luò),網(wǎng)絡(luò)上各個(gè)通信節(jié)點(diǎn)的地位都是對等的,既扮演服務(wù)器角色,又扮演客戶機(jī)角色,各個(gè)通信節(jié)點(diǎn)通過直接通信,實(shí)現(xiàn)各種資源的共享,有著廣闊的應(yīng)用前景[2-4]。P2P網(wǎng)絡(luò)可劃分為無結(jié)構(gòu)型和結(jié)構(gòu)型兩類。無結(jié)構(gòu)型 P2P,無需維護(hù) P2P網(wǎng)絡(luò)的邏輯拓?fù)湟晥D,采用洪泛式的消息廣播機(jī)制進(jìn)行數(shù)據(jù)查詢;而結(jié)構(gòu)型P2P需要維護(hù)P2P網(wǎng)絡(luò)的邏輯拓?fù)?,?shù)據(jù)被存放到確定的節(jié)點(diǎn),普遍采用DHT進(jìn)行查找、定位及路由[5-6]。
DHT是一種分布式存儲方法,在 P2P網(wǎng)絡(luò)中,主要思想是每個(gè)數(shù)據(jù)索引都被表示成一個(gè)(Node ID,Data)對, Node ID=Hash(Node),ID是一個(gè)空間足夠大的數(shù)據(jù)索引表,只要輸入Node ID值,就可以查找出所有存儲該數(shù)據(jù)的節(jié)點(diǎn)位置,然后,再把P2P網(wǎng)絡(luò)中的ID空間分割成若干個(gè)子空間,按照特定的規(guī)則把這些子空間 ID分布到系統(tǒng)中的多個(gè)節(jié)點(diǎn)上,系統(tǒng)中的每個(gè)節(jié)點(diǎn)維護(hù)特定的鄰居節(jié)點(diǎn),進(jìn)行查找和定位。
在P2P網(wǎng)絡(luò)中,DHT具有如下特性:
1)一致性。P2P網(wǎng)絡(luò)上的任何節(jié)點(diǎn),通過各自維護(hù)的路由表訪問邏輯拓?fù)浣Y(jié)構(gòu)中的某個(gè)數(shù)據(jù),最終定位到的節(jié)點(diǎn)是相同的。
2)可用性。當(dāng)節(jié)點(diǎn)動態(tài)加入和離開時(shí),系統(tǒng)狀態(tài)變化過程能夠通過 DHT自動更新,相關(guān)數(shù)據(jù)存儲的位置自動調(diào)整。
3)鄰近鄰居選擇。為了尋找最小延遲路徑,需要在路由表中選取最佳的鄰居節(jié)點(diǎn)。
4)負(fù)載均衡。為了防止節(jié)點(diǎn)過載,DHT能夠?qū)⒐?jié)點(diǎn)和數(shù)據(jù)的ID均勻映射到整個(gè)ID空間,常見的DHT 包括 Chord[5]、Tapestry[6]等。
為了滿足設(shè)計(jì)目標(biāo)和應(yīng)對威脅模型,Vanish系統(tǒng)的主要設(shè)計(jì)思想在于利用P2P網(wǎng)絡(luò)的分布式DHT,除上面提到的可用性提供了VDO在銷毀期內(nèi)可用的保證外,Vanish依賴的DHT關(guān)鍵屬性還包括:
1)可擴(kuò)展性。對Vuze DHT以及Mainline DHT的測量研究表明,它們具有超過百萬的節(jié)點(diǎn)數(shù)同時(shí)在線。
2)無中心性。處美國外,Vuze仍有大量節(jié)點(diǎn)分布在其他100多個(gè)國家,從而使Vanish更能抵御小規(guī)模或集中式攻擊。
3)擾動性。DHT隨著時(shí)間的推進(jìn)將會動態(tài)地更新節(jié)點(diǎn)的加入和離開。
DHT的傳統(tǒng)研究致力于努力克服擾動對于可用性的不利影響,但對于Vanish,DHT持續(xù)的擾動性卻是一個(gè)優(yōu)勢,因?yàn)檫@意味著存儲于DHT的數(shù)據(jù)將隨著時(shí)間的流逝而自然地消失。DHT 的一致性、可用性、可擴(kuò)展性、無中心性和擾動性等特性相結(jié)合,能夠構(gòu)建一個(gè)很好的自銷毀系統(tǒng)。
Vanish系統(tǒng)架構(gòu)如圖2所示,假設(shè)需要銷毀的原始數(shù)據(jù)為 D,封裝后具備自動銷毀能力的數(shù)據(jù)對象為VDO。對D進(jìn)行處理的具體步驟如下:
圖2 Vanish系統(tǒng)架構(gòu)
1)對于數(shù)據(jù)D,發(fā)送方隨機(jī)選取一個(gè)密鑰K,將其加密,獲得密文C=Ek(D)。
2)使用門限方案的共享,將密鑰K分成N份,分別為 K1,K2,…,Kn。
3)用戶或者由發(fā)送方軟件指定門限參數(shù)M,設(shè)定在K的N份中最少需要M份就能恢復(fù)K,設(shè)門限率為r=M/N。
4)一旦完成K的各份計(jì)算,便生成一個(gè)隨機(jī)的訪問密鑰L(可根據(jù)用戶設(shè)定的口令生成),然后使用密碼學(xué)意義上的安全偽隨機(jī)數(shù)發(fā)生器產(chǎn)生隨機(jī)數(shù),由 L加密,生成 DHT空間中的 N個(gè)索引,I1,I2,…,In。
5)將 K1,K2,…,Kn存儲在上述 N個(gè)索引指向的隨機(jī)位置,即對于i∈{1, 2,…,N},系統(tǒng)將Ki存儲在DHT中Ii隨機(jī)指向的地方,一旦超過(N-M)份密鑰丟失,則VDO將永不能恢復(fù)成原始數(shù)據(jù)。
6)發(fā)送方將VDO=(L,C,N,M)發(fā)送給郵件服務(wù)器或其他Web應(yīng)用服務(wù),接收方接收到VDO后,首先取出L,進(jìn)而獲知K的N份所存儲的位置,然后獲得M份Ki恢復(fù)出K,進(jìn)而解密D,得到C。
在上述過程中,DHT固有的擾動性決定了數(shù)據(jù)的銷毀期,例如Vuze使數(shù)據(jù)能夠在其中存在8小時(shí),而OpenDHT的數(shù)據(jù)可以長達(dá)一周,如果Vanish基于Vuze,則超過8小時(shí)后,密鑰K將確定地不可恢復(fù),進(jìn)而間接地達(dá)到了自動銷毀數(shù)據(jù)的目的。而門限密碼的引入則提高了系統(tǒng)的可用性和安全性,通過門限率的調(diào)整,可以改變VDO在特定DHT中的銷毀期,并增加了攻擊者的攻擊難度(因?yàn)橐@取足夠多的密鑰份額)。
云計(jì)算作為一種新興的資源交付和使用模式,是商業(yè)應(yīng)用的創(chuàng)新,指通過網(wǎng)絡(luò)獲得應(yīng)用所需的資源(硬件、平臺、軟件),提供資源的網(wǎng)絡(luò)被稱為“云”。完整的云計(jì)算是一個(gè)動態(tài)的計(jì)算體系,能夠提供托管的應(yīng)用程序環(huán)境,能夠動態(tài)部署、動態(tài)分配計(jì)算資源和實(shí)時(shí)監(jiān)控資源使用情況。
但云計(jì)算這種商業(yè)應(yīng)用卻引入了新的威脅,給信息安全技術(shù)帶來了巨大的挑戰(zhàn),美國Gartner發(fā)布的一份《云計(jì)算安全風(fēng)險(xiǎn)評估》稱云計(jì)算服務(wù)存在七大潛在安全風(fēng)險(xiǎn)。云計(jì)算應(yīng)用中的數(shù)據(jù)由云計(jì)算服務(wù)提供商進(jìn)行托管,相對于Web應(yīng)用在網(wǎng)絡(luò)中緩存的特性,用戶更是難以刪除自己所產(chǎn)生的數(shù)據(jù),因此 Vanish系統(tǒng)能夠從個(gè)人隱私保護(hù)的角度提高云計(jì)算數(shù)據(jù)的安全性。
P2P網(wǎng)絡(luò)的DHT已經(jīng)成為一種新的安全基礎(chǔ)設(shè)施,能夠?yàn)閂DO密鑰的存儲、定位甚至銷毀提供支撐[7-8]。Vanish系統(tǒng)中,DHT可以作為一種新的密鑰管理基礎(chǔ)設(shè)施(KMI),密鑰可以使用分片和門限共享的方法存儲于DHT中,以提高KMI的抗毀性,避免單點(diǎn)失效,同時(shí)具備P2P網(wǎng)絡(luò)的自組織、可擴(kuò)展等優(yōu)點(diǎn)。但目前學(xué)術(shù)界還缺乏對于DHT作為安全應(yīng)用基礎(chǔ)設(shè)施方面的研究,DHT本身的安全性還有待加強(qiáng)[9]。
文中介紹了Vanish系統(tǒng)的設(shè)計(jì)思想和自銷毀原理,并介紹了兩種應(yīng)用環(huán)境的可行性。在Vanish系統(tǒng)設(shè)計(jì)中,著重強(qiáng)調(diào)數(shù)據(jù)的私密性,而非其持續(xù)性,因?yàn)橛脩粝M麛?shù)據(jù)在其指定的時(shí)間內(nèi)可用,指定的時(shí)間外對其銷毀,也不希望數(shù)據(jù)泄露。系統(tǒng)實(shí)際應(yīng)用中,份數(shù)N和門限率r是自銷毀系統(tǒng)中很重要的參數(shù),實(shí)驗(yàn)結(jié)果表明,當(dāng)份數(shù)N為50份、門限率為90%時(shí),能夠提供一個(gè)較好的安全和性能的折衷。
[1] GEAMBASU R, KOHNO T, LEVY A A, et al. Vanish:Increasing Data Privacy with Self-Destructing Data[C]//Proceedings of the 18th conference on USENIX security symposium. Canada:[s.n.],2009:299-350.
[2] MILOJICIC D S, KALOGERAKI V, LUKOSE R, et al.Peer-to-Peer Computing[EB/OL]. (2003-07-03)[2012-04-01].http://www.hpl.hp.com/techreports/2002/HPL-2002-57R1.pdf.
[3] 聶榮,余建國,呂英華.國內(nèi)對P2P網(wǎng)絡(luò)的相關(guān)研究[J].通信技術(shù),2008,41(07):130-132.
[4] 王建,劉益和.無線實(shí)時(shí)數(shù)據(jù)通信對等網(wǎng)絡(luò)構(gòu)架方案[J].通信技術(shù),2009,42(03):170-172.
[5] STOICA I, MORRIS R, LIBEN-NOWELL D, et al. Chord:a Scalable Peer-to-Peer Lookup Protocol for Internet Applications[J]. IEEE/ACM Trans. Netw.,2003, 11(01):17-32.
[6] ZHAO B Y, KUBIATOWICZ J, JOSEPH A D. Tapestry: an Infrastructure for Fault-tolerant Wide-area Location and Routing[R]. USA:University of California, 2001.
[7] 張生花.基于P2P資源搜索算法的改進(jìn)[J]. 信息安全與通信保密, 2007(06):81-82,85.
[8] 孫昱,管海兵.P2P網(wǎng)絡(luò)信任模型研究綜述[J]. 信息安全與通信保密, 2008(04):37-38.
[9] GEAMBASU R, FALKNER J, GARDNER P, et al. Experiences Building Security Applications on DHTs[R]. USA:University of Washington Computer Science and Engineering, 2009.