999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

業(yè)務(wù)流程授權(quán)約束依從性分析

2017-11-07 10:11:25夏春和
計算機研究與發(fā)展 2017年10期
關(guān)鍵詞:用戶

薄 陽 夏春和,3

1(網(wǎng)絡(luò)技術(shù)北京市重點實驗室(北京航空航天大學(xué)) 北京 100191) 2(北京航空航天大學(xué)計算機學(xué)院 北京 100191) 3(廣西師范大學(xué)計算機科學(xué)與信息工程學(xué)院 廣西桂林 510004) (cseby@buaa.edu.cn)

2017-06-05;

2017-07-29

國家自然科學(xué)基金聯(lián)合基金項目(U1636208);中航工業(yè)產(chǎn)學(xué)研項目(CXY2011BH07) This work was supported by the Joint Funds of National Natural Science Foundation of China (U1636208) and the Special Project on the Integration of Industry, Education and Research of the Aviation Industry Corporation of China (CXY2011BH07).

業(yè)務(wù)流程授權(quán)約束依從性分析

薄 陽1,2夏春和1,2,3

1(網(wǎng)絡(luò)技術(shù)北京市重點實驗室(北京航空航天大學(xué)) 北京 100191)2(北京航空航天大學(xué)計算機學(xué)院 北京 100191)3(廣西師范大學(xué)計算機科學(xué)與信息工程學(xué)院 廣西桂林 510004) (cseby@buaa.edu.cn)

授權(quán)約束的依從性研究是業(yè)務(wù)流程安全領(lǐng)域中的重要研究內(nèi)容.針對授權(quán)約束提出了全新的業(yè)務(wù)流程依從性分析框架,該框架可以處理:1)流程授權(quán)和非流程授權(quán);2)業(yè)務(wù)流程任務(wù)委托;3)角色繼承關(guān)系;4)職責(zé)分離和職責(zé)綁定約束;5)靜態(tài)約束和動態(tài)約束.提出授權(quán)圖表示依從性分析框架,并給出授權(quán)圖的構(gòu)造和化簡方法對授權(quán)圖進行維護,然后設(shè)計了針對授權(quán)圖的依從性分析算法.基于分析結(jié)果,給出了不依從授權(quán)約束的沖突模式,針對每一種沖突模式設(shè)計一組解決方案,并實現(xiàn)了原型系統(tǒng).所提出的授權(quán)約束依從性分析框架獨立于系統(tǒng)部署的平臺,適用范圍廣泛.最后通過實例分析和實驗驗證說明了該方法的有效性.

業(yè)務(wù)流程;授權(quán)約束;依從性;職責(zé)分離;職責(zé)綁定;任務(wù)委托

業(yè)務(wù)流程是指為特定用戶提供特定服務(wù)或者產(chǎn)品的一組相關(guān)的結(jié)構(gòu)化的任務(wù).為了保證這些服務(wù)和產(chǎn)品是用戶所需要的,業(yè)務(wù)流程經(jīng)常要依從于業(yè)務(wù)規(guī)則和策略,這些業(yè)務(wù)規(guī)則和策略被稱之為依從性要求[1].本文主要關(guān)注依從性要求中的一類:授權(quán)約束[2-4].為了避免業(yè)務(wù)流程中權(quán)限濫用、誤用和欺騙等情況的發(fā)生,從而會對組織機構(gòu)造成損害,授權(quán)約束規(guī)定業(yè)務(wù)流程中的任務(wù)必須由系統(tǒng)指定的角色和用戶來完成.業(yè)務(wù)流程授權(quán)約束依從性分析是判斷業(yè)務(wù)流程中用戶、角色和任務(wù)獲取的權(quán)限是否依從于授權(quán)約束規(guī)定的過程.

業(yè)務(wù)流程生命周期包括流程設(shè)計和流程執(zhí)行階段.在流程設(shè)計階段,流程專家對業(yè)務(wù)過程建模,并指定可以執(zhí)行任務(wù)的角色以及完成任務(wù)需要的權(quán)限;在流程執(zhí)行階段,業(yè)務(wù)管理員為每個任務(wù)分配一個候選用戶.由于系統(tǒng)當前狀態(tài)和候選用戶分配策略的不同,對于相同的業(yè)務(wù)流程模型經(jīng)常可以得到不同的任務(wù)分配.因此,業(yè)務(wù)流程中授權(quán)約束的依從性分析既要分析業(yè)務(wù)流程模型的依從性,還要分析任務(wù)分配的依從性.同時,為了確保以用戶為中心的業(yè)務(wù)管理并支持跨組織的協(xié)作[5],業(yè)務(wù)流程中候選用戶經(jīng)常需要將分配給他的任務(wù)委托給其他用戶去執(zhí)行,即任務(wù)委托.任務(wù)委托為用戶獲取權(quán)限提供了隱蔽通道.在依從性分析過程中必須予以考慮.

在業(yè)務(wù)流程環(huán)境中,為了滿足企業(yè)的訪問控制靈活多變以及主動和被動訪問并存的需求,基于任務(wù)-角色的訪問控制模型(task-role based access control, TRBAC)[6]得到了大量關(guān)注和應(yīng)用.在TRBAC中,角色不會直接獲取權(quán)限而是通過其分配的任務(wù)獲取相應(yīng)的權(quán)限.為了能夠支持主動和被動2種訪問需求,TRBAC中將任務(wù)進行了分類,簡單來說分為流程任務(wù)和非流程任務(wù).非流程任務(wù)是角色固有的任務(wù),通過非流程任務(wù)獲取的權(quán)限是被動權(quán)限;而流程任務(wù)是在業(yè)務(wù)流程生命周期分配給角色去執(zhí)行的任務(wù),是隨著時間的變化而變化的,用戶通過流程任務(wù)而獲取的權(quán)限是主動權(quán)限.由于用戶可能通過上述2種途徑獲取權(quán)限,因此,基于TRBAC的授權(quán)約束依從性分析除了考慮用戶通過流程中的任務(wù)獲取的動態(tài)權(quán)限,還需要考慮用戶通過非流程任務(wù)獲取的固有權(quán)限.

目前研究集中于主動訪問或者被動訪問的授權(quán)約束分析,為了能夠分析TRBAC中主動訪問和被動訪問相結(jié)合的訪問方式的依從性,本文提出了一種全新的依從性分析框架,該框架具有4個特點:

1) 該框架充分考慮了用戶獲取權(quán)限的3種途徑和2種方式,用戶獲取權(quán)限的3種途分別為通過角色和任務(wù)獲取權(quán)限、通過角色繼承關(guān)系獲取權(quán)限以及通過委托機制獲取權(quán)限,用戶獲取權(quán)限的2種方式為主動獲取和被動獲取;

2) 提出授權(quán)圖描述所提出的授權(quán)約束依從性分析框架,授權(quán)圖易于構(gòu)造和維護,授權(quán)圖的依從性分析可以轉(zhuǎn)換為對有向圖的操作,提高了分析效率;

3) 提出的框架能夠在業(yè)務(wù)流程設(shè)計和業(yè)務(wù)流程執(zhí)行過程中發(fā)現(xiàn)違反授權(quán)約束的沖突,并且給出沖突模式和解決方案,為權(quán)限再次分配調(diào)整提供了依據(jù);

4) 提出的授權(quán)約束依從性分析框架既考慮了業(yè)務(wù)流程環(huán)境中訪問控制的特點,又考慮了業(yè)務(wù)流程執(zhí)行過程中委托機制帶來的權(quán)限變化情況,并獨立于系統(tǒng)部署平臺,具有廣泛的適用范圍.

1 研究背景

1.1授權(quán)約束

在業(yè)務(wù)流程管理系統(tǒng)中,授權(quán)約束作為保證流程完整性以及差錯控制和欺騙預(yù)防的機制而存在.為了避免業(yè)務(wù)流程中權(quán)限濫用、誤用和欺騙等情況的發(fā)生,從而對組織機構(gòu)造成損害,授權(quán)約束規(guī)定業(yè)務(wù)流程中的任務(wù)必須由系統(tǒng)指定的角色和用戶來完成.授權(quán)約束是基于具有約束關(guān)系的實體而制定的[7].本文認為在TRBAC中這種具有約束關(guān)系的實體是權(quán)限.換言之,用戶通過角色和任務(wù)等最終獲取了對目標資源操作的權(quán)限是授權(quán)約束針對的對象,也是產(chǎn)生安全威脅的根本.典型的授權(quán)約束包括職責(zé)分離約束(separation of duty, SoD)和職責(zé)綁定約束(binding of duty, BoD).簡單來講,職責(zé)分離約束是指2個權(quán)限不能夠分配給同一個用戶;而職責(zé)綁定約束是指2個權(quán)限必須分配給同一個用戶.職責(zé)分離約束反映了責(zé)任和權(quán)力必須分配給不同用戶的需求[8],而職責(zé)綁定約束反映了機密數(shù)據(jù)只能夠由少數(shù)人訪問的需求.我們稱具有職責(zé)分離關(guān)系的2個權(quán)限為互斥權(quán)限,具有職責(zé)綁定關(guān)系的2個權(quán)限為綁定權(quán)限.

職責(zé)分離約束和職責(zé)綁定約束在業(yè)務(wù)流程的設(shè)計階段和運行階段具有不同的含義.在設(shè)計階段,職責(zé)分離約束是防止互斥權(quán)限分配給相同的任務(wù)、角色和用戶.而職責(zé)綁定約束是指綁定權(quán)限能夠分配給相同的任務(wù)、角色和用戶.在運行階段,職責(zé)分離約束是防止在一個流程實例中互斥權(quán)限被分配給同一個用戶,而職責(zé)綁定約束是指綁定權(quán)限必須成對分配給同一個用戶.

1.2TRBAC

不同于RBAC,在TRBAC中,用戶通過角色獲取任務(wù)的執(zhí)行權(quán)限,通過任務(wù)獲取資源的操作權(quán)限,文獻[6]給出了TRBAC的基本結(jié)構(gòu),如圖1所示:

Fig. 1 TRBAC model圖1 基于任務(wù)角色的訪問控制模型

容易理解,TRBAC中實體“任務(wù)”是區(qū)別于RBAC的關(guān)鍵.任務(wù)不僅僅是“子角色”,還有獨有的含義和特點.根據(jù)是否屬于業(yè)務(wù)流程還是不屬于業(yè)務(wù)流程可以將任務(wù)分為流程任務(wù)和非流程任務(wù).根據(jù)組織機構(gòu)的結(jié)構(gòu)和授權(quán)的繼承關(guān)系可以分為可繼承任務(wù)和不可繼承任務(wù).因此,結(jié)合上述2種分類方式可以將任務(wù)分為4種類型:不可繼承非流程任務(wù)(P)、可繼承非流程任務(wù)(S)、不可繼承流程任務(wù)(W)和可繼承流程任務(wù)(A).子角色能夠通過繼承關(guān)系獲取可繼承任務(wù)的執(zhí)行權(quán)限,而不可繼承任務(wù)的執(zhí)行權(quán)限不能夠被繼承.非流程任務(wù)的授權(quán)在業(yè)務(wù)流程設(shè)計和執(zhí)行階段是不變,而流程任務(wù)在設(shè)計階段存在多個候選執(zhí)行角色和用戶,在執(zhí)行階段只存在一個執(zhí)行用戶.TRBAC深入考慮了企業(yè)環(huán)境的特點和訪問控制的需求,更適用于真實情況.本文的研究是在TRBAC的基礎(chǔ)上展開的.

1.3業(yè)務(wù)流程任務(wù)委托

委托是業(yè)務(wù)流程系統(tǒng)以及其他很多應(yīng)用領(lǐng)域的重要概念[9-10].傳統(tǒng)的委托是指允許用戶將其權(quán)限的一部分分配給其他不具有這些權(quán)限用戶的機制[11].發(fā)起委托的用戶稱為委托人,接受委托的用戶稱為被委托人.在業(yè)務(wù)流程環(huán)境中委托是指委托人能夠授權(quán)被委托人執(zhí)行業(yè)務(wù)流程中的任務(wù)[10].一般來講,任務(wù)委托可以分為2類:授予(grant)和轉(zhuǎn)移(transfer)[10,12].授予型委托是指委托成功實施后,委托人和被委托均具有任務(wù)的執(zhí)行權(quán)限;而轉(zhuǎn)移型委托是指委托成功實施后任務(wù)執(zhí)行權(quán)限從委托人轉(zhuǎn)移到被委托人.委托的本質(zhì)是任務(wù)執(zhí)行權(quán)限在用戶之間復(fù)制和轉(zhuǎn)移的過程.因此,任務(wù)委托提高了授權(quán)管理的靈活性.但是,由于用戶發(fā)起任務(wù)委托以及被委托任務(wù)存在不確定性,對系統(tǒng)授權(quán)狀態(tài)也帶來了不確定的變化,容易引發(fā)潛在的安全問題.委托與授權(quán)約束之間固有的復(fù)雜性成為業(yè)務(wù)流程委托過程需要解決的重要問題[13].

2 授權(quán)約束依從性分析框架

授權(quán)約束的依從性是指用戶通過訪問控制策略和委托機制獲取的權(quán)限是否依從于授權(quán)約束的規(guī)定.本文授權(quán)約束主要指職責(zé)分離約束和職責(zé)綁定約束.職責(zé)分離約束是指需要多名用戶來完成一項工作[14].Ferraiolo將職責(zé)分離定義為:對于指定的業(yè)務(wù)集合,不允許同一個人執(zhí)行該集合中的所有業(yè)務(wù)[15].Botha在業(yè)務(wù)流程環(huán)境中討討論職責(zé)分離,定義了可能的沖突、沖突用戶、沖突角色、沖突任務(wù)和沖突權(quán)限等[16].在Botha的定義中,除了沖突用戶表示的是具有某種社會關(guān)系(例如夫妻、父子等家庭關(guān)系)的用戶以外,沖突角色、沖突任務(wù)都是由于角色和任務(wù)具有沖突權(quán)限而產(chǎn)生的.因此,本文認為沖突權(quán)限是授權(quán)約束中的基本約束.Wolter針對工作流模式討論了授權(quán)約束,他認為職責(zé)綁定約束是指2個任務(wù)必須由同一個用戶來執(zhí)行,職責(zé)綁定約束反映了如機密數(shù)據(jù)只能被一小部分用戶訪問的需求[7].

本文沿用了Botha,Wolter等人的定義,并進一步將權(quán)限約束從約束雙方的角度進行了劃分,分為固有權(quán)限約束、固有權(quán)限與主動權(quán)限約束以及主動權(quán)限約束.業(yè)務(wù)流程包括設(shè)計階段和執(zhí)行階段,相應(yīng)的這2個階段的主動權(quán)限可以分為靜態(tài)主動權(quán)限和動態(tài)主動權(quán)限,具體地,在業(yè)務(wù)流程模型中用戶能夠獲取的權(quán)限稱為靜態(tài)主動權(quán)限,在業(yè)務(wù)流程任務(wù)分配中用戶能夠獲取的權(quán)限稱為動態(tài)主動權(quán)限.由于靜態(tài)主動權(quán)限和動態(tài)主動權(quán)限具有不同的特點,因此,在分析授權(quán)約束依從性時要分別處理.根據(jù)業(yè)務(wù)流程生命周期和獲取權(quán)限的特點,我們將授權(quán)約束依從性分析框架劃分為2個階段,即業(yè)務(wù)流程模型依從性分析框架和任務(wù)分配依從性分析框架.

2.1業(yè)務(wù)流程模型依從性分析框架

業(yè)務(wù)流程模型依從性分析框架可以分析固有權(quán)限之間、固有權(quán)限和靜態(tài)主動權(quán)限之間以及靜態(tài)主動權(quán)限之間的約束.依從性分析框架是由約束(constraint)、任務(wù)(task)、組織(organization)、主動訪問(active access)以及被動訪問(passive access)等5部分構(gòu)成.

約束是指權(quán)限以及權(quán)限之間的約束關(guān)系.權(quán)限指主體對客體的操作.約束關(guān)系包括職責(zé)分離關(guān)系、職責(zé)綁定關(guān)系.任務(wù)是一個基本工作單元,與權(quán)限相關(guān)聯(lián),任務(wù)具有權(quán)限后可以對目標資源進行操作.一個任務(wù)既可以是為了實現(xiàn)業(yè)務(wù)目標而設(shè)計(流程任務(wù)),也可以是為了實現(xiàn)系統(tǒng)的特定功能而設(shè)計(非流程任務(wù)).任務(wù)分為人工任務(wù)和非人工任務(wù)(更新數(shù)據(jù)庫、自動發(fā)送郵件等).在業(yè)務(wù)流程中,一個人工任務(wù)分配給一個用戶來完成[16].非人工任務(wù)不在本文研究范圍之內(nèi).組織是指系統(tǒng)中的角色以及角色之間的繼承關(guān)系.主動訪問是指用戶通過角色獲取流程任務(wù)的執(zhí)行權(quán)限.被動訪問是指用戶通過角色獲取非流程任務(wù)的執(zhí)行權(quán)限.

令P={permission}表示權(quán)限集合,T={task,taskType}表示任務(wù)集合,taskType∈{P,S,W,A},Tbp表示流程任務(wù),Tnbp表示非流程任務(wù),則T=Tbp∪Tnbp,且Tbp∩Tnbp=?(如果存在既屬于流程任務(wù)集合又屬于非流程任務(wù)集合的任務(wù),那么具有非流程任務(wù)執(zhí)行權(quán)限的用戶可以在流程生命周期的任何時刻來執(zhí)行該任務(wù),威脅流程正常執(zhí)行).R={role}表示角色集合,Rbp表示主動角色,Rnbp表示被動角色,R=Rbp∪Rnbp,主動角色能夠執(zhí)行流程任務(wù),而被動角色能夠執(zhí)行非流程任務(wù).需要注意到是一個角色可以同時成為主動角色和被動角色.U={user}表示用戶集合.我們將業(yè)務(wù)流程模型依從性分析框架(business process model compliance analysis framework,BPMCAF)記為

BPMCAF∷=(CONST,TASK,ORG,AA,PA),

CONST∷=(P,PPC)表示權(quán)限以及權(quán)限之間的約束關(guān)系.其中,P表示權(quán)限集合;PPC={p1,p2,constType},p1,p2∈P,constType∈{BoD,SoD}表示權(quán)限與權(quán)限之間的約束關(guān)系.

TASK∷=(T,P,TP)表示任務(wù)、權(quán)限以及任務(wù)和權(quán)限之間的分配關(guān)系.其中,T表示任務(wù)集合;P表示權(quán)限集合;TP={task,permission},task∈T,permission∈P表示權(quán)限與任務(wù)之間的分配關(guān)系.

ORG∷=(R,RR)表示系統(tǒng)中的角色以及角色之間的繼承關(guān)系.其中,R表示角色集合;RR={r1,r2},r1,r2∈R,表示角色之間的繼承關(guān)系,其中r1為父角色,r2為子角色.

AA∷=(Tbp,Rbp,Ubp,TRbp,URbp)表示流程任務(wù)、角色、用戶及其分配關(guān)系.其中,Tbp∈T,表示流程任務(wù)集合;Rbp?R,表示與流程任務(wù)有關(guān)的角色集合;Ubp?U,表示與Rbp有關(guān)的用戶集合;TRbp={task,role},task∈Tbp,role∈Rbp表示流程任務(wù)和角色之間的分配關(guān)系;URbp={user,role},user∈Ubp,role∈Rbp表示用戶和角色之間的分配關(guān)系.

PA∷=(Tnbp,Rnbp,Unbp,TRnbp,URnbp)表示非流程任務(wù)、角色、用戶及其分配關(guān)系.其中,Tnbp∈T,表示非流程任務(wù)集合;Rnbp屬于R表示與非流程任務(wù)有關(guān)的角色集合;Unbp屬于U表示與Rnbp有關(guān)的用戶集合;TRnbp={task,role},task∈Tnbp,role∈Rnbp表示非流程任務(wù)和角色之間的分配關(guān)系;URnbp={user,role},user∈Unbp,role∈Rnbp表示用戶和角色之間的分配關(guān)系.

2.2任務(wù)分配依從性分析框架

業(yè)務(wù)流程中的任務(wù)分配是指為流程中的每一個任務(wù)分配用戶來執(zhí)行的過程.我們把包含某流程中所有任務(wù)的任務(wù)分配稱為該流程的一個分配計劃,同一業(yè)務(wù)流程模型在不同時刻的分配計劃可能不同,同一分配計劃在執(zhí)行過程中也可能動態(tài)變化,例如任務(wù)執(zhí)行者由于用戶生病、請假等一些原因不能執(zhí)行分配計劃中任務(wù)時需要其他用戶來代替.任務(wù)委托是解決上述問題的一種機制.當用戶不能執(zhí)行分配計劃中的任務(wù)時,如果該任務(wù)可以被委托,則該用戶可將任務(wù)委托給其他用戶去執(zhí)行,從而保證業(yè)務(wù)流程順利完成.任務(wù)分配依從性分析框架能夠分析分配計劃,以及分配計劃與用戶固有權(quán)限之間是否存在沖突,以及在發(fā)生任務(wù)委托的情況下是否存在上述2種沖突.

TACAF∷=(CONST,TASK,ORG,ASSIGN,PA,DELEG)

CONST∷=(Pi,PPCi)表示權(quán)限以及權(quán)限之間的約束關(guān)系.其中,PPCi={p1,p2,constType},p1,p2∈Pi,constType∈{SoD,BoD}表示權(quán)限與權(quán)限之間的約束關(guān)系;

TASK∷=(Ti∪Tnbp,Pi,TPi)表示任務(wù)、權(quán)限以及任務(wù)和權(quán)限之間的分配關(guān)系.其中,TPi={task,permission},task∈Ti∪Tnbp,permission∈Pi表示權(quán)限與任務(wù)之間的分配關(guān)系;

ORG∷=(R,RR)表示系統(tǒng)中的角色以及角色之間的繼承關(guān)系.其中,R表示角色集合;RR={r1,r2},r1,r2∈R,表示角色之間的繼承關(guān)系,其中r1為父角色,r2為子角色;

ASSIGN∷=(Ui,Ti,UT)表示用戶、任務(wù)及任務(wù)分配關(guān)系.其中,UT={u,t},u∈Ui,t∈Ti,表示用戶u是任務(wù)t的執(zhí)行者;

PA∷=(Tnbp,Rnbp,Unbp,TRnbp,URnbp)表示非流程任務(wù)、角色、用戶及其分配關(guān)系.其中,Tnbp∈T,表示非流程任務(wù)集合;Rnbp屬于R表示與非流程任務(wù)有關(guān)的角色集合;Unbp屬于U表示與Rnbp有關(guān)的用戶集合;TRnbp={task,role},task∈Tnbp,role∈Rnbp表示非流程任務(wù)和角色之間的分配關(guān)系;URnbp={user,role},user∈Unbp,role∈Rnbp表示用戶和角色之間的分配關(guān)系;

DELEG∷=(Ui,Ti,UD)表示用戶和任務(wù)的委托關(guān)系.其中,UD={u1,u2,t,dType},u1,u2∈Ui,u1表示委托人,u2表示被委托人,t∈Ti,表示委托任務(wù),dType∈{grant,tranfer}表示委托類型.在TRBAC中,由于權(quán)限與任務(wù)綁定,因此,在業(yè)務(wù)流程執(zhí)行過程中通常是一個用戶將任務(wù)實例委托給另一個用戶去執(zhí)行[17].被委托人在獲取任務(wù)執(zhí)行權(quán)限的同時,也獲取了執(zhí)行該任務(wù)所需的權(quán)限.

2.3授權(quán)圖

授權(quán)圖是依從性分析框架的圖形化表示.從系統(tǒng)科學(xué)的角度來講,依從性分析框架包括用戶、角色、任務(wù)和權(quán)限4種組分,而組分之間的關(guān)系主要來源于不同組分之間(相同組分之間的關(guān)系可以轉(zhuǎn)換為不同組分之間的關(guān)系,第3節(jié)有詳細闡述),因此,可以使用分層的圖形化方法來表示依從性分析框架.由于不同層次之間的頂點之間關(guān)系的語義有明顯的指向性,因此,使用有向圖來表示依從性分析框架.我們稱由用戶、角色、任務(wù)和權(quán)限為頂點,他們之間的關(guān)系為邊構(gòu)成的有向圖為授權(quán)圖.由于業(yè)務(wù)流程模型依從性分析框架和任務(wù)分配依從性分析框架的構(gòu)成組分和關(guān)系有所不同,相應(yīng)的授權(quán)圖也有所不同,使用TASK,PA,AA,ORG構(gòu)建業(yè)務(wù)流程模型依從性分析框架的授權(quán)圖,稱為靜態(tài)授權(quán)圖(static authority digraph, SAD),使用TASK,PA,ASSIGN,ORG構(gòu)建任務(wù)分配依從性分析框架的授權(quán)圖,稱為動態(tài)授權(quán)圖(dynamic authority digraph,DAD).DELEG作為任務(wù)分配依從性分析的另外一個輸入,CONST是業(yè)務(wù)流程模型和任務(wù)分配依從性分析的內(nèi)容.下面給出靜態(tài)授權(quán)圖和動態(tài)授權(quán)圖的構(gòu)建步驟.

靜態(tài)授權(quán)圖步驟構(gòu)建:

1) 若權(quán)限p∈P且p?SAD,則創(chuàng)建節(jié)點p;

2) 若任務(wù)t∈T且t?SAD,則創(chuàng)建節(jié)點t;

3) 若角色r∈R且r?SAD,則創(chuàng)建節(jié)點r;

4) 若用戶u∈U且u?SAD,則創(chuàng)建節(jié)點u;

5) 若(t,p)∈TP且(t,p)?SAD,則創(chuàng)建邊(t,p);

6) 若(t,r)∈TRbp∪TRnbp且(t,r)?SAD,則創(chuàng)建邊(r,t);

7) 若(u,r)∈URbp∪URnbp且(u,r)?SAD,則創(chuàng)建邊(u,r);

8) 若(r1,r2)∈RR且(r2,r1)?SAD,則創(chuàng)建邊(r2,r1).

動態(tài)授權(quán)圖步驟構(gòu)建:

1) 若權(quán)限p∈Pi且p?SAD,則創(chuàng)建節(jié)點p;

2) 若任務(wù)t∈Ti∪Tnbp且t?SAD,則創(chuàng)建節(jié)點t;

3) 若角色r∈Rnbp且r?SAD,則創(chuàng)建節(jié)點r;

4) 若用戶u∈Ui∪Unbp且u?SAD,則創(chuàng)建節(jié)點u;

5) 若(t,p)∈TPi且(t,p)?SAD,則創(chuàng)建邊(t,p);

Fig. 2 Static authorization digraph GS圖2 靜態(tài)授權(quán)圖GS

6) 若(t,r)∈TRnbp且(t,r)?SAD,則創(chuàng)建邊(r,t);

7) 若(u,r)∈URnbp且(u,r)?SAD,則創(chuàng)建邊(u,r);

8) 系(r1,r2)∈RR且(r2,r1)?SAD,則創(chuàng)建邊(r2,r1);

9) 若(u,t)∈UT且(u,t)?SAD,則創(chuàng)建邊(u,t).

使用有向圖GS和GD分別表示靜態(tài)授權(quán)圖和動態(tài)授權(quán)圖,則GS和GD分別如圖2和圖3所示.由于SAD和DAD中定義的用戶、角色、任務(wù)和權(quán)限之間的關(guān)系均為二元關(guān)系,通過TRBAC和業(yè)務(wù)流程模型及實例的相關(guān)定義易知,GS和GD能夠分別的準確表示BPMCAF和TACAF的含義.

Fig. 3 Dynamic authorization digraph GD圖3 動態(tài)授權(quán)圖GD

3 授權(quán)約束依從性分析過程

通過第2節(jié)給出的依從性分析框架及其圖形化表示,可以構(gòu)建由用戶、角色、任務(wù)和權(quán)限為頂點,他們之間的關(guān)系為邊構(gòu)成的授權(quán)圖.在授權(quán)圖中,從用戶節(jié)點U到權(quán)限節(jié)點P的路徑表示該用戶U可以獲取權(quán)限P;從角色節(jié)點R到權(quán)限節(jié)點P的路徑表示角色R可以獲取權(quán)限P;從任務(wù)節(jié)點T到權(quán)限節(jié)點P的邊表示任務(wù)T具有權(quán)限P.我們定義權(quán)限P之間存在安全約束,那么職責(zé)分離約束依從性分析是分析能夠獲取互斥權(quán)限的任務(wù)集合、角色集合和用戶集合的過程.職責(zé)綁定約束依從性分析是分析綁定權(quán)限不能夠被分配給同一用戶的過程.在第1節(jié)中已經(jīng)給出用戶獲取權(quán)限的3種途徑,分別為通過角色和任務(wù)獲取、通過繼承關(guān)系獲取和通過委托機制獲取.在授權(quán)圖中,通過角色和任務(wù)獲取權(quán)限方式是由不同層節(jié)點之間的關(guān)系獲取,從用戶到權(quán)限的路徑長度為固定值3,因而在算法實現(xiàn)過程中具有較高的效率.而通過繼承關(guān)系獲取權(quán)限是通過同層次節(jié)點獲取權(quán)限的方法,從用戶到權(quán)限的路徑長度存在不確定性,難于直接分析.同樣地,在業(yè)務(wù)流程執(zhí)行過程中發(fā)生的任務(wù)委托也增加了用戶所具有權(quán)限的不確定性.因此,需要消除上述不確定性.

本節(jié)首先給出授權(quán)圖節(jié)點間繼承關(guān)系的預(yù)處理方法,化簡繼承關(guān)系;然后給出委托關(guān)系預(yù)處理方法,消除由于委托關(guān)系帶來的不確定性;最后進行授權(quán)約束依從性分析.

3.1繼承關(guān)系化簡

Oh等人[6]對TRBAC中的繼承關(guān)系進行了定義,與RBAC中的繼承關(guān)系不同,TRBAC中的角色權(quán)限是任務(wù)的執(zhí)行權(quán)限,繼承的權(quán)限也是任務(wù)執(zhí)行權(quán)限.根據(jù)任務(wù)類型的不同,子角色繼承父角色的部分權(quán)限.Oh等人將任務(wù)分為P,S,W,A四類,分別表示不可繼承被動任務(wù)、可繼承被動任務(wù)、不可繼承主動任務(wù)和可繼承主動任務(wù).子角色可以繼承父角色的S類和A類的任務(wù)執(zhí)行權(quán)限.

在授權(quán)圖中,繼承關(guān)系是角色層中節(jié)點之間的邊來表示,我們希望通過將這種同層關(guān)系化簡為不同層面之間的關(guān)系從而降低授權(quán)圖的復(fù)雜程度便于依從性分析.使用TP,TS,TW和TA分別表示P,S,W,A四類任務(wù)集合,則TP∪TS=Tnbp,TW∪TA=Tbp.可以給出繼承關(guān)系化簡規(guī)則,即:

繼承關(guān)系化簡的主要思路是將父角色的可繼承任務(wù)的權(quán)限直接賦予子角色.化簡的優(yōu)勢是將依從性分析框架中角色之間的關(guān)系轉(zhuǎn)換為角色與任務(wù)之間的關(guān)系,從而簡化依從性分析的過程.角色的繼承關(guān)系反應(yīng)系統(tǒng)中角色的組織結(jié)構(gòu),而角色的組織結(jié)構(gòu)通常是類似樹形結(jié)構(gòu).在化簡過程中,為了保證子節(jié)點能夠繼承父節(jié)點以及其他祖先節(jié)點的任務(wù)執(zhí)行權(quán)限,需要按照原則進行化簡:1)從根節(jié)點的繼承關(guān)系開始化簡;2)在所有父節(jié)點的繼承關(guān)系化簡完成之后,子節(jié)點才能夠進行化簡.圖4為繼承關(guān)系化簡算法偽代碼.

(a) Reduction algorithm of one (b) Reduction algorithm of all roles role inheritance inheritance in the organization

Fig. 4 Algorithm of inheritance reduction

圖4 繼承關(guān)系化簡算法

3.2委托關(guān)系化簡

為了確保以用戶為中心的業(yè)務(wù)管理并支持跨組織的協(xié)作,業(yè)務(wù)流程中候選用戶經(jīng)常需要將分配給他的任務(wù)委托給其他用戶去執(zhí)行.完整的委托包括4個要素:委托人、被委托人、任務(wù)實例和委托方式.其中,委托方式包括授予和轉(zhuǎn)移.當委托人將任務(wù)實例執(zhí)行權(quán)限授予被委托人時,委托人與被委托人均具有任務(wù)實例的執(zhí)行權(quán)限.當委托人將任務(wù)實例執(zhí)行權(quán)限轉(zhuǎn)移給被委托人時,只有被委托人具有任務(wù)實例執(zhí)行權(quán)限.由于2種委托方式對任務(wù)實例執(zhí)行權(quán)限的分配能夠造成不同的影響,因此在化簡時需要分別處理.

委托關(guān)系是用戶和用戶之間的關(guān)系,委托的內(nèi)容是任務(wù)的執(zhí)行權(quán)限,委托關(guān)系使委托人和被委托人所具有的任務(wù)執(zhí)行權(quán)限發(fā)生變化.因此,為了能夠得到用戶在業(yè)務(wù)流程執(zhí)行過程中某一時刻能夠獲取的所有權(quán)限,需要將被委托人和委托任務(wù)聯(lián)系起來.下面給出委托關(guān)系化簡規(guī)則,

委托關(guān)系化簡規(guī)則的主要思路是將用戶之間的委托關(guān)系轉(zhuǎn)換為用戶和角色以及角色和任務(wù)之間的分配關(guān)系.在化簡過程中,如果委托類型為transfer,那么委托人將失去任務(wù)的執(zhí)行權(quán)限.如果委托類型為grant,那么委托之后委托人和被委托人均具有任務(wù)的執(zhí)行權(quán)限.委托化簡的偽代碼如圖5所示:

Fig. 5 Algorithm of delegation reduction圖5 委托關(guān)系化簡算法

3.3依從性分析

通過繼承關(guān)系和委托關(guān)系化簡,可以得到由用戶、角色、任務(wù)和權(quán)限為頂點,不同類型頂點之間的關(guān)系為邊構(gòu)成的授權(quán)圖.在這個授權(quán)圖中,我們可以通過有向圖的運算得到能夠獲取指定權(quán)限的所有任務(wù)集合(包括流程任務(wù)和非流程任務(wù))、角色集合(包括流程角色、非流程角色以及通過角色間的繼承關(guān)系得到的權(quán)限)以及用戶集合(包括所有用戶以及通過用戶之間的委托關(guān)系得到的權(quán)限).

依從性分析是分析授權(quán)圖中用戶、角色和任務(wù)所具有的權(quán)限是否違反授權(quán)約束的要求.依從性分析框架主要分析職責(zé)分離和職責(zé)綁定約束.在業(yè)務(wù)流程環(huán)境中,職責(zé)分離約束可以分為靜態(tài)職責(zé)分離和動態(tài)職責(zé)分離約束,在本文中,靜態(tài)職責(zé)分離約束是指在業(yè)務(wù)流程設(shè)計階段,同一任務(wù)、角色或者用戶無論通過流程授權(quán)還是非流程授權(quán)均不能獲取互斥權(quán)限的規(guī)定.動態(tài)職責(zé)分離約束是指在業(yè)務(wù)流程執(zhí)行階段,同一用戶無論通過流程授權(quán)還是非流程授權(quán)均不能獲取互斥權(quán)限的規(guī)定.同樣地,職責(zé)綁定約束分為靜態(tài)職責(zé)綁定約束和動態(tài)職責(zé)綁定約束.靜態(tài)職責(zé)綁定約束是指在業(yè)務(wù)流程設(shè)計階段,綁定權(quán)限能夠分配給同一個用戶.動態(tài)職責(zé)綁定約束是指業(yè)務(wù)流程執(zhí)行階段,綁定權(quán)限能且只能分配給相同的用戶.下面給出上述4種約束的依從性分析算法.

靜態(tài)職責(zé)分離約束依從性分析的輸入是靜態(tài)授權(quán)圖SAD和互斥權(quán)限(v,w).如圖6所示分析過程:

1) 判斷是否存在任務(wù)t同時具有權(quán)限v和權(quán)限w,如果存在這樣的任務(wù)t,則發(fā)生了任務(wù)不依從.

2) 否則,判斷是否存在角色r能夠同時獲取權(quán)限v和權(quán)限w,如果存在這樣的角色r,則發(fā)生了角色不依從.

3) 否則,判斷是否存在用戶u能夠同時獲取權(quán)限v和權(quán)限w,如果存在這樣的用戶u,則發(fā)生了用戶不依從.

Fig. 6 Algorithm of static SoD conflict checking圖6 靜態(tài)職責(zé)分離沖突分析算法

動態(tài)職責(zé)分離約束依從性分析的輸入是動態(tài)授權(quán)圖DAD、互斥權(quán)限(v,w).動態(tài)授權(quán)圖刻畫的是流程實例的權(quán)限分配情況,由于任務(wù)以及非流程角色的職責(zé)分離依從性在靜態(tài)分析中已經(jīng)進行分析,因此在這里只需要分析用戶的職責(zé)分離依從性,分析算法如圖7所示:

Fig. 7 Algorithm of dynamic SoD conflict checking圖7 動態(tài)職責(zé)分離沖突分析算法

靜態(tài)職責(zé)綁定依從性分析的輸入是靜態(tài)授權(quán)圖SAD和綁定權(quán)限(v,w).如果不存在任何用戶能夠同時獲取權(quán)限v和權(quán)限w,則違反靜態(tài)職責(zé)綁定約束,分析算法如圖8所示:

Fig. 8 Algorithm of static BoD conflict checking圖8 靜態(tài)職責(zé)綁定沖突分析算法

動態(tài)職責(zé)綁定依從性分析的輸入是動態(tài)授權(quán)圖DAD和綁定權(quán)限(v,w).如果存在用戶u,只能夠獲取權(quán)限v或者只能夠獲取權(quán)限w,則違反動態(tài)職責(zé)綁定約束,分析算法如圖9所示:

Fig. 9 Algorithm of dynamci BoD conflict checking

4 授權(quán)約束沖突模式及解決方案

通過對角色繼承關(guān)系和委托關(guān)系的化簡,我們得到簡單授權(quán)圖.使用依從性分析算法對簡單授權(quán)圖進行分析可以發(fā)現(xiàn)4類違反授權(quán)約束的沖突.為了能夠消解所發(fā)現(xiàn)的沖突,需要對這4類沖突做進一步的分析.

4.1靜態(tài)職責(zé)分離沖突

任務(wù)層靜態(tài)職責(zé)分離沖突:當一個任務(wù)同時具有2個互斥權(quán)限時發(fā)生任務(wù)層靜態(tài)職責(zé)分離沖突.如圖10中沖突模式1所示,權(quán)限PA和PB為互斥權(quán)限,任務(wù)TA同時具有這2個權(quán)限.這種沖突是根本性的沖突且易于發(fā)現(xiàn),但是在業(yè)務(wù)流程執(zhí)行過程中存在嚴重的安全隱患,必須予以解決.沖突發(fā)生原因是在設(shè)計任務(wù)時沒有考慮職責(zé)分離約束的限制.解決思路是重新設(shè)計任務(wù),如圖10中解決方案1所示,將任務(wù)TA分解為2個子任務(wù)TB和TC,將互斥權(quán)限分配給這2個不同任務(wù).

Fig. 10 Static SoD conflict with tasks圖10 任務(wù)層靜態(tài)職責(zé)分離沖突

Fig. 11 Static SoD conflict with roles圖11 角色層靜態(tài)職責(zé)分離沖突

角色層靜態(tài)職責(zé)分離沖突:當一個角色通過分配給他的任務(wù)獲取互斥權(quán)限時發(fā)生角色層靜態(tài)職責(zé)分離沖突,如圖11中沖突模式2所示.角色層職責(zé)分離沖突使能夠激活該角色的用戶都能夠獲取互斥權(quán)限,安全隱患較為嚴重.解決思路是將任務(wù)角色RA進一步劃分為子角色RC和RD,并分別分配任務(wù)TA和TB,如圖11解決方案2所示;或者將任務(wù)TB分配給另外的角色RB來執(zhí)行,如圖11解決方案3所示.角色可以通過任務(wù)分配和繼承父角色來獲取任務(wù)的執(zhí)行權(quán)限.針對繼承父角色獲取任務(wù)執(zhí)行權(quán)限導(dǎo)致的角色層靜態(tài)職責(zé)分離沖突,可以通過調(diào)整角色間的繼承關(guān)系來消解沖突.

用戶層靜態(tài)職責(zé)分離沖突:當一個用戶通過其激活的角色執(zhí)行任務(wù)獲取互斥權(quán)限時發(fā)生用戶層靜態(tài)職責(zé)分離沖突,如圖12中沖突模式3所示.隨著系統(tǒng)規(guī)模的不斷擴大和用戶的增加,這一類沖突容易發(fā)生且難于發(fā)現(xiàn),但是想比較而言安全威脅較小.解決這一類沖突有2種思路:

1) 如圖12中解決方案4和解決方案5所示,將任務(wù)TB分配給除角色RB以外的角色去執(zhí)行,或者在角色RB中刪除用戶UA.這樣做的優(yōu)點是一勞永逸,從根本上避免沖突發(fā)生;缺點是對系統(tǒng)調(diào)整較大,可能會影響系統(tǒng)執(zhí)行效率.

2) 在業(yè)務(wù)流程運行階段進行安全檢查,在流程實例中避免用戶UA同時能夠執(zhí)行任務(wù)TA和TB.

Fig. 12 Static SoD conflict with users圖12 用戶層靜態(tài)職責(zé)分離沖突

4.2動態(tài)職責(zé)分離沖突

動態(tài)職責(zé)分離沖突:當一個用戶通過分配給其的任務(wù)以及固有任務(wù)獲取互斥權(quán)限時發(fā)生動態(tài)職責(zé)分離沖突,如圖13所示.動態(tài)職責(zé)分離沖突發(fā)生在業(yè)務(wù)流程運行階段.對于圖13(a)和圖13(b)所示的職責(zé)分離沖突,可以將任務(wù)TB分配給另外的用戶UB去執(zhí)行,如解決方案6和解決方案8所示.如果UA執(zhí)行任務(wù)TB是通過任務(wù)委托獲取的權(quán)限,那么這樣的委托請求將被拒絕.對于圖13(a)中的職責(zé)分離沖突,還可以通過刪除角色RA中的用戶UA來消解沖突,如解決方案7所示.

Fig. 13 Dynamic SoD conflict圖13 動態(tài)職責(zé)分離沖突

4.3靜態(tài)職責(zé)綁定沖突

靜態(tài)職責(zé)綁定沖突:當不存在任何用戶能夠同時獲取綁定關(guān)系的權(quán)限時發(fā)生靜態(tài)職責(zé)綁定沖突,如圖14沖突模式6所示.解決思路是將任務(wù)TA和TB合并為一個任務(wù)TC,或者將相關(guān)角色合并得到一個角色RD,或者修改用戶與角色間的分配關(guān)系,使得某些用戶(UB)能夠同時獲取權(quán)限PA和PB,分別如圖14中解決方案9~11所示.

Fig. 14 Static BoD conflict圖14 靜態(tài)職責(zé)綁定沖突

4.4動態(tài)職責(zé)綁定沖突

動態(tài)職責(zé)綁定沖突:當一個用戶獲取綁定權(quán)限中的一個而不能夠獲取另外一個時發(fā)生動態(tài)職責(zé)綁定沖突,如圖15所示.對于沖突模式7和沖突模式8,將分配計劃中的UB,TB修改為UA,TB則消除了職責(zé)綁定沖突,如解決方案12和解決方案13所示.對于動態(tài)職責(zé)綁定沖突,解決思路主要是通過修改分配計劃達到消解沖突的目的.

Fig. 15 Dynamci BoD conflict圖15 動態(tài)職責(zé)綁定沖突

5 實例分析與實驗驗證

5.1實例分析

本節(jié)使用銷售部門的實例來說明所提出框架和分析方法的有效性.該部門設(shè)置銷售經(jīng)理(sales manager)、銷售前臺(sales man)和銷售后臺(sales clerk)3個角色;接收訂單(receive order)、查看庫存(check product stock)、查看付款信息(check payment)、審批訂單(approve order)、查看銷售結(jié)果(review sales results)和查看銷售統(tǒng)計(review sales statistics)6個任務(wù).角色之間繼承關(guān)系以及業(yè)務(wù)流程邏輯結(jié)構(gòu)分別如圖16和圖17所示.用戶角色、角色任務(wù)以及任務(wù)權(quán)限的分配關(guān)系分別如表1~3所示.應(yīng)用本文所提出授權(quán)圖構(gòu)造方法以及繼承關(guān)系化簡方法得到授權(quán)圖如圖18所示.在這個實例中存在3個授權(quán)約束:1)約束1.創(chuàng)建訂單和修改訂單是綁定權(quán)限;2)約束2.創(chuàng)建訂單和確認訂單是互斥權(quán)限;3)約束3.修改訂單和確認訂單是互斥權(quán)限.我們基于Java編寫了原型系統(tǒng)實現(xiàn)本文所提出的依從性分析框架和方法,該原型系統(tǒng)獨立于系統(tǒng)部署的平臺,通過開發(fā)中間件的方式從系統(tǒng)中獲取依從性分析所需數(shù)據(jù),具有較為廣泛的應(yīng)用范圍.執(zhí)行原型系統(tǒng)得到依從性分析結(jié)果如表4所示.

Fig. 16 Organization structure of sales department圖16 銷售部門組織結(jié)構(gòu)

Fig. 17 Logic structure of sales process圖17 銷售流程邏輯結(jié)構(gòu)

Table 1 User Role Assignment表1 用戶角色分配關(guān)系

Table 2 Role Task Assignment表2 角色任務(wù)分配關(guān)系

Table 3 Task Permission Assignment表3 任務(wù)權(quán)限分配關(guān)系

Fig. 18 Authorization graph of sales process圖18 銷售流程授權(quán)圖

Table 4 Result of Compliance Analysis表4 依從性分析結(jié)果

從表4可以看出,該實例存在角色層靜態(tài)職責(zé)分離沖突和用戶層靜態(tài)職責(zé)分離沖突.由于銷售經(jīng)理繼承了銷售前臺和銷售后臺的角色,而銷售前臺和銷售后臺能夠執(zhí)行的任務(wù)接收訂單和審批訂單都是可繼承的,因此,銷售經(jīng)理獲取了接收訂單和審批訂單的執(zhí)行權(quán)限,從而獲取了創(chuàng)建、修改訂單和確認訂單的權(quán)限,違反角色層靜態(tài)職責(zé)分離約束.由于這種沖突是由于角色繼承關(guān)系引起的,因此可以通過令銷售經(jīng)理不再繼承銷售前臺的方法來消解.員工丙具有銷售后臺和銷售前臺2個角色,同樣的也能夠獲取創(chuàng)建、修改訂單和確認訂單的權(quán)限,違反了用戶層職責(zé)分離沖突.針對這種沖突可以在流程運行階段通過動態(tài)依從性檢查的方法判斷用戶丙是否在同一個流程實例中獲取這2個權(quán)限.

5.2實驗驗證

我們使用Java實現(xiàn)了業(yè)務(wù)流程授權(quán)約束依從性分析的原型系統(tǒng).但是由于獲取實際的授權(quán)數(shù)據(jù)存在較大的困難[18-19],我們采用了文獻[18]的思路,設(shè)計并實現(xiàn)了授權(quán)圖的實例產(chǎn)生器.該實例產(chǎn)生器能夠產(chǎn)生實驗所需的靜態(tài)授權(quán)圖和動態(tài)授權(quán)圖,靜態(tài)授權(quán)包括主動訪問(AA)、被動訪問(PA)、組織(ORG)、任務(wù)(TASK)和約束(CONST).動態(tài)授權(quán)包括分配計劃(ASSIGN)、被動訪問(PA)、組織(ORG)、任務(wù)(TASK)、約束(CONST)和委托(DELEG).

我們將授權(quán)圖的節(jié)點數(shù)量n作為參數(shù)輸入實例產(chǎn)生器,按照規(guī)則產(chǎn)生用戶、角色、任務(wù)和權(quán)限的數(shù)量.具體地,用戶數(shù)量un=n×4/10,角色數(shù)量rn=n×1/10,任務(wù)數(shù)量tn=n×2/10,權(quán)限數(shù)量pn=n×3/10.節(jié)點之間的關(guān)系(即邊)隨機生成,生成率為5%(每一個2元關(guān)系矩陣的0和1比率為95∶5).角色間的繼承關(guān)系為深度為3的樹形結(jié)構(gòu).職責(zé)分離和職責(zé)綁定約束的數(shù)量由權(quán)限數(shù)量決定,我們設(shè)置每10個權(quán)限產(chǎn)生一個職責(zé)分離約束,每20個權(quán)限產(chǎn)生一個職責(zé)綁定約束.我們將節(jié)點總數(shù)分別設(shè)置為100,200,300,400和500,并且每個規(guī)模產(chǎn)生10個授權(quán)圖.這樣我們能夠分別得到50個靜態(tài)授權(quán)圖實例和50個動態(tài)授權(quán)圖實例.對這5個規(guī)模共100個授權(quán)圖進行依從性分析,我們使用一臺1.40 GHz Intel Core i3-3229Y CPU,4 GB內(nèi)存的電腦進行實驗,得到實驗結(jié)果如表5和表6所示:

Table 5 Result of Static Compliance Analysis Experiment表5 靜態(tài)依從性分析實驗結(jié)果

Table 6 Result of Dynamci Compliance Analysis Experiment表6 動態(tài)依從性分析實驗結(jié)果

表5和表6是統(tǒng)計數(shù)據(jù),我們對每一種規(guī)模的授權(quán)圖進行依從性分析,記錄產(chǎn)生的邊數(shù)、分析所消耗的時間、被違反的職責(zé)分離和職責(zé)綁定約束的數(shù)量,然后取平均值.從實驗結(jié)果來看:

1) 隨著節(jié)點規(guī)模的增長,授權(quán)圖中的邊數(shù)急劇增長,依從性分析消耗的時間也在增長,當靜態(tài)授權(quán)圖節(jié)點數(shù)為500時,平均有2 759.7條邊,而依從性分析的時間是474 ms,分析效率比較理想.而動態(tài)授權(quán)圖由于分配計劃是針對每一個任務(wù)分配一個用戶,因此節(jié)點間的關(guān)系比靜態(tài)授權(quán)圖簡單,邊的數(shù)量比同等規(guī)模的靜態(tài)授權(quán)圖減少很多,分析效率也比較理想.

2) 從表7能夠發(fā)現(xiàn)職責(zé)分離約束被違反的比例隨著節(jié)點規(guī)模的增長在不斷增加,而職責(zé)綁定沖突發(fā)生的比例在不斷減少.節(jié)點規(guī)模為500時,15個職責(zé)分離約束幾乎全部會被違反(99%和95%的比例),職責(zé)綁定約束幾乎不會被違反(1%和7%的比例).這是因為節(jié)點的增加導(dǎo)致邊的增加,而邊的增加意味著用戶獲取權(quán)限路徑的增加,從而同一個用戶獲取具有職責(zé)分離關(guān)系和職責(zé)綁定關(guān)系的概率都得到增長,導(dǎo)致職責(zé)分離沖突發(fā)生的概率增加和職責(zé)綁定沖突發(fā)生的概率減少.這一結(jié)論也說明本文的意義所在,職責(zé)分離沖突在系統(tǒng)規(guī)模較小時不易發(fā)生,但是隨著系統(tǒng)規(guī)模的擴大而沖突發(fā)生的概率急速增長,給出一種能夠適用于大規(guī)模業(yè)務(wù)流程系統(tǒng)的高效依從性分析方法就勢在必行.另外,由于在分配計劃中流程任務(wù)節(jié)點的入度始終為1,因此動態(tài)授權(quán)圖中沖突發(fā)生的比例隨著節(jié)點增加的變化要相對緩慢一些.

Table 7 Violation Percentage of Authorization Constraints表7 授權(quán)約束被違反的比例

以上對本文所提出方法的時間效率進行了分析.下面與現(xiàn)有研究中其他方法進行定性比較.比較結(jié)果如表8所示.通過比較可以看到,相對于以往的研究,本文所提出的依從性分析框架兼顧了靜態(tài)約束、動態(tài)約束、職責(zé)分離約束、職責(zé)綁定約束、流程授權(quán)、非流程授權(quán)、委托等各個方面,更貼近實際企業(yè)環(huán)境,易于應(yīng)用.同時針對所發(fā)現(xiàn)的授權(quán)沖突給出解決方案.我們對相關(guān)算法進行試驗,給出效率分析,與Armando所提出的模型檢查的方法相比具有明顯優(yōu)勢.

Table 8 Compare of the Compliance Analysis Framework with Other Researches

Note:“√” means support.

6 相關(guān)工作

現(xiàn)有的工作在業(yè)務(wù)流程授權(quán)約束依從性分析方面進行了大量的工作.進行授權(quán)約束依從性分析時,首先需要明確系統(tǒng)的訪問控制模型和授權(quán)約束.因此,相關(guān)工作將從訪問控制模型和授權(quán)約束,及依從性分析方法2個方面展開.

首先,在訪問控制模型及授權(quán)約束方面,Bertino等人[2]首次提出約束描述語言用于描述RBAC所不能描述的約束,如職責(zé)分離約束.Ultra等人[22]提出了簡單職責(zé)分離模型,能夠方便的與基于角色的訪問控制模型相結(jié)合.Brucker 等人[23]提出了在業(yè)務(wù)流程設(shè)計階段和運行階段基于RBAC安全需求的描述方法.Li 等人[4]提出了SoDA來描述業(yè)務(wù)流程授權(quán)約束,包括質(zhì)量約束(例如執(zhí)行任務(wù)的角色)和數(shù)量約束(例如SoD).上述方法都是基于RBAC展開的,由于RBAC未考慮系統(tǒng)中的業(yè)務(wù)流程以及任務(wù)與角色的區(qū)別,未能很好適應(yīng)企業(yè)業(yè)務(wù)流程環(huán)境,因此研究者提出了基于“任務(wù)-角色”的訪問控制模型.

Xing等人[24]提出了基于角色和任務(wù)的工作流授權(quán)模型.在該模型中角色不再直接具有權(quán)限,而是通過分配給其的任務(wù)獲取權(quán)限.同時,文章提出了基于角色和任務(wù)的約束描述語言RTCL來描述職責(zé)分離等約束.Oh等人[6]提出了TRBAC的訪問控制模型來滿足企業(yè)環(huán)境中經(jīng)常產(chǎn)生主動訪問(業(yè)務(wù)流程訪問)和被動訪問(基于RBAC的訪問)相結(jié)合的需求,并對任務(wù)的類型進行了深入分析.上述方法對RBAC進行擴展,提出了任務(wù)的概念,這些方法在業(yè)務(wù)流程授權(quán)過程中遵循了最小權(quán)限原則,提高了安全性.但是使用形式化方法描述授權(quán)約束,使得約束的表現(xiàn)形式不夠靈活,同時也使得約束描述和分析過程必須具備一定的專業(yè)知識,不易廣泛地應(yīng)用,本文使用了權(quán)限1、權(quán)限2、約束類型三元組來描述授權(quán)約束,不僅易于描述和理解,便于靈活使用,在依從性分析時也具有較高的效率.

在授權(quán)約束依從性分析方法方面,Liu等人[25]使用Petri網(wǎng)描述工作流,使用Prolog語言描述職責(zé)分離規(guī)則,使用邏輯推理的方法找到滿足安全規(guī)則的有效執(zhí)行鏈.Lu 等人[8]使用著色Petri網(wǎng)來驗證業(yè)務(wù)流程設(shè)計階段職責(zé)分離約束的正確性和一致性.Schefer-Wenzl 等人[13]給出了流程感知信息系統(tǒng)中基于角色訪問控制模型的委托建模方法,并在此基礎(chǔ)上分析了委托情況下存在的授權(quán)沖突,給出解決方案.該方法能夠分析委托是否會產(chǎn)生沖突,但是沒有考慮委托之外的授權(quán)引起的授權(quán)沖突,并且未考慮職責(zé)綁定約束.Salnitri 等人[26-27]提出了SecBPMN來擴展BPMN以描述描述信息系統(tǒng),使用SecBPMN-Q描述安全策略,并給出了SecBPMN-Q語言所描述安全策略的驗證方法.該方法依賴于BPMN,具有局限性.Strembeck 等人[21]提出了業(yè)務(wù)流程環(huán)境中互斥和綁定約束一致性分析的通用算法,避免約束沖突,保證在流程設(shè)計和執(zhí)行階段的依從性.該方法給出了業(yè)務(wù)流程靜態(tài)設(shè)計和動態(tài)執(zhí)行時職責(zé)分離和職責(zé)綁定約束依從性分析的通用算法,但是該算法沒有考慮被動授權(quán)的情況,本文也未對算法的效率進行說明.

另外,模型檢查作為業(yè)務(wù)流程是否滿足安全策略的檢測方法也得到了大量關(guān)注[20,28-30].上述方法中,使用推理、Petri網(wǎng)等形式化的方法具有較大的局限性,并且應(yīng)用起來需要一定的專業(yè)知識,不易廣泛應(yīng)用.給出的一些通用算法不能夠完全適應(yīng)當前企業(yè)流程環(huán)境.而模型檢查的方法在較大規(guī)模的系統(tǒng)中應(yīng)用時存在狀態(tài)空間急劇增長的問題,與實際應(yīng)用存在較大的距離.

基于上述研究現(xiàn)狀,結(jié)合企業(yè)業(yè)務(wù)流程環(huán)境的實際需求,本文基于TRBAC提出了授權(quán)約束依從性分析框架,所提出的框架考慮了流程授權(quán)和非流程授權(quán)、業(yè)務(wù)流程任務(wù)委托、角色繼承關(guān)系、職責(zé)分離和職責(zé)綁定約束、靜態(tài)約束和動態(tài)約束,并提出授權(quán)圖來表示框架內(nèi)所包含的內(nèi)容,通過將依從性分析問題轉(zhuǎn)換為有向圖的分析問題來高效地發(fā)現(xiàn)授權(quán)約束沖突.

7 結(jié)束語

本文提出了一種支持任務(wù)委托的業(yè)務(wù)流程授權(quán)約束依從性分析框架.該框架能夠描述業(yè)務(wù)流程授權(quán)和非業(yè)務(wù)流程授權(quán),能夠描述角色之間的繼承關(guān)系、業(yè)務(wù)流程中任務(wù)委托.提出了授權(quán)圖來表示依從性分析框架,給出了授權(quán)圖的構(gòu)造和化簡方法,并基于授權(quán)圖給出了依從性分析方法.我們所提出的分析方法能夠分析靜態(tài)職責(zé)分離、動態(tài)職責(zé)分離、靜態(tài)職責(zé)綁定和動態(tài)職責(zé)綁定4類沖突以及8種沖突模式,并針對每一種沖突模式給出一組解決方案.實現(xiàn)了所提出框架和方法的原型系統(tǒng),并通過實例分析和實驗驗證說明了所提出框架和方法的有效性.

近些年,我們發(fā)現(xiàn)學(xué)術(shù)界和業(yè)界對流程感知信息系統(tǒng)的關(guān)注不斷增加,我們也相信越來越多的流程感知信息系統(tǒng)將會應(yīng)用于實際環(huán)境中去.因此,權(quán)限的管理也隨之變得更為重要.本文所提出的授權(quán)約束依從性分析框架對于保障權(quán)限的正確分配和任務(wù)的安全執(zhí)行具有重要意義.

[1] Ly L T, Rinderle-Ma S, Knuplesch D, et al. Monitoring business process compliance using compliance rule graphs[C] //Proc of OTM’11. Berlin: Springer, 2011: 82-99

[2] Bertino E, Ferrari E, Atluri V. An authorization model for supporting the specification and enforcement of authorization constraints in workflow management systems[J]. ACM Trans on Information System Security, 1999, 2(1): 65-104

[3] Wolter C, Schaad A. Modeling of task-based authorization constraints in BPMN[C] //Proc of the 5th Int Conf on Business Process Management. Berlin: Springer, 2007: 64-79

[4] Li Ninghui, Wang Qihua. Beyond separation of duty: An algebra for specifying high-level security policies[C] //Proc of the 13th ACM Conf on Computer and Communications Security. New York: ACM, 2006: 356-369

[5] Schaad A. A framework for evidence lifecycle management[C] //Proc of WISE’07. Berlin: Springer, 2007: 191-200

[6] Oh S, Park S. Task-role-based access control model[J]. Information Systems, 2003, 28(6): 533-562

[7] Wolter C, Schaad A, Meinel C. Task-based entailment constraints for basic workflow patterns[C] //Proc of ACM Symp on Access Control Models and Technologies. New York: ACM, 2008: 51-60

[8] Lu Yahui, Zhang Li, Sun Jiaguang. Using colored Petri nets to model and analyze workflow with separation of duty constraints[J]. The International Journal of Advanced Manufacturing Technology, 2009, 40(1): 179-192

[9] Hasebe K, Mabuchi M, Matsushita A. Capability-based delegation model in RBAC[C] //Proc of ACM SACMAT’10. New York: ACM, 2010: 109-118

[10] Crampton J, Khambhammettu H. On delegation and workflow execution models[C] //Proc of ACM SAC’08. New York: ACM, 2008: 2137-2144

[11] Crampton J, Khambhammettu H. Delegation and satisfiability in workflow systems[C] //Proc of ACM SACMAT’08. New York: ACM, 2008: 31-40

[12] Crampton J, Khambhammettu H. Delegation in role-based access control[J]. International Journal of Information Security, 2008, 7(2): 123-136

[13] Schefer-Wenzl S, Strembeck M. Modeling support for role-based delegation in process-aware information systems[J]. Business & Information Systems Engineering, 2014, 6(4): 215-237

[14] Simon R, Zurko M E. Separation of duty in role-based environments[C] //Proc of the 10th Computer Security Foundations Workshop. Piscataway, NJ: IEEE, 1997: 183-194

[15] Ferraiolo D, Cugini J, Kuhn D R. Role-based access control (RBAC): Features and motivations[C] //Proc of the 11th Annual Computer Security Applications Conf. Piscataway, NJ: IEEE, 1995: 241-248

[16] Botha R A, Eloff J H P. Separation of duties for access control enforcement in workflow environments[J]. IBM Systems Journal, 2001, 40(3): 666-682

[17] Hsu H J, Wang F J. A delegation framework for task-role based access control in WFMS[J]. Journal of Information Science & Engineering, 2011, 27(3): 1011-1028

[18] Cohen D, Crampton J, Gagarin A, et al. Engineering algorithms for workflow satisfiability problem with user-independent constraints[C] //Proc of FAW 2014. Berlin: Springer, 2014: 48-59

[19] Wang Qihua, Li Ninghui. Satisfiability and resiliency in workflow authorization systems[J]. ACM Trans on Information & System Security, 2010, 13(4): 1-35

[20] Armando A, Ponta S E. Model checking authorization requirements in business processes[J]. Computer Security, 2014, 40: 1-22

[21] Strembeck M, Mendling J. Generic algorithms for consistency checking of mutual-exclusion and binding constraints in a business process context[G] //LNCS 6426: Proc of OTM 2010. Berlin: Springer, 2010: 204-221

[22] Ultra J D, Pancho-Festin S. A simple model of separation of duty for access control models[J]. Computers & Security, 2017, 68: 69-80

[23] Brucker A D, Hang I, Ckemeyer G, et al. SecureBPMN: Modeling and enforcing access control requirements in business processes[C] //Proc of ACM SACMAT’12. New York: ACM, 2012: 123-126

[24] Xing Guanglin, Hong Fan. A workflow authorization model based on role and task and constraints specification[J]. Journal of Computer Research and Development, 2005, 42(11): 1946-1953 (in Chinese)

(邢光林, 洪帆. 基于角色和任務(wù)的工作流授權(quán)模型及約束描述[J]. 計算機研究與發(fā)展, 2005, 42(11): 1946-1953)

[25] Liu Daobin, Guo Li, Bai Shuo. A methodology for analyzing security policy in workflow[J]. Journal of Computer Research and Development, 2008, 45(6): 967-973 (in Chinese)

(劉道斌, 郭莉, 白碩. 一種工作流安全策略分析方法[J]. 計算機研究與發(fā)展, 2008, 45(6): 967-973)

[26] Salnitri M, Dalpiaz F, Giorgini P. Modeling and Verifying Security Policies in Business Processes[G] //LNBIP 175: Proc of BPMDS’14. Berlin: Springer, 2014: 200-214

[27] Salnitri M, Dalpiaz F, Giorgini P. Designing secure business processes with SecBPMN[J]. Software & Systems Modeling, 2017, 16(3): 737-757

[28] Arsac W, Compagna L, Pellegrino G, et al. Security validation of business processes via model-checking[C] //Proc of ESSoS’11. Berlin: Springer, 2011: 29-42

[29] Mendt T, Sinz C, Tveretina O. Analyzing Separation of Duties Constraints with a Probabilistic Model Checker[M]. Berlin: Springer, 2011: 18-29

[30] Armando A, Carbone R, Compagna L. SATMC: A SAT-based model checker for security protocols, business processes, and security APIs[J]. International Journal on Software Tools for Technology Transfer, 2016, 18(2): 187-204BoYang, born in 1985. PhD candidate of computer science at Beihang University. His main research interests include the security and privacy of network and business process.

ComplianceAnalysisofAuthorizationConstraintsinBusinessProcess

Bo Yang1,2and Xia Chunhe1,2,3

1(BeijingKeyLaboratoryofNetworkTechnology(BeihangUniversity),Beijing100191)2(SchoolofComputerScienceandEngineering,BeihangUniversity,Beijing100191)3(CollegeofComputerScienceandInformationTechnology,GuangxiNormalUniversity,Guilin,Guangxi510004)

A novel framework of business process compliance analysis is proposed in this paper, and the proposed framework can process 1)business process authorization and non-business process authorization; 2)delegation of task of business processes; 3)inheritance of roles; 4)separation of duty and binding of duty constraints; 5)statics constraints and dynamic constraints. Authorization graph is proposed to describe the framework, and construct and reduce methods of authorization graph are designed to maintain the graph, then compliance analysis algorithms of authorization graph are proposed. Based on the analysis results, conflict patterns are presented. A set of resolutions for each pattern are provided, and a prototype system is implemented. The framework of authorization constraint compliance analysis, independent of platform, can be widely applied to system security analyzing. The effectiveness of the proposed method is reported by a case study and experiments at the end of this paper.

business process; authorization constraints; compliance; separation of duty; binding of duty; task delegation

TP391

XiaChunhe, born in 1965. Professor and PhD supervisor of Beihang University. Director of Key Laboratory of Beijing Network Technology. Senior member of CCF. His main research interests include network security, network management and security policy analysis.

2015年《計算機研究與發(fā)展》高被引論文TOP10

數(shù)據(jù)來源:CSCD,中國知網(wǎng);統(tǒng)計日期:2016-12-05

猜你喜歡
用戶
雅閣國內(nèi)用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應(yīng)用
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 狠狠亚洲婷婷综合色香| 免费看美女自慰的网站| 国产精品亚洲天堂| 在线精品视频成人网| 欧美激情视频二区三区| 亚洲色图综合在线| 亚洲欧美不卡视频| 国产美女视频黄a视频全免费网站| 国产区在线看| 日韩成人在线网站| 五月综合色婷婷| 伊人久久青草青青综合| 久久久久国色AV免费观看性色| 欧美啪啪一区| 99这里只有精品在线| 在线观看精品自拍视频| 亚洲综合片| 成人免费一区二区三区| 澳门av无码| 久无码久无码av无码| 国产在线欧美| 久久精品人人做人人| 国产高潮视频在线观看| 亚洲V日韩V无码一区二区| 网久久综合| 91久久偷偷做嫩草影院电| 在线毛片网站| 精品一区二区三区视频免费观看| 国产精品伦视频观看免费| 99re精彩视频| 97精品久久久大香线焦| 亚洲日本在线免费观看| 日韩专区欧美| 国产情精品嫩草影院88av| 91在线无码精品秘九色APP| 激情六月丁香婷婷四房播| 国产精品黑色丝袜的老师| 久久国产V一级毛多内射| 欧美日韩中文国产va另类| 国产精品亚洲一区二区三区在线观看| 亚洲精品自在线拍| 久操中文在线| 亚洲高清在线天堂精品| 国产麻豆永久视频| 亚洲色图另类| 亚洲国产成熟视频在线多多 | 孕妇高潮太爽了在线观看免费| 亚洲成a人片| 国产精品第| 国产成本人片免费a∨短片| 经典三级久久| 综合亚洲网| 97在线公开视频| 欧美激情第一区| 2021国产精品自产拍在线| 国产在线精彩视频二区| 在线高清亚洲精品二区| 久久伊人色| 久草视频精品| 亚洲精选无码久久久| 亚洲欧洲日产国产无码AV| 国产欧美在线观看一区| 99久久精品免费看国产免费软件| 九色综合伊人久久富二代| 国产成人一二三| 色婷婷视频在线| 成人午夜久久| 欧美激情,国产精品| 久久免费观看视频| 免费高清毛片| 日日碰狠狠添天天爽| 欧美不卡视频在线观看| 免费a在线观看播放| 99伊人精品| 国产成a人片在线播放| 欧美日韩精品在线播放| 欧美激情视频二区三区| 日韩av无码精品专区| 国产H片无码不卡在线视频| 天天综合网色| 91精品国产自产在线老师啪l| 亚洲欧美日本国产专区一区|