文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.174194
中文引用格式: 李雪營(yíng),李磊,,胡劍浩,,等. 基于RO電路變化PUF的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,,44(5):39-42.
英文引用格式: Li Xueying,,Li Lei,Hu Jianhao,,et al. Implementation of PUF based on RO circuit[J]. Application of Electronic Technique,,2018,44(5):39-42.
0 引言
加密是信息安全的一個(gè)分支,其中包括數(shù)據(jù)安全性,、數(shù)據(jù)完整性和安全認(rèn)證機(jī)制,。加密技術(shù)的使用使得通信安全有了保障。發(fā)送方終端通過密鑰對(duì)數(shù)據(jù)進(jìn)行加密,在接收終端以相同的密鑰或派生密鑰解密信息,。加密體制依據(jù)解密與加密所用秘鑰是否相同,,將其劃分為對(duì)稱和非對(duì)稱密碼兩種體制。在對(duì)稱密碼體制中,,加密密鑰和解密密鑰是一樣的,。而非對(duì)稱密碼體制中,加密密鑰和解密密鑰是分開的,,不相同,。加密的密鑰不應(yīng)該受到環(huán)境的影響,應(yīng)該是隨機(jī)的,、可靠的以及抗側(cè)信道攻擊的,。 一種基于PUF的密鑰產(chǎn)生機(jī)制如圖1所示。
經(jīng)典線性反饋移位寄存器用于隨機(jī)數(shù)生成,。偽噪聲隨機(jī)數(shù)字發(fā)生器(PN-RNG)是利用初始種子產(chǎn)生隨機(jī)數(shù)序列的,。由于有一組共同的初始種子,偽噪聲隨機(jī)數(shù)發(fā)生器(PN-RNG)產(chǎn)生的隨機(jī)序列并不隨機(jī),,如果有人存儲(chǔ)這些序列,,根據(jù)序列之間的相關(guān)性,即PN-RNG在產(chǎn)生最大值之后開始產(chǎn)生相同的序列,,對(duì)手可以預(yù)測(cè)到下一個(gè)序列[1],。加密密鑰是數(shù)據(jù)安全的關(guān)鍵,秘鑰一定是可信可靠的隨機(jī)數(shù),。真正可靠的密碼體系應(yīng)該是:即便破譯者可以加密任何的明文,,也沒法破譯密文。一般地,,如果僅根據(jù)密文就可以推算出明文或密鑰,,則稱這個(gè)密碼體制是可破譯的?;鶢柣舴蛟瓌t指出“一個(gè)密碼體制是安全的,,其總的前提就是假設(shè)密碼分析者已經(jīng)知道了密碼體制的算法,體制的安全性僅依賴于密鑰的保密”?,F(xiàn)在的人喜歡依賴手機(jī)進(jìn)行電子交易,,所以信息安全得到了更多的關(guān)注。硅密鑰因?yàn)榫哂胁豢煽寺〉奶攸c(diǎn)而被優(yōu)選,,不可克隆是指:即使用相同的材料也不能制造出2個(gè)性能相同的設(shè)備,。2001年Srini Devadas(麻省理工學(xué)院CSAIL)提出了用物理不可克隆函數(shù)(PUF)來生成密鑰的IC。PUF是一種基于器件和工藝偏差的體系,。從PUF系統(tǒng)可以產(chǎn)生不可預(yù)測(cè)的隨機(jī)數(shù),,不過PUF產(chǎn)生的隨機(jī)數(shù)必須經(jīng)過編碼才能獲取想要的密鑰,。PUF電路利用器件的特定屬性生成隨機(jī)數(shù),這些屬性是無法克隆的,,并且很難預(yù)測(cè),。根據(jù)半導(dǎo)體的任何可變屬性都可以用來構(gòu)建PUF。延遲,、頻率和SRAM上電初值的PUF,已在早期研究工作中有所研究,,這些PUF[3]都反應(yīng)了制造設(shè)備的隨機(jī)性變化,。PUF電路必須能夠產(chǎn)生大量的激勵(lì)響應(yīng)對(duì)。對(duì)于每個(gè)激勵(lì)響應(yīng)都應(yīng)該獨(dú)特而不可預(yù)測(cè),。對(duì)于不同的PUF,,同樣的激勵(lì)生成的PUF響應(yīng)應(yīng)該都是不同的。PUF的性能可以用唯一性,、可靠性和穩(wěn)定性衡量,。唯一性一般用內(nèi)部漢明距離表示,理想值μ=0%,。它代表了對(duì)于不同的PUF給予相同的激勵(lì)條件,,得到響應(yīng)之間的差異性。文獻(xiàn)[3]中展示了唯一性,,用這種特性來識(shí)別電路,。可靠性一般用片間漢明距離表示,,理想情況下μ=0%,。它代表對(duì)于同一個(gè)PUF,給予兩個(gè)相同的激勵(lì),,得到響應(yīng)之間的差異性,。穩(wěn)定性表示響應(yīng)受溫度、老化效應(yīng),、電源電壓,、噪聲等環(huán)境的影響。理想的響應(yīng)應(yīng)該是獨(dú)立于這些因素的[4],。
1 典型RO-PUF
RO PUF是PUF中常見的應(yīng)用之一,,其基本結(jié)構(gòu)單元是環(huán)形振蕩器(Ring-Oscillator,RO),。RO的構(gòu)成如圖2所示,。
環(huán)形震蕩PUF是一個(gè)將激勵(lì)映射到響應(yīng)的頻率變化函數(shù)。RO PUF是由于工藝偏差而產(chǎn)生的變化頻率來生成隨機(jī)數(shù)的,。圖3給出了N個(gè)環(huán)振蕩器產(chǎn)生的不同頻率f1,,f2,,…fn,這里2個(gè)并行的多路復(fù)用器的選擇取決于輸入激勵(lì),。兩個(gè)多路復(fù)用器選定兩個(gè)不同的頻率 ,,它們分別作為n位計(jì)數(shù)器的時(shí)鐘輸入。然后,,兩個(gè)計(jì)數(shù)器對(duì)選定的兩個(gè)頻率開始計(jì)數(shù),。如果Q1>Q2響應(yīng)為1,否則輸出響應(yīng)為0,。
2 本文提出的方案
本設(shè)計(jì)是利用不同數(shù)量的環(huán)形振蕩器而不是基于工藝偏差用相同數(shù)量的環(huán)形振蕩器來獲得變化的頻率,。圖4所示的電路圖有3個(gè)工作模塊:(1)產(chǎn)生不同頻率的環(huán)形振蕩器,分別用不同階數(shù)的RO震蕩環(huán)產(chǎn)生5個(gè)不同的震蕩頻率,;(2)映射階段,,它是一個(gè)D觸發(fā)器的級(jí)聯(lián),將環(huán)形振蕩器產(chǎn)生的任意兩個(gè)頻率作為D觸發(fā)器的數(shù)據(jù)輸入和時(shí)鐘輸入,,輸出是一個(gè)采樣頻率,。本設(shè)計(jì)中將F1、F2,、F3,、F4作為D觸發(fā)器的數(shù)據(jù)輸入,其對(duì)應(yīng)的時(shí)鐘輸入分別為F2,、F3,、F4、F5,;(3)選擇電路,,基于多路復(fù)用器的選擇電路,根據(jù)激勵(lì)輸入選擇4個(gè)時(shí)鐘脈沖,,并作為計(jì)數(shù)器的時(shí)鐘脈沖,。在計(jì)數(shù)某個(gè)確定時(shí)間后,計(jì)數(shù)器值鎖存到PISO移位寄存器,,在移位寄存器的每個(gè)時(shí)鐘有效邊沿產(chǎn)生1位響應(yīng),,重復(fù)16次,獲得16位響應(yīng),。圖4電路代表激勵(lì)響應(yīng)對(duì)產(chǎn)生的方案,,4位激勵(lì)被映射到16位響應(yīng),這個(gè)PUF是變化頻率和頻率映射階段的隨機(jī)函數(shù),。提出的電路結(jié)構(gòu)在Virtex5上得到驗(yàn)證,。
2.1 環(huán)形振蕩器
電路由5個(gè)具有奇數(shù)個(gè)反相器的環(huán)形振蕩器組成,目的是獲得不同的變化頻率,。每個(gè)RO由圖5所示的nand門的輸入Enable控制,,使能Enable信號(hào)為高開始振蕩,。環(huán)形振蕩器由奇數(shù)個(gè)反相器構(gòu)成,其頻率取決于反相器的階數(shù),,對(duì)于N階環(huán)形振蕩器,,振蕩頻率為:Fosc=1/τpd=1/(2Nτp),其中τpd=τphl+τplh,,N為反向器的階數(shù)[5],。從表達(dá)式發(fā)現(xiàn),隨著反相器階數(shù)的增加,,頻率下降,,頻率也彼此接近。表1顯示震蕩頻率隨著反相器數(shù)量的增加而發(fā)生變化,。
2.2 映射階段
它是由4級(jí)D觸發(fā)器級(jí)聯(lián),,D觸發(fā)器將兩個(gè)頻率中一個(gè)作為數(shù)據(jù)輸入,,另一個(gè)作為時(shí)鐘輸入,,獲得一個(gè)采樣輸出,圖6所示的第一行4級(jí)D觸發(fā)器數(shù)據(jù)輸入端接F1,,時(shí)鐘輸入接F2,,采樣輸出記為CLK1。在本設(shè)計(jì)中使用時(shí)鐘上升沿觸發(fā)有效; 如果D觸發(fā)器時(shí)鐘上升沿比數(shù)據(jù)上升沿提前,,輸出保持上次結(jié)果不變,,如果時(shí)鐘上升沿比數(shù)據(jù)上升沿落后,則輸出與觸發(fā)器數(shù)據(jù)端輸入端一樣,。同理,,第二行、第三行,、第四行4級(jí)級(jí)聯(lián)的D觸發(fā)器產(chǎn)生CLK2,、CLK3、CLK4,,產(chǎn)生的4個(gè)時(shí)鐘脈沖信號(hào)將用于下一級(jí)的頻率比較階段,。由于振蕩器頻率不同,它們的邊緣到達(dá)時(shí)間是不可預(yù)測(cè)的,,這就增加了更多的隨機(jī)性到PUF電路,。在數(shù)據(jù)和時(shí)鐘邊緣同時(shí)到達(dá)的情況下將導(dǎo)致亞穩(wěn)態(tài),在下一個(gè)邊沿時(shí)鐘脈沖產(chǎn)生完全不可預(yù)測(cè)的電路輸出(高或低),。并且本文采用的是慢時(shí)鐘采快時(shí)鐘,,根據(jù)麥奎斯特采樣定理,肯定會(huì)有信號(hào)遺漏,,但是我們并不是想要最后得到完整的數(shù)據(jù)信號(hào),,僅僅是利用丟失信號(hào)的不確定性來增加PUF電路的隨機(jī)性,。
2.3 選擇電路
圖7所示電路是多路復(fù)用器構(gòu)成的選擇電路。時(shí)鐘上升沿到來計(jì)數(shù)器向上計(jì)數(shù),。在計(jì)數(shù)某個(gè)確定時(shí)間后,,計(jì)數(shù)器值鎖存到PISO移位寄存器,在移位寄存器的每個(gè)時(shí)鐘有效邊沿產(chǎn)生1位響應(yīng),,重復(fù)16次,,獲得16位響應(yīng)。圖8給出了16個(gè)激勵(lì)的內(nèi)部漢明距離,,這幾乎是理想的值,。本文提出的PUF結(jié)構(gòu)與現(xiàn)有的RO PUF相比,需要更少的硬件資源,。圖3顯示了2個(gè)計(jì)數(shù)器產(chǎn)生1位響應(yīng)的RO結(jié)構(gòu),。要有16位響應(yīng),它需要32個(gè)計(jì)數(shù)器和16個(gè)比較器并行工作,。并且提出的PUF結(jié)構(gòu)相對(duì)于RO PUF在計(jì)數(shù)階段消除了硬件復(fù)雜性,,并從單個(gè)計(jì)數(shù)器和PISO移位寄存器直接產(chǎn)生16位響應(yīng)。
本文提出了一種新穎的基于硬件的產(chǎn)生激勵(lì)響應(yīng)對(duì)的RO PUF結(jié)構(gòu),,其結(jié)合電路變化而不是工藝偏差,。運(yùn)用頻率映射與PUF結(jié)合的策略產(chǎn)生隨機(jī)性響應(yīng),響應(yīng)的內(nèi)部漢明距離幾乎達(dá)到理想值,。PUF的早期設(shè)計(jì)中2個(gè)計(jì)數(shù)器產(chǎn)生1位響應(yīng),,當(dāng)前設(shè)計(jì)中用相同位數(shù)的計(jì)數(shù)器產(chǎn)生16位響應(yīng)。在接下來的研究中計(jì)數(shù)器和PISO移位寄存器的大小可以增強(qiáng)到255位,,為AES加密算法生成128位密鑰,。
3 實(shí)驗(yàn)與分析
本文將上述方案在FPGA平臺(tái)上進(jìn)行實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)開發(fā)板:Xilinx Virtex5,,開發(fā)軟件:集成開發(fā)環(huán)境ISE,,仿真工具M(jìn)odelsim,測(cè)試和分析工具ChipScope,;開發(fā)語(yǔ)言:Verilog HDL,。經(jīng)過XST綜合后的FPGA配置文件下載到開發(fā)板上,時(shí)鐘周期是50 ns,,定時(shí)器定時(shí)時(shí)間為0.512 μs,。用ChipScope 軟件抓取輸入激勵(lì)與其對(duì)應(yīng)輸出響應(yīng)的波形圖。通過ChipScope 導(dǎo)出的波形圖,,解析出激勵(lì)-響應(yīng)對(duì),。在測(cè)試過程中,對(duì)電路進(jìn)行了50 次測(cè)試,,每次測(cè)試能夠得到16個(gè)激勵(lì)-響應(yīng)對(duì),,對(duì)同一個(gè)激勵(lì)產(chǎn)生的50個(gè)響應(yīng)計(jì)算內(nèi)部漢明距離,,結(jié)果表明,該電路對(duì)于同一激勵(lì)的響應(yīng)內(nèi)部漢明距離最大為0.277 8,,最小可以達(dá)到0.080 0,,大部分分布在0.200 0左右,文獻(xiàn)[14]中測(cè)得的內(nèi)部漢明距離9次達(dá)到0.310 0,,6次達(dá)到0.190 0,,1次達(dá)到0.250 0,所以比較文獻(xiàn)[14],,本文設(shè)計(jì)的PUF較優(yōu),,該設(shè)計(jì)滿足PUF函數(shù)的相關(guān)要求。
4 結(jié)論
本文的設(shè)計(jì)是通過把物理信息集成到電路設(shè)計(jì)從而實(shí)現(xiàn)PUF的設(shè)計(jì),,與現(xiàn)有RO PUF相比,,PISO位寄存器的運(yùn)用減少了更多的硬件資源。由4位激勵(lì)能夠產(chǎn)生16位隨機(jī)響應(yīng),,大大增加了激勵(lì)響應(yīng)對(duì)的數(shù)目,,也即增加了ID的數(shù)量,安全性得到提高,。并且經(jīng)由FPGA驗(yàn)證本文改良后的RO PUF具有更高的“片內(nèi)穩(wěn)定性”,。環(huán)境溫度,、供電電壓是影響片內(nèi)穩(wěn)定性的重要因素,,確保ID不隨溫度、電壓發(fā)生變化,,并且精確可重復(fù)生成是未來研究的方向,。
參考文獻(xiàn)
[1] MAJZOOBI M,ROSTAMI M,,KOUSHANFAR F,,et al.Slender PUF protocol:A lightweight,robust,,and secure authen-tication by substring matching,,in Proc.IEEE Symp. Security Privacy Workshops(SPW),2004:33–44.
[2] HERREWEGE A V.Lightweight PUF-based key and random number generation[M],,KULEUVEN,,Belgium 2015.
[3] OZTURK E,HAMMOURI G,,SUNAR B.Physically unclonable function with tristate buffers[C].IEEE International Symposium on Circuits and Systems,,2008:3194-3197.
[4] KONG J,KOUSHANFAR F.Processor based strong physically unclonable function with aging-based response tuning[J].IEEE Transaction on Emerging Topics in Computing,,2014,,2(1):16-29.
[5] TIWARI K,,KUMAR A.11 GHz CMOS ring oscillator[C].International Conference on Computing, Communication and Automation.2015:1280-1283.
[6] MAITI A,SCHAUMONT P.Improved ring oscillator PUF:an FPGA-friendly secure primitive[J].Journal of Cryptology,,2011,,24(2):375-397.
[7] YU M,DEVADAS S.Secure and robust error correction for Physical unclonable functions[J].IEEE Design & Test of Computers,,2010,,27(1):48-64.
[8] MERLI D,SCHUSTER D,,STUMPF F,,et al.Side-channel analysis of PUFs and fizzy extractors[G].LNS 6740:Trust and Trustworthy Computing,2011:33-47.
[9] YIN C,,QU G.Improving PUF security with regression-based distiller[C]//50th ACM/EDAC/IEEE Design Automation Conference,,2013:1-6.
[10] Abhranil Maiti,Inyoung Kim,,Patrick Schaumont.A robust physical unclonable function with enhanced challenge-response set,,IEEE Transaction on Information Forensic and Security,2012,,7(1):333-345.
[11] G.Edward Suh,,Srinivas Devadas.Physical unclonable functionsfor device authentication and secret key generation[C].44th ACM/IEEE Design Automation Conference,2007:9-14.
[12] Abhranil Maiti,,Patrick Schaumont.Improved ring oscillator PUF:an FPGA-friendly secure primitive.Journal of cryptography,,2011,24(2):375-397.
[13] DODIS Y,,REYZIN L,,SMITH A.Fuzzy extractors:How to generate strong keys from biometrics and other noisy data,in Advances in Cryptology Volume 3027,,Lecture Notes in Computer Science.2004:523-540.
[14] Abhishek Kumar,,Ravi Shankar Mishra,KASHWAN K R.Challenge-response generation using RO-PUF with reducedhardware[C].International Conference on Advances in Computing, Communications and Informatics(ICACCI).2016: 1305-1308.
作者信息:
李雪營(yíng)1,,李 磊1,,胡劍浩2,楊圣華1
(1.電科院空間集成電路實(shí)驗(yàn)室,,四川 成都611731,;2.通信抗干擾國(guó)家重點(diǎn)實(shí)驗(yàn)室,四川 成都611731)