【技术实现步骤摘要】
基于同态加密和秘密共享的联邦学习隐私保护方法
[0001]本专利技术属于联邦学习安全
,具体涉及基于同态加密和秘密共享的联邦学习隐私保护方法,该方法提出基于同态加密的梯度保护方法和基于秘密共享的随机数保护方法这两个技术,既可保证参与方上传梯度的安全性,又可防止参与方梯度信息泄露给密钥分发者。
技术介绍
[0002]深度学习作为人工智能的一个分支,需要足够的数据量来进行训练,然而,由于隐私问题,这种条件往往无法满足,例如,在医疗领域,由于医疗数据往往是非常敏感的,通常包含个人隐私信息,在多个医疗中心进行数据共享的过程中,就会导致病人的隐私泄露,而病人并不希望自己的隐私泄露给其他人,而在2018年5月25日,欧盟开始实施2016年公布的通用数据保护条例(GDPR),禁止欧盟内部个人隐私数据的自由流动。
[0003]基于上述原因,需要一种隐私保护的方法来扩充数据,并能够支持深度学习的过程。为了满足这一要求,谷歌在2016年提出了联邦学习,一种隐私保护的分布式深度学习框架,在联邦学习中,各个参与方不共享本地数据,仅通过上传模型参数更新(如梯度等)实现联合建模,可以一定程度保护训练数据的隐私和安全。然而,已有研究表明攻击者能通过上传更新的模型参数反推出参与方的本地原始数据,例如,聚合服务器有能力利用聚合结果去分析获取参与方上传数据的统计特征,仍会导致参与方的隐私泄漏,因而如何保护各参与方共享的模型参数是一个重要问题。此外,当恶意的聚合服务器和密钥分发者发起共谋攻击时,参与方的梯度信息就会泄露,从而导致参与方的隐私 ...
【技术保护点】
【技术特征摘要】
1.基于同态加密和秘密共享的联邦学习隐私保护方法,其特征在于:包括以下步骤:步骤1:初始化阶段;参与方在本地完成各种参数的初始化,包括模型参数、密钥对、随机数和共享;步骤1.1:模型参数的初始化;(1)参与方在本地初始化神经网络模型nn,学习率α和训练轮数epoch,每个参与方的nn,α和epoch都是一样的;步骤1.2:密钥对的初始化;(1)密钥生成服务器完成公钥pk和私钥sk的生成,并下发给各个参与方,每个参与方获得的pk和sk都是一样的;步骤1.3:随机数及其共享的初始化;(1)参与方在本地生成随机数,假设随机数的生成函数为f(year,month,day,hour,minute,second),该函数基于年、月、日、天、小时、分钟、秒;参与方基于这些参数生成随机数randnum;如果randnum=0,将会重新生成直到randnum不为0;(2)参与方在本地对自己生成的随机数创建共享,参与方通过加法秘密共享将randnum分为EdgeNum份,其中EdgeNum为密钥生成服务器的个数,使得所有共享的和等于randnum;要求参与方生成的所有共享都不为0;步骤2:模型训练阶段;参与方在本地进行模型训练,然后在每轮训练中计算梯度,并对梯度进行加密和盲化,然后将随机数的共享和盲化的梯度密文上传;步骤2.1:梯度计算;(1)设参与方的训练数据集为D,参与方随机选取D的子集D*,对D*计算损失函数,然后根据损失函数对模型参数求导得到梯度;步骤2.2:梯度的加密和盲化;(1)参与方利用公钥pk对梯度和随机数进行加密,然后对梯度密文进行盲化,即利用同态加密的同态性对梯度密文和随机数密文进行乘法运算,得到盲化的梯度密文;步骤2.3:随机数的共享和盲化的梯度密文的上传;(1)每个参与方将随机数的共享依次上传到密钥生成服务器,一个共享给一个密钥生成服务器,然后将盲化的梯度密文上传到聚合服务器;步骤3:模型聚合阶段;聚合服务器对梯度密文进行聚合,同时每个密钥生成服务器将受到的共享值相加,并保存在本地,然后聚合服务器将聚合的梯度密文发给各个参与方,同时,所有密钥生成服务器将自己加完的共享发给各个参与方;步骤3.1:梯度密文的聚合;(1)聚合服务器将收到的梯度密文进行聚合,即对收到的梯度密文进行同态加密的密文乘法运算,得到聚合的梯度密文;步骤3.2:共享值的相加;(1)密钥生成服务器对收到的参与方的随机数的共享进行加和运算,并将加完的共享值保存在本地;步骤3.3:聚合梯度密文和共享值加和的下发;
(1)聚合服务器将聚合梯度密文发给各个参与方,同时,密钥生成服务器将randnum
sumj
,j=1,2,
…
,EdgeNum下发给各个参与方;步骤4:模型更新阶段;参与方在本地计算得到所有随机数的和,并解密聚合梯度密文然后更新模型参数;步骤4.1:计算所有随机数的和;(1)参与方根据得到的共享的加和来计算所有随机数的和;步骤4.2:解密聚合的梯度密文;(1)参与方在本地利用公钥pk和私钥sk对聚合的梯度密文进行解密运算,同时,用解密的结果减去所有随机数的和得到聚合梯度的结果;步骤4.3:模型参数的更新;(1)参与方利用聚合梯度的结果更新模型参数,更新完成后,如果达到预定的训练轮数epoch,则训练完成,如果未达到预定的训练轮数epoch,则返回模型训练阶段继续下一轮训练。2.根据权利要求1所述的基于同态加密和秘密共享的联邦学习隐私保护方法,其特征在于,所述步骤2.1梯度计算包括以下步骤:(1)参与方获得数据集D的随机子集D*,设D={(x
i
,y
i
)|i=1,2,
…
,p},D
*
={(x1,y1)|i=1,2,
…
,q},q<p,其中x
i
代表数据,y
i
代表标签;(2)参与方对数据集D*里面的数据计算输出值,并根据输出值和标签得到损失函数;(3)参与方通过损失函数对模型进行求导得到梯度值G。3.根据权利要求1所述的基于同态加密和秘密共享的联邦学习隐私保护方法,其特征在于,所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。