□文/張 海
1、網(wǎng)上支付是電子支付的一種形式。廣義地講,網(wǎng)上支付指的是客戶、商家、網(wǎng)絡(luò)銀行(或第三方支付)之間使用安全電子手段,利用電子現(xiàn)金、銀行卡、電子支票等支付工具通過互聯(lián)網(wǎng)傳送到銀行或相應(yīng)的處理機構(gòu),從而完成支付的整個過程。
2、網(wǎng)上支付基本流程。①填寫訂單,加密交易信息、支付信息,發(fā)送到商家服務(wù)器;②審核交易信息,傳遞支付信息(加密)→支付網(wǎng)關(guān)→收單行;③收單行與開戶行對支付信息進行確認,返回授權(quán)響應(yīng)信息;④商家組織發(fā)貨;⑤開戶行與收單行資金劃撥清算,并返回支付成功信息。
保證支付工具的真實與識別該使用者的合法身份是金融業(yè)在網(wǎng)絡(luò)環(huán)境下實現(xiàn)網(wǎng)上支付所面臨的問題。解決這一問題的關(guān)鍵是使用安全的網(wǎng)上支付模式,SSL和SET是目前實現(xiàn)安全電子支付的兩種主要模式。目前,基于SSL安全協(xié)議的信用卡支付模式得到廣泛發(fā)展,而SET模式并未普及,故本文圍繞SSL網(wǎng)上支付模式展開研究。
1、SSL協(xié)議及相關(guān)概念
(1)SSL安全套接層協(xié)議。SSL協(xié)議是Netscape公司于1994年提出的一個關(guān)注互聯(lián)網(wǎng)信息安全的信息加密傳輸協(xié)議,其目的是為客戶端(瀏覽器)到服務(wù)器端之間的信息傳輸構(gòu)建一個加密通道,此協(xié)議是與操作系統(tǒng)和Web服務(wù)器無關(guān)。
SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL協(xié)議可分為兩層:SSL記錄協(xié)議:它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。SSL握手協(xié)議:它建立在SSL記錄協(xié)議之上,用于在實際的數(shù)據(jù)傳輸開始前,通訊雙方進行身份認證、協(xié)商加密算法、交換加密密鑰等。
(2)HTTPS安全超文本傳輸協(xié)議。HTTP提供了一種非常適宜使用SSL來保護其安全的特性。它是第一個使用SSL的協(xié)議,到目前為止仍然是最重要的使用SSL來保護其安全的協(xié)議。在 1995年,Netscape公司發(fā)布的NetscapeNavigotor2中公開發(fā)表了SSL上的HTTP實現(xiàn),當時是采用的獨立端口策略。為了將其與HTTPURL區(qū)分開來,SSL上的HTTP用來獲取頁面的URL以HTTPS://開頭,這種方案就成為HTTPS名稱的來由。
2、SSL協(xié)議工作原理
(1)客戶端向服務(wù)器發(fā)送一個開始信息以便開始一個新的會話連接,協(xié)商傳送加密算法。舉例說明:你好,服務(wù)器。我想和你進行安全對話,我的對稱加密算法有DES、RC5,我的密鑰交換算法有RSA和DH,摘要算法有MD5和SHA。
(2)服務(wù)器根據(jù)客戶的信息確定是否需要生成新的主密鑰,如需要則服務(wù)器在響應(yīng)客戶的信息時將包含生成主密鑰所需的信息,并發(fā)送服務(wù)器數(shù)字證書。舉例說明:你好,客戶端。那我們就使用DES-RSA-SHA這對組合進行通訊,為了證明我確實是服務(wù)器,現(xiàn)在發(fā)送我的數(shù)字證書給你,你可以驗證我的身份。
(3)客戶根據(jù)收到的服務(wù)器響應(yīng)信息,檢查服務(wù)器的數(shù)字證書是否正確,通過CA機構(gòu)頒發(fā)的證書驗證了服務(wù)器證書的真實有效性后,產(chǎn)生一個主密鑰,并用服務(wù)器的公開密鑰加密后傳給服務(wù)器。舉例說明:服務(wù)器,我已經(jīng)確認了你的身份,現(xiàn)在將我們本次通訊中的密鑰發(fā)送給你。
(4)服務(wù)器恢復(fù)該主密鑰,并返回給客戶一個用主密鑰認證的信息,以此讓客戶認證服務(wù)器。舉例說明:客戶端,我已經(jīng)獲取了密鑰。我們可以開始通信了。
一般情況下,當客戶端是保密信息的傳遞者時,不需要數(shù)字證書驗證自己身份的真實性,如電子銀行的應(yīng)用,客戶需要將自己的賬號和密碼發(fā)送給銀行,因此銀行的服務(wù)器需要安裝數(shù)字證書來表明自己身份的有效性。在某些B2B應(yīng)用,服務(wù)器端也需要對客戶端的身份進行驗證,這時客戶端也需要安裝數(shù)字證書以保證通訊時服務(wù)器可以辨別出客戶端的身份,驗證過程類似于服務(wù)器身份的驗證過程。
3、SSL協(xié)議工作層次。隨著電子商務(wù)的不斷發(fā)展,SSL協(xié)議得到了越來越廣泛的使用。SSL協(xié)議是介于HTTP協(xié)議與TCP之間的一個可選層,從上至下分別為 HTTP、SSL、TCP、IP層。安全連接的建立要求在連接建立以后再次進行握手。即在“著名的TCP/IP三次握手”以后再次利用證書來握手。
4、SSL協(xié)議介入特征。當在瀏覽器的地址欄的開頭是HTTPS而不是HTTP,在瀏覽器的右下角有一把鎖,說明已經(jīng)建立起SSL加密通道。訪問過程中HTTP層首先將請求轉(zhuǎn)換成HTTP請求,然后SSL層通過TCP和IP層實現(xiàn)瀏覽器和服務(wù)器握手(HANDSHAKE),服務(wù)器層獲得密鑰,最后TCP層與服務(wù)器之間建立了加密通道,實現(xiàn)了雙方安全交換信息的目的。
1、初級信用卡在線支付SSL模式工作流程。①客戶開設(shè)信用卡賬戶;②填寫訂單信息,選擇信用卡支付,將訂單信息+支付信息→商家服務(wù)器;③商家服務(wù)器返回訂單ID→客戶端,由支付網(wǎng)關(guān)傳遞支付信息→客戶發(fā)卡行;④發(fā)卡行在客戶端瀏覽器彈出頁面,SSL協(xié)議介入;⑤客戶端與發(fā)卡行通過數(shù)字證書相互驗證身份;⑥進行SSL握手協(xié)議,建立安全信道;⑦客戶端瀏覽器出現(xiàn)支付頁面,輸入密碼;⑧確認支付后,提示離開SSL安全連接,SSL介入結(jié)束;⑨發(fā)卡行傳送支付確認信息→商家服務(wù)器,商家組織發(fā)貨;⑩發(fā)卡行與商家開戶行進行資金清算。
初級SSL支付模式存在兩個主要缺陷,其分別是:①客戶的支付信息將被商家所獲知;②缺少商家對客戶的身份驗證。基于上述兩種原因,改良式的SSL信用卡支付模式應(yīng)運而生,在這一模式中,商家生成的訂單信息將經(jīng)由客戶端瀏覽器轉(zhuǎn)發(fā)到發(fā)卡行的支付網(wǎng)關(guān)進行支付,有效地避免了原SSL模式下商家獲知客戶支付信息的缺點,其也是國內(nèi)各大商業(yè)銀行主要采用的模式。
2、改良在線支付SSL模式工作流程。①客戶開設(shè)信用卡賬戶;②填寫訂單信息→商家服務(wù)器;③商家服務(wù)器返回訂單信息(加密)+數(shù)字簽名→客戶端;④發(fā)卡行選擇是否驗證商家身份,確認訂單,經(jīng)由支付網(wǎng)關(guān)傳送訂單信息+支付信息發(fā)卡行服務(wù)器;⑤發(fā)卡行在客戶端瀏覽器自動彈出頁面,SSL協(xié)議介入;⑥客戶端與發(fā)卡行通過數(shù)字證書相互驗證身份,進行SSL握手協(xié)議,建立安全信道;⑦客戶端瀏覽器出現(xiàn)支付頁面,輸入密碼;⑧確認支付后,提示離開SSL安全連接,SSL介入結(jié)束;⑨發(fā)卡行傳送支付確認信息→商家服務(wù)器,商家組織發(fā)貨;⑩發(fā)卡行與商家開戶行進行資金清算。