熊金波,姚志強,馬建峰,劉西蒙,馬駿
(1.西安電子科技大學計算機學院,710071,西安;2.福建師范大學軟件學院,350108,福州)
云計算環境中云服務的發布、運行和組合等的實現均需要數據載體,而作為新型網絡信息表現形式的組合文檔是最合適的數據載體。云計算技術的快速發展促使這種載體的概念發生快速轉變,傳統單一格式、單個文件為中心的文檔已經不再適應云服務對多樣化格式、多類型結構化文檔組合服務的新需求[1-2],如項目聯合申報服務和醫療聯合會診服務等,都需要創建和管理復雜的組合文檔。這類組合文檔具有下列共性:①包含多個不同類型或格式的結構化文檔元素,并被分屬于不同安全域的多個參與者處理;②組合文檔中不同的結構化文檔元素攜帶不同程度的隱私信息,只授予具有相應安全等級的參與者處理[3];③組合文檔在處理過程中,需跨越多個安全域,并在不安全的信道中傳遞。因此,需要建立適合云計算環境的組合文檔模型及其細粒度訪問控制機制,這對于保護組合文檔存儲和處理過程中的文檔元素內容安全,建立組合文檔安全體系具有重要的理論意義和實際價值。
在非云計算環境中,關于文檔模型及其訪問控制的研究主要有以下5種類型:①文檔相似性處理方法,如文獻[4]分別從基于標記、路徑、樹和圖結構4個方面綜述了傳統文檔模型并提出異構結構化文檔模型以解決相似內容的關聯關系問題,文獻[5-6]基于XML文檔結構分別處理文檔近似查詢以及處理文檔結構和語義相似性;②多結構文檔模型,如文獻[7]從物理、邏輯和語義3個方面分析結構化文檔模型,并基于Text提出多結構文檔模型,但該模型僅處理文本文件;③安全文檔模型,如文獻[8]提出一種保護機密文檔的安全文檔模型,該模型僅考慮文檔的安全屬性;④多媒體文檔模型,如文獻[9]提出一種支持多媒體內容重用和自適應改變的多媒體文檔模型;⑤組合文檔模型,如文獻[2,10]提出一種公共網絡環境中可公開傳遞的組合文檔(Publicly Posted Composite Documents,PPCD)結構,以處理非安全信道中傳遞的復雜組合文檔工作流安全訪問問題。然而,前4種文檔模型均以單文檔為中心且單一格式的傳統文檔,其訪問方式除了文獻[8]以外均較少考慮安全因素,第5種文檔模型未考慮組合文檔的多安全等級的特征。在云計算環境中,僅有文獻[11]研究這一主題,指出結構化文檔應具有內容動態、多用戶參與、多媒體交互等“活”文檔特征,并形式化定義了一種能夠滿足以上“活”文檔特征的結構化文檔(Structured Document,SDoc)模型,但該文獻未考慮文檔組合及其安全訪問方法。
本文針對云計算環境中缺乏合適的組合文檔模型及其安全訪問機制的現狀,以SDoc模型[11]為基礎,首先引入多級安全思想[3]和基于身份的加密算法(Identity-based Encryption,IBE)[12]建立適合云計算環境的組合文檔(Composite Documents,Com-Doc)模型;然后,在ComDoc模型的基礎上構造基于IBE的組合文檔訪問控制(IBE-based Composite Document Access Control,ICDAC)方案以實現對組合文檔元素的細粒度安全訪問。
云計算環境中的組合文檔從創建、傳播、使用到最終銷毀,整個生命周期都具有“活”文檔特征。
(1)多參與者協同。組合文檔由多個結構化文檔元素組成,每個參與者可能操作不同文檔元素的,或多個參與者協同處理同一個文檔元素。
(2)多媒體交互。組合文檔是真正意義的多媒體文檔,而非傳統多種媒體文檔的混合。
(3)多樣化呈現。組合文檔元素針對不同的參與者具有不同的版式布局和呈現形式;對同一個參與者在不同時間和地點具有不同的呈現形式。
(4)多安全等級。不同的文檔元素包含不同程度的隱私信息,具有不同的安全級別,應采用不同的密鑰加密,并賦予不同的參與者處理,從而實現細粒度的安全訪問。
充分考慮以上組合文檔的特征,在SDoc模型[11]的基礎上構建ComDoc。在SDoc中,文檔由包含不同隱私程度的多個文檔元素連接而成,需要定義不同的安全等級,本文將其劃分為安全等級1、安全等級2等,以便不同的組織依據需求自行定義。為了保護文檔隱私,需要對其加密,通常情況下采用對稱密鑰k加密以提高效率和節省開銷。如果每個文檔元素分別采用一個k加密,則將帶來龐大的密鑰生成、分發和管理開銷。因此,本文采用依據安全等級分配k的策略,如圖1所示,同一參與者訪問的具有相同安全等級的文檔元素采用相同的k加密,從而在一定程度上減小密鑰管理開銷。

圖1 文檔元素依據安全等級分配密鑰
不同文檔中的文檔元素,如果具有相同的安全等級、或者相同或相似的文檔屬性,可以通過SDoc模型中定義的外部連接關系進行連接[11]。如將A文檔中文檔元素的綁定點連接到B文檔另一元素的連接點,從而多個文檔組合成一個組合文檔ComDoc。下面,給出ComDoc的形式化描述。
ComDoc模型形式化描述為如下2部分:組合文檔密文部分(CipherPart)和密鑰映射部分(Key-MapPart)。
(1)CipherPart。該部分包含結構化文檔di或文檔元素ei采用對稱密鑰ki加密后的密文Cdi或Cei的集合,即CCP={Cdi}∪{Cei}。
(2)KeyMapPart。該部分存儲結構化文檔名nd或文檔元素名ne以及對應的ki組成的<ndij,ki>映射對或<nei,ki>映射對。每個參與者都擁有一條密鑰映射記錄ri,且ri={<ndi,ki>}∪{<nei,ki>},即該記錄包含一個或多個映射對以實現細粒度訪問控制。然后,該ri的內容依據參與者身份Ii采用IBE加密后得到密文CIBE-Ii(ri),則該部分為集合CKMP=∪{CIBE-Ii(ri)}。
在此基礎上,給出ComDoc的要領模型如圖2所示。

圖2 組合文檔概念模型
在ComDoc模型的基礎上,利用IBE算法構造ICDAC方案。
IBE是一種公鑰密碼算法,其公鑰和私鑰不在系統初始化時產生,而是基于用戶的身份信息計算得到,且私鑰可以延遲到需要解密的時候再申請計算,從而簡化密鑰的生成與管理。第一個實用且可證明安全的IBE方案是基于 Weil Pairing構造的[12]。該方案中,用于計算公鑰的是用戶公開的身份標識符,如email地址,而私鑰則由可信第三方的密鑰產生中心(Key Generation Center,KGC)利用用戶公鑰計算得出[13]。
IBE算法能夠用于構造ICDAC方案的原因主要有以下2個方面:
(1)IBE采用非對稱加密算法,無需預先產生所有文檔參與者的公/私鑰和證書,從而簡化了密鑰管理;
(2)不同的參與者具有不同的安全級別,采用其身份加密安全等級相匹配的文檔元素對應的k,即可靈活實現對組合文檔的細粒度訪問控制。
ICDAC方案的符號及其描述如表1所示。

表1 ICDAC符號及其描述
ICDAC的系統模型如圖3所示,包含組合文檔創建者、云服務器、可信KGC和組合文檔參與者。
(1)組合文檔創建者。依據參與者的身份Ii、相應的訪問權限和ComDoc模型創建組合文檔,并將其封裝成組合文檔對象OCDO后保存到云服務器中,將產生的<si,Ii>保存到KGC中。

圖3 系統模型
(2)云服務器。保存創建者提交的OCDO,并只允許授權的參與者訪問。
(3)可信KGC。產生公共參數,支持IBE加密并為授權用戶產生私鑰,并負責保存<si,Ii>。
(4)組合文檔參與者。參與組合文檔的處理,需向可信KGC提交Ii并認證通過后,從KGC獲得對應的<si,Ii>和私鑰;然后從云服務器獲得相應的OCDO,解封裝OCDO并解密其中的密文最終獲得需要訪問的組合文檔明文。
在系統模型中,本文假設KGC是可信服務器,可以由組織內部或可信第三方提供;組合文檔創建者和參與者可信,且與可信KGC之間存在安全的通信信道,如IPSec或SSL等。下面分別從系統層面和算法層面構建ICDAC方案。
系統層面描述方案中高級操作的功能實現,主要包括以下3個階段。
(1)系統建立。該階段主要由KGC執行。給定系統安全參數κ,調用算法層面的系統建立算法能產生系統參數p和IBE公鑰和私鑰參數。
(2)組合文檔創建。該階段主要由創建者執行。創建者首先為di或ei劃分安全等級,同一參與者訪問的相同安全等級的di或ei選用相同的k,并調用文檔加密算法對其加密后將密文CCP存儲在Cipher-Part中;然后,創建者獲得所有參與者的身份Ii,依據Ii調用密鑰生成算法計算各參與者的IBE加密密鑰kEIBE;再依據各參與者的角色組織其ri中的映射對<ndi,ki>或<nei,kl>,從而不同參與者訪問不同文檔元素,實現文檔元素級細粒度訪問。組織好ri后,調用IBE加密算法加密ri得到密文CKMP并存儲在KeyMapPart中,之后由系統為該記錄產生一個隨機序列si,si和參與者Ii組成元組<si,Ii>,創建者將其保存到KGC中;最后,調用封裝算法將密文CCP和CKMP封裝成OCDO,然后保存到云端服務器中。
(3)組合文檔安全訪問。該階段主要由參與者執行。首先,向KGC提交身份Ii,認證通過后,KGC找到匹配的<si,Ii>并計算該參與者的IBE私鑰kIi=H(Ii)x∈G1,一起通過安全信道發送給參與者,參與者再調用密鑰生成算法計算得到IBE解密密鑰kDIBE;然后,從云服務器獲得相應的OCDO,調用解封裝算法將OCDO還原為密文CCP和CKMP;最后,依據獲得的<si,Ii>從KeyMapPart中找到對應的ri,調用IBE解密算法解密出相應記錄ri,獲得權限范圍內的映射對<ndi,ki>或<nei,kl>,即可提取相應的k并調用解密算法獲得di或ei的明文,實現對組合文檔的安全訪問。
算法層面主要執行由系統層面調用的具體算法實現,主要包括如下9個算法。
(1)系統建立算法。可信KGC根據系統安全參數κ運行系統建立算法,生成并且輸出一個哈希函數H:{0,1}*→G1、隨機密鑰k和一個對稱加密算法T、一個雙線性對函數e:G1×G1→G2(加法循環群G1和乘法循環群G2均為大素數階q的有限域群,且G1的生成元為g)和密鑰生成算法F:G3→{0,1}m(這里m 為密鑰長度),則系統參數p=(H,T,e,F,G1,G2,y)。此外,KGC生成私鑰x∈Zq與公鑰(g,y=gx)∈G21。
(2)文檔加密算法。創建者將系統參數p、對稱密鑰k、文檔di或文檔元素ei輸進文檔加密算法(如 AES),采用ki加密di或ei,得到密文Cdi或Cei,將匯總的密文CCP={Cdi}∪{Cei}存儲在 CipherPart中。
(3)加密密鑰生成算法。創建者依據參與者身份Ii隨機選擇一個偽私鑰α并計算H(Ii)α,又從KGC獲得系統公鑰y,運行雙線性對函數e(H(Ii)α,y),并將其輸進加密密鑰生成算法。該算法計算并輸出該參與者的IBE加密密鑰kEIBEi=F(e(H(Ii)α,y)),同時輸出一個偽公鑰z=gα并安全發布給參與者。
(4)IBE加密算法。創建者將IBE加密密鑰kEIBEi和密鑰映射記錄ri輸進IBE加密算法,采用kEIBEi加密ri并輸出為該記錄的密文CIBE-Ii(ri),其匯總的密文CKMP=∪{CIBE-Ii(ri)}存儲在 KeyMap-Part中。
(5)封裝算法。創建者將公開參數p和組合文檔的密文C=CCP+CKMP輸進封裝算法中,輸出組合文檔對象OCDO,并將其存儲在云服務器中。
(6)解密密鑰生成算法。參與者將身份Ii提交給KGC,KGC認證參與者身份后,計算其私鑰kIi=H(Ii)x∈G1,并將該私鑰安全發送給參與者。參與者還可以從KGC處獲得偽公鑰z=gr并將其與kIi一起輸入解密密鑰生成算法,該算法計算并輸出參與者的IBE解密密鑰kDIBEi=F(e(kIi,z))。
(7)解封裝算法。參與者從云服務器獲得OCDO并與系統參數p一起輸入解封裝算法,將OCDO解封裝并輸出為組合文檔的兩部分密文CCP和CKMP。
(8)IBE解密算法。參與者從KGC獲得IBE解密密鑰kDIBEi。由于對函數e具有雙線性性質,即下 面 等 式 成 立 e(kIi,z)=e(H (Ii)x,gα)=e(H(Ii)α,gx)=e(H(Ii)α,y),即得到kDIBEi=kEIBEi。參與者將kDIBEi和CIBE-Ii(ri)輸入IBE解密算法,解密CIBE-Ii(ri)后得到并輸出ri的映射對<ndi,ki>或<nei,kl>。
(9)文檔解密算法。參與者獲得映射對<ndi,ki>或<nei,kl>后,即可提取出相應的密文Cdi或Cei以及對應的密鑰k,并與系統參數p一起輸入文檔解密算法,解密Cdi或Cei后獲得并輸出組合文檔明文di或文檔元素明文ei。
將ComDoc模型與已有最新文檔模型的效能對比分析匯總于表2。

表2 ComDoc與其他文檔模型的特征比較
文獻[2,10]提出的PPCD模型是最新的組合文檔模型,具有自適應性、多用戶性和多媒體特征,但該模型沒有對文檔和文檔元素劃分安全等級,不具備多級安全特征;文獻[4]提供語義建模結構化文檔,能夠自適應表達不同類型文檔的語義信息,但不具備組合文檔其他特征;文獻[6]基于XML建立文檔結構比較框架,基于標簽語義處理文檔結構和語義相似性,并未考慮多用戶參與、多安全等級等文檔特征;文獻[8]為保護企事業單位和政府機密文檔而提出安全機密文檔模型,該模型能夠靈活地實現多級安全的控制與分發,但是并不具備組合文檔的其他特征。
綜上所述,以上最新研究成果均在某種程度上滿足云計算環境中組合文檔的“活”文檔特征,然而均存在不同程度的局限性。ComDoc模型通過分割文檔元素并賦予安全等級,能夠滿足組合文檔的特征需求:①不同用戶具有不同的安全等級,能夠訪問和處理不同的文檔元素,體現多安全等級和多用戶性;②同一用戶在不同上下文環境中也具有不同安全等級,其能訪問的文檔元素也會發生變化,體現自適應性;③每個文檔元素都可以是多媒體文檔,體現多媒體性;④結合IBE算法能夠實現對文檔元素的細粒度訪問控制。因此,ComDoc模型符合云計算環境中服務共享與傳播的數據媒介特征與要求,適合云計算環境。
文獻[2,10]構建的PPCD組合文檔著重考慮組合文檔的訪問控制方案,其中文獻[2]基于PKI實現對組合文檔的安全訪問,其主要優勢是已有基礎設施完善,方案實現簡單。存在的局限性主要體現在:①系統初始化時,需要為所有文檔參與者預先產生公/私鑰對并發布證書,假設有n個參與者,組合文檔共m個元素,因需要為每個參與者每個不同的元素分配不同的密鑰,因此,密鑰和證書的管理開銷為(n+2nm),其復雜度為O(nm);②在文檔創建之初,創建者需要收集所有參與者的公鑰,缺少一個便不能正常生成組合文檔。文獻[10]基于IBE實現對組合文檔的安全訪問,主要優勢是引入IBE機制后不需要在系統初始化時為參與者產生公/私鑰對并發布證書,只需要管理參與者的身份信息。此外,該方案亦沒有對文檔元素劃分安全等級,仍然需要為每個參與者每個不同的元素分配不同的密鑰,因此,密鑰管理開銷為(nm),其復雜度為O(nm),與文獻[2]相比,并未明顯改善。
本文提出的ICDAC方案在ComDoc模型的基礎上引入IBE機制,相比文獻[10],本文方案的優勢主要為:①對組合文檔元素劃分安全等級,能夠分等級保護文檔內容隱私;②同一參與者訪問的相同安全等級的文檔元素選用同一密鑰加密,比如將文檔元素劃分為4個安全等級,則密鑰數量為(4n),其復雜度為O(n),從而簡化了密鑰管理;③結構簡單,只有CipherPart和KeyMapPart兩部分,而PPCD模型還包含進入表部分,共有4個字段,因此,Com-Doc模型具有較小的存儲開銷;④根據參與者身份設置密鑰映射記錄,再利用IBE加密該記錄內容,方便實現細粒度訪問控制。將以上3種訪問控制方案的比較匯總于表3。

表3 組合文檔訪問控制方案對比分析
從表3可以看出,相比最新研究成果,本文ICDAC方案具有明顯優勢。然而,在組合文檔創建之初,創建者需要知道所有參與者的身份信息,當創建者不可信時將泄露參與者的身份隱私。為了解決此問題,下一步將引入權重屬性基加密機制[14],將ComDoc多級安全和權重屬性相關聯,建立Com-Doc權重屬性加密方案,以實現多級安全和支持身份隱私保護的細粒度訪問控制。
通過加密不同大小的組合文檔分別比較ICDAC方案和PPCD-IBE方案[10]的計算開銷。實驗環境為基礎平臺:CPU 為Intel Core i5 2450MB,RAM 為2GB,DDR III 1 600MHz,OS為 Ubuntu 12.04;密碼平臺:Pairing-Based Cryptography Library[15],160bit橢圓曲線構造的Type A雙線性對,標準的128bit AES對稱加密算法和48bit Hash函數。實驗測試了2種方案的計算開銷,循環執行200次取平均值。
實驗隨機選取4個不同大小的組合文檔A(183.2kB)、 B(3.70MB)、 C(20.8MB) 和D(267.4MB),均分為3個元素且其中有2個元素為相同安全等級,2個參與者參與訪問。PPCD-IBE方案采用AES算法加密文檔(每個用戶每個元素都需要1個密鑰,共需要6個密鑰),采用IBE算法加密進入表;ICDAC方案采用AES加密文檔(每個用戶只能訪問與之安全等級匹配的文檔元素,共需要2個密鑰),采用IBE算法加密密鑰映射記錄。實驗測量計算開銷(單位ms)的結果如表4所示。由表4可知,ICDAC方案的計算開銷要明顯優于PPCDIBE方案,主要原因是PPCD的進入表部分多2次對稱加密的計算開銷。另外,由于ICDAC方案沒有進入表部分,相比PPCD要節省存儲開銷;ICDAC方案的對稱密鑰數量要遠低于PPCD-IBE方案。
組合文檔是云計算環境中新型的網絡信息表現形式,在信息交換與傳播中扮演關鍵角色。在云計算環境中,組合文檔具有多用戶參與、多媒體交互和多安全等級等“活”文檔特征。從而,滿足這種“活”文檔特征的組合文檔模型及其安全相關研究對于云計算環境中安全信息交互、服務協同等具有重要的理論和實際意義,對于加快云計算產業發展具有積極的推動作用。
本文的主要貢獻為以下2個方面:
(1)引入多級安全思想建立ComDoc模型,滿足了云計算環境中組合文檔的特殊特征,可為實現復雜的組合文檔及其工作流服務提供實現機制;

表4 訪問控制方案計算開銷的比較ms
(2)將IBE算法融入到ComDoc模型中,提出基于IBE的組合文檔細粒度訪問控制方案ICDAC,可實現云計算環境中對組合文檔的細粒度安全訪問。
綜合分析比較與實驗結果表明,本文提出的ICDAC方案要明顯優于已有方案。
[1] BALINKSY H,SIMSKE S J.Secure document engineering[C]∥Proceedings of the 11th ACM Symposium on Document Engineering.New York,USA:ACM,2011:269-272.
[2] BALINKSY H,SIMSKE S J.Differential access for publicly-posted composite documents with multiple workflow participants[C]∥Proceedings of the 10th ACM Symposium on Document Engineering.New York,USA:ACM,2010:115-124.
[3] 熊金波,姚志強,馬建峰,等.基于行為的結構化文檔多級訪問控制 [J].計算機研究與發展,2013,50(7):1399-1408.XIONG Jinbo,YAO Zhiqiang,MA Jianfeng,et al.Action-based multilevel access control for structured document[J].Journal of Computer Research and Development,2013,50(7):1399-1408.
[4] TAN S S,TANG E K,RANAIVO M B,et al.Modeling semantic correspondence in heterogeneous structured document collection[C]∥Proceedings of the 2011International Conference on Semantic Technology and Information Retrieval.Los Alamitos,CA:IEEE Computer Society,2011:189-196.
[5] 衡星辰,羅俊頡,郭俊文,等.八鄰域網格聚類的多樣性XML文檔近似查詢算法 [J].西安交通大學學報,2007,41(8):907-911.HENG Xingchen,LUO Junjie,GUO Junwen,et al.Approximate query algorithm based on eight neighbor grid clustering for heterogeneous XML documents[J].Journal of Xi’an Jiaotong University,2007,41(8):907-911.
[6] TEKLI J,CHBEIR R.A novel XML document structure comparison framework based on sub-tree commonalities and label semantics[J].Web Semantics:Science,Services and Agents on the World Wide Web,2012,11(3):14-40.
[7] PORTIER P E,CHATTI N,CALABRETTO S,et al.Modeling,encoding and querying multi-structured doc-uments[J].Information Processing &Management,2012,48(5):931-955.
[8] ZHENG S,LIU J.A secure confidential document model and its application [C]∥Proceedings of the International Conference on Multimedia Information Networking and Security.Piscataway,NJ,USA:IEEE Computer Society,2010:526-529.
[9] BOLL S,KLAS W.ZYX:a multimedia document model for reuse and adaptation of multimedia content [J].IEEE Transactions on Knowledge and Data Engineering,2001,13(3):361-382.
[10]BALINSKY H,CHEN L,SIMSKE S J.Publicly posted composite documents with identity based encryption[C]∥Proceedings of the 11th ACM Symposium on Document Engineering.New York,USA:ACM,2011:239-248.
[11]熊金波,姚志強,金彪.云計算環境中結構化文檔形式化建模 [J].計算機應用,2013,33(5):1267-1270.XIONG Jinbo,YAO Zhiqiang,JIN Biao.Formal modeling for structured document in cloud computing[J].Journal of Computer Applications,2013,33(5):1267-1270.
[12]BONEH D,FRANKLIN M.Identity-based encryption from the Weil pairing [J].SIAM Journal on Computing,2003,32(3):586-615.
[13]XIONG J B,YAO Z Q,MA J F,et al.A secure document self-destruction scheme with identity based encryption[C]∥Proceedings of the 5th International Conference on Intelligent Networking and Collaborative Systems,IEEE INCoS’13.Los Alamitos,CA,USA:IEEE CS,2013:239-243.
[14]劉西蒙,馬建峰,熊金波,等.密文策略的權重屬性基加密方案 [J].西安交通大學學報,2013,47(8):44-48.LIU Ximeng,MA Jianfeng,XIONG Jinbo,et al.Ciphertext policy weighted attribute based encryption scheme [J].Journal of Xi’an Jiaotong University,2013,47(8):44-48.
[15]LYNN B.The Pairing-based cryptography library[EB/OL].[2013-04-20].http:∥www.crypto.stanford.edu/pbc/dounload.html.