倪嘉慧
(南京邮电大学 计算机学院,江苏 南京 210046)
双重签名与SET协议应用分析
倪嘉慧
(南京邮电大学 计算机学院,江苏 南京 210046)
随着各种电子商务平台的迅速崛起,网络在线支付成了交易双方重要的交易手段。由于SET协议的复杂性,从双重签名的详细生成与使用验证入手,逐步分段剖析SET协议的流程。通过双重签名将消费者的订购信息与支付信息有效隔离,同时,将双重签名的方法运用到SET协议中去,并简要分析其安全性。
双重签名;SET协议;电子商务;在线交易
随着各种B2C(Business-to-Customer),C2C(Customer-to-Customer),B2B(Business-to- Business)等模式的电子商务平台的迅速崛起,网络在线支付成了交易双方重要的交易手段。在带来便利的同时,其引发的安全问题也随之而来,因此,拥有一款贯穿交易始终的安全性协议显得尤为重要。因此,SET协议随之产生了,由Mastercard与VISA联合其他公司共同推出,在B2C上的安全电子交易协议。其中包含了消费者、商家、发卡银行、收单银行、支付网关以及认证中心CA这几大要素[1]。
在网银、支付宝等支付平台上,SET协议可以起到很好的安全保障,在我国虽然SET协议使用较少,未得到广泛的普及,使得SSL与SET并存,安全性得不到保障。在SET协议中,双重签名其中的重要一环,因此,本文主要通过从分析双重签名入手,逐步探讨至SET协议的具体流程,并分析其安全性。
在网络支付环境下,消费者需要将订购信息与支付信息分别给到商家与银行,而又不希望商家能得到支付信息,也不希望银行能得到订购信息。在这里双重签名就很好地隔离了这两种信息。同时,商家与银行也可以验证订购信息与支付信息是否是一致的,这样就可以知道传输过程中信息是否篡改。如图1所示,那么双重签名的生成算法如下:
(1)消费者将订购信息与支付信息分别通过HASH算法生成两个摘要1和2;(2)将这两个摘要进行连接再次进行HASH算法可以得到摘要3;(3)最后通过使用消费者的私钥对摘要3进行加密得到双重签名(在之后的SET协议中会频繁使用)。
图 1 双重签名生成
那么,双重签名生成了以后又是如何来进行使用与验证的,这里给出其具体流程:
签名配送如图2所示。
(1)消费者将订购信息、支付信息的摘要2、双重签名一同发给商家,并等待其验证。
(2)消费者将支付信息、订购信息的摘要1、双重签名一同发给银行,并等待其验证。
图 2 双重签名配送
签名验证如图3—4所示。
(1)对于商家而言,商家拥有消费者的公钥,因此可以解开双重签名,得到摘要3,商家同时将订购信息进行HASH运算,所得摘要与摘要2连接再次进行HASH运算,将结果与之前解出的摘要3比较,相同则认为真实,反之丢弃。
(2)同样对于银行而言,银行也拥有消费者的公钥,因此可以解开双重签名,得到摘要3,银行同时将支付信息进行HASH运算,所得摘要与摘要1连接再次进行HASH运算,将结果与之前解出的摘要3比较,相同则认为真实,反之丢弃。
这样就完成了验证的过程,当然运用在SET协议中还会更为复杂,之后分析会给出。
图3 商家验证双重签名
图4 银行验证双重签名
从上述流程中可以看到,双重签名中包含了非对称加密算法,多次的HASH算法等过程,从而将订购信息与支付信息在传递给目标的同时,能够抵御未知的风险(不被他人窃取)。
上述双重签名的最好例子就是SET协议。1997年,VISA与Mastercard两大信用卡公司联合其他公司推出了安全电子交易协议(SET)。从而解决消费者、商家与银行之间的信用交易问题,将所有信息在Internet上加密安全传输,保证数据不被他人窃取,将订购信息与支付信息隔离开来,并对交易涉及的多方进行身份认证,并且保证订购与支付过程中的保密性与完整性。
而在SET协议中涉及的多方认证中,参与者的含义分别如下:
消费者:在网站上购物的一方;商家:符合SET协议的网上商店;发卡银行:消费者的信用卡所属银行;收单银行:商家的开户银行;支付网关:连接内网与Internet,传递付款信息;认证中心:为消费者、商家、银行、支付网关提供身份认证服务[2]。
为了更清晰地说明SET协议的流程,将整个流程分为4个部分:(1)消费者将订购信息给商家;(2)消费者将支付信息给支付网关;(3)支付网关将支付应答给商家;(4)商家将购物应答给用户。
2.1 消费者将订购信息给商家
用消费者协商并向商家初始化请求交易环境;商家产生应答,同时对应答进行数字签名,连同商家数字证书与支付网关数字证书一同发给消费者;消费者验证商家数字证书与支付网关数字证书,把收到的应答进行HASH运算,用商家的公钥解开数字签名,将两者对比,相同则信息真实,可以进行进一步的交易,反之丢弃。
消费者将订购信息与支付信息进行双重签名,随机生成密钥K1加密支付信息,随机生成密钥K2加密订购信息,使用支付网关的公钥加密K1,使用商家的公钥加密K2。
于是这里就产生了两个包,一个的最终目的地是商家(双重签名、支付信息摘要、加密的订购信息、加密的K2、消费者数字证书),另一个的最终目的地是支付网关(双重签名、订购信息摘要、加密的支付信息、加密的K1、消费者数字证书),消费者将两个包均发送给商家。商家认证第一个包中的用户数字证书,使用消费者公钥解开双重签名,商家用私钥解出K2,从而可以得到订购信息,使用之前讲过的双重签名的验证可以验证真实性。然后是消费者将支付信息给支付网关。虽然表面上是消费者将支付信息给支付网关的,但是,实际上的间接通过商家传递的。商家认证第一个包以后,向支付网关发出支付请求,并且对支付请求进行数字签名,使用随机生成的密钥K3对支付请求加密,再用支付网关的公钥加密K3,连同之前第二个包与商家的数字证书发送给支付网关。支付网关收到信息后,首先认证商家的数字证书,通过后使用私钥解出K3,使用商家公钥解开数字签名,与生成的支付请求摘要对比,以此认证商家发送信息的真实性。接下来,支付网关可以验证商家转发的包了,验证其中的消费者的数字证书后,用私钥可以解出K1,使用K1获得支付信息,继续使用双重签名的验证方法可判断真实性。
2.2 支付网关将支付应答给商家
在这一步之前,支付网关得到了支付信息后会将其发送给收单银行,而这期间的过程与SET协议无关因此不加赘述。收单银行会返回一个支付应答信息。支付网关对支付应答信息进行数字签名,并且使用随机密钥K4进行加密支付应答信息,然后使用商家的公钥将K4加密,将上述信息连同支付网关的数字证书一同传送给商家。商家验证数字证书,用私钥解开K4,可以得到支付应答,这样商家可以确认支付完成交易成功,可以开始发货了。但是,消费者完全不知道什么情况,因此商家会发送一个订购应答给消费者。
2.3 商家将购物应答给用户
商家将订购应答,对这一应答进行数字签名,将二者连同商家的数字证书一起发给消费者。消费者验证商家的数字证书,使用商家的公钥解开数字签名,对订购应答生成摘要,进行比较,相同则信息真实,交易成功[3]。
从上面的SET流程可以看出,几乎每次的信息传递都要经过数字证书的认证,数字签名,其中还用到了大量的对称加密,非对称加密,如此下来,速度收到极大的限制。
当商家收到了支付网关发过来的支付应答以后,商家是知道消费者支付成功了,因此当其拒绝发货的时候,就产生了问题,消费者收不到订购应答,交易失败,消费者就得不到保障。归根到底这一原因是,消费者的支付过程是始终经过商家的,商家总会有可能来进行攻击的,这样安全性就失效了。
因此,当有另一方平台出现的时候,作为收单银行与发卡银行间的可信过渡方的时候,现将金额暂存可信过渡方,当消费者确认收货的时候,再将金额转入收单银行,如此才交易成功。
互联网技术发展也伴随着危险性的提升,越来越多新技术的出现,同时也有越来越多的攻击手段的诞生。没有最可靠的协议,只有相对可靠的协议,本文仔细阐述了双重签名与SET协议的具体流程,使得该协议更为清晰明了,也从一定角度说明了其局限性,归根到底,该协议始终是对传统方式的提升。
[1]张世永.网络安全原理与应用[M].北京:科学出版社,2004.
[2]任莉莉,欧珏.基于SET协议的网上支付安全探讨[J ].华北科技学院学报,2009(2):80-83.
[3]赵跃民.SET协议交易流程详解[J].山西经济管理干部学院学报,2010(1):79-81.
Analysis on application of double signature and SET protocol
Ni Jiahui
(Computer Science School of Nanjing University of Posts and Telecommunications, Nanjing 210046, China)
With the rapid rise of e-commerce platform, online payment has become an important means of transaction between the two sides. Due to the complexity of SET protocol, the process of SET protocol is analyzed step by step from the detail generation and verification of double signature. Through the double signature, the consumer’s order information and the payment information are separated effectively. At the same time, the double signature method is applied to the SET protocol. Finally its security is analyzed briefy.
double signature; set protocol; electronic commerce; online trading
倪嘉慧(1995— ),男,江苏苏州。