张培勇,袁晓东*,王雪洁,冯忱晖,李宜珂
(1.浙江大学超大规模集成电路研究所,浙江杭州310027;2.浙江大学城市学院信息与电器工程学院,浙江杭州310015;3.福州大学物理与信息工程学院,福建福州350002)
随着半导体工艺的进步和集成电路设计的不断发展,IC相关电子产品逐渐成为人们日常生活中的必需品。电子产品的涌现导致各种信息井喷式增加,信息安全受到了前所未有的挑战[1-2]。传统的基于密码学的方法,由于自身的局限性已不再适用于集成电路领域,而物理不可克隆函数(physical unclonable function,PUF)有望成为解决这一问题的重要方法[3-5]。
利用半导体制造工艺不可避免的固有偏差,物理不可克隆函数能产生唯一、安全的激励响应结果[6]。目前,许多新型PUF结构的设计主要源于已有PUF结构的优化和革新[7]。本文聚焦于PUF最基本的单元结构,提出了一种高效新型的PUF结构——基于D触发器的物理不可克隆函数(D flipflop based PUF,DFF PUF)。此种 PUF新结构,由D触发器建立的时间随机分布函数产生PUF输出响应。
由于偏差是制造过程中随机产生的,每一个D触发器的建立时间都是独一无二的[8]。同时,本文还采用了一种新结构——D触发器对,此结构可通过差分方式提高PUF激励响应结果的准确性;还能有效消除因连线不对称导致的延迟偏差,从而成功解决了绝大多数延迟型PUF由连线导致的低性能问题[9],尤其在FPGA(filed-programmable gate array)上。
基于D触发器的PUF新结构已在Xilinx FPGA上实现。此PUF结构输出1位激励响应时只需2个D触发器,可有效减少芯片的面积。实验统计结果显示,此PUF的唯一性达到了49.40%,明显优于2种 主 流 延 迟 型 PUF(Arbiter PUF[10]7.20%,RO PUF[11]47.24%)。这种特性正是PUF不可克隆的关键,从而使其安全性得到提升[12]。
D触发器的建立时间指输入的数据信号在时钟事件到来之前保持稳定的最小时间[13],也是亚稳态[14]结束的标志。由于制造过程中产生的内在随机性偏差,每一设备上的D触发器都有自己独一无二的建立时间,并且它们的建立时间都在特定的区间内成随机性分布[8]。本文的PUF新结构就是基于以上基本原理设计和建立起来的。
基于D触发器的PUF电路系统的整体架构如图1所示。该系统主要由输入控制单元(input control)、D触发器对的硬宏单元(pair of D flipflops)、采 样 单 元(sampling unit)以 及 处 理 单 元(processing unit)组成。其中,信号发生器Signalgenerator产生初始相位差相同但频率不同的数字信号和时钟信号,见图2。数据信号和时钟信号的周期分别为TData和TClock,在第2个数据时钟周期中,其关系为
图1 基于D触发器的PUF电路系统架构图Fig.1 Block diagram of D flip-flop based PUF
式(1)中,Δt为输入信号的时间差,即输入相位差。第3个数据时钟周期内为2Δt,第4个数据时钟周期内为3Δt,依此类推。因此,D触发器的建立时间可通过一系列有着等差的输入相位差信号测量得到[15],后文将具体阐述。同时,D触发器的输出结果在每次采样之前都会先变为低电平,即“置零”,这样可保证每次D触发器输出结果的采样有完全相同的初始条件。计数信号CLKCount由芯片内部产生,为数据信号的反相信号,用于设置采样的时刻,以确保D触发器在采样时已处于响应结束的稳定状态。因此,在每个数据信号周期内,D触发器相关电路的状态依次为:激励、响应、采样和置零。
图2 基于D触发器的PUF的输入和采样信号Fig.2 Input and sampling signals of D flip-flop based PUF
D触发器对(pair of D flip-flops)中的D触发器是在相同条件下进行的激励响应。通过差分方法处理单元对其结果进行运算处理,能减少连线干扰,提高PUF输出结果的准确性。采样单元(sampling unit)用于获取D触发器建立时间的结果,并将其输出到处理单元(processing unit)。一个n位的PUF需要n个D触发器对、n个采样单元以及n个处理单元。采样单元和处理单元可重复获取并可处理所有D触发器对的输出结果,因此只用一个采样单元和一个处理单元也是可行的。芯片的最终面积由产生一位激励输出响应的PUF基本单元的大小和数量决定。如图3所示,基于D触发器的PUF中,一位PUF输出只有一个D触发器对的结构设计和紧凑的布局方式,有效减小了芯片的面积。
图3 FPGA板上D触发器对的布局Fig.3 The layout of D flip-flops pairs on FPGA board
延迟型PUF结构普遍存在性能低的问题,因为连线不对称造成的延迟偏差约为制造过程中带来的随机性偏差(用于产生PUF输出的偏差)的10倍[9]。从而导致其对PUF输出结果的干扰过大,甚至起决定作用。如图3所示,每一个PUF基本单元都包含一对D触发器,并且输入到其中的信号线长度也各不相同。即便通过精确布局布线,将延迟差降到很小,也很难提高PUF的性能,因为连线延上的延迟偏差数量级很大,尤其是在FPGA上。
图4中每一个点代表每一个D触发器独特的建立时间。对于同一FPGA板的结果来说,因为在FPGA板上一行中有8个D触发器对(见图3),所以,图4中每16个点有类似的分布趋势。说明相对于用于产生PUF输出结果的制造工艺上的随机性偏差,连线延迟带来的偏差对实际输出结果的影响更大。同样,在不同FPGA板之间也存在类似问题,导致每块FPGA板的结果类似。然而,在同一FPGA板上,任意2点之间的相对分布关系却各不相同,反映了每个D触发器制造过程中带来的随机性偏差。
图4 3块FPGA板上D触发器的建立时间分布Fig.4 The setup times of D flip-flops pairs on three FPGA boards
为解决连线干扰问题,提出了D触发器对的新结构。通过差分方法,能精确放大D触发器的随机性偏差,还能完全消除连线不对称造成的延迟偏差。
如图5所示,数据信号和时钟信号在slice1外的延迟差为ts1,在slice1内的延迟差为ts11,由D触发器1(DFF1)制造工艺偏差导致的延迟差为td11,则可以得到同时从信号发生器产生的2个输入信号与D触发器1之间的延迟差为
其中,TDFF1为D触发器1的延迟差。D触发器1和D触发器2的延迟差之间的绝对差为
图5 D触发器对硬宏单元上的延迟Fig.5 Delays in hard macros of pair of D flip-flops
这样每个D触发器在slice外的连线延迟差tS1就可抵消,从而保证每个D触发器对延迟差的绝对差不受连线影响,保证所有D触发器在完全相同的条件下,每一个slice都被例化成FPGA上的硬宏单元(hard macro)。因此,每个slice上的2个D触发器的延迟差之间的绝对差是相同的,为
由式(3)和(4)得到每一个slice上的2个D触发器的输入信号延迟差之间的绝对差为
那么,得到的TSn值完全由D触发器制造过程中的工艺偏差决定,不受连线偏差干扰,是随机分布的。统计结果如图6所示,红色实心和蓝色虚心散点表示FPGA板上同一slice上2个D触发器各自的输入信号延迟差,即TDFF1和TDFF2。因为受连线带来的偏差影响较大,所以分布上具有相似趋势。柱状图则表示FPGA板上的同一Slice上2个D触发器输入信号延迟差之间的绝对差,即TSn(为方便显示,对结果进行了4倍的放大)。经验证,此组数据成随机性分布。
图6 FPGA板上同一slice上D触发器的输入信号延迟差(散点)和其绝对差(柱状,4倍放大)Fig.6 The time difference of D flip-flops in a slice of one FPGA board(scatter diagram)and their absolute difference(column diagram,4 times amplified)
据上所述,采样并处理D触发器对的值TSn就能得到PUF的输出结果。D触发器的响应结果被存储在一个N位的移位寄存器中,同时,用计数器记录计数信号上升沿的次数。当移位寄存器的值转变为N’hfff…fff时,采样单元对D触发器的建立时间即时准确采集,如图7和表1所示。因此,参数N的设置必须比D触发器的亚稳态时间的计数结果更大,以防止因出现一串高电平的干扰,错过准确的采样时刻。
图7 信号延迟差和采样结果的关系Fig.7 Relationships between time differences of signals and sampling results
表1 关系表(正数,l<n<m<p)Table 1 Relationships(positive number,l<n<m<p)
为了得到更加稳定的PUF输出,基于D触发器的PUF设计采用了重复的激励响应,该过程从重置信号发生器产生新的信号开始,直到采样单元获得结果。处理单元中的寄存器用于获取重复的激励响应结果中的最大值,即最准确稳定的结果值M。在每个D触发器对的处理单元中,D触发器1的结果为M1,D触发器2的结果为M2,则可得PUF的一位输出结果:
式(6)中,Nthv为一个可被事先设定的参数,|M1-M2|的结果反映了绝对差TSn的大小。于是,完整建立了一个n位的基于D触发器的PUF电路系统。
文中所有电路均在Xilinx Spartan-3A FPGA开发板上实现,如图8和图9所示。实验中,由信号发生器Agilent 33500B产生的数据信号和时钟信号的频率分别为5 000 100 Hz和10 MHz。实验参数N和Nthv分别为64和6,产生一个56位的PUF大约需要10 ms。评估物理不可克隆函数性能一般有3个重要指标:可靠性(reliability)、统一性(uniformity)和唯一性(uniqueness)[16]。在实验中,分别对其进行测试和分析。
图8 D触发器对在FPGA板上的布局Fig.8 Placement of D flip-flops pairs on FPGA
PUF的可靠性体现了PUF再输出响应的效率。普遍会使用芯片系统内部的汉明距离(Hamming distance,HD)来评估这一特性。测试一个在芯片i上n位响应的PUF电路系统在正常工作条件下(室温下使用正常的供电电压)的输出响应值Ri。再测试其在其他工作环境下(不同温度条件或不同的供电电压)的响应值,记为 R′i。在获得 m个 R′i样本后,对于芯片i上的PUF电路系统,平均芯片内部汉明距离(intra-chip HD)为
式中,R ′i,t是 R ′i的第 t个样本。HDINTRA表示 PUF电路系统不可靠/噪声输出位数的平均个数。所以,PUF的可靠性可表示为
实验中,在不同工作环境下(一周内不同时间段,温度变化为15~30℃),对同一FPGA板上的PUF进行了大量重复性测试。测试结果如表2和图10所示,横坐标表示PUF电路系统内部的汉明距离,纵坐标为对应汉明距离所占的比例。
表2 DFF PUF与其他类型PUF的性能对比Table 2 Performance comparisons of DFF PUF and other types of PUFs
图10 DFF PUF可靠性测试结果Fig.10 The results of DFF PUF’s reliability
图11 DFF PUF统一性测试结果Fig.11 The results of DFF PUF’s uniformity
PUF的统一性体现了一个n位响应的PUF电路系统输出结果中0和1的比例分布。对于真随机的PUF响应而言,所有位数是完全相同的,因此,此分布比例理论上应为50%。通常将一个n位响应的PUF的统一性定义为其百分比汉明权重(percentage Hamming weight(HW)):
式中,ri,l表示一个 n 位响应的 PUF 芯片 i的第 l位值。实验中,分别对10块spartan 3A FPGA开发板上的PUF电路系统进行了大量测试,结果如表2和图11所示,其中虚线为基于D触发器的PUF统一性的平均值。
PUF的唯一性体现了PUF能够输出区别于其他同类型的芯片PUF的明显程度,也是PUF不可克隆的根本保证。通常用2个PUF输出结果的汉明距离(Hamming distance,HD)来表示这一特性。在2个PUF中,i和j(i≠j)都有n位的响应输出,即Ri和Rj.那么,k个芯片上PUF的平均汉明距离为
将实验测得的10块FPGA板上的PUF(56位)输出结果分别两两进行汉明距离运算,得到的结果如图12所示。颜色深浅代表汉明距离的大小,可以看出,两两之间的汉明距离基本在26~30,在每2个FPGA板之间的分布也较为均匀。同时,对结果进行了正态分布函数拟合,如图13所示。图中横坐标表示分数型汉明距离,纵坐标表示落在对应汉明距离结果的百分比,红色曲线表示拟合结果,基本接近理想状态。
图12 FPGA板之间的响应结果的汉明距离(位置)Fig.12 Hamming distances of response data between FPGAs(location)
表2为DFF PUF与其他类型PUF性能的对比。基于D触发器的PUF特性均接近理想状况。其中唯一性指标达到49.40%,较2种主流延迟型PUF的均值分别提高了42.20%和2.16%(参考数据来自 Maiti团队[16])。
图13 FPGA板之间的响应结果的汉明距离(分布)Fig.13 Hamming distances of response data between FPGAs(distribution)
基于D触发器的物理不可克隆函数(DFF PUF),实现了一种新型的PUF结构设计。利用D触发器建立时间随机分布的特性,巧妙地设计了D触发器对结构,DFF PUF明显提高了PUF结构的唯一性,从而提高了其安全性。由于1位PUF输出只需要1个D触发器对,DFF PUF降低了芯片的使用面积。实验测试结果表明,基于D触发器的PUF,在可靠性、统一性和唯一性上均有较理想的表现。