历史上的今天

今天是:2024年11月18日(星期一)

2019年11月18日 | stm32f4xx 加密

发布者:喜从中来 来源: eefocus关键字:stm32f4xx  加密 手机看文章 扫描二维码
随时随地手机看文章

一、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,待完善。

关键字:stm32f4xx  加密 引用地址:stm32f4xx 加密

上一篇:stm32数据类型
下一篇:STM32 数据类型定义

推荐阅读

2018年双十一购物狂欢节尽管已经收官,但商品的配送仍然热火朝天,为了让剁手党们尽早拿到快递,快递员真的很辛苦,“双十一派件高峰,小哥熬夜抢快递柜”,“快递员三天两夜睡了不到8小时的觉”,这一类的新闻层出不穷。 最后一公里的快递配送难题如何解决,是各大物流最大痛点。人口红利消失,人力成本飙升的当下,单纯的靠招聘快递员已经不能满足配...
带宽是大多数工程师选择示波器时首先考虑的技术指标。如图下所示,所有示波器都会在较高频率时出现低通频率响应衰减。大多数带宽技术指标在 1 GHz 及以下的示波器通常会出现高斯响应,并在 -3 dB 频率的三分之一处表现出缓慢下降特征。而带宽技术指标大于 1 GHz 的示波器通常拥有最大平坦频率响应。这类响应通常在 -3 dB 频率附近显示出具有更尖锐...
据路透社报道,荷兰芯片制造商恩智浦半导体表示,它已与亚马逊云计算部门建立战略合作关系,帮助汽车与数据中心进行通信。双方表示,合作将涉及开发一种新的NXP芯片,用于收集汽车系统中的数据,并将其通过互联网发送,以便更好地与亚马逊的数据中心合作。NXP半导体执行副总裁兼汽车处理总经理Henri Ardevol在一份声明中称:“我们看到了帮助汽车制造商在...
中国上海,2021年11月18日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布,推出一款高压晶体管输出车载光耦---“TLX9188”,用于包括电动汽车在内的汽车设备的信号隔离通信。该产品于今日开始支持批量出货。 TLX9188的高压光电晶体管提供了200V的集电机-发射极额定电压,较东芝目前的TLX9185A高2.5倍,是东芝首款达到该水平的产品[1]。通过指定...

史海拾趣

问答坊 | AI 解惑

找个能帮忙的

能帮忙弄个DC/DC升压电路吗,最好能升3-8V的电流要300毫安的[G][D][Y]…

查看全部问答∨

台湾交大IC设计文章twIC_carry_lookahead

台湾交大IC设计文章twIC_carry_lookahead…

查看全部问答∨

请问大哥们有没有关于pcb设计类的论文啊

本帖最后由 paulhyde 于 2014-9-15 09:45 编辑 请问大哥们有没有关于pcb设计类的论文啊,正在搞论文,不晓得做啥  …

查看全部问答∨

8051单片机实践与应用

8051单片机实践与应用…

查看全部问答∨

求助!如何获取本地蓝牙设备的名称并修改

就是我的wince设备在被别的蓝牙设备(如蓝牙手机)搜索到的时候会有一个名称, 我现在想再本地去修改这个名称,该怎么做啊? 看了 MSDN 关于蓝牙这块的东西,始终没有找到,google也没有相关的介绍,求大家帮忙, 给个提示也行啊!…

查看全部问答∨

无法定位程序输入点……于动态链接库wgapi.dll上

    电脑中毒了,总是跳出某一块内存(一串数字标出来的)can\'t read,而且只要我打开无线链接,同寝室的网都一下子卡住了,似乎特别的敏感(我原来一直都是用无线上网的,也从来没有出现过这种情况),我查看资源管理器,发现资源管理 ...…

查看全部问答∨

WinCE6.0下驱动程序中文件操作API有哪些?

大家好,第一次发帖。 最近在编写WinCE6.0下的驱动程序,想要在驱动程序中直接对文件进行操作,而不想在用户程序中读文件再用WriteFile或DeviceIOControl将数据传到驱动程序中,但没找到对应的API,求高手指导。谢谢了…

查看全部问答∨

WINCE5.0如何更改点击触摸屏声音?

在wince 5.0下如何更改点击触摸屏的声音. 请帮忙,谢谢。…

查看全部问答∨

为什么51系列单片机常用11.0592MHz的晶振设计?

  1、因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。 2、当定时器1被用作波特率发生器时,波特率工作于方式1 ...…

查看全部问答∨

Altium_designer教程

Altium_designer教程,希望大家用的上…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved