基于移位寄存器的后版圖填充硬件木馬防護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明主要涉及到芯片安全檢測領(lǐng)域,特指一種基于移位寄存器的后版圖填充硬件木馬防護(hù)方法。
【背景技術(shù)】
[0002]隨著集成電路設(shè)計(jì)技術(shù)以及半導(dǎo)體制造工藝水平的提高,攻擊者利用先進(jìn)的集成電路分析技術(shù)對芯片進(jìn)行攻擊、竊取機(jī)密信息的方法越來越多。集成電路尤其是芯片的信息安全性受到多方面的威脅,保證集成電路芯片的自主可控和自主可信成為芯片安全行業(yè)的迫切需求。集成電路設(shè)計(jì)、生產(chǎn)、封裝等分工的細(xì)致化和專門化,導(dǎo)致其在芯片設(shè)計(jì)和制造的多個(gè)環(huán)節(jié),例如第三方提供的IP核存在安全隱患、掩膜版制造、第三方代工廠(foundries)可能利用版圖的filler和tapcell造成的空余空間惡意植入硬件木馬、芯片封裝等都可能被第三方惡意地植入硬件木馬,對芯片功能進(jìn)行改變甚至破壞,以達(dá)到竊取關(guān)鍵信息,給芯片安全造成嚴(yán)重威脅。
[0003]“硬件木馬”是指在安全芯片設(shè)計(jì)和生產(chǎn)過程中被惡意植入的電路模塊或者被惡意篡改的電路結(jié)構(gòu),其作用在于旁路或破壞芯片的安全防護(hù)系統(tǒng),或者是直接對芯片及系統(tǒng)進(jìn)行物理性破壞。由于“硬件木馬”具有結(jié)構(gòu)隱蔽,破壞形式多樣的特點(diǎn),對芯片安全造成很大威脅。
[0004]近幾年來,硬件木馬的破壞性極大,但很多檢測技術(shù)仍不夠完善。在這種情況下,在電路的設(shè)計(jì)過程中就要考慮對植入的硬件木馬的防護(hù),并且在芯片方案設(shè)計(jì)和整體規(guī)劃的初期就應(yīng)該及時(shí)開展對硬件木馬防護(hù)的研究。芯片的可信性設(shè)計(jì),需要芯片設(shè)計(jì)者在進(jìn)行電路設(shè)計(jì)的同時(shí)考慮抗硬件木馬植入的方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題就在于:針對現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種易實(shí)施、防護(hù)代價(jià)小、適用范圍廣、防護(hù)效果好的基于移位寄存器的后版圖填充硬件木馬防護(hù)方法。
[0006]為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
一種基于移位寄存器的后版圖填充硬件木馬防護(hù)方法,其步驟為:
51:移除標(biāo)準(zhǔn)填充單元獲取版圖空余空間;
52:創(chuàng)建防護(hù)電路輸入輸出引腳端口,移動(dòng)引腳到指定I/O單元位置,創(chuàng)建D觸發(fā)器單元并進(jìn)行實(shí)例化;
53:使用ICC工具對創(chuàng)建的單元進(jìn)行自動(dòng)布局;
54:創(chuàng)建輸入引腳的net連接點(diǎn);從輸入引腳到插入的D觸發(fā)器單元的數(shù)據(jù)輸入節(jié)點(diǎn)建立邏輯連接關(guān)系;將插入的所有D觸發(fā)器單元按輸入輸出節(jié)點(diǎn)進(jìn)行級聯(lián),直到與輸出引腳建立邏輯連接;
55:根據(jù)已有的連接點(diǎn)和邏輯連接關(guān)系運(yùn)行布線命令進(jìn)行自動(dòng)局部布線; 56:對空余空間用標(biāo)準(zhǔn)填充單元filler cell進(jìn)行填充;
57:對插入防護(hù)邏輯的電路總體版圖進(jìn)行寄生參數(shù)提?。?br> 58:對提取的寄生參數(shù)進(jìn)行版圖后模擬。
[0007]作為本發(fā)明的進(jìn)一步改進(jìn):在步驟S8中包括PT時(shí)序分析或功能模擬驗(yàn)證。
[0008]作為本發(fā)明的進(jìn)一步改進(jìn):在步驟S8中的功能模擬驗(yàn)證過程中,包括對波形進(jìn)行比對,輸入信號波形經(jīng)過n + m個(gè)時(shí)鐘周期后在輸出端原樣重現(xiàn),其中η為插入的D觸發(fā)器單元數(shù),m為串行輸入的數(shù)據(jù)位數(shù),則說明待測芯片中沒有植入硬件木馬。
[0009]作為本發(fā)明的進(jìn)一步改進(jìn):在步驟SI中版圖空余空間包括:
1)原目標(biāo)電路版圖當(dāng)中沒有用到的剩余空間,其中包含標(biāo)準(zhǔn)單元之間的一些小空隙以及其它未放置單元區(qū)域;
2)移除FILLER填充單元空出的版圖空間。
[0010]作為本發(fā)明的進(jìn)一步改進(jìn):所述填充的具體流程為:
1)D觸發(fā)器單元的布局:對每一個(gè)合適大小的空余位置,使用ICC工具將D觸發(fā)器單元自動(dòng)插入,重復(fù)插入過程,直到剩余的單個(gè)空間大小都比一個(gè)D觸發(fā)器單元面積小,較大的功能邏輯單元沒法再次插入;
2)D觸發(fā)器單元布線:D觸發(fā)器單元被順序地連接到上一級單元,最終級聯(lián)形成移位寄存器,同時(shí)創(chuàng)建移位寄存器時(shí)鐘的時(shí)鐘樹網(wǎng)絡(luò);
3)最后對標(biāo)準(zhǔn)單元之間的一些相當(dāng)小的剩余空間用不同尺寸大小的標(biāo)準(zhǔn)填充單元filler cell進(jìn)行填充。
[0011]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
1、本發(fā)明的基于移位寄存器的后版圖填充硬件木馬防護(hù)方法,實(shí)施簡單易行,防護(hù)代價(jià)小,對于不同類型的版圖級硬件木馬植入沒有特殊要求,具有普適性。
[0012]2、本發(fā)明的基于移位寄存器的后版圖填充硬件木馬防護(hù)方法,通過對設(shè)計(jì)好的版圖進(jìn)行分析,識別確定版圖當(dāng)中沒有用到的空余空間,插入D觸發(fā)器邏輯功能單元級聯(lián)構(gòu)成移位寄存器,使得硬件木馬的植入變得十分困難。
[0013]3、本發(fā)明的基于移位寄存器的后版圖填充硬件木馬防護(hù)方法,對目標(biāo)電路的影響可以忽略不計(jì),通過增加少量的額外版圖面積開銷,達(dá)到防護(hù)硬件木馬植入的目的。
【附圖說明】
[0014]圖1是本發(fā)明方法的流程示意圖。
[0015]圖2是本發(fā)明在具體應(yīng)用實(shí)例中移除填充單元的目標(biāo)電路版圖。
[0016]圖3是本發(fā)明在具體應(yīng)用實(shí)例中填充用電路結(jié)構(gòu)的示意圖。
[0017]圖4是本發(fā)明在具體應(yīng)用實(shí)例中填充后電路版圖的示意圖。
[0018]圖5是本發(fā)明在具體應(yīng)用實(shí)例中D觸發(fā)器構(gòu)成的移位寄存器的示意圖。
[0019]圖6是本發(fā)明在具體應(yīng)用實(shí)例中進(jìn)行功能驗(yàn)證的波形示意圖。
【具體實(shí)施方式】
[0020]以下將結(jié)合說明書附圖和具體實(shí)施例對本發(fā)明做進(jìn)一步詳細(xì)說明。
[0021]如圖1所示,本發(fā)明的基于移位寄存器的后版圖填充硬件木馬防護(hù)方法,其步驟為:
S1:移除標(biāo)準(zhǔn)填充單元獲取版圖空余空間;
52:創(chuàng)建防護(hù)電路輸入輸出引腳端口,移動(dòng)引腳到指定I/O單元位置,創(chuàng)建D觸發(fā)器單元并進(jìn)行實(shí)例化;
53:使用ICC工具對創(chuàng)建的單元進(jìn)行自動(dòng)布局;
54:創(chuàng)建輸入引腳的net連接點(diǎn);從輸入引腳到插入的D觸發(fā)器單元的數(shù)據(jù)輸入節(jié)點(diǎn)建立邏輯連接關(guān)系;將插入的所有D觸發(fā)器單元按輸入輸出節(jié)點(diǎn)進(jìn)行級聯(lián),直到與輸出引腳建立邏輯連接;
55:根據(jù)已有的連接點(diǎn)和邏輯連接關(guān)系進(jìn)行自動(dòng)局部布線;
56:對一些相當(dāng)小的空余空間用標(biāo)準(zhǔn)填充單元filler cell進(jìn)行填充,確保芯片滿足DRC規(guī)則和設(shè)計(jì)需要。
[0022]