官术网_书友最值得收藏!

5.1 訪問控制模型有哪些

訪問控制模型是一種從訪問控制的角度出發,描述安全系統,建立安全模型的方法。

訪問控制是指主體依據某些控制策略或權限對客體本身或是其資源進行的不同授權訪問。訪問控制包括三個要素,即主體、客體和控制策略。

(1)主體(Subject):是可以對其他實體施加動作的主動實體,簡記為S。有時我們也稱為用戶(User)或訪問者(被授權使用計算機的人員),記為U。主體的含義是廣泛的,可以是用戶所在的組織(以后我們稱為用戶組)、用戶本身,也可是用戶使用的計算機終端、卡機、手持終端(無線)等,甚至可以是應用服務程序或進程。

(2)客體(Object):是接受其他實體訪問的被動實體,簡記為O。客體的概念也很廣泛,凡是可以被操作的信息、資源、對象都可以被認為是客體。在信息社會中,客體可以是信息、文件、記錄等的集合體,也可以是網路上的硬件設施、無線通信中的終端,甚至一個客體可以包含另外一個客體。

(3)控制策略: 是主體對客體的操作行為集和約束條件集,簡記為KS。簡單地講,控制策略是主體對客體的訪問規則集,這個規則集直接定義了主體對客體的作用行為和客體對主體的條件約束。訪問策略體現了一種授權行為,也就是客體對主體的權限允許,這種允許不超越規則集,由其給出。

訪問控制功能及原理如圖5-1所示。

圖5-1 訪問控制功能及原理

訪問控制系統三個要素之間的行為關系可以使用三元組(S, O, P)來表示,其中S表示主體,O表示客體,P表示許可。當主體S提出一系列正常的請求信息I1, …, In,通過信息系統的入口到達控制規則集KS監視的監控器,由KS判斷是否允許或拒絕這次請求,因此這種情況下,必須先要確認是合法的主體而不是假冒的欺騙者,也就是對主體進行認證。主體通過驗證,才能訪問客體,但并不保證其有權限可以對客體進行操作。客體對主體的具體約束由訪問控制表來控制實現,對主體的驗證一般會鑒別用戶的標識和用戶密碼。用戶標識(User Identification, UID)是一個用來鑒別用戶身份的字符串,每個用戶有且只能有唯一的用戶標識,以便與其他用戶區別。當一個用戶注冊進入系統時,他必須提供其用戶標識,然后系統執行一個可靠的審查來確信當前用戶是對應用戶標識的那個用戶。

多級安全信息系統:由于用戶的訪問涉及訪問的權限控制規則集合,對于將敏感信息與通常資源分開隔離的系統,我們稱為多級安全信息系統。多級安全信息系統必然要將信息資源按照安全屬性分級考慮,安全類別有兩種類型,一種是有層次的安全級別(Hierarchical Classification),分為TS、S、C、R、U五級:絕密級別(Top Secret),秘密級別(Secret),機密級別(Confidential),限制級別(Restricted)和無級別級(Unclassified);另一種是無層次的安全級別,不對主體和客體按照安全類別分類,只是給出客體接受訪問時可以使用的規則和管理者。圖5-2所示為多級信息系統設計流程。

圖5-2 多級安全信息系統設計流程

訪問控制的實現首先要考慮對合法用戶進行驗證,其次是對控制策略的選用與管理,最后要對沒有非法用戶或是越權操作進行管理。所以,訪問控制包括認證、控制策略實現和審計三方面的內容。

(1)認證:主體對客體的識別認證和客體對主體檢驗認證。主體和客體的認證關系是相互的,當一個主體受到另外一個客體的訪問時,這個主體也就變成了客體。一個實體可以在某一時刻是主體,而在另一時刻是客體,這取決于當前實體的功能是動作的執行者還是動作的被執行者。

(2)控制策略的具體實現:如何設定規則集合從而確保正常用戶對信息資源的合法使用,既要防止非法用戶,也要考慮敏感資源的泄露;對于合法用戶而言,更不能越權行使控制策略所賦予其權力以外的功能。

(3)審計:審計的重要意義在于,比如客體的管理者即管理員有操作賦予權,他有可能濫用這一權力,這是無法在策略中加以約束的。必須對這些行為進行記錄,從而達到威懾和保證訪問控制正常實現的目的。

訪問控制模型一般包括主體、客體,以及為識別和驗證這些實體的子系統和控制實體間訪問的參考監視器。由于網絡傳輸的需要,訪問控制的研究發展很快,有許多訪問控制模型被提出來。建立規范的訪問控制模型,是實現嚴格訪問控制策略所必需的。20世紀70年代,Harrison、Ruzzo和Ullman提出了HRU模型;接著,Jones等人在1976年提出了Take-Grant模型;隨后,1985年美國軍方提出可信計算機系統評估準則TCSEC,其中描述了兩種著名的訪問控制策略:自主訪問控制模型(DAC)和強制訪問控制模型(MAC)。基于角色的訪問控制(RBAC)是由Ferraiolo和Kuhn在1992年提出的。考慮到網絡安全和傳輸流,后來又提出了基于對象和任務的訪問控制。

本節在探討現有信息系統安全模型的基礎上,主要分析信息流模型、Bell-LaPadula(BLP)模型和Biba模型等訪問控制模型的優缺點,并針對信息安全的現實要求,對基于角色、對象、任務的模型做闡述。

5.1.1 自主訪問控制模型

自主訪問控制模型(Discretionary Access Control Model, DAC Model)是根據自主訪問控制策略建立的一種模型,允許合法用戶以用戶或用戶組的身份訪問策略規定的客體,同時阻止非授權用戶訪問客體,某些用戶還可以自主地把自己所擁有的客體的訪問權限授予其他用戶。自主訪問控制又稱為任意訪問控制。LINUX、UNIX、Windows NT或是SERVER版本的操作系統都提供自主訪問控制的功能。在實現上,首先要對用戶的身份進行鑒別,然后就可以按照訪問控制列表所賦予用戶的權限允許和限制用戶使用客體的資源。主體控制權限的修改通常由特權用戶或是特權用戶(管理員)組實現。自主訪問控制結構和流程如圖5-3所示。

圖5-3 自主訪問控制結構和流程

自主訪問控制對用戶提供的這種靈活的數據訪問方式,使得DAC廣泛應用在商業和工業環境中。由于用戶可以任意傳遞權限,那么,沒有訪問文件File1權限的用戶A就能夠從有訪問權限的用戶B那里得到訪問權限或是直接獲得文件File1。因此,DAC模型提供的安全防護還是相對比較低的,不能給系統提供充分的數據保護。

自主訪問控制模型的特點是授權的實施主體(可以授權的主體、管理授權的客體、授權組)自主負責賦予和回收其他主體對客體資源的訪問權限。DAC模型一般采用訪問控制矩陣和訪問控制列表來存放不同主體的訪問控制信息,從而達到對主體訪問權限的限制目的。

5.1.2 強制訪問控制模型

為了實現比DAC更為嚴格的訪問控制策略,美國政府和軍方開發了各種各樣的控制模型,這些方案或模型都有比較完善和詳盡的定義。隨后,逐漸形成強制訪問的模型,并得到廣泛的商業關注和應用。在DAC訪問控制中,用戶和客體資源都被賦予一定的安全級別,用戶不能改變自身和客體的安全級別,只有管理員才能夠確定用戶和組的訪問權限。和DAC模型不同的是,強制訪問控制模型(Mandatory Access Control Model, MAC Model)是一種多級訪問控制策略,它的主要特點是系統對訪問主體和受控對象實行強制訪問控制,系統事先給訪問主體和受控對象分配不同的安全級別屬性,在實施訪問控制時,系統先對訪問主體和受控對象的安全級別屬性進行比較,再決定訪問主體能否訪問該受控對象。MAC對訪問主體和受控對象標識兩個安全標記:一個是具有偏序關系的安全等級標記;另一個是非等級分類標記。主體和客體在分屬不同的安全類別時,都屬于一個固定的安全類別SC, SC就構成一個偏序關系(如TS表示絕密級,就比密級S要高)。當主體S的安全類別為TS,而客體O的安全類別為S時,用偏序關系可以表述為SC(S)≥SC(O)。強制訪問控制模型框架如圖5-4所示。

圖5-4 強制訪問控制模型框架

考慮到偏序關系,主體對客體的訪問主要有4種方式。

(1)向下讀(read down, rd):主體安全級別高于客體信息資源的安全級別時允許查閱的讀操作。

(2)向上讀(read up, ru):主體安全級別低于客體信息資源的安全級別時允許的讀操作。

(3)向下寫(write down, wd):主體安全級別高于客體信息資源的安全級別時允許執行的動作或是寫操作。

(4)向上寫(write up, wu):主體安全級別低于客體信息資源的安全級別時允許執行的動作或是寫操作。

由于MAC通過分級的安全標簽實現了信息的單向流通,因此它一直被軍方采用,其中最著名的是Bell-LaPadula模型和Biba模型。Bell-LaPadula模型具有只允許向下讀、向上寫的特點,可以有效地防止機密信息向下級泄露;Biba模型則具有不允許向下讀、向上寫的特點,可以有效地保護數據的完整性。

下面我們對MAC模型中的幾種主要模型:Lattice模型、Bell-LaPadula模型(BLP Model)和Biba模型(Biba Model)做簡單的闡述。

1.Lattice模型

在Lattices模型中,每個資源和用戶都服從于一個安全類別,這些安全類別我們稱為安全級別,也就是在本章開始所描述的5個安全級別:TS, S, C, R, U。在整個安全模型中,信息資源對應一個安全類別,用戶所對應的安全級別必須比可以使用的客體資源高才能進行訪問。Lattices模型是實現安全分級的系統,這種方案非常適用于需要對信息資源進行明顯分類的系統。

2.Bell-LaPadula模型

Lattice模型沒有考慮特洛伊木馬等不安全因素的潛在威脅,這樣,低級安全用戶有可能復制和拷貝比較敏感的信息。在軍方術語中,特洛伊木馬的最大作用是降低整個系統的安全級別。考慮到這種攻擊行為,Bell和LaPadula設計了一種模型抵抗這種攻擊,我們稱為Bell-LaPadula模型。Bell-LaPadula模型可以有效防止低級用戶和進程訪問安全級別比他們高的信息資源。此外,安全級別高的用戶和進程也不能向比他們安全級別低的用戶和進程寫入數據。

Bell-LaPadula模型是典型的信息保密性多級安全模型,主要應用于軍事系統。Bell-LaPadula模型通常是處理多級安全信息系統的設計基礎,客體在處理絕密級數據和秘密級數據時,要防止處理絕密級數據的程序把信息泄露給處理秘密級數據的程序。BLP模型的出發點是維護系統的保密性,有效地防止信息泄露,這與我們下面要講的維護信息系統數據完整性的Biba模型正好相反。Bell-LaPadula模型框架如圖5-5所示。

圖5-5 Bell-LaPadula模型框架

Bell-LaPadula(以下簡稱BLP)模型建立的訪問控制原則可以用兩點簡單表示:①無上讀;②無下寫。

BLP模型的安全策略包括強制訪問控制和自主訪問控制兩部分。強制訪問控制中的安全特性要求對給定安全級別的主體,僅被允許對同一安全級別和較低安全級別上的客體進行“讀”;對給定安全級別上的主體,僅被允許向相同安全級別或較高安全級別上的客體進行“寫”。自主訪問控制允許用戶自行定義是否讓個人或組織存取數據。

BLP模型用偏序關系可以表示為:①rd,當且僅當SC(S)≥SC(O),允許讀操作;②wu,當且僅當SC(S)≤SC(O),允許寫操作。BLP模型“只能從下讀、向上寫”的規則忽略了完整性的重要安全指標,使非法、越權篡改成為可能。

BLP模型為通用的計算機系統定義了安全性屬性,即以一組規則表示什么是一個安全的系統,盡管這種基于規則的模型比較容易實現,但是它不能更一般地以語義的形式闡明安全性的含義,因此,這種模型不能解釋主——客體框架以外的安全性問題。例如,在一種遠程讀的情況下,一個高安全級主體向一個低安全級客體發出遠程讀請求,這種分布式讀請求可以被看作是從高安全級向低安全級的一個消息傳遞,也就是“向下寫”。另一個例子是如何處理可信主體的問題,可信主體可以是管理員或是提供關鍵服務的進程,如設備驅動程序和存儲管理功能模塊,這些可信主體若不違背BLP模型的規則就不能正常執行它們的任務,而BLP模型對這些可信主體可能引起的泄露危機沒有任何處理和避免的方法。

3.Biba模型

在研究BLP模型的特性時發現,BLP模型只解決了信息的保密問題,其在完整性定義存在方面有一定缺陷。BLP模型沒有采取有效的措施來制約對信息的非授權修改,因此使非法、越權篡改成為可能。考慮到上述因素,Biba模型模仿BLP模型的信息保密性級別,定義了信息完整性級別,在信息流向的定義方面不允許從級別低的進程到級別高的進程,也就是說用戶只能向比自己安全級別低的客體寫入信息,從而防止非法用戶創建安全級別高的客體信息,避免越權、篡改等行為的產生。Biba模型可同時針對有層次的安全級別和無層次的安全種類。Biba模型框架如圖5-6所示。

圖5-6 Biba模型框架

Biba模型有以下兩個主要特征。

(1)禁止向上“寫”,這樣使得完整性級別高的文件一定是由完整性級別高的進程所產生的,從而保證了完整性級別高的文件不會被完整性級別低的文件或完整性級別低的進程中的信息覆蓋。

(2)Biba模型沒有下“讀”。

Biba模型用偏序關系可以表示為:①ru,當且僅當SC(S)≤SC(O),允許讀操作;②wd,當且僅當SC(S)≥SC(O),允許寫操作。

Biba模型是和BLP模型相對立的模型,Biba模型改正了被BLP模型忽略的信息完整性問題,但在一定程度上忽視了保密性。

MAC訪問控制模型和DAC訪問控制模型屬于傳統的訪問控制模型。在實現上,MAC和DAC通常為每個用戶賦予對客體的訪問權限規則集,考慮到管理的方便,在這一過程中還經常將具有相同職能的用戶聚為組,然后再為每個組分配許可權。用戶自主地把自己所擁有的客體的訪問權限授予其他用戶的這種做法,其優點是顯而易見的,但是如果企業的組織結構或是系統的安全需求處于變化的過程中時,那么就需要進行大量煩瑣的授權變動,系統管理員的工作將變得非常繁重,更主要的是容易發生錯誤造成一些意想不到的安全漏洞。

5.1.3 基于角色的訪問控制模型

考慮到上述因素,我們引入新的機制加以解決——基于角色的訪問控制模型。角色(Role)是指一個可以完成一定事務的命名組,不同的角色通過不同的事務來執行各自的功能。事務(Transaction)是指一個完成一定功能的過程,可以是一個程序或程序的一部分。角色是代表具有某種能力的人或是某些屬性的人的一類抽象,角色和組的主要區別在于:用戶屬于組是相對固定的,而用戶能被指派到哪些角色則受時間、地點、事件等諸多因素影響。角色比組的抽象級別要高,角色和組的關系可以這樣考慮:作為飾演的角色,我是一名學生,我就只能享有學生的權限(區別于老師),但是我又處于某個班級中,就同時只能享有本“組”組員的權限。

基于角色的訪問控制模型(Role-based Access Model, RBAC Model)的基本思想是將訪問許可權分配給一定的角色,用戶通過飾演不同的角色獲得角色所擁有的訪問許可權。這是因為在很多實際應用中,用戶并不是可以訪問的客體信息資源的所有者(這些信息屬于企業或公司),這樣的話,訪問控制應該基于員工的職務而不是基于員工在哪個組或誰是信息的所有者,即訪問控制是由各個用戶在部門中所擔任的角色來確定的,如一個學校可以有教工、老師、學生和其他管理人員等角色。基于角色的訪問控制模型框架如圖5-7所示。

圖5-7 基于角色的訪問控制模型框架

RBAC模型從控制主體的角度出發,根據管理中相對穩定的職權和責任來劃分角色,將訪問權限與角色相聯系,這點與傳統的MAC和DAC將權限直接授予用戶的方式不同。通過給用戶分配合適的角色,讓用戶與訪問權限相聯系,角色成為訪問控制中訪問主體和受控對象之間的一座橋梁。

角色可以看作是一組操作的集合,不同的角色具有不同的操作集,這些操作集由系統管理員分配給角色。在下面的實例中,我們假設Tch1、Tch2、Tch3…Tchi是對應的教師,Stud1、Stud 2、Stud3…Studj是相應的學生,Mng1、Mng 2、Mng 3…Mngk是教務處管理人員,那么老師的權限為Tch MN={查詢成績、上傳所教課程的成績},學生的權限為Stud MN={查詢成績、反映意見},教務處管理人員的權限為Mng MN={查詢、修改成績,打印成績清單}。那么,依據角色的不同,每個主體只能執行自己所制定的訪問功能。用戶在一定的部門中具有一定的角色,其所執行的操作與其所扮演的角色的職能相匹配,這正是基于角色的訪問控制(RBAC)的根本特征,即依據RBAC策略,系統定義了各種角色,每種角色可以完成一定的職能,不同的用戶根據其職能和責任被賦予相應的角色,一旦某個用戶成為某角色的成員,則此用戶可以完成該角色所具有的職能。

系統管理員負責授予用戶各種角色的成員資格或撤銷某用戶具有的某個角色。例如,學校新入職一名教師Tchx,那么系統管理員只需將Tchx添加到教師這一角色的成員中即可,而無須對訪問控制列表做改動。同一個用戶可以是多個角色的成員,即同一個用戶可以扮演多種角色,如一個用戶可以是老師,同時也可以作為進修的學生。同樣,一個角色可以擁有多個用戶成員,這與現實是一致的,一個人可以在同一部門中擔任多種職務,而且擔任相同職務的可能不止一人。因此RBAC提供了一種描述用戶和權限之間的多對多關系,角色可以劃分成不同的等級,通過角色等級關系來反映一個組織的職權和責任關系,這種關系具有反身性、傳遞性和非對稱性特點,通過繼承行為形成了一個偏序關系,如MngMN>TchMN>Stud MN。RBAC中通常定義不同的約束規則來對模型中的各種關系進行限制,最基本的約束是“相互排斥”約束和“基本限制”約束,分別規定了模型中的互斥角色和一個角色可被分配的最大用戶數。RBAC中引進了角色的概念,用角色表示訪問主體具有的職權和責任,靈活地表達和實現了企業的安全策略,使系統權限管理在企業的組織視圖這個較高的抽象集上進行,從而簡化了權限設置的管理,從這個角度看,RBAC很好地解決了企業管理信息系統中用戶數量多、變動頻繁的問題。

相比較而言,RBAC是實施面向企業的安全策略的一種有效的訪問控制方式,其具有靈活性、方便性和安全性的特點,目前在大型數據庫系統的權限管理中得到普遍應用。角色由系統管理員定義,角色成員的增減也只能由系統管理員來執行,即只有系統管理員有權定義和分配角色。用戶與客體無直接聯系,他只有通過角色才享有該角色所對應的權限,從而訪問相應的客體。因此用戶不能自主地將訪問權限授給別的用戶,這是RBAC與DAC的根本區別。RBAC與MAC的區別在于:MAC是基于多級安全需求的,而RBAC則不是。

5.1.4 基于任務的訪問控制模型

上述幾個訪問控制模型都是從系統的角度出發去保護資源(控制環境是靜態的),在進行權限的控制時沒有考慮執行的上下文環境。數據庫、網絡和分布式計算的發展,組織任務進一步自動化,與服務相關的信息進一步計算機化,這促使人們將安全問題方面的注意力從獨立的計算機系統中靜態的主體和客體保護,轉移到隨著任務的執行而進行動態授權的保護上。此外,上述訪問控制模型不能記錄主體對客體權限的使用,權限沒有時間限制,只要主體擁有對客體的訪問權限,主體就可以無數次地執行該權限。考慮到上述原因,我們引入工作流的概念加以闡述。工作流是為完成某一目標而由多個相關的任務(活動)構成的業務流程。工作流所關注的問題是處理過程的自動化,對人和其他資源進行協調管理,從而完成某項工作。當數據在工作流中流動時,執行操作的用戶在改變,用戶的權限也在改變,這與數據處理的上下文環境相關。傳統的DAC和MAC訪問控制技術,則無法予以實現,RBAC模型也需要頻繁地更換角色,且不適合工作流程的運轉。這就迫使我們必須考慮新的模型機制,也就是基于任務的訪問控制模型。

基于任務的訪問控制模型(Task-based Access Control Model, TBAC Model)是從應用和企業層角度來解決安全問題,以面向任務的觀點,從任務(活動)的角度來建立安全模型和實現安全機制,在任務處理的過程中提供動態實時的安全管理,如圖5-8所示。

圖5-8 基于任務的訪問控制模型

在TBAC中,對象的訪問權限控制并不是靜止不變的,而是隨著執行任務的上下文環境發生變化。TBAC首先考慮的是在工作流的環境中對信息的保護問題:在工作流環境中,數據的處理與上一次的處理相關聯,相應的訪問控制也如此,因而TBAC是一種上下文相關的訪問控制模型。其次,TBAC不僅能對不同工作流實行不同的訪問控制策略,而且能對同一工作流的不同任務實例實行不同的訪問控制策略。從這個意義上說,TBAC是基于任務的,這也表明TBAC是一種基于實例(instance-based)的訪問控制模型。

TBAC模型由工作流、授權結構體、受托人集、許可集四部分組成。

任務(task)是工作流程中的一個邏輯單元,是一個可區分的動作,與多個用戶相關,也可能包括幾個子任務。授權結構體是任務在計算機中進行控制的一個實例。任務中的子任務,對應于授權結構體中的授權步。

授權結構體(authorization unit)是由一個或多個授權步組成的結構體,它們在邏輯上是聯系在一起的。授權結構體分為一般授權結構體和原子授權結構體。一般授權結構體內部的授權步依次執行,原子授權結構體內部的每個授權步緊密聯系,其中任何一個授權步失敗都會導致整個結構體的失敗。

授權步(authorization step)表示一個原始授權處理步,是指在一個工作流程中對處理對象的一次處理過程。授權步是訪問控制所能控制的最小單元,由受托人集(trustee-set)和多個許可集(permissions set)組成。

受托人集是可被授予執行授權步的用戶的集合,許可集則是受托集的成員被授予授權步時擁有的訪問許可。當授權步初始化以后,一個來自受托人集中的成員將被授予授權步,我們稱這個受托人為授權步的執行委托者,該受托人執行授權步過程中所需許可的集合稱為執行者許可集。授權步之間或授權結構體之間的相互關系稱為依賴(dependency),依賴反映了基于任務的訪問控制的原則。授權步的狀態變化一般自我管理,依據執行的條件而自動變遷狀態,但有時也可以由管理員進行調配。

一個工作流的業務流程由多個任務構成,而一個任務對應于一個授權結構體,每個授權結構體由特定的授權步組成。授權結構體之間以及授權步之間通過依賴關系聯系在一起。在TBAC中,一個授權步的處理可以決定后續授權步對處理對象的操作許可,上述許可集合稱為激活許可集。執行者許可集和激活許可集一起被稱為授權步的保護態。

TBAC模型一般用五元組(S, O, P, L, AS)來表示,其中S表示主體,O表示客體,P表示許可,L表示生命期(lifecycle), AS表示授權步。由于任務都是有時效性的,所以在基于任務的訪問控制中,用戶對于授予他的權限的使用也是有時效性的。因此,若P是授權步AS所激活的權限,那么L則是授權步AS的存活期限。在授權步AS被激活之前,它的保護態是無效的,其中包含的許可不可使用。當授權步AS被觸發時,它的委托執行者開始擁有執行者許可集中的權限,同時它的生命期開始倒計時。在生命期期間,五元組(S, O, P, L, AS)有效。生命期終止時,五元組(S, O, P, L, AS)無效,委托執行者所擁有的權限被回收。

TBAC的訪問政策及其內部組件關系一般由系統管理員直接配置。通過授權步的動態權限管理,TBAC支持最小特權原則和最小泄露原則,在執行任務時只給用戶分配所需的權限,未執行任務或任務終止后用戶不再擁有所分配的權限;而且在執行任務過程中,當某一權限不再使用時,授權步自動將該權限回收。另外,對于敏感的任務需要不同的用戶執行,這可通過授權步之間的分權依賴實現。

TBAC從工作流中的任務角度建模,可以依據任務和任務狀態的不同,對權限進行動態管理。因此,TBAC非常適合分布式計算和多點訪問控制的信息處理控制以及在工作流、分布式處理和事務管理系統中的決策制定。

5.1.5 基于對象的訪問控制模型

DAC或MAC模型的主要任務都是對系統中的訪問主體和受控對象進行一維的權限管理,當用戶數量多、處理的信息數據量巨大時,用戶權限的管理任務將變得十分繁重,并且用戶權限難以維護,這就降低了系統的安全性和可靠性。對于海量的數據和差異較大的數據類型,需要用專門的系統和專門的人員加以處理,如果采用RBAC模型,安全管理員除了維護用戶和角色的關聯關系外,還需要將龐大的信息資源訪問權限賦予有限個角色。當信息資源的種類增加或減少時,安全管理員必須更新所有角色的訪問權限設置,而且,如果受控對象的屬性發生變化,同時需要將受控對象不同屬性的數據分配給不同的訪問主體處理時,安全管理員將不得不增加新的角色,并且還必須更新原來所有角色的訪問權限設置以及訪問主體的角色分配設置,這樣的訪問控制需求變化往往是不可預知的,造成訪問控制管理的難度和工作量巨大。在這種情況下,有必要引入基于受控對象的訪問控制模型(Object-based Access Control Model, OBAC Model)。

控制策略和控制規則是OBAC訪問控制系統的核心所在,在基于受控對象的訪問控制模型中,將訪問控制列表與受控對象或受控對象的屬性相關聯,并將訪問控制選項設計成為用戶、組或角色及其對應權限的集合;同時允許對策略和規則進行重用、繼承和派生操作。這樣,不僅可以對受控對象本身進行訪問控制,受控對象的屬性也可以進行訪問控制,而且派生對象可以繼承父對象的訪問控制設置,這對于信息量巨大、信息內容更新變化頻繁的管理信息系統非常有益,可以減輕由于信息資源的派生、演化和重組等帶來的分配、設定角色權限等的工作量,如圖5-9所示。

圖5-9 基于對象的訪問控制模型

OBAC從信息系統的數據差異變化和用戶需求出發,有效地解決了信息數據量大、數據種類繁多、數據更新變化頻繁的大型管理信息系統的安全管理問題。OBAC從受控對象的角度出發,將訪問主體的訪問權限直接與受控對象相關聯,一方面定義對象的訪問控制列表,增、刪、修改訪問控制項易于操作,另一方面當受控對象的屬性發生改變,或者受控對象發生繼承和派生行為時,無須更新訪問主體的權限,只需要修改受控對象的相應訪問控制項即可,從而減少訪問主體的權限管理,降低授權數據管理的復雜性。

5.1.6 信息流模型

從安全模型所控制的對象來看,一般有兩種不同的方法來建立安全模型:一種是信息流模型;另一種是訪問控制模型。

信息流模型主要著眼于對客體之間的信息傳輸過程的控制,通過對信息流向的分析可以發現系統中存在的隱蔽通道,并設法予以堵塞,如圖5-10所示。信息流是信息根據某種因果關系的流動,信息流總是從舊狀態的變量流向新狀態的變量。信息流模型的出發點是徹底切斷系統中信息流的隱蔽通道,防止對信息的竊取。隱蔽通道就是指系統中非正常使用的、不受強制訪問控制正規保護的通信方式。隱蔽通道的存在顯然危及系統敏感信息的保護。信息流模型需要遵守的安全規則:在系統狀態轉換時,信息流只能從訪問級別低的狀態流向訪問級別高的狀態。信息流模型實現的關鍵在于對系統的描述,即對模型進行徹底的信息流分析,找出所有的信息流,并根據信息流安全規則判斷其是否為異常流。若是就反復修改系統的描述或模型,直到所有的信息流都不是異常流為止。信息流模型是一種基于事件或蹤跡的模型,其焦點是系統用戶可見的行為。現有的信息流模型無法直接指出哪種內部信息流是被允許的,哪種是不被允許的,因此在實際系統中的實現和驗證中沒有太多的幫助和指導。

圖5-10 強制訪問控制的信息流安全模型

主站蜘蛛池模板: 永修县| 金塔县| 米泉市| 元阳县| 临清市| 曲靖市| 雷州市| 洪洞县| 柘城县| 马公市| 蕲春县| 托里县| 农安县| 旬阳县| 休宁县| 宜都市| 舞钢市| 平乐县| 滨州市| 苗栗市| 育儿| 山丹县| 永福县| 古浪县| 姚安县| 松滋市| 铁力市| 小金县| 南华县| 柳河县| 呼伦贝尔市| 麟游县| 南涧| 年辖:市辖区| 柯坪县| 新邵县| 夏邑县| 仁怀市| 安新县| 保定市| 浮梁县|