ROCKEY IV 加密锁 ---- 软件加密的黑马

        在美国因为软件盗版,每年要给软件业造成数十亿美元的损失,在全球这个数字上升到了110亿美元以上。而在软件保护尚不完善的国内,软件盗版往往成为流行软件的杀手,极大的挫伤了软件开发者的信心,造成的损失无法估量。

        飞天诚信公司在前三代的基础上吸收国内外成熟技术,推出了一款小巧的 ROCKEY IV 型加密锁,为软件加密行业带来了又一新生力量。

        我们知道,加密锁加密是现有加密技术的主流方法,通过在计算机的并口上插上一个小小的黑盒子------加密锁,并配合特定的软件保护,使用户软件离开加密锁就无法运行,来实现软件产品的保护。

        一、 关于并口

        因为加密锁是插在计算机的并口上,所以在这里首先介绍一下有关并口的简单知识。最早计算机并口是从计算机串口的技术上发展而来的,因为计算机串口只能按一次一位的方式来传输数据,不能满足像打印机、扫描仪等大数据量传输设备的需求,于是有关人士制定了并口这一同时可以传输多位数据的硬件接口的标准。但当时并未考虑在一个并口上同时接入多个设备的可能,所以基本上所有的并口设备都认为自己是在独立的使用并口。这要求加密锁在设计时要具有良好的通透性,不影响在其后面接入的设备。ROCKEY IV 型加密锁在这方面设计是比较完善的。对多台不同的打印机和扫描仪进行测试均未发生问题后,我做了一个挑战加密锁通透性极限的试验,在两台计算机的后面各插了一个 ROCKEY IV型加密锁后,再用并口线连接起来,用 Win98 的并口连接程序从一台计算机向另一台计算机拷贝数据,同时访问加密锁,不仅能够找到加密锁,而且拷贝的文件也完全正确。由此可见 ROCKEY IV 型加密锁通透性设计是可以令人放心的。

        二、 关于解密

        解密,对大多数软件开发者来说都是一个令人担心的问题。在采用了加密锁加密后的软件会不会被黑客破解呢?理论上说没有不能破解的软件,即使是纯数学的密码加密也有被破解的可能,只不过破解的时间可能是个天文数字。那么剩下的问题就是,什么样的加密锁加密能够最大限度的阻挡黑客的进攻,让被保护的软件安然度过市场销售的黄金时代呢?

        1、最早的加密锁实际上就是一个外接的存储单元,用户在使用了正确的方法后可以任意读写加密锁内部的存储单元。这种加密锁,不论在加密锁软件保护上有多强,一个黑客总可以购买一个完全相同型号的加密锁,然后想办法把加密锁中的数据读出来,复制到自己购买的加密锁中去,制作出一个完全相同的加密锁,这种方法我们熟称为加密锁的“克隆”。加密锁客隆技术的产生使加密锁技术发展进入了一个新的时代,新类型的软件加密锁大多都有密码或硬ID号的保护,只要黑客买不到相同密码的加密锁,也就无法进行加密锁的“克隆”了。ROCKEY IV 型加密锁不但采用了密码保护,而且把密码分了两个级别,一级密码只能读出加密锁中的内容,如果要对加密锁进行写入操作则必须在有二级密码才行。而二级密码仅仅在开发者对加密锁内容进行修改时使用,在最终用户的软件中是看不到二级密码的,黑客无论如何也不可能通过跟踪软件的方法来获得二级密码。使加密锁的保护更加行之有效。

        2、那么,加密锁的厂家是否可以安枕无忧了呢?不是的,解密者又找到了新的突破口。因为软件要同加密锁进行通讯,必须要通过并口来进行,而计算机的并口地址都是固定的。黑客利用这一弱点编制出了加密锁仿真程序,它的工作原理是首先插上保护软件原有的软件锁运行一遍,而后台的程序会记录下所有的写入/读出的数据。然后取下加密锁,启动仿真程序,让仿真程序来模拟加密锁提供所有的数据。针对这一问题,ROCKEY IV 加密锁采用了加入随机噪音和随机变换通讯数据的方法,使加密锁仿真软件从根本上失去了作用。

        3、作为一个多年的加密锁使用者,经常会被加密锁使用中的一个问题所困扰,现有的加密锁大多都支持多模块加密,但用户如果要对多个软件使用多模块加密,现有的大多数加密锁是不行的,因为用户购买的都是相同密码的加密锁,而现有大部分加密锁无法实现相同密码加密锁的连接,只能找到前面一个,也就是说用户无法在一台计算机上同时使用密码相同但加密不同模块的多个加密锁。如果开发者有十个不同的软件要加密的话,开发者必须购买十个不同密码的加密锁,先不说这些加密锁外观上无从分辨,对于开发者而言管理十套不同密码就是件十分令人头痛的事。ROCKEY IV 型加密锁在这个问题上进行了很好的考虑,相同密码的加密锁可以无障碍的连接,最多支持 16 个加密锁级联。不同密码的加密锁就更没问题了。

        4、随着软件市场的发展,现有的开发者已经不满足与仅仅被动的使用加密锁本身所提供的功能了,开发者希望能够把自主化的功能添加到加密锁中去。ROCKEY IV 型加密锁为这些高级的开发者们提供了用户可自定义算法的功能。开发者可以把自己的算法写入到加密锁中,在软件中调用这些算法来实现特有的计算工作,使加密锁成为程序的延伸部分。

        实际上加密锁的好坏仅仅是一个方面,不论加密锁提供的功能有多丰富,加密性有多好,更主要的是使用者,因为软件毕竟是要被人用的。希望所有的加密锁使用者能够更好的使用他的加密锁来完成自己的软件保护。也希望有兴趣的朋友加入飞天加密论坛,探讨更有效的加密解决之道。