芯片的加密,保證了芯片內部信息的安全性。有人會問,這個芯片加密了別人還能解密嗎?我這芯片安全嗎?本文為大家介紹幾種不同類型芯片的加密方式。
隨著信息技術的發展,信息的載體——芯片的使用也越來越多了,隨之而來的是各個芯片廠商對芯片保密性要求越來越高,用芯片加密的方式來確保芯片內部信息的安全性。其實芯片的安全加密問題與芯片的類型有關,不同類型的芯片加密后有不一樣的效果。
市面上現有的芯片種類很多,主要包括Flash,MCU,ARM,DSP,CPLD等。
1.Flash類芯片加密
Flash類芯片包含SPI Nor FLASH ,并行Nor FLASH,NAND FLASH,EMMC等,這些Flash類的芯片都沒有非常牢固的加密功能,對code區進行加密后,只能進行寫保護,如果有人想復制你的代碼,只要讀取母片即可,所以這類芯片安全性較低。
將上圖所示的信息設置好寫入芯片后,對應的區域即進入保護狀態,不能編程,擦除,只能通過清空加密寄存器中的信息,才能從新對芯片進行擦除,編程操作。
2.MCU,ARM類芯片加密
經常會有人就MCU加密保護后能否二次使用的問題進行咨詢。對于加密后的芯片能不能二次使用這個問題,得具體看是哪個類型的芯片,類似于TI 的MSP430系列芯片加密后即不可進行二次使用,這個加密為OTP(One Time Programmable)型,只能進行一次燒錄。其原理是通過高壓燒斷熔絲,使外部設備再也無法訪問芯片,這個是物理性,不可恢復,如要加密,請慎用!
但對于大部分ARM芯片來說,加密后芯片還是可以進行二次使用的。類似于NXP ARM類型芯片有3級可選的加密,即Level 1,Level 2,Level 3。其中Level 1 就是不做讀保護級別,即可以讀出芯片中的數據,但不能對芯片進行編程,擦除操作。如果芯片被設置為Level 2保護,這種狀態下,不能讀取芯片內的程序代碼內容,也不能對芯片再次做存儲空間的擦寫或芯片調試了。而Level 3級別的保護是不可逆的,保護后即不能進行其他操作。綜上,3個級別當中的Level 1和Level 2加密后還是可以通過解密的方式對芯片進行第二次操作,這種加密等級設置是比較人性化的。下圖為P800系列編程器加密設置操作界面。
3.DSP類芯片加密
該類型的芯片加密形式是通過在特定的區域寫入客戶的密碼進行加密。這種加密是可逆的,可以通過輸入對的密碼進行任何操作。但是有一種方式是不可逆的,即密碼為全“0”。其P800系列編程器加密設置窗口如下。
4.CPLD/FPGA類芯片加密
這類芯片加密后一般都可以通過擦除方式進行解密,不能對加密的芯片進行讀取操作,這種加密對芯片來說還是比較安全的。
以上便是幾種常見類型芯片的加密方式以及加密后的效果,用戶可以根據芯片類型選擇對應的加密方式,最大程度確保芯片內部信息的安全。