一、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 加密
推荐阅读最新更新时间:2024-11-11 15:42
HCS12系列单片机的两种加密解密方法
在HCS12系列单片机中,加密可以分成两种方法:完全加密和使用密码的加密。这两种加密的方法根据用户的需求,使用的场合也有所不同。 完全加密 所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作。在MC9S12DP256单片机中,加密是通过对某一Flash单元($FF0F)编程来实现的。加密后的芯片,BDM编程器对Flash的读操作就被禁止了。 采用完全加密,读取ROM代码的可能性就不存在了,这是一种最为 安全 的加密方法。如果用户 想修改ROM的内容,唯一的办法就是将Flash的内容全部擦除,这一操作可以通过BDM编程器来完成。 使用BDM编程器擦除Flash ROM和EEPROM的过程与在
[单片机]
单片机程序运行加密
众所周知, 有一些公司或个人专门做单片机的解密服务,另外,单片机的指令不论怎样加密最终它还要在明文的方式下才能运行, 而且解密者可以使用单片机开发系统单步调试ROM中的程序。当解密者了解了指令的运行过程之后, 也就获得了加密的程序, 如某些智能计价器的运算方法等,通过修改程序并仿制新的ROM芯片, 就可以达到解密的目的。因此,对单片机的加密还要在程序的运行上进行加密处理, 也就是程序的动态加密措施。 1 程序的动态解码 动态解码是对加密程序的指令或数据代码进行动态恢复。在程序运行时, 有一段指令是专门对某一区域的指令或数据代码解密, 而且当解密后的代码使用完毕, 还要将其重新加密, 使存储器中不存在完整的程序代码。这种方法对防程序
[单片机]
如何对GD32 MCU进行加密?
GD32 MCU有哪些加密方法呢?大家在平时项目开发的过程中,最后都可能会面临如何对出厂产品的MCU代码进行加密,避免产品流向市场被别人读取复制。 下面为大家介绍GD32 MCU所支持的几种常用的加密方法: 首先GD32 MCU本身支持防硬开盖破解的功能,GD32 MCU内部Flash直接硬开盖破解读取的数据无法在同型号的产品上运行,因为GD32 MCU内部Flash物理地址和逻辑地址是随机加密的,因而可以有效防止硬破解读取代码的可能,这是GD32 MCU本身支持的,无需使用者进行配置; 可以设置读保护,GD32 MCU支持读保护设置,有些MCU支持低保护等级,设置读保护后,通过ISP出厂BOOTLOADER或者SWD端口均无
[单片机]
视频监控加密技术能否应对互联网安全的挑战?
视频监控加密技术能否应对互联网安全的挑战? 放眼各行各业,相比2014年,2015年已经成为国内安全活动的爆发年,无论是积极参加国外安全大会,还是国内会议或沙龙,此起彼伏的活动举办都为空前的集中与密集。
2015年网络安全活动火爆
这张网络上整理的《2015年安全行业重要活动一览表》也许能让人看出其中的端倪。
《2015年安全行业重要活动一览表》
安全活动的集中爆发透露的信息主要有亮点,一为社会对网络安全的重视逐步提升,二为目前的网络安全水平仍然不高。如果仅仅将网络安全视为程序的漏洞或者破解,那便无法真正提升自身的网络安全建设,企业必须了解更深层的含义。如果在一年前,在安防行业提出网络
[安防电子]
比特币等加密货币涉嫌非法外汇,2018注定不好过
比特币 去年是投资界的关注焦点,造就了许多新的百万富翁,引发市场风向转向 区块链 技术,同时吸引了机构投资者的兴趣。 而进入2018年,比特币完全失宠。 据研究网站CoinDesk Inc.的数据显示,今年1月份比特币价格下跌28%,为三年来最大月度降幅。周三,比特币跌破1万美元,创两个月低点,较去年12月中旬所创19282.73美元纪录高点跌去48%。 即使以比特币本身的标准看,上述暴跌也值得关注。尽管该货币曾有过一天内损失超过四分之一市值的走势,但这些下跌通常都是短暂的。在过去五年的时间里,比特币在一个月内下跌超过30%的情况只出现过三次,最近一次是2015年1月份,当时跌幅为32%。 据CoinDesk的数据
[嵌入式]
STM32F4xx位带操作
简介:本文给大家分享了STM32F4xx位带操作。 #define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF) 5)+(bitnum 2)) #define MEM_ADDR(addr) *((volatile unsigned long *)(addr)) #define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum)) //F4XXIO 口地址映射 #define GPIOA_ODR_Addr (GPIOA_BASE+20) //0x40020014 #define GPI
[单片机]
金雅拓帮助银行和付款提供商简化和合理化加密操作
金雅拓(泛欧证券交易所 NL0000400653 GTO)宣布,推出业内首款付款硬件安全模块 (HSM),将分区作为一个高级安全功能。这一功能让金融服务组织能够使用单个HSM支持数十个安全应用,并保护敏感付款信息和交易,简化密码操作。 当前,银行和金融服务公司都在使用加密保护不断增长的数字服务和新交易类型,如基于云和对等支付。通常,这些组织会为保护每个付款操作或交易应用部署单个HSM。尽管这是满足严格的安全要求所必须的,但是增加更多HSM会使得密钥基础设施和操作的复杂性增加。金雅拓SafeNet Luna EFT Payment HSM的全新分区能力解决了这一挑战,单个HSM平台可分为多个虚拟HSM,提供金融服务公司当前需要的可扩
[网络通信]
STM32F4xx固件库搭建后编译出错的一种解决办法
最近在学习Stm32F4xx开发板,开始搭建固件库上面已经让我非常烦恼。因为按照之前的教程搭建完固件库后,程序编译总是出现错误。看了一遍发现网上F4xx系列的靠谱的搭建教程不多。 解决方法为:删去固件库的一个外设,路径为Target/FWLIB/stm32f4xx_fmc.c(如下图所示),因为这个外设时给F2和F3系列控制板用的,所以F4系列在编译的时候就会经常报错。
[单片机]