
在2019年11月5日,由Google和其他赞助商参与的非营利性
lowRISC组织
介绍了
OpenTitan项目,该项目被
称为``第一个开源项目,以硬件为基础建立具有信任根(RoT)的开放,高质量的芯片架构''。
RISC-V架构上的OpenTitan是一种专用芯片,用于安装在数据中心的服务器和任何其他需要确保下载真实性,保护固件免受更改并消除Rootkit可能性的设备中:这些是主板,网卡,路由器,IoT设备,移动小工具等。
当然,这样的模块在现代处理器中。 例如,英特尔Boot Guard硬件模块是英特尔处理器信心的根本。 在启动操作系统之前,它将通过信任链验证UEFI BIOS的真实性。 但是问题是,鉴于我们不能保证设计中没有错误,但是没有办法进行验证,我们可以信任信任的专有根源吗? 请参阅文章
“Schrödinger可信下载”。 英特尔Boot Guard的描述是“多年来,几个供应商生产中的克隆错误如何使潜在的攻击者能够使用此技术在不可删除的(甚至程序员)系统中创建隐藏的rootkit。”
供应链中的设备受损的威胁令人惊讶地真实存在:似乎任何业余电子工程师
都可以使用价值不超过200美元的设备
焊接服务器主板中的错误 。 一些专家怀疑“拥有数亿美元预算的组织可以在很多年内做到这一点”。 尽管没有证据,但理论上是可能的。
lowRISC董事会成员加文·费里斯(Gavin Ferris) 说: “如果您不信任硬件下载器,那么游戏就结束了。” -操作系统做什么无关紧要-如果您在操作系统加载时受到损害,那么剩下的就是技术问题了。 您已经完成了。”
这个问题应该通过第一个开放式硬件平台OpenTitan(
GitHub存储库 ,
文档 ,
硬件规范 )解决。 谷歌表示,避免使用专有解决方案将改变“笨拙且不完善的RoT行业”。
Google自己开始开发Titan,发现了集成到英特尔管理引擎(ME)芯片中的Minix操作系统。 这个复杂的操作系统以一种无法预测和无法控制的方式扩大了攻击面。 Google
试图摆脱Intel Management Engine(ME) ,但失败了。
信任的根源是什么?
系统引导过程的每个阶段都会验证下一阶段的真实性,从而形成
信任链 。
信任根(RoT)是一种基于硬件的身份验证,可确保信任链中第一条可执行指令的源不被更改。 RoT是针对Rootkit的基本保护措施。 这是引导过程中的关键步骤,引导过程涉及进一步的系统启动-从BIOS到OS和应用程序。 他必须验证每个后续下载步骤的真实性。 为此,在每个阶段使用一组带有数字签名的密钥。 TPM(受信任的平台模块)是最流行的基于硬件的密钥保护标准之一。
建立信任的根源。 上面是一个五阶段下载,它形成了信任链,并从位于不可更改内存中的引导加载程序开始。 在每个阶段,都会使用公共密钥来认证下一个可下载组件。 来自Perry Lee 的IoT架构的插图RoT可以通过多种方式启动:
- 从固件或不可变内存中加载映像和根密钥;
- 使用熔丝位将根密钥存储在一次性可编程存储器中;
- 将代码从内存的受保护区域加载到受保护的存储中。
在不同的处理器中,信任的根源以不同的方式实现。 英特尔与ARM
支持以下技术:
- ARM TrustZone 。 ARM正在向芯片制造商出售专有的硅块,这提供了信心和其他安全机制的根源。 因此,微处理器与不安全的内核是分开的。 它运行Trusted OS,这是一个安全的操作系统,具有定义明确的界面,可与不安全的组件进行交互。 受保护的资源位于受信任的内核中,并且应尽可能轻巧。 使用硬件上下文切换可完成不同类型组件之间的转换,从而消除了对安全监控软件的需求。
- 英特尔Boot Guard是一种硬件机制,用于使用加密工具或通过测量过程对初始启动块进行身份验证。 要检查初始块,制造商必须生成一个2048位密钥,它由两部分组成:公用和专用。 通过在生产阶段“引爆”保险丝位,将公钥印在板上。 这些位是一次性的,不能更改。 密钥的私有部分会生成数字签名,以供下载阶段的后续身份验证。
OpenTitan平台揭示了这种固件系统的关键部分,如下图所示。

OpenTitan平台
OpenTitan平台的开发受非营利组织lowRISC的控制。 工程团队位于英国剑桥,主要赞助商是Google。 创始合作伙伴包括苏黎世瑞士高级技术学校,捷德移动安全,新唐科技和Western Digital。
Google在Google Open Source的公司博客中
发布了该项目
的公告 。 该公司表示,OpenTitan致力于“提供用于数据中心服务器,存储,外围设备等的高质量RoT设计和集成指南。”
信任的根是信任链中最底层的信任链中的第一个链接,系统始终完全信任该信任模块。
RoT对于包括公钥基础结构(PKI)在内的应用程序至关重要。 这是复杂系统所基于的安全系统的基础,例如IoT应用程序或数据中心。 因此,很清楚Google为什么支持该项目。 她现在在五大洲拥有19个数据中心。 数据中心,存储和关键任务应用程序构成了广泛的攻击面,并且为了保护这种基础结构,Google最初在Titan芯片上建立了自己的信任根源。
用于Google数据中心
的专有Titan芯片于
2017年3月在Google Cloud Next会议上首次推出。 “我们的计算机对每个软件包进行加密检查,然后决定是否允许它访问网络资源。 Google代表在演讲中说:“ Titan融入了这一过程,并提供了额外的保护层。”
Google服务器中的芯片泰坦Titan架构由Google拥有,但现在已成为一个开放源代码项目的公共领域。
该项目的第一阶段是在微电路级别创建RoT逻辑设计,包括
低RISC ibex开源微处理器,密码处理器,硬件随机数生成器,非易失性和非易失性存储的密钥和内存层次结构,安全机制,外围输入/输出设备以及安全启动过程。
谷歌表示,OpenTitan基于三个关键原则:
- 每个人都有机会测试平台并做出贡献;
- 由于开放了逻辑上安全的设计而不受供应商专有禁止的限制,从而提高了灵活性;
- 质量不仅可以通过设计本身来保证,还可以通过参考固件和文档来保证。
“目前具有信任根的芯片非常专有。 他们声称具有安全性,但实际上,您是坚守信念的,您无法自己对其进行测试,” Google Titan项目首席安全专家Dominic Rizzo说。 “现在,这是第一次机会,为信任根源的专有设计的开发人员提供了无盲目信任的安全性。 因此,基础不仅牢固,而且可以检查。”
Rizzo补充说,与当前情况相比,OpenTitan可以被认为是一种“极透明的设计”。
根据开发人员的说法,绝不应该将OpenTitan视为最终产品,因为开发尚未完成。 他们在开发过程中故意开放规格和设计,以便每个人都可以在开始生产之前对其进行测试,做出贡献并改进系统。
要开始制造OpenTitan芯片,您需要申请并获得认证。 显然,不需要使用费。