基于Unique ID的单片机程序加密系统 单片机唯一ID程序加密





文章原始地址:http://feotech.com/?p=25




基于Unique ID的单片机程序加密系统 单片机唯一ID程序加密

单片机一般作为一个产品的逻辑中心,工作时一直在进行着逻辑判断与执行操作,相当于人类的大脑。单片机可以通过修改程序来控制外围电路的工作状态,从而改变产品的功能。如果一个产品具有单片机,那么它往往是这个产品的核心。而开发一款功能复杂且成熟的产品所需要的费用不低并且研发周期较长,一些个人为了某些原因,为了快速仿造竞争对手的产品,一般就原样照抄对方的硬件电路,但由于单片机内部有针对产品功能单独设计的程序,不能直接再市面上购买,所以就只能想办法通过特殊的解密方法将单片机内部的程序读取出来。将解密后读取出来的程序烧录在新的芯片中从而完成产品功能的抄袭。通过专用的设备和工具,利用单片机芯片设计上的硬件漏洞或软件缺陷,通过多种技术手段获取单片机内程序这叫做单片机解密或单片机破解。以不正当方式获得其他公司或个人的商业秘密,是一种常见的不正当竞争行为。单片机加密技术是对产品知识产权保护的一种技术手段。

Unique ID加密原理

当前市面上的单片机资源中大多数具有Unique ID,即每一个芯片内部均具有唯一的芯片ID号。不同的芯片厂家实现该功能的方式不同,一些用生产线的流水号,另一些是用晶圆的特性来生成ID。 利用Unique ID加密的方法流程如下:

单片机一般作为一个产品的逻辑中心,工作时一直在进行着逻辑判断与执行操作,相当于人类的大脑。单片机可以通过修改程序来控制外围电路的工作状态,从而改变产品的功能。如果一个产品具有单片机,那么它往往是这个产品的核心。而开发一款功能复杂且成熟的产品所需要的费用不低并且研发周期较长,一些个人为了某些原因,为了快速仿造竞争对手的产品,一般就原样照抄对方的硬件电路,但由于单片机内部有针对产品功能单独设计的程序,不能直接再市面上购买,所以就只能想办法通过特殊的解密方法将单片机内部的程序读取出来。将解密后读取出来的程序烧录在新的芯片中从而完成产品功能的抄袭。通过专用的设备和工具,利用单片机芯片设计上的硬件漏洞或软件缺陷,通过多种技术手段获取单片机内程序这叫做单片机解密或单片机破解。以不正当方式获得其他公司或个人的商业秘密,是一种常见的不正当竞争行为。单片机加密技术是对产品知识产权保护的一种技术手段。

Unique ID加密原理
当前市面上的单片机资源中大多数具有Unique ID,即每一个芯片内部均具有唯一的芯片ID号。不同的芯片厂家实现该功能的方式不同,一些用生产线的流水号,另一些是用晶圆的特性来生成ID。 利用Unique ID加密的方法流程如下:

A. 将单片机烧录程序A后上电运行程序,完成加密操作。
B. 将单片机烧录程序最终程序B,该程序包含ID识别部分。 加密流程图如下:
这里写图片描述

  • 程序A负责读取芯片内部的Unique ID,并进行加密运算。将运算的结果写入芯片内部的EEPROM。
  • 程序B是实现产品最终功能的程序,该程序其中加入了产品身份识别功能。该程序首次上电后将首先读取EEPROM数据,并进行与加密算法相同的逆向算法,将加密后的数据进行解密获得芯片Unique ID。将解密后的ID与当前芯片的ID进行比对,如果数据不同则判断为非法程序。

加密算法

为了防止破解者通过仿真的方式找到芯片ID信息,一般不宜直接存放ID号。而是经过相应的加密处理后写入存储器中。校验方式也不宜采用常见、简单的校验规则,应尽可能采用某些特殊的检验方式,使破解者不能迅速确定校验算法。
加密的算法类似数学公式 Y=F(X) 其中Y为加密以后的数据,X为原始数据,而F则为加密算法。
加密算法有很多种,本实验中采用简单的位移后取反的方式来进行数据加密。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值