一、引言
在当今数字化时代,嵌入式设备广泛应用于各个领域,从智能家居到工业控制,从医疗设备到军事国防。随着物联网(IoT)的迅猛发展,嵌入式设备的数量呈爆炸式增长,它们相互连接,构建起庞大而复杂的智能网络。然而,这种广泛的应用和互联也带来了严峻的安全挑战。嵌入式设备往往存储着敏感信息,如用户数据、设备控制指令等,并且可能在安全防护相对薄弱的环境中运行,容易成为攻击者的目标。
传统的安全机制在面对日益复杂的攻击手段时,逐渐暴露出其局限性。例如,基于软件的加密方法依赖于密钥的存储和管理,而密钥一旦被窃取,整个安全体系将面临崩溃。硬件层面的安全防护也面临着物理攻击的威胁,攻击者可以通过微探针攻击、冷冻攻击等手段获取设备中的敏感信息。在这样的背景下,物理不可克隆功能(Physical Unclonable Function,PUF)作为一种新兴的硬件安全技术,应运而生,为嵌入式设备的安全防护提供了新的思路和解决方案。
PUF 利用芯片制造过程中由于工艺偏差等物理特性产生的不可预测、不可克隆的随机特征,为每个芯片提供独一无二的 “指纹”。这些指纹可以用于生成加密密钥,实现设备的身份认证,有效抵御克隆攻击和物理攻击,从而显著提升嵌入式设备的安全性。本文将深入探讨 PUF 技术在嵌入式设备密钥生成与防克隆攻击中的应用,详细介绍其原理、工作机制、优势以及实际应用案例,并对未来发展趋势进行展望。
二、物理不可克隆功能(PUF)概述
2.1 PUF 的定义与基本原理
物理不可克隆功能(PUF)是一种依赖于芯片物理特性的硬件函数实现电路。其核心原理是利用芯片制造过程中不可避免地引入的微小工艺参数偏差,这些偏差在每一个芯片上都是独一无二的,且具有随机性和不可控性。当向 PUF 电路输入一个激励信号(Challenge)时,由于芯片内部物理结构的差异,会产生一个唯一且不可预测的响应信号(Response),从而实现激励信号与响应信号之间唯一对应的函数功能。
例如,在基于仲裁器的 PUF(Arbiter PUF)中,数字信号在两条不同路径上传播时,由于制造工艺导致的路径长度、晶体管参数等微小差异,使得信号在到达仲裁器时产生不同的延迟。通过比较两条路径信号到达仲裁器的先后顺序,就可以得到一个与芯片物理特性相关的响应。这种响应是基于芯片的物理结构产生的,即使是在同一批次生产的芯片,其响应也具有很高的差异性,因此几乎无法被克隆。
2.2 PUF 的分类
PUF 按照实现方法可以分为多种类型,常见的有以下几类:
2.2.1 数字电路 PUF:
基于存储器的 PUF:利用存储器单元结构的稳定状态来生成响应。例如,SRAM PUF 利用 SRAM 单元在加电时的初始状态,由于制造工艺差异,不同的 SRAM 单元在不稳定状态向稳定状态转化时具有明确的偏向,从而产生不同的初始值作为响应。触发器 PUF 和蝴蝶 PUF 也属于这一类,它们基于双稳态逻辑单元的制造变化差异来工作。
基于传播时延的 PUF:数字信号在电路中的传播会受到多种因素的影响,如 MOSFET 通道长度、宽度和阈值电压、氧化层厚度、金属线的形状等,这些因素导致信号传播延迟具有部分随机性。基于仲裁器的 PUF 就是典型代表,它通过比较两条信号传播路径的延迟差异来产生响应。基于环形振荡器的 PUF 则是利用不同环形振荡器由于工艺偏差导致的振荡频率差异来生成响应,基于毛刺的 PUF 利用电路中产生的毛刺信号特性来实现 PUF 功能。
2.2.2 模拟电路 PUF:
模拟电路 PUF 中最具代表性的是涂层 PUF(Coating PUF)。它通过在芯片表面添加一层具有随机物理特性的涂层,当激励信号通过与涂层相互作用后,产生与涂层物理特性相关的响应信号。
2.2.3 非电子 PUF:
这类 PUF 不依赖于传统的电子电路。最具代表性的是光学 PUF,它利用光学元件的物理特性对光信号的调制作用来实现 PUF 功能,是安全应用中 PUF 概念的第一个正式描述。此外,还有纸 PUF 和 CD PUF 等,它们分别利用纸张或光盘的物理特性产生唯一的响应。
2.3 PUF 的特性
1. 唯一性:由于每个芯片的制造工艺偏差都是独一无二的,因此 PUF 产生的响应对于每个芯片来说也是唯一的,就像人类的指纹一样,可作为芯片的独特身份标识。
2. 不可克隆性:要精确克隆一个 PUF 的物理结构和特性几乎是不可能的,因为制造工艺偏差的随机性和微小性使得即使是在同一生产线上生产的芯片,其 PUF 响应也具有很大差异。这种不可克隆性为设备提供了高度的安全保障,有效防止了克隆攻击。
3. 不可预测性:PUF 的响应是基于芯片物理特性产生的,在制造之前无法预测其具体值。即使攻击者知道 PUF 的设计原理和激励信号,也无法准确预测响应信号,增加了攻击的难度。
4. 轻量级:PUF 通常不需要复杂的硬件电路或大量的计算资源,与传统的安全机制相比,具有较低的功耗和硬件开销,非常适合资源受限的嵌入式设备。
5. 随机性:PUF 产生的响应具有随机性,这使得其生成的密钥具有较高的安全性,难以被破解。
三、PUF 在嵌入式设备密钥生成中的应用
3.1 传统密钥生成方法的局限性
在传统的嵌入式设备中,密钥生成和存储方式存在诸多安全隐患。常见的方法是将密钥预先存储在设备的非易失性存储器(如 EEPROM、Flash 等)中。这种方式容易受到物理攻击,攻击者可以通过微探针攻击、冷冻攻击等手段直接从存储器中读取密钥。一旦密钥泄露,设备的安全性将荡然无存,攻击者可以轻易地访问设备中的敏感信息,或者对设备进行恶意控制。
此外,传统的密钥生成算法通常依赖于软件实现,容易受到软件漏洞和恶意软件的攻击。软件算法可能存在被破解或篡改的风险,导致密钥被窃取或生成不安全的密钥。而且,对于大量嵌入式设备的密钥管理也面临着挑战,如何安全地分配、更新和存储密钥成为一个复杂的问题。
3.2 PUF 用于密钥生成的优势
1. 增强密钥安全性:PUF 利用芯片的物理特性生成密钥,密钥与芯片本身紧密绑定,具有唯一性和不可克隆性。即使攻击者获取了设备,也无法通过克隆芯片来获取相同的密钥,大大提高了密钥的安全性。例如,基于 SRAM PUF 生成的密钥,由于 SRAM 单元的初始状态是由芯片制造工艺决定的,无法被人为篡改或预测,使得密钥具有极高的安全性。
2. 无需密钥存储:传统方法需要将密钥存储在设备的存储器中,而 PUF 只在设备上电或需要时通过集成电路的物理特性衍生出密钥,不需要将密钥永久存储在安全存储器中,减少了密钥被窃取的风险。这对于资源受限的嵌入式设备尤为重要,因为它节省了用于存储密钥的存储器空间,同时也降低了对存储器安全性的依赖。
3. 天然的防篡改特性:由于 PUF 生成的密钥与芯片的物理结构紧密相关,任何对芯片的物理篡改都可能导致 PUF 响应发生变化,从而使得生成的密钥也发生改变。这种天然的防篡改特性可以有效检测到设备是否受到物理攻击,一旦检测到攻击,设备可以采取相应的措施,如锁定设备或发出警报。
4. 与 CMOS 技术兼容:大多数 PUF 技术都与现有的 CMOS 制造工艺兼容,这意味着在不改变现有芯片制造流程的基础上,就可以集成 PUF 功能,便于大规模生产和应用。这为 PUF 在嵌入式设备中的广泛应用提供了便利条件,降低了成本和技术门槛。
3.3 PUF 密钥生成过程
1. 激励信号输入:首先,向 PUF 电路输入一个特定的激励信号(Challenge)。这个激励信号可以是数字信号、模拟信号或其他形式的信号,其具体形式取决于 PUF 的类型。例如,对于基于仲裁器的 PUF,激励信号可能是一系列的数字脉冲序列,用于触发信号在不同路径上的传播。
2. PUF 响应生成:PUF 电路接收到激励信号后,由于芯片内部物理结构的差异,激励信号在电路中传播时会产生不同的响应。例如,在基于 SRAM PUF 中,激励信号可能是加电操作,SRAM 单元在加电后会根据其自身的物理特性进入不同的初始状态,这些初始状态就构成了 PUF 的响应。
3. 密钥提取:从 PUF 的响应信号中提取出用于加密或认证的密钥。通常需要对 PUF 的响应进行后处理,以提高密钥的质量和安全性。例如,采用纠错编码技术来纠正由于环境噪声等因素导致的 PUF 响应中的错误比特,采用哈希函数对 PUF 响应进行处理,以生成固定长度且具有良好随机性的密钥。在一些应用中,还会结合其他安全算法,如对称加密算法,对提取的密钥进行进一步的加密和保护。
以下是一个简单的基于 Python 的代码示例,展示如何对 PUF 响应进行哈希处理以生成密钥(实际应用中会更为复杂且在硬件层面实现)
3.4 PUF 密钥生成的实际案例
中国移动旗下芯昇科技有限公司推出的高安全 mcu 芯片 ——cm32sxx 系列,通过使用南京帕孚信息科技有限公司 softpuf 开发工具包,在芯片中集成了物理不可克隆功能(PUF)。利用 PUF 技术提取出独一无二的 “芯片指纹”,并将其用于生成安全密钥。这些密钥为设备提供了强大的安全保障,使得 cm32sxx 系列芯片具备防克隆、防篡改、抗物理攻击以及侧信道攻击的能力,能够为物联网场景下的终端设备提供高级别的安全防护。
在实际应用中,cm32sxx 系列芯片可以用于智能家居设备的控制模块。设备上电后,通过 PUF 生成唯一的密钥,用于与智能家居系统中的其他设备进行安全通信和认证。由于密钥是基于芯片的物理特性生成的,即使攻击者试图克隆设备,也无法获取相同的密钥,从而保证了智能家居系统的安全性。
四、PUF 在嵌入式设备防克隆攻击中的应用
4.1 克隆攻击对嵌入式设备的威胁
克隆攻击是嵌入式设备面临的严重安全威胁之一。攻击者通过复制设备的硬件和软件,制造出与原始设备外观和功能相似的克隆设备,然后利用这些克隆设备进行恶意活动,如窃取用户数据、干扰设备正常运行、进行非法的控制操作等。在一些关键领域,如医疗设备、工业控制系统、金融支付终端等,克隆攻击可能会造成严重的后果,危及人们的生命安全、导致工业生产事故或造成重大的经济损失。
例如,在医疗领域,克隆的医疗设备可能会给出错误的诊断结果或执行错误的治疗操作,对患者的健康造成极大危害。在工业控制系统中,克隆设备可能被用于干扰生产流程,破坏工业设施,影响企业的正常生产运营。而且,随着嵌入式设备的广泛应用和供应链的复杂性增加,克隆攻击变得越来越容易实施,给设备制造商和用户带来了巨大的安全风险。
4.2 PUF 抵御克隆攻击的原理
PUF 的唯一性和不可克隆性是其抵御克隆攻击的核心。每个嵌入式设备的 PUF 都具有独一无二的物理特征,基于这些特征生成的设备指纹和密钥也是唯一的。当设备进行身份认证时,服务器会存储每个合法设备的 PUF 响应信息。克隆设备由于其物理结构与原始设备不同,即使在外观和功能上进行了模仿,其 PUF 响应也会与原始设备存在显著差异。
在认证过程中,设备向服务器发送 PUF 响应,服务器将接收到的响应与预先存储的合法设备响应进行比对。如果响应不匹配,服务器就可以判断该设备为克隆设备,从而拒绝其访问或采取其他安全措施。例如,在一个基于物联网的智能门锁系统中,每个门锁设备都集成了 PUF。用户在使用手机 APP 解锁门锁时,门锁设备会将其 PUF 响应发送给云端服务器进行认证。克隆的门锁设备由于其 PUF 响应与合法设备不同,无法通过认证,从而有效防止了非法解锁行为。
以下是一个简单的设备认证代码示例(基于 Python 和假设的服务器与设备通信模型):
4.3 PUF 在设备认证中的应用
4.3.1 基于 PUF 的认证流程
设备注册:在设备出厂前或首次接入系统时,设备将其 PUF 响应信息发送给服务器进行注册。服务器对设备的 PUF 响应进行存储和管理,并为设备分配一个唯一的标识。
认证请求:当设备需要与系统中的其他设备或服务器进行通信时,会向对方发送认证请求,同时附上自己的 PUF 响应。
响应比对:接收方(服务器或其他设备)将接收到的 PUF 响应与预先存储的该设备的 PUF 响应进行比对。如果比对结果一致,则认证通过,允许设备进行后续操作;如果比对结果不一致,则认证失败,拒绝设备的请求,并可能采取相应的安全措施,如记录攻击日志、发出警报等。
4.3.2 强 PUF 在设备认证中的优势:
强 PUF 对设备认证使用经典的激励 - 响应模式,无需复杂的多轮非线性运算,直接通过电路产生响应,然后与服务器预先存储的响应进行比较,从而对设备进行合法性认证。相比传统的用于认证的加解密技术,强 PUF 速度更快、功耗更小,特别适用于轻量级认证场景。在物联网环境中,大量的嵌入式设备需要频繁进行认证,使用强 PUF 可以大大提高认证效率,降低设备功耗,同时保证认证的安全性。
4.4 实际案例分析:PUF 成功抵御克隆攻击
某工业自动化企业在其生产的工业控制器中采用了基于 PUF 的安全认证机制。该工业控制器用于控制生产线上的各种设备,对安全性要求极高。在使用过程中,企业发现有不法分子试图通过克隆工业控制器来干扰生产流程。由于工业控制器集成了 PUF,克隆设备在接入系统进行认证时,其 PUF 响应与合法设备的响应存在明显差异,系统立即检测到了克隆设备的存在,并及时采取了措施,如切断克隆设备的网络连接、通知安全管理人员等,成功阻止了克隆攻击,保障了生产线的正常运行。
通过对该案例的分析可以看出,PUF 在实际应用中能够有效地抵御克隆攻击,为嵌入式设备提供可靠的安全防护。随着 PUF 技术的不断发展和完善,越来越多的企业开始将其应用于关键设备的安全防护中,以应对日益严峻的克隆攻击威胁。
五、PUF 技术面临的挑战与解决方案
5.1 环境因素对 PUF 的影响
PUF 的响应会受到环境因素的影响,如温度、电压、电磁干扰等。在不同的温度和电压条件下,芯片的物理特性可能会发生变化,从而导致 PUF 的响应产生漂移,出现误码。例如,温度的升高可能会使芯片内部晶体管的参数发生变化,影响信号的传播延迟,导致基于传播时延的 PUF 响应发生改变。这种环境因素引起的响应变化可能会导致在设备认证或密钥生成过程中出现错误,降低 PUF 的可靠性和安全性。
为了解决这一问题,研究人员提出了多种解决方案。一种常用的方法是采用纠错编码技术,如 BCH 纠错编码。在 PUF 响应生成后,对其进行纠错编码处理,当 PUF 响应受到环境因素影响出现误码时,通过纠错编码可以纠正错误比特,恢复正确的响应。另一种方法是采用温度补偿和电压补偿技术,通过监测环境温度