用于集成電路的基于雙隨機(jī)位生成器的防篡改系統(tǒng)的制作方法
【專利說明】用于集成電路的基于雙隨機(jī)位生成器的防篡改系統(tǒng)
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本公開要求于2013年3月I日提交的題為“DUAL PSEUDO-RANDOM BITSGENERATOR-BASED ACTIVE MESH WIRE ANT1-TAMPER SYSTEM FOR INTEGRATED CIRCUITS”的美國臨時(shí)申請(qǐng)N0.61/771511的權(quán)益,其通過引用的方式整體并入于此。
【背景技術(shù)】
[0003]這里所提供的【背景技術(shù)】描述是為了總體上呈現(xiàn)本公開的上下文的目的。本發(fā)明人的工作(到該【背景技術(shù)】部分中所描述的工作的程度)以及描述中在提交時(shí)并不以其它方式構(gòu)成現(xiàn)有技術(shù)的方面,既非明確也非隱含地被承認(rèn)形成相對(duì)本公開的現(xiàn)有技術(shù)。
[0004]防篡改(AT)系統(tǒng)旨在針對(duì)諸如計(jì)算機(jī)處理器、集成電路(IC)和多芯片模塊之類的電子硬件的功能的逆向工程或改動(dòng)提供保護(hù)。AT系統(tǒng)能夠被歸類為被動(dòng)或主動(dòng)AT系統(tǒng)。例如,被動(dòng)AT系統(tǒng)包括在集成電路的關(guān)鍵部分之上的共形的涂層和/或排列網(wǎng)格(mesh)線路,而使得該關(guān)鍵部分在不去除該涂層和/或網(wǎng)格線路的情況下不可見。在使用網(wǎng)格線路的被動(dòng)AT系統(tǒng)中,沒有電信號(hào)通過該網(wǎng)格線路進(jìn)行傳送。另一方面,主動(dòng)AT系統(tǒng)在檢測(cè)到未授權(quán)活動(dòng)時(shí)采取保護(hù)性動(dòng)作。在包括網(wǎng)格線路的主動(dòng)AT系統(tǒng)中,可以通過該網(wǎng)格線路傳送電信號(hào)以便檢測(cè)觸發(fā)保護(hù)性動(dòng)作的未授權(quán)活動(dòng)。
【發(fā)明內(nèi)容】
[0005]在一個(gè)實(shí)施例中,一種裝置包括網(wǎng)格塊,被配置為生成第一數(shù)字的第一數(shù)字生成器,被配置為生成第二數(shù)字的第二數(shù)字生成器,以及被配置為將該第一數(shù)字與第二數(shù)字進(jìn)行比較并且從該網(wǎng)格塊生成輸出信號(hào)的比較器塊。該輸出信號(hào)指示在該網(wǎng)格塊上的未授權(quán)活動(dòng)的出現(xiàn)。
[0006]在一個(gè)實(shí)施例中,一種方法包括分別使用網(wǎng)格塊中的第一數(shù)字生成器和第二數(shù)字生成器來生成第一數(shù)字和第二數(shù)字,并且將該第一數(shù)字與第二數(shù)字進(jìn)行比較以從該網(wǎng)格塊生成輸出信號(hào)。該輸出信號(hào)指示在該網(wǎng)格塊上的未授權(quán)活動(dòng)的出現(xiàn)。
【附圖說明】
[0007]參考以下附圖對(duì)作為示例而提供的本公開的各個(gè)實(shí)施例進(jìn)行詳細(xì)描述,其中同樣的附圖標(biāo)記指代同樣的元件,并且其中:
[0008]圖1是包括防篡改(AT)系統(tǒng)和控制器的集成電路(IC)的一部分的框圖。
[0009]圖2是根據(jù)一個(gè)實(shí)施例的AT系統(tǒng)的示圖。
[0010]圖3A是根據(jù)一個(gè)實(shí)施例的圖2的AT系統(tǒng)中所包括的時(shí)鐘篡改檢測(cè)器的電路圖。
[0011]圖3B和3C圖示了與圖3A中的電路的操作相關(guān)的波形。
[0012]圖4A圖示了根據(jù)一個(gè)實(shí)施例的網(wǎng)格塊。
[0013]圖4B圖示了根據(jù)一個(gè)實(shí)施例的圖4A的網(wǎng)格塊中所包括的網(wǎng)格緩沖器的一部分。
[0014]圖4C圖示了根據(jù)一個(gè)實(shí)施例的圖4A中的網(wǎng)格塊中所包括的反相塊的一部分。
[0015]圖4D圖示了根據(jù)一個(gè)實(shí)施例的圖4A中的網(wǎng)格塊中所包括的用于生成偽隨機(jī)數(shù)的第一電路的不圖。
[0016]圖4E是根據(jù)一個(gè)實(shí)施例的圖4A中的網(wǎng)格塊中所包括的用于生成偽隨機(jī)數(shù)的第二電路的不圖。
[0017]圖5是圖示根據(jù)一個(gè)實(shí)施例的包括圖4A中的網(wǎng)格塊的一部分的多個(gè)分層的截面圖。
[0018]圖6是根據(jù)一個(gè)實(shí)施例的用于生成AT系統(tǒng)的警報(bào)信號(hào)的方法的流程圖。
[0019]圖7是根據(jù)一個(gè)實(shí)施例的用于生成AT系統(tǒng)的警報(bào)信號(hào)的方法的流程圖。
【具體實(shí)施方式】
[0020]圖1是包括防篡改(AT)系統(tǒng)1-110和控制器150的集成電路(IC)的部分100的框圖。當(dāng)AT系統(tǒng)1-110檢測(cè)到非授權(quán)活動(dòng)時(shí),AT系統(tǒng)1-110向控制器150提供包括一個(gè)或多個(gè)位的警報(bào)信號(hào)1-130以便采取保護(hù)性動(dòng)作。例如,這些非授權(quán)活動(dòng)包括蝕刻AT系統(tǒng)1-110的一部分、繞過AT系統(tǒng)1-110的網(wǎng)格線路以及禁用AT系統(tǒng)1-110中的時(shí)鐘信號(hào)以便對(duì)IC的功能進(jìn)行逆向工程或改動(dòng)中的一種或多種活動(dòng)。
[0021]控制器150響應(yīng)于用于采取保護(hù)性動(dòng)作的警報(bào)信號(hào)1-130而控制IC的電路元件。該保護(hù)性動(dòng)作可以包括禁用IC芯片的一些功能、重寫或擦除IC芯片的存儲(chǔ)器單元中的一些或所有存儲(chǔ)器單元,或者物理損壞或清除IC芯片的關(guān)鍵元件中的一種或多種。
[0022]圖2是根據(jù)一個(gè)實(shí)施例的AT系統(tǒng)2-110的示圖。AT系統(tǒng)2-110包括多個(gè)網(wǎng)格塊210-1至210-n、時(shí)鐘篡改檢測(cè)器220和時(shí)鐘生成器260。
[0023]多個(gè)網(wǎng)格塊210-1至210-n生成多個(gè)塊輸出信號(hào)230-1至230_n,輸出信號(hào)中的每個(gè)輸出信號(hào)指示相對(duì)應(yīng)的網(wǎng)格塊是否檢測(cè)到非授權(quán)活動(dòng)。例如,當(dāng)網(wǎng)格塊210-1至210-n之一的一部分被蝕刻以暴露出處于該網(wǎng)格塊的被蝕刻部分下方的IC芯片的關(guān)鍵部分時(shí),該網(wǎng)格塊生成具有諸如邏輯高值(例如,“I”)的第一邏輯值的相對(duì)應(yīng)的塊輸出信號(hào);否則該網(wǎng)格塊生成諸如邏輯低值(例如,“O”)的第二邏輯值。
[0024]時(shí)鐘生成器260被耦合至多個(gè)網(wǎng)格塊210-1至210_n以及時(shí)鐘篡改檢測(cè)器2-220。時(shí)鐘生成器260通過多個(gè)時(shí)鐘線路265-1至265-(n+1)向多個(gè)網(wǎng)格塊210-1至210_n和時(shí)鐘篡改檢測(cè)器2-220提供時(shí)鐘信號(hào)。響應(yīng)于該時(shí)鐘信號(hào),多個(gè)網(wǎng)格塊210-1至210-n可以執(zhí)行邏輯操作。
[0025]塊輸出信號(hào)230-1至230-n與時(shí)鐘篡改檢測(cè)信號(hào)2_232在一起被分組為(n+1)位的警報(bào)信號(hào)2-130。時(shí)鐘篡改檢測(cè)信號(hào)2-232由時(shí)鐘篡改檢測(cè)器2-220生成,并且在被重置時(shí)取邏輯值1,并且在一個(gè)時(shí)鐘周期后假設(shè)等于塊輸出信號(hào)230-1至230-n的邏輯OR的值。結(jié)果,嘗試通過切斷時(shí)鐘信號(hào)而對(duì)活躍的網(wǎng)格塊210-1至210-n之一去激活將會(huì)使得警報(bào)信號(hào)2-130中的時(shí)鐘篡改檢測(cè)信號(hào)2-232變?yōu)橥nD在邏輯1,這以信號(hào)發(fā)出警報(bào)。
[0026]圖3A是根據(jù)一個(gè)實(shí)施例的適于用作圖2的時(shí)鐘篡改檢測(cè)器2-220的時(shí)鐘篡改檢測(cè)器3-220的電路圖。時(shí)鐘篡改檢測(cè)器3-220包括η輸入的OR門304以及鎖存器308。
[0027]對(duì)應(yīng)于圖2的塊輸出信號(hào)230-1至230_η的警報(bào)信號(hào)Alarm-1至Alarm-n均被連接至η位OR門304的輸入。對(duì)應(yīng)于時(shí)鐘線路265-(n+1)上的信號(hào)的時(shí)鐘信號(hào)CLK被連接至鎖存器308的時(shí)鐘輸入。重置信號(hào)RESET被連接至鎖存器308的設(shè)置輸入。該鎖存器的輸出被連接至Alarm-(n+1)信號(hào),其對(duì)應(yīng)于圖2的時(shí)鐘篡改檢測(cè)信號(hào)2-232。時(shí)鐘篡改檢測(cè)器3-220的操作將參考圖3B和3C進(jìn)行解釋。
[0028]圖3B和3C圖示了與圖3A的時(shí)鐘篡改檢測(cè)器3-220相關(guān)聯(lián)的波形。圖3B和3C圖示了圖3A中的Alarm-1至Alarm-n信號(hào)、Alarm-(n+1)信號(hào)、重置信號(hào)RESET和時(shí)鐘信號(hào)CLK的波形。
[0029]圖3B圖示了在時(shí)鐘信號(hào)CLK進(jìn)行操作時(shí)的時(shí)鐘篡改檢測(cè)器3_220的操作。在第一時(shí)間tl,施加重置信號(hào)RESET,其對(duì)鎖存器308進(jìn)行設(shè)置并且因此使得Alarm- (n+1)信號(hào)具有如邊沿321所示的邏輯高值(例如,“I”)。在一個(gè)實(shí)施例中,該第一時(shí)間tl對(duì)應(yīng)于與時(shí)鐘信號(hào)CLK具有不同周期的另一時(shí)鐘信號(hào)的邊沿。當(dāng)多個(gè)網(wǎng)格塊210-1至210-n (參見圖2)并未檢測(cè)到非授權(quán)活動(dòng)時(shí),Alarm-1至Alarm-n信號(hào)在第一時(shí)間tl具有邏輯低值(例如,“O”)。
[0030]在繼第一時(shí)間tl之后的對(duì)應(yīng)于時(shí)鐘信號(hào)CLK的上升沿312的第二時(shí)間t2,鎖存器308進(jìn)行時(shí)鐘計(jì)時(shí)并且因此Alarm-(n+1)信號(hào)具有對(duì)應(yīng)于Alarm-1至Alarm-n信號(hào)的邏輯OR的值。由于Alarm-1至Alarm-n信號(hào)在第二時(shí)間t2全部具有邏輯低值,所以Alarm-(n+1)變?yōu)榫哂羞壿嫷椭?,并且因此不以信?hào)發(fā)出警報(bào)。
[0031]圖3C圖示了時(shí)鐘篡改檢測(cè)器3-220在時(shí)鐘信號(hào)CLK已經(jīng)由于非授權(quán)活動(dòng)而被禁用時(shí)的操作,上述非授權(quán)活動(dòng)諸如切斷圖2中的時(shí)鐘線路265-1至265-(n+l)。結(jié)果,時(shí)鐘篡改檢測(cè)器3-220根據(jù)對(duì)Alarm-1至Alarm-n信號(hào)的OR運(yùn)算而并不產(chǎn)生輸出。
[0032]參考圖3C,在對(duì)應(yīng)于圖3B的第一時(shí)間tl的第三時(shí)間t3,施加重置信號(hào)RESET以設(shè)置鎖存器308,這使得Alarm-(n+1)信號(hào)具有如邊沿341所示的邏輯高值(例如,“I”)。當(dāng)多個(gè)網(wǎng)格塊210-1至210-n (參見圖2)并未檢測(cè)到非授權(quán)活動(dòng)時(shí),Alarm-1至Alarm-n信號(hào)在第三時(shí)間t3具有邏輯低值(例如,“O” )。
[0033]在對(duì)應(yīng)于圖3B的第二時(shí)間t2的第四時(shí)間t4,由于時(shí)鐘信號(hào)310已經(jīng)被去激活,所以鎖存器308并不進(jìn)行時(shí)鐘計(jì)時(shí),并且因此Alarm-(n+1)信號(hào)并不具有對(duì)應(yīng)于Alarm-1至Alarm-n信號(hào)上的邏輯OR運(yùn)算的值。結(jié)果,Alarm-(n+1)信號(hào)在第四時(shí)間t4及其之后繼續(xù)具有邏輯高值。
[0034]由于至少對(duì)應(yīng)于圖2的時(shí)鐘篡改檢測(cè)信號(hào)232的Alarm-(n+1)信號(hào)繼續(xù)具有邏輯高值,所以圖2的警報(bào)信號(hào)2-130包括至少一個(gè)具有邏輯高值的位并且可以使得控制器150(參見圖1)觸發(fā)保護(hù)性動(dòng)作。因此,可以使用Alarm-(n+1)信號(hào)而挫敗通過去激活時(shí)鐘信號(hào)CLK而禁用AT系統(tǒng)2-110的嘗試。
[0035]圖4A圖示了根據(jù)一個(gè)實(shí)施例的對(duì)應(yīng)于圖2所示的第i個(gè)網(wǎng)格塊210-1的網(wǎng)格塊4-210。網(wǎng)格塊4-210包括第一偽隨機(jī)數(shù)生成器(PRNG) 4-410、第一多個(gè)網(wǎng)格線路411-1至
411-32、網(wǎng)格緩沖器4-420、第二多個(gè)網(wǎng)格線路412-1至412-32,以及具有第二 PRNG 4-450和比較器4-470的比較器塊4-460。
[0036]第一 PRNG 4-410位于遠(yuǎn)離比較器塊4_460的網(wǎng)格塊4_210的一部分處或者在其下面并且生成作為X = X1X2....χη的第一 η位數(shù)X。在一個(gè)實(shí)施例中,第一 PRNG 4-410包括線性反饋移位寄存器(LFSR