STC单片机唯一ID保护的例子及思路

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

STC单片机唯一ID保护的例子及思路(摘自STC-ISP V6.XX【重要说明】部分)

关于ID号在大批量生产中的应用方法(较多客户的用法)(转载)

先烧一个程序进去(选择下次下载用户程序时不擦除用户EEPROM区),

读程序区的ID号(STC15系列是程序区的最后7个字

节),经用户自己的复杂的加密算法对程序区的ID号加密运算后生成一个新的数---用户自加密ID号,写入STC15系列用户

的EEPROM区的EEPROM。再烧一个最终出厂的程序进去(选择下次下载用户程序时将用户EEPROM区一并擦除),在用户程序

区多处读程序区的ID号和用户自加密ID号比较(经用户自己的复杂的解密算法解密后),如不对应,则6个月后随机异常,

或200次开机后随机异常。最终出厂的程序不含加密算法。

另外,在程序区的多个地方判断用户自己的程序是否被修改,如被修改,则6个月后随机异常,或200次开机后随机异常,

将不用的用户程序区用所谓的有效程序全部填满。

《应用笔记》

单片机加密保护的几种方式:

1、法律保护

由完善的法律加强对盗版的打击。在单片机程序里添加自己的版权、LOGO标记等,作为法庭上的证据(当然要加密保存,并反跟踪,程序运行中要校验是否被修改,如是则作相应的处理)。

2、技术保护。

其实理论上所有的单片机加密都会被破解,只是成本的问题(含时间成本、金钱成本等)。只要做到解密的成本足够大,让破解者觉得无利可

图即算成功!

通常是加密的容易而破解难。现代芯片的加密主要有工艺上缩小线宽、将保密位深埋、读写协议保密、读取敏感区域时自动重启等等方法,让破解者不能取得内部BIN执行代码。

假如一个系统的成本为:开发+测试+投产只需5万元,而破解得到BIN 文件却要10万元,这时哪谁还去做破解的傻事??

而且如果开发者使用了关联单片机唯一ID的保护方式,哪怕破解者千辛万苦取得了BIN文件还不能直接使用,就可以大大增加了系统的保密性。

加密者使用唯一ID的加密就像PC软件使用USB加密狗加密方式和银行网银的证书加密方式,都是通过唯一的认证工具,让系统识别合法用户。

BIN文件需要反汇编来修改,即使在PC如此先进的跟踪环境下,破解PC软件的USB加密狗的办法都很困难,更况且是在单片机的调试环境?!

加密者可使用多重巧妙的加密(包括动态加密、代码CRC32校验、动态陷阱和随机报错等等),破坏反汇编器的跟踪,这时需要破解者人工进行层层跟踪,这个可是个浩大的工程,

人力金钱成本和时间成本也是很大的,往往比重新开发还高,得不偿失啊。这绝不是学校的例题一样:将“判断指令JNZ改为JZ”这么简单!至于网上有人说利用单片机外部器件(例如:DS18B20)的唯一ID用来加

密,却忘了破解者可以使用另一小单片机模拟这个唯一ID,这样的加密方法是非常脆弱的。

一定要使用象STC单片机的内部唯一ID加密才是上策!

有人说,STC单片机早期的唯一ID存在于RAM中的7个字节,而不是光刻在硅晶片上的唯一ID,容易被破坏:只要在程序前做一个转跳去修改该RAM的ID区域为原ID可以破解。

或者直接跳过该ID的判断来解密。哈哈,听上去不错,但实际上加密者可以在启动后其复制到变量中使用,以及在程序中有技巧地重重判断程序本身是否被修改了。若发

现被修改则进入保护陷阱!

现在,新的STC15F系列单片机还在增加了一种在程序FLASH最后7个字节的新唯一ID!这个是不可改写的,可增加保密程度,数据更安全了。

所以好好利用单片机内部的唯一ID,是加密的利器,对保护投资者、开发者的合法权益就具有很大意义了。

3、不断优化完善系统,升级固件和产品,赢得客户。

<相关链接>

●具全球唯一ID号的加密单片机亮相IIC-China 2011

●STC单片机中全球唯一ID号的使用及编程方法(作者:杜洋,视频密

码:111811)

相关文档
最新文档