侯進(jìn)
(天津工業(yè)大學(xué),天津 300385)
隨著Internet迅速流行,電子商務(wù)被公認(rèn)為是未來(lái)IT業(yè)新的增長(zhǎng)點(diǎn)。電子商務(wù)的一個(gè)核心問(wèn)題是支付,電子商務(wù)在安全高效的環(huán)境中運(yùn)行,是研究的關(guān)鍵。安全電子交易(SET)是由Visa和Mastercard公司聯(lián)合推出的基于信用卡在線支付的電子商務(wù)系統(tǒng)的安全協(xié)議。它不僅定義了電子協(xié)議,而且對(duì)證書(shū)的管理和交易處理過(guò)程等制定了嚴(yán)格的規(guī)定。它是許多電子支付手段中發(fā)展較完善、使用較廣泛的一種電子交易模式。研究SET協(xié)議,完善和改進(jìn)SET協(xié)議,對(duì)于促進(jìn)中國(guó)電子商務(wù)的發(fā)展,以及中國(guó)自主版權(quán)的軟件開(kāi)發(fā)都有著積極的作用。
SET協(xié)議在設(shè)計(jì)之初主要針對(duì)美國(guó)和歐美發(fā)達(dá)國(guó)家流行的信用卡,并在協(xié)議中詳細(xì)定義了美國(guó)的支付方式。而針對(duì)其他國(guó)家尤其是像中國(guó)這樣廣泛使用借記卡的國(guó)家,沒(méi)有定義出很好的解決辦法。
改進(jìn)方案:
原有的SET協(xié)議是基于信用卡交易來(lái)設(shè)計(jì)的,信用卡是主要支付工具。信用卡與借記卡主要區(qū)別是信用卡支持信用制度可以透支,借記卡透支要有上限額度限制,借記卡需要有PIN進(jìn)行身份鑒別。
SET1.0在設(shè)計(jì)時(shí)只考慮到支持信用卡業(yè)務(wù),現(xiàn)在為了使SET協(xié)議適應(yīng)中國(guó)國(guó)情支持借記卡,在不影響SET協(xié)議的通用性為前提下,需要對(duì)SET協(xié)議作一些修改。
SET1.0標(biāo)準(zhǔn)主要針對(duì)信用卡,只需要輸入主帳戶(hù)(PAN)信息,沒(méi)有定義個(gè)人密碼((PIN)的處理方法。在SET協(xié)議中,持卡者的身份是由持卡者的證書(shū)和支付卡的主帳戶(hù)PAN來(lái)保證的,而PIN應(yīng)該和PAN具有同等的安全要求,所以可以考慮對(duì)PIN使用與PAN相同的加密處理過(guò)程。
在線PIN加密機(jī)制是PIN通過(guò)鍵盤(pán)或其它設(shè)備輸入到持卡人的電腦中。PIN數(shù)據(jù)放在SET協(xié)議中RS A/OAEP塊中,采用支付網(wǎng)關(guān)公鑰和對(duì)稱(chēng)加密保護(hù),SET協(xié)議中加密的PIN首先通過(guò)商家傳到支付網(wǎng)關(guān),然后支付網(wǎng)關(guān)使用私鑰解開(kāi)信封,再用對(duì)稱(chēng)密鑰解出PIN數(shù)據(jù),如果需要,可以將PIN數(shù)據(jù)轉(zhuǎn)換為其它的PIN塊格式,采用對(duì)稱(chēng)密鑰重新加密,最后將重新加密的PIN數(shù)據(jù)發(fā)送到支付卡網(wǎng)絡(luò)。
個(gè)人密碼((PIN)的格式應(yīng)遵循IS09564-1 Format0,PIN塊使用8個(gè)字節(jié),格式化操作時(shí)將一個(gè)明文的PIN數(shù)據(jù)區(qū)和一個(gè)賬號(hào)號(hào)碼數(shù)據(jù)區(qū)進(jìn)行二進(jìn)制異或,異或的目的是為了增強(qiáng)PAN和PIN數(shù)據(jù)的關(guān)聯(lián)性,防止替換攻擊。
為了使持卡人知道某一張卡是否需要PIN需要在SET的證書(shū)中增加一個(gè)擴(kuò)展項(xiàng),來(lái)標(biāo)示是否要輸入PIN,同時(shí)可以使用id-set-PIN-Secure-Source和id-set-PIN-Any-Source的標(biāo)志位來(lái)區(qū)分是否需要使用安全的PIN輸入設(shè)備。
持卡人對(duì)PIN的處理過(guò)程:(1)用戶(hù)選擇了支付的卡后,持卡人軟件需要知道哪張支付卡要求在線PIN,通過(guò)該卡對(duì)應(yīng)證書(shū)的擴(kuò)展項(xiàng)來(lái)判斷該卡是否要求PIN輸入。如果需要,則利用輸入終端設(shè)備得到PIN,建立明文的PIN數(shù)據(jù)域。持卡人軟件不保存PIN,一旦PIN被加密,則必須清除內(nèi)存中的所有PIN明文信息;(2)建立帳號(hào)數(shù)據(jù)區(qū),異或明文的PIN數(shù)據(jù)和賬號(hào)數(shù)據(jù)區(qū)。用隨機(jī)生成的對(duì)稱(chēng)密鑰,加密異或后的PIN數(shù)據(jù)區(qū);(3)用支付網(wǎng)關(guān)的RSA公開(kāi)密鑰,加密對(duì)稱(chēng)密鑰。加密的PIN數(shù)據(jù)通過(guò)商家傳輸?shù)街Ц毒W(wǎng)關(guān),支付網(wǎng)關(guān)使用私鑰解密。
支付網(wǎng)關(guān)處理的過(guò)程如下:(1)執(zhí)行RSA/OAEP過(guò)程,使用支付網(wǎng)關(guān)私鑰解密,解開(kāi)對(duì)稱(chēng)加密密鑰;(2)用對(duì)稱(chēng)加密密鑰解密PIN加密數(shù)據(jù);。(3)重新建立PAN的數(shù)據(jù)區(qū),并與PIN數(shù)據(jù)塊異或,得到PIN;(4)根據(jù)需要將PIN數(shù)據(jù)經(jīng)過(guò)格式的轉(zhuǎn)換,送去銀行效驗(yàn)。
SET協(xié)議定義了支付過(guò)程的報(bào)文消息及數(shù)據(jù)定義,其規(guī)范的目標(biāo)是為了全球使用,所以考慮的因素主要是符合美國(guó)的支付方式,而對(duì)中國(guó)來(lái)講報(bào)文消息顯得太復(fù)雜,造成了SET應(yīng)用軟件設(shè)計(jì)復(fù)雜,價(jià)格高,造成了SET的普及率不高。
改進(jìn)方案:SET是一種基于信用卡支付的安全電子交易協(xié)議,交易之前,它要求持卡者、商家、支付網(wǎng)關(guān)等交易的參與方,均需安裝相應(yīng)的協(xié)議軟件,均需向CA申請(qǐng)屬于自己的數(shù)字證書(shū)。交易過(guò)程當(dāng)中,需要進(jìn)行多次證書(shū)的傳遞和驗(yàn)證,進(jìn)行多次加密、解密和數(shù)字簽名等。操作復(fù)雜,價(jià)格昂貴,運(yùn)行效率較低,不適合電子商務(wù)的發(fā)展需要。
雖然該設(shè)計(jì)是考慮到保證交易過(guò)程中的充分安全,但這樣的安全性,需要犧牲效率,付出高成本。對(duì)于相當(dāng)多的小規(guī)模交易來(lái)說(shuō),這樣的交易過(guò)程就太過(guò)復(fù)雜,開(kāi)銷(xiāo)過(guò)大,并且為每一個(gè)潛在的用戶(hù)都分發(fā)一個(gè)證書(shū)也不是很現(xiàn)實(shí),要求連接于Internet的計(jì)算機(jī)都安裝SET客戶(hù)端軟件也是不現(xiàn)實(shí)的。對(duì)于相當(dāng)多的客戶(hù)來(lái)說(shuō),都存在在沒(méi)有申請(qǐng)證書(shū)或者在未安裝SET客戶(hù)端軟件的計(jì)算機(jī)上購(gòu)物的情況。這些都阻礙了SET的發(fā)展。
這里提出對(duì)SET進(jìn)行安全分級(jí)處理。
安全分級(jí)處理就是說(shuō),在客戶(hù)進(jìn)行在線交易時(shí),增加一個(gè)安全級(jí)別選項(xiàng),SET的安全程度可以分為:A級(jí)、B級(jí)、C級(jí)、D級(jí)。客戶(hù)根據(jù)自己的情況選擇適合自己的交易級(jí)別。
1)A級(jí)為低級(jí)交易模式,適合于前面客戶(hù)沒(méi)有證書(shū)或者計(jì)算機(jī)SET客戶(hù)端軟件的情況,當(dāng)客戶(hù)選擇了該模式,則客戶(hù)與商家之間就省去相互認(rèn)證過(guò)程,商品信息也無(wú)需保密,這種模式,也適合小額交易。客戶(hù)的借記卡的PIN碼利用支付銀行的公鑰進(jìn)行加密,無(wú)需客戶(hù)和商家間的證書(shū)傳遞及相互認(rèn)證。只要保證商家和支付銀行之間的安全認(rèn)證就可以了,同時(shí)交易信息數(shù)據(jù)在交易完成后銷(xiāo)毀,不需要保存在檔案中心。
2)對(duì)于B級(jí)安全模式,則商家和客戶(hù)之間使用SSL連接,而商家與支付銀行之間SET連接。由于很多瀏覽器都內(nèi)置了SSL協(xié)議軟件,客戶(hù)端計(jì)算機(jī)就不需要安裝SET軟件,但客戶(hù)需要有自己的證書(shū),商家和客戶(hù)之間按照SSL的流程,對(duì)客戶(hù)是否為合法身份進(jìn)行驗(yàn)證。商家與支付銀行之間則按照SET交換信息。
3)C級(jí)安全模式,客戶(hù)、商家和支付銀行都使用SET協(xié)議進(jìn)行連接,客戶(hù)計(jì)算機(jī)必須安裝相應(yīng)的SET軟件,同樣也必須擁有自己的證書(shū)。
4)D級(jí)模式,在滿(mǎn)足C級(jí)安全模式所要求的條件之外,還需要按照正常的SET協(xié)議進(jìn)行,同時(shí)將各種數(shù)據(jù)信息備份保存在檔案中心。客戶(hù)如選擇D級(jí)服務(wù),這必須承擔(dān)相應(yīng)的費(fèi)用。
對(duì)交易規(guī)模分級(jí)的方式來(lái)減少SET協(xié)議對(duì)于小額交易的過(guò)大開(kāi)銷(xiāo),提高了效率,在于客戶(hù)訂購(gòu)商品時(shí)安全分級(jí)是一個(gè)必選項(xiàng)。這樣的辦法使客戶(hù)對(duì)所需要的安全性,有主動(dòng)權(quán),使相當(dāng)多的小額交易客戶(hù)在所有計(jì)算機(jī)終端都能進(jìn)行交易,提高了SET的適應(yīng)能力,便于該協(xié)議的進(jìn)一步普及。
本文針對(duì)SET協(xié)議對(duì)借記卡支持不足,提出了PIN碼加密的解決方案,使PIN與PAN具有相同的安全要求,使之也支持借記卡,針對(duì)其操作復(fù)雜、運(yùn)行效率低、適應(yīng)性差的缺點(diǎn),提出了SET協(xié)議的分級(jí)安全處理機(jī)制。提高了運(yùn)行效率,使之更加適應(yīng)國(guó)內(nèi)電子商務(wù)市場(chǎng)。
[1]任莉莉,歐玨.基于SET協(xié)議的網(wǎng)上支付安全探討[J].華北科技學(xué)院學(xué)報(bào),2009(2).
[2]李小薪.基于SET協(xié)議的電子商務(wù)安全系統(tǒng)的構(gòu)建和研究[J].2005.
[3]韓寶明,杜鵬,劉華.電子商務(wù)安全與支付[M].北京:人民郵電出版社,2003,27.