数据加密在软件注册中的应用

2022-09-11

在信息技术迅猛发展、日新月异的今天, 涌现出了许多优秀的软件产品, 这对信息产业的发展起着积极的推动作用。由于软件的使用和保护方面存在一些问题, 致使许多优秀的软件产品被他人无偿盗用, 这严重地影响了正版软件的发行和软件开发者的利益。为了保护知识产权, 给软件产品加使用许可证, 就变得非常必要。目前的软件保护方式通常是用软件狗加密保护或在线注册。前者把注册信息存在狗里加密, 只要带狗的主机就可以使用该授权软件。后者利用加密信息与主机的硬件信息唯一相关性原理, 即使盗得注册码在别的主机也无法使用该授权软件。为了防止盗版、增强保密系数, 本文以信息加密为研究背景, 通过研究, 对数据传输加密技术和数据加密算法做一个全面、综合地分析, 并将研究成果试用于网通公司数据采集、报警系统 (DCWS) 中。

1 数据加密

数据加密的核心是加密算法, 目前, 加密算法有很多种, 按照发展进程来看, 经历了古典密码、对称密钥密码和公开密钥密码三个阶段。古典密码算法有替代加密、置换加密;对称加密算法采用相同的密钥进行加密和解密, 这类算法的代表是DES算法;非对称加密算法使用两个不同的密钥, 称为公钥和私钥, 其中公钥公开, 用于加密, 私钥由用户保存, 用于解密, 这类算法包括RSA、背包密码、Rabin、椭圆曲线等, 其典型代表为RSA算法。

1.1 DES算法

DES算法即 (Data Encrytion Standard) 数据加密标准, 由IBM公司1975研究成功并公开发表, 于1977年被美国国家标准局接受并被批准为用于非国家保密机关的数据加密标准。自公布以来, DES算法一直超越国界成为国际上商用保密通信和计算机通信最常用的加密算法, ISO也将其作为数据加密标准。

DES是一个对称算法, 加密密钥和解密密钥相同, 它以64位为分组, 对数据加密。64位一组的明文从算法的一端输入, 64位的密文从另一端输出。

诸如Des这类私钥密码系统要求通信双方将密钥通过秘密信道安全地传送, 而这个秘密信道并不一定真的安全, 从而使得其保密性受到威胁;同时, 私钥密码系统也存在自身的不足, 即无法实现信息传输的不可否认性以及在大量用户的网络通信中, 密钥的管理和更换十分困难等。

1.2 RSA算法

从1976年公钥密码的思想提出以来, 国际上己经提出了许多种公钥密码体制, 但比较流行的主要有两类:一类是基于离散对数问题的, 比如EIGamal公钥密码和影响比较大的椭圆曲线公钥密码;另一类是基于大整数因子分解问题的, 其中最典型的代表是RSA。

R S A是1 9 7 7年由R i v e s t、S h a m i和Adleman提出的公钥密码体制, 它既能用于加密又能用于数字签名, 其基础是数论中的欧拉定理, 其安全性基于分解大整数的困难性。该算法经历了多年深入的密码分析, 到目前为止尚无法找到一个有效的算法来分解两个大素数之积。

公钥密码体制的特点是:采用两个相关的密钥将加密和解密分开, 通信双方不需要事先传送密钥就可以建立保密通信, 保密性好;可以实现数字签名, 保证传输信息的不可否认性;算法基于数学难题, 加密效率 (如RSA加密中的模幂运算) 比较低, 不适合大量信息的加密;密钥管理、信任关系确立需要权威的KDC支持。

1.3 数字签名

由于在传输过程中存在数据被通信双方之外的第三方伪造或篡改的可能, 通信双方无法验证数据来源, 就很可能出现一方抵赖的情况, 此时就要求传送的信息具备不可否认性, 数字签名技术为此提供了一种解决方案。

签名具有的基本特性是:它必须能够证实签名的作者、签名的时间以及能对签名进行鉴别;同时, 签名应具有法律效力, 必须能被第三方证实用以解决争端。

数字签名能够实现以下功能。

(1) 接受者可以确认发送方的真实身份;

(2) 签名者事后不能否认发送过签名;

(3) 任何人不能伪造 (包括接受者) 、篡改报文;

公钥密码体制可实现数字签名, 但效率非常低, 应用起来也非常困难, 因此在网通数据采集、报警系统 (DCWS) 系统中采取通过抽取数据摘要进行数字签名, 使用的是流行的摘要函数MD5。

2 数据加密在网通公司开发的数据采集、报警系统 (DCWS) 的应用

对称加密算法和非对称加密算法各有其优缺点, 在实践中, 单独使用一种加密算法会出现很多问题, 而结合使用两种加密算法则可以扬长避短、性能互补, 无论在加密速度还是加密强度上都有很大提高。实现的方法如下。

先安装好数据采集、报警系统 (DCWS) 的服务器和客户端, 然后运行客户端, 收集本客户机的注册信息, 如Mac、Cpu、IDE硬盘序列号等, 设为M。

收集完注册信息后, 客户端执行如下操作: (1) 利用摘要函数得到M的摘要信息为m; (2) 将m经过RSA客户端私钥加密后得D1 (乱码, 攻击者不易识别) ; (3) DES对称密钥K经过RSA服务器端公钥加密后得D2; (4) 注册信息经过DES密钥k加密得D3; (5) 最后将D1、D2、D3一起发到服务器端, 如图1。

服务端收到信息后, 执行如下操作: (1) 用客户端公钥解密得到摘要m; (2) 用服务端私钥解密得到DES的密钥K; (3) 用K解密密文得M; (4) 将M经过MD5运算获得摘要m1; (5) 比较m和m1, 如果两者相等, 说明经接收方解密获得的摘要信息与接收方自己产生的摘要信息相同, 说明数据信息在传输过程中没有丢失或篡改, 反之亦然, 如图2。

至此完成了数据加密、解密、签名以及签名验证的过程。

3 结语

事实证明, 在四川网通公司的数据采集、报警系统 (DCWS) 软件注册保密防范措施中采用数据加密、签名是一种有效的方法, 具有一定的安全性和可靠性;同时也是最经济可行的方法, 容易实现。

摘要:随着信息技术突飞猛进的发展和计算机技术的广泛应用, 软件业也得到了迅速的发展, 软件开发者为了维护自身以及软件购买人的利益, 保护科研成果、技术和版权, 有必要对软件进行加密保护。本文介绍了在为网通公司开发的数据采集、报警系统 (DCWS) 中, 利用注册码 (序列号) 软件加密方法, 该方法可实现一台计算机一个注册码, 解密难度大, 较为有效的防止非法用户, 而且实现容易。

关键词:数据加密,数字签名,数据采集,报警系统 (DCWS)

参考文献

[1] SchneierBruce (美) .应用密码学[M].机械工业出版.

[2] Jean~Sebastien Coron. Index Cal-culation Attacks on RSA Signature and Encryption.Designs.Code and Cryptography, 2006, 38:41~53

[3] 郑光明, 韩青敏.一种数字签名系统的设计与实现[J].湖南学院学报, 2007, 28 (2) :77~81.

[4] 蔡俊杰.DES与RSA算法的分析与研究[J].安全技术, 2007, 1:26~28.

上一篇:杭州市大学生创业环境初析及对策下一篇:探究智慧图书馆建设