论文部分内容阅读
今天,基于PKI的传统安全中间件已基本满足了我们大部分的网络安全需求,但这仍是远远不够的。本文探讨了传统安全中间件与基于Web Services的安全中间件各自的运作模式及区别,进而总结出基于Web Services的安全中间件的优势:松耦合性、跨平台性与跨编程语言性。紧接着提出基于Web Services的安全中间件的设计方案,其突出点在于采用了Web Services实现应用程序与安全中间件之间的通讯,并在最后给出了本系统的部分细节实现方案。
随着Web Services由技术概念到实践应用的不断发展,种种迹象表明,Web Services将是未来应用架构的一个极为重要的模式。
安全中间件是中间件的一种,为我们提供了CA认证、数字证书、数字签名等安全相关的通用编程抽象。应用程序人员不必拥有专业的安全知识,即可通过调用安全中间件的相关API方便地使用所需的安全功能,从而使开发人员能够专注于业务逻辑的开发。
目前,传统的基于PKI(Public Key Infrastructure)的安全中间件已经可以满足我们大部分的安全要求,但是这仍然是不够的,因为传统安全中间件基本上都是采用调用API的方式,从而直接导致了应用程序与安全中间件的紧耦合性、平台相关性与编程语言相关性。
基于Web Services的安全中间件的优势
具有松耦合性与跨平台跨编程语言正是Web Services技术的最大特性,下面将讨论传统安全中间件与基于Web Services的安全中间件的各自运作模式及他们的不同,并总结出基于Web Services的安全中间件的优势。
传统安全中间件产品一般以PKI为基础,建立在X.509等安全标准之上,为开发人员提供了加密、认证、授权、验证等安全接口。下面是传统安全中间件与基于Web Services的安全中间件的运作模式对比图:
如图2所示,本系统采用分层的设计结构。最上层为服务发布接口,以Web Services的形式发布给应用程序,而不是传统的采用API或RPC远程调用接口,消除了应用程序层与安全服务层之间的耦合性,也使得应用程序与安全中间件无需部署在一起,大大提高了企业信息系统的整体灵活性。
安全中间件在接收到请求后对其进行解析,然后进行相应的操作并返回。在应用程序接口下面,是两个主要模块接口——证书服务与密码服务接口,设计这两个接口的目的是为了日后系统的扩展。
在两个接口的下面,是两个模块的具体实现,这里的具体实现有两种方式,一是使用各种成熟的组件直接实现服务,如Sun提供的JCE、JAAS及JSSE,微软的CryptAPI或Intel的CDSA等;二是通过统一的PKI接口调用现成的PKI设施,其好处是可以随以后需求的变更而灵活使用不同的PKI产品。PKI统一接口的下方PKI Provider xx是针对某一PKI产品所设计的专用转换接口,实现从特定PKI产品自身接口到本系统PKI统一接口的转换。
实现细节:
下面是本系统的服务接口设计,这里的服务接口是指本安全中间件开发给应用程序的服务接口。本系统的Web Service的实现采用AXIS2开源框架。下面将使用AXIS2的services.xml说明服务接口的设计,并结合使用SOAP消息格式进行详细说明。
如services.xml文件中申请证书的xml配置如下:
urn:applyCert
本文就传统安全中间件与基于Web Services的安全中间件进行探讨比较,进而总结出基于Web Services的安全中间件的优势之处在于松耦合、跨平台与跨编程语言。接着,提出基于Web Services的安全中间件的设计方案,并实现了上述三点优势。当然,本系统目前还存在一些不足之处,在完整性方面,目前仅实现了基本的安全服务功能;在标准性方面,目前采用的Web Services安全规范仍处于草案阶段而不是公认的标准;最后是实用性,本系统目前仍处于测试阶段,最终能否胜任安全强度的要求仍需进一步的考验。
参考文献
[1] JP Morgenthal. Web Services for Enterprise Application Integration. [A] Journal, 2002,2(5 ): 14 ~16
[2] 张志擦. 中间件技术. 北京:中国石化出版社,2002. 122~123
[3] 荆继武. PKI系统研究:[博士学位论文]. 北京:中国科学院研究生院,2002
[4] 张振兴. Web服务安全性的研究与实现:[D]. 华北电力大学硕士论文,2004
[5] 肖军模,刘军. 网络信息安全. 北京:机械工业出版社,2003. 23~24
[6] Markham T. Security at the network edge. Information Survivability Conference, 2001,11. 279~286
[7] Simple Object Access Protocol(SOAP)1 .1.http://www.w3c.org/TR/2000/NOTE-SOAP-20000508
[8] Paul Kearney. Message level security for Web services, Information Security Technical Report, 2005(10): 41-50
随着Web Services由技术概念到实践应用的不断发展,种种迹象表明,Web Services将是未来应用架构的一个极为重要的模式。
安全中间件是中间件的一种,为我们提供了CA认证、数字证书、数字签名等安全相关的通用编程抽象。应用程序人员不必拥有专业的安全知识,即可通过调用安全中间件的相关API方便地使用所需的安全功能,从而使开发人员能够专注于业务逻辑的开发。
目前,传统的基于PKI(Public Key Infrastructure)的安全中间件已经可以满足我们大部分的安全要求,但是这仍然是不够的,因为传统安全中间件基本上都是采用调用API的方式,从而直接导致了应用程序与安全中间件的紧耦合性、平台相关性与编程语言相关性。
基于Web Services的安全中间件的优势
具有松耦合性与跨平台跨编程语言正是Web Services技术的最大特性,下面将讨论传统安全中间件与基于Web Services的安全中间件的各自运作模式及他们的不同,并总结出基于Web Services的安全中间件的优势。
传统安全中间件产品一般以PKI为基础,建立在X.509等安全标准之上,为开发人员提供了加密、认证、授权、验证等安全接口。下面是传统安全中间件与基于Web Services的安全中间件的运作模式对比图:

如图2所示,本系统采用分层的设计结构。最上层为服务发布接口,以Web Services的形式发布给应用程序,而不是传统的采用API或RPC远程调用接口,消除了应用程序层与安全服务层之间的耦合性,也使得应用程序与安全中间件无需部署在一起,大大提高了企业信息系统的整体灵活性。
安全中间件在接收到请求后对其进行解析,然后进行相应的操作并返回。在应用程序接口下面,是两个主要模块接口——证书服务与密码服务接口,设计这两个接口的目的是为了日后系统的扩展。
在两个接口的下面,是两个模块的具体实现,这里的具体实现有两种方式,一是使用各种成熟的组件直接实现服务,如Sun提供的JCE、JAAS及JSSE,微软的CryptAPI或Intel的CDSA等;二是通过统一的PKI接口调用现成的PKI设施,其好处是可以随以后需求的变更而灵活使用不同的PKI产品。PKI统一接口的下方PKI Provider xx是针对某一PKI产品所设计的专用转换接口,实现从特定PKI产品自身接口到本系统PKI统一接口的转换。
实现细节:
下面是本系统的服务接口设计,这里的服务接口是指本安全中间件开发给应用程序的服务接口。本系统的Web Service的实现采用AXIS2开源框架。下面将使用AXIS2的services.xml说明服务接口的设计,并结合使用SOAP消息格式进行详细说明。

如services.xml文件中申请证书的xml配置如下:
本文就传统安全中间件与基于Web Services的安全中间件进行探讨比较,进而总结出基于Web Services的安全中间件的优势之处在于松耦合、跨平台与跨编程语言。接着,提出基于Web Services的安全中间件的设计方案,并实现了上述三点优势。当然,本系统目前还存在一些不足之处,在完整性方面,目前仅实现了基本的安全服务功能;在标准性方面,目前采用的Web Services安全规范仍处于草案阶段而不是公认的标准;最后是实用性,本系统目前仍处于测试阶段,最终能否胜任安全强度的要求仍需进一步的考验。
参考文献
[1] JP Morgenthal. Web Services for Enterprise Application Integration. [A] Journal, 2002,2(5 ): 14 ~16
[2] 张志擦. 中间件技术. 北京:中国石化出版社,2002. 122~123
[3] 荆继武. PKI系统研究:[博士学位论文]. 北京:中国科学院研究生院,2002
[4] 张振兴. Web服务安全性的研究与实现:[D]. 华北电力大学硕士论文,2004
[5] 肖军模,刘军. 网络信息安全. 北京:机械工业出版社,2003. 23~24
[6] Markham T. Security at the network edge. Information Survivability Conference, 2001,11. 279~286
[7] Simple Object Access Protocol(SOAP)1 .1.http://www.w3c.org/TR/2000/NOTE-SOAP-20000508
[8] Paul Kearney. Message level security for Web services, Information Security Technical Report, 2005(10): 41-50