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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种混合加密方案在软件授权中应用

一种混合加密方案在软件授权中的应用   摘 要拥有知识产权的软件一般采取软件保护手段,需要使用某种方式激活软件才可以使用。软件激活本质是对密文数据进行比较,而密文数据是由软件开发商根据目标机器的特征数据进行加密产生的。激活过程是在认证服务器或者目标机器上完成,在这个过程中,数据加密方案至关重要,设计良好的加密方案,难以被破解、复制或盗用,软件保护工作做的很完善。本文分析现有软件保护方式,借鉴基础软件加密算法基础上,设计出一种高强度、难破解的混合加密方案,并在软件工程实践中验证该混合加密方案的可行性。   【关键词】MD5算法 BLOWFISH算法 软件保护 软件授权 硬件特征   1 软件保护   为了保护软件开发商的权益,防止软件被复制、盗用或未经认证而非法使用软件,一般采用软件授权方式对软件进行认证激活,只有经过认证激活的软件才能正常使用,用户才能使用软件提供的各项功能、服务。随着软件普及程度、互联网技术的发展,软件的功能模块越来越多,软件开发商希望按照功能模块来销售软件;随着销售模式的发展,用户希望按照使用时间、次数来购买和使用软件;随着用户数量的增长和软件版本的增加,软件开发商需要更好的管理软件销售和使用,因而软件授权保护的研究与应用越来越重要。从技术角度,软件授权可以分为在线授权和离线授权。   1.1 在线授权   在线授权,是一种新兴的、基于认证服务器的授权方式,以互联网技术为基础,替代传统的授权文件、序列号或激活码方式。应用程序通过开发商发放的认证码与认证服务器建立连接,调用服务器接口完成授权过程。在线授权采用高强度的通信加密技术,并且服务器远离软件用户,它的软件保护强度非常高。除此之外,应用程序在后台可以周期访问认证服务器,为开发商收集软件用户使用状态、统计软件使用情况、快速升级与维护提供了技术手段。   1.2 离线授权   离线授权即传统意义上通过注册码、序列号、密钥或者授权文件,在本地完成应用程序激活的方式。通常设计实现上有两种形式:硬认证激活、软认证激活。   硬认证激活需要借助额外硬件设备,在硬件设备中存储应用程序激活必须的认证数据,只有认证数据能被应用程序读取识别,应用程序才可以正常使用。“加密狗”是一种硬认证激活方式的一种实现,插在计算机USB口或串口上的便携存储设备,早期多为串口形式,现在绝大部分都是USB口形式。   软认证激活是另外一种软件认证激活形式,通常由软件开发商向用户提供特征数据采集工具。用户在目标计算机上运行该工具,将工具采集的特征数据提交给开发商,开发商依据特征数据生成激活密钥、序列号、激活码或者授权文件。用户再使用开发商提供的序列号、激活码或者授权文件完成应用程序认证激活。特征数据即工具软件采集用户计算机产生的硬件特征、软件特征数据。硬件特征数据指主板序列号、磁盘序列号、物理地址等数据;软件特征数据指计算机名称、用户名称等数据。激活密钥、序列号、激活码或者授权文件都是对特征数据进行加密、编码后产生的。离线认证激活方式是现在软件主流认证激活方式。   2 加密方案设计及应用   2.1 加密算法概述   软件保护中使用密码学知识来完成特征数据的保护、敏感信息的验证,涉及内容涵盖信息资源机密性、信息?b别、信息报文完整性和不可否认性等相关问题。数据加密技术是最常用的软件保护技术手段,其基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。实施过程中利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。数据加密技术包括两个元素:加密方案和密钥。加密方案是将普通的信息资源或者可以理解的信息资源与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码加密和解密的一种数据。在密钥保护中,可通过适当的密钥加密技术和管理机制来保证信息资源的安全。   数据加密算法基于相应的数学理论,发展至今,已经产生了大量优秀的加密算法,通常分为两类:对称密码算法和非对称密码算法。Blowfish算法是著名的对称加密算法,是一种将64位数据分组及使用可变长度密钥的对称密钥分组加密算法,可用来加密64位长度的字符串。32位处理器诞生后,Blowfish算法因其在加密速度上的优越性而引起人们的广泛关注。Blowfish算法具有加密速度快、紧凑、密钥长度可变、免费使用等特点,已被广泛使用于软件保护、软件认证激活。算法核心在于子密钥的生成,它将变长密钥扩展成总长4168 比特位的子密钥数组。算法中使用了大量的子密钥,而子密钥又依赖于用户密钥,实际加密解密过程中使用的是更新后的子密钥数组,子密钥即P数组和S盒。算法输人64位明文信息,经过加密运算,输出64位密文信息。   MD5的全称是Me

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档