基于SOAP的Web服务安全通信模型设计

2013-03-27 16:30郑学伟
电大理工 2013年3期
关键词:发送者身份验证消息

郑学伟

辽宁广播电视大学 (沈阳 110034)

1 Web服务的特点

Web服务作为一种成熟的网络通信技术正日益受到众多网络技术公司的关注,是众所公认的通向新的互联网商业模式的大门,也是行业、企业、公司和单位之间进行通信联系的主要途径。目前大多数单位在使用Web服务时主要还是采取一种比较单调的配置方式。这主要是由于Web服务的安全机制使用起来比较复杂,导致Web服务的安全性比较低。Web服务复杂性主要是由于XML消息以明文形式包含一系列压缩的数据,这些数据很有可能在对手进行网络攻击时被截获。所谓SOAP就是具有SOAP格式的XML数据。目前Web服务的数据交互格式基本是基于SOAP的,由于XML具有很好的跨平台特性,Web服务在被调用时,参数的具体类型、参数都有什么,返回值等都是在调用Web服务需要能准确理解的。SOAP消息集中了许多事务,由于XML特有的简洁性,所以数据的结构可以视为可读。在网络环境下这样的数据可以被随便篡改。

2 Web服务安全内容

Web服务安全应用研究的3个领域:身份验证安全、传输层安全和应用层安全。

(1)身份验证安全。 Web服务开始之前第一步要通过特定的身份验证模式来标识用户。在标识时就要先确定用户进行访问的具体方式。

(2)传输层安全。传输层安全控制的主要方法包括IPSec、防火墙,以及限制IP,从而在管道的端点实现传输层安全。

(3)应用层安全。由于 Web服务的核心是事务性的,服务器在进行通信时需要首先获得用户的标识,并在事务处理的过程中重新执行验证和标识。

所以说Web服务的通信安全主要是保证通信中SOAP消息的安全,确保数据的机密性、完整性、消息源标识和不可更改。

3 传统的Web服务传输机制面临的安全威胁

传统的网络通信机制主要表现在传输层和网络层,没有针对应用层Web服务的SOAP消息安全机制,目前社会上Web服务应用的数量非常庞大而且正在急剧上升,如果程序开发者安全意识不足,在安全性的设计上有所疏漏。已经开放完成并交付使用Web应用系统很难被更改,必须更改的话带来的代价非常巨大,成本很高。目前主要的Web服务安全威胁有两种,一种是保密信息在传递过程中面临的安全,一种是服务器面临的安全威胁。前一种安全防护是所有服务共性的问题的,后一种安全防护则扩展应用服务带来的。为了保证在公网传输中SOAP消息的安全,Web服务的安全要求有以下三个方面:

(1)完整性: 保证接受方和发送方之间的数据是安全可监控的。完整性要求能够监控到信息发生变化,被检测到的信息变化视为安全。

(2)确定性:确定性要求发送方不能否认已经发生的信息传送,一种是发送的身份,一种是发送的时间,两者都不可否认。

(3)身份验证与授权:Web应用程序认定有认证身份的人可以访问服务,不能提供身份证明文件不能访问。并根据身份指定权限。

4 安全的web服务模型

4.1 Web服务的基本过程

当客户端、组件或Web服务等作为服务请求者,在不进行安全通信前,信息提供者的具体情况必须被信息请求方了解,了解的内容具体包含加密算法、认证方法等。在需要了解得信息被认证通过后,背心允许的访问者可以访问资源,进行UDDI注册登记服务。注册的信息被存储后,应用程序运行时信息请求者首先要请求服务,第一步是向信息提供者发送SOAP信息请求,信息请求首先通过SOAP消息服务器,然后再向公网传输,到达Web服务器后由相同的SOAP消息安全处理器进行反序列化安全处理,破译出请求者的信息标识,然后把响应消息发送给信息请求方,一个服务过程完成,从以上过程来看,信息交流的过程中,SOAP消息的安全是整个过程的基础,如果SOAP消息是不安全的,则信息在传送过程中就是不安全的,访问权限的控制也将是不安全的。

4.2 Web安全服务模型的设计

在Web服务过程中,可以设计通过控制访问用户的权限来实现访问用户的可见性,保证服务的可靠性与机密性。在通信过程中,服务器首先为存在的客户端生成数字签名的密钥和数字证书,同时也包含自身,信息存储于客户端和服务器上。信息请求方首先提供用户信息,一般是用户名与密码或者是X.509证书等其他认证方式,服务器接收到信息请求后首先验证用户信息,正确通过后,请求着与提供者正常进行SOAP消息通信,这就代表着如果要进行通信首先要得到密钥的公钥。SOAP消息要根据密钥的信息生成,信息请求方在提出申请时,首先要向TSA服务器申请时间戳,TSA服务器在整个过程中根据提交的请求进行时间戳的签发,签发时间戳后,从证书管理中心取得证书授权,利用获取的证书授权对时间戳进行加密,以上操作完成后对相关信息进行存储,Web服务响应时SOAP信息在传送时要附加以上的时间戳信息并同时再附加一个副本,信息请求方对SOAP消息进行信息签名并用生成的密钥对SOAP消息的正进行加密,用的是在服务器端得到的公钥进行加密,然后再把SOAP消息进行传输,服务器在得到SOAP信息后,根据存储的数字证书对SOAP信息进行反操作,并解密过程中得到的数字证书和时间戳与在数据库中已经存储的进行对比,以上的操作就可以保证访问用户的可靠性,同时也就可以在整个过程中保证SOAP信息的完整性和确定性,

4.3 模型的安全性能

我们从SOAP安全性要求的3个方面逐一进行分析以上设计提供的安全性。

(1)完整性:使用XML进行加密来实现机密性。在加密过程根据实际需要有选择的加密所有或部分内容。加密的方式和内容都可以比较灵活,可以有效地防止信息被窃取。如果一旦被窃取,因为有密钥的保护,被加密的信息也不会被获取。XML还可以保证非法用户不能更改或删除信息,信息的发送者可以用自己的私钥加密消息值,信息的接收者需要使用信息发送者的公钥对消息进行解密,重新计算并进行比较。所以SOAP消息的完整性可以得到有效的保护。

(2)确定性:核实信息发送者身份。通过在信息注册中心注册,信息发送者的证书可以有私钥进行确认,信息接收者可以根据私钥来确认信息发送者的身份,同时由于有时间戳可以进行双重确认。

(3)身份验证与授权:信息的发送者需要他的私钥对SOAP消息进行签名,如果信息接收者在解密的过程中利用发送者的公钥可以成功的验证数字签名,则消息的发送方的身份就可以确认,因为私钥的提供者身份是唯一的。用户通过身份验证登录后,系统就可以根据存储的身份信息赋予用户相应的权限,并根据权限规定相应的服务。

在实际应用中SOAP消息的格式可以根据XML的规范进行相应的转化,SOAP消息安全处理器可以在实际应用中确保传输信息的安全性处理,在信息的加密和私钥的设定过程中可以根据用户的实际需要控制加密的信息量大小。加密信息量的大小是系统反应速度的一个关键影响因子。通过分析以上3个方面的安全性,我们可以得出该模型保证SOAP消息在传送过程中可以确保信息请求者与发送者之间数据传输的安全性。

猜你喜欢
发送者身份验证消息
信息披露的经济学分析:预防性动机视角
网络表情符号的作用
表情符号的使用角度对亲密度感知的影响
论《聊斋志异》梦境叙事
一张图看5G消息
人脸识别身份验证系统在养老保险生存核查中的应用
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
消息
消息
消息