当前位置: 首页> 安全资讯 >

软件狗的设计

 

目前市场上软件的加密方法主要有:软加密、钥匙盘加密、加密卡和软件狗加密。所谓软加密,就是只利用软件进行加密,这种方式具有成本低、加密过程简单等优点,但在使用中也比较容易被破解。钥匙盘加密法是把加密点写在软盘的一些特定位置,执行软件时从这些位置读取密码,从而实现加密功能,这种方法的缺点是实际使用中软盘很容易损坏,从加密的效果来看,好的要数加密卡了,它是通过一块插在计算机内部的插槽完成加密的,不但加密强度高,而且容易实现反跟踪,缺点就是成本比较高使用不是很方便。

 

能取各家之长的就应该算是软件狗了,它是由一个硬件电和一套开发工具软件组成的,其中的硬件电路是一个插在计算机外部并行接上的小盒子,完成的功能比较复杂。软件狗的优点是成本相对较低,同时加密性能也相对较好,并且使用方便,因此,使用它对软件进行加密经越来越为人们所采用。

 

软件狗设计要点

 

采用“多次访问”和“分散软件锁”这两项高级技巧。所谓“多次访问”,就是在要加密的软件内部多次加人对软件狗的访问,这样会直接增加攻击的难度;而“分散软件锁”就是把发送数据、接受回答及决策判断这三步分开来做。就是在调用读软件狗函数后,写了一些与软件狗无关的语句,在这些语句后,把读软件狗数的返回值赋给一个变量,接着又在很长一段其他程序过后,对这个返回值变量进行处理。这样做,既没有损失加密功能,又让分散开的这把“锁”难理解和破除。

 

软件狗是插在微机并行上的一个软件保护装置,它包括主机检查程序和密钥两部分。主机检查程序就是前面说的加密代码的一部分,加密盒是用来存放密码的。一般来说,软件狗插在并行上,不会影响打印机的正常工作。

 

为了防止程序被非法复制,所做的加密保护措施一般包括两部分。首先是要有保存密码数据的载体即密钥,其次是要有夹杂在应用程序中的主机检查程序即加密代码。

 

在早期,代软件狗起信号加密变换作用的器件,多只简单采用一些电阻、二极管等,检查方法也比较简单,很容易被人解密。第二代软件狗采用了低功耗TTL、COMS等逻辑影元件,在电路上做了一些加密工作,检查时也要比代软件狗多一道手续,解密的难度自然也增加了。第三代软件狗采用了PAL、PEEL、GAL、等逻辑器件。这些器件由于密码编制的灵活性和制成密钥后在程序中插人检查的方便性,极大地增加了解密的难度。从使用的角度看,这些逻辑器件只能读取数据,不能随时写入数据,密码的重新设定比较麻烦。EEPROM芯片可随意读写,用在软件狗上的灵活性相当大,另外,EEPROM器件的电气性能也非常适合做软件狗。因此,这种器件在软件狗的设计中获得了广泛应用,是目前软件狗制作者的芯片。

 

目前市场上大致有以下几种插在并行口上的加密狗出售,分别是软件狗、微狗和网络狗。软件狗的核心就是一片EEPROM。微狗是软件狗的一个升级产品,加密和防破译性能比软件狗好,它采用单片机技术制作,可对抗逻辑分析仪对信号的检测。网络狗是在网络上用的加密狗,它在软件狗的基础上增加了一些网络的特点。

 

以上谈及的加密狗,一般具有以下特点:

——不占用并行口;

——软件具有防解密功能;——一狗一密码或一种统一线路,软硬件不可互换,不可替代;

——提供各种语言的编程接口以及一套实用工具;

——提供对可执行文件的加密工具以便用户对产品进行加密;

——使用寿命长,一般在10a以上。