[摘要] 现代电子商务系统需要在不同企业的异构平台间完成数据收集、传递和处理,传统的edi模式已不能满足这种需求。web service 在目前的电子商务中有着重要的应用,本文分析了web service的整体架构和技术特性,结合电子商务的发展趋势提出了基于独立安全服务的可重用的、柔性的电子商务安全体系结构,同时对使用ws-security策略以及使用saml确保电子商务可信任做了说明。
[关键词] web service 电子商务 soap 独立 安全体系
一、引言
电子商务(electronic commerce)是在internet开放的网络环境下,基于b/s(浏览器/服务器)应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。
随着电子商务的发展,企业内部、企业间的商业交互需求越来越多,不同商业以及企业间的应用系统需要密切合作,共同完成整个商务流程,而传统的edi商务模式已不能满足这种复杂的交互需求,现阶段电子商务发展面临的最大问题是如何保障电子商务过程中的安全性,从而给消费者以信心。在旧的业务系统中,采用了诸如corba,ejb,dcom等分布式模型技术。虽然corba(通用对象请求代理体系结构)是目前较流行的一种分布式对象技术,它通过对象之间的交互来实现资源的共享,为分布式环境下应用系统的集成提供支持。但是,corba本身存在不少缺陷:如客户、服务器方的组件接口是紧密耦合的,客户组件在编译时就必须绑定到服务器组件,如果接口改变,那么客户组件必须重建;corba 采用iiop 通信协议,容易受到防火墙和代理服务器的阻隔等①。wwW.133229.COm采用web service解决方式时,需要先确定提供给其他应用系统使用的api(应用程序接口),生成相应wsdl(web服务描述语言)文档。然后将异种分布式组件封装成web service。使用基于xml的soap相互通信,便可以实现应用系统的集成。
web service技术的出现使我们看到解决电子商务安全问题的更多希望,web service是构筑在xml与soap技术之上的一种典型的异构分布技术。自web service技术出现以來,其开放性的标准让各个不同系统间能够互相交换资料。这种良好的安全开放性使得以web service 构建电子商务独立安全系统成为发展的新趋势。为实现不同商业企业间的应用系统提供动态安全集成,体现电子商务的真正价值。由此可以看出,目前实现电子商务独立安全集成的关键技术是web services。
二、认识web service技术
web services 是由企业发布的用于完成其特别业务需求的在线应用服务,其他企业、合作伙伴的应用软件能够通过intranet、internet来动态地访问并使用这些在线服务。它是技术与市场发展的必然结果,是在ibm、微软等许多平台供应商、软件提供商共同推动下,并在w3c(万维网联盟)的工作流、数据安全性等方面的规范下发展起来的标准,各个供应商对其的支持程度超过了以往的任何跨供应商的软件产品。
对于web services来说它就是一组服务,是较完整的地将安全、认证等基本功能为一体的服务平台,并具有一系列相关的技术标准,这些标准使其具有作为一个服务平台的完整性和优越性。也可认为是存在于web服务器上的一组程序,这组程序被封装成一个暗箱,对外提供一个能通过web进行调用的api接口,可用编程来调用它,其执行结果被回传到客户端。
总之我们可以简单地把它理解为:web services 是一个集部署、发现、事务、安全、认证等基本功能为一体的服务平台,并具有一系列相关的技术标准,这些标准使其具有作为一个服务平台的完整性和优越性。尽管不同的商业公司在战略上开展web services 的出发点不尽相同,但都确立了软件变服务的商业模式,并着力于解决服务的智能化以及个性化等问题。
三、构建web service的独立安全服务体系
1.web service的技术特点分析
(1)面向服务。web services 把一切都看作服务,这种服务可以在网络上通过消息传递机制动态地被发现、组织和重用。
(2)互操作性与松散耦合。通过soap消息机制远程调用进行应用交互,任何web 服务都可以与其他web 服务进行交互,避免了在corba、dcom(分布式组件对象模型)和其它协议之间转换的麻烦,开发者可以使用任何语言来编写web服务,无需变更他们的开发环境。web services 使用者与web services 提供者之间是松散耦合。
(3)封装性。web services 对外封装成由wsdl描述的服务,屏蔽了业务逻辑的复杂性、实现技术的多样性和开发平台的异构性。
(4)普遍性。web 服务技术基于一系列开放标准。web服务使用http 和xml进行通信,因此,任何支持这些技术的设备都可以拥有和访问web服务,具有使用上的广泛性。
(5)集成性和简单性。可以使用任何语言(如c、c++、vb、vc等)来编写web服务,开发者无需更改他们的开发环境就可以生产和使用web服务。web服务技术不仅易于理解,并且ibm、微软等大的供应商所提供的开发工具能够让开发者快速创建、部署web 服务,已有的com(component object model 组件对象模型) 组件、java bean 等也可方便地转化为web 服务。
由于web services 技术建立在标准性与开放性基础之上,彻底打破了以前封闭式的实现方法,通过web services 技术,使用不同语言开发、运行在各个不同平台上的客户端应用可以无缝地获取所需应用,达到资源效率的最大化。
2.基于web service电子商务独立安全系统逻辑结构
我们可用如图1或图2两种方式来表示基于web service电子商务独立安全系统逻辑结构。
由图1可以看出web service的体系结构主要由三部分构成:一是独立安全服务(服务提供者),它是web服务的拥有者,能创建web服务并通过web服务注册将其发布到internet上,响应对其服务调用的请求;二是客户端(服务请求者)是web服务功能的使用者,通过web服务注册查找所需的服务,并向web服务提供者发送请求以获得服务;三是应用服务器(服务注册中心)是把服务请求者与合适的服务提供者绑定在一起,维护已发表服务的注册信息。
图1 web service的安全体系逻辑结构
图2
统一安全服务体系结构的基本想法就是将系统的安全体系结构的复杂性迁移到所谓的统一安全服务器(层),由一个单独的服务器来实现统一安全服务,在此服务器上可以找到所有的安全算法,该服务器是对所定义域进行鉴别的惟一场所,因而使得系统的其他部分无须承担任何的安全职责。对于统一安全的鉴别/注册方法来说,即便一个用户在一个特定域中与许多不同的安全元素相互作用,也只需要进行一次登录。
被鉴别方首先调用统一安全服务来请求得到一个能够在特定域中标识其自身的身份id。为了能够获得这个身份id,被鉴别的一方首先必须提供正确的鉴别资格信息。鉴别资格信息具有多种不同的形式:例如,可以是简单的用户名/口令或者证书,但是也可以采用别的方法。统一安全服务使用底层潜在的安全体系结构对用户的资格信息进行验证,然后才赋予用户一个身份id。
具体过程如下:被鉴别方向统一安全服务发出登陆请求;统一安全服务返回被鉴别方身份id;被鉴别方将应用请求与身份id发往应用服务器;应用服务器将身份id发往统一安全服务进行认证以及判权;统一安全服务返回认证以及判权结果;应用服务器根据返回的信息做出特定回应。