?

基于時限訪問控制模型的時間判斷點選擇算法研究

2017-09-29 21:50鄒志文莊澤民吳江
軟件導刊 2017年9期
關鍵詞:多域

鄒志文 莊澤民 吳江

摘 要:分析了RBAC時限訪問控制模型,對時間約束的及時恢復問題進行了探討。選擇合理的終止會話集合,使系統恢復到安全狀態。對多域環境下面臨的匿名訪問、權限隱蔽提升和指派傳遞失控等安全問題提出了解決方案:擴展現有安全模型或建立新的安全模型實現多域環境下的安全管理和協同操作,允許在不同安全域的個體和系統間進行大量信息交換和數據共享等互操作。提出了基于RBAC的時限訪問控制模型的時間判斷點選擇算法,該算法能改善靜態方式下時間準確性和效率方面的不足。

關鍵詞:RBAC;時限約束;多域

DOI:10.11907/rjdk.171451

中圖分類號:TP312 文獻標識碼:A 文章編號:1672-7800(2017)009-0087-03

Abstract:Based on the analysis of RBAC time-limited access control model, the Timely recovery of time constraint is discussed. Choosing a reasonable algorithm to terminate the session set to restore the system to the security state and propose a solution to the security problems such as anonymous access, privilege concealment and assignment failure. Extending existing security models or creating new security models is to implement security management and collaboration in a multi-domain environment,to allow interoperability among a large number of information exchange and data sharing between individuals and systems belonging to different security domains. A selection algorithm of time decision point selection based on RBAC time - limited access control model is proposed, which can improve the accuracy of time and efficiency in static mode.

Key Words:RBAC; time constraint; multi-domain

0 引言

基于角色的訪問控制模型(RBAC)是目前安全模型領域的研究熱點。多域間的互操作為分布式環境下資源和服務的最大共享創造了條件,大大提高了分布式系統的性能和資源利用率。例如,在P2P網絡中,節點間通過交互操作實現資源共享;在分布式數據庫中,用戶間通過互操作對多域數據庫進行訪問。目前,跨域互操作技術在政府、軍隊、金融和醫療等許多重要領域都得到了廣泛應用。

RBAC一直以來都是傳統Web應用中訪問控制模型的首選。但傳統架構風格的諸多不良設計給權限檢索及維護帶來一系列問題。文獻[1]在引入時間限制后,模型并沒有考慮隨時間的動態變化,并且委托授權也與時間限制無關,這大大降低了系統效率和對無權訪問的安全性。文獻[2]引入時間約束判定后,雖然考慮了模型的動態變化,但對于精確程度方面研究略有不足。本文在前人的基礎上進行改進,對如何判斷和找出時間判斷點給出結論。文獻[3]、文獻[4]采用時間限制的基于角色的轉授權模型,描述了角色授權和角色撤銷機制,提出了完備的具有時間限制的基于角色的轉授權模型。文獻[5]提出了一種利用概念格將角色權限和屬性進行關聯分析的模型,根據用戶屬性將滿足需求的角色自動分配給新用戶。文獻[6]通過各種實驗證明利用概念格進行角色挖掘具有非常顯著的效果。文獻[7]、文獻[8]首次提出了沒有角色層次的基于角色的委托模型,并介紹了一些擴展模型,如授權撤銷、部分委托、多步委托和具有角色層次的委托,但沒考慮到多域環境下如何提高TRBAC模型的效率和安全性。

本文嘗試在多域環境下通過動態計算方式對權限是否合法進行角色判定,設計一種時間判斷點選擇算法,盡可能提高系統效率和安全性能。

1 多域環境下時間判斷點選擇策略

多域由多個互為契約關系的安全域組成,而安全域就是一個有邊界的、由受保護的客體和用戶群組成,由一位安全管理員來管理和維護一組安全策略的區域,當一個域需要允許以前不相識的用戶或實體訪問自己的資源時,必須設置相應的安全機制來確保未知的訪問被控制在預先定義的已知共享策略范疇之內。當這樣的跨域訪問在多個域間被允許,并且各系統仍然沿用自身原有的安全策略時,這些域就被看作是組成了一個多域環境,如圖1所示。

對于兩個來自不同域A和B的客體OA、OB,角色rA和rB對于某權限a可能存在以下4種關系[9]:①包含關系:角色r的權限集合Pset(r)包括所有直接或間接指派給角色r的權限;②相等關系:如果rA包含rB且rB包含rA,那么rA與rB相等;③相交關系:如果Pset(rA)和Pset(rB)有相同的共享權限,且rA不包含rB,rB不包含rA,那么rA與rB相交;④無關:如果角色rA和rB不共享任何權限,那么rA與rB無關。

因此,在n個協同域組成的多域環境中,可借助上述4類角色關聯規則,通過兩兩相關的迭代方法為不同域的角色建立關聯,進行角色傳遞和權限繼承,從而實現跨域安全互操作。在第一次迭代時,用域1和域2的最高級角色合成域1和域2的RBAC安全策略;在隨后的迭代中,一條新的RBAC策略由前面迭代中產生的合成RBAC策略生成;在經過n-1次迭代后,n個域的RBAC策略集成為全局性的多域互操作策略。此外,在每次迭代中新產生的冗余角色從集成RBAC策略中刪除,即多域通過定義指派(Credentials)、指派鏈(Credential Chains)、支持鏈(Support Chains)、證據(Proofs)、子證據(Sub-Proofs)和證據監控(Proof Monitor)等一系列概念完成多個域間角色轉換。如圖2所示,根據支持鏈(Supporting Chain)對主鏈(Primary Chain)的證明,可推導出“主體A可以獲得主體B所擁有的角色role2”這一結論。endprint

時間約束分為3大類:①激活時間范圍約束;②激活時間長度約束;③時間范圍內激活時間長度限制[10-13]。以往的研究中對于所選會話是否符合當前的時限約束,經常選擇一段固定時間進行判斷,但這段時間中包含n個會話,每個會話的結束時間和持續時間又都不相同,如果按照一個相同的時間段去判斷可能造成比較大的誤差。如果所選的時間段相隔時間較長,會導致不應繼續的權限仍然處于允許狀態,使系統安全性下降;所選時間間隔較短,則會導致系統頻繁不斷地判斷,雖從某種程度上保證了系統的安全性,但大大降低了系統的工作效率。

比如,將同一時間段內所有會話結束時間值放入集合s1={10:01,10:02,10:03,10:04,10:05,10:06,10:09,10:16,10:25,10:26,10:36},按以往方式經常會選擇一段固定時間(下文以△T法簡稱)判斷會話是否還在條件允許內。假設從10:00開始,選取固定時間t1=1分鐘和t2=1秒,當選取t=t1時,每隔一分鐘就去判斷會話是否符合規則,而當選取t=t2時,每隔一秒鐘就要去判斷會話是否符合規則,t2相對于t1對于集合s1來說,效率明顯低了很多。而當面對的集合并非是整數間隔,比如s2={10:01:30,10:02:21,10:03:29,10:04:33,10:05:41,10:06:46,10:09:48,10:16:21,10:25:01,10:26:03,10:36:08}時,如此不規則的時間間隔還像往常一樣選取t1或t2,選取t1的話,后續會話總會慢上幾秒鐘或幾分鐘,對安全性略顯無力,而選取t2則可滿足一切要求。但是當會話集合時間段再往下細分,那么t2也無法滿足需求了。

為解決TRBAC模型中出現的效率和安全性不足,可設計如下辦法:不論集合如何變動,設計一種動態方式隨著會話時間的改變而相應改變判斷的時機,本文提出時間判斷點這個概念,即在這個時間點來判斷當前會話是否滿足當前權限要求。

當不存在時間判斷點時,將會話集合中首先結束的會話時間點作為第一個時間判斷點,之后將第一個判斷點之后新產生的會話加入到集合中,再對兩個時間判斷點之間產生的新會話進行統計,重新進行新一輪篩選,選出下一個時間判斷點。本文對以往靜態式的處理進行改進,采用動態手段增加其安全性和有效性。

查找動態判斷點算法描述如下:

Tpo=Sort(Tpo) // 對Tpo進行排序

Tpn=Sort(Tpn) //對Tpn進行排序

If(Tpn!=Φ) //求下一個時間判斷點t

Merger-T(Tpo,Tpn) //合并2個集合到Tpo中

t=FindMin(Tpo) //在Tpo中找到最小值作為時間判斷點

Tpo=Tpo-{t} //從集合中去掉所選時間判斷點

while((currenttime=GetCurTime())<=t)//求Tpn:在判斷點前出現新的會話,加 入Tpn

if Endtime(s)<=t //如果在判斷點之內結束

Merger-T(Tpo,Tpn) //合并2個集合到Tpo中

t=FindMin(Tpo) //在Tpo中找到最小值作為時間判斷點

ifelse Endtime(s)>t //如結束時間點大于判斷點

Insert(Tpn,|t-Endtime(s)|) //將與時間判斷點的差值放入Tpn

Merger-T(Tpo,Tpn) //合并2個集合到Tpo中

t=FindMin(Tpo) //在Tpo中找到最小值作為時間判斷點

2 算法分析

按照固定△T進行安全性檢查,效率和安全往往不能令人滿意,本文提出的時間點選擇算法描述如下:

對一段時間內不同的會話結束時間的不同,可將會話結束時間段放入一個數組進行管理,對于每個元素的排列規則分為以下幾個類型:double a[]={t1, t2, t3,…, tn}(排好序),用△T法時取時間T:

(1)當T< t1,在最短會話結束前就開始判斷是否符合規則,而動態方式則從時間點t1開始判斷,相對于△T法效率略高。

(2)當T= t1,兩種方式都在時間點t1進行判斷,△T法過時間T后再進行判斷,而動態方式則重新計算新的時間判斷點,對后續的{t2,t3....tn}所在數組重新進行判斷,對于后續的t2依舊是動態方式比較高效。

(3)當T> tn,動態方式如前,而△T法則等待所有會話結束后再進行判斷,故不考慮T> tn的情況。

(4)當t1≤T≤ t2,相比情況(2),從t2往后的各個時間段效率降低。

綜上幾種情況看,當t(n/2)≤T≤ t(n/2+1)時,平均效率最高。為了便于描述,取T=t(n/2)時△T法效率最高。

對于動態方式,相比于△T法,需要對時間段數組進行排序,當數據過多時排序時間會延長,效率降低。

根據會話與客戶端的數量規模,依次挑選幾個有代表性的數據進行系統性能測試,主要記錄系統各主要操作的響應時間,以及根據實際使用情況估算出在各數據量下的操作時間和系統響應時間,系統性能測試結果如表1所示。

從表1可以看出,相對于△T法而言,動態時間點法在修改權限以及權限檢測的時間上大多比前者快,但是當會話數量較多時,△T法則更有優勢。

權限檢查測試是檢查系統中的會話是否依照規則下放或獲得權限。驗證會話是否有客戶端授權,用戶是否有操作該客戶端的權限。根據動態方式的權限檢查,可以攔截非法的執行操作,保護數據安全。只有符合權限驗證的備份任務能夠正常執行。權限檢查測試用例如表2所示。endprint

從表2可知,對于△T法而言,動態時間點法在權限分發時可能會有短時間安全隱患的真空期,時間判斷點算法相對于△T法安全性有所提高。

由表 1 可以看出,當會話數量為1 000,客戶端數量為1 000 時,系統整體性能較好,響應時間較短。當會話數量和客戶端數量增多時,系統性能明顯下降。因為在新建會話時需要向數據庫中插入數據,插入性能隨著會話數量的增多而降低,會話與權限的關聯表數量也急劇增多,因為每個會話都對應了多個關聯記錄。當會話數量大量增大時,動態耗時明顯上升,可見會話數量上升會影響其效率,但是多數情況還是優于前者。

如表2所示,當從未授權轉換成已授權時,動態方式比靜態方式成功率更高,動態方式的安全性相對于以往的靜態方式安全可靠性更高。

3 結語

本文在多域情況下對動態時間判斷點給出了解決算法,與以往研究相比,解決了文獻[2]中對于精確程度方面的不足,使之更高效合理。本文在前人研究基礎上,對如何判斷和找出時間判斷點給出了方案。

今后的研究應解決以下問題:①如何縮短排序時間,避免影響效率;②對于時間判斷點的動態變化,時間變化如何引起模型變化還有待進一步研究。

參考文獻:

[1] 馮俊,王箭.一種基于T-RBAC的訪問控制改進模型[J].計算機工程,2012,38(16):138-141.

[2] 高利軍,徐蕾.TRBAC中翻轉點選擇和安全恢復算法的研究[J].軟件學報,2013,24(3):564-574.

[3] 陳學龍,鄭洪源,丁秋林.一種基于T-RBAC的動態多級Web服務訪問控制模型[J].計算機科學,2014,41(3):181-222.

[4] 任海鵬.訪問控制模型研究現狀及展望[J].計算機與數字工程,2013,41(3):452-456.

[5] 李雙.一種擴展的基于角色的訪問控制模型[J].計算機工程與應用,2012,48(19):54-60.

[6] 趙衛東,畢曉清,盧新明.基于角色的細粒度訪問控制模型的設計與實現[J].計算機工程與設計,2013,34(2):474-479.

[7] BARKAE, SANDHUR. A role-based delegation model and some extensions[C].Proc of the 23rd National in formation Systems Security Conference. Baltimore,MD:NIST,2000:168-177.

[8] BARKA E, SANDHU R. Role-based delegation model/hierarchicalroles(RBDM 1)[C].Procofthe 20th Annual Computer Security Applications Conference.Tucson,Arizona:IEEE ComputerSociety,2004:396-404.

[9] 道煒,湯庸,冀高峰,等.基于時限的角色訪問控制委托模型[J].計算機科學,2008,35(3):277-279.

[10] 夏啟壽,范訓禮,殷曉玲.基于時間的RBAC轉授權模型[J].西北大學學報:自然科學版,2009,38(6): 932-936.

[11] ERFANI S. Security management system functional architecturefor enterprise network[C].The 7th IEEE/IFIP Network Opera-tions and Management Symposium.Honolulu,USA,2000.

[12] 李鳳華,蘇铓,史國振,等.訪問控制模型研究進展及發展趨勢[J].電子學報,2012,40(4):805-813.

[13] 鄧勇,張琳,王汝傳,等.網格計算中基于信任度的動態角色訪問控制的研究[J].計算機科學,2010(1):51-54.

(責任編輯:杜能鋼)endprint

猜你喜歡
多域
“全時多域五三三”混合式課程思政教學模式的建構
雷達多維多域多特征信息處理技術專題征文通知
多域SDN網絡中多控制器負載均衡算法研究
基于多操作網絡的圖式多域語音情感識別研究
美陸軍多域作戰概念的發展與實踐研究
基于多維戰場空間理論的聯合防空反導作戰效能評估
從“多域戰”到“聯合全域作戰”,究竟有何玄機
近年美國陸軍多域作戰概念發展探究
美軍謀劃聯合作戰新棋局
美軍謀劃聯合作戰新棋局
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合