本發(fā)明涉及木馬監(jiān)測技術領域,特別是涉及工藝型硬件木馬監(jiān)測方法與裝置。
背景技術:
近年來,集成電路的安全性受到了人們越來越多的關注。由于成本的原因,目前絕大多數的集成電路設計公司都沒有自己的制造工藝線,而是依賴于專業(yè)的芯片制造代工廠來進行芯片的生產。這種設計和生產相分離的情況,給集成電路的安全帶來了隱患——硬件木馬,它指的是對手在集成電路的設計或制造過程中,往芯片中加入的一些惡意電路邏輯,它將導致芯片在使用過程中出現一系列不受使用方控制的安全問題。
目前通常采用基于旁路分析的方法來實現硬件木馬的監(jiān)測。但是該類方法存在以下缺陷:(1)監(jiān)測的準確性容易受到制造工藝擾動的影響;(2)該類方法需要利用安全芯片(已知無木馬的芯片)進行比對,但安全芯片一般很難獲得。
另外,工藝型硬件木馬通過改變某些器件的類型或者工藝參數來改變芯片的電氣參數或縮短其使用壽命,其觸發(fā)一般是一個十分緩慢的過程,因此在芯片測試階段進行若干小時的測試并不能完全保證監(jiān)測出來,而需要對目標芯片進行長時間的實時監(jiān)控,其監(jiān)測效率極度低下。
技術實現要素:
基于此,有必要針對傳統硬件木馬監(jiān)測方法應用于工藝型硬件木馬監(jiān)測時,存在監(jiān)測結果不準確且監(jiān)測效率低下的問題,提供一種監(jiān)測結果準確且監(jiān)測效率高的工藝型硬件木馬監(jiān)測方法與裝置。
一種工藝型硬件木馬監(jiān)測方法,包括步驟:
確定待測芯片中關鍵內部節(jié)點以及每個關鍵內部節(jié)點對應的電參數參考值;
獲取外部測試使能信號,并根據外部測試使能信號,確定關鍵內部節(jié)點的測試序列;
根據測試序列,依次采集關鍵內部節(jié)點的電參數;
將采集的每個關鍵內部節(jié)點的電參數與對應的電參數參考值比較;
計數關鍵內部節(jié)點中存在電參數偏離對應電參數參考值的次數;
當連續(xù)計數次數大于預設次數閾值時,判定待測芯片存在木馬。
一種工藝型硬件木馬監(jiān)測裝置,包括依次連接的測試序列生成模塊、信號傳感模塊、測試反饋模塊以及木馬判定模塊,信號傳感模塊與待測芯片中關鍵內部節(jié)點連接,測試反饋模塊存儲有待測芯片中關鍵內部節(jié)點對應的電參數參考值;
測試序列生成模塊用于接收外部測試使能信號,并根據外部測試使能信號,確定關鍵內部節(jié)點的測試序列,信號傳感模塊用于根據測試序列,依次采集關鍵內部節(jié)點的電參數,測試反饋模塊用于將采集的每個關鍵內部節(jié)點的電參數與對應的電參數參考值比較,木馬判定模塊用于計數關鍵內部節(jié)點中存在電參數偏離對應電參數參考值的次數,并當連續(xù)計數次數大于預設次數閾值時,判定待測芯片存在木馬。
本發(fā)明工藝型硬件木馬監(jiān)測方法與裝置,確定待測芯片中關鍵內部節(jié)點以及每個關鍵內部節(jié)點對應的電參數參考值,根據外部測試使能信號,確定關鍵內部節(jié)點的測試序列,依次采集關鍵內部節(jié)點的電參數,將采集的電參數與對應的電參數參考值比較,計數關鍵內部節(jié)點中存在電參數偏離對應電參數參考值的次數,當連續(xù)計數次數大于閾值時判定待測芯片存在木馬。整個過程中,一方面對關鍵內部節(jié)點進行定時監(jiān)測,另一方面將采集到的電參數與對應的電參數參考值比較,充分考慮了工藝擾動的影響,能夠高效且準確對工藝型硬件木馬進行監(jiān)測。
附圖說明
圖1為本發(fā)明工藝型硬件木馬監(jiān)測方法第一個實施例的流程示意圖;
圖2為本發(fā)明工藝型硬件木馬監(jiān)測方法第二個實施例的流程示意圖;
圖3為本發(fā)明工藝型硬件木馬監(jiān)測裝置第一個實施例的結構示意圖;
圖4為本發(fā)明工藝型硬件木馬監(jiān)測裝置第二個實施例的結構示意圖;
圖5為本發(fā)明工藝型硬件木馬監(jiān)測裝置其中一個應用實例的結構示意圖。
具體實施方式
如圖1所示,一種工藝型硬件木馬監(jiān)測方法,包括步驟:
s100:確定待測芯片中關鍵內部節(jié)點以及每個關鍵內部節(jié)點對應的電參數參考值。
首先,需要對待測芯片的屬性參數進行了解,確定待測芯片中關鍵內部節(jié)點。待測芯片中關鍵內部節(jié)點是指待測芯片中整體功能、性能或可靠性相關的電路節(jié)點。確定待測芯片中關鍵內部節(jié)點的步驟包括遍歷待測芯片,查找待測芯片中整體功能、性能或可靠性相關的電路節(jié)點,將查找到的電路節(jié)點作為待測芯片中關鍵內部節(jié)點。簡單來說即對待測芯片進行一些常規(guī)的研究與測試,查找其中影響硬件整體功能、性能或可靠性的電路節(jié)點,并將這些節(jié)點標示出來。每個關鍵內部節(jié)點對應的電參數參考值可以通過各類儀器設備確定每個關鍵內部節(jié)點對應的電參數參考值,或直接基于歷史經驗數據獲取每個關鍵內部節(jié)點對應的電參數參考值。例如針對全新的待測芯片,可以采用各類儀器設備獲取每個關鍵內部節(jié)點對應的電參數參考值,針對歷史已經進行數據采集分析的待測芯片,可以直接讀取歷史記錄中已獲得的其每個關鍵內部節(jié)點對應的電參數參考值。更進一步來說,通過各類儀器設備確定每個關鍵內部節(jié)點對應的電參數參考值的過程具體包括:采用蒙特羅仿真算法,確定每個關鍵內部節(jié)點對應的電參數參考值。即采用蒙特羅仿真算法對待測芯片進行仿真處理,基于仿真處理之后的參數確定每個關鍵內部節(jié)點對應的電參數參考值。
s200:獲取外部測試使能信號,并根據外部測試使能信號,確定關鍵內部節(jié)點的測試序列。
一般來說關鍵內部節(jié)點有多個,每個關鍵內部節(jié)點都有自身相應的電參數參考值,在對整個待測芯片進行木馬監(jiān)測過程中,需要針對所有這些關鍵內部節(jié)點都進行電參數采集。為了高效且準確采集這些關鍵內部節(jié)點的電參數,需要針對這些關鍵內部節(jié)點測試順序進行設定。在這里,獲取外部測試使能信號,外側測試使能信號決定當前接入的關鍵內部節(jié)點,即決定當前采集電參數的關鍵內部節(jié)點。在實際應用中,可以采用包括含多個控制開關的開關組,其中每個控制開關的一端分別連接單個關鍵內部節(jié)點,每個控制開關的另一端與電參數采集組件連接,每個控制開關的控制端分別接收外部測試使能信號,這樣外部測試使能信號可以控制當前閉合的控制開關,從而實現對關鍵內部節(jié)點的有序電參數采集。
s300:根據測試序列,依次采集關鍵內部節(jié)點的電參數。
按照測試序列的順序,依次采集關鍵內部節(jié)點的電參數。非必要的,可以針對采集的不同關鍵內部節(jié)點的電參數分配識別標識,例如可以先對不同關鍵內部節(jié)點分配標識,如1、2、3……,在采集到對應的關鍵內部節(jié)點的電參數時,記錄為1關鍵內部節(jié)點的電參數、2關鍵內部節(jié)點的電參數、3關鍵內部節(jié)點的電參數……。
s400:將采集的每個關鍵內部節(jié)點的電參數與對應的電參數參考值比較。
在步驟s100確定不同關鍵內部節(jié)點對應的電參數參考值,在步驟s300采集不同關鍵內部節(jié)點的電參數,在這里,將真實采集值與參考值進行比較。
s500:計數關鍵內部節(jié)點中存在電參數偏離對應電參數參考值的次數。
電參數偏離對應電參數參考值偏離是指真實采集的電參數與對應電參數參考值不相等。具體來說,在實際應用可以設定一定的緩沖值,例如只有當偏離大于5%才判定為關鍵內部節(jié)點中存在電參數偏離對應電參數參考值。
s600:當連續(xù)計數次數大于預設次數閾值時,判定待測芯片存在木馬。
只有當連續(xù)多次測試都顯示有異常時,才判定待測芯片中存在工藝型硬件木馬,從而排除由于某些異常情況而造成的芯片誤動作,可以提高硬件木馬的真實檢測率。需要指出的這里是需要考慮是連續(xù)出現異常情況次數大于預設次數閾值,以預設次數閾值為3為例,當采用上述s100-s500步驟對待測芯片進行工藝型硬件木馬監(jiān)測過程,第一次監(jiān)測異常、第二次監(jiān)測異常、第三次監(jiān)測正常、第四次監(jiān)測異常時,其連續(xù)計數次數并未大于預設次數閾值3,此時不能判定待測芯片存在木馬。換言之,只有當第n次監(jiān)測異常、第n+1次監(jiān)測異常、第n+2次監(jiān)測異常時,才能判定待測芯片存在木馬。
本發(fā)明工藝型硬件木馬監(jiān)測方法,確定待測芯片中關鍵內部節(jié)點以及每個關鍵內部節(jié)點對應的電參數參考值,根據外部測試使能信號,確定關鍵內部節(jié)點的測試序列,依次采集關鍵內部節(jié)點的電參數,將采集的電參數與對應的電參數參考值比較,計數關鍵內部節(jié)點中存在電參數偏離對應電參數參考值的次數,當連續(xù)計數次數大于閾值時判定待測芯片存在木馬。整個過程中,一方面對關鍵內部節(jié)點進行定時監(jiān)測,另一方面將采集到的電參數與對應的電參數參考值比較,充分考慮了工藝擾動的影響,能夠高效且準確對工藝型硬件木馬進行監(jiān)測。
如圖2所示,在其中一個實施例中,步驟s400之后還包括:
s420:當關鍵內部節(jié)點中存在電參數偏離對應電參數參考值時,控制待測芯片重啟,并返回步驟s300。
當出現關鍵內部節(jié)點中存在電參數偏離對應電參數參考值時,表明當前已經監(jiān)測到一次待測芯片異常,為了確保監(jiān)測結果的準確,控制待測芯片重啟,重新執(zhí)行步驟s300~s600的步驟。
如圖3所示,一種工藝型硬件木馬監(jiān)測裝置,包括依次連接的測試序列生成模塊100、信號傳感模塊200、測試反饋模塊300以及木馬判定模塊400,信號傳感模塊200與待測芯片中關鍵內部節(jié)點連接,測試反饋模塊300存儲有待測芯片中關鍵內部節(jié)點對應的電參數參考值;
測試序列生成模塊100用于接收外部測試使能信號,并根據外部測試使能信號,確定關鍵內部節(jié)點的測試序列,信號傳感模塊200用于根據測試序列,依次采集關鍵內部節(jié)點的電參數,測試反饋模塊300用于將采集的每個關鍵內部節(jié)點的電參數與對應的電參數參考值比較,木馬判定模塊400用于計數關鍵內部節(jié)點中存在電參數偏離對應電參數參考值的次數,并當連續(xù)計數次數大于預設次數閾值時,判定待測芯片存在木馬。
測試序列生成模塊100用來產生自動檢測序列,當系統進行定期自檢時,外部輸入會產生一組特殊激勵信號,通過芯片輸入管腳,加載到該模塊上,從而使該模塊產生一個測試序列信號,并輸出給信號傳感模塊200。
信號傳感模塊200用來監(jiān)測原始電路(待測芯片)中某些關鍵內部節(jié)點上電壓、電流等參數的變化,該模塊由開關陣列和測量模塊兩部分組成,其中,開關陣列在測試序列的控制下,選擇將某一個內部節(jié)點的信號傳輸給測量模塊,而測量模塊則對該信號進行測量、數模轉換。
測試反饋模塊300用來檢測信號傳感模塊200所輸出的信號。測試反饋模塊300內部存儲了各個關節(jié)節(jié)點上電壓、電流等參數的參考值,它把信號傳感模塊200輸出的信號與這些參考值進行對比,當信號偏離參考值時,它輸出一個信號控制木馬判定模塊400進行工作。
木馬判定模塊400用來判斷是否真實存在工藝型硬件木馬。一旦測試反饋模塊300檢測到關鍵節(jié)點上的信號異常后,木馬判定模塊400將重啟芯片并再次進行測試,只有當連續(xù)三次測試都顯示有異常時,才判定芯片中存在工藝型硬件木馬,從而排除由于某些異常情況而造成的芯片誤動作,可以提高硬件木馬的真實檢測率。由于測試序列每個時鐘周期可以監(jiān)測一個關鍵節(jié)點上的信號,因此可以在很短的時間內完成所有關鍵節(jié)點的自檢測。
本發(fā)明工藝型硬件木馬監(jiān)測裝置,測試序列生成模塊100接收外部測試使能信號,并根據外部測試使能信號,確定關鍵內部節(jié)點的測試序列,信號傳感模塊200根據測試序列,依次采集關鍵內部節(jié)點的電參數,測試反饋模塊300將采集的每個關鍵內部節(jié)點的電參數與對應的電參數參考值比較,木馬判定模塊400計數關鍵內部節(jié)點中存在電參數偏離對應電參數參考值的次數,并當連續(xù)計數次數大于預設次數閾值時,判定待測芯片存在木馬。整個過程中,一方面對關鍵內部節(jié)點進行定時監(jiān)測,另一方面將采集到的電參數與對應的電參數參考值比較,充分考慮了工藝擾動的影響,能夠高效且準確對工藝型硬件木馬進行監(jiān)測。
在其中一個實施例中,信號傳感模塊200包括相互連接的開關陣列單元和測量單元,開關陣列單元與測試序列生成模塊100連接,測量單元與測試反饋模塊300連接,開關陣列單元還與待測芯片中關鍵內部節(jié)點連接,開關陣列單元用于根據測試序列,選擇接入的關鍵內部節(jié)點,測量單元用于采集接入的關鍵內部節(jié)點的電參數。
如圖4所示,在其中一個實施例中,工藝型硬件木馬監(jiān)測裝置還包括測試使能信號生成模塊500,測試使能信號生成模塊500與測試序列生成模塊100連接。
在其中一個實施例中,測試使能信號生成模塊500包括時鐘單元。
測試使能信號生成模塊500主要用于在時鐘信號的控制下,定時向待測芯片發(fā)送測試使能信號,從而使得測試序列生成模塊100產生測試序列。
在其中一個實施例中,木馬判定模塊400還用于當測試反饋模塊300監(jiān)測到關鍵內部節(jié)點中存在電參數偏離對應電參數參考值時,控制待測芯片重啟。
下面將采用具體應用實例,并結合附圖5對本發(fā)明工藝型硬件木馬監(jiān)測裝置的工作過程及其效果進一步說明。
在該具體應用實例中,本發(fā)明工藝型硬件木馬監(jiān)測裝置的工作過程包括如下步驟:
(1)確定關鍵節(jié)點
明確待測芯片原始電路中的關鍵內部節(jié)點。關鍵內部節(jié)點指的是與芯片整體功能、性能或可靠性密切相關的電路節(jié)點,一旦這些節(jié)點上的電參數發(fā)生變化,將導致芯片無法正常工作。
(2)嵌入片上監(jiān)測電路
往待測芯片中嵌入片上監(jiān)測電路,該電路由測試序列生成、信號傳感、測試反饋和木馬判定四個部分組成,如圖5中所示。
(3)確定各關鍵節(jié)點電參數的參考值
利用仿真手段,確定在不同工藝角下,各個關鍵節(jié)點上電壓、電流等參數的參考值,并將這些參考值存入測試反饋的內部存儲器中。
(4)定時生成測試序列
在時鐘信號的控制下,“外部測試使能信號生成”電路定時向待測芯片發(fā)送測試使能信號,從而使得測試序列生成產生測試序列信號。
(5)信號傳感與反饋
信號傳感在測試序列的控制下,選擇對某一個內部節(jié)點的信號進行測量、數模轉換。測試反饋把信號傳感輸出的信號與其內部預先存儲的參考值進行對比,當信號偏離參考值時,它控制木馬判定進行工作。
(6)木馬判定
一旦測試反饋檢測到關鍵節(jié)點上的信號異常后,木馬判定將重啟芯片并再次進行測試,當連續(xù)三次測試都顯示有異常時,判定芯片中存在工藝型硬件木馬,從而排除由于某些異常情況而造成的芯片誤動作,提高硬件木馬的真實檢測率。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。