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