set协议的分析及改进(2篇)
1.set协议的分析及改进 篇一
网络支付安全协议SSL和SET的比较论文
[摘要]安全协议是目前电子支付技术安全问题中的热点,安全套接层协议(ssl)和安全电子交易协议( set)是电子商务中支持支付系统的关键技术。文章通过分析这两种协议的工作原理,对两者的特点进行了对比。
[关键词]电子支付 安全 ssl协议 set协议
网络和信息技术的不断发展和渗透,使得电子商务得到了飞速的发展。然而,电子商务在提供机遇和便利的同时,也面临着一个最大的挑战,即交易的安全问题。其中,安全协议是保证电子商务安全的核心所在。
目前,国内外使用的保障电子商务支付系统安全的协议包括:安全套接层协议ssl(secure socket layer)、安全电子交易协议set(secure electronic transaction)等协议标准。
一、ssl协议
ssl协议是netscape communication公司推出在网络传输层之上提供的一种基于rsa和保密密钥的用于浏览器和web服务器之间的安全连接技术。是对计算机之间整个会话进行加密的协议,提供了加密、认证服务和报文完整性。它是国际上最早应用于电子商务的一种由消费者和商家双方参加的信用卡/借记卡支付协议。
1.ssl协议提供的服务主要有
(1)用户和服务器的合法性认证;
(2)加密数据以隐藏被传送的数据;
(3)维护数据的完整性,确保数据能完整准确地传输到目的地。
该协议主要是使用公开密钥体制和x.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用web server方式,它包括:服务器认证、客户认证、ssl链路上的数据完整性和ssl链路上的数据保密性。WwW.133229.Com对于电子商务应用来说,使用ssl可保证信息的真实性、完整性和保密性。
2.ssl协议的工作流程
(1)接通阶段:客户通过网络向服务商发送连接信息,服务商回应;
(2)密码交换阶段:客户与服务器之间交换双方认可的密码,一般选用rsa密码算法,也有的选用diffie-hellmanf和fortezza-kea密码算法;
(3)会谈密码阶段:客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
(4)检验阶段:服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
(5)客户认证阶段:服务器通过数字签名验证客户的可信度;
(6)结束阶段,客户与服务商之间相互交换结束的信息。ssl协议运行的基点是商家对客户信息保密的承诺。从ssl 协议所提供的服务及其工作流程可以看出,该协议有利于商家而不利于消费者。客户的信息首先传到商家,商家阅读后再传给银行,这样,客户资料的安全性便受到威胁。商家认证客户是必要的,但整个过程中,缺少了客户对商家的认证。在电子商务的初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在ssl3.0中通过数字签名和数字证书可实现浏览器和web服务器双方的身份验证,但是ssl协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,ssl协议并不能协调各方间的安全传输和信任关系。在这种情况下,visa和 mastercard两大信用卡公组织制定了set协议,为网上信用卡支付提供了全球性的标准。
二、set协议
set协议是5月31日由visa和mastercard两大信用卡公司联合推出的一个基于开放网络的安全的以信用卡支付为基础的电子商务协议。它运用了rsa安全的公钥加密技术,具有资料保密性、资料完整性、资料来源可辨识性及不可否认性,是用来保护消费者在internet持卡付款交易安全中的标准。现在,set已成为国际上所公认的在internet电子商业交易中的安全标准。
1.set支付系统的组成
set支付系统主要由持卡人(cardholder)、商家(merchant)、发卡行(issuing bank)、收单行(acquiring bank)、支付网关(payment gateway)、认证中心(certificate authority)等六个部分组成。对应地,基于set协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。
2.set协议的工作流程如下
在set协议介入之前,消费者通过因特网进行选货、下订单并与商家联系最终确定订单的相关情况、付款方式和签发付款指令。此时set协议开始介入,进入以下几个阶段
(1)支付初始化请求和响应阶段。当客户决定要购买商家的商品并使用电子钱包支付时,商家服务器上pos软件发报文给客户的浏览器电子钱包,电子钱包要求客户输入口令然后与商家服务器交换“握手”信息,使客户和商家相互确认,即客户确认商家被授权可以接受信用卡,同时商家也确认客户是一个合法的持卡人。
(2)支付请求阶段。客户发出一个报文,包括订单和支付命令。在订单和支付命令中必须有客户的数字签名,同时利用双重签名技术保证商家看不到客户的账号信息。而位于商家开户行的被称为支付网关的另外一个服务器可以处理支付命令中的信息。
(3)授权请求阶段。商家收到订单后,pos组织一个授权请求报文,其中包括客户的支付命令,发送给支付网关。支付网关是一个internet服务器,是连接internet和银行内部网络的接口。授权请求报文通过支付网关到达收单银行后,收单银行再到发卡银行确认。
(4)授权响应阶段。收单银行得到发卡银行的批准后,通过支付网关发给商家授权响应报文。
(5)支付响应阶段。商家发送购买响应报文给客户,记录客户交易日志,以备查询。之后进行发货或提供服务,并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。
三、ssl协议和set协议的对比
1.ssl协议的优缺点
ssl协议是两层协议,建立在tcp传输控制协议之上、应用层之下,并且与上层应用协议无关,可为应用层协议如http、ftp、smtp等提供安全传输,通过将http与ssl相结合,web服务器就可实现客户浏览器与服务器间的安全通信。因此简便易行是ssl协议的最大优点,但与此同时其缺点也是显而易见的。首先,在交易过程中,客户的信息先到达商家那里,这就导致客户资料安全性无法保证;其次,ssl只能保证资料传递过程的安全性,而传递过程是否有人截取则无法保证;再次,由于ssl协议的数据安全性是建立在rsa等算法上,因此其系统安全性较差;最后,虽然ssl协议中也使用了数字签名来保证信息的安全,但是由于其不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这就造成了ssl协议在电子银行应用中的.最大不足。
2.set协议的优缺点
由于set提供了消费者、商家和银行之间的双重身份认证,确保了交易数据的安全性、完整可靠性和交易的不可否认性,特别是保证不将消费者银行卡号暴露给商家等优点,因此它成为目前公认的信用卡/借记卡的网上交易的国际安全标准。但在实际应用中,set协议依然存在以下不足:
(1)set协议中仍存在一些漏洞。如:不可信的用户可能通过其它商家的帮助欺骗可信的商家在未支付的情况下得到商品;密钥存在被泄露的危险;存在冒充持卡人进行交易的隐患。
(2)set协议的性能有待改进。如:单纯支持信用卡,需要进一步适应借计卡的使用;协议过于复杂,要求安装的软件包过多,处理速度慢,价格昂贵;由于该协议的每一个阶段都要进行多次数据加密解密、签名、证书验证等安全操作,因此协议的交易时间过长,不能满足实时交易要求。
3.总结
由于ssl协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而目前取得了广泛的应用。但随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中set协议将会逐步占据主导地位。
参考文献:
[1]徐震邓亚平:set的安全性分析与改进[j].重庆邮电学院学报,,17 (6),745~748
[2]马瑞萍:ssl安全性分析研究[j];网络安全技术与应用; ,12期,17~20
[3]吴建耀张玉清莫燕:set协议的安全性研究综述,全国网络与信息安全技术研讨会[c]
[4]周龙骧:电子商务协议研究综述[j].软件学报,2001,12
2.set协议的分析及改进 篇二
电子支付是电子商务中的关键环节,电子支付协议是其关键的安全技术之一。从现有的一些文献来看,SET协议还存在一些问题没有得到很好的解决,针对这些问题,提出了一种新的针对于数字商品的改进方案,提高了SET协议在电子支付中的安全性。
1 SET协议改进方案
改进后的SET协议流程如图1所示,下面将对改进协议流程进行描述。
(1)持卡人向商家发送购买初始化请求。
(2)商家将产品的报价、商家的数字证书及支付网关的数字证书发送给持卡人。
(3)持卡人验证商家及支付网关的数字证书后,首先计算H(n1)(其中n1为持卡人随机选择的一个字符串,H为Hash运算),然后对订单OI和(n1)进行签名,最后和自己的数字证书一起发送给商家。
(4)商家验证持卡人的数字证书后,对加密后的订单OI进行解密,得到OI和H(n1),然后保存H(n1)。商家用随机生成的一个对称密钥为数字商品进行加密即Ek(m),计算H(Ek(m)),计算H(n2),生成付款要求Pa,然后商家将签名后的付款要求Pa、H(n2)、H(Ek(m))、Ek(m)和商家的数字证书一起发送给持卡人。
(5)持卡人收到消息后,验证商家的数字证书,确认商家的身份,然后通过解密发送的信息得到付款要求Pa、H(n2)、H(Ek(m)),若H(Ek(m))与持卡人对收到的Ek(m)作Hash运算结果不等到则终止协议,否则持卡人先将H(n2)和Ek(m)保存,然后生成支付指令PI持卡人先用私钥对PI、n1、H(Ek(m))及H(n2)加密,为了防止商家得到持卡人账户信息,再用支付网关的公钥对其加密,最后持卡人对加密后的信息进行签名,将签名后的信息和自己的数字一起发送给商家。
(6)商家收到信息后,验证持卡人的数字证书,通过后使用持卡人的公钥解密收到的信息,得到Epkp(r1)。商家对加密密钥、H(n1)、n2及Epkp(r1)作签名,用支付网关的公钥将数字商品加密,最后将加密后的数字商品、签名后的信息、商家数字证书和持卡人数字证书一起发送给支付网关。
(7)支付网关收到商家消息后验证商家和持卡人的数字证书,通过后使用商家的公钥解密收到的信息,得到加密密钥、H(n1)、n2及Epkp(r1),然后用自己的私钥对Epkp(r1)进行解密,得到r1=Eskc(PI,n1,H(Ek(m)),H(n2)),解密加密后的数字商品,得到数字商品,利用持卡人的公钥解密r1得到PI、n1、H(Ek(m))、H(n2),接下来支付网关将持卡人发送的随机字符串n1做H运算,将计算结果与商家发送的H(n1)进行比较;然后将商家发送的随机字符串n2作H运算,同样也把结果与持卡发送的H(n2)比较;最后将商家发送的加密密钥k、加密数字商品m作H运算得到H(Ek(m)),将结果与持卡发送的H(Ek(m))比较。只有以上三个判断条件都相等的情况下,支付网关才会将支付指令PI发送到发卡行,请求转账操作,否则协议终止。
(8)发卡行接到支付网关的请求后,首先验证持卡人的账户是否有效,如果有效则进行转账处理,最后将处理的结果传送给支付网关。
(9)支付网关收到发卡行的处理结果后,用支付网关的私钥对消息进行签名,然后将签名后的消息发送给商家。
(10)商家收到该消息后首先对其进行解密,确认此消息确为支付网关所发,然后将数字商品的解密密钥k发送给持卡人。
2 改进后的SET协议分析
在改进的方案可以有效的防止交易者对其发送的消息抵赖,可以保证交易的公平性。改进后的SET协议满足商品的原子性,满足确认发送原子性,,满足合同原子性。
3 结束语
针对SET协议在原子性方面存在的问题,提出了一个改进方案。经过分析表明改进的方案是安全高效的,可以很好的解决数字商品的SET协议原子性问题,更好的保证了网上支付的安全性。
参考文献
[1]Giampaolo Bella,Fabio Massacci,Lawrence C.Paulson An overview of the verification of SET.Int J Inf Secure(2005)4:17-28/Digital Object Identifier(DOI)10.1007/s10207-004-0047-7.
[2]李小薪.基于SET协议的电子商务安全系统的构建和研究[D].武汉:武汉理工大学,2005.
【set协议的分析及改进】推荐阅读:
旋风除尘器除尘效率的分析及改进10-16
磁光效应对BB84协议的影响分析12-03
网络协议分析学习心得11-06
企业财务分析工具改进策略07-22
P20员工绩效改进分析表07-18
企业人力资源管理现状和改进策略分析07-24