2020-12-07 17:01:3710831人阅读
Apache Teaclave (incubating) (https://teaclave.apache.org/)是全球首个通用安全计算平台,为隐私数据计算赋能,让安全计算更简单。Teaclave 基于硬件安全能力(Intel SGX),确保敏感数据在可信域外和离岸场景下安全可控的流通和处理,无需担心隐私数据泄露和滥用。同时,Teaclave 还支持多方参与的联合计算,打破企业和组织中的数据孤岛。Teaclave 于 2019 年 8 月进入 Apache 基金会孵化器,2020 年 10 月,Teaclave 社区正式通过并发布了 0.1.0 版。
Teaclave 的四大亮点
简单来说,Teaclave 有四大亮点:
安全性:Teaclave 使用多重安全技术保护隐私数据的计算。我们使用 Intel SGX,提供基于硬件隔离、内存加密、远程证实等安全技术保护数据隐私计算任务。不仅如此,为了避免内存安全漏洞带来的安全风险,Teaclave 还使用内存安全编程语言 Rust 编写。
功能性:Teaclave 平台提供了更加便利的函数即服务(function-as-a-service)接口,大大的降低了使用门槛。平台中也实现了众多内置函数,例如机器学习算法,多方联合求交,加解密计算等等常用功能。更重要的是,开发者还可以使用 Python 自由编写函数来操作隐私数据,提交至 Teaclave 平台执行。与传统 FaaS 框架不同的是,Teaclave 提供了灵活的多方参与计算接口,大大简化多方安全计算的流程。
易用性:Teaclave 提供便利的部署方式,支持在本地和云上以容器的方式进行部署。项目中还提供了完善的接口,客户端 SDK 以及命令行工具帮助开发者使用平台的功能。
灵活性:Teaclave 设计了灵活的组件和服务框架,其他项目仅需少量修改就可以使用 Teaclave 中的各种组件。例如,可以在项目中使用 Teaclave 远程证实库作为第三方依赖库,或者直接单独部署使用 Teaclave 中的数据库服务等。当然,开发者也可使用 Teaclave SGX SDK (原 Rust SGX SDK)来构建全新的 SGX 应用。
Teaclave 开源生态
Teaclave 提供了一个开放的开源生态,其中既有 Teaclave 项目的开发者,也包括安全计算平台的用户、服务提供商,以及在安全计算相关项目中使用了 Teaclave 中的核心库和第三方常用库的使用者。另一方面,Teaclave 生态服务于商业产品、学术研究项目、可信计算教学平台,同时社区也支持由 Teaclave 驱动的第三方开源项目。
在可信执行环境中,第三方库的移植、维护、审计尤为重要。我们为 Teaclave 生态提供了上百个 Rust 的第三方开发库,比如密码学库,科学计算库,机器学习库等等,大大的丰富了 Teaclave 生态,并且驱动了其他基于 Teaclave 的开源项目发展。除了维护第三方库,我们也孵化出了一些重要的 TEE 组件,比如,针对 SGX 环境的 Python 解释器 - MesaPy (https://github.com/mesalock-linux/mesapy/tree/sgx),以及对 TrustZone 后端 TEE 实现的 SDK - Rust OP-TEE TrustZone SDK (https://github.com/sccommunity/rust-optee-trustzone-sdk)。
Teaclave 开源生态也支持着众多商业产品。比如,基于 Teaclave 开源代码,百度作为平台服务提供商,构建了 MesaTEE 安全计算平台,该平台提供了强安全、高性能、易扩展的芯片级数据安全计算解决方案。协助机构之间解决数据合作过程中数据安全和隐私问题,打破数据孤岛。通过私有化或云服务帮助金融、政务、互联网等行业在联合建模、联合营销、联合风控等场景下一站式完成数据联合计算,实现 “数据可用不可见”的安全体验。
Teaclave 生态也支持着可信计算和系统安全相关的学术研究,其中包括可信执行环境的安全,内存安全的 SGX SDK 设计,SGX 第三方库生态的安全等等相关课题。其中有多篇学术成果发表在国际顶级会议上。
由 Teaclave 驱动的开源项目
正因为 Teaclave 的开源、开放及其灵活性,许多项目基于 Teaclave 平台或 SGX SDK 构建,以下列举了几个由 Teaclave 驱动的开源项目或商业产品。希望更多的公司、项目能够加入安全计算的生态当中,共同推动数据隐私、安全计算的发展。
Advanca 是服务于去中心化应用(Dapps)的一个通用的隐私保护计算/存储基础设施。https://github.com/advanca/advanca
Anonify: 在区块链上利用可信执行环境 (TEE) 技术,向用户提供防篡改的数据共享技术设施;在灵活执行业务逻辑同时,保证分布式账本中各个参与者的数据隐私。https://github.com/LayerXcom/anonify
Enigma 联合多个区块链厂商构建去中心化网络联盟 — Secret Network,为区块链用户提供数据隐私保护服务。在 Secret Network 中,用户数据密文作为输入被智能合约执行,执行结果基于共识协议验证后上链。
https://github.com/enigmampc/enigma-core, https://github.com/enigmampc/SecretNetwork
Crypto.com 的试验性项目 Crypto.com chain 中使用 Teaclave 进行 SGX 应用的开发。https://github.com/crypto-com/chain
Phala Network 是一个TEE-区块链混合结构实施的智能合约。https://github.com/Phala-Network/phala-blockchain
SafeTrace 项目是一个隐私保护的新型冠状病毒追踪系统,使用 SGX 保证用户的位置数据能够安全的进行交换。https://github.com/enigmampc/SafeTrace
substraTEE 为 substrate blockchains 提供了可信的 off-chain 计算框架。https://github.com/scs/substraTEE
Occlum 项目是基于 Teaclave SGX SDK 提供了一个 library OS 类型的 SGX 可信执行环境,使应用程序几乎不需要修改源代码即可放入 SGX 上运行。该项目即将加入 Confidiential Computing Consortium 机密计算联盟。https://github.com/occlum/occlum
Veracruz 是一个多方不信任环境下的隐私保护的计算框架。该项目即将加入 Confidiential Computing Consortium 机密计算联盟。https://github.com/veracruz-project/veracruz
以上些项目都是利用 TEE 提供的硬件隔离、内存加密、远程证实等特性,保护业务中数据计算的隐私。一些项目在 SGX SDK 基础上提供了更为便利的可信执行环境框架,比如 Occlum 和 Veracruz。另外一些项目使用 SGX SDK 编写 TEE 应用保护其业务逻辑中的数据隐私,或提供可信的节点,如 Secret Network 和 substraTEE。还有一些项目移植使用 Teaclave 平台里的通用模块,比如远程证实代码库等等。更多关于由 Teaclave 驱动的开源项目列表可以在官网中查看(https://teaclave.apache.org/community/)。
最后,Teaclave 项目非常欢迎大家共同参与社区,推动隐私安全计算发展。