首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际检索单位 / 检索费 / 用于微支付交易的方法和系统

用于微支付交易的方法和系统

阅读:896发布:2022-01-28

专利汇可以提供用于微支付交易的方法和系统专利检索,专利查询,专利分析的服务。并且向付款人U提供了一种用于为交易T向收款人M建立付款的微 支付系统 和方法,其中交易T通常具有非常低的价格TV。微支付方案最小化了 银 行的处理成本,同时消除了为了确定一个给定微支付是否应当被选择用于付款而需要的用户和商人之间的交互。在一个 实施例 中,微支付方案包含时间限制,其要求用于交易T的 电子 支票C在一个预定时间/日期间隔内提供给银行B用于付款。在另一个实施例中,微支付方案包含一种选择存款协议,其甚至在概率性 框架 内也保证了用户决不会被收取超过他实际花费的 费用 。在另一个实施例中,微支付方案包含一种延期选择协议,其向银行提供了在付款选择过程上的控制和灵活性。,下面是用于微支付交易的方法和系统专利的具体信息内容。

1.一种为交易T建立付款的方法,该方法包含:A.第一方从T中导出一个与T有关的数据串C,并且使第二方接收至少一部分所述数据串C;B.第二方使所述至少一部分C与一个数据项V相关联,其中V实质上是第一方不可预知的;C.第二方确定V是否满足属性P,并且如果满足的话,则第二方使第三方接收允许第三方验证V是否满足所述属性P的信息I;D.第三方在接收到I后验证V是否满足所述属性P;以及E.只有当V满足所述属性P时第三方才使第四方接收金额A。
2.依据权利要求1所述的方法,其特征在于:至少一部分所述数据串C被验证。
3.依据权利要求1所述的方法,其特征在于:第二方确定V是否满足属性P的步骤不要求在第二方和第一方之间交互。
4.依据权利要求2所述的方法,其特征在于:所述数据串的所述部分由第五方代表第一方进行验证。
5.依据权利要求1所述的方法,其特征在于:第一方从T中导出数据串C的步骤包括第一方使用第一方的秘密密钥为至少一部分T创建一个数字签名的步骤。
6.依据权利要求5所述的方法,其特征在于:所述第一方的所述数字签名包括以下中的至少一个:(a)确定性的签名;(b)随机化的签名;(c)离线签名;(d)在线签名;以及(e)基于身份的签名。
7.依据权利要求1所述的方法,其特征在于:第二方使数据项V与C相关联的步骤包括第二方使用第二方的秘密密钥为至少一部分C创建一个数字签名的步骤。
8.依据权利要求7所述的方法,其特征在于:所述第二方的所述数字签名是确定性的签名。
9.依据权利要求1所述的方法,其特征在于:所述数据串C包含下列中的至少一个:用于所述交易T的至少一部分的数字签名,其中所述数字签名是使用第一方的秘密密钥计算的;消息验证码,其中所述消息验证码值是使用第一方的秘密密钥计算的;以及电子支票。
10.依据权利要求1所述的方法,其特征在于:所述数据项V包含以下中的至少一个:a)用于C的数字签名,其中所述数字签名是使用第二方的秘密密钥计算的;以及b)消息验证码值,其中所述消息验证码值是使用第二方已知的秘密密钥计算的。
11.依据权利要求1所述的方法,其特征在于:所述第二方使所述第三方接收所述信息I的步骤包括下列步骤中的至少一个:a)第二方发送I给第三方;b)第二方请求第五方发送I给第三方;以及c)第二方把I记入在一个文件中,并且所述第三方从所述文件中检索I。
12.依据权利要求1所述的方法,进一步包括步骤:第二方在接收C之后检查C的真实性和完整性。
13.依据权利要求12所述的方法,其特征在于:第二方使用与第一方有关的公用验证信息,检查C的真实性和完整性。
14.依据权利要求13所述的方法,其特征在于:所述公用验证信息包括在公共密钥数字签名方案中对应于第一方的秘密密钥的第一方公共密钥。
15.依据权利要求13所述的方法,其特征在于:第二方使用所述公用验证信息的步骤包括下列中的至少一个:(a)第二方从第一方获得所述公用验证信息;(b)第二方从由第一方传输的与所述数据串C相关联的信息中获得所述公用验证信息;(c)第二方从一个数字证书中获得所述公用验证信息;以及(d)第二方从可公开得到的有关第一方的信息中获得所述公用验证信息。
16.依据权利要求1所述的方法,其特征在于:第二方和第四方是相同的。
17.依据权利要求1所述的方法,其特征在于:所述第二方和所述第三方是相同的。
18.依据权利要求1所述的方法,其特征在于:只有当F(V)<s时V才满足P,其中F是函数,而s是常数。
19.依据权利要求18所述的方法,其特征在于:0<s<1。
20.依据权利要求18所述的方法,其特征在于:F是采用任意的位串作为输入并且返回一个大于0并且小于1的数作为输出的公用函数。
21.依据权利要求1所述的方法,其特征在于:所述交易T以交易价格Tv为部分特征。
22.依据权利要求21所述的方法,其特征在于:由所述第四方接收的所述金额大于Tv。
23.依据权利要求20所述的方法,其特征在于:所述交易T以交易价格Tv为部分特征,并且由所述第四方接收的所述金额等于(Tv*1/s)。
24.依据权利要求1所述的方法,(a)其中所述数据项V包括与所述数据串C有关的所述第二方的数字签名;以及(b)其中如果F(V)小于s则V满足所述属性P,其中F表示对一个位串进行运算并且返回一个在0和1之间的数作为输出的公用函数。
25.依据权利要求1所述的方法,其特征在于:所述数据串C包括有关T的信息,所述信息包含下列中的至少一个:a)第一方的身份;b)交易的时间;以及c)交易的日期。
26.一种用于使用户U向商人M为具有交易价格Tv的交易T建立付款的方法,该方法包含:A.用户建立用于第一数字签名方案的一个公共密钥和一个相应的秘密密钥,并且从T中导出一个数据串C=SIGU(T)以创建一个包含C的电子支票,其中SIGU(T)表示在所述第一数字签名方案中用于交易T的用户U的数字签名;B.用户使商人接收所述数据串C;C.商人建立用于第二数字签名方案的一个公共密钥和一个相应的秘密密钥,并且使所述数据串C与一个数据项V=SIGM(C)相关联,其中SIGM(C)表示在所述第二数字签名方案中用于所述数据串C的商人M的数字签名;D.商人计算值F(V)=F(SIGM(C)),其中F表示对一个位串进行运算以输出一个介于0和1之间的数的公用函数;E.商人把F(SIGM(C))与一个常数s进行比较,以确定是否F(V)<s,并且如果满足的话,则使行获得商人的所述公共密钥;F.银行使用商人的所述公共密钥来验证F(SIGM(C))<s;以及G.只有当F(SIGM(C))<s时,银行才使商人接收金额A=[Tv*1/s];其中s是大于0并且小于1的常数,并且表示电子支票被选择用于提供给银行的概率。
27.一种用于为交易T建立付款的系统,该系统包含:A.通信装置,用于在第一方、第二方、第三方以及第四方之间传输数据;B.第一处理装置,可由第一方操作用于导出、输入以及存储与T有关的一个数据串C;C.第二处理装置,可由第二方操作并且根据C用于使一个数据项V与至少一部分C相关联以及用于确定V是否满足属性P;其中V实质上是第一方不可预知的;D.当V满足P时可由第二方有选择地操作以使第三方接收允许第三方验证V是否满足P的信息I的装置;以及E.当V满足P时可由第三方有选择地操作以使第四方接收金额A的装置。
28.一种为交易T建立付款的方法,该方法包含:A.第一方从第二方接收一个数据串C的至少一部分,其中所述数据串C与T有关;B.第一方使所述至少一部分C与一个数据项V相关联,其中V实质上是第二方不可预知的;以及C.第一方确定V是否满足属性P,并且只有当满足时,第一方才使第三方接收允许第三方验证V是否满足所述属性P的信息I,由此允许第三方在验证V满足P后使第四方接收金额A。
29.一种为交易T建立付款的方法,该方法包含:A.第一方从第二方接收允许第一方验证数据项V满足属性P的信息I;其中所述数据项V与由第三方从T中导出的一个数据串C的至少一部分相关联,以及其中V实质上是所述第三方不可预知的;B.第一方在接收到I后验证V是否满足所述属性P;以及C.只有当V满足所述属性P时第一方才使第四方接收金额A。
30.一种为以时间t为部分特征的交易T建立付款的方法,该方法包括:A.第一方从T中导出与T有关的一个数据串C,其中C包含有关所述时间t的信息IN;B.第一方使第二方接收所述数据串C的至少一部分,其中所述至少一部分C包含信息IN;C.第二方使所述至少一部分C与一个数据项V相关联,其中V实质上是第一方不可预知的;D.第二方确定V是否满足属性P,并且如果满足的话,则第二方在时间t′使第三方接收信息IN和允许第三方验证V是否满足所述属性P的信息I;E.第三方在接收到I后验证V是否满足所述属性P;以及F.只有当满足下列条件时第三方才使第四方接收金额A:a)V满足所述属性P,并且b)|t′-t|小于预定时间间隔。
31.依据权利要求30所述的方法,其特征在于:所述预定时间间隔|t′-t|是n天,其中n是从1到7的非零整数。
32.依据权利要求30所述的方法,其特征在于:所述预定时间间隔|t′-t|是至少m个小时,m是从1到24的非零整数。
33.依据权利要求30所述的方法,其特征在于:在步骤B中第一方在时间t1>t时使第二方接收所述部分C,并且其中除非|t1-t|小于预定数量,否则第二方拒绝接受C作为用于T的付款。
34.依据权利要求30所述的方法,其特征在于:所述数据串C包含一个使用第一方的秘密密钥创建的用于至少一部分T的数字签名。
35.依据权利要求30所述的方法,其特征在于:只有当V匹配于至少一部分C时V才满足P。
36.依据权利要求30所述的方法,其特征在于:所述属性P取决于V而不是取决于C。
37.依据权利要求30所述的方法,其特征在于:只有当F(V)<s时V才满足P,其中F是一个函数,而s是一个常数,并且0<s<1。
38.依据权利要求37所述的方法,其特征在于:函数F的值F(V)实质上是第一方不可预知的。
39.依据权利要求37所述的方法,其特征在于:所述函数F和所述常数s中的至少一个在C中被指定
40.依据权利要求37所述的方法,其特征在于:F是下列其中之一:(a)固定的公用函数;(b)采用任意的位串作为输入并且返回一个大于0且小于1的数作为输出的公用函数。
41.依据权利要求30所述的方法,其特征在于:V包含一个使用第二方的秘密密钥计算的用于C的数字签名,其被表示为SIGM(C)。
42.依据权利要求30所述的方法,在第四方接收金额A的步骤之后,进一步包括步骤:如果就所有i(i=1、......、n)来说,所述交易TSi以时间tsi为部分特征,并且|tsi-t|小于预定数量,则第三方使第一方接收对由第二方提供的一个或多个交易TSi(i=1、......、n)的免费预订。
43.依据权利要求30所述的方法,其特征在于:所述数据项V包含一个用于下列中至少一个的数字签名:a)与i有关并且包含在C中的日期信息;b)包含在C中的序列号;c)包括在C中的一个串;d)C的一个随机串部分;以及e)取决于C的一个数值;而且其中V是使用第二方的秘密密钥计算的,并且能够被表示为SIGM。
44.依据权利要求30所述的方法,其特征在于:所述数据项V包含G(C)的一个数字签名,其中G表示一个函数和一种算法中的至少一个。
45.依据权利要求44所述的方法,其特征在于:只有当F(V)=F(SIGM(G(C)))<s时V才满足P;其中F表示一个函数;s表示一个常数,并且0<s<1;并且值F(V)实质上是第一方不可预知的。
46.依据权利要求44所述的方法,其特征在于:G(C)是在T和C中的至少一个内被指定的。
47.依据权利要求44所述的方法,其特征在于:G(C)包含下列中的至少一个:(a)T的子串;(b)有关交易T的所述时间t的信息F;(c)有关进行交易T的日期的信息;以及(d)由第一方选择的串W。
48.依据权利要求47所述的方法,其特征在于:所述串W对于T来说是唯一的,并且是随机选择的。
49.依据权利要求47所述的方法,其特征在于:V=SIGM(G(C))适于在接收所述至少一部分C之前由第二方计算。
50.依据权利要求44所述的方法,其特征在于:如果V=SIGM(G(C))的至少一些位匹配于C的至少一些位,则满足所述属性P。
51.依据权利要求44所述的方法,其特征在于:如果在V=SIGM(G(C))中选择的m位串匹配于在C中选择的m位串,则满足所述属性P,其中m是预定的正整数。
52.依据权利要求51所述的方法,其特征在于:m大约为10。
53.一种为交易T建立付款的方法,该方法包括:A.第一方从T中导出一个与T有关的数据串C,并且使第二方接收所述数据串C的至少一部分;B.第二方确定在所述至少一部分C和取决于C的一个数值Q之间是否满足属性P,其中Q实质上是第一方不可预知的,并且如果满足的话,则第二方使第三方接收允许第三方验证满足所述属性P的信息I;C.第三方在接收到I后验证是否满足所述属性P;以及D.只有在验证在所述至少一部分C和Q之间满足所述属性P后,第三方才使第四方接收金额A。
54.依据权利要求53所述的方法,其特征在于:所述数值Q能够被表示为G(C),并且其中G是一个函数和一种算法中的至少一个。
55.依据权利要求54所述的方法,其特征在于:G(C)包括有关下列中至少一个的信息:a)进行交易T的时间t,以及b)进行交易T的日期d。
56.依据权利要求55所述的方法,其特征在于:只有当C的至少一些位等于SIGM(G(C))的至少一些位时,才满足所述属性P,其中SIGM(G(C))表示使用第二方的秘密密钥创建的用于G(C)的数字签名。
57.一种为以时间t为部分特征的交易T建立付款的方法,该方法包括:A.第一方从T中导出与T有关的一个数据串C;B.第二方导出与时间序列ti(i=1、......、n)有关的一系列值VLi,其中对大于1并且小于n的至少一个整数m来说,|t-tm|小于预定数量;C.第一方使第二方接收所述数据串C的至少一部分,其中所述部分包含有关所述交易T的时间t的信息;D.第二方确定在所述部分C和与tm有关的所述值VLm和取决于VLm的数值Q中的一个之间是否满足属性P;E.如果满足P,则第二方使第三方接收允许第三方验证满足所述属性P的信息I;F.第三方在接收到I后验证Q是否满足P;以及G.只有当Q满足所述属性P时第三方才使第四方接收金额A。
58.依据权利要求57所述的方法,其特征在于:所述数值Q由Q=F(SIGM(Vm))给出,其中F表示一个函数,并且SIGM(Vm)表示使用第二方的秘密密钥创建的Vm的数字签名。
59.一种为部分地以交易t为特征的交易T建立付款的方法,该方法包含:A.第一方从T中导出与T有关的一个数据串C,其中C包含有关t的信息;B.第二方导出与时间单位序列ti(i=1、......、n)有关的一系列值Vi;其中每对相邻的时间单位ti+1和ti定义了时间间隔Δti=ti+1-ti;和对大于1并且小于n的至少一个整数m来说,所述时间t在时间间隔Δtm的范围之内;C.在所述时间间隔Δtm开始处,第二方导出与Vm有关的一个值Qm,其中Qm实质上是第一方不可预知的;D.在所述时间间隔Δtm期间:a)第一方使第二方接收至少一部分C;b)第二方确定在所述部分C和Qm之间是否满足属性P,并且如果满足的话,则第二方使第三方接收允许第三方验证满足所述属性P的信息I;E.第三方在接收到I后验证Q是否满足P;以及F.只有当Q满足所述属性P时第三方才使第四方接收金额A。
60.依据权利要求59所述的方法,其特征在于:步骤C在步骤B之前发生,并且其中只有当Q的至少一些位匹配于C的至少一些位时才满足所述属性P。
61.依据权利要求59所述的方法,其特征在于:Qi由Qi=F(SIGM(Vi))给出,其中F表示一个函数,而SIGM(Vi)表示使用第二方的秘密密钥创建的Vi的数字签名。
62.依据权利要求59所述的方法,其特征在于:对所有i=1、......、n来说,时间间隔Δti=|ti+1-ti|是一个预定时间间隔。
63.依据权利要求62所述的方法,其特征在于:所述预定常数是一天。
64.一种为以时间t为部分特征的交易T建立付款的方法,该方法包括:A.第一方从T中导出与T有关的一个数据串C,其中C包含有关t的信息F;B.第二方导出与时间值序列ti(i=0、1、......、n)有关的一系列值xi(i=0、1、......、n),并且使x0公开;其中对i=0、1、......、n-1来说xi=H(xi+1),其中H是一个单向散列函数;并且其中每对相邻的时间值ti+1和ti定义了一个时间间隔Δti=ti+1-ti;和对大于1并且小于n的至少一个整数m来说,所述时间t是时间间隔Δtm;C.在所述时间间隔Δtm期间,第一方使第二方接收至少一部分C,其中所述部分包含F;D.在所述时间间隔Δtm期间,第二方确定在Qm和所述部分C之间是否满足属性P,并且如果满足的话,则第二方使第三方接收允许第三方验证满足所述属性P的信息I;E.第三方在接收到I后验证Qm是否满足P;以及F.只有当Q满足所述属性P时第三方才使第四方接收金额A。
65.依据权利要求64所述的方法,其特征在于:第二方使x0公开的步骤包括下列中的至少一个:a)放置x0在一个公开文件中;以及b)使用第二方的秘密密钥来数字签名x0,并且把相应的公共密钥放置在一个公开的目录中。
66.依据权利要求64所述的方法,其特征在于:对所有i=1、......、n来说,所述时间间隔Δti=ti+1-ti是预定常数。
67.一种为以时间t为部分特征的交易T建立付款的系统,该系统包括:A.通信装置,用于在第一方、第二方、第三方以及第四方之间传输数据;B.第一处理装置,可由第一方操作用于导出、输入和存储与T有关的一个数据串C,其中C包含有关时间t的信息F;C.第二处理装置,可由第二方操作并且根据C使一个数据项V与至少一部分C相关联以及确定V是否满足属性P;其中V实质上是第一方不可预知的;D.当V满足P时可由第二方有选择地操作的用于使第三方接收F和允许第三方验证下列内容的信息I的装置:a)V是否满足P;以及b)|t′-t|小于预定数量;E.当V满足P并且|t′-t|小于预定数量时可由第三方有选择地操作用于使第四方接收金额A的装置。
68.一种为以时间t为部分特征的交易T建立付款的方法,该方法包括:A.第一方在时间t′从第二方接收允许第一方验证数据项V满足属性P的信息I;其中所述数据项V与由第三方从T导出而且包含有关t的信息的一数据串C的至少一部分相关联;以及其中V实质上是所述第三方不可预知的;B.第一方在接收到I后验证V是否满足所述属性P;以及C.只有当满足下列条件时第一方才使第四方接收金额A:a)V满足所述属性P;并且b)|t′-t|小于预定数量。
69.一种为以时间t为部分特征的交易T建立付款的方法,该方法包括:A.第一方从第二方接收一个数据串C的至少一部分,其中所述数据串C与T有关,并且其中所述部分C包含有关t的信息;B.第一方使所述至少一部分C与一个数据项V相关联,其中V实质上是第二方不可预知的;以及C.第一方确定V是否满足属性P,并且如果满足的话,第一方在时间t′使第三方接收允许第三方验证V是否满足所述属性P的信息I,由此在满足以下条件时允许第三方使第四方接收金额A:a)V满足P;以及b)|t′-t|小于预定数量。
70.一种为n个交易T1、T2,......、Ti、......、Tn建立付款的方法,其中在1和n之间的索引i能够与每个Ti相关联,并且其中每个交易Ti以交易价格TVi为部分特征,该方法包括:A.第一方使用一种概率性付款方案以便为每个交易Ti生成一个支票Ci,并且使第二方接收所述Ci,其中Ci包含索引i的指示;B.第二方以防止第一方事先预知哪些支票Cj将被选择为是可支付的方式选择可支付的支票Cj(1≤j≤n);C.第二方使第三方接收允许第三方验证所选择的支票Cj为可支付的信息Ij;D.第三方根据Ij的接收来验证所选择的支票Cj是可支付的;以及E.只有当Cj是可支付的时,第五方才使第四方接收贷记金额CRj,并且使第一方被借记去借记金额Dj,使得对在1和n之间的所有索引j来说以及对可支付支票的任何选择来说,D=D1+D2+......+Dj不大于TVagg=TV1+TV2+......+TVj。
71.依据权利要求70所述的方法,其特征在于:对在1和n之间的所有索引j来说,每个借记金额Dj至少部分地由TVj和Cj中的一个确定。
72.依据权利要求70所述的方法,其特征在于:每个借记金额Dj取决于与Tj有关的所述索引j。
73.依据权利要求72所述的方法,其特征在于:每个借记金额Dj还取决于先前的借记金额Dk(1≤k<j≤n)和向其借记了借记金额D1的先前索引1(1≤1<j≤n)中的至少一个。
74.依据权利要求70所述的方法,进一步包括步骤:对被选择用于付款的每个支票Cj来说,所述第五方使索引j的指示被存储。
75.依据权利要求74所述的方法,其特征在于:可支付支票Cj的每个借记金额Dj取决于发现是可支付的任何先前支票的最近存储的索引k。
76.依据权利要求70所述的方法,其特征在于:第二方使该第三方接收该信息Ij的步骤包括下列中的至少一个:a)第二方发送Ij给第三方;b)第二方请求第五方发送Ij给第三方;以及c)第二方把Ij记入在一个文件中,并且所述第三方从所述文件中检索Ij。
77.一种为n个交易T1、T2,......、Ti、......、Tn建立付款的方法,其中在1和n之间的索引i能够与每个Ti相关联,并且其中每个交易Ti以交易价格TVi为部分特征,该方法包括:A.第一方从每个交易Ti中导出一个与Ti有关的数据串Ci,并且使第二方接收所述数据串Ci;B.第二方使每个数据串Ci与一个数据项Vi相关联,其中Vi实质上是第一方不可预知的;C.第二方确定Vi是否满足属性Pi,并且如果满足的话,则第二方使第三方接收允许第三方验证Vi是否满足所述属性Pi的信息Ii;D.第三方根据Ii的接收来验证Vi是否满足所述属性Pi;以及E.只有当Vi满足所述属性Pi时,第五方才使第四方接收贷记金额CRi,并且使第一方被借记去借记金额Di;其中所述借记金额Di小于或等于所述贷记金额CRi。
78.依据权利要求77所述的方法,其特征在于:对介于1和n之间的所有索引i来说,D1+D2+......+Di小于或等于TV1+TV2+......+TVi。
79.依据权利要求77所述的方法,其特征在于:对在1和n之间的所有索引i来说,每个借记金额Di至少部分地由TVi和Ci中的一个确定。
80.依据权利要求77所述的方法,其特征在于:每个数据串Ci包含与Ti有关的所述索引i的指示。
81.依据权利要求80所述的方法,其特征在于:每个借记金额Di取决于与Ti有关的所述索引i。
82.依据权利要求81所述的方法,其特征在于:每个借记金额Di还取决于先前的借记金额Dj和向其借记了借记金额Dk的先前索引k中的至少一个。
83.依据权利要求82所述的方法,其特征在于:的介于1和n之间的所有索引i来说,D1+D2+......+Di小于或等于TV1+TV2+......+TVi。
84.依据权利要求77所述的方法,进一步包括步骤:每当Vi满足Pi时,所述第五方使得为每个数据串Ci存储信息SNi。
85.依据权利要求84所述的方法,其特征在于:SNi是累进序列号,其表示在由所述第一方导出的数据串的有序连续性中所述数据串Ci相对于其它数据串C1、......、Ci-1、和Ci+1、......、Cn的顺序。
86.依据权利要求84所述的方法,其特征在于:每个借记金额Di是使用SNi确定的。
87.依据权利要求84所述的方法,其特征在于:对介于1和n之间的所有索引i来说,D1+D2+......+Di小于或等于TV1+TV2+......+TVi。
88.依据权利要求84所述的方法,其特征在于:每个借记金额Di是使用SNi确定的。
89.一种为多个具有相等价格的交易T1、T2、......、Ti、......、Tn进行付款的方法,其中每个交易具有价格TV,该方法包括:A.第一方从每个交易Ti中导出一个与Ti有关的数据串Ci,并且使第二方接收所述数据串Ci;其中每个数据串Ci包含一个累进序列号Si,所述序列号Si从1开始连续,并且表示了在数据串Cj(j=1、......、n)的有序连续性中Ci相对于其它数据串的位置;B.第二方使Ci与一个数据项Vi相关联,其中Vi实质上是第一方不可预知的;C.第二方确定在Ci和Vi之间是否满足属性Pi,并且如果满足的话,则第二方使第三方接收允许第三方验证Vi是否满足Pi的信息1i;D.第三方验证Vi是否满足Pi;并且只有当Vi满足Pi时:a)第五方确定Smax的值,其中Smax表示包含在Ck中的任何序列号Sk中最大的序列号,并且:i)1<k<n;ii)Ck在接收Ci之前由第二方接收;iii)第三方已经验证了Vk满足Pk;以及iv)所述第一方已经被借记了非零的金额Dk;b)所述第五方使第四方接收贷记金额CR;以及c)所述第五方使第一方被借记了借记金额Di,其中Di由(Si-Smax)*TV给出。
90.依据权利要求89所述的方法,其特征在于:只有当F(Vi)<s时Vi才满足Pi,其中s是一个数,并且F是对一个位串进行运算并且返回一个数的函数。
91.依据权利要求90所述的方法,其特征在于:由所述第四方接收的所述贷记金额CR与TV和1/s成比例。
92.依据权利要求90所述的方法,其特征在于:F是对一个位串进行运算并且输出一个介于0和1之间的数的函数,其中s是介于0和1之间的一个数。
93.一种用于使用户U为多个交易Ti(i=1、......、n)向商人M建立付款的方法,其中多个交易Ti(i=1、......、n)具有交易价格TVi(i=1、......、n),该方法包括:A.用户U建立用于第一数字签名方案的一个公共密钥和一个相应的秘密密钥,并且从每个Ti中导出一个数据串Ci=SIGU(Ti),并且创建一个包含Ci和一序列号Si的电子支票CHi;其中SIGU(Ti)表示在所述第一数字签名方案中用户Ui用于交易Ti的数字签名;其中Si是一个累进序列号,表示了在由所述第一方导出的数据串Cj(j=1、......、n)的有序连续性中所述数据串Ci相对于其它数据串的顺序;B.用户U使商人M接收包含Ci和Si的所述电子支票CHi;C.商人M建立用于第二数字签名方案的一个公共密钥和一个相应的秘密密钥,并且使所述数据串Ci与一个数据项Vi=SIGM(Ci)相关联,其中SIGM(Ci)表示在所述第二数字签名方案中商人M用于所述数据串Ci的数字签名;D.商人M计算值F(Vi)=F(SIGM(Ci)),其中F表示对一个位串进行运算以输出一个介于0和1之间的数的公用函数;E.商人M把F(SIGM(Ci))与一个常数s(0<s<1)进行比较,以确定是否F(Vi)<s,并且如果是这样的话,则使银行获得商人M的所述公共密钥;F.银行使用所述商人的公共密钥来验证F(SIGM(Ci))<s;以及G.只有当F(SIGM(Ci))<s时,a)第五方确定Smax的值,其中Smax表示在根据其进行付款的所述有序连续性中在任何CHj中包含的最大的序列号Sj;b)所述第五方使第四方接收贷记金额CR;以及c)所述第五方使第一方被借记了借记金额Di。
94.依据权利要求93所述的方法,其特征在于:每个交易Ti(i=1、......、n)是相同价格,以便使对所有i=1、......、n来说TVi=TV,并且其中Di由Di=(Si-Smax)*TV给出;而且其中CR由CR=TV*(1/s)给出。
95.一种为n个交易T1、T2,......、Ti、......、Tn建立付款的系统,其中在1和n之间的索引i能够与每个Ti相关联,并且其中每个交易Ti以交易价格TVi为部分特征,该系统包括:A.通信装置,用于在第一方、第二方、第三方以及第四方之间传输数据;B.第一处理装置,可由第一方操作用于导出、输入和存储一个数据串Ci(i小于或等于n并且大于或等于1),其中Ci与交易Ti有关,并且其中Ci包含一个累进序列号Si,Si表示在支票Cj(j=1、......、n)的有序连续性中所述支票Ci相对于其它支票的位置;C.第二处理装置,可由第二方操作并且根据Ci使一个数据项Vi与至少一部分Ci相关联并且用于确定Vi是否满足属性Pi,其中Vi实质上是第一方不可预知的;并且其中当Vi满足Pi时所述第二处理装置可由第二方有选择地操作,用于使第三方接收允许第三方验证Vi是否满足Pi的信息Ii;以及D.当Vi满足Pi时可由第三方有选择地操作的装置,其用于确定Smax的值,用于使第四方接收金额CRi,以及用于使第一方被借记金额Di,其中对在1和n之间的所有索引i来说,D1+D2+......+Di不大于TV1+TV2+......+TVi。
96.一种为n个交易T1、T2,......、Ti、......、Tn建立付款的方法,其中在1和n之间的索引i能够与每个Ti相关联,并且其中每个交易Ti以交易价格TVi为部分特征,该方法包括:A.第一方为每个Ti从第二方接收一个数据串Ci的至少一部分,其中每个数据串Ci是使用一种概率性付款方案从Ti中生成的,并且其中每个Ci包含索引i的指示;B.第一方以防止第一方事先预知哪些支票Cj将被选择为是可支付的方式选择可支付的支票Cj(j小于或等于n并且大于或等于1);C.对每个选择的支票Cj来说,第一方使第三方接收允许第三方验证所选择的支票Cj实际上是可支付的信息Ij,由此允许第三方在验证Cj是可支付的之后使第四方接收贷记金额CRj以及第二方被借记去借记金额Dj,以便使对介于1和n之间的所有索引j、以及可支付支票Cj的任意选择来说,D=D1+D2+......+Dj不大于TVagg=TV1+TV2+......+TVj。
97.一种为n个交易T1、T2、......、Ti、......、Tn建立付款的方法,其中在1和n之间的索引i能够与每个Ti相关联,并且其中每个交易Ti以交易价格TVi为部分特征并且能够由相应的一个数据串Ci表示,该方法包括:A.第一方从第二方接收允许第一方验证支票Cj是可支付的信息Ij;其中所述支票Cj是由第二方从由第三方从所述多个交易Ti(i=1、......、n)中的相应一个导出的多个支票Ci(i=1、......、n)中选择的;并且其中所述支票Cj的选择实质上是所述第三方不可预知的;B.第一方在接收到Ij后验证Cj实际上是否为可支付的;以及C.第一方使第四方接收贷记金额CRi,并且使第三方被借记了借记金额Di。
98.一种为n个交易T1、T2,......、Ti、......、Tn建立付款的方法,其中每个交易Ti以是单价UV的倍数的交易价格TVi为部分特征,该方法包括:A.第一方从每个交易Ti中导出一个对应于Ti的数据串Ci,并且使第二方接收Ci;其中每个数据串Ci包含以向量(Si,Si+vi-1)的形式、与所述整数索引i和Ti的所述价格TVi有关的信息;其中对介于1和n之间的所有i来说,Si是一个连续排列的累进序列号,并且其表示了在数据串Cj(j=1、......、n)的有序连续性中Ci相对于其它数据串的位置;以及其中vi是取决于i的整数,并且其表示了Ti的价格TVi,而且由vi=TVi/(UV)给出;B.第二方以防止第一方事先预知哪些支票Cj将被选择为是可支付的方式选择可支付的支票Cj(1≤j≤n);C.第二方使第三方接收允许第三方验证所选择的支票Cj为可支付的信息Ij;D.第三方根据Ij的接收来验证所选择的支票Cj是可支付的;以及E.只有当Cj是可付的时:a)第五方确定Smax的值,其中max是一个整数,并且1≤max<i≤n,而且Vmax=TVmax/(UV);并且其中Smax表示在Ck中包含的任何序列号Sk(1≤k<n)中最大的序列号,并且:i)Ck在接收Ci之前由第二方接收;以及ii)第三方已经验证了Vk满足Pk;以及iii)所述第一方被借记了非零的的金额Dk;以及b)所述第五方使第四方接收贷记金额CR;以及c)所述第五方使第一方被借记了借记金额Di,其中Di由(Si+vi-1-Smax)*UV给出。
99.一种为n个交易T1、T2,......、Ti、......、Tn建立付款的方法,其中在1和n之间的索引i能够与每个Ti相关联,并且其中每个交易Ti以交易价格TVi为部分特征,其中的TVi是单价UV的整数倍,该方法包括:A.第一方从每个交易Ti中导出一个对应于Ti的数据串Ci,并且使第二方接收Ci;其中每个数据串Ci包含以向量(Si,Si+vi-1)的形式、与所述整数索引i和Ti的所述价格TVi有关的信息;其中对介于1和n之间的所有i来说,Si是一个连续排列的累进序列号,并且其表示了在数据串Cj(j=1、......、n)的有序连续性中Ci相对于其它数据串的位置;以及其中vi是取决于i的整数,并且表示了Ti的价格TVi,而且由vi=TVi/(UV)给出;B.第二方使Ci与一个数据项Vi相关联,其中Vi实质上是第一方不可预知的;C.第二方确定在Ci和Vi之间是否满足属性Pi,并且如果满足的话,则第二方使第三方接收允许第三方验证Vi是否满足Pi的信息Ii;D.第三方验证Vi是否满足Pi;并且只有当Vi满足Pi时:a)第五方确定Smax的值,其中max是一个整数,并且1≤max<i≤n,而且Vmax=TVmax/(UV);以及其中Smax表示在Ck中包含的任何序列号Sk(1≤k<n)中最大的序列号,并且:i)Ck在接收Ci之前由第二方接收;以及ii)第三方已经验证了Vk满足Pk;以及iii)所述第一方被借记了非零的的金额Dk;以及b)所述第五方使第四方接收贷记金额CR;以及c)所述第五方使第一方被借记了借记金额Di,其中Di由(Si+vi-1-Smax)*UV给出。
100.一种为n个交易Ti(i=1、......、n)建立付款的方法,每个交易Ti具有价格TVi,该方法包括:a.第一方从每个Ti中导出一个与Ti有关的数据串Ci,并且使第二方接收所述数据串Ci;b.第二方唯一地使所述数据串组Ci(i=1、......、n)关联到m个列表Lk中,其中k=1、......、m;其中每个列表Lk包含数据串Ck1、......、Ck1k,并且其中∑mk=11k=n;c.第二方通过为每个Lk计算委托CMk来委托Lk(k=1、......、m),并且使第三方接收CMk(k=1、......、m);d.第三方根据CMk(k=1、......、m)的接收来选择一个或多个整数索引i1、i2、......、ir,并且使第二方接收所述索引i1、i2、......、ir,其中1≤ir≤m;e.根据所述索引i1、i2、......、ir的接收,第二方解除委托CMi1、CMi2、......、CMir,由此向第三方揭示Li1、......、Lir;以及f.第五方使第四方接收贷记金额CR,并且使第一方被借记了借记金额D。
101.依据权利要求100所述的方法,其特征在于:所述用于Lk的委托CMk是一个散列值H(Lk),并且其中H是一个单向散列函数。
102.依据权利要求100所述的方法,其特征在于:每个数据串Ci包含表示所述交易价格TVi的一个或多个位。
103.依据权利要求102所述的方法,在步骤(b)之后进一步包括步骤:第二方使每个列表Lk与一个相应值Vk相关联,其中Vk表示在列表Lk中的所有数据串Ck1、......、Ck1k的总合计值,其中Vk由Vk=TVk1+......+TVk1k给出。
104.依据权利要求103所述的方法,在步骤(c)之后进一步包括步骤:第二方为值(V1、......、Vm)的列表计算委托CV,其中所述委托CV向第二方委托(V1、......,Vm),其中CV是散列值H(V1、......、Vm);以及其中H是单向散列函数,以便通过解除委托CV,第二方向第三方揭示(V1、......、Vm)。
105.依据权利要求100所述的方法,其特征在于:由第四方接收的所述贷记金额CR由下式给出:V=V1+......+Vk+......+Vm=∑mk=1Vk。
106.依据权利要求100所述的方法,其特征在于:所述借记金额D由下式给出:D=Vi1+Vi2+......+Vir乘以一个比例因子。
107.依据权利要求106所述的方法,其特征在于:所述比例因子是m/r。
108.依据权利要求100所述的方法,其特征在于:所述每个数据串Ci包含表示了一个整数SNi的信息,其中SNi是一个从1开始连续的累进序列号,并且其中所述序列号SNi表示在所述n个交易Ti(i=1、......、n)中所述交易Ti相对于其它交易T1、......、Ti-1、和Ti+1、......、Tn的时间顺序。
109.依据权利要求100所述的方法,其特征在于:第一方从Ti中导出所述数据串Ci的步骤包括第一方使用第一方的秘密密钥为至少一部分Ti创建一个数字签名的步骤。
110.依据权利要求100所述的方法,其特征在于:至少一部分Ci被验证。
111.依据权利要求100所述的方法,其特征在于:Ci包含下列中的至少一个:a)用于至少一部分T的数字签名;b)消息验证码;以及c)电子支票。
112.依据权利要求100所述的方法,其特征在于:所述第五方和所述第三方是相同的。
113.依据权利要求100所述的方法,其特征在于:所述第二方、所述第三方和所述第五方是相同的。
114.依据权利要求100所述的方法,其特征在于:所述第二方和所述第三方是相同的。
115.一种为n个交易T1、......、Ti、......、Tn建立付款的方法,每个交易Ti具有价格TVi,该方法包括:A.对于每个Ti,第一方从第二方接收从Ti中导出的一个数据串Ci;B.第一方唯一地使所述数据串组Ci(i=1、......、n)关联到m个列表Lk中,其中k=1、......、m;其中每个列表Lk包含数据串Ck1、......、Ck1k,并且其中∑mk=11k=n;C.第一方通过为每个Lk计算委托CMk来委托Lk(k=1、......、m),并且使第三方接收CMk(k=1、......、m),由此允许第三方选择一个或多个整数索引i1、i2、......、ir,其中1≤ir≤m;D.在接收到所述索引i1、i2、......、ir后,第一方解除委托CMi1、CMi2、......、CMir,由此向第三方揭示Li1、......、Lir,并且允许第三方使第四方接收贷记金额CR,并且使第二方被借记了借记金额D。
116.一种为n个交易T1、......、Ti、......,Tn建立付款的方法,其中每个交易Ti具有价格TVi,并且能够由从Ti中导出的一个相应的数据串Ci表示,并且其中所述数据串组Ci(i=1、......、n)能够被唯一地关联到m个列表Lk(k=1、......、m)中,每个列表Lk包含数据串Ck1,......、Ck1k(∑mk=11k=n),该方法包括:A.对于m个列表Lk(k=1、......、m)中的每一个来说,第一方从第二方接收一个委托CMk;B.第一方在接收到CMk(k=1、......、m)后选择一个或多个整数索引i1、i2、......、ir,其中1≤ir≤m,并且使第二方接收所述索引i1、i2、......、ir,由此允许第二方解除委托CMi1、CMi2、......、CMir以便向第一方揭示Li1、......、Lir;C.第一方使第三方接收贷记金额CR并且使第四方被借记了借记金额D。
117.一种为n个交易T1、T2、......、Ti、......、Tn建立付款的系统,每个交易Ti具有价格TVi,该系统包括:A.通信装置,用于在第一方、第二方、第三方以及第四方之间传输数据;B.第一处理装置,可由第一方操作用于为每个Ti导出、输入和存储一个数据串Ci(1≤i≤n);C.第二处理装置,可由第二方操作并且根据Ci(i=1、......、n)的接收来用于唯一地使所述数据串组Ci(i=1、......、n)关联到m个列表Lk(k=1、......、m)中以及用于输入和存储所述列表Lk(k=1、......、m);其中每个列表Lk包含数据串Ck1、......、Ck1k,并且其中∑mk=11k=n;所述第二处理装置可进一步由第二方操作用于为每个Lk计算委托CMk,以及用于输入和存储所述委托CMk(k=1、......、m);D.第三处理装置,其可由第三方在收到所述委托CMk后操作用于选择一个或多个整数索引i1、i2、......、ir以及用于使第二方接收所述索引i1、i2、......、ir,其中对所有r来说1≤ir≤m;E.第四处理装置,其可由第二方在收到所述索引i1、i2、......、ir后操作用于解除委托CM由此向第三方揭示;以及F.在揭示Li1、......、Lir后可由第三方操作用于使第一方被借记了借记金额D并且使第四方接收贷记金额CR的装置。

说明书全文

用于微支付交易的方法和系统

相关申请的交叉引用这个申请要求享受以下的优先权:(1)于2001年4月27日提交的名为“Method and System For Micropayment Transactions”的美国临时申请No.60/287,251;(2)于2001年7月18日提交的名为“Methodand System for Micropayment Transactions”的美国临时申请No.60/306,257;和(3)于2001年12月26日提交的名为“Method and Systemfor Micropayment Transactions”的美国临时申请No.60/344,205;所有这些申请通过引用以其整体被包括在此,就好象在下面完全阐述那样。

背景技术

电子商务系统的发展已经导致跨越电子网络进行的金融交易的数量迅速增长。微支付通过提供一种用于为诸如信息检索服务的在线低价服务理财(financing)的便利方法,允许新的电子商务交易的形式。微支付可能具有非常低的价格-有时是一美分的一部分,但是可能以非常高的数量实现。举例来说,信息服务供应商可能希望以小的增值对他们的服务收费。微支付可以被用来为每个访问的网页、或者为流到用户的每分钟的音乐或者视频付费。
电子付款方案的一种简单形式是电子支票。电子支票由一个被数字签名而不是手写签名的支票构成。数字签名允许支票的接收者验证签名方的真实性、以及支票内容的完整性(例如,支票的日期和金额)。有关公共密钥密码学的文献提供了多种用于实现数字签名的方法,诸如在1978年的Communications of the ACM(ACM通信)2期21卷120-126页的、Rivest R.L.、Shamir A.和Adleman L.A.的“A method forobtaining digital signatures and public-key cryptosystems”中描述的RSA方法。众所周知,在公共密钥密码系统中的每一方使用唯一的一对密钥。每一对包含一个公共密钥和一个相应的私有(或者秘密)密钥。虽然公共密钥对于公众来说是可得到的,但是相应的私有密钥仅仅是由保护它并且对它保持秘密的所有者已知和可访问的。从相应公共密钥的知识或发现中导出私有密钥在计算上是不可行的。因此,使公共密钥可以由公众获得而不会危害匹配的私有密钥的安全。由于私有密钥决不会由除它的所有者之外的任何人访问,所以与其中秘密密钥在不同当事人之间共享的系统相比,公共密钥密码系统取的安全性得到提高。
在公共密钥密码系统中,希望秘密地发送一条消息的发送者获得接收者的公共密钥,并且使用它加密该消息。在接收了加密的消息后,接收者使用他的匹配私有密钥来解密它,并且读取原始的消息。在没有访问匹配的私有密钥的情况下,解密该加密了的消息在计算上是不可行的。
在公共密钥数字签名方案中,一条消息的签名者通过应用他的私有密钥到该消息来创建他的数字签名。产生的数字签名因此对于该消息以及被用来创建数字签名的特定私有密钥来说是唯一的。拥有该消息和数字签名的任何人能够使用签名者的公共密钥验证数字签名的真实性。
在许多公共密钥数字签名方案中还使用了一个散列函数。散列函数是一种在被应用到一条消息时、以通常具有固定长度的一个“散列值”的形式创建该消息的数字“指纹”的算法。“单向抗冲突(one-waycollision-resistant)”(或者安全的)散列函数是一个就其来说从它的散列值中导出原始消息、乃至查找具有相同散列值的两条消息在计算上都是不可行的散列函数。由于如果一个人对一条消息做出了任何改变甚至是最小的改变,一个人也总是获得具有不同散列值的一条消息,因此一条消息的散列适于作为一个用于该消息的标识“指纹”而很好的工作。
在数字签名方案中以“散列和签名”的方式使用散列函数是常见的。为了以这种方式创建一个数字签名,一条消息的发送者向该消息应用一个散列函数,因此为该消息计算一个消息摘要或者散列值。发送者然后应用他的私有密钥到该散列值以获得他的用于那条消息的数字签名。
能够使用发送者的公共密钥和用来创建签名的散列函数来验证数字签名的真实性以及消息内容的完整性。接收者能够通过重算用于该消息的散列值、然后应用一个把这个散列值和发送者的公共密钥作为输入的验证过程,来验证该消息的确是由发送者签名的。验证过程可以,例如使用发送者的公共密钥作为解密钥,并且如果解密产生了该消息的重算散列值,则接受签名是有效的。如果验证成功,则接收者可以确信发送者实际上签名了该消息并且该消息自它被签名以来没有改变。
在典型的电子支票付款方案中,用户通过向标识交易的一段数据提供一个数字签名来为一个交易向商人付款。该数据尤其可以标识用户、用户的行帐号、商人、将要被支付的金额、交易时间、和/或已经购买的信息、服务、或者商品。通常,商人通过发送他从用户接收的电子支票到银行对该电子支票进行存款。
在电子支票方案中的数字签名性能可以由数字证书支持。数字证书是最普通的电子文件,该电子文件声明一个特定个人持有对应于在证书中给出的公共密钥的私有密钥。换句话说,证书使一个密钥对与一个特定当事人相关。由于证书本身由一个信赖的管理机构数字签名,所以通常信任数字证书作为指定当事人的确拥有在证书中列出的公共密钥、并且指定当事人排他地控制相应私有密钥的证据。数字证书还可以声明当事人被授权签名电子付款或者执行其它指定的动作。
在验证了在电子支票上的数字签名之后,银行可以向商人贷记适当的金额,并且可以向用户借记适当的金额。银行还可以收取自主决定的交易费用或者其它费用。
电子付款系统并且尤其是微支付系统面临许多挑战。微支付的基本问题在于银行对微支付的处理成本。经常地,银行处理微支付交易的成本将会比微支付本身的价格大许多倍。例如,处理信用卡交易通常花费大约25美分,而典型的微支付可能大约值1美分或者更少。因此为了支持微支付需要异常的效率;否则付款机制的成本将会超过支付的价格很多。
因此微支付方案试图通过把许多小额支付聚集(aggregate)成为更少次、更大额的支付来减少银行的处理成本。有多种聚集策略是可用的。某些微支付方案具有会话级的聚集:在一个给定“会话”期间,在一个用户和商人之间的所有支付被聚集成为单次更大额的支付。另一种策略是全局聚集:在所有用户/商人对上聚集支付。全局聚集能够提供更大的灵活性和更大的成本节省。
在本领域中许多微支付方案是已知的,并且能够在文献中找到概况,例如在1996年Peter Wayner学术出版社出版的“Digital Cash:Commerce on the Net”中。目前已知的微支付方案包含“PayWord”(在1996年4月的Springer Verlag的Fourth Cambridge Workshop onSecurity Protocols(有关安全性协议的第四届剑桥研讨会)上RonaldL.Rivest和Adi Shamir的“PayWord and MicroMint:Two simplemicropayment schemes”中描述了的),和“电子彩票方案(electroniclottery scheme)”(在1997年Springer的Lecture Notes in ComputerScience的1318卷PP.307-314的Proceedings of FinancialCryptography′97中Ronald L.Rivest的“Electronic Lottery Ticketsas Micropayments”中描述了的)。其它已知的微支付方案包含但是不局限于:Manasse等人的“Millicent”、Rivest和Shamir的“MicroMint”、Anderson的“NetCard”、Jutla和Yung的“PayTree”、Hauser等人的“MicroiKP”、Jarecki和Odlyzko的the probabilistic pollingscheme、Wheeler的“transactions using bets”提议、Pedersen的类似提议、以及Lipton和Ostrovsky的efficient coin-flipping的微支付的相关提议。在1999年12月7日授权给Stanislaw Jarecki和Andrew M.Odlyzko的、名为“Efficient Micropayment System”的美国专利No.5,999,919中公开了Jarecki/Odlyzko的概率轮询方案。
PayWord是一个基于公共密钥数字签名方案和单向散列函数的微支付系统。在PayWord系统中,用户从一个银行接收一个数字证书,其授权用户产生一系列散列值、或者“paywords”wi。这些paywords能够由商人从银行兑换金钱。第i个payword通过下列关系式与第i+1个payword有关:Wi=h(wi+1),
其中h是一个单向散列函数。因此从h(wi+1)中导出wi+1在计算上是不可行的。第i+1个payword wi+1能够由商人使用第i个payword wi、通过在wi+1上执行散列运算h来验证。在PayWord方案中,用户计算一系列的散列值w0、w1、......、wn,并且通过发送他的根w0的数字签名到商人来提供整个链。之后,用户通过连续地依次揭示这些paywords(w1、W2、......、wi、......)进行对商人的每次连续支付。在这个链中的每个连续值能够由商人通过在那个值上执行散列函数以便检查它对在payword链中的前一个值是散列的来进行验证。
PayWord允许商人方便地聚集买方的支付。在已经进行了k次微支付之后,如果商人感到k次微支付合起来构成了一个足够大的宏支付,则商人在银行中为k个美分(或者表示每次微支付的其它适当货币单位)产生单个存款。卖方仅仅向银行通告两个值:wk和用户的w0的签名。银行验证用户的w0的签名,并且在wk上迭代散列函数k次,以验证这个运算实际上产生了w0。在验证之后,银行向卖方的帐户中支付k个美分,并且向用户的帐号收取k美分,并且以它的自行处理(discretion)收取其它交易费用。
PayWord有这样的缺点,即商人不能聚集不同用户的微支付。这是因为在PayWord中,每个用户必须建立他自己与商人的散列值链,以及不同的散列值链不能被合并。许多其它微支付提议,诸如Millicent也有不能在不同用户/商人对上聚集微支付的这个问题。即,PayWord仅仅提供了会话级的聚集,而不是全局聚集。
Rivest的电子彩票方案提供了另一种用于聚集微支付以便减少交易成本的方法。这个方案基于用于每次微支付的选择率或者选择概率s(0<s<1):平均起来,仅仅每1/s次微支付中的一次被选择用于实际的支付。选择率s是已知、可预测的和固定的。就提供给商人的每次微支付来说,商人首先验证用户在PayWord链的根w0上的签名,然后验证在重复地散列k次时所提供的散列值wk实际上产生了w0。如果这样的话,商人从用户接受该微支付。商人然后经历与用户预定的交互作用协议,以便确定微支付是否应当被选择用于在银行存款。未被选择的支票不能被存款,因此对于商人来说是无价值的;因此它被商人丢弃了。只有被选择的(通过交互作用协议)的微支付实际上才由商人提供给银行以便接收付款。这样,银行不必处理每一次微支付,而是平均起来仅仅处理1/s个微支付中的一个。银行的处理成本由此被极大地减少了。为了使这个处理对于商人来说公平,就每个选择的微支付来说,商人得到比最初指定的微支付金额大1/s倍的支付金额。换句话说,银行向商人支付被“按比例缩放”到是微支付面值的1/s倍的一个值的金额。
不管它的优点,电子彩票方案有这样一个缺点,即用户和商人必须就每次微支付进行交互,以便确定一个特定微支付是否应当被选择用于存款。这个要求相当大地减慢了电子付款系统,并且有时候使该方案变得不可行。
为了上述原因,需要有这样一种非交互的微支付方法和系统,其允许微支付的全局聚集以最小化银行处理成本,但是其同时在微支付选择处理中不要求用户-商人的交互作用。
此外,希望把时间限制集成到微支付系统中。例如,在微支付系统中包含要求商人在一个合理的时间周期内在银行中存入任何可支付支票(即被适当选择用于存款的微支付)以便从银行中接收付款的时间限制,这将会是有益的。这样,用户不会被收费太迟,即当对交易的可能开支不再在他的预算中时。这类限制还将给商人一个额外的激励来验证在支票C上的时间信息是否是准确的,由此增强了系统的安全性。
除了由在选择过程中的用户-商人的交互所引起的低效率之外,在概率微支付方案中固有的另一个问题是用户被收取了超过他实际花费的险。在概率微支付方案中,用户必须处理有时候由于运气不佳他可能不得不支付超过他实际花费的费用的概率(即使很小)。这样的事件可能是很少有的,并且和进行的微支付数量相比,这样一件极少出现的事情的相对影响可能被极大地减少了。尽管如此,但是被过多收费的可能性无论多小都可能构成对该方案的广泛接受的强烈障碍。这是因为一般的用户通常不习惯于处理风险。
基于上述理由,需要有这样一种微支付方法和系统,其不仅使银行处理成本最小化,而且保证用户决不会被收取超过他实际花费的费用。
最后,试图增加它们效率的微支付系统通常要求银行仅仅相对于已经被商人选择用于支付、并且通常构成付款总额的仅仅一小部分的那些付款采取动作。然而,这种微支付系统没有向银行提供在付款选择过程上的任何灵活性或者控制。这种控制对银行在管理它的风险率中可能是有益的。
因此,希望可以得到这样一种微支付方案,其不仅消除了对在选择过程中的用户-商人交互的需要,并且把过多付款的风险率从用户转移到银行或者商人,而且还向银行提供了在付款选择过程上的某些灵活性和控制。
发明内容
本发明涉及概率微支付方案,其允许一个用户U(或者其它付款人,此后被称为“U”或者“用户”)为至少一个交易T建立向一个商人(或者其它收款人,此后被称为“M”或者“商人”)的付款。通常,T具有一个非常低的价值TV,尽管在本发明中提出的方案适用于TV的任何值。在本发明中提出的微支付方案最小化用于处理这种微支付所需的成本,由此显著增加了系统的效率。此外还提供了许多额外的优点,如下所述那样。
在本发明的第一实施例中,给出了一种允许商人在收到支票时而且与用户不交互就立即确定该支票是否应当被选择用于支付的微支付协议。不同于现有技术的概率微支付方案,在这个实施例中的微支付协议不要求可支付性确定被推迟到在商人和用户之间进行交互式的选择协议。
在本发明的第二实施例中,本发明中的微支付方案把时间限制包括到该系统中,并且以一种特殊方式使用它们。这些时间限制要求在支票上提供与交易的时间和/或日期有关的信息,而且在支票上的时间信息满足预定的条件,以便使该支票被选择用于付款。
在本发明的第三实施例中,给出了一种选择的存款协议,其消除了用户被收取超过他实际花费的费用的任何风险。
最后,本发明中的第四实施例提出了一种延期选择协议,其向银行(或者其它第三方或者经纪人,此后被称为“银行”)提供了在付款过程上的控制和灵活性。
在依据本发明第一实施例的微支付方案中,用户U使用与交易T有关的记录,以便创建一个与T有关的数据串C。C可以是被签名的电子支票,该签名是通过使用用户的一个秘密密钥为T创建的一个数字签名。用户使商人接收支票C。在收到C后,商人使C与一个用户实质上不可预知的数据项(item)V相关联。商人可以使用仅仅为商人已知的秘密信息SI,以便使V与C关联。举例来说,V可以是商人对C的数字签名,由SIGM(C)表示,并且由商人在公共密钥数字签名方案中使用商人的秘密签名密钥创建。
商人然后确定V是否满足属性P。在一个最佳形式中,属性P可以与一个给定支票C被选择用于付款的概率s(0<s<1)有关。如果商人确定从电子支票C中导出的数据项V不满足属性P,则商人简单地丢弃支票C,并且银行决不会看到该支票C。如果商人确定数据项V(例如,SIGM(C))确实满足属性P,则商人使银行接收允许银行也验证V是否满足P的信息I。例如,I可以是(或者可以包含)商人的公共密钥用于商人的数字签名方案,对应于用来创建V的商人秘密密钥。在收到I后,银行独立地着手验证V是否满足属性P。如果银行验证V实际上确实满足属性P,则银行使商人或者除商人、用户、或者银行以外的第四方接收货币金额A。金额A通常大于TV,并且在一个形式中,可以与TV和概率s的乘法倒数(multiplicative inverse)的乘积有关。金额A可以由A=[TV*1/s]给出。
依据本发明第一实施例,用于为交易T建立付款的系统包含一个用于在第一方(用户或者其它方)、第二方(商人或者其它方)、第三方(银行或者其它方)、和第四方之间传输电子数据的通信信道。系统包括可由第一方操作、用于输入和存储来源于T的一个数据串C的装置。系统进一步包括可由第二方操作并且响应于C、用于输入和存储数据项V的装置,该数据项V与C的至少一部分有关、并且实质上不可由第一方预知。系统包括可由第二方操的、用于确定V是否满足属性P的装置。系统进一步包括当V满足P时可由第二方有选择地操作、用于使第三方接收允许第三方验证V满足P的信息I的装置。系统进一步包括当V满足P时可由第三方有选择地操作、用于使第四方接收金额A的装置。
在本发明的第二实施例中,时间限制被集成在如上所述的非交互的微支付协议中。在这个实施例中,用户能够为一个以时间t为部分特征的交易T向一个商人建立付款。典型地,时间t表示交易T发生的时间和/或日期。用户创建与T有关的一个数据串C。在这个实施例中,C必须包含和T的时间t有关的信息。用户使商人接收C、或者包含有关t的信息的至少一部分C。商人使C(或者他接收的那部分C)与实质上不可由用户预知的数据项V相关联。数据项V是在C上的时间信息的函数,例如包含时间信息在内的至少一部分C的商人数字签名(使用商人的秘密密钥创建的)。V还可以是G(C)的数字签名,其中G(C)表示C的一个函数或者使用C的一种算法。例如,G(C)可以是返回C的时间/日期信息(例如,C的确切相同时间/日期信息、或者“只入不舍(rounded up)”的时间/日期信息)、或者C涉及的交易T的时间/日期信息的一个函数。商人然后确定V是否满足属性P。如果V确实满足P,则在时间t′处商人使银行接收允许银行验证V是否满足P的信息I(其可以包括例如对应于用来创建V的商人秘密密钥的商人公共密钥)。
在本发明的第二实施例中,为了让银行使第四方接收金额A,t′-t必须小于一个预定时间间隔。这是除了V满足P的要求之外的另一个要求。换句话说,只有当商人给出了一个包含和在规定的时限内的时间t(交易T发生的时间)有关的信息的可支付支票时,银行才贷记商人的帐户。例如,如果交易T发生在一天i上,则商人可以被要求在当天i结束前、或到i+1天前、或者到i+n天前存款相应的支票C,其中n是预定整数。在协议中的时间限制因此要求及时存款。要求及时存款通过确保用户没有被过迟收费而提供了好处;它还允许银行控制其它形式的风险,诸如从倒填日期的(back-dated)支票中引起的风险。
在本发明的第三实施例中,给出了一种选择存款协议,其保证了用户决不会被收取超过他实际上花费的费用。就一个或多个交易Ti(i=1、......、n)中的每一个来说,依据下面的概率付款方案,用户导出一个具有面值TVi(可能仅仅值为使银行处理交易诸如Ti所需成本的一小部分)的支票/微支付Ci。
在本发明的第三实施例中,每个支票Ci包含一个累进的序列号Si,其优选是从1开始。序列号Si优选是表示了在由用户导出的支票的时间排序的连续性中,支票Ci相对于其它支票的位置。在第三实施例中,用于一个用户的合计借记金额保证决不会大于该用户实际花费的合计金额,其中为了方便起见由TVagg表示。典型地,当用户写他的第i张支票时,由他的支票的合计金额给出了合计金额TVagg,即:TVagg=TV1+TV2+...+TVi例如,如果Ci是发现可支付的第一张支票,并且Di是相应的借记金额,则在本发明的第三实施例中提出的微支付方案强制Di不大于TVagg=TV1+TV2+...+TVi。这个保证通过一种其中银行留意它从商人接收的支票的序列号的协议来实现。在借记用户之前,银行必须在支票的有序连续性当中确定在其上进行付款的上一张支票上的序列号Smax。在一个说明性的例子中,所有交易都值一个相等的价格TV。在这种情况下,如果Ci是下一个可支付的支票,则银行使用户被借记金额Di=(Si-Smax)*TV。金额Di因此仅仅依赖于自进行上一次付款以来用户已经写的支票数目,并且确保合计借记金额不大于Si*TV。
最后,在本发明的第四实施例中,给出了一种延期的选择协议,其向银行提供了在付款过程上的更大控制和灵活性。像在本发明的先前实施例中那样,用户为一个或多个交易Ti(i=1、...、n)中的每一个导出一个数据串或者“支票”Ci,并且使商人接收Ci,其中每个Ti(i=1、...、n)具有价格TVi。
在本发明的第四实施例中,商人唯一地把他已经接收的多组支票Ci关联到m个列表Lk中,其中k=1、...、m。每个列表Lk包含数据串Ck1、...、Ck1k,其中1k表示在一个给定列表Lk中的总支票数。因此,如果n是所有m个列表中的总支票数,则∑mk=11k=n。
商人通过为每个Lk计算委托(commitment)CMk,委托m个列表Lk(k=1、...、m)。委托CMk最好是一个散列值H(Lk),其中H是一个单向散列函数。商人使银行接收委托CMk(k=1、...、m)。
在收到CMk(k=1、...、m)后,银行通过选择一个或多个整数索引i1、i2、......、ir,实现在本发明第四实施例中提出的延期的选择协议。r的值是任意的,并且由银行确定。银行使商人接收选择的索引i1、i2、...、ir。
根据所选索引i1、i2、...、ir的接收,商人解除委托(decommit)CMi1、CMi2、...、CMir,由此向第三方(例如银行)揭示Li1、......、Lir。第五方(其可以是银行、或者除银行以外的机构)使第四方(其可以是商人、或者除商人以外的机构)接收贷记金额CR。第五方使用户被借记一个借记金额D。
最好是,贷记金额CR与Vk有关,其中Vk表示包含在一个给定列表Lk中的所有支票的合计值,即:Vk=TVk1+...+TVk1k贷记金额CR可以由包含在所有m个列表中的所有支票的合计值给出,即:CR=V1+...+Vk+...+Vm=∑mk=1Vk在这种情况下,当提供对列表的委托CMi时,可能已经向银行提供了对值Vi的委托;然后在银行通过指定它们的索引选择了某些列表之后,对所有的值Vi解除委托。
做为选择,贷记金额CR可以与刚好包含在其索引被银行选择的那些列表中的所有支票的合计值有关。这个贷记金额CR可以通过一个诸如m/r的比例因子(其中整数m和r是在上面涉及的)与刚才提及的合计值有关,以便反映出银行仅仅看到支票的一部分r/m这一事实。
相应的借记金额D可以以几种方式中的一种导出;用于导出D的方法的选择可以与用于计算CR的方法有关或者无关。例如,值D可以与包含在其索引与由银行选择的索引匹配的那些列表中并且被发送给商人的所有支票的合计值Vi1+Vi2+...+Vir有关;例如,它可以是由一个诸如m/r的因子按比例缩放的这个总和的值。或者,值D可以从贷记金额CR中导出;例如,它能够等于贷记金额CR。或者,值D能够以先前描述的方式从在包含在所选列表中的支票上的序列号中导出。在大部分应用中,将有许多不同的用户,并且每个用户被收取的金额无论如何将刚好取决于由那个用户在所选列表中填写的那些支票。为每个用户U计算借记金额Du的优选方法将是使用一种基于由用户U填写的支票的序列号的方法。
附图说明
通过参考结合附图给出的下列详细说明,本发明能够得到更充分地理解,其中:图1以示意流程图的形式、依据本发明第一实施例提供了对一种用于微支付交易的方法的概述。
图2依据本发明第一实施例提供了说明用于为一个交易建立付款的微支付系统中的组件的示意框图
图3以流程图的形式、依据本发明第二实施例提供了对一种用于微支付交易的方法的概述。
图4以流程图的形式、依据本发明第三实施例提供了对一种用于微支付交易的方法的概述,其包含一种消除了向用户收取超过他实际上花费的费用的风险的选择存款协议。
图5依据本发明第三实施例提供了说明用于为一个交易建立付款的微支付系统中的组件的示意框图。
图6以示意流程图的形式、依据本发明第四实施例提供了对一种用于微支付交易的方法的概述。
图7依据本发明第四实施例提供了说明用于为一个交易建立付款的微支付系统中的组件的示意框图。

具体实施方式

在本发明中,给出了提高微支付方案的效率和灵活性的方法和系统。
在本发明中,微支付系统至少涉及第一方、第二方、和第三方。在本发明的一种形式中,第一方可以表示一个付款人,例如买方或者用户。第二方可以表示一个收款人,例如货品的商人或者服务厂商。第三方可以表示经纪人或者银行。还可能涉及其它方。在某些情况下,单个机构可以承担不只一方当事人的色:例如,第二方和第三方的角色。一个例子将会是其中用户希望向他自己的银行进行微支付的情况。做为选择,单个机构可以承担第二方和第四方的角色。
为了便于参阅,后面我们可以分别使用术语“用户”指“第一方”,术语“商人”指“第二方”,而术语“银行”指第三方经纪人。然而,应当理解第一方无需一定是用户,第二方无需一定是商人,第三方无需一定是经纪人或者银行。
最后,在依据本发明的微支付方案中也可能涉及其它方。例如,第三方可以使第四方(可能与第二方合作的)接收付款。例如,第一方可以是经过收费站的汽车驾驶员的支付设备,第二方是在收费站处的设备,第三方是汽车驾驶员的银行,而第四方是收取通行费的机构。在这种情况下,汽车驾驶员可以在收费站设备处给出微支付,并且如果出现了适当的情况,则汽车驾驶员的银行可以向通行费收取机构进行付款。作为另一个例子,可以涉及第五方:第三方可以使第五方向第四或者第二方产生实际的付款。例如,对先前的例子作详细说明,第三方能够是支付设备的制造商或者控制或出租支付设备的机构,而第五方可以是汽车驾驶员的银行,其可以最终向第四方付款。同一个第五方、或者第三方或者另一个第六方实际上可以为了他的利益借记第一方或者另一方。
I.非交互的微支付方案在本发明的第一实施例中,给出了这样一种微支付方案,其消除了对商人与用户交互的需要,以便确定是否应当选择一个给定的付款。在这个实施例中,当用户希望进行付款时,用户创建一个电子文件或者“支票”,并且使商人接收该支票。在这个实施例中,商人能够在收到支票后立即确定该支票是否应当被选择用于出示给银行,以便能够向用户的帐户进行适当的借记和向商人的帐户进行贷记。商人能够进行这样的确定而不必与用户交互。与现有技术的电子彩票微支付方案的情况不同,延迟这样的确定直到在用户和商人之间发生了交互选择协议是不需要的。这样,微支付处理的效率被显著提高了。
在本发明的第一实施例中,由于一次交易T或者一系列这样的交易T,用户通常需要向商人付款。交易通常以可以是非常低的例如一美分或者一美分的一小部分的交易价格Tv为特征。如果银行将为每一个交易处理付款,则银行将因此导致处理成本比交易价格本身高很多。
图1以示意流程图的形式、依据本发明第一实施例提供了对一种用于微支付交易的方法的概述。在依据本发明的微支付方案中当用户希望进行付款时,用户创建一个数据串或者“电子支票”C,并且把C发送给商人,或者相反使商人接受C。支票C通常来源于交易的记录T。例如,支票C可以通过使用用户的秘密密钥为交易创建数字签名SIGU(T)而生成;用户的这个签名由商人进行验证。用户的签名SIGU(T)可以包含或者可以伴随有关于T的足够信息以允许进行这个验证。用户还可以使商人接收数字证书或是可以在C中包括数字证书,该数字证书允许验证他的数字签名-例如,数字证书指定了被用来验证U的数字签名的U的公共密钥。每个支票C可以具有被选择用于付款的概率或者选择率s(0<s<1)。
商人使支票C与一个数据项V相关联,其中数据项V实质上是用户不可预知的,例如,使用商人的秘密密钥创建的用于C的数字签名。商人然后确定V是否满足某一属性P。在本发明的一个优选实施例中,V满足P的概率等于选择率s。如果商人发现V确实满足P,则商人使银行接收允许银行也验证V是否满足P的信息I。否则,商人丢弃支票C。在收到I之后,如果有的话,则银行可以验证用户在支票C上的签名,并且如果签名没有验证则丢弃支票。银行可以执行其它测试,例如与用户在银行的帐户的状态有关的那些测试,诸如确定帐户是否仍然声誉良好(例如,相关用户的数字证书是否已经被取消了);如果这样的测试没有通过,则银行可以选择不承兑支票。银行然后验证V的确满足P,并且只有当V满足P时才使商人接收款项(a sum of money)。
下面更详细地参考在本发明中提出的微支付方案中的每个单元,在本发明中引起付款的“交易”涵盖了其中用户可能不得不向商人付款的宽范围的可能情况。例如,用户可能向商人付款以便购买服务、或者信息,或者实物。做为选择,用户可能刚好正向商人付款而没有进行任何购买,例如为了向商人进行捐款。典型交易T的例子包含但是不局限于:用户逐网页地访问一个信息网站(每个被访问的网络页表示单次交易T),或者逐分钟地向用户流送音频/视频资料(每分钟流传送的音频/视频资料表示单次交易T)。
交易的记录T可以是包含交易的描述性详情的数据串。例如,记录T可以指定下列中的一个或多个:支付的金额;如果有的话,将要购买的商品的说明;用户和/或商人的身份;用户和/或商人的公共密钥;用于用户和/或商人的数字证书;交易的日期与时间;任何相关第三方诸如银行或者金融服务供应商的标识,以及为标识用户的帐户所需要的任何附加信息。在下文中,交易将被称为表示交易的记录T,即短语“交易T”将被用来指表示交易的记录T。
由用户导出的数据串C通常表示一个电子支票(有时还被称作付款委托书),其包含用户为交易支付给定金额的委托。通常,支票C的标称票面面值是用于交易T的交易价格TV。其它信息也可以被包含在支票C中。例如,C可以包含交易T、或者交易T的至少一部分、或者交易T的指示。在本发明的一个优选实施例中,验证数据串或者电子支票C、或者至少一部分C。验证可以通过各种方法获得,如在现有技术中已知的那样。例如,支票C可以经由数字签名、或者经由消息验证码、或者根据在一个验证了的会话内被发送进行验证。支票C可以由除用户以外的一方,例如应用户的要求或者代表用户进行验证。这种验证方法在其中用户希望进行不记名购买的环境中是尤其有用的。在本领域中已知的任何其它验证方案也在这个发明的范围内。
在创建支票C时,用户可以使用用户已知但是商人未知的秘密信息。通常,就不知道这个秘密信息的某人来说,创建支票C在计算上是不可行的。在本发明的一个优选实施例中,创建支票C的过程包括由用户在公共密钥数字签名系统中创建一个数字签名,并且由用户用来创建C的秘密信息是他在这个系统中的秘密签名密钥。在这个实施例中,数据串C包含用户在这个系统中的交易T的数字签名,方便地表示为SIGU(T)。SIGU(T)是由用户使用用户的秘密密钥创建的。为了创建他的数字签名,用户可以使用在本领域中已知的任何一种数字签名方案。特别地,用户的数字签名方案可以包含但是不局限于下列方案:确定性的签名方案;随机化的签名方案;由Shamir提出的基于身份的签名方案;在线签名方案;离线签名方案;和指定的检验器(verifier)方案。数据串C还可以包含其它信息,诸如有关交易T的信息。
已经创建了电子支票C后,用户使商人接收C。有各种用户可以使商人接收C的方式。用户可以简单地发送支票C给商人。做为选择,用户可以叫另一方发送支票C给商人。用户可以使商人在不同时间以不同的份额接收或者存取支票C。例如,在进行任何交易T之前,用户可以使商人在一个较早的时间接收或者存取用户的公共密钥。用户然后可以使商人在稍后时间接收或者存取C的用户数字签名、或者C的一部分、或者与T(或者它的一部分)有关的数量。
商人可以确定支票C是否是可以接受的,即支票C实际上是否被用户签名了,以及支票C的内容是否是真正的和完整的。为了实现这一点,商人可以检查对于创建支票C的用户来说是特定的公用验证信息。这个用户特定的公用验证信息可以是,例如,对应于用户为了创建C而使用的秘密密钥的用户公共密钥,或者更通常地是证明用户被授权以进行微支付并且因此他的微支付将被兑现的数字证书。同一个数字证书能被用于两个目的,即它指示用户被授权进行微支付,以及应当使用给出的公共密钥来验证他在微支付支票中的数字签名。商人可以使用用户的公共密钥以便验证在支票C上的数字签名是可信的,即的确是由用户创建的。如果用户使用了基于身份的数字签名方案,则公用验证信息可以包含用户的身份说明。这种用户特定的公用验证信息可以由商人直接从用户获得。另一方面,这种公用验证信息可以由商人从数字证书中获得、或者从可公开得到的关于用户的信息(例如,公布的公共密钥的目录)中获得、或者从由用户传输的与支票C有关的或者作为支票C的一部分的信息中获得。“用户特定的公用验证信息”不一定是普通公众可得到的;它仅仅需要是商人和银行可得到的。
商人可以采取措施来检查他获得的用户特定的公用验证信息的真实性。这些措施可以包含但是不局限于:验证数字签名或者其它涉及用户特定的公用验证信息的验证信息;验证在数字证书上的签名;检查数字证书的截止日期;以及确定数字证书是否已经被撤消了。商人还可以从用户实际上被授权写电子支票C的数字证书中进行确认;这可以包括例如进一步检查金额、帐号、序列号或者在支票C中的其它信息。
商人使他接收的每个支票C与实质上是用户不可预知的数据项V相关联。例如,数据项V可以是实质上用户不可预知的,因为用户从C中导出V在计算上是不可行的,即,为了导出数据项V的值,用户需要执行不切实际的计算量。在本发明的一个实施例中,数据项V只能够使用商人已知但用户未知的秘密信息SI从C中导出。在一个实施例中,秘密信息SI可以是商人在公共密钥数字签名方案中的秘密密钥。
在一种形式中,由商人使与C有关的数据项V可以是用于C的商人数字签名,为了方便起见它由SIGM(C)表示,并且是由商人在公共密钥数字签名方案中使用商人的秘密密钥创建的。由商人使用的数字签名方案不一定必须与由用户用来创建C的签名方案相同,并且很可能是一个不同于用户的签名方案的签名方案。在这种情况下,如果C等于或者包含SIGU(T),则数据项V可以由V=SIGM(C)给出。因此,由于用户决不会知道商人的秘密签名密钥,所以SIGM(C)是用户不可预知的数值。因此,即使用户可以以任何他希望的方式、例如通过选择一个特定交易T来控制支票C的话,就涉及的用户而言,SIGM(C)将实质上是“随机的”。在本发明的另一种形式中,V可以是由商人使用秘密MAC密钥计算的MAC(message authentication code,消息验证码)值;这个MAC密钥可以是商人和银行已知而用户未知的。在本发明的某种形式中,C的商人签名可以被构成为包含商人的签名、或者仅仅一部分C的MAC(诸如在C中的日期或者时间、包含在C中的随机串、或者包含在C中的序列号)、或者与C有关的数值。
计算数据项V的步骤在时间上没必要必须在从用户接收C的步骤之后。例如,数据项V可以是与交易T有关的日期信息的商人的数字签名。商人可以在接收C之前已经计算了这个数字签名。
在当前实施例中,商人使用一个选择过程来确定他已经接收的支票中的哪些应当被“选择”用于付款。商人仅仅传输“选择”的支票给银行,并且不传输任何未被选择的支票给银行。用户在用户创建支票的时候确定该支票是否将被商人选择在计算上是不可行的。实际上,用户可能或者甚至不可能会意识到商人使用了一个选择过程,并且仅仅传输用户支票的一部分给银行,尽管用户最终了解这样的一个选择过程是更有可能的。
作为选择过程的一部分,商人确定与C有关的数据项V是否满足属性P。在本发明的一个优选实施例中,关于支票C是否被选择用于付款的确定视V是否满足P而定。
在一个优选的形式中,由商人使用的选择过程是这样的,它使得有可能为每个选择的支票估算它被选择用于付款的选择率或者“概率”。特别地,选择过程可以是被估算用来选择所有支票中的一个固定部分的过程。在这种情况下,属性P可以与一个常数s有关,其中0<s<1,并且s是一个给定微支付被选择用于实际付款的概率,而且这个概率s是固定的和已知的。做为选择,V可以使P满足一个概率,其中该概率能够从数据串C或者从它的一部分、或者从记录T或者它的一部分、或者从数据串C和记录T的组合中确定的。换句话说,被选择的这部分支票可以取决于由用户在支票C中提供的参数。例如,它可以取决于支票的金额。做为选择,可以在把用户的公共密钥绑定给用户的用户的数字证书内规定值s。做为选择,可以保证属性P适用于数据项V的值的恒定部分。做为选择,可以保证属性P适用于V的某一部分F,其中部分F可以从数据串C、从记录T、从C和T的部分、或者从C和T的组合中确定。做为选择,商人可以从银行获得能够被用来确定s和/或属性P的信息。
属性P可以事先指定,即在进行交易T和从T中导出支票C之前。
这样的属性P的一个例子将会是:“V的最后十位对应于小于x的数字,其中x是一个恒定数字”。做为选择,属性P可以在交易T、或者支票C、或者它们的组合内指定或者可从交易T、或者支票C、或者它们的组合内中获得。这样的属性P的一个例子将会是:“V的最后10位对应于小于与C的最后十位对应的数字的数字”。确定选择率s的方式可以包括以上方法的组合、或者它们的变化,这对于本领域技术人员来说将会是显然的。
在一种形式中,商人可以使用仅仅商人已知的秘密信息SI,以便确定V是否满足P。这样的秘密信息SI可以包含,例如,商人在公共密钥数字签名方案中的秘密密钥,或者商人在公共密钥密码系统中的秘密密钥,或者商人在公共密钥数字加密方案中的秘密密钥。最好是,商人的数字签名算法应当是确定性的。
在本发明的一个实施例中,属性P可以采用下列形式:F(V)=F(SIGM(C))<s,         (1)其中F()表示使用任意的位串作为输入、并且返回一个在0和1之间的数字作为输出的公用函数,s是大于0并且小于1的常数,并且表示(或者至少确定)用于微支付方案的选择率,即一个给定的支票C被选择用于付款的概率。作为一个例子,F可以通过预先未决一个零和一点并且把结果解释为二进制数,在二进制输入字符串V上进行运算。在这个例子中,如果V是输入串“011”,则F将对V进行运算以产生“0.011”,其将被解释为十进制分数3/8。由于SIGM(C)实质上是随机(不可预知的)数,如以上说明的那样,则F(SIGM(C))也是在0和1之间的随机的并且足够长的数。因此,F(SIGM(C))将小于比率s,并且因此属性P实质上满足了用户使商人接收的所有支票C的一部分s。在另一个实施例中,函数F将首先应用一个散列函数或者其它确定性函数到它的输入,然后如前所述通过预先未决一个零和点继并且把结果解释为一个二进制数来进行。在另一个实施例中,属性P可以采用下列形式:F(V)=F(SIGM(G(C)))<s,         (1′)其中G()表示被应用到支票以生成一个数据串的函数。例如,函数G可以刚好返回支票C的序列号。
应当强调,为了确定一个支票是否应当被选择用于付款,商人不必与用户进行交互。在其中依据等式(1)确定属性P的情况中,很容易发现商人能够立即验证支票C是否是可支付的:商人能够很容易地使用他自己的秘密签名密钥估算F(SIGM(C)),并且比较F(SIGM(C))和选择率s。F(SIGM(C))实质上是用户不可预知的,这是至关重要的;它还应当具是有足够精确度的数字。就实际上合理的选择率,例如1/128或者1/1024来说,SIGM(C)和F(SIGM(C))是10位长是足够的。相反,典型的数字签名是好几百位长的,并且因此表示了一种过多(overkill)。
在本发明的这个实施例中,一旦商人他自己已经确定了数据项V(例如SIGM(C))确实满足属性P后,商人使银行存取信息I,信息I允许银行也验证V是否满足P。在本发明的一个示范性实施例中,信息I可以包含对应于用来创建SIGM(C)的秘密密钥的商人公共密钥,或者商人的用于那个公共密钥的证书。信息I还可以包含商人的C的数字签名,即V或者SIGM(C)。甚至在生成支票C之前,商人可以使银行存取信息I的一部分。例如,商人在过去可以已经向银行给出了他自己的证书,并且银行可以已经存储了它。如果商人确定来源于电子支票C的数据项V不满足属性P,则商人简单地丢弃支票C。银行决不会看到支票C。然而,如果支票被适当地生成了,即使未被选择用于付款,则通常商人也仍然将向用户提供该支票打算购买的商品/服务。只有那些(与C有关的)V满足属性P的支票C才被商人选择用于付款,并且被发送到银行。银行因此仅仅就用户进行的一小部分微支付采取行动。
由于银行仅仅看到由用户创建并且由商人接收的支票的一部分s,所以需要进行付款金额的调整以说明(至少大约)“未中的”(未被选择的)支票的值。在进行这样一个调整的方法中,发送到银行用于存款的每个支票导致具有支票C的票面面值TV的1/s倍的值的“宏支付”。当s是变量时,可用的s是与用来选择C的过程有关的s。例如,如果s是1/1000,并且交易价格TV是1美分,则平均来说,仅仅1000次微支付中的一次将会被选择用于付款,而1000次微支付中的999次将被放弃。1000美分或者$10的付款将被进行用于选择的微支付。这样,平均来说,每1000次微支付仅仅引起了单次处理成本,从而产生了处理成本的大量节约。
银行使用信息I,诸如在商人的数字签名方案中的商人公共密钥为从商人接收的每一个支票C验证支票C实际上是否应当已经被选择用于付款了。换句话说,就从商人接收的每一个支票C来说,银行也使用信息I验证V是否满足属性P。如果银行验证V实际上确实满足属性P,则银行使商人或者除商人、用户、或银行以外的指定的第四方接收对应于宏支付的值的款项。银行通常从用户的帐户向商人的帐户中或者向某些指定的第四方的帐户中进行付款。
银行以它的自行处理和/或依据它的策略,可以在某种情况下,诸如当用户的帐户欠款时、当用户的证书被撤消时、或者当商人或者用户被怀疑试图欺诈时,拒绝支付支票。例如,银行可以采取措施来确保如果一个商人两次提交了同一支票则最多付款一次。银行可以拒绝支付先前已经处理了的支票。银行也可以选择进行付款的检查直到用户已经在他的账户中储蓄了足以支付支票的存款为止。
在本发明第一实施例中提出的微支付方案可以涉及4方当事人、即第一方、第二方、第三方和第四方,其中所有4方是完全不同的。作为一个例子,第一方可以是通过一个收费站的用户,第二方可以是在收费站处的设备,第三方可以是用户的银行,而第四方可以是公路所有者。做为选择,第一方可以是下载一首歌曲的用户,第二方可以是歌曲的提供者,第三方可以是用户的银行,而第四方可以是音乐发行人。做为选择,第三方可以是第一方(即用户)的银行,而第四方可以是第二方(即商人)的银行。在这种情况下,第二方将为了第二方的利益使用户的银行向第二方的银行进行付款。在本发明的微支付方案中也可以涉及除第一、第二、第三、和第四方以外的其它方。例如,第一方(用户)可以发送支票C到第二方,其是把数据项V(如果属性P适用于V的话)发送给第三方的一个设备,其中第三方是用户的银行。用户的银行(第三方)为了受益人的利益向是受益人的银行的第四方付款,其中受益人是第五方。
付款的金额可以取决于支票的票面面值(TV)和估算的这样一个支票将被选择用于付款的概率s。从用户的帐户中提出并且加到商人的帐户中的付款金额可以由支票的票面面值乘以估算的这样一个支票将被选择的概率s的乘法倒数(1/s)给出,并且由银行可分别向用户和商人收取的任何可用银行处理费用调整。
如以上所述,微支付方案对于允许购买低价项目,例如网络文章或者网页来说是非常有用的。在现有技术中,为了允许用户购买低值项目,已经广泛地使用了预订方法。例如,通过预订网络服务,用户实质上把许多将来的低值交易聚集成为单次宏支付。然而,这个实践可能对用户来说不是最佳的,因为如果用户目前对一个特定项目感兴趣但是不能确定他将希望或者需要访问未来的项目,则预订的价格将比用户愿意支付的多。因此,卖方可能失去一些业务,因为用户可能决定不购买预订(即“预先”进行宏支付),并且可能放弃他想要的项目。
同在本发明第一实施例中提出的那样,概率性微支付方案可以以如下的桥预订和个别销售的方式进行扩展。商人可以向用户提供两个选项:(1)允许用户在一个给定时间间隔内获得许多项目的预订(例如,预订可以向买方提供对商人的所有网页的访问持续一年),以及(2)个别项目àla carte。用户可以依据它的申报价格TV决定仅仅单独购买个别项目。用户将向商人支付具有面值TV的概率性支票,并且商人将向用户提供想要的项目。然而,如果该概率性支票应当被选择,则该支票将实际上使商人接收高很多的货币值,例如A=TV*1/s,其中在个人支票被选择用于付款的概率是1/1000的情况下,s=1/1000。由商人接收的金额A将超过商人的预订服务的成本。在这种情况下,用户将通过免费获得预订而得到报酬。如果预订的成本高于A,则用户可以通过获得A作为对从商人购买预订的花费的贷记而得到报酬。
以上描述的用于桥预订和个人销售的方法向用户提供了几个额外的刺激。仅仅为简单起见,假定所有项目具有相同的成本(例如一美分),预订成本为$10,和概率性支票具有一美分的面值,但是根据用于付款的选择,实际上最后使用户花费$10,因为在下面的方案中用于选择的概率为1/1000。然后,用户将会看到,平均起来,他的支票中只有千分之一变得是可支付的,而且当他实际上支付$10时,他还得到免费预订。因此,在某种意义来说,用户决不会必须决定他是否应该购买预订,或者他是否应该选择àla carte项目:用户总是可以达到la carte,因为他最后总是将免费获得项目,或者支付项目费用,但是具有免费投放的预订作为回报。这样,即使用户在进行1000次1美分购买很久以前就成功进行了$10的付款,微支付方案对于用户来说也总是显得公平和有吸引。该处理过程对商人来说看上去也将是有吸引力的,因为否则他可能失去无论如何都不会考虑购买预订的客户。如果商人感到用户会很好地进行交易,则商人还能够稍稍向上调整每一价格TV以便包含分摊的预订成本。
图2依据本发明一个实施例提供了说明用于为一个交易T建立付款的微支付系统100中的组件的示意框图。系统100包括通信装置110,其允许用户、商人、和银行在它们自己当中传输电子数据甚至付款。电子数据可以包括表示电子支票的数据串、或者表示消息的串。在一个实施例中,通信装置110可以允许访问远程服务器。通信装置110可以包括在本领域中已知的一个调制解调器和一个或多个网络接口设备,包括但是不局限于网络接口卡。通信装置110可以包括总线,例如地址总线114和数据总线115,其允许在不同的网络节点之间传送数据。
系统100还包括第一处理装置105和第二处理装置106。第一和第二处理装置可以是计算机系统,例如运行DOS或者Windows操作系统的数字计算机,并且连接到地址总线114和数据总线115。每一个处理装置105和106通常包括用于存储数据的存储装置121、用于输入数据的输入装置122、和执行系统命令的中央处理单元(“CPU”)123。存储装置121可以包括计算机存储器和诸如硬盘、CD-ROMs等的数据存储器。输入装置122可以是在本领域中已知的任何输入设备,例如传统的键盘
第一处理装置105可由第一方操作用于导出、输入和存储与交易T有关的数据串C。第二处理装置106可由第二方操作并且对C做出响应,用于使一个数据项V与至少一部分C相关联。第二处理装置106也可操作用于确定V是否满足属性P。例如,一组指令能够被输入到第二处理装置106的CPU 123中,以使CPU得出与C(或者一部分C)有关的数据项V,并且使CPU 123确定V是否满足属性P。这是必须满足的必要条件用于使CPU 123执行下一步,即向第三方(银行)传送允许第三方验证V是否满足P的信息I的命令。CPU 123能够被编程用来在V满足P时可有选择地操作以便向第三方传输信息I。
系统100还包括装置140,当V满足P时可由第三方有选择地操作其以便使第四方接收款项。装置140也可以是计算机系统,其具有能够被编程用来在V满足P时有选择地操作用于命令向第四方传送付款的CPU。
总的来说,在本发明第一实施例中提出的微支付方案在进行相对大量微支付的时期内,最小化了处理成本,同时消除了对用户-商人交互的需要,并且同时允许每一方支付或者接收近似正确的预期价值。
II.包含时间限制的微支付系统在如上所述的在第一实施例中给出的非交互的框架内有不同的变化是可行的。特别是,在本发明的第二实施例中,能够合并时间限制。如在先前部分中描述的那样,微支付方案可以允许商人随时存入一个可支付支票。然而,在很多情况下,使银行具有除非商人给出可支付的(即被适当选择的)支票否则拒绝贷记商人帐户的能力是有益的,其中该可支付的支票的时间信息指示该支票正处在距进行相关交易的时间的预定时间间隔内被给出。
在本发明的第二实施例中,给出了一种允许用户为以时间t为部分特征的交易T建立付款的微支付方案。典型地,时间t表示交易T发生的时间和/或日期。图3以流程图的形式依据本发明第二实施例提供了对一种用于微支付交易的方法的概述。用户从T导出一个数据串,或者从交易T导出电子支票C。在第二实施例中,支票C或者C涉及的交易T必须包含和交易T的时间t有关的信息IN。
用户使商人接收包含IN的至少一部分C。商人根据收到这部分C使C与实质上用户不可预知的数据项V相关联。在本发明的这个实施例中,依据T的时间t定义实质上不可预知的数据项V。例如,V可以使用商人在公用数字签名方案中的秘密密钥来创建,并且可以由SIGM(C),即用于C或者包含有关t的信息的部分C的商人数字签名给出。在后者的情况中,更确切地说V=SIGM(G(C)),其中G是返回有关C的时间信息的C的函数。
在该微支付方案中也可以使用参数s和函数F和G以确定V应该满足的属性P。s和函数F和G被指定的方式以及其中属性P被指定的方式都可以以与在先前部分中描述的指定s、F、和P的方法相似的方式改变。例如,支票C(或者C涉及的交易T)可以直接指定应当与和C有关的特征值V一起使用的属性P。例如,函数F可以确定属性P,其中P由下式给出:F(V)=F(SIGM(C))<s,其中s是在0和1之间的数,并且表示在该方案中一个给定支票C被选择用于付款的概率。
在本发明的第二实施例中,商人的签名可以刚好应用于C的函数G而不是应用于全部的C。即,属性P可以由下式给出:F(V)=F(SIGM(G(C)))<s。
同样,可以以几种方式中的一种指定函数G。例如,它可以是固定的,或者由C指定,或者由相应的交易T指定,或者由证书(例如商人或者用户的)指定,或者在由银行提供的其它信息中指定。
一个尤其有用的函数G可以是返回C的时间信息IN的函数。这样,数据项V(实质上是用户不可预知的)是一个主要是交易T的时间t的函数,并且属性P主要取决于交易T的时间t。注意到,由G提取的时间信息可以与t有关但是没必要与t一致。例如,t可以指定T的日子、小时、和分钟,同时G可以返回具有不同间隔(granularity)的时间指示:例如,它可以指定t本身,但是刚好截至该日子(或者日子和小时但是不是分钟),或者在t之后的下一个小时。在本发明的第二实施例中,由商人签名的值G(C)应该总是被构成为包含时间信息。
在确定V满足P(在其中这是真实的情况下)并且支票通过其它测试(例如,如果有用户的签名,则该签名是否有效)之后,在时间t′商人使银行接收和T的时间t有关的某些或者所有信息IN。商人可以向银行提供所有C或者至少一部分包含IN的支票C。商人还使银行接收允许银行独立地验证V满足P的信息I。商人可以使银行甚至在计算V之前接收部分I。在接收了IN的相关部分之后,银行能够确定t′(即商人把支票给银行的时间)是否充分接近t。如果经过的时间|t′-t|大于预定数量,则银行可以放弃支票C。如果满足其它条件,诸如当用户在支票C上的签名没有验证、或者用户的帐户欠款、或者用户和/或商人被怀疑欺诈等时,银行还可以以它的自行处理或者依据它的策略拒绝或者延期付款。
使用I,银行独立地验证V满足P。只有当V实际上满足P并且通过了所有其它测试(诸如|t′-t|小于预定时间间隔的测试)时,银行才使商人(或者其它第四方)接收款项。预定时间间隔可以是例如一天、或者一星期、甚至给定数目的小时。
作为一个例子,如果支票C涉及的交易T在第i天发生,则微支付系统可以要求商人到第i天结束时、或者到i+1天结束时、或者到i+n天结束时存入该支票,其中n是一个指示在其间使商人存款有商业意义的天数的整数。这类要求给商人一个验证他接收的支票的时间准确性的额外刺激,这提供了有利于商人的增加了的安全性。
在一种形式中,如果t1表示用户使商人接收包含IN的一部分C的时间,则如果时间t1不在规定的时间限制内则商人可以拒绝继续进行。在这种情况下,商人能够拒绝提供请求的“商品”(例如货品、服务、或者信息)。及时的存款还确保了用户不会被太迟收费,即当可能的开支不再在用户的预算时被收费。
更详细地提到G(C),G(C)可以是返回C或者C涉及的交易T的日期和/或时间信息的函数。例如,如果这样的日期为2001.01.01,则V可以由SIGM(2001.01.01)构成。如果商人在以前从未签名过这样的日期,则这对用户是不可预知的。在这种情况下,V必须满足的属性P包括把SIGM(2001.01.01)或者F(SIGM(2001.01.01))与C、一部分C、C的某个函数、或者预先指定的常数进行比较。例如,这样的一个属性P可以被用公式表示为:选择的SIGM(2001.01.01)的m位子串与选择的C的m位子串匹配吗?应当注意到,以上描述的使V与C相关联的方法具有许多优点。特别是,商人可以甚至在2001年1月1日从用户接收C以前计算SIGM(2001.01.01)。因此,一旦在那天C已经被接收了,商人就可以更加快速地验证P是否满足所需要的属性P。例如,如果就某个固定数s来说,P包含F(SIGM(2001.01.01))<s,则P仅仅取决于V,而不是取决于支票。因此商人能够只此一次地确定是否满足P,而且甚至是在2001年1月1日以前。如果确实满足P,则商人能够把他那天接收的所有支票发送(而不需要任何进一步验证)到银行用于付款。如果不满足P,则他将放弃他那天接收的所有支票(而不需要任何进一步验证)。这样,商人必须执行的签名的数目被最小化了。
做为选择,属性P可以包含SIGM(2001.01.01)的某m位(例如10位)是否匹配于用户在C中包含的给定的10位串。在这种情况下,即使属性取决于V和支票C,确定是否满足P也几乎是立即的。实际上,即使数字签名的计算可能是相当复杂的,商人也需要在2001年1月1日或者在此以前仅仅计算SIGM(2001.01.01)一次,然后存储签名(或者它的任何给定的m位)。这样,每一支票所要求的商人的工作将仅仅包含两个10位串的琐碎的比较。这允许商人使银行甚至在接收支票以前接收允许银行独立地验证一个给定支票被选择用于付款的所有信息I。例如,商人可以在2001年1月1日开始时甚至在它以前发送SIGM(2001.01.01),然后仅仅向银行发送所有关于2001年1月1日的支票。然而,尽管方便,但这对于商人来说可能是不谨慎的,因为如果恶意用户在2001年1月1日期间获得SIGM(2001.01.01)的持有,则他能够在那天写出决不会被选择用于付款的支票。对于本领域技术人员来说,显然有许多这种方法的变化(诸如,使用一个小时而不是一天的时间间隔(granularity))。
在一种形式中,本发明的第二实施例允许商人使用在支票C上的时间/日期信息,通过导出一系列值VLi来关联数据项(实质上是用户不可预知的)。商人导出与一时间序列ti(i=1、......、n)有关的一系列值Vli,其中至少一个以一种给定的方式与交易T的时间t有关。例如,至少一个整数m大于1并且小于n,|t-tm|小于预定量,例如一天。做为选择,对于至少一个介于1和n之间的整数m来说,t-tm(或者tm-t)是正的,并且不大于一天。用户使商人接收包含有关交易T的时间t的信息的至少一部分C。
商人然后确定在这部分C和值VLm之间或者在这部分C和取决于与tm有关的值VLm的数量Q之间是否满足属性P。如果这样的话,则商人使银行接收允许银行验证是否满足属性P的信息I,以便使银行能够进行适当的贷记和借记。
在一种形式中,商人可以使用C的日期信息,通过生成一系列散列值使数据项V(实质上是用户不可预知的)与每一支票C相关联。在这种形式中,商人生成下列值:W0、W1、  ......、Wn,其中wi=h(wi+1),而且h是单向函数,并且把w0放在他的公共文件中,或者对它数字签名,或者相反使它公开。商人因此使wi+1与第i个日期/时间单位相关联。即使商人揭示了所有与在先的时间单位关联的数据项,相关联的数据项wi+1也是不可预知的。尽管第一个i这样的数据项到时间单位i时可能已经被公开了,但是wi+1实质上也是不可预知的,因为人们不能通过仅仅已知的wi=h(wi+1)而计算出wi+1。商人使其与具有时间/日期信息i的支票C相关联的不可预知数据项V是wi+1,即时间/日期信息的第i个散列倒数(hash inverse)。然后可以以各种方式的公式表示属性P。作为一个例子,如果wi的前10位等于C的10个选择位,则可以满足属性P。商人能够通过简单地公开信息I=wi而允许银行验证是否满足属性P。银行能够通过将wi散列i次、并且查看结果是否匹配于商人的w0来验证wi,然后验证是否满足P。
应当注意到,如果商人使用与在支票上的日期/时间信息有关的不可预知的数据项V,则使商人隐藏任何有关他已经丢弃的那些支票以及他在给定的日子/时间单位期间留出用于贷记的那些支票的信息是较好的。否则,恶意的用户可能过早地发现值V,并且例如通过生成他知道不会被选择的支票而为了他的利益使用这个信息。更优选的是,让商人留出具有给定日期/时间单位的所有“选择的”可支付支票,然后在该日期/时间单位结束时发送所有选择的支票给银行。这样,即使恶意的银行也不能暗中勾结用户以便允许他欺骗商人。还可以通过要求用户利用智能卡、蜂窝电话、或者其它设备来增强安全性,这些其它设备使用户难以或者不可能自由地生成并测试各种支票以确定哪些支票将最终被选择用于付款。
III.包含消除了用户风险的选择存款协议的微支付系统用户预先不知道并且不能控制他的哪些支票将被选择用于付款是典型的概率性付款方案。在本发明的实施例中,如迄今为止描述的那样,可能发生用户被借记超过他实际上花费的金额,即超过他已经写出的支票的总价值的金额。在传统的概率性付款方案中,如果支票Ci被选择为可以概率s被支付,则用户通常被借记的超过交易价格TVi:在许多概率性方案中,他被借记例如金额(TVi*1/s)。因此,如果每个交易Ti具有相同的价格TVi=TV,并且由于运气不佳用户的前1/s支票中的两个或更多(而不是一个)变得是可付的,则用户将被借记至少两倍于他花费的实际金额的金额。当s大时,可以预计到这对于近四分之一的用户来说是可能发生的。
在本发明的第三实施例中,提出了一种选择存款协议,其解决了用户风险问题,即由于运气不佳用户可能被收取超过他实际上已经写出的支票的总价值的费用的可能性。用户风险的问题是概率性微支付方案,诸如Rivest的电子彩票方案、以及在先前部分中公开的微支付系统中固有的。例如,即使一种概率性方案的选择率s可能是1/1000,由于运气不佳用户的前1000个付款中的5个而不是一个被选择用于付款也是可能发生的。虽然向用户过多收费的概率是小的,并且用户风险的相关影响极大地减少了进行微支付的数目,但是用户风险仍然可能构成对概率性微支付方案的广泛接受的强烈障碍。这是因为一般的用户和较大的机构诸如银行不同,不习惯于管理风险。因此,如下所述,第三实施例的有创造性的方案改进了下面的概率性付款方案。
图4以流程图的形式依据本发明提供了对一种用于微支付交易的方法的概述,其包含一种消除了用户过多付款的风险的选择存款协议。在这个实施例中,提出了一种允许用户为一系列交易Ti(i=1、......、n)建立付款的方法和系统。每个交易Ti通常以很低例如一美分或者一美分的一小部分的交易价格TVi为特征。如果银行将处理每一个交易Ti,则银行将因此导致处理成本比交易价格TVi本身高很多。
因此能够由用户使用一种概率性微支付方案(例如,Rivest的彩票方案或者在先前部分中阐述的方案之一)以便为每个Ti生成一个支票/微支付Ci,其被发送给商人作为用于交易Ti的付款。然后,对于大于0并且小于1的概率,通过用户和商人的交互,如在Rivest的彩票方案中那样,或者仅仅商人自己的非交互,如在先前部分中描述的方案中那样,可以确定Ci是否被选择用于付款。
如从图4中所看到的那样,就每个Ci(i=1、......、n)来说,用户使商人接收Ci。就商人接收的每个Ci来说,商人依据下面的概率性方案和用以防止用户预先预知哪些支票将被选择用于付款的方式,确定Ci是否被选择(即可支付的)。例如,下面的概率性方案可以是在以上的I部分中描述的方案,在这样的情况下商人将通过使数据项Vi与Ci关联、并且确定Vi是否满足属性Pi来确定可支付性。商人可以有可能检查其它条件,诸如用户在Ci上的签名是否有效、支票的金额是否不太大等诸如此类;这些条件中的某些可以在用户的证书中指定。如果商人确定Ci不是可支付的,则商人丢弃Ci。如果商人确定Ci是可支付的,则商人使银行接收允许银行验证所选择的支票Ci可支付的信息Ii。银行使用Ii来验证Ci是可支付的。当且仅当Ci是可支付的时,银行使商人接收贷记金额CRi,并且用户被借记金额Di。
在本发明的第三实施例中,银行必须确保Di是使得借记到用户的总金额D=D1+D2+......+Di不大于用户已经写出的支票的总合计值Tagg=TV1+TV2+......+TVi。换句话说,就任一整数i(1≤i≤n)来说,在用户已经参与了i个交易之后他被借记的总金额必须决不会超过他已经从商人购买的交易T1、......、Ti的总合计值。
在一种优选的形式中,银行通过使用支票的序列号以保证D=D1+D2+......+Di不大于Tagg的方式确定Di。在这种形式中,在下面的概率性付款方案中由用户生成的多个支票Ci(i=1、......、n)中的每一个都包含一个序列号Si。这些序列号Si最好是从1开始的连续整数。此外,第i个序列号最好是表示了交易Ti和支票Ci相对于其它交易(T1、......、Ti-1、和Ti+1、......Tn)和其它支票(C1、......、Ci-1和Ci+1...Cn)的时间顺序。
序列号Si提供了与交易Ti和/或支票Ci有关的索引i的指示。然而,也能够使用有序的但是不连续的序列号。例如,人们可以在一给定数P之后使第i个支票与第i个质数相关联。为简单起见,将首先描述其中每个交易Ti具有相同交易价格TV=TVi的情况。如稍后更详细地讨论的那样,第三实施例还包含了其中交易Ti可以具有不同价格TVi的情况。
银行(或者另一个第五方)留意已经被选择用于付款的支票的序列号。为了确定一个可支付的支票Ci的借记金额Di,第三/第五方使用值Smax,其中Smax表示在迄今为止已经给出用于付款的最近支票上出现的序列号。在使用从1连续开始的序列号的情况下,值Smax被初始化为零。由于在支票上的序列号是连续排序的,Smax是在先前已经给出用于付款的任何支票上出现的最大序列号。此外,由于序列号的连续排序,所以Smax小于当前的可支付支票Ci的序列号Si。如图4所示,为这个支票(例如由第五方)向用户借记下列金额:Di=(Si-Smax)*TV    (1)因而断定:用户已经被借记他已经写出的所有支票的总金额D是Si*TV。如果使用了不连续的序列号,则人们可以定义Di=#(Si-Smax)*TV,其中#(Si-Smax)表示在Si和Smax之间(包括Si但是不包括Smax)的序列号的数目。
金额D=D1+D2+......+Dmax表示用户已经签发的所有支票的总合计值。由于在已经写出了i个支票之后D决不会大于i*TV,因此消除了用户进行过多付款的风险。为了处理将来的微支付,银行然后重置Smax的值为Si,如以上说明的那样其是银行发现的迄今为止可支付的最近的支票。等式(1)还表明:最终向用户收取的金额不取决于哪些支票最终变为可支付的,而是仅仅取决于用户已经写出的支票的数目;用户最终为他已经写出的每个支票被收取适当的金额。
第五方可以使第四方(其可以是商人,或者可以是除商人以外的机构)接收贷记金额CRi,其通常由下式给出:CRi=TV*(1/s)            (2)如果在下面的概率性付款方案中有选择率s,则在本发明的方法和系统中,当对大量微支付进行平均时,大约每1/s支票当中只有1个支票被选择用于付款。因此,贷记金额对商人来说也是公平的,因为它是1/s支票的全部合计值,并且当对大量微支付进行平均时,商人最终接收了正确的金额。但是产生的方案对用户来说更加公平,因为进行过多付款的风险从用户转移到了银行。例如,如果选择率为s=1/1000,并且商人处理1,000个微支付,每个价值一美分,则可以预计到这些1,000个付款中只有一个将被选择,但是选择的那个将使商人接收1/s=1000美分或者$10。如果(从1,000个微支付当中)选择了一个以上的微支付,则银行将由于运气不佳将不得不不止一次地支付$10。银行可以通过向商人推迟对支票的付款,直到依据以上所述的序列号借记方案户已经进行的付款总计足以涵盖这个支票和也被选择用于付款的先前所有支票的付款,选择转移某些风险给商人。
在本发明的这个第三实施例中,用户最好是已经从他的银行获得了授权用户在该银行的用户帐户上写支票的证书。这个证书可以指定用户的公共密钥;它还可以指定其它信息,诸如用户被授权使用的最大序列号,和/或支票的最大金额(如果支票可以具有可变值)。用户可以和他写的每个支票一起发送这个证书,或者可以仅仅把它提供给他近来没有向其发送过它的商人。能够通过使商人高速缓存用户证书持续一定时间而获得某些带宽节省。
在本发明的这个实施例的另一个变化中,用户被授权使用的最大序列号Y可以通过使用具有长度Y的散列链以类似于其中PayWord证书指定长度为Y的散列链的根的方式来指定,其中该长度为Y的散列链向一特定商人授权一个Y个微支付的序列。然而,在这种情况下,具有授权了的序列号的支票可以被写给任何商人。用户能够向商人提供证书和散列链中的第i个元素,以证明他被授权写具有序列号i的支票。(散列链中的第i个元素被定义为是在被连续地散列i次时产生散列链的根的散列链中的那个元素。)商人还可以具有一个数字证书,用户在付款协议期间可以或者不可以获得它,这取决于使用了协议的哪种版本。如果付款协议实际上是非交互的,则用户可能难以获得这个证书。另一方面,这个证书对该付款协议来说不是必要的。例如,用户的支票能够包含“这个支票仅仅在和用于商人的公共密钥的有效证书一起存入时才有效”等类似形式的声明,并且商人能够在他存入支票时向银行提供他的证书。
由于几种原因,更优选的是把过多付款的风险从用户转移给银行或者商人。首先,支票被选择显著地超过1/s次中的一次的概率是小的。因此,通过银行的过多付款很少发生。无论如何,每个这种过多付款的金额都是相当适度的。银行还能够采用诸如在开立帐户时向每个用户收取固定费用(例如与1/s成比例的费用)的策略以涵盖这种变化。虽然过多付款的适度金额的小风险可能使单个用户烦恼并且阻碍了他们用概率性微支付方案,诸如在本发明中公开的概率性微支付方案签名,但是这种风险通常将不会使银行烦恼。原因是银行习惯于管理基本风险。仅仅作为一个例子,由银行习惯性管理的风险是借款人拖欠他们的贷款的风险。因此,银行在制度上适于支持其中他们能够通过接受和管理风险而获利的支付系统。
类似地,商人通常习惯于管理大量交易,其中每个交易具有某些相关的风险,诸如货物将被退回或者用户的付款不会被实现的风险。因此,在微支付方案中使商人接受某些风险也是可以接受的。银行和商人因此可以议定例如被选择用于付款的微支付支票实际上不会被支付给商人,直到用户的帐户包含足以涵盖它的资金为止。每个被选择用于付款的支票将被保持在银行的一个“待处理队列”中,直到用户的付款(依据以上所述的序列号方案确定的)足以涵盖这个支票和所有先前排队的支票为止。
其次,不管多么小,只要由银行征收小的每一交易费用存在,从长远来看过多付款的概率就变得越来越少,即随着微支付交易的数目增加风险降低了。由于同单个用户相比银行通常经历更高数量的交易,所以与对一般用户的概率相比,过多付款的概率因此对银行来说更小。
除了消除用户过多付款的风险之外,本发明的第三实施例还允许银行惩罚欺骗方,或者在他们能够造成任何实质损害之前从系统中清除他们。如在下面更加详细地说明的那样,本发明包含允许银行防止恶意的用户和/或恶意的商人进行欺骗的多个特征。例如,如果银行通知一个新支票与先前处理的支票具有相同序列号,或者如果新支票的序列号和时间相对于先前处理的支票以某种方式次序颠倒,或者如果支票的金额过多,或者如果发生了其它银行规定的情况,则银行能够拒绝兑现支票。银行甚至可以在它认为适当时向用户罚款,和/或采取其它惩罚性作为。例如,银行可以保持统计,和例如通过如果使用了证书则撤消他们的证书,使可支付支票引起以上所述的任何问题的用户从系统中出局。例如,如果支票被不一致地编号和/或注明日期,或者如果它们属于其支票比预期的更加频繁可支付的用户,则可以抛弃该支票。类似地,银行可以使行为不端的商人,诸如接收了具有上述问题的支票或者比统计上预期的更加频繁地可支付的支票用于付款的商人从系统中出局。
在本发明的第三实施例中,要求用户使用按次序而且没有重复的序列号。例如,序列号1应当被用于第一张支票,序列号2应当被用于第二张支票,等诸如此类。如上所述,这样用户将决不会被收取超过他应当支付的费用。通常,在一给定时间,在上一个可支付的支票之后他已经写出了未被选择用于付款的、用于额外交易的更多一些的支票。因此,至少暂时地,他被借记小于他实际上的花费,并且偶尔他将正好被借记他应当被借记的金额,即当最近的支票实际上是可支付的时候。
然而,不诚实的用户可能试图玩弄序列号以便找到被借记小于他实际上花费的金额的方法。一种方法是不止一次地重新使用一个序列号。如果他这样做了,则Si-Smax的数值和因此由(Si-Smax)*TV给出的金额与它的真实值相比将会被减少。然而,因为如果银行通知一个可支付的支票具有和先前处理的支票相同的序列号,则银行能够采取被设计用来防止这种欺骗的惩罚措施,所以这类欺骗将不会是很有用的。例如,如果银行在一个可支付的支票中遇到重复的序列号,则银行能够被授权向欺骗用户借记高的金额以便使该用户在这种方式的欺骗中达不到预期目标。
应当注意到,在本发明第三实施例提出的微支付方案中,用户不能预知并且因此不能控制他的哪些支票将变得是可支付的。因此,每当他生成两个具有相同序列号的支票时,存在尽管很小但是也有它们两个都变得可支付的机会。对于被抓到欺骗的惩罚能够被设置得足够高,以使得它超过他希望通过欺骗赢得的补偿。
几种形式的欺骗可能涉及“向后注明日期(back-dating)”的支票等。因此,对于商人和银行来说,就从同一个用户看到的任何两个支票C和C′,如果C的序列号小于C′的序列号,则检查C的日期/时间是在C′的日期/时间之前,这是很重要的。
如果用户在付款交易之后没有立即被商人告知他的哪些支票变得可支付,则以上描述的用于抓住正在欺骗的用户的机制是很适用的。实际上,从这个观点来看,更优选的是使用户尽可能地不知道他的哪些支票已经变得可支付了。原则上,用户实际上能够准确地监控他已经写出了多少支票,并且因此不会争执诚实的借记。然而,如果应当出现争执,则将希望有提供被借记金额的证据,包括可支付支票的序列号的能力。
如果用于选择用于付款的支票Ci的标准仅仅取决于序列号Si,则以上描述的用于找出欺骗用户并且使其出局的机制能够被改善。这样,如果一个支票是可支付的,则通过欺骗用相同序列号生成的其它任何支票也是如此。例如,如果在下面的概率性支付系统如在先前部分中公开的那样,用于(通过属性P)确定一个支票何时可支付的数值Vi(用户不可预知的)能够简单地包含商人的仅仅Si的签名,或许还包含用户的帐号和/或姓名,而不是商人的整个Ci的签名。
用户可能试图较少付款的另一种方法是以与它们的使用时间次序颠倒的顺序使用序列号。例如,一旦恶意的用户变得肯定S100是可支付支票的最低的序列号,则他可以计划开始重新使用序列号S1到S99,以便确保他使用的支票不会被选择用于付款,当同时不担心他将被抓到使用相同的序列号两次。然而,即使利用这类对策,也仍然具有抓到恶意的用户的良机。原因是如果他随后(即在使用C100之后)重新使用在1和99之间的序列号,则他不能防止非法支票变得可支付。这将以某个正概率发生,并且如果它发生了,则银行将通知支票C100相对于具有时间t100的交易T100来说是可支付的,并且用户随后为一个其时间在t100以后的交易生成了一个具有小于S100的序列号的支票。此外,由银行产生的制裁可能使用户的这样欺骗达不到预期目标。为了使这种筛选机制顺利工作,最好是使每个支票传送它付款的交易的时间的指示,并且商人在开始选择过程之前把传送错误时间指示的那些支票视为无效。
为了更好地支持这种反欺诈策略,银行可以要求商人使用一个选择过程,其被设计为包含例如仅仅取决于支票的序列号的一个部分和仅仅取决于时间的一个部分。另一个部分能够取决于整个支票。实质上,能有两个或更多的选择过程,并且如果它们中任何一个的结果确定了支票将被选择,则可以选择该支票。这种变化对于本领域技术人员来说应当是显然的。
恶意的用户U′还可以勾结恶意的商人M′,以便确保由U′签名的和为由M′提供的商品/服务/信息花费的支票总是可支付的。这样,为了简单起见,假定每个付款价格是1美分,U′将总是被银行借记刚好1美分,而M′将总是被支付了1/s美分(即,如果s=1/1000则为$10)。然后U′和M′可以共享他们的非法收益:实际上,如果U′把他自己设置为商人(或许在假名下),则U′可以与M′重合!尽管如此,U′和M′仅仅可以获得适度的非法收益:如果他们通过重复以上描述的方法若干次来提高他们的非法收益,他们很可能从系统中出局。尤其是如果M′在该系统中还具有合法的收益,则这是要付出的高的代价。如果在该系统中出局的用户和商人例如在新的身份下回来是不容易的,或者如果首先进入系统需要的价格(例如,用于获得初始证书的价格)是足够高的,则这个非法的游戏很少付款。甚至可能有对用户的负回报,并且涉及的费用可以很容易地被银行吞并。
无论如何,这种欺骗可以通过使第一方使用安全硬件而被消除。这个不可篡改的部分可以例如负责每当生成一个新支票时适当地递增序列号,并且还可能负责保持秘密签名密钥的安全,以及生成新支票的签名部分。因此,如果恶意的用户试图生成可支付给他的商人同谋的支票,则在每次尝试时他必须还增加序列号。因此,一旦生成了一个可支付的支票,商人将被支付一个给定的金额,但是用户也将被借记相应的适当金额。应当注意到,在这个公开中无论何处一方可以使用和/或被要求使用用于执行它的至少一部分操作的安全硬件。特别地,这种安全硬件可以被包含在一个智能卡或者移动电话中。
由于在一个诚实的用户写了n个支票之后,刚好碰巧的它们中的显著超过n*s的支票变为可支付的,所以存在他可能看来是恶意的小概率。在这种情况下,他可能被封杀出局。利用适当的参数设置,会有非常少的这种用户。此外,有可能与他们不是故意地引起银行损失的这些用户进行通信。例如,银行能够向用户提供表明他们的异乎寻常的大量支票被发现是可支付的和说明了为什么他们的支票中这么多支票实际上是可支付的信息。因此,这些用户可以接受在不同的情况下留在微支付系统中-例如,作为其中用户承担被借记大于他实际花费的金额的金额的风险的概率性支付系统中的用户。这种转变甚至可以被包括为在用户和银行之间的原始协议中的一个自动特征。
如前所述,银行可以通过延期支付被选择用于付款的支票,直到当银行已经从用户接收了足以涵盖这个支票(和来自那个用户的被选择用于付款的所有先前支票)的资金时的时间为止,来把与统计变化有关的一些风险以及现在与用户欺骗有关的一些风险转移给商人。如上所述,依据本发明,银行将有系统地依据用户已经写出的支票数目从用户接收资金,并且银行将从商人接收已经被选择用于付款的支票。当用户是诚实的并且经常写支票时,在这个方案中商人不应当必须为银行付款等待很长时间。此外,如果银行向商人支付的不是每个支票的总价,而是稍微打折扣了的金额,则用户的帐户通常应当全部付清(或者将近这样),因为用户付款的比率将稍微超过银行支出的比率。在这种情况下,商人应当预期立即或者仅仅在较短延期之后付款。这样把风险转移给商人可以是一种阻止用户和商人试图勾结以欺骗银行的特别有效的方法,因为银行不再承担为被选择用于付款的用户的支票产生的支出将超过来自用户的收款的任何风险。如果采用了这个变化,则使银行在用户的证书中指示与用户的帐户有关的“待处理的、未付的”支票的总值,以便如果这个金额好像过多则使商人可以拒绝接受用户的支票,这可以是有用的。
本发明的第三实施例的方法和系统还允许处理不具有统一的固定交易价格的微支付。一种方法是把一个价值v美分的支票明确地处理为具有连续序列号的一v个一美分的支票。更加有效的一种方法是使用户写出以序列号间隔[S,S+v-1](包含两个端点S和S+v-1)为特征而不是以单个序列号为特征的单个支票。如果这个支票变为可支付的,则用户将被借记S+v-1-Smax美分,并且新的Smax将变为S+v-1。
在本发明的这个第三实施例中,当支持具有变化值的支票时,通过确定一个支票是可支付的过程可以取决于支票的值。即,代替了单个选择概率s,存在用于大于零的每个整数v的选择概率sv,并且这些概率可以不同。该过程可以使用简单的具有下列形式的“阶跃函数”:如果v小于100,则用于v美分的支票以1/100的概率是可支付的,并且如果v是100或者更大,则具有概率1。作为选择,能够使用“斜坡函数”:如果v最多到1000,则支票以v/1000的概率是可支付的,并且如果v至少是1000,则具有概率1。然而,方案的使用可能与银行检测各种形式的欺诈的能力发生不利地相互作用,所以它们应当被谨慎使用。例如,假如仅仅看到最大序列号,银行不能再这样很容易地预知迄今为止应当已经被支付给商人的金额。基于这个原因,可以希望保持选择概率固定。在这方面,一种有吸引力的方法是使银行发给用户两个或更多证书,其中每个证书指定它自己允许的序列号集合、它自己的最大付款数量、和它自己的选择概率s。实质上,用户然后具有一组不同的“支票簿”,每个“支票簿”具有它自己的参数和限制,但是每个“支票簿”具有它自己的选择概率s。
更详细地参考不相等的交易价格的情况,本发明的第三实施例允许用户为n个交易T1、T2、......、Tn建立付款,其中每个交易Ti以整数索引i和交易价格TVi为部分特征,并且其中每个Ti不必具有相等的价格,但是每个TVi能够以一个共同单价UV的倍数为特征。UV可以是例如1美分。在这种情况下,每个数据串Ci包括关于整数索引i和Ti的价格TVi的信息。该信息采取包含用于那个支票的“初始序列号”和“最后序列号”的一对值(Si,Si+vi-1)的形式。就介于1和n之间的所有i来说,Si是一个连续排列的累进序列号,并且表示了在数据串Cj(j=1、......、n)的有序连续性中Ci相对于其它数据串的位置。vi是取决于i的一个整数,并且表示了Ti的价格TVi,而且由vi=TVi/(UV)给出。
商人以防止用户预先预知哪些支票Cj将被选择为是可支付的方式从接收的支票Cj(1≤j≤n)中选择可支付的那些支票。在一种形式中,商人可以使用在I部分中描述的方法,即:使一个数据项Vj(诸如使用商人的秘密密钥生成的商人的Cj的数字签名)与Cj相关联,其中Vj实质上是用户不可预知的。商人使第三方接收允许第三方验证所选择的支票Cj为可支付的信息Ij。第三方根据Ij的接收验证所选择的支票Cj实际上是可支付的。当且仅当Cj是可支付的时,并且或许如果还满足其它的条件,第五方确定Smax和vmax的值,其中max是一个整数,并且1≤max<i≤n,并且vmax=TVmax/(UV)。Smax表示迄今为止用于付款的任何支票中的最大的最后的序列号。第五方然后使第四方(其是收款人,并且可以是商人或者另一方)接收贷记金额CR。第五方使第一方被借记了与Di有关的借记金额,其中Di由下式给出:(Si+Vi-1-Smax)*UV。
Smax然后被设置为Si+vi-1。
使用类似于固定交易价格的情况的方法抓住并且处理在不统一的交易价格的情况下的欺骗。例如,在这种情况下,这样的两个可支付支票将被认为是欺骗的证据,其中一个支票用于一个美分并且以介于S和S+v-1之间的序列号S′为特征,而另一个用于v美分并且以序列号间隔[S,S+v-1]为特征。用于过高值v的支票可以是不被允许的,即总是被拒付。否则,恶意的用户能够加入支付系统,为巨大的金额写出单个支票,并且如果最后该支票没有被选择用于付款,就决不会生成第二个支票。这个问题还能够通过在每个用户建立帐户时向他收取“入会费”来解决,这样一个入会费是足够大以涵盖用于那个用户的预期的最大“浮动”。在此“浮动”是在用户已经写出但是银行没有看到的支票中的预期的最大值。就这个发明中的某些形式来说,这个浮动能够被计算为用户可以写出的支票的最大数量乘以支票将被选择用于付款的概率的乘法倒数。如前所述,银行还可以通过延期支付被选择用于付款的支票直到银行已经从用户接收了足以涵盖这个支票(以及也被选择用于付款的由该用户写出的先前支票)的资金为止,来阻止欺骗。
在一种形式中,能够用已经在I部分中描述的下面的概率性付款方案实现第三实施例中的方法和系统,其保证用户决不会被收取超过他实际上花费的费用。在这种情况下,在接收了用于交易Ti(i=1、......、n)的支票Ci后,商人使支票Ci与一个实质上用户不可预知的数据项Vi相关联,例如使用商人的秘密密钥创建的用于Ci或者一部分Ci的商人的数字签名,SIGM(Ci)。商人然后确定Vi是否满足某一属性Pi、例如下列属性:F(SIGM(Ci))<s,    (3)其中F是在对位串进行运算并且返回在0和1之间的一个数的函数,而且s是选择率(0<s<1)。
如果商人发现Vi实际上确实满足Pi,则商人使银行接收允许银行也验证Vi是否满足Pi的信息Ii,例如与用来生成Vi的商人秘密密钥相对应的的商人公共密钥。如果Vi不满足Pi,则商人丢弃支票Ci。当且仅当银行发现Vi实际上确实满足Pi时,并且或许Vi还满足按照银行的自行处理确定的其它条件时,第五方(其可以是银行、或者除银行以外的机构)使第四方(其可以是商人、或者除商人以外的机构)接收贷记金额CRi。第五方还使用户被借记了借记金额Di。
在第三实施例中,向用户收取的金额Di不必与由商人(或者其它机构)接收的金额CRi相同。然而,第三实施例中的方法通过包含一个选择存款协议而区分它本身与下面的概率性付款方案,其中该选择存款协议保证用户被借记去的金额Di决不会超过用户通过写他的支票实际上合计已经花费的金额。更具体地说,选择存款协议保证了合计被借记的金额总是不大于相应的交易价格。换句话说,用户确信决不会被收取超过他实际上花费的费用。
图5依据本发明第三实施例提供了说明用于为交易Ti建立付款的微支付系统200中的组件的示意框图。系统200包含通信装置210,其允许用户、商人和银行在它们自己当中传输电子数据甚至付款。电子数据可以包括表示电子支票的数据串或者表示消息的串。在一个实施例中,通信装置210可以允许访问远程服务器。通信装置210可以包含在本领域中已知的一个调制解调器和一个或多个网络接口设备,其包含但是不局限于网络接口卡。可以提供一条或多条总线,例如地址总线214和数据总线215,以便允许在不同的网络节点之间传输数据。
系统200还包括第一处理装置205和第二处理装置206。第一和第二处理装置可以是计算机系统,例如运行DOS或者Windows操作系统的数字计算机,并且连接到地址总线214和数据总线215。每一个处理装置205和206通常包含用于存储数据的存储装置221、用于输入数据的输入装置222和执行系统命令的中央处理单元(“CPU”)223。存储装置221可以包括计算机存储器、数据存储器诸如硬盘、CD-ROMs等。输入装置222可以是在本领域中已知的任何输入设备,例如传统的键盘。
第一处理装置205可由用户操作用于导出、输入和存储与交易Ti(i=1、......、n)有关的数据串Ci,在数据串Ci中包含一个累进的序列号Si,其表示了在支票Cj(j=1、......、n)的有序连续性中支票Ci相对于其它支票的位置。第二处理装置106可由商人操作并且响应Ci用于使一个数据项Vi与Ci相关联。第二处理装置106也可操作用于确定Vi是否满足属性Pi。例如,一组指令能够被输入到第二处理装置206的CPU 223中,以使CPU导出与Ci(或者一部分Ci)有关的数据项Vi,并且使CPU 223确定Vi是否满足属性Pi。为了使在206中的CPU 223执行下一步、,即命令向银行传送允许银行验证Vi是否满足Pi的信息Ii,这是必须满足的一个必要条件。在处理装置206中的CPU 223能够被编程为当Vi满足Pi时可有选择地操作用于向银行传输信息Ii。
系统200还包括装置240,其在Vi满足Pi时可由银行(或者另一个第五方)有选择地操作用于使第四方(其可以是商人或者另一个机构)接收款项。装置240也可以是具有CPU的计算机系统,其中该CPU能够被编程为当Vi满足Pi时可有选择地操作用于:(1)确定Smax的值,其中Smax是在进行付款时的最后的支票的序列号(并且因此是迄今为止提供给银行用于付款的任何支票上的最大的序列号);(2)命令向第四方传送付款金额CR;以及(3)使用户被借记了金额D。
总而言之,本发明的第三实施例中的微支付系统和方法提供了一个用于保证用户从不会被收取超过他实际上花费的费用的机制。这样,在第三实施例中给出的系统和方法显著地增强了用户的接受度,这在实现微支付方案的广泛接受过程中是关键因素。
IV.包含由银行控制的延期选择协议的微支付系统本发明的第四实施例提出了一种包含延期选择协议的概率性微支付方案,其中付款选择过程被延期直到银行从商人接收了对一个或多个支票的委托为止。有多种实现这种延期选择协议的方法。第一种(并且优选的)方法如下:用户创建从微支付交易T中导出并且提供了交易时间t的恰当指示的数据串或者“电子支票”C,并且在用户希望进行付款时把C发送给商人。商人把他在一给定时间间隔中(例如,在给定一天中)从一个或多个用户接收的支票Ci(i=1、......、n)分组成为m个列表Lk,其中k=1、......、m。在此m是任意的,但是可以是例如等于或者近似等于1/s的整数,其中s是期望的选择概率。最好是,每个列表包括恰好满足m个互相排斥的属性P1、...、Pm中的一个的所有支票。例如,如果m=1024,则每个列表Lk(k=1、......、m)包括依据一个确定性的散列函数H被散列的那天接收的所有支票,其中该支票被散列以生成一个其前10位是整数k-1的10位二进制扩展的值。每个列表Lk(k=1、......、m)包括lk个支票Ck1、......、Ck1k,其中1k表示在列表Lk中的数据串的数目。当在m个列表上求和时,1k当然合计达所接收的支票的总数n,即:11+......+1k+......+1m=n。商人通过计算用于Lk的委托CMk来委托每个列表Lk,并且使银行接收CMk(k=1、......、m)。
如在本领域中已知的那样,委托方案是一种允许一方向另一方传递消息而没有揭示消息的内容并且同时委托这条消息的协议。该协议允许当事人模拟在“上的盒”中传递消息的过程,借此发送方(在目前的情况下是商人)能够防止接收方(在目前的情况下是银行)知道有关在该盒子中的消息的任何事情,直到将来当向接收方给出了该盒子的钥匙时的这个时间为止。接收方在他的部分上能够防止发送方在接收方已经接收了盒子中的消息之后改变在盒子中的消息。委托方案通常包含两个阶段:第一阶段(“委托阶段”)模拟上锁的盒子的传送。当这个阶段完成时,接收方还不知道该消息,但是发送方不能再改变它。第二阶段(“解除委托阶段”)模拟密钥的传送。接收方现在可以看到该消息,并且验证在开锁了的盒子中的消息实际上是发送方他自己向其委托的消息。
在一个优选的形式中,用于Lk的委托CMk可以是散列值H(Lk),其中H是单向抗冲突散列函数。因此,从CMk中导出Lk在计算上是不可行的,并且生成两个不同的串L1k和L2k以使得H(L1k)=H(L2k)在计算上也是不可行的。
在本发明的第四实施例中提出的延期选择协议中,用于确定一特定支票Ci是否应当被选择用于付款的付款选择过程被推迟了,直到银行接收了商人对列表Lk的委托CMk(k=1、......、m)为止。这是在本发明的第四实施例中描述的微支付方案的区别特征。在收到CMk(k=1、......、m)后,银行以商人和用户不可预知的方式选择介于1和m之间的索引k。例如,银行可以数字签名所讨论的那天(例如,2001.01.01),然后用于选择这个签名的前10位。这个签名能够在提取前10位之前被散列。银行的签名能够被公开(例如,张帖在网页上)以便使每个人都能够验证k实际上是由银行在那天选择的索引。选择的索引k是支付的索引。商人通过解除委托CMk进入支票Lk的原始列表中来做出响应。做为选择,银行可以计算索引k为商人对列表Lk的委托CMk(k=1、......、m)的函数。例如,k能够是从银行的CM1、......、CMm或者H(CM1、......、CMm)或者就某一给定函数f的f(CM1、......、CMm)的签名中提取的,其中H是单向散列函数。
银行然后检查所有是合适的。例如,银行验证在解除委托的列表中的支票实际上是相对于所讨论的那天的,在该列表中没有重复的支票,在该列表中的所有支票满足属性Pk,以及如果给出用户签名则用户签名是有效的,诸如此类。如果这些条件中的任何一个都不满足,则银行可以向商人(或者用户,看情况而定--例如,由于银行发现用户已经签名了具有相同序列号的两张支票)罚款或者采取其它惩罚措施。否则,银行向商人支付在Lk中的支票的总合计值的m倍。做为选择,如果检查的列表令人满意地通过了检查,则银行可以向商人支付在所有列表中的所有支票的合计金额。如早先描述的那样,如果用户的帐户具有不足以涵盖这些支票的资金,则这些付款中的一些付款还能够被推迟。
其支票属于Lk的用户然后以多种可能方法中的一种被借记。例如,这些用户能够被借记去是他们的所选支票的面值的m倍(如在第一实施例中那样),或者是依据他们的所选支票的序列号被借记(如在第三实施例中那样)。银行可以以在先前的实施例中预见的方法进行仔细检查或者给予惩罚。银行还可以请求商人解除委托额外的列表以验证所有都是适当的或者选择一个以上的支付索引。在后者情况中,银行可以向商人支付在Lk中的支票的总合计值的m/r倍,其中r是被选择用于付款的列表的数目。在这种情况下,选择概率是r/m,而不是1/m。做为选择,银行可以检查两个或更多列表,然后向商人支付相对于在所有列表中的所有支票的合计金额。
注意到,在本发明的范围内能够循环地使用委托。例如,不是向银行发送对列表Lk(k=1、......、m)的m个委托CMk(k=1、......、m),而是商人能够向银行发送对这些m个委托的委托。例如,商人可以向银行发送单个值C=H(CM1、......、CMm),其中H是单向散列函数。在银行选择了一个(或多个)索引k之后,商人可以首先解除委托C,以便揭示CMk是什么,然后如前所述通过揭示支票的相应列表来解除委托CMk。例如,如果C=H(CM1、......、CMm),则商人可以通过揭示所有m个委托CM1、......、CMm而揭示用于CMk的正确值。银行可以单向散列这m个值,以检查生成了相同值C=H(CM1、......、CMm),然后检索第k个委托以便隔离CMk。当然,商人还可以通过向银行发送不是单个委托C而是多个委托,来送交m个委托CM1、......、CMm。例如,商人可以发送对CM1、......、CM10的一个委托,对CM10、......、CM20的第二个委托,等等。
通常,为了借助于单个值V(例如,通过单向散列函数h的V=h(V1、......、Vm))委托m个值V1、......、Vm,人们必须揭示/发送所有V1、......、Vn以仅仅解除委托Vi。如果m非常大和/或Vi非常大,则这可能是不切实际的。在本发明的系统中使用的用于委托的特别方便的方法是广义的Merkle树(generalized Merkle tree)。通过“广义的Merkle树”意味着对m个值的委托,其允许人们解除委托这些值中的刚好一个,而不必还解除委托所有其它值。
一个广义的Merkle树的特例是在美国专利No.4,309,569中由Merkle描述的众所周知的Merkle树委托方案,其通过参考被包括在此。实现Merkle树的一种方法是在可能的无向图G的节点中存储将被委托的值,其中该无向图G的某些边能够被定向,以便生成非环形的(而且通常是树状的)子图G′(最好是具有与G相同的节点),然后使用一个或多个下面的单向散列函数(例如,通过使用基于在下面的单向散列函数的一个可能可交换的单向散列),以便在每个节点中保存一个值,其中该值取决于存储在那个节点的G′中的分支处的值以及还有可能的其它值。这样,以压倒性的概率,改变至少一个或多个原始值使保存在G′的一个或多个根节点中的值也发生改变,除非是在下面的单向散列函数中的一个中已经发现了冲突。使用这种方法,存储在根节点处的值构成了对保存在图节点中的原始值的委托。此外还有关于在图表中正被委托的各个值被存储在哪里的一些限制(其能够随后被银行检查)。无论如何,商人能够使用广义的Merkle树委托CM1、......、CMm。此外,能够由散列列表Lk的广义Merkle树生成委托CMk。广义Merkle树的使用能够出现在其中使用委托的这个发明的任何方面中。
注意到,商人可能发现,向银行发送委托值CM1、......、CMm(可能是由一个或多个委托C委托的它们自己),以及其它有关列表L1、......、Lm的数值,例如在每一个这些列表中的合计金额或者在每一个这些列表中的支票数目,这是有好处的。这些其它数值能够在任何委托外进行传递。例如,商人可以向银行发送CM1、......、CMm、Q1、......、Qm,其中Qi表示“在明文”中的大量Li。这允许银行例如估算每个列表的合计金额的总和,而不必进一步解除委托。
有其它用于实现包含延期选择协议的概率性微支付方案的相关方法。在这些方法中,付款选择过程被延期,直到银行从商人接收了对商人已经从多个用户接收的一个或多个支票的委托为止。银行然后公平地和概率性地确定委托的支票中的哪些应当是可支付的。本发明的第四实施例中的延期选择协议还允许银行在欺骗方能够造成任何实质损害之前惩罚/除去他们。
图6以示意流程图的形式依据本发明第四实施例提供了对一种用于微支付交易的方法的概述。用户创建从微支付交易T中导出的数据串或者“电子支票”C,并且在用户希望进行付款时向商人发送C。在本发明的说明的实施例中,包含多个交易Ti(i=1、......、n)。用户为每个交易Ti导出支票Ci,并且使商人接收支票Ci(i=1、......、n)。商人把他已经从用户接收的支票Ci(i=1,...,n)组成为m个列表Lk,其中k=1,...,m。每一个列表Lk(k=1,...,m)包括数据串Ck1,...,Ck1k,其中1k表示在给定列表Lk中的数据串的数目。当在m个列表上求和时,1k自然被加到接收支票的总数量n,即:11+......+1k+......+1m=n商人然后通过为Lk计算委托CMk委托每一个列表Lk,并且使银行接收用于每一个k(即,为k=1,...,m)的CMk。
可以依据由商人和银行达成协议的特定规则进行把支票分组到列表中。例如,支票C可以被放置到列表Li中,其中i作为C的函数,例如通过使用C的序列号、或者从C中提取某些位、或者从C的散列中提取某些位进行计算。
每一个交易Ti最好以交易价格TVi为特征。此外,每一个数据串Ci最好包含表示从中导出Ci的交易Ti的交易价格TVi的数据。商人因此能够为每一个列表Lk确定一个合计值Vk,其中Vk由下式给出:Vk=TVk1+...+TVk1k。
换句话说,Vk表示在列表Lk中的所有数据串Ck1,...,Ck1k的合计值。在这种情况下,商人除了委托值Lk之外还可以选择性地委托值Vk。即,商人可以向列表值(V1,V2,...,Vm)提供一个附加委托CV=H(V1,V2,...,Vm),其中H是一个单向散列函数。通过解除委托CV,商人因此揭示了列表(V1,V2,...,Vm)。
在第四实施例中提出的延迟选择协议中,延迟用于确定一个特定支票Ci是否应当被选定用于付款的付款选择过程,直到银行接收了商人向列表Lk的委托CMk(k=1,...,m)为止,以及如果这个选项被选择了的话,则直到银行接收了对值Vk的委托CV为止。这个延迟是在第四实施例中描述的微支付方案的一个区别性特征。当收到CMk(k=1,...,m)(以及可选的委托CV)时,银行选择一个或多个整数索引i1,i2,...,ir,并且使商人接收选定索引i1,i2,...,ir。在本发明的第四实施例中,由银行进行的整数索引i1,...,ir选择表示确定一个支票是否被选择用于付款的选择过程。
应当注意到,值r是任意的,而且取决于银行。当有尝试欺诈的更多事件发生时,或者当有对一个特定商人的怀疑时,可以使用一个更大的值r。有时候,银行甚至可以要求商人解除委托他的所有委托(即,选择r=m)。为了具有一个从同一个用户捕捉具有相同序列号的两个支票的机会,而不是根据统计证据随后使这样一个用户出局,推荐选择r>1。
当收到索引i1,i2,...,ir时,商人解除委托那些索引对应于他接收的索引i1,i2,...,ir的委托CMk。换句话说,商人解除委托CMi1,CMi2,...,CMir,即商人使银行接收一个用于CMi1,CMi2,...,CMir的解除委托串。如果每一个CMk=H(Lk)的话,则商人由此向银行揭示Li1,Li2...,Lir。如果委托CV被预先给与银行,则商人向银行揭示列表(V1,...,Vr)。对于那些索引和银行已经选择的特定索引匹配的列表,银行能够查看包含在这些列表中的数据串,以及因此相应的合计交易价格也能够被查看。如果CV同样被解除委托了,则银行查看商人用于所有列表的、要求的合计交易价格,而不是仅仅选择的列表的合计交易价格。银行能够重新计算用于解除委托列表的合计交易价格,并且把这些值和CV的解除委托进行比较,以便检查对商人这方的欺骗。这样的检查还可能涉及检查每一个列表仅仅包含适合于包含在那个列表中的支票,以及检查在超过一个列表中出现的支票。
作为在本发明第四实施例中提出的微支付方法和系统中的最后步骤,第五方(其可以是银行,或者银行之外的实体)执行付款处理过程,即导致第四方(其可以是商人,或者商人之外的实体)接收一个贷计金额CR。在某些情况中,这样一个动作可以被延迟直到某些条件满足为止,例如在与支票创建者相关联的帐号中有足够资金。第五方还导致用户被借记一个借记金额D,该用户的每一个支票属于选择的列表Li1,Li2,...,Lir中的一个或多个。
在一个最佳形式中,由商人(或者其他第四方实体)接收的贷计金额CR最好为包含在所有m个列表中的所有支票的合计值V,即CR=V=V1+...+Vk+...Vm.
为了执行确定CR的这个方法,应当使用可选的委托CV,使得CR能够从在CR的解除委托的值中被计算得到。由银行(或者其他第五方)支付给商人的金额CR因此是由商人接收的并且被分组到m个列表Lk(k=1,...,m)中的所有支票的全部合计值。
在这个发明的一个形式中,向用户U收取的借记金额Du由一个包含在这些列表中的所有用户支票的合计值相关的值给出,这些列表的索引对应于由银行选择的索引。例如,通过用数值m/r按比例缩放这个合计值来确定值Du,选择概率s=r/m的乘法倒数:Du=(Vi1U+Vi2U+...+VirU)*(m/r),其中VkU是用户U包含在列表Lk中的支票的总合计值。
在本发明这个第四实施例的另一个版本中,每一个支票Ci包含有关序列号Si的信息。更优选地是,Si是由创建该支票的用户发布的从1开始(对于每一个用户)连续排序的顺序序列号,并且在数据串Ci的排序连续性(来自那个用户)中表示数据串Ci相对于其它数据串的位置。更优选地是,Si还表示相对于那个用户已经和这个商人一起参与的其他交易T1,...,Ti-1,以及Ti+1,...,Tn的交易Ti在时间方面的次序。
在本发明的这个形式中,使用在那些由银行选择用于付款的列表中包含的每一支票中的序列号Si确定借记金额Du。在其中每一个交易Ti具有相等值TV的情况中,对应于单个支票Ci的借记金额由下式给出:(SNi-Smax,U)*TV,其中Smax,U表示在来自用户U的最近支票上的序列号,该用户U产生了迄今为止已经被处理和被选择用于付款的Ci。一个更详细的说明出现于先前部分III中,其考虑在支票上使用序列号以消除用户被收取超过他实际花费的费用的风险。换句话说,一旦在这个第四实施例中支票的r列表被选择用于付款,假定相关的选择概率被理解为是r/m,则该支票可以以类似于在这个发明第三实施例中处理支票的方法被分别处理。
图7说明了一个系统300,其用于对n个交易T1,T2,...,Ti,...,Tn中的多个确定付款,其中每一个Ti都具有值TVi。系统300包括用于在用户、商人、银行、和第四方之间传输数据的通信装置。系统300还包括第一处理装置310、第二处理装置320、第三处理装置330、和第四处理装置340。所有四个处理装置通常都包括用于存储数据的存储装置351、用于输入数据的输入装置352、以及执行系统命令的CPU 353。
第一处理装置310由用户操作用于为每一个Ti导出、输入和存储数据串Ci(lin)。第二处理装置320由商人进行操作并且根据Ci(i=1,...n)的接收用于唯一地把所述数据串Ci(i=1,...,n)的组关联到m个列表Lk(k=1,...,m)以及用于输入和存储所述列表Lk(k=1,...,m)。每一个列表Lk都包括数据串Ck1,...,Ck1k,以及∑mk=11k=n。第二处理装置进一步由商人操作用于为每一个Lk计算委托CMk以及用于输入和存储该委托CMk(k=1,...,m)。
第三处理装置330由银行进行操作,当收到委托CMk时,用于选择一个或多个整数索引i1,i2,...ir,以及用于导致第二方接收索引i1,i2,...,ir,其中对于所有r,1≤ir≤m。第四处理装置340由商人进行操作,当收到索引i1,i2,...,ir时,用于解除委托CM,由此向银行揭示Li1,...,Lir。
系统300包含装置370,其由第三方进行操作,根据Li1,...,Lir的揭示用于导致用户被借记一个借记金额D以及用于导致第四方接收一个贷计金额CR。
在这个发明提出的每一个实施例中,诸如在蜂窝电话中的智能卡或者处理器的抗干扰硬件可以用来提供安全性。
总之,在本发明中提出的方法和系统,其1)消除了在付款选择过程中对用户商人交互作用的需要;2)把时间限制集成到系统中;3)提供了消除向用户收取过多费用的风险的选择存款协议;以及4)提供了向银行提供在付款过程上的灵活性和控制的延迟选择协议。
虽然已经通过参考具体优选实施例详细地显示和描述了本发明,但是本领域中的那些技术人员应当理解:在其中可以进行各种形式和细节中的改变而不背离由附属权利要求书所定义的本发明的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈