Android-如何防止写在SD卡上的数据被其它应用恶意更改?

服务器管理 服务器管理 主题:1035 回复:2217

Android-如何防止写在SD卡上的数据被其它应用恶意更改?

归属感 发布于 2017-03-19 字数 120 浏览 960 回复 1

andriod上开发的应用,对于存储在SD卡上的应用核心数据,如何防止被其它的应用恶意修改?如何保证应用本身的数据安全性?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

泛泛之交 2017-08-18 1 楼

这个很容易理解,主要把握两点:
1.android的应用是一个关联体,即把安装包和应用数据通过相同的名字关联起来。一般地android中第三方应用软件都会被安装在data/app目录下,其实所谓的安装只是将安装包原封不动地拷贝到该目录下,安装包就是一个zip格式的压缩文件,当用户选择安装到SD卡上时,就是把安装包拷贝到SD卡的特定目录下。除了安装包外,在data/data目录下还会创建一个与安装包同名的应用数据目录用来存放应用所产生的其他数据,如:设置文件,数据库文件,备份文件等运行数据。通过这样的方式将不同应用的数据分开来装的,很难混淆(不管应用安装到哪里,应用数据都被保存到data/data的这个目录下进行管理)。

2.访问这个关联体需要一定的权限。Android的文件系统其实就是Linux的文件系统!Linux的安全性是毋庸置疑的,Android会为每个应用创建一个Linux账号,只有通过本应用账号才有权限去运行该应用的安装包文件,读写这个应用的应用数据目录下的文件(当然,拥有root权限也可以进行这些操作)。通过这样的保护策略,不管把应用安装到哪里Android都会将每个应用的数据私有化,避免了被恶意篡改的危险。