CN112685783A - 金融许可区块链中支持隐私保护的数据共享方法 - Google Patents

金融许可区块链中支持隐私保护的数据共享方法 Download PDF

Info

Publication number
CN112685783A
CN112685783A CN202110005850.0A CN202110005850A CN112685783A CN 112685783 A CN112685783 A CN 112685783A CN 202110005850 A CN202110005850 A CN 202110005850A CN 112685783 A CN112685783 A CN 112685783A
Authority
CN
China
Prior art keywords
bank
local
banks
data
financial
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.)
Granted
Application number
CN202110005850.0A
Other languages
English (en)
Other versions
CN112685783B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202110005850.0A priority Critical patent/CN112685783B/zh
Publication of CN112685783A publication Critical patent/CN112685783A/zh
Application granted granted Critical
Publication of CN112685783B publication Critical patent/CN112685783B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种金融许可区块链中支持隐私保护的数据共享方法。其实现方案为:建立金融许可区块链;在金融许可区块链中筛选客户重合的银行组成一个数据共享小组,该小组中的各银行通过本地训练和局部数据共享,以准备自己的本地模型,并分别共享出自己加密后的本地模型,再由聚合服务器对其进行聚合得到全局模型,保存到金融许可区块链中;数据共享小组中的各银行分别从金融许可区块链中获取全局模型,用其更新自己的本地模型后继续对更新后的本地模型进行训练,直到精度满足要求。本发明具有数据隐私性好,身份隐私严,共享过程中数据有效性强,隐私数据参与运算灵活性高的优点,可用于在金融行业中由各银行组成的许可区块链中进行数据共享。

Description

金融许可区块链中支持隐私保护的数据共享方法
技术领域
本发明属于信息安全技术领域,特别涉及一种数据共享方法,可用于在金融行业中由各银行组成的许可区块链中进行数据共享。
背景技术
信息时代的兴起和大数据,区块链等信息技术的应用对传统银行造成巨大的冲击,同时也为银行的发展带来新的机遇和发展。目前,我国已经形成以大型国有商业银行占主导地位,股份制银行和城市商业银行共同发展的一个局面。每家银行都有多个不同的客户,每个客户也可能同时与多家银行进行交易。因此,客户在一家银行的数据可能是部分和不完整的。如果能将分布在不同银行的数据进行合并,各家银行都能获得全面的信息,从而可以更好地开展业务,提高服务质量,比如更精准的推荐理财产品、更完善的建立个人信用记录等。然而,2018年欧盟发布通用数据保护条例GDPR后,出于隐私和安全考虑,这种直接合并跨企业的数据被认为是违法的,尤其是对于一些隐私敏感的行业来说。因此,如何在保证各银行数据机密性的前提下对银行数据进行合并,从而达到提高服务质量的目的是一个需要解决的问题。
基于同态加密的联邦学习非常适合用于分布式银行之间进行机密数据的共享。联邦学习是Google在2016年提出的,旨在通过分布式机器学习,用局部模型参数代替原始数据来训练一个全局模型。同态加密是多方计算MPC的一个强大工具,与一般的加密算法相比,同态加密除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密的结果和直接解密后进行计算结果相同。这个特性使它对于信息安全有着重要意义。基于同态加密的联邦学习可以实现在各个参与方不知道其他参与方数据的情况下进行全局模型的训练,目前已被广泛应用于机密数据的共享过程。
Truex提出一种将差分隐私和同态加密进行结合的联邦学习方案,其中同态加密可以保证信息交换过程中不会泄露参与者的隐私,差分隐私可有效保证***的精确性。
Yang等人提出在根据不同数据提供者的数据构建模型的过程中,可以利用同态加密算法保证数据的隐私,同时利用拟牛顿法来减少数据交换过程中的通信轮次。
Hao等人将同态加密和差分隐私进行结合,提出了一种基于梯度下降法的隐私保护联邦学习协议,其中也使用了同态加密算法保证数据所有者的隐私。
上述这些基于同态加密的联邦学习方案由于都是基于加性同态加密算法构建的,因而数据共享过程中隐私数据参与运算的局限性比较大,且不能保证数据共享过程中数据的有效性。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种金融许可区块链中支持隐私保护的数据共享方法,以提高数据共享过程中隐私数据参与运算的灵活性,并保证共享过程中数据的有效性,实现安全可靠的隐私数据共享。
本发明的技术方案是:将许可区块链、基于多密钥的多方计算协议和匿名机制集成到联邦学习中;在许可区块链中将每一个银行先生成一个假名隐藏真实的身份,再由每个银行对数据进行同态加密后发送给聚合服务器AS;聚合服务器将密文聚合起来后得到新的模型,并将这个模型广播给许可区块链中的所有银行;各银行收到数据之后利用密文进行计算训练新的模型,从而实现对隐私数据的共享,其具体实现步骤包括如下:
(1)建立金融许可区块链:
(1a)初始化:初始化过程包含许可区块链初始化和银行初始化两个阶段;
在许可区块链初始化阶段,可信机构TA首先根据给定的安全参数k,选择一个阶数为q加性循环群G,一个随机生成器p和4个安全的哈希函数H1,H2,H3,H4,再在集合
Figure BDA0002883342640000021
上随机选择一个整数a作为主密钥,计算相应的主公钥PK=ap,并保存主密钥a,同时发布一个***通用参数GP={p,q,PK,G,H1,H2,H3,H4};
在银行初始化阶段,各银行根据给定的安全参数λ和递归深度d,在集合
Figure BDA0002883342640000022
上选择格参数n,加密轮次Bχ,错误分布参数χ,随机采样值ω和迭代矩阵
Figure BDA0002883342640000023
并输出***参数BP;
(1b)每个银行Pi在加入金融许可区块链之前在TA处进行注册,得到一个有效期为TSi的假名PIDi以及完整的公钥PKi和私钥SKi,将私钥SKi保存到本地,并将公钥PKi和假名PIDi记录在区块链中;
(2)通过数据检索过程筛选参与数据共享的银行,形成一个数据共享小组:
(2a)银行PR向金融许可区块链发送一个包括PR的客户R={r1,…,rnn}、假名PIDR和签名SigR的检索数据请求,其中,nn表示银行PR拥有的客户的数量;
(2b)许可区块链中的其他银行收到请求后,验证假名有效期TSR和签名SigR是否有效,并将验证有效的请求中的客户R与本地用户进行对比:
如果存在重合的用户,则该银行加入共享小组参与数据共享过程,执行(3);
如果不存在重合的用户,则结束该过程;
(3)各银行通过本地训练和局部数据共享训练本地模型:
(3a)共享小组中的所有银行分别用机器学习算法MBGD训练自己的本地数据,得到自己的本地模型;
(3b)共享小组中的第i个银行Pi将自己训练过程中的梯度参数共享给共享小组中的第j个银行Pj,由Pj对自己的本地模型wj进行训练;
(4)共享小组中的所有银行分别上传自己经过训练后的本地模型,再由聚合服务器对这些本地模型进行聚合得到全局模型,并保存到金融许可区块链中,完成所有银行的数据共享过程;
(5)共享小组中的各银行使用全局模型对自己的本地模型进行训练,直到本地模型收敛或精度达到指定的要求。
本发明与现有技术相比具有以下优点:
1)数据隐私性好
本发明中数据共享小组中的每个银行把自己的本地模型上传到金融许可区块链之前,都用全同态加密算法进行加密,由聚合服务器对这些加密后的本地模型进行聚合后,再对数据进行解密得到全局模型,并利用其训练自己的本地模型。在这个过程中,由于共享小组中的每个银行都不能直接获取到其他银行的本地模型,从而保证了共享过程中数据的隐私。
2)身份隐私严
本发明***中由于每个银行Pi都被分配了一个假名PIDi,因而在数据共享过程中,其他银行并不知道银行Pi的真实身份信息,从而更加严格地保护了共享过程各参与者的身份隐私。
3)共享过程中数据的有效性强
本发明在数据共享过程中,所有被共享的数据被记录在金融许可区块链的区块中,由于区块链本身采用了链式存储结构,其中保存的数据是很难修改的,因此,本发明可以保证共享过程中数据的有效性。
4)本发明由于在共享过程中采用的两轮多方安全计算协议是基于全同态加密算法实现的,其不仅具有加法同态,而且具有乘法同态,相比现有采用加法同态加密算法的方案,本发明在对加密后的本地模型进行聚合时,可以进行更灵活的运算,如加入贡献参数或加权系数等,从而可以计算出精度更高的全局模型。
附图说明
图1是本发明的实现总流程图;
图2是本发明中银行注册的子流程图;
图3是本发明中建立数据共享小组的子流程图;
图4是本发明中本地训练的子流程图;
图5是本发明中局部数据共享的子流程图;
图6是本发明中全局数据共享的子流程图;
图7是本发明中数据下载的子流程图。
具体实施方式
下面结合附图对本发明实施例做进一步详细描述。
参照图1,本发明的具体步骤如下:
步骤1,建立金融许可区块链。
(1.1)初始化:
初始化包含金融许可区块链初始化和银行初始化两个阶段,其中:
在金融许可区块链初始化阶段,可信机构TA首先根据给定的安全参数k,选择一个阶数为q加性循环群G,一个随机生成器p和4个安全的哈希函数:H1:G→{0,1}*,H2:{0,1}*→{0,1}*,
Figure BDA0002883342640000041
再在集合
Figure BDA0002883342640000042
上随机选择一个整数a作为主密钥,计算相应的主公钥PK=ap,并保存主密钥a,同时发布一个***通用参数GP={p,q,PK,G,H1,H2,H3,H4};
在银行初始化阶段,各银行根据给定的安全参数λ和递归深度d,在集合
Figure BDA0002883342640000043
上选择格参数n,加密轮次Bχ,错误分布参数χ,随机采样值ω和迭代矩阵
Figure BDA0002883342640000044
并输出***参数BP=(r,n,m,χ,Bχ,B),其中,r=Bχ2ω(dλlogλ)为模数,m=nlog(r)+ω(logλ)为迭代矩阵列数;
(1.2)银行注册:
每个银行Pi在加入金融许可区块链之前在可信机构TA处进行注册。
参照图2,本步骤的具体实现如下:
(1.2.1)银行Pi在集合
Figure BDA0002883342640000051
中随机选择一个元素xi作为部分密钥,计算部分公钥Yi=xip和临时身份
Figure BDA0002883342640000052
并向可信机构TA发送一个注册请求Ri=(TIDi,Yi),其中IDi是银行Pi的真实身份;
(1.2.2)收到银行Pi的注册请求Ri后,可信机构TA先恢复出银行的真实身份
Figure BDA0002883342640000053
并在集合
Figure BDA0002883342640000054
中随机选择一个整数vi用于计算Pi的部分公钥Ui=vip,再为Pi分发一个有效期为TSi的假名PIDi=(pi,TSi),同时计算哈希值li=H3(PIDi,Ui,Yi),部分密钥di=a+livi和辅助参数
Figure BDA0002883342640000055
并将辅助参数ti、部分公钥Ui和假名有效期TSi一起发送给Pi,其中匿名参数
Figure BDA0002883342640000056
(1.2.3)银行Pi收到可信机构TA发送过来的元组(Ui,TSi,ti)后,首先计算匿名参数
Figure BDA0002883342640000057
得到自己的假名PIDi=(pi,TSi),随后计算部分密钥
Figure BDA0002883342640000058
和哈希值li=H3(PIDi,Ui,Yi),并验证等式dip=PK+liUi是否成立:
如果等式不成立,则算法中止;
如果等式成立,则Pi计算完整的公钥PKi=Yi+liUi和私钥SKi=(xi,di),广播PKi,并将SKi存储在本地;
(1.2.4)金融许可区块链中的其他所有银行将银行Pi的公钥PKi,假名PIDi和假名有效期TSi保存到本地区块中;
通过上述初始化和银行注册建立起金融许可区块链。
步骤2,建立数据共享小组。
参照图3,本步骤的具体实现如下:
(2.1)银行PR首先建立一个只包含自己的数据共享小组,再从集合
Figure BDA0002883342640000059
中随机选择一个整数s,对自己的客户R={r1,…,rnn}进行{S,Sig}签名,并向金融许可区块链发送一个包括PR的客户R、假名PIDR和签名{S,Sig}的检索数据请求,其中S=sp,SigR=s/[h(xR+dR)],h=H4(PIDR,R),nn表示银行PR拥有的客户的数量,(xR,dR)是银行PR的私钥;
(2.2)金融许可区块链中的其他银行收到请求后,先验证当前时间是否在假名有效期TSR内:如果不是,则直接结束该算法,否则,从金融许可区块链中获取银行PR的公钥PKR,计算h=H4(PIDR,R);
(2.3)金融许可区块链中的其他银行根据等式hSigR(PKR+PK)=S验证签名的有效性:如果等式不成立,则说明签名无效,该银行直接结束该算法;否则,执行(2.4);
(2.4)金融许可区块链中的其他银行将请求中PR的客户R与自己的本地客户进行对比:
如果金融许可区块链中其他银行的本地客户与PR的客户R中存在重合的客户,则该银行加入银行PR建立的数据共享小组参与数据共享过程,完成数据共享小组的建立,执行步骤3;
否则,结束该过程。
步骤3,本地模型准备。
数据共享小组中的各银行在参与全局数据共享之前,先通过本地训练和局部数据共享准备自己的本地模型。
(3.1)共享小组中的所有银行分别用机器学习算法MBGD训练自己的本地数据,得到自己的本地模型:
参照图4,本步骤的具体实现如下:
(3.1.1)数据共享小组中的第i个银行Pi从金融许可区块链中获取最新的全局模型作为本地模型的初始值
Figure BDA0002883342640000061
Figure BDA0002883342640000062
为Pi的本地用户数据,其中
Figure BDA0002883342640000063
为用户特征,y(j)为数据值,cn为用户数据的数量;
(3.1.2)银行Pi从本地数据中随机选择k个数据作为训练样本;
(3.1.3)银行Pi根据这k个训练样本求出本次批量下降的梯度值:
Figure BDA0002883342640000064
其中,
Figure BDA0002883342640000065
是一个和本地模型
Figure BDA0002883342640000066
有关的预测函数;
(3.1.4)银行Pi用梯度值
Figure BDA0002883342640000067
对本地模型值进行更新,得到新的本地模型值
Figure BDA0002883342640000068
其中α为学习参数;
(3.2)共享小组中的第i个银行Pi将自己训练过程中的梯度参数共享给共享小组中的第j个银行Pj,由Pj对自己的本地模型wj进行训练:
参照图5,本步骤的具体实现如下:
(3.2.1)共享小组中的第i个银行Pi先从金融许可区块链中获取共享小组中第j个银行Pj的公钥PKj和假名PIDj,再从集合
Figure BDA0002883342640000071
中随机选择一个整数si对自己的梯度参数gi先加密再对加密结果进行签名,得到的密文C、签名{Si,Sigi},并将该密文C、签名和时间戳Ti,一起发送给Pj,其中,
Figure BDA0002883342640000072
J=ri(PKj+PK),Si=rip,Sigi=si/[hi(xi+di)],hi=H4(PIDi,C,PKi,Ti);
(3.2.2)共享小组中的第j个银行Pj从金融许可区块链中获取第i个银行Pi的公钥PKi和假名PIDi,用于计算hi=H4(PIDi,C,PKi,Ti),并验证等式hiSigi(PKi+PK)=Si是否成立:
如果等式不成立,则Pj拒绝接受密文C;
如果等式成立,则Pj计算J=Si(xj+dj),并恢复出第i个银行的梯度参数
Figure BDA0002883342640000073
再将其与自己的梯度参数取平均后作为新的梯度参数,使用机器学习算法MBGD继续训练自己的本地模型wj
步骤4,全局数据共享。
共享小组中的所有银行分别上传自己经过训练后的本地模型,再由聚合服务器对这些本地模型进行聚合得到全局模型,并保存到金融许可区块链中,完成所有银行的全局数据共享过程。
参照图6,本步骤的具体实现如下:
(4.1)共享小组中的每个银行分别调用全同态加密算法MFHE中的加密运算Encrypt对自己的经过训练的本地模型w进行加密生成密文cw,并计算该本地模型的均方误差MSE(w),发送给金融许可区块链:
Figure BDA0002883342640000074
其中,
Figure BDA0002883342640000075
表示该银行的本地数据在自己的本地模型下的预测值,yi表示该银行本地数据的实际值,dn表示该银行拥有的本地数据的数量;
(4.2)共享小组中的所有银行共同选出一个本地模型均方误差最小的银行,作为负责生成区块的领导银行;
(4.3)领导银行生成一个候选块:Bk=<Hk,tw,M>,并将其广播给小组中的其他银行以供验证,其中Hk是头信息,tw是记录共享小组中所有银行加密后的本地模型的交易,M是共享小组中所有银行本地模型均方误差的集合;
(4.4)共享小组中的其他银行分别计算共享小组中所有本地模型总的均方误差MSE(M):
Figure BDA0002883342640000081
其中,
Figure BDA0002883342640000082
表示共享小组中第j个银行Pj对全局模型的贡献参数,dj是共享小组中第j个银行Pj的本地数据数量,N是共享小组中银行的数量;
(4.5)共享小组中的其他银行分别验证共享小组中每个银行本地模型的均方误差MSE(wi)和所有本地模型总的均方误差MSE(M)是否在事先约定的范围内:如果不在,结束这一过程;否则,向领导银行发送一个确认消息;
(4.6)领导银行收到共享小组中其他所有银行的确认消息后,将候选块Bk打包成新的区块并保存到金融许可区块链中;
(4.7)聚合服务器AS从金融许可区块链中获取共享小组中所有银行被加密后的本地模型{cwi}i∈N,并依次调用全同态加密算法MFHE中的扩展运算Expand将每一个密文cwi都扩展成多密钥形式的密文
Figure BDA0002883342640000083
其中N表示共享小组中银行的个数;
(4.8)聚合服务器AS调用MFHE中的求值运算Eval对所有多密钥形式的密文
Figure BDA0002883342640000084
进行加权平均,得到密文形式的全局模型CM,并将其存储到金融许可区块链中:
Figure BDA0002883342640000085
其中,CM计算公式中的加法运算是通过Eval.add算法实现的,乘法运算是通过Eval.mul算法实现的,
Figure BDA0002883342640000086
表示共享小组中第i个银行Pi在共享小组中的贡献参数,di是共享小组中第i个银行Pi的本地数据数量。
步骤5,数据下载。
共享小组中的各银行分别从金融许可区块链中获取全局模型,并对自己的本地模型进行训练,直到本地模型收敛或精度达到指定的要求。
参照图7,本步骤的具体实现如下:
(5.1)共享小组中的每个银行分别从金融许可区块链中下载密文形式的全局模型CM,再调用全同态加密算法MFHE中的部分解密运算PartDec对CM进行部分解密,得到部分密文m,并广播;
(5.2)共享小组中的第i个银行Pi收到共享小组中的其他所有银行广播的部分密文{mj}j∈[N]后,调用全同态加密算法MFHE中的最终解密运算FinDec对其进行解密,恢复出全局模型M,其中,mj表示共享小组中第j个银行Pj计算的部分密文,N表示共享小组中银行的个数;
(5.3)共享小组中的每个银行分别使用全局模型M更新自己的本地模型,并根据自己的本地数据,用机器学习算法MBGD训练更新后的本地模型,直到该模型收敛或精度达到指定的要求,完成数据共享过程。
上述描述仅是本发明的一个具体实例,并不构成本发明的任何限制,显然,对于本领域的专业人员来说,在了解本发明的原理和内容后,都可以在不背离本发明的原理和内容的情况下,对本发明的形式和细节上作出各种修正和改变,但这些基于本发明的内容和原理的修正和改变仍在本发明的权利要求保护范围之内。

Claims (8)

1.一种金融许可区块链中支持隐私保护的数据共享方法,其特征在于:
(1)建立金融许可区块链:
(1a)初始化:初始化过程包含许可区块链初始化和银行初始化两个阶段;
在许可区块链初始化阶段,可信机构TA首先根据给定的安全参数k,选择一个阶数为q加性循环群G,一个随机生成器p和4个安全的哈希函数H1,H2,H3,H4,再在集合
Figure FDA0002883342630000011
上随机选择一个整数a作为主密钥,计算相应的主公钥PK=ap,并保存主密钥a,同时发布一个***通用参数GP={p,q,PK,G,H1,H2,H3,H4};
在银行初始化阶段,各银行根据给定的安全参数λ和递归深度d,在集合
Figure FDA0002883342630000012
上选择格参数n,加密轮次Bχ,错误分布参数χ,随机采样值ω和迭代矩阵
Figure FDA0002883342630000013
并输出***参数BP;
(1b)每个银行Pi在加入金融许可区块链之前在TA处进行注册,得到一个有效期为TSi的假名PIDi以及完整的公钥PKi和私钥SKi,将私钥SKi保存到本地,并将公钥PKi和假名PIDi记录在区块链中;
(2)通过数据检索过程筛选参与数据共享的银行,形成一个数据共享小组:
(2a)银行PR向金融许可区块链发送一个包括PR的客户R={r1,…,rnn}、假名PIDR和签名SigR的检索数据请求,其中,nn表示银行PR拥有的客户的数量;
(2b)许可区块链中的其他银行收到请求后,验证假名有效期TSR和签名SigR是否有效,并将验证有效的请求中的客户R与本地用户进行对比:
如果存在重合的用户,则该银行加入共享小组参与数据共享过程,执行(3);
如果不存在重合的用户,则结束该过程;
(3)各银行通过本地训练和局部数据共享训练本地模型:
(3a)共享小组中的所有银行分别用机器学习算法MBGD训练自己的本地数据,得到自己的本地模型w;
(3b)共享小组中的第i个银行Pi将自己训练过程中的梯度参数共享给共享小组中的第j个银行Pj,由Pj对自己的本地模型wj进行训练;
(4)共享小组中的所有银行分别上传自己经过训练后的本地模型,再由聚合服务器对这些本地模型进行聚合得到全局模型,并保存到金融许可区块链中,完成所有银行的数据共享过程;
(5)共享小组中的各银行使用全局模型对自己的本地模型进行训练,直到本地模型收敛或精度达到指定的要求。
2.根据权利要求1所述的金融许可区块链中支持隐私保护的数据共享方法,其特征在于,其中步骤(1a)中银行在初始化阶段输出的***参数BP,表示如下;
BP=(r,n,m,χ,Bχ,B),
其中,r=Bχ2ω(dλlogλ)为模数,m=nlog(r)+ω(logλ)为迭代矩阵列数。
3.根据权利要求1所述的方法,其特征在于,其中(1b)中每个银行Pi在加入金融许可区块链之前在TA处进行注册,实现如下:
(1b1)银行Pi在集合
Figure FDA0002883342630000021
中随机选择一个元素xi作为部分密钥,计算部分公钥Yi=xip和临时身份
Figure FDA0002883342630000022
并向可信机构TA发送一个注册请求Ri=(TIDi,Yi),其中IDi是银行Pi的真实身份;
(1b2)收到银行Pi的注册请求Ri后,可信机构TA先恢复出银行的真实身份
Figure FDA0002883342630000023
并在集合
Figure FDA0002883342630000024
中随机选择一个整数vi用于计算Pi的部分公钥Ui=vip,再为Pi分发一个有效期为TSi的假名PIDi=(pi,TSi),同时计算哈希值li=H3(PIDi,Ui,Yi),部分密钥di=a+livi和辅助参数
Figure FDA0002883342630000025
并将辅助参数ti、部分公钥Ui和假名有效期TSi一起发送给Pi,其中匿名参数
Figure FDA0002883342630000026
(1b3)银行Pi收到TA发送过来的元组(Ui,TSi,ti)后,首先计算匿名参数
Figure FDA0002883342630000027
得到自己的假名PIDi=(pi,TSi),随后计算部分密钥
Figure FDA0002883342630000028
和哈希值li=H3(PIDi,Ui,Yi),并验证等式dip=PK+liUi是否成立:
如果等式不成立,则算法中止;
如果等式成立,则Pi计算完整的公钥PKi=Yi+liUi和私钥SKi=(xi,di),广播PKi,并将SKi存储在本地;
(1b4)金融许可区块链中的其他所有银行将银行Pi的公钥PKi,假名PIDi和假名有效期TSi保存到本地区块中。
4.根据权利要求1所述的方法,其特征在于,其中(3a)中共享小组中的所有银行分别用机器学习算法MBGD训练自己的本地数据,实现如下:
(3a1)数据共享小组中的第i个银行Pi从金融许可区块链中获取最新的全局模型作为本地模型的初始值
Figure FDA0002883342630000031
Figure FDA0002883342630000032
是Pi的本地用户数据,其中
Figure FDA0002883342630000033
为用户特征,y(j)为数据值,cn为用户数据的数量;
(3a2)银行Pi从本地数据中随机选择k个数据作为训练样本;
(3a3)银行Pi根据这k个训练样本求出本次批量下降的梯度值:
Figure FDA0002883342630000034
其中,
Figure FDA00028833426300000310
是一个和本地模型
Figure FDA0002883342630000035
有关的预测函数;
(3a4)银行Pi用梯度值
Figure FDA0002883342630000036
对模型值进行更新,得到新的本地模型值
Figure FDA0002883342630000037
其中α为学习参数。
5.根据权利要求1所述的方法,其特征在于,其中(3b)中共享小组中的第i个银行Pi将自己训练过程中的梯度参数共享给共享小组中的第j个银行Pj,由Pj对自己的本地模型wj进行训练,实现如下:
(3b1)共享小组中的第i个银行Pi先从金融许可区块链中获取共享小组中第j个银行Pj的公钥PKj和假名PIDj,再从集合
Figure FDA0002883342630000038
中随机选择一个整数si对自己梯度参数gi进行加密,得到密文
Figure FDA0002883342630000039
并对该密文进行签名后把密文C、签名{Si,Sigi}和时间戳Ti一起发送给Pj,其中J=si(PKj+PK),Si=sip,Sigi=si/[hi(xi+di)]hi=H4(PIDi,C,PKi,Ti),(xi,di)是银行Pi的私钥,TSj是假名PIDj的有效期;
(3b2)共享小组中的第j个银行Pj从金融许可区块链中获取银行Pi的公钥PKi和假名PIDi用于计算hi=H4(PIDi,C,PKi,Ti),并验证等式hiSigi(PKi+PK)=Ri是否成立:
如果等式不成立,Pj拒绝接受密文C;
如果等式成立,Pj计算J=Si(xj+dj)并恢复出第i个银行的梯度参数
Figure FDA0002883342630000041
将其和自己的梯度参数取平均后作为新的梯度参数,使用机器学习算法MBGD训练自己的本地模型wj
6.根据权利要求1所述的方法,其特征在于,其中(4)中共享小组中的所有银行分别上传自己经过训练后的本地模型,实现如下:
(4a)共享小组中的每个银行分别调用全同态加密算法MFHE中的加密运算Encrypt对自己经过训练的本地模型w进行加密生成密文cw,并计算该本地模型的均方误差
Figure FDA0002883342630000042
然后发送给金融许可区块链,其中,
Figure FDA0002883342630000043
表示该银行的本地数据在自己的本地模型w下的预测值,yi表示该银行本地数据的实际值,dn表示该银行拥有的本地数据的数量;
(4b)共享小组中的所有银行共同选出一个本地模型均方误差最小的银行,作为负责生成区块的领导银行;
(4c)领导银行生成一个候选块Bk=<Hk,tw,M>,并将其广播给小组中的其他银行以供验证,其中Hk是头信息,tw是记录共享小组中所有银行加密后的本地模型的交易,M是共享小组中所有银行的本地模型均方误差的集合;
(4d)共享小组中的其他银行先计算共享小组中所有银行本地模型总的均方误差MSE(M):
Figure FDA0002883342630000044
其中,
Figure FDA0002883342630000045
表示共享小组中第j个银行Pj对全局模型的贡献参数,dj是共享小组中第j个银行Pj的本地数据尺寸,N是共享小组中银行的数量;
(4e)共享小组中的其他银行验证每个银行本地模型的均方误差MSE(wi)和所有本地模型总的均方误差MSE(M)是否在事先约定的范围内:如果不在,结束这一过程;否则,向领导银行发送一个确认消息;
(4f)领导银行收到共享小组中其他所有银行的确认消息后,将候选块Bk打包成新的区块并保存到金融许可区块链中。
7.根据权利要求1所述的方法,其特征在于,(4)中聚合服务器对这些本地模型进行聚合得到全局模型,实现如下:
(4g)聚合服务器AS从金融许可区块链中获取共享小组中所有银行被加密后的本地模型{cwi}i∈N,并依次调用全同态加密算法MFHE中的扩展运算Expand将每一个密文cwi都扩展成多密钥形式的密文
Figure FDA0002883342630000051
其中N表示共享小组中银行的个数;
(4h)聚合服务器AS调用MFHE中的求值运算Eval对所有多密钥形式的密文
Figure FDA0002883342630000052
进行加权平均,得到密文形式的全局模型
Figure FDA0002883342630000053
并将其存储到金融许可区块链中,其中,CM计算公式中的加法运算是通过Eval.add算法实现的,乘法运算是通过Eval.mul算法实现的,
Figure FDA0002883342630000054
表示共享小组中第i个银行Pi在共享小组中的贡献参数,di是共享小组中第i个银行Pi的本地数据尺寸。
8.根据权利要求1所述的方法,其特征在于,(5)中共享小组中的各银行使用全局模型对自己的本地模型进行训练,实现如下:
(5a)共享小组中的每个银行分别从金融许可区块链中下载密文形式的全局模型CM,再调用全同态加密算法MFHE中的部分解密运算PartDec对CM进行部分解密,得到部分密文m,并广播;
(5b)共享小组中的第i个银行Pi收到共享小组中的其他所有银行广播的部分密文{mj}j∈[N]后,调用全同态加密算法MFHE中的最终解密运算FinDec对其进行解密,恢复出全局模型M,其中,mj表示共享小组的第j个银行Pj计算的部分密文;
(5c)共享小组中的每个银行分别使用全局模型M更新自己的本地模型,并根据自己的本地数据,分别用机器学习算法MBGD训练更新后的本地模型,直到该模型收敛或精度达到指定的要求。
CN202110005850.0A 2021-01-05 2021-01-05 金融许可区块链中支持隐私保护的数据共享方法 Active CN112685783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110005850.0A CN112685783B (zh) 2021-01-05 2021-01-05 金融许可区块链中支持隐私保护的数据共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110005850.0A CN112685783B (zh) 2021-01-05 2021-01-05 金融许可区块链中支持隐私保护的数据共享方法

Publications (2)

Publication Number Publication Date
CN112685783A true CN112685783A (zh) 2021-04-20
CN112685783B CN112685783B (zh) 2024-02-27

Family

ID=75457158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110005850.0A Active CN112685783B (zh) 2021-01-05 2021-01-05 金融许可区块链中支持隐私保护的数据共享方法

Country Status (1)

Country Link
CN (1) CN112685783B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113554505A (zh) * 2021-06-23 2021-10-26 中国工商银行股份有限公司 基于区块链的银行风控方法及装置
CN113612598A (zh) * 2021-08-02 2021-11-05 北京邮电大学 基于秘密共享和联邦学习的车联网数据共享***及方法
CN114143311A (zh) * 2021-11-03 2022-03-04 深圳前海微众银行股份有限公司 一种基于区块链的隐私保护方案聚合方法及装置
CN114710294A (zh) * 2022-04-20 2022-07-05 电子科技大学 一种新型区块链隐私保护方法
CN115766295A (zh) * 2023-01-05 2023-03-07 成都墨甲信息科技有限公司 工业互联网数据安全传输方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及***
CN110740033A (zh) * 2019-08-19 2020-01-31 杭州云象网络技术有限公司 一种基于秘密共享技术的区块链多方数据共享方法
US20200193292A1 (en) * 2018-12-04 2020-06-18 Jinan University Auditable privacy protection deep learning platform construction method based on block chain incentive mechanism
CN111368319A (zh) * 2020-03-04 2020-07-03 西安电子科技大学 一种联邦学习环境下基于区块链的数据安全访问方法
CN111698322A (zh) * 2020-06-11 2020-09-22 福州数据技术研究院有限公司 一种基于区块链和联邦学习的医疗数据安全共享方法
CN111966698A (zh) * 2020-07-03 2020-11-20 华南师范大学 一种基于区块链的可信联邦学习方法、***、装置及介质
WO2020233260A1 (zh) * 2019-07-12 2020-11-26 之江实验室 一种基于同态加密的隐私保护多机构数据分类方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200193292A1 (en) * 2018-12-04 2020-06-18 Jinan University Auditable privacy protection deep learning platform construction method based on block chain incentive mechanism
WO2020233260A1 (zh) * 2019-07-12 2020-11-26 之江实验室 一种基于同态加密的隐私保护多机构数据分类方法
CN110740033A (zh) * 2019-08-19 2020-01-31 杭州云象网络技术有限公司 一种基于秘密共享技术的区块链多方数据共享方法
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及***
CN111368319A (zh) * 2020-03-04 2020-07-03 西安电子科技大学 一种联邦学习环境下基于区块链的数据安全访问方法
CN111698322A (zh) * 2020-06-11 2020-09-22 福州数据技术研究院有限公司 一种基于区块链和联邦学习的医疗数据安全共享方法
CN111966698A (zh) * 2020-07-03 2020-11-20 华南师范大学 一种基于区块链的可信联邦学习方法、***、装置及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
卫荣;钱步月;兰欣;李晓亮;: "基于区块链技术的区域医疗数据安全共享问题研究", 中国卫生信息管理杂志, no. 02, 20 April 2020 (2020-04-20) *
李铮;: "一种支持隐私与权益保护的数据联合利用***方案", 信息与电脑(理论版), no. 14, 25 July 2020 (2020-07-25) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113554505A (zh) * 2021-06-23 2021-10-26 中国工商银行股份有限公司 基于区块链的银行风控方法及装置
CN113612598A (zh) * 2021-08-02 2021-11-05 北京邮电大学 基于秘密共享和联邦学习的车联网数据共享***及方法
CN113612598B (zh) * 2021-08-02 2024-02-23 北京邮电大学 基于秘密共享和联邦学习的车联网数据共享***及方法
CN114143311A (zh) * 2021-11-03 2022-03-04 深圳前海微众银行股份有限公司 一种基于区块链的隐私保护方案聚合方法及装置
CN114710294A (zh) * 2022-04-20 2022-07-05 电子科技大学 一种新型区块链隐私保护方法
CN115766295A (zh) * 2023-01-05 2023-03-07 成都墨甲信息科技有限公司 工业互联网数据安全传输方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112685783B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN111372243B (zh) 基于雾联盟链的安全分布式聚合与访问***及方法
CN112685783B (zh) 金融许可区块链中支持隐私保护的数据共享方法
CN109040045B (zh) 一种基于密文策略属性基加密的云存储访问控制方法
CN107682308B (zh) 基于区块链潜信道技术的电子证据保存***
CN107911216B (zh) 一种区块链交易隐私保护方法及***
CN107528688B (zh) 一种基于加密委托技术的区块链密钥保管及恢复方法、装置
CN110022217B (zh) 一种基于区块链的广告传媒业务数据可信存证***
CN109495490B (zh) 一种基于区块链的统一身份认证方法
CN109145612B (zh) 基于区块链实现防数据篡改、用户共谋的云数据共享方法
CN110020541B (zh) 一种基于区块链的隐私保护的声誉评价方法及***
CN110740033A (zh) 一种基于秘密共享技术的区块链多方数据共享方法
CN104901942A (zh) 一种基于属性加密的分布式访问控制方法
Wei et al. Lightweight federated learning for large-scale IoT devices with privacy guarantee
CN112906036B (zh) 一种基于区块链技术的车联网匿名安全取证方法与***
CN110336673B (zh) 一种基于隐私保护的区块链设计方法
CN113761582A (zh) 基于群签名的可监管区块链交易隐私保护方法及***
CN115037477A (zh) 一种基于区块链的联邦学习隐私保护方法
CN111711607B (zh) 一种基于区块链的流式微服务可信加载与验证方法
WO2021154157A1 (en) Blockchain-based data exchange
CN115270145A (zh) 一种基于联盟链和联邦学习的用户窃电行为检测方法及***
Guo et al. Accountable attribute-based data-sharing scheme based on blockchain for vehicular ad hoc network
CN116702191A (zh) 一种联邦学习的本地模型参数聚合方法
CN116628744A (zh) 一种具有轻量级验证机制的隐私保护联邦学习方法
CN115174184A (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