CN116467736A - 一种可验证的隐私保护联邦学习方法及系统 - Google Patents
一种可验证的隐私保护联邦学习方法及系统 Download PDFInfo
- Publication number
- CN116467736A CN116467736A CN202310262225.3A CN202310262225A CN116467736A CN 116467736 A CN116467736 A CN 116467736A CN 202310262225 A CN202310262225 A CN 202310262225A CN 116467736 A CN116467736 A CN 116467736A
- Authority
- CN
- China
- Prior art keywords
- model
- local
- ciphertext
- client
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000002776 aggregation Effects 0.000 claims abstract description 18
- 238000004220 aggregation Methods 0.000 claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 34
- 238000013136 deep learning model Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 14
- 238000010801 machine learning Methods 0.000 claims description 13
- 239000013598 vector Substances 0.000 claims description 11
- 238000013135 deep learning Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 238000003062 neural network model Methods 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 230000009191 jumping Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可验证的隐私保护联邦学习方法及系统,属于联邦学习安全领域,解决基于多密钥同态加密的隐私保护联邦学习所面临的问题,即服务器返回的聚合密文至少需要两个客户端进行合作解密,无法实现单个客户端独自解密,在服务器不可信的情况下,从而会造成客户端密钥泄露的问题。本发明包括系统初始化、密钥生成、本地模型训练、加密上传、模型聚合及部分解密和完全解密。本发明用于隐私保护联邦学习。
Description
技术领域
一种可验证的隐私保护联邦学习方法及系统,用于隐私保护联邦学习,属于联邦学习安全领域。
背景技术
深度学习(Deep Learning,DL)是机器学习中的研究方向之一,它的出现使得传统的机器学习更加接近于其最初的目标-人工智能。正是由于这一独特的优势,使得DL吸引了众多学者的关注,并被广泛应用于多个领域,如自然语言处理、数据挖掘及医疗预测等。在传统的集中式DL中,用户或移动设备的数据将会被上传至一个中央数据中心,随后数据中心(如大型服务器等)基于这些数据和一些机器学习算法来训练得到最终模型。然而,这种方式存在着很大的缺陷。首先,随着国内外有关隐私保护法律法规的完善及人们隐私保护意识的提高,越来越多的用户、公司及政府机构不再愿意将数据直接上传至一个中央数据中心,这也是造成数据孤岛问题出现的根本原因。其次,在现实场景中集中式DL还面临着单点故障威胁及高延迟、开销大等问题。为解决这些问题,Google在2016年提出了一种分布式机器学习架构,即联邦学习(Federated Learning,FL)。在种架构下,数据用户不在直接上传自己的数据至中央数据中心,而是基于本地数据及现有的机器学习算法自行训练本地模型。随后,在本地训练结束后,其将模型参数上传至一个中央服务器,服务器会将接收到的所有本地模型参数进行聚合平均,作为全局模型并返回给数据用户。数据用户和中央服务器会重复上述交互过程直至最终全局模型收敛结束。FL的独特优势使其备受关注和研究,并且已经被应用于多领域,如隐私计算、边缘计算及物联网等。
尽管联邦学习可以有效解决数据孤岛问题并提供一定程度的隐私保护,但其仍然存在着很多安全问题。首先,Zhu等人所提出的depth leak algorithm(DLG)方法表明用户直接上传的明文梯度会泄露其自身隐私数据,因此需要对明文梯度进行有效的安全保护。现有主流的联邦学习隐私保护方法是同态加密(Homomorphic Encryption,HE)。同态加密是一种密码学技术,其可以使得对密文的操作映射到明文,这一性质也使得其被广泛应用于隐私保护领域。现有的同态加密算法按照密钥种类可分为两类:单密钥同态加密(Single-keyHomomorphic Encryption,SKHE)和多密钥同态加密(Multi-key HomomorphicEncryption,MKHE)。基于SKHE的联邦学习方法要求生成一对公用的公私钥对,即客户端和服务器使用相同的密钥,对于每个参与者而言,其可以获取其他参与者的明文梯度,对于服务器而言,由于私钥相同,所以其可以获取所有用户的明文梯度。这会导致密钥复用,并且仍然存在隐私泄露。基于MKHE的联邦学习方法会为每一个客户端生成自己的公私钥,客户端使用自己的公钥加密明文梯度上传,服务器仅做聚合,即同态计算工作。然而,由于加密过程中使用的公钥不同,所以导致在解密服务器返回的聚合密文时,需要多个客户端进行联合解密。现有的MKHE算法使用的联合解密方法是每个客户端会基于聚合密文生成一个解密共享,随后上传至服务器进行最终解密。这种分布式解密方法不仅增加了系统的计算和通信开销,并且还可能会造成密钥泄露。无论是SKHE还是MKHE都不能很好的适用于联邦学习场景中。
CN115455476A-基于多密钥同态加密的纵向联邦学习隐私保护方法及系统,虽然采用多密钥同态加密,为不同参与方分发不同的同态加密密钥,解决了利用传统同态加密无法保证参与方之间互不泄露隐私的问题。然而传统的多密钥同态加密仍然存在一些弊端。
CN115455476A中使用的多密钥同态加密算法,在解密时需要多个客户端进行联合解密,每个客户端都需要基于自身的私钥计算一个解密共享,并上传至服务器,完成最终解密。从计算成本来看,需要耗费大量计算和通信开销;从安全角度来看,解密共享中包含了每个客户端的私钥,会存在密钥泄露问题,并且如果恶意攻击者截获这些解密共享值,也同样可以解密获得全局模型。此外,服务器在收到解密共享值后可以直接解密获得全局模型明文,这只适用于服务器是完全可信的情况下,当服务器不可信,其可能会对全局模型进行篡改,进而导致最终训练的模型准确度下降,无法完成初始设置的训练目标。从应用场景来看,传统的多密钥同态加密算法不能很好的适配于联邦学习场景中。
因些,现有技术存在如下技术问题:
1.服务器返回的聚合密文至少需要两个客户端进行合作解密(即需要解密共享),无法实现单个客户端独自解密,在服务器不可信的情况下,从而会造成客户端密钥泄露的问题;
2.需要耗费大量计算和通信开销;
3.不能很好的适配于联邦学习场景中。
发明内容
针对上述研究的问题,本发明的目的在于提供一种可验证的隐私保护联邦学习方法及系统,解决服务器返回的聚合密文至少需要两个客户端进行合作解密,无法实现单个客户端独自解密,在服务器不可信的情况下,从而会造成客户端密钥泄露的问题。
为了达到上述目的,本发明采用如下技术方案:
一种可验证的隐私保护联邦学习方法,包括如下步骤:
步骤S1.基于给定的安全参数生成客户端和服务器的公私钥,服务器基于深度学习模型、客户端和服务器的公私钥初始化一个全局模型W0,全局模型即指全局模型明文,是所有客户端本地模型的聚合结果,本地模型为深度学习模型;
步骤S2.若为第一轮训练,客户端基于全局模型Wn及本地数据对深度学习模型进行训练,并采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,若为t轮训练,t为取值大于1的整数,客户端接收来自服务器的上一轮训练得到全局模型密文,使用自身私钥对其进行解密,得到全局模型明文,并基于该全局模型和本地数据进行训练,获得新的本地模型,随后采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,其中,加密后的本地模型即为本地模型密文,本地数据是深度学习任务所需的数据,根据不同训练任务数据,为图片数据、文本数据、音频数据或时间序列;
步骤S3.服务器聚合所有客户端上传的本地模型密文为全局模型密文,并基于该全局模型密文和服务器私钥获得部分解密后的全局模型密文;
步骤S4.服务器将部分解密后的全局模型密文传输给每个客户端,客户端使用自身私钥完全解密获得最终的全局模型明文。
进一步,所述步骤S1的具体步骤为:
S1.1.基于给定的安全参数且获取素数p和g;
S1.2.基于素数构建第一乘法循环群和第二乘法循环群/>
S1.3.基于第一乘法循环群和第二乘法循环群获取生成元g、g1和g2;
S1.4.基于两个第一乘法循环群和一个第二乘法循环群构建双线性对
S1.5.基于哈希函数、素数、第一乘法循环群、第二乘法循环群、生成元、双线性对构建系统公开参数其中,大整数N=pq,一个解密所需的关于x′的函数/>从ZN中选取k个随机数zi(i∈{1,2,..,k}),并计算2k个系统公开参数值/>i表示第i个;
S1.6.基于系统公开参数,选择多个随机数dj∈RZN作为第j个客户端uj的私钥skj(j∈{1,2,…,n}),R表示随机选择,并以随机数为解构建一个秘密多项式函数 其中,al是多项式函数中第l项的系数,yl是多项式函数含变量y的每一项,ψ(N2)是N2的欧拉函数结果,N即为系统公开参数中的N,最后基于秘密多项式系数和生成元构建所有客户端公钥/>
S1.7.基于系统公开参数,可信第三方选择的随机数x∈RZN作为服务器的私钥sks,基于服务器的私钥,计算服务器对应的公钥
S1.8.联邦学习任务颁布者设置联邦学习任务初始化超参数,并设置机器学习算法;
S1.9.服务器基于深度学习模型、客户端和服务器的公私钥初始化全局模型W0,其中,深度学习模型为全局神经网络模型。
进一步,所述步骤S2的具体步骤为:
步骤S2.1.若为第一轮训练,客户端基于全局模型W0、本地数据、机器学习算法和超参数对深度学习模型进行训练,即训练本地模型,并转到步骤S2.3,其中,机器学习算法为随机梯度下降;
步骤S2.2.若为t轮训练,t为取值大于1的整数,客户端uj接收来自服务器的上一轮训练得到全局模型密文C(Wt-1),使用自身私钥对其进行解密,得到的全局模型Wt-1,并基于该全局模型和本地数据进行训练,获得新的本地模型其中,η表示学习率,/>表示偏导,b表示偏置,并转到步骤S2.3;
S2.3.客户端uj(j∈{1,...,n})选择随机数其中,/>计算训练后的本地模型/>所对应的一个n+2维本地模型密文向量cj=(cj,0,cj,1,...,cj,m,cj,n,cj,n+1),其中,cj,m(j∈{1,...,n},m∈{0,1,...,n+1})是第j个客户端本地模型密文cj中的第m个元素,/> 将客户端uj对应的本地模型密文cj上传至服务器。
进一步,所述步骤S3的具体步骤为:
S3.1.基于服务器聚合所有客户端uj(j∈{1,2,…,n})上传的本地模型密文cj,获取一个n+2维的全局模型密文其中,/>表示/>中的第m项全局模型密文,
S3.2.服务器在完成密文模型聚合后,基于S3.1中的全局模型密文使用自身私钥进行部分解密,计算/>并,用该值替换/>原来中的/>并删去/>中的第n+2项密文/>获得部分解密后的新全局模型密文
进一步,所述步骤S4的具体步骤为:
服务器将部分解密后的全局模型密文传输给每个客户端,客户端uj使用自身私钥skj(j∈{1,2,…,n})完全解密获得全局模型明文 其中,/>是基于步骤S3.2.中的新全局密文/>客户端私钥skj的ll次幂计算出来的数值。
进一步,还包括:
步骤S5.基于训练好后的本地模型获取本地模型证明上传至区块链;
步骤S6.各客户端从区块链中获取所有的本地模型证明,并基于全局模型明文进行验证,若验证通过,转到步骤3继续执行,否则,终止。
进一步,所述步骤S5的具体实现步骤为:
客户端uj为训练后的本地模型计算对应的证明 其中,/>是基于系统公开参数hi和本地模型/>中第i个元素计算的数值,proofj即为本地模型/>所对应的哈希值,并上传至区块链中用于公开验证。
进一步,所述步骤S6的具体实现步骤为:
各客户端从区块链中获取所有的本地模型证明proofj(j∈{1,2,…,n}),随后根据全局模型明文向量其中,/>表示第J客户端第t轮全局模型向量Wt中的第k个值,计算/>其中/>是基于系统公开参数h1,i(i∈{1,...,k})和全局模型明文Wt中的第i个元素计算的数值,若等式 成立,则表明全局模型验证通过,即全局模型数据未被恶意篡改,跳转至步骤3继续进行训练直至全局模型Wt收敛,否则终止。
一种可验证的隐私保护联邦学习系统,包括客户端和服务器区块链;
客户端包括:
系统初始化模块:基于给定的安全参数生成客户端和服务器的公私钥,服务器基于深度学习模型、客户端和服务器的公私钥初始化一个全局模型W0,全局模型即指全局模型明文,是所有客户端本地模型的聚合结果,本地模型为深度学习模型;
本地模型训练模块:若为第一轮训练,客户端基于全局模型W0及本地数据对深度学习模型进行训练,并采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,若为t轮训练,t为取值大于1的整数,客户端接收来自服务器的上一轮训练得到全局模型密文,使用自身私钥对其进行解密,得到全局模型明文,并基于该全局模型和本地数据进行训练,获得新的本地模型,随后采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,其中,加密后的本地模型即为本地模型密文,本地数据是深度学习任务所需的数据,根据不同训练任务数据,为图片数据、文本数据、音频数据或时间序列;
客户端接收部分解密后的全局模型密文,并使用自身私钥完全解密获得最终的全局模型明文;
服务器包括:
模型聚合模块:服务器聚合所有客户端上传的本地模型密文为全局模型密文,并基于该全局模型密文和服务器私钥获得部分解密后的全局模型密文,服务器将部分解密后的全局模型密文传输给每个客户端。
进一步,还包括区块链,区块链包括证明存储模块:
用于基于训练好后的本地模型获取本地模型证明上传至区块链,并用于各客户端从区块链中获取所有的本地模型证明,对全局模型明文进行验证。
本发明同现有技术相比,其有益效果表现在:
一、本发明采用一种新型的多密钥同态加密结构,将单密钥的Paillier算法扩展至多密钥同态加密算法,并且其解密时无需多用户联合,这种新型的多密钥同态加密算法不仅为联邦学习提供隐私保护,还解决了现有隐私保护方案中存在的安全问题;
二、本发明采用一种新型的多密钥同态加密结构,即满足单私钥解密的多密钥同态加密算法,将传统的单密钥Paillier算法扩展至单私钥解密的多密钥Paillier同态加密算法。相比较于传统的多密钥同态加密算法,这种新型的多密钥同态加密算法安全性更高可以解决私钥泄露问题,并且解密时不需要多用户联合,显著降低了通信和计算开销。此外,这种新型多密钥同态加密结构可以实现完全保密,即整个过程,中央服务器完全不知道本地模型和全局模型的任何明文信息。
三、本发明采用了一个向量同态哈希算法,设计了一个用于联邦学习完整性验证的方法,向量同态哈希可以为一个向量生成一个哈希值,相比较传统的哈希函数,其可以有效降低完整性验证所需的计算和通信开销,实现高效率的验证和可靠联邦学习;
四、本发明将上述两种方法应用于联邦学习中,实现了可验证的隐私保护联邦学习方案;
五、本发明中所给出的多密钥同态加密算法能够支持多用户分布式场景中,并且向量同态哈希可以高效验证联邦学习过程中聚合结果的正确性,因此,本发明技术具有安全可靠、多功能、多场景、可扩展等特点,能很好的适配于联邦学习场景中。
附图说明
图1是可验证的隐私保护联邦学习流程图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
在联邦学习过程中,由于上传明文梯度会泄露用户隐私,并且服务器可能会篡改聚合的全局模型,可利用该方法实现安全的隐私保护和聚合结果可验证。本方法是基于多密钥同态加密和向量同态哈希这两种密码学技术,有效保护了信息的机密性和完整性,对联邦学习过程进行安全保护丰富了其应用场景。
1.系统初始化:一个可信第三方机构根据给定的安全参数,生成大素数p和q,;基于素数构建第一乘法循环群和第二乘法循环群/>生成阶为/>循环群,计算模数N=pq,选择群第一乘法循环群/>和第二乘法循环群/>中生成元g,g1和g2。基于两个乘法循环群/>和/>构建一个双线性对映射/>同时选择随机数(i∈{1,2,...,k})和生成元/>基于哈希函数、素数、第一乘法循环群、第二乘法循环群、生成元、双线性对构建系统公开参数其中,大整数N=pq,一个解密所需的关于x的函数/>从ZN中选取k个随机数zi(i∈{1,2,...,k}),并计算2k个系统公开参数值/>i表示第i个。
2.密钥生成:根据系统公开参数,选择随机数作为参与者uj(即指客户端uj)私钥skj(j∈{1,2,...,n}),并根据随机数构建一个私密多项式/> 其中,al是多项式函数中第l项的系数,yl是多项式函数含变量y的每一项,ψ(N2)是N2的欧拉函数结果,N即为系统公开参数中的N,最后基于秘密多项式系数和生成元随后计算所有参与者的公钥/>
此外,可信第三方选择随机数作为中心服务器(即指上述所述的服务器)的私钥sks,计算对应的公钥/>密钥生成结束后,通过安全信道传输私钥并公开对应的公钥。
联邦学习任务颁布者设置联邦学习任务初始化超参数,并设置机器学习算法;
服务器基于深度学习模型、客户端和服务器的公私钥初始化全局模型W0,其中,深度学习模型为全局神经网络模型。
3.本地模型训练:在第一轮训练时,每个参与者uj从服务器获得初始化的全局模型W0,随后参与者基于其本地数据、机器学习算法、超参数和W0,训练得到本地模型。在剩余轮数中,以第t轮第j个参与者为例,每个参与者在获得全局模型密文C(Wt-1)后,首先通过解密算法获得全局模型明文Wt-1,随后更新本地模型
4.模型加密:在任意一轮训练后,为防止联邦学习隐私泄露,每个参与者uj选择随机数其中/>计算本地模型/>所对应的密文 其中,cj,m(j∈{1,...,n},m∈{0,1,...,n+1})是第j个客户端本地模型密文cj中的第m个元素,随后将密文cj上传至中心服务器进行聚合。
5.模型聚合:服务器在接收到所有的参与者uj(j∈{1,2,...,n})上传的本地模型密文cj后,进行模型聚合,获得全局模型密文其中,表示/>中的第m项全局模型密文,如下所述:
6.部分解密:服务器在完成密文模型聚合后,基于全局模型密文使用自身私钥进行部分解密,计算/>并用该值替换/>原来的/>并删去/>中的第n+2项密文/>获得部分解密后的新全局模型密文
7.完全解密:服务器在完成部分解密后,将部分解密密文传输给每个参与者uj。随后参与者uj使用自身私钥skj(j∈{1,2,...,n})完全解密获得全局模型明文
8.本地模型证明生成:为解决联邦学习聚合结果易伪造的问题,每个参与者ui为其本地模型计算对应的证明/>即为客户端uj的本地模型向量/>所对应的哈希值,并上传至区块链中用于公开验证。
9.
9.模型验证:每个参与者从区块链中获取所有的本地模型证明proofj(j∈{1,2,..,n}),随后根据全局模型明文计算若等式/>成立,则表明验证通过,跳转至步骤3继续进行训练直至全局模型Wt收敛,否则终止训练。
在现实场景中,寻找完全可信的服务器是十分困难的,服务器可能会出于经济利益等目的去修改聚合结果,最终导致训练的模型偏离原始目标。因此需要对聚合结果进行完整性验证,以确保其未被恶意修改。完整性验证的主流方法是哈希函数,即把任意长度的输入消息串映射成固定长度的输出串。为使得其实用于联邦学习,现有研究也构造了具有同态性质的哈希函数,即同态哈希函数。同态性质使其可以在保证隐私的前提下,通过验证密文的完整性来保证明文的完整性。本发明实现了一个高效可验证隐私保护联邦学习系统,具有多功能、多场景、公开、安全、高效等特点。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。
Claims (10)
1.一种可验证的隐私保护联邦学习方法,其特征在于,包括如下步骤:
步骤S1.基于给定的安全参数生成客户端和服务器的公私钥,服务器基于深度学习模型、客户端和服务器的公私钥初始化一个全局模型W0,全局模型即指全局模型明文,是所有客户端本地模型的聚合结果,本地模型为深度学习模型;
步骤S2.若为第一轮训练,客户端基于全局模型Wn及本地数据对深度学习模型进行训练,并采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,若为t轮训练,t为取值大于1的整数,客户端接收来自服务器的上一轮训练得到全局模型密文,使用自身私钥对其进行解密,得到全局模型明文,并基于该全局模型和本地数据进行训练,获得新的本地模型,随后采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,其中,加密后的本地模型即为本地模型密文,本地数据是深度学习任务所需的数据,根据不同训练任务数据,为图片数据、文本数据、音频数据或时间序列;
步骤S3.服务器聚合所有客户端上传的本地模型密文为全局模型密文,并基于该全局模型密文和服务器私钥获得部分解密后的全局模型密文;
步骤S4.服务器将部分解密后的全局模型密文传输给每个客户端,客户端使用自身私钥完全解密获得最终的全局模型明文。
2.根据权利要求1所述的一种可验证的隐私保护联邦学习方法,其特征在于,所述步骤S1的具体步骤为:
S1.1.基于给定的安全参数λ获取素数p和q;
S1.2.基于素数构建第一乘法循环群和第二乘法循环群/>
S1.3.基于第一乘法循环群和第二乘法循环群获取生成元g、g1和g2;
S1.4.基于两个第一乘法循环群和一个第二乘法循环群构建双线性对
S1.5.基于哈希函数、素数、第一乘法循环群、第二乘法循环群、生成元、双线性对构建系统公开参数其中,大整数N=pq,一个解密所需的关于x的函数/>从ZN中选取k个随机数zi(i∈{1,2,...,k}),并计算2k个系统公开参数值/>i表示第i个;
S1.6.基于系统公开参数,选择多个随机数dj∈RZN作为第j个客户端uj的私钥skj(j∈{1,2,…,n}),R表示随机选择,并以随机数为解构建一个秘密多项式函数 其中,a1是多项式函数中第l项的系数,yl是多项式函数含变量y的每一项,ψ(N2)是N2的欧拉函数结果,N即为系统公开参数中的N,最后基于秘密多项式系数和生成元构建所有客户端公钥/>
S1.7.基于系统公开参数,可信第三方选择的随机数x∈RZN作为服务器的私钥sks,基于服务器的私钥,计算服务器对应的公钥
S1.8.联邦学习任务颁布者设置联邦学习任务初始化超参数,并设置机器学习算法;
S1.9.服务器基于深度学习模型、客户端和服务器的公私钥初始化全局模型W0,其中,深度学习模型为全局神经网络模型。
3.根据权利要求2所述的一种可验证的隐私保护联邦学习方法,其特征在于,所述步骤S2的具体步骤为:
步骤S2.1.若为第一轮训练,客户端基于全局模型W0、本地数据、机器学习算法和超参数对深度学习模型进行训练,即训练本地模型,并转到步骤S2.3,其中,机器学习算法为随机梯度下降;
步骤S2.2.若为t轮训练,t为取值大于1的整数,客户端uj接收来自服务器的上一轮训练得到全局模型密文C(Wt-1),使用自身私钥对其进行解密,得到的全局模型Wt-1,并基于该全局模型和本地数据进行训练,获得新的本地模型其中,η表示学习率,/>表示偏导,b表示偏置,并转到步骤S2.3;
S2.3.客户端uj(j∈{1,...,n})选择随机数其中,/>计算训练后的本地模型/>所对应的一个n+2维本地模型密文向量cj=(cj,0,cj,1,...,cj,m,cj,n,cj,n+1),其中,cj,m(j∈{1,...,n},m∈{0,1,...,n+1})是第j个客户端本地模型密文cj中的第m个元素,/> 将客户端uj对应的本地模型密文cj上传至服务器。
4.根据权利要求3所述的一种可验证的隐私保护联邦学习方法,其特征在于,所述步骤S3的具体步骤为:
S3.1.基于服务器聚合所有客户端uj(j∈{1,2,…,n})上传的本地模型密文cj,获取一个n+2维的全局模型密文其中,/>表示/>中的第m项全局模型密文,
S3.2.服务器在完成密文模型聚合后,基于S3.1中的全局模型密文使用自身私钥进行部分解密,计算/>并,用该值替换/>原来中的/>开删去/>中的第n+2项密文/>获得部分解密后的新全局模型密文/>
5.根据权利要求4所述的一种可验证的隐私保护联邦学习方法,其特征在于,所述步骤S4的具体步骤为:
服务器将部分解密后的全局模型密文传输给每个客户端,客户端uj使用自身私钥skj(j∈{1,2,…,n})完全解密获得全局模型明文 其中,/>是基于步骤S3.2.中的新全局密文/>客户端私钥skj的ll次幂计算出来的数值。
6.根据权利要求1-5任意一所述的一种可验证的隐私保护联邦学习方法,其特征在于,还包括:
步骤S5.基于训练好后的本地模型获取本地模型证明上传至区块链;
步骤S6.各客户端从区块链中获取所有的本地模型证明,并基于全局模型明文进行验证,若验证通过,转到步骤3继续执行,否则,终止。
7.根据权利要求6所述的一种可验证的隐私保护联邦学习方法,其特征在于,所述步骤S5的具体实现步骤为:
客户端uj为训练后的本地模型计算对应的证明 其中,/>是基于系统公开参数hi和本地模型/>中第i个元素计算的数值,proofj即为本地模型/>所对应的哈希值,并上传至区块链中用于公开验证。
8.根据权利要求7所述的一种可验证的隐私保护联邦学习方法,其特征在于,所述步骤S6的具体实现步骤为:
各客户端从区块链中获取所有的本地模型证明proofj(j∈{1,2,…,n}),随后根据全局模型明文向量其中,/>表示第j客户端第t轮全局模型向量Wt中的第k个值,计算/>其中/>是基于系统公开参数h1,i(i∈{1,...,k})和全局模型明文Wt中的第i个元素计算的数值,若等式 成立,则表明全局模型验证通过,即全局模型数据未被恶意篡改,跳转至步骤3继续进行训练直至全局模型Wt收敛,否则终止。
9.一种可验证的隐私保护联邦学习系统,其特征在于,包括客户端和服务器区块链;
客户端包括:
系统初始化模块:基于给定的安全参数生成客户端和服务器的公私钥,服务器基于深度学习模型、客户端和服务器的公私钥初始化一个全局模型W0,全局模型即指全局模型明文,是所有客户端本地模型的聚合结果,本地模型为深度学习模型;
本地模型训练模块:若为第一轮训练,客户端基于全局模型W0及本地数据对深度学习模型进行训练,并采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,若为t轮训练,t为取值大于1的整数,客户端接收来自服务器的上一轮训练得到全局模型密文,使用自身私钥对其进行解密,得到全局模型明文,并基于该全局模型和本地数据进行训练,获得新的本地模型,随后采用多钥Paillier同态加密算法对本地模型加密并上传至服务器,其中,加密后的本地模型即为本地模型密文,本地数据是深度学习任务所需的数据,根据不同训练任务数据,为图片数据、文本数据、音频数据或时间序列;
客户端接收部分解密后的全局模型密文,并使用自身私钥完全解密获得最终的全局模型明文;
服务器包括:
模型聚合模块:服务器聚合所有客户端上传的本地模型密文为全局模型密文,并基于该全局模型密文和服务器私钥获得部分解密后的全局模型密文,服务器将部分解密后的全局模型密文传输给每个客户端。
10.根据权利要求1所述的一种可验证的隐私保护联邦学习系统,其特征在于:还包括区块链,区块链包括证明存储模块:
用于基于训练好后的本地模型获取本地模型证明上传至区块链,并用于各客户端从区块链中获取所有的本地模型证明,对全局模型明文进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310262225.3A CN116467736A (zh) | 2023-03-17 | 2023-03-17 | 一种可验证的隐私保护联邦学习方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310262225.3A CN116467736A (zh) | 2023-03-17 | 2023-03-17 | 一种可验证的隐私保护联邦学习方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467736A true CN116467736A (zh) | 2023-07-21 |
Family
ID=87181423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310262225.3A Pending CN116467736A (zh) | 2023-03-17 | 2023-03-17 | 一种可验证的隐私保护联邦学习方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467736A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117118592A (zh) * | 2023-10-25 | 2023-11-24 | 北京航空航天大学 | 一种基于同态加密算法的车联网客户端选择方法及系统 |
CN117395083A (zh) * | 2023-12-11 | 2024-01-12 | 东信和平科技股份有限公司 | 基于联邦学习的数据保护方法及系统 |
-
2023
- 2023-03-17 CN CN202310262225.3A patent/CN116467736A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117118592A (zh) * | 2023-10-25 | 2023-11-24 | 北京航空航天大学 | 一种基于同态加密算法的车联网客户端选择方法及系统 |
CN117118592B (zh) * | 2023-10-25 | 2024-01-09 | 北京航空航天大学 | 一种基于同态加密算法的车联网客户端选择方法及系统 |
CN117395083A (zh) * | 2023-12-11 | 2024-01-12 | 东信和平科技股份有限公司 | 基于联邦学习的数据保护方法及系统 |
CN117395083B (zh) * | 2023-12-11 | 2024-03-19 | 东信和平科技股份有限公司 | 基于联邦学习的数据保护方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037460B (zh) | 基于同态加密和秘密共享的联邦学习隐私保护方法 | |
Li et al. | Full verifiability for outsourced decryption in attribute based encryption | |
US10129029B2 (en) | Proofs of plaintext knowledge and group signatures incorporating same | |
EP2228942B1 (en) | Securing communications sent by a first user to a second user | |
US9973342B2 (en) | Authentication via group signatures | |
CN116467736A (zh) | 一种可验证的隐私保护联邦学习方法及系统 | |
Zhu et al. | Fairness-aware and privacy-preserving friend matching protocol in mobile social networks | |
CN110912897B (zh) | 基于密文属性认证和门限函数的图书资源访问控制方法 | |
Leontiadis et al. | PUDA–privacy and unforgeability for data aggregation | |
CN111274594B (zh) | 一种基于区块链的安全大数据隐私保护共享方法 | |
CN105635135A (zh) | 一种基于属性集及关系谓词的加密系统及访问控制方法 | |
CN115392487A (zh) | 基于同态加密的隐私保护非线性联邦支持向量机训练方法及系统 | |
Wang et al. | Tag-based verifiable delegated set intersection over outsourced private datasets | |
CN114598472A (zh) | 基于区块链的条件隐藏可搜索代理重加密方法及存储介质 | |
Xue et al. | Secure and privacy-preserving decision tree classification with lower complexity | |
CN105721146A (zh) | 一种面向云存储基于smc的大数据共享方法 | |
Zhou et al. | AntNest: Fully non-interactive secure multi-party computation | |
Zhang et al. | Privacyeafl: Privacy-enhanced aggregation for federated learning in mobile crowdsensing | |
Xie et al. | Lightweight Authentication of Web Data via Garble-Then-Prove. | |
CN106230840A (zh) | 一种高安全性的口令认证方法 | |
Du et al. | VCFL: A verifiable and collusion attack resistant privacy preserving framework for cross-silo federated learning | |
Feng et al. | Efficient and verifiable outsourcing scheme of sequence comparisons | |
CN116566619A (zh) | 一种动态可追溯的隐私保护分布式门限签名系统与方法 | |
Tyagi et al. | Analysis and Implementation of AES and RSA for cloud | |
CN111447058A (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 |