覃如賢
西南科技大學(xué)應(yīng)用技術(shù)學(xué)院 四川 621000
為了保障電子商務(wù)安全性,人們制定了各種安全協(xié)議,來規(guī)范在 Internet上的商務(wù)活動流程。典型的電子商務(wù)安全協(xié)議有SSL和SET。
SSL協(xié)議是基于 Web應(yīng)用的安全協(xié)議,該協(xié)議向基于TCP/IP的客戶/服務(wù)器應(yīng)用程序提供客戶端和服務(wù)器的鑒別、數(shù)據(jù)完整性及信息機密性等安全措施。通過在應(yīng)用程序進行數(shù)據(jù)交換前交換SSL初始握手信息,來實現(xiàn)安全性審查。在SSL握手信息中采用了DES、MD5等加密技術(shù)來實現(xiàn)機密性和數(shù)據(jù)完整性,并采用X.509的數(shù)字證書實現(xiàn)鑒別。
SSL提供如下安全服務(wù):
秘密性。SSL客戶機和服務(wù)器之間通過密碼算法和密鑰的協(xié)商,建立起安全通道。以后在安全通道中傳輸?shù)乃行畔⒍冀?jīng)過加密處理,網(wǎng)絡(luò)中的非法竊聽者所獲取的信息都將是無意義的密文。
完整性。SSL利用密碼算法和hash函數(shù),通過對傳輸信息特征值的提取來保證信息的完整性,確保要傳輸?shù)男畔⑷康竭_目的地,可避免服務(wù)器和客戶機間的信息內(nèi)容被破壞。
認證性。利用證書技術(shù)和可信的第三方 CA,可讓客戶機和服務(wù)器相互識別對方身份。為驗證證書持有者是合法用戶,SSL要求證書持有者在握手時相互交換數(shù)字證書,通過驗證來保證對方身份合法。
SSL分為兩層,一是握手層,二是記錄層。SSL握手協(xié)議描述建立安全連接的過程,在客戶和服務(wù)器傳送應(yīng)用層數(shù)據(jù)之前,完成諸如加密算法和會話密鑰的確定,通信雙方的身份驗證等功能;SSL記錄協(xié)議定義了數(shù)據(jù)傳送的格式,上層數(shù)據(jù)包括SSL握手協(xié)議建立安全連接時所需傳送的數(shù)據(jù)都通過 SSL記錄協(xié)議再往下層傳送。這樣,應(yīng)用層通過 SSL協(xié)議把數(shù)據(jù)傳給傳輸層時,已是被加密后的數(shù)據(jù),此時TCP/IP協(xié)議只需負責(zé)將其可靠地傳送到目的地,彌補了TCP/IP協(xié)議安全性較差的弱點。
SSL標(biāo)準解決以下幾個問題:
客戶對服務(wù)器的身份確認:SSL服務(wù)器允許客戶的瀏覽器,使用標(biāo)準的公鑰加密技術(shù)和一些可靠的認證中心(CA)的證書,來確認服務(wù)器的合法性(檢驗服務(wù)器的證書和ID的合法性)。對于用戶服務(wù)器身份的確認與否是非常重要的,因為客戶可能向服務(wù)器發(fā)送自己的信用卡密碼。
服務(wù)器對客戶的身份確認:容許SSL服務(wù)器確認客戶的身份,SSL協(xié)議容許客戶服務(wù)器的軟件通過公鑰技術(shù)和可信賴的證書,來確認客戶的身份(客戶的證書 client’s certificate)。
建立起服務(wù)器和客戶之間安全的數(shù)據(jù)通道:SSL要求客戶和服務(wù)器之間的所有的發(fā)送數(shù)據(jù)都被發(fā)送端加密,所有的接收數(shù)據(jù)都被接收端解密,這樣才能提供一個高水平的安全保證。同時SSL協(xié)議會在傳輸過程中解查數(shù)據(jù)是否被中途修改。
SSL協(xié)議存在的缺點:
(1)系統(tǒng)不符合中國國務(wù)院最新頒布的《商用密碼管理條例》中對商用密碼產(chǎn)品不得使用國外密碼算法的規(guī)定,要通過國家密碼管理委員會的審批會遇到相當(dāng)困難。
(2)系統(tǒng)安全性差。SSL協(xié)議的數(shù)據(jù)安全性其實就是建立在RSA等算法的安全性上,因此從本質(zhì)上來講,攻破RSA等算法就等同于攻破此協(xié)議。由于美國政府的出口限制,使得進入我國的實現(xiàn)了SSL的產(chǎn)品(Web瀏覽器和服務(wù)器)均只能提供512比特RSA公鑰、40比特對稱密鑰的加密。
但總的來講,SSL協(xié)議的安全性能是好的,而且隨著SSL協(xié)議的不斷改進,更多的安全性能好的加密算法被采用,邏輯上的缺陷被彌補,SSL協(xié)議的安全性能會不斷加強。
(1)瀏覽器發(fā)送一個連接請求給安全服務(wù)器。
(2)服務(wù)器將自己的證書,以及同證書相關(guān)的信息發(fā)送給客戶瀏覽器。
(3)客戶瀏覽器檢查服務(wù)器送過來的證書是否是由自己信賴的CA中心所簽發(fā)的。如果是,就繼續(xù)執(zhí)行協(xié)議;如果不是,客戶瀏覽器就給客戶一個警告消息:警告客戶這個證書不是可以信賴的,詢問客戶是否需要繼續(xù)。
(4)接著客戶瀏覽器比較證書里的消息,例如域名和公鑰,與服務(wù)器剛剛發(fā)送的相關(guān)消息是否一致,如果是一致的,客戶瀏覽器認可這個服務(wù)器的合法身份。
(5)服務(wù)器要求客戶發(fā)送客戶自己的證書。收到后,服務(wù)器驗證客戶的證書,如果沒有通過驗證,拒絕連接;如果通過驗證,服務(wù)器獲得用戶的公鑰。
(6)客戶瀏覽器告訴服務(wù)器自己所能夠支持的通訊對稱密碼方案。
(7)服務(wù)器從客戶送發(fā)送過來的密碼方案中,選擇一種加密程度最高的密碼方案,用客戶的公鑰加過密后通知瀏覽器。
(8)瀏覽器針對這個密碼方案,選擇一個通話密鑰,接著用服務(wù)器的公鑰加過密后發(fā)送給服務(wù)器。
(9)服務(wù)器接收到瀏覽器送過來的消息,用自己的私鑰解密,獲得通話密鑰。
(10)服務(wù)器,瀏覽器接下來的通訊都用是經(jīng)過對稱密碼方案,對稱密鑰加過密的。
上面所述的是雙向認證SSL協(xié)議的具體通訊過程,這種情況要求服務(wù)器和用戶雙方都有證書。單向認證SSL協(xié)議不需要客戶擁有CA證書,具體的過程相對于上面的敘述,只需將服務(wù)器端驗證客戶證書的過程去掉,以及在協(xié)商對稱密碼方案,對稱通話密鑰時,服務(wù)器發(fā)送給客戶的是沒有加過密的(這并不影響SSL過程的安全性)。
這樣,雙方具體的通訊內(nèi)容,就是加過密的數(shù)據(jù),如果有第三方攻擊,獲得的只是加密的數(shù)據(jù),第三方要獲得有用的信息,就需要對加密的數(shù)據(jù)進行解密,這時候的安全就依賴于密碼方案的安全。只要通訊密鑰長度足夠的長,就足夠的安全。
SET是進行在線交易的安全標(biāo)準,它采用公鑰密碼體制和X.509數(shù)字證書標(biāo)準,主要應(yīng)用于保障網(wǎng)上購物信息的安全性。
由于SET提供了消費者、商家和銀行之間的認證,確保了交易數(shù)據(jù)的機密性、真實性、完整性和交易的不可否認性,特別是保證不將消費者銀行卡號暴露給商家等優(yōu)點,它成為了目前公認的信用卡/借記卡的網(wǎng)上交易的國際安全標(biāo)準。
SET主要適用于因特網(wǎng)上的卡交易。SET交易雖然沒有傳統(tǒng)的面對面交易過程,但與傳統(tǒng)交易類似,也涉及到三種實體:持卡人;商戶;金融機構(gòu)。持卡人是通過自己的計算機,瀏覽到商戶建立在因特網(wǎng)上的網(wǎng)站,選購商品,然后通過金融機構(gòu)在網(wǎng)上的代表—支付網(wǎng)關(guān)進行支付。
SET要達到的目標(biāo)是:
(1)信息在公共因特網(wǎng)上安全傳輸,保證網(wǎng)上傳輸?shù)臄?shù)據(jù)不被黑客竊取。
(2)訂單信息和個人賬號信息隔離。在將包括持卡人賬號信息在內(nèi)的訂單送到商家時,商家只能看到訂貨信息,而看不到持卡人的賬戶信息。
(3)持卡人和商家相互認證,以確保交易各方的真實身份。通常,第三方機構(gòu)負責(zé)為在線交易的各方提供信用擔(dān)保。
(4)要求軟件遵循相同協(xié)議和消息格式,使不同廠家開發(fā)的軟件具有兼容性和互操作性,并且可以運行在不同的硬件和操作系統(tǒng)平臺上。
SET協(xié)議涉及的當(dāng)事人包括持卡人、發(fā)卡機構(gòu)、商家、銀行以及支付網(wǎng)關(guān)。他們在SET協(xié)議中扮演的角色各不相同(如圖1所示)。
圖1 SET系統(tǒng)中參與方之間的關(guān)系圖
一個較為簡單和完整的購物流程如下所述(如圖2)。
圖2 網(wǎng)上交易流程
(1)持卡人使用瀏覽器在商家的Web頁面上查看和瀏覽在線商品及目錄。
(2)持卡人選擇要購買的商品。
(3)持卡人填寫訂單,包括項目列表、價格、總價、運費、搬運費和稅費等。訂單可通過電子化方式從商家傳過來,或由持卡人的電子購物軟件建立。有些在線商店允許持卡人與商家協(xié)商物品的價格(例如出示老客戶證明或給出競爭對手的價格等)。
(4)持卡人選擇付款方式,此時SET開始介入。
(5)持卡人通過網(wǎng)絡(luò)發(fā)送給商家一個完整的訂單及要求付款的指令。在SET中,訂單和付款指令由持卡人進行數(shù)字簽名,同時,利用雙重簽名技術(shù)保證商家看不到持卡人的賬號信息。
(6)商家接受訂單,通過支付網(wǎng)關(guān)向持卡人的金融機構(gòu)請求支付認可。在銀行和發(fā)卡機構(gòu)確認和批準交易后,支付網(wǎng)關(guān)給商家返回確認信息。
(7)商家通過網(wǎng)絡(luò)給顧客發(fā)送訂單確認信息。客戶端軟件可記錄交易日志,以備將來查詢。
(8)商家為顧客配送貨物,完成訂購服務(wù)。
(9)商家可以立即請求銀行將錢從購物者的賬號轉(zhuǎn)移到商家賬號,也可以等到某一時間,請求成批劃賬處理。到此為止,一個購買過程結(jié)束。
在該購物過程中,前三步與 SET協(xié)議無關(guān),從第四步SET協(xié)議開始起作用。在處理過程中,SET對通信協(xié)議、請求信息格式、數(shù)據(jù)類型定義等都有明確的規(guī)定。同時,在操作的每一步,持卡人、商家、支付網(wǎng)關(guān)等都需要通過CA安全認證中心來驗證交易各方的身份,以確保對方不是冒名頂替。
(1)信息的機密性:SET系統(tǒng)中,敏感信息(如持卡人的賬戶和支付信息)是加密傳送的,不會被未經(jīng)許可的一方訪問。
(2)數(shù)據(jù)的完整性:通過數(shù)字簽名,保證在傳送者和接收者傳送消息期間,消息的內(nèi)容不會被修改。
(3)身份的驗證:通過使用證書和數(shù)字簽名,可為交易各方提供認證對方身份的依據(jù),即保證信息的真實性。
(4)交易的不可否認性:通過使用數(shù)字簽名,可以防止交易中的一方抵賴已發(fā)生的交易。
(5)互操作性:通過使用特定的協(xié)議和消息格式,SET系統(tǒng)可提供在不同的軟硬件平臺操作的同等能力。
在整個電子交易過程中,SET利用各種加密方法、數(shù)字簽名、證書認證等技術(shù)手段為網(wǎng)上交易的各方提供了最全面的保護,確保了電子交易的安全、有序的進行。
SET提供電子商務(wù)的特殊安全需要:支付信息和訂單信息的安全保密;使用數(shù)字簽名確保支付信息的完整性;使用數(shù)字簽名和消費者證書,進行消費者銀行的認證;使用數(shù)字簽名和商家證書,進行商家的認證;保證所有方事務(wù)的不可否認性。
從以下4個方面來比較SSL和SET的異同。
(1)認證機制:SET的安全要求較高,因此,所有參與SET交易的成員(持卡人、商家、支付網(wǎng)關(guān)等)都必須先申請數(shù)字證書來識別身份,而在SSL中只有商店端的服務(wù)器需要認證,客戶端認證則是有選擇性的。
(2)設(shè)置成本:持卡者希望申請SET交易,除了必須先申請數(shù)字證書之外,也必須在計算機上安裝符合SET規(guī)格的電子錢包軟件,而SSL交易則不需要另外安裝軟件。
(3)安全性:一般公認SET的安全性較SSL高,主要是因為整個交易過程中,包括持卡人到商店端、商店到付款轉(zhuǎn)接站再到銀行網(wǎng)絡(luò),都受到嚴密的保護,而SSL的安全范圍只限于持卡人到商店端的信息交換。
(4)基于Web的應(yīng)用:SET是為信用卡交易提供安全的,它更通用一些。然而,如果電子商務(wù)應(yīng)用只通過Web或是電子郵件,則可能并不需要SET。
SET從技術(shù)上和流程上都相對優(yōu)于 SSL,但并不表示SET會超過SSL也不會取代SSL,主要原因是SET成本高,互操作性差,實現(xiàn)過程復(fù)雜,還有待完善。
[1]關(guān)鐵軍.電子商務(wù)安全策略研究.北京郵電大學(xué)碩士論文. 2008.
[2]彭利軍.電子商務(wù)中的安全技術(shù),武漢理工大學(xué)碩士論文. 2006.
[3]項潤華.電子商務(wù)交易安全機制的研究.中南林學(xué)院碩士學(xué)位論文.2005.
[4]姚小兵.電子商務(wù)中SET協(xié)議分析與研究.網(wǎng)絡(luò)信息安全.2010.
[5]覃如賢.幾類危害網(wǎng)絡(luò)安全的 JAVA程序分析.綿陽經(jīng)濟技術(shù)高等??茖W(xué)校學(xué)報.2003.