物理不可克隆的功能:保护电子设备免受非法复制


资料来源: 在线假冒经济体 :消费电子产品,CSC在2017年发布的报告

在过去的十年中,世界上的假冒商品数量翻了一番。 该数据已发布在美国国土安全部最新的《年终知识产权评论》(2016年)中(跟踪的最新年份)。 大量假冒产品来自中国(56%),香港(36%)和新加坡(2%)。 原始产品制造商遭受了严重损失,其中一些损失发生在电子市场上。

许多现代产品都包含电子组件:衣服,鞋子,手表,珠宝,汽车。
去年,非法复制消费电子产品和其他商品组成中的电子组件造成的直接损失约为0.5万亿美元。

如何解决这个问题?

可以通过多种保护数字电子产品免受非法复制,修改和逆向工程的方法来解决此问题:硬件加密(AES,RSA等),哈希(例如SHA-256,MD-5),引入数字设计说明,词汇和功能混淆,形式验证等中的水印和指纹。

在本文中,我们将讨论就硬件成本而言最具成本效益的保护方法之一-物理不可克隆功能(PUF)。

上面提到的大多数方法的缺点是相当大的硬件成本,并且结果是高功耗。

随着物联网(IoT)概念的出现,随着设备尺寸的显着减小,对数字设备在集成电路芯片上占用的面积以及功耗的要求变得越来越严格。年复一年。

物理不可克隆功能(PUF)


识别和认证数字设备的一种方法是物理不可克隆的功能,与上述保护方法相比,实现这些功能要经济得多。

什么是PUF?很难在我们周围的物质对象中找到两个完全相同的对象。 即使在批量生产中,由于不准确和事故,每个对象也是唯一的。 可以注册每个对象的这些功能,并将其用作唯一的标识符(一种“指纹”)。

光学PUF就是一个很好的例子。 取一块融化的玻璃,在其中添加气泡,冷却该块并将其切成相等的条。 获得两个绝对相同的小节的机会微不足道; 内部气泡将不均匀分布。 我们可以通过将激光束发送到条(请求),并在输出处接收折射后的辐射束的唯一干涉图样(响应)来解决这些差异。 结果,我们获得了一个物理不可克隆的函数,它将确定响应对输入请求的依赖性。 当然,此功能不是分析功能,因此,对象的合法所有者或攻击者都无法事先找到它。 您只能测试一批产品并创建输入和输出值表,这将用作确定对象真实性的标准。

用于保护电子设备的PUF基于集成电路制造过程中制造工艺变化的使用:例如,阈值电压,信号传播延迟,组件工作频率等的准确值。 在标准设计过程中,电子设计工程师试图减少变化对最终产品的影响。 相反,对于PUF,此不受控制的现象用于提取数字设备的随机性和唯一性。

实际上,PUF与哈希函数的硬件实现类似,唯一的区别是PUF输出值的唯一性是基于特定集成电路的唯一性,而不是数学算法。

PUF输入参数(请求)称为质询(CH),输出值为响应®。 这样,对于某些集成电路ICk,挑战集{CH 0 ,...,CH N-1 } –将通过PUF唯一地映射到响应集{R 0 ,...,R N-1 } :

Ri=PUFCHi



一组质询-响应对(CRP){(CH 0 ,R0),...,(CH N-1 ,R N-1 )}唯一地表征了集成电路ICk,即使对于绝对相同的设计描述也无法复制(参见下图)。


集成电路(IC)的芯片间和每芯片唯一性

如图所示,在不同集成电路上实现PUF的相同设计描述时,对于每个副本,对相同质询(CH i )的响应(R i )将是唯一的(彼此之间显着不同)。 这种现象称为芯片间唯一性,即使用PUF区分集成电路的能力。 当在单个芯片上使用PUF的相同实现来标识例如知识产权(IP)的各种组件时,会观察到每个芯片唯一性的现象。 由于芯片内部PUF的实现至少在相互安排上有所不同,因此通常每个芯片的唯一性或芯片唯一的签名通常比芯片间的签名更为明显。

PUF的现有实现及其使用


当前,有许多基于以下内容的PUF实现:

  1. 信号传播延迟 。 使用质询的二进制值,设置对称路径的配置,沿着该路径分布一个信号的多个副本。 PUF的响应是比较传播信号延迟的结果。
  2. 组件的频率 。 该PUF的基础是对具有唯一频率的相同组件对的比较。 挑战是各个组成部分的各种指标对,而回应是比较其工作频率的结果。
  3. 内存状态 。 上电和/或重置静态存储设备(SRAM)的状态的结果是,最初存储在每个存储元件(0或1)中的值是唯一且随机的。 这种PUF面临的挑战是打开/关闭电源,并且响应是观察到的每个存储元件的状态,这些状态唯一地表征了要在其上实现PUF的集成电路。
  4. CMOS图像传感器 。 借助光敏矩阵(图像传感器)创建的每个图像都具有恒定的噪声分量,该噪声特征体现了所实现矩阵的唯一性。 该PUF的工作原理类似于基于频率比较的PUF,唯一的区别是根据矩阵的每个元素的阈值电压的值进行比较。
  5. 晶体管阈值电压 。 由于工程师在这种情况下可以访问阈值电压值,因此这种类型的PUF只能实现为模拟形式。 像基于频率的PUF一样,此PUF的基础是集成电路中使用的几个晶体管的特性比较。
  6. 电流镜 。 此类PUF基于当前镜像阵列的实现。 该阵列节点上的电压值是集成电路的唯一特征。 在这种情况下,挑战在于元件的列数和行数,您要比较哪些电压值。 因此,响应是将一对节点中的电压差与阈值进行比较的结果。
  7. 智能手机屏幕上的外部压力 。 在此实现中,PUF面临的挑战是用户操作,该操作是根据某种模式(例如智能手机中的图形键)在屏幕上滑动手指。 基于智能手机屏幕上的用户压力值,计算出表征用户和智能手机的唯一响应值,因此可用于身份验证。
  8. 纸结构 。 由于制造过程中的变化,PUF的这种实现基于纸张结构的唯一性。 因此,某种纸介质可以用作唯一加密密钥的来源。

如上所示,可以在数字设备上和使用其他技术(光学,磁性,纸张等)实现多种类型的PUF。

PUF在2008年的第一个商业实现是Verayo公司制造的射频识别器。 另外,当前,许多FPGA制造商(例如XilinxAltera(英特尔))都将PUF用作嵌入式非克隆FPGA标识符。

由于PUF用作加密原语(随机数生成器,唯一标识符,硬件哈希函数),因此许多制造商没有公开使用PUF来保密入侵者对其安全协议的实施细节。

基于PUF的内存(SRAM)的示例


作为PUF的示例,我们将使用Xilinx Spartan 3E FPGA(它是Digilent Nexys-2开发板的一部分)基于内存的PUF实现 。 存储元件仿真被实现为双稳态元件,并且通过使用相同的配置文件对FPGA进行重新编程来对电源开/关进行建模。

下图显示了两个相同的FPGA的标识符,这些标识符是通过使用相同的位文件进行编程而获得的。 黑色表示“内存元素”,由于进行了100次重新编程,其值保持为0,白色表示值1。灰色阴影是在发射之间改变值的阴影。 因此,“元素”颜色中的黑色越多,作为重新编程的结果,将产生更多的0值。


两个相同的FPGA的64位标识符

从图中可以看出,“存储卡”方法存在显着差异:64位标识符的汉明距离约为20。因此,标识符在不同FPGA上相同的概率非常小,小于0.01。 可以以两种方式使用上述“存储卡”:识别FPGA,以及由于存在非永久性元素而作为随机性的来源。

可靠的识别将需要使用纠错码(ECC)来稳定观察到的“存储卡”。 在本文中,我们使用了多数选择方法 。 相反,要实现随机数生成器,需要“再现”其值不稳定的那些“内存元素”的随机性。 为此,我们使用签名分析作为损失数据压缩算法。 如果硬件成本约束不是很严格,也可以使用标准的哈希算法(例如SHA-256)。

PUF存在的问题和前景


尽管这个概念相对新颖,但今年PUF一词仍在庆祝其17岁生日。
在这段时间内,科学界已经设法研究了PUF的问题和可能的应用。

通过基于内存的PUF示例演示的主要问题之一是某些值的不稳定,从而迫使工程师使用纠错码和更可靠的PUF体系结构。

另一方面,非常高的稳定性使PUF使用机器学习方法面临密码攻击的风险,即构造足够准确-超过95%-PUF的数学模型,该模型最初(到2010年)被认为是不可能的。科学界。
尽管如此,在现代商业应用中将PUF作为密码原语的使用证明了在该领域进行研究以寻找新的PUF体系结构以及改善现有实现的特性的希望。

Source: https://habr.com/ru/post/zh-CN446304/


All Articles