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