• 正在加载中...
  • 加密狗

    加密狗,是一种插在计算机并行口上的软硬件结合的软件加密产品,硬件加密锁、FreeEIM,俗称“加密狗”,加密狗一般都有几十或几百字节的非易失性存储空间可供读写,新品的内部还包含了单片机。加密狗为多数软件开发商所采用。"加密锁"(也称加密狗)最早由彩虹天地开发,现已成为软件加密行业的代名词。加密锁是一种插在计算机并行口上的软硬件结合的加密产品(新型加密锁也有usb口的)。

    编辑摘要

    基本信息 编辑信息模块

    中文名: 加密锁 英文名: Encryption lock
    类型: 硬件电子产品

    目录

    简介/加密狗 编辑

    加密狗,是一种插在计算机并行口上的软硬件结合的软件加密产品,为多数软件开发商所采用。加

    1 
    密狗一般都有几十或几百字节的非易失性存储空间可供读写,较新的加密狗内部还包含了单片机。软件开发者可以通过接口函数和加密狗进行数据交换(即对加密狗进行读写),来检查加密狗是否插在并行口上;或者直接用加密狗附带的工具加密自己EXE文件(俗称"包壳")。这样,软件开发者可以在软件中设置多处软件锁,利用加密狗做为钥匙来打开这些锁;如果没插加密狗或加密狗不对应,软件将不能正常执行。

    原理/加密狗 编辑

    加密狗通过在软件执行过程中和加密狗交换数据来实现加密。加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为“智能型”加密狗。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。

    加密算法/加密狗 编辑

    加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=12345、DogConvert(A)=43565。如果没有加密狗,在软件运行过程中出现DogConvert()函数时没法转换,从而终止软件的运行。

    发展过程/加密狗 编辑

    加密狗加密狗

    随着解密技术的发展,单片机加密狗由于其算法简单,存储空间小,容易被硬件复制等原因,正逐渐被市场所淘汰。以北京彩虹天地信息技术股份有限公司为首的国内加密狗厂商研发出稳定性更好、存储空间更大(最大为64K)、有效防止硬克隆的第四代加密狗——“智能卡”加密狗以其独创的“代码移植”原理,已经被中国大型商业软件开发商如擎洲软件、金蝶、用友、CAXA、广联达、神机妙算、鲁班……所采用。

    以世界上第一款智能卡加密锁——精锐IV为例,简单介绍一下“代码移植”原理。

    “代码移植”加密原理为一种全新的、可信的软件保护模型,工作原理为:软件中部分代码经过编译,“移植”到加密锁硬件内部,软件中没有该段代码的副本。

    在这套软件保护方案中,PC端应用软件的关键的代码和数据“消失”了,被安全地移植到精锐IV型加密锁的硬件中保护起来。在需要使用时,应用软件可以通过功能调用引擎来指令精锐IV运行硬件中的关键代码和数据并返回结果,从而依然可以完成整个软件全部的功能。由于这些代码和数据在PC端没有副本存在,因此解密者无从猜测算法或窃取数据,从而极大程度上保证了整个软件系统的安全性。精锐IV提供了一套可信的解决方案,从理论上保证软件加密的安全。

    编程语言/加密狗 编辑

    加密狗可以保护的编程语言是随着计算机的硬件及操作系统的发展而不断变化的。  

    20世纪80年代,个人计算机主要为AT、286等机型。个人机的操作系统主要是DOS,企业服务器的操作系统主要使用Novell的Netware。开发加密狗保护软件的工程师需要通过修改DOS的INT21、INT10方法加密DOS下的EXE文件,或者通过提供特定的API的方法,为Turbo C、Fortran、basic等编程语言提供加密。某些时候开发加密狗保护软件的工程师使用可能会使用DOS的DEBUG直接编写.COM文件。

    此后个人机的操作系统经历了Windows、Windows 95 、Windows2000、Windows NT、XP等升级换代,保护EXE文件的手段也从DOS驻留程序,变为编写VXD、SYS等方法。

    编程语言也涵盖了:MASM、Turbo C、VC、Watcom C for NetWare、Watcom C for x86、NDP C for x86、NDP FORTRAN、Visual Foxpro、Clipper、LISP for AutoCAD等数十种。

    随着加密狗硬件处理能力的不断增强,计算机USB端口的普及,对软件的保护逐渐开始依赖于通用的加密算法,而不再只依赖于加密软件的加密编程技巧。使用动态链接库、控件等方式已经可以满足大部分编程工具软件的保护需求。加密狗厂家也就从逐一为不同的编程工具软件定制API中解放出来了。

    应用软件/加密狗 编辑

    1、广联达造价软件
    2、未来造价软件(江苏)
    3、清华斯维尔造价软件
    4、神机妙算造价软件
    5、鲁班造价软件

    使用维护/加密狗 编辑

    解密技术排除法律和道德因素,就从学术角度来说是门科学。它与加密技术一样是相辅相成不断提高。

    解密方法/加密狗 编辑

    硬件复制

    复制硬件,即解密者复制Sentinel SUPERPRO相同的加密锁。由于加密锁采用了彩虹公司专用的ASIC芯片技术,因此复制该加密锁非常困难,且代价太大。

    监听

    解密者利用并口监听程序,进行解密,其工作机制是:
    监听程序,记录应用程序对并口发的查询串和加密锁发回的响应串。当移去加密锁时,如果程序再对并口发查询串确认身份时,监听程序返回所记录的响应串。程序认为加密锁仍然在并口上,是合法用户继续运行,应用程序也就被解密了。

    打印机共享器

    将加密锁插在打印机共享器上,多台计算机共同使用打印机共享器上的一把加密锁。

    DEBUG

    解密者DEBUG等反编译程序,修改程序源代码或跳过查询比较。应用程序也就被解密了。
    几种

    加密策略/加密狗 编辑

    针对监听和DEBUG问题解密方法

    a、 针对并口监听程序

    对加密锁进行算法查询

    正确的查询响应验证

    用户生成大量查询响应对,如200对。在程序运行过程中对激活的加密算法单元随机的发送在200对之中的一对“345AB56E”―――“63749128”。查询串“345AB56E”,哪么算法单元返回的正确的响应串应该是“63749128”,若是,则程序认为加密锁在并口上,是合法用户,继续运行,反之终止程序。

    随机非激活算法验证

    对非激活的加密锁算法单元发随机生成的查询串,如:“7AB2341”,非激活算法单元只要是有查询就会有响应串。因此返回响应串“7AB2341”,在程序中判断响应串与查询串是否相同,如果相同,则证明加密锁仍然在口上。继续运行程序。

    随机激活算法验证

    假设监听程序了解了上面的机制。即对非激活的加密算法需要发什么查询串则返回相同的响应串。对激活的加密算法单元发随机生成的查询串,如:“345AB56E”由于是激活算法响应串肯定与查询串肯定不等。所以假如返回响应串“7253ABCD”,在程序中判断响应串与查询串是否不同,如果不同,则证明加密锁仍然在并口上,继续运行程序。
    上面三种加密策略在程序同时使用,相符相承,相互补充。即使监听程序记录下来我们的部分查询响应。

    分时查询

    用户把查询响应对分组,如120对分为4组。每30对一组。头三个月使用第一组,第二个月三个月使用第二组以此类推,监听程序就算记录了头三个月。第二个月三个月以后程序仍然无法使用。
    也可以再生成100对“临时委员”,每次运行随意抽出1对与以上分组结合使用。使记录程序在三个月内也无法记录完全。程序也无法使用。

    随机读写存储单元

    为了防监听程序的策略是:程序在启动时,利用随机函数随机生成的一个数,假设是“98768964”。在指定的18#单元写入这个数。哪么我们在程序运行中,每调用一个功能程序前读取18#单元,数判定是否是写入的数“98768964”。因为每次写入的数是随机生成的,所以监听程序记录不到当次启动时写入的随机数,它返回的数肯定是一个不匹配的数。就此可判定是否是合法用户。Sentinel Superpro加密锁可以重复写10万次以上。也就是说每天写三次也可以使用一百年。

    针对打印共享器的加密策略

    为了防打印共享器的策略是:程序在启动时,利用随机函数随要生成的一个数,假设是“7762523A”。在指定的34#单元写入这个数。哪么在程序运行中,每调用一个功能程序前读取34#单元,以判定是否是写入的数“7762523A”。以此判定是否是合法用户。因为每次写入的数随机生成的,同时使用打印共享器的其他非法用户的程序一进入也会写入一个不同的随机数。那么第一个用户的程序在校验是否是第一个用户写入的数时,就会被认为是非法的用户。所以在一个阶段也只是一个程序使用。(例如RAINBOW公司开的Sentinel Superpro加密锁可以重复10万次以上。也就是说每天写三次也就可以使用一百年。)

    针对DEBUG跟踪的加密锁的安全策略

    分散法

    针对DEBUG跟踪。在调用每个重要功能模块前,我们建议要对加密锁进行查询,校验身份。如果只在程序开始部分校验身份,DEBUG跟踪程序部分可以轻易的跳过校验部分,而一些不良用户可以在验证后可以将加密锁拔下用在其它计算机。

    延时法

    针对某一具体查询校验,都有三步骤:

    查询得到响应串
    比较响应串和查询串是否匹配
    执行相应的步骤

    建议以上三个步骤要延时执行。最好鼗三步骤相互远离些,甚至放到不同的子程序或函数中。例如:执行“查询得到响应串” 后,相隔50执行“比较响应串和查询串是否匹配”。假如程序需要调用一个函数。那么就在这个函数里执行“执行相应的步骤”。这样程序更难于被破解。

    整体法

    将响应串作为程序中数据使用。
    例如:有返回值“87611123”,而程序需要“123”这个数。可让“87611123”减去“8761000”得到“123”。这样一来任何对加密程序的修改都会使程序紊乱。

    迷惑法

    一般情况下的程序执行相应的验证步骤。验证是非法用户就会退出。这样很容易被发现代码特征。于是知道是非法用户后继续执行一些无用的操作使程序紊乱。以迷惑解密者。
    以上为现如今软件开发商使用硬件加密狗(加密锁)进行软件保护时可以使用的几种切实可行的几种加密策略。

    相关事件/加密狗 编辑

    黄牛借“加密狗”抢票软件瞬间圈走12306火车票。黄牛借“加密狗”抢票软件瞬间圈走12306火车票。

    “加密狗”倒票软件几分钟内能圈走一列旅客列车的所有车票,让不少票贩子获得了抢票和高价贩票的非法途径。

    2013年2月6日警方破获了一起贩卖并使用抢票软件“加密狗”大量套购车票高价倒卖的犯罪团伙,抓获涉案人员25名。该团伙已销售“加密狗”软件1011套,范围涉及全国29个省、市、自治区。

    近来网上出现的大量退票,最高一日达22.4万张,引起社会广泛关注。经过有关部门调查,这一异常现象与不法人员利用抢票软件大肆套购车票、退票有关。

    警方从侦破的两起网络倒票案件中发现,多个倒票团伙都是从网上购买一个名为“加密狗”的抢票软件抢票后,再加价倒卖。

    随后,警方在杭州、佛山两地将贩卖软件的莫氏兄弟抓获。他们开发了初级、中级、高级三个版本的“加密狗”抢票软件,其中高级版本抢票软件具备退票、自动预约抢票、抢票成功提醒、短信通知等功能,特别是订票时间与12306网站时间精确到毫秒。使用高级版本,几分钟内能圈走一列旅客列车的所有车票。

    初步查实,莫氏兄弟高价在出售“加密狗”抢票软件获利的同时,还与票贩子勾结,按照票贩子的订票需求,使用“加密狗”在网上大量圈票后,与票贩子约定时间,在网上退票的同时使用“加密狗”抢票。

    莫氏兄弟每张车票收取50元到数百元不等的好处费。警方已查实分别从北京、成都等地返给莫氏兄弟的好处费上百万元。铁道部公安局统一指挥全国18个铁路公安局开展专案侦查,抽调专人对购买和使用“加密狗”软件的抢票线索逐条核实,通过客票调查对高价倒票信息逐条倒查、顺线追击。

    2013年2月4日,铁路警方共捣毁了7个使用“密码狗”抢票软件套购车票加价倒卖的团伙,分别在乌鲁木齐、杭州、北京等地抓获团伙骨干成员莫某、班某等嫌疑人25名,关闭了设在长沙的“加密狗”网络运营服务器。

    到2013年2月6日,铁路警方已查实该团伙销售“加密狗”1011套,及利用“加密狗”软件在12306网站的订票信息3827条,已核实高价倒票1777张,非法获利140余万元。[1]

    添加视频 | 添加图册相关影像

    参考资料
    [1]^引用日期:2013-02-06

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块

    WIKI热度

    1. 编辑次数:16次 历史版本
    2. 参与编辑人数:8
    3. 最近更新时间:2014-05-14 03:22:17

    互动百科

    扫码下载APP