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,意思是这个寄存器是只可以编程一次的,编程后就再也不可以修改了。
-
芯片
+关注
关注
452文章
50117浏览量
420331 -
单片机
+关注
关注
6029文章
44480浏览量
631604 -
存储器
+关注
关注
38文章
7413浏览量
163466 -
OTP
+关注
关注
4文章
179浏览量
47069
发布评论请先 登录
相关推荐
评论