MesaTEE:高性能的隐私保护通用安全计算
- 背景介绍
-
- 赋能多场景应用,MesaTEE护航云上数据安全
- 技术优势
-
- 内存安全
- 易审计的不可绕过检查(Non-bypassable Security)
- 加密隔离和远程验证
- 灵活可配置的安全等级
- 功能丰富、性能优异
- 场景案例
-
- 区块链和云服务
- 安全多方计算
- 安全Key Vault和HSM
- 安全的AI计算
- 强大的开放生态
- 软件架构
在Rust SGX SDK、MesaLock Linux、MesaLink、MesaPy等子项目相继开源后,多方瞩目的下一代安全计算平台MesaTEE开源在https://github.com/mesalock-linux/mesatee,开源许可为Apache 2.0。
MesaTEE是全球首个通用安全计算平台(Universal Secure Computing,简称USC)。它为对安全和隐私有强诉求的场景提供了下一代通用安全计算能力,使得敏感数据即便在企业外环境和离岸场景下也能安全受控的流通和处理,而不会被泄漏或者滥用。这在全球关注隐私的今天格外重要,使得很多大数据业务成为可能。同时,由于USC/MesaTEE天生的弱中心架构,也使得它和区块链形成完美的互补,填补了区块链急缺的高性能隐私数据处理能力。
-
Level 1:没有信任和安全保护的传统模式。
-
Level 2:完全基于软件(SoftTrust)建立信任,通过环境因子采集度量、白盒加密隐藏密钥、反调试、混淆等方案提供软件级的强对抗能力。通过MesaLock Linux(用Rust/Go等内存安全语言重构用户空间、缩小内核攻击面的Linux发行版)和不可绕过的强访问控制(Non-bypassable Gateway,缩写NBGW)相结合,可以进一步增强安全性。
-
Level 3:增加安全可信的启动链验证(例如基于TPM、TrustZone的安全启动)。用户同样可以增加MesaLock Linux和NBGW来增强动态安全性。对于多租户场景,可以在轻量级安全hypervisor(例如Kata Containers)的帮助下提供更进一步的隔离。
-
Level 4:进一步通过物理内存自动加密(Intel MKTME或AMD SEV),抵御冷启动攻击(cold boot attack)和大多数基于软件的攻击。
-
Level 5:利用多重远程验证(Remote Attestation)及Secure Enclave技术(如Intel SGX)提供极强的隔离和加密。MesaTEE通过嵌套TPM和MesaLock Linux,以确保外部操作系统也是可靠和安全的,抵御针对Enclave技术的侧信道攻击(side channel attack)。
功能丰富、性能优异
MesaTEE在提供极致安全的同时并未舍弃功能和性能。MesaTEE为各类TEE平台提供了统一的“函数即服务”(Function as a Service,缩写FaaS)抽象API,开发者可以轻松地开发可迁移的TEE程序;在此基础上,MesaTEE还封装了一层WebAssembly/Python抽象层,让开发门槛和成本进一步降低,提升了开发灵活度。不仅如此,MesaTEE还预置了大部分常见计算模型,对于加解密、证书管理、隐私保护的集合操作、线性回归、GBDT、深度学习等等众多大数据分析和机器学习场景,直接调用MesaTEE已经提供好的接口即可胜任。
而MesaTEE的性能表现也非常出色,举例如下(以下性能数据采集自Intel NUC8I7HVK Mini PC,测试均发生在MesaTEE最高安全级Intel SGX模式下,数据和计算始终隔离且加密):
TCP之上的额外turn-around开销缩小到了极致,仅为3ms。这里面已经包含了加密通道的秘钥协商、数据加解密、远程验证、负载均衡分配等操作。
每秒可以执行1万次RSA签名,或者500万次AES加解密。相比之下,某传统HSM只能达到每秒1200次RSA签名,或者2000次AES加解密。
在10万条数据上测试GBDT预测,MesaTEE SGX可比单线程XGBoost快4倍。
运行ResNet 50神经 络模型与没有MesaTEE SGX保护下相比,仅增加了20%的时间开销。
场景案例
区块链和云服务
基于密码学的SMC场景一旦开始运行,计算成员和算法已经确定,很难动态变化和修改,缺少灵活性;MesaTEE直接在保护环境中对明文进行可信和安全的计算,因此不会施加这种限制。
基于密码学的SMC场景需要每个参与方两两互信并进行数据交互,导致很大的延迟和吞吐开销;MesaTEE用可信节点替代多方互信,计算参与者只需与中央可信节点交换数据即可,极大消除了不必要的通信,大大提高效率和性能。
性能对于AI应用程序至关重要,因此MesaTEE还进行了大量优化以提高AI模型的执行效率。上图显示了在MesaTEE最高安全等级(Intel SGX)中运行ResNet 50与在正常情况下运行相比的时间消耗——仅增加了20%的开销。通过这一点有限的额外开销,没有任何其他安全解决方案可以提供与MesaTEE同等级的机密性和完整性保障。
强大的开放生态
百度首席安全科学家韦韬博士在和Intel副总裁Lorie Wigle在2018年联手公布MesaTEE时提到:“Intel SGX是自通用计算机出现以来系统安全领域最重要的硬件技术架构变革之一,通过极大的缩短信任链使得 络空间的信任依赖变得安全可靠;而百度安全首创的Hybrid Memory Safety技术则是第一次在软件架构上保障了实用系统的内存安全。MesaTEE SGX是两者的结合,将大大延展互联 业务的信任边界,是云隐私计算、隐私机器学习、下一代区块链等多种新型互联 业务的基石,对于AI时代的云服务有着战略性意义。”
MesaTEE旨在通过开源开放推动通用安全计算生态发展,为大数据和AI带来的技术生产力革命提供信任保障的基础支持,充分解决跨部门/公司之间的数据交换或多方计算,让金融、账 、医疗等敏感业务享受到隐私保护的区块链/云服务,为无人驾驶等与生命财产息息相关的业务保驾护航。MesaTEE目前已经和主流云计算/区块链/芯片厂商以及高校/研究机构深入合作,综合推进硬件TEE、软件内存安全、和应用丰富强大的计算服务,打造国际安全且灵活通用的安全计算服务框架。MesaTEE的开源将极大的加速下一代大数据商业应用的发展,对于推动AI业务在各行各业中落地也有着重要意义。
更多内容请移步:
MesaTEE项目主页:https://mesatee.org
MesaTEE开源:https://github.com/mesalock-linux/mesatee
软件架构
在北京举行的2020百度云智峰会ABC SUMMIT上,百度与英特尔联合发布了《机密计算助力深度学习,安全及能力兼得》白皮书。首次详细解读了基于英特尔SGX软件防护扩展技术,MesaTEE安全计算平台与百度飞桨开源深度学习平台(PaddlePaddle)的联动赋能,展现了为深度学习定制的机密计算能力所带来巨大前景和可能。
作为飞桨在自身生态系统内实现机密计算的硬件解决方案核心服务框架,MesaTEE于2018年9月由百度安全联手英特尔正式对外发布。其基于英特尔SGX技术,使用内存安全的Rust语言开发,旨在构建内存安全的可信计算平台。在隐私保护的前提下,打破产业链上下游既有的数据壁垒,有效解决数据流通与协作过程中的合法合规、数据安全问题,充分激发数据要素价值,实现数据“价值”与“知识”开放与共享,真正做到“数据可用不可见”。
不论是对于飞桨而言还是开发者来说,利用MesaTEE来实现硬件级的机密深度学习能力都有着巨大的优势:
-
首先,在SGX技术的支持下,飞桨得以在TEE环境中的运行。当搭载即将推出的全新的第三代英特尔至强可扩展处理器时,其有效的隔离内存容量可以极大的提高;而硬件级解决方案也排除了 络限制,避免了 络故障导致大型训练任务中断的风险。
-
其次,飞桨与TEE环境的结合使得前者自然成为了一个巨大的分布式可信机密计算环境,这让使用兼容英特尔处理器的用户在使用时无需付出额外成本,减少了对于购置专用加密设备的投入。
-
第三,MesaTEE也提供了更为便捷的接入流程。开发者最快仅需3步、在3分钟内即可完成系统的安装和运行。而良好的兼容性,也使其能够支持包括SCONE、Occlum和Graphene在内的大多数SGX TEE容器。
–面对已然到来的智能经济时代,数据已经成为企业的核心资产,个人信息保护问题也正为更多人所关注。基于英特尔SGX技术开发的MesaTEE安全计算平台与飞桨深度学习平台的联动,不仅将更好地实现性能与安全的统一,也将大大延展互联 信任的技术边界,孵化和构建更安全的AI生态。
目前,MesaTEE的 区版已正式成为Apache基金会的孵化器项目(Apache Teaclave),其将有助于汇集更多力量进一步丰富内存安全的SGX技术生态。而随着飞桨深度学习平台即将进入2.0时代,其也将在TEE环境中完整实现其已有的相关功能,并提供musl的预编译版本。
未来,百度也将与英特尔持续加强合作,不断推动机密计算能力与安全计算平台的应用落地,为“新基建”格局下的产业发展贡献力量。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!