一、什么是电子商务
电子商务一词源于英文Electronic Commerce,简写为EC,指的是利用简单、快捷、低成本的电子通信方式,买卖双方不谋面地进行各种商贸活动。电子商务可以利用的电子通信方式有多种,目前主要是以EDI和Internet来完成的。随着Internet网络的日益发展,电子商务真正的发展将是建立在Internet技术上的,所以也有人把电子商务简称为IC(Internet Commerce)。
从贸易活动的角度也可以将电子商务分为两个层次,低层次的电子商务包括电子商情、电子贸易、电子合同等;高级的电子商务应能利用Internet网络进行全部的贸易活动,在网上完整地实现信息流、商流、资金流和部分物流,即从寻找客户开始,一直到洽谈、订货、在线付(收)款、开具电子发票以至电子报关、电子纳税等都通过Internet来完成。要实现完整的电子商务还会涉及到很多方面,除了买家、卖家外,还要有银行或金融机构、政府机构、认证机构、配送中心等机构的加入才行。由于参与电子商务中的各方在物理上是互不谋面的,因此整个电子商务过程中安全机制在电子商务中发挥着重要的作用。
二、实现电子商务必备的安全因素
从总体上来看,电子商务系统是三层框架结构,底层是网络平台,也就是信息传送的载体和用户接入的手段,它包括各种各样的物理传送平台和传送方式;中间层是电子商务基础平台,包括CA(Certificate Authority)认证体系。支付网关(Payment Gateway)和客户服务中心等三个部分,其核心是CA认证;第三层就是各种各样的电子商务应用系统。其中,电子商务基础平台是各种电子商务应用系统的基础。
电子商务系统对信息安全的要求主要包括以下六个方面。
①信息的保密性:电子商务系统应该对主要信息进行加密处理,防止对信息的非法操作(包括对信息的非法存取以及非法窃取传输过程中的信息等),以避免非法用户获取和解读原始数据。
②数据的可靠性:电子商务以电子形式取代纸张,所以应当采取一定的措施来保证电子贸易信息的有效。需要对网络故障、操作错误、应用程序错误、硬件故障、系统软件错误及计算机病毒所产生的潜在威胁加以控制和预防,以保证贸易数据在确定的时刻、确定的地点是有效的。
③数据的完整性:在数据处理过程中,数据输入时的意外差错或欺诈行为可能导致贸易各方信息的差异。此外,数据传输过程中的信息丢失、信息重复或信息传送次序差异也会导致贸易各方信息的不同。因此,要预防对信息的随意改动,还要防止数据传输过程中信息的丢失和重复并保证信息传送次序的统一。所以,电子商务系统应该提供对数据进行完整性验证的手段,确保能够发现数据在传输过程中是否被改变了。
④用户身份的鉴别:电子商务系统应该提供通信双方进行身份鉴别的机制。一般可以通过数字签名和数字证书相结合的方式实现用户身份的鉴别。数字证书应该由可靠的证书认证机构签发,签发证书时应对申请用户提供的身份信息进行真实性验证。
⑤数据原发者的不可抵赖性:电子商务系统应该具备数据原发者的不可抵赖机制,确定要进行交易的贸易方正是所期望的贸易方。因此,要在交易信息的传输过程中为参与交易的个人、企业或国家提供可靠的标识。
⑥合法用户的安全性:合法用户的安全性是指合法用户的权利不受危害或侵犯,电子商务系统和电子商务的安全管理体系应该实现系统对用户身份的有效确认、对私有密钥和口令的有效保护、对非法攻击的有效防范等,以保障合法用户的安全性。
三、安全电子交易的协议
目前的安全电子交易协议主要有两种,即安全套接层(SSL)协议和安全电子交易(SET)协议。
1.SSL协议
SSL协议由Netscape Communication公司设计开发,主要用于提高应用程序之间数据的安全性。该安全协议主要提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变。它能使客户一服务器应用之间的通信不被攻击者窃听。
(1) SSL协议的特性
SSL提供了两台机器间的安全连接。支付系统通过在SSL连接上传输信用卡卡号的方式来构建,在线银行和其他金融系统也常常构建在SSL之上。大部分Web浏览器和Web服务器都内置了SSL协议,比较容易应用。SSL协议建立在可靠的传输层协议(如TCP)之上,与应用层协议无关。它在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。高层的应用层协议(如HTTP,FTP,TELNET等)可以透明地建立于SSL协议之上。应用层协议所传送的数据都会被加密,从而保证通信的私密性。SSL协议提供的安全信道有以下三种特性:
私密性:在握手协议定义了会话密钥后,所有的消息都被加密。
确认性:尽管会话的客户端认证是可选的,但是服务器端始终是被认证的。
可靠性:传送的消息包括消息完整性检查。
(2)SSL协议规范
SSL协议由SSL记录协议和SSL握手协议两部分组成。
①SSL记录协议
在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和记录数据组成的。所有的SSL通信包括握手消息、安全空白记录和应用数据都使用SSL记录层。
②SSL握手协议
SSL握手协议包含两个阶段,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。
第一阶段是通信的初始化阶段,首先SSL要求服务器向浏览器出示证书。证书包含有一个公钥,这个公钥是由一家可信证书授权机构签发的。通过内置的一些基础公共密钥,客户的浏览器可以判断服务器证书正确与否。然后,浏览器中的SSL软件发给服务器一个随机产生的传输密钥,此密钥由已验证过的公钥加密。由于传输密钥只能由对应的私有密钥来解密,这证实了该服务器属于一个认证过的公司。随机产生的传输密钥是核心机密,只有客户的浏览器和此公司的Web服务器知道这个数字序列。这个两方共享密钥的密文可以通过浏览器安全地抵达Web服务器,Internet上的其他人无法解开它。
第二阶段的主要任务是对客户进行认证,此时服务器已经被认证了。服务器方向客户发出认证请求消息。客户收到服务器方的认证请求消息后,发出自己的证书,并且监听对方回送的认证结果。而当服务器收到客户的证书后,给客户回送认证成功消息,否则返回错误消息。到此为止,握手协议全部结束。
③SSL交易过程
在接下来的通信中,SSL采用该密钥来保证数据的保密性和完整性。这就是SSL提供的安全连接。这时客户需要确认订购并输入信用卡号码。SSL保证信用卡号码以及其他信息只会被此公司获取。客户还可以打印屏幕上显示的已经被授权的订单,这样就可以得到这次交易的书面证据。大多数在线商店在得到客户的信用卡号码后出示收到的凭据,这是客户已付款的有效证据。至此,一个完整的SSL交易过程结束。
但是,SSL提供的保密连接有根大的漏洞。SSL除了传输过程以外不能提供任何安全保证,SSL并不能使客户确信此公司接收信用卡支付是得到授权的。在Internet上,经常会出现一些陌生的店铺,正因如此,网上商店发生欺诈行为的可能性要比街头店铺大得多。进一步说,即使是一个诚实的网上商店,在收到客户的信用卡号码后如果没有采用好的方法保证其安全性,那么信用卡号也很容易被黑客通过商家服务器窃取。
2.SET协议
SET是由Visa和MasterCard两大信用卡组织联合开发的电子商务安全协议。它是一种基于消息流的协议,用来保证公共网络上银行卡支付交易的安全性,因而成为Internet上进行在线交易的电子付款系统规范。目前SET协议已在国际上被大量实验性地使用并经受了考验,成了事实上的工业标准。
SET是一个复杂的协议,它详细而准确地反映了卡交易各方之间的各种关系。事实上,SET不只是一个技术方面的协议,它还说明了每一方所持有的数字证书的合法含义,希望得到数字证书以及响应信息的各方应有的动作,与一笔交易紧密相关的责任分担。SET是一个基于可信的第三方认证中心的方案,它要实现的主要目标有下列三个方面。
①保障付款安全:确保付款资料的隐密性及完整性,提供持卡人、特约商店、收单银行的认证,并定义安全服务所需要的算法及相关协定。
②确定应用的互通性:提供一个开放式的标准。明确定义细节,以确保不同厂商开发的应用程序可共同运作,促成软件互通;在现存各种标准下构建协定,允许在任何软硬件平台上执行,使标准达到相容性与接受性目标。
③达到全球市场的接受性:在容易使用与对特约商店、持卡人影响最小的前提下,达到全球普遍性。允许在目前使用者的应用软件下,嵌入付款协定的执行,对收单银行与特约商店、持卡人与发卡银行间的关系,以及信用卡组织的基础构架改变最少。
SET主要用于消费者与商店、商店与收单银行(付款银行)之间。其运作方式:简述如下:
SET的简易流程
①在消费者与特约商店之间,由持卡人在消费前先确认商店的合法性,由商店出示它的证书。
②持卡人确认后即可下订单,其订单经消费者以数字签名方式确认,而消费者所提供的信用卡资料则另由收单银行以公钥予以加密。这里,特约商店会收到两个经过加密的资料,其中一个是订单资料,另一个是关于支付的资料;按规定特约商店可以解密前者,但无法解密后者,以避免特约商店搜集或滥用持卡人消费资料。
③特约商店将客户的资料连同自己的SET证书发给收单银行,向银行请求交易授权及授权回复。收单银行同时检验两个证书以确定是否为合法的持卡人及特约商店。所以,收单银行由支付网关来解密,核对资料无误后,再连接到传统的网络(比如Visa或MasterCard)进行交易授权及清算。
④授权确认后由特约商店向消费者再行确认订单,交易完成。
⑤特约商店基于该授权向收单银行提出请款的要求。
⑥支付网关通知持卡人开户行向商家开户行付款。
可以看到,在这个过程中,CA扮演了系统的很重要的角色。SET标准着重的是其交易安全及隐密性。其中,数字证书为其核心,它提供了简单的方法来确保进行电子交易的人们能够互相信任。信用卡组织提供数字证书给发卡银行,然后发卡银行再提供证书给持卡人;同时,信用卡组织也提供数字证书给收单银行,然后收单银行再将证书发给特约商店。在进行交易的时候,持卡人和特约商店符合SET的规格软件会在资料交换前分别确认双方的身份,也就是检查由授权的第三者所发给的证书。在SET协定中,有持卡人证书、特约商店证书、支付网关证书、收单银行证书和发卡银行证书等五种证书。
持卡人的证书必须由发卡银行来颁发。在首次上网购物之前,持卡人必须先通过一个客户端程序将包括姓名、卡号、卡片有效期、邮寄地址等可以证明持卡人身份的基本资料发给发卡银行。这些资料使用银行的公钥加密,可安全地送至银行。发卡银行确认此帐户正确无误后,便发给持卡人一张具有电子安全数字签章的证书。持卡人只要将证书储存在电脑上,即可进行电子购物。同样,商店也必须取得收单银行的电子证书才可以接收SET方式的支付。商店要将它的基本资料发送给收单银行,收单银行在确认无误后发出一张数字证书,允许它从事电子交易。
3.SSL和SET协议的比较
事实上,SET和SSL除了都采用RSA公钥算法以外,二者在其他技术方面没有任何相似之处。而RSA在二者中也被用来实现不同的安全目标。SET是一个多方的报文协议,它定义了银行、商家、持卡人之间必需的报文规范,与此同时SSL只是简单地在两方之间建立了安全连接。SSL是面向连接的,而SET允许各方之间的报文交换不是实时的。SET报文能够在银行内部网或者其他网络上传输,而SSL之上的卡支付系统只能与Web浏览器捆绑在一起。SET与SSL相比具有如下优点:
①SET为商家提供了保护自己的手段,使商家免受欺诈的困扰,使商家的运营成本降低。
②对消费者而言,SET保证了商家的合法性,并且用户的信用卡号不会被窃取,SET替消费者保守了更多的秘密使其在线购物更加轻松。
③银行和发卡机构以及各种信用卡组织来说,因为SET可以帮助它们将业务扩展到Internet这个广阔的空间,从而使得信用卡网上支付具有更低的欺骗概率,这使得它比其他支付方式具有更大的竞争力。
④SET对于参与交易的各方定义了互操作接口,一个系统可以由不同厂商的产品构筑。
提供这些功能的前提是:SET要求在银行网络、商家服务器、顾客的PC上安装相应的软件。这些阻止了SET的广泛发展。另外,SET还要求必须向各方发放证书,这也成为阻碍之一。所有这些使得SET要比SSL昂贵得多。SET的另外一个优点在于:它可以用在系统的一部分。例如,一些商家正在考虑在与银行连接中使用SET,而与顾客连接时仍然使用SSL。这种方案既回避了在顾客机器上安装钱夹软件;同时又获得了SET提供的很多优点。在SET中,交易凭证中有客户的签名,银行就会有客户曾经购物的证据。提供这种能力的特性在密码学中称之为认可。它所提供的可靠性的前提是客户必须保证私人签字密钥的安全。
综上所述,在电子商务过程中,采用何种安全电子交易的协议是非常重要的,既要考虑安全性问题也要考虑实现过程的复杂程度和建设网站的成本。因此,发展电子商务需要根据实际情况,在保证安全的前提下节省成本,以促进我国的网络贸易的快速发展。