王靜宇,張 偉
(內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古 包頭 014010)
目前,基于角色的訪問控制已經(jīng)進(jìn)行了大量的研究[1-3].針對(duì)角色中的過多權(quán)限的問題[4],通過對(duì)權(quán)限分配給角色的數(shù)量做限制,對(duì)訪問控制矩陣進(jìn)行行和列排列,分別利用字頻統(tǒng)計(jì)和頻繁項(xiàng)進(jìn)行挖掘.為了防止過少的用戶擁有過多的權(quán)限[5],引起系統(tǒng)管理混亂的問題,對(duì)用戶擁有的權(quán)限進(jìn)行職責(zé)分離、靜態(tài)互斥角色約束[6].以上角色挖掘算法存在用戶權(quán)限分配不能滿足系統(tǒng)變化的要求[7];另外,基于角色的訪問控制系統(tǒng)不能很好地支持細(xì)粒度授權(quán).
基于屬性的訪問控制(Attribute-Based Access Control,ABAC)[8],是將主體和客體的屬性作為授權(quán)規(guī)則與訪問控制的依據(jù),能夠有效的解決RBAC系統(tǒng)無法動(dòng)態(tài)授權(quán)和細(xì)粒度授權(quán)的問題.然而,隨著用戶屬性的增多,ABAC就會(huì)存在屬性難以管理、授權(quán)判決效率低等問題.
為了解決以上問題,本文提出了基于屬性和RBAC的混合擴(kuò)展訪問控制模型,該模型考慮的是在用戶權(quán)限分配完成后,根據(jù)屬性授權(quán)規(guī)則對(duì)系統(tǒng)中新產(chǎn)生的角色進(jìn)行權(quán)限動(dòng)態(tài)和細(xì)粒度地分配,并對(duì)產(chǎn)生的角色集合進(jìn)行最小擾動(dòng)的評(píng)估,使加入到系統(tǒng)中的角色與原系統(tǒng)中的角色集合盡量保持一致.
定義1.相似度定義.
a)用戶i和用戶j之間的相似度[9]定義:
Sim(ui,uj)=|UserPerms(ui)∩UserPerms(uj)|/
|UserPerms(ui)∪UserPerms(uj)|
(1)
b)權(quán)限i和權(quán)限j之間的相似度定義:
Sim(pi,pj)=|PermUsers(pi)∩PermUsers(pj)|/
|PermUsers(pi)∪PermUsers(pj)|
(2)
c)角色Ri和角色rj之間的相似度定義:
Sim(Ri,rj)=|RolePerms(Ri)∩RolePerms(rj)|/
|RolePerms(Ri)∪RolePerms(rj)|
(3)
d)不相似度定義:
Dissim=(Ri,rj)=1-Sim(Ri,rj)
(4)
定義2.加權(quán)結(jié)構(gòu)復(fù)雜度(Weighted Structure Complexity)[10].對(duì)于RBAC系統(tǒng)的角色狀態(tài)RS下的角色集ROLES,給出權(quán)重因子W=
wsc(Rc,W)=wr×|R|+wu×|UA|+
wp×|PA|+wh×|RH|
(5)
定義3.最小擾動(dòng)[11,12].給定用戶集合U、權(quán)限集合P、用戶權(quán)限指派UPA以及已部署角色集合DROLES,找出一個(gè)角色集合ROLES,并據(jù)此得到用戶角色指派UA,權(quán)限角色指派PA以及角色繼承RH,得到新角色狀態(tài)Rs=
OF=(Wsc,Dissim)=(1-w)*Wsc+
w*wsc*Dissim
(6)
基于角色的訪問控制系統(tǒng)中,系統(tǒng)不再是將權(quán)限直接分配給用戶而是通過角色間接分配給用戶,這在系統(tǒng)創(chuàng)建完成時(shí),角色工程有著便于管理的優(yōu)勢,但隨著系統(tǒng)的不斷擴(kuò)大,產(chǎn)生的角色越來越多;在基于角色的訪問控制系統(tǒng)中角色是靜態(tài)指派的,無法動(dòng)態(tài)地進(jìn)行角色權(quán)限分配;并且,系統(tǒng)將分配給角色的權(quán)限同等看待,無法根據(jù)每個(gè)權(quán)限對(duì)角色的不同意義進(jìn)行細(xì)粒度地授權(quán).因此,將用戶、資源和環(huán)境等屬性和基于角色的訪問控制系統(tǒng)相結(jié)合,能有效的解決RBAC不支持細(xì)粒度授權(quán)和動(dòng)態(tài)性授權(quán)的問題.基于屬性和RBAC的訪問控制模型如圖1所示.
圖1 基于屬性和RBAC的訪問控制模型Fig.1 Attribute and RBAC based access control model
基于屬性和RBAC的模型以角色為中心,在基于角色的訪問控制模型上增加了用戶屬性UATT、環(huán)境屬性EATT和資源屬性RATT.屬性規(guī)則是基于屬性和RBAC訪問控制模型進(jìn)行屬性授權(quán)的判斷依據(jù),其中,用戶屬性是對(duì)執(zhí)行操作權(quán)限的用戶的特征描述,包括姓名、年齡、所屬組織等;資源屬性是對(duì)操作的承擔(dān)者的特征描述,包括資源的標(biāo)志、資源類型等;環(huán)境屬性是對(duì)操作執(zhí)行時(shí)會(huì)話的描述,包括時(shí)間、位置等.
基于屬性和RBAC的訪問控制模型中設(shè)計(jì)了3種屬性授權(quán)規(guī)則:規(guī)則a作用在角色權(quán)限(Role Permisssions Allocation,PA)分配階段,在對(duì)角色進(jìn)行權(quán)限分配的過程中,要考慮每個(gè)權(quán)限的屬性以此完成角色權(quán)限的細(xì)粒度分配,規(guī)則b作用在角色繼承階段,考慮角色是否存在權(quán)限衍生關(guān)系,規(guī)則c作用在用戶角色分配階段,根據(jù)用戶屬性以及用戶與角色之后會(huì)話的環(huán)境屬性完成動(dòng)態(tài)的用戶角色分配.屬性授權(quán)詳細(xì)規(guī)則如下:
a)基于屬性的角色權(quán)限細(xì)粒度授權(quán).通過計(jì)算角色集合之間的相似性以此考慮角色之間的功能差異不能反映出權(quán)限對(duì)角色的不同作用,通過屬性與權(quán)限相結(jié)合,可以細(xì)粒度地完成角色權(quán)限的細(xì)粒度授權(quán).
b)基于屬性的動(dòng)態(tài)權(quán)限繼承.通過屬性對(duì)RBAC中的權(quán)限繼承過程進(jìn)行限制,使得權(quán)限繼承和權(quán)限衍生是受環(huán)境屬性約束的,提高授權(quán)管理的安全性和動(dòng)態(tài)性.
c)基于屬性的動(dòng)態(tài)用戶角色分配.對(duì)于新加入系統(tǒng)的用戶,系統(tǒng)會(huì)根據(jù)用戶的基本屬性信息為用戶分配一個(gè)初始的基本權(quán)限,之后通過計(jì)算找到用戶感興趣的權(quán)限,如果權(quán)限之間的支持度與置信度滿足系統(tǒng)設(shè)定的閾值大小,那么結(jié)合提升度度量關(guān)聯(lián)規(guī)則是否有效,最后系統(tǒng)根據(jù)用戶擁有的權(quán)限動(dòng)態(tài)地分配給用戶相應(yīng)的角色.
1)通過角色挖掘算法挖掘出新的角色集合記為NewRoles.
2)對(duì)系統(tǒng)已部署的角色集合DRoles進(jìn)行最小擾動(dòng),將NewRoles角色集合中滿足系統(tǒng)要求的角色加入到DRoles中,此時(shí)生成的新角色集合為候選角色集合Candidate Roles.
3)設(shè)計(jì)最小擾動(dòng)角色挖掘算法,通過目標(biāo)函數(shù)OF對(duì)候選角色集合進(jìn)行擾動(dòng)性評(píng)估,生成最終的角色集合Roles.
4)基于最小擾動(dòng)的角色挖掘算法包括兩個(gè)部分:
一是角色權(quán)限細(xì)粒度分配算法.候選角色集合中的角色都是由系統(tǒng)靜態(tài)指派的權(quán)限組成,沒有考慮權(quán)限對(duì)角色的不同作用.在基于屬性和RBAC的訪問控制模型中,可以根據(jù)權(quán)限的屬性對(duì)角色進(jìn)行細(xì)粒度授權(quán),不僅考慮角色之間的相似度,還要考慮相似度高的兩個(gè)角色的不同權(quán)限的屬性,如時(shí)間屬性,位置屬性等,通過角色權(quán)限細(xì)粒度授權(quán),可以提高產(chǎn)生角色的準(zhǔn)確性.
二是用戶角色動(dòng)態(tài)分配算法.在基于屬性和RBAC的訪問控制模型中,為了將新的用戶加入到系統(tǒng)中而又不打亂系統(tǒng)的正常運(yùn)行,在完成角色集合的最小擾動(dòng)后,設(shè)計(jì)用戶角色分配算法,根據(jù)用戶的屬性分配初始權(quán)限從而動(dòng)態(tài)分配角色,最后對(duì)產(chǎn)生的角色進(jìn)行最小擾動(dòng)評(píng)估,所產(chǎn)生的角色集合符合系統(tǒng)的要求.
基于最小擾動(dòng)的角色挖掘算法包括兩部分,第1部分是角色權(quán)限細(xì)粒度地分配算法,該算法是基于改進(jìn)的用戶協(xié)同過濾推薦算法,使系統(tǒng)在配置完角色集合后使新加入的角色盡可能與之前角色一致,并計(jì)算系統(tǒng)角色的加權(quán)結(jié)構(gòu)復(fù)雜度大小對(duì)角色集合進(jìn)行評(píng)估;第2部分是用戶角色動(dòng)態(tài)分配算法.首先,系統(tǒng)根據(jù)用戶的屬性給用戶分配一個(gè)初始的權(quán)限,然后,根據(jù)角色權(quán)限分配規(guī)則進(jìn)行動(dòng)態(tài)權(quán)限分配,最后對(duì)產(chǎn)生的角色集合進(jìn)行最小擾動(dòng)的評(píng)估.
算法1描述的是角色權(quán)限的細(xì)粒度分配算法,首先計(jì)算新角色NewRoles和已經(jīng)部署的角色集合DRoles之間的相似度大小,如果相似度大于初始相似度,則NewRoles為候選角色集;否則,移出角色集合.根據(jù)最小擾動(dòng)的思想,應(yīng)使產(chǎn)生的角色集合盡可能與之前的角色集合保持一致,因此考慮相似度高的兩個(gè)角色,不考慮共有的權(quán)限,將DRoles中不具有的權(quán)限推薦給DRoles,如果符合用戶權(quán)限分配規(guī)則,則此時(shí)的擾動(dòng)性最小.
在基于角色的訪問控制系統(tǒng)中考慮角色之間的相似度來衡量產(chǎn)生角色的準(zhǔn)確性,因此為使產(chǎn)生的角色集合準(zhǔn)確性高,要考慮每個(gè)權(quán)限對(duì)用戶的重要程度,即每個(gè)權(quán)限的重要性是不一樣的,在這,考慮角色權(quán)限地細(xì)粒度分配,可以將產(chǎn)生角色的準(zhǔn)確性提高.算法的基本思想是,應(yīng)用基于用戶的協(xié)同推薦算法的思想,結(jié)合屬性授權(quán)規(guī)則對(duì)權(quán)限進(jìn)行細(xì)粒度授權(quán),以此提高產(chǎn)生角色集合的準(zhǔn)確性,最后對(duì)產(chǎn)生的角色集合進(jìn)行加權(quán)結(jié)構(gòu)復(fù)雜度地計(jì)算,使產(chǎn)生的角色集合與之前的角色集合盡可能地一致.
算法1.角色權(quán)限細(xì)粒度地分配
輸入:用戶User、權(quán)限Perms、已部署的角色集合DRoles、新角色集合NewRoles、角色繼承RH 、初始相似度Sim、初始加權(quán)結(jié)構(gòu)復(fù)雜度Wsc
輸出:角色集ROLES
Begin:
1.{Enumerate all intersecting roles between pairs of users}
2.for each role i∈InitRoles do
3.InitRoles←InitRoles-i
4.for each role j∈InitRoles do
5.NewRoles←i∩j
6.Compute DRoles of WSC
7.for(i=1;i<|R1|;i++)do
8.for(j=1;j<|R2|;j++)do
9.sim←sim(ri,rj)
10.if sim>Sim then
11.Sim←sim
12.if sim(Ri,rj)>0.5 then
13.if the rj accord with rule a
14.Ri recommend pi to rj then
15.check 角色r 的權(quán)限
16.if 角色 r 擁有全部權(quán)限p
17.then not recommend and compute Wsc
18.if rj accord with rule a
19.then consider 權(quán)限r(nóng)j有無時(shí)效性并且是否存在權(quán)限衍生
20.if satisfied then delete rj
21.else add rj
22.if rj accord with rule b
23.if Ri?rj
24.then delete rj
25.else if Ri1∪Ri2=rj
26.rj replace Ri
27.compute WSC
END
算法1第1行到第6行計(jì)算系統(tǒng)角色集合的加權(quán)結(jié)構(gòu)復(fù)雜度并以此作為系統(tǒng)的初始加權(quán)結(jié)構(gòu)復(fù)雜度值;算法第7行到第11行計(jì)算新產(chǎn)生角色與系統(tǒng)已部署角色集之間的相似度,并與系統(tǒng)初始的相似度做對(duì)比,算法第12行到第14行當(dāng)角色之間相似度大于初始相似度時(shí),此時(shí)考慮權(quán)限細(xì)粒度授權(quán),即不考慮相同的權(quán)限,如果將權(quán)限p推薦給角色r從而使角色r擁有全部權(quán)限,此時(shí)系統(tǒng)不安全,不能將權(quán)限p推薦給角色r而將新產(chǎn)生的角色加入到角色集合中;第15到21行是不考慮角色中相同的權(quán)限進(jìn)行權(quán)限推薦時(shí),查看權(quán)限P的相關(guān)屬性,考慮有無時(shí)效性,如果在完成某項(xiàng)任務(wù)時(shí),權(quán)限將被收回,則此角色不能加入到系統(tǒng)的角色集合中;第22行到第26行是根據(jù)的屬性授權(quán)規(guī)則考慮是否存在權(quán)限繼承關(guān)系,如果存在DRoles是NRoles的權(quán)限衍生,則移出DRoles;如果存在NRoles是DRoles的權(quán)限衍生,則移出NRoles;算法第27行在已部署的角色集合進(jìn)行最小擾動(dòng)完成后,計(jì)算新角色集合的加權(quán)結(jié)構(gòu)復(fù)雜度,使得新角色集合與系統(tǒng)原有的角色集合盡可能保持一致.
基于最小擾動(dòng)的用戶角色動(dòng)態(tài)分配算法是當(dāng)新用戶加入系統(tǒng)時(shí)根據(jù)用戶屬性進(jìn)行動(dòng)態(tài)角色權(quán)限分配并對(duì)角色集合進(jìn)行最小擾動(dòng)評(píng)估的過程.通過關(guān)聯(lián)規(guī)則的性質(zhì)對(duì)已經(jīng)完最小擾動(dòng)的角色集合進(jìn)行剪枝處理,之后根據(jù)用戶的基本屬性分配給用戶完成基本業(yè)務(wù)的基礎(chǔ)權(quán)限,并依據(jù)這個(gè)基本權(quán)限將用戶分配到與之相符的用戶組中,然后結(jié)合用戶的地理位置屬性、是否有時(shí)效性等屬性進(jìn)行相關(guān)權(quán)限的推薦,用提升度度量兩個(gè)權(quán)限的關(guān)聯(lián)規(guī)則是否有效,最后將完成用戶角色分配的角色加入到系統(tǒng)的集合中并計(jì)算加權(quán)結(jié)構(gòu)復(fù)雜度,如果角色Wsc小于系統(tǒng)初始的Wsc則說明用戶角色分配規(guī)則有效,否則,將重新分配角色.
其中,基于關(guān)聯(lián)規(guī)則的推薦算法[13],通過對(duì)用戶擁有的權(quán)限進(jìn)行記錄,發(fā)現(xiàn)不同用戶之間共同擁有的權(quán)限,從而實(shí)現(xiàn)興趣建模和權(quán)限推薦[14].其相關(guān)的計(jì)算工具如下:
支持度[13]是指兩種權(quán)限A和B在總權(quán)限數(shù)(N)中同時(shí)出現(xiàn)的概率,即:
(7)
置信度[13]是擁有權(quán)限A還擁有權(quán)限B的條件概率.
(8)
提升度用于度量關(guān)聯(lián)規(guī)則是否有效,即是否有提升效果.
(9)
性質(zhì)1.頻繁項(xiàng)集的子集也是頻繁項(xiàng)集.
性質(zhì)2.非頻繁項(xiàng)集的超集一定是非頻繁的.
算法2.用戶角色動(dòng)態(tài)分配算法
輸入:用戶集合Users、角色集合ROLES
輸出:用戶角色分配
BEGIN:
1.C1←init-pass(T);
2.F1←{f|f∈C1,f.count/n≥minsup};
3.for(k=2;Fk-1≠φ;k++)do
4.Ck←φ;
5.for all f1,f2∈Fk-1;
6.with f1={i1,…,ik-2,ik-1}
7.and f2={i1,…,ik-2,Ik-1}
8.and ik-1 9.c←{i1,…,ik-1,Ik-1} 10.Ck←Ck∪{c}; 11.for each(k-1)-subset s of c do 12.if(s?Fk-1)then 13.delete c from Ck; 14.根據(jù)用戶位置屬性、資源屬性授予用戶的基本初始權(quán)限 15.for each transaction t∈T do 16.for eachc∈Ck do 17.if c is contained in t then 18.c.count++; 19.end for 20.end for 24.根據(jù)提升度度量更適合用戶的權(quán)限,完成用戶角色分配 25.compute Wsc 26.輸出用戶角色分配和角色集 End 算法2的第1行到13行是對(duì)角色集合的權(quán)限項(xiàng)進(jìn)行合并,然后找出不滿足最小支持度和最小置信度的項(xiàng),根據(jù)關(guān)聯(lián)規(guī)則的性質(zhì)2可知非頻繁項(xiàng)集的超集一定是非頻繁的以此對(duì)不符合的角色進(jìn)行剪枝處理;第14到20行是根據(jù)用戶的屬性找到用戶組中與之類似的用戶并分配給用戶相應(yīng)的基本權(quán)限,之后采用逐級(jí)搜索的算法找到與用戶初始權(quán)限相關(guān)聯(lián)的權(quán)限;第21到第24行是根據(jù)用戶的屬性分配給用戶的初始權(quán)限與用戶可能擁有的權(quán)限進(jìn)行提升度度量,如果兩個(gè)權(quán)限的提升度大于1說明規(guī)則有效,可以將權(quán)限分配給用戶,用戶所在的角色組決定用戶可能擁有的角色,此時(shí)將角色加入到新的角色集合中并計(jì)算角色狀態(tài)的加權(quán)結(jié)構(gòu)復(fù)雜度的大小,如果此時(shí)的加權(quán)結(jié)構(gòu)復(fù)雜度小于上一角色狀態(tài)的加權(quán)結(jié)構(gòu)復(fù)雜度,則可以動(dòng)態(tài)地進(jìn)行用戶角色分配;如果不是,則重新分配其他權(quán)限,并計(jì)算Wsc,保證產(chǎn)生的角色集合盡量與之前的角色狀態(tài)基本一致. 為了驗(yàn)證算法的準(zhǔn)確性與有效性,采用數(shù)據(jù)挖掘公認(rèn)的常用數(shù)據(jù)集[12]對(duì)算法進(jìn)行試驗(yàn)分析,這些數(shù)據(jù)集可以在HP Laps在線獲得,實(shí)驗(yàn)所用數(shù)據(jù)集如表1所示.產(chǎn)生的角色準(zhǔn)確率采用相似度來表示,相似性越高產(chǎn)生的角色越準(zhǔn)確;系統(tǒng)的有效性大小通過加權(quán)結(jié)構(gòu)復(fù)雜度來表示,加權(quán)結(jié)構(gòu)復(fù)雜度越小,算法的運(yùn)行時(shí)間越短,算法的效率越高. 表1 數(shù)據(jù)集Table 1 Data sets 首先,對(duì)系統(tǒng)的目標(biāo)函數(shù)OF進(jìn)行參數(shù)賦值,W=<0.25,0.25,0.25,0.25>,w=0.5,此時(shí)可以計(jì)算出系統(tǒng)的擾動(dòng)性大小的值并以此作為系統(tǒng)擾動(dòng)性評(píng)估的標(biāo)準(zhǔn),當(dāng)產(chǎn)生新的角色集合時(shí),目標(biāo)函數(shù)的值應(yīng)小于等于初始值.在用戶角色動(dòng)態(tài)分配過程中,角色中的權(quán)限數(shù)量取決于關(guān)聯(lián)規(guī)則中支持度與置信度的大小,因此實(shí)驗(yàn)選取Apj、America_large、Customer、America_small這4個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析. 基于最小擾動(dòng)的角色挖掘算法的評(píng)估依靠相似度和加權(quán)結(jié)構(gòu)復(fù)雜度的大小,而形成角色最終的角色集合取決于支持度和置信度大小.因此考慮支持度與置信度的閾值相等,通過角色挖掘算法挖掘出的角色要滿足大于或等于閾值的條件,圖2 和圖3分別在4個(gè)數(shù)據(jù)集下進(jìn)行不同閾值情況下的實(shí)驗(yàn) 驗(yàn)證.圖2在閾值小于0.5時(shí),隨著閾值的增大,權(quán)限之間具有關(guān)聯(lián)性,則角色之間的相似度也隨之增大,閾值在0.5到0.6之間,產(chǎn)生的角色準(zhǔn)確性高;而隨著閾值繼續(xù)增大,角色之間的相似度降低,因而產(chǎn)生的角色準(zhǔn)確性較差. 圖2 不同數(shù)據(jù)集在不同閾值下的相似度比較Fig.2 Comparison of similarity of different data sets at different thresholds 圖3是在不同閾值下4個(gè)數(shù)據(jù)集的加權(quán)結(jié)構(gòu)復(fù)雜度的變化,在閾值為0時(shí)使初始角色集合狀態(tài)的加權(quán)結(jié)構(gòu)復(fù)雜度大小,這也是系統(tǒng)的初始加權(quán)結(jié)構(gòu)復(fù)雜度,在進(jìn)行角色評(píng)估時(shí)角色狀態(tài)的加權(quán)結(jié)構(gòu)復(fù)雜度應(yīng)小于或等于初始加權(quán)結(jié)構(gòu)復(fù)雜度.隨著閾值的增大,系統(tǒng)根據(jù)屬性進(jìn)行用戶角色動(dòng)態(tài)分配的權(quán)限數(shù)量減少,因此導(dǎo)致用戶分配的角色數(shù)量變少,閾值在0.3到0.7的范圍內(nèi)產(chǎn)生的角色集合能夠滿足系統(tǒng)最小擾動(dòng)的要求,隨著閾值的增大,角色狀態(tài)的加權(quán)結(jié)構(gòu)復(fù)雜度變大. 圖3 不同數(shù)據(jù)集在不同閾值下加權(quán)結(jié)構(gòu)復(fù)雜度大小的比較Fig.3 Comparison of weighted structure complexity of different data sets at different thresholds 在圖2中結(jié)果顯示在不同的數(shù)據(jù)集中,算法在Ametica_small數(shù)據(jù)集中相似度比較低說明算法的準(zhǔn)確性小,因此選用此數(shù)據(jù)集與文獻(xiàn)[12]中算法進(jìn)行比較,在圖4中可以看出本文算法比文獻(xiàn)[12]算法相似度大,因而準(zhǔn)確性表現(xiàn)好. 圖4 在America_small數(shù)據(jù)集下不同文獻(xiàn)相似度大小的比較Fig.4 Comparison of similarity size of different literature under America_small data set 在圖3中結(jié)果顯示在不同的數(shù)據(jù)集中,算法在Apj數(shù)據(jù)集中加權(quán)結(jié)構(gòu)復(fù)雜度相當(dāng)較高說明算法擾動(dòng)性大、有效性低,因此選用此數(shù)據(jù)集與文獻(xiàn)[12]中算法進(jìn)行比較,在圖5中可以看出本文算法比文獻(xiàn)[12]加權(quán)結(jié)構(gòu)復(fù)雜度低,算法對(duì)系統(tǒng)擾動(dòng)性低,因而有效性表現(xiàn)好. 圖5 在Apj數(shù)據(jù)集下不同文獻(xiàn)加權(quán)結(jié)構(gòu)復(fù)雜度大小的比較Fig.5 Comparison of weighted structure complexity of different literature under Apj data set 圖6、圖7是在不同的數(shù)據(jù)集下角色的數(shù)量與用戶和權(quán)限數(shù)量的關(guān)系,它們的共同特征是隨著權(quán)限、用戶數(shù)量的增多,角色的數(shù)量呈遞減變化,這是因?yàn)橛脩舻墓餐瑢傩砸苍谥饾u增多,因此可分配的角色便逐漸減少. 圖6 不同數(shù)據(jù)集下權(quán)限與角色的關(guān)系Fig.6 Relationship between permissions and roles under different data sets 圖7 不同數(shù)據(jù)集下用戶與角色的關(guān)系Fig.7 Relationship between users and roles under different data sets 以上的實(shí)驗(yàn)說明基于屬性規(guī)則的角色權(quán)限細(xì)粒度分配與用戶角色動(dòng)態(tài)分配是可行的,所產(chǎn)生的角色集合是準(zhǔn)確并且對(duì)系統(tǒng)的擾動(dòng)性是最小的. 本文提出了基于屬性和RBAC的訪問控制模型,通過屬性授權(quán)規(guī)則完成基于最小擾動(dòng)的角色權(quán)限細(xì)粒度分配算法;對(duì)新增的用戶根據(jù)屬性進(jìn)行用戶角色的動(dòng)態(tài)分配過程,并對(duì)系統(tǒng)中的角色集合進(jìn)行最小擾動(dòng)的評(píng)估,確保生成的角色集合與系統(tǒng)的角色集盡可能保持一致,經(jīng)過實(shí)驗(yàn)驗(yàn)證算法具有較高的準(zhǔn)確性和有效性. 本文的下一步的研究方向是屬性與RBAC的混合擴(kuò)展訪問控制模型在保證效率的前提下完成細(xì)粒度、動(dòng)態(tài)授權(quán).5 實(shí)驗(yàn)及分析
6 結(jié) 語