CN115865313A - 一种轻量级隐私保护纵向联邦学习模型参数聚合方法 - Google Patents
一种轻量级隐私保护纵向联邦学习模型参数聚合方法 Download PDFInfo
- Publication number
- CN115865313A CN115865313A CN202211480939.3A CN202211480939A CN115865313A CN 115865313 A CN115865313 A CN 115865313A CN 202211480939 A CN202211480939 A CN 202211480939A CN 115865313 A CN115865313 A CN 115865313A
- Authority
- CN
- China
- Prior art keywords
- data
- aggregation
- receiver
- parameter
- owner
- 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
Abstract
本发明公开了一种轻量级隐私保护纵向联邦学习模型参数聚合方法,其特点是该方法在联邦学习背景下采用任意单向陷门置换和不同的哈希摘要算法,实现多用户场景下的隐私保护参数聚合计算,具体包括:系统初始化、加密、数据聚合、解密四个阶段。本发明与现有技术相比具有较低的计算和通信开销,无需利用公钥同态加密,保证了聚合结果的安全性,保护了参与方敏感数据免受合谋攻击,较好的解决了计算密集型公钥同态加密给资源受限的本地用户带来了无法忍受的高复杂性问题,保证了聚合结果的安全性,满足了各种高效性和隐私性需求。
Description
技术领域
本发明涉及隐私保护聚合技术领域,具体地说是一种利用轻量级同态计算在纵向联邦学习场景下支持密文域上高效的隐私保护参数聚合方法。
背景技术
随着计算机领域的蓬勃发展,数据成为实现各类技术的核心要素,企业和机构希望借助海量的数据获取收益。纵向联邦学习技术提高隐私保护的性能和安全性,企业间隐私数据不出库,各客户端模型利用本地数据进行训练,只针对训练过程中的模型参数进行交互,能够在保护数据本身不对外泄露的前提下实现数据分析计算,可以让数据使用权和所有权分离,严格控制了数据的用法用量,减少传统合作过程中数据的转移、保管及事后销毁等工作,解决了人们因担心数据泄露,不敢共享数据的顾虑。然而在现实应用中,聚合器对双方模型参数聚合并将聚合结果返回给结果接收方,在数据处理过程中或与用户交互过程中有机会窥探用户的隐私数据,可能与未授权用户进行合谋攻击,破坏协议的正确执行。
为了防止用户数据隐私泄露,保障信息安全,最直接的方法就是在将数据发送给聚合器之前,通过各种加密方法来保护数据的机密性。数据加密的基本过程是将原始的明文数据在密钥的作用下,按照某种加密算法进行处理,使其成为一段不可读的代码,即密文。解密方只有输入相应的密钥,通过解密算法对密文进行解密,才能恢复原始明文数据。通过上述手段对数据进行加密,达到保护数据不被非法窃取的目的。
隐私保护聚合需要满足以下两点基本隐私保护需求:(1)输入数据隐私:即数据拥有者的输入数据隐私能抵抗由半可信或恶意聚合器以及恶意接收方发起的合谋攻击;(2)聚合结果隐私:即聚合计算结果只能由授权的接收方解密得到。同态加密具有对密文执行的计算操作保持对相应明文执行相同计算操作的性质,可实现在密文域上的各类安全计算功能。具体来说,数据拥有者使用结果接收方的公钥,利用同态计算对本地用于数据聚合的每一个输入数据加密后发送给聚合器,聚合器在密文域上进行聚合计算并将密文计算结果发送给接收方,接收方用其私钥解密明文计算结果。
然而,利有公钥同态加密算法实现安全聚合无法很好地保护输入数据,而且计算和通信复杂度过高,无法满足本地用户资源受限的客观性能需求。更重要的是,目前国际上大多数的轻量级安全聚合方案仅针对单用户的场景给出了有效解决方案,无法满足多用户这一更一般化的场景需求,即数据输入无法在不同密钥下加密以进行数据聚合。因此,寻求一种轻量级隐私保护纵向联邦学习模型参数聚合方法是亟待解决的挑战性公开问题。
现有技术的隐私保护聚合依赖于计算密集型公钥同态加密,需利用公钥同态加密,不仅增加了计算和通信开销,而且给资源受限的本地用户带来了无法忍受的高复杂性,参与方敏感数据易受合谋攻击,聚合结果的安全性能低。
发明内容
本发明的目的是针对现有技术的不足而提供的一种轻量级隐私保护纵向联邦学习模型参数聚合方法,在联邦学习背景下采用任意单向陷门置换技术设计的隐私保护参数聚合方法,可实现多用户场景下高效的隐私保护聚合计算,该方法在不利用Paillier公钥同态加密的情况下,可以在多个用户的场景下,实现支持密文域上的聚合计算;它要求每个数据所有者只执行一次单向陷门置换以批量加密多个数据输入。其中,单向陷门置换可以根据不同的网络应用场景的安全性需求,由各种特定的公钥加密算法进行实现,比如RSA加密、基于身份的加密(IBE)、基于属性的加密(ABE)、代理重加密等;哈希函数可以根据输入和输出长度需求,采用不同的哈希摘要算法,比如MD5,SHA1,SHA3,SHA256算法等。任意的单向陷门以及任意的哈希函数使得本发明更具灵活性,该方法无需利用公钥同态加密,大大减少了计算和通信开销,满足了各种高效性和隐私性需求,保护了参与方敏感数据免受合谋攻击,保证了聚合结果的安全性,较好的解决了计算密集型公钥同态加密给资源受限的本地用户带来了无法忍受的高复杂性问题。
本发明的目的是这样实现的:一种轻量级隐私保护纵向联邦学习模型参数聚合方法,其特点是该方法在联邦学习背景下采用任意单向陷门置换和不同的哈希摘要算法,涉及多个数据拥有者、一个聚合器和计算结果接收方,实现多用户场景下的隐私保护参数聚合,具体包括以下几个阶段:
(一)系统初始化阶段
系统在给定安全参数下,执行陷门置换发生器生成一对单向陷门置换及一对公私钥并生成两个哈希函数,在这一轮参数聚合中新加入的数据拥有者为结果接收方,私钥由接收方秘密持有。
(二)数据加密阶段
所有数据拥有者进行密钥协商生成一个共享密钥,使用共享密钥对模型参数加密并盲化,同时使用哈希函数对所有密文参数进行摘要,防止在传输过程中被篡改,使用接收方的公钥加密共享密钥,将以上数据都发送给聚合器。
(三)数据聚合阶段
聚合器在密文域上执行计算完成数据聚合,将聚合后的密文组发送给数据接收方。
(四)数据解密阶段
数据接收方用私钥解密得到共享秘密,检验密文完整性,然后执行解密运算恢复聚合结果,根据聚合参数判断是否继续下一轮模型训练;若该轮没有新加入的数据拥有者,则不需要单向陷门置换对共享密钥进行加密,聚合器最终将聚合结果发送给所有数据拥有者。
所述系统初始化阶段中生成公开参数,单向陷门置换以及其公私钥的具体流程如下:
a)输入1,其中λ是安全参数;
b)系统运行一个陷门置换生成器,用概率多项式时间算法来表示,输出在有限域上的一对置换(,)以及一对公私钥(,),其中是一个素数且||=,是的乘法生成元,它还输出两个哈希函数,:0,1*→0,1,公共参数是=(,,,,,),私钥由接收方秘密持有。
所述数据加密阶段中加密数据的具体流程如下:
a)假设每一轮聚合,用户分别为(∈{1,…,N}),其中n是这一轮新加入的数据拥有者,他们各自输入一个模型参数m。每个数据拥有方随机选择 并计算/>每个数据拥有方通过安全、已认证的信道将zi发送给Ui-1、Ui+1,把/>发送给其他数据拥有方Uj(j≠i);
d)每个数据拥有方由下述(2)式为隐私保护数据聚合计算一个共享秘密:
e)每个数据拥有方Ui用公钥pkf由下述(3)~(4)式分别计算ri′的密文C1,i、共享秘密和盲化结果的摘要Cram,i:
C1,i=fpkf(ri′),C2,i=miri′+Ri (3);
CraE,i=H0(ri′||C2,i) (4);
f)每个数据拥有方Ui将Ci=(C1,i,C2,i,Cram,i)发送给聚合器。
所述数据聚合阶段中在密文域上进行数据聚合的具体流程如下:
b)执行下述(5)~(6)式计算完成数据聚合:
c)聚合器将CA=(Ci,CT,C3)发送给接收者。
所述数据解密阶段中解密算法的具体流程如下:
a)数据接收方首先解密并且检查所有的ri′是否彼此相等。如果不相等,数据接收方终止协议并输出⊥;否则,对所有的i∈{1,2,…,N},令r=ri′,继续检查等式Cram,i=H0(ri′‖C2.i)和/>是否都成立。若不成立,数据接收方终止协议并输出⊥;否则,执行解密运算并通过计算mT=r-1CT来恢复聚合结果,并根据聚合结果,接收方可以判断是否继续参与下一轮模型训练后的参数聚合。
本发明与现有技术相比具有以下优点:
(1)安全性:公钥同态加密实现的隐私保护聚合中,输入隐私和计算结果隐私仅能达到适应性选择明文安全(CPA安全),而在我们提出的轻量级隐私保护纵向联邦学习模型参数聚合方法中,输入隐私在聚合器与密码服务提供商不合谋的情况下,计算结果隐私对非授权接收方均能达到适应性选择密文安全(CCA2安全),其中CCA2安全是比CPA安全更高的安全性。
(2)实现的效率:在我们提出的轻量级隐私保护纵向联邦学习模型参数聚合方法中,仅需一次任意单向陷门置换(其算法复杂度与一次公钥加密相当)运算加密一个共享秘密。对于Paillier公钥同态加密,实现同安全等级的密文聚合,需要执行O(n)次乘法,而我们提出的方法只需执行O(n)次加法运算(n是数据拥有者的数量)。
(3)高可用性:国际上现有的大多数安全外包计算协议往往仅适用于单用户场景,而该方法实现的隐私保护聚合方案支持多用户场景下的聚合计算,具有更高的可用性。在轻量级隐私保护纵向联邦学习模型参数聚合方法中,单向陷门置换可根据不同网络应用场景下的安全性需求,由各种特定的公钥加密算法进行实例化,如RSA加密、基于身份的加密、基于属性的加密、代理重加密等,更具灵活性。
附图说明
图1为本发明系统图;
图2为本发明流程图。
具体实施方式
一、本发明所应用的数学理论说明:
1、哈希函数
哈希函数将可变长度的消息映射为固定长度的Hash值或消息摘要,哈希算法的方式很多,现在普遍在采用的方法有MD2、MD4、MD5和安全哈希算法(SHA-1)。对于输入输出都是比特串的Hash函数(由0和1组成的串),把比特串x的长度记为|x|,并且把比特串x和y记为x||y。设compress:{0,1}m+t→{0,1}m是一个压缩函数(这里t≥1)。将基于压缩函数compress构造一个迭代IIash函数所述迭代Hash函数h的求值主要由下列三步组成。
1)预处理:给定一个输入比特串x,其中|x|≥m+t+1,用一个公开的算法构造一个串y,使得|y|≡0(modt)。记为y=y1||y2||…||yr其中对1≤i≤r,有|yi|=t。
2)处理:设IV是一个长度为m的公开的初始值比特串。则计算:
z0←IV,
z1←compress(z0||y1),
z2←comprgss(z1||y2),
zr←compress(zr-1||yr),
3)输出变换:设g:{0,1}m→{0,1}l是一个公开函数。定义哈希函数h(x)=g(zr)。
2、公钥加密方案
公钥加密方案由密钥生成算法、加密算法和解密算法组成。
密钥生成算法:输入安全参数1n,输出一对公私钥(pk,sk),其中pk是公钥,sk是私钥。
加密算法:输入公钥pk、消息m,输出密文c<Encpk(m)。
解密算法:输入私钥sk、密文c,输出m=Decsk(c)。
公钥加密算法的正确性要求,除了可忽略的概率,对由密钥生成算法Gen(1n)得到的一对公私钥(pk,sk),有Dccsk(Encpk(m))-m成立。
3、中国剩余定理
参阅图1,本发明涉及多个数据拥有者、一个聚合器和数据接收方,每个数据拥有者Ui由随机数和初始参数计算得到共享密钥、盲化后的消息密文以及摘要,并发送给聚合器;聚合器在密文域上计算出聚合结果及其摘要,数据接收者验证数据是否被篡改,然后用私钥解密得到聚合结果。
参阅图2,本发明具体包括以下几个步骤:
(一)系统初始化阶段
系统在给定安全参数下,执行陷门置换发生器来生成一对单向陷门置换及一对公私钥,并生成两个哈希函数,私钥由接收方秘密持有。
(二)数据加密阶段
所有数据拥有者进行密钥协商生成一个共享密钥,使用共享密钥对模型参数加密并盲化,同时使用哈希函数对所有密文参数进行摘要,防止在传输过程中被篡改,使用接收方的公钥加密共享密钥,将以上数据都发送给聚合器。
(三)数据聚合阶段
聚合器在密文域上执行计算完成数据聚合,将聚合后的密文组发送给数据接收方。
(四)数据解密阶段
数据接收方用私钥解密得到共享秘密,检验密文完整性,然后执行解密运算恢复聚合结果,根据聚合参数判断是否继续下一轮模型训练。若该轮没有新加入的数据拥有者,则不需要单向陷门置换对共享密钥进行加密,聚合器最终将聚合结果发送给所有数据拥有者。
本发明主要使用的参数含义详见下表1的参数列表:
表1 参数列表
参数 | 含义 |
λ | 安全参数 |
f,f<sup>-1</sup> | 单向陷门置换及逆置换 |
pk<sub>f</sub>,sk<sub>f</sub> | 单向陷门置换的公私钥 |
H<sub>0</sub>,H<sub>1</sub> | 密码学哈希函数 |
m<sub>i</sub> | 第i个数据拥有者的输入消息 |
R<sub>i</sub> | 第i个数据拥有者计算的随机数差值 |
r<sub>i</sub>′ | 第i个数据拥有者的共享秘密 |
C<sub>1,i</sub> | r<sub>i</sub>′的密文 |
C<sub>2,i</sub> | m<sub>i</sub>盲化后的结果 |
C<sub>ram,i</sub> | 共享秘密和盲化结果的摘要 |
C<sub>T</sub> | 聚合结果的密文 |
m<sub>T</sub> | 聚合结果 |
所述步骤(一)中生成公开参数,单向陷门置换以及其公私钥的具体流程如下:
a)输入1λ,其中λ是安全参数;
b)系统运行一个陷门置换生成器,用概率多项式时间算法来表示,输出在有限域Fp上的一对置换(f,f-1)以及一对公私钥(pkf,skf),其中p是一个素数且|p|=λ,g是Fp的乘法生成元。它还输出两个哈希函数H0,H1:0,1*→0,1λ。公共参数是PPR=(p,Fp,g,pkf,H0,H1),私钥skf由接收方秘密持有。
所述步骤(二)中加密数据的具体流程如下:
a)假设每一轮聚合,用户分别为Ui(i∈{1,…,N}),其中Un是这一轮新加入的数据拥有者,他们各自输入一个模型参数mi。每个数据拥有方随机选择ri,ri j(j∈{1,…,n}∧j≠i)∈RFp并计算每个数据拥有方Ui通过安全、已认证的信道将zi发送给Ui-1、Ui+1,把ri j发送给其他数据拥有方Uj(j≠i);
b)从其他n-1个数据拥有方收到n-1条ri j后,每个数据拥有方通过下述(1)式计算Ri:
d)每个数据拥有方由下述(2)式为隐私保护数据聚合计算一个共享秘密:
e)每个数据拥有方Ui用公钥pkf由下述(3)~(4)式分别计算ri′的密文C1,i、共享秘密和盲化结果的摘要Cram,i:
CrDm,i=H0(ri′||C2,i) (4);
f)每个数据拥有方Ui将Ci=(C1,i,C2,i,Cram,i)发送给聚合器。
所述步骤(三)中在密文域上进行数据聚合的具体流程如下:
b)执行下述(5)~(6)式计算完成数据聚合:
c)聚合器将CA=(Ci,CT,C3)发送给接收者。
所述步骤(四)中解密算法的具体流程如下;
a)数据接收方首先解密并且检查所有的ri′是否彼此相等。如果不相等,数据接收方终止协议并输出⊥;否则,对所有的i∈{1,2,…,n},令r=ri′,继续检查等式Cram,i=H0(ri′‖C2.i)和/>是否都成立。若不成立,数据接收方终止协议并输出⊥;否则,执行解密运算并通过计算mT=r-1CT来恢复聚合结果,并根据聚合结果,接收方可以判断是否继续参与下一轮模型训练后的参数聚合。
通过以下具体实例对本发明作进一步的详细说明。
实施例1
参阅图1,本发明由系统(可信第三方)生成公开参数和密钥,多个数据拥有者Ui用各自的密钥对消息进行盲化处理并发送给聚合器,聚合器对加密后的数据在密文域上进行聚合计算,接收方对计算结果进行解密。本发明基于任意单向陷门置换实现,能够灵活运用在不同的网络场景中,满足了正确性、高效性和隐私性需求,在输入隐私和计算结果隐私的安全性方面均能够达到适应性选择密文安全(CCA2安全)。
参阅图2,实现多用户场景下高效的隐私保护聚合计算具体包括:系统初始化、加密数据、数据聚合、解密算法四个步骤,所述步骤(一)系统初始化的具体过程如下:
a)输入1,其中λ是安全参数,取λ=1024;
b)系统运行一个陷门置换生成器,用概率多项式时间算法来表示,输出在有限域Fp上的一对置换(f,f-1)以及一对公私钥(pkf,skf),其中p是一个素数且|p|=λ,g是Fp的乘法生成元。它还输出两个哈希函数H0,H1:0,1*→0,1λ。公共参数是PPR=(p,Fp,g,pkf,H0,H1),私钥skf由接收方秘密持有。在具体实现中,我们使用了RSA作为单项陷门置换,生成一对RSA密钥。
选取一个1024bit的大素数:
p=169022611160046715659243236661523245685162643632732092117513627000107207092234902393703919674461172382935923139500016930500768651901276667405728898445257879951313991704969688497263614669094827858039097949258175472051963111767418672333079791733650445228617171490875718970647524684303339562557703826241508648689
对于单向陷门置换,生成RSA算法的公私钥:
pkf=(N,e)
=(919923444410042458289110684697535023105957762474519523278169719738964939824111125296043775007768932874149155241216389201137355294526773001193374047326748401908327159449688455752557713946602736704612771054298669924550965139538466518211858592454515038036489709270846171115760894940957746750027484167175753924310606971731880134272460634774118229908377995023462130600809357816123028440077569603336005627409915869450349854145161891172452033821533105586614186394046985503809080072603179114783172875348143945367998783873446676508433218542355965184735953079042180959985170
635136387471087381916053777634717902195425067604709530489598690
537890116462968291486878865846956212063560973041102257654948764
715403835500439071101461568189549277032421256499145569469645164
476954321471641661702144159089696333007920344668300535557272598
445034371834237860841689366680532099508008637946706978659611845
041370858789344485639145864892877020521637978681721572070938677
766396754060387400328780390033785574259901309671664840112549241
524190088050651369279625411814721617661446979811989856351698706
869244033316762053348032520076202332213940437106395889286931936
762866040764606617364547589392698091752061538617022892593328057
929246667523662986173953327030283782717,65537)
=
(N,d=(919923444410042458289110684697535023105957762474519523278169719738964939824111125296043775007768932874149155241216389201137355294526773001193374047326748401908327159449688455752557713946602736704612771054298669924550965139538466518211858592454515038036489709270846171115760894940957746750027484167175753924310606971731880134272460634774118229908377995023462130600809357816123028440077569603336005627409915869450349854145161891172452033821533105586614186394046985503809080072603179114783172875348143945367998783873446676508433218542355965184735953079042180959985170635136387471087381916053777634717902195425067604709530489598690537890116462968291486878865846956212063560973041102257654948764715403835500439071101461568189549277032421256499145569469645164476954321471641661702144159089696333007920344668300535557272598445034371834237860841689366680532099508008637946706978659611845041370858789344485639145864892877020521637978681721572070938677766396754060387400328780390033785574259901309671664840112549241524190088050651369279625411814721617661446979811989856351698706869244033316762053348032520076202332213940437106395889286931936762866040764606617364547589392698091752061538617022892593328057929246667523662986173953327030283782717,269462599178167829955232278165594699766011126023823966436837574344704669878136949697242051 8001150526326356307607249496237886050565181570914736591785789949047321 9946717053983681098998176042438220422740384713019464640744736231014452 5231747705866141648003211818497527106015064191222997175097430117545161 8619723971302018148054219391859072853311512512188896419641198276353394 5704127099141201311740301356530491409350196631139699212391225661371854 0229609933816564788134652434852223229064947533341008713525479030615875 8261524917059430931589423907663056913080911965437666557926471036251623 9820158674696756981542053488609499529510640632396796189137216249356037 0630409167768537609883024062806487073880348098933333498405783460761118 6501179226243842628873683700287216657881988554660410810989685566802632 3667817297314715431385399551029174147104573098639693678539704669658877 2236278840718462114250424279274807314010495448609851422317021738958104 7670702875943014384104507371623234851138828515110125359852792549439594 9063507832936257187217278361978966927936394474593751751939601830929871 3496015899250896466919511766785383291541230764885684672867934281362252 180671638456915732516664941374933420502006731250442132531659171552458711600826028136810602669)
所述步骤(二)中加密数据的具体流程如下:
a)假设每一轮聚合,每个用户∈{1,…,N})有一个数据输入m。每个数据拥有方随机选择r,rj(j∈{1,…,N}∧j≠)∈R并计算z=rimo2。每个数据拥有方通过安全、已认证的信道将z发送给、+,把rj发送给其他数据拥有方j(j≠)。
这里选取了两个数据拥有者的情况,分别为和2,他们的输入数据分别为37、62。
选择两个随机数,
r=1000050929530798135624597382588655104764009187585971688028704133326653825672578340223275835285455331246994710281151344711064021735296 8168371216589878344736872299496330377294951109368908301402807649767123 2936666698915076798428609025591975154718745098658449260530497113770289 244867156952117856525353346432841569
5096549041062226903429273264999909668303946162644847468511338289743463461750359097605586436294497809443894442042221031198121064957239268006211357186335567200671209539063387154
U2选择两个随机数,
r2=28134039583850737687384432513793011475524584241323053629507433684698475763605286371622177185220048973886879794224976997767386837229222934734822702822604974040526376319929423674389570455271168097653799336750283878297892043620717028987583678394753128464581622262418792245486052365887723783860059098608704969977
b)从其他n-1个数据拥有方收到n-1条ri j后,每个数据拥有方通过下述(1)式计算Ri:
每个数据拥有方各发送和收到一条数据后,计算出
R=-107322436809042321803386026926631036259896777163468351538162880200016958022432748430897744833356703389451758691658035646385931564460 8333595511438336365970035444252651741783877601240484293457497418567442 0031071264673370501607779730371359215869099058779945683773968989111384 9324059996973850079961795885275364066
R2=10732243680904232180338602692663103625989677716346835153816288
0200016958022432748430897744833356703389451758691658035646385931564460 8333595511438336365970035444252651741783877601240484293457497418567442 0031071264673370501607779730371359215869099058779945683773968989111384 9324059996973850079961795885275364066
X=1
X2=1
d)每个数据拥有方由下述(2)式为隐私保护数据聚合计算一个共享秘密:
其中,X的下标按照模数为N的模加法运算来计算。
r′=1529633263782415001362889575793652863719878681146339892182364122269547168220417679623091529464244179841052712010693428992741056025674 2883319672249553692222044538877035865600950942235181526785121614230077 4602973497950184246590161543033365031941448419245199091227521299552241 590329462662989732735917851257852369
r2′=15296332637824150013628895757936528637198786811463398921823641
2226954716822041767962309152946424417984105271201069342899274105602567 4288331967224955369222204453887703586560095094223518152678512161423007 7460297349795018424659016154303336503194144841924519909122752129955224 1590329462662989732735917851257852369
e)每个数据拥有方用公钥由下述(3)~(4)式分别计算ri′的密文C,、共享秘密和盲化结果的摘要CraE,:
Cram,i=H0(ri′||C2,i) (4)。
f)将C=C,,C2,,Cram,发送给聚合器。
g)使用RSA公钥pkf对共享秘密加密得到:
C1,1=b'\xe0\xc1M\xe6\xc6\xd6\xb7\xb3~q,\xa2\xa3\xd9}\xd5;\x85Jr\xa5\xf8}\x95\xdb:\x11\xfb\x1fFV\xa4v\xb5\xd0\x01\xf9\x7fMV[\xb2\xfb,\xdc0\xf3\xba.G\xb2S\xa8\x9b(\xa1\x97/\x90\x98\x14\xc8\x9c:[~wz\x19\xa4\xc1\xca\xdb~\xe0\xc9\\\xc7B\xbb\xb00\xf9F\x9ba\xca\x93\x8cN-=\x08\x19\xc3\xd7HB\xefg\x0e\x9f\x0fo@]\xbcx\xe7\xd2\x9aw.\xd8W\xde\xff\xc5\x8f!=\x88X\x97\x91W\x1eUcE\xc5\x86\xa9G@\xca\xcd\x9d\xe0\xd5\xc7P\xcc\xbe:\xb0\x16SW\x9b\xf1\x1e\xac\xb4yX\xf8\xee\xa1e\x1c\xa6\x9a\x1f\'\x81C\x07\x8e\xb5\xc4Hh\x1b\x87\xcd\xaf\xdeq\x11\xf1\x11]\xa33Z\x9c\xb7\x12h\xcaD\x03\x8b*\x85-\x03Q@Z\x8f~\xc1-7Z\x81[W\t\x81z\xb6\xf9p\xff\x97|3H\xa4p\x1dE\xd1\xf8\xbb\x97\xec\x9e\x87\x94\xff\n\xf3\x8amd\xc9\x8f!\x87FZ}\xf6\xccK}Rhy\x9f\xf9T\xc5\xcaI\x108\x1a\xbd\xb4~\xb3\xd3\x08\x12(\x1e\xce\xf3\xd4\xf5\x9d\xba\x13\xa5\xb9\xc8\xf3M\xeb\xd7\xcct\x16\x86\xb1\x97"\xea}{\xadBy\x9ft}\xbf\x97\x89\xe0\xc0\xaa\xba\xa3\x92H\xea@zn\xffG\x82\x13\x8a\xb0\xbb\xa9\xc1i\x81`\xe7\xb9\xf1,ul\xd7I\xf6\xad8\x88U\x05\x86\xc1\x1cC\xbf\xc6\x89\xf0d\x82\xe7\xe6\xc2\xf0g\x9d\x07G\x13\x15\x9c\x18A,\x80\xcbY\xa6r\xd5@\x93h\xbaT\xef\x96\xe4\x1e\'U\x7f\x8f\x7f\xbd\x17\x0c5\xf7\x88\x91\x184\xda\xa5\x1d\x00\x87&T\xf0\x0b\xcf\xbaI\n\xec\xf9\xc3\x92\xca4\x80\x1b\x9c\xec\xb0\xd2\x95jC\xf9\x9cN\x90I?\xe2\xb9\xa6\xe9\x8c\x18\x8d\xe1\xc1\xc9\x14\'\xdc\xdf\x95\xcc\x17\xfd\xfb\x82\xf9z\xcci\x86\x14\x04S\xc1\xa4\xb9x\x9cA\xc8Y-\x7f\x08\xdf\xc9/\xa04\xbc\xc1\xa2\xb9p\xcf\xa2J\xc0\x11,\xdf\xbd\xb6\xd0\xd8;1\xf4-\xa9\x96)y\xe8a\x18\xa0\x98\x9e\xfcR\xd8\xbcZH'
C2,1=5552320639185893183239305403509884559503654343077989249536584372197307564393112666174540914184346762022443275747907651626755975730534033468727588501229525152934959238096093964088502968735564745255408384459999306777423112107758179788520914023142600924272909537678598192319089518130121556770031267164611265173587
Cram,=228711240581932356
C,2=b'\xe0\xc1M\xe6\xc6\xd6\xb7\xb3~q,\xa2\xa3\xd9}\xd5;\x85Jr\xa5\xf8}\x9
5\xdb:\x11\xfb\x1fFV\xa4v\xb5\xd0\x01\xf9\x7fMV[\xb2\xfb,\xdc0\xf3\xba.G\xb2S\xa8\x9b(\xa1\x97/\x90\x98\x14\xc8\x9c:[~wz\x19\xa4\xc1\xca\xdb~\xe0\xc9\\\xc7B\xbb\xb00\xf9F\x9ba\xca\x93\x8cN-=\x08\x19\xc3\xd7HB\xefg\x0e\x9f\x0fo@]\xbcx\xe7\xd2\x9aw.\xd8W\xde\xff\xc5\x8f!=\x88X\x97\x91W\x1eUcE\xc5\x86\xa9G@\xc a\xcd\x9d\xe0\xd5\xc7P\xcc\xbe:\xb0\x16SW\x9b\xf1\x1e\xac\xb4yX\xf8\xee\xa1e\x1c\xa6\x9a\x1f\'\x81C\x07\x8e\xb5\xc4Hh\x1b\x87\xcd\xaf\xdeq\x11\xf1\x11]\xa33Z\x9c\xb7\x12h\xcaD\x03\x8b*\x85-\x03Q@Z\x8f~\xc1-7Z\x81[W\t\x81z\xb6\xf9p\xff\x97|3H\xa4p\x1dE\xd1\xf8\xbb\x97\xec\x9e\x87\x94\xff\n\xf3\x8amd\xc9\x8f!\x87FZ}\xf6\xccK}Rhy\x9f\xf9T\xc5\xcaI\x108\x1a\xbd\xb4~\xb3\xd3\x08\x12(\x1e\xce\xf3\xd4\xf5\x9d\xba\x13\xa5\xb9\xc8\xf3M\xeb\xd7\xcct\x16\x86\xb1\x97"\xe a}{\xadBy\x9ft}\xbf\x97\x89\xe0\xc0\xaa\xba\xa3\x92H\xea@zn\xffG\x82\x13\x8a\xb0\xbb\xa9\xc1i\x81`\xe7\xb9\xf1,ul\xd7I\xf6\xad8\x88U\x05\x86\xc1\x1cC\xbf\xc6\x89\xf0d\x82\xe7\xe6\xc2\xf0g\x9d\x07G\x13\x15\x9c\x18A,\x80\xcbY\xa6r\xd5@\x93h\xbaT\xef\x96\xe4\x1e\'U\x7f\x8f\x7f\xbd\x17\x0c5\xf7\x88\x91\x184\xda\xa5\x1d\x00\x87&T\xf0\x0b\xcf\xbaI\n\xec\xf9\xc3\x92\xca4\x80\x1b\x9c\xec\xb0\xd2\x95jC\xf9\x9cN\x90I?\xe2\xb9\xa6\xe9\x8c\x18\x8d\xe1\xc1\xc9\x14\'\xdc\xdf\x95\xcc\x17\xfd\xfb\x82\xf9z\xcci\x86\x14\x04S\xc1\xa4\xb9x\x9cA\xc8Y-\x7f\x08\xdf\xc9/\xa04\xbc\xc1\xa2\xb9p\xcf\xa2J\xc0\x11,\xdf\xbd\xb6\xd0\xd8;1\xf4-\xa9\x96)y\xe8a\x18\xa0\x98\x9e\xfcR\xd8\xbcZH'
C2,2=95910486722600153302533013968472787913231446002707756830688204
3827120940098902236209406522751167061840397857315795729540138047892364 1421017747938556925774671158529027410850977344309860975952525142679392 2256950695196451283046678129717822241390607925810018004938460104633528 27924486682079213509588702663262210944
Cram,2=2286473375061887724
所述步骤(三)中的数据聚合是在密文域上进行的,其具体流程如下:
验证:
r1′=
r2′=152963326378241500136288957579365286371987868114633989218236412226954716822041767962309152946424417984105271201069342899274105602567428833196722495536922220445388770358656009509422351815267851216142300774602973497950184246590161543033365031941448419245199091227521299552241590329462662989732735917851257852369
b)执行下述(5)~(6)式计算完成数据聚合:
c)聚合器将CA=(Ci,CT,C3)发送给接收者。
聚合计算的结果如下:
CT=15143369311445908513492606800357163350826798943348764932605404810468516965382135028268606141696017380426421848905864947028136454654175454486475527058155299824093488265506944941432812829711517270398087776685694376297068240412425992760303138162203393505274710031524608655671917442616803635983540855867274527384531
C3=490747123044863373
所述步骤(四)中解密算法的具体流程如下:
a)数据接收方首先解密并且检查所有的ri′是否彼此相等。如果不相等,数据接收方终止协议并输出⊥;否则,对所有的i∈{1,2,…,N},令r=ri′,继续检查等式Cram,i=H0(ri′‖C2.i)和/>是否都成立。若不成立,数据接收方终止协议并输出⊥;否则,执行解密运算并通过计算mT=r-1CT来恢复聚合结果。
b)使用私钥skf解密出
r=152963326378241500136288957579365286371987868114633989218236412226954716822041767962309152946424417984105271201069342899274105602567428833196722495536922220445388770358656009509422351815267851216142300774602973497950184246590161543033365031941448419245199091227521299552241590329462662989732735917851257852369
上述实例仅描述了对于2个数据拥有者进行隐私保护聚合计算。但由上例容易发现,该轻量级隐私保护纵向联邦学习模型参数聚合方法支持任意数量用户参与密文域上的聚合计算。
以上只是对本发明作进一步的说明,并非用以限制本专利,凡为本发明等效实施,均应包含于本专利的权利要求范围之内。本发明的保护内容不局限于以上实施例,在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以权利要求书为保护范围。
Claims (5)
1.一种轻量级隐私保护纵向联邦学习模型参数聚合方法,其特征在于,该方法在联邦学习背景下采用任意单向陷门置换和不同的哈希摘要算法,实现多用户场景下的隐私保护参数聚合计算,具体包括以下几个步骤:
(一)系统初始化
系统在给定安全参数下,执行陷门置换发生器生成一对单向陷门置换及一对公私钥并生成两个哈希函数,在这一轮参数聚合中新加入的数据拥有者为结果接收方,私钥由接收方秘密持有;
(二)数据加密
所有数据拥有者进行密钥协商生成一个共享密钥,使用共享密钥对模型参数加密并盲化,同时使用哈希函数对所有密文参数进行摘要,使用接收方的公钥加密共享密钥,将数据发送给聚合器;
(三)数据聚合
聚合器在密文域上执行计算完成数据聚合,将聚合后的密文组发送给数据接收方;
(四)数据解密
数据接收方用私钥解密得到共享秘密,检验密文完整性,然后执行解密算法恢复聚合结果,根据聚合参数判断是否继续下一轮的参数聚合,若该轮没有新加入的数据拥有者,则聚合器将聚合结果发送给所有数据拥有者;若该轮有新加入的数据拥有者,则重复步骤(一)~步骤(四)的参数聚合。
2.根据权利要求1所述的轻量级隐私保护纵向联邦学习模型参数聚合方法,其特征在于,所述步骤(一)中单向陷门置换及一对公私钥的具体操作流程如下:
a)输入1,其中λ是安全参数;
b)系统运行一个陷门置换生成器,用概率多项式时间算法来表示,输出在有限域上的一对置换(,)以及一对公私钥(,),其中是一个素数且||=;是的乘法生成元,并输出两个哈希函数,:0,1*→0,1;公共参数是=(,,,,,),私钥由接收方秘密持有。
3.根据权利要求1所述的轻量级隐私保护纵向联邦学习模型参数聚合方法,其特征在于,所述步骤(二)中数据加密的具体操作流程如下:
a)假设每一轮聚合,用户分别为(i∈{1,…,n}),其中n是这一轮新加入的数据拥有者,他们各自输入一个模型参数m;每个数据拥有方随机选择r,rj(j∈{1,…,n}∧j≠i)∈R并计算每个数据拥有方Ui通过安全、已认证的信道将zi发送给Ui-1、Ui+1,把ri j发送给其他数据拥有方Uj(j≠i);
b)从其他n-1个数据拥有方收到n-1条ri j后,每个数据拥有方通过下述(1)式计算Ri:
其中,Ri为第i个数据拥有者计算的随机数差;ri,ri j为第i个数据拥有者生成的随机数;zi为有限域Fp中计算的中间结果;Uj为其他数据拥有方;
d)每个数据拥有方由下述(2)式为隐私保护数据聚合计算一个共享秘密ri′:
其中,X的下标按照模数为n的模加法运算来计算;ri′为第i个数据拥有者的共享秘密;
e)每个数据拥有方Ui用公钥pkf由下述(3)~(4)式分别计算ri′的密文C1,i、共享秘密和盲化结果的摘要Cram,i:
C1,i=fpkf(ri′),C2,i=miri′+Ri (3);
Cram,i=H0(ri′||C2,i) (4);
f)每个数据拥有方Ui将Ci=(C1,i,C2,i,Cram,i)发送给聚合器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480939.3A CN115865313A (zh) | 2022-11-24 | 2022-11-24 | 一种轻量级隐私保护纵向联邦学习模型参数聚合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480939.3A CN115865313A (zh) | 2022-11-24 | 2022-11-24 | 一种轻量级隐私保护纵向联邦学习模型参数聚合方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115865313A true CN115865313A (zh) | 2023-03-28 |
Family
ID=85665742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211480939.3A Pending CN115865313A (zh) | 2022-11-24 | 2022-11-24 | 一种轻量级隐私保护纵向联邦学习模型参数聚合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865313A (zh) |
-
2022
- 2022-11-24 CN CN202211480939.3A patent/CN115865313A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196763B (zh) | Sm2算法协同签名及解密方法、装置与系统 | |
JP3560439B2 (ja) | 暗号キーの回復を実行する装置 | |
US9172529B2 (en) | Hybrid encryption schemes | |
Harba | Secure data encryption through a combination of AES, RSA and HMAC | |
Schäfer et al. | Security in fixed and wireless networks | |
JP2017063432A (ja) | 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法 | |
Alomair et al. | Efficient authentication for mobile and pervasive computing | |
JPH11514188A (ja) | 暗号キー回復システム | |
Toorani et al. | A secure cryptosystem based on affine transformation | |
CN112737764B (zh) | 一种轻量级多用户多数据的全同态数据加密封装方法 | |
CA2639649A1 (en) | Cryptography method and system | |
CN109951276B (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
CN110851845A (zh) | 一种轻量级单用户多数据的全同态数据封装方法 | |
Sharma et al. | Cryptography & network security hash function applications, attacks and advances: A review | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
Banoth et al. | Classical and Modern Cryptography for Beginners | |
Panda et al. | A modified PKM environment for the security enhancement of IEEE 802.16 e | |
KR102304831B1 (ko) | 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법 | |
Tahir et al. | A scheme for the generation of strong cryptographic key pairs based on ICMetrics | |
Murugan | An efficient algorithm on quantum computing with quantum key distribution for secure communication | |
Basu et al. | Secured hierarchical secret sharing using ECC based signcryption | |
CN115865313A (zh) | 一种轻量级隐私保护纵向联邦学习模型参数聚合方法 | |
Kumar et al. | Handling secure healthcare data streaming using R2E algorithm | |
Hartl et al. | Subverting Counter Mode Encryption for Hidden Communication in High-Security Infrastructures | |
Harba | Secure Data Encryption by Combination AES, RSA and HMAC |
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 |