亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于三模冗余的防御硬件木馬威脅的電路安全性設(shè)計(jì)方法

文檔序號(hào):8396041閱讀:585來源:國知局
基于三模冗余的防御硬件木馬威脅的電路安全性設(shè)計(jì)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于三模冗余的防御硬件木馬威脅的電路設(shè)計(jì)方法,尤其是一種在無法對某些電路節(jié)點(diǎn)的安全性進(jìn)行測試時(shí),還能保證電路功能正確的電路安全性設(shè)計(jì)方法。
【背景技術(shù)】
[0002]隨著集成電路產(chǎn)業(yè)朝著全球合作的趨勢發(fā)展,在集成電路產(chǎn)業(yè)鏈環(huán)節(jié)上,有越來越多的第三方參與,使得集成電路在設(shè)計(jì)與制造過程中不受控的因素越來越多,由此引發(fā)了對集成電路安全性的擔(dān)憂。由于第三方不受控環(huán)節(jié)的參與,集成電路在設(shè)計(jì)與制造過程中很容易遭到惡意修改,并被植入硬件木馬。這些硬件木馬有的會(huì)改變電路的功能,降低電路的性能,縮短電路的壽命,甚至有的會(huì)泄露電路內(nèi)部的機(jī)密信息,從而嚴(yán)重影響集成電路以及使用該集成電路的信息化設(shè)備的安全性,如斯諾登棱鏡門事件。
[0003]目前已經(jīng)有很多針對集成電路內(nèi)可能含有的硬件木馬的檢測方法,如旁路分析檢測,主要靠測量電路的電流,頻率,路徑延遲等信息來判斷電路內(nèi)部是否含有硬件木馬。也有依靠邏輯測試的方法,即產(chǎn)生各種各樣的測試向量,通過觀測測試向量的輸出是否滿足預(yù)期值來判斷電路內(nèi)部是否含有硬件木馬。這類方法能夠在一定程度上,對某一類特定的硬件木馬進(jìn)行檢測,但是受到很多的客觀因素,如工藝漂移,環(huán)境變化等的制約,因此尚無法實(shí)用。
[0004]雖然硬件木馬的種類千變?nèi)f化,但是其對電路造成的影響的卻可以歸納為有限的幾類:改變邏輯值和改變電路的參數(shù)。其中又以改變電路的邏輯值最難檢測,因?yàn)殡y以找到其觸發(fā)條件。如何在設(shè)計(jì)的階段就考慮到硬件木馬有可能會(huì)改變電路內(nèi)部節(jié)點(diǎn)的邏輯值的情況發(fā)生,并且在設(shè)計(jì)過程中采用特殊的電路設(shè)計(jì)步驟,從而使得電路即使被植入硬件木馬,在某一條件下會(huì)改變電路內(nèi)部某一節(jié)點(diǎn)的值,但也不會(huì)影響到電路最終的功能輸出,是一個(gè)能有效防御硬件木馬的方法。

【發(fā)明內(nèi)容】

[0005]基于此,本發(fā)明提供一種基于三模冗余的防御硬件木馬威脅的電路安全性設(shè)計(jì)方法,包括如下步驟:
步驟(a),在完成原始電路的設(shè)計(jì)之后,選取需要抵御硬件木馬威脅的部分或者全部的電路節(jié)點(diǎn)作為初始目標(biāo)節(jié)點(diǎn),這些初始目標(biāo)節(jié)點(diǎn)又稱作初始輸出節(jié)點(diǎn);
步驟(b),將這些初始輸出節(jié)點(diǎn)作為終點(diǎn),向扇入(fan-1n)的路徑方向進(jìn)行回溯,確定需要進(jìn)行三模冗余的邏輯路徑,該邏輯路徑的起點(diǎn)即作為初始輸入節(jié)點(diǎn);
步驟(c),將初始輸入節(jié)點(diǎn)與初始輸出節(jié)點(diǎn)進(jìn)行篩選,去除其中的冗余輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)對,得到最終需要進(jìn)行三模冗余設(shè)計(jì)邏輯路徑的輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)對;
d)、將需要進(jìn)行三模冗余設(shè)計(jì)的邏輯路徑,按照其中包含的組合邏輯和時(shí)序邏輯的區(qū)分,分別進(jìn)行三模冗余設(shè)計(jì),使得經(jīng)過三模冗余設(shè)計(jì)的邏輯路徑能夠抵御硬件木馬的潛在威脅。
[0006]進(jìn)一步地,步驟(a)中,在選擇初始目標(biāo)節(jié)點(diǎn),即初始輸出節(jié)點(diǎn)時(shí),有以下選擇方法:
al),在最終的電路面積不受限制時(shí),將電路所有的節(jié)點(diǎn)都選擇為初始目標(biāo)節(jié)點(diǎn),即進(jìn)行全電路的三模冗余設(shè)計(jì);
a2),將各種電路測試方法覆蓋不到的電路節(jié)點(diǎn)選擇為初始目標(biāo)節(jié)點(diǎn);a3),將電路節(jié)點(diǎn)的高低電平翻轉(zhuǎn)概率小于設(shè)定閾值的所有電路節(jié)點(diǎn)選擇為初始目標(biāo)節(jié)點(diǎn)。
[0007]進(jìn)一步地,步驟(b)中,確定需要進(jìn)行三模冗余設(shè)計(jì)的邏輯路徑的輸入節(jié)點(diǎn)時(shí),有以下選擇方法:
bl)、可以選擇扇入方向上,電路輸入管腳作為輸入節(jié)點(diǎn); b2)、可以選擇扇入方向上任一電路節(jié)點(diǎn),作為輸入節(jié)點(diǎn)。
[0008]進(jìn)一步地,步驟(C)中,在去除冗余輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)對時(shí),當(dāng)某一輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間的路徑,與另一輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間路徑有部分路徑發(fā)生重合時(shí),則去掉重合邏輯路徑對應(yīng)的輸入與輸出節(jié)點(diǎn),保留能夠覆蓋該兩條邏輯路徑的輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn),從而得到最終需要進(jìn)行三模冗余邏輯路徑的輸入與輸出節(jié)點(diǎn)對。
[0009]進(jìn)一步地,步驟(d)中,輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)間的邏輯路徑,按照其中包含的組合邏輯和時(shí)序邏輯的區(qū)分,分別進(jìn)行三模冗余設(shè)計(jì),具體方法為:
步驟(d)中,當(dāng)輸出節(jié)點(diǎn)為組合邏輯單元輸出,且輸出節(jié)點(diǎn)與輸入節(jié)點(diǎn)之間的路徑是純組合邏輯時(shí),則將此組合邏輯路徑額外復(fù)制兩條,形成三條完全一樣的組合邏輯路徑,此三條組合邏輯路徑共享相同的輸入節(jié)點(diǎn),且此三條組合邏輯路徑的輸出連接到一個(gè)三輸入的判決器;該判決器用于實(shí)現(xiàn)少數(shù)服從多數(shù)的功能,即判決器的三個(gè)輸入中有任意兩個(gè)或兩個(gè)以上的輸入值相同,則判決器的輸出即和此多數(shù)輸入值相同。
[0010]步驟(d)中,當(dāng)輸出節(jié)點(diǎn)為時(shí)序邏輯單元輸出,且輸出節(jié)點(diǎn)與輸入節(jié)點(diǎn)之間只存在一個(gè)時(shí)序邏輯單元時(shí),則將輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)之間的邏輯路徑復(fù)制二條,此三條邏輯路徑共享相同的輸入節(jié)點(diǎn),此三條完全相同的邏輯路徑的輸出連接一個(gè)三輸入的判決器;該判決器用于實(shí)現(xiàn)少數(shù)服從多數(shù)的功能,即判決器的三個(gè)輸入中有任意兩個(gè)或兩個(gè)以上的輸入值相同,則判決器的輸出即和此多數(shù)輸入值相同;
時(shí)序邏輯單元的時(shí)鐘信號(hào)也需要進(jìn)行三模冗余設(shè)計(jì),時(shí)序邏輯單元對應(yīng)的時(shí)鐘信號(hào)復(fù)制三條,每一路的時(shí)序邏輯單元都有單獨(dú)的時(shí)鐘信號(hào)與其相連接。
[0011]步驟(d)中,當(dāng)輸出節(jié)點(diǎn)與輸入節(jié)點(diǎn)之間存在兩個(gè)或者兩個(gè)以上的時(shí)序邏輯單元時(shí);首先將輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)之間的邏輯路徑復(fù)制二條,此三條邏輯路徑共享相同的輸入節(jié)點(diǎn);將時(shí)序邏輯單元對應(yīng)的時(shí)鐘信號(hào)復(fù)制三條,分別連接復(fù)制以后三條邏輯路徑上的時(shí)序邏輯單元的時(shí)鐘輸入端;
若時(shí)序邏輯單元的輸出不是最后的輸出節(jié)點(diǎn),則在此時(shí)序邏輯單元的輸出端連接一個(gè)三輸入判決器,且在每一條邏輯路徑上的三輸入判決器的另外兩個(gè)輸入均連接另外兩條邏輯路徑上的時(shí)序邏輯單元的輸出;
若時(shí)序邏輯單元的輸出是最后的輸出節(jié)點(diǎn),則三條邏輯路徑中的各時(shí)序邏輯單元的輸出直接連接到一個(gè)三輸入的判決器; 所述判決器用于實(shí)現(xiàn)少數(shù)服從多數(shù)的功能,即判決器的三個(gè)輸入中有任意兩個(gè)或兩個(gè)以上的輸入值相同,則判決器的輸出即和此多數(shù)輸入值相同。
[0012]本發(fā)明的技術(shù)效果在于:
即使電路中的某些電路節(jié)點(diǎn)受到植入硬件木馬的影響而在某些情況下改變邏輯功能時(shí),也可以通過三模冗余的方法來消除這些錯(cuò)誤邏輯值的影響,從而保證電路功能的正確。且相比于一般的硬件木馬植入,攻擊者需要在電路內(nèi)部更多的節(jié)點(diǎn)植入硬件木馬才有可能使電路無法正常工作,但這類大規(guī)模的硬件木馬植入,會(huì)造成版圖改變,以及直流參數(shù)的變化過大,很容易被常規(guī)的硬件木馬檢測方法所檢測出來。
【附圖說明】
[0013]圖1為本發(fā)明在一實(shí)施例中的流程示意圖。
[0014]圖2為本發(fā)明去除冗余輸入與輸出節(jié)點(diǎn)對方法I的示意圖。
[0015]圖3為本發(fā)明去除冗余輸入與輸出節(jié)點(diǎn)對方法2的示意圖。
[0016]圖4為針對輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間是純組合邏輯情形下的三模冗余設(shè)計(jì)示意圖。
[0017]圖5為三模冗余設(shè)計(jì)中所使用的判決器的結(jié)構(gòu)示意圖。
[0018]圖6為針對輸出節(jié)點(diǎn)是時(shí)序邏輯單元的輸出,且輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間只有一個(gè)時(shí)序邏輯單元情形下的三模冗余設(shè)計(jì)示意圖。
[0019]圖7為輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間存在多個(gè)時(shí)序邏輯單元情形下的三模冗余設(shè)計(jì)示意圖。
【具體實(shí)施方式】
[0020]隨著集成電路的集成度越來越高,規(guī)模越來越大,想要在規(guī)定的時(shí)間內(nèi)對電路完成測試覆蓋率100%的設(shè)計(jì)變得極為困難。
[0021]無論是功能測試覆蓋率,還是結(jié)構(gòu)測試(DFT)覆蓋率都難以達(dá)到100%。
[0022]這就意味著,當(dāng)電路制造完畢以后,電路內(nèi)部的有些電路節(jié)點(diǎn),無法被測試到,即對這一部分電路節(jié)點(diǎn)在電路工作過程的具體情況無法預(yù)測和掌握。
[0023]當(dāng)這一部分電路節(jié)點(diǎn)被人用來作為硬件木馬的攻擊對象后,也無法進(jìn)行任何測試來判斷該電路節(jié)點(diǎn)是否存在潛在威脅?;蛘呒词拱l(fā)生了功能性的故障,也無法追蹤和調(diào)試到底是由哪里引起的。
[0024]集成電路在設(shè)計(jì)與制造過程中被植入硬件木馬后,當(dāng)硬件木馬在達(dá)到某一條件下被觸發(fā)時(shí)會(huì)改變集成電路內(nèi)部電路節(jié)點(diǎn)的值,也可以被理解成發(fā)生突發(fā)性的故障。
[0025]這就給該電路的安全可靠性帶來了嚴(yán)重的影響,也間接影響到使用該集成電路的各種信息化設(shè)計(jì)的安全與可靠。
[0026]本發(fā)明主要針對當(dāng)硬件木馬的影響目標(biāo)是這類無法測試到的節(jié)點(diǎn)的情況下,對該類電路節(jié)點(diǎn)進(jìn)行三模冗余的設(shè)計(jì),使得萬一這一個(gè)節(jié)點(diǎn)受到硬件木馬的影響后,還有另外兩個(gè)執(zhí)行相同功能的冗余節(jié)點(diǎn)可以正常工作,從而消除硬件木馬對該電路節(jié)點(diǎn)的潛在威脅。
[0027]三模冗余系統(tǒng)中某一路操作執(zhí)行時(shí)發(fā)生故障,只要另外兩路不發(fā)生同樣的故障,整個(gè)系統(tǒng)的還是可以執(zhí)行正確的功能。設(shè)計(jì)理念是在系統(tǒng)執(zhí)行某一操作時(shí),有另外兩個(gè)重復(fù)的系統(tǒng)或者模塊在執(zhí)行相同的操作,以三個(gè)系統(tǒng)或者模塊中多數(shù)相同的輸出作為判決系統(tǒng)的正確輸出。
[0028]下面結(jié)合具體附圖和實(shí)施例對本發(fā)明作進(jìn)一步說明。
[0029]當(dāng)完成電路的功能設(shè)計(jì)以后,按照圖1中SlOO所述,選擇需要抵御硬件木馬威脅的電路節(jié)點(diǎn)作為初始目標(biāo)節(jié)點(diǎn),即三模冗余后的輸出節(jié)點(diǎn)。
[0030]此處選擇目標(biāo)節(jié)點(diǎn)的規(guī)則,是根據(jù)在電路進(jìn)行完可測性設(shè)計(jì)(DFT)后,將電路中可測性設(shè)計(jì)沒有覆蓋到的電路節(jié)點(diǎn)全部找出。所有沒有被DFT覆蓋到的電路節(jié)點(diǎn),可以利用Synopsys公司的TetraMax工具來報(bào)出。
[0031]將報(bào)出來的電路節(jié)點(diǎn),按照選擇的節(jié)點(diǎn)是時(shí)序邏輯單元的輸出,還是組合邏輯單元的輸出分成兩類。
[0032]在選取初始目標(biāo)節(jié)點(diǎn)時(shí),還可以將電路節(jié)點(diǎn)的高低電平翻轉(zhuǎn)概率小于設(shè)定閾值的所有電路節(jié)點(diǎn)選擇為初始目標(biāo)節(jié)點(diǎn);或者,如最終的電路面積不受限制(即電路面積大一點(diǎn)也無所謂,設(shè)計(jì)對于電路面積不限定必須要小于多少尺寸),可以將電路所有的節(jié)點(diǎn)都選擇為目標(biāo)節(jié)點(diǎn),即進(jìn)行全電路的三模冗余設(shè)計(jì)。
[0033]當(dāng)完成圖1中SlOO的步驟,即選擇完初
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1