CN101079141A - 用于自动确认交易的方法以及电子支付系统 - Google Patents

用于自动确认交易的方法以及电子支付系统 Download PDF

Info

Publication number
CN101079141A
CN101079141A CN200710104873.7A CN200710104873A CN101079141A CN 101079141 A CN101079141 A CN 101079141A CN 200710104873 A CN200710104873 A CN 200710104873A CN 101079141 A CN101079141 A CN 101079141A
Authority
CN
China
Prior art keywords
transaction
issuer
voucher
reciever
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200710104873.7A
Other languages
English (en)
Inventor
J·L·卡梅尼施
S·R·霍恩贝格尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101079141A publication Critical patent/CN101079141A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

本发明涉及一种用于自动确认在具有签名密钥(pkB,skB)的发行方、具有发放方密钥(pkU,skU)的发放方、具有唯一身份(idM)和交易限制(NM)的接受方以及确认方之间的交易的方法。本发明进一步涉及一种电子支付系统(100)、计算机程序和计算机程序产品,所述电子支付系统(100)包括银行计算机系统(101)、用户计算机系统(102)、商人计算机系统(103)以及确认方计算机系统(101)。

Description

用于自动确认交易的方法以及电子支付系统
技术领域
本发明涉及一种用于自动确认具有签名密钥的发行方、具有发放方密钥的发放方、具有唯一身份和交易限制的接受方,以及确认方之间的交易的方法。本发明还涉及一种电子支付系统、计算机程序和计算机程序产品,其中,电子支付系统包括银行计算机系统、用户计算机系统、商人计算机系统和确认方计算机系统。
背景技术
用于进行和确认交易的方法和系统面临各种竞争目的。虽然一方面它们应当可被证明是正确和安全的,以便参与交易的人都不能获得非法利益(例如通过假设的虚假身份或蓄意更改交易值),但是另一方面参与者的身份及其准确交互应当常常保持匿名。与此同时,实现交易协议的操作应当在计算上是高效率的并且遵循标准过程。
用于在线特别是通过因特网支付货物和服务的电子支付系统是电子交易系统的特别重要的例子。如果没有快速、安全、匿名且易于实现的电子支付系统,电子商务的发展可能会有风险。因此,研究人员和金融机构均已开发了若干电子支付系统。这种系统的一个例子在J.Camenisch、S.Hohenberger和A.Lysyanskaya的题为“Compact E-Cash”的论文中进行了描述,该论文出版于EUROCRYPT,Vol.3494 of LNCS,pages 302-321,2005,在此通过引用的方式将其并入本说明书并称之为CHL系统。CHL系统可被证明是安全和匿名的,即当在该系统内不能重复使用钱币的时候,银行或钱币发行方不能恢复用户或发放方的身份,该用户或发放方在钱币被再次存入银行的时候向商人或接受方消费该钱币。
然而,这种以及类似的系统有一个缺点:它们对电子洗钱(moneylaundering)是开放的。在各种情况下,应当检测、阻止或报告涉及、代表例如任意两方之间的高现金流的高交易数。举例来说,应用包括防止逃税、贪污和大规模欺诈。M.Stadler、J.-M.Piveteau和J.Camenisch在题为“Fair Blind Signatures”(EUROCRYPT′95,Vol.921 of LNCS,pages209-219,1995)的论文中所描述的系统具有可以随时取消用户的匿名以防止洗钱的可信第三方。然而,由于系统的用户永远都不能确定他们的匿名会在何种情况下被取消,因此具有第三方是电子支付系统的主要缺点。其它的系统,例如由T.Okamoto和K.Ohta在题为“DiaposableZero-Knowledge Authentications and their Applications to UntraceableElectronic Cash”(CRYPTO,Vol.435 of LNCS,pages 481-496,1990)的论文中所描述的电子支付系统,就仅向用户提供了受限形式的匿名以防止误用。在该系统中,用户的钱币是匿名的但却可以相互链接。这严重限制了电子支付系统的匿名。
因此,存在对改进的安全、匿名交易系统以及方法的需要。设计一种可以帮助防止电子洗钱的电子支付系统是个特别的难题。
发明内容
根据本发明的一个方面,提供了一种用于自动确认具有签名密钥的发行方、具有发放方密钥的发放方、具有唯一身份和交易限制的接受方以及确认方之间的交易的方法。该方法包括以下步骤:
-由所述发放方从所述发行方提取凭单(voucher),基于所述发行方的签名密钥和所述发放方的发放方密钥,使用所述发行方与所述发放方之间的第一双方协议计算所述凭单,
-由所述发放方向所述接受方消费所述凭单,其中基于所述凭单、所述发放方与所述接受方之间的交易数、所述接受方所生成的交易询问值以及所述接受方的所述唯一身份,使用所述发放方与所述接受方之间的第二双方协议计算洗钱检查值,
-由所述接受方向所述确认方存放所述凭单、所述交易询问值以及所述洗钱检查值,以及
-通过将所述洗钱检查值与在较早的交易中已向所述确认方存放的洗钱检查值进行比较,由所述确认方通过检验所述发放方与所述接受方之间的交易数低于所述接受方的交易限制来确认所述交易。
通过检验所述发放方与所述接受方之间的交易数低于所述接受方的交易限制,可以检测任何一个发放方与接受方之间反常的高交易数。
根据所述第一方面的改进实施例,在所述消费步骤中,对知识的证明由发放方计算,并且被传输至所述接受方,在所述存放步骤中,向所述确认方存放所述证明,并且所述确认步骤进一步包括以下步骤:检验所述证明关于所述接受方的唯一身份、所述凭单和所述洗钱检查值是有效的。通过计算和检验对知识的证明,可以推行所述方法的完整性。
根据所述第一方面的进一步改进的实施例,在所述确认步骤中,所述确认方检验所述证明是基于所述接受方的交易限制计算的。通过检验所述证明是基于所述接受方的交易限制计算的,所述确认方可以检测在计算所述证明期间所述接受方是否正试图使用虚假的交易限制。
根据所述第一方面的进一步改进的实施例,如果所述确认方检测到在较早的交易中向所述确认方存放的洗钱检查值等于当前交易的洗钱检查值,则所述确认步骤进一步包括以下步骤:拒绝所述凭单,以及检索在所述较早的交易中所使用的交易询问值和凭单,如果在所述较早的交易中所使用的交易询问值不同于所述交易询问值,则由所述确认方基于在所述较早的和当前交易中所使用的凭单计算所述发放方的身份。通过利用较早交易中的那些洗钱检查值和交易询问值检验所述洗钱检查值和交易询问值,可以识别和惩罚试图超过所述交易限制的各方。
根据所述第一方面的进一步改进的实施例,在所述确认步骤中,所述确认方将所述凭单与在较早的交易中存放的凭单进行比较,并且如果所述确认方检测到在较早的交易中向所述确认方存放的凭单等于当前交易的凭单,则所述确认步骤进一步包括以下步骤:检索在所述较早的交易中所使用的交易询问值,如果在所述较早的交易中所使用的交易询问值等于所述交易询问值,则由所述确认方拒绝所述凭单,以及如果在所述较早的交易中所使用的交易询问值不同于所述交易询问值,则由所述确认方基于在所述较早的和当前交易中所使用的凭单计算所述发放方的身份。通过利用较早交易中的那些凭单和交易询问值检验所述凭单和交易询问值,可以识别和惩罚试图超支的各方。
根据所述第一方面的进一步改进的实施例,在所述提取步骤中,所述发放方向所述发行方提供对钱包秘密(wallet secret)的知识的证明,并且所述凭单是基于所述钱包秘密的,在所述消费步骤中,计算钱包检查值并且将其传送至所述接受方,在所述存放步骤中,向所述确认方存放所述钱包检查值,并且在所述确认步骤中,如果所述确认方检测到在较早的交易中已向所述确认方存放了所述凭单或所述洗钱检查值,并且当前交易的交易询问值等于在所述较早的交易中所使用的交易询问值,则基于所述当前和较早的交易的钱包检查值,由所述确认方计算所述发放方的钱包秘密。通过计算所述发放方的钱包秘密以防其超支或超过所述交易限制,可以识别其所有的凭单。
根据所述第一方面的进一步改进的实施例,在所述消费步骤中,所述接受方检验所述交易数低于所述交易限制,并且如果所述交易数超出所述交易限制,则放弃所述交易。通过检验特定交易的交易数低于所述接受方的交易限制,所述接受方本身可以防止超过其预定交易限制的交易。
根据本发明的第二方面,公开了一种电子支付系统。所述电子支付系统包括:用于发行预定面额的钱币的银行计算机系统、用于发放所述钱币的用户计算机系统、用于接受所述钱币的商人计算机系统,以及用于确认所述钱币的确认方计算机系统,所述银行计算机系统、所述用户计算机系统、所述商人计算机系统以及所述确认方计算机系统在操作上通过数据网络连接。根据依照所述第一方面的方法对所述钱币进行提取、发放、存放和确认。通过提供具有银行计算机系统、用户计算机系统、商人计算机系统以及确认方计算机系统的电子支付系统,在这些实体之间的交易可以安全、匿名且高效地在线进行,而不会引入电子洗钱的风险。
根据本发明的第三和第四方面,公开了一种计算机程序和计算机程序产品。它们包括可由计算机系统的至少一个处理器执行的程序指令,并且当由所述至少一个处理器执行所述程序指令时,实现根据本发明的第一方面所述发行方、所述发放方、所述接受方或所述确认方的所有步骤。通过提供计算机程序或计算机程序产品,可以易于提供根据所述第一方面的方法的操作并将其分发至计算机系统。
附图说明
当结合附图参照下面对依照本发明的、当前优选但仍然是说明性实施例的详细描述,将更为全面地理解本发明及其实施例。
附图说明了:
图1示出了依照本发明的实施例的电子支付系统,其包括组合的银行和确认方计算机系统、用户计算机系统和商人计算机系统;以及
图2A至图2D示出了依照本发明的实施例的方法的流程图。
具体实施方式
图1示出了电子支付系统100,其包括组合的银行和确认方计算机系统101、用户计算机系统102和商人计算机系统103。组合的银行和确认方计算机系统101、用户计算机系统102以及商人计算机系统103通过数据网络104连接。
组合的银行和确认方计算机系统101属于银行B,在下面也被称为发行方或确认方。按照电子支付系统的惯例,将假设组合的银行和确认方计算机系统101负责发行和接受电子支付系统100的钱币。因此,图1中仅示出了单个实体并在下面对其进行了描述。然而,对本领域的技术人员将显而易见的是可以由分离的实体(即分离的发行方和确认方)来实现两个角色(即下面进一步描述的发行和确认钱币的角色)。
借助于组合的银行和确认方计算机系统101与用户计算系统102之间的第一双方协议,银行B可以向用户U(下面也称为发放方)发行预定面额的钱币(下面也称为凭单S)。为了验证由组合的银行和确认方计算机系统101所发行的凭单S,组合的银行和确认方计算机系统101包括签名密钥(pkB,skB)。签名密钥(pkB,skB)是两部分不对称的签名密钥,其中第一部分pkB是公用的并且第二部分skB是保密的或专用的。
组合的银行和确认方计算机系统101在生成凭单S期间使用签名密钥(pkB,skB)。这可以通过使用签名算法来对用户计算机系统102所提供的值签名而发生。可选地,签名密钥(pkB,skB)可以用作第一双方协议中组合的银行和确认方计算机系统101的输入以计算凭单S,其中不显示签名密钥(pkB,skB)的保密部分skB
用户计算机系统102包括发放方密钥(pkU,skU),其也是具有公用部分pkU和保密部分skU的两部分密钥。另外,用户计算机系统102包括钱包秘密s,其用于生成代表由组合的银行和确认方计算机系统101所发行的凭单S的序号Si。此外,发放方密钥skU的专用部分、钱包秘密s以及所得出的序号Si并没有向组合的银行和确认方计算机系统101公开。作为替代,用户计算机系统102仅向第一双方协议中组合的银行和确认方计算机系统101证明这些和其它参数的知识。
通过唯一身份idM标识商人计算机系统103。另外,商人计算机系统103与交易限制NM关联,交易限制NM为组合的银行和确认方计算机系统101以及用户计算机系统102所知。交易限制NM可以限制例如在给定情况下允许在任何单个的用户计算机系统102与商人计算机系统103之间进行的交易数。
取决于凭单S的性质,这还可以代表交易值的限制。例如,如果每个凭单S都具有一美元的预定值,那么,如果交易限制NM被设为100,则用户仅可以向与商人计算机系统103关联的商人M消费100美元。可以随电子支付系统100或其它凭单发行和兑换系统提供和使用对交易限制NM和凭单S的其它定义。在电子支付系统100中,例如,可以存在具有不同值的凭单S,例如,具有1美分、10美分、1美元、10美元和100美元的关联值的凭单。同样,交易限制NM可以对于单次购买、固定时期(例如一周、一个月或一年)有效,或者可以对于凭单S、签名密钥(pkB,skB)、发放方密钥(pkU,skU)或商人计算机系统103的唯一身份idM的整个使用期限有效。
在第二双方协议中,用户计算机系统102向商人计算机系统103证明其拥有之前由组合的银行和确认方计算机系统101发行的凭单S。为此目的,用户计算机系统102计算证明π。另外,用户计算机系统102基于由商人计算机系统103生成的询问值r1计算洗钱检查值Vj。洗钱检查值Vj强制商人M与用户U之间的交易限制NM不被超过。
在用户计算机系统102使用与商人计算机系统103的第二双方协议从事交易之前,用户计算机系统102检查已经与商人计算机系统103进行的交易数。如果超过交易限制NM,则诚实的用户计算机系统102将不从事交易。同样地,如果超过交易限制NM,则商人计算机系统103也将不从事交易。为了推行这种诚实,基本数学特性(underlying mathematicalproperty)保证商人计算机系统103仅可以生成与交易限制NM允许的一样多的、用于各公用发放方密钥pkU的不同交易询问值r1。因此,各方都不会允许与特定的用户计算机系统102发生超过限制数量的交易NM。然而,如果用户计算机系统102和商人计算机系统103都不诚实,则它们被迫重用先前在较早的交易中使用的交易询问值r1或生成虚假的证明π。
在第三双方协议中,商人计算机系统103向组合的银行和确认方计算机系统101存放从用户计算机系统102获得的凭单S。除了凭单S之外,商人计算机系统103还存放交易询问值r1、洗钱检查值Vj以及在与用户计算机系统102的第二双方协议中所计算的证明π。组合的银行和确认方计算机系统101然后检验证明π相对于凭单S、交易询问值r1、身份idM和试图存放凭单S的商人计算机系统103的交易限制NM实际有效。如果证明π无效,则其拒绝存放。这特别意味着与凭单S关联的值将不会存入商人M。
另外,组合的银行和确认方计算机系统101检查是否已经在较早的交易中存放了凭单S。如果是这种情况,则其将调查交易询问值r1以便识别违犯者。如果检测到在较早的交易中使用了同样的交易询问值r1′,则商人M将归咎于试图两次存放凭单S。因此凭单S被拒绝,并且视情况,可以公布商人M的身份idM。如果交易询问值r1和r1′不同,则用户U应受谴责。在这种情况下,基于当前和先前的交易,可以确定用户U的公用部分pkU。因此,组合的银行和确认方计算机系统101可以揭露欺骗性用户计算机系统102的身份或者可以揭露与发放方密钥(pkU,skU)关联的钱包秘密。在这种情况下,组合的银行和确认方计算机系统101可以识别向用户计算机系统102发行的所有凭单S以及由此而涉及的交易。
在进一步的步骤中,组合的银行和确认方计算机系统101还通过比较洗钱检查值Vj和较早交易中的洗钱检查值来检验是否并未超过交易限制。如果检测到商人计算机系统103正试图存放之前已向组合的银行和确认方计算机系统101存放的洗钱检查值Vj,则其还将调查交易询问值r1以便识别违犯者。如果较早的交易基于与当前交易相同的交易询问值r1,则商人计算机系统103单独受到谴责。取决于电子支付系统100的安全设置,组合的银行和确认方计算机系统101可以拒绝存放凭单S和/或公布欺骗性商人M的身份idM。如果其不同,则用户计算机系统也已经有意超过了交易限制NM并且可以如上所述受到惩罚。
可以以硬件或软件实现发行方和确认方B、发放方U和接受方M的角色,例如通过专用计算机系统101、102和103或运行在通用计算机系统101、102和103上的软件模块或其组合。计算机系统101、102或103中可以包括计算机可读介质,例如,含有可由计算机系统101、102或103中所包括的处理器执行的程序的程序指令。计算机可读介质可以是例如CD-ROM、闪存卡、硬盘或任何其它合适的计算机可读介质。
图2A至图2D示出了依照本发明的实施例的方法的流程图。
图2A示出了在组合的银行和确认方计算机系统101与用户计算机系统102之间执行的第一双方协议200。第一双方协议200用来设置用于在电子支付系统100中实现交易以及用于由用户计算机系统102从组合的银行和确认方计算机系统101提取钱币的系统参数。
在步骤201,设置电子支付系统100的重要的系统参数。特别地,定义了保密参数k、双线性映射e、钱包尺寸l以及双线形映射e上的散列(hash)函数H1和H2。这些参数设置了用户计算机系统102可以在其钱包中存储多少凭单S的系统边界。
在步骤202,发行方B生成包括专用部分pkB和保密部分skB的非对称签名密钥(pkB,skB)。
在步骤203,发放方U也为用户计算机102生成包括公用部分pkU和保密部分skU的非对称发放方密钥(pkU,skU)。
在步骤204,用户计算机102生成随机值,特别是钱包秘密s,其用于生成用于每个凭单S或者将要从组合的银行和确认方计算机系统101提取的钱币的唯一序号Si。由用户计算机系统102对所生成的随机值s保持专用。
在步骤205,用户计算机系统102向组合的银行和确认方计算机系统101证明其保密密钥部分skU以及随机值s和t的知识。另外,用户计算机系统102在其保密的发放方密钥部分skU以及随机值s上获得签名σ。因此,组合的银行和确认方计算机系统101获得钱包秘密s的可检验加密,且在该加密上具有用户签名。组合的银行和确认方计算机系统101并不学习有关发放方密钥的保密部分skU或随机值s的任何内容。
在步骤206,用户计算机系统102存储从组合的银行和确认方计算机系统101提取的凭单S。实际上可以提取并一起存储整组凭单(包括2l个凭单),每个凭单S由序号Si表示。根据CHL系统,可以以尺寸O(l+k)特别紧致地存储凭单,其中k是系统的保密参数。
图2B示出了将要在用户计算机系统102与商人计算机系统103之间执行的第二双方协议210,其用于消费向用户计算机系统102发行的凭单S。
在步骤211,用户计算机系统102检查其与特定的商人计算机系统103的消费限制NM。如果其已经达到交易限制NM,则诚实的用户计算机系统102不会从事与商人计算机系统103的交易。基于该检查,用户计算机系统102还计算用户计算机系统102与商人计算机系统103之间的先前的交易数j。用户计算机系统102还确定将要用于当前交易的序号Si的指数i,其通常与下一未使用的凭单S相关联。同样地,商人计算机系统103将确定其是否低于与用户计算机系统102的交易限制NM
在步骤212,商人计算机系统103将生成交易询问值,包括例如随机参数r1和r2。然后将随机询问值r1和r2传送至用户计算机系统102。
在步骤213,用户计算机系统102基于具有序号Si的凭单S以及交易询问值r1和r2计算钱包检查值Ti。用户计算机系统102还计算在用户计算机系统102与商人计算机系统103之间第j个交易的洗钱检查值Vj
在步骤214,通过向商人计算机系统103传输第i个序号Si及其关联的检查值Ti和Vj,将要使用的凭单S发送给商人计算机系统103。
在步骤215,用户计算机系统102为商人计算机系统103生成对值i、j、skU、s和σ的知识的证明π。该证明π可以在用户计算机系统102与商人计算机系统103之间交互式实现或者使用Fiat-Shamir启发式方法非交互式实现。
在步骤216,商人计算机系统103检验证明π。如果证明π对于在交易中使用的序号Si有效,则商人计算机系统103接受与序号Si和证明π关联的凭单S,例如用于支付。
图2C示出了由组合的银行和确认方计算机系统101所执行的确认过程的第一部分220,其用于确定是否已在较早的交易中消费了凭单S。
在步骤221,商人计算机系统103提交凭单S,其包括交易询问值r1和r2、凭单S的序号Si、检查值Ti和Vj以及证明π。以这样的方式,商人计算机系统103试图兑换与凭单S关联的值,例如通过请求由组合的银行和确认方计算机系统101存入关联的币值。
在步骤222,组合的银行和确认方计算机系统101检验证明π对于序号Si以及交易询问值r1和r2有效。如果证明π无效,则组合的银行和确认方计算机系统101立刻拒绝接受交易。
在步骤223,组合的银行和确认方计算机系统101检验之前还未向组合的银行和确认方计算机系统101存放与序号Si关联的凭单S。
如果之前已向组合的银行和确认方计算机系统101存放了凭单S,则在步骤224,执行进一步的检查,检验是否在较早的交易中使用了相同的交易询问值r1
如果是这样的情况,则商人计算机系统103试图第二次存放凭单S;因此在步骤225,组合的银行和确认方计算机系统101拒绝该凭单。
否则,用户便已重复消费(double-spend)并且应当受到银行B的惩罚。在这种情况下,组合的银行和确认方计算机系统101在步骤226接受来自商人计算机系统103的凭单但却识别与公钥部分pkU关联的用户计算机系统102。
在任选步骤227,取决于在图2A中所示的提取协议期间所使用的电子支付系统100的安全设置,组合的银行和确认方计算机系统101可以基于在其中使用了相同序号Si的当前交易和较早的交易来计算用户计算机系统102的钱包秘密s。
因此,在步骤228,组合的银行和确认方计算机系统101可以基于钱包秘密s或公用用户密钥pkU识别向用户计算机系统102发行的凭单S的所有其它的序号Si
如果在步骤223测试的序号Si是唯一的,则在图2D所示的第二部分230中继续确认,其用于检验当前交易并未超过交易限制NM
在步骤231,检验为交易而计算的洗钱检查值Vj。这是通过在步骤232将当前的洗钱检查值Vj与在较早的交易中已经提交给组合的银行和确认方计算机系统101的先前的洗钱检查值Vj进行比较来完成的。
如果洗钱检查值Vj是唯一的,则组合的银行和确认方计算机系统101在步骤233接受所提交的凭单S,并且该方法结束。
否则,在进一步的步骤234,组合的银行和确认方计算机系统101检验在当前和较早的交易中是否使用了相同的交易询问值r2
如果使用了相同的交易值r2,则仅是商人计算机系统103将受到谴责。在这种情况下,在步骤235拒绝凭单,从而使得与交易关联的值不被存入商人计算机系统103。
否则,用户也要受到谴责。因此,在步骤236、237和238,识别与公钥pkU关联的用户计算机系统102的身份,解密其钱包秘密s,并且基于该信息,通过上述组合的银行和确认方计算机系统101计算该用户的凭单S的其它序号Si。另外,在步骤235还将通过拒绝当前的凭单来惩罚商人M。
由于基础问题的数学复杂性,图2A至图2D中所呈现的流程图仅可以呈现电子支付系统100中信息流的高级概况。在以下数学描述中详述了为了实现组合的银行和确认方计算机系统101、用户计算机系统102和商人计算机系统103之间的协议而发生的详细操作。
安全的定义:
概括CHL系统的定义以处理重复消费以外的违犯。我们的脱机电子货币情况由三个常见的参与者组成:用户、银行和商人;连同算法BKeygen、UKeygen、Withdraw、Spend、Deposit、{DetectViolation(i),IdentifyViolator(i),VerifyViolation(i)}、Trace和VerifyOwnership。非正式地,BKeygen和UKeygen分别是银行和用户的密钥生成算法。用户在Withdraw期间与银行交互以获得具有2l个钱币的钱包;银行将任选的跟踪信息存储在数据库D中。在Spend中,用户从其钱包向商人消费一个钱币;结果商人获得该钱币的序号S,商人M记录该钱币的定位器V以及对有效性的证明π。在Deposit中,无论诚实的商人M何时从用户接受钱币C=(S,V,π),都会保证银行将接受该钱币用于存放。银行将C=(S,V,π)存储在数据库L中。然而,此时,银行需要确定C是否违犯任何的系统条件。
对于每种违犯i,都定义了算法的元组{DetectViolation(i),IdentifyViolator(i),VerifyViolation(i)}。在此,我们有两种违犯。
违犯1(重复消费):在DetectViolation(1)中,银行测试L中的两个钱币C1=(S1,V1,π1)和C2=(S2,V2,π2)是否具有相同的序号S1=S2。如果如此,则银行在(C1,C2)上运行IdentifyViolator(1)算法,并且获得违犯者的公钥pk以及犯罪证明П。任何人都可以在(pk,S1,V1,П)上运行VerifyViolation(1)以确信具有公钥pk的用户重复消费了具有序号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的钱币超过了有界匿名商业限制。
视情况,在任何违犯之后,银行还可以在有效的犯罪证明П上运行Trace算法以获得欺骗用户利用公钥pk连同所有权的证明Γ曾消费的所有序号Si的列表。任何人都可以在(pk,Si,Γ)上运行VerifyOwnership以确信具有公钥pk的用户是具有序号Si的钱币的所有者。
另外,将CHL系统的安全定义推广用于电子货币。其对正确性、平衡(balance)以及用户的匿名(anonymity of user)的形式化保持不变。概略地,平衡保证诚实的银行绝不会不得不接受超过用户提取的钱币来存放,而用户的匿名确保用户保持完全匿名,除非他们违犯了已知的系统条件之一。下面描述了三个附加的特性。这些特性是CHL对重复消费者的识别和跟踪,及其辩解能力(exculpability)的泛化,以便应用于任何具体的违犯,特别是上述那些。令params为全局参数,包括每钱包的钱币数以及每个商人的消费限制。
识别违犯者:假设诚实的商人(或可能的商人)与对手两次运行Spend协议,使得输出是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,П)接受。
跟踪违犯者:假设VerifyViolation(i)(params,pk,S,V,П)接受从钱币C1、C2得出的某种违犯i。该特性保证在高概率的情况下,Trace(params,pk,C1,C2,П,D)输出属于具有pk的用户的所有钱币的序号S1,...,Sm连同所有权的证明Γ1,...,Γm,从而使得对于所有的j,VerifyOwnership(params,pk,Sj,Γj)接受。
辩解能力:假设对手参与了任意次与具有密钥pk的诚实用户的Withdraw协议,并且随后参与了任意次与相同用户的non-violation Spend协议。对手然后输出整数i、钱币序号S以及假设的证明Γ(即具有密钥pk的用户做出了违犯i并拥有钱币S)。弱辩解能力特性表明,对于所有的对手来说,VerifyO(params,pk,S,Γ)接受的概率可忽略。
此外,对手可以继续使用户参加Spend协议,迫使他违犯系统条件。对手然后输出(i,S,V,П)。强辩解能力特性表明,对于所有的对手来说:(1)当S是不属于具有pk的用户的钱币序号时,弱辩解能力成立,以及(2)当具有pk的用户未做出违犯i时,VerifyViolation(i)(params,pk,S,V,П)接受的概率可忽略。
技术预备:
电子货币系统使用各种已知的协议作为积木式部件,现在对其进行简要回顾。这些协议中的很多可以在几种不同的复杂度假设下、在可以扩展到我们的电子货币系统的灵活性下显示安全。注意:我们记G=<g>表示g生成组G。
双线性映射
假设Bilinear_Setup是一种在输入保密参数1k时就输出双线性映射的参数为γ=(q,g1,h1,G1,g2,h2,G2,GT,e)的算法。每组G1=<g1>=<h1>、G2=<g2>=<h2>以及GT均具有素数阶q=Θ(2k)。高效率可计算的映射e:G1×G2→GT均是:(Bilinear)对于所有的g1∈G1,g2∈G2以及a,b∈Zq e ( g 1 a , g 2 b ) = e ( g 1 , g 2 ) ab ; 以及(Non-degenerate)如果g1是G1的生成元,并且g2是G2的生成元,那么e(g1,g2)生成GT
复杂性假设:
我们的方案的安全性依赖于与CHL相同的假设,即:
强RSA假设:给定RSA模n以及随机元素 g &Element; Z n * , 难以计算 h &Element; Z n * 以及整数e>1使得he≡g按n取模。模n具有特殊形式pq,其中p=2p′+1和q=2q′+1是安全素数。
y-决策性Diffie-Hellman反转假设(y-DDHI):给定随机生成元g∈G(其中G具有素数阶q)、对于随机的x∈Zq的值(g,gx,…,g(xy)),以及值R∈G,难以判定是否R=g1/x
外部Diffie-Hellman假设(XDH):假设Bilinear_Setup(1k)产生双线性映射e:G1×G2→GT的参数。XDH假设表明决策性Diffie-Hellman(DDH)问题在G1中是困难的。这意味着并不存在高效率可计算的同构(isomorphism)ψ′:G1→G2
Sum-Free决策性Diffie-Hellman假设(SF-DDH):假设g∈G是q阶随机生成元。令L为|q|的任意多项式函数。令
Figure A20071010487300201
为谕示(oracle),在输入子集Ieq{1,…,L}时输出值g1 B1,其中对于某 a &RightArrow; = ( a 1 , &CenterDot; &CenterDot; &CenterDot; , a L ) &Element; Z q L 来说 &beta; I = &Pi; i &Element; I a i . 另外,令R为谓词(predicate),使得当且仅当J{1,…,L}相对于Ii是DDH独立的时,R(J,I1,…,It)=1;也就是说,当v(Ii)是当且仅当j∈Ii时在位置j是一否则是零的、L长度的向量时,便不存在三个集合Ia,Ib,Ic使得v(J)+v(Ia)=v(Ib)+v(Ic)(其中在整数上逐位添加)。
然后,对于所有的概率多项式时间对手(adversary)A(·)
Pr [ a &RightArrow; = ( a 1 , &CenterDot; &CenterDot; &CenterDot; , a L ) &LeftArrow; Z q L ; ( J , &alpha; ) &LeftArrow; A O a &OverBar; ( 1 | q | ) ; y 0 = g &Pi; i &Element; J a i ; y 1 &LeftArrow; G ;
Figure A20071010487300205
其中Q是A向
Figure A20071010487300206
进行的查询的集合。
密钥构建块:
1)已知基于离散对数的、零知识证明
在共用参数模型中,使用用于证明关于离散对数的声明的几个先前已知的结果,例如(1)对以素数或合数为模的离散对数的知识的证明,(2)对表示以两个(可能不同的)素数或合数模数为模的等式的知识的证明,(3)证明承诺(commitment)对两个其它承诺值(commited value)的产生开放,(4)证明承诺值位于给定的整数间隔,以及(5)对先前任意两个的析取(disconjuntion)或合取(conjunction)的证明。这些以合数为模的协议在强RSA假设之下是安全的,并且在离散对数假设之下以素数为模。Fiat-Shamir启发式方法可以应用于将对知识的这样的证明转换成某消息m上对知识的签名证明(signature proofs of knowledge)。
2)CL签名
根据Pedersen承诺方案,公用参数是具有素数阶q的组G,以及生成元(g0,…,gm)。为了承诺于值(v1,…,vm)∈q m,挑选随机的r∈q并且设置
C = PedCom ( v 1 , &CenterDot; &CenterDot; &CenterDot; , v m ; r ) = g 0 r &Pi; i = 1 m g i v i .
存在具有两个协议的安全签名方案:(1)在用户与具有密钥(pkS,skS)的签名者之间的高效率协议。共用输入包括pkS和C(Pederson承诺)。用户的秘密输入是值(v1,…,vl,r)的集合,使得C=PedCom(v1,…,vl;r)。作为协议的结果,用户获得其承诺值上的签名σpks(v1,…,vl),尽管签名者并没有学习关于它们的任何内容。签名具有尺寸O(llogq)。(2)对用户与检验方之间的签名协议的知识的高效率证明。共用输入是pkS和承诺C。用户的专用输入是值(v1,…,vl,r)和σpks(v1,…,vl),使得C=PedCom(v1,…,vl;r)。这些签名在强RSA假设之下是安全的。出于该阐述的目的,CL签名实际如何工作无关紧要。
随后的电子货币系统使用与CL签名无关的强RSA假设。使用双线性映射,人们实际上可以使用其它的签名方案来产生更短的签名。
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”中描述了一种技术,其用于将任何在语义上安全的加密方案转成可检验的加密方案。
该技术可以用于将任何在语义上安全的加密方案转成可检验的加密方案。可检验的加密方案是证明方与加密方P以及检验方与接收方V之间的双方协议。
概略地,它们的共用输入是公用加密密钥pk和承诺A。作为协议的结果,V要么拒绝要么获得A的开头的加密c。协议确保V仅以可忽略的概率接受不正确的加密并且V没有学习关于A的开头的任何有意义的内容。连同相应的保密密钥sk,抄本c含有足够的信息来高效率地恢复A的开头。在此我们避开一些细节并且涉及对Camenisch和Damgard的充分讨论。
4)双线性Elgamal加密
寻找在其中gx足以用于解密并且公钥对于某函数f是f(gx)的密码系统。在“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所暗示的假设下在语义上是安全的。
特别地,将上述可检验的加密技术应用于下面的Elgamal加密的双线性变量。假设在lk上运行Bilinear_Setup以获得γ=(q,g1,h1,G1,g2,h2,G2,GT,e),其中具有双线性映射e:G1×G2→GT。令(G,E,D)表示标准的密钥生成、加密以及解密算法。在输入(lk,γ)时,密钥生成算法G对随机的u∈Zq输出密钥对 ( pk , sk ) = ( ap ( g 1 , g 2 ) u , g 1 u ) . 主要思想在于值g1 u足够解密。
为了在pk下加密消息m∈GT,选择随机的k∈Zq并输出密文 c = ( g 2 k , pk k m ) = ( g 2 k , e ( g 1 , g 2 ) uk m ) . 然后,为了用值g1 u解密c=(c1,c2),简单计算c2/e(g1 u,c1)。该加密方案在决策性双线性Diffie-Hellman(DBDH)假设下已知在语义上是安全的,即对随机的a,b,c∈Zq以及X∈GT给定(g2,g2 a,g2 b,g2 c,X),难以判定是否X=e(g1,g2)abc
5)DY伪随机函数(PRF)
假设G=<g>是一组素数阶q。令s为Zq的随机元素。Dodis和Yampolskiy最近为输入 x &Element; Z q * 提出了伪随机函数 f g , s DY ( x ) = g 1 / ( s + x ) . 该构造在y-DDHI下是安全的。在上述构造中,可以用Naor-Reingold PRF替换DYPRF,并且用更标准的DDH假设代替y-DDHI假设,代价是将我们的钱包从O(l+k)比特加大到O(l·k)比特。
有界匿名模型中的紧凑电子货币:
如在CHL紧凑电子货币方案中一样,用户从银行提取具有2l个钱币的钱包并逐个花掉。此外,如在CHL方案中一样,使用了伪随机函数f(·)(·),其范围是具有大的素数阶q的某个组G。
在高层级,用户通过从适当的域(将在稍后解释)挑选五个值(x,s,t,v,w)来形成具有2l=N个钱币的钱包,并且与银行运行适当的安全协议以在这些值上获得银行的签名σ。
下面假设用户想要通过从商人M购买物品而消费钱币数i,并且只有与该商人达到K个交易才可以匿名。进一步假设这是用户与M的第j次交易,j≤K。与钱包中第i个钱币关联的是其序号S=Fs(i)。与商人M的第j次交易关联的是该商人的记录定位器V=Fv(M,j)。
根据本发明的实施例,提供了在Spend协议中,用户应当给予商人值(S,V)以及这样的(非交互式零知识)证明,即这些值是作为(s,i,v,M,j)的函数来计算的,其中1≤i≤N,1≤j≤K,并且(s,v)对应于银行所签名的钱包。S和V是伪随机的,并且因此在计算上没有泄露任何信息;并且因为其是零知识的,所以证明也没有泄露信息。假设用户消费超过N个钱币。那么由于仅有N个可能的、Fs(i)形式的值S,其中1≤i≤N,因此其已经超过一次地使用了某个序号。类似地,假设用户与M进行了超过K次的交易。那么由于对于固定的M,仅有K个不同的值V=Fv(M,j),1≤j≤K,因此其已经超过一次地使用了某个商人记录定位器。因此可以检测到重复消费以及对有界匿名商业模型的违犯。
下面解释如何给出超过一次使用任何的S或V导致识别。除了s和v,钱包还含有x,t和w。值x∈q使得gx是可以公开链接至用户的身份的值(其中g是组G的生成元)。例如,对于某些可计算的函数f,f(gx)可以是用户的公钥。假设作为交易的一部分,商人给出随机值r≠0,并且用户显示T=gxFt(i)r和W=gxFw(M,j)r以及这样的证明,即T和W是作为对应于完全相同的钱包以及相同的i和j的函数(r,x,t,i,w,M,j)而适当计算的。再者,T和W是伪随机的并且因此不会泄露任何信息。
如果用户两次使用相同的序号S=Fs(i),并且q适当大,那么在两次不同的交易中其将以高概率接收不同的r,称它们为r1和r2,并且因此将必须用 T 1 = g x F t ( i ) r 1 T 2 = g x F t ( i ) r 2 进行响应。容易明白值gx然后可以如下计算: g x = T 1 / ( T 1 / T 2 ) r 1 / ( r 1 - r 2 ) .
示出了也是如此的情况,即如果用户两次使用相同商人的记录定位器数V,那么可以以相同的方式精确找到gx。假设在两次交易中商人使用相同的r。在这种情况下,银行可以仅仅拒绝存放该电子钱币(由于是相同的商人,因此其对自身缺乏适当的随机化负责)。如果假设商人使用了不同的r,r1和r2,导致W1和W2,则可以得到 g x = W 1 / ( W 1 / W 2 ) r 1 / ( r 1 - r 2 ) .
因而,重复消费或违犯有界商业模型导致识别。仅剩的问题是可如何使其适于跟踪相同用户的其它交易。gx不一定是公用值,其还可以是这样的情况,即仅f(gx)是公用的,而gx的知识给予解密密文的能力,该密文由可检验的加密s形成(例如,Boneh和Franklin的密码系统具有gx足以解密的特性)。当提取钱包时,用户将这样的密文给银行。而s的知识又允许发现来自该钱包的所有钱币的序号并了解它们是被如何消费的。
最后,应当将值(x,v,w)绑定到用户的身份而不是到特定的钱包。如此,即使用户试图从不同的钱包向特定的商人消费过多的钱,也仍然会导致检测和识别。
协议的详细描述:
由于该方案是对CHL电子货币方案的扩展,因此使用Dodis-Yampolskiy伪随机函数,即 f ( g , s ) DY ( x ) = g 1 / ( s + x ) , 其中g是合适组的生成元;CL签名及相关协议发行签名并证明签名的知识;并且随Camenisch-Damgard可检验加密技术使用双线性Elgamal密码系统。
注解:令 F ( g , s ) ( x ) = f ( g , s ) DY ( x ) , 并且当H是范围为适当组的hash(散列)函数的时候,令 G s H ( M , x ) = f ( H ( M ) , s ) DY ( x ) .
现在描述系统的协议:Setup(设置)、Withdraw(提取)、Spend(消费)和Deposit(存放)(包括响应于违犯的协议)。
Setup协议:
令k为保密参数。共用系统参数是双线性映射参数Bilinear_Setup(1k)→(q,g1,G1,g2,h2,G2,GT,e),钱包尺寸l,以及两个hash函数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消费的钱币数的上界NM
Withdraw协议:
用户U如下从银行B提取2l个钱币。用户和银行参与交互协议,并且如果都没有报告错误,那么在结束时:
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没有学习关于skU、s或t的任何内容。
使用签名以及如“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”中所描述的相关协议可以实现步骤一。通过将Camenisch-Damgard可检验加密技术应用于双线性Elgamal密码系统可以实现步骤二。步骤三跟随在前两个之后。所有这些步骤本质上与CHL电子货币方案中的是相同的,除了签名的密钥现在除了x之外还包括v和w。
Spend协议:
在NM个钱币的消费限制的情况下,用户U如下向商人M消费一个钱币。如在CHL中的,用户为其钱包中消费的钱币数保持从1到2l的专用计数器i。另外,现在用户还为每个商人M保持计数器jM,表示该用户向那个商人消费的钱币数。
1.U检查低于他与商人M的消费限制;也就是说,jM<NM。如果不是的话就异常中止。
2.M向U发送随机的 r 1 , r 2 &Element; Z q * .
3.U在与M的第jM次交易时向M发送其钱包中的第i个钱币。再调用skU=(x,v,w)。该钱币包括序号S和钱包检查T,其中
S = F ( e ( g 1 , h 2 ) , s ) ( i ) = e ( g 1 , h 2 ) 1 / ( s + i ) , T = g 1 x ( F ( g 1 , t ) ( i ) ) r 1 = g 1 x + r 1 / ( t + i )
以及两个洗钱检查值V和W,其中
V = G v H 1 ( id M , j M ) = H 1 ( id M ) 1 / ( v + j M ) ,
W = g 1 x ( G w H 2 ( id M , j M ) ) r 2 = g 1 x H 2 ( id M ) r 2 / ( w + j M )
以及零知识的、对(i,jM,skU=(x,v,w),s,t,σ)的知识的证明(ZKPOK)π,使得
(a)1≤i≤2l
(b)1≤jM≤NM
(c) S = F ( e ( g 1 , h 2 ) , s ) ( i ) , 即S=e(g1,h2)1/(s+i)
(d) T = g 1 x ( F ( g 1 , t ) ( i ) ) r 1 , T = g 1 x + r 1 / ( t + i ) ;
(e) V = G v H 1 ( id M , j M ) , V = H 1 ( id M ) 1 / ( v + j M ) ;
(f) W = g 1 x ( G w H 2 ( id M , j M ) ) r 2 , W = g 1 x H 2 ( id M ) r 2 / ( w + j M ) , 以及
(g)VerifySig(pkB,(skU=(x,v,w),s,t),σ)=true
可以使用Fiat-Shamir启发式方法使得证明π是非交互式的。
4.如果π进行了检验并且之前M从未见过值Vj,那么M接受并保存钱币(r1,r2,S,T,V,W,π)。如果之前在钱币(r1,r2,S′,T′,V,W′,π′)中曾见过值Vj,那么M运行Open(W′,W,r2,r2)。如果M诚实地执行Spend协议(即在每个协议开始处选择新的随机值),那么在高概率情况下r2≠r2,并且 Open ( W &prime; , W , r 2 , r 2 ) = g 1 x . 因而,商人可以通过计算e(g1 x,h2)来识别用户,e(g1 x,h2)是U的公钥的一部分。这使得诚实的商人能够自我保护来避免将试图超支的顾客。(如果商人不诚实,则银行将在存放时发觉超支。)
步骤3(a,c,d)和CHL方案中的相同,尽管步骤3(b,e,f)是新的但却类似于步骤3(a,c,d)。最后,步骤3(g)需要进行适当地修改。因此,使用标准技术可以完成步骤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的技术可以完成步骤3(c)至步骤3(f)。使用Camenisch和Lysyanskaya签名可以完成步骤3(g)。
Deposit协议:
商人M通过提交钱币(r1,r2,S,T,V,W,π)向银行B存放钱币。银行检查证明π;其如果没有检验,则银行立即拒绝。现在,银行进行两个附加的检查。
首先,B检查钱币的消费者还没有超支其钱包;也就是说,银行搜索任何先前已接受的、具有相同序号S的钱币。假设找到了这样的钱币(r1,r2,S,T′,V′,W′,π′)。如果r1=r1,则B拒绝接受该钱币。否则,B接受来自商人的该钱币,但是现在应当惩罚重复消费的用户。
1.B执行 Open ( T &prime; , T , r 1 , r 1 ) = g 1 x .
2.B识别用户为具有含有e(g1 x,h2)的公钥的人。
3.B使用g1 x在Withdraw协议期间对留给银行的s的加密进行解密。
接下来,B使用s计算用户钱包中所有钱币从j=1到2l的每个钱币的序号 S j = F ( e ( g 1 , h 2 ) , s ) ( j ) . 实际上,银行可以使用g1 x来对所有用户的钱包的秘密进行解密并以相同的方式跟踪那些交易。
其次,B检查钱币的消费者还没有超过其与商人M的消费限制。也就是说,银行搜索任何先前已接受的、具有相同的洗钱检查值Vj的钱币。假设找到了这样的钱币(r1,r2,S′,T′,V,W′,π′)。银行拒绝接受存放物并惩罚商人。银行现在确定消费者是否应受到谴责。如果r2=r2,则B仅惩罚商人。否则,B还可以惩罚试图洗钱的用户。
1.B执行 Open ( W &prime; , W , r 2 , r 2 ) = g 1 x .
2.B识别用户为具有含有e(g1 x,h2)的公钥的人。
3.B使用g1 x在Withdraw协议期间对留给银行的s的加密进行解密。
接下来,B使用s计算用户钱包中所有钱币从j=1到2l的每个钱币的序号 S j = F ( e ( g 1 , h 2 ) , s ) ( j ) . (实际上,银行可以使用g1 x来对所有用户的钱包的秘密进行解密并以相同的方式跟踪那些交易。)
如果所有的检查都通过,则B接受存入M的帐户的钱币。
该存放协议(deposit protocol)类似于CHL方案中的存放协议,即并不是仅检查重复消费,银行现在还检查洗钱。因而,如果用户是诚实的,则银行进行两个数据库查找而不是之前的一个。
下面描述Open()算法,其与CHL系统中的相同:
Open ( W 1 , W 2 , r 1 , r 2 ) : = W 1 ( W 1 / W 2 ) r 1 / ( r 1 , r 2 ) .
因而,对于一些元素h∈G1 s , j &Element; Z q * , 如果 W i = g x F ( h , s ) ( j ) r i , 则我们得到Open(W1,W2,r1,r2)=gx
下面描述违犯相关的协议如何工作。令C1=(r1,r2,S,T,V,W,π)和C2=(r1,r2,S′,T′,V′,W′,π′)是一个现有的和一个新存放的钱币。检测重复消费或洗钱涉及分别检查S1=S2或V1=V2。识别算法在适当的输入上运行Open,并且得到的犯罪证明是П=(C1,C2)。检验违犯需要成功地检查钱币的有效性、检测所声称的违犯、运行Open以获得g1 x,以及检查其与pk的关系。一个违犯的泄漏并不能用于消费用户的钱币或伪造另一个违犯。跟踪算法涉及在Withdraw期间从由用户签名的加密E恢复s,并且计算所有的序号。所有权的证明 &Gamma; = ( E , &sigma; , g 1 x ) , 其中σ是用户在E上的签名。检验某个序号S的所有权涉及检验签名σ、检查 e ( g 1 x , h 2 ) = pk , 解密E以恢复s、计算所有的序号Si,以及测试是否对于任意i,S=Si
收回(scaling back)对系统违犯者的惩罚:
为了使对系统违犯者的惩罚更宽大或仅仅使系统更有效率,有两个可用的其它选项:
选项(1):检测违犯并揭示用户的身份。除了在Withdraw协议期间用户并不给予银行其钱包秘密s的可检验加密之外,该系统操作如上。然后稍后在Deposit协议期间,银行仍然可以检测违犯和识别用户,但是将不能够计算涉及该用户的其它交易的序号。
选项(2):检测违犯。除了在Spend协议期间用户并不向商人提供洗钱检查值Yj之外,该系统操作如选项(1)系统。然后稍后在Deposit协议期间,银行仍然可以检测违犯,但是将不能够识别用户。
效率考虑:
作为对协议效率的指示,规定了一些数。例如,可以构造Spend,使得用户必须计算十四个多底取幂(multi-base exponentiation)以建立承诺以及另外二十个用于证明。在该例中,商人和银行需要实现二十个多底取幂以检查钱币是有效的。协议提供了用户与商人之间的两轮通信,以及银行与商人之间的一轮通信。如果采用上面的选项(2),那么就是十三个多底取幂来建立承诺以及另外十八个用于证明。银行和商人的检验采用了十八个多底取幂。
安全证明:
在有界匿名商业模型中,该方案实现了正确性、平衡、用户的匿名、对违犯者的识别、对违犯者的跟踪,以及在强RSA、y-DDHI和随机谕示模型中的XDH或Sum-Free DDH假设下的强辩解能力。
由于空间限制,提供了一些高级直觉以及证明概略。存在对CHL的三个主要的观察。可以将其扩展以防止重复消费以外的违犯,特别是通过谨慎使用PRF来将其输出链接至商人。
平衡:对于每个钱包来说,s确定性地定义了可以是钱币的有效序号的、精确的N个值。为了超支钱包,用户可以使用一个序号两次,在这种情况下,该用户是可识别的,或者该用户可以假造CL签名或伪造ZK证明。
用户的匿名:钱币包括四个值(S,T,V,W),其是伪随机的并且因而不泄漏有关用户的任何信息以及对有效性的(非交互式、零知识)证明,由于该证明是零知识的,因此也不泄漏任何内容。
在此仅有的异常是,当计算V和W的时候,用于PRF的底是商人的身份的散列(与用于计算S和T的固定底形成对比)。将散列H看作随机谕示,我们看到给定Gv H(idM,j),在任何其它输入上的Gv H(·,·)的输出,特别是对于idM≠idM的Gv H(idM,j),并不能与随机的区分开来。特别地,如果对于一些随机的、固定的H(idM)和H(idM),对手给定的 G v H ( id M , j ) = f ( H ( id M ) , v ) DY ( j ) = H ( id M ) 1 / ( v + j ) 可以将H(idM)1/(v+j)与随机的区分开来,那么其就解决了DDH。
辩解能力:首先,诚实的用户不能被证明他没有犯下罪行,因为犯罪证明包括用户的秘密值g1 x。如果用户是诚实的,则仅有该用户知道该值。其次,甚至欺骗性用户也不能被证明他没有犯下罪行-例如,重复消费一个钱币并不能实现对洗钱二十个钱币的伪证-因为:(1)罪行是公开从钱币自身检验的,以及(2)x的知识是要创建钱币的。违犯所泄漏的值g1 x并不足以从该用户的钱包消费钱币。
下面基于以上概括的定义概述证明。
正确性:可以检验如果诚实方遵循协议,则双方都不会输出错误消息。
平衡:令A为执行与充当银行的提取器E的n个Withdraw协议的对手。在每个Withdraw期间,E完全充当诚实的银行,除了当A给出对(x,s,t,v,w)的知识的证明时以外,E提取这些值。从s,E可以以特定的概率计算A可以为该钱包计算的所有合法序号。令L表示来自所有钱包的所有序号的集合。现在假设A可以使诚实的银行接受具有序号SL的钱币。那么接着A就编造了对有效性的伪证,这以可忽略的概率发生。
用户的匿名:对匿名的CHL定义提供了仿真器S,其可以在不访问用户的钱包、密钥、或者甚至用户的公钥的情况下成功地执行用户端的Spend协议。假设S希望向商人M消费钱币,其中钱包尺寸是N,并且M的匿名消费限制是M。S选择随机值(x,s,t,v,w)以及任意的1≤i≤N和1≤jM≤M。接下来,S完全按照诚实的用户那样创建钱币序号 S = F ( e ( g 1 , h 2 ) , s ) ( i ) , 商人记录定位器 V = G v H 1 ( id M , j M ) 以及检查值 T = g 1 x F ( g 1 , t ) ( i ) r 1 W = g 1 x G w H 2 ( id M , j M ) r 2 . 因为这些值是伪随机的,所以它们不能与真实的钱币区分开来。S可以证明(S,T,V,W)形成良好并且i、jM处于适当的范围。S可以伪造的仅有的证明部分是S在(x,s,t,v,w)上具有来自银行的签名。在此,S调用适当的CL仿真器用于该步骤,其请求控制随机谕示。
识别违犯者:如在平衡中所述,提取器E与对手A执行多个Spend协议,以高概率提取(x,s,t,v,w)。对于每个钱包来说,E可以计算对于1≤i≤N的所有有效的钱币序号 S i = F ( e ( g 1 , h 2 ) , s ) ( i ) , 以及对于1≤jM≤M和某商人M的所有有效的商人记录定位器 V j = G v H 1 ( id M , j M ) . 现在假设A可以使诚实的银行接受具有相同序号S1=S2的两个钱币C1=(S1,T1,V1,W1,π1,r1,r1)和C2=(S2,T2,V2,W2,π2,r2,r2)或者具有相同商人记录定位器V1=V2的两个钱币。由于这些冲突的发生,钱币来自相同的钱包(x,s,t,v,w),具有相同的i或相同的(idM,jM),并且形成良好。否则,用户就伪造了对有效性的证明。然后以特定的概率, g 1 x = T 1 / ( T 1 / T 2 ) r 1 / ( r 1 - r 2 ) g 1 x = W 1 / ( W 1 / W 2 ) r 1 / ( r 1 - r 2 ) 揭示用户的身份。
对违犯i=1(重复消费)的犯罪证明П是有效钱币(C1,C2)。任何人都可以检查S1=S2 g 1 x = T 1 / ( T 1 / T 2 ) r 1 / ( r 1 - r 2 ) , 并且g1 x对应于pk(例如 f ( g 1 x ) = pk )。同样,对违犯i=2(超过与特定商人的匿名商业边界)的犯罪证明是有效钱币(C1,C2),其使得V1=V2 g 1 x = W 1 / ( W 1 / W 2 ) r 1 / ( r 1 / r 2 ) , 并且g1 x对应于pk。
一个技术细节在于如果两个钱包种子s、s′是这样的,即|s-s′|<2l=N,会发生什么;因而这两个钱包在至少一个序号上重叠。如果从两个钱包消费了相同的序号,则银行将它们标记为重复消费,然而识别算法不会起作用,因为实际上没有发生重复消费。由于这可能使银行混淆,因此这个问题可以通过使银行为每个钱包提供对s的选择的随机性来避免。当从Zq随机取出s、s′时,它们重叠的可能性是2l+1/q。
跟踪违犯者:在Withdraw期间,每个用户都被要求留给银行其钱包秘密s的可检验加密E,使得其自己的密钥g1 x足以解密。用户还被要求对该加密签名。通过识别违犯者特性,可以推断系统违犯允许银行恢复g1 x。通过完整的可检验加密,使用g1 x恢复钱包种子s并计算对于1≤i≤N的所有序号 S i = F ( e ( g 1 , h 2 ) , s ) ( i ) , 可以以高概率打开属于欺骗性用户的每个钱包。
对具有序号S的某钱币的所有权的证明Γ包括加密E、解密密钥g1 x以及E上的签名。检验方应当首先检查g1 x对应于pk,并且E上的签名有效。然后其可以解密E以恢复s,计算对于1≤i≤N的所有序号 S i = F ( e ( g 1 , h 2 ) , s ) ( i ) , 并且测试对于某个i,S=Si
强辩解能力:强辩解能力具有两部分。首先,没有与诚实用户交互的对手可以产生值(i,S,V,П)使得VerifyViolation(i)(params,S,V,П)接受,除非具有pk的用户有罪于违犯i。
证明П包括两个有效钱币(C1,C2)使得他们揭示g1 x。由于g1 x是秘密信息,因此其释放用户已经犯下某种违犯的信号。用户对手边的(并且不是先前的某一个)特定违犯有过失的原因在于需要x(不仅是g1 x)的知识来创建有效钱币。
第二部分是甚至在迫使用户违犯系统条件之后,也没有对手可以产生(i,S,Γ)使得VerifyOwnership(params,pk,S,Γ),除非具有序号S的钱币实际上属于具有pk的用户。证明Γ包括加密E、用户的签名σ以及解密密钥g1 x。由用户签名的所有加密以高概率对应于某明文s,该明文又允许计算属于该用户的所有序号。因而,对手将不得不在某新的加密上假造用户的签名以便取胜,这被认为以可忽略的概率发生。
尽管以上给出的详细描述涉及电子支付系统,然而关于有界匿名的类似问题可以通过本发明的方法得到处理与解决。特别地,基于此可以实现任何系统授权发放方对基于凭单的系统上不同接受方的、有限数目的匿名访问。这样的系统的例子可以包括但并不限于:打印机配额系统(qutoasystem)、电子表决系统以及其它电子政府服务。
除了CHL系统,可以加强其它基础电子支付系统以便防止电子洗钱。在Stefan Brands的题为“Untraceable Off-Line Cash in Wallets withObservers”,published in CRYPTO′93 Vol.773 of LNCS,page 302,1994的论文中描述了可以以类似的方式扩展的另一电子支付系统的例子。

Claims (13)

1.用于自动确认在具有签名密钥(pkB,skB)的发行方、具有发放方密钥(pkU,skU)的发放方、具有唯一身份(idM)和交易限制(NM)的接受方以及确认方之间的交易的方法,所述方法包括以下步骤:
-由所述发放方从所述发行方提取凭单(S),基于所述发行方的签名密钥(pkB,skB)和所述发放方的发放方密钥(pkU,skU),使用所述发行方与所述发放方之间的第一双方协议计算所述凭单(S),
-由所述发放方向所述接受方消费所述凭单(S),其中基于所述凭单(S)、所述发放方与所述接受方之间的交易数(j)、所述接受方所生成的交易询问值(r1,r2)以及所述接受方的唯一身份(idM),使用所述发放方与所述接受方之间的第二双方协议计算洗钱检查值(Vj),
-由所述接受方向所述确认方存放所述凭单(S)、所述交易询问值(r1,r2)以及所述洗钱检查值(Vj),以及
-通过将所述洗钱检查值(Vj)与在较早的交易中已向所述确认方存放的洗钱检查值(Vj′)进行比较,由所述确认方通过检验所述发放方与所述接受方之间的交易数低于所述接受方的交易限制(NM)来确认所述交易。
2.根据权利要求1的方法,其中,
-在所述消费步骤中,对知识的证明(π)由所述发放方计算,并且被传输至所述接受方,
-在所述存放步骤中,向所述确认方存放所述证明(π),以及
-所述确认步骤进一步包括以下步骤:检验所述证明(π)关于所述接受方的唯一身份(idM)、所述凭单(S)和所述洗钱检查值(Vj)是有效的。
3.根据权利要求2的方法,其中,
-在所述确认步骤中,所述确认方检验:所述证明(π)是基于所述接受方的交易限制(NM)计算的。
4.根据权利要求1至3中任何一项的方法,其中,
-如果所述确认方检测到在较早的交易中向所述确认方存放的洗钱检查值(Vj′)等于当前交易的所述洗钱检查值(Vj),则所述确认步骤进一步包括以下步骤:
-拒绝所述凭单(S),以及
-检索在所述较早的交易中所使用的交易询问值(r2′)和凭单(S),
-如果在所述较早的交易中所使用的交易询问值(r2′)与所述交易询问值(r2′)不同,则由所述确认方基于在所述较早的和当前交易中所使用的凭单(S,S′)计算所述发放方的身份(pkU)。
5.根据权利要求1至4中任何一项的方法,其中,
-在所述确认步骤中,所述确认方将所述凭单(S)与在较早的交易中存放的凭单(S′)进行比较,以及
-如果所述发行方检测到在较早的交易中向所述确认方存放的凭单(S′)等于当前交易的所述凭单(S),则所述确认步骤进一步包括以下步骤:
-检索在所述较早的交易中所使用的交易询问值(r1′),
-如果在所述较早的交易中所使用的交易询问值(r1′)与所述交易询问值(r1′)相等,则所述确认方拒绝所述凭单(S),以及
-如果在所述较早的交易中所使用的交易询问值(r1′)与所述交易询问值(r1′)不同,则由所述确认方基于在所述较早的和当前交易中所使用的凭单(S,S′)计算所述发放方的身份(pkU)。
6.根据权利要求4或5的方法,其中,
-在所述提取步骤中,所述发放方向所述发行方提供对钱包秘密(s)的知识的证明,并且所述凭单(S)是基于所述钱包秘密(s)的,
-在所述消费步骤中,计算钱包检查值(Ti)并且将其传送至所述接受方,
-在所述存放步骤中,向所述确认方存放所述钱包检查值(Ti),以及
-在所述确认步骤中,如果所述发行方检测到在较早的交易中已向所述确认方存放了所述凭单(S)或所述洗钱检查值(Vj),并且所述当前交易的交易询问值(r1,r2)等于所述较早的交易中所使用的交易询问值(r1′,r2′),则基于所述当前和较早的交易的钱包检查值(Ti,Ti′),由所述确认方计算所述发放方的钱包秘密(s)。
7.根据权利要求1至6中任何一项的方法,其中,
-在所述消费步骤中,所述接受方检验所述交易数(j)低于所述交易限制(NM),并且如果所述交易数(j)超出所述交易限制(NM),则放弃所述交易。
8.电子支付系统,所述电子支付系统包括:用于发行预定面额的钱币的银行计算机系统、用于发放所述钱币的用户计算机系统、用于接受所述钱币的商人计算机系统,以及用于确认所述钱币的确认方计算机系统,所述银行计算机系统、所述用户计算机系统、所述商人计算机系统以及所述确认方计算机系统在操作上通过数据网络连接,其中根据权利要求1至7中任何一项的方法提取、发放、存放和确认所述钱币。
9.计算机系统,所述计算机系统包括执行权利要求1至7中任何一项的方法的装置。
10.一种用于向发放方发行凭单(S)、特别是钱币的发行方,所述发行方被提供用于:
-基于所述发行方的签名密钥(pkB,skB)和所述发放方的发放方密钥(pkU,skU),使用所述发行方与所述发放方之间的第一双方协议计算所述凭单(S)。
11.一种用于从发放方接受凭单(S)、特别是钱币的接受方,基于发行方的签名密钥(pkB,skB)和所述发放方的发放方密钥(pkU,skU),使用所述发行方与所述发放方之间的第一双方协议计算所述凭单(S),所述接受方被提供用于:
-基于所述凭单(S)、所述发放方与所述接受方之间的交易数(j)、由所述接受方生成的交易询问值(r1,r2)以及所述接受方的唯一身份(idM),通过使用所述发放方与所述接受方之间的第二双方协议计算洗钱检查值(Vj),
-向确认方存入所述凭单(S)、所述交易询问值(r1,r2)以及所述洗钱检查值(Vj)。
12.一种用于确认在具有签名密钥(pkB,skB)的发行方、具有发放方密钥(pkU,skU)的发放方、具有唯一身份(idM)和交易限制(NM)的接受方之间的交易的确认方,所述确认方被提供用于:
-通过将洗钱检查值(Vj)与在较早的交易中已向所述确认方存放的洗钱检查值(Vj′)进行比较,检验所述发放方与所述接受方之间的交易数低于所述接受方的交易限制(NM)。
13.一种发放方,所述发放方被提供用于:
-从发行方提取凭单(S),基于所述发行方的签名密钥(pkB,skB)和所述发放方的发放方密钥(pkU,skU),使用所述发行方与所述发放方之间的第一双方协议计算所述凭单(S),
-向接受方消费所述凭单(S),其中,基于所述凭单(S)、所述发放方与所述接受方之间的交易数(j)、由所述接受方生成的交易询问值(r1,r2)以及所述接受方的唯一身份(idM),使用所述发放方与所述接受方之间的第二双方协议计算洗钱检查值(Vj)。
CN200710104873.7A 2006-05-24 2007-05-23 用于自动确认交易的方法以及电子支付系统 Pending CN101079141A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06010888 2006-05-24
EP06010888.3 2006-05-24

Publications (1)

Publication Number Publication Date
CN101079141A true CN101079141A (zh) 2007-11-28

Family

ID=38850951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710104873.7A Pending CN101079141A (zh) 2006-05-24 2007-05-23 用于自动确认交易的方法以及电子支付系统

Country Status (4)

Country Link
US (1) US8051010B2 (zh)
JP (1) JP5159173B2 (zh)
CN (1) CN101079141A (zh)
TW (1) TW200820108A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446329A (zh) * 2010-10-08 2012-05-09 微软公司 保护隐私的计量
CN104717067A (zh) * 2013-12-17 2015-06-17 中国移动通信集团辽宁有限公司 基于非交互式零知识的安全验证方法、设备及系统
CN104850984A (zh) * 2014-05-13 2015-08-19 电子科技大学 一种离线电子货币支付的安全运行方法
CN105245327A (zh) * 2015-08-21 2016-01-13 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080027823A1 (en) * 2006-07-27 2008-01-31 Matthew Petruccelli System and method for purchasing items on the internet using a computer terminal with a pliant currency acceptor
US8712888B2 (en) * 2007-12-28 2014-04-29 Mastercard International Incorporated Methods and systems for assessing sales activity of a merchant
US8391584B2 (en) 2008-10-20 2013-03-05 Jpmorgan Chase Bank, N.A. Method and system for duplicate check detection
US9092447B1 (en) 2008-10-20 2015-07-28 Jpmorgan Chase Bank, N.A. Method and system for duplicate detection
JP5314449B2 (ja) * 2009-02-12 2013-10-16 日本電信電話株式会社 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
CN103025279B (zh) 2010-05-04 2014-12-03 奈特·布朗斯股份有限公司 睡眠姿势纠正方法及装置
US9993179B2 (en) 2012-10-29 2018-06-12 Nightbalance B.V. Method and device for sleep posture correction
US8667292B2 (en) 2011-05-19 2014-03-04 Microsoft Corporation Privacy-preserving metering with low overhead
EP2704110A1 (de) * 2012-09-04 2014-03-05 Wincor Nixdorf International GmbH Verfahren zur Prävention von Geldwäscheangriffen
FR3018378A1 (fr) * 2014-03-12 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses
US20160321751A1 (en) * 2015-04-28 2016-11-03 Domus Tower, Inc. Real-time settlement of securities trades over append-only ledgers
US10470043B1 (en) 2015-11-19 2019-11-05 Wells Fargo Bank, N.A. Threat identification, prevention, and remedy
US9929860B1 (en) * 2015-12-30 2018-03-27 Emc Corporation Methods and apparatus for generalized password-based secret sharing
US10104088B2 (en) * 2016-09-28 2018-10-16 International Business Machines Corporation Traitor tracing for obfuscated credentials
US11037162B2 (en) * 2018-05-14 2021-06-15 Visa International Service Association System, method, and computer program product for determining an event in a distributed data system
CN111768304A (zh) 2018-08-06 2020-10-13 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
SG11201902778UA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
ES2863552T3 (es) 2018-11-27 2021-10-11 Alibaba Group Holding Ltd Sistema y método para protección de información
WO2019072277A2 (en) * 2018-11-27 2019-04-18 Alibaba Group Holding Limited SYSTEM AND METHOD FOR INFORMATION PROTECTION
ES2879855T3 (es) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd Sistema y método para la protección de información
SG11201903438TA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
US11151558B2 (en) 2018-12-12 2021-10-19 American Express Travel Related Services Company, Inc Zero-knowledge proof payments using blockchain
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
CN109949472A (zh) * 2019-02-28 2019-06-28 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110120872B (zh) * 2019-06-03 2020-02-11 卓尔智联(武汉)研究院有限公司 交互式登录验证装置、方法及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3171228B2 (ja) * 1996-03-14 2001-05-28 日本電信電話株式会社 複数信託機関を利用した電子紙幣実施方法
JP3171227B2 (ja) * 1995-11-06 2001-05-28 日本電信電話株式会社 信託機関付き電子紙幣実施方法
US20020004783A1 (en) * 1997-11-12 2002-01-10 Cris T. Paltenghe Virtual wallet system
JP2002279195A (ja) * 2001-03-16 2002-09-27 Toshiba Corp 消費者システム及び暗証番号入力端末装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446329A (zh) * 2010-10-08 2012-05-09 微软公司 保护隐私的计量
CN104717067A (zh) * 2013-12-17 2015-06-17 中国移动通信集团辽宁有限公司 基于非交互式零知识的安全验证方法、设备及系统
CN104717067B (zh) * 2013-12-17 2018-02-23 中国移动通信集团辽宁有限公司 基于非交互式零知识的安全验证方法、设备及系统
CN104850984A (zh) * 2014-05-13 2015-08-19 电子科技大学 一种离线电子货币支付的安全运行方法
CN104850984B (zh) * 2014-05-13 2018-04-06 电子科技大学 一种离线电子货币支付的安全运行方法
CN105245327A (zh) * 2015-08-21 2016-01-13 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路

Also Published As

Publication number Publication date
US8051010B2 (en) 2011-11-01
US20070294183A1 (en) 2007-12-20
TW200820108A (en) 2008-05-01
JP2007317200A (ja) 2007-12-06
JP5159173B2 (ja) 2013-03-06

Similar Documents

Publication Publication Date Title
CN101079141A (zh) 用于自动确认交易的方法以及电子支付系统
Delgado-Segura et al. A fair protocol for data trading based on bitcoin transactions
Wang et al. A flexible payment scheme and its role-based access control
Camenisch et al. Balancing accountability and privacy using e-cash
WO2019010430A2 (en) METHOD AND SYSTEM FOR PUBLICITY BY SOCIAL MEDIA PRESERVING CONFIDENTIALITY
EP3481003B1 (en) An efficient certified email protocol
Jiang et al. Transforming semi-honest protocols to ensure accountability
RU2157001C2 (ru) Способ проведения платежей (варианты)
Rial et al. A privacy-preserving buyer–seller watermarking protocol based on priced oblivious transfer
Delgado-Mohatar et al. Blockchain-based semi-autonomous ransomware
Naganuma et al. Auditable zerocoin
Canard et al. A handy multi-coupon system
Carbunar et al. Payments for outsourced computations
Yang et al. Practical escrow protocol for bitcoin
Chu et al. Manta: Privacy preserving decentralized exchange
Carbunar et al. Conditional e-payments with transferability
Wang et al. A consumer scalable anonymity payment scheme with role based access control
CN112261064B (zh) 一种基于区块链的航空商务隐私保护快捷结算方法及系统
Kim et al. A new electronic check system with reusable refunds
Dogan et al. KAIME: Central bank digital currency with realistic and modular privacy
Chen et al. On the Privacy of" User Efficient Recoverable Off-Line E-Cash Scheme with Fast Anonymity Revoking".
US20220329416A1 (en) Provenance verification for selective disclosure of attributes
Carbunar et al. Conditional payments for computing markets
Kang et al. An Off-Line Payment Scheme for Digital Content via Subliminal Channel.
Wang et al. An electronic cash scheme and its management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20071128