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

評論