CN110781503B - 数据调用方法、装置及计算机可读存储介质 - Google Patents

数据调用方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN110781503B
CN110781503B CN201910885396.5A CN201910885396A CN110781503B CN 110781503 B CN110781503 B CN 110781503B CN 201910885396 A CN201910885396 A CN 201910885396A CN 110781503 B CN110781503 B CN 110781503B
Authority
CN
China
Prior art keywords
commitment
value
data
sub
calculating
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
Application number
CN201910885396.5A
Other languages
English (en)
Other versions
CN110781503A (zh
Inventor
张鹏程
贾牧
陆陈一帆
谢丹力
蒋福强
张小利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201910885396.5A priority Critical patent/CN110781503B/zh
Publication of CN110781503A publication Critical patent/CN110781503A/zh
Priority to PCT/CN2020/106008 priority patent/WO2021052033A1/zh
Application granted granted Critical
Publication of CN110781503B publication Critical patent/CN110781503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Abstract

本发明涉及一种基础运维技术,揭露了一种数据调用方法,包括:接收用户输入的数据集,并存储至数据调用系统的节点中,接收所述数据集的调用请求,计算所述节点的承诺值,将所述数据划分为多个子数据集,基于所述子数据集计算得到子承诺值,基于所述子承诺值求解得到总承诺值,若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求,若所述总承诺值与所述承诺值相同,计算所述子数据集对应的承诺‑证据值对,基于范围证明法判断所述承诺‑证据值对是否满足预设条件,若所述承诺‑证据值对满足所述预设条件,则响应所述调用请求,完成数据调用。本发明还提出一种数据调用装置以及一种计算机可读存储介质。本发明可以实现高效的数据调用功能。

Description

数据调用方法、装置及计算机可读存储介质
技术领域
本发明涉及基础运维技术领域,尤其涉及一种数据调用的方法、装置及计算机可读存储介质。
背景技术
数据调用是将预先存储在预设位置的对应数据取出并使用。对于敏感型数据,如用户身份信息,还需先对数据调用的请求方进行安全性验证或对取出的经过加密的敏感数据进行解密。然而,随着数据调用请求的不断增多,现有的处理方式,使得数据调用的效率大大降低。因此,如何实现高效的调取数据是目前阶段急需解决的问题。
发明内容
本发明提供一种数据调用方法、装置及计算机可读存储介质,其主要目的在于根据用户的调用请求而进行数据调用。
为实现上述目的,本发明提供的一种数据调用方法,包括:
接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中;
接收所述数据集的调用请求,基于所述调用请求计算所述数据集的承诺值;
将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值;
若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求;
若所述总承诺值与所述承诺值相同,计算所述子数据集对应的承诺-证据值对,基于范围证明法判断所述承诺-证据值对是否满足预设条件;
若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点调用所述数据集反馈给所述用户。
可选地,所述计算所述数据集的承诺值的计算公式为:
V=commit(v,γ)=vG+γH
其中,V为所述承诺值,v所述节点内的数据值,γ为第一盲因子,G为所述数据调用系统所依赖的椭圆曲线的基点坐标值,H为所述数据调用系统中所依赖的椭圆曲线中的随机点坐标值。
可选地,所述基于所述子承诺值计算得到总承诺值,包括:
随机生成一个或多个第二盲因子,基于所述第一盲因子和所述第二盲因子计算得到第三盲因子,将所述第二盲因子和所述第三盲因子作为盲因子集,其中,所述第二盲因子的个数比所述子数据集的个数少一;
基于所述盲因子集和所述子数据集计算得到子承诺值;
基于加法同态性原则计算所述子承诺值得到所述总承诺值。
可选地,所述计算所述子数据集对应的承诺-证据值对,包括:
基于各所述子数据集的子承诺值计算对应子数据集的证据值;
将所述证据值与所述子承诺值进行预设方式的组合得到所述承诺-证据值对。
可选地,所述基于范围证明法判断所述承诺-证据值对是否满足预设条件包括:
随机生成一个或多个制约因子,所述制约因子的个数比所述子数据集的个数少一;
基于所述制约因子构建概率公式;
根据所述概率公式和所述承诺-证据值进行范围证明,生成范围值;
判断所述范围值与预设范围值的大小关系从而判断所述承诺-证据值对是否满足预设条件。
此外,为实现上述目的,本发明还提供一种数据调用装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的数据调用程序,所述数据调用程序被所述处理器执行时实现如下步骤:
接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中;
接收所述数据集的调用请求,基于所述调用请求计算所述数据集的承诺值;
将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值;
若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求;
若所述总承诺值与所述承诺值相同,计算所述子数据集对应的承诺-证据值对,基于范围证明法判断所述承诺-证据值对是否满足预设条件;
若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点调用所述数据集反馈给所述用户。
可选地,所述计算所述数据集的承诺值的计算公式为:
V=commit(v,γ)=vG+γH
其中,V为所述承诺值,v所述节点内的数据值,γ为第一盲因子,G为所述数据调用系统所依赖的椭圆曲线的基点坐标值,H为所述数据调用系统中所依赖的椭圆曲线中的随机点坐标值。
可选地,所述基于所述子承诺值计算得到总承诺值,包括:
随机生成一个或多个第二盲因子,基于所述第一盲因子和所述第二盲因子计算得到第三盲因子,将所述第二盲因子和所述第三盲因子作为盲因子集,其中,所述第二盲因子的个数比所述子数据集的个数少一;
基于所述盲因子集和所述子数据集计算得到子承诺值;
基于加法同态性原则计算所述子承诺值得到所述总承诺值。
可选地,所述计算所述子数据集对应的承诺-证据值对,包括:
基于各所述子数据集的子承诺值计算对应子数据集的证据值;
将所述证据值与所述子承诺值进行预设方式的组合得到所述承诺-证据值对。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据调用程序,所述数据调用程序可被一个或者多个处理器执行,以实现如上所述的数据调用方法的步骤。
本发明通过将数据集拆分为多个子数据集,并采用范围证明法将多个子数据集进行统一验证,极大的降低点乘的个数,从而实现在数据调用时范围验证环节的效率优化;另外,通过判断承诺值和总承诺值是否相同,避免了不合理的数据调用进入上述范围证明环节,并基于所述范围证明法得到承诺-证据值,判断所述承诺-证据值是否满足预设条件,达到双重验证效果,在确保数据调用安全性的同时,同时简化数据调用的流程,避免繁琐计算,释放计算压力。本发明提出的数据调用方法、装置及计算机可读存储介质,可以实现精准高效的数据调用功能。
附图说明
图1为本发明一实施例提供的数据调用方法的流程示意图;
图2为本发明一实施例提供的数据调用装置的内部结构示意图;
图3为本发明一实施例提供的数据调用装置中数据调用程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据调用方法。参照图1所示,为本发明一实施例提供的数据调用方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,数据调用方法包括:
S1、接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中。
优选地,所述数据调用系统可基于区块链技术或其他分布式存储系统技术等,所述数据调用系统是基于分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型数据管理系统。如在金融交易中,用户A将公司X与公司Y的贸易支出数据存储在所述数据调用系统中,所述贸易支出数据即为用户输入的所述数据集。
较佳地,所述节点是为了确认保证数据调用有效性和安全性而开发的独立单元,所述节点越多,所述数据集的调用有效性和安全性就越高,因此所述数据调用系统中较佳地可将所述数据集存储在多个节点内。
S2、接收所述数据集的调用请求,基于所述调用请求计算所述数据集的承诺值。
较佳地,如在上述金融交易中,用户A将公司X与公司Y的贸易支出数据存储在所述数据调用系统中,用户A需要从所述数据调用系统中提取所述贸易支出数据,则需要发出调用请求。
本发明较佳实施例中,所述数据调用系统计算所述节点的承诺值包括:读取所述节点内的数据值,根据椭圆曲线法计算所述数据值的承诺值。
较佳地,所述承诺值的计算方法为:
V=commit(v,γ)=vG+γH
其中,V为所述承诺值,较佳地以向量形式,v所述节点内的数据值,γ为第一盲因子(Blinding Factor),由所述数据调用系统随机产生,G为所述数据调用系统所依赖的椭圆曲线的基点的坐标值,所述基点可用坐标表示或基于椭圆公式y2=x3+ax+b求解所述基点的y或x(所述基点又称私有密钥,根据ECC保密通信算法知,当所述基点确定后,可确定公有密钥,基于所述公有密钥可将所述椭圆曲线变成离散点,基于所述离散度可得到本发明的所述承诺值),H为所述数据调用系统中所依赖的椭圆曲线中的随机点坐标值(所述随机点可用坐标表示,也可用椭圆公式y2=x3+ax+b,当确定一个x值后,基于所述椭圆公式,随机点也可确定)。
S3、将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值。
优选地,本发明较佳实施例将所述数据集v=(v1,v2,…,vn),n为所述数据集的数据总量,划分为m组子数据集,每组为k个数据,则n,m,k的关系为:n=m*k,总结来说,v被划分为m组子数据集的公式如下:
v1=(v1,v2,…,vk)
v2=(vk+1,vk+2,…,v2k)
……
vm-1=(v(m-2)k+1,v(m-2)k+2,…,v(m-2)k)
vm=(v(m-1)k+1,v(m-2)k+2,…,v(m)k)
较佳地,所述计算所述多个子数据集的子承诺值,基于所述子承诺值求解得到总承诺值,包括:随机生成一个或多个第二盲因子,基于所述第一盲因子和所述第二盲因子计算得到第三盲因子,将所述第二盲因子和所述第三盲因子作为盲因子集,其中,所述第二盲因子的个数比所述子数据集的个数少一;基于所述盲因子集和所述子数据集计算得到子承诺值;基于加法同态性原则计算所述子承诺值得到所述总承诺值。
优选地,所述第三盲因子的计算公式为:
Figure GDA0003493805330000061
其中,γ1为所述第三盲因子,γ为所述第一盲因子,γi为所述第二盲因子,2(i-1)k为加权值。
进一步地,所述基于所述盲因子集和所述子数据集计算得到子承诺值的计算方法与节点计算承诺值方法相同为:
Vi=commit(vii)=viG+γiHi
其中,i表示所述子数据集的编号,Vi表示所述子数据集i对应的子承诺值。
优选地,所述加法同态性原则是指在保证数据机密性的同时,通过验证所述节点的输入数据等于输出数据,从而验证所述节点输入输出的合理性,例如一笔交易的输入数据为vin1、vin2,输出数据为vout1、vout2,如果该项交易是合理的,则有vin1+vin2=vout1+vout2,所述加法同态性原则的表达式为:
commit(vin1,γin1)+commit(vin2,γin2)=commit(vout1,γout1)+commit(vout2,γout2)
其中,(yin1,yin2,yout1,yout2)为所述盲因子集。
所述基于加法同态性原则计算所述子承诺值得到所述总承诺值的计算方法为:
Figure GDA0003493805330000062
其中,Vsum为所述总承诺值,2(i-1)k为加权值,Vi为所述子数据集的子承诺值。
进一步地,判断所述总承诺值Vsum与所述承诺值V是否相同。
S4、判断所述总承诺值与所述承诺值是否相同。
S5、若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求。
优选地,如在上述金融交易中,用户A需要从所述数据调用系统中提取所述贸易支出数据,发出调用请求后,本发明计算得到所述总承诺值Vsum与所述承诺值V不相同,则拒绝所述调用请求,同时返回拒绝所述调用请求的原因是总承诺值Vsum与所述承诺值V不相同,方便用户进行数据追溯。
S6、若所述总承诺值与所述承诺值相同,计算所述子数据集对应的承诺-证据值对。
优选地,所述计算所述子数据集对应的承诺-证据值对,包括:基于各所述子数据集的子承诺值计算对应子数据集的证据值,将所述证据值与所述子承诺值进行预设方式的组合得到所述承诺-证据值对。
进一步地,所述基于各所述子数据集的子承诺值计算对应子数据集的证据值的计算方法为:
较佳地,所述证据值用bp(v,γ)表示,所述证据值由椭圆曲线群(每个子数据集代表一个椭圆曲线群,因此多个子数据集可组成所述椭圆曲线群)的基本坐标数据和公共参数运算得到的,由此所述证据值为:
Figure GDA0003493805330000071
其中:
Figure GDA0003493805330000072
为v的二进制展开,即
Figure GDA0003493805330000073
Figure GDA0003493805330000074
Figure GDA0003493805330000075
Figure GDA0003493805330000076
Figure GDA0003493805330000077
Figure GDA0003493805330000078
Figure GDA0003493805330000079
τ=z2·γ+τ1·x+τ2·x2∈Zp
μ=α+ρ·x∈Zp
Figure GDA00034938053300000710
Figure GDA00034938053300000711
进一步地,上述
Figure GDA00034938053300000712
为v的二进制展开,即
Figure GDA00034938053300000713
为所述子承诺值的二进制展开,即
Figure GDA00034938053300000714
α,ρ,τ12∈Zp是所述证明值生成的随机数,
Figure GDA00034938053300000715
是所述证明值生成的n维随机向量,z,y,x∈Zp:y=Hash(A,S),z=Hash(A,S,y),x=Hash(T1,T2,z),Hash(·)表示哈希函数,例如SHA256,sm3等。
更进一步地:
Figure GDA0003493805330000081
阶为素数p的椭圆曲线群,G为其基点
Figure GDA0003493805330000082
Figure GDA0003493805330000083
上的n维向量空间
Zp:模p整环。Zp *表示Zp\{0}
Zp n:Zp上的n维向量空间
小写字母a,b,c表示ZP中的元素,大写字母G,H表示椭圆曲线群
Figure GDA0003493805330000084
中的元素。
Figure GDA0003493805330000085
表示向量,其中,
Figure GDA0003493805330000086
表示所述子承诺值的集合,即
Figure GDA0003493805330000087
ai∈Zp,1≤i≤n,即
Figure GDA0003493805330000088
其中
Figure GDA0003493805330000089
1≤i≤n。
Figure GDA00034938053300000810
均表示向量形式,如
Figure GDA00034938053300000811
对于c∈Zp
Figure GDA00034938053300000812
本发明用
Figure GDA00034938053300000813
表示椭圆曲线群
Figure GDA00034938053300000814
上的点乘运算,对于c∈Zp
Figure GDA00034938053300000815
我们记
Figure GDA00034938053300000816
Figure GDA00034938053300000817
其中
Figure GDA00034938053300000818
bi=c·ai
<-.->表示向量内积,对于
Figure GDA00034938053300000819
对于
Figure GDA00034938053300000820
Figure GDA00034938053300000827
表示Hadamard积或按位乘,即对于
Figure GDA00034938053300000821
Figure GDA00034938053300000822
对于k∈Zp *,我们记kn=(1,k,k2,…,kn-1)∈(Zp *)n,,例如2n=(1,2,4,…,2n-1)∈(Zp *)n
所述椭圆曲线群
Figure GDA00034938053300000823
的基点G;
Figure GDA00034938053300000824
为群中的随机点;
Figure GDA00034938053300000825
Figure GDA00034938053300000826
(n表示n比特的范围证明)。
较佳地,所述将所述证据值与所述子承诺值进行相应组合得到所述承诺-证据值对,如在上述中,将所述数据集分为m组子数据集,每组为k个数据时,则所述承诺-证据值对分别为:
{V(1)=commit(v(1),γ(1)),bp(v(1),γ(1))={A(1),S(1),T1(1),T2(1),t(1),τ(1),μ(1),l(1),r(1)};
{V(2)=commit(v(2),γ(2)),bp(v(2),γ(2))={A(2),S(2),T1(2),T2(2),t(2),τ(2),μ(2),l(2),r(2)};
…………
{V(m)=commit(v(m),γ(m)),bp(v(m),γ(m))={A(m),S(m),T1(m),T2(m),t(m),τ(m),μ(m),l(m),r(m)}
其中,{V(1),bp(v(1),γ(1))},{V(2),bp(v(2),γ(2))},{V(m),bp(v(m),γ(m))}分别为不同子数据集对应的承诺-证据值对。
S7、基于范围证明法判断所述承诺-证据值对是否满足预设条件。
优选地,所述基于范围证明法判断所述承诺-证据值对是否满足预设条件,包括:随机生成一个或多个制约因子,所述制约因子的个数比所述子数据集的个数少一,基于所述制约因子构建概率公式,根据所述概率公式和所述承诺-证据值进行范围证明,生成范围值,判断所述范围值与预设范围值的大小关系从而判断所述承诺-证据值对是否满足预设条件。
进一步地,所述概率公式为A11A2+…+βm-1Am=0,其中β1、β2,…,βm-1为所述制约因子,A1,A2,…,Am=0分别为上述证据值内的参数。
较佳地,所述范围证明生成范围值的计算方法为:
Figure GDA0003493805330000091
其中,M为所述范围值,其他参数已在上述中详细说明。
S8、若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点中调用所述数据集反馈给所述用户。
较佳地,如预设范围值为0,而求解的范围值为-1,所述预设条件为所述范围值小于所述预设范围值时,则范围值为-1时拒绝所述调用请求,若范围值为1时,则所述范围值大于所述预设范围值,则满足所述预设条件,响应所述调用请求,完成数据调用。若数据集预先存储在分布式存储系统中的多个节点服务器中,则可选择任一节点服务器中与调用请求对应的数据集反馈给用户,或者可根据负载均衡策略选择对应的节点服务器反馈数据集,在这里不做限定。
发明还提供一种数据调用装置。参照图2所示,为本发明一实施例提供的数据调用装置的内部结构示意图。
在本实施例中,所述数据调用装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该数据调用装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是数据调用装置1的内部存储单元,例如该数据调用装置1的硬盘。存储器11在另一些实施例中也可以是数据调用装置1的外部存储设备,例如数据调用装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括数据调用装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于数据调用装置1的应用软件及各类数据,例如数据调用程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据调用程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数据调用装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及数据调用程序01的数据调用装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对数据调用装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有数据调用程序01;处理器12执行存储器11中存储的数据调用程序01时实现如下步骤:
步骤一、接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中。
优选地,所述数据调用系统可基于区块链技术或其他分布式存储系统技术等,所述数据调用系统是基于分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型数据管理系统。如在金融交易中,用户A将公司X与公司Y的贸易支出数据存储在所述数据调用系统中,所述贸易支出数据即为用户输入的所述数据集。
较佳地,所述节点是为了确认保证数据调用有效性和安全性而开发的独立单元,所述节点越多,所述数据集的调用有效性和安全性就越高,因此所述数据调用系统中较佳地可将所述数据集存储在多个节点内。
步骤二、接收所述数据集的调用请求,基于所述调用请求计算所述数据集的承诺值。
较佳地,如在上述金融交易中,用户A将公司X与公司Y的贸易支出数据存储在所述数据调用系统中,用户A需要从所述数据调用系统中提取所述贸易支出数据,则需要发出调用请求。
本发明较佳实施例中,所述数据调用系统计算所述节点的承诺值包括:读取所述节点内的数据值,根据椭圆曲线法计算所述数据值的承诺值。
较佳地,所述承诺值的计算方法为:
V=commit(v,γ)=vG+γH
其中,V为所述承诺值,较佳地以向量形式,v所述节点内的数据值,γ为第一盲因子(Blinding Factor),由所述数据调用系统随机产生,G为所述数据调用系统所依赖的椭圆曲线的基点的坐标值,所述基点可用坐标表示或基于椭圆公式y2=x3+ax+b求解所述基点的y或x(所述基点又称私有密钥,根据ECC保密通信算法知,当所述基点确定后,可确定公有密钥,基于所述公有密钥可将所述椭圆曲线变成离散点,基于所述离散度可得到本发明的所述承诺值),H为所述数据调用系统中所依赖的椭圆曲线中的随机点坐标值(所述随机点可用坐标表示,也可用椭圆公式y2=x3+ax+b,当确定一个x值后,基于所述椭圆公式,随机点也可确定)。
步骤三、将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值。
优选地,本发明较佳实施例将所述数据集v=(v1,v2,…,vn),n为所述数据集的数据总量,划分为m组子数据集,每组为k个数据,则n,m,k的关系为:n=m*k,总结来说,v被划分为m组子数据集的公式如下:
v1=(v1,v2,…,vk)
v2=(vk+1,vk+2,…,v2k)
……
vm-1=(v(m-2)k+1,v(m-2)k+2,…,v(m-2)k)
vm=(v(m-1)k+1,v(m-2)k+2,…,v(m)k)
较佳地,所述计算所述多个子数据集的子承诺值,基于所述子承诺值求解得到总承诺值,包括:随机生成一个或多个第二盲因子,基于所述第一盲因子和所述第二盲因子计算得到第三盲因子,将所述第二盲因子和所述第三盲因子作为盲因子集,其中,所述第二盲因子的个数比所述子数据集的个数少一;基于所述盲因子集和所述子数据集计算得到子承诺值;基于加法同态性原则计算所述子承诺值得到所述总承诺值。
优选地,所述第三盲因子的计算公式为:
Figure GDA0003493805330000121
其中,γ1为所述第三盲因子,γ为所述第一盲因子,γi为所述第二盲因子,2(i-1)k为加权值。
进一步地,所述基于所述盲因子集和所述子数据集计算得到子承诺值的计算方法与节点计算承诺值方法相同为:
Vi=commit(vii)=viG+γiHi
其中,i表示所述子数据集的编号,Vi表示所述子数据集i对应的子承诺值。
优选地,所述加法同态性原则是指在保证数据机密性的同时,通过验证所述节点的输入数据等于输出数据,从而验证所述节点输入输出的合理性,例如一笔交易的输入数据为vin1、vin2,输出数据为vout1、vout2,如果该项交易是合理的,则有vin1+vin2=vout1+vout2,所述加法同态性原则的表达式为:
commit(vin1,γin1)+commit(vin2,γin2)=commit(vout1,γout1)+commit(vout2,γout2)
其中,(yin1,yin2,yout1,yout2)为所述盲因子集。
所述基于加法同态性原则计算所述子承诺值得到所述总承诺值的计算方法为:
Figure GDA0003493805330000131
其中,Vsum为所述总承诺值,2(i-1)k为加权值,Vi为所述子数据集的子承诺值。
进一步地,判断所述总承诺值Vsum与所述承诺值V是否相同。
步骤四、判断所述总承诺值与所述承诺值是否相同。
步骤五、若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求。
优选地,如在上述金融交易中,用户A需要从所述数据调用系统中提取所述贸易支出数据,发出调用请求后,本发明计算得到所述总承诺值Vsum与所述承诺值V不相同,则拒绝所述调用请求,同时返回拒绝所述调用请求的原因是总承诺值Vsum与所述承诺值V不相同,方便用户进行数据追溯。
步骤六、若所述总承诺值与所述承诺值相同,计算所述子数据集对应的承诺-证据值对。
优选地,所述计算所述子数据集对应的承诺-证据值对,包括:基于各所述子数据集的子承诺值计算对应子数据集的证据值,将所述证据值与所述子承诺值进行预设方式的组合得到所述承诺-证据值对。
进一步地,所述基于各所述子数据集的子承诺值计算对应子数据集的证据值的计算方法为:
较佳地,所述证据值用bp(v,γ)表示,所述证据值由椭圆曲线群(每个子数据集代表一个椭圆曲线群,因此多个子数据集可组成所述椭圆曲线群)的基本坐标数据和公共参数运算得到的,由此所述证据值为:
Figure GDA0003493805330000132
其中:
Figure GDA0003493805330000133
为v的二进制展开,即
Figure GDA0003493805330000134
Figure GDA0003493805330000141
Figure GDA0003493805330000142
Figure GDA0003493805330000143
Figure GDA0003493805330000144
Figure GDA0003493805330000145
Figure GDA0003493805330000146
τ=z2·γ+τ1·x+τ2·x2∈Zp
μ=α+ρ·x∈Zp
Figure GDA0003493805330000147
Figure GDA0003493805330000148
进一步地,上述
Figure GDA0003493805330000149
为v的二进制展开,即
Figure GDA00034938053300001410
为所述子承诺值的二进制展开,即
Figure GDA00034938053300001411
α,ρ,τ12∈Zp是所述证明值生成的随机数,
Figure GDA00034938053300001412
是所述证明值生成的n维随机向量,z,y,x∈Zp:y=Hash(A,S),z=Hash(A,S,y),x=Hash(T1,T2,z),Hash(·)表示哈希函数,例如SHA256,sm3等。
更进一步地:
Figure GDA00034938053300001413
阶为素数p的椭圆曲线群,G为其基点
Figure GDA00034938053300001414
Figure GDA00034938053300001415
上的n维向量空间
Zp:模p整环。Zp *表示Zp\{0}
Zp n:Zp上的n维向量空间
小写字母a,b,c表示ZP中的元素,大写字母G,H表示椭圆曲线群
Figure GDA00034938053300001416
中的元素。
Figure GDA00034938053300001417
表示向量,其中,
Figure GDA00034938053300001418
表示所述子承诺值的集合,即
Figure GDA00034938053300001419
ai∈Zp,1≤i≤n,即
Figure GDA00034938053300001420
其中
Figure GDA00034938053300001421
1≤i≤n。
Figure GDA00034938053300001422
均表示向量形式,如
Figure GDA00034938053300001423
对于c∈Zp
Figure GDA00034938053300001424
本发明用
Figure GDA00034938053300001425
表示椭圆曲线群
Figure GDA00034938053300001426
上的点乘运算,对于c∈Zp
Figure GDA00034938053300001427
我们记
Figure GDA00034938053300001428
Figure GDA00034938053300001429
其中
Figure GDA00034938053300001430
bi=c·ai
<-.->表示向量内积,对于
Figure GDA0003493805330000151
对于
Figure GDA0003493805330000152
Figure GDA0003493805330000159
表示Hadamard积或按位乘,即对于
Figure GDA0003493805330000153
Figure GDA0003493805330000154
对于k∈Zp *,我们记kn=(1,k,k2,…,kn-1)∈(Zp *)n,,例如2n=(1,2,4,…,2n-1)∈(Zp *)n
所述椭圆曲线群
Figure GDA0003493805330000155
的基点G;
Figure GDA0003493805330000156
为群中的随机点;
Figure GDA0003493805330000157
Figure GDA0003493805330000158
(n表示n比特的范围证明)。
较佳地,所述将所述证据值与所述子承诺值进行相应组合得到所述承诺-证据值对,如在上述中,将所述数据集分为m组子数据集,每组为k个数据时,则所述承诺-证据值对分别为:
{V(1)=commit(v(1),γ(1)),bp(v(1),γ(1))={A(1),S(1),T1(1),T2(1),t(1),τ(1),μ(1),l(1),r(1)};
{V(2)=commit(v(2),γ(2)),bp(v(2),γ(2))={A(2),S(2),T1(2),T2(2),t(2),τ(2),μ(2),l(2),r(2)};
…………
{V(m)=commit(v(m),γ(m)),bp(v(m),γ(m))={A(m),S(m),T1(m),T2(m),t(m),τ(m),μ(m),l(m),r(m)}
其中,{V(1),bp(v(1),γ(1))},{V(2),bp(v(2),γ(2))},{V(m),bp(v(m),γ(m))}分别为不同子数据集对应的承诺-证据值对。
步骤七、基于范围证明法判断所述承诺-证据值对是否满足预设条件。
优选地,所述基于范围证明法判断所述承诺-证据值对是否满足预设条件,包括:随机生成一个或多个制约因子,所述制约因子的个数比所述子数据集的个数少一,基于所述制约因子构建概率公式,根据所述概率公式和所述承诺-证据值进行范围证明,生成范围值,判断所述范围值与预设范围值的大小关系从而判断所述承诺-证据值对是否满足预设条件。
进一步地,所述概率公式为A11A2+…+βm-1Am=0,其中β1、β2,…,βm-1为所述制约因子,A1,A2,…,Am=0分别为上述证据值内的参数。
较佳地,所述范围证明生成范围值的计算方法为:
Figure GDA0003493805330000161
其中,M为所述范围值,其他参数已在上述中详细说明。
步骤八、若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点中调用所述数据集反馈给所述用户。
较佳地,如预设范围值为0,而求解的范围值为-1,所述预设条件为所述范围值小于所述预设范围值时,则范围值为-1时拒绝所述调用请求,若范围值为1时,则所述范围值大于所述预设范围值,则满足所述预设条件,响应所述调用请求,完成数据调用。若数据集预先存储在分布式存储系统中的多个节点服务器中,则可选择任一节点服务器中与调用请求对应的数据集反馈给用户,或者可根据负载均衡策略选择对应的节点服务器反馈数据集,在这里不做限定。
可选地,在其他实施例中,数据调用程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述数据调用程序在数据调用装置中的执行过程。
例如,参照图3所示,为本发明数据调用装置一实施例中的数据调用程序的程序模块示意图,该实施例中,所述数据调用程序可以被分割为数据接收及存储模块10、承诺值计算及判断模块20、范围证明计算及判断模块30、数据调用输出模块40示例性地:
所述数据接收及存储模块10用于:接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中。
所述承诺值计算及判断模块20用于:接收所述数据集的调用请求,基于所述调用请求计算所述数据集的承诺值,将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值,若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求。
所述范围证明计算及判断模块30用于:若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求,若所述总承诺值与所述承诺值相同,计算所述子数据集对应的承诺-证据值对,基于范围证明法判断所述承诺-证据值对是否满足预设条件。
所述数据调用输出模块40用于:若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点调用所述数据集反馈给所述用户。
上述数据接收及存储模块10、承诺值计算及判断模块20、范围证明计算及判断模块30、数据调用输出模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据调用程序,所述数据调用程序可被一个或多个处理器执行,以实现如下操作:
接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中。
接收所述数据集的调用请求,基于所述调用请求计算所述数据集的承诺值,将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值,若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求。
若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求,若所述总承诺值与所述承诺值相同,计算所述子数据集对应的承诺-证据值对,基于范围证明法判断所述承诺-证据值对是否满足预设条件。
若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点调用所述数据集反馈给所述用户。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种数据调用方法,其特征在于,所述方法包括:
接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中;
接收所述数据集的调用请求,基于所述调用请求采用下述公式计算所述数据集的承诺值:
Figure 903524DEST_PATH_IMAGE001
其中,V为所述承诺值,v所述节点内的数据值,γ为第一盲因子,G为所述数据调用系统所依赖的椭圆曲线的基点坐标值,H为所述数据调用系统中所依赖的椭圆曲线中的随机点坐标值;
将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值;
若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求;
若所述总承诺值与所述承诺值相同,基于各所述子数据集的子承诺值计算对应子数据集的证据值,并将所述证据值与所述子承诺值进行预设方式的组合得到承诺-证据值对,基于范围证明法判断所述承诺-证据值对是否满足预设条件;
若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点调用所述数据集反馈给所述用户。
2.如权利要求1所述的数据调用方法,其特征在于,所述基于所述子承诺值计算得到总承诺值,包括:
随机生成一个或多个第二盲因子,基于所述第一盲因子和所述第二盲因子计算得到第三盲因子,将所述第二盲因子和所述第三盲因子作为盲因子集,其中,所述第二盲因子的个数比所述子数据集的个数少一;
基于所述盲因子集和所述子数据集计算得到子承诺值;
基于加法同态性原则计算所述子承诺值得到所述总承诺值。
3.如权利要求1所述的数据调用方法,其特征在于,所述基于范围证明法判断所述承诺-证据值对是否满足预设条件包括:
随机生成一个或多个制约因子,所述制约因子的个数比所述子数据集的个数少一;
基于所述制约因子构建概率公式;
根据所述概率公式和所述承诺-证据值进行范围证明,生成范围值;
判断所述范围值与预设范围值的大小关系从而判断所述承诺-证据值对是否满足预设条件。
4.一种数据调用装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据调用程序,所述数据调用程序被所述处理器执行时实现如下步骤:
接收用户输入的数据集,并将所述数据集存储至数据调用系统的节点中;
接收所述数据集的调用请求,基于所述调用请求采用下述公式计算所述数据集的承诺值:
Figure 767575DEST_PATH_IMAGE001
其中,V为所述承诺值,v所述节点内的数据值,γ为第一盲因子,G为所述数据调用系统所依赖的椭圆曲线的基点坐标值,H为所述数据调用系统中所依赖的椭圆曲线中的随机点坐标值;
将所述数据集划分为多个子数据集,分别计算各所述子数据集对应的子承诺值,基于所述子承诺值计算得到总承诺值;
若所述总承诺值与所述承诺值不相同,则拒绝所述调用请求;
若所述总承诺值与所述承诺值相同基于各所述子数据集的子承诺值计算对应子数据集的证据值,并将所述证据值与所述子承诺值进行预设方式的组合得到承诺-证据值对,基于范围证明法判断所述承诺-证据值对是否满足预设条件;
若所述承诺-证据值对不满足所述预设条件,则拒绝所述调用请求,若所述承诺-证据值对满足所述预设条件,则响应所述调用请求,从所述节点调用所述数据集反馈给所述用户。
5.如权利要求4所述的数据调用装置,其特征在于,所述基于所述子承诺值计算得到总承诺值,包括:
随机生成一个或多个第二盲因子,基于所述第一盲因子和所述第二盲因子计算得到第三盲因子,将所述第二盲因子和所述第三盲因子作为盲因子集,其中,所述第二盲因子的个数比所述子数据集的个数少一;
基于所述盲因子集和所述子数据集计算得到子承诺值;
基于加法同态性原则计算所述子承诺值得到所述总承诺值。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据调用程序,所述数据调用程序可被一个或者多个处理器执行,以实现如权利要求1至3中任一项所述的数据调用方法的步骤。
CN201910885396.5A 2019-09-18 2019-09-18 数据调用方法、装置及计算机可读存储介质 Active CN110781503B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910885396.5A CN110781503B (zh) 2019-09-18 2019-09-18 数据调用方法、装置及计算机可读存储介质
PCT/CN2020/106008 WO2021052033A1 (zh) 2019-09-18 2020-07-30 数据调用方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910885396.5A CN110781503B (zh) 2019-09-18 2019-09-18 数据调用方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110781503A CN110781503A (zh) 2020-02-11
CN110781503B true CN110781503B (zh) 2022-05-17

Family

ID=69383816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910885396.5A Active CN110781503B (zh) 2019-09-18 2019-09-18 数据调用方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN110781503B (zh)
WO (1) WO2021052033A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781503B (zh) * 2019-09-18 2022-05-17 深圳壹账通智能科技有限公司 数据调用方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769054A (zh) * 2018-06-14 2018-11-06 北京邮电大学 一种基于等值测试承诺的区块链交易验证方法及装置
CN108805565A (zh) * 2018-05-17 2018-11-13 深圳前海微众银行股份有限公司 基于区块链的承诺存在性证明方法、设备及可读存储介质
CN109937557A (zh) * 2018-11-27 2019-06-25 阿里巴巴集团控股有限公司 用于信息保护的系统和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108683669B (zh) * 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
CN109359971B (zh) * 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN109903027A (zh) * 2018-12-14 2019-06-18 阿里巴巴集团控股有限公司 基于区块链的事件处理方法及装置、电子设备
CN110781503B (zh) * 2019-09-18 2022-05-17 深圳壹账通智能科技有限公司 数据调用方法、装置及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805565A (zh) * 2018-05-17 2018-11-13 深圳前海微众银行股份有限公司 基于区块链的承诺存在性证明方法、设备及可读存储介质
CN108769054A (zh) * 2018-06-14 2018-11-06 北京邮电大学 一种基于等值测试承诺的区块链交易验证方法及装置
CN109937557A (zh) * 2018-11-27 2019-06-25 阿里巴巴集团控股有限公司 用于信息保护的系统和方法

Also Published As

Publication number Publication date
WO2021052033A1 (zh) 2021-03-25
CN110781503A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110892672B (zh) 提供设备匿名性的密钥认证声明生成
JP6302592B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN108269062B (zh) 基于h5的电子合同制作方法、装置、设备及介质
US20150358167A1 (en) Certificateless Multi-Proxy Signature Method and Apparatus
US20210344500A1 (en) Computer-implemented system and method for transferring access to digital resource
CN110505067B (zh) 区块链的处理方法、装置、设备及可读存储介质
CN112560091B (zh) 数字签名方法、签名信息的验证方法、相关装置及电子设备
CN107948152A (zh) 信息存储方法、获取方法、装置及设备
JP6893626B1 (ja) エッジコンピューティングによるビッグデータ・ネットワークデータの保護方法及びシステム
CN107688733B (zh) 业务接口调用方法、装置、用户终端和可读存储介质
CN113098691B (zh) 数字签名方法、签名信息的验证方法、相关装置及电子设备
CN107078899A (zh) 混淆数据的方法
CN108028751B (zh) 用于移动主动秘密共享的系统、计算机可读介质和方法
CN113709115A (zh) 认证方法及装置
CN110781503B (zh) 数据调用方法、装置及计算机可读存储介质
CN102222188A (zh) 一种信息系统用户密码的生成方法
CN110717755A (zh) 加密数据零知识校验方法、装置及介质
CN114187000A (zh) 用于分散私钥的签名方法、设备、存储介质及处理器
CN111262707B (zh) 数字签名方法及验证方法、设备、存储介质
CN113434906A (zh) 数据查询方法、装置、计算机设备及存储介质
CN110149633B (zh) 一种支持批验证的安全多方认证方法及系统
CN112069525A (zh) 基于信息的属性生成密钥的加密方法、装置及设备
CN102291238A (zh) 一种网络用户身份认证方法
CN111291414A (zh) 数据存储方法及装置、计算机装置及存储介质
CN107947944B (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
GR01 Patent grant
GR01 Patent grant