当前位置:Linux教程 - Linux - 电子商务应用简介

电子商务应用简介



        

    作为近年来最活跃的Internet应用,电子商务与普通联网应用系统明显不同,一是交易过程涉及多方交叉认证;二是涉及金额巨大;三是要为每一次网上交易提供类似合同的行为依据,否则无法解决可能发生的法律纠纷。为此,要保证交易过程中数据来源可靠,传输安全、不被篡改并且能为交易各方的行为提供无以抵赖的证据。目前成熟的做法是:通过数字证书和安全检查技术解决各方身份的交叉确认;通过数字签名技术验证数据的完整性、来源可靠性,并为交易各方行为提供不可抵赖的证据;通过加密技术确保数据在传递过程中的保密性。

    针对这些技术的具体应用,有许多不同的安全协议和整体解决方案。其中公钥体系结构(PKI)是目前国际上公认为技术最成熟,使用最广泛的电子商务安全问题完整解决方案。在其体系结构中,PKI集成上述技术并作了具体规定,从而为Internet应用提供了公钥加密和数字签名服务的平台。与OSI七层模型相似,PKI仅仅提出了一种解决问题的安全框架模式,实际应用中,针对不同的网络应用,许多集成商提出了不同的商业实现标准,其中比较有名的就是由Visa、MasterCard和IBM等联合推出的安全电子交易协议(SET)和由Netscape、Verisign等推出的安全套接层协议(SSL)。二者虽然都采用RSA公钥算法,但在应用中侧重点不同,因此技术上也有较大区别。

    SET是一种基于消息流的卡支付协议,旨在保证公共网络上银行卡支付交易的安全性。它非常详细而准确地反映了卡交易各方之间存在的各种关系,并定义了加密信息的格式和完成一笔卡支付交易过程中各方传输信息的规则。事实上,SET远远不止是一个技术方面的协议,它还说明了每一方所持有的数字证书的合法含义,希望得到数字证书以及响应信息的各方应有的动作,与一笔交易紧密相关的责任分担。

    SET的复杂性和认证机制决定了完全采用SET实施的应用系统寥寥无几,其困难不在于技术实施,而在于建立一个为商家、银行、发卡机构和消费者普便认可的证书权威认证机构CA及其认证体系,这是一个敏感的商业问题,牵涉多方利益,很难协调。

    SET的另一个弱点,是作为一种卡支付协议,对别的安全协议,如SSL、IP sec/VPN、S/MIME等不兼容,所以,SET协议不但不支持除了卡支付以外的其它支付方式,更不能支持电子商务中另一种增长较快、交易额较大的网上交易方式--商家之间的电子商务。

    SSL推出的目的是为Internet应用提供客户与服务器之间安全的数据传输通道,因此,早期的SSL只是一种Web数据流加密技术。现在,通过数字签名和数字证书技术,它还提供消息完整性验证和客户、服务器间相互身份确认的功能。

    与SET的庞大、复杂和完成一次交易漫长的等待时间相比,SSL实施比较简单,效率较高。同时,它还支持没有电子钱包的交易,这是传统SET所不具备的。目前SSL已成为Internet上应用最多最广的安全协议。但SSL对涉及多方认证的卡支付应用并不合适。因此,在复杂的电子商务应用中,往往采取SET和SSL结合的做法,比如在银行与商家间采用SET协议,而在商家与客户间采用SSL。

    除了SET和SSL,比较有名的安全协议还有CommerceNet 提出的S-HTTP和Phillip Hallam-Baker of CERN 提出的Shen,它们都是针对Web应用中著名的HTTP协议的安全漏洞而提出的一种高层解决方案。

    由于安全问题在Internet应用中举足轻重的意义,我国实施Internet应用的过程中,对国外安全算法和协议标准的引进必须格外谨慎。目前,国外主流的电子商务安全协议在核心密码算法上都有出口限制,如只允许40位或56位的RC4和512位的RSA算法出口等。这样的算法强度引进后无法满足我国电子商务实际应用当中的安全需求。但是,完全自主定义和开发一套安全标准体系不是一蹴而就的事情,需要人、财、物的长期投入,因此,面对紧迫的形势,我们应该一边有选择地引进国外安全技术和产品,在国际同行的研究基础上,尽量吸取和掌握其思想、原理的先进性,结合国产安全理论的研究成果,尽快推出适合我国网上应用安全需求的安全平台,然后在此基础上,开发出不同安全级别的Internet应用系统;同时逐步研究和推出自主创新的完整的加密安全理论和相应的安全产品。

    然而,国外主流的电子商务安全协议源代码不公开,又给我们技术引进和国产化工作带来很大难度。如何对其中的安全模块进行改造,用国内先进的密码算法替换其相应的安全强度不够的算法,变为国产的强安全协议,这个问题成了目前制约我国电子商务应用大面积推广的技术瓶颈。

    目前,国内围绕SSL安全协议与国产优秀密码算法结合进行研究,为SSL在国内电子商务中的推广应用扫清了障碍。

    围绕SSL与国产优秀密码算法的结合,一般有三种办法:

    一是寄希望SSL标准软件包提供对其它密码算法支持的接口,无论是提供增加算法,还是替换其核心密码算法的接口,都可以达到我们的目的。这是最简单、直接的方法,遗憾的是到目前为止,SSL并未提供类似功能。

    二是如果SSL提供开放的源代码,我们仍可通过修改源程序代码实现对国产加密算法的支持。在这方面现行SSL版本同样未能提供。

    三是开发基于国产密码算法的安全应用网关,分别安装在客户端和服务器,通过国产密码算法对二者相互通讯的数据进行加密和安全认证。这种思路的好处是绕开了对SSL协议本身及其与不同类型Internet应用服务器结合时具体技术细节的分析,因此应用范围较广,实现起来也比较容易。但由于国产密码算法无法嵌入SSL,基于SSL连接每次传输的数据都要作两次加密、解密,在效率上有所降低。而且,严格地说,这种方法并不是对SSL协议软件本身的一种本地化改造,而是在应用层上对目前国内合法使用的SSL版本增加安全强度的一种实现方案。

    上述方法中,只有基于源代码的改造才是最彻底的改造,不需要依赖国外软件升级,而且与国内算法的结合最紧密。最关键的是作为被广泛应用的安全协议,我们可以掌握和控制其核心技术,从而保证协议本身的安全性。

    在SSL未提供源代码的情况下,如果重新开发一套与SSL具有相同功能的协议软件,对国产密码算法的支持自然不成问题,但工作量却太大,而且如何与支持SSL的应用软件无缝集成还是个问题。

    由澳大利亚软件工程师Eric Young与Tim Hudson联合开发的OpenSSL恰好解决了这一难题。它不仅能实现SSL的所有功能,支持目前所有基于SSL的应用软件,而且由于源代码公开,完全可以满足国外安全协议引进后的本地化改造需求。

    这样结合国内的密码算法研究的电子商务安全平台其功能应该包括:颁发CA证书和客户、服务器证书;客户、服务器之间双向的身份认证;基于SKey的用户身份管理;用户权限管理;Web资源管理;数据的加密传输;电子交易的数字签名;访问日志管理。力求为不同的电子商务应用提供基于SSL的安全解决方案。
    发布人:netbull 来自:中国网络安全响应中心