CN111600707B - 一种在隐私保护下的去中心化联邦机器学习方法 - Google Patents

一种在隐私保护下的去中心化联邦机器学习方法 Download PDF

Info

Publication number
CN111600707B
CN111600707B CN202010413698.5A CN202010413698A CN111600707B CN 111600707 B CN111600707 B CN 111600707B CN 202010413698 A CN202010413698 A CN 202010413698A CN 111600707 B CN111600707 B CN 111600707B
Authority
CN
China
Prior art keywords
model
participant
parameter
encryption
aggregator
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
Application number
CN202010413698.5A
Other languages
English (en)
Other versions
CN111600707A (zh
Inventor
陈泯融
陈锦华
曾国强
翁健
翁嘉思
初萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Normal University
Original Assignee
South China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China Normal University filed Critical South China Normal University
Priority to CN202010413698.5A priority Critical patent/CN111600707B/zh
Publication of CN111600707A publication Critical patent/CN111600707A/zh
Application granted granted Critical
Publication of CN111600707B publication Critical patent/CN111600707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种在隐私保护下的去中心化联邦学习方法,包括系统初始化步骤,请求模型与本地并行训练步骤,模型参数加密与模型发送步骤,模型接收与恢复步骤,系统更新步骤。通过使用随机选取参与者作为参数聚合者的策略实现去中心化,解决了现有联邦学习易受DoS攻击、参数服务器单点故障等缺点;结合PVSS可验证秘密分发协议保护参与者模型参数免受模型反演攻击、数据成员推理攻击。同时保证了在每一次训练任务由不同的参与者来进行参数聚合,当出现不信任的聚合者或者其遭受攻击时,可自行恢复正常,增加了联邦学习的鲁棒性;本发明在实现以上功能的同时,保证了联邦学习的性能,有效地改善了联邦学习的安全训练环境,具有广泛地应用前景。

Description

一种在隐私保护下的去中心化联邦机器学习方法
技术领域
本发明属于机器学习与信息安全交叉领域,特别是涉及一种在隐私保护下的中心化的联邦学习方法。
背景技术
机器学习技术在诸如人脸、语音识别,还有自然语言处理等人工智能应用场景中取得了非凡的成就,但是,如何保证机器学习在安全的环境下运作仍是一个待解决的问题。机器学习的实质就是用大量的数据对算法模型进行训练,从其中得到一个能够对新的输入数据进行准确预测的算法模型(以下简称模型)。机器学习所用的数据集包含用户大量的隐私数据,如个人图片、医保记录、输入法记录等等。然而,进行机器学习需要强大的算力支持,个人计算机算力的局限性导致了人们不得不将自己的数据集上传到诸如BigML,AmazonMachine Learning,Microsoft Azure Machine Learning等中心化的云计算平台进行训练,但是这些由第三方控制的云计算平台极易泄露用户的数据和已经训练好的模型。
为了保护用户的信息以免泄露,Google公司学者提出联邦学习(Federatedlearning,FL)。谷歌输入法(Gboard)是一个利用联邦学习的具体应用。Gboard对用户的键盘输入词条记录进行训练,得到训练参数后上传到中心化的参数服务器。参数服务器进行聚合,最后,用户获取最新的模型并使用。此过程服务器不需要收集用户的输入词条记录,只需要进行参数交换即可。但是即便如此,联邦学习过程还是需要在安全的通讯通道中进行,并且,使用安全多方计算(MPC)的形式实现参数服务器配置代价非常昂贵。另外,联邦学习实质上是一种分布式机器学习(Distributed Machine Learning,DML),因此,分布式机器学习所存在的问题联邦学习也会存在。
因为需要中心化的服务器配置,联邦学习的参数服务器不但会遭受拒绝服务攻击(Denied-of-Service,DoS),而且训练所得的模型与数据集也不能幸免。攻击者可以通过模型反演攻击(Model Inversion attack)来推理用户或者服务器所存模型;还可以通过成员关系推理攻击(Membership Inference attack)来推断用户的模型与数据集获得信息。虽然模型反演攻击对决策树模型不适用,但是Fredrikson等学者提出了用置信度来反推决策树模型。Shokri等学者提出利用他们发明的“影子训练法”来推断出用户的敏感数据。这些因中心化服务器配置而泄露的数据中,不仅是一些文本记录,Fredrikson等学者可以用他们的技术恢复用户的图像。
在这样的背景下,差分隐私保护技术(Differential Privacy,DP)被提出应用于机器学习的隐私保护。但是如果存在后门程序,那么差分隐私技术就会丧失其保护作用。此外,当一些辅助的信息被攻击者获得的时,也会导致数据外泄。更重要的是,在现实生活中数据之间是有紧密联系的,在这种情况下,仅仅是通过设置差分隐私的粒度并不能有效保护隐私。
除了上述问题,现阶段许多联邦学习的实现形式并未切实考虑到用户之间存在的攻击行为,这种相互不信任的情况会导致攻击者通过网络对其他人的设备进行攻击,最终导致各参与者数据泄漏。因此,联邦学习作为一种新颖的隐私保护的机器学习实现形式,其本身存在许多问题亟待解决。
发明内容
针对现有技术的上述缺陷或改进需求,本发明提供了一种在隐私保护技术下的去中心化联邦学习方法。其利用基于点对点网络(Peer-to-Peer,P2P)的HydRand共识机制实现去中心化机制,保证了在每一次的训练任务中由不同的参与者来进行参数聚合,而不是固定的参数服务器。当出现不信任的聚合者或者其遭受DoS攻击时,系统有自行恢复正常的能力,增加了联邦学习的鲁棒性。所述的去中心化机制包括参数聚合者的选举机制与拜占庭容错机制。此外,本发明应用公共可验证的秘密分发(Publicly Verifiable SecretSharing,PVSS)机制保护了在联邦学习过程中的模型参数,有效地保护了机器学习的模型参数,并且提高了学习过程中的安全性,使得用户可以在不安全的通讯环境中进行参数交换。所述的PVSS机制包括三种加密方式,并且具有同态加密特性,在不解密密文的状态下可对数据进行操作,显著增强了加密数据的直接可操作性。
为了实现上述目的,提供了一种在隐私保护下的去中心化联邦学习方法,适用于在联邦学习或者分布式机器学习形式中提供参数隐私保护,具体包括以下步骤:系统初始化步骤,请求模型与本地并行训练步骤,模型参数加密与模型发送步骤,模型接收与恢复步骤,系统更新步骤,其中:
(1)系统初始化步骤:
(1.1)联邦学习的参与者Pi注册用于加密和解密的密钥对<ski,pki>,所述的密钥对中ski为其私钥,由参与者Pi从一个模q的环
Figure BDA0002494159440000021
中选择获得,q是素数,q越大安全性越高。
Figure BDA0002494159440000022
由基于q的运算生成;pki为其公钥,
Figure BDA0002494159440000023
h是素数,q阶环
Figure BDA0002494159440000024
的生成元。所述参与者相互交换其公钥用于加密信息,而其私钥用于解密信息;参与者们承认系统指定的初始随机值R1,R1将用于选举参数聚合者;
(1.2)参与者运行PVSS协议,根据PVSS协议的规定,每个参与者Pi
Figure BDA0002494159440000025
中选择一个初始秘密值
Figure BDA0002494159440000026
并做出承诺Com(sli)用于验证加密的正确性,将秘密值sli按照总参与者数量n切分成n个秘密分片sij,其中sij表示参与者Pi分给参与者Pj的分片。然后用其他参与者Pj的公钥对秘密分片进行加密
Figure BDA0002494159440000031
并相应分发。在此步骤中,每个参与者都收到了其他参与者用它们的公钥加密的n-1个分片;
PVSS是一种基于Adi Shamir提出的(m,n)秘密共享模式(secret sharing,SS)的可验证秘密共享模式,其中m是一个阈值,如果秘密分片的数量达到m则可恢复秘密,否则不能恢复。本发明设置不诚实的参与者最多有f个,PVSS协议的阈值为f+1,n为参与者的总人数,本发明设置总人数为n=3f+1,同时,这种配置也使得本发明具有拜占庭容错特征;
参与者Pi通过PVSS协议生成:秘密值sli、用于验证的承诺值Com(sli)、分发给其他n-1个参与者的秘密值分片si→j。其中,si→j表示参与者Pi的切开的秘密值中应该给参与者Pj的秘密分片;Com(sli)是一个生成承诺值的函数,参与者Pi的秘密值sli传入之后会被切分成n个sij分片,Com(sli)为每一个参与者Pj生成一个承诺值
Figure BDA0002494159440000032
g是
Figure BDA0002494159440000033
的另一个生成元,h和g相互独立;
按照上述所定义,所有的参与者在正确的操作下产生如下数据:
Figure BDA0002494159440000034
式(1)表示所有的参与者在正确的操作下产生的数据:秘密值sli、承诺值Com(sli)、n个秘密值分片si→j,si→j表示参与者Pj的切开的秘密值中应该给参与者Pj的秘密分片。每个参与者都发送给其他n-1个参与者它的秘密分片,同样地,每个参与者都会收到其他n-1个参与者发送过来的秘密分片。
(1.3)判断参与者是否诚实。每个参与者在收集了其他参与者的秘密分片后,利用PVSS协议的验证功能DLEQ(g,υj,pkj,si→j)对加密的正确性进行检验,需要验证的是
Figure BDA0002494159440000035
中的sij是否和
Figure BDA0002494159440000036
中的一样,并且验证者不需要知道秘密分片sij,验证者V的验证工作:
(1.3.1)参与者Pi接受验证者V的验证,验证Pi是否正确加密了Pj的分片。Pi向V发送aI=gρ
Figure BDA0002494159440000037
ρ由Pi自行选定;
(1.3.2)V从
Figure BDA0002494159440000038
中选出一个元素e作为挑战发送给Pi
(1.3.3)Pi计算z=ρ-sije,并发送给V;
(1.3.4)V开始进行验证,也即计算以下等式是否成立:
Figure BDA0002494159440000039
(1.3.5)步骤(1.3.4)的判断条件成立的充分必要条件是,当且仅当z,υj,si→j三者的分片sij是一致的;如果步骤(1.3.4)判断条件成立,则DLEQ(g,υj,pkj,si→j)返回验证通过否则不通过;整个过程中验证者不需要了解sij,只需随机挑选一个挑战e即可验证加密的正确性,步骤(1.3.1)~(1.3.5)也被称为零知识证明(Non-Interactive Zero-KnowledgeProof)。
如果某个分片没有被正确加密,HydRand共识机制则向外界发出此分片不合法、判断该分片加密者Pi为不诚实的参与者,加密该分片的参与者将被HydRand共识机制禁止在f+1轮内被选为参数聚合者;在f+1轮内不能选为聚合者;转子步骤(1.4);
(1.4)HydRand通过以下公式选举出参数聚合者:
Figure BDA0002494159440000041
式(2)中,|L1|表示第一轮能够参与的选举的人数;l1为初次训练的参数聚合者,mod为取余操作;如果聚合者没有在要求的时间内执行相应步骤或响应系统,则被视为不诚实,系统将发出重构指令,重置系统参数,重新选举参数聚合者。因为本发明只含有f个不诚实的参与者,并且如果出现不诚实的行为会被排除在f+1轮内被选为参数聚合者,所以最终必定可以选到诚实的参与者;
(2)请求模型与本地并行训练步骤:用于从参数聚合者处获取模型,参与者在其本地设备利用其敏感数据输入模型并开始训练。进一步地,由训练可得到该参与者的本地模型参数。
具体包括下述子步骤:
(2.1)参数聚合者向参与者发送初始模型W,参与训练的每个参与者Pi在其本地都有一个隐私数据集,这个数据集可以是图片、键盘输入法记录、医保记录、网上购物记录等等。数据集的数量为Ni,其中i是参与者的序号。每个参与者的数据集数量Ni可以不同,这与参与者在某个方面的软件使用有关;转子步骤(2.2);
(2.2)每个参与者输入其本地数据集进行训练;转步骤(2.3);
(2.3)t时刻的模型
Figure BDA0002494159440000042
用一步或者多步随机梯度下降法(Stochastic GradientDescent,SGD)对反向传播算法进行优化,并计算平均梯度
Figure BDA0002494159440000043
SGD以及反向传播算法在公开的资料中已经有很详细的叙述,本发明不再赘述。每个参与者用其本地学习率δ和平均梯度
Figure BDA0002494159440000044
进行模型更新。进一步地,可以得到参与者Pi在t+1时刻的本地模型参数
Figure BDA0002494159440000045
如式(3)所示:
Figure BDA0002494159440000046
转子步骤(2.4);
(2.4)参与者利用其本地数据集不断进行训练,直到如准确率,损失函数等评价指标符合要求时,停止训练。得到其最终的模型参数Wfi,并进入步骤(3):
(3)模型参数加密与模型发送步骤,用于加密所述子步骤(2)中产生的模型参数Wf,完成加密后进行模型发送。具体包括下述子步骤:
(3.1)每个参与者利用其秘密值sli生成一个秘密
Figure BDA0002494159440000047
(3.2)参与者Pi利用生成的秘密对其本地最终模型参数Wfi进行加密生成密文
Figure BDA0002494159440000048
(3.3)各参与者向步骤(1.4)所选举出来的参数聚合者直接发送(3.2)中的
Figure BDA00024941594400000513
(4)模型接收与恢复步骤:参数聚合者接受其他参与者的加密模型,发出恢复模型指令,具体子步骤如下:
(4.1)解密准备子步骤:参数聚合者接收到各参与者的加密模型
Figure BDA00024941594400000514
后,发出解密指令,各参与者对各自拥有的秘密分片进行解密,参数聚合者至少得到f+1参与者的支持并根据接收到的解密的秘密分片对密文
Figure BDA00024941594400000515
解密,获得各模型参数并根据各模型参数重新生成聚合模型;
Figure BDA0002494159440000051
(4.2)参数聚合者用其秘密值将步骤(4.1)所得最新模型加密,发送给各参与者,参与者相互共享参数聚合者的分片并计算得到参数聚合者的秘密值
Figure BDA0002494159440000052
各参与者Pi获得
Figure BDA0002494159440000053
后,解密得聚合模型
Figure BDA0002494159440000054
(5)系统参数更新步骤:各参与者按照步骤1的方法重新选择秘密值,并根据随机值重新选举下一轮参数聚合者,其中,下一轮的随机值根据上一轮参数聚合者的秘密值
Figure BDA0002494159440000055
计算生成;
重复步骤2-5直到模型的性能达到系统相关指标为止。
进一步地,所述步骤(3.2)中,加密方法包括:
加密方法一:XOR加密,模型参数与秘密Si的哈希值
Figure BDA0002494159440000056
进行异或操作,得到密文
Figure BDA00024941594400000516
具体如式(5)所示:
Figure BDA0002494159440000057
加密方法二:乘法加密,模型参数与秘密Si的哈希值
Figure BDA0002494159440000058
相乘,得到密文
Figure BDA00024941594400000517
具体如式(6)所示:
Figure BDA0002494159440000059
加密方法三:指数加密,模型参数与秘密Si的哈希值
Figure BDA00024941594400000510
进行以h为底的乘法指数运算,得到密文
Figure BDA00024941594400000518
具体如式(7)所示:
Figure BDA00024941594400000511
Figure BDA00024941594400000512
是一个哈希函数,
Figure BDA00024941594400000519
表示加密后的密文。
进一步地,如果要解密参与者Pi的模型,就必须获取它的秘密值sli,而sli已经被切分并加密分发给了不同的参与者。所述解密子步骤(4.1),具体包括以下子步骤:
具体子步骤如下:
(4.1.1)参与者Pi接收到解密指令,开始解密子步骤(1.2)中所得到的其他参与者的为其加密的秘密分片si→j,得到解密后的秘密分片
Figure BDA0002494159440000061
转子步骤(4.1.2);
(4.1.2)参数聚合者直接对密文进行聚合;参数聚合者至少得到f+1个参与者的支持并根据接收到的解密的秘密分片
Figure BDA0002494159440000062
对密文
Figure BDA00024941594400000611
解密,得到各模型参数。
(4.1.3)参数聚合者对各模型参数进行参数聚合
Figure BDA0002494159440000063
进一步地,所述步骤(4.1.2),解密方法具体为:
若为指数加密方式,则可以取得已加密的模型参数的累积
Figure BDA0002494159440000064
获取模型参数的明文
Figure BDA0002494159440000065
若为XOR加密方式,则参数聚合者解密模型参数:
Figure BDA0002494159440000066
若为乘法加密方式,则参数聚合者解密模型参数:
Figure BDA0002494159440000067
进一步地,所述步骤(5)中,根据随机值重新选举下一轮参数聚合者,其中,下一轮的随机值根据上一轮参数聚合者的秘密值
Figure BDA0002494159440000068
计算生成,具体如下:
(5.1)
Figure BDA0002494159440000069
其中,每完成一次上述步骤,r自增1,并且它是大于1的整数,Rr-1表示上一轮次的随机值,Rr表示即将执行的下一轮次的随机值,||表示将两者进行级联;
(5.2)选举新的参数聚合者:
Figure BDA00024941594400000610
本发明的有益效果是:本发明实现了在联邦学习或者分布式形式的机器学习形式中,将固定的参数服务去中心化的设置,从而避免了参数服务器遭受DoS攻击时系统瘫痪的问题;同时,在隐私保护考虑上,本发明通过PVSS协议将加密的参数进行切分并分发,保证了参与者的数据不会因为攻击者获得某一个分片而解密全部的数据。同现有技术相比,本发明能在很大程度上抵御模型反演攻击,针对数据集的成员推理攻击,以及遏制了在一个系统中因存在一定数量的不诚实参与者串谋而导致系统瘫痪的攻击。除此之外,本发明的加密方法具有同态加密特性,支持密文直接操作,大大减少时间成本的同时提高了安全性。进一步地,本发明在实现以上功能的同时,在参与者数量呈三倍的增长情况下,利用HydRand机制能保证稳定的时间内选举出该轮训练的参数聚合者,保证了系统的稳定性。最后,实验结果表明本发明所提出的在隐私保护下的去中心化联邦学习方法与常规方法对比,其安全性能显著提高,模型性能良好,可广泛应用于该技术领域。
附图说明
图1(a),(b)是本发明在隐私保护下的去中心化联邦机器学习方法的系统结构示意图,其中,作为对比,图1的(a)部分为一般的联邦学习或分布式机器学习的系统结构示意图,(b)部分为本发明的系统结构示意图;
图2是本发明在隐私保护下的去中心化联邦机器学习方法的整体工作流程框图;
图3是本发明在隐私保护下的去中心化联邦机器学习方法的系统初始化步骤子工作流程图;
图4是本发明在隐私保护下的去中心化联邦机器学习方法的PVSS验证功能流程图;
图5是本发明在隐私保护下的去中心化联邦机器学习方法的请求模型与本地并行训练步骤子工作流程图;
图6是本发明在隐私保护下的去中心化联邦机器学习方法的模型参数加密与模型发送步骤子工作流程图;
图7是本发明在隐私保护下的去中心化联邦机器学习方法的模型接收与恢复步骤子流程图;
图8是本发明在隐私保护下的去中心化联邦机器学习方法的系统参数更新步骤子工作流程图;
图9~14是本发明在隐私保护下的去中心化联邦机器学习方法的实验效果图,其中:
图9是本发明与一般的中心化机器学习方法在非结构化数据(None-IID)在测试准确率的对比图;其中,(a)为CNN模型;(b)为MLP模型。
图10是本发明与一般的中心化机器学习方法在结构化数据(IID)在测试准确率的对比图;其中,(a)为CNN模型;(b)为MLP模型。
图11是本发明与一般的中心化机器学习方法在训练损失上的对比图;(a)本发明与联邦学习在非结构化数据(None-IID)上的CNN模型训练损失对比图;(b)本发明与联邦学习在非结构化数据(None-IID)上的MLP模型训练损失对比图;(c)本发明与联邦学习在结构化数据(IID)上的CNN模型训练损失对比图;(d)本发明与联邦学习在结构化数据(IID)上的MLP模型训练损失对比图;
图12是本发明的PVSS协议在不同参与者数量的情况下进行秘密切分的时间图;
图13是本发明在不同参与者数量的情况下运行一次PVSS协议的时间损耗图;
图14是本发明在不同参与者数量的情况下运行一次HydRand协议选举参数聚合者的时间损耗图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰明了,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明以机器学习领域中的图像识别为例,在本发明隐私保护下的去中心化联邦学习中部署图像识别的任务。为了对比本发明与一般的机器学习实现形式的不同,本发明根据同一任务,将会以中心化的机器学习在准确率等指标上进行对比。
所述具体实施例是对手写数字图片进行识别。所述具体实施例的具体过程如下:用户向模型输入写有0~9中的任意一个数字的图片,模型通过计算后,输出它识别的结果,也即0~9中的一个。这些图片被人工标记了正确的值,在本实施例中图片的值被称为“标签”。图片和标签一起输入模型中训练,以得到效果最佳的预测模型。在测试阶段,模型输出结果会与标记值对比,得到模型的预测准确率。
本实施例采用手写数字识别MNIST数据集作为用户数据集,但是并不是整个数据集。系统等份切分数据集,各参与者按照索引号获取相应的数据作为本地数据,进行联邦学习。最后,与中心化机器学习的效果作比较。
本实施例的具体数据及其预处理说明:MNIST数据集提供60000组输入数据即60000张手写数字图片。每个参与者取其中的一定份额的数据用于训练。其中每个图片包含28*28像素点灰度值(每个像素点灰度值由0-1之间的双精度浮点数表示)。另外还有10000组输入数据作为测试集检验模型的预测准确率。因为计算机不能直接计算图片,所以MNIST数据中的每一张图片都被转换成[1,784]的向量。而它们的标签也被转换成一个[1,10]的独热编码向量(one-hot vector)。因此,MNIST的训练集是一个[60000,784]的张量(Tensor),其中,第一个维度数字用于索引图片,第二位维度数字用于索引图片中的灰度值。
各参与者本地训练模型分别采用多层感知器模型(Multi-Layer PerceptronModel,MLP)和卷积神经网络模型(Convolutional Neural Network,CNN),优化算法采用随机梯度下降法(SGD)。
本发明具体实施例的具体模型说明:所述MLP模型具体包括输入层,隐藏层,输出层;所述CNN模型包括:卷积层1,最大池化层1,ReLu(Rectified linear unit,修正线性单元)层1,卷积层2,丢弃层1,最大池化层2,ReLu层2,全连接层1,ReLu层3,丢弃层2,全连接层2。其中,所述的CNN模型有10个特征,分别是0~9这十个数字的特征,将会用于卷积运算,这些特征是5*5大小的卷积核。所述的特征全部采用随机初始化的形式得到,这些特征会在训练中得到调整和优化,更新。CNN模型中的每个层的作用与用法将会在下面的过程中具体叙述。
本发明具体实施例的实施环境说明:中央处理器为Intel Xeon(R)E5-2678v3,主频2.50GHz;运行内存32GB;显卡为英伟达RTX-2080Ti。
图1是本发明在隐私保护下的去中心化联邦机器学习方法的系统结构示意图,其中,作为对比,图1的(a)部分为一般的联邦学习或分布式机器学习的系统结构示意图,(b)部分为本发明的系统结构示意图。如图1中(a)部分所示,联邦学习或者分布式机器学习最明显的特征是有一个中心化的参数服务器,此参数服务器负责了系统中的绝大多数事务处理。但是中心化的设置是一种明显的C/S实现形式,也因此容易遭受各种攻击。本发明对其系统框架进行改进,如图1(b)部分所示,本发明基于HydRand共识机制建立去中心化的联邦学习框架,没有固定的参数服务器,如果发生多个参与者合谋作弊或者参数聚合者拒绝服务,则共识机制HydRand将执行系统重组协议,保证系统安全有序进行。
图2是本发明在隐私保护下的去中心化联邦机器学习方法的整体工作流程框图。如图2所示,本发明在隐私保护下的去中心化联邦机器学习方法的整体工作流程如下:
(1)系统初始化步骤:联邦学习的参与者Pi注册用于加密和解密的密钥对<ski,pki>,所述的密钥对中ski为其的私钥,pki为其公钥。所述参与者的公钥用于加密信息,而其私钥用于解密信息;参与者们承认系统指定的初始随机值R1,R1将用于选举参数聚合者;
(2)请求模型与本地并行训练步骤:用于从参数聚合者处获取原始模型,参与者在其本地设备利用其敏感数据输入初始模型并开始训练。进一步地,由训练可得到该参与者的本地模型参数;
(3)模型参数加密与模型发送步骤,用于加密所述子步骤(3)中产生的模型参数Wf,完成加密后利用PVSS进行模型分发。所述的加密步骤有三种不同的加密方法可供选择;
(4)模型接收与恢复步骤:参数聚合者接受其他参与者的加密模型,发出恢复模型指令;
(5)系统参数更新步骤:通过上述步骤,每个参与者的秘密值都已经被公开。参与者重新选择秘密值,并根据随机值重新选举下一轮参数聚合者。其中,每一轮参数聚合者的秘密值
Figure BDA0002494159440000091
都会被用来计算下一轮的随机值,还会被用来选举下一个参数聚合者。
图3是本发明在隐私保护下的去中心化联邦机器学习方法的系统初始化步骤子工作流程图,如图3所示,本发明在隐私保护下的去中心化联邦机器学习方法的系统步骤1包括以下步骤如下:
(1.1)参与者Pi从一个模q的环
Figure BDA0002494159440000092
中选择一个私钥ski,其中q是一个足够大的素数,值越大安全性越高。然后注册其公钥
Figure BDA0002494159440000093
参与者们承认系统指定的初始随机值R1,R1将用于选举参数聚合者;转子步骤(1.2);
(1.2)参与者运行PVSS协议并相互交换公钥子步骤:参与者相互交换其公钥用于加密;此时,根据PVSS协议的规定,每个参与者Pi
Figure BDA0002494159440000094
中选择一个初始秘密值
Figure BDA0002494159440000095
并做出承诺Com(sli),将秘密值sli按照总参与者数量n切分成n个秘密分片。然后用其他参与者的公钥对秘密分片进行加密,并相应分发。在此步骤中,每个参与者都收到了其他参与者用它们的公钥加密的n-1个分片;其中,PVSS是一种基于Adi Shamir提出的(m,n)秘密共享模式(secret sharing,SS)的可验证秘密共享模式,其中m是一个阈值,如果秘密分片的数量达到m则可恢复秘密,否则不能恢复。本发明设置不诚实的参与者最多有f个,PVSS协议的阈值为f+1,n为参与者的种人数,本发明设置总人数为n=3f+1,同时,这种配置也使得本发明具有拜占庭容错特征;具体地,包括如下步骤:
(1.2.1)参与者Pi通过PVSS协议生成:秘密值sli、用于验证的承诺值Com(sli)、分发给其他n-1个参与者的秘密值分片sj→k。其中,si→j表示参与者Pi的切开的秘密值中应该给参与者Pj的秘密分片;转子步骤(1.2.1);
(1.2.2)按照子步骤(1.2.1)所定义,所有的参与者在正确的操作下产生如下数据:
Figure BDA0002494159440000101
式(1)表示所有的参与者在正确的操作下产生的数据:秘密值sli、承诺值Com(sli)、n个秘密值分片si→j,si→j表示参与者Pi的切开的秘密值中应该给参与者Pj的秘密分片。每个参与者都发送给其他n-1个参与者它的秘密分片,同样地,每个参与者都会收到其他n-1个参与者发送过来的秘密分片。转子步骤(1.3);
(1.3)每个参与者在收集了其他参与者分发的秘密分片后,利用PVSS协议的验证功能对加密的正确性进行检验,如图4所示是本发明在隐私保护下的去中心化联邦机器学习方法的PVSS验证功能流程图,每个参与者在收集了其他参与者的秘密分片后,利用PVSS协议的验证功能DLEQ(g,υj,pkj,si→j)对加密的正确性进行检验需要验证的是
Figure BDA0002494159440000102
中的分片是否和
Figure BDA0002494159440000103
的一样,并且验证者不需要知道秘密分片sij,验证者V的验证工作如下:
(1.3.1)参与者Pi接受验证者V的验证,验证Pi是否正确加密了Pj的分片。Pi向V发送a1=gρ
Figure BDA0002494159440000104
ρ由Pi自行选定;
(1.3.2)V从
Figure BDA0002494159440000105
中选出一个元素e作为挑战发送给Pi
(1.3.3)Pi计算z=ρ-sije,并发送给V;
(1.3.4)V开始进行验证,也即计算以下等式是否成立:
Figure BDA0002494159440000106
(1.3.5)步骤(1.3.4)的判断条件成立的充分必要条件是,当且仅当z,υj,si→j三者的分片sij是一致的;如果步骤(1.3.4)判断条件成立,则验证通过,整个过程中验证者不需要了解sij,只需随机挑选一个挑战e即可验证加密的正确性,步骤(1.3.1)~(1.3.5)也被称为零知识证明(Non-Interactive Zero-Knowledge Proof)。
如果某个分片没有被正确加密,HydRand共识机制则向外界发出此分片不合法、判断该分片加密者Pi为不诚实的参与者,加密该分片的参与者将被HydRand共识机制禁止在f+1轮内被选为参数聚合者;另外,没有在要求的时间内响应系统,也会被视为不诚实的参与者,在f+1轮内不能选为聚合者;子步骤(1.4);
(1.4)HydRand通过以下公式选举出参数聚合者:
Figure BDA0002494159440000107
式(2)中,|L1|表示第一轮能够参与的选举的人数;l1为初次训练的参数聚合者,mod为取余操作;如果聚合者不诚实,系统将发出重构指令,重置系统参数,重新选举参数聚合者。因为本发明只含有f个不诚实的参与者,并且如果出现不诚实的行为会被排除在f+1轮内被选为参数聚合者,所以最终必定可以选到诚实的参与者;进入步骤(2);
图5是本发明在隐私保护下的去中心化联邦机器学习方法的请求模型与本地并行训练步骤子工作流程图,如图5所示,本发明在隐私保护下的去中心化联邦机器学习方法的请求模型与本地并行训练步骤包括以下步骤:
(2.1)参数聚合者向参与者发送初始模型W,参与训练的每个参与者Pi在其本地都有一个隐私数据集,这个数据集可以是图片、键盘输入法记录、医保记录、网上购物记录等等。数据集的数量为Ni,其中i是参与者的序号。每个参与者的数据集数量Ni可以不同,这与参与者在某个方面的软件使用有关;转子步骤(2.2);
(2.2)每个参与者输入其本地数据集进行训练,本地训练CNN模型为例说明具体应用情况,具体步骤如下:
(2.2.1)卷积层1:首先已经被转换的手写数字图片输入卷积层1,因为MNIST数据集的图片是灰度图,所以卷积层1的输入通道为1即单通道。又因为,本实施例有10个结果,用10个5*5的特征对同一幅图片进行卷积,所以卷积层1有10个输出通道。转子步骤(2.2.2);
(2.2.2)最大池化层1:子步骤(2.2.1)得到10个输出即10个矩阵,其中每个元素都都是一个(-1,1)的浮点数,最大池化层以一个2*2大小的矩阵窗口在这10个结果上进行池化。也即,从左到右,选取这10个结果中的每一个2*2局部矩阵的最大值,形成10个新的矩阵;转子步骤(2.2.3);
(2.2.3)ReLu层1:激活函数层,激活层使用的函数是softmax()函数,该层作用是将子步骤(2.2.2)结果中的负元素转换成0,其余正数元素保持不变,以此增加各神经网络层的非线性关系。转子步骤(2.2.4);
(2.2.4)卷积层2:由子步骤(2.2.1)到(2.2.3)所得10个结果作为卷积层2的输入通道,输出为20个通道,此时的输出通道可根据需要调整。输出20个结果矩阵。转步骤(2.2.5);
(2.2.5)丢弃层1:该层使得本实施例在前向传播时,让网络中某个神经元的激活值以一定的概率停止工作,这样可以使模型泛化性更强在一定层度上个避免过拟合,如此一来,模型就不会太依赖某些局部的特征。转子步骤(2.2.6);
(2.2.6)最大池化层2:对上述步骤的结果进行池化,作用和原理同子步骤(2.2.2)。转子步骤(2.2.7);
(2.2.7)ReLu层2:激活函数层,作用和原理同子步骤(2.2.3)。转子步骤(2.2.8);
(2.2.8)全连接层1:经过步骤(2.2.1)~(2.2.7),一张28*28的图片被处理成20个4*4的特征向量,全连接层1的作用是将这些特征进行线性变换,输出概率值。全连接层1将20*4*4个元素变换成[1,50]个输出,并且再进行一次ReLu层3(效果和作用同上)的运算,得到概率值。其中每个概率都可以决定输入的手写数字图片结果,但是每个元素的权重是不一样的。转子步骤(2.2.9);
(2.2.9)丢弃层2:效果和作用同步骤(2.2.5);转(2.2.10);
(2.2.10)全连接层2:将步骤(2.2.8)中的[1,50]个概率值再变换成[1,10]的概率矩阵;最后对这10个元素在输入ReLu层,并取Log对数得到各个结果所占的概率值返回。CNN训练过程完毕转子步骤(2.3);
(2.3)t时刻的模型
Figure BDA0002494159440000121
用一步或者多步随机梯度下降法(Stochastic GradientDescent,SGD)对反向传播算法进行优化,并计算平均梯度
Figure BDA0002494159440000122
SGD以及反向传播算法在公开的资料中已经有很详细的叙述,本发明不再赘述。每个参与者用其本地学习率δ和平均梯度
Figure BDA0002494159440000123
进行模型更新。进一步地,可以得到参与者Pi在t+1时刻的本地模型参数
Figure BDA0002494159440000124
如式(3)所示:
Figure BDA0002494159440000125
转子步骤(2.4);
(2.4)参与者利用其本地数据集不断进行训练,直到如准确率,损失函数等评价指标符合要求时,停止训练。得到其最终的模型参数Wfi
图6是本发明在隐私保护下的去中心化联邦机器学习方法的模型参数加密与模型发送步骤子工作流程图,如图6所示,本发明在隐私保护下的去中心化联邦机器学习方法的模型参数加密与模型发送步骤具体步骤如下:
(3)模型参数加密与模型发送步骤,用于加密所述子步骤(2)中产生的模型参数Wfi,完成加密后进行模型发送。所述的加密子步骤具体包括下述子步骤:
(3.1)如步骤(1)所述,每一个参与者都有一个秘密值sli,进一步地,本发明作以下处理,每个参与者利用该秘密值生成一个秘密
Figure BDA00024941594400001211
转子步骤(3.3);
(3.2)加密子步骤:对最终模型参数Wfi进行加密,
Figure BDA00024941594400001212
是一个哈希函数,
Figure BDA00024941594400001213
表示加密后的密文,本发明所提出的加密方法具体包括:
加密方法一,XOR加密,模型参数与秘密Si的哈希值
Figure BDA0002494159440000126
进行异或操作,得到密文
Figure BDA00024941594400001216
具体如式(4)所示:
Figure BDA0002494159440000127
加密方法二,乘法加密,模型参数与秘密Si的哈希值
Figure BDA0002494159440000128
相乘,得到密文
Figure BDA00024941594400001214
具体如式(5)所示:
Figure BDA0002494159440000129
加密方法三,指数加密,模型参数与秘密Si的哈希值
Figure BDA00024941594400001210
进行以h为底的乘法指数运算,得到密文
Figure BDA00024941594400001215
具体如式(6)所示:
Figure BDA0002494159440000131
转子步骤(3.3);
(3.3)各参与者向步骤(1.4)所选举出来的参数聚合者直接发送(3.2)中的
Figure BDA0002494159440000132
如果要解密参与者Pi的模型,就必须获取它的秘密值sli,而sli已经被切分并加密分发给了不同的参与者。进入步骤(4);
图7是本发明在隐私保护下的去中心化联邦机器学习方法的模型接收与恢复步骤子流程图,如图7所示,发明在隐私保护下的去中心化联邦机器学习方法的模型接收与恢复步骤具体步骤如下:
(4.1)解密准备子步骤:参数聚合者接收到各参与者的加密模型
Figure BDA0002494159440000133
发出解密指令,具体子步骤如下:
(4.1.1)参与者Pi接收到解密指令,开始解密子步骤(1.2.3)中所得到的其他参与者的为其加密的秘密分片si→j,每一个参与者所得到的秘密分片如式(7)所示:
Figure BDA0002494159440000134
转子步骤(4.1.2);
(4.1.2)本发明假设P1为参数聚合者;转子步骤(4.1.3);
(4.1.3)如果参与者选择了指数加密方式(3.3.3);转子步骤(4.1.4);
(4.1.4)由子步骤(4.1.2),(4.1.3)和(3.4),参与者直接将加密模型发送至参数聚合者P1处,Wfi表示参与者Pi所得的最终训练模型,1≤i≤n,则P1在所有参与者选择指数加密的方式下得到的密文如式(8)所示:
Figure BDA0002494159440000135
聚合者将密文累积,得总密文如式(9)所示:
Figure BDA0002494159440000136
转子步骤(4.1.5);
(4.1.5)聚合后的参数仍然是加密的,参数聚合者P1必须得到{sl2,sl3,......,sln}方可解密所有的模型参数,而每一个sli都被PVSS切分并分到了不同的参与者处,恢复sli必须要得到至少f+1参与者的支持。HydRand共识机制设置了系统中只能存在f个不诚实的参与者。因此,即使所有的不诚实参与者串谋也不可以使整个系统瘫痪;转子步骤(4.1.6);
(4.1.6)各参与者Pj解密秘密分片,
Figure BDA0002494159440000137
表示参与者Pi分送给参与者Pj的分片已经被解密;则各参与者解密后所得如式(10)所示:
Figure BDA0002494159440000141
转子步骤(4.1.7);
(4.1.7)每个参与者向参数聚合者P1发送各自拥有的全部秘密分片,则P1拥有全部的秘密分片如式(11)下所示:
Figure BDA0002494159440000142
转子步骤(4.2);
(4.2)解密子步骤:根据步骤(4.1)所得,参数聚合者开始解密,具体包括以下子步骤:
(4.2.1)判断是否为指数加密方式,如果是,则可以取得全部的已加密的模型参数并转子步骤(4.2.2),
Figure BDA0002494159440000143
获得方法如式(12)所示:
Figure BDA0002494159440000144
如果所用加密方式不是指数加密方式,则转子步骤(4.5.1);
(4.2.2)进一步地,参数聚合者要获取模型参数的明文,模型参数的获取方法如式(13)所示:
Figure BDA0002494159440000145
转子步骤(4.2.3);
(4.2.3)进一步地,参数聚合者进行参数聚合,模型参数进行平均聚合如式(14)所示:
Figure BDA0002494159440000146
式中
Figure BDA0002494159440000147
表示平均n个参与者的模型参数后得到的最新模型参数;转子步骤(4.3);
(4.3)参数聚合者用其秘密值将步骤(4.2)所得最新模型加密,加密后的密文如式(15)所示。并且,密文被发送给各参与者,参与者相互共享参数聚合者的分片并计算得到
Figure BDA0002494159440000148
最终获得模型,解密步骤参考(4.2);
Figure BDA0002494159440000149
进一步地,各参与者Pi获得
Figure BDA00024941594400001410
后,解密得最新的聚合模型
Figure BDA00024941594400001411
转子步骤(4.4);
(4.4)
若为另外两种加密方法,其解密子步骤:解密用乘法加密和XOR加密的密文,具体如下:
判断加密方式是否XOR加密,是,则参数聚合者解密模型参数,XOR解密方法如式(16)所示:
Figure BDA0002494159440000151
否,则进行乘法解密;
对于乘法加密,参数聚合者解密模型参数,乘法解密方法如式(17)所示:
Figure BDA0002494159440000152
本发明除了具有以上特性以外,还具有同态加密特性,根据同态加密的定义,同态加密定义如式(18)所示:
Figure BDA0002494159440000153
其中Enc()表示一个加密函数,m1和m2表示两个任意明文,
Figure BDA0002494159440000154
和⊙是预定义的二目操作符。同态加密可以使得密文在未解密的情况下可以直接对其进行运算,被处理后的密文可以被正常解密而且不会篡改明文内容。本发明所定义的三种加密方式,在算术上均满足同态加密的条件定义,因此本发明具有同态加密的特性;
图8是本发明在隐私保护下的去中心化联邦机器学习方法的系统参数参数更新步骤子工作流程图,如图8所示,本发明在隐私保护下的去中心化联邦机器学习方法的系统参数更新子步骤具体步骤如下:
(5.1)系统参数更新子步骤:更新随机值与下一任参数聚合者;具体子步骤如下:
(5.1.1)随机值更新,其中r表示训练的轮数,每完成一次上述步骤,r自增1,并且它是大于等于1的整数,Rr表示下一轮次的随机值,Rr-1表示上一轮次的随机值,||表示将两者进行级联,从第二轮开始,其随机值Rr的更新方法如式(19)所示:
Figure BDA0002494159440000155
转子步骤(5.1.2);
(5.1.2)选举新的参数聚合者,其方法如式(20)所示:
Figure BDA0002494159440000156
|Lr|表示第r轮能够参与的选举的人数;式(20)利用上一轮的随机值与本轮能够参与选举的人数进行聚合者选举,即在本轮的候选人中选举出聚合者。
(5.2)各参与者重新选择秘密值sli,重复上述步骤直到模型的性能达到系统相关指标为止。
图9-14是本发明在隐私保护下的去中心化联邦机器学习方法的实验结果图,其中:
图9是本发明与一般的中心化机器学习方法在非结构化数据(None-IID)进行训练的测试准确率指标对比图。在训练非结构化数据时,首先是CNN模型的准确率比MLP模型的准确率高。在CNN模型中,本发明在整个过程中较平滑的高准确率,而一般的中心化联邦学习方法在此过程中起伏较大;
图10是本发明与一般的中心化机器学习方法在结构化数据(IID)进行训练的测试准确率的对比图,在结构化数据的训练中,两者的效果相同,但是CNN模型表现优于MLP模型;
图11是本发明与一般的中心化机器学习方法在训练损失上的对比图;由图可见,在训练非结构化数据时,对比中心化联邦学习本发明能保持比较平缓且良好的损失下降过程,不会出现大起大落的情况,在结构化的数据中两者趋同;
图12是本发明的PVSS协议在不同参与者数量的情况下进行秘密切分的时间损耗图,如图所示,虽然节点数成32的倍数增加,但是并没有很大幅度地影响参与者切分秘密分片的时间,当参与者节点数到达512时,仍然能在1秒内将一个秘密值切分为512个分片;
图13是本发明在不同参与者数量的情况下运行一次PVSS协议交换秘密分片的时间损耗图,由图可见,每当参与者数量成32的倍数增加一倍时,参与者进行一次秘密共享的时间最多增长0.5~0.7秒,并且保持非常稳定的趋势;
图14是本发明在不同参与者数量的情况下运行一次HydRand协议选举参数聚合者的时间损耗图,由图可见,无论节点数增长了多少,系统选举出参数聚合者的时间损耗保持稳定;
由本发明实施例的结果表明,首先在机器学习的评价指标方面,本发明在实现高准确率的同时,并保持一定的平稳性;其次,在系统性能方面,通过HydRand构建的点对点共识机制具有拜占庭容错机制,不会因为部分不诚实的参与者串谋或者参数聚合者不提供服务或者作弊致使系统瘫痪,有效规避了DoS等对于中心化服务器的安全攻击;然后,通过PVSS秘密共享协议,参与者之间相互交换秘密分片,保护了参与者的模型数据免遭模型反演攻击,进一步地防止攻击者对模型进行推理恢复参与者的敏感数据;最后,在系统性能方面,本发明能在不同的参与者数量的情况下,在稳定的时间间隔选出一名参数聚合者,在稳定的时间内切分秘密分片,在稳定的时间内相互进行秘密共享。综上所述,由实验结果表明,本发明具有稳定性,高效鲁棒性以及安全性,因而比一般的中心化联邦学习更具优势,也因而具有广泛的应用前景。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (4)

1.一种在隐私保护下的去中心化联邦学习方法,其特征在于,该方法包括系统初始化步骤,请求模型与本地并行训练步骤,模型参数加密与模型发送步骤,模型接收与恢复步骤,系统更新步骤,其中:
(1)系统初始化步骤:
(1.1)联邦学习的参与者Pi注册用于加密和解密的密钥对<ski,pki>,所述的密钥对中ski为其私钥,由参与者Pi从一个模q的环中选择获得,q是素数,由基于q的运算生成;pki为其公钥,h是素数,是q阶环的生成元;所述参与者相互交换其公钥用于加密信息,而其私钥用于解密信息;参与者们承认系统指定的初始随机值R1,R1将用于选举参数聚合者;
(1.2)参与者运行PVSS协议,每个参与者Pi中选择一个初始秘密值并做出承诺Com(sli),将秘密值sli按照总参与者数量n切分成n个秘密分片si,其中si表示参与者Pi分给参与者Pj的分片;然后用其他参与者Pj的公钥对秘密分片进行加密并相应分发;Com(sli)为每一个参与者Pj生成一个承诺值g是的另一个生成元,h和g相互独立,在此步骤中,每个参与者都收到了其他参与者发来的已加密的n-1个分片;其中,PVSS协议中,设置不诚实的参与者最多有f个,总参与者数量n=3f+1,PVSS协议的阈值为f+1;
(1.3)判断参与者是否诚实;每个参与者在收集了其他参与者分发的秘密分片后,利用PVSS协议的验证功能DLEQ(g,vj,pkj,si→j)对加密的正确性进行检验;需要验证的是中的分片是否和的一样,并且验证者不需要知道秘密分片sij,验证者V的验证工作如下:
(1.3.1)参与者Pi接受验证者V的验证,验证Pi是否正确加密了Pj的分片;Pi向V发送a1=gρρ由Pi自行选定;
(1.3.2)V从中选出一个元素e作为挑战发送给Pi
(1.3.3)Pi计算z=ρ-sije,并发送给V;
(1.3.4)V开始进行验证,也即计算以下等式是否成立:
(1.3.5)步骤(1.3.4)的判断条件成立的充分必要条件是,当且仅当z,vj,si→j三者的分片sij是一致的;如果步骤(1.3.4)判断条件成立,则验证通过;
如果某个分片没有被正确加密,HydRand共识机制则向外界发出此分片不合法、加密者不诚实;该加密者将被HydRand共识机制禁止在f+1轮内被选为聚合者;
(1.4)HydRand共识机制根据初始随机值R1选举出第一位参数聚合者l1,若聚合者在规定的时间内未执行相应步骤则被视为不诚实,系统将发出重构指令,重置系统参数,重新选举参数聚合者;
(2)参与者请求模型与本地并行训练步骤:用于从参数聚合者处获取模型,参与者在其本地设备利用其敏感数据输入模型并训练可得到该参与者的模型参数;
(3)模型参数加密与模型发送步骤:用于加密所述子步骤(2)中产生的本地模型参数Wfi,完成加密后发送给参数聚合者;具体包括下述子步骤:
(3.1)每个参与者利用其秘密值sli生成一个秘密
(3.2)参与者Pi利用生成的秘密对其本地最终模型参数Wfi进行加密生成密文
(3.3)各参与者向步骤(1.4)所选举出来的参数聚合者直接发送(3.2)中的
(4)模型接收与恢复步骤:参数聚合者接受其他参与者的加密模型,发出恢复模型指令,具体子步骤如下:
(4.1)解密子步骤:参数聚合者直接对密文进行聚合并发出解密指令,各参与者对各自拥有的秘密分片进行解密,参数聚合者至少得到f+1参与者的支持并根据接收到的解密的秘密分片对密文解密,获得各模型参数并根据各模型参数重新生成聚合模型;
(4.2)参数聚合者用其秘密值将步骤(4.1)所得最新模型加密,发送给各参与者,参与者相互共享参数聚合者的分片并计算得到参数聚合者的秘密值各参与者Pi获得后,解密得聚合模型
(5)系统参数更新步骤:各参与者按照步骤(1)的方法重新选择秘密值,并根据随机值重新选举下一轮参数聚合者,其中,下一轮的随机值根据上一轮参数聚合者的秘密值计算生成;具体如下:
(5.1)其中,每完成一次上述步骤,r自增1,取值大于1的整数,Rr-1表示上一轮次的随机值,Rr表示即将执行的下一轮次的随机值,||表示将两者进行级联;
(5.2)选举新的参数聚合者:
重复步骤(2)-(5)直到模型的性能达到系统相关指标为止。
2.如权利要求1所述的在隐私保护下的去中心化联邦学习方法,其特征在于,所述步骤(3.2)中,加密方法包括:
加密方法一:XOR加密,
加密方法二:乘法加密,
加密方法三:指数加密,
3.如权利要求2所述的在隐私保护下的去中心化联邦学习方法,其特征在于,所述解密子步骤(4.1),具体包括以下子步骤:
(4.1.1)参与者Pj接收到解密指令,开始解密子步骤(1.2)中所得到的其他参与者Pi的为其加密的秘密分片si→j,得到解密后的秘密分片
(4.1.2)参数聚合者直接对密文进行聚合;参数聚合者至少得到.f+1个参与者的支持并根据接收到的解密的秘密分片对密文解密,得到各模型参数;
(4.1.3)参数聚合者对各模型参数进行参数聚合
4.如权利要求3所述的在隐私保护下的去中心化联邦学习方法,其特征在于,所述步骤(4.1.2),解密方法具体为:
若为指数加密方式,则可以取得已加密的模型参数的累积获取模型参数的明文
若为XOR加密方式,则参数聚合者解密模型参数:
若为乘法加密方式,则参数聚合者解密模型参数:
CN202010413698.5A 2020-05-15 2020-05-15 一种在隐私保护下的去中心化联邦机器学习方法 Active CN111600707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010413698.5A CN111600707B (zh) 2020-05-15 2020-05-15 一种在隐私保护下的去中心化联邦机器学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010413698.5A CN111600707B (zh) 2020-05-15 2020-05-15 一种在隐私保护下的去中心化联邦机器学习方法

Publications (2)

Publication Number Publication Date
CN111600707A CN111600707A (zh) 2020-08-28
CN111600707B true CN111600707B (zh) 2023-04-14

Family

ID=72192216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010413698.5A Active CN111600707B (zh) 2020-05-15 2020-05-15 一种在隐私保护下的去中心化联邦机器学习方法

Country Status (1)

Country Link
CN (1) CN111600707B (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100659B (zh) * 2020-09-14 2023-04-07 电子科技大学 一种区块链联邦学习系统及拜占庭攻击检测方法
CN112232527B (zh) * 2020-09-21 2024-01-23 北京邮电大学 安全的分布式联邦深度学习方法
CN112201342B (zh) * 2020-09-27 2024-04-26 博雅正链(北京)科技有限公司 基于联邦学习的医疗辅助诊断方法、装置、设备及存储介质
CN112231650B (zh) * 2020-09-29 2021-06-29 北京瑞莱智慧科技有限公司 一种数据隐私保护协议的分析方法、装置及电子设备
CN114531388A (zh) * 2020-10-30 2022-05-24 深圳前海微众银行股份有限公司 通信方法及装置
CN112101531B (zh) * 2020-11-16 2021-02-09 支付宝(杭州)信息技术有限公司 基于隐私保护的神经网络模型训练方法、装置及系统
CN112491862B (zh) * 2020-11-23 2022-08-02 中国联合网络通信集团有限公司 分布式加密方法和装置
CN112836828A (zh) * 2020-12-16 2021-05-25 中山大学 基于博弈论的自组织式联邦学习方法
CN112634027A (zh) * 2020-12-30 2021-04-09 杭州趣链科技有限公司 一种面向小微企业信用评估的自适应联邦参数聚合方法
CN112770291B (zh) * 2021-01-14 2022-05-31 华东师范大学 基于联邦学习和信任评估的分布式入侵检测方法及系统
CN112989368B (zh) * 2021-02-07 2022-05-17 支付宝(杭州)信息技术有限公司 多方联合进行隐私数据处理的方法及装置
CN112990276B (zh) * 2021-02-20 2023-07-21 平安科技(深圳)有限公司 基于自组织集群的联邦学习方法、装置、设备及存储介质
CN113033082B (zh) * 2021-03-10 2023-06-06 中国科学技术大学苏州高等研究院 基于异构算力感知的去中心化联邦学习框架及建模方法
EP4328815A4 (en) * 2021-04-23 2024-06-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. FEDERATE LEARNING PROCESS, FEDERATE LEARNING SYSTEM, FIRST DEVICE AND THIRD DEVICE
EP4083838A1 (en) * 2021-04-30 2022-11-02 Hochschule Karlsruhe Method and system to collaboratively train data analytics model parameters
CN113255210B (zh) * 2021-05-13 2022-12-02 燕山大学 一种风电机组联邦故障诊断方法及系统
CN113301562B (zh) * 2021-05-20 2022-06-28 山东大学 量化通讯的二阶多自主体系统差分隐私趋同方法及系统
CN113033826B (zh) * 2021-05-25 2021-09-10 北京百度网讯科技有限公司 基于区块链的模型联合训练方法、装置、设备和介质
CN113326947B (zh) * 2021-05-28 2023-06-16 山东师范大学 一种联合学习模型训练方法及系统
CN113282418A (zh) * 2021-06-03 2021-08-20 光大科技有限公司 一种模型聚合处理方法及装置
CN113221105B (zh) * 2021-06-07 2022-09-30 南开大学 一种基于部分参数聚合的鲁棒性联邦学习算法
CN113283175B (zh) * 2021-06-09 2023-02-03 上海交通大学 一种基于异步去中心化联邦学习的光伏电站联合故障诊断方法
CN115567427A (zh) * 2021-07-02 2023-01-03 中国移动通信有限公司研究院 交互协议一致性的评审方法、评审节点及联邦学习系统
CN113645197B (zh) * 2021-07-20 2022-04-29 华中科技大学 一种去中心化的联邦学习方法、装置及系统
CN113902122A (zh) * 2021-08-26 2022-01-07 杭州城市大脑有限公司 联邦模型协同训练方法、装置、计算机设备及存储介质
CN113435949B (zh) * 2021-08-30 2021-11-23 北京邮电大学 基于智能合约的去中心化联邦机器学习方法、系统及存储介质
CN113516256B (zh) * 2021-09-14 2021-12-03 深圳市洞见智慧科技有限公司 基于秘密共享、同态加密的无第三方联邦学习方法及系统
CN113836556B (zh) * 2021-09-26 2022-11-04 广州大学 面向联邦学习的去中心化函数加密隐私保护方法及系统
CN113934578B (zh) * 2021-10-28 2022-07-01 电子科技大学 一种在联邦学习场景下采用数据攻击实现数据恢复的方法
CN113946858B (zh) * 2021-12-20 2022-03-18 湖南丰汇银佳科技股份有限公司 一种基于数据隐私计算的身份安全认证方法及系统
CN114239070B (zh) * 2021-12-23 2023-07-21 电子科技大学 在联邦学习中移除非规则用户的隐私保护方法
CN114553505B (zh) * 2022-02-09 2023-08-04 蚂蚁区块链科技(上海)有限公司 多方协同生成随机数的方法、装置、存储介质和计算设备
CN114726496B (zh) * 2022-03-07 2023-10-03 电子科技大学 一种安全的应用于纵向联邦学习的特征选择方法
CN114666274A (zh) * 2022-03-17 2022-06-24 广州广电运通金融电子股份有限公司 异步模式训练的联邦学习方法、设备、系统及可读介质
CN114362948B (zh) * 2022-03-17 2022-07-12 蓝象智联(杭州)科技有限公司 一种联邦衍生特征逻辑回归建模方法
CN115081014A (zh) * 2022-05-31 2022-09-20 西安翔迅科技有限责任公司 一种基于联邦学习的目标检测标签自动标注方法
CN115357939B (zh) * 2022-10-19 2022-12-13 北京金睛云华科技有限公司 一种隐私保护数据计算方法和设备
CN116109608A (zh) * 2023-02-23 2023-05-12 智慧眼科技股份有限公司 一种肿瘤分割方法、装置、设备及存储介质
CN116415978B (zh) * 2023-04-15 2024-03-22 广州芳禾数据有限公司 基于联邦学习和多方计算的文旅消费数据分析方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110490330A (zh) * 2019-08-16 2019-11-22 安徽航天信息有限公司 一种基于区块链的分布式机器学习系统

Also Published As

Publication number Publication date
CN111600707A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111600707B (zh) 一种在隐私保护下的去中心化联邦机器学习方法
CN108712260B (zh) 云环境下保护隐私的多方深度学习计算代理方法
Xing et al. Mutual privacy preserving $ k $-means clustering in social participatory sensing
CN112714106B (zh) 一种基于区块链的联邦学习搭便车攻击防御方法
CN107948143B (zh) 一种云存储中基于身份的隐私保护完整性检测方法和系统
Huang et al. Achieving accountable and efficient data sharing in industrial internet of things
Niu et al. Toward verifiable and privacy preserving machine learning prediction
CN105187425B (zh) 面向云计算通信系统安全的无证书门限解密方法
CN116049897B (zh) 基于线性同态哈希和签密的可验证隐私保护联邦学习方法
CN112597542B (zh) 目标资产数据的聚合方法及装置、存储介质、电子装置
CN109104410B (zh) 一种信息的匹配方法及装置
US20230237437A1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
CN116915379A (zh) 一种基于同态加密算法和零知识证明协议的区块链隐私保护方法及系统
CN113420886B (zh) 纵向联邦学习模型的训练方法、装置、设备及存储介质
Fan et al. Lightweight privacy and security computing for blockchained federated learning in IoT
CN114760023A (zh) 基于联邦学习的模型训练方法、装置及存储介质
Tian et al. DIVRS: Data integrity verification based on ring signature in cloud storage
CN117216788A (zh) 基于区块链的联邦学习隐私保护视频场景识别方法
Ren et al. BPFL: Blockchain-based privacy-preserving federated learning against poisoning attack
CN117675270A (zh) 面向纵向联邦学习的多模态数据加密传输方法及系统
CN116865938A (zh) 基于秘密共享和同态加密的多服务器联邦学习方法
Zhou et al. VDFChain: Secure and verifiable decentralized federated learning via committee-based blockchain
CN115865426A (zh) 隐私求交方法和装置
Zhao et al. Efficient and Privacy-Preserving Federated Learning against Poisoning Adversaries
CN112491840B (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