全国客服热线:4006-880844

访问控制技术

- 编辑:admin -

访问控制策略可以划分为自主访问控制、强制访问控制和基于角色的访问控制三种。

访问控制策略可以划分为自主访问控制、强制访问控制和基于角色的访问控制三种。

(1)自主访问控制( Discretionary Access Control)

自主访问控制是一种允许主体对访问控制进行特定限制的访问控制类型。它允许主体针对访问资源的用户设置访问控制权限,用户对资源的每次访问都会检查用户对资源的访问权限,只有通过验证的用户才能访问资源。



20世纪70年代,随着分时系统的出现,自主访问控制DAC也逐渐兴起。DAC是在确认主体身份及所属组的基础上,根据访问者的身份和授权来决定访问模式,对访问进行限定的一种控制策略。所谓自主,是指具有授予某种访问权力的主体(用户)能够自己决定是否将访问控制权限的某个子集授予其他的主体或从其他主体那里收回他所授子的访问权限。

DAC将访问规则存储在访问控制矩阵中,通过访问控制矩阵可以很清楚地了解DAC。该矩阵的行表示主体,列表示客体,矩阵的每个 元素表示某个主体对某个客体的访问授权。用户对任一客体的访问请求都要检查这个访问控制矩阵。如果矩阵中用户和客体的交又点上记录有这个访问类型,那么访间就被允许,否则就被拒绝。

DAC的优点是其自主性为用户提供了极大的灵活性,从而使之适合于许多系统和应用。但也正由于这种自主性,在DAC中,信息总是可以从一个实体流向另一个实体,即使对于高度机密的信息也是如此,因此如果自主访问控制不加以控制就会产生严重的安全隐患。例如,用户A可以将其对客体0的访问权限传递给用户B,从而使不具备对0访问权限的B也可以访问0,这样的结果是易于产生安全漏洞,因此自主访间控制的安全级别较低。

另外,由于同一用户对不同的客体有不同的存取权限,不同的用户对同一客体有不同的存取权限,用户、权限、客体间的授权管理复杂。
 
(2)强制访问控制( Mandatory Access Control)

强制访问控制是一种不允许主体干涉的、依据主体和客体的安全级别来决定主体是否有对客体的访问权的访问控制类型。它是基于安全标识和信息分级等信息敏感性的访问控制,通过比较资源的敏感性与主体的级别来确定是否允许访问。系统事先给所有的主体和客体指定不同的安全级别,最高秘密级( Top Secret)、秘密级( Secret)机密级( Confidential)以及无级别级( Unclassified),其级别顺序为TS>S>C>U。在实施访问控制时,系统先对主体和客体的安全级别进行比较,再决定访问主体能否访问该客体。最典型的例子是由Bell and Lapadula提出的BLP模型。

(3)基于角色的访问控制(Role_ Based Access Control)

RBAC是由美国国家标准化和技术委员会(NIST)的 Ferraiolo等人在20世纪90年代提出的,由于其特有的优点引起了学术界和工业界的广泛关注,成为研究计算机和数据库安全性的一个热点。RBAC的基本思想是在用户和访问权限之间引入角色的概念,将用户和角色联系起来,通过对角色的授权来控制用户对系统资源的访问角色是访问权限的集合,用户通过赋予不同的角色获得角色所拥有的访问权限。一个用户可拥有多个角色,一个角色可授权给多个用户二个角色可包含多个权限,一个权限可被多个角色包含。用户通过角色享有权限,它不直接与权限相关联,权限对存取对象的操作许可是通过活跃角色实现的。在RBAC模型系统中,每个用户进入系统时得到一个会话,一个用户会话可能激活的角色是该用户的全部角色的子集。对此用户而言,在一个会话内可获得全部被激活的角色所包含的访问权限。角色之间也可存在继承关系,即上级角色可继承下级角色的部分或全部权限,从而形成了角色层次结构。

在一个组织中,针对各种工作职能定义不同的角色,同时,根据用户的责任和资格来分配其角色。这样可十分简单地改变用户的角色分配,当系统中增加新的应用功能时可以在角色中添加新的权限。此外,可撤销用户的角色或从角色中撤销一些原有的权限。

自主访问控制和强制访问控制,都是由主体和访问权限直接发生关系,主要针对用户个人授予权限。大型应用系统的访问用户往往种而基于角色访问控制RBAC引入角色这个概念,将权限和角色相关 类繁多、数量巨大、并且动态变化,使得权限管理负担巨大且易出错。

通过给APP开发用户分配适当的角色以授予用户权限,实现了用户和访问权限的逻辑分离,这样的授权管理比较起针对个体的授权来说,可操作性和可管理性都要强得多,非常适合大型多用户管理信息系统的授权管理。