秦靖輝 柳毅
摘 要:文章對近年來流行的安全電子交易協(xié)議SET標準進行研究,指出該協(xié)議不能滿足商品交易原子性和確認發(fā)送原子性。該文在原有協(xié)議的基礎(chǔ)上對其進行了改進,改進后的方案采用商家額外向收單行發(fā)送顧客所購商品信息和自己隨機生成密鑰的方式來保證交易的公平性,使其不僅滿足交易的原子性,而且還具有不可否認性的特點。
關(guān)鍵詞:電子交易 交易原子性 確認發(fā)送原子性 SET協(xié)議
中圖分類號:TP309 文獻標識碼:A 文章編號:1674-098X(2015)12(a)-0140-04
Abstract:This article analyzes the SET standard of the Secure Electronic Transaction in recent years and pointed out that the SET protocol has the flaws of the goods atomic transactions and certified delivery atomicity in transactions goods. In this paper, based on the original agreement to improve the protocol and the improved scheme adopts the way of the merchant to send its randomly generated key to guarantee the fairness of the transaction,so it is improved to make it not only satisfies the atomic transaction, but also has the characteristics of non repudiation.
Key Words:Electronic trading;Atomic transaction;Certified delivery atomicity;SET protocol
計算機網(wǎng)絡(luò)的誕生源于通信技術(shù)與計算機的結(jié)合,隨著社會的發(fā)展,計算機網(wǎng)絡(luò)近年來得到了快速發(fā)展和廣泛使用,已漸漸成為當今信息社會的基石。與此同時,電子商務(wù)應(yīng)運而生,它利用計算機網(wǎng)絡(luò)和電子技術(shù),促使交易的順利和高效,網(wǎng)上購物已成為人們生活中不可或缺的一部分。網(wǎng)絡(luò)的開放性給人們帶來巨大利益的同時,也帶來了隱患,其中最重要也是最基本的就是電子支付的安全問題。電子支付最重要的部分就是安全電子支付協(xié)議,其中應(yīng)用較多的安全電子支付協(xié)議有兩種,分別是安全套接層協(xié)議SSL(Secure Socket Layer)和安全電子安全交易協(xié)議SET(Secure Transaction)。其中SSL協(xié)議是基于Web的安全協(xié)議,該協(xié)議向基于TCP/IP原理的應(yīng)用程序進行客戶端和服務(wù)器端的鑒別,維護數(shù)據(jù)的機密性與完整性。SSL協(xié)議使用DES、MDS等加密算法來實現(xiàn)數(shù)據(jù)機密性和完整性,并采用X.509數(shù)字證書來鑒別[1]。不足的是,SSL協(xié)議缺少了買家對賣家的認證,隨著商家越來越多,各商家的誠信度也不一樣,因此經(jīng)常出現(xiàn)商家欺詐消費者的現(xiàn)象,為解決這一問題,出現(xiàn)了一種新的安全協(xié)議——SET。與SSL不同,SET協(xié)議對所有參與交易過程的成員都制定了嚴格的身份認證標準,并對它們之間的消息傳送采取了一系列預(yù)防保護措施。利用SET協(xié)議可以方便地建立和維護一個可信的網(wǎng)絡(luò)交易環(huán)境,使得人們在這個無法面對面交流的環(huán)境里,能夠正確確認彼此的身份和所交換的信息,從而保證了數(shù)據(jù)的機密性、完整性和有效性,確保了網(wǎng)上交易活動的安全進行。雖然電子商務(wù)使用廣泛,但是它依然存在著許多隱患[2]。要確保電子商務(wù)交易的安全性,可以從安全協(xié)議、加密技術(shù)以及安全機制三個方面來展開[3]。目前安全支付協(xié)議多是以提高安全性為前提,如:改進協(xié)議、提高選取的隨機數(shù)質(zhì)量、進行二次加密、加強CA管理、增加服務(wù)器端可信代理等[4]。因此人們在增加協(xié)議安全性和提高效率兩方面,提出了一系列的協(xié)議,這些協(xié)議大致可以分為兩類:基于Hash函數(shù)的協(xié)議和基于公鑰體制的協(xié)議,由于基于Hash函數(shù)的認證協(xié)議開銷小、效率高,逐漸成為近年來研究的熱點[5]。SET協(xié)議作為一種重要的電子商務(wù)協(xié)議,是一種用于開放網(wǎng)絡(luò)環(huán)境中用來實現(xiàn)安全支付目標的協(xié)議。因此,保障SET協(xié)議的安全性很重要。
1 SET協(xié)議模型及其缺陷
為了保證人們在網(wǎng)絡(luò)電子交易過程中的安全性,國際組織VISA和MasterCard在1996年2月聯(lián)合制定了SET協(xié)議,34個國家的150多家金融機構(gòu)共同參與制定了SET協(xié)議試行方案。各大信用卡公司都開始建造SET協(xié)議交易網(wǎng)關(guān),軟件廠商則著手開發(fā)支持SET協(xié)議的應(yīng)用軟件。SET協(xié)議適用于BtoC模式,圍繞客戶、商家、銀行之間的相互關(guān)系并確認各自身份。由于設(shè)計合理,SET協(xié)議得到了許多大型公司的支持并且獲得了IETF標準的認可,成為BtoC事實上的工業(yè)標準[6],并將成為以后電子商務(wù)發(fā)展的主要方向。
SET協(xié)議運用了對稱、非對稱密鑰加密算法、Hash算法、數(shù)字簽名、雙重數(shù)字簽名、數(shù)字信封和數(shù)字證書等先進技術(shù),并與在線支付應(yīng)用結(jié)合在一起,為網(wǎng)上交易提供了銀行卡交易方式的安全保障,從而確保電子支付環(huán)境的高安全性。SET協(xié)議支付模型如圖1[7]。
盡管SET協(xié)議實現(xiàn)了高安全性和可靠性,然而,由于涉及協(xié)議安全性的問題設(shè)計得十分巧妙,許多安全漏洞在協(xié)議使用了很長時間才被發(fā)現(xiàn),所以SET協(xié)議的安全性更為人們所關(guān)注[8]。根據(jù)協(xié)議模型檢測(MODEL CHECKING)[9-12]方法表明,SET協(xié)議依然存在著不少缺陷,如效率低、身份認證方式復(fù)雜等[13]。實際上,SET協(xié)議無法保證商品原子性和確認發(fā)送原子性[14],也就是協(xié)議不能保證客戶付款后能收到與訂單上相符的商品,并且缺乏一個合理的交易糾紛處理準則[15]。在電子商務(wù)領(lǐng)域,由于客戶在退換貨過程中的被動性和許多不確定的因素,商品原子性與確認發(fā)送原子性在電子支付協(xié)議中顯得很重要。因此,確立一個保證商品原子性和確認發(fā)送原子性的電子支付協(xié)議是很有必要的[16]。
文章以安全電子支付協(xié)議標準SET作為研究對象,對SET協(xié)議中客戶、商家和支付網(wǎng)關(guān)的消息傳遞過程進行改進,使它在原有的基礎(chǔ)上同時滿足商品原子性和確認發(fā)送原子性,進而減少損失[17]。
2 改進措施
2.1 密碼標記
為便于研究,對文中使用的密碼標記做如下規(guī)定:
SK 私有密鑰
PK 公開密鑰
K 對稱加密算法密鑰
E 加密變換
2.2 協(xié)議流程圖
圖2是改進后的協(xié)議流程圖,注意到編號4是新增加的一個步驟。圖中的詳細過程見2.3節(jié)的協(xié)議流程描述。
2.3 協(xié)議流程描述
(1)客戶C向商家M發(fā)出購買請求。
(2)商家M向客戶C展示客戶想要購買商品的詳細信息。
(3)客戶C同意商品價格方面的要求,對訂單OI進行數(shù)字簽名得到OI =Eskc(OI),并用商家提供的公鑰加密自己的公鑰pkc=Epkm(pkc),并將pkc ,OI發(fā)送給商家。
(4)商家M對pkc解密,得到pkc=Eskm(pkc),然后對OI解密得到OI=Epkc(OI),確認訂單為客戶C所發(fā)。接著商家隨機生成一個對稱密鑰K1,并對商品m加密得到m =EK1(m)再對m求Hash運算進行簽名后得到h=Eskm(H(m))。商家對自己的數(shù)字證書Cerm和支付網(wǎng)關(guān)的數(shù)字證書Cerp以及付款要求pay進行數(shù)字簽名后得到r=Eskm(Cerm,Cerp,pay),然后將(m,h,r)發(fā)送給客戶C,接著將產(chǎn)品m和K1用支付網(wǎng)關(guān)公鑰加密后,發(fā)送給支付網(wǎng)關(guān)。這一目的是為了防止商家最后在收到客戶款項后不發(fā)送密鑰K1給客戶,即不一定保證商家所發(fā)送的商品一定是客戶原先想要購買的商品。
(5)客戶C收到消息后,先對r解密:得到(Cerm,Cerp,pay)=Epkm(r),從而確認為商家M所發(fā),此時客戶C通過認證中心CA驗證商家M和支付網(wǎng)關(guān)P的身份并按pay要求生成支付命令PI然后進行數(shù)字簽名得到PI=Eskc(PI)。然后客戶C隨機生成一個對稱密鑰K2,對PI進行加密得到PI”=EK2(PI)。客戶C對商家發(fā)送的m求Hash運算得到h=H(m),用K2對h加密得到h=EK2(h)。對客戶的賬戶信息PAN(如客戶的姓名,銀行卡賬號等信息)和K2用支付網(wǎng)關(guān)的公鑰加密后得到P1=Epkp(PAN
文章對SET協(xié)議在網(wǎng)上支付的安全性進行了研究,并在認真分析交易過程的基礎(chǔ)上針對原協(xié)議存在的兩個缺陷:即在商品原子性和確認發(fā)送原子性方面,提出了一種改進方案。改進后的協(xié)議方案規(guī)定商家必須發(fā)送商品信息和隨機密鑰給支付網(wǎng)關(guān)保證協(xié)議的原子性。對改進后的協(xié)議分析表明,改進后的協(xié)議能夠完成預(yù)計達到的目標。
參考文獻
[1] 鐘軍,吳雪陽,江一民,等.一種安全協(xié)議的安全性分析及攻擊研究[J].計算機工程與科學,2014,36(6):1077-1082.
[2] 曾孜.企業(yè)電子商務(wù)系統(tǒng)的安全性分析[J].廣東工業(yè)大學學報,2001,18(3):22-25.
[3] 肖茵茵,蘇開樂.電子商務(wù)支付協(xié)議認證性的SVO邏輯驗證[J].計算機工程與應(yīng)用,2014,50(8):6-10.
[4] 張雪,馬光思,毛宏燕.基于SSL提高網(wǎng)上安全交易性能的研究[J].微電子學與計算機,2011,28(2):181-183.
[5] 何麗,王立斌.對一種身份認證協(xié)議的改進及其形式化分析[J].計算機系統(tǒng)應(yīng)用,2010,19(7):47-49.
[6] 張愷悌.基于SET協(xié)議的網(wǎng)絡(luò)電子支付系統(tǒng)的研究[D].西安工業(yè)大學,2013.
[7] 薛睿.基于SET協(xié)議的電子商務(wù)安全問題研究[D].鄭州大學,2013.
[8] 魯四美,張建林.SET協(xié)議模型的改進與SMV分析[J].計算機工程與應(yīng)用,2010,45(8):113-116.
[9] 萬子龍.基于模型檢測的SET協(xié)議形式化驗證與該進[D].南昌大學,2014.
[10] Xiao M H,Wan Z L, Liu H L.The Formal Verification and Improvement of Simplified SET Protocol[J].Journal of Software,2014,9 (9):2302-2308.
[11] 黃佳.SET協(xié)議形式化分析與模型檢測[J].軟件學報,2012,33(6):111-115.
[12] 繆力,譚志華,張大方.基于SPIN的網(wǎng)絡(luò)認證協(xié)議高效模型檢測[J].計算機工程與應(yīng)用,2012,48(21):62-67.
[13] Shen Z H,Wang H.An improved SET protocol payment system[C]//Proc.of International Conf.on Computer and Communication Technologies in Agriculture Engineering.Chengdu,China,June 2010:400-403.
[14] 閏婷婷.基于第四方電子商務(wù)的統(tǒng)一支付平臺及其協(xié)議的研究[D].華南理工大學,2012.
[15] 任莉莉,王成軍,方元康.SET協(xié)議在網(wǎng)上支付中的應(yīng)用研究[J].計算機應(yīng)用與軟件,2010,27(10):105-107.
[16] 肖早斌,肖仕成,李開,等.基于四方的安全電子商務(wù)支付協(xié)議研究[J].計算機科學,2011,38(10):39-44.
[17] 廖輝,凌捷.網(wǎng)絡(luò)終端安全評估量化指標體系的設(shè)計與實現(xiàn)[J].廣東工業(yè)大學學報,2010,27(02):84-88.
[18] 劉超凡,張永良,肖剛.基于滾動指紋數(shù)字簽名的電子商務(wù)安全認證[J].計算機應(yīng)用,2012,32(2):475-479.