可編程器件設(shè)計(jì)的安全性
時(shí)間:2007-05-24 10:28:00來(lái)源:yangliu
導(dǎo)語(yǔ):?可編程邏輯器件在電子工業(yè)中得到了日漸廣泛的應(yīng)用。
自1970年代PAL器件的問(wèn)世以來(lái),可編程邏輯器件在電子工業(yè)中得到了日漸廣泛的應(yīng)用。得益于摩爾定律,可編程邏輯器件單個(gè)芯片的容量從最初只有幾十門(mén)發(fā)展到目前的幾百萬(wàn)門(mén);應(yīng)用范圍從最初簡(jiǎn)單的粘合邏輯到目前復(fù)雜的SOC級(jí)設(shè)計(jì);價(jià)格也從最初的幾十門(mén)/1美元降到鼻暗募蓋?1美元。隨著設(shè)計(jì)規(guī)模的上升和器件價(jià)格的下降,設(shè)計(jì)成本在系統(tǒng)中實(shí)現(xiàn)所占比重越來(lái)越大。因此如何有效地保護(hù)客戶(hù)的設(shè)計(jì)版權(quán)就變成可編編程器件的一個(gè)重要議題。因?yàn)楫?dāng)設(shè)計(jì)可編程的FPGA或定制ASIC時(shí),產(chǎn)品之間的差別通常就存在于所設(shè)計(jì)的芯片中。若設(shè)計(jì)安全重視不夠,設(shè)計(jì)就可能被競(jìng)爭(zhēng)對(duì)手或破解者復(fù)制并以他們的產(chǎn)品重新在市場(chǎng)上出現(xiàn)。
本文就各類(lèi)芯片的特點(diǎn)介紹它們的安全性以及可能的設(shè)計(jì)復(fù)制技術(shù)(即逆向設(shè)計(jì)和克隆),并介紹Quicklogic公司專(zhuān)利的Vialink技術(shù)在設(shè)計(jì)安全上的作用。
逆向工程
集成電路的逆向工程有以下幾步:
1.通過(guò)化學(xué)腐蝕和打磨去掉芯片封裝;
2.如果芯片完好無(wú)恙,則可以利用電壓對(duì)比顯微鏡掃描正在工作的目標(biāo)芯片,并觀察其電平隨時(shí)間的變化,并借助于層的物理剝離技術(shù)對(duì)不同層進(jìn)行分析;
3.對(duì)芯片的各金屬連接層依次進(jìn)行照相和剝離以得到芯片結(jié)構(gòu);
4.在剝離各層之后,可以利用模式識(shí)別軟件進(jìn)行處理或者人工校對(duì)來(lái)獲得網(wǎng)表以及電路圖。目前已有多家公司提供對(duì)標(biāo)準(zhǔn)單元/標(biāo)準(zhǔn)門(mén)芯片進(jìn)行掃描并自動(dòng)生成網(wǎng)表的服務(wù)。
5.利用上述步驟獲取的信息來(lái)制作新的集成電路。
一些專(zhuān)業(yè)從事逆向工程的公司表示只要有足夠的資金和時(shí)間,就一定可以破解任何芯片的保密措施,這類(lèi)工作的費(fèi)用介于1萬(wàn)~100萬(wàn)美元之間。幸運(yùn)的是,防止逆向工程或者使之經(jīng)濟(jì)上不可行的方法還是存在的,本文將討論其中的幾種方法。
克隆與復(fù)制
克隆是指芯片內(nèi)容的原樣復(fù)制。對(duì)SRAM FPGA而言,克隆只需讀出FPGA的外部非易失性配置存貯器中的配置數(shù)據(jù)。對(duì)定制集成電路,唯一的克隆方法是用前面所提到的芯片逐層剝離照相復(fù)制方法以提取實(shí)際電路圖然后進(jìn)行復(fù)制。而對(duì)采用金屬-金屬反熔絲技術(shù)的FPGA而言,這兩種方法都不適用,唯一的方法是獲得設(shè)計(jì)文件才能對(duì)芯片進(jìn)行復(fù)制。
基于SRAM的FPGA的安全問(wèn)題
在所有FPGA類(lèi)型中,SRAM FPGA上的設(shè)計(jì)是最容易被復(fù)制的。SRAM FPGA的設(shè)計(jì)信息以數(shù)位流的形式存貯于外部的PROM或者Flash中。當(dāng)數(shù)據(jù)從外部PROM/Flash下載至FPGA時(shí)能被通用儀器追蹤并記錄,此外PROM/Flash本身也易于被復(fù)制。
隨著時(shí)間推移,SRAM FPGA廠(chǎng)商使用了不少方案來(lái)避免設(shè)計(jì)被復(fù)制。一種保密方法是使用電池后備數(shù)據(jù)保存方式,數(shù)位流在產(chǎn)品生產(chǎn)時(shí)即被載入芯片,此后當(dāng)系統(tǒng)處于關(guān)機(jī)狀態(tài)時(shí)FPGA的配置信息就由電池供電,使之不消失。然而一旦配置信息丟失,產(chǎn)品就需要送回廠(chǎng)商進(jìn)行維修。而電池失電則不僅需要重新載入數(shù)據(jù),還需要更換電池。另外,額外的電池也增加了SRAM FPGA的成本。另一種方法對(duì)數(shù)位流進(jìn)行加密,一些FPGA將密鑰存貯于芯片內(nèi)的特定RAM內(nèi),這種方法同樣需要備用電池的支持。
基于Flash的FPGA安全問(wèn)題
Flash FPGA的安全性?xún)?yōu)于SRAM FPGA,由于配置信息存貯于非易失的 FPGA,由于配置信息存貯于非易失的Flash結(jié)構(gòu)中,避免了使用易于讀取的數(shù)位流來(lái)進(jìn)行芯片配置。Flash FPGA通過(guò)對(duì)配置晶體管的浮柵進(jìn)行充放電來(lái)決定兩根金屬連線(xiàn)的導(dǎo)通與否,這種連接信息是非易失性的,在掉電后能夠繼續(xù)保持。
盡管復(fù)制Flash FPGA中的設(shè)計(jì)稍有困難,但是破解的辦法仍然存在。一種方法是用電學(xué)方法檢查配置晶體管浮柵上的電位來(lái)獲取連接信息,另一種方法是將Flash FPGA芯片加電后置于真空艙,然后用電子顯微鏡檢測(cè)其輻射。這些方法實(shí)現(xiàn)起來(lái)較為困難,但是仍然可能被破解者成功利用來(lái)對(duì)設(shè)計(jì)進(jìn)行復(fù)制。
ASIC的安全問(wèn)題
ASIC的安全性介于SRAM FPGA與Flash FPGA之間。ASIC相對(duì)而言比較安全,但是同樣存在破解的辦法。由于所需要的昂貴工具和較長(zhǎng)的處理時(shí)間,對(duì)ASIC進(jìn)行逆向工程的成本相對(duì)較高。
對(duì)ASIC進(jìn)行逆向工程的方法各異,從很平常的方法到很先進(jìn)的方法都有。一種常用的方法是每次從硅片上腐蝕掉一層,并進(jìn)行照像,然后利用Schottly效應(yīng)顯示N摻雜區(qū)和P摻雜區(qū)。該方法的原理是將一薄層金或鈀沉積到硅片表面以形成二極管,這些二極管可以在電子束作用下可以被觀測(cè)到。芯片的各層圖像錄入計(jì)算機(jī)后經(jīng)圖形軟件處理,從而可以確定芯片基本參數(shù)和掩膜板,電路圖以及庫(kù)單元列表,這種方法曾被成功用于Intel 80386處理器的逆向工程。
QuickLogic的ViaLink技術(shù)
業(yè)界專(zhuān)家認(rèn)為,反熔絲技術(shù)是市場(chǎng)上可用的最為可靠的安全技術(shù)。下面介紹QuickLogic的反熔絲ViaLink專(zhuān)利技術(shù)在可編程器件上的安全機(jī)制。
ViaLink是QuickLogic器件使用的一種速度極快,功耗低,非易失性的連接技術(shù)。該技術(shù)使用金屬電極和非晶硅構(gòu)成的反熔絲,非晶硅在其中充當(dāng)可編程材料。ViaLink未編程時(shí)阻抗極高,而一旦編程,則阻抗極低至類(lèi)似于金屬-金屬連接。
ViaLink技術(shù)所有配置信息存在于芯片內(nèi)部,因而無(wú)法通過(guò)配置數(shù)位流來(lái)竊取設(shè)計(jì)。QuickLogic設(shè)計(jì)文件是一個(gè)包含編程連接信息的ASCII文件,編程器用一個(gè)特定的數(shù)據(jù)庫(kù)對(duì)之進(jìn)行匹配,從而將所有連接名轉(zhuǎn)換為芯片上的位置,并且指定編程器對(duì)這些連接進(jìn)行熔斷。而克隆這樣的芯片,破解者必需要擁有編程文件以及空白芯片。
標(biāo)準(zhǔn)的ASIC逆向工程方法根本不適用于QuickLogic器件。由于ViaLink尺寸極小,直徑僅僅約為0.3 m,而且ViaLink頂端的化學(xué)特性與金屬相似,因而任一位置都可能是普通通道、已編程或未編程的ViaLink。已編程和未編程的ViaLink表面輪廓幾乎完全相同。蝕刻照相識(shí)別方法對(duì)之無(wú)能為力。
化學(xué)蝕刻是逆向工程的一種方法,然而化學(xué)蝕刻會(huì)破壞ViaLink編程點(diǎn)的結(jié)構(gòu)。
觀測(cè)每個(gè)反熔絲狀態(tài)的唯一方法是對(duì)芯片進(jìn)行縱向剖切,這種代價(jià)昂貴的方法稱(chēng)為聚焦離子束切割方法,但這種方法幾乎肯定會(huì)破壞芯片的其它部位。而且要成功破解QuickLogic芯片,破解者還需要知道所有的ViaLink位置。理論上而言,只有在確定了連接點(diǎn)的位置,才可以用掃描電子顯微鏡對(duì)之觀測(cè)。即便如此,區(qū)分已編程和未編程的ViaLink仍非易事。
另一困難則來(lái)源于芯片中龐大ViaLink的數(shù)目。Quick Logic芯片含有數(shù)量眾多的ViaLink,然而一般只有其中很少的一部分會(huì)被編程,而每個(gè)編程連接對(duì)整個(gè)設(shè)計(jì)的功能都有重要影響。例如QL7180 Eclipse Plus器件大約含有8,000,000個(gè)ViaLink連接,而典型的設(shè)計(jì)僅會(huì)使用其中的2%~4%,即被編程的ViaLink連接通常只有160K~320K。被編程的ViaLink連接中又有3/4用于短接閑置邏輯單元,僅有1/4用于設(shè)計(jì)本身,約為40K~80K。只需誤讀一個(gè)ViaLink就可能導(dǎo)致克隆芯片的功能異常,所以?huà)呙瓒ㄎ凰械腣iaLink位置往往需要數(shù)年的時(shí)間,這就使逆向工程對(duì)QuickLogic器件根本不具可行性。至今,仍沒(méi)有一個(gè)對(duì)采用Quicklogic 反熔絲FPGA進(jìn)行成功破解的先例。
標(biāo)簽:
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。