CN112685783B - 金融许可区块链中支持隐私保护的数据共享方法 - Google Patents
金融许可区块链中支持隐私保护的数据共享方法 Download PDFInfo
- Publication number
- CN112685783B CN112685783B CN202110005850.0A CN202110005850A CN112685783B CN 112685783 B CN112685783 B CN 112685783B CN 202110005850 A CN202110005850 A CN 202110005850A CN 112685783 B CN112685783 B CN 112685783B
- Authority
- CN
- China
- Prior art keywords
- bank
- local
- data
- blockchain
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000012549 training Methods 0.000 claims abstract description 22
- 230000002776 aggregation Effects 0.000 claims abstract description 12
- 238000004220 aggregation Methods 0.000 claims abstract description 12
- 238000010801 machine learning Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 235000016496 Panda oleosa Nutrition 0.000 claims description 5
- 240000000220 Panda oleosa Species 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 5
- 239000000654 additive Substances 0.000 claims description 4
- 230000000996 additive effect Effects 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000005304 joining Methods 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 206010000210 abortion Diseases 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 claims 1
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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,再在集合上随机选择一个整数a作为主密钥,计算相应的主公钥PK=ap,并保存主密钥a,同时发布一个系统通用参数GP={p,q,PK,G,H1,H2,H3,H4};
在银行初始化阶段,各银行根据给定的安全参数λ和递归深度d,在集合上选择格参数n,加密轮次Bχ,错误分布参数χ,随机采样值ω和迭代矩阵/>并输出系统参数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}*,再在集合/>上随机选择一个整数a作为主密钥,计算相应的主公钥PK=ap,并保存主密钥a,同时发布一个系统通用参数GP={p,q,PK,G,H1,H2,H3,H4};
在银行初始化阶段,各银行根据给定的安全参数λ和递归深度d,在集合上选择格参数n,加密轮次Bχ,错误分布参数χ,随机采样值ω和迭代矩阵/>并输出系统参数BP=(r,n,m,χ,Bχ,B),其中,r=Bχ2ω(dλlogλ)为模数,m=nlog(r)+ω(logλ)为迭代矩阵列数;
(1.2)银行注册:
每个银行Pi在加入金融许可区块链之前在可信机构TA处进行注册。
参照图2,本步骤的具体实现如下:
(1.2.1)银行Pi在集合中随机选择一个元素xi作为部分密钥,计算部分公钥Yi=xip和临时身份/>并向可信机构TA发送一个注册请求Ri=(TIDi,Yi),其中IDi是银行Pi的真实身份;
(1.2.2)收到银行Pi的注册请求Ri后,可信机构TA先恢复出银行的真实身份并在集合/>中随机选择一个整数vi用于计算Pi的部分公钥Ui=vip,再为Pi分发一个有效期为TSi的假名PIDi=(pi,TSi),同时计算哈希值li=H3(PIDi,Ui,Yi),部分密钥di=a+livi和辅助参数/>并将辅助参数ti、部分公钥Ui和假名有效期TSi一起发送给Pi,其中匿名参数/>
(1.2.3)银行Pi收到可信机构TA发送过来的元组(Ui,TSi,ti)后,首先计算匿名参数得到自己的假名PIDi=(pi,TSi),随后计算部分密钥和哈希值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首先建立一个只包含自己的数据共享小组,再从集合中随机选择一个整数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从金融许可区块链中获取最新的全局模型作为本地模型的初始值设/>为Pi的本地用户数据,其中/>为用户特征,y(j)为数据值,cn为用户数据的数量;
(3.1.2)银行Pi从本地数据中随机选择k个数据作为训练样本;
(3.1.3)银行Pi根据这k个训练样本求出本次批量下降的梯度值:
其中,是一个和本地模型/>有关的预测函数;
(3.1.4)银行Pi用梯度值对本地模型值进行更新,得到新的本地模型值其中α为学习参数;
(3.2)共享小组中的第i个银行Pi将自己训练过程中的梯度参数共享给共享小组中的第j个银行Pj,由Pj对自己的本地模型wj进行训练:
参照图5,本步骤的具体实现如下:
(3.2.1)共享小组中的第i个银行Pi先从金融许可区块链中获取共享小组中第j个银行Pj的公钥PKj和假名PIDj,再从集合中随机选择一个整数si对自己的梯度参数gi先加密再对加密结果进行签名,得到的密文C、签名{Si,Sigi},并将该密文C、签名和时间戳Ti,一起发送给Pj,其中,/>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个银行的梯度参数再将其与自己的梯度参数取平均后作为新的梯度参数,使用机器学习算法MBGD继续训练自己的本地模型wj。
步骤4,全局数据共享。
共享小组中的所有银行分别上传自己经过训练后的本地模型,再由聚合服务器对这些本地模型进行聚合得到全局模型,并保存到金融许可区块链中,完成所有银行的全局数据共享过程。
参照图6,本步骤的具体实现如下:
(4.1)共享小组中的每个银行分别调用全同态加密算法MFHE中的加密运算Encrypt对自己的经过训练的本地模型w进行加密生成密文cw,并计算该本地模型的均方误差MSE(w),发送给金融许可区块链:
其中,表示该银行的本地数据在自己的本地模型下的预测值,yi表示该银行本地数据的实际值,dn表示该银行拥有的本地数据的数量;
(4.2)共享小组中的所有银行共同选出一个本地模型均方误差最小的银行,作为负责生成区块的领导银行;
(4.3)领导银行生成一个候选块:Bk=<Hk,tw,M>,并将其广播给小组中的其他银行以供验证,其中Hk是头信息,tw是记录共享小组中所有银行加密后的本地模型的交易,M是共享小组中所有银行本地模型均方误差的集合;
(4.4)共享小组中的其他银行分别计算共享小组中所有本地模型总的均方误差MSE(M):
其中,表示共享小组中第j个银行Pj对全局模型的贡献参数,dj是共享小组中第j个银行Pj的本地数据数量,N是共享小组中银行的数量;
(4.5)共享小组中的其他银行分别验证共享小组中每个银行本地模型的均方误差MSE(wi)和所有本地模型总的均方误差MSE(M)是否在事先约定的范围内:如果不在,结束这一过程;否则,向领导银行发送一个确认消息;
(4.6)领导银行收到共享小组中其他所有银行的确认消息后,将候选块Bk打包成新的区块并保存到金融许可区块链中;
(4.7)聚合服务器AS从金融许可区块链中获取共享小组中所有银行被加密后的本地模型{cwi}i∈N,并依次调用全同态加密算法MFHE中的扩展运算Expand将每一个密文cwi都扩展成多密钥形式的密文其中N表示共享小组中银行的个数;
(4.8)聚合服务器AS调用MFHE中的求值运算Eval对所有多密钥形式的密文进行加权平均,得到密文形式的全局模型CM,并将其存储到金融许可区块链中:
其中,CM计算公式中的加法运算是通过Eval.add算法实现的,乘法运算是通过Eval.mul算法实现的,表示共享小组中第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,再在集合上随机选择一个整数a作为主密钥,计算相应的主公钥PK=ap,并保存主密钥a,同时发布一个系统通用参数GP={p,q,PK,G,H1,H2,H3,H4};
在银行初始化阶段,各银行根据给定的安全参数λ和递归深度d,在集合上选择格参数n,加密轮次Bχ,错误分布参数χ,随机采样值ω和迭代矩阵/>并输出系统参数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在集合中随机选择一个元素xi作为部分密钥,计算部分公钥Yi=xip和临时身份/>并向可信机构TA发送一个注册请求Ri=(TIDi,Yi),其中IDi是银行Pi的真实身份;
(1b2)收到银行Pi的注册请求Ri后,可信机构TA先恢复出银行的真实身份并在集合/>中随机选择一个整数vi用于计算Pi的部分公钥Ui=vip,再为Pi分发一个有效期为TSi的假名PIDi=(pi,TSi),同时计算哈希值li=H3(PIDi,Ui,Yi),部分密钥di=a+livi和辅助参数/>并将辅助参数ti、部分公钥Ui和假名有效期TSi一起发送给Pi,其中匿名参数/>
(1b3)银行Pi收到TA发送过来的元组(Ui,TSi,ti)后,首先计算匿名参数得到自己的假名PIDi=(pi,TSi),随后计算部分密钥和哈希值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从金融许可区块链中获取最新的全局模型作为本地模型的初始值设/>是Pi的本地用户数据,其中/>为用户特征,y(j)为数据值,cn为用户数据的数量;
(3a2)银行Pi从本地数据中随机选择k个数据作为训练样本;
(3a3)银行Pi根据这k个训练样本求出本次批量下降的梯度值:
其中,是一个和本地模型/>有关的预测函数;
(3a4)银行Pi用梯度值对模型值进行更新,得到新的本地模型值/>其中α为学习参数。
5.根据权利要求1所述的方法,其特征在于,其中(3b)中共享小组中的第i个银行Pi将自己训练过程中的梯度参数共享给共享小组中的第j个银行Pj,由Pj对自己的本地模型wj进行训练,实现如下:
(3b1)共享小组中的第i个银行Pi先从金融许可区块链中获取共享小组中第j个银行Pj的公钥PKj和假名PIDj,再从集合中随机选择一个整数si对自己梯度参数gi进行加密,得到密文/>并对该密文进行签名后把密文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个银行的梯度参数将其和自己的梯度参数取平均后作为新的梯度参数,使用机器学习算法MBGD训练自己的本地模型wj。
6.根据权利要求1所述的方法,其特征在于,其中(4)中共享小组中的所有银行分别上传自己经过训练后的本地模型,实现如下:
(4a)共享小组中的每个银行分别调用全同态加密算法MFHE中的加密运算Encrypt对自己经过训练的本地模型w进行加密生成密文cw,并计算该本地模型的均方误差然后发送给金融许可区块链,其中,/>表示该银行的本地数据在自己的本地模型w下的预测值,yi表示该银行本地数据的实际值,dn表示该银行拥有的本地数据的数量;
(4b)共享小组中的所有银行共同选出一个本地模型均方误差最小的银行,作为负责生成区块的领导银行;
(4c)领导银行生成一个候选块Bk=<Hk,tw,M>,并将其广播给小组中的其他银行以供验证,其中Hk是头信息,tw是记录共享小组中所有银行加密后的本地模型的交易,M是共享小组中所有银行的本地模型均方误差的集合;
(4d)共享小组中的其他银行先计算共享小组中所有银行本地模型总的均方误差MSE(M):
其中,表示共享小组中第j个银行Pj对全局模型的贡献参数,dj是共享小组中第j个银行Pj的本地数据尺寸,N是共享小组中银行的数量;
(4e)共享小组中的其他银行验证每个银行本地模型的均方误差MSE(wi)和所有本地模型总的均方误差MSE(M)是否在事先约定的范围内:如果不在,结束这一过程;否则,向领导银行发送一个确认消息;
(4f)领导银行收到共享小组中其他所有银行的确认消息后,将候选块Bk打包成新的区块并保存到金融许可区块链中。
7.根据权利要求1所述的方法,其特征在于,(4)中聚合服务器对这些本地模型进行聚合得到全局模型,实现如下:
(4g)聚合服务器AS从金融许可区块链中获取共享小组中所有银行被加密后的本地模型{cwi}i∈N,并依次调用全同态加密算法MFHE中的扩展运算Expand将每一个密文cwi都扩展成多密钥形式的密文其中N表示共享小组中银行的个数;
(4h)聚合服务器AS调用MFHE中的求值运算Eval对所有多密钥形式的密文进行加权平均,得到密文形式的全局模型/>并将其存储到金融许可区块链中,其中,CM计算公式中的加法运算是通过Eval.add算法实现的,乘法运算是通过Eval.mul算法实现的,/>表示共享小组中第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训练更新后的本地模型,直到该模型收敛或精度达到指定的要求。
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 CN112685783A (zh) | 2021-04-20 |
CN112685783B true 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) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113554505A (zh) * | 2021-06-23 | 2021-10-26 | 中国工商银行股份有限公司 | 基于区块链的银行风控方法及装置 |
CN113612598B (zh) * | 2021-08-02 | 2024-02-23 | 北京邮电大学 | 基于秘密共享和联邦学习的车联网数据共享系统及方法 |
CN114143311B (zh) * | 2021-11-03 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种基于区块链的隐私保护方案聚合方法及装置 |
CN114710294A (zh) * | 2022-04-20 | 2022-07-05 | 电子科技大学 | 一种新型区块链隐私保护方法 |
CN115766295A (zh) * | 2023-01-05 | 2023-03-07 | 成都墨甲信息科技有限公司 | 工业互联网数据安全传输方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572253A (zh) * | 2019-09-16 | 2019-12-13 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及系统 |
CN110740033A (zh) * | 2019-08-19 | 2020-01-31 | 杭州云象网络技术有限公司 | 一种基于秘密共享技术的区块链多方数据共享方法 |
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 | 之江实验室 | 一种基于同态加密的隐私保护多机构数据分类方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685501B (zh) * | 2018-12-04 | 2023-04-07 | 暨南大学 | 基于区块链激励机制下可审计的隐私保护深度学习平台建设方法 |
-
2021
- 2021-01-05 CN CN202110005850.0A patent/CN112685783B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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)
Title |
---|
一种支持隐私与权益保护的数据联合利用系统方案;李铮;;信息与电脑(理论版);20200725(14);全文 * |
基于区块链技术的区域医疗数据安全共享问题研究;卫荣;钱步月;兰欣;李晓亮;;中国卫生信息管理杂志;20200420(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112685783A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112685783B (zh) | 金融许可区块链中支持隐私保护的数据共享方法 | |
CN112019591B (zh) | 一种基于区块链的云数据共享方法 | |
CN107528688B (zh) | 一种基于加密委托技术的区块链密钥保管及恢复方法、装置 | |
CN109189727B (zh) | 一种基于属性代理重加密的区块链密文云存储共享方法 | |
CN110022217B (zh) | 一种基于区块链的广告传媒业务数据可信存证系统 | |
CN109495490B (zh) | 一种基于区块链的统一身份认证方法 | |
CN110740033A (zh) | 一种基于秘密共享技术的区块链多方数据共享方法 | |
CN110020541B (zh) | 一种基于区块链的隐私保护的声誉评价方法及系统 | |
CN115037477A (zh) | 一种基于区块链的联邦学习隐私保护方法 | |
CN110599163B (zh) | 一种面向区块链交易监管的交易记录外包方法 | |
CN112383550B (zh) | 一种基于隐私保护的动态权限访问控制方法 | |
CN113761582A (zh) | 基于群签名的可监管区块链交易隐私保护方法及系统 | |
CN109565440B (zh) | 密钥交换方法,密钥交换系统 | |
CN112906036B (zh) | 一种基于区块链技术的车联网匿名安全取证方法与系统 | |
CN111581648B (zh) | 在不规则用户中保留隐私的联邦学习的方法 | |
CN113034128A (zh) | 一种基于区块链的数据交易及确权的方法 | |
CN114386069B (zh) | 一种基于条件隐私集合求交的联邦学习模型训练方法 | |
CN115270145A (zh) | 一种基于联盟链和联邦学习的用户窃电行为检测方法及系统 | |
CN118133311A (zh) | 一种基于改进群签名的联邦学习隐私保护方法 | |
CN114553883A (zh) | 基于区块链的云边端协同数据采集与隐私保护方法和系统 | |
Li et al. | Anonymous, secure, traceable, and efficient decentralized digital forensics | |
CN117034287A (zh) | 基于隐私计算互联互通技术的多方联合建模安全增强方法 | |
CN115549998B (zh) | 一种基于区块链和多密钥同态加密的数据协同方法 | |
CN116308355A (zh) | 一种基于区块链的碳排放交易与审计方法 | |
CN116155598A (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 |