李志萍
摘要:針對(duì)云計(jì)算環(huán)境下圖書(shū)館隱私數(shù)字資源的安全問(wèn)題,介紹數(shù)據(jù)加密的基本原理,研究了基于身份的對(duì)稱加密體制的算法實(shí)現(xiàn)、優(yōu)勢(shì)和不足,引入屬性基加密方案并研究了屬性基加密方案的復(fù)合訪問(wèn)結(jié)構(gòu)、主要加密算法等。目前在密文策略屬性加密方案研究過(guò)程中,對(duì)于屬性重要性的考慮不足,該文則關(guān)于權(quán)重概念在密文策略屬性基加密方案中的引入展開(kāi)探討。
關(guān)鍵詞:云計(jì)算;加密;隱私數(shù)字資源;屬性基加密;權(quán)重屬性
中圖分類號(hào):G250 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)32-0068-03
Encryption Policy for the Library Privacy Digital Resources in the Cloud Computing Environment
LI Zhi-ping
(Guangzhou University Sontan College, Guanzhou 511370, China)
Abstract: As for the safety of library privacy digital resources in the cloud computing environment, this paper outlines the data encryption, studies the algorithm implementation of the identity based symmetric encryption system and its advantages and disadvantages. Then it introduces the attribute-based encryption, probes into its composite structure access, and the main encryption algorithms. Since less attention has been paid to the current cipher text-policy attribute-based encryption (CP-ABE), it is quite necessary to use the weighed one.
Key words: cloud computing; encryption; Privacy Digital Resources; attribute-based encryption; weighted attribute
1 背景
在圖書(shū)館數(shù)字資源研究中發(fā)現(xiàn),基本包括公開(kāi)數(shù)字資源以及隱私數(shù)字資源,其中前者主要為電子圖書(shū)、報(bào)刊以及書(shū)目信息等等,這些內(nèi)容均可以公開(kāi);后者則主要包括有學(xué)位論文、學(xué)生信息以及財(cái)務(wù)數(shù)據(jù)等等,這些數(shù)據(jù)均不可以公開(kāi)。在云計(jì)算發(fā)展應(yīng)用下,數(shù)據(jù)提供者及其訪問(wèn)者不再是傳統(tǒng)的一對(duì)一模式,數(shù)據(jù)提供者在進(jìn)行數(shù)據(jù)提供的時(shí)候,需要將其存儲(chǔ)在第三方云計(jì)算服務(wù)提供商數(shù)據(jù)庫(kù)中,通過(guò)此才能夠?yàn)閺V大數(shù)據(jù)訪問(wèn)者提供相應(yīng)的服務(wù),借助服務(wù)商的多種開(kāi)發(fā)接口則可以享受到數(shù)據(jù)閱讀及查詢等服務(wù)。但是在此過(guò)程中,云服務(wù)端所存儲(chǔ)的數(shù)據(jù)則可能會(huì)出現(xiàn)被非法竊取及篡改問(wèn)題。在圖書(shū)館數(shù)字資源中的一些電子圖書(shū)等公開(kāi)信息,則不必對(duì)其實(shí)施保密處理,在云存儲(chǔ)保存中也可以采用明文形式,只需對(duì)其進(jìn)行完整性檢測(cè)。但對(duì)于隱私數(shù)字資源,一些保密學(xué)生信息及學(xué)位論文等等,為防止云服務(wù)提供商私自使用數(shù)據(jù),或第三方用戶盜取數(shù)據(jù),云計(jì)算都必須先進(jìn)行加密處理。
2 基于身份的加密體制
2.1 數(shù)據(jù)加密技術(shù)原理
數(shù)據(jù)加密簡(jiǎn)而言之也就是采用某種算法實(shí)現(xiàn)之前明文文件或者數(shù)據(jù)的處理,將其轉(zhuǎn)換成為一些不可讀的代碼,也就將其稱為是“密文”。在閱讀過(guò)程中只有應(yīng)用相應(yīng)密鑰,才可以看到具體的文本內(nèi)容,以此有效確保一些不可公開(kāi)信息數(shù)據(jù)不受到非法竊取及閱讀。將此過(guò)程逆向處理也就是解密過(guò)程,也就是將“密文”形式成功轉(zhuǎn)化為之前數(shù)據(jù)形式的過(guò)程。其中圖1則為典型數(shù)據(jù)加密模型。
2.2 云計(jì)算環(huán)境下數(shù)據(jù)資源的加密技術(shù)分析
在云計(jì)算環(huán)境中,基于密鑰特點(diǎn)則可以將加密算法分成兩種,其中一種為對(duì)稱密碼算法,另外一種則為非對(duì)稱密碼算法。前者也被稱為傳統(tǒng)密碼算法,在其應(yīng)用中需要確保數(shù)據(jù)擁有者和數(shù)據(jù)訪問(wèn)者協(xié)調(diào)確定出一組加解密密鑰,之后借助于加密密鑰實(shí)現(xiàn)相關(guān)數(shù)據(jù)的有效加密,數(shù)據(jù)訪問(wèn)者在進(jìn)行數(shù)據(jù)訪問(wèn)的時(shí)候,則可以通過(guò)數(shù)據(jù)擁有者或者密鑰管理中心到相應(yīng)的解密密鑰。其特點(diǎn)是在加密與解密過(guò)程中使用相同的密鑰,并且在實(shí)際應(yīng)用中安全性比較高,加密速度較快,在實(shí)際數(shù)據(jù)加密中也比較常用,最常見(jiàn)的主要有DES、AES、IDEA 等。
而與之相對(duì)應(yīng)的是非對(duì)稱密碼算法,簡(jiǎn)而言之也就是加密密鑰和解密密鑰不一致,其中加密密鑰也被稱之為公鑰,可以公開(kāi);解密密鑰則被稱之為私鑰,不可以公開(kāi)。這一加密算法也被稱為公鑰密碼算法,最常見(jiàn)則主要有RSA、ECC等,屬于是在實(shí)際應(yīng)用中最為廣泛的公鑰算法,也是一種分組加密算法,算法原理簡(jiǎn)單、易于使用。
但是在云計(jì)算技術(shù)不斷發(fā)展進(jìn)程中,互聯(lián)網(wǎng)中的數(shù)據(jù)共享也逐漸廣泛,在新的網(wǎng)絡(luò)環(huán)境下如果依舊采用傳統(tǒng)的數(shù)據(jù)加密方式,則無(wú)法有效滿足實(shí)際網(wǎng)絡(luò)應(yīng)用需求。對(duì)于云計(jì)算數(shù)據(jù)資源安全加密技術(shù)也提出了新的要求,在云計(jì)算加密技術(shù)研究中也成為新的方向。基于身份的加密、屬性基加密、引入權(quán)重的屬性基加密等各種加密算法都不斷地被提出、論證、實(shí)施及改進(jìn)。
2.3 基于身份的對(duì)稱加密體制
在圖書(shū)館數(shù)據(jù)資源管理過(guò)程中,數(shù)據(jù)量非常大,在數(shù)據(jù)加密中如果還是單純采用非對(duì)稱密碼體制,無(wú)法有效提高其應(yīng)用效率,因此則可以采用對(duì)稱密碼體制實(shí)施數(shù)據(jù)加密,操作如下:
第一 步:應(yīng)用對(duì)稱密碼算法實(shí)現(xiàn)圖書(shū)館數(shù)據(jù)信息[F]的加密處理,之后即為加密文件[S]。
第二 步:將[S]分成[n]個(gè)數(shù)據(jù)塊[s1,s2,…,sn]
第 三步:對(duì)每個(gè)密文件塊[Si]簽名,假設(shè)簽名序列為[σ1,σ2,…,σn],數(shù)據(jù)塊[Si]的簽名為[σi=μH(Si)α]。[H]在密碼學(xué)中屬于是[hash]函數(shù),不同長(zhǎng)度的0,1字符串均可以將其在群[G]上映射成為元素,在群[G]中[μ]則屬于是生成元,[α]也就是圖書(shū)館數(shù)據(jù)中的私鑰。
第四 步:在云存儲(chǔ)數(shù)據(jù)庫(kù)中保存圖書(shū)館密文數(shù)據(jù)庫(kù)以及相關(guān)簽名。
第 五步:檢測(cè)文件[F]過(guò)程中,圖書(shū)館則需要生成挑戰(zhàn)[chal=i,vi],并發(fā)送給云存儲(chǔ)然后等候應(yīng)答。其中[i,vi]為挑戰(zhàn)對(duì),用來(lái)對(duì)第[i]個(gè)數(shù)據(jù)塊進(jìn)行檢測(cè),[vi]是為數(shù)據(jù)塊[i]選取的隨機(jī)數(shù)。
第 六步:基于挑戰(zhàn)[chal=i,vi]結(jié)果,云存儲(chǔ)系統(tǒng)則需要對(duì)[μ,σ]實(shí)施返回應(yīng)答。[μ]則需要實(shí)現(xiàn)圖書(shū)館挑戰(zhàn)隨機(jī)數(shù)乘以云存儲(chǔ)數(shù)據(jù)塊,乘出來(lái)的結(jié)果相加也就是[μ=i=1nviHSi];[σ]則是在計(jì)算過(guò)不同數(shù)據(jù)塊簽名及挑戰(zhàn)隨機(jī)數(shù)之后,進(jìn)一步實(shí)施結(jié)果相乘所得,也就是[σ=i=1nσivi]。
第 七步:在進(jìn)行方程[e(σ,g)=e(μμ,v)]成立判別中,也就可以分析圖書(shū)館的數(shù)據(jù)完整性。其中[e]也就是密碼學(xué)的雙線性映射結(jié)果,本身屬于是函數(shù)運(yùn)算;在群[G]中[g]屬于是生成元,在進(jìn)行圖書(shū)館公鑰[v]生成過(guò)程中需要用到,也就是[v=gα]。
在身份加密體制實(shí)施加密處理,公鑰也就可以應(yīng)用用戶身份信息,從而避免了任務(wù)設(shè)立CA中心的負(fù)擔(dān),但這一加密體制在應(yīng)用中依舊存在多種問(wèn)題,比如說(shuō)數(shù)據(jù)擁有者如果想要實(shí)現(xiàn)數(shù)據(jù)共享,同時(shí)實(shí)現(xiàn)多個(gè)授權(quán)用戶訪問(wèn),那么在進(jìn)行公鑰設(shè)置過(guò)程中,則可以分別將訪問(wèn)用戶身份信息作為公約實(shí)現(xiàn)機(jī)密,隨著用戶量的加大,需要實(shí)施協(xié)商的密鑰數(shù)量也會(huì)有所增長(zhǎng);同時(shí)如果網(wǎng)絡(luò)環(huán)境本身安全性不夠,關(guān)于密鑰的協(xié)商及分發(fā)安全渠道問(wèn)題則需要進(jìn)一步探索。
3 基于屬性基的加密體制設(shè)計(jì)
訪問(wèn)用戶身份信息具有唯一性,然而在其屬性研究中則非??赡芫哂泄残蕴攸c(diǎn),因此在研究過(guò)程中則提出了基于屬性基加密的概念。這一方式和之前應(yīng)用用戶唯一身份信息作為加密數(shù)據(jù)公鑰具有一定差異,基于屬性加密體制在設(shè)計(jì)過(guò)程中,數(shù)據(jù)加密公約則是用戶屬性集合,只有用戶屬性集合和密文屬性集合共有屬性數(shù)量,能夠和門限要求有效滿足的時(shí)候,一個(gè)訪問(wèn)用戶才能夠解密一個(gè)密文。也就是將屬性劃分為普通屬性和許可屬性兩類,用戶只有在其持有的屬性,并且也能夠?qū)γ芪脑L問(wèn)結(jié)果以及許可屬性條件有效滿足的時(shí)候,才能夠有效實(shí)現(xiàn)數(shù)據(jù)的成功解密。
3.1 屬性基加密體制的復(fù)合訪問(wèn)結(jié)構(gòu)
假設(shè)用[TA]表示普通屬性結(jié)構(gòu)樹(shù),[TB]表示許可屬性結(jié)構(gòu)樹(shù),則基于屬性基加密體制的訪問(wèn)結(jié)構(gòu)[T]由[TA]及[TB]用“與”門操作實(shí)現(xiàn),子樹(shù)[TA]包含的普通屬性集管理者則屬于授權(quán)中心,子樹(shù)[TB]則主要為屬性集,管理者為數(shù)據(jù)屬性。解密密文的獲得必須要確保用戶持有屬性和[TA]和[TB]同時(shí)滿足,同時(shí)也能夠“與”門根節(jié)點(diǎn)[T],所得到才是正確的解密密文。
3.2 主要加密方案
1)密鑰第一部分生成算法:將用戶[u]的屬性集[U]作為輸入,選擇隨機(jī)元素[ti∈Z*p]、選擇隨機(jī)數(shù)[r1∈Z*p],計(jì)算[d1=gα1-r1],再為[U]中的每個(gè)屬性[αj∈U]隨機(jī)選擇[rj∈Z*p],計(jì)算[dj=grtj-1]。最終輸出用戶私鑰第一部分為 [SK1=(d1=gα1-r1,?j∈Au:dj=grtj-1)]。
2)密鑰第二部分生成算法:將用戶身份[bk]作為輸入,選擇隨機(jī)元素[ti∈Z*p]、選擇隨機(jī)數(shù)[r2∈Z*p],計(jì)算[d2=gα2-r2],再為用戶身份[bk]隨機(jī)選擇[rk∈Z*p],計(jì)算[dk=grtn+k-1]。最終輸出用戶私鑰第二部分為[SK2=(d2=gα2-r2,dk=grtn+k-1)]。
在執(zhí)行完這兩部分算法后,用戶[u]的一個(gè)完整私鑰[SKU=(SK1,SK2)]就能夠成功生成。
3)復(fù)合訪問(wèn)結(jié)構(gòu)[T]生成算法:隨機(jī)選取[s1,s2∈Zp]中的兩個(gè)隨機(jī)數(shù),并且將其一一對(duì)應(yīng)作為子樹(shù)[TA]和[TB]的根節(jié)點(diǎn),采用遞歸方式將共享秘密分配在[TA]中每個(gè)非葉節(jié)點(diǎn)。
4)密文主體部分生成算法:
分別計(jì)算 [c1=gs1],[c2=gs2],[c*=Me(g,g)α1s1e(g,g)α2s2],
最終輸出密文為
[ct=(T,c*,c1,c2,?αj,i∈TA:cj,i,?tj,i∈TB:kj,i)]。
基于屬性基加密方案的應(yīng)用特點(diǎn)主要有:不管是加密還是解密方案均具有一定動(dòng)態(tài)性,并且可以靈活應(yīng)用,在用戶解密能力以及保護(hù)密文中,可以顯著實(shí)現(xiàn)細(xì)粒度控制。但其不足之處是沒(méi)有考慮到每個(gè)屬性值的地位和重要性都不盡相同,屬性加密方案中對(duì)這方面的差異性未作區(qū)別對(duì)待,這不符合客觀實(shí)際應(yīng)用環(huán)境。
4 引入權(quán)重的屬性基加密體制
基于實(shí)際應(yīng)用環(huán)境的綜合考慮,關(guān)于屬性值地位則可有一定差異,在屬性基加密過(guò)程中則可以加大權(quán)重的引入及應(yīng)用。在圖書(shū)館數(shù)據(jù)系統(tǒng)中,用戶屬性不同則權(quán)值也具有差異,在解密過(guò)程中,只有確保密鑰屬性能夠?qū)γ芪脑L問(wèn)結(jié)構(gòu)有效滿足的時(shí)候,才能夠?qū)崿F(xiàn)正確解密。實(shí)際應(yīng)用中為減少計(jì)算量,屬性的權(quán)重值可以分別取為不同的自然數(shù),具體算法實(shí)現(xiàn)如下:
1)屬性集轉(zhuǎn)化算法([Γ]):將系統(tǒng)全體屬性輸入其中,屬性不同權(quán)值也具有差異。對(duì)于全體屬性集[Γ=λ1,λ2,…,λr]中的每一個(gè)屬性[λi],分配屬性[λi]允許在系統(tǒng)中的最大權(quán)值為整數(shù)[θi=ω(λi)]??尚胖行囊罁?jù)屬性在系統(tǒng)中重要程度的不同,對(duì)系統(tǒng)中的每一個(gè)屬性都分配一個(gè)系統(tǒng)允許的最大權(quán)值。將屬性集[Γ]中的每一個(gè)屬性[λi],依據(jù)權(quán)重進(jìn)行分割,將其分割后的最小份額設(shè)定為1,分割之后的屬性[λi]所對(duì)應(yīng)的則分別是[(λi,1),(λi,2),…,(λi,θi)],組成的集合也就被稱為是全體屬性權(quán)重的分割集[Γ?]。
2)系統(tǒng)建立[(1λ,Γ?)]算法:選擇素?cái)?shù)階[ρ] 的群[G],記[u=iθi]。系統(tǒng)隨機(jī)選擇[h1,…,hu∈G],此外隨機(jī)地選定指數(shù)[α],[α∈Zρ],可信中心根據(jù)安全參數(shù)[1λ]與全體屬性權(quán)重分割集[Γ?] 運(yùn)行系統(tǒng),也即將全體屬性權(quán)重的分割集[Γ?] 輸入到系統(tǒng)。在以上計(jì)算過(guò)程中則可以生成公鑰為[PK=g,e(g,g)α,gα,h1,…,hu],主密鑰為[QK=gα]。
3)加密算法[(PK,m,A)]:輸入?yún)?shù)則分別為公鑰參數(shù)[PK]、訪問(wèn)結(jié)構(gòu)[A]以及消息[m], [A]則屬于是矩陣訪問(wèn)結(jié)構(gòu)[(Q,f)],函數(shù)[f] 則能夠有效實(shí)現(xiàn)屬性權(quán)重最小份額和[Q]的有效對(duì)應(yīng)。屬性[λe]的第[θt]個(gè)權(quán)重分割位置則需要和矩陣第[i]個(gè)位置相對(duì)應(yīng),也就是確保[f(i)→(λe,θt)]。[Q] 則可以作為是[l×n]的矩陣,在計(jì)算過(guò)程中需要先在[Znp]上確定出一組隨機(jī)行向量[v=(s,y2,y3,…,yn)],則可以在加密元素[s]分享中應(yīng)用。如果[i=1,2,…,l],則可以計(jì)算得出[γi=v?Qi],[Qi]則和[Q] 的第[i]行相對(duì)應(yīng)。
加密算法公布密文則為
[CT=C=me(g,g)αs,C*=gs,C1=gαγ1h-sf(1),…,Cl=gαγlh-sf(l)]
4)密鑰生成算法[(Qk,S*)]:在密鑰算法過(guò)程中,則需要首先將主密鑰[Qk]和用戶對(duì)應(yīng)屬性分割集[S*]分別進(jìn)行輸入,隨機(jī)確定[t∈Zp],將分割集[S*]生成為屬性對(duì)應(yīng)的私鑰[SK]。以上計(jì)算過(guò)程中所得私鑰為[SK=K=gαgαt,L=gt,?x∈S*:Kx=htx]。
5)解密算法[(PK,CT,SK)]:數(shù)據(jù)接受者在得到相應(yīng)密文自后,在解密算法中一一輸入公鑰參數(shù)[PK]、私鑰[SK]以及密文[CT],如果在私鑰中的屬性分割集[S*] 能夠?qū)γ芪脑L問(wèn)結(jié)構(gòu)[A]有效滿足,也就能夠成功解密,并有效恢復(fù)出消息[m]。
引入權(quán)重的屬性基加密體制的優(yōu)點(diǎn)體現(xiàn)在該方案不但支持細(xì)粒度的訪問(wèn)控制,也區(qū)別對(duì)待了不同屬性的不同重要性,更加貼近于實(shí)際應(yīng)用環(huán)境,近年來(lái)引起較多學(xué)者的重視。
5 結(jié)束語(yǔ)
圖書(shū)館隱私數(shù)字資源屬于是自身特有的寶貴資源,在其應(yīng)用中安全性非常重要。加密處理則是有效提高數(shù)據(jù)安全的一個(gè)重要措施。在云計(jì)算技術(shù)發(fā)展進(jìn)程中,網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)機(jī)密技術(shù)要求也隨之加大,不斷有新的加密算法提出、應(yīng)用以及否定、改進(jìn)等等,任何一種加密算法均具有自身的應(yīng)用優(yōu)勢(shì),因此在未來(lái)數(shù)據(jù)加密中,將實(shí)現(xiàn)不同加密體制的共同發(fā)展。由于算法原理簡(jiǎn)單、易于使用,同時(shí)在實(shí)際應(yīng)用中安全性高以及加密速度快,對(duì)稱加密技術(shù)的應(yīng)用最為廣泛,其中基于屬性加密算法能夠有效將傳統(tǒng)的身份控制及認(rèn)證,擴(kuò)展成為用戶屬性集合認(rèn)證,能夠進(jìn)一步實(shí)現(xiàn)其控制手段的豐富性。基于與門、或門等控制單元,能夠設(shè)計(jì)出和不同情況相其和的訪問(wèn)控制結(jié)構(gòu),其在理論設(shè)計(jì)上的復(fù)雜性,近年得到廣泛的關(guān)注。但是在當(dāng)前應(yīng)用過(guò)程中,基于屬性加密算法和相關(guān)方案還存在一定不足,而屬性權(quán)重的引入就是一種嘗試。
參考文獻(xiàn):
[1] 楊旸, 胡予濮, 張樂(lè)友, 等. 標(biāo)準(zhǔn)模型下可證明安全的分級(jí)身份簽名方案[J]. 西安交通大學(xué)學(xué)報(bào), 2011, 45(2): 27-33.
[2] 劉西蒙, 馬建峰, 熊金波, 等. 密文策略的權(quán)重屬性基加密方案[J]. 西安交通大學(xué)學(xué)報(bào), 2013, 47(8): 44-48.
[3] 蘇金樹(shù), 曹丹, 王小峰. 屬性基加密機(jī)制[J]. 軟件學(xué)報(bào), 2011, 22(6): 1299-1315.
[4] 劉帆, 楊明. 一種用于云存儲(chǔ)的密文策略屬性基加密方案[J]. 計(jì)算機(jī)應(yīng)用研究, 2012, 29(4): 1452-1456.
[5] 張海玉. 云平臺(tái)下數(shù)字圖書(shū)館的安全策略研究[J]. 圖書(shū)館學(xué)研究,2013(3): 42-46.
[6] 邵志毅, 楊波, 梁?jiǎn)⒎? 云計(jì)算中數(shù)字圖書(shū)館外包數(shù)據(jù)的完整性檢測(cè)[J]. 圖書(shū)館論壇, 2014(12): 98-103.