CN117669766A - 一种联邦学习安全聚合可逆认证与投毒溯源的方法 - Google Patents
一种联邦学习安全聚合可逆认证与投毒溯源的方法 Download PDFInfo
- Publication number
- CN117669766A CN117669766A CN202311542536.1A CN202311542536A CN117669766A CN 117669766 A CN117669766 A CN 117669766A CN 202311542536 A CN202311542536 A CN 202311542536A CN 117669766 A CN117669766 A CN 117669766A
- Authority
- CN
- China
- Prior art keywords
- server
- model
- client
- poisoning
- training
- 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
- 231100000572 poisoning Toxicity 0.000 title claims abstract description 96
- 230000000607 poisoning effect Effects 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000002776 aggregation Effects 0.000 title claims abstract description 40
- 238000004220 aggregation Methods 0.000 title claims abstract description 40
- 230000002441 reversible effect Effects 0.000 title claims abstract description 38
- 238000012549 training Methods 0.000 claims abstract description 92
- 230000006870 function Effects 0.000 claims abstract description 49
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 238000005516 engineering process Methods 0.000 claims abstract description 21
- 238000009826 distribution Methods 0.000 claims abstract description 8
- 230000001960 triggered effect Effects 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 39
- 238000012795 verification Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 8
- 231100000614 poison Toxicity 0.000 claims description 6
- 239000002574 poison Substances 0.000 claims description 6
- 238000006116 polymerization reaction Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000003032 molecular docking Methods 0.000 claims description 3
- 239000003053 toxin Substances 0.000 claims description 3
- 231100000765 toxin Toxicity 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 14
- 238000010801 machine learning Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 208000013407 communication difficulty Diseases 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001647 drug administration Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/146—Tracing the source of attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种联邦学习安全聚合可逆认证与投毒溯源的方法,包括,通过函数定义和密钥分配构建基于密文域可逆信息隐藏算法的安全聚合联邦学习模型;对安全聚合联邦学习模型进行学习训练,获得目标模型;基于目标模型对服务器的安全性进行分析,若没有触发投毒溯源,则服务器的安全分析通过;否则服务器开启投毒溯源,在溯源确定投毒用户后,对用户的安全聚合权重进行调整,然后继续进行投毒攻击分析,直至服务器的安全分析结果通过后,停止投毒溯源。本发明通过引入密文域可逆信息隐藏技术,使模型传递过程中的数据是密文态,保护了模型的隐私。
Description
技术领域
本发明属于机器学习领域,尤其涉及一种联邦学习安全聚合可逆认证与投毒溯源的方法。
背景技术
近年来,机器学习算法在人工智能领域内迅猛发展,在计算机视觉、自然语言处理和推荐算法等领域都有良好的表现。这些机器学习技术的成功,都是通过大量数据的训练得到的,然而,一方面,随着人工智能在各个行业的不断落地,人们对于数据安全和隐私保护的程度也在不断提高,用户开始更加关注他们的隐私数据是否未经许可,便被他人处于商业目的而使用。另一方面,在法律层面,法律制定者和监管机构也出台了新的法律来规范数据的管理和使用,这些法律的实施进一步加剧了在不同组织之间收集和分享数据的困难。现阶段人工智能技术的发展受到数据的限制。不同的机构、组织、企业拥有不同量级和异构的数据,这些数据难以整合。当前以深度学习为核心的人工智能技术,囿于数据缺乏,无法在很多生产生活领域大展拳脚。因此,各方面原因导致在许多应用领域,满足机器学习规模的数据量是难以达到的,人们不得不面对难以桥接的数据孤岛。
为了解决上述孤岛问题,提出一种可行的联邦学习方案。联邦学习是多个实体(客户端)协作解决机器学习数据孤岛问题的一种方案,它在一个中央服务器或服务提供商的协调下进行,每个客户端的原始数据存储在本地,无法交换或迁移,满足了隐私保护和数据安全的要求。联邦学习作为一种新兴的分布式机器学习技术被广泛应用到了各个领域,其设计目标是在保证数据隐私安全及合法合规的基础上,实现多计算结点间的高效机器学习。具体来说,服务器统一向客户端发送训练模型,由客户端利用本地数据进行模型训练;然后,将训练模型发送给服务器,通过更新模型梯度,完成一次训练迭代过程;经过多次迭代后,得到较优的训练模型。整个模型训练过程中,数据经过加密后进行交换,保障了数据的隐私性。
但在对大体量数据进行学习训练的过程中,尽管联邦学习在训练过程中用户的原始数据没有离开本地,但一些现有的研究表明其仍然存在隐私泄露的风险,如常见的属性推断攻击、标签推断攻击以及数据重构攻击等。潜在参与方为防止自身的隐私数据泄露,往往不愿意参与到联邦训练的过程中,从而导致了数据以孤岛的形式存在。目前,一方面,数据孤岛和隐私问题的出现,使传统人工智能技术发展受限,大数据处理方法遭遇瓶颈;而另一方面,各机构、企业、组织所拥有的海量数据又有极大的潜在应用价值。因此,提升保护用户隐私能力和提高整体训练效率是目前联邦学习相对关注的问题。具体包括以下问题:
(1)分布式环境存在巨大漏洞
在联邦学习的训练模型的过程中需要多轮通信,多轮梯度迭代原来在集中式的环境下学习,现在是分布式的环境,通信轮数多了会有一些影响,秘密分享会加剧通信开销。不安全的通信信道会是一个安全隐患,导致攻击者从中进行重放攻击、数据修改、窃听攻击等。时长时间的网络通信也会暴露攻击面,如攻击者可以对特定线路实时DDOs以及中间人等无差别攻击。
训练过程中,并不是每个用户都是无私的,参与联邦学习的用户只利用全局模型来更新自己的本地模型而拒绝向全局模型提供有价值的本地信息。由于缺乏一些有用的客户端信息改进全局模型,这种攻击对于小型联邦学习模型的输出结果影响较大。
(2)模型反演和梯度泄露带来安全隐患
联邦学习过程中,需要用户上传梯度信息,而这种模型训练方式不能很好地保护隐私,敌手可以通过梯度或参数信息获取本地数据的隐私信息和模型窃取,极大地威胁了数据隐私安全,带来安全隐患。由于敌手可以获得全局模型的结构和参数,通过模型反演或梯度泄漏来恢复本地数据:敌手会通过某种机制去模拟每一次正常客户端更新的参数梯度,通过改变x去拟合每一轮上升的梯度大小,那么就能把原始的数据给恢复出来。比如像手写体就比较容易模拟,可能迭代100次就能实现了。如果是模拟复杂的图片,迭代次数足够多的情况下也能实现。
(3)恶意投毒攻击威胁数据安全
并不是每一个用户都是值得信任的,恶意的用户发起投毒攻击,旨在控制本地模型来影响全局模型,恶意参与方可以通过控制本地模型参数或本地训练数据实现针对训练阶段的投毒攻击,具体分为模型投毒攻击和数据投毒攻击,在模型投毒攻击中,一种抗拜占庭式鲁棒联邦学习模型的攻击手段,通过全局模型参数计算其他参与方的模型参数,并设计本地模型参数以使得全局模型失效。通过模型替换首先使用添加了后门的训练数据训练本地模型,然后通过全局模型计算其他参与方的模型参数,进而设计本地参数使得聚合后的全局模型与目标模型一致。目前,针对联邦学习系统的数据投毒攻击主要集中在标签反转攻击和后门攻击。在本地训练样本中添加后门,并对梯度进行放大,使得联邦全局模型对添加了后门的样本进行错误分类。针对联邦系统的分布式后门攻击,将后门分布于多个恶意参与方本地数据,结果表明此类攻击性能优于集中式的后门攻击。在联邦学习系统中引入标签反转,即不改变本地样本的特征,而是将其标签篡改为其他标签,也能实现针对联邦学习系统的有目标攻击。
(4)重放攻击降低模型训练质量
所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。攻击者常常利用网络监听或者其他方式盗取认证凭据,在经过合适的处理之后再把它重新发给认证服务器。从这个过程中,可以添加其它内容。从以上定义可以看出,数据加密可以有效防止绘画劫持,但是防止不了重放攻击。重放攻击任何网络通讯过程中都可能发生,因此防范重放攻击是网络安全的重要内容。在联邦学习中,重放攻击是指在参与方向联邦学习训练发送样本时,被第三方复制,等联邦学习模型训练数据后,再将其复制的样本发送给模型,导致最终联邦学习模型训练出的结果质量降低。
(5)中间人攻击对模型训练造成破坏
中间人攻击是一种由来已久的网络入侵手段,并且在今天仍然有着广泛的发展空间,如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。简而言之,所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。它是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。而在联邦学习中,中间人攻击便是第三方将参与方发送给联邦学习模型的样本截获并篡改,再将篡改的新样本发送给联邦学习模型,知识最终联邦学习训练出错误的结果。
由于数据具有海量、多元、异构等特点,数据收集也存在着数据来源广、质量不可控、隐私保护要求高等难点,因而给数据可信处理与隐私保护研究带来了巨大的挑战。现有的隐私保护算法主要基于多方安全计算和差分隐私两大类。
多方安全计算主要用于保护参与合作的各用户端的输入数据。在此过程中,用户端之间通过加密方法保护各自的敏感数据。近年来,随着联邦学习的发展,多方安全计算被改进后迁移到该系统中,通过加密参数来保护敏感数据。由于参数的数量比数据的规模少了好几个数量级,因此大大减少了计算开销。虽然计算开销方面的问题得到了一定缓解,但随着研究人员的不断探索,发现传递少量的模型梯度信息也能泄露原始数据。
差分隐私通过严格的数学证明,使用随机应答(RandomizedResponse)方法确保数据集在输出信息时受单条记录的影响始终低于某个阈值,从而使第三方无法根据输出的变化判断单条记录的更改或增删,被认为是目前基于扰动的隐私保护方法中安全级别最高的方法。不过,由于传统的完全差分隐私(PureDifferentialPrivacy)基于最严格的假设:最大背景攻击,即假设攻击者拥有除了某一条记录以外的所有背景信息,而这在实际情况中是十分罕见的。因此完全差分隐私对于隐私性的保护过于严苛,极大影响了数据的可用性。
对于联邦学习而言,需要研究一种高效稳定模型,这种模型既能够提高模型的安全性来抵抗外界攻击,同时又能够最大化地减少传输过程中的流量需求,同时提供完整性检测和身份认证等等功能,且最大程度不增大通信难度。
理想情况下联邦学习源数据不出本地仅仅交换模型梯度信息,以保护本地敏感数据。但在交互过程中仍有隐私信息泄漏的隐患,一旦数据泄露,将会使用户、组织或者公司遭受重大的损失。联邦学习目前主要的攻击和威胁来源于内部实体,攻击者通常利用漏洞控制一个或者多个参与过程的客户端,实现控制全局模型的目的。在真实情况下,像投毒攻击、成员推理攻击、模型推理攻击等层出不穷;参与训练的客户端动机也难以判断,中心服务器的可信程度也同样不确定。联邦学习主要存在以下三个问题:
1安全认证受制于通信效率
在联邦学习网络中,服务器与远程客户端之间往往需要进行不断的通信来交互模型更新信息,动辄万计的客户端很容易对通信网络造成巨大的带宽负担。通常,全局模型训练时间分为数据处理时间和通信传输时间两部分,而随着计算机设备算力的提升,数据处理时间不断降低,联邦学习的通信传输效率变成限制其训练速度的主要因素。现有的安全方法受制于通信的带宽,造成很多技术无法使用,联邦学习模型的交互过程中缺乏必要的认证环节,造成易受中间人攻击与投毒攻击。
2.训练过程中缺乏信任与激励/惩罚机制
联邦学习为现代社会建立了一个数据安全共享的架构,在未来万物互联的场景中,不同的机构、部门之间的数据联合会形成一个巨大的联邦学习联盟,旨在构建基于大数据和多特征融合的智能分析决策模型。但是训练过程中服务器对客户端,客户端对服务器都没有很好的认证机制,容易受到中间人攻击,之间没有一个合理有效的信任机制。另外,数据联盟需要吸引大量客户端参与到训练过程中,没有高效的激励机制很难吸引足够的训练数据,无法保证最终的智能模型质量,另外可能出现搭便车攻击的情况,程序没有一个对客户端统一的分数评价机制,对于最终的模型贡献度没有有一个很好的体现,这严重影响了对优质客户端的选择,从而导致全局模型精度降低。
3.隐私保护与安全认证技术较单一
当前的隐私保护和安全认证技术比较单一,当前大部分的隐私保护和安全认证技术强调往模型中插入噪声,强调传统的密码哈希技术,同时在梯度信息传输方面使用RSA传统算法,没有引入其他的信息安全技术,当前密文域可逆信息隐藏在加密信号处理和隐私保护、安全认证方面取得了较大的突破和发展,传统隐写算法往往给原始载体带来永久性失真,这在一些对数据认证要求较高、同时需要无失真恢复出原始载体的应用场合是不可接受的,就比如联邦学习的梯度信息。
发明内容
为解决上述问题,本发明提供了如下方案:一种联邦学习安全聚合可逆认证与投毒溯源的方法,包括:
通过函数定义和密钥分配构建基于密文域可逆信息隐藏算法的安全聚合联邦学习模型;
对所述安全聚合联邦学习模型进行学习训练,获得目标模型;
基于所述目标模型对服务器的安全性进行分析,若没有触发投毒溯源,则服务器的安全分析通过;否则服务器开启投毒溯源,在溯源确定投毒用户后,对用户的安全聚合权重进行调整,然后继续进行投毒攻击分析,直至服务器的安全分析结果通过后,停止投毒溯源。
优选地,所述函数定义包括,定义:
私钥产生函数:s=SKGen(.)
公钥产生函数:A=PKGen(s)
加密函数:c=EncA(p)
解密函数:p=Decs(c)
哈希函数:h=Hash(D)
签名函数:sg=Sign_s(h)
验证函数:T=Verifi_A(sg,h),T∈{‘true’,’false’}
密文域可逆嵌入函数:c'=EmbK_em(c,m)
提取函数:m=ExtrcK_ex(c')。
优选地,所述密钥分配包括:
将用户私钥s分配给用户方,所述用户私钥s用于生成用户公钥、解密服务器给发送的模型密文以及生成用户的签名;
将用户公钥A公开发布,所述用户公钥A用于数据加密和验证签名;
将服务器私钥sks分配给服务器方,所述服务器私钥sks用于生成服务器公钥、生成服务器的签名和解密用户发送给服务器的密文;
将服务器公钥As公开发布,所述服务器公钥As用于验证服务器的签名签名和数据加密;
将嵌入密钥K_em分配给用户方和服务器方,所述嵌入密钥K_em用于认证信息的嵌入;
将提取密钥K_ex分配给用户方和服务器方,所述提取密钥K_ex用于认证信息的提取。
优选地,对所述安全聚合联邦学习模型进行学习训练,获得目标模型的过程包括,
预设链接到服务器的客户端的客户包括c1,c2,....,cn,客户端链接服务器,上传客户端现有个人数据,并在服务器数据库中记录下用户的信息字段;其中,所述客户端现有个人数据包括客户i的公钥Ai以及服务器为每个客户生成由随机数构成的ID认证码ID1,ID2,…,IDn;所述信息字段包括IDi和As;
基于所述服务器下发统一使用的系统参数、服务器IDs、统一原始模型w0和随机数r0给各个客户端ci,所有客户端下载完成后,等待服务器统一发起训练指令,进行迭代训练;
各个客户端使用独立保存的数据集Dataseti作为测试集,对服务器下发的聚合参数Wk进行测试,并根据反馈反馈模型收敛的情况给服务器,并等待服务器新指令;
所述服务器继续对当前的模型结果进行分析,如果符合优化目标,则终止联邦学习训练过程,并向客户端下发“结束训练”指令;否则,则向客户端下发“开始训练”指令,客户基于数据集Dataseti对模型Wk进行第k+1轮的迭代训练,其中k=k+1;所述符合优化目标至少包括失真已到达0,或失真下降至目标值以下,或训练轮次k达到预设的联邦学习目标轮次。
优选地,所述所有客户端下载完成后,等待服务器统一发起训练指令,进行迭代训练的过程包括,
客户端收到服务器下发的“开始训练”指令后,根据统一使用的系统参数和模型wk,开始对客户端自身的数据集Dataseti进行k轮的迭代训练(k>=0),得到训练后的模型wi(i=1,2,…n);
客户端i训练完后将模型参数加密得到参数的密文[wi]=EncA(wi),预存储所有参数,将随机数进行一次哈希运算:rk=Hash(rk-1),并使用自身的IDi与服务器分发的随机数生成哈希摘要:sg_i=sign_si(Hash(IDi||rk));
客户端i将自己的签名数据sg_i嵌入密文得到携密模型密文[wi]'=Emb_K_em([wi]',sg_i):上传[wi]'到服务器中;
所述服务器计算rk=Hash(k-1),然后生成对应客户端i的认证信息hc=Hash(IDi||rk):对携密模型密文i进行信息提取与身份认证sg_i'=Extrc_K_ex([wi]'),T=Verifi_A(sg_i',hc),T为验证通过时,认证为合法用户i;
所述服务器接收到n个客户端上传的合法携密模型参数密文,并将所有客户端接收的数据集根据实时权重σi,进行同态聚合:其中[σi]=EncA(σi);
所述服务器生成自己的认证信息h_s=Hash(IDs||rk),使用服务器的私钥sks,对认证信息进行签名:sg_k=sign_sks(h_s),服务器在聚合后的模型密文[Wk]中嵌入本轮训练安全聚合后的服务器的签名信息sg_k,[Wk]'=Emb_K_em([Wk],sg_k),然后将生成的携密模型密文下发到各个客户端;
客户端对接获得聚合后的模型密文[Wk]'后,从中提取嵌入信息:sg_k'=Extrc_K_ex([wi]'),生成服务器的合法认证信息:h_s=Hash(IDs||rk);
获取公开的服务器公钥As,对聚合后的模型密文进行身份验证,T=Verifi_As(sg_k',h_s),T为验证通过时,认为合法的情况下,客户端对密文进行解密,得到聚合后的模型参数:wk=Decs([Wk]')。
优选地,基于所述目标模型对服务器的安全性进行分析的过程包括,
所述服务器接收到n个客户端反馈的结果后,进行是否投毒攻击分析,当n个结果中有超过50%的用户反馈,模型收敛速度低于已有速度的25%以上时,判断在第k轮的训练中,有恶意用户实施了投毒攻击,此时,服务器的安全分析不通过,并基于第k轮及评分进行投毒溯源,与安全聚合过程的权重调整;倘若没有触发投毒溯源,服务器的安全分析通过。
优选地,所述服务器的安全分析不通过,并基于第k轮及评分进行投毒溯源的过程包括,
所述服务器基于密文域可逆信息隐藏技术在用户上传的携密模型密文中提取用户的ID,在明确模型与ID的绑定关系后,开启投毒溯源,在溯源确定投毒用户后,对用户的安全聚合权重调整。
优选地,所述服务器开启投毒溯源的过程包括,
首先对服务器中的客户端参数、权重、分数进行初始化,然后进行是否投毒溯源的判定,服务器对客户端的反馈结果进行汇总,倘若反对比例低于启动投毒阈值,基于二分法进行投毒溯源。
优选地,对服务器中的客户端参数、权重、分数进行初始化的过程包括,
预设链接到服务器的客户端的客户包括c1,c2,....,cn,服务器接收到客户端的链接后初始化:身份信息为IDi的客户端参数为ωi、聚合权重σi、当前分数si,锁定投毒攻击者评分减少delta,服务器启动投毒阈值为50%;
其中,每个客户端对应的分数初始化都为si,对应的权重为
优选地,基于二分法进行投毒溯源的过程包括,
将客户随机平均分为两组,组1包含个用户,组2包含个用户;分别对两组用户提交的模型密文进行聚合得到组1为[W1],组2为[W2],追踪投毒者所在的组;
在模型密文[W1],[W2]嵌入服务器身份信息得到[W1]',[W2]',将聚合后的模型参数[W1]',[W2]'下发到客户端1到n;
客户端i对模型参数[W1]',[W2]'进行加载,提取嵌入的信息,验证服务器身份;验证通过后,客户端i解密[W1]',[W2]',得到聚合后的模型w1和w2,基于各自的数据集Dataseti对w1和w2的优化效果进行测试,并对存在投毒的模型进行投票;
当模型wt(t=1或2)的收敛速度低于已有速度的25%以上时,判断在第k轮的训练中,组内有恶意用户实施了投毒攻击,反馈结果投票为组t,投票结果p=t;如果两个模型都不满足确定投毒的要求,则将p=0;如果两个模型都满足确定投毒的要求,则将p=3;
客户端i将投票结果“p”使用服务器的公钥As加密,得到密文c_vote=EncAs(p),然后生成个人验证信息sg_vote_i=sign_s(Hash(p||IDi)),将个人信息嵌入密文c_vote得到携密密文c_vote'=Emb_K_em(c_vote,sg_vote_i),客户端将携密密文c_vote'发送给服务器;
服务器接收到客户端i发送的携密密文后,提取sg_vote_i=Extrc_K_ex(c_vote'),生成客户端i的合法认证信息:h_vote_i=Hash(p||IDi);使用公钥A验证客户端i身份,T=Verifi_A(sg_vote_i,h_vote_i),T为验证通过时,认为合法;在合法的情况下,解密得到客户端i的投票结果:p=Decsks(c_vote');
服务器接收n个用户的投票,如果两组的得票数相等,则重新将客户随机平均分为两组继续进行投毒溯源;如果得到得票较高的一组存在投毒者,将得票较高的一组的个用户随机平均分为两组,重复直至组中只剩1个用户cj,所述用户cj即为投毒者,此时sj=sj–delta;
服务器进一步更新σi,并进行安全聚合,得到新的模型密文其中[σi]=EncA(σi)。
与现有技术相比,本发明具有如下优点和技术效果:
本发明为了解决联邦学习中的私聊泄露与身份认证问题,通过引入密文域可逆信息隐藏的加密技术,使模型传递过程中的数据是密文态,保护了模型的隐私。通过使用密文域可逆信息隐藏的可逆嵌入技术在模型的密文中嵌入ID等身份信息,可以在不引起密文数据扩展与额外通信次数的情况下实现对发送源的身份认证。最终通过模型密文与ID的绑定可以对模型密文进行溯源,在发现投毒的情况下通过二分法快速发现投毒者的身份,从而保证了聚合过程的安全性。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例的基于密文域可逆信息隐藏算法的安全聚合联邦学习模型的结构示意图;
图2为本发明实施例的无投毒情况下模型的分类准确度与失真函数收敛情况图;
图3为本发明实施例的不同情况下的用户分类准确度示意图;
图4为本发明实施例的不同情况下的用户失真函数的变化情况示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,本发明所提供的一种联邦学习安全聚合可逆认证与投毒溯源的方法,包括,
通过函数定义和密钥分配构建基于密文域可逆信息隐藏(Reversible DataHiding in Encrypted Domain,RDH-ED)算法的安全聚合联邦学习模型;
对所述安全聚合联邦学习模型进行学习训练,获得目标模型;
基于所述目标模型对服务器的安全性进行分析,若没有触发投毒溯源,则服务器的安全分析通过;否则服务器开启投毒溯源,在溯源确定投毒用户后,对用户的安全聚合权重进行调整,然后继续进行投毒攻击分析,直至服务器的安全分析结果通过后,停止投毒溯源。
进一步地,在所提出的基于RDH-ED算法的安全聚合联邦学习模型中,使用到如下函数。对函数进行定义如下:
私钥产生函数:s=SKGen(.)
公钥产生函数:A=PKGen(s)
加密函数:c=EncA(p)
解密函数:p=Decs(c)
哈希函数:h=Hash(D)
签名函数:sg=Sign_s(h)(例如:RSA签名,椭圆曲线签名)
验证函数:T=Verifi_A(sg,h),T∈{‘true’,’false’}
密文域可逆嵌入函数:c'=EmbK_em(c,m)
提取函数:m=ExtrcK_ex(c')
以下密钥用于模型加解密与认证信息的嵌入与提取。所使用的加密方法与嵌入提取方法为密文域可逆信息隐藏(Reversible Data Hiding in Encrypted Domain,RDH-ED)算法,RDH-ED算法的特点是用于嵌入的载体是经过加密的,要求从嵌入信息后的携密密文中不仅可以准确提取嵌入信息,而且可以无差错解密并恢复出原始载体,其中携密密文的数据量与原始密文相同,根据RDH-ED技术的安全性特点,可以保证嵌入信息的机密性,即无提取密钥的第三方无法从携密密文中提出嵌入信息,同时可以保证携密密文与原始密文在加密强度上的一致性。实验使用的具体算法为:Fully homomorphic encryptionencapsulated difference expansion forreversibledatahiding in encrypted domain[J].IEEE Transactions on Circuits and Systems forVideo Technology,30(8):2353–2365,2020.该算法中包含全同态的加密、解密,信息嵌入与提取函数。
进一步地,所述密钥分配包括:
将用户私钥s分配给用户方,用户私钥s用于生成用户公钥、解密服务器给发送的模型密文以及生成用户的签名;
将用户公钥A公开发布,用户公钥A用于数据加密和验证签名;
将服务器私钥sks分配给服务器方,服务器私钥sks用于生成服务器公钥、生成服务器的签名和解密用户发送给服务器的密文;
将服务器公钥As公开发布,服务器公钥As用于验证服务器的签名签名和数据加密;
将嵌入密钥K_em分配给用户方和服务器方,嵌入密钥K_em用于认证信息的嵌入;
将提取密钥K_ex分配给用户方和服务器方,提取密钥K_ex用于认证信息的提取。具体的密钥分配如表1所示。
表1
进一步地,对所述安全聚合联邦学习模型进行学习训练,获得目标模型的过程包括,
(1)假设链接到服务器的客户端的客户有c1,c2,....,cn。客户端链接服务器,上传客户端现有个人数据,并在服务器数据库中记录下用户的信息字段;其中,所述客户端现有个人数据包括客户i的公钥Ai以及服务器为每个客户生成由随机数构成的ID认证码ID1,ID2,…,IDn;所述信息字段包括IDi和As;
(2)服务器下发统一使用的系统参数、服务器IDs、统一原始模型w0和随机数r0给各个客户端ci。
(3)所有客户端下载完成后,等待服务器统一发起训练指令。
(4)下面是第k轮迭代训练的过程,(k>=0);
(5)客户端收到服务器下发的“开始训练”指令后,根据统一使用的参数和模型wk(第一轮训练使用模型w0),开始对客户端自身的数据集Dataseti进行k轮的迭代训练(k>=0),得到训练后的模型wi(i=1,2,…n)。
(6)客户端i训练完后将模型参数加密得到参数的密文[wi]=EncA(wi),预存储所有参数,将随机数进行一次哈希运算:rk=Hash(rk-1),并使用自身的IDi与服务器分发的随机数生成哈希摘要:sg_i=sign_si(Hash(IDi||rk))。
(7)客户端i将自己的签名数据sg_i嵌入密文得到携密模型密文[wi]'=Emb_K_em([wi]',sg_i):上传[wi]'到服务器中。
(8)服务器计算rk=Hash(k-1)。然后生成对应客户端i的认证信息hc=Hash(IDi||rk):对携密模型密文i进行信息提取与身份认证sg_i'=Extrc_K_ex([wi]'),T=Verifi_A(sg_i',hc),T为验证通过时,认为其为合法用户i。
(9)服务器接收到n个客户端上传的合法携密模型参数密文,并将所有客户端接收的数据集根据实时权重σi,进行同态聚合:其中[σi]=EncA(σi)。
(10)服务器生成自己的认证信息h_s=Hash(IDs||rk),使用服务器的私钥sks,对认证信息进行签名:sg_k=sign_sks(h_s),服务器在聚合后的模型密文[Wk]中嵌入本轮训练安全聚合后的服务器的签名信息sg_k,[Wk]'=Emb_K_em([Wk],sg_k),然后将生成的携密模型密文下发到各个客户端。
(11)客户端对接获得聚合后的模型密文[Wk]'后,从中提取嵌入信息:sg_k'=Extrc_K_ex([wi]'),生成服务器的合法认证信息:h_s=Hash(IDs||rk)。
获取公开的服务器公钥As,对聚合后的模型密文进行身份验证,T=Verifi_As(sg_k',h_s),T为验证通过时,认为合法的情况下,客户端对密文进行解密,得到聚合后的模型参数:wk=Decs([Wk]')。
(12)各个客户端使用其独立保存的数据集Dataseti作为测试集,对服务器下发的聚合参数Wk进行测试,并根据反馈反馈模型收敛的情况给服务器,并等待服务器新指令。
(13)服务器接收到n个客户端反馈的结果后,进行是否投毒攻击分析,当n个结果中有超过50%的用户反馈,模型收敛速度(或失真函数下降的速度)低于已有速度的25%以上时,判定在第k轮的训练中,有恶意用户实施了投毒攻击,此时,服务器的安全分析不通过,并基于第k轮及评分进行投毒溯源,与安全聚合过程的权重调整,投毒溯源过程见步骤(15)。倘若没有触发投毒溯源,服务器的安全分析通过。
(14)服务器继续对当前的模型结果进行分析,如果符合优化目标,如失真已到达0,或失真下降至目标值以下,或训练轮次k达到预设的联邦学习目标轮次,则终止联邦学习训练过程,并向客户端下发“结束训练”指令。否则,则向客户端下发“开始训练”指令。客户基于数据集Dataseti对模型Wk进行第k+1轮训练,重复上述步骤(4),其中k=k+1。
(15)服务器基于密文域可逆信息隐藏技术在用户上传的携密模型密文中提取用户的ID,在明确了模型与ID的绑定关系后,开启投毒溯源,在溯源确定了投毒用户后,对用户的安全聚合权重调整。
(16)然后继续进行投毒攻击分析,直到服务器的安全分析结果通过后,停止投毒溯源,返回步骤(14)。
进一步地,所述服务器开启投毒溯源的过程包括,
首先对服务器中的客户端参数、权重、分数进行初始化,然后进行是否投毒溯源的判定,服务器对客户端的反馈结果进行汇总,倘若反对比例低于启动投毒阈值,基于二分法进行投毒溯源。
进一步地优化方案,对服务器中的客户端参数、权重、分数进行初始化的过程包括,
(1)假设链接到服务器的客户端的客户有c1,c2,....,cn,服务器现接收到客户端的链接后初始化:身份信息为IDi的客户端参数为ωi、聚合权重σi、当前分数si;
(2)每个客户端对应的分数初始化都为si,如si=100;
(3)对应的权重为
(4)锁定投毒攻击者评分减少delta,如delta=20;
(5)服务器默认启动投毒阈值为50%
假设有8个客户端,则初始化后的实时权重分配如表2:
表2
客户端 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 |
si | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
σi | 12.5% | 12.5% | 12.5% | 12.5% | 12.5% | 12.5% | 12.5% | 12.5% |
进一步地优化方案,是否进行投毒溯源判定在服务器对客户端反馈结果汇总后,倘若反对比例低于启动投毒阈值,开启投毒溯源。
进一步地优化方案,基于二分法的投毒溯源方法包括:
(1)将客户随机平均分为两组,组1中包含个用户。组2中包含个用户。分别对两组用户提交的模型密文进行聚合得到组1为[W1],组2为[W2]。下面追踪投毒者所在的组。
(2)以n=8,也就是有八个客户端为例,假设将服务器接收到的客户端上传参数随机分为两组:{c1,c3,c6,c7},{c2,c5,c4,c8}。分别聚合得到([W1],[W2]),则W1中信息来源为:ω1|ω3|ω6|ω7;W2中信息来源为:ω2|ω5|ω6|ω7。
(3)服务器使用“学习训练”中的步骤(10),在模型密文[W1],[W2]嵌入服务器身份信息得到[W1]',[W2]'。将聚合后的模型参数[W1]',[W2]'下发到客户端1到n。
(4)客户端i对模型参数[W1]',[W2]'进行加载,使用“学习训练”中的步骤(11),提取嵌入的信息,验证服务器身份。验证通过后,客户端i解密[W1]',[W2]',得到聚合后的模型w1和w2,基于各自的数据集Dataseti对w1和w2的优化效果进行测试,并对存在投毒的模型进行投票。当模型wt(t=1或2)的收敛速度(或失真函数下降的速度)低于已有速度的25%以上时,可以怀疑在第k轮的训练中,组内有恶意用户实施了投毒攻击,反馈结果投票为组t,投票结果p=t;如果两个模型都不满足确定投毒的要求,即模型的收敛速度(或失真函数下降的速度)不低于已有速度的25%,则将p=0;如果两个模型都满足确定投毒的要求,即模型的收敛速度(或失真函数下降的速度)均高于已有速度的25%,则将p=3;
(5)客户端i将投票结果“p”使用服务器的公钥As加密,得到密文c_vote=EncAs(p).然后生成个人验证信息sg_vote_i=sign_s(Hash(p||IDi)),将个人信息嵌入密文c_vote得到携密密文c_vote'=Emb_K_em(c_vote,sg_vote_i)。客户端将携密密文c_vote'发送给服务器。
(6)服务器接收到客户端i发送的携密密文后,提取sg_vote_i=Extrc_K_ex(c_vote'),生成客户端i的合法认证信息:h_vote_i=Hash(p||IDi)。使用公钥A验证客户端i身份,T=Verifi_A(sg_vote_i,h_vote_i),T为验证通过时,认为其为合法。合法的情况下,解密得到客户端i的投票结果:p=Decsks(c_vote')。
(7)服务器接收到n个用户的投票,如果两组的得票数相等,则回到步骤(1)。如果可以得到得票较高的一组存在投毒者,以组1投票较高为例,此时将组1中的个用户随机平均分为两组,重复步骤(2),直到该组中只剩1个用户cj。该用户cj为投毒者,此时sj=sj–delta。服务器进一步更新σi。并进行安全聚合,得到新的模型密文其中[σi]=EncA(σi)。然后执行“学习训练”中的步骤(10)-(16)。
二分法的投毒溯源示例:
1)设n=8,将服务器接收到的客户端上传参数随机分为:组1{c1,c3,c6,c7}和组2{c2,c5,c4,c8},分别聚合得到([W1],[W2])。
2)第一次的投票结果为:W1有7票,W2有4票。
3)对W1继续二分法分为:组1{c1,c3}和组2{c6,c7}。
4)第二次的投票结果为:W1有6票,W2有2票。
5)对W1继续二分法分为:组1{c1}和组2{c3}。
6)第三次的投票结果为:W1有7票,W2有0票。标记c1为劣质客户。
7)更新分数和权重s1=s1-delta。更新权重
更新权重和分数后,实时权重表如表3:
表3
客户 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 |
si | 80 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
σi | 10.26% | 12.82% | 13.16% | 13.16% | 10.53% | 13.16% | 10.53% | 13.16% |
实验与测试
使用文献
“Fullyhomomorphicencryptionencapsulateddifferenceexpansionforreversibledatahidinginencrypteddomain[J].IEEETransactionsonCircuitsandSystemsforVideoTechnology,30(8):2353–2365,2020.”
中的加密、解密,信息嵌入与提取函数。联邦学习的模型训练原型来源于https://github.com/salmankhaliq22/Federated-Learning-Using-TensorFlow/blob/main/fl_implemetation.ipynb。系统环境如表4所示。
表4
客户端测试集反映模型的训练情况。对MNIST进行训练使用的模型如图1所示,模型包括两个LSTM层和一个Dense层,输入层形状为一维张量,模型使用categorical_crossentropy(交叉熵)损失函数,优化器选用SGD(随机梯度下降),学习率为0.01,衰减值为0.5,第一层和第二层使用激活函数为relu,第三层使用激活函数为softmax。模型网络结构说明如表5所示。
表5
表6中给出了使用RDH-ED技术对模型密文进行嵌入后的数据变化情况,可以看出嵌入过程没有引起密文数据的扩展,没有给传输信道产生更大的压力。保证了嵌入过程的实用性。表7中展示的是对手写图片进行分类时判别向量的赋值情况与分类结论,在训练了10轮后,可以实现对图片的分类精度达到90%。
表6
表7
如图2所示,通过测试可以看出,在联邦学习的过程中,无攻击的情况下,当完成46轮后,模型的准确值达到96.738%,模型有很好地表现情况。
图3中展示了8个用户进行联邦训练时,正常无投毒情况下,用户使用聚合后的模型进行训练分类的精度,在10轮迭代后,分类精度可以达到90%以上。但是如果用户3进行投毒,其他用户使用聚合后的模型分类的准确度,可以明显发现毒化后的模型使得分类精度降低。从而可以指示出现了投毒情况。
图4中展示了8个用户进行联邦训练时,用户使用聚合后的模型进行训练失真函数的变化情况,正常无投毒情况下,在10轮迭代后,失真临近于0。但是如果用户3进行投毒,其他用户(用户1,3)使用聚合后的毒化模型进行训练,可以看出其失真函数下降速度较慢,且无法收敛至0附近(在25以上)。从而可以指示出现了投毒情况。
如图3所示,在模型训练过程中,在一共n个客户端的架构中存在1个投毒者是地,服务器发起“投票”,服务器统计每轮的投票效果,并对投毒者进行溯源,使用二分法溯源log2n次即可发现投毒者。
本发明为了解决联邦学习中的私聊泄露与身份认证问题,通过引入密文域可逆信息隐藏的加密技术,使模型传递过程中的数据是密文态,保护了模型的隐私。通过使用密文域可逆信息隐藏的可逆嵌入技术在模型的密文中嵌入ID等身份信息,可以在不引起密文数据扩展与额外通信次数的情况下实现对发送源的身份认证。最终通过模型密文与ID的绑定可以对模型密文进行溯源,在发现投毒的情况下通过二分法快速发现投毒者的身份,从而保证了聚合过程的安全性。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,包括:
通过函数定义和密钥分配构建基于密文域可逆信息隐藏算法的安全聚合联邦学习模型;
对所述安全聚合联邦学习模型进行学习训练,获得目标模型;
基于所述目标模型对服务器的安全性进行分析,若没有触发投毒溯源,则服务器的安全分析通过;否则服务器开启投毒溯源,在溯源确定投毒用户后,对用户的安全聚合权重进行调整,然后继续进行投毒攻击分析,直至服务器的安全分析结果通过后,停止投毒溯源。
2.根据权利要求1所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,所述函数定义包括,定义:
私钥产生函数:s=SKGen(.)
公钥产生函数:A=PKGen(s)
加密函数:c=EncA(p)
解密函数:p=Decs(c)
哈希函数:h=Hash(D)
签名函数:sg=Sign_s(h)
验证函数:T=Verifi_A(sg,h),T∈{‘true’,’false’}
密文域可逆嵌入函数:c'=EmbK_em(c,m)
提取函数:m=ExtrcK_ex(c')。
3.根据权利要求1所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,所述密钥分配包括:
将用户私钥s分配给用户方,所述用户私钥s用于生成用户公钥、解密服务器给发送的模型密文以及生成用户的签名;
将用户公钥A公开发布,所述用户公钥A用于数据加密和验证签名;
将服务器私钥sks分配给服务器方,所述服务器私钥sks用于生成服务器公钥、生成服务器的签名和解密用户发送给服务器的密文;
将服务器公钥As公开发布,所述服务器公钥As用于验证服务器的签名签名和数据加密;
将嵌入密钥K_em分配给用户方和服务器方,所述嵌入密钥K_em用于认证信息的嵌入;
将提取密钥K_ex分配给用户方和服务器方,所述提取密钥K_ex用于认证信息的提取。
4.根据权利要求1所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,对所述安全聚合联邦学习模型进行学习训练,获得目标模型的过程包括,
预设链接到服务器的客户端的客户包括c1,c2,....,cn,客户端链接服务器,上传客户端现有个人数据,并在服务器数据库中记录下用户的信息字段;其中,所述客户端现有个人数据包括客户i的公钥Ai以及服务器为每个客户生成由随机数构成的ID认证码ID1,ID2,…,IDn;所述信息字段包括IDi和As;
基于所述服务器下发统一使用的系统参数、服务器IDs、统一原始模型w0和随机数r0给各个客户端ci,所有客户端下载完成后,等待服务器统一发起训练指令,进行迭代训练;
各个客户端使用独立保存的数据集Dataseti作为测试集,对服务器下发的聚合参数Wk进行测试,并根据反馈反馈模型收敛的情况给服务器,并等待服务器新指令;
所述服务器继续对当前的模型结果进行分析,如果符合优化目标,则终止联邦学习训练过程,并向客户端下发“结束训练”指令;否则,则向客户端下发“开始训练”指令,客户基于数据集Dataseti对模型Wk进行第k+1轮的迭代训练,其中k=k+1;所述符合优化目标至少包括失真已到达0,或失真下降至目标值以下,或训练轮次k达到预设的联邦学习目标轮次。
5.根据权利要求4所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,所述所有客户端下载完成后,等待服务器统一发起训练指令,进行迭代训练的过程包括,
客户端收到服务器下发的“开始训练”指令后,根据统一使用的系统参数和模型wk,开始对客户端自身的数据集Dataseti进行k轮的迭代训练(k>=0),得到训练后的模型wi(i=1,2,…n);
客户端i训练完后将模型参数加密得到参数的密文[wi]=EncA(wi),预存储所有参数,将随机数进行一次哈希运算:rk=Hash(rk-1),并使用自身的IDi与服务器分发的随机数生成哈希摘要:sg_i=sign_si(Hash(IDi||rk));
客户端i将自己的签名数据sg_i嵌入密文得到携密模型密文[wi]'=Emb_K_em([wi]',sg_i):上传[wi]'到服务器中;
所述服务器计算rk=Hash(k-1),然后生成对应客户端i的认证信息hc=Hash(IDi||rk):对携密模型密文i进行信息提取与身份认证sg_i'=Extrc_K_ex([wi]'),T=Verifi_A(sg_i',hc),T为验证通过时,认证为合法用户i;
所述服务器接收到n个客户端上传的合法携密模型参数密文,并将所有客户端接收的数据集根据实时权重σi,进行同态聚合:其中[σi]=EncA(σi);
所述服务器生成自己的认证信息h_s=Hash(IDs||rk),使用服务器的私钥sks,对认证信息进行签名:sg_k=sign_sks(h_s),服务器在聚合后的模型密文[Wk]中嵌入本轮训练安全聚合后的服务器的签名信息sg_k,[Wk]'=Emb_K_em([Wk],sg_k),然后将生成的携密模型密文下发到各个客户端;
客户端对接获得聚合后的模型密文[Wk]'后,从中提取嵌入信息:sg_k'=Extrc_K_ex([wi]'),生成服务器的合法认证信息:h_s=Hash(IDs||rk);
获取公开的服务器公钥As,对聚合后的模型密文进行身份验证,T=Verifi_As(sg_k',h_s),T为验证通过时,认为合法的情况下,客户端对密文进行解密,得到聚合后的模型参数:wk=Decs([Wk]')。
6.根据权利要求1所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,基于所述目标模型对服务器的安全性进行分析的过程包括,
所述服务器接收到n个客户端反馈的结果后,进行是否投毒攻击分析,当n个结果中有超过50%的用户反馈,模型收敛速度低于已有速度的25%以上时,判断在第k轮的训练中,有恶意用户实施了投毒攻击,此时,服务器的安全分析不通过,并基于第k轮及评分进行投毒溯源,与安全聚合过程的权重调整;倘若没有触发投毒溯源,服务器的安全分析通过。
7.根据权利要求6所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,所述服务器的安全分析不通过,并基于第k轮及评分进行投毒溯源的过程包括,
所述服务器基于密文域可逆信息隐藏技术在用户上传的携密模型密文中提取用户的ID,在明确模型与ID的绑定关系后,开启投毒溯源,在溯源确定投毒用户后,对用户的安全聚合权重调整。
8.根据权利要求1所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,所述服务器开启投毒溯源的过程包括,
首先对服务器中的客户端参数、权重、分数进行初始化,然后进行是否投毒溯源的判定,服务器对客户端的反馈结果进行汇总,倘若反对比例低于启动投毒阈值,基于二分法进行投毒溯源。
9.根据权利要求8所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,对服务器中的客户端参数、权重、分数进行初始化的过程包括,
预设链接到服务器的客户端的客户包括c1,c2,....,cn,服务器接收到客户端的链接后初始化:身份信息为IDi的客户端参数为ωi、聚合权重σi、当前分数si,锁定投毒攻击者评分减少delta,服务器启动投毒阈值为50%;
其中,每个客户端对应的分数初始化都为si,对应的权重为
10.根据权利要求8所述的联邦学习安全聚合可逆认证与投毒溯源的方法,其特征在于,基于二分法进行投毒溯源的过程包括,
将客户随机平均分为两组,组1包含个用户,组2包含个用户;分别对两组用户提交的模型密文进行聚合得到组1为[W1],组2为[W2],追踪投毒者所在的组;
在模型密文[W1],[W2]嵌入服务器身份信息得到[W1]',[W2]',将聚合后的模型参数[W1]',[W2]'下发到客户端1到n;
客户端i对模型参数[W1]',[W2]'进行加载,提取嵌入的信息,验证服务器身份;验证通过后,客户端i解密[W1]',[W2]',得到聚合后的模型w1和w2,基于各自的数据集Dataseti对w1和w2的优化效果进行测试,并对存在投毒的模型进行投票;
当模型wt(t=1或2)的收敛速度低于已有速度的25%以上时,判断在第k轮的训练中,组内有恶意用户实施了投毒攻击,反馈结果投票为组t,投票结果p=t;如果两个模型都不满足确定投毒的要求,则将p=0;如果两个模型都满足确定投毒的要求,则将p=3;
客户端i将投票结果“p”使用服务器的公钥As加密,得到密文c_vote=EncAs(p),然后生成个人验证信息sg_vote_i=sign_s(Hash(p||IDi)),将个人信息嵌入密文c_vote得到携密密文c_vote'=Emb_K_em(c_vote,sg_vote_i),客户端将携密密文c_vote'发送给服务器;
服务器接收到客户端i发送的携密密文后,提取sg_vote_i=Extrc_K_ex(c_vote'),生成客户端i的合法认证信息:h_vote_i=Hash(p||IDi);使用公钥A验证客户端i身份,T=Verifi_A(sg_vote_i,h_vote_i),T为验证通过时,认为合法;在合法的情况下,解密得到客户端i的投票结果:p=Decsks(c_vote');
服务器接收n个用户的投票,如果两组的得票数相等,则重新将客户随机平均分为两组继续进行投毒溯源;如果得到得票较高的一组存在投毒者,将得票较高的一组的个用户随机平均分为两组,重复直至组中只剩1个用户cj,所述用户cj即为投毒者,此时sj=sj–delta;
服务器进一步更新σi,并进行安全聚合,得到新的模型密文其中[σi]=EncA(σi)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542536.1A CN117669766A (zh) | 2023-11-20 | 2023-11-20 | 一种联邦学习安全聚合可逆认证与投毒溯源的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542536.1A CN117669766A (zh) | 2023-11-20 | 2023-11-20 | 一种联邦学习安全聚合可逆认证与投毒溯源的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117669766A true CN117669766A (zh) | 2024-03-08 |
Family
ID=90076198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311542536.1A Pending CN117669766A (zh) | 2023-11-20 | 2023-11-20 | 一种联邦学习安全聚合可逆认证与投毒溯源的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117669766A (zh) |
-
2023
- 2023-11-20 CN CN202311542536.1A patent/CN117669766A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A blockchain-based decentralized, fair and authenticated information sharing scheme in zero trust internet-of-things | |
Zhu et al. | Dynamic audit services for outsourced storages in clouds | |
Agrawal et al. | Privacy and security of Aadhaar: a computer science perspective | |
US8406428B2 (en) | Secure method and apparatus to verify personal identity over a network | |
CN105164971A (zh) | 具有额外安全性的用于低熵输入记录的核验系统和方法 | |
CN108989346A (zh) | 基于账号隐匿的第三方有效身份托管敏捷认证访问模式 | |
US11170786B1 (en) | Federated speaker verification method based on differential privacy | |
Sun et al. | A blockchain-based audit approach for encrypted data in federated learning | |
CN114363043B (zh) | 一种对等网络中基于可验证聚合和差分隐私的异步联邦学习方法 | |
Lyu et al. | Towards fair and decentralized privacy-preserving deep learning with blockchain | |
CN115795518B (zh) | 一种基于区块链的联邦学习隐私保护方法 | |
Zhu et al. | Secure Online Examination with Biometric Authentication and Blockchain‐Based Framework | |
Ji et al. | LAFED: A lightweight authentication mechanism for blockchain-enabled federated learning system | |
CN117200964A (zh) | 一种联邦学习安全聚合方法 | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
Said et al. | A multi-factor authentication-based framework for identity management in cloud applications | |
CN114844653B (zh) | 基于联盟链的可信联邦学习方法 | |
Xiong et al. | Detecting GAN-based privacy attack in distributed learning | |
CN109818755A (zh) | 一种透明双因子认证系统及方法 | |
Shahin et al. | Big data platform privacy and security, a review | |
CN117669766A (zh) | 一种联邦学习安全聚合可逆认证与投毒溯源的方法 | |
Zhang et al. | CSFL: Cooperative Security Aware Federated Learning Model Using The Blockchain | |
Wang et al. | Privacy-preserving robust federated learning with distributed differential privacy | |
Skarkala et al. | Privacy preserving tree augmented naïve Bayesian multi-party implementation on horizontally partitioned databases | |
Cheng et al. | Universal interactive verification framework for federated learning protocol |
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 |