王娟
?
安全電子支付系統的設計與實現
王娟
(漳州職業技術學院 計算機工程系,福建 漳州 363000)
近年來,隨著信息技術的巨大發展和Internet的廣泛應用,電子商務以其低成本、高效率的特點,逐漸取代傳統的商務方式,成為新興的商務模式和理念,走進人們的生活。由于電子商務基于開放的Internet,不可避免地會受到各種各樣的攻擊和安全威脅,嚴重限制了電子商務的發展。基于支付系統的總體設計,重點闡述了其中關鍵功能模塊的實現,包括支付網關模塊、安全模塊、證書認證中心模塊。實際測試結果表明,安全電子支付系統除具備應有的基本功能外,在安全性方面得到了很大的提高,較好地保證了電子支付的安全性和擴展性。
電子商務;支付網關;安全電子交易協議
20世紀以來,Internet發展迅不可檔,為人與人之間的溝通提供了方便,但同時也帶來了商業模式的巨大變革,電子商務就是這場變革下的產物。
電子商務EC(Electronic Commerce)是指所有利用Internet、Intranet、Extranet進行的商業活動。它是一種新式的商業運作模式,在開放的網絡環境下,實現消費者通過網上訂購商品、實現與商家之間的網上交易并在線進行貨款的電子支付[1]。
隨著Internet的巨大發展,電子商務越來越被廣大用戶所了解和接受,越來越多的消費者選擇在網上進行商務活動。電子商務發展的前景十分美好,但是網上交易的安全性仍然是用戶最擔心的問題,也在很大程度上限制了電子商務的更大進步。在電子商務交易過程中,由于支付是完成電子商務的必要條件,且電子支付階段涉及到各種敏感數據,如銀行卡賬號,密碼等,網絡安全也重點體現在支付的安全方面,因此關于電子支付的安全問題也成為人們關注的焦點。要安全地完成電子商務交易,一個安全的電子支付系統是必不可少的組成部分。
電子支付過程中各交易參與者間傳遞的信息面臨的安全威脅,主要有信息被竊取、信息被篡改、身份被仿冒和交易行為被否認等。因此電子商務的安全性要求主要有信息的保密性、信息的完整性、交易者身份的確認性、不可否認性等。
(1) 信息保密性
電子商務的信息直接關系著個人、企業或國家的切身利益[2]。電子商務由于建立在開放的Internet環境中,交易過程中與支付有關的數據,如賬號、密碼等敏感信息,應該被嚴格保護,使數據不被未經授權的第三方竊取,即使被截獲,截獲者也無法得知數據內容,從而保護交易的私密性。一般通過密碼技術對傳輸的信息進行加密處理來實現。
(2) 信息完整性
保持交易各方信息的完整性是電子商務應用的基礎[3]。因此,網上交易的信息要防止被篡改,即要求發送者發出的數據要與接收者收到的數據相同,同時要防止數據傳送過程中信息的丟失和錯誤。一般可通過信息摘要的方式來保證信息的完整性。
(3) 信息真實性
電子商務的完整實現離不開信息的真實性。信息的真實性一方面是指網上交易雙方所提供信息內容的真實性;另一方面是指網上交易雙方身份的真實性,使交易的雙方即使相互不見面也能夠確認對方的身份,它是決定電子商務交易成敗的關鍵[4]。一般可通過認證機構和證書來實現。
(4) 不可抵賴性、不可否認性
對進行電子商務交易的交易雙方來說,一個很關鍵的問題就是確定進行交易的交易方正是交易所期望的交易方[5]。要在交易過程中為參與交易的個人或企業提供可信的判斷依據,確保交易無欺詐,即買方不能偽稱已經付款,賣方也不能偽稱付款沒有收到。一般可通過數字簽名來實現。
整個網上商店分為前臺和后臺兩部分:前臺是網上商店購物系統,整個購物系統實現了網上商店的基本功能,如產品簡介、購物車等。后臺是電子支付系統,是通過SET協議來實現網上支付的。
在SET協議中所涉及的交易參與者有:客戶、商家、CA、支付網關、客戶開戶行、商家開戶行。客戶、商家、CA和支付網關之間通過Internet相互連接,支付網關和開戶行之間通過銀行專用網絡相連。
為了實現支付系統以上五方面的功能,根據SET協議的電子商務支付流程,將電子商務支付系統主要分為三大功能模塊:支付網關模塊、安全模塊模塊、證書認證中心模塊。
支付網關模塊是為客戶、商家和銀行間交易支付信息提供安全傳輸通道,主要負責對客戶、商家與銀行間傳輸的消息進行處理,對客戶、商家和銀行進行身份認證,提供一個安全通道,用于進行消息的安全傳遞等。支付網關模塊又細分為消息處理、身份認證、消息傳輸三個子模塊。
安全模塊用來定義在SET系統中所用到的各種安全需求如何實現,包括對傳輸數據進行加密保護,如采用RSA、DES等加解密算法;對數據進行摘要,以保證數據完整性,如采用信息摘要算法MD5(Message Digest Algorithm),安全散列算法SHA-1(Secure Hash Algorithm)等哈希算法;要求交易各參與者對所發送的信息進行數字簽名,以防止抵賴行為的發生。將安全模塊作為一個獨立模塊進行設計,使SET具有更好的擴展性,因為可以隨時對安全模塊中所使用的技術進行更新或替換,而不會影響系統其它模塊的正常工作。安全模塊又分為加密解密、數據摘要、數字簽名三個子模塊。
CA模塊主要負責客戶和商家的數字證書申請,當證書快過了有效期時,提供證書更新功能,當證書中的私鑰泄露時,允許客戶和商家提交證書吊銷申請,作廢原來的證書,重新頒發一張新證書給客戶和商家,實現對用戶/商家所提供的數字證書進行驗證,驗證其是否過期、是否是合法CA頒發的數字證書等。CA模塊主要分為數字證書管理、數字證書驗證兩個子模塊。
支付網關是公共因特網和銀行專用網之間的中介,商家并不直接與銀行進行通信,而是將相關支付信息通過支付網關傳遞給銀行,從而完成貨款轉賬付款。支付網關主要功能是對客戶與商家間的交易消息進行處理和傳遞、對客戶和商家進行身份驗證等。
4.1.1 消息處理
支付網關傳遞支付信息的功能是通過請求響應消息對完成的。消息對在客戶和支付網關、客戶和商家、商家和支付網關間進行雙向處理和傳遞,從而完成一個交易。消息處理模塊的作用是保證它們之間的正常通信以及消息的安全傳遞。支付網關處理的消息對如圖1所示。
(1)AuthReq/AuthRes:商家支付授予請求與響應(取消授予請求與響應為AuthRevReq/AuthRevRes)。
(2)CapReq/CapRes:商家支付獲得請求和響應(取消支付獲得請求和響應為CredReq/CredRes)。

圖1 支付網關處理的消息對
4.1.2 身份認證
支付網關接收到商家發出的“支付授予”消息后,對消息的數字信封進行解密,得到商家證書,將該證書與商家注冊時存儲在支付網關的證書進行對比。若經過對比,確認商家證書還在有效期內,且是合法CA頒發的證書,則支付網關“打開”與商家之間的連接,兩者之間開始進行SET消息的交換。若支付網關經過對比,確認商家所發送的證書已過期,或者是偽造的證書,則支付網關“關閉”與商家之間的“認證”狀態。
4.1.3 消息傳遞
支付網關的消息傳遞模塊用來提供商家和支付網關、支付網關和銀行內部網之間的通信環境。由于TCP在會話中支持不同步通訊,可滿足網上多個交易同時進行的要求,因此采用TCP進行通訊。消息傳遞模塊工作流程主要分為三個階段:
(1)問候階段
當商家打開與支付網關之間的TCP連接,進入問候階段,此時支付網關開始對此連接進行監聽。支付網關向商家發出一個問候消息,表示支付網關已經準備好接收商家發送的數據。若商家在t時間內沒有對該問候消息做出響應,則支付網關關閉該連接;若商家及時做出響應,則進入下一階段,即認證階段。問候階段處理流程如圖2所示。
(2)認證階段
當支付網關接收到商家發出的問候消息的響應消息時,發出一個質詢,進入質詢認證階段。支付網關發出質詢后,等待商家返回認證消息,若超過時間t后沒有收到商家的認證消息,支付網關關閉與商家之間的連接;若及時收到商家認證消息,進入消息交換階段。認證處理階段流程如圖3所示。
(3)消息交換階段
商家通過支付網關的認證后,消息傳遞模塊轉為“連接”狀態,支付網關和商家之間開始進行SET消息的交換傳輸。

圖2 問候階段處理流程

圖3 認證處理階段流程
Microsoft Visual Studio.Net自帶的類可以實現對稱密鑰加密解密、公鑰加密解密、數字摘要和數字簽名/驗證等技術。這些類的調用簡單、便捷,容易實現。
4.2.1 加密解密
Microsoft Visual Studio.Net中的DES CryptoServiceProvider類能夠實現對稱加密技術,類中的CreateEncryptor方法通過兩個參數(Key,IV)來產生對稱密鑰,其中Key代表初始密鑰,IV代表初始化向量。如果沒有任何參數傳入其中,那么將使用默認的密鑰和IV,另外也可以通過傳入密鑰和一個IV到CreateEncryptor和CreateDecryptor中,則加密和解密將使用自定義的IV和密鑰,然后再由CryptoStream對信息進行加密操作。解密過程與之類似,使用CreateDecryptor產生對稱密鑰,再由CryptoStream對信息進行解密操作。
由于RSA是非對稱加密,所以分別由Microsoft Visual Studio.Net中的RSAPKCSIKeyExchangeFormatter和RSAPKCSIKeyExchangeDeformatter生成加密公鑰和解密私鑰,獲取公鑰后通過CreateKeyExchange對帳戶信息進行公鑰加密,傳送給支付網關后,再通過DecryptKeyExchange對用戶賬戶信息進行私鑰解密。由于RSA的加/解密鑰來源于支付網關數字證書的加/解密鑰,因此,保管好支付網關數字證書中的私鑰十分重要。
4.2.2 數據摘要
Microsoft Visual Studio.Net中的Hash算法由MD5CyptoServiceProvider類實現,該類中的ComputerHash方法將輸入的明文數據數組使用MD5進行Hash運算,返回加密后的密文數據數組。由于這些密文數據數組與原信息不存在任何的關系,且MD5是采用單向加密的加密算法,無法對加密以后的數據進行逆向解密,從而實現數字摘要技術。
4.2.3 數字簽名
進行數字簽名時,Microsoft Visual Studio.Net中的RSAPKCSISignatureFormatter類生成加密私鑰,然后再由CreateSignature生成數字簽名,以實現數字簽名技術。同理在對數字簽名進行驗證時,由RSAPKCSISignatureDeformatter類生成解密公鑰,再由VerifySignature對數字簽名進行驗證,并返回驗證信息。
CA是頒發數字證書和管理數字證書的受信任的第三方機構,包括數字證書管理器和數字證書驗證子模塊。數字證書管理器提供數字證書存儲及數字證書申請、更新、吊銷等各種管理操作,數字證書驗證對客戶/商家、支付網關上傳的數字證書進行存儲,提供有效性驗證并返回驗證結果。
(1) 客戶/商家登錄CA認證中心主頁面,輸入客戶名/商家名及開戶行賬號進行初始化登記。
(2) CA向支付網關驗證相關客戶名及賬號是否有效。
(3) 客戶/商家填寫數字證書申請注冊表。
(4) CA向支付網關驗證注冊信息是否屬實。
(5) 注冊信息驗證通過后,CA的數字證書管理器根據注冊表信息生成數字證書,并將證書發布到CA認證中心主頁面,允許客戶/商家下載,完成證書申請。
(6) 客戶/商家填寫數字證書更新/吊銷請求提交給CA,CA對請求進行加密保護后發送到數字證書管理器,數字證書管理器根據請求信息對原有的數字證書進行更新/吊銷。
[1] 徐芙蓉.網上支付支撐電子商務明天[J].電子商務技術,2002(3):7-8.
[2] 羅新星,江景佼,張軍.電子支付系統的安全性研究及其設計[J].武漢理工大學學報,2003(1):5-7.
[3] 楊斌,李玲瑤.電子商務支付系統及安全問題[J].福建電腦,2006(2):71-72.
[4] 陳平,陸海寧,傲青云.安全電子支付系統的實現研究[J].微型電腦應用,2003(19):11-12.
[5] 朱衛華.數據加密技術與安全電子交易淺析[J].計算機與信息技術,2000(10):15-16.
Design and Implementation of Electronic Payment System
WANG Juan
(Computer Department of Zhangzhou Technical Institute, Fujian Zhangzhou 363000,China)
In recent years, with the tremendous growth of information technology and the extensive use of Internet, e-commerce with its low-cost, high efficiency characteristics, gradually replacing the traditional business methods into a new business model and concept, into people's lives. As e-commerce bases on open Internet, will inevitably be subject to a variety of attacks and security threats, what restricts the development of electronic commerce. Payment system bases on the overall design, focusing on the realization of the key functional modules, including the payment gateway module, security module, certificate authentication module. Actual test results show that the secure electronic payment systems with the basic functions, in addition security has been greatly improved to better ensure the security of electronic payment and scalability.
Electronic Commerce; Payment Gateway; Secure Electronic Transaction Protocol
2011-05-15
王娟(1981—),女,福建漳州人,助教,碩士。
F713.363
A
1673-1417(2011)03-0006-05
(責任編輯:季平)