MSP430单片机常见加密总结

发布者:EternalSunset最新更新时间:2016-03-10 来源: eefocus关键字:MSP430  单片机  常见加密 手机看文章 扫描二维码
随时随地手机看文章
1、为什么要加密,如何加密?

当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被 窃取。

2、JTAG、BSL、BOOTLOADER、熔丝的区别和关系是什么?

JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。

BSL接口是利用芯片内部驻留的bootloader程序实现的自编程,通过特定的时序使得CPU进入bootloader代码断,然后利用每个MSP430芯片内部都有的Timer A构成一个软件串口来与上位机通讯,这样可以将代码下载到芯片内部。实现BSL除了JTAG接口的一些引脚外,还需要用到两个TA0功能引脚,因此在设计产品时如果需要加密,则应该考虑将这两个引脚也连出来。

注意:A 、要烧断熔丝(加密)必须使用JTAG接口;B、烧断熔丝后只能通过BSL或者用户代码来实现编程更新。

3、BSL的验证密码是怎么回事?

BSL也能读出芯片内部的代码,这样可以实现编程后的校验等功能。通过BSL擦除所有Flash信息时不需要验证密码,但是要进一步操作,就得输入32字节密码进行验证。BSL的协议规定这32字节密码为芯片FLASH区域的最高32字节,也就是程序的16个中断向量,如果您拥有这段程序的最后32字节,就能通过BSL将芯片内部所有代码读取出来。

4、为什么要使用高级加密?

32字节的密码看似几乎完全没可能使用穷举法来实现破解,但是各位别忘了,msp430的16个中断向量未必每一个都用到了,没用到的中断向量为0xffff,如果您的程序只用到了复位向量,那么破解者只需尝试最多32768次(中断向量为偶数,所以除以2)就能将其破解,另外,如果芯片本身Flash容量较小,比如4K字节,那么破解者只需尝试最多2K次就能将其破解。这对自动操作的计算机来说几乎是一瞬间的事情。那么如果用到的中断向量越多,就越难破解,最好的办法就是将所有未用到的中断向量全部填充为随机数据,这就是“高级加密”。

5、关于TI-TXT文件

TI-TXT文件是TI公司为MSP430单片机定义的一种编程代码格式,其内容为纯文本格式,使用任何文本编辑器都能对其进行阅读,下面是一个这类文件的例子:

@FEFE

B2 40 80 5A 20 01 F2 40 9D 00 90 00 F2 40 2E 00

40 00 F2 D0 80 00 01 00 F2 43 33 00 C2 43 95 00

C2 43 9A 00 F2 D0 20 00 53 00 F2 40 1F 00 52 00

F2 43 91 00 F2 43 92 00 F2 43 93 00 F2 43 94 00

F2 43 95 00 F2 43 96 00 F2 43 97 00 F2 43 98 00

F2 43 99 00 F2 43 9A 00 32 D0 D0 00 FD 3F 31 40

00 03 B0 12 A2 FF 0C 93 18 24 3C 40 00 02 0E 43

30 12 00 00 B0 12 C4 FF 3C 40 00 02 3E 40 FE FE

30 12 00 00 B0 12 A6 FF 21 52 3C 40 00 02 3E 40

FE FE 30 12 00 00 B0 12 A6 FF B0 12 FE FE 30 40

A0 FF FF 3F 1C 43 30 41 0A 12 1D 41 04 00 0F 4C

0A 4D 1D 83 0A 93 05 24 EF 4E 00 00 1F 53 1E 53

F7 3F 3A 41 30 41 0A 12 1D 41 04 00 0F 4C 0A 4D

1D 83 0A 93 04 24 CF 4E 00 00 1F 53 F8 3F 3A 41

30 41

@FFFE

5C FF

q

第一行的@FEFE表示从地址0xFEFE开始,有如下代码。每行为16字节,每个字节使用16进制数表示,每两个字节之间用一个空格格开。内容末尾的@FFFE就是程序的复位向量了,表示程序的入口地址为0xFF5C。最后用一个小写的q字符加换行结束,当然也可以把中断向量的那两行放到最前面去,比如下面这段代码的含义跟上面的是一样的,同样符合规则。

@FFFE

5C FF

@FEFE

B2 40 80 5A 20 01 F2 40 9D 00 90 00 F2 40 2E 00

40 00 F2 D0 80 00 01 00 F2 43 33 00 C2 43 95 00

C2 43 9A 00 F2 D0 20 00 53 00 F2 40 1F 00 52 00

F2 43 91 00 F2 43 92 00 F2 43 93 00 F2 43 94 00

F2 43 95 00 F2 43 96 00 F2 43 97 00 F2 43 98 00

F2 43 99 00 F2 43 9A 00 32 D0 D0 00 FD 3F 31 40

00 03 B0 12 A2 FF 0C 93 18 24 3C 40 00 02 0E 43

30 12 00 00 B0 12 C4 FF 3C 40 00 02 3E 40 FE FE

30 12 00 00 B0 12 A6 FF 21 52 3C 40 00 02 3E 40

FE FE 30 12 00 00 B0 12 A6 FF B0 12 FE FE 30 40

A0 FF FF 3F 1C 43 30 41 0A 12 1D 41 04 00 0F 4C

0A 4D 1D 83 0A 93 05 24 EF 4E 00 00 1F 53 1E 53

F7 3F 3A 41 30 41 0A 12 1D 41 04 00 0F 4C 0A 4D

1D 83 0A 93 04 24 CF 4E 00 00 1F 53 F8 3F 3A 41

30 41

q

手动修改TI-TXT文件来实现高级加密:

下面是使用到中断向量较少的一段代码的中断向量:

@FFE0

10 FF A0 FF

@FFFE

5C FF

它与下面这段代码意义是一样的:

@FFE0

10 FF A0 FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF 5C FF

这里我们把未用到中断向量改成随机数据,就实现高级加密了,不过注意不要把有效的中断向量也改了哦。

@FFE0

10 FF A0 FF A5 5A 37 21 F3 44 E0 77 9A 00 22 33

44 55 66 77 88 99 AA BB CC DD EE 3E E3 0F 5C FF

关键字:MSP430  单片机  常见加密 引用地址:MSP430单片机常见加密总结

上一篇:如何来为MSP430单片机加密?
下一篇:单片机延时方法小结

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

基于PIC单片机的厨房电器设备的智能控制设计方案解析
随着智能家电控制技术的不断发展,具有多功能和智能化的厨房控制器成为厨房电器设备发展的主流。和传统单一厨房设备控制器相比,多功能厨房控制器具有占用空间小、成本低、功能多、便于设备统一管理,使用安全、方便等优点。 系统以PIC单片机作为主控制芯片,选用VFD(Vacuum Fluorescent Display)真空荧光屏为显示器,结合气敏传感器,热敏电阻,高压点火器,继电器等受控对象,通过检测外部信号以及内部定时时间状态可以控制各种受控对象工作状态之间的相互转换,实现对厨房电器设备的智能控制。系统结构框图如图1所示。 1 各单元电路硬件设计 1.1 电源电路设计 设计所需的6组工作电源均由如图2所示的电路提供。6组电源分别为
[单片机]
基于PIC<font color='red'>单片机</font>的厨房电器设备的智能控制设计方案解析
基于单片机的风速风向检测系统设计
摘 要:介绍了一种风速风向传感器原理,选用LPC921单片机设计了数据采集和数据传输的检测系统,给出了系统硬件电路图和软件流程图,分析了硬件设计和软件编程中的一些问题。   1 引言   风速风向测量是气象监测的重要组成部分, 测量风速风向对人类更好地研究及利用风能和改善生活生产有积极的影响。   本系统针对传感器的特点选用了LPC921 单片机,通过I/O 口输出高低电平,通过放大电路驱动继电器,控制传感器电源的开关。利用单片机的两个通用定时计数器, 对风速脉冲进行定时和计数, 通过计算单位时间内的脉冲数计算出风速。风向则是检测输入的风向格雷码, 将格雷码转换成二进制码, 通过查表的方式求出风向角度, 最终确定风向。最后设计
[单片机]
基于<font color='red'>单片机</font>的风速风向检测系统设计
TC15单片机和nRF240I的无线门禁系统设计
引言 门禁系统是一种用来保护人民群众财产安全和人身安全的现代化安防手段。随着社会的发展和科学技术的进步,门禁系统从机械锁具发展到电子门禁,从单独的门禁系统发展到报警一体化,从单个门禁控制发展到网络互连。目前市场上还是主要以有线门禁系统为主,但根据市场需求分析和前景预测,无线门禁系统无疑更适用于要求日益提高的安防产业。相比有线门禁系统,无线门禁系统具有安装简单、维护方便和成本低等特点。 本文研究设计的基于STC15单片机和nRF2401的无线门禁系统,通过人脸识别上位机系统,能够实时检测和识别来访者身份。若数据库中包含来访者信息,则门禁执行终端打开门锁,并在LCD显示来访者信息;否则,报警器报警。 1 无线门禁系统整体设计
[单片机]
TC15<font color='red'>单片机</font>和nRF240I的无线门禁系统设计
基于单片机的MPPT太阳能锂电池充电器
   太阳能 的绿色与可再生特性, 使其在 低碳 和能源紧缺的今日备受关注。锂电池因比能量高、自放电低的特性, 逐渐取代铅酸电池成为主流。由目前常用的太阳能电池的输出特性可知, 太阳能电池在一定的光 照度 和温度下, 既非恒流源, 亦非恒压源, 其最大 功率 受负载影响。而锂电池可看作一个小负载电压源。如不加控制直接将二者连接, 则将太阳能电池的工作电压箝位于锂电池工作电压, 无法高效利用能源。   本文采用SPCE061 单片机, 利用MPPT 技术使太阳能电池工作于最大功率点, 并且对锂电池的充电过程进行控制, 延长锂电池使用寿命, 保证充电安全。   1 最大功率点跟踪技术原理( Maximum Power Poin
[电源管理]
基于<font color='red'>单片机</font>的MPPT太阳能锂电池充电器
STM32单片机学习(7) 串口通信printf重定向
此处是为了在串口中断通信 中添加printf重定向功能 1、添加头文件 #include stdio.h 2、工程 Target -- 勾选 Use MicroLIB 3、重定义fputc函数 int fputc(int ch, FILE *f) { Uart1_PutChar((u8)ch); //此处为自定义函数,参见串口中断通信,请勿盲目 return (ch); } 经过上述配置后即可在项目中使用printf( Hello~ );等来发送字符串了 (printf( 格式化字符串 , 参量表 ) 与C语言使用一样)
[单片机]
AVR单片机IC卡程序
AVR单片机IC卡程序 #include io8535v.h #include macros.h #define uchar unsigned char #define uint unsigned int //**********定义全局变量*******************// //查表0 1 2 3 4 5 6 7 8 9 E F P OFF uchar table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79,0x71,0x73,0x00}; uchar I CC ode ;//定义IC卡复位时读出的4字节代码; uc
[单片机]
AVR<font color='red'>单片机</font>IC卡程序
51单片机定时器T1的使用2-查询法
注意:要知道,查询法是占用CPU时间的,帮不是一种好方法。 /********************************************** 方法1:延时法 硬件:11.0592MHz晶振,STC89C52,RXD P1.0 TXD P1.1 波特率:9600 描述:T1用于定时,方式1,定时时间50ms,查询方式,定时时间到,TF1=1,利用模拟串口发送字符0x68 **********************************************/ #include reg52.h #define uchar unsigned char sbit P1_0 = 0x90; sbit P1_1
[单片机]
51<font color='red'>单片机</font>定时器T1的使用2-查询法
灵动微如何做中国最好用的MCU
MCU作为电子产业的重要“粮食”,产业版图正在发生改变。在中国庞大的市场需求驱动下,随着大陆半导体产业的不断发展以及arm核的开放生态,本土MCU厂商有望对专有核心的MCU厂商产生一定的市场冲击。 与此同时,市场对MCU的需求等级不断提升,32位MCU正成为主流应用,基于arm的生态优势,本土厂商可以快速切入32位MCU市场,加之中国政府对半导体产业的支持,本土MCU厂商也逐渐具备与海外MCU大厂竞争的底气和实力,并将在物联网的浪潮中大显身手。而这其中正有本土MCU厂商——灵动微电子的身影。 做中国最好用的MCU,跻身10亿元俱乐部 日前,在“2017灵动MM32协作大会”上,灵动微电子MCU事业部总经理娄方超表示,大陆半导体
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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