中文 英语
18lickc新利
的意见

开源硬件信任根的安全验证

确保在整个设计生命周期中正确地集成和配置安全特性。

受欢迎程度

作者:杰森·奥伯格和多米尼克·里佐

OpenTitan是一个强大的开源信任项目硅根,从零开始设计,为企业、平台提供商和芯片制造商提供透明、可信、安全的实现。它包括许多硬件安全特性,从安全引导和远程认证到私有用户数据的安全存储。开源开发模式使OpenTitan可以作为学术创新的工具,同时也可以作为一个有效的商业平台。

Cycuity提供软件产品,帮助检测和防止半导体设计过程中意外的设计弱点。Radix产品线为所有类型的硅器件提供严格的硬件安全保证,帮助制造或依赖半导体的公司更系统和可预测地实现安全签名。OpenTitan免费提供的、许可的、以安全为重点的设计提供了一个展示Cycuity技术的理想机会,同时在这个过程中为OpenTitan的设计提供了更大的保证。

由于信任的开源硬件根源是一项新技术——OpenTitan是第一个——因此透明地建立对其正确性的信心非常重要。由于其开放可用性,Cycuity能够使用OpenTitan设计来演示使用安全验证来显示开源硬件的可信度的有效性。我们与加州大学圣地亚哥分校的Ryan Kastner教授及其实验室合作,成功地将Cycuity的Radix技术应用于OpenTitan的OTP控制器,验证了一些具有挑战性的安全需求。

安全验证的重要性

OpenTitan丰富的安全功能套件使其能够成为采用它的系统的可信信任根。从根本上说,这意味着这些安全特性必须最大限度地正确。系统地指定安全需求,然后为这些需求构建安全验证计划,有助于实现最高级别的设计保证。

由于很难将安全需求轻松地映射到简洁的验证规则,并且能够在现有的设计验证环境中执行这些规则,因此安全性验证通常具有挑战性。此外,安全需求通常是模糊的或不明确的,使得紧凑验证语句的规范变得困难。

Cycuity的Radix产品使用信息流,这是一种创新技术,可以非常有效地根据需求创建简洁的安全规则,并轻松识别设计中未知或意外弱点对安全需求的任何违反。如果没有明确定义安全需求,Radix的安全分析功能也可以非常有效地帮助细化这些需求。

示例:OpenTitan OTP控制器的安全要求

Radix基于设计资产构建安全需求。为了有效地做到这一点,应确定安全需求的几个组成部分,包括:

  • 资产:设计中应该保护的资源不受攻击
  • 安全目标:资产的机密性、完整性或可用性
  • 保护而且保护边界对于安全目标下的设计资产

使用此框架创建了简洁且可验证的安全需求,可以在Radix软件中轻松执行。

OpenTitan的许多资产都需要保护,以确保其安全运营。一个例子是存储在OpenTitan的一次性可编程(OTP)内存控制器中的随机网络列表密钥,用于打乱用户密钥,以保护它们免受物理攻击,例如来自故障注入的攻击。通过使用上面描述的方法,我们为这个随机网络列表关键资产创建了一个简明的安全需求:

RndCnstKey不应该在OTP输出上读取

从这个安全性需求中,我们能够将资产标识为RndCnstKey安全目标为保密性,保护边界为OTP输出.有了这些信息,我们就可以轻松地创建一个Radix安全规则,并在Radix中执行它,以分析任何违反安全的情况。

分析安全违规

安全验证过程的一个关键组件是安全分析。这对于确保简洁地指定安全需求以及帮助识别未知的设计弱点至关重要。通过使用Radix的安全分析功能,我们能够验证随机常量键永远不会以未被扰乱的形式出现在OTP控制器的输出中,这是一件好事。

在将Radix应用于OTP控制器时,我们还识别了出现在扰频器输出上的随机常量键的中间值。这很有趣,也很令人惊讶,但由于中间值被保护在OTP输出的边界上,因此被确定为低风险。即便如此,这些信息使OpenTitan能够推出一个解决方案,以减轻这种泄漏,以充分警惕未来潜在的威胁。

这种系统分析使我们能够提供强有力的保证,即对手不太可能恢复随机常量密钥并破坏OTP控制器内的缓解措施,因为它能够从外部访问密钥信息的唯一方法是当密钥处于打乱形式时。我们将继续致力于其他几个设计资产和安全需求,以类似的方式验证OpenTitan中的其他重要安全功能。我们还将与社区分享安全需求和发现,以帮助推进OpenTitan的安全开发生命周期。

总结

OpenTitan是一个强大的信任设计的硅根,具有构建基于硬件的安全系统所必需的全面安全功能。与其他最佳实践一起,定义简明的安全需求并执行系统的安全验证有助于确保在整个设计生命周期中安全地集成和配置这些功能。

通过Radix独特的安全分析能力,我们能够识别出OpenTitan块设计的改进,这是传统功能验证技术有时会遗漏的。这已经并将继续增加OpenTitan公开透明提供的安全保证。

多米尼克·里佐(Dominic Rizzo)是谷歌OpenTitan项目的技术主管和经理。



留下回复


(注:此名称将公开显示)

Baidu