Rust SGX SDK v1.0.5 Release | 支持代码加密保护和离线密文分发

2019-02-12 14:44:2212063人阅读

Rust SGX SDK 是百度安全实验室开发的一个 Intel SGX 可信计算平台的 Rust 语言开发工具包。基于 Rust SGX SDK,程序员可以快速开发出没有内存安全漏洞的 Intel SGX 可信程序,即使在操作系统被恶意控制时也能提供迄今为止最强大的安全防护能力,避免敏感数据被窃取。Rust SGX SDK 对于数据隐私和云安全都有着非常重要的意义,能够很好的支持各种需要隐私保护的云上数据业务。从去年4月 Rust SGX SDK 第一个开源版本发布以来,我们获得了社区很多反馈和支持,也看到了学术界和工业界都在积极的应用 Rust SGX SDK。安全界顶级学术会议 IEEE S&P 2018 上的文章 Oblix 采用 Rust SGX SDK 构建保密且高效的数据库系统;包括 MIT 的 Engima 和 UC Berkeley 的 OASIS Labs 在内的诸多区块链项目选择采用 Rust SGX SDK 构建智能合约执行环境;知名的开源机器学习训练框架 TVM 已经使用 Rust SGX SDK 支持了在 SGX Enclave 内进行训练和预测。这次我们发布的是 1.0.5 版本,支持了最新的 Intel SGX SDK 2.4,首次提供了内存安全的 Enclave 代码加密能力,以及离线密文分发能力。


我们提供了 Intel Protected Code Loader 的支持。开发人员可以参考代码学习如何进行 Enclave 代码的整体加密,以及密钥 provisioning 和启动 Enclave的过程。同时我们提供了 Enclave 内外的密码学原语的统一接口,以及 RSA 密钥序列化/反序列化的统一支持。借助这些密码学接口,可以实现安全的离线密文传输,以及在 Enclave 内安全的解密。此外我们还移植了 net2 库,提供了在 Enclave 内主动发起网络连接和监听端口的能力;移植了 regex,提供了在 Enclave 内进行正则表达式匹配的能力。


著名的内存安全 TLS 实现 “MesaLink” 已经提供了与 Enclave 进行远程验证和建立 TLS 连接的能力。借助 MesaLink,可以在多种平台上与 Intel SGX Enclave 进行远程验证并安全传输数据了。


Intel 在 2.4 中修复了 INTEL-SA-000202 。我们强烈建议开发人员升级到 v1.0.5 和 Intel SGX SDK v2.4,以获得最新的功能支持和 bug 修复。


What's New


  • master 分支支持 Rust nightly-2019-01-28 (rustc 1.34.0)

  • stable 分支支持 Rust stable-2019-01-17 (rustc 1.32.0)

  • 支持 Intel SGX SDK v2.4

  • 移植了 net2 ,提供直接在 Enclave 里主动发起网络连接和监听端口的能力。

  • 远程验证得到了 MesaLink 的支持。现在可以使用 MesaLink v0.8.0 与 Enclave 进行远程验证并建立 TLS 连接了。

  • 提供了 sgx_ucrypto 和 sgx_crypto_helper,使得 Enclave 内外有了统一的密码学原语,并且能够序列化、反序列化 RSA 密钥对以及进行加解密。

  • 移植了 regex 库及其所有依赖,提供在 Enclave 里进行正则表达式匹配的能力。

  • 新的代码样例:hello-regex,演示如何在 Enclave 里进行正则表达式运算。

  • 新的代码样例:static_data_distribution,演示如何将 RSA 密钥安全的 provision 给 Enclave,以及使用这个 RSA 密钥进行安全的离线密文传输。

  • 新的代码样例:net2,演示如何使用 net2 在 Enclave 内主动发起网络连接和监听端口。

  • 新的代码样例:PCL,演示如何使用 Intel Protected Code Loader 加密 Enclave 以及启动加密后的 Enclave。

  • 移除了对 posix_memalign 的依赖。

  • 重构了 sgx_trts, 将 OCALL 相关的部分移入 sgx_libc。



点击进入 Rust SGX SDK 项目主页

0
现金券
0
兑换券
立即领取
领取成功