【精品】单片机的解密原理与方法

合集下载

芯片破解

芯片破解

单片机解密1、背景单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。

为了防止访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。

如果在编程时加密锁定位被使能(锁定),就无法用普通的编程器直接读取单片机内的程序,这就是所谓单片机加密或者说锁定功能。

事实上,这样的保护措施很脆弱,很容易破解。

单片机攻击者借助专用设备或自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片提取关键信息,获取单片机内程序。

2、解密方法1)软件方法:主要针对SyncMos. Winbond等在生产工艺上的漏洞,利用某些编程器空位插字节,通过一定的方法查找芯片中是否有连续的空位,也就是查找芯片中连续的FF FF 字节,插入的字节能够执行把片内的程序送到片外的指令,然后用破解的设备进行截获,这样芯片内部的程序就被破解完成了。

2)硬件电路修改方法:其流程为a:测试使用高档编程器等设备测试芯片是否正常,并把配置字保存。

注:配置字指的是在PIC等系列的单片机里,其芯片内部大都有设置一个特殊的存储单元,地址是2007,由用户自由配置,用来定义一些单片机功能电路单元的性能选项。

b:开盖可以手工或开盖机器开盖。

c:做电路修改对不同芯片,提供对应的图纸,让厂家切割和连线,对每一个割线连线一般需要提供芯片位置概貌图、具体位置图、FIB示意图三张图纸(部分小的芯片只提供概貌图和FIB图)。

d:读程序取回电路修改后的单片机,直接用编程器读出程序。

e:烧写样片按照读出的程序和配置,烧写样片提供给客户。

这样就结束了IC解密。

3)软件和硬件结合的方法,比如对HOTEK,MDT等单片机破解。

3、芯片解密服务流程当客户有芯片解密的需求后,可以通过联系解密客户服务厂家进行沟通、咨询,提供详细的需解密的芯片信号及后缀、封装等相关特征。

厂家根据客户提供的具体型号由技术部门进行评估,确认是否能破解,若能破解,厂家确认好所需的费用和解密的周期,客户提供完好的母片并支付部分定金(对于某些芯片,可能还需要必要的测试环境),解密服务正式启动。

stc单片机解密方法

stc单片机解密方法

stc单片机解密方法STC单片机解密方法1. 引言STC单片机是市场上应用广泛的一款单片机系列,具有强大的功能和灵活的应用场景,但也因其内部代码加密保护而让一些研究者和开发者面临一定的困扰。

本文将详细介绍几种STC单片机解密方法。

2. 软件解密方法源码逆向工程源码逆向工程是一种常见的软件解密方法,通过对编译后的程序进行反汇编、分析和逆向推导,可以还原出程序的源代码。

对于STC 单片机,可以使用一些逆向工程软件如IDA Pro、Ghidra等对其固件进行分析,以获取相关的解密算法。

破解工具一些破解工具如STC-ISP、STC-Loader等,可以直接读取STC单片机的Flash内存,并将其中的加密固件下载到计算机进行解密。

这些工具通常会利用芯片的漏洞或者通信接口,如串口或者ISP下载接口,获取到加密的固件,并进行解密。

需要注意的是,使用破解工具进行解密需要一定的技术水平和设备支持。

3. 硬件解密方法电压破解电压破解是一种常见的硬件解密方法,通过对芯片进行实验室环境下的电压监测和干扰,获取到芯片内部的数据和计算过程。

对STC 单片机而言,通过使用专用的电压监测设备和技术手段,我们可以获取到芯片中一些关键的数据和算法,从而达到解密的目的。

硬件仿真硬件仿真是一种比较高级的硬件解密方法,通过将STC单片机的芯片进行捷径连接,将芯片的内部电信号直接引出,可以使用现有的仿真器或者逻辑分析仪对该信号进行分析和还原。

通过硬件仿真的手段,解密者可以获取到STC单片机内部的代码执行过程和相关算法。

4. 总结STC单片机的解密方法有软件解密和硬件解密两种。

其中软件解密可以通过源码逆向工程和破解工具进行,需要一定的技术和设备支持;而硬件解密则涉及到电压破解和硬件仿真等方法,需要更高的技术水平和设备支持。

无论选择哪种解密方法,都需要遵守相关法律和伦理规范,以确保合法和公平。

本文仅介绍了几种STC单片机解密的常见方法,希望能为解密研究者和开发者提供一定的参考与启发。

(完整版)单片机解密方法简单介绍(破解)

(完整版)单片机解密方法简单介绍(破解)

单片机解密方法简单介绍下面是单片机解密的常用几种方法,我们做一下简单介绍:1:软解密技术,就是通过软件找出单片机的设计缺陷,将内部OTP/falsh ROM 或eeprom代码读出,但这种方法并不是最理想的,因为他的研究时间太长。

同一系列的单片机都不是颗颗一样。

下面再教你如何破解51单片机。

2:探针技术,和FIB技术解密,是一个很流行的一种方法,但是要一定的成本。

首先将单片机的C onfig.(配置文件)用烧写器保存起来,用在文件做出来后手工补回去之用。

再用硝酸熔去掉封装,在显微镜下用微形探针试探。

得出结果后在显微镜拍成图片用FIB连接或切割加工完成。

也有不用FIB用探针就能用编程器将程序读出。

3:紫外线光技术,是一个非常流行的一种方法,也是最简单的一种时间快、像我们一样只要30至1 20分钟出文件、成本非常低样片成本就行。

首先将单片机的Config.(配置文件)用烧写器保存起来,再用硝酸熔去掉封装,在显微镜下用不透光的物体盖住OTP/falsh ROM 或eeprom处,紫外线照在加密位上10到120分钟,加密位由0变为1就能用编程器将程序读出。

(不过他有个缺陷,不是对每颗OT P/falsh都有效)有了以上的了解解密手段,我们开始从最简的紫外光技术,对付它:EMC单片机用紫外光有那一些问题出现呢?:OTP ROM 的地址(Address:0080H to 008FH) or (Address:0280h to 028FH) 即:EMC的指令的第9位由0变为1。

因为它的加密位在于第9位,所以会影响数据。

说明一下指令格式:"0110 bbb rrrrrrr" 这条指令JBC 0x13,2最头痛,2是B,0X13是R。

如果数据由0变为1后:"0111 bbb rrrrrrr"变成JBS 0x13,2头痛啊,见议在80H到8FH 和280H到28FH多用这条指令。

单片机解码

单片机解码

单片机解码1. 概述单片机解码是指利用单片机对输入的编码进行解析和处理的过程。

在嵌入式系统中,解码是一个非常重要的功能,它能够将输入的编码转换为有意义的数据或命令,实现复杂的控制和处理任务。

本文将介绍单片机解码的基本原理、常用的解码技术和实例及其应用。

2. 基本原理单片机解码的基本原理是通过对输入信号的处理和判断,将输入的编码转换为相应的输出信号。

常见的解码原理包括逻辑电平解码、数字解码和模拟解码等。

2.1 逻辑电平解码逻辑电平解码是通过对输入信号的电平进行判断,将不同电平对应的信号进行解码。

例如,通过判断输入信号是高电平或低电平,可以实现二进制数的解码。

2.2 数字解码数字解码是指将输入信号转换为数字形式的解码方式。

常见的数字解码方式包括BCD解码和十进制解码等。

BCD解码是指将二进制编码转换为十进制数;十进制解码是将输入的数字信号转换为十进制数。

2.3 模拟解码模拟解码是指将模拟信号转换为数字信号的解码方式。

模拟解码常用于将模拟信号转换为数字输入,以实现数字化处理。

例如,将模拟信号转换为数字信号后,可以经过单片机的处理和计算。

3. 常用的解码技术3.1 译码器译码器是常用的解码技术之一。

它可以将输入的编码转换为相应的输出信号。

译码器根据输入信号的不同设置输出的状态。

常见的译码器包括BCD译码器和十进制译码器等。

3.2 状态机状态机是一种基于状态的解码技术。

它根据输入信号的不同状态进行相应的解码处理。

状态机可以通过有限状态机(FSM)来实现。

3.3 Look-up TableLook-up Table是一种基于查找表的解码技术。

它通过建立查找表来实现输入编码和输出结果之间的映射关系。

在单片机中,Look-up Table可以使用数组或者哈希表来实现。

4. 实例及应用4.1 二进制解码二进制解码是单片机中最基本的解码方式之一。

通过判断输入信号是高电平还是低电平,可以将二进制编码解析为相应的数字输出。

毕设课设解基于单片机解压密码

毕设课设解基于单片机解压密码

【毕设课设解基于单片机解压密码】文章正式开始:一、引言在现代社会中,信息安全问题越来越受到重视。

而密码学作为信息安全的重要组成部分,在各种领域中得到了广泛的应用。

其中,基于单片机的密码解压技术是密码学领域中的热门研究方向之一。

本文将围绕毕设课设解基于单片机解压密码展开深入探讨,并结合个人实际经验和理解,对该主题进行全面解读。

二、毕设课设解基于单片机解压密码的原理及实现1. 单片机的基本原理单片机是一种集成了微处理器、存储器和输入输出设备的微型计算机系统,能够独立完成特定的功能。

在密码解压领域中,单片机通常被用来进行密码验证、加密解密等操作。

2. 解压密码的原理解压密码是指通过某种算法或密钥对加密的数据进行解密的过程。

常见的解压密码方法有对称加密算法和非对称加密算法。

在毕设课设中,可以根据具体的需求选择合适的解压密码方法。

3. 基于单片机的解压密码实现当基于单片机进行解压密码的实现时,需要考虑单片机的性能和资源限制,选择合适的解密算法和实现方式。

还需要考虑如何保护解密过程中的数据安全,防止信息泄露和攻击。

三、毕设课设解基于单片机解压密码的实际应用毕设课设解基于单片机解压密码不仅可以在安全领域发挥重要作用,还可以应用于各种领域。

在智能家居系统中,可以使用单片机进行用户身份验证和信息加密解密;在物联网设备中,可以利用单片机实现数据传输的安全性保障等。

四、对毕设课设解基于单片机解压密码的个人观点作为信息安全领域的重要技术,毕设课设解基于单片机解压密码具有广阔的应用前景。

由于单片机资源有限,在实际应用中需要权衡安全性和性能,选择合适的解密算法和实现方式。

也需要关注密码算法的安全性和抗攻击能力,及时更新密码算法,加强系统的安全性。

五、总结通过对毕设课设解基于单片机解压密码的深入探讨,我们更加全面地了解了单片机在密码解压领域的应用。

个人观点和理解也为我们提供了新的思路和视角。

在未来的研究和实践中,需要不断深化对单片机解压密码的理解,不断探索其在信息安全领域中的更多潜力和可能性。

51单片机的加密与解密 - 单片机

51单片机的加密与解密 - 单片机

51单片机的加密与解密 - 单片机51 单片机的加密与解密单片机在当今的电子技术领域,单片机的应用无处不在。

51 单片机作为一种经典的单片机类型,因其简单易用、性价比高而被广泛采用。

然而,随着其应用的普及,51 单片机的加密与解密问题也逐渐引起了人们的关注。

首先,我们来了解一下为什么要对 51 单片机进行加密。

在许多实际应用中,单片机内部运行的程序往往包含了开发者的核心技术、商业机密或者独特的算法。

如果这些程序被未经授权的人员读取和复制,可能会导致知识产权的侵犯、商业竞争的不公平,甚至可能对产品的安全性和稳定性造成威胁。

因此,为了保护开发者的权益和产品的安全性,对 51 单片机进行加密是非常必要的。

那么,常见的 51 单片机加密方法有哪些呢?一种常见的方法是代码混淆。

通过对程序代码进行复杂的变换和重组,使得代码难以理解和分析。

比如,将关键的变量名、函数名进行重命名,使用复杂的控制流结构等。

这样,即使攻击者获取了代码,也很难理清程序的逻辑和功能。

另一种方法是使用硬件加密模块。

一些 51 单片机芯片本身就提供了硬件加密的功能,例如加密锁、加密密钥存储等。

通过在程序中使用这些硬件加密模块,可以增加破解的难度。

还有一种加密方式是对程序进行加密存储。

将程序在存储时进行加密,只有在单片机运行时通过特定的解密算法进行解密后才能执行。

这样,即使存储介质被读取,攻击者得到的也是加密后的乱码。

然而,尽管有了这些加密手段,51 单片机的解密仍然是可能的。

解密的动机通常是为了获取他人的技术成果用于非法复制或者破解产品限制。

常见的 51 单片机解密方法主要包括以下几种。

逆向工程是一种常见的解密手段。

攻击者通过对单片机的硬件进行分析,包括芯片的引脚、内部电路等,尝试推断出程序的运行方式和存储结构。

此外,通过软件分析也是一种方法。

利用专业的工具对单片机的运行状态进行监测和分析,尝试找出加密算法的漏洞或者获取解密的关键信息。

还有一种比较暴力的方法是通过物理手段破解。

单片机破解

单片机破解

单片机破解的常用方法及应对策略摘要:介绍了单片机内部密码破解的常用方法,重点说明了侵入型攻击/物理攻击方法的详细步骤,最后,从应用角度出发,提出了对付破解的几点建议。

关键词:单片机;破解;侵入型攻击/物理攻击1引言单片机(Microcontroller)一般都有内部ROM/EEPROM/FLASH供用户存放程序。

为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。

如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。

事实上,这样的保护措施很脆弱,很容易被破解。

单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序。

因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。

2单片机攻击技术目前,攻击单片机主要有四种技术,分别是:(1)软件攻击该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。

软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。

攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。

(2)电子探测攻击该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。

因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。

这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。

单片机解密方法简单介绍(破解)

单片机解密方法简单介绍(破解)

单片机解密方法简单介绍下面是单片机解密的常用几种方法,我们做一下简单介绍:1:软解密技术,就是通过软件找出单片机的设计缺陷,将内部OTP/falsh ROM 或eeprom代码读出,但这种方法并不是最理想的,因为他的研究时间太长。

同一系列的单片机都不是颗颗一样。

下面再教你如何破解51单片机。

2:探针技术,和FIB技术解密,是一个很流行的一种方法,但是要一定的成本。

首先将单片机的C onfig.(配置文件)用烧写器保存起来,用在文件做出来后手工补回去之用。

再用硝酸熔去掉封装,在显微镜下用微形探针试探。

得出结果后在显微镜拍成图片用FIB连接或切割加工完成。

也有不用FIB用探针就能用编程器将程序读出。

3:紫外线光技术,是一个非常流行的一种方法,也是最简单的一种时间快、像我们一样只要30至1 20分钟出文件、成本非常低样片成本就行。

首先将单片机的Config.(配置文件)用烧写器保存起来,再用硝酸熔去掉封装,在显微镜下用不透光的物体盖住OTP/falsh ROM 或eeprom处,紫外线照在加密位上10到120分钟,加密位由0变为1就能用编程器将程序读出。

(不过他有个缺陷,不是对每颗OT P/falsh都有效)有了以上的了解解密手段,我们开始从最简的紫外光技术,对付它:EMC单片机用紫外光有那一些问题出现呢?:OTP ROM 的地址(Address:0080H to 008FH) or (Address:0280h to 028FH) 即:EMC的指令的第9位由0变为1。

因为它的加密位在于第9位,所以会影响数据。

说明一下指令格式:"0110 bbb rrrrrrr" 这条指令JBC 0x13,2最头痛,2是B,0X13是R。

如果数据由0变为1后:"0111 bbb rrrrrrr"变成JBS 0x13,2头痛啊,见议在80H到8FH 和280H到28FH多用这条指令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【关键字】精品Flash型单片机的加密与解密技术分类:|来源:电子产品世界| 作者:清华大学工程物理系陈萌萌引言厂商利用进行产品开发时,都会关心其代码和数据的保密性。

考虑到用户在编写和调试代码时所付出的时间和精力,代码的成本是不言而喻的。

早期的单片机,代码是交给芯片制造商制成掩膜ROM。

有两种的机制,一是彻底破坏读取代码的功能,无论是开发者还是使用者都永远无法读取其中的内容。

从安全上来说,这种方式很彻底,但是已经无法检查ROM中的代码了。

另一种方法是不公开读取方法,厂商仍可以读取代码。

这种方式留有检查代码的可能性,但是并不能算是一种真正的“加密”,被破解的可能性是存在的。

客观地讲,一方面希望加密很彻底,而另外一方面又希望留有检查代码的可能,这是相互矛盾的要求。

自技术得到广泛应用以来,各类单片机制造商纷纷采用了多种不同的芯片加密方法,对比掩膜ROM芯片来说,Flash ROM在线可编程特性使得芯片的加密和方式变得更加灵活和可靠。

在Flash型单片机中,芯片的加密和解密工作都是通过对Flash ROM的编程来完成的,由于用户程序可以在线地改写ROM的内容,可以编写一套加密和解密的小程序,随用户程序下载到芯片中,通过运行该程序,在线修改Flash ROM的内容,对芯片进行加密和解密,使整个的加解密过程更为简单灵活。

Freescale公司的HCS12单片机采用的加解密思路有一定的典型性,我们对此作了一些研究,现以MC9S12DP256单片机为例,介绍Flash型单片机的加密解密方法。

BDM程序调试接口Freescale公司的很多单片机都借用一种被称为后台调试模式(Background Debug Mode,BDM)作为下载和调试程序的接口。

BDM是一种单线调试模式,芯片通过一个引脚与编程器进行通信。

在HCS12系列单片机中,内部都置有标准的BDM调试模块。

该模块的有三种作用:1) 对内部存储器的读写。

将用户程序下载到目标芯片中或是将存储器中的数据读出。

2) 对单片机工作方式和资源进行配置。

部分涉及到单片机工作方式和资源配置的寄存器只能在特殊模式下由编程器发送BDM命令来修改。

3) 程序调试。

利用BDM模块可以读写内存和CPU内部寄存器,调试程序。

在HCS12单片机未加密的状态下,使用BDM硬件命令可以将Flash ROM 中的程序读出或将新的程序写入。

BDM命令可以由独立的硬件系统来送出,我们一般称此类系统为BDM编程器。

BDM编程器的时序协议是公开的,任何人都可以根据协议设计硬件、编写程序,实现BDM编程器的功能。

使用BDM接口,编程器可以很容易的访问到目标系统的存储器,这给程序调试和烧写带来了很大的方便,然而,便利的对外接口也给盗用者留下了可乘之机。

在带有BDM模块的单片机中引入数据保密机制并非HCS12系列的首创,先前的HC12系列单片机的D家族中,就已经引入了屏蔽Lockout BDM读写的机制,可惜,该机制在单片机的扩展工作模式下存在着漏洞。

相比之下,HCS12系列单片机中的保密机制更加完善,无论在BDM模式下或是扩展模式下,都可以屏蔽外部对Flash ROM的读写。

(请您对文章做出评价)两种方法在HCS12系列中,加密可以分成两种方法:完全加密和使用密码的加密。

这两种加密的方法根据用户的需求,使用的场合也有所不同。

完全加密所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作。

在MC9S12DP256单片机中,加密是通过对某一单元($FF)编程来实现的。

加密后的芯片,BDM编程器对Flash的读操作就被禁止了。

采用完全加密,读取ROM代码的可能性就不存在了,这是一种最为“安全”的加密方法。

如果用户想修改ROM的内容,唯一的办法就是将Flash的内容全部揩除,这一操作可以通过BDM编程器来完成。

使用BDM编程器揩除Flash ROM和EEPROM的过程与在普通模式下对片内的Flash ROM揩除操作过程基本一样,区别是对寄存器或是存储单元的读写要改由BDM命令来实现。

通过BDM编程器将一连串完整的揩除指令序列送给单片机,就可将Flash ROM和EEPROM的内容全部揩除了。

在全揩除操作完成后,BDM编程器将系统复位,系统会自动检查全揩除操作是否成功。

如果成功,BDM状态寄存器的UNSEC位会自动置“1”,系统进入解密状态。

由于系统靠检查Flash ROM和EEPROM是否清空来决定系统是否保持加密状态,所以,如果用户程序偶然将Flash ROM和EEPROM的内容全部揩除,那么系统也将自动解密。

使用密码的加密为了留有读取ROM代码的可能,用户可以采用一种带有密码的加密方式。

解密时,用户只要给出正确的密码(称为“后门密码”),就可以读写ROM,而不破坏其内容了。

使用这种方法,用户需要在加密之前,设定4个字长的密码,并将其存放在Flash中,MC9S12DP256存放密码的Flash地址是从$FF00到$FF07。

设定的密码可以随用户程序一起下载到芯片中。

解密时,接受用户输入的密码并验证的工作只能由一个用户接口程序来完成的,不能使用BDM编程器。

接口的方式没有限制,如SCI、SPI、IIC、MSCAN 等等,只要用户能够将正确的密码输入,任何一种接口方式都是可以的,最为典型的接口是串口。

假设接收的密码存在变量KEY0-KEY7中,验证密码的程序如下:;******************;* TEST KEYS;******************TESTKEYSBSET FCNFG,$20 ;置KEYACC为1LDD KEY0STD $FF00LDD KEY2STD $FF02LDD KEY4STD $FF04LDD KEY6STD $FF06 ;验证KEY0-KEY7BCLR FCNFG,$20 ;清KEYACC为0LDAA FSECANDA #$03CMPA #$02BNE FAIL   ; 是否验证成功?SUCCESS ; 密码验证成功LDAA FSTAT ; 清除状态寄存器ORAA #%00110000STAA FSTATLDAA #0STAA FCNFGBRCLR FSTAT,$80,*LDD #$FFFESTD $FF0E ; 改写状态,复位后系统不再加密LDAA #$20STAA FCMDBSET FSTAT,#$80 ; 开始执行BRCLR FSTAT,$40,*RTS ; 返回FAIL RTS程序返回后,如果用户输入的密码和原值符合,系统将会把保密寄存器FSEC的最后两位SEC[1:0]改写到未加密的状态,系统自动。

如果验证没有通过,系统将保持加密状态。

需要注意,不管使用哪种方式将系统解密,解密后的系统虽然可以暂时读取Flash,但是由于单元$FF中的最后两位仍处于加密状态(全揩除后,“的组合仍为加密状态),系统在下次复位后,仍会回到加密的状态,所以为了彻底解密系统,必须改写这两位为“。

整个程序的流程如图1所示。

图1 解密用户接口程序流程图灵活使用带密码的方法通过研究我们发现,使用带有密码的加密方式,看似给破解代码留有了可能性,但因为接受和验证密码都需要由用户程序完成,只要用户程序设计的可靠,这种可能性是很小的。

为了增强用户接口程序的可靠性和灵活性,我们提出以下几种可能的设计思路:针对穷举密码的对策:MC9S12DP256的密码长达8个字节,如果不将密码限定在ASCII码的范围内,那么可以选择的密码数量将达到1.8*1019 种。

为了防患破解者穷举密码,用户可以设定允许输入错误密码的次数,如果出错超过一定次数,接口程序就不再接收新的密码了。

允许出错的次数可以根据安全需要和使用方便综合考虑。

灵活的对外接口:使用密码加解密时,用户程序使用的对外接口是没有任何限制的。

本文中的串口程序只是一例,MC9S12DP256片内集成了众多的接口模块,如SCI、SPI、IIC、MSCAN、J1850等等。

使用哪一个接口,用户可以根据方便和安全考虑自己选择,这样也会使破解者难以入手。

用户程序级密码验证:用户还可以给接口程序增设一级密码验证的步骤。

只有通过该密码验证,才能进一步输入解密的密码。

因为加密后,ROM就无法读写了,用户程序可以将增设的密码也保存到Flash中,留待验证。

另外,如果某一个模块既要作为接受密码的接口,又有其他的用途,也应该留有一个交互界面,在使用前让用户选择该模块的用途。

远程加解密:在很多场合,用户对于的控制是通过以太网等介质远程实现的,只要有相应的接口程序,能够远程对单片机进行加解密,这无疑会给用户的工作带来很大的方便。

结语Flash在线编程技术的出现给单片机中的加密机制带来了很大的改变。

通过对HCS12系列单片机加解密方法的分析,我们认为这种加解密的机制具有足够的安全性,以及灵活的加解密方式。

另外,使用密码解密的可靠性很高,实现的过程依赖于用户程序,只要精心设计接口程序,用户完全可以将这种风险降至最低。

参考文献:1. 邵贝贝,‘单片机嵌入式应用的在线开发方法’,清华大学出版社,2004.2. 'MC9S12DP256B Device User Guide', V02.14, 9S12DP256BDGV2/D Motorola Inc此文档是由网络收集并进行重新排版整理.word可编辑版本!。

相关文档
最新文档