技術 > 電子現金
目錄
No. 1
  電子現金(electronic cash)其實是一種用電子形式模擬現金的技術。電子現金係統企圖在多方面為在錢交易復製現金的特性:方便、費用低(或者沒有交易費用)。不記名以及其他性質。但不是所有的電子現金係統都滿足這些特點,多數電子現金係統都能為小額在綫交易提供快捷與方便。
  電子現金係統概述
  電子商務是通過 internet網所進行的商務活動,對於電子商務一個非常關鍵的要求就是要有一個安全高效的電子現金係統。自 19 8 2年d. chaum發表第一篇關於電子現金係統的論文以來,在電子現金係統的研究方面已取得了很多研究成果。
  電子現金係統基本概念
  電子現金( e-cash )又稱為電子貨幣 ( e-money )或數字貨幣( digital cash ),是一種非常重要的電子支付係統,它可以被看作是現實貨幣的電子或數字模擬,電子現金以數字信息形式存在,通過互聯網流通。但比現實貨幣更加方便、經濟。它最簡單的形式包括三個主體:商傢,用戶,銀行;和四個安全協議過程:初始化協議,提款協議,支付協議,存款協議。第一個電子現金方案是由chaum 在1982年提出,他利用盲簽名技術來實現,可以完全保護用戶的隱私權。但這種完全匿名的電子現金也為許多不法分子提供了方便,他們利用電子現金的完全匿名性進行一些違法犯罪活動,例如貪污、非法購買(如購買毒品、軍火等 )、敲詐勒索等。警方即便拿到贓款,也不能抓出犯罪分子。基於這個原因,合理的電子現金係統應該是不完全或條件匿名的。1995年,stadler等人 提出了公平盲簽名 ( fair blind signature)的概念,可以用於條件匿名的支付係統。1996年,camenisch等人和 frankel等人分別獨立地首次提出了公平的離綫電子現金( fair off-line electronic cash )的概念,同時給出了兩個方案。公平電子現金中的用戶的匿名性是不完全的,它可以被一個可信賴的第三方 ( ttp)撤消,從而可以防止利用電子現金的完全匿名性進行的犯罪活動。
  電子現金在其生命周期中要經過提取、支付和存款 3個過程,涉及用戶、商傢和銀行等 3方。電子現金的基本流通模式如圖 1所示。用戶與銀行執行提取協議從銀行提取電子現金;用戶與商傢執行支付協議支付電子現金;商傢與銀行執行存款協議 ,將交易所得的電子現金存入銀行。典型的電子現金支付模型如下:
  電子現金的分類
  * 電子現金係統根據其交易的載體可分為基於賬戶的電子現金係統和基於代金券的電子現金係統;
  * 根據電子現金在花費時商傢是否需要與銀行進行聯機驗證分為聯機電子現金係統和脫機電子現金係統;
  * 根據一個電子現金是否可以合法的支付多次將電子現金分為可分電子現金和不可分電子現金
  電子現金應具有的基本特性
  電子現金在經濟領域起着與普通現金同樣的作用,對正常的經濟運行至關重要。電子現金應具備以下性質 :
  1. 獨立性: 電子現金的安全性不能衹靠物理上的安全來保證,必須通過電子現金自身使用的各項密碼技術來保證電子現金的安全;
  2. 不可重複花費: 電子現金衹能使用一次,重複花費能被容易地檢查出來;
  3. 匿名性:銀行和商傢相互勾結也不能跟蹤電子現金的使用,就是無法將電子現金的用戶的購買行為聯繫到一起,從而隱蔽電子現金用戶的購買歷史;
  4. 不可偽造性:用戶不能造假幣,包括兩種情況:一是用戶不能憑空製造有效的電子現金;二是用戶從銀行提取n個有效的電子現金後,也不能根據提取和支付這n個電子現金的信息製造出有效的電子現金
  5. 可傳遞性:用戶能將電子現金像普通現金一樣,在用戶之間任意轉讓,且不能被跟蹤;
  6. 可分性:電子現金不僅能作為整體使用,還應能被分為更小的部分多次使用,衹要各部分的面額之和與原電子現金面額相等,就可以進行任意金額的支付;
  電子現金係統中使用的密碼技術
  電子現金的安全性和可靠性等主要是依靠密碼技術來實現的,主要有:
  1. 分割選擇技術: 用戶在提取電子現金時,不能讓銀行知道電子現金中用戶的身份信息,但銀行需要知道提取的電子現金是正確構造的。分割選擇技術是用戶正確構造N個電子現金傳給銀行,銀行隨機抽取其中的N-1個讓用戶給出它們的構造,如果構造是正確的,銀行就認為另一個的構造也是正確的,並對它進行簽名。
  2. 零知識證明:證明者嚮驗證者證明並使其相信自己知道或擁有某一消息,但證明過程不能嚮驗證者泄漏任何關於被證明消息的信息。以上兩種技術用於將用戶的身份信息嵌入到電子現金中。
  3. 認證:認證一方面是鑒別通信中信息發送者是真實的而不是假冒的;另一方面是驗證被傳送信息是正確和完整的,沒有被篡改、重放或延遲。
  4. 盲數字簽名: 簽名申請者將待簽名的消息經"盲變換"後發送給簽名者, 簽名者並不知道所簽發消息的具體內容, 該技術用於實現用戶的匿名性。
  電子現金係統方案
  電子現金設計的基本流程如下:
  1. 取款協議(withdrawal protocol):用戶從自己的銀行帳戶上提取電子現金。為了保證用戶匿名的前提下獲得帶有銀行簽名的合法電子現金,用戶將與銀行交互執行盲簽名協議,同時銀行必須確信電子現金上包含必要的用戶身份。一般取款協議分為如下兩步子協議:
  * 開戶協議。這一步通常計算量較大,用於嚮用戶提供包含其身份信息的電子執照。
  * 取款協議。這一步衹是單純的盲簽名過程,用戶能夠從其帳戶中提取電子現金
  2. 支付協議(payment protocal):用戶使用電子現金從商店中購買貨物。通常也分為兩個子協議:
  * 驗證電子現金的簽名,用於確認電子現金是否合法。
  * 知識泄露協議。買方將嚮賣方泄露部分有關自己的身份的信息,用於防止買方濫用電子現金
  3. 存款協議(deposit protocal):用戶及商傢將電子現金存入到自己的銀行賬戶上。在這一步中銀行將檢查存入的電子現金是否被合法使用,如果發現有非法使用的情況發生,銀行將使用重用檢測協議跟蹤非法用戶的身份,對其進行懲罰。
  離綫電子現金具體方案:
  一、初始化協議(衹執行一次)
  銀行b基於離散對數問題選擇參數:選擇兩個大素數p、q 且q |(p-1)。定義乘法群Zp上的階為素數q的子群gq以及gq的一個生成元組(g,g 1,g 2),銀行b的簽名私鑰x∈Zq ,無碰撞單嚮散列函數H0、H1,銀行b公開其公鑰y =g x,以及p、q、g、g 1、g 2、H0、
  H1(為了簡單起見,衹考慮單一面額和單一有效期,不同簽名私鑰對應電子現金的不同面額。)
  用戶u設置(開戶協議):選取u1∈rZq,計算I u=(g 1) u1作為用戶的銀行賬號,並將知識證明的簽名SPK{a|I u=g 1 a}(m)傳給銀行,這裏m表示用戶的身份識別信息,銀行驗證此知識證明的簽名,若驗證成功,存儲I u與用戶的身份識別信息。
  二、取款協議(銀行和用戶之間的認證及盲簽名協議)
  1. 用戶→銀行:用戶先通過身份識別協議(如schnorr協議),嚮銀行證明自己是其賬號的持有者,然後將取款需求(電子現金的面值,數量等)傳送給銀行;
  2. 銀行→用戶:銀行先驗證用戶提交的身份識別信息,然後選取w∈rZq,計算a 0=gw,b0=(I ug 2)w,z0 = (I ug 2)x ,傳送a 0,b0 ,z0給用戶。
  3. 用戶→銀行:選取x 1, x 2,s,u,v∈rZq ,計算B=g 1 x1g 2 x2,A=(I ug 2) s ,z= (z0) s , a= (a 0)ugv , b=(b0)suAv ,c=H0(A‖B‖z‖a‖b) ,c 0=c/umod q, 傳送c 0給銀行。
  4. 銀行→用戶:計算r 0= w+c 0x mod q, 傳送r 0給用戶,同時藉記用戶的賬號。
  5. 用戶:檢查gr 0 yc0a 0和 (I ug 2)r0 (z0)c0b0 , 若驗證通過, 則計算r=v+r 0u1 mod q 。取款協議實際上是一個盲簽名協議,一個簽名sign(A, B)=(z,a,b,r)有效,當且僅當gr = yH0 (A‖B‖z‖a‖b)a和A r=zH0 (A‖B‖z‖a‖b)b成立。用戶得到的電子現金為coin = {A,B,sign(A,B)}
  三、支付協議(在匿名信道上的用戶u和商傢s的協議)
  1. 用戶→商傢:用戶將電子現金coin發送給商傢。
  2. 商傢→用戶:驗證電子現金coin上銀行的簽名,若驗證通過,則計算質詢串d=H1(A‖B‖Is),然後將質詢串d傳送給用戶u。其中Is表示商傢在銀行的賬戶。
  3. 用戶→商傢:用戶計算出應答r1 =d(u1s) +x 1mod q,r2=ds+x 2modq,將(r1,r2)發送給商傢。
  4. 商傢:檢驗g 1 r1g 2 r2AdB,若檢驗通過,則接受用戶的支付,否則拒絶。
  四、存款協議
  商傢傳送支付協議的一個副本給銀行, (如商傢一樣地)檢驗電子現金上銀行的盲簽名sign(A,B) = (z,a,b,r)是否有效,若檢驗通過,銀行在此數據庫中存儲(A,r 1,r 2,I s),並且在商傢的賬戶中存入電子現金相應的金額。
  方案的安全性分析
  該電子現金係統方案的安全性是建立在計算離散對數問題睏難性的基礎上的。
  無法偽造合法的電子現金
  不法用戶即使以合法用戶的身份在銀行提取k個合法的電子現金,他仍然不能根據已經得到的信息偽造出第k+1個合法的電子現金,因為他無法得到銀行的秘密私鑰x
  合法用戶的匿名性得到保證
  在電子現金中嵌入有用戶的識別信息(即賬號Iu),商傢和銀行在支付協議和存款協議中,獲得的數據有A,B,sign(A,B),r1,r2,其中B,r2 不含用戶的識別信息Iu,而A,r1,sign(A,B)都是Iu盲化後的結果,商傢和銀行若想從接收到的數據中得到用戶的識別信息(即Iu),必須知道盲因子s,而s是用戶隨機選取並保密的,這就保證了電子現金的匿名性。
  商傢無法偽造有效的支付信息
  在支付協議中,儘管商傢知道A,B,sign(A,B),他可以計算d,但由於他不知道用戶的秘密鑰u1、s,因而他自己不能隨意構造r'1,r'2,使得滿足gr'1gr'2 AdB,所以在沒有合法用戶的參與下,商傢無法偽造有效的支付信息。
  電子現金係統的未來發展方向
  電子現金的傳遞性的可用性研究
  傳遞性是物理現金一個基本的特徵,但在電子現金中還沒有應用,最主要的原因是:電子現金中為了能跟蹤重複花費的用戶,在電子現金中加入了盲化的用戶身份信息,在電子現金流動的過程中將加入使用過該電子現金的所有用戶身份信息,因此根據信息論的理論,電子現金的長度是不斷地增長的,每次交易都將造成大通信量問題,無法有利於實際應用;另外電子現金無論是在構造還是存款過程中,相對於物理現金都是相當容易而有效的。因此目前公平的離綫電子現金的研究並不關註電子現金的傳遞性。
  多銀行電子現金的研究
  現有的公平電子現金方案都是由一個銀行發行的,但在現實生活中由多個電子銀行係統發行的電子現金較之單個銀行發行的電子現金是更適合的,因為在一個國傢或地區具有電子現金發行能力的銀行可能不止一傢。這多個銀行形成一個群體,它們受國傢的中央銀行管理,每個銀行都可以發行電子現金。所以由多個銀行發行的公平電子現金模型是電子現金係統研究的重要方向,在這方面的研究主要是利用改進的群簽名方案和群盲簽名方案設計的多銀行公平電子現金方案。但現在存在兩個公開問題:第一是設計一個實用的多銀行公平電子現金方案當然不一定是衹是利用群簽名技術,利用其它的技術可能更好地解决;第二是設計一個可廢除群成員的群簽名方案,這也是群簽名研究中的一個公開問題。
  可分電子現金係統的研究
  可分電子現金係統能夠讓用戶進行多次合法的精確支付,減少提款次數,從而可以降低網絡通信量,提高係統效率,因此可分的電子現金係統是研究的重點。 okamoto和ohta於1991年首次提出了一個可分電子現金係統,該係統允許用戶將電子現金分成任意金額進行多次支付,直到與該電子現金的總額相等為止。為使銀行能夠有效地檢測用戶的重複支付,他們采用了二叉樹技術對電子現金進行表示,但這種技術導致電子現金的支付協議通信量大、計算復雜度高、效率低,儘管許多學者對該方案從不同的角度提出了改進[6~10],但都由於使用二叉樹表示使得支付協議的執行效率仍然很低。因此,到目前為止,可分電子現金係統依然是不實用的。關於這方面研究,還可以引入可信第三方來實現對超額支付者的識別,使電子現金的支付協議中沒必要包含進行重複支付檢查的信息,這樣就可以放棄可分電子現金的二叉樹表示技術,從而構造更簡單的可分電子現金係統。
英文解釋
  1. :  Electronic Cash
包含詞
電子現金出納機