訪問控制
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
訪問控制是給出一套方法,將系統中的所有功能標識出來,組織起來,托管起來,將所有的數據組織起來標識出來托管起來, 然後提供一個簡單的唯一的介面,這個介面的一端是應用系統一端是許可權引擎。許可權引擎所回答的只是:誰是否對某資源具有實施 某個動作(運動、計算)的許可權。返回的結果只有:有、沒有、許可權引擎異常了。
訪問控制是幾乎所有系統(包括電腦系統和非電腦系統)都需要用到的一種技術。訪問控制是按用戶身份及其所歸屬的某項定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能的使用的一種技術,如UniNAC網路準入控制系統的原理就是基於此技術之上。訪問控制通常用於系統管理員控制用戶對伺服器、目錄、文件等網路資源的訪問。
訪問控制可分為自主訪問控制和強制訪問控制兩大類。
自主訪問控制,是指由用戶有權對自身所創建的訪問對象(文件、數據表等)進行訪問,並可將對這些對象的訪問權授予其他用戶和從授予許可權的用戶收回其訪問許可權。
強制訪問控制,是指由系統(通過專門設置的系統安全員)對用戶所創建的對象進行統一的強制性控制,按照規定的規則決定哪些用戶可以對哪些對象進行什麼樣操作系統類型的訪問,即使是創建者用戶,在創建一個對象後,也可能無權訪問該對象。
基於對象的訪問控制模型
基於對象的訪問控制(OBAC Model:Object-based Access Control Model):DAC或MAC模型的主要任務都是對系統中的訪問主體和受控對象進行一維的許可權管理。當用戶數量多、處理的信息數據量巨大時,用戶許可權的管理任務將變得十分繁重且難以維護,這就降低了系統的安全性和可靠性。
對於海量的數據和差異較大的數據類型,需要用專門的系統和專門的人員加以處理,要是採用RBAC模型的話,安全管理員除了維護用戶和角色的關聯關係外,還需要將龐大的信息資源訪問許可權賦予有限個角色。
當信息資源的種類增加或減少時,安全管理員必須更新所有角色的訪問許可權設置,如果受控對象的屬性發生變化,和需要將受控對象不同屬性的數據分配給不同的訪問主體處理時,安全管理員將不得不增加新的角色,並且還必須更新原來所有角色的訪問許可權設置以及訪問主體的角色分配設置。
這樣的訪問控制需求變化往往是不可預知的,造成訪問控制管理的難度和工作量巨大。所以在這種情況下,有必要引入基於受控對象的訪問控制模型。
控制策略和控制規則是OBAC訪問控制系統的核心所在,在基於受控對象的訪問控制模型中,將訪問控制列表與受控對象或受控對象的屬性相關聯,並將訪問控制選項設計成為用戶、組或角色及其對應許可權的集合;同時允許對策略和規則進行重用、繼承和派生操作。
這樣,不僅可以對受控對象本身進行訪問控制,受控對象的屬性也可以進行訪問控制,而且派生對象可以繼承父對象的訪問控制設置,這對於信息量巨大、信息內容更新變化頻繁的管理信息系統非常有益,可以減輕由於信息資源的派生、演化和重組等帶來的分配、設定角色許可權等的工作量。
OBAC訪問控制系統是從信息系統的數據差異變化和用戶需求出發,有效地解決了信息數據量大、數據種類繁多、數據更新變化頻繁的大型管理信息系統的安全管理。並從受控對象的角度出發,將訪問主體的訪問許可權直接與受控對象相關聯,一方面定義對象的訪問控制列表,增、刪、修改訪問控制項易於操作,另一方面,當受控對象的屬性發生改變,或者受控對象發生繼承和派生行為時,無須更新訪問主體的許可權,只需要修改受控對象的相應訪問控制項即可,從而減少了訪問主體的許可權管理,降低了授權數據管理的複雜性。
基於任務的訪問控制模型
基於任務的訪問控制模型(TBAC Model,Task-based Access Control Model)是從應用和企業層角度來解決安全問題,以面向任務的觀點,從任務(活動)的角度來建立安全模型和實現安全機制,在任務處理的過程中提供動態實時的安全管理。
在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非常適合分散式計算和多點訪問控制的信息處理控制以及在工作流、分散式處理和事務管理系統中的決策制定。
基於角色的訪問控制模型
基於角色的訪問控制模型(RBAC Model,Role-based Access Model):RBAC模型的基本思想是將訪問許可權分配給一定的角色,用戶通過飾演不同的角色獲得角色所擁有的訪問許可權。這是因為在很多實際應用中,用戶並不是可以訪問的客體信息資源的所有者(這些信息屬於企業或公司),這樣的話,訪問控制應該基於員工的職務而不是基於員工在哪個組或是誰信息的所有者,即訪問控制是由各個用戶在部門中所擔任的角色來確定的,例如,一個學校可以有教工、老師、學生和其他管理人員等角色。
RBAC從控制主體的角度出發,根據管理中相對穩定的職權和責任來劃分角色,將訪問許可權與角色相聯繫,這點與傳統的MAC和DAC將許可權直接授予用戶的方式不同;通過給用戶分配合適的角色,讓用戶與訪問許可權相聯繫。角色成為訪問控制中訪問主體和受控對象之間的一座橋梁。
角色可以看作是一組操作的集合,不同的角色具有不同的操作集,這些操作集由系統管理員分配給角色。在下麵的實例中,我們假設Tch1,Tch2,Tch3……Tchi是對應的教師,Stud1,Stud 2,Stud3 …Studj是相應的學生,Mng1,Mng 2,Mng 3…Mngk是教務處管理人員,那麼老師的許可權為TchMN={查詢成績、上傳所教課程的成績};學生的許可權為Stud MN={查詢成績、反映意見};教務管理人員的許可權為MngMN={查詢、修改成績、列印成績清單}。
那麼,依據角色的不同,每個主體只能執行自己所制定的訪問功能。用戶在一定的部門中具有一定的角色,其所執行的操作與其所扮演的角色的職能相匹配,這正是基於角色的訪問控制(RBAC)的根本特征,即:依據RBAC策略,系統定義了各種角色,每種角色可以完成一定的職能,不同的用戶根據其職能和責任被賦予相應的角色,一旦某個用戶成為某角色的成員,則此用戶可以完成該角色所具有的職能。
如今數據安全成疾,蠕蟲和病毒橫行,如何提高網路安全?選擇網路訪問控制(NAC)成為必然,它能夠幫助企業網路免於多種網路安全威脅。
許多企業往往不願意實施基於角色的訪問控制。因為企業擔心冗長而複雜的實施過程,並且由於雇員訪問權要發生變化,也會對工作效率帶來副作用。完成基於角色的矩陣可能是一個需要花費企業幾年時間的複雜過程。
有一些新方法可以縮短這個過程,並當即帶來好處。企業可以採用人力資源系統作為數據源,收集所有雇員的部門、職位、位置以及企業的層次結構等信息,並將這些信息用於創建每個訪問級別的角色。下一步就是從活動目錄等位置獲得當前的權利,以及與不同角色的雇員有關的數據共用。
下一步,使數據標準化,確保相同角色的雇員擁有相同的訪問權。可以通過從人力資源和活動目錄、修正報告以及雇員的管理者那裡收集數據,用於檢查和糾正。基於角色的訪問控制應用與身份管理系統結合使用,可以實施管理員在自動模式中做出的變化。此過程可以在包含敏感信息的企業網路的其它應用中多次反覆實施,確保訪問權的正確性。
實現機制
訪問控制的實現機制建立訪問控制模型和實現訪問控制都是抽象和複雜的行為,實現訪問的控制不僅要保證授權用戶使用的許可權與其所擁有的許可權對應,制止非授權用戶的非授權行為;還要保證敏感信息的交叉感染。為了便於討論這一問題,我們以文件的訪問控製為例對訪問控制的實現做具體說明。通常用戶訪問信息資源(文件或是資料庫),可能的行為有讀、寫和管理。為方便起見,我們用Read或是R表示讀操作,Write或是W表示寫操作,Own或是O表示管理操作。我們之所以將管理操作從讀寫中分離出來,是因為管理員也許會對控制規則本身或是文件的屬性等做修改,也就是修改我們在下麵提到的訪問控製表。
訪問控製表
訪問控製表(ACLs:Access Control Lists)是以文件為中心建立的訪問許可權表,簡記為ACLs。目前,大多數PC、伺服器和主機都使用ACLs作為訪問控制的實現機制。訪問控製表的優點在於實現簡單,任何得到授權的主體都可以有一個訪問表,例如授權用戶A1的訪問控制規則存儲在文件File1中,A1的訪問規則可以由A1下麵的許可權表ACLsA1來確定,許可權表限定了用戶UserA1的訪問許可權。
訪問控制矩陣
訪問控制矩陣(ACM:Access Control Matrix)是通過矩陣形式表示訪問控制規則和授權用戶許可權的方法;也就是說,對每個主體而言,都擁有對哪些客體的哪些訪問許可權;而對客體而言,又有哪些主體對他可以實施訪問;將這種關連關係加以闡述,就形成了控制矩陣。其中,特權用戶或特權用戶組可以修改主體的訪問控制許可權。訪問控制矩陣的實現很易於理解,但是查找和實現起來有一定的難度,而且,如果用戶和文件系統要管理的文件很多,那麼控制矩陣將會成幾何級數增長,這樣對於增長的矩陣而言,會有大量的空餘空間。
訪問控制能力列表
能力是訪問控制中的一個重要概念,它是指請求訪問的發起者所擁有的一個有效標簽(ticket),它授權標簽表明的持有者可以按照何種訪問方式訪問特定的客體。訪問控制能力表(ACCLs:Access Control Capabilitis Lists)是以用戶為中心建立訪問許可權表。例如,訪問控制許可權表ACCLsF1表明瞭授權用戶UserA對文件File1的訪問許可權,UserAF表明瞭UserA對文件系統的訪問控制規則集。因此,ACCLs的實現與ACLs正好相反。定義能力的重要作用在於能力的特殊性,如果賦予哪個主體具有一種能力,事實上是說明瞭這個主體具有了一定對應的許可權。能力的實現有兩種方式,傳遞的和不可傳遞的。一些能力可以由主體傳遞給其他主體使用,另一些則不能。能力的傳遞牽扯到了授權的實現,我們在後面會具體闡述訪問控制的授權管理。
安全標簽
安全標簽是限制和附屬在主體或客體上的一組安全屬性信息。安全標簽的含義比能力更為廣泛和嚴格,因為它實際上還建立了一個嚴格的安全等級集合。訪問控制標簽列表(ACSLLs: Access Control Security Labels Lists)是限定一個用戶對一個客體目標訪問的安全屬性集合。安全標簽能對敏感信息加以區分,這樣就可以對用戶和客體資源強制執行安全策略,因此,強制訪問控制經常會用到這種實現機制。
具體類別
訪問控制實現的具體類別訪問控制是網路安全防範和保護的重要手段,它的主要任務是維護網路系統安全、保證網路資源不被非法使用和非常訪問。通常在技術實現上,包括以下幾部分:
(1)資源訪問控制:是對客體整體資源信息的訪問控制管理。其中包括文件系統的訪問控制(文件目錄訪問控制和系統訪問控制)、文件屬性訪問控制、信息內容訪問控制。文件目錄訪問控制是指用戶和用戶組被賦予一定的許可權,在許可權的規則控制許可下,哪些用戶和用戶組可以訪問哪些目錄、子目錄、文件和其他資源,哪些用戶可以對其中的哪些文件、目錄、子目錄、設備等能夠執行何種操作。系統訪問控制是指一個網路系統管理員應當為用戶指定適當的訪問許可權,這些訪問許可權控制著用戶對伺服器的訪問;應設置口令鎖定伺服器控制台,以防止非法用戶修改、刪除重要信息或破壞數據;應設定伺服器登錄時間限制、非法訪問者檢測和關閉的時間間隔;應對網路實施監控,記錄用戶對網路資源的訪問,對非法的網路訪問,能夠用圖形或文字或聲音等形式報警等。文件屬性訪問控制:當用文件、目錄和網路設備時,應給文件、目錄等指定訪問屬性。屬性安全控制可以將給定的屬性與要訪問的文件、目錄和網路設備聯繫起來。
(2)網路埠和節點的訪問控制:網路中的節點和埠往往加密傳輸數據,這些重要位置的管理必須防止黑客發動的攻擊。對於管理和修改數據,應該要求訪問者提供足以證明身份的驗證器(如智能卡)。