本發(fā)明涉及安全I(xiàn)C芯片中防止物理攻擊的有源屏蔽布線方法,屬于集成電路IC芯片設(shè)計(jì)中安全相關(guān)領(lǐng)域,同時也屬于集成電路輔助設(shè)計(jì)軟件工具中布局布線領(lǐng)域。
背景技術(shù):
針對安全芯片,包括電子護(hù)照、移動支付、SIM卡等相關(guān)芯片,的一種有效的物理攻擊方法是侵入式攻擊:攻擊者用激光或者聚焦離子束(FIB:Focused Ion Beam)將IC的內(nèi)部信號暴露到表面,使用探針將信號線連接到攻擊者的電子設(shè)備,然后讀出線上傳遞的機(jī)密信息,或者將他自己的數(shù)據(jù)注入芯片。
為了防止上述物理攻擊,芯片設(shè)計(jì)廠商提出了版圖保護(hù)電路的概念,即在有效電路的版圖中,在金屬層的最高層之上再人工加入一層保護(hù)層金屬(Shield),該保護(hù)層的信號線受到持續(xù)的監(jiān)控,一旦該信號被破壞,芯片會自動開啟報(bào)警電路,實(shí)行電路自我毀壞,防止黑客對該電路進(jìn)行非法操控。
目前,攻擊保護(hù)層金屬的主要方法是通過短接同一信號線,造成信號線的短路。這樣,被短路信號線下的電路就失去了保護(hù),黑客就可在不激活報(bào)警電路的情況下對這些區(qū)域進(jìn)行非法操控了。被短路信號線下的區(qū)域稱為失效區(qū)域。
最嚴(yán)重的保護(hù)電路的失效情況是直接短路屏蔽布線的起終點(diǎn),致使整個芯片面積的保護(hù)失效。但另一方面,短接線是有成本的,直接短接起終點(diǎn)的成本往往不可接受,即短接只發(fā)生在鄰近的幾微米內(nèi)。所以,通過特殊的布線方式可以增大鄰近區(qū)域內(nèi)同一信號線的距離,從而使短路代價增大,提高屏蔽線的安全性。
本專利提出一種螺旋線的布線方案,即通過增大短路代價的方法提高屏蔽線的安全性。同時,該方案的布線具有迷惑性,即
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提高有源屏蔽布線的安全性。
首先定義安全性的測量指標(biāo)。圖1,紅點(diǎn)處是壓力測試點(diǎn),如果該點(diǎn)通過FIB短路,將導(dǎo)致黃色線網(wǎng)短路。用黃色線網(wǎng)長度除以FIB短路長度,得到的比值稱為短路比。定義“短路比=短路失效線長/FIB短路長度”用于評估有源屏蔽布線的安全性,當(dāng)短路長度相同時,被短路的線長越長,則安全性越差,反之,如果要短路一定長度的屏蔽 線,必需使用較長的FIB短路跨線,則安全性越好。
為了加大短路代價,目前普遍使用多信號線(一般多使用信號線根數(shù)N=32)并行布線的方法,這種方法中仍不可避免內(nèi)圈的信號相鄰,如圖1所示。本發(fā)明提出按螺旋型布線可以將FIB短路線長控制在最大,如圖2,即為了短路同一信號線必須跨接N根信號線。圖3是連接左右兩個起始點(diǎn)和終點(diǎn)的螺旋布線結(jié)果,兩個螺旋線在中間相遇并連接形成一個完整的布線。
有源屏蔽布線安全性的另一個指標(biāo)是迷惑性,即是否容易在領(lǐng)域內(nèi)區(qū)分出不同的信號線。單純螺旋布線的迷惑性不足,本發(fā)明使用如下策略增加迷惑性:以K倍的寬度完成螺旋布線,再在K倍寬的通道內(nèi)進(jìn)行擾動布線填充滿通道。圖4是擾動布線的示意圖,擾動后產(chǎn)生隨機(jī)布線的效果,增加了迷惑性。
圖5是最終布線的效果圖,整體螺旋布線通道以暗紅色連線顯示,即布線的總體趨勢是按照螺旋形方向以增大FIB短路線長;細(xì)節(jié)布線則具有隨機(jī)性,在領(lǐng)域范圍內(nèi)迷惑性強(qiáng),并掩蓋了總體的螺旋形布線通道。
附圖說明
圖1:示例了短路比概念。紅點(diǎn)處是壓力測試點(diǎn),如果該點(diǎn)通過FIB短路,將導(dǎo)致黃色線網(wǎng)短路。短路比=黃色線網(wǎng)長度/FIB短路長度。黃色線網(wǎng)下是失效區(qū)域。
圖2:示例了螺旋布線如何減少短路比(N=4),紅色曲線顯示要短路同一信號至少需要跨越其它3條平行走線。
圖3:示例了螺旋布線結(jié)果,左右兩個順時針螺旋在中間相遇連接。
圖4:示例了擾動布線結(jié)果(K=4),左側(cè)為擾動布線前的空白通道,右側(cè)為擾動后的布線終態(tài)。
圖5:示例了通道螺旋布線結(jié)果,圖中暗紅色螺旋線指示總體通道走向,細(xì)節(jié)布線則具有隨機(jī)性,掩蓋了總體的螺旋形布線通道。
具體實(shí)施方式:
第一步:設(shè)置通道參數(shù)K(缺省值為5)以及布線根數(shù)參數(shù)N(缺省值32)。
第二步:指定版圖布線的區(qū)域和起始點(diǎn)與終止點(diǎn)坐標(biāo)。
第三步:從起始點(diǎn)與終止點(diǎn)同時進(jìn)行順時針螺旋形布線,布線寬度為K*N*單根線寬,直到兩螺旋線相遇。
第四步:在螺旋線布線通道內(nèi)進(jìn)行擾動布線,布線寬度為N*單根線寬。擾動布線 的具體執(zhí)行步驟是:隨機(jī)選取一個空點(diǎn),向其最近的連線做垂直的U型連線。重復(fù)該過程直到布滿通道。
第五步:延最終的擾動布線產(chǎn)生N條信號線的最終連接。
上述過程已由計(jì)算機(jī)軟件程序?qū)崿F(xiàn)自動化布線過程。