[摘要] SET(Secure Electronic Transaction,安全電子交易)協議對電子交易的各方進行嚴格的身份認證,對交易信息進行加密,能夠確保電子商務的安全,是安全電子商務的理想實現形式。本文主要對SET系統的組成、關鍵技術以及交易流程進行了詳細的論述,并進行了安全性分析。
[關鍵詞] 電子商務SETCA數字簽名數字信封數字證書
電子商務是指企業通過企業內部網、外部網以及Internet與企業的職員、客戶、供銷商以及合作伙伴按照一定的標準開展的商務活動。電子商務是建立在計算機網絡系統的基礎上的,要保證其安全性,就必須保證信息流和資金流的安全傳輸,以及在網上交易時使用的安全的身份認證體系。
SET是一個在Internet上實現安全電子交易的國際協議和標準,是以信用卡支付為基礎的網上電子支付系統規范,它使用加密算法來保證數據的保密性,使用HASH算法來保證數據的完整性,使用數字簽名來實現身份認證和防抵賴。SET是安全電子商務發展的方向。
一、安全電子商務系統結構
SET系統實際上是一個支付系統,它主要由持卡人、商家、發卡行、收單行、支付網關以及認證機構六個部分組成。其基本構成如圖所示:
持卡人是指使用信用卡或借記卡進行網上消費的客戶。他要成為網上交易的消費者的前提是:向發卡行申請到銀行卡,并且需要認證機構CA發給數字證書。持卡人通過電子錢包來進行網上交易。電子錢包具有發送/接收信息、存儲密鑰、進行認證、更改密碼等功能。
商家是網上交易的經營者。商家要進行網上經營活動,他必須由收單行進行審定和信用評估,開設帳戶,然后由收單行所委托的CA發給數字證書。商家的網上經營活動需要具有與持卡人交易、與支付網關通訊、進行相關認證以及存儲密鑰的應用軟件支持。
發卡行是持卡人申請銀行卡的銀行,它給持卡人提供支付工具以及銀行信用。
收單行是商家開設帳戶的銀行,進行網上交易后,商家的經營收入應該劃拔到收單行上商家的帳戶上。收單行負責處理支付授權的請求以及銀行之間的結算。
認證機構即CA是負責確認電子商務活動中各方的資信狀況的第三方中立組織,它通過給合法用戶發放數字證書來確認身份,保證電子商務的安全。
支付網關是為了保護電子商務中的銀行數據安全而設的,是Internet與銀行專用網之間的接口,電子商務活動中所發生的支付信息通過支付網關進入到銀行專用網系統,完成銀行間的結算。支付網關的安全性至關重要。
二、SET關鍵技術
SET協議要保證網上交易的安全,需要對交易參與者進行身份認證,并且對交易信息進行加密保護。在整個交易過程中需要用到密碼算法技術,其中主要的有對稱密鑰算法、公鑰算法和HASH算法。
1.對稱算法:對稱算法是用同一個密鑰進行加、解密的算法。SET缺省使用的是分組算法中的DES算法。DES算法加解密速度快,但是不好實現密鑰的安全傳遞。
2.公鑰算法:公鑰算法使用兩個不同的密鑰對數據進行加、解密,在這兩個密鑰中,一個是對外公布的,稱為公鑰;另外一個是需要持有人安全保護的,稱為私鑰。用公鑰加密的數據只能用私鑰解密,而用私鑰加密的數據只能用公鑰進行解密。
公鑰算法的優點是密鑰的分發不用加密,但是其加解密速度慢,不適合大數據量加解密。SET中使用RSA算法。
3.HASH算法:HASH算法的主要目的是生成文件、消息等數據的摘要,以進行消息的身份驗證,保證數據的完整性。HASH函數需具有實用、不可預見和不可逆等特點。SET使用的HASH函數是SHA——1。
在以上三種關鍵技術的應用過程中,要用到數字簽名、數字信封和數字證書三個術語:
(1)數字簽名:把要發送的信息生成的摘要,用發送者的私鑰進行加密后形成數字簽名信息。發送者把數字簽名附在信息后面發送給對方,接收方得到原始信息后,用同樣的方法生成摘要,與使用發送者的公鑰解密后的摘要進行比較,如果一致,則可以確定信息是對方發送的,而且并沒有被篡改。
(2)數字信封:使用數字信封的主要目的是為了傳遞對稱算法的密鑰。當一方生成了隨機的對稱算法的密鑰后,用對方的公鑰進行加密,形成數字信封。接收方收到數字信封后,用自己的私鑰解密后得到對稱算法的密鑰,就可以用它進行數據的加解密運算了。
(3)數字證書:數字證書是證書使用者的“電子身份證”,它是由可信賴的第三方機構——CA頒發的,可以提供足夠的信息證明公鑰持有者身份的合法性的電子文件。數字證書內包含持有者的公鑰、詳細個人信息的摘要,以及頒發機構的數字簽名。
SET交易過程綜合運用了以上所述的技術,以保證交易過程中所有信息的保密性、完整性和可靠性。
此外,在SET交易流程的每一步,都需要用到證書對交易信息的來源進行驗證,所以證書管理對SET安全性是非常重要的。
三、SET交易流程
SET交易的流程主要包括持卡人注冊申請證書、商家注冊申請證書、購買請求、支付認證和獲取付款五個步驟。
1.持卡人注冊申請證書:持卡人在參加安全電子交易前,必須向CA申請數字證書來證明持卡人合法可信賴的身份。申請過程如下:
(1)持卡人啟動擁有的電子錢包,向CA發送請求,CA收到請求后,把自己的證書發給持卡人。
(2)持卡人收到CA的響應后,檢驗CA的有效性,然后保存有效的CA的證書。電子錢包產生注冊表請求信息,用隨機產生的對稱加密密鑰加密后,連同包含對稱密鑰以及持卡人賬號信息的數字信封發送給CA。
(3)CA獲得對稱密鑰以及賬號信息后,解密注冊表請求信息,把請求的發卡行注冊表信息以及CA證書發送給持卡人。
(4)持卡人驗證CA的有效性,然后進行以下工作:生成一對簽名密鑰,填寫注冊表;生成一個CA產生證書用的隨機數;對注冊表進行簽名;產生CA加密響應信息用的以及加密注冊信息用的對稱密鑰,并制作數字信封。把以上信息發送給CA。
(5)CA接收到信息后,獲得持卡人的注冊信息,與發卡行進行校驗,如果校驗正確,CA給持卡人發放證書。
(6)持卡人接收信息后,驗證CA的簽名信息,如果正確,則獲取證書并保存以用于進行網上電子交易。
2.商家注冊申請證書:商家要進行電子商務活動,同樣需要申請證書。商家申請證書的過程與持卡人的申請過程類似。
3.購買請求。
(1)持卡人給商家發送請求,商家為請求分配唯一交易標識號,并進行數字簽名,然后把響應信息以及商家和支付網關的證書發送給持卡人。
(2)持卡人驗證商家和網關的證書以及響應信息的簽名,產生訂單信息和支付命令,并進行雙重簽名,用隨機對稱密鑰進行加密,然后用支付網關的公鑰對持卡人賬號及對稱密鑰進行加密,把加密后的訂單信息和支付命令發給商家。
(3)商家驗證持卡人的證書,獲得訂單信息,并把支付命令傳給支付網關。商家給持卡人響應信息,并處理訂單服務。
(4)持卡人確認響應信息并保存。
4.支付認證:商家獲取訂單信息后,向支付網關確認持卡人具有支付能力后,向持卡人發貨。確認過程如下:
(1)商家產生授權請求,加密后連同持卡人的支付命令發送給支付網關。
(2)網關確認商家授權請求以及持卡人支付命令的有效性,再檢驗授權請求的交易號是否與支付命令中的一致,然后向發卡行發授權請求。網關給商家返回響應信息。
(3)商家確認網關身份,獲取響應信息,保存付款標志和授權響應。處理訂單。
5.獲取付款。
(1)商家給持卡人送貨,處理完訂單后,向支付網關發出支付請求,把來自網關授權響應信息中的付款標志加密后發送給支付網關。
(2)網關確認商家身份,確認付款請求和付款標志,并通過金融網絡向發卡行發出支付請求。金融網絡把貨款轉入收單行的商家帳戶。網關給商家返回付款響應。
(3)商家確認響應來源,保存響應信息以備對賬用。
從SET交易流程可以看到,SET在交易的每一個步驟都對信息的來源進行驗證,并進行加密保護,所以SET能夠很好地保證電子交易的真實性、保密性、防抵賴性和不可更改性。
四、結束語
SET的高度安全性是建立在對交易各方的認證,以及對所有信息的加解密的基礎上的,因此它的實現需要龐大的軟硬件系統的支持,銀行、商家和客戶都需要投入資金、改造系統,所以SET的推廣應用還需要一個過程。
參考文獻:
[1]SET Secure Electronic Transaction Specification,MasterCard VISA
[2]《應用密碼學》,Bruce Schneier,機械工業出版社
[3]William Stallings:《網絡安全要素—應用與標準》,人民郵電出版社
[4]Andrew Nash等著:《公鑰基礎設施(PKI)實現和管理電子安全》,清華大學出版社
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。