Google的OpenTitan计划,想通过开源框架减少芯片被破解的可能

隐私安全是今年Google最喜欢强调的一件事,作为一家以数据为基础提供服务的公司,一方面全世界有很多人不得不提供给Google极为大量的数据,另一方面如何保证数据安全也成了Google必须要解决的问题。

今天我们暂且抛开用户政策这些软性的东西,从硬件去看一下Google最近在做些什么。

(Source:Google)

你可能发现在过去的两年中,Google的硬件产品大多数都会提到一个以往我们都很陌生的词汇──Titan security chip。就像苹果使用专门的芯片去保护安全一样,这是Google自己的安全防御芯片。

Titan芯片是Google在2017年时推出的安全芯片,目前这个芯片已经用于Google服务器、智能手机和笔记本电脑中,比如最近的Pixel 4系列中我们就能够看到Titan芯片的身影。Titan芯片会在设备启动的时候检查正在加载的固件和软件,并通过密钥检查的方式减少启动攻击的机会。

目前Titan芯片是Google自己专属,还没有用在Google系产品以外的地方。但现在情况有了变化,除了一直以来的合作伙伴之外,Google还可能把用到的部分技术提供给所有人。

OpenTitan这个计划就是为此诞生的,这个计划旨在使芯片设计更加一致,同时减少封闭以及朝着更安全这个方向努力。Google的安全副总裁Royal Hansen最近表示,对硅变成芯片的设计进行开源,会让它变得更透明和可信赖,并最终实现安全性。

他还表示:“我们制造了自己的芯片并自主设计了它们,我们知道中间有什么东西,这是我们启动信任的第一件事。但是其他人的呢?”

Google现有的Titan芯片可以确保设备启动的时候是验证码安全情况下,该公司表示,这个能力“为其数据中心创建提供了信任的硬件根基”,团队希望将这种信任带入到其他芯片中。

目前OpenTitan团队正在创建一个开放源码的微处理器,其中包含验证系统、固件以及整个产品的设计和布局所需要的加密元素。旨在使任何人都可以检查和评估设计,最终可以将其内置到数据中心服务器、存储设备设备和其他技术应用之中。

芯片安全有多重要?比如Nvidia的芯片漏洞导致Switch被破解。但更多的时候,当我们所依赖的设备芯片中存在安全漏洞时,结果可能是灾难性的,比如在2018年1月被披露,影响巨大的Spectre和Meltdown漏洞。

(Source:spectre attack)

这种芯片上的硬件漏洞能追溯到英特尔1995年制造的芯片,而且其他的CPU设计商像是ARM和AMD也没摆脱这些困境。这些问题导致了后来像Google、微软、Mozilla以及苹果都争前恐后发布了修补程序。在漏洞问题被曝光一年多以后,一支由英特尔专家组成的精英团队还在应对这件事的善后处理。

Royal Hansen还说:“在这个数字化的世界中,如果没有信任的根基,就难以对这个世界的未来充满信心,考虑一下现在我们对软件的社会依赖性,而软件在硬件上启动,这是我们对软件充满信心的唯一方法。”

为了计划的中立性,Google会跟OpenTitan计划保持一定的距离,并不会直接管理它们。考虑到这是一个可能会改变量百万个设备中使用的芯片构造方式的方案,它由非盈利性硬件组织lowRISC来推动。

lowRISC董事会成员Gavin Ferris表示,距离OpenTitan的发布已经过去18个月了,该小组仍然处于初期工作的中期,使用该框架生产的第一批芯片面世可能还需要18个月的时间。

但是Ferris还表示,OpenTitan背后的想法是尽可能多地去开源技术,以提高围绕信任根源的安全性。用于提高安全性的开源技术并没有什么新鲜之处,而且我们最常在软件中看到这些技术应用。比如包括亚马逊、Facebook、微软、Google等在内的FIDO联盟正在努力消除我们对密码的依赖。FIDO还创建了一套规则可用于帮助识别人员。

(Source:sh​​utterstock)

对任何人都开放使用的软件基本都允许人们对其进行安全漏洞的检查,比如端到端加密应用Signal的代码,包括Android、Linux和Google的Chromium也从开源获益不少。

但是硬件则是一条完全不同的思路,因为推出实体的产品很难赚到钱,而且制造单个组件通常还需要非常多的知识产权。如何把硬件世界带入到开源中去,是OpenTitan需要考虑的事情,而他们现在面临的挑战是如何吸引更多的公司去实施芯片设计。

Hansen和Ferris都提到,保证安全性可能是大规模使用开源硬件的一种方式,沿着硬件的生生产线前进能够将不同的设备和系统都纳入设计中,他们希望看到更多的硬件制造商使用OpenTitan创造的框架。

这对Google来说有什么好处?首先它们可能不用再花费数百万美元来制造自己的芯片,其次人人都可以使用相同的方式来使用这种开源框架,这种信任是可转移的,而不是通常我们从一家公司换到另一家公司,充满着对硬件、软件信任方面的疑虑。