开源工作组 | 项目进展(2023.04-2023.06)
隐私计算联盟开源工作组于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。社区活动
社区生态与治理
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)、支持商用密码学算法。
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平台。社区活动与生态
往期推荐01
2023隐私计算大会暨首届“星河杯”隐私计算大赛颁奖即将启动
0203