就目前所了解的來看,防止抄板不僅僅是個(gè)技術(shù)問題,更應(yīng)該是個(gè)博弈的過程。設(shè)計(jì)產(chǎn)品時(shí),不應(yīng)不計(jì)成本地追求無法被抄板的技術(shù),而應(yīng)該根據(jù)產(chǎn)品特性選擇適合的防抄板手段來增加抄板的復(fù)雜度,從而使得抄板成本變得不可接受,有效避免硬件被盜版。
抄板和防抄板是個(gè)“攻和防”的問題,只有了解如何“攻”,才能更好的去“防”。解決此問題除了咨詢專業(yè)PCB設(shè)計(jì)人員以及網(wǎng)上搜索外,還采用以買家身份和提供抄板服務(wù)的公司或個(gè)人溝通,了解PCB抄板及芯片解密的行情。
以下為調(diào)研PCB抄板及芯片解密情況:
在TB選擇一款電路模塊(size:6X6cm,雙層),通過咨詢相關(guān)抄板企業(yè),了解到復(fù)制這款模塊的價(jià)格在400元左右,可以提供PCB文件和元器件清單,加200元可以提供原理圖文件,且保證板子的正確性。通過繼續(xù)溝通了解到,此公司不可以抄高頻PCB板以及柔性板,稱其難度較大。如果PCB上有芯片LOGO被打磨掉,需要找專業(yè)人士鑒定型號(hào),這需另收費(fèi)用。
而后咨詢一家國(guó)內(nèi)比較專業(yè)的芯片解密公司,了解到解密一款51單片機(jī)時(shí),其要價(jià)為20000元。若芯片中的程序在下載程序時(shí)被加密,則解密難度會(huì)加大。且此芯片型號(hào)較新,以前沒有解密過,不能保證100%解密。然后我又提出由于芯片采用防抄板技術(shù),在上電時(shí)需要認(rèn)證ID號(hào)。得到的回復(fù)是這需要反匯編操作,其無法完成此此任務(wù)。
從以上的溝通了解到,“硬件盜版”的難度等級(jí)從低到高大致是為:從電路板反向出PCB文件或原理圖文件,高頻PCB或軟性PCB的抄板,推斷出沒有LOGO的元件型號(hào),解密芯片獲得二進(jìn)制文件,對(duì)被加密的二進(jìn)制文件進(jìn)行反匯編等。
下面簡(jiǎn)單介紹可采用的防抄板手段:
1、PCB抄板的防范手段有
①、打磨掉芯片上的LOGO,多采用沒有器件標(biāo)識(shí)的元件以及在不影響功能的前提下,放置干擾元件。采用這些措施來增加從電路板反向出PCB文件。
②、封膠,噴漆。這種方法只能簡(jiǎn)單的增加抄板難度。
③、PCB采用埋孔和盲孔技術(shù),使過孔藏在板內(nèi),此方法成本較高,只適用于高端產(chǎn)品。
④、對(duì)于高頻板可以利用PCB的特性,利用分布電容等參數(shù),使得抄板后參數(shù)出現(xiàn)差異而導(dǎo)致板子不能正常工作。
總的來說,目前反向設(shè)計(jì)可以采用低成本的操作流程對(duì)PCB進(jìn)行復(fù)制,所以PCB上可做的防范措施只是增加抄板難度以及抄板成本。
2、芯片解密的防范手段有
①、打磨掉芯片LOGO,印上其它芯片的LOGO。選擇電源、地等引腳布局大致相同的芯片(最簡(jiǎn)單的方法是選擇同一公司不同型號(hào)芯片的LOGO)。這可以誤導(dǎo)解密公司,使其解密出的芯片無法正常工作。需要返工,重新分析器件型號(hào),增加解密成本。
②、采用一些比較生僻、偏冷門的單片機(jī)來加大仿冒者采購的難度,以及避免遭遇所采用的芯片已經(jīng)被某些公司解密過的情況。
③、主控芯片選擇加密性能比較好,解密難度較大的芯片。或直接采用具有高安全性能的SoC。
④、在設(shè)計(jì)成本許可的條件下,應(yīng)選用具有硬件自毀功能的智能卡芯片,以有效應(yīng)對(duì)物理攻擊。
⑤、采用CPU卡通用COS保護(hù)技術(shù)或開放的CPU卡加密協(xié)處理器技術(shù)。
⑥、主控芯片的程序在下載時(shí)采用軟加密的方式。
⑦、在程序區(qū)中,標(biāo)注你的單位,開發(fā)時(shí)間及仿制必究等標(biāo)識(shí),以備獲得法律保護(hù)。
芯片的解密相對(duì)難度較大,成本較高。采用簡(jiǎn)單的防范措施就可以極大的增加“硬件盜版”的難度,從而增加解密成本。
3、軟硬件結(jié)合的防范手段
①、最簡(jiǎn)單的防范手段是采用口令認(rèn)證。目前主流的處理器芯片都會(huì)有唯一的ID號(hào),在系統(tǒng)上電后,首先讀取該ID號(hào),確認(rèn)此ID號(hào)在授權(quán)范圍內(nèi),從而保證硬件的有效性。這種方法基本不會(huì)增加開發(fā)成本,且能達(dá)到一定的保護(hù)效果。為增加安全性,可以對(duì)ID號(hào)進(jìn)行加密處理。但這種口令直接傳輸?shù)姆绞剑瑫?huì)被很容易地破解。
②、動(dòng)態(tài)口令認(rèn)證防護(hù)技術(shù),可以通過專用防護(hù)芯片來實(shí)現(xiàn)。其操作流程以及和處理器的硬件連接如下圖所示:
基本原理是防護(hù)芯片和MCU內(nèi)置相同的密鑰和相同的對(duì)稱算法,利用隨機(jī)數(shù)作為通訊數(shù)據(jù),MCU判斷防護(hù)芯片的計(jì)算結(jié)果正確與否,來決定程序是否繼續(xù)運(yùn)行。這種產(chǎn)品和技術(shù)解決了認(rèn)證過程中口令的明文傳輸,可以有效的避免“硬件盜版”。DM2016采用OTP ROM來保存密鑰,由于OTP ROM的解密比Flash的解密難度大,所以提升了防范“硬件盜版”性能。其缺點(diǎn)是增加了硬件成本,且占用了PCB面積。
③、采用專用的SoC芯片,將加密模塊和處理器集成在一個(gè)MCU中,這種芯片如ESPU0808,其內(nèi)集成了加密處理單元和8051內(nèi)核。
總的來說,軟硬件結(jié)合的技術(shù)可以有效地防范“硬件盜版”行為,極大地增加盜版成本。但就技術(shù)而言,還是可以通過技術(shù)手段破解的。
4、我的一種構(gòu)想
目前采用軟硬件結(jié)合的方法可以獲得比較好的安全性能,要想解密此硬件,可以通過繞過硬件認(rèn)證,獲得密鑰以及反匯編等技術(shù)手段。所以可以從以下幾個(gè)方面來采取措施。
①、為了硬件認(rèn)證被繞過,硬件認(rèn)證最好不要僅集中在系統(tǒng)上后的一部分代碼。可以采用隨機(jī)函數(shù)+定時(shí)器的方法進(jìn)行認(rèn)證。
②、為了避免密鑰被獲取,最好采用動(dòng)態(tài)口令認(rèn)證。這樣就避免密鑰的直接傳輸,使得解密軟件或?qū)S锰綔y(cè)設(shè)備很難從芯片中獲得的二進(jìn)制文件推敲出密鑰。
③、反匯編是對(duì)軟件加密最具殺傷力的技術(shù)手段。目前很多MCU都會(huì)采用一些加密措施來防范解密者從MCU的Flash中獲得二進(jìn)制文件。但這種方法還是會(huì)被解密者通過非侵入式,侵入式或半侵入式手段攻克。而如果程序通過加密的方式下載,則可以很好的避免直接的反匯編。從加密的二進(jìn)制文件中獲得密鑰和加密算法或繞開硬件認(rèn)證是比較困難的,這就有效防止了產(chǎn)品被盜版。
原文標(biāo)題:如何防止自己設(shè)計(jì)的電路被其他人抄了?
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論