沈洋
摘要:針對電子支付中的安全技術(shù),分析SET協(xié)議中的非對稱密碼算法RSA算法與DES數(shù)據(jù)加密算法,通過對算法的過程分析,驗證了RSA算法與DES數(shù)據(jù)加密算法是目前密碼體系中應(yīng)用于電子商務(wù)平臺中最安全的密碼算法。
關(guān)鍵詞:電子支付;SET協(xié)議;RSA;DES;3重DES
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)33-8085-03
1電子支付安全技術(shù)概述
電子支付是指電子交易的雙方(消費(fèi)者、廠商和金融機(jī)構(gòu)),采用安全電子支付手段,通過互聯(lián)網(wǎng)進(jìn)行的貨幣支付或資金流轉(zhuǎn)。電子支付是構(gòu)建電子商務(wù)系統(tǒng)的重要組成部分。電子支付的業(yè)務(wù)類型按電子支付指令發(fā)起方式分為網(wǎng)上支付、電話支付、移動支付、銷售點(diǎn)終端交易、自動柜員機(jī)交易和其他電子支付。
電子支付的本質(zhì)指交易雙方在網(wǎng)上發(fā)生的一種資金交換;通過計算機(jī)網(wǎng)絡(luò)系統(tǒng)以電子信息傳遞形式實現(xiàn)的流通和支付。近年來,國內(nèi)的電子商務(wù)活動劇增,在線支付等多種支付手段廣泛應(yīng)用,在線支付則是電子支付系統(tǒng)發(fā)展的更高形式,它使得電子支付可隨時隨地通過Internet或者通信網(wǎng)的手機(jī)銀行進(jìn)行直接的轉(zhuǎn)賬、結(jié)算,形成活躍的電子商務(wù)環(huán)境[1]。
電子商務(wù)的發(fā)展已經(jīng)帶動互聯(lián)網(wǎng)經(jīng)濟(jì)時代的到來,而電子支付是電子商務(wù)的整個商貿(mào)活動中非常重要的一個關(guān)鍵環(huán)節(jié),為電子商務(wù)活動的電子貨幣的安全性提供了業(yè)務(wù)過程安全保護(hù)。由此可見電子支付的安全是電子商務(wù)業(yè)務(wù)流程中的關(guān)鍵技術(shù),應(yīng)用的安全技術(shù)必須保證能夠無風(fēng)險的保障交易雙方的金融賬戶安全。
電子支付中有兩個重要的協(xié)議:SSL協(xié)議與SET協(xié)議。
1)SSL(SecureSocketsLayer,安全套接層協(xié)議)。SSL協(xié)議層包括兩個協(xié)議子層,SSL記錄協(xié)議與SSL握手協(xié)議。SSL記錄協(xié)議基本特點(diǎn)是連接是專用的和可靠的。SSL握手協(xié)議基本特點(diǎn)是能對通信雙方的身份的認(rèn)證、進(jìn)行協(xié)商的雙方的秘密是安全的、協(xié)商是可靠的。
2)SET(SecureElectronicTransaction,安全電子交易協(xié)議)。SET協(xié)議運(yùn)行的目標(biāo)包括保證信息在互聯(lián)網(wǎng)上安全傳輸、保證電子商務(wù)參與者信息的相互隔離、解決網(wǎng)上認(rèn)證問題、保證網(wǎng)上交易的實時性、規(guī)范協(xié)議和消息格式。SET所協(xié)議涉及的對象有消費(fèi)者、在線商店、收單銀行、電子貨幣發(fā)行機(jī)構(gòu)以及認(rèn)證中心(CA)[2]。
在每一種協(xié)議內(nèi)部都會有電子支付規(guī)定的動作,而完成這些規(guī)定動作最重要的安全保證就是密碼算法。SET協(xié)議確保了網(wǎng)上交易所要求的保密性、數(shù)據(jù)的完整性、交易的不可否認(rèn)性和交易的身份認(rèn)證。SET協(xié)議主要使用的技術(shù)包括:對稱密鑰加密、公鑰加密、Hash算法、數(shù)字簽名、數(shù)字信封以及數(shù)字證書等技術(shù)。SET通過使用公鑰和對稱密鑰方式加密,以保證數(shù)據(jù)的保密性;通過使用數(shù)字簽名、Hash算法和數(shù)字證書實現(xiàn)交易各方的身份認(rèn)證、數(shù)據(jù)的完整性和交易的不可否認(rèn)性。
在SET協(xié)議的數(shù)據(jù)加密機(jī)制中,應(yīng)用最廣泛的算法應(yīng)該是RSA公鑰密碼算法與DES數(shù)據(jù)加密算法,它們廣泛用于電子商務(wù)體系中,是安全性較高的密碼算法。
2SET協(xié)議的交易過程
SET交易過程中要對商家,客戶,支付網(wǎng)關(guān)等交易各方進(jìn)行身份認(rèn)證,因此它的交易過程相對復(fù)雜。
①持卡人通過瀏覽器選擇在線商店里自己需要的商品,放入購物籃。
②持卡人填寫訂單信息,并選擇支付方式。
③持卡人將訂單信息和支付信息發(fā)送給商家,這里訂單信息和支付指令由消費(fèi)者進(jìn)行數(shù)字簽名,同時利用雙重簽名技術(shù)保證商家看不到消費(fèi)者的賬號信息及銀行看不到消費(fèi)者的訂單信息。
④商家接受訂單量信息后,與支付網(wǎng)關(guān)進(jìn)行通信,請求授權(quán)認(rèn)證。
⑤支付網(wǎng)關(guān)通過收單銀行向持卡人的發(fā)卡銀行請求進(jìn)行支付確認(rèn)。
⑥發(fā)卡銀行同意支付,將確認(rèn)信息通過支付網(wǎng)關(guān)返回給商家。
⑦商家發(fā)送訂單確認(rèn)信息給持卡人,持卡人端軟件可記錄交易日志,以各將來查詢。
⑧商家發(fā)送貨物或提供服務(wù)。
⑨商家向持卡人的發(fā)卡銀行請求支付,即實現(xiàn)支付獲取、完成清算。在處理過程中,通信協(xié)議、請求信息的格式、數(shù)據(jù)類型的定義等,SET都有明確的規(guī)定。在操作的每一步,消費(fèi)者、商家、網(wǎng)關(guān)都通過CA來驗證通信主體的身份,以確保通信的對方不是冒名頂替[3]。
從上面的交易流程可以看出,SET交易過程十分復(fù)雜性,在完成一次SET協(xié)議交易過程中,需驗證電子證書9次,驗證數(shù)字簽名6次,傳遞證書7次,進(jìn)行簽名5次,4次對稱加密和非對稱加密。通常完成一個SET協(xié)議交易過程大約要花費(fèi)1.5-2分鐘甚至更長時間。由于各地網(wǎng)絡(luò)設(shè)施良莠不齊,因此,完成一個SET協(xié)議的交易過程可能需要耗費(fèi)更長的時間。但是安全性遠(yuǎn)遠(yuǎn)高于SSL協(xié)議。
3RSA公開密鑰密碼算法研究分析
3.1RSA密碼加解密算法工作過程
3.2RSA算法的安全性
RSA算法中公開的部分有N,e和公共信道上截獲的密文c。若通過這些量能夠算出明文或私有密鑰則RSA被破譯。下面討論一下可能的方法。
如果模N=pq被分解則不難求出Φ(N)=(p-1)(q-1),由de=1(modΦ(N))就可求出私有密鑰d,明文就可以被破譯。但因子分解是非常困難的,目前最快的算法時間復(fù)雜性為:exp(sqrt(ln(n)lnln(n)))
Rivest,Shamir和Adleman用已知最好的算法估計了分解n的時間與n的位數(shù)的關(guān)系,在運(yùn)算速度為每秒百萬次的計算機(jī)上分解二百位十進(jìn)制的數(shù)需要四億年。通過仔細(xì)選取p,q,e等參數(shù),除去分解N,目前還沒有更好的方法破譯RSA。但RSA算法并沒有被證明其破譯問題的難度等價與大整數(shù)分解問題。
隨著計算機(jī)速度的提高以及大數(shù)分解算法研究的進(jìn)步,被破譯的RSA的密鑰長度不斷增加,目前安全的RSA密鑰長度應(yīng)至少大于1024bit。它是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,廣泛應(yīng)用于密碼應(yīng)用技術(shù)中[4]。
4DES數(shù)據(jù)加密算法研究分析
DES(DataEncryptionStandard)是目前金融界廣泛使用的數(shù)據(jù)加密標(biāo)準(zhǔn),是由IBM公司在20世紀(jì)70年代中期開發(fā)的,由美國國家標(biāo)準(zhǔn)局(NBS)于1977年1月5日正式頒布,用做政府及商業(yè)部門的非機(jī)密數(shù)據(jù)的加密標(biāo)準(zhǔn)。DES是一種單鑰密碼算法,采用分組乘積密碼體制,使用多次移位和代替的混合運(yùn)算編制的密碼。DES設(shè)計非常巧妙,除了密鑰輸入順序之外,其加密和解密的步驟完全相同,這使得在制作DES芯片時,易于做到標(biāo)準(zhǔn)化和通用化。經(jīng)過許多專家學(xué)者的分析論證,證明DES是一種性能良好的數(shù)據(jù)加密算法,不僅隨機(jī)性好,線性復(fù)雜度高,而且易于實現(xiàn),因此,DES在國際上得到了廣泛的應(yīng)用。
DES是一種二元數(shù)據(jù)加密的分組算法,即對64位二進(jìn)制數(shù)據(jù)進(jìn)行分析加密,產(chǎn)生64位密文數(shù)據(jù)。其中,使用密鑰為64位,實際用了56位,另外8位用作奇偶校驗。加密的過程是先對64位明文分組進(jìn)行初始置換,然后分成左、右部分分別經(jīng)過16次迭代,再進(jìn)行循環(huán)移位與變換,最后進(jìn)行逆變換得到明文。其加密與解密使用相同的密鑰,因而屬于對稱密碼體制。
4.1DES密碼加解密算法工作過程
DES算法的入口參數(shù)有3個:Key,,Data和Mode。其中key為8個字節(jié)共64位,是DES算法的工作密鑰。Data也為8個字節(jié)64為,是要被加密或解密的數(shù)據(jù)。Mode為DES的工作方式由兩種:加密或解密。
如Mode為加密,則用key把數(shù)據(jù)Data進(jìn)行加密,生成Data的密碼形式(64位)作為DES的輸出結(jié)果;
若Mode為解密,則用key把密碼形式的數(shù)據(jù)Data解密,還原為Data的明碼形式(64位)作為DES的輸出結(jié)果
算法實現(xiàn)步驟如圖1DES算法流程圖,
實現(xiàn)加密需要3個步驟。
第一步:變換明文。對給定的64位的明文x.,首先通過一個置換IP表來重新排列x.,從而構(gòu)造出64位的x0,x0=IP(x)=L0R0,其中L0表示x0的前32位,R0表示x0的后32位。
第二步:按照規(guī)則迭代。規(guī)則為:
Li=Ri-1
Ri=Li⊕f(Ri-1,Ki) (i=1,2,3,…,16)
經(jīng)過第1步變換已經(jīng)得到L0和R0的值,其中符號⊕表示數(shù)學(xué)運(yùn)算“異或”,f表示一種置換,由s盒置換構(gòu)成,Ki是一些由密鑰編排函數(shù)產(chǎn)生的比特塊。F和Ki將在后面介紹。
第三步:對L16R16利用IP-1作逆置換,就得到了密文y0加密過程。
4.2DES的安全性
在DES成為標(biāo)準(zhǔn)的10來年時間里,其安全性是很高的。但隨著Internet的飛速發(fā)展,隨著計算機(jī)計算能力的顯著提高,加之DES只采用了64位的密鑰,因而國際上在DES的破譯方面已取得了突破性的進(jìn)展。
為了增加DES安全性,可以利用的方法就是加長密鑰的長度,采用多重DES加密技術(shù),將分組密碼進(jìn)行級聯(lián),在三組不同的密鑰作用下,連續(xù)多次對一組明文進(jìn)行加密。針對之前DES算法產(chǎn)生的問題,國際標(biāo)準(zhǔn)上采用3重DES加密算法。3重DES方法需要執(zhí)行3次常規(guī)的DES加密步驟,但最常用的3重DES算法中僅僅用兩個56位DES密鑰。通過多次的加密,增加了DES密碼的安全性,解決了因為密鑰的長度安全性低的問題。
5SET協(xié)議中RSA與DES組合加密技術(shù)
結(jié)合以上對RSA于DES的算法分析以及安全性的比較,兩者的算法各有其各自的優(yōu)缺點(diǎn),沒有任何一種密碼技術(shù)是絕對完美的,那么在SET協(xié)議中,根據(jù)電子支付的安全性要求,在數(shù)據(jù)傳輸中,數(shù)據(jù)本身大多數(shù)采用DES加密技術(shù),原因是加密速度快,算法容易實現(xiàn),可以滿足電子商務(wù)中對數(shù)據(jù)時效的要求,但是由于本身是對稱機(jī)密體制,密鑰的安全存在隱患,所以在密鑰的安全加密上,采用RSA技術(shù),RSA屬于非對稱加密機(jī)制,在網(wǎng)絡(luò)中便于密鑰的傳輸與管理,便于數(shù)字簽名,而且保證了數(shù)據(jù)的不可抵賴性[5]。
在電子支付安全系統(tǒng)中,SET協(xié)議的安全性較SSL高,SET協(xié)議在整個電子商務(wù)交易中,包括客戶到商家、商家到支付網(wǎng)關(guān)再到銀行都受到嚴(yán)密的保護(hù)。采用RSA和DES會有效地為其安全性增加了砝碼,當(dāng)然,密碼技術(shù)在不斷改進(jìn),新的安全威脅不斷產(chǎn)生,SET協(xié)議的安全機(jī)制會隨著網(wǎng)絡(luò)威脅以及密碼技術(shù)的改進(jìn)而進(jìn)行升級,例如采用嵌套加密技術(shù)的方案,無論是什么安全方案,都是在現(xiàn)有的RSA和DES算法基礎(chǔ)之上構(gòu)建接口,總之,只有深入研究SET協(xié)議中的安全算法,才能不斷該進(jìn)協(xié)議的安全性,進(jìn)而保障電子商務(wù)的支付安全。
參考文獻(xiàn):
[1]孫曉霞,吳亞明.非對稱RSA算法用于數(shù)據(jù)加密的相關(guān)技術(shù)探討[J].通化師范學(xué)院學(xué)報,2007(2):20-22.
[2]林德敬,林柏鋼.三大密碼體制:對稱密碼、公鑰密碼和量子密碼的理論與技術(shù)[J].電訊技術(shù),2003(3):6-12.
[3]馮登國.國內(nèi)外密碼學(xué)研究現(xiàn)狀及發(fā)展趨勢[J].通信學(xué)報,2002,23(5):18-26.
[4]王雪莉,高玉良.RSA公鑰密碼體制及其在SET協(xié)議中的應(yīng)用[J].信息安全與通信保密,2007(8):23-27.
[5]梁雪梅,盛紅巖,周熙.RSA算法體制研究[J].計算機(jī)安全,2006(12):26-28.