新闻资讯
新闻资讯
新闻资讯 首页 > 新闻资讯 > 新闻资讯

加密狗原理及如何对抗破解

更新时间:2018-07-06 14:15:43   点击量:
简介
   "加密狗"是一种插在计算机USB口或者主板上的软硬件结合的加密产品(也有一种是用一个加密的文件存放在电脑硬盘特殊位置,在电脑中虚拟出一个加密狗,俗称软锁)。一般都有几百或几k字节的非易失性存储空间可供读写,来检查加密狗是否插在接口上;或者直接用加密狗附带的工具加密自己EXE和DLL文件(外壳加密)。这样,软件开发者可以在软件中设置多处软件锁,利用加密狗做为钥匙来打开这些锁;如果没插加密狗或加密狗不对应,软件将不能正常执行。
 
加密狗的工作原理:
   我们举个例子说明单片机算法的使用。 比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,我们就可以把原程序这样改写:A=Fx(DogConvert(1)-12342)。那么原程序中就不会出现常量3,而取之以DogConvert(1)-12342。这样,只有软件编写者才知道实际调用的常量是3。而如果没有加密狗,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-12342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。此外,加密狗还有读写函数可以用作对加密狗内部的存储器的读写。于是我们可以把上算式中的12342也写到软件加密狗的存储器中去,令A的值完全取决于DogConvert()和DogRead()函数的结果,令解密难上加难。
 
加密狗如何对抗破解
- -硬件对抗复制
   现在市面上的加密狗厂家,一般采用购买第三方加密芯片的方式来生产加密狗,这种方式的优点是成本比较低,技术也相对成熟。第三方芯片一般都是大厂生产,有很好的防硬件克隆手段,但使用这种芯片的用户量非常大,使用方法也是公开的,受攻击的概率也很高,难免有不法分子在利益驱动下投入很大成本对这种芯片进行破解,一旦芯片被破,受影响的是所有使用该芯片的用户,包括加密狗。还有一些有实力的厂家会自己研发芯片,比如金雅拓生产的加密狗,它是自己设计的加密狗芯片,再找外协厂生产加工,这种芯片产量极低,只应用于加密狗,市面上是单独买不到了,大大降低了受攻击的概率,当然这样的做法是增加了加密狗的成本。
 
- -通讯层对抗仿真破解
   早期的加密狗,一般采用8位单片机作为处理器,受运算能力限制,加密狗厂家通常采用自己定义的一个算法,如彩虹天地加密狗用随机噪声来干扰破解者的跟踪。随着芯片技术技术的不断完善,加密狗所使用的芯片也由原来的单片机改为智能卡芯片,所使用的算法也跟主流的加密算法相同。目前最新的圣天诺LDK加密狗就是采用32位智能卡芯片,使用的是双算法白盒加密安全通道技术,在通讯中同时采用128位AES算法及160位ECC算法作为通讯加密手段,每一次数据传输都用128位随机密钥AES算法对其加密,而这个随机的密钥又用160位ECC算法加密,在随后传输。由于ECC是非对称算法,加密和解密的密钥并不相同,如果其中一组密钥可以用黑客手段从内存中获得,那么另外一组烧录在硬件狗中的密钥,黑客无法获得。无法获得两对ECC密钥,也就无法破解ECC加密的数据,从而无法获得AES密钥,也就无法破解整个通讯过程。这一双算法安全通道技术彻底解决了通讯监听破解的难题,传统的对称算法加密,黑客只要从内存中获得其加密密钥,就可以破解整个通讯过程。
 
- -应用层对抗分析破解
   理论上来说,所有加密过的数据,在内存中都将被解密还原,对于黑客来说,他可以不去理会通讯层有多复杂的算法,而是在内存中找到加密狗的最终的解密数据,或者找到程序识别加密狗后的跳转算法,将它修改为一个永远为“真”值的识别结果,以达到绕开加密狗的目的。基于这种破解理论,加密狗提供的外壳加密工具会很好地弥补这个漏洞。
   外壳加密,即对用户已经编译生成的exe或dll,自动加了一层保护壳,程序运行时先运行壳代码,壳代码有一套加密狗核验和干扰指令组成,同时加入了大量的垃圾跳转代码在里面,达到迷惑跟踪者的作用,即所谓的迷宫技术。通常一个正常的可执行文件经外壳加密后,其文件大小会增加好几倍,就是因为加入了很多的干扰指令。程序经过外壳加密后,原来一个解密点或者一个加密狗判断点,会被扩展到几十几百个点,最终的迷宫出口还是只有一个,黑客要把所有的干扰代码全部理清了才能找到程序的出口,其工作量是可想而知的。现在很多外壳加密工具,其外壳部分代码还与程序实际代码还有对应的相互校验机制,以对抗脱壳工具的暴力脱壳,外壳被脱掉了,受保护的实际代码处于加密状态,无法正常运行。最新版的圣天诺LDK7.8外壳加密工具还引入了一个“自毁”装置,它能判断出程序是正常运行还是被跟踪运行,当程序发现当前运行环境有被跟踪的情况,就会自动锁住加密狗,使它处于失效状态,失效后的加密狗必须由开发商才能解锁,这样就大大增加黑客破解的风险。
 
关于广州唯赛
   广州市唯赛计算机有限公司是金雅拓软件货币化产品中国区核心代理商,已有十余年从业经验,为软件开发商、系统集成商以及设备制造商提供专业的软件加密保护方案,主要的产品有:赛孚耐加密狗、圣天诺加密锁等。