Web服务与应用开发10可信的web服务(webService学习快速入门).ppt
文本预览下载声明
第十章 服务事务和安全 10.2 服务安全 10.3 Web Services提议的安全模型 首先,我们介绍对XML文档加密。XML 加密语法的核心元素是 EncryptedData 元素,该元素与 EncryptedKey 元素一起用来将加密密钥从发起方传送到已知的接收方,EncryptedData 是从 EncryptedType 抽象类型派生的。要加密的数据可以是任意数据、XML 文档、XML 元素或 XML 元素内容;加密数据的结果是一个包含或引用密文数据的 XML 加密元素。当对元素或元素内容进行加密时,EncryptedData 元素替换 XML 文档加密版本中的该元素或内容。当加密的对象是任意数据时,EncryptedData 元素可能成为新 XML 文档的根,或者可能成为一个子代元素。当加密整个 XML 文档时,EncryptedData 元素可能成为新文档的根。此外,EncryptedData 不能是另一个 EncryptedData 元素的父代或子代元素,但是实际加密的对象可以是包括现有 EncryptedData 或 EncryptedKey 元素的任何数据。 下面通过一些示例来演示加密的颗粒度如何根据不同要求而有所不同,以及可能出现什么结果。清单1中的代码片断显示了带有信用卡和其它个人信息(包括银行账户、5000美元限额、卡号和有效期)的未加密 XML 文档。 接下来,我们介绍XML签名。可以将 XML 签名应用到任意数据内容。那些应用到同一XML 文档中数据的签名称为封装或被封装的签名,而那些数据在签名元素外部的签名称为分离签名。 10.3.3 SOAP数字签名 数字签名可以保证系统用户和软件程序能够可靠、放心的发送信息。但是SOAP没有涉及消息的签名规范,因此它的安全性难以保证。后来逐渐在SOAP中加入了数字签名技术,通过该技术来定义数字签名方式及其语法和处理规则。SOAP和SOAP数字签名都是独立于传输层的,它们也可以在其他的传输层上使用。 HTTP协议最初是用来传输HTML文档的。随着应用的扩展,我们可以通过网页中的CGI和Servlet来获取各种服务,或者进行各种网上交易,这样就有可能需要通过HTTP协议来发送信用卡号码、密码等私人信息。为了保证私人信息的机密性,防止他人获取你的私人信息,人们就开发了SSL用来解决保密性和身份验证等问题。在开发Web Services和B2B应用时,安全性问题仍然相当重要,特别是在企业间的商业交易中,必须满足不可抵赖性这个安全性要求,SOAP数字签名就是针对这个目的提出的。 10.4 Web Services的保密性 保证Web Services中重要数据的保密性,也就是要保证重要商业信息不泄露给非授权的人或团体,或供其利用的特性。一旦Web服务重要数据的保密性得到保证,企业的竞争对手就无法使用容易得到的技术搜索在运行Web服务的过程中传送的消息,并进行破译。保密性主要通过采用密钥(仅对授权方有效)加密信息、身份鉴别、证书认证机制、访问控制等机制实现。在Web服务的安全体系框架中,保密性是由WS-Security来保证的。具体的说,利用 XML 加密机制和安全性令牌来保持 SOAP 消息的一些部分处于保密状态,从而确保部分或整篇报文的保密性。加密机制旨在支持由多个参与者而导致的额外的加密过程和操作。无缝集成到Web服务基础框架的自动加密和解密是Web服务体系必须提供的功能。 ??? 10.5 Web Services安全案例分析 * * * 10.1 服务事务 10.2 服务安全 10.3 Web Services提议的安全模型 10.4 Web Services的保密性 10.5 Web Services安全案例分析 10.1 服务事务 10.1.1 事务的基本概念 10.1.2 Web服务事务 10.2.1 分布式应用安全框架的基本要求 10.2.2 Web服务安全性需求和规范 10.3.1 Web服务的概念体系结构 首先,我们介绍Web Services提议的安全模型,该模型如下图所示: 图1 Web Services提议的安全模型 该安全模型是在由扩展的SOAP协议支持的传输层的基础上引入了Web服务安全层。WS-Security协议构成了整个Web服务安全层的基础。该协议描述了如何把签名部分和加密部分放入SOAP消息的头部。最初的Web服务安全层包括下列几个组件: ? 1、对于网络安全性: ?? 支持如 SSL 和 HTTPS 等提供机密性和完整性的安全传输机制。 2、对于 XML 消息: 如果通信过程中没有中间节
显示全部