计算机软件版权保护方法探究

时间:2022-08-07 08:34:22

计算机软件版权保护方法探究

【摘要】伴随软件行业的发展,计算机软件越来越容易受到复制和盗版的威胁。论文分析了成功软件版权保护方法的实现技术,并提出从法律和管理上同时发力,全方位地实现软件版权保护,切实维护好软件开发者的合法权益。

【关键词】软件;版权保护;软件加密;软件水印;机器码

1引言

随着信息技术的发展,计算机软件产业也迅速崛起,成为社会经济不可缺少的一部分。然而计算机软件特有的复制成本低、复制效率高的特点,使得软件产品往往成为版权侵犯的对象。软件盗版、软件非法拷贝等问题日益严峻,因此软件产品知产权的保护变得尤为重要。为了保护软件所有人的权利,必须从技术、法律、管理等各方面考虑,进行全面保护。

2技术保护

通过技术手段进行软件保护,防止对软件产品的非法复制和使用,以及对软件产品进行的非法修改。

2.1硬件加密

硬件加密指使用硬件和软件结合的方式来实现软件的加密。基于硬件的方法有加密狗、加密锁保护、光盘保护等。常用的是插在计算机的接口上的加密狗,加密后的软件在执行时需要访问硬件加密狗。但是,硬件加密成本较高,主要应用于行业用户中,不适用于普通用户,也不利于网上软件。

2.2网络加密

网络加密是利用网络技术对软件进行加密保护的技术。常见的方法有网络验证等。网络加密需要将软件运行的重要数据放在服务器上,只有通过联网验证用户注册信息后才能取得这些数据运行软件,它的加密强度较高,但是需要建立专门的服务器网站,成本高。采用这种加密方法,用户必须在线完成网络验证,在网络不稳定的情况下被加密的软件就无法正常使用了。

2.3软件加密

软件加密不依靠硬件只使用算法来实现的对软件的保护。目前常用的有注册验证法、计算机硬件校验法、软件水印保护等。软件加密的方法相对硬件加密而言成本比较低,但安全性相对也要低一些。

2.3.1基于注册验证的版权保护

用注册信息实现版权保护,是目前使用比较广泛的版权保护方式。软件供应商对用户信息进行加密,密文作为注册信息返回给用户。软件运行时,通过验证注册信息确认软件是否授权,实现保护。注册信息一般基于软件使用者的用户信息生成,可以是一串序列号或注册码,也可以是一个授权文件或其它存在形式。在验证比较严格的情况下,用户信息应该包含标志用户唯一性且不可复制的信息,例如计算机的CPU、硬盘等关键部件的硬件序列号等。对合法授权软件,软件供应商会提供一个注册文件,该文件包含加密过的用户信息、注册码等注册信息。用户只要将该文件放入指定的目录下,软件每次启动时,从该文件中读取注册信息并按设计好的算法进行处理,然后与用户输入的信息或注册码进行比较,根据比较结果判断是否为授权软件,如果是则以正版软件模式来运行。

2.3.2用软件水印实现版权保护

软件水印是近年来出现的一种新型的软件版权保护方法,它在软件产品中嵌入版权保护信息和身份认证信息,并通过检测出的版权保护信息和身份认证信息来确认对产品的版权拥有,防止软件盗版和非法拷贝。软件水印具有信息隐藏的功能,水印信息可以包含作者、发行商、所有者、使用者等信息,并携带有版权保护信息和身份认证信息,在设计水印时对这些信息加密,可以防止水印信息遭到破坏或者修改。软件水印技术包括水印信息的生成、水印嵌入和水印提取三个过程。根据软件水印的嵌入和提取技术来分,可分为静态水印和动态水印。静态水印把水印信息存储在可执行程序代码中,比如放在安装模块部分、指令代码部分,或者是调试信息的符号部分。软件运行时准确提取软件中的加密水印信息,解密后与原始信息对比,验证软件的版权信息。动态水印则是把水印信息保存在程序的执行状态中,而不是程序源代码本身。软件开发过程中,选择一种动态水印算法,和正常的软件模块一起编写、编译。软件执行过程中要求输入特定的序列,根据输入,程序会运行到某种状态,这些状态就代表水印,通过这些水印验证软件的版权。

2.3.3基于机器码的软件版权保护

计算机的硬件通常具有惟一的标识,比如MAC地址、硬盘序列号、CPU序列号和主板等,这些信息被统称为机器码,软件用户一般无法轻易改变它们。一种方法是用机器码生成注册码。软件开发人员利用系统提供的接口编程获取机器码,对这些机器码进行组合变换后作为用户注册信息,再对这些注册信息经过加密处理,就能产生与该主机匹配的唯一注册码,把这个注册码放在软件的文件系统中。软件每次运行时读取计算机的机器码生成注册码,并与注册文件中的注册码进行比对,若有误,软件将被限制使用。另一种方法是直接用机器码加上软件信息作为验证信息。软件安装时获取用户计算机系统已经存在的某些特征信息,比如CPUID、BIOS信息、硬盘序列号、硬盘分区信息等,在这些信息的基础上加入相应的附加信息,如用户信息、软件信息和使用期限等,把这些信息作为一个整体生成MD5码,用以区别不同的计算机。为了安全,可以把MD5码和附加信息用DES算法进行二次加密,密文保存在用户的计算机上。软件运行时读取并解密密文,与用户计算机的特征信息(机器码)及附加信息进行比较,确定软件的版权。

3法律保护

随着社会的发展,对计算机程序软件的保护问题已成为我国乃至世界保护知识产权的重要内容之一。我国1990年颁布的《著作权法》规定,计算机软件是受法律保护的作品形式之一。2002年,我国颁布了《计算机软件保护条例》,对软件实施著作权法律保护作了具体规定。软件著作人或软件公司,可以通过申请软件著作权来保护开发的软件产品。软件版权保护的保护范围非常广泛,对内容没有特殊要求,只要具备一定的独创性,就可以申请版权保护。在发生软件著作权争议时,《软件著作权登记证书》是主张软件权利的有力武器,请求司法保护的前提。在进行软件版权贸易时,《软件著作权登记证书》作为权利证明,有利于交易的顺利完成。如果软件产品思想新颖、技术上有创造性,并且具有实际的经济利益,可以向专利局提出专利申请,实现计算机软件的专利保护。专利保护的内容比较广泛,能实现对创意、思想及计算机软件特有的源代码进行专利法保护,有利于保障软件开发者的合法权益。软件开发者根据软件的特点和保护需求,根据版权保护或专利保护的特点,选择合理的保护模式,及时进行版权登记或专利申报。

4管理保护

计算机软件版权保护还要注意企业内部管理。首先,计算机软件开发企业内部管理不规范、不严格,软件开发的核心人员离职时,带走核心资料并卖与他人,造成软件核心资料外泄。其次,软件版本管理不完善。有的软件开发公司在进行软件升级时,不注意保存原程序版本,从而造成原程序版本外流被侵权。因此,企业必须加强内部管理,保护好已有的软件产品,规范软件开发的文档管理,与核心技术人员签订任务委派书等,进一步细化软件开发中的验核程序,同时规范劳动合同。

5结束语

软件的算法是设计人员的思想火花,并且随着软件功能和规模的增大,软件的开发成本也越来越高。软件企业为了维护自己的权利,也是从各个方面加强保护。在技术上进行加密等防止复制,申请版权或软件专利进行维权,在企业内部规范管理防止核心资料外泄等。作为软件开发或应用人员,也要尊重别人的劳动成果,不要剽窃他人的作品,维护社会安定。

参考文献

[1]段刚.加密与解密(第三版)[M].北京:电子工业出版社,2008:102-103,121-126,392-395.

[2]张晓娟.软件水印在软件版权保护中的应用[J].现代计算机,2012(10):24-26.

[3]王贤德,王伟超.软件版权保护技术研究[J].软件导刊,2008(7):30-31.

[4]刘宏申,孙长应.软件水印实现软件版权保护[J].电脑知识与技术,2012(3):1701-1703.

[5]张畅,胡谷雨,倪桂强.基于机器码加密的软件版权保护方案[J].计算机安全,2013(3):46-48.

[6]张学诚,王云晓,孙海龙.基于计算机指纹的软件版权保护[J].计算机与现代化,2013(9):172-174.

作者:王云晓 张学诚 孙海龙 单位:山东水利职业学院 曲阜师范大学网络中心 曲阜师范大学工学院

上一篇:计算机软件开发技术现状分析 下一篇:计算机通信技术要点浅谈