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

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

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

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