打印

如何用芯片唯一的ID号实现软件加密

[复制链接]
7959|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 雨下枫 于 2011-5-27 16:21 编辑

最近想试着用用芯片的ID号,实现软件的加密功能。
但是一直没有想到比较好的方法,请坛里的大侠们指点一二,讲一下具体实现的过程。
按我的理解,加密过程如下:
1、先用上位机读出芯片的唯一ID号
2、将这一ID号作为原始值,通过某种加密算法得到了加密后的值PW
3、将PW值存到EEPROM中
4、在应用程序中读取PW值,通过解密算法得到芯片的ID
5、应用程序读取芯片的ID值,和解密后得到的ID值进行比较看是否一致。

以上的做法个人觉得安全性不够。

大牛们进来互动一下!
评分
参与人数 1威望 +1 收起 理由
autopccopy + 1 对,加密流程就是这样!

相关帖子

沙发
donkey89| | 2011-5-27 16:54 | 只看该作者
你读ID到上位机很可能就已经泄密了,这个ID能让人知道吗?

使用特权

评论回复
板凳
chunyang| | 2011-5-28 00:43 | 只看该作者
关键在于加密的算法和程序结构,校验过程倒不是最重要的。

使用特权

评论回复
地板
雨下枫|  楼主 | 2011-5-30 14:16 | 只看该作者
2# donkey89
ID本来就是透明的,用户随时都可以访问内部的寄存器得到ID值,加密的过程是通过加密算法实现的。

使用特权

评论回复
5
雨下枫|  楼主 | 2011-5-30 14:19 | 只看该作者
3# chunyang
春哥,能否对程序结构这方面详细讲解一下。
另外加密算法打算借鉴microchip的keelog加密算法

使用特权

评论回复
6
地瓜patch| | 2017-1-3 14:51 | 只看该作者
这种加密方式,到批量生产的时候,效率不高啊。每次都要读取芯片id后改写程序?

使用特权

评论回复
7
雨下枫|  楼主 | 2017-1-3 15:33 | 只看该作者
地瓜patch 发表于 2017-1-3 14:51
这种加密方式,到批量生产的时候,效率不高啊。每次都要读取芯片id后改写程序? ...

看过你的创业史,视你为榜样。请教一下你有什么好的办法?

使用特权

评论回复
8
地瓜patch| | 2017-1-3 20:39 | 只看该作者
雨下枫 发表于 2017-1-3 15:33
看过你的创业史,视你为榜样。请教一下你有什么好的办法?

不好意思,你看错了,不是我的

使用特权

评论回复
9
dzguang| | 2017-1-12 16:49 | 只看该作者
相当好解决的方法,为什么要这么复杂呢?还要放到eeprom里,直接当成代码写到flash里不是更可靠,而且写在代码的中间,周围的一片全部使用无用指令。就是代码的下载稍微的复杂一些。你要有一个可以加密的上位机,配合一个bootloader就可以了。只能说这么多了。

使用特权

评论回复
10
autopccopy| | 2017-1-12 20:07 | 只看该作者
对,加密流程就是这样! 可参看STC的单片机唯一ID加密的方法。STC的烧录软件STC-ISP提供了HEX文件与ID的运算,不用手工逐一修改HEX文件:

http://www.stcisp.com/stc_id_encryption_stcisp.html


2849

stc_id_encryption_stcisp.jpg (383.04 KB )

stc_id_encryption_stcisp.jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

466

帖子

3

粉丝