开源 OpenTitan 芯片将取代英特尔和 ARM 专有的信任根

开源 OpenTitan 芯片将取代英特尔和 ARM 专有的信任根

Некоммерческаяорганизация 低RISC 与 Google 和其他赞助商合作,5 年 2019 月 XNUMX 日 提交 项目 开放泰坦,它称之为“第一个开源项目,旨在创建一个开放的、高质量的芯片架构,并在硬件层面具有信任根(RoT)。”

基于 RISC-V 架构的 OpenTitan 是一款专用芯片,用于安装在数据中心的服务器和任何其他需要确保启动真实性、保护固件免遭更改并消除 Rootkit 可能性的设备上:这些是主板、网卡、路由器、物联网设备、移动设备等。

当然,现代处理器中也存在类似的模块。 例如,英特尔硬件启动保护模块是英特尔处理器的信任根源。 它在加载操作系统之前通过信任链验证 UEFI BIOS 的真实性。 但问题是,鉴于我们无法保证设计中不会出现错误,并且无法检查它,我们可以在多大程度上信任专有的信任根? 看文章 “薛定谔值得信赖的下载。 英特尔启动保护” 描述了“多年来在多家供应商的生产中克隆的错误如何允许潜在的攻击者使用该技术在系统中创建无法删除的隐藏rootkit(即使使用程序员)。

供应链中设备受损的威胁出奇地真实:显然,任何业余电子工程师 可以将错误焊接到服务器主板上使用成本不超过 200 美元的设备。 一些专家怀疑“预算数亿美元的组织可能会这样做很多年”。 虽然没有证据,但理论上是有可能的。

“如果你不能信任硬件引导加载程序,那么游戏就结束了,” Gavin Ferris,lowRISC 董事会成员。 - 操作系统做什么并不重要 - 如果当操作系统加载时你已经受到损害,那么剩下的就是技术问题了。 你已经完成了。”

这个问题应该由同类第一个开放硬件平台 OpenTitan 来解决(GitHub 存储库, 文件, 硬件规格)。 谷歌表示,摆脱专有解决方案将有助于改变“低迷且有缺陷的 RoT 行业”。

在发现英特尔管理引擎(ME)芯片中内置的 Minix 操作系统后,谷歌本身开始开发 Titan。 这种复杂的操作系统以不可预测和不可控的方式扩大了攻击面。 谷歌 试图摆脱英特尔管理引擎(ME),但没有成功。

信任的根源是什么?

系统启动过程的每个阶段都会检查下一个阶段的真实性,从而生成 信任链.

信任根 (RoT) 是一种基于硬件的身份验证,可确保信任链中第一个可执行指令的来源无法更改。 RoT 是针对 Rootkit 的基本保护。 这是启动过程中的关键阶段,涉及到系统后续的启动——从BIOS到OS和应用程序。 它必须验证每个后续下载步骤的真实性。 为此,每个阶段都会使用一组数字签名密钥。 TPM(可信平台模块)是最流行的硬件密钥保护标准之一。

开源 OpenTitan 芯片将取代英特尔和 ARM 专有的信任根
建立信任根。 上面是一个五步启动过程,它创建了一个信任链,从不可变内存中的引导加载程序开始。 每个步骤都使用公钥来验证下一个要加载的组件的身份。 佩里·李的书中的插图 《物联网架构》

RoT 可以通过不同的方式启动:

  • 从固件或不可变内存加载映像和根密钥;
  • 使用熔丝位将根密钥存储在一次性可编程存储器中;
  • 将代码从受保护的内存区域加载到受保护的存储中。

不同的处理器以不同的方式实现信任根。 英特尔和ARM
支持以下技术:

  • ARM信任区。 ARM 向芯片制造商出售专有的硅块,提供信任根和其他安全机制。 这将微处理器与不安全的核心分开; 它运行受信任的操作系统,这是一个安全的操作系统,具有定义明确的接口,用于与不安全的组件进行交互。 受保护的资源驻留在可信核心中,并且应该尽可能轻量。 不同类型的组件之间的切换是使用硬件上下文切换来完成的,从而无需安全监控软件。
  • 英特尔引导卫士 是一种硬件机制,用于通过加密方式或通过测量过程来验证初始引导块的真实性。 为了验证初始块,制造商必须生成一个 2048 位密钥,该密钥由两部分组成:公共和私有。 公钥是通过在制造过程中“引爆”熔丝位而印在电路板上的。 这些位是一次性使用的,不能更改。 密钥的私有部分生成数字签名,用于后续下载阶段的身份验证。

OpenTitan 平台公开了此类硬件/软件系统的关键部分,如下图所示。

开源 OpenTitan 芯片将取代英特尔和 ARM 专有的信任根

开放泰坦平台

OpenTitan 平台的开发由非营利组织 lowRISC 管理。 工程团队位于英国剑桥,主要赞助商是谷歌。 创始合作伙伴包括苏黎世联邦理工学院、捷德移动安全、新唐科技和西部数据。

谷歌 发布公告 Google 开源公司博客上的项目。 该公司表示,OpenTitan 致力于“为数据中心服务器、存储、边缘设备等的 RoT 设计和集成提供高质量的指导”。

信任根是可信计算模块中最底层信任链的第一个环节,始终受到系统的完全信任。

RoT 对于包括公钥基础设施 (PKI) 在内的应用程序至关重要。 它是物联网应用程序或数据中心等复杂系统所依赖的安全系统的基础。 那么谷歌支持这个项目的原因就很清楚了。 目前它在五大洲拥有19个数据中心。 数据中心、存储和关键任务应用程序存在巨大的攻击面,为了保护这些基础设施,谷歌最初在 Titan 芯片上开发了自己的信任根。

专有泰坦芯片 首次推出针对Google数据中心的 在今年3月的2017 在 Google Cloud Next 会议上。 “我们的计算机对每个软件包执行加密检查,然后决定是否授予其访问网络资源的权限。 Titan 集成到这个过程中并提供额外的保护层,”谷歌代表在演讲中说道。

开源 OpenTitan 芯片将取代英特尔和 ARM 专有的信任根
谷歌服务器中的泰坦芯片

Titan 架构以前由 Google 所有,但现在作为开源项目成为公共领域。

该项目的第一阶段是在芯片级创建逻辑 RoT 设计,包括开源微处理器 低RISC ibex、加密处理器、硬件随机数生成器、用于非易失性和非易失性存储的密钥和内存层次结构、安全机制、I/O 外设和安全启动过程。

谷歌表示 OpenTitan 基于三个关键原则:

  • 每个人都有机会查看平台并做出贡献;
  • 通过开放不受专有供应商限制阻碍的逻辑安全设计来提高灵活性;
  • 质量不仅由设计本身保证,还由参考固件和文档保证。

“当前具有信任根的芯片是非常专有的。 Google Titan 项目的首席安全专家 Dominic Rizzo 表示,他们声称是安全的,但实际上,你认为这是理所当然的,无法自己验证。 “现在,第一次可以在不盲目相信专有信任根设计的开发人员的情况下提供安全性。 所以基础不仅扎实,而且是可以验证的。”

Rizzo 补充道,OpenTitan 可以被视为“与当前状态相比完全透明的设计”。

据开发人员称,OpenTitan 绝不应该被视为成品,因为开发尚未完成。 他们特意在开发过程中开放了规格和设计,以便每个人都可以在生产开始之前对其进行审查、提供输入并改进系统。

要开始生产 OpenTitan 芯片,您需要申请并获得认证。 显然,不需要版税。

来源: habr.com

添加评论