基于分布式安全聚合的隐私计算方法和系统
文献发布时间:2023-06-19 18:49:33
技术领域
本申请涉及隐私计算领域,特别是涉及一种基于分布式安全聚合的隐私计算方法和系统。
背景技术
隐私计算是目前机器学习领域的一个热门话题。随着信息技术的不断发展,从业人员和社会大众开始广泛关注数据的隐私保护。在此背景下,金融、医疗等领域的数据更为敏感。除此之外,数据通过跨领域、跨行业、跨地域的机构间数据流通释放数据自身的要素价值。
但由于目前我国数据要素市场化配置尚处于起步阶段,数据市场规模小、专业技术成长慢、数据交易制约多,机构间的数据流通仍存在诸多阻碍。随着互联网医疗的飞速发展,相关平台和医疗机构积累了大量患者基本信息、化验结果、电子处方等数据。医疗数据在各行业数据中,有着绝对的私密性。相关法律法规也对医疗数据的访问有着严格的限制。由于这些数据比其他常规性数据使用价值更高,系统安全保障措施又相对落后,使得互联网医疗领域成为个人隐私泄露重灾区。特别是疫情暴发后快速发展的互联网医疗为患者看病吃药带来很多便利。然而,防不胜防的信息泄露问题,却让人难掩隐忧。
总的来说,现有对医疗数据有的隐私保护不足,数据量大但是利用率低,数据异构、融合难,数据的数字特征不足,医疗技术人员人手不足。
发明内容
为了对分布式医疗数据进行安全、可靠的模型训练,本申请提供一种基于分布式安全聚合的隐私计算方法。
本申请基于分布式安全聚合的隐私计算方法,实施于中央服务器和多个数据方之间,包括:
所有数据方依据本地医疗数据集建立本地模型,其中被标记为第一数据方和第二数据方的任意两个数据方进行秘钥协商,所述第一数据方生成第一公钥,所述第二数据方生成第二公钥,所述第一数据方和所述第二数据方协商获得共有秘钥;
对于任意一个数据方,通过与其他所有数据方的共有秘钥对本地模型加密,加密后发送至所述中央服务器;
所述中央服务器获得所有数据方加密后的本地模型,聚合消解所有数据方的共有秘钥后获得所述数据方本地模型的平均梯度。
可选的,所述第一数据方生成第一公钥,具体包括:
所述中央服务器生成素数、底数;
所述第一数据方生成第一随机数,并根据第一随机数、所述素数、所述底数生成第一公钥。
可选的,所述第二数据方生成第二公钥,具体包括:
所述第二数据方生成第二随机数,并根据第二随机数、所述素数、所述底数生成第二公钥。
可选的,所述第一数据方和所述第二数据方协商获得共有秘钥,具体包括:
所述第一数据方获得所述第二公钥,并根据所述第二公钥、所述第一随机数、所述素数获得共有秘钥;
所述第二数据方获得所述第一公钥,并根据所述第一公钥、所述第二随机数、所述素数获得共有秘钥。
可选的,所述第一数据方通过以下方式生成第一公钥:A=g^a mod p,式中A为第一公钥,g为底数,a为第一随机数,p为素数;
所述第二数据方通过以下方式生成第二公钥:B=g^b mod p,式中B为第二公钥,g为底数,b为第二随机数,p为素数。
可选的,所述第一数据方和所述第二数据方协商获得共有秘钥,具体包括:
所述第一数据方通过以下方式协商获得共有秘钥:s=B^a mod p,式中,s为共有秘钥,B为第二公钥,a为第一随机数,p为素数;
所述第二数据方通过以下方式协商获得共有秘钥:s=A^b mod p,式中,s为共有秘钥,A为第一公钥,b为第二随机数,p为素数。
可选的,所述第一数据方获得所述第二公钥,具体包括:所述第二数据方将所述第二公钥发送至所述中央服务器,所述中央服务器将第二公钥广播于各个数据方;
所述第二数据方获得所述第一公钥,具体包括:所述第一数据方将所述第一公钥发送至所述中央服务器,所述中央服务器将第一公钥广播于各个数据方。
可选的,所述中央服务器以加密方式与各个数据方进行通信,所述加密方式包括:
所述中央服务器和任意一个数据方,按照所述第一数据方和所述第二数据方的秘钥协商方式,获得协商秘钥;
任意一个数据方与所述中央服务器进行通信时,利用所述协商秘钥进行加密。
可选的,对于任意一个数据方,通过与其他所有数据方的共有秘钥对本地模型加密,具体包括:
对于任意一个数据方H
本申请还提供一种基于分布式安全聚合的系统,包括中央服务器和多个数据方,实施有如本申请所述的基于分布式安全聚合的隐私计算方法。
本申请基于分布式安全聚合的隐私计算方法至少具有以下效果:
本申请避免了中央服务器对所有数据方本地模型数据的直接访问,保证了数据安全,而且共有秘钥的加密方式无须针对素数进行复杂的运算,简化了加密过程。能够用于对分布式医疗数据进行安全、可靠的模型训练,进行安全聚合的隐私计算。
附图说明
图1为本申请一实施例中基于分布式安全聚合隐私计算方法的流程示意图;
图2为本申请一实施例中基于分布式安全聚合隐私计算方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请一实施例中提供一种基于分布式安全聚合的隐私计算方法,实施于中央服务器和多个数据方之间,包括步骤S100~步骤S300。其中:
步骤S100包括步骤S110~步骤S140,分别为:
步骤S110,所有数据方依据本地医疗数据集建立本地模型,其中被标记为第一数据方和第二数据方的任意两个数据方进行秘钥协商。
步骤S120,第一数据方生成第一公钥。
步骤S130,第二数据方生成第二公钥。
步骤S140,第一数据方和第二数据方协商获得共有秘钥。
本地医疗数据集可以是患者基本信息、化验结果、电子处方等数据的至少其中一种。为便于解释说明,第一数据方和第二数据方是指任意两个数据方,并不限定为某个数据方、或限定次序。进行秘钥协商的结果是第一数据方和第二数据方获得共有秘钥,共有秘钥意为仅第一数据方和第二数据方两方知晓。
步骤S120~步骤S140的详细步骤分述如下:
步骤S120,第一数据方生成第一公钥,具体包括:中央服务器生成素数p、底数g,第一数据方生成第一随机数,并根据第一随机数、素数、底数生成第一公钥。
更进一步地,在步骤S120中,第一数据方通过以下方式生成第一公钥:A=g^a modp,式中A为第一公钥,g为底数,a为第一随机数,p为素数。
步骤S130,第二数据方生成第二公钥,具体包括:第二数据方生成第二随机数,并根据第二随机数、素数、底数生成第二公钥。
更进一步地,步骤S130中,第二数据方通过以下方式生成第二公钥:B=g^b modp,式中B为第二公钥,g为底数,b为第二随机数,p为素数。
步骤S140,第一数据方和第二数据方协商获得共有秘钥,具体包括:
第一数据方获得第二公钥,并根据第二公钥、第一随机数、素数获得共有秘钥;
第二数据方获得第一公钥,并根据第一公钥、第二随机数、素数获得共有秘钥。
更进一步地,在步骤S140中,第一数据方和第二数据方协商获得共有秘钥,具体包括:
第一数据方通过以下方式协商获得共有秘钥:s=B^a mod p,式中,s为共有秘钥,B为第二公钥,a为第一随机数,p为素数;
第二数据方通过以下方式协商获得共有秘钥:s=A^b mod p,式中,s为共有秘钥,A为第一公钥,b为第二随机数,p为素数。
可以理解,第一公钥和第二公钥是指两个数据方对外公开的内容。而其生成过程中,通过生成公钥和获得秘钥的公式推演,第一数据方和第二数据方能够获得相同的共有秘钥,可用于本地模型的加密。各式中mod为求余函数,素数p一般为大素数。
在步骤S140中,第一数据方获得第二公钥,具体包括:第二数据方将第二公钥发送至中央服务器,中央服务器将第二公钥广播于各个数据方;
在步骤S140中,第二数据方获得第一公钥,具体包括:第一数据方将第一公钥发送至中央服务器,中央服务器将第一公钥广播于各个数据方。
步骤S200,对于任意一个数据方,通过与其他所有数据方的共有秘钥对本地模型加密,加密后发送至中央服务器;
步骤200具体包括,对于任意一个数据方,通过与其他所有数据方的共有秘钥对本地模型加密,具体包括:
对于任意一个数据方H
本步骤中,素数R为大素数,与素数p的值不相同。对于任意一个数据方H
步骤S300,中央服务器获得所有数据方加密后的本地模型,聚合消解所有数据方的共有秘钥后获得所有数据方本地模型的平均梯度。
可以理解,在中央服务器获得本地模型的平均梯度的基础上,中央服务器将平均梯度回传至各数据方,并与各数据方的本地模型进行多轮训练,直至满足预设条件。
本步骤中,由于加密后的本地模型采用多项式进行加密,中央服务器接收后能够对所有数据方的本地模型进行聚合,进行消解共有秘钥,进而获得所述数据方的平均梯度。中央服务器和各数据方进行模型训练,直至满足预期条件。预设条件例如可以是预设的训练次数、训练精度等。
在一个实施例中,中央服务器以加密方式与各个数据方进行通信,加密方式包括:中央服务器和任意一个数据方,按照第一数据方和第二数据方的秘钥协商方式,获得协商秘钥;任意一个数据方与中央服务器进行通信时,利用协商秘钥进行加密。
可以理解,中央服务器以加密方式与各个数据方进行通信包括,数据传输和传输确认,比如进行各数据方公钥的广播等。
本申请一实施中还提供一种基于分布式安全聚合的系统,包括中央服务器和多个数据方,实施有本申请各实施例提供的基于分布式安全聚合的隐私计算方法,包括:
步骤S100,所有数据方依据本地医疗数据集建立本地模型,其中被标记为第一数据方和第二数据方的任意两个数据方进行秘钥协商,第一数据方生成第一公钥,第二数据方生成第二公钥,第一数据方和第二数据方协商获得共有秘钥;
步骤S200,对于任意一个数据方,通过与其他所有数据方的共有秘钥对本地模型加密,加密后发送至中央服务器;
步骤S300,中央服务器获得所有数据方加密后的本地模型,聚合消解所有数据方的共有秘钥后获得所述数据方本地模型的平均梯度。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请各实施例中的基于分布式安全聚合的隐私计算方法应用于联邦学习训练,过程中能保证用户数据不出域,通过引入一个中央服务器来与多个数据方协同分布式地训练机器学习模型,模型相关中间信息(模型梯度)以加密等方式在各方之间进行安全传输和交互,实现跨域数据建模,从而实现医疗数据隐私保护的分布式机器学习。联邦学习的过程由中央服务器对各数据方(如各医疗机构)发布训练任务,相应的数据方在训练本地模型,将训练得到的本地模型(具体为本地模型的模型梯度)以加密的方式发送给中央服务器。中央服务器将各数据方训练得到的局部模型梯度进行聚合并以加密的方式分发给各方,各医疗机构更新模型,并进行下一轮的训练。
本申请各实施例避免对医疗数据的直接访问,保证了各方数据的安全性与完整性,引入联邦学习的概念对各个医疗机构的数据进行联合训练。从而保护医患个人信息的安全,保障医患个人权益,能有效打破医疗机构间的数据壁垒,保护医疗数据的隐私。
本申请各实施例无须针对素数进行复杂的运算,作为轻量级的联邦学习框架,通过任意两个数据方的共有秘钥对本地模型进行加密,简化了加密过程,提高了加密效率。且能够用于对分布式医疗数据进行安全、可靠的模型训练,进行安全聚合的隐私计算。
具体地,对于上述各实施例中的内容进行详细说明。
本申请提供的各实施例,由中央服务器对参与联邦学习的各数据方worker进行调度。arbiter作为中央服务器对多个worker方(数据方)进行调度与聚合;worker方负责提供使用本地数据训练的数据模型。worker方的数据为保密数据。
(1)中央服务器(arbiter)随机生成加密所需的大素数g、p,并写入arbiter的日志。然后arbiter将g、p分发给所有数据方(worker),各方worker打印接收大素数g、p的状态,并将g、p写入各方worker日志,进行存储记录,核对完成情况。
具体地,arbiter使用随机数生成器生成g、p,使用PRG
(2)所有worker随机生成公钥,写入对应的worker日志。接着所有worker将生成的公钥发送arbiter,arbiter打印接收各方worker密钥的状态,并将所有worker的公钥写入arbiter日志。
共有秘钥的生成过程中具体如下:各个worker获得arbiter随机生成的素数p、底数g。
以其中任意两个数据方来进行解释,第一数据方worker1生成随机数a,然后计算A=g^a mod p,A为worker1生成的第一公钥。
第二数据方worker2生成随机数b,然后计算B=g^b mod p,B为worker2生成的第二公钥,各方worker将各自的公钥都发给arbiter,arbiter将公钥广播给各个worker。
worker2接收广播获得第一公钥A,计算共有秘钥s1=A^b mod p,worker1接收广播获得第二公钥B,s2=B^a mod p。最终双方协商出的密钥为s=s1=s2。第一数据方worker1和第二数据方worker2同时获得共有秘钥,每两个数据方之间共有一对相等的共有秘钥。
(3)在获得共有秘钥后,每一对worker可以互相加密通信而不会泄露数据。Arbiter作为中央服务器也可以参照这种方式与各个获得共有秘钥后、用于与各个worker通信。
(4)各方worker用己方的本地数据对本地模型进行训练,然后对训练出来的本地模型进行加密,并将训练后本地模型的模型梯度的明文及密文写入各自的日志。
(5)各方worker将加密后的本地模型发送给arbiter,arbiter打印模型梯度密文的接收状态,并将所有来自worker的模型梯度密文写入arbiter日志。arbiter对接收到的所有模型梯度密文进行聚合,然后计算出平均后的梯度(平均梯度),将结果写入arbiter日志,并分发给各方worker。
(6)每个worker从arbiter那里获取平均后的梯度,然后对本地模型进行更新,写入日志。各方worker开始新一轮的模型训练,重复(4)~(6)。
本申请各实施例在保障医疗数据安全的同时,优化了模型交换过程,缩短了交流时间。本实施例提供高效稳定的算法模型,解决用户的医疗数据隐私问题,对异构医疗数据进行联邦个性化建模,在医疗场景下保证设备间的通信质量与效率,并为新的算法模型提供算法支持。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。不同实施例中的技术特征体现在同一附图中时,可视为该附图也同时披露了所涉及的各个实施例的组合例。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 基于分布式协作的隐私计算方法及系统
- 一种基于差分隐私的地理分布式图计算方法及系统