趙毅強(qiáng),高 雅,馬浩誠(chéng),張啟智,葉 茂,夏顯召,2,何家驥
(1. 天津大學(xué)微電子學(xué)院,天津 300072;2. 中國(guó)汽車(chē)技術(shù)研究中心,天津 300000)
近年來(lái),隨著信息安全領(lǐng)域日新月異的發(fā)展,安全芯片作為信息安全領(lǐng)域的底層基礎(chǔ)和硬件保障,被廣泛應(yīng)用于涉及敏感信息場(chǎng)景下的許多關(guān)鍵基礎(chǔ)設(shè)施中. 與此同時(shí),隨著攻擊技術(shù)的不斷進(jìn)步,越來(lái)越多的針對(duì)安全芯片的攻擊手段和案例被報(bào)道出來(lái),如前美國(guó)軍事安全專(zhuān)家Christopher Tarnovsky 對(duì)英飛凌的SLE66 CLPE 安全芯片實(shí)施微探針攻擊獲取關(guān)鍵數(shù)據(jù)[1],引起人們對(duì)芯片安全的高度重視.
隨著物理攻擊技術(shù)的發(fā)展,安全芯片面臨的物理攻擊威脅可分為3 種:侵入式攻擊、非侵入式攻擊[2]和半侵入式攻擊[3]. 其中,侵入式攻擊以聚焦離子束(Fo?cused Ion Beam,F(xiàn)IB)攻擊[4]和微探針攻擊為代表,這兩類(lèi)攻擊通常進(jìn)行組合,通過(guò)破壞芯片封裝、反向工程來(lái)獲得芯片版圖,修改內(nèi)部走線(xiàn),讀取存儲(chǔ)數(shù)據(jù)[5]. 侵入式攻擊是現(xiàn)有物理攻擊中最有效、最直接的手段,為此,我國(guó)針對(duì)密碼模塊和安全芯片于2012年、2014年和2015 年先后制訂了《安全芯片密碼檢測(cè)準(zhǔn)則》[6]《密碼模塊安全技術(shù)要求》[7]和《密碼模塊安全檢測(cè)要求》[8]行業(yè)標(biāo)準(zhǔn),其中明確規(guī)定了安全類(lèi)芯片必須具有抗物理侵入攻擊和非侵入攻擊的能力. 主動(dòng)屏蔽層因其良好的抗侵入式物理攻擊能力,成為保障硬件安全的主流手段.
主動(dòng)屏蔽層的防護(hù)水平與屏蔽線(xiàn)網(wǎng)絡(luò)的復(fù)雜程度密切相關(guān),一些商用微處理器、智能卡等,采用了平行等勢(shì)線(xiàn)、蛇形走線(xiàn)、螺旋線(xiàn)、希爾伯特曲線(xiàn)、摩爾曲線(xiàn)等拓?fù)浣Y(jié)構(gòu)[9,10]. 這些布線(xiàn)結(jié)構(gòu)的信息熵值大多在0.6~0.8 bit之間,具有較明顯的規(guī)律性,易于被分析破解;此外,大部分屏蔽層缺少完整性檢測(cè)電路,因此防護(hù)效果難以保障. 為了進(jìn)一步提高芯片的安全性,本文基于哈密頓隨機(jī)回路的拓?fù)浣Y(jié)構(gòu)進(jìn)行優(yōu)化,針對(duì)不同的應(yīng)用場(chǎng)景和工藝條件,提出了一系列靈活易用的軟件定義主動(dòng)屏蔽層布線(xiàn)生成算法,不僅兼容多種節(jié)點(diǎn)的工藝,而且能夠高效生成復(fù)雜無(wú)序的主動(dòng)屏蔽層,其信息熵值高達(dá)0.95 bit,結(jié)合自研的屏蔽層完整性檢測(cè)電路,能夠極大地提高芯片的安全水平,最終形成了具備較高自動(dòng)化程度的布線(xiàn)生成軟件,具有較高的應(yīng)用價(jià)值.
主動(dòng)屏蔽層的整體架構(gòu)如圖1 所示,由屏蔽層、完整性檢測(cè)電路以及被保護(hù)區(qū)域3 部分組成. 由于微探針和FIB攻擊的方式是直接接觸芯片,因此通常選用頂層或次頂層金屬通過(guò)一層或多層金屬的走線(xiàn)組成復(fù)雜的屏蔽層網(wǎng)絡(luò). 屏蔽層不僅可以有效遮蔽金屬層下方的加密模塊、存儲(chǔ)器模塊等關(guān)鍵組件[11],而且還可以在通入檢測(cè)信號(hào)后與完整性檢測(cè)電路相結(jié)合,將參考檢測(cè)信號(hào)與經(jīng)過(guò)屏蔽層的待檢測(cè)信號(hào)進(jìn)行比對(duì),監(jiān)控屏蔽層的完整性狀態(tài),有效識(shí)別對(duì)屏蔽層的攻擊行為[12],一旦識(shí)別到芯片受到攻擊,立即產(chǎn)生報(bào)警信號(hào)通知主控單元,由主控單元進(jìn)一步采取其他的防護(hù)手段.
圖1 軟件定義主動(dòng)屏蔽層系統(tǒng)整體架構(gòu)
應(yīng)用于安全芯片的主動(dòng)屏蔽層需要在完整覆蓋芯片待保護(hù)區(qū)域的基礎(chǔ)上,具備高隨機(jī)性、高復(fù)雜度的特點(diǎn). 目前已知的基于哈密頓隨機(jī)路徑拓?fù)浣Y(jié)構(gòu)的生成算法主要為循環(huán)合并算法(Cycle Merging Algorithm,CMA)[13],但是其生成速率極大地受到布線(xiàn)面積的限制,即布線(xiàn)面積增大后,生成效率迅速降低. 為了提高屏蔽層的生成效率,本文采用預(yù)先分類(lèi)的思想,將回路按照能否合并進(jìn)行分類(lèi),每次合并過(guò)程只在可以合并的回路中進(jìn)行隨機(jī)選擇,避免了無(wú)效合并對(duì)時(shí)間的消耗,提升了布線(xiàn)效率.
依據(jù)預(yù)先分類(lèi)的思想,基于改進(jìn)人工魚(yú)群算法[14,15]的隨機(jī)哈密頓路徑生成算法(Artificial Fish-Swarm Random-Hamiltonian Algorithm,AFSRHA)[16]被提出來(lái). 將人工魚(yú)群算法與隨機(jī)哈密頓路徑的生成特點(diǎn)相結(jié)合,通過(guò)概念以及行為特征定義的改進(jìn),實(shí)現(xiàn)了一種高效的大面積隨機(jī)哈密頓路徑自動(dòng)生成算法.
人工魚(yú)群算法即通過(guò)模擬魚(yú)類(lèi)群體社會(huì)行為的智能尋優(yōu)算法. 現(xiàn)有的AFSRHA 算法只能生成線(xiàn)寬線(xiàn)間距相等的哈密頓回路,即布線(xiàn)的寬度變大后,線(xiàn)間距也隨之變大. 不同集成電路工藝,對(duì)于最小線(xiàn)寬線(xiàn)間距會(huì)有不同的要求,并不全都是相等的,可調(diào)的線(xiàn)寬線(xiàn)間距會(huì)提升算法的靈活性,滿(mǎn)足不同的布線(xiàn)需求. 此外,較寬的線(xiàn)間距會(huì)導(dǎo)致攻擊者不必切割金屬布線(xiàn)層,探針即可從布線(xiàn)間距中扎入底層待保護(hù)電路并獲取關(guān)鍵信息.
為了實(shí)現(xiàn)線(xiàn)寬與線(xiàn)間距均可根據(jù)需求進(jìn)行調(diào)節(jié)的功能,在算法上將原本代表線(xiàn)寬線(xiàn)間距的參數(shù)一分為二,分別對(duì)線(xiàn)寬和線(xiàn)間距進(jìn)行量化,且在最初的格點(diǎn)劃分步驟中,將線(xiàn)寬和線(xiàn)間距2 個(gè)參數(shù)進(jìn)行歸一化處理,在回路合并完成后會(huì)形成1個(gè)封閉圖形,借助語(yǔ)言腳本對(duì)線(xiàn)寬線(xiàn)間距分別定義,將歸一化的格點(diǎn)坐標(biāo)轉(zhuǎn)換為物理連線(xiàn)實(shí)際坐標(biāo),隨后組合線(xiàn)寬線(xiàn)間距作為一個(gè)整體沿著封閉圖形的邊緣進(jìn)行描繪,實(shí)現(xiàn)對(duì)線(xiàn)寬和線(xiàn)間距的區(qū)分處理,從而實(shí)現(xiàn)對(duì)算法的改進(jìn)和優(yōu)化.
AFSRHA 算法的流程圖和執(zhí)行圖分別如圖2、圖3所示. 實(shí)現(xiàn)過(guò)程首先將布線(xiàn)面積的長(zhǎng)和寬用線(xiàn)寬線(xiàn)間距歸一后的參數(shù)進(jìn)行劃分,等效為圖3(a)所示的格點(diǎn).在算法的初始化階段,將相鄰的4 個(gè)格點(diǎn)構(gòu)成1 個(gè)如圖3(b)所示的正方形并標(biāo)號(hào),代表1 條人工魚(yú),本文以25 條人工魚(yú)為例. 每條人工魚(yú)都標(biāo)記有活躍度屬性以及覓食、追尾、群聚3 種行為. 活躍度與魚(yú)群和食物的距離成反比. 活躍度為0 的人工魚(yú)為自由魚(yú)群,是算法初始化后的初始魚(yú)群;活躍度為1的人工魚(yú)是比自由魚(yú)群靠近食物的活躍魚(yú)群,自由魚(yú)群通過(guò)追尾行為可以加入活躍魚(yú)群;活躍度為2的人工魚(yú)則是正在進(jìn)食的中心魚(yú)群. 隨機(jī)選擇1 條人工魚(yú)的位置投放食物,通過(guò)覓食行為,它的活躍度將變成2,活躍魚(yú)群通過(guò)群聚行為可以加入中心魚(yú)群. 中心魚(yú)群中的人工魚(yú)數(shù)目被記錄在公告板上,算法執(zhí)行過(guò)程中公告板數(shù)據(jù)會(huì)一直更新,直到公告板上的數(shù)據(jù)達(dá)到規(guī)定數(shù)值. 圖3(c)中隨機(jī)選擇了18 號(hào)魚(yú)投食,18 號(hào)魚(yú)通過(guò)覓食行為形成的回路C即中心魚(yú)群的初始回路. 公告板更新為1,剩下的自由魚(yú)數(shù)目為24. 在追尾行為中,圖3(c)中18 號(hào)魚(yú)周?chē)?7號(hào)、19號(hào)、3號(hào)、23號(hào)4條自由魚(yú)活躍度提升為1,在其中隨機(jī)選擇1 條19 號(hào)活躍魚(yú)通過(guò)群聚行為加入中心魚(yú)群,回路C 擴(kuò)大如圖3(d)所示,公告板更新為2,24 號(hào)、14 號(hào)、20 號(hào)魚(yú)通過(guò)追尾行為加入到活躍魚(yú)群. 接下來(lái)在17號(hào)、23號(hào)、13號(hào)、24號(hào)、20號(hào)5條魚(yú)中隨機(jī)選擇1條通過(guò)群聚行為加入中心魚(yú)群,回路C 擴(kuò)大如圖3(e)所示,公告板更新為3,以此類(lèi)推直到所有人工魚(yú)被合并形成圖3(f)所示的哈密頓回路.
圖2 AFSRHA算法流程圖
圖3 AFSRHA算法步驟圖
總而言之,AFSRHA 算法的執(zhí)行過(guò)程就是通過(guò)隨機(jī)選擇的方式遍歷待保護(hù)區(qū)域的格點(diǎn),且每個(gè)格點(diǎn)只訪問(wèn)1 次,最終形成1 條封閉的隨機(jī)哈密頓路徑. 由于魚(yú)群具有追尾行為,每次隨機(jī)選擇的格點(diǎn)都會(huì)產(chǎn)生有效合并,故而提升了算法的效率.
針對(duì)主動(dòng)屏蔽層算法的評(píng)價(jià)指標(biāo)主要是熵值和執(zhí)行時(shí)間. 熵值代表了算法生成的隨機(jī)哈密頓路徑的復(fù)雜度,是最首要的指標(biāo),只有保證了復(fù)雜度的屏蔽層才能具有良好的防護(hù)效果. 其次是衡量算法效率的指標(biāo),即執(zhí)行時(shí)間. 隨著集成電路規(guī)模的指數(shù)型增長(zhǎng),如何在短時(shí)間內(nèi)生成大面積的屏蔽層布線(xiàn)也是算法需要重點(diǎn)考慮的一個(gè)方面.
為了比較隨機(jī)哈密頓布線(xiàn)與其他商用布線(xiàn)的復(fù)雜度,設(shè)計(jì)了隨機(jī)蛇形走線(xiàn)算法,將其熵值與AFSRHA 算法熵值進(jìn)行比較,結(jié)果如表1所示.
表1 隨機(jī)蛇形走線(xiàn)與AFSRHA算法熵值比較
主動(dòng)屏蔽層算法的生成時(shí)間計(jì)算通過(guò)MAT?LAB2016的算法執(zhí)行時(shí)間(Execution Time,ET)來(lái)衡量,基于MATLAB2016 平臺(tái),利用CMA 算法與AFSRHA 算法對(duì)同樣面積的區(qū)域進(jìn)行布線(xiàn),比較它們的生成時(shí)間,結(jié)果如表2所示.
表2 CMA與AFSRHA算法運(yùn)行時(shí)間及熵值比較
可以看出,基于同樣的面積和平臺(tái),熵值指標(biāo)方面AFSRHA 算法生成的布線(xiàn)復(fù)雜度明顯高于隨機(jī)蛇形走線(xiàn)算法;時(shí)間效率方面AFSRHA 算法明顯高于CMA算法.
雖然屏蔽層的設(shè)計(jì)極其精密,但是依然存在被切割攻擊的可能,需要更加主動(dòng)地進(jìn)行安全監(jiān)測(cè). 因此,高復(fù)雜度的主動(dòng)屏蔽網(wǎng)絡(luò)需要與完整性檢測(cè)電路相配合,才能實(shí)現(xiàn)抵抗FIB 以及微探針攻擊的效果. 針對(duì)直接切割屏蔽層的FIB 攻擊,設(shè)計(jì)了通斷檢測(cè)電路;針對(duì)更高級(jí)的FIB和微探針攻擊,設(shè)計(jì)了隨機(jī)碼流型檢測(cè)電路,防止攻擊者在切割屏蔽層后,通過(guò)主動(dòng)打入碼流使檢測(cè)電路失效.
2.3.1 通斷檢測(cè)電路設(shè)計(jì)
通斷檢測(cè)電路模塊如圖4 所示,其時(shí)序圖如圖5 所示. 利用2 個(gè)觸發(fā)沿相異的D 觸發(fā)器D3 和D4(其中D3為上升沿觸發(fā),D4 為下降沿觸發(fā))對(duì)輸入CLK 和NET端口的信號(hào)分別進(jìn)行分頻,分頻結(jié)果為圖5 中的VCLK信號(hào)和VNET 信號(hào). 在主動(dòng)屏蔽層的起點(diǎn)注入CLK 信號(hào),在主動(dòng)屏蔽層終點(diǎn)接受到的信號(hào)為NET 信號(hào),檢測(cè)電路將CLK 信號(hào)和NET信號(hào)進(jìn)行比對(duì).D1和D2這2個(gè)觸發(fā)沿相異的D 觸發(fā)器對(duì)主動(dòng)屏蔽層通斷情況進(jìn)行檢測(cè),采集時(shí)鐘VCLK 信號(hào)上升沿和下降沿時(shí)刻的VNET信號(hào)值,輸出如圖4 中的D1_Q 和D2_Q 信號(hào),經(jīng)過(guò)異或門(mén)Y、反相器I 得到最終的報(bào)警信號(hào)alarm_2. 一旦攻擊者利用FIB 切割金屬線(xiàn),NET 信號(hào)將消失,該檢測(cè)電路可以立即識(shí)別到攻擊,圖5 所示的alarm_2 信號(hào)翻轉(zhuǎn)為高電平.
圖4 通斷檢測(cè)電路模塊
圖5 通斷檢測(cè)電路時(shí)序圖
2.3.2 隨機(jī)碼流型檢測(cè)電路設(shè)計(jì)
主動(dòng)型的通斷檢測(cè)在更加復(fù)雜的分析和攻擊場(chǎng)景下,因?yàn)榇a流相對(duì)簡(jiǎn)單,依然有被復(fù)制破解的可能. 因此,隨機(jī)碼流型檢測(cè)電路由隨機(jī)信號(hào)產(chǎn)生電路向屏蔽層起點(diǎn)注入隨機(jī)碼流,在終點(diǎn)處將流過(guò)屏蔽層的碼流與輸入屏蔽層的碼流進(jìn)行比對(duì),通過(guò)對(duì)碼流的一致性分析來(lái)判斷布線(xiàn)層是否受到物理攻擊.
目前主流的隨機(jī)信號(hào)產(chǎn)生電路均采用線(xiàn)性反饋移位寄存器(Linear Feedback Shift Register,LFSR)來(lái)生成隨機(jī)碼流[12]. 針對(duì)單通道的頂層金屬布線(xiàn)層,通常會(huì)選擇64 bit 的LFSR 中的1 bit 為布線(xiàn)層提供隨機(jī)碼流,電路設(shè)計(jì)完成后,通入布線(xiàn)層的碼流也隨之固定. 一旦攻擊者獲取到隨機(jī)發(fā)生器的種子,并注入相同的隨機(jī)碼流,現(xiàn)有的完整性檢測(cè)電路將失效. 為了增加攻擊難度,本文提出了新型的電路將在每個(gè)時(shí)鐘周期隨機(jī)切換輸入到布線(xiàn)層的碼流,進(jìn)一步提高了電路的安全性.
此外,覆蓋于芯片頂層的主動(dòng)屏蔽層具有較長(zhǎng)的金屬走線(xiàn),極易受到強(qiáng)烈變化的空間電磁場(chǎng)的干擾. 如果采用傳統(tǒng)的單比特主動(dòng)式碼流檢測(cè)技術(shù),容易出現(xiàn)將異常干擾判定為攻擊,從而出現(xiàn)誤報(bào)警的現(xiàn)象. 本設(shè)計(jì)中的比對(duì)模塊,使用累加器記錄一定周期內(nèi)的比對(duì)結(jié)果,將累加器結(jié)果與設(shè)定的安全閾值比較,當(dāng)其超過(guò)閾值時(shí),報(bào)警信號(hào)被觸發(fā),提升了報(bào)警的準(zhǔn)確度.
比對(duì)電路的工作過(guò)程如圖6 所示. 為盡可能減少磁場(chǎng)等外部因素對(duì)檢測(cè)結(jié)果的影響,信號(hào)比對(duì)過(guò)程將每8 bit 視為1 個(gè)比對(duì)周期,連續(xù)3 個(gè)比對(duì)周期視為1 個(gè)檢測(cè)周期. 針對(duì)每個(gè)比對(duì)周期,將8 bit 的LFSR 產(chǎn)生的隨機(jī)碼流信號(hào)A1 通入屏蔽層,將其與流經(jīng)屏蔽層的輸出信號(hào)B1進(jìn)行單比特的逐一比對(duì),0和1分別代表比對(duì)結(jié)果的成功和失敗. 累加器將比對(duì)結(jié)果從0 開(kāi)始累加,若累加值超過(guò)2,則判斷為受到攻擊,輸出高電平表示情況異常;若累加值等于1或2,則認(rèn)為檢測(cè)信號(hào)受到了外界干擾,輸出低電平表示情況正常;若累加值等于0,則認(rèn)為沒(méi)有受到攻擊,輸出低電平正常信號(hào). 針對(duì)每個(gè)檢測(cè)周期內(nèi),如果其中3個(gè)比對(duì)周期都輸出高電平異常信號(hào),則認(rèn)為受到了攻擊,最終報(bào)警信號(hào)alarm_1 輸出高電平,否則輸出低電平正常信號(hào).
圖6 比對(duì)電路模塊圖
針對(duì)前文提出的通斷和隨機(jī)碼流型2 種檢測(cè)電路架構(gòu),通過(guò)對(duì)主動(dòng)屏蔽層模擬的FIB 攻擊,對(duì)能否檢測(cè)出布線(xiàn)完整性被破壞攻擊進(jìn)行了驗(yàn)證. 實(shí)驗(yàn)選用華虹130 nm工藝庫(kù)來(lái)實(shí)現(xiàn)檢測(cè)電路的數(shù)字流程. 在10 MHz的時(shí)鐘頻率下,完成了從DC 綜合、Encounter布局布線(xiàn)、PrimeTime 靜態(tài)時(shí)序分析、VCS 平臺(tái)后仿以及Prime?Time-PX 中平均功耗分析和基于時(shí)序的功耗分析等全部流程.
對(duì)于通斷檢測(cè)電路,給流過(guò)屏蔽層的時(shí)鐘信號(hào)NET 賦值與時(shí)鐘信號(hào)CLK 同周期的方波信號(hào),在一段時(shí)間后將NET 的賦值直接置0,來(lái)模擬FIB 切斷屏蔽線(xiàn)的攻擊場(chǎng)景,并觀察報(bào)警信號(hào)是否置1.
對(duì)于隨機(jī)碼流型檢測(cè)電路,給流過(guò)屏蔽層的碼流信號(hào)B1 賦值與時(shí)鐘信號(hào)CLK 同周期的方波信號(hào),來(lái)模擬FIB與微探針攻擊切斷屏蔽線(xiàn)后,向屏蔽線(xiàn)中注入碼流的攻擊場(chǎng)景,并觀察一段時(shí)間后報(bào)警信號(hào)是否置1.
對(duì)于通斷檢測(cè)電路,后端實(shí)現(xiàn)過(guò)程采用了M1 至M5層金屬進(jìn)行布線(xiàn),數(shù)字版圖如圖7所示.
圖7 通斷檢測(cè)電路數(shù)字版圖
在測(cè)試文件中將通斷檢測(cè)電路的NET 信號(hào)賦值為與時(shí)鐘同頻的方波信號(hào),當(dāng)FIB切斷屏蔽線(xiàn)的攻擊發(fā)生時(shí),NET 信號(hào)置0. 從圖8 的仿真結(jié)果可以看出,一旦屏蔽層被切割發(fā)生斷路,僅僅需要1個(gè)時(shí)鐘周期檢測(cè)電路即可識(shí)別到攻擊,報(bào)警信號(hào)alarm_2 被觸發(fā),電路響應(yīng)迅速且功能正確.
圖8 通斷檢測(cè)電路仿真波形
對(duì)于隨機(jī)碼流型檢測(cè)電路,后端實(shí)現(xiàn)過(guò)程采用M1至M5層金屬進(jìn)行布線(xiàn),數(shù)字版圖如圖9所示.
圖9 隨機(jī)碼流型檢測(cè)電路數(shù)字版圖
當(dāng)FIB與微探針攻擊切斷屏蔽線(xiàn)并注入碼流進(jìn)行攻擊時(shí),在電路的測(cè)試文件將B1信號(hào)賦值為與時(shí)鐘同頻的方波信號(hào). 對(duì)于通入主動(dòng)屏蔽層的隨機(jī)碼流信號(hào)A1,采用“雙重隨機(jī)”的方式生成. 利用6位LFSR的輸出在每個(gè)時(shí)鐘周期為變量m賦值一次,同時(shí),選取LFSR輸出的第m位賦值給A1信號(hào),保證了隨機(jī)碼流信號(hào)的雙重隨機(jī)性.
圖10 為仿真電路. 從仿真結(jié)果可以看出,累加信號(hào)cnt_total 通過(guò)累加的方式來(lái)記錄比對(duì)周期內(nèi)比對(duì)失敗的情況,第1 個(gè)比對(duì)周期中超過(guò)2 bit 比對(duì)失敗,因此在下一個(gè)比對(duì)周期中累加信號(hào)計(jì)數(shù)加1;第2 個(gè)比對(duì)周期中同樣超過(guò)2 bit比對(duì)失敗,因此第3個(gè)比對(duì)周期中累加信號(hào)計(jì)數(shù)再加1. 當(dāng)識(shí)別到連續(xù)3 個(gè)比對(duì)周期都存在超過(guò)2 bit的比對(duì)錯(cuò)誤后,僅僅需要2個(gè)時(shí)鐘周期檢測(cè)電路即可識(shí)別到攻擊,觸發(fā)報(bào)警信號(hào)alarm_1,電路響應(yīng)迅速且功能正確.
圖10 隨機(jī)碼流型檢測(cè)電路仿真波形
較長(zhǎng)的主動(dòng)屏蔽層布線(xiàn)可能會(huì)造成電路的天線(xiàn)效應(yīng),同時(shí)碼流信號(hào)的通入導(dǎo)致了信號(hào)線(xiàn)之間的寄生電阻、寄生電容,這些不良效應(yīng)可能會(huì)影響到待保護(hù)電路的功能,因此在布線(xiàn)階段采用跳線(xiàn)、添加常閉傳輸門(mén)(NC)或反偏二極管(diode cell)等方式來(lái)消除天線(xiàn)效應(yīng).
為了測(cè)試寄生電阻和電容的影響,選擇在1 個(gè)8 位偽隨機(jī)數(shù)發(fā)生電路模塊上覆蓋主動(dòng)屏蔽層布線(xiàn),并打入碼流信號(hào),測(cè)試其8 位輸出信號(hào)值是否受到影響. 實(shí)驗(yàn)采用virtuoso 平臺(tái)實(shí)現(xiàn)主動(dòng)屏蔽層與電路版圖的連接,如圖11 所示,抽取網(wǎng)表文件與寄生參數(shù)文件進(jìn)行20 000 ns 的hspice 仿真,比較結(jié)果如圖12、圖13 所示.可以看出主動(dòng)屏蔽層產(chǎn)生的寄生電阻和電容參數(shù)對(duì)底層電路的擾動(dòng)十分微小,時(shí)間精度在0.1 ns左右.
圖11 主動(dòng)屏蔽層與電路版圖的連接
圖12 有覆蓋(上)和無(wú)覆蓋(下)主動(dòng)屏蔽層的電路out[2]信號(hào)輸出的仿真波形比較
圖13 有無(wú)覆蓋主動(dòng)屏蔽層的電路out[2]信號(hào)輸出的仿真波形比較結(jié)果
實(shí)驗(yàn)在不同工藝的情況下分析了通斷檢測(cè)電路和隨機(jī)碼流型檢測(cè)電路基于時(shí)間的功耗信息以及平均功耗信息. 表3 從面積、主電路中的檢測(cè)電路面積占比、端口、單元數(shù)、功耗5 個(gè)方面總結(jié)了2 個(gè)檢測(cè)電路的測(cè)試信息. 實(shí)驗(yàn)結(jié)果顯示,2 種檢測(cè)電路可全部由數(shù)字流程實(shí)現(xiàn),工藝兼容性強(qiáng),魯棒性高,功耗、面積開(kāi)銷(xiāo)也相對(duì)較小. 此外,2 種檢測(cè)電路可直接作為IP 連同主動(dòng)屏蔽層靈活植入到待保護(hù)電路的數(shù)字版圖中,極大地節(jié)約了設(shè)計(jì)的時(shí)間成本,整套流程可以將安全芯片的防護(hù)等級(jí)提升至國(guó)家二級(jí)標(biāo)準(zhǔn)[6].
表3 檢測(cè)電路測(cè)試結(jié)果表
本文提出了一種軟件定義主動(dòng)屏蔽層防護(hù)技術(shù),基于隨機(jī)哈密頓拓?fù)浣Y(jié)構(gòu)生成布線(xiàn)網(wǎng)絡(luò),結(jié)合主動(dòng)屏蔽層完整性檢測(cè)電路,形成一套與集成電路設(shè)計(jì)流程相匹配的芯片防護(hù)系統(tǒng). 作為有效抵御FIB 和微探針攻擊的主流防護(hù)手段,主動(dòng)屏蔽層已經(jīng)成為高安全等級(jí)芯片必備的安全保障結(jié)構(gòu). 未來(lái)可能會(huì)在利用主動(dòng)屏蔽層主動(dòng)對(duì)抗熱故障注入、光故障注入、電磁故障注入等非侵入式攻擊方面進(jìn)行深入研究,同時(shí)會(huì)對(duì)本文設(shè)計(jì)芯片的流片結(jié)果進(jìn)行基于實(shí)際芯片的驗(yàn)證. 隨著人們對(duì)集成電路信息安全重視程度的提高,主動(dòng)屏蔽層防護(hù)技術(shù)必將擁有廣闊的應(yīng)用前景.