日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

RBAC模型(1)

 Lucia‘s doc 2012-05-03

 一、   前言

管理信息系統(tǒng)是一個復雜的人機交互系統(tǒng),其中每個具體環(huán)節(jié)都可能受到安全威脅。構(gòu)建強健的權(quán)限管理系統(tǒng),保證管理信息系統(tǒng)的安全性是十分重要的。權(quán)限管理系統(tǒng)是管理信息系統(tǒng)中可代碼重用性最高的模塊之一, 也是重復開發(fā)率最高的模塊之一。任何多用戶的系統(tǒng)都不可避免的涉及到相同的權(quán)限需求,都需要解決實體鑒別、數(shù)據(jù)保密性、數(shù)據(jù)完整性、防抵賴和訪問控制等安全服務(wù)(ISO7498-2)。例如,訪問控制服務(wù)要求系統(tǒng)根據(jù)管理員已經(jīng)設(shè)定的操作權(quán)限,控制操作者可以訪問哪些資源,以及確定對資源如何進行操作。

采用統(tǒng)一的安全管理設(shè)計思想,規(guī)范化設(shè)計和先進的技術(shù)架構(gòu)體系,構(gòu)建一個通用的、完善的、安全的、易于管理的、有良好的可移植性和擴展性的權(quán)限管理系統(tǒng),使得權(quán)限管理系統(tǒng)真正成為權(quán)限控制的核心,在維護系統(tǒng)安全方面發(fā)揮重要的作用,是十分必要的。

 

二、   訪問控制

訪問控制技術(shù)是一個安全信息系統(tǒng)不可或缺的安全措施,對保護數(shù)字資源的安全有著重要意義。訪問控制技術(shù)起源于20C70年代,當時是為了滿足管理大型主機系統(tǒng)上共享數(shù)據(jù)授權(quán)訪問的需要;隨著計算機技術(shù)和應用的發(fā)展,特別是網(wǎng)絡(luò)應用的發(fā)展,這一技術(shù)的思想和方法迅速應用于信息系統(tǒng)的各個領(lǐng)域。在30年的發(fā)展過程中,先后出現(xiàn)了多種重要的訪問控制技術(shù),它們的基本目標都是防止非法用戶進入系統(tǒng)和合法用戶對系統(tǒng)資源的非法使用。為了達到這個目標,訪問控制常以用戶身份認證為前提,在此基礎(chǔ)上實施各種訪問策略來控制和規(guī)范合法用戶在系統(tǒng)中的行為。

權(quán)限控制的中心是對訪問數(shù)據(jù)的控制。訪問控制(也稱存取控制)的目的是根據(jù)需要批準或禁止用戶訪問數(shù)字資源,確保用戶對數(shù)據(jù)只能進行經(jīng)過授權(quán)的有關(guān)操作;使每個用戶都能方便地訪問其在工作中所需要的數(shù)據(jù)(根據(jù)其責任和資格),同時屏蔽不允許他們訪問的數(shù)據(jù)。

在訪問控制機制中,一般把被訪問的資源稱為“客體”,把以用戶名義進行資源訪問的進程、事務(wù)等實體稱為“主體”。因此訪問控制的基本目標就是為了限制訪問主體(用戶、進程、服務(wù)等)對訪問客體(文件、系統(tǒng)等)的訪問權(quán)限,從而使計算機系統(tǒng)在合法范圍內(nèi)使用;決定用戶能做什么,也決定代表一定用戶權(quán)益的程序能做什么。

目前,訪問控制機制理論有四種:

·自主存取控制(Discretionary Access Control,DAC);

·強制存取控制(Mandatory Access Control,MAC);

·基于角色的存取控制(Role-based Access Control,RBAC);

·使用控制(Usage Control,UCON)。

其中前三者被廣泛使用。

 

1、          自主存取控制(DAC

自主存取控制隨分時系統(tǒng)的出現(xiàn)而產(chǎn)生,其基本思想是:系統(tǒng)中的主體可以自主的將其擁有的對客體的權(quán)限部分或者全部授予其它主體。其通常通過訪問控制列表(ACLAccess Control List)來實現(xiàn),包括基于行(主體)的DAC和基于列(客體)的DAC?;谛械?/SPAN>DAC在每個主體上都附加一個該主體可訪問的客體的明細表,而基于列的DAC則在每一個客體上都附加一個可以訪問該客體的主體的明細表。

DAC訪問控制完全基于訪問者和對象的身份。在DAC機制中,用戶對不同的數(shù)據(jù)對象有不同的存取權(quán)限,而且還可以將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶。

DAC實現(xiàn)簡單,在早期得到了廣泛的應用。但是由于其允許訪問權(quán)的傳遞,使得傳遞出去的訪問權(quán)難以管理;另外其無法保護受保護資源的副本;最后,其用于管理主客體數(shù)量巨大的系統(tǒng)將造成開銷巨大,效率低下的問題,難以滿足大型應用,特別是網(wǎng)絡(luò)應用的需要。

目前在我國的大多數(shù)的信息系統(tǒng)中的訪問控制模塊中基本是借助于自主存取控制機制的訪問控制列表(ACLs)

2、          強制存取控制(MAC

強制存取控制最初源于對信息機密性的要求以及防止特洛伊木馬之類的攻擊,其最開始應用于軍方系統(tǒng)中。其通過對主體和客體分配固定的安全屬性,利用安全屬性來決定主體是否可以對客體的進行訪問。安全屬性是固定的,任何用戶或者用戶進程都無法改變自身或者其它主/客體的安全屬性。另外,MAC通常和DAC結(jié)合使用,主體只有通過了MACDAC檢查后才能訪問客體,因而可以防止特洛伊木馬之類的程序竊取信息。

MAC的本質(zhì)是基于格的非循環(huán)單向信息流政策。對于不同類型的信息采取不同層次的安全策略,對不同類型的數(shù)據(jù)來進行訪問授權(quán)。在MAC機制中,存取權(quán)限不可以轉(zhuǎn)授,所有用戶必須遵守有管理員建立的安全規(guī)則,最基本的規(guī)則是“向下讀取,向上寫入”。MAC具有兩個關(guān)鍵規(guī)則:“不向上讀,不向下寫”,即信息只能由低安全級向高安全級流動,任何反向信息流動都是被禁止的。

雖然其通過增加訪問限制來增加了信息的機密性,但是也不可避免的降低了系統(tǒng)的靈活性,另外其不能實施完整性控制,這限制了它在網(wǎng)絡(luò)中的應用。再者,現(xiàn)代計算機中不可避免的存在大量的逆向潛信道,如:共享內(nèi)存,大量的Cache,這也影響了其的廣泛應用。

      MAC用于多層次安全級別的軍事應用。

3、          基于角色的存取控制(RBAC

RBAC在主體和權(quán)限之間增加了一個中間橋梁——角色。角色可以看作是一組操作的集合,不同的角色具有不同的操作集,這些操作由系統(tǒng)管理員分配給角色。用戶的授權(quán)是通過授予用戶一個角色來實現(xiàn)的,即賦予用戶一個角色,一個用戶可以承擔不同的角色,從而實現(xiàn)授權(quán)的靈活性。

權(quán)限被授予角色,而管理員通過指定用戶為特定角色來為用戶授權(quán);從而大大簡化授權(quán)管理,減少授權(quán)管理的復雜性,降低管理開銷,使權(quán)限管理系統(tǒng)具有強大的可操作性和可管理性。角色可以根據(jù)組織中的不同工作創(chuàng)建,然后根據(jù)用戶的責任和資格分配角色,用戶可以輕松地進行角色轉(zhuǎn)換。而且隨著新應用和新系統(tǒng)的增加,角色可以分配更多的權(quán)限,也可以根據(jù)需要撤銷相應的權(quán)限。從而靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有了很大的伸縮性。

RBAC屬于策略中立的訪問控制模型,既可以實現(xiàn)自主存取控制策略(DAC),又可以實現(xiàn)強制存取控制策略(MAC),可以有效緩解傳統(tǒng)安全管理處理瓶頸問題,被認為是一種普通適用的訪問控制模型,尤其適用于大型組織的統(tǒng)一資源有效的訪問控制機制。

4、          使用控制(UCON

       UCON目前還停留在理論階段。UCON對傳統(tǒng)的存取控制進行了擴展,定義了授權(quán)(Authorization)、職責(Obligation)和條件(Condition3個決定性因素,同時提出了存取控制的連續(xù)性(Continuity)和易變性(Mutability)兩個重要屬性。(Park. JSundhu. R,2002UCON優(yōu)化了傳統(tǒng)的訪問控制、可信管理,以及數(shù)字權(quán)力管理,從而用系統(tǒng)方式提供了一個保護數(shù)字資源的統(tǒng)一標準的框架,為下一代存取控制機制提供了新思路。

三、   RBAC(一):初步

RBACRole-based Access Control,縮寫RBAC),即基于角色的訪問控制,作為一種靈活和直觀的訪問控制技術(shù)在20世紀90年代(RBAC96)迅速發(fā)展起來。RBAC通過引入角色role)的新概念來實施訪問控制策略。不同的角色和它所應具有的權(quán)限許可(permission)互相聯(lián)系,用戶user)作為某些角色的成員,獲得角色所擁有的權(quán)限。角色可以根據(jù)實際的單位或組織的不同工作職能和權(quán)限來劃分(生成或取消),依據(jù)用戶所承擔的不同權(quán)利和義務(wù)來授權(quán)相應的角色。對于一個存在大量用戶和權(quán)限的權(quán)限分配系統(tǒng)來說,從用戶到角色的管理,簡化了權(quán)限分配的復雜性,提高了安全管理的效率和質(zhì)量。

 

(一)、RBAC參考模型

為了將人和權(quán)限解藕,RBAC模型引入Role概念,目的是為了隔離用戶(User,即動作主體)與權(quán)限(Privilege)。角色(Role)作為一個用戶與權(quán)限的代理層,解耦了權(quán)限和用戶的關(guān)系,所有的授權(quán)應該給予角色而不是直接給用戶或組(Group)。權(quán)限是權(quán)限顆粒,由操作(Operation)和資源(Resource)組成,表示對資源的一個操作,即“Operation + Resource”;例如,對于新聞的刪除操作。角色-權(quán)限(Role-Privilege)是多對多(Many-to-Many)的關(guān)系,這是權(quán)限的核心。整個RBAC參考模型就是圍繞Role來建立的。

RBAC參考模型(Reference Model)如圖1。

1RBAC模型

對該模型定義如下:

U,R,PS:用戶(USERS),角色(ROLES),權(quán)限(PRMS),會話(SESSIONS);

PA?P*R:權(quán)限分配,多對多的關(guān)系;

UA?U*R:用戶分配,多對多關(guān)系;

UsersS>U,每一個會話 s 對應單一用戶 user(s)的映射;

Roles:會話 s 到角色集合role(s) ?{r | (user(s), r) ε PA}

易見:該模型由三個實體組成,分別是:用戶(U)、角色(R)、權(quán)限(P)。其中用戶指自然人;角色就是組織內(nèi)部一件工作的功能或工作的頭銜,表示該角色成員所授予的職責的許可,系統(tǒng)中擁有權(quán)限的用戶可以執(zhí)行相應的操作。

RBAC的關(guān)注點在角色和用戶以及權(quán)限間的關(guān)系,稱為用戶委派(User assignmentUA)和權(quán)限委派(Permission assignment,PA)。關(guān)系的左右兩邊都是多對多(Many-to-Many)關(guān)系。可以說,UAPA就相當于中間表;事實上,整個RBAC都是基于關(guān)系模型。

用戶與角色之間以及角色與權(quán)限之間用雙雙箭頭相連表示用戶角色分配 UA 和角色權(quán)限分配 PA 關(guān)系都是多對多的關(guān)系,即一個用戶可以擁有多個角色,一個角色也可被多個用戶所擁有。同樣的,一個角色擁有多個權(quán)限,一個權(quán)限能被多個角色所擁有。用戶建立會話從而對資源進行存取,每個會話 S 將一個用戶與他所對應的角色集中的一部分建立映射關(guān)系,這個角色會話子集稱為會話激活的角色集。于是,在這次會話中,用戶可以執(zhí)行的操作就是該會話激活的角色集對應的權(quán)限所允許的操作。

 

(二)、RBAC參考模型部件

NISTThe National Institute of Standards and Technology,美國國家標準與技術(shù)研究院,2004)標準RBAC模型由4個部件模型組成,這4個部件模型分別是:

·基本模型RBAC0Core RBAC);

·角色分級模型RBAC1Hierarchical RBAC,含General,Limited);

·角色限制模型RBAC2Constraining RBAC,含Static/Dynamic Separation of Duty,即SSDDSD);

·統(tǒng)一模型RBAC3Combines RBAC)。

 

1、RBAC0

RBAC0Core RBAC)定義了能構(gòu)成一個RBAC控制系統(tǒng)的最小的元素集合。在RBAC0之中,包含最基本的5個元素:用戶集(users,USERS)、角色集(roles,ROLES)、目標/對象集(objectsOBS)、操作集(operations,OPS)、許可權(quán)/特權(quán)集(permissions,PRMS)。權(quán)限被賦予角色,而不是用戶,當一個角色被指定給一個用戶時,此用戶就擁有了該角色所包含的權(quán)限。會話集(sessionsSESSIONS)是用戶與激活的角色集合之間的映射。RBAC0與傳統(tǒng)訪問控制的差別在于增加一層間接性(角色)帶來了靈活性,RBAC1、RBAC2RBAC3都是先后在RBAC0上的擴展。

RBAC0模型如圖2所示:

 2RBAC0模型

用戶(User):代表人,也可以是一臺機器、agent、或者其他任何智能型物品。

角色(Role):表示一個工作職責,在一個組織機構(gòu)環(huán)境中的工作職責。該職責可以關(guān)聯(lián)一些關(guān)于權(quán)力和責任的語義。

權(quán)限(Permission):是一個許可,對在一個或多個對象上執(zhí)行操作的許可。如:“一個文檔”不是權(quán)限,“刪除”也不是權(quán)限,只有“對文檔的刪除”才是權(quán)限。由于RBAC標準定義的權(quán)限是正向授權(quán)(正權(quán)限),并沒有禁止負向授權(quán)(負權(quán)限),因此可以自定義負權(quán)限。正向授權(quán)在開始時假定主體沒有任何權(quán)限,然后根據(jù)需要授予權(quán)限,適合于權(quán)限要求嚴格的系統(tǒng)。負向授權(quán)在開始時假定主體有所有權(quán)限,然后將某些特殊權(quán)限收回。

操作(Operation):是程序的可執(zhí)行的反映(image),被用戶調(diào)用和執(zhí)行。操作的類型取決于實現(xiàn)系統(tǒng)的類型。

對象(Object):表示資源(Resource)或目標,任何訪問控制機制都是為了保護系統(tǒng)的資源。對象包括:文件、目錄,數(shù)據(jù)庫表、行、字段,磁盤空間,打印機,甚至CPU周期等。

會話(Session)在RBAC0中是比較隱晦的一個元素。RBAC標準定義:每個會話是一個映射,一個用戶到多個角色的映射。當一個用戶激活他所有角色的一個子集時,建立一個會話。每個會話和單個用戶關(guān)聯(lián),每個用戶可以關(guān)聯(lián)到一個或多個會話。當用戶執(zhí)行一段過程(Process)或一個動作(Action)時,將使用到相關(guān)的Role(所有Role的子集);這個過程就可以稱為一個會話。

 

2、RBAC1

RBAC1Hierarchical RBAC)引入角色間的繼承關(guān)系。

角色間的繼承關(guān)系可分為一般(General)繼承關(guān)系和受限(Limited)繼承關(guān)系。一般繼承關(guān)系僅要求角色繼承關(guān)系是一個絕對偏序關(guān)系,允許角色間的多繼承。而受限繼承關(guān)系則增加了職責關(guān)系的分離,進一步要求角色繼承關(guān)系是一個樹結(jié)構(gòu)。一般繼承的RBAC和受限繼承的RBAC兩者的區(qū)別在于:前者是圖;而后者可以有多個父節(jié)點但只能有一個子節(jié)點,是一個反向樹結(jié)構(gòu)。

RBAC1模型如圖3

3RBAC1模型

角色繼承用于解決復雜組織機構(gòu)之間的權(quán)限關(guān)系。它是一種“很自然地”對組織機構(gòu)層次中權(quán)限和責任的映射。如:總經(jīng)理→部門經(jīng)理→業(yè)務(wù)員。角色繼承的方向和用戶的關(guān)系方向相反,即權(quán)限最小的在頂端:業(yè)務(wù)員→部門經(jīng)理→總經(jīng)理。如:若所有role_salesman(業(yè)務(wù)員)的權(quán)限都是role_Mgr(經(jīng)理)的權(quán)限,那么role_Mgr繼承自role_salesman。

 

3、RBAC2

RBAC2Constraining RBAC)模型中添加了責任分離(Separation of Duty SoD)關(guān)系;這是RBAC最復雜的部分。RBAC2的約束規(guī)定了權(quán)限被賦予角色時,或角色被賦予用戶時,以及當用戶在某一時刻激活一個角色時所應遵循的強制性規(guī)則。責任分離包括靜態(tài)責任分離(Static Separation of Duty,SSD)和動態(tài)責任分離(Dynamic Separation of Duty,DSD)。約束(Constraining)與用戶-角色-權(quán)限關(guān)系一起決定了RBAC2模型中用戶的訪問許可。

4RBAC2模型

       RBAC標準定義:職責關(guān)系分離(SoD)用于增強利益沖突策略,這種策略某些組織機構(gòu)可能會需要,即避免用戶超出其當前職位合理的權(quán)限等級。簡單地說,就是避免兩個角色間的沖突。如:會計和出納,在一般公司都不允許同一個人兼任。因此在分配角色的時候,應該禁止這兩種角色賦給同一人。

靜態(tài)責任分離(SSD),即在系統(tǒng)初始化時,當角色授給用戶時來判斷是否將沖突的角色給了同一用戶。在RBAC標準中,沖突的角色被定義為一個二元關(guān)系,就是說,任何一個用戶只能擁有其中的一個。

       動態(tài)責任分離(DSD),指相沖突的角色可以同時給一個,但是在一次會話中不能同時扮演兩個沖突的角色。如:在超市POS系統(tǒng)中,ywf可以是收銀員或收銀員主管(ROLE)。收銀員必須經(jīng)過主管才能打開收銀機的抽屜修改某次結(jié)賬錯誤。如果收銀員角色的一個單獨的行為中需要從收銀員切換到主管,那么DSD要求,這個用戶(USER)必須先放棄收銀員角色;即,當該收銀員正在收銀時發(fā)現(xiàn)錯誤,必須要先關(guān)閉抽屜,然后再次以主管身份打開抽屜才行。

 

4、RBAC3

RBAC3包含了RBAC1RBAC2,既提供了角色間的繼承關(guān)系,又提供了責任分離關(guān)系。參圖4。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多