本文主要是介绍Intel SGX 技术初探,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近公司需要开发一款使用intel 的移动终端,需要用到SGX技术,特此将调研和整理的相关资料放置于下,欢迎交流。
一、SGX技术背景
1.1 SGX技术定义
SGX全称Intel Software Guard Extensions,顾名思义,其是对因特尔体系(IA)的一个扩展,用于增强软件的安全性。这种方式并不是识别和隔离平台上的所有恶意软件,而是将合法软件的安全操作封装在一个enclave中,保护其不受恶意软件的攻击,特权或者非特权的软件都无法访问enclave,也就是说,一旦软件和数据位于enclave中,即便操作系统或者和VMM(Hypervisor)也无法影响enclave里面的代码和数据。Enclave的安全边界只包含CPU和它自身。SGX创建的enclave也可以理解为一个可信执行环境TEE(Trusted Execution Environment)。不过其与ARM TrustZone(TZ)还是有一点小区别的,TZ中通过CPU划分为两个隔离环境(安全世界和正常世界),两者之间通过SMC指令通信;而SGX中一个CPU可以运行多个安全enclaves,并发执行亦可。当然,在TZ的安全世界内部实现多个相互隔离的安全服务亦可达到同样的效果。
1.2 技术目标
(1)允许应用开发者保护敏感信息不被运行在更高特权等级下的欺诈软件非法访问和修改。
(2)能够使应用可以保护敏感代码和数据的机密性和完整性并不会
这篇关于Intel SGX 技术初探的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!