芯片的数字指纹PUF技术介绍。

在本文中,我们将讨论 PUF( physically unclonable functions) 物理不可克隆功能,以及它如何提高 IC 的硬件安全性。

在一个严重依赖电子产品的日益互联的世界中,安全性至关重要。现代电子产品几乎一致地依赖密码学作为保护电子数据的主要方法。然而,新兴的硬件安全研究领域已经证明,我们所知道的密码学并不是那么安全。

为此,物理不可克隆功能 (PUF) 已成为一种硬件安全技术,可提供从改进的密码术到 IC 防伪的所有功能。

那什么是PUF?

==PUF(Physical Unclonable Function),即物理不可克隆技术,是一种硬件安全技术,是半导体制造过程中自然发生的不可克隆的物理变化,这是一种“数字指纹”,用作半导体设备(如微处理器)的唯一身份。==在密码术中使用PUF(物理不可克隆函数)的基本好处是其“唯一性”和“不可预测性”。

PUF通常用于密码学。物理不可克隆函数是物理结构中体现的物理实体。目前,PUF通常用集成电路来实现,通常用于对安全性要求较高的应用中。从2010年到2013年,PUF在智能卡市场获得了关注,作为提供“硅指纹”的有前途的方式,创建了独特于个人智能卡的加密密钥。

物理不可克隆功能 (PUF) 是一种硬件安全技术,它利用固有的设备变化来对给定的输入产生不可克隆的唯一设备响应。在更高的层面上,PUF 可以被认为类似于人类的生物识别——它们是每一块硅的固有和唯一标识符

由于硅加工技术的不完善,所生产的每一块IC在物理上都是不同的。在不同的集成电路之间,这些工艺变化表现为不同的路径延迟、晶体管阈值电压、电压增益和无数其他的方式。

重要的是,虽然这些变化在不同的集成电路之间可能是随机的,但一旦知道,它们是确定的和可重复的。PUF利用IC行为的这种内在差异,为每个IC生成一个唯一的加密密钥。
图 1. 美信的 DS28S60 协处理器利用 PUF 生成加密密钥与使用单个存储密钥的传统加密方法不同,PUF 通过实现质询-响应身份验证来工作。对于一个给定的PUF,一个特定的输入,被称为 “质询”,将产生一个输出响应,(质询应答认证challenge-response)该响应对特定的PUF是唯一的,因此是不可克隆的。

在制造时,PUF 将接受一系列不同的“质询”并记录其响应。通过此练习,设计人员了解每个 PUF 对给定质询的独特响应,并可以使用此信息来防止伪造、创建和存储加密密钥以及许多其他安全功能。

现在,PUF成为商用FPGA中安全替代电池备份秘密密钥的存储器,如Xilinx Zynq Ultrascale ++ 和Altera。

PUF取决于其物理微结构的独特性。这种微观结构取决于制造过程中引入的随机物理因素。这些因素是不可预测和不可控制的,这使得复制或克隆结构几乎是不可能的。

这种技术完美的解决了你就是你、唯一的你的问题,在物联网时代的确有较大的实践意义。

它与TrustZone技术的区别

但是这只是一项芯片设计模块功能,与TrustZone技术存在本质区别。
在这里插入图片描述
TrustZone技术是一种安全执行区域概念,是芯片运行状态在共享资源、总线系统的安全态与非安全态的问题。基于TrustZone技术的TEEOS,形成一个可信执行环境,能够执行某些操作、保护某些资源。

PUF可以被用作唯一且不可篡改的设备标识符。PUF也可以用于安全密钥生成和存储以及随机源。

PUF特性

总结一下PUF主要有以下特点:

  • 唯一性
    每一个芯片都是随机分布的、唯一的
  • 防克隆性
    芯片本身就是在芯片制造过程中由于不确定因素提取出来的,无法重新复制相同的PUF值
  • 不可预测性
    由于芯片在制造出来之前,没有办法来预测
  • 防篡改性
    芯片本身PUF值无法定位修改
  • 无需存储
    每次芯片启动只需要在电路结构中提取,无需存储器件来存储

另外,并非所有的PUF都是不可克隆的,并且许多已经在实验室环境中成功进行了攻击。柏林理工学院的一个研究小组能够使用大学失效分析实验室提供的工具,在20个小时内克隆一个SRAM PUF 。

PUF结构

  • SRAM PUF
    SRAM PUF利用SRAM Cell,首尾相接的反相器,在制造过程中,虽然电路架构完全一样,但是电路驱动能力有强弱之分,导致SRAM在上电时的Cell上0,1的分布是随机分布的,因此,利用这个特征可以提取出PUF

  • 仲裁PUF
    仲裁PUF,同一个信号从起点到终点所用的时间(延迟),在制造过程中会存在误差。

  • RO PUF(环形振荡器)
    环形振荡器PUF,利用环形振荡器电路,在不同芯片制造出来之后,频率产生也会存在误差。

  • VIA PUF
    实际设计中,VIA存在设计规则,利用设计规则,设计从小到大的孔洞,根据工艺的特性,来提取出VIA PUF。

PUF的优势

使用PUF的优势是巨大的,这就是为什么该技术在硬件安全方面越来越受欢迎。

首先,PUF的一个最好的特点是,它是一种固有的非易失性技术,但它并不实际存储任何密钥。在非易失性存储器中存储密钥通常会使集成电路受到硬件攻击,使对手能够读取存储器内容。

相反,PUF根本不存储密钥。它根据需要生成密钥,作为对质询的响应,之后密钥会被瞬间抹去。总是有一把钥匙,但你永远无法看到它。即使你试图 “发现它”,试图探测PUF也会大大影响其对质询的响应。总而言之,这使得钥匙的 "存储 "非常安全,不会受到攻击。

除此之外,PUF还得益于它是一个真正的硬件解决方案。就像真随机数发生器可以创造真正不可预测的比特序列一样,PUF可以通过利用自然界的真随机性来创造真正不可预测的IC标识符或加密密钥。这增加了安全性,因为钥匙不能根据一些确定的或准确定的过程来预测。

由于其多功能性,PUF 是硬件安全方面的绝佳选择——可用于随机密钥生成和存储、设备身份验证、随机数生成、防伪等等。

SRAM PUF介绍

SRAM PUF

深亚微米工艺上来说,制造过程中随机因素会影响电路特性,从而导致Cell上电时,0与1随机分布,这个随机分布,基本上是固定的分布,这样可以提取出PUF值
在这里插入图片描述

SRAM PUF Key存储

PUF Key在芯片生命周期使用阶段:

Enrollment——QTP(One Time Process)

在这里插入图片描述从SRAM PUF中提取R值,经过PUF-IP,再经过AC过程(用于纠错),然后配合上电过程完成启动。

Key重构——每次上电都需要重新执行这个过程

R’值和之前R值是不一样的,由于芯片SRAM Cell 80%0,1值是确定的,但是也有少部分是随机变化的。通过AC纠错,可以保证每次SRAM生成的PUF Key是固定的。
在这里插入图片描述前提条件:
在这里插入图片描述
a. AC和Key相关性是0,即从ACcode是无法推导出PUF key
b. 提取出的Key值需要达到一定的可靠性

SRAM PUF 产品形态

  • 软件形态

  • 硬件IP形态
    在这里插入图片描述

SRAM PUF生命使用周期

软件的BROADKEY可以部署至各个生命周期的芯片上。
在这里插入图片描述可以保障25年的生命周期

  • 可靠性
  • 制造型
  • 安全认证
    在这里插入图片描述

SRAM PUF应用

生成应用Key流

与SRAM PUF流程一致

  • Enrollment
  • Key 重构

在这里插入图片描述

Wrap Operation

与之前一种的区别是,这次的Key值不作为应用密钥,
而是作为应用密钥的加密密钥来使用

  • Enrollment
    在这里插入图片描述

  • Key 编程
    在这里插入图片描述

  • Key重构
    在这里插入图片描述

在这里插入图片描述

基于SRAM PUF防克隆的应用方案

安全固件的导入

1. BROADKEY集成在bootloader中,含有两个内容,一个是Bootloader,另外一个为存储密钥,为固件的解密密钥。除了部件以外,还有加解密库。

在这里插入图片描述
2. 把这个固件download到产品的flash中,然后需要通过BROADKEY把 AC code提取出来,存储到数据区。

在这里插入图片描述
3. 将BROADKEY生成Key将固件的解密密钥进行加密以后,存储到flash数据区。

在这里插入图片描述
4. 用固件的解密密钥将初始导入的加密固件解密出来,存储至可执行区域中。
在这里插入图片描述
5. 因为固件已经解密完成,因此把bootloader中的解密密钥删除,同时导入固件的加密密钥也可以删除。
在这里插入图片描述6. 最后,用PUF Key生成MAC值,存储到数据区,以上为安全固件的导入过程。
在这里插入图片描述

安全固件的导入使用过程

a. 在安装过程中,固件已经装好。
b. 芯片上电后,bootloader可以都会AC code
c. 同时生成PUF key,同时利用PUF key来对固件进行计算,同时与之前MAC值进行比较。如果正确则可以执行固件,比较错误,则会进入错误状态。

在这里插入图片描述

安全固件升级

在这里插入图片描述

固件防克隆原理

在这里插入图片描述
如果将芯片中固件放入另一个固件,即使两个芯片完全一样。

每次上电中,BROADKEY则会提取出PUF Key,如果芯片一旦换了之后,读取AC code进行PUF Key的提取,就会发现AC code并不是芯片本身的AC code,所以会报错。则会影响下一步的过程。因此,可以防克隆的攻击。

PUF应用于AIoT - 人工智能(AI)与物联网(IoT)场景

应用场景一

使用从PUF派生的机密作为保护,可以将该机密与参数混合。这样可以防止存储在一次性可编程(OTP)存储器中的加密参数值被黑。当安全的AI模块开始处理时,只需要使用PUF值再次处理混合过程,以便可以将加密的参数简单地解密为其原始值。在这种情况下使用的加密概念是XOR:

A(从PUF导出的秘密值)⊕ B(OTP中的参数)= 密文

A(从PUF导出的秘密值)⊕ B(OTP中的参数)⊕ A(恢复代码)= 明文

在这里插入图片描述

应用场景二

为了处理传输攻击,例如传输过程中的数据泄露,可以使用以下简单思路:通过在每个模块中利用唯一的PUF值将数据绑定到特定模型。如果将绑定模块中的数据和唯一PUF值简单地混合为密文,即使这些加密的数据在传输到外部NVM时被盗,也无法在其他模块中使用。这是因为数据需要与模块结合使用的特定PUF值来处理解密过程。

在这里插入图片描述

应用场景三

AI机器训练的过程是:首先,收集大量数据进行训练,然后提取并测试模型以执行预测或反应。在边缘计算中,将模型转换为ASIC可以降低功耗。当然,此模型需要精简得多,但这会使模块更容易受到逆向工程的影响。

为了抵消逆向工程,可以将PUF用作凭证。换句话说,它可以充当密钥,因此凭单只能使用其独特的PUF值启动芯片。这样就可以防止恶意的逆向过程硬件分析和秘密窃取。

在这里插入图片描述

业界基于PUF技术成熟示例

下面列出了一些PUF市场应用信息,供大家参考!
图:艾矽科技基于PUF技术的安全加密芯片:GIANT I系列
在这里插入图片描述

  • 比如,2017年5月艾矽科技推出据称全球首款 以PUF为核心的加密芯片,集成了VIA PUF技术,也是目前安全级别最高的一款安全加密芯片。当有数据需要加密时,即对VIA PUF模块做参数提取生成密钥,使用密钥对数据加密生成密文,将密文存储在EEPROM里,同时密钥消失。当需要使用原始数据时,再对VIA PUF模块做参数提取生成密钥,使用密钥对EEPROM里的密文解密,还原出原始数据。

  • 比如,论文《TrustToken Framwork: a Generic Security Framework for Mobile Two-factor Authentication Using TrustZone》中提到的使用Trustzone和SRAM PUF为软件令牌提供与硬件令牌等价的安全保障。

  • 比如,复旦微电子公司开发出的高频安全电子标签芯片FM13HS02就创新性的加入了PUF(物理不可克隆功能)设计芯片充分利用了PUF的唯一性和随机性的特点,与SM7算法互为补充,显著提升了算法实现的安全性。

  • 比如,恩智浦以物理不可克隆技术(PUF)强化SmartMX2 安全芯片,号称第一个能够为市场带来整合了Intrinsic-ID公司的PUF智能卡和嵌入式安全芯片的公司。

结束语

在物联网时代,基于PUF的各种安全芯片应用,与基于TEE技术的各种安全方案都互为补充,共同构筑安全终端的基础。

参考:
PUF技术比TrustZone技术更安全?
硬件安全技术——芯片安全设计技术4(PUF)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂奔的乌龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值