PUF

PUF

PUF介绍

PUF是physical unclonable function(物理不可克隆功能)的缩写,也是芯片制造过程中产生的电路特性的随机偏差。由于偏差的不可控,电路结构和工作环境均相同的芯片电路,在不同芯片中随机偏差是不同的,这种物理特性被用于芯片安全上。

  • 自2002 年 MIT 的 R.S.Pappu 博士提出 PUF 的概念以来,PUF 已经发展出多种不同的类型,包括:RO PUF(振荡器型)、Arbiter PUF(仲裁型)、Bi-stable PUF(双稳态型)、Sense Amplifier PUF、Latch PUF(锁存型)、Butterfly PUF(蝴蝶型)、SRAM PUF。

  • 以RO (振荡器型)PUF为例说明PUF的基本原理,RO PUF是 PUF 中常见的类型,其基本单元是环形振荡器(Ring-Oscillator),RO PUF 的电路基本构成单元如右图:

  • RO PUF 在芯片中设计了许多环形振荡器,每个环形振荡器的结构一模一样,环形振荡器被设计振荡在同一个频率,由于制造过程中产生的偏差,实际上每一个频率是不一样的,有稍微的偏差。

  • 挑战(Challenge)信号输入给 RO PUF, 如上图,N 个环形振荡器产生不同的频率f1,f2,…fn,这里 2 个并行的多路复用器的选择取决于输入---挑战(Challenge)信号。

  • 两个多路复用器选定两个不同的频率 ,它们分别作为 n 位计数器的时钟输入。然后,两个计数器对选定的两个频率开始计数。如果 f1>f2 响应为 1,否则输出响应为 0,由此,产生随机信号序列。

  • 以上PUF 的总体思路是在芯片里布置许多一模一样的电路单元。尽管电路单元是一模一样的,但是,在芯片制造过程中每个电路单元的电性能实际上是不一样的,会产生随机的偏差,根据频率的偏差产生出随机信号序列。