非常抱歉更博又晚了很久。这几个月因工作内容的调整,技术研究偏少,更多的是编写管理规定和技术规范,也算是拓展工作的横向范围。
这两个月对于访问控制技术进行了一个比较深入的研究,本篇博文会把自己摘录的一些技术以及想法提出来,如果能帮助到他人更好地理解访问控制就更好了。
- 访问控制的基本概念
信息安全是企业信息系统实现正常稳定运行的基础。作为信息安全技术的重要组成部分,访问控制根据预先定义的访问控制策略授予主体访问客体的权限,并对主体使用权限的过程进行有效的控制,从而确保企业的信息资源不会被非法访问。访问控制的本质是校验对信息资源访问的合法性,其目标是保证主体在授权的条件下访问信息。 - 访问控制的主流技术
传统的访问控制技术主要包括三种:(1)自主访问控制;(2)强制访问控制;(3)基于角色的访问控制。随着互联网技术的快速发展,云计算、移动计算等新的应用场景对于访问控制提出了新的挑战。基于属性的访问控制((Attribute Based Access Control ,ABAC)能解决复杂信息系统中的细粒度控制和大规模用户动态拓展问题,为云计算系统架构、开放网络环境等应用场景提供了较为理想的访问控制技术方案。 -
ABAC的技术介绍
ABAC的优点是具有强大的表达能力,具有很强的灵活性和良好的可拓展性,可以较好大规模主题动态授权的问题。实体属性可以从不同的视角描述实体,用属性描述的策略可以表达基于属性的逻辑语义,灵活地描述访问控制策略。如果将传统访问控制中的身份、角色以及资源安全密级等信息抽象为实体的某个属性,ABAC可以认为传统的访问控制技术的超集,可以实现传统访问控制模型的功能。ABAC充分考虑主体、资源和访问所处的环境的属性信息来描述策略,策略的表达能力更强、灵活性更大。当判断主体对资源的访问是否被允许时,决策要收集实体和环境的属性作为策略匹配的依据,进而作出授权决策。
主体属性:主体是对资源执行操作的实体(如用户、应用程序或进程)。每个主体拥有拥有相关属性,这些属性定义了主体的身份和特征。属性可以包括主体标识、姓名、单位、职位等。主体集合S,S={s1,s2,s3,......sn},标识访问控制的主体,所属主体是指通过身份坚定的访问请求者,n表示主体s的序号,N表示主体的数量。
资源属性:资源是被主体执行操作的实体(如物理服务器,数据库)。与主体一样,资源也拥有可用于访问控制决策的属性。例如物理服务器有名称、所有者、IP地址、地域等。
环境属性:在大多访问控制模型中环境属性往往被忽略。环境属性描述了访问发生时的环境和上下文信息,比如当前日期和时间、当前网络安全等级等。它不同于主体或资源属性,但可用于指定访问控制策略和进行策略决策。 - ABAC的控制架构
属性权威AA(Attribute Authority),负责创建和管理主体、资源或环境的属性。AA是一个逻辑主体,本身可以存储属性的信息,也可以不存储。它的主要功能是把属性绑定到相应的实体,在提供和发现属性方面扮演重要的角色。数据中心通常维护有配置库和参数中心等可以提供客体、环境等方面不同属性权威的属性信息库。
策略实施点PEP(policy Enforcement Point),负责请求授权决策并实施决策。它截取主体对资源的请求,实施访问控制。PEP可表示一个单一的实施点,也可以是网络中物理分布的多个点。主体对客体访问时PEP不能被旁路。
策略决策点PDP(Policy Decision Point),负责评估使用的策略,作出授权决策(允许/拒绝)。PDP本质上一个策略评估引擎。当请求中没有给出策略需求的主题、资源或环境属性时,它从相应的AA中获取属性值。
策略管理点PAP,负责创建和管理访问控制策略,为PDP提供策略查询服务。策略有策略规则、条件和其他访问限制组成。 -
ABAC的问题
1.简洁的策略描述框架。ABAC需要简单易用的策略描述和分析工具,以降低用户描述ABAC策略的难度。
2.完善的策略合成模型。ABAC策略合成袋鼠模型需要具有方便添加新的策略合成操作符以增加策略合成的能力。同事,还应研究相应的袋鼠操作的普适性。
3.高效的安全属性交互协议。ABAC需要安全、高效的协商协议来为属性交互服务。同时考虑隐私信息保护等问题,支持凭证中属性的颗粒度提交或不经意访问控制。
4.易理解的通用本体。ABAC需要简洁、高效的通用策略描述语言和本体,已解决多组织域之间的属性描述,策略表达等方面的语义互操作问题。 -
我的理解
IT运维中也存在道家的道、法、术、器。访问控制属于法这一领域的概念。访问控制的核心概念就是确保所有与信息安全相关的资源得到控制,这个控制通过管理策略及控制技术共同实现。
控制技术是实现访问控制的难点,现在有很多研究都是设计技术模型和落地系统来做,但我认为这是对于访问控制的理解还是比较肤浅的。我认为真正让访问控制发挥效用的还是管理策略,技术人员往往都有一个思维误区,重视技术忽略管理,认为技术可以解决出现的所有问题。这几月深入管理工作之后,发现并非如此,优秀乃至优美的管理方法、管理策略可以让问题更好的解决,甚至解决的比技术更有效率!
访问控制还有一个很难的点是策略的合成和策略的冲突检测,传统的解决方案都是通过逻辑代数来做,我认为太过复杂不易理解,工作效率也不高,在我的研究中我通过一个很取巧的方式解决了这个问题,感兴趣的可以和我当面交流。
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">