sgx芯片服务器,英特尔SGX概述:SGX内部实现分析研究(part1)

e46955900cd5affc2ce33b092526bc33.png

这篇文章为读者提供了英特尔SGX技术的概述。在第一部分中,我将探讨为支持SGX而在英特尔平台上增加的功能,重点是处理器和内存;然后,我解释Enclave的管理和生命周期;最后,我详细介绍了Enclave的两个特征:秘密和证书。

介绍

英特尔SGX是一项旨在满足可信计算需求的技术,其开发方式类似于ARM TrustZone,但这个是针对台式机和服务器平台。它允许用户域代码创建安全区的私有内存区域,这些区域与以相同或更高特权级别运行的其他进程隔离。Enclave中运行的代码与其他应用程序,操作系统,系统管理程序等有效隔离。

它于2015年与第六代Intel Core处理器一起推出,该处理器基于Skylake微体系结构。可以通过在设置了“ 结构化扩展功能叶”标志的情况下执行CPUID指令,并检查EBX寄存器的第二位是否已设置,来检查SGX支持。为了能够使用SGX,必须通过BIOS启用了SGX,并且实际上只有少数BIOS支持此技术,这是它没有被广泛使用的原因之一。

总览

英特尔SGX可以总结为以下几点:

·应用程序分为两部分:安全部分和非安全部分;

·应用程序启动安全区,该安全区放置在受保护的内存中;

·当一个安全区域函数被调用时,只有安全区域内的代码才能看到其数据,外部访问总是被拒绝;返回时,安全区数据将保留在受保护的内存中。

2812416ac177c17b27cd308eb6e5300a.png

安全执行环境是宿主进程的一部分:

·该应用程序包含其自己的代码,数据和安全区域;

·Enclave也包含自己的代码和数据。

·SGX保护安全区代码和数据的机密性和完整性;

·Enclave进入点是在编译时预定义的;

·支持多线程(但实现起来并不容易);

·一个安全区可以访问其应用程序的内存,但不能反过来。

c2935092486fd5bf958fdb2be4c5547e.png

使用说明

英特尔SGX定义了18条新指令:13条由supervisor使用,5条由用户使用。所有这些指令均以微代码实现(以便可以修改其行为)。

请参阅下面的完整说明列表:

1d0171ec7b4e00e7e0529e574e5c34ca.png

结构体

英特尔SGX还定义了13种新的数据结构:8种用于安全区管理,3种用于内存页管理,2种用于资源管理。请参阅下面的完整结构列表。

7c967126617640f12af425a41107986b.png

在以下各节中,我将详细介绍相关的指令和结构,然后对它们如何用于实现某些功能的高级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值