基礎(chǔ)信息
權(quán)利要求
說明書
PDF全文
法律信息
引證文獻(xiàn)
著錄項(xiàng)信息
專利名稱 | 帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法 |
申請?zhí)?/td> | CN200610083315.2 | 申請日期 | 2006-06-02 |
法律狀態(tài) | 暫無 | 申報國家 | 中國 |
公開/公告日 | 2006-12-27 | 公開/公告號 | CN1885297 |
優(yōu)先權(quán) | 暫無 | 優(yōu)先權(quán)號 | 暫無 |
主分類號 | G06F21/00 | IPC分類號 | G;0;6;F;2;1;/;0;0查看分類表>
|
申請人 | 石杰 | 申請人地址 | 浙江省杭州市下城區(qū)慶春路38號1層101室、8層801、802、803、804室、11層1101、1102室
變更
專利地址、主體等相關(guān)變化,請及時變更,防止失效 |
權(quán)利人 | 杭銀消費(fèi)金融股份有限公司 | 當(dāng)前權(quán)利人 | 杭銀消費(fèi)金融股份有限公司 |
發(fā)明人 | 石杰 |
代理機(jī)構(gòu) | 北京中海智圣知識產(chǎn)權(quán)代理有限公司 | 代理人 | 曾永珠 |
摘要
本發(fā)明公開了一種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法,其中包括精細(xì)訪問控制策略和功能權(quán)限與精細(xì)訪問控制策略的映射函數(shù)。精細(xì)訪問控制策略是預(yù)定義好的運(yùn)行時動態(tài)策略函數(shù),包括業(yè)務(wù)邏輯所要求的在精細(xì)訪問上的約束邏輯和基于外部環(huán)境及上下文信息的約束。本發(fā)明通過加入精細(xì)訪問控制策略這一元素和相應(yīng)的映射函數(shù),解決了標(biāo)準(zhǔn)的訪問控制模型中訪問控制的粒度粗,只能精確到某角色對某客體進(jìn)行了某種操作這一原子粒度的問題,使訪問控制的粒度可以被更精確的劃分。
1.一種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方 法,其特征在于,包括如下步驟:
客體與操作聯(lián)系起來并組成功能的二元組,以描述對客體進(jìn)行操 作的許可;
角色與功能通過映射聯(lián)系起來并組成功能權(quán)限的二元組,以描述 角色擁有對客體執(zhí)行操作的權(quán)限;
功能權(quán)限與精細(xì)訪問控制策略通過映射聯(lián)系起來并組成精細(xì)訪 問控制的二元組,以實(shí)現(xiàn)運(yùn)行環(huán)境中對客體的訪問控制精確到客體的 一部分乃至最細(xì)粒度的控制;
根據(jù)請求客戶與角色以及角色與功能之間的聯(lián)系,且依據(jù)精細(xì)訪 問控制對受訪客體的訪問進(jìn)行授權(quán),其中,
精細(xì)訪問控制策略為預(yù)先定義好的運(yùn)行時動態(tài)策略函數(shù),且其包 含兩個方面內(nèi)容,一是描述業(yè)務(wù)邏輯要求的用戶在執(zhí)行操作時,有權(quán) 限訪問客體的一個集合,根據(jù)精細(xì)訪問控制策略的不同,訪問權(quán)限受 到約束,以訪問客體的子集、空集或全集,二是基于外部環(huán)境及上下 文信息的約束,在運(yùn)行時確定訪問客體的子集;
功能權(quán)限到精細(xì)訪問控制策略的映射為單射關(guān)系。
2.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于:所 述角色是在特定組織中清晰定義職責(zé)和權(quán)利的工作職能,代表一種資 格、權(quán)利和責(zé)任,角色的集合為角色集。
3.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于:所 述功能是對計算機(jī)系統(tǒng)中被保護(hù)數(shù)據(jù)或資源的訪問許可,功能的集合 為功能集,功能集為客體集與操作集的笛卡爾積的冪集。
4.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于:操 作到功能的映射,得到指定功能的操作集合;功能到客體的映射,得 到指定功能的客體集合。
5.如權(quán)利要求1所述的訪問控制模型的方法,其特征在于:角 色到功能的映射,得到映射方法的集合;角色與功能之間為多對多的 關(guān)系,一個功能可以分派到一個或多個角色,一個角色也可以被分派 一個或多個功能。
6.一種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方 法,其特征在于,包括如下步驟:
客體與操作聯(lián)系起來并組成功能的二元組,以描述對客體進(jìn)行操 作的許可;
角色與功能通過映射聯(lián)系起來并組成功能權(quán)限的二元組,以描述 角色擁有對客體執(zhí)行操作的權(quán)限;
客體、操作、角色和精細(xì)訪問控制策略按照層次關(guān)系構(gòu)建成精細(xì) 訪問控制的四元組,以實(shí)現(xiàn)運(yùn)行環(huán)境中對客體的訪問控制精確到客體 的一部分乃至最細(xì)粒度的控制;
根據(jù)請求客戶與角色以及角色與功能之間的聯(lián)系,且依據(jù)精細(xì)訪 問控制對受訪客體的訪問進(jìn)行授權(quán),其中,
精細(xì)訪問控制策略為預(yù)先定義好的運(yùn)行時動態(tài)策略函數(shù),且其包 含兩個方面內(nèi)容,一是描述業(yè)務(wù)邏輯要求的用戶在執(zhí)行操作時,有權(quán) 限訪問客體的一個集合,根據(jù)精細(xì)訪問控制策略的不同,訪問權(quán)限受 到約束,以訪問客體的子集、空集或全集,二是基于外部環(huán)境及上下 文信息的約束,在運(yùn)行時確定訪問客體的子集。
7.如權(quán)利要求6所述的訪問控制模型的方法,其特征在于:所 述角色是在特定組織中清晰定義職責(zé)和權(quán)利的工作職能,代表一種資 格、權(quán)利和責(zé)任,角色的集合為角色集。
8.如權(quán)利要求6所述的訪問控制模型的方法,其特征在于:所 述功能是對計算機(jī)系統(tǒng)中被保護(hù)數(shù)據(jù)或資源的訪問許可,功能的集合 為功能集,功能集為客體集與操作集的笛卡爾積的冪集。
9.如權(quán)利要求6所述的訪問控制模型的方法,其特征在于:操 作到功能的映射,得到指定功能的操作集合;功能到客體的映射,得 到指定功能的客體集合。
10.如權(quán)利要求6所述的訪問控制模型的方法,其特征在于:角 色到功能的映射,得到映射方法的集合;角色與功能之間為多對多的 關(guān)系,一個功能可以分派到一個或多個角色,一個角色也可以被分派 一個或多個功能。
技術(shù)領(lǐng)域\n本發(fā)明涉及一種用于聯(lián)網(wǎng)的計算機(jī)資源的安全授權(quán)的方法,并特 別涉及一種用于提供對系統(tǒng)資源的精細(xì)訪問控制的技術(shù)。\n背景技術(shù)\n訪問控制策略是在系統(tǒng)安全策略級上表示授權(quán)。利用策略對訪問 主體(用戶、進(jìn)程)進(jìn)行授權(quán)、認(rèn)證、角色分配,使得只有合法的訪 問主體才能享用訪問客體(資源所有者)提供的服務(wù)和資源。目前廣 為認(rèn)可的訪問控制策略有三種:自主訪問控制策略DAC,強(qiáng)制訪問 控制策略MAC和基于角色的訪問控制策略RBAC。這三種訪問控制 策略是在不同的時代、不同的環(huán)境需求下產(chǎn)生的,適用于不同的環(huán)境 中。此外,還有多級策略。多級策略給每個目標(biāo)分配一個密級,一般 安全屬性可分為四個級別:最高秘密級(Top-Secret)、秘密級(Secret)、 機(jī)密級(Confidence)以及無級別級(Unclassified)。由于安全發(fā)展的 需要,目前文件密級已由四級擴(kuò)展為0~255級。密級劃分的細(xì)化, 更便于執(zhí)行多級控制的安全機(jī)制,并能滿足國家和個人的保密需求。 密級形成一個層次,每個用戶被分配一個相應(yīng)的級,反映了該用戶的 最基礎(chǔ)的可信賴度,這種模型常用于政府機(jī)密部門。\n自主訪問控制模型(DAC?Model,Discretionary?Access?Control Model)是根據(jù)自主訪問控制策略建立的一種模型,基本思想是允許 合法用戶以用戶或用戶組的身份訪問策略規(guī)定的客體,同時阻止非授 權(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)境中。\n盡管DAC模型已在許多系統(tǒng)中得以實(shí)現(xiàn),然而該模型的一個致 命弱點(diǎn)是訪問權(quán)的授予是可以傳遞的。一旦訪問權(quán)被傳遞出去將難以 控制,訪問權(quán)的管理是相當(dāng)困難的,會帶來嚴(yán)重的安全問題。另一方 面DAC模型不保護(hù)受保護(hù)的客體產(chǎn)生的副本,即一個用戶不能訪問 某一客體,但能夠訪問它的拷貝,這更增加了管理的難度。而且在大 型系統(tǒng)中主、客體的數(shù)量巨大,無論使用哪一種形式的DAC,所帶 來的系統(tǒng)開銷都是難以支付的,效率相當(dāng)?shù)拖?,難以滿足大型應(yīng)用特 別是網(wǎng)絡(luò)應(yīng)用的需要。\n強(qiáng)制訪問控制模型(MAC?Model,Mandatory?Access?Control Model)是一種多級訪問控制策略,它的主要特點(diǎn)是系統(tǒng)對訪問主體 和受控對象實(shí)行強(qiáng)制訪問控制,系統(tǒng)事先給訪問主體和受控對象分配 不同的安全級別屬性,在實(shí)施訪問控制時,系統(tǒng)先對訪問主體和受控 對象的安全級別屬性進(jìn)行比較,再決定訪問主體能否訪問該受控對 象。MAC對訪問主體和受控對象標(biāo)識兩個安全標(biāo)記:一個是具有偏 序關(guān)系的安全等級標(biāo)記;另一個是非等級分類標(biāo)記。主體和客體在分 屬不同的安全類別時,都屬于一個固定的安全類別SC,SC就構(gòu)成一 個偏序關(guān)系。當(dāng)主體s的安全類別為TS,而客體o的安全類別為S 時,用偏序關(guān)系可以表述為SC(s)≥SC(o)。考慮到偏序關(guān)系,主體對 客體的訪問主要有四種方式:\n(1)向下讀(rd,read?down):主體安全級別高于客體信息資源 的安全級別時允許查閱的讀操作;\n(2)向上讀(ru,read?up):主體安全級別低于客體信息資源的 安全級別時允許的讀操作;\n(3)向下寫(wd,write?down):主體安全級別高于客體信息資 源的安全級別時允許執(zhí)行的動作或是寫操作;\n(4)向上寫(wu,write?up):主體安全級別低于客體信息資源 的安全級別時允許執(zhí)行的動作或是寫操作。\n由于MAC通過分級的安全標(biāo)簽實(shí)現(xiàn)了信息的單向流通,因此它 一直被軍方采用,其中最著名的是Bell-LaPadula模型和Biba模型: Bell-LaPadula模型具有只允許向下讀、向上寫的特點(diǎn),可以有效地防 止機(jī)密信息向下級泄露;Biba模型則具有不允許向下讀、向上寫的特 點(diǎn),可以有效地保護(hù)數(shù)據(jù)的完整性。MAC的本質(zhì)是基于格的非循環(huán) 單向信息流政策。\nRBAC96模型基于角色的訪問控制從控制主體的角度出發(fā),根據(jù) 管理中相對穩(wěn)定的職權(quán)和責(zé)任來劃分角色,將訪問權(quán)限與角色相聯(lián) 系,這點(diǎn)與傳統(tǒng)的MAC和DAC將權(quán)限直接授予用戶的方式不同; 其通過給用戶分配合適的角色,讓用戶與訪問權(quán)限相聯(lián)系。首先介紹 一下角色的概念,角色是指一個可以完成一定事務(wù)的命名組,不同的 角色通過不同的事務(wù)來執(zhí)行各自的功能。事務(wù)是指一個完成一定功能 的過程,可以是一個程序或程序的一部分。角色是代表具有某種能力 的人或是某些屬性的人的一類抽象,訪問控制中訪問主體和受控對象 之間通過角色關(guān)聯(lián)。\nRBAC96模型是包括四種概念參考模型及其框架的RBAC模型 家族。其中RBAC0是RBAC96的基本模型,RBAC0中定義了RBAC 模型的最少要素,是其它三個子模型的基礎(chǔ);RBAC1和RBAC2是 在RBAC0的基礎(chǔ)上分別增加了角色繼承和約束機(jī)制;RBAC3是 RBAC1和RBAC2的整合模型,根據(jù)傳遞關(guān)系,RBAC3包含了 RBAC0。在RBAC96的基礎(chǔ)上Ravi.Sandhu等人又先后提出了 ARBAC97管理模型、ARBAC99管理模型。RBAC0中定義了四種實(shí) 體:用戶、角色、權(quán)限和會話。在簡單系統(tǒng)中,用戶是指可以訪問系 統(tǒng)中數(shù)據(jù)或資源的主體;角色代表組織機(jī)構(gòu)中的崗位職能,是具有該 角色的成員的權(quán)限和職責(zé);權(quán)限是在系統(tǒng)中的執(zhí)行操作的某種能力; 當(dāng)用戶激活一組屬于他們的角色時,會話被建立,每個會話都包含一 個用戶和一個或多個角色,用戶可同時激活會話中的部分或全部角 色。RBAC0中定義了兩種角色分配關(guān)系:用戶分配UA和權(quán)限分配 PA。在進(jìn)行UA和PA分配時,可以是多對多的關(guān)系,即一個用戶可 以同時被授予多個權(quán)限,一個權(quán)限可以分配給多個角色,用戶可以同 時打開多個會話。在每個會話中用戶擁有不同的活動角色集合, RBAC0支持最小特權(quán)原則,意味著用戶可以只激活完成任務(wù)所必須 的角色。可以在需要時激活再激活分配給用戶的角色,這樣可以避免 用戶對權(quán)限的誤用和非法使用。RBAC0中定義可以自主決定是否激 活角色,即允許用戶在會話過程中動態(tài)激活或撤銷角色。RBAC1在 RBAC模型的基礎(chǔ)上增加了角色繼承,分為兩大類,限制型角色繼承 和非限制型角色繼承。限制型角色繼承強(qiáng)化了繼承的結(jié)構(gòu),通常是簡 單的正樹或者反樹結(jié)構(gòu)。RBAC2與RBAC0不同的是增加了約束機(jī) 制。RBAC2是在RBAC0模型的基礎(chǔ)上增加一個約束集合,這些約 束決定了RBAC0中各種組件是否可以接受,只有對可以接受的值的 操作才可以執(zhí)行。約束是RBAC中被討論最多的部分,也可認(rèn)為是 RBAC被推動的重要原因。典型的例子是,一個組織中采購經(jīng)理和出 納是互斥的角色,通常,這兩個角色不允許分配給同一個用戶,因?yàn)?這很可能會產(chǎn)生欺詐犯罪。在高級的組織中約束是一種強(qiáng)有力的機(jī) 制,能夠?qū)崿F(xiàn)責(zé)權(quán)分離原則。主要的約束機(jī)制包括互斥角色、基數(shù)約 束、先決約束、會話約束和等級約束?;コ饨巧涸诙x為互斥角色 的集合中,每個用戶至多可以指派為其中的一個角色,這樣支持了責(zé) 權(quán)分離原則。同樣地,也可以定義互斥權(quán)限,在互斥權(quán)限集合中,每 一個角色至多可以擁有一個權(quán)限?;鶖?shù)約束:基數(shù)約束是定義在用戶 角色分配和權(quán)限角色分配關(guān)系上的約束。用戶角色分配基數(shù)約束是指 一個用戶擁有的角色數(shù)量是受限的,而權(quán)限角色分配基數(shù)約束是指角 色擁有權(quán)限的數(shù)量是受限的。先決約束:該機(jī)制規(guī)定了用戶在進(jìn)行某 種操作時必須擁有的角色。舉例來說,只有當(dāng)用戶具是項(xiàng)目組成員角 色時,才能給該用戶分配程序員角色。RBAC3是RBAC1和RBAC2 的合并模型,合并模型中同時包含角色層次和約束機(jī)制。約束同樣可 以應(yīng)用在角色層次自身,角色層次是偏序關(guān)系,這是模型內(nèi)在的約束。 而且約束可以限制給定角色的角色數(shù)目,或者限制某些角色不能擁有 子角色。這些約束類型在對于那些授權(quán)給改變已經(jīng)被分配的角色層次 的情況下非常有用。在層次與約束之間會產(chǎn)生細(xì)微的相互作用。在互 斥條件下,可以通過約束定義私有角色來解決互斥。\n直到2004年2月RBAC被美國國家標(biāo)準(zhǔn)委員會(ANSI)和IT 國際標(biāo)準(zhǔn)委員會(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)系和動態(tài)職責(zé)分離關(guān)系。NIST核心 模型中將權(quán)限細(xì)化為客體集合和操作集合,其余與RBAC0基本相同。 層次型RBAC與RBAC1類似,在核心RBAC之上增加了角色分層, 并分為普通分層和受限分層。普通分層支持角色多重繼承,受限分層 僅支持角色單重繼承。約束RBAC增加了職責(zé)分離,包括靜態(tài)職責(zé) 分離(SSD)和動態(tài)職責(zé)分離(DSD)。SSD限制用戶不能同時指派 相互沖突的角色,DSD僅限制一個用戶不能同時在一個會話中激活 相互沖突的角色。NIST?RBAC模型也分為四層。分別是核心RBAC, 層次型RBAC,靜態(tài)職責(zé)分離關(guān)系和動態(tài)職責(zé)分離關(guān)系。NIST?RBAC 模型的四種模型包含了RBAC96模型的四個模型,并分別引入新的 機(jī)制。NIST核心模型中將權(quán)限細(xì)化為客體集合和操作集合,其余與 RBAC0基本相同。層次型RBAC與RBAC1類似,在核心RBAC之 上增加了角色分層,并分為普通分層和受限分層。普通分層支持角色 多重繼承,受限分層僅支持角色單重繼承。約束RBAC增加了職責(zé) 分離,包括靜態(tài)職責(zé)分離(SSD)和動態(tài)職責(zé)分離(DSD)。SSD限制 用戶不能同時指派相互沖突的角色,DSD僅限制一個用戶不能同時 在一個會話中激活相互沖突的角色。NIST建議模型沒有提供管理模 型,但給出了管理函數(shù),分管理命令、系統(tǒng)支持函數(shù)和查詢函數(shù)。 RBAC中引進(jìn)了角色的概念,用角色表示訪問主體具有的職權(quán)和責(zé) 任,靈活地表達(dá)和實(shí)現(xiàn)了企業(yè)的安全策略,使系統(tǒng)權(quán)限管理在企業(yè)的 組織視圖這個較高的抽象集上進(jìn)行,從而簡化了權(quán)限設(shè)置的管理,從 這個角度看,RBAC很好地解決了企業(yè)管理信息系統(tǒng)中用戶數(shù)量多、 變動頻繁的問題。\n經(jīng)典RBAC模型可以解決粗粒度的授權(quán)需求。即以角色(Role)、 操作(Option)和客體(Object)組成的三元組為最細(xì)粒度權(quán)限,可以控制 到某個角色對某種客體的某種操作。然而RBAC模型的基本出發(fā)點(diǎn) 是以主體為中心來考慮整個安全系統(tǒng)的訪問控制,所以只針對有關(guān)主 體的安全特性進(jìn)行了深入研究,而沒有有關(guān)訪問控制中的客體和訪問 約束條件的安全特性等內(nèi)容,這樣就忽略了訪問控制過程中對客體和 訪問事務(wù)的安全特性的控制,從而可能造成整個安全系統(tǒng)的安全策略 不平衡,降低了模型對現(xiàn)實(shí)世界的表達(dá)力和可用性。對于大型的企業(yè) 級應(yīng)用來說,其系統(tǒng)邏輯復(fù)雜,分支機(jī)構(gòu)眾多,同時信息數(shù)據(jù)的大量 集中存儲和處理,在這種情況下,對訪問控制提出了更高的要求。在 經(jīng)典的RBAC模型中,對客體的定義通常為數(shù)據(jù)表,對于集中存儲 的數(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)和部門,而這個機(jī)構(gòu)的高權(quán)限的用戶 則不需要限制部門,只要限制所在機(jī)構(gòu),對于更高級的用戶可能不應(yīng) 該加任何限制,而允許其查詢?nèi)牭臄?shù)據(jù)。經(jīng)典RBAC模型如果要 解決這個問題,就需要對客體按維度進(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ì)訪問控制策略的訪問控制模型。\n發(fā)明內(nèi)容\n針對現(xiàn)有模型對數(shù)據(jù)客體訪問時的粗粒度問題,本發(fā)明提供了一 種帶有精細(xì)訪問控制策略的基于角色的訪問控制模型的方法,解決了 標(biāo)準(zhǔn)的基于角色的訪問控制模型中訪問控制粒度粗,只能精確到某角 色對某客體進(jìn)行了某種操作這一原子粒度,使訪問控制的粒度可以做 更精確的劃分。\n本發(fā)明提供了一種帶有精細(xì)訪問控制策略的基于角色的訪問控 制模型的方法,包括:將客體與操作聯(lián)系起來并組成功能的二元組, 以描述對客體進(jìn)行操作的許可;將角色與功能通過映射聯(lián)系起來并組 成功能權(quán)限的二元組,以描述角色擁有對客體執(zhí)行操作的權(quán)限;將功 能權(quán)限與精細(xì)訪問控制策略通過映射聯(lián)系起來并組成精細(xì)訪問控制 的二元組,以實(shí)現(xiàn)運(yùn)行環(huán)境中對客體的訪問控制精確到客體的一部分 乃至最細(xì)粒度的控制;根據(jù)請求客戶與角色以及角色與功能之間的聯(lián) 系,且依據(jù)精細(xì)訪問控制對受訪客體的訪問進(jìn)行授權(quán)。\n其中,精細(xì)訪問控制策略為預(yù)先定義好的運(yùn)行時動態(tài)策略函數(shù), 且其包含兩個方面內(nèi)容,一是描述業(yè)務(wù)邏輯要求的用戶在執(zhí)行操作 時,有權(quán)限訪問客體的一個集合,根據(jù)精細(xì)訪問控制策略的不同,訪 問權(quán)限受到約束,以訪問客體的子集、空集或全集,二是基于外部環(huán) 境及上下文信息的約束,在運(yùn)行時確定訪問客體的子集;并且所述功 能權(quán)限到精細(xì)訪問控制策略的映射為單射關(guān)系,對于任意功能權(quán)限都 有唯一的精細(xì)訪問控制策略與之相對應(yīng)。\n此外,所述精細(xì)訪問控制還可看作是客體、操作、角色和精細(xì)訪 問控制策略按照層次關(guān)系構(gòu)建的四元組。\n角色是在特定組織中清晰定義職責(zé)和權(quán)利的工作職能,代表一種 資格、權(quán)利和責(zé)任,角色的集合為角色集。功能是對計算機(jī)系統(tǒng)中被 保護(hù)數(shù)據(jù)或資源的訪問許可,功能的集合為功能集,功能集為客體集 與操作集的笛卡爾積的冪集。操作到功能的映射得到指定功能的操作 集合;功能到客體的映射,得到指定功能的客體集合;角色到功能的 映射,得到映射方法的集合。角色與功能之間為多對多的關(guān)系,一個 功能可以分派到一個或多個角色,一個角色也可以被分派一個或多個 功能。\n與標(biāo)準(zhǔn)RBAC模型技術(shù)相比,本發(fā)明的有益效果是:\n1.加入了精細(xì)訪問控制策略這一元素,用來限制標(biāo)準(zhǔn)RBAC模 型中由角色、客體、操作這個三元素構(gòu)成的功能權(quán)限,達(dá)到對功能權(quán) 限進(jìn)行細(xì)化的目的。\n2.在角色層次結(jié)構(gòu)的RBAC模型中,包括限制型角色繼承和非 限制型角色繼承,角色的偏序關(guān)系帶動了權(quán)限范圍的變化,某角色繼 承了其它角色即可得到其它角色的功能,然而精細(xì)訪問控制策略元素 與角色、客體、操作這個三元組構(gòu)成了單射的關(guān)系,即對于任意功能, 有唯一的精細(xì)訪問控制策略與之對應(yīng),所以精細(xì)訪問控制策略不隨角 色的繼承而傳遞。\n3.在限制型RBAC模型中,對角色作了靜態(tài)職責(zé)分離和動態(tài)職 責(zé)分離的限制,使某用戶不能同時擁有幾個受約束的角色。對于精細(xì) 訪問控制策略來說,與用戶元素沒有直接映射關(guān)系,而是與角色、客 體、操作這個三元組建立了單射的關(guān)系,所以也不受靜態(tài)職責(zé)分離和 動態(tài)職責(zé)分離限制的約束。\n附圖說明\n圖1是帶有精細(xì)訪問控制策略的基于角色的訪問控制模型圖;\n圖2是可以實(shí)施本發(fā)明的信息系統(tǒng)中的典型結(jié)構(gòu)示意圖。\n具體實(shí)施方式\n現(xiàn)結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。實(shí)施例1參考 圖1,如圖1所示:\n1.用戶集104:用戶就是一個可以獨(dú)立訪問被保護(hù)數(shù)據(jù)或資源的 主體,它可以是人或程序,此處簡化為人,用USERS表示一個用戶 集合,用u表示用戶集合USERS中的一個用戶,即:\n\n2.角色集103:角色是在特定組織中清晰定義職責(zé)和權(quán)利的工作 職能,它代表一種資格、權(quán)利和責(zé)任,用ROLES表示一個角色集合, 用r表示角色集ROLES中的一個角色,即:\n\n3.角色分配108是角色到用戶的多對多映射:是USERS和 ROLES之間的一個二元關(guān)系,即用 表示一個用戶角 色委派集合,用(u,r)∈UA表示用戶u被委派了一個角色r,用戶 和角色之間是多對多的關(guān)系。一個用戶可以分派到多個角色,一個角 色也可以被分派給多個用戶。\n給角色指派用戶方法定義為:\n???????assigned_user:(r:ROLES)→2users\n該方法得到指定角色的user集合,即:\n???????assigned_user(r)={u∈USERS|(u,r)∈UA}\n4.功能112:功能是對計算機(jī)系統(tǒng)中被保護(hù)數(shù)據(jù)或資源的訪問許 可。用PERMISSIONS表示一個功能集合,用p表示PERMISSIONS 中的某個功能,即 \n功能集為客體集與操作集的笛卡兒積的冪集:\n?????????????????PRMS=2(OPSxOBS)\nRBAC模型是“策略中立”的模型,它沒有對權(quán)限作具體的定義, 因此權(quán)限的本質(zhì)是開放的,可以依據(jù)不同的應(yīng)用和安全策略進(jìn)行定 義,通??梢詫?quán)限看作是一個二元組(Obj,Opt),其中Obj是客體或 客體標(biāo)識符,也就是被保護(hù)的系統(tǒng)數(shù)據(jù)或資源,而Opt是Obj的非空 訪問模式集。\n5.操作到功能的映射方法:\n\n該方法得到指定功能的操作集合。\n功能到客體的映射方法:\n\n該方法得到指定功能的客體集合。\n6.功能分配110:表示角色到功能的映射,角色權(quán)限分配關(guān)系定 義為ROLES與PERMISSIONS之間的二元組,即用下式表示一個角 色權(quán)限委派集合。\n\n一個角色r擁有一個功能p,表示為:\n???????????????????????(t,p)∈PA\n7.角色和功能之間是多對多的關(guān)系。一個功能可以分派到一個或 多個角色,一個角色也可以賦予一個或多個功能。\n定義返回與功能相關(guān)聯(lián)的操作的函數(shù):\n\n定義返回與功能相關(guān)聯(lián)的客體的函數(shù):\n\n??????????assigned_permissions(r:ROLES)→2PRMS\n該方法得到角色映射功能的集合,即為:\n????????assigned_permissions(r)={p∈PRMS|(p,r)∈PA}\n8.會話集105是用戶調(diào)用的一組會話集合,用戶與會話是一對多 的關(guān)系,每個用戶都需要調(diào)用一套會話,定義函數(shù)將用戶u映射到一 套會話中:\n???????????????user_sessions(u:USERS)→2SESSIONS\n該方法得到指定用戶的會話集合。\n定義函數(shù)將會話s映射到一套角色中:\n???????????????session_roles(s:SESSIONS)→2ROLES\n該方法得到指定會話的角色集合,即:\n\n用戶在指定會話中可用角色定義方法:\n????avail_session_persm(s:SESSIONS)→2roles\n該方法得到用戶的被激活會話。\n用戶在一個會話里所擁有的權(quán)限定義為:\n????avail_session_persm(s:SESSIONS)→2PRMS\n用戶在全部會話中擁有的權(quán)限定義為:\n\n9.角色繼承109關(guān)系表示為:\n\nRH是ROLES上的偏序關(guān)系,描述了授權(quán)與職責(zé)的組織結(jié)構(gòu)關(guān) 系,定義了角色之間的繼承關(guān)系,包括普通型和限制型兩類。\n在普通型角色繼承關(guān)系中,角色r1繼承r2定義為:\n???????????????r1 φr2\n則r1的用戶屬于r2的用戶且r2的權(quán)限屬于r1的權(quán)限。\n\n\n授權(quán)的用戶定義為:\n????authorized_users(r)={u∈USERS|r′φr(u,r′)∈UA}\n授權(quán)的功能定義為:\n??????????authorized_permissions(r:ROLES)→2PRMS\nauthorized_permissions(r)={p∈PRMS?|r′φr,(p,r′)∈PA}\n限制型角色繼承關(guān)系中,角色r1繼承r2滿足式3-24。\n\n指定角色的用戶定義為:\nauthorized_users(r)={u∈USERS|r′φr(u,r′)∈UA}\n該方法得到指定角色的用戶。\n角色與權(quán)限映射關(guān)系定義為:\n????authorized_permissions(r:ROLES)→2PRMS\n該方法得到指定角色的權(quán)限集合,即\nauthorized_permissions(r)={p∈PRMS|r′φr,(p,r′)∈PA\n10.靜態(tài)職責(zé)約束:SSD表示靜態(tài)職責(zé)分配集合107,定義為:\n\n一個用戶不允許被分配SSD中定義沖突的角色\n\n11.動態(tài)職責(zé)約束:DSD表示動態(tài)職責(zé)分配集合106,定義為:\n\n\n\n\n\nDSD中允許一個用戶被分配相互沖突的角色,但不允許在一次 會話集中激活。\n12.功能權(quán)限111:功能權(quán)限描述某角色執(zhí)行某功能這個語義,是 角色與功能的二元關(guān)系的集合,功能權(quán)限集合的元素為角色與功能的 二元組,既:\n???????????????(r,p)∈RIGHTS\n13.精細(xì)訪問控制策略108:精細(xì)訪問策略定義為與角色、客體、 操作這個三元組相關(guān)聯(lián)的元素。這個元素描述了對客體的精細(xì)訪問策 略以及上下文環(huán)境的訪問控制限制,這個元素和權(quán)限的映射實(shí)現(xiàn)了對 訪問控制的精細(xì)級別處理,即構(gòu)建了精細(xì)權(quán)限。用FG_POLICIES表 示一個精細(xì)訪問策略集合,用f表示精細(xì)訪問策略集FG_POLICIES中 的一個策略元素:\n\n14.精細(xì)訪問控制策略分配113表示精細(xì)訪問策略到權(quán)限的映 射,即精細(xì)權(quán)限:精細(xì)訪問策略與權(quán)限的關(guān)系定義:\n??????????????FG_POLICIES→RIGHTS\n即由集合FG_POLICIES到集合RIGHTS映射。根據(jù)定義,對于 任意的權(quán)限r(nóng),都有唯一的精細(xì)訪問控制策略f與之對應(yīng),即函數(shù)FA 滿足單射。\n實(shí)施例2如圖2所示:用戶通常為系統(tǒng)使用人員,客體通常為數(shù) 據(jù)庫表,但不限于此,用戶可以是一個程序,客體也可以是數(shù)據(jù)文件、 XML文件以及任何計算機(jī)資源,操作也不限于所列操作,可根據(jù)實(shí) 際應(yīng)用系統(tǒng)需要任意擴(kuò)充。\n例如在管理信息系統(tǒng)中,功能項(xiàng)按照粗粒度的劃分,分為四大類: 系統(tǒng)管理類、碼表管理類、數(shù)據(jù)處理類和報表查詢類。通常對應(yīng)四大 類的角色,即系統(tǒng)管理相關(guān)角色,碼表管理相關(guān)角色,數(shù)據(jù)處理相關(guān) 角色和報表查詢相關(guān)角色。\n系統(tǒng)管理用于對使用本系統(tǒng)的用戶新增、變更、復(fù)核、查詢、以 及系統(tǒng)日志監(jiān)控、用戶鎖定及解鎖等。系統(tǒng)管理類權(quán)限涉及到的角色 包括系統(tǒng)管理員相關(guān)的角色,操作包括增加、刪除、修改、查詢,客 體包括用戶表、角色表、操作表、客體表、系統(tǒng)表等。\n碼表管理的功能主要包括對各種碼表的維護(hù)和查詢。涉及到的角 色包括碼表管理員相關(guān)的角色,操作包括增加、刪除、修改、查詢、 審核等,客體包括各類碼表,如產(chǎn)品號表、貨幣表等。\n數(shù)據(jù)處理功能用于對業(yè)務(wù)數(shù)據(jù)的新增、變更、審核、查詢以及對 業(yè)務(wù)數(shù)據(jù)的各種加工。數(shù)據(jù)處理類的功能涉及到的角色包括各類數(shù)據(jù) 處理相關(guān)角色,操作包括增加、刪除、修改、查詢、審核、加工等, 客體包括各數(shù)據(jù)表或數(shù)據(jù)文件等。\n報表查詢功能是將加工后的數(shù)據(jù)項(xiàng)展現(xiàn)成報表。報表查詢類功能 涉及的角色和操作較少,主要集中在決策者和領(lǐng)導(dǎo)層的查詢操作,客 體包括各類報表。\n對于上述的細(xì)粒度訪問控制要求,采用FG_RBAC模型的精細(xì)訪 問策略來實(shí)現(xiàn),即對于功能性的訪問控制仍然精確到客體,建立角色 與功能的對應(yīng)關(guān)系,而對于客體的細(xì)粒度訪問控制,則通過預(yù)先設(shè)置 精細(xì)訪問策略函數(shù),在授權(quán)時將預(yù)設(shè)置的策略函數(shù)加入到精細(xì)權(quán)限集 合里,以角色、客體、操作、精細(xì)策略這個四元組來完成訪問控制, 即可滿足需求。\n但由于精細(xì)權(quán)限是多個集合的笛卡爾積,其元素相對眾多,難于 維護(hù),所以對角色維度采用默認(rèn)方式處理,即先確定一個三元組,如 客體、操作、精細(xì)策略,或者角色、客體、精細(xì)訪問策略等等,對于 剩下的一個維度,如角色維度或操作維度默認(rèn)為使用同樣已有三元組 中的精細(xì)訪問策略,如果需要變化,則針對具體權(quán)限再做策略的調(diào)整, 這樣大大降低了維護(hù)的成本。\n對于系統(tǒng)管理的功能,客體只有所屬子系統(tǒng)這一個維度。如果訪 問主體的角色是角色集230中的超級管理員232,對客體集210中的 客體元素角色表211執(zhí)行增加222操作,則對應(yīng)精細(xì)訪問策略集240 中的精細(xì)訪問策略元素不做任何限制242,如果訪問主體的角色是子 系統(tǒng)管理員231,則精細(xì)訪問策略函數(shù)241返回限制項(xiàng),要求客體的 系統(tǒng)屬性要和訪問主體所屬的系統(tǒng)一致。\n對于碼表管理的功能,如果客體某一碼表212也只有所屬子系統(tǒng) 這一個維度,建立精細(xì)訪問策略元素241與碼表管理員修改某一碼表 254這個功能權(quán)限元素相關(guān)聯(lián),返回一個約束,要求客體的系統(tǒng)屬性 要和訪問主體所屬的系統(tǒng)一致。\n對于數(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。\n對于報表查詢的功能,其客體是經(jīng)過加工處理的報表214,數(shù)據(jù) 量雖然不大,但是維度更加豐富,建立精細(xì)訪問策略元素與該功能關(guān) 聯(lián),根據(jù)預(yù)先設(shè)定的業(yè)務(wù)規(guī)則,對不同主體的查詢221操作返回不同 限制條件。例如,分行報表用戶237角色的主體查詢221某一報表 214,精細(xì)訪問策略限制報表的口徑為銀行口徑且是報表的數(shù)據(jù)為訪 問主體所在機(jī)構(gòu)及下屬機(jī)構(gòu)的數(shù)據(jù)245;如是總行報表用戶238角色 的主體做查詢221某一報表214的操作,則不作任何限制242。\n精細(xì)訪問策略元素通常為一策略函數(shù),輸入可以為用戶、角色、 操作、客體等元素以及上下文環(huán)境等參數(shù),輸出為訪問約束,限制某 功能的某一次執(zhí)行的影響范圍。\n以上所述實(shí)施方式僅為本發(fā)明的兩個實(shí)施例,而不限于上述實(shí)施例, 對于本領(lǐng)域一般技術(shù)人員而言,在不背離本發(fā)明原理的前提下對它所 做的任何顯而易見的改動,都屬于本發(fā)明的構(gòu)思和所附權(quán)利要求的保 護(hù)范圍。
法律信息
- 2021-04-09
專利權(quán)的轉(zhuǎn)移
登記生效日: 2021.03.26
專利權(quán)人由石杰變更為杭銀消費(fèi)金融股份有限公司
地址由100071 北京市豐臺區(qū)海鷹路1號變更為310000 浙江省杭州市下城區(qū)慶春路38號1層101室、8層801、802、803、804室、11層1101、1102室
- 2009-02-04
- 2007-05-02
實(shí)質(zhì)審查的生效
實(shí)質(zhì)審查的生效
- 2006-12-27
引用專利(該專利引用了哪些專利)
序號 | 公開(公告)號 | 公開(公告)日 | 申請日 | 專利名稱 | 申請人 |
1
| |
2006-05-24
|
2005-12-06
| | |
2
| | 暫無 |
1997-11-20
| | |
被引用專利(該專利被哪些專利引用)
序號 | 公開(公告)號 | 公開(公告)日 | 申請日 | 專利名稱 | 申請人 | 該專利沒有被任何外部專利所引用! |