彭 友,鞠 航,王延章
(1.大連理工大學 信息技術與決策支持研究所,遼寧 大連 116024;2.哈爾濱工程大學 經(jīng)濟管理學院,黑龍江 哈爾濱 150001)
基于角色的訪問控制(role-based access control,RBAC)模型的出現(xiàn),一方面改善了傳統(tǒng)訪問控制模型的任意性和強制性,另一方面為解決分布式環(huán)境下的訪問控制問題提供了便利.轉授權技術正是建立在RBAC 模型的基礎上,用以解決用戶間權限再分配的問題的.國外關于轉授權模型的研究起步較早,主要包括Sandhu 等提出的與角色管理者相關聯(lián)的ARBAC97模型[1],Barka等提出的允許通過角色實現(xiàn)用戶-用戶轉授權操作的RBDM0 模型[2],Zhang等提出的通過定義基于規(guī)則的聲明性語言來執(zhí)行轉授權操作的RDM2000模型[3],以及目前得到廣泛應用的PBDM 模型.國內主要研究成果包括王小明等提出的一種支持身份認證的動態(tài)角色委托代理授權模型[4];趙慶松等提出的基于重復和部分角色的轉授權模型RPRDM[5];孫波等提出的具有時限約束的TRDM 模型[6];李黎等提出的一種基于代理的角色代理模型ARDM[7];張少敏等提出的具有時間約束的基于角色的授權管理模型[8].
通過對大量信息系統(tǒng)的開發(fā)和實施過程進行深入分析,可以發(fā)現(xiàn)在轉授權處理過程中會存在如下約束情況:(1)轉授權過程由于對權限可控性和系統(tǒng)安全性等方面考慮,會被限制在一個特定的有效時限內,因此具有很強的時限約束特征;(2)轉授權過程具有一定的突發(fā)性和不可控性,但是一個安全的信息系統(tǒng)資源的使用是有其上限閾值的,超過了資源上限的轉授權操作是被禁止的,因此具有很強的資源約束特征;(3)轉授權過程中會產(chǎn)生多種類型的互斥事件,針對互斥事件在同一時刻發(fā)生的情況,本文稱其為互斥約束.例如,事件E1:deassignrtou2(系統(tǒng)撤銷用戶u2的角色r)和事件E2:u2delegatertou3(用戶u2將角色r授權給用戶u3)同時發(fā)生時系統(tǒng)應該如何處理的情況即為互斥約束.國內外一些學者也考慮到了時限約束問題,如文獻[6]和[8],但是,對于資源約束和互斥約束的情況,則沒有過多的關注.作者在實際系統(tǒng)的開發(fā)和實施中發(fā)現(xiàn),這3種約束是相互影響且不可分割的,單方面考慮時限約束情況不能解決轉授權業(yè)務中所遇到的種種問題.因此本文綜合考慮復雜時空約束條件對轉授權處理流程的影響,并給出在復雜時空約束條件下基于角色的轉授權模型的處理機制和詳細算法流程.本文的研究工作雖然是從轉授權過程出發(fā)的,但是系統(tǒng)中的一般授權過程同樣會受到上述約束的影響,跳出一般授權而單獨討論轉授權過程是毫無意義的,因此同樣會涉及復雜時空約束對一般授權過程的影響.
時限約束是授權過程需要面對的首要問題,可以看出其會發(fā)生在系統(tǒng)中涉及授權的各個環(huán)節(jié),即會體現(xiàn)在用戶-角色-權限三者之間的授權、轉授權過程中,也會對資源約束、互斥約束產(chǎn)生影響.所有的指派和授權在時限有效的范圍內生效,但是一旦超過時限范圍,系統(tǒng)必須自動撤銷相應的指派和授權行為.在實際系統(tǒng)中,時限約束通常表現(xiàn)為一定的時間區(qū)間或者一個固定的時間周期,比如某工作人員甲的崗位授權時間為{[8:00-17:00],(周一,周二,周三,周四,周五)},這里時限約束表現(xiàn)為一個固定的時間周期.而如果甲某在時間區(qū)間{[10:00-11:00],2010/10/16}被轉授權得到乙某的部分權限,則此時時限約束表現(xiàn)為一個具體的時間區(qū)間.本文首先給出時限約束的相關定義.
定義1 時間區(qū)間.T={t0,t1,…}為離散時間軸上所有時間點的無限集合,本文稱離散時間軸tb開始到td結束的所有時間點的集合[tb,td]為時間區(qū)間,一般的形式化表示形式為[begin,end].
定義2 時間周期.設給定公歷時間C1,C2,…,Cn,Cd,時間周期的表示形式p定義為p=其中O1=all,Oi∈2N∪{all},CiCi-1,i=2,…,n,CdCn代表時間周期的長度單位,可以是年、月、日、小時、分鐘等,x∈N代表時間周期的長度.符號用來分隔左邊表示時間區(qū)間和右邊表示時間周期的兩部分[9].
定義3 時限約束的表現(xiàn)形式:CONT=為時間區(qū)間,D、Dx為時間周期,時限約束是針對事件E提出的,E是授權過程中發(fā)生的任意事件.如表1所示,將時限約束條件下的事件E表示為CONST1=(CONTE,E).
基于角色的轉授權模型由四元組(USR,ROL,PER,SESS)組成,各元素分別為下列基本集合:USR,用戶集合;ROL,角色集合;PER,權限集合;SESS,會話集合.加入時限約束后基于角色的轉授權模型基本元素如定義4所示.
表1 時限約束條件下不同事件的CONST1形式化表示Tab.1 The time-constraint expressions of CONST1 of different events
定義4
(1)UAOTUSR×ROL×CONT,在時限約束條件下的用戶與初始角色之間的多對多映射關系;
(2)RLPRTROL×PER×CONT,在時限約束條件下的權限與角色之間的多對多映射關系;
(3)UADTUSR×ROL×CONT,在時限約束條件下的用戶與被轉授角色之間的多對多映射關系;
(4)UA=UAOT∪UADT∈USR×ROL×CONT,在時限約束條件下用戶到角色的多對多指派關系;
(5)USR-O(rol,t)=((u,r′,cont)∈UAOT)∩(t∈cont)},在時刻t具有初始角色rol的所有用戶的集合;
(6)USR-D(rol,t)={u(-r′≥r)((u,r′,cont)∈UADT)∩(t∈cont)},在時刻t具有被轉授權角色rol的所有用戶的集合;
(7)USR(rol,t)=[USR-O(rol,cont)∪USR-D(rol,cont)]∩(t∈cont),在時刻t具有同一個角色rol的所有用戶的集合;
(8)USR:S→U,user(si,t)=ring),(ued,r′),cont}∈si∩(t∈cont)},在時刻t時會話si所具有的所有用戶;
(9)rol:S→2R,rol(si,t)=[ua={(uing,ring),(user(si,t),r′),cont}∈UA∩(t∈cont)]},在時刻t時會話si所具有的所有角色.
在實際的業(yè)務系統(tǒng)中,轉授權的發(fā)起通常是由正常因素外的某種突發(fā)因素引起的,比如某用戶的缺席或者某一個緊急項目的啟動,具有很強的突發(fā)性和不可預測性,這就客觀造成了系統(tǒng)中資源使用的不可控.但是任何信息系統(tǒng)一個重要的安全指標就是其資源不可被濫用,也就是資源的使用不可超過其上限閾值,所有超過其上限閾值的請求是不被批準的.如何解決這種在資源約束條件下轉授權的處理問題是這部分研究工作的重點.基于角色在授權過程中所具有的重要作用,本文首先引入角色狀態(tài)的概念,將角色分為生效、失效、激活、忙碌4個狀態(tài).其中,失效狀態(tài)是指當前角色不可用;生效狀態(tài)則是當前角色可用,但是尚未有用戶使用該角色;激活狀態(tài)是指系統(tǒng)中至少有一個用戶在使用當前角色;忙碌狀態(tài)則是指當前角色所對應的資源達到了使用上限閾值,任何用戶新的請求操作將不被批準.圖1為角色狀態(tài)躍遷示意圖.
角色狀態(tài)的躍遷是由系統(tǒng)中用戶針對當前角色的請求事件觸發(fā)的,表1中部分給出了用戶針對角色的請求事件E.通過對信息系統(tǒng)中實際業(yè)務的分析,本文歸納出在轉授權處理過程中,信息系統(tǒng)對資源的約束主要體現(xiàn)在資源的激活時間和激活次數(shù)兩個方面,而對用戶的約束則分為是針對所有用戶還是只針對某一個具體用戶兩種情況.基于此本文給出了基于角色的轉授權模型中各種資源約束的具體表現(xiàn)形式,如表2所示.
圖1 角色狀態(tài)躍遷示意圖Fig.1 Condition transitions in the role
定義5 資源約束的形式化表示:CONSA(r) = (CONT,Ctype,Cvalue,Atype,Avalue,r).其中,CONT是時限約束,代表資源約束的有效時限;Ctype是資源約束類別,具體包括表2給出的4種不同類別;Cvalue則是指Ctype所對應的具體約束值;Atype是指約束針對的用戶類型,是系統(tǒng)中的所有用戶還是某一個具體用戶u;Avalue則是Atype所對應的具體約束用戶信息,缺省代表所有用戶;r為被約束角色所對應的信息.
針對資源約束情況下角色和用戶的相應資源信息,作者提出用戶資源信息和角色資源信息兩個概念.定義6和7給出了兩者所包含的具體信息.
表2 基于角色的轉授權模型中各種資源約束的具體表現(xiàn)形式Tab.2 The resource-constraint expressions in role-based delegation model
定義6 用戶資源信息:u-cur(r)=(u,r,dua,nua,dm,nm,su).其 中,u為 當 前 用 戶 信 息,dua是指當前用戶u針對角色r的剩余可激活總時長,nua是指用戶u針對角色r的剩余可激活總次數(shù),dm是指用戶u針對角色r的當前最大單次可激活時長,nm是指用戶u針對角色r的當前最大可同時激活次數(shù),su是指用戶u針對角色r的所有已激活對話集合.
定義7 角色資源信息:r-cur=(r,dra,dna,drm,nrm,cs,p,uall).其中,dra是指角色r的剩余可激活時長,dna是指角色r的剩余可激活總次數(shù),drm是指角色r的當前最大單次可激活時長,nrm是指角色r的當前最大可同時激活次數(shù),cs是指角色r的當前狀態(tài),p是角色r的權限集,uall是指當前所有使用角色r用戶的u-cur(r)集合.
在實際業(yè)務系統(tǒng)中,轉授權過程具有明顯的突發(fā)性和多步性,這樣會帶來一個問題:多個互斥事件在同一時刻發(fā)生的情況如何處理.舉例來說,系統(tǒng)中針對具體角色r會產(chǎn)生一組由不同用戶發(fā)起的稱之為事件序列的事件集E1,E2,…,EN,如果 存 在 兩 個 事 件Ei、Ej同 時 發(fā) 生 且Ei:u1:deassignrtou2,Ej:u2:delegatertou3,這里Ei表示用戶u1撤銷對u2的轉授權,Ej則是用戶u2繼續(xù)轉授權給用戶u3,模型執(zhí)行Ei意味著用戶u3不能獲得轉授權,而執(zhí)行Ej則意味著用戶u3可以獲得轉授權.這樣互斥事件同時發(fā)生的情況在實際業(yè)務中會經(jīng)常發(fā)生,而如何處理在現(xiàn)有的轉授權模型中并沒有涉及.本文這一部分就用來討論基于角色的轉授權模型中如何解決這種互斥約束的情況.
通過對轉授權處理過程的研究,本文將所有可能產(chǎn)生互斥的事件分為兩大類,稱其為基本互斥事件集和上層互斥事件集.基本互斥事件集是指轉授權過程中可能出現(xiàn)互斥情況的基本事件集,而上層互斥事件集則是指基本互斥事件之間可能會產(chǎn)生互斥情況的事件集合.表3給出了基于角色的轉授權模型中可能產(chǎn)生互斥的所有事件集.需要注意到,模型中所有事件都是在時限CONTE的約束下,兩個事件Ei、Ej同時發(fā)生的含義是指在其所對應的有效時限CONTE1和CONTE2內,如果在某一個時刻t重合,則Ei、Ej在時刻t發(fā)生互斥約束.
表3 基于角色的轉授權模型中可能產(chǎn)生互斥的所有事件集Tab.3 All conflicting events in role-based delegation model
針對基于角色的轉授權模型中的互斥約束情況,本文提出一種稱之為“失效優(yōu)先”的準則.具體來說,當兩個事件Ei、Ej同時發(fā)生且屬于表3中所列的互斥事件時,代表著“失效”的事件Ei優(yōu)先于事件Ej的執(zhí)行,也就是說,事件“disabler”優(yōu)先于“enabler”,“deactiverforu”優(yōu)先于“u:activer”.而事件Ej則被“阻塞”進入到“阻塞事件序列”中,當事件Ei執(zhí)行時限結束以后,如果阻塞事件序列中事件Ej仍處于有效執(zhí)行時限的范圍之內,則繼續(xù)執(zhí)行之.針對多個事件產(chǎn)生互斥約束的情況,則屬于基本互斥事件集的互斥事件優(yōu)先于屬于上層互斥事件集的互斥事件,也就是首先解決屬于基本互斥事件集的互斥事件.由此給出互斥約束下基于角色的轉授權模型的處理準則:
(1)基本互斥事件優(yōu)先于上層互斥事件;
(2)“失效”事件優(yōu)先于其他事件;
(3)優(yōu)先事件時限失效之后執(zhí)行阻塞事件序列中未失效事件.
與轉授權過程相對應,其授權撤銷過程同樣非常重要.可以看出在復雜時空約束條件下,撤銷的發(fā)起形式更為多樣化,主要分為如下3種情況:
(1)授權時限失效導致的權限撤銷.當授權時間超過了所指定的授權最大時限時,系統(tǒng)自動地撤銷該授權行為.這里授權時限失效既包括用戶-角色-權限三者之間的授權時限,同樣包括轉授權過程中轉授權行為的有效時限.權限撤銷后同時需要在角色資源信息r-cur和用戶資源信息ucur(r)中進行體現(xiàn).
(2)授權用戶的主動撤銷方式.當授權用戶發(fā)現(xiàn)被授權用戶存在權限濫用而需要撤銷其權限時,就要用到主動撤銷方式.這種方式存在以下兩種情況:①u∈USR(r,t)→can_revoke,此時只有在時刻t具有角色r的用戶才可以發(fā)起撤銷,撤銷過程會將被撤銷用戶ued及其所產(chǎn)生的轉授權鏈一并撤銷.權限撤銷后需要更新角色資源信息r-cur和用戶資源信息u-cur(r).②ux,(rx≥r)∧can_activate(ux,r,t)→can_revoke,此時在時刻t任意可以激活角色r的用戶都可以發(fā)起撤銷,這樣處理是基于實際業(yè)務中高層用戶可以對轉授權過程加以監(jiān)控而考慮的,撤銷可以分為完全撤銷和部分撤銷,完全撤銷是指針對角色r的所有用戶的授權撤銷,而部分撤銷則只是針對被撤銷用戶ued及其所產(chǎn)生的轉授權鏈的授權撤銷.
(3)系統(tǒng)管理員發(fā)起的撤銷方式.系統(tǒng)管理員在任何時候都可以對任何用戶的授權或者轉授權行為發(fā)起授權撤銷.具體處理方式和上面情況類似,這里不再詳細討論.
這一部分討論在復雜時空約束條件下基于角色的轉授權模型業(yè)務處理的詳細算法流程.假設系統(tǒng)在時刻t針對角色r會產(chǎn)生一組由不同用戶發(fā)起的事件序列E1,E2,…,EN,本文將其稱之為時刻t針對角色r的事件序列Eq(t)=(E1,E2,…,EN).在復雜時空約束條件下,事件Ei會受到自身有效時限的約束,角色r也會受到系統(tǒng)資源約束的限制,而事件與事件之間則可能會發(fā)生互斥約束的情況.模型首先解決互斥約束問題,根據(jù)“失效優(yōu)先”準則執(zhí)行事件序列Eq(t)中代表失效的de-assign和de-activate事件,由此不但會引發(fā)權限處理流程中的權限撤銷操作,同樣會使系統(tǒng)中可用資源發(fā)生變化,因此需要更新角色資源信息r-cur和用戶資源信息u-cur(r).接下來則是Eq(t)中指派操作事件的執(zhí)行,更新用戶 -角色-權限三者之間的指派關系到時刻t,為后續(xù)的角色激活事件提供狀態(tài)基礎.下一步判斷Eq(t)中是否存在disabler事件,如果存在則在事件有效的時限區(qū)間內,將r-cur和u-cur(r)置為初始值(r,∞,∞,∞,∞,disable,null,null)和(u,r,∞,∞,∞,∞,null),意味著當前角色r所對應的系統(tǒng)資源不可用,Eq(t)中其他的剩余事件被阻塞進入阻塞事件序列Bq(t),在disabler事件失效后,阻塞事件序列Bq(t)中所有事件如果也已經(jīng)超過了生效時限,則執(zhí)行t+1時刻的事件序列Eq(t+1),否則執(zhí)行Bq(t)和Eq(t)中的后續(xù)事件,即角色生效事件enabler、角色激活事件activerforu和角色轉授權事件uingdelegaterforued.相關的具體算法流程如圖2所示.
本文將上述研究成果應用到多個電子政務系統(tǒng)的開發(fā)和實施過程中以進行檢驗,包括“大連市西崗區(qū)內、外網(wǎng)綜合服務門戶”“遼寧省黨政信息網(wǎng)”“大連市金州區(qū)一站式行政審批管理系統(tǒng)”等,均取得了良好的效果.在上述政務系統(tǒng)中,用戶的授權、轉授權操作嚴格遵循時限約束、系統(tǒng)資源約束和互斥約束三方面的制約,一方面更加符合實際業(yè)務的需要,另一方面也使系統(tǒng)的權限管理工作變得更加安全和可控.
圖2 復雜時空約束條件下基于角色的轉授權模型業(yè)務處理的詳細算法流程Fig.2 The detailed algorithm flow chart of business processes of role-based delegation model under complex temporal constraints
信息系統(tǒng)出于對系統(tǒng)權限的可控性和資源的安全性等方面的考慮,其在轉授權的具體業(yè)務處理過程中不可避免地要受到時限約束、系統(tǒng)資源約束和互斥事件約束三者的統(tǒng)一作用,這里將其統(tǒng)稱為復雜時空約束的作用.本文正是從以上實際問題入手,一方面詳細分析了復雜時空約束各自的特征和表現(xiàn)形式,另一方面則具體討論了在復雜時空約束條件下基于角色的轉授權模型的處理機制和詳細算法流程.相應研究成果在多個電子政務系統(tǒng)的實際應用中均取得了良好的效果.下一步作者的主要工作將集中在轉授權模型在實際業(yè)務處理過程中人為因素對信息安全帶來的影響,針對操作主體-用戶的鑒權、維權和責任認定將是今后研究工作的重點.
[1] Sandhu R,Bhamidipati V,Munawer Q.The ARBAC97 model for role-based administration of roles[J].ACM Transactions on Information and System Security,1999,2(1):910-922.
[2] Barka E,Sandhu R.A role-based delegation model and some extensions [C]//Proceedings of 23rd National Information Systems Security Conference.Baltimore:IEEE Computer Society,2000.
[3] ZHANG Long-h(huán)ua,Ahn Gail-joon,Chu Bei-tseng.A rule-based framework for role-based delegation[J].ACM Transactions on Information and Systems Security,2003,6(3):404-420.
[4] 王小明,趙宗濤,馮德民.一種動態(tài)角色委托代理授權模型[J].計算機科學,2002,29(2):66-68.WANG Xiao-ming,ZHAO Zong-tao,F(xiàn)ENG Demin.An RBAC dynamically delegating grant model[J].Computer Science,2002,29(2):66-68.(in Chinese)
[5] 趙慶松,孫玉芳,孫 波.RPRDM:基于重復和部分角色的轉授權模型[J].計算機研究與發(fā)展,2003,40(2):221-227.ZHAO Qing-song,SUN Yu-fang,SUN Bo.RPRDM:A repeated-and-part-role-based delegation model J.Journal of Computer Research and Development,2003,40(2):221-227.(in Chinese)
[6] 孫 波,趙慶松,孫玉芳.TRDM——具有時限的基于角色的轉授權模型[J].計算機研究與發(fā)展,2004,41(7):1104-1109.SUN Bo,ZHAO Qing-song,SUN Yu-fang.TRDM-temporal role-based delegation model[J].Journal of Computer Research and Development,2004,41(7):1104-1109.(in Chinese)
[7] 李 黎,王小明,張黎明.ARDM——基于代理的角色代理模型[J].計算機應用研究,2005,22(11):106-109.LI Li,WANG Xiao-ming,ZHANG Li-ming.ARDM:Agent-based role delegation model [J].Application Research of Computers,2005,22(11):106-109.(in Chinese).
[8] 張少敏,王保義,周利華.一種具有時間約束的基于角色的授權管理模型[J].武漢大學學報,2006,52(5):578-581.ZHANG Shao-min,WANG Bao-yi,ZHOU Li-h(huán)ua.Temporal role-based delegation model[J].Journal of Wuhan University,2006,52(5):578-581.(in Chinese)
[9] Joshi J B D,Ghafoor A,Aref W,etal.Digital government security infrastructure design challenges[J].IEEE Computer,2001,34(2):66-72.
[10] Joshi J B D,Aref W G,Ghafoor A,etal.Security models for web-based applications [J].Communications of the ACM,2001,44(2):38-72.