陳軼群
摘要: 本文在了解并分析國(guó)內(nèi)外的盲簽名技術(shù)應(yīng)用現(xiàn)狀和發(fā)展趨勢(shì),特別是基于身份的部分盲簽名技術(shù)方案的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了基于身份的在線電子現(xiàn)金系統(tǒng)。作者設(shè)計(jì)實(shí)現(xiàn)了在電子支付流程中3個(gè)身份主體(用戶(hù)、銀行、商家)間4個(gè)主要過(guò)程:開(kāi)戶(hù)注冊(cè)、提取現(xiàn)金、用戶(hù)消費(fèi)、銀行支付。最后對(duì)本文工作進(jìn)行了總結(jié)并展望系統(tǒng)的發(fā)展。
關(guān)鍵詞: 基于身份的密碼體制; 電子現(xiàn)金; 部分盲簽名
中圖分類(lèi)號(hào):TP309.7
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):2095-2163(2017)04-0027-04
0引言
電子現(xiàn)金(e-cash)是數(shù)字時(shí)代的產(chǎn)物,是真實(shí)現(xiàn)金的數(shù)字化模擬,具有真實(shí)世界中現(xiàn)金的一些特性。電子現(xiàn)金一般也假設(shè)了一個(gè)權(quán)威機(jī)構(gòu),該機(jī)構(gòu)負(fù)責(zé)把真實(shí)的貨幣和電子現(xiàn)金聯(lián)系起來(lái),或者單獨(dú)發(fā)行電子現(xiàn)金。因此有些電子現(xiàn)金系統(tǒng)中權(quán)威機(jī)構(gòu)每發(fā)行一筆電子現(xiàn)金給用戶(hù),還會(huì)從用戶(hù)的賬戶(hù)中扣除一部分真實(shí)貨幣,這樣保證了電子現(xiàn)金的發(fā)行不會(huì)干擾真實(shí)世界中紙幣的發(fā)行總量。在有些電子現(xiàn)金系統(tǒng)中,權(quán)威機(jī)構(gòu)是單獨(dú)發(fā)行電子現(xiàn)金的,這種電子現(xiàn)金不與真實(shí)的貨幣產(chǎn)生關(guān)聯(lián),而是作為一種獨(dú)立存在的貨幣形式,在考慮發(fā)行總量等因素時(shí),需要核算這一部分單獨(dú)發(fā)行的電子現(xiàn)金。
本文所研究的電子現(xiàn)金系統(tǒng),設(shè)有權(quán)威機(jī)構(gòu),且可以發(fā)行單獨(dú)的電子現(xiàn)金,也可以發(fā)行與真實(shí)貨幣相關(guān)聯(lián)的電子現(xiàn)金。采用盲簽名技術(shù)使得所發(fā)行的電子現(xiàn)金與用戶(hù)的身份沒(méi)有關(guān)聯(lián),能夠保護(hù)用戶(hù)的隱私。同時(shí)通過(guò)在線數(shù)據(jù)庫(kù)的查詢(xún)保證了電子現(xiàn)金不會(huì)被重復(fù)消費(fèi)。而部分盲簽名技術(shù)則幫助縮小了數(shù)據(jù)庫(kù)的規(guī)模。采用了基于身份的技術(shù)使得該系統(tǒng)的部署更為簡(jiǎn)單,不依賴(lài)公鑰基礎(chǔ)設(shè)施。
1在線電子現(xiàn)金系統(tǒng)
電子現(xiàn)金系統(tǒng)存在4個(gè)過(guò)程:注冊(cè)、提現(xiàn)、消費(fèi)、銀行支付。一般包含3個(gè)主體:用戶(hù)(U)、商家(M)和銀行(B),在有些電子現(xiàn)金系統(tǒng)中還存在一個(gè)可信第三方(T)。一個(gè)理想的電子現(xiàn)金系統(tǒng)應(yīng)具有以下的優(yōu)點(diǎn)[1]:
1)[JP3]匿名性。如同現(xiàn)實(shí)世界,現(xiàn)金的使用不泄漏用戶(hù)的身份。[JP]
2)不可偽造性。用戶(hù)不能偽造電子現(xiàn)金。
3)不可重復(fù)花費(fèi)性。電子現(xiàn)金只能使用一次,重復(fù)花費(fèi)將以很大的概率被發(fā)現(xiàn)。
4)可分性。電子現(xiàn)金可以分成數(shù)額更小的現(xiàn)金,但總金額保持不變。
5)不可聯(lián)結(jié)性。用戶(hù)不同的電子現(xiàn)金不能被聯(lián)接起來(lái)。
電子現(xiàn)金系統(tǒng)按照其交易的載體可分為:基于賬戶(hù)的電子現(xiàn)金系統(tǒng)和基于代金券的電子現(xiàn)金系統(tǒng)。前者類(lèi)似于支票、電話卡等,已經(jīng)普遍使用;后者類(lèi)似于普通的現(xiàn)金,由于其匿名性、安全性等各方面的原因尚未使用。
按花費(fèi)時(shí)商家是否與銀行進(jìn)行聯(lián)機(jī)驗(yàn)證可分為:在線的電子現(xiàn)金系統(tǒng)和離線的電子現(xiàn)金系統(tǒng)。由于在線系統(tǒng)在提取、消費(fèi)、銀行支付三個(gè)階段都需要和銀行進(jìn)行通信,銀行容易成為系統(tǒng)的瓶頸,降低系統(tǒng)的效率;而離線系統(tǒng)不需要銀行即時(shí)驗(yàn)證,所以可能存在多重花費(fèi)的問(wèn)題。
2基于身份的密碼體制及部分盲簽名
2.1基于身份的密碼體制
在傳統(tǒng)的基于證書(shū)的公鑰密碼系統(tǒng)中,當(dāng)用戶(hù)的數(shù)量很大時(shí),密鑰管理和撤銷(xiāo)工作將會(huì)非常復(fù)雜,并且需要大量的密鑰和證書(shū)存儲(chǔ)空間。為了簡(jiǎn)化PKI的密鑰管理程序,1984年,Shamir首次提出了基于身份的密碼體制思想。
基于身份的密碼系統(tǒng)總是包含有一個(gè)私鑰產(chǎn)生中心和許多用戶(hù)。私鑰產(chǎn)生中心PKG(Private Key Generator)是一個(gè)可信賴(lài)機(jī)構(gòu),負(fù)責(zé)對(duì)系統(tǒng)進(jìn)行初始化,用戶(hù)向其提交身份信息,PKG再返回用戶(hù)相應(yīng)的私鑰?;谏矸莸拿艽a系統(tǒng)的實(shí)質(zhì)就是選取用戶(hù)的身份信息,如電子郵件地址或郵政地址來(lái)充當(dāng)用戶(hù)的公鑰,換句話說(shuō),用戶(hù)的公鑰可直接由其對(duì)應(yīng)的身份信息計(jì)算出來(lái)。而只有PKG可以計(jì)算出用戶(hù)的私鑰。在這種體制下,用戶(hù)不再需要公鑰證書(shū)也不需事先驗(yàn)證通信方的公鑰的有效性,從而提高了系統(tǒng)的效率及系統(tǒng)的安全性。
基于身份的密碼體制可以通過(guò)橢圓曲線上的雙線性對(duì)來(lái)設(shè)計(jì)實(shí)現(xiàn)。下面給出雙線性對(duì)的數(shù)學(xué)定義和性質(zhì):
[JP2]假定G1是橢圓曲線上一個(gè)素?cái)?shù)q階循環(huán)加法群其成員為P,G2是一個(gè)q階循環(huán)乘法群。在集合G1和G2上的離散對(duì)數(shù)問(wèn)題是難解的。一個(gè)雙線性對(duì)是一個(gè)映射e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX]:G1×G1→G2且滿足以下3個(gè)基本屬性:[JP]
1)雙線性:對(duì)所有P,Q,R∈G1,e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](P+Q,R)=e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](P,R)e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](Q,R),并且e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](P,Q+R)=e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](P,Q)e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](P,R)。
2)非退化性:存在P,Q∈G1,使得e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](P,Q)≠1。
3)可計(jì)算性:對(duì)任給的P,Q∈G1,存在有效的算法計(jì)算e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](P,Q)。
2.2基于身份的部分盲簽名
基于身份的部分盲簽名方案包含一個(gè)可信的密鑰分發(fā)中心(PKG)、一個(gè)簽名人和一個(gè)接收方。接收方和簽名方就簽名的部分消息達(dá)成一致,允許接收方隱瞞另外一部分消息。簽名人只知道部分內(nèi)容的消息簽名。一個(gè)具體的部分盲簽名方案包含4個(gè)算法:參數(shù)設(shè)定(Setup)、密鑰生成(KeyGen)、分發(fā)(Issue)和驗(yàn)證(Verify)。其中分發(fā)算法是一個(gè)交互式協(xié)議,在簽名人和接收方之間運(yùn)行,包含額外4個(gè)子算法:協(xié)商(Agree)、盲化(Blind)、簽名(Sign)和去盲(Unblind)。在此可展開(kāi)論述如下。endprint
1)Setup:由PKG運(yùn)行。輸入安全參數(shù)k,生成公開(kāi)的參數(shù)params,包含簽名空間、消息空間、公共消息空間,另外生成秘密的PKG的主私鑰s。
2)KeyGen:輸入簽名人的身份字符串ID,PKG使用其私鑰s,公開(kāi)參數(shù)params,計(jì)算簽名人的簽名密鑰SID。
3)Issue:假設(shè)接收方所希望簽署的消息是m,在執(zhí)行以下的4步后,會(huì)生成關(guān)于m的一個(gè)簽名δ。如果沒(méi)有輸入公共消息,在執(zhí)行以下的4步后也會(huì)生成一個(gè)公共消息c。這里,將給出步驟內(nèi)容依次分述如下。
① Agree:如果沒(méi)有輸入公共消息,接收方和簽名人交互生成公共消息c。
② Blind:該算法輸入隨機(jī)字符串r、消息m、公共消息c,輸出字符串h,發(fā)送給簽名人。
③ Sign:該算法輸入簽名人的私鑰sk、字符串h、輸出簽名δ〖DD(-*2〗-〖DD)〗,發(fā)送給接收方。
④ UnBlind:該算法輸入簽名和Blind步驟中的隨機(jī)字符串r,輸出去盲的簽名δ。
4) Verify:該算法輸入去盲的簽名δ、消息m、公共消息c、簽名人的身份字符串ID, 輸出“真”或者“假”,表示簽名是或者不是一個(gè)有效的簽名,這種有效性是指是否是簽名人用私鑰SID對(duì)消息m和公共消息c生成的簽名。
[JP2]一個(gè)安全的部分盲簽名方案需要具有2個(gè)基本的安全屬性,一個(gè)是不可偽造性,一個(gè)是部分盲性。其中,不可偽造性是一種在適應(yīng)性選擇消息和身份的條件下存在性的不可偽造。[JP]
直觀來(lái)看,部分盲簽名的不可偽造性保證了攻擊者在不能生成簽名人私鑰的情況下,將無(wú)法生成有效的該簽名人簽署的部分盲簽名。
而關(guān)于部分盲性的描述如下。在典型的盲簽名中,簽名人完全不知道簽署的消息。如果簽名人能夠把簽署的某個(gè)數(shù)字簽名和某次具體的簽署過(guò)程聯(lián)系在一起,盲簽名的盲性就失效了。對(duì)比來(lái)看,部分盲簽名中,簽名人和接收人需要預(yù)先確認(rèn)一個(gè)公共消息。如果簽名人在公共消息中嵌入一個(gè)獨(dú)特的可識(shí)別的信息,那么簽名人就很容易地把簽名和某次簽名的過(guò)程聯(lián)系起來(lái),因此也就沒(méi)有了盲性。為了使部分盲簽名有意義,公共消息空間的大小應(yīng)該遠(yuǎn)小于全部的簽名請(qǐng)求的數(shù)量。部分盲簽名的這種弱點(diǎn)是天生的,是為在消息中嵌入公共消息所付出的代價(jià)。
直觀來(lái)看,部分盲簽名的盲性就是讓簽名人不能知道自己所簽署的數(shù)字簽名和哪一個(gè)去盲化之后的消息對(duì)應(yīng)。這里可以明確地看到,公共信息對(duì)所有部分盲簽名形成了一種簡(jiǎn)單的劃分,在每一個(gè)子劃分內(nèi),簽名人是完全盲的。
3基于身份的在線電子現(xiàn)金系統(tǒng)
本系統(tǒng)包含4個(gè)基本過(guò)程和4個(gè)參與方,如圖1所示。
4個(gè)參與方包括可信任的密鑰分發(fā)中心(PKG)、銀行(Bank)、商家(Shop)和用戶(hù)(User)。其中PKG和銀行間有一個(gè)交互過(guò)程(KeyGen),該過(guò)程結(jié)束后銀行可獲得以其域名為身份的私鑰。在研發(fā)時(shí),PKG可以是銀行所有(國(guó)內(nèi)主要商業(yè)銀行自己建立PKG),也可以單獨(dú)實(shí)現(xiàn)。用戶(hù)和銀行間有2個(gè)基本過(guò)程,分別是:開(kāi)戶(hù)注冊(cè)(Reg.)和電子現(xiàn)金提取(Withdrawal)。開(kāi)戶(hù)注冊(cè)過(guò)程確認(rèn)通過(guò)后,用戶(hù)將獲得一個(gè)電子現(xiàn)金賬號(hào),銀行則記錄該賬號(hào)和用戶(hù)的身份。電子現(xiàn)金提取過(guò)程全部展開(kāi)執(zhí)行后,用戶(hù)即獲得銀行使用其私鑰簽署的電子現(xiàn)金。用戶(hù)、商家和銀行將協(xié)同參與一個(gè)基本過(guò)程,也就是支付(Pay)過(guò)程。支付過(guò)程完成后,商家獲得現(xiàn)金,銀行向商家支付,記錄已經(jīng)消費(fèi)的電子現(xiàn)金。下面即按照不同的參與方來(lái)探討各參與方的功能和參與方之間的基本交互過(guò)程。
3.1密鑰分發(fā)中心模塊設(shè)計(jì)
密鑰分發(fā)中心(PKG)可重點(diǎn)實(shí)現(xiàn)整個(gè)系統(tǒng)的參數(shù)生成,為自己生成公鑰和私鑰,對(duì)每一個(gè)請(qǐng)求私鑰的實(shí)體進(jìn)行驗(yàn)證,并生成私鑰。典型地,PKG包括2個(gè)主要模塊。一個(gè)是參數(shù)設(shè)定模塊,生成自己的公私鑰;一個(gè)是密鑰生成模塊,為用戶(hù)的身份字符串生成私鑰。一個(gè)設(shè)計(jì)完善的PKG還應(yīng)該包括注冊(cè)模塊、執(zhí)行策略模塊等。本文僅針對(duì)主要模塊,提出詳盡應(yīng)用探討解析如下。
3.1.1參數(shù)設(shè)定模塊
本系統(tǒng)采用了PBC庫(kù)的A類(lèi)型參數(shù)。其中q是大素?cái)?shù),滿足模4余3。E是橢圓曲線y2=x3+ax,其中a可以取值為-3。那么E(Fq)是一個(gè)超奇異橢圓曲線,橢圓曲線上離散點(diǎn)的數(shù)目為q+1,且對(duì)應(yīng)定義在Fq2上的橢圓曲線的點(diǎn)的數(shù)目為(q+1)2。進(jìn)一步,對(duì)任意整除q+1的奇數(shù)r,橢圓曲線E(Fq)上的離散點(diǎn)構(gòu)成一個(gè)r階的循環(huán)群,嵌入指數(shù)是2。
在本系統(tǒng)開(kāi)發(fā)過(guò)程中,研究使用了PBC庫(kù)自帶的A類(lèi)型參數(shù)(q、h、r),這些參數(shù)確定了橢圓曲線上的群G+,G2和對(duì)運(yùn)算e〖DD(-*1〗[WT6BX]^〖DD)〗[WT5”BX](·,·)以及階q(r)。其它的參數(shù)還包括G+的生成元P和雜湊函數(shù)H(·)、H0(·)。其中,生成元通過(guò)隨機(jī)選擇G+中的點(diǎn)來(lái)設(shè)定。而雜湊函數(shù)通過(guò)使用SHA-256來(lái)實(shí)現(xiàn),對(duì)于映射到橢圓曲線上的雜湊函數(shù),在SHA-256之后使用了PBC庫(kù)的element_from_hash函數(shù)來(lái)提供設(shè)計(jì)支持。PKG的私鑰s通過(guò)從Zr中隨機(jī)選擇得到,而公鑰Ppub使用element_pow_zn計(jì)算求出。PKG的公鑰和私鑰分開(kāi)存儲(chǔ)在2個(gè)獨(dú)立的文件中。
3.1.2密鑰生成模塊
該模塊要求用戶(hù)輸入自己的ID字符串,回車(chē)后為用戶(hù)生成對(duì)應(yīng)于該ID的私鑰。在此基礎(chǔ)上,更為完善的模式構(gòu)建可設(shè)計(jì)描述為:首先檢查用戶(hù)的ID,確認(rèn)用戶(hù)的身份,之后將ID與日期等信息綁定,形成一個(gè)在一定期限內(nèi)有效的ID,以便能夠處理用戶(hù)吊銷(xiāo)身份的事件。本系統(tǒng)僅實(shí)現(xiàn)了核心的功能,并采取了簡(jiǎn)單的DOS界面方式,具體即如圖2所示。
該模塊的內(nèi)部執(zhí)行方式與第2節(jié)研究設(shè)計(jì)的部分盲簽名的KeyGen算法相同,首先把用戶(hù)輸入的ID字符串進(jìn)行SHA-256的雜湊,之后使用PBC庫(kù)的element_from_hash函數(shù)把用戶(hù)的ID字符串映射為橢圓曲線上的一個(gè)點(diǎn),最后使用element_pow_zn輸入PKG的私鑰s計(jì)算用戶(hù)的私鑰sID。該私鑰存儲(chǔ)在單獨(dú)的文件中,面對(duì)面、或者通過(guò)安全信道交給用戶(hù)。endprint
3.2銀行功能模塊設(shè)計(jì)
銀行一方面與PKG交互獲得私鑰,一方面與用戶(hù)交互,為用戶(hù)配置了注冊(cè)、電子現(xiàn)金提取,并有效參與了支付過(guò)程。其中,銀行與PKG的交互過(guò)程按照PKG的密鑰生成模塊來(lái)執(zhí)行。其它3個(gè)功能分別敘述如下。
3.2.1開(kāi)戶(hù)注冊(cè)
研究假設(shè)用戶(hù)已經(jīng)在其智能手機(jī)上安裝了銀行的APP,并且與銀行能夠建立安全連接,銀行能夠通過(guò)賬戶(hù)、密碼、USB KEY等方式確認(rèn)用戶(hù)的合法身份。用戶(hù)打開(kāi)銀行APP并啟用身份認(rèn)證,打開(kāi)電子現(xiàn)金注冊(cè)功能,該軟件生成該用戶(hù)的私鑰和公鑰。也就是通過(guò)使用了PKG生成的系統(tǒng)參數(shù)來(lái)為用戶(hù)生成公私鑰,其過(guò)程與PKG建立自己的主密鑰對(duì)的過(guò)程類(lèi)似。需要注意的是,當(dāng)前的執(zhí)行主體是用戶(hù),生成的私鑰由用戶(hù)保存,而公鑰則由APP反饋給銀行,銀行存儲(chǔ)公鑰信息、并和用戶(hù)的身份綁定。對(duì)于設(shè)計(jì)完善的應(yīng)用程序,在此步驟則應(yīng)額外返回銀行一個(gè)知識(shí)證明,證明用戶(hù)確實(shí)擁有對(duì)應(yīng)的私鑰。
3.2.2電子現(xiàn)金提取
通常,電子現(xiàn)金提取包括用戶(hù)證明自己擁有某個(gè)賬號(hào)的認(rèn)證流程和提取電子現(xiàn)金的內(nèi)容,這里把這2個(gè)部分整合在一起,并給出直觀設(shè)計(jì)展現(xiàn)如圖3所示,即使銀行和用戶(hù)協(xié)同執(zhí)行如下“認(rèn)證的電子現(xiàn)金提取協(xié)議”:
1)首先,用戶(hù)的APP向銀行發(fā)起請(qǐng)求,要求提取電子現(xiàn)金;該消息包含用戶(hù)的賬戶(hù)信息或者其摘要的信息。
2)銀行核實(shí)賬戶(hù)I確實(shí)是自己的用戶(hù),就按照Chow等人的部分盲簽名方案[2],計(jì)算Issue算法中Sign-1的子步驟,獲得C、Y。這2個(gè)數(shù)據(jù)發(fā)送給用戶(hù)的APP,兼有單向認(rèn)證協(xié)議的挑戰(zhàn)消息的功能。
3)用戶(hù)的APP按照Chow等人的部分盲簽名[2],計(jì)算Issue算法中Blind的子步驟,獲得h,然后使用ISO標(biāo)準(zhǔn)化版本中的“使用公鑰的2次傳輸單方認(rèn)證協(xié)議”,構(gòu)造簽名,共同返回給銀行。
4)銀行使用用戶(hù)的賬戶(hù)信息I,驗(yàn)證用戶(hù)的簽名,驗(yàn)證通過(guò)后按照Chow等人的Issue算法[2]中Sign-2子步驟計(jì)算S,并返回給用戶(hù)。
5)用戶(hù)的APP按照Chow等人的Issue算法[2]中UnBlind子步驟去盲化,獲得電子現(xiàn)金,并使用銀行的ID驗(yàn)證電子現(xiàn)金的有效性。
上述認(rèn)證的電子現(xiàn)金提取協(xié)議內(nèi)嵌了一個(gè)ISO標(biāo)準(zhǔn)化版本中的“使用公鑰的2次傳輸單方認(rèn)證協(xié)議”,可以讓銀行切實(shí)掌控處理對(duì)用戶(hù)的認(rèn)證;而電子現(xiàn)金本身提供了用戶(hù)對(duì)銀行的認(rèn)證,因此本質(zhì)上實(shí)現(xiàn)了用戶(hù)和銀行之間的雙向認(rèn)證,并同時(shí)完成了電子現(xiàn)金的提取。
3.2.3支付過(guò)程
銀行設(shè)計(jì)參與的支付過(guò)程是發(fā)生在銀行與商家之間的。對(duì)于在線電子現(xiàn)金系統(tǒng),這意味著商家每收到用戶(hù)的“一張”電子現(xiàn)金,都需要交給銀行驗(yàn)證真?zhèn)?,并由銀行返回驗(yàn)證的結(jié)果。本系統(tǒng)使用的是基本的Web-Service方式,即銀行提供電子現(xiàn)金驗(yàn)證的Web方法。通過(guò)分析可知在.NET3.5框架下,使用Visual Studio 2008已經(jīng)可以調(diào)動(dòng)Windows Communication Foundation (WCF)功能了,該功能具備了WS-Security機(jī)制,可以保護(hù)商家和銀行之間的通信的安全。
在Web-Service方式下,銀行僅僅完成驗(yàn)證功能。輸入的參數(shù)包括消息、共享消息、簽名字符串,返回電子現(xiàn)金是否有效的結(jié)果。為了在C#中使用PBC庫(kù),需要封裝簽名驗(yàn)證的功能到一個(gè)動(dòng)態(tài)鏈接庫(kù)(DLL),然后在C#中導(dǎo)入該DLL,引用簽名驗(yàn)證的函數(shù),獲得驗(yàn)證結(jié)果。如果驗(yàn)證通過(guò),銀行搜索SQL數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)中沒(méi)有存儲(chǔ)該電子現(xiàn)金,說(shuō)明電子現(xiàn)金有效,則向商家賬戶(hù)存入電子現(xiàn)金,返回給商家電子現(xiàn)金有效的信息,并存儲(chǔ)該電子現(xiàn)金到數(shù)據(jù)庫(kù)中;否則,將給商家返回?zé)o效的信息。
3.3商家功能模塊設(shè)計(jì)
商家與用戶(hù)交互,也與銀行交互。研究假設(shè)商家擁有一個(gè)電子商務(wù)網(wǎng)站,這樣,用戶(hù)可以在該網(wǎng)站選擇自己的商品,購(gòu)物選擇結(jié)束后,即使用電子現(xiàn)金支付。當(dāng)然,商家也可以是一個(gè)實(shí)體的商店,但是需要擁有能夠讀取用戶(hù)存儲(chǔ)設(shè)備中電子現(xiàn)金的能力,例如通過(guò)近場(chǎng)通信技術(shù)(NFC),一個(gè)讀卡器可以讀取用戶(hù)手機(jī)中存儲(chǔ)的內(nèi)容。對(duì)于本文的在線電子現(xiàn)金系統(tǒng),設(shè)計(jì)中重點(diǎn)關(guān)注了商家的支付功能。假設(shè)用戶(hù)通過(guò)商家的網(wǎng)站來(lái)進(jìn)行支付,用戶(hù)通過(guò)點(diǎn)擊一個(gè)支付按鈕完成支付。簡(jiǎn)單起見(jiàn),研究中僅考慮了定額10美元支付的功能,也就是每次支付都是從用戶(hù)“錢(qián)包”中讀取“一張”電子現(xiàn)金。
3.4用戶(hù)功能模塊設(shè)計(jì)
用戶(hù)與銀行交互,也與商家交互。本文的電子現(xiàn)金系統(tǒng)中用戶(hù)與銀行的交互是通過(guò)用戶(hù)的APP研發(fā)實(shí)現(xiàn)的,主要的功能包括開(kāi)戶(hù)和電子現(xiàn)金提取,與商家的交互主要是通過(guò)商家的網(wǎng)站設(shè)計(jì)得到的。但是智能完備的程序設(shè)計(jì)中,用戶(hù)還要配備一個(gè)功能來(lái)管理自己的電子錢(qián)包,對(duì)存取行為進(jìn)行授權(quán),例如通過(guò)Windows的文件驅(qū)動(dòng)來(lái)提供設(shè)計(jì)支持。上述的注冊(cè)功能與銀行交互,為用戶(hù)生成一對(duì)公私鑰,其中公鑰是用戶(hù)的電子現(xiàn)金賬號(hào),提交給銀行。而電子現(xiàn)金提取功能,允許用戶(hù)設(shè)置共享的消息,并完成與銀行的“認(rèn)證的電子現(xiàn)金提取協(xié)議”。
4結(jié)束語(yǔ)
本文研究綜述了一個(gè)基于身份的電子現(xiàn)金系統(tǒng)的實(shí)現(xiàn)過(guò)程。該系統(tǒng)綜合了客戶(hù)與銀行在提現(xiàn)階段的認(rèn)證和部分盲簽名算法,給出了認(rèn)證的電子現(xiàn)金提取協(xié)議,提高了效率;另外該系統(tǒng)采用了PBC庫(kù)的“A”參數(shù),保證了提現(xiàn)、消費(fèi)等階段的運(yùn)算速度,提升了效率;最后,該系統(tǒng)采用URL地址做網(wǎng)上銀行的身份,減輕了釣魚(yú)網(wǎng)站的危害。
當(dāng)然本系統(tǒng)還需要進(jìn)一步的完善,包括:
1)支持離線的電子現(xiàn)金。為了支持離線的電子現(xiàn)金,需要修改電子現(xiàn)金系統(tǒng)的基本算法,在當(dāng)前核心算法的基礎(chǔ)上,進(jìn)一步增加基于受限盲簽名的實(shí)現(xiàn)代碼,最終封裝為可離線消費(fèi)的電子現(xiàn)金系統(tǒng)。
2)支持客戶(hù)端的錢(qián)包管理。一個(gè)完整的電子簽名作為“一張”電子現(xiàn)金,以數(shù)據(jù)的方式存儲(chǔ)在某個(gè)存儲(chǔ)設(shè)備中,那么對(duì)該存儲(chǔ)設(shè)備必須提供相應(yīng)的訪問(wèn)控制的功能,也就是“錢(qián)包”管理。endprint
3)完善當(dāng)前的各項(xiàng)設(shè)定功能。在本文的整體論述中,對(duì)每一個(gè)功能,都已明確指出了一個(gè)完善系統(tǒng)研究拓展的具體細(xì)節(jié)。本文設(shè)計(jì)實(shí)現(xiàn)的是一個(gè)較為簡(jiǎn)單的概念系統(tǒng),因此后續(xù)研究應(yīng)將相關(guān)的功能在進(jìn)行有效改進(jìn)升級(jí)后,才能夠真正地投入現(xiàn)實(shí)使用。
參考文獻(xiàn):
[WTBZ][ST6BZ][HT6SS][1] [ZK(#〗
陳曉峰. 電子商務(wù)安全性的理論與技術(shù)研究[D]. 西安:西安電子科技大學(xué), 2003.
[2] CHOW S S M , HUI L C K, YIU S M, et al. Two improved partially blind signature schemes from bilinear pairings[C]//ACISP 2005. Berlin: Springer, 2005,3574: 316-328.
[3] CHAUM D. Blind signature for untraceable payments[M]// CHAUM D, RIVEST R L, SHERMAN A T. Advances in cryptologyEurocrypt. US: Springer, 1983: 199-203.
[4] ABE M, FUJISAKI E. How to date blind signatures[M]//KIM K, MATSUMOTO T. Advances in CryptologyAsiacrypt 1996. Berlin: Springer,1996, 1163: 244-251.
[5] 許靜,馮偉成,周蓮英,等. 基于部分盲簽名的新型電子現(xiàn)金安全系統(tǒng)研究[J]. 計(jì)算機(jī)工程,2006,32(19):157-158,175.
[6] 金鑫,疏國(guó)會(huì). ActiveX控件應(yīng)用安全研究[J]. 數(shù)字技術(shù)與應(yīng)用,2011(8):241-243.
[7] ZHANG F, SAFAVI-NAINI R, SUSILO W. An efficient signature scheme from bilinear pairings and it's applications[M]// BAO F, DENG R, ZHOU J.Public key cryptographyPKC 2004. PKC 2004. Lecture Notes in Computer Science. Berlin: Springer,2004,2947:277-290.endprint