基于环形振荡器的物理指纹认证设计研究*
2019-03-05雷颜铭程丽君
钟 杰,雷颜铭,王 溢,程丽君
(1.中国电子科技网络信息安全有限公司,四川 成都 610041;2.国家国防科技工业局信息中心,北京 100039)
0 引 言
嵌入式设备在工业、商业、军事等领域的应用日益广泛,同时向着小型化、低功耗发展,促使适用于通用设备的轻量级认证技术具有了更广泛的需求。现有的可信体系通常基于证书认证、接入控制和密码服务等,具有较高的安全系数。但是,由于各类攻击手段层出不穷,传统认证技术对于移动终端的有效防护能力逐渐退化,且引入多种安全策略和防护手段对系统的通信带宽、计算能力、组网能力等整体资源的开销均提出了较严苛的要求。此外,还存在本地存储敏感信息、难以抵抗侧信道攻击、设备价格过高的问题。
借鉴生物指纹的概念,人们提出了硬件设备物理指纹/物理不可克隆函数(Physical Unclonable Function,PUF)的概念。在设备生产过程中,工艺问题造成的物理组件的随机性误差不可避免(如在芯片加工时氧化层厚度的不均匀性),且由于硬件加工的相互独立,这种误差具有稳定性、唯一性和差异性。在相同输入条件下,PUF将会获得相同的输出响应,指纹生成是可重复的;无法通过设计使不同的输入获得相同的输出响应;改变PUF的输入条件,PUF的输出将会发生变化且无法预测。实践证明,这种误差对物理组件本身的功能和性能并不会造成影响,但可以通过算法将其进行提取和放大,进一步作为物理组件的固有属性加以区分和标识[1]。基于设备物理指纹的认证加密技术能够大大减少设备计算、存储和通信开销,同时由于不需要在设备本地存储密码资源,有效防范了设备丢失后的安全风险,在系统认证、密钥生成、硬件加密等领域具有良好的发展前景。
1 PUF的分类与特点
自PUF的概念被提出以来[2],人们研究并设计了多种类型的PUF,如图1所示。2001年,Pappu等提出了光学PUF,通过激光照射散射媒介后形成斑点图像,并作为设备的物理指纹,而散色媒介的物理状态将显著影响辐射斑点图像。除光学PUF外,Hammouri等提出的CDPUF、Bulens等纸PUF都属于非电子类PUF范畴。Tuyls等在2006年提出了涂层PUF,属于典型的模拟电路类PUF,即在集成电路上喷一种特殊涂层,而由于在涂层中存在随机性分布的介质颗粒形成不同的响应,符合PUF特征。此外,模拟电路类PUF还包括阈值电压PUF、电阻PUF等。近年来,数字电路已逐渐成为各类硬件设备的核心组成部分,相比于光学类、模拟电路类的PUF,数字电路类PUF采用FPGA芯片设计,PUF结构电路具有设计成本低、灵活程度高、开发周期较短以及可重复配置等优点,具有更高的通用性与易实现性,已成为当前PUF设计的热点[2-4]。
数字电路类PUF主要包含存储类PUF和时延类PUF。存储类PUF通常是通过上电/复位的随机响应作为判断信号,设计具有对称性的电路结构,但由于工艺等微小差异导致稳定输出状态的随机性,如SRAM PUF和触发器PUF。存储类PUF能生成少量的响应信息,通常来说,一个PUF结构单元可以生成1 bit指纹数据。在时延类PUF中,延迟大小由MOSFET长度、宽度、阈值电压和氧化层厚度等参数决定。受制造工艺过程的差异影响,这些参数的不确定性导致相同布线路径的信号传输时延差在稳定性和随机性上都表现出PUF相关的特征行为,如仲裁器PUF、环形振荡器PUF和蝴蝶PUF,通过调节时延类PUF的输入条件获得不同的输出响应。
图1 PUF的主要类型
2 基于PUF的环形振荡器设计
2.1 总体架构设计
对于时延类PUF,设计并利用货架的ARM+FPGA 电路模块架构,如图2所示。ARM芯片实现与外界的实时通信和相关协议及数据的交换,FPGA芯片实现基于可编程电路设计的物理指纹提取和各类环境的补偿。
仲裁器PUF、环形振荡器PUF和蝴蝶PUF的设计都可以通过以上架构实现。仲裁器PUF的单元结构由两条相同设计的延时路径构成,通过激励选择不同的延时路径改变输出结果。仲裁器PUF可以产生大量的物理指纹,但是有对称性要求,大大增加了布线等设计难度。蝴蝶PUF单元结构由两个相互耦合的触发器构成。该结构在稳定状态下将会获得确定的输出,输出结果受激励信号时延和耦合回路时延影响。蝴蝶PUF可产生少量的物理指纹。环形振荡器PUF单元结构由若干反向器相连构成环路,每个环路将会产生一个稳定的振荡信号,通过激励信号选择不同的振荡环路进行对比产生大量的物理指纹,同时无需对称性设计,更易于实现。因此,本文中采用环形振荡器来产生大量的物理指纹。
图2 基于ARM+FPGA的PUF设计架构
2.2 环路结构的设计
本文采用环形振荡器模型实现对PUF电路的设计,如图3所示。
图3 环形振荡器PUF结构
第n环路结构的延时Tn可以表示为:
式中,TnP代表工艺引起的延时,由氧化层厚度等因素决定;TnD代表设计引起的延时,由反向器级数、布线等因素决定;TnS代表其他延时,由环路结构的位置、设备环境等因素决定。由物理不可克隆函数的定义可以知道,式(1)中TnP具有随机性和稳定性特征,是有效物理指纹特性参数。而TnP、TnS将会影响环路结构延时Tn的随机性或稳定性。设计环形振荡器时,要求各环路采用相同结构设计,使得不同环路之间的ΔTn=0。当ΔTnP>>ΔTnS时,环形振荡器具有较好的PUF特性[5]。
环形振荡器环路结构中反向器数目的选择,直接影响物理指纹的可提取性。对于一个采用N环路结构的环形振荡器PUF,具有N(N+1)/2个比较组合。但是,由于环路振荡频率具有线性关系,能够产生的有效指纹数等于振荡频率的排序可能数N![6]。因此,理想条件下,50路环形振荡器可以生成物理指纹位数为214,80路环形振荡器可以生成物理指纹位数为395,100路环形振荡器可以生成物理指纹位数为525。在设计环路结构过程中,对环路振荡频率进行采样,样本频率标准差S越大,说明该结构能够提取出更多的有效物理指纹,用式(2)表示。其中,M为某一结构的样本环路个数,fi为第i个环路的频率,Δf为平均样本频率。
图4是对环形振荡器进行频率采样的示例。可以看出,3反向器结构的环路具有最大的采样频率标准差。通常来说,设计中反向器数目越少,环路振荡频率越高,样本频率标准差也越大,能够提取更多的物理指纹。在设计环路结构时,还需要考虑所选取FPGA芯片的最高工作频率。若环路振荡频率超过FPGA最高工作频率,将无法实现准确测量[5-6]。
图4 环形振荡器频率采样示例
2.3 系统性偏差补偿
环形振荡器PUF中环路振荡频率除受芯片本身随机工艺偏差的影响外,还受环路在芯片上所处位置的影响。由位置不同所造成的系统偏差对振荡频率的影响具有固定趋势,严重影响物理指纹的随机性,导致PUF生成的数字响应可被预测。
如图5所示,由于系统偏差的存在,导致在采用相邻环路频率对比编码的情况下,输出1-4位出现1的概率较大,5-9位出现0的概率较大。对于系统偏差,可以通过对同一型号芯片进行位置采样,通过采样数据建模对系统性偏差趋势曲线进行拟合,并对各环路进行频率补偿。
图5 同一类芯片连续位置采样示例
除通过拟合系统偏差曲线的方法外,还可通过一种基于伪随机数技术的补偿方法,使得环路振荡频率的分布更加具有随机性[5]。第一步,对具有N环路的环形振荡器PUF生成N个0~1之间的随机数,如式(3)所示;第二步,求得各环路频率与频率均值的最大差值,并基于随机数列计算各环路的补偿频率值,如式(4)、式(5)、式(6)所示;第三步,对个环路进行频率补偿,补偿方式如式(7)所示。
2.4 环境适应性的优化
环形振荡器PUF的环路频率除受到工艺偏差、系统性偏差的影响外,还与芯片工作时所处的环境因素相关,如温度、电压和芯片老化等因素。研究发现,环形振荡器PUF在环境因素出现变化时,输出响应会出现一定的异于采集指纹响应的比特位,以温度因素的变化为例如图6(a)所示。
在环形振荡器中,环路振荡频率随温度升高而降低。图6(a)中,由于所选取对比环路振荡频率相近,但受温度影响出现了频率对比翻转的情况,导致出现了实际响应与录入响应相反的结果。通过统计所有环路的振荡频率和温度的变化曲线,并进行加权频率补偿可以获得稳定的输出响应, 如图6(b)所示。
图6 频率随温度的变化
表1为某实际测验的统计结果,可以看出针对环境因素造成环形振荡器PUF输出响应错误的情况。反向器级数越高,影响越明显,这是由于低级数反向器结构的环路具有更高的频率标准差,对环境因素扰动具有更高容忍度。此外,可以从物理指纹采集流程上进行优化,在PUF指纹录入时选择频率差较大的指纹录入数据库,减小环境因素变化对输出响应的影响。
表1 异常比特出现概率
3 结 语
本文研究对比了不同种类的物理指纹认证技术,重点研究了振荡器的环路结构、系统偏差补偿及环境适应性等,对优化环形振荡器PUF指纹的可提取性、随机性和稳定性有重要意义。同时,结合自身工作和项目的应用要求,设计、开发了环形振荡器PUF系统。该系统基于通用FPGA开发板模型,适用于大部分FPGA器件的身份认证。由于PUF的不可复制、轻量级等特性,在知识产权保护、设备认证和密钥生成等领域方面都有广泛的应用前景。