1.XACML
可扩展访问控制标记语言(XACML),
是一种在国际互联网上用XML语言来为信息访问表达访问控制策略的一种OASIS规范。
一旦配置好之后,XACML可以表达与传播规则和策略,这种规则和策略可以由访问控制机制用来决定对对象以及属性的访问。 — 来源于百度百科
XACML的配置文件如下图所示:
关于什么是OASIS规范?
OASIS(结构化信息标准促进组织,Organization for the Advancement of Structured Information Standards)是一个推进电子商务标准的发展、融合与采纳的非盈利性国际化组织。相比其他组织,
OASIS形成了更多的Web服务标准的同时也提出了面向安全、电子商务的标准
,同时在针对公众领域和特定应用市场的标准化方面也付出很多的努力。自1993年成立开始,OASIS已经发展成为了由来自100多个国家的600多家组织、企业,参与人数超过5000人的国际化组织。— 来源于百度百科
系统参数(进一步理解什么是XACML):
XACML可扩展的访问控制标记语言是由OASIS组织开发,采用XML表示的访问控制策略语言。XACML策略语言允许管理员定义访问控制需求。XACML还包括一种访问决策语言,用于描述对资源运行时的请求。当确定了保护资源的策略之后,函数会将请求中的属性与包含在策略规则中的属性进行比较,最终生成一个许可或拒绝决策。简言之,XACML是一种新的用于管理策略和访问控制的标记语言,同时又是一种通用的访问控制策略定义语言,提供一整套语法(使用XML定义)来管理对系统资源的访问。
相关概念:
在XACML中列出的访问控制是一个四元组,这个四元组的分量包括以下内容:
- 主体:可以是一个用户ID,一个角色或者一个组。例如“只有职位在部门经理以上的人员才查看这个文档”。
- 目标对象:可以是单个XML文档元素,一个设备或者一个文件。
- 动作:允许的动作包括读、写、创建和删除。
- 规定:是一个动作。这个动作在XACML规则被激活时必须执行;这个动作可能会发送一个警告来请求额外的证明书或者开始一个登录过程。
XACML的组成:
XACML访问控制模型由策略执行点(PEP)、策略判决点(PDP)、策略管理点(PAP)、策略信息点(PIP)、主体(Subject)、资源(Resource)、环境(Environment)等组成。图1所示是XACML访问控制模型架构中各主要单元及相互间的关系。
- 策略执行点(PolicyEnforcement Point PEP):是在一个具体的应用环境下执行访问控制的实体,将具体应用环境下访问控制请求转换为适应XACML要求的策略请求。然后根据决策请求的判决结果执行相应的动作,如允许用户请求和拒绝用户请求等。
- 策略决策点(PolicyDecision Point。PDP)是系统中授权的实体,依据XACML描述的访问控制策略以及其他属性信息进行访问控制决策。
- 策略管理点(PolicyAdministration Point,PAP)是在系统中产生和维护安全策略的实体。
- 策略信息点(PolicyInformation Point,PIP),通过他可以获取主体、资源和环境的属性信息的实体。
XACML有如下优点:
- 安全管理员只需对访问控制策略描述一次,不必在不同的系统中使用不同的应用程序策略语言重写多次。
- 应用程序开发者不必开发自己的策略语言和编写支持它们的程序,他们可以重复使用已有的和标准化的程序。
- XACML能适应大多数访问控制策略的需求,当新的访问控制要求出现时,只需要加入策略,不必修改应用程序。
- 单一XACML策略能应用于多个资源,这有助于在为不同资源编制策略时,避免不一致性和重复劳动。
- XACML中一个策略可以引用另一个策略。
2.RBAC
RBAC(Role-Based Access Control)即:基于角色的权限控制。通过角色关联用户,角色关联权限的方式间接赋予用户权限,使用角色的方式赋予权限方便扩展,当某个权限进行改变后只需要调整角色即可用户不做任何调整。
你可以通过这篇博文了解该知识点:https://www.woshipm.com/pd/1150093.html
3.DAC, MAC, RBAC, ABAC
这里简单介绍一下MAC的方式,MAC的授权方式是用户和对象都具有权限标识,只要当用户具备的权限标识达到对象的权限标识才可对对象进行相关的操作,这里的对象可以理解需要进行访问/操作的资源,如文件,比如在影视作品中我们经常能看到特工在查询机密文件时,屏幕提示“无法访问,需要一级安全许可”。这个例子中,文件上就有“一级安全许可”的权限标识,而用户并不具有。对于其他几种控制技术你可以通过这篇博文进行学习:https://juejin.cn/post/6844904056876433416
3.实例题
2011年案例题第5题:
问题1:对对称加密和公钥加密的机密性与完整性的实现过程进行简述即可(答案如下:)。
问题2:从授权的可管理性、细粒度访问控制的支持和对分布式环境三个角度分别答出XACML与RBAC的优点。
分析:题目中张工建议采用MAC,而王工建议采用RBAC+XACML方式,也可以从MAC的缺点入手。
- 从授权的可管理性
在授权可管理性上,采用MAC的方式进行授权比较复杂,麻烦不适合这种大型的企业级系统的安全管理,选择采用RBAC利用角色的方式,将用户和权限进行分离的方式比较合适。
- 细粒度访问控制的支持
RBAC+XACML的方式利用XACML提供统一的可扩展访问控制标记语言,表达策略能力强(XML方式),适合去描述各种复杂的和细粒度的访问控制安全需求,适合企业级复杂业务功能的访问控制。
- 分布式环境
安全管理员只需对访问控制策略描述一次,不必在不同的系统中使用不同的应用程序策略语言重写多次。XACML能适应大多数访问控制策略的需求,当新的访问控制要求出现时,只需要加入策略,不必修改应用程序。单一XACML策略能应用于多个资源,这有助于在为不同资源编制策略时,避免不一致性和重复劳动。XACML中一个策略可以引用另一个策略。
参考答案:
问题3:需要了解XACML结构图和了解PAP,PEP,PIP,PDP这几种策略点
根据下图,可以得出(1)为策略执行点,(2)为策略决策点,(3)为策略管理点,(4)为策略信息点。
策略 执行
点,重点在执行上,表示在一个具体的应用环境下执行访问控制的实体, 它接收外部的授权请求并生成
。
策略 信息
点,重点在信息上,表示通过他可以获取 主体、资源和环境的属性信息
的实体。
策略 决策
点,重点在决策上,进行相关决策,表示是系统中授权决策的实体
策略 管理
点,重点放在管理上,可以理解为管理各种策略,表示在系统中产生和维护安全策略的实体, 相应授权策略的响应。
参考答案: