发新帖我要提问
12
返回列表
打印

**确实不复杂

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
21
hq_y| | 2007-11-21 22:23 | 只看该作者 回帖奖励 |倒序浏览

如何阻止别人修改一些配置呢?

比如有一个产品,把配置:运行次数等只能写在外面的eeprom;
运行次数到了,就停机;
那么,如何禁止用户修改eeprom呢?
或者修改了之后,能发现,然后不让运行?

我的想法是:

写一个明文的,再写一个密文的;
检查明文的,再跟密文的对照;

要是明文跟密文对不上,就修改某些字节;不让他继续工作下去;

不过这样做也有问题,那就是,只要他复制了eeprom,也就不能阻止继续工作了~~~~~~~~~~~~

使用特权

评论回复
22
hotpower|  楼主 | 2007-11-21 22:58 | 只看该作者

不敢用明文和密文对照,这样会暴露目标的~~~

看来你没把CRC学习好~~~

CRC本身是做数据校验用的,如果被校验的任意部分被修改,那个校验和就变了~~~

但是你用明文做计数器---不妥!!!

因为他会运行1次看1次数据区的.运行几次后就知道计数器的位置所在了.

如果你用CRC保护,那么就会有2个位置发生变化.

1.计数器. 2.CRC和

所以,应该用密文,每次你将:

初值,权,位数及方向,明文都变化.

只将密文写入eeprom.

这样密钥(初值,权,位数及方向)都事先藏在程序区FLASH里.

根据菜农的CRC密码有多值的特点,他很难**...

例如: CRC8.

由于初值为8位,即有256个组合.
      权为8位,但实际为7位,即有128个组合.
    方向为1位,即2种组合.
故对其**需要65536个组合.这里密文现在是已知的.

可能你会发现下图的"计算","还原"这2个键.它为什么不用"加密"和"解密"呢???

回头再说~~~

那么攻击65536会得到几个"明文"呢???天知道!!!

因为用1个初值和1个权及方向,必然得到1个结果(256位1个字节).

N个初值和N个权及2个方向,结果也只能在0~255的范围内,即结果为多值.

那么在不知道N个初值和N个权及2个方向时,1个密文有多少个"明文"呢???

哈哈~~~也是---天知道!!!

所以,这就是我酷爱和深入研究CRC密码的原因所在~~~

最后:
只要他复制了eeprom,也就不能阻止继续工作了

如果你内部用FLASH保存一些内容(哪为何再用eeprom,你会这样问的~~~)

再就是用法拉电容或电池...

总之,计数器要是出现"负增量"---格杀勿论!!!

使用特权

评论回复
23
hq_y| | 2007-11-21 23:16 | 只看该作者

哈哈`~~~~~好办法~~~~~~~~~记号!

一会贴下来好好学习~~~~~~~``

使用特权

评论回复
24
dcp| | 2007-11-22 09:57 | 只看该作者

hot

使用特权

评论回复
25
gyt| | 2007-11-22 11:12 | 只看该作者

厉害

使用特权

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

本版积分规则