欢迎来到学术参考网

软件注册中数据加密应用实践分析

发布时间:2015-12-14 14:25

摘 要:随着信息通信技术的不断发展,计算机软件也广泛地应用于各个行业,软件开发者和购买者要为维护其利益,保护自身的成果和技术版权,必须在软件的注册中就对软件数据进行加密保护,以防止数据被非法获取而造成的危机。本文介绍了计算机在软件注册中如何实现每台计算机都可设置一个注册码的方法,并且此法解码的难度会很大,从而有效地阻止用户的非法使用,从而提高软件使用的安全性。

关键词:数据加密 ;软件注册 ;数据采集 ;网络安全
随着网络技术的广泛应用,现代社会也日益呈现出信息化的特征,极大地影响了人们生活及工作。同时信息技术的发展使得许多优秀软件不断产生,积极的推动着信息产业的进步和发展。但是软件在使用中会存在保护方面的问题,使得许多软件被非法无偿盗用,从而对发行的正版软件以及开发软件者自身的利益都产生极为严重的影响。软件产品要保护其知识产权,因而增加使用许可证是非常有必要的。传统的软件狗加密的保护方式是在软件狗里加密注册信息,但是要使用此授权软件必须是带狗的主机。而在线保护等软件的保护方式是一种使非法盗取者盗取了注册码也无法使用此授权软件的技术,其主要是利用主机硬件保存的信息与加密的信息存在唯一相关性的原理。本文主要从增强信息的保密系数以防止盗版为研究对象,对数据的加密算法和传输的加密技术全面的分析,并对在公司数据采集以及报警系统中的应用进行分析。
1. 数据加密的算法
   加密的算法是软件注册中数据加密应用的核心,现在的加密算法很多,其发展演变经历了古典的密码和对称的密钥匙以及公开密钥的密码这三个时期。古典的密码算法主要有替代和置换加密两种,对称加密是利用相同的密钥来做到加密以及解密,这种加密算法是以DES算法为代表,非对称加密则采用公钥和私钥两种不同的密钥来加密和解密,其中用来加密并公开的是公钥,用于解密的并由用户私人保存的称为私钥,这种算法由其典型代表RSA算法、椭圆曲线以及背包密码等组成。
    (1)DES算法介绍
  DES算法,即 ,是1975年IBM公司成功的研究并发表的数据加密标准。自此,DES算法成为计算机通信和商用保密通信中最为常用的加密计算方法,并超越国界作为在国际上的数据加密标准。
   DES算法是加密及解密密钥相同的对称算法,对数据进行以64位分组的加密,这类私钥密码必须由通信的双方经由秘密信道来安全传送,但是对于这秘密信道的安全性有质疑,所以仍对其保密性有威胁。
  (2) RSA算法的介绍
     RSA是基于大整数因子来分解问题的公钥密码体制之一,它既可以用于数据的加密又可以用于数字签名,其原理是欧拉定理,而分解一些大整数的困难性是其安全性的基础。这种公钥密码体制主要是用两个相关密钥分开加密及解密的方法,通信双方建立保密的通信而不需事先就传送相应的密钥,因而有着较好的保密性,并可使数字签名得以实现,使通信双方不可否认传输的信息。但其以数学难题为根基,较低的加密效率,因而不适合加密大量的信息。密钥的管理和信任关系都需要其他的技术支持。
    (3)数字签名的介绍
   防止数据的传输过程中被第三方篡改或伪造的发生至关重要,但是通信双方对数据来源却无法进行验证,这样就很可能产生一方对数据的抵赖情况,数据签名就为传送信息的不可否认性提供了一个较为有效的解决方案。
  数据签名必须具备证实签名作者以及签名时间、对签名进行鉴别,同时必须具有被第三方证实的法律效力以解决争端的基本特征。
  数据签名可以确认通信双方的真实身份,当事者不能事后对发送的签名否认,第三方不能更改和伪造报文。
  数字签名在公钥密码体制中的实现效率较低,应用较困难,因而一般会采用抽取数据摘要的方式来实现数字签名。
2. 数据加密在软件注册中的应用实践
  对称式和非对称式这两种加密算法都有各自的优缺点,因而实践中不能单独使用其中一种加密算法,否则会出现不少问题,而两种加密算法的结合则可以做到性能互补和扬长避短,并在加密速度和强度上有较大提高。实现的操作方法是:
    先把报警系统和数据采集的服务器以及客户端都安装好,然后开始客户端的运行,对本客户机进行注册信息的收集和整理,用同一的字符表示。
    其次对注册的信息收集完成后,在客户端中执行下面的操作:(1)用摘要信息m去代表利用摘要的函数而获得的M。(2)用RSA的客户端对m进行私钥的加密,得出D1(入侵者不易识别的乱码)。(3)用RSA的服务器客户端对DES算法的对称密钥k公钥加密,得出D2.(4)利用DES密钥对注册信息进行加密,得出D3.(5)然后将以上操作所得出的D1、D2以及D3全部发到相应的服务器客户端。
    再次,收到信息后的服务器端应执行下列操作:(1)利用客户端的公钥进行解密以得出摘要m。(2)利用服务端的私钥进行解密以得出DES密钥k。(3)用M代表k解密的密文。(4)利用MD5对M进行运算得出摘要m1.(5)对最后得出的m及m1进行比较,若两者相等,则表明接收方在解密过程中的摘要信息和接收方自身所产生相关的摘要信息是相同的,表明在传输中的数据信息并没有篡改或者是丢失。
     完成上述以后,就完成了在软件注册中数据加密及解密,还有签名和签名验证的全部过程。
  在用户提交信息时开发商会根据信息生成注册码,然后返还一个注册码或者文件给用户。若返还的是注册码,一般软件会将注册码放到某个指定的软件位置,只要软件读取此位置的注册码的信息就可进行验证。若是注册的文件,只需将其存放于指定的文件夹当中,每当用户对软件进行注册码验证时,只要读取指定文件的注册码信息验证即可。
  加密文件注册后才能使用。加密软件的比较理想状态是在运行前先提取计算机的信息,再运用加密算法算出密文,来比较注册码和密文的区别,从而验证有无合法的使用软件。
  
  
  3. 总结
    本文介绍了两种不同的数据加密算法进行结合对软件注册加密的方法,提高实际应用中的安全性和高效性,对于软件开发商而言,这样的软件注册加密方式成本较低,算法成熟,便于软件用户管理和软件产品的管理。当然我们也可以结合软件水印,功能隐藏等其他技术来保护注册码校验模块.以避免模块被绕开或者修改,进一步加强软件自身的安全。
  
  网络信息技术的重要性主要体现在保证数据的安全性上 ,对软件知识产权的保护首先就是加强数据的安全性,因而必须在软件的注册中就做好数据加密工作。事实证明数据加密是有效并可靠的保护软件安全的一种方式,也是最为经济可行的方法,并且容易实现。
  
参考文献:
[1]李晓利.数据加密技术在计算机网络安全中的应用探讨[J].数字技术与应用,2011,6
[2]刘远生.网络安全实用教程[M].人民邮电出版社,2011,4
[3]张金辉,郭晓彪,符鑫.AES加密算法分析及其在信息安全中的应用[J].信息网络安全,2011,5
[4]王宝华,王宝石,人力资源管理【M】,机械工业出版社,2004(8)。
 [5]谢兆平,肖倩谰,祝庚,ERP 人力资源管理系统的设计【J】,长沙大学学社,2000.
[6]ZSC/太平洋忘了学院翻译,JAVA程序员必读:基础篇(2)面向对象编程概念,太平洋电脑网

上一篇:新闻发布系统的设计与实现

下一篇:浅析六西格玛在软件项目管理中的作用