[摘要] 安全協議是目前電子支付技術安全問題中的熱點,安全套接層協議(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鏈路上的數據保密性。對于電子商務應用來說,使用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協議是1997年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].重慶郵電學院學報,2005,17 (6),745~748
[2]馬瑞萍:SSL安全性分析研究[J];網絡安全技術與應用; 2001,12期,17~20
[3]吳建耀張玉清莫燕:SET協議的安全性研究綜述,2004全國網絡與信息安全技術研討會[c]
[4]周龍驤:電子商務協議研究綜述[J].軟件學報,2001,12