本申請(qǐng)涉及芯片設(shè)計(jì)技術(shù)領(lǐng)域,尤其涉及一種抗硬件木馬芯片設(shè)計(jì)方法及系統(tǒng)。
背景技術(shù):
芯片設(shè)計(jì)一般包括集成電路設(shè)計(jì)和電路封裝兩部分,一般是先根據(jù)產(chǎn)品需求通過(guò)集成電路的研發(fā)完成集成電路的設(shè)計(jì),然后將設(shè)計(jì)完成的集成電路進(jìn)行封裝,完成芯片的設(shè)計(jì)。隨著ip復(fù)用技術(shù)的發(fā)展,集成電路的很多功能模塊也可能是設(shè)計(jì)者直接從第三方的ip設(shè)計(jì)公司購(gòu)入,并非完全自行設(shè)計(jì)。這種整體設(shè)計(jì)與模塊設(shè)計(jì)相互獨(dú)立,以及設(shè)計(jì)和生產(chǎn)分離的產(chǎn)業(yè)模式。
但是上述的設(shè)計(jì)模式?jīng)Q定了芯片在電路設(shè)計(jì)、生產(chǎn)制造以及使用過(guò)程中都會(huì)存在安全隱患。例如,在設(shè)計(jì)過(guò)程中,ip提供方可能在設(shè)計(jì)者不知情的情況下,在提供的ip模塊中植入硬件木馬。在生產(chǎn)過(guò)程中,生產(chǎn)者也可能會(huì)利用芯片集成電路版圖中存在的空余空間,在設(shè)計(jì)者不知情的情況下,在芯片生產(chǎn)過(guò)程中植入木馬。在使用過(guò)程中,用戶升級(jí)固件程序時(shí)也有可能在存儲(chǔ)器中被植入木馬。硬件木馬是指在集成電路設(shè)計(jì)或制造過(guò)程中對(duì)電路的惡意修改,使芯片在某些條件下失效,或從芯片中竊取信息。硬件木馬可以獨(dú)立完成攻擊功能,如泄露信息給攻擊者、改變電路功能、甚至直接破壞電路;也可以在上層惡意軟件的協(xié)同配合下完成類似功能。硬件木馬能夠?qū)崿F(xiàn)對(duì)專用集成電路(asic)、微處理器、微控制器、網(wǎng)絡(luò)處理器、數(shù)字信號(hào)處理器等硬件的修改以及對(duì)fpga比特流的修改這些木馬電路可以在芯片工作時(shí)竊聽(tīng)并傳播其內(nèi)部信息;或者在芯片中設(shè)置某種開關(guān),在某些特定的指令或外部條件下,造成芯片意外的報(bào)廢。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N抗硬件木馬芯片設(shè)計(jì)方法及系統(tǒng),以解決傳統(tǒng)的芯片設(shè)計(jì)使得芯片易被硬件木馬攻擊的問(wèn)題。
一種抗硬件木馬芯片設(shè)計(jì)方法,所述方法包括:獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率;將所述轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合;從所述第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合;根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。
優(yōu)選地,所述獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率包括:獲得所述集成電路每個(gè)內(nèi)部節(jié)點(diǎn)的信號(hào)概率;據(jù)所述信號(hào)概率獲得集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率。
優(yōu)選地,所述將轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合,包括:將所述內(nèi)部節(jié)點(diǎn)根據(jù)轉(zhuǎn)換概率按照升序進(jìn)行排序;選擇出所述轉(zhuǎn)換概率小于預(yù)設(shè)轉(zhuǎn)換概率閾值的節(jié)點(diǎn),構(gòu)成第一節(jié)點(diǎn)集合。
優(yōu)選地,所述從第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合,包括:獲取所述第一節(jié)點(diǎn)集合中最小信號(hào)概率的節(jié)點(diǎn),構(gòu)成第三節(jié)點(diǎn)集合;獲取所述第三節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)的邏輯深度;將所述第三節(jié)點(diǎn)集合中的節(jié)點(diǎn)按照節(jié)點(diǎn)的邏輯深度進(jìn)行排序,構(gòu)成第四節(jié)點(diǎn)集合;從所述第四節(jié)點(diǎn)集合中選擇出邏輯深度最小的節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合。
優(yōu)選地,所述根據(jù)第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門,包括:如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量等于1,則直接在內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門;或者,但如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量大于1,則在對(duì)應(yīng)的扇出邏輯錐中節(jié)點(diǎn)數(shù)量最多的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。
優(yōu)選地,根據(jù)內(nèi)部節(jié)點(diǎn)邏輯概率中高電平信號(hào)的概率與低電平信號(hào)的概率,選擇插入與邏輯門或者或邏輯門。
一種抗硬件木馬芯片設(shè)計(jì)系統(tǒng),所述系統(tǒng)包括:獲取模塊,用于獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率;第一預(yù)處理模塊,用于將所述轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合;第二預(yù)處理模塊,用于從所述第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合;插入處理模塊,用于根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。
優(yōu)選地,所述第一預(yù)處理模塊包括:第一排序單元,用于將所述內(nèi)部節(jié)點(diǎn)根據(jù)轉(zhuǎn)換概率按照升序進(jìn)行排序;第一選擇單元,用于選擇出所述轉(zhuǎn)換概率小于預(yù)設(shè)轉(zhuǎn)換概率閾值的節(jié)點(diǎn),構(gòu)成第一節(jié)點(diǎn)集合。
優(yōu)選地,所述第二預(yù)處理模塊包括:第一獲取單元,用于獲取所述第一節(jié)點(diǎn)集合中最小信號(hào)概率的節(jié)點(diǎn),構(gòu)成第三節(jié)點(diǎn)集合;第二獲取單元,用于獲取所述第三節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)的邏輯深度;第二排序單元,用于將所述第三節(jié)點(diǎn)集合中的節(jié)點(diǎn)按照節(jié)點(diǎn)的邏輯深度進(jìn)行排序,構(gòu)成第四節(jié)點(diǎn)集合;第二選擇單元,用于從所述第四節(jié)點(diǎn)集合中選擇出邏輯深度最小的節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合。
優(yōu)選地,所述插入處理模塊包括:第三獲取單元,用于獲取所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量;處理單元,用于根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門,如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量等于1,則直接在內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門;或者,但如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量大于1,則在對(duì)應(yīng)的扇出邏輯錐中節(jié)點(diǎn)數(shù)量最多的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。
由上述技術(shù)方案可見(jiàn),本申請(qǐng)實(shí)施例提供的一種抗硬件木馬芯片設(shè)計(jì)方法及系統(tǒng),包括:獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率;將所述轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合;從所述第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合;根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。當(dāng)選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門后,提高了對(duì)應(yīng)節(jié)點(diǎn)的轉(zhuǎn)換概率,對(duì)應(yīng)的整個(gè)集成電路中的轉(zhuǎn)換概率也進(jìn)一步提高,因此當(dāng)硬件木馬選擇節(jié)點(diǎn)插入時(shí),增加了硬件木馬被激活的概率,因此使得硬件木馬找不到合適的插入點(diǎn)插入到集成電路中,降低了集成電路被硬件木馬攻擊的風(fēng)險(xiǎn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)?zhí)峁┑目褂布抉R芯片設(shè)計(jì)方法一個(gè)實(shí)施例的流程圖;
圖2為本申請(qǐng)?zhí)峁┑倪x擇內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門一個(gè)實(shí)施例流程圖;
圖3為本申請(qǐng)?zhí)峁┑囊环N與邏輯門的結(jié)構(gòu)示意圖;
圖4為本申請(qǐng)?zhí)峁┑囊环N或邏輯門的結(jié)構(gòu)示意圖;
圖5為本申請(qǐng)?zhí)峁┑目褂布抉R芯片設(shè)計(jì)系統(tǒng)的一個(gè)實(shí)施例的示意圖。
具體實(shí)施方式
參見(jiàn)圖1,為本申請(qǐng)?zhí)峁┑目褂布抉R芯片設(shè)計(jì)方法一個(gè)實(shí)施例的流程圖。如圖1所示,所述方法包括:
s101,獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率。
集成電路內(nèi)包含有很多內(nèi)部節(jié)點(diǎn),計(jì)算出每個(gè)內(nèi)部節(jié)點(diǎn)的信號(hào)概率,所述信號(hào)概率包括輸入信號(hào)概率和輸出信號(hào)概率。對(duì)于一個(gè)集成電路的中邏輯門,一般會(huì)已知最初始的內(nèi)部節(jié)點(diǎn)的輸入概率,通過(guò)輸入概率可以計(jì)算出對(duì)應(yīng)邏輯門的輸出概率。例如一個(gè)2輸入與門的兩個(gè)輸入內(nèi)部節(jié)點(diǎn)的信號(hào)已知,其中高電平信號(hào)的概率為0.5,則輸出端輸出高電平的信號(hào)的信號(hào)概率為0.5*0.5=0.25,則輸出端信號(hào)為低電平的信號(hào)概率為1-0.25=0.75,輸出端低電平信號(hào)和高電平信號(hào)的概率統(tǒng)稱為2輸入與門的輸出端內(nèi)部節(jié)點(diǎn)的信號(hào)概率。根據(jù)所述信號(hào)概率計(jì)算計(jì)算集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率則需要通過(guò)上述提到的兩個(gè)信號(hào)概率,同樣以上面為例,如果輸出端內(nèi)部節(jié)點(diǎn)的高電平信號(hào)和低電平信號(hào)的信號(hào)概率分別為0.25和0.75,則輸出端內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率為0.25*0.75。
因此,如果集成電路結(jié)構(gòu)已知,各個(gè)輸入端口的信號(hào)概率已知,可以根據(jù)電路結(jié)構(gòu)計(jì)算電路中所有內(nèi)部節(jié)點(diǎn)的信號(hào)概率,同樣可以根據(jù)內(nèi)部節(jié)點(diǎn)的信號(hào)概率計(jì)算相應(yīng)內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率。
s102,將所述轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合。
由s101可以計(jì)算出集成電路中所有內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率,統(tǒng)計(jì)所有內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率進(jìn)行排序,本實(shí)施例中采用升序排序。將排序后的轉(zhuǎn)換概率與一預(yù)設(shè)轉(zhuǎn)換概率進(jìn)行比較,如果找到其中一個(gè)轉(zhuǎn)換概率大于或等于所述預(yù)設(shè)轉(zhuǎn)換概率,則將該轉(zhuǎn)換概率以前的所有轉(zhuǎn)換概率對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)進(jìn)行標(biāo)記,構(gòu)成第一節(jié)點(diǎn)集合。對(duì)于獲取低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)不限于上述提到的對(duì)內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率進(jìn)行升序排序,也可以降序排序或者挨個(gè)進(jìn)行比較都可以實(shí)現(xiàn),在此不再贅述。
s103,從所述第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合。
首先從s102中構(gòu)成的第一節(jié)點(diǎn)集合中選擇出信號(hào)概率最小的內(nèi)部節(jié)點(diǎn),選擇信號(hào)概率最小的內(nèi)部節(jié)點(diǎn)也同樣可以采用升序或降序的排列方式將第一節(jié)點(diǎn)集合中的內(nèi)部節(jié)點(diǎn)的信號(hào)概率進(jìn)行排序,獲得最小輸入概率,將最小輸入概率對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)選擇出構(gòu)成第三節(jié)點(diǎn)集合。
然后獲取第三節(jié)點(diǎn)集合中的內(nèi)部節(jié)點(diǎn)邏輯深度,將第三節(jié)點(diǎn)集合中的內(nèi)部節(jié)點(diǎn)按照節(jié)點(diǎn)的邏輯深度進(jìn)行排序,構(gòu)成第四節(jié)點(diǎn)集合;從所述第四節(jié)點(diǎn)集合中選擇出邏輯深度最小的節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合。本實(shí)施例中對(duì)第三節(jié)點(diǎn)集合中的內(nèi)部節(jié)點(diǎn)的邏輯深度進(jìn)行排序和從第四節(jié)點(diǎn)集合中選出邏輯深度最小的內(nèi)部節(jié)點(diǎn),均可以采用升序或者降序的方式。
s104,根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。
如圖2所示,首先獲取所述第二節(jié)點(diǎn)結(jié)合中內(nèi)部節(jié)點(diǎn)的數(shù)量,如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量等于1,則直接在內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。但如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量大于1,則在對(duì)應(yīng)的扇出邏輯錐中節(jié)點(diǎn)數(shù)量最多的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。判斷內(nèi)部節(jié)點(diǎn)插入何種邏輯門則是根據(jù)內(nèi)部節(jié)點(diǎn)邏輯概率中高電平信號(hào)的概率與低電平信號(hào)的概率,選擇插入與邏輯門或者或邏輯門。
如果內(nèi)部節(jié)點(diǎn)的高電平信號(hào)概率大于低電平信號(hào)的概率,則插入與邏輯門,如圖3所示為本申請(qǐng)?zhí)峁┑囊环N與邏輯門的結(jié)構(gòu)示意圖。反之,如果內(nèi)部節(jié)點(diǎn)的高電平信號(hào)概率小于低電平信號(hào)的概率,則插入或邏輯門,如圖4所示,為本申請(qǐng)?zhí)峁┑囊环N或邏輯門的結(jié)構(gòu)示意圖。
本申請(qǐng)實(shí)施例提供的與邏輯門包括一個(gè)與門和一個(gè)掃描觸發(fā)器,或邏輯門包括一個(gè)或門和一個(gè)掃描觸發(fā)器。如圖3和圖4中所示,假設(shè)內(nèi)部節(jié)點(diǎn)a的轉(zhuǎn)換概率遠(yuǎn)遠(yuǎn)小于預(yù)設(shè)轉(zhuǎn)換概率,如果在內(nèi)部節(jié)點(diǎn)a上插入與邏輯門或者或邏輯門雖然集成電路中存在的與或結(jié)構(gòu)的輸出轉(zhuǎn)換概率被提高,但是內(nèi)部節(jié)點(diǎn)a的轉(zhuǎn)換概率并沒(méi)有任何提高。假設(shè)內(nèi)部節(jié)點(diǎn)b為內(nèi)部節(jié)點(diǎn)a的最小輸入信號(hào)的輸入節(jié)點(diǎn),在節(jié)點(diǎn)b插入與邏輯門或者或邏輯門,則可以提高節(jié)點(diǎn)a的轉(zhuǎn)換概率。當(dāng)檢測(cè)硬件木馬時(shí),選擇信號(hào)設(shè)置為高電平,選擇外部觸發(fā)器的輸出信號(hào)作為第一信號(hào)輸入,這樣就可以將節(jié)點(diǎn)a的轉(zhuǎn)換概率提高預(yù)設(shè)轉(zhuǎn)換概率的值。當(dāng)集成電路需要運(yùn)行時(shí),將選擇信號(hào)設(shè)置為低電平,則不會(huì)改變集成電路的任何邏輯功能。
由上述實(shí)施例可知,本申請(qǐng)實(shí)施例提供的一種抗硬件木馬芯片設(shè)計(jì)方法,包括:獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率;將所述轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合;從所述第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合;根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。當(dāng)選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門后,提高了對(duì)應(yīng)節(jié)點(diǎn)的轉(zhuǎn)換概率,對(duì)應(yīng)的整個(gè)集成電路中的轉(zhuǎn)換概率也進(jìn)一步提高,因此當(dāng)硬件木馬選擇節(jié)點(diǎn)插入時(shí),增加了硬件木馬被激活的概率,因此使得硬件木馬找不到合適的插入點(diǎn)插入到集成電路中,降低了集成電路被硬件木馬攻擊的風(fēng)險(xiǎn)。
與上述實(shí)施例提供的一種抗硬件木馬芯片設(shè)計(jì)方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了一種抗硬件木馬芯片設(shè)計(jì)系統(tǒng)的實(shí)施例。
如圖5所示,所述系統(tǒng)包括:獲取模塊201、第一預(yù)處理模塊202、第二預(yù)處理模塊203和插入處理模塊204。所述獲取模塊201,用于獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率。所述第一預(yù)處理模塊202,用于將所述轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合。所述第二預(yù)處理模塊203,用于從所述第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合。所述插入處理模塊204,用于根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。
所述獲取模塊201包括:獲取單元和計(jì)算單元,所述獲取單元用于獲取集成電路中的內(nèi)部節(jié)點(diǎn),所述計(jì)算單元用于計(jì)算出內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率。
所述第一預(yù)處理模塊202包括:第一排序單元和第一選擇單元。所述第一排序單元,用于將所述內(nèi)部節(jié)點(diǎn)根據(jù)轉(zhuǎn)換概率按照升序進(jìn)行排序;所述第一選擇單元,用于選擇出所述轉(zhuǎn)換概率小于預(yù)設(shè)轉(zhuǎn)換概率閾值的節(jié)點(diǎn),構(gòu)成第一節(jié)點(diǎn)集合。
所述第二預(yù)處理模塊203包括:第一獲取單元、第二獲取單元、第二排序單元和第二選擇單元。所述第一獲取單元,用于獲取所述第一節(jié)點(diǎn)集合中最小信號(hào)概率的節(jié)點(diǎn),構(gòu)成第三節(jié)點(diǎn)集合;所述第二獲取單元,用于獲取所述第三節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)的邏輯深度;所述第二排序單元,用于將所述第三節(jié)點(diǎn)集合中的節(jié)點(diǎn)按照節(jié)點(diǎn)的邏輯深度進(jìn)行排序,構(gòu)成第四節(jié)點(diǎn)集合;所述第二選擇單元,用于從所述第四節(jié)點(diǎn)集合中選擇出邏輯深度最小的節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合。
所述插入處理模塊204包括:第三獲取單元和處理單元。所述第三獲取單元,用于獲取所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量;所述處理單元,用于根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門,如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量等于1,則直接在內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門;或者,但如果所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量大于1,則在對(duì)應(yīng)的扇出邏輯錐中節(jié)點(diǎn)數(shù)量最多的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。
由上述實(shí)施例可知,本申請(qǐng)實(shí)施例提供的一種抗硬件木馬芯片設(shè)計(jì)系統(tǒng),包括:獲取模塊201、第一預(yù)處理模塊202、第二預(yù)處理模塊203和插入處理模塊204。所述獲取模塊201用于獲取集成電路內(nèi)部節(jié)點(diǎn)的轉(zhuǎn)換概率;所述第一預(yù)處理模塊202將所述轉(zhuǎn)換概率低于預(yù)設(shè)轉(zhuǎn)換概率閾值的內(nèi)部節(jié)點(diǎn)構(gòu)成第一節(jié)點(diǎn)集合;所述第二預(yù)處理模塊203從所述第一節(jié)點(diǎn)集合中獲取最小信號(hào)概率且邏輯深度最小的內(nèi)部節(jié)點(diǎn)構(gòu)成第二節(jié)點(diǎn)集合;所述插入處理模塊204根據(jù)所述第二節(jié)點(diǎn)集合中內(nèi)部節(jié)點(diǎn)數(shù)量選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門。當(dāng)選擇對(duì)應(yīng)的內(nèi)部節(jié)點(diǎn)插入與邏輯門或者或邏輯門后,提高了對(duì)應(yīng)節(jié)點(diǎn)的轉(zhuǎn)換概率,對(duì)應(yīng)的整個(gè)集成電路中的轉(zhuǎn)換概率也進(jìn)一步提高,因此當(dāng)硬件木馬選擇節(jié)點(diǎn)插入時(shí),增加了硬件木馬被激活的概率,因此使得硬件木馬找不到合適的插入點(diǎn)插入到集成電路中,降低了集成電路被硬件木馬攻擊的風(fēng)險(xiǎn)。
本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例中的技術(shù)可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明實(shí)施例中的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說(shuō)明書中各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例中的說(shuō)明即可。
以上所述的本發(fā)明實(shí)施方式并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。