论文部分内容阅读
当今社会计算机软件技术飞速发展,许多厂商通过销售软件获取经济利益。然而,价格低廉的盗版软件占据着大部分的软件市场。虽然我国有禁止盗版软件的相关法律,但盗版软件并未因此消失。为了保护自身的经济利益,软件生产商开始研究软件保护的相关技术。当前的软件保护技术多种多样,大致可以分为依赖硬件的软件保护和不依赖硬件的软件保护两大类,其中依赖硬件的软件保护主要有利用软盘、光盘、扩展卡和加密锁实现软件保护的方法,不依赖硬件的软件保护主要有利用密码表加密、密码学算法、数字水印、序列号/注册码、许可证实现软件保护的方法。首先,本文针对安全管理系统(SMS)设计了一种基于XML签名的license软件保护方案(SMSLSP)。SMSLSP利用许可证文件实现软件保护,给出了许可证文件的具体格式和结构,许可证文件采用结构清晰、操作灵活的XML格式,包含计算机硬件信息唯一标识、授权使用时间、授权使用功能和授权挂载主机数量等信息。SMSLSP使用XML签名对许可证文件进行签名和验证,XML签名中使用了SHA1算法和RSA数字签名算法。其次,本文实现了SMSLSP。SMSLSP包含生成未授权的许可证文件、生成授权的许可证文件、上传授权的许可证文件和验证授权的许可证文件四个子功能。最后,本文对SMSLSP功能进行测试和分析。对许可证文件进行XML签名可以验证许可证的完整性,防止被篡改;对计算机硬件信息唯一标识的验证保证了“一机一码”,防止用户将一个系统的许可证用于另一个系统;关于使用期限的限制,SMSLSP不仅比较了软件授权的终止日期和当前系统日期,还比较了当前系统时间和系统上次使用时间,可以防止用户修改本地时间后继续使用实际已经过期的软件;通过许可证还可以限制系统使用的功能和系统上挂载主机设备的数量。