1、构建基于 电子商务独立安全体系摘要 现代电子商务系统需要在不同企业的异构平台间完成数据收集、传递和处理,传统的 EDI 模式已不能满足这种需求。Web Service 在目前的电子商务中有着重要的应用,本文分析了 Web Service 的整体架构和技术特性,结合电子商务的发展趋势提出了基于独立安全服务的可重用的、柔性的电子商务安全体系结构,同时对使用 WS-Security 策略以及使用 SAML 确保电子商务可信任做了说明。 关键词 Web Service 电子商务 SOAP 独立 安全体系 一、引言 电子商务(Electronic Commerce)是在 Internet 开放的网络环境
2、下,基于 B/S(浏览器/服务器)应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。 随着电子商务的发展,企业内部、企业间的商业交互需求越来越多,不同商业以及企业间的应用系统需要密切合作,共同完成整个商务流程,而传统的 EDI 商务模式已不能满足这种复杂的交互需求,现阶段电子商务发展面临的最大问题是如何保障电子商务过程中的安全性,从而给消费者以信心。在旧的业务系统中,采用了诸如 CORBA,EJB,DCOM 等分布式模型技术。虽然 CORBA(通用对象请求代理体系结构)是目前较流行的一种分布式对象技术,它通过对象之间的交互来实现资源的共享,为分布式环境下
3、应用系统的集成提供支持。但是,CORBA 本身存在不少缺陷:如客户、服务器方的组件接口是紧密耦合的,客户组件在编译时就必须绑定到服务器组件,如果接口改变,那么客户组件必须重建;CORBA 采用 IIOP 通信协议,容易受到防火墙和代理服务器的阻隔等。采用 Web Service 解决方式时,需要先确定提供给其他应用系统使用的 API(应用程序接口) ,生成相应 WSDL(Web 服务描述语言)文档。然后将异种分布式组件封装成 Web Service。使用基于 XML 的 SOAP 相互通信,便可以实现应用系统的集成。 Web Service 技术的出现使我们看到解决电子商务安全问题的更多希望,
4、Web Service 是构筑在 XML 与 Soap 技术之上的一种典型的异构分布技术。自 Web Service 技术出现以來,其开放性的标准让各个不同系统间能够互相交换资料。这种良好的安全开放性使得以 Web Service 构建电子商务独立安全系统成为发展的新趋势。为实现不同商业企业间的应用系统提供动态安全集成,体现电子商务的真正价值。由此可以看出,目前实现电子商务独立安全集成的关键技术是 Web Services。 二、认识 Web Service 技术 Web Services 是由企业发布的用于完成其特别业务需求的在线应用服务,其他企业、合作伙伴的应用软件能够通过 Intrane
5、t、Internet 来动态地访问并使用这些在线服务。它是技术与市场发展的必然结果,是在 IBM、微软等许多平台供应商、软件提供商共同推动下,并在 W3C(万维网联盟)的工作流、数据安全性等方面的规范下发展起来的标准,各个供应商对其的支持程度超过了以往的任何跨供应商的软件产品。 对于 Web Services 来说它就是一组服务,是较完整的地将安全、认证等基本功能为一体的服务平台,并具有一系列相关的技术标准,这些标准使其具有作为一个服务平台的完整性和优越性。也可认为是存在于Web 服务器上的一组程序,这组程序被封装成一个暗箱,对外提供一个能通过 Web 进行调用的 API 接口,可用编程来调用
6、它,其执行结果被回传到客户端。 总之我们可以简单地把它理解为:Web Services 是一个集部署、发现、事务、安全、认证等基本功能为一体的服务平台,并具有一系列相关的技术标准,这些标准使其具有作为一个服务平台的完整性和优越性。尽管不同的商业公司在战略上开展 Web Services 的出发点不尽相同,但都确立了软件变服务的商业模式,并着力于解决服务的智能化以及个性化等问题。 三、构建 Web Service 的独立安全服务体系 1.Web Service 的技术特点分析 (1)面向服务。Web Services 把一切都看作服务,这种服务可以在网络上通过消息传递机制动态地被发现、组织和重用
7、。 (2)互操作性与松散耦合。通过 SOAP 消息机制远程调用进行应用交互,任何 Web 服务都可以与其他 Web 服务进行交互,避免了在CORBA、DCOM(分布式组件对象模型)和其它协议之间转换的麻烦,开发者可以使用任何语言来编写 Web 服务,无需变更他们的开发环境。Web Services 使用者与 Web Services 提供者之间是松散耦合。 (3)封装性。Web Services 对外封装成由 WSDL 描述的服务,屏蔽了业务逻辑的复杂性、实现技术的多样性和开发平台的异构性。 (4)普遍性。Web 服务技术基于一系列开放标准。Web 服务使用 HTTP 和 XML 进行通信,因
8、此,任何支持这些技术的设备都可以拥有和访问 Web服务,具有使用上的广泛性。 (5)集成性和简单性。可以使用任何语言(如 C、C+、VB、VC 等)来编写 Web 服务,开发者无需更改他们的开发环境就可以生产和使用 Web服务。Web 服务技术不仅易于理解,并且 IBM、微软等大的供应商所提供的开发工具能够让开发者快速创建、部署 Web 服务,已有的COM(Component Object Model 组件对象模型) 组件、Java Bean 等也可方便地转化为 Web 服务。 由于 Web Services 技术建立在标准性与开放性基础之上,彻底打破了以前封闭式的实现方法,通过 Web Se
9、rvices 技术,使用不同语言开发、运行在各个不同平台上的客户端应用可以无缝地获取所需应用,达到资源效率的最大化。 2.基于 Web Service 电子商务独立安全系统逻辑结构 我们可用如图 1 或图 2 两种方式来表示基于 Web Service 电子商务独立安全系统逻辑结构。 由图 1 可以看出 Web Service 的体系结构主要由三部分构成:一是独立安全服务(服务提供者) ,它是 Web 服务的拥有者,能创建 Web 服务并通过 Web 服务注册将其发布到 Internet 上,响应对其服务调用的请求;二是客户端(服务请求者)是 Web 服务功能的使用者,通过 Web 服务注册查
10、找所需的服务,并向 Web 服务提供者发送请求以获得服务;三是应用服务器(服务注册中心)是把服务请求者与合适的服务提供者绑定在一起,维护已发表服务的注册信息。 图 1 Web Service 的安全体系逻辑结构 图 2 统一安全服务体系结构的基本想法就是将系统的安全体系结构的复杂性迁移到所谓的统一安全服务器(层) ,由一个单独的服务器来实现统一安全服务,在此服务器上可以找到所有的安全算法,该服务器是对所定义域进行鉴别的惟一场所,因而使得系统的其他部分无须承担任何的安全职责。对于统一安全的鉴别/注册方法来说,即便一个用户在一个特定域中与许多不同的安全元素相互作用,也只需要进行一次登录。 被鉴别方
11、首先调用统一安全服务来请求得到一个能够在特定域中标识其自身的身份 ID。为了能够获得这个身份 ID,被鉴别的一方首先必须提供正确的鉴别资格信息。鉴别资格信息具有多种不同的形式:例如,可以是简单的用户名/口令或者证书,但是也可以采用别的方法。统一安全服务使用底层潜在的安全体系结构对用户的资格信息进行验证,然后才赋予用户一个身份 ID。 具体过程如下:被鉴别方向统一安全服务发出登陆请求;统一安全服务返回被鉴别方身份 ID;被鉴别方将应用请求与身份 ID 发往应用服务器;应用服务器将身份 ID 发往统一安全服务进行认证以及判权;统一安全服务返回认证以及判权结果;应用服务器根据返回的信息做出特定回应。
12、 3.构建 Web Service 的独立安全服务体系关键内容 (1)基于 Web Service 安全体系所需相关协议。 可扩展标记语言(XML)。XML(Extensible Markup Language)是平台中表示数据的基本格式。除了易于建立和分析外,XML 主要的优点在于它与平台无关、与厂商无关。Web Service 若要让异构平台上不同系统可以互相通讯和共享数据,那么数据在 Web 上传输必须以一定的标准和格式进行,这个表示数据的标准就是 XML。 简单对象访问协议(SOAP)。SOAP(Simple Object Access Protocol)是消息传递的协议,它规定了 W
13、eb Service 之间是怎样传递信息的,包括传递信息的格式为 XML,远程对象方法调用的格式,参数类型和 XML 格式之间的映射以及异常处理以及其他的相关信息。 Web 服务描述语言(WSDL)。WSDL(Web Service Description Language)定义了一套基于 XML 的语法,是描述 Web 服务的格式,包括服务名称,服务所在的机器名称,监听端口号,传递参数的类型,个数和顺序,返回结果的类型等。这样使服务请求者才能调用提供的 Web 服务。通用发现、描述与集成(UDDI)。UDDI(Universal Description.Discovery and Integ
14、ration)是一套基于 Web 的发布式的为 Web 服务提供的信息注册中心的实现标准规范。同时也包含一组使企业能将自身提供的 Web 服务注册以使得别的企业能够发现的访问协议的实现标准。用于集中存放和查找 WSDL 描述文件,起着目录服务器的作用。(2)构建安全服务器。构建安全服务器的基本思想就是使用一台独立的服务器作为系统安全层,该层承担所有安全职责。安全服务层向其他应用层提供 Web Service,这样可以使得系统中不同应用系统可以很方便的进行安全功能的集成以便系统中的各个部分将安全职责方便的转移到安全服务器上,并实现无障碍的在不同安全体系之中进行转换。此服务器主要承担用户身份注册与
15、鉴别任务,并且是身份鉴别的惟一场所,使得系统中其它子系统可以很方便的进行安全功能的集成。从而使得用户虽然在不同安全体系中使用电子商务系统,但也只需要一次登陆即可。(3)系统实施的关键UDDI。UDDI 可以是商业或行业的 UDDI,也可以是企业私有的 UDDI。拥有私有 UDDI 注册系统的企业发布服务的过程为:企业定义自己提供的 Web Services;企业将服务发布于自己的UDDI 上。要将服务发布到行业 UDDI 的发布过程为:企业通过浏览器登陆平台系统; 企业通知平台自己可以提供的 Web Services ;平台定义提供的 Web Services ;平台将定义的 Web Serv
16、ices 发布在 UDDI 中。 (4)对 Web Service 应用 WS-Security 策略以实现端到端的安全性。WS-Security 定义了一个用于携带安全性相关数据的 SOAP 标头元素。但采用 SOAP 消息传递来解决某些复杂问题,则仅仅基于 HTTP 的安全性是不够的。而调用方以及消息的标识、完整性和安全性需要在多个路由段中保留。HTTP 及其安全机制只是面向点到点的安全性。而更复杂的解决方式则需要端到端的安全性。WS-Security 解决的是如何在多点消息路径中维护一个安全的环境。WS-Security 并不指定签名或加密的格式,而是指定如何在 SOAP 消息中嵌入由其
17、他规范定义的安全性信息。WS-Security 主要是一个用于基于 XML 的安全性元数据容器的规范。它指定了一个通过 UsernameToken 元素传输简单用户凭据的机制。此外,为了发送用于加密或签名消息的二进制令牌,还定义了一个 BinarySecurityToken。WS-Security 将所有安全信息保存在消息的 SOAP部分中,从而为 Web 服务安全性提供了端到端的解决方式。 WS-Security 通过利用现有标准和规范来实现安全性,例如 Kerberos 和 X.509 用于身份验证;X.509 还使用现有的 PKI 进行密钥管理;XML 加密和 XML 签名描述了 XML
18、 消息内容的加密和签名方法;XML 标准描述了为签名和加密而准备 XML 的方法。WS-Security 在现有规范中添加了一个架构,且是由一种与传输无关的方式完成的。用于将这些机制嵌入到 SOAP 消息中。这样就不必在 WS-Security 中定义一个完整的安全性解决方案了。所以应用这一策略是非常重要的。 (5)使用 SAML 确保电子商务可信任。在电子商务中,经常需要提供个人信息。这样就会产生在不同的公司,可能都会有客户的信息,因此,对于所有的站点来说都要考虑客户的信息的安全。SAML 为 SSO 提供了一个安全的协议。它是允许 Web 站点安全地共用身份信息的一个规范。站点使用 SAM
19、L 的 XML 词汇表和请求/应答模式,通过 HTTP 交换身份信息。SAML 依靠一批制定完善的安全标准,包括 SSL 和 X.509 来保护 SAML 源站点和目标站点之间通信的安全。源站点和目标站点之间的所有通信都经过了加密。为保证参与 SAML 交互的双方站点都能验证对方的身份,还使用了证书。因此,可以设计 SAML 来解决这一问题,它只允许少数经过客户选择的团体保留客户的信息,在得到客户的明确批准后这些团体可以与其他有关的团体共享这些信息。这意味着客户的信息安全掌握在客户所信任的团体的手中,并且可以访问一些供应商通过组织多种底层次服务所提供的高级服务。 四、结论 在构建了基于 Web
20、 Service 的独立服务器后,处理机制全部集中在统一服务层并成为惟一的身份鉴别场所,同时对于整个系统安全策略的制定、实施与维护变得很简单。电子商务系统中的其它实体就没有必要单独实现所有的安全功能和机制,所以提高了整个系统的安全性。 统一安全服务层成为惟一可以接受安全信用信息的场所,而安全信用信息位于特定的安全域中。由于不必到处传递安全信用信息,统一安全服务增强了整个系统的安全性。且可以在一个广阔的范围里进行鉴别。SOAP 对于统一安全服务的接口使 Web Service 统一安全服务体系结构变得非常通用,WS-Security 策略将所有安全信息保存在消息的 SOAP 部分中,为 Web 服务安全性提供了端到端的解决方法。在传输方面是作为WS-Security 重要补充的 SAML,在传输方面,通过某点登陆能同时为使用者提供有效的安全性和方便性。 总之,统一安全服务本身也是一个 Web service,使得系统中的其它部分可以很方便的将统一安全服务集成在一起。以提供又快又好的安全服务。 参考文献: 1徐舒亮叶少珍:基于 Web 服务的 EAI 解决方案探讨N.福州大学学报,2004.12 2顾宁刘家茂柴晓路:Web Services 原理与研发实践M.机械工业出版社,2006