百度安全与 OP-TEE 社区共同合作,推进 Teacalve TrustZone SDK 正式成为 OP-TEE 官方推荐的 Rust 开发环境。OP-TEE 是当今广泛使用的开源 ARM TrustZone 操作系统和执行环境,是由 ARM、Linaro、Google、NXP 等组织共同维护等可信固件社区(Trusted Firmware)项目,可信固件社区为 ARM 安全生态提供了基础执行环境的开源实现。在十月最新发布的 OP-TEE 3.15.0 中,开发者就能够使用 SDK 开发内存安全的 TrustZone 应用,我们也提供了众多的样例程序帮助开发者快速上手使用。
百度安全开源贡献的 Apache Teaclave (incubating) 子项目 Teaclave TrustZone SDK,为OP-TEE 提供了一套内存安全、使用方便的 SDK。SDK 基于 GlobalPlatform 的 TEE 标准,为开发者提供标准的开发接口。除此之外 Rust OP-TEE TrustZone SDK 支持标准库和第三方库,提高了 TA 的开发速度,并扩展了 TrustZone 的应用场景。与 Teaclave SGX SDK 类似,TrustZone SDK 也为 Teaclave 隐私安全计算平台提供底层支持,赋能多平台可信执行环境的隐私安全计算生态。
快速上手
下面简单介绍一下如何快速上手尝试 Rust 开发的 TrustZone TA,更多详细文档可以在 Teclave 官网(https://teaclave.apache.org/)查看。
下载 Teaclave TrustZone SDK 项目,初始化相关的子模块并安装 Rust 工具链以及交叉编译工具 Xargo:
$ git clone https://github.com/apache/incubator-teaclave-trustzone-sdk
$ cd incubator-teaclave-trustzone-sdk
$ ./setup.sh
初始化 OP-TEE 子模块。初始化完毕之后,在 optee 根目录下需要有 build/, optee_os/ 和 optee_client 子目录。
$ git submodule update --init -- optee
设置环境变量,默认情况下,目标平台是 aarch64,如果希望为 arm 平台编译,需要在 source environment 之前设置 ARCH 变量。
$ source environment
最后,编译 Teaclave TrustZone SDK 官方提供的例子。
$ make examples
现在,示例已经全部编译好了,在支持 OP-TEE 的 QEMU 环境即可尝试运行已经编译好的 SDK 中的 TrustZone 应用示例。
隐私安全计算
百度安全实验室在隐私安全计算领域取得了丰硕的成果,得到了全球软件和互联网行业、厂商以及国际安全社区的广泛认可。也和多个国内外知名产商、高校开展了安全研究合作,为百度隐私安全计算业务提供先进的安全能力,并推动共建开源开放的隐私安全计算生态。
百度安全实验室致力于探索隐私数据安全计算技术(如可信执行环境、联邦学习、多方安全计算、差分隐私等)的研究和应用,包括隐私计算安全平台的系统设计、安全能力评估、生态建设等。2019 年推出 Teaclave 隐私安全计算平台,并在 Apache 软件基金会中孵化开源。Teaclave 成为业界首个包含远程认证、多方隐私安全计算等多种安全能力的开源隐私计算平台,服务数十家公司和多个开源项目的核心组件。隐私安全研究成果也发表在学术会议(CCS, ICSE, ACSAC)和行业技术研讨会(ApacheCon, OC3, RustConf, Zer0Con, BlackHat)。2020 年,Teaclave 项目获得 WitAwards 年度最佳安全开源项目。同时,为提升隐私计算生态项目等安全性,实验室也发现并协助修复数十处机密计算框架的漏洞。
欢迎加盟
百度隐私安全计算实验室欢迎有相关技术背景,以及对隐私计算系统设计感兴趣的同学加入,实验室在北京和硅谷均有全职与实习的岗位。详情可发邮件给 mssun@baidu.com 咨询,或参考以下链接:
https://anquan.baidu.com/tag/321
https://usa.baidu.com/careers/