Intel芯片架构中TEE的实现技术之SGX初探

来源:互联网 发布:视频管理系统php 编辑:程序博客网 时间:2024/05/16 04:34
应该来说可信执行环境不仅仅指的是基于ARM的Trustzone技术的各种安全操作系统,还包括基于intel公司提出的SGX技术,以及虚拟化机制,比如L4微内核等等软硬件技术及其安全方案实现,今天我们来初步了解下SGX。


SGX是啥?

      Intel SGX是指 Software Guard Extensions


      SGX最早在2013年推出,主要是在计算机平台上提供一个可信的空间(TEE),保障用户关键代码和数据的机密性和完整性 。

SGX (Software Guard Extensions)是一项面向应用程序开发人员的英特尔技术。英特尔从第 6代英特尔® 酷睿™ 处理器平台开始引入了英特尔软件防护扩展新指令集,使用特殊指令和软件可将应用程序代码放入一个enclave中执行。

Enclave可以提供一个隔离的可信执行环境,可以在BIOS、虚拟机监控器、主操作系统和驱动程序均被恶意代码攻陷的情况下,仍对enclave内的代码和内存数据提供保护,防止恶意软件影响enclave内的代码和数据,从而保障用户的关键代码和数据的机密性和完整性。

苹果安全机制中也有enclave的技术提法,下次再单独讨论下。


从上图中可以看出,在需要保护的关键数据和秘钥的enclave中能够防御通过各种各样的攻击,黑客手段、恶意代码植入,底层攻击等等。


Intel Skylake是英特尔第六代微处理器架构,采用14纳米制程,是Intel Haswell微架构及其制程改进版Intel Broadwell微架构的继任者。Intel Skylake已经在201585日发布。

另外,由于计算机系统正面临越来越复杂的的恶意攻击,其中一个较常见的形式是造成应用软件的缓冲区超越(即溢出)。于是Intel提出了MPXMPX是指Memory Protection Extensions 内存保护扩展指令。  英特尔内存保护扩展的两个最重要目的是:以低开销为新编译的代码提供此种能力,以及提供与现有软件组件的兼容性机制。英特尔® MPX 将在未来的英特尔®处理器中实现。


最后说下:

近日,百度安全实验室推出一个Intel SGX 可信计算平台的Rust语言开发工具包Rust SGX SDK说白了,这也是一种具体Intel芯片的TEE SDK

基于Rust SGX SDK, 程序员可以快速开发出没有内存安全漏洞的Intel SGX 可信程序。

Rust是Mozilla开发的注重安全、性能和并发性的编程语言。“Rust”,由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。

欢迎关注原创公众号!