微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 详解单片机系统的动态加密技术

详解单片机系统的动态加密技术

时间:12-28 来源:互联网 点击:

在调用前把实地址通过软件置进去就可以了。因此可以通过连续表面调用同一个子程序Function,而实际则是分别调用几个不同的子程序来实现加密。至于虚地址映射到何处的实地址,可由编程者自己安排,故只需在调用前输出实地址的对应关系即可。这种软件与硬件相结合、虚地址与实地址相结合的加密方法使破解者即使获得源程序也极难分析出对应关系。

但这种动态加密技术也有漏动,如很难对付仿真器单步跟踪分析,因此,须做进一步个性。改进的方法之一是在FPGA内设计一个计数器,并由CPU定时清零,否则一旦超过时限,FPGA将停止一切操作而使CPU无法运行,就更不用说仿真了。改进方法之二是在FPGA内做一密,并由CPU运行足够长的时间后去访问FPGA,以读取密码并比较,若出错则由CPU破坏主内存RAM的内容,从而导致所有结果出错。用这种方法足可以对付逻辑分析仪的跟踪分析。

对于数据加密,可采用与密钥逻辑异或的方法。对于这种方法密钥以及动态加密技术的逻辑函数都必须放在一个较难破译的芯片上。鉴于对芯片解密技术的了解,笔者推荐使用Actel公司生产的42MX系列的FPGA来进行一次性编程,该芯片不可读出码点文件,市场上无法破解。同时,其资源也极为丰富,设计工具完整,且用VHDL语言极易实现各种功能。

5 结束语

随着单片机系统越来越广泛的,其安全保密问题也越来越受到重视。密码学为其提供了正确的理论基础。同时,性能优良的硬件是实现其安全保密的物质基础。二者缺一不可。加密解密长期以来就是一对矛盾,解密技术随着科学技术的发展不断创新。因此,只有对解密技术有了深刻的了解,才能做好加密工作,从在则确保产品的安全。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top