《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于MLP算法的Glitch PUF機器學(xué)習(xí)攻擊
基于MLP算法的Glitch PUF機器學(xué)習(xí)攻擊
2019年電子技術(shù)應(yīng)用第12期
徐金甫,董永興,李軍偉
解放軍信息工程大學(xué),河南 鄭州450001
摘要: 隨著攻擊技術(shù)的不斷進步,基于機器學(xué)習(xí)(Machine Learning,ML)、深度學(xué)習(xí)(Deep Learning,DL)等技術(shù)的建模攻擊嚴(yán)重威脅了PUF的安全。針對Glitch PUF單元電路靜態(tài)輸出的缺陷,首次提出使用多層感知器(Multilayer Perceptron,MLP)算法對Glitch PUF進行機器學(xué)習(xí),解決了Glitch PUF輸出為非線性可分?jǐn)?shù)據(jù)的問題,能夠?qū)litch PUF攻擊并預(yù)測其輸出。實驗表明,對比于邏輯回歸(Logistic Regression,LR)算法和隨機森林(Random Forest,RF)二分類算法,提出的MLP算法顯著降低了預(yù)測錯誤率。
中圖分類號: TN9198
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190876
中文引用格式: 徐金甫,董永興,李軍偉. 基于MLP算法的Glitch PUF機器學(xué)習(xí)攻擊[J].電子技術(shù)應(yīng)用,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 引言

    當(dāng)今社會信息化飛速發(fā)展,物理不可克隆函數(shù)(Physical Unclonable Function,PUF)的不斷完善為保證信息安全提供了全新的方法[1-2]?;贔PGA架構(gòu)的Glitch PUF首先由ANDERSON J H等[3]提出,文獻[4]在其基礎(chǔ)上,使用多路選擇器鏈,增加了一個新的激勵比特位,增強了隨機性和可擴展性。文獻[5]、[6]充分利用FPGA資源,根據(jù)不同工藝的FPGA和不同類別的Slice分別設(shè)計了相應(yīng)的布局布線,使得電路資源利用率顯著提升。文獻[5]還改進了單元電路結(jié)構(gòu),提升了輸出響應(yīng)0/1的平衡性。

    以上文獻從提升Glitch PUF隨機性的角度出發(fā),提出了不同的改進方案,但都未涉及Glitch PUF輸入輸出映射關(guān)系的分析,因此不能從根本解決Glitch PUF的安全性問題。文獻[7]提出使用2-DL表示RO PUF,并用PAC學(xué)習(xí)框架對RO PUF進行學(xué)習(xí),證明RO PUF可以被機器學(xué)習(xí)攻擊。文獻[8]提出可用邏輯回歸(Logistic Regression)和演化策略(Evolution Strategies)方法攻擊PUF,并對Arbiter PUF、XOR Arbiter PUF、Feed-Forward Arbiter PUF、Lightweight Secure PUF和RO PUF分別進行了機器學(xué)習(xí)攻擊。實驗表明當(dāng)收集到一定數(shù)量的激勵響應(yīng)對(Challenge Response Pairs,CRPs)時,這些電路均可被成功預(yù)測,預(yù)測精度可達99.9%。

    本文對Glitch PUF進行了深入研究,針對其輸入輸出的映射關(guān)系,提出使用MLP算法對其進行機器學(xué)習(xí)攻擊,并通過實驗評估方案的可行性。

1 Glitch PUF

1.1 Glitch PUF架構(gòu)

    Glitch PUF本質(zhì)是利用FPGA上的路徑延遲差產(chǎn)生競爭冒險現(xiàn)象,以此來產(chǎn)生毛刺,決定PUF單元電路的輸出為邏輯“0”或者“1”。由于在制造的過程中,電路的延時差異是由于工藝制作差異隨機產(chǎn)生的,即使是相同的電路結(jié)構(gòu)也很難復(fù)制出相同的延時,因此利用此原理的電路具有唯一性和物理不可克隆性。

    Glitch PUF單元電路由兩個移位寄存器、兩個雙路數(shù)據(jù)選擇器和一個異步置位D觸發(fā)器組成,如圖1所示。移位寄存器的輸入邏輯相反,分別為Ox5555(0101…0101)和OxAAAA(1010…1010),連接到數(shù)據(jù)選擇器的控制端。兩個數(shù)據(jù)選擇器形成傳輸路徑,在理想情況下,頂層數(shù)據(jù)選擇器的輸出為邏輯0。異步置位D觸發(fā)器的輸入初始值為邏輯0,因此單元電路輸出為邏輯0。但在實際電路中,寄存器轉(zhuǎn)換延時和路徑傳輸延時不同,導(dǎo)致路徑延時差不同,從而頂層數(shù)選器的輸出會產(chǎn)生毛刺。毛刺傳遞到異步D觸發(fā)器的異步置位端,控制電路產(chǎn)生邏輯0/1。由于毛刺在傳遞過程中可能會受到傳輸路徑的影響,寬度較窄的毛刺會被過濾掉。只有寬度足夠大的毛刺,才能使得單元電路產(chǎn)生邏輯1。

wdz3-t1.gif

    Glitch PUF單元電路沒有外界輸入,輸出結(jié)果完全依賴于電路制作過程中的隨機變量,因此具有很高的抗建模攻擊能力。Glitch PUF單元電路中異步置位D觸發(fā)器的輸入端與輸出端相連,使得單元電路穩(wěn)定地輸出邏輯0/1,這在一定程度上提高了電路的穩(wěn)定性,但從攻擊角度來看,這樣的設(shè)計使得電路更容易受到攻擊。為使得Glitch PUF可用于身份識別與認(rèn)證等領(lǐng)域,ANDERSON J H設(shè)計了與RO PUF相似的Glitch PUF架構(gòu),如圖2所示,虛線框內(nèi)為n個單元電路,通過輸入激勵C選取不同的單元電路,異或后輸出Glitch PUF的響應(yīng)。

wdz3-t2.gif

1.2 Glitch PUF模型分析

    Glitch PUF單元電路的輸出值是由傳輸延時和轉(zhuǎn)換延時決定的,根據(jù)統(tǒng)計靜態(tài)時序分析(Statistical Static Timing Analysis,SSTA)[9],延時Δ的分布符合平均值為μ、方差為σ的高斯分布N(μ,σ2),且Δ落在區(qū)間[μ-3σ,μ+3σ]的概率為99.7%。

wdz3-gs1-2.gif

2 基于MLP算法的機器學(xué)習(xí)攻擊

2.1 數(shù)據(jù)處理

wdz3-2.1-x1.gif

wdz3-2.1-x2.gif

wdz3-t3.gif

2.2 MLP算法

    機器學(xué)習(xí)能夠?qū)UF電路實現(xiàn)攻擊的主要原因是PUF電路的結(jié)構(gòu)相對固定,產(chǎn)生的大量激勵響應(yīng)對具有一定的線性特性,使得機器學(xué)習(xí)能夠預(yù)測延遲信息和生成信息之間的關(guān)系,從而實現(xiàn)對電路的攻擊。機器學(xué)習(xí)算法中,線性可分?jǐn)?shù)據(jù)對于大部分算法來講是容易處理的,但對于非線性可分?jǐn)?shù)據(jù)卻不能進行有效的學(xué)習(xí)預(yù)測。Glitch PUF電路正是利用這一點,使用異或輸出,增加電路輸出的非線性,以此增加抗建模攻擊性能。

    圖4單層感知器由兩層神經(jīng)元組成,可以輕松實現(xiàn)邏輯與、或、非等運算,但是由于只有一層功能神經(jīng)元,對于簡單的非線性可分問題(如異或運算)就不能夠正確實現(xiàn)[10]。為解決這一問題,多層感知器(Multilayer Perceptron,MLP)應(yīng)運而生。根據(jù)普適逼近原理,多層感知器通過增加隱藏層(Hidden Layer)和激活函數(shù)可以逼近任意函數(shù),將非線性問題表示為更高維度的線性問題[11]。采用的激活函數(shù)為閾值函數(shù),即輸入大于閾值時可被激活,輸出為“1”,反之則未被激活,輸出為“0”。解決異或問題,使用如圖5所示的簡單兩層感知器就可以實現(xiàn)。圖5中第一層為輸入層,第二層為隱藏層,第三層為輸出層,第二層第三層圓圈內(nèi)數(shù)字為閾值,橫線上數(shù)字為權(quán)重,y為輸出。網(wǎng)絡(luò)輸出結(jié)果如表1所示。兩層感知器實現(xiàn)了輸入數(shù)據(jù)的異或操作。

wdz3-t4.gif

wdz3-t5.gif

wdz3-b1.gif

    具體來說,多層感知器就是在單層感知器的基礎(chǔ)上增加了隱藏層,即單層的輸入輸出模型為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

    當(dāng)多層感知器輸出與樣本一致時,則權(quán)重和閾值不改變;當(dāng)多層感知器輸出與樣本輸出不一致時,權(quán)重和閾值會進行改變。以此方式迭代進行,直至符合條件。最后保存權(quán)重和閾值進行模型建立,然后對分類錯誤的樣本數(shù)量進行統(tǒng)計,輸出錯誤率。

    多層感知器算法對Glitch PUF攻擊的具體算法偽代碼描述如下。

wdz3-3-s1.gif

3 實驗評估

    本文采用Python建立Glitch PUF模型,模擬其輸入與輸出的映射關(guān)系,并收集其激勵響應(yīng)對,用于后續(xù)的機器學(xué)習(xí)攻擊。機器學(xué)習(xí)使用數(shù)據(jù)挖掘軟件WEKA,對單元數(shù)量為32、64、128、256的Glitch PUF進行建模攻擊,采用MLP算法,十折交叉驗證得到的攻擊錯誤率及所需激勵響應(yīng)對數(shù)量如圖6所示。

wdz3-t6.gif

    由圖6可以看出,PUF單元數(shù)目越多,則攻擊所需的激勵響應(yīng)對就越多,提高預(yù)測精度也越困難。單元電路數(shù)量越少,增加輸入到WEKA中的激勵響應(yīng)對數(shù)量,錯誤率幾乎呈直線下降。圖中128 bit與256 bit的折線顯示,當(dāng)輸入的激勵響應(yīng)對達到一定數(shù)量時,錯誤率降低速率放緩,基本保持不變,這表明機器學(xué)習(xí)模型已接近最優(yōu)值,迭代可以結(jié)束。

    為驗證MLP算法對Glitch PUF攻擊的優(yōu)越性,本文參考文獻[8]、[12]、[13]采用針對二分類數(shù)據(jù)常用的算法——隨機森林(RF)和邏輯回歸(LR)算法進行對比。以64 bit的Glitch PUF激勵響應(yīng)對數(shù)據(jù)作為樣本,測試結(jié)果如圖7所示。從圖可以看出,隨機森林和邏輯回歸算法在對Glitch PUF攻擊能力上基本保持一致,邏輯回歸算法的攻擊效果略低于隨機森林,多層感知器算法攻擊能力最強。MLP算法的預(yù)測錯誤率在樣本數(shù)量為600左右時,已低于1%。隨機森林和邏輯回歸算法在樣本數(shù)量小于1 000時,其預(yù)測錯誤率出現(xiàn)波動,說明算法不能很好地針對數(shù)據(jù)建立模型;而后不斷增大樣本數(shù)量,其預(yù)測錯誤率出現(xiàn)下降趨勢。但當(dāng)樣本數(shù)量達到2 500時,其錯誤率仍保持在20%左右??梢娽槍litch PUF的機器學(xué)習(xí)攻擊,本文所提的MLP算法的處理能力遠(yuǎn)強于其他兩種算法。

wdz3-t7.gif

4 結(jié)論

    PUF的不斷完善使其能夠應(yīng)用于信息安全領(lǐng)域,但隨著攻擊技術(shù)的不斷進步,其安全性也面臨著越來越多的挑戰(zhàn)。本文分析了基于FPGA的Glitch PUF的物理架構(gòu),針對其單元電路輸出的缺陷,分析其輸入輸出映射關(guān)系,使用獨熱碼處理其激勵響應(yīng)對,采用MLP算法對其進行機器學(xué)習(xí)攻擊,成功攻擊并預(yù)測了Glitch PUF的輸出。

參考文獻

[1] 張紫楠,郭淵博.物理不可克隆函數(shù)綜述[J].計算機應(yīng)用,2012,32(11):3115-3120.

[2] 尹魏昕,賈詠哲,高艷松,等.物理不可克隆函數(shù)(PUF)研究綜述[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,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的物理不可克隆函數(shù)關(guān)鍵技術(shù)研究[D].北京:中國礦業(yè)大學(xué),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] 周志華.機器學(xué)習(xí)[M].北京:清華大學(xué)出版社,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].計算機應(yīng)用研究,2015,32(6):1621-1624.

[13] 趙錦陽,盧會國,蔣娟萍,等.一種非平衡數(shù)據(jù)分類的過采樣隨機森林算法[J].計算機應(yīng)用與軟件,2019(4):255-261,316.



作者信息:

徐金甫,董永興,李軍偉

(解放軍信息工程大學(xué),河南 鄭州450001)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。