基于Web服务的访问控制研究与实现

基于Web服务的访问控制研究与实现

论文摘要

随着面向服务架构(SOA)相关技术与产品的不断发展与成熟,它逐渐成为软件发展的方向,越来越多的企业和组织选择将自己的业务以服务的形式提供到网上,以方便自己的业务集成或其它用户的调用,服务提供了很好的灵活性与开放性,可很好的集成原有的资源,但在灵活与开放性的同时,暴露在网上的服务将面临更加严峻的安全性问题,怎样保证授权用户能透明地访问各种服务以及防止非法用户的攻击将是一个迫切的需求,即在面向服务环境下实现安全的单点登陆与访问控制是一个重要课题。面向服务环境下的基本组成部分是服务,一个业务可由一系列服务构成,一个应用可由一系列业务构成,也就是说一个应用可能包括很多的服务,为了能保证服务不被非授权访问,在访问服务时常常需要进行身份认证,但一个应用或一个业务可能由很多服务构成,如果每访问一个服务都要求用户输入自己的身份信息,这将是不可想象的,这样会造成使用非常不方便。和访问一般的站点类似,在面向服务环境下也有“单点登录”概念。和以往的单点登录一样,指用户进行一次登录后就可以访问多个站点,在这里指访问服务,而无需重复认证自己。要实现单点登录,可以有多种方式,在本系统中我们采用基于标准的SAML令牌方式来实现SOA环境下的单点登陆。由于服务具有开放性的同时带来了的安全隐患,任何人都可以轻易发现服务,但要保证只有授权用户才能使用服务是访问控制要解决的问题,单点登陆可以让服务知道用户身份,访问控制是进一步对用户进行授权检查,以往的访问控制方法一般有三种:采用Filter方式,在方法里插入访问控制代码以及采用代理模式来实现。采用Filter是争对URI来实现的,在应用程序中不好实现,代的程序中不太好实现,如果采用Struts,XWork或者Tapestry,采用同一个URL(浏览器看来)进行处理多项任务已不是什么稀奇的事,所以其应用范围受到限制;在方法里插入访问控制代码虽然可以实现,但这样代码具有很强的紧密耦合性,扩展修改难度大;以代理模式为每个功能类实现一个相应的代理(Proxy)类,虽然解耦了程序功能和权限检验,但是,从某个角色的权限检验这个切面考虑,涉及具体Proxy类太多,扩展修改难度大。综合前面方式的不足,本文采用XACML与AOP相结合的方式来实现访问控制,AOP因为引入了切面的概念,实现了功能类与访问控制部分的分离,同时可以在容器内实现粗细粒度结合的访问控制,有很好的扩展性与松耦合性。在安全传输方面,本文采用非对称加密技术,客户端为了保证灵活性与通用性,不采用证书实现,而只在访问控制域与目标服务相对稳定的部分实现证书加密。在客户端,每次会话由客户端应用随机产生一个非对称密钥,在与访问控制域或目标服务域交互时将公钥加密后发送,之后访问控制域或目标服务域返回时用该公钥进行加密,确保消息只能被该客户端解密。

论文目录

  • 摘要
  • Abstract
  • 目录
  • Contents
  • 第一章 绪论
  • 1.1 研究背景
  • 1.1.1 面向服务所面临的安全需求
  • 1.1.2 面向服务环境下单点登陆与访问控制需求
  • 1.1.3 国内外研究现状
  • 1.2 研究意义
  • 1.3 本课题的主要研究工作
  • 1.4 论文内容安排
  • 1.5 本章小节
  • 第二章 相关技术介绍
  • 2.1 面向服务架构(SOA)
  • 2.1.1 SOA思想理论
  • 2.1.2 Web services概述
  • 2.1.3 SOA与web services
  • 2.2 面向方面编程(AOP)
  • 2.2.1 AOP简介
  • 2.2.2 AOP思想的应用
  • 2.3 SAML介绍
  • 2.3.1 SAML概念
  • 2.3.2 SAML规范
  • 2.3.3 SAML在J2EE和Web服务中的应用
  • 2.4 XACML
  • 2.4.1 XACML概念
  • 2.4.2 XACML规范简介
  • 2.4.3 XACML与SAML的关系
  • 2.4.4 XACML访问控制决策模型
  • 2.5 单点登陆(SSO)
  • 2.5.1 单点登陆概念
  • 2.5.2 单点登陆实现方式
  • 2.5.3 典型的单点登陆
  • 2.6 Web服务安全
  • 2.6.1 Web服务安全核心问题
  • 2.6.2 Web服务安全需求
  • 2.6.3 Web服务安全标准
  • 2.6.4 XML加密
  • 2.6.5 XML签名
  • 2.6.6 XML密钥管理
  • 2.6.7 OASIS Web服务规范
  • 第三章 身份认证与访问控制技术研究
  • 3.1 单点登陆模型研究
  • 3.1.1 当前解决方案分析
  • 3.1.2 基于SAML的单点登陆模型
  • 3.1.3 基于pull模式实现单点登陆
  • 3.2 访问控制技术研究
  • 3.2.1 访问控制模型
  • 3.2.2 基于XACML的角色访问控制
  • 3.3 传输安全机制的研究
  • 3.3.1 传输机制面临的挑战
  • 3.3.2 传统传输机制分析
  • 3.3.3 传输机制解决方案
  • 3.4 身份认证与访问控制模型研究
  • 3.4.1 AOP与权限控制
  • 3.4.2 基于SAML,XACML与AOP的身份认证和访问控制模型
  • 第四章 基于Web服务的单点登陆访问控制系统设计
  • 4.1 需求分析
  • 4.1.1 功能需求
  • 4.1.2 数据格式需求
  • 4.2 系统设计
  • 4.2.1 客户端
  • 4.2.2 访问控制域
  • 4.2.3 目标服务域
  • 4.3 功能模块设计
  • 4.3.1 安全传输模块
  • 4.3.2 客户端
  • 4.3.3 访问控制模块
  • 4.3.4 目标服务管理模块
  • 4.3.5 目标服务
  • 4.4 系统使用流程
  • 4.4.1 使用流程
  • 4.4.2 流程序列图
  • 第五章 基于Web服务的单点登陆访问控制实现
  • 5.1 实现概要
  • 5.2 消息处理传输模块
  • 5.2.1 添加/验证标识
  • 5.2.2 获取加密/解密密钥
  • 5.2.3 签名/验证签名
  • 5.2.4 加密/解密
  • 5.2.5 发送/接收
  • 5.3 创建SAML与XACML类库
  • 5.3.1 SAML类库
  • 5.3.2 XACML类库
  • 5.4 访问控制模块
  • 5.4.1 访问控制域模型
  • 5.4.2 工作流程
  • 5.4.3 关键实现
  • 5.5 目标服务管理模块
  • 5.5.1 服务域模型
  • 5.5.2 工作流程
  • 5.5.3 关键实现
  • 5.5.4 基于AOP程序编译与运行
  • 5.6 小结
  • 第六章 总结与展望
  • 6.1 主要成果创新点
  • 6.2 未来工作
  • 参考文献
  • 攻读学位期间发表的论文
  • 致谢
  • 相关论文文献

    标签:;  ;  

    基于Web服务的访问控制研究与实现
    下载Doc文档

    猜你喜欢