基于Web Service的数据安全交换系统的技术分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Web Service的数据安全交换系统的技术分析[摘要] 本文论述了通过XML签名认证发送者的身份、确保SOAP消息的完
整性,并对XML加密提高了数据的安全性,来实现Web Service数据共享交换过程中的安全。

已成为数字博览多元信息集成发布系统的关键技术之一。

[关键词] XML数据交换Web Service 加密签名
0 引言
现在企业对信息系统的依赖程度越来越高,但是由于信息孤岛的存在,使封闭在各个“孤岛”中的信息无法交换与共享,所以信息系统的作用也由最开始的促进企业发展,变成了约束和制约企业业务发展。

1 基于XML数据交换传输技术
对数字博览异构数据源进行集成是消除信息“孤岛”的有效途径。

目前数字博览系统的数据集成存在下列难题:
·异构性多数据源系统最大的障碍是如何解决各个数据源的异构性。

该异构性又分为平台异构性、数据库系统异构性、语义异构性。

·透明性数据源异构程度越大透明性的要求就越高。

透明性主要包括:平台透明性、数据源透明性和语义透明性。

·自治性每个局部数据库具有对自身完全的控制能力,同时能够决定是否提供和提供多少它的功能和资源服务于其它成员系统。

当前异构数据库系统集成主要采用三种策略:公共编程界面、公共数据库网关、公共协议。

它们都是基于客户/服务器体系结构的,这样可以综合各种计算机协同工作。

各尽其能,也可实现对计算机应用系统的规模优化和规模缩小化。

这三种策略在异构数据库系统集成中可以配合使用,并不互斥。

从各种数据库产品所提供的异构数据库集成的主要机制来看,Cateway和API是当今集成异构数据库的主要方法。

当前一些主要的大型数据库厂商的新版本DBMS几乎都采用了客户机/服务器体系结构,强调对分布式功能的支持。

它们都具有访问异构数据库的能力,实现了异构集成,它们的不足之处是,其集成通常都是单向的、主从式的,一种产品一般只提供从自己的DBMS访问异构数据库的机制和产品。

公共编程界面包括客户应用编程界面(CAPI)和服务器应用编程界面(SAPI)。

公共数据库网关(Gateway)是一个转换器,客户通过它就可以访问异构数据库。

公共协议是指对客户和服务器间通信的格式和协议(FAP and Protocol)及对数据库语言进行标准化。

这是一种最理想的解决异构数据库系统集成的方法。

因此综上考虑博览博物领域本身的需求要求,我们在信息化建设中采取基于XML 的异构数据集成方式。

2 基于数字签名的加密技术
安全的Web Service是数据交换传输成功的必要保证。

Web Service使用SOAP协议来进行数据交换,而XML在默认情况下是明文编码的;同时,大部分网络服务使用HTTP作为传输协议,同样,HTTP协议也是使用明文方式来传输数据的。

这样使信息传输的保密性受到威胁,不能满足安全性基本要求:
·机密性,确保数据的保密性。

通常是使用加密实现的,使用加密算法将明文转换为密文,并使用相应的解密算法将密文转换回明文。

·数据完整性,确保数据免受意外或者故意(恶意)的篡改。

完整性通常是由消息身份验证代码或哈希值提供的。

·身份验证,确定数据的来源。

数字证书用于提供身份验证。

数字签名通常应用于哈希值,因为这些值比它们所代表的源数据小得多。

2002年12月份IBM、Microsoft和Verisign联合发布了一个关于网络服务安全性网络服务(WS-Security)的规范,该规范描述如何向简单物件存取协定SOAP(Simple Object Access Protocol)消息附加签名和加密报头,提供了一套网络服务开发者保护SOAP消息交换的机制。

现在有两类不同的加密技术:
(1)对称加密,双方具有共享的密钥,只有在双方都知道密钥的情况下才能使用,通常应用于孤立的环境之中,如果用户数目多,这种机制并不可靠。

常用的算法:DES(数据加密标准)、TripleDES(三重DES)、Rijndael、RC2等。

(2)非对称加密,也称为公开密钥加密(PKI)。

密钥是由公开密钥/私有密钥组成的密钥对,用私有密钥进行加密,利用公开密钥可以进行解密,但是由于公开密钥无法推算出私有密钥,所以公开的密钥并不会损害私有密钥的安全,公开密钥无须保密,可以公开传播,而私有密钥必须保密。

常用算法:DSA(数字签名算法)、RSA等。

数字签名是一种新兴的用来保证信息完整性的安全技术,它保证信息的安全不受侵犯,可以解决否认、伪造、篡改及冒充等问题。

它实际使用了信息发送者的私有密钥变换所需传输的信息。

常用算法:Hash、DSS、RSA等。

通常公钥信息、用户信息都保存在数字证书中。

由于近年来我国信息技术的蓬勃发展,异构子系统之间数据集成要求越来越高,因此在数据交换共享时如何保障数据内容的机密性、完整性、安全性以及一致性,就成为必须要思考的问题。

根据国际Web Service安全性的规范,我们在数据交换过程中实现基于数字签名的加密技术。

3 技术实现框架
基于阿帕奇扩展网际系统AXIS (APACHEEXTENSIBLEINTERACTIONSYSTEM)的数字签名与加密示意图,如图1所示。

实施方式:
(1)在客户端通过签名函数对SOAP信息进行加密;
(2)加密时,首先获得私有钥匙和相关证书,然后对SOAP消息进行签名,最后将签名后的文件通过HTTP协议发送到服务端;
(3)服务端通过数据验证函数验证已经签名的SOAP消息;
(4)验证后根据私有key和相关证书对文档进行解密。

4 系统实现
使用数据加密和数字证书满足数据共享交换时网络安全性服务要求。

当使用数字证书方法时,Web Service请求者必须有一个由可信认证中心签署的数字证书。

请求者使用这个证书来表明它们的身份,并对SOAP协定消息进行数字签名。

对方系统接收到消息后,就可对消息做时间戳记并进行日志记录、验证。

验证过程将确保消息来自发送方,并且还要验证消息内容在传输过程中没有被篡改。

信息被签名后再加密,然后把加密后的信息在网络上传播,这样,即使第三方获得加密后的传输信息,也不能解密。

在数据交换的网络服务中,过滤技术特点非常像过滤器(Filter)技术。

但SOAP消息过滤能够访问代表RPC请求或者响应的SOAP消息。

在JAX—RPC 技术中,SOAP消息过滤可以部署在服务端,也可以在客户端使用。

当一个SOAP 传输服务端到达服务端时,设定的过滤(可以多个)可以对请求进行过滤,同样可以对响应进行过滤。

我们采用Verisign公司的信任服务集成工具箱来支持SOAP包的数字签名、验证与加密、解密。

此包完全符合WS—Se—curity(安全性网络服务)规范,其工作流程具体步骤是:
步骤1参考Verisign公司的信任服务集成工具箱的使用标准,编写数据证书生成脚本;
步骤2通过数字证书脚本生成四个文件:服务器端文件bms.keystore;代理端文件bmc.keystore;服务器信任文件bms.truststore;代理端信任文件bmc.truststore;
步骤3网络客户端布署代理端文件(bmc.keystore)与服务器信任文件(bms.truststore)两个文件,服务端布署服务端文件(bms.keystore)与代理端信任文件(bmc.truststore)两个文件;
步骤4客户端调用接口时用代理端文件(bmc.keystore)的私钥数字签名,用服务器信任文件(bms.truststore)的公钥对SOAP包做加密;
步骤5处理响应时用代理端文件(bmc.keystore)的私钥对SOAP包做解密,用服务器信任文件(bms.truststore)的公钥验证数字签名。

实现流程图如图2所示。

5 结论
WebService现在越来越受到IT业和企业的关注。

它是一种分布式体系结构,被设计和指定用来促进跨平台的程序对程序通信。

这不仅从理念上改变了企业,而且拓宽了企业的营销渠道,为企业的发展带了新的模式。

本技术提供了一种在数据共享交换的过程中安全Web Service实现,使应用程序能够建安全的SOAP 消息交换、获得端到端的消息级安全。

XML签名用于认证发送者的身份、确保SOAP消息的完整性,并对XML加密提高了数据的安全性,已成为数字博览多元信息集成发布系统的关键技术之一。

相关文档
最新文档