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

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快速上手手册

msp430g2553学习笔记.doc

msp430学习笔记2

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着信息技术的飞速发展,芯片作为现代电子设备的核心部件,其制作工艺流程的精密与复杂程度日益提高。芯片的制作,不仅仅是一系列技术操作的集合,更是一场探索微观世界的工艺之旅。本文将带领读者走进芯片制作的世界,揭示其大致工艺流...

关键字: 芯片 半导体

tda2030功放芯片将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: tda2030 功放 芯片

本轮融资资金将用于已规模化供货的7纳米车规级芯片“龍鹰一号”的进一步量产和供货、基于“龍鹰一号”的高端智能座舱及舱行泊一体方案的市场推广,以及全场景高阶智驾新品AD1000的测试验证和市场导入。

关键字: 芯擎科技 芯片

3月26日,四维图新旗下杰发科技与国际第三方独立检测、检验和认证机构德国莱茵TÜV集团(以下简称TÜV莱茵)在上海举办颁证仪式,杰发科技宣布AC7840x系列车规级MCU芯片已成功通过ISO 26262 ASIL B功能...

关键字: 芯片 MCU 智能座舱

以下内容中,小编将对lm393芯片的相关内容进行着重介绍和阐述,希望本文能帮您增进对lm393芯片的了解,和小编一起来看看吧。

关键字: lm393 芯片

业内消息,近日被视为华为芯片“奠基人”的原海思总裁徐文伟近日在朋友圈宣布正式退休。徐文伟发文表示,自己在 33 年内,见证了一个伟大企业的发展和壮大。

关键字: 华为 芯片 海思 徐文伟

通过与北美J-Squared Technologies、南美Macnica DHW以及日本NEXTY Electronics三家企业深化合作,Hailo实现了迅速成长,并逐步拓宽了其全球商业版图。

关键字: 人工智能 处理器 芯片

近日外媒引述消息人士报道称,中国推出采购需求标准,或意味着中国将禁止政府电脑使用英特尔和超微半导体(AMD)CPU(处理器)芯片,截止目前英特尔和AMD尚未就此消息做出回应。

关键字: 英特尔 AMD 芯片

美国总统拜登日前宣布,随着美国政府加大力度将芯片制造片转移到本土,英特尔已经通过《芯片法案》获得高达85亿美元的资助。此外,该公司可以通过这一法案获得额外的110亿美元贷款。

关键字: 英特尔 芯片 半导体

近年来,全球范围内出现了芯片短缺的现象,对多个行业造成了显著影响。从汽车制造到电子设备生产,从通信领域到航空航天,几乎所有涉及芯片的行业都感受到了供应紧张的压力。那么,为何会出现芯片短缺的情况?本文将从多个角度深入剖析这...

关键字: 芯片 半导体
关闭
关闭