黎 珂, 張德治
(中國電子科技集團公司第三十研究所,四川 成都610041)
隨著各種基于Web的應用在網絡中興起,數據安全面臨極大的挑戰。對個人用戶而言,無法控制在“云”中存儲的數據、發表的帖子或是發送的即時消息,在網絡中留存的任何信息都有可能一直存儲在網絡中,隨時可能被查找和呈現;對軍事、黨政而言,其專用網絡上傳送的公文數據通常具有一定的生命周期,如果網絡中緩存和存儲的公文超過其生命周期后不被及時銷毀,則存在公文重現的安全隱患。而單純的加解密無法完全解決上述問題,因為攻擊者也有可能在獲取數據的同時獲得密鑰,沒有及時被銷毀的密文及密鑰也同樣存在安全隱患。
上述問題的根源在于Web應用數據在網絡中被大量緩存和存儲,用戶無法確定數據在網絡中的備份數量及存儲位置,因此用戶不可能將網絡中數據的所有存儲備份都全部清除,而這些未被清除的數據則可能遭到未授權第三方的非法訪問,從而導致數據的擁有者所不期望的數據泄漏。現實網絡中,用戶難以銷毀自己在網絡中曾經發布的數據。
針對Web應用的數據安全問題,華盛頓大學的研究團隊設計了Vanish系統,巧妙地利用了對等網絡(P2P,Peer-to-Peer)及分布式哈希表(DHT,Distributed Hash Table)的特性,結合密鑰共享原理,解決了Web應用數據的銷毀需求。
Vanish引入了自銷毀數據對象(VDO, Vanishing Data Object),VDO是把需要自銷毀的Web應用數據進行封裝,其封裝數據在過了規定時間后,其內容不可恢復和保留,即使攻擊者在規定時間內獲取了一份VDO的備份和用戶的密鑰及口令。圖1表明了VDO的使用和面臨攻擊時不同時間窗的屬性,黃色背景表示數據可用,灰色背景表明數據進入銷毀期,T對應各個時間階段的數據狀態[1]。

圖1 VDO使用和攻擊的時間窗
Vanish系統設計基于以下前提:
1)時效性。VDO封裝的數據對用戶而言只在一定時間范圍內具有價值。
2)銷毀期。當用戶使用VDO封裝數據時,大概知道多長時間后VDO封裝的數據喪失價值。
3)Internet連接。用戶對 VDO的處理時需要Internet連接。
4)攻擊容忍。用戶更愿意銷毀 VDO,而不愿意把信息暴露給攻擊者。
在上述前提下,Vanish的設計目標如下:
1)數據在指定時間內可用。在生命周期內,數據能夠被合法用戶訪問。
2)自銷毀。一旦過了指定時間段,數據就無法訪問(不需要用戶對其做專門的刪除動作)。
3)基礎設施。利用已有的基礎設施,而不需要第三方提供的專用服務和專門的安全硬件。
4)隱私風險。采用了VDO后,不會引入新的隱私風險。
上述設計目標主要考慮的是無敵手參與情況下的系統屬性,在有敵手參與的情況下,系統的安全設計目標是保證數據在過了銷毀期后能夠自動銷毀,即使在指定時間段后敵手仍具有數據的存儲和備份。
威脅模型的兩個關鍵屬性:
1)可信的數據擁有者。對同一VDO擁有合法訪問權的用戶相互信任。
2)針對隱私的追溯攻擊。攻擊者直到銷毀期后才知道該對哪一個VDO 進行攻擊。
前一關鍵屬性是直接的,如同傳統加密中的共享密鑰假定,Vanish無法阻止合法用戶通過帶外方式泄露或永久保留VDO所封裝的明文數據。
第二個關鍵屬性的一個例子是,只有在用戶發送了一封敏感郵件后,攻擊者才會出現,系統主要保護用戶的私有數據避免來自未來的攻擊。
P2P網絡是一個“非中心化”的網絡,網絡上各個通信節點的地位都是對等的,既扮演服務器角色,又扮演客戶機角色,各個通信節點通過直接通信,實現各種資源的共享,有著廣闊的應用前景[2-4]。P2P網絡可劃分為無結構型和結構型兩類。無結構型 P2P,無需維護 P2P網絡的邏輯拓撲視圖,采用洪泛式的消息廣播機制進行數據查詢;而結構型P2P需要維護P2P網絡的邏輯拓撲,數據被存放到確定的節點,普遍采用DHT進行查找、定位及路由[5-6]。
DHT是一種分布式存儲方法,在 P2P網絡中,主要思想是每個數據索引都被表示成一個(Node ID,Data)對, Node ID=Hash(Node),ID是一個空間足夠大的數據索引表,只要輸入Node ID值,就可以查找出所有存儲該數據的節點位置,然后,再把P2P網絡中的ID空間分割成若干個子空間,按照特定的規則把這些子空間 ID分布到系統中的多個節點上,系統中的每個節點維護特定的鄰居節點,進行查找和定位。
在P2P網絡中,DHT具有如下特性:
1)一致性。P2P網絡上的任何節點,通過各自維護的路由表訪問邏輯拓撲結構中的某個數據,最終定位到的節點是相同的。
2)可用性。當節點動態加入和離開時,系統狀態變化過程能夠通過 DHT自動更新,相關數據存儲的位置自動調整。
3)鄰近鄰居選擇。為了尋找最小延遲路徑,需要在路由表中選取最佳的鄰居節點。
4)負載均衡。為了防止節點過載,DHT能夠將節點和數據的ID均勻映射到整個ID空間,常見的DHT 包括 Chord[5]、Tapestry[6]等。
為了滿足設計目標和應對威脅模型,Vanish系統的主要設計思想在于利用P2P網絡的分布式DHT,除上面提到的可用性提供了VDO在銷毀期內可用的保證外,Vanish依賴的DHT關鍵屬性還包括:
1)可擴展性。對Vuze DHT以及Mainline DHT的測量研究表明,它們具有超過百萬的節點數同時在線。
2)無中心性。處美國外,Vuze仍有大量節點分布在其他100多個國家,從而使Vanish更能抵御小規模或集中式攻擊。
3)擾動性。DHT隨著時間的推進將會動態地更新節點的加入和離開。
DHT的傳統研究致力于努力克服擾動對于可用性的不利影響,但對于Vanish,DHT持續的擾動性卻是一個優勢,因為這意味著存儲于DHT的數據將隨著時間的流逝而自然地消失。DHT 的一致性、可用性、可擴展性、無中心性和擾動性等特性相結合,能夠構建一個很好的自銷毀系統。
Vanish系統架構如圖2所示,假設需要銷毀的原始數據為 D,封裝后具備自動銷毀能力的數據對象為VDO。對D進行處理的具體步驟如下:

圖2 Vanish系統架構
1)對于數據D,發送方隨機選取一個密鑰K,將其加密,獲得密文C=Ek(D)。
2)使用門限方案的共享,將密鑰K分成N份,分別為 K1,K2,…,Kn。
3)用戶或者由發送方軟件指定門限參數M,設定在K的N份中最少需要M份就能恢復K,設門限率為r=M/N。
4)一旦完成K的各份計算,便生成一個隨機的訪問密鑰L(可根據用戶設定的口令生成),然后使用密碼學意義上的安全偽隨機數發生器產生隨機數,由 L加密,生成 DHT空間中的 N個索引,I1,I2,…,In。
5)將 K1,K2,…,Kn存儲在上述 N個索引指向的隨機位置,即對于i∈{1, 2,…,N},系統將Ki存儲在DHT中Ii隨機指向的地方,一旦超過(N-M)份密鑰丟失,則VDO將永不能恢復成原始數據。
6)發送方將VDO=(L,C,N,M)發送給郵件服務器或其他Web應用服務,接收方接收到VDO后,首先取出L,進而獲知K的N份所存儲的位置,然后獲得M份Ki恢復出K,進而解密D,得到C。
在上述過程中,DHT固有的擾動性決定了數據的銷毀期,例如Vuze使數據能夠在其中存在8小時,而OpenDHT的數據可以長達一周,如果Vanish基于Vuze,則超過8小時后,密鑰K將確定地不可恢復,進而間接地達到了自動銷毀數據的目的。而門限密碼的引入則提高了系統的可用性和安全性,通過門限率的調整,可以改變VDO在特定DHT中的銷毀期,并增加了攻擊者的攻擊難度(因為要獲取足夠多的密鑰份額)。
云計算作為一種新興的資源交付和使用模式,是商業應用的創新,指通過網絡獲得應用所需的資源(硬件、平臺、軟件),提供資源的網絡被稱為“云”。完整的云計算是一個動態的計算體系,能夠提供托管的應用程序環境,能夠動態部署、動態分配計算資源和實時監控資源使用情況。
但云計算這種商業應用卻引入了新的威脅,給信息安全技術帶來了巨大的挑戰,美國Gartner發布的一份《云計算安全風險評估》稱云計算服務存在七大潛在安全風險。云計算應用中的數據由云計算服務提供商進行托管,相對于Web應用在網絡中緩存的特性,用戶更是難以刪除自己所產生的數據,因此 Vanish系統能夠從個人隱私保護的角度提高云計算數據的安全性。
P2P網絡的DHT已經成為一種新的安全基礎設施,能夠為VDO密鑰的存儲、定位甚至銷毀提供支撐[7-8]。Vanish系統中,DHT可以作為一種新的密鑰管理基礎設施(KMI),密鑰可以使用分片和門限共享的方法存儲于DHT中,以提高KMI的抗毀性,避免單點失效,同時具備P2P網絡的自組織、可擴展等優點。但目前學術界還缺乏對于DHT作為安全應用基礎設施方面的研究,DHT本身的安全性還有待加強[9]。
文中介紹了Vanish系統的設計思想和自銷毀原理,并介紹了兩種應用環境的可行性。在Vanish系統設計中,著重強調數據的私密性,而非其持續性,因為用戶希望數據在其指定的時間內可用,指定的時間外對其銷毀,也不希望數據泄露。系統實際應用中,份數N和門限率r是自銷毀系統中很重要的參數,實驗結果表明,當份數N為50份、門限率為90%時,能夠提供一個較好的安全和性能的折衷。
[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] 聶榮,余建國,呂英華.國內對P2P網絡的相關研究[J].通信技術,2008,41(07):130-132.
[4] 王建,劉益和.無線實時數據通信對等網絡構架方案[J].通信技術,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]. 信息安全與通信保密, 2007(06):81-82,85.
[8] 孫昱,管海兵.P2P網絡信任模型研究綜述[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.