一种保护敏感信息的方法及装置的制造方法

文档序号:9708246阅读:176来源:国知局
一种保护敏感信息的方法及装置的制造方法
【技术领域】
[0001]本发明涉及移动互联网领域,特别是涉及一种保护敏感信息的方法及装置。
【背景技术】
[0002]随着移动宽带技术和终端硬件平台技术的不断发展,移动终端上可用的计算资源足以满足各种办公场景的需求,并且廉价和随处可用的无线网络,也可以帮助人们利用移动终端随时随地地访问本来需要通过固定网络才能够获取的各种数据和文件。随着移动终端操作系统技术的发展,各种原来只有在桌面办公系统中才能够使用的应用软件,都已经以适合移动终端用户操作的方式,在各种移动操作系统环境中被开发出来。这些基础设置的普及,推动着移动终端在企业办公环境中的使用越来越普遍。
[0003]当企业员工使用自有的和企业配发的移动终端执行各种办公操作时,很重要的一点就是考虑在这种操作过程中,使用的各种数据的安全性以及网络的安全性等。不过,完全限定用户只在专用手机上安装指定应用来完成移动办公的需求,显然背离了用户原本可以通过移动终端办公所能够达到的高效、舒适和便捷的体验目标。因此,即便有诸多的安全考虑,但是企业应用软件的实际运行环境,还是混合了企业专有应用和用户自有应用的复杂系统环境。这是各种BY0D(Bring Your Own Device,自带设备)实现技术的主要需求驱动来源。
[0004]当前普遍使用的BY0D实现技术中,有些是基于专门的API (Applicat1nProgramming Interface,应用程序编程接口)来开发企业安全应用,有些是针对既有的第三方应用,采用直接修改软件安装包或者是将原有软件安装包作为一个新的软件安装包的载荷的方式,为这些本来没有企业安全策略功能的应用软件添加VPN (Virtual PrivateNetwork,虚拟专用网络)登录、数据隔离、信息管控等安全功能。不管是采用哪一种BY0D实现技术,在对敏感信息的保护方面,都需要使用加密技术。比如,当需要对原始的应用安装包进行保护时,需要将该软件安装包以加密的形式来存储;当需要对用户操作的文件数据进行保护时,同样也可以用加密的形式来保存文件。
[0005]既然有加密,自然就需要有解密操作,否则直接使用这些已经被加过密的数据,只能导致软件原有的功能失效。这种解密操作只能在软件的运行时进行,否则就失去了对敏感信息保护的意义。这时,就不得不考虑这种解密操作所处的运行环境。在BY0D场景中,即便是已经被做过安全加固的企业应用软件,也是在充满安全风险的用户终端环境中运行,可能遭遇到各种已知和未知的安全攻击。一般将这种无法掌控的安全环境称之为白盒运行环境,与之相对的黑盒运行环境中,软件内部的运行细节,比如进程空间等,对于用户来说,都是不可访问的,但是在这种白盒环境中,此种假设将不能成立。
[0006]为了保证企业应用软件功能的正常执行,必须将已经加密处理过的文件重新解密后才能够加以使用。但是考虑到BY0D业务场景中,企业应用运行在白盒环境中,因此解密后的文件不能以明码的方式直接保存到外部文件系统中,否则需要保护的敏感信息将遭遇到泄漏的危险。一种简单的解决这种矛盾的处理方式是:以内存文件来保护这些已经被解密的信息。但是当攻击者使用内存转储的方式来分析用户进程的全部地址空间时,这些已经被解密处理的内存文件还是可能被轻易地定位,攻击者可以据此获得所需要的敏感信息的原始内容。

【发明内容】

[0007]本发明要解决的技术问题是提供一种保护敏感信息的方法及装置,以增加攻击者获取原始文件内容的复杂度。
[0008]为了解决上述技术问题,本发明提供了一种保护敏感信息的方法,包括:
[0009]申请多个长度随机确定的内存块,每一内存块均采用动态分配的方式获取,并以不连续的数据结构来关联所述内存块,利用所述数据结构中的多个节点分别保存所述内存块的引用信息;
[0010]将已解密的包含敏感信息的文件划分为相应大小的多个文件块,分别保存在所述多个内存块中。
[0011]进一步地,上述方法还具有下面特点:所述申请多个长度随机确定的内存块,包括:
[0012]将申请的用于保存文件特性信息的内存块的随机长度设定为小于所述文件特征信息的长度。
[0013]进一步地,上述方法还具有下面特点:所述申请多个长度随机确定的内存块后,还包括:
[0014]将所述多个内存块以随机的顺序重新编排,然后再保存所述文件块。
[0015]进一步地,上述方法还具有下面特点:
[0016]所述内存块的引用信息包括:指向内存块的地址指针、内存块长度和内存块所保存的文件块在所述文件中的位置信息;
[0017]所述数据结构中的节点还保存有指向上节点和/或下节点的地址指针。
[0018]进一步地,上述方法还具有下面特点:
[0019]所述方法还包括:对所述数据结构节点中保存的一项或多项信息进行转换处理,不同项采用的转换方式相同或不同。
[0020]进一步地,上述方法还具有下面特点:
[0021]还包括:在将所述数据结构提供给其他程序模块使用时,先进行安全处理。
[0022]进一步地,上述方法还具有下面特点:
[0023]将所述文件划分为相应大小的多个文件块之前,或者将划分的多个文件块分别保存在所述多个内存块之前,还包括:将所述文件的数据或文件块的数据处理为不可直接使用的内容。
[0024]为了解决上述问题,本发明还提供了一种保护敏感信息的装置,其中,包括:
[0025]申请模块,用于申请多个长度随机确定的内存块,每一内存块均采用动态分配的方式获取,并以不连续的数据结构来关联所述内存块,利用所述数据结构中的多个节点分别保存所述内存块的引用信息;
[0026]保存模块,用于将已解密的包含敏感信息的文件划分为相应大小的多个文件块,分别保存在所述多个内存块中。
[0027]进一步地,上述装置还具有下面特点:
[0028]所述申请模块,还用于将申请的用于保存文件特征信息的内存块的随机长度设定为小于所述文件特征信息的长度。
[0029]进一步地,上述装置还具有下面特点:还包括,
[0030]编排模块,用于对所述申请模块申请的多个内存块以随机的顺序重新编排,然后触发所述保存模块保存所述文件块。
[0031]进一步地,上述装置还具有下面特点:还包括:
[0032]所述申请模块,申请的内存块的引用信息包括:指向内存块的地址指针、内存块长度和内存块所保存的文件块在所述文件中的位置信息;
[0033]所述数据结构中的节点还保存有指向上节点和/或下节点的地址指针。
[0034]进一步地,上述装置还具有下面特点:还包括:
[0035]处理模块,用于对所述数据结构节点中保存的一项或多项信息进行转换处理,不同项采用的转换方式相同或不同。
[0036]进一步地,上述装置还具有下面特点:还包括:
[0037]处理模块,用于在将所述数据结构提供给其他程序模块使用时,先进行安全处理。
[0038]进一步地,上述装置还具有下面特点:还包括:
[0039]处理模块,用于在所述保存模块将所述文件划分为相应大小的多个文件块之前,或者将划分的多个文件块分别保存在所述多个内存块之前,将所述文件的数据或文件块的数据处理为不可直接使用的内容。
[0040]综上,本发明提供一种保护敏感信息的方法及装置,可以增加攻击者获取原始文件内容的复杂度。换句话说,即便攻击者能够在转储的内存数据中定位到敏感信息的开始位置,也不能轻易地获取到完整的原始文件内容。
【附图说明】
[0041]图1是现有技术的32位Android(安卓)操作系统下一般用户进程的地址空间的布局图。
[0042]图2是现有技术的连续申请的内存区域的示意图。
[0043]图3为本发明实施例的一种保护敏感信息的流程图。
[0044]图4为本发明实施例的使用链表方式组织碎片化的内存块的示意图。
[0045]图5为本发明实施例的使用二叉树方式组织碎片化的内存块的示意图。
[0046]图6为本发明实施例的对数据结构中的对象节点中的关键信息进行转换处理的示意图。
[0047]图7为本发明实施例的一种保护敏感信息的装置的示意图。
【具体实施方式】
[0048]图1描述的是32位Android (安卓)操作系统下一般用户进程的地址空间的布局图,在其他的终端操作系统下,包括在PC端的Linux操作系统等的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1