Некоммерческаяорганизация
基于 RISC-V 架构的 OpenTitan 是一款专用芯片,用于安装在数据中心的服务器和任何其他需要确保启动真实性、保护固件免遭更改并消除 Rootkit 可能性的设备上:这些是主板、网卡、路由器、物联网设备、移动设备等。
当然,现代处理器中也存在类似的模块。 例如,英特尔硬件启动保护模块是英特尔处理器的信任根源。 它在加载操作系统之前通过信任链验证 UEFI BIOS 的真实性。 但问题是,鉴于我们无法保证设计中不会出现错误,并且无法检查它,我们可以在多大程度上信任专有的信任根? 看文章
供应链中设备受损的威胁出奇地真实:显然,任何业余电子工程师
“如果你不能信任硬件引导加载程序,那么游戏就结束了,”
说 Gavin Ferris,lowRISC 董事会成员。 - 操作系统做什么并不重要 - 如果当操作系统加载时你已经受到损害,那么剩下的就是技术问题了。 你已经完成了。”
这个问题应该由同类第一个开放硬件平台 OpenTitan 来解决(
在发现英特尔管理引擎(ME)芯片中内置的 Minix 操作系统后,谷歌本身开始开发 Titan。 这种复杂的操作系统以不可预测和不可控的方式扩大了攻击面。 谷歌
信任的根源是什么?
系统启动过程的每个阶段都会检查下一个阶段的真实性,从而生成 信任链.
信任根 (RoT) 是一种基于硬件的身份验证,可确保信任链中第一个可执行指令的来源无法更改。 RoT 是针对 Rootkit 的基本保护。 这是启动过程中的关键阶段,涉及到系统后续的启动——从BIOS到OS和应用程序。 它必须验证每个后续下载步骤的真实性。 为此,每个阶段都会使用一组数字签名密钥。 TPM(可信平台模块)是最流行的硬件密钥保护标准之一。
建立信任根。 上面是一个五步启动过程,它创建了一个信任链,从不可变内存中的引导加载程序开始。 每个步骤都使用公钥来验证下一个要加载的组件的身份。 佩里·李的书中的插图
RoT 可以通过不同的方式启动:
- 从固件或不可变内存加载映像和根密钥;
- 使用熔丝位将根密钥存储在一次性可编程存储器中;
- 将代码从受保护的内存区域加载到受保护的存储中。
不同的处理器以不同的方式实现信任根。 英特尔和ARM
支持以下技术:
- ARM信任区。 ARM 向芯片制造商出售专有的硅块,提供信任根和其他安全机制。 这将微处理器与不安全的核心分开; 它运行受信任的操作系统,这是一个安全的操作系统,具有定义明确的接口,用于与不安全的组件进行交互。 受保护的资源驻留在可信核心中,并且应该尽可能轻量。 不同类型的组件之间的切换是使用硬件上下文切换来完成的,从而无需安全监控软件。
- 英特尔引导卫士 是一种硬件机制,用于通过加密方式或通过测量过程来验证初始引导块的真实性。 为了验证初始块,制造商必须生成一个 2048 位密钥,该密钥由两部分组成:公共和私有。 公钥是通过在制造过程中“引爆”熔丝位而印在电路板上的。 这些位是一次性使用的,不能更改。 密钥的私有部分生成数字签名,用于后续下载阶段的身份验证。
OpenTitan 平台公开了此类硬件/软件系统的关键部分,如下图所示。
开放泰坦平台
OpenTitan 平台的开发由非营利组织 lowRISC 管理。 工程团队位于英国剑桥,主要赞助商是谷歌。 创始合作伙伴包括苏黎世联邦理工学院、捷德移动安全、新唐科技和西部数据。
谷歌
信任根是可信计算模块中最底层信任链的第一个环节,始终受到系统的完全信任。
RoT 对于包括公钥基础设施 (PKI) 在内的应用程序至关重要。 它是物联网应用程序或数据中心等复杂系统所依赖的安全系统的基础。 那么谷歌支持这个项目的原因就很清楚了。 目前它在五大洲拥有19个数据中心。 数据中心、存储和关键任务应用程序存在巨大的攻击面,为了保护这些基础设施,谷歌最初在 Titan 芯片上开发了自己的信任根。
谷歌服务器中的泰坦芯片
Titan 架构以前由 Google 所有,但现在作为开源项目成为公共领域。
该项目的第一阶段是在芯片级创建逻辑 RoT 设计,包括开源微处理器
谷歌表示 OpenTitan 基于三个关键原则:
- 每个人都有机会查看平台并做出贡献;
- 通过开放不受专有供应商限制阻碍的逻辑安全设计来提高灵活性;
- 质量不仅由设计本身保证,还由参考固件和文档保证。
“当前具有信任根的芯片是非常专有的。 Google Titan 项目的首席安全专家 Dominic Rizzo 表示,他们声称是安全的,但实际上,你认为这是理所当然的,无法自己验证。 “现在,第一次可以在不盲目相信专有信任根设计的开发人员的情况下提供安全性。 所以基础不仅扎实,而且是可以验证的。”
Rizzo 补充道,OpenTitan 可以被视为“与当前状态相比完全透明的设计”。
据开发人员称,OpenTitan 绝不应该被视为成品,因为开发尚未完成。 他们特意在开发过程中开放了规格和设计,以便每个人都可以在生产开始之前对其进行审查、提供输入并改进系统。
要开始生产 OpenTitan 芯片,您需要申请并获得认证。 显然,不需要版税。
来源: habr.com