[摘要] 電子商務(wù)的實(shí)施,其關(guān)鍵是要保證整個(gè)商務(wù)過程中交易的安全性,其中,安全電子交易協(xié)議(SET)是實(shí)現(xiàn)安全交易的一項(xiàng)重要保障。本文展示了SET協(xié)議的工作流程,介紹了SET中采用的公開密鑰加密、雙重簽名、數(shù)字簽名、數(shù)字信封等主要技術(shù),并解析了這些技術(shù)實(shí)現(xiàn)安全電子交易的原理。
[關(guān)鍵詞] 電子商務(wù) 安全電子交易 數(shù)字信封 數(shù)字簽名
一、引言
隨著互聯(lián)網(wǎng)的普及,基于互聯(lián)網(wǎng)的電子商務(wù)得到了長足的發(fā)展,成為一種全新的商務(wù)模式,被許多經(jīng)濟(jì)專家認(rèn)為是新的經(jīng)濟(jì)增長點(diǎn)。但由于電子商務(wù)是以網(wǎng)絡(luò)為基礎(chǔ)的,而互聯(lián)網(wǎng)絡(luò)具有開放性和無時(shí)空性的特點(diǎn),使得電子商務(wù)交易平臺(tái)具有虛擬和匿名的特性,這就為網(wǎng)絡(luò)犯罪和電子欺詐提供了溫床,所以電子商務(wù)安全體系的構(gòu)建就顯得尤為重要。在電子商務(wù)安全體系中,電子商務(wù)安全協(xié)議是完成信息安全交換共同約定的邏輯操作規(guī)則,是保證網(wǎng)上交易的機(jī)密性、數(shù)據(jù)完整性、身份的合法性和抗否認(rèn)性的重要技術(shù),協(xié)議是否完備成為它能否提供安全保障的關(guān)鍵。
在這些電子商務(wù)安全協(xié)議中,SET(Secure Electronic Transaction)協(xié)議是Visa MasterCard聯(lián)合其他一些大公司一起推出的基于開放網(wǎng)絡(luò)的以信用卡為基礎(chǔ)的電子商務(wù)協(xié)議,這個(gè)協(xié)議得到了CET、IBM、Microsoft、Netscape等大公司的支持,獲得了長足的發(fā)展,進(jìn)入了實(shí)用性階段。
二、SET協(xié)議淺析
1.SET協(xié)議的描述
SET安全電子交易協(xié)議是一種基于消息流的協(xié)議,該協(xié)議主要是為了解決用戶、商家和銀行之間通過信用卡在線支付而設(shè)計(jì)的,以保證支付信息的機(jī)密、支付過程的完整、持卡人的合法身份以及可操作性。SET中的核心技術(shù)主要有公開密鑰加密、數(shù)字簽名、數(shù)字信封、數(shù)字證書等。SET協(xié)議的工作原理和流程如下圖所示:
2.SET協(xié)議中采用的安全技術(shù)
SET是在一些早期協(xié)議如MasterCard的SEPP以及VISA和Microsoft的STT的基礎(chǔ)上合并而成的,它定義了交易數(shù)據(jù)在卡用戶、商家、發(fā)卡行、收單行之間的流通過程,也定義了各種支持這些交易的安全功能(數(shù)字簽名、Hash算法、加密等)。
為了進(jìn)一步加強(qiáng)安全性,SET使用兩組密鑰對(duì)分別用于加密和簽名。SET不希望商家得到顧客的賬戶信息,同時(shí)也不希望銀行了解到交易內(nèi)容,但又要求能對(duì)每一筆單獨(dú)的交易進(jìn)行授權(quán)。通過雙簽名(dual signature)機(jī)制將訂購信息同賬戶信息鏈在一起簽名,SET巧妙地解決了這一矛盾。
SET將對(duì)稱密鑰的快速、低成本和非對(duì)稱密鑰的有效性完美地結(jié)合在一起??紤]網(wǎng)上商店的情況,對(duì)于成千上萬的消費(fèi)者和商家在INTERNET交換信息,要對(duì)每一個(gè)消費(fèi)者通過某個(gè)渠道發(fā)放一個(gè)密鑰,在現(xiàn)實(shí)中是不可取的。而用公開密鑰,商家生成一個(gè)公共密鑰對(duì),任何一個(gè)消費(fèi)者都可用商家公開發(fā)布的公鑰與商家進(jìn)行保密通信,具體介紹如下。
(1)數(shù)字信封,SET依靠密碼系統(tǒng)保證消息的可靠傳輸,在SET中,使用DES算法產(chǎn)生的對(duì)稱密鑰來加密數(shù)據(jù),然后,將此對(duì)稱密鑰用接收者的公鑰加密,稱為消息的“數(shù)字信封”,將其和數(shù)據(jù)一起送給接收者,接收者先用他的私鑰解密數(shù)字信封,得到對(duì)稱密鑰,然后使用對(duì)稱密鑰解開數(shù)據(jù)。
(2)數(shù)字簽名,由于公開密鑰和私有密鑰之間存在的數(shù)學(xué)關(guān)系,使用其中一個(gè)密鑰加密的數(shù)據(jù)只能用另一個(gè)密鑰解開。SET中使用RSA算法來實(shí)現(xiàn)。發(fā)送者用自己的私有密鑰加密數(shù)據(jù)傳給接收者,接收者用發(fā)送者的公鑰解開數(shù)據(jù)后,就可確定消息來自于誰,這就保證了發(fā)送者對(duì)所發(fā)信息不能抵賴。
(3)雙重簽名,為了保證消費(fèi)者的帳號(hào)等重要信息對(duì)商家隱蔽,SET中采用了雙重簽名技術(shù)。在交易中持卡人發(fā)往銀行的支付指令是通過商家轉(zhuǎn)發(fā)的,為了避免在交易的過程中商家竊取持卡人的信用卡信息,以及避免銀行跟蹤持卡人的行為,侵犯消費(fèi)者隱私,但同時(shí)又不能影響商家和銀行對(duì)持卡人所發(fā)信息的合理的驗(yàn)證,只有當(dāng)商家同意持卡人的購買請(qǐng)求后,才會(huì)讓銀行給商家負(fù)費(fèi),SET協(xié)議采用雙重簽名來解決這一問題。
3.SET協(xié)議主要特點(diǎn)
(1)信息的保密性。SET的一個(gè)重要特點(diǎn)是持卡人的信用卡號(hào)碼只提供給銀行,而商家無法知道信用卡號(hào)碼。SET利用DES密碼算法提供信息的保密性。
(2)數(shù)據(jù)完整性。從持卡人發(fā)往商家的支付信息包括訂購信息、個(gè)人數(shù)據(jù)及支付指令。SET引入RSA數(shù)字簽名及Sha-1雜湊函數(shù)確保這些消息的內(nèi)容在傳輸過程中不被非法更改。
(3)持卡人身份的鑒別。SET可以讓商家鑒別持卡人是有效信用卡賬號(hào)的合法用戶。SET采用X.509V3數(shù)字證書和RSA數(shù)字簽名達(dá)到這一目的。
(4)商家的鑒別。SET是持卡人可以鑒別商家真實(shí)性,而且可以驗(yàn)證商家能否接受信用卡支付。SET同樣采用X.509V3數(shù)字證書和RSA數(shù)字簽名實(shí)現(xiàn)這一功能。
4.SET協(xié)議的安全性分析與總結(jié)
SET協(xié)議主要通過使用密碼技術(shù)和數(shù)字證書方式來保證信息的機(jī)密性和安全性,它實(shí)現(xiàn)了電子交易的數(shù)據(jù)完整性、機(jī)密性、身份的合法性和不可否認(rèn)性。
數(shù)據(jù)完整性(Data Integrity) SET協(xié)議通過使用Hash函數(shù)來保證數(shù)據(jù)完整性。報(bào)文發(fā)送后,Hash函數(shù)將為之產(chǎn)生一個(gè)惟一的報(bào)文摘要值,一旦報(bào)文中包含的數(shù)據(jù)被篡改,該值就會(huì)改變,從而被檢測(cè)到,這樣就保證了信息的完整性。
機(jī)密性(Confidentiality)在SET協(xié)議下,客戶將支付信息PI和訂單信息OI進(jìn)行雙重簽名商家解密后得到OI,銀行解密后得到PI,從而避免了商家訪問客戶的支付信息。
身份驗(yàn)證(Verification Of Identity)身份認(rèn)證,是電子商務(wù)中非常重要的環(huán)節(jié),SET協(xié)議使用數(shù)字證書來確認(rèn)商家、持卡客戶、受卡行和支付網(wǎng)關(guān)的身份,為網(wǎng)上交易提供了一個(gè)完整的可信賴的環(huán)境。
不可否認(rèn)性(Non-repudiation of Disputed charges) SET協(xié)議中數(shù)字證書的發(fā)布過程也包含了商家和客戶在交易中存在的信息,因此,如果客戶發(fā)出了一個(gè)商品的訂單,在收到貨物后它不能否認(rèn)發(fā)出這個(gè)訂單,同樣,商家以后也不能否認(rèn)收到過這個(gè)訂單。
三、小結(jié)
SET協(xié)議位于網(wǎng)絡(luò)的應(yīng)用層中,安全性較好,是實(shí)現(xiàn)安全電子交易的重要保障,它規(guī)范了整個(gè)商務(wù)活動(dòng)的流程,制定了嚴(yán)格的加密和認(rèn)證標(biāo)準(zhǔn),已經(jīng)成為網(wǎng)上交易安全通信協(xié)定的產(chǎn)業(yè)標(biāo)準(zhǔn)。但也存在著一些缺陷,如SET涉及的交易參與主體較多,從而導(dǎo)致協(xié)議比較復(fù)雜,使用成本高,其安全性在某些方面還存在著一些缺陷,這些都是以后需要研究和改進(jìn)的地方。