一种细粒度强制访问的控制设计方法与流程

文档序号:12008702阅读:206来源:国知局
一种细粒度强制访问的控制设计方法与流程
本发明涉及信息安全访问控制领域中的强制访问控制、细粒度访问控制策略的设计,具体涉及一种细粒度强制访问的控制设计方法,应用于网络与信息系统的安全管理和安全控制等领域。

背景技术:
在目前信息系统的安全管理中,常用访问控制方法有为自主访问控制,强制访问控制,基于角色的访问控制。自主访问控制(DiscretionaryAccessControl——DAC)是由客体的属主对自己的客体进行管理,由属主自己决定是否将自己客体的访问权或部分访问权授予其他主体,这种控制方式是自主的。在自主访问控制下,一个用户可以自主选择哪些用户可以共享他的文件。强制访问控制(MandatoryAccessControl——MAC),用于将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由他访问的信息的一种访问约束机制。通俗的来说,在强制访问控制下,用户(或其他主体)与文件(或其他客体)都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定一个用户是否有权访问该文件。其中多级安全(MultiLevelSecure,MLS)就是一种强制访问控制策略。基于角色的访问控制(role-basedAccessControl——RBAC)理论借鉴组织管理的经验和方法,将信息系统资源访问管理与组织人事管理相结合,根据用户在组织机构中的岗位职责抽象出用于信息系统资源访问控制的角色,建立基于角色的访问控制模型和方法。RBAC理论将角色定义为与某一岗位职责相关的一组访问权限的集合,通过给用户分配或撤销角色实现对用户访问权限的授予或撤销。通过角色的桥梁作用,RBAC简化了系统访问规则的设计和用户访问权限的管理。在上述访问控制方法中,DAC难以适用于高安全等级的信息系统;MAC能够用于适用于高安全等级的信息系统,但难以实现细粒度的访问控制,也难以在复杂信息系统中设计实现;RBAC可以引入对信息系统动态特性的描述能力和对资源访问情境的关联能力实现细粒度的访问控制,此方法也满足了设计复杂信息系统的访问控制策略需求,但是在RBAC中引入细粒度将会降低资源访问控制的实时性,难以满足系统的实时性保护需求。因此,需要针对高实时性复杂信息系统的细粒度访问控制需求,需要提出新型的细粒度强制访问控制设计方法。

技术实现要素:
鉴于现有技术的不足,本发明针对高实时性复杂信息系统的访问控制安全问题,提出了一种细粒度强制访问的控制设计方法,本发明中的细粒度强制访问控制设计方法,既吸收了RBAC容易实现细粒度,适用于复杂信息系统的优点,也吸收了MAC高效安全的优势。为了解决上述技术问题,实现设计细粒度的访问控制策略,以及使用MAC实现细粒度的访问控制,本发明旨在于提供一种细粒度强制访问的控制设计方法,所采用的技术方案如下:一种细粒度强制访问的控制设计方法,所述方法包括以下步骤:(1)使用RBAC设计系统组件的细粒度访问控制策略;(2)使用解析模块将所有系统组件的细粒度访问控制策略解析,合并为全面覆盖系统访问控制策略的访问控制规则集合;(3)利用访问控制规则集合反向构造访问规则主体和客体的层级偏序结构,实现设计系统的强制访问控制策略。需要说明的是,其特征在于,所述以RBAC模型作为系统功能组件访问控制策略的设计平台,包括引入平台情境、空间上情境、时间情境和用户情境等多种环境因素设计具有环境感知能力的资源访问控制策略和方法,并通过环境因素构成的约束条件实现针对每个用户的细粒度控制,其中包括用户应用根据自己的功能获得系统用户角色,但是在一次会话中真正能够使用的系统访问权限最终由两个情境约束约束条件决定:由用户角色激活环境约束条件决定哪些用户角色在一次会话中能够被激活;由访问权限情境约束条件决定被激活用户角色的哪些权限在会话中真正可以操作,两个环境约束条件的引入将访问控制决策与用户资源访问的实时状态关联起来,实现了动态的差异化的细粒度RBAC访问控制策略。需要说明的是,其特征在于,将系统中所有功能模块的细粒度RBAC访问控制策略解析为:用户→资源,约束条件的形式访问控制规则,形成覆盖整体信息系统的细粒度访问控制策略的规则集合,其中包括选择一个系统功能模块的用户角色映射表,选择一条记录useri→rolej,从角色权限映射表中选择所有与角色rolej相关的访问控制权限{rolej→resourcek},k=1,2,3,4……,生成用户useri所有可用权限,即访问控制规则集合{useri→resourcek},k=1,2,3,4……,遍历系统所有功能模块的用户角色映射表,形成覆盖整体信息系统访问控制策略的细粒度访问控制规则集合。需要说明的是,其特征在于,利用信息系统的细粒度访问控制规则集合反向构建细粒度的强制访问控制策略,其中包括(1)根据细粒度访问控制规则集合,构建细粒度强制访问控制策略所需的层级偏序结构:将访问控制规则集合{useri→resourcek}中所有的访问对象(主体)和被访问对象(客体)均视为节点;扫描集合{useri→resourcek},选取不可被其他节点访问的user节点作为图3层级偏序结构的根节点;将可以被user节点访问但无法被其他节点访问的节点作为user的叶子节点,将访问规则中蕴含的约束条件作为叶子节点的属性存储在叶子节点中;以广度优先的方式处理user的叶子节点,同样扫描集合{useri→resourcek}中的访问控制规则,将可被当前节点访问,但不能被 当前节点的父节点集合访问的节点作为当前节点的叶子节点插入到偏序结构中,并处理访问规则中蕴含的约束条件;当被插入节点为偏序结构中新节点,或者虽然是偏序结构中已存在节点,但位于当前节点的下层时,直接将其置为当前节点的叶子节点;当被插入节点为偏序结构中已存在节点时,且位于当前节点上层时,需将被插入节点的层次调至当前节点下方。节点层次调整过程中,需要检测节点调整带来的访问关系变化,判别节点层次的调整是否引发访问控制规则的缺失或者访问控制策略的冲突,最终建立层级偏序结构;(2)根据层级偏序结构构建MAC,根据步骤(1),将访问控制规则集合{useri→resourcek}转换为层级偏序结构,根据偏序结构中节点的位置为节点即系统中的主客体对象生成强制访问控制所需的安全标记,带有安全标记和约束条件的层级偏序结构可以加强强制访问控制的粒度,从而形成了细粒度的强制访问控制。本发明有益效果在于:1、使用RBAC设计系统组件的细粒度访问控制策略,简化了在复杂信息系统中实现细粒度访问控制的设计难度;2、利用访问控制规则集合反向构造访问规则主体和客体的层级偏序结构,从而设计系统的强制访问控制策略,保证了细粒度访问控制在实时系统中执行的有效性;3、利用访问控制规则集合反向构造访问规则主体和客体的层级偏序结构以实现系统的强制访问控制策略的过程中,可以发现访问控制策略设计阶段的策略冲突。附图说明图1为本发明的总流程示意图;图2为本发明细粒度访问控制策略设计示意图;图3为本发明访问控制规则集合建立示意图;图4为本发明层级偏序结构示意图。具体实施方式下面将结合附图对本发明作进一步的描述。如图1所示,本发明为一种细粒度强制访问的控制设计方法,所述方法包括以下步骤:步骤1,使用RBAC设计系统组件的细粒度访问控制策略;步骤2,使用解析模块将所有系统组件的细粒度访问控制策略解析,合并为全面覆盖系统访问控制策略的访问控制规则集合;步骤3,利用访问控制规则集合反向构造访问规则主体和客体的层级偏序结构,实现设计系统的强制访问控制策略。基于上述步骤,本发明进一步为:1、以RBAC模型作为系统功能组件访问控制策略的设计平台,引入平台情境、空间上情境、时间情境和用户情境等多种环境因素设计 具有环境感知能力的资源访问控制策略和方法,并通过环境因素构成的约束条件实现针对每个用户的细粒度控制,其中包括用户应用根据自己的功能获得系统用户角色,但是在一次会话中真正能够使用的系统访问权限最终由两个情境约束约束条件决定:一是由用户角色激活环境约束条件决定哪些用户角色在一次会话中能够被激活;二是由访问权限情境约束条件决定被激活用户角色的哪些权限在会话中真正可以操作。两个环境约束条件的引入将访问控制决策与用户资源访问的实时状态关联起来,如图2所示,实现了动态的差异化的细粒度RBAC访问控制策略。2、将系统中所有功能模块的细粒度RBAC访问控制策略解析为“用户→资源,约束条件”形式的访问控制规则,形成覆盖整体信息系统的细粒度访问控制策略的规则集合,其中包括选择一个系统功能模块的用户角色映射表,选择一条记录useri→rolej,从角色权限映射表中选择所有与角色rolej相关的访问控制权限{rolej→resourcek},k=1,2,3,4……,生成用户useri所有可用权限,即访问控制规则集合{useri→resourcek},k=1,2,3,4……。遍历系统所有功能模块的用户角色映射表,如图3所示,形成了覆盖整体信息系统访问控制策略的细粒度访问控制规则集合。需要说明的是,所述算法具体如下:输入:用户角色映射表UR,角色权限映射表RA;输出:用户访问规则集合;Selectra(conditionra)fromRA//从角色权限映射表中选取一条记录RA←RA-ra//从角色权限映射表中删除选取的记录raUR’←Selectur(conditionur)fromURwhere(r∈ra&&r∈ur)//根据ra中的角色在用户角色映射表中选取和ra中角色相关联的用户u的记录形成用户角色映射子集UR’Selectur(conditionur)fromUR’//从用户角色映射子集中选取一条记录UR’=UR’-ur//从用户角色映射子集UR’中删除选取的记录ur如果(conditionra)与(conditionur)存在冲突,GOTO8ua←ur+ra,(conditionua)←(conditionra)+(conditionur)//将用户到角色的映射ur和角色到权限的映射ra组合成用户到权限的映射ua,并根据(conditionra)和(conditionur)构造相应条件(conditionua)ifUR’!=φgoto4//ifRA!=φgoto1//end上述算法可以将系统中所有功能模块的细粒度RBAC访问控制策略解析为“用户→资源,约束条件”形式的访问控制规则,形成覆盖整体信息系统的细粒度访问控制策略的规则集合。3、在信息系统整体访问控制规则集合的基础上反向解析构建细粒度的MAC模型,其中包括根据细粒度访问控制规则集合,构建细粒度强制访问控制策略所需的层级偏序结构,具体算法如下:输入:用户→权限规则集合{a→b}输出:用户资源偏序结构X扫描规则集合{a→b},a∈A,b∈B,A为访问控制规则中用户(访问者)构成的集合,B为访问控制规则中对象(被访问者)构成的集合将ai∈A&&置于偏序结构X的顶层,X为偏序结构,A’为ai的兄弟集合,此时A’={ai}扫描规则集合{a→b},将A中ai相关规则中被访问对象{bj}添加到集合B’中,从B’中选择一个元素bj//将B’中元素添加到偏向结构X中,(a)如果bj不在偏序结构X中,则将插入对象插入为当前节点ai的叶子节点,在叶子节点bj中添加ai→bj的访问条件(b)如果bj已经在ai的子节点集合中,在叶子节点bj中添加ai→bj的访问条件(c)如果bj位于当前节点ai的父节点集合中节点的直接后继中(c1)将父节点集合中的直接后继以剪枝方式插入为当前节点ai的叶子节点,//剪枝方式保证了bj下方所有节点随bj的移动进入新的位置,这是为了保证偏序性(c2)在叶子节点bj中添加ai→bj的访问条件(c3)将当前节点ai与ai的父节点集合中以bj为直接后继的节点a’间节点进行记录生成集合X’={a’→bj}(c4)如果取消剪枝行为,回复bj的原始位置,并发出策略出错警报goto5//X’={a’→bj}是由于规则解析导致剪枝与移动而生成的访问控制规则,若说明规则ai→bj的解析导致偏序集合X与原始控制规则集合{a→b}出现不一致,发生策略不一致(d)如果bj∈X但不在ai的后继集合也不在ai的前驱直接后继的集合中,在偏序结构X中添加关系ai→bj并在叶子节点bj中添加ai→bj的访问条件//这是ai∈X&&bj∈X,只是将ai→bj这个偏序关系添加到集合X中,但是这种添加可能会引入偏序性的破坏,比如已经有bj→x,x→ai,则ai→bj的引入将导致X偏序性的破坏(e)进行X的偏序一致性检测,如不符合,发出策略出错警报//保证插入的节点ai即能够在偏序结构X中表达正确的访问控制关系,又不会因节点的插入导致X偏序性质的破坏,比如说造成环路,X偏序性是由X实现层级安全MAC的前提B’←B’-bjifB’!=φgoto4A←A-ai,A’=A’-aiifA=φgoto13//如果A中无节点,则结束,否则,必有节点在的兄弟节点集合A’或者子节点中ifA’!=φ从A’取一元素赋予ai,else在X结构中取ai的所有下层节点(包括其兄弟节点的直接后继)构成新的兄弟节点集合A’,并且取A’中一元素赋与aiifai∈Xgoto3//新选择的节点有可能当作被访问对象已经添加进偏序结构,但在后续步骤中可能当作访问的主体被添加进偏序结构从根节点起始遍历X,在偏序结构中寻找ai的插入位置(a1)以{a→b}为依据,判断当前节点x是否能够访问ai(b1)如果x不能访问ai则以广度优先顺序选择下一节点x,如果以广度优先遍历X结束,无法找到能够访问ai的节点,说明ai为另一偏序结构的根节点,如果系统不允许出现一个以上表达访问控制的偏序结构,发出策略出错警报(c1)如果x能访问ai则以深度优先顺序选择下一节点x(c11)如果x能访问ai则以深度优先顺序选择下一节点x(c12)如果x不能访问ai则判断x的兄弟节点是否能够访问ai,若兄弟节点中有节点能够访问ai,gotoi,否则将ai添加为x节点的兄弟节点,在叶子节点ai中添加x→ai的访问条件//x的父节点能够访问ai,但其子节点无法访问ai,说ai是当前x父节点的子节点,即当前节点的兄弟节点(c13)进行X的偏序一致性检测,如不符合,发出策略出错警报Goto3//ai的插入,实现了将访问控制规则‘ai→bj’的访问主体ai添加到偏序结构X中,下一步工作是将所有以ai为主体的访问控制规则中的被访问客体bj添加到偏序结构X中如果同级节点拥有相同的前驱和后继节点集合(包括空集),并且同级节点在访问关系上存在等价关系,可以将节点合并end如图4所示,由此算法,将访问控制规则集合转换转换为层级偏序结构,根据偏序结构中节点的位置为节点即系统中的主客体对象生成强制访问控制所需的安全标记,带有安全标记和约束条件的层级偏序结构可以加强强制访问控制的粒度,从而形成了细粒度的强制访问控制。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1