1、PUF技术概述:什么是物理不可克隆函数

各位同学,咱们今天聊点硬核的——PUF。全称叫Physical Unclonable Function,中文翻译过来是“物理不可克隆函数”。

我第一次接触这个概念是在2010年左右,当时做安全芯片的项目。甲方要求“芯片不能被复制”,我心想这怎么可能?只要你能读出数据,就能复制。后来导师甩给我一篇PUF的论文,看完我才明白——原来真正的防克隆,不是靠藏数据,而是靠物理本身。

1.1 到底什么是PUF?

说白了,PUF就是芯片的“物理指纹”。

你想想看,每个人的指纹都是独一无二的,哪怕双胞胎也不一样。芯片也一样——理论上同一批晶圆、同一套光罩、同一个工艺节点,造出来的芯片应该一模一样对吧?

但现实不是这样的。

我在流片项目中遇到过这种情况:同一批晶圆,测出来的阈值电压、延迟时间、漏电流,每颗芯片都有细微差异。这些差异来自制造过程中的随机扰动——掺杂浓度波动、氧化层厚度不均、线宽边缘粗糙……你控制得再好,也消除不了。

PUF就是利用这些“制造随机性”来生成一个唯一的、不可预测的响应。你给它一个输入(挑战),它给你一个输出(响应)。这个响应只属于这颗芯片,换一颗芯片,同样的挑战得到的响应完全不同。

核心定义:PUF是一种基于物理系统内在随机性的硬件安全原语。它利用制造过程中不可控的物理变异,为每个芯片生成唯一的“指纹”。

1.2 PUF的起源与发展

PUF这个概念最早是谁提出来的?我记得是2001年,Pappu等人在一篇Science论文里首次提出了“物理单向函数”的概念。他们用光学PUF做了实验——用激光照射一个随机散射介质,得到的散斑图案就是响应。

但光学PUF体积太大,不适合芯片。真正把PUF引入集成电路领域的是2002年的Gassend等人,他们提出了硅PUF的概念,利用芯片内部的延迟差异来生成响应。

我整理了一下PUF的发展脉络,用一张图来展示:

PUF技术发展历程 2001 光学PUF Pappu提出 基于激光散射 2002 硅PUF Gassend提出 基于延迟差异 2008 仲裁器PUF Su提出 可配置挑战-响应对 2012 SRAM PUF 商用化起步 NXP/Intel采用 关键转折点 • 2001-2008:学术探索期,主要验证PUF的可行性 • 2008-2015:结构优化期,仲裁器PUF、环形振荡器PUF等成熟 • 2015至今:商用落地期,NXP、Intel、Xilinx等厂商量产

从这张图你能看到,PUF从学术概念到商用落地,走了将近15年。为什么这么慢?因为早期PUF的可靠性太差了——温度一变、电压一抖,响应就变了。我2013年做的一个项目,用的就是环形振荡器PUF,结果温度从25°C升到85°C,响应比特的翻转率高达15%。这谁敢用?

后来学术界和工业界花了大量精力做纠错和稳定性增强,才慢慢把误码率压到可接受的范围。

1.3 PUF的核心特性

聊完历史,咱们来拆解PUF的三个核心特性。这三个特性是PUF的立身之本,缺一个都不行。

唯一性

唯一性指的是:不同芯片之间的PUF响应应该互不相同。

怎么衡量?用“片间汉明距离”。理想情况下,任意两颗芯片的响应,有一半的比特位不同。也就是说,片间汉明距离应该接近50%。

我在项目中见过最差的情况——某款国产MCU的PUF,片间汉明距离只有12%。这意味着什么?意味着两颗芯片的响应太像了,攻击者可以轻松猜出另一颗的响应。这种PUF基本是废的。

经验之谈:评估PUF的唯一性,建议至少测100颗芯片,每颗芯片取1000个挑战-响应对。片间汉明距离低于40%的PUF,我个人不建议用在安全等级要求高的场景。

不可克隆性

不可克隆性分两种:物理不可克隆和数学不可克隆。

  • 物理不可克隆:你即使拿到这颗芯片的完整版图、工艺参数,也无法用另一套工艺造出一颗一模一样的芯片。因为制造过程中的随机扰动是不可控的。
  • 数学不可克隆:你即使知道PUF的挑战-响应对,也无法建立一个数学模型来预测新的响应。

嗯,这里要注意——不是所有PUF都满足数学不可克隆。比如仲裁器PUF,如果挑战空间不够大,攻击者可以用机器学习建模。我曾经见过一篇论文,用几千个挑战-响应对训练了一个神经网络,就能以95%的准确率预测仲裁器PUF的响应。所以,设计PUF时一定要考虑抗机器学习攻击的能力。

随机性

随机性指的是:PUF的响应比特应该是均匀分布的,0和1的比例接近1:1。

为什么重要?因为如果有偏置——比如70%的比特都是1——攻击者就可以利用这个偏置来降低搜索空间。

我习惯用NIST的随机性测试套件来评估PUF的随机性。具体来说,会跑以下几个测试:

测试项 要求 常见问题
频率测试 0/1比例接近1:1 工艺偏差导致偏置
游程测试 连续相同比特的分布符合预期 温度梯度导致局部相关性
块内频率测试 每个块内0/1比例均匀 电源噪声导致块间差异
累积和测试 累积偏移不超过阈值 老化导致长期漂移

避坑指南:我曾经遇到过一款PUF,频率测试通过了,但游程测试挂了。后来排查发现,是因为芯片内部有温度梯度,导致相邻比特之间存在相关性。这个问题在布局布线阶段就要注意——PUF单元之间要加 dummy cell 隔离,避免物理耦合。

1.4 三个特性的关系

唯一性、不可克隆性、随机性,这三个特性不是孤立的。它们之间的关系可以用一句话概括:

随机性是基础,唯一性是表现,不可克隆性是目标。

没有好的随机性,唯一性就无从谈起;没有唯一性,不可克隆性就是空话。反过来,如果不可克隆性被攻破,唯一性也就失去了意义。

我画了一张关系图,帮你理解:

PUF三大核心特性关系 随机性 制造工艺的 内在随机扰动 唯一性 片间差异 互不相同 不可克隆性 物理+数学 双重不可复制 随机性 → 唯一性 → 不可克隆性,层层递进

1.5 小结

这一章咱们把PUF的基本概念、发展历程和核心特性捋了一遍。总结几个关键点:

  • PUF是芯片的物理指纹,利用制造随机性生成唯一响应
  • 从2001年光学PUF到2015年商用化,走了15年
  • 唯一性、不可克隆性、随机性三者缺一不可
  • 评估PUF时,片间汉明距离、抗建模攻击能力、NIST随机性测试是必检项