历史上的今天
今天是:2024年11月19日(星期二)
2019年11月19日 | stm32f4xx 加密
2019-11-19 来源:eefocus
一、ID获取
34 设备电子签名
电子签名存储在 Flash 区。可以使用 JTAG/SWD 或 CPU 对其进行读取。它包含出厂前编程 的标识数据,这些标识数据允许用户固件或其它外部设备将其接口与 STM32F4xx 微控制器 的特性自动匹配。
34.1 唯一设备 ID 寄存器(96 位)
唯一设备标识符最适合:
● 用作序列号(例如 USB 字符串序列号或其它终端应用程序)
● 在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以
提高 Flash 中代码的安全性
● 激活安全自举过程等
96 位的唯一设备标识符提供了一个对于任何设备和任何上下文都唯一的参考号码。用户永远 不能改变这些位。
96 位的唯一设备标识符也可以以单字节/半字/字等不同方式读取,然后使用自定义算法连接 起来。
基址:0x1FFF 7A10


程序:
static u32 Lock_Code;
void GetLockCode(void)
{
//获取CPU唯一ID
CpuID[0]=*(vu32*)(0x1fff7a10);
CpuID[1]=*(vu32*)(0x1fff7a14);
CpuID[2]=*(vu32*)(0x1fff7a18);
printf("nn %x %x %xnn",CpuID[2],CpuID[1],CpuID[0]);
//加密算法,很简单的加密算法
Lock_Code=(CpuID[0]>>1)+(CpuID[1]>>2)+(CpuID[2]>>3);
}
运行结果:
1)keil memroy窗口显示 ID地址处数据:

2)串口打印:

由上可知:该stm32芯片的96位 iD号 0x39353633 32334712 0025002a
二、加密措施
简单方法: 主程序运行前,对比读取ID号 与设置ID是否一致。问题:每个stm32都需要单独配置ID比较值.如何解决?
参考:http://www.61ic.com/Technology/embed/201311/50853.html,待完善。
史海拾趣
|
各位好: 为了防止论坛公告被垃圾贴淹没,所以对论坛公告区的发帖权限有所限制,只有管理员和版主可以发帖。 烦请会员朋友点击以下链接发帖:https://bbs.eeworld.com.cn/viewthread.php?tid=64547&extra=page%3D1&frombbs=1 EEWORLD近期会对“ ...… 查看全部问答> |
|
[急問] 當通話(on call)建立起來後,要如何再放聲音呢?? 請問一下各位高手~~ 小弟有一個疑問~~當通話(on call)建立起來後,要如何再放聲音呢?? 簡單說就是當在講話的時候~~再來一通電話~~ 那時候我們會聽到一個TONE音~~ 小弟就是想要知道如何才能實現~~ 拜託各位高手~~小弟有點急!!… 查看全部问答> |
|
我用CAsnysocket编程实现台式计算机与wince之间的通信时,发现wince能将数据发送到台式机,但台式机无法将数据发送到Wince 。很郁闷,后来使用局域网查看程序却发现我的CE没有‘工作组’名。只能看到设备名和ip地址,会跟这个有关系吗?… 查看全部问答> |
|
初学者最重要的是学习解决问题的方法,思路在此是最重要的,求得简单的答案对自己的成长其实很不利,初学者应求渔而非鱼。初学者写的代码最大的问题是思维混乱或理解存在偏差,虽然往往伴有很多初级错误,但初级错误不是制约自己成长的主要因素,思 ...… 查看全部问答> |
|
在淘宝上看到一个用电脑通过无线路由器来达到控制继电器板子,感觉很有意思 但这块板子功能很多太复杂了 想找简单的部分试着做一下看看 我才学stm32没几天好多东西都不清楚 所以想请教一下各位大侠 有这方面的经验 求分享一下 ...… 查看全部问答> |
|
AM335x Starter Kit 简介,详情请登录http://processors.wiki.ti.com/index.php/AM335xStarterKitHardwareUsersGuide查看… 查看全部问答> |
|
最近一直从事电源的测试工作,也看了一些电源方面的书,但是有一个问题没有搞清楚,buck电路的输出纹波怎么算。 自己思考了一下应该是 &nbs ...… 查看全部问答> |
|
第一块 AT91SAM9G20 只拆开了静电袋 全套 500 包邮 第二块 AT91SAM9G25 只拆开了静电袋 电源和数据线没有了 450包邮 QQ 583059823… 查看全部问答> |




