我的手机我做主,说说我怎样在 Android 上保护隐私数据
在看了《对「自愿」上传隐私数据说不,这些是我们可以做的》之后,有感于评论区里不少人对必要隐私的需求。但原文的作者并没有提到能够更多详尽的保护隐私的方法。因而,即便是想要采取一些行动,也难以入手。这让我感到颇为遗憾。因此,该文章诞生了 —— 它将致力于介绍一些在国内能够切实保护隐私的办法。
这里的大部分内容主要以实操为主,尽力面向新手友好。将会有详尽的操作步骤说明。
由于内容较多,这篇文章将从 Android 手机着手,着重介绍其中两个保护隐私的方式:
拦截不正常的权限请求 隔离手机存储空间
更多内容,将在后面的文章中逐步展开,敬请期待。
▍开始之前...
首先,这些方法会从不同程度上依赖于一台装上 Magisk 的手机。虽然部分可以用其它的方式(等效)替代,但总归不是最佳方案。如果可以的话,装上 Magisk 是最好的选择😄。Magsik 下载链接:https://github.com/topjohnwu/Magisk
同时,考虑到每个人对软件的心理定价并不相近,如若相应板块主要介绍的是付费软件,文末将给出核心功能等价的免费软件(如可能),以便做出更好的选择。
另外,如你选择尊重自己的隐私权,还请注意:这将一定程度上侵犯相应服务商的权益,可能会致使你的服务提供商行使拒绝提供部分或全部服务的权利。因此,还请三思而行。为便于决断,本文将在每一章的开头简略附加已知会产生这种情况的例子。当然,隐私程度的提升,也会以牺牲部分便利性作为代价。你需要自行权衡利弊,并做出认为合适的决定。
隐私与便利是一门平衡的艺术,世上并不存在绝对的隐私。
相对的平衡,可以造就一副美景。过分的平衡,将破坏这种美感
感谢你花费许多精力读到这里。让我们正式进入这篇文章吧。
▍拦截权限 —— App Ops
⚠ 可能与定制系统的权限管理功能冲突。请二选一。
⚠ 部分软件可能会因拒绝权限请求而停止运行。
相信有很多人对于「不得不用的毒瘤软件」咬牙切齿:
由于一些客观原因,不得不用 但又会私下干点小动作...
毒瘤软件之所以毒瘤,很大程度上就在于兼有以上两点。其表现之一,就是权限的过度索取。
被工信部通报存在过度索取权限问题的部分应用
那么,要如何解决这个问题呢?直接用一些手段,拦截不正常权限请求未尝不是个好主意。
自 Android 4.3 开始,一个内置的核心组件被引入到系统内:AppOps。经过它拒绝的权限,应用会「允许使用该权限,但得到空白信息」,而不是「直接被拒绝了某项权限」。
一方面,空信息可以有效的保护隐私。另一方面,不是直接拒绝,而是给予空信息的方式也在一定程度上节制了部分应用「不给权限不给用」的情况。
同时,由于 AppOps 自高版本 Android 开始才在系统里内置不完整的管理前端,因此,如果想要用的舒心,则需要一个更好用的程序来接管 AppOps。理论上,你可以使用任意的前端来达到目的。我使用的是由独立开发者 Rikka 编写的应用:App Ops。
首先,这个软件的最佳实践需要你使用 Shizuku 或 Sui(它们都是同一个作者 Rikka 的作品。均免费且开源)。它们将作为 App Ops 操纵系统组件的后端。
▍存储空间隔离
⚠ 可能会破坏一些定制系统的功能(如 MIUI 的「主题管理」)。最坏的情况是:手机可能无法开机。建议在实操时谨慎隔离系统应用。 ⚠ 对某大厂游戏(「某某精英」)启用隔离会导致封号。可通过禁用存储权限的方式缓解。
手机内存变得凌乱不堪,以至于随便找个文件都是大工程;
应用可能会意外上传一些重要的文件;
应用可能会意外知道你喜欢的照片、音乐;
应用可能会读取基于文件的唯一设备码,以实现跨应用跟踪能力;
……
安装
Riru
Riru – Enhanced mode for Storage Isolation
开启隔离
设定读写规则
打开,并编辑手机里的文档。
/sdcard/Download
/sdcard/Documents
设定导出规则
描述:用于写给人看的标记,表示这条规则是用来干啥的。可以随意选择(不会影响到实际隔离效果)。
来源路径:需要取出来的,位于隔离存储空间的文件路径。
目的路径:取出来的文件,放置在实际手机存储空间的位置。
点击列出的文件夹,直至对应应用存放相应文件的隔离路径。
确认无误后,点击「确定」。
「哔哩哔哩概念」原来将某个文件丢到 /sdcard/Documents 中
为了方便管理,我希望将其内容放在 /sdcard/Documents/bilibili 中
点击对话框里的 Documents(/sdcard 已经被默认加上)
点击对话框右下方的「确定」
依次点击对话框里的「Documents」、「创建文件夹」、输入「bilibili」、点击「确定」
点击对话框右下方的「确定」
应用只会在自己的位置放置文件。除非你要求将其拿出来,放在别的位置。
应用只能读取到自己的文件,以及提前设定为可以读取的文件。
如何确定导出规则
以需求作为出发点。需要什么文件,就导出什么;
根据应用分类存放文件。例如:你也许希望微信和 QQ 下载下来的文件不要都混在 /sdcard/Download 中。取而代之,将其放在两个子文件夹内;
若不进行导出,将会损坏某个应用的功能,且没有其它方法可以解决这个问题时。那就没办法了。给个例外吧……