[华大MCU] MCU真随机数发生器的使用方法

[复制链接]
647|8
 楼主 | 2019-7-6 09:08 | 显示全部楼层 |阅读模式
本帖最后由 smartpower 于 2019-7-6 09:13 编辑

1. MCU自带真随机数发生器,可以作为防御攻击的通信加密或认证加密。 .
2. 不使用随机数的通信加密方法简介,该通信过程可以被记录下来,下次用于攻击。设AB具有相同的对称加密密钥,如DES密钥或AES密钥。
A发送加密后的“扣款10元”--------------B回复加密后的“已扣款10元”
C记录下了加密后的“扣款10元”并发送给B,B同样也会回复“已扣款10元”,C没有密钥但C通过记录回放的方式对B进行了攻击。

3. 使用随机数的通信加密方法简介,该通信过程被记录下来,但不能用于攻击。
设AB具有相同的对称加密密钥,如DES密钥或AES密钥。
A发送取随机数指令到B
B回复8个或16个字节的随机数,该随机数由真随机数发生器产生。
AB均使用内部密钥对随机数进行加密,生成会话密钥。
A发送会话密钥加密后的“扣款10元”--------------B回复会话密钥加密后的“已扣款10元”
C记录下了A的所通信数据,并依次发送给B,但由于B回复的随机数每次不相同,故生成的会话密钥不相同,所以不会执行扣款10元的指令。

4. 真随机数和伪随机数的区别:伪随机数由算法生成,每次RESET后,生成的随机序列完全相同。真随机数由硬件模块物理生成,每次RESET后生成的序列均不相同。






使用特权

评论回复
| 2019-7-6 09:25 | 显示全部楼层
十年前,我就用了这种方式做加密,用在portable DVD 上面。当时采用的是,自定义的双线通信,CLK, DAT.

使用特权

评论回复
 楼主 | 2019-7-6 09:47 | 显示全部楼层
工控秀才 发表于 2019-7-6 09:25
十年前,我就用了这种方式做加密,用在portable DVD 上面。当时采用的是,自定义的双线通信,CLK, DAT. ...

牛人也~

使用特权

评论回复
| 2019-7-6 21:58 | 显示全部楼层
以前我是用ADC对热噪声进行转换得到随机数。

使用特权

评论回复
| 2019-7-7 16:40 | 显示全部楼层
伪随机数虽然是由算法产生的,但是会和随机事件进行交叉生成,所以不可能每次都相同的
例如通过检测按键两次按下的时间差,以及从RST到按键按下的时间长短,这些都是可以做为随机数的

使用特权

评论回复
 楼主 | 2019-7-7 18:04 | 显示全部楼层
xzy568 发表于 2019-7-7 16:40
伪随机数虽然是由算法产生的,但是会和随机事件进行交叉生成,所以不可能每次都相同的
例如通过检测按键两 ...

作为应用,各路大神可各显神通。

当需要过认证时,只能选择硬件随机源。
硬件随机源有多种认证。

507515d21c2be9746c.png

随机数认证介绍文档:
https://wenku.baidu.com/view/9708028cf80f76c66137ee06eff9aef8951e480d.html

使用特权

评论回复
| 2019-7-7 22:39 | 显示全部楼层
你这是要做USB key之类的东西吧,这个只能用硬件了
其实产生的随机数也是有筛选的,只有经过筛选的才能用,而且随机数足够长,如128bit,出现重复的可能性就很低
如果要求很高,就应该在密码学家的指导下完成设计,要考虑所有的步骤有没有缺陷,并通过认证

使用特权

评论回复
| 2019-7-8 10:33 | 显示全部楼层
近20年前,我写过此类程序,开始觉得很难,上手后也就那么回事。
两个不相干的过程就可以产生随机数。

使用特权

评论回复
| 2019-7-10 09:10 | 显示全部楼层
这两年新出的中高端MCU基本上都带真随机数模块了

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表