“隐语”是开源的可信隐私计算框架,内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制。
开源项目:
https://github.com/secretflow
https://gitee.com/secretflow
11月25日,「隐语开源社区 Meetup·西安站」顺利举办,本文为大家带来的是蚂蚁集团隐私计算技术专家、隐语开源 Easy PSI Maintainer 冯骏 在本次活动中的精彩演讲回顾——《隐语 Easy PSI 发布》。
👉 戳我查看现场视频:直播视频
本次活动更多分享实录可点击这里查看
各位隐语社区的伙伴,大家好!今天给大家分享“隐语 Easy PSI 产品发布”。
小而美的 PSI
PSI 是什么?简单来说就是两方做一个安全的交集计算,不会暴露交集之外的信息。它还会存在一些算法变形,例如处理数据不对称性和满足不同安全假设模型下的要求。隐语一直致力于推广隐私计算技术的发展,近期也实现了一个 ECDH PSI 可视化教程,感兴趣的小伙伴欢迎点击链接查看。
PSI 能做什么?PSI 本身是隐私计算的一个关键步骤,因为大部分情况下隐私计算的第一步就是要通过 PSI 进行样本对齐。
PSI 本身也独立承担着广泛的应用,在日常生活中发挥重要作用。例如,一些应用程序提供检测密码是否泄露的服务,这本质上就需要利用 PSI 技术。另外,PSI 还可以用于广告效果检验,对于广告商来说,他们希望知道广告投放的效果如何,一种简单的方法就是将阅读广告的名单与最终购买的名单通过 PSI 进行匹配。
在实际场景中,PSI 协议及其参数的选择取决于数据量的大小、对数据平衡性的要求、设备的性能和网络带宽。比如,我们在实际业务中经常会遇到数据量巨大、网络条件不理想、内存 CPU 资源不足等各种情形,针对这些问题,则需要找到一个简单的 PSI 方案以满足业务需求。隐语实现的 Easy PSI 是上述问题的解决方案之一。
简单、可靠&高性能的 Easy PSI
隐语在 PSI 领域深耕多年,相关算法逻辑此前位于 SPU Repo 的 PSI/PIR folder 中。因 PSI 经常作为一个独立的隐私计算工具来使用、其应用非常广泛且社区中单度使用 PSI 的需求较大,故将 PSI 实现部分独立作为单独的 Repo —— SecretFlow PSI Libaray。SecretFlow PSI Libaray 支持通过一个配置文件执行黑屏 PSI,使用时推荐通过官方的 Docker 镜像来执行 PSI 操作。
通过黑屏操作进行 PSI 的实现仍存在一些门槛,为了进一步降低其操作难度,基于 SecretFlow PSI Libaray 和 Kusica 调度框架,隐语团队实现了一个 PSI 轻量级白屏产品——Easy PSI,可以实现端到端的安全连接,快速进行安装和部署,可以轻松执行 SecretFlow PSI Libaray 中的大部分功能。
除此之外,我们非常注重产品的可靠性。我们进行了严格的测试,以确保产品是稳定可靠的。我们的 PSI 库也经历了内外部大量的的业务检验。隐语在内外部有很多基于 PSI 技术的合作案例,欢迎大家访问我们的官网了解详情。
在高性能方面,隐语 YACL 库为其提供了高性能的网络通信层和密码学原语,我们基于理论计算和实际经验选择了合适的默认值参数,最后在协议方面实现了目前开源领域最快的 RR22 协议。
RR22 协议的具体介绍也可以看张磊 《RR22 Blazing Fast PSI 实现介绍》的分享。
Easy PSI 使用流程和架构介绍
下面跟大家简单介绍一下 Easy PSI 的架构以及使用流程。
Easy PSI 使用流程
Easy PSI 的使用仅需要五个步骤。
- 第一步:【安装部署】节点下载、安装和登录。Easy PSI 已开放下载,可点击下方链接安装部署,安装过程只需 5 分钟左右。目前操作系统支持 MacOS 、CentOS7、CentOS8,推荐资源是 8C16G。
下载地址:隐语 SecretFlow
- 第二步:【节点授权】节点间建立双向连接和数据准备。可以点击本方节点信息看到公钥,并将公钥发送给需要建立连接的对方;并且将本方数据放置在本方数据根节点。双方各自填写对方的地址和公钥,完成这一操作后就可以建立双向节点连接。
- 第三步:【任务发起】在页面上,可以看到整个任务发起的界面,包括求交 ID 等内容。在该页面上,可以填写接收方和输出文件名,选择协议类型和其他高级配置。任务发起后,需要等待另一方同意后才可进入下一步操作。在 Easy PSI 中,支持断点续传,当出现网络抖动等情况下,可以恢复到之前的求交进度。
- 第四步:【任务执行】任务发起方发起任务,在协作方确认无误并点击同意后,发起方会收到通知。
- 第五步:【结果下载】等待任务完成并下载结果。任务完成后,可以在页面上会收到任务成功的提示,即可下载结果。
Easy PSI 架构介绍
下图是 Easy PSI 的架构图。PSI 的运行逻辑单元是基于 Secretflow PSI Libaray 的 Docker image。和 SecetPad 一样,Easy PSI 使用 Kuscia 作为调度框架,Kuscia 会根据用户指令运行逻辑单元,双方的 PSI 逻辑单元之间的沟通是通过 Kuscia 建立的 proxy 来实现。Easy PSI 平台会和各自的 Kuscia 节点进行沟通,传递用户指令、节点状态和任务状态。
未来规划
未来,Easy PSI 还将继续迭代,包括:
- 开放 UnbalancedPSI 和多方 PSI 功能。
- 研发多节点执行环境,支持横向扩展,用户可以同时执行更多任务。
- 研发分布式 PSI,实现百亿规模 PSI。
- 新增的 PSI 功能将会逐渐同步至 SecretPad。
欢迎对 Easy PSI 感兴趣的大家,通过产品文档了解 Easy PSI 的完整使用流程,目前 SececFlow PSI Libaray 已经开源了,Easy PSI 产品则已经提供下载,后续平台代码也将开源,欢迎访问隐语官网下载体验。
- 产品文档:隐语 SecretFlow
- 下载链接:https://www.secretflow.org.cn/deployment
代码仓库:
- SecetFlow PSI Libaray:https://github.com/secretflow/psi
- Easy PSI 平台:即将开源,敬请期待
今天的分享就到这里,谢谢大家!欢迎大家试用 Easy PSI!在使用过程有任何反馈欢迎联系 公众号:隐语小剧场 的「隐语小助手」。
🌟 关注「隐语Secretflow」B 站 , 获取更多演讲回顾及相关资讯。
🏠 隐语社区:
https://github.com/secretflow
https://gitee.com/secretflow
https://www.secretflow.org.cn(官网)
👇欢迎关注:
公众号:隐语的小剧场
B站:隐语secretflow
邮箱:secretflow-contact@service.alipay.com
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。