打印

关于STM32F器件电子签名以及加密问题-请指点

[复制链接]
9137|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eydj2008|  楼主 | 2010-8-19 14:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.STM32F器件电子签名 发现没有规则 不是我们想像的 96位 从0 一直加到96位的
那么这个STM32F器件电子签名 不规则我觉得是不可能的,一个批次应该有规则的。
还请懂ST的指点。
2.有规则就没第二个问题了,没规则 如何加密呢? 比如我只想要某些ID能用这套程序。或是其它加密算法,如何应用?
沙发
香水城| | 2010-8-19 14:53 | 只看该作者
没规则,才能让不怀好意的人猜不到,作为签名才有意义;能被人猜到,谁都可以模仿,还叫什么签名呢?

正因为上述原因,即使有规则,也不能透露。

不太明白你的第2个问题。

使用特权

评论回复
板凳
eydj2008|  楼主 | 2010-8-19 15:00 | 只看该作者
那如何用这个 电子签名 加密 软件呢?
难道要读一个ID  编写一个软件吗? 那样多累啊  
比如我只想要这个批次的100个IC 能用这套软件 如何加密 举得最简单的例子,谢谢了 香主

使用特权

评论回复
地板
香水城| | 2010-8-19 15:19 | 只看该作者
再简单不过,发布这套软件之前,把这100个IC的ID保存在软件中,运行软件时检查一下即可,:lol

使用特权

评论回复
5
香水城| | 2010-8-19 15:21 | 只看该作者
想复杂一点,你就去问问这里的Hot大叔(hotpower),他是这方面的专家,:lol

使用特权

评论回复
6
eydj2008|  楼主 | 2010-8-19 15:29 | 只看该作者
100个IC的ID  那要是10000个呢  我的天啊! 你这是什么算法!
那我不是要从这10000个IC里面读出ID,再来写我的程序啊 再烧程到IC里面。。。。。。方法是可行哈  :P
想了想,你也觉得这种方法也有些愚笨哈 :lol

使用特权

评论回复
7
香水城| | 2010-8-19 15:47 | 只看该作者
你说100个,我就给你一个简单的办法,前面你也没有说有10000个呀,:lol

要是10000个,可以用下面的常用办法:

  假定有一个加密算法f(x)和解密算法f-1(y),加密算法使用器件的电子签名作为密钥对一个固定的字符串(XXX)加密,得到密文YYY,解密算法再使用同样的器件电子签名对密文YYY解密,应该能够得到原文(XXX),如果解密算法解不出原文(XXX),就表示它使用的密钥(既电子签名)不是原来加密时使用的电子签名,可判定为非法使用。

DES就是一种常见的加解密算法。

使用特权

评论回复
8
eydj2008|  楼主 | 2010-8-19 19:11 | 只看该作者
你又回到 我开始那个问题了!
“电子签名” 都是未知的  又没有规则,怎么行得通呢? 还是要一个一个读出“电子签名” 才行啊 而且还要预先存好这些“电子签名”
我开始的想法是能限定这些 “电子签名”的范围 比如 在((xxxx<“电子签名”)&&(“电子签名”<YYYY))
不就简单了吗 可是这些“电子签名” 不是这样排列有顺序的!(这个顺序可能是保密的吗?)
还有什么良药没有呀?

使用特权

评论回复
9
mcuisp| | 2010-8-19 20:07 | 只看该作者
本帖最后由 mcuisp 于 2010-8-19 20:23 编辑

这个ID的唯一规则就是:它是唯一的,不重复的。
用它来加密就需要编程器来支持了,呵呵。
因为这个ID只有烧录时,编程器才会知道。

我的EP968就提供反拷贝功能和服务。按照你的特定逻辑,把hex按唯一ID做修改,再写入芯片。
这个算法,用des等分组算法是没有意义的。
如果需要,可以咨询我,我提供这个服务的,呵呵。

使用特权

评论回复
10
lxyppc| | 2010-8-19 20:51 | 只看该作者
要是有了容易被探知的规律,那你基于这种规律的“加密”算法也容易被**

使用特权

评论回复
11
火箭球迷| | 2010-8-19 21:03 | 只看该作者
这个得保密,不然问题就严重了

使用特权

评论回复
12
香水城| | 2010-8-19 21:09 | 只看该作者
本帖最后由 香水城 于 2010-8-19 21:10 编辑
你又回到 我开始那个问题了!
“电子签名” 都是未知的  又没有规则,怎么行得通呢? 还是要一个一个读出“电子签名” 才行啊 而且还要预先存好这些“电子签名”
我开始的想法是能限定这些 “电子签名”的范围 比如 在((xxxx<“电子签名”)&&(“电子签名”<YYYY))
不就简单了吗 可是这些“电子签名” 不是这样排列有顺序的!(这个顺序可能是保密的吗?)
还有什么良药没有呀? ...
eydj2008 发表于 2010-8-19 19:11


好吧,你想过吗?如果我告诉你这个“电子签名”是自然数(这还叫电子签名吗?:L ),从1开始递增,你买了1000片,编号是102001~103000,你打算怎么做?

如果你限定你的软件只能在编号为102001~103000之间的产品上运行,怎么防止别人假冒编号102011的产品,怎么防止假冒编号102125的产品? (因为编号是有规律的,假冒者知道一个编号,就可以知道你的所有产品编号)

使用特权

评论回复
13
eydj2008|  楼主 | 2010-8-19 22:11 | 只看该作者
本帖最后由 eydj2008 于 2010-8-19 22:15 编辑

非常感谢 香主这么热情哈
看来 用这个 “电子签名” 加密 还得动动脑筋才行了。。。

使用特权

评论回复
14
xwj| | 2010-8-19 22:20 | 只看该作者
加密本来就得动脑筋,而且得非常伤脑筋才有效果。

你要想不动脑筋就搞一个,那还不如不要:)

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
香水城 + 2
15
hotpower| | 2010-8-19 23:08 | 只看该作者
才看到这个帖子。
今天在侃单片机有同样的问题,本想写篇如何防止反汇编恶意改写代码的水文,由于最近喜欢手机上网发文,敲字太痛苦…
俺说几句:
要想让唯一id即电子标签发挥作用必须“一次一密”即一个hex文件对应一个id。这个没第二选择。
大家可能知道美信的唯一id芯片吧。
它是64位id,前7个字节的crc结果是第8个的值。用此算法只能证明是美信的产品,但不能确定是那个id。
具体用id加密方法太多,就看你对安全的要求有多大。

使用特权

评论回复
16
hotpower| | 2010-8-19 23:50 | 只看该作者
哈哈~~~还是不玩手机了,俺用PC为大家设计一种STM32的加密算法。

使用特权

评论回复
17
lxyppc| | 2010-8-20 01:04 | 只看该作者
哈哈~~~还是不玩手机了,俺用PC为大家设计一种STM32的加密算法。
hotpower 发表于 2010-8-19 23:50

留个念想
俺只要思想,不要算法

使用特权

评论回复
18
hotpower| | 2010-8-20 01:12 | 只看该作者
19
eydj2008|  楼主 | 2010-8-20 08:18 | 只看该作者
呵呵 谢谢各位高手哈  千呼万唤 hotpower 大叔终于浮出水面哈

其实我们是想做一个稍结实一点的“盾”,免得被一般的“茅”都给刺穿了。
我有一个思路就是:
一个ID,一个注册码。
注册码由 ID 和加密算法 在PC机上 算出唯一注册码,输入该MCU (STM32的I2C-AT24LC02或者是备份寄存器保存起来)达到一ID一码的效果。只要不知道我的加密算法,这样是很难**的。就算是**者读出这个注册码,也不能直接用在下一个MCU IC里面。这样一来加密算法就最为重要了,加密算法越难,就越难**了。
但是批量生产操作起来还是显麻烦,做好了产品还要将ID读入电脑算出注册码,再将注册码 输入到I2C IC里面或是再用编程器编入I2C IC 里面。
有意见的拍**蛋吧。 说说你们有什么好的思路。

使用特权

评论回复
20
香水城| | 2010-8-20 08:47 | 只看该作者
本帖最后由 香水城 于 2010-8-20 08:50 编辑
非常感谢 香主这么热情哈
看来 用这个 “电子签名” 加密 还得动动脑筋才行了。。。
eydj2008 发表于 2010-8-19 22:11


哈哈,即使用纸糊一个“盾”,也得动动脑筋才行啊,:lol

比如我在4楼糊的那个,被Hot大叔用NOP牌的矛就戳穿了  :lol

使用特权

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

本版积分规则

个人签名:http://yonyon.taobao.com  步进电机 细分驱动开发板 编程技术交流交流QQ群A:121960

103

主题

3190

帖子

17

粉丝