基于 SaaS 模式的 SOA 服务分析与设计
图5基于SOAP的Web服务安全模型
这个平台定义了两个模块:第一,UDDI注册中心,主要对服务提供者和请求者进行管理并颁发证书,以提供认证和权限;第二,Web服务安全平台,主要针对双方的身份认证过程和授权控制过程,服务双方都要获得安全平台颁发的证书才能保证双方身份的正确性。其中,SOAP消息安全代理包中包含了签名处理和加密处理。
(一)SOAP消息签名
请求者应对SOAP消息做一次签名,连同签名一起发送,当提供者接收到了消息后,一边验证身份,一边对其签名进行认证,以确定消息在传输过程中并未被修改。我们可以如此实现:
1、客户端SOAP中添加签名,如下所示:
mywebserv.RequestSoapContext.Security.Tokens.Add(untoken)
mywebserv.RequestSoapContext.Security.Elements.Add(New_MesageSignature(untoken))
mywebserv.WebMethod
以上代码实现了客户端根据UsernameToken生成签名,然后把签名加在SOAP消息中。
2、服务端不动
我们只要在客户端发送的SOAP中加入过签名,服务端就会自动认证签名的有效性,服务端先验证用户名/密码,然后使用客户端传递用户名和密码对签名进行认证,如果失败了,就说明该消息中途被篡改了,该请求就不成立了。
(二)SOAP加密
客户端根据UsernameToken对SOAP进行加密,把密文加在SOAP消息中。服务端则自动对该消息进行解密。
服务端验证用户名和密码,然后使用客户端传递的用户名和密码对解密数据进行验证。服务端通过WSE自动从windows活动目录中取得密码,或者通过AuthenticateToken方法取得密码。同样,如果验证失败,则响应错误信息。实现方法如下:
mywebserv.RequestSoapContext.Security.Tokens.Add(untoken)
mywebserv.RequestSoapContext.Security.Elements.Add(New_Microsoft.Web.S
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于 SaaS 模式的 SOA 服务分析与设计(6)在线全文阅读。
相关推荐: