CN104717067B - 基于非交互式零知识的安全验证方法、设备及系统 - Google Patents
基于非交互式零知识的安全验证方法、设备及系统 Download PDFInfo
- Publication number
- CN104717067B CN104717067B CN201310694762.1A CN201310694762A CN104717067B CN 104717067 B CN104717067 B CN 104717067B CN 201310694762 A CN201310694762 A CN 201310694762A CN 104717067 B CN104717067 B CN 104717067B
- Authority
- CN
- China
- Prior art keywords
- identity
- key information
- local node
- certificate
- equipment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012795 verification Methods 0.000 title claims abstract description 75
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 51
- 238000012546 transfer Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 25
- 230000003993 interaction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于非交互式零知识的安全验证方法、设备及系统,涉及电子安全验证领域。方法包括:分别生成中央节点设备和各地方节点设备的公密钥和私密钥;任一地方节点设备I以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;中央节点设备根据中央节点设备的私密钥、地方节点设备I的身份ID和身份承诺值发放证书信息到地方节点设备I;地方节点设备I以证书信息为承诺对象得到证书承诺值后,构建基于证书承诺值的非交互式零知识证明,并根据非交互式零知识证明、地方节点设备I的公密钥和私密钥对业务上的关键信息进行签名;地方节点设备I将签名的业务上的关键信息发送到验证设备。
Description
技术领域
本发明涉及通信技术中的电子安全验证领域,特别涉及一种基于非交互式零知识的安全验证方法、设备及系统。
背景技术
随着中国移动通讯技术的迅速发展,电子商务应运而生,并在近年不断推进移动金融、移动电子商务、手机支付及手机钱包等多项创新业务。但在现有电子商务支付手段中,电子现金是能够在网络环境下模拟现实生活中真实现金流通而制造的电子货币,相比于信用卡等支付手段具有匿名性、不可跟踪、通用性、持有风险小等优点,并且具有真实货币不具备的不可伪造性、节省交易和传输费用的特点。然而,简单使用数据来代表的电子货币很容易被他人篡改和仿造,因此如何使用安全手段来构造匿名的、不可跟踪的电子现金系统成为移动电子商务业务建设过程中需要解决的问题。
目前使用移动支付设备实现电子现金充值的方法,如在一篇公开号为“CN200610121840.9”的中国专利申请文件中公开了一种移动支付设备电子现金充值的安全验证系统、装置及方法。该系统包括支付管理服务器,移动终端,以及离线支付装置;所述支付管理服务器包括第一安全验证单元,用于传送给离线支付装置的充值信息和帐户扣减成功信息加密和签名,并在加密传输通道上传输给离线支付装置;同时将收到的反馈应答信息验证签名并解密;所述离线支付装置包括安全单元,用于将充值信息和帐户扣减成功信息验证签名和解密;同时,将根据充值信息而产生的反馈应答信息加密和签名,并在加密传输通道上传输给支付管理服务器。本发明还公开了一种移动支付设备电子现金充值的安全验证装置及方法。其保证移动支付设备电子现金充值的有效性。
但是,现有的电子现金安全验证实现技术存在如下缺陷:首先,无法有效保证电子现金交易对象身份的匿名性。支付服务器保留交易痕迹,银行与商家可以跟踪顾客对电子现金的使用,即客户交易后不能隐瞒将钱付给谁了,但在实际电子商务中,为了保证信息安全,人们往往不愿意将自己的电子信息处于银行的监督之下,希望在支付完成后,接受一方无法追踪支付的一方。其次,无法确保电子现金的不可伪造性,具体包括顾客不能凭空或根据已有电子现金信息造出有效的电子现金;并且该方案无法提供电子现金的可传递性,顾客不能将电子现金像普通现金一样借给别人且不被跟踪。此外在已有方案中支付服务器与移动终端之间需要多次信息交互,移动支付设备必须得到支付装置对电子现金的在线验证后,才能获知交易是否成功,这种方式并不适用小额电子现金的支付过程;最后,现有技术不能检查出电子现金的重复花费问题。
发明内容
为了解决现有技术中对电子交易中的信息进行安全验证时必须在线执行,且需要实名验证所导致的安全性差、身份可追踪、不能检查重复交易等的技术问题,本发明提供一种基于非交互式零知识的安全验证方法及系统。
一种基于非交互式零知识的安全验证方法,包括:
根据输入的安全参数分别生成中央节点设备和各地方节点设备的公密钥和私密钥;
各地方节点设备中的任一地方节点设备I以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;中央节点设备根据中央节点设备的私密钥、所述地方节点设备I的身份ID和身份承诺值发放证书信息到所述地方节点设备I;
所述地方节点设备I以所述证书信息为承诺对象得到证书承诺值后,构建基于所述证书承诺值的非交互式零知识证明,并根据所述非交互式零知识证明、所述地方节点设备I的公密钥和私密钥对业务上的关键信息进行签名;所述地方节点设备I将签名的所述业务上的关键信息发送到验证设备;
所述验证设备通过对所述签名进行验证确定所述业务上的关键信息的安全有效性。
一种地方节点设备,包括:
获取单元,用于获取中央节点设备生成的地方节点设备的公密钥和私密钥;
承诺单元,用于以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;
证明单元,用于接收中央接收设备发放的证书信息,以所述证书信息为承诺对象得到证书承诺值后,构建基于所述证书承诺值的非交互式零知识证明,并根据所述非交互式零知识证明、所述地方节点设备I的公密钥和私密钥对业务上的关键信息进行签名;再将签名的所述业务上的关键信息发送到验证设备。
一种基于非交互式零知识的安全验证系统,包括中央节点设备、至少一个地方节点设备和验证设备;其中,
所述中央节点设备,用于根据输入的安全参数分别生成中央节点设备和各地方节点设备的公密钥和私密钥;接收各地方节点设备中的任一地方节点设备I的身份ID和身份承诺值,并根据中央节点设备的私密钥、所述地方节点设备I的身份ID和身份承诺值发放证书信息到所述地方节点设备I;
所述地方节点设备,用于以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;接收中央节点设备发放的证书信息,并以所述证书信息为承诺对象得到证书承诺值后,构建基于所述证书承诺值的非交互式零知识证明,并根据所述非交互式零知识证明、所述地方节点设备的公密钥和私密钥对业务上的关键信息进行签名;以及将签名的所述业务上的关键信息发送到验证设备;
所述验证设备,用于通过对所述签名进行验证确定所述业务上的关键信息的安全有效性。
本发明提供上述方案,可定义为是一种GSBRP方法,支持离线的多地方节点设备同时存在发行的交易。因为该方法基于NIZK的非交互性,可以使得验证设备从地方节点设备1中一次交互完成操作,第三方平台在验证关键信息真伪的时候也不必与地方节点设备1进行通信;若第三方平台要在另一地方节点设备2中进行关键信息的交付操作时,地方节点银行银行1可以处于离线状态。因此可在有效地降低通信次数、减少了数据的存储代价的同时,提高关键信息在流转过程中的的匿名性和可追踪性,并且可防止重复交付的出现。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种基于非交互式零知识的安全验证方法的流程图;
图2为本发明实施例2提供的多银行电子现金系统模型的示意图;
图3为本发明实施例2提供的一种基于非交互式零知识的安全验证方法的流程图;
图4为本发明实施例3提供的一种地方节点设备的结构示意图;
图5为本发明实施例4提供的一种基于非交互式零知识的安全验证系统的结构图;
图6为本发明实施例1提供的非交互式零知识证明中用到的零知识洞穴示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。并且,以下各实施例均为本发明的可选方案,实施例的排列顺序及实施例的编号与其优选执行的顺序无关。
实施例1
本实施例提供一种基于非交互式零知识的安全验证方法,如图1所示,该方法主要包括:
步骤101,根据输入的安全参数分别生成中央节点设备的公密钥、私密钥和各地方节点设备的公密钥和私密钥(可简称公钥和私钥)。
该步骤101可以认为是系统初始化的过程。具体执行方法可参照实施例2中的步骤201。
步骤102,各地方节点设备中的任一地方节点设备I(I为任意自然数,在这里地方节点设备I代表任意地方节点设备)以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;中央节点设备根据中央节点设备的私密钥、地方节点设备I的身份ID和身份承诺值发放证书信息到地方节点设备I。
该步骤102可以认为是执行发行协议的过程,具体可参照实施例2中的步骤202。
步骤103,地方节点设备I以证书信息为承诺对象得到证书承诺值后,构建基于证书承诺值的非交互式零知识证明,并根据非交互式零知识证明、地方节点设备I的公密钥和私密钥对业务上的关键信息进行签名;地方节点设备I将签名的业务上的关键信息发送到验证设备。验证设备通过对签名进行验证确定业务上的关键信息的安全有效性。
下面大概介绍一下本实施例中提到的非交互式零知识证明。
两方交互式游戏是密码学中的一个基本问题。其中一方(示证者)向另一方(验证者)证明一个命题成立,但不让后者知道是如何证明的。由于缺少示证者所知道的某些信息,验证者不能独自验证命题。这种游戏统称为交互式证明协议系统。这要求验证者在确信证明内容的有效性之后,并不能获得示证者为了进行证明所拥有的知识;而且协议结束后,任何第三方都不会知道示证者和验证者之间的信息交流。若在交互式证明过程中,验证者未获得任何信息,或者说信息量为0。具有这一性质的IP协议称为零知识(ZK)协议。
有零知识洞穴这个经典问题来形象的解释零知识证明的基本思想。如图6所示的洞穴里有个秘密,只有知道咒语的人才能够打开C和D之间的秘密之门。对于证明者P和验证者V,前者知道这个洞穴的秘密,并且要在不泄露咒语的情况下让后者相信自己“知道这个洞穴的秘密”这一事实。
证明者P可以通过下述步骤实现这个目的:
(1)V站在A处;
(2)P走进洞穴,到达C或D处;
(3)当P消失在洞穴中时,V走到B处;
(4)呼叫P,要求P从左通道出来或者从右通道出来;
(5)P答应V的呼叫,并在有必要的情况下用咒语打开C与D之间的秘密之门;
(6)将步骤1-5重复进行n次。
由于P事先无法知道V要求自己从哪个通道出来,所以P只有在借助于咒语打开C与D之间的秘密之门的情况下才能够每次均按V的要求走出来。在每一轮中,P事先猜中V要求的概率是1/2,因此P欺骗V的概率也是1/2。在n轮之后,P愚弄V的概率是1/2n。如果n足够大并且P每次均按V的要求走出,则V可以相信P“知道这个洞穴的秘密”这一事实。
作为交互式协议,零知识(ZK)协议一般要求交互。尽管对于单轮或常数轮协议的情形来说交互的次数很少,但需要交互就意味着示证者和验证者都必须同时在线。如果一个ZK证明(或论据)可以做到无需交互,那么就可以用单向通信方式。例如P和V都是数学家,前者正在周游世界,在这期间发现了新的数学定理证明,他想用ZK证明向后者示证这些新定理。在这种场合中的非交互式零知识(NIZK)证明就是必要的,因为P很可能没有固定的地址,在任何邮件到达之前就离开了。
该步骤103可以认为是执行取款协议的过程,具体可参照实施例2中的步骤203。
优选方案中,该方法还可包括步骤104和/或105。
步骤104,在验证设备交付关键信息到第三方平台时,验证设备计算关键信息的序列号和防双重支付值,并将序列号和防双重支付值发送到第三方平台;第三方平台根据序列号和防双重支付值确定交付的关键信息是否为重复交付。
在验证设备交付关键信息到第三方平台时,验证设备将签名的关键信息发送到第三方平台;第三方平台根据签名确定关键信息安全有效性。
该步骤104可以认为是执行购买协议的过程,具体可参照实施例2中的步骤204-209。
步骤105,在第三方平台将关键信息转交到另一地方节点设备时,另一地方节点设备根据第三方平台提供的关键信息的签名确定关键信息的安全有效性。
该步骤105可以认为是执行存款协议的过程,具体可参照实施例2中的步骤210。
本实施例提供的是一种基于非交互式零知识证明的安全验证方法,该方法可定义为是一种GSBRP方法,支持离线的多地方节点设备同时存在发行的交易。因为该方法的非交互性,可以使得验证设备从地方节点设备1中一次交互完成操作,第三方平台在验证关键信息真伪的时候也不必与地方节点设备1进行通信;若第三方平台要在另一地方节点设备2中进行关键信息的交付操作时,地方节点银行银行1可以处于离线状态。因此可在有效地降低通信次数、减少了数据的存储代价的同时,提高关键信息在流转过程中的的匿名性和可追踪性,并且可防止重复交付的出现。
实施例2
本实施例结合图2所示的多银行电子现金系统模型,提供一种基于非交互式零知识的安全验证方法。在该方法中,中央银行相当于中央节点设备;各地方银行相当于各地方节点设备,如地方银行i相当于地方节点设备I;顾客的交易终端相当于验证设备;商家的交易终端相当于第三方平台;交易中的电子现金相当于业务上的关键信息。
如图2所示,在构造匿名的、不可跟踪的电子现金系统中,有多个地方银行进行参与,每一个银行都可以安全的发行电子货币,他们等同于若干个组成员;这些银行形成一个受中央银行控制的群体,中央银行相当于组管理者。这些银行在发行电子货币之后,可处于离线状态。图2示出了多银行电子现金系统,主要有中央银行、若干地方银行(1到n)、顾客、商家几个角色进行参与,涉及发行协议、取款协议、购买协议、存款协议及货币追踪过程。
下面介绍一下本实施例中的发行协议、取款协议、购买协议和存款协议。
发行协议是指地方银行取得发行电子现金的合法身份的过程。为了在后续发行货币以及在顾客消费的过程中,保证现金的真实有效性,需要中央银行对每一个发行现金的地方银行进行身份验证,并且颁发关于其身份的证书cert。
取款协议是指顾客与地方银行之间进行交互,银行对自己的证书cert进行非交互式证明,以表明自己的真实合法身份;顾客取得该银行在N个电子现金上的签名(其中包括关于证书的证明过程proof1)以及关于两个随机数种子s、r(使用伪随机函数生成)的签名。
购买协议将一定金额的电子现金与此次交易的标识进行绑定,并将其通过非交互式零知识证明的手段证明给商家。为了防止重花费问题,签名者在花费第i个现金时需要计算其序列号以及防双重支付值,其中R为此次交易的标识值并且。商家只能验证顾客关于电子现金的证明过程是否正确,但并不能知道顾客的身份以及银行的具体信息,并且商家也需要验证此前没有收到值为T的现金。
存款协议是指银行需要维护一个数据库,该数据库记录了以往所有接受的电子现金。商家将指定数额的电子现金存入任何一家合法的银行中,银行在不需要任何其他信息的条件下验证商家关于电子现金证明的合法性,并查询数据库判断现金是否新鲜。若存在两个序列号和防双重支付值相同的现金,即r、i相同,银行便可通过两次交易标识(即序列号)R和R’、T和T’来追踪顾客的身份。
在方案中组成员要在签名之前获得发行者颁发的证书信息;同样在电子现金系统中,若干个地方银行构成了一个群体,中央银行也要作为发行者对地方银行颁发证书信息cert,地方银行用该证书信息来表示自己是合法的银行,可以发行货币。此后某一地方银行对自己要发行的电子现金进行匿名签名,并且在电子现金中绑定证书信息cert。地方银行通过非交互式零知识证明的方法向顾客证明该证书的合法有效性,匿名签名的目的是既希望发行的货币具有通用性,又可以不包含银行的任何私有信息。
顾客需要将已经得到电子现金支付给商家,并同时发送现金的序列号与防双重支付值。根据非交互式零知识证明的特点,此时商家只需验证现金是否真实合法以及是否有重用现象,商家并不需要与银行或顾客任意一方进行交互,也不会知道顾客的任何私人信息。若商家发现该笔现金被重用,则要求仲裁机构从该电子货币中提取出顾客身份,并进行责任追究,这样就可以完成安全的完成此次电子现金的流通过程。
下面以银行i发行电子现金为例,结合图3描述一下本实施例中的基于非交互式零知识的安全验证方法应用于电子现金系统中的方法过程。
步骤201,中央银行和各地方银行的系统进行参数初始化,生成中央银行的公密钥、私密钥和各地方银行的公密钥、私密钥。
非交互式零知识证明(NIZK)解决了现有技术中的零知识证明协议都需要双方进行至少三次以上的交互,并且不支持顾客的离线操作的问题。匿名验证的思想是地方银行为了证实自己身份的合法性,需要从中央银行取得证书信息。然而顾客对证书信息的真实性进行验证时,往往需要中央银行处于在线状态,并且需要与其进行信息交换。而NIZK证明使得离线证书成为可能,并且在取得证书信息的过程能确保身份的匿名性。该方法的签名初始化阶段,通过向系统输入安全参数k到算法SigSetup(1k)(其中,SigSetup为算法名称,表示意思为创建签名,属于信息安全协议领域的常用算法名称。此外,本实施例中提到的下述所有符号,均取自于信息安全领域的数学基础课《近世代数》,其中的数学符号均为世界通用,其中的基本概念为群、环、域,在此不赘述),得到系统参数和相应的公私钥。
具体而言,步骤201也可以认为是一个初始化阶段。
例如:系统初始化阶段,通过输入安全参数k,得到系统参数paramsBM=(p,q,G,GT,e,g)。g是阶为素数p的群G的生成元,q为素数,e为生成元,G为和Gr都代表一个群,paramsbm代表传递的参数。在大素数整理群中取一个随机数x,用为表示,计算并公开参数h=gpx。通过系统初始化函数GSSetup(paramsBM)得到NIZK证明时使用的参数paramsGS=(n,paramsBM,h),其中n=pq。定义哈希函数为
产生密钥函数KeyGen(paramsGS):中央银行选择。α←Zn(代表从Zn中取出的一个随机数α)作为私钥sk,其公钥为设地方银行已知组私钥为地方银行组成的群组的公钥为PKA=gk;设某一顾客的交易终端选择计算私钥为d={d1,d2}={gar',gakgr'},其中,需要说明的是ω1、ω2,k,r’,d1,d2,a代表的是中间计算出来的结果;例如ω1、ω2合在一起表示的是ω公钥。
步骤202,银行i对自己的身份进行承诺后发给中央银行,中央银行计算该银行i的签名,并给它发行证书。
银行i为保护自己的真实身份不被泄露,将身份信息ID作为承诺对象,得到身份承诺值comm。此后银行i通过ObtainCert与IssueCert算法,使用comm代替自己的真实身份,得到中央银行关于银行i身份的证书信息cert。即中央银行在不知道银行i私有信息的情况下,便可对银行i身份信息进行签名。
具体而言,该步骤202可以认为是执行发行协议的过程。
例如:地方银行i对自己的银行身份信息ID∈Zp进行承诺,随机选择r←Zn,通过下式1计算地方银行i的身份承诺值
comm=Commit(paramsGS,ID,r)=gIDhr (1)
地方银行i只输入ID和comm,中央银行只用自己的私密钥sk,按照如下方式运行协议。
入中央银行的信息形成证书。。并通过等式e(c,vhID)=e(g,h)(2)(由于e为近世代数中通用函数,在此不赘述)是否成立来判定c的正确性。若等式(2)成立,则地方银行i将(ID,comm,c)发送给中央银行,由中央银行判断comm是否是对ID的身份承诺,即通过commq=(gIDhr)q=(gq)ID(3)来判断。若等式(3)成立,则将得到的ID值登记到reg[ID]中,并记录相应的证书值c。中央银行将该c作为证书信息发放到地方银行i。
这样,地方银行i就在不泄露自己任何私有身份信息的情况下,得到了中央银行对comm地方银行i身份信息ID进行的签名,即得到证书信息。
步骤203,地方银行i以得到的证书信息c为承诺对象,并且构建基于承诺的NIZK证明及验证等式后,地方银行i使用该NIZK证明及验证等式对金额m签名发行电子现金;顾客通过验证签名来判断证书和电子现金是否真实有效。
地方银行i基于区间值证明的方法使用NIZK证明,向其他银行X或顾客证明自己得到的证书信息cert;然后该地方银行i对某电子现金M进行签名。接着地方银行i使用NIZK证明,证明上述陈述是正确的。验证设备对上述证明给与验证,判断关于cert的证明是否可接受,并且同时判断对文件M的签名是否正确。因为在证明过程中使用非交互式理论,所以验证设备不需与发行者中央银行之间进行交互通信便可进行验证。若在产生纠纷需要打开签名时,仲裁者可以使用自己的私密钥,即承诺方案中的提取密钥,对与消息签名进行绑定的承诺值进行处理。
具体而言,该步骤203可以认为是执行取款协议的过程。
例如:地方银行i选择随机数ri,j←Zn,计算以证书为承诺对象的承诺值其中i=1,2、j=1,2,3,4。随机选择rc←Zn,计算银行i对一定数值的电子现金m进行签名,选择计算如下式(4)所示的签名串发送给验证设备,其中h=H(m,U1,U2);
其中,U1、U2、V1、V2合在一起形成了签名。
地方银行i构建 并生成如下形式(5)的证明,其中只包括证书承诺值(如T1,j和Tc)和验证等式e,不包括任何其他私有信息,以此达到匿名的安全性要求。
将上述(4)和(5)式结合,得到下式(6),由于式(6)是一个验证等式,其中包含了验证等式e(具体参见下式7)、证书、证明式(5)、电子现金M和签名式(4)σ等信息(举例说明:例如一串数字1E3||5G2EG2||x||还有一个方程式可以带进去验证...,其中前三位代表M,5G代表σ等),所以是(6)可以看作是一个信息综合体,地方银行i可仅将下式(6)作为最终的电子现金(也就是经过签名的电子现金)发送给顾客的交易终端。
其中,M代表电子现金数值;PKA=gk代表公钥,其他参数在上述描述中均提到过,在此不赘述。
顾客对得到的电子现金要进行正确性判定。首先要验证银行的身份即证书的真实合法性;其次顾客要对银行i的签名进行判定,上面等式e和M的值已知,那么将其代入式(6)中,即验证中的等式是否成立。若二者同时成立,则证明该签名者得到的电子现金是真实有效的,可用于以后的购买协议。
步骤204,顾客的交易终端拿到电子现金后可以发送给商家进行交付。为了防止电子现金重花费问题,顾客在花费第i个现金时需要计算序列号及防双重支付值,这样可以确保电子现金的使用过程中不会泄露顾客身份。
步骤205,顾客通过交易终端花费电子现金。
步骤206,商家的交易终端在收到顾客的现金时,需要进行判断:查看电子现金的发行银行是否是由中央银行进行认定,具有合法有效性;
步骤207,商家的交易终端需要判断电子现金是否是由步骤5中的发行银行发行,是否被恶意篡改或伪造;
步骤208,商家的交易终端判断这个电子现金是否被重复使用。如果顾客的交易终端在两次交易中使用同一个现金,便可通过步骤4中的防双重支付值标识来确定顾客身份。
步骤209,如果步骤206、207、208验证均通过,则商家接受该电子现金。
具体而言,上述步骤204-209可以认为是执行购买协议的过程。
为了防止重花费问题,顾客的交易终端在花费第i个电子现金时需要计算其序列号S=Fs(i)以及防双重支付值T=gID·Fr(i)R,其中Fs为随机产生随机数的函数,R为此次交易的序列号,并且1≤i≤N。这样在使用该电子现金的过程中虽然不泄露ID信息,但实质上是加入了顾客的身份信息。若顾客在两次交易中使用同一现金即r、i相同,便可通过两次交易的序列号R和R'、T和T'来确定顾客的身份。将第i各电子现金的序列号、方双重支付值、和经签名的电子现金(6)作为电子现金支付给商家的交易终端。
商家的交易终端收到电子现金
(6)后,要进行下面3个步骤来判断是否接受该现金,如果3个条件均成立,则接受该电子现金并返回1,否则返回0。
(1)判断上述式(6)及其相应的证明(即上述基于NIZK构建的证明式(5))过程是否合法。合法则代表该电子现金的发行银行是由中央银行进行认定的;
(2)判断M中的等式(7)是否成立。若成立则表示该电子现金是由(1)中的发行银行发行的,具有合法有效性;
(3)比较两次交易(即当前的第二次支付交易和之前的第一次支付交易有没有重复,防止一张钱被花两次)的防双重支付T和T'是否相同,以此来判断该电子现金没有被重复使用。
步骤210,当商家的交易终端在之后的某个时刻,需要将赚取的电子现金存入另一地方银行,如地方银行j时,因为非交互式的GSBRP算法,地方银行j无需再次与中央银行以及地方银行i进行交互,就可以验证电子现金的真实性,保证该电子信件的安全有效。
具体而言,该步骤210可以认为是执行存款协议的过程。
例如:商家在之后的某个时刻,需要将从顾客的交易终端处得到的电子现金存入地方银行j,其中商家的交易终端将电子现金(6)发送到地方银行j,地方银行j验证其中的等式(7)是否成立,若验证成立,则返回1给商家的交易终端表示接受该电子现金。
至此,电子现金流通流程结束。
本实施例提出的方案可拥有多银行存在的、匿名的、不可追踪的电子现金系统,该系统支持离线的多银行同时存在发行电子现金。因为该方法的非交互性,商家的交易终端只需要通过对顾客的交易终端发出的证明过程进行验证,以此来确定他收到的电子现金是真实有效的,而并不需要知道他收到的电子现金是哪一家银行发行的,从而使地方银行可可处于离线状态下进行交易;顾客的交易终端也不必等到地方银行对电子现金的在线认证后,才能获知交易是否成功,而只需等到商家的交易终端发回确认后即可脱线。通过非交互式零知识证明思想,商家与地方银行间不需要相互认证,每次交易的网络通信量减少,并且顾客可以将电子现金像普通现金一样借给别人且不被跟踪,具有可传递性,可安全的适用于小额电子现金的支付过程。
商家和银行虽然能获得电子现金,但却不能得到与顾客身份有关的信息,银行与商家不能跟踪顾客对电子现金的使用,除非在发生纠纷需要仲裁时才会提取顾客身份,有效确保顾客身份在交易过程中的匿名性、可追踪性,进而保证交易的安全性。并且电子现金中包含中央银行发行的证书,因此顾客不能凭空或根据已有电子现金信息造出有效的电子现金,确保电子现金具有不可伪造性;并在交易过程中融入序列号和防双重支付值机制,以此来保证顾客不会多次重复支付同一现金,解决了防重复交易导致的系统错误等技术问题,取得提高交易机制的有效性的技术效果。
实施例3
为了便于实施例1或2中的方法实现,本实施例提供一种地方节点设备,如图4所示,包括:获取单元21,承诺单元22,证明单元23。
获取单元21,用于获取中央节点设备生成的地方节点设备的公密钥和私密钥;承诺单元22,用于以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;证明单元23,用于接收中央接收设备发放的证书信息,以证书信息为承诺对象得到证书承诺值后,构建基于证书承诺值的非交互式零知识证明,并根据非交互式零知识证明、地方节点设备I的公密钥和私密钥对业务上的关键信息进行签名;再将签名的业务上的关键信息发送到验证设备。
优选地,该设备还可还包括:
转交确定单元,用于在接收到第三方平台转交的关键信息后,根据第三方平台提供的关键信息的签名确定关键信息的安全有效性。
本实施例提供的设备可根据证书信息构建基于NIZK的匿名的、支持离线的安全验证机制,解决了现有技术中安全有效认证过程中必须在线执行,且需要实名制导致的安全性差、身份可追踪等技术问题,进而取得了在保证真实有效性的前提下,进行可匿名的、离线的安全验证的技术效果。
本发明实施例提供的上述地方节点设备产品是属于以计算机程序的流程方法为依据,并按照与方法实施例(实施例1-2中的至少一个)和/或附图中地方节点设备或地方银行的方法流程的各步骤完全对应一致的方式,所提供的功能模块。并且由于这种功能模块是通过计算机程序的方式实现的软件装置,所以对于装置实施例3中未具体提及的功能模块,由于考虑到根据上述方法实施例记载的内容已经足够使本领域技术人员从方法记录的各流程步骤直接地、毫无意外地确定实现所述步骤所必须建立的功能模块,所以在此不赘述。
实施例4
为了便于实施例1或2中的方法实现,本实施例继续提供一种基于非交互式零知识的安全验证系统,如图5所示,包括中央节点设备31、至少一个地方节点设备32和验证设备33;其中,
中央节点设备31,用于根据输入的安全参数分别生成中央节点设备31和各地方节点设备22的公密钥和私密钥;接收各地方节点设备32中的任一地方节点设备32I的身份ID和身份承诺值,并根据中央节点设备31的私密钥、地方节点设备32I的身份ID和身份承诺值发放证书信息到地方节点设备32I。
地方节点设备32,用于以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备31;接收中央节点设备31发放的证书信息,并以证书信息为承诺对象得到证书承诺值后,构建基于证书承诺值的非交互式零知识证明,并根据非交互式零知识证明、地方节点设备32的公密钥和私密钥对业务上的关键信息进行签名;以及将签名的业务上的关键信息发送到验证设备33。
验证设备33,用于通过对签名进行验证确定业务上的关键信息的安全有效性。
优选地,该系统还包括第三方平台34;
验证设备33,还用于在验证设备交付关键信息到第三方平台34时,计算关键信息的序列号和防双重支付值,并将序列号和防双重支付值发送到第三方平台34;相应地,第三方平台34,用于根据序列号和防双重支付值确定交付的关键信息是否为重复交付。
验证设备33,还用于在验证设备交付关键信息到第三方平台34时,将签名的关键信息发送到第三方平台34;相应地,第三方平台34,还用于根据签名确定关键信息安全有效性。
第三方平台34,还用于关键信息转交到另一地方节点设备32(该另一地方节点设备可以是上面的地方节点设备I,也可以不是);另一地方节点设备32,还用于根据第三方平台34提供的关键信息的签名确定关键信息的安全有效性。
本发明实施例提供的上述系统中包括的设备或装置,是基于实施例3提供的设备或装置而得来的,因此未尽详述之处可参考实施例3中的设备或装置,在此不赘述。
本发明的技术方案本质上或者说对现有技术做出贡献的部分是以软件产品的形式体现出来的功能,也即是说:本发明的装置、设备或者组成系统的各个设备其所执行的方法或实现的功能主体即便为硬件,但是实际上实现本发明上述功能的部分却是计算机软件产品的模块或单元。并且该计算机软件产品可存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台设备执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明能有多种不同形式的具体实施方式,上文结合附图对本发明做举例说明,这并不意味着本发明所应用的具体实施方式只能局限在这些特定的具体实施方式中,本领域的技术人员应当了解,上文所提供的具体实施方式只是多种优选实施方式中的一些示例,任何体现本发明权利要求的具体实施方式均应在本发明权利要求所要求保护的范围之内;本领域的技术人员能够对上文各具体实施方式中所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换或者改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于非交互式零知识的安全验证方法,其特征在于,包括:
根据输入的安全参数分别生成中央节点设备和各地方节点设备的公密钥和私密钥;
各地方节点设备中的任一地方节点设备I以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;中央节点设备根据中央节点设备的私密钥、所述地方节点设备I的身份ID和身份承诺值发放证书信息到所述地方节点设备I;
所述地方节点设备I以所述证书信息为承诺对象得到证书承诺值后,构建基于所述证书承诺值的非交互式零知识证明,并根据所述非交互式零知识证明、所述地方节点设备I的公密钥和私密钥对业务上的关键信息进行签名;所述地方节点设备I将签名的所述业务上的关键信息发送到验证设备;
所述验证设备通过对所述签名进行验证确定所述业务上的关键信息的安全有效性。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
在所述验证设备交付所述关键信息到第三方平台时,所述验证设备计算所述关键信息的序列号和防双重支付值,并将所述序列号和所述防双重支付值发送到所述第三方平台;
所述第三方平台根据所述序列号和所述防双重支付值确定所述交付的关键信息是否为重复交付。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
在所述验证设备交付所述关键信息到第三方平台时,所述验证设备将所述签名的关键信息发送到所述第三方平台;
所述第三方平台根据所述签名确定所述关键信息安全有效性。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
在所述第三方平台将所述关键信息转交到另一地方节点设备时,所述另一地方节点设备根据所述第三方平台提供的所述关键信息的签名确定所述关键信息的安全有效性。
5.一种地方节点设备,其特征在于,包括:
获取单元,用于获取中央节点设备生成的地方节点设备的公密钥和私密钥;
承诺单元,用于以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;
证明单元,用于接收中央节点设备发放的证书信息,以所述证书信息为承诺对象得到证书承诺值后,构建基于所述证书承诺值的非交互式零知识证明,并根据所述非交互式零知识证明、所述地方节点设备的公密钥和私密钥对业务上的关键信息进行签名;再将签名的所述业务上的关键信息发送到验证设备;其中,所述证书信息为中央节点设备根据中央节点设备的私密钥、所述地方节点设备的身份ID和身份承诺值发放到所述地方节点设备的。
6.根据权利要求5所述的设备,其特征在于,还包括:
转交确定单元,用于在接收到第三方平台转交的所述关键信息后,根据所述第三方平台提供的所述关键信息的签名确定所述关键信息的安全有效性。
7.一种基于非交互式零知识的安全验证系统,其特征在于,包括中央节点设备、至少一个地方节点设备和验证设备;其中,
所述中央节点设备,用于根据输入的安全参数分别生成中央节点设备和各地方节点设备的公密钥和私密钥;接收各地方节点设备中的任一地方节点设备I的身份ID和身份承诺值,并根据中央节点设备的私密钥、所述地方节点设备I的身份ID和身份承诺值发放证书信息到所述地方节点设备I;
所述地方节点设备,用于以其身份ID为承诺对象获得身份承诺值后,将其身份ID和身份承诺值发送到中央节点设备;接收中央节点设备发放的证书信息,并以所述证书信息为承诺对象得到证书承诺值后,构建基于所述证书承诺值的非交互式零知识证明,并根据所述非交互式零知识证明、所述地方节点设备的公密钥和私密钥对业务上的关键信息进行签名;以及将签名的所述业务上的关键信息发送到验证设备;
所述验证设备,用于通过对所述签名进行验证确定所述业务上的关键信息的安全有效性。
8.根据权利要求7所述的系统,其特征在于,该系统还包括第三方平台;
所述验证设备,还用于在所述验证设备交付所述关键信息到第三方平台时,计算所述关键信息的序列号和防双重支付值,并将所述序列号和所述防双重支付值发送到所述第三方平台;
所述第三方平台,用于根据所述序列号和所述防双重支付值确定所述交付的关键信息是否为重复交付。
9.根据权利要求7或8所述的系统,其特征在于,所述系统还包括:第三方平台;
所述验证设备,还用于在所述验证设备交付所述关键信息到第三方平台时,将所述签名的关键信息发送到所述第三方平台;
所述第三方平台,还用于根据所述签名确定所述关键信息安全有效性。
10.根据权利要求9所述的系统,其特征在于,
所述第三方平台,还用于将所述关键信息转交到另一地方节点设备;
所述另一地方节点设备,还用于根据所述第三方平台提供的所述关键信息的签名确定所述关键信息的安全有效性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694762.1A CN104717067B (zh) | 2013-12-17 | 2013-12-17 | 基于非交互式零知识的安全验证方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694762.1A CN104717067B (zh) | 2013-12-17 | 2013-12-17 | 基于非交互式零知识的安全验证方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104717067A CN104717067A (zh) | 2015-06-17 |
CN104717067B true CN104717067B (zh) | 2018-02-23 |
Family
ID=53416063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310694762.1A Active CN104717067B (zh) | 2013-12-17 | 2013-12-17 | 基于非交互式零知识的安全验证方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104717067B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818005B (zh) * | 2018-04-13 | 2023-10-11 | 安地卡及巴布達商區塊鏈控股有限公司 | 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105659267B (zh) * | 2015-03-02 | 2021-04-02 | 上海路路由信息技术有限公司 | 一种用于处理电子货币的方法与设备 |
CN106845960B (zh) * | 2017-01-24 | 2018-03-20 | 上海壹账通区块链科技有限公司 | 基于区块链的安全交易方法及系统 |
US10277395B2 (en) * | 2017-05-19 | 2019-04-30 | International Business Machines Corporation | Cryptographic key-generation with application to data deduplication |
CN110084068B (zh) | 2018-01-26 | 2023-09-29 | 阿里巴巴集团控股有限公司 | 区块链系统及用于区块链系统的数据处理方法 |
CN108805565B (zh) * | 2018-05-17 | 2022-01-18 | 深圳前海微众银行股份有限公司 | 基于区块链的承诺存在性证明方法、设备及可读存储介质 |
CN109104410B (zh) * | 2018-07-12 | 2021-01-01 | 湖北工业大学 | 一种信息的匹配方法及装置 |
CN113989047A (zh) | 2018-07-27 | 2022-01-28 | 创新先进技术有限公司 | 基于区块链的资产发布方法及装置、电子设备 |
CN109245897B (zh) * | 2018-08-23 | 2020-06-19 | 北京邮电大学 | 一种基于非交互的零知识证明的节点认证方法和装置 |
CN113569294B (zh) | 2021-09-22 | 2022-01-07 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079141A (zh) * | 2006-05-24 | 2007-11-28 | 国际商业机器公司 | 用于自动确认交易的方法以及电子支付系统 |
CN103401839A (zh) * | 2013-07-02 | 2013-11-20 | 河海大学 | 一种基于属性保护的多授权中心加密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120089494A1 (en) * | 2010-10-08 | 2012-04-12 | Microsoft Corporation | Privacy-Preserving Metering |
-
2013
- 2013-12-17 CN CN201310694762.1A patent/CN104717067B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079141A (zh) * | 2006-05-24 | 2007-11-28 | 国际商业机器公司 | 用于自动确认交易的方法以及电子支付系统 |
CN103401839A (zh) * | 2013-07-02 | 2013-11-20 | 河海大学 | 一种基于属性保护的多授权中心加密方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818005B (zh) * | 2018-04-13 | 2023-10-11 | 安地卡及巴布達商區塊鏈控股有限公司 | 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104717067A (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7451797B2 (ja) | 即時オフラインのブロックチェイントランザクションのセキュリティを高めるのに適しているコンピュータにより実装されるシステム及び方法 | |
CN104717067B (zh) | 基于非交互式零知识的安全验证方法、设备及系统 | |
CN108764874B (zh) | 基于区块链的匿名转账方法、系统及存储介质 | |
Basin et al. | The EMV standard: Break, fix, verify | |
US20200336315A1 (en) | Validation cryptogram for transaction | |
RU2710897C2 (ru) | Способы безопасного генерирования криптограмм | |
US20240303635A1 (en) | Token-based off-chain interaction authorization | |
TW200820108A (en) | Method for automatically validating a transaction, electronic payment system and computer program | |
CN111160909B (zh) | 区块链供应链交易隐藏静态监管系统及方法 | |
US9165297B2 (en) | Virtual account and token-based digital cash protocols | |
US9171324B2 (en) | Hybrid virtual account and token-based digital cash protocols | |
CN112232828A (zh) | 一种电网数据交易方法、系统 | |
CN113486407A (zh) | 基于区块链的存单管理系统和方法 | |
Luo et al. | Offline transferable E-cash mechanism | |
JP2805493B2 (ja) | 認証方法及びそれに用いる装置 | |
CN108090751A (zh) | 电子现金系统 | |
JP3171227B2 (ja) | 信託機関付き電子紙幣実施方法 | |
EP4379631A1 (en) | Digital wallet device and dual offline transaction method thereof | |
CN113486408B (zh) | 基于区块链的存单管理系统和方法 | |
JP2805494B2 (ja) | 認証方法及びそれに用いる装置 | |
US20240078522A1 (en) | Interaction channel balancing | |
Tso et al. | An off-line mobile payment protocol providing double-spending detection | |
Du et al. | A Blockchain-based Online Transaction System for Physical Products Trading with Fairness, Privacy Preservation, and Auditability | |
JPH09153103A (ja) | 追跡可能な電子現金実施方法及びその装置 | |
Fan et al. | Privacy enhancement for fair PayWord‐based micropayment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |