(本文编译自Semiconductor Engineering)
安全性已成为芯片和电子系统中越来越受关注的问题,但对其的实际实施仍然停留在事后考虑阶段,这限制了其有效性。
芯片设计方面的安全难题有很多,远不止保护硬件或IP这么简单。EDA工具本身也需要安全,这些工具中的用户数据也需要安全。
佛罗里达大学国家安全研究所博士生戴维·科布拉(David Koblah)表示:“除了一些比较敏感的应用,比如政府系统和一些比较敏感的设施,安全并不是真正的优先事项。”
这种情况目前已经开始改变,越来越多的供应商在设计过程中对安全性愈加关注。随着对数据泄露或IP盗用的担忧不断蔓延,用户群体也开始关注安全性。
Ansys首席产品经理Suhail Saif表示:“这是设计周期早期的侧信道安全分析。关于最流行的CPU和GPU遭受黑客攻击的新闻层出不穷,现在它们也容易受到黑客攻击。这曾经只发生在带有加密密钥的芯片上,而解密代码曾经是这些攻击的热门目标。如今,每个芯片都可能成为攻击的目标。”
并非每台设备都需要内置最严格的安全措施,通过适当的威胁建模,在EDA设计过程中,越来越多的芯片都融入了适当级别的安全性。与任何设计要求一样,实施过程中需要权衡利弊,这进一步加剧了原本就错综复杂的设计流程。
EDA流程本身也需要安全性,随着芯片越来越多地成为来自第三方供应商的异构零件的集合体,这个问题已成为更加重要的优先事项。
Synopsys首席安全技术专家Mike Borza表示,在EDA层面实施安全性意味着要理解安全性“可以是一种功能,但它也可以是系统的一组主要约束,或者至少是系统的一组主要要求”。那么该系统的安全属性是什么?它的威胁环境又是什么呢?”
内置安全
如果在设计周期的早期阶段就解决安全性问题,并且这些安全措施足够灵活以适应新的威胁,那么安全性将始终最有效。
Arteris产品管理和营销副总裁Andy Nightingale表示:“通过将安全功能嵌入到我们产品的架构中,我们可以确保解决方案从一开始就具有抵御攻击的能力并符合行业标准。安全与安防非常相似,如果你没有真正提前做好设计流程,那么改造起来就会非常困难。”
这包括讨论什么是适当的安全级别,以及怎样才能达到该级别。“在硬件领域我们常说的一件事是,设计过程越往下走——从软件到实际硬件——实施对策的可能性的难度就会增加10倍,成本也会增加10倍,” Koblah说道,“越往下走,实施起来就越困难。在我的研究中,我是从逻辑综合阶段开始的。一旦我们跨越高级综合阶段,真正看到数字逻辑的实现——门电路和所有这些——那么我们就已经开始实施了。即使在防止侧信道攻击方面,我也是在高级阶段进行的,这非常重要。最终,一旦进入物理层面,你就需要考虑很多事情。寄生效应变得更难预测,而处理变化也会带来自身的问题。但如果我们尽早开始,我们就可以提前进行模拟,然后让EDA流程变得更容易。”
Koblah的研究重点是掩蔽技术,即将安全措施直接实施到电路中,以“加密”可用于侧信道攻击的泄漏。
“你要做的就是在算法层面减轻泄漏,”Koblah表示,“只要有电流通过,设备就总会释放某种形式的信号。你所能做的就是屏蔽或扰乱发出的信号,一旦攻击者开始使用探测器查找这里或那里的泄漏情况,就更难真正了解发生了什么。”
Koblah表示,他还没有看到这种方法在商业芯片行业中得到广泛应用,但它已经在政府和军事等更敏感的领域得到应用。
Borza同意Koblah的观点,尽管掩蔽技术还处于早期阶段,但它已经开始受到关注。“如今,大多数侧信道缓解措施都是定制的,这意味着存在RTL设计,并且设计可能与缓解措施同时进行,”他说道,“如果可以的话,这是最好的方法。但很多时候,您从需要应用一些缓解措施的核心开始。在这些情况下,很多时候您会发现人们知道如何实施某些措施,例如掩蔽。这是一种相对简单的缓解措施,特别是如果您在线性领域而不是非线性领域进行。本质上,他们只是手动进行设计缓解。您可以想象,在某些情况下,您可以要求工具为您合成掩蔽解决方案,方法是指定需要掩蔽的数据路径的一部分,并允许工具自行完成所有生成。这确实是这里发生的事情。这些工具相对罕见,但它们确实存在,所以人们开始以一种允许它们应用于不同类型的加密的方式开发它们。”
尽早解决安全问题
考虑到一些更先进的技术可能需要进行重大的PPA权衡,采用左移以保证安全变得更加重要。除了掩蔽之外,Koblah表示,一些研究人员已经开始在芯片底部试验一种包含故障安全装置的网状网格。如果攻击者试图用光学工具探测它,它就会自毁。但实施这样的措施是有代价的。
“你需要进行一些权衡,并最终做出妥协,” Koblah说道,“如果你要进行屏蔽,就要增加额外的门数。如果你有网状网格和屏蔽,就要在尺寸上做出一些妥协。你的屏蔽可能需要一些额外的功率才能实现想出的安全措施。如果你要进行隐藏,这是缓解侧信道攻击的一种方法,你可能会决定采用噪声,最常见的形式是添加某种形式的噪声来混合信号或降低攻击者可能侵入的电磁信号的清晰度。但你必须在其中添加一些能够产生噪声的东西,这需要一些功率和面积。这些都需要进行妥协。”
Saif指出,对整个芯片进行安全分析有点小题大做,因为虽然安全措施确实会产生一些成本,但只会影响芯片的一小部分。“你不需要全芯片安全分析,因为99%或更多的设计要么没有保存任何安全密钥,要么没有保护任何安全模式,”他说道,“攻击者不会从攻击整个芯片中获益。攻击者也很聪明。他们知道要攻击芯片的哪个部分,因为他们只会从芯片的特定部分读取模式,以了解用于加密或解密的秘密序列是什么。”
保护EDA
设计能够抵御攻击的芯片可能是在EDA流程中实现安全性的最终目标,但该流程本身也需要安全性来防止宝贵的IP被盗。EDA软件本身也是宝贵的资源,也是攻击者的诱人目标。
“人们找到了各种邪恶的手段和方法来窃取数据,使用许可软件而不支付全部许可费等等。EDA工具公司已经进行了调整,使其变得更加智能,”Nightingale表示。
EDA公司实现这一目标的一种方法是将其工具和流程转向云端,而安全问题是这种转变的主要驱动力。
Nightingale表示:“Arteris在我们可以发货的国家/地区已经这样做了,当然是以合法的方式,但这些国家的版权法要求不那么严格。我们允许客户在云端配置产品,而不是下载整个产品IP组合并让客户使用并生成他们想要的内容。然后,当他们获得感兴趣的配置实例时,他们会下载该快照。他们可以使用它,而不是我们基本上把“皇冠上的宝石”交给他们。”
他指出,这仍然需要在数据中心级别进行一些加密,使用AES或256加密数据流来回流动,因此任何进入的人都只能看到1和0。
“另一个方面是访问控制本身,”Nightingale表示,“如果您有访问控制机制,那么就有了多因素身份验证。您可以进行基于角色的访问控制。然后,只有被授权人员才能进入并获取数据。这样,你就只能获得配置的单个实例,而不是试图窃取一个IP。”
Borza表示,安全的一部分依赖于信任和合同,但也有用于加密RTL的协议,尽管一些公司选择不这样做。
“加密,即RTL加密协议,旨在让您在模拟和综合流程中使用加密的RTL,”Borza说道,“它的安全性并不高,但处理加密RTL的难度很大,以至于很多人选择不处理它。因此,在大多数情况下,大型IP公司在大多数交付中都使用未加密的RTL。只有部分内容是加密的,而且这些工具的设计方式可以防止轻易访问加密的RTL,因此对于那些试图使用波形显示器或类似的工具查看内容的人来说,它们本质上就像黑匣子。但实际上,如果有人想查看内部,他们就可以进入并做到这一点,这限制了该协议的价值。”
在EDA设计过程中保护IP是EDA公司非常重视的问题。“我们通过ISO认证来保持EDA解决方案的安全级别,”Ansys的Saif说道,“我们与德国的一家ISO认证机构合作。我们每年都与他们合作,他们会进行现场检查,审查我们在每个EDA工具中遵循的协议,并颁发ISO证书,我们会将证书随产品一起发给客户。”
Synopsys也通过了ISO认证,Borza指出,对于某些芯片来说,这样做尤其重要。“我们所有的产品都通过了ISO 9000质量计划,”他表示,“在某些情况下,例如对于汽车项目,存在等效或相似的标准,因此我们也会通过这些标准。对于针对汽车和类似关键应用(尤其是安全关键应用)的一些专用产品,我们根据ISO 26262以及网络安全标准ISO 21434认证产品和工具部件。”
其他EDA工具厂商也采取了类似的措施。Cadence战略和新业务集团总监Rob Knoth指出,ISO 27001是网络安全实践中特别有价值的框架,它可以帮助工程师评估风险、保护数据免受未经授权的访问、满足监管要求,并确保测量不断发展以应对新威胁。
结论
虽然保证安全性在EDA开发阶段变得越来越普遍,但EDA流程本身也变得越来越安全。工具提供商更加注重保护其IP,将服务和工具转移到云端,以防止那些对其产品进行逆向工程并逃避支付许可费的人。
然而,安全性并非免费。尽管安全性只在特定芯片的一小部分上实现,但它也需要权衡。将安全性作为EDA流程不可或缺的一部分可以减轻部分影响,或至少量化影响。例如,掩蔽等技术可以摆脱攻击者,但它们需要额外的功率或面积。通过将安全性纳入EDA流程,可以知道这些权衡对设计的影响有多大,以便设计人员可以计算成本。
END