本發(fā)明涉及安全IC芯片中防止物理攻擊的有源屏蔽布線方法,屬于集成電路IC芯片設(shè)計中安全相關(guān)領(lǐng)域,同時也屬于集成電路輔助設(shè)計軟件工具中布線領(lǐng)域。
背景技術(shù):
針對安全芯片(包括電子護照、移動支付、SIM卡等相關(guān)芯片)的一種物理攻擊方法是在IC芯片上電后讀取Flash中的數(shù)據(jù)。為了防止上述攻擊,芯片設(shè)計廠商提出了版圖保護電路的概念,即在頂層金屬層加入一層防護層金屬,該防護層的信號線受到持續(xù)的監(jiān)控,一旦該信號被破壞,芯片會自動開啟報警電路,實行電路自我毀壞,防止非法操控數(shù)據(jù)。
本文針對防護層布線的構(gòu)造方法。好的防護層布線要求不宜被分析,不宜被短路,局部圖案重復(fù)性高,適用于多種檢測方式等。
技術(shù)實現(xiàn)要素:
本發(fā)明提出一種安全芯片物理防護布線的有效方法。
在矩形布線區(qū)域內(nèi),依次生成一組垂直的^^^線,每根^^^線由一段段水平的臺階狀布線構(gòu)成,相鄰兩根^^^線間的臺階相互形成交叉。臺階的水平長度由參數(shù)H和分割點P確定,臺階數(shù)由參數(shù)V確定。
這種^^^布線可以用于構(gòu)造各種監(jiān)測方式。例如,一種方式是對每根^^^線進行檢測,形成單根多組檢測布線(附圖9);也可以將所有的^^^線首尾相連,形成單根單組檢測布線。另一種方式是將多根相鄰的線形成一組,各組間再相連接。連接的方式又分兩種,一種是順序相連,不需要次頂層金屬換層(附圖10);另一種是交錯相連,需要次頂層金屬換層(附圖11)。換層的方式使鄰近的^^^線分屬于不同的檢測電路,增加了短路攻擊的難度。最后,各種檢測方式可以混合使用。例如一部分使用換層方案,一部分使用單根方案(附圖12)。
本方法產(chǎn)生的布線從局部看圖案的重復(fù)性高,不宜被分析。其中多組檢測和換層的方案增加了短路攻擊難度。本布線適用于多種檢測電路的連接方式。
附圖說明
圖1:根據(jù)線寬W和線間距S劃分矩形布線區(qū)域成網(wǎng)格后的結(jié)果。
圖2:生成第1條^^^線后的結(jié)果。臺階數(shù)為V=4,上升邊為1-4,下降邊為6-9,5為轉(zhuǎn)折點。上升邊與下降邊在Y方向互為鏡像,在X方向錯開一個格點。每個臺階在X方向由一條長度為8的邊和一條長度為3的邊組成。
圖3:生成第2條^^^線后的結(jié)果。臺階X方向長度被補全為H=11個格點。
圖4:生成第3條^^^線后的結(jié)果。
圖5:生成第4條^^^線后的結(jié)果。1、2和3、4兩組^^^線生成的臺階相互交錯。
圖6:生成第5和第6條^^^線后的結(jié)果。
圖7:生成全部有源^^^線后的結(jié)果。
圖8:布線區(qū)域被^^^線填滿后的結(jié)果。
圖9:單根多組檢測。每根^^^線一端連接信號發(fā)生電路,一端連接信號接收及判斷檢測電路,共10組檢測電路。
圖10:2根并行非換層2組檢測。將兩根^^^線在上方和下方依次相連,然后在頭尾連接檢測電路。共兩組檢測電路。
圖11:5根并行換層5組檢測。將前后5根^^^線在上方交叉相連,圖中的細線表示此頂層金屬(換層),再將5組檢測電路連接到下方。交叉相連(換層)的好處在于相鄰的信號線分屬于不同的檢測電路,增加了短路攻擊的難度,但需要占用此頂層金屬的布線資源。
圖12:單根及4根并行換層6組混合檢測。第1和第10根^^^線分別是單根檢測,中間的2-9根^^^線是4根并行換層檢測。
具體實施方式
設(shè)屏蔽線線寬W,線間距S;^^^布線水平寬度H(附圖示例中H=11),斷點P(0<P<H)(附圖示例中P=8),垂直臺階數(shù)V(附圖示例中V=4);布線區(qū)域為矩形。
第1步:將矩形布線區(qū)域劃分成格點,每個格點為一正方形,寬長為W+S,^^^布線將按格點進行(附圖1)。
第2步:生成第1條^^^線。從布線區(qū)域的左下角起,向右上依次產(chǎn)生V個上升臺階,每個臺階的畫法是,先向上走一個格點,再向右走P-1個格點,再向上走4-1個格點,最后再向左走H-P-1個格點。對于第V個臺階的最后一筆,要向左多走一個格點。然后,向左上產(chǎn)生V個下降臺階,每個臺階的畫法是,先向上走一個格點,再向右走H-P-1個格點,再向上走4-1個格點,最后再向左走P-1個格點。對于第V個臺階的最后一筆,要向左少走一個格點。重復(fù)執(zhí)行上述步驟,生成^^^線,直到布線區(qū)域的頂端(附圖2)。
第3步:生成第2條^^^線。方法是參考第1條^^^線,對臺階補全長度到H,即在第一條^^^線向左P個格點處,生成向右長度為H-P的線段;在第一條^^^線向左H-P個格點處,生成向右長度為P的線段;在4-1個垂直線段處,生成緊鄰的同長度線段(附圖3)。
第4步:生成第3條^^^線。方法是延第2條^^^線的緊鄰格點生成(附圖4)。
第5步:生成第4條^^^線。方法同步驟3,但參考第3條^^^線,補全臺階長度到H??梢钥吹?、2兩根線和3、4兩根線生成的臺階相互交錯(附圖5)。
第6步:生成第5和第6條^^^線。方法同步驟4和5(附圖6)。
第7步:重復(fù)上述步驟直到^^^線到達布線區(qū)域的最右端(附圖7)。
第8步:按相同的布線方法,填補左側(cè)、右上、和右下處的空白,就像它們是來自于更大的一個布線區(qū)域一樣。這些填補線不用于有源信號的檢查,但它們使布線區(qū)域被填充完滿,增加真正的有源信號線被識別的難度(附圖8)。
第9步:根據(jù)需要將信號線串聯(lián)并連接檢測電路。例如:單根多組檢測(附圖9)、2根并行非換層2組檢測(附圖10)、5根并行換層5組檢測(附圖11)、單根及4根并行換層6組混合檢測(附圖12)。