你的位置:首頁 > 測試測量 > 正文

大牛指點防止“電子產(chǎn)品被山寨”的高招

發(fā)布時間:2015-07-07 責(zé)任編輯:echolady

【導(dǎo)讀】電子產(chǎn)品日新月異,被山寨的產(chǎn)品何其多。但是每一個產(chǎn)品都是工程師付出了心血和精力去完成的,最后卻因為“免疫力差”,就被山寨模仿,面臨各種不安全問題。這些安全問題如何才能避免?怎么才能防止被山寨?今天就有大牛來支招。

核心的安全要素在“固件”

有人說,硬件和固件的安全同等重要!實際不然,硬件非常容易破解。因為材料、元器件,以及PCB都是標(biāo)準(zhǔn)化生產(chǎn)的,沒有秘密可言。且從技術(shù)含量上來說,固件通常比硬件要高,固件發(fā)揮余地最大,最能體現(xiàn)產(chǎn)品的設(shè)計水平。

措施一:關(guān)閉通往外界的“大門”

芯片的燒錄接口(如UART、JTAG)就像是通往外界的“大門”。通過這扇門,工具可以將固件灌入芯片或者讀取出來。如果不把這扇門給關(guān)上,里面的固件極易被抄襲者讀取,然后燒錄到復(fù)制的硬件。這樣,辛苦培養(yǎng)的“孩子”就變成了別人家的“孩子”。

關(guān)閉“大門”有以下幾種方式方式。

使能加密位(如MSP430的JTAG熔絲位),關(guān)閉燒錄接口,任何工具都無法接入。這種方式可靠性高,大多數(shù)MCU都具備這種特性;

固件主動將燒錄接口管腳配置成IO管腳,實現(xiàn)燒錄接口關(guān)閉,如JTAG的TCK管腳配置成GPIO。這種方式有一定風(fēng)險,固件必須在芯片啟動后盡可能快地關(guān)閉;

剪掉燒錄管腳。除非打開芯片,否則很難將管腳引出。由于可操作性較差,適用于產(chǎn)品量少、價值低的情況。

推薦第一種方式,且這種方式也已經(jīng)由SmartPro 2008軟件支持。可以直接在配置界面中勾選“加密位”。

措施二:為固件“加殼”

“加殼”就是為固件披上“保護(hù)罩”,數(shù)據(jù)格式及含義發(fā)生變化。抄襲者拿到數(shù)據(jù)后,至少得花個幾年的時間才能夠解開。最終解開時,產(chǎn)品即將跨入生命終點,這時已經(jīng)沒什么意義了。適用于不具備加密機制的NorFlash、NandFlash、EEPROM。

具體措施是:采取加密算法對原始數(shù)據(jù)加密,將加密后的數(shù)據(jù)寫入存儲器。讀取時,采用解密算法還原成原始數(shù)據(jù)。這種方式,需要工程師在固件中設(shè)置好加解密算法。

措施三:采用唯一ID芯片,固件跟硬件綁定


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

當(dāng)發(fā)現(xiàn)不一致時,固件可以不工作。有些工程師比較“壞”,固件會在某個特定的時間點做出“使壞”,比如異常死機。如果此時產(chǎn)品已經(jīng)賣給客戶,那些抄襲者們將會自食惡果!

如何保證固件跟硬件是完全綁定?使用SmartPro 2008軟件里的自定義SN功能,燒錄時可以讀取芯片ID,進(jìn)行運算,將結(jié)果植入主控芯片。固件只需要讀取運算結(jié)果,然后與當(dāng)前ID是否匹配,便可檢查出是否被抄襲。只要保密運算結(jié)果的存儲位置和計算方法,即使抄襲者讀取出數(shù)據(jù),也無法在其它芯片上使用!

措施四:不要輕易將原始固件交給其他人


在將固件交給工廠時,也要特別注意做好加密。看似安全的地方往往容易隱藏著問題。不管是交給自己的工廠,還是交給代燒工廠,盡量建立加密工程,并且限定只能在特定編程器上使用、限定允許燒錄的次數(shù)。即便加密工程被抄襲者拿到,也沒有任何用處。

在使用SmartPro 2008軟件時,可以開啟保護(hù)模式,允許用戶設(shè)置密碼,加密工程。

以上幾種安全措施,沒有哪一種是絕對安全的。在實際設(shè)計時,應(yīng)該考慮采用多種措施,從各個方面提升安全性能。

相關(guān)閱讀:

可穿戴設(shè)備想要“智變”,什么樣的智能材料能滿足?
技術(shù)人生:一個智能硬件初創(chuàng)團(tuán)隊的經(jīng)驗分享
剖析飽受“熱議”的智能硬件趨勢與設(shè)計難點

要采購工具么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉