羅 芳 歐慶于 周學(xué)廣 褚濰禹 高 飛
(海軍工程大學(xué)信息安全系 武漢 430033)
作為現(xiàn)代密碼系統(tǒng)中的基礎(chǔ)核心要素,真隨機(jī)數(shù)憑借其優(yōu)良的統(tǒng)計(jì)特性和不可預(yù)測(cè)性,在各類密碼算法、協(xié)議以及安全實(shí)現(xiàn)中發(fā)揮著舉足輕重的作用。作為真隨機(jī)數(shù)的物理生成實(shí)體,真隨機(jī)數(shù)發(fā)生器(True Random Number Generator, TRNG)多基于現(xiàn)實(shí)世界中的不確定性過(guò)程(如:電子噪聲、亞穩(wěn)態(tài)現(xiàn)象等)進(jìn)行設(shè)計(jì),而這種與現(xiàn)實(shí)物理現(xiàn)象的交聯(lián)可能會(huì)對(duì)密碼應(yīng)用的安全性造成威脅。例如,憑借電磁脈沖、電壓毛刺等手段能夠輕易穿透各類物理封裝屏障,對(duì)TRNG實(shí)施擾動(dòng),造成熵源不可預(yù)測(cè)性退化,并最終達(dá)到使各類密碼應(yīng)用體系、防護(hù)體系的安全性降級(jí)的目的[1-4]。
為明確故障擾動(dòng)場(chǎng)景下TRNG的安全特性,文獻(xiàn)[5]對(duì)以TRNG為對(duì)象的故障注入及安全性擾動(dòng)方法進(jìn)行了研究,揭示了TRNG安全性與現(xiàn)實(shí)物理世界間的交聯(lián)關(guān)系;在此基礎(chǔ)上,文獻(xiàn)[6,7]結(jié)合TRNG運(yùn)行時(shí)的電磁發(fā)射特點(diǎn),在時(shí)間維度上進(jìn)一步提升了擾動(dòng)的精確性及現(xiàn)實(shí)場(chǎng)景下的適用性,為開(kāi)展以TRNG安全性驗(yàn)證為目的的攻擊性測(cè)試奠定了良好基礎(chǔ)。另一方面,為明確故障擾動(dòng)下TRNG的安全變異特性,文獻(xiàn)[8]對(duì)TRNG安全性形式化建模方法進(jìn)行了研究,并結(jié)合TRNG關(guān)鍵影響參數(shù),初步構(gòu)建了TRNG安全性評(píng)估框架。然而,由于在故障擾動(dòng)場(chǎng)景下,各TRNG關(guān)鍵參數(shù)受擾動(dòng)概率傳播、噪聲分量突變等多重因素地影響,導(dǎo)致僅依托形式化建模的方法無(wú)法充分刻畫(huà)TRNG遭受擾動(dòng)時(shí)的行為特性,進(jìn)而影響評(píng)估結(jié)果的準(zhǔn)確性。針對(duì)這一問(wèn)題,文獻(xiàn)[9]以TRNG中的核心部件,如能帶隙、鎖相環(huán)等為對(duì)象,構(gòu)建了電壓毛刺影響下的行為模型,較好地解決了TRNG模數(shù)混合特性所帶來(lái)的擾動(dòng)傳播分析問(wèn)題,但對(duì)于擾動(dòng)場(chǎng)景下噪聲分量突變導(dǎo)致的安全性變異問(wèn)題并未進(jìn)行考慮,導(dǎo)致難以全面地揭示TRNG在故障擾動(dòng)場(chǎng)景下的安全特性。此外,借助電磁脈沖故障注入手段,文獻(xiàn)[10]對(duì)TRNG的熵減現(xiàn)象進(jìn)行了研究;文獻(xiàn)[11]對(duì)故障擾動(dòng)下TRNG的自感應(yīng)現(xiàn)象及其影響進(jìn)行了分析。但上述研究對(duì)于電磁脈沖的安全擾動(dòng)機(jī)理缺乏深入地探討,使其無(wú)法滿足TRNG安全特性表征的需求。
本文圍繞故障擾動(dòng)場(chǎng)景下TRNG的安全特性變異分析及度量問(wèn)題,以當(dāng)前廣泛應(yīng)用的振蕩環(huán)(Ring Oscillator,RO)型TRNG為對(duì)象,從熵源和熵抽取兩個(gè)方面,對(duì)由故障擾動(dòng)造成的抖動(dòng)方差累積影響及節(jié)拍延遲鏈時(shí)延突變現(xiàn)象進(jìn)行了探討,并對(duì)由此造成的安全性影響進(jìn)行了深入分析;以此為基礎(chǔ),構(gòu)建了以捕獲偏置度為指標(biāo)的TRNG安全性度量模型,實(shí)現(xiàn)了對(duì)由故障擾動(dòng)引起的抖動(dòng)方差累積非線性波動(dòng)遞增與時(shí)延突變等因素引起的安全性變異的綜合表征。
與基于亞穩(wěn)態(tài)[12]、混沌[13]、電阻熱燥聲[14]等類型的TRNG相比,RO-TRNG利用源于熱噪聲的信號(hào)邊沿抖動(dòng)隨機(jī)性實(shí)現(xiàn)隨機(jī)數(shù)的生成,具有結(jié)構(gòu)簡(jiǎn)單、吞吐率高、便于數(shù)字化實(shí)現(xiàn)等優(yōu)點(diǎn),在可編程邏輯門(mén)陣列(Field Programmable Gate Array,FPGA)、片上系統(tǒng)(System On Chip, SOC)、可編程片上系統(tǒng)(System On a Programmable Chip, SOPC)等各類數(shù)字電路芯片中得到廣泛應(yīng)用。
基于式(3)可知,RO-TRNG的不可預(yù)測(cè)性僅假設(shè)源于熱噪聲的振蕩信號(hào)抖動(dòng)。然而,現(xiàn)實(shí)中振蕩信號(hào)會(huì)受到閃爍噪聲等內(nèi)源性噪聲分量影響,還可能遭受電磁干擾、電壓毛刺等形式的故障擾動(dòng)影響。
圖1 TDC的非均勻特性
圖2 故障擾動(dòng)下的捕獲概率偏置
測(cè)試環(huán)境包括:基于Xilinx XC6SLX45實(shí)現(xiàn)的RO-TRNG, Time-Waves 6000A型故障注入器、函數(shù)信號(hào)發(fā)生器、示波器等?;诤瘮?shù)信號(hào)發(fā)生器生成的周期觸發(fā)信號(hào)(周期100 ns),連續(xù)驅(qū)動(dòng)故障注入器產(chǎn)生電壓脈沖,實(shí)現(xiàn)對(duì)FPGA核心電源系統(tǒng)的電壓毛刺故障注入,最終在FPGA核心電源系統(tǒng)中形成幅度為+5.7~-3.1 V的電壓毛刺,上升沿為862.1 ps(10%~90%),下降沿為1.1679 ns(10%~90%),如圖3所示。RO-TRNG實(shí)現(xiàn)如圖4所示。其中,采樣時(shí)鐘頻率為100 MHz,振蕩環(huán)由3級(jí)延遲單元構(gòu)成,3級(jí)節(jié)拍延遲鏈基于XC6SLX45中的Carry4快速進(jìn)位鏈邏輯實(shí)現(xiàn),每級(jí)為40 bit。
圖3 FPGA核心電壓毛刺注入
圖4 RO-TRNG實(shí)現(xiàn)布局
基于文獻(xiàn)[22]的方法,通過(guò)507376次采樣測(cè)得振蕩環(huán)平均周期T0為3.2863 ns,并分別在累積時(shí)間tN為800 ns, 1600 ns, 2400 ns, 4000 ns, 5000 ns,10000 ns時(shí),對(duì)正常和故障擾動(dòng)場(chǎng)景下的累積方差進(jìn)行測(cè)量,結(jié)果如表2。
表1 不同序號(hào)捕獲概率變化趨勢(shì)
表2 方差累積特性測(cè)量結(jié)果
如圖5所示,通過(guò)對(duì)正常情況下累積方差σN2進(jìn)行擬合可知,振蕩環(huán)熵源的方差累積基本符合線性增長(zhǎng)規(guī)律。在同樣的累積時(shí)間下,當(dāng)存在故障擾動(dòng)時(shí)其累積方差值顯著大于正常情況下的累積方差,說(shuō)明通過(guò)故障擾動(dòng),熵源中閃爍噪聲分量已處于支配地位;累積時(shí)間為2400 ns和4000 ns時(shí),故障擾動(dòng)下的累積方差存在較大波動(dòng),說(shuō)明除受閃爍噪聲分量影響外,累積方差還受到故障擾動(dòng)的全局性影響。
圖5 方差累積特性的對(duì)比
基于蒙特卡洛方法[22],在振蕩環(huán)連續(xù)振蕩下,分別對(duì)正常情況和故障注入情況時(shí),TDC各延遲單元的時(shí)延進(jìn)行測(cè)量,結(jié)果如圖6所示。
圖6 節(jié)拍延遲鏈時(shí)延變化特性測(cè)量結(jié)果
通過(guò)對(duì)測(cè)量結(jié)果進(jìn)行分析可知,在故障注入情況下,節(jié)拍延遲鏈中各延遲單元的時(shí)延產(chǎn)生了較大波動(dòng),且隨著時(shí)延波動(dòng)在節(jié)拍延遲中累積,在第40個(gè)延遲單元后,故障注入情況下的時(shí)延顯著大于正常情況下的時(shí)延。為確保具備足夠的方差累積,在累積時(shí)間設(shè)定為1600 ns時(shí),對(duì)TDC中各延遲單元對(duì)振蕩信號(hào)上升沿的捕獲概率進(jìn)行測(cè)量和估計(jì),其結(jié)果如圖7所示。
圖7 振蕩信號(hào)捕獲概率變化特性測(cè)量結(jié)果
顯然,在故障擾動(dòng)下,其上升沿捕獲偏置顯著大于正常情況,從而將造成輸出隨機(jī)數(shù)的偏置。
與當(dāng)前TRNG領(lǐng)域廣泛采用的頻率度量、Maurer通用統(tǒng)計(jì)度量方法進(jìn)行比較,如表3所示。其中,頻率度量和Maurer度量所使用的隨機(jī)數(shù)序列基于TDC振蕩信號(hào)上升沿被奇偶序號(hào)延遲單元捕獲情況直接轉(zhuǎn)換。通過(guò)比較可知,由于基于熵源直接產(chǎn)生的原始隨機(jī)數(shù)未經(jīng)過(guò)后處理部分的再處理,其隨機(jī)性無(wú)法達(dá)到相關(guān)標(biāo)準(zhǔn)的要求,導(dǎo)致頻率度量和Maurer度量結(jié)果均無(wú)法超過(guò)閾值。此外,當(dāng)度量結(jié)果小于閾值時(shí),受度量方法及樣本數(shù)量的限制,其正常場(chǎng)景度量和擾動(dòng)場(chǎng)景度量結(jié)果的差異程度較小。其中,采樣次數(shù)為10000時(shí),頻率度量和Maurer度量均無(wú)法對(duì)輸出序列隨機(jī)性進(jìn)行準(zhǔn)確度量;采樣次數(shù)為200000時(shí),頻率度量針對(duì)兩種場(chǎng)景度量結(jié)果的差異程度為0.00113,而Maurer度量無(wú)法正確區(qū)分正常場(chǎng)景和擾動(dòng)場(chǎng)景;采樣次數(shù)為5000000時(shí),頻率度量的差異程度為0.00274,Maurer度量的差異程度為0.00058。另一方面,基于捕獲偏置度的度量方法雖然在采樣次數(shù)為10000時(shí),同樣無(wú)法實(shí)施準(zhǔn)確度量,但當(dāng)采樣次數(shù)上升至200000時(shí),正常場(chǎng)景和擾動(dòng)場(chǎng)景度量結(jié)果的差異程度達(dá)到了0.6014。這意味著當(dāng)樣本數(shù)量較小時(shí),基于捕獲偏置度量的方法能夠更快速地監(jiān)測(cè)熵源擾動(dòng)造成的安全特性變化,且其靈敏度高于頻率度量及Maurer度量,適用于對(duì)故障擾動(dòng)場(chǎng)景下TRNG的安全性實(shí)施快速客觀評(píng)價(jià)。
表3 與其他度量方法的對(duì)比
圍繞RO-TRNG在故障擾動(dòng)場(chǎng)景下的安全特性分析和度量問(wèn)題,本文在對(duì)故障擾動(dòng)施加于熵源和熵抽取部分的影響進(jìn)行深入分析的基礎(chǔ)上,以抖動(dòng)方差累積和節(jié)拍延遲鏈時(shí)延為核心要素,對(duì)故障擾動(dòng)場(chǎng)景下RO-TRNG的安全特性和度量方法進(jìn)行了研究,并以此為基礎(chǔ)提出了能夠充分反映故障擾動(dòng)場(chǎng)景下RO-TRNG安全特性的度量模型。該度量模型能夠充分反映故障擾動(dòng)場(chǎng)景下,抖動(dòng)方差累積非線性波動(dòng)遞增與時(shí)延突變特性,以及由此引起的安全性變異,從而為基于振蕩環(huán)方式實(shí)現(xiàn)的真隨機(jī)數(shù)發(fā)生器的抗故障攻擊能力的客觀評(píng)價(jià)提供依據(jù),并可為抗故障攻擊能力的改進(jìn)提供參考,對(duì)于增強(qiáng)密碼應(yīng)用的現(xiàn)實(shí)安全性具有重要意義。