文獻標(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.
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。
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)。
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%。
2 基于MLP算法的機器學(xué)習(xí)攻擊
2.1 數(shù)據(jù)處理
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ù)的異或操作。
具體來說,多層感知器就是在單層感知器的基礎(chǔ)上增加了隱藏層,即單層的輸入輸出模型為y=f(x,w,θ),而多層感知器輸入層到隱藏層模型為h=f1(x,wi,θi),隱藏層的輸出作為下一層的輸入,即y=f2(h,wj,θj),所以多層感知器的最終輸入輸出模型為y=fn(fi(f2(f1(x,w,θ))))。
當(dāng)多層感知器輸出與樣本一致時,則權(quán)重和閾值不改變;當(dāng)多層感知器輸出與樣本輸出不一致時,權(quán)重和閾值會進行改變。以此方式迭代進行,直至符合條件。最后保存權(quán)重和閾值進行模型建立,然后對分類錯誤的樣本數(shù)量進行統(tǒng)計,輸出錯誤率。
多層感知器算法對Glitch PUF攻擊的具體算法偽代碼描述如下。
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所示。
由圖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)強于其他兩種算法。
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)