A Brief Introduction to PUF


物理不可克隆函数(Physical Unclonable Function, PUF)是指在物理层面上不可进行复制的一种机构。

其本质类似黑盒测试。此处给定一个函数$f:C\rightarrow R$其中$C$表示质询集,$R$表示回应集。

那么一次质询-回应(CR)过程可以抽象为:

$$
r=f(c)
$$

此处我们并不知道函数$f$是什么,但是可以通过传入$c$得到$f(c)$的回应结果。在物理世界中,如果有机构能满足以上的关系,并且该关系是稳定的不可复制的,那么就可用于PUF。

PUF安全性

上述提到两个关键点:PUF的稳定性和不可复制性。

稳定性是PUF可以使用的基础。我们要求在一定时间范围内,给定的PUF函数$f$是一个$C$上的单值函数。不会出现在给定时间范围内的两个时间点$t_1,t_2$,有:

$$
f_{t_1}(r) \ne f_{t_2}(r)
$$

不可复制性是PUF安全保障的根本。PUF是物理上的机构,它要求攻击者即使知道某一PUF是怎么生产的,也不能复制出一个相同的PUF出来,并且即使是相似的PUF,同一质询的结果也会有很大的变化。

这种性能的要求与混沌(Chaos)有关。在数学上比较经典的是偏微分方程初始条件改变引起的结果剧变。此处PUF主要利用的是物理上的混沌(主要是光、电特性),后面会举到两个例子,一个是基于光干涉微小差异PUF,一个是基于电路制造微小差异的PUF。

PUF分类

从应用角度考虑,PUF有两类应用方式:低成本认证和密钥生成。其中前者一般被称为弱PUF,后者一般被称为强PUF。

这种分类标准落实到模型上是基于质询集$C$的大小的。在认证的场合下(先不考虑低成本),每一次认证都可认为是一次质询,只有当认证信息(质询信息)的质询结果和存储的正确回应信息相同时才会认证成功。因此,该场合下质询集$C$的大小决定了认证点的数量,如果只有一处需要认证,那么只有一对质询-回应对(CRP)的PUF也是可以使用的。

而在密钥生成的场合下,质询集$C$必须足够大,使得任何的密钥空间测量方式都是时间上不可行的。

需要注意的是,强PUF也可用于低成本认证,因为强PUF也满足了认证的基本条件。

PUF实例

基于光干涉微小差异的弱PUF

该种方式是利用光的干涉现象实现的。将一平板上喷洒反光颜料,由于
发光分子在该过程中可视作是随机分布的,因此结果的干涉图形不同。

在生产过程中,操作均为喷洒颜料,但是最后的图形不可控,这就是该PUF
实例的不可复制性。

同时,由于一块板对应一种喷洒结果,因此这是一种质询集大小为$1$的PUF。
因此仅能用于认证。历史上用曾该方式进行军工高机密产业的认证。

基于电路制造微小差异的强PUF

由于电路制造中的微小差异,会形成可变门延迟的随机化。利用这种随机性我们可以构造基于电路制造微小差异的强PUF。如下图所示,该种PUF实现是在一个对称竞争对路中实现的。
仲裁电路PUF

途中一个输入边分为两路多路复用器电路。根据$128$比特的质询位不同,会选择不同的道路,从逻辑布局上上下两条通路是等价的。

但是由于上面提到的实际生产中的差异,两条通路的时间是不同的,因此上下两条路到达Latch的时间会有先后。而这种先后体现了质询结果。

因此我们就得到了一个128位质询位和1个响应位的仲裁电路PUF,而通过并联电路设计,可以使其达到强PUF的效果。

仲裁电路PUF的安全性,和光学PUF一样是基于关于制造业微小误差的假设。即使是PUF的原始制造商也无法生产两种完全相同的PUF。


Author: Luminolt
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Luminolt !
  TOC