“隐语”是开源的可信隐私计算框架,内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制。

开源项目:
https://github.com/secretflow
https://gitee.com/secretflow

图片

11月25日,「隐语开源社区 Meetup·西安站」顺利举办,本文为大家带来的是蚂蚁集团隐私计算技术专家、隐语开源 Easy PSI Maintainer 冯骏 在本次活动中的精彩演讲回顾——《隐语 Easy PSI 发布》。
👉 戳我查看现场视频:直播视频
本次活动更多分享实录可点击这里查看

各位隐语社区的伙伴,大家好!今天给大家分享“隐语 Easy PSI 产品发布”。

小而美的 PSI

PSI 是什么?简单来说就是两方做一个安全的交集计算,不会暴露交集之外的信息。它还会存在一些算法变形,例如处理数据不对称性和满足不同安全假设模型下的要求。隐语一直致力于推广隐私计算技术的发展,近期也实现了一个 ECDH PSI 可视化教程,感兴趣的小伙伴欢迎点击链接查看。

image.png

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 产品则已经提供下载,后续平台代码也将开源,欢迎访问隐语官网下载体验。

今天的分享就到这里,谢谢大家!欢迎大家试用 Easy PSI!在使用过程有任何反馈欢迎联系 公众号:隐语小剧场 的「隐语小助手」。

🌟 关注「隐语Secretflow」B 站 , 获取更多演讲回顾及相关资讯。

🏠 隐语社区:
https://github.com/secretflow
https://gitee.com/secretflow
https://www.secretflow.org.cn(官网)

👇欢迎关注:
公众号:隐语的小剧场
B站:隐语secretflow
邮箱:secretflow-contact@service.alipay.com


隐语SecretFlow
17 声望2 粉丝