你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NUCLEO-F412ZG测评:UID和RNG(随机数)

[复制链接]
衔胆栖冰 发布时间:2016-10-7 23:23
NUCLEO-F412ZG测评:UID和RNG
( }5 ]4 ^5 ~* Z0 o7 E9 B8 z, E+ f
       在信息时代下,信息给我们带来了很多便利,但随着技术的发展,信息的安全也受到越来越多的威胁。目前虽然有专门的数据加密芯片或专门的密码算法,但是用UID和随机数对MCU的数据进行保密仍然是一种简单有效的办法。

; D& m1 p8 @, K' g- f
       之前对比STM32F412和STM32F411的区别之一,就是STM32F412拥有32位的硬件随机数发生器。STM32F412内部的RNG 处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个32位的随机数。STM32F412内部的RNG处理器提供由模拟量发生器产生的32位随机数,两个连续随机数的间隔为40个PLL48CLK时钟信号周期,对于主频高达100MHz的STM32F412来说,产生一个硬件随机数的速度还是较快的。相对于软件编写的伪随机数,硬件随机数发生器让代码简化,使用更方便。
; H3 v( N! M2 V$ p
       另外STM32F412的内部也提供了一个96位的唯一设备ID。这个唯一设备ID可以用作序列号(例如 USB 字符串序列号或其它终端应用程序),在对内部 Flash 进行编程前将唯一设备ID与软件加密原语和协议结合使用时用作安全密钥以提高 Flash 中代码的安全性和激活安全自举过程等。
; U% u- `# e# u1 J, [7 ^
    现以NUCLEO-F412ZG评估板为基础,keil-MDK5.14开发环境,利用官方标准固件库进行测试评估。工程及源代码见附件。
: z# c2 s" R7 m. V6 S  w% g
    程序流程部分参考官方例程,主函数先进行UID的获取,然后进入等待外部中断,当外部按键按下,程序往下执行进入获取硬件随机数函数。同时附加延时函数,另外利用NUCLEO-F412ZG评估板的两个LED进行显示。
$ e! C7 |" _2 {; w0 T- o
       在线调试的情况下,可以看到读取到的唯一设备ID数据,及获取的硬件随机数。本程序包含了UID的获取、随机数的获取、外部中断的利用和GPIO驱动LED等。程序对UID和随机数的获取,并未利用其进行数据加密或作为序列号的使用等。开发者可以根据自身需求将其进行利用。具体情况如下图。
! o, U6 ?1 ~4 }) i" ^" y" J
    对UID的获取:
      

在线调试下获取的UID

在线调试下获取的UID
      

通过memory观测的96位UID

通过memory观测的96位UID
$ d- l) E- [* |: S
       对硬件随机数的获取:
      

在线调试下获取的8个32位随机数

在线调试下获取的8个32位随机数
      

通过memory观测到的随机数数据

通过memory观测到的随机数数据

! K" X# w& T$ @' Q6 O- f% H
    程序工程基于官方标准库但有所删减和修改,相对于官方的CubeHAL库代码有更高的效率和占用更少的存储空间。如有其它功能模块需要利用,请自行添加相应文件或代码。另外提供单独的main.c文件,有需要的可自行建立工程测试。

/ q3 S4 m5 Y' Y8 x9 i% b
    有图有代码,我就不啰嗦了。请各位大神拍砖,也欢迎大家讨论。对于NUCLEO-F412ZG评估板的初步开机测试,以及一些基础资料的下载,可参考https://www.stmcu.org.cn/module/forum/thread-608114-1-1.html。

% b4 T9 Q. E9 U$ l& ~/ U

1 H2 s0 V2 V4 f/ i& B# [

9 s# s% h5 y, q

9 w' W4 I4 B- N. G0 l; t* m

# p3 @4 i0 e" @* P

STM32F412_RNG.rar

下载

2.15 MB, 下载次数: 57

UID和硬件随机数获取工程

main.rar

下载

1.66 KB, 下载次数: 19

main程序

评分

参与人数 1 ST金币 +10 收起 理由
zero99 + 10

查看全部评分

收藏 3 评论13 发布时间:2016-10-7 23:23

举报

13个回答
zero99 回答时间:2016-10-8 10:24:59
谢谢分享~
衔胆栖冰 回答时间:2016-10-8 10:43:29
zero99 发表于 2016-10-8 10:24
: b* H. b: }5 s谢谢分享~

* m$ @; _* x5 c( D: v
高二毛 回答时间:2016-10-8 13:58:59
感谢分享
stary666 回答时间:2016-10-8 17:08:17
顶一下,,,,,,,,,,
衔胆栖冰 回答时间:2016-10-8 19:47:08
高二毛 发表于 2016-10-8 13:58
! I$ b/ K) W6 j, c5 k感谢分享

0 r( c* [2 F& z5 X: I8 A
衔胆栖冰 回答时间:2016-10-8 19:47:22
stary666 发表于 2016-10-8 17:08
; a; y/ T; T' c7 t  c3 X顶一下,,,,,,,,,,

" I1 c9 j$ N+ d# ]# c1 f; J
原田夜舞love 回答时间:2016-10-8 23:43:46
谢谢分享
衔胆栖冰 回答时间:2016-10-9 19:45:45
原田夜舞love 发表于 2016-10-8 23:435 _% c" [* f$ z" Q
谢谢分享

) B: u$ s+ X0 X2 x1 [嘿嘿。。。。。
Paderboy 回答时间:2016-10-10 10:30:57
多谢分享。。
ynwscfsfi 回答时间:2016-10-10 10:56:56
谢谢分享~
衔胆栖冰 回答时间:2016-10-10 15:29:43
Paderboy 发表于 2016-10-10 10:30
  p7 b1 d, m! V4 ?多谢分享。。
7 R* g2 S. U* }2 g0 p8 h' J
zbber 回答时间:2016-10-10 15:55:07
谢谢分享
衔胆栖冰 回答时间:2016-10-10 16:17:26
zbber 发表于 2016-10-10 15:55
8 u' j- c, w& F5 r2 R# z* f) A" W谢谢分享

& @1 ~6 g: J, X7 v# p+ d汪峰你好

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版