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