摘要:綜合分析電子現金系統各種模型,針對目前電子現金交易系統存在的問題,提出了基于信用透支的公平電子現金交易協議。采用了多重簽名算法,實現了銀行與實時交易分離,提高系統的運行效率;并能夠在發生經濟糾紛時,根據糾紛雙方提供的電子證據實施仲裁,保證交易公平性。
關鍵詞:電子現金; 公平; 多重簽名; 仲裁
中圖分類號:TP309文獻標志碼:A
文章編號:1001-3695(2007)09-0143-03
著名密碼學家D.Chaum[1]在1982年首次提出了利用盲簽名實現電子現金的方法,它為電子現金的研究奠定了良好的基礎。之后,由D.Chaum等人[2]提出了離線的不可追蹤的電子現金支付系統,在該協議中采用了分割選擇協議,但是效率極低。S.Brands[3]、N.Ferguson[4]、M.Franklin等人[5]幾乎同時提出了單一符號電子現金(singleterm coins)協議, 這些協議大大地提高了支付系統的效率,也成為目前電子現金系統的主流。目前,國外關于電子現金的支付系統具有代表性的有美國DigiCash公司的DigiCash系統,美國南加利福尼亞大學的信息科學研究所ISI開發的Net Cash系統,IBM的Micro Payment等。
無論是現有的電子現金系統還是協議,均遵循電子現金基本交易模型,即電子現金在其生命周期中要經過提取、支付和存款三個過程,涉及用戶、商家和銀行三方。這種交易模型存在著三個重要問題:a)系統中在交易時,總是需要銀行的驗證。這樣,對大規模的實時交易來說,無疑給銀行的服務器增加了很大的負載。銀行驗證的速率將會成為實時交易的瓶頸。b)如何保證交易中的公平性。網絡并沒有完全可信的第三方,作為一個實用的交易系統必須保證在利益雙方發生糾紛時,能作出正確的仲裁,以彌補其中一方的損失,防止惡意欺詐。另外,還有交易中的找零問題。c)從實用的角度考慮,人們總是希望能在自己附近的銀行辦理這樣的業務。
本文在考慮以上問題后,提出了基于信用透支的公平電子現金交易系統。在原有的電子現金交易模式的基礎上進行改進,并結合現在普遍使用的信用卡支付模式,增加系統的實用性。本系統通過銀行系統的證書鏈校驗,保證消費者可以放心地在自己附近的銀行辦理業務,即多銀行[6]的電子現金系統;本系統由銀行給客戶頒發信用透支證書,客戶利用該證書在需要支付時,自己產生電子現金,并支付給商家;商家可以直接驗證電子現金,突破了以往需要銀行驗證電子現金的交易瓶頸。同時,由消費者自己產生電子現金,避免了找零的問題。系統采用改進的DSA作為核心算法,利用多重簽名,能夠在發生經濟糾紛時進行仲裁。以下從電子現金公平交易模型、理論基礎、具體方案以及安全性分析四個方面進行詳細論述。
1電子現金公平交易模型
基于信用透支的公平電子現金交易系統模型,如圖1所示。
整個系統分成兩個子系統,即銀行系統和支付系統。銀行系統中包含一個中央銀行及其各地的分行,各地的分行受中央銀行管理,每個銀行均可以為商家兌現。整個系統的參與主體有中央銀行B、各地分行Bi、客戶C和商家M。
前提:電子現金交易系統是基于信用透支的模型,也就是說,用戶可以憑借銀行給用戶頒發的信用證書超前消費一定額度。銀行同時充當可信第三方。其工作流程如下:
a)銀行系統初始化。進行銀行系統的認證,中央銀行B相當于根CA,各地分行相當于子CA,形成樹型CA。其主要目的是為了使用戶可以在自己附近的銀行進行注冊。
b)注冊。消費者C在銀行Bi開戶并申請信用透支證書,銀行Bi驗證相關材料,并決定是否頒發給該消費者C以及信用透支證書的最高額度。
c)購買(支付)。消費者C到商店里購物;結賬時,消費者出示信用透支證書、購物訂單;商家M通過驗證信用透支證書及購物訂單的有效性,決定是否給消費者C發貨;商家M給消費者C發貨,并保留發貨憑證Er(u);消費者收到商品后,生成并支付電子現金。
d)存款。商家M在自己的銀行Bj將得到的電子現金存入自己的賬戶。
e)仲裁。當雙方發生經濟糾紛時,即其中一方惡意欺詐時,銀行啟動仲裁協議來彌補另一方的經濟損失。
2實現方案
2.1理論基礎
2.1.1多重簽名
一個多重簽名框架允許多個簽名者高效地簽署同一個信息,簽名后的數據大小應與單個簽名幾乎沒有區別。一個典型的多重簽名框架包括n≥2個簽名者和一個驗證者,每個簽名者i有一個部分簽名私鑰ski,簽名者產生其部分簽名δi 后,驗證者用多重簽名公鑰pk來驗證多重簽名私鑰sk,sk=sk1⊕…⊕skn。驗證多重簽名的算法一般與驗證單人簽名的算法完全一樣。
2.1.2DSA簽名框架
1)改進的DSA簽名框架
DSA簽名是Schnorr和EIGamal簽名算法的變型。在文獻[7]中有關于它的完整描述。DSA方案中有很多變型,所有變型具有相同的安全性,因此應選擇一個容易計算的方案,它就是pNEW[7]方案。在pNEW方案中,r=mg-k mod ρ,s=k-r′x mod ρ(r′= r mod q),并且m可以通過驗證簽名恢復:m=gsyr′ r mod ρ。
2)多重簽名框架
在這個基于信用透支的電子現金交易模型中,涉及到的多重簽名框架具體如下:
ρ、q、g與基本方案中定義一致,ρ、q、g公開。多重簽名δ的私鑰為sk=x,公鑰為pk= y=gx;Alice的部分簽名私鑰為sk1=x1,公鑰為pk1= y1=gx1;Charlie的仲裁私鑰為sk2=x2,因為Charlie不需要公鑰,所以不設Charlie的公鑰。x、x1、x2滿足關系x=x1-x2。
設m是待簽名的信息,簽名過程如下:
a)簽名δ產生過程如
2.2具體方案
2.2.1系統初始化
系統初始化即銀行系統的初始化,并形成銀行系統的樹型CA認證結構。設中央銀行的公私鑰對為(xB,yB),其他銀行i的公私鑰對為(xBi,yBi),則央行為銀行i頒發的身份證書CABi= ExB(yi)。這里忽略了其他信息,ExB(·)表示用央行的私鑰xB加密的函數,即數字簽名。中央銀行的公鑰、私鑰由央行自己產生。其中:公鑰公開;銀行i的公鑰、私鑰由銀行i自己產生,并得到央行的確認。
2.2.2用戶注冊
用戶向銀行i提交自己的證明材料,并向銀行申請成為基于信用透支的用戶;銀行審批后,如批準,則為該用戶設置銀行賬號;然后用戶向銀行提交將用于交易過程中使用的密碼算法及其公鑰,銀行驗證其算法及密鑰后,為其頒發信用證書及其身份證書。用戶注冊過程如圖2所示。
交易協議流程如下:
a)消費者在網上瀏覽購物,將選擇的商品放入購物框中。結賬時,用戶隨機選取參數k計算交易承諾δ1。δ1是消費者C用私鑰x1對購物訂單進行加密。購物訂單中包含購物的商品、單價、總計及時間戳。
b)向商家發送交易承諾δ1,信用透支證書VC,身份證書CAC。
c)商家用央行的公鑰驗證CAC的有效性;若證書CAC無效,則結束交易;否則,繼續進行協議。
d)商家用透支證書中的消費者C的公鑰y1驗證承諾書,即用y1解密承諾書;并判斷承諾δ1是否超過信用透支額N。
e)如無誤,則向消費者C發貨,并保留發貨憑證Er(u)。
f)消費者C收到并查驗商品,然后生成電子現金δ。
g)消費者C向商家M支付電子現金δ。
h)商家驗證電子現金δ,即用身份證書CAC中的消費者的公鑰y解密。若電子現金δ沒有問題,協議結束;否則,啟動仲裁協議。
2.2.4存款協議
商家定期到自己注冊的銀行進行兌現和轉賬,存款的整個過程如圖4存款協議所示。銀行首先根據證書鏈驗證消費者C的身份證書CAC的有效性;然后,再驗證電子現金δ的有效性,即電子現金是否合法、是否已經被存儲過等。在存款過程中,銀行系統可能要需要轉賬,因為商家M和消費者C注冊的銀行可能不是同一家。
存款協議流程如下:
a)商家定期到自己注冊的銀行Bj存款。
b)商家發送電子現金δ和消費者的證書CAC。
c)銀行利用央行的公鑰驗證證書CAC的有效性。若證書CAC無效,則結束存款;否則,繼續進行協議。
d)銀行驗證電子現金δ的有效性,即用消費者之前提交的公鑰y解密電子現金。
e)銀行判斷電子現金δ是否有問題,即首先要查詢數據庫,查看要兌現的電子現金是否已經被兌現過。其次,如果沒有被兌現過,查看該電子現金是否超過有效期。若電子現金均無問題,銀行進行兌現并轉帳;否則,啟動仲裁協議。
2.2.5仲裁協議
銀行作為仲裁機構,在買賣雙方發生經濟糾紛時,啟動仲裁協議。對于本模型來說,采用了貨到付款的方式,仲裁協議主要是為了防止,消費者惡意欺詐,貨到不付款的情況;同時,也防止在網絡的虛擬世界中,兩方合謀陷害第三方,保護了各方的經濟利益。仲裁協議如圖5所示。
仲裁協議流程如下:
a)商家發現沒有收到電子現金δ,或者電子現金δ無法兌現。
b)商家提供電子證據,包括承諾書δ1、信用透支證書VC、身份證書CAC、購物訂單m、發貨憑證Er(u)給仲裁中心。
c)仲裁中心驗證商家提供各個電子證據的有效性。
d)若電子證據全都有效使用仲裁私鑰x2構造出電子現金δ;否則,協議結束。
e)銀行將構造出的電子現金δ發送給商家。
f)商家收到電子現金δ,然后啟動存款協議兌現。
3安全性及效率分析
1)匿名性本系統有效保護個人隱私,商家不用知道購買方是誰,只要信任對方所注冊的銀行、信用透支證書;銀行也不需要知道客戶是如何消費的,只要按照協議兌現、轉賬現金。
2)電子現金分割性電子現金是消費者根據每次的消費額生成的,所以避免了找零問題。
3)電子現金的重用問題系統中每次交易生成的電子現金,其中包含與此次交易對應的惟一隨機數;無論是消費者重用還是商家重用,銀行均可以通過檢索隨機數來判斷是否是重用。
4)不可抵賴性電子現金是客戶自己生成的,并可以通過數字證書上的公鑰來驗證,所以客戶對交易和電子現金無法抵賴。同時,別人沒有客戶的私鑰是不能產生與其公鑰相應的電子現金,所以電子現金也無法偽造。
5)公平性系統滿足弱公平性,即在一方的經濟利益蒙受損失的時候,仲裁機構(銀行)能夠通過仲裁協議彌補其損失。
6)保密性雙方交易時之間的通信均是通過加密的,攻擊者無法竊聽到有效的信息。在實現時,可以使用SSL協議進行128加密。
7)工作效率由于在交易過程中,只有消費者者和商家雙方,銀行就不再成為交易瓶頸。在實時交易中,尤其是實時交易量比較大時,系統的工作效率將明顯提高。
4結束語
本文提出了一個基于信用透支的高效電子現金公平交易協議,主要通過客戶自己產生現金采用多重簽名算法實現公平交易,系統在交易的過程中不需要銀行的參與,大大提高了系統在實際應用中的運行速度。這是在信用卡廣泛使用的基礎上,將信用卡透支模型移植到電子商務的交易中,滿足了基于信用環境下的電子支付的需求。
參考文獻:
[1]CHAUM D. Blind signatures for untraceable payments[C]//Advances in Cryptology Crypto’82.[S.l.]:SpringerVerlag, 1982:199-203.
[2]CHAUM D, FIAT A, NAOR M. Untraceable electronic cash[C]//Advances in Cryptology Crypto’88.[S.l.]:SpringerVerlag ,1988:319-327.
[3]BRANDS S. An efficient offline electronic cash system based on the representation problem, Report CSR9323[R].[S.l.]:Workshop on Information, 1993.
[4]FERGUSON N. Singleterm offline coins[C]//Advances in CryptologyProc of Eurocrypt’93.[S.l.]:SpringerVerlag,1994:318-328.
[5]FRANKLIN M, YUNG M. Secure and efficient offline digital money [C]//Proc ofICALP’93 LNCS 700. [S.l.]:Springerverlag, 1993 :265-276.
[6]張方國, 張福泰, 王育民. 多銀行電子現金系統[J]. 計算機學報, 2001,24(5):456-462.
[7]SCHNEIER B. 應用密碼學—— 協議、算法與C源程序[M].吳世忠,祝世雄,張文政,等譯.北京:機械工業出版社,2005:357.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”