亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于自動確認(rèn)交易的方法以及電子支付系統(tǒng)的制作方法

文檔序號:6609159閱讀:372來源:國知局
專利名稱:用于自動確認(rèn)交易的方法以及電子支付系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于自動確認(rèn)具有簽名密鑰的發(fā)行方、具有發(fā)放方密鑰的發(fā)放方、具有唯一身份和交易限制的接受方,以及確認(rèn)方之間的交易的方法。本發(fā)明還涉及一種電子支付系統(tǒng)、計算機程序和計算機程序產(chǎn)品,其中,電子支付系統(tǒng)包括銀行計算機系統(tǒng)、用戶計算機系統(tǒng)、商人計算機系統(tǒng)和確認(rèn)方計算機系統(tǒng)。
背景技術(shù)
用于進行和確認(rèn)交易的方法和系統(tǒng)面臨各種競爭目的。雖然一方面它們應(yīng)當(dāng)可被證明是正確和安全的,以便參與交易的人都不能獲得非法利益(例如通過假設(shè)的虛假身份或蓄意更改交易值),但是另一方面參與者的身份及其準(zhǔn)確交互應(yīng)當(dāng)常常保持匿名。與此同時,實現(xiàn)交易協(xié)議的操作應(yīng)當(dāng)在計算上是高效率的并且遵循標(biāo)準(zhǔn)過程。
用于在線特別是通過因特網(wǎng)支付貨物和服務(wù)的電子支付系統(tǒng)是電子交易系統(tǒng)的特別重要的例子。如果沒有快速、安全、匿名且易于實現(xiàn)的電子支付系統(tǒng),電子商務(wù)的發(fā)展可能會有風(fēng)險。因此,研究人員和金融機構(gòu)均已開發(fā)了若干電子支付系統(tǒng)。這種系統(tǒng)的一個例子在J.Camenisch、S.Hohenberger和A.Lysyanskaya的題為“Compact E-Cash”的論文中進行了描述,該論文出版于EUROCRYPT,Vol.3494 of LNCS,pages 302-321,2005,在此通過引用的方式將其并入本說明書并稱之為CHL系統(tǒng)。CHL系統(tǒng)可被證明是安全和匿名的,即當(dāng)在該系統(tǒng)內(nèi)不能重復(fù)使用錢幣的時候,銀行或錢幣發(fā)行方不能恢復(fù)用戶或發(fā)放方的身份,該用戶或發(fā)放方在錢幣被再次存入銀行的時候向商人或接受方消費該錢幣。
然而,這種以及類似的系統(tǒng)有一個缺點它們對電子洗錢(moneylaundering)是開放的。在各種情況下,應(yīng)當(dāng)檢測、阻止或報告涉及、代表例如任意兩方之間的高現(xiàn)金流的高交易數(shù)。舉例來說,應(yīng)用包括防止逃稅、貪污和大規(guī)模欺詐。M.Stadler、J.-M.Piveteau和J.Camenisch在題為“Fair Blind Signatures”(EUROCRYPT′95,Vol.921 of LNCS,pages209-219,1995)的論文中所描述的系統(tǒng)具有可以隨時取消用戶的匿名以防止洗錢的可信第三方。然而,由于系統(tǒng)的用戶永遠都不能確定他們的匿名會在何種情況下被取消,因此具有第三方是電子支付系統(tǒng)的主要缺點。其它的系統(tǒng),例如由T.Okamoto和K.Ohta在題為“DiaposableZero-Knowledge Authentications and their Applications to UntraceableElectronic Cash”(CRYPTO,Vol.435 of LNCS,pages 481-496,1990)的論文中所描述的電子支付系統(tǒng),就僅向用戶提供了受限形式的匿名以防止誤用。在該系統(tǒng)中,用戶的錢幣是匿名的但卻可以相互鏈接。這嚴(yán)重限制了電子支付系統(tǒng)的匿名。
因此,存在對改進的安全、匿名交易系統(tǒng)以及方法的需要。設(shè)計一種可以幫助防止電子洗錢的電子支付系統(tǒng)是個特別的難題。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供了一種用于自動確認(rèn)具有簽名密鑰的發(fā)行方、具有發(fā)放方密鑰的發(fā)放方、具有唯一身份和交易限制的接受方以及確認(rèn)方之間的交易的方法。該方法包括以下步驟-由所述發(fā)放方從所述發(fā)行方提取憑單(voucher),基于所述發(fā)行方的簽名密鑰和所述發(fā)放方的發(fā)放方密鑰,使用所述發(fā)行方與所述發(fā)放方之間的第一雙方協(xié)議計算所述憑單,-由所述發(fā)放方向所述接受方消費所述憑單,其中基于所述憑單、所述發(fā)放方與所述接受方之間的交易數(shù)、所述接受方所生成的交易詢問值以及所述接受方的所述唯一身份,使用所述發(fā)放方與所述接受方之間的第二雙方協(xié)議計算洗錢檢查值,-由所述接受方向所述確認(rèn)方存放所述憑單、所述交易詢問值以及所述洗錢檢查值,以及-通過將所述洗錢檢查值與在較早的交易中已向所述確認(rèn)方存放的洗錢檢查值進行比較,由所述確認(rèn)方通過檢驗所述發(fā)放方與所述接受方之間的交易數(shù)低于所述接受方的交易限制來確認(rèn)所述交易。
通過檢驗所述發(fā)放方與所述接受方之間的交易數(shù)低于所述接受方的交易限制,可以檢測任何一個發(fā)放方與接受方之間反常的高交易數(shù)。
根據(jù)所述第一方面的改進實施例,在所述消費步驟中,對知識的證明由發(fā)放方計算,并且被傳輸至所述接受方,在所述存放步驟中,向所述確認(rèn)方存放所述證明,并且所述確認(rèn)步驟進一步包括以下步驟檢驗所述證明關(guān)于所述接受方的唯一身份、所述憑單和所述洗錢檢查值是有效的。通過計算和檢驗對知識的證明,可以推行所述方法的完整性。
根據(jù)所述第一方面的進一步改進的實施例,在所述確認(rèn)步驟中,所述確認(rèn)方檢驗所述證明是基于所述接受方的交易限制計算的。通過檢驗所述證明是基于所述接受方的交易限制計算的,所述確認(rèn)方可以檢測在計算所述證明期間所述接受方是否正試圖使用虛假的交易限制。
根據(jù)所述第一方面的進一步改進的實施例,如果所述確認(rèn)方檢測到在較早的交易中向所述確認(rèn)方存放的洗錢檢查值等于當(dāng)前交易的洗錢檢查值,則所述確認(rèn)步驟進一步包括以下步驟拒絕所述憑單,以及檢索在所述較早的交易中所使用的交易詢問值和憑單,如果在所述較早的交易中所使用的交易詢問值不同于所述交易詢問值,則由所述確認(rèn)方基于在所述較早的和當(dāng)前交易中所使用的憑單計算所述發(fā)放方的身份。通過利用較早交易中的那些洗錢檢查值和交易詢問值檢驗所述洗錢檢查值和交易詢問值,可以識別和懲罰試圖超過所述交易限制的各方。
根據(jù)所述第一方面的進一步改進的實施例,在所述確認(rèn)步驟中,所述確認(rèn)方將所述憑單與在較早的交易中存放的憑單進行比較,并且如果所述確認(rèn)方檢測到在較早的交易中向所述確認(rèn)方存放的憑單等于當(dāng)前交易的憑單,則所述確認(rèn)步驟進一步包括以下步驟檢索在所述較早的交易中所使用的交易詢問值,如果在所述較早的交易中所使用的交易詢問值等于所述交易詢問值,則由所述確認(rèn)方拒絕所述憑單,以及如果在所述較早的交易中所使用的交易詢問值不同于所述交易詢問值,則由所述確認(rèn)方基于在所述較早的和當(dāng)前交易中所使用的憑單計算所述發(fā)放方的身份。通過利用較早交易中的那些憑單和交易詢問值檢驗所述憑單和交易詢問值,可以識別和懲罰試圖超支的各方。
根據(jù)所述第一方面的進一步改進的實施例,在所述提取步驟中,所述發(fā)放方向所述發(fā)行方提供對錢包秘密(wallet secret)的知識的證明,并且所述憑單是基于所述錢包秘密的,在所述消費步驟中,計算錢包檢查值并且將其傳送至所述接受方,在所述存放步驟中,向所述確認(rèn)方存放所述錢包檢查值,并且在所述確認(rèn)步驟中,如果所述確認(rèn)方檢測到在較早的交易中已向所述確認(rèn)方存放了所述憑單或所述洗錢檢查值,并且當(dāng)前交易的交易詢問值等于在所述較早的交易中所使用的交易詢問值,則基于所述當(dāng)前和較早的交易的錢包檢查值,由所述確認(rèn)方計算所述發(fā)放方的錢包秘密。通過計算所述發(fā)放方的錢包秘密以防其超支或超過所述交易限制,可以識別其所有的憑單。
根據(jù)所述第一方面的進一步改進的實施例,在所述消費步驟中,所述接受方檢驗所述交易數(shù)低于所述交易限制,并且如果所述交易數(shù)超出所述交易限制,則放棄所述交易。通過檢驗特定交易的交易數(shù)低于所述接受方的交易限制,所述接受方本身可以防止超過其預(yù)定交易限制的交易。
根據(jù)本發(fā)明的第二方面,公開了一種電子支付系統(tǒng)。所述電子支付系統(tǒng)包括用于發(fā)行預(yù)定面額的錢幣的銀行計算機系統(tǒng)、用于發(fā)放所述錢幣的用戶計算機系統(tǒng)、用于接受所述錢幣的商人計算機系統(tǒng),以及用于確認(rèn)所述錢幣的確認(rèn)方計算機系統(tǒng),所述銀行計算機系統(tǒng)、所述用戶計算機系統(tǒng)、所述商人計算機系統(tǒng)以及所述確認(rèn)方計算機系統(tǒng)在操作上通過數(shù)據(jù)網(wǎng)絡(luò)連接。根據(jù)依照所述第一方面的方法對所述錢幣進行提取、發(fā)放、存放和確認(rèn)。通過提供具有銀行計算機系統(tǒng)、用戶計算機系統(tǒng)、商人計算機系統(tǒng)以及確認(rèn)方計算機系統(tǒng)的電子支付系統(tǒng),在這些實體之間的交易可以安全、匿名且高效地在線進行,而不會引入電子洗錢的風(fēng)險。
根據(jù)本發(fā)明的第三和第四方面,公開了一種計算機程序和計算機程序產(chǎn)品。它們包括可由計算機系統(tǒng)的至少一個處理器執(zhí)行的程序指令,并且當(dāng)由所述至少一個處理器執(zhí)行所述程序指令時,實現(xiàn)根據(jù)本發(fā)明的第一方面所述發(fā)行方、所述發(fā)放方、所述接受方或所述確認(rèn)方的所有步驟。通過提供計算機程序或計算機程序產(chǎn)品,可以易于提供根據(jù)所述第一方面的方法的操作并將其分發(fā)至計算機系統(tǒng)。


當(dāng)結(jié)合附圖參照下面對依照本發(fā)明的、當(dāng)前優(yōu)選但仍然是說明性實施例的詳細描述,將更為全面地理解本發(fā)明及其實施例。

了圖1示出了依照本發(fā)明的實施例的電子支付系統(tǒng),其包括組合的銀行和確認(rèn)方計算機系統(tǒng)、用戶計算機系統(tǒng)和商人計算機系統(tǒng);以及圖2A至圖2D示出了依照本發(fā)明的實施例的方法的流程圖。
具體實施例方式
圖1示出了電子支付系統(tǒng)100,其包括組合的銀行和確認(rèn)方計算機系統(tǒng)101、用戶計算機系統(tǒng)102和商人計算機系統(tǒng)103。組合的銀行和確認(rèn)方計算機系統(tǒng)101、用戶計算機系統(tǒng)102以及商人計算機系統(tǒng)103通過數(shù)據(jù)網(wǎng)絡(luò)104連接。
組合的銀行和確認(rèn)方計算機系統(tǒng)101屬于銀行B,在下面也被稱為發(fā)行方或確認(rèn)方。按照電子支付系統(tǒng)的慣例,將假設(shè)組合的銀行和確認(rèn)方計算機系統(tǒng)101負責(zé)發(fā)行和接受電子支付系統(tǒng)100的錢幣。因此,圖1中僅示出了單個實體并在下面對其進行了描述。然而,對本領(lǐng)域的技術(shù)人員將顯而易見的是可以由分離的實體(即分離的發(fā)行方和確認(rèn)方)來實現(xiàn)兩個角色(即下面進一步描述的發(fā)行和確認(rèn)錢幣的角色)。
借助于組合的銀行和確認(rèn)方計算機系統(tǒng)101與用戶計算系統(tǒng)102之間的第一雙方協(xié)議,銀行B可以向用戶U(下面也稱為發(fā)放方)發(fā)行預(yù)定面額的錢幣(下面也稱為憑單S)。為了驗證由組合的銀行和確認(rèn)方計算機系統(tǒng)101所發(fā)行的憑單S,組合的銀行和確認(rèn)方計算機系統(tǒng)101包括簽名密鑰(pkB,skB)。簽名密鑰(pkB,skB)是兩部分不對稱的簽名密鑰,其中第一部分pkB是公用的并且第二部分skB是保密的或?qū)S玫摹?br> 組合的銀行和確認(rèn)方計算機系統(tǒng)101在生成憑單S期間使用簽名密鑰(pkB,skB)。這可以通過使用簽名算法來對用戶計算機系統(tǒng)102所提供的值簽名而發(fā)生??蛇x地,簽名密鑰(pkB,skB)可以用作第一雙方協(xié)議中組合的銀行和確認(rèn)方計算機系統(tǒng)101的輸入以計算憑單S,其中不顯示簽名密鑰(pkB,skB)的保密部分skB。
用戶計算機系統(tǒng)102包括發(fā)放方密鑰(pkU,skU),其也是具有公用部分pkU和保密部分skU的兩部分密鑰。另外,用戶計算機系統(tǒng)102包括錢包秘密s,其用于生成代表由組合的銀行和確認(rèn)方計算機系統(tǒng)101所發(fā)行的憑單S的序號Si。此外,發(fā)放方密鑰skU的專用部分、錢包秘密s以及所得出的序號Si并沒有向組合的銀行和確認(rèn)方計算機系統(tǒng)101公開。作為替代,用戶計算機系統(tǒng)102僅向第一雙方協(xié)議中組合的銀行和確認(rèn)方計算機系統(tǒng)101證明這些和其它參數(shù)的知識。
通過唯一身份idM標(biāo)識商人計算機系統(tǒng)103。另外,商人計算機系統(tǒng)103與交易限制NM關(guān)聯(lián),交易限制NM為組合的銀行和確認(rèn)方計算機系統(tǒng)101以及用戶計算機系統(tǒng)102所知。交易限制NM可以限制例如在給定情況下允許在任何單個的用戶計算機系統(tǒng)102與商人計算機系統(tǒng)103之間進行的交易數(shù)。
取決于憑單S的性質(zhì),這還可以代表交易值的限制。例如,如果每個憑單S都具有一美元的預(yù)定值,那么,如果交易限制NM被設(shè)為100,則用戶僅可以向與商人計算機系統(tǒng)103關(guān)聯(lián)的商人M消費100美元。可以隨電子支付系統(tǒng)100或其它憑單發(fā)行和兌換系統(tǒng)提供和使用對交易限制NM和憑單S的其它定義。在電子支付系統(tǒng)100中,例如,可以存在具有不同值的憑單S,例如,具有1美分、10美分、1美元、10美元和100美元的關(guān)聯(lián)值的憑單。同樣,交易限制NM可以對于單次購買、固定時期(例如一周、一個月或一年)有效,或者可以對于憑單S、簽名密鑰(pkB,skB)、發(fā)放方密鑰(pkU,skU)或商人計算機系統(tǒng)103的唯一身份idM的整個使用期限有效。
在第二雙方協(xié)議中,用戶計算機系統(tǒng)102向商人計算機系統(tǒng)103證明其擁有之前由組合的銀行和確認(rèn)方計算機系統(tǒng)101發(fā)行的憑單S。為此目的,用戶計算機系統(tǒng)102計算證明π。另外,用戶計算機系統(tǒng)102基于由商人計算機系統(tǒng)103生成的詢問值r1計算洗錢檢查值Vj。洗錢檢查值Vj強制商人M與用戶U之間的交易限制NM不被超過。
在用戶計算機系統(tǒng)102使用與商人計算機系統(tǒng)103的第二雙方協(xié)議從事交易之前,用戶計算機系統(tǒng)102檢查已經(jīng)與商人計算機系統(tǒng)103進行的交易數(shù)。如果超過交易限制NM,則誠實的用戶計算機系統(tǒng)102將不從事交易。同樣地,如果超過交易限制NM,則商人計算機系統(tǒng)103也將不從事交易。為了推行這種誠實,基本數(shù)學(xué)特性(underlying mathematicalproperty)保證商人計算機系統(tǒng)103僅可以生成與交易限制NM允許的一樣多的、用于各公用發(fā)放方密鑰pkU的不同交易詢問值r1。因此,各方都不會允許與特定的用戶計算機系統(tǒng)102發(fā)生超過限制數(shù)量的交易NM。然而,如果用戶計算機系統(tǒng)102和商人計算機系統(tǒng)103都不誠實,則它們被迫重用先前在較早的交易中使用的交易詢問值r1或生成虛假的證明π。
在第三雙方協(xié)議中,商人計算機系統(tǒng)103向組合的銀行和確認(rèn)方計算機系統(tǒng)101存放從用戶計算機系統(tǒng)102獲得的憑單S。除了憑單S之外,商人計算機系統(tǒng)103還存放交易詢問值r1、洗錢檢查值Vj以及在與用戶計算機系統(tǒng)102的第二雙方協(xié)議中所計算的證明π。組合的銀行和確認(rèn)方計算機系統(tǒng)101然后檢驗證明π相對于憑單S、交易詢問值r1、身份idM和試圖存放憑單S的商人計算機系統(tǒng)103的交易限制NM實際有效。如果證明π無效,則其拒絕存放。這特別意味著與憑單S關(guān)聯(lián)的值將不會存入商人M。
另外,組合的銀行和確認(rèn)方計算機系統(tǒng)101檢查是否已經(jīng)在較早的交易中存放了憑單S。如果是這種情況,則其將調(diào)查交易詢問值r1以便識別違犯者。如果檢測到在較早的交易中使用了同樣的交易詢問值r1′,則商人M將歸咎于試圖兩次存放憑單S。因此憑單S被拒絕,并且視情況,可以公布商人M的身份idM。如果交易詢問值r1和r1′不同,則用戶U應(yīng)受譴責(zé)。在這種情況下,基于當(dāng)前和先前的交易,可以確定用戶U的公用部分pkU。因此,組合的銀行和確認(rèn)方計算機系統(tǒng)101可以揭露欺騙性用戶計算機系統(tǒng)102的身份或者可以揭露與發(fā)放方密鑰(pkU,skU)關(guān)聯(lián)的錢包秘密。在這種情況下,組合的銀行和確認(rèn)方計算機系統(tǒng)101可以識別向用戶計算機系統(tǒng)102發(fā)行的所有憑單S以及由此而涉及的交易。
在進一步的步驟中,組合的銀行和確認(rèn)方計算機系統(tǒng)101還通過比較洗錢檢查值Vj和較早交易中的洗錢檢查值來檢驗是否并未超過交易限制。如果檢測到商人計算機系統(tǒng)103正試圖存放之前已向組合的銀行和確認(rèn)方計算機系統(tǒng)101存放的洗錢檢查值Vj,則其還將調(diào)查交易詢問值r1以便識別違犯者。如果較早的交易基于與當(dāng)前交易相同的交易詢問值r1,則商人計算機系統(tǒng)103單獨受到譴責(zé)。取決于電子支付系統(tǒng)100的安全設(shè)置,組合的銀行和確認(rèn)方計算機系統(tǒng)101可以拒絕存放憑單S和/或公布欺騙性商人M的身份idM。如果其不同,則用戶計算機系統(tǒng)也已經(jīng)有意超過了交易限制NM并且可以如上所述受到懲罰。
可以以硬件或軟件實現(xiàn)發(fā)行方和確認(rèn)方B、發(fā)放方U和接受方M的角色,例如通過專用計算機系統(tǒng)101、102和103或運行在通用計算機系統(tǒng)101、102和103上的軟件模塊或其組合。計算機系統(tǒng)101、102或103中可以包括計算機可讀介質(zhì),例如,含有可由計算機系統(tǒng)101、102或103中所包括的處理器執(zhí)行的程序的程序指令。計算機可讀介質(zhì)可以是例如CD-ROM、閃存卡、硬盤或任何其它合適的計算機可讀介質(zhì)。
圖2A至圖2D示出了依照本發(fā)明的實施例的方法的流程圖。
圖2A示出了在組合的銀行和確認(rèn)方計算機系統(tǒng)101與用戶計算機系統(tǒng)102之間執(zhí)行的第一雙方協(xié)議200。第一雙方協(xié)議200用來設(shè)置用于在電子支付系統(tǒng)100中實現(xiàn)交易以及用于由用戶計算機系統(tǒng)102從組合的銀行和確認(rèn)方計算機系統(tǒng)101提取錢幣的系統(tǒng)參數(shù)。
在步驟201,設(shè)置電子支付系統(tǒng)100的重要的系統(tǒng)參數(shù)。特別地,定義了保密參數(shù)k、雙線性映射e、錢包尺寸l以及雙線形映射e上的散列(hash)函數(shù)H1和H2。這些參數(shù)設(shè)置了用戶計算機系統(tǒng)102可以在其錢包中存儲多少憑單S的系統(tǒng)邊界。
在步驟202,發(fā)行方B生成包括專用部分pkB和保密部分skB的非對稱簽名密鑰(pkB,skB)。
在步驟203,發(fā)放方U也為用戶計算機102生成包括公用部分pkU和保密部分skU的非對稱發(fā)放方密鑰(pkU,skU)。
在步驟204,用戶計算機102生成隨機值,特別是錢包秘密s,其用于生成用于每個憑單S或者將要從組合的銀行和確認(rèn)方計算機系統(tǒng)101提取的錢幣的唯一序號Si。由用戶計算機系統(tǒng)102對所生成的隨機值s保持專用。
在步驟205,用戶計算機系統(tǒng)102向組合的銀行和確認(rèn)方計算機系統(tǒng)101證明其保密密鑰部分skU以及隨機值s和t的知識。另外,用戶計算機系統(tǒng)102在其保密的發(fā)放方密鑰部分skU以及隨機值s上獲得簽名σ。因此,組合的銀行和確認(rèn)方計算機系統(tǒng)101獲得錢包秘密s的可檢驗加密,且在該加密上具有用戶簽名。組合的銀行和確認(rèn)方計算機系統(tǒng)101并不學(xué)習(xí)有關(guān)發(fā)放方密鑰的保密部分skU或隨機值s的任何內(nèi)容。
在步驟206,用戶計算機系統(tǒng)102存儲從組合的銀行和確認(rèn)方計算機系統(tǒng)101提取的憑單S。實際上可以提取并一起存儲整組憑單(包括2l個憑單),每個憑單S由序號Si表示。根據(jù)CHL系統(tǒng),可以以尺寸O(l+k)特別緊致地存儲憑單,其中k是系統(tǒng)的保密參數(shù)。
圖2B示出了將要在用戶計算機系統(tǒng)102與商人計算機系統(tǒng)103之間執(zhí)行的第二雙方協(xié)議210,其用于消費向用戶計算機系統(tǒng)102發(fā)行的憑單S。
在步驟211,用戶計算機系統(tǒng)102檢查其與特定的商人計算機系統(tǒng)103的消費限制NM。如果其已經(jīng)達到交易限制NM,則誠實的用戶計算機系統(tǒng)102不會從事與商人計算機系統(tǒng)103的交易?;谠摍z查,用戶計算機系統(tǒng)102還計算用戶計算機系統(tǒng)102與商人計算機系統(tǒng)103之間的先前的交易數(shù)j。用戶計算機系統(tǒng)102還確定將要用于當(dāng)前交易的序號Si的指數(shù)i,其通常與下一未使用的憑單S相關(guān)聯(lián)。同樣地,商人計算機系統(tǒng)103將確定其是否低于與用戶計算機系統(tǒng)102的交易限制NM。
在步驟212,商人計算機系統(tǒng)103將生成交易詢問值,包括例如隨機參數(shù)r1和r2。然后將隨機詢問值r1和r2傳送至用戶計算機系統(tǒng)102。
在步驟213,用戶計算機系統(tǒng)102基于具有序號Si的憑單S以及交易詢問值r1和r2計算錢包檢查值Ti。用戶計算機系統(tǒng)102還計算在用戶計算機系統(tǒng)102與商人計算機系統(tǒng)103之間第j個交易的洗錢檢查值Vj。
在步驟214,通過向商人計算機系統(tǒng)103傳輸?shù)趇個序號Si及其關(guān)聯(lián)的檢查值Ti和Vj,將要使用的憑單S發(fā)送給商人計算機系統(tǒng)103。
在步驟215,用戶計算機系統(tǒng)102為商人計算機系統(tǒng)103生成對值i、j、skU、s和σ的知識的證明π。該證明π可以在用戶計算機系統(tǒng)102與商人計算機系統(tǒng)103之間交互式實現(xiàn)或者使用Fiat-Shamir啟發(fā)式方法非交互式實現(xiàn)。
在步驟216,商人計算機系統(tǒng)103檢驗證明π。如果證明π對于在交易中使用的序號Si有效,則商人計算機系統(tǒng)103接受與序號Si和證明π關(guān)聯(lián)的憑單S,例如用于支付。
圖2C示出了由組合的銀行和確認(rèn)方計算機系統(tǒng)101所執(zhí)行的確認(rèn)過程的第一部分220,其用于確定是否已在較早的交易中消費了憑單S。
在步驟221,商人計算機系統(tǒng)103提交憑單S,其包括交易詢問值r1和r2、憑單S的序號Si、檢查值Ti和Vj以及證明π。以這樣的方式,商人計算機系統(tǒng)103試圖兌換與憑單S關(guān)聯(lián)的值,例如通過請求由組合的銀行和確認(rèn)方計算機系統(tǒng)101存入關(guān)聯(lián)的幣值。
在步驟222,組合的銀行和確認(rèn)方計算機系統(tǒng)101檢驗證明π對于序號Si以及交易詢問值r1和r2有效。如果證明π無效,則組合的銀行和確認(rèn)方計算機系統(tǒng)101立刻拒絕接受交易。
在步驟223,組合的銀行和確認(rèn)方計算機系統(tǒng)101檢驗之前還未向組合的銀行和確認(rèn)方計算機系統(tǒng)101存放與序號Si關(guān)聯(lián)的憑單S。
如果之前已向組合的銀行和確認(rèn)方計算機系統(tǒng)101存放了憑單S,則在步驟224,執(zhí)行進一步的檢查,檢驗是否在較早的交易中使用了相同的交易詢問值r1。
如果是這樣的情況,則商人計算機系統(tǒng)103試圖第二次存放憑單S;因此在步驟225,組合的銀行和確認(rèn)方計算機系統(tǒng)101拒絕該憑單。
否則,用戶便已重復(fù)消費(double-spend)并且應(yīng)當(dāng)受到銀行B的懲罰。在這種情況下,組合的銀行和確認(rèn)方計算機系統(tǒng)101在步驟226接受來自商人計算機系統(tǒng)103的憑單但卻識別與公鑰部分pkU關(guān)聯(lián)的用戶計算機系統(tǒng)102。
在任選步驟227,取決于在圖2A中所示的提取協(xié)議期間所使用的電子支付系統(tǒng)100的安全設(shè)置,組合的銀行和確認(rèn)方計算機系統(tǒng)101可以基于在其中使用了相同序號Si的當(dāng)前交易和較早的交易來計算用戶計算機系統(tǒng)102的錢包秘密s。
因此,在步驟228,組合的銀行和確認(rèn)方計算機系統(tǒng)101可以基于錢包秘密s或公用用戶密鑰pkU識別向用戶計算機系統(tǒng)102發(fā)行的憑單S的所有其它的序號Si。
如果在步驟223測試的序號Si是唯一的,則在圖2D所示的第二部分230中繼續(xù)確認(rèn),其用于檢驗當(dāng)前交易并未超過交易限制NM。
在步驟231,檢驗為交易而計算的洗錢檢查值Vj。這是通過在步驟232將當(dāng)前的洗錢檢查值Vj與在較早的交易中已經(jīng)提交給組合的銀行和確認(rèn)方計算機系統(tǒng)101的先前的洗錢檢查值Vj進行比較來完成的。
如果洗錢檢查值Vj是唯一的,則組合的銀行和確認(rèn)方計算機系統(tǒng)101在步驟233接受所提交的憑單S,并且該方法結(jié)束。
否則,在進一步的步驟234,組合的銀行和確認(rèn)方計算機系統(tǒng)101檢驗在當(dāng)前和較早的交易中是否使用了相同的交易詢問值r2。
如果使用了相同的交易值r2,則僅是商人計算機系統(tǒng)103將受到譴責(zé)。在這種情況下,在步驟235拒絕憑單,從而使得與交易關(guān)聯(lián)的值不被存入商人計算機系統(tǒng)103。
否則,用戶也要受到譴責(zé)。因此,在步驟236、237和238,識別與公鑰pkU關(guān)聯(lián)的用戶計算機系統(tǒng)102的身份,解密其錢包秘密s,并且基于該信息,通過上述組合的銀行和確認(rèn)方計算機系統(tǒng)101計算該用戶的憑單S的其它序號Si。另外,在步驟235還將通過拒絕當(dāng)前的憑單來懲罰商人M。
由于基礎(chǔ)問題的數(shù)學(xué)復(fù)雜性,圖2A至圖2D中所呈現(xiàn)的流程圖僅可以呈現(xiàn)電子支付系統(tǒng)100中信息流的高級概況。在以下數(shù)學(xué)描述中詳述了為了實現(xiàn)組合的銀行和確認(rèn)方計算機系統(tǒng)101、用戶計算機系統(tǒng)102和商人計算機系統(tǒng)103之間的協(xié)議而發(fā)生的詳細操作。
安全的定義概括CHL系統(tǒng)的定義以處理重復(fù)消費以外的違犯。我們的脫機電子貨幣情況由三個常見的參與者組成用戶、銀行和商人;連同算法BKeygen、UKeygen、Withdraw、Spend、Deposit、{DetectViolation(i),IdentifyViolator(i),VerifyViolation(i)}、Trace和VerifyOwnership。非正式地,BKeygen和UKeygen分別是銀行和用戶的密鑰生成算法。用戶在Withdraw期間與銀行交互以獲得具有2l個錢幣的錢包;銀行將任選的跟蹤信息存儲在數(shù)據(jù)庫D中。在Spend中,用戶從其錢包向商人消費一個錢幣;結(jié)果商人獲得該錢幣的序號S,商人M記錄該錢幣的定位器V以及對有效性的證明π。在Deposit中,無論誠實的商人M何時從用戶接受錢幣C=(S,V,π),都會保證銀行將接受該錢幣用于存放。銀行將C=(S,V,π)存儲在數(shù)據(jù)庫L中。然而,此時,銀行需要確定C是否違犯任何的系統(tǒng)條件。
對于每種違犯i,都定義了算法的元組{DetectViolation(i),IdentifyViolator(i),VerifyViolation(i)}。在此,我們有兩種違犯。
違犯1(重復(fù)消費)在DetectViolation(1)中,銀行測試L中的兩個錢幣C1=(S1,V1,π1)和C2=(S2,V2,π2)是否具有相同的序號S1=S2。如果如此,則銀行在(C1,C2)上運行IdentifyViolator(1)算法,并且獲得違犯者的公鑰pk以及犯罪證明П。任何人都可以在(pk,S1,V1,П)上運行VerifyViolation(1)以確信具有公鑰pk的用戶重復(fù)消費了具有序號S1的錢幣。
違犯2(洗錢)在DetectViolation(2)中,銀行測試L中的兩個錢幣C1=(S1,V1,π1)和C2=(S2,V2,π2)是否具有相同的商人記錄定位器V1=V2。如果如此,則銀行在(C1,C2)上運行IdentifyViolator(2)算法,并且獲得違犯者的公鑰pk以及犯罪證明П。任何人都可以在(pk,S1,V1,П)上運行VerifyViolation(2)以確信具有公鑰pk的用戶利用具有商人記錄定位器V1的錢幣超過了有界匿名商業(yè)限制。
視情況,在任何違犯之后,銀行還可以在有效的犯罪證明П上運行Trace算法以獲得欺騙用戶利用公鑰pk連同所有權(quán)的證明Γ曾消費的所有序號Si的列表。任何人都可以在(pk,Si,Γ)上運行VerifyOwnership以確信具有公鑰pk的用戶是具有序號Si的錢幣的所有者。
另外,將CHL系統(tǒng)的安全定義推廣用于電子貨幣。其對正確性、平衡(balance)以及用戶的匿名(anonymity of user)的形式化保持不變。概略地,平衡保證誠實的銀行絕不會不得不接受超過用戶提取的錢幣來存放,而用戶的匿名確保用戶保持完全匿名,除非他們違犯了已知的系統(tǒng)條件之一。下面描述了三個附加的特性。這些特性是CHL對重復(fù)消費者的識別和跟蹤,及其辯解能力(exculpability)的泛化,以便應(yīng)用于任何具體的違犯,特別是上述那些。令params為全局參數(shù),包括每錢包的錢幣數(shù)以及每個商人的消費限制。
識別違犯者假設(shè)誠實的商人(或可能的商人)與對手兩次運行Spend協(xié)議,使得輸出是C1=(S1,V1,π1)和C2=(S2,V2,π2)。該特性保證在高概率情況下,如果對于某個i,DetectViolation(i)(params,C1,C2)接受,那么IdentifyViolator(i)(params,C1,C2)輸出密鑰pk和證明П使得VerifyViolation(i)(params,pk,S1,V1,П)接受。
跟蹤違犯者假設(shè)VerifyViolation(i)(params,pk,S,V,П)接受從錢幣C1、C2得出的某種違犯i。該特性保證在高概率的情況下,Trace(params,pk,C1,C2,П,D)輸出屬于具有pk的用戶的所有錢幣的序號S1,...,Sm連同所有權(quán)的證明Γ1,...,Γm,從而使得對于所有的j,VerifyOwnership(params,pk,Sj,Γj)接受。
辯解能力假設(shè)對手參與了任意次與具有密鑰pk的誠實用戶的Withdraw協(xié)議,并且隨后參與了任意次與相同用戶的non-violation Spend協(xié)議。對手然后輸出整數(shù)i、錢幣序號S以及假設(shè)的證明Γ(即具有密鑰pk的用戶做出了違犯i并擁有錢幣S)。弱辯解能力特性表明,對于所有的對手來說,VerifyO(params,pk,S,Γ)接受的概率可忽略。
此外,對手可以繼續(xù)使用戶參加Spend協(xié)議,迫使他違犯系統(tǒng)條件。對手然后輸出(i,S,V,П)。強辯解能力特性表明,對于所有的對手來說(1)當(dāng)S是不屬于具有pk的用戶的錢幣序號時,弱辯解能力成立,以及(2)當(dāng)具有pk的用戶未做出違犯i時,VerifyViolation(i)(params,pk,S,V,П)接受的概率可忽略。
技術(shù)預(yù)備電子貨幣系統(tǒng)使用各種已知的協(xié)議作為積木式部件,現(xiàn)在對其進行簡要回顧。這些協(xié)議中的很多可以在幾種不同的復(fù)雜度假設(shè)下、在可以擴展到我們的電子貨幣系統(tǒng)的靈活性下顯示安全。注意我們記G=<g>表示g生成組G。
雙線性映射假設(shè)Bilinear_Setup是一種在輸入保密參數(shù)1k時就輸出雙線性映射的參數(shù)為γ=(q,g1,h1,G1,g2,h2,G2,GT,e)的算法。每組G1=<g1>=<h1>、G2=<g2>=<h2>以及GT均具有素數(shù)階q=Θ(2k)。高效率可計算的映射eG1×G2→GT均是(Bilinear)對于所有的g1∈G1,g2∈G2以及a,b∈Zq,e(g1a,g2b)=e(g1,g2)ab;]]>以及(Non-degenerate)如果g1是G1的生成元,并且g2是G2的生成元,那么e(g1,g2)生成GT。
復(fù)雜性假設(shè)我們的方案的安全性依賴于與CHL相同的假設(shè),即強RSA假設(shè)給定RSA模n以及隨機元素g∈Zn*,]]>難以計算h∈Zn*]]>以及整數(shù)e>1使得he≡g按n取模。模n具有特殊形式pq,其中p=2p′+1和q=2q′+1是安全素數(shù)。
y-決策性Diffie-Hellman反轉(zhuǎn)假設(shè)(y-DDHI)給定隨機生成元g∈G(其中G具有素數(shù)階q)、對于隨機的x∈Zq的值(g,gx,…,g(xy)),以及值R∈G,難以判定是否R=g1/x。
外部Diffie-Hellman假設(shè)(XDH)假設(shè)Bilinear_Setup(1k)產(chǎn)生雙線性映射eG1×G2→GT的參數(shù)。XDH假設(shè)表明決策性Diffie-Hellman(DDH)問題在G1中是困難的。這意味著并不存在高效率可計算的同構(gòu)(isomorphism)ψ′G1→G2。
Sum-Free決策性Diffie-Hellman假設(shè)(SF-DDH)假設(shè)g∈G是q階隨機生成元。令L為|q|的任意多項式函數(shù)。令 為諭示(oracle),在輸入子集Ieq{1,…,L}時輸出值g1B1,其中對于某a→=(a1,···,aL)∈ZqL]]>來說βI=Πi∈Iai.]]>另外,令R為謂詞(predicate),使得當(dāng)且僅當(dāng)J{1,…,L}相對于Ii是DDH獨立的時,R(J,I1,…,It)=1;也就是說,當(dāng)v(Ii)是當(dāng)且僅當(dāng)j∈Ii時在位置j是一否則是零的、L長度的向量時,便不存在三個集合Ia,Ib,Ic使得v(J)+v(Ia)=v(Ib)+v(Ic)(其中在整數(shù)上逐位添加)。
然后,對于所有的概率多項式時間對手(adversary)A(·),Pr[a→=(a1,···,aL)←ZqL;(J,α)←AOa‾(1|q|);y0=gΠi∈Jai;y1←G;]]> 其中Q是A向 進行的查詢的集合。
密鑰構(gòu)建塊1)已知基于離散對數(shù)的、零知識證明在共用參數(shù)模型中,使用用于證明關(guān)于離散對數(shù)的聲明的幾個先前已知的結(jié)果,例如(1)對以素數(shù)或合數(shù)為模的離散對數(shù)的知識的證明,(2)對表示以兩個(可能不同的)素數(shù)或合數(shù)模數(shù)為模的等式的知識的證明,(3)證明承諾(commitment)對兩個其它承諾值(commited value)的產(chǎn)生開放,(4)證明承諾值位于給定的整數(shù)間隔,以及(5)對先前任意兩個的析取(disconjuntion)或合取(conjunction)的證明。這些以合數(shù)為模的協(xié)議在強RSA假設(shè)之下是安全的,并且在離散對數(shù)假設(shè)之下以素數(shù)為模。Fiat-Shamir啟發(fā)式方法可以應(yīng)用于將對知識的這樣的證明轉(zhuǎn)換成某消息m上對知識的簽名證明(signature proofs of knowledge)。
2)CL簽名根據(jù)Pedersen承諾方案,公用參數(shù)是具有素數(shù)階q的組G,以及生成元(g0,…,gm)。為了承諾于值(v1,…,vm)∈qm,挑選隨機的r∈q并且設(shè)置C=PedCom(v1,···,vm;r)=g0rΠi=1mgivi.]]>存在具有兩個協(xié)議的安全簽名方案(1)在用戶與具有密鑰(pkS,skS)的簽名者之間的高效率協(xié)議。共用輸入包括pkS和C(Pederson承諾)。用戶的秘密輸入是值(v1,…,vl,r)的集合,使得C=PedCom(v1,…,vl;r)。作為協(xié)議的結(jié)果,用戶獲得其承諾值上的簽名σpks(v1,…,vl),盡管簽名者并沒有學(xué)習(xí)關(guān)于它們的任何內(nèi)容。簽名具有尺寸O(llogq)。(2)對用戶與檢驗方之間的簽名協(xié)議的知識的高效率證明。共用輸入是pkS和承諾C。用戶的專用輸入是值(v1,…,vl,r)和σpks(v1,…,vl),使得C=PedCom(v1,…,vl;r)。這些簽名在強RSA假設(shè)之下是安全的。出于該闡述的目的,CL簽名實際如何工作無關(guān)緊要。
隨后的電子貨幣系統(tǒng)使用與CL簽名無關(guān)的強RSA假設(shè)。使用雙線性映射,人們實際上可以使用其它的簽名方案來產(chǎn)生更短的簽名。
3)可檢驗的加密在可檢驗的加密方案中,加密方/證明方使檢驗方確信在已知公鑰下加密的明文等效于隱藏在Pedersen承諾中的值。在“Jan Camenisch andIvan Damgard.Verifable encryption,group encryption,and theirapplications to group signatures and signature sharing schemes.InTatsuaki Okamoto,editor,Advances in Cryptology |ASIACRYPT′00,volumn 1976 of LNCS,pages 331-345.Springer Verlag,2000”中描述了一種技術(shù),其用于將任何在語義上安全的加密方案轉(zhuǎn)成可檢驗的加密方案。
該技術(shù)可以用于將任何在語義上安全的加密方案轉(zhuǎn)成可檢驗的加密方案??蓹z驗的加密方案是證明方與加密方P以及檢驗方與接收方V之間的雙方協(xié)議。
概略地,它們的共用輸入是公用加密密鑰pk和承諾A。作為協(xié)議的結(jié)果,V要么拒絕要么獲得A的開頭的加密c。協(xié)議確保V僅以可忽略的概率接受不正確的加密并且V沒有學(xué)習(xí)關(guān)于A的開頭的任何有意義的內(nèi)容。連同相應(yīng)的保密密鑰sk,抄本c含有足夠的信息來高效率地恢復(fù)A的開頭。在此我們避開一些細節(jié)并且涉及對Camenisch和Damgard的充分討論。
4)雙線性Elgamal加密尋找在其中g(shù)x足以用于解密并且公鑰對于某函數(shù)f是f(gx)的密碼系統(tǒng)。在“Dan Boneh and Matthew Franklin.Identity-based encryption fromthe Weil pairing.In Joe Kilian,editor,Advances in Cryptology|CRYPTO′01,volumn 2139 of LNCS,pages 213-229.Springer Verlag,2001”中,在基于身份的情況下提供了一個例子。這里使用了Ateniese等人的雙線性Elgamal加密方案,其在由Sum-Free DDH所暗示的假設(shè)下在語義上是安全的。
特別地,將上述可檢驗的加密技術(shù)應(yīng)用于下面的Elgamal加密的雙線性變量。假設(shè)在lk上運行Bilinear_Setup以獲得γ=(q,g1,h1,G1,g2,h2,G2,GT,e),其中具有雙線性映射eG1×G2→GT。令(G,E,D)表示標(biāo)準(zhǔn)的密鑰生成、加密以及解密算法。在輸入(lk,γ)時,密鑰生成算法G對隨機的u∈Zq輸出密鑰對(pk,sk)=(ap(g1,g2)u,g1u).]]>主要思想在于值g1u足夠解密。
為了在pk下加密消息m∈GT,選擇隨機的k∈Zq并輸出密文c=(g2k,pkkm)=(g2k,e(g1,g2)ukm).]]>然后,為了用值g1u解密c=(c1,c2),簡單計算c2/e(g1u,c1)。該加密方案在決策性雙線性Diffie-Hellman(DBDH)假設(shè)下已知在語義上是安全的,即對隨機的a,b,c∈Zq以及X∈GT給定(g2,g2a,g2b,g2c,X),難以判定是否X=e(g1,g2)abc。
5)DY偽隨機函數(shù)(PRF)假設(shè)G=<g>是一組素數(shù)階q。令s為Zq的隨機元素。Dodis和Yampolskiy最近為輸入x∈Zq*]]>提出了偽隨機函數(shù)fg,sDY(x)=g1/(s+x).]]>該構(gòu)造在y-DDHI下是安全的。在上述構(gòu)造中,可以用Naor-Reingold PRF替換DYPRF,并且用更標(biāo)準(zhǔn)的DDH假設(shè)代替y-DDHI假設(shè),代價是將我們的錢包從O(l+k)比特加大到O(l·k)比特。
有界匿名模型中的緊湊電子貨幣如在CHL緊湊電子貨幣方案中一樣,用戶從銀行提取具有2l個錢幣的錢包并逐個花掉。此外,如在CHL方案中一樣,使用了偽隨機函數(shù)f(·)(·),其范圍是具有大的素數(shù)階q的某個組G。
在高層級,用戶通過從適當(dāng)?shù)挠?將在稍后解釋)挑選五個值(x,s,t,v,w)來形成具有2l=N個錢幣的錢包,并且與銀行運行適當(dāng)?shù)陌踩珔f(xié)議以在這些值上獲得銀行的簽名σ。
下面假設(shè)用戶想要通過從商人M購買物品而消費錢幣數(shù)i,并且只有與該商人達到K個交易才可以匿名。進一步假設(shè)這是用戶與M的第j次交易,j≤K。與錢包中第i個錢幣關(guān)聯(lián)的是其序號S=Fs(i)。與商人M的第j次交易關(guān)聯(lián)的是該商人的記錄定位器V=Fv(M,j)。
根據(jù)本發(fā)明的實施例,提供了在Spend協(xié)議中,用戶應(yīng)當(dāng)給予商人值(S,V)以及這樣的(非交互式零知識)證明,即這些值是作為(s,i,v,M,j)的函數(shù)來計算的,其中1≤i≤N,1≤j≤K,并且(s,v)對應(yīng)于銀行所簽名的錢包。S和V是偽隨機的,并且因此在計算上沒有泄露任何信息;并且因為其是零知識的,所以證明也沒有泄露信息。假設(shè)用戶消費超過N個錢幣。那么由于僅有N個可能的、Fs(i)形式的值S,其中1≤i≤N,因此其已經(jīng)超過一次地使用了某個序號。類似地,假設(shè)用戶與M進行了超過K次的交易。那么由于對于固定的M,僅有K個不同的值V=Fv(M,j),1≤j≤K,因此其已經(jīng)超過一次地使用了某個商人記錄定位器。因此可以檢測到重復(fù)消費以及對有界匿名商業(yè)模型的違犯。
下面解釋如何給出超過一次使用任何的S或V導(dǎo)致識別。除了s和v,錢包還含有x,t和w。值x∈q使得gx是可以公開鏈接至用戶的身份的值(其中g(shù)是組G的生成元)。例如,對于某些可計算的函數(shù)f,f(gx)可以是用戶的公鑰。假設(shè)作為交易的一部分,商人給出隨機值r≠0,并且用戶顯示T=gxFt(i)r和W=gxFw(M,j)r以及這樣的證明,即T和W是作為對應(yīng)于完全相同的錢包以及相同的i和j的函數(shù)(r,x,t,i,w,M,j)而適當(dāng)計算的。再者,T和W是偽隨機的并且因此不會泄露任何信息。
如果用戶兩次使用相同的序號S=Fs(i),并且q適當(dāng)大,那么在兩次不同的交易中其將以高概率接收不同的r,稱它們?yōu)閞1和r2,并且因此將必須用T1=gxFt(i)r1]]>和T2=gxFt(i)r2]]>進行響應(yīng)。容易明白值gx然后可以如下計算gx=T1/(T1/T2)r1/(r1-r2).]]>示出了也是如此的情況,即如果用戶兩次使用相同商人的記錄定位器數(shù)V,那么可以以相同的方式精確找到gx。假設(shè)在兩次交易中商人使用相同的r。在這種情況下,銀行可以僅僅拒絕存放該電子錢幣(由于是相同的商人,因此其對自身缺乏適當(dāng)?shù)碾S機化負責(zé))。如果假設(shè)商人使用了不同的r,r1和r2,導(dǎo)致W1和W2,則可以得到gx=W1/(W1/W2)r1/(r1-r2).]]>因而,重復(fù)消費或違犯有界商業(yè)模型導(dǎo)致識別。僅剩的問題是可如何使其適于跟蹤相同用戶的其它交易。gx不一定是公用值,其還可以是這樣的情況,即僅f(gx)是公用的,而gx的知識給予解密密文的能力,該密文由可檢驗的加密s形成(例如,Boneh和Franklin的密碼系統(tǒng)具有g(shù)x足以解密的特性)。當(dāng)提取錢包時,用戶將這樣的密文給銀行。而s的知識又允許發(fā)現(xiàn)來自該錢包的所有錢幣的序號并了解它們是被如何消費的。
最后,應(yīng)當(dāng)將值(x,v,w)綁定到用戶的身份而不是到特定的錢包。如此,即使用戶試圖從不同的錢包向特定的商人消費過多的錢,也仍然會導(dǎo)致檢測和識別。
協(xié)議的詳細描述由于該方案是對CHL電子貨幣方案的擴展,因此使用Dodis-Yampolskiy偽隨機函數(shù),即f(g,s)DY(x)=g1/(s+x),]]>其中g(shù)是合適組的生成元;CL簽名及相關(guān)協(xié)議發(fā)行簽名并證明簽名的知識;并且隨Camenisch-Damgard可檢驗加密技術(shù)使用雙線性Elgamal密碼系統(tǒng)。
注解令F(g,s)(x)=f(g,s)DY(x),]]>并且當(dāng)H是范圍為適當(dāng)組的hash(散列)函數(shù)的時候,令GsH(M,x)=f(H(M),s)DY(x).]]>現(xiàn)在描述系統(tǒng)的協(xié)議Setup(設(shè)置)、Withdraw(提取)、Spend(消費)和Deposit(存放)(包括響應(yīng)于違犯的協(xié)議)。
Setup協(xié)議令k為保密參數(shù)。共用系統(tǒng)參數(shù)是雙線性映射參數(shù)Bilinear_Setup(1k)→(q,g1,G1,g2,h2,G2,GT,e),錢包尺寸l,以及兩個hash函數(shù)H1{0,1}*→GT和H2{0,1}*→G1。銀行生成CL簽名密鑰(pkB,skB)。
每個用戶生成skU=(x,v,w)和pkU=(e(g1,h2)x,e(g1,h2)v,e(g1,h2)w)形式的密鑰對,其中x,v,w是從Zq隨機選擇的。每個用戶還為任何的安全簽名方案生成簽名密鑰對。每個商人還公布唯一的身份串idM。此外,確定每個用戶可以向商人idM消費的錢幣數(shù)的上界NM。
Withdraw協(xié)議用戶U如下從銀行B提取2l個錢幣。用戶和銀行參與交互協(xié)議,并且如果都沒有報告錯誤,那么在結(jié)束時1.U獲得(s,t,σ),其中s,t是Zq中的隨機值,并且σ是在(skU,s,t)上的銀行簽名,即(x,v,w,s,t)。
2.B獲得在e(g1,h2)x下s的可檢驗加密,即來自用戶的公鑰pkU的第一元素連同該加密上的用戶簽名。
3.B沒有學(xué)習(xí)關(guān)于skU、s或t的任何內(nèi)容。
使用簽名以及如“Jan Camenisch and Anna Lysyanskaya.A signaturescheme with ecient protocols.In Stelvio Cimato,Clemente Galdi,andGiuseppe Persiano,editor,Security in Communication Networks′02,volumn 2576 of LNCS,pages 268-289.Springer Verlag,2002”中所描述的相關(guān)協(xié)議可以實現(xiàn)步驟一。通過將Camenisch-Damgard可檢驗加密技術(shù)應(yīng)用于雙線性Elgamal密碼系統(tǒng)可以實現(xiàn)步驟二。步驟三跟隨在前兩個之后。所有這些步驟本質(zhì)上與CHL電子貨幣方案中的是相同的,除了簽名的密鑰現(xiàn)在除了x之外還包括v和w。
Spend協(xié)議在NM個錢幣的消費限制的情況下,用戶U如下向商人M消費一個錢幣。如在CHL中的,用戶為其錢包中消費的錢幣數(shù)保持從1到2l的專用計數(shù)器i。另外,現(xiàn)在用戶還為每個商人M保持計數(shù)器jM,表示該用戶向那個商人消費的錢幣數(shù)。
1.U檢查低于他與商人M的消費限制;也就是說,jM<NM。如果不是的話就異常中止。
2.M向U發(fā)送隨機的r1,r2∈Zq*.]]>3.U在與M的第jM次交易時向M發(fā)送其錢包中的第i個錢幣。再調(diào)用skU=(x,v,w)。該錢幣包括序號S和錢包檢查T,其中S=F(e(g1,h2),s)(i)=e(g1,h2)1/(s+i),]]>T=g1x(F(g1,t)(i))r1=g1x+r1/(t+i)]]>以及兩個洗錢檢查值V和W,其中V=GvH1(idM,jM)=H1(idM)1/(v+jM),]]>W=g1x(GwH2(idM,jM))r2=g1xH2(idM)r2/(w+jM)]]>以及零知識的、對(i,jM,skU=(x,v,w),s,t,σ)的知識的證明(ZKPOK)π,使得(a)1≤i≤2l;(b)1≤jM≤NM;(c)S=F(e(g1,h2),s)(i),]]>即S=e(g1,h2)1/(s+i);(d)T=g1x(F(g1,t)(i))r1,]]>即T=g1x+r1/(t+i);]]>(e)V=GvH1(idM,jM),]]>即V=H1(idM)1/(v+jM);]]>(f)W=g1x(GwH2(idM,jM))r2,]]>即W=g1xH2(idM)r2/(w+jM),]]>以及(g)VerifySig(pkB,(skU=(x,v,w),s,t),σ)=true可以使用Fiat-Shamir啟發(fā)式方法使得證明π是非交互式的。
4.如果π進行了檢驗并且之前M從未見過值Vj,那么M接受并保存錢幣(r1,r2,S,T,V,W,π)。如果之前在錢幣(r1,r2,S′,T′,V,W′,π′)中曾見過值Vj,那么M運行Open(W′,W,r2,r2)。如果M誠實地執(zhí)行Spend協(xié)議(即在每個協(xié)議開始處選擇新的隨機值),那么在高概率情況下r2≠r2,并且Open(W′,W,r2,r2)=g1x.]]>因而,商人可以通過計算e(g1x,h2)來識別用戶,e(g1x,h2)是U的公鑰的一部分。這使得誠實的商人能夠自我保護來避免將試圖超支的顧客。(如果商人不誠實,則銀行將在存放時發(fā)覺超支。)步驟3(a,c,d)和CHL方案中的相同,盡管步驟3(b,e,f)是新的但卻類似于步驟3(a,c,d)。最后,步驟3(g)需要進行適當(dāng)?shù)匦薷摹R虼?,使用?biāo)準(zhǔn)技術(shù)可以完成步驟3(a)和3(b)。使用如“Jan Camenisch,SusanHohenberger and Anna Lysyanskaya.Compact E-Cash.In RonaldCramer,editor,Advances in Cryptology EUROCRYPT′05,volumn 3494of LNCS,pages 302-321,2005”中所描述的Camenisch、Hohenberger和Lysyanskaya的技術(shù)可以完成步驟3(c)至步驟3(f)。使用Camenisch和Lysyanskaya簽名可以完成步驟3(g)。
Deposit協(xié)議商人M通過提交錢幣(r1,r2,S,T,V,W,π)向銀行B存放錢幣。銀行檢查證明π;其如果沒有檢驗,則銀行立即拒絕?,F(xiàn)在,銀行進行兩個附加的檢查。
首先,B檢查錢幣的消費者還沒有超支其錢包;也就是說,銀行搜索任何先前已接受的、具有相同序號S的錢幣。假設(shè)找到了這樣的錢幣(r1,r2,S,T′,V′,W′,π′)。如果r1=r1,則B拒絕接受該錢幣。否則,B接受來自商人的該錢幣,但是現(xiàn)在應(yīng)當(dāng)懲罰重復(fù)消費的用戶。
1.B執(zhí)行Open(T′,T,r1,r1)=g1x.]]>2.B識別用戶為具有含有e(g1x,h2)的公鑰的人。
3.B使用g1x在Withdraw協(xié)議期間對留給銀行的s的加密進行解密。
接下來,B使用s計算用戶錢包中所有錢幣從j=1到2l的每個錢幣的序號Sj=F(e(g1,h2),s)(j).]]>實際上,銀行可以使用g1x來對所有用戶的錢包的秘密進行解密并以相同的方式跟蹤那些交易。
其次,B檢查錢幣的消費者還沒有超過其與商人M的消費限制。也就是說,銀行搜索任何先前已接受的、具有相同的洗錢檢查值Vj的錢幣。假設(shè)找到了這樣的錢幣(r1,r2,S′,T′,V,W′,π′)。銀行拒絕接受存放物并懲罰商人。銀行現(xiàn)在確定消費者是否應(yīng)受到譴責(zé)。如果r2=r2,則B僅懲罰商人。否則,B還可以懲罰試圖洗錢的用戶。
1.B執(zhí)行Open(W′,W,r2,r2)=g1x.]]>2.B識別用戶為具有含有e(g1x,h2)的公鑰的人。
3.B使用g1x在Withdraw協(xié)議期間對留給銀行的s的加密進行解密。
接下來,B使用s計算用戶錢包中所有錢幣從j=1到2l的每個錢幣的序號Sj=F(e(g1,h2),s)(j).]]>(實際上,銀行可以使用g1x來對所有用戶的錢包的秘密進行解密并以相同的方式跟蹤那些交易。)如果所有的檢查都通過,則B接受存入M的帳戶的錢幣。
該存放協(xié)議(deposit protocol)類似于CHL方案中的存放協(xié)議,即并不是僅檢查重復(fù)消費,銀行現(xiàn)在還檢查洗錢。因而,如果用戶是誠實的,則銀行進行兩個數(shù)據(jù)庫查找而不是之前的一個。
下面描述Open()算法,其與CHL系統(tǒng)中的相同Open(W1,W2,r1,r2):=W1(W1/W2)r1/(r1,r2).]]>因而,對于一些元素h∈G1和s,j∈Zq*,]]>如果Wi=gxF(h,s)(j)ri,]]>則我們得到Open(W1,W2,r1,r2)=gx。
下面描述違犯相關(guān)的協(xié)議如何工作。令C1=(r1,r2,S,T,V,W,π)和C2=(r1,r2,S′,T′,V′,W′,π′)是一個現(xiàn)有的和一個新存放的錢幣。檢測重復(fù)消費或洗錢涉及分別檢查S1=S2或V1=V2。識別算法在適當(dāng)?shù)妮斎肷线\行Open,并且得到的犯罪證明是П=(C1,C2)。檢驗違犯需要成功地檢查錢幣的有效性、檢測所聲稱的違犯、運行Open以獲得g1x,以及檢查其與pk的關(guān)系。一個違犯的泄漏并不能用于消費用戶的錢幣或偽造另一個違犯。跟蹤算法涉及在Withdraw期間從由用戶簽名的加密E恢復(fù)s,并且計算所有的序號。所有權(quán)的證明Γ=(E,σ,g1x),]]>其中σ是用戶在E上的簽名。檢驗?zāi)硞€序號S的所有權(quán)涉及檢驗簽名σ、檢查e(g1x,h2)=pk,]]>解密E以恢復(fù)s、計算所有的序號Si,以及測試是否對于任意i,S=Si。
收回(scaling back)對系統(tǒng)違犯者的懲罰為了使對系統(tǒng)違犯者的懲罰更寬大或僅僅使系統(tǒng)更有效率,有兩個可用的其它選項選項(1)檢測違犯并揭示用戶的身份。除了在Withdraw協(xié)議期間用戶并不給予銀行其錢包秘密s的可檢驗加密之外,該系統(tǒng)操作如上。然后稍后在Deposit協(xié)議期間,銀行仍然可以檢測違犯和識別用戶,但是將不能夠計算涉及該用戶的其它交易的序號。
選項(2)檢測違犯。除了在Spend協(xié)議期間用戶并不向商人提供洗錢檢查值Yj之外,該系統(tǒng)操作如選項(1)系統(tǒng)。然后稍后在Deposit協(xié)議期間,銀行仍然可以檢測違犯,但是將不能夠識別用戶。
效率考慮作為對協(xié)議效率的指示,規(guī)定了一些數(shù)。例如,可以構(gòu)造Spend,使得用戶必須計算十四個多底取冪(multi-base exponentiation)以建立承諾以及另外二十個用于證明。在該例中,商人和銀行需要實現(xiàn)二十個多底取冪以檢查錢幣是有效的。協(xié)議提供了用戶與商人之間的兩輪通信,以及銀行與商人之間的一輪通信。如果采用上面的選項(2),那么就是十三個多底取冪來建立承諾以及另外十八個用于證明。銀行和商人的檢驗采用了十八個多底取冪。
安全證明在有界匿名商業(yè)模型中,該方案實現(xiàn)了正確性、平衡、用戶的匿名、對違犯者的識別、對違犯者的跟蹤,以及在強RSA、y-DDHI和隨機諭示模型中的XDH或Sum-Free DDH假設(shè)下的強辯解能力。
由于空間限制,提供了一些高級直覺以及證明概略。存在對CHL的三個主要的觀察??梢詫⑵鋽U展以防止重復(fù)消費以外的違犯,特別是通過謹(jǐn)慎使用PRF來將其輸出鏈接至商人。
平衡對于每個錢包來說,s確定性地定義了可以是錢幣的有效序號的、精確的N個值。為了超支錢包,用戶可以使用一個序號兩次,在這種情況下,該用戶是可識別的,或者該用戶可以假造CL簽名或偽造ZK證明。
用戶的匿名錢幣包括四個值(S,T,V,W),其是偽隨機的并且因而不泄漏有關(guān)用戶的任何信息以及對有效性的(非交互式、零知識)證明,由于該證明是零知識的,因此也不泄漏任何內(nèi)容。
在此僅有的異常是,當(dāng)計算V和W的時候,用于PRF的底是商人的身份的散列(與用于計算S和T的固定底形成對比)。將散列H看作隨機諭示,我們看到給定GvH(idM,j),在任何其它輸入上的GvH(·,·)的輸出,特別是對于idM≠idM的GvH(idM,j),并不能與隨機的區(qū)分開來。特別地,如果對于一些隨機的、固定的H(idM)和H(idM),對手給定的GvH(idM,j)=f(H(idM),v)DY(j)=H(idM)1/(v+j)]]>可以將H(idM)1/(v+j)與隨機的區(qū)分開來,那么其就解決了DDH。
辯解能力首先,誠實的用戶不能被證明他沒有犯下罪行,因為犯罪證明包括用戶的秘密值g1x。如果用戶是誠實的,則僅有該用戶知道該值。其次,甚至欺騙性用戶也不能被證明他沒有犯下罪行-例如,重復(fù)消費一個錢幣并不能實現(xiàn)對洗錢二十個錢幣的偽證-因為(1)罪行是公開從錢幣自身檢驗的,以及(2)x的知識是要創(chuàng)建錢幣的。違犯所泄漏的值g1x并不足以從該用戶的錢包消費錢幣。
下面基于以上概括的定義概述證明。
正確性可以檢驗如果誠實方遵循協(xié)議,則雙方都不會輸出錯誤消息。
平衡令A(yù)為執(zhí)行與充當(dāng)銀行的提取器E的n個Withdraw協(xié)議的對手。在每個Withdraw期間,E完全充當(dāng)誠實的銀行,除了當(dāng)A給出對(x,s,t,v,w)的知識的證明時以外,E提取這些值。從s,E可以以特定的概率計算A可以為該錢包計算的所有合法序號。令L表示來自所有錢包的所有序號的集合。現(xiàn)在假設(shè)A可以使誠實的銀行接受具有序號SL的錢幣。那么接著A就編造了對有效性的偽證,這以可忽略的概率發(fā)生。
用戶的匿名對匿名的CHL定義提供了仿真器S,其可以在不訪問用戶的錢包、密鑰、或者甚至用戶的公鑰的情況下成功地執(zhí)行用戶端的Spend協(xié)議。假設(shè)S希望向商人M消費錢幣,其中錢包尺寸是N,并且M的匿名消費限制是M。S選擇隨機值(x,s,t,v,w)以及任意的1≤i≤N和1≤jM≤M。接下來,S完全按照誠實的用戶那樣創(chuàng)建錢幣序號S=F(e(g1,h2),s)(i),]]>商人記錄定位器V=GvH1(idM,jM)]]>以及檢查值T=g1xF(g1,t)(i)r1]]>和W=g1xGwH2(idM,jM)r2.]]>因為這些值是偽隨機的,所以它們不能與真實的錢幣區(qū)分開來。S可以證明(S,T,V,W)形成良好并且i、jM處于適當(dāng)?shù)姆秶可以偽造的僅有的證明部分是S在(x,s,t,v,w)上具有來自銀行的簽名。在此,S調(diào)用適當(dāng)?shù)腃L仿真器用于該步驟,其請求控制隨機諭示。
識別違犯者如在平衡中所述,提取器E與對手A執(zhí)行多個Spend協(xié)議,以高概率提取(x,s,t,v,w)。對于每個錢包來說,E可以計算對于1≤i≤N的所有有效的錢幣序號Si=F(e(g1,h2),s)(i),]]>以及對于1≤jM≤M和某商人M的所有有效的商人記錄定位器Vj=GvH1(idM,jM).]]>現(xiàn)在假設(shè)A可以使誠實的銀行接受具有相同序號S1=S2的兩個錢幣C1=(S1,T1,V1,W1,π1,r1,r1)和C2=(S2,T2,V2,W2,π2,r2,r2)或者具有相同商人記錄定位器V1=V2的兩個錢幣。由于這些沖突的發(fā)生,錢幣來自相同的錢包(x,s,t,v,w),具有相同的i或相同的(idM,jM),并且形成良好。否則,用戶就偽造了對有效性的證明。然后以特定的概率,g1x=T1/(T1/T2)r1/(r1-r2)]]>或g1x=W1/(W1/W2)r1/(r1-r2)]]>揭示用戶的身份。
對違犯i=1(重復(fù)消費)的犯罪證明П是有效錢幣(C1,C2)。任何人都可以檢查S1=S2,g1x=T1/(T1/T2)r1/(r1-r2),]]>并且g1x對應(yīng)于pk(例如f(g1x)=pk]]>)。同樣,對違犯i=2(超過與特定商人的匿名商業(yè)邊界)的犯罪證明是有效錢幣(C1,C2),其使得V1=V2,g1x=W1/(W1/W2)r1/(r1/r2),]]>并且g1x對應(yīng)于pk。
一個技術(shù)細節(jié)在于如果兩個錢包種子s、s′是這樣的,即|s-s′|<2l=N,會發(fā)生什么;因而這兩個錢包在至少一個序號上重疊。如果從兩個錢包消費了相同的序號,則銀行將它們標(biāo)記為重復(fù)消費,然而識別算法不會起作用,因為實際上沒有發(fā)生重復(fù)消費。由于這可能使銀行混淆,因此這個問題可以通過使銀行為每個錢包提供對s的選擇的隨機性來避免。當(dāng)從Zq隨機取出s、s′時,它們重疊的可能性是2l+1/q。
跟蹤違犯者在Withdraw期間,每個用戶都被要求留給銀行其錢包秘密s的可檢驗加密E,使得其自己的密鑰g1x足以解密。用戶還被要求對該加密簽名。通過識別違犯者特性,可以推斷系統(tǒng)違犯允許銀行恢復(fù)g1x。通過完整的可檢驗加密,使用g1x恢復(fù)錢包種子s并計算對于1≤i≤N的所有序號Si=F(e(g1,h2),s)(i),]]>可以以高概率打開屬于欺騙性用戶的每個錢包。
對具有序號S的某錢幣的所有權(quán)的證明Γ包括加密E、解密密鑰g1x以及E上的簽名。檢驗方應(yīng)當(dāng)首先檢查g1x對應(yīng)于pk,并且E上的簽名有效。然后其可以解密E以恢復(fù)s,計算對于1≤i≤N的所有序號Si=F(e(g1,h2),s)(i),]]>并且測試對于某個i,S=Si。
強辯解能力強辯解能力具有兩部分。首先,沒有與誠實用戶交互的對手可以產(chǎn)生值(i,S,V,П)使得VerifyViolation(i)(params,S,V,П)接受,除非具有pk的用戶有罪于違犯i。
證明П包括兩個有效錢幣(C1,C2)使得他們揭示g1x。由于g1x是秘密信息,因此其釋放用戶已經(jīng)犯下某種違犯的信號。用戶對手邊的(并且不是先前的某一個)特定違犯有過失的原因在于需要x(不僅是g1x)的知識來創(chuàng)建有效錢幣。
第二部分是甚至在迫使用戶違犯系統(tǒng)條件之后,也沒有對手可以產(chǎn)生(i,S,Γ)使得VerifyOwnership(params,pk,S,Γ),除非具有序號S的錢幣實際上屬于具有pk的用戶。證明Γ包括加密E、用戶的簽名σ以及解密密鑰g1x。由用戶簽名的所有加密以高概率對應(yīng)于某明文s,該明文又允許計算屬于該用戶的所有序號。因而,對手將不得不在某新的加密上假造用戶的簽名以便取勝,這被認(rèn)為以可忽略的概率發(fā)生。
盡管以上給出的詳細描述涉及電子支付系統(tǒng),然而關(guān)于有界匿名的類似問題可以通過本發(fā)明的方法得到處理與解決。特別地,基于此可以實現(xiàn)任何系統(tǒng)授權(quán)發(fā)放方對基于憑單的系統(tǒng)上不同接受方的、有限數(shù)目的匿名訪問。這樣的系統(tǒng)的例子可以包括但并不限于打印機配額系統(tǒng)(qutoasystem)、電子表決系統(tǒng)以及其它電子政府服務(wù)。
除了CHL系統(tǒng),可以加強其它基礎(chǔ)電子支付系統(tǒng)以便防止電子洗錢。在Stefan Brands的題為“Untraceable Off-Line Cash in Wallets withObservers”,published in CRYPTO′93 Vol.773 of LNCS,page 302,1994的論文中描述了可以以類似的方式擴展的另一電子支付系統(tǒng)的例子。
權(quán)利要求
1.用于自動確認(rèn)在具有簽名密鑰(pkB,skB)的發(fā)行方、具有發(fā)放方密鑰(pkU,skU)的發(fā)放方、具有唯一身份(idM)和交易限制(NM)的接受方以及確認(rèn)方之間的交易的方法,所述方法包括以下步驟-由所述發(fā)放方從所述發(fā)行方提取憑單(S),基于所述發(fā)行方的簽名密鑰(pkB,skB)和所述發(fā)放方的發(fā)放方密鑰(pkU,skU),使用所述發(fā)行方與所述發(fā)放方之間的第一雙方協(xié)議計算所述憑單(S),-由所述發(fā)放方向所述接受方消費所述憑單(S),其中基于所述憑單(S)、所述發(fā)放方與所述接受方之間的交易數(shù)(j)、所述接受方所生成的交易詢問值(r1,r2)以及所述接受方的唯一身份(idM),使用所述發(fā)放方與所述接受方之間的第二雙方協(xié)議計算洗錢檢查值(Vj),-由所述接受方向所述確認(rèn)方存放所述憑單(S)、所述交易詢問值(r1,r2)以及所述洗錢檢查值(Vj),以及-通過將所述洗錢檢查值(Vj)與在較早的交易中已向所述確認(rèn)方存放的洗錢檢查值(Vj′)進行比較,由所述確認(rèn)方通過檢驗所述發(fā)放方與所述接受方之間的交易數(shù)低于所述接受方的交易限制(NM)來確認(rèn)所述交易。
2.根據(jù)權(quán)利要求1的方法,其中,-在所述消費步驟中,對知識的證明(π)由所述發(fā)放方計算,并且被傳輸至所述接受方,-在所述存放步驟中,向所述確認(rèn)方存放所述證明(π),以及-所述確認(rèn)步驟進一步包括以下步驟檢驗所述證明(π)關(guān)于所述接受方的唯一身份(idM)、所述憑單(S)和所述洗錢檢查值(Vj)是有效的。
3.根據(jù)權(quán)利要求2的方法,其中,-在所述確認(rèn)步驟中,所述確認(rèn)方檢驗所述證明(π)是基于所述接受方的交易限制(NM)計算的。
4.根據(jù)權(quán)利要求1至3中任何一項的方法,其中,-如果所述確認(rèn)方檢測到在較早的交易中向所述確認(rèn)方存放的洗錢檢查值(Vj′)等于當(dāng)前交易的所述洗錢檢查值(Vj),則所述確認(rèn)步驟進一步包括以下步驟-拒絕所述憑單(S),以及-檢索在所述較早的交易中所使用的交易詢問值(r2′)和憑單(S),-如果在所述較早的交易中所使用的交易詢問值(r2′)與所述交易詢問值(r2′)不同,則由所述確認(rèn)方基于在所述較早的和當(dāng)前交易中所使用的憑單(S,S′)計算所述發(fā)放方的身份(pkU)。
5.根據(jù)權(quán)利要求1至4中任何一項的方法,其中,-在所述確認(rèn)步驟中,所述確認(rèn)方將所述憑單(S)與在較早的交易中存放的憑單(S′)進行比較,以及-如果所述發(fā)行方檢測到在較早的交易中向所述確認(rèn)方存放的憑單(S′)等于當(dāng)前交易的所述憑單(S),則所述確認(rèn)步驟進一步包括以下步驟-檢索在所述較早的交易中所使用的交易詢問值(r1′),-如果在所述較早的交易中所使用的交易詢問值(r1′)與所述交易詢問值(r1′)相等,則所述確認(rèn)方拒絕所述憑單(S),以及-如果在所述較早的交易中所使用的交易詢問值(r1′)與所述交易詢問值(r1′)不同,則由所述確認(rèn)方基于在所述較早的和當(dāng)前交易中所使用的憑單(S,S′)計算所述發(fā)放方的身份(pkU)。
6.根據(jù)權(quán)利要求4或5的方法,其中,-在所述提取步驟中,所述發(fā)放方向所述發(fā)行方提供對錢包秘密(s)的知識的證明,并且所述憑單(S)是基于所述錢包秘密(s)的,-在所述消費步驟中,計算錢包檢查值(Ti)并且將其傳送至所述接受方,-在所述存放步驟中,向所述確認(rèn)方存放所述錢包檢查值(Ti),以及-在所述確認(rèn)步驟中,如果所述發(fā)行方檢測到在較早的交易中已向所述確認(rèn)方存放了所述憑單(S)或所述洗錢檢查值(Vj),并且所述當(dāng)前交易的交易詢問值(r1,r2)等于所述較早的交易中所使用的交易詢問值(r1′,r2′),則基于所述當(dāng)前和較早的交易的錢包檢查值(Ti,Ti′),由所述確認(rèn)方計算所述發(fā)放方的錢包秘密(s)。
7.根據(jù)權(quán)利要求1至6中任何一項的方法,其中,-在所述消費步驟中,所述接受方檢驗所述交易數(shù)(j)低于所述交易限制(NM),并且如果所述交易數(shù)(j)超出所述交易限制(NM),則放棄所述交易。
8.電子支付系統(tǒng),所述電子支付系統(tǒng)包括用于發(fā)行預(yù)定面額的錢幣的銀行計算機系統(tǒng)、用于發(fā)放所述錢幣的用戶計算機系統(tǒng)、用于接受所述錢幣的商人計算機系統(tǒng),以及用于確認(rèn)所述錢幣的確認(rèn)方計算機系統(tǒng),所述銀行計算機系統(tǒng)、所述用戶計算機系統(tǒng)、所述商人計算機系統(tǒng)以及所述確認(rèn)方計算機系統(tǒng)在操作上通過數(shù)據(jù)網(wǎng)絡(luò)連接,其中根據(jù)權(quán)利要求1至7中任何一項的方法提取、發(fā)放、存放和確認(rèn)所述錢幣。
9.計算機系統(tǒng),所述計算機系統(tǒng)包括執(zhí)行權(quán)利要求1至7中任何一項的方法的裝置。
10.一種用于向發(fā)放方發(fā)行憑單(S)、特別是錢幣的發(fā)行方,所述發(fā)行方被提供用于-基于所述發(fā)行方的簽名密鑰(pkB,skB)和所述發(fā)放方的發(fā)放方密鑰(pkU,skU),使用所述發(fā)行方與所述發(fā)放方之間的第一雙方協(xié)議計算所述憑單(S)。
11.一種用于從發(fā)放方接受憑單(S)、特別是錢幣的接受方,基于發(fā)行方的簽名密鑰(pkB,skB)和所述發(fā)放方的發(fā)放方密鑰(pkU,skU),使用所述發(fā)行方與所述發(fā)放方之間的第一雙方協(xié)議計算所述憑單(S),所述接受方被提供用于-基于所述憑單(S)、所述發(fā)放方與所述接受方之間的交易數(shù)(j)、由所述接受方生成的交易詢問值(r1,r2)以及所述接受方的唯一身份(idM),通過使用所述發(fā)放方與所述接受方之間的第二雙方協(xié)議計算洗錢檢查值(Vj),-向確認(rèn)方存入所述憑單(S)、所述交易詢問值(r1,r2)以及所述洗錢檢查值(Vj)。
12.一種用于確認(rèn)在具有簽名密鑰(pkB,skB)的發(fā)行方、具有發(fā)放方密鑰(pkU,skU)的發(fā)放方、具有唯一身份(idM)和交易限制(NM)的接受方之間的交易的確認(rèn)方,所述確認(rèn)方被提供用于-通過將洗錢檢查值(Vj)與在較早的交易中已向所述確認(rèn)方存放的洗錢檢查值(Vj′)進行比較,檢驗所述發(fā)放方與所述接受方之間的交易數(shù)低于所述接受方的交易限制(NM)。
13.一種發(fā)放方,所述發(fā)放方被提供用于-從發(fā)行方提取憑單(S),基于所述發(fā)行方的簽名密鑰(pkB,skB)和所述發(fā)放方的發(fā)放方密鑰(pkU,skU),使用所述發(fā)行方與所述發(fā)放方之間的第一雙方協(xié)議計算所述憑單(S),-向接受方消費所述憑單(S),其中,基于所述憑單(S)、所述發(fā)放方與所述接受方之間的交易數(shù)(j)、由所述接受方生成的交易詢問值(r1,r2)以及所述接受方的唯一身份(idM),使用所述發(fā)放方與所述接受方之間的第二雙方協(xié)議計算洗錢檢查值(Vj)。
全文摘要
本發(fā)明涉及一種用于自動確認(rèn)在具有簽名密鑰(pk
文檔編號G06Q20/00GK101079141SQ20071010487
公開日2007年11月28日 申請日期2007年5月23日 優(yōu)先權(quán)日2006年5月24日
發(fā)明者J·L·卡梅尼施, S·R·霍恩貝格爾 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1