如何在生產時防止代碼泄漏
產品在出廠后往往都會對芯片進行軟硬件加密,要想山寨產品需要破解芯片,然而對已加密的芯片進行解密,一般需要拆解芯片,分析其內部總線結構,破解周期長,費用昂貴。但很多時候代碼往往是在生產時泄漏的,本文將介紹如何在生產時防止代碼泄漏。
本文引用地址:http://www.104case.com/article/201801/374034.htm有很多企業在產品研發完成后,一般選擇代工廠進行批量生產,代碼的安全性尤為重要。為了避免工廠直接接觸代碼,一般會在編程器上建立加密工程,對燒錄文件進行加密保護,再將加密后的工程發給代工廠生產,杜絕了文件被直接泄漏的可能。

圖1 工程加密
傳統的燒錄方式為擦除—編程—校驗—加密,該方式可以保障芯片在燒錄完成后處于加密狀態,在一定程度上杜絕了代碼泄漏的可能性,但并非無懈可擊,只要一個小動作就可以輕易盜取芯片內部的代碼,例如,燒錄執行完擦除—燒寫后,在校驗的時候將板子(芯片)從編程器的連接中斷開,使燒錄沒有執行到加密階段,此時的芯片處于燒寫完成但未加密的狀態,隨便一個編程器就可以讀取其內部的代碼,從而導致代碼泄漏。

圖2 傳統燒錄方式
為了解決這個問題,P800isp編程器提供了靈活編輯的組合配置,組合中的操作可以任意增減、調整執行順序。為了避免生產中代碼泄漏,可以將組合順序調整為擦除—加密—編程—校驗,在編程之前先加密,這樣可以保證編程完成后,芯片一旦發生復位(或掉電),加密就會生效,禁止讀取內部代碼。當然,該方式也需要芯片本身的支持,有些芯片一旦執行加密,就會立即生效,如MicroChip的PIC系列芯片、ATMEL的ATSAM4C系列芯片等等,只能使用傳統的燒錄方式。

圖3 自定義安全加密方式
評論