《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于MLP算法的Glitch PUF机器学习攻击
基于MLP算法的Glitch PUF机器学习攻击
2019年电子技术应用第12期
徐金甫,董永兴,李军伟
解放军信息工程大学,河南 郑州450001
摘要: 随着攻击技术的不断进步,基于机器学习(Machine Learning,ML)、深度学习(Deep Learning,DL)等技术的建模攻击严重威胁了PUF的安全。针对Glitch PUF单元电路静态输出的缺陷,首次提出使用多层感知器(Multilayer Perceptron,MLP)算法对Glitch PUF进行机器学习,解决了Glitch PUF输出为非线性可分数据的问题,能够对Glitch PUF攻击并预测其输出。实验表明,对比于逻辑回归(Logistic Regression,LR)算法和随机森林(Random Forest,RF)二分类算法,提出的MLP算法显著降低了预测错误率。
中图分类号: TN9198
文献标识码: A
DOI:10.16157/j.issn.0258-7998.190876
中文引用格式: 徐金甫,董永兴,李军伟. 基于MLP算法的Glitch PUF机器学习攻击[J].电子技术应用,2019,45(12):62-66.
英文引用格式: Xu Jinfu,Dong Yongxing,Li Junwei. Machine learning attack to Glitch PUF based on MLP algorithm[J]. Application of Electronic Technique,2019,45(12):62-66.
Machine learning attack to Glitch PUF based on MLP algorithm
Xu Jinfu,Dong Yongxing,Li Junwei
The PLA Information Engineering University,Zhengzhou 450001,China
Abstract: With the development of attack technology, modeling attacks based on ML, DL and other technologies threaten the security of PUF seriously. In view of the flaw in Glitch PUF static output, this paper first proposes the multilayer perceptron algorithm for Glitch PUF machine learning to analysis nonlinear output data. The experimental results show that the MLP algorithm proposed in this paper can significantly reduce the prediction error rate compared with the logistic regression algorithm and the random forest classification algorithm.
Key words : information security;Glitch PUF;machine learning;modeling attack

0 引言

    当今社会信息化飞速发展,物理不可克隆函数(Physical Unclonable Function,PUF)的不断完善为保证信息安全提供了全新的方法[1-2]。基于FPGA架构的Glitch PUF首先由ANDERSON J H等[3]提出,文献[4]在其基础上,使用多路选择器链,增加了一个新的激励比特位,增强了随机性和可扩展性。文献[5]、[6]充分利用FPGA资源,根据不同工艺的FPGA和不同类别的Slice分别设计了相应的布局布线,使得电路资源利用率显著提升。文献[5]还改进了单元电路结构,提升了输出响应0/1的平衡性。

    以上文献从提升Glitch PUF随机性的角度出发,提出了不同的改进方案,但都未涉及Glitch PUF输入输出映射关系的分析,因此不能从根本解决Glitch PUF的安全性问题。文献[7]提出使用2-DL表示RO PUF,并用PAC学习框架对RO PUF进行学习,证明RO PUF可以被机器学习攻击。文献[8]提出可用逻辑回归(Logistic Regression)和演化策略(Evolution Strategies)方法攻击PUF,并对Arbiter PUF、XOR Arbiter PUF、Feed-Forward Arbiter PUF、Lightweight Secure PUF和RO PUF分别进行了机器学习攻击。实验表明当收集到一定数量的激励响应对(Challenge Response Pairs,CRPs)时,这些电路均可被成功预测,预测精度可达99.9%。

    本文对Glitch PUF进行了深入研究,针对其输入输出的映射关系,提出使用MLP算法对其进行机器学习攻击,并通过实验评估方案的可行性。

1 Glitch PUF

1.1 Glitch PUF架构

    Glitch PUF本质是利用FPGA上的路径延迟差产生竞争冒险现象,以此来产生毛刺,决定PUF单元电路的输出为逻辑“0”或者“1”。由于在制造的过程中,电路的延时差异是由于工艺制作差异随机产生的,即使是相同的电路结构也很难复制出相同的延时,因此利用此原理的电路具有唯一性和物理不可克隆性。

    Glitch PUF单元电路由两个移位寄存器、两个双路数据选择器和一个异步置位D触发器组成,如图1所示。移位寄存器的输入逻辑相反,分别为Ox5555(0101…0101)和OxAAAA(1010…1010),连接到数据选择器的控制端。两个数据选择器形成传输路径,在理想情况下,顶层数据选择器的输出为逻辑0。异步置位D触发器的输入初始值为逻辑0,因此单元电路输出为逻辑0。但在实际电路中,寄存器转换延时和路径传输延时不同,导致路径延时差不同,从而顶层数选器的输出会产生毛刺。毛刺传递到异步D触发器的异步置位端,控制电路产生逻辑0/1。由于毛刺在传递过程中可能会受到传输路径的影响,宽度较窄的毛刺会被过滤掉。只有宽度足够大的毛刺,才能使得单元电路产生逻辑1。

wdz3-t1.gif

    Glitch PUF单元电路没有外界输入,输出结果完全依赖于电路制作过程中的随机变量,因此具有很高的抗建模攻击能力。Glitch PUF单元电路中异步置位D触发器的输入端与输出端相连,使得单元电路稳定地输出逻辑0/1,这在一定程度上提高了电路的稳定性,但从攻击角度来看,这样的设计使得电路更容易受到攻击。为使得Glitch PUF可用于身份识别与认证等领域,ANDERSON J H设计了与RO PUF相似的Glitch PUF架构,如图2所示,虚线框内为n个单元电路,通过输入激励C选取不同的单元电路,异或后输出Glitch PUF的响应。

wdz3-t2.gif

1.2 Glitch PUF模型分析

    Glitch PUF单元电路的输出值是由传输延时和转换延时决定的,根据统计静态时序分析(Statistical Static Timing Analysis,SSTA)[9],延时Δ的分布符合平均值为μ、方差为σ的高斯分布N(μ,σ2),且Δ落在区间[μ-3σ,μ+3σ]的概率为99.7%。

wdz3-gs1-2.gif

2 基于MLP算法的机器学习攻击

2.1 数据处理

wdz3-2.1-x1.gif

wdz3-2.1-x2.gif

wdz3-t3.gif

2.2 MLP算法

    机器学习能够对PUF电路实现攻击的主要原因是PUF电路的结构相对固定,产生的大量激励响应对具有一定的线性特性,使得机器学习能够预测延迟信息和生成信息之间的关系,从而实现对电路的攻击。机器学习算法中,线性可分数据对于大部分算法来讲是容易处理的,但对于非线性可分数据却不能进行有效的学习预测。Glitch PUF电路正是利用这一点,使用异或输出,增加电路输出的非线性,以此增加抗建模攻击性能。

    图4单层感知器由两层神经元组成,可以轻松实现逻辑与、或、非等运算,但是由于只有一层功能神经元,对于简单的非线性可分问题(如异或运算)就不能够正确实现[10]。为解决这一问题,多层感知器(Multilayer Perceptron,MLP)应运而生。根据普适逼近原理,多层感知器通过增加隐藏层(Hidden Layer)和激活函数可以逼近任意函数,将非线性问题表示为更高维度的线性问题[11]。采用的激活函数为阈值函数,即输入大于阈值时可被激活,输出为“1”,反之则未被激活,输出为“0”。解决异或问题,使用如图5所示的简单两层感知器就可以实现。图5中第一层为输入层,第二层为隐藏层,第三层为输出层,第二层第三层圆圈内数字为阈值,横线上数字为权重,y为输出。网络输出结果如表1所示。两层感知器实现了输入数据的异或操作。

wdz3-t4.gif

wdz3-t5.gif

wdz3-b1.gif

    具体来说,多层感知器就是在单层感知器的基础上增加了隐藏层,即单层的输入输出模型为y=f(x,w,θ),而多层感知器输入层到隐藏层模型为h=f1(x,wi,θi),隐藏层的输出作为下一层的输入,即y=f2(h,wj,θj),所以多层感知器的最终输入输出模型为y=fn(fi(f2(f1(x,w,θ))))。

wdz3-b1-x1.gif

    当多层感知器输出与样本一致时,则权重和阈值不改变;当多层感知器输出与样本输出不一致时,权重和阈值会进行改变。以此方式迭代进行,直至符合条件。最后保存权重和阈值进行模型建立,然后对分类错误的样本数量进行统计,输出错误率。

    多层感知器算法对Glitch PUF攻击的具体算法伪代码描述如下。

wdz3-3-s1.gif

3 实验评估

    本文采用Python建立Glitch PUF模型,模拟其输入与输出的映射关系,并收集其激励响应对,用于后续的机器学习攻击。机器学习使用数据挖掘软件WEKA,对单元数量为32、64、128、256的Glitch PUF进行建模攻击,采用MLP算法,十折交叉验证得到的攻击错误率及所需激励响应对数量如图6所示。

wdz3-t6.gif

    由图6可以看出,PUF单元数目越多,则攻击所需的激励响应对就越多,提高预测精度也越困难。单元电路数量越少,增加输入到WEKA中的激励响应对数量,错误率几乎呈直线下降。图中128 bit与256 bit的折线显示,当输入的激励响应对达到一定数量时,错误率降低速率放缓,基本保持不变,这表明机器学习模型已接近最优值,迭代可以结束。

    为验证MLP算法对Glitch PUF攻击的优越性,本文参考文献[8]、[12]、[13]采用针对二分类数据常用的算法——随机森林(RF)和逻辑回归(LR)算法进行对比。以64 bit的Glitch PUF激励响应对数据作为样本,测试结果如图7所示。从图可以看出,随机森林和逻辑回归算法在对Glitch PUF攻击能力上基本保持一致,逻辑回归算法的攻击效果略低于随机森林,多层感知器算法攻击能力最强。MLP算法的预测错误率在样本数量为600左右时,已低于1%。随机森林和逻辑回归算法在样本数量小于1 000时,其预测错误率出现波动,说明算法不能很好地针对数据建立模型;而后不断增大样本数量,其预测错误率出现下降趋势。但当样本数量达到2 500时,其错误率仍保持在20%左右。可见针对Glitch PUF的机器学习攻击,本文所提的MLP算法的处理能力远强于其他两种算法。

wdz3-t7.gif

4 结论

    PUF的不断完善使其能够应用于信息安全领域,但随着攻击技术的不断进步,其安全性也面临着越来越多的挑战。本文分析了基于FPGA的Glitch PUF的物理架构,针对其单元电路输出的缺陷,分析其输入输出映射关系,使用独热码处理其激励响应对,采用MLP算法对其进行机器学习攻击,成功攻击并预测了Glitch PUF的输出。

参考文献

[1] 张紫楠,郭渊博.物理不可克隆函数综述[J].计算机应用,2012,32(11):3115-3120.

[2] 尹魏昕,贾咏哲,高艳松,等.物理不可克隆函数(PUF)研究综述[J].网络安全技术与应用,2018(6):41-42,54.

[3] ANDERSON J H. A PUF design for secure FPGA-based embedded systems[C].Design Automation Conference.IEEE,2010.

[4] Huang Miaoqing,Li Shiming.A delay-based PUF design using multiplexers on FPGA[C].IEEE International Symposium on Field-programmable Custom Computing Machines.IEEE Computer Society,2013.

[5] 庞子涵.FPGA的物理不可克隆函数关键技术研究[D].北京:中国矿业大学,2017.

[6] ZHANG J L,WU Q,DING Y P,et al.Techniques for design and implementation of an FPGA-specific physical unclonable function[J].Journal of Computer Science and Technology,2016,31(1):124-136.

[7] GANJI F,TAJIK S,SEIFERT J P,et al.Let me prove it to you:RO PUFs are provably learnable[M].Information Security and Cryptology-ICISC 2015.Springer International Publishing,2015.

[8] ULRICH R,SEHNKE F,SOLTER J,et al.Modeling attacks on physical unclonable functions[J].CCS,2010:237-249.

[9] CHANG H,SAPATNEKAR S.Statistical timing analysis considering spatial correlation in a pert-like traversal[C].International Conference on Computer Aided Design,2003:621-625.

[10] 周志华.机器学习[M].北京:清华大学出版社,2016.

[11] IAN GOODFELLOW H J,BENGIO Y,COURVILLE A.Deep learning[J].Genetic Programming and Evolvable Machines,2017:s10710-017-9314-z.

[12] 邓生雄,雒江涛.集成随机森林的分类模型[J].计算机应用研究,2015,32(6):1621-1624.

[13] 赵锦阳,卢会国,蒋娟萍,等.一种非平衡数据分类的过采样随机森林算法[J].计算机应用与软件,2019(4):255-261,316.



作者信息:

徐金甫,董永兴,李军伟

(解放军信息工程大学,河南 郑州450001)

此内容为AET网站原创,未经授权禁止转载。