用于使用数字票据提供匿名性的电子商务的方法和设备的制作方法

文档序号:6649489阅读:163来源:国知局
专利名称:用于使用数字票据提供匿名性的电子商务的方法和设备的制作方法
技术领域
本发明涉及一种用于使用数字票据的电子商务的方法和设备,更具体地说,涉及这样一种用于使用数字票据的电子商务的方法和设备,通过其保证了匿名性,从而数字票据用户的信息泄露到达最小,并且促进了业务的使用。
背景技术
互联网实现了有用的信息的高效收集和处理,以及多种商品的获得和业务在线(即,无需物理接触)。因此,诸如加密的信用卡、电子现金和微支付系统的各种电子支付方案已经被设计和实现来用于电子商务。例如,在网络上的服务提供商通常发出证书以确保用户使用服务的特殊权利。这种证书被称为数字票据(digital ticket)。使用数字票据的电子商务的概念已经被公开。例如,第6,236,971号美国专利公开了一种用于使用数字票据控制数字作品的发布和使用的现有技术系统。
然而,现有技术的数字票据允许票据发放器(issuer)或服务提供商在发放和消费(consume)(例如,交出或使用)期间容易地监控和记录用户的行为,这会导致用户的敏感信息被泄露的问题。

发明内容
本发明提供一种用于使用数字票据的电子商务的方法和设备,通过其保证了匿名性从而数字票据用户的信息泄露到达最小,并且促进了业务的使用。
根据示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的方法。该方法包括生成随机数;生成包括该随机数的消息;将散列函数应用于该消息;对通过将散列函数应用于该消息获得的散列值进行隐藏;向票据发放器发送隐藏的散列值;接收在其中票据发放器已经以数字签名签署散列值的消息;对在接收的消息中的数字签名进行验证;以及向票据鉴定器发送具有验证的数字签名和通过以比散列函数已经被应用于获得散列值的次数少一次的次数将散列函数应用于该消息而获得的值的消息。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的方法,该方法包括对通过将散列函数应用于包括随机数的消息而获得的散列值进行隐藏,并向票据发放器发送隐藏的值;接收包括发送的散列值并由票据发放器以数字签名签署的消息;验证在接收的消息中的数字签名;以及向票据鉴定器发送具有验证的数字签名和通过以比散列函数已经被应用于获得散列值的次数少一次的值的次数将散列函数应用于该消息而获得的值的消息,以消费数字票据。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的方法,该方法包括接收其每一包括由票据用户生成的随机数的隐藏的消息;以数字签名签署一个接收的消息;以及向票据用户发送具有数字签名的消息。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的方法,该方法包括接收包括由票据用户生成的随机数并由票据发行器以数字签名签署的消息;验证该消息;鉴定该消息是否被重复使用;以及当该消息没有被重复使用时,向票据用户提供服务。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的方法,该方法包括接收由票据用户生成并由票据发放器以数字签名签署的散列值和用于生成该散列值的输入散列值;验证该散列值和该输入散列值;鉴定该散列值是否被重复使用;以及当该散列值没有被重复使用时,向票据用户提供服务。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的设备,该设备包括消息生成模块,用于生成随机数并生成包括该随机数的消息;消息处理模块,用于隐藏消息;以及收发器模块,用于向票据发放器发送隐藏的消息,并接收由票据发放器以数字签名签署的隐藏的消息,其中,消息处理模块验证在接收的消息中的数字签名,收发器模块向票据鉴定器发送具有数字签名的验证的消息以消费该数字票据。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的设备,该设备包括消息生成模块,用于生成随机数并生成包括该随机数的消息;散列化模块,用于将散列函数应用于该消息;消息处理模块,用于隐藏通过将散列函数应用于该消息而获得的散列值;以及收发器模块,用于向票据发放器发送隐藏的散列值,并接收在其中由票据发放器以数字签名签署的散列值的消息,其中,消息处理模块验证在接收的消息中的数字签名,收发器模块向票据鉴定器发送具有该数字签名和通过以比散列函数已经被应用于获得散列值的次数少一次的次数来应用散列函数而获得的值的验证的消息,以消费数字票据。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的设备,该设备包括收发器模块,用于接收包括由票据用户生成的随机数的隐藏的消息;以及盲签名模块,用于以数字签名签署接收的消息,其中,收发器模块向票据用户发送具有数字签名的消息。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的设备,该设备包括收发器模块,用于接收包括由票据用户生成的随机数并由票据发放器以数字签名签署的消息;数字签名验证模块,用于验证接收的消息;以及重复使用鉴定模块,用于鉴定该消息是否被重复使用。
根据另一示例性的非限定性的方面,提供一种用于使用数字票据的电子商务的设备,该设备包括收发器模块,用于接收由票据用户生成并由票据发放器以数字签名签署的散列值和用于生成该散列值的输入散列值;数字签名验证模块,用于验证在散列值中的数字签名;散列化模块,用于验证具有数字签名的散列值和输入散列值之间的关系;以及重复使用鉴定模块,用于鉴定散列值是否被重复使用。


通过参照附图对其示例性的非限定性的实施例进行的详细描述,本发明的上述和其他方面将会变得更加清楚,其中图1示出使用数字票据的电子商务的概念;图2是发放数字票据的现有技术过程的流程图;图3是消费数字票据的现有技术过程的流程图;图4是根据示例性非限定性实施例的使用数字票据的电子商务系统的框图;图5是根据另一示例性非限定性实施例的使用数字票据的电子商务系统的框图;图6是在图4所示的电子商务系统中发放仅使用一次的数字票据的过程的流程图;
图7是在图4所示的电子商务系统中消费仅使用一次的数字票据的过程的流程图;图8是在图4所示的电子商务系统中发放可多次使用的数字票据的过程的流程图;图9是在图4所示的电子商务系统中消费可多次使用的数字票据的过程的流程图;图10是在图5所示的电子商务系统中发放可多次使用的数字票据的过程的流程图;以及图11是在图5所示的电子商务系统中消费可多次使用的数字票据的过程的流程图。
具体实施例方式
通过参照下面对示例性的非限定性的实施例和附图的详细描述,本发明的优点和特征以及实现本发明的方法可更易于理解。然而,本发明可以以多种不同的形式来实施,而不应被解释为受限于在此阐释的实施例。此外,提供这些实施例从而该公开将是彻底的和完全的,并将完整地将本发明的构思传达给本领域技术人员,本发明将仅由所附权利要求定义。在说明书中,相同的标号始终指示相同的部件。
现将参照在其中示例性的非限定性实施例被示出的附图来更完整地描述本发明。
图1示出使用数字票据的电子商务的概念。数字票据是向票据持有者保证请求在票据中指定的服务的权利的数字证书。通常,数字票据指示包含关于票据用户的信息和关于在联合协定下定义的服务权利的信息并且以票据发放器的数字签名签署的消息。在使用数字票据的电子商务中的参与者大致分为三种类型票据发放器110、票据用户120、以及票据鉴定器(或服务提供商)130。
票据发放器110生成数字票据,以数字签名签署数字票据,并发放该数字票据。票据用户120使用将被提供服务的数字票据。票据鉴定器130验证数字票据的有效性并提供在数字票据中指定的服务。票据发放器110和票据鉴定器130可以相同,也可不同,这取决于具体的实际应用。使用数字票据的电子商务的典型的机制包括票据用户120关于票据购买与票据发放器110达成协定,并根据该协定获得由票据发放器110发放的数字票据的操作;以及票据用户120消费(即,交出或使用)数字票据并接收由票据鉴定器130提供的服务的操作。
图2是发放数字票据的现有技术过程的流程图。在操作S210中,票据用户120和票据发放器110关于票据发放达成协定。在操作S220中,票据发放器110生成消息,该消息包含关于票据发放器110的信息、用于防止数字票据的重复使用的计数值、以及数字票据可被使用的次数(下文中被称为票据可用计数)。接下来,票据发放器110在操作S230中使用其私钥以数字签名签署该消息,并在操作S240中向票据用户110发送签署的消息。
接下来,在操作S250中,票据用户120使用票据发放器110的公钥对以数字签名签署的消息(即,从票据发放器110接收的数字票据)进行解码,并验证数字签名是否是已经由票据发放器110写入的,或验证服务内容是否与先前达成协定的内容相符。如果验证成功,则在操作S260中,票据用户120存储数字票据。然而,如果数字签名不是已经由票据发放器110写入的,或者服务内容与先前协商的内容不符,则在操作S270中,票据用户120向票据发放器110发送报错消息。
图3是消费数字票据的现有技术过程的流程图。在操作S310中,票据用户120向票据鉴定器(或服务提供商)130发送存储在其中的数字票据以接收服务。在操作S320中,票据鉴定器130使用票据发放器110的公钥对数字票据进行解码,以验证数字票据是否有效。如果数字票据被验证为有效,则为了鉴定数字票据是否被重复使用,票据鉴定器130在操作S330中从数字票据中提取用于防止重复使用的计数值,并在操作S340中在数据库(DB)中搜索该计数值。
如果该计数值没有出现在DB中,则当前使用是数字票据的第一次使用。因此,在操作S350中,票据鉴定器130将计数值存储在DB中,并向票据用户120提供服务。如果数字票据可多次使用,则在操作S360中,票据鉴定器130发放票据可用计数减少了1的新的票据。票据可用计数减少了1的新的票据通过图2所示的过程被发放。同时,如果该计数值已经出现在DB中,则由于该数字票据已经被使用,所以票据鉴定器130可向票据使用者120发送拒绝消息。
根据分别在图2和3中所示的现有技术票据发放和消费过程,票据发放器110和票据鉴定器130可获得票据用户120的信息。其结果是,没有保证票据用户120的匿名性,使用服务的票据用户120的行为可被监控。因此,期望保证票据用户120的匿名性的数字票据的概念。
图4是根据示例性的非限定性实施例的使用数字票据的电子商务系统的框图。该电子商务系统包括票据用户410、票据发放器430、以及票据鉴定器450。
包括数字票据的内容的消息由票据用户410生成,以保证票据用户410的匿名性。换句话说,票据用户410生成包含用于防止重复使用数字票据的唯一随机数和关于票据发放器430的信息的消息。当数字票据可多次使用时,该消息可包括票据可用计数,当数字票据仅可使用一次时,该消息可不包括票据可用计数。如上所述,票据发放器430和票据鉴定器450可以是相同的物理装置,或可以是不同的物理装置,这取决于实现方式。票据用户410包括消息生成模块411、消息处理模块412、收发器模块413、以及存储模块414。在用于电子商务的设备中,部件和模块可被实现为再现一个或多个中央处理单元(CPU)。
这里使用的术语“模块”是指,但不限于软件或诸如执行特定任务的现场可编程门阵列(FPGA)或专用集成电路(ASIC)的硬件。模块可有利地被配置为驻留在可寻址存储介质中,并且被配置为由一个或多个处理器执行。因此,作为示例,模块可包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、进程、函数、属性、程序、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组、以及变量。在组件和模块中提供的功能可被组合成更少的组件和模块,或还可被分成其它的组件和模块。此外,组件和模块可按其由在通信系统中的一个或多个CPU执行的方式而被实现。
消息生成模块411生成将被包含在数字票据中的唯一随机数,生成包含该随机数、关于票据发放器430的信息、以及当数字票据可多次使用时的票据可用计数的消息,并向消息处理模块412提供该消息。消息处理模块412隐藏由消息生成模块411生成的消息,验证由票据发放器430盲签署的在消息中的数字签名,并对隐藏的信息进行解盲以提取具有解盲的数字签名的消息,即数字票据。存储模块414存储由消息处理模块412提取的数字票据。收发器模块413发送和接收消息。
票据发放器430包括收发器模块431、消息验证模块432、以及盲签名模块433。
收发器模块431接收从票据用户410的收发器模块413发送的消息,并向票据用户410发送由盲签名模块433盲签署的消息。当从票据用户410接收的消息是盲的或被加密的消息时,消息验证模块432对消息进行解盲或解码,并验证消息的内容是否与先前协定的内容相符。盲签名模块433以盲签名签署由消息验证模块432验证的消息。
票据鉴定器450包括收发器模块451、存储模块452、重复使用鉴定模块453、以及数字签名验证模块454。
收发器模块451从票据用户410接收数字票据,并当接收的数字票据的票据可用计数具有至少是2的值时,向票据用户410发送请求发放票据可用计数减少了1的消息。数字签名验证模块454通过使用票据发放器430的公钥对数字票据进行解码来验证在从收发器模块451接收的数字票据中的数字签名是否是已经由票据发放器430写入的。重复使用鉴定模块453鉴定从票据用户410接收的数字票据是否已经被消费。
重复使用鉴定模块453从数字票据中提取用于防止重复使用的随机数,并在存储模块452中搜索该随机数。如果该随机数没有出现在存储模块452中,则由于这是第一次使用数字票据,所以重复使用鉴定模块453将该随机数存储在存储模块452中。这里,可使用现有技术数据加密算法来执行隐藏。可使用诸如基于RSA的盲签名方案或基于DLP的盲签名方案的公知的盲签名方案来实现盲签名。稍后将参照图6到9来描述图4中示出的根据示例性的非限定性的实施例的电子商务系统的详细操作。
图5是根据另一示例性的非限定性实施例的使用数字票据的电子商务系统的框图。该电子商务系统包括票据用户510、票据发放器530、以及票据鉴定器550。
票据用户510包括消息生成模块511、散列化模块512、消息处理模块513、收发器模块514、以及存储模块515。
消息生成模块511生成将被包含在数字票据中的唯一随机数,生成包含该随机数和关于票据发放器530的信息的消息,并将该消息提供给散列化模块512。散列化模块512通过按(票据可用计数+2)的次数连续地将单向散列函数应用于该消息来生成散列值。消息处理模块513隐藏由散列化模块512生成的散列值,验证在该消息中的由票据发放器530盲签署的数字签名,并对隐藏的消息解盲以提取具有解盲的数字签名的消息。存储模块515存储由消息处理模块513提取的具有解盲的数字签名的消息。收发器模块514接收和发送消息。
票据发放器530包括收发器模块531、消息验证模块532、以及盲签名模块533。
收发器模块531接收从票据用户510的收发器模块514发送的消息,并将由盲签名模块533盲签署的消息发送到票据用户510。消息验证模块532对从票据用户510发送的消息进行解盲或解码,并验证该消息的内容是否与先前协定的内容相符。盲签名模块533以盲签名签署由消息验证模块532验证的消息。
票据鉴定器550包括收发器模块551、存储模块552、重复使用鉴定模块553、数字签名验证模块554、以及散列化模块555。
收发器模块551从票据用户510接收数字票据,并当接收的数字票据的票据可用计数至少是2时,将与票据可用计数减少了1的数字票据相应的消息发送到票据用户510。数字签名验证模块554通过使用票据发放器530的公钥对数字票据进行解码来验证在从收发器模块551接收的数字票据中的数字签名是否是已经由票据发放器530写入的。散列化模块555确定从票据用户510接收的两个散列值之间是否具有正确的关系。
稍后将参照图11详细描述散列化模块550的这种操作。重复使用鉴定模块553鉴定从票据用户510接收的数字票据是否已经被消费。重复使用鉴定模块553在存储模块552中搜索从票据用户510发送的散列值。如果该散列值没有出现在存储模块552中,则由于这次是第一次使用该数字票据,所以重复使用鉴定模块553将该散列值存储在存储模块552中。
稍后将参照图10和11描述图5示出的根据示例性的非限定性的实施例的电子商务系统的详细操作。
图6是在图4所示的电子商务系统中发放仅可使用一次的数字票据的过程的流程图。可使用盲签名来设计仅可使用一次的数字票据。
在操作S610中,票据用户410和票据发放器430关于仅可使用一次的数字票据的发放达成协定。票据用户410在操作S615中通过消息生成模块411生成唯一随机数“r”,其被用于重复使用鉴定,并在操作S620中生成包含该随机数“r”和关于票据发放器430的信息的消息。票据用户410在操作S625中使用消息处理模块412来隐藏该消息,并在操作S630中通过收发器模块413向票据发放器430发送该隐藏的消息。
票据发放器430在操作S635中通过收发器模块431接收隐藏的消息,在操作S640中使用其私钥通过盲签名模块433来以盲签名签署该消息,并在操作S645中通过收发器模块431将具有盲签名的消息发送到票据用户410。
票据用户410在操作S650中从票据发放器430接收该数字票据,并在操作S655中经过消息处理模块412通过使用票据发放器430的公钥对数字票据进行解码来验证在数字票据中的数字签名是否是已经由票据发放器430写入的。如果验证成功,则在操作S660中,票据用户410对该消息进行解盲以提取具有数字签名的消息,并将具有该数字签名的消息存储在存储模块414中。
图7是在图4所示的电子商务系统中消费仅可使用一次的数字票据的过程的流程图。通过图6所示的过程发放的数字票据如下被消费。
在操作S710中,票据用户410向票据鉴定器450发送存储在其中的具有数字签名的消息。票据鉴定器450在操作S720中接收该消息,并在操作S730中经过数字签名验证模块454通过使用票据发放器430的公钥对消息解码来验证在消息中的数字签名是否是已经由票据发放器430写入的。如果数字签名是已经由票据发放器430写入的,则在操作S740和S750中,票据鉴定器450通过重复使用鉴定模块453执行重复使用鉴定。如果确定该消息是新的数字票据,则在操作S760中,票据鉴定器450向票据用户410提供与数字票据的权利相应的服务,并消费该数字票据。
通过鉴定从票据用户410发送的消息中包含的随机数“r”是否与先前消费的数字票据的随机数之一相同来执行重复使用鉴定。
更具体地说,票据鉴定器450在操作S740中从该消息中提取随机数“r”,并在操作S750中在存储模块452中搜索该随机数“r”。如果该随机数“r”没有出现在存储模块452中,则在操作S760中,票据鉴定器450将该随机数“r”存储在存储模块452中,并向票据用户410提供与该数字票据的权利相应的服务。
同时,如果随机数“r”出现在存储模块452中,则由于该数字票据被重复使用,所以票据鉴定器450可拒绝该数字票据的消费。
图8是在图4所示的电子商务系统中发放可使用多次的数字票据的过程的流程图。在操作S810中,票据用户410和票据发放器430关于可使用多次的数字票据的发放达成协定。
票据用户410在操作S815中通过消息生成模块411生成K个唯一的随机数“ri”,其被用于重复使用鉴定,并在操作S820中生成其每一包括随机数“ri”、关于票据发放器430的信息、以及票据可用计数的K个消息。票据用户410在操作S825中使用消息处理模块412隐藏所述K个消息,并在操作S830中通过收发器模块413向票据发放器430发送所述K个隐藏的消息。
票据发放器430在操作S835中通过收发器模块431接收所述K个消息,并在操作S840中通过消息验证模块432来验证包含在所述K个消息中的信息。如果所述K个消息被验证,则票据发放器430在操作S845中经过盲签名模块433使用其私钥以盲签名签署K个消息之一,并在操作S850中通过收发器模块431向票据用户410发送具有盲签名的消息(即,数字票据)。
票据用户410在操作S855中从票据发放器430接收该数字票据,并在操作S860中经过消息处理模块412通过使用票据发放器430的公钥对数字票据解码来验证在数字票据中的数字签名是否是已经由票据发放器430写入的。如果验证成功,则在操作S865中,票据用户410对该消息解盲以提取具有该数字签名的消息,并将具有该数字签名的消息存储在存储模块414中。
操作S845如下被执行。消息验证模块432从K个消息中随机地选择一个消息,并从票据用户410请求用于对剩余(K-1)个消息进行解盲的解盲密钥值。消息验证模块432使用解盲密钥值对所述(K-1)个消息进行解盲,并验证被包含在该(K-1)个消息的每一个中的信息(即票据可用计数)是否与在操作S810中达成的协定的内容相符。
如果被包含在(K-1)个消息中的信息与协定的内容相符,则可假定被随机选择的一个消息也包含正确的信息,因此,消息验证模块432将所述被选择的一个消息发送到盲签名模块433。当选择合适的K时,从K个消息中选择一个消息的概率是1/2K。其结果是,对票据用户410来说,难以预测将由票据发放器430选择的消息,因此,几乎不可能对票据可用计数等进行欺诈。K指示随机数的数量,并可根据诸如网络的安全状态和请求的安全级别的环境因素而被相应地确定。
如上所述,仅有除了由票据发放器430随机选择的消息之外的消息被公开给公众,而选择的消息由票据发放器430的盲签名模块433在盲状态中以数字签名进行签署,其后向票据用户410发送。因此,票据用户信息在数字票据的发放期间没有被泄露。
图9是在图4所示的电子商务系统中消费可多次使用的数字票据的过程的流程图。通过图8所示的过程发放的数字票据如下被消费。
在操作S910中,票据用户410向票据鉴定器450发送存储在其中的具有数字签名的消息。票据鉴定器450在操作S920中接收该消息,并在操作S930中经过数字签名验证模块454通过使用票据发放器430的公钥对该消息进行解码来验证在消息中的数字签名是否是已经由票据发放器430写入的。
如果数字签名是已经由票据发放器430写入的,则在操作S940和S950中,票据鉴定器450通过重复使用鉴定模块453执行重复使用鉴定。如果确定消息是新的数字票据,则在操作S960中,票据鉴定器450向票据用户410提供与该数字票据的权利相应的服务,并消费该数字票据。
通过鉴定从票据用户410发送的消息中包含的随机数“ri”与先前消费的数字票据的随机数之一是否相同来执行重复使用鉴定。更具体地说,票据鉴定器450在操作S940中从该消息中提取随机数“ri”,并在操作S950中在存储模块452中搜索该随机数“ri”。如果随机数“ri”没有出现在存储模块452中,则在操作S960中,票据鉴定器450将随机数“ri”存储在存储模块452中,并向票据用户410提供与该数字票据的权利相应的服务。其后,票据鉴定器450请求票据发放器430发放票据可用计数减少了1的数字票据。同时,如果随机数“ri”出现在存储模块452中,则由于该数字票据被重复地使用,所以票据鉴定器450可拒绝该数字票据的消费。
图10是在图5所示的电子商务系统中发放可多次使用的数字票据的过程的流程图。在图10所示的示例性的非限定性的实施例中,不是将票据可用计数嵌入消息,而是通过将散列函数与票据可用计数成比例地应用于该消息而获得的值被发送和接收。与图8所示的示例性的非限定性实施例不同的是,用户匿名性得到保证,并且关于票据可用计数的信息没有被泄露。根据图10所示的示例性的非限定性的实施例的发放数字票据的过程描述如下。
在操作S1010中,票据用户510和票据发放器530关于可多次使用的数字票据的发放达成协定。票据用户510在操作S1015中通过消息生成模块511生成K个随机数“ri”,并在操作S1020中生成其每一包含随机数“ri”和关于票据用户510的信息的K个消息Mi。在操作S1025中,票据用户510经过散列化模块512生成通过将散列函数按与(票据可用计数+2)的值相同的次数应用于所述K个消息Mi中的每一个获得的值。票据用户510在操作S1030中使用消息处理模块513来隐藏所述K个消息,并在操作S1035中通过收发器模块514向票据发放器530发送K个隐藏的消息Mi。
票据发放器530在操作S1040中通过收发器模块531接收K个消息Mi,并在操作S1045中通过消息验证模块532验证包含在K个消息Mi中的信息。如果K个消息Mi被验证,则票据发放器530在操作S1050中通过盲签名模块533使用其私钥以盲签名签署K个消息Mi之一,并在操作S1055中通过收发器模块531向票据用户510发送具有该盲签名的消息。
票据用户510在操作S1060中从票据发放器530接收具有盲签名的消息,并在操作S1065中经过消息处理模块513通过使用票据发放器530的公钥对该消息进行解码来验证在消息中的数字签名是否是已经由票据发放器530写入的。如果验证成功,则在操作S1070中,票据用户510对该消息进行解盲以提取具有该数字签名的消息,并将具有该数字签名的消息存储在存储模块515中。
操作S1025将被详细描述。以Xi,0表示通过将公知的单向散列函数H一次应用于消息Mi获得的值。散列化模块512按与(票据可用计数+2)的值相同的次数连续地将散列函数H应用于消息Mi,并获得以下连续的值Xi,0、Xi,1、Xi,2、……、Xi,n、Xi,n+1。这里,当“j”是在1到n+1范围的数字时,满足Xi,j=H(Xi,j-1)。票据用户510在操作S1030中隐藏关于从1到K的每一个“i”的每一Xi,n+1,并在操作S1035中向票据发放器530发送每一隐藏的Xi,n+1。在散列状态中,散列函数H按与(票据可用计数+2)的值相同的次数被应用,以保护数字票据的内容,直到数字票据被消费到与票据可用计数相同的次数。
为了鉴定票据用户510是否对数字票据进行欺诈,票据发放器530如下执行操作S1045。票据发放器530的消息验证模块532从K个消息Mi中随机地选择一个消息,并请求票据用户510向公众公开剩余的(K-1)个消息。票据用户510向票据发放器530发送关于每一请求的(K-1)个消息的随机数“ri”和对隐藏的Xi,n+1进行解盲的解盲密钥。票据发放器530的消息验证模块532验证使用解盲密钥公开的Xi,n+1是否与通过执行与由票据用户510使用接收的ri和散列函数H执行的操作相同的操作生成的散列值相符,以确定所述(K-1)个消息是否正确。如果所述(K-1)个消息被确定为正确,则消息验证模块532将所述被选择的一个消息发送到盲签名模块533。当K被合适地选择时,从K个消息中选择一个消息的概率是1/2K。其结果是,票据用户510难以预测将由票据发放器530选择的消息。因此,几乎不可能对票据可用计数等进行欺诈。指示随机数的数量的K可根据诸如网络的安全状态和请求的安全级别的环境因素而被适应地确定。
如上所述,仅有除了由票据发放器530随机选择的消息之外的消息被公开给公众,而选择的消息由票据发放器530的盲签名模块533在盲状态以数字签名进行签署,并且接下来向票据用户510发送。因此,票据用户信息在数字票据的发放期间没有被泄露。
图11是在图5所示的电子商务系统中消费可使用多次的数字票据的过程的流程图。通过图10所示的过程发放的数字票据如下被消费。
在操作S1110中,票据用户510向票据鉴定器550发送消息Xi,n和具有数字签名的消息Xi,n+1。票据鉴定器550在操作S1120中接收所述消息,并在操作S1130中经过数字签名验证模块554通过使用票据发放器530的公钥对消息进行解码来验证在消息Xi,n+1中的数字签名是否是已经由票据发放器530写入的。同时,在操作S1130中,票据鉴定器550的散列化模块555验证Xi,n+1=H(Xi,n)的关系是否实现。如果两个验证都成功,则在操作S1140和S1150中,票据鉴定器550通过重复使用鉴定模块553执行重复使用鉴定。如果确定消息Xi,n+1是新的数字票据,则在操作S1160中,票据鉴定器550向票据用户510提供与该数字票据的权利相应的服务并消费给数字票据。
通过鉴定从票据用户510发送的Xi,n+1是否是未曾使用过的新值来执行重复使用鉴定。更具体地说,在操作S1140中,票据鉴定器550在存储模块552中搜索Xi,n+1。如果Xi,n+1没有在存储模块552中出现,则在操作S1150中,票据鉴定器450将Xi,n+1存储在存储模块552中,并向票据用户510提供与该数字票据的权利相应的服务。其后,在操作S1160中,票据鉴定器550以数字签名签署可被用作票据可用计数减少了1的数字票据的消息Xi,n,其后向票据用户510发送消息Xi,n。同时,如果Xi,n+1出现在存储模块552中,则由于数字票据被重复使用,所以票据鉴定器550可拒绝该数字票据的消费。
此外,使用数字票据的电子商务系统的前述方法可在计算机可读介质、或数据载波中被实现。更具体地说,计算机可读介质包括一系列指令(如计算机程序)。所述指令包括关于前述方法讨论的步骤。其结果是,除了前述公开之外,本发明可实现为软件。
本发明的用于使用数字票据的电子商务系统的方法和设备至少提供以下优点。例如,该方法和设备保证匿名性,从而使数字票据用户的信息最少地被泄露,并促进服务的使用。
虽然已参照其示例性实施例具体示出和描述了本发明,但本领域技术人员将理解,在不脱离由权利要求定义的本发明的精神和范围的情况下,可对其在形式和细节上做出改变。因此,应理解上述实施例仅在描述性的意义上被提供,而不应被解释为对本发明的范围进行限制。
权利要求
1.一种用于使用数字票据的电子商务的方法,该方法包括隐藏包括随机数的消息,并向票据发放器发送隐藏的消息;接收由票据发放器以数字签名签署的隐藏的消息;验证在该消息中的数字签名;以及向票据鉴定器发送具有验证的数字签名的消息以消费数字票据。
2.如权利要求1所述的方法,其中,所述消息包括随机数和票据可用计数。
3.一种用于使用数字票据的电子商务的方法,该方法包括将散列函数应用于包括随机数的消息以获得散列值;隐藏所述散列值并向票据发放器发送隐藏的散列值;从票据发放器接收包括由该票据发放器以数字签名签署的散列值的消息;验证在所述接收的消息中的数字签名;以及向票据鉴定器发送验证的消息和通过按以下次数将散列值应用于验证的消息而获得的值以消费数字票据,其中,所述次数为(a)比散列函数已经被应用于获得散列值的次数少一次的值,以及(b)与票据可用计数成比例的值两者中的一个。
4.如权利要求3所述的方法,其中,包括随机数的消息包括关于票据用户的信息。
5.一种用于使用数字票据的电子商务的方法,该方法包括接收其每一包括由票据用户生成的随机数的隐藏的消息;以数字签名签署所述接收的消息之一;以及向票据用户发送具有该数字签名的消息。
6.如权利要求5所述的方法,还包括验证接收的隐藏的消息,其中,签名包括以数字签名签署所述验证的消息。
7.如权利要求6所述的方法,其中,接收的消息的验证包括从票据用户请求并接收对除了在接收的消息中的一个消息之外的剩余消息进行解盲的解盲密钥;以及使用解盲密钥对所述剩余消息进行解盲,并验证包含在所述剩余消息中的信息。
8.如权利要求6所述的方法,其中,接收的消息的验证包括从票据用户请求并接收对除了在所述接收的消息中的一个消息之外的剩余消息和在每一所述剩余消息中的随机数进行解盲的解盲密钥;以及基于通过使用解盲密钥对所述剩余消息进行解盲而获得的值是否与使用被包括在所述剩余消息中的随机数生成的值相符来验证包含在所述剩余消息中的信息。
9.一种用于使用数字票据的电子商务的方法,该方法包括接收包括由票据用户生成的随机数并由票据发放器以数字签名签署的消息;验证该消息;鉴定该消息是否被重复使用;以及如果该消息没有被重复使用,则向票据用户提供服务。
10.如权利要求9所述的方法,其中,消息的验证包括验证数字签名。
11.如权利要求9所述的方法,其中,所述鉴定包括从消息中提取随机数;在存储模块中搜索该随机数;以及如果该随机数没有出现在存储模块中,则将该随机数存储在存储模块中。
12.如权利要求9所述的方法,还包括请求票据用户生成票据可用计数的减少了1的消息。
13.一种用于使用数字票据的电子商务的方法,该方法包括接收由票据用户产生并由票据发放器以数字签名签署的生成的散列值,以及用于产生所述生成的散列值的输入散列值;验证生成的散列值和输入散列值;鉴定生成的散列值是否被重复使用;以及如果生成的散列值没有被重复使用,则向票据用户提供服务。
14.如权利要求13所述的方法,其中,验证包括验证数字签名;以及验证具有该数字签名的生成的散列值与输入散列值是否具有正确的关系。
15.如权利要求13所述的方法,其中,鉴定包括在存储模块中搜索生成的散列值;以及如果所述生成的散列值没有出现在存储模块中,则将所述生成的散列值存储在存储模块中。
16.如权利要求13所述的方法,还包括以数字签名签署输入散列值,并向票据用户发送具有数字签名的输入散列值。
17.一种用于使用数字票据的电子商务的设备,该设备包括消息生成模块,用于生成随机数和包括该随机数的消息;消息处理模块,用于隐藏该消息;以及收发器模块,用于向票据发放器发送隐藏的消息,并接收由票据发放器以数字签名签署的隐藏的消息;其中,消息处理模块验证在接收的消息中的数字签名,收发器模块向票据鉴定器发送具有该数字签名的验证的消息,以消费数字票据。
18.一种用于使用数字票据的电子商务的设备,该设备包括消息生成模块,用于生成随机数并生成包括该随机数的消息;散列化模块,用于将散列函数应用于该消息以获得散列值;消息处理模块,用于所述隐藏散列值;以及收发器模块,用于向票据发放器发送隐藏的散列值并接收所述消息,其中,散列值由票据发放器以数字签名进行签署;其中,消息处理模块验证在接收的消息中的数字签名,收发器模块向票据鉴定器发送具有数字签名的验证的消息和通过按比散列函数已经被应用以于获得散列值的次数少一次的次数来应用散列函数而获得的值,以消费数字票据。
19.一种用于使用数字票据的电子商务的设备,该设备包括收发器模块,用于接收包括由票据用户生成的随机数的隐藏的消息;以及盲签名模块,用于以数字签名签署接收的消息;其中,收发器模块向票据用户发送具有数字签名的消息。
20.一种用于使用数字票据的电子商务的设备,该设备包括收发器模块,用于接收包括由票据用户生成的随机数并由票据发放器以数字签名签署的消息;数字签名验证模块,用于验证接收的消息;以及重复使用鉴定模块,用于鉴定消息是否被重复使用。
21.一种用于使用数字票据的电子商务的设备,该设备包括收发器模块,用于接收由票据用户生成并由票据发放器以数字签名签署的散列值,以及用于生成所述散列值的输入散列值;数字签名验证模块,用于验证在散列值中的数字签名;散列化模块,用于验证具有数字签名的散列值和输入散列值之间的关系;以及重复使用鉴定模块,用于鉴定散列值是否被重复使用。
22.一种用于存储执行用于使用数字票据的电子商务的方法的程序的计算机可读介质,该方法包括隐藏包括随机数的消息,并向票据用户发送隐藏的消息;接收由票据发放器以数字签名签署的隐藏的消息;验证在消息中的数字签名;以及向票据鉴定器发送具有验证的数字签名的消息以消费数字签名。
23.一种用于存储执行用于使用数字票据的电子商务的方法的程序的计算机可读介质,该方法包括将散列函数应用于包括随机数的消息以获得散列值;隐藏所述散列值,并向票据发放器发送隐藏的散列值;从票据发放器接收包括由票据发放器以数字签名签署的散列值的消息;验证在接收的消息中的数字签名;以及向票据鉴定器发送验证的消息和通过按比散列函数被应用以获得散列值的次数少一次的值的次数将散列函数应用于验证的消息而获得的值,以消费数字票据。
24.一种用于存储执行用于使用数字票据的电子商务的方法的程序的计算机可读记录介质,该方法包括接收每一包括由票据用户生成的随机数的隐藏的消息;以数字签名签署所述接收的消息之一;以及向票据用户发送具有该数字签名的消息。
25.一种用于存储执行用于使用数字票据的电子商务的方法的程序的计算机可读记录介质,该方法包括接收包括由票据用户生成的随机数并由票据发放器以数字签名签署的消息;验证该消息;鉴定该消息是否被重复使用;以及如果该消息没有被重复使用,则向票据用户提供服务。
26.一种用于存储执行用于使用数字票据的电子商务的方法的程序的计算机可读记录介质,该方法包括接收由票据用户生成并由票据发放器以数字签名签署的生成的散列值,以及用于产生所述生成的散列值的输入散列值;验证生成的散列值和输入散列值;鉴定生成的散列值是否被重复使用;以及如果生成的散列值没有被重复使用,则向票据用户提供服务。
全文摘要
提供一种用于使用数字票据的电子商务的方法和设备。所述用于使用数字票据的电子商务的方法包括隐藏包括随机数的消息并向票据发放器发送隐藏的消息;接收由票据发放器以数字签名签署的隐藏的消息;验证在消息中的数字签名;以及向票据鉴定器发送具有验证的数字签名的消息以消费数字票据。
文档编号G06Q50/26GK1763760SQ20051010951
公开日2006年4月26日 申请日期2005年10月19日 优先权日2004年10月19日
发明者金亨植 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1