楊茂云, 任世錦
(徐州師范大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 徐州 221116)
目前,信用卡、網(wǎng)上銀行的電子支付手段得到了廣泛的使用,然而由于其安全缺陷,每年都會(huì)發(fā)生許多針對(duì)信用卡和網(wǎng)上銀行的金融犯罪,對(duì)用戶造成了巨大損失,迫切需要安全高效的電子支付技術(shù)保護(hù)用戶的資金安全?;?SET的電子支付適用于大額支付,小額支付及微支付成本較高,基于 Hash鏈技術(shù)的電子支付適合于在線微支付[1],電子現(xiàn)金通過把現(xiàn)金數(shù)值、銀行等信息轉(zhuǎn)換成一串經(jīng)過加密處理的比特串來代替紙制貨幣,特別適合離線小額支付。用戶在開展電子現(xiàn)金業(yè)務(wù)的銀行開設(shè)電子現(xiàn)金帳戶、存錢并提取電子現(xiàn)金后就可以在接受電子現(xiàn)金的商家購(gòu)物。與其他支付方式相比,易復(fù)制是電子現(xiàn)金主要的缺點(diǎn),并且在電子現(xiàn)金的流通過程中,各方對(duì)電子現(xiàn)金有特殊的要求,用戶要求電子現(xiàn)金靈活方便安全,能夠保護(hù)個(gè)人隱私;商家和銀行要求能夠鑒別偽造的電子現(xiàn)金和重復(fù)使用的電子現(xiàn)金,金融監(jiān)管部門要求能夠追蹤電子現(xiàn)金的流動(dòng),便于打擊金融犯罪。為了滿足各方的要求一個(gè)實(shí)用的電子現(xiàn)金系統(tǒng)一般如圖 1所示。
基于現(xiàn)代密碼學(xué)技術(shù)已經(jīng)提出各種電子現(xiàn)金方案,在這些方案中,主要采用數(shù)字簽名技術(shù)防止客戶偽造電子現(xiàn)金,采用查詢存儲(chǔ)在銀行的已花費(fèi)的電子現(xiàn)金的數(shù)據(jù)來識(shí)別重復(fù)使用電子現(xiàn)金的用戶。基于素?cái)?shù)階群的表示[2]以及Schnorr型簽名[3]設(shè)計(jì)的 Brands方案[1]、Chan方案[4]和陳方案[5]是目前效率較高的電子現(xiàn)金方案。為了防止重復(fù)花費(fèi),這三個(gè)方案要求在銀行永久保存電子現(xiàn)金的信息,隨著用戶規(guī)模的擴(kuò)大,銀行需要保存的數(shù)據(jù)將是海量的,查詢銀行數(shù)據(jù)庫(kù)驗(yàn)證重復(fù)花費(fèi)用戶的效率會(huì)很低。Brands方案和Chan方案不能對(duì)電子現(xiàn)金進(jìn)行監(jiān)管,不能防止洗錢等金融犯罪,陳方案能夠?qū)﹄娮蝇F(xiàn)金進(jìn)行監(jiān)管。楊方案[6]給電子現(xiàn)金規(guī)定一個(gè)有效期,用戶只能使用有效期內(nèi)的電子現(xiàn)金。為防止重復(fù)花費(fèi)銀行只需要存儲(chǔ)有效期內(nèi)的電子現(xiàn)金數(shù)據(jù),可以有效地減少數(shù)據(jù)存儲(chǔ)量。為防止偽造,用戶不能更改電子現(xiàn)金的有效期只能到銀行更新過期的電子現(xiàn)金,把提取時(shí)間嵌入到電子現(xiàn)金以及銀行對(duì)電子現(xiàn)金的簽名中可以防止用戶更改有效期?;谒?cái)?shù)階群的表示、Schnorr型簽名以及圖 1的模型,設(shè)計(jì)了一個(gè)可追蹤離線電子現(xiàn)金系統(tǒng),該系統(tǒng)有效地解決了銀行的瓶頸問題,適合大規(guī)模應(yīng)用。
圖1 電子現(xiàn)金系統(tǒng)模型
銀行 B隨機(jī)產(chǎn)生一個(gè)生成重(g,g1,g2,g3)和一個(gè)秘密數(shù)以及兩個(gè)單向抗碰撞哈希函數(shù) H,H0:
IDs表示商店的識(shí)別號(hào),D/T表示商品交易的日期/時(shí)間。生成重,哈希函數(shù)及h,h1,h2,h3公開。銀行B建立兩個(gè)數(shù)據(jù)庫(kù):賬號(hào)數(shù)據(jù)庫(kù)(存儲(chǔ)用戶和商店的賬號(hào))、存儲(chǔ)數(shù)據(jù)庫(kù)(存儲(chǔ)已花掉的硬幣,存儲(chǔ)周期為硬幣有效期的兩倍)。
β表示電子硬幣的提取時(shí)間(用從某一時(shí)刻開始的天數(shù)表示,以下簡(jiǎn)稱為硬幣)。銀行 B對(duì)(A,B)的簽名Sig(A,B)是一個(gè)四重組(z,a,b,r)滿足:
這是一個(gè) Schnorr型簽名。用 A,B,A1,Sig(A,B)表示一個(gè)硬幣,A,B,A1在后面解釋。
用戶 U向銀行B證明他的身份,執(zhí)行下列協(xié)議:
用戶U和商店 S執(zhí)行下列協(xié)議:
①U消費(fèi)時(shí)將硬幣(A,B,A1,β,Sig(A,B)發(fā)送給商店 S。若硬幣在有效期內(nèi)且不在商家的數(shù)據(jù)庫(kù)中則繼續(xù),否則停止;
②如果 A≠1,S計(jì)算口令 d=H0(A,B,IDS,D/T)發(fā)送給U;
③U計(jì)算 r1=(dus+x1)modq,r2=(ds+x2)modq,將 r1,r2發(fā)送給 S。 S驗(yàn)證 Sig(A,B)=(z′,a′,b′,r′)是合法的簽名且證實(shí)銀行簽名和硬幣提取時(shí)間的真實(shí)性后接受硬幣否則不予接受,并把支付記錄(A,B,A1,β,Sig(A,B),r1,r2)(和交易日期時(shí)間存儲(chǔ)于數(shù)據(jù)庫(kù)中)。
商店定時(shí)將支付記錄和交易日期時(shí)間發(fā)送給 B,B驗(yàn)證硬幣在兩倍有效期內(nèi)后利用商店的IDS計(jì)算d,驗(yàn)證Sig(A,是合法的簽名且證實(shí)銀行簽名和交易日期時(shí)間的真實(shí)性后接受該支付記錄,然后B搜索存儲(chǔ)數(shù)據(jù)庫(kù),可能出現(xiàn)以下兩種情況:
①若 A不存在,則把(A,D/T,β,r1,r2)存儲(chǔ)于數(shù)據(jù)庫(kù)中,同時(shí)在S的賬戶中記入一個(gè)硬幣的貨幣值;
②若A存在,此時(shí)有兩種可能的偽造:若新提交的支付記錄、日期/時(shí)間與存儲(chǔ)數(shù)據(jù)庫(kù)中的日期/時(shí)間完全一致,則表明商店S試圖存儲(chǔ)第二次。若新提交的支付記錄、日期/時(shí)間與存儲(chǔ)數(shù)據(jù)庫(kù)的日期/時(shí)間不一致,則表明用戶 U重復(fù)花費(fèi)該硬幣。銀行B利用新得到(r1,r2)和存儲(chǔ)數(shù)據(jù)庫(kù)中的計(jì)算銀行 B可以得到重復(fù)花費(fèi)用戶的賬號(hào)。是重復(fù)花費(fèi)的證據(jù)。
顧客可以在有效期到期前把沒有花費(fèi)的硬幣還給銀行,用戶U和銀行B執(zhí)行下列協(xié)議:
①U將硬幣(A,B,A1,β,Sig(A,B))發(fā)送給銀行 B,若硬幣在有效期內(nèi)則繼續(xù)否則停止,如果A≠1,B計(jì)算口令 d=H0(A,B,IDB,D/T)發(fā)送給 U;
①委托人與銀行合作,在用戶支付某一硬幣時(shí)能夠識(shí)別該硬幣。具體過程如下:銀行向委托人提供 A′2,委托人計(jì)算銀行獲得 A1計(jì)算以 此證 明A1是正確的,銀行通過硬幣中的A1識(shí)別出該枚硬幣。此類跟蹤用于監(jiān)視敲詐、勒索等犯罪行為;
②委托人與銀行合作,能夠在商店存儲(chǔ)某一硬幣時(shí),追蹤該硬幣的所有者。具體過程如下:銀行向委托人提供A1,委托人計(jì)算:′銀行 驗(yàn)證以此證明 A′2是正確的,通過 A′2可以追蹤用戶的識(shí)別號(hào) I,此類跟蹤用于監(jiān)視洗黑錢等犯罪行為。
②在支付協(xié)議中,商店S通過驗(yàn)證簽名就可判定硬幣是否有效,硬幣提取日期是否有效,是否是銀行核發(fā)的硬幣;
③在商店存款協(xié)議中,銀行 B通過驗(yàn)證簽名就可判定硬幣是否有效,若用戶 U重復(fù)花費(fèi)該硬幣,銀行 B可以得到重復(fù)花費(fèi)用戶的賬號(hào)。
在安全性方面和陳方案一樣具有:①匿名性;②不可聯(lián)系性;③不可偽造性;④不依賴安全硬件;⑤可追蹤性。
在運(yùn)行效率方面與陳方案相比,硬幣長(zhǎng)度減少 20%;在提款協(xié)議中用戶U多兩個(gè)模指數(shù)運(yùn)算,銀行B多一個(gè)模指數(shù)運(yùn)算,但這三個(gè)運(yùn)算都可以預(yù)先處理;在支付協(xié)議中商店 S多一個(gè)模指數(shù)運(yùn)算,在存款協(xié)議中銀行B多一個(gè)模指數(shù)運(yùn)算,新方案并沒有增加太多的計(jì)算負(fù)擔(dān)。
在數(shù)據(jù)存儲(chǔ)和查詢效率方面與陳方案相比,如果以有效期 30天計(jì),銀行數(shù)據(jù)庫(kù)只需要存儲(chǔ) 60天的電子現(xiàn)金數(shù)據(jù),如果按提取現(xiàn)金的日期為索引進(jìn)行查詢,只需查詢存儲(chǔ)數(shù)據(jù)庫(kù)中的六十分之一數(shù)據(jù),有效減少了銀行存儲(chǔ)數(shù)據(jù)庫(kù)的規(guī)模,提高了銀行數(shù)據(jù)庫(kù)的查詢效率。
在使用方面與陳方案相比,增加了一個(gè)顧客硬幣更新協(xié)議,在一定程度上增加了用戶使用的不方便性。
[1]YANG M Y.Virtual Debit-Based Micro-Payment System NPAY[C].[s.l]:Communication Faculty,2009:317-321
[2]BRANDS S.Untraceable Off-Line Cash in Wallets with Observers[C].USA:Springer-Verlag,1993:302-318.
[3]SCHNORR C P.Efficient Signature Generation for Smart Cards[J].Journal of Cryptology,1991,4(03):161-174.
[4]CHAN A.FRANKEL Y,TSIOUNIS Y.Easy Come-Easy Go Divisible Cash[C].USA:Springer-Verlag,1998:561-575.
[5]陳愷.電子現(xiàn)金系統(tǒng)與公鑰基礎(chǔ)設(shè)施研究[D].西安:西安電子科技大學(xué),2001.
[6]楊茂云.Brands電子現(xiàn)金系統(tǒng)的改進(jìn)[J].通信技術(shù) 2010,43(07):112-117.