论文部分内容阅读
随着网络环境的日益改善,软件开发人员通常都会使用某种形式的加密技术来保护其软件,以防止未经授权的使用。然而,一方面软件的功能及模块越来越多,用户的需求也越来越个性化,单纯的软件保护功能已无法满足互联网时代软件的电子化发行、升级、跟踪、管理以及按需销售;另一方面以基于加密锁(加密狗)的硬加密产品为主的软件加密方式,不但带来了硬件生产、物流、安装和维护成本,而且很容易通过硬件复制来破解,一旦被破解,软件就可以大批量复制,造成难以补救的损失,从而失去软件保护的意义。为了有效解决传统软件保护技术带来的问题,无硬件化、网络化和信息化的软件授权是软件保护的发展趋势。本文通过软件授权系统,来实现我单位自主研发产品的保护要求。在系统实现过程中本文采用了高效的软件加密技术,将目前国际上最具影响力的加密算法与自定义的具有相当复杂度的混合算法相结合,使软件保护方案具有高安全性和可靠性。利用模块化的设计架构,使系统具有更好的层次结构和可扩展性。本文在内容组织结构上首先分析了当前软件保护行业背景以及国内外软件授权技术的发展现状,提出了当前存在的问题,阐明了此课题的研究意义。其次对公钥密码体制和关键技术进行了研究,介绍了软件保护技术中常用的加密算法,具体分析了公钥密码体制的原理和实现过程,以及授权证书在软件授权系统中的应用,研究了Windows平台下获取计算机机器码以绑定用户身份的方法。接着根据软件授权技术的方案研究,针对我单位产品的应用需求,对系统的功能需求进行了详细的分析,并对系统的技术方案进行了详细的设计。在系统架构设计中,对系统实行了模块化的设计,包括加密模块、授权证书控制模块、授权证书校验模块和用户管理四大模块。在系统实现部分,详细介绍了系统各个功能模块的具体实现,同时给出了各个功能模块关键技术的代码实现。最后对系统进行了全面的测试,并对测试结果做了分析,结果表明系统不仅可以有效保护软件版权,防止拷贝和非法使用,还能按照用户需求,如授权期限,授权模块,授权数量等来发放不同的授权证书,有效保障了软件开发者的软件版权和经济利益。最后,作者对整个研究项目进行了总结,并提出了今后研究的方向。