《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > SET協(xié)議的分析與改進(jìn)

SET協(xié)議的分析與改進(jìn)

2009-10-13
作者:陳 豫1, 陳喜陽(yáng)2

  摘? 要: 分析了SET協(xié)議的不足,并提出了相應(yīng)的改進(jìn)策略,采用更安全的數(shù)據(jù)傳輸方式保留交易證據(jù),增強(qiáng)了抗抵賴性。

  關(guān)鍵詞: 電子支付? SET協(xié)議? 安全

?

  電子支付是電子商務(wù)的關(guān)鍵環(huán)節(jié),也是電子商務(wù)得以順利發(fā)展的基礎(chǔ)條件。沒有適宜的電子支付手段的配合,電子商務(wù)只能是虛擬商務(wù),而無法進(jìn)行網(wǎng)上交易。如何通過電子支付方式安全公平地完成整個(gè)交易,已成為網(wǎng)上交易必須面對(duì)的首要問題。SET(Security Electronic Transaction)是當(dāng)前比較通用的電子交易協(xié)議,因此研究SET協(xié)議對(duì)于現(xiàn)在物流行業(yè)與電子商務(wù)的發(fā)展具有一定的現(xiàn)實(shí)意義。

1? 通用SET協(xié)議的分析

  當(dāng)前國(guó)內(nèi)外最典型的支付模型為SET協(xié)議。SET提供對(duì)交易參與者的認(rèn)證,確保交易數(shù)據(jù)的安全性,特別是保證不會(huì)將持卡人的賬戶信息泄露給商家。SET模型的工作流程如圖1所示。

?

?

  (1)用戶在銀行開立信用卡賬戶,獲得信用卡。(2)用戶在商家的Web主頁(yè)上查看商品目錄選擇所需商品,填寫定單并通過網(wǎng)絡(luò)傳遞給商家,同時(shí)附上付款指令,其中定單和付款指令要有用戶的數(shù)字簽名并加密,使商家無法看到用戶的私人賬戶信息。(3)商家收到定單后,向發(fā)卡行請(qǐng)示支付認(rèn)可;發(fā)卡行確認(rèn)后,批準(zhǔn)交易,并向商家返回確認(rèn)信息。(4)商家發(fā)送定單確認(rèn)信息給用戶,并發(fā)貨給用戶。(5)商家請(qǐng)示銀行支付貨款,銀行將貨款由用戶的賬戶轉(zhuǎn)移到商家的賬戶。

  SET協(xié)議已成為電子商務(wù)中在線支付的一種主要模式,但由于在通用的SET協(xié)議模型中,SET交易復(fù)雜,且存在一定的局限性,因此其推廣受到一定的限制。目前SET協(xié)議存在的主要問題如下。

  (1)SET不支持商品的原子性。(2)SET不支持抗抵賴性。SET協(xié)議沒有解決交易過程中的證據(jù)保留問題,對(duì)交易后的數(shù)據(jù)的保存和處理沒有說明。SET協(xié)議僅能做到對(duì)支付信息的認(rèn)證,沒有解決交易中證據(jù)的生成和保留問題,因此不能為交易保留法律性的依據(jù)。當(dāng)顧客和商家發(fā)生爭(zhēng)議時(shí),缺乏有效說明來劃分責(zé)任,無法滿足電子商務(wù)協(xié)議的公平性原則。(3)整個(gè)交易的流程太復(fù)雜,參加認(rèn)證的實(shí)體太多,給程序的設(shè)計(jì)帶來很大不便。(4)SET協(xié)議中對(duì)交易過程沒有作狀態(tài)描述,使顧客或商家對(duì)交易的狀態(tài)難以把握。(5)加密算法通常采用的是RSA算法,加密和解密時(shí)間復(fù)雜度比較大,從而使交易時(shí)間過長(zhǎng)。(6)關(guān)鍵數(shù)據(jù)的傳輸不是很安全。

2?SET協(xié)議改進(jìn)策略

  針對(duì)SET協(xié)議存在的問題,本文提出了相應(yīng)的改進(jìn)策略。改進(jìn)后的SET協(xié)議模型如圖2所示。在客戶和商戶之間采用了客戶交易代理和商戶交易安全平臺(tái),以保證數(shù)據(jù)的安全傳輸。支付網(wǎng)關(guān)是SET交易實(shí)體和金融網(wǎng)絡(luò)的接口,可以看成是金融網(wǎng)絡(luò)的代理,并可以作為誠(chéng)信的第三方,通過它可以減少交易認(rèn)證流程的復(fù)雜度。

?

?

2.1 客戶交易代理和商戶交易安全平臺(tái)

  電子交易過程中涉及到用戶與商家之間的機(jī)密數(shù)據(jù),如用戶信用卡信息、交易碼等,因此需要解決電子交易過程中的安全問題。在電子交易過程中可采用客戶交易代理和商戶交易安全平臺(tái)協(xié)商產(chǎn)生安全通信,保護(hù)客戶端與Web服務(wù)器間傳輸?shù)臄?shù)據(jù)??蛻艚灰状碡?fù)責(zé)客戶端端密鑰的管理及與服務(wù)器端連接的安全性。商戶交易安全平臺(tái)負(fù)責(zé)服務(wù)器端密鑰的管理及保證服務(wù)器端的安全性。客戶通過安全通道與商戶建立連接,雙方交換證書,彼此驗(yàn)證身份,確認(rèn)身份的真實(shí)性、合法性。服務(wù)器與客戶端可相互查詢CA證書中心以獲取對(duì)方的公開密鑰。假設(shè)K11和K12分別代表服務(wù)器端公鑰和私鑰,K21和K22分別代表客戶端的公鑰和私鑰。安全通信的建立過程如下。

  (1)客戶端建立起與服務(wù)器端IP與特定Port端口的連接相關(guān)聯(lián)的網(wǎng)絡(luò)套接字,向服務(wù)器申請(qǐng)網(wǎng)絡(luò)連接。(2)服務(wù)器端偵聽特定端口,檢測(cè)發(fā)送方的客戶端是否有建立連接的請(qǐng)求,如有則在服務(wù)器端,針對(duì)客戶端的發(fā)送套接字構(gòu)建相應(yīng)的接收套接字。(3)等待服務(wù)器接受連接申請(qǐng)后,客戶端向服務(wù)器端發(fā)送一隨機(jī)數(shù)R1。(4)服務(wù)器端也產(chǎn)生一個(gè)隨機(jī)數(shù)R2,并用自己的私有密鑰K22對(duì)R1、R2加密,得(R1、R2),傳輸給客戶端。(5)客戶端接收到(R1、R2)后,采用服務(wù)器的公開密鑰對(duì)其進(jìn)行解密,將得到的解密結(jié)果與原始R1對(duì)照,確認(rèn)服務(wù)器端合法性,完成對(duì)服務(wù)器的認(rèn)證。同時(shí)對(duì)R2解密結(jié)果使用自己私有密鑰加密得到(R2),傳輸?shù)椒?wù)器端。(6)服務(wù)器采用客戶公開密鑰對(duì)(R2)解密并和原始R2對(duì)照,完成對(duì)客戶端認(rèn)證。

  這樣服務(wù)器端和客戶端就建立了信任連接,在電子交易過程中采用客戶交易代理和商戶交易安全平臺(tái),實(shí)現(xiàn)數(shù)據(jù)安全傳輸。

2.2 改進(jìn)后SET的流程

  改進(jìn)后的SET的工作流程如下。

  (1)客戶通過安全通道與商戶建立連接,雙方交換證書,彼此驗(yàn)證身份,確認(rèn)身份的真實(shí)性和合法性。

  (2)客戶向商戶發(fā)送購(gòu)買初始請(qǐng)求。傳輸?shù)男畔⒂蒙虘舻墓€加密,用客戶的私鑰做數(shù)字簽名。

  (3)商戶收到初始請(qǐng)求后,向客戶發(fā)回初始回答信息,其中包括支付網(wǎng)關(guān)的公鑰(這是為了客戶發(fā)送支付信息時(shí),不讓商戶看到信用卡的資料)及本次交易的ID、收到初始請(qǐng)求的時(shí)間t1。所有的信息用客戶的公鑰加密,并用商戶的私鑰做數(shù)字簽名。

  (4)客戶看到商戶的回答,分別驗(yàn)證商戶和支付網(wǎng)關(guān)的合法性。核實(shí)之后,向商戶發(fā)送購(gòu)買信息,包括2部分:①給商戶的購(gòu)買信息,即商品和這次交易的ID(用商戶的公鑰加密,用客戶的私鑰做數(shù)字簽名)。②商戶將轉(zhuǎn)發(fā)給支付網(wǎng)關(guān)的支付信息(用支付網(wǎng)關(guān)的公鑰加密,客戶的私鑰做數(shù)字簽名)。

  (5)商戶收到購(gòu)買請(qǐng)求后,核實(shí)信息的合法性,將客戶的購(gòu)買信息存到本地?cái)?shù)據(jù)庫(kù),然后同時(shí)處理2件事情:①?gòu)谋镜氐玫浇邮沼唵蔚臅r(shí)間t2,結(jié)合貨物的配送、與支付網(wǎng)關(guān)的通信條件,設(shè)置到貨的停滯時(shí)間t3,向客戶傳送購(gòu)買回答信息(用客戶的公鑰加密,商戶的私鑰數(shù)字簽名)。②請(qǐng)求授權(quán)和轉(zhuǎn)發(fā)客戶發(fā)送的支付信息給支付網(wǎng)關(guān)(用支付網(wǎng)關(guān)的公鑰加密,商戶的私鑰數(shù)字簽名)。

  (6)客戶驗(yàn)證收到的購(gòu)買回答信息的合法性,接著客戶交易代理將購(gòu)買回答信息存到本地?cái)?shù)據(jù)庫(kù)。

  (7)在進(jìn)行第(6)步的同時(shí),支付網(wǎng)關(guān)根據(jù)商戶發(fā)來的信息驗(yàn)證商戶和客戶的合法身份,然后支付網(wǎng)關(guān)向銀行發(fā)出授權(quán)請(qǐng)求,證明客戶的信用卡有效。當(dāng)收到回答后,就向商戶發(fā)出授權(quán)回答,其中包括支付的令牌、客戶的支付信息、商戶確認(rèn)的t2與t3(用商戶公鑰加密,支付網(wǎng)關(guān)的私鑰做數(shù)字簽名),同時(shí)將這些信息存到本地?cái)?shù)據(jù)庫(kù),以備核實(shí)。

  (8)商戶收到網(wǎng)關(guān)的授權(quán)回答后,核實(shí)合法性,計(jì)算停滯時(shí)間是否比原來的t3大。如果是就向客戶發(fā)送消息,說明原因并表示立即送貨(用客戶的公鑰加密,商戶的私鑰數(shù)字簽名),客戶收到核實(shí)后,可以按照上面的時(shí)間查收貨物或咨詢商戶。

  (9)隨后商戶通過支付網(wǎng)關(guān)向銀行要求定貨金額轉(zhuǎn)賬。商戶向網(wǎng)關(guān)發(fā)送支付的捕獲請(qǐng)求,包括網(wǎng)關(guān)發(fā)來的支付令牌(用支付網(wǎng)關(guān)的公鑰加密,商戶的私鑰做數(shù)字簽名)。

  (10)驗(yàn)證商戶及支付令牌的合法性,并按照支付的金額向銀行發(fā)出轉(zhuǎn)賬請(qǐng)求,銀行將金額轉(zhuǎn)賬到商戶,同時(shí)回答支付網(wǎng)關(guān)。

  (11)支付網(wǎng)關(guān)給商戶發(fā)送支付捕獲回答(用商戶公鑰加密,支付網(wǎng)關(guān)的私鑰做數(shù)字簽名)。

  (12)商戶收到支付捕獲回答,驗(yàn)證合法性,存到本地?cái)?shù)據(jù)庫(kù),以備和銀行發(fā)生賬物糾紛時(shí)清查。

3?結(jié)? 論

  改進(jìn)后的SET協(xié)議簡(jiǎn)化了交易的復(fù)雜度,減少了認(rèn)證的實(shí)體,降低了程序設(shè)計(jì)人員的工作強(qiáng)度,使SET協(xié)議的實(shí)現(xiàn)更加容易。通過安全的客戶交易代理和商業(yè)交易平臺(tái)之間特有的安全通信,保障了核心數(shù)據(jù)的安全傳輸;保證了客戶的信用卡信息不被商家看到;保證交易的各方都是合法的實(shí)體;保證了各方收到的信息都是完整的;保留了交易的憑證,使公平性得到保障。

參考文獻(xiàn)

1?方美琪.電子商務(wù)概論.北京:清華大學(xué)出版社,2002

2?王永峰,唐毅.SET協(xié)議的安全性分析及改進(jìn).微型電腦應(yīng)用,2001;17(7)

3 張大陸,李恩民.SET的支付流程分析和改進(jìn)措施.微型電腦應(yīng)用,2001;17(8)

4 尹存燕,謝俊元.一個(gè)公平、有效的安全電子交易協(xié)議.計(jì)算機(jī)應(yīng)用研究,2002;(1)

5?劉文遠(yuǎn),唐杰,鄧玉成等.原子和公平匿名的電子交易協(xié)議的研究.計(jì)算機(jī)工程與應(yīng)用,2003;(3)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。