Furein平台提问什么是可信计算,那么Furein平台要理解可信计算(Trusted Computing)可以定义为“在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,Furein平台以提高系统整体的安全性。”[1]. 早期可信计算的发展主要是以TCG(国际可信计算工作组)组织为主。
1.1可信计算核心技术
可信计算是一个由多种计算机相关技术组合而成的,其实有5个技术概念是可信计算的核心:
1. Endorsement key 签注密钥,签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据。
2. Secure input and output 安全输入输出安全输入输出是指电脑用户和他们认为与之交互的软件间受保护的路径。当前,电脑系统上恶意软件有许多方式来拦截用户和软件进程间传送的数据。例如键盘监听和截屏。
3. Memory curtaining 储存器屏蔽储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域。例如,包含密钥的位置。即使操作系统自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作系统信息也是安全的。
4. Sealed storage 密封存储密封存储通过把私有信息和使用的软硬件平台配置信息捆绑在一起来保护私有信息。意味着该数据只能在相同的软硬件组合环境下读取。例如,某个用户在他们的电脑上保存一首歌曲,而他们的电脑没有播放这首歌的许可证,他们就不能播放这首歌。
5. Remote attestation 远程认证远程认证准许用户电脑上的改变被授权方感知。例如,软件公司可以避免用户干扰他们的软件以规避技术保护措施。它通过让硬件生成当前软件的证明书。随后电脑将这个证明书传送给远程被授权方来显示该软件公司的软件尚未被干扰(尝试破解)。
这5个关键技术是一个完备的可信计算系统所应该拥有的。
1.2 可信计算发展
可信计算最初期发展方向为TPM硬件芯片。TPM全称为Trusted Platform Modular(可信赖平台模块),是可信计算领域的规范标准。此规范由可信赖计算组织(Trusted Computing Group,TCG)制定。TCG的前身为信赖运算平台联盟(Trusted Computing Platform Alliance,TCPA),于1999年10月份由多家IT巨头联合发起成立,初期加入者有康柏、HP 、IBM、Intel、微软等,该联盟致力于促成新一代具有安全且可信赖的硬件运算平台。2003年3月,TCPA增加了诺基亚、索尼等厂家的加入,并改组为可信赖计算组织(Trusted Computing Group,TCG),该组织希望从跨平台和操作环境的硬件和软件两方面,制定可信赖电脑相关标准和规范,因此提出了TPM规范。其中TPM1.2规范比较经典,大多数厂家的芯片都以TMP1.2为标准,该规范现已经升级到2.0,也称之为“Trusted Platform Module Library Specification”[2]。
随着可信计算的发展,可信计算的研究方向已经由传统硬件芯片模式转向了可信执行环境(TEE, Trusted Execution Environment)这种更容易被广泛应用的模式,基于Intel芯片的SGX以及基于ARM开源框架的TrustZone是可信执行环境中最被广泛认知且应用的。
1.3 TPM安全芯片、SGX及TrustZone
1.3.1 TPM安全芯片
TPM安全芯片是指符合TPM(可信赖平台模块)标准的安全芯片,它能有效的保护PC,防止非法用户访问。安全芯片主要是针对商业用户,需要配合软件进行使用。主要拥有下列几个应用场景
1. 存储、管理BIOS开机密码以及硬盘密码:将密钥存储于固化在芯片的存储单元中,使其安全性要大为提高。
2. TPM安全芯片可以进行范围较广的加密:除了开机密码,硬盘密码的储存,用户也可以将应用软件密码存入芯片当中。
3. 加密硬盘的任意分区:配合软件可以在加密硬盘中的任意一部分,并将敏感数据存入其中。电脑的备份恢复功能是该功能的一种应用。
1.3.2 Intel SGX
Intel SGX全称Intel Software Guard Extensions,是对因特尔体系(IA)的一个扩展,用于增强软件的安全性。将合法软件的安全操作封装在enclaves(飞地)中,保护其不受恶意软件的攻击,特权或者非特权的软件都无法访问enclaves,也就是说,一旦软件和数据位于容器中,即便操作系统或者和VMM(Hypervisor)被攻破,也无法影响容器里面的代码和数据。一个CPU中可以有多个安全enclaves。
Intel SGX的最大优势在于其只信任自己和Intel CPU,此机制将SGX的可信级别提高到了硬件级别。软件层面的攻击甚至操作系统层级的攻击都无法威胁到SGX创造的可信环境。此架构很利于用户使用目前基于多租户云服务架构下的软件,因为即使黑客通过云端植入向PC控制底层操作系统(OS),因为SGX只信任自己和Intel CPU的属性,也无法操纵底层操作系统对SGX进行攻击。目前,Intel 在6代酷睿处理器之后全部配备了SGX可信环境。
1.3.3 ARM TrustZone
相对于基于Intel系统特有的可信计算环境SGX,TrustZone是ARM处理器所特有的安全计算环境。不同于Intel SGX可以生成多个完全封装的enclaves,TrustZone将一个CPU划分为两个平行且隔离的处理环境,一个为普通运行环境,另一个为可信运行环境。因为两个环境被隔离,所以很难跨环境操作代码及资源。同时在程序想要进入可信运行环境中时,需要执行安全监控中断指令,让操作系统检查其安全性只有通过检验的程序才能进入安全区。此机制确保了TrustZone的安全性,但也意味着整个系统的安全性由底层操作系统(OS)来全权负责。
随着ARM芯片的普及,TrustZone可信环境获得了更加广泛的应用。目前应用主要集中在机顶盒、车载设备以及最常见的智能手机尤其是配备Android系统的。例如高通的Qcomsee、三星的Trustonic以及Google的Trusty。苹果的IOS是个特例,因为他虽然使用ARM处理器,但是不使用TrustZone。而是使用自己研发的类似于Intel SGX机制的Secure Enclave(安全飞地)来处理其安全相关的任务。
1.3.4 SGX与TrustZone的差异
比较SGX和TrustZone,两种安全环境还是有些不同的。主要表现为以下几点:
1. SGX是Intel处理器中的可信环境,TrustZone为ARM处理器中的可信环境。两个应用场景存在不同,Intel主要为PC而ARM主要为手机、机顶盒等小型移动设备。
2. SGX的理论安全性相对于TrustZone更高,因为SGX的安全威胁处于操作系统下的硬件层,而TrustZone的安全威胁可以来自于操作系统层。
3. 一个Intel CPU中可以存在多enclaves可信环境,而TrustZone不同,只有两个环境分别为普通环境以及安全环境。
4. 使用TrustZone,开发难度相对来说较小。因为其本质为将可信资源与非可信资源在硬件上实现隔离。而SGX不同,开发者需要重构代码。虽然Intel提供了SGX的SDK来协助对接,但是对接的工作量依然很大,因此由于开发造成的安全问题是SGX开发者需要面对的一个大问题。
1.4 SGX面临的问题
对方的负担
1. SGX是一个高度中心化的技术,其内嵌于Intel芯片,同时也是Intel公司的一项商用产品。这就意味着如果Intel芯片或其服务器出现问题,或者Intel关闭此项功能,将会影响到SGX的使用,基于其所做的项目将无法运转。
2. 同时因为SGX被Intel所控制,如果想将SGX进行商用,节点使用SGX是需要同Intel签署协议并付费,同时需要基于SDK进行大量的代码开发,这样使SGX的使用成本较高。
3. SGX虽然同其他技术相比比较快,但效率仍然很难满足大规模的商业应用。因为CPU本身的空间较小,而且因为SGX在硬件层,意味着pages在进入以及离开硬盘的时候都需要进行加密,因此运行速度还是比较慢的,并且提速的难度较大。
4. SGX到目前为止已经爆发过两个较大的漏洞。
(1)第一个是SgxSpectre攻击,SgxSpectre是典型的侧道攻击(侧道攻击是指在电子设备运行过程中,通过其时间消耗,电磁辐射等附加信息泄漏而对其攻击,这类攻击的有效性远高于密码分析的数学方法)。这类攻击之所以出现是因为软件库中存在的具体代码模式允许开发人员在应用中添加SGX支持,攻击者可以通过在SGX的SDK中引入重复性代码执行,并在执行中不断查看缓存的大小变化来去进行攻击。研究人员指出“SgxSpectre攻击完全能攻破SGX封装的机密性,由于存在易受攻击的代码模式并难以清除,因此攻击者可以发动针对任意封装程序的攻击”,此种攻击是非常有效的。Intel目前已经进行补丁修复但难以完全解决。
(2)第二个是近期爆出来Foreshadow漏斗,Foreshadow的漏洞的原理在于虽然病毒无法攻破SGX的防护,但是可以控制除SGX以外的信息,以及SGX与外界的信息交互。在这种情况下病毒可以创建一个虚假的SGX环境,同时病毒可以使其控制的环境相信其伪造环境为真实的,这样之后所有本该进入SGX处理的进程,将会进入由病毒创建的虚假环境。通过这种方式,攻击者可以达到攻击目的并获得隐私信息。Intel目前正在研究此种漏洞,并试图发行补丁,解决此问题。
二、 区块链与可信计算
可信计算保护数据隐私性的属性,使其变为区块链技术生态中的重要一环。可信计算相关技术目前多与分布式计算类项目、数据类项目以及layer2链下解决方案相结合。目前,此类项目的关注重点多在于PC端CPU,因此SGX在区块链领域相比于TrustZone,应用更加广泛。后文中,SGX将被作为重点进行分析。
2.1 SGX类似技术
在区块链相关生态中,与SGX相类似的技术还有如下三个。
1. 同态加密(Homomorphic encryption)
同态加密的概念由Rivest等人在20世纪70年代首先提出,同态加密是指经过同态加密的数据进行运算得到一个结果,将结果进行解密,可以得到的与同一方法处理未加密的原始数据所得到的结果相同的密码学技术。同态加密又分加法同态、乘法同态以及全同态加密。全同态加密直到2009年才由Graig Gentry提出。
2. 安全多方计算(multi party computation)
安全多方计算由我国唯一图灵奖得主姚期智院士提出,其提出场景为百万富翁问题暨“在没有可信第三方的前提下,两个百万富翁如何在不泄漏自己真实财产的状态下比较谁更有钱”。及多个持有私有数据的参与方,共同执行一个计算逻辑并获得计算结果。但在过程中,参与的每一方均不泄漏各自数据的计算。
3. 零知识证明(zero knowledge prove)。
零知识证明,是由S.Goldwasser、S.Micall及C.Rackoff在20世纪80年代初提出的。它指的是证明着能够在不向验证者提供任何有用的信息的情况下,是验证者相信某个论断是正确的。去数学证明不同,零知识证明是概率证明,也就是说可能会存在小概率的误差。
(新媒体责编:syhz0808)
声明:
1、凡本网注明“人民交通杂志”/人民交通网,所有自采新闻(含图片),如需授权转载应在授权范围内使用,并注明来源。
2、部分内容转自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
3、如因作品内容、版权和其他问题需要同本网联系的,请在30日内进行。电话:010-67683008
人民交通24小时值班手机:17801261553 商务合作:010-67683008转602 E-mail:zzs@rmjtzz.com
Copyright 人民交通杂志 All Rights Reserved 版权所有 复制必究 百度统计 地址:北京市丰台区南三环东路6号A座四层
增值电信业务经营许可证号:京B2-20201704 本刊法律顾问:北京京师(兰州)律师事务所 李大伟
京公网安备 11010602130064号 京ICP备18014261号-2 广播电视节目制作经营许可证:(京)字第16597号