OTP是什么
OTP(One Time Programmable)是單片機的一種存儲器類型,意思是一次性可編程:程序燒入單片機后,將不可再次更改和清除。
隨著嵌入式應用的越來越廣泛,產品的安全也顯得越來越重要。一方面是為了保護硬件設計,另外一方面也是為了產品本身的安全,防止被HACKED.
根據存儲器的不同可以把單片機分為OTP(一次性編程),FLSH和MASKE掩膜三種形式。
OTP加密模式原理
聽說過比較暴力一點的:
51類單片機在完成三級加密之后采用燒壞加密鎖定位(把芯片內的硅片擊穿),不破壞其它部分,不占用單片機任何資源。加密鎖定位被燒壞后不再具有擦除特性。
一旦用OTP模式加密后,單片機片內的加密位和程序存儲器內的數據就不能被再次擦除。(如上面所提到的)
經過OTP加密之后通過編程器讀取測試的時候會提示 部分引腳接觸不良—–斷腳。
例如:燒斷89c51的31腳 EA腳,燒斷89C51、89C2051的數據線以及燒斷PIC系列芯片的數據時鐘線等。
這種加密方式會對一些通過數據位單片機解密的方式,造成一定的困難。
但在我們安全啟動等相關領域有如下幾種常用的方式:
? 密鑰:OTP 使用一個唯一的密鑰來加密和解密數據。該密鑰只能被寫入一次,因此一旦被使用,就不能再次使用。這種加密方式是單向的,因為只有將數據加密成密鑰的形式才能進行驗證,而不能將密鑰解密成原始數據。
? 隨機數:OTP 還使用隨機數生成器來生成唯一的隨機數,并將這些隨機數用于加密和解密數據。這些隨機數只能被寫入一次,并且只能在芯片上進行驗證。由于隨機數是唯一的,因此每個芯片都有自己唯一的加密和解密方式。
? 掩碼:OTP 還使用掩碼來加密和解密數據。掩碼是一種唯一的數據格式,用于保護數據的機密性和完整性。在 OTP 中,掩碼只能被寫入一次,并且只能在芯片上進行驗證。掩碼可以用于保護敏感數據、控制訪問權限等。
為什么需要OTP?
在嵌入式系統當中,所有的代碼和系統數據都是被存儲在FLASH芯片內部的。FLASH芯片的特點是可多次擦寫,而且掉電數據不會丟失。
為了保護FLASH中的數據,越來越多的FLASH廠商在FLASH內部提供了一種特殊的寄存器:OTP寄存器。
OTP=One TimeProgrammable,意思是這個寄存器是只可以編程一次的,編程后就再也不可以修改了。
-
芯片
+關注
關注
453文章
50406瀏覽量
421840 -
單片機
+關注
關注
6032文章
44516瀏覽量
633035 -
存儲器
+關注
關注
38文章
7452瀏覽量
163606 -
OTP
+關注
關注
4文章
191瀏覽量
47104
發布評論請先 登錄
相關推薦
評論