文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.174762
中文引用格式: 李楨,汪鵬君,程旭,等. 基于熱噪聲的自適應(yīng)匹配真隨機(jī)數(shù)發(fā)生器設(shè)計[J].電子技術(shù)應(yīng)用,2018,44(8):35-38,43.
英文引用格式: Li Zhen,Wang Pengjun,Cheng Xu,et al. Design of adaptive matching true random number generator based on thermal noise[J]. Application of Electronic Technique,2018,44(8):35-38,43.
0 引言
隨著電子技術(shù)和通信技術(shù)的發(fā)展,對信息安全性的要求越來越高,真隨機(jī)數(shù)發(fā)生器(True Random Number Generator,TRNG)已成為安全系統(tǒng)中不可或缺的一部分[1]。相較偽隨機(jī)數(shù)發(fā)生器(Random Number Generator,RNG),TRNG的輸出序列具有不可預(yù)測性且滿足嚴(yán)格的統(tǒng)計測試要求,所以通常選取熱噪聲、核衰變、宇宙輻射等物理現(xiàn)象作為熵源[2],其中應(yīng)用最廣泛的是熱噪聲。熱噪聲由導(dǎo)體中載流子的熱振動引起,它會造成溝道電流微小波動從而在電阻兩端產(chǎn)生電壓[3]?;跓嵩肼暤腡RNG電路設(shè)計方法主要包括:熱噪聲直接放大、環(huán)振抖動采樣和亞穩(wěn)態(tài)三種方法。熱噪聲直接放大法通過高增益高帶寬差分運(yùn)算放大器將大電阻上的熱噪聲直接放大,再由比較器將放大信號進(jìn)行數(shù)模轉(zhuǎn)換后輸出。但隨著工藝的更新,放大器本身存在的輸出失調(diào)、襯底噪聲耦合、有限帶寬等非理想因素都將明顯影響系統(tǒng)輸出的隨機(jī)性[4];環(huán)振抖動采樣是將熱噪聲轉(zhuǎn)換為相位抖動,用低頻信號采樣獲得隨機(jī)輸出[5]。但因為相位抖動幅度小,所以需要多個周期對相位幅度進(jìn)行累加才能產(chǎn)生隨機(jī)輸出,導(dǎo)致電路吞吐率極低;亞穩(wěn)態(tài)則是先讓雙穩(wěn)態(tài)電路進(jìn)入亞穩(wěn)態(tài)區(qū)間,在釋放瞬間由熱噪聲決定輸出狀態(tài)。其優(yōu)點(diǎn)是可以采用全數(shù)字化設(shè)計[3,6],但由于亞穩(wěn)態(tài)工作區(qū)間小,因此微小的器件和負(fù)載失配都會使電路偏離亞穩(wěn)態(tài)工作區(qū)間。為了使電路工作在亞穩(wěn)態(tài),文獻(xiàn)[6]引入了負(fù)反饋調(diào)節(jié),但由于未考慮負(fù)載失配的情況,反饋調(diào)節(jié)難度大,且狀態(tài)機(jī)在啟動時完成反饋調(diào)節(jié)后即停止工作,無法根據(jù)環(huán)境變化進(jìn)行二次調(diào)節(jié),降低了其應(yīng)用范圍。鑒此,本文將結(jié)合熱噪聲放大和亞穩(wěn)態(tài)設(shè)計方法的優(yōu)點(diǎn)提出相應(yīng)的設(shè)計方案,有效提高輸出序列的隨機(jī)性,并通過仿真驗證。
1 熱噪聲模型與靈敏放大器
影響TRNG輸出序列隨機(jī)性的關(guān)鍵是熱噪聲的有效放大,所以先分析熱噪聲模型和靈敏放大器工作機(jī)理。
1.1 熱噪聲模型
熱噪聲由導(dǎo)體中載流子的熱振動引起,它使溝道電流產(chǎn)生微小波動,從而在在電阻兩端產(chǎn)生波動電壓。在頻域中,其頻譜密度如式(1)所示[7]:
其中,η(t,Δt)是呈高斯概率分布的隨機(jī)數(shù),每隔Δt更新一次,σ是噪聲信號的幅值??芍獰嵩肼曨l譜為一恒定常數(shù),在時域中幅值呈高斯分布,是理想的熵源。但因幅值較小(實(shí)際電路中約為1.5 mV[3]),微小的工藝偏差和環(huán)境影響都會掩蓋噪聲的作用,因此需要精度高、匹配性好的放大器將其快速放大到數(shù)字電路能識別的電平值。
1.2 靈敏放大器
靈敏放大器具有靈敏度高、運(yùn)行速度快、結(jié)構(gòu)簡單等優(yōu)點(diǎn),是放大熱燥聲的理想器件。其基本電路結(jié)構(gòu)如圖1所示。
當(dāng)時鐘信號CLK=0時,電路進(jìn)入預(yù)充電階段,互補(bǔ)輸出端Q和QN被預(yù)充電至高電平;當(dāng)時鐘信號CLK=1時,電路進(jìn)入求值階段,求值原理如式(3)所示:
若靈敏放大器工作電流完全平衡,互補(bǔ)輸出Q和QN在求值階段最終會穩(wěn)定在中間電平。實(shí)際電路中,在熱噪聲的影響下,I1、I2大小會隨機(jī)波動,從而在求值階段產(chǎn)生隨機(jī)輸出。
2 自適應(yīng)匹配
靈敏放大器工作電流平衡是獲得理想隨機(jī)序列的關(guān)鍵。但負(fù)載失配、工藝偏差等非理想因素都會影響電流大小,使輸出序列產(chǎn)生明顯的偏向性。因此,需要靈敏放大器在工作中能夠自適應(yīng)匹配。
2.1 可配置NMOS陣列
靈敏放大器中各MOS管寬長比的工藝偏差可等效為圖1中晶體管N3和N4的偏差[4],造成工作電流失衡。為補(bǔ)償工藝偏差,可將圖1中的晶體管N3和N4替換為可配置NMOS陣列NF1和NF2,其內(nèi)部結(jié)構(gòu)如圖2所示。
以ncf0為例,ncf0高電平時,晶體管開關(guān)N1導(dǎo)通,N2并聯(lián)在N0兩端,可配置NMOS陣列的等效寬長比升高,相應(yīng)支路工作電流增大;反之電流減小,從而有效補(bǔ)償工藝偏差提高序列隨機(jī)性。
2.2 動態(tài)補(bǔ)償算法
為使靈敏放大器可根據(jù)輸出序列的偏向性調(diào)整可配置NMOS陣列來補(bǔ)償偏差,提出動態(tài)補(bǔ)償算法。算法采用單級等距調(diào)節(jié),復(fù)雜性低易于實(shí)現(xiàn)。其狀態(tài)轉(zhuǎn)移圖如圖3所示。
有限狀態(tài)機(jī)擁有動態(tài)配置和動態(tài)監(jiān)控兩種模式。TRNG在上電啟動后經(jīng)初始化進(jìn)入動態(tài)配置模式。動態(tài)配置模式下每4個時鐘周期,狀態(tài)機(jī)對TRNG輸出的4位數(shù)據(jù)進(jìn)行一次讀取檢測。若4位數(shù)據(jù)中“1”的個數(shù)多于“0”,令flag=1。反之令flag=0。狀態(tài)機(jī)根據(jù)flag的值令可配置NMOS陣列NF1、NF2自加或自減。當(dāng)中“1”和“0”個數(shù)相等時,若輸出為“1100”或“0011”,則令flag=2,配置狀態(tài)維持不變。若輸出為“1010”或“0101”,則判定TRNG在當(dāng)前配置下,受熱噪聲影響可以等概率輸出“1”或“0”,令flag=3,配置完成,狀態(tài)機(jī)進(jìn)入動態(tài)監(jiān)控模式。動態(tài)監(jiān)控模式下,若檢測到輸出序列連續(xù)出現(xiàn)12個“1”或“0”,判定輸出序列失去隨機(jī)性,令flag=4,狀態(tài)機(jī)返回動態(tài)配置模式。否則,狀態(tài)機(jī)維持在動態(tài)監(jiān)控模式,可配置NMOS陣列配置不變。
2.3 TRNG電路整體結(jié)構(gòu)
可自適應(yīng)匹配的TRNG整體結(jié)構(gòu)如圖4所示。靈敏放大器在熱噪聲的影響下每個時鐘周期隨機(jī)輸出低電平“0”或高電平“1”,輸出數(shù)據(jù)存儲在移位寄存器中。動態(tài)補(bǔ)償模塊根據(jù)移位寄存器中的數(shù)據(jù)偏向性調(diào)節(jié)可配置NMOS陣列,使電路工作在高熵值區(qū)域。負(fù)載匹配模塊用以降低負(fù)載失配對輸出序列隨機(jī)性的影響。
3 實(shí)驗結(jié)果和分析
整體電路采用Cadence的Verilog/Spectre混合仿真器對模擬電路和Verilog模塊進(jìn)行聯(lián)合仿真。在1.2 V電源電壓下,令時鐘頻率為1 GHz并手動引入10%的工藝偏差,輸出序列如圖5所示。可知當(dāng)0 μs時,輸出偏向1,經(jīng)過約0.4 μs的動態(tài)配置,TRNG輸出序列隨機(jī)并進(jìn)入動態(tài)監(jiān)控模式。在1.5 μs時刻,再次引入工藝偏差,輸出序列偏向1。TRNG重新進(jìn)入動態(tài)配置模式,并在約1.92 μs完成動態(tài)配置進(jìn)入動態(tài)監(jiān)控模式。仿真結(jié)果表明電路實(shí)現(xiàn)自適應(yīng)匹配功能,具有良好的抗工藝偏差特性。
將仿真獲得的100 000位原始序列經(jīng)過馮諾依曼后處理后得到約26 000位數(shù)據(jù),分成10組,輸入到NIST測試套件[8]中進(jìn)行檢測。測試結(jié)果如表1所示。從測試結(jié)果可以看出,各項P值都處在較高水平,隨機(jī)性優(yōu)異。
將所得序列輸入到MATLAB測試自相關(guān)特性,結(jié)果如圖6所示。由圖可知,在95%的自信區(qū)間內(nèi)2 000位連續(xù)數(shù)據(jù)間的自相關(guān)性近似為0。
為了驗證電路的魯棒性,TRNG在0.8 V~1.4 V電源電壓,-40 ℃、40 ℃和120 ℃的環(huán)境下進(jìn)行仿真,將輸出序列送入NIST套件進(jìn)行測試。測試結(jié)果如圖7所示。P值大于0.1則通過隨機(jī)測試。可知TRNG在各溫度及電壓下均有良好的隨機(jī)性,且P值隨著電源電壓的升高呈上升趨勢。
4 結(jié)論
本設(shè)計首先采用靈敏放大器代替高增益高帶寬差分運(yùn)算放大器,既避免運(yùn)放設(shè)計的困難,同時又通過靈敏放大器中交叉耦合的正反饋結(jié)構(gòu)提高TRNG吞吐率。其次,在輸出端用D觸發(fā)器進(jìn)行負(fù)載隔離,降低靈敏放大器差分輸出端負(fù)載失衡對輸出序列隨機(jī)性的影響,使得TRNG在工作階段負(fù)載平衡。最后,提出具有動態(tài)配置和動態(tài)監(jiān)控兩種模式的補(bǔ)償算法,使TRNG在工作環(huán)境劇烈變化時能自適應(yīng)調(diào)節(jié),增加輸出序列的隨機(jī)性和TRNG適用范圍。所設(shè)計TRNG電路采用TSMC 65 nm CMOS 工藝實(shí)現(xiàn),經(jīng)NIST套件測試,具有較高的隨機(jī)性,可廣泛應(yīng)用于密鑰生成和信號加密等領(lǐng)域。
參考文獻(xiàn)
[1] BHARGAVA M,SHEIKH K,MAI K.Robust true random number generator using hot-carrier injection balanced metastable sense amplifiers[C].IEEE International Symposium on Hardware Oriented Security and Trust.IEEE,2015:7-13.
[2] WIECZOREK P Z.Lightweight TRNG based on multiphase timing of bistables[J].IEEE Transactions on Circuits & Systems I Regular Papers,2016,63(7):1043-1054.
[3] SRINIVASAN S,MATHEW S,ERRAGUNTLA V,et al.A 4 Gb/s 0.57 pJ/bit process-voltage-temperature variation tolerant all-digital true random number generator in 45 nm CMOS[C].International Conference on Vlsi Design.IEEE Computer Society,2009:301-306.
[4] 金杰,羅敏,宮月紅.一種基于熱噪聲的真隨機(jī)數(shù)發(fā)生器的設(shè)計與實(shí)現(xiàn)[J].微電子學(xué)與計算機(jī),2015(10):7-11.
[5] LIU Y,CHEUNG R C C,WONG H.A bias-bounded digital true random number generator architecture[J].IEEE Transactions on Circuits & Systems I Regular Papers,2017,64(1):133-144.
[6] MATHEW S K,SRINIVASAN S,ANDERS M A,et al.2.4 Gbps, 7 mW all-digital PVT-variation tolerant true random number generator for 45 nm CMOS high-performance microprocessors[J].IEEE Journal of Solid-State Circuits,2012,47(11):2807-2821.
[7] SUNG J J,KANG G S,KIM S.A transient noise model for frequency-dependent noise sources[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2003,22(8):1097-1104.
[8] RUKHIN A L,SOTO J,NECHVATAL J R,et al.SP 800-22 Rev.1a. A statistical test suite for random and pseudorandom number generators for cryptographic applications[R].Nist Special Publication,2010.
作者信息:
李 楨1,汪鵬君1,程 旭2,李 剛1
(1.寧波大學(xué) 電路與系統(tǒng)研究所,浙江 寧波315211;2.復(fù)旦大學(xué) 專用集成電路與系統(tǒng)國家重點(diǎn)實(shí)驗室,上海201203)