查看原文
其他

开源工作组 | 项目进展(2023.04-2023.06)

隐私计算联盟 CAICT数据要素 2024-01-09


隐私计算联盟开源工作组于2022年9月底成立,工作组定期发布成员项目的阶段性的进展或动态,包括项目当前状态,软件功能升级和社区运营动态等,帮助大家了解各项目的最新进展。


隐语 SecretFlow:可信隐私计算技术框架

隐私计算开源框架“隐语(SecretFlow)”,全面集成众多隐私计算技术,以安全、开放为核心设计理念,可从技术层面解决数据流通中的数据安全和隐私保护问题。通过良好的分层设计及开箱即用的隐私保护数据分析及机器学习等功能,降低隐私计算开发者和使用者的技术门槛,助力隐私计算更广泛地应用到AI、数据分析等场景中。


Github地址:

https://github.com/secretflow/secretflow

项目状态

Star 1535, fork 291, watch 44


新版升级

一、5月4日发布v0.8.2版本:

(https://github.com/secretflow/secretflow/releases/tag/v0.8.2b1)

1.应用层,针对机器学习模块,新增优化器降低调参成本,优化woe分箱性能,Xgboost增加了预剪枝功能和模型存储功能;

2.设备层,SPU通过优化公网并发性能提升2-4倍,首次发布TEEU;

3.基建层,新增硬件加速和编译等内容。


二、7月5日发布v1.0版本:

(https://github.com/secretflow/secretflow/releases/tag/v1.0.0b0)

1.产品层:平滑学习曲线,提升易用性带来全新的 MVP(Minimum Viable Product)部署体验包:一款面向隐私计算初学用户的轻量级功能体验工具,内置节点、数据资源等已相互授权,安装即可体验数据处理、数据分析、模型开发等主要功能。

2.资源层:解决跨机构计算任务中的多方面难题正式开源 Kuscia 隐私计算任务编排框架:Kuscia 可以解决业务在使用隐语时端口合并、API 接入等集成问题,支持不同模式和第三方系统互通。(https://github.com/secretflow/kuscia)

3.算法层:提高算法性能,加大对其他协议的兼容性。对Xgboost算法进行性能优化SCQL方面支持更多安全协议与更多数据源,对Group by等操作进行优化;联邦学习方面,新增用户自定义 Databuilder 能力,以及拆分学习相关功能

4.设备层:完善SPU和HEU功能。SPU中完善PIR接口,增加pir_memory_query 接口,优化PIR序列化处理能力;HEU方面新增EC ElGamal 算法


文档管理

1. 隐语4月发布了隐语纵向联邦SecureBoost Benchmark白皮书,开源了基于纵向联邦算法SecureBoost算法,并进行了高性能实现。与秘密分享方案的SS-XGB相比,SecureBoost性能具有更好的表现,但在安全方面低于SS-XGB。




2. 6月,隐语官网迎来了2.0全新大改版。为了方便用户快速找到所需的文档,我们新增了“关键词”检索功能。前往官网,立即体验https://www.secretflow.org.cn~还有惊喜彩蛋等你来探索


社区活动

「隐语开源社区」Meetup 深圳站,于 5 月 27 日成功举办!现场邀请到了来自深圳国家金融科技测评中心、IDEA研究院、厦门大学信息学院及蚂蚁集团的六位嘉宾,就隐私计算测评、开源、科研、产业等视角,探讨隐私计算技术发展与应用。


社区生态与治理

1、4月,成方金科新技术实验室与隐语团队合作,构建了“基于国密的分布式门限代理重加密算法TPRE”,为用户提供了一种安全、高效、自主可控的数据共享和授权管理方案,该算法具备数据动态授权和访问控制,适应于区块链中的分布式计算和数据安全共享场景以及可使用国密算法SM2 、SM3和SM4对国际密码算法进行替换等优势,该算法已贡献至yacl中,地址如下:

https://github.com/secretflow/yacl/tree/main/yacl/crypto/primitives/tpre


2、隐语开源社区于5月在GitHub创建了Paper推荐项目awesome-PETs(PETs即Privacy-Enhancing Technologies ,隐私增强技术),精选业内优秀论文,按技术类型进行整理分类,旨在为隐私计算领域的学习研究者提供一个高质量的学习交流社区。awesome-pets包含:安全多方计算(MPC)、零知识证明(ZKP)、联邦学习(FL)、差分隐私(DP)、可信执行环境(TEE)、隐私求交(PSI)、机器学习系统的攻击和防御、多媒体隐私与安全等系列主题论文!

https://github.com/secretflow/secretflow/blob/main/docs/awesome-pets/awesome-pets.md



3、隐语社区于6月发布第一期隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称SF OSCP),包括任务开发、文档翻译、文档修复等多个社区任务,以提高隐语框架的易用性以及功能丰富度。

https://github.com/orgs/secretflow/projects/1




Apache Teaclave:基于硬件安全能力的通用安全计算平台



Apache Teaclave是由百度发起的一个基于硬件安全能力的通用安全计算平台。秉持为隐私数据计算赋能,让安全计算更简单的理念,Teaclave 基于硬件安全能力(Intel SGX),确保了敏感数据在可信域外和离岸场景下安全可控的流通和处理,无需担心隐私数据泄露和滥用。Teaclave 还包含 Teaclave SGX SDK 、 Teaclave TrustZone SDK和Teaclave Java TEE SDK子项目,为安全、高效开发可信应用提供 Rust 开发环境。


Github地址:

https://github.com/apache/incubator-teaclave/

项目状态

Star 691, fork 152, watch 55

进展概述

一、版本更新方面:发布0.5.0,0.5.1和0.6.0三个版本1. 0.5.0版本升级Teaclave SGX SDK2. 0.5.1版本新增LibOS节点执行能力3. 0.6.0版本进行服务异步化改造



二、在活动方面于5月底2023全球开源技术峰会(Global Open-source Technology Conference,GOTC)上发表演讲介绍Teaclave子项目Java TEE SDK。


新版升级

一、4月4日发布0.5.0版本:

https://github.com/apache/incubator-teaclave/releases/tag/v0.5.0


进行工具链升级,增强函数功能,支持任务日志并优化了持续集成。1. 底层 Rust SGX SDK 升级至 2.0.0经过修改以在 SGX 内运行的 Rust 库的数量从数百个减少到十个。Rust代码backtrace比旧的CPP版本更完整,有利于调试;

2. 引入新结构FunctionArgument。函数参数的类型更加明确,并且支持默认值和覆盖。还添加了函数的使用计数和限制。函数使用统计对于FaaS平台来说至关重要;3. 支持任务日志持久化。用户可以根据需要选择保存日志。最后,对CI进行了改进:测试并行运行并升级运行环境。

二、5月31日发布0.5.1版本:

https://github.com/apache/incubator-teaclave/releases/tag/v0.5.1


1. 新增LibOS节点执行能力,扩展Teaclave平台执行能力,可以执行python,c++等程序;2. 完善Apache合规,使用DISLCAIMER替换DISCLAIMER-WIP文件。

三、6月26日发布0.6.0版本:

https://github.com/apache/incubator-teaclave/releases/tag/v0.6.0


1. 引入了 Tonic,服务异步化改造,IO访问更高效;2. 增加日志审计能力,补齐安全合规能力;3. 前端服务可以与任何 gPRC 兼容的客户端进行通信;4. 启用了平台审核功能。


文档管理

1. 简化README,将对用户使用益处较小的部分移除。丰富了快速上手文档的内容,更方便用户理解Teaclave的平台能力,展示机密计算强大的应用场景。(https://github.com/apache/incubator-teaclave#readme)2. 上传API文档到官网(https://teaclave.apache.org/),以修复失效的链接。



社区活动

在5月底2023全球开源技术峰会(Global Open-source Technology Conference,GOTC)上设立展台,发表演讲“Teaclave Java:为Java应用打造安全金钟罩”,通过Java静态编译技术自动将Java应用划分为安全敏感和非敏感两部分,把安全敏感部分静态编译为native库,然后部署在TEE中与TEE之外的非敏感部分交互运行,由此获得由硬件提供的安全保障。这种技术具有对既有Java程序改造少、自动化程度高、TCB小的特点。




Mpc4j:面向学术的Java安全多方计算协议库


Mpc4j(Multi-Party Computation for Java)是主要用Java实现的安全多方计算(Multi-Party Computation,MPC)和差分隐私(Differential Privacy,DP)协议库。mpc4j期望提供一个接口统一的MPC/DP学术库,帮助研究人员研究并开发MPC/DP方案。mpc4j支持aarch64的CPU(如MacBook M1)、支持商用密码学算法。


Github地址:

https://github.com/alibaba-edu/mpc4j

项目状态

Star 135, fork 12, watch 23

进展概述

- 2023年05月04日正式发布1.0.7版本。2023年07月05日发布1.0.8版本。- 来自纽约大学、谷歌、哥伦比亚大学的学者Alexander Bienstock、Sarvar Patel、Joon Young Seo、Kevin Yeo的论文《Near-Optimal Oblivious Key-Value Stores for Efficient PSI, PSU and Volume-Hiding Multi-Maps》中稿USENIX Security 2023。论文提到,其使用mpc4j开源库实现了论文的部分方案,并完成了实验测试。- 论文《Efficient Private Multiset ID Protocols》中稿CCF推荐网络和信息安全领域C类会议ICICS 2023。相关实现代码已经在mpc4j下开源。


新版升级

一、1.0.7版本除多种新协议的实现外,重要进展如下:- 增加新模块mpc4j-comon-circuit,此模块期望设计统一的接口支持MPC下的电路运算。- 增加新模块mpc4j-crypto-matrix,此模块期望设计统一的接口支持密码学下的向量、矩阵运算。- 增加新模块mpc4j-s2pc-opf,OPF的全称为Oblivious Primitive Function,即两方安全计算下不经意协议底层原语。将多种底层协议移动到此模块下,使其他模块可以复用此模块下的原语。- 在模块mpc4j-common-tool下增加有限域运算包,支持包括Zl(Z mod 2^l)、Zl64(Z mod 2^l,l < 64)、Zn(Z mod n)、Zn64(Z mod n,n < 64)、Zp(Z mod p,p为质数)、Zp64(Z mod p,p为质数,且p<64)的有限环、有限域运算。- 将微软推出的高性能椭圆曲线运算库FourQ引入mpc4j。通过修改FourQ的makefile文件和源代码,使FourQ支持x86_64平台和aarch64平台。


二、1.0.8版本除多种新协议的实现外,重要进展如下:- 实现可信处理方模型(Trust-Dealer Model),即支持辅助方(aider)为通用MPC协议分发布尔三元组和乘法三元组。- 在模块mpc4j-crypto-matrix下增加Zp域和Zp64域矩阵运算。- 在模块mpc4j-s2pc-pir下实现更多的隐匿信息检索(Private Information Retrieval,PIR)协议,包括USENIX Security 2023的SimplePIR/DoublePIR、USENIX Security 2022的constant-weight PIR、USENIX Security 2021的MulPIR、VLDB 2022的Pantheon PIR。


社区活动与生态

1. 来自纽约大学、谷歌、哥伦比亚大学的学者Alexander Bienstock、Sarvar Patel、Joon Young Seo、Kevin Yeo的论文《Near-Optimal Oblivious Key-Value Stores for Efficient PSI, PSU and Volume-Hiding Multi-Maps》中稿USENIX Security 2023。论文提到,其使用mpc4j开源库实现了论文的部分方案,并完成了实验测试。


2. 论文《Efficient Private Multiset ID Protocols》中稿CCF推荐网络和信息安全领域C类会议ICICS 2023。相关实现代码已经在mpc4j下开源。论文链接:https://eprint.iacr.org/2023/986.pdf


该论文主要聚焦于两方数据库联合分析场景,设计了新的Private ID(PID)协议来支持更通用的隐私保护Join操作。PID协议是一种隐私保护协议,使两方能够在不泄露双方集合交集或并集的基础上,联合计算出一组随机的通用标识符 (Universal Identifiers,UID)。该组UID对应于集合并集中的记录,每一方知道自身数据与UID的对应关系,这使得双方可基于此UID进行数据对齐和后续进一步的联合计算。PID广泛用于联合数据分析中,例如数据表之间的Inner Join和Outer Join。然而,现有的PID方案只能支持双方ID都是唯一(不重复)的情况,对于更常见和更通用的主键(唯一值)与外键(包含重复值)Join的情况并不支持,这阻碍了PID在联合分析领域的进一步使用。


针对这一问题,论文中首次定义了Private Multiset ID (PMID)概念,并分别构造了基于稀松不经意伪随机函数(Sloppy Oblivious Pseudo-Random Function,s-OPRF)和基于多点不经意伪随机函数(multi-point OPRF)的高效PMID方案,来支持更通用的联合Join场景。


这两个方案中,前者具有更快的运行时间,后者具有更低的通信开销,用户可根据资源情况灵活选择。此外,为了构建高效的PMID协议,论文提出了称为确定性值可编程PRF(dv-PPRF)和确定性值不经意可编程PRF(dv-OPPRF)的新的密码学模块,并提出通过基于OPRF和PSU扩展PID即可得到PMID协议,给出了构造PMID的通用方式。最后,论文对提出的PMID协议进行了完整实现,并和最先进的PID协议进行性能对比,验证了方案的高效性。



往期推荐01

2023隐私计算大会暨首届“星河杯”隐私计算大赛颁奖即将启动

02

可信数据流通技术研讨会在京举办

03

隐私计算应用合规如何破局

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存