私密相册 App 安全吗?信任一款之前要检查的七件事
私密相册 App 安全吗?只要它在设备上用写明的加密算法加密文件、把密钥存放在无法复制的地方,并且没有能重置保险箱的账户,就是安全的。只在照片前面放一个 PIN 码界面的 App,在 App Store 中看起来一模一样。下面七项检查,几分钟就能把两者区分开。
为什么“私密相册 App 安全吗”有两个答案
什么都不加密的保险箱和什么都加密的保险箱,在 App Store 中看起来差不多:都显示一把锁,都说“私密”,都要求输入 PIN 码。所以私密相册 App 安全与否,只能一款一款地看。任何认真的保险箱都会把下面七件事写清楚;如果一个 App 一件都不说,它就已经给了你答案。
七项检查
1. 是否写明了加密算法?
安全的私密相册 App 会写明加密算法及其参数,例如按块进行 AES-256-GCM 加密、每个文件一个密钥。“军用级”“银行级”“100% 安全”什么也没说明。如果 App Store 页面、网站和支持页面都从未写明算法,那么在开发者说明之前,请把照片视为未加密。
2. 密钥存放在哪里,能否被复制?
只由 PIN 码派生的密钥,可以在另一台电脑上被猜出:复制文件,然后尝试每一个四位数 PIN 码。由安全隔区封装的密钥无法离开 iPhone,所以每次猜测都必须在那台 iPhone 上进行,而 iPhone 可以放慢猜测速度。留意“安全隔区”(Secure Enclave)这个词,以及注明轮数的密钥派生函数。
3. 有没有账户?
带密码重置功能的账户很方便,但它也是另一条进入的途径。如果 App 通过电子邮件重置 PIN 码,任何掌控该电子邮件地址的人都能进去;如果它在网站上显示你的照片,那么至少在那时,照片会在它的服务器上被解密。没有账户的 App,也就没有人能重置任何东西,于是恢复短语就由你自己保管。
4. 隐私标签怎么写?
App Store 隐私标签由开发者自己填写,但它仍能区分含广告和分析代码的 App 与不含这些代码的 App。“用于追踪你的数据”意味着保存你照片的 App 里运行着追踪代码。“与你关联的数据”意味着收集的数据与你的身份相关联。“未收集数据”是开发者声明 App 不收集任何数据。
5. 忘记密码时会怎样?
读一读支持页面。“我们会帮你重置”又回到了第 3 项检查。“使用你的恢复短语”意味着其他人都无法打开保险箱。“没有任何办法”且没有恢复短语,这很诚实,但也毫不留情。
6. App 里有广告吗?
带广告的免费保险箱,靠让广告网络进入 App 来维持收入。广告网络看不到你的照片,但它会知道你在用保险箱,以及用得有多频繁。
7. 加密能否被核实?
开源代码或公开的格式规范,可以让任何人把 App 与它的描述进行对照。很少有保险箱 App 提供其中任何一种。退而求其次,是一个写有真实参数的技术页面:开发者一旦写明了随机数(nonce)方案,就得对它负责。
七项检查一览表
| 检查项 | 较弱的答案 | 较强的答案 |
|---|---|---|
| 加密算法 | 未写明,“军用级” | 写明,并附参数 |
| 密钥 | 仅由 PIN 码派生 | 由安全隔区封装,采用写明轮数的慢速密钥派生 |
| 账户 | 电子邮件账户,网页访问 | 无 |
| 隐私标签 | 用于追踪你的数据 | 未收集数据 |
| 忘记密码 | 通过电子邮件重置 | 恢复短语 |
| 广告 | 有 | 无 |
| 能否核实 | 未公开任何内容 | 开源代码或完整的技术页面 |
Mirage Vault 对七项检查的回答
Mirage Vault 由我们开发,因此答案都写在它的安全性页面上,可供核实:按 1 MiB 分块进行 AES-256-GCM 加密,每个文件一个密钥;PBKDF2-HMAC-SHA256 至少 600,000 轮,并通过 ECIES 由安全隔区中的 P-256 密钥封装;没有账户,没有服务器;没有分析、广告或崩溃报告代码,App Store 隐私标签显示“未收集数据”;用 8 个单词的恢复短语代替重置。对比页面用同样的检查项评估其他 App,只采用它们自己的说法,并注明每项的读取日期。