芯片设计的核心技术与关键优势!
应对网络威胁正在成为芯片和系统设计的一个组成部分,并且更加昂贵和复杂。
随着芯片制造商努力解决如何构建既设计安全又具有足够弹性以在整个生命周期保持安全的设备,安全性正在设计流程中左右转移。
随着越来越复杂的设备连接到互联网并相互连接,IP 供应商、芯片制造商和系统公司正在竞相解决更广泛的攻击面中的现有和潜在威胁。在许多情况下,安全性已经从一系列无休无止的软件补丁升级为硬件/软件设计过程中不可或缺的一部分,带来了越来越丰厚的竞争优势,而对于犯错的公司来说,监管行动的威胁也越来越大。
英飞凌互联安全系统部门总裁 Thomas Rosteck 在最近的一次演讲中表示:“每秒就有 127 台设备首次连接到互联网。” “到 2027 年,连接互联网和相互连接的设备数量将达到惊人的 430 亿台。”
这也将带来巨大的安全挑战。Arm市场开发高级总监 David Maidment 指出:“随着连接的增加和数字服务的扩展,企业和消费者越来越担心他们的数据会发生什么。” “在过去的五年里,世界各地政府的监管已经成熟,制造商有责任满足越来越多的安全标准,以确保这些服务是可信的、安全的和正确管理的。”
尽管如此,合理且谨慎的安全方法仍包含许多考虑因素。“首先,必须首先了解特定应用程序的威胁概况,以及需要保护的特定资产——数据、信息或系统,”Synopsys 安全 IP 解决方案总监 Dana Neustadter表示。“是否有特定的法律、法规和/或类型的要求会影响该解决方案?换句话说,你必须先做一些功课。您必须能够回答一些问题,例如产品是否仅关注基于网络的威胁,或者是否存在需要物理访问的潜在攻击。是否可以直接通过网络访问该特定产品,或者它是否会受到系统其他部分的保护,例如可以像防火墙一样提供某种程度的保护?安全方面的法规或标准合规性或可能的认证要求是什么?这些资产的价值是多少?”
此外,设备需要在所有条件和操作模式下都是安全的。“当系统离线时,你需要保护它,因为例如,不良行为者可以更换外部存储器,或者他们可以窃取 IP 代码,”Neustadter 说。“他们可以重新刷新设备。您还需要在加电期间保护它,并且需要在设备运行时在运行时保护它。您需要确保它仍然按预期运行。那么,在对外交流的时候,你也需要对其进行保护。通常有许多变量会影响安全解决方案,包括特定的应用程序。最终,整体安全解决方案需要保持平衡。“安全平衡”包括安全功能、协议、认证等,以及成本、功耗、性能和面积权衡,因为例如,您无法为电池提供最高级别的安全性- 供电设备。这没有意义,因为它是一种成本较低的设备。你确实必须寻找平衡点,所有这些都将影响芯片的适当安全架构。”
其他人也同意。“当我们向设备引入安全性时,我们采取的第一步是根据设备在整个系统中的作用来评估设备的安全资产,”Winbond 技术主管 Nir Tasher说道。“当我们绘制这些资产的地图时,我们也在评估这些资产的攻击潜力。并非所有资产都会立即被识别。调试和测试端口等功能也应被视为资产,因为它们可能在系统整体安全性中发挥作用。一旦映射和评级完成,我们就会评估破坏每项资产的潜在方法以及所涉及的复杂性。下一步是找到防止这些攻击的方法,或者至少检测它们。最后一步显然是测试最终产品,以确保我们所包含的任何保护功能都能正常运行。”
设计确保
安全硬件和系统安全性的重大变化之一是认识到它不再是别人的问题。曾经是事后才想到的东西现在变成了竞争优势,需要融入到架构层面的设计中。
Rambus安全 IP 业务开发总监 Adiel Bahrouch 表示:“这一基本原则强调将安全性集成到芯片设计开发流程中,确保从一开始就确定安全目标、要求和规范。” “这种方法要求建立适当的威胁模型,识别具有价值并需要保护的有形和无形资产,根据适当的风险管理框架主动量化相关风险,并正确实施安全措施和控制以减轻风险一个可以接受的水平。”
巴鲁什表示,除了适当的威胁评估之外,考虑整体纵深防御战略的额外安全原则也至关重要。这包括信任链,其中每一层都提供下一层可以利用的安全基础,以及针对不同用户、数据类型和操作具有不同安全级别的域分离,从而允许针对每个用例优化性能和安全性权衡。在现代系统中,这包括整个产品生命周期的威胁建模,以及分段访问权限和最小化共享资源的最小特权原则。
“预先定义 SoC 的安全架构至关重要,”Cadence Tensilica Xtensa 处理器 IP 产品营销组总监 George Wall说道。“定义安全架构的时间是当设计人员确定 SoC 的必要功能、馈送和速度等时。尽早做到这一点总是比稍后尝试“增加安全性”容易得多,无论是在流片前一周还是在生产交付后两年。”
整体防御远远超出了硬件的范围。“如果你想保护某些东西,即使是在软件的高抽象级别上,你也可以用 Python 或任何你选择的编程语言来完美地做到这一点,”首席嵌入式安全工程师兼微电子解决方案负责人 Dan Walters 说。“但如果它因硬件层面的妥协而受到破坏,那就没关系了。即使您拥有完美的软件安全性,您也可能会完全破坏整个系统。”
在大多数情况下,攻击者会选择阻力最小的路径。“对于安全来说,要么全有,要么全无,”沃尔特斯说。“攻击者只需找到一个缺陷,他们并不真正关心它在哪里。他们并不是说,‘我想通过破坏硬件来击败系统,或者我想通过找到软件缺陷来做到这一点。他们会寻找最简单的事情。”
最佳实践
为了应对不断扩大的威胁形势,芯片制造商正在充实他们的最佳实践清单。过去,安全性几乎完全局限于 CPU 的范围内。但随着设计变得更加复杂、联系更加紧密、使用寿命更长,需要更广泛地考虑安全性。西门子 EDA Tessent 部门产品营销总监 Lee Harrison 表示,这包括许多关键要素:
安全启动——硬件监控技术可用于检查规定的启动顺序是否按预期执行,以确保硬件和软件均符合预期。
证明 – 与安全启动类似,功能监控可用于生成代表系统中特定 IP 或 IC 的硬或软配置的动态签名。这证实了预期硬件及其配置的准确性。此方法可用于提供单个身份令牌或系统范围的令牌集合。该系统基于唯一的签名,可用于确保应用 OTA 更新的正确软件版本。至关重要的是,这是在系统内计算的,而不是硬编码的。
安全访问 – 与所有系统一样,进出设备的通信通道必须是安全的,并且在许多情况下,可以根据所需访问的不同级别进行配置,其中访问通常通过信任根进行控制。
资产保护 – 主动功能监控可能是任何纵深防御策略的关键部分。根据详细的威胁分析,在设备内选择和放置功能监视器可以提供低延迟的威胁检测和缓解。
设备生命周期管理 – 现在,在所有安全 IC 应用中,能够监控设备从制造到退役的整个生命周期的健康状况至关重要。功能监控和传感器在监控设备整个生命周期的健康状况方面发挥着重要作用。在某些情况下,主动反馈甚至可以通过在可能的情况下对外部方面进行动态调整来延长 IC 的有效寿命。
不同应用程序所部署的最佳实践可能存在很大差异。例如,汽车应用中的安全性比智能可穿戴设备中的安全性更令人担忧。
英飞凌内存解决方案执行副总裁 Tony Alvarez 在最近的一次演讲中表示:“自主性需要连接性,这会带来更高的安全性,从而实现自动化,而半导体确实是这里的基础。” “感知、解释数据、据此做出决策,这些都在表面之上。这就是你所看到的。系统的复杂性正在上升,但你看不到表面之下的内容,而这正是实现这一目标所需的所有部分——整个系统解决方案。”
阿尔瓦雷斯说,该系统包括与云、其他汽车和基础设施的通信,所有这些都必须可立即访问且安全。
其他应用程序的安全需求可能非常不同。但确定需要什么的过程是相似的。“首先,分析资产是什么,”华邦的塔舍尔说。“有时没有。有时,设备的每个部分都是或包含资产。对于后者,建议从头开始,但这种情况很少见。映射资产后,架构师需要分析这些资产的攻击向量。这是一个乏味的阶段,强烈建议外部咨询。另一双眼睛总是一件好事。从架构的角度来看,最后一个阶段是提出针对这些攻击的保护机制。是的,深入的系统知识在所有这些阶段都是必不可少的。”
Arm 大力支持在所有连接设备中纳入信任根(RoT),并部署安全设计最佳实践作为任何可行产品的基准。“RoT 可以提供必要的可信功能,例如可信启动、加密、证明和安全存储。RoT 最基本的用途之一是保持带有加密数据的私有密钥的机密性,受到硬件机制的保护,并且远离更容易被黑客攻击的系统软件。RoT 的安全存储和加密功能应该能够处理设备身份验证、验证声明以及加密或解密数据所需的密钥和可信处理,”Maidment 说。
鉴于很少有芯片设计是从一张白纸开始的,因此在设计芯片时应考虑到这一点。“每个设备和每个用例都是独一无二的,我们必须通过威胁建模来考虑所有系统的需求,”Maidment 解释道。“一些用例需要最佳实践的证据。其他人需要防止软件漏洞,还有一些人需要防止物理攻击。”
Arm 共同创立 PSA Certified 的工作表明,不同的芯片供应商正在寻找自己独特的卖点,并决定他们想要提供哪种级别的保护。“很难做到一刀切,但一套商定的通用原则是减少碎片化和实现适当安全稳健性的重要工具,今天向产品颁发的 179 份 PSA 认证证书证明了这一点,”梅德门特指出。
这与几年前有很大不同,当时可以在设计周期的后期将安全性添加到芯片中。“这不像过去那样,你可以只增加安全性。你会对芯片进行改造,并认为无需进行任何重大更改即可满足应用程序所需的安全性,”Synopsys 的 Neustadter 说。“根据上述前提设计安全解决方案非常重要。然后,您可以在未来的设计修订中采用更简化的流程来更新安全性,例如创建具有信任根的安全环境来保护敏感数据操作和通信。您可以通过多种方法创建可扩展、可扩展的安全解决方案,甚至可以在投片后对其进行更新,例如通过软件升级。因此,有一些方法可以将其构建到设计中,然后以更简化的方式将安全性从一个版本升级到另一个版本。”
安全修复
几乎在所有情况下,防止攻击比提供补丁来修复攻击更好。但具体实现方式可能存在很大差异。
例如,Flex Logix首席执行官 Geoff Tate表示,多家公司正在使用eFPGA来确保安全性,其他公司也在评估它们。“据我们了解,原因有多种,不同的公司有不同的安全担忧,”泰特说。“一些客户希望使用 eFPGA 来混淆制造过程中的关键算法。对于国防客户来说尤其如此。安全算法(即加密/解密)在一个 SoC 的多个位置实现。性能要求各不相同。为了获得非常高的持久安全性,它需要在硬件中。由于安全算法需要能够更新以应对不断变化的挑战,因此硬件需要可重新配置。处理器和软件可以被黑客攻击,但黑客攻击硬件要困难得多,因此在可编程硬件中拥有安全功能的一些关键部分是可取的。”
如果没有这种内置的可编程性,在攻击后修复安全问题就会困难得多。通常,这涉及某种类型的补丁,这通常是一种成本高昂且次优的解决方案。
“根据域分离原则,可以考虑以模块化的方式在现有芯片上添加一个独立的‘安全岛’,使芯片能够利用安全岛提供的所有安全功能,同时对现有芯片进行最小的改动”,Rambus 的巴鲁奇说道。“虽然这不是最有效的解决方案,但可以定制安全 IP 以满足安全要求和总体安全目标。尽管面临挑战,但不一定需要立即为每个功能利用嵌入式安全模块。架构师可以从保护芯片和用户完整性的基础开始,逐步将基于硬件的安全性和侧通道保护引入到其他不太重要的功能中。”
西门子的哈里森指出,在现有设计中添加安全性是当今的一个常见问题。“如果设计者不小心,事后添加安全性很容易导致主要入口点不安全的情况。然而,EDA 在这里非常有用,因为嵌入式分析技术可以轻松集成到现有设计的较低级别中。与仅仅针对外围风险不同,可以添加 IP 监视器来监视设计中的许多内部接口或节点。”
最低限度的硬件安全性
有了如此多的选择和如此多的建议,安全芯片的绝对必备条件是什么?
Cadence 的 Wall 表示,至少需要有一个安全岛来为 SoC 建立信任根。“还需要提供身份验证功能来正确验证启动代码和 OTA 固件更新。理想情况下,SoC 选择的资源仅可供已知可信的固件使用,并且存在一个硬件分区,可防止未知或不可信的固件恶意访问这些资源。但最终,“必备”是由应用程序和用例驱动的。例如,音频播放设备与处理支付的设备有不同的要求。”
此外,根据威胁评估模型和需要保护的资产,典型的安全芯片旨在实现可分为以下几类的安全目标:完整性、真实性、机密性和可用性。
Rambus 的 Bahrouch 表示:“这些目标通常通过加密技术以及安全启动、安全存储、安全调试、安全更新、安全密钥管理等附加功能来实现。” “从 SoC 架构的角度来看,这通常从保护 OTP 和/或硬件唯一密钥和身份开始,然后是在产品生命周期中保护安全相关的特性和功能,其中包括但不限于固件更新和安全调试。硬件信任根是这些基本功能的良好基础,也是现代 SoC 的必备条件,无论其目标市场如何。”
西门子的哈里森说,无论哪种应用程序,在安全应用程序中使用的所有设备上都应该启用两个关键元素。“首先,需要安全启动(如上所述),因为在设备成功安全启动之前,实施的任何其他安全机制都是潜在的攻击面。例如,在设备启动之前,可以覆盖并重新配置信任根 IP 中的签名寄存器,本质上是欺骗设备的身份。其次,需要安全的身份。例如,信任根虽然不常用,但可以为设备提供唯一的标识,并使许多其他功能能够受到该特定设备的保护。这些是最低限度的,并不能防止任何恶意通信或任何外部接口的操纵。”
试图在这里列出一份必备清单是很困难的,因为这些清单因芯片功能、技术、设备中的资产和最终应用而异。“然而,根据经验,人们会发现三个主要功能——保护、检测和恢复,”Winbond 的 Tasher 说。“从某种意义上说,这是一种保护,设备需要防止数据泄露、非法修改、外部攻击和操纵尝试。检测,因为安全机制应该能够检测对内部功能和状态的攻击或非法修改。在某些情况下,检测可能会触发简单的响应,或者达到完全消除设备功能并擦除所有内部秘密的程度。恢复是指对于某些安全功能,系统必须始终处于已知状态。这种状态甚至可能是完全关闭,只要它是安全稳定的状态。”
结论
最后,工程师必须更加熟悉如何以及在何处将安全性添加到他们的设计中,这一点至关重要。这首先是工程学校,它们刚刚开始将安全纳入其课程。
例如,MITRE 每年都会举办“夺旗”竞赛,向高中生和大学生开放。“2022 年,作为竞赛的一部分,我们提出了底层硬件可能受到损害的概念,我们要求学生设计他们的系统,以尝试对系统中内置的潜在恶意硬件组件具有弹性,”沃尔特斯说。“我们得到了非常有趣的回应。很多同学问:你在说什么?这怎么可能?我们的回答是,‘是的,这很难,而且确实感觉这是一个不可能解决的问题。但这就是现实世界中正在发生的事情。因此,你可以把头埋在沙子里,或者你可以改变你的思维方式来设计一个有弹性的系统,因为当你进入劳动力市场时,这就是你的雇主会要求你考虑的事情。”
安全始终首先要了解每个应用程序的独特威胁概况,并清楚地了解需要保护的内容、需要什么级别的保护,以及如果芯片或系统受到损害该怎么办。然后需要将其支持到实际面临风险的情况。
Synopsys 的 Neustadter 观察到,例如,在物联网中,数据的成本、复杂性和敏感性多种多样。“物联网端点至少需要安全且值得信赖,”她说。“至少,开发人员应该测试其固件软件的完整性和真实性,但如果这些特定测试失败,也要采取合理的应对措施。”
在汽车领域,成功的攻击可能会产生非常严重的后果。“电子设备很复杂,连接也很复杂,”诺伊施塔特说。“当汽车在高速公路上行驶时,可以通过驾驶员远程控制汽车,这已经是老新闻了。因此,汽车的安全至关重要。在那里,您需要实现更高级别的安全性,通常还需要更高的性能。这是一种与物联网不同的安全方法,并不是说它更重要,而是不同。”
这与云中的安全性仍然有很大不同。“未经授权的数据访问是最大的威胁之一,”诺伊施塔特说。“可能还有许多其他威胁,包括数据泄露。我们的很多财务数据都在云端,那里有另一个级别的安全方法和抵御物理攻击、故障注入等的弹性。我希望人们更多地关注,威胁是什么?你想保护什么?然后,结合图中的所有其他内容,您可以定义安全架构。这是人们从一开始就不看的东西。它可以帮助他们有一个更好的开始,并避免必须返回并重新设计安全解决方案。”