一种基于虚拟系统的加密方法.pdf

上传人:a1 文档编号:2234903 上传时间:2018-08-03 格式:PDF 页数:6 大小:527.38KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510025093.8

申请日:

2015.01.19

公开号:

CN104573556A

公开日:

2015.04.29

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 21/62申请公布日:20150429|||实质审查的生效IPC(主分类):G06F 21/62申请日:20150119|||公开

IPC分类号:

G06F21/62(2013.01)I; G06F9/455

主分类号:

G06F21/62

申请人:

浪潮集团有限公司

发明人:

陈勇; 秦清松

地址:

250100山东省济南市高新区浪潮路1036号

优先权:

专利代理机构:

济南信达专利事务所有限公司37100

代理人:

张靖

PDF下载: PDF下载
内容摘要

本发明公开了一种基于虚拟系统的加密方法,所述加密方法通过宿主机系统加载虚拟系统驱动模块,并创建一个虚拟系统,该虚拟系统内核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_第1页
第1页 / 共6页
一种基于虚拟系统的加密方法.pdf_第2页
第2页 / 共6页
一种基于虚拟系统的加密方法.pdf_第3页
第3页 / 共6页
点击查看更多>>
资源描述

《一种基于虚拟系统的加密方法.pdf》由会员分享,可在线阅读,更多相关《一种基于虚拟系统的加密方法.pdf(6页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于虚拟系统的加密方法,所述加密方法通过宿主机系统加载虚拟系统驱动模块,并创建一个虚拟系统,该虚拟系统内核CPU与真实的CPU不同,能运行的指令也比真实的CPU少很多,只需要完成加密运算;在虚拟系统中加密完成后,将加密结果存入宿主机缓冲区。采用本发明设计,不仅可以大大提高加密性能,还由于虚拟系统无法被中断,使破解难度高。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1