文獻標識碼: 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.
0 引言
當今社會信息化飛速發(fā)展,物理不可克隆函數(shù)(Physical Unclonable Function,PUF)的不斷完善為保證信息安全提供了全新的方法[1-2],?;贔PGA架構的Glitch PUF首先由ANDERSON J H等[3]提出,文獻[4]在其基礎上,,使用多路選擇器鏈,,增加了一個新的激勵比特位,增強了隨機性和可擴展性,。文獻[5],、[6]充分利用FPGA資源,根據(jù)不同工藝的FPGA和不同類別的Slice分別設計了相應的布局布線,,使得電路資源利用率顯著提升,。文獻[5]還改進了單元電路結構,提升了輸出響應0/1的平衡性,。
以上文獻從提升Glitch PUF隨機性的角度出發(fā),,提出了不同的改進方案,但都未涉及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分別進行了機器學習攻擊,。實驗表明當收集到一定數(shù)量的激勵響應對(Challenge Response Pairs,,CRPs)時,這些電路均可被成功預測,,預測精度可達99.9%,。
本文對Glitch PUF進行了深入研究,針對其輸入輸出的映射關系,,提出使用MLP算法對其進行機器學習攻擊,,并通過實驗評估方案的可行性。
1 Glitch PUF
1.1 Glitch PUF架構
Glitch PUF本質(zhì)是利用FPGA上的路徑延遲差產(chǎn)生競爭冒險現(xiàn)象,,以此來產(chǎn)生毛刺,,決定PUF單元電路的輸出為邏輯“0”或者“1”。由于在制造的過程中,,電路的延時差異是由于工藝制作差異隨機產(chǎn)生的,,即使是相同的電路結構也很難復制出相同的延時,,因此利用此原理的電路具有唯一性和物理不可克隆性。
Glitch PUF單元電路由兩個移位寄存器,、兩個雙路數(shù)據(jù)選擇器和一個異步置位D觸發(fā)器組成,,如圖1所示。移位寄存器的輸入邏輯相反,,分別為Ox5555(0101…0101)和OxAAAA(1010…1010),,連接到數(shù)據(jù)選擇器的控制端。兩個數(shù)據(jù)選擇器形成傳輸路徑,,在理想情況下,,頂層數(shù)據(jù)選擇器的輸出為邏輯0。異步置位D觸發(fā)器的輸入初始值為邏輯0,,因此單元電路輸出為邏輯0,。但在實際電路中,寄存器轉換延時和路徑傳輸延時不同,,導致路徑延時差不同,從而頂層數(shù)選器的輸出會產(chǎn)生毛刺,。毛刺傳遞到異步D觸發(fā)器的異步置位端,,控制電路產(chǎn)生邏輯0/1。由于毛刺在傳遞過程中可能會受到傳輸路徑的影響,,寬度較窄的毛刺會被過濾掉,。只有寬度足夠大的毛刺,才能使得單元電路產(chǎn)生邏輯1,。
Glitch PUF單元電路沒有外界輸入,,輸出結果完全依賴于電路制作過程中的隨機變量,因此具有很高的抗建模攻擊能力,。Glitch PUF單元電路中異步置位D觸發(fā)器的輸入端與輸出端相連,,使得單元電路穩(wěn)定地輸出邏輯0/1,這在一定程度上提高了電路的穩(wěn)定性,,但從攻擊角度來看,,這樣的設計使得電路更容易受到攻擊。為使得Glitch PUF可用于身份識別與認證等領域,,ANDERSON J H設計了與RO PUF相似的Glitch PUF架構,,如圖2所示,虛線框內(nèi)為n個單元電路,,通過輸入激勵C選取不同的單元電路,,異或后輸出Glitch PUF的響應。
1.2 Glitch PUF模型分析
Glitch PUF單元電路的輸出值是由傳輸延時和轉換延時決定的,,根據(jù)統(tǒng)計靜態(tài)時序分析(Statistical Static Timing Analysis,,SSTA)[9],,延時Δ的分布符合平均值為μ、方差為σ的高斯分布N(μ,,σ2),,且Δ落在區(qū)間[μ-3σ,μ+3σ]的概率為99.7%,。
2 基于MLP算法的機器學習攻擊
2.1 數(shù)據(jù)處理
2.2 MLP算法
機器學習能夠?qū)UF電路實現(xiàn)攻擊的主要原因是PUF電路的結構相對固定,,產(chǎn)生的大量激勵響應對具有一定的線性特性,使得機器學習能夠預測延遲信息和生成信息之間的關系,,從而實現(xiàn)對電路的攻擊,。機器學習算法中,線性可分數(shù)據(jù)對于大部分算法來講是容易處理的,,但對于非線性可分數(shù)據(jù)卻不能進行有效的學習預測,。Glitch PUF電路正是利用這一點,使用異或輸出,,增加電路輸出的非線性,,以此增加抗建模攻擊性能。
圖4單層感知器由兩層神經(jīng)元組成,,可以輕松實現(xiàn)邏輯與,、或、非等運算,,但是由于只有一層功能神經(jīng)元,,對于簡單的非線性可分問題(如異或運算)就不能夠正確實現(xiàn)[10]。為解決這一問題,,多層感知器(Multilayer Perceptron,,MLP)應運而生。根據(jù)普適逼近原理,,多層感知器通過增加隱藏層(Hidden Layer)和激活函數(shù)可以逼近任意函數(shù),,將非線性問題表示為更高維度的線性問題[11]。采用的激活函數(shù)為閾值函數(shù),,即輸入大于閾值時可被激活,,輸出為“1”,反之則未被激活,,輸出為“0”,。解決異或問題,使用如圖5所示的簡單兩層感知器就可以實現(xiàn),。圖5中第一層為輸入層,,第二層為隱藏層,第三層為輸出層,,第二層第三層圓圈內(nèi)數(shù)字為閾值,,橫線上數(shù)字為權重,,y為輸出。網(wǎng)絡輸出結果如表1所示,。兩層感知器實現(xiàn)了輸入數(shù)據(jù)的異或操作,。
具體來說,多層感知器就是在單層感知器的基礎上增加了隱藏層,,即單層的輸入輸出模型為y=f(x,,w,θ),,而多層感知器輸入層到隱藏層模型為h=f1(x,,wi,θi),,隱藏層的輸出作為下一層的輸入,,即y=f2(h,wj,,θj),,所以多層感知器的最終輸入輸出模型為y=fn(fi(f2(f1(x,w,,θ)))),。
當多層感知器輸出與樣本一致時,則權重和閾值不改變,;當多層感知器輸出與樣本輸出不一致時,權重和閾值會進行改變,。以此方式迭代進行,,直至符合條件。最后保存權重和閾值進行模型建立,,然后對分類錯誤的樣本數(shù)量進行統(tǒng)計,,輸出錯誤率。
多層感知器算法對Glitch PUF攻擊的具體算法偽代碼描述如下,。
3 實驗評估
本文采用Python建立Glitch PUF模型,,模擬其輸入與輸出的映射關系,并收集其激勵響應對,,用于后續(xù)的機器學習攻擊,。機器學習使用數(shù)據(jù)挖掘軟件WEKA,對單元數(shù)量為32,、64,、128、256的Glitch PUF進行建模攻擊,,采用MLP算法,,十折交叉驗證得到的攻擊錯誤率及所需激勵響應對數(shù)量如圖6所示,。
由圖6可以看出,PUF單元數(shù)目越多,,則攻擊所需的激勵響應對就越多,,提高預測精度也越困難。單元電路數(shù)量越少,,增加輸入到WEKA中的激勵響應對數(shù)量,,錯誤率幾乎呈直線下降。圖中128 bit與256 bit的折線顯示,,當輸入的激勵響應對達到一定數(shù)量時,,錯誤率降低速率放緩,基本保持不變,,這表明機器學習模型已接近最優(yōu)值,,迭代可以結束。
為驗證MLP算法對Glitch PUF攻擊的優(yōu)越性,,本文參考文獻[8],、[12]、[13]采用針對二分類數(shù)據(jù)常用的算法——隨機森林(RF)和邏輯回歸(LR)算法進行對比,。以64 bit的Glitch PUF激勵響應對數(shù)據(jù)作為樣本,,測試結果如圖7所示。從圖可以看出,,隨機森林和邏輯回歸算法在對Glitch PUF攻擊能力上基本保持一致,,邏輯回歸算法的攻擊效果略低于隨機森林,多層感知器算法攻擊能力最強,。MLP算法的預測錯誤率在樣本數(shù)量為600左右時,,已低于1%。隨機森林和邏輯回歸算法在樣本數(shù)量小于1 000時,,其預測錯誤率出現(xiàn)波動,,說明算法不能很好地針對數(shù)據(jù)建立模型;而后不斷增大樣本數(shù)量,,其預測錯誤率出現(xiàn)下降趨勢,。但當樣本數(shù)量達到2 500時,其錯誤率仍保持在20%左右,??梢娽槍litch PUF的機器學習攻擊,本文所提的MLP算法的處理能力遠強于其他兩種算法,。
4 結論
PUF的不斷完善使其能夠應用于信息安全領域,,但隨著攻擊技術的不斷進步,其安全性也面臨著越來越多的挑戰(zhàn),。本文分析了基于FPGA的Glitch PUF的物理架構,,針對其單元電路輸出的缺陷,,分析其輸入輸出映射關系,使用獨熱碼處理其激勵響應對,,采用MLP算法對其進行機器學習攻擊,,成功攻擊并預測了Glitch PUF的輸出。
參考文獻
[1] 張紫楠,,郭淵博.物理不可克隆函數(shù)綜述[J].計算機應用,,2012,32(11):3115-3120.
[2] 尹魏昕,,賈詠哲,,高艷松,等.物理不可克隆函數(shù)(PUF)研究綜述[J].網(wǎ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ù)關鍵技術研究[D].北京:中國礦業(yè)大學,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] 趙錦陽,,盧會國,蔣娟萍,,等.一種非平衡數(shù)據(jù)分類的過采樣隨機森林算法[J].計算機應用與軟件,,2019(4):255-261,316.
作者信息:
徐金甫,,董永興,,李軍偉
(解放軍信息工程大學,河南 鄭州450001)