新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)制造商面臨的IP安全性的挑戰(zhàn)

嵌入式系統(tǒng)制造商面臨的IP安全性的挑戰(zhàn)

作者: 時(shí)間:2013-12-06 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/256996.htm


在生成十六進(jìn)制文件(將在生產(chǎn)就緒型系統(tǒng)編程)的同時(shí),系統(tǒng)設(shè)計(jì)人員必須設(shè)定合適的保護(hù)等級(jí),想方設(shè)法實(shí)現(xiàn)最高


對(duì)于需要為不同閃存區(qū)域設(shè)定不同保護(hù)等級(jí)的系統(tǒng)而言,最好檢查一下閃存粒度保護(hù)的設(shè)定情況。有些微控制器只允許為閃存賦予一個(gè)保護(hù)等級(jí)。有些器件允許將閃存分為容量為數(shù)kB的塊,有的閃存塊甚至低至64字節(jié)。應(yīng)使用可將閃存分為小塊的器件,這樣能最大程度地縮小處于較低保護(hù)等級(jí)的閃存區(qū)域。否則會(huì)造成閃存浪費(fèi)或使更多閃存內(nèi)容面臨安全威脅。


隱藏模擬與數(shù)字資源及其互聯(lián)方式


目前我們已經(jīng)討論了系統(tǒng)固件部分的保護(hù)問題。一些OEM廠商為了防止競(jìng)爭(zhēng)對(duì)手讀取部件編號(hào),會(huì)在PCB板上涂焦油或環(huán)氧樹脂。對(duì)于大批量系統(tǒng)還可以在IC器件上印刷定制部件編號(hào)。定制部件編號(hào)同樣可以使實(shí)際部件編號(hào)難以識(shí)別。然而,這些方法都無法做到萬無一失。競(jìng)爭(zhēng)對(duì)手可以跟蹤各種連接,觀察各種引腳上的信號(hào),并找出設(shè)計(jì)中所使用的部件,而且找到各種模塊在PCB板上的連接方式也并非難事。因此,隱藏各種外設(shè)及其互連方式的唯一辦法就是使用物理隱藏。例如,如果所有連接都能隱藏到單個(gè)芯片內(nèi)部,那么要弄懂信號(hào)鏈并確定系統(tǒng)使用的外設(shè)就變得更加困難。將各種外設(shè)集成到單個(gè)芯片中有助于隱藏硬件相關(guān)信息,考慮到這一事實(shí),因此在防止受逆向工程攻擊時(shí),片上系統(tǒng)(SoC)器件應(yīng)該是最佳選擇。然而,有些SoC的專用引腳存在逆向工程漏洞,例如當(dāng)器件為外設(shè)提供專用引腳時(shí),就很容易判斷出所使用的外設(shè)類型。因此,那些具有靈活布線功能、可以讓任意外設(shè)連接任意引腳的SoC能夠更好地防止受逆向工程攻擊。


圖3(a)、3(b)和3(c)分別給出了電動(dòng)自行車控制系統(tǒng)的三個(gè)高端實(shí)現(xiàn)實(shí)例(為了簡(jiǎn)便,只給出了比較抽象的方框圖,并未包含PCB上的各種其它組件)。這些實(shí)現(xiàn)方案包括:

· 使用焊接在印刷電路板上的各個(gè)模塊

· 使用帶專用外設(shè)引腳的SoC

· 使用帶靈活I(lǐng)/O布線功能的SoC


圖3(a):基于單個(gè)組件的實(shí)現(xiàn)方案


圖3(b):帶專用外設(shè)引腳的SoC


圖3(c):采用帶靈活I(lǐng)/O布線功能的SoC


如果讓工程師對(duì)以不同方式實(shí)現(xiàn)同一系統(tǒng)的這三種PCB板進(jìn)行逆向工程設(shè)計(jì),哪種更容易被還原工程?答案很明顯應(yīng)該是圖3(a)中的實(shí)現(xiàn)方案,因?yàn)橐磺卸记逦┞对赑CB板上。要對(duì)3(b)中的方案進(jìn)行反逆向工程設(shè)計(jì)就需要更長(zhǎng)的時(shí)間,但仍可獲得基本的實(shí)現(xiàn)方法。那么圖3(c)方案會(huì)怎樣?可以說很難甚至不可能摸清這種實(shí)現(xiàn)方案,因?yàn)樗袷且粋€(gè)只有輸出和輸出的黑盒子。工程師根本無法找到該系統(tǒng)中實(shí)現(xiàn)的模擬信號(hào)鏈,因?yàn)镾oC可以讓所有外設(shè)連接任何一個(gè)引腳,而且這些外設(shè)在內(nèi)部的互連無需借助任何物理引腳。此外,由于可編程邏輯沒有使用專用引腳,因此無法找到保護(hù)邏輯。


對(duì)這種方案進(jìn)行逆向工程設(shè)計(jì)的唯一可能方法是讀取決定外設(shè)與引腳連接的寄存器。但是競(jìng)爭(zhēng)對(duì)手必須首先解決閃存讀取這個(gè)難題。如果有人能破解閃存的安全機(jī)制,或者系統(tǒng)設(shè)計(jì)人員忘了設(shè)置必要的閃存保護(hù)功能,那么如果外設(shè)與大部分MCU一樣有固定地址,這種情況下信號(hào)鏈才可能被破解。


賽普拉斯半導(dǎo)體公司的PSoC 1器件在這方面能提供最佳的安全功能。這些器件采用通用模擬和數(shù)字模塊以及可編程布線方式。同一通用模塊可實(shí)現(xiàn)任意外設(shè)。例如,可編程模擬模塊可用于實(shí)現(xiàn)可編程增益放大器 (PGA)、模數(shù)轉(zhuǎn)換器(ADC)、比較器、濾波器甚至電容式感應(yīng)模塊??删幊虜?shù)字模塊可配置成定時(shí)器、計(jì)數(shù)器、UART、PRS生成器或SPI。這些模塊都可以連接到任意引腳。這一切都由一些寄存器位來確定。這些寄存器值存儲(chǔ)在閃存中并在啟動(dòng)過程中加載。寄存器值在閃存中的存儲(chǔ)位置并不固定,而是由程序來決定。系統(tǒng)設(shè)計(jì)人員可在編譯過程中改變寄存器值的存儲(chǔ)位置。此外,還可以在運(yùn)行過程中修改這些寄存器值,以便重新配置模塊從而實(shí)現(xiàn)不同外設(shè)。例如,在啟動(dòng)階段配置成可編程增益放大器的模塊可重新配置成比較器或ADC。因此,幾乎不可能對(duì)包含這類器件的設(shè)計(jì)中的硬件資源進(jìn)行逆向工程設(shè)計(jì)。



關(guān)鍵詞: IP 安全性 嵌入式系統(tǒng)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉