Android文件安全
答
我假设你有记录在SD卡上的文件,因为存储在内部文件系统中的文件默认受到保护。
您可以保护您的数据不受其他应用程序的唯一方式是使用某种加密。
Android为每个应用程序提供了自己的用户标识,然后标准的Linux文件系统访问权限负责保护存储在内部文件系统中的数据。您无需做任何事情即可充分利用此功能,因为它是Android中整个安全模型的核心。
但是对于外部存储器,如sd卡,Android正在使用FAT文件系统使卡与Windows兼容。这是一个很好的想法,但由于FAT文件系统缺乏访问权限功能,所有存储在SD卡上的内容都可用于所有应用程序。 (需要访问SD卡的应用程序需要请求获得许可。)
(这是Android的一个巨大的完整性问题,敏感信息不应该存储在SD卡上,但所有拍摄的照片都存储在那里,可以访问SD卡和互联网的应用程序可以很容易地将所有照片上传到服务器,而无需知道它。)
答
你可以在AndroidManifest.xml文件中声明权限。正如Android开发者许可指南中所述:
例如,想要控制谁可以启动它的活动之一,可以宣布权限进行此操作如下应用:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.app.myapp" >
<permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
android:label="@string/permlab_deadlyActivity"
android:description="@string/permdesc_deadlyActivity"
android:permissionGroup="android.permission-group.COST_MONEY"
android:protectionLevel="dangerous" />
...
</manifest>
您可以检查webpage,如果你不明确,我们可以在这里讨论,在给出确切的答案之前,我必须先去。
编辑:同时检查这post在这样。
答
是的。一个简单的解决方案是在安装应用程序时使用/dev/urandom
生成随机加密密钥,将密钥存储在本地存储中(不在SD卡上),然后使用此密钥加密存储在SD卡上的文件。这会阻止其他应用程序读取文件。
当然,这种方法的一个结果是,用户将无法删除SD卡,将其放入他们的PC,并将这些文件复制到他们的PC上。