陶青 栗勇兵
【中圖分類號】 G250.72【文獻(xiàn)標(biāo)識碼】 A【文章編號】1672-5158(2013)07-0003-01
當(dāng)前的P2P網(wǎng)絡(luò)在訪問控制方面面臨以下問題:無中心點(diǎn)的網(wǎng)絡(luò)環(huán)境需要分布式的訪問控制;高動態(tài)性的網(wǎng)絡(luò)環(huán)境必須支持對資源的多級授權(quán)和對陌生用戶的臨時授權(quán);所建的信任關(guān)系的有效期必須得到有效的管理;必須能及時動態(tài)地引入申請加入的用戶。但是現(xiàn)存的訪問控制體制都不能很好地解決這些問題。ACL這種體制不易管理,且不容易擴(kuò)展,也不允許臨時的權(quán)限傳遞,又由于P2P網(wǎng)絡(luò)的用戶的高動態(tài)性,IP不固定,所以不太適于P2P網(wǎng)絡(luò);傳統(tǒng)的基于Cap的體制在文獻(xiàn)中被證明與ACL等價,同樣也不適于P2P網(wǎng)絡(luò);基于角色的體制必須依賴于一個安全的信任中心,因而也不適合于P2P網(wǎng)絡(luò)。文獻(xiàn)提出了一種分布式系統(tǒng)的基于級別的訪問控制方案,具有無中心點(diǎn)、支持資源的多級授權(quán)和對陌生用戶的臨時授權(quán)的特點(diǎn),比較適合P2P網(wǎng)絡(luò)。但是如果將文獻(xiàn)所提出的基于級別的訪問控制應(yīng)用于P2P網(wǎng)絡(luò),還存在以下問題:方案中只有強(qiáng)制訪問控制策略;方案中沒有對訪問權(quán)限加以具體區(qū)分,因而缺乏靈活性和訪問控制粒度不夠細(xì)。
本文針對P2P網(wǎng)絡(luò)自身的特點(diǎn),給出了基于級別的訪問控制在P2P網(wǎng)絡(luò)中的具體實(shí)現(xiàn)方案。該方案采用證書模型,并根據(jù)小費(fèi)馬定理構(gòu)造了一套級別密鑰對證書進(jìn)行監(jiān)管。將訪問權(quán)限分為只讀(r)、讀寫(w)、只寫(a)、執(zhí)行(e)四級,結(jié)合了強(qiáng)制訪問控制策略和自主訪問控制策略,彌補(bǔ)了文獻(xiàn)在靈活性和控制粒度方面的不足。另外本方案繼承了文獻(xiàn)無中心點(diǎn)、支持資源的多級授權(quán)與臨時授權(quán)的特點(diǎn),對證書的有效期進(jìn)行了有效的管理,證書能被及時動態(tài)的發(fā)放給申請加入的用戶,解決了前面所提到當(dāng)前的P2P網(wǎng)絡(luò)在訪問控制方面面臨的問題。
一、基于級別的訪問控制簡介
基于級別的訪問控制的基本思想是:將用戶和共享資源分別分成n級,當(dāng)用戶的級別大廠或等于資源的級別時,訪問允許,否則拒絕訪問。將用戶的級別和資源的級別映射到一個統(tǒng)—的偏序集里,并且證明了這樣的偏序集的存在性,給出了構(gòu)造該偏序集的方法。
今U={u1,u2,…un}表示用戶的集合,R={r1,r2,…,rn}表示資源的集合,U(ri)表示可以訪問資源ri的用戶的集合,R(ui)表示用戶ui可以訪問的資源的集合,則用戶的級別和資源的級別滿足以下幾條基本原則:
1) ui≤t·uj,當(dāng)且僅當(dāng)R(ui) R(uj)。2)ri≤Rrj,當(dāng)且僅當(dāng)U(ri)R(rj)
3)ui≡t·uj,當(dāng)且僅當(dāng)R(ui)=R(uj)。
ri≡Rrj,當(dāng)且僅當(dāng)U(ri)=U(rj)
其中“≤”和“≡”是以對級別高低的比較。
二、基于級別的訪問控制在P2P網(wǎng)絡(luò)中的實(shí)現(xiàn)
1、級別劃分
根據(jù)用戶信譽(yù)的高低將用戶分為n級。信譽(yù)值t∈[0,1],將[0,1)區(qū)間分為n段,每一段對應(yīng)一個級別。為了表達(dá)方便,記第i級用戶的集合為Ci,最高級別的用戶集合記為Cn。Cn中的信譽(yù)最高的用戶記為U。
2、訪問控制策略的制定(1)強(qiáng)制訪問控制策略
各個用戶根據(jù)共享資源的重要度和敏感度將自己的共享資源分為n級,記第i級資源的集臺為Ri,規(guī)定每一級用戶對每一級資源的訪問權(quán)限。強(qiáng)制訪問控制策略分為基于完整性和基于機(jī)密性兩種。本文以基于秘密性的強(qiáng)制訪問控制策略為例來說明強(qiáng)制訪問控制策略的制定?;跈C(jī)密性的強(qiáng)制訪問控制策略滿足兩條原則:NO-READ-UP(不向上讀)和NOWRITE-DOWN(不向下寫)。
(2)自主訪問控制策略
本方案中,自主訪問控制策略主要針對訪問客體(被訪問的對象)已知的訪問主體(發(fā)起訪問請求的用戶)。如果訪問客體對訪問主體沒有任何了解,訪問客體只能根據(jù)訪問者的級別和強(qiáng)制訪問控制策略來限制其訪問權(quán)限。而對已知的訪問主體(包括可信用戶和惡意用戶),訪問客體就可以根據(jù)自己的意愿放大或縮小其訪問權(quán)限。
3、證書的頒發(fā)
1)證書的結(jié)構(gòu),如下所示。
級別一—證書的等級,用整數(shù)i表示,1≤i≤n。
用戶名——該證書要發(fā)放的用戶的名稱。
發(fā)行者一—發(fā)行該證書的用戶的名稱,該項需經(jīng)發(fā)行者簽字。
有效期——證書的發(fā)行時間和到期時間,不同級別對應(yīng)不同長度的有效期。
Check=f(級別,用戶名,有效期,種子),其中種子為比證書級別高一級的級別密鑰,最高級別的證書例外,f是一個單向Hash函數(shù)。
2)最高級別的用戶自己產(chǎn)生自己的證書,種子用自己的級別密鑰,然后再頒發(fā)次級用戶的證書,次級用戶頒發(fā)再次級用戶的證書,這樣遞歸下去。
4、訪問控制的實(shí)現(xiàn)
1)訪問主體Si向訪問客體()j發(fā)出訪問請求:request(c,r,o);
其中,c為證書;r為請求的權(quán)限;o為訪問的目標(biāo)文件;i為證書的級別。
2) 訪問客體()j接到請求后,對訪問主體Si的證書進(jìn)行認(rèn)證;
如果i 1)檢驗(yàn)證書的有效期。 2)計算Check=f(級別,用戶名,有效期,種子)值,并與請求中的證書的Check值比較,看是否相等,如果相等視為有效證書,否則視為無效,直接駁回請求。 如果i≥j,即訪問主體Si的級別不低于訪問客體()j的級別,則()j向i級別以上的用戶發(fā)出認(rèn)證請求,即請求高級別用戶計算Check值,被請求的用戶計算后將結(jié)果返回。
5、系統(tǒng)管理
1)臨時授權(quán)。當(dāng)陌生用戶需要使用資源時,或低級別用戶需要以高級別用戶的權(quán)限使用資源時,就需要對這些用戶進(jìn)行臨時授權(quán)。臨時授權(quán)的方法就是頒發(fā)有效期限很短的證書,使這些證書在本次使用以后就失效。
2)添加新用戶。從前述可以看出,第二級以上的所有用戶都可以頒發(fā)證書,因而也就可以引入新用戶。為安全起見,引入的新用戶應(yīng)授予最低級別的證書。
3)用戶的升級。當(dāng)某個用戶的信譽(yù)值達(dá)到更高級別用戶的要求時,可以向比自己級別高的用戶申請升級自己的證書。被請求的用戶計算申請者的信譽(yù)值,然后判斷是否滿足升級條件。如果滿足升級條件,則更改證書的級別為升級后的級別;將自己的用戶名經(jīng)簽字替換原證書的發(fā)行者;計算Check值替換原證書的Check值,升級完成。
4)權(quán)限的撤銷。一般情況下利用證書的有效期就可實(shí)現(xiàn)權(quán)限的撤銷。對于低級別、動態(tài)性高的用戶,把證書的有效期設(shè)得短一些;對級別高的、比較固定的用戶的證書的有效期就設(shè)得長一些。如果在證書的有效期期間撤銷用戶,可以公布該證書的Check值,當(dāng)驗(yàn)證證書的時候,如果發(fā)現(xiàn)該證書的Check值被公布撤銷,則拒絕訪問。對于級別比較高的用戶的撤銷,最好更換系統(tǒng)密鑰,因?yàn)楸怀蜂N的用戶知道系統(tǒng)的級別比較高的密鑰,對系統(tǒng)的管理會造成很大的麻煩。
三、性能分析
1)級別密鑰的安全性。
2)簡捷的認(rèn)證證書的方法。
3)訪問控制粒度與訪問速度的折中。
4)無中心點(diǎn)。
5)證書的及時動態(tài)的發(fā)放。
6)對證書的有效期的管理。
結(jié)論:本文提出的基于級別的訪問控制在P2P網(wǎng)絡(luò)的實(shí)現(xiàn)方案采用證書模型,結(jié)合了強(qiáng)制訪問控制策略和自主訪問控制策略,無中心點(diǎn),支持資源的多級授權(quán)和臨時授權(quán),對證書的有效期進(jìn)行了有效的管理,證書能被及時動態(tài)地發(fā)放給申請加入的用戶,解決;了前面所提到當(dāng)前P2P網(wǎng)絡(luò)在訪問控制方面面臨的問題。具體動態(tài)性、靈活性和訪問控制粒度小等特點(diǎn),適用于P2P網(wǎng)絡(luò)發(fā)展的需求。
參考文獻(xiàn)
[1] 侯孟書,盧顯良,周旭,詹川. P2P系統(tǒng)的信任研究[J]. 計算機(jī)科學(xué). 2005(04)
[2] 謝鈞,許峰,黃皓. 基于可信級別的多級安全策略及其狀態(tài)機(jī)模型[J].軟件學(xué)報.2004(11)