热点服务: 专业提供电子产品开发以及电路控制设计 专业工业电脑控制板设计和单片机控制板开发 专业设计研发步进电机驱动电路和电机控制装置 专业控制板开发 提供专业电子电路设计以及控制电路板开发 PCB电路板设计以及电路板控制系统开发 电路板设计制作和PCB贴片加工 提供专业电路板设计方案以及电路板加工生产 专业PCB设计抄板和贴片线路板加工生产 提供专业的单片机项目开发 提供专业的工业单片机开发和单片机系统设计 专业单片机产品开发和单片机程序设计 专业单片机电路设计以及单片机芯片机密 专业单片机解密以及单片机软件开发 专业设计研发直流电机驱动电路和步进电机控制板 专业车载空调驱动板开发生产 专业高品质高技术开发生产车载冰箱控制板 专业汽车冷却泵控制板研发与生产 专业新能源汽车电池散热泵驱动板研发生产 专业高品质高技术研发生产f鼓风机驱动板 高压无刷直流电机控制器 12V 60W 专业风机驱动板开研发与生产 低压无刷直流电机驱动板研发生产 专业汽车循环水泵控制板开发与生产 专业研发与生产车载压缩机驱动板 高技术高品质开发与生产直流无刷电机控制板 专业汽车散热泵驱动板开发与生产 专业汽车循环泵控制板研发生产 专业开发与生产汽车散热控制板 专业研发与生产汽车水泵控制板 专业汽车电水泵、汽车散热风扇类,风机水泵、直流无刷电机的控制板开发生产
您当前的位置: 首页 > 技术文档 > 单片机系统的动态加密技术
发布日期:2011-09-20 发布人:C

 

摘要:单片机系统产品的加密和解密技术永远是一个矛盾的统一体。然而,为了更好的保护好自己的单片机技术成果和知识产权,加大解密成本,研究新型加密技术仍是保护成果的主要手段之一。文中在讨论了传统的单处系统加密和解密技术的基础上,提出了一种实用而有效的动态加密技术的实现方案。
关键词:单片机系统动态加密技术
FPGA1 概述随着单片机技术的发展和广泛应用,许多使用单片机的高新技术产品诸如智能化仪器、仪表、小型工业控制系统等都面临着一个令人头痛的问题,那就是新产品刚一推出就被仿制和剽窃。这种现象会使产品开发商蒙受很大损失,同时也极大地挫伤了开发商的积极性。创新开发是一个公司竞争力的关键,如何保护好自己的劳动成果,除用法律手段外,在产品面市前作好加密是一个必不可少的环节。
单片机系统一般都采用MCU+EPROM模式。通常EPROM都是透明的,而采用的MCU一般有Intel公司的MCS5152系列,Zilog公司的Z80Z84系列、Motorola公司的MC68HC系列以及Microchip公司的PIC16C系列等。虽然有许多的MCU都带有加密位,但现在已大多能破解。因此,单靠MCU本身加密位来进行加密已极不可靠的。
2 常用加密技术分析常用的单片机加密技术无非是硬件加密和软件加密两种。软件加密不能防止别人复制,只能增加别人解剖分析的难度,但对高手而言,这不足为虑。所以,这里讨论的加密主要是硬件加密。总结起来,主要是以下三大类。
2.1 总线乱置法总线乱置法通常是将MCUEPROM之间的数据线和地址线的顺序乱置。总线乱置法通常包括下面几种:(1)将数据或地址总线的某些线位交换或求反;(2)将数据或地址总线中的某些线进行异或。例如,D5'=D5D6'=D5+6等;(3)(1)(2)结合起来以构成较复杂的电路;(4)采用EPROM时,把地址总线(或数据总线)与系统程序的存储器地址(或数据)的对应关系按密钥交换。例如,用一片2764芯片存储密钥,把地址的高8位重新按密钥编码,也就是说,把原程序的页号顺序打乱;(5)采用GAL器件,利用GAL的加密片来对硬件电路进行加密。
2.2 RAM替代法用电池对RAM进行掉电数据保护。即先将一系列数据写入RAM并接上电池,然后将其余的芯片插上。这样,当单片微机系统运行后,CPU首先从RAM读出数据,这些数据可以是CPU执行程序的条件判别依据,也可以是CPU将要执行的程序。如果数据正确,整个系统正常运行。反之,系统不能运行。
2.3 利用MCU本身的加密位进行加密现在很多的MCU都带有加密位,其中最成功的加密方法是总线烧毁法,此法在AT89C51中运行用得最成功。即把单片机数据总线的特定I/O永久性地破坏,解密者即使擦除了加密位,也无法读出片内程序的正确代码。此外还有破坏EA引脚的方法。一般来说,上述的加密方法各有优点,但都存在致命的缺点:第一种方法有两个主要缺点:一是密钥放在哪里才能不被破译;二是用仿真器很容易就能把源程序截取出来。第二种方法同样可以用仿真器把数据区调出来,另外还可以把RAM接上电池,取下来放在仿真器上读出来。第三种方法用来加密小程序是成功的,但由于总线已被破坏,因而不能再使用总线来扩展接口芯片和存储器。同时,片内存储器也不再具有重复编程特性。
3 常用解密方法分析加密和解密长期以来就是一对矛盾。要做好加密,必须先了解现在的解密水平及手段。目前的解密手段大致可分为下面四种。
3.1 恢复加密位法该方法能破解常规用E2COMS工艺的存储加密位芯片。它包括两个系列:第一是MCU系列,例如MCS51系列(包括89C97CW78E/77E系列等)、Z84E系列、PIC16C/12C系列、MC68HC系列等。第二是PLD,如CPLDGALPALCE16V820V822V10AlteraEPM7032EMP7064EMP7128LatticeLSP1016LSP1024AtmelATV750/2500等。3.2 逻辑分析法该方法主要采用示波器、逻辑分析仪和MDU解密仪等分析工具分配一些逻辑较简单的可编程器件的逻辑功能。
3.3 仿真器软件跟踪分析法此方法适用于破解一些未带加密功能的单片机系统(如8031Z80等系统),而对于有加密功能的单片机系统,则可先破解其单片机的源程序,然后进行仿真分析。
3.4 芯片揭盖分析法现在市场上十万门以下的芯片多功能通过揭盖来进行逆向分析,但此破解法费用甚高。此法适用于破解专门的ASIC芯片。综上所述,一般芯片及常规加密手段很难实现有效加密。严格来说,要做到绝对的加密是不可能的。选好适当的芯片,采用合适的加密技术,使仿制者面对需付高昂的解密费而却步,那就意味着加密工作的成功。
4 动态加密技术原理动态加密技术的主要思路是:在程序看到的是虚地址,而虚地址对应的存储器的实地址由CPU程序运行时通过FPGA赋予。其原理如图1所示。举例说明,若调用子程序CALL Function时,对应于同一个子程序调用,第一次调用的是真正的Function,绝对地址可能在1000H。而在第二次调用Function时,实地址可能是2000H,功能可能根本与Function不相同,这样,只要在调用前把实地址通过软件置进去就可以了。因此可以通过连续表面调用同一个子程序Function,而实际则是分别调用几个不同的子程序来实现加密。至于虚地址映射到何处的实地址,可由编程者自己安排,故只需在调用前输出实地址的对应关系即可。这种软件与硬件相结合、虚地址与实地址相结合的加密方法使破解者即使获得源程序也极难分析出对应关系。但这种动态加密技术也有漏动,如很难对付仿真器单步跟踪分析,因此,须做进一步个性。改进的方法之一是在FPGA内设计一个计数器,并由CPU定时清零,否则一旦超过时限,FPGA将停止一切操作而使CPU无法运行,就更不用说仿真了。改进方法之二是在FPGA内做一密,并由CPU运行足够长的时间后去访问FPGA,以读取密码并比较,若出错则由CPU破坏主内存RAM的内容,从而导致所有结果出错。用这种方法足可以对付逻辑分析仪的跟踪分析。对于数据加密,可采用与密钥逻辑异或的方法。对于这种方法密钥以及动态加密技术的逻辑函数都必须放在一个较难破译的芯片上。鉴于对芯片解密技术的了解,笔者推荐使用Actel公司生产的42MX系列的FPGA来进行一次性编程,该芯片不可读出码点文件,市场上无法破解。同时,其资源也极为丰富,设计工具完整,且用VHDL语言极易实现各种功能。
5 结束语随着单片机系统越来越广泛的,其安全保密问题也越来越受到重视。密码学为其提供了正确的理论基础。同时,性能优良的硬件是实现其安全保密的物质基础。二者缺一不可。加密解密长期以来就是一对矛盾,解密技术随着科学技术的发展不断创新。因此,只有对解密技术有了深刻的了解,才能做好加密工作,从在则确保产品的安全。
热点服务: 专业提供电子产品开发以及电路控制设计 专业工业电脑控制板设计和单片机控制板开发 专业设计研发步进电机驱动电路和电机控制装置 专业控制板开发 提供专业电子电路设计以及控制电路板开发 PCB电路板设计以及电路板控制系统开发 电路板设计制作和PCB贴片加工 提供专业电路板设计方案以及电路板加工生产 专业PCB设计抄板和贴片线路板加工生产 提供专业的单片机项目开发 提供专业的工业单片机开发和单片机系统设计 专业单片机产品开发和单片机程序设计 专业单片机电路设计以及单片机芯片机密 专业单片机解密以及单片机软件开发 专业设计研发直流电机驱动电路和步进电机控制板 专业车载空调驱动板开发生产 专业高品质高技术开发生产车载冰箱控制板 专业汽车冷却泵控制板研发与生产 专业新能源汽车电池散热泵驱动板研发生产 专业高品质高技术研发生产f鼓风机驱动板 高压无刷直流电机控制器 12V 60W 专业风机驱动板开研发与生产 低压无刷直流电机驱动板研发生产 专业汽车循环水泵控制板开发与生产 专业研发与生产车载压缩机驱动板 高技术高品质开发与生产直流无刷电机控制板 专业汽车散热泵驱动板开发与生产 专业汽车循环泵控制板研发生产 专业开发与生产汽车散热控制板 专业研发与生产汽车水泵控制板 专业汽车电水泵、汽车散热风扇类,风机水泵、直流无刷电机的控制板开发生产

友情连接:中山嘉科 | 无锡市鼎科电子有限公司 | Global Design Tech Co., Ltd. | Dingke Global Design Tech

关于我们 | 客户服务 | 联系我们 | 流量统计

©2014 All Right Reserved.版权所有 鼎科 电话:0510-81815570 0510-81816835 传真:0510-85215510 苏ICP备19024968号-1
E-mail:doris@ding-ke.com 地址:江办省无锡市新吴区清源路20号太湖国际科技园传感网大学科技园立业楼C511