天天看點

基于SET協定的電子商務安全機制分析

本文發表于《資訊網絡安全》2006.10,歡迎轉載,請注明作者和期刊名。 基于SET協定的電子商務安全機制分析 張鑒 國家資訊中心網絡安全部   摘要:安全是電子商務發展的核心問題。本文分析了電子商務面臨的安全威脅和相應的安全需求,對目前最通用的安全交易标準SET協定的工作原理和流程、安全技術、及存在的缺陷進行了比較詳細的分析和闡述,對于促進電子商務安全機制的研究和開發具有一定的現實意義。 關鍵字:電子商務      安全       SET協定   一、引言          随着網際網路的普及和發展,傳統的商務活動也由傳統的面對面的交易模式向電子交易模式轉變。電子商務(electronic commerce,EC)是指交易各方通過電子方式進行的商業交易,包括了商務應用的各個方面。它以計算機網絡為構架,以交易雙方為主體,以銀行支付和結算為手段,以客戶資料庫為依托,是一種全新的商業模式。電子商務的出現極大地友善了商業企業之間、商業企業與消費者之間、消費者與消費者之間的交易,為消費者提供便捷、快速服務的同時,也增強了企業競争力,大大促進了經濟發展和社會進步。        但是由于電子商務是基于開放網絡環境下的商務形式,這也帶來了一系列的問題。開放程度越高,網絡安全及支付安全問題就越凸現出來。與網絡環境下的電子商務相對應的,就要有安全的支付方式去實作交易雙方的終極目的作為電子商務安全的核心問題之一,電子支付系統的安全更需要采取一些特殊的安全措施來加以保障,以求做到機密性、完整性、真實性和不可抵賴性等各個方面。   二、電子商務安全需求   2.1 電子商務面臨的安全威脅          電子商務安全中普遍存在着以下幾種安全威脅: 1)        竊取資訊:由于未采用加密措施,資料資訊在網絡上以明文形式傳送,入侵者在資料包經過的網關或路由器上可以截獲傳送的資訊。通過多次竊取和分析,可以找到資訊的規律和格式,進而得到傳輸資訊的内容,造成網上傳輸資訊洩密。 2)        篡改資訊:當入侵者掌握了資訊的格式和規律後,通過各種技術手段和方法,将網絡上傳送的資訊資料在中途修改,然後再發向目的地。 3)        假冒:由于掌握了資料的格式,并可以篡改通過的資訊,攻擊者可以冒充合法使用者發送假冒的資訊或者主動擷取資訊,而遠端使用者通常很難分辨。 4)        惡意破壞:由于攻擊者可以接入網絡,則可能對網絡中的資訊進行修改,掌握網上的機要資訊,甚至可以潛入網絡内部,其後果是非常嚴重的。   2.2 電子商務的安全需求          針對安全交易中所面臨的威脅,在電子商務中的安全需求包括以下方面: 1)        資訊的保密性。電子商務的資訊傳輸必須保證其不被非授權方直接擷取,加密的資訊不會被破譯。 2)        資訊的完整性。網上支付必須保證傳輸過程中資訊不被篡改、假冒、重發和丢失,保證目的資訊和源資訊的一緻性。 3)        交易雙方身份認證。通過認證中心CA,雙方或多方可以各自鑒别對方身份,保證資訊是由确定對象發出。 4)        交易的不可抵賴性。交易雙方的合約能夠保證在事後不可抵賴、不可否認,充分證明交易的發生。 5)        原子性要求。它包括錢原子性、物原子性和交易原子性(客戶得到的商品是他所訂購的,商家發出的商品是客戶所訂購的)。 6)        隐私保護性。確定交易者個人生活隐私、個人購買習慣和真實身份受到保護。 7)        交易的及時性。交易活動是在網上完成,這就要求交易者必須在恰當的時間完成交易,同時及時性是電子商務本身的要求。 8)        交易的可控性。交易發生的整個過程都是可控的,有明确的責權關系和互相制約關系,能夠切實保障各方利益不受損害。   三、安全電子交易協定——SET協定          目前,網上銀行的線上安全支付協定主要有兩種:SSL協定(安全套接層協定)和SET協定(安全電子交易協定)。SSL采用公鑰加密方法提供“會話級”的安全控制,它存在一些缺點:當資料由使用者到達商家,資料是否按安全方式存儲由商家一方決定;同時使用者無法确定買方是否是真正的持卡者,卡号可能在傳輸中被盜取;因沒有資料簽名,交易雙方可能抵賴。        SET(Secure Electronic Transaction,安全電子交易)協定是基于信用卡線上支付的電子商務系統的安全協定。SET是由Visa和MasterCard兩大信用卡公司聯合IBM,Microsoft,GTE,Verisign,SAIC等公司與1996年6月共同推出的以信用卡支付為基礎的電子商務安全協定。其中涵蓋了電子商務中的交易協定、資訊保密、資料完整、數字認證和數字簽名等,是目前公認的信用卡網上交易的國際标準。   3.1 SET協定工作原理和工作流程          SET協定的工作原理如圖1所示。

基于SET協定的電子商務安全機制分析

      它包括了5個主要的實體,即交易參與方:使用者,商家(電子商城/電子收銀台)、支付網關(收單行)、認證中心(CA)、發夾行。基于SET協定的交易購物流程如下:

1)        使用者在銀行開立信用卡賬戶,獲得信用卡 2)        使用者上網浏覽商家網站,標明所購貨物。 3)        商家系統喚醒使用者電子賬戶,進入安全電子購物過程。 4)        使用者電子賬戶請求并驗證商家證書、網關證書,如果驗證通過則向商家系統發送附有訂單指令(OI)和支付指令(PI)的購物請求。其中訂單和支付指令要有使用者的數字簽名并加密,使商家無法看到使用者的私人賬戶資訊 5)        商家系統接收使用者購物請求,驗證使用者證書,如果驗證通過則将使用者付款指令(PI)轉送網關系統。 6)        支付網關系統根據支付指令,通過金融網絡向發夾行驗證使用者賬戶餘額,完成支付授權。 7)        商家系統得到支付網關發回的響應,從中擷取支付令牌後傳回使用者購物請求,并發貨。 8)        使用者通過查詢請求,從商家得知“支付己授權”,等待貨物到達。 9)        商家系統在恰當的時機(因為業務是批處理的),使用支付令牌,向支付網關請求完成從使用者發夾行到商家收單行的劃款。 10)     支付網關得到商家的請款請求,驗證通過支付令牌, 11)     實作銀行劃款。   3.2 SET 協定安全技術分析          SET協定采用的核心技術包括X.509電子證書标準、數字簽名技術(Digital Signature)、封包摘要、數字信封、雙重簽名等技術,結合了對稱加密算法的快速、低成本和公鑰密碼算法的可靠性,有效的保證了在開放網絡上傳輸的個人資訊、交易資訊的安全。數字證書的使用使得交易各方之間身份的合法性驗證成為可能;使用數字簽名技術確定資料完整性和不可否認:使用雙重簽名技術對SET交易過程中客戶的賬戶資訊和定單資訊分别簽名,保證了客戶賬戶資訊和定單資訊的安全性。   3.2.1 采用公鑰加密和私鑰加密相結合的辦法保證資料的保密性          SET協定中,支付環境的資訊保密性是通過公鑰加密法和私鑰加密法相結合的算法來加密支付資訊而獲得的。它采用的公鑰加密算法是RSA的公鑰密碼體制,私鑰加密算法是采用DES資料加密标準。這兩種不同加密技術的結合應用在SET中被形象的稱為數字信封,RSA加密相當于用信封密封,消息首先以56位的DES密鑰加密,然後裝入使用1024位RSA公鑰加密的數字信封在交易雙方傳輸。這兩種密鑰相結合的辦法保證了交易中資料資訊的保密性。   3.2.2 采用資訊摘要技術保證資訊的完整性          SET協定是通過數字簽名方案來保證消息的完整性和進行消息源的認證的,數字簽名方案采用了與消息加密相同的加密原則。即數字簽名通過RSA加密算法結合生成資訊摘要,資訊摘要是消息通過HASH函數處理後得到的唯一對應于該消息的數值,消息中每改變一個資料位都會引起資訊摘要中大約一半的資料位的改變。而兩個不同的消息具有相同的資訊摘要的可能性及其微小,是以HASH函數的單向性使得從資訊摘要得出資訊的摘要的計算是不可行的。資訊摘要的這些特征保證了資訊的完整性。   3.2.3 采用基于PKI 的數字證書技術保證交易雙方的身份認證          1 、數字證書          在SET中,最主要的證書是使用者證書和商家證書。 1)        使用者證書:它實際上是支付卡的一種電子化的表示。由于它是由金融機構以數字化形式簽發的,是以不能随意改變。持卡人證書并不包括賬号和終止日期資訊,取而代之的是用單向雜湊演算法根據賬号、截止日期生成的一個碼,如果知道賬号、截止日期、密碼值,即可導出這個碼值,反之不行。 2)        商家證書:用來表示商店可以用什麼卡來結算。它是由金融機構簽發的,不能被第三方改變。在SET環境中,一個商家至少應有一對證書,與一個銀行打交道,一個商家也可以有多對證書,表示它與多個銀行有合作關系,可以接受多種付款方法。 3)        除了持卡人證書和商家證書以外,還有支付網關證書、銀行證書、發夾機構證書等。        數字證書的内部格式是由CCITT X..509國際标準所規定的,它包含了以下幾點: l         憑證擁有者的姓名; l         憑證擁有者的公共密鑰; l         公共密鑰的有效期; l         頒發數字憑證的機關; l         數字憑證的序列号。        2 、CA        CA的主要功能包括:接收注冊請求,處理、準許/拒絕請求,頒發證書。在實際運作中,CA也可由大家都信任的一方擔當,例如在客戶、商家、銀行三角關系中,客戶使用的是由某個銀行發的卡,而商家又與此銀行有業務關系(有賬号)。在此情況下,客戶和商家都信任該銀行,可由該銀行擔當CA角色,接收、處理客戶證書和商家證書的驗證請求。又例如,對商家自己發行的購物卡,則可由商家自己擔當CA角色。        3 、證書的樹形驗證結構        在雙方通信時,通過出示由某個CA簽發的證書來證明自己的身份,如果對簽發證書的CA本身不信任,則可驗證CA的身份,依次類推,一直到公認的權威CA處,就可确信證書的有效性。每一個證書與簽發證書的實體的簽名證書關聯。SET證書正是通過信任層次來逐級驗證的。例如,C的證書是由B的CA簽發的,而B的證書又是由A的CA簽發的,A是權威的機構,通常稱為根CA。驗證到了根CA處,就可确信C的證書是合法的。        在電子商務交易的實作中,持卡人的證書與發夾機構的證書關聯,而發夾機構證書通過不同品牌卡的證書連接配接到根CA,而根的公開密鑰對所有的SET軟體都是已知的,可以校驗每一個證書。   3.2.4 采用雙重簽名技術保證使用者隐私不被侵犯          SET協定中引入了一個重要革新:雙重簽名(Dual Signatures)技術。在一項安全電子商務交易中,持卡人的定購資訊和支付指令是互相對應的。商家隻有确認了對應于持卡人的支付指令對應的定購資訊才能夠按照定購資訊發貨;而銀行隻有确認了與該持卡人支付指令對應的定購資訊是真實可靠的才能夠按照商家的要求進行支付。為了達到商家在合法驗證持卡人支付指令和銀行在合法驗證持卡人訂購資訊的同時不會侵犯顧客的私人隐私這一目的,SET協定采用了雙重簽名技術來保證顧客的隐私不被侵犯。

       雙重簽名具體的實作方法是:首先生成兩條消息的摘要,将兩個摘要連接配接起來,生成一個新的摘要(稱為雙重簽名),然後用簽發者的私有密鑰加密,為了讓接收者驗證雙重簽名,還必須将另外一條消息的摘要一塊傳過去。這樣,任何一個消息的接收者都可以通過以下方法驗證消息的真實性:生成消息摘要,将它和另外一個消息摘要連接配接起來,生成新的摘要,如果它與解密後的雙重簽名相等,就可以确定消息是真實的。雙重簽名的構造如圖2所示:

基于SET協定的電子商務安全機制分析

3.2.5交易可控性保證

         交易過程中任何一個環節都是可控的,即使在交易的後續過程,仲裁機構、信用制度的建立也将各方的利益聯系起來,限制各方行為。   3.3 SET 協定的不足          安全可靠是SET協定最大的優點,但在實際應用中,SET協定依然存在以下不足: 1)        SET不支援商品的原子性。 2)        SET對抗抵賴性支援不夠。SET協定沒有解決交易過程中的證據保留問題,對交易後的資料的儲存和處理沒有說明。 3)        整個交易的流程太複雜,參加認證的實體太多,給程式設計帶來不便。 4)        SET協定中對交易過程沒有作狀态描述,使使用者或商家對交易的狀态難以把握。 5)        加密算法通常采用的是RSA算法,加密和解密時間複雜度比較大,進而使交易時間過長。   四、結束語          随着電子商務的發展,安全問題更加重要和突出,要想解決好這個問題,必須由相應安全機制和技術作為保障。作為目前公認的信用卡網上交易的國際标準,SET協定涵蓋了電子商務中的交易協定、資訊保密、資料完整、數字認證和數字簽名等各方面。本文分析了電子商務面臨的安全威脅和相應的安全需求,對SET協定的工作原理和流程、安全技術、及存在的缺陷進行了比較詳細的分析和闡述,對于促進電子商務安全機制的研究和開發具有一定的現實意義。   參考文獻   [1] 何長領.《電子商務交易》.北京:人民郵電出版社,2001. [2] 陳兵,王立松.《網絡安全與電子商務》.北京:清華大學出版社,2002. [3] Fourati A,Ben Ayed H K.A SET Based Approach to Secure the Payment in Mobile Commerce[C].Proceedings of the 27th Annual IEEE Conference on Local Computer Networks.2002. [4] 蔣忠仁.金融網絡中的SET技術[J].微計算機資訊,2005,9-3:24-26. [5] 王茂忠,張為群.一種基于SSL的電子商務安全交易模型.西南師範大學學報(自然科學版),2006,Vol31-3.