基于安全视图的XML访问控制方法技术

技术编号:3937716 阅读:467 留言:0更新日期:2012-04-11 18:40
一种计算机网络安全领域的基于安全视图的XML文档访问控制方法,包括以下步骤:定义角色并授权;为每个用户分配角色,进行基于角色的访问控制;将XML文档的Schema模式处理生成Schema安全视图;用户发出访问操作请求时,Schema安全视图的XPath指定权限对象,执行相应的读取读取XML文档或为XML文档添加内容或为XML文档更新内容或为XML文档删除内容。本发明专利技术通过生成Schema安全视图,达到基于安全视图的XML文档访问控制,有效的减少了待处理的对象数目,提高了效率;采用RBAC访问控制策略对Schema文档进行扩展,提出了细粒度授权文档的形式,实现了基于角色的访问控制,既保证了XML文档中数据信息的安全性,也不会改变用户对XML文档的使用方式。

【技术实现步骤摘要】

本专利技术涉及的是一种计算机网络安全
的方法,具体是一种基于安全视图 的XML访问控制方法。
技术介绍
作为一种标记语言,XML将内容和显示格式分离开来,并且描述了文档中的文本结 构。不同于HTML,在XML中用户可以定义自己的标记语言,因此XML更具有可扩展性,在网 络中受到广泛应用,已经成为网上数据和文档传输的标准。安全是互联网业务发展的前提, 于是XML文档的安全成为研究者和开发者关心的问题。其中,信息的保密性和完整性是信 息安全的重要方面,为了保证XML文档中的信息不受到非授权用户的查看和修改,必须控 制用户对XML文档的访问。 访问控制策略包括自主访问控制(DAC)、强制访问控制(MAC)以及基于角色的访 问控制(RBAC)策略。RBAC是近年来安全访问控制领域的热点。它在用户和权限之间引入 角色这个中介。安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据 其职责和资历被指派为不同的角色。由于XML文档中可能包含敏感性程度不同的数据,例 如员工信息中的工资信息敏感性程度就比其他信息要高,用户对这些信息的访问权限是不 同的,因此必须实现细粒度的访问控制。实现访问控制有很多机制,例如传统的访问控制体 系下使用的访问控制矩阵、ACL等机制。在关系数据库中,视图是实现细粒度访问控制的一 种常用手段。因此可以通过视图技术来隐藏用户无权访问的XML数据对象,这样既保证了 数据安全,也不会改变用户对XML文档的使用方式。 经过对现有文献检索发现,中国专利申请号200610033602. 2,公开号为 CN1859402,名称为《XML文档管理系统及其方法与XML文档访问控制方法》,该技术中实现 了 XML文档的读取、写入、删除、搜索操作的访问控制,其具体方法为首先XML文档管理客 户端向XML文档管理服务器发出XML文档管理操作请求;XML文档管理服务器接收所述XML 文档管理客户端的XML文档管理操作请求并判断XML文档管理客户端的请求是否满足所 述XML文档管理操作的委托授权规则的生效条件;最后当XML文档管理客户端的请求满足 XML文档管理操作的委托授权规则的生效条件时,执行规则规定的XML文档管理操作,否则 执行非授权委托处理过程。但是该技术对每一次的客户端请求,需要通过消息交互判断其 是否满足权限规则的生效条件,造成处理效率偏低。 又经检索发现,Wenfei Fan, Chee-Yong Chan等人发表的《Secure XML Querying withSecurity Views (基于安全视图的XML安全查询)》、《Rewriting Regular XPath Queries on XMLViews (XML视图上的XPath查询重写)》以及Gabriel Kuper, Fabio Massacci, NataliyaRassadko发表的{Generalized XML Security Views (通用的XML安 全视图)》,研究了基于安全视图的XML查询以及路径重写,然而这些技术建立的是DTD的视 图,而DTD出现的时间比较早,与Schema相比有许多明显的缺点,DTD有另外的语法要求, 而Schema本身是良构的XML文档,可以采用和XML文档相同的处理机制。
技术实现思路
本专利技术的目的在于克服现有技术的上述不足,提供了一种基于安全视图的XML访 问控制方法,能够根据访问权限和XML文档对应的Schema,处理得到Schema安全视图,视图 中包含所有用户有权限访问的内容并屏蔽所有无权限的内容,在视图基础上构建XPath后 对XML文档进行操作的结果都将符合访问权限的限定,以此实现对XML文档的访问控制。 本专利技术是通过如下技术方案实现的,本专利技术包括如下步骤 步骤一,系统定义了若干角色,每个角色包括若干权限,且为每个角色生成XML格 式的授权文档。 所述的角色间存在层次关系,该层次关系是偏序关系,或者是自反关系,或者是传 递关系,或者是反对称关系。 所述的角色间存在约束关系,该约束关系是互斥约束,或者是基数约束,或者是先 决约束,或者是会话约束,或者是等级约束。 所述的授权文档用于指定角色对XML文档具有的权限,该文档包括角色信息、权 限对象、权限类型、权限值和继承取值。 所述的权限对象是访问控制的对象,包括XML文档、模式、元素和属性。所述的权限类型包括读取、添加、更新和删除,其中添加、更新和删除都包括读取。所述的权限值包括有权限、无权限和受限权限。 所述的受限权限是指该对象是否有权限和对象在XML文档中的具体内容有关,当 对象在XML文档中的具体内容满足设定的限制条件时,该对象才有权限;否则该对象无权 限。 所述的继承取值决定对象的后代是否允许继承该权限,继承取值包括允许继承 取值和不允许继承取值。 所述的授权文档由XPath的谓词实现基于内容的细粒度访问权限定义,XPath的 谓词(Predicates)用来查找特定的节点或者包含指定值的节点。 步骤二,为每个用户分配若干角色,当用户登录后,得到其所分配的角色,进行基 于角色的访问控制(RBAC),从而得到节点权限。 所述的节点权限采用封闭式权限定义方式,包括直接权限和继承权限,其中直 接权限是直接定义在节点上的权限,继承权限是定义在节点祖先节点上的允许继承取值的 权限,直接权限用O表示,继承自父亲节点的才继承权限类型值为l,继承自祖父节点的继 承权限类型值为2,以此类推,继承权限类型值随继承层数的增多而增大,其中最小的继 承权限类型值为节点的最终权限。 所述的基于角色的访问控制是用户在一个环境中被指定为一个角色来访问资源,在另一个环境中用户被指定为另一个角色来访问资源,每个角色有若干权限。 步骤三,用户根据其得到的权限,将XML文档的Schema模式处理生成Schema安全视图,Schema安全视图只包含角色有权限访问的内容,而隐藏或删除了角色没有权限的内容。 所述的Schema安全视图包括Schema视图Sv以及生成Sv的过程中产生的映射o ,其中Sv包含所有用户有权限和受限权限的元素和属性结构和数据类型信息,用户没有 权限的信息在Sv中被删除或隐藏;而o是将基于Sv的XPath转换为基于原文档Schema的 XPath的映射,该映射对用户隐藏。 所述的隐藏了角色没有权限的内容是通过用鹏(dummy)节点替换没有权限的原 节点,实现在不改变文档结构的基础上隐藏节点。 所述的删除了角色没有权限的内容是通过用鹏节点替换没有权限的原节点,当 鹏节点没有属性和子元素或者其所有属性和子元素均为鹏节点时,则删除鹏节点。 所述的删除鹏节点是通过剪枝方法实现的。 步骤四,用户发出访问操作请求时,Schema安全视图的XPath指定权限对象,当用 户请求读取XML文档时,执行步骤五;当用户请求为XML文档添加内容时,执行步骤六;当 用户请求为XML文档更新内容时,执行步骤七;当用户请求为XML文档删除内容时,执行步 骤八。 所述的访问操作包括读取操作、添加操作、更新操作和删除操作,其中读取操 作是用户查看XML文档中元素的内容和属性值,添加操作是用户为XML文档添加元素或属 性并提供该节点的名称和内容,本文档来自技高网
...

【技术保护点】
一种基于安全视图的XML访问控制方法,其特征在于,包括以下步骤:步骤一,系统定义了若干角色,每个角色包括若干权限,且为每个角色生成XML格式的授权文档;步骤二,为每个用户分配若干角色,当用户登录后,得到其所分配的角色,进行基于角色的访问控制,从而得到节点权限;步骤三,用户根据其得到的权限,将XML文档的Schema模式处理生成Schema安全视图,Schema安全视图只包含角色有权限访问的内容,而隐藏或删除了角色没有权限的内容;步骤四,用户发出访问操作请求时,Schema安全视图的XPath指定权限对象:当用户请求读取XML文档时,执行步骤五;当用户请求为XML文档添加内容时,执行步骤六;当用户请求为XML文档更新内容时,执行步骤七;当用户请求为XML文档删除内容时,执行步骤八;步骤五,当用户所属的角色具有读取权限时,先将Schema安全视图给出的XPath表达式中的哑节点替换为原节点,并对原XML文档查找,获得的结果集合便是用户所查询的所有信息中有权限的部分;当用户所属的角色不具有读取权限时,则用户读取XML文档的请求被拒绝;步骤六,当用户所属的角色具有添加权限且添加的内容合法时,用户根据Schema安全视图结构构造的分支添加到原XML文档中,缺失的元素或属性根据原Schema补充;否则,用户请求为XML文档添加内容的请求被拒绝;步骤七,当用户所属的角色具有更新权限且更新的内容合法时,用户根据Schema安全视图构造的更新分支替换原XML文档的内容或属性;否则用户请求为XML文档更新内容的请求被拒绝;步骤八,当用户所属的角色具有删除权限时,先将Schema安全视图给出的XPath表达式中的哑节点替换为原节点,然后用户将欲删除分支的根节点进行删除,即该根节点中所有的子元素和属性都被删除;否则,用户请求为XML文档删除内容的请求被拒绝。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李斓李建华肖灵范磊蔡伟
申请(专利权)人:上海交通大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1