胁迫模式:移除对其他保险库的访问
您被迫解锁手机,有人在一旁看着。您在网格上绘制一个图案,指定的保险库正常打开。在普通界面背后,Vaultaire 会删除该设备上其他保险库的本地索引和恢复映射,并阻止这一移除通过同步自动传播。
Vaultaire 的胁迫模式让您把一个保险库指定为胁迫触发器。绘制该保险库的图案会正常打开它,同时从当前设备删除非诱饵保险库的索引和本地恢复映射。现有的加密 iCloud 备份和对等设备上的副本有意保持不变。
什么是胁迫模式?
胁迫模式是最后一道防线。您希望永远用不上它,它专为其他一切都已失效的时刻而设计:有人站在您面前,要求查看您的私人文件,而您别无选择,只能照做。
具体做法是:您把一个保险库指定为诱饵保险库,在里面放一些看起来可信的内容,比如几张无害的照片和一些普通文档。然后像其他保险库一样为它设置一个图案。在普通解锁界面中,它的外观和打开方式与普通保险库无异;但这一说法仅限于界面呈现,文件系统和云端证据不在其范围内。
区别在于绘制这个图案时发生的事情。普通保险库的图案只打开对应的保险库。胁迫图案同样会打开并在屏幕上显示指定保险库的内容,但还会触发本地清除,删除让其他保险库能在该设备上被访问的索引和恢复映射。
不会弹出确认对话框,也不会播放提示音。旁观者只会看到一个保险库打开、里面的文件显示出来。界面不会提示其他本地保险库索引已被删除、本地恢复映射已被清除、待处理的备份任务已停止,也不会提示设备必须通过基于短语的明确恢复才能找回已移除的保险库。
有些用户认为,与其在胁迫下暴露保险库,不如从设备上删除对它们的访问。胁迫模式正是为这类用户提供的破坏性本地控制。本地清除立即生效,无法撤销。恢复是另一个独立流程,依赖事先存在的加密备份以及该保险库的恢复短语。
底层工作原理
了解其机制很重要,因为胁迫模式的适用范围比“彻底清除一切”要窄。它只改变当前设备上的状态,并不承诺清除 CloudKit、其他设备、文件系统历史或攻击者已收集的证据。
第 1 步:绘制胁迫图案
当您绘制分配给诱饵保险库的图案时,Vaultaire 会将其识别为胁迫触发器。App 同时开始两项操作:解密并显示指定保险库的内容,同时在本地清理其他每个保险库的索引和恢复映射。
第 2 步:删除本地访问状态
Vaultaire 使用一个存放在 Keychain 中、全设备共用的盐值来派生图案密钥,而不是为每个保险库单独使用盐值。胁迫模式不会销毁这个共享盐值,而是清除加密的本地恢复数据库,并删除除指定保险库之外的所有保险库索引。每个索引都包含封装后的随机主密钥和该保险库的文件映射,因此删除索引后,非诱饵保险库就不再属于 App 的可用本地状态。
加密的 Blob 池可以保留,因为所有保险库共用这块存储。没有了被删除的索引,Vaultaire 在本地就没有文件映射或封装的主密钥来打开已移除的保险库。App 还会清除本地恢复映射,因此普通恢复界面无法立即列出或恢复这些保险库。
第 3 步:保留云端恢复,但加以隔离
现有的加密 iCloud 备份会被有意保留,作为恢复途径。设备会重置待处理的备份任务并进入隔离状态,因此本地清除不会像普通删除那样上传,隐藏的保险库也不会被自动拉回。之后的恢复必须主动进行,一次恢复一个保险库,并且需要该保险库的恢复短语,仅凭被胁迫时交出的图案不够。
第 4 步:诱饵保险库正常打开
本地清理运行期间,指定的保险库会通过正常界面打开。Vaultaire 在开始前会停止分析,尝试撤销从该保险库创建的有效共享,重新生成它的恢复短语,然后清除诱饵标记。App 不会显示胁迫确认或完成提示,但完成时间取决于本地工作量和网络撤销;Vaultaire 不承诺所有情况下都能在一秒内完成。
静默界面能隐藏什么,不能隐藏什么
界面在当下的设计目标,是避免向越过您肩膀观看的人透露胁迫模式。这是一项有用的界面呈现特性,但并不能证明每位取证人员看到的设备状态都完全一样。文件系统痕迹、CloudKit 记录、其他已同步设备或此前对手机的访问,都可能超出 App 能隐藏的范围。
无确认对话框
软件中大多数破坏性行为都会带有警告:“您确定吗?” 胁迫模式没有这样的警告。确认对话框会让一切露馅。您画出图案的那一刻,操作就已执行。除非您在 5×5 网格上碰巧画出了那个特定的复杂图案,否则不会误触发,而这种巧合几乎不可能发生。
没有单独的等待界面
App 在执行本地清理和撤销共享时会打开指定的保险库。该流程在设计上不会额外弹出警告界面,但设备性能、保险库状态和网络条件各不相同。Vaultaire 并不声称,借助仪器的观察者永远无法从时间上看出差别。
App 内没有清除通知
Vaultaire 会在清除前停用分析,也不会显示“保险库已删除”的通知。在该设备上,保留下来的保险库就是 App 中仍可访问的那个。这不会删除 App 当前本地状态之外的证据,也不应被视为在取证检查下无法被发现的承诺。
删除了哪些本地状态
这里需要说得精确。胁迫模式删除的是找到并打开非诱饵保险库所需的特定本地结构,同时保留共享的加密 blob 存储和所有加密 iCloud 备份。这是对本地访问状态的清除,并不意味着每个物理副本都已被覆写。
加密恢复数据库
本地恢复数据库把恢复短语和旧版图案字段映射到保险库访问。胁迫模式会清空该数据库,然后只为指定的保险库创建新的恢复条目。这样会删除其他保险库的本地恢复映射,但并不假称 Vaultaire 为每个保险库使用或销毁了单独的盐值。
非诱饵保险库的索引
每个加密的保险库索引都包含该保险库的文件记录,以及由其图案派生密钥封装的随机主密钥。胁迫模式会删除除指定保险库之外的所有索引。PBKDF2 算法和迭代次数是公开的实现参数,安全性并不依赖于删除它们。
加密数据
共享的加密 Blob 池会被保留,因为其中也包含指定保险库的内容。只属于已删除索引的数据可能无法再通过 App 访问,但 Vaultaire 并不声称会对每个闪存存储块进行安全的物理覆写。已删除的索引或之前的状态,也可能留在 App 无法控制的存储层中。
启用胁迫模式后,App 只显示保留下来的保险库,也不会显示任何明文的跨保险库登记表。这限制了普通界面能透露的内容,但并不能证明取证人员无法从已删除的索引、文件系统快照、存储容量、CloudKit、对等设备或清除前收集的证据中推断出此前的保险库活动。
何时使用胁迫模式
胁迫模式适用于这样的情况:您面临人身胁迫或法律强制,并决定删除本地保险库的访问,而不是将其暴露。这是一个后果严重的个人决定,Vaultaire 提供工具,但不会替您做决定。
过境检查
边境检查权限和旅客义务因国家和具体情况而异。在交出手机之前绘制胁迫图案,会让界面中只留下一个可访问的保险库,并删除其他本地访问状态,但无法保证检查人员不会发现文件系统痕迹、加密备份、对等设备副本或此前的证据。
物理强制
如果有人以威胁逼迫您解锁手机,您需要一种方式来限制普通界面能透露的内容。胁迫模式让您绘制一个看起来像是在配合的图案。胁迫者看到的是指定保险库被打开,而界面不会透露其他保险库的访问状态正在同时被本地清理。
设备扣押
如果您有理由相信设备将被没收,胁迫模式可以在交出设备之前,从当前安装的 App 中删除对非诱饵保险库的访问。它不能保证取证分析人员无迹可查,尤其是在设备已被入侵,或存在其他副本和系统痕迹时。
记者和消息来源保护
在敌对环境中工作的记者、在监控下活动的社运人士,以及任何数据一旦泄露就可能危及自己或他人的人,都适用。胁迫模式把最脆弱的时刻变成自我保护的时刻。
设置您的诱饵保险库
配置胁迫模式大约需要两分钟。要做得好、让它令人信服,则需要多花些心思。
指定保险库
在 Vaultaire 的设置中,您把一个保险库指定为诱饵保险库。画出胁迫图案时打开的就是它,所以里面的内容要看起来真实,符合旁观者的预期。空保险库很可疑,内容明显造假的保险库也很可疑。放着几张看起来很普通的个人照片的保险库最理想。
放入可信的内容
在诱饵保险库里放些别人会期望在私人保险库中看到的内容:几张个人照片,也许一份证件扫描件,一些私密到值得上锁、又无害到经得起查看的文件。目的不是骗过取证调查,而是让当下站在您面前的人满意。
选择自然图案
胁迫图案应当是您在压力下也能毫不犹豫、快速画出的图案。如果画成另一个有效图案,打开的可能是另一个保险库或空白状态。请在安全的测试环境中练习触发。与每个 Vaultaire 图案一样,它必须至少连接六个点,并至少转一次方向。
先测试
在真正需要之前,请先在安全环境中测试胁迫模式。创建几个测试保险库,指定一个诱饵保险库,然后触发它。确认其他保险库在该设备上已无法打开,确认诱饵保险库正常打开。之后再正式设置。
无法撤销
需要明确的是:胁迫模式一旦触发,本地清除无法撤销。Vaultaire 支持团队无法重建您的图案或恢复短语。如果加密 iCloud 备份(默认开启)此前一直开启,且您保留了恢复短语,之后可以一次恢复一个保险库。两者缺一,已删除的本地访问状态就可能让您无法恢复保险库。
其他索引和本地恢复映射已从 App 的当前状态中消失。全设备共用的盐值和共享的加密 blob 池不是清除对象,加密的云备份也会保留。这一边界是有意设计的:它删除了被胁迫设备上的访问,同时为所有者保留了由恢复短语控制的恢复途径。
胁迫模式适合那些理解这种取舍、并事先决定宁可删除当前设备上的即时访问,也不愿在胁迫下暴露保险库的人。如果您无法妥善保管恢复短语和加密备份,就应当假定本地清除可能让您失去对该保险库的访问。
这种取舍是具体的,而非绝对的。本地删除无需确认即开始,之后的恢复只能通过独立的云端和恢复短语途径进行。在判断这一行为是否符合您的威胁模型之前,请先用不敏感的数据测试该功能。
常见问题解答
如果不小心画了胁迫图案怎么办?
本地清除会立即开始,没有确认步骤。Vaultaire 会从该设备删除非诱饵保险库的索引和本地恢复映射,同时保留指定的保险库。如果加密 iCloud 备份(默认开启)一直处于开启状态,之后仍可用每个保险库的恢复短语进行恢复。请谨慎选择并测试胁迫模式。
触发胁迫模式后能否从 iCloud 备份恢复我的保险库?
可以,前提是存在加密备份。胁迫模式只作用于当前设备,并有意保留加密的 iCloud 备份。清除后,设备会暂停自动同步;恢复需要您主动操作,用恢复短语一次恢复一个保险库。仅凭被胁迫时交出的图案,无法恢复已移除的保险库。
取证分析人员能否判断胁迫模式已被触发?
Vaultaire 会在清除前停止分析、不显示任何确认,并保留指定的保险库,因此 App 内的流程有意保持安静。但这并不能保证躲过取证检测。已删除的文件、文件系统状态、CloudKit 记录、对等设备、备份或已被入侵的设备,都可能留下其他数据曾经存在或被改动的证据。
诱饵保险库本身会被破坏吗?
不会。指定的保险库保持完整、正常打开,并获得新的恢复短语。之后它的诱饵标记会被清除,事件结束后它继续作为普通保险库使用。
我可以拥有多个诱饵保险库吗?
不能。您只能把一个保险库指定为诱饵保险库。这个限制是有意为之:多个胁迫触发器会增加误触发的风险,也让使用逻辑更复杂。一个保险库,一个图案,一种结果。
胁迫模式合法吗?
法律因司法辖区和具体情况而异,尤其当设备或其中内容可能成为证据或负有保全义务时。Vaultaire 不提供法律建议。在依赖这类破坏性功能之前,请就您的情况咨询合格的律师。