android jni 保护 安卓系统保护_android保护方法有哪些方法有哪些

本发明属于数据保护领域,具体涉及一种Android系统文件数据隔离保护方法。

背景技术:

移动端应用广泛使用的今天,人们对应用产生的数据文件格外重视,对于比较隐私的数据文件,我们如何进行隔离,以防止从应用以外的地方泄露数据文件是个重要问题。

虽然Android系统在应用内部存储空间进行了应用隔离,不能互相访问,但是仍然有部分数据文件是保存在外部存储上的。外部存储的文件就可以被其他应用所访问,从而导致未在个人允许下的信息泄露。

技术实现要素:

为了克服现有技术的不足,本发明提出一种Android系统文件数据隔离保护方法,解决现有的外部存储文件容易在未经个人允许的情况下随意访问,导致信息泄露、隐私泄露的问题。

本发明为实现上述目的,采用以下技术方案实现:

一种Android系统文件数据隔离保护方法,包括以下步骤:

步骤1:当应用发生向外部存储中操作数据文件动作时,通过拦截获取路径信息;

步骤2:通过拦截对数据文件路径进行重新映射隔离;

步骤3:执行系统操作。

进一步地,作为优选技术方案,所述步骤1的具体过程为:

步骤1-1:对所需要拦截的系统操作函数进行初始化拦截设定;

步骤1-2:当系统函数被调用时,通过拦截,从函数的参数中获取到路径信息。

进一步地,作为优选技术方案,所述步骤2中,将数据文件路径映射到隔离区域,所述隔离区域为外部存储的某部分区域,隔离区域对隔离应用可见,对普通应用不可见。

进一步地,作为优选技术方案,所述步骤3中,将数据文件路径映射到隔离区域后,重新放回系统原函数中执行,当需要返回文件路径结果或者文件名字时,将实际的路径逆向回虚拟路径返回给应用。

进一步地,作为优选技术方案,对映射到隔离区域后的数据文件路径采用混淆或者加密处理。

进一步地,作为优选技术方案,所述步骤1的具体过程为:对所需拦截的Uri操作相关函数进行初始化设定。

进一步地,作为优选技术方案,所述步骤2的具体过程为:当相关函数被调用时,从函数的参数中获取到Uri相关信息,修改Uri使用重新指向自定义Uri位置。

进一步地,作为优选技术方案,所述步骤3的具体过程为:当通过自定义Uri访问时,模拟系统对Uri的操作,返回相关文件的信息。

本发明与现有技术相比,具有以下优点及有益效果:

(1)本发明能够将应用产生在外部存储的数据文件全部进行隔离,并可扩展使用混淆算法、加密算法,使隔离的应用实现文件路径映射和混淆、加密等多重保护,避免信息在未被允许的情况下发生泄漏,加强信息安全性的同时,也极大地保护了个人隐私。

(2)本发明的隔离应用之间由于共享隔离区域,可相互访问,增强了实用性.

(3)本发明对Android访问文件的多种方式都进行了处理,杜绝相关的遗漏。

附图说明

图1为本发明的方法流程示意图;

图2为本发明的隔离保护整体框架示意图;

图3为本发明的文件操作函数拦截过程示意图;

图4为本发明的Uri操作函数拦截过程示意图。

具体实施方式

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例:

如图1所示,本实施例所述的一种Android系统文件数据隔离保护方法,包括以下步骤:

步骤1:当应用发生向外部存储中操作数据文件动作时,通过拦截获取路径信息;

步骤2:通过拦截对数据文件路径进行重新映射隔离,即是将数据文件路径映射到隔离区域;

步骤3:执行系统操作,将重新生成的路径放回到系统的操作函数,让其执行系统的原函数。

如图2所示,在本实施例中,隔离区域为外部存储的某部分区域,隔离区域对隔离应用可见,对普通应用不可见。具体地,对于隔离App,当访问外部存储时,隔离App所能可见的区域为上图标识为隔离区域的位置,所以隔离App不能访问到通常存储位置;对于其他普通App,当访问外部存储时,普通App只能访问到通常存储区域,所以对于普通App隔离区域对其是不可见的;对于多个隔离App,它们的可见区域都是隔离区域,所以它们可以互相访问文件。通过上述设置,实现了数据文件隔离保护的同时,多个隔离App之间可共享使用隔离区域,提高隔离区域的利用率。

下面给出两种不同的拦截方式的具体实现过程,一种是文件操作函数拦截,另一种是Uri操作函数拦截。

如图3所示,对于文件操作函数拦截,其具体过程为:

(1)对所需要拦截的系统操作函数进行初始化拦截设定;

(2)当系统函数被调用时,通过拦截,从函数的参数中获取到路径信息。

(3)将数据文件路径映射到隔离区域后,重新放回系统原函数中执行,当需要返回文件路径结果或者文件名字时,将实际的路径逆向回虚拟路径返回给应用。

在本实施例中,对映射到隔离区域后的数据文件路径还可采用混淆或者加密处理,从而进一步加强信息的安全性,起到保护用户隐私的作用。

如图4所示,对于Uri操作函数拦截,其具体过程为:

(1)对所需拦截的Uri操作相关函数进行初始化设定。

(2)当相关函数被调用时,从函数的参数中获取到Uri相关信息,修改Uri使用重新指向自定义Uri位置。

(3)当通过自定义Uri访问时,模拟系统对Uri的操作,返回相关文件的信息,从而实现Uri的访问文件隔离。

本发明通过采用上述方法,能够将应用产生在外部存储的数据文件全部进行隔离,并可扩展使用混淆算法、加密算法,使隔离的应用实现文件路径映射和混淆、加密等多重保护,避免信息在未被允许的情况下发生泄漏,加强信息安全性的同时,也极大地保护了个人隐私;本发明的隔离应用之间由于共享隔离区域,可相互访问,增强了实用性;本发明对Android访问文件的多种方式都进行了处理,杜绝相关的遗漏。

本发明由于采用拦截的方式对隔离应用的数据文件路径进行映射隔离,对应用无感知,无需再使用应用时修改路径,兼容性好,稳定性强;另外,对存储在系统中的媒体文件信息也可进行隔离。

以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。