基于CORBA的电子商务系统的安全性
关键词:通用对象请求代理体系结构,电子商务,安全性,平台
security in corba-based electronic commerce systems
liu hai-yan,tian xin-yan,tian xin-yu
abstract: electronic commerce provides business with new ways of advertising and selling goods, services, and information to large groups of customers in dynamic open electronic commerce environments. this article addresses the technologies for realizing electronic commerce applications, focusing on the relevance of the corba framework for these solutions.
key words:corba,electronic commerce, security, platform
1. 电子商务介绍
通俗的说,所谓电子商务,就是在网上开展商务活动-当企业将它的主要业务通过企业内部网(intranet)、外部网(extranet)以及internet与企业的职员、客户供销商以及合作伙伴直接相连时,其中发生的各种活动就是电子商务。电子商务是基于internet/intranet或局域网、广域网、包括了从销售、市场到商业信息管理的全过程。
目前,电子商务只是在对通用方针和平台意见一致的参与者间的封闭组织内进行。例如,电子数据交换(edi)被用来在一个机构的多个分支之间,或者在建立了契约联系的机构之间安全地传输数据。而在这些早期阶段,电子商务系统只处理某几个方面的完全商务事务。
当客户可以通过他们的web浏览器来使用的第一批基于web的商店出现时,建立了电子商务的一个更全面的概念作为internet上传递货物和价格的方式。现在,大多数电子商务系统是基于web的,并且允许客户通过他们的web浏览器购买货物并用信用卡结帐。然而,基于web的应用程序的局限功能使得很难向客户提供全范围的服务。
未来,电子商务解决方案的需求将超过当前级别。将来的系统将必须通过多个自治的服务提供商来满足动态开放式环境中的需求,电子商务将成为一个包含多个交易实体间复杂的交互作用的分布式过程。在一个开放式市场中,有许多独立的货物和服务的供应商,并且可能有通过合并第三方提供的服务来提供服务的调解者。客户本身也可能合并随选(on-demand)产品或者服务来实现合成包。因此,现代的电子商务系统必须能集成不同种类参与系统和不同政策领域中互相不信任的用户。
2.背景及未来电子商务安全性问题
internet的爆发增长,使得通过为一大群顾客和供应商提供一个通用通讯环境的方法可以发挥电子商务的独一无二的潜力。今天,网上有数以千计的面向消费者和面向交易的商务站点,并且这个数目正在快速增长。
从消费者的观点来看,这个大型系统积极的方面是:用户可以从相当大的产品范围内选择,并且寻找最合适的产品。提供者可以从大量的可能顾客和减少事务花费来获益。
然而,电子商务成为世界新热点,但其安全性也随着信息化的深入也随之要求愈高了。快速和不受控制的增长产生了组织和技术天性方面的不同问题。市场依旧是封闭的,并且常常没有完全符合顾客和提供者的需求。今天的电子商务系统在私人拥有的平台上运行,因此应用程序并不能互操作,也不能建立在对方的基础上。安全性和支付系统仍然不成熟,并且常常是不相称的。只有用标准的电子商务框架才能解决这些问题。
未来的电子商务系统的主要安全性问题是它们必须通过复杂的组件技术和信托关系在一个动态并开放的,从而也是不受控制的环境中操作。多数电子商务使用的电子支付系统必须很容易使用的,也必须透明地提供鉴定、完整性保护、机密性保护和认可。另外,客户和提供者之间的通讯连接必须保持数据的机密性和完整性,首先保护客户的隐私,其次是确保客户购买的服务不能被篡改。
很不幸,今天的(基于web的)电子商务系统不能迎合这些关于功能性和安全性的需求。下面的段落描述如何用corba来解决一些问题。
3.corba概述
通用对象请求代理体系结构(corba)是对象管理组织(omg)1995年首先开发出来的一个规范。其核心部分是对象请求代理(orb),是一个便于实现不同硬件和软件平台上的互操作和集成的软件总线。从软件开发者的观点来看,orb抽象了分布式系统中远程方法调用的内在的复杂性。corba可以抽象网络通讯、平台的差异、编程语言等的差异,并且可以透明地提供电子商务所需的安全性功能。另外,corba指定了大量corba服务,例如名字服务、事务服务、时间服务或安全性服务,这些服务分别着重于分布式系统中的某些特殊方面。
图1 corba绑定和方法调用
图1用一种简单方式说明了corba的工作机理:在最初的绑定阶段,客户端应用程序通过orb库(①,②)连接到一个活化组件或名字服务上,然后依次查询实现库中的目标对象引用(③)并当目标对象还没有运行起来时,启动这个对象(④,⑤)。目标对象引用然后就被传回客户端orb库(⑥)。客户无论何时通过对象代码桩(⑧)调用目标方的方法(⑦),orb库都要透明地连接到目标orb库上(⑨),然后目标orb库通过目标代码骨架(⑩,⑾)将请求传递给目标对象。应答通过⑾和⑦之间的链送回。
corba的灵活方法调用系统允许客户动态绑定到服务方上,从而使得服务灵活动态地合成,以及交互作用的调和、互操作性和购物会话过程中的状态保持都很方便。
corba还使得电子商务系统支持合成产品的概念和由多个提供者的相应项构成的服务包的概念。例如,一个旅行社可以提供一个包括飞机票、旅店预约、汽车租赁和旅游向导等的旅行包。
很不幸的,实际上多数corba的实现并没有完全遵照规范,许多服务至今仍不可用。这对安全性服务尤其不幸,因为安全性服务对任何基于corba的电子商务系统是绝对必需的。而且,不同厂商的corba实现并不总能完全互操作,尤其当使用别的corba服务时。没有定制的corba安全性服务部分地或者完全不遵照使得互操作成为可能的规范。
4.corba安全性概述
corba安全性规范包括一个安全模式和为应用程序、管理程序和实现程序提供的接口和工具。规范中的通用安全互操作部分定义了通用安全性机制,使得可以安全互操作。
分布式对象系统的corba安全模式建立在表1所示的安全性特征的基础上。
机密 性(confidentiality)
完整性 (integrity)
可说明性 (accountability)
表1: 安全性特征
corba安全服务规范定义了不同的对象接口,这些接口提供了下面的安全功能来增强上面提及的安全性特征(见表2)。
安全性管理:方法和范围(security administration:policies and domains)
鉴定(authentication)
安全性上下文制定(security context establishment)
存取控制(access control)
通讯保护(完整性,机密性)
communications protection(integrity,confidentiality)
安全性审计(security audit)
认可(non-repudiation)
表2 :corba安全服务规范中的安全性功能
实际上,特别是在电子商务中,corba安全服务规范中的安全服务将不可避免的过于沉重和复杂。个别电子商务系统可能有不同于最初由omg预想中corba系统的特别安全性需求。值得指出的是,在这个阶段,corba安全性服务是围绕分布式计算环境(dce)而设计的,典型地都工作在类似于校园的封闭式环境中,下层平台和政策都可控制(也就是说,可以安装和管理dce底层安全性结构)。在这种环境中,基本的安全需求是保护系统,防止未验证的使用和修改。
5.电子商务安全需求
今天的电子商务系统中,一些安全需求与类似于dce的环境大相径庭。在dce中,客户必须信任服务器和系统,但需保护服务器以防未验证的客户。电子商务环境中,也需要防止有恶意的会员。因此,系统必须保护客户以防恶意的服务器和另外的客户,也要保护服务器以防未验证的客户。互相不信任的参与者这个概念并不是dce所固有的。
在传统的环境中,通过所有权来指定系统的责任,并用通过这些所有权的范围来定义信任边界。在开放式系统中,信任边界、所有权和责任范围可能不同,这引发了不同的问题。例如,商家可能负责购物过程的安全性,而不能控制客户系统。另外,也常常不能规定客户软件所运行的平台(例如,corba产品,java版本,操作系统)或安全政策(例如,操作系统安全性配置)。另一方面,客户可能负责一段它并不理解的而后台透明运作的软件,而这个软件可能是由一个后来和客户发生纠纷的供应商提供的。这造成了系统中可信部分如何在供应商和客户间分配的问题。
交易的合伙人之间的契约关系应该指明风险分派,责任分派和解决纠纷的原则。就电子商务来说,我们现在必须处理可能来自一些不可信任源,并且运行在不安全的下层操作系统上的硬件和软件,因此建立这种契约关系的困难就更大了。这样的软件偶尔会失效或者恶意地运作,并且太复杂而不能成为多数终端用户的责任。
在更技巧性的层上,事务和支付需求更强的完整性和机密性保护,同时需要保证电子兑现的匿名性。也可能存在购物时可以在浏览器端下载轻量的客户应用程序的需求。在这些情况下,客户机装不上大的安全基本设施。客户端的安全政策也许也不允许购物软件永久安装在客户机上。为了使开放的电子商务能实际运作起来,安全电子商务产品需要不定制就可使用,也需要银行掩饰电子支付系统潜在的安全漏洞。
6.corba和电子商务安全性
corba安全服务规范提供了消息层完整性和负责者的鉴定/认可,这两项对电子商务应用程序都很关键。然而,omg的电子商务域任务组织(omg-ecdtf)为电子商务系统识别另外几种安全需求。corba规范中并没有下面的需求,或者由于它们仍未被提出,或者由于它们超出了corba所能达到的范围:
l 事务审核:corba安全规范提供了审核数据产生,但没有提供所需数据和粒度。
l 基于角色的存取控制:尽管好的粒度或者灵敏的商务交易中需要单独的存取控制,但电子商务把基于角色的存取控制作为主要形式。corba安全性没有提供基于角色的存取控制。
l 认可:corba规定根据的生成,但是不提供存储根据、恢复根据和确认根据的工具。电子商务所需的完全的认可功能包括根据生成、确认、存储、恢复和递送权力。这个服务可以提供创造、起源、接收、服从、赞成、递送和行为的认可。
l 完整性:应该提供将数据变成完整性所保护的数据、将完整性所保护的数据转变回原始数据、检查是否遗失完整性的功能。另外,也需要着手一些另外的完整性问题。例如,需要有一些用来防止恶意的软件,例如防止计算机病毒所做未验证的修改的机制。除消息层完整性以外,corba没有提供任何电子商务系统需要的其他层上的完整性功能。
l 授权:corba提供了使得个别责任变得容易的“扮演的授权”。然而,电子商务需要别的授权选项,例如简易授权,复合授权,组合特权授权(不允许把这些特权来追溯回某些中间节点),和追溯授权(提供了链中的授权追溯)。目前,corba并不要求提供这些授权模式。
l 授权在安全性审核中发挥作用。它支持将一条复杂的对象请求链追溯回最初的用户。
l 安全性审核库管理:审核服务可以用来保证所有的用户对他们发起的安全相关事项负责任,并保证建立、保持和保护安全相关事项的审核跟踪。另外,必须提供警告设施,并且收集、剖面、过滤、分析和查询审核数据也是可能的。corba目前没有提供任何审核管理功能。
l 安全性管理:电子商务安全性管理应该关心以下三个范畴:管理功能的安全性、安全服务管理和安全机制管理。当前,corba并没有提供任何安全性管理工具。
7.基于corba的电子商务
corba作为电子商务系统的底层结构有许多优点,本节概述其中几个优点。
开放式电子商务系统的两个主要需求是互操作性和完整性。所有的客户和供应商应用程序都应该可以在一个灵活的、动态的、开放的框架中,越过不同平台,不同编程语言和商业布局来互操作。corba可以从开放的电子商务环境的复杂性中抽象出来。corba方便了电子商务系统和其它系统之间的交互作用,比如股票管理系统、会计系统、行销系统等,并使得和以前的应用程序的之间集成变得容易,例如,一个旧的股票数据库系统。
从软件开发者的观点来看,corba使得一切都变得比较简单,尤其是如果打算进行不同的商店配置时。corba抽象了网络和动态的远程商店调用,允许应用程序开发者集中精力在实际的程序上,而不是集中在底层结构的内部工作方式上。应用程序开发者可以再利用已存在系统中的部分(例如安全性系统)来开发新程序。corba的灵活结构也使得开发者可以实现整个商业街的一部分来迎合特殊的贸易需求,并为进一步增强系统和容易地升级这部分商业街软件提供坚实的基础。将来,个别基于corba的可定制的商业街组件就可用了,可以购买它,并可以很容易的将之即插即用进已存在的商业街中,来增强或升级商店系统,。
为了使得商店组件的动态互用性运转起来,一套定义良好的标准服务需要在电子商务环境下可用。例如,用来描述对象(例如货物、服务、合同、发票或帐单等)的语义需要广泛定义。因此,omg和商业网(commercenet)共同定义了一系列电子商务服务的需求,也就是说,语义数据工具,选择/商议工具和支付服务。语义数据工具提供了对电子市场参与者之间语义信息交换的支持,商议服务提供了一组从事商业事务的参与者,在服务或工具的选择和配置上相互协定的支持,而电子支付工具关注支付协议的调用。
实际上,corba还是经常被认为是一项不成熟的技术,尤其是corba没有实现许多服务,例如安全性服务。除了与不成熟的orb实现相关的问题外,软件开发者也往往没有完全训练到可以熟练编写基于corba的组件的地步。就本地程序来说,基于corba的应用程序开发几乎与普通的应用程序开发相同,因此并没有真正造成问题,但是例如实现一个透明的提供了orb层安全性的安全性服务就需要专业知识。
目前,对基于corba的电子商务系统的评价使得这些开发足以为一些公司盈利了。例如,银行配置基于corba的个人银行业,或者股票交易系统可能因为它是顾客的最主要地边缘技术的服务提供者而获益。
8.结论
许多corba的核心概念对电子商务系统是有用的,例如,互操作性和综合性,平台、编程语言和安全机制等的灵活性,底层组件布局和网络的抽象,安全性功能的透明性,安全性的自动增强。
然而,目前可用的corba实现相当不成熟,而且并没有实现最初指出的所有的功能。例如,目前没有一个完全的安全性服务实现是可以定制使用的。这样把实现自定义的安全服务的工作留给了应用程序开发者,他们需要有安全性和所使用corba产品的内部运转机制的专业知识。
即使是未来corba功能没有消弱,也没被别的什么东西(例如java rmi和com+)来代替,本文描述的基本概念也将成为任何电子商务中件的核心需求。如果corba如许多人推测,变成了电子商务的新的internet标准的话,提供基于corba的商业街和服务越快的商务,获益越多。因此,为了当分布式对象中件广为使用时获得竞争优势,软件开发者很明显现在就得熟悉corba概念。
上一篇:网络办公自动化系统开发分析