数据安全协同计算方法及系统与流程

文档序号:26754001发布日期:2021-09-25 03:23阅读:163来源:国知局
数据安全协同计算方法及系统与流程

1.本发明涉及区块链技术领域,具体地,涉及一种数据安全协同计算方法及系统。


背景技术:

2.目前业内缺少一套相对实用的多方数据协同计算的规范的流程和方法,大多数安全协同计算都是假设参与方是半城实的,即参与方需严格按照制定的协议参与计算,很难验证参与方的实际情况。
3.大多数方案的参与方强依赖于中心服务方进行协同计算任务的转发,安全多方计算的效率较低,尤其是在数据量大或者计算复杂度的场景,很难真正的落地应用,比如深度学习,大矩阵运算等。
4.专利文献cn111404905a(申请号:cn202010161589.9)公开了一种跨域数据安全计算及模型协同的方法,包括:设置跨域模型协同规则;任务管理中心通过跨域碰撞服务端接收来自用户端的任务指令,并对任务指令进行任务调度与任务分发;发起者客户端接收到任务调度中心的任务后,将任务执行指令传输给本地模型平台,驱动本地模型运算,生成发起者模型运算结果,并输送至流式碰撞管道;共享模型者客户端的本地建模平台接收到模型执行指令后,生成共享者模型运算结果,并输送流式碰撞管道;流式碰撞管道进行数据解密、解压缩后,根据碰撞规则进行模型碰撞,计算出最终的流式碰撞结果,并返回至发起者客户端。


技术实现要素:

5.针对现有技术中的缺陷,本发明的目的是提供一种数据安全协同计算方法及系统。
6.根据本发明提供的数据安全协同计算方法,包括:
7.步骤1:提取数据特征,对数据进行隐私分级并配置计算类型和制定计算协议,将数据特征、隐私等级、计算类型和计算协议进行上链;
8.步骤2:数据的计算请求方选择在线节点后发起http请求,并将请求信息上链,计算服务方对链上信息进行验证,验证后建立安全通道,进行数据传输和计算,并将计算结果上链;
9.步骤3:根据计算前的数据哈希值对计算结果进行验证。
10.优选的,将数据进行隐私分级,分为预设高、中、低等级;
11.针对预设高等级隐私数据,采用零知识证明方式进行事后验证;
12.针对预设低等级隐私数据,采用明文披露的方式进行事后验证;
13.针对预设中等级隐私数据,采用匿名或脱敏方式进行事后验证。
14.优选的,将数据进行类型格式化和数值化,为每份数据配置唯一id,对数据抽取关键词进行数据索引;
15.将数据的运算进行基本算子拆解,拆解为异或门、与门;
16.采用布尔分享协议进行协同计算,若与门的数量超出预设范围,则通过转换协议将布尔分享协议转化为算术平均数分享协议。
17.优选的,数据的计算请求方基于数据关键词和计算类型,通过在线广播搜索,获得在线节点的信息,包括:节点ip、端口信息、数据类型、数据量、计算费用以及计算类型。
18.优选的,采取定时或随机抽查方式,计算结果进行验证;
19.对实时性数据或者预设低等级隐私数据,直接采用数据明文的方式进行事后披露,并与链上数据进行哈希校验,进行数据和协同计算结果的正确性验证;
20.对预设高等级隐私数据,采用零知识证明的方式进行数据证明上链,并通过链上合约完成验证。
21.根据本发明提供的数据安全协同计算系统,包括:
22.模块m1:提取数据特征,对数据进行隐私分级并配置计算类型和制定计算协议,将数据特征、隐私等级、计算类型和计算协议进行上链;
23.模块m2:数据的计算请求方选择在线节点后发起http请求,并将请求信息上链,计算服务方对链上信息进行验证,验证后建立安全通道,进行数据传输和计算,并将计算结果上链;
24.模块m3:根据计算前的数据哈希值对计算结果进行验证。
25.优选的,将数据进行隐私分级,分为预设高、中、低等级;
26.针对预设高等级隐私数据,采用零知识证明方式进行事后验证;
27.针对预设低等级隐私数据,采用明文披露的方式进行事后验证;
28.针对预设中等级隐私数据,采用匿名或脱敏方式进行事后验证。
29.优选的,将数据进行类型格式化和数值化,为每份数据配置唯一id,对数据抽取关键词进行数据索引;
30.将数据的运算进行基本算子拆解,拆解为异或门、与门;
31.采用布尔分享协议进行协同计算,若与门的数量超出预设范围,则通过转换协议将布尔分享协议转化为算术平均数分享协议。
32.优选的,数据的计算请求方基于数据关键词和计算类型,通过在线广播搜索,获得在线节点的信息,包括:节点ip、端口信息、数据类型、数据量、计算费用以及计算类型。
33.优选的,采取定时或随机抽查方式,计算结果进行验证;
34.对实时性数据或者预设低等级隐私数据,直接采用数据明文的方式进行事后披露,并与链上数据进行哈希校验,进行数据和协同计算结果的正确性验证;
35.对预设高等级隐私数据,采用零知识证明的方式进行数据证明上链,并通过链上合约完成验证。
36.与现有技术相比,本发明具有如下的有益效果:
37.(1)本发明支持将复杂的计算问题在不暴露隐私的情况下进行公式拆解,将所有的基本算子进行电路转换,完成后续的协同计算,可以将很多的计算进行本地化计算,避免了大量信息交互;
38.(2)为避免其中参与方作恶,本发明结合区块链技术,将计算前的数据哈希和计算后的结果进行上链,并通过定期公开或零知识的方式进行验证,保证双发参与人的数据是真实不可篡改的。
附图说明
39.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
40.图1为数据预处理流程图;
41.图2为安全协同计算流程图。
具体实施方式
42.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
43.实施例:
44.根据本发明提供的一种可验证、实用的数据安全协同计算系统,包括:区块链、计算请求方、计算服务方;
45.所述区块链具备数据上链、区块数据支持关键词查询搜索等功能;
46.所述计算服务方是具备数据的预处理、数据格式、计算方法等相关标准的主导方;
47.所述计算请求方具备一些隐私数据,主动与其他参与方进行数据协同计算,获得更多的相关数据的结果。
48.根据本发明提供的一种可验证、实用的数据安全协同计算方法,主要包括:数据预处理、安全协同计算以及数据校验;
49.1、数据预处理,如图1:
50.1)隐私数据分级
51.将不同的数据进行隐私分级,分为高、中、低;隐私保护要求高的数据;高等级隐私数据,采用零知识证明方式,进行事后验证;针对低等级隐私数据,可采用明文披露的方式进行事后验证;中等级的隐私数据采用匿名或脱敏方式,进行事后验证。
52.2)数据加工和特征提取
53.a)计算参与方需要将数据进行类型格式化和数值化;
54.b)参与方为每一份数据唯一id_data;针对敏感等级高的数,id标识采用随机化方式产生,如哈希算法或随机函数等;对于中低等级数据采用规则化的标识命名方式,如采用数字对象唯一标识符doi,为数字对象的永久保存和唯一标识提供了技术支持,可以用来实现对科学数据本身的引用;
55.c)对数据抽取关键词,以便于数据索引;
56.3)配置的隐私计算类型:根据该数据的特点和真实应用场景,设计可支持的数据参数类型和计算类型,如两方要计算共同的数据集合的标准差等,而又不暴露各自的数据。需要其中一方提前生成对应的计算模拟电路;
57.4)复杂运算拆解成简单运算,其中简单运算不泄露数据隐私。
58.本发明以a和b两方要计算标准差为例进行描述,总体目标就是要计算两方数据集合的标准差,公式为:
59.进行如下拆解:
60.a)首先两方计算均值μ,双方各自本地计算和然后其中n
a
和n
b
分别是a和b的样本数,xa
i
、xb
i
分别代表a和b的第i个样本值;
61.b)参与者a输入s
a
和n
a
,参与者b输入s
b
和n
b
双方进行第一次多方安全计算mpc,即计算:
62.双方本地计算各自和然后进行第二次mpc计算,即计算:
63.c)本地计算开根号,计算标准差:
64.理论上通过复杂运算拆解,借助本地计算可减少的电路数量;大大减少了电路的数量,避免mpc过程中大量的交互协议。
65.5)模拟基本算子电路:将简单运算进行基本算子拆解,理论上所有的计算,都可以拆解为xor门和and门;在电路设计的过程中,需尽量减少and门数量;
66.6)根据计算类型的制定安全计算协议;安全计算协议主要包括arithmetic算术、boolean布尔以及yao电路秘密分享形式,以及通过fixed

keyaes混淆的方式,提升不经意传输的效率;本发明通过灵活的混合协议,提升协同计算的效率;本发明默认采用布尔电路分享的形式,在and门多的场景下,通过转换协议,将布尔分享形式转化为arithmetic算术分享协议;
67.7)将数据关键词、数据的hash、支持运算类型、隐私等级、签名信息等数据上链。
68.2、安全协同计算,如图2:
69.1)数据计算请求方基于“数据关键词和计算类型”通过在线广播搜索,获得在线节点的信息;如:除节点的ip和端口等基本信息外,还包括数据类型、数据量,计算费用以及计算类型等。
70.2)计算请求方根据需求选择在线节点,并发起https请求,请求建立安全通道;请求数据包括“计算任务id+计算类型id+数据id1+数据hash+验证方式”71.3)同时,对于需要进行链上验证的数据,请求方需要将请求消息进行上链;并获得区块链存证的;
72.4)计算服务方对需要链上验证的数据,验证数据在链上是否存证。验证通过后,双方正式建立安全通道;如果需要链上验证,并将自己的“计算任务id+数据id2+数据hash+验证方式”上链;
73.5)双方数据上链确认后,分别输入各自隐私数据的,隐私数据通过秘密分享、混淆电路等(混合)协议进行安全计算;
74.6)计算结果上链。
75.3、数据校验
76.1)可以采取定时或随机抽查方式,计算结果进行验证;
77.2)如果实时性强或者隐私等级低的数据,直接采用数据明文的方式进行事后披
露,并与链上数据进行hash校验,完成数据和协同计算结果的正确性验证;
78.3)如果隐私等级高的数据,采用零知识证明的方式,进行数据证明上链,并通过链上合约完成验证。
79.更为具体地,选择联邦学习协同计算场景,假设企业a和企业b分别拥有各自用户的数据,在不暴露数据的情况下,完成联合训练机器学习模型;参与各方基于本地数据和当前的全局权重,本地进行前向、反向运算,计算关于权重的梯度,具体步骤为:
80.1)利用mpc协议交互,在各方之间进行梯度信息的聚合;
81.2)将聚合后的梯度结果用于更新全局权重;
82.3)下发更新后的全局权重给各方,开始下一轮迭代;
83.4)迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。根据实际场景,可进行多轮训练后,如,每间隔五轮进行一次mpc运算。
84.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
85.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1