关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于USB2. 0控制器的软件狗设计及安全性分析

基于USB2. 0控制器的软件狗设计及安全性分析

作者:时间:2011-05-06来源:网络收藏

1 引 言

本文引用地址:http://www.eepw.com.cn/article/162109.htm

  随着计算机技术的发展, 计算机作为特殊商品在信息时代越来越重要。但是由于计算机的易拷贝性, 各种盗版、侵权现象不断发生, 软件加密技术应运而生。它分为软加密和硬加密两类, 所谓软加密就是用纯软件的方式, 在程序中使用一些独特的软件算法或其它手段来验证使用者的合法性, 其特点是成本低, 但加密强度不高, 易被破解;硬加密则是采用软件与硬件配合, 通过硬件来控制软件运行的加密方法, 如密钥盘、加密卡、软件狗等方法, 其加密性能好, 不象软件那样有易复制性, 所以从理论上讲, 它比软加密要可靠一些。而综合硬加密的技术指标如可靠性、读写速度、破译程度、占用主机资源等, 软件狗是一种较好的加密方法。因此, 目前在市场上获得了广泛应用。

  2 软件狗的发展及原理

  软件狗技术的发展经历了四次更新换代。第一代是存储器型的加密狗, 工作时插在微机的并行口上, 通过对并行口读取数据来判别软件狗存在与否、密码正确与否, 从而决定软件是否运行。这种软件狗因为内部结构过于简单, 很容易被人检测破译。

  第二代软件狗采用低功耗逻辑集成电路, 在电路上做了一些加密工作, 例如对数据位的反相、移位、交叉等, 破译时比前一种困难, 起到一定的加密功能。第三代软件狗采用可编程器件, 由于这类器件本身就含有加密保护单元, 很难读出, 增加了破译难度[ 3] 。

  但是随着黑客攻击手段的提高, 前三代已经不能满足保密要求, 第四代以单片机为核心的软件狗产生了。它不像以往软件狗只能输出固定的密钥,而是按一定的算法对写入和读出的数据进行变换,也可以将被保护软件的重要模块移植到软件狗中,使得软件狗成为被保护软件不可缺少的一部分。这样软件与软件狗实现了真正的无缝连接, 极大提高了解密的难度, 有效防止了软件跟踪和逻辑仪的以及对程序的破坏性解密, 从而有效保护了软件不被侵权。

  USB 是在1994 年底由Compaq、IBM、M icrosoft等多家公司联合提出的一种新型通用串行接口技术, 它具有真正的即插即用和热插拔功能, USB 2. 0的高速设备可达480Mb /S的速度, 以其独有的优势, 如安装拆卸方便、总线资源丰富、打包方法简单、设备独立等逐渐取代了其它单片机加密狗, 此,了一种 0的软件狗。

  3 U SB2. 0软件狗总体体系结构及关键技术

  3. 1 0软件狗的工作原理

  传统意义上的加密就是防止信息泄露, 其基本过程为将消息(明文)经过某种算法进行加密, 形成密文, 再经过解密将密文转变为明文, 以达到信息不被窃取的目的, 而软件狗则是加密技术在信息领域中呈现出的一个全新概念。它的作用并不是防止信息泄露, 而是为软件开发者提供用户使用权限认证或运行许可, 与传统的信息加密概念有着明显的区别。因此, 过程中加密算法的实现不是研究的主要内容, 需要把工作重点放在如何防止调试工具对软件狗数据传输的跟踪, 以达到难以破解或者不能破解的目的。

  一般的软件狗工作原理如图1所示。

USB 软件狗加密保护流程图

图1 USB 软件狗加密保护流程图

  图1中列出了6个步骤, 描述了从插入USB软件狗到完成一次软件合法性检验的全过程。软件狗对随机数的加密在硬件中进行, 其结果返回PC 机并经PC 机中软件的解密算法解密。通过检验解密后的数据是否和原随机数保持一致来鉴别是否插入合法的软件狗硬件, 从而达到软件保护的目的。

  不难看出, 步骤3 和4中传送的随机数容易被多次跟踪分析, 解密者可以根据得到的这一系列数据对, 设计出相关的模拟软件, 那么就需要在这个随机数上进行改进。

  本设计中采用的是将USB 软件狗的PIN 码保护和动态口令相结合的方法。PIN 码在PC 上输入,在用户不取走USB软件狗时易被解密者捕获, 从而获得虚假认证, 可是如果使用了动态口令, 每次的口令不同, 解密者很难进行破解。动态口令是一种让用户密码按照时间或者使用次数不断变化、每个密码只能使用一次的技术, 即使解密者获取了几个动态口令, 那么他也无法预知或者推算下一次或者下下次的动态口令, 无法在使用时间或者使用次数上形成连续性。本设计的 0 软件狗加密保护流程如图2所示。

USB2. 0软件狗加密保护流程图。

图2 USB2. 0软件狗加密保护流程图。

pid控制器相关文章:pid控制器原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭