stm32如何加密
A. 如何设置stm32的id
1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可 2,利用板子上按键组合,或是上电按住某些键,程序在这个时候利用算法把id计算得到一些值存入程序区(stm8为EE区),程序运行时去验证程序区数据是否正确 3,轩微编程器有软件加密的功能,编程器会读芯片id,根据算法直接改写缓冲区,达到软件加密的作用 4,读出的id通过一定算法,例如异或加上一个数,得到的数据存入flash(只运行一次,运行后标志位也存入flash),下次读到这个标志位,就不运行这个程序。
四、做软件加密时注意 1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870 2, 利用校验和或是crc对程序区进行校验,防止改程序
B. 对STM32F107编程时,使用什么方法能防止被别人反汇编,用什么方法能够加密谢谢
1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可
2,利用板子上按键组合,或是上电按住某些键,程序在这个时候利用算法把id计算得到一些值存入程序区(stm8为EE区),程序运行时去验证程序区数据是否正确
3,轩微编程器有软件加密的功能,编程器会读芯片id,根据算法直接改写缓冲区,达到软件加密的作用
4,读出的id通过一定算法,例如异或加上一个数,得到的数据存入flash(只运行一次,运行后标志位也存入flash),下次读到这个标志位,就不运行这个程序。
四、做软件加密时注意
1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870
2, 利用校验和或是crc对程序区进行校验,防止改程序
C. STM32F103系列的怎么加密
目前来说芯片的解密有以下几个方面:翻版别人的电路,解密芯片就拿到了人家做的程序,就可以做一个跟别人一样的电子产品了。获取一些机密的算法,目的跟1也差不多,就是更加高级的翻版。解密被人的银行卡芯片,获取别人银行卡的信息,这个你懂的。解密芯片获取更高的用户权限,从而做一些你懂的事情。当然有些人也为了证明自己的水平和好玩,所以解密芯片。
D. stm32 的 aes加密功能怎么用,怎么使用库函数实现
其中stm32l0xx_hal_cryp_ex.c需要自己从例程或者HAL驱动里面拷出来,
并不能由cubeMX生成与配置
E. stm32的flash有几种加密方法
1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可
2,利用板子上按键组合,或是上电按住某些键,程序在这个时候利用算法把id计算得到一些值存入程序区(stm8为EE区),程序运行时去验证程序区数据是否正确
3,轩微编程器有软件加密的功能,编程器会读芯片id,根据算法直接改写缓冲区,达到软件加密的作用
4,读出的id通过一定算法,例如异或加上一个数,得到的数据存入flash(只运行一次,运行后标志位也存入flash),下次读到这个标志位,就不运行这个程序。
四、做软件加密时注意
1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870
2, 利用校验和或是crc对程序区进行校验,防止改程序
F. STM32全系列的加密库如何使用方法
首先你要安装MDK5才能使用F4。 之后按照这个教程从头来即可
G. jflash烧写stm32可以烧写加密一次完成吗
jflash烧写stm32可以烧写加密一次完成。
1、 打开J_Flash ARM出现如下工作界面。
2、选择Options—Project settings进入Project settings界面。
3、点击CPU,选择合适的型号:此时,我们在device里面选择好我们目标板上的芯片就可以了,然后点击确认。
4、我们现在将JLINK和目标板进行连接:Target ——connect没有跳出错误,说明连接成功。
特点:
内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。
存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。
时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHzRC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。
低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。
H. 如何用 stm32的单片机 id做加密
由于ID号是不可修改的,你可以先读出来,然后进行一个算法,把算法产生的数据存到FLASH里面,然后每次程序开始时候把算法数据读出来,把ID号进行运算,看看是否匹配,不能匹配,程序停止,否则程序程序正常运行;
I. stm32加密怎么设置
if(FLASH_GetReadOutProtectionStatus() != SET)
{
FLASH_Unlock();
FLASH_ReadOutProtection(ENABLE);
FLASH_Lock();
}
J. STM32的加密库在哪儿
关于STM32加密
摘要:
知识产权的保护,如何让自已辛勤的劳动成果不被别人抄袭,采用有效的手段对IC加密是值得每一个设计者关注的问题。
当然,有人说,没有解不了密的IC,的确,解密是一项技术,只要有人类在不断的研究,它就有破解的一天;但是加密后的IC会增加破解的难度与破解成本,当破解的成本大于收益时,自然就会使破解者望而却步。
STM32芯片这两年销量很好,它的性能和价格都很不错,但如何对STM32进行加密呢,本人结合自已使用STM32 MCU一年多的经验,总结一下我对它加密的理解与方法。
关键字: STM32 加密 读保护
加密,最基本的方法是置读保护,这样可以防止外部工具非法访问,在STM32官网发布的 串口ISP软件中有置读保护和加密选项,选择一个就可以了,这样外部工具就无法对FLASH进行读写操作,但我要重新烧写FLASH怎么办?只能清读保护,而清读保护后,芯片内部会自动擦除FLASH全部内容。
还有人说,置读保护还不够安全,说要采用芯片内的唯一ID来加密,在程序里识别芯片的ID,如果ID不对,则程序不运行,当然,这样安全性又要更高一些,但每个芯片的ID不一样,因此对应的程序也应该不一样,那如何处理呢?有网友说:采购的时候,产品同批生产的ID号应该是连续的,可以通过判别ID的范围;还有网友说,在烧录工具里做一个算法,读取芯片ID,再修改相应的二进制文件。当然还会有很多种方法,这里不展开讨论。
以上介绍的只是一种情况,在实际的应用中还会发生第二种情况。
我们知道,STM32的内部FLASH是用户可编程的,也就是说它支持IAP,而IAP中的APP代码一般是需要开放的,那么只有保证BOOT的代码安全,才能确保不被破解。
前面提到,当IC置读保护后,外部工具不能访问内部FLASH,但CPU可以访问,破解者完全可以自已编写一段代码通过BOOT下载到IC 运行,然后在程序中读出你的BOOT代码。
只能加以限制,使别人的代码运行不了,才能保证BOOT不被读出。
常用的方法是采用加密算法,如AES;流程如下:
APP代码加密,下载时,在BOOT中解密,这样,只有通过正确加密的APP代码才能正常的运行,因此加密的算法就成了你的密钥,而这个是你独有的。
参考资料:《STM32F1x Flash Programming.pdf》作者:STMicroelectronics