一种安全的内存数据保护方法及装置制造方法及图纸

技术编号:15225335 阅读:151 留言:0更新日期:2017-04-27 03:57
本发明专利技术公开了一种安全的内存数据保护方法及装置,该方法包括以下步骤:1)将需要保护的内存数据进行拆分,拆分成独立的一个一个的字节数据;2)生成若干虚假字节数据来混杂在拆分后的真实的数据中;3)设计多个用于对数据进行加密的加解密函数,并按顺序进行编号;4)对每个独立的字节数据进行存储,存储格式包含以下字段信息:5)对每个独立的数据单元的存储使用重新分配的内存,将每个独立的数据单元的存储地址存储在一个多级指针中。本发明专利技术不仅从数据的加密方面考虑,同时也会采用不方便HACK逆向分析的角度来设计,可以更安全的对数据进行保护,且易于实现。

【技术实现步骤摘要】

本专利技术涉及信息安全技术,尤其涉及一种安全的内存数据保护方法及装置
技术介绍
目前,对于客户端软件中会存在一些比较重要的数据,为了不让HACK轻易的获取到这些数据,则需要对数据进行加密保护存储。比如对与聊天软件,服务器会告诉客户端一个加密算法使用到的KEY值,客户端会使用这个服务器提供的KEY值来对聊天内容进行加密保存。而客户端收到服务器下发的这个KEY值后,这个KEY值是存储在客户端软件的内存中,那么如果是简单的不加密存储在内存中,则很容易被HACK获取到,从而HACK可以使用对应的加密算法来解密出聊天内容。再比如客户端登录服务器的时候,会输入密码信息,那么这个密码信息也是保存在客户端软件的内存中,如果简单的明文存储则很容易被HACK获取到。需要设计了一种算法来对内存中的重点数据进行加密保护。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种安全的内存数据保护方法及装置。本专利技术解决其技术问题所采用的技术方案是:一种安全的内存数据保护方法,包括以下步骤:1)将需要保护的内存数据进行拆分,拆分成相互独立的字节数据,2)生成若干虚假字节数据并混杂在步骤1)拆分后的获得的真实的字节数据中;3)设计多个用于对数据进行加密的加解密函数,并按顺序进行编号;4)对每个独立的字节数据进行存储,存储格式包含以下字段信息:KeyData加密key字段:该字段用来表示使用异或加密算法来依次加密下面提到的所有字段;EncodeIndex字段:该字段用来表示独立数据使用选择的加密算法序号;DataIndex字段:该字段用来表示独立数据在整个保护数据中的序号;IsRealData字段:该字段用来表示独立数据是一个真实的数据还是一个构造的虚假的数据,虚假的数据用来进行混淆真实的数据;Data字段:该字段即是独立数据本身;5)对每个独立的数据单元的存储使用重新分配的内存,将每个独立的数据单元的存储地址存储在一个多级指针中。按上述方案,所述步骤2)中虚假数据的个数为真实数据的2/3。按上述方案,所述步骤5)中多级指针的级数通过一个随机数来生成。按上述方案,所述步骤5)中多级指针的级数为5到10级范围。按上述方案,所述步骤5)中多级指针中除最后一级指针外,每一级指针的有多个地址,只有其中一个是指向一个二级指针,其余为虚假数据。本专利技术还提供一种安全的内存数据保护装置,包括:数据拆分模块,用于将需要保护的内存数据进行拆分,拆分成相互独立的字节数据;虚假数据模块,用于生成若干虚假字节数据并混杂在步骤1)拆分后的获得的真实的字节数据中;加密函数模块,用于存储多个用于对数据进行加密的加解密函数,并按顺序进行编号;数据保存模块,用于对每个独立的字节数据进行存储,存储格式包含以下字段信息:KeyData加密key字段:该字段用来表示使用异或加密算法来依次加密下面提到的所有字段;EncodeIndex字段:该字段用来表示独立数据使用选择的加密算法序号;DataIndex字段:该字段用来表示独立数据在整个保护数据中的序号;IsRealData字段:该字段用来表示独立数据是一个真实的数据还是一个构造的虚假的数据,虚假的数据用来进行混淆真实的数据;Data字段:该字段即是独立数据本身;存储地址模块,用于对每个独立的数据单元的存储使用重新分配的内存,将每个独立的数据单元的存储地址存储在一个多级指针中。按上述方案,所述虚假数据模块中虚假数据的个数为真实数据的2/3。按上述方案,所述存储地址模块中多级指针的级数通过一个随机数来生成。按上述方案,所述存储地址模块中多级指针的级数为5到10级范围。按上述方案,所述存储地址模块中多级指针中除最后一级指针外,每一级指针的有多个地址,只有其中一个是指向一个二级指针,其余为虚假数据。本专利技术产生的有益效果是:1)本专利技术不仅从数据的加密方面考虑,同时也采用不方便HACK逆向分析的角度来设计。2)本方法将重要的数据进行随机的打乱后,使用不同的加密算法存储在不同的内存地址中,同时也会在其中掺杂一些随机的无用的数据,来起到混淆的作用。对数据的加密即采用自己构造的加解密算法来进一步的对数据进行加密,这样可以更安全的对数据进行保护,且易于实现。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术实施例的方法流程图;图2是本专利技术实施例的存储地址多级指针示意图;图3是本专利技术实施例的装置结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,一种安全的内存数据保护方法,包括以下步骤:S101)将需要保护的内存数据进行拆分,拆分成相互独立的一个一个的字节数据;本申请的数据保护算法是会将整个数据拆散成一个个独立的字节,每一个独立的字节来单独加密进行存储;S102)生成若干虚假字节数据并混杂在上步骤中拆分后的真实的数据中;本申请生成一些假的数据来混杂在真实的数据中,这样在有假数据和真数据的情况下,单独调出真实的数据会变得更加的困难。虚假数据的个数可以是真实数据的2/3,也可以是真实数据的一倍。具体可以视数据量的大小而定,如果数据量非常大,则可以少些虚假数据,如果真实数据比较少则可以多些虚假数据。而在步骤(4)中设计的独立的存储单元中,有一个字段是IsRealData,可以用这个字段来区分是真实的数据还是虚假的数据。至此:在算法中添加了一些虚假的数据,这样对真实的数据起到了更好的混淆作用。S103)设计多个用于对数据进行加密的加解密函数,并按顺序进行编号;通过设计自己的加解密函数来对数据进行加密,同时为了保证算法的安全性及防止HACK分析,本文通过简单的运算来组合成一套加解密算法。通过任意条对等的加密和解密操作,那么可以组合成任意多种加密算法,在加密时则可以从生产的多种加密算法中随机的挑选一种。具体的简单运算逻辑包括:如加密算法a=a+b加法对应解密算法a=a-b减法如加密算法a=a^0x45异或对应解密算法a=a^0x45异或,2次异或同一个数得到原始值如加密算法a=(a<<6)|(a>>2)移位运算对应解密算法a=(a<<2|(a>>6))移位运算如加密算法a=(a<<3)|(a>>5)移位运算对应解密算法a=(a<<5|(a>>3))移位运算可以通过上述的基本运算,进行任意多条的组合后,就可以组合成一个复杂的加解密算法。S104)对每个独立的字节数据进行存储,存储格式包含以下字段信息:通过将需要包含的数据进行拆分后,会变成一个独立的一个一个的数据,那么就需要对每个独立的数据进行存储,每一个独立的数据的存储也是需要进行加密的,同时也需要一些额外的信息来帮助独立的数据能够组合成一串最终的保护数据串。那么独立的存储单元则需要定义如下字段信息:KeyData加密key字段:该字段用来使用异或加密算法来加密下面提到的所有字段。EncodeIndex字段:该字段用来表示独立数据使用选择的加密算法序号。加密算法序号为一个或多个,多个序号表示依次按顺序将基本运算组合成一个复杂本文档来自技高网...

【技术保护点】
一种安全的内存数据保护方法,其特征在于,包括以下步骤:1)将需要保护的内存数据进行拆分,拆分成相互独立的字节数据,2)生成若干虚假字节数据并混杂在步骤1)拆分后的获得的真实的字节数据中;3)设计多个用于对数据进行加密的加解密函数,并按顺序进行编号;4)对每个独立的字节数据进行存储,存储格式包含以下字段信息:KeyData加密key字段:该字段用来表示使用异或加密算法来依次加密下面提到的所有字段;EncodeIndex字段:该字段用来表示独立数据使用选择的加密算法序号;DataIndex字段:该字段用来表示独立数据在整个保护数据中的序号;IsRealData字段:该字段用来表示独立数据是一个真实的数据还是一个构造的虚假的数据,虚假的数据用来进行混淆真实的数据;Data字段:该字段即是独立数据本身;5)对每个独立的数据单元的存储使用重新分配的内存,将每个独立的数据单元的存储地址存储在一个多级指针中。

【技术特征摘要】
1.一种安全的内存数据保护方法,其特征在于,包括以下步骤:1)将需要保护的内存数据进行拆分,拆分成相互独立的字节数据,2)生成若干虚假字节数据并混杂在步骤1)拆分后的获得的真实的字节数据中;3)设计多个用于对数据进行加密的加解密函数,并按顺序进行编号;4)对每个独立的字节数据进行存储,存储格式包含以下字段信息:KeyData加密key字段:该字段用来表示使用异或加密算法来依次加密下面提到的所有字段;EncodeIndex字段:该字段用来表示独立数据使用选择的加密算法序号;DataIndex字段:该字段用来表示独立数据在整个保护数据中的序号;IsRealData字段:该字段用来表示独立数据是一个真实的数据还是一个构造的虚假的数据,虚假的数据用来进行混淆真实的数据;Data字段:该字段即是独立数据本身;5)对每个独立的数据单元的存储使用重新分配的内存,将每个独立的数据单元的存储地址存储在一个多级指针中。2.根据权利要求1所述的内存数据保护方法,其特征在于,所述步骤2)中虚假数据的个数为真实数据的2/3。3.根据权利要求1所述的内存数据保护方法,其特征在于,所述步骤5)中多级指针的级数通过一个随机数来生成。4.根据权利要求1所述的内存数据保护方法,其特征在于,所述步骤5)中多级指针的级数为5到10级范围。5.根据权利要求1所述的内存数据保护方法,其特征在于,所述步骤5)中多级指针中除最后一级指针外,每一级指针的有多个地址,只有其中一个是指向一个二级指针,其余为虚假数据。6.一种安全的内存数据保护装置,其特征在...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

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

1