递归模式的访问控制硕士学位_第1页
递归模式的访问控制硕士学位_第2页
递归模式的访问控制硕士学位_第3页
递归模式的访问控制硕士学位_第4页
递归模式的访问控制硕士学位_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工学硕士学位论文xml递归模式的访问控制classified index: tp309.2u.d.c.: 654dissertation for the master degree in engineeringresearch on access control on xml recursive schemacandidate:li jingsupervisor:prof. jin shunfuacademic degree applied for:master of engineeringspeciality:computer software and theoryuniversity:ya

2、nshan university燕山大学硕士学位论文原创性声明本人郑重声明:此处所提交的硕士学位论文xml递归模式的访问控制,是本人在导师指导下,在燕山大学攻读硕士学位期间独立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。 作者签字 日期: 年 月 日燕山大学硕士学位论文使用授权书xml递归模式的访问控制系本人在燕山大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归燕山大学所有,本人如需发表将署名燕山大学为第一完成单位及相关人

3、员。本人完全了解燕山大学关于保存、使用学位论文的规定,同意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查阅和借阅。本人授权燕山大学,可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内容。 保密,在 年解密后适用本授权书。本学位论文属于不保密。(请在以上相应方框内打“” )作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日摘要摘 要xml正逐渐成为internet上数据表示和数据交换的新标准,网络上存在大量的xml格式的可操作数据和其他商业信息。鉴于这些商业信息的敏感特性,增加了保护xml文档的重要性,迫切需要一种对xml文档普通灵活的访问控制机制,支持

4、有效安全的查询访问,不向非授权用户泄漏敏感信息。在这种情况下,本文对国内外关于xml访问控制的研究现状进行了综合分析比较,从一个全新的角度对基于递归模式的xml的访问控制问题进行了研究。首先,本文研究了基于安全视图的访问控制中的查询重写技术。虽然它能处理很多普通的基于安全视图的查询,但是也存在不足之处,即它不能对基于递归安全视图的查询进行有效重写。因此,本文提出了xml递归安全视图的查询重写算法,并进行了实例分析和实验验证,结果显示它能对基于递归安全视图的查询进行有效且正确的重写。其次,本文研究了安全视图获取算法,通过对已有算法的分析,发现它不能对遇到的递归部分进行处理。因此,本文提出了展开递

5、归节点算法,并进行了实例分析和实验验证。结果显示在视图获取的过程中遇到递归节点调用此算法能避免递归安全视图的产生。最后,通过实验结果验证了本文所提出的两种处理递归模式的方法的可行性和有效性,并比较了两种方法的效率。关键词 访问控制;递归安全视图;视图获取;查询重写;递归模式vabstrctabstractxml is rapidly emerging as the new standard for data representation and exchange on the internet. it is increasingly common to find operational dat

6、a and other business information in xml format. in light of the sensitive nature of such business information, this also raises the important issue of securing xml content, and highlights the need for a generic, flexible access control mechanism for xml documents that supports efficient and secure q

7、uery access, without revealing sensitive information to unauthorized users. on these conditions, this paper analyzes and compares the internal and external researches of xml's access control mechanism, and researches the problem of access control on xml recursive schema from a new point of view.

8、firstly, this paper researches the query rewriting approach of access control on security views. although it can deal with many common queries on security views, there are many limitations, for examples, it cannot rewrite the query on security views. so, this paper introduces query-rewriting algorit

9、hm on xml recursive security views, analyzes an example of rewriting and takes an experiment. our experimental results show that the algorithm can effectively rewrites the query on recursive views.secondly, this paper researches the security-view derivation algorithm. when we analyzed the derivation

10、 algorithm, we find that the algorithm cannot deal with the recursive part. so, this paper introduces unfolding recursive nodes algorithm, analyzes an example and takes an experiment to check the correction and feasibility of the algorithm. our experimental results show that such an unfolding yields

11、 a non-recursive (dag) view dtd that the document is guaranteed to conform to when we use the unfolding algorithm with the recursive nodes in the view derivation process.finally, the empirical study verifying the feasibility and effectiveness of two approaches that can deal with recursive schema in

12、this paper.keywords access control; recursive security view; view derivation; query rewriting; recursive schema目录目 录摘要iabstractii第1章 绪论11.1 研究背景11.2 国内外研究现状21.3 本文研究的内容41.4 研究意义51.4.1 xml访问控制技术51.4.2 本文的研究意义61.5 本文组织结构7第2章 基础知识概述92.1 xml安全简介92.1.1 xml加密92.1.2 xml签名102.1.3 xml加密管理规范102.1.4 xml访问控制标记语

13、言102.1.5 安全声明标记语言112.2 访问控制含义112.3 访问控制的典型模型122.3.1 自主访问控制132.3.2 强制访问控制132.3.3 基于角色的访问控制152.4 基于安全视图的访问控制模型172.4.1 安全规范172.4.2 安全视图212.4.3 查询重写242.4.4 查询优化252.5 本章小结25第3章 extendrewrite查询重写算法273.1 引言273.2 查询重写的研究现状273.3 基本概念和问题定义293.3.1 dtd简介293.3.2 xpath简介313.3.3 问题定义333.4 rewrite算法333.4.1 rewrite算

14、法概述333.4.2 rewrite算法思想343.4.3 查询重写实例353.5 rewrite算法的局限性353.6 extendrewrite算法363.6.1 算法中用到的变量和基本函数373.6.2 extendrewrite算法的主要思想373.6.3 算法描述383.6.4 extendrewrite算法实例分析393.7 本章小结41第4章 展开递归节点算法434.1 引言434.2 视图获取算法分析434.3 算法的预备知识444.3.1 递归节点递归层数的判定定理444.3.2 函数说明444.4 展开递归节点算法444.4.1 算法主要思想444.4.2 算法描述454.

15、4.3 算法实例分析464.5 本章小结48第5章 算法的实验验证495.1 引言495.2 extendrewrite算法实现及分析495.2.1 实验数据设置495.2.2 实验环境设置505.2.3 实验结果505.2.4 实验结果分析525.3 展开递归节点算法实现及分析525.3.1 实验数据设置525.3.2 实验环境设置535.3.3 实验结果535.3.4 实验结果分析555.4 访问控制模型555.4.1 实验环境设置565.4.2 实验数据设置565.4.3 实验结果575.4.4 实验结果分析585.5 本章小结58结论59参考文献61攻读硕士学位期间承担的科研任务与主要

16、成果65致谢67作者简介69第1章 绪论第1章 绪 论1.1 研究背景xml(extensive markup language)1可扩展标记语言是由w3c(world wide web consortium)组织在1998年创建的标准,w3c的成员认识到随着web的发展,必须由一种方法能够把数据和它的显示分离开来,这样就导致了xml的诞生。web起源于学术界,但推动其飞速发展的是商业,准确地说,是对未来所获商业利益的预期。最近出现的通过web进行商品零售已经引起了广泛的注意,但是b-to-b的商务活动向在线发展的速度却受到限制。几个世纪以来,人类在商务活动中已经成功地采用了交换标准化文档的方

17、式,如采购订单、发票、货物清单、收据等。文档能够在商务活动中起作用是因为它并不要求所涉及的各方知道对方的内部处理过程。每条记录所表述的信息正是其接收者所需知道的信息,除此别无其他。也许,这种交换文档的方式也是在线进行商务活动的最佳方式。xml是为文档交换所设计的。而且越来越清晰的是,全球化的电子商务将主要依赖于协议流,几百万条协议以xml文档形式在internet上传送。基于web的服务和应用使信息的访问和获取更加容易,同时也增加了不同平台运行的应用程序之间共享信息的需求。现在,公司和组织机构大多都使用web作为信息发送的途径。web的广泛使用推动了信息表示标准的快速发展。可扩展标记语言xml

18、正在逐渐成为因特网上数据交换和表示的标准。xml是sgml(standard generalized markup language)标准通用标记语言的一个分支,是一种中介语言,可提供描述结构化资料的格式。除了表示数据之外,也逐渐成为在因特网上进行xml数据交换的基础。xml是现今internet上最流行的数据表示和交换的一种强有力的机制之一。一些大公司和组织机构越来越多地使用internet作为提高商业事务处理效率的一种途径,因为internet是一个公共的网络,这就使得在网络上容易找到xml格式的可操作数据和其他的商业信息。鉴于有些商业信息是需要保密的,我们有必要对某些xml格式数据进行保

19、护,又因为xml文档能按照信息的敏感程度的不同表示信息,所以有必要发展一种技术来控制用户对文档的某个部分的访问权限,也就是访问控制的实现。访问控制是通过某种途径显式地准许或限制主体对客体访问能力及范围的一种方法。它是针对越权使用系统资源的防御措施,通过限制对关键资源的访问,防止非法用户的侵入或因为合法用户的不慎操作而造成的破坏,从而保证系统资源受控地、合法地使用。访问控制的目的在于限制系统内用户的行为和操作,包括用户能做什么和系统程序根据用户的行为应该做什么两个方面。访问控制的核心是授权策略。授权策略是用于确定一个主体是否能对客体拥有访问能力的一套规则。在统一的授权策略下,得到授权的用户就是合

20、法用户,否则就是非法用户。访问控制模型定义了主体、客体、访问是如何表示和操作的,它决定了授权策略的表达能力和灵活性。若以授权策略来划分,访问控制模型可分为:传统的访问控制模型、基于角色的访问控制(rbac)模型、基于任务和工作流的访问控制(tbac)模型、基于任务和角色的访问控制。访问控制规则的实施可以保证信息能根据用户的访问权限来有选择的提供给不同用户,而不会泄露秘密信息。近来,访问控制技术大多数是使用安全视图来实现的,而且大多运用查询重写算法来把基于安全视图的查询转化为基于原始文档的查询,避免视图的物化和保存。查询重写是实现访问控制中很重要的一步,而且对于递归视图的处理问题的解决更能完善基

21、于安全视图的访问控制技术。基于这些,本文的研究是以能处理递归视图的查询重写算法和视图获取算法为主要内容的。1.2 国内外研究现状最近有大量有关xml数据的访问控制模型29的研究。但是,这些模型都有各自不同的局限性。例如:它们可能拒绝正确的查询和访问3,7、需要视图物化6,8或是通过注释基础数据使得完整性的保持变得复杂等等。而且以前的一些模型没有考虑提供给用户带有注释了用户可访问信息的dtd5,甚至有的模型把整个dtd都暴露给用户,这样就使得用户能够使用多个查询来推断出不可访问的信息。在文献xacml(extensible access control markup language)7和文献x

22、acl(xml access control language)3中提出了访问控制策略的标准,不仅局限于查询,更适用于常规操作。策略的实施是通过一个决策过程来实现的。当收到用户请求时,它的回答只有拒绝或接受。当用户的请求中包含敏感数据时这个请求就会被拒绝。但是在实际中,用户希望返回他有权访问的那部分数据。文献9中提出了一种基于静态分析的访问控制模型2,它有效的解决的了在xacml和xacl中所提出的访问控制策略所存在的问题。它提出了一个静态优化算法来检查查询结果中的每一个元素,并且只返回用户有权访问的元素。但是,对于不安全的查询来说也需要昂贵的运行时间进行安全检查。关于访问粒度、访问控制的继承

23、和覆盖的问题也都有研究。在文献8中提出的保护xml文档的方法和文献7中提出的细粒度的访问控制系统都使用了xpath查询来表达访问策略。访问控制的语义对用户来说就是一个通过xpath访问控制规则得到的一个具体的文档视图。同时还提出了一个基于树标签的算法来得到特定的用户视图。但是它的实现是基于视图的物化和保存的,导致复杂度高、计算量大。在文献5提出了一种不同的方法。简单地说,访问控制模型采用注释元素节点的方法。它假定访问注释公开的包含在数据中实际的元素节点上,但是在dtd中的节点上只指定了比较粗略的条件。仅仅是被注释为可访问的元素可以出现在查询结果中。但是这个模型中所提出的优化和重写算法只适用于t

24、wig查询它只代表xpath10查询(例如,没有通配符或union)的一个很小的片断。即使它能够适用于任何细粒度的访问控制策略,那么控制策略的定义和保存也相当的复杂和昂贵。例如,为新的用户集定义一个新的安全策略将意味着必须检查整个数据库,注释所有相关的数据节点。同时数据的更新也是一个问题。而且这种机制不支持模式有效性。最近,提出了基于安全视图的访问控制模型11,12,并在模型中引入了查询重写13,14,避免了视图的物化和维护。在文献11中提出了基于安全视图的访问控制模型。它引入视图的概念作为保护xml内容和提供访问控制的一种机制。通过在dtd(document type definitions

25、)中加入安全注释来实施访问控制策略,然后根据访问规范获取安全视图。通过这种机制所得到的安全视图用户不能间接的通过多个查询1517来推断不可访问数据。在文献12中提出了动态访问控制机制,使用ssx(security specication language for xml)语言制定访问规范,不仅包括对节点的控制还包括对原始模式的结构关系的控制。安全视图获取算法把原始模式和安全访问规范作为输入,输出安全视图。但是,它不能处理含有递归的模式,而且只能是模式存在的情况下才能应用此模型。综上可以看出,大多数对访问控制的研究都偏重于解决某一个问题,可能解决了这个问题就忽略了另一个问题。近来,通过安全视图机

26、制来实施访问控制策略是访问控制的研究重点,它能比较有效的解决用户访问中的安全问题。而且,对含有递归的模式的处理也是访问控制中研究中的重中之重。在此背景下,本文的研究内容主要是实现能处理含有递归的模式的访问控制。1.3 本文研究的内容根据上面所阐述的研究背景和研究现状,本课题的研究内容是实现对含有递归的模式的xml数据实现访问控制。虽然传统的数据库通过视图施加安全访问是非常普遍的,但xml安全视图提出了新的挑战。例如,如何通过给定的安全策略建立一个充分的、完整的安全视图(也就是显示所有的仅仅可访问的数据元素和模式结构)。而且,当dtd定义中存在递归的时候,安全视图的获取和查询重写就变得复杂了。本

27、文的研究内容有以下两点。(1) 能处理递归视图的查询重写算法 在有些情况下,xml文档的dtd的定义中存在递归,如果递归节点那部分是某类用户群组所不能访问的,则它不会导致安全视图中存在递归。另一种情况就是递归部分是用户授权访问的,这类用户得到的安全视图中也会存在递归。此处研究的查询重写算法就是能够对基于递归安全视图的查询进行重写。研究基于安全视图的查询重写算法,在遇到递归节点时增加对这部分的处理,使算法能够处理递归安全视图。(2) 展开递归节点算法 在分析了视图获取算法的基础上,针对其局限性,提出能够处理在视图获取过程中遇到递归节点的情况的展开递归节点算法。它能在获取视图的过程中遇到递归节点时

28、展开环路,这样我们就不需要能处理递归视图的查询重写算法了,进而提高了查询重写的效率。1.4 研究意义1.4.1 xml访问控制技术越来越多的商业数据文档用xml来表示,并且在网上进行传输、交换、处理,这使得xml相关的安全问题越来越重要。由w3c和其他组织开发的xml相关的安全标准越来越多,如xml signature、xml encryption 、security services markup language、xml key management specification等等。有必要开发一种更灵活更适于用xml表示商业数据的访问控制技术。有许多部门开始开发电子政务系统,访问控制技术作

29、为电子政务系统的一项重要技术值得研究。越来越多的商业数据文档用xml来表示,并且在网上进行传输、交换、处理,这使得xml相关的安全问题越来越重要。由w3c和其他组织开发的xml相关的安全标准越来越多,如xml signature、xml encryption 、security services markup language、xml key management specification等等。有必要开发一种更灵活更适于用xml表示商业数据的访问控制技术。有许多部门开始开发电子政务系统,访问控制技术作为电子政务系统的一项重要技术值得研究。xml文档包含范围很广的语义信息,并且文档的信息是用复

30、杂的结构表示的,对xml文档的访问控制策略必须能够反映信息的丰富的语义和结构信息的本质,所以对xml文档的访问控制机制的设计需要满足以下条件。(1) 访问控制策略的条理很细;(2) 策略通过文档结构传播;(3) 通过约束条件控制传播;(4) 解决授权冲突问题;(5) 策略和文档之间模拟dtd和文档之间的关系;(6) 对访问对象进行抽象。1.4.2 本文的研究意义伴随着internet的快速发展,信息安全问题越来越受到关注。同时,网络上传送的数据信息大多是以xml格式存在的,如何保证这些信息的安全性?xml访问控制技术就是为了解决这个问题而提出的。访问控制可以根据用户的访问权限制定不同的访问策略

31、,使得用户的查询结果中只包含授权访问的信息,从而保证了数据的安全。基于安全视图的访问控制是通过安全视图来限制用户对非授权信息的访问,但是,用户建立的基于安全视图的查询必须经过查询重写转化为基于原始文档的等价查询才能执行。随着基于安全视图的访问控制技术的发展和递归模式的存在,查询重写问题也变得越来越重要,尤其是对于递归视图的处理问题。本文研究的查询重写算法和展开递归节点算法就是针对递归模式而提出的,它能有效的处理和解决因递归模式而产生的部分问题,促进了xml访问控制技术的进一步发展。基于安全视图的访问控制是通过安全视图来限制用户对非授权信息的访问。但是,用户建立的基于安全视图的查询必须经过查询重

32、写转化为基于原始文档的等价查询才能执行。随着基于安全视图的访问控制技术的发展,查询重写问题也变得越来越重要,尤其是当原始文档的dtd定义中含有递归的时候,就有可能产生递归视图。而且,对递归模式的处理可以选择在访问控制中的不同阶段。这时,就需要找到一种方法来处理含有递归的模式,有两种选择,一是采取措施来避免产生递归视图,二是提出一种对递归视图进行处理的方法。本文研究的查询重写算法和展开递归节点算法就是分别针对递归视图的处理和避免递归视图的产生而提出的,它能有效的解决xml文档的dtd定义中含有递归的问题,促进了xml访问控制技术的进一步发展。所以,对含有递归的模式的查询重写和视图获取的研究在访问

33、控制中具有很重要的意义。基于安全视图的访问控制是通过安全视图来限制用户对非授权信息的访问。但是,用户建立的基于安全视图的查询必须经过查询重写转化为基于原始文档的等价查询才能执行。随着基于安全视图的访问控制技术的发展,查询重写问题也变得越来越重要,尤其是当原始文档的dtd定义中含有递归的时候,就有可能产生递归视图。而且,对递归模式的处理可以选择在访问控制中的不同阶段。这时,就需要找到一种方法来处理含有递归的模式,有两种选择,一是采取措施来避免产生递归视图,二是提出一种对递归视图进行处理的方法。本文研究的查询重写算法和展开递归节点算法就是分别针对递归视图的处理和避免递归视图的产生而提出的,它能有效

34、的解决xml文档的dtd定义中含有递归的问题,促进了xml访问控制技术的进一步发展。所以,对含有递归的模式的查询重写和视图获取的研究在访问控制中具有很重要的意义。1.5 本文组织结构本论文总体上分为五章,从第2章开始具体布局如下。第2章是基础知识概述。首先介绍xml安全和访问控制技术,然后具体介绍基于安全视图的访问控制技术的相关知识。第3章提出了能处理递归视图的查询重写算法。这个算法是对查询重写算法(query rewriting algorithm)的改进。首先介绍了rewrite算法的主要思想,并对该算法进行了分析,针对其不能处理递归视图的局限性提出了能处理递归视图的查询重写算法,并对算法

35、进行了分析。第4章提出了展开递归节点算法。为了避免产生递归视图,可以选择在获取视图的过程中对递归节点进行处理,使之产生的视图中不含环路。首先对视图获取算法进行分析,然后介绍提出的展开节点算法,并对算法进行分析和正确性证明。第5章是算法的实验验证。对前面章节提出的算法进行实验验证和结果分析。最后,总结本文的工作与不足,并提出下一步设想。7第2章 基础知识概述第2章 基础知识概述2.1 xml安全简介越来越多的商业数据文档用xml来表示,并且在网上进行传输、交换、处理,这使得xml相关的安全问题越来越重要。xml的优势来自于它的语义和结构的灵活性和可扩展性。但是正是这些优点引入了一些重要的安全问题

36、。尽管xml还正处在开发阶段,其标准也正在由w3c组织不断地修改制定,但是已经有许多公司表示全力支持xml,并开发了不少的xml工具。w3c和oasis都在为xml提供安全标准而努力工作着。一些已经发布的标准是针对xml的安全问题的,这些标准还在进一步地发展以便人们能够对xml内容进行颗粒化管理和控制。下面介绍了5种xml安全方面的标准。2.1.1 xml加密xml加密(xenc)18除了在传送xml文件时采用标准进行加密,w3c和ietf还制定了一项标准来对一个xml文档中的数据和部分内容进行加密。这样,如果一个文档只是某些敏感部分需要进行保护,就可以对它们单独进行加密。对于同一个文档中的不

37、同部分用不同的密钥进行加密,就可以把同一个xml文件发给不同的接受者,而接受者只能看见和他相关的部分。一旦采用这个方法对一个xml文件进行加密,在加密部分的首尾就会出现两个标记,表示该文件是以w3c公布的标准进行加密的。真实的标识名被" "和" "所替代;数据本身显示为一连串的密码。这个标准使xml数据提供者可以根据用户的不同对内容进行颗粒化的控制。而且,由于数据本身而不是整个文件是加密的,整个文件还是可以被xml处理器识别和处理。整个文件还是可以被xml处理器识别和处理。2.1.2 xml签名xml签名(xml-sig)19和xml加密紧密相关。和安全

38、认证签名相似,xml签名也是用于确保xml文件内容没有被篡改的。为了适应各种文件系统和处理器在版式上的不同,xml签名采用了“标准化 (canonicalization)”。这就使得xml签名可以适应xml文件可能遇到的各种环境。当对内容进行签名时,标准化使用文件里的数据和标识产生一个独一无二的签名,忽略了一些诸如段落结束或者制表符之类的次要信息。收到一个文件后,客户系统就开始进行“xml签名解密转换”,它通过辨认信息是在标识之前还是标识之后来区分内容和签名:内容在标识之后,而签名则在标识之前。通过比较运算结果和文件中的签名,可以确认数据的完整性。xml签名和xml加密结合在一起,可以确保数据

39、发送和接收的一致性。2.1.3 xml加密管理规范xml加密管理规范(xkms)20是w3c制定的一项标准。它定义了分发和注册xml签名规范所使用的公共密钥的方法。xkms包括了两部分:xml密钥注册服务规范(x-krss)和xml密钥信息服务规范(x-kiss)。x-krss是用于注册公共密钥的,而x-kiss是用在xml签名提供的密钥方面。一些诸如verisign的供应商对这个规范非常积极支持,他们开发了一些工具包和应用来促进这个规范的实行。这个规范到目前为止还是比较松散,2002年3月18日发布的最新版本还是局限于现在的需求。2.1.4 xml访问控制标记语言xml访问控制标记语言(xa

40、cml)是oasis制定的一个用以整合各方面(比如ibm和米兰大学)努力成果的一个标准。它和saml共同使用,它提供了一种标准化xml文件接入控制决定的工具。xacml是用来决定是否允许一个请求使用一项资源,比如它是否能使用整个文件,多个文件,还是某个文件的一部分。xacml收到一个saml请求后就根据事先制定的规则或策略来判断是否允许请求使用某项资源。和xml加密相反,接入控制信息是物理上独立的,当一个请求生成的时候,该信息被引用。xpointers和xpaths是在xml资源中的标识里定义的,它们通知处理器检查xacml策略,以及在哪里可以找到这些策略。一旦按照策略完成了评估,就会返回一个

41、是真或者是假的逻辑值表示是否允许接入,这个认证决定声明返回后,就会执行相应的操作。这个认证决定声明返回后,就会执行相应的操作。这个认证决定声明返回后,就会执行相应的操作。2.1.5 安全声明标记语言安全声明标记语言(saml)21也是出自oasis和xacml相对,它处理证明/授权的请求/响应的交换。一个saml请求以http方式通过soap被发送到一个有相应处理工具的系统去。一个saml请求包括诸如用户姓名、密码以及其他一些关于提出请求的人的信息。这些信息被发送到一个处理应用程序那里来决定是否允许使用一项xml资源。saml采用了一项由oasis提出的“声明计划”。有三种声明:认证、授权决定

42、和属性。这三种声明在一个应用中被用在不同的场合来决定谁是请求者、请求的内容、是否有权提出这项请求。2.2 访问控制含义访问控制22是解决谁(主体)对某个特定对象(客体)具有什么权限的一项系统安全技术。它包括两方面的关键技术:一方面是安全策略的制定技术,即如何表达主体对客体有何种权限;另一方面是安全策略的实现技术,即如何将制定的策略在系统中有效地执行。作为安全服务之一的访问控制服务,在分布式安全体系结构中具有不可替代的作用。它可以限制系统的活动者(包括用户和软代理)对系统关键资源的访问,防止非法活动者的侵入和合法活动者的不慎操作引起对安全计算机系统的破坏。一般的,实施访问控制的信息系统中将包括以

43、下三个主要对象集。(1) 主体(subject) 试图去访问敏感信息的主动者,例如用户或软代理。(2) 客体(object) 被访问的对象信息,例如以web服务形式存在的web关键资源和应用中涉及到的xml文档资源。(3) 访问控制策略(policy) 一套规则,以确定主体是否对客体拥有某些操作权限。资源的访问控制包含以下几方面内容。(1) 保密性控制(data confidentiality) 保证数据资源不被非法读出。(2) 完整性控制(data integrity) 保证数据资源不被非法改写。(3) 有效性控制(data availability) 保证数据资源不被非法用户破坏,保证任何

44、情况下系统处于工作状态。(4) 维护性 必须有相应的集中管理机制及安全管理工具,可以进行简单、方便、有效的管理操作。以何种方式来保护网络资源,并有效地实现安全政策,始终是访问控制研究的主题。具体到web应用中,其主题就是研究如何以更有效的方式保护web应用资源(典型地,如web服务和应用中所涉及的数据文档)和实施针对web应用的安全访问策略。以何种方式来保护网络资源,并有效地实现安全政策,始终是访问控制研究的主题。具体到web应用中,其主题就是研究如何以更有效的方式保护web应用资源(典型地,如web服务和应用中所涉及的数据文档)和实施针对web应用的安全访问策略。2.3 访问控制的典型模型下

45、面将介绍在计算机系统中常用的三种访问控制模型2330,它们分别是:自主访问控制(discretionary access control,dac)、强制访问控制(mandatory access control,mac)、基于角色的访问控制24(role-based access control,rbac)。2.3.1 自主访问控制自主访问控制25最早出现在70年代初期的分时系统中,是一种多用户环境下最常用的一种访问控制技术,在unix操作系统中被普遍采用。dac的基本思想是客体的主人(即客体的创建者)可以决定谁可以如何访问该对象。现存在大量的dac策略,他们的不同点在于所有者的权限如何能代理

46、给其他用户以及授予的权限如何回收。dac的变型可以分为以下三类。 限制型dac 这种dac策略中,对客体的访问权限控制完全掌握在客体的主人手里。 自由型dac 这种dac策略十分松散。它又可以分为以下三种变型:一层准予,客体的主人将权限授予用户,这些用户可以将权限授予其他的用户,但是下一层被授予权限的用户不能再将权限授予其他用户;二层准予,客体的主人授予的权限可以传播两层,而第三层接受权限的用户则不能将权限再传播下去;多层准予,比二层准予更进一步。只要是有权限的用户都可以将该权限授予其他用户。在权限回收上,只有有权授予的人才能回收权限,并且回收权限是与授权人脱钩的。

47、 改变所有者型dac 这种变型在于不仅权限授予的权限可以传播,而且所有关系也可以转移。从上面可以看出,自主访问控制的一个最大问题是主体权限太大,无意间就可能泄露信息,而且不能防备特洛伊木马的攻击。另外,在dac系统中,由于访问控制的管理是在访问控制列表级被实现的,很难保证其实现的正确,而且不能提供一个很方便的机制来管理约束。2.3.2 强制访问控制强制访问控制系统中的每个主体和客体都被赋予一个安全标识(security level),根据系统中主体和客体的安全标识控制信息的访问。客体的安全标识反映了它所包含信息的敏感度,主体的安全标识反映的是授权用户不对未授权用户开放敏感信息的信

48、任度。在最简单的情况下,安全标识以层次的方式表示密级程度。安全标识的类型有绝密(top secret,ts),机密(secret,s),秘密(confidential,c)和公开(unclassified,u)。在这个分类中,若用“>”表示安全标识之间的密级程度关系,则有ts>s>c>u。强制访问控制又称为基于格的访问控制。用l表示安全标识,主体s的安全标识可表示为l(s),客体o的安全标识可表示为l(o)。在强制访问控制模型中有3个基本性质。(1) 简单读规则(read-down) 当满足l(s) > l(o),主体s可读客体o。(2) 自由写规则(write-

49、up) 当满足l(o) > l(s),主体s可写客体o。若把读客体看成是信息从客体流向用户,把写客体看成是信息从用户流向客体,那么简单读规则和自由写规则反映了信息流动的方向是从安全性要求低处向安全性高处的方向流动。由于安全性要求低的主体可以写安全性要求比他高的客体,这可能会导致重写已存在的客体,破坏信息的完整性,所以为了完整性要求规定了限制写规则。(3) 限制写规则 当满足l(s)= l(o),主体s可以写对象o。在强制访问控制中,主体和客体的安全标识是由系统安全管理员配置的。除了系统安全管理员外,用户无权改动。因此,强制访问控制模式的安全性管理是集中管理的。这样防止了用户滥用权限。强制

50、访问控制确保即使有特洛伊木马的情况下,信息也仅将按照由安全标识组成的格的方向流动(即保证信息从低层次的安全标识处流向高层次的安全标识处),从而可抵制特洛伊木马的攻击。mac的不足主要表现在两个方面:应用的领域比较窄,使用不灵活,一般只用于军方等具有明显的等级观念的行业或领域,在经济领域中,mac的应用并不是很多;完整性方面控制不够,它重点强调信息的向高安全级的方向流动,对高安全级信息的完整性保护强调不够。完整性方面控制不够,它重点强调信息的向高安全级的方向流动,对高安全级信息的完整性保护强调不够。2.3.3 基于角色的访问控制随着计算机信息系统在非军用领域得到更为广泛的应用和网络的普及化发展,

51、原有的dac和mac技术己经不能满足现代信息系统安全的需求。在这种情况下出现了基于角色的访问控制技术。基于角色的访问控制26的基本思想是通过将权限授予角色而不是直接授予主体,主体通过角色分派来得到客体操作权限从而实现授权。由于角色在系统中具有相对于主体的稳定性,并具有更为直观的理解,从而大大减少系统安全管理员的工作复杂性和工作量。如图2-1所示,sandhu于1996年提出了一个通用rbac模型27。角色层次rh用户分配ua权限分配pa会话集s用户集u角色集r权限集p约束集c···图2-1 基于角色的访问控制模型rbac96fig. 2-1 role-based

52、access control model rbac96这个模型基于三个实体集,用户集(u),角色集(r),权限集(p)。直观地说,一个用户是一个人或一个软件代理;一个角色是组织中一项工作或者一个职位,通过角色与授权语义相关,并通过授予用户以角色实现权限的授予;一项权限是对系统中一个或多个敏感对象进行某种方式访问的一个许可。在图2-1中,用户指派(ua:user assignment)和权限分派(pa:permissionassignment)关系都是多对多的关系。一个用户可以指派多个角色而一个角色也可以被分派多个用户。同样,一个角色可以有多项权限,而同样的权限可以被分派给多个角色。图中还存在一

53、个偏序关系角色层次(rh:role hierarchy),也记作,这里表示角色x继承了分派给角色y的所有权限。角色层次中的继承是可传递的并且可以多继承。图2-1中展现了会话(s:session)集合。每个会话将一个用户和多个可能的角色联系起来。直观地说,一个用户建立一个会话,期间可以激活多个角色,当然这些角色是已经分派给用户的。图中双箭头表示一个会话可以同时激活多个角色。用户的有效权限取决于会话中激活的角色所有权限的并集。每个会话与单个用户关联,图中以单箭头显示。这个联系在会话的整个生命周期一般是恒定的。一个用户可能同时有多个会话。最后,图2-1中展示了约束集。约束可以应用在先前定义的许多集合

54、上。一个常见的例子是角色互斥,某个用户拥有一个角色,那么他就不能再拥有另外一个角色了。综上所述,形式化定义访问控制模型rbac96,基于角色的访问控制模型由如下子集组成。(1) u,r,p和s,分别来代表用户集合,角色集合,权限集合和会话集合;(2) pap×r,代表一个多对多的权限分配给角色的关系;(3) uau×r,代表一个多对多的用户分配给角色的关系;(4) rhr×r,代表一个角色层次的偏序关系;(5) user:su,代表一个函数映射,表示每个会话si都与一个用户关联,这个关联一般在会话生命周期中都不会更改;(6) roles:s2r,代表一个函数映射,

55、表示每个会话都与一个角色子集关联:roles(si)r|(r'r)(user(si), r')ua;(7) constraints,代表约束集合。由于登录到系统中的用户可以根据需要动态激活自己拥有的角色,避免用户无意中危害系统安全。由于实现了用户与访问权限的逻辑分离,rbac极大地方便了权限管理。例如,如果一个用户的职位发生变化,只要将用户当前的角色去掉,加入代表新职务或新任务的角色即可。另外,基于角色的访问控制还可以很好的描述角色层次关系,实现最小特权原则和职责分离原则,因此rbac使访问控制变得相对简单,而且应用方便。另外,rbac还能保证信息的完整性。另外,rbac还能保

56、证信息的完整性。另外,rbac还能保证信息的完整性。2.4 基于安全视图的访问控制模型本文的研究基础是基于安全视图的访问控制模型,我们首先给出访问控制模型,如图2-2所示。查询p1查询重写查询优化查询转化模块xml文档 t视图导出模块查询pk查询pn规范s1规范sk规范sn安全视图v1安全视图vk安全视图vn图2-2 基于安全视图的访问控制模型fig. 2-2 access controll model on security view2.4.1 安全规范安全规范是文档dtd 结合安全注释的扩展。具体地,被定义为,acc是一个部分映射,对每个产生式和每个中的元素,定义如下::= | | (2-1)式中,是xpath查询集中的限定符。、的值表示中元素的孩子节点是可访问的、有条件访问和不可访问的。如果没有明确的定义,那么继承的访问性。给定如图2-3所示hospital文档,d中每个元素类型a为一个节点,称为a节点,每条边描述父/子关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论