孫子文 葉 喬
①(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院 無錫 214122)
②(物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程研究中心 無錫 214122)
隨著物聯(lián)網(wǎng)(Internet of Things, IoT)技術(shù)的發(fā)展,無線射頻識別(Radio Frequency IDentification, RFID)技術(shù)也受到廣泛關(guān)注[1]。其中,關(guān)于RFID用戶隱私信息的安全問題已經(jīng)引發(fā)消費者的重點關(guān)注。由于體積、資源、功耗等方面的限制,傳統(tǒng)的高級加密標(biāo)準(zhǔn)、橢圓加密算法等加密算法應(yīng)用于RFID時存在局限性[2]。物理不可克隆函數(shù)(Physically Unclonable Function, PUF)利用集成芯片制造工藝的差異,實現(xiàn)對不同的激勵產(chǎn)生特定的激勵響應(yīng)對(Challenge Response Pairs,CRPs)[3]。作為一種輕量級的安全原語,PUF所產(chǎn)生的不可預(yù)測性的CRPs可有效地解決RFID、智能卡等物理實體的安全問題[4]。
圍繞不同PUF產(chǎn)生機制的研究較為成熟。目前比較常見的PUF類型有:SRAM PUF[5]、觸發(fā)器PUF[6]、 鎖 存 PUF[7]、 蝴 蝶 PUF[8]、 仲 裁 器PUF[9,10]、環(huán)形震蕩器PUF (Ring-Oscillator PUF,RO PUF)[11-13]以及毛刺PUF[14]。其中,RO PUF相比較其他各種PUF,更容易在FPGA上進(jìn)行布局實現(xiàn),并且具有優(yōu)良的性能,所以被廣泛的使用[3]。RO PUF中比較有代表性的是Suh等人[11]提出的PUF方案,該方案擁有比較簡單的熵評價標(biāo)準(zhǔn)并且很方便在FPGA上進(jìn)行設(shè)計。
Suh等人[11]提出的RO PUF的原理通過比較兩個隨機選取的震蕩環(huán)的頻率值大小產(chǎn)生信息熵。這種方案每次一組環(huán)形震蕩器只能產(chǎn)生1位信息熵,隨著RO PUF需要生產(chǎn)的隨機信息數(shù)量的增加,所消耗的資源也將成倍地增加[15]。同時,工作溫度對頻率的影響很大,當(dāng)a震蕩環(huán)在一個溫度下比b震蕩環(huán)頻率高,而在另一個溫度下比b震蕩環(huán)頻率低時,這種頻率交叉變化會使這對環(huán)形震蕩器產(chǎn)生的信息熵不可靠。ROPUF存在環(huán)形震蕩器提取的信息熵數(shù)量少,以及信息熵的可靠性易受溫度影響等問題。
為消除溫度對PUF的信息熵可靠性的影響,Maiti等人[12]提出可配置的RO PUF(Configurable RO PUF, CRO PUF)。CRO PUF通過在FPGA上頻率差異最大的區(qū)域布置CRO,然后選取一對CRO產(chǎn)生信息熵。此方法在一定程度上降低了溫度的影響,不過在溫度變化較大的情況下依然會存在比特跳變[16],可靠性不能得到完全的保證。同時,為了選取頻率差異較大的區(qū)域布置CRO,導(dǎo)致所能部署的CRO數(shù)量極大地減少,進(jìn)而影響了CRO PUF一次所能產(chǎn)生隨機數(shù)據(jù)的數(shù)量。因此,為了保證CRO PUF一次產(chǎn)生足夠長的可靠的隨機數(shù)據(jù),解決一對CRO提取信息熵的數(shù)量少和震蕩器易受溫度的影響等問題仍然是關(guān)鍵。
為了解決RO PUF和CRO PUF方案存在的震蕩環(huán)單元提取信息熵位數(shù)少、易受溫度影響等問題,本文采用一種提取多位可靠信息熵的PUF方案ME-ROPUF(Muitibit Entropy RO PUF)。MEROPUF方案中,通過對FPGA中震蕩環(huán)頻率數(shù)據(jù)的分析,采用提取震蕩環(huán)的頻率特征位產(chǎn)生信息熵的方法來替代RO PUF比較頻率大小產(chǎn)生信息熵的方法,有效地提高PUF產(chǎn)生信息熵的數(shù)量;此外,通過對逆變器時延受溫度影響的分析,ME-ROPUF方案中環(huán)形震蕩器采用由電流饑餓逆變器[17]和傳統(tǒng)逆變器組成的混合可配置環(huán)形震蕩器(Hybrid CRO, HCRO)[16]單元,從而減小溫度對環(huán)形震蕩器頻率的影響,降低不同溫度下PUF信息熵的跳變率,提高M(jìn)E-ROPUF的可靠性。
ME-ROPUF采用提取多位信息熵方法以及HCRO單元產(chǎn)生多位可靠信息熵,其中,提取多位信息熵方法是基于對FPGA震蕩環(huán)特征的研究,而HCRO是基于對逆變器溫度特性的研究。
環(huán)形震蕩器在FPGA上是由同構(gòu)的硬宏單元組成,但由于集成芯片制造工藝的差異,環(huán)形震蕩器的時延會有一定的差異[17]。結(jié)合Maiti等人[12]提出的震蕩環(huán)的時延模型,并且將時延數(shù)據(jù)轉(zhuǎn)化成頻率時,其轉(zhuǎn)化過程會存在偏斜效應(yīng)[18],這種偏斜效應(yīng)會使在同一制造工藝、同一位置的環(huán)形震蕩器多次測量的頻率存在偏差。那么,環(huán)形震蕩器的頻率組成成分表示為式(1)
圖1 不同RO的頻率分布圖
由于MOS管處于不同區(qū)域時,漏極電流與溫度的關(guān)系呈現(xiàn)相反的狀態(tài),這就為構(gòu)建一種能夠降低溫度影響的環(huán)形震蕩器提供了可能。
ME-RO PUF整體結(jié)構(gòu)如圖2,主要由8個5階的HCRO單元、9個24位計數(shù)器和一個特征位提取器組成,其中特征位提取器實現(xiàn)的功能是從24位頻率數(shù)據(jù)中選出指定的幾位數(shù)據(jù)。ME-ROPUF的激勵數(shù)據(jù)作為激勵信號配置5階的HCRO單元,計數(shù)器和HCRO單元受到觸發(fā)信號開始工作。當(dāng)計數(shù)器1的計數(shù)值達(dá)到參考值時所有計數(shù)器停止計數(shù),然后特征位提取器從計數(shù)器2~9所產(chǎn)生的24位二進(jìn)制頻率數(shù)據(jù)中分別選取頻率特征位區(qū)域組成響應(yīng)數(shù)據(jù)輸出。
ME-ROPUF為了降低溫度對環(huán)形震蕩器頻率的影響,使用HCRO單元產(chǎn)生震蕩頻率;為了提高從環(huán)形震蕩器中提取多位信息熵,采用提取頻率特征位的方法產(chǎn)生信息熵。
環(huán)形震蕩器的時延主要取決于組成環(huán)形震蕩器的逆變器的時延,由于逆變器的時延會受到溫度的影響,所以環(huán)形震蕩器的頻率也會受到溫度影響。常規(guī)逆變器的MOS管是工作于飽和區(qū),逆變器的時延與溫度呈現(xiàn)正相關(guān)變化。為了降低溫度對環(huán)形震蕩器頻率的影響,可根據(jù)電流饑餓逆變器的MOS管是工作在截止區(qū)且其時延與溫度呈現(xiàn)負(fù)相關(guān)變化的特性,將環(huán)形震蕩器的部分常規(guī)逆變器替換成電流饑餓逆變器。饑餓逆變器和常規(guī)逆變器組成的HCRO單元的結(jié)構(gòu)如圖3所示。
電流饑餓逆變器是在常規(guī)逆變器上下分別增加1個PMOS管和1個NMOS管,通過偏置電壓 Vp和Vn使圖4中逆變器的MOS管工作于截止區(qū)域。
圖2 ME-ROPUF整體框圖
圖3 HCRO結(jié)構(gòu)
圖4 電流饑餓逆變器
圖5 3種震蕩環(huán)頻率隨溫度變化圖
采用cadence virtuoso中specture環(huán)境進(jìn)行蒙特卡洛仿真,比較了常規(guī)逆變器CRO、電流饑餓逆變器CRO與HCRO的頻率受溫度影響的變化情況,如圖5所示。由圖5可知,以27°C作為參考溫度,常規(guī)逆變器CRO單元所產(chǎn)生的頻率隨溫度升高而減小,電流饑餓逆變器CRO單元所產(chǎn)生的的頻率隨溫度的升高而升高,而由常規(guī)逆變器和電流饑餓逆變器組成的HCRO單元所產(chǎn)生的頻率基本不會受溫度的影響,因此采用HCRO單元的PUF結(jié)構(gòu)擁有很好的抗溫度特性。相比較常規(guī)逆變器CRO單元和電流饑餓逆變器CRO單元,ME-ROPUF所采用的HCRO單元所受到溫度的影響更小,HCRO單元所產(chǎn)生的頻率受溫度影響的位數(shù)處于(0, low)區(qū)域,不影響ME-ROPUF所提取的特征位數(shù)據(jù),提高M(jìn)E-ROPUF產(chǎn)生信息熵的可靠性。
基于仿真和實驗兩個層面,對本文采用的方法的有效性從不同的角度進(jìn)行了驗證和分析。在linux系統(tǒng)下,采用cadence virtuoso中specture環(huán)境進(jìn)行蒙特卡洛仿真,用于驗證采用HCRO單元的ME-ROPUF結(jié)構(gòu)的可靠性;使用賽靈思synq7000系列的FPGA開發(fā)板,進(jìn)一步通過實驗驗證MEROPUF提取信息熵方法的有效性以及所提取信息熵的唯一性和均勻性。
linux系統(tǒng)下的仿真的器件工藝庫選擇的是TSMC0.18 μm, 1.8 V CMOS工藝庫。實驗使用verilog語言進(jìn)行PUF結(jié)構(gòu)設(shè)計,為了防止電路被優(yōu)化,采用xilinx官方提供的原語操作和XDC Macro技術(shù)在FPGA的SLICEL邏輯單元中配置LUT單元和數(shù)據(jù)選擇器組成震蕩環(huán),每個震蕩環(huán)采用9個LUT和4個數(shù)據(jù)選擇器,具體的布局如圖6所示。采用vivado自帶的ila邏輯分析儀對實驗數(shù)據(jù)進(jìn)行輔助分析。
整個實驗和仿真用來驗證ME-ROPUF提取信息熵方法的有效性以及對ME-ROPUF的可靠性、唯一性和均勻性的分析。
4.2.1 ME-ROPUF提取信息熵方法的有效性
在27°環(huán)境溫度下,在FPGA上對ME-ROPUF提取信息熵方法進(jìn)行驗證。ME-ROPUF產(chǎn)生信息熵的方法是選取準(zhǔn)確的頻率特征位,選取準(zhǔn)確的震蕩環(huán)特征位分為兩步。第1步,根據(jù)式(13)和式(16)求得震蕩環(huán)的 Si和Ri的 分布如圖7所示,滿足Si>0.990且Ri>0.490條件的預(yù)選區(qū)域為(13, 17)的各子區(qū)域。第2步,根據(jù)式(17)-式(20)計算不同預(yù)選區(qū)域?qū)?yīng)的Spuf, Upuf, Rpuf以 及Vpuf,結(jié)果如表1所示。
由表1可知,(14, 17)的 Vpuf最大且Rpuf>0.45,所以選取(14, 17)作為ME-ROPUF的特征位區(qū)域,即ME-ROPUF每個震蕩環(huán)產(chǎn)生4位信息熵。而RO PUF使用兩個震蕩環(huán)進(jìn)行比較頻率大小產(chǎn)生1位信息熵,故ME-ROPUF使用相同的LUT資源得到ROPUF8倍的信息熵。
圖6 震蕩環(huán)在FPGA上的布局圖
4.2.2 ME-ROPUF的可靠性
采用cadence virtuoso中specture環(huán)境進(jìn)行蒙特卡洛仿真ME-ROPUF的可靠性,并與ROPUF[11],CROPUF[12]、使用CRO單元的ME-ROPUF以及使用HCRO單元的ME-ROPUF的可靠性進(jìn)行了對比。根據(jù)式(17)-式(20),以室溫27°為參考溫度,仿真了實驗溫度在0°~100°范圍內(nèi)變化過程中MEROPUF的可靠性,其結(jié)果如圖8所示。由圖8可知,采用HCRO單元的ME-ROPUF方案的可靠性在98.062%~99.592%之間浮動,而RO PUF, CRO PUF以及采用CRO的ME-ROPUF方案的可靠性分別在95.017%~98.142%, 96.121%~98.768%和95.809%~99.542%之間浮動。使用HCRO單元的ME-ROPUF方案的可靠性明顯高于采用CRO單元的可靠性;可靠性隨溫度變化的浮動程度也明顯小于RO PUF, CRO PUF以及采用CRO的ME-ROPUF方案,表明采用HCRO單元的ME-ROPUF方案能有效降低溫度對可靠性的影響。
4.2.3 ME-ROPUF的唯一性和均勻性
采用FPGA實驗對ME-ORPUF的唯一性和均勻性進(jìn)行性能驗證,并與ROPUF[11], CRO PUF[12]和使用CRO的ME-ROPUF的唯一性和均勻性進(jìn)行了對比實驗,實驗在27°下進(jìn)行,結(jié)果如圖9所示。由圖9可知,ME-ROPUF的唯一性在49.897%~50.176%之間浮動,均勻性在46.290%~48.378%之間浮動,而RO PUF, CRO PUF以及采用CRO的ME-ROPUF方案的唯一性分別在49.621%~50.369%, 49.604%~50.274%和49.752%~50.238%之間浮動,均勻性分別在46.395%~47.807%, 46.959%~47.809%和46.086%~48.936%之間浮動。表明相對于其他幾種方案,ME-ROPUF方案的唯一性都得到了改善,均勻性相差不大。
圖7 位穩(wěn)定性和位隨機性分布圖
表1 預(yù)選區(qū)域性能指標(biāo)
圖8 PUF的可靠性
圖9 PUF的唯一性和均勻性
ROPUF作為一種可靠的硬件加密原語,為低功耗設(shè)備不適合使用傳統(tǒng)的加密方法提出新的解決方案。但是ROPUF易受到溫度的影響且震蕩環(huán)所產(chǎn)生的信息熵數(shù)量少。本文采用的ME-ROPUF方案采用提取震蕩環(huán)特征位的方法來提取更多信息熵,并采用HCRO單元來降低溫度對震蕩環(huán)頻率的影響,從而能夠有效的提高PUF的可靠性、唯一性以及信息熵數(shù)量。ME-RO PUF可靠性提升到98.062%以上,唯一性在49.621%~50.369%浮動,相同的LUT資源得到8倍的RO PUF信息熵。