陈 磊
(淮南师范学院 计算机学院,安徽 淮南 232001)
基于RIF的链接数据访问控制机制研究
陈 磊
(淮南师范学院 计算机学院,安徽 淮南 232001)
随着Web上数据量的不断增加,利用RDF组织数据并形成链接数据已经成为一种有效的应用方式。目前,链接数据的访问控制仍然没有形成规范,极大地阻碍了人们对链接数据的发布。传统的数据访问控制技术不能满足链接数据的开放环境要求,需要寻求新的控制模式以对链接数据进行有效保护。RIF是W3C推出的规则交换语言,适合于链接数据环境下的规则描述;基于属性的访问控制模型将是网络访问控制的一种趋势,将RIF与基于属性的访问控制结合起来是链接数据的访问控制的有益尝试。通过对链接数据的特点分析,给出了RIF+ABAC访问控制的定义,描述了关键的控制算法。实验表明,基于RIF+ABAC的访问控制机制非常适合链接数据的应用环境。
访问控制;链接数据;RIF;基于属性的访问控制
语义Web技术的兴起改变了传统Web资源的描述方法和组织形式。在语义Web中,Web上的任何资源将被标以一个URI,对资源的描述不再是传统的HTML文档的形式,取而代之的是用一组RDF三元组来描述资源及其各种属性,以及资源与资源之间的关系。RDF是一种图模式的数据结构,它的基本形式为(s,p,o),其中,s代表着三元组的主语,p代表着三元组的谓语,也称为s的属性,o代表着三元组的宾语。利用RDF三元组可以将Web上的RDF数据关联起来,形成关联数据(linked data)。当前,以DBpedia为核心的关联数据已经拥有了300多亿条三元组的规模,且三元组的数量仍然在不断地上升。这些关联数据分布在互联网上的各个数据服务器上,用户访问这些数据时,常见的形式是访问各个关联数据的查询终端(如 SPARQL endpoint)。
访问控制机制是传统数据管理领域中的研究重点,它对保护数据的安全、保护用户的隐私信息等有着重要的作用。常见的访问控制机制主要有自主访问控制(discretionary access control,DAC)、强制访问控制 (mandatory access control,MAC)以及基于角色的访问控制(role-based access control,RBAC)等。其中,DAC 是由数据配置中心针对每个资源统一地为所有需要访问数据的用户确定相应的访问权限;MAC是一种基于标签关系的、由系统强制执行的访问控制机制。系统将敏感标签与创建用来执行程序的所有进程关联起来。为了方便数据的管理,RBAC将所有的用户按角色进行划分,数据服务器为每个角色分配相应的访问权限,RBAC通过角色实现用户到权限间的授权,简化了授权管理,但是,单纯的基于角色的访问控制不能完全适用于网络环境下支持移动计算的信息存取管理。上述传统的访问控制机制的控制决策都由服务系统统一地通过访问主体与客体的标识进行识别,属于集中的访问控制体制[1]。语义Web环境中,数据资源是面向整个Web开放的,对于一个数据服务而言,它无法提前预知访问者的身份,因而不可能对每个访问者制定相应的访问控制策略,也不可能将所有的访问者划分到相应的角色中去,因此,传统的访问控制机制不适用于语义Web环境下的资源访问控制。针对语义Web和linked data的特点,适合的访问控制机制应该具备以下特点:
(1)账户开放管理(decentralized accounts);
(2)基于属性的权限认定(potential for attribute-based authorization);
(3)用户账户的认定时效(authentication speed);
(4)易于维护(ease of maintenance)。
近年来,关于对语义Web和linked data的访问控制研究成为语义Web社区的一个重要内容,研究涉及的问题主要集中在访问控制的机制和对用户身份的识别模式上。
文献[2]利用一组RDF元数据描述了对整个RDF文档进行访问控制,提供一个访问控制列表(access control list,ACL),但无法对具体的 RDF元组(或命名图)进行访问控制,访问控制粒度不细。
文献[3]利用规则的方式对每个受控的RDF图进行标注,并为相关的用户指定相应的访问权限。所使用的规则描述缺乏相应的通用性,复杂度高。
文献[4]和[5]各自定义了一组访问控制描述词汇(本体),分别是S4AC和PPO,采用先进的基于属性的访问控制机制,可以对受控的资源(RDF元组、RDF图)进行比较全面的访问控制。但描述规则仍自成一体,不能与其他系统进行规则交换。
文献[6]将RDF数据当作一种数据结构,将DAC机制应用到这种新的数据结构上,然后支持了受标注的RDF数据在RDF数据访问控制中所起到的作用。如前所述,DAC访问控制机制不适应在一个开放的资源管理系统中应用。
到目前为止,国内对基于属性的访问控制研究中[7-10],还没有涉及将ABAC应用到链接数据的访问控制领域。
上述研究表明,当前对于LD的访问控制机制仍然不成熟,技术方案更没有得到广泛的认可。研究中我们发现,当前的研究有两个缺陷:一是没有一个广泛认可的访问控制模型;二是各访问控制策略的描述语言不一致,制约了各个系统之间的访问控制规则的复用。
基于属性的访问控制能够解决复杂信息系统中的细粒度访问控制和大规模用户动态扩展问题,为开放网络环境提供了较理想的访问控制方案。近年来,由于社交网络的兴起,将ABAC应用到Web环境下已经成为Web数据访问控制研究的热点。ABAC的主要思想是使用实体属性对参与访问控制过程的主体、客体、权限及授权约束进行统一的描述,用属性或属性组来区分不同的实体,用实体属性之间的关系对安全需求进行形式化建模。
定义 1ABAC 是一个四元组(S,O,P,E),其中S、O、P和E分别是由主体属性、客体属性、权限属性和环境属性确定的主体、客体、权限和环境的集合。
定义2实体模式是对实体属性的描述,可表示为 X(U,D,dom,F),其中 X 是实体名,U 为刻画该类实体的属性变量集合,D为U中属性变量的域,dom为属性变量到属性变量域的指派(assign)dom:U->D,F 为属性变量值之间的依赖关系,用来对属性之间的复杂关系进行描述。
定义3实体是实体模式的实例,对实体模式X(x.a1,x.a2,…,x.an),其属性元组形式为<x.v1,x.v2,…,x.vn>,表示各属性值分别为 v1,v2,…,vn的x类实体集合。
早在20世纪90年代RDF引入语义Web的时候,人们就已经考虑到语义Web及其相关应用需要对基于规则的信息加以处理。规则交换格式的提出,使语义Web中对规则的表示有了一个统一的标准。
RIF是为了方便集成不同语言的规则集而制定的一个标准,是由W3C组织中的RIF工作组开发和制定的。RIF的目标是在各个规则系统之间建立可交换格式的标准。不同各类的规则可以和它适合的RIF方言建立相互转换。如果两种不同的规则语言可以找到彼此都共同适合的RIF方言,则这两种规则语言就可以通过该RIF术语集进行规则交换了。
RIF定义了两种方言,即基于逻辑的方言(logic-based dialect)和带动作的规则(rule with action)。而基于逻辑的方言又可以分为RIF核心(core)和 RIF 基本逻辑方言(basic logic dialect,BLD)。其中RIF-BLD本质上对应于带等式的Horn逻辑。RIF-BLD和其他的RIF变体一样,支持一个通用的常用数据类型、谓词和函数的集合。这个集合包括数据类型(如整数、布尔类型、字符串和日期等)、“内置”谓词(如大于、前缀、小于)和取值为这些数据类型的函数(如数值加减法、替换、时间中的取值)。在RIF中,通过使用谓词来表示一个事实。即谓词是表示一个事实的,而函数可以用于求值。
基于属性的访问控制策略是典型的通过对条件的判断来决定对指定的用户授予何种访问权限的访问控制机制,而一条典型的RIF规则正是通过对条件和结论的描述而组成的,即只有满足了所有条件的情况下,结论才能够成立。
总之,使用RIF方言表达访问控制策略具有以下优势:
(1)RIF在语法上便于描述基于属性的访问控制规则;
(2)RIF在语义上能够表示基于属性的访问控制策略;
(3)RIF便于跨领域的不同系统之间的访问控制规则交换与集成。
定义4一个基于RIF+ABAC(R-ABAC)的控制模型定义为以下一个三元组,即:
其中,AC是指用户的访问条件;AP是指用户的访问权限,由4个选项,分别是Create、Read、Update和Delete;RG是指要保住资源的命名图。
图1 基于RIF+ABAC的访问控制模型
模型架构图如图1。模型基于对用户属性(特征)的判断来控制用户对特定资源的访问,因此需要用户提供包含其身份特征的相应信息。在语义社会网络中,用户一般采用FOAF文件包含用户的社会语义信息。访问控制器通过对FOAF数据进行分析,匹配访问策略中的访问条件以判断该访问是否被许可;若查询被许可,则允许用户所提供的相应操作,否则,拒绝该访问。例如,下文描述文档的访问策略定义了只有属于“www.hnnu.edu.cn”的成员可以访问(Read权限)相应的资源:
在访问决策过程中,通过将用户FOAF信息相应的语义社会属性和访问策略中的访问条件进行匹配是处理过程的关键。算法以用户的查询请求和用户的FOAF信息为输入,经过访问策略的分析,最终输出用户的查询请求结果,或者返回相应的拒绝状态。
根据SPARQL查询语法结构,可以将用户的SPARQL查询封装成一个查询对象。对象主要的成员有sparql.operator,表示用户的查询类型;sparql.graph,表示用户的查询目标,它是一个标识命名图的URI;sparql.where,表示用户在指定的RDF命名图上的查询条件。在进行访问控制的分析时,首先判断用户的SPARQL查询中是否指定了具体的查询命名图,如果指定了,则直接分析服务器端的访问控制策略表中将对应的命名图的访问控制策略,否则,需要通过用户的SPARQL查询中的where子句来查找到符合条件的命名图,再进行访问控制的分析。算法描述如图2。
图2 一个R-ABAC的访问控制策略
原型系统为用户提供了一个SPARQL查询终端,由用户指定相应的查询操作(包括浏览、插入、删除、更改等),指定查询的目标RDF命名图,指定相应的查询或者其他操作语句;查询提交后,由服务端返回查询结果,或者其他相关的操作状态。图3表示了命名图“http://www.hnnu.edu.cn/newslist/1/2017-3-25/”提交了一条Insert命令,即,向该图插入了四条元组。服务端根据用户提交的FOAF文件,对查询条件和用户的权限进行审核,返回查询操作结果和状态。
由于系统是对一种基于RIF+ABAC的访问控制策略的验证,所以在进行SPARQL查询时,只考虑简单的SPARQL查询,即,只实现了SPARQL的基本图模式匹配,其他如SPARQL的可选图模式等复杂运算将在后期的系统功能中扩充。通过实验可以发现,利用RIF和ABAC的访问策略是可行的,模型是开放的,发挥了RIF的规则交换优势,也保证了ABAC的访问控制策略的可靠性。
图3 基于RIF+ABAC的查询实例
[1]Zjang X W,Li Y J,Nalla D.An attribute-based access matrix model[C].Pro.of ACM symposium on Applied computing,2005.
[2]Hollenbach J,Presbrey J,Berners-Lee T.Using RDF Metadata to Enable Access Control on the Social Semantic Web.http://dig.csail.mit.edu,January 2009.
[3]Flouris G,Fundulaki I,Michou M,Antoniou G.Controlling Access to RDF Graphs[J].Lecture Notes in Computer Science,Springer,2010,6369:107-117.
[4]Villata S,Delaforge N,Gandon F,Gyrard A.An Access Control Model for Linked Data[J].Lecture Notes in Computer Science,Springer,2011,7046:83-92.
[5]Owen S,Alexandre P.A Privacy Preference Ontology(PPO)for Linked Data[C].Pro.of LDOW 2011,http://ceur-ws.org,2011.
[6]Kirrane S,Mileo A,Decker S.Applying DAC Principles to the RDF Graph Data Model[J].Springer,2013,405:69-82.
[7]程相然,陈性元,张 斌等.基于属性的访问控制策略模型[J].计算机工程,2013,15(期):131-133.
[8]王小明,付 红,张立臣.基于属性的访问控制研究进展[J].电子学报,2010,38(期):1660-1667.
[9]令狐雄展.云计算中基于属性的访问控制技术研究[D].西安:西安电子科技大学,2014.
[10]王 谦.云存储系统基于属性的数据访问控制研究[D].镇江:江苏大学,2016.
RIF-based access control mechanism for linked data
CHEN Lei
(School of Computer Science,Huainan Normal University,Huainan Anhui,232001,China)
With the constant increment of the data on the Web,it is an effective application to organize the data with RDF and result in the Linked Data.Presently,the access control of Linked Data has not get a normalization,which has prevented the publication of the Linked Data.As the traditional methods are incompetent in the open circumstance of the social semantic web,there is a requirement for the access control model to protect the Linked Data.RIF,a W3C recommendation,can be applied in the Linked Data,and the attribute-based access control will be a trend of social network access control.Combining both will be a beneficial attempt for access control of Linked Data.By analyzing the characteristics of Linked Data,this paper gives the definition of the RIF+ABAC and describes the key algorithm of the control model.The experiment implements the RIF+ABAC control model is suitable for the Linked Data.
access control;linked data;RIF;ABAC
TP309
A
1004-4329(2017)02-069-05
10.14096/j.cnki.cn34-1069/n/1004-4329(2017)02-069-05
2017-03-20
安徽高校自然科学重点研究项目(KJ2016A664)资助。
陈 磊(1980- ),男,博士研究生,副教授,研究方向:语义Web技术。