云存儲(chǔ)以其低廉的成本、良好的可擴(kuò)展性和可靠性等優(yōu)點(diǎn)而廣受青睞,已被越來越多的用戶所接受,把數(shù)據(jù)以外包的形式存儲(chǔ)在云端,已成為企業(yè)存儲(chǔ)的一種發(fā)展趨勢(shì)。目前,云存儲(chǔ)進(jìn)一步推廣應(yīng)用的主要阻礙是安全問題,由于數(shù)據(jù)存放在用戶無法掌控的云端,數(shù)據(jù)的安全過度依賴于并不十分可靠的云服務(wù)提供商(Cloud ServiceProvider,CSP),數(shù)據(jù)的安全難以得到保障。要解決這一問題通常采用加密存儲(chǔ)的方法,即數(shù)據(jù)擁有者把數(shù)據(jù)以密文形式存放在云端,數(shù)據(jù)的加解密均在本地完成,通過對(duì)密鑰的管理,數(shù)據(jù)擁有者就能實(shí)現(xiàn)對(duì)云端數(shù)據(jù)的訪問控制。
早期的云存儲(chǔ)針對(duì)個(gè)體用戶,加解密采用單一密鑰,需要分享文件時(shí),數(shù)據(jù)擁有者直接將密鑰傳遞給使用者,這種策略存在一系列問題,諸如不能細(xì)粒度控制,單一密鑰安全性差等。其后通過引入密鑰樹,并融入其他輔助認(rèn)證技術(shù)等改進(jìn)了對(duì)密文的控制能力,但是對(duì)于細(xì)粒度的分享控制和權(quán)限撤銷一直存在資源開銷過大的情況。
現(xiàn)在公共云存儲(chǔ)服務(wù)一般采用混合加密機(jī)制,包括密鑰封裝機(jī)制KEM和數(shù)據(jù)封裝機(jī)制DEM,其封裝結(jié)構(gòu)如圖1所示:
圖1 混合加密示意圖
廣播加密通過組密鑰維持對(duì)密文的訪問控制,每一個(gè)用戶屬于一個(gè)子集,并且存儲(chǔ)所有子集對(duì)應(yīng)的密鑰,發(fā)送者選擇適當(dāng)?shù)淖蛹采w所有合法用戶,用這些子集對(duì)應(yīng)的密鑰加密消息。廣播加密的關(guān)鍵指標(biāo)包括KEM的密文尺寸、公鑰尺寸和每個(gè)用戶儲(chǔ)存的私鑰數(shù)量,隨著在云存儲(chǔ)中依靠單一的群組策略并不能適應(yīng)多級(jí)需求。多級(jí)安全需要一種鏈?zhǔn)娇赏茖?dǎo)的模型來實(shí)現(xiàn),接下來將結(jié)合企業(yè)實(shí)際的應(yīng)用場(chǎng)景展開敘述。
2.1.1 單向函數(shù)
單向函數(shù)即正向計(jì)算容易,但其求逆計(jì)算在數(shù)學(xué)上是不可行的,或者很難證明可行性的,也就是僅可以通過正向輸入求得輸出,但很難通過輸出結(jié)果推算出它的輸入。
單向函數(shù)f(x)滿足以下兩個(gè)條件:
①對(duì)于所有屬于f定義域的任一x,可以很容易的計(jì)算出f(x)=y;
②對(duì)于幾乎所有屬于f值域的任一y,在計(jì)算上不可能推導(dǎo)出x使得y=f(x)成立。
利用單向函數(shù)的僅單向可推導(dǎo)特性,應(yīng)用在密鑰更新上,若密鑰k_1,k_2,k_3……k_i滿足單向函數(shù)f(x)的值域遞推關(guān)系,那持有k_1的用戶即可以通過f(x)逐步獲得密鑰k_2,k_3……k_i,實(shí)現(xiàn)多級(jí)安全訪問中的跨級(jí)訪問的行為。此時(shí),若f(x)滿足單調(diào)特性,對(duì)f(x)的偏移計(jì)算仍能滿足對(duì)密鑰的推導(dǎo)規(guī)則,即可用此特性來完成密鑰更新。
2.1.2 代理重加密
代理重加密(proxyre-encryption,PRE)允許一個(gè)半可信的代理者(proxy)將A可解密的密文轉(zhuǎn)換為B可解密的同一明文的不同密文,同時(shí)保證代理者無法獲知明文。
設(shè)由公鑰pka加密的密文為c1=(M)pka,proxy在不解密密文的情況下,利用重加密密鑰rkab將c1轉(zhuǎn)換為c2=(M)pkb,c2是公鑰pkb進(jìn)行加密的,可以由B直接解密。實(shí)際相當(dāng)于A通過代理重加密算法得到重加密的中間密鑰rkab,CSP用rkab對(duì)密文進(jìn)行了二次加密,通過數(shù)學(xué)算法,讓新密文滿足新的解密條件,可用于訪問權(quán)限撤銷時(shí)對(duì)云端數(shù)據(jù)的更新。
在企業(yè)云存儲(chǔ)實(shí)踐中,結(jié)合企業(yè)內(nèi)部管理的組織結(jié)構(gòu),高級(jí)用戶的數(shù)量最少卻需要授權(quán)最多的文件,而低級(jí)用戶數(shù)量最多,卻只能訪問受限的最少文件,文件的訪問控制權(quán)限呈現(xiàn)多級(jí)安全的層次策略。假設(shè)在一個(gè)云存儲(chǔ)系統(tǒng)中,用戶集合為U,文件集合為F,整個(gè)系統(tǒng)被劃分為n個(gè)安全等級(jí),?U(1≤i≤n)為安全等級(jí)為 i 的所有用戶集合,(1≤i,j≤n,i≠j),U=∪∪…∪,?F(1≤i≤n)為安全等級(jí)為 i 的所有文件集合,(1≤i,j≤n,i≠j),F(xiàn)=∪∪…∪,那么?u,用戶u可訪問的文件集合為(∪……∪)。
為接合上述情景,并獲得較高的安全度和較快的響應(yīng),本文采用改進(jìn)的混合加密機(jī)制,對(duì) DEM 采用密鑰長(zhǎng)度較短的 DES(Data Encryption Standard)算法進(jìn)行加密,以獲得較快速的大文件密文操作效率。在KEM部分依然采用DES的算法,但選擇位數(shù)較長(zhǎng)的密鑰加密較短的密鑰明文,依然保證計(jì)算效率,并根據(jù)安全等級(jí)和用戶的數(shù)量、涉及文件的數(shù)量等情況,靈活的確定不同安全級(jí)別 DES密鑰的長(zhǎng)度。維持高響應(yīng)和安全性的平衡,滿足實(shí)際應(yīng)用的基礎(chǔ)需求。
(1)場(chǎng)景概述
為了便于描述本文提出的多級(jí)安全訪問控制機(jī)制,在企業(yè)級(jí)云存儲(chǔ)環(huán)境中提取幾個(gè)重要的角色。CSP通過互聯(lián)網(wǎng)提供云存儲(chǔ)服務(wù),F(xiàn)ile由Data owner創(chuàng)建,并由Data owner加密上傳,F(xiàn)ile的密文將滿足多級(jí)安全訪問控制規(guī)則,Data owner負(fù)責(zé)分發(fā)管理所屬密文的狀態(tài),在用戶Data user訪問時(shí),需要滿足自身的安全等級(jí)不低于File的安全等級(jí),才能下載訪問,并且一旦發(fā)生權(quán)限撤銷,CSP將通過代理重加密操作完成云端數(shù)據(jù)更新。
(2)系統(tǒng)初始化
Data owner首先按照用戶的身份和文件的重要程度劃分用戶和文件的安全等級(jí),并為每個(gè)安全等級(jí)分配一個(gè)密鑰,然后對(duì)每個(gè)文件進(jìn)行加密和封裝。上傳到云端的文件按照安全級(jí)別的不同組織不同的目錄樹存儲(chǔ),同一級(jí)別的文件在一個(gè)目錄樹結(jié)構(gòu)中,以便文件的檢索和密文的更新。KEM 的結(jié)構(gòu)前部加入料所屬目錄樹的信息,用以描述文件的等級(jí),引導(dǎo)權(quán)限控制。
(3)文件的訪問
Data user發(fā)起對(duì)的File_1密文的訪問請(qǐng)求,CSP會(huì)識(shí)別Data user所在等級(jí),根據(jù)安全級(jí)別,決定是否開放訪問權(quán)限。
當(dāng)云存儲(chǔ)系統(tǒng)內(nèi)部發(fā)生安全隱患,需要撤銷某個(gè)危險(xiǎn)用戶時(shí),將對(duì)整個(gè)系統(tǒng)或大部分的密文進(jìn)行更新,主要操作由 CSP代理執(zhí)行,具體流程如下(詳見圖2所示):
圖2 密鑰更新圖
在云存儲(chǔ)訪問控制的研究中,對(duì)性能影響最大的就是加解密的計(jì)算開銷和更新密文的開銷,從訪問控制策略的設(shè)計(jì)來說,就是文件細(xì)粒度的訪問控制和用戶權(quán)限的動(dòng)態(tài)管理的矛盾,想要實(shí)現(xiàn)絕對(duì)的細(xì)粒度,就要盡可能對(duì)文件一次一密,其結(jié)果會(huì)產(chǎn)生的大量密鑰,增加動(dòng)態(tài)管理的開銷。所以,云端密文管理機(jī)制必須是有針對(duì)特定場(chǎng)景的、在特定安全范圍內(nèi)的策略。在設(shè)計(jì)策略上,需要找到細(xì)粒度訪問控制和用戶權(quán)限動(dòng)態(tài)更新的平衡。
系統(tǒng)自身的安全性包括密文解密難易程度和算法策略的可靠性,數(shù)據(jù)的機(jī)密性由對(duì)稱加密的原理可知,在保證密鑰長(zhǎng)度的情境下,針對(duì)暴力破解是安全的。算法推導(dǎo)可以抽象為數(shù)學(xué)上單向函數(shù)的求解,數(shù)學(xué)理論已經(jīng)確認(rèn)單向性的推導(dǎo)難度,可以用于密碼學(xué)應(yīng)用。
針對(duì)串謀攻擊,若兩個(gè)合法用戶相互傳遞密鑰以窺視密文,將通過 CSP限制其下載實(shí)現(xiàn),無等級(jí)歸屬的文件申請(qǐng)將被拒絕訪問。若某一用戶被撤銷,持有密鑰,與另一個(gè)合法用戶合謀窺視密文,則會(huì)根據(jù)用戶所屬安全等級(jí),執(zhí)行相應(yīng)的密文權(quán)限更新,若底層用戶退出,亦可通過 CSP進(jìn)行用戶黒名單隔離,并在必要時(shí)進(jìn)行懶惰的密文權(quán)限更新。
本文通過對(duì)企業(yè)級(jí)云存儲(chǔ)中多級(jí)安全訪問控制的研究,結(jié)合單向函數(shù)特性提出了多級(jí)應(yīng)用場(chǎng)景下可單向推導(dǎo)的密鑰管理方案,應(yīng)用代理重加密技術(shù)解決了大規(guī)模密鑰更新時(shí),用戶自身的開銷過大的問題,該方案具有架構(gòu)簡(jiǎn)單,易于部署實(shí)施,易于更新和權(quán)限管理等優(yōu)勢(shì),從整個(gè)系統(tǒng)運(yùn)作上減小了重新下載上傳密文的流量開銷,基本滿足了現(xiàn)行企業(yè)級(jí)云存儲(chǔ)對(duì)多級(jí)安全訪問控制的需求,為以后的實(shí)踐工作提出了可供參考的理論依據(jù),具有較高的可操作性和擴(kuò)展性。
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2015年11期