CN111817859A - 基于零知识证明的数据共享方法、装置、设备及存储介质 - Google Patents
基于零知识证明的数据共享方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111817859A CN111817859A CN202010753297.4A CN202010753297A CN111817859A CN 111817859 A CN111817859 A CN 111817859A CN 202010753297 A CN202010753297 A CN 202010753297A CN 111817859 A CN111817859 A CN 111817859A
- Authority
- CN
- China
- Prior art keywords
- terminal
- data
- storage system
- decision
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Abstract
本申请涉及区块链领域,涉及数据处理技术,公开了一种基于零知识证明的数据共享方法方法、装置、设备及存储介质。所述方法通过第一终端和第二终端的协同,或者第一数据存储系统和第二数据存储系统的协同,实现通过跨平台数据进行决策树模型的训练,并根据零知识证明使得所述决策树模型在运行过程中对其中一个数据存储系统的密文数据进行准确地预测,得到所述密文数据在另一数据存储系统中对应的预测属性值,实现了跨平台数据的安全共享。
Description
技术领域
本申请涉及区块链领域,涉及数据处理技术,尤其涉及一种基于零知识证明的数据共享方法、装置、设备及存储介质。
背景技术
目前,随着大数据的发展,很多开源数据已不能满足人们的需求,但是跨平台数据共享往往涉及到用户的隐私问题,导致多个数据提供方不愿共享数据但又希望能获取各自需要的部分数据。而区块链作为共享数据库,只能在各个区块节点中进行数据共享,无法实现各种跨平台数据的安全共享。因此,如何在跨平台之间合法共享用户数据的同时保证用户数据的安全性是亟待解决的问题。
发明内容
本申请提供了一种基于零知识证明的数据共享方法、装置、设备及存储介质,通过第一终端和第二终端的协同,实现通过跨平台数据进行决策树模型的训练,并根据零知识证明使得所述决策树模型在运行过程中对其中一个数据存储系统的密文数据进行准确地预测,得到所述密文数据在另一数据存储系统中对应的预测属性值,实现了跨平台数据的安全共享。
第一方面,本申请提供了一种基于零知识证明的数据共享方法,所述方法应用于数据验证协议系统,所述数据验证协议系统包括第一终端和第二终端,所述第一终端的第一数据存储系统和所述第二终端的第二数据存储系统的协同;所述方法包括:
所述第一终端获取所述第一数据存储系统中的目标用户的密文数据;
所述第一终端根据预先训练的决策树模型对所述密文数据进行处理,并向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求;
所述第二终端响应于所述验证请求,向所述第一终端发送零知识证明;
所述第一终端根据所述零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值,将所述预测属性值存储至所述第一数据存储系统。
在一可选的实现方式中,在所述第一终端根据预先训练的决策树模型对所述密文数据进行处理,并根据所述目标用户的密文数据发起针对该目标用户在所述第二终端的属性值的验证请求之前,包括:
所述第一终端在所述第一数据存储系统中获取已匹配的预设数量的训练样本对,任一所述训练样本对包括指定用户在所述第一数据存储系统中的第一用户密文数据和该指定用户在所述第二数据存储系统中的第二用户密文数据;
将所述训练样本对输入预先建立的决策模型对预先建立的决策树模型进行训练,得到所述决策树模型。
在一可选的实现方式中,在所述第一数据存储系统中获取已匹配的预设数量的训练样本对之前,包括:
所述第一终端在所述第一数据存储系统中利用预设的智能合约技术将来自所述第二数据存储系统中的第二用户密文数据与存储在所述第一数据存储系统中的第二用户密文数据进行匹配,得到相匹配的所述第一用户密文数据和所述第二用户密文数据。
在一可选的实现方式中,将所述训练样本对输入预先建立的决策模型,对预先建立的决策树模型进行训练,得到所述决策树模型,包括:
将所述训练样本对输入预先建立的决策模型,针对任一指定用户对应的所述训练样本对,以该指定用户的用户标识信息为所述决策模型的根节点,以该指定用户的所述第一用户数据为该根节点的各个叶节点的属性对象,以该指定用户的所述第二用户数据为该根节点的各个所述叶节点的属性对象的属性值,对预先建立的决策树模型进行训练,得到所述决策树模型。
在一可选的实现方式中,所述向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求,包括:
以所述决策树模型的每一所述叶节点的决策条件作为所述验证请求的验证参数,向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求。
在一可选的实现方式中,所述第二终端响应于所述验证请求,向所述第一终端发送零知识证明,包括:
所述第二终端响应于所述验证请求,基于所述每一叶节点的决策条件和所述决策树模型输出的所述预测属性值向所述第一终端发送所述零知识证明。
在一可选的实现方式中,所述第一终端根据所述零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值,包括:
所述第一终端采用与所述目标用户的密文数据相同的加密算法,对基于所述决策模型的每一所述叶节点的决策条件输出的所述预测属性值进行加密运算,得到所述目标用户的验证密文数据;
根据所述目标用户的密文数据和所述验证密文,对所述决策模型的每一所述叶节点的决策条件的决策合法性进行验证;
若验证通过,则证明基于所述决策树模型的各个决策条件得到的所述预测属性值为所述目标用户在所述第二数据存储系统中的预测属性值。
在一可选的实现方式中,根据所述目标用户的密文数据和所述验证密文,对所述决策模型的每一所述叶节点的决策条件的决策合法性进行验证,包括:
若所述目标用户的密文数据和所述验证密文数据均相同,则确定对所述决策模型的每一所述叶节点的决策条件的决策合法性验证通过;
若所述目标用户的密文数据中存在与所述验证密文数据不相同的数据,则确定对所述决策模型的每一所述叶节点的决策条件的决策合法性验证不通过。
本申请第一方面提供一种基于零知识证明的数据共享方法,通过第一终端和第二终端的协同,或者第一数据存储系统和第二数据存储系统的协同,实现通过跨平台数据进行决策树模型的训练,并根据零知识证明使得所述决策树模型在运行过程中对其中一个数据存储系统的密文数据进行准确地预测,得到所述密文数据在另一数据存储系统中对应的预测属性值,实现了跨平台数据的安全共享。
第二方面,本申请提供一种数据验证协议系统,所述数据验证协议系统包括第一终端和第二终端,所述第一终端的第一数据存储系统和所述第二终端的第二数据存储系统协同;
所述第一终端,用于获取所述第一数据存储系统中的目标用户的密文数据,并根据预先训练的决策树模型对所述密文数据进行处理时,向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求,并根据所述第二终端发送的零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值后,将所述预测属性值存储至所述第一数据存储系统;
所述第二终端,用于响应于所述验证请求,向所述第一终端发送零知识证明。
第三方面,本申请提供一种终端,所述终端为如上第二方面所述的数据验证协议系统中的第一终端,或者,所述终端为如上第二方面所述的数据验证协议系统中的第二终端。
可以理解地,本申请第二方面至第三方面提供的实施例与现有技术相比,存在的有益效果与本申请第一方面提供的实施例与现有技术相比,存在的有益效果相同,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请第一实施例提供的数据验证协议系统的系统结构图;
图2是本申请第二实施例提供的基于零知识证明的数据共享方法的交互流程图;
图3是图2中S204的具体实现流程图;
图4是本申请第三实施例提供的第一终端的结构示意图;
图5是本申请第四实施例提供的第二终端的结构示意图;
图6是本申请第五实施例提供的第一终端的结构示意图;
图7是本申请第六实施例提供的第二终端的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本方案提出一种基于零知识证明的数据共享方法、装置、设备及存储介质,通过第一终端和第二终端的协同,或者第一数据存储系统和第二数据存储系统的协同,实现通过跨平台数据进行决策树模型的训练,并根据零知识证明使得所述决策树模型在运行过程中对其中一个数据存储系统的密文数据进行准确地预测,得到所述密文数据在另一数据存储系统中对应的预测属性值,实现了跨平台数据的安全共享。
为了说明本申请实施例所提出的技术方案,下面通过具体实施例来进行说明。
首先,如图1所示,是本申请第一实施例提供的数据验证协议系统的系统结构图。由图1可知,本申请实施例提供的数据验证协议系统100包括第一终端101和第二终端102,其中,所述第一终端101和所述第二终端102协同。
所述第一终端101,用于获取所述第一数据存储系统1011中的目标用户的密文数据,并根据预先训练的决策树模型对所述密文数据进行处理时,向所述第二终端1012发起针对该目标用户在所述第二终端102的属性值的验证请求,并根据所述第二终端102发送的零知识证明,得到所述目标用户在所述第二数据存储系统1021中的预测属性值后,将所述预测属性值存储至所述第一数据存储系统1011。
所述第二终端102,用于响应所述验证请求,向所述第一终端101发送零知识证明。
如图2所示,图2是本申请第二实施例提供的基于零知识证明的数据共享方法的交互流程图。需要说明的是,本实施例提供的基于零知识证明的数据共享方法支持数据验证协议,应用于图1所示的数据验证协议系统100,所述基于零知识证明的数据共享方法由图1所示的数据验证协议系统100中的第一终端101与第二终端102相互交互实现。详述如下:
S201,所述第一终端获取所述第一数据存储系统中的目标用户的密文数据。
在本实施例中,所述第一终端与所述第二终端为具有相同用户群体的终端,例如所述第一终端可以是银行系统的终端,所述第二终端可以是保险系统的终端;所述第一数据存储系统指的是所述第一终端例如银行系统的终端对应的区块链节点、分布式数据库、云端服务器、分布式系统等第三方存储平台;所述第二数据存储系统指的是所述第二终端例如保险系统的用户终端对应的区块链节点、分布式数据库、云端服务器、分布式系统等第三方存储平台。在本实施例中,所述第一数据存储系统和所述第二数据存储系统组成网络联盟,例如所述第一数据存储系统为所述第一终端的区块链节点,所述第二数据存储系统为所述第二终端的区块链节点,所述第一数据存储系统和所述第二数据存储系统组成区块链网络联盟,所述第一数据存储系统和所述第二数据存储系统通过组成的所述区块链网络联盟,保证所述第一终端和所述第二终端的用户数据安全。
S202所述第一终端根据预先训练的决策树模型对所述密文数据进行处理,并向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求。
在本实施例中,由所述第一终端在所述第一数据存储系统中获取已匹配的预设数量的训练样本对,将所述训练样本对输入预先建立的决策模型对预先建立的决策树模型进行训练,得到所述决策树模型。
其中,任一所述训练样本对包括指定用户在所述第一数据存储系统中的第一用户密文数据和该指定用户在所述第二数据存储系统中的第二用户密文数据;
所述第一终端(例如银行系统的终端)将自有客户数据通过预设加密算法,例如逐字段加密算法加密之后上传至所述第一数据存储系统,第二终端(例如保险系统的终端)将自有客户数据通过预设加密算法加密后上传至所述第二数据存储系统;其中,所述第一终端的自有客户数据包括用户的基本数据,如年龄、银行余额、信用评分、年收入等,示例性地,第一终端将所有用户的基本数据基于用户的标识信息进行分组后存储;所述第二终端的自有客户数据包括用户的保险数据,如保单数据、理赔交易数据(理赔交易日、理赔额)等,同样,第二终端所有用户的保险数据基于用户的标识信息进行分组存储;
作为示例而非限定,所述预设加密算法为字段级机密算法,具体地,所述第一终端生成节点私钥,并根据该节点私钥生成各用户信息字段的加密密钥。第一终端的每个用户的用户基本数据皆用一个独一无二的密钥进行加密,实现字段级加密,每个密钥皆由根密钥动态生成。该设计允许第一终端可随时灵活地向某指定参与方共享指定字段的数据。可以理解地,所述第二终端可以通过相同的加密算法对保险系统中每个用户的保险数据进行加密,得到对应的加密数据。
进一步地,第一终端将加密后的用户基本数据对应的用户密文数据写入第一数据存储系统中,并记录写入该用户密文数据的时间戳信息,广播该用户密文数据到网络联盟的各个存储节点中,以区块链为例,区块链的各个存储节点对该用户密文数据进行共识,当共识通过时,生成带有用户密文数据的开票信息的区块,将该区块加入到网络联盟中,所述网络联盟中的其他各存储节点将同样储存该用户密文数据的副本。可以理解地,所述第二终端可以通过与所述第一终端相同的加密算法得到对应的用户密文数据,并将得到的用户密文数据广播至对应的网络联盟中。
对应地,所述第一终端可以在第一数据存储系统中利用预设的智能合约技术将来自所述第二数据存储系统中的第二用户密文数据与存储在所述第一数据存储系统中的第二用户密文数据进行匹配,得到相匹配的所述第一用户密文数据和所述第二用户密文数据。在实施例中,所述第一用户密文数据和所述第二用户密文数据均包括用户ID,所述第一终端利用所述预设的智能合约技术将来自第一终端的用户ID和来自第二终端的用户ID进行匹配,得到相匹配的所述第一用户密文数据和所述第二用户密文数据。
在本申请的实施例中,将所述训练样本对输入预先建立的决策模型,对预先建立的决策树模型进行训练,得到所述决策树模型,包括:
将所述训练样本对输入预先建立的决策模型,针对任一指定用户对应的所述训练样本对,以该指定用户的用户标识信息为所述决策模型的根节点,以该指定用户的所述第一用户数据为该根节点的各个叶节点的属性对象,以该指定用户的所述第二用户数据为该根节点的各个所述叶节点的属性对象的属性值,对预先建立的决策树模型进行训练,得到所述决策树模型。
具体地,将所述第一数据设置为所述决策树模型的各个节点的属性信息(例如,用户年龄、银行余额、信用评分、年收入等),将所述第二数据设置为所述决策树模型的各个节点的属性值(如保单数据、理赔交易日、理赔额等),对预先建立的决策树模型进行训练,得到训练之后的决策树模型。
在本实施例中,所述第一终端根据所述决策树模型对目标用户的所述密文数据进行处理,并向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求。可以理解地,所述第一终端根据所述决策树模型对目标用户的所述密文数据进行处理后,可以得到该目标用户对应在第二数据存储系统中的多个属性值。在本实施例中,为了进一步从所述决策树模型预测的所述目标用户在所述第二数据存储系统中的多个所述属性值中得到准确的属性值,以所述决策树模型的每一所述叶节点的决策条件作为验证请求的验证参数,向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求。示例性地,所述第一终端在通过所述决策树模型对目标用户的密文数据进行处理之后,可以得到所述决策树模型的每一叶节点的决策条件。
S203,所述第二终端响应于所述验证请求,向所述第一终端发送零知识证明。
示例性地,所述第二终端响应于所述验证请求,基于所述每一叶节点的决策条件和所述决策树模型输出的所述预测属性值向所述第一终端发送所述零知识证明。可以理解地,所述第二终端在接收到上述验证请求后,根据所述验证请求对应的验证参数和所述决策树模型输出的所述预测属性值向所述第一终端发送零知识证明。
示例性地,所述第二终端采用与所述目标用户的密文数据相同的加密算法Z,对基于所述决策模型的每一叶节点的决策条件的到的该目标用户的预测属性值进行加密运算,得到针对该目标用户的验证密文数据;然后,将所述验证密文数据作为所述零知识证明发送至所述第一终端。
S204,所述第一终端根据所述零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值,将所述预测属性值存储至所述第一数据存储系统。
在本实施例中,所述第一终端在接收到上述零知识证明后,就可以基于该零知识证明,对决策模型的每一叶节点的决策条件的决策合法性进行验证。具体地,所述第一终端通过比对所述目标用户的密文数据和验证密文数据是否相等。
如果所述目标用户的密文数据和验证密文数据均是采用相同的加密算法进行合法加密的,那么根据对应的相同操作得到的加密结果应该相同。因此,通证针对该目标用户的密文数据的第一结果和针对该目标用户的验证密文数据的第二结果是否相等,来验证基于所述决策树模型的各个决策条件得到的预测属性值是否是该目标用户在第二终端的属性值。
如果验证第一结果等于第二结果,那么零知识证明验证通过,证明基于所述决策树模型的各个决策条件得到的预测属性值是该目标用户在第二终端的属性值。
通过上述分析可知,本申请实施例提供的基于零知识证明的数据共享方法,通过第一终端和第二终端的协同,或者第一数据存储系统和第二数据存储系统的协同,实现通过跨平台数据进行决策树模型的训练,并根据零知识证明使得所述决策树模型在运行过程中对其中一个数据存储系统的密文数据进行准确地预测,得到所述密文数据在另一数据存储系统中对应的预测属性值,实现了跨平台数据的安全共享。
如图3所示,图3是图2中S204的具体实现流程图。由图3可知,在本实施例中,S204包括S2041至S2043,详述如下:
S2041,所述第一终端采用与所述目标用户的密文数据相同的加密算法,对基于所述决策模型的每一所述叶节点的决策条件输出的所述预测属性值进行加密运算,得到所述目标用户的验证密文数据。
S2042,根据所述目标用户的密文数据和所述验证密文,对所述决策模型的每一所述叶节点的决策条件的决策合法性进行验证。
示例性地,若所述目标用户的密文数据和所述验证密文数据均相同,则确定对所述决策模型的每一所述叶节点的决策条件的决策合法性验证通过;
若所述目标用户的密文数据中存在与所述验证密文数据不相同的数据,则确定对所述决策模型的每一所述叶节点的决策条件的决策合法性验证不通过。
S2043,若验证通过,则证明基于所述决策树模型的各个决策条件得到的所述预测属性值为所述目标用户在所述第二数据存储系统中的预测属性值,将所述预测属性值存储至所述第一数据存储系统。
通过上述分析可知,在本实施例中,通过第一终端和第二终端的协同,或者第一数据存储系统和第二数据存储系统的协同,实现通过跨平台数据进行决策树模型的训练,并根据零知识证明使得所述决策树模型在运行过程中对其中一个数据存储系统的密文数据进行准确地预测,得到所述密文数据在另一数据存储系统中对应的预测属性值,实现了跨平台数据的安全共享。
如图4所示,是本申请第三实施例提供的第一终端的结构示意图。需要说明的是,本实施例提供的第一终端400包括的各模块用于执行图2对应的实施例中第一终端的各步骤,具体请参阅图2对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。如图4所示,所述第一终端400包括:
获取模块401,用于获取所述第一数据存储系统中的目标用户的密文数据,
处理模块402,用于根据预先训练的决策树模型对所述密文数据进行处理时,向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求。
得到模块403,用于根据所述第二终端发送的零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值后,将所述预测属性值存储至所述第一数据存储系统。
如图5所示,是本申请第四实施例提供的第二终端的结构示意图。需要说明的是,本实施例提供的第二终端500包括的各模块用于执行图2对应的实施例中第二终端的各步骤,具体请参阅图2对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。如图5所示,所述第二终端500包括:
响应模块501,用于响应第一终端发送的验证请求;
发送模块502,用于向所述第一终端发送零知识证明。
图6是本申请第五实施例提供的第一终端的结构示意图。如图6所示,该实施例的第一终端6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述图2所述方法中第一终端实现的步骤。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述第一终端6的内部存储单元,例如第一终端6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述第一终端6的外部存储设备,例如所述第一终端6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述第一终端6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图7是本申请第六实施例提供的第二终端的结构示意图。如图7所示,该实施例的第二终端7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述图2所述方法中第二终端实现的步骤。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述第一终端6的内部存储单元,例如第二终端7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述第二终端7的外部存储设备,例如所述第二终端7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述第二终端7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于零知识证明的数据共享方法,其特征在于,所述方法应用于数据验证协议系统,所述数据验证协议系统包括第一终端和第二终端,所述第一终端的第一数据存储系统和所述第二终端的第二数据存储系统协同;所述方法包括:
所述第一终端获取所述第一数据存储系统中的目标用户的密文数据;
所述第一终端根据预先训练的决策树模型对所述密文数据进行处理,并向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求;
所述第二终端响应于所述验证请求,向所述第一终端发送零知识证明;
所述第一终端根据所述零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值,将所述预测属性值存储至所述第一数据存储系统。
2.如权利要求1所述的方法,其特征在于,在所述第一终端根据预先训练的决策树模型对所述密文数据进行处理,并根据所述目标用户的密文数据发起针对该目标用户在所述第二终端的属性值的验证请求之前,包括:
所述第一终端在所述第一数据存储系统中获取已匹配的预设数量的训练样本对,任一所述训练样本对包括指定用户在所述第一数据存储系统中的第一用户密文数据和该指定用户在所述第二数据存储系统中的第二用户密文数据;
将所述训练样本对输入预先建立的决策模型对预先建立的决策树模型进行训练,得到所述决策树模型。
3.如权利要求2所述的方法,其特征在于,在所述第一数据存储系统中获取已匹配的预设数量的训练样本对之前,包括:
所述第一终端在所述第一数据存储系统中利用预设的智能合约技术将来自所述第二数据存储系统中的第二用户密文数据与存储在所述第一数据存储系统中的第二用户密文数据进行匹配,得到相匹配的所述第一用户密文数据和所述第二用户密文数据。
4.如权利要求2或3所述的方法,其特征在于,将所述训练样本对输入预先建立的决策模型,对预先建立的决策树模型进行训练,得到所述决策树模型,包括:
将所述训练样本对输入预先建立的决策模型,针对任一指定用户对应的所述训练样本对,以该指定用户的用户标识信息为所述决策模型的根节点,以该指定用户的所述第一用户数据为该根节点的各个叶节点的属性对象,以该指定用户的所述第二用户数据为该根节点的各个所述叶节点的属性对象的属性值,对预先建立的决策树模型进行训练,得到所述决策树模型。
5.如权利要求4所述的方法,其特征在于,所述向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求,包括:
以所述决策树模型的每一所述叶节点的决策条件作为所述验证请求的验证参数,向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求。
6.如权利要求5所述的方法,其特征在于,所述第二终端响应于所述验证请求,向所述第一终端发送零知识证明,包括:
所述第二终端响应于所述验证请求,基于所述每一叶节点的决策条件和所述决策树模型输出的所述预测属性值向所述第一终端发送所述零知识证明。
7.如权利要求6所述的方法,其特征在于,所述第一终端根据所述零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值,包括:
所述第一终端采用与所述目标用户的密文数据相同的加密算法,对基于所述决策模型的每一所述叶节点的决策条件输出的所述预测属性值进行加密运算,得到所述目标用户的验证密文数据;
根据所述目标用户的密文数据和所述验证密文,对所述决策模型的每一所述叶节点的决策条件的决策合法性进行验证;
若验证通过,则证明基于所述决策树模型的各个决策条件得到的所述预测属性值为所述目标用户在所述第二数据存储系统中的预测属性值。
8.如权利要求7所述的方法,其特征在于,根据所述目标用户的密文数据和所述验证密文,对所述决策模型的每一所述叶节点的决策条件的决策合法性进行验证,包括:
若所述目标用户的密文数据和所述验证密文数据均相同,则确定对所述决策模型的每一所述叶节点的决策条件的决策合法性验证通过;
若所述目标用户的密文数据中存在与所述验证密文数据不相同的数据,则确定对所述决策模型的每一所述叶节点的决策条件的决策合法性验证不通过。
9.一种数据验证协议系统,其特征在于,所述数据验证协议系统包括第一终端和第二终端,所述第一终端的第一数据存储系统和所述第二终端的第二数据存储系统协同;
所述第一终端,用于获取所述第一数据存储系统中的目标用户的密文数据,并根据预先训练的决策树模型对所述密文数据进行处理时,向所述第二终端发起针对该目标用户在所述第二终端的属性值的验证请求,并根据所述第二终端发送的零知识证明,得到所述目标用户在所述第二数据存储系统中的预测属性值后,将所述预测属性值存储至所述第一数据存储系统;
所述第二终端,用于响应所述验证请求,向所述第一终端发送零知识证明。
10.一种终端,其特征在于,所述终端为如权利要求8所述的数据验证协议系统中的第一终端,或者,所述终端为如权利要求8所述的数据验证协议系统中的第二终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010753297.4A CN111817859A (zh) | 2020-07-30 | 2020-07-30 | 基于零知识证明的数据共享方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010753297.4A CN111817859A (zh) | 2020-07-30 | 2020-07-30 | 基于零知识证明的数据共享方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111817859A true CN111817859A (zh) | 2020-10-23 |
Family
ID=72863326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010753297.4A Pending CN111817859A (zh) | 2020-07-30 | 2020-07-30 | 基于零知识证明的数据共享方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817859A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435121A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 基于联邦学习的模型训练验证方法、装置、设备及介质 |
CN116668968A (zh) * | 2023-07-25 | 2023-08-29 | 西安优光谱信息科技有限公司 | 跨平台通讯的信息处理方法及系统 |
-
2020
- 2020-07-30 CN CN202010753297.4A patent/CN111817859A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435121A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 基于联邦学习的模型训练验证方法、装置、设备及介质 |
CN113435121B (zh) * | 2021-06-30 | 2023-08-22 | 平安科技(深圳)有限公司 | 基于联邦学习的模型训练验证方法、装置、设备及介质 |
CN116668968A (zh) * | 2023-07-25 | 2023-08-29 | 西安优光谱信息科技有限公司 | 跨平台通讯的信息处理方法及系统 |
CN116668968B (zh) * | 2023-07-25 | 2023-10-13 | 西安优光谱信息科技有限公司 | 跨平台通讯的信息处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
CN111737724B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
CN109819443B (zh) | 基于区块链的注册认证方法、装置及系统 | |
CN110933163B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
JP2022000757A5 (zh) | ||
CN110245186B (zh) | 一种基于区块链的业务处理方法及相关设备 | |
CN110633963B (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
TW202018571A (zh) | 基於區塊鏈的資料存證方法及裝置、電子設備 | |
CN111523890A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN112087502A (zh) | 处理请求的方法、装置、设备及存储介质 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及系统 | |
CN111340483A (zh) | 一种基于区块链的数据管理方法及相关设备 | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
CN113037505B (zh) | 一种可信Web应用的实现方法及系统 | |
CN113656497A (zh) | 一种基于区块链的数据验证方法和装置 | |
CN110381114B (zh) | 接口请求参数的处理方法、装置、终端设备及介质 | |
CN110766407A (zh) | 基于区块链的交易验证方法、记账节点及介质 | |
CN117040930B (zh) | 区块链网络的资源处理方法、装置、产品、设备和介质 | |
CN113407213B (zh) | 资源包更新方法、装置、设备及存储介质 | |
CN112035863B (zh) | 一种基于智能合约方式的电子合同取证方法及系统 | |
CN114401096B (zh) | 区块链数据的上链控制方法、装置、设备及存储介质 | |
CN114780986B (zh) | 认证数据的处理方法、装置、电子设备及介质 | |
CN113645042A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN116248254A (zh) | 一种协议验证、存储方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |