对于我们关注的Access Control,主要是对现有的几种方法做了比较,如图所示。
DAC (Discretionary Access Control) Model
所有的主体Subject和客体Object都在系统中列举出来,并且给予每个主客体以明确的授权。基于所有权的、客体的拥有者Owner可以任意将该客体的访问权限授予其他主体。
Shortages:
比如:一个Object被授权给另一个用户后,对该Object的Copy的权限就无法控制的。
MAC (Mandatory Access Control) Model
基于管理的、所有的主体和客体都会根据实现定义的敏感级别(predefined sensitivity levels)进行分类(classified)。MAC的一个重要目的就是要保证信息的机密性和完整性。
通过级别控制信息流的方向,所谓的Bell-LaPadula restrictions: no read-up and no write-down或Chinese Wall policy.
所谓no read-up就是说:低级别的Subject不能从高级别的Object中读取信息。
所谓no write-down就是说:高级别的Subject不能向低级别的Object中写入信息。
以上两点约束都是方式信息流从高级别流向低级别。从而保证加密性Confidentiality。
Unlike DAC, MAC models provide more robust protection mechanisms for data, and deal with more specific security requirements. MAC要比DAC更强大一些,但是缺乏灵活性,完整的实施也比较繁琐。
Shortages:
Difficult task to enforce MAC;
Lack adequate flexibility.
RBAC (Role-based Access Control) Model
明显的好处Well-recognized advantages:
(1) Directly support arbitrary, organization-specific security policies.
(2) Policy-neutral by using role hierarchies and constraints.
(3) Simplifies the administration
SOD: Separation of duties.责任分离
Least Privilege Principle:最小授权原则
Policy-neural: 策略独立
面向Workflow的基于任务的授权
DTAC:Dynamically Typed Access Control model (task-based Security)
其他的见图。