关于stm32单片机,用id加密,明码安全问题分析

发布者:Yudie最新更新时间:2015-10-21 来源: eefocus关键字:stm32  单片机  id加密  明码 手机看文章 扫描二维码
随时随地手机看文章
 stm32 提供的 id ,可以让我们进行软件加密,

 

 这个功能挺好的,

 

 但是我研究了一下明码加密的弱点,

 

 贴出来,给大家研究一下,

 

 写了一段简单的代码,如下,效验id

 

 

 

id-1

 

程序就是输出 ok1, 来代表id的明码对比,

 

然后我们生成hex文件,

 

这个hex文件,就是我们明码加密后的烧写文件,

 

当这个文件烧写到指定的id 设备上,才能运行 ,我们测试是 输出ok1;

 

加密过程已经ok,

 

下面

 

我们分析一下弱点,

 

单片机声明的常量,

 

编译器会进行编译,并固化到flash区域,

 

基本上大多数单片机编译器都是这么做的,

 

所以就存在了安全问题,

 

我们用jlink 的软件, J-Flash ARM V4.08

 

读取或者加载我们的hex文件,

 

我们为了便于分析,保存成1.c文件,

 

用ue打开分析,

 

很容易就找到了我们用于效验设备id 的 对比数据:

 

 

 

id-2

 

 

看上面的数据,不用说了吧,

 

就是我们用于效验的对比数据,

 

所以,如果是高手, 还是要注意你的加密的算法,

 

明码是有其薄弱一面的,

 

还是谢谢大家看我的文章.


关键字:stm32  单片机  id加密  明码 引用地址:关于stm32单片机,用id加密,明码安全问题分析

上一篇:在MDK调试STM32出现“could not stop cortex-m device”解决办法
下一篇:STM32中断向量嵌套NVIC理解

推荐阅读最新更新时间:2024-03-16 14:36

基于8位MCU的触摸按键设计方案
  0 前言   MCU(Micro Controller Unit)中文名称为多点控制单元,又称单片微型计算机(Single Chip Microcomputer),是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。   在需要用户界面的应用方案中,传统的机电开关正在被电容式触摸感应控制所替代。通过对由一个电阻和触摸电极电容组成的RC充放电时间的控制,该触摸感应软件可以检测到人手的触摸。由于电极电容的改变,导致的RC充放电时间的改变,能够被检测出来,然后经过滤波等,最终通过专用的I/O端口,或者I2C/SPI接
[单片机]
基于8位<font color='red'>MCU</font>的触摸按键设计方案
stm32与pic单片机比较_哪个好
  STM32单片机   由ST厂商推出的STM32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表现,当然和MSP430的功耗比起来是稍微逊色的一些,但这并不影响工程师们对它的热捧程度,由于其简单的结构和易用的工具再配合其强大的功能在行业中赫赫有名…其强大的功能主要表现在:   stm32单片机特性   1、内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.2
[单片机]
<font color='red'>stm32</font>与pic<font color='red'>单片机</font>比较_哪个好
STM32中使用printf打印串口数据的实现原理及方法
STM32中使用printf打印串口数据的实现原理 在C库中,printf()等输出流函数都是通过fputc()这个函数实现的,所以我们通过重映射的方式,修改这个函数的定义使它输出在STM32的寄存器中,便可以实现使用printf()函数在STM32串口上输出数据的功能。 盘点一下实现printf()函数打印字符串重定义到USART1的方法 方法一 1添加包含printf()函数的头文件:#include “stdio.h” 2.重写 stdio.h 头文件中的 int fputc(int ch, FILE *f) 函数 3.将该函数” int fputc(int ch, FILE *f) “放在main()函数能够调用到的文
[单片机]
基于MC32P21单片机的移动电源设计
移动电源是一种集供电和充电功能于一体的便携式充电器,可以给手机等数码设备随时随地充电或待机供电。一般由锂电芯或者干电池作为储电单元。区别于产品内部配置的电池,也叫外挂电池。一般配备多种电源转接头, 通常具有大容量、多用途、体积小、寿命长和安全可靠等特点,是可随时随地为智能手机、平板电脑、数码相机、MP3、MP4等多种数码产品供电或待机充电的功能产品。 移动电源可以通过USB电缆线使用在任何符合USB国际标准的设备,其具有短路、过充过放、恒流恒压等保护措施,还有高性能电源管理技术。 移动电源方案,根据是否可以编程,分为硬件移动电源和软件移动电源两种技术路线。硬件移动电源方案主要存在的问题是:1.发热严重,采用非同步整流模式,温度高后
[电源管理]
基于MC32P21<font color='red'>单片机</font>的移动电源设计
基于单片机的红外遥控器解码器的设计
  TC9012F是一种通用型红外遥控信号发送用CMOS大规模集成电路,适用于电视(TV),磁带录像机(VTR),激光唱机等设备的遥控操作。市场上,以TC9012F为核心的9012型红外遥控器被广泛使用且价格便宜。将设计的基于单片机AT89C51的9012型红外遥控解码器应用于生产即时显示系统中,作为参数设置和系统控制用红外遥控器,在实际应用中收到了良好效果。   1 红外线遥控信号发送器电路 TC9012F的遥控信号   TC9012F为4位专用微控制器,其内部振荡电路的振荡频率fosc典型值为455 kHz。当不按下操作键时,其内部455 kHz的时钟振荡器停止工作,以减少电池消耗。内部分频电路将振荡频率,fosc进行12
[应用]
C#读取单片机发送的字符串,乱码问题解决
1.单片机端代码 printf( 开始更新固件...\r\n ); 2.C#上位机 收到的数据存到数组RevData,长度Length string ReadDataStr = Encoding.GetEncoding( GB2312 ).GetString(RevData,0 ,Length); 总结:数组与字符相互转换时,一定要主要编码类型,否则得到的就是乱码。
[单片机]
51单片机控制步进电机-让电机转起来
摘要: 本节介绍用简单的方式,让步进电机转起来。其目的之一是对电机转动有直观的感受,二是熟悉整个开发流程 本系列教程必要的51单片机基础包括IO口操作、中断、定时器三个部分,相关基础教程网上很多,可以自行学习 一、软件清单 需要用到的软件有keil5编译软件、STC程序烧录软件 二、控制原理 根据TB6600驱动器原理,向PUL口发送脉冲,每发送一个脉冲,电机就转一步。通过单片机延时的方式,切换PUL口电平产生脉冲,从而控制电机转动。 三、程序代码 //毫秒延时函数 void delay(unsigned int z) { unsigned int x,y; for(x=z;x 0;x--) for(y
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved