[摘要] 本文對兩種常用的在線支付協(xié)議及其安全性進行了詳盡分析,闡述了兩者的應用性及局限性,對網(wǎng)絡購物相關行業(yè)的發(fā)展具有一定現(xiàn)實意義。
[關鍵詞] 電子商務 電子支付 SET 協(xié)議 SSL協(xié)議
一、引言
互聯(lián)網(wǎng)的不斷發(fā)展,極大地改變著人們的生活。特別是電子商務的迅速發(fā)展,使得人們可以足不出戶便可以在家里購物。電子商務必然涉及到網(wǎng)上的電子支付,由于網(wǎng)絡本身的開放性及復雜性,安全問題成了電子商務發(fā)展中的首要問題,能否確保信息安全、可靠的傳輸,為用戶在網(wǎng)上從事商務活動提供信任保證,成為電子商務成敗的關鍵。
當前主要有兩種在線支付協(xié)議被廣泛采用,即安全套接層SSL(Secure Sockets Layer)協(xié)議和安全電子交易SET(Secure Electronic Transaction)協(xié)議。
二、SSL協(xié)議
SSL協(xié)議是Netscape公司在網(wǎng)絡傳輸層之上提供的一種基于RSA和保密密鑰的用于瀏覽器和Web服務器之間的安全連接技術。它被視為Internet上Web瀏覽器和服務器的標準安全性措施。SSL 提供了用于啟動TCP/IP連接的安全性“信號交換”。這種信號交換導致客戶和服務器同意將使用的安全性級別,并履行連接的任何身份驗證要求。它通過數(shù)字簽名和數(shù)字證書可實現(xiàn)瀏覽器和Web服務器雙方的身份驗證。在用數(shù)字證書對雙方的身份驗證后,雙方就可以用保密密鑰進行安全的會話了。
SSL協(xié)議握手流程由兩個階段組成:服務器認證和用戶認證(可選)。
1.服務器認證階段
在一次交易過程中,客戶的證書首先傳送到銀行Server方,服務器先驗證有效期,再根據(jù)簽發(fā)者(CA)名稱找到簽發(fā)者公鑰(在CA的根證書內),驗證證書的數(shù)字簽名的合法性。
Web服務器上的SSL安全性要求步驟如下:
(1)生成密鑰對文件和請求文件;
(2)從身份驗證權限中請求一個證書;
(3)在服務器上安裝證書;
(4)激活WWW服務文件夾上的SSL安全性。
服務器根據(jù)客戶的信息確定是否需要生成新的主密鑰,如需要則服務器在響應客戶的消息時將包含生成主密鑰所需的信息;客戶根據(jù)收到的服務器響應信息,產生一個主密鑰,并用服務器的公開密鑰加密后傳給服務器;服務器恢復該主密鑰,并返回給客戶一個用主密鑰認證的信息,以此讓客戶認證服務器。
這樣通過主密鑰引出的密鑰對一系列數(shù)據(jù)進行加密來認證服務器,從而建立安全的通信通道。
2.用戶認證階段
在此之前,服務器已經過了客戶認證,這一階段主要完成對客戶的認證。
經認證的服務器發(fā)送一個提問給客戶,客戶則返回(數(shù)字)簽名后的提問和其公開密鑰,從而向服務器提供認證。
SSL支持各種加密算法。在“握手”過程中,使用RSA公開密鑰系統(tǒng)。密鑰交換后,使用一系列密碼,包括RC2、RC4、IDEA、DES、triple-DES及MD5 信息摘要算法。公開密鑰認證遵循X.509標準。
3.SSL的應用及局限
SSL是一個面向連接的協(xié)議,在涉及多方的電子交易中,只能提供交易中客戶與服務器間的雙方認證,而電子商務往往是用戶、網(wǎng)站、銀行三家協(xié)作完成,SSL協(xié)議并不能協(xié)調各方間的安全傳輸和信任關系。
三、SET協(xié)議
為了實現(xiàn)更加完善的電子交易,MasterCard和Visa聯(lián)合其他一些業(yè)界主流廠商聯(lián)合推出了一種規(guī)范,用來保證在公共網(wǎng)絡上銀行卡支付交易的安全性,從而發(fā)布了SET 協(xié)議。采用SET 協(xié)議進行網(wǎng)上電子交易支付時,主要涉及持卡人、商家、支付網(wǎng)關、發(fā)卡者、支付者和CA 認證共六方:持卡人是發(fā)行者發(fā)行的支付卡的授權持有者;發(fā)卡者是指發(fā)行信用卡給持卡者的金融機構;商家是有貨物或服務出售給持卡人的個人或組織;支付者是指商家開設帳號所在的金融機構;支付網(wǎng)關實現(xiàn)對支付信息從Internet到銀行內部網(wǎng)絡的轉換,用來處理商家支付報文和持卡人的支付指令,并對商家和持卡人進行認證;證書權威CA是為持卡人商家和支付網(wǎng)關發(fā)行X.509數(shù)字證書的可信實體。
SET協(xié)議提供了電子交易中信息的機密性、數(shù)據(jù)的完整性、持卡人帳戶的身份驗證和商家身份驗證。
1.信息的機密性
當持卡人的帳戶和支付信息在網(wǎng)絡上傳輸時,要確保其安全。SET的一個重要特點是,它可以防止商家知道持卡人的信用卡帳戶,它只提供給發(fā)出的銀行??梢允褂肈ES等算法加密來確保機密性。
2.數(shù)據(jù)的完整性
從持卡人發(fā)送給商家的支付信息包括訂購信息、個人數(shù)據(jù)和支付說明。SET必須保證這些消息的內容在傳輸時不進行改變。利用SHA-1哈希碼的RSA數(shù)字簽名提供了消息的完整性。
3.持卡人帳戶的身份驗證
SET授權商家驗證持卡人是否是正確信用卡帳戶的合法用戶。SET使用X..509v3數(shù)字證書和RSA實現(xiàn)這一目的。
4.商家身份驗證
SET授權持卡人驗證商家是否可以接收與其有關的金融組織。SET使用X.509v3數(shù)字證書和RSA實現(xiàn)這一目的。
5.SET的局限性
SET協(xié)議僅解決了支付信息的認證,沒有解決交易中證據(jù)的生成和保留,因此,不能為交易保留法律性的依據(jù);SET協(xié)議中沒有對交易過程作狀態(tài)描述,這可能使顧客或商家對交易的狀態(tài)難以把握。
四、結論
SSL協(xié)議和SET協(xié)議各有優(yōu)缺點,都不是理想的電子商務協(xié)議。為了電子商務更加蓬勃地發(fā)展,
必須在深入剖析SSL協(xié)議和SET協(xié)議的基礎上,開發(fā)一種新的安全支付協(xié)議,以適應信用卡、電子現(xiàn)金、電子支票等多種交易方式。
參考文獻:
[1]尹存燕謝俊元:一個公平、有效的安全電子交易協(xié)議[J].計算機應用研究,2002,01
[2]William Stallings.網(wǎng)絡安全要素——應用與標準[M].人民郵電出版社,2000,11