-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
Description
此 ISSUE 为 [隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)Phase 6 任务 ISSUE,欢迎社区开发者参与共建~
- 认领前,辛苦确认是否完成[报名](https://studio.secretflow.com/activity/rkub4eryy7g3vmn/detail
- 更多任务,可查看 「OSCP Phase6 Season of Dev」Project
This ISSUE is one of the tasks of the [SecretFlow Open Source Contribution Plan (referred to as SF OSCP) Phase 6. Welcome to join us in building it together!
- Before claiming a task, please make sure you have signed up.
- For more tasks, you can check the "OSCP Phase6 Season of Dev" Project.
设计思路
by NDSzjq
本方案[threshold_agg]旨在实现可容错、抗共谋的联邦学习安全聚合,主要设计步骤如下:
- 可信中心生成一对Paillier主公私钥,然后基于Shamir门限秘密分享将公开参数N拆成K份,其中K为总参与方个数。可信中心基于拆分的秘密分片生成并分发各参与方的加密密钥,发送主私钥给聚合方。密钥生成后,可信中心可保持离线。
- 各参与方通过改造后的Paillier加密算法,使用自己的加密密钥加密本地数据后上传。
- 聚合方聚合仍保持在线(提交了密文数据)参与方的数据,并通过主私钥解密。
- 当参与聚合的在线参与方个数大于秘密分享门限时,秘密值N被恢复,聚合后的密文为标准的Paillier密文,可以被主私钥解密。同时,各参与方使用不同的密钥加密,不存在共谋推断的问题。
备注:由于本方案基于Paillier加密设计,其仅支持对整数数据的聚合,对浮点数的处理可通过放缩等前置步骤实现。此外,本方案可通过结合SIMD技术提升聚合效率。
任务介绍
- 任务名称:【特别任务】联邦学习中的安全聚合方案设计以及实现
- 技术方向:Federated Learning
- 任务难度:挑战🌟🌟🌟
- 说明:本任务不参与🌟累计哈~
详细要求
安全聚合是解决联邦学习中梯度泄露问题的有效手段。然而,现有安全聚合方案仍可能存在“参与方掉线不容忍”、“聚合行为不可控”、“共谋推断不可抗”和“系统效能不实际”等问题。希望同学们能够在这个开放问题下,设计出安全,可行,巧妙的算法来解决联邦学习聚合中遇到的安全问题,效率问题,掉线问题等等。解决方法不限,可以使用 TEE,同态,多方安全计算等各种技术作为辅助。
- 安全性: 尽量少 reveal,设计出的聚合算法没有算法层面的安全问题
- 功能性:可以将实现落到 SecretFlow 的 aggregator 中,可以无缝替换其他的聚合方法。
- 收敛性:聚合结果需要保证正确性
- 代码规范:Python 代码需要使用 black+isort 进行格式化(流水线包含代码规范检查卡点)
- 提交要求:关联该 issue 并提交代码,代码提交细节请与蚂蚁导师进行沟通!!
操作说明
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status