让安全计算更简单:Apache Teaclave (incubating) 0.1.0 正式发布

导读:Apache Teaclave (incubating) 作为全球首个开源通用安全计算平台,原由百度主导研发(原名MesaTEE),于2019年7月开源并进入 Apache 软件基金会孵化器。此后有国内外多家公司和个人加入项目讨论研发,使用开源代码,并且参与开源社区建设。

2020 年 10 月 21 日,Teaclave 和 Apache 孵化器社区投票正式通过 0.1.0 的版本发布。0.1.0 版是 Teaclave 社区发展重要的里程碑,它是暨Teaclave 进入 Apache 孵化器后发布的第一个正式版本,这意味着 Teaclave 通向 Apache 顶级项目之路走上了正轨。

Teaclave是一个安全计算平台,为隐私数据计算赋能。基于硬件安全能力,Teaclave 确保敏感数据在可信域外和离岸场景下安全可控的流通和处理,无需担心隐私数据泄露和滥用。Teaclave同时支持多方参与的联合计算,打破企业和组织中的数据孤岛。

简单来说,Teaclave 有以下四个亮点:

  • 安全性:Teaclave 使用多重安全技术保护隐私数据的计算。我们使用 Intel SGX,提供基于硬件隔离、内存加密、远程证实等安全技术保护数据隐私计算任务。不仅如此, 为了避免内存安全漏洞带来的安全风险,Teaclave 还使用内存安全编程语言 Rust 编写。

  • 功能性:Teaclave 平台提供了更加便利的函数即服务(function-as-a-service)接口,大大的降低了使用门槛。平台中也实现了众多内置函数,例如机器学习算法,多方联合求交,加解密计算等等常用功能。更重要的是,开发者还可以使用 Python 自由编写函 数来操作隐私数据,提交至 Teaclave 平台执行。与传统 FaaS 框架不同的是,Teaclave 提供了灵活的多方参与计算接口,大大简化多方安全计算的流程。

  • 易用性:Teaclave 提供便利的部署方式,支持在本地和云上以容器的方式进行部署。项目中还提供了完善的接口,客户端 SDK 以及命令行工具帮助开发者使用平台的功能。

  • 灵活性:Teaclave 设计了灵活的组件和服务框架,其他项目仅需少量修改就可以使 用 Teaclave 中的各种组件。例如,可以在项目中使用 Teaclave 远程证实库作为第三方依赖库,或者直接单独部署使用 Teaclave 中的数据库服务等。

在 Teaclave 进入 Apache 孵化器后,我们启动了对项目的重构计划,同时对整个项目代码和交互的梳理,0.1.0 的发布是项目从诞生到成长的第一步。

在以下方面做了代码重构和功能特性完善:

  • 提供了更完善的函数和数据注册执行

  • 重新设计的函数的开发流程

  • 支持兼容 protobuf 的 RPC 定义接口

  • 支持分布式执行服务

  • 支持自定义执行器

  • 提供更佳完善的文档

  • 重新设计了错误处理机制

  • 完善测试框架和测试用

  • 实现了更多的内置函数

  • 支持了更加灵活的远程证实方式(DCAP)

  • 重新设计 RPC 方式等等

更多更详细的修改可以看版本发布文档 [1]。这次发布一共修改了 876 个源文件,新增了 78,237 行代码,删除了 54,846 行代码,并且在 GitHub issue 上解决了来自社区的 102 个问题。

Teaclave 0.1.0 版本可以在官网下载页面 [2] 找到(注意验证 PGP 签名和 hash)。

在新版本中提供了非常全面和详细的文档,如果是第一次了解和接触 Teaclave,这里有一个简单易上手的新手入门文档 [3],你可以在这个文档中 学习如何在 Teaclave 中编译和运行一个简单的函数。

当然,如果你想深入的了解 Teaclave 的内部设计和实现,还有更多设计文档、API 文档、代码库文档等你发现。

感谢

感谢一直以来关注、使用、提问、为项目贡献代码的人们,Teaclave 项目的发展离不开社区 [10] 的支持与帮助。

感谢所有贡献者 [7] 对于项目的贡献,感谢 Apache 社区导师们 [8] 的指导,感谢所有帮助扩大社区、宣传社区、讨论路线图、组织社区活动的 PPMC 和 committer 成员 [9], 还要感谢正在了解和尝试使用 Teaclave 的人们,以及回馈 Teaclave 社区的公司。你们都为 Teaclave 开源社区的发展做了巨大的贡献。

在此,非常高兴的宣布,已有四家公司或组织在产品中使用 Teaclave,并且有超过九个开源项目使用了 Teaclave 平台和 Teaclave SGX SDK。这些都给项目的发展提供源源不断的动力。

Teaclave 的开源是 The Apache Way [11] 的开源,无论是代码、文档、设计还是路线图规划,都在社区的各个渠道中讨论。

如果你想关注 Teaclave,亦或想加入讨论,可以在 Github issues [12],邮件列表回复 [4]、发起新的话题。也可以关注Twitter 账号 @ApacheTeaclave [5] 了解最新动态。除此之外, 在官网 [6] 中有 Teaclave 相关的演讲、论文和文章,包括今年在 ApacheCon 的演讲 slides 和视频。

最后,0.1.0 只是 Teaclave 的开端,我们还会和 Teaclave 社区继续努力,推动隐私安全计算的发展。

Teaclave,让安全计算更简单。

参考链接

[1].https://github.com/apache/incubator-teaclave/releases/tag/v0.1.0

[2] .https://teaclave.apache.org/download/

[3].https://teaclave.apache.org/docs/my-first-function/

[4].https://lists.apache.org/list.html?dev@teaclave.apache.org

[5] .https://twitter.com/ApacheTeaclave

[6].https://teaclave.apache.org/docs/papers-talks/

[7] .https://teaclave.apache.org/contributors/

[8].https://teaclave.apache.org/contributors/#mentors

[9].https://teaclave.apache.org/contributors/#committers

[10].https://teaclave.apache.org/community/

[11] .https://www.apache.org/theapacheway/

[12].https://github.com/apache/incubator-teaclave/issues

Disclaimer: Apache Teaclave (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

扫描二维码关注我们:百度开源社区