SOA应用系统的信息交换的安全研究

VIP免费
3.0 陈辉 2024-11-19 6 4 793.7KB 61 页 15积分
侵权投诉
目录
摘要
ABSTRACT
第一章 绪论 ........................................................ 1
§1.1 引言 ...................................................... 1
§1.2 国内外先进水平 ............................................2
§1.3 本文的主要工作和内容组织 ..................................4
第二章 面向服务的体系结构(SOA) ................................... 6
§2.1 服务的概念 ................................................6
§2.1.1 服务的角色 .......................................... 6
§2.1.2 服务的特性 .......................................... 7
§2.2 SOA 的概念 ................................................ 8
§2.2.1 SOA 的优势 ...........................................9
§2.2.2 SOA 的层次 ...........................................9
§2.3 基于 SOA 的信息交换的相关技术 .............................11
§2.3.1 网络服务(Web Services) ........................... 12
§2.3.2 XML ................................................ 14
§2.3.3 WSDL ............................................... 15
§2.3.4 SOAP ............................................... 16
§2.3.5 UDDI ............................................... 18
第三章 SOA 下信息交换的安全 ........................................19
§3.1 核心的安全概念 ...........................................19
§3.1.1 XML 加密 ............................................19
§3.1.2 XML 解密 ............................................22
§3.1.3 XML 签名 ............................................23
§3.1.4 认证 ............................................... 27
§3.1.5 授权 ............................................... 28
§3.2 传统安全和消息级安全 .....................................29
§3.2.1 传统安全 ........................................... 29
§3.2.2 消息级(message-level)安全 ........................ 31
第四章 SOA 应用系统中安全服务代理的设计 ............................36
§4.1 SOA 应用系统中的安全问题与本课题的研究重点 ............... 36
§4.2 SOA 应用系统中的安全服务代理设计 ......................... 37
§4.3 .NET 环境下安全服务代理的设计 ............................ 41
第五章 SOA 应用系统中安全服务代理的实现 ............................45
§5.1 开发环境 .................................................45
§5.1.1 操作系统 ........................................... 45
§5.1.2 数据库服务器 ....................................... 46
§5.1.3 网络服务器 ..........................................47
§5.1.4 UDDI 服务器 .........................................48
§5.1.5 开发工具 ........................................... 48
§5.2 实验准备 .................................................49
§5.2.1 创建第一个服务提供者 ............................... 49
§5.2.2 创建第二个服务提供者 ............................... 50
§5.2.3 创建一个服务请求者 ................................. 50
§5.2.4 创建一个安全服务 ................................... 51
§5.3 实验过程 .................................................52
§5.3.1 发布服务 ........................................... 52
§5.3.2 寻找服务 ........................................... 53
§5.3.3 没有添加安全服务代理的服务调用 ..................... 53
§5.3.4 添加安全服务代理的服务调用 ......................... 54
§5.4 实验结果分析 .............................................54
第六章 总结与展望 ................................................. 56
§6.1 总结 .....................................................56
§6.2 展望 .....................................................56
参考文献 .......................................................... 57
在读期间公开发表论文和承担科研项目及取得成果 ...................... 60
致谢 .............................................................. 61
第一章 绪论
1
第一章 绪论
§1.1 引言
面向服务的体系结构(SOA)是一种设计思路,在这种思路下我们可以覆盖
业务服务在其生命周期的方方面面,包括服务的创建和使用。SOA 也定义和提供
了一种 IT 基础设施(infrastructure)它可以让不同的服务彼此之间交换数据
或者共同作用在一个业务流程中,这些目标的实现可以完全跨操作系统平台、
编程语言平台[1]
面向服务相对于面向对象而言提供了一种不同的考虑问题的观点和方式。
务可以看成是位于网络上的计算机可以识别的信息的描述,每个服务都可以接受
信息,如果需要的话,服务还会返回一些信息。所以,服务才要按照它可以支持
的信息交换方式来定义。至于服务的实现,则可以在任何一个环境下去完成。
然而,伴随着 SOA 带来的服务间松耦合等便利的同时,SOA 下信息交换的安
全问题变得愈来愈重要。针对网络服务的信息交换攻击大致可以分为以下三类。
1. 利用 UDDI 的弱点进行攻击
网络服务消费者(consumer)通过查询通用业务注册器(UBR)来获取需要
调用的服务的具体信息。通过 UBR,网络服务消费者可以找到他所需要的服务以
及该服务的具体位置[2, 3]。有许多的接口可以帮助我们更好的查询 UBR。而不法
的攻击人员就可以利用这些接口去非法的查询 UBR 以获得一些特殊的信息[4, 5]
2. 利用 WSDL 的弱点进行攻击
网络服务描述语言(WSDL)规范是用来以一种标准的方式描述和发布网络服
务的格式和协议[6]一旦攻击人员掌握了这些信息,他们就可以伪造出一些服务
请求。这些请求会产生一些 SOAP 错误或别的一些错误甚至是后台数据库抛出的
一些异常,攻击人员通过这些错误信息就可以猜测获取后台数据库的一些重要信
息。
3. 对 SOAP 信息进行攻击
(1)针对信息保密性的攻击
因为在网络中传递的 SOAP 信息是以一些 XML 格式的文件,而 XML 文件其
实是一种可阅读的文本文件,所以一些攻击者就会窃取获得 SOAP 信息从而
破坏 SOAP 信息的保密性。
(2)针对信息完整性的攻击
一些攻击者在获取了 SOAP 信息后会窜改原信息中的某一部分,从而破坏
SOA 应用系统的信息交换的安全研究
2
SOAP 信息的完整性[7, 8]
(3)针对信息认证的攻击
认证就是验证标识的过程,即验证某人(或某物)与其声称的人(或物)
是否一致。一些攻击利用认证上的漏洞假冒出一些信息从而破坏 SOAP 信息
的认证[9]
(4)针对否认发送信息的攻击
一些攻击者在发送了攻击信息后否认发送过程。
(5)参数攻击
在参数攻击或者 SQL 注入这一类的攻击中,有些网络服务也许没有进行
任何输入参数验证。这些输入也许会导致注入一些 SQL 语句并且返回从数据
库的查询结果,而攻击人员通过仔细检验返回来的这些错误信息就会得到服
务器中关于数据库的一些重要信息,甚至有可能发现网络服务在处理工程中
的一些更多的信息。
(6)反复攻击
这一类的攻击主要是反复的产生大量的 SOAP 请求消息并发送给网络服
务提供者,从而加大网络服务提供者的负载,最终使其服务瘫痪。这种攻击
有些类似以前的网络上的“死亡 ping 攻击”这类攻击一般很难被检测出来,
因为他们有着合法的 IP 地址、合法的数据包、合法的 HTTP 请求等等,但从
逻辑上分析,这些大量的反复请求则是非法的,可以看作是基于 XML 的网络
攻击。
简单对象访问协议(SOAP)让网络中的 XML 文档的接收方和发送方可以进行
有效的数据传递和交换。SOAP 在网络中传递的其实是 XML 文档,因为 XML 有着
自身的安全隐患(XML 是一种可读的文本在网络上传递)所以通过 SOAP 传递 XML
文档的时候就需要采取一些针对 XML 的安全措施来保护数据的安全。
而且,当前一些系统的开发平台,无论是 J2EE 还是.NET,在兼容性方面上
做的都不是很好。这就意味着安全问题也不能简单的实现开发平台间的跨越。
从服务的角度来看,一个可以针对特定的服务而提供一些安全措施的“安全
服务”,即保护服务的服务,在 SOA 的世界中将会是非常有帮助的。这一类的安
全服务应该是可配置的、可扩展的,以此来满足可能变化的需求。
这篇文章的目标就是提出一种基于 SOA 的安全服务,该服务可以保护网络服
务中的信息交换,并且该服务可以在不同的开发平台下实现。
§1.2 国内外先进水平
在 SOA 下服务间信息的交换采用 SOAP 规范,以 XML 格式作为传递信息的标
第一章 绪论
3
准。当前存在着三种保护网络服务免于攻击的方法,这三种方法主要是针对在
UDDI、WSDL、SOAP 上的攻击。
1. 针对 UDDI 的攻击的保护方法
Shreeraj Shah 在文献 10 和文献 11 中提出为了保护从 UDDI 上获取的信息不
被那些非法的攻击访问可以有以下一些解决方案。UDDI 注册器不需要对所有的
用户可见,UDDI 注册器增加权限的功能,只有合法注册的用户才可以访问注册
器。UDDI 注册器也可以对用户引入访问控制机制,合法注册的用户根据访问机
制来获取相应功能的访问权限。
2. 针对 WSDL 协议的攻击的保护方法
Shreeraj Shah 在文献 11 中认为避免 WSDL 文件中的某些信息被发现的一个
方法就是人工检查 WSDL 文件以确保那些有可能被攻击人员利用的不必要的信息
不出现在 WSDL 文件中。
3. 针对 SOAP 协议的攻击的保护方法
(1)保护信息保密性的方法
Michiaki Tatsubori 等在文献 12 中认为避攻击者获取和读信息内
容的方法就是将原先的内容先进行加密然后在传递。传统上是通过 SSL 技术
来实现。
(2)保护信息完整性的方法
Michiaki Tatsubori 等在文献 12 中认为避信息被获取或测出信息
被窜改的方法就是对信息进行数字签名。传统上是通过 SSL 或 DSIG 技术
现的。
(3)保护信息认证的方法
Michiaki Tatsubori 等在文献 12 中认为避攻击者获取或复利用认
证信息的方法就是进行严格的身份认证。传统上是结合 SSL 和 DSIG 技术
现的。
(4)针对否认发送信息的保护方法
Michiaki Tatsubori 等在文献 12 中认为为在信息交换中现不可否
认,可以采用针对每个信息添加版本信息并进行数字签名。
(5)针对参数攻击的保护方法
当前存在着很多避免非法的 SOAP 信息访问网络服务器和程序代码的方
[13, 14]。微软的.NET 架构提供了 IHTTPHandler 和 IHTTPModule 两种接口,
可以使用这些接口构建网络程序,因为网络请求在到达服务器之前就要先被
这些接口检测。
(6)针对反复攻击的保护方法
SOA 应用系统的信息交换的安全研究
4
SAP 研究中心的 Mohammad Ashiqur Rahaman 在文献 7 中提出了一种方案
来保护网络服务之间的交换信息的安全。在他的方案中,他在节点发送的
SOAP 信息中添加了记录 SOAP 结构的信息,这样在接收方收到信息后不用进
行开销较大的基于策略的验证,只要验证开销较小的 SOAP 结构的信息就可
以发现数据是否被改动。这种方案可以在验证数据的早期检测到改写 XML 数
据的攻击,而且该方案提高了效率。
本文要研究的主要是基于 SOAP 协议下的信息交换的安全问题。综上所述,
解决这一类的问题的传统的方法是采用 SSL 技术或传统的加密和数字签名,这种
解决方法主要是针对传输级信息安全的。在 SOA 下信息的交换不是简单的点到点
的传输,在信息的发送方和接收方之间会存在着若干的中转站(intermediary
这些中转站都可以根据需要修改信息,在这种方式下信息的安全就从传统的传输
级安全演变成了信息级安全。本文就要提出一种在 SOA 应用系统下的安全服务,
该服务可以实现 SOA 下信息交换的安全。
另外,当前一些系统的开发平台,无论是 J2EE 还是.NET,在兼容性方面上
做的都不是很好。这就意味着安全问题也不能简单的实现开发平台间的跨越。
文提出的这种安全服务可以较好的解决平台间的转换问题。
§1.3 本文的主要工作和内容组织
这篇论文的目标是研究基于面向服务的体系结构(SOA)下的信息交换的安
全问题。当众多的服务在网络之中进行信息交换的时候,我们需要考虑采取一些
安全措施来保护信息交换的安全。SOA 的一个优势就在于服务调用的独立性[15]
所以 SOA 下的一个安全服务也应该在不同开发平台间可以实现轻松转换。本课题
将会提出一种基于 SOA 的安全服务,该服务可以保护网络中信息交换的安全,
时该安全服务也可以实现不同开发平台(如 J2EE 和.NET)之间的轻松转换。
在现实世界中,不同的工作场景有着不同的安全需求,本课题的研究将会基
于以下场景。假设现在有两个不同的领域(domain),两个领域之间会有一项必
要的信息交换。每个领域下都有若干个系统,每个系统都会提供若干个网络服务,
该领域下的这些系统之间会有着大量的信息交换或服务调用[16]。我们假定:
(1)特定领域下的系统间的服务调用是安全的:这样会大大提高频繁调用的性
能,因为种种安全措施无疑会降低系统性能,增加系统开销。
(2)不同领域之间的服务调用是存在安全隐患的:当出现领域之间的服务调用
的时候就要采用一些可配置的安全措施,这些配置依据安全需求来决定。而且,
对这种安全服务的部署和配置需要相对简便的实现跨开发平台。
本课题的研究重点是基于 SOA 的安全服务的设计和实现。本人将会设计该安
摘要:

目录摘要ABSTRACT第一章绪论........................................................1§1.1引言......................................................1§1.2国内外先进水平............................................2§1.3本文的主要工作和内容组织..................................4第二章面向服务的体系结构(SOA)...................................6§2.1服...

展开>> 收起<<
SOA应用系统的信息交换的安全研究.pdf

共61页,预览7页

还剩页未读, 继续阅读

作者:陈辉 分类:高等教育资料 价格:15积分 属性:61 页 大小:793.7KB 格式:PDF 时间:2024-11-19

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 61
客服
关注