第二节 电子商务安全交易协议
电子商务的一个关键问题是要保证在线支付的安全,它是网上购物的重要保证。目前常用的在线支付协议主要有两种:安全套接层(secure sockets layer,SSL)协议和安全电子交易(secure electronic transaction,SET)协议。SSL协议是由Netscape公司提出的安全交易协议,该协议的主要目的是解决TCP/IP协议不能确认用户身份的问题,它使用非对称的加密技术来保证网络通信服务的安全性。SET协议是由Visa和MasterCard两大信用卡公司联合Netscape、Microsoft等公司于1997年6月共同推出的以信用卡支付为基础的电子商务安全协议,其中涵盖了电子交易中的交易协定、信息保密、数据完整、数字认证和数字签名等。它采用公钥密码体制和X.509数字证书标准,主要用于保障网上购物信息的安全性。
一、安全套接层协议
SSL协议是在网络传输层与应用层之间提供的一种基于RSA和保密密钥的用于浏览器与web服务器之间的安全连接技术。它是国际上最早应用于电子商务的一种由消费者和商家双方参加的信用卡/借记卡支付协议。SSL协议采用的是RSA数字签名算法,可以支持X.509数字证书和多种保密密钥加密算法。SSL协议通过数字签名和数字证书来实现身份验证,其中数字证书是从CA认证中心获得的,通常包含唯一标识证书所有者的名称、唯一标识证书发布者的名称、证书所有者的公开密钥、证书发布者的数字签名、证书的有效期及证书的序列号等。在用数字证书对双方的身份验证后,双方就可以用保密密钥进行安全的对话了。
1.SSL协议提供的服务
SSL协议提供的服务主要有以下三项。
(1)认证用户和服务器,确保数据发送到正确的客户机和服务器。
(2)加密数据以防止数据中途被窃取。
(3)维护数据的完整性,确保数据在传输过程中不被改变。
2.SSL协议的工作流程
1)服务器认证阶段
(1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的对话连接。
(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要,则服务器在响应客户的“Hello”信息时将自动生成主密钥所需的信息。
(3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器。
(4)服务器恢复主密钥,并返回给客户一个用主密钥认证的信息,客户据此认证服务器。
2)用户认证阶段
在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回数字签名后的提问答案和其公开密钥,从而向服务器提供认证信息。
从SSL协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这一问题还没有充分暴露出来。但随着电子商务的发展,各中小公司也参与进来,这样在电子支付过程中的单一认证的弊端就越来越突出。虽然在SSL 3.0中通过数字签名和数字证书可实现浏览器和web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和MasterCard两大信用卡公司组织制定了SET协议,为网上信用卡支付提供了全球性的标准。
二、安全电子交易协议
SET协议是一个能保证通过开放网络进行安全资金支付的技术标准,它是一种基于消息流的协议,为互联网上信用卡支付交易提供高层的安全和反欺诈保证。它采用RSA公开密钥体系对通信双方进行认证,利用DES(data encryption standard,数据加密标准)、RC4或任何标准对称加密方法进行信息的加密传输,并用Hash算法来鉴别消息真伪、有无篡改。它为电子交易提供了安全措施,保证了电子交易的机密性、数据完整性、身份的合法性和抗否认性。SET协议比SSL协议复杂,因为SET协议不仅可以加密两个端点间的单个会话,还可以加密和认定三方间的多个信息。
1.SET支付系统的组成
SET支付系统主要由持卡人、商家、发卡行、收单行、支付网关、CA认证中心等六个部分组成。基于SET协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。
2.SET协议的工作流程
(1)消费者利用自己的计算机通过互联网选定所要购买的物品,并在计算机上输入订单。订单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。
(2)通过电子商务服务器与有关在线商店联系,在线商店作出应答,告诉消费者所填订单的货物单价、应付款数、交货方式等信息是否准确,是否有变化。
(3)消费者选择付款方式,确认订单,签发付款指令。此时SET协议开始介入。
(4)在SET协议中,消费者必须对订单和付款指令进行数字签名,同时利用双重签名技术保证商家看不到消费者的账号信息。
(5)在线商店接受订单后,向消费者所在银行请求支付认可。信息通过支付网关到收单行,再到电子货币发行公司确认。批准交易后,返回确认信息给在线商店。
(6)在线商店发送订单确认信息给消费者。消费者端利用软件可记录交易日志,以备将来查询。
(7)在线商店发送货物或提供服务并通知收单行将钱从消费者的账号转移到商店账号,或通知发卡行请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如,在每天的下班前请求银行结一天的账。
在处理过程中,SET协议对通信协议、请求信息的格式、数据类型的定义等都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过CA认证中心来验证通信主体的身份,以确保通信的对方不是冒名顶替的,所以也可以简单地认为,SET协议充分发挥了认证中心的作用,以维护在任何开放网络上的电子商务参与者所提供信息的真实性和保密性。
3.SET协议与SSL协议的区别
(1)在认证要求方面,早期的SSL协议并没有提供商家身份认证机制,虽然在SSL 3.0中可以通过数字签名和数字证书实现浏览器和web服务器双方的身份验证,但仍不能实现多方认证。相比之下,SET协议的安全要求较高,所有参与SET交易的成员(持卡人、商家、发卡行、收单行和支付网关)都必须申请数字证书,以进行身份识别。
(2)在安全性方面,SET协议规范了整个商务活动的流程,它对从持卡人到商家,到支付网关,到认证中心和信用卡结算中心之间的信息流走向,以及必须采用的加密、认证都制定了严密的标准,从而最大限度地保证了商务性、服务性、协调性和集成性。而SSL协议只对持卡人与商店端的信息交换进行加密保护,可以看做是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此SET协议的安全性比SSL协议高。
(3)在网络层协议位置方面,SSL协议是基于传输层的通用安全协议,而SET协议位于应用层,对网络上其他各层也有涉及。
(4)在应用领域方面,SSL协议主要是和web应用一起工作,而SET协议是为信用卡交易提供安全,因此如果电子商务应用只是通过web或是电子邮件,则可以不需要SET协议。但如果电子商务涉及多方交易,则使用SET协议会更安全、更通用。
总之,SSL协议实现简单,独立于应用层协议,大部分内置于浏览器和web服务器中,在电子交易中应用便利。但它是一个面向连接的协议,只能提供交易中客户与服务器间的双方认证,不能应用于多方的电子交易。而SET协议在保留对客户信用卡认证的前提下增加了对商家身份的认证,安全性进一步提高。由于两协议所处的网络层次不同,为电子商务提供的服务也不相同,因此在实践中应根据具体情况来选择独立使用或两者混合使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。