单片机4大硬件加密方法解析

我们知道,研究一套可行实用的单片机系统肯定要花大量的人力和物力。为了使所研制的系统不被别人所剽窃,保护知识产权,通常在单片机系统设计时,都要进行加密设计。加密设计一般有硬件加密和软件加密。而硬件加密的方法很多,可以采用pal、gal等芯片将cpu与rom之间的地址线或数据线按一定密钥规律进行交换,这样就把原程序页号打乱,起到加密作用。但这里探讨的是几种简单的硬件加密技术。
1.硬件加密设计步骤
1.1 根据具体项目和任务,设计目标程序并在未加密情况下调试成功。
1.2 设计硬件加密电路。
1.3 对调试好的软件按硬件电路进行加密翻译,不同的硬件加密电路翻译出来的软件不同。
1.4 将加密翻译后的软件写进eprom。
这样,剽窃者将得到的eprom里的程序进行反汇编后,不在是原来的程序,甚至是逻辑关系混乱毫无价值的代码。从而保护了原设计者的利益。
2. 硬件加密电路的设计
为方便说明硬件加密原理和软件加密翻译方法,先列举一例题,以下论述均以该例子为研究对象。
例1 比较两个无符号数的大小,设两个无符号数事先分别存在ram里的30h和31h单元,若(30h)里的数大,则累加器的a.0~a.3为高电平;若(31h)里的数大,则累加器的a.4~a.7为高电平;若两数相等,则累加器的a.2~a.5为高电平。试设计汇编程序实现。
该例题所设计的原程序、机器代码和存储单元如下:
2.1 硬件加密方法一
将数据线中某几根线换位,如图1所示。将图中数据线d1、d2交叉,这样单片机系统执行的实际代码就与eprom中存储的代码完全不同了。若将例1的程序存入eprom ,那么存入的实际代码就要做相应的加密翻译,以使单片机从eprom中所取的代码正确。
加密翻译后在eprom中实际存的代码和反汇编的结果如下:
p2.0~p2.4p0.3~p0.7p0.2p0.1p0.0alepsencpu8031
74ls373
a8~a12a3~a7a2a1a0 2764oe ced3~d7d2d1
2.2 硬件加密方法二:
将cpu和eprom间的地址换位,如图2所示,将地址线a0、a1换位交叉,这样单片机系统程序存在eprom中的代码不变,但存储顺序完全打乱。若将例1的程序存入eprom时,为保证单片机的正常工作,要将存储代码的顺序按硬件电路要求做相应的改变,即进行加密翻译,加密翻译后eprom中存储的实际代码和反汇编的结果如下:
从反汇编的结果看,既是剽窃者取出eprom里的程序代码,反汇编后也得不到原来的程序了。
2.3 硬件加密方法三
将cpu和eprom间的数据线某些位经过三态反相器求反。如图3所示,将数据线d0、d1分别求反后送cpu,这样存在eprom里的程序和原来的程序就不同了。若将例1的程序按硬件加密电路进行软件加密翻译后,存在eprom里的实际代码和反汇编后结果如下:
p2.0~p2.4p0.2~p0.7p0.1p0.0 alepsencpu8031
74ls373
a8~a12a2~a7a1a0 2764oe ce d2~d7d1d0
可见经硬件加密后,存在eprom里的代码与原来代码完全不同。
2.4 硬件加密方法四
将cpu和eprom间的地址线的某些位求反。如图4所示,将地址线a0、a1求反,这样存在eprom里的代码内容不变,但代码的存储顺序要按硬件电路相应改变。若仍以例1为例,将该程序代码加密后,存在eprom里的代码和反汇编后的结果如下:
a8~a12a2~a7a1a0oe ce2764d2~d7d1d0
p2.0~p2.4p0.2~p0.7p0.1p0.0 alepsencpu8031
74ls373
可见将eprom里的代码反汇编后,仍得不到原程序。
总结
坚持不懈的尝试突破保护机制的破解团体和不断引入新的安全防范方案的制造商之间的斗争是没有尽头的。 “道高一尺,魔高一丈”,又或是“邪不压正”,将不停的在两派之间上演。其实软件加密原理很简单,就是利用单片机ic厂商,为每片出厂芯片的某一特殊全球唯一识别参数,即id号做为密钥,对程序进行加密。如果以本id号的程序烧到另一id号的芯片中,程序中经软件加密过的部分的功能将完全失效。
要解密上述经软件加密过的程序,唯一的途径,就是反汇编程序,分析单片机反汇编后的汇编程序,将程序中软件加密相关的密钥去掉,然后编译得到新的程序。这项工作需要的不只是耐心,更多的是专业知识与经验。

2016年颜值最高手机, 毫无争议: 小米MIX
一种简单且低成本的音频电平表电路分享
联发科 2020 年营收 115 亿美元,同比大增 30%
Arduino闪烁LED的制作教程
51单片机的在线仿真环境搭建
单片机4大硬件加密方法解析
本源量子参与的可滑动纳米机电谐振器研究取得重要进展
MAX8844/MAX8844Z/MAX8844Y单节锂离子电池充电器应用电路
ECL门的工作特点_ECL门的电路实例
pcb钢网层是哪层大揭秘,这层到底有什么作用?
dfrobot7英寸便携式超薄触摸屏触摸屏(eDP)简介
光伏逆变器常见的六大故障
智能家居如何走进普通消费者的眼中
升降压恒流驱动芯片 0.8-5.5V输入 可调恒定、限定电流模式
精密交流点焊机如何规范地操作?
苹果Mac Pro 高精密的自动化冲压生产线
基于LM391的35W功率音频放大电路
基于GSM蜂窝网络的无线定位装置设计
安全锂电池技术研发有新成果
电子制造的物流前景