基於角色的訪問控制模型
㈠ 什麼事訪問控制訪問控制包括哪幾個要素
訪問控制是幾乎所有系統(包括計算機系統和非計算機系統)都需要用到的一種技術。訪問控制是按用戶身份及其所歸屬的某項定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能的使用的一種技術。
訪問控制包括伺服器、目錄、文件等。訪問控制是給出一套方法,將系統中的所有功能標識出來,組織起來,託管起來,將所有的數據組織起來標識出來託管起來, 然後提供一個簡單的唯一的介面,這個介面的一端是應用系統一端是許可權引擎。

(1)基於角色的訪問控制模型擴展閱讀
實現機制:訪問控制的實現機制建立訪問控制模型和實現訪問控制都是抽象和復雜的行為,實現訪問的控制不僅要保證授權用戶使用的許可權與其所擁有的許可權對應,制止非授權用戶的非授權行為;還要保證敏感信息的交叉感染。
為了便於討論這一問題,我們以文件的訪問控制為例對訪問控制的實現做具體說明。通常用戶訪問信息資源(文件或是資料庫),可能的行為有讀、寫和管理。為方便起見,我們用Read或是R表示讀操作,Write或是W表示寫操作,Own或是O表示管理操作。
㈡ 系統中的角色管理是什麼,有什麼作用
系統中用戶的操作許可權是通過角色來控制,角色可以理解為具備一定操作許可權的用戶組。
系統預定義了兩類角色:系統角色和業務角色。
一是系統角色的許可權用於控制客戶管理、系統設置、工作中心模塊的許可權,系統預置了超級管理員、總經理、部門經理、員工、出納等角色,其中超級管理員許可權不可修改,其餘幾個角色許可權可修改;可根據公司實際需求新增、修改和刪除系統角色;
二是業務角色的許可權用於控制賬套內的各模塊使用權。業務角色系統預置了賬套管理員、記賬員、查看者、報稅員等角色,各角色操作許可權都可修改。
可根據公司實際需求新增、修改和刪除業務角色。利用日事清可以方便地實施角色管理,給用戶設置操作許可權時,需在創建用戶後,指定用戶對應的系統角色,再在賬套派工時,指定用戶的業務角色。這樣,用戶就會分配到一定的系統角色和業務角色,並自動繼承賦予角色的操作許可權。

(2)基於角色的訪問控制模型擴展閱讀:
用戶基於角色的許可權控制的好處:
用戶基於角色的許可權訪問控制模型叫RBAC(Role-BasedAccess
Control),在RBAC中,許可權與角色相關聯,用戶通過成為適當角色的成員而得到這些角色的許可權,極大地簡化了許可權的管理。
在一個組織中,角色是為了完成各種工作而創造,用戶則依據它的責任和資格來被指派相應的角色,用戶可以很容易地從一個角色被指派到另一個角色。角色可依新的需求和系統的合並而賦予新的許可權,而許可權也可根據需要而從某角色中回收。
㈢ 如何在應用系統中實現數據許可權的控制功能
基於RBAC模型的許可權管理系統的設計和實現 0 引言 管理信息系統是一個復雜的人機交互系統,其中每個具體環節都可能受到安全威脅。構建強健的許可權管理系統,保證管理信息系統的安全性是十分重要的。許可權管理系統是管理信息系統中可代碼重用性最高的模塊之一。任何多用戶的系統都不可避免的涉及到相同的許可權需求,都需要解決實體鑒別、數據保密性、數據完整性、防抵賴和訪問控制等安全服務(據ISO7498-2)。例如,訪問控制服務要求系統根據操作者已經設定的操作許可權,控制操作者可以訪問哪些資源,以及確定對資源如何進行操作。 目前,許可權管理系統也是重復開發率最高的模塊之一。在企業中,不同的應用系統都擁有一套獨立的許可權管理系統。每套許可權管理系統只滿足自身系統的許可權管理需要,無論在數據存儲、許可權訪問和許可權控制機制等方面都可能不一樣,這種不一致性存在如下弊端: a.系統管理員需要維護多套許可權管理系統,重復勞動。 b.用戶管理、組織機構等數據重復維護,數據一致性、完整性得不到保證。 c.由於許可權管理系統的設計不同,概念解釋不同,採用的技術有差異,許可權管理系統之間的集成存在問題,實現單點登錄難度十分大,也給企業構建企業門戶帶來困難。 採用統一的安全管理設計思想,規范化設計和先進的技術架構體系,構建一個通用的、完善的、安全的、易於管理的、有良好的可移植性和擴展性的許可權管理系統,使得許可權管理系統真正成為許可權控制的核心,在維護系統安全方面發揮重要的作用,是十分必要的。 本文介紹一種基於角色的訪問控制RBAC(Role-Based policies Access Control)模型的許可權管理系統的設計和實現,系統採用基於J2EE架構技術實現。並以討論了應用系統如何進行許可權的訪問和控制。 1 採用J2EE架構設計 採用J2EE企業平台架構構建許可權管理系統。J2EE架構集成了先進的軟體體系架構思想,具有採用多層分布式應用模型、基於組件並能重用組件、統一完全模型和靈活的事務處理控制等特點。 系統邏輯上分為四層:客戶層、Web層、業務層和資源層。 a. 客戶層主要負責人機交互。可以使系統管理員通過Web瀏覽器訪問,也可以提供不同業務系統的API、Web Service調用。 b. Web層封裝了用來提供通過Web訪問本系統的客戶端的表示層邏輯的服務。 c. 業務層提供業務服務,包括業務數據和業務邏輯,集中了系統業務處理。主要的業務管理模塊包括組織機構管理、用戶管理、資源管理、許可權管理和訪問控制幾個部分。 d. 資源層主要負責數據的存儲、組織和管理等。資源層提供了兩種實現方式:大型關系型資料庫(如ORACLE)和LDAP(Light Directory Access Protocol,輕量級目錄訪問協議)目錄伺服器(如微軟的活動目錄)。 2 RBAC模型 訪問控制是針對越權使用資源的防禦措施。基本目標是為了限制訪問主體(用戶、進程、服務等)對訪問客體(文件、系統等)的訪問許可權,從而使計算機系統在合法范圍內使用;決定用戶能做什麼,也決定代表一定用戶利益的程序能做什麼[1]。 企業環境中的訪問控制策略一般有三種:自主型訪問控制方法、強制型訪問控制方法和基於角色的訪問控制方法(RBAC)。其中,自主式太弱,強制式太強,二者工作量大,不便於管理[1]。基於角色的訪問控制方法是目前公認的解決大型企業的統一資源訪問控制的有效方法。其顯著的兩大特徵是:1.減小授權管理的復雜性,降低管理開銷;2.靈活地支持企業的安全策略,並對企業的變化有很大的伸縮性。 NIST(The National Institute of Standards and Technology,美國國家標准與技術研究院)標准RBAC模型由4個部件模型組成,這4個部件模型分別是基本模型RBAC0(Core RBAC)、角色分級模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和統一模型RBAC3(Combines RBAC)[1]。 a. RBAC0定義了能構成一個RBAC控制系統的最小的元素集合。在RBAC之中,包含用戶users(USERS)、角色roles(ROLES)、目標objects(OBS)、操作operations(OPS)、許可權permissions(PRMS)五個基本數據元素,許可權被賦予角色,而不是用戶,當一個角色被指定給一個用戶時,此用戶就擁有了該角色所包含的許可權。會話sessions是用戶與激活的角色集合之間的映射。RBAC0與傳統訪問控制的差別在於增加一層間接性帶來了靈活性,RBAC1、RBAC2、RBAC3都是先後在RBAC0上的擴展。 b. RBAC1引入角色間的繼承關系,角色間的繼承關系可分為一般繼承關系和受限繼承關系。一般繼承關系僅要求角色繼承關系是一個絕對偏序關系,允許角色間的多繼承。而受限繼承關系則進一步要求角色繼承關系是一個樹結構。 c. RBAC2模型中添加了責任分離關系。RBAC2的約束規定了許可權被賦予角色時,或角色被賦予用戶時,以及當用戶在某一時刻激活一個角色時所應遵循的強制性規則。責任分離包括靜態責任分離和動態責任分離。約束與用戶-角色-許可權關系一起決定了RBAC2模型中用戶的訪問許可。 d. RBAC3包含了RBAC1和RBAC2,既提供了角色間的繼承關系,又提供了責任分離關系。 3核心對象模型設計 根據RBAC模型的許可權設計思想,建立許可權管理系統的核心對象模型。 對象模型中包含的基本元素主要有:用戶(Users)、用戶組(Group)、角色(Role)、目標(Objects)、訪問模式(Access Mode)、操作(Operator)。主要的關系有:分配角色許可權PA(Permission Assignment)、分配用戶角色UA(Users Assignmen描述如下: a .控制對象:是系統所要保護的資源(Resource),可以被訪問的對象。資源的定義需要注意以下兩個問題: 1.資源具有層次關系和包含關系。例如,網頁是資源,網頁上的按鈕、文本框等對象也是資源,是網頁節點的子節點,如可以訪問按鈕,則必須能夠訪問頁面。 2.這里提及的資源概念是指資源的類別(Resource Class),不是某個特定資源的實例(Resource Instance)。資源的類別和資源的實例的區分,以及資源的粒度的細分,有利於確定許可權管理系統和應用系統之間的管理邊界,許可權管理系統需要對於資源的類別進行許可權管理,而應用系統需要對特定資源的實例進行許可權管理。兩者的區分主要是基於以下兩點考慮: 一方面,資源實例的許可權常具有資源的相關性。即根據資源實例和訪問資源的主體之間的關聯關系,才可能進行資源的實例許可權判斷。 例如,在管理信息系統中,需要按照營業區域劃分不同部門的客戶,A區和B區都具有修改客戶資料這一受控的資源,這里「客戶檔案資料」是屬於資源的類別的范疇。如果規定A區只能修改A區管理的客戶資料,就必須要區分出資料的歸屬,這里的資源是屬於資源實例的范疇。客戶檔案(資源)本身應該有其使用者的信息(客戶資料可能就含有營業區域這一屬性),才能區分特定資源的實例操作,可以修改屬於自己管轄的信息內容。 另一方面,資源的實例許可權常具有相當大的業務邏輯相關性。對不同的業務邏輯,常常意味著完全不同的許可權判定原則和策略。 b.許可權:對受保護的資源操作的訪問許可(Access Permission),是綁定在特定的資源實例上的。對應地,訪問策略(Access Strategy)和資源類別相關,不同的資源類別可能採用不同的訪問模式(Access Mode)。例如,頁面具有能打開、不能打開的訪問模式,按鈕具有可用、不可用的訪問模式,文本編輯框具有可編輯、不可編輯的訪問模式。同一資源的訪問策略可能存在排斥和包含關系。例如,某個數據集的可修改訪問模式就包含了可查詢訪問模式。 c.用戶:是許可權的擁有者或主體。用戶和許可權實現分離,通過授權管理進行綁定。 d.用戶組:一組用戶的集合。在業務邏輯的判斷中,可以實現基於個人身份或組的身份進行判斷。系統弱化了用戶組的概念,主要實現用戶(個人的身份)的方式。 e.角色:許可權分配的單位與載體。角色通過繼承關系支持分級的許可權實現。例如,科長角色同時具有科長角色、科內不同業務人員角色。 f.操作:完成資源的類別和訪問策略之間的綁定。 g.分配角色許可權PA:實現操作和角色之間的關聯關系映射。 h.分配用戶角色UA:實現用戶和角色之間的關聯關系映射。 該對象模型最終將訪問控制模型轉化為訪問矩陣形式。訪問矩陣中的行對應於用戶,列對應於操作,每個矩陣元素規定了相應的角色,對應於相應的目標被准予的訪問許可、實施行為。按訪問矩陣中的行看,是訪問能力表CL(Access Capabilities)的內容;按訪問矩陣中的列看,是訪問控製表ACL(Access Control Lists)的內容。 4 許可權訪問機制 許可權管理系統端:提供集中管理許可權的服務,負責提供用戶的鑒別、用戶信息、組織結構信息,以及許可權關系表的計算。 系統根據用戶,角色、操作、訪問策略和控制對象之間的關聯關系,同時考慮許可權的正負向授予,計算出用戶的最小許可權。在業務邏輯層採用Session Bean實現此服務,也可以發布成Web Service。採用代理Proxy模式,集中控制來自應用系統的所要訪問的許可權計算服務,並返回許可權關系表,即二元組{ObjectId,OperatorId}。 應用系統端:可以通過訪問能力表CL和訪問控製表ACL兩種可選的訪問方式訪問許可權管理系統。 以基於J2EE框架的應用系統為例,說明訪問過程: a.首先採用基於表單的驗證,利用Servlet方式集中處理登錄請求[2]。考慮到需要鑒別的實體是用戶,採用基於ACL訪問方式。用戶登錄時調用許可權管理系統的用戶鑒別服務,如果驗證成功,調用許可權計算服務,並返回許可權關系表,以HashMap的方式存放到登錄用戶的全局Session中;如果沒有全局的Session或者過期,則被導向到登錄頁面,重新獲取許可權。 b.直接URL資源採用基於CL訪問方式進行的訪問控制。如果用戶直接輸入URL地址訪問頁面,有兩種方法控制訪問:1.通過許可權標簽讀取CL進行控制;2.採取Filter模式,進行許可權控制,如果沒有許可權,則重定向到登錄頁面。 5 許可權控制機制 許可權所要控制的資源類別是根據應用系統的需要而定義的,具有的語義和控制規則也是應用系統提供的,對於許可權管理系統來說是透明的,許可權將不同應用系統的資源和操作統一對待。應用系統調用許可權管理系統所獲得的許可權關系表,也是需要應用系統來解釋的。按此設計,許可權管理系統的通用性較強,許可權的控制機制則由應用系統負責處理。 由於應用系統的許可權控制與特定的技術環境有關,以基於J2EE架構的應用系統為例來說明,系統主要的展示組件是JSP頁面,採用標記庫和許可權控制組件共同來實現。 a. 許可權標識:利用標簽來標識不同級別資源,頁面許可權標簽將標識頁面對象。 b. 許可權注冊:遍歷JSP頁面上的許可權控制標簽,讀取JSP的控制許可權。通過許可權注冊組件將JSP頁面上的許可權控制對象以及規則注冊到許可權管理信息系統中。 c. 許可權控制:應用系統用戶登錄系統時,從許可權管理系統獲得許可權關系表之後,一方面,許可權標簽控制頁面展示;另一方面,利用許可權控制組件在業務邏輯中進行相應的許可權控制,尤其是和業務邏輯緊密聯系的控制對象實例的許可權控制。 6 許可權存儲機制 許可權管理系統採用了兩種可選的存儲機制:LDAP(Lightweight Directory Access Protocol)目錄服務資料庫和關系型資料庫。存儲用戶信息、組織結構、角色、操作、訪問模式等信息。 其中,目錄服務系統基於LDAP標准,具有廣泛的數據整合和共享能力。元目錄(Meta-Directory)功能允許快速、簡潔的與企業現存基礎結構進行集成,解決基於傳統RDBMS等用戶資料庫與LDAP用戶資料庫的同步問題。 7 結語 本文論述了一種基於RBAC模型的許可權管理系統的實現技術方案。該許可權管理系統已成功應用於系統的設計和開發實踐,與應用系統具有很好的集成。實踐表明,採用基於RBAC模型的許可權具有以下優勢:許可權分配直觀、容易理解,便於使用;擴展性好,支持崗位、許可權多變的需求;分級許可權適合分層的組織結構形式;重用性強。
㈣ 用戶許可權設計
基於角色的訪問控制模型就是把「用戶—角色—操作—資源」關聯到一起,實現非自主型訪問控制策略。使用基於角色的訪問控制模型可以減輕安全管理工作,因為某種任務是穩定的,而負責該項任務的人員是經常變化的,這種方式只需把新的用戶分配給已有的角色即可,無需為用戶重新指定資源和操作,因而簡化了授權管理工作。
為了保障本系統操作使用的信息安全,系統登錄認證體系由三個要素組成:用戶、角色、許可權,三者相輔相成,共同組成系統的安全運行屏障。
1.用戶信息
用戶信息表統一管理,在用戶信息表中存儲用戶名稱、登錄名、口令、各子系統許可權、用戶角色信息等。
用戶信息表的添加、刪除以及子系統許可權修改由總系統授權的管理員執行,本系統中,用戶信息表的操作在業務處理與信息服務子系統的系統管理菜單下的用戶信息管理頁面。用戶口令可以自行改變,用戶許可權的變更需要提請管理員同意,並由管理員修改。
子系統啟動時讀取用戶信息表驗證用戶許可權,在系統運行時依據許可權分配相應的功能。依據用戶在子系統中的許可權級別控制用戶可操作的功能,實現最終用戶對ORACLE資料庫中數據的讀取和添加操作許可權控制(表8-2)。
表8-2 用戶信息結構表
2.角色信息
角色可以根據需要任意多地添加,多個角色許可權組合生成多個許可權控制,對應到一個確定的用戶,賦予用戶對功能模塊的控制許可權。用戶角色表包括角色名稱、用戶唯一值編碼等信息。示例見表8-3。
表8-3 用戶角色表(示例)
在資料庫中為各個功能模塊建立了功能名稱表,每個功能模塊均有記錄,有功能編碼和功能名稱及其他附屬信息。功能名稱示例見表8-4。
表8-4 功能名稱表(示例)
每個用戶必須屬於至少一個角色,每個角色具備多個功能的控制許可權,功能許可權通過角色傳遞給用戶,從而實現用戶對功能的操作許可權控制。
3.許可權信息
許可權表明了用戶可執行的操作。系統許可權控制採用最大優先,用戶可以擁有多個角色,每個角色對每一頁面都可擁有許可權,但在許可權結果判斷時只以最大許可權為主,即管理員級許可權大於並包含訪問者許可權。功能許可權示例如表8-5所示。
表8-5 功能許可權表(示例)
系統規劃的子系統許可權等級見表8-6。
表8-6 子系統許可權等級規劃表(部分)
續表
4.用戶認證授權
通過以上四個表將用戶、角色與許可權組合起來,可以形成無窮多的用戶許可權組合,直接控制用戶許可權到每個細分功能。
用戶、角色、許可權、功能控制流程如圖8-1所示:
圖8-1 用戶許可權控制流程圖
功能許可權表僅在部署角色許可權時使用,標示功能具備的可部署許可權。
在角色中必須保證有一個管理角色擁有用戶管理功能的管理許可權,防止不能分配角色與許可權,同樣在用戶中必須保證至少有一個用戶是管理角色。
㈤ 用友中用戶、許可權和角色三者之間的關系
1、用戶
應用系統的具體操作者,用戶可以自己擁有許可權信息,可以歸屬於0~n個角色,可屬於0~n個組。他的許可權集是自身具有的許可權、所屬的各角色具有的許可權、所屬的各組具有的許可權的合集。它與許可權、角色、組之間的關系都是n對n的關系。
2、許可權
系統的所有許可權信息具有上下級關系,是一個樹狀的結構。對於每個許可權,又存在兩種情況,一個是只是可訪問,另一種是可授權,例如對於「查看用戶」這個許可權,如果用戶只被授予「可訪問」,那麼他就不能將他所具有的這個許可權分配給其他人。
3、角色
為了對許多擁有相似許可權的用戶進行分類管理,定義了角色的概念,例如系統管理員、管理員、用戶等角色。角色具有上下級關系,可以形成樹狀視圖,父級角色的許可權是自身及它的所有子角色的許可權的綜合。父級角色的用戶、父級角色的組同理可推。

(5)基於角色的訪問控制模型擴展閱讀
用戶基於角色的許可權控制的好處:
用戶基於角色的許可權訪問控制模型叫RBAC(Role-Based Access
Control),在RBAC中,許可權與角色相關聯,用戶通過成為適當角色的成員而得到這些角色的許可權,極大地簡化了許可權的管理。
在一個組織中,角色是為了完成各種工作而創造,用戶則依據它的責任和資格來被指派相應的角色,用戶可以很容易地從一個角色被指派到另一個角色。角色可依新的需求和系統的合並而賦予新的許可權,而許可權也可根據需要而從某角色中回收。
㈥ 基於角色訪問控制有哪些特點,現實應用舉例
RBAC的基本思想是:授權給用戶的訪問許可權,通常由用戶在一個組織中擔當的角色來確定。RBAC中許可被授權給角色,角色被授權給用戶,用戶不直接與許可關聯。RBAC對訪問許可權的授權由管理員統一管理,RBAC根據用戶在組織內所處的角色作出訪問授權與控制,授權規定是強加給用戶的,用戶不能自主地將訪問許可權傳給他人,這是一種非自主型集中式訪問控制方式。例如,在醫院里,醫生這個角色可以開處方,但他無權將開處方的權力傳給護士。
角色訪問控制(RBAC)引入了Role的概念,目的是為了隔離User(即動作主體,Subject)與Privilege(許可權,表示對Resource的一個操作,即Operation+Resource)。 Role作為一個用戶(User)與許可權(Privilege)的代理層,解耦了許可權和用戶的關系,所有的授權應該給予Role而不是直接給User或Group.Privilege是許可權顆粒,由Operation和Resource組成,表示對Resource的一個Operation.例如,對於新聞的刪除操作。Role-Privilege是many-to-many的關系,這就是許可權的核心。
基於角色的訪問控制方法(RBAC)的顯著的兩大特徵是:1.由於角色/許可權之間的變化比角色/用戶關系之間的變化相對要慢得多,減小了授權管理的復雜性,降低管理開銷。2.靈活地支持企業的安全策略,並對企業的變化有很大的伸縮性。
RBAC的關注點在於Role和User, Permission的關系。稱為User assignment(UA)和Permission assignment(PA)。關系的左右兩邊都是Many-to-Many關系。就是user可以有多個role,role可以包括多個user
在RBAC系統中,User實際上是在扮演角色(Role),可以用Actor來取代User,這個想法來自於Business Modeling With UML一書Actor-Role模式
例子:低級用戶只有向高級用戶寫入文件的權利,但是沒有從高級用戶那裡獲取文件的權利(一般的軍事系統都是這樣的),這樣就保證了信息的流向性,即從低級到高級,從而保證了信息的安全性。
㈦ 訪問控制技術的主要類型有哪三種
訪問控制技術主要有3種類型:自主訪問控制、強制訪問控制和基於角色訪問控制。自主訪問控制:用戶通過授權或者回收給其他用戶訪問特定資源的許可權,主要是針對其訪問權進行控制。
強制訪問控制:由系統己經部署的訪問控制策略,按照系統的規定用戶需要服從系統訪問控制策略,比如系統管理員制定訪問策略,其他用戶只能按照規定進行進程、文件和設備等訪問控制。

(7)基於角色的訪問控制模型擴展閱讀
訪問控制的主要功能包括:保證合法用戶訪問受權保護的網路資源,防止非法的主體進入受保護的網路資源,或防止合法用戶對受保護的網路資源進行非授權的訪問。
訪問控制首先需要對用戶身份的合法性進行驗證,同時利用控制策略進行選用和管理工作。當用戶身份和訪問許可權驗證之後,還需要對越權操作進行監控。因此,訪問控制的內容包括認證、控制策略實現和安全審計。
㈧ 畢業論文題目為"操作系統安全"大家認為應該往那個方向入手比較好最好幫忙列個題綱!!
摘要:本文介紹了BLP、DTE和RBAC三種安全策略訪問模型,並結合這三種安全策略模型,形成一個適應各類安全產品的實用操作系統。此設計方案遵循GB17859-1999[1]中規定的結構化保護級(相當於《TCSEC》標準的B2級[2])的安全要求進行設計,並在Linux操作系統上得以實現。
關鍵字:安全技術;安全模型;Linux操作系統
中圖分類號:TP309 文獻標識碼:② 文章編號:
1. 引言
隨著社會信息化的發展,計算機安全問題日益嚴重,建立安全防範體系的需求越來越強烈。操作系統是整個計算機信息系統的核心,操作系統安全是整個安全防範體系的基礎,同時也是信息安全的重要內容。
本課題將通過研究操作系統的安全策略訪問模型,結合國內、外的相關安全標准和已有的先進技術,將密碼服務與高級別存取控制機制有機地結合起來,探索適合國情的安全操作系統結構,最終形成一個適應各類安全產品系統安全需求的結構化保護級(相當於TCSEC中規定的B2級)實用操作系統。並且通過推動安全操作系統的應用,取得良好的經濟效益和社會效益。
2. 安全模型
該類模型是從安全策略和訪問控制的角度描述安全系統,主要針對系統中主體對客體的訪問及其安全控制。[3]
2.1 多級安全及自主訪問策略模型
多級安全及自主訪問策略模型的每個主體在替代用戶之前,必須被配置最大安全級及標簽范圍;除某些可信客體外,每一個客體都要配置標簽范圍。
Bell&Lapala(BLP)模型[4,5]是最典型的信息保密性多級安全模型,包括強制訪問控制和自主訪問控制兩部分。強制訪問控制中的安全特性,要求對給定安全級別的主體,僅被允許對同一安全級別和較低安全級別上的客體進行「讀」,對給定安全級別上的主體,僅被允許向相同安全級別或較高安全級別上的客體進行「寫」,任意訪問控制允許用戶自行定義是否讓個人或組織存取數據。
2.2 多域安全策略模型
多域策略的基本思想是:賦予保護對象一種抽象的數據類型,該類型表明了保護對象要保護的完整性屬性,然後規定只有經授權的主動進程能替代用戶訪問這一完整性屬性,並限制該主動進程的活動范圍,使其獲得它應該完成目標以外的能力極小化。
DTE (Domain and Type Enforcement)模型[6]是近年來被較多的作為實現信息完整性保護的模型。該模型定義了多個域(Domain)和型(Type),並將系統中的主體分配到不同的域中,不同的客體分配到不同的型中,通過定義不同的域對不同的型的訪問許可權,以及主體在不同的域中進行轉換的規則來達到保護信息完整性的目的。
2.3 基於角色的訪問控制模型
基於角色的訪問控制模型的目的就是通過域隔離,確保對系統的完整性破壞的極小化。
RBAC模型[6]是基於角色的訪問控制模型。該模型主要用於管理特權,在基於權能的訪問控制中實現職責隔離及極小特權原理。其基本要素之間的關系如圖1所示:
圖1 RBAC基本要素關系
Fig.1 the relationship of basic elements in RBAC
在本系統中,將實現基於角色的授權和控制,支持角色互斥,不支持角色的繼承,不支持同一個用戶的多個角色。
3. 安全系統的設計
3.1 安全模型的設計
本系統中的安全伺服器將遵循改進的BLP模型、DTE模型以及RBAC模型來實現系統的安全策略。其中,BLP模型保護信息的機密性;DTE模型保護信息的完整性;RBAC模型是授權模型。通過三種模型的相互作用和制約,保證系統中的信息以及系統自身的安全性。圖2為本系統中三種模型以及重要功能的相互關系。
圖2 模型間的相互關系
Fig.2 the relationship of models
如圖2所示,授權策略RBAC是整個系統的基礎,它通過為用戶設置特定角色,影響IA控制、特權控制、多域訪問控制和強制訪問控制等基本功能,達到控制系統中用戶/主體對客體/對象的訪問目的。在本系統中,每個用戶都有且只有一個角色。為某個用戶給定一個角色,相當於給定該用戶的最大特權集、安全標記范圍、DTE域范圍和最小審計掩碼。該用戶的上述屬性只能夠在給定角色的范圍內指定。RBAC是通過最小特權、強制訪問控制(包括MAC機密性保護和DTE完整性保護)和安全審計等功能組合實現的。
而多域策略DTE和多級安全策略BLP則是在授權策略授權的基礎上,調用多域訪問控制和強制訪問控制功能,實現對客體/對象信息的完整性和機密性保護。
本系統在BLP模型的基礎上進行了一些改動:
1. 對BLP模型「上寫下讀」的信息流規則進行了限制,將其中的「上寫」改為:低安全等級的主體可以創建高安全等級的客體或向高安全等級的客體中添加信息,但是不能修改或刪除高安全等級客體中的原有信息。例如,低安全等級的主體可以在高安全等級目錄下(在通過了DAC和DTE檢查的情況下)創建新的文件(包括子目錄、命名管道等),但是不能刪除原有的文件(包括子目錄、命名管道等),也不能改寫高安全等級文件的內容;
2. 引入可信主體的概念,即:所謂可信主體,就是擁有多個安全級或一個安全級范圍的主體;
3. 引入可信客體的概念,即:所謂可信客體,就是擁有多個安全級或一個安全級范圍的客體。
本系統中DTE實現採用為主體/客體指定域/型標識(統稱為DTE標識)的方法,DTE策略將通過為主體賦「域」(Domain),為客體賦「型」(Type),並定義「域」和「型」之間的訪問許可權實現DTE完整性保護,並採用DTEL(DTE Language)語言進行描述,通過命令設置到系統核心。
核心中將為每個主體維護一個「域」標記,為每個文件維護一個「型」標記。當操作發生時,系統將根據主體「域」標記、文件「型」標記以及訪問控製表判斷是否允許操作發生。
原則上,構造一個安全系統必須同時兼顧用戶應用系統、O/S服務系統、Linux 內核、硬體這四個子系統,使它們都獲得有效的保護;但本系統主要關心用戶應用系統和Linux 內核系統,因為它們與Linux 系統安全聯系最直接。構築安全Linux 系統的最終目標就是支持各種安全應用,如果系統在構造之初就沒有區別地對待不同的應用,或者說不採取隔離的方式對待不同的應用,那麼這樣的系統是不實用的,因為不同的應用對系統安全可能造成的威脅是不同的。對用戶應用系統的控制,我們主要採用角色模型與DTE技術的結合;而對Linux 內核的控制,則通過權能訪問控制、增強的BLP模型及DTE策略來實現。
3.2 安全系統的結構設計
圖3 Linux 結構化保護級安全伺服器系統結構圖
Fig.3 the structure chart of Linux structure protection security server
圖3說明了本系統的體系結構。如圖3,用戶請求的系統操作進入核心後,首先經過安全策略執行點,調用相應的安全策略執行模塊,安全策略執行模塊讀取相關的系統安全信息和主/客體安全屬性,並調用安全策略判定模塊進行安全判定,決定是否允許用戶請求的操作繼續執行;當用戶請求的系統操作得到允許並執行結束後,再次通過安全策略執行點,進行相關安全信息/屬性的設置和安全審計。
安全伺服器中的功能模塊與原有的系統操作是相對獨立的,雙方通過hook函數進行聯系。通過改變hook函數的指向,可以啟用不同的安全伺服器。不同的安全伺服器可以選擇不同的安全策略,從而達到支持多安全策略的目的。
3.3 安全系統的功能特性
安全系統在原有Linux操作系統基礎上,新增了的強制訪問控制、最小特權管理、可信路徑、隱通道分析和加密卡支持等功能組成,系統的主要功能如下:
1. 標識與鑒別
標識與鑒別功能用於保證只有合法的用戶才能存取系統資源。本系統的標識與鑒別部分包括角色管理、用戶管理和用戶身份鑒別等三個部分:
角色管理是實現RBAC模型的重要部分,將角色配置文件存放在/etc/security/role文件中,角色管理就是對角色配置文件的維護。
用戶管理就是對用戶屬性文件的維護,是在系統原有用戶管理的基礎上修改和擴充而來;本系統改變了原有系統集中存放用戶屬性的方式,在/etc/security/ia目錄下為每個用戶創建一個屬性文件。
用戶身份鑒別過程就是控制用戶與系統建立會話的過程;本系統將修改原有系統的pam模塊和建立會話的程序,增加對管理員用戶的強身份鑒別(使用加密卡),增加為用戶設置初始安全屬性(特權集、安全標記、域、審計掩碼)的功能。
2. 自主訪問控制(DAC)
用於進行按用戶意願的存取控制。使用DAC,用戶可以說明其資源允許系統中哪個(些)用戶使用何種許可權進行共享。
本系統在自主訪問控制中加入ACL機制。利用ACL,用戶能夠有選擇地授予其他用戶某些存取許可權,來對信息進行保護,防止信息被非法提取。
3. 強制訪問控制(MAC)
提供基於數據保密性的資源存取控制方法。MAC是多級安全及自主訪問策略的具體應用,通過限制一個用戶只能在低級別上讀訪問信息、只能在自身的級別上寫訪問信息,來加強對資源的控制能力,從而提供了比DAC更嚴格的訪問約束。
4. 安全審計
審計是模擬社會監督機制而引入到計算機系統中,用於監視並記錄系統活動的一種機制。審計機制的主要目標是檢測和判定對系統的滲透,識別操作並記錄進程安全級活動的情況。
本系統中的審計事件分為可信事件與系統調用。系統對每個用戶審計的內容不同,需要設置系統的審計事件掩碼和用戶的審計事件掩碼。在形成審計記錄時,核心將根據審計掩碼進行選擇。
5. 客體重用
客體重用是指TSF必須確保受保護資源內的任何信息,在資源被重用時不會被泄露。
客體重用功能可以防止重要的客體介質在重新分配給其他主體的時候產生信息泄漏。在本系統中,出於系統效率和可靠性的考慮,只實現對核心重要數據結構剩餘信息的自動清除和文件內容的人工清除。
6. 最小特權管理
根據《TESCE》B2級中提出的最小特權原理,系統中的每個進程只應具有完成其任務和功能所需要的最小特權。因此,在本系統中開發了一種靈活的特權管理機制,把超級用戶的特權劃分成一組細粒度特權的集合,通過對系統中用戶和進程特權的賦值、繼承和傳遞的控制,將其中的部分特權賦給系統中的某個用戶,從而使系統中的普通用戶也能具有部分特權來操作和管理系統。
7. 可信路徑
可信路徑要求為用戶提供與系統交互的可信通道。可信路徑的實現方法是通過核心對安全注意鍵的監控,並退出當前終端下的所有應用程序,啟動新的可信登陸程序。
根據《TESEC》B2級對可信通路的要求,在本系統中開發了可信通路機制,以防止特洛伊木馬等欺詐行為的發生。用戶無論在系統的什麼狀態下,只要激活一個安全注意鍵(一般設置為Ctrl-Alt-A),就可以進入一個安全的登錄界面。另外,本系統還採用了管理員用戶的強身份認證和建立加密通道等技術,也可以保證用戶與系統間交互的安全性。
8. 隱蔽通道分析
我國《計算機信息系統安全保護等級劃分准則》[1]要求第四級及以上級別安全信息系統產品必須分析與處理隱蔽通道。本系統掩蔽通道分析將基於源代碼,採用下列方法進行:
分析所有操作,列出操作及其涉及的共享資源(客體屬性)
列出操作與共享資源的關系圖
找出所有可能的存儲隱蔽通道
分析、標識每個存儲隱蔽通道,並給出帶寬
9. 加密卡支持
本系統基於國產密碼硬體資源,實現的密碼服務主要包括三個方面:
文件存儲加解密:在命令層為用戶提供一套SHELL命令,實現文件的機密性、完整性保護,同時提供一套介面庫函數,供用戶編程使用。
特權用戶強身份認證:結合RBAC、DTE策略,對特權(角色)用戶實施強身份認證。
數據傳輸加解密:在核心提供一套函數介面,用於實現數據的機密性和完整性。
4. 結論
本方案通過對Linux核心結構和操作系統域外層安全體系的層次結構的研究,遵循國內、外的相關安全標准,將三種安全策略模型和已有的先進技術有機地結合起來,增加了強制訪問控制、最小特權、可信路徑等安全功能,成功的在Linux操作系統上得已實現,基本達到了GB17859-1999中規定的結構化保護級(相當於《TCSEC》標準的B2級)的要求。
操作系統安全增強技術作為信息安全的關鍵部分,得到了國內、外的普遍重視。在安全領域,系統的安全性總是相對的。因此,對安全模型的研究和建模以及信息安全系統體系和方案設計的研究還有待進一步的深入。本設計方案已經在Linux操作系統上得到具體的實現,還有待於在實際應用中對安全操作系統進一步的考驗和完善。
參考文獻
[1] GB17859-1999, 計算機信息系統安全保護等級劃分准則[S].
[2] DoD 5200. 28-STD, Department of Defense Trusted Computer System Evaluation Criteria[S]. Department of Defense, Washington,DC, 1985.
[3] 石文昌, 孫玉芳. 計算機安全標准演化與安全產品發展[J]. 廣西科學, 2001, 8 (3): 168-171.
[4] BELL D E, LaPADULA L J. Secure computer system: mathematical foundation and model[R]. Bedford MA: Mitre Corp, 1973. M74-244.
[5] 石文昌, 孫玉芳, 梁洪亮. 經典BLP安全公理的一種適應性標記實施方法及其正確性[J]. 計算機研究與發展, 2001,11 (38): 1366~1371
[6] 季慶光,唐柳英.《結構化保護級》安全操作系統安全策略模型[R]. 北京:中科院信息安全技術工程研究中心,中軟網路技術股份有限公司,2002.
The Research and Design of Security Model
LI Fang, HU Zhi-xing
(Information Engineering Institute, University of Science and Technology Beijing, Beijing 100083, China)
Abstract: After study of BLP model, DTE model and RBAC model, and combination of the three security models, an implementation scheme of security system and its components and functions is provided, which achieves the structure protection of GB17859 (as the level B2 of TCSEC standard). The scheme is implemented on Linux operating system successfully.
Key words: security techniques; security model; Linux operating system
㈨ 簡述什麼是基於角色的訪問控制rbac
訪問是一種利用計算機資源去做某件事情的的能力,訪問控制是一種手段,通過它這種能力在某些情況下被允許或者受限制(通常是通過物理上和基於系統的控
制)。基於計算機的訪問控制不僅可規定是「誰」或某個操作有權使用特定系統資源,而且也能規定被允許的訪問類型。這些控制方式可在計算機系統或者外部設備
中實現。
就基於角色訪問控制而言,訪問決策是基於角色的,個體用戶是某個組織的一部分。用戶具有指派的角色(比如醫生、護士、出納、經理)。定義角色的過程應該基於對組織運轉的徹底分析,應該包括來自一個組織中更廣范圍用戶的輸入。
訪問權按角色名分組,資源的使用受限於授權給假定關聯角色的個體。例如,在一個醫院系統中,醫生角色可能包括進行診斷、開據處方、指示實驗室化驗等;而研究員的角色則被限制在收集用於研究的匿名臨床信息工作上。
控制訪問角色的運用可能是一種開發和加強企業特殊安全策略,進行安全管理過程流程化的有效手段。
㈩ 訪問控制的基本原理和常見模型
訪問控制的功能及原理:
訪問控制的主要功能包括:保證合法用戶訪問受權保護的網路資源,防止非法的主體進入受保護的網路資源,或防止合法用戶對受保護的網路資源進行非授權的訪問。訪問控制首先需要對用戶身份的合法性進行驗證,同時利用控制策略進行選用和管理工作。當用戶身份和訪問許可權驗證之後,還需要對越權操作進行監控。因此,訪問控制的內容包括認證、控制策略實現和安全審計。
1、認證。包括主體對客體的識別及客體對主體的檢驗確認;
2、控制策略。通過合理地設定控制規則集合,確保用戶對信息資源在授權范圍內的合法使用。既要確保授權用戶的合理使用,又要防止非法用戶侵權進入系統,使重要信息資源泄露。同時對合法用戶,也不能越權行使許可權以外的功能及訪問范圍;
3、安全審計。系統可以自動根據用戶的訪問許可權,對計算機網路環境下的有關活動或行為進行系統的、獨立的檢查驗證,並做出相應評價與審計。
訪問控制的模型:
主要的訪問控制類型有3種模型:自主訪問控制(DAC)、強制訪問控制(MAC)和基於角色訪問控制(RBAC)。
1、自主訪問控制
自主訪問控制(Discretionary Access Control,DAC)是一種接入控制服務,通過執行基於系統實體身份及其到系統資源的接入授權。包括在文件,文件夾和共享資源中設置許可。用戶有權對自身所創建的文件、數據表等訪問對象進行訪問,並可將其訪問權授予其他用戶或收回其訪問許可權。允許訪問對象的屬主制定針對該對象訪問的控制策略,通常,可通過訪問控制列表來限定針對客體可執行的操作。
2、強制訪問控制
強制訪問控制(MAC)是系統強制主體服從訪問控制策略。是由系統對用戶所創建的對象,按照規定的規則控制用戶許可權及操作對象的訪問。主要特徵是對所有主體及其所控制的進程、文件、段、設備等客體實施強制訪問控制。
3、基於角色的訪問控制
角色(Role)是一定數量的許可權的集合。指完成一項任務必須訪問的資源及相應操作許可權的集合。角色作為一個用戶與許可權的代理層,表示為許可權和用戶的關系,所有的授權應該給予角色而不是直接給用戶或用戶組。
