本申请涉及计算机及通信技术领域,主要涉及一种应用于零知识证明的方法、硬件设备及系统。
背景技术:
目前,在零知识证明体系中,还并没有存在专门用户保护零知识证明体系中秘密数据的专用硬件,没有对证明者所拥有的秘密数据进行有效保护的措施,秘密数据往往直接存储在宿主机中,由于宿主机需要联网完成零知识证明,秘密数据的安全性受到威胁。
技术实现要素:
本申请的目的在于提供一种应用于零知识证明的方法、硬件设备及系统,用于解决零知识证明秘密数据安全性不高的问题。
为了实现上述目的,本申请提供了以下技术方案如下:
第一方面:本申请提供了一种硬件设备,应用于零知识证明,所述设备包括:安全芯片、输入模块、电源模块、通信模块以及显示模块,所述安全芯片分别与所述输入模块、电源模块、通信模块以及显示模块连接,所述电源模块与所述输入模块、通信模块以及显示模块连接,
所述电源模块,用于为所述硬件设备提供电源;
所述通信模块,用于:以线缆直接传输的方式或近距离通信方式接收零知识证明终端发送的验证命令,所述验证命令包括进行证明需要的参数信息;并将所述参数信息发送给所述安全芯片;
所述安全芯片,用于:提取所述参数信息中的秘密数据索引,所述秘密数据索引用于定位所述安全芯片存储区域中对应的秘密数据;并根据所述参数信息生成显示指令,发送至所述显示模块;
所述显示模块,用于响应所述显示指令,显示确认界面;
所述输入模块,用于接收用户的输入操作;
所述安全芯片,还用于在所述输入操作为确定操作时,根据所述秘密数据索引在存储区域中进行对应的秘密数据的检索;并在检索到对应的秘密数据时,生成零知识证明通过的消息;
所述通信模块,还用于将所述零知识证明通过消息发送给所述零知识证明终端。
上述方案设计的硬件设备,使得进行零知识证明也得到了专门的硬件设备的保护,同时在终端进行零知识证明验证时,零知识证明需要的秘密数据保存在专门的硬件设备中,使得秘密数据本地保存,与互联网隔离,大大的提高了秘密数据的安全性,从而提高对用户隐私的保护。
在第一方面的可选实现方式中,所述通信模块,还用于接收零知识证明终端发送的生成数据命令,所述生成数据命令包括生成数据所需的参数信息;并将所述生成数据所需的参数信息生成显示指令,发送至所述显示模块;
所述显示模块,用于响应所述显示指令,显示确认界面;
所述输入模块,用于接收用户的输入操作;
所述安全芯片,还用于在所述输入操作为确定操作时,根据所述生成数据所需的参数信息生成数据,并将所述数据存储在存储区域中。
上述方案设计的硬件设备,在求证之前进行专门的数据生成,为后续进行零知识证明求证,作好数据的准备。
在第一方面的可选实施方式中,根据所述生成数据所需的参数信息生成数据,并将所述数据存储在存储区域中,包括:根据所述生成数据所需的参数生成秘密数据索引以及秘密数据,所述秘密数据索引包括序号以及公开数据;并将所述数据按照序号、公开数据以及秘密数据的数据格式存储在存储区域中。
上述方案设计的硬件设备,按照一定的数据格式进行存储,使得后续通过序号来进行索引到相应的秘密数据,进行零知识证明,数据的访问更加简单快捷。
在第一方面的可选实施方式中,所述通信模块,在所述安全芯片将所述数据按照序号、公开数据以及秘密数据的数据格式存储在存储区域中之后,还用于将所述秘密数据索引发送给所述零知识证明终端。
上述方案设计的硬件设备,只将序号和公开数据返回给零知识证明终端,使得秘密数据只存在于硬件设备中,在零知识证明终端进行零知识证明时,通过序号和秘密数据配对,才完成零知识证明,使得秘密数据隔离网络,大大提高了安全性。
在第一方面的可选实施方式中,所述输入模块,在所述安全芯片将所述数据存储在存储区域之后,还用于接收用户的输入的格式化操作;
所述安全芯片,还用于在接收到所述格式化操时,对所述存储区域中的数据进行格式化处理。
上述方案设计的硬件设备,格式化存储信息,使得硬件设备的不需要的数据能够及时处理,为后续的数据存储提供空间。
第二方面:本申请提供了一种系统,应用于零知识证明,所述系统包括:硬件设备和零知识证明终端,所述硬件设备与所述零知识证明终端以线缆直接传输的方式或近距离通信方式进行连接,
所述零知识证明终端,用于向所述硬件设备发送验证命令,所述验证命令包括进行证明需要的参数信息;
所述硬件设备,用于接收所述验证命令,提取所述参数信息中的秘密数据索引,所述秘密数据索引用于定位所述安全芯片存储区域中对应的秘密数据,并根据所述参数信息显示确认界面;接收用户的输入操作,在所述输入操作为确定操作时,根据所述秘密数据索引在存储区域中进行所述对应的秘密数据的检索;并在检索到对应的秘密数据时,生成零知识证明通过的消息,并将所述零知识证明通过的消息发送给所述零知识证明终端。
上述方案设计的系统,使得进行零知识证明也得到了专门的硬件设备的保护,同时在终端进行零知识证明验证时,零知识证明需要的秘密数据保存在专门的硬件设备中,使得秘密数据本地保存,与互联网隔离,大大的提高了秘密数据的安全性,从而提高对用户隐私的保护。
在第二方面的可选实施方式中,所述硬件设备与所述零知识证明终端以线缆直接传输的方式或近距离通信方式进行连接,包括但不限于:usb、蓝牙和nfc三种连接方式中的任意一种。
上述方案设计的系统,三种连接方式都属于不联网就能进行交互的信息交互方式,使得数据隔离网络,极大的提高了秘密数据的安全性。
在第二方面的可选实施方式中,所述零知识证明终端,还用于发送需要导入的数据给所述硬件设备;
所述硬件设备,还用于在接收所述零知识证明终端发送的需要导入的数据后,将所述数据按照序号、公开数据以及秘密数据的格式存储在存储区域内,并将存储成功信息返回给所述零知识证明终端。
上述方案设计的系统,硬件设备还可以通过零知识证明终端发送的数据进行数据的导入,使得数据的获得也可以不通过互联网,数据的安全性大大提高。
第三方面:本申请提供一种零知识证明方法,应用于第一方面的任意可选实施方式中的硬件设备,所述方法包括:
以线缆直接传输的方式或近距离通信方式接收零知识证明终端发送的验证命令,所述验证命令包括进行证明需要的参数信息;
提取所述参数信息中的秘密数据索引,所述秘密数据索引用于定位所述安全芯片存储区域中对应的秘密数据,并根据所述参数信息显示确认界面;
接收用户的输入操作,在所述输入操作为确定操作时,根据所述秘密数据索引在存储区域中进行对应的秘密数据的检索,并在检索到对应的秘密数据时,生成零知识证明通过的消息;
将所述零知识证明通过的消息发送给所述零知识证明终端。
第四方面:本申请提供一种非暂态可读存储介质,该可读存储介质上存储有程序,该程序被硬件设备运行时执行第三方面实现方式中的所述方法。
本申请的有益效果包括:通过上述设计得到的应用于零知识证明的方法、硬件设备及系统,使得进行零知识证明也得到了专门的硬件设备的保护,同时在终端进行零知识证明验证时,零知识证明需要的秘密数据保存在专门的硬件设备中,使得秘密数据本地保存,与互联网隔离,大大的提高了秘密数据的安全性,从而提高对用户隐私的保护。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1是本申请第一实施例提供的硬件设备结构示意图;
图2是本申请第二实施例提供的系统结构示意图;
图3是本申请第三实施例提供的零知识证明的方法流程图。
图标:1-硬件设备;2-零知识证明终端;10-安全芯片;20-输入模块;30-电源模块;40-通信模块;50-显示模块。
具体实施方式
为使本申请实施方式的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。因此,以下对在附图中提供的本申请的实施方式的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在本申请中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
零知识证明,即证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信证明者拥有某个秘密数据。
基础零知识证明协议简介
公开参数包括(n,g)。其中,n为素数,g∈zn且为zn的生成元。证明者p随机选择x∈zn,计算y=gxmodn,公开y。证明者p需要使验证者v相信其拥有x使得y=gxmodn成立,但不能暴露x。
步骤1,p随机选择r∈zn,计算r=grmodn,将r发送给v。
步骤2,v随机选择c∈zn,将c发送给p
步骤3,p计算s=r-cxmodn,将s发送给v。
步骤4,v验证等式gsyc=r是否成立。若成立,则验证成功;否则返回失败。
第一实施例
如图1所示,本申请提供了一种硬件设备,应用于零知识证明,包括:安全芯片10、输入模块20、电源模块30、通信模块40以及显示模块50,安全芯片10分别与输入模块20、电源模块30、通信模块40以及显示模块50连接,电源模块30与输入模块20、通信模块40以及显示模块50连接,
电源模块30,用于为硬件设备提供电源;
通信模块40,用于:以线缆直接传输的方式或近距离通信方式接收零知识证明终端发送的验证命令,验证命令包括进行证明需要的参数信息;并将参数信息发送给安全芯片10;
安全芯片10,提取参数信息中的秘密数据索引,秘密数据索引用于定位安全芯片10存储区域中对应的秘密数据;并根据参数信息生成显示指令,发送至显示模块50;
显示模块50,用于响应显示指令,显示确认界面;
输入模块20,用于接收用户的输入操作;
安全芯片10,还用于在输入操作为确定操作时,根据秘密数据索引在存储区域中进行对应的秘密数据的检索;并在检索到对应的秘密数据时,生成零知识证明通过的消息;
通信模块40,还用于将零知识证明通过消息发送给零知识证明终端。
这里需要说明的是,以线缆直接传输的方式或近距离通信方式都为不接入互联网进行信息传输的方式。
另外,这里需要说明的是,输入模块和显示模块可作为一个整体或者为两个单独的设备,当其作为一个整体时可为一个触屏显示模块;当为两个单独的设备时,输入模块可为但不限于键盘输入等,显示模块可为但不限于显示屏。显示界面显示的确认或者取消指令界面,用户可以通过选择确认,进行同意此时的零知识证明操作;选择取消,来取消此时的零知识证明操作,在选择取消时,安全芯片10会产生一个取消零知识证明的消息,通信模块40会将这个取消消息发送给零知识证明终端。
上述步骤设计的硬件设备,使得进行零知识证明也得到了专门的硬件设备的保护,同时在终端进行零知识证明验证时,零知识证明需要的秘密数据保存在专门的硬件设备中,使得秘密数据本地保存,与互联网隔离,大大的提高了秘密数据的安全性,从而提高对用户隐私的保护。
可选的,通信模块40,还用于接收零知识证明终端发送的生成数据命令,生成数据命令包括生成数据所需的参数信息;并将所述生成数据所需的参数信息生成显示指令,发送至显示模块50;
显示模块50,用于响应显示指令,显示确认界面;
输入模块20,用于接收用户的输入操作;
安全芯片10,还用于在输入操作为确定操作时,根据生成数据所需的参数信息生成数据,并将数据存储在存储区域中。
此时,生成的数据中包含了后续进行验证的数据,包括秘密数据和秘密数据的索引等。
上述方案设计的硬件设备,在求证之前进行专门的数据生成,为后续进行零知识证明求证,作好数据的准备。
可选的,安全芯片10根据生成数据所需的参数信息生成数据,并将数据存储在存储区域中,包括:根据生成数据所需的参数生成秘密数据索引以及秘密数据,秘密数据索引包括序号以及公开数据;并将数据按照序号、公开数据以及秘密数据的数据格式存储在存储区域中。
可选的,在安全芯片10将数据按照序号、公开数据以及秘密数据的数据格式存储在存储区域中之后,
通信模块40,还用于将秘密数据索引发送给零知识证明终端。
这里需要说明的是,硬件设备提取零知识证明终端发送的验证命令中进行证明需要的参数信息中的秘密数据索引,秘密数据索引包括序号和公开数据,根据序号和公开数据在显示模块50中显示确认界面,其中确认界面还包括其他信息,比如请求零知识证明方的信息或零知识证明的类别,并在后续验证过程中的通过秘密数据索引来定位存储在存储区域中对应的秘密数据,其实就是通过秘密数据索引中的序号来进行定位的,数据格式中的一个序号配对该序号对应的秘密数据,在定位到对应的秘密数据后,则完成零知识证明,并生成零知识证明通过的消息,并将其发送给零知识证明终端。
上述方案设计的硬件设备,按照一定的数据格式进行存储,使得后续通过序号来进行索引到相应的秘密数据,进行零知识证明,数据的访问更加简单快捷。
可选的,输入模块40,在安全芯片10将所述数据存储在存储区域之后,还用于接收用户的输入的格式化操作;
安全芯片10,还用于在接收到格式化操时,对存储区域中的数据进行格式化处理。
其中,如果用户觉得硬件设备中有很多无用的数据,或者安全芯片自检到有很多无用的数据,可以提醒用户进行格式化或者无用数据的删除。
上述方案设计的硬件设备,格式化存储信息,使得硬件设备的不需要的数据能够及时处理,为后续的数据存储提供空间。
第二实施例
本申请提供了一种系统,应用于零知识证明,包括:硬件设备1和零知识证明终端2,硬件设备1与零知识证明终端2通过以线缆直接传输的方式或近距离通信方式进行连接,
零知识证明终端2,用于向硬件设备1发送验证命令,验证命令包括进行证明需要的参数信息;
硬件设备1,用于接收验证命令,提取参数信息中的秘密数据索引,秘密数据索引用于定位安全芯片存储区域中对应的秘密数据,并根据参数信息显示确认界面;接收用户的输入操作,在输入操作为确定操作时,根据秘密数据索引在存储区域中进行对应的秘密数据的检索;并在检索到对应的秘密数据时,生成零知识证明通过的消息,并将零知识证明通过的消息发送给零知识证明终端2。
上述方案设计的系统,使得进行零知识证明也得到了专门的硬件设备的保护,同时在终端进行零知识证明验证时,零知识证明需要的秘密数据保存在专门的硬件设备中,使得秘密数据本地保存,与互联网隔离,大大的提高了数据的安全性,从而提高对用户隐私的保护。
另外,这里需要说明的是,硬件设备1可以是一个单独的硬件设备,也可以是设置在零知识证明终端2内部的设备,其中,当为一个独立的外部设备时,硬件设备1可以为一个手环,手表等设备;设置在零知识证明终端2内部时,可以作为一个芯片模块设置在其内部,通过线缆的方式进行数据传输。
其中,零知识证明终端可为但不限于计算机、手机、ipad等终端。
具体的,当外部系统(交易支付系统,比如银行等),向零知识证明终端2发送一个支付消息,零知识证明终端2在进行支付之前,会向硬件设备1发送一个零知识证明验证命令(在此之前已经生成了秘密数据存储在硬件设备存储区域中),然后通过上述设计的交互方式,在得到硬件设备1的验证成功后,则完成了零知识证明,硬件设备1将零知识证明完成信息发送零知识证明终端2后,零知识证明终端2才能支付成功,其中,当硬件设备为外部设备(手环)时,用户可在硬件设备上选择确定或者取消,来选择进行支付交易或者取消支付交易来对支付进行掌控。
可选的,硬件设备1与零知识证明终端2以线缆直接传输的方式或近距离通信方式进行连接,包括但不限于:usb、蓝牙和nfc三种连接方式中的任意一种。
上述方案设计的系统,三种连接方式都属于不联网就能进行交互的信息交互方式,使得秘密数据隔离网络,极大的提高了秘密数据的安全性。
可选的,零知识证明终端2,还用于发送需要导入的数据给硬件设备1;
硬件设备1,还用于在接收零知识证明终端2发送的需要导入的数据后,将数据按照序号、公开数据以及秘密数据的格式存储在存储区域内,并将存储成功信息返回给零知识证明终端2。
第三实施例
本申请提供一种零知识证明方法,包括:
步骤101:以线缆直接传输的方式或近距离通信方式接收零知识证明终端发送的验证命令,验证命令包括进行证明需要的参数信息,转到步骤102。
步骤102:提取参数信息中的秘密数据索引,秘密数据索引用于定位安全芯片存储区域中序号对应的秘密数据,并根据参数信息显示确认界面,转到步骤103。
步骤103接收用户的输入操作,在输入操作为确定操作时,根据秘密数据索引在存储区域中进行对应的秘密数据的检索,并在检索到对应的秘密数据时,生成零知识证明通过的消息,转到步骤104
步骤104:将零知识证明通过的消息发送给零知识证明终端。
上述方案设计的方法,同时在终端进行零知识证明验证时,数据本地保存,与互联网隔离,大大的提高了数据的安全性,从而提高对用户隐私的保护。
第四实施例
本申请提供一种非暂态可读存储介质,该可读存储介质上存储有程序,该程序被硬件设备运行时执行第三实施例中的所述方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。