一种混合加密方案在软件授权中的应用

抱有知识产权的软件一般采纳软件敬服手段,需要采用某种情势激活软件才足以利用。软件激活精神是对密文数据开展相比,而密文数据是由软件开发商按照目标机器的特征数据开展加密暴发的。激活进度是在印证服务器或者目标机器上形成,在这几个历程中,数据加密方案首要,设计精良的加密方案,难以被破解、复制或盗用,软件体贴工作做的很周到。本文分析现有软件爱抚方式,借鉴基础软件加密算法基础上,设计出一种高强度、难破解的混杂加密方案,并在软件工程举行中表明该混合加密方案的矛头。

图片 1

1 软件珍重

为了维护软件开发商的回旋,防止软件被复制、盗用或未经证实而不合法采纳软件,一般选取软件授权形式对软件进行求证激活,唯有经过验证激活的软件才能健康使用,用户才能选用软件提供的种种功能、服务。随着软件普及程度、互连网技术的向上,软件的效率模块越多,软件开发商希望依据作用模块来销售软件;随着销售情势的发展,用户期望按照使用时间、次数来置办和利用软件;随着用户数量的提升和软件版本的充实,软件开发商索要更好的管理软件销售和运用,因此软件授权爱慕的钻研与使用越来越首要。从技术角度,软件授权可以分成在线授权和离线授权。

1.1 在线授权

在线授权,是一种新兴的、基于认证服务器的授权方式,以网络技术为底蕴,替代传统的授权文件、系列号或激活码方式。应用程序通过开发商发放的认证码与认证服务器建立连接,调用服务器接口已毕授权进度。在线授权使用高强度的通讯加密技术,并且服务器远离软件用户,它的软件爱惜强度极度高。除此之外,应用程序在后台可以周期访问认证服务器,为开发商收集软件用户使用景况、总结软件使用景况、急速提高与保安提供了技术手段。

1.2 离线授权

离线授权即传统意义上经过注册码、体系号、密钥或者授权文件,在地点完毕应用程序激活的点子。寻常设计完结上有二种样式:硬认证激活、软认证激活。

硬认证激活要求借助额外硬件设施,在硬件设备中储存应用程序激活必须的声明数据,只有认证数据能被应用程序读取识别,应用程序才足以正常使用。“加密狗”是一种硬认证激活格局的一种完结,插在总结机USB口或串口上的便携存储设备,早期多为串口格局,现在多方都是USB口方式。

软认证激活是此外一种软件认证激活方式,日常由软件开发商向用户提供特色数据收集工具。用户在对象电脑上运行该工具,将工具采集的特点数据交到给开发商,开发商依据特征数据变动激活密钥、连串号、激活码或者授权文件。用户再使用开发商提供的行列号、激活码或者授权文件完结应用程序认证激活。特征数据即工具软件采集用户电脑发生的硬件特征、软件特征数据。硬件特征数据指主板种类号、磁盘体系号、物理地址等数据;软件特征数据指总结机名称、用户名称等数码。激活密钥、系列号、激活码或者授权文件都是对特色数据开展加密、编码后发出的。离线认证激活格局是现行软件主流认证激活格局。

2 加密方案设计及运用

2.1 加密算法概述

软件爱戴中利用密码学知识来形成特征数据的维护、敏感新闻的表达,涉及内容包罗音讯资源机密性、新闻鑒别、音信报文完整性和不得否认性等连锁题材。数据加密技术是最常用的软件保养技术手段,其主干思维是由此转移新闻的意味方式来伪装必要有限支撑的机警消息,使非授权者不可能通晓被保险音讯的内容。实施进度中利用技术手段把主要的数量变成乱码(加密)传送,到达目标地后再用相同或分裂的招数还原(解密)。数据加密技术包蕴八个要素:加密方案和密钥。加密方案是将一般性的音信资源还可以清楚的新闻资源与一串数字(密钥)结合,发生不可精通的密文的步调,密钥是用来对数码举行编码加密和平解决密的一种多少。在密钥吝惜中,可因此适当的密钥加密技术和管理机制来保管音讯资源的平安。

数量加密算法基于相应的数学理论,发展至今,已经发出了汪洋卓越的加密算法,平时分为两类:对称密码算法和非对称密码算法。Blowfish算法是赫赫盛名的相得益彰加密算法,是一种将64位数据分组及利用可变长度密钥的相辅相成密钥分组加密算法,可用来加密64位长度的字符串。32位处理器诞生后,Blowfish算法因其在加密速度上的优越性而引起众人的宽广关怀。Blowfish算法具有加密速度快、紧凑、密钥长度可变、免费使用等特性,已被普遍利用于软件尊敬、软件认证激活。算法主题在于子密钥的变型,它将变长密钥扩张成总长4168
比特位的子密钥数组。算法中行使了汪洋的子密钥,而子密钥又凭借于用户密钥,实际加密解密进度中选用的是创新后的子密钥数组,子密钥即P数组和S盒。算法输人64位明文音信,经过加密运算,输出64位密文音讯。

MD5的齐全是Message-digest
Algorithm5(中文译作音讯摘要算法5),为电脑安满世界大规模选取的一种散列算法,用以申明音信的完整性、确保新闻传输的正确性,是闻名的非对称加密算法。它经MD2、MD3和MD4腾飞而来,在20世纪90年代初诞生。MD5算法可粗略叙述为:MD5以512位分组来拍卖输入的音信资源,且每一分组又被分开为16个32坐席分组,经过了一一日千里循环处理,算法的出口多个32位分组,将这多个32位分组顺序组合后生成一个128位散列值。MD5算法具有出口长度固定、目的值不难总结、抗修改性强和超低碰撞几率的特点。对擅自长度的数目,算法输出固定128位散列值;对原数据的其余改动,即使是修改一个比特位,所获取的散列值都不可同日而语的;已知原数据和所生成散列值,想找到一个持有同样散列值的数据(即伪造数据)是非凡尤其困难的。

2.2 加密方案设计

在骨子里行使进度中,使用单金立密算法作为加密方案对新闻资源举行加密保护往往心有余而力不足满意使用必要。其中Blowfish算法采纳变长用户密钥,算法加密解密主题在于用户密钥的挑选和保安,开发者往往平日利用部分弱用户密钥对新闻资源开展加密,导致Blowfish算法存在着很大的天水隐患
。可是不难的MD5加密也是从未有过办法已毕相对的平安的,随着技术的不断进步,普通的MD5加密有两种暴力破解格局,由此只要想要有限支撑音讯数据、资源的安全,必需求统筹新颖加密方案。本文将交织使用上述三种加密算法,设计布置一种风尚的、高效的、破解难度高的名不副实加密方案,以进步安全性。加密方案基本步骤如下:

(1)对原有音讯资源利用MD5算法进行加密,发生128位散列值;

(2)将步骤a爆发的定点长度散列值作为Blowfish算法的用户密钥,先河化Blowfish加密算法;

(3)使用初叶化完结后的Blowfish算法对原来音信资源的开展加密,加密后即会发出高安全性的密文数据。

2.3 方案工程使用

在实验室工程选用中对本文设计的良莠不齐加密方案举办求证,对工程使用中的关键部分交给伪代码完成。本实验室工程拔取设计以软件授权文件格局考查、验证混合加密方案的先进性、可行性和可实施性,其中授权文件中含有用于相比较印证的密文数据。

转变授权文件中密文数据的伪代码如下:

图片 2

注解激活进度即读取授权文件中的密文数据,然后扫描指标机器硬件特征、软件特征数据,依据特征数据变化密文数据,将新生成的密文数据与授权文件中读取的密文数据举行相比,密文数据一致即认证激活成功,否则认证激活败北,完毕部分伪代码如下:

图片 3

3 结束语

运用激活密钥、系列号、激活码或授权文件等措施评释激活软件是软件开发商爱护软件知识产权的常用技术手段,不过上述技术手段存在被破解的高危机。随着基础数学、总计机科学、密码学等基础科学的上扬,对加密算法商讨的升入,互连网技术的开拓进取,使用单Samsung密算法的加密方案被破解的高风险更为大。为了降低被破解的危机,应当设计新颖加密方案,混合使用不一样种类、用途的加密算法,才能降以指数级增进破解难度,下跌加密方案被破解的高风险。本文所计划的新星加密方案组合使用Blowfish算法和MD5摘要算法,安全周密高、破解难度高,在实验室工程使用中通过验证,具有先进性、可行性和可实施性,可以看成一种升高加密方案推广利用。

参考文献

[1]王津涛,覃尚毅,王冬梅.基于MD5的迭代冗余加密算法.总计机工程与设计,2007(28).

[2]钟黔川,朱清新.Blowfish密码系统分析[J].统计机应用,2007(27).

[3]高博,李彦.一种基于硬件特征和动态许可证的劳务器端软件授权认证模型[J].统计机工程与不易,2013(35).

[4]陈志伦.一种基于RSA/IDEA加密License文件的软件敬服方案[J].总结机应用与软件,2005(22).

[5]毛明,秦志光,陈少暉.破译MD5算法关键技术探索[J].计算机应用,2009(29).

小编简介

商开拴(1985-),男,安徽张家口市人。大学本科学历。现为中国电子科学和技术集团集团电子科学商量院员工。紧要探究方向为系统软件设计与集成。

小编单位

中国电子科学和技术公司集团电子科学探究院 巴黎市 100041

相关文章