基于语义的访问控制模型及其推理机制

  • 格式:pdf
  • 大小:304.90 KB
  • 文档页数:2

36卷 第3期ol.36 No.3 2010年2月Februar 基于语义的访问控制模型及其推理机制沈海波(湖北工业大学计算机学院,武汉 430068)摘 要:对语义Web 上资源进行访问要求授权决策充分考虑实体之间的语义关系,但传统的访问控制模型不能处理该问题。

结合基于本体的语义描述技术和基于语义规则的推理机制,将不同的语义内部关系归纳为包含关系,提出一种面向语义Web 的基于语义的访问控制模型,研究其语义授权推理机制,并提出一个推理实现系统。

关键词:基于语义的访问控制;本体;Web 本体语言;推理Semantic-Based Access Control Model and Its Reasoning MechanismSHEN Hai-bo(College of Computer, Hubei University of Technology, Wuhan 430068)【Abstract 】Access to resources on the semantic Web demands the access decision take into account the semantic relationships among entities under this environment, but traditional access control models fail to address this problem. By combining Semantic Web Rule Language(SWRL) rule and Web Ontology Language(OWL) ontology, and reducing different semantic interrelations to the subsumption relation, a Semantic-Based Access Control(SBAC) model for semantic Web is presented, and its semantic authorization inference mechanism is discussed. A reasoning system for implementing the SBAC model is proposed.【Key words 】Semantic-Based Access Control(SBAC); ontology; Web ontology language; reasoning计 算 机 工 程 Computer Engineering 第V y 2010术·文章编号:1000—3428(2010)03—0162—02文献标识码:A中图分类号:TP309}O ·安全技1 概述目前的Web 因结构简单、语义缺乏,其未来的发展受到了严重的制约。

作为Web 技术的拓展,语义Web(Semantic Web)是下一代Web 的发展方向,其实质是增强网络资源内容和功能的语义表示,以满足分布式主流计算环境语义互操作的需要,使软件Agent 对WWW 上异构和分布的信息进行智能化的、有效的访问和检索。

语义Web 的出现和发展给其资源的访问带来了新的安全挑战[1],而传统的集中式计算环境中使用的基于身份的访问控制机制,如基于角色的访问控制(RBAC)和访问控制列表(ACL),并不完全适合现在的语义Web [2-4]。

为了对语义Web 上的资源访问进行有效的安全控制,本文采用结合基于本体的语义描述技术和基于语义规则的推理机制,提出一种基于语义的访问控制(Semantic-Based Access Control, SBAC)模型。

2 SBAC 模型及其实现架构2.1 SBAC 模型本文提出的SBAC 模型定义如下:(,,){|(,,,,){(,,)|}(,,)C O SBAC OB AB Oprs OB Ont Ont SO Ont OO Ont AO Ont C R H rel A AB s o a s SO o OO a AO Oprs CA Permit Deny ===∨=∨===±∈∧∈∧∈=在SBAC 中,OB 是本体基(Ontology Base),包括用于授权决策的本体SO , OO , AO ;SO 是主体本体(Subject Ontology),其中的主体是需要访问客体的活动实体;OO 是客体本体(Object Ontology),其中的客体是被主体访问或修改的实体;AO 是行为本体(Action Ontology),其中的行为依赖于主体对客体所实施的行为的类型,每种行为类型是行为本体中的一个概念。

在本体的五元组定义中,C 表示概念(Concept)集,其中的概念是特定领域中一类实体或事物的集合;R 表示关系集合,其中的关系是概念之间的联系;H C 表示概念层次或分类层次,是一种有向关系,表示C 1是C 2的子概念;是一个函数,表示概念之间的非分类关系(通常指语义关系),rel (R )=(C 1,C 2);A O 表示使用某种逻辑语言表达的Ontology 的公理集。

(,,,,)C Ont C R H rel A =C H C C ⊆×12(,)C H C C :rel R C C →×AB 表示授权基(Authorization Base),它包括明确的授权规则。

一个授权规则表示为形如(,,)s o a ±的三元组,其中, s 是SO 中定义的主体实体;o 是OO 中定义的客体实体; a 是AO 中定义的一种行为。

访问权限以授权规则存储于AB 中,且,其中,S , O , A 分别表示主体集、客体集和行为集。

AB S O A ⊆××Oprs 表示作用在授权基AB 上的操作集,定义为(,,)Oprs CA Permit Deny =。

其中,是决策函数(,,)CA s o a :{true,f CA S O A alse}××→,如果(,,)s o a AB +∈,或者存在一条授权规则(,,)i j k s o a AB ∈,使得(,,)(,,)i j k s o a s o a +→+,则(,,)true CA s o a =。

如果(,,)s o a AB −∈,或者存在一条授权规则(,,)i j k s o a AB ∈,使得(,,)(,,)i j k s o a s o a −→−,则(,,)CA s o a = 。

在其他情况下,false (,,)false CA s o a =。

许可一个授权(s ,o ,a )意味着可在AB 中插入一条规则,其基金项目:湖北省自然科学基金资助项目(2005ABA243)作者简介:沈海波(1963-),男,教授、博士,主研方向:访问控制,网络安全收稿日期:2009-08-12 E-mail :jkxshb@—162—值为逻辑值,其操作由Permit(s,o,a)完成,定义为if { (s,o,a) ∈AB or CA(s,o,a)=true } then return falseelse { add(s,o,a); return true}否定一个授权(s,o,a)意味着可在AB中删除此条规则,其值为逻辑值,其操作由Deny(s,o,a)完成,定义为if (s,o,a) ∈AB then {delete(s,o,a); return true}else return false2.2 SBAC模型的实现架构SBAC模型的实现架构如图1所示。

图1 SBAC模型实现架构其中,主体以其凭证(credentials)的形式表示,这样,授权决策系统之外的工作主要包括解决凭证、客体、行为的本体定义以及凭证的有效性验证,凭证的有效性验证由证书中心CA完成。

授权决策系统包括的主要构件及功能如下:(1)授权基(Authorization Base):存储由系统安全管理员定义的明确授权规则。

(2)本体基(Ontology Base):存储已定义好的主体凭证本体、客体本体和行为本体。

(3)语义授权器(Semantic Authorizer):当收到来自主体的访问请求后,利用其推理引擎推理决定是否许可主体应被授权访问请求的客体。

(4)本体解析器(Ontology Parser):当收到输入的本体后,利用第3节定义的相关规则对其进行解析,得到约简本体。

(5)约简本体(Reduced Ontology):存储由本体解析器构件对输入本体进行约简后得到的本体,用于语义授权器构件进行授权决策。

3 SBAC中的语义授权推理3.1 SBAC中的语义规则通过对访问控制域中的对象进行Ontology建模后,预先定义的访问权限以授权规则的形式存储于授权基AB中,在对一个访问请求进行授权决策时,SBAC是基于请求的授权与授权基中明确的授权规则之间的语义关系进行推理的,从明确的授权规则可以推理出某些隐含的授权规则,并给出授权结果。

为了实现SBAC中推理过程的自动化,本文将基于本体和基于规则的推理集中于一起,用OWL(Web Ontology Language)[5]对Ontology进行语义建模,用SWRL(Semantic Web Rule Language)[6]表示授权规则。

OWL中的子语言OWL DL表示知识可以充分表示事物之间的层次关系,可以描述更复杂的分类关系,还可以使知识得到充分的共享和重用。

但描述逻辑无法表达某些复杂的约束条件或规则,不能实现基于规则的推理,这就需要结合使用SWRL。

SWRL利用高度抽象的语法表达OWL DL本体所描述的知识,能充分利用本体知识中定义的类、属性和实例,实现规则与知识的完美结合,从而实现基于规则的推理。

根据OWL的基本结构(包括OWL类公理、个体公理、属性特征、属性约束),本文定义了3个本体层次:概念层(concept-level),个体层(individual-level)和属性层(property- level),语义授权流可在每个层或不同层之间产生。

因此,推理可以在概念到概念(C-C)、概念到个体(C-I)、个体到个体(I-I)、属性到概念(P-C)、属性到属性(P-P)、属性到个体(P-I)、概念到属性(C-P)之间进行。

为了简化推理过程,本文引进符号,将SBAC中的各种层次结构关系归纳为一种包含关系,定义如下:pIs_same asA B A BA B A A B A BA B A B⊆⎧⎪=⎨⎪⎩p若和都是概念若是个体是概念若和都是个体当A和B有关系,即A B时,在B上执行的授权规则也可在A上执行。