倪嘉慧
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210046)
雙重簽名與SET協(xié)議應(yīng)用分析
倪嘉慧
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210046)
隨著各種電子商務(wù)平臺(tái)的迅速崛起,網(wǎng)絡(luò)在線支付成了交易雙方重要的交易手段。由于SET協(xié)議的復(fù)雜性,從雙重簽名的詳細(xì)生成與使用驗(yàn)證入手,逐步分段剖析SET協(xié)議的流程。通過(guò)雙重簽名將消費(fèi)者的訂購(gòu)信息與支付信息有效隔離,同時(shí),將雙重簽名的方法運(yùn)用到SET協(xié)議中去,并簡(jiǎn)要分析其安全性。
雙重簽名;SET協(xié)議;電子商務(wù);在線交易
隨著各種B2C(Business-to-Customer),C2C(Customer-to-Customer),B2B(Business-to- Business)等模式的電子商務(wù)平臺(tái)的迅速崛起,網(wǎng)絡(luò)在線支付成了交易雙方重要的交易手段。在帶來(lái)便利的同時(shí),其引發(fā)的安全問(wèn)題也隨之而來(lái),因此,擁有一款貫穿交易始終的安全性協(xié)議顯得尤為重要。因此,SET協(xié)議隨之產(chǎn)生了,由Mastercard與VISA聯(lián)合其他公司共同推出,在B2C上的安全電子交易協(xié)議。其中包含了消費(fèi)者、商家、發(fā)卡銀行、收單銀行、支付網(wǎng)關(guān)以及認(rèn)證中心CA這幾大要素[1]。
在網(wǎng)銀、支付寶等支付平臺(tái)上,SET協(xié)議可以起到很好的安全保障,在我國(guó)雖然SET協(xié)議使用較少,未得到廣泛的普及,使得SSL與SET并存,安全性得不到保障。在SET協(xié)議中,雙重簽名其中的重要一環(huán),因此,本文主要通過(guò)從分析雙重簽名入手,逐步探討至SET協(xié)議的具體流程,并分析其安全性。
在網(wǎng)絡(luò)支付環(huán)境下,消費(fèi)者需要將訂購(gòu)信息與支付信息分別給到商家與銀行,而又不希望商家能得到支付信息,也不希望銀行能得到訂購(gòu)信息。在這里雙重簽名就很好地隔離了這兩種信息。同時(shí),商家與銀行也可以驗(yàn)證訂購(gòu)信息與支付信息是否是一致的,這樣就可以知道傳輸過(guò)程中信息是否篡改。如圖1所示,那么雙重簽名的生成算法如下:
(1)消費(fèi)者將訂購(gòu)信息與支付信息分別通過(guò)HASH算法生成兩個(gè)摘要1和2;(2)將這兩個(gè)摘要進(jìn)行連接再次進(jìn)行HASH算法可以得到摘要3;(3)最后通過(guò)使用消費(fèi)者的私鑰對(duì)摘要3進(jìn)行加密得到雙重簽名(在之后的SET協(xié)議中會(huì)頻繁使用)。
圖 1 雙重簽名生成
那么,雙重簽名生成了以后又是如何來(lái)進(jìn)行使用與驗(yàn)證的,這里給出其具體流程:
簽名配送如圖2所示。
(1)消費(fèi)者將訂購(gòu)信息、支付信息的摘要2、雙重簽名一同發(fā)給商家,并等待其驗(yàn)證。
(2)消費(fèi)者將支付信息、訂購(gòu)信息的摘要1、雙重簽名一同發(fā)給銀行,并等待其驗(yàn)證。
圖 2 雙重簽名配送
簽名驗(yàn)證如圖3—4所示。
(1)對(duì)于商家而言,商家擁有消費(fèi)者的公鑰,因此可以解開(kāi)雙重簽名,得到摘要3,商家同時(shí)將訂購(gòu)信息進(jìn)行HASH運(yùn)算,所得摘要與摘要2連接再次進(jìn)行HASH運(yùn)算,將結(jié)果與之前解出的摘要3比較,相同則認(rèn)為真實(shí),反之丟棄。
(2)同樣對(duì)于銀行而言,銀行也擁有消費(fèi)者的公鑰,因此可以解開(kāi)雙重簽名,得到摘要3,銀行同時(shí)將支付信息進(jìn)行HASH運(yùn)算,所得摘要與摘要1連接再次進(jìn)行HASH運(yùn)算,將結(jié)果與之前解出的摘要3比較,相同則認(rèn)為真實(shí),反之丟棄。
這樣就完成了驗(yàn)證的過(guò)程,當(dāng)然運(yùn)用在SET協(xié)議中還會(huì)更為復(fù)雜,之后分析會(huì)給出。
圖3 商家驗(yàn)證雙重簽名
圖4 銀行驗(yàn)證雙重簽名
從上述流程中可以看到,雙重簽名中包含了非對(duì)稱加密算法,多次的HASH算法等過(guò)程,從而將訂購(gòu)信息與支付信息在傳遞給目標(biāo)的同時(shí),能夠抵御未知的風(fēng)險(xiǎn)(不被他人竊?。?/p>
上述雙重簽名的最好例子就是SET協(xié)議。1997年,VISA與Mastercard兩大信用卡公司聯(lián)合其他公司推出了安全電子交易協(xié)議(SET)。從而解決消費(fèi)者、商家與銀行之間的信用交易問(wèn)題,將所有信息在Internet上加密安全傳輸,保證數(shù)據(jù)不被他人竊取,將訂購(gòu)信息與支付信息隔離開(kāi)來(lái),并對(duì)交易涉及的多方進(jìn)行身份認(rèn)證,并且保證訂購(gòu)與支付過(guò)程中的保密性與完整性。
而在SET協(xié)議中涉及的多方認(rèn)證中,參與者的含義分別如下:
消費(fèi)者:在網(wǎng)站上購(gòu)物的一方;商家:符合SET協(xié)議的網(wǎng)上商店;發(fā)卡銀行:消費(fèi)者的信用卡所屬銀行;收單銀行:商家的開(kāi)戶銀行;支付網(wǎng)關(guān):連接內(nèi)網(wǎng)與Internet,傳遞付款信息;認(rèn)證中心:為消費(fèi)者、商家、銀行、支付網(wǎng)關(guān)提供身份認(rèn)證服務(wù)[2]。
為了更清晰地說(shuō)明SET協(xié)議的流程,將整個(gè)流程分為4個(gè)部分:(1)消費(fèi)者將訂購(gòu)信息給商家;(2)消費(fèi)者將支付信息給支付網(wǎng)關(guān);(3)支付網(wǎng)關(guān)將支付應(yīng)答給商家;(4)商家將購(gòu)物應(yīng)答給用戶。
2.1 消費(fèi)者將訂購(gòu)信息給商家
用消費(fèi)者協(xié)商并向商家初始化請(qǐng)求交易環(huán)境;商家產(chǎn)生應(yīng)答,同時(shí)對(duì)應(yīng)答進(jìn)行數(shù)字簽名,連同商家數(shù)字證書(shū)與支付網(wǎng)關(guān)數(shù)字證書(shū)一同發(fā)給消費(fèi)者;消費(fèi)者驗(yàn)證商家數(shù)字證書(shū)與支付網(wǎng)關(guān)數(shù)字證書(shū),把收到的應(yīng)答進(jìn)行HASH運(yùn)算,用商家的公鑰解開(kāi)數(shù)字簽名,將兩者對(duì)比,相同則信息真實(shí),可以進(jìn)行進(jìn)一步的交易,反之丟棄。
消費(fèi)者將訂購(gòu)信息與支付信息進(jìn)行雙重簽名,隨機(jī)生成密鑰K1加密支付信息,隨機(jī)生成密鑰K2加密訂購(gòu)信息,使用支付網(wǎng)關(guān)的公鑰加密K1,使用商家的公鑰加密K2。
于是這里就產(chǎn)生了兩個(gè)包,一個(gè)的最終目的地是商家(雙重簽名、支付信息摘要、加密的訂購(gòu)信息、加密的K2、消費(fèi)者數(shù)字證書(shū)),另一個(gè)的最終目的地是支付網(wǎng)關(guān)(雙重簽名、訂購(gòu)信息摘要、加密的支付信息、加密的K1、消費(fèi)者數(shù)字證書(shū)),消費(fèi)者將兩個(gè)包均發(fā)送給商家。商家認(rèn)證第一個(gè)包中的用戶數(shù)字證書(shū),使用消費(fèi)者公鑰解開(kāi)雙重簽名,商家用私鑰解出K2,從而可以得到訂購(gòu)信息,使用之前講過(guò)的雙重簽名的驗(yàn)證可以驗(yàn)證真實(shí)性。然后是消費(fèi)者將支付信息給支付網(wǎng)關(guān)。雖然表面上是消費(fèi)者將支付信息給支付網(wǎng)關(guān)的,但是,實(shí)際上的間接通過(guò)商家傳遞的。商家認(rèn)證第一個(gè)包以后,向支付網(wǎng)關(guān)發(fā)出支付請(qǐng)求,并且對(duì)支付請(qǐng)求進(jìn)行數(shù)字簽名,使用隨機(jī)生成的密鑰K3對(duì)支付請(qǐng)求加密,再用支付網(wǎng)關(guān)的公鑰加密K3,連同之前第二個(gè)包與商家的數(shù)字證書(shū)發(fā)送給支付網(wǎng)關(guān)。支付網(wǎng)關(guān)收到信息后,首先認(rèn)證商家的數(shù)字證書(shū),通過(guò)后使用私鑰解出K3,使用商家公鑰解開(kāi)數(shù)字簽名,與生成的支付請(qǐng)求摘要對(duì)比,以此認(rèn)證商家發(fā)送信息的真實(shí)性。接下來(lái),支付網(wǎng)關(guān)可以驗(yàn)證商家轉(zhuǎn)發(fā)的包了,驗(yàn)證其中的消費(fèi)者的數(shù)字證書(shū)后,用私鑰可以解出K1,使用K1獲得支付信息,繼續(xù)使用雙重簽名的驗(yàn)證方法可判斷真實(shí)性。
2.2 支付網(wǎng)關(guān)將支付應(yīng)答給商家
在這一步之前,支付網(wǎng)關(guān)得到了支付信息后會(huì)將其發(fā)送給收單銀行,而這期間的過(guò)程與SET協(xié)議無(wú)關(guān)因此不加贅述。收單銀行會(huì)返回一個(gè)支付應(yīng)答信息。支付網(wǎng)關(guān)對(duì)支付應(yīng)答信息進(jìn)行數(shù)字簽名,并且使用隨機(jī)密鑰K4進(jìn)行加密支付應(yīng)答信息,然后使用商家的公鑰將K4加密,將上述信息連同支付網(wǎng)關(guān)的數(shù)字證書(shū)一同傳送給商家。商家驗(yàn)證數(shù)字證書(shū),用私鑰解開(kāi)K4,可以得到支付應(yīng)答,這樣商家可以確認(rèn)支付完成交易成功,可以開(kāi)始發(fā)貨了。但是,消費(fèi)者完全不知道什么情況,因此商家會(huì)發(fā)送一個(gè)訂購(gòu)應(yīng)答給消費(fèi)者。
2.3 商家將購(gòu)物應(yīng)答給用戶
商家將訂購(gòu)應(yīng)答,對(duì)這一應(yīng)答進(jìn)行數(shù)字簽名,將二者連同商家的數(shù)字證書(shū)一起發(fā)給消費(fèi)者。消費(fèi)者驗(yàn)證商家的數(shù)字證書(shū),使用商家的公鑰解開(kāi)數(shù)字簽名,對(duì)訂購(gòu)應(yīng)答生成摘要,進(jìn)行比較,相同則信息真實(shí),交易成功[3]。
從上面的SET流程可以看出,幾乎每次的信息傳遞都要經(jīng)過(guò)數(shù)字證書(shū)的認(rèn)證,數(shù)字簽名,其中還用到了大量的對(duì)稱加密,非對(duì)稱加密,如此下來(lái),速度收到極大的限制。
當(dāng)商家收到了支付網(wǎng)關(guān)發(fā)過(guò)來(lái)的支付應(yīng)答以后,商家是知道消費(fèi)者支付成功了,因此當(dāng)其拒絕發(fā)貨的時(shí)候,就產(chǎn)生了問(wèn)題,消費(fèi)者收不到訂購(gòu)應(yīng)答,交易失敗,消費(fèi)者就得不到保障。歸根到底這一原因是,消費(fèi)者的支付過(guò)程是始終經(jīng)過(guò)商家的,商家總會(huì)有可能來(lái)進(jìn)行攻擊的,這樣安全性就失效了。
因此,當(dāng)有另一方平臺(tái)出現(xiàn)的時(shí)候,作為收單銀行與發(fā)卡銀行間的可信過(guò)渡方的時(shí)候,現(xiàn)將金額暫存可信過(guò)渡方,當(dāng)消費(fèi)者確認(rèn)收貨的時(shí)候,再將金額轉(zhuǎn)入收單銀行,如此才交易成功。
互聯(lián)網(wǎng)技術(shù)發(fā)展也伴隨著危險(xiǎn)性的提升,越來(lái)越多新技術(shù)的出現(xiàn),同時(shí)也有越來(lái)越多的攻擊手段的誕生。沒(méi)有最可靠的協(xié)議,只有相對(duì)可靠的協(xié)議,本文仔細(xì)闡述了雙重簽名與SET協(xié)議的具體流程,使得該協(xié)議更為清晰明了,也從一定角度說(shuō)明了其局限性,歸根到底,該協(xié)議始終是對(duì)傳統(tǒng)方式的提升。
[1]張世永.網(wǎng)絡(luò)安全原理與應(yīng)用[M].北京:科學(xué)出版社,2004.
[2]任莉莉,歐玨.基于SET協(xié)議的網(wǎng)上支付安全探討[J ].華北科技學(xué)院學(xué)報(bào),2009(2):80-83.
[3]趙躍民.SET協(xié)議交易流程詳解[J].山西經(jīng)濟(jì)管理干部學(xué)院學(xué)報(bào),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— ),男,江蘇蘇州。