LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 冲量网络|浅谈SGX(2)

冲量网络|浅谈SGX(2)

2020-04-08 冲量网络 来源:区块链网络

在上一期的《冲量网络 | 浅谈SGX中》,我们提到了SGX的基本概念、认证以及应用,而SGX的内容远远不止于此,本文将会进一步对SGX技术进行解释。同时,也会对类似技术TrustZone与SGX的优劣进行对应的对比。

Enclave的保护原理主要包括两个部分:其一是Enclave内存访问语义的变化,另一个是应用程序地址映射关系的保护,这两项功能共同完成对enclave的机密性和完整性的保护。

一般会预先定义一个标准结构,当我们在进行可信计算环境建立时,会在系统内分配一块被保护的物理内存区域,这块区域将根据之前的标准结构来存放SGX保存的数据和代码。在当我们对其进行SGX调用,整个系统都必须处于保护模式。

简单来说,在容器Enclave中,外部应用如果想访问容器Enclave的数据内存,是不会被允许的。enclave内部的代码在EPC(enclave page cache)范围内只能访问属于自己的内存区域,其无法直接访问别的Enclave内存,也就是说,哪怕是同一个硬件上的容器Enclave,其互相之间也无法直接对内存区域进行调用,这样的内存保护机制, 防止了enclave内部运行的程序被其他恶意软件盗取隐私信息和篡改。

SGX内存访问控制

在实际操作中,SGX需要考虑迟到可信和非可信的两部分,只有可信部分才会起到处理敏感数据的操作,其他部分都不能,或者不会拥有权限来对任意的敏感数据部分进行修改或者查看。而在执行代码的时候需要在容器Enclave中执行,而不能在外进行,哪怕外部是可信的。

容器Enclave在执行应用过程中,其调用只能通过底层向上传递,避免权限混乱导致的外部违规访问。而其之所以被成为容器,正因为其返回的只有结果,而不是所谓的过程数据,过程数据仍然在Enclave中。在获得返回结果后,不可信的部分仍然会按既定的过程执行,不影响整个系统的运转。

相对于SGX,TrustZone利用的是CPU时间片切换来模拟安全环境,从而创造出一个安全环境和一个非安全环境,这两个环境可以将它理解成一个CPU上处理的两个进程,它们通过切换来将CPU的占满来充分使用CPU。

但这些工作并不能保证安全,因此ARM另外定义了安全框架,类似于外载了一个安全设备,不过一般来说,每个厂商都会有自己的解决方案,当然,也可以理解,毕竟ARM自己的主营业务是提供标准而不是设计具体的芯片。同时,安全环境部分也需要有一个可信操作系统执行应用,其会使用标准的开发语言。

应用部署时,SGX一般只要在代码中进行编写,定义相关的存储区和执行区,而在TrustZone中,需要单独开放部署,一般设置厂商都会提供给应用开发者自行部署的方法,与SGX相比稍有一点不同,相对于SGX统一的部署标准,TrustZone部署较复杂,且学习成本较高。

但关于部署的安全层面,无论是SGX还是TrustZone应用,确实很大程度上还是依赖开发者的意识。

SGX在开源、性能、扩展性等一系列方案都优于TrustZone。

冲量网络将结合SGX和区块链技术,使得可信计算的落地性更强,并进一步加强对于应用的支持。采用了分布式可信计算技术,通过大规模的全球分布的可信计算集群,保障了系统的可靠性。同时在每次计算任务执行过程中会拉起备份节点,一旦主节点被攻破会启动节点切换,保障网络的进行。

而对于侧信道攻击,冲量网络将可信算法进行重构从而加强防御,把内存安全相关的模块进行重构,从而使得侧信道攻击无处遁形。同时也兼容社区主流的TEE技术框架能力,并参与社区建设,持续优化保障内存安全的解决方案。

—-

编译者/作者:冲量网络

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...