隐私与数据边界

本地 AI 持久化数据的加密边界审计

核实应用私有数据静态存储与密钥生命周期,不把导出加密、云备份或沙箱访问控制混为一谈。

审核状态: 内容已校验;中文稿供用户审核 · 2026-10-05 · Fact IDs: ANDROID-PRIVACY-01, PRIVACY-01

直接回答

存储加密审查要先说清楚存了什么、声称哪种保护。应用私有目录、Android 文件级加密、数据库封装和应用自管密文不能混为一谈。Android 文档指出,内部应用存储受应用沙箱限制;外部存储中的敏感内容可能需要应用层加密。设备加密的威胁边界又不同于应用自管密码学。Android Keystore 能帮助保护密钥材料免于导出并限制用途,但不会自动加密每个文件。ANDROID-PRIVACY-01 与 PRIVACY-01 支持证据驱动的边界盘点,却不证明 Cove 当前数据已经加密。\n\n本文只讨论静态保存的应用数据:转录、生成结果、暴露用户活动的设置,以及实现中确实存在的派生索引。导出是另一种数据交接,应单独分析格式、接收方和加密方式,不属于此范围。云备份和设备迁移恢复也是不同生命周期路径,不能用文件加密替代“数据是否离开设备”的核查。“静态加密”必须说明涵盖哪些数据库页、文件、临时副本、备份副本、密钥和设备状态。\n\n根据可观察代码路径绘制数据位置图。记录目录或数据库、存储在应用私有空间还是共享空间、哪些进程读取、是否创建临时文件,以及备份规则是否包含。不要将应用私有目录称为端到端加密:沙箱是平台访问控制边界,不是密码学威胁模型。同样,不能因为 Android 使用设备加密就推断应用还实现了另一层加密。结合清单配置、存储 API、密码学调用和恢复行为说明实际证据。\n\n如果确实有应用自管加密,要记录密钥创建、别名、授权用途、认证要求、轮换或失效,以及密钥不可用时密文如何处理。Keystore 文档说明密钥材料可设置为不可导出,也能限制操作;实际属性仍取决于配置和设备。测试密钥缺失、失效或不可访问时的恢复,不得顺手删除无关用户数据。不能把秘密密钥和密文放在同一个文件旁边就称为受到保护。算法选择要参照 Android 官方密码学指南;本文不是 Cove 的实现配方。\n\n测试改变访问行为的生命周期状态:前台使用、进程重建、锁屏、重启、适用时凭据解锁、应用更新、备份、恢复到原设备、恢复到另一设备及删除应用数据。结果会受 Android 版本、存储配置和备份策略影响。锁屏时受保护的文件可能在解锁后可读;卸载重装或迁移后密钥可能不可恢复。除非实现验证并记录硬件支持属性,不要承诺所有设备的密钥都由安全硬件保护。\n\n用合成内容检查真实文件和请求。除主数据表外,还要查看数据库日志、预写日志、缩略图、临时明文、缓存、崩溃报告和调试导出。核对备份排除规则是否符合策略,恢复后是否悄悄带回已删除记录或旧同意状态。一次检查发现某数据库文件像密文,不足以证明其他副本、备份和瞬时缓冲都受保护。不能用生产用户内容制作测试样例。\n\n最终证据应列出构建、Android 版本、数据清单、清单与备份配置、密钥事件、锁定和解锁状态、恢复结果及已知例外。结论应写窄,例如本构建中哪些数据类别使用了实测机制。不要承诺设备绝对安全、抵御已攻陷系统或适用于所有设备。未单独测试时,导出、模型文件、诊断和远端服务不得包含在结论里。精确范围使隐私文案可审计,并避免一次密码学测试变成广泛产品保证。

用户检查换机后保存的 AI 笔记

用户保存私人转录和派生搜索记录,开启系统备份后迁移到另一台手机。产品团队要查明哪些记录会恢复、密钥是否仍可用,以及旧备份能否逆转删除或同意状态。

决策

分别盘点数据和密钥生命周期,测试实际备份路径,并把加密说法限定在观察到的文件和状态。

预期结果

审查区分沙箱访问、设备加密、应用密文、备份与导出,不承诺普遍保护。

需要收集的证据

只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:

  • ANDROID-PRIVACY-01:数据访问与保护责任应明确
  • PRIVACY-01:本地推理不表示其他数据路径自动受保护

隐私声明需要数据清单和流量证据;“本地模型”标签本身不是证明。

实施流程

  1. 盘点持久和临时数据. 追踪数据库、文件、日志、缩略图、缓存、临时明文和派生索引的存储位置、读取方与保留路径。
  2. 写出精确保护声明. 对每类数据分别说明沙箱访问控制、平台加密、应用自管加密、备份行为和用户导出,并注明所据实现配置。
  3. 检查密钥归属和失败行为. 若实现了加密,记录 Keystore 别名、授权操作、认证策略、轮换、失效和密钥不可用时的处理。
  4. 测试锁屏、重启、升级和恢复. 用合成记录覆盖进程死亡、重启、锁定/解锁、应用升级、备份恢复、重装及迁移等相关状态。
  5. 验证删除与用户披露. 删除选定记录、检查派生副本和恢复状态,再让隐私说明逐项匹配证据、例外和恢复异常。

让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。

验收标准

  • 每项加密声明都注明覆盖的数据类别、副本、密钥前提和测试过的设备状态。
  • 记录备份、恢复、密钥丢失和删除结果,不将应用私有存储等同于应用层加密。
  • 未独立审核的导出与远端路径不纳入结论,也不作绝对安全或普遍设备承诺。

决策对照表

维度选择或证据解读方式
应用私有存储使用平台沙箱边界在文档模型下限制应用访问,但本身不等于应用自管加密。
设备文件级加密使用已配置的平台保护状态必须限定锁定和解锁行为,不构成备份或导出保证。
应用自管加密用受管理密钥加密所选内容需要测试密钥生命周期、密文副本、失败恢复和威胁前提。

需要避免的失败模式

  • 把应用私有目录说成应用层加密
  • 从锁屏状态推断备份安全
  • 密钥失效时删除无关用户记录

还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。

最小复现记录

层级记录内容
设备厂商、型号、芯片、内存档位、操作系统版本
软件应用版本和 Git 提交号
模型系列、变体、版本、格式、文件长度、摘要、量化方式
运行时名称、版本、请求后端及实际后端证据
工作负载样例版本、输入摘要、提示词摘要、输出策略
结果完成、失败、取消、回退及保护隐私的诊断信息

发布检查表

  • ☐ 主要搜索问题已回答,且没有未经支持的数字。
  • ☐ 所有模型文件和运行时版本均已固定。
  • ☐ 代表性任务和失败处理策略均有说明。
  • ☐ 生命周期、取消、清理和回退均已测试。
  • ☐ 用户内容与网络边界均有说明。
  • ☐ 结论只适用于被记录的配置。
  • ☐ 新增测试结果时链接到原始方法或证据。

来源与相关证据

中文部署与排错专题见。奇连 AI 端侧专题。

常见问题

Android Keystore 会自动加密应用数据库吗?

不会。Keystore 提供密钥管理和密码学操作;应用必须主动使用密钥加密目标数据,并测试数据与密钥的完整生命周期及调用方访问边界。

应用私有文件自动等于端到端加密吗?

不等于。应用私有存储描述访问控制位置。要分别说明文件是否由应用加密、受平台保护、进入备份或由用户导出,并指出核验过的实际副本。

设备加密能证明备份中没有可读数据吗?

不一定。备份和恢复是另一条路径。应检查实际规则和恢复内容,不能由锁屏行为推断备份机密性,还需测试恢复到具体设备后的结果。