一种数据保护的方法和计算设备技术

技术编号:22056098 阅读:27 留言:0更新日期:2019-09-07 15:32
本发明专利技术公开了一种数据保护的方法和计算设备,所述计算设备存储有应用的目标数据,所述的方法包括:接收从应用发送的获取目标数据的请求;判断应用是否处于动态调试模式,如果是动态调试模式,则返回假数据,所述假数据是不同于目标数据的数据;如果不是动态调试模式,则对应用签名进行校验,如果校验失败,则返回假数据;如果校验通过,则返回存储的目标数据。

A Data Protection Method and Computing Equipment

【技术实现步骤摘要】
一种数据保护的方法和计算设备
本专利技术涉及计算机
,特别涉及一种数据保护的方法和计算设备。
技术介绍
在应用开发和运行的过程中,经常需要将应用的数据例如密钥存储在本地中,而存储在本地的数据的安全性不高,特别是购物、银行事务等应用,一旦本地存储的数据被破译,将威胁到用户的人身和财产安全。现有技术中,对本地存储的数据进行保护的方法通常采用公开的加密算法,但加密数据还是很容易被破解。
技术实现思路
鉴于上述问题,提出本专利技术以便提供一种数据保护的方法、装置和计算设备,力图解决或至少缓解上面存在的问题。根据本专利技术的一个方面,提供一种数据保护的方法,在计算设备中执行,所述计算设备存储有应用的目标数据,所述的方法包括:接收从应用发送的获取目标数据的请求;判断应用是否处于动态调试模式,如果是动态调试模式,则返回假数据,所述假数据是不同于目标数据的数据;如果不是动态调试模式,则对应用签名进行校验,如果校验失败,则返回假数据;如果校验通过,则返回存储的目标数据。可选地,在根据本专利技术的数据保护的方法中,所述目标数据分段存储在计算设备中,所述返回存储的目标数据的步骤包括:获取分段存储的数据,并对获取的数据进行拼接,生成目标数据;返回生成的目标数据。可选地,在根据本专利技术的数据保护的方法中,所述目标数据分段存储在应用代码、资源文件和动态链接库中。可选地,在根据本专利技术的数据保护的方法中,所述计算设备中还存储有码表,所述码表包括多个表项,每个表项包括主码与字符序列之间的对应关系,所有主码构成的字符范围与目标数据的字符范围相同,与主码关联的字符序列包括所述字符范围中、除了该主码之外的所有字符,所有字符序列构成一字符矩阵,该字符矩阵的任一列没有重复的字符,所述方法还包括,在将目标数据存储在计算设备之前,通过如下步骤对目标数据进行编码:对于目标数据中的每一个字符,获取该字符在目标数据中的位置号m;获取该字符在所述字符矩阵的第m列中的行号n,并将字符矩阵的第n行的主码作为该字符的编码后字符;将所有编码后字符串联在一起,得到编码后的目标数据。可选地,在根据本专利技术的数据保护的方法中,返回存储的目标数据为解码后的目标数据,所述方法还包括对编码后的目标数据进行解码的步骤:对于编码后的目标数据中的每一个字符,从码表中获取该字符关联的字符序列;根据该字符在编码后的目标数据中的位置,在所述字符序列中找到相应位置的字符,作为解码后字符;将所有解码后字符串联在一起,得到解码后的目标数据。可选地,在根据本专利技术的数据保护的方法中,所述判断应用是否处于动态调试模式的步骤包括:分别获取应用运行的开始和结束的系统时间,并计算这两个系统时间的差值;若系统时间的差值大于预定的阈值,则判断所述应用处于动态调试模式中,否则判断所述应用不处于动态调试模式中。可选地,在根据本专利技术的数据保护的方法中,所述判断应用是否处于动态调试模式的步骤包括:获取运行应用的进程的状态信息,所述状态信息包括TracerPid值;若所述TracerPid值不为零,则判断所述应用处于Ptrace动态调试中,若TracerPid值为零则判断所述应用不处于Ptrace动态调试中。可选地,在根据本专利技术的数据保护的方法中,所述目标数据为应用的密钥。根据本专利技术的另一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述程序指令包括用于执行上述方法的指令。根据本专利技术的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。根据本专利技术的数据保护的方案,在接收到从应用发送的获取目标数据的请求时,判断应用是否处于动态调试模式,若是,则返回假数据以迷惑破译者,增加了在本地存储应用数据的安全性。另外,通过采用一种新的加密算法对于需要保护的数据进行加密,从而进一步增加在本地存储应用数据的安全性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术的一个应用场景的示意图;图2示出了根据本专利技术一个实施例的计算设备200的结构图;图3示出了根据本专利技术一个实施例的数据保护的方法300的流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了本专利技术的一个应用场景的示意图。如图1所示,在该应用场景中,应用(或者客户端)需要与服务器进行交互,例如,应用发送http请求到服务器,服务器根据http请求进行相应的处理后,发送http响应到应用。为了提高安全性,在应用向服务器发送HTTP请求时,会在请求头中携带一个约定好的密钥。只有在密钥正确的前提下,服务器才会响应于应用的请求,如果密钥不正确,则服务器会将应用的请求视为非法请求而不予响应。在应用向服务器发送请求前,先从本地获取存储在计算设备中的密钥,将调用获取密钥的应用程序接口放到请求头Headers中。因此如果破译者试图向服务器发送请求,但是由于无法获取存储在本地的密钥,不能将获取密钥的应用程序接口放到请求头,也就无法实现对应用的密钥破译。在本地保存的应用的密钥通常通过加密算法进行加密,加密的逻辑可以通过多种方式被破译者获取,常见的破解方式可分为静态分析和动态调试。静态分析是通过反编译结合工具查看程序源码,结合应用操作分析加密的位置和方式。动态调试是指调试者利用集成环境(IDE)自带的调试器跟踪应用程序的运行,通过分析应用运行查看应用的状态进而分析出加密的逻辑。因此如果不能对通过动态调试的方式来获取应用密钥进行防范,保存在本地的密钥将会面临较大的风险。针对上述问题,本专利技术在接收到获取本地存储数据的请求时,通过对动态调试进行识别,以及对应用签名和指令签名进行校验,对于正在调试或者签名检验不通过的应用,返回假数据以迷惑破译者,增加破译的难度,提高数据在本地存储的安全性。并且,将加密后的密文分段存储在应用程序安装包的不同部分,采用新的加密算法,进一步增加破译者获取密文的难度,保护本地存储数据的安全性。根据上述获取本地存储的密钥的原理,以下描述本专利技术实施例的数据保护的方法。需要说明的是,本地存储的需要保护的数据除了是应用的密钥之外,还可以是其他数据,例如,通信录、备忘录、电子文件等,本专利技术对需要保护的目标数据不做限制。本专利技术实施例的数据保护的方法可以在计算设备中执行。图2示出了根据本专利技术一个实施例的计算设备200的结构图。如图3所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存本文档来自技高网...

【技术保护点】
1.一种数据保护的方法,在计算设备中执行,所述计算设备存储有应用的目标数据,所述的方法包括:接收从应用发送的获取目标数据的请求;判断应用是否处于动态调试模式,如果是动态调试模式,则返回假数据,所述假数据是不同于目标数据的数据;如果不是动态调试模式,则对应用签名进行校验,如果校验失败,则返回假数据;如果校验通过,则返回存储的目标数据。

【技术特征摘要】
1.一种数据保护的方法,在计算设备中执行,所述计算设备存储有应用的目标数据,所述的方法包括:接收从应用发送的获取目标数据的请求;判断应用是否处于动态调试模式,如果是动态调试模式,则返回假数据,所述假数据是不同于目标数据的数据;如果不是动态调试模式,则对应用签名进行校验,如果校验失败,则返回假数据;如果校验通过,则返回存储的目标数据。2.如权利要求1所述的方法,其中,所述目标数据分段存储在计算设备中,所述返回存储的目标数据的步骤包括:获取分段存储的数据,并对获取的数据进行拼接,生成目标数据;返回生成的目标数据。3.如权利要求2所述的方法,其中,所述目标数据分段存储在应用代码、资源文件和动态链接库中。4.如权利要求1-3中任一项所述的方法,其中,所述计算设备中还存储有码表,所述码表包括多个表项,每个表项包括主码与字符序列之间的对应关系,所有主码构成的字符范围与目标数据的字符范围相同,与主码关联的字符序列包括所述字符范围中、除了该主码之外的所有字符,所有字符序列构成一字符矩阵,该字符矩阵的任一列没有重复的字符,所述方法还包括,在将目标数据存储在计算设备之前,通过如下步骤对目标数据进行编码:对于目标数据中的每一个字符,获取该字符在目标数据中的位置号m;获取该字符在所述字符矩阵的第m列中的行号n,并将字符矩阵的第n行的主码作为该字符的编码后字符;将所有编码后字符串联在一起,得到编码后的目标数据。5.如权利要求4所述的方法,其中,返回存储的目标数据为解码后的目标数据...

【专利技术属性】
技术研发人员:侯丛政邓晓钟伟柴江朋
申请(专利权)人:北京证大向上金融信息服务有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1