软件保护的分析与思考

2015-01-06 05:24袁淑丹黎成任子亭
电脑知识与技术 2014年34期
关键词:加密技术

袁淑丹 黎成 任子亭

摘要:该文在分析了以往的软件加密方法和对比研究之后,得出将软硬件结合进行软件保护的方案,于是提出了基于硬盘序列号进行软件加密保护的研究。将软硬件加密技术结合使用,硬件方面通过对比分析得出要使用硬盘序列号进行加密依据,基于计算机硬盘序列号具有唯一性特点,可以更好的实现一码一机制,并且在软件加密技术上进一步改进,使用对称加密算法与非对称加密算法结合,让软件的保护强度进一步提高。

关键词:软件保护;加密技术;注册机

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)34-8180-02

1 背景分析

自1946年世界上第一台计算机问世以来,经历了几十年的飞速发展,除了给人类带来便利之外,还为人类提供了大量的就业岗位。随着硬件技术的突飞猛进,软件也是当今商场中的一块极具发展前景的领域。软件产品的研发也占据了商品生产的重要地位。计算机技术与通信技术的结合产生了计算机网络,便利了人类的同时也带来了软件版权保护问题。共享软件和非授权软件使用也是软件产品面临的最严峻的问题,给人类造成的经济等等各方面的损失也是极其庞大的。2011年新京报显示,2010年盗版软件给中国软件产业造成的损失高达1009.9亿元。商业软件联盟(BSA)的调查结果表明,2010年中国软件盗版率达78%,较之前已经下降很多,说明中国对于软件的盗版问题也采取了相应的措施手段,但是因为软件产业起步晚,发展快,立法方面一直处于滞后状态,对于政府部门、理论界一直研究的热门话题也是怎么样使用法律手段来保护计算机软件的知识产权。就计算机软件发展历程来看,现行法律基本都是采用著作权的模式,但这绝非是单一的选择,人们更希望计算机的保护制度能得到更进一步的完善,那么无疑采用什么模式保护是计算机软件保护制度的焦点问题。但无论从哪个方面采取措施,都存在相应的漏洞,因此对于降低盗版软件率,我们需要从公益道德、法律法规及软件技术等方面着手,单一的保护措施肯定无法阻挡盗版软件的滋生。目前对于新兴的中国软件产业来说,盗版软件已经构成了很大的危害,对于软件市场的发展也遭遇了严重地阻碍,继而导致软件行业无法为国家提供的更多就业机会和更高的税收,影响的是整个国家的巨大的经济效益和社会效益。

2 国内外发展水平及现状

对于软件的保护我们要从法律角度和技术角度出发,同时达到保护作用,使非法盗版软件得到更严厉的制裁,保护我们软件市场健康的运行和成长。

2.1软件保护法

基于软件是人类特殊的智慧结晶,是极为奇特的一种可以呈现特定含义和表现形式的一种商品,但也是依靠指定的数学算法输出特定结果的工具,从这两点上,体现出计算机软件是一种功能性作品,所以对计算机软件的保护既是软件版权的保护也是专利权的保护。在法律保护形式及内容上都处于艰难的选择中。软件知识产权被版权保护、专利保护、商业秘密保护以及反不正当竞争等多种保护模式下保护。

2.1.1软件版权保护模式

从20世纪80年代左右开始, 可复制性、作品性等计算机软件自身拥有的这些特殊性质渐渐得到人们的辨别,在美国为主导的带领下使版权保护成为一种流行趋势。

版权保护模式除了对计算机软件起到了一定保护作用外,也呈现出很大的局限性,由于版权法的保护对象并非计算机软件的核心技术,仍会导致软件受到威胁,还有年限问题等等,也将遏制软件的创新和更换。由于计算机软件本身具有作品性和功能性的双重特点,保护形式和范围更为复杂。

2.1.2软件专利保护模式

虽然软件的版权保护模式在其保护模式中占主导地位,其弊端也是不容人们所忽略的,为了软件行业的稳健发展,世界各国都在不断努力的寻找着更合理更完善的保护措施。美国专利法101条,《日本专利法》第2条,TRIPS协议第27条,都为软件的专利保护提供了空间。计算机软件没有被专利法合理保护其实是显而易见的,当然不能排除对部分软件的保护作用,也有部分计算机软件及专利是被专利法认可范围内的。可以确信的是使用专利权的对计算机软件是有利的,有一定的保障,保护力度比著作权法好很多。可专利法保护软件仍有很多缺陷。由于软件的更新换代的速度过快,但专利等侯审查时间长,复杂性大,无法真正做到保护软件的始终,等审查结束此软件可能已被淘汰,这样诸多软件将面临严峻的威胁,并且申请专利的数量也受到影响。

通过上面的分阐述我们知道,依据作品的特性而设计了著作权法,并且对作品进行保护,但依照创造的特性进行设计了专利法,并且其与创造协调。到底是采取以作品性还是创造性来为计算机软件保护提供正确的模式,事实上辨别起来是非常困难的。不论哪种方法,想要很好的调和各种方法,并且介于当前法律对软件的保护过程里有交错、重复等情况,所以设计出符合计算机自身特性的特有保护法的要求越来越迫在眉睫。

2.2软件保护技术

软件是需要保护的,既然法律上还无法做到能真正的保护软件,那么软件制作者自己为其软件的安全而研究各种各样的保护技术,其实就是依赖于硬件的硬加密技术和脱离硬件加密的软加密技术,以及软硬结合加密方法,下面我们对这些加密技术逐一进行介绍。

2.2.1硬加密

硬加密,它通过加密信息被安装在特殊硬件上而成为附加软件原理存在的一种软件保护技术。硬加密是软件保护中一项功能强大的使用工具,也是介于硬件和软件相互结合进行加密的,加密强度更高,可靠性更强。虽说硬件加密的开发周期长成本高,但收益也是相当可观的,在如今软件日受到侵害的情况下,硬加密也是保证高档软件的更有效的方式。目前主流的硬加密主要有加密锁、加密卡、光盘保护等方法。

加密锁在业界颇受欢迎。它是一种安装在并行口或串行口电路上的软硬件结合的智能化的加密工具,为了让加密锁正常的保护软件,它必须要对软件程序对其发出的查询命令快速做出响应,要使软件顺利运行必须是加密锁作出的正确响应才可以。endprint

加密锁的加密强度是通过加密原理来体现的。所以目前市场上分为四代产品也是充分反映出每个阶段的思想。

第一代是存储型的。它是加密锁的先祖,开启了加密锁的先河时代,也是单纯依赖硬件加密的,只有一个存储部件在其内部,只能够实现厂商对它的读写。此类型加密锁实现的是厂商把事先准备好的保密数据设置到加密锁内,软件在运行中随机读取,这样对于想通过简单重复并口数据来解密的人设定了阻碍,万物都是有简单到复杂,这种加密锁的加密原理也是最简单的,目前已逐步淡出市场,但由于成本低利润好,所以并没有完全被厂商放弃生产。

第二代是算法不公开的加密锁。单片机被放置在硬件内部,通过算法实现加密。此类加密锁是通过软硬件结合完成加密的。首先建立保密协议其通过单片机、软件和加密锁之间的数据通信来实现的。所有数据都被加密处理过,破解过程就相对困难很多,因为很难分析数据内容及潜在的规律。显而易见的此类加密锁使破解者向功能层攻击。

第三代是“可编程”加密锁,中国以1999年的北京深思洛克为代表推出。此类型加密锁是软件加密技术的又一次提升。对于这种类型的加密锁的设计理念是软件中重要的代码或模块可以被用户进行“移植”到加密的保护设备上运行。那么介于成本的影响,早期的几款加密锁在可编程上也受到了阻碍,算法复杂度不高,编码空间小,程序空间小,保护强度弱等,使得此类加密锁没能得到很好的推广普及。

第四代是智能型的加密锁。2002年,中国的软件保护得到了又一次技术的提升。对于以智能卡为核心部件的智能型加密卡是被国内传统两强企业美国彩虹天地和北京深思洛克先后推出的。它实现了把特定算法存储在单片机芯片上,通过计算机接口对软件发出的密钥数据加密转换。迷宫技术、算法植入技术等都是智能加密锁在软件上采取的数据形式,抗扰能力较好。智能型的加密锁是对第三代“可编程”真正的延伸和使用。安全性能很好,在金融、军队等等各个领域广泛应用。

2.2.2软加密方法

软加密,我们从字面简单理解其实就是无需依赖硬件而实现的加密方法。有效的软件加密技术是让加密的程序代码不容易分析和追踪,那么软加密便达到了这种效果,是对硬加密的一个填充和扩展,使用软加密必须满足实时性的要求。并且对于额外的系统开销也无需增加,简便易行。对于软加密技术主要有密码方式、序列号法、注册机法、钥匙盘方式、软件自校验方式、光盘加密方式等多种加密方法。

密码方式是指在一些重要的软件执行阶段查询密码,要想程序继续进行,用户需要对照密码表输入密码才能继续完成。对于这种方式基本无成本投资而言,并很容易实现,只是在密码、密码点和人机对话等方面是固定的,这其实是缺陷,所以大部分在小型软件和价格低的软件上使用。

序列号法是软件供应商对于购买正版软件的用户提供可以顺利安装和使用该软件的密码。其实这种方法显然保护强度不高,只要复制及得到序列号,也可实现安装和使用。

注册机法是序列号加密的拓展。对计算机进行检测,并生成相应的数据,是它在软件程序安装时凸显的一个很重要的特点,那么用户要把这个生成的数据告知开发商,那么开发商根据这个数据完成加密之后又得到一组数据,这个数据可能是注册码或相关文件,只有当用户拥有这个注册码或相关文件后,才能正确顺利安装和使用软件。这样实现了该软件只能在一台机器上安装使用的特点,极大的保护了正版软件,凡事有利必有弊,那么硬件设备的更换,就导致了软件可能无法继续使用,无疑对开发商还是用户都会造成很大的障碍。

钥匙盘方式是指在软件运行过程中为了方便校验需要在软件特定的磁道写入特定的信息。这样的软盘似乎像钥匙似的,以钥匙盘命名而被人们广泛使用。其实这种加密方式是简单可靠的,投资也小,可是会让软盘驱动器在运行时被占用,给用户带来很多数据存取方面的困难,并且软盘稳定性可靠性都差容易损坏。并且现今此方法已被淘汰。

软件自校验方式是指安装程序会自动记录计算机硬件的奇偶校验和软件安装磁道位置等软件信息,这些信息都是软件开发商安装在硬盘上的,而且会自动改写安装程序。这些安装信息和标记在运行过程中被记录或标记。若运行环境改变,软件不会运行。由于这种方式不是单一改变硬件,而是整个运行环境的改变导致软件无法运行,所以人们很难发觉加密的存在,那么显而易见系统的可靠性相对较高,所以被广泛采用。其实万物都是有利有弊的,那么对于软件自校验而言,若更换运行环境中的硬件设备,那么就需要重新安装校验的软件,也是它的一个缺陷。

光盘狗是指对光盘软件的软加密技术。由于光盘在压制生产中虽有与母盘相同的特性,但因盘上的特征不同的特点,光盘狗就是对其特征来区分原盘和盗版盘。若想进行盗版复制,就要改变母盘机,费时费钱。所以光盘狗颇受开发商的喜爱和使用。

国外对于计算机软件的加密从上世纪80年代就开始了,并且按照市场需求大量投入。目前软件市场中,加密还是一个新生技术,但还是有很多领域应用这种技术,如系统本软件、应用软件、工具软件等等,软件行业也在这种新生技术的使用下得到很有效的保护。这样的保护方式,使得非法复制的盗版软件遭遇了大肆打击。可是在当今世界中,我们不能说哪种加密保护的强度是不可攻破的,只是被攻破的难易程度不同而已。如果说对于一个加密方式需要耗费极大的物力财力去破解而成为复制的盗版软件,那么肯定是不被接受的,继而会放弃破解,这样就达到了我们的保护目的。世界上没有完全不能破解的加密,只能说困难的程度不同。为了能够维护软件市场的稳健发展,软加密也好,硬加密也罢,只要能够为遏制盗版保护软件生产者利益,那么我们一律要使用,起码也是相对不再被动的局面,并且这种加密技术也充分显示出当前先进的计算机软件和硬件的技术水平。

3 结论

预防和遏制非法盗版软件的滋生,所以软件的保护措施势在必行,因为不断前速发展的技术,人们越来越关注通过计算机硬件信息来实现对软件的保护。那么分析了现有的软件保护技术,目前对于提取计算机硬件设备进行加密成注册机的保护方案还是比较流行的。在计算机的硬件设备上,硬盘序列号具有唯一性,它是出厂时给定的唯一的一组号码,软件保护就通过它的唯一性来实现加密,那么加密的强度就更高更可靠,硬盘序列号是每台计算机特有的一个厂家指定的号码,不可能出现重复的情况,那么这个序列号就可以成为我们保护软件时的一个认证,实现一码一机制就有了更可靠有力的保障。通过对文献分析研究对比,得出单纯使用硬件序列号进行一重加密是不可靠的的结论,那么基于此,提出本文的思想,对序列号注册机中进行双重加密保护,用户获取硬盘序列号然后对其进行一层加密,再传送给开发商的时候再进行二层加密。基于硬盘序列号的软件保护的设计和实现,其实这个方案是通过软件与硬件的结合来实现对软件产品的保护。硬盘序列号的唯一性,更加充分保护了软件使用。故本思想无论在哪种条件下都是可行的。

参考文献:

[1] 王晟宇.关于计算机软件保护法的探讨[J].计算机安全,2008(1).

[2] 王永国.基于U盘物理序列号的软件保护与注册方法研究[J].计算机应用与软件,2011(5).

[3] 何定华. Delphi 中利用 MAC 地址实现软件注册[J].微计算机信息 ,2011, 27(2): 246-248.

[4] 冯凯锋,吕述望.一种基于公钥密码算法的序列号软件保护方案[J].计算机应用,2002,22(4):71-72.

[5] 王春来.基于计算机硬件序列号进行软件加密的技术[J].辽宁科技学院学报,2008,6(2).

[6] 刘学辉,王国良,冯丽萍.基于磁盘序列号实现软件加密[J].无线电工程,2007,6(6).endprint

猜你喜欢
加密技术
数据加密技术在计算机网络安全实践中的应用研究
海洋水文信息加密技术方案设计与测试
运用数据加密技术维护网络安全的可靠性研究
计算机网络通信安全中数据加密技术的应用分析
数据加密技术在计算机网络安全中应用研究
数据加密技术在计算机网络通信安全中的应用
计算机数据加密技术综述
数据加密技术在计算机安全中的应用分析
在计算机网络安全中数据加密技术的应用
基于四叉树网格加密技术的混凝土细观模型