新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > SmartLock并口单片机软件狗加密技术

SmartLock并口单片机软件狗加密技术

作者:时间:2009-04-09来源:网络收藏

4 的使用方法

  用户只需以函数调用的方式调用系统中的用户接口模块,完成对。这样便在用户软件和加密软件之间建立了数据联系,隐式地检查合法软件狗的存在。加密软件将自动对调试软件检测和处理,用户不需管理。

  另一个更为可靠的使用方式是用户定制加密软件。系统将用户待加密软件中的某些算法完全移植到软件狗中去,再提供相应的用户接口模块。这一方式下用户软件将受到最大限度的保护。

5

  传统的的指导思想是:在软件系统中加入一种特殊的信息,这种信息既是加密后的软件系统在正常运行时必须引用的,又是用户无法自行复制的。于是,加密后该软件系统的运行完全依赖于售给用户的原信息载体。这一载体在加密中又被称为密钥。

  本加密系统使用的是指将待加密软件的某些算法、程序段、重要的运算过程改造成程序放在中执行。由于单片机的程序ROM是解密者不可读的,这样,这段代码就被完全地保护起来了,解密者将无法接触到这段代码和数据。通过接口函数,软件狗可代替用户软件系统执行一些简单的运算功能,以实现。这一技术实际上是改造了传统的加密指导思想,它把原软件系统中的一部分信息取出来,封装到解密者不可复制的软件狗中。

  按传统加密思想加密后的软件系统中,软件部分实际上仍然包含有原软件系统正常运行时所需要的所有信息(指令算法和数据)。在经过代码移植技术加密的软件系统,系统的软件部分已不完整,解密者即使历尽千辛万苦把软件分析透彻了,软件系统的正常运行还是离不开软件狗的支持。

  系统中使用的新颖技术主要有以下两点,它们有力地保证了软件狗的抗分析、反跟踪性能。

  (1)特殊的通信协议

  脉冲形式的握手信号,可有效对抗各种跟踪调试工具及软件。由图2软件狗的数据接收时序可知,本通信协议中,微机向单片机传送数据时是使用窄脉冲信号作为握手信号,这样微机的CPU必须不间断地查询软件狗的PR信号。而解密者在调试跟踪本软件时必然会因调试状态下软件运行时断时续而收不到握手信号,使数据传输过程出错。软件将无法正常工作。同时,反跟踪模块也可由此轻易查知调试环境的存在而采取相应的对策。

  通过脉宽调制信号从软件狗向微机传送数据是一种全新的微机打印口数据传输方法。由于它与通常的数字信号相差很大,所以这种形式的数据具有很强的反动态跟踪能力。这样既解决了标准反向传输信道窄的问题,又可有效对抗各种调试工具软件及端口信号分析仪。除非解密者完全了解它的工作机理,否则根本无法知道软件狗在干什么。

  (2)代码移植技术

  该技术将待加密软件与加密系统紧密配合,将需要保护的软件完全封装在黑盒中。

  实际使用时,SmartLock软件狗系统还可以进行更灵活的设计以达到更强的加密效果。例如:将的数据线与89C2051单片机的P1口全部对接,同时将8根数据线全部通过锗二极管并接成单片机电源。通信过程中,将其中的5根作为数据传输线,3根作为电源传输线;而且每根数据端口线的作用可以进行动态再分配。这种方法可以让端口分析仪几乎失去作用,抗分析性极强。

  SmartLock软件狗可以轻易设计成一系列狗,在实际应用中效果良好。




上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭