【问题标题】:Android file security安卓文件安全
【发布时间】:2011-02-03 05:39:07
【问题描述】:

是否可以为文件提供特定于应用程序的安全性?我希望该文件只能由所需的应用程序访问,而不能由其他应用程序访问。

【问题讨论】:

    标签: android security file


    【解决方案1】:

    我假设您已经记住了存储在 sd 卡上的文件,因为存储在内部文件系统中的文件默认受到保护。

    您可以保护您的数据免受其他应用程序影响的唯一方法是使用某种加密。

    Android 为每个应用程序提供自己的用户 ID,然后标准的 Linux 文件系统访问权限负责保护存储在内部文件系统上的数据。您无需执行任何操作即可利用此功能,因为它是 Android 中整个安全模型的核心。

    但对于外部存储,如 sd 卡,Android 使用 FAT 文件系统使卡与 Windows 兼容。这是个好主意,但由于 FAT 文件系统缺乏任何访问权限功能,存储在 sd 卡上的所有内容都可供所有应用程序使用。 (需要访问 sd 卡的应用需要请求许可。)

    (这是 Android 的一个巨大的完整性问题。敏感信息不应该存储在 sd 卡上,但所有拍摄的照片都存储在那里。一个可以访问 sd 卡和互联网的应用程序可以轻松上传你所有的在你不知情的情况下将照片发送到某处的服务器。)

    【讨论】:

      【解决方案2】:

      您可以通过在您的 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

      【讨论】:

        【解决方案3】:

        是的。一个简单的解决方案是在安装应用程序时使用/dev/urandom 生成一个随机加密密钥,将密钥存储在本地存储中(而不是在 SD 卡上),然后使用此密钥对存储在 SD 卡上的文件进行加密。这将阻止其他应用读取文件。

        当然,这种方法的一个后果是用户将无法取出 SD 卡,将其放入他们的 PC,然后将这些文件复制到他们的 PC 上。

        【讨论】:

          猜你喜欢
          • 2023-03-12
          • 1970-01-01
          • 1970-01-01
          • 2012-05-19
          • 1970-01-01
          • 1970-01-01
          • 2016-01-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多