基于PKI的软件版权保护系统的设计与实现

被引量 : 0次 | 上传用户:maotou528
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
自计算机诞生之日起,其技术的发展可谓日新月异,各种新技术、新理论不断涌现,各种应用软件从最初的几个、几十个字节发展到现在的动辄几张光盘。成千上万的共享软件和商业软件越来越庞大,技术内涵也日趋复杂,一款优秀的软件,其技术秘密往往成为他人窃取的重点。PKI体系(Public Key Infrastructure)即公钥基础设施是目前被广泛应用的网络信息安全的一套完整的解决方案,它是为所有网络应用提供加密和数字签名等密码服务的一种密钥和证书管理体系,它提供了一个可扩展的,基于策略的方法,以实现身份识别和不可否认性。虽然人们对于软件版权的保护已经经历了较长时间的研究,PKI系统也越来越广泛的应用于网络信息安全领域,但将PKI系统和软件版权保护结合起来,目前还没有成熟的理论和产品。由于PKI体系对于身份识别有着特殊的优势,而软件版权保护必然要对用户的合法身份进行甄别,因此,将PKI体系与软件版权保护结合起来是可行的。鉴于这种情况,本文设计并实现了一个基于PKI的软件版权保护系统。系统由许可证服务器、客户端工具、和许可识别API组成。许可证服务器以“服务”的方式提供对外的接口,并通过Socket通信获取服务请求。服务器通过与第三方PKI的连接接口连接第三方PKI系统,并向用户提供许可证书申请和下载等用户服务,向系统管理员提供系统管理和配置等管理服务。客户端工具向用户提供获取硬件特征以及导入许可证书的功能。许可识别API为客户端工具提供所需功能,并为受保护软件提供许可证验证等功能。使用本系统进行软件版权保护时,受保护软件通过许可识别API验证软件使用者是否拥有合法授权。软件使用者在使用受保护软件时,首先应使用客户端工具获取硬件特征码,然后通过网络向许可证服务器申请许可证书,许可证服务器验证用户合法身份后,通过连接接口连接第三方PKI系统申请证书。软件使用者下载许可证书,并使用客户端工具导入许可证书。受保护软件运行时验证软件使用者的许可证书,如果验证失败则软件无法正常运行。软件版权保护的核心是防止软件产品的扩散,即防止非法用户拥有软件的副本,或即使拥有副本也无法正常使用。本系统主要通过确认用户合法身份、控制许可证书发放、防止用户非法持有软件副本几个方面来保证对软件版权的保护,另外也可以根据需要检验许可证书的有效期限来限制软件的使用时间。用户的身份由许可证书确认,软件在运行时通过验证许可证书是否由指定CA签发来判断软件使用者是否经过授权。因为只有证书的申请者才会拥有私钥,验证软件使用者是否拥有与许可证书相匹配的私钥可以提供更加严格的身份确认。这样,仅仅盗用用户证书而没有相应的私钥也无法使用软件。 <WP=66>在许可证书发放过程中,如果对合法用户的证书申请不加以控制,则会造成合法用户无限制的申请证书,那么,任何一个合法用户都可以拥有无数张许可证书,也就拥有无数个软件的副本,对软件的保护也无从谈起。因此,必须对许可证书的发放加以控制。在许可证服务器端控制每名合法用户只能拥有一张有效证书,用户要申请新的证书必须先注销原有证书,并且,对于用户申请新证书的次数也要加以控制。防止软件的非法拷贝是软件版权保护的核心。用户在许可证书申请时需要提供硬件特征码,该硬件特征码是根据用户本地硬件信息计算出来的32位16进制字符串。证书签发时,将该硬件特征码编入证书。受保护软件验证软件许可信息时,不仅验证证书的有效性,同时还需验证证书中的硬件特征码是否与用户本地工作站硬件特征相匹配。这样,即使合法用户也无法随意的拥有软件的副本,另外,非法用户即使盗用了合法用户的证书,甚至私钥,也将由于证书中的硬件特征码无法与本地工作站硬件特征相匹配而无法使用软件。有些软件需要对用户规定软件的使用期限,本系统用许可证书的有效期来标志用户的授权期限。证书超出有效期就意味着用户不再拥有软件的授权。本系统提供了一套软件版权保护的解决方案,许可识别API为受保护软件提供了所需的功能。为了更好的实现对软件版权的保护,软件开发人员在软件开发时还应该注意:软件最终发行之前一定要将可执行程序进行加壳、压缩,使得解密者无法直接修改程序;增加对软件自身的完整性检查,这包括对磁盘文件和内存映像的检查,以防止有人未经允许修改程序以达到破解的目的;检查注册信息和时间的代码越分散越好,不要调用同一个函数或判断同一个全局标志,因为这样做的话只要修改了一个地方则全部都被破解了;除了加壳、压缩之外,还需要自己编程在软件中嵌入反跟踪的代码,以增加安全性;检查注册信息时插入大量无用的运算以误导解密者,并在检查出错误的注册信息之后加入延时;另外,如果软件的开发者能够在软件中调用许可识别API所提供的加密解密等安全操作来实现软件中的特定功能,则有利于增强对软件的保护能力。本文所设计的软件版权保护系统考虑了今后系统的扩展性和对新设备的支持。许可识别API的设计考虑到安全设备的多样性,为各种安全设备定义了一个统一的接口,可以通过实现该接口方便的实现对新设备的支持。许可证服务器通过提供服务的形式?
其他文献
现在的小学英语课堂,教师的教学语言应用存在一些比较突出的问题,主要表现为语言的形式缺乏变化,内容比较简单,甚至出现一些错误,以及教师一个人说得太多,学生吸收较少等,通
目的探讨褐藻多糖硫酸酯(FUC)对帕金森病(PD)细胞模型的保护作用及机制。方法采用100μmol/L MPP+损伤的MN9D细胞制作PD模型,用MTS检测FUC预处理后PD细胞模型的细胞存活率。
目的:观察一体分支支架治疗主动脉弓部复杂病变的效果。方法:回顾分析本中心2018年1月至2019年3月共17例主动脉弓部复杂病变患者一体支架治疗情况,所有患者夹层破口或溃疡距
目的探讨生长停滞特异性基因产物6(Gas 6)与冠心病伴2型糖尿病患者血清中的变化及其临床意义。方法选择心血管内科120例冠心病患者(CHD)作为冠心病组,120例冠心病伴2型糖尿病患者
连锁经营和物流配送都是市场经济发展到一定阶段的产物.连锁经营把传统流通体系中相互独立的商业职能有机地结合在统一的经营中,实现了采购、配送、批发、零售的一体化.配送
在研究呼和浩特城市旅游竞争力影响因素的基础上,提出了提升呼和浩特城市旅游竞争力的措施。
阐述了大直径框环成形原理,介绍了新型拉弯机并选定其工作状态.文章还分析了拉弯模具的受力情况和结构,并解决了大直径框环拉弯回弹值的选取问题及新型拉弯机与模具的接口问
数字指纹技术作为新兴的数字版权保护技术,在抄袭检测方面发挥着重要的作用,而指纹生成算法直接决定数字指纹方案的性能。文章阐述了数字指纹方案中3种常用的指纹生成算法—M
本文主要阐述了柔性制造单元,柔性制造系统,计算机辅助设计,模糊控制技术,人工智能、专家系统及智能传感器技术,人工神经网络技术等技术问题。
盆地的形成和演化与板块运动有密不可分的关系 ,可以说中国陆相盆地的形成和演化是古生代以来板块运动的必然产物。济阳坳陷属于渤海湾盆地的一部分 ,所以研究其演化特征必须