近年来,金融业界与IT业界针对电子商务的安全需求做出了快速响应,共同推出了多种安全协议和整体安全解决方案。在电子商务领域,目前有两种安全认证协议被广泛使用,即SSL协议和SET协议。
(一)安全套接层(SSL)协议
1.SSL协议的概念
安全套接层(Secure Socket Layer,SSL)协议是网景公司提出的基于Web应用的安全协议,主要用于提高应用程序之间的数据安全系数,包括服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。在电子商务活动中,应用SSL协议可保证信息的真实性、完整性和保密性。由于SSL协议没有对应用层的消息进行数字签名,因此无法提供交易的不可否认性,这是SSL协议的最大缺点。鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作表单签名(Form Signing)的功能。在电子商务活动中,可利用表单签名功能对包含购买者的订购信息和付款指令的表单进行数字签名,以保证交易信息的不可否认性。从总体来看,电子商务活动仅靠SSL协议保证交易安全是不够的,采取“SSL+表单签名”模式才能提供更好的安全性保证。
SSL协议是保证任何安装了安全套接层的客户和服务器间事务安全的协议,该协议向基于TCP/IP的客户/服务器应用程序提供了客户端和服务器的鉴别、数据完整性及信息机密性等安全措施,目的是为用户提供与企业内联网相连接的安全通信服务。
在传统的交易中,如邮购,客户首先寻找商品信息,然后通过邮局汇款给商家,商家在收到汇款后将商品寄给客户,这种方式意在确保商家是可以信赖的。在电子商务发展的初期,由于缺乏相关担保,商家担心客户下订单后不付款,或使用过期作废的信用卡,因而他们希望银行予以认证,SSL协议正是在这种背景下应用于电子商务的。
2.SSL协议的运行
SSL协议包含两层协议,分别为SSL记录协议和SSL握手协议。SSL记录协议规定了记录头和记录数据格式;SSL握手协议建立和加密通信信道,并对客户认证。SSL协议采用了公开密钥和私有密钥两种加密形式,在建立连接过程中采用公开密钥,在会话过程中使用私有密钥。加密的类型和强度则在两端之间建立连接的过程中加以判断、决定,这种加密保证了客户和服务器间事务的安全性。
SSL协议的运行主要包括以下六个阶段。
(1)建立连接阶段。客户通过网络向服务商发出信号,服务商回应。
(2)交换密码阶段。客户与服务商之间交换双方认可的密码。
(3)会谈密码阶段。客户与服务商之间产生彼此会谈的密码。
(4)检验阶段。检验服务商取得的密码。
(5)客户认证阶段。验证客户的可信度。
(6)结束阶段。客户与服务商之间相互交换结束信息。
完成上述流程后,客户与服务商之间的资料传输就以对方公钥进行加密后再传输,另一方在收到资料后以私钥解密。即使不法分子在网上取得加密的资料,如果没有解密密钥,也无法看到可读的资料。
在电子商务交易过程中,由于有银行的参与,按照SSL协议,客户购买的信息首先被发往商家,商家将信息转发至银行,银行在验证客户信息的合法性后通知商家付款成功,商家通知客户购买成功并发货。
3.SSL协议提供的安全服务
SSL协议提供了以下三种基本的安全服务。
(1)加密处理。SSL协议所采用的加密技术既有对称密钥技术,又有公开密钥技术。具体的流程是客户端与服务器在交换数据前交换SSL初始握手信息,在SSL初始握手信息中采用各种加密技术对其加密,以保证信息的机密性和数据的完整性,并且用数字证书进行鉴别。加密处理可以防止非法用户使用工具进行窃听,即使非法用户截取到通信内容,也无法破译。
(2)保证信息的完整性。SSL协议采用Hash函数和机密共享的方法确保信息的完整性,使客户端与服务器之间建立安全通道,保证所有经过SSL协议处理的业务都准确无误地到达目的地。
(3)提供较完善的认证服务。客户端和服务器都有各自的识别号,这些识别号由公开密钥进行编号。为了验证客户是否合法,SSL协议要求客户端和服务器在握手交换数据前进行数字认证。
从SSL协议的过程中可以看出,该协议有利于商家而不利于客户。客户的信息首先传到商家,经商家阅读后再传到银行,这样就威胁到客户资料的安全性。商家对客户进行认证是无可厚非的,但这个过程缺乏客户对商家的认证。在电子商务交易中,随着参与商家的迅速增加,加之质量参差不齐,对商家的认证问题会更加突出,从而暴露出SSL协议的缺点:只能保证资料传递过程的安全,而无法保证传递过程是否有人截取资料。因此,SSL协议并没有实现电子支付所要求的保密性和完整性,而且多方互相认证也是很困难的。
(二)安全电子交易(SET)协议
随着电子商务的发展,出现了这样的需求:消费者发出的支付指令在由商家送到支付网关之前是在公用网上传送的,这与持卡POS机客户有着本质的区别,因为支付指令从商家POS机到银行的传送使用的是专线。因此,需要考虑公用网上支付信息的安全性。在这种需求的推动下,Visa和Mastercard两家国际上最大的信用卡公司连同IBM、Microsoft等信息产业巨头共同制定了SET协议。
SET协议采用公钥密码体制和X.509数字证书标准,主要用于保障网上购物信息的安全性。由于它提供了消费者、商家和银行之间的认证,确保了交易数据的安全性、完整可靠性和不可否认性,特别是保证商家看不见消费者的银行卡号,因此成为目前公认的银行卡网上交易的国际安全标准。
1.SET协议的概念
安全电子交易(Secure Electronic Transaction,SET)协议于1997年6月1日推出,该协议主要是为了实现更加完善的即时电子支付。安全电子交易协议是B2C基于信用卡支付模式而设计的,它在保留对客户信用卡认证的前提下,增加了对商家身份的认证;凸显客户、商家、银行之间通过信用卡交易的数据完整性和不可抵赖性等优点。
SET协议能在电子交易环节提供更大的信任度、更完整的交易信息、更高的安全性和更少受欺诈的可能性。它支持B2C电子商务模式,即消费者持卡在网上购物与交易的模式。SET协议的交易分为以下三个阶段。
(1)购买请求阶段。在购买请求阶段,消费者与商家确定所要支付方式的细节。
(2)支付认定阶段。在支付认定阶段,商家会与银行核实,随着交易的进展,他们将得到付款。
(3)收款阶段。在收款阶段,商家向银行出示所有的交易细节,然后银行以适当方式转移货款。
消费者只涉及第一阶段,银行涉及第二阶段和第三阶段,而商家在三个阶段中都有参与。每个阶段都涉及用RSA对数据加密,以及用RSA进行数字签名。在SET协议下的交易中要完成多次加密与解密操作,因此要求商家的服务器具有较强的处理能力。
2.SET协议的作用
SET协议的作用主要有以下五个方面。
(1)保证信息在互联网上安全传输,防止网上传输的数据被黑客和内部人员窃取。
(2)保证电子商务参与者的信息相互隔离,商家看不到消费者的账户和密码。
(3)完成多方认证,不仅要进行消费者的信用卡认证,还要进行在线商家认证,以及消费者、商家和银行间的相互认证。(www.xing528.com)
(4)保证网上交易的实时性,确保实时在线进行支付。
(5)规范协议和消息格式,促进各商家开发出具有兼容性和互操作性,且可运行在不同的硬件和操作系统平台上的软件。
3.SET协议的运行
电子商务的流程类似于传统商务,消费者参与进来基本没有障碍。从消费者通过网页进入在线商店开始,一直到所订购的物品送货上门或购买的服务完成,以及账户上的资金转移,这些活动都是在网上完成的。保证网上传输数据的安全及交易双方的身份确认是电子商务得到推广的关键,也是SET协议要解决的最主要问题。SET协议中的参与者如图3-3所示。
图3-3 SET协议中的参与者
基于SET协议的处理流程如图3-4所示。
图3-4 基于SET协议的处理流程
基于SET协议的处理流程可以分为以下九个步骤。
(1)消费者向商家发出购买初始化请求,包括消费者的信息和证书。
(2)商家在接收到请求后验证消费者的身份,将商家和支付网关的有关信息与证书生成回复消息并发给消费者。
(3)消费者在接收到消息后验证商家和支付网关的身份。然后,消费者利用自己的支付信息(包括账户信息)生成购买请求消息并发送给商家。
(4)商家在接收到消息后,连同自己的信息生成授权请求消息,发给支付网关,请求支付网关授权该交易。
(5)支付网关在接收到消息后取出支付信息,通过银行内部网络连接收单银行和发卡银行,对该交易进行授权。授权完成后,支付网关产生授权响应消息并发给商家。
(6)商家向消费者发送交易订单已确认的信息。
(7)商家在接收到消息后,向支付网关发出转账请求消息,请求进行转账。
(8)支付网关在接收到消息后,通过银行内部网络连接收单银行和发卡银行,将资金从消费者账户转到商家账户,然后向商家发出消息。
(9)商家接收到消息后,知道已经完成转账,然后发送消息给消费者。消费者接收到消息,知道该交易已经完成。
4.SET协议的优缺点
相对而言,SET协议有以下三方面的优点。
(1)SET协议为商家提供保护手段,使商家免受欺诈的困扰。
(2)对消费者而言,SET协议保证了商家的合法性,并且消费者的信用卡号不会被窃取,保护消费者,从而使消费者在线上购物时更加轻松。
(3)银行和发卡机构及各种信用卡组织推荐SET协议,因为SET协议帮助他们将业务扩展到互联网这个广阔的空间,从而减少信用卡网上支付的欺骗概率,这使它比其他支付方式具有更大的竞争优势。
SET协议虽然更加完善和严谨,但其缺点是协议过于复杂,开发和使用都比较麻烦,运行速度慢。
(三)SET协议与SSL协议的比较
从实际来看,SET协议和SSL协议除了采用相同的公钥算法以外,在其他技术方面都不一样。
SET协议是一个多方的消息报文协议,它定义了银行、商家、持卡人之间必需的报文规范;而SSL协议只是简单地在两方之间建立了一个安全连接。SSL协议是面向连接的,而SET协议允许各方之间的报文交换不是实时的。SET报文能够在银行内部网络或者其他网络上传输,而基于SSL协议之上的支付卡系统只能与Web浏览器捆绑在一起。
此外,SSL协议和SET协议在网络各层的位置与功能并不相同。SSL协议是基于传输层的通用安全协议,它只占电子商务体系中的一部分,可看作用于传输的那部分技术规范,并不具备电子商务的商务性、服务性、协调性和集成性。而SET协议位于应用层,对网络上其他各层也有涉及。SET协议规范了整个商务的活动流程,从信用卡持卡人到商家到支付网关到认证中心及信用卡结算中心之间的信息流向,以及对必须参与的加密、认证都制定了严密的标准,最大限度地保证了电子商务的商务性、服务性、协调性和集成性。二者的具体比较如表3-1所示。
表3-1 SSL协议与SET协议的比较
★课堂案例
利用对称加密体制,保障个人账户信息安全
个人账户信息等一些重要信息在网络中传递之前,双方(如银行与用户)事先约定密钥,通过加密工具利用对称加密技术进行加密处理,然后进行安全传递;到达接收方时,接收方利用已知的密钥解密获取信息。如果传递过程中该信息被第三方非法截获,则其得到的将是看不懂的密文。因而,个人账户信息的机密性得到了保障。
加密过程示例:已知明文为“个人银行存款账户是自然人因投资、消费、结算等需要而开立的可办理支付结算业务的存款账户”,密钥为123456,则加密得到的密文如图3-5所示。
图3-5 示例中明文加密结果
(案例来源:百度文库)
思考题:
利用对称加密体制,个人账户信息在网络中传递时,如何保障个人账户信息的机密性?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。