芯片UID加密方案
- 格式:docx
- 大小:9.95 KB
- 文档页数:2
芯片UID加密方案
嵌入式系统产品的加密和解密永远是一对矛盾的统一体。为了保护产
品研发人员的技术成果,研究新型加密技术是非常有必要的。这里我们聊聊使
用芯片UID加密的方案。
首先需要明确的是,没有一种加密是“绝对”可靠的,但是加密手段可以
增加非法使用者的解密成本,借此来防止技术被“轻易”盗取。本次以LPC1000 的UID加密方案为例进行介绍。
一、LPC1000系列的加密方案
通过分析得出,基于CortexM0或CortexM3内核的LPC1000系列MCU 通过软件加密的方法有两种:
1、使用代码读保护机制,限制用户访问片内Flash;
2、通过芯片UID并添加加密算法使每片MCU内的程序具有唯一性。
代码读保护机制是通过使能系统中的不同安全级别,以便限制访问片内Flash,本次不做重点介绍。
二、UID加密
UID是唯一标识符(uniqueidentifier),在LPC1000系列微控制器的每一颗芯片都具有全球唯一的标识符,该标识符为128位二进制序列。因此我们可以利用芯片UID的唯一性对程序进行加密,使每一个产品中的程序也具有唯一性,即使非法使用者获取了MCU中的程序复制到其他芯片中也是不能正常运行的,从而达到保护开发者的知识产权不被侵犯和盗用的目的。
三、LPC1000的UID加密方案
基本思路是使用上位机软件通过编程器读取芯片的UID,经加密算法运
算后生成密钥,下载程序的同时向MCU的Flash中某个地址写入密钥;MCU上