欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法

文檔序號(hào):6558833閱讀:227來源:國知局
專利名稱:帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于聯(lián)網(wǎng)的計(jì)算機(jī)資源的安全授權(quán)的方法,并特別涉及一種用于提供對系統(tǒng)資源的精細(xì)訪問控制的技術(shù)。
背景技術(shù)
訪問控制策略是在系統(tǒng)安全策略級(jí)上表示授權(quán)。利用策略對訪問主體(用戶、進(jìn)程)進(jìn)行授權(quán)、認(rèn)證、角色分配,使得只有合法的訪問主體才能享用訪問客體(資源所有者)提供的服務(wù)和資源。目前廣為認(rèn)可的訪問控制策略有三種自主訪問控制策略DAC,強(qiáng)制訪問控制策略MAC和基于角色的訪問控制策略RBAC。這三種訪問控制策略是在不同的時(shí)代、不同的環(huán)境需求下產(chǎn)生的,適用于不同的環(huán)境中。此外,還有多級(jí)策略。多級(jí)策略給每個(gè)目標(biāo)分配一個(gè)密級(jí),一般安全屬性可分為四個(gè)級(jí)別最高秘密級(jí)(Top-Secret)、秘密級(jí)(Secret)、機(jī)密級(jí)(Confidence)以及無級(jí)別級(jí)(Unclassified)。由于安全發(fā)展的需要,目前文件密級(jí)已由四級(jí)擴(kuò)展為0~255級(jí)。密級(jí)劃分的細(xì)化,更便于執(zhí)行多級(jí)控制的安全機(jī)制,并能滿足國家和個(gè)人的保密需求。密級(jí)形成一個(gè)層次,每個(gè)用戶被分配一個(gè)相應(yīng)的級(jí),反映了該用戶的最基礎(chǔ)的可信賴度,這種模型常用于政府機(jī)密部門。
自主訪問控制模型(DAC Model,Discretionary Access ControlModel)是根據(jù)自主訪問控制策略建立的一種模型,基本思想是允許合法用戶以用戶或用戶組的身份訪問策略規(guī)定的客體,同時(shí)阻止非授權(quán)的用戶訪問客體,自主體現(xiàn)在用戶還可以自主地把自己所擁有的客體的訪問權(quán)限授予其它用戶。自主訪問控制又稱為任意訪問控制。LINUX、UNIX、Windows NT或是SERVER版本的操作系統(tǒng)都提供自主訪問控制的功能。在實(shí)現(xiàn)上,首先要對用戶的身份進(jìn)行鑒別,然后就可以按照訪問控制列表所賦予用戶的權(quán)限允許和限制用戶使用客體的資源。主體控制權(quán)限的修改通常由特權(quán)用戶或是特權(quán)用戶組實(shí)現(xiàn)。自主訪問控制模型的特點(diǎn)是授權(quán)的實(shí)施主體自主負(fù)責(zé)賦予和回收其他主體對客體資源的訪問權(quán)限。DAC模型一般采用訪問控制矩陣和訪問控制列表來存放不同主體的訪問控制信息,從而達(dá)到對主體訪問權(quán)限的限制目的。任意訪問控制對用戶提供的這種靈活的數(shù)據(jù)訪問方式,使得DAC模型廣泛應(yīng)用在商業(yè)和工業(yè)環(huán)境中。
盡管DAC模型已在許多系統(tǒng)中得以實(shí)現(xiàn),然而該模型的一個(gè)致命弱點(diǎn)是訪問權(quán)的授予是可以傳遞的。一旦訪問權(quán)被傳遞出去將難以控制,訪問權(quán)的管理是相當(dāng)困難的,會(huì)帶來嚴(yán)重的安全問題。另一方面DAC模型不保護(hù)受保護(hù)的客體產(chǎn)生的副本,即一個(gè)用戶不能訪問某一客體,但能夠訪問它的拷貝,這更增加了管理的難度。而且在大型系統(tǒng)中主、客體的數(shù)量巨大,無論使用哪一種形式的DAC,所帶來的系統(tǒng)開銷都是難以支付的,效率相當(dāng)?shù)拖拢y以滿足大型應(yīng)用特別是網(wǎng)絡(luò)應(yīng)用的需要。
強(qiáng)制訪問控制模型(MAC Model,Mandatory Access ControlModel)是一種多級(jí)訪問控制策略,它的主要特點(diǎn)是系統(tǒng)對訪問主體和受控對象實(shí)行強(qiáng)制訪問控制,系統(tǒng)事先給訪問主體和受控對象分配不同的安全級(jí)別屬性,在實(shí)施訪問控制時(shí),系統(tǒng)先對訪問主體和受控對象的安全級(jí)別屬性進(jìn)行比較,再?zèng)Q定訪問主體能否訪問該受控對象。MAC對訪問主體和受控對象標(biāo)識(shí)兩個(gè)安全標(biāo)記一個(gè)是具有偏序關(guān)系的安全等級(jí)標(biāo)記;另一個(gè)是非等級(jí)分類標(biāo)記。主體和客體在分屬不同的安全類別時(shí),都屬于一個(gè)固定的安全類別SC,SC就構(gòu)成一個(gè)偏序關(guān)系。當(dāng)主體s的安全類別為TS,而客體o的安全類別為S時(shí),用偏序關(guān)系可以表述為SC(s)≥SC(o)??紤]到偏序關(guān)系,主體對客體的訪問主要有四種方式(1)向下讀(rd,read down)主體安全級(jí)別高于客體信息資源的安全級(jí)別時(shí)允許查閱的讀操作;(2)向上讀(ru,read up)主體安全級(jí)別低于客體信息資源的安全級(jí)別時(shí)允許的讀操作;(3)向下寫(wd,write down)主體安全級(jí)別高于客體信息資源的安全級(jí)別時(shí)允許執(zhí)行的動(dòng)作或是寫操作;(4)向上寫(wu,write up)主體安全級(jí)別低于客體信息資源的安全級(jí)別時(shí)允許執(zhí)行的動(dòng)作或是寫操作。
由于MAC通過分級(jí)的安全標(biāo)簽實(shí)現(xiàn)了信息的單向流通,因此它一直被軍方采用,其中最著名的是Bell-LaPadula模型和Biba模型Bell-LaPadula模型具有只允許向下讀、向上寫的特點(diǎn),可以有效地防止機(jī)密信息向下級(jí)泄露;Biba模型則具有不允許向下讀、向上寫的特點(diǎn),可以有效地保護(hù)數(shù)據(jù)的完整性。MAC的本質(zhì)是基于格的非循環(huán)單向信息流政策。
RBAC96模型基于角色的訪問控制從控制主體的角度出發(fā),根據(jù)管理中相對穩(wěn)定的職權(quán)和責(zé)任來劃分角色,將訪問權(quán)限與角色相聯(lián)系,這點(diǎn)與傳統(tǒng)的MAC和DAC將權(quán)限直接授予用戶的方式不同;其通過給用戶分配合適的角色,讓用戶與訪問權(quán)限相聯(lián)系。首先介紹一下角色的概念,角色是指一個(gè)可以完成一定事務(wù)的命名組,不同的角色通過不同的事務(wù)來執(zhí)行各自的功能。事務(wù)是指一個(gè)完成一定功能的過程,可以是一個(gè)程序或程序的一部分。角色是代表具有某種能力的人或是某些屬性的人的一類抽象,訪問控制中訪問主體和受控對象之間通過角色關(guān)聯(lián)。
RBAC96模型是包括四種概念參考模型及其框架的RBAC模型家族。其中RBAC0是RBAC96的基本模型,RBAC0中定義了RBAC模型的最少要素,是其它三個(gè)子模型的基礎(chǔ);RBAC1和RBAC2是在RBAC0的基礎(chǔ)上分別增加了角色繼承和約束機(jī)制;RBAC3是RBAC1和RBAC2的整合模型,根據(jù)傳遞關(guān)系,RBAC3包含了RBAC0。在RBAC96的基礎(chǔ)上Ravi.Sandhu等人又先后提出了ARBAC97管理模型、ARBAC99管理模型。RBAC0中定義了四種實(shí)體用戶、角色、權(quán)限和會(huì)話。在簡單系統(tǒng)中,用戶是指可以訪問系統(tǒng)中數(shù)據(jù)或資源的主體;角色代表組織機(jī)構(gòu)中的崗位職能,是具有該角色的成員的權(quán)限和職責(zé);權(quán)限是在系統(tǒng)中的執(zhí)行操作的某種能力;當(dāng)用戶激活一組屬于他們的角色時(shí),會(huì)話被建立,每個(gè)會(huì)話都包含一個(gè)用戶和一個(gè)或多個(gè)角色,用戶可同時(shí)激活會(huì)話中的部分或全部角色。RBAC0中定義了兩種角色分配關(guān)系用戶分配UA和權(quán)限分配PA。在進(jìn)行UA和PA分配時(shí),可以是多對多的關(guān)系,即一個(gè)用戶可以同時(shí)被授予多個(gè)權(quán)限,一個(gè)權(quán)限可以分配給多個(gè)角色,用戶可以同時(shí)打開多個(gè)會(huì)話。在每個(gè)會(huì)話中用戶擁有不同的活動(dòng)角色集合,RBAC0支持最小特權(quán)原則,意味著用戶可以只激活完成任務(wù)所必須的角色??梢栽谛枰獣r(shí)激活再激活分配給用戶的角色,這樣可以避免用戶對權(quán)限的誤用和非法使用。RBAC0中定義可以自主決定是否激活角色,即允許用戶在會(huì)話過程中動(dòng)態(tài)激活或撤銷角色。RBAC1在RBAC模型的基礎(chǔ)上增加了角色繼承,分為兩大類,限制型角色繼承和非限制型角色繼承。限制型角色繼承強(qiáng)化了繼承的結(jié)構(gòu),通常是簡單的正樹或者反樹結(jié)構(gòu)。RBAC2與RBAC0不同的是增加了約束機(jī)制。RBAC2是在RBAC0模型的基礎(chǔ)上增加一個(gè)約束集合,這些約束決定了RBAC0中各種組件是否可以接受,只有對可以接受的值的操作才可以執(zhí)行。約束是RBAC中被討論最多的部分,也可認(rèn)為是RBAC被推動(dòng)的重要原因。典型的例子是,一個(gè)組織中采購經(jīng)理和出納是互斥的角色,通常,這兩個(gè)角色不允許分配給同一個(gè)用戶,因?yàn)檫@很可能會(huì)產(chǎn)生欺詐犯罪。在高級(jí)的組織中約束是一種強(qiáng)有力的機(jī)制,能夠?qū)崿F(xiàn)責(zé)權(quán)分離原則。主要的約束機(jī)制包括互斥角色、基數(shù)約束、先決約束、會(huì)話約束和等級(jí)約束。互斥角色在定義為互斥角色的集合中,每個(gè)用戶至多可以指派為其中的一個(gè)角色,這樣支持了責(zé)權(quán)分離原則。同樣地,也可以定義互斥權(quán)限,在互斥權(quán)限集合中,每一個(gè)角色至多可以擁有一個(gè)權(quán)限?;鶖?shù)約束基數(shù)約束是定義在用戶角色分配和權(quán)限角色分配關(guān)系上的約束。用戶角色分配基數(shù)約束是指一個(gè)用戶擁有的角色數(shù)量是受限的,而權(quán)限角色分配基數(shù)約束是指角色擁有權(quán)限的數(shù)量是受限的。先決約束該機(jī)制規(guī)定了用戶在進(jìn)行某種操作時(shí)必須擁有的角色。舉例來說,只有當(dāng)用戶具是項(xiàng)目組成員角色時(shí),才能給該用戶分配程序員角色。RBAC3是RBAC1和RBAC2的合并模型,合并模型中同時(shí)包含角色層次和約束機(jī)制。約束同樣可以應(yīng)用在角色層次自身,角色層次是偏序關(guān)系,這是模型內(nèi)在的約束。而且約束可以限制給定角色的角色數(shù)目,或者限制某些角色不能擁有子角色。這些約束類型在對于那些授權(quán)給改變已經(jīng)被分配的角色層次的情況下非常有用。在層次與約束之間會(huì)產(chǎn)生細(xì)微的相互作用。在互斥條件下,可以通過約束定義私有角色來解決互斥。
直到2004年2月RBAC被美國國家標(biāo)準(zhǔn)委員會(huì)(ANSI)和IT國際標(biāo)準(zhǔn)委員會(huì)(INCITS)接納為ANSI INCITS 359—2004標(biāo)準(zhǔn)。后來又提出新的四層NIST建議標(biāo)準(zhǔn)。這4層標(biāo)準(zhǔn)分別是核心RBAC,層次型RBAC,靜態(tài)職責(zé)分離關(guān)系和動(dòng)態(tài)職責(zé)分離關(guān)系。NIST核心模型中將權(quán)限細(xì)化為客體集合和操作集合,其余與RBAC0基本相同。層次型RBAC與RBAC1類似,在核心RBAC之上增加了角色分層,并分為普通分層和受限分層。普通分層支持角色多重繼承,受限分層僅支持角色單重繼承。約束RBAC增加了職責(zé)分離,包括靜態(tài)職責(zé)分離(SSD)和動(dòng)態(tài)職責(zé)分離(DSD)。SSD限制用戶不能同時(shí)指派相互沖突的角色,DSD僅限制一個(gè)用戶不能同時(shí)在一個(gè)會(huì)話中激活相互沖突的角色。NIST RBAC模型也分為四層。分別是核心RBAC,層次型RBAC,靜態(tài)職責(zé)分離關(guān)系和動(dòng)態(tài)職責(zé)分離關(guān)系。NIST RBAC模型的四種模型包含了RBAC96模型的四個(gè)模型,并分別引入新的機(jī)制。NIST核心模型中將權(quán)限細(xì)化為客體集合和操作集合,其余與RBAC0基本相同。層次型RBAC與RBAC1類似,在核心RBAC之上增加了角色分層,并分為普通分層和受限分層。普通分層支持角色多重繼承,受限分層僅支持角色單重繼承。約束RBAC增加了職責(zé)分離,包括靜態(tài)職責(zé)分離(SSD)和動(dòng)態(tài)職責(zé)分離(DSD)。SSD限制用戶不能同時(shí)指派相互沖突的角色,DSD僅限制一個(gè)用戶不能同時(shí)在一個(gè)會(huì)話中激活相互沖突的角色。NIST建議模型沒有提供管理模型,但給出了管理函數(shù),分管理命令、系統(tǒng)支持函數(shù)和查詢函數(shù)。RBAC中引進(jìn)了角色的概念,用角色表示訪問主體具有的職權(quán)和責(zé)任,靈活地表達(dá)和實(shí)現(xiàn)了企業(yè)的安全策略,使系統(tǒng)權(quán)限管理在企業(yè)的組織視圖這個(gè)較高的抽象集上進(jìn)行,從而簡化了權(quán)限設(shè)置的管理,從這個(gè)角度看,RBAC很好地解決了企業(yè)管理信息系統(tǒng)中用戶數(shù)量多、變動(dòng)頻繁的問題。
經(jīng)典RBAC模型可以解決粗粒度的授權(quán)需求。即以角色(Role)、操作(Option)和客體(Object)組成的三元組為最細(xì)粒度權(quán)限,可以控制到某個(gè)角色對某種客體的某種操作。然而RBAC模型的基本出發(fā)點(diǎn)是以主體為中心來考慮整個(gè)安全系統(tǒng)的訪問控制,所以只針對有關(guān)主體的安全特性進(jìn)行了深入研究,而沒有有關(guān)訪問控制中的客體和訪問約束條件的安全特性等內(nèi)容,這樣就忽略了訪問控制過程中對客體和訪問事務(wù)的安全特性的控制,從而可能造成整個(gè)安全系統(tǒng)的安全策略不平衡,降低了模型對現(xiàn)實(shí)世界的表達(dá)力和可用性。對于大型的企業(yè)級(jí)應(yīng)用來說,其系統(tǒng)邏輯復(fù)雜,分支機(jī)構(gòu)眾多,同時(shí)信息數(shù)據(jù)的大量集中存儲(chǔ)和處理,在這種情況下,對訪問控制提出了更高的要求。在經(jīng)典的RBAC模型中,對客體的定義通常為數(shù)據(jù)表,對于集中存儲(chǔ)的數(shù)據(jù)信息,邏輯上包含了眾多的維度,如對于分機(jī)構(gòu)分部門的企業(yè),其邏輯集中的數(shù)據(jù)必然包括機(jī)構(gòu)及部門信息,而對數(shù)據(jù)的應(yīng)用也需要按維度劃分和控制。比如對于某分支機(jī)構(gòu)的某部門的數(shù)據(jù)查詢需求,低權(quán)限用戶要限制到相應(yīng)的機(jī)構(gòu)和部門,而這個(gè)機(jī)構(gòu)的高權(quán)限的用戶則不需要限制部門,只要限制所在機(jī)構(gòu),對于更高級(jí)的用戶可能不應(yīng)該加任何限制,而允許其查詢?nèi)牭臄?shù)據(jù)。經(jīng)典RBAC模型如果要解決這個(gè)問題,就需要對客體按維度進(jìn)行拆分,拆到足夠細(xì)的粒度。然而對于大型的系統(tǒng),數(shù)據(jù)客體都是高維度的,并且要考慮到不同操作和不同主體對客體有不同的維度控制需求,從而造成了對客體的拆分過于復(fù)雜,導(dǎo)致權(quán)限系統(tǒng)變得難以維護(hù),背離達(dá)到減小授權(quán)管理復(fù)雜性的目的,失去應(yīng)用RBAC的意義。為了避免以上問題的發(fā)生,充分發(fā)揮RBAC的優(yōu)勢,本發(fā)明針對RBAC模型的PERMISSION和ROLE等概念進(jìn)行了改進(jìn),得到了一種擴(kuò)展型的RBAC模型,這種模型適用于大型的企業(yè)中對數(shù)據(jù)客體有多維細(xì)粒度訪問控制的要求,稱之為帶有精細(xì)訪問控制策略的訪問控制模型。

發(fā)明內(nèi)容
針對現(xiàn)有模型對數(shù)據(jù)客體訪問時(shí)的粗粒度問題,本發(fā)明提供了一種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法,解決了標(biāo)準(zhǔn)的基于角色的訪問控制模型中訪問控制粒度粗,只能精確到某角色對某客體進(jìn)行了某種操作這一原子粒度,使訪問控制的粒度可以做更精確的劃分。
本發(fā)明提供了一種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法,包括功能,客體與操作組成的二元組,描述對客體進(jìn)行操作的許可;功能權(quán)限,角色與功能組成的二元組,描述角色擁有對客體執(zhí)行操作的權(quán)限;精細(xì)訪問控制,功能權(quán)限與精細(xì)訪問控制策略組成的二元組,實(shí)現(xiàn)運(yùn)行環(huán)境中對客體的訪問控制精確到客體的一部分乃至最細(xì)粒度的控制。其中,精細(xì)訪問控制策略是預(yù)先定義好的運(yùn)行時(shí)動(dòng)態(tài)策略函數(shù),進(jìn)一步包含兩個(gè)方面內(nèi)容一是描述業(yè)務(wù)邏輯要求的用戶在執(zhí)行操作時(shí),有權(quán)限訪問客體的一個(gè)集合,根據(jù)精細(xì)訪問控制策略的不同,訪問權(quán)限受到約束,以訪問客體的子集、空集或全集;二是基于外部環(huán)境及上下文信息的約束,在運(yùn)行時(shí)確定訪問客體的子集。還包括功能權(quán)限到精細(xì)訪問控制策略的映射。
也可以把精細(xì)訪問控制看作是客體、操作、角色和精細(xì)訪問控制策略按照層次關(guān)系構(gòu)建的四元組。
角色是在特定組織中清晰定義職責(zé)和權(quán)利的工作職能,代表一種資格、權(quán)利和責(zé)任,角色的集合為角色集。功能是對計(jì)算機(jī)系統(tǒng)中被保護(hù)數(shù)據(jù)或資源的訪問許可,功能的集合為功能集,功能集為客體集與操作集的笛卡爾積的冪集。操作到功能的映射得到指定功能的操作集合;功能到客體的映射,得到指定功能的客體集合;角色到功能的映射,得到映射方法的集合。角色與功能之間為多對多的關(guān)系,一個(gè)功能可以分派到一個(gè)或多個(gè)角色,一個(gè)角色也可以被分派一個(gè)或多個(gè)功能。功能權(quán)限到精細(xì)訪問控制策略的映射為單射關(guān)系,對于任意功能權(quán)限都有唯一的精細(xì)訪問控制策略與之相對應(yīng)。
與標(biāo)準(zhǔn)RBAC模型技術(shù)相比,本發(fā)明的有益效果是1.加入了精細(xì)訪問控制策略這一元素,用來限制標(biāo)準(zhǔn)RBAC模型中由角色、客體、操作這個(gè)三元素構(gòu)成的功能權(quán)限,達(dá)到對功能權(quán)限進(jìn)行細(xì)化的目的。
2.在角色層次結(jié)構(gòu)的RBAC模型中,包括限制型角色繼承和非限制型角色繼承,角色的偏序關(guān)系帶動(dòng)了權(quán)限范圍的變化,某角色繼承了其它角色即可得到其它角色的功能,然而精細(xì)訪問控制策略元素與角色、客體、操作這個(gè)三元組構(gòu)成了單射的關(guān)系,即對于任意功能,有唯一的精細(xì)訪問控制策略與之對應(yīng),所以精細(xì)訪問控制策略不隨角色的繼承而傳遞。
3.在限制型RBAC模型中,對角色作了靜態(tài)職責(zé)分離和動(dòng)態(tài)職責(zé)分離的限制,使某用戶不能同時(shí)擁有幾個(gè)受約束的角色。對于精細(xì)訪問控制策略來說,與用戶元素沒有直接映射關(guān)系,而是與角色、客體、操作這個(gè)三元組建立了單射的關(guān)系,所以也不受靜態(tài)職責(zé)分離和動(dòng)態(tài)職責(zé)分離限制的約束。


圖1是帶有精細(xì)訪問控制策略的基于角色的訪問控制模型圖;圖2是可以實(shí)施本發(fā)明的信息系統(tǒng)中的典型結(jié)構(gòu)示意圖。
具體實(shí)施例方式
現(xiàn)結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。實(shí)施例1參考圖1,如圖1所示1.用戶集104用戶就是一個(gè)可以獨(dú)立訪問被保護(hù)數(shù)據(jù)或資源的主體,它可以是人或程序,此處簡化為人,用USERS表示一個(gè)用戶集合,用u表示用戶集合USERS中的一個(gè)用戶,即u∈USERS2.角色集103角色是在特定組織中清晰定義職責(zé)和權(quán)利的工作職能,它代表一種資格、權(quán)利和責(zé)任,用ROLES表示一個(gè)角色集合,用r表示角色集ROLES中的一個(gè)角色,即r∈ROLES3.角色分配108是角色到用戶的多對多映射是USERS和ROLES之間的一個(gè)二元關(guān)系,即用UAUSERS×ROLES表示一個(gè)用戶角色委派集合,用(u,r)∈UA表示用戶u被委派了一個(gè)角色r,用戶和角色之間是多對多的關(guān)系。一個(gè)用戶可以分派到多個(gè)角色,一個(gè)角色也可以被分派給多個(gè)用戶。
給角色指派用戶方法定義為assigned_user(rROLES)→2users該方法得到指定角色的user集合,即assigned_user(r)={u∈USERS|(u,r)∈UA}4.功能112功能是對計(jì)算機(jī)系統(tǒng)中被保護(hù)數(shù)據(jù)或資源的訪問許可。用PERMISSIONS表示一個(gè)功能集合,用p表示PERMISSIONS中的某個(gè)功能,即p∈PERMISSIONS。
功能集為客體集與操作集的笛卡兒積的冪集PRMS=2(OPSxOBS)RBAC模型是“策略中立”的模型,它沒有對權(quán)限作具體的定義,因此權(quán)限的本質(zhì)是開放的,可以依據(jù)不同的應(yīng)用和安全策略進(jìn)行定義,通??梢詫?quán)限看作是一個(gè)二元組(Obj,Opt),其中Obj是客體或客體標(biāo)識(shí)符,也就是被保護(hù)的系統(tǒng)數(shù)據(jù)或資源,而Opt是Obj的非空訪問模式集。
5.操作到功能的映射方法Op(pPRMS)→{OPOPS)該方法得到指定功能的操作集合。
功能到客體的映射方法Ob(pPRMS)→{obOBS)該方法得到指定功能的客體集合。
6.功能分配110表示角色到功能的映射,角色權(quán)限分配關(guān)系定義為ROLES與PERMISSIONS之間的二元組,即用下式表示一個(gè)角色權(quán)限委派集合。
PAPRMS×ROLES
一個(gè)角色r擁有一個(gè)功能p,表示為(r,p)∈PA7.角色和功能之間是多對多的關(guān)系。一個(gè)功能可以分派到一個(gè)或多個(gè)角色,一個(gè)角色也可以賦予一個(gè)或多個(gè)功能。
定義返回與功能相關(guān)聯(lián)的操作的函數(shù)Op(pPRMS)→{opOPS)定義返回與功能相關(guān)聯(lián)的客體的函數(shù)Ob(pPRMS)→{obOBS)assigned_permissions(rROLES)→2PRMS該方法得到角色映射功能的集合,即為assigned_permissions(r)={p∈PRMS|(p,r)∈PA}8.會(huì)話集105是用戶調(diào)用的一組會(huì)話集合,用戶與會(huì)話是一對多的關(guān)系,每個(gè)用戶都需要調(diào)用一套會(huì)話,定義函數(shù)將用戶u映射到一套會(huì)話中user_sessions(uUSERS)→2SESSIONS該方法得到指定用戶的會(huì)話集合。
定義函數(shù)將會(huì)話s映射到一套角色中session_roles(sSESSIONS)→2ROLES該方法得到指定會(huì)話的角色集合,即session_roles(si){r∈ROLES|(session_users(si),r∈UA}用戶在指定會(huì)話中可用角色定義方法
avail_session_persm(sSESSIONS)→2roles該方法得到用戶的被激活會(huì)話。
用戶在一個(gè)會(huì)話里所擁有的權(quán)限定義為avail_session_persm(sSESSIONS)→2PRMS用戶在全部會(huì)話中擁有的權(quán)限定義為Yr∈session_roles(s)assigned_permissions(r)]]>9.角色繼承109關(guān)系表示為RHROLES×ROLESRH是ROLES上的偏序關(guān)系,描述了授權(quán)與職責(zé)的組織結(jié)構(gòu)關(guān)系,定義了角色之間的繼承關(guān)系,包括普通型和限制型兩類。
在普通型角色繼承關(guān)系中,角色r1繼承r2定義為r1φr2則r1的用戶屬于r2的用戶且r2的權(quán)限屬于r1的權(quán)限。
r1φr2authorized_permissions(r2)authorized_permissions(r1)^authorized_users(r1)authorized_users(r2)授權(quán)的用戶定義為authorized_users(r)={u∈USERS|r′φr(u,r′)∈UA}授權(quán)的功能定義為authorized_permissions(rROTES)→2PRMSauthorized_permissions(r)={p∈PRMS|r′φr,(p,r′)∈PA}限制型角色繼承關(guān)系中,角色r1繼承r2滿足式3-24。
r,r1,r2,∈ROLES,rφr1^rφr2r1=r2指定角色的用戶定義為authorized_users(r)={u∈USERS|r’φr(u,r′)∈UA}該方法得到指定角色的用戶。
角色與權(quán)限映射關(guān)系定義為authorized_permissions(rROLES)→2PRMS該方法得到指定角色的權(quán)限集合,即authorized_permissions(r)={p∈PRMS|r′φr,(p,r′)∈PA10.靜態(tài)職責(zé)約束SSD表示靜態(tài)職責(zé)分配集合107,定義為SSD(2ROLESxN)一個(gè)用戶不允許被分配SSD中定義沖突的角色(rs,n)∈SSD,trs|t|≥nIr∈tassigned_usere(r)=11.動(dòng)態(tài)職責(zé)約束DSD表示動(dòng)態(tài)職責(zé)分配集合106,定義為DSD(2ROLESxN)rs∈2ROLES,n∈N,(rs,n)∈DSDn≥2^|rs|≥n,ands∈SESSIONS,rs∈2ROLES,role_subset∈2ROLES,role_subsetrs,n∈N,(rs,n)∈DSD,role_subsetsession_role(s)|role_subset|<nDSD中允許一個(gè)用戶被分配相互沖突的角色,但不允許在一次會(huì)話集中激活。
12.功能權(quán)限111功能權(quán)限描述某角色執(zhí)行某功能這個(gè)語義,是角色與功能的二元關(guān)系的集合,功能權(quán)限集合的元素為角色與功能的二元組,既(r,p)∈RIGHTS13.精細(xì)訪問控制策略108精細(xì)訪問策略定義為與角色、客體、操作這個(gè)三元組相關(guān)聯(lián)的元素。這個(gè)元素描述了對客體的精細(xì)訪問策略以及上下文環(huán)境的訪問控制限制,這個(gè)元素和權(quán)限的映射實(shí)現(xiàn)了對訪問控制的精細(xì)級(jí)別處理,即構(gòu)建了精細(xì)權(quán)限。用FG_POLICIES表示一個(gè)精細(xì)訪問策略集合,用f表示精細(xì)訪問策略集FG_POLICIES中的一個(gè)策略元素f∈FG_POLICIES14.精細(xì)訪問控制策略分配113表示精細(xì)訪問策略到權(quán)限的映射,即精細(xì)權(quán)限精細(xì)訪問策略與權(quán)限的關(guān)系定義FG_POLICIES→RIGHTS即由集合FG_POLICIES到集合RIGHTS映射。根據(jù)定義,對于任意的權(quán)限r(nóng),都有唯一的精細(xì)訪問控制策略f與之對應(yīng),即函數(shù)FA滿足單射。
實(shí)施例2如圖2所示用戶通常為系統(tǒng)使用人員,客體通常為數(shù)據(jù)庫表,但不限于此,用戶可以是一個(gè)程序,客體也可以是數(shù)據(jù)文件、XML文件以及任何計(jì)算機(jī)資源,操作也不限于所列操作,可根據(jù)實(shí)際應(yīng)用系統(tǒng)需要任意擴(kuò)充。
例如在管理信息系統(tǒng)中,功能項(xiàng)按照粗粒度的劃分,分為四大類系統(tǒng)管理類、碼表管理類、數(shù)據(jù)處理類和報(bào)表查詢類。通常對應(yīng)四大類的角色,即系統(tǒng)管理相關(guān)角色,碼表管理相關(guān)角色,數(shù)據(jù)處理相關(guān)角色和報(bào)表查詢相關(guān)角色。
系統(tǒng)管理用于對使用本系統(tǒng)的用戶新增、變更、復(fù)核、查詢、以及系統(tǒng)日志監(jiān)控、用戶鎖定及解鎖等。系統(tǒng)管理類權(quán)限涉及到的角色包括系統(tǒng)管理員相關(guān)的角色,操作包括增加、刪除、修改、查詢,客體包括用戶表、角色表、操作表、客體表、系統(tǒng)表等。
碼表管理的功能主要包括對各種碼表的維護(hù)和查詢。涉及到的角色包括碼表管理員相關(guān)的角色,操作包括增加、刪除、修改、查詢、審核等,客體包括各類碼表,如產(chǎn)品號(hào)表、貨幣表等。
數(shù)據(jù)處理功能用于對業(yè)務(wù)數(shù)據(jù)的新增、變更、審核、查詢以及對業(yè)務(wù)數(shù)據(jù)的各種加工。數(shù)據(jù)處理類的功能涉及到的角色包括各類數(shù)據(jù)處理相關(guān)角色,操作包括增加、刪除、修改、查詢、審核、加工等,客體包括各數(shù)據(jù)表或數(shù)據(jù)文件等。
報(bào)表查詢功能是將加工后的數(shù)據(jù)項(xiàng)展現(xiàn)成報(bào)表。報(bào)表查詢類功能涉及的角色和操作較少,主要集中在決策者和領(lǐng)導(dǎo)層的查詢操作,客體包括各類報(bào)表。
對于上述的細(xì)粒度訪問控制要求,采用FG_RBAC模型的精細(xì)訪問策略來實(shí)現(xiàn),即對于功能性的訪問控制仍然精確到客體,建立角色與功能的對應(yīng)關(guān)系,而對于客體的細(xì)粒度訪問控制,則通過預(yù)先設(shè)置精細(xì)訪問策略函數(shù),在授權(quán)時(shí)將預(yù)設(shè)置的策略函數(shù)加入到精細(xì)權(quán)限集合里,以角色、客體、操作、精細(xì)策略這個(gè)四元組來完成訪問控制,即可滿足需求。
但由于精細(xì)權(quán)限是多個(gè)集合的笛卡爾積,其元素相對眾多,難于維護(hù),所以對角色維度采用默認(rèn)方式處理,即先確定一個(gè)三元組,如客體、操作、精細(xì)策略,或者角色、客體、精細(xì)訪問策略等等,對于剩下的一個(gè)維度,如角色維度或操作維度默認(rèn)為使用同樣已有三元組中的精細(xì)訪問策略,如果需要變化,則針對具體權(quán)限再做策略的調(diào)整,這樣大大降低了維護(hù)的成本。
對于系統(tǒng)管理的功能,客體只有所屬子系統(tǒng)這一個(gè)維度。如果訪問主體的角色是角色集230中的超級(jí)管理員232,對客體集210中的客體元素角色表211執(zhí)行增加222操作,則對應(yīng)精細(xì)訪問策略集240中的精細(xì)訪問策略元素不做任何限制242,如果訪問主體的角色是子系統(tǒng)管理員231,則精細(xì)訪問策略函數(shù)241返回限制項(xiàng),要求客體的系統(tǒng)屬性要和訪問主體所屬的系統(tǒng)一致。
對于碼表管理的功能,如果客體某一碼表212也只有所屬子系統(tǒng)這一個(gè)維度,建立精細(xì)訪問策略元素241與碼表管理員修改某一碼表254這個(gè)功能權(quán)限元素相關(guān)聯(lián),返回一個(gè)約束,要求客體的系統(tǒng)屬性要和訪問主體所屬的系統(tǒng)一致。
對于數(shù)據(jù)處理的功能,其客體為業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)量龐大而且維度多樣,建立精細(xì)訪問策略元素與該功能關(guān)聯(lián),根據(jù)預(yù)先設(shè)定的業(yè)務(wù)規(guī)則,對不同主體的不同操作返回不同限制條件。例如,支行柜員角色234的用戶執(zhí)行查詢221、修改223、刪除224某數(shù)據(jù)表213的操作,要限制其只能操作自己錄入的數(shù)據(jù),即數(shù)據(jù)錄入者等于訪問用戶243;如支行審核員角色235的用戶進(jìn)行查詢221操作,則要限制其只能查詢本機(jī)構(gòu)及下屬機(jī)構(gòu)的數(shù)據(jù)244;如果是總行復(fù)合員236角色的用戶進(jìn)行查詢221操作,則不做任何限制242。
對于報(bào)表查詢的功能,其客體是經(jīng)過加工處理的報(bào)表214,數(shù)據(jù)量雖然不大,但是維度更加豐富,建立精細(xì)訪問策略元素與該功能關(guān)聯(lián),根據(jù)預(yù)先設(shè)定的業(yè)務(wù)規(guī)則,對不同主體的查詢221操作返回不同限制條件。例如,分行報(bào)表用戶237角色的主體查詢221某一報(bào)表214,精細(xì)訪問策略限制報(bào)表的口徑為銀行口徑且是報(bào)表的數(shù)據(jù)為訪問主體所在機(jī)構(gòu)及下屬機(jī)構(gòu)的數(shù)據(jù)245;如是總行報(bào)表用戶238角色的主體做查詢221某一報(bào)表214的操作,則不作任何限制242。
精細(xì)訪問策略元素通常為一策略函數(shù),輸入可以為用戶、角色、操作、客體等元素以及上下文環(huán)境等參數(shù),輸出為訪問約束,限制某功能的某一次執(zhí)行的影響范圍。
以上所述實(shí)施方式僅為本發(fā)明的兩個(gè)實(shí)施例,而不限于上述實(shí)施例,對于本領(lǐng)域一般技術(shù)人員而言,在不背離本發(fā)明原理的前提下對它所做的任何顯而易見的改動(dòng),都屬于本發(fā)明的構(gòu)思和所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法,包括功能,客體與操作組成的二元組,描述對客體進(jìn)行操作的許可;功能權(quán)限,角色與功能組成的二元組,描述角色擁有對客體執(zhí)行操作的權(quán)限;精細(xì)訪問控制,功能權(quán)限與精細(xì)訪問控制策略組成的二元組,實(shí)現(xiàn)運(yùn)行環(huán)境中對客體的訪問控制精確到客體的一部分乃至最細(xì)粒度的控制;其中,精細(xì)訪問控制策略,預(yù)先定義好的運(yùn)行時(shí)動(dòng)態(tài)策略函數(shù),進(jìn)一步包含兩個(gè)方面內(nèi)容,一是描述業(yè)務(wù)邏輯要求的用戶在執(zhí)行操作時(shí),有權(quán)限訪問客體的一個(gè)集合,根據(jù)精細(xì)訪問控制策略的不同,訪問權(quán)限受到約束,以訪問客體的子集、空集或全集,二是基于外部環(huán)境及上下文信息的約束,在運(yùn)行時(shí)確定訪問客體的子集;功能權(quán)限到精細(xì)訪問控制策略的映射。
2.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于可以把精細(xì)訪問控制看作是客體、操作、角色和精細(xì)訪問控制策略按照層次關(guān)系構(gòu)建的四元組。
3.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于所述角色是在特定組織中清晰定義職責(zé)和權(quán)利的工作職能,代表一種資格、權(quán)利和責(zé)任,角色的集合為角色集。
4.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于所述功能是對計(jì)算機(jī)系統(tǒng)中被保護(hù)數(shù)據(jù)或資源的訪問許可,功能的集合為功能集,功能集為客體集與操作集的笛卡爾積的冪集。
5.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于操作到功能的映射,得到指定功能的操作集合;功能到客體的映射,得到指定功能的客體集合。
6.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于角色到功能的映射,得到映射方法的集合;角色與功能之間為多對多的關(guān)系,一個(gè)功能可以分派到一個(gè)或多個(gè)角色,一個(gè)角色也可以被分派一個(gè)或多個(gè)功能。
7.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于所述功能權(quán)限到精細(xì)訪問控制策略的映射為單射關(guān)系,對于任意功能權(quán)限都有唯一的精細(xì)訪問控制策略與之相對應(yīng)。
全文摘要
本發(fā)明公開了一種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法,其中包括精細(xì)訪問控制策略和功能權(quán)限與精細(xì)訪問控制策略的映射函數(shù)。精細(xì)訪問控制策略是預(yù)定義好的運(yùn)行時(shí)動(dòng)態(tài)策略函數(shù),包括業(yè)務(wù)邏輯所要求的在精細(xì)訪問上的約束邏輯和基于外部環(huán)境及上下文信息的約束。本發(fā)明通過加入精細(xì)訪問控制策略這一元素和相應(yīng)的映射函數(shù),解決了標(biāo)準(zhǔn)的訪問控制模型中訪問控制的粒度粗,只能精確到某角色對某客體進(jìn)行了某種操作這一原子粒度的問題,使訪問控制的粒度可以被更精確的劃分。
文檔編號(hào)G06F21/00GK1885297SQ20061008331
公開日2006年12月27日 申請日期2006年6月2日 優(yōu)先權(quán)日2006年6月2日
發(fā)明者石杰 申請人:石杰
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
高尔夫| 珠海市| 新龙县| 丽江市| 苏尼特右旗| 磴口县| 巴青县| 桓台县| 武川县| 凉山| 申扎县| 彝良县| 上饶市| 沙湾县| 宽城| 浦城县| 沅陵县| 通化县| 潮州市| 遂平县| 石阡县| 咸丰县| 醴陵市| 论坛| 巨鹿县| 楚雄市| 杭锦旗| 汝南县| 高邑县| 海阳市| 邵东县| 崇义县| 台南县| 南宁市| 仙桃市| 汉阴县| 商都县| 华坪县| 邢台市| 翼城县| 封丘县|