首页> 中国专利> 一种基于动态描述逻辑的角色访问控制方法

一种基于动态描述逻辑的角色访问控制方法

摘要

本发明公开了一种基于动态描述逻辑的角色访问控制方法,其特征是:该方法首先在原有基于角色访问的基础上,引入角色库的概念,并把角色形式化地分为静态角色和动态角色,然后运用其扩展模型ERBAC来控制访问,并用动态描述逻辑SHOIQ-DL来描述ERBAC模型的访问控制方法,建立SHOIQ-DLERBAC知识库,最后,利用动态描述逻辑的一致性判定方法,来处理角色的约束机制,实现在访问过程中对约束机制的自动处理。本发明提出的模型和方法,能够在企业和网络,不论在静态还是动态的访问控制中都会对数据起到保护作用,从而使得数据更加安全。从动态描述逻辑对这种模型的形式化的表示来看,能够使得知识能够在逻辑的层面上进行推理,并通过这种方法,给出了自动处理角色约束机制。

著录项

  • 公开/公告号CN102495985A

    专利类型发明专利

  • 公开/公告日2012-06-13

    原文格式PDF

  • 申请/专利权人 桂林电子科技大学;

    申请/专利号CN201110414109.6

  • 发明设计人 常亮;章启城;

    申请日2011-12-13

  • 分类号G06F21/00(20060101);

  • 代理机构45112 桂林市华杰专利商标事务所有限责任公司;

  • 代理人罗玉荣

  • 地址 541004 广西壮族自治区桂林市七星区金鸡路1号

  • 入库时间 2023-12-18 05:25:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-06-25

    授权

    授权

  • 2012-07-18

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20111213

    实质审查的生效

  • 2012-06-13

    公开

    公开

说明书

技术领域

本发明涉及企业及网络数据信息安全领域,特别涉及用户访问资源权限的控制方法,更具体的说是一种基于动态描述逻辑的角色访问控制方法。

背景技术

访问控制(Access Control)是在身份认证的基础上,依据授权对提出的资源访问请求加以控制。访问控制是企业和网络安全防范和保护的主要策略,它可以限制对关键资源的访问,防止非法用户的侵入或合法用户的不慎操作所造成的破坏。

随着企业信息化步伐的加快和计算机技术的发展,基于Web的信息管理系统成为信息管理系统开发的主流,安全问题也成为了关注的焦点,而对用户权限进行管理则是保障信息系统安全的一个重要手段。在很多提供服务的企业中,随着企业的发展壮大,用户数目成倍地增长,形成了多用户服务模式。大量增长的用户数目使用户角色的管理分配任务繁重。同时,访问资源的策略经常由多种不同类型的策略组成,更为复杂多样化。这些都对传统的访问控制模型提出了新的应用需求。

传统的访问控制方法主要分为自主型访问控制(DAC)和强制型访问控制(MAC)两种。自主访问控制具有较高的灵活性,思想简单,容易实现。它通过矩阵或列表的形式直接创建了主体对客体的访问权限,但是DAC的致命弱点是这种访问权限的授予是可以传递的,很难控制和管理。强制访问控制主要特点是管理比较集中,安全性较高。由于MAC对主体和客体都施加了更严格的访问权限,因而影响了系统的灵活性。

而且随着网络数据库应用系统的普及,用户可访问的数据资源的结构日益复杂,规模日益增大,使用这两种传统的访问控制方式对数据的存取权限进行管理就显得十分复杂和不安全。因此,便产生了基于角色的访问控制(Role Based Access Control,RBAC)、基于任务的访问控制(Task Based Access Control,TBAC)等。

基于角色的访问控制模型由于引入了角色,使得用户和权限得到了逻辑分离,授权变得简单而灵活,访问控制框架有了较强的扩展性。RBAC的核心思想就是系统根据需要定义不同角色,将资源的访问权限封装在角色中,通过给用户分配角色,让用户与访问权限相关联。角色对应于组织中的某一特定的职能岗位,拥有特定的权限。系统可以添加、删除角色,还可以在角色间进行转换。用户通过访问角色间接地获得权限以访问系统资源,并且只可以对系统资源进行权限范围内的操作。然而,由于RBAC在用户、角色、权利等的分配上都是静态的,不能处理工作流中的数据信息,被动的访问控制特点使其不能满足企业动态业务流程处理的需要。

基于任务的访问控制模型以任务和活动为中心。任务(Task )是工作流程中的功能逻辑单元,与多个用户相关,可能包括几个子任务。而授权结构体是任务在计算机中进行控制的一个实例。任务中的子任务,对应于授权结构体中的授权步。在执行任务时,TBAC只给用户分配所需的权限,未执行任务或任务终止后,用户不再拥有所分配的权限,而且在任务执行过程中,当某一权限不再被使用时,授权步会自动将该权限收回。另外,对于敏感的任务若需要不同的用户来执行,可以通过授权步之间的依赖关系来实现。授权步的生命周期和授权步自我动态管理,是TBAC动态授权的具体体现。

TBAC是一种上下文相关的访问控制模型,适合处理工作流中有时效性和流动性的数据信息,权限随着数据的处理而被授予或取消。但这种主动的访问控制模型不能处理非工作流类的任务,如查询等,并且TBAC不支持角色的层级关系,不适合企业的组织结构层次和分布式管理。

综合以上两种模型的特点,于是就有人在其基础上将RBAC和TBAC结合在一起提出了基于任务和角色的访问控制模型TRBAC,即在静态角色授权的基础上加入了面向任务的工作流思想。在TRBAC模型中用户和权限之间是通过角色和任务来进行分配和管理的。图1给出了简单的TRBAC访问控制模型。

以上的TRBAC模型,在传统的RBAC的基础上增加了任务、任务实例和任务上下文这几个组件。用户和任务都被分别赋予角色,而权限则被赋予任务。任务上下文作用于任务,而运行过程中则作用于任务实例。

该模型使用了7个主要的术语,分别是用户、角色、任务、任务上下文、任务实例、会话和权限。任务和角色是两个相互独立又相互关联的重要概念,角色通过任务与权限相关联,角色在执行任务前不赋予权限,只有在执行任务时才具有权限,任务是角色与权限交换信息的桥梁。在实际操作中,用户通过获得角色所拥有的权限来执行任务,权限随着任务实例的执行而变动,动态授予或收回,真正实现权限的按需分配和动态分配;任务完成后,角色的权限也随之收回。图1中的虚线表示在实际的工作流系统运行过程中,角色只能执行任务实例,而只有任务实例才真正拥有所对应的权限。

上述TRBAC模型通过在任务流中加入角色,使权限可以通过任务和角色分派给用户,从而实现了用户的动态授权。但这种模型存在着以下不足:

第一,只是单纯的将角色引入到任务流中去,没有很好的继承RBAC的静态授权的优点;

第二,由于在上述模型中,只有在执行任务实例时才会将权限授予角色,而用户在没有执行任务实例时所激活的角色并没有相应的权限,这样就使角色和权限的对应关系很难确定;

第三,没有涉及如何处理在任务流中加入角色所带来的角色约束的问题,作为一个完整的安全系统模型而言,约束机制是非常重要的,如何处理这种机制也显得尤为重要。

综上所述,在访问控制中,如何处理用户和权限的分配关系是研究的重点,这也是涉及到信息安全领域的一个难点。目前的各种方法在具体应用领域都有其局限性,很难满足当今企业和网络对信息安全的需求。

发明内容

本发明的目的是为克服上述方法的不足,在原有基于角色访问控制的基础上,新增和改进了相应的模块,形式化地称为ERBAC模型,并在此模型基础上提出了一种基于动态描述逻辑的角色访问控制方法。这种方法能够在企业和网络,不论是在静态或动态访问中,都会对数据起到保护作用。

实现本发明目的的技术方案是:

1、在原有基于角色访问控制的基础上,引入角色库的概念,并将角色形式化地分为静态和动态:

首先将从角色的划分入手,在RBAC中定义了角色是被授予一定权限的,用户通过会话激活被指派的角色,以获取相对应的访问权限。RBAC中的角色是被系统管理员静态的分配给用户的,当某一用户要完成特殊任务时就有可能会超越原有角色赋予的权限,而其超出的权限用户并不能动态的获得,这样就会导致任务不能完成。本发明的第一步就是引入角色库的概念,并将角色形式化地分为静态和动态。

角色库(RL)是系统管理员创建的包含所有权限的角色集合。RL中包含各种角色,角色之间也存在各种关系,如:包含、互斥等,关于角色之间关系对访问控制的影响将在如何处理角色约束中叙述。静态角色RS就是系统从角色库中取出,静态分配给用户的角色,这些角色一般来说都只是被赋予完成基本功能的权限或者一些私有权限。动态角色RTI是在执行任务的过程中,通过任务流的作用,从角色库中取出的完成任务所必须的权限所对应的角色,这些角色是在静态角色中没有的,动态存在或取消的。这里我们也引入了背景技术中涉及的任务的概念,结合任务流的思想,目的是为了使用户能够在更适当的时候获得所需必要权限,这也使得数据信息更加安全。下面我们将引入又一新概念会话列表(SL)来储存静态角色和动态角色。

 会话列表是用户在访问过程中首先要获取的,用户所得到的会话列表就是用户当前可以激活的角色,或说可以获得的做大权限。会话列表中静态地保存着RS,这些角色在没有任务执行时用户也可以通过会话激活并获取操作的相应权限。另外,在任务实例到来时,会话列表中会动态地存在一些角色即RTI,以帮助用户获取静态角色所没有的权限。此部分具体实现过程如下:

首先,当用户被分配给任务实例时,系统将完成任务实例所需的权限对应为RL中的角色,这些角色应当包含最小权限原则的基本约束。最小权限原则保证其角色在完成相应任务时,拥有所需的所有许可,并且这个许可集绝不能超过它实际所需的许可范围,即不能给任务多余的角色,以保证数据信息的安全性。这一原则就要求我们在角色和权限的分派时要注意某些角色的适当的粒度。

其次,将角色从RL中取出,与会话列表中的静态角色相比较,将列表中除静态角色外的角色动态的储存在列表中,供用户激活。

最后,用户将会话列表中的角色通过会话激活,获取相应权限以完成任务。会话列表中的动态角色RTI将随着任务的执行程度,动态地从列表中存在或取消。

2、运用ERBAC模型来控制访问,并用动态描述逻辑SHOIQ-DL来描述ERBAC模型,给出知识库的表示形式:

动态描述逻辑SHOIQ-DL在描述逻辑的强大刻画能力和推理特征的基础上引入动作理论,从而,能够更加准确地对语义Web的动态环境下的相关领域知识进行刻画和推理。ERBAC模型的相关概念关系有:

(1) SL,L,WT,TI分别表示会话列表、任务实例的生命周期、任务集和任务实例集;

(2) U,RL,R,P和S分别为用户、角色库、用户激活的角色、权限和会话的集合;R∈RL ;RS∈RL,其中Rs表示基本角色(即静态角色);RTI表示通过任务实例从角色库中取出的除RS之外的角色(即动态角色),由上述概念易知RTI存在于SL中,其中RTI={U,S,R,P,[ts, te]};

RTI中的[ts, te]表示在任务实例的生命周期L中,在任务被调用ts开始到任务完成或被挂起te截止。

(3)UAíU×R,用户-角色分配关系;

(4)PAíP×R,权限到角色的分配关系;

(5)TIAíTI×R,表示任务实例与可以激活的角色的分配关系;

(6) Tr(R)表示角色的传递关系;

(7) R?R',角色层次的偏序关系;

(8) user,roles和permissions为函数,其中:user:S?U,将每个会话S映射为一个用户U(在会话的生命周期中不会改变);roles:S?2R将每个会话S映射到集合roles(s) í{r:?r'í ((user(s),r')∈UA)}(会随时间变化);每个会话s都有权限permissions(s)=∪r∈roles(s){P:?r'' ír((p,r'')∈PA)};

(9)Constraints为约束的集合。

对于角色主要有以下几种约束:角色静态互斥约束;角色动态互斥约束;角色基数约束;角色前提约束。

角色静态互斥是要求某些角色不能同时分配给一个用户,可以用R,?R∧R'来表示这两个角色的关系,其中R,R'是不同的角色。动态互斥是一个用户开始会话时,不能同时激活某些角色,在本文中对应于任务实例激活的角色,其关系描述和上述静态互斥一样。角色基数约束包括角色可以分配的最大用户数和最小用户数,这主要从安全角度来考虑,可以用描述逻辑形式化地表示为? nR其中??{£, 3},n为非负整数。角色前提约束是指用户在被指派角色R之前,必须已经具备另一角色,实际情况中都是对有一定业务联系或关系的角色起作用,在这里我们定义角色的前提约束为基本角色的一部分。

SHOIQ-DL的基本符号包括由角色名组成的集合NR、由概念名组成的集合NC、由个体名组成的集合NI、以及由原子动作名组成的集合NA。从这些符号出发可以通过构造算子递归地生成角色、概念、公式和动作。动态逻辑SHOIQ-DLERBAC包括以下符号:

顶概念和底概念:丅,丄;

原子概念名:U,S,R,P,SL,WT,L,TI;

原子角色名:UA,PA,roles,user,permissions,Constraints,TIA;

动作集合:π;

概念构造符:?,?,?,[ ],{},??{£, 3};

角色构造符:- ,?,Tr( );

其中,-  ,Tr( )为一元构造符,分别表示角色的逆和角色的传递;?是二元构造符,表示角色的包含;

给定一个ERBAC状态,我们定义:u∈U,s∈S,r∈R,p∈P。本文接下来用M表示SHOIQ-DLERBAC模型,KB表示其知识库,给出SHOIQ-DLERBAC的语法定义:

定义1  在知识库KB中,概念C, D定义如下

C, D ::= U |S |RL |R |P |SL |WT|TI | L | ?C | [π]C | C?D | C?D | ?R.C | ?R.C | {pi} | 3nR.C | £nR.C|丅|丄

其中角色R定义如下:

R ::= UA | PA |  roles | user | permissions |Constraints |TIA| R| R?R' |Tr(R) 

对于任意两个概念C、D,将形如C?D的断言称为一般概念包含公理。将由一般概念包含公理组成的任一有限集合T称为一个一般TBox。

这里的动作集合π由如下产生式生成:

                     π, π' ::= α | π?π' | π;π' 

其中α?NA,NA 为动作名集合,将形如α、π?π'和π;π'的动作分别称为原子、选择、和顺序动作。

定义2  KB中的断言ρ定义如下:

ρ::= U(u) |S(s) |R(r)| L(ts,te)|P(p) |SL(r) |WT(wt)| TI(ti) | UA(u,r) | PA(p,r) | roles(s,r) | user(s,u) | permissions(s,p) |Constraints(r) |TIA(ti,r)| R-(r) | R?R' |Tr(R)

对于任一概念C、任一角色R和任意两个个体名u,r?NI,将形如C(u)、?C(u)、R(u,r)和?R(u,r)的断言都称为个体断言,其中也将C(u)、R(u,r)分别称为概念断言和角色断言。将由个体断言组成的任一有限集合A称为一个ABox。

将形如Tr(R)和R?R'的断言分别称为角色传递断言和角色包含公理,将由这些断言和公理组成的任一有限集合R称为一个RBox。

定义3   SHOIQ-DLERBAC的知识库KB=(TBox, ABox, RBox) 。

定义4  SHOIQ-DLERBAC中的公式由如下产生式生成:

 ?, ψ ::= Tr(R) | R?R' | C?D | C(u) | R(u,r) | <π>? | [π]? | ?? | ?úψ | ?∧ψ

其中u, r?NI,NI 为个体名集合,R和R'为角色,C和D为概念,π为动作。将形如<π>?和[π]?的公式分别称为动作可能性断言和动作必然性断言。

3、利用动态描述逻辑一致化的判定方法来处理角色的约束机制,实现在访问过程中对约束机制的自动处理:

引入动态描述逻辑的知识表示能够对角色的约束机制实现更好地自动处理。基本前提约束在上文中将此转化为会话列表中的静态角色,并假设静态角色不违反访问控制中的互斥原则。当任务实例分派的角色添加入会话列表中,用户从会话列表获得角色并通过会话激活角色时,我们用描述逻辑的一致性判定方法来判定用户所选激活的角色是不是互斥角色。根据前文中互斥角色的形式化描述,假设R,R'是在任务实例到来时动态产生的两个不同的角色,它们之间是互斥的,则其关系描述为R,?R∧R',同时激活两种角色,相当于在公式中将两角色公式合取,则易知为假,在这种情况下我们就认为公式是不一致的。

SHOIQ-DLERBAC的知识库中,角色约束表现为角色包含、基数约束。当给定任务实例时,角色包含表现为完成某一任务的子实例所需权限的角色可能不止一种,存在包含关系的若干种角色。此时我们参考最小权限原则,选取适当的角色加入到会话列表中。基数约束是对于角色的最大用户数和最小用户数而言的。设定一个自然数n,可形式化地表示为£ nR或 3 nR,当超过或小于设定值时,根据SHOIQ-DLERBAC公式的一致性判定原则,得出公式在此时是不一致的。

本发明的优点是:本发明提出的模型和方法,能够在企业和网络,不论在静态还是动态的访问控制中都会对数据起到保护作用,从而使得数据更加安全。从动态描述逻辑对这种模型的形式化的表示来看,能够使得知识能够在逻辑的层面上进行推理,并通过这种方法,给出了自动处理角色约束机制的思想。

附图说明

图 1 是简单的TRBAC访问控制模型;

图 2 是本发明方法中改进和扩展了的角色访问控制ERBAC模型。

具体实施方式

下面结合附图2对本发明提供的模型和方法进行详细描述。

图2是在基于角色的访问控制模型基础上加入任务、角色库、会话列表,并将角色分为静态角色和动态角色。首先,我们先用动态描述逻辑SHOIQ-DL形式化地描述这整个模型,建立SHOIQ-DLERBAC的知识库,目的也就是为了在访问控制中自动地处理角色的约束机制。其次,基于这个模型,系统管理员将权限静态的分派给角色,形成各种形式的如上所述的角色,并将这些角色保存在角色库中。为了使得角色和权限的分派在合理的粒度范围内,这就要求系统管理员的有一定的经验。

管理员还要将一些基本角色,如某些私有权限对应的角色,静态地加入到会话列表中。在这一步,用户只要通过获取会话列表,并通过会话就可以激活相应的角色,得到一些最基本的访问权限。

当任务实例到来时,就启动基于任务流的方式。首先,将任务实例分割为若干的子实例,将子实例对应于完成自身的权限,然后,从角色库中取出其权限对应的角色,并将这些角色和会话列表中的角色相比较,把会话列表中原来没有的角色添加到会话列表中。由于任务流的特点,这些角色在会话列表中是随着任务被执行的情况动态存在或取消的。

在以上过程中,我们都利用动态描述逻辑的一致性方法来处理本文中提到的角色的各种约束机制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号