资源描述:
《soap消息加密架构的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SOAP消息加密架构的设计第28卷第2期2006年4月湖州师范学院JournalofHuzhouTeachersCollegeVol_28No.2Apr..2006SOAP消息加密架构的设计金静梅(湖州师范学院法商学院,浙江湖州313000)摘要:SOAP(SimpleObjectAccessProtoco1)作为Web服务通信协议的基础,在实现Web服务安全性的工程中扮演着极其重要的角色.通过对SOAP消息的加密进行研究,从而在SOAP层详细设计了SOAP消息加密体系结构,以保证了Web消息传递的机密性.关键词:SOAP;消息I加密;XML中图分类号:TP309.2文献标识码:A
2、文章编号:1009—1734(2006)02—0083—040引言随着B/S应用的推广,计算机系统的应用范围进一步扩大,其安全性能也受到了挑战.Web服务作为在B/S应用中的重要一环,已成为Web开发的核心技术,因此,如何保证Web服务的安全性是一个需要认真面对的问题.Web服务是一套标准,它定义了应用程序如何在Web上实现互操作性.Web的主要特点为:采用SOAP通信协议,用WSDL文件进行接口说明,并通过UDDI进行服务发布,其中的SOAP和WSDL均采用XML技术.[1]为保证Web服务能够在Internet上得到广泛应用,必须保证Web服务的安全,而SOAP消息的安全传递是
3、保证web服务安全的基础.1SOAP消息结构SOAP(SimpleObjectAccessProtoco1)是由Microsoft,mM等公司共同提出的规范,目的是为了实现大量的异构程序和平台之间的互操作性,从而使存在的应用程序能够被用户所访问.SOAP是基于文本的协议,具有简单性,灵活性和平台无关性的特性.SOAP用XML语言表示消息,一般用HTTP作为传输协议.SOAP以XML形式提供了一个简单的,轻量的用于分散或分布环境中交换结构化和类型化信息的机制.SOAP消息是由一个强制的SOAPEnvelope,一个可选的SOAPHeader和一个强制的SOAPBody组成的XML文档
4、.[2(1)一个SOAPEnvelope.Envelope是表示该消息的XML文档的顶级元素.(2)一个SOAPHeader.Header是为了支持在松散环境下的通讯方(可能是SOAP发送者,SOAP接收者或是一个或多个SOAP的传输中介)之间在尚未预先达成一致的情况下为SOAP消息增加特性的通用机制.SOAP定义了很少的一些属性来用于指明谁可以处理该特性,以及它是可选的还是强制的.(3)一个SOAPBody.Body为该消息的最终接收者所想要得到的那些强制信息提供一个容器.此外,SOAP定义了Body的一个子元素Fault用于报告错误.一个SOAP消息包由HTTP头和SOAP消息
5、组成,如图1所示.2SOAP消息加密体系结构的设计由于SOAP消息都采用XML进行编码,一个SOAP消息就是一份XML文档,因此对SOAP消息文收稿日期:2006—03一O7作者简介:金静梅(1980--),女,江苏太仓人,湖州师范学院法商学院助教,研究方向:信息安全,软件工程湖州师范学院第28卷档的加密操作,实际上就变为对XML文档的加密,即运用XML加密技术对SOAP消息在应用层进行加密.对SOAP消息进行加密能够保证消息传递过程中端对端的机密性.在使用加密机制的模式下,消息的发送者期望与消息的接收者按照彼此达成一致的加密机制来交换数据,即它们使用同样的加密/解密算法.需要发送
6、的数据由初始发送者加密并通过SOAP发送给接收者,当数据原封不动地到达接收端时,接受者按照预先达成一致的解密算法进行解密.图2是使用XML加密机制的SOAP消息传递总体构架图.这是一条SOAP请求消息,SOAP消息是单向传递的.在图2中增加了缓存处理器,这是出于效率和本实现的实际情况考虑的.一些应用程序S0AP信息包HTTP头SOAP封装(必选)S0AP报头(可选)S0AP主体(必选)图1S0AP消息包因效率原因,例如为了获得更快的响应时间和占用更小的带宽或一些其他方面的原因而进行可能的缓存操作.为了实现这一点,需要在相关的环境中设置缓存机制,主要是通过在设备中开辟一些物理空间存放
7、SOAP消息文档来实现的.同时本加密处理的实现也是针对暂存在物理设备上静态的XML格式的SOAP消息文档进行加密和解密的.壅层协议消尽中介,底层协议消息中介,如:SltTPRe1ay,ttttp葡filT…P…Re—l,.HttprFOXyPFOXY图2使用加密机制的SOAP消息传递(请求信息)图2中的SOAP处理器是对SOAP消息进行处理的软件,它主要负责SOAP消息同低层协议的绑定,是进行发送和接收的装置.在发送端,通过把要发送的数据组织成规范的XML文档储存在缓