理論上,只要有足夠的投入和時間,任何單片機都可以被攻擊者攻破。這是系統設計者應該時刻牢記的基本原則。因此,作為壹名電子產品的設計工程師,非常有必要了解單片機攻擊的最新技術,做到知己知彼,才能有效防止自己花費大量金錢和時間苦心設計的產品壹夜之間被仿冒。根據胡繩的解密實踐,我們提出以下建議:(1)在選擇加密芯片之前,要充分調研和了解芯片解密技術的新進展,包括哪些單片機已經確認可以破解。盡量不要選擇可破解的芯片或同系列同型號的芯片,選擇新技術、新結構、上市時間短的單片機。比如可以用ATMEGA88PA的話,目前國內破解成本在6K左右,其他相對較難解密的芯片有ST12系列和dsPIC30F系列。其他的也可以用CPLD加密,所以解密成本很高,壹般CPLD的解密也需要1萬左右。(2)盡量不要選擇MCS51系列單片機,因為這種單片機是國內最普及、研究最透徹的。(3)產品的原創者壹般都具有產量大的特點,所以造假者使用相對不常用、冷門的單片機購買難度更大。壹些不常見的單片機,如Attiny 2313,AT89C51RD2,AT89C51RC2,摩托羅拉單片機等難以解密的芯片,目前國內都會開發。(4)在設計成本允許的情況下,應選擇具有硬件自毀功能的智能卡芯片,以有效應對物理攻擊;另外,在編程的時候,給定時功能加上時間,比如用了1年,所有功能都會自動停止運行,這樣會增加破解者的成本。(5)如果條件允許,可以使用兩種不同型號的單片機互為備份,互為驗證,增加破解成本。(6)磨掉芯片型號等信息或重新印刷其他型號以假亂真(註意反面的LOGO也要擦掉。對於很多芯片,解密器可以從反面判斷型號,比如51,華邦,MDT等。).(7)單片機未公開和未使用的標誌位或單元可作為軟件標誌位。(8)使用MCS-51中的A5指令進行加密。其實世界上所有的資料,包括英文資料,都沒有講這個指令。其實這個指令是壹個很好的加密指令。A5的作用是在雙字節空操作指令的加密方法中,在A5後面加壹個雙字節或三字節的操作碼,因為所有反匯編軟件都不會反匯編A5指令,會導致正常程序被反匯編,如果程序執行沒有問題,抄襲者也無法更改妳的源程序。(9)妳要在節目區寫下妳的著名公司的發展時間和模仿會被追究法律保護的聲明;另外,寫名字的時候,可以是隨機的,也就是說利用某種算法,在不同的外界條件下,比如,等,妳的名字是不壹樣的。,很難拆卸和修改。(10)用高級編程器燒壹些內部管腳,也可以用自制設備燒金絲,目前國內幾乎無法解密。即使解密,也要幾萬塊錢,需要多張母片。(11)整個電路板用保密矽膠(環氧樹脂灌封膠)密封,PCB上沒用的焊盤比較多。矽膠裏還可以摻雜壹些沒用的元件,盡量把MCU周圍的電子元件擦掉。(12)對於SyncMos,華邦MCU,要燒錄的文件會轉換成十六進制文件,這樣燒錄到芯片中的程序空間會自動加00。如果習慣BIN文件,也可以用編程器把空白區域的FF改成00,這樣壹般的解密器就找不到芯片中的空間,無法進行後續的解密操作。(13)相對於水平加密,比如18F4620有壹個內部鎖相環,可以利用RC振蕩產生高精度的時鐘,上電時擦除18F4620的內部數據,所以解密後的文件根本無法使用。(14)作為日系芯片的代表,NEC系列單片機設計了足夠的保護措施,保證其程序代碼的安全。同時該系列單片機沒有程序讀取功能,無法用編程器讀取程序。(註:用編程器對芯片編程時,驗證功能不是讀出程序進行驗證,而是編程器將數據發送到芯片,芯片內核獨立完成與存儲區數據的比較,然後將比較結果返回給編程器)。當然,從根本上防止單片機被解密是不可能的。隨著加密技術和解密技術的不斷發展,現在無論是哪種單片機,只要有人願意出錢,基本上都可以制造出來,只是成本和周期長短的問題。程序員也可以從法律途徑(比如專利)保護自己的開發。
上一篇:煤炭行業工程設計資質-資質改革新標準下一篇:免檢蒸汽發生器需要免檢