【问题标题】:file security android: how can I make a file to be read by my android application only文件安全 android:如何使文件只能由我的 android 应用程序读取
【发布时间】:2012-03-23 20:56:54
【问题描述】:

我的安卓设备的 SD 卡上有一组加密文件。我的应用程序使用 bufferedInputstream 读取加密文件,并在应用程序的内部存储中生成解密文件。然后应用程序读取解密文件(.pdf、.swf、.flv)以查看它。 如何确保用户(包括 root 设备上的 root 用户)无法访问解密文件?

  1. 我可以删除解密文件的读/写权限吗? 我的应用程序打开它阅读?如果是,请指导我如何?
  2. 我可以从内部存储中删除文件吗? 应用程序打开它来阅读。如果是,请指导我如何?
  3. 我偶然发现了https://github.com/seth-hg/fuse-android。如果 没有其他工作,在用户中构建文件系统是个好主意吗 处理此类案件的空间?如果你试过了,请指点我 正确的方向或教程。

【问题讨论】:

  • 你不能。总体而言,您获得了一个加密文件以及在某些时候在设备上解密它的密钥。其余的只是感兴趣的人的作业。尤其是在有根设备上。
  • @alextsc 感谢您的回复。如果我使用 fuse-android 怎么办?这种解决这个问题的方法有多好/有效?
  • 我自己从未使用过。但这不会改变太多,只是让对文件感兴趣的任何人都可以使用它。如前所述,您无法解决。这是一个原则,如果您可以在设备上解码加密数据,设备所有者可以根据需要获得它。这只是他想投入多少工作的问题。解密后删除文件?拍摄内存快照。您的应用程序中有密钥吗?提取它。等等。根本不可行。

标签: android encryption filesystems fuse


【解决方案1】:

一旦用户获得 root 权限,您将无法阻止对任何文件的访问。由于 android 的安全性(主要)基于文件系统中的权限。

您可以做的是将解密的内容存储在内存中并删除文件(或避免首先创建它)

【讨论】:

  • 谢谢您的回答。但我对这种方法的担忧是,如果文件很大怎么办?我有 .flv 和 .swf 文件。此外,为了使用 .swf 文件运行动画,我必须解密多个 .swf 文件。将所有内容都保存在内存中可能是不可能的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
相关资源
最近更新 更多