著录项信息
专利名称 | 带有精细访问控制策略的基于角色的访问控制模型的方法 |
申请号 | CN200610083315.2 | 申请日期 | 2006-06-02 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2006-12-27 | 公开/公告号 | CN1885297 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/00 | IPC分类号 | G;0;6;F;2;1;/;0;0查看分类表>
|
申请人 | 石杰 | 申请人地址 | 浙江省杭州市下城区庆春路38号1层101室、8层801、802、803、804室、11层1101、1102室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 杭银消费金融股份有限公司 | 当前权利人 | 杭银消费金融股份有限公司 |
发明人 | 石杰 |
代理机构 | 北京中海智圣知识产权代理有限公司 | 代理人 | 曾永珠 |
摘要
本发明公开了一种带有精细访问控制策略的基于角色的访问控制模型的方法,其中包括精细访问控制策略和功能权限与精细访问控制策略的映射函数。精细访问控制策略是预定义好的运行时动态策略函数,包括业务逻辑所要求的在精细访问上的约束逻辑和基于外部环境及上下文信息的约束。本发明通过加入精细访问控制策略这一元素和相应的映射函数,解决了标准的访问控制模型中访问控制的粒度粗,只能精确到某角色对某客体进行了某种操作这一原子粒度的问题,使访问控制的粒度可以被更精确的划分。
1.一种带有精细访问控制策略的基于角色的访问控制模型的方 法,其特征在于,包括如下步骤:
客体与操作联系起来并组成功能的二元组,以描述对客体进行操 作的许可;
角色与功能通过映射联系起来并组成功能权限的二元组,以描述 角色拥有对客体执行操作的权限;
功能权限与精细访问控制策略通过映射联系起来并组成精细访 问控制的二元组,以实现运行环境中对客体的访问控制精确到客体的 一部分乃至最细粒度的控制;
根据请求客户与角色以及角色与功能之间的联系,且依据精细访 问控制对受访客体的访问进行授权,其中,
精细访问控制策略为预先定义好的运行时动态策略函数,且其包 含两个方面内容,一是描述业务逻辑要求的用户在执行操作时,有权 限访问客体的一个集合,根据精细访问控制策略的不同,访问权限受 到约束,以访问客体的子集、空集或全集,二是基于外部环境及上下 文信息的约束,在运行时确定访问客体的子集;
功能权限到精细访问控制策略的映射为单射关系。
2.如权利要求1所述的访问控制模型的方法,其特征在于:所 述角色是在特定组织中清晰定义职责和权利的工作职能,代表一种资 格、权利和责任,角色的集合为角色集。
3.如权利要求1所述的访问控制模型的方法,其特征在于:所 述功能是对计算机系统中被保护数据或资源的访问许可,功能的集合 为功能集,功能集为客体集与操作集的笛卡尔积的幂集。
4.如权利要求1所述的访问控制模型的方法,其特征在于:操 作到功能的映射,得到指定功能的操作集合;功能到客体的映射,得 到指定功能的客体集合。
5.如权利要求1所述的访问控制模型的方法,其特征在于:角 色到功能的映射,得到映射方法的集合;角色与功能之间为多对多的 关系,一个功能可以分派到一个或多个角色,一个角色也可以被分派 一个或多个功能。
6.一种带有精细访问控制策略的基于角色的访问控制模型的方 法,其特征在于,包括如下步骤:
客体与操作联系起来并组成功能的二元组,以描述对客体进行操 作的许可;
角色与功能通过映射联系起来并组成功能权限的二元组,以描述 角色拥有对客体执行操作的权限;
客体、操作、角色和精细访问控制策略按照层次关系构建成精细 访问控制的四元组,以实现运行环境中对客体的访问控制精确到客体 的一部分乃至最细粒度的控制;
根据请求客户与角色以及角色与功能之间的联系,且依据精细访 问控制对受访客体的访问进行授权,其中,
精细访问控制策略为预先定义好的运行时动态策略函数,且其包 含两个方面内容,一是描述业务逻辑要求的用户在执行操作时,有权 限访问客体的一个集合,根据精细访问控制策略的不同,访问权限受 到约束,以访问客体的子集、空集或全集,二是基于外部环境及上下 文信息的约束,在运行时确定访问客体的子集。
7.如权利要求6所述的访问控制模型的方法,其特征在于:所 述角色是在特定组织中清晰定义职责和权利的工作职能,代表一种资 格、权利和责任,角色的集合为角色集。
8.如权利要求6所述的访问控制模型的方法,其特征在于:所 述功能是对计算机系统中被保护数据或资源的访问许可,功能的集合 为功能集,功能集为客体集与操作集的笛卡尔积的幂集。
9.如权利要求6所述的访问控制模型的方法,其特征在于:操 作到功能的映射,得到指定功能的操作集合;功能到客体的映射,得 到指定功能的客体集合。
10.如权利要求6所述的访问控制模型的方法,其特征在于:角 色到功能的映射,得到映射方法的集合;角色与功能之间为多对多的 关系,一个功能可以分派到一个或多个角色,一个角色也可以被分派 一个或多个功能。
技术领域\n本发明涉及一种用于联网的计算机资源的安全授权的方法,并特 别涉及一种用于提供对系统资源的精细访问控制的技术。\n背景技术\n访问控制策略是在系统安全策略级上表示授权。利用策略对访问 主体(用户、进程)进行授权、认证、角色分配,使得只有合法的访 问主体才能享用访问客体(资源所有者)提供的服务和资源。目前广 为认可的访问控制策略有三种:自主访问控制策略DAC,强制访问 控制策略MAC和基于角色的访问控制策略RBAC。这三种访问控制 策略是在不同的时代、不同的环境需求下产生的,适用于不同的环境 中。此外,还有多级策略。多级策略给每个目标分配一个密级,一般 安全属性可分为四个级别:最高秘密级(Top-Secret)、秘密级(Secret)、 机密级(Confidence)以及无级别级(Unclassified)。由于安全发展的 需要,目前文件密级已由四级扩展为0~255级。密级划分的细化, 更便于执行多级控制的安全机制,并能满足国家和个人的保密需求。 密级形成一个层次,每个用户被分配一个相应的级,反映了该用户的 最基础的可信赖度,这种模型常用于政府机密部门。\n自主访问控制模型(DAC Model,Discretionary Access Control Model)是根据自主访问控制策略建立的一种模型,基本思想是允许 合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授 权的用户访问客体,自主体现在用户还可以自主地把自己所拥有的客 体的访问权限授予其它用户。自主访问控制又称为任意访问控制。 LINUX、UNIX、Windows NT或是SERVER版本的操作系统都提供 自主访问控制的功能。在实现上,首先要对用户的身份进行鉴别,然 后就可以按照访问控制列表所赋予用户的权限允许和限制用户使用 客体的资源。主体控制权限的修改通常由特权用户或是特权用户组实 现。自主访问控制模型的特点是授权的实施主体自主负责赋予和回收 其他主体对客体资源的访问权限。DAC模型一般采用访问控制矩阵 和访问控制列表来存放不同主体的访问控制信息,从而达到对主体访 问权限的限制目的。任意访问控制对用户提供的这种灵活的数据访问 方式,使得DAC模型广泛应用在商业和工业环境中。\n尽管DAC模型已在许多系统中得以实现,然而该模型的一个致 命弱点是访问权的授予是可以传递的。一旦访问权被传递出去将难以 控制,访问权的管理是相当困难的,会带来严重的安全问题。另一方 面DAC模型不保护受保护的客体产生的副本,即一个用户不能访问 某一客体,但能够访问它的拷贝,这更增加了管理的难度。而且在大 型系统中主、客体的数量巨大,无论使用哪一种形式的DAC,所带 来的系统开销都是难以支付的,效率相当低下,难以满足大型应用特 别是网络应用的需要。\n强制访问控制模型(MAC Model,Mandatory Access Control Model)是一种多级访问控制策略,它的主要特点是系统对访问主体 和受控对象实行强制访问控制,系统事先给访问主体和受控对象分配 不同的安全级别属性,在实施访问控制时,系统先对访问主体和受控 对象的安全级别属性进行比较,再决定访问主体能否访问该受控对 象。MAC对访问主体和受控对象标识两个安全标记:一个是具有偏 序关系的安全等级标记;另一个是非等级分类标记。主体和客体在分 属不同的安全类别时,都属于一个固定的安全类别SC,SC就构成一 个偏序关系。当主体s的安全类别为TS,而客体o的安全类别为S 时,用偏序关系可以表述为SC(s)≥SC(o)。考虑到偏序关系,主体对 客体的访问主要有四种方式:\n(1)向下读(rd,read down):主体安全级别高于客体信息资源 的安全级别时允许查阅的读操作;\n(2)向上读(ru,read up):主体安全级别低于客体信息资源的 安全级别时允许的读操作;\n(3)向下写(wd,write down):主体安全级别高于客体信息资 源的安全级别时允许执行的动作或是写操作;\n(4)向上写(wu,write up):主体安全级别低于客体信息资源 的安全级别时允许执行的动作或是写操作。\n由于MAC通过分级的安全标签实现了信息的单向流通,因此它 一直被军方采用,其中最著名的是Bell-LaPadula模型和Biba模型: Bell-LaPadula模型具有只允许向下读、向上写的特点,可以有效地防 止机密信息向下级泄露;Biba模型则具有不允许向下读、向上写的特 点,可以有效地保护数据的完整性。MAC的本质是基于格的非循环 单向信息流政策。\nRBAC96模型基于角色的访问控制从控制主体的角度出发,根据 管理中相对稳定的职权和责任来划分角色,将访问权限与角色相联 系,这点与传统的MAC和DAC将权限直接授予用户的方式不同; 其通过给用户分配合适的角色,让用户与访问权限相联系。首先介绍 一下角色的概念,角色是指一个可以完成一定事务的命名组,不同的 角色通过不同的事务来执行各自的功能。事务是指一个完成一定功能 的过程,可以是一个程序或程序的一部分。角色是代表具有某种能力 的人或是某些属性的人的一类抽象,访问控制中访问主体和受控对象 之间通过角色关联。\nRBAC96模型是包括四种概念参考模型及其框架的RBAC模型 家族。其中RBAC0是RBAC96的基本模型,RBAC0中定义了RBAC 模型的最少要素,是其它三个子模型的基础;RBAC1和RBAC2是 在RBAC0的基础上分别增加了角色继承和约束机制;RBAC3是 RBAC1和RBAC2的整合模型,根据传递关系,RBAC3包含了 RBAC0。在RBAC96的基础上Ravi.Sandhu等人又先后提出了 ARBAC97管理模型、ARBAC99管理模型。RBAC0中定义了四种实 体:用户、角色、权限和会话。在简单系统中,用户是指可以访问系 统中数据或资源的主体;角色代表组织机构中的岗位职能,是具有该 角色的成员的权限和职责;权限是在系统中的执行操作的某种能力; 当用户激活一组属于他们的角色时,会话被建立,每个会话都包含一 个用户和一个或多个角色,用户可同时激活会话中的部分或全部角 色。RBAC0中定义了两种角色分配关系:用户分配UA和权限分配 PA。在进行UA和PA分配时,可以是多对多的关系,即一个用户可 以同时被授予多个权限,一个权限可以分配给多个角色,用户可以同 时打开多个会话。在每个会话中用户拥有不同的活动角色集合, RBAC0支持最小特权原则,意味着用户可以只激活完成任务所必须 的角色。可以在需要时激活再激活分配给用户的角色,这样可以避免 用户对权限的误用和非法使用。RBAC0中定义可以自主决定是否激 活角色,即允许用户在会话过程中动态激活或撤销角色。RBAC1在 RBAC模型的基础上增加了角色继承,分为两大类,限制型角色继承 和非限制型角色继承。限制型角色继承强化了继承的结构,通常是简 单的正树或者反树结构。RBAC2与RBAC0不同的是增加了约束机 制。RBAC2是在RBAC0模型的基础上增加一个约束集合,这些约 束决定了RBAC0中各种组件是否可以接受,只有对可以接受的值的 操作才可以执行。约束是RBAC中被讨论最多的部分,也可认为是 RBAC被推动的重要原因。典型的例子是,一个组织中采购经理和出 纳是互斥的角色,通常,这两个角色不允许分配给同一个用户,因为 这很可能会产生欺诈犯罪。在高级的组织中约束是一种强有力的机 制,能够实现责权分离原则。主要的约束机制包括互斥角色、基数约 束、先决约束、会话约束和等级约束。互斥角色:在定义为互斥角色 的集合中,每个用户至多可以指派为其中的一个角色,这样支持了责 权分离原则。同样地,也可以定义互斥权限,在互斥权限集合中,每 一个角色至多可以拥有一个权限。基数约束:基数约束是定义在用户 角色分配和权限角色分配关系上的约束。用户角色分配基数约束是指 一个用户拥有的角色数量是受限的,而权限角色分配基数约束是指角 色拥有权限的数量是受限的。先决约束:该机制规定了用户在进行某 种操作时必须拥有的角色。举例来说,只有当用户具是项目组成员角 色时,才能给该用户分配程序员角色。RBAC3是RBAC1和RBAC2 的合并模型,合并模型中同时包含角色层次和约束机制。约束同样可 以应用在角色层次自身,角色层次是偏序关系,这是模型内在的约束。 而且约束可以限制给定角色的角色数目,或者限制某些角色不能拥有 子角色。这些约束类型在对于那些授权给改变已经被分配的角色层次 的情况下非常有用。在层次与约束之间会产生细微的相互作用。在互 斥条件下,可以通过约束定义私有角色来解决互斥。\n直到2004年2月RBAC被美国国家标准委员会(ANSI)和IT 国际标准委员会(INCITS)接纳为ANSI INCITS 359-2004标准。 后来又提出新的四层NIST建议标准。这4层标准分别是核心RBAC, 层次型RBAC,静态职责分离关系和动态职责分离关系。NIST核心 模型中将权限细化为客体集合和操作集合,其余与RBAC0基本相同。 层次型RBAC与RBAC1类似,在核心RBAC之上增加了角色分层, 并分为普通分层和受限分层。普通分层支持角色多重继承,受限分层 仅支持角色单重继承。约束RBAC增加了职责分离,包括静态职责 分离(SSD)和动态职责分离(DSD)。SSD限制用户不能同时指派 相互冲突的角色,DSD仅限制一个用户不能同时在一个会话中激活 相互冲突的角色。NIST RBAC模型也分为四层。分别是核心RBAC, 层次型RBAC,静态职责分离关系和动态职责分离关系。NIST RBAC 模型的四种模型包含了RBAC96模型的四个模型,并分别引入新的 机制。NIST核心模型中将权限细化为客体集合和操作集合,其余与 RBAC0基本相同。层次型RBAC与RBAC1类似,在核心RBAC之 上增加了角色分层,并分为普通分层和受限分层。普通分层支持角色 多重继承,受限分层仅支持角色单重继承。约束RBAC增加了职责 分离,包括静态职责分离(SSD)和动态职责分离(DSD)。SSD限制 用户不能同时指派相互冲突的角色,DSD仅限制一个用户不能同时 在一个会话中激活相互冲突的角色。NIST建议模型没有提供管理模 型,但给出了管理函数,分管理命令、系统支持函数和查询函数。 RBAC中引进了角色的概念,用角色表示访问主体具有的职权和责 任,灵活地表达和实现了企业的安全策略,使系统权限管理在企业的 组织视图这个较高的抽象集上进行,从而简化了权限设置的管理,从 这个角度看,RBAC很好地解决了企业管理信息系统中用户数量多、 变动频繁的问题。\n经典RBAC模型可以解决粗粒度的授权需求。即以角色(Role)、 操作(Option)和客体(Object)组成的三元组为最细粒度权限,可以控制 到某个角色对某种客体的某种操作。然而RBAC模型的基本出发点 是以主体为中心来考虑整个安全系统的访问控制,所以只针对有关主 体的安全特性进行了深入研究,而没有有关访问控制中的客体和访问 约束条件的安全特性等内容,这样就忽略了访问控制过程中对客体和 访问事务的安全特性的控制,从而可能造成整个安全系统的安全策略 不平衡,降低了模型对现实世界的表达力和可用性。对于大型的企业 级应用来说,其系统逻辑复杂,分支机构众多,同时信息数据的大量 集中存储和处理,在这种情况下,对访问控制提出了更高的要求。在 经典的RBAC模型中,对客体的定义通常为数据表,对于集中存储 的数据信息,逻辑上包含了众多的维度,如对于分机构分部门的企业, 其逻辑集中的数据必然包括机构及部门信息,而对数据的应用也需要 按维度划分和控制。比如对于某分支机构的某部门的数据查询需求, 低权限用户要限制到相应的机构和部门,而这个机构的高权限的用户 则不需要限制部门,只要限制所在机构,对于更高级的用户可能不应 该加任何限制,而允许其查询全辖的数据。经典RBAC模型如果要 解决这个问题,就需要对客体按维度进行拆分,拆到足够细的粒度。 然而对于大型的系统,数据客体都是高维度的,并且要考虑到不同操 作和不同主体对客体有不同的维度控制需求,从而造成了对客体的拆 分过于复杂,导致权限系统变得难以维护,背离达到减小授权管理复 杂性的目的,失去应用RBAC的意义。为了避免以上问题的发生, 充分发挥RBAC的优势,本发明针对RBAC模型的PERMISSION和 ROLE等概念进行了改进,得到了一种扩展型的RBAC模型,这种模 型适用于大型的企业中对数据客体有多维细粒度访问控制的要求,称 之为带有精细访问控制策略的访问控制模型。\n发明内容\n针对现有模型对数据客体访问时的粗粒度问题,本发明提供了一 种带有精细访问控制策略的基于角色的访问控制模型的方法,解决了 标准的基于角色的访问控制模型中访问控制粒度粗,只能精确到某角 色对某客体进行了某种操作这一原子粒度,使访问控制的粒度可以做 更精确的划分。\n本发明提供了一种带有精细访问控制策略的基于角色的访问控 制模型的方法,包括:将客体与操作联系起来并组成功能的二元组, 以描述对客体进行操作的许可;将角色与功能通过映射联系起来并组 成功能权限的二元组,以描述角色拥有对客体执行操作的权限;将功 能权限与精细访问控制策略通过映射联系起来并组成精细访问控制 的二元组,以实现运行环境中对客体的访问控制精确到客体的一部分 乃至最细粒度的控制;根据请求客户与角色以及角色与功能之间的联 系,且依据精细访问控制对受访客体的访问进行授权。\n其中,精细访问控制策略为预先定义好的运行时动态策略函数, 且其包含两个方面内容,一是描述业务逻辑要求的用户在执行操作 时,有权限访问客体的一个集合,根据精细访问控制策略的不同,访 问权限受到约束,以访问客体的子集、空集或全集,二是基于外部环 境及上下文信息的约束,在运行时确定访问客体的子集;并且所述功 能权限到精细访问控制策略的映射为单射关系,对于任意功能权限都 有唯一的精细访问控制策略与之相对应。\n此外,所述精细访问控制还可看作是客体、操作、角色和精细访 问控制策略按照层次关系构建的四元组。\n角色是在特定组织中清晰定义职责和权利的工作职能,代表一种 资格、权利和责任,角色的集合为角色集。功能是对计算机系统中被 保护数据或资源的访问许可,功能的集合为功能集,功能集为客体集 与操作集的笛卡尔积的幂集。操作到功能的映射得到指定功能的操作 集合;功能到客体的映射,得到指定功能的客体集合;角色到功能的 映射,得到映射方法的集合。角色与功能之间为多对多的关系,一个 功能可以分派到一个或多个角色,一个角色也可以被分派一个或多个 功能。\n与标准RBAC模型技术相比,本发明的有益效果是:\n1.加入了精细访问控制策略这一元素,用来限制标准RBAC模 型中由角色、客体、操作这个三元素构成的功能权限,达到对功能权 限进行细化的目的。\n2.在角色层次结构的RBAC模型中,包括限制型角色继承和非 限制型角色继承,角色的偏序关系带动了权限范围的变化,某角色继 承了其它角色即可得到其它角色的功能,然而精细访问控制策略元素 与角色、客体、操作这个三元组构成了单射的关系,即对于任意功能, 有唯一的精细访问控制策略与之对应,所以精细访问控制策略不随角 色的继承而传递。\n3.在限制型RBAC模型中,对角色作了静态职责分离和动态职 责分离的限制,使某用户不能同时拥有几个受约束的角色。对于精细 访问控制策略来说,与用户元素没有直接映射关系,而是与角色、客 体、操作这个三元组建立了单射的关系,所以也不受静态职责分离和 动态职责分离限制的约束。\n附图说明\n图1是带有精细访问控制策略的基于角色的访问控制模型图;\n图2是可以实施本发明的信息系统中的典型结构示意图。\n具体实施方式\n现结合附图及实施例对本发明作进一步详细说明。实施例1参考 图1,如图1所示:\n1.用户集104:用户就是一个可以独立访问被保护数据或资源的 主体,它可以是人或程序,此处简化为人,用USERS表示一个用户 集合,用u表示用户集合USERS中的一个用户,即:\n\n2.角色集103:角色是在特定组织中清晰定义职责和权利的工作 职能,它代表一种资格、权利和责任,用ROLES表示一个角色集合, 用r表示角色集ROLES中的一个角色,即:\n\n3.角色分配108是角色到用户的多对多映射:是USERS和 ROLES之间的一个二元关系,即用 表示一个用户角 色委派集合,用(u,r)∈UA表示用户u被委派了一个角色r,用户 和角色之间是多对多的关系。一个用户可以分派到多个角色,一个角 色也可以被分派给多个用户。\n给角色指派用户方法定义为:\n assigned_user:(r:ROLES)→2users\n该方法得到指定角色的user集合,即:\n assigned_user(r)={u∈USERS|(u,r)∈UA}\n4.功能112:功能是对计算机系统中被保护数据或资源的访问许 可。用PERMISSIONS表示一个功能集合,用p表示PERMISSIONS 中的某个功能,即 \n功能集为客体集与操作集的笛卡儿积的幂集:\n PRMS=2(OPSxOBS)\nRBAC模型是“策略中立”的模型,它没有对权限作具体的定义, 因此权限的本质是开放的,可以依据不同的应用和安全策略进行定 义,通常可以将权限看作是一个二元组(Obj,Opt),其中Obj是客体或 客体标识符,也就是被保护的系统数据或资源,而Opt是Obj的非空 访问模式集。\n5.操作到功能的映射方法:\n\n该方法得到指定功能的操作集合。\n功能到客体的映射方法:\n\n该方法得到指定功能的客体集合。\n6.功能分配110:表示角色到功能的映射,角色权限分配关系定 义为ROLES与PERMISSIONS之间的二元组,即用下式表示一个角 色权限委派集合。\n\n一个角色r拥有一个功能p,表示为:\n (t,p)∈PA\n7.角色和功能之间是多对多的关系。一个功能可以分派到一个或 多个角色,一个角色也可以赋予一个或多个功能。\n定义返回与功能相关联的操作的函数:\n\n定义返回与功能相关联的客体的函数:\n\n assigned_permissions(r:ROLES)→2PRMS\n该方法得到角色映射功能的集合,即为:\n assigned_permissions(r)={p∈PRMS|(p,r)∈PA}\n8.会话集105是用户调用的一组会话集合,用户与会话是一对多 的关系,每个用户都需要调用一套会话,定义函数将用户u映射到一 套会话中:\n user_sessions(u:USERS)→2SESSIONS\n该方法得到指定用户的会话集合。\n定义函数将会话s映射到一套角色中:\n session_roles(s:SESSIONS)→2ROLES\n该方法得到指定会话的角色集合,即:\n\n用户在指定会话中可用角色定义方法:\n avail_session_persm(s:SESSIONS)→2roles\n该方法得到用户的被激活会话。\n用户在一个会话里所拥有的权限定义为:\n avail_session_persm(s:SESSIONS)→2PRMS\n用户在全部会话中拥有的权限定义为:\n\n9.角色继承109关系表示为:\n\nRH是ROLES上的偏序关系,描述了授权与职责的组织结构关 系,定义了角色之间的继承关系,包括普通型和限制型两类。\n在普通型角色继承关系中,角色r1继承r2定义为:\n r1 φr2\n则r1的用户属于r2的用户且r2的权限属于r1的权限。\n\n\n授权的用户定义为:\n authorized_users(r)={u∈USERS|r′φr(u,r′)∈UA}\n授权的功能定义为:\n authorized_permissions(r:ROLES)→2PRMS\nauthorized_permissions(r)={p∈PRMS |r′φr,(p,r′)∈PA}\n限制型角色继承关系中,角色r1继承r2满足式3-24。\n\n指定角色的用户定义为:\nauthorized_users(r)={u∈USERS|r′φr(u,r′)∈UA}\n该方法得到指定角色的用户。\n角色与权限映射关系定义为:\n authorized_permissions(r:ROLES)→2PRMS\n该方法得到指定角色的权限集合,即\nauthorized_permissions(r)={p∈PRMS|r′φr,(p,r′)∈PA\n10.静态职责约束:SSD表示静态职责分配集合107,定义为:\n\n一个用户不允许被分配SSD中定义冲突的角色\n\n11.动态职责约束:DSD表示动态职责分配集合106,定义为:\n\n\n\n\n\nDSD中允许一个用户被分配相互冲突的角色,但不允许在一次 会话集中激活。\n12.功能权限111:功能权限描述某角色执行某功能这个语义,是 角色与功能的二元关系的集合,功能权限集合的元素为角色与功能的 二元组,既:\n (r,p)∈RIGHTS\n13.精细访问控制策略108:精细访问策略定义为与角色、客体、 操作这个三元组相关联的元素。这个元素描述了对客体的精细访问策 略以及上下文环境的访问控制限制,这个元素和权限的映射实现了对 访问控制的精细级别处理,即构建了精细权限。用FG_POLICIES表 示一个精细访问策略集合,用f表示精细访问策略集FG_POLICIES中 的一个策略元素:\n\n14.精细访问控制策略分配113表示精细访问策略到权限的映 射,即精细权限:精细访问策略与权限的关系定义:\n FG_POLICIES→RIGHTS\n即由集合FG_POLICIES到集合RIGHTS映射。根据定义,对于 任意的权限r,都有唯一的精细访问控制策略f与之对应,即函数FA 满足单射。\n实施例2如图2所示:用户通常为系统使用人员,客体通常为数 据库表,但不限于此,用户可以是一个程序,客体也可以是数据文件、 XML文件以及任何计算机资源,操作也不限于所列操作,可根据实 际应用系统需要任意扩充。\n例如在管理信息系统中,功能项按照粗粒度的划分,分为四大类: 系统管理类、码表管理类、数据处理类和报表查询类。通常对应四大 类的角色,即系统管理相关角色,码表管理相关角色,数据处理相关 角色和报表查询相关角色。\n系统管理用于对使用本系统的用户新增、变更、复核、查询、以 及系统日志监控、用户锁定及解锁等。系统管理类权限涉及到的角色 包括系统管理员相关的角色,操作包括增加、删除、修改、查询,客 体包括用户表、角色表、操作表、客体表、系统表等。\n码表管理的功能主要包括对各种码表的维护和查询。涉及到的角 色包括码表管理员相关的角色,操作包括增加、删除、修改、查询、 审核等,客体包括各类码表,如产品号表、货币表等。\n数据处理功能用于对业务数据的新增、变更、审核、查询以及对 业务数据的各种加工。数据处理类的功能涉及到的角色包括各类数据 处理相关角色,操作包括增加、删除、修改、查询、审核、加工等, 客体包括各数据表或数据文件等。\n报表查询功能是将加工后的数据项展现成报表。报表查询类功能 涉及的角色和操作较少,主要集中在决策者和领导层的查询操作,客 体包括各类报表。\n对于上述的细粒度访问控制要求,采用FG_RBAC模型的精细访 问策略来实现,即对于功能性的访问控制仍然精确到客体,建立角色 与功能的对应关系,而对于客体的细粒度访问控制,则通过预先设置 精细访问策略函数,在授权时将预设置的策略函数加入到精细权限集 合里,以角色、客体、操作、精细策略这个四元组来完成访问控制, 即可满足需求。\n但由于精细权限是多个集合的笛卡尔积,其元素相对众多,难于 维护,所以对角色维度采用默认方式处理,即先确定一个三元组,如 客体、操作、精细策略,或者角色、客体、精细访问策略等等,对于 剩下的一个维度,如角色维度或操作维度默认为使用同样已有三元组 中的精细访问策略,如果需要变化,则针对具体权限再做策略的调整, 这样大大降低了维护的成本。\n对于系统管理的功能,客体只有所属子系统这一个维度。如果访 问主体的角色是角色集230中的超级管理员232,对客体集210中的 客体元素角色表211执行增加222操作,则对应精细访问策略集240 中的精细访问策略元素不做任何限制242,如果访问主体的角色是子 系统管理员231,则精细访问策略函数241返回限制项,要求客体的 系统属性要和访问主体所属的系统一致。\n对于码表管理的功能,如果客体某一码表212也只有所属子系统 这一个维度,建立精细访问策略元素241与码表管理员修改某一码表 254这个功能权限元素相关联,返回一个约束,要求客体的系统属性 要和访问主体所属的系统一致。\n对于数据处理的功能,其客体为业务数据,数据量庞大而且维度 多样,建立精细访问策略元素与该功能关联,根据预先设定的业务规 则,对不同主体的不同操作返回不同限制条件。例如,支行柜员角色 234的用户执行查询221、修改223、删除224某数据表213的操作, 要限制其只能操作自己录入的数据,即数据录入者等于访问用户243; 如支行审核员角色235的用户进行查询221操作,则要限制其只能查 询本机构及下属机构的数据244;如果是总行复合员236角色的用户 进行查询221操作,则不做任何限制242。\n对于报表查询的功能,其客体是经过加工处理的报表214,数据 量虽然不大,但是维度更加丰富,建立精细访问策略元素与该功能关 联,根据预先设定的业务规则,对不同主体的查询221操作返回不同 限制条件。例如,分行报表用户237角色的主体查询221某一报表 214,精细访问策略限制报表的口径为银行口径且是报表的数据为访 问主体所在机构及下属机构的数据245;如是总行报表用户238角色 的主体做查询221某一报表214的操作,则不作任何限制242。\n精细访问策略元素通常为一策略函数,输入可以为用户、角色、 操作、客体等元素以及上下文环境等参数,输出为访问约束,限制某 功能的某一次执行的影响范围。\n以上所述实施方式仅为本发明的两个实施例,而不限于上述实施例, 对于本领域一般技术人员而言,在不背离本发明原理的前提下对它所 做的任何显而易见的改动,都属于本发明的构思和所附权利要求的保 护范围。
法律信息
- 2021-04-09
专利权的转移
登记生效日: 2021.03.26
专利权人由石杰变更为杭银消费金融股份有限公司
地址由100071 北京市丰台区海鹰路1号变更为310000 浙江省杭州市下城区庆春路38号1层101室、8层801、802、803、804室、11层1101、1102室
- 2009-02-04
- 2007-05-02
- 2006-12-27
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-05-24
|
2005-12-06
| | |
2
| | 暂无 |
1997-11-20
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |