本發(fā)明涉及集成電路芯片檢測(cè)技術(shù)領(lǐng)域,尤其是一種硬件木馬檢測(cè)系統(tǒng)及其檢測(cè)方法。
背景技術(shù):
隨著半導(dǎo)體設(shè)計(jì)、制造與使用進(jìn)一步全球化的發(fā)展趨勢(shì),特別是硬件制造采取外包方式的日益普及,集成電路(IC)芯片易于受到各種類型的惡意攻擊,尤其是“硬件木馬(Hardware Trojan)”。所謂硬件木馬,就是對(duì)IC原始設(shè)計(jì)進(jìn)行更改形成的惡意電路,實(shí)現(xiàn)功能篡改、規(guī)格篡改、信息泄漏等目標(biāo),可以輕易突破現(xiàn)有的安全防護(hù)體制,造成巨大威脅。硬件木馬具有設(shè)計(jì)精巧、隱蔽性強(qiáng)等特點(diǎn),傳統(tǒng)物理檢查、功能測(cè)試等芯片測(cè)試方法無法勝任硬件木馬檢測(cè)任務(wù)。芯片運(yùn)行過程中會(huì)消耗能量,產(chǎn)生電磁輻射、熱輻射等旁路信號(hào),實(shí)驗(yàn)證明芯片旁路信號(hào)與其內(nèi)部結(jié)構(gòu)具有緊密的關(guān)聯(lián)?;谂月贩治龅挠布抉R檢測(cè)方法充分利這種關(guān)聯(lián),通過分析旁路信號(hào)的變化特點(diǎn)來分析其內(nèi)部結(jié)構(gòu)的異常變化,從而實(shí)現(xiàn)硬件木馬的檢測(cè),是當(dāng)前最具前景的硬件木馬檢測(cè)方法。
基于旁路分析的硬件木馬檢測(cè)主要包含兩個(gè)步驟:(1)采集旁路信號(hào)。分別采集安全芯片(通過逆向工程、自參考分析等方法檢測(cè)證明沒有硬件木馬的純凈芯片,或稱為金片,Golden Chip)和待檢測(cè)芯片(Chip Under Test,CUT)的旁路信號(hào)。(2)旁路信號(hào)分析。利用統(tǒng)計(jì)方法分析金片與待測(cè)芯片的旁路信號(hào)差異,檢測(cè)可能存在的木馬電路。
當(dāng)前已經(jīng)提出了多種基于旁路分析的硬件木馬分析方法,根據(jù)分析旁路信號(hào)的類型可以分為功耗分析、電磁分析、熱輻射分析、路徑延遲分析等類型,分析方法主要包括主成分分析方法(Principal Component Analysis,PCA)、投影尋蹤方法、馬氏距離判別方法等,已經(jīng)取得了一定的效果。然而基于旁路分析的硬件木馬檢測(cè)方法主要存在的問題包括:(1)驗(yàn)證實(shí)驗(yàn)普遍采用了仿真方法,主要采用HSPICE環(huán)境和ISCAS標(biāo)準(zhǔn)庫進(jìn)行仿真。然而,實(shí)際實(shí)驗(yàn)中,旁路信號(hào)受噪聲干擾嚴(yán)重,與仿真環(huán)境差異較大,使得仿真結(jié)論難以在實(shí)際實(shí)驗(yàn)中復(fù)現(xiàn)。(2)針對(duì)硬件電路的實(shí)際實(shí)驗(yàn)主要針對(duì)ISCAS標(biāo)準(zhǔn)庫中的簡單電路,能夠檢測(cè)出的硬件木馬規(guī)模普遍較大,占電路總體的比率較高。因此迫切需要對(duì)現(xiàn)有的硬件試驗(yàn)系統(tǒng)進(jìn)行改進(jìn),并提出更有效的分析方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種硬件木馬檢測(cè)系統(tǒng)及其檢測(cè)方法,能夠解決現(xiàn)有技術(shù)的不足,提高了硬件檢測(cè)的精度。
為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案如下。
一種硬件木馬檢測(cè)系統(tǒng),包括控制器,控制器通過USB通訊線路與數(shù)字示波器連接,控制器通過RS232通訊線路與測(cè)試板卡連接,測(cè)試板卡設(shè)置有穩(wěn)壓電源,測(cè)試板卡通過測(cè)量電阻與數(shù)字示波器連接。
一種使用上述的硬件木馬檢測(cè)系統(tǒng)的檢測(cè)方法,包括以下步驟:
A、計(jì)算測(cè)量電阻阻值邊界;
B、功耗旁路信號(hào)測(cè)量時(shí),根據(jù)當(dāng)前電路的工作電流,選擇最接近阻值邊界下限的阻值,
C、構(gòu)建單個(gè)芯片模板;
D、構(gòu)建該型號(hào)芯片的整體模板;
E、計(jì)算每個(gè)芯片模板與整體模板的匹配程度,并統(tǒng)計(jì)其分布特征;
F、判定其匹配程度是否在閾值范圍內(nèi),如果不在則認(rèn)定為含有木馬,否則認(rèn)為不含有木馬。
作為優(yōu)選,步驟A中,計(jì)算測(cè)量電阻阻值邊界包括以下步驟,
A1、根據(jù)芯片穩(wěn)定工作的最大允許壓降ΔV及其最大工作電流IMAX計(jì)算得出接入的最小阻值,
A2、根據(jù)芯片的靜態(tài)電流Istatic及最大允許壓降ΔV計(jì)算得到接入的最大阻值,
A3、據(jù)得到的阻值邊界,設(shè)定采樣電阻陣列,電阻陣列中的電阻數(shù)量為5~10個(gè)。
作為優(yōu)選,步驟C中,構(gòu)建單個(gè)芯片模板包括以下步驟,
C1、采集每一個(gè)芯片的旁路信號(hào),每個(gè)芯片均執(zhí)行相同的動(dòng)作序列,采集相同時(shí)刻的旁路信號(hào);
C2、對(duì)每個(gè)芯片采集m條功耗軌跡,每條功耗軌跡包含n個(gè)樣本點(diǎn),每一個(gè)芯片測(cè)得一個(gè)采樣矩陣,
功耗軌跡的數(shù)量大于等于1000條;
C3、第i個(gè)芯片對(duì)應(yīng)的模板如下式所示,
作為優(yōu)選,步驟D中,構(gòu)建該型號(hào)芯片的整體模板包括以下步驟,
D1、將步驟C中構(gòu)建的單個(gè)芯片模板進(jìn)行集合,構(gòu)成k行n列的芯片模板矩陣,
其中代表第i個(gè)芯片模板軌跡上的第j個(gè)點(diǎn)的功耗值;
D2、采用多元正態(tài)特征函數(shù)來生成整體模板,
其中
為k個(gè)芯片模板的均值,其中包含了工藝偏差的相關(guān)分量;協(xié)方差矩陣C包含不同參數(shù)列兩兩之間的協(xié)方差,即功耗軌跡上不同時(shí)刻點(diǎn)上的旁路信號(hào)列向量之間的相關(guān)系數(shù)。
作為優(yōu)選,步驟E中,芯片模板與整體模板的匹配程度的計(jì)算式為,
其中分別代表第i個(gè)金片模板和整體模板,令統(tǒng)計(jì)集合S={S1,S2,...,Sk}的分布規(guī)律,計(jì)算式為,
作為優(yōu)選,步驟F中,閾值范圍為
采用上述技術(shù)方案所帶來的有益效果在于:本發(fā)明提高了旁路信號(hào)采集的質(zhì)量,并充分考慮了噪聲、工藝擾動(dòng)等因素對(duì)木馬檢測(cè)的影響,提出了基于多芯片的模板分析方法,能夠在實(shí)際試驗(yàn)中取得比其它現(xiàn)有檢測(cè)方法更高的檢測(cè)精度。本發(fā)明相對(duì)于現(xiàn)有技術(shù)的主要優(yōu)點(diǎn)在于:
1、采集板卡中匹配電阻的改進(jìn),使得旁路信號(hào)質(zhì)量更高。
2、實(shí)驗(yàn)中采用活動(dòng)卡座的形式采集了多個(gè)同型號(hào)芯片的旁路信號(hào),從而能夠更好的體現(xiàn)工藝偏差的影響。
3、采用了多元正態(tài)分布模型來刻畫旁路信號(hào)的多點(diǎn)特性,通過協(xié)方差矩陣來體現(xiàn)不同點(diǎn)列之間的關(guān)聯(lián),對(duì)信號(hào)的刻畫與分析更為精準(zhǔn)。
附圖說明
圖1是本發(fā)明一個(gè)具體實(shí)施方式的原理圖。
圖中:1、控制器;2、數(shù)字示波器;3、測(cè)試板卡;4、穩(wěn)壓電源;5、測(cè)量電阻;6、USB通訊線路;7、RS232通訊線路。
具體實(shí)施方式
本發(fā)明中使用到的標(biāo)準(zhǔn)零件均可以從市場(chǎng)上購買,異形件根據(jù)說明書的和附圖的記載均可以進(jìn)行訂制,各個(gè)零件的具體連接方式均采用現(xiàn)有技術(shù)中成熟的螺栓、鉚釘、焊接、粘貼等常規(guī)手段,在此不再詳述。
參看附圖1,本具體實(shí)施例包括控制器1,控制器1通過USB通訊線路6與數(shù)字示波器2連接,控制器1通過RS232通訊線路7與測(cè)試板卡3連接,測(cè)試板卡3設(shè)置有穩(wěn)壓電源4,測(cè)試板卡3通過測(cè)量電阻5與數(shù)字示波器2連接。
一種使用上述硬件木馬檢測(cè)系統(tǒng)的檢測(cè)方法,包括以下步驟:
A、計(jì)算測(cè)量電阻阻值邊界;
B、功耗旁路信號(hào)測(cè)量時(shí),根據(jù)當(dāng)前電路的工作電流,選擇最接近阻值邊界下限的阻值,
C、構(gòu)建單個(gè)芯片模板;
D、構(gòu)建該型號(hào)芯片的整體模板;
E、計(jì)算每個(gè)芯片模板與整體模板的匹配程度,并統(tǒng)計(jì)其分布特征;
F、判定其匹配程度是否在閾值范圍內(nèi),如果不在則認(rèn)定為含有木馬,否則認(rèn)為不含有木馬。
步驟A中,計(jì)算測(cè)量電阻阻值邊界包括以下步驟,
A1、根據(jù)芯片穩(wěn)定工作的最大允許壓降ΔV及其最大工作電流IMAX計(jì)算得出接入的最小阻值,
A2、根據(jù)芯片的靜態(tài)電流Istatic及最大允許壓降ΔV計(jì)算得到接入的最大阻值,
A3、據(jù)得到的阻值邊界,設(shè)定采樣電阻陣列,電阻陣列中的電阻數(shù)量為5~10個(gè)。
本實(shí)施例使用的Xilinx公司的XC3S400芯片為例進(jìn)行計(jì)算。根據(jù)芯片手冊(cè)可得允許最大壓降為:0.06V,允許的最大電流為:Imax≈268mA,因此Rmin≈224mΩ。根據(jù)XC3S400芯片手冊(cè),得到芯片靜態(tài)電流Istatic≈30mA,Rmax≈2Ω。本實(shí)施例中的XC3S400芯片的測(cè)量電路阻值范圍為[224mΩ,2Ω]。實(shí)際應(yīng)用中,精密采樣電阻的阻值一般不超過1Ω,且要選購市場(chǎng)上的貨架產(chǎn)品(阻值并不能隨意設(shè)定)。因此設(shè)定該芯片所對(duì)應(yīng)的采樣電阻陣列的阻值分別為200mΩ、400mΩ、600mΩ、800mΩ、1Ω等5種阻值。
選擇阻值的過程為:
(1)在FPGA芯片中燒寫待測(cè)邏輯,測(cè)量芯片邏輯正常工作時(shí)的電流。
(2)根據(jù)測(cè)試電流和芯片允許最大壓降計(jì)算得出理論電阻值,對(duì)該阻值向下取最接近的阻值。仍以XC3S400芯片為例,其燒些AES加密程序后,運(yùn)行時(shí)電流Itest約為82mA,允許最大壓降ΔV為0.06V,則計(jì)算得到對(duì)應(yīng)阻值Rtest約為731mΩ,則陣列中低于該阻值并且最接近的阻值為600mΩ,因此將其對(duì)應(yīng)阻值選擇為600mΩ。
步驟C中,構(gòu)建單個(gè)芯片模板包括以下步驟,
C1、采集每一個(gè)芯片的旁路信號(hào),每個(gè)芯片均執(zhí)行相同的動(dòng)作序列,采集相同時(shí)刻的旁路信號(hào);
C2、對(duì)每個(gè)芯片采集m條功耗軌跡,每條功耗軌跡包含n個(gè)樣本點(diǎn),每一個(gè)芯片測(cè)得一個(gè)采樣矩陣,
功耗軌跡的數(shù)量大于等于1000條;
C3、第i個(gè)芯片對(duì)應(yīng)的模板如下式所示,
驟D中,構(gòu)建該型號(hào)芯片的整體模板包括以下步驟,
D1、將步驟C中構(gòu)建的單個(gè)芯片模板進(jìn)行集合,構(gòu)成k行n列的芯片模板矩陣,
其中代表第i個(gè)芯片模板軌跡上的第j個(gè)點(diǎn)的功耗值;
D2、采用多元正態(tài)特征函數(shù)來生成整體模板,
其中
為k個(gè)芯片模板的均值,其中包含了工藝偏差的相關(guān)分量;協(xié)方差矩陣C包含不同參數(shù)列兩兩之間的協(xié)方差,即功耗軌跡上不同時(shí)刻點(diǎn)上的旁路信號(hào)列向量之間的相關(guān)系數(shù)。
步驟E中,芯片模板與整體模板的匹配程度的計(jì)算式為,
其中分別代表第i個(gè)金片模板和整體模板,令統(tǒng)計(jì)集合S={S1,S2,...,Sk}的分布規(guī)律,計(jì)算式為,
步驟F中,閾值范圍為
為對(duì)檢測(cè)效果進(jìn)行評(píng)價(jià),給出以下定義:
檢出率(True Negative):被檢測(cè)出來的有木馬芯片占有木馬芯片總體的比例。
錯(cuò)判率(False Negative):無木馬芯片被誤判為有木馬芯片,其占無木馬芯片總體的比例。
采用本發(fā)明所提及的試驗(yàn)系統(tǒng),在其中的FPGA芯片上燒寫待驗(yàn)證的有/無硬件木馬電路。從TrustHUB平臺(tái)得到T500、T800兩種類型的典型木馬及其所附屬的8051微處理器電路。為了驗(yàn)證本發(fā)明方法的有效性,進(jìn)一步對(duì)T500木馬進(jìn)行了優(yōu)化,使其占用盡可能少的面積(邏輯量小),設(shè)計(jì)得到Tj1、Tj2、Tj3木馬,分別為1位比較器、4位比較器和8位比較器木馬。Tj-free代表無木馬的原始8051微處理器電路。幾種電路均占用了相同數(shù)量的寄存器(628個(gè)),主要在LUT使用上存在差異,因此主要比較各個(gè)電路占用LUT數(shù)的差別。
測(cè)試集:取100片芯片,分別燒寫Tj-free、Tj1、Tj2、Tj3、T500、T800六種電路,按照發(fā)明中提及的檢測(cè)方法依次進(jìn)行金片模板構(gòu)建、整體模板構(gòu)建、匹配模板測(cè)試,得到統(tǒng)計(jì)結(jié)果如下表所示:
由上表可以看出,采用3σ檢驗(yàn)標(biāo)準(zhǔn),可以檢出低至0.025%規(guī)模的硬件木馬,遠(yuǎn)低于同類檢測(cè)的0.6%規(guī)模,證明了本發(fā)明的有效改進(jìn)。3σ檢驗(yàn)標(biāo)準(zhǔn)下仍有1個(gè)有木馬芯片沒有被檢出,同時(shí)產(chǎn)生了19%的錯(cuò)檢率。如果進(jìn)一步提高檢驗(yàn)標(biāo)準(zhǔn)至2σ,則可檢出全部有木馬芯片,但是相應(yīng)的錯(cuò)檢率提高到了46%。因此實(shí)際使用中應(yīng)該根據(jù)應(yīng)用需求選定合理的檢驗(yàn)標(biāo)準(zhǔn)。
上述描述僅作為本發(fā)明可實(shí)施的技術(shù)方案提出,不作為對(duì)其技術(shù)方案本身的單一限制條件。