文獻(xiàn)標(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],。基于FPGA架構(gòu)的Glitch PUF首先由ANDERSON J H等[3]提出,,文獻(xiàn)[4]在其基礎(chǔ)上,,使用多路選擇器鏈,增加了一個新的激勵比特位,,增強了隨機性和可擴展性,。文獻(xiàn)[5]、[6]充分利用FPGA資源,,根據(jù)不同工藝的FPGA和不同類別的Slice分別設(shè)計了相應(yīng)的布局布線,,使得電路資源利用率顯著提升。文獻(xiàn)[5]還改進(jìn)了單元電路結(jié)構(gòu),,提升了輸出響應(yīng)0/1的平衡性,。
以上文獻(xiàn)從提升Glitch PUF隨機性的角度出發(fā),提出了不同的改進(jìn)方案,,但都未涉及Glitch PUF輸入輸出映射關(guān)系的分析,,因此不能從根本解決Glitch PUF的安全性問題。文獻(xiàn)[7]提出使用2-DL表示RO PUF,,并用PAC學(xué)習(xí)框架對RO PUF進(jìn)行學(xué)習(xí),,證明RO PUF可以被機器學(xué)習(xí)攻擊。文獻(xiàn)[8]提出可用邏輯回歸(Logistic Regression)和演化策略(Evolution Strategies)方法攻擊PUF,,并對Arbiter PUF,、XOR Arbiter PUF、Feed-Forward Arbiter PUF,、Lightweight Secure PUF和RO PUF分別進(jìn)行了機器學(xué)習(xí)攻擊,。實驗表明當(dāng)收集到一定數(shù)量的激勵響應(yīng)對(Challenge Response Pairs,CRPs)時,,這些電路均可被成功預(yù)測,,預(yù)測精度可達(dá)99.9%。
本文對Glitch PUF進(jìn)行了深入研究,,針對其輸入輸出的映射關(guān)系,,提出使用MLP算法對其進(jìn)行機器學(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ù)卻不能進(jìn)行有效的學(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)重和閾值會進(jìn)行改變。以此方式迭代進(jìn)行,,直至符合條件,。最后保存權(quán)重和閾值進(jìn)行模型建立,然后對分類錯誤的樣本數(shù)量進(jìn)行統(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進(jìn)行建模攻擊,,采用MLP算法,十折交叉驗證得到的攻擊錯誤率及所需激勵響應(yīng)對數(shù)量如圖6所示,。
由圖6可以看出,,PUF單元數(shù)目越多,則攻擊所需的激勵響應(yīng)對就越多,,提高預(yù)測精度也越困難,。單元電路數(shù)量越少,增加輸入到WEKA中的激勵響應(yīng)對數(shù)量,,錯誤率幾乎呈直線下降,。圖中128 bit與256 bit的折線顯示,當(dāng)輸入的激勵響應(yīng)對達(dá)到一定數(shù)量時,,錯誤率降低速率放緩,,基本保持不變,這表明機器學(xué)習(xí)模型已接近最優(yōu)值,,迭代可以結(jié)束,。
為驗證MLP算法對Glitch PUF攻擊的優(yōu)越性,本文參考文獻(xiàn)[8],、[12],、[13]采用針對二分類數(shù)據(jù)常用的算法——隨機森林(RF)和邏輯回歸(LR)算法進(jìn)行對比。以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ù)量達(dá)到2 500時,,其錯誤率仍保持在20%左右??梢娽槍litch PUF的機器學(xué)習(xí)攻擊,,本文所提的MLP算法的處理能力遠(yuǎn)強于其他兩種算法,。
4 結(jié)論
PUF的不斷完善使其能夠應(yīng)用于信息安全領(lǐng)域,但隨著攻擊技術(shù)的不斷進(jìn)步,,其安全性也面臨著越來越多的挑戰(zhàn),。本文分析了基于FPGA的Glitch PUF的物理架構(gòu),針對其單元電路輸出的缺陷,,分析其輸入輸出映射關(guān)系,,使用獨熱碼處理其激勵響應(yīng)對,采用MLP算法對其進(jìn)行機器學(xué)習(xí)攻擊,,成功攻擊并預(yù)測了Glitch PUF的輸出,。
參考文獻(xiàn)
[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)