构建基于Web Service电子商务独立安全体系

来源:岁月联盟 作者:雷伟军 张红祥 毛艳 时间:2010-07-01

[摘要] 商务系统需要在不同的异构平台间完成数据收集、传递和处理,传统的EDI模式已不能满足这种需求。Web Service 在目前的电子商务中有着重要的应用,本文分析了Web Service的整体架构和技术特性,结合电子商务的趋势提出了基于独立安全服务的可重用的、柔性的电子商务安全体系结构,同时对使用WS-Security策略以及使用SAML确保电子商务可信任做了说明。
  [关键词] Web Service 电子商务 SOAP 独立 安全体系
  
  一、引言
  电子商务(Electronic Commerce)是在Internet开放的环境下,基于B/S(浏览器/服务器)应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。
  随着电子商务的发展,企业内部、企业间的商业交互需求越来越多,不同商业以及企业间的应用系统需要密切合作,共同完成整个商务流程,而传统的EDI商务模式已不能满足这种复杂的交互需求,现阶段电子商务发展面临的最大问题是如何保障电子商务过程中的安全性,从而给消费者以信心。在旧的业务系统中,采用了诸如CORBA,EJB,DCOM等分布式模型技术。虽然CORBA(通用对象请求代理体系结构)是目前较流行的一种分布式对象技术,它通过对象之间的交互来实现资源的共享,为分布式环境下应用系统的集成提供支持。但是,CORBA本身存在不少缺陷:如客户、服务器方的组件接口是紧密耦合的,客户组件在编译时就必须绑定到服务器组件,如果接口改变,那么客户组件必须重建;CORBA 采用IIOP 通信协议,容易受到防火墙和代理服务器的阻隔等①。采用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发往统一安全服务进行认证以及判权;统一安全服务返回认证以及判权结果;应用服务器根据返回的信息做出特定回应。
  3.构建Web Service的独立安全服务体系关键内容
  (1)基于Web Service安全体系所需相关协议。
  ①可扩展标记语言(XML)。XML(Extensible Markup Language)是平台中表示数据的基本格式。除了易于建立和分析外,XML主要的优点在于它与平台无关、与厂商无关。Web Service若要让异构平台上不同系统可以互相通讯和共享数据,那么数据在Web上传输必须以一定的标准和格式进行,这个表示数据的标准就是XML。
  ②简单对象访问协议(SOAP)。SOAP(Simple Object Access Protocol)是消息传递的协议,它规定了Web Service之间是怎样传递信息的,包括传递信息的格式为XML,远程对象方法调用的格式,参数类型和XML格式之间的映射以及异常处理以及其他的相关信息。
  ③Web服务描述语言(WSDL)。WSDL(Web Service Description Language)定义了一套基于XML的语法,是描述Web服务的格式,包括服务名称,服务所在的机器名称,监听端口号,传递参数的类型,个数和顺序,返回结果的类型等。这样使服务请求者才能调用提供的Web服务。
  ④通用发现、描述与集成(UDDI)。UDDI(Universal Description.Discovery and Integration)是一套基于Web的发布式的为Web服务提供的信息注册中心的实现标准规范。同时也包含一组使能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。用于集中存放和查找WSDL描述文件,起着目录服务器的作用。
  (2)构建安全服务器。构建安全服务器的基本思想就是使用一台独立的服务器作为系统安全层,该层承担所有安全职责。安全服务层向其他应用层提供Web Service,这样可以使得系统中不同应用系统可以很方便的进行安全功能的集成以便系统中的各个部分将安全职责方便的转移到安全服务器上,并实现无障碍的在不同安全体系之中进行转换。此服务器主要承担用户身份注册与鉴别任务,并且是身份鉴别的惟一场所,使得系统中其它子系统可以很方便的进行安全功能的集成。从而使得用户虽然在不同安全体系中使用商务系统,但也只需要一次登陆即可。
  (3)系统实施的关键——UDDI。UDDI可以是商业或行业的UDDI,也可以是企业私有的UDDI。拥有私有UDDI注册系统的企业发布服务的过程为:企业定义自己提供的Web Services;企业将服务发布于自己的UDDI上。要将服务发布到行业UDDI的发布过程为:企业通过浏览器登陆平台系统; 企业通知平台自己可以提供的Web Services ;平台定义提供的Web Services ;平台将定义的Web Services 发布在UDDI中。
  (4)对Web Service应用WS-Security策略以实现端到端的安全性。WS-Security 定义了一个用于携带安全性相关数据的SOAP标头元素。但采用SOAP消息传递来解决某些复杂问题,则仅仅基于 HTTP 的安全性是不够的。而调用方以及消息的标识、完整性和安全性需要在多个路由段中保留。HTTP 及其安全机制只是面向点到点的安全性。而更复杂的解决方式则需要端到端的安全性。WS-Security 解决的是如何在多点消息路径中维护一个安全的环境。WS-Security 并不指定签名或加密的格式,而是指定如何在SOAP消息中嵌入由其他规范定义的安全性信息。WS-Security 主要是一个用于基于XML的安全性元数据容器的规范。它指定了一个通过 UsernameToken 元素传输简单用户凭据的机制。此外,为了发送用于加密或签名消息的二进制令牌,还定义了一个 BinarySecurityToken。WS-Security 将所有安全信息保存在消息的SOAP部分中,从而为 Web 服务安全性提供了端到端的解决方式。
  WS-Security通过利用现有标准和规范来实现安全性,例如 Kerberos 和 X.509 用于身份验证;X.509还使用现有的PKI进行密钥管理;XML加密和XML签名描述了XML消息内容的加密和签名方法;XML标准描述了为签名和加密而准备XML的方法。WS-Security在现有规范中添加了一个架构,且是由一种与传输无关的方式完成的。用于将这些机制嵌入到SOAP消息中。这样就不必在 WS-Security 中定义一个完整的安全性解决方案了。所以应用这一策略是非常重要的。
  (5)使用SAML确保电子商务可信任。在电子商务中,经常需要提供个人信息。这样就会产生在不同的公司,可能都会有客户的信息,因此,对于所有的站点来说都要考虑客户的信息的安全。SAML为SSO提供了一个安全的协议。它是允许Web站点安全地共用身份信息的一个规范。站点使用SAML的XML词汇表和请求/应答模式,通过HTTP交换身份信息。SAML依靠一批制定完善的安全标准,包括SSL和X.509来保护SAML源站点和目标站点之间通信的安全。源站点和目标站点之间的所有通信都经过了加密。为保证参与SAML交互的双方站点都能验证对方的身份,还使用了证书。因此,可以设计SAML来解决这一问题,它只允许少数经过客户选择的团体保留客户的信息,在得到客户的明确批准后这些团体可以与其他有关的团体共享这些信息。这意味着客户的信息安全掌握在客户所信任的团体的手中,并且可以访问一些供应商通过组织多种底层次服务所提供的高级服务。
  四、结论
  在构建了基于Web Service的独立服务器后,处理机制全部集中在统一服务层并成为惟一的身份鉴别场所,同时对于整个系统安全策略的制定、实施与维护变得很简单。电子商务系统中的其它实体就没有必要单独实现所有的安全功能和机制,所以提高了整个系统的安全性。
  统一安全服务层成为惟一可以接受安全信用信息的场所,而安全信用信息位于特定的安全域中。由于不必到处传递安全信用信息,统一安全服务增强了整个系统的安全性。且可以在一个广阔的范围里进行鉴别。SOAP对于统一安全服务的接口使Web Service统一安全服务体系结构变得非常通用,WS-Security策略将所有安全信息保存在消息的 SOAP 部分中,为 Web 服务安全性提供了端到端的解决方法。在传输方面是作为WS-Security重要补充的SAML,在传输方面,通过某点登陆能同时为使用者提供有效的安全性和方便性。
  总之,统一安全服务本身也是一个Web service,使得系统中的其它部分可以很方便的将统一安全服务集成在一起。以提供又快又好的安全服务。
  
  :
  [1]徐舒亮叶少珍:基于Web服务的EAI解决方案探讨[N].福州大学学报,2004.12
  [2]顾宁刘家茂柴晓路:Web Services 原理与研发实践[M].机械出版社,2006