构建可信链条对隐私有需求的个人设备以及高安全性的云环境一直是重要的议题,传统Root of Trust构建基本上由verifiedboot以及measuredboot完成,随着Intel SGX以及ARM平台TEE的推广,虽然当前云环境中主要的需求attestation并不需要secure enclave 来实现,但这并不阻碍secure enclave 被业界越来越关注。
在深入探讨本文之前,先来了解一下几个主要概念!
首先什么是secure enclave?Secure Enclave 是苹果在iPhone和iPad上用来保护用户数据安全的机制。根据苹果在其iPhone in Business网站更新的iOS 安全手册所言,A7的Secure Enclave 是一个建在苹果最新的单芯片系统设计内部的协处理器。与应用处理器不同,该协处理器处理安全启动序列码和软件更新机制,负责任何数据保护加密操作的关键操作及数据保护完整流程。
接下来,什么是RISC-V?事实上,RISC-V是一套CPU的指令集架构。它于2011年由加州大学伯克利分校团队设计和开发。所谓指令集,是指CPU进行运算时的各项指令集合,它定义了数据类型、存储器和寄存器状态等,相当于一个抽象层,构成处理器硬件与其上软件之间的桥梁与接口。由于CPU的各种软硬件操作都是建立在指令集之上的,其与生态环境密切相关,而生态建设又极其艰难,因此指令集在CPU中的作用非常关键。
与当前市场上主流CPU架构相比,RISC-V的独特“魅力”在于它是开源、免费的,而且更加精简。
早在 2016 年,麻省理工学院(MIT)的研究人员就在Sanctum项目中尝试使用RISC-V实现Intel SGX类似的功能基础PoC,不同的是,和Intel SGX的复杂且封闭的设计和实现完全不同,基于RISC-V的产品可以做到完全的开放,这让芯片生态颠覆有了可能。而最新版本的Sanctum使用Rocket开放核实现了PUF,attestation以及verifiedboot相关的构建信任链条的核心功能。
近日,MIT再次和开发出这种“RISC-V”架构的加州大学伯克利分校合作,开发了另外一个名为“Keystone”的项目。据悉,Keystone一个是基于RISC-V中的现有硬件功能开发开源TEE的项目。
加州大学伯克利分校计算机科学教授Dawn Song表示,从安全社区的角度来看,拥有值得信赖的secure enclaves对于构建安全系统而言非常重要,甚至可以将其视为计算机安全中的“圣杯”之一。
Song最近刚参加完一个推进Keystone的研讨会,与会者还包括众多来自Facebook、谷歌、英特尔、微软、加州大学伯克利分校、麻省理工学院、斯坦福大学以及华盛顿大学等的技术专家。
Keystone项目旨在构建一个可信执行环境(Trusted Execution Environment,简称TEE)。所谓“可信执行环境”(TEE)指的是移动设备(包含智能手机、平板电脑、机顶盒、智能电视等)主处理器上的一个安全区域,其可以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性。
TEE提供一个隔离的执行环境,提供的安全特征包含:隔离执行、可信应用的完整性、可信数据的机密性、安全存储等。总体来说,TEE提供的执行空间比常见的移动操作系统(如IoS、Android等)提供更高级别的安全性;比安全元素SE(Secure Element,如智能卡、SIM卡等)提供更多的功能。
随着公共云提供商的兴起,以及虚拟机和容器的激增,TEE已经变得越来越重要。那些在其他人的硬件上运行敏感工作负载的人,更愿意在这方面花费成本来确保他们自己的数据可以保持隔离和安全。
目前,市场上已经有各种各样的安全硬件技术:英特尔有一套名为“软件防护扩展”(Software Guard Extensions,简称SGX)的指令,主要功能是在计算平台上提供一个可信的空间(类似“沙盒”),以保障用户关键代码和数据的机密性和完整性;AMD拥有安全处理器和安全加密虚拟化(SEV)机制,旨在加密运行在 AMD CPU 服务器上虚拟机的数据;ARM则拥有TrustZone,以及其他诸如此类的等等。
但是,事实证明,这些技术既没有实现开发者所宣传的强大安全性(近年来,黑客破解SGX、SEV等的新闻不绝于耳),也没有实现网络安全专业人士所期待的开放/开源性。
这并不是说开源安全因素可以免受这些问题的影响,但是带有源代码的开放式规范将更加值得信赖,因为它能够被仔细地检查。而目前市场上的这些解决方案都并非开源式的,所以很难验证其安全性和正确性。如今,通过Keystone项目,我们将启用一个完全开源的软件和硬件资源。
RISC-V业务
此外,RISC-V微体系结构看起来不太容易受到“测信道攻击”(side-channel attack)影响。正如今年早些时候“Spectre”和“Meltdown”漏洞披露后,非盈利组织RISC-V基金会(RISC-V Foundation)所说的那样,这些安全漏洞并没有影响RISC-V芯片,也没有影响流行的开源RISC-V Rocket处理器,因为该处理器不会推测性地执行存储器访问。
在这里需要特别指出的是,RISC-V开源乱序执行处理器BOOM(Berkeley Out-of-Order Machine)支持分支预测和推测执行,因此不能全然假设“RISC-V微体系结构完全不受测信道攻击影响”。
RISC-V是相对较新的技术领域,直至2010年才正式推出。但是其发展势头迅猛,即便是像AMR这样的老牌芯片制造商也将其视为劲敌,认为其足以撼动自己的地位!
但目前尚不清楚RISC-V硬件的制造商是否会将其产品全面开放。谷歌软件工程师兼coreboot创建者之一的Ronald Minnich最近指出,HiFive RISC-V芯片(首个基于 RISC-V的芯片)已经申请了专利。
在RISC-V技术发展早期,我们看到了很多隐含的“开放”讯息,但是目前的发展情况却并非如此。即便是开放式指令集也未必一定会走向开放式实现。RISC-V的开放式实现需要其制造商承诺在各个层面开放,而不仅仅是指令集。
RISC-V最终可能会走向更安全的芯片设计,其中包含从Spectre、Meltdown以及Foreshadow芯片漏洞中吸取的经验教训。
声明:本文来自安全牛,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。