论文笔记:Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems

这篇具有很好参考价值的文章主要介绍了论文笔记:Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


会议来源:IEEE TRANSACTIONS ON INFORMA TION FORENSICS AND SECURITY , VOL. 17, 2022

背景原因

1.分布式机器学习在海量数据上实现了更大模型的训练,但仍然容易受到安全和隐私泄露的影响
2.保护隐私的联邦学习方案之一是使用同态加密方案(如Paillier),对局部梯度进行加密,但局部梯度难以计算和传输,开销大(由于Paillier只能对整数进行加密,支持对单个数据进行加密,因此需要先对梯度进行量化,然后逐个加密,这大大增加了计算和通信开销)
3.保护隐私的FL(联邦学习)方案仍然容易受到中毒攻击
4.保护隐私的FL(联邦学习)方案遭受恶意服务器聚合和单点故障威胁

解决方案

我们提出了一个基于区块链的隐私保护拜占庭鲁棒联邦学习(PBFL)方案。具体来说,我们采用余弦相似度作为惩罚恶意客户端的方法。与之前使用余弦相似度机制的方案不同,我们的方案要求服务器收集一个小而干净的根数据集,并为数据集维护一个模型。在确定恶意梯度之前,服务器会考虑本地更新和服务器模型更新,这依赖于可信根,而不是像前面的工作那样只依赖本地更新。与FLTrust一致。在此基础上,采用同态加密技术,在此基础上增加了隐私保护机制。此外,我们使用区块链来促进透明的流程。

工作贡献成果

我们采用全同态加密(FHE)方案CKKS提供了一种隐私保护训练机制,不仅大大减少了计算和通信开销,还防止了攻击者窥探客户端的本地数据。
1.我们提供了一个可信的全局模型,通过余弦相似度去除恶意梯度,从而抵抗中毒攻击。
2.我们使用区块链促进透明的流程和法规的执行。服务器进行链下计算,并将结果上传到区块链,实现了效率和可信度。
3.我们使用两个著名的数据集演示了广泛的实验,并将我们的方案与以前最先进的方案进行了比较。结果表明,该方案具有良好的鲁棒性和效率。

预备知识

联邦学习

在标准的联邦学习设置中,假设我们有一个中央服务器和n个客户端{C1, C2,……Cn},本地数据集D j , j = 1, 2, 3, . . . , n, D = {D1, D2,…Dn}表示联合数据集, 客户的目标是在不泄露本地数据的情况下合作训练一个全局模型。

投毒攻击

投毒攻击: 在投毒攻击中,攻击者通过控制κ客户端来操纵局部模型,最终影响全局模型的准确性

投毒攻击分类

投毒攻击分类:定向攻击,非定向攻击
1.定向攻击: 有针对性的攻击,如缩放攻击,只针对数据集中的一个或多个数据类别,而保持其他类别数据的准确性
2.非定向攻击: 无目标攻击,如Krum攻击、Trim攻击,是一种无差别攻击,目的是降低所有数据类别的准确性。

数据投毒和模型投毒攻击

1.在数据毒害攻击(即标签翻转攻击)中,攻击者通过毒害设备的本地数据间接地毒害全局模型

标签反转攻击:改变样本的标签(给样本使用我们规定的)
标签干净标签攻击:改变样本的输入(将样本的内容修改,标签不变)

2.模型投毒攻击: 在模型投毒攻击中,攻击者可以直接操纵和控制设备与服务器之间通信的模型更新, 直接影响全局模型的准确性

同态加密

同态加密是一种基于数学计算的加密技术。HE满足对明文的加法或乘法等价于对密文的相应运算的性质。完全同态加密是一个既满足加性同态又满足乘性同态的加密函数,可以进行任意次的加法和乘法运算。

本文应用的全同态加密技术ckks(Homomorphic Encryption for Arithmetic of Approximate Numbers),因为该文其中一个实验结果表明,CKKS算法更有效,更适合处理大尺度向量和多参数网络模型

系统模型

privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式
请注意,求解器、计算器和客户需要向智能合约支付定金,我们省略了图中的过程
模型设计:
1.KGC (Key Generation Center):为客户端和服务器生成和分发公私钥对的可信机构。
2.客户端:作为数据所有者,客户端拥有KGC提供的公钥/私钥对(pkx, skx),并旨在从通用的全球模型中受益。
3.求解器:一个拥有小型干净数据集D0的中央服务器负责聚合客户端提交的所有梯度。
4.Verifier:一个非合谋的中央服务器,并与求解器合作执行计算。Verifier有一对KGC生成的公钥/私钥(pkv, skv)。
5.区块链系统:为了避免自私行为,中心服务器需要在SC上存入押金以获得潜在的惩罚。此外,还需要将结果上传到区块链,以便进行透明的计算过程。

威胁模型

1.投毒攻击:恶意客户端的目标是在不被检测的情况下影响全局模型的性能。恶意客户端可以通过多种方式发起投毒攻击。例如,他/她改变了数据的标签,并上传了在有毒数据上训练的梯度。
2.数据泄露:由于梯度是客户端本地数据的映射,如果客户端直接上传明文梯度,攻击者可以在一定程度上推断或获取诚实客户端的原始信息,从而导致客户端数据泄露。
3.推理攻击:在我们的方案中,Solver和Ve交换一些中间结果进行协作,以完成本地更新的聚合。因此,他们可能试图从中间结果中推断敏感信息

privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式

核心系统算法

privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式
PBFL由局部计算、归一化判断和模型聚合三个过程组成

局部计算

privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式

局部梯度

privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式

归一化判断

我们的聚合规则基于余弦相似度策略。为了使聚合规则适用于密文,在加密前对局部梯度进行归一化处理
privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式
因为用ckks加密所以本文向量内积:
向量 [ [ g ~ i j ] ] p k v = [ [ p 1 , p 2 , . . . . . , p n ∗ ] ] p k v 向量 [[ \widetilde g^{j}_{i}]]_{pk_{v}} = [[p_{1},p_{2},.....,p_{n^{*}}]]_{pk_{v}} 向量[[g ij]]pkv=[[p1,p2,.....,pn]]pkv

首先将两个加密向量相乘 : [ [ p 1 2 , p 2 2 , . . . . . , p n ∗ 2 ] ] p k v 首先将两个加密向量相乘 : [[p^{2}_{1},p^{2}_{2},.....,p^{2}_{n^{*}}]]_{pk_{v}} 首先将两个加密向量相乘:[[p12,p22,.....,pn2]]pkv
旋转向量 [ [ p 1 2 , p 2 2 , . . . . . , p n ∗ 2 ] ] p k v − > [ [ p 2 2 , p 3 2 , . . . . p n ∗ 2 , p 1 2 ] ] p k v 旋转向量 [[p^{2}_{1},p^{2}_{2},.....,p^{2}_{n^{*}}]]_{pk_{v}}->[[p^{2}_{2},p^{2}_{3},....p^{2}_{n^{*}},p^{2}_{1}]]_{pk_{v}} 旋转向量[[p12,p22,.....,pn2]]pkv>[[p22,p32,....pn2,p12]]pkv

重复( n ∗ − 1 )次 重复(n^{*}-1)次 重复(n1)次
可以得到 [ [ r 1 , r 2 , r 3 , . . . . r n ∗ ] ] p k v r 1 = p 1 2 + p 2 2 + , . . . . . , + p n ∗ 2 可以得到 [[r_{1},r_{2},r_{3},....r_{n^{*}}]]_{pk_{v}} \quad\quad r1=p^{2}_{1}+p^{2}_{2}+,.....,+p^{2}_{n^{*}} 可以得到[[r1,r2,r3,....rn]]pkvr1=p12+p22+,.....,+pn2
最后我们两个向量相乘 [ [ r 1 ] ] p k v = [ [ r 1 , r 2 , r 3 , . . . . r n ∗ ] ] p k v 乘 [ 1 , 0 , 0 , . . . . , 0 ] 最后我们两个向量相乘 [[r_{1}]]_{pk_{v}}= [[r_{1},r_{2},r_{3},....r_{n^{*}}]]_{pk_{v}} 乘[1,0,0,....,0] 最后我们两个向量相乘[[r1]]pkv=[[r1,r2,r3,....rn]]pkv[1,0,0,....,0]
[ [ r 1 ] ] p k v = [ [ g ~ i j ] ] p k v ⊙ [ [ g ~ i j ] ] p k v [[r_{1}]]_{pk_{v}}= [[ \widetilde g^{j}_{i}]]_{pk_{v}} \odot [[ \widetilde g^{j}_{i}]]_{pk_{v}} [[r1]]pkv=[[g ij]]pkv[[g ij]]pkv

梯度权重

privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式
具体来说,我们的聚合规则依赖于可信根数据集D0及其对应的模型w0,它们用于确定全局模型更新的更“有希望”的方向。局部模型更新,更类似于g的方向,有更高的权重,而被聚合。与前面的工作一样,Solver可以通过手动标记收集可信的根数据集D0。例如,谷歌可以招募其员工输入Gboard在下一个单词预测的联邦任务中创建根数据集。在第VII节中,我们展示了我们只需要一个小的根数据集D0(例如200个数据点),并且数据集的分布可以与客户端的分布不同。因此,对于Solver来说,收集可信根数据集D0和手动标记的成本通常是负担得起的。
方法:余弦相似度

Solver在数据集D0上训练得到梯度更新 g i 0 g^{0}_{i} gi0,然后使用
g ~ i 0 = g i 0 / ∣ ∣ g i 0 ∣ ∣ \widetilde g^{0}_{i} = g^{0}_{i} /|| g^{0}_{i}|| g i0=gi0/∣∣gi0∣∣

g i 0 g^{0}_{i} gi0进行归一化。求解器加密它得到梯度 [ [ g ~ i 0 ] ] p k v [[ \widetilde g^{0}_{i}]]_{pk_{v}} [[g i0]]pkv 然后我们计算这两个向量之间的余弦相似度,其中客户端 C j C_{j} Cj得到 g ~ i j = [ p 1 , p 2 , . . . . . , p n ∗ ] \widetilde g^{j}_{i}=[p_{1},p_{2},.....,p_{n^{*}}] g ij=[p1,p2,.....,pn] g i 0 = [ q 1 , q 2 , . . . . . , q n ∗ ] g^{0}_{i} =[q_{1},q_{2},.....,q_{n^{*}}] gi0=[q1,q2,.....,qn]加密后的梯度为
[ [ g ~ i j ] ] p k v = [ [ p 1 , p 2 , . . . . . , p n ∗ ] ] p k v , [ [ g ~ i 0 ] ] p k v = [ [ q 1 , q 2 , . . . . . , q n ∗ ] ] p k v [[ \widetilde g^{j}_{i}]]_{pk_{v}}=[[p_{1},p_{2},.....,p_{n^{*}}]]_{pk_{v}}, [[ \widetilde g^{0}_{i}]]_{pk_{v}}=[[q_{1},q_{2},.....,q_{n^{*}}]]_{pk_{v}} [[g ij]]pkv=[[p1,p2,.....,pn]]pkv,[[g i0]]pkv=[[q1,q2,.....,qn]]pkv

[ [ c s i j ] ] p k v = [ [ g ~ i 0 ] ] p k v ⊙ [ [ g ~ i j ] ] p k v = [ [ p 1 q 1 + p 2 q 2 + . . . . + p n ∗ q n ∗ ] ] p k v [[cs^{j}_{i}]]_{pk_{v}}= [[ \widetilde g^{0}_{i}]]_{pk_{v}} \odot [[ \widetilde g^{j}_{i}]]_{pk_{v}}=[[p_{1}q_{1}+p_{2}q_{2}+....+p_{n^*}q_{n^*}]]_{pk_{v}} [[csij]]pkv=[[g i0]]pkv[[g ij]]pkv=[[p1q1+p2q2+....+pnqn]]pkv
s . t . , ∣ ∣ g ~ i 0 ∣ ∣ = ∣ ∣ g ~ i j ∣ ∣ = 1 s.t., || \widetilde g^{0}_{i}||=|| \widetilde g^{j}_{i}||=1 s.t.,∣∣g i0∣∣=∣∣g ij∣∣=1
由于归一化,两个向量之间的余弦相似度可以转化为内积。

c s i j cs^j_{i} csij的负值意味着局部梯度 g ~ i j \widetilde g^{j}_{i} g ij的方向与 g ~ i 0 \widetilde g^{0}_{i} g i0的方向相反,这对全局模型产生了负面影响。一个典型的解决方案是在聚合期间丢弃恶意梯度,从而尽可能减少这些梯度的影响。因此,在第i次迭代中,客户端 C j C _{j} Cj的评分 S i j S ^j_{i} Sij由如下定义:
S i j = R e L U ( c s i j ) S ^j_{i}=ReLU(cs^j_{i}) Sij=ReLU(csij)
R e L U = { x , i f x > 0 0 , i f x < 0 ReLU = \begin{cases} x, ifx>0 \\ 0 , ifx<0 \end{cases} ReLU={x,ifx>00,ifx<0
ReLU函数是明文情况下使用的,在密文情况下不适用
下列算法给出了在[0,1]范围内同态密码比较的一种数值方法。两个向量的余弦相似度为[−1,1],这使得我们不能直接将比较方法应用于 [ [ c s i j ] ] 和 [ [ 0 ] ] [[cs^j_{i}]]和[[0]] [[csij]][[0]] 。解决方法之一是将余弦相似度转换为允许的范围。要做到这一点,我们首先加 [ [ 1 ] ] 到 [ [ c s i j ] ] [[1]]到[[cs^j_{i}]] [[1]][[csij]],使结果的明文落在[0,2]上,然后我们将结果乘以 1 2 \frac{1}{2} 21。因此,最终结果满足要求。请注意,通过我们的转换,值0对应于值 1 2 \frac{1}{2} 21。因此,我们将ReLU函数转换为ReLU’。我们在算法4中调用Max来描述同态比较方法。
privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式
R e L U ′ ( [ [ c s i j ] ] ) = { 1 2 ( [ [ c s i j ] ] + [ [ 1 ] ] ) , i f 1 2 ( [ [ c s i j ] ] + [ [ 1 ] ] ) > [ [ 1 2 ] ] [ [ 1 2 ] ] , i f 1 2 ( [ [ c s i j ] ] + [ [ 1 ] ] ) < [ [ 1 2 ] ] ReLU' ([[cs^j_{i}]])= \begin{cases} \frac{1}{2}([[cs^j_{i}]]+[[1]]), if \quad \frac{1}{2}([[cs^j_{i}]]+[[1]])>[[\frac{1}{2}]] \\ [[\frac{1}{2}]] , \quad \quad \quad \quad \quad if \quad \frac{1}{2}([[cs^j_{i}]]+[[1]])<[[\frac{1}{2}]] \end{cases} ReLU([[csij]])={21([[csij]]+[[1]]),if21([[csij]]+[[1]])>[[21]][[21]],if21([[csij]]+[[1]])<[[21]]

聚合算法

在获得客户端的所有分数后,Solver与Verifier一起工作,以获得模型聚合所需的值,而不会泄露隐私。具体来说,为了获得分数的原始值,求解器设置 [ [ S i j ] ] p k v ′ = 2 ⋅ [ [ S i j ] ] p k v − [ [ 1 ] ] p k v [[S^j_{i}]]_{pk_{v}}' = 2·[[S^j_{i}]]_{pk_{v}}−[[1]]_{pk_{v}} [[Sij]]pkv=2[[Sij]]pkv[[1]]pkv。求解器计算 [ [ s u m ] ] p k v = ∑ f = 1 ∣ C ∣ [ [ S i j ] ] p k v ′ [[sum]]_{pk_{v}}=\sum_{f=1}^{|C|}{[[S^j_{i}]]_{pk_{v}}' } [[sum]]pkv=f=1C[[Sij]]pkv ,然后Solver随机选择一个 n ∗ {n^*} n维向量 V n ∗ 和 V ~ V^{n^*}和\widetilde V VnV ,得到 V n ∗ ⋅ [ [ g ~ i j ] ] p k v 和 V ~ ⋅ [ [ S i j ] ] p k v ′ V^{n^*}· [[ \widetilde g^{j}_{i}]]_{pk_{v}}和\widetilde V·[[S ^j_{i}]]'_{pk_{v}} Vn[[g ij]]pkvV [[Sij]]pkv。最后,求解器发送 [ [ s u m ] ] p k v , V n ∗ ⋅ [ [ g ~ i j ] ] p k v 和 V ~ ⋅ [ [ S i j ] ] p k v ′ [[sum]]_{pk_{v}} ,V^{n^*}· [[ \widetilde g^{j}_{i}]]_{pk_{v}}和\widetilde V·[[S ^j_{i}]]'_{pk_{v}} [[sum]]pkv,Vn[[g ij]]pkvV [[Sij]]pkv到区块链。Veifier得到它们并用skv解密,然后Veifier用pkx加密 V n ∗ ⋅ g ~ i j 和 V ~ ⋅ S i j ′ V^{n^*}· { \widetilde g^{j}_{i}}和\widetilde V·{S ^j_{i}}' Vng ijV Sij ,并发送求和(sum), [ [ V n ∗ ⋅ g ~ i j ] ] p k x 和 [ [ V ~ ⋅ S i j ′ ] ] p k x [[V^{n^*}· { \widetilde g^{j}_{i}}]]_{pk_{x}}和[[\widetilde V·{S ^j_{i}}']]_{pk_{x}} [[Vng ij]]pkx[[V Sij]]pkx到区块链。
privacy-preserving byzantine-robust federated learning via blockchain system,论文笔记,论文阅读,区块链,同态加密,系统安全,分布式
该文章大概内容就是这样
其他以后有时间再补文章来源地址https://www.toymoban.com/news/detail-767014.html

到了这里,关于论文笔记:Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【图像拼接】论文精读:Content-Preserving Warps for 3D Video Stabilization(CPW)

    第一次来请先看这篇文章:【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新) Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation Adaptive As-Natural-As-Possible Image Stitching Shape-Preserving Half

    2024年02月04日
    浏览(47)
  • 【图像拼接】论文精读:Content-Preserving Image Stitching With Piecewise Rectangular Boundary Constraints

    第一次来请先看这篇文章:【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新)

    2024年02月04日
    浏览(48)
  • 【阅读笔记】Rapid, Detail-Preserving Image Downscaling

    该论文提出了一种基于卷积滤波器的算法,并确定滤波器的权值,使重要的细节保留在缩小比例的图像。更具体地说,它为更偏离局部图像邻域的像素分配更大的权重。 从信息论的角度来看,偏离中心像素的邻域的一些像素数据可能携带有价值的信息,也可能是噪声或超出奈

    2024年02月16日
    浏览(42)
  • 【LearningChain】WhenMachineLearningMeetsBlockchainADecentralizedPrivacy-preserving and SecureDesign

    When Machine Learning Meets Blockchain: A Decentralized, Privacy-preserving and Secure Design 主要贡献 1、提出基于区块链的去中心化的联邦系统 LearningChain ,考虑了线性和非线性模型(传统FL对非线性模型的隐私问题关注较少),并理论分析其安全性和隐私性; 2、提出一个拜占庭容错的聚合算法

    2024年02月06日
    浏览(24)
  • 全量知识系统 详细设计 之preserving{Truth,Structure,Lexicon}

    1、三种对象三种库 python 数据对象 none对象:  对等立方体(PQR) ole对象Y 。 pqr均为立体库(工厂级的) Java  类对象 Empty对象 :公差立方体(XYZ )   值对象C。   xyz均为线库(车间级生产线的线边库) c# 实体对象 Entity对象: 齐次八隅体(ABC) 裸Naked对象X 。 abc均为平面库

    2024年04月09日
    浏览(43)
  • 【多方安全计算】差分隐私(Differential Privacy)解读

    差分隐私(Differential privacy)最早于2008年由Dwork 提出,通过严格的数学证明,使用随机应答(Randomized Response)方法确保数据集在输出信息时受单条记录的影响始终低于某个阈值,从而使第三方无法根据输出的变化判断单条记录的更改或增删,被认为是目前基于扰动的隐私保护

    2024年02月06日
    浏览(43)
  • ​​​​​​​iOS配置隐私清单文件App Privacy Configuration

    推送到TestFlight后邮件收到警告信息如下,主要关于新的隐私政策需要补充: Hello, We noticed one or more issues with a recent submission for TestFlight review for the following app: AABBCC Version 10.10.10 Build 10 Although submission for TestFlight review was successful, you may want to correct the following issues in your next sub

    2024年04月27日
    浏览(37)
  • 微信小程序_backgroundfetch privacy fail错误

    错误场景: 1、微信小程序中包含  相册写入、图片选择等操作 2、微信小程序开发者工具测试正常、真机测试出现了一次backgroundfetch privacy fail错误,但后续不影响相册写入和图片选择功能 3、代码上传完毕体验版测试正常 发布代码后相册写入异常! 猜测原因: 1、体验版影响了正

    2024年01月19日
    浏览(42)
  • 微信小程序报错之backgroundfetch privacy fail

    问题出现:调用wx.chooseMessageFile报错(开发者工具中正常) 原因:用户隐私协议中未声明小程序使用此功能 解决 微信公众平台 == 设置 ==服务内容声明 == 更新 审核通过后就可正常使用了! 在调用接口的时候就会弹出弹窗

    2024年04月17日
    浏览(35)
  • iOS 审核 5月1日开始 Privacy manifest files 【隐私清单】

    If you upload an app to App Store Connect that uses required reason API without describing the reason in its privacy manifest file, Apple sends you an email reminding you to add the reason to the app’s privacy manifest. Starting May 1, 2024, apps that don’t describe their use of required reason API in their privacy manifest file aren’t accepted by App

    2024年04月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包