[发明专利]一种数据保护方法有效
| 申请号: | 201410617318.4 | 申请日: | 2014-11-05 |
| 公开(公告)号: | CN104318134A | 公开(公告)日: | 2015-01-28 |
| 发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思数盾科技有限公司 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12 |
| 代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
| 地址: | 100872 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据 保护 方法 | ||
技术领域
本发明涉及数据安全技术,特别是涉及一种计算机应用程序的数据保护方法。
背景技术
目前,为了确保计算机应用程序的安全性,需要对应用程序进行虚拟化处理,利用程序的运算逻辑复杂化或隐藏运算逻辑,来提高程序代码被非法获取的难度。常用的虚拟化手段有:逻辑运算的拆分、等效变换以及查表等方式。
其中,逻辑运算的拆分和等效变换是通过使运算逻辑复杂化,来达到隐藏程序运算逻辑的目的。逻辑运算的拆分是将运算逻辑拆分成更基本的运算,来提高运算逻辑表达的复杂性。例如,对于异或运算XOR,可以拆分成6个与非运算NAND。逻辑运算的等效变换是在逻辑运算中加入可以获得等效结果的混淆参数。例如,对于A+2,可以等效变换为A+5-3。
查表,是通过预先根据程序的运算逻辑建立运算参数与运算结果的映射表,在对应用程序进行虚拟化处理时,引入该映射表,利用映射表替代真实的运算逻辑,根据具体的运算参数查询该映射表,即可得到相应的运算结果,从而达到隐藏运算逻辑的目的。
上述逻辑运算的拆分和等效变换方案,虽然可以使运算逻辑复杂化,但是由于仅是基本的运算逻辑的替代或增加,而这些基本的运算逻辑是容易被识别的(如add、NAND),在识别出基本运算后,通过一些机械化的流程可以反推出原来的运算逻辑,从而导致经过寄存器加密处理的程序仍然可以在较短的时间内被非法获取。
上述查表方案,虽然运算逻辑被隐藏了,但是,具体的运算参数是存在的,基于多组运算参数与运算结果的对应关系,容易推知相应的运算逻辑。另外,查表方案还存在占用存储空间过大的问题。每张表格所占用的存储空间等于运算参数的取值范围与运算结果的取值范围乘积,例如当运算参数和运算结果均为32位整数时,表的大小为234字节,这在现实上是不能接受的。
由此可见,现有的虚拟化手段存在无法有效确保应用程序的安全性的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据保护方法,该方法可以有效提高计算机应用程序的安全性。
为了达到上述目的,本发明提出的技术方案为:
一种数据保护方法包括:
a、对待保护的应用程序进行编译,得到相应的编译程序;
b、对所述编译程序中中间寄存器对应的运算逻辑,采用寄存器加密的方式进行加密处理;所述中间寄存器为用于保存中间运算结果的寄存器;
c、按照预设的切割密度N,对加密处理后的所述编译程序进行运算切割,所述N≥2;
d、为所述编译程序中经过运算切割后得到的每个寄存器对应的运算逻辑代码,分别生成相应的查找表,利用所述查找表替换相应的运算逻辑,其中,所述查找表的下标为被替换的运算逻辑中运算参数对应的中间寄存器。
综上所述,本发明提出的数据保护方法,通过整合寄存器加密方法、运算切割和查找表生成等方法对程序代码进行加密处理,使得运算中间结果采用密文的方式进行存储,可以有效提高计算机应用程序的安全性。
附图说明
图1为本发明实施例一的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明的核心思想是:基于查表的虚拟化方法,在将运算逻辑转化为表格之前,先进行寄存器加密处理,使得表中运算结果所对应的参数是经过加密处理后的参数,从而可以提高映射表格隐藏运算逻辑的有效性。另外,为了避免每张表格占用大量存储空间,在生成表格前,先对运算逻辑进行切割,得到若干子运算逻辑,然后再对各子运算逻辑生成相应的表格,从而可以避免存储空间需求过大所致的无法应用的问题。
图1为本发明实施例一的流程示意图,如图1所示,该实施例主要包括:
步骤101、对待保护的应用程序进行编译,得到相应的编译程序。
本步骤,可以采用现有的可被虚拟化平台所识别的编译工具实现,较佳地,可以采用Virbox编译器进行编译。
步骤102、对所述编译程序中中间寄存器对应的运算逻辑,采用寄存器加密的方式进行加密处理。
所述中间寄存器为用于保存中间运算结果的寄存器。
本步骤中,需要对中间寄存器对应的运算逻辑进行加密处理,如此,可以使应用程序的中间运算结果采用密文的方式进行保存,从而可以提高应用程序的安全强度。
本步骤中可以采用现有的寄存器加密方法对一运算逻辑进行加密。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技有限公司,未经北京深思数盾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410617318.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





