陳鑫輝 倪 力 劉子堅(jiān)* 張躍軍 陳祺來 劉 鋼
①(金華職業(yè)技術(shù)學(xué)院信息工程學(xué)院 金華 321017)
②(寧波大學(xué)信息科學(xué)與工程學(xué)院 寧波 315211)
③(上海交通大學(xué)電子信息與電氣工程學(xué)院 上海 200240)
隨著物聯(lián)網(wǎng)應(yīng)用和現(xiàn)代通信技術(shù)的高速發(fā)展,網(wǎng)絡(luò)攻擊事件次數(shù)快速增加,信息的共享和應(yīng)用安全越來越重要。傳統(tǒng)密碼學(xué)將特定私鑰保存在非易失性單元電路實(shí)現(xiàn)加解密過程,但易受版圖逆向工程、微探測(cè)等方式攻擊導(dǎo)致私鑰暴露引起安全事故[1]。物理不可克隆函數(shù)(Physical Unclonable Function,PUF)通過分析硬件工藝制造引起器件結(jié)構(gòu)細(xì)微變化出現(xiàn)的物理偏差[2],能有效抵御物理攻擊。
物理克隆函數(shù)根據(jù)激勵(lì)響應(yīng)(Challenge Response Pair, CRP)數(shù)量分為弱PUF[3]和強(qiáng)PUF[4]。弱PUF的CRP數(shù)量與PUF基本單元呈線性或多項(xiàng)式函數(shù)關(guān)系,用于加密過程中密鑰生成,但CRP數(shù)量有限導(dǎo)致無法生成大量密鑰,使得PUF應(yīng)用受限。強(qiáng)PUF的CRP數(shù)與PUF基本單元數(shù)呈指數(shù)關(guān)系,例如仲裁器PUF(Arbiter-PUF)[5]、異或PUF(Exclusive OR-PUF, XOR-PUF)[6]以及環(huán)形振蕩器PUF(Ring Oscillator-PUF, RO-PUF)[7],其指數(shù)級(jí)的CRP使得短期內(nèi)難以被完全獲得。然而,針對(duì)PUF電路的攻擊算法也越來越多樣和成熟,基于邏輯回歸和機(jī)器學(xué)習(xí)算法的建模攻擊[8]可以在數(shù)學(xué)上以超高精度克隆強(qiáng)PUF,攻擊者可以通過構(gòu)建強(qiáng)的軟件模型來很好地預(yù)測(cè)CRP。PUF電路被攻擊的主要原因?yàn)殡娐穬?nèi)部產(chǎn)生的激勵(lì)響應(yīng)呈線性相關(guān)。為增強(qiáng)電路抗建模攻擊,更多的高魯棒性和新型結(jié)構(gòu)PUF研究被提出[9–12]。張躍軍等人[9]利用門電路競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象和信號(hào)傳輸理論提出一種毛刺型物理不可克隆函數(shù)(Glitch-PUF)電路,通過延時(shí)模塊引入非線性毛刺信號(hào)增強(qiáng)抗建模攻擊能力,采用多級(jí)串聯(lián)采樣模塊測(cè)試輸出響應(yīng),但復(fù)雜電路結(jié)構(gòu)導(dǎo)致面積增大。Nozaki等人[10]在28 nm工藝FPGA上實(shí)現(xiàn)長度為128 bit的基于展開密碼PRINCE的毛刺型PUF。Ni等人[11]采用施密特觸發(fā)器設(shè)計(jì)降噪電路,提出一種128 bit多級(jí)并行架構(gòu)的Glitch-PUF,隨機(jī)性達(dá)到99.9%、唯一性為50.03%,但電路受溫度和電壓變化影響較大。董永興等人[12]提出一種基于延時(shí)控制的Glitch-PUF電路,通過調(diào)節(jié)不同路徑的延時(shí)大小和毛刺數(shù)量的奇偶性判決響應(yīng)比特抵御機(jī)器學(xué)習(xí)攻擊,導(dǎo)致存在較高的誤碼率,降低電路穩(wěn)定性。
憶阻器被認(rèn)為是硬件安全原語最有希望的候選者之一,具有結(jié)構(gòu)簡(jiǎn)單、CMOS兼容性、高集成度以及非線性特性[13],能有效增強(qiáng)PUF抗建模攻擊和電路穩(wěn)定性。鑒此,本文提出基于ZnO憶阻器的Glitch-PUF電路方案。本方案利用器件固有的非線性特性和回滯效應(yīng),使PUF電路具備防御模式攻擊的能力,根據(jù)憶阻器非易失性和阻變?cè)碓O(shè)計(jì)憶阻寄存器、憶阻毛刺產(chǎn)生模塊和憶阻采樣模塊,替換傳統(tǒng)大量緩沖器和復(fù)雜電路結(jié)構(gòu),從而減少器件數(shù)量,降低電路面積,實(shí)現(xiàn)具有高隨機(jī)性、穩(wěn)定性和魯棒性的憶阻PUF電路。
憶阻器阻變層主流材料有2維材料、有機(jī)材料、金屬氧化物等,其中金屬氧化物具有制備簡(jiǎn)單、開關(guān)比高等特性。因此本文以ZnO作為阻變層,Pt作為兩端電極,Pt/ZnO/Pt器件的阻變現(xiàn)象是由于離子遷移和氧化還原反應(yīng)所產(chǎn)生的,是一種常見的導(dǎo)電細(xì)絲機(jī)制。該器件表現(xiàn)出明顯的雙極電阻開關(guān)行為和適合多級(jí)調(diào)制的大存儲(chǔ)窗口,如圖1(a)所示。值得注意的是,低阻態(tài)(Low Resistance State, LRS)轉(zhuǎn)變?yōu)楦咦钁B(tài)(High Resistance State, HRS)是緩慢變化的,這種緩變曲線有利于后續(xù)選擇合適的編程電壓來調(diào)控憶阻器多電導(dǎo)狀態(tài),從而實(shí)現(xiàn)圖像識(shí)別功能。如圖1(b)所示,編寫脈沖測(cè)試程序,所有電阻狀態(tài)都可以重復(fù)編程和讀取。實(shí)驗(yàn)中取得的相鄰阻態(tài)比值大于10,阻態(tài)之間具有較好的區(qū)分窗口,如圖1(c)所示。同時(shí),各個(gè)阻態(tài)在室溫下具有較好的保持性(圖1(d))。本文結(jié)合所設(shè)計(jì)器件自身寄生電容、寄生電阻以及離子遷移等實(shí)際因素,獲得I-V曲線、閾值電壓等電學(xué)特性,采用硬件語言對(duì)器件進(jìn)行數(shù)學(xué)建模(算法1),電路模型的數(shù)學(xué)形式表達(dá)如式(1)和式(2)所示
圖1 Pt/ZnO/Pt憶阻器電學(xué)參數(shù)
其中,G(x)為憶導(dǎo)值,x為內(nèi)部導(dǎo)電細(xì)絲狀態(tài),v為電壓值,RON和ROFF分別為導(dǎo)通和關(guān)斷時(shí)電阻值。τ,T,k為常數(shù),e表示電荷量,VON和VOFF為阻態(tài)轉(zhuǎn)變閾值電壓。
在模型基礎(chǔ)上設(shè)計(jì)并提出基于憶阻器的邏輯完備集電路,分別為憶阻與門(圖2(a))、憶阻或門(圖2(b))、憶阻非門(圖2(c))。設(shè)計(jì)原理為憶阻器阻變機(jī)制及阻值分壓公式,當(dāng)器件兩端輸入信號(hào)相同時(shí),憶阻器兩端電壓相抵消,阻值保持高阻態(tài),輸出為低電平;當(dāng)器件兩端輸入信號(hào)不同時(shí),其中高電平將憶阻器從高阻態(tài)轉(zhuǎn)變?yōu)榈妥钁B(tài),輸出電壓經(jīng)器件分壓后表現(xiàn)為高電平,如式(3)所示
圖2 基于憶阻器的邏輯門
其中,Vhigh為電源電壓,VOUT為輸出電壓。
算法1 憶阻器偽代碼程序描述
憶阻Glitch-PUF電路輸出由毛刺信號(hào)決定,因此毛刺信號(hào)的電壓、寬度以及非線性特性是電路架構(gòu)的關(guān)鍵,直接影響PUF電路的性能。電路中毛刺產(chǎn)生主要是由于競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象和憶阻器非線性。信號(hào)在通過門電路和電路連線時(shí)存在細(xì)微延時(shí),且憶阻器阻值存在多個(gè)阻態(tài),阻態(tài)切換也需要轉(zhuǎn)換時(shí)間,不同阻值使得路徑延時(shí)不同。因此,在實(shí)際電路傳輸時(shí),邏輯門輸入端的信號(hào)到達(dá)時(shí)間不同,使得電路出現(xiàn)非線性毛刺信號(hào)。
毛刺信號(hào)的產(chǎn)生除了受溫度、電壓波動(dòng)和噪聲等外界影響,還受電路固有特性影響。當(dāng)電路函數(shù)中某個(gè)變量同時(shí)存在正、反兩種變量形式時(shí),就滿足了競(jìng)爭(zhēng)要求。去掉其余變量,保留有競(jìng)爭(zhēng)現(xiàn)象的變量,其中“0”冒險(xiǎn)為正反變量相與,如圖3(a)所示,“1”冒險(xiǎn)為正反變量相加,如圖3(b)所示。此外,動(dòng)態(tài)結(jié)構(gòu)電路也會(huì)產(chǎn)生Glitch信號(hào),當(dāng)異或門發(fā)生冒險(xiǎn)現(xiàn)象產(chǎn)生Glitch信號(hào)后,還需輸入信號(hào)C為高電平時(shí),Glitch才傳輸?shù)結(jié) 端,如圖3(c)所示。
圖3 毛刺產(chǎn)生原理
有效Glitch信號(hào)應(yīng)同時(shí)符合脈沖幅度和寬度的條件。脈沖幅值需要超過Vdd的10%,Glitch的寬度只有大于D觸發(fā)器的建立和保持時(shí)間才能被成功采樣。
傳統(tǒng)的Glitch輸出需要級(jí)聯(lián)一定級(jí)數(shù)的門電路偏差,并且產(chǎn)生的Glitch信號(hào)可以隨著電路進(jìn)行傳輸,但大量寄存器導(dǎo)致硬件利用率降低。本文利用憶阻器交叉陣列構(gòu)建延遲樹結(jié)構(gòu)電路,設(shè)計(jì)毛刺產(chǎn)生電路,獲得具有穩(wěn)定Glitch的輸出波形,然后通過施密特采樣電路實(shí)現(xiàn)憶阻Glitch-PUF設(shè)計(jì),電路結(jié)構(gòu)如圖4所示。憶阻Glitch-PUF電路由控制電路模塊、憶阻寄存器、憶阻毛刺產(chǎn)生模塊和憶阻采樣模塊組成。
圖4 Glitch PUF電路框圖
傳統(tǒng)的同步時(shí)鐘D觸發(fā)器由多個(gè)與非門及緩沖器組成,電路結(jié)構(gòu)較為復(fù)雜,大量CMOS器件增加電路面積,導(dǎo)致功耗高。圖5為憶阻D觸發(fā)器電路結(jié)構(gòu)及元件符號(hào),當(dāng)時(shí)鐘為低電平時(shí),輸入信號(hào)不會(huì)對(duì)輸出端產(chǎn)生影響,輸出端僅與憶阻器M2上一個(gè)脈沖內(nèi)的憶阻值相關(guān),若M2為低阻態(tài),則輸出為邏輯“1”,若M2為高阻態(tài),則輸出為邏輯“0”。當(dāng)時(shí)鐘為高電平時(shí),p型半導(dǎo)體(Positive channel Metal Oxide Semiconductor, PMOS)截止,n型半導(dǎo)體(N-Metal-Oxide-Semiconductor, NMOS)導(dǎo)通,輸出端次態(tài)與輸入信號(hào)D保持一致,憶阻器作用為當(dāng)時(shí)鐘信號(hào)從1轉(zhuǎn)變?yōu)?,繼續(xù)保持輸出端信號(hào),實(shí)現(xiàn)同步D觸發(fā)功能。憶阻D觸發(fā)器時(shí)鐘串聯(lián),上一級(jí)觸發(fā)器的輸出作為下一級(jí)觸發(fā)器的輸入,逐步鎖存數(shù)據(jù)內(nèi)容,以此構(gòu)建多位憶阻寄存器模塊。
圖5 憶阻D觸發(fā)器模塊
圖6為憶阻毛刺產(chǎn)生模塊電路圖,通過將傳統(tǒng)門單位替換為新型憶阻門結(jié)構(gòu),并新增延時(shí)調(diào)節(jié)模塊來控制毛刺的寬度。延遲模塊由憶阻可編程陣列構(gòu)成,替換大量CMOS結(jié)構(gòu)緩沖器,優(yōu)化電路結(jié)構(gòu)。憶阻器陣列有直通路徑和交叉路徑,不同路徑的延時(shí)不同,通過選通信號(hào)控制路徑的選擇,以此調(diào)節(jié)信號(hào)到達(dá)邏輯門的先后順序,控制毛刺信號(hào)的寬度。延時(shí)調(diào)節(jié)模塊不同路徑延時(shí)的大小不僅與陣列大小有關(guān),還與憶阻器參數(shù)有關(guān)。阻變材料和溝道寬度的不同、閾值電壓的差異、電極種類和厚度等都會(huì)使延時(shí)大小不同。因此,即使是相同的選擇信號(hào),延時(shí)也存在差異,電路隨機(jī)性增加。由于工藝偏差的存在,到達(dá)與電路的延遲會(huì)有差別,會(huì)使Glitch產(chǎn)生的寬度不同。為使電路產(chǎn)生的毛刺寬度對(duì)延遲調(diào)節(jié)模塊敏感,在電路最后一級(jí)接入異或門電路,加強(qiáng)毛刺的非線性特征,增加電路抗建模攻擊屬性。
圖6 憶阻毛刺產(chǎn)生模塊
憶阻采樣模塊電路由降噪、延遲和采樣電路組成,如圖7所示。施密特具有正負(fù)兩個(gè)閾值電壓,控制輸入電壓高低電平轉(zhuǎn)換,正向閾值大于50% Vdd,負(fù)向閾值小于50% Vdd,其差值為回差電壓。輸入電壓在50% Vdd時(shí),利用憶阻器的遲滯特性和施密特降噪模塊,過濾電路中弱電平噪聲信號(hào)來提高電路的抗噪聲能力,提高電路的魯棒性。根據(jù)降噪后穩(wěn)定毛刺的寬度,調(diào)整毛刺寬度檢測(cè)模塊中緩沖器數(shù)量,當(dāng)毛刺信號(hào)寬度大于延遲時(shí)間時(shí),毛刺才能正常傳輸和采樣輸出。
圖7 憶阻采樣模塊
本文采用Cadence Virtuoso IC617完成憶阻Glitch-PUF電路設(shè)計(jì),利用Python和高性能電路仿真軟件(High Simulation Program with Integrated Circuit Emphasis, HSPICE)測(cè)試Glitch-PUF抗攻擊性、隨機(jī)性、自相關(guān)性、唯一性和誤碼率5項(xiàng)關(guān)鍵指標(biāo),并與相關(guān)文獻(xiàn)對(duì)比,綜合評(píng)估電路性能。
建模攻擊主要有邏輯回歸(Logic Register, LR)、向量機(jī)(Support Vector Machine, SVM)等方法。攻擊者通過收集部分CRP作為訓(xùn)練集,利用學(xué)習(xí)算法進(jìn)行多次訓(xùn)練,建立PUF激勵(lì)下預(yù)測(cè)響應(yīng)。
本文采用Python測(cè)試LR和SVM算法對(duì)所提電路的抗攻擊能力,并與典型Arbiter-PUF, XORAPUF對(duì)比。在LR攻擊下,Arbiter-PUF, XORAPUF, Glitch-PUF預(yù)測(cè)率分別為90.1%, 85.0%,75.8%,如圖8(a)所示。在SVM攻擊下,Arbiter-PUF, XOR-APUF, Glitch-PUF預(yù)測(cè)率分別為83.1%, 87.5%, 78.2%,如圖8(b)所示。實(shí)驗(yàn)表明在LR和SVM攻擊下,Glitch-PUF的預(yù)測(cè)率低于Arbiter-PUF和XOR-APUF,隨著訓(xùn)練次數(shù)增加,優(yōu)勢(shì)逐漸增大,最后趨于穩(wěn)定,具有較好的抗建模攻擊能力。
圖8 Glitch-PUF電路抗攻擊性測(cè)試
隨機(jī)性主要通過觀察PUF電路輸出響應(yīng)中邏輯0和邏輯1的概率統(tǒng)計(jì)分布情況,理想情況下,兩種邏輯輸出平均分布,隨機(jī)性為100%,計(jì)算公式如式(4)所示
圖9為測(cè)試16個(gè)PUF電路輸出灰度圖,根據(jù)式(4)計(jì)算得隨機(jī)性為98.2%。表2為PUF電路通過美國國家標(biāo)準(zhǔn)與技術(shù)(National Institute of Standards and Technology, NIST)的10項(xiàng)測(cè)試,實(shí)驗(yàn)表明所提Glitch-PUF具有良好的隨機(jī)性。
表1 NIST測(cè)試
表2 與相關(guān)文獻(xiàn)的比較結(jié)果
圖9 Glitch-PUF電路隨機(jī)性測(cè)試
PUF電路在芯片中位置布局不同,可能會(huì)影響電路安全性,表現(xiàn)為生成數(shù)據(jù)與位置關(guān)系具有函數(shù)關(guān)系。因此,電路產(chǎn)生的密鑰應(yīng)不受芯片內(nèi)部電路布局的影響。相關(guān)性采用自相關(guān)函數(shù)(Auto-Correlation Function, ACF)評(píng)估[14]。ACF值越小,表明PUF輸出響應(yīng)間的相關(guān)性越低。實(shí)驗(yàn)結(jié)果如圖10所示,PUF電路在ACF為0.018時(shí),數(shù)據(jù)無明顯空間相關(guān)性,具有良好的獨(dú)立性。
圖10 Glitch-PUF電路自相關(guān)性測(cè)試
唯一性根據(jù)同類型PUF輸出響應(yīng)間差異,標(biāo)識(shí)不同個(gè)體區(qū)分度,可以通過平均片間漢明距離(Hamming Distance, HD)來評(píng)估。k個(gè)PUF的平均片間均值E(HDinter)計(jì)算如式(5)所示
其中,k為PUF電路數(shù)量,ri和rj為相同激勵(lì)下,第i個(gè)和第j個(gè)PUF的輸出響應(yīng)。如圖11所示,HD呈現(xiàn)正態(tài)分布,數(shù)學(xué)期望為μ=0.500 2,標(biāo)準(zhǔn)差為σ=0.049 6,計(jì)算E(HDinter)為50.04%,具有較好的唯一性。
圖11 Glitch-PUF電路唯一性測(cè)試
誤碼率(Bit Error Rate, BER)指錯(cuò)傳輸過程中錯(cuò)誤數(shù)據(jù)占所傳輸數(shù)據(jù)的比例,是衡量數(shù)據(jù)通信質(zhì)量常用指標(biāo)。PUF電路在運(yùn)行過程中會(huì)受到溫度和電壓的影響,為驗(yàn)證電路可靠性,本文將溫度區(qū)間設(shè)置為–20~120°C,每隔10°C進(jìn)行數(shù)據(jù)讀取及計(jì)算,常溫下Arbiter-PUF與Glitch-PUF誤碼率分別為4.25%和0.08%,如圖12(a)所示。電壓區(qū)間設(shè)置為0.8~1.4 V,每隔0.1 V讀取數(shù)據(jù),常壓下Arbiter-PUF與Glitch-PUF誤碼率分別為4.38%和0.06%,如圖12(b)所示。表3為所設(shè)計(jì)的Glitch-PUF與其他先進(jìn)PUF性能對(duì)比。
圖12 Glitch-PUF電路誤碼率測(cè)試
本文利用門電路競(jìng)爭(zhēng)冒險(xiǎn)引起的毛刺現(xiàn)象,結(jié)合憶阻器存算一體和阻變效應(yīng),提出一種基于憶阻器的Glitch-PUF方案。根據(jù)憶阻器非易失性和阻變效應(yīng)實(shí)現(xiàn)邏輯完備集與憶阻寄存器,選擇不同憶阻陣列導(dǎo)通路徑來調(diào)節(jié)延時(shí)大小,實(shí)現(xiàn)毛刺穩(wěn)定產(chǎn)生。憶阻器遲滯特性和施密特降噪模塊實(shí)現(xiàn)過濾電路噪聲。實(shí)驗(yàn)結(jié)果表明電路具有抗建模攻擊能力,良好的隨機(jī)性、唯一性和可靠性,大幅優(yōu)化電路結(jié)構(gòu),減少器件數(shù)量,可廣泛應(yīng)用于物聯(lián)網(wǎng)安全領(lǐng)域。