专利名称:基于属性和规则的访问控制方法
技术领域:
本发明涉及一种信息资源的访问控制方法,具体涉及一种基于属性和规则的访问
控制方法。
背景技术:
随着计算机网络技术的迅速发展和广泛应用,网络信息安全显得尤其重要,其根 本目标是保障计算机中信息的保密性、完整性和可用性,其中,访问控制是保障管理信息 安全的一种重要技术。访问控制技术有多种,如自主访问控制(Discretionary Access Control,简称DAC),强制访问控制(Mandatory AccessControl,简称MAC),基于角色的访 问控制(Role Based Access Control,简称RBAC)。其中,RBAC模型以高效的授权管理,被 公认为当前最有发展潜力的新一代访问控制模型,并得到广泛的深入研究和应用。
在大型企业中,用户和权限管理是一个复杂、具有挑战性的工作。RBAC模型通过 引入角色(Role)这一中介,人工分配用户合适的角色,从而授权用户角色的权限,实现了 用户与权限的逻辑分离,大大地方便了权限的管理。但RBAC模型的角色往往是静态的,当 大型企业发生组织和功能变化时,需要将很大数量的角色进行重新分配,同时,当用户数目 很庞大时,RBAC模型的人工角色分配和管理方式,使得角色权限管理工作变得非常庞大、笨 重。 基于规则的RBAC (Rule based RBAC,简称RB-RBAC)为庞大用户数目带来的笨重管 理任务提供了一种解决方法。RB-RBAC模型综合考虑了用户属性,制定规则,为用户自动分 配角色,实现自动化管理用户和权限,满足管理庞大用户数目的安全需求,在一定程度上降 低了管理工作的复杂度。当系统考虑的用户属性数目逐渐增长,分析用户角色分配越来越 复杂,规则制定变得越来越复杂,规则数目随用户属性数目增长而呈指数增长,这些局限性 使得模型不能很好地满足服务应用增长的安全需求。而且,RB-RBAC没有提出多种访问策 略的解决方法。基于属性的访问控制(Attribute based Access Control,简称ABAC)模型 没有引用"角色"这一中介,使得模型的管理工作变得较为复杂,存在大量的重复工作,不能 满足用户数目庞大的需求。 在很多提供服务的企业中,随着企业的发展壮大,用户数目在成百上万的不断增 长,同时,对资源的访问制定了更为细化多元化的策略需求。这些使得人工管理分配用户角 色,变成一个可怕庞大的管理任务,已经不能满足系统的需要。这就需要一个有效的访问控 制方法来实现日益复杂的数据资源的安全管理。 随着资源信息细粒度化,企业往往根据多种不同资源属性和多种不同用户属性, 制定相应访问策略,保护更为安全细化的资源信息。针对不同类型的用户属性和多种不同 类型的资源属性制定的多元化访问策略已经成为一种需要。
发明内容
本发明所要解决的技术问题是提供一种基于属性和规则的访问控制方法,能够将用户属性和规则结合,实现自动分配用户角色的高效访问控制机制。 为了解决以上技术问题,本发明提供了一种基于属性和规则的访问控制方法,包 括如下步骤 (1)根据访问策略制定基于属性分配角色的规则; (2)对于提出访问资源请求的用户,系统根据数据库中的用户信息,获得用户属性 及其对应值; (3)根据步骤(2)获得的所述用户属性及其对应值,建立用户的属性表达式,根据 步骤(1)制定的规则,分配用户角色; (4)查询分配用户角色的对应权限,建立组合权限,用户实现对资源的综合信息的 访问获取。 其中,根据访问策略制定基于属性分配角色的规则包括 分析访问策略和访问策略中用户属性和资源属性间的对应关系; 制定分配角色的规则,建立角色及其对应的权限信息库。 所述用户属性和资源属性间的对应关系包括一对一的对应关系和一对多的对应 关系。 在上述的访问控制方法中,所述建立角色及其对应的权限信息库包括
建立一对一的角色及其对应的权限信息库;
建立一对多的角色及其对应的权限信息库。
所述用户的属性表达式包括单一属性表达式和组合属性表达式。 本发明方法是针对基于多样化的用户属性和资源属性制定的细粒度访问策略提
出的,可以有效地进行资源信息的访问控制。系统通过制定规则,自动分配用户角色,角色
数目是由用户属性的取值分类决定的,简化了用户数目增长带来的安全管理问题,满足多
元化的访问策略,适应目前针对资源信息访问更细粒度的需求。本方法适用于一切根据用
户属性和资源属性制定策略的应用场合,也可以满足安全审计的安全需求,如一些银行等
企业。本方法增强了系统管理的灵活性和便捷性、可操作性,实用性强。
下面结合附图和具体实施方式
对本发明作进一步详细说明。 图1是本发明的基于属性和规则的访问控制方法的流程图; 图2是本发明的一种访问策略示意图; 图3a是图2访问策略中用户属性与资源属性的一一对应关系示意图; 图3b是图2访问策略中用户属性与资源属性的一对多关系示意图; 图4是本发明的一个实施例的用户属性与资源属性的对应关系; 图5是本发明一个实施例的组合权限示意图。
具体实施例方式
本方法所用到的一些基本概念和定义如下
1.用户(User),是对资源进行操作的实体。 2.用户属性(User Attribute, ua),表示用户的身份和特性的信息。如用户国籍(User-Country),用户年龄(User-Age)。 3.资源(Resource)。是由用户操作的一种实体。 4.资源属性(Resource Attribute, ra),表示资源特性的相关信息。不同 资源有不同的相应属性,同一资源有多种不同的属性信息,如电影资源有电影名称 (Movie-Title),电影内容(Movie-Content),电影语言(Movie-Language)和电景j发布时间 (Movie-ReleaseDate)等属性。 5.组合属性表达式(cae),对于某种资源属性的访问策略,是由用户的某几种属 性来制定时,此时用户的这几种属性对应的表达式的组合,构成了用户的组合属性表达式。 如,User-Country = "China,,AND User-Career = "Engineer,,。 6.单一属性表达式(sae),用户单个属性组成的表达式。对于某种资源属性的访 问策略,是由用户的某一种属性来制定时,此时用户的这种属性对应的表达式为单一属性 表达式。 7.组合权限(CP),是分配某用户的几种不同角色所对应的权限的组合,是用户访 问资源的最终权限。 系统指定的多样化细粒度的多种访问策略中,涉及到多种类型的用户属性和多种 类型的资源属性。根据策略中用户属性和资源属性的对应关系,指定分配角色的规则,建立 分配用户的角色及其对应的权限。 对于提出访问资源请求的用户,根据用户的属性及其属性值,由规则,分配用户具 体的角色,得到角色对应的权限,从而可以得到不同资源属性对应的用户权限的组合,根据 这种组合权限,用户实现对资源的最终访问。
图1为本发明方法的系统执行流程图。本发明方法包含的步骤有 步骤Sl、根据访问策略制定基于属性分配角色的规则。具体是根据系统或企业制
定的多样化细粒度的访问策略,制定根据属性分配角色的规则。包括下列步骤 (1)分析访问策略和策略中用户属性和资源属性间的对应关系。 为了保护资源信息安全,企业经常根据资源属性和用户属性,来定义访问策略。在
多个访问策略中,用户属性与资源属性的对应关系,归纳来说,有两种,一种是一对一的关
系,即一种用户属性对应访问一种资源属性信息;另一种是一对多的关系,即多个用户属性
对应访问 一种资源属性信息。 例如图2是根据图1得到的用户属性和资源属性的两种对应关系。表示5个访问 策略,这些策略包含4种用户属性(uai, ua2, ua3, ua4)和4种资源属性(r&1, ra2, ra3, ra4)。 在这5个策略中,资源属性与用户属性的对应关系有一对一的对应关系(如rai——uai ;
ra2-ua2),如图3a ;—对多的对应关系(ra3-ua2, ua3 ;ra4-ua3, ua4),如图3b。 (2)制定分配角色的规则,建立角色及其对应的权限信息库。步骤如下
i.当某种资源属性与用户属性是一对一的对应关系时,系统制定分配用户角色的 规则,建立规则中分配用户的角色RS(rSl, rs2,, rsm)和角色对应权限的信息库PS(pSl, ps2,…,ps迈)。 ii.当某种资源属性与用户属性是一对多的对应关系时,系统制定分配用户角色 的规则,建立规则中分配用户的角色RC(rc^,i^,…,rc》和角色对应权限的信息库PC(pCl,
PC2, ...,pCn)。
步骤S2、对于提出访问资源请求的用户,系统根据数据库中的用户信息,获得用户 属性及其对应值。 步骤S3、根据用户的各种属性及其对应值,建立用户的sae和cae,根据步骤Sl的 第(2)步制定的规则,分配用户角色rs和rc。 步骤S4、查询分配用户角色的对应权限ps和pc,建立组合权限CP,用户实现对资 源的综合信息的访问获取。 如图4和图5为本发明的一个具体实施例。某在线娱乐商店制定执行下列3项访 问控制策略 策略1 :对于年龄{21}的用户,规定可以观看Ll级别所有内容(all content)内 容的电影;对于年龄{13,< 21}的用户,可以观看L2级别无黄色(no sex)内容的电影; 对于年龄{ < 13}的用户,可以观看L3级别无黄色、暴力、宗教(no sex, noviolence, no religion)内容的电影。 策略2 :某些国家由于具体国情文化等原因,对电影播放的内容有所限制。所以, 对于所属国家是中国、印度、沙特阿拉伯、埃及、新加坡{China, India, SaudiArabia,Egypt, Singapore}的用户,规定不能观看有黄色内容的电影; 策略3 :基于付费所对应的用户资格和新旧类型电影的访问控制策略。 对于每月付费为100元的用户,规定不能观看最新发布的电影;对于每月付费为
300元的用户,可以观看最新发布的电影。 按照本发明实现基于属性和规则的访问控制方法包括以下步骤 步骤1、根据访问策略制定基于属性分配角色的规则。具体包括 步骤l. 1、根据访问控制策略分析在策略中用户属性和资源属性的对应关系。如图
4是本实施例的访问策略中用户属性与资源属性之间的对应关系。 步骤1. 2、根据访问策略,制定分配用户角色的规则,建立角色和对应权限的信息 库。其中 (1)根据访问策略中资源属性(Resource-ReleaseDate)与用户属性(User-Fee) 的一一对应关系,制定规则如下 规则1 :如果用户付费300元,则用户角色为高额付费。 规则2 :如果用户付费100元,则用户角色为普通付费。
实现的程序代码如下 Rulel: : IF User-Fee = 300 THEN Assign Role "Premi咖,, Rule2: :IF User-Fee = 100 THEN Assign Role "Regular" (2)根据访问策略中资源属性资源内容(Resource-Content),与用户属性用户 年龄(User-Age),用户国籍(User-Country)的一对多对应关系,定义集合{A,... ,Z}为用 户国籍(User-Country)的属性值的集合。因此,制定规则如下 规则3 :如果用户年龄小于13,且用户国籍属于集合{A, . . . , Z},则用户角色为儿
规则4 :如果用户年龄大于等于13且小于21,且用户国籍属于集合{A,. . . , Z},则用户角色为青少年。 规则5 :如果用户年龄大于等于21,且用户国籍属于集合{中国、印度、沙特阿拉 伯、埃及、新加坡},则用户角色为青少年。 规则6 :如果用户年龄大于等于21,且用户国籍不属于集合{中国、印度、沙特阿拉 伯、埃及、新加坡},则用户角色为成年。
实现的程序代码如下
Rule3::IF User-Age < 13 AND
User-Co皿try IN(A,…,Z} THEN Assign Role "Child"
Rule4: :IF {User-Age >= 13 AND User-Age < 21} AND
User-Country IN(A,…,Z} THEN Assign Role "Juvenile,, Rule5: :IF User-Age >= 21 AND
User-Country IN {China, India, Saudi Arabia, Egypt, Singapore} THEN Assign Role "Juvenile,, Rule6: :IF User-Age >= 21 AND
User-Country IN {{A,... ,Z}_{China,India,Saudi Arabia,Egypt, Singapore}}
THEN Assign Role "Adult" 建立角色和对应的权限信息,见如下表一。
表一
角色权限库
成人Ll级别(所有内容)
青少年L2级别(无黄色内容)
儿童L3级别(无黄色、暴力、宗教内容)
高额付费可以看非最新发布和最新发布的电影
普通付费可以看非最新发布的电影
程序代码建立角色和对应的权限信息,见如下表二
表二
7角色权限库
AdultLI{allcontent}
Juvenile{nosex}
Child{nosex, noviolence, noreligion}
PremiumCanview{new, old}releasedatemovies
RegularCanviewoldreleasedatemovies 步骤2、某用户访问系统资源时,根据用户数据库中的属性及其属性值,建立sae
和cae,并且,根据步骤1. 2的第(2)步中制定的规则,分配用户相应的角色。 如,某访问用户,由数据库可获取用户的属性和属性值为用户年龄10岁,用户国
籍为中国,用户费用为300元(User-Age = 10,User—Country = "China",User—Fee = 300)。 那么,建立用户的组合属性表达式cae为{User-Age = 10 ANDUser-Country =
"China"},单一属性表达式sae为{User-Fee = 300}。根据(2)中制定的规则1——规则
6,分配用户有两个角色高额付费和儿童(即Premium和Child)。 步骤3、由步骤2中的角色,根据表一 (表二),查询角色对应的权限。 用户被分配角色Child和Premium。因此,可以得知这两种角色对应的对资源属性
的访问权限为 pc Resource-Content = "L3,, ps Resource-ReleaseDate = "New,,AND "Old" 步骤4、建立得到组合权限CP。 由步骤3中的对资源属性的访问权限pc和ps,可得组合权限CP = pc AND ps((Resource-Content ="L3,,)AND(Resource-ReleaseDate ="New,,AND "Old,,)),因此, 用户能访问L3级别内容的新旧发布日期电影。
权利要求
一种基于属性和规则的访问控制方法,其特征在于,包括如下步骤(1)根据访问策略制定基于属性分配角色的规则;(2)对于提出访问资源请求的用户,系统根据数据库中的用户信息,获得用户属性及其对应值;(3)根据步骤(2)获得的所述用户属性及其对应值,建立用户的属性表达式,根据步骤(1)制定的规则,分配用户角色;(4)查询分配用户角色的对应权限,建立组合权限,用户实现对资源的综合信息的访问获取。
2. 如权利要求l所述的基于属性和规则的访问控制方法,其特征在于,步骤(1)所述的 根据访问策略制定基于属性分配角色的规则包括分析访问策略和访问策略中用户属性和资源属性间的对应关系; 制定分配角色的规则,建立角色及其对应的权限信息库。
3. 如权利要求2所述的基于属性和规则的访问控制方法,其特征在于,所述用户属性 和资源属性间的对应关系包括一对一的对应关系和一对多的对应关系。
4. 如权利要求3所述的基于属性和规则的访问控制方法,其特征在于,所述建立角色及其对应的权限信息库包括建立一对一的角色及其对应的权限信息库; 建立一对多的角色及其对应的权限信息库。
5. 如权利要求1所述的基于属性和规则的访问控制方法,其特征在于,所述用户的属性表达式包括单一属性表达式和组合属性表达式。
全文摘要
本发明公开了一种基于属性和规则的访问控制方法,包括如下步骤(1)根据访问策略制定基于属性分配角色的规则;(2)对于提出访问资源请求的用户,系统根据数据库中的用户信息,获得用户属性及其对应值;(3)根据步骤(2)获得的所述用户属性及其对应值,建立用户的属性表达式,根据步骤(1)制定的规则,分配用户角色;(4)查询分配用户角色的对应权限,建立组合权限,用户实现对资源的综合信息的访问获取。本发明能够将用户属性和规则结合,实现自动分配用户角色的高效访问控制机制。
文档编号H04L29/06GK101729403SQ20091020026
公开日2010年6月9日 申请日期2009年12月10日 优先权日2009年12月10日
发明者朱一群 申请人:上海电机学院