《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 電子產(chǎn)品防止被“山寨”的幾種方法

電子產(chǎn)品防止被“山寨”的幾種方法

2015-06-25
作者:周立功致遠(yuǎn)電子
關(guān)鍵詞: 燒錄接口 加密位 加殼 芯片ID

  摘要:產(chǎn)品就像工程師的“孩子”,是辛苦數(shù)月、甚至數(shù)年的結(jié)晶!為了“孩子”的安全,為了辛苦付出的成果不被別人抄襲,我們需要采取強(qiáng)有力的措施!
  產(chǎn)品就像工程師的“孩子”!需要付出數(shù)月、甚至數(shù)年的精力和心血去設(shè)計(jì)每個(gè)細(xì)節(jié)。它既需要細(xì)心呵護(hù)長(zhǎng)大;也需要打預(yù)防針來(lái)增強(qiáng)免疫力,以便應(yīng)對(duì)外面豐富多彩但同時(shí)危險(xiǎn)的世界。如果“免疫力”太差,“孩子”將面對(duì)各種不安全問(wèn)題。這其中最重要的安全問(wèn)題便是被“抄襲”?
  核心的安全要素在“固件”
  有人說(shuō),硬件和固件的安全同等重要!實(shí)際不然,硬件非常容易破解。因?yàn)椴牧?、元器件,以及PCB都是標(biāo)準(zhǔn)化生產(chǎn)的,沒(méi)有秘密可言。且從技術(shù)含量上來(lái)說(shuō),固件通常比硬件要高,固件發(fā)揮余地最大,最能體現(xiàn)產(chǎn)品的設(shè)計(jì)水平。
  措施一:關(guān)閉通往外界的“大門(mén)”
  芯片的燒錄接口(如UART、JTAG)就像是通往外界的“大門(mén)”。通過(guò)這扇門(mén),工具可以將固件灌入芯片或者讀取出來(lái)。如果不把這扇門(mén)給關(guān)上,里面的固件極易被抄襲者讀取,然后燒錄到復(fù)制的硬件。這樣,辛苦培養(yǎng)的“孩子”就變成了別人家的“孩子”。

圖片18.png


  關(guān)閉“大門(mén)”有以下幾種方式方式。
  l使能加密位(如MSP430的JTAG熔絲位),關(guān)閉燒錄接口,任何工具都無(wú)法接入。這種方式可靠性高,大多數(shù)MCU都具備這種特性;
  l固件主動(dòng)將燒錄接口管腳配置成IO管腳,實(shí)現(xiàn)燒錄接口關(guān)閉,如JTAG的TCK管腳配置成GPIO。這種方式有一定風(fēng)險(xiǎn),固件必須在芯片啟動(dòng)后盡可能快地關(guān)閉;
  l剪掉燒錄管腳。除非打開(kāi)芯片,否則很難將管腳引出。由于可操作性較差,適用于產(chǎn)品量少、價(jià)值低的情況。
  推薦第一種方式,且這種方式也已經(jīng)由SmartPro 2008軟件支持??梢灾苯釉谂渲媒缑嬷泄催x“加密位”。以MB9BF506R為例,配置界面如下。

圖片19.png

       措施二:為固件“加殼
  “加殼”就是為固件披上“保護(hù)罩”,數(shù)據(jù)格式及含義發(fā)生變化。抄襲者拿到數(shù)據(jù)后,至少得花個(gè)幾年的時(shí)間才能夠解開(kāi)。最終解開(kāi)時(shí),產(chǎn)品即將跨入生命終點(diǎn),這時(shí)已經(jīng)沒(méi)什么意義了。適用于不具備加密機(jī)制的NorFlash、NandFlash、EEPROM。
  具體措施是:采取加密算法對(duì)原始數(shù)據(jù)加密,將加密后的數(shù)據(jù)寫(xiě)入存儲(chǔ)器。讀取時(shí),采用解密算法還原成原始數(shù)據(jù)。這種方式,需要工程師在固件中設(shè)置好加解密算法。

圖片20.png


  措施三:采用唯一ID芯片,固件跟硬件綁定
  如果做最壞的打算,固件已經(jīng)被讀出來(lái)了,是否還有希望防抄襲?有!有些工程師巧妙地選用具有唯一ID的芯片,這樣便無(wú)法復(fù)制出完全相同的硬件。固件會(huì)檢查ID是不是與它期望的一樣。如果不一樣,就可以判斷出有人已經(jīng)破解成功,然后將固件燒到其它硬件。

圖片21.png


  當(dāng)發(fā)現(xiàn)不一致時(shí),固件可以不工作。有些工程師比較“壞”,固件會(huì)在某個(gè)特定的時(shí)間點(diǎn)做出“使壞”,比如異常死機(jī)。如果此時(shí)產(chǎn)品已經(jīng)賣給客戶,那些抄襲者們將會(huì)自食惡果!
  如何保證固件跟硬件是完全綁定?使用SmartPro 2008軟件里的自定義SN功能,燒錄時(shí)可以讀取芯片ID,進(jìn)行運(yùn)算,將結(jié)果植入主控芯片。固件只需要讀取運(yùn)算結(jié)果,然后與當(dāng)前ID是否匹配,便可檢查出是否被抄襲。只要保密運(yùn)算結(jié)果的存儲(chǔ)位置和計(jì)算方法,即使抄襲者讀取出數(shù)據(jù),也無(wú)法在其它芯片上使用!

圖片22.png

       措施四:不要輕易將原始固件交給其他人
  在將固件交給工廠時(shí),也要特別注意做好加密??此瓢踩牡胤酵菀纂[藏著問(wèn)題。不管是交給自己的工廠,還是交給代燒工廠,盡量建立加密工程,并且限定只能在特定編程器上使用、限定允許燒錄的次數(shù)。即便加密工程被抄襲者拿到,也沒(méi)有任何用處。

圖片23.png

       在使用SmartPro 2008軟件時(shí),可以開(kāi)啟保護(hù)模式,允許用戶設(shè)置密碼,加密工程。
  總結(jié)
  以上幾種安全措施,沒(méi)有哪一種是絕對(duì)安全的。在實(shí)際設(shè)計(jì)時(shí),應(yīng)該考慮采用多種措施,從各個(gè)方面提升安全性能。這樣一來(lái),我們可愛(ài)的工程師們辛苦勞動(dòng)成果才不會(huì)那么容易地被抄襲,“孩子”才能安全!

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。