簡介
在
計算機安全中,
自主訪問控制由《可信計算機系統評估準則》所定義的訪問控制中的一種類型。它是根據主體(如用戶、進程或 I/O 設備等)的身份和他所屬的組限制對客體的訪問。所謂的自主,是因為擁有訪問許可權的主體,可以直接(或間接)地將訪問許可權賦予其他主體(除非受到強制訪問控制的限制)。
自主訪問控制是指對某個客體具有擁有權(或控制權)的主體能夠將對該客體的一種訪問權或多種訪問權自主地授予其它主體,並在隨後的任何時刻將這些許可權回收。這種控制是自主的,也就是指具有授予某種訪問權力的主體(用戶)能夠自己決定是否將訪問控制許可權的某個子集授予其他的主體或從其他主體那裡收回他所授予的訪問許可權。自主訪問控制中,用戶可以針對被保護對象制定自己的保護策略。
自主訪問控制(DAC)常常與強制訪問控制(MAC, Mandatory Access Control, 又叫非自主訪問控制)對比。DAC的數據存取許可權由用戶控制,系統無法控制;MAC安全等級由系統控制,用戶不能直接進行控制。有時候,一個系統稱其整體有“自主的”或者“純自主的”訪問控制的時候,意味著這個系統沒有強制訪問控制。而有的時候,系統也可以同時實現自主訪問控制和強制訪問控制,其中自主訪問控制是指一類可以在主體之間相互轉讓許可權的訪問控制,而強制訪問控制則指的是另一類強制限制許可權的訪問控制。
實現方法
實際上這個術語的意思並不像《可信計算機系統評估準則》中給出的定義一樣清晰,這是因為評估準則中並沒有強調實現的概念。因此,至少有兩種實現方法,分別是:基於屬主(多數情況採用此方法)和基於能力。
基於屬主
自主訪問控制通常假定所有客體都有屬主,並且屬主能夠修改訪問該客體的許可權,這可能因為大部分系統的確通過屬主的概念來實現的。但是評估準則中並沒有關於屬主的說明,所以技術上訪問控制系統並非必須擁有屬主。
基於這種實現下,用戶(屬主)能夠修改安全屬性。一個直接的例子是 Unix 的檔案模式。
基於能力
能力系統有時被認為能夠提供自主的控制,因為它允許主體將許可權轉讓給其他主體,即使基於用戶能力的安全系統根本沒有基於主體身份限制訪問。(一般來說,能力安全系統並不允許許可權被傳遞給“任何其他主體”;主體想要轉讓它的許可權必須訪問接受許可權的主體,但在系統里主體一般是沒有訪問能力訪問其他所有主體的)。
參閱