喻志超,施運(yùn)梅
(北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院, 北京市 100085)
隨著云計(jì)算規(guī)?;图s化的發(fā)展,訪問(wèn)控制安全成為云計(jì)算領(lǐng)域重點(diǎn)關(guān)注問(wèn)題。其任務(wù)是通過(guò)限制用戶對(duì)數(shù)據(jù)信息的訪問(wèn)能力及范圍,保證信息資源不被非法使用和訪問(wèn)[1]。WebOffice利用云計(jì)算平臺(tái)向用戶提供文檔存儲(chǔ)、編輯與協(xié)作編輯等服務(wù),節(jié)約了用戶辦公成本。用戶可以在不同的平臺(tái)上對(duì)文檔進(jìn)行操作,提高了辦公效率。但文檔的存儲(chǔ)介質(zhì)位于用戶控制之外,被第三方控制,用戶對(duì)文檔數(shù)據(jù)的可控性減弱,會(huì)產(chǎn)生安全隱患。由于未來(lái)云計(jì)算將形成一個(gè)以云基礎(chǔ)設(shè)施為核心、涵蓋云基礎(chǔ)軟件、平臺(tái)服務(wù)與云應(yīng)用服務(wù)等多個(gè)層次的巨型全球化IT服務(wù)化網(wǎng)絡(luò)[2],而WebOffice又是云應(yīng)用服務(wù)的一部分,所以針對(duì)云平臺(tái)環(huán)境的流式文檔訪問(wèn)控制成為了亟待解決的問(wèn)題,并且協(xié)作環(huán)境的特點(diǎn)之一是多用戶參與共同完成一項(xiàng)工作或任務(wù),所以在此環(huán)境下,在線文檔的安全問(wèn)題尤為重要。
目前國(guó)內(nèi)外大多數(shù)WebOffice僅支持文件粒度的訪問(wèn)控制,不支持段落粒度的訪問(wèn)控制,不能適應(yīng)云環(huán)境動(dòng)態(tài)多變的情況。Google Docs 在2009 年3 月就發(fā)生過(guò)不同用戶之間文檔的非授權(quán)交互訪問(wèn)問(wèn)題[3]。
在云平臺(tái)中,用戶數(shù)量、文檔數(shù)量龐大,這些特點(diǎn)給訪問(wèn)控制技術(shù)提出了新的要求,傳統(tǒng)的訪問(wèn)控制技術(shù)已無(wú)法滿足WebOffice帶來(lái)的更高要求。本文對(duì)傳統(tǒng)的訪問(wèn)控制方法進(jìn)行改造,構(gòu)建了適合于云平臺(tái)下流式文檔的訪問(wèn)控制模型A-TBAC(attribute and trust-based access control),并應(yīng)用于我們自行開(kāi)發(fā)的WebOffice系統(tǒng)——DAVOffice中。
傳統(tǒng)的訪問(wèn)控制方法有:自主訪問(wèn)控制[4](discretionary access control,DAC)、強(qiáng)訪問(wèn)控制[5](mandatory access control,MAC)。
DAC能夠?qū)Y源進(jìn)行一定程度訪問(wèn)控制,但是被授權(quán)用戶可以將權(quán)限傳遞,造成權(quán)限濫用;MAC通過(guò)分配密級(jí),匹配安全屬性的方法達(dá)到了較高的安全保護(hù)性,但是非常不靈活,難以管理。
最新的訪問(wèn)控制方法有:基于角色的訪問(wèn)控制方法[6](role-based access control,RBAC)、基于屬性的訪問(wèn)控制方法[7](attribute-based access control,ABAC)、基于信任的訪問(wèn)控制方法[8](yrust-based access control,TBAC)。RBAC將用戶與權(quán)限分離,將權(quán)限與角色綁定再分配給用戶,降低了系統(tǒng)權(quán)限管理的復(fù)雜度,但是需要預(yù)先設(shè)定角色,角色分配非常復(fù)雜,不利于多用戶擴(kuò)展;ABAC根據(jù)主體屬性、客體屬性、環(huán)境屬性來(lái)進(jìn)行訪問(wèn)控制,并不需要復(fù)雜的角色分配,符合云環(huán)境的特點(diǎn);TBAC通過(guò)計(jì)算主體與客體的信任度來(lái)對(duì)訪問(wèn)控制請(qǐng)求進(jìn)行決策,并且根據(jù)用戶行為,來(lái)更新信任度數(shù)值,在復(fù)雜的云平臺(tái)環(huán)境下,更為靈活多變,防止權(quán)限濫用。
云平臺(tái)是一個(gè)開(kāi)放的環(huán)境,用戶數(shù)量多、文件資源多,因此需要訪問(wèn)控制更加靈活、動(dòng)態(tài)性更強(qiáng)、控制粒度更細(xì)。傳統(tǒng)的訪問(wèn)控制方法不能夠很好地適應(yīng)云平臺(tái)的訪問(wèn)控制需求。國(guó)內(nèi)外研究人員在傳統(tǒng)的訪問(wèn)控制模型基礎(chǔ)上提出了一些改進(jìn)的訪問(wèn)控制模型,主要是用于提升模型的靈活性、動(dòng)態(tài)性,減小訪問(wèn)控制對(duì)象的粒度大小。文獻(xiàn)[9]提出一種將RBAC和ABAC相結(jié)合的訪問(wèn)控制方法,因?yàn)榻Y(jié)合基于屬性的訪問(wèn)控制方法,能夠使訪問(wèn)控制更加的靈活,適用于多用戶場(chǎng)景;文獻(xiàn)[10]提出了一種支持協(xié)作的強(qiáng)訪問(wèn)控制模型,將DAC與基于任務(wù)的訪問(wèn)控制方法相結(jié)合,解決了敏感信息雙向流動(dòng)問(wèn)題,同時(shí)增強(qiáng)了動(dòng)態(tài)性,但是并沒(méi)有給出具體的實(shí)施方案;文獻(xiàn)[11]提出了一種基于信任的訪問(wèn)控制方法,增強(qiáng)了動(dòng)態(tài)性,但參數(shù)選取與大量的計(jì)算開(kāi)銷(xiāo)使得系統(tǒng)難以擴(kuò)展;文獻(xiàn)[12]通過(guò)擴(kuò)展XACML標(biāo)準(zhǔn),提出了一種在同一文檔中支持不同訪問(wèn)控制策略的保護(hù)方案,但是無(wú)法實(shí)現(xiàn)動(dòng)態(tài)授權(quán)管理;文獻(xiàn)[13]引入了屬性約束與用戶組,減少了權(quán)限管理復(fù)雜性,但是角色繼承關(guān)系上存在缺陷;文獻(xiàn)[14]提出了一種基于屬性的云協(xié)同制造平臺(tái),彌補(bǔ)了控制粒度方面不足,但不適用于云平臺(tái)環(huán)境下;文獻(xiàn)[15]提出了一種基于信任評(píng)估的云服務(wù)屬性訪問(wèn)控制模型,采用一種基于服務(wù)質(zhì)量指標(biāo)的信任評(píng)估方法,將直接信任、間接信任和綜合信任結(jié)合起來(lái)評(píng)估用戶的信任度,但是此方法缺乏靈活性。
本文所提出的訪問(wèn)控制模型可以實(shí)現(xiàn)動(dòng)態(tài)和細(xì)粒度的授權(quán)方法,能夠彌補(bǔ)上述研究成果在動(dòng)態(tài)性方面的不足,防止攻擊者非法訪問(wèn)竊取在線編輯文檔的信息。
下面對(duì)A-TBAC訪問(wèn)控制模型中的模型元素進(jìn)行定義。
定義1用戶集U={u1,u2,…,ui,…,un},其中ui代表云盤(pán)中的用戶。
定義2段落集P={p1,p2,…,pi,…,pn},其中pi為一篇文檔中的段落。
定義3文檔集D={d1,d2,…,di,…,dn},其中di為一篇文檔。
定義4操作集合O={o1,o2,o3},O為一個(gè)枚舉集合,其中o1為查看操作,o2為刪除操作,o3為更新操作。
定義5段落操作集合Op={(p1,oi),(p2,oi),…,(pn,oi)},其中i∈[1,3],n∈N*。
定義9策略P可以表達(dá)為一個(gè)三元組P={RA,di,Op}。
下面通過(guò)一個(gè)簡(jiǎn)單的案例來(lái)介紹本文所提模型的策略判定過(guò)程。首先給出5個(gè)用戶的屬性值和5篇文檔的規(guī)則屬性值,用戶屬性分別為用戶的職務(wù)、所屬群組和信任度,如表1所示。文檔屬性分別為用戶的職務(wù)、所屬群組集合、信任度閾值,如表2所示。
表1 用戶屬性表
表2 規(guī)則屬性表
本案例的策略集中包含5條策略,如表3所示。表中每1條記錄為1條訪問(wèn)策略。
表3 策略集
案例中假設(shè)有4條訪問(wèn)請(qǐng)求ar1、ar2、ar3、ar4,其中每條訪問(wèn)請(qǐng)求包含用戶的屬性信息與要訪問(wèn)的目標(biāo)文檔,如表4所示。
表4 訪問(wèn)請(qǐng)求
基于表3策略集對(duì)表4訪問(wèn)請(qǐng)求進(jìn)行判定,判定結(jié)果如表5所示。
表5 判定結(jié)果
對(duì)于表5中的4條訪問(wèn)請(qǐng)求,在表4策略集合中的5條策略集只有ar1、ar2這2條訪問(wèn)請(qǐng)求是匹配的,因此允許訪問(wèn);ar3請(qǐng)求中由于訪問(wèn)用戶u3的信任度值為0.7,低于p3規(guī)則中的信任度閾值0.8,因此不匹配,拒絕訪問(wèn);ar4請(qǐng)求中由于u4的職務(wù)為學(xué)生,與p4規(guī)則中的教師職務(wù)不匹配,因此拒絕訪問(wèn)。
本文利用ABAC和TBAC的各自特點(diǎn),構(gòu)建了基于屬性與信任的訪問(wèn)控制模型A-TBAC。模型繼承了ABAC方法能夠表達(dá)細(xì)粒度訪問(wèn)控制信息的特點(diǎn),結(jié)合TBAC方法,根據(jù)用戶行為動(dòng)態(tài)更新用戶信任度。因此A-TBAC模型能更好地滿足在線文檔細(xì)粒度的訪問(wèn)控制需求和云平臺(tái)中用戶動(dòng)態(tài)變化的特點(diǎn)。
為了使本模型有良好的擴(kuò)展性與通用性,需要使用標(biāo)準(zhǔn)化的語(yǔ)言、訪問(wèn)授權(quán)方法和執(zhí)行策略來(lái)建立一個(gè)通用的授權(quán)標(biāo)準(zhǔn),授權(quán)基于各種授權(quán)策略和規(guī)則,策略和規(guī)則圍繞用戶角色和職責(zé)制定??蓴U(kuò)展訪問(wèn)控制標(biāo)記語(yǔ)言XACML(extensible access control markup language)正是這樣的標(biāo)準(zhǔn)。XACML是由OASIS批準(zhǔn)的通用的基于XML的基于策略管理和訪問(wèn)決策的訪問(wèn)控制語(yǔ)言,該語(yǔ)言支持基于XML的通用策略語(yǔ)言,主要用于實(shí)現(xiàn)資源的訪問(wèn)控制,非常適合云平臺(tái)環(huán)境。
A-TBAC模型中由5個(gè)部分組成:授權(quán)系統(tǒng)、策略實(shí)施點(diǎn)(PEP)、策略決策點(diǎn)(PDP)、策略信息點(diǎn)(PIP)和策略管理點(diǎn)(PAP)。如圖1所示。
圖1 基于屬性與信任的訪問(wèn)控制模型
授權(quán)系統(tǒng):對(duì)用戶授權(quán),通過(guò)授權(quán)后進(jìn)行訪問(wèn)控制,否則系統(tǒng)拒絕訪問(wèn)。
PEP:包含上下文轉(zhuǎn)換器,將非基于XACML的請(qǐng)求轉(zhuǎn)化為基于XACML的請(qǐng)求,將封裝好的請(qǐng)求發(fā)送至PDP。
PDP:信任度動(dòng)態(tài)更新器,動(dòng)態(tài)更新用戶的信任度。
PIP:用戶的身份信息、屬性信息、信任度信息。
PAP:存儲(chǔ)訪問(wèn)控制策略,這些訪問(wèn)控制策略由XACML語(yǔ)言描述。
具體的策略判斷流程如下:
1)用戶將請(qǐng)求提交給授權(quán)系統(tǒng);
2)授權(quán)系統(tǒng)收到請(qǐng)求后,用戶成功取得授權(quán),將請(qǐng)求轉(zhuǎn)發(fā)給PEP;
3)PEP接收到用戶發(fā)來(lái)的請(qǐng)求,收集用戶、資源、環(huán)境等信息發(fā)送給上下文處理器;
4)上下文處理器將PEP發(fā)送來(lái)的請(qǐng)求封裝成基于XACML的請(qǐng)求,發(fā)送給PDP;
5)PDP接收請(qǐng)求后向PIP請(qǐng)求用戶身份信息、屬性信息以及信任度信息,并通過(guò)信任度更新器更新信任度,然后向PAP請(qǐng)求搜索適用于本次請(qǐng)求的策略;
6)PDP根據(jù)適用策略做出決策結(jié)果并將基于XACML的結(jié)果返回給PEP;
7)PEP獲得決策結(jié)果后,允許或拒絕云平臺(tái)用戶的訪問(wèn)。
為了使訪問(wèn)控制更加合理化,用戶對(duì)系統(tǒng)進(jìn)行操作的同時(shí),系統(tǒng)也將對(duì)用戶的行為進(jìn)行記錄并反饋,通過(guò)計(jì)算用戶的直接信任度和間接信任度來(lái)約束用戶對(duì)資源的操作權(quán)限。計(jì)算數(shù)據(jù)來(lái)源:1)用戶和文檔直接交互的歷史信息;2)用戶訪問(wèn)其他文檔歷史交互信息。
直接信任度值的區(qū)間為 [0,1],用戶初始的直接信任度值為0.5,0表示不信任,1表示完全信任。直接信任度為
(1)
式中:p為資源提供者;r為資源請(qǐng)求者;φ為事件;I(Oi,φ)為在事件φ中,資源提供方p對(duì)資源請(qǐng)求方r的反饋評(píng)價(jià)度;ρ(t,ti)為信任關(guān)系衰減函數(shù),t表示信任關(guān)系創(chuàng)建時(shí)間,ti表示結(jié)束時(shí)間。時(shí)間衰減函數(shù)為
ρ(t,ti)=e-λ(t-ti)
(2)
從式(2)可知,信任關(guān)系衰減函數(shù)和時(shí)間因子成反比關(guān)系,即時(shí)間越長(zhǎng),信任關(guān)系越弱。
間接信任度值的區(qū)間為 [0,1],間接信任度是域內(nèi)其他資源對(duì)資源請(qǐng)求者r的信任度的算術(shù)平均值。當(dāng)資源請(qǐng)求者r請(qǐng)求資源時(shí),系統(tǒng)將對(duì)資源請(qǐng)求者r的間接信任度進(jìn)行計(jì)算。間接信任度為
(3)
式中Tw→r為域內(nèi)其他資源對(duì)資源請(qǐng)求者r的信任度。
資源請(qǐng)求者r信任度為直接信任度和間接信任度的加權(quán)綜合:
(4)
本實(shí)驗(yàn)運(yùn)行所需的硬件環(huán)境和軟件環(huán)境分別為IBM SystemX3650M4服務(wù)器和Linux CentOS6.5操作系統(tǒng),其中IBM SystemX3650M4服務(wù)器的基本配置為E5-2603V4/6核/1.7G/6線程CPU、集成顯卡、16.00G內(nèi)存、3TG硬盤(pán)。具體參數(shù)為:3臺(tái)IBM SystemX3650M4服務(wù)器,1臺(tái)H3C S1848G交換機(jī)以及若干根超五類(lèi)網(wǎng)線。3臺(tái)IBM SystemX3650M4服務(wù)器全部安裝Linux CentOS6.5系統(tǒng),選一臺(tái)為Master節(jié)點(diǎn),剩余2臺(tái)為Slave節(jié)點(diǎn),分別安裝Hadoop 2.4、Hbase0.98.3以及Zookper3.4.6。選取Myeclipse集成環(huán)境進(jìn)行開(kāi)發(fā)。
本文在DAVOffice平臺(tái)上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)分為2個(gè)部分,第一部分測(cè)試平臺(tái)能否達(dá)到段落級(jí)別訪問(wèn)控制與用戶信任度值隨越權(quán)次數(shù)、時(shí)間的變化。第二部分是與ABAC模型的比對(duì)試驗(yàn)。
圖2為協(xié)同編輯系統(tǒng)中用戶uA對(duì)dA進(jìn)行訪問(wèn)的結(jié)果,系統(tǒng)顯示表明uA沒(méi)有權(quán)限對(duì)段落進(jìn)行更新。
圖2 用戶更新段落操作
為了測(cè)試用戶對(duì)文檔的操作行為與信任度的變化關(guān)系以及信任度隨時(shí)間變化關(guān)系,本文針對(duì)2個(gè)用戶uA、uB(用戶初始信任度均為0.5)和3篇文檔dA、dB、dC進(jìn)行實(shí)驗(yàn)。在實(shí)驗(yàn)中,設(shè)置直接信任度的權(quán)重ε=0.5,間接信任度的權(quán)重值為δ=0.5,其實(shí)驗(yàn)結(jié)果如表6、表7所示。
表6 用戶信任度隨用戶越權(quán)次數(shù)的變化
從表6可知,uA對(duì)dA進(jìn)行訪問(wèn)后,越權(quán)操作次數(shù)為0,uA的直接信任度由0.5變?yōu)?.52。由于uA沒(méi)有與其他用戶的交互記錄,所以間接信任度為初始值0.5,其信任度通過(guò)式(4)計(jì)算后可知為0.51。uA對(duì)dB進(jìn)行訪問(wèn)后,越權(quán)操作次數(shù)為3,uA的直接信任度由0.52變?yōu)?.452 5。由于uA訪問(wèn)過(guò)dA,通過(guò)式(3)計(jì)算其間接信任度為0.51,其信任度通過(guò)式(4)計(jì)算后為0.481 2。由此可說(shuō)明用戶對(duì)文檔的越權(quán)操作次數(shù)越多,信任度越低;如果一天之內(nèi)的越權(quán)操作次數(shù)為0時(shí),信任度會(huì)相對(duì)提高。
如表7所示,在用戶沒(méi)有對(duì)文檔進(jìn)行訪問(wèn)時(shí),隨著時(shí)間的增長(zhǎng),用戶的信任度逐漸降低。由此可說(shuō)明,該模型可以根據(jù)云平臺(tái)用戶的操作和時(shí)間,動(dòng)態(tài)更新用戶的信任度。
表7 用戶信任度隨時(shí)間變化記錄表
ABAC模型的訪問(wèn)控制方案在對(duì)用戶進(jìn)行訪問(wèn)控制時(shí),只通過(guò)用戶的屬性來(lái)判斷該用戶能否訪問(wèn)資源,而沒(méi)有考慮到用戶通過(guò)訪問(wèn)控制后會(huì)對(duì)在線文檔進(jìn)行越權(quán)操作的情況,用戶則可以濫用權(quán)限,系統(tǒng)不能夠?qū)λM(jìn)行約束,以u(píng)A訪問(wèn)文檔dC為例,其屬性分別如表8、表9所示。
表8 userA屬性表
表9 文檔docC訪問(wèn)規(guī)則屬性
dC的訪問(wèn)規(guī)則屬性定義只有屬性職務(wù)為教師,所屬群組為g2的用戶可以訪問(wèn),并且可以對(duì)第一段進(jìn)行查看,第三段進(jìn)行刪除。uA的屬性與dC的訪問(wèn)規(guī)則屬性匹配,則用戶可以進(jìn)行訪問(wèn)。但是用戶通過(guò)訪問(wèn)控制后,系統(tǒng)則不能根據(jù)用戶操作文檔的行為重新判斷用戶是否還具有訪問(wèn)文檔dC的權(quán)限。
然而本模型與原有方案相比,通過(guò)記錄用戶行為對(duì)用戶的可信任值進(jìn)行量化評(píng)估,用戶每次對(duì)在線文檔進(jìn)行編輯時(shí),都會(huì)實(shí)時(shí)記錄用戶的越權(quán)操作次數(shù)。下面同樣以用戶uA訪問(wèn)dC為例,其屬性如表10、表11所示。
表10 userA屬性(訪問(wèn)前)
表11 文檔docC訪問(wèn)規(guī)則屬性
用戶uA的屬性與文檔dC的訪問(wèn)規(guī)則屬性匹配,用戶同樣可以進(jìn)行訪問(wèn),但當(dāng)用戶對(duì)文檔進(jìn)行越權(quán)操作時(shí),DAVOffice平臺(tái)會(huì)記錄用戶的越權(quán)次數(shù),并更新用戶的信任度,以越權(quán)10次為例,用戶的屬性信息更新如表12所示。
因操作越權(quán),用戶uA的信任度從0.6減少到0.457 5,低于dC的規(guī)則屬性取值0.55,因此uA不再具有訪問(wèn)dC的權(quán)限。本模型通過(guò)信任度計(jì)算公
表12 userA屬性(訪問(wèn)后)
式計(jì)算用戶的信任度,并把信任度作為用戶的屬性之一,這樣就可以動(dòng)態(tài)的更新用戶的屬性,用戶就無(wú)法濫用權(quán)限,動(dòng)態(tài)性得到了加強(qiáng)。
本文通過(guò)分析、比較各種常用的訪問(wèn)控制技術(shù),將基于屬性的訪問(wèn)控制方法與基于信任的訪問(wèn)控制方法結(jié)合,為云盤(pán)中文檔內(nèi)容提供訪問(wèn)控制,保護(hù)文檔的安全性,實(shí)現(xiàn)文檔段落細(xì)粒度的訪問(wèn)控制,并根據(jù)用戶行為,動(dòng)態(tài)控制其訪問(wèn)操作權(quán)限,能夠有效解決用戶權(quán)限濫用的問(wèn)題。但是,如何改進(jìn)信任度評(píng)價(jià)的方法還需通過(guò)深入分析、研究加以改進(jìn)與完善。