Robust Secure Aggregation with Lightweight Verification for Federated Learning

news2025/1/11 2:45:23

摘要:

可验证的安全聚合(VSA)是联邦学习(FL)中的关键过程,其中安全聚合实现局部梯度聚合,同时保留数据机密性,并且可验证性使参与者能够验证中央服务器(CS)返回的聚合结果的正确性)。大多数现有的 VSA 解决方案都采用繁琐的密码原语和技术(例如同态加密、双线性配对、交互式证明系统),这给参与者或 CS 带来了很高的通信轮复杂性和计算成本。此外,跨设备FL中由于网络连接不稳定而经常发生用户掉线的情况,需要设计特殊的机制来处理此类事件。在本文中,我们提出了一种具有轻量级 FL 验证的鲁棒安全聚合方案,利用 Shamir 的秘密共享技术设计随机掩码来保护局部梯度的机密性并实现对可能的用户丢失的恢复能力。为了支持聚合时的可验证性,我们扩展了多密钥同态 MAC 以实现梯度向量空间上的验证。我们提供安全分析来表明我们的方案可以保护数据机密性免受共谋攻击,同时确保在伪随机函数存在的假设下可验证的结果是不可伪造的。我们实施了我们的方案来验证其正确性和可行性,性能评估显示了其在效率和功能方面的优势。

1、引言

存在问题:

(局部模型参数的数据保密性)通过多次攻击,可以仅使用本地模型参数来推断和重建用户的私有本地数据[9]、[10],这使得保护本地模型参数的机密性对于隐私保护至关重要。

可验证性:执行特定计算的一方并不完全可信,因此需要向系统中的其他方证明计算结果的正确性。

• 为了实现客户端本地梯度的安全聚合并提供对用户丢失的恢复能力,我们使用 Shamir 的秘密共享来设计鲁棒的随机掩码。它是用 CS 在每次迭代开始时选择的随机训练会话令牌来计算的,使随机掩码代码成为客户端梯度的一次性填充。利用秘密共享的阈值特性,只要涉及的客户端数量等于或大于阈值,就可以保证聚合结果的正确性。

• 我们扩展了多密钥同态MAC以支持向量空间上的同态认证,并用它来构建基于随机掩码的验证机制。由于同态MAC是对称设置,因此我们引入双服务器模型,具体来说,其中一台服务器在原始FL模型中扮演中央服务器的角色,另一台称为验证服务器(VS),负责管理验证客户端聚合参数的有效性。

• 我们对我们的方案进行了严格的安全分析,并声称我们的方案可以安全地抵御共谋攻击,即无论CS 与多少个客户端共谋,剩余客户端的数据机密性仍然得到保护。在伪随机函数存在的假设下,我们证明可验证的聚合参数是不可伪造的。

• 我们使用C 编程语言和密码库实现了我们提出的VSA 方案,并验证了其正确性和可行性。我们在笔记本电脑上运行该实现并进行性能评估。最后我们将 RSA-LV 与几种现有方案在通信轮复杂度和原语方面进行比较,以显示我们方案的优势。

 A、系统模型:

我们关注的联邦学习的拓扑结构是星型拓扑结构,系统模型如图1所示,它由三类实体组成,包括验证服务器(VS)、许多数据所有者(DO)和中央服务器( CS)。各实体的功能描述如下:

• 验证服务器(VS):验证服务器在系统中扮演两个角色。首先它扮演可信第三方的角色,负责初始化整个系统,为其他实体生成公共参数和公私钥对。通过安全通道发布公共参数并分发密钥后,它会等待数据所有者的验证请求。其次,它帮助数据所有者验证中央服务器返回结果的正确性。

• 数据所有者(DO):每个数据所有者在本地数据集上训练机器学习模型,然后在联邦学习的每次迭代期间根据需要将屏蔽的结果梯度和身份验证标签上传到中央服务器。接收到中央服务器发送的聚合梯度后,借助VS验证聚合结果的正确性,如果检查通过,则进入下一次迭代,否则中止并退出。下文中我们还将交替使用术语“用户”、“参与者”而不是“数据所有者”。

• 中央服务器(CS):中央服务器负责协调不同DO 的单独机器学习。具体来说,它根据其选择从它们那里收集本地训练结果并计算聚合梯度。此外,它还计算一个标签来验证其计算的正确性。当一些特殊事件发生时,包括用户丢失和延迟上传,CS需要在DO之间进行调解,以使聚合结果正确,同时又不侵犯任何单个DO的隐私。

B. 对手模型和设计目标

设所有参与者和服务器都是诚实但好奇的,即他们诚实地根据协议执行计算和通信,但试图恢复或推断其他参与者的一些私人信息。此外,服务器被认为可能返回错误的聚合梯度并与多个参与者串通,试图恢复其他人的私有梯度。具体来说,对手分为被动攻击和主动攻击:

• 被动攻击:虽然所有参与者和服务器都诚实地按照要求行事,没有偏离协议,但他们可能会秘密复制和保存一些中间计算结果和通信数据,从中寻求有用的信息,同时保持通信完整。

主动攻击:除了上述被动攻击之外,CS 可能会偏离协议,没有正确计算聚合梯度,并试图伪造一个错误的梯度并说服参与者其商业利益的正确性,例如,为了节省计算资源。最后,CS可能与多个参与者串通获取秘密参数,试图恢复其他参与者的局部梯度,或者通过伪造错误结果的有效证明来欺骗用户。

根据上述攻击,考虑联邦学习实际部署的性能和鲁棒性要求,我们的设计目标包括:

机密性:由于本地训练数据很可能被对手通过上传的本地梯度恢复,因此它们不能直接与原始值一起传输,即所有参与者的本地梯度的机密性应该受到保护。

可验证性:正如在对手模型中所讨论的,CS可能偏离协议,导致返回的聚合梯度不是正确计算的,需要可验证性,这使得参与者能够验证CS聚合梯度的正确性并检测其不诚实行为。

鲁棒性:参与者完成本地模型训练后,部分参与者可能会因上传本地梯度之前网络连接不可靠而退出。我们的稳健性目标是确保剩余功能良好的参与者的局部梯度的聚合不会受到合理数量的参与者退出的影响。

抗合谋性:与我们的对手模型一样,假设CS有可能与多个参与者合谋并获得一些秘密参数,利用这些秘密参数,CS可以成功伪造错误结果的有效证据。因此,抗共谋目标表明,即使 CS 和 DO 之间发生共谋,健全性仍然不会被破坏。

效率:不同实体的计算成本和实体之间的通信开销应尽可能低。需要注意的是,在跨设备环境中,参与者可能配备的移动设备的计算能力和数据传输带宽有限,因此我们主要关注参与者侧这两方面的效率。

评估:

在本节中,我们从上传、聚合和验证的性能方面对我们的方案进行综合性能评估,分别反映数据所有者、中心服务器和验证服务器的成本。此外,我们还将我们的方案与几个现有的相关方案进行了比较,包括[19]、[22]、[21]、[20]和[23]。为了更好地捕捉我们的方案在实际应用中的效率,我们实现了我们的方案并给出了一些运行时间测试数据,同时实现也验证了我们方案的正确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】程序替换

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️小林爱敲代码       🛰️博客专栏:✈️Linux之路       🛰️社区 :✈️ 进步学堂       &a…

51单片机地震监测语音报警提示系统MPU6050TTS报警

实践制作DIY- GC0153--- 地震监测语音报警提示系统 基于51单片机设计------- 地震监测语音报警提示系统 二、功能介绍: STC89C52单片机TTS语音播报模块MPU-6050角度传感器LED灯显示一个按键 1.获取MPU-6050角度数据,然后根据角度数据计算出0~10级的地震…

B站w_rid,qv_id加密分析

本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除! 网站地址:aHR0cHM6Ly9zZWFyY2guYmlsaWJpbGkuY29tL2FsbD92dD03OTExMjUwNSZrZXl3b3JkPSVFNyU4OCVBQyVFOCU5OSVBQg 关键字搜…

Flutter 布局构建

文章目录 一、布局类组件简介二、理解 Flutter 布局约束三、线性布局(Row和Column)1. 主轴和纵轴2. Row3. Column4. 特殊情况 四、弹性布局(Flex 和 Expanded)1. Flex2. Expanded 五、流式布局(Wrap 和 Flow&#xff0…

记录一次Ubuntu系统安装tenforflow

电脑已有版本 Ubuntu 20.04GCC 9.4.0CUDA 11.3 需要指定版本的python库 tensorflow 2.6.0numpy 1.19.2matplotlib 3.4.0keras 2.6.0protobuf 3.19.6 我的环境

LeetCode刷题 | 583. 两个字符串的删除操作、72. 编辑距离

583. 两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1: 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 "…

Flutter Bloc组件buildWhen的妙用

在Flutter中当状态发生改变的时候,Widget会重新build刷新页面。但是当状态发生改变的时候后,我们指向让有关联的Widget重绘,与之无关的Widget保持不变,比如对于登录页面,有用户名和密码两个组件:如下图。 构建代码如下: 当我们输入用户名的时候,仅仅希望_UserNameInp…

C语言王国探险记之转义字符+结构语句

王国探险记系列 文章目录(4) 一,什么是转义字符 1.1转义字符的重要性? 二,了解一下转义字符有那些 三,精讲转义字符 3.1转义字符\n 3.2转义字符\? 3.3转义字符 \‘和\" 3.3转义字符 \\ 3.4转义字…

【云原生丶Kubernetes】Kubernetes初体验

人生若只如初见,何事秋风悲画扇。 前言 Kubernetes 是目前最流行的容器编排工具之一,由Google开发并维护。它提供了完整的容器编排解决方案,包括自动化部署、资源管理和调度、服务发现和负载均衡等功能。 然而,对于初学者来说&a…

Android Studio实现内容丰富的安卓民宿酒店预订平台

如需源码可以添加q-------3290510686,也有演示视频演示具体功能,源码不免费,尊重创作,尊重劳动。 项目编号106 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看民宿 3.民…

缔造网络世界的奇迹:OSI参考模型的魔力之旅

文章目录 一 OSI参考模型1.1 OSI参考模型简介1.2 OSI参考模型的下特性和优点1.3 OSI参考模型的层次结构1.4 OSI参考模型层次间的关系以及数据封装 二 OSI参考模型的层次结构详解2.1 物理层2.2 数据链路层2.3 网络层2.3.1 网络层地址2.3.2 路由协议与可路由协议2.3.3 面向连接和…

激光SLAM(二):点云拟合和平面参数化

点云拟合和平面参数 一、平面拟合:特征值法和SVD法二、平面参数化1)Hesse形式2)球坐标3)最近点4) 单位四元数 三、直线拟合 一、平面拟合:特征值法和SVD法 平面方程如下,n是法向量,d是截距 当…

python协程—asyncio模块

目录 什么是协程 协程的特点 为什么使用协程 asyncio协程模块 多任务的协程 总结 什么是协程 协程(Coroutine)是一种并发编程的技术,它允许程序在执行过程中暂停和恢复。协程可以看作是一种特殊的函数,它可以暂停执行&#…

快速安装Kibana,head插件以及IK分词器

安装Kibana Kibana是基于node.js的,安装这个之前要先安装node.js 1 压缩包下载地址: Kibana 6.2.4 | Elastic 2.将下载的Kibana压缩包解压到任意一个没有中文没有空格的目录下,进入Kibana安装目录下的config目录,修改kibana.yml文件,添加Elasticsearch服…

钳形表校准装置 “定点输出”方式

装置具有“定点输出”方式,通过点击触摸屏,直接设置所需输出的量值,装置将全自动切换至最佳量程输出,使得校准数字式仪表变得非常方便。特别是在设定交流电压/电流输出时,直接同时输入幅值和频率即可,使用十…

【计算机视觉】对比学习综述(自己的一些理解)

对比loss 对比学习的 loss(InfoNCE)即以最 大化互信息为目标推导而来。其核心是通过计算样本表示间的距离,拉近正样本, 拉远负样本,因而训练得到的模型能够区分正负例。 具体做法为:对一个 batch 输入的图…

Tensorflow入门(1)——深度学习框架Tesnsflow入门 环境配置 认识Tensorflow

目录 一、环境配置1.Anaconda以及Tensorflow的安装2.CONDA环境安装3.测试是否成功 二、认识TensorFlow1.图 Graph()2.会话 Session()3.张量 Tensor(1)张量的形状(2)数据类型张量的动态形状与静态形状 4.张量操作(1&…

No9.精选前端面试题,享受每天的挑战和学习

文章目录 从recat源码角度说明下setState流程同源策略限制什么行为computed和watch的区别http和https的区别vue中的route和router的异同点,区别 从recat源码角度说明下setState流程 在 React 的源码中,setState 方法是用于更新组件的状态(st…

java中预览pdf或者图片

GetMapping("preview1")ApiOperation(value "根据文件名实现预览功能")public void previewFile1( HttpServletResponse response) throws IOException {String filePath"C:\\Users\\Harbor Lau\\Desktop\\哈哈\\""11月燃油费(公开).pdf&q…

照片如何恢复?试试这3个简单操作!

我的电脑里保存了很多照片,都是对我来说意义重大的,但最近电脑内存不足了,在清理内存时,我不小心把照片也清空了,这些照片应该如何恢复呢?谁有什么好的方法恢复电脑里的照片吗? 可能很多人都会选…