CN201510025093.8
2015.01.19
CN104573556A
2015.04.29
驳回
无权
发明专利申请公布后的驳回IPC(主分类):G06F 21/62申请公布日:20150429|||实质审查的生效IPC(主分类):G06F 21/62申请日:20150119|||公开
G06F21/62(2013.01)I; G06F9/455
G06F21/62
浪潮集团有限公司
陈勇; 秦清松
250100山东省济南市高新区浪潮路1036号
济南信达专利事务所有限公司37100
张靖
本发明公开了一种基于虚拟系统的加密方法,所述加密方法通过宿主机系统加载虚拟系统驱动模块,并创建一个虚拟系统,该虚拟系统内核CPU与真实的CPU不同,能运行的指令也比真实的CPU少很多,只需要完成加密运算;在虚拟系统中加密完成后,将加密结果存入宿主机缓冲区。采用本发明设计,不仅可以大大提高加密性能,还由于虚拟系统无法被中断,使破解难度高。
权利要求书1. 一种基于虚拟系统的加密方法,其特征在于:所述加密方法通过宿主机系统加载虚拟系统驱动模块,并创建一个虚拟系统,该虚拟系统内核CPU与真实的CPU不同,能运行的指令也比真实的CPU少很多,只需要完成加密运算;在虚拟系统中加密完成后,将加密结果存入宿主机缓冲区。2. 根据权利要求1所述的一种基于虚拟系统的加密方法,其特征在于,所述方法运行过程如下:在宿主机中加载虚拟系统驱动模块,当被保护软件向虚拟系统驱动程序发送加密请求时,启动虚拟系统驱动模块并创建一个虚拟系统,虚拟系统包括一个内核,内核对于运行于虚拟系统的程序来说,相当于一个处理器CPU,该内核CPU与真实的CPU完全不同,而且它能运行的指令比真实的CPU少很多,主要是一些汇编指令集,这些指令集主要是用来完成加密运算;被保护软件向虚拟系统内核提供原始数据,虚拟内核根据预定的算法对需要进行加密运算的原始数据进行操作,加密完成后,从虚拟系统中将结果返回到宿主机内存。3. 根据权利要求1或2所述的一种基于虚拟系统的加密方法,其特征在于,所述加密方法的操作步骤如下:1)被保护的软件向虚拟驱动程序发送加密请求并提供原始数据:当软件启动时,首先会向虚拟驱动程序发送加密请求,使虚拟驱动程序模块启动并创建虚拟系统;2)传数据:虚拟系统创建完成后,将原始数据传入虚拟系统内核,为后续加密所使用;3)关闭中断:虚拟系统内核关闭中断,以屏蔽外部的中断请求;虚拟系统的输入是被保护软件提供的原始数据,输出则是经过加密运算加密后的结果;4)在虚拟内核中进行加密运算:虚拟内核根据预定的算法对需要进行加密运算的原始数据进行操作;5)将加密结果返回宿主机内存:虚拟内核将加密后的结果返回并保存在宿主机的内存中,供被保护软件使用。
说明书一种基于虚拟系统的加密方法 技术领域 本发明涉及系统加密技术领域,具体涉及一种基于虚拟系统的加密方法。 背景技术 随着信息社会到来和计算机技术的发展,许多盗版软件愈发频发,这不仅威胁到了开发商的利益,还会给众多网民带来巨大的安全隐患。为此,开发商们为了维护自身利益,保证自己的软件不被破解、非法复制,不得不设计出各种加密技术。其中软件加密技术发展迅速,有加密性能好、加密方式灵活等优点,深受大众的青睐。但是也有很多人利用软件跟踪调试技术,诸如标志寄存器中的陷阱标志、DR0-DR7寄存器等技术中断加密过程,从而破解软件。 发明内容 本发明要解决的技术问题是:通过加载虚拟系统驱动模块并创建一个虚拟系统,从而使得传统的软件跟踪调试技术在虚拟系统中无效,也就是意味着在加密的过程中是无法被中断的,从而使破解者不能破解加密算法。 本发明所采用的技术方案为: 一种基于虚拟系统的加密方法,所述加密方法通过宿主机系统加载虚拟系统驱动模块,并创建一个虚拟系统,该虚拟系统内核CPU与真实的CPU完全不同,而且它能运行的指令比真实的CPU少很多,只需要完成加密运算即可;最后,在虚拟系统中加密完成后,将加密结果存入宿主机缓冲区。 所述方法运行过程如下:在宿主机中加载虚拟系统驱动模块,当被保护软件向虚拟系统驱动程序发送加密请求时,启动虚拟系统驱动模块并创建一个虚拟系统,虚拟系统包括一个内核,内核对于运行于虚拟系统的程序来说,相当于一个处理器CPU,该内核CPU与真实的CPU完全不同,而且它能运行的指令比真实的CPU少很多,主要是一些汇编指令集,这些指令集主要是用来完成加密运算;被保护软件向虚拟系统内核提供原始数据,虚拟内核根据预定的算法对需要进行加密运算的原始数据进行操作,加密完成后,从虚拟系统中将结果返回到宿主机内存。 所述加密方法的操作步骤如下: 1)被保护的软件向虚拟驱动程序发送加密请求并提供原始数据:当软件启动时,首先会向虚拟驱动程序发送加密请求,使虚拟驱动程序模块启动并创建虚拟系统; 2)传数据:虚拟系统创建完成后,将原始数据传入虚拟系统内核,为后续加密所使用; 3)关闭中断:虚拟系统内核关闭中断,以屏蔽外部的中断请求;虚拟系统的输入是被保护软件提供的原始数据,输出则是经过加密运算加密后的结果; 4)在虚拟内核中进行加密运算:虚拟内核根据预定的算法对需要进行加密运算的原始数据进行操作; 5)将加密结果返回宿主机内存:虚拟内核将加密后的结果返回并保存在宿主机的内存中,供被保护软件使用。 本发明的有益效果为:采用本发明设计,不仅可以大大提高加密性能,还由于虚拟系统无法被中断,使破解难度高。 附图说明 图1为本发明虚拟机加密流程图; 图2为本发明系统框图。 具体实施方式 下面参照附图所示,通过具体实施方式对本发明进一步说明: 实施例1: 如图2所示,一种基于虚拟系统的加密方法,所述加密方法通过宿主机系统加载(注册)虚拟系统驱动模块,并创建一个虚拟系统,该虚拟系统内核CPU与真实的CPU完全不同,而且它能运行的指令比真实的CPU少很多,只需要完成加密运算即可;最后,在虚拟系统中加密完成后,将加密结果存入宿主机缓冲区。 实施例2: 如图1所示,在实施例1的基础上,本实施例所述方法运行过程如下:在宿主机中加载虚拟系统驱动模块,当被保护软件向虚拟系统驱动程序发送加密请求时,启动虚拟系统驱动模块并创建一个虚拟系统,虚拟系统包括一个内核,内核对于运行于虚拟系统的程序来说,相当于一个处理器CPU,该内核CPU与真实的CPU完全不同,而且它能运行的指令比真实的CPU少很多,主要是一些汇编指令集,这些指令集主要是用来完成加密运算;被保护软件向虚拟系统内核提供原始数据,虚拟内核根据预定的算法对需要进行加密运算的原始数据进行操作,加密完成后,从虚拟系统中将结果返回到宿主机内存。 实施例3: 在实施例1或2的基础上,本实施例所述加密方法的操作步骤如下: 1)被保护的软件向虚拟驱动程序发送加密请求并提供原始数据:当软件启动时,首先会向虚拟驱动程序发送加密请求,使虚拟驱动程序模块启动并创建虚拟系统; 2)传数据:虚拟系统创建完成后,将原始数据传入虚拟系统内核,为后续加密所使用; 3)关闭中断:虚拟系统内核关闭中断,以屏蔽外部的中断请求;虚拟系统的输入是被保护软件提供的原始数据,输出则是经过加密运算加密后的结果; 4)在虚拟内核中进行加密运算:虚拟内核根据预定的算法对需要进行加密运算的原始数据进行操作; 5)将加密结果返回宿主机内存:虚拟内核将加密后的结果返回并保存在宿主机的内存中,供被保护软件使用。 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
《一种基于虚拟系统的加密方法.pdf》由会员分享,可在线阅读,更多相关《一种基于虚拟系统的加密方法.pdf(6页珍藏版)》请在专利查询网上搜索。
本发明公开了一种基于虚拟系统的加密方法,所述加密方法通过宿主机系统加载虚拟系统驱动模块,并创建一个虚拟系统,该虚拟系统内核CPU与真实的CPU不同,能运行的指令也比真实的CPU少很多,只需要完成加密运算;在虚拟系统中加密完成后,将加密结果存入宿主机缓冲区。采用本发明设计,不仅可以大大提高加密性能,还由于虚拟系统无法被中断,使破解难度高。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1