EEJournal

专题文章
现在就订阅

PUF件

揭露深藏在你芯片里的秘密

在任何自尊的睡前故事中,都有一种老生常谈的文学手法,向我们保证,无论坏人多么邪恶,他或她都有一种隐藏的美德,可以通过这种美德获得救赎。

好吧,所以我不打算把这些文章的文学品质归功于这些文章,以免永远失去可信度。但我们将以我们这个时代的一位崭露头角的反英雄为例,揭示隐藏在他内心的令人惊讶的善良。

这个好心的不务正业的人会是谁呢?那个臭名昭著的处理问题,变异

硅制造,就像所有的制造一样,是关于对事物进行排序。按照我们的规格再造世界。熵是敌人。

除非它不是。

在一个领域,随机性被大肆宣扬:安全性。秘密的事情越是有秩序,就越有可能有人发现这种秩序,从而揭开秘密。越混乱,它就越像有那么多绒毛,那么多噪音,这里什么也看不见,继续前进。

当设计师和晶圆厂技术人员努力将一套越来越糟糕的物理定律强加于人,以确保每个芯片都是相同的,而有人却在利用每个芯片与其兄弟芯片之间少数(而且越来越多)的不同之处。

许多问题的解决方案可以从变化中受益。确保设备不会从供应链中神秘消失。确保额外的设备不会神秘地出现在供应链中。防止逆向工程和克隆。验证即将运行的软件是否被授权在即将运行的硬件上运行。检查即将交付的内容是否已授权给它所指向的机器。

所有这些都不会在系统本身中存储任何关键机密,因为它们可能会被复制或欺骗。而且由于这种存储的非易失性技术可能在40纳米以下都不存在。

这些技术依赖于设备的物理属性,这些属性对于每个设备都是唯一的——没有人可以从合法设备上获取这些属性,并将它们复制到另一个设备上,然后让它仍然正常工作。因此,它们通常被称为“物理上不可克隆的函数”(puf)。

还有一个限制:这不可能是一个完全随机的现象。虽然不应该存在设备与设备之间的相关性,但在同一设备中必须存在完全相关性:此功能必须是可重复的。换句话说,两种设备的结果应该完全不同;相同设备的结果应该完全相同。

这实际上比看起来要难得多。可以利用的现象种类是微妙的。这意味着测量它们可能会很嘈杂。你可以把它们想象成芯片的指纹,准确地说,它是独一无二的。但它也有一个共同的特征,那就是,任何提取的指纹,都可能有文物、灰尘或一小时前吃过的汉堡的面包屑,你必须把这些东西清除掉,才能准确地读取指纹。所以错误修正起着很大的作用,不仅是让这个工作,甚至在启用一些使用模式方面。

Verayo、Intrinsic-ID和Veratag三家公司为它们的puf使用了三种完全不同的物理机制。即使它们可能被用来保护芯片、卡,甚至一个系统,它是一块硅片,提供所需的特性。虽然我们上面提到了指纹,但“生物识别”可能是更好的类比:一家公司依赖指纹,另一家公司依赖虹膜扫描,还有第三家公司依赖,哦,牙科记录。

这种东西很容易让人打结;各种不同的主张和反主张有时最终看起来没有表现出来的那么不同。而且有很多使用模型,所以很容易把它们混在一起而迷失方向。所以,和我一起努力把这些东西整理成尽可能令人信服的形式。

警钟

Intrinsic-ID使用SRAM的启动状态作为PUF的基础,PUF自2008年以来一直可用。由于读取SRAM时存在“噪声下限”(约8%),他们应用了专有的纠错技术(可以校正到约20%的噪声下限)来稳定结果。当一个设备第一次使用时(可能发生在制造过程中),它被“注册”。这个过程产生一个错误修正代码,用于在正常使用期间读取SRAM签名。给定这个称为“激活码”的代码,只需启动SRAM,读取它,对其执行ECC魔法(使用激活码),就可以得到稳定的结果。虽然你第一次必须注册一个设备,但你可以在以后再次注册。

激活码通常存储在片上或片外非易失性存储器(NVM)中。每个芯片的代码都是不同的,所以任何从一个系统获取代码并在另一个系统中使用的尝试都会失败;这阻碍了克隆。无论是在生产过程中还是在现场,每个设备都必须单独登记。ECC函数发生在他们的Quiddikey块中,这是一个可以配置为许多不同安排的IP块。

如果要在启动时检查签名,则可以使用现有系统SRAM来生成签名。然而,这提供了较低的安全性,因为系统SRAM通常可以通过调试器和其他方法访问,因此可以读取启动状态。使用单独的小型SRAM(通常为1K字节)更安全,并使其远离映射。

正常操作期间的读取结果提供了一个不存储且不能查询的密匙。该键在设备外部可能知道,也可能不知道,但不打算从设备读取。设备可以使用一个没有人知道的随机密钥注册,也可以使用一个特定的密钥注册。在后一种情况下,激活代码本质上引导ECC算法获取SRAM读出的任何内容,并确保它计算所需的密钥。

使用随机密钥,您可以,例如,让处理器加密所有进入内存的数据。每个设备都有自己的密钥,永远不会离开系统。但其他人都不需要密钥:处理器在写入数据时加密,在读取数据时解密。只有处理器需要知道这是如何完成的,并且每个处理器可以使用不同的键。

在通信必须更加协调的情况下(比如处理器之间),拥有秘密的个人密钥是行不通的,因为所有参与者都需要使用相同的密钥。在这里,您可以在所有必须通信的设备上输入特定的键。同样,每个芯片的激活码将是不同的,但它们都将共享相同的密钥,因此可以使用加密通信。

Intrinsic-ID指出了两个关于如何使用这种键的有趣示例。第一种称为硬件/软件绑定。如果嵌入式系统中有不希望扩散的关键软件,可以加密存储在NVM中的映像。激活码存储在同一个内存中——这很关键,因为如果有人试图复制内存,您希望激活码与它一起。只有应用了正确的密钥,软件映像才能被解密并正常运行。

实际上有两种方法。您可以使用特定的密钥对软件映像进行“批量加密”,然后使用该密钥注册每个设备。或者,您可以为每个设备使用不同的密钥,但这样就必须为每个系统分别加密每个映像。如果您想使用一个秘密的随机密钥来实现这一点,那么您可以这样做,但是系统必须在制造过程中进行加密并加载NVM代码存储,因为密钥只能在系统本身上可用。

他们给出的另一个例子被称为安全引导。这与前面的情况类似,只是它决定系统是否可以引导。在他们展示的示例中,未加密的系统软件映像附加了一个基于哈希的消息身份验证代码(HMAC)。在启动时,系统用硬件密钥计算一个新的HMAC,并将其与存储的HMAC进行比较;如果两者匹配,则可以将映像复制到RAM中并执行。如果不是,那么系统就不能运行。

最后,您可以使用多个激活码。Intrinsic-ID的营销副总裁蒂姆•史密斯(Tim Smith)指出,一位机顶盒客户想要5个激活码,这样他们就可以拥有5个不同的密钥。一个是给硅供应商的;一个是给盒子工匠的;一个是给操作员的;还有两个是给任何可能想注册设备的访问供应商的。

mux和振荡器

Verayo使用异步电路作为他们的puf的基础,这已经存在了大约5年。实际上有两个版本:基于mux的和基于环振荡器的。mux版本接收信号并将其路由到两条路径,每条路径都经过一系列多路复用器,一条通往锁存器的数据输入,另一条通往门。取决于哪个先到达,你可能会锁定一个1或0。PUF是由一堆这样的器件组成的,具有微妙的自然延迟变化,因此没有两个器件会有相同的输出(具有较小的噪声水平)。mux的输入由一个输入字提供——“挑战”字。稍后会详细介绍,但是您可以通过更改挑战词来控制PUF的结果。即便如此,每个设备对给定挑战词的响应都是不同的。

环形振子方法基本上采用两个环形振子,减去它们,然后乘以一个挑战位。在实际应用中,有一组这样的振子对和一个相当复杂的重组函数执行在振子差异上。这种现象也取决于竞态条件,因为每个环振荡器的环路延迟与其邻居的环路延迟略有不同,总的来说,每个设备都是独一无二的。

把它们想象成一个巨大的弹珠机,一堆弹珠排成一行,朝底部掉下去。如果机器足够大,那么没有两台机器会让球落在完全相同的地方。

这些异步方法既可以在硅芯片上实现,也可以在fpga(他们所谓的SoftPUF)上实现。它们可以用来生成密钥,就像基于sram的密钥一样,但是没有激活码,因此,您可能无法设置特定的密钥;你只能(B1)获取一个随机的密钥。

此外,身份验证似乎是这些puf基于挑战字功能的常用模型。通过提出挑战,您可以从设备特有的PUF获得响应。您可以记录响应,以便将来可以使用该挑战/响应对来验证您是否拥有合法的设备。例如,在制造过程中,这可以防止过度建造,因为只有经过授权的设备才会被正确记录。任何未知的响应都将被标记为非法。

挑战和回应可以简单地用作永久握手,但这很容易被窥探。所以更典型的做法是记录许多对挑战和回应。它们存储在数据库中(可以位于阅读器中,也可以位于云中,这取决于最终应用程序)。每个挑战/响应对只使用一次,然后被丢弃。提前存储的数量可能因应用程序而异,如果耗尽了这些对,则可以在字段中生成新的对。

注意,Intrinsic-ID还有一个环形振荡器PUF,它已经在Xilinx和Altera FPGA上进行了测试,但他们的经验是,FPGA客户已经太习惯于免费的东西了,所以它主要是面向军事的应用,有一个可行的业务。

也可以使用Intrinsic-ID解决方案创建一个挑战/响应系统,但是您将把它构建在您所构建的任何安全性之上;SRAM PUF不会专门参与身份验证过程。

桥梁和悬臂

Veratag成立于2006/7年冬天,走的是一个完全不同的方向:他们使用MEMS方法。他们不是在建造电路,而是在建造利力浦特式的桥梁和悬臂(想想跳水板),然后让它们振动。这个想法是,如果你有足够多的这些,每个单元将产生一个独特的频谱,通过它可以被识别。

当然,这与前两种方法完全不同。将CMOS和MEMS放在同一个芯片上并非不可能,但并非所有晶圆厂都可以(或想要)这样做。所以这通常是一个带有天线的设备,然后由一个读取器读取信号,处理信号生成指纹。

从理论上讲,因为它是一个完整的复杂模拟波传输,它是机制中最丰富的,有无限的内容。这可能会吸引那些寻求高安全性的人,因为无限的内容提供了更多的歧视方式。然而,如果用于rfid,它需要不同的读取器,并且改进主流的读取器基础设施将是一个挑战。

通过使用由薄桥连接的大量盘谐振器阵列,可以创建一个基于mems的系统,可以接受挑战输入。但这似乎并没有经常付诸实践;主要的MEMS模型只是简单地读取和处理频谱。

争论的领域

这项技术似乎没有花很多时间在头版,但它似乎是激烈的竞争,特别是与两个电动版本。

质疑/回应制度可能看起来很麻烦;实际上,在生产过程中,您可能会在数据库中实时归档挑战/响应对。在实际的身份验证过程中,您必须验证响应。所以这个数据库必须是可访问的;它可能在阅读器中,也可能在云中。所以可能会有身份验证延迟。然而,为了保护系统,如果您要验证某个东西,您必须知道正确答案是什么,因此它必须在某个地方可用。另一种自我验证的方法是将正确答案存储在芯片或系统本身中,这将使基于puf的代码的全部意义失效。

挑战/响应系统的另一个可能的弱点是,如果有太多对被发布和窥探,那么使用一些强大的计算,就有可能对这些对建模并推断出底层结构。在Verayo的高级设计师Mandel Yu的一篇论文中,他指出,例如,在环形振荡器版本中,更复杂的重组功能将使结构实际上难以穿透。这里的数学对于我们这些不熟悉加密的人来说是相当晦涩的,但想必这些都已经计算到IP中了。

异步电路和SRAM puf的可制造性似乎也存在争议。Intrinsic-ID表示,异步电路必须为每个晶圆厂的每个流程仔细调整和平衡,而任何标准的SRAM流程都可以使用。相反,Verayo断言他们使用所有标准的互斥器和逆变器(以及任何其他组件),并且没有这样的测试运行或验证必须执行。

另一方面,Verayo说,6T SRAM细胞必须仔细平衡。如果它有点不平衡,它作为SRAM单元仍然可以正常工作,但是,如果您想要一个完全无偏差的签名,那么单元就必须非常精确地调优。换句话说,你想让这些细胞恰好处于最顶端的中心点,这样最微小的变化就会把它们推到一边或另一边。如果他们已经向一边倾斜,那么这一边的结果将比另一边的结果更有可能。

作为回应,Intrinsic-ID表示,他们使用的所有内存都没有偏差(除了一个例外,它是为了节省电力而故意这样做的)——而且他们可以使用软件测试任何内存,以验证它是否正常工作。而且,随着过程节点越来越紧密,自然变化(通常是一个问题)会掩盖偏差,因此它变得不那么令人担忧。即便如此,内存中的比特数也远远多于密钥中的比特数。这意味着,通过纠错,任何细微的偏差都可以被洗掉;从本质上讲,内存中有如此多的冗余,以至于偶尔的偏置位不会很明显。

因此,当其他人担心流程变化时,这些人却把它放在了银行。puf是用别人的柠檬做成的柠檬水。技术的邪恶弱点被利用起来,为善的力量工作。

啊,就像一个好的睡前故事。我的眼皮已经越来越重了。

(希望你不是。)

更多信息:

Intrinsic-ID

Veratag

Verayo

有特色的博客
2022年12月13日
您还在为耗时和迭代的SignOff验证周期而挣扎吗?设计中的飞马验证设计(SVD)可能是您的答案!什么是设计中的飞马验证设计(SVD)?在先进的节点设计中,由于设备的物理尺寸是…
2022年12月8日
这个世界准备好迎接下一个封装的变形了吗?
2022年12月8日
探索半导体IP公司提供类似asic的芯片设计服务意味着什么,并了解交钥匙IP解决方案如何简化SoC设计流程。IP供应商提供类似asic的服务意味着什么,这篇文章首次出现在从硅到软件....上
2022年12月7日
当英飞凌需要为下一代功率半导体产品的开发选择一个场求解器时,... ...

有特色的视频

演示:PCIe Gen5 x16运行在VectorPath加速卡上

Achronix

Achronix工程师展示了如何使用Speedster7t FPGA将VectorPath加速卡连接到PCIe Gen5 x16主机,并通过全芯片二维片上网络(NoC)读取/写入GDDR6内存。NoC将数据从任何高速接口以2GHz的速度路由到FPGA内部的核心结构,而不消耗任何FPGA逻辑资源。

点击这里观看更多来自Achronix的视频

特色粉笔谈话亚博里的电子竞技

嵌入式计算的小尺寸工业标准

逮老鼠的电子产品而且Samtec

当今嵌入式计算设计(包括智能传感器、自动驾驶汽车和边缘计算)的趋势使得嵌入式计算行业标准比以往任何时候都更加重要。在本集Chalk Talk中,Amel亚博里的电子竞技ia Dalton与来自Samtec的Matthew Burns讨论了PC104、PICMG和VITA等标准组织如何鼓励当今嵌入式设计的创新,Samtec如何支持这些标准组织,以及如何利用Samtec的高性能互连来进行下一个小尺寸嵌入式计算设计。

点击这里了解更多关于Samtec工业标准解决方案的信息

Baidu