FairEmail 中文文档 下载 App

FairEmail 密码存储机制与应用级锁定(生物识别/PIN)

邮箱密码存储:Android Keystore 保护

这是 FairEmail 隐私设计中最被低估但最关键的细节之一。FairEmail 不会把你的邮箱密码明文存储在 SQLite 数据库或配置文件中——它使用 Android 平台的硬件安全模块(Android Keystore)来保护密码。

具体做法

  1. FairEmail 生成一个随机主密钥(AES-256 密钥)
  2. 这个主密钥存储在 Android Keystore 中——Android Keystore 会用硬件安全模块(HSM / Titan M 芯片)加密它
  3. 邮箱密码、应用专用密码等敏感数据用这个主密钥加密后,才存入 FairEmail 的本地 SQLite 数据库

为什么这样安全

Android Keystore 是 Android 平台上最安全的存储机制:

什么情况下密码会被暴露

在理论上,以下情况可能导致密码暴露:

但以上都是极端场景,正常使用中 FairEmail 的密码存储是足够安全的。

设置导出的额外加密

FairEmail Pro 的「导出设置」功能会导出所有账户配置、身份设置等——导出文件本身也会被加密。导出时你需要设置一个加密口令,导入时需要用这个口令解锁。

导出加密口令和 Android Keystore 主密钥是两套独立的密钥——导出文件可以在任何设备上用这个口令打开,不受 Android Keystore 约束。所以导出口令本身也需要设置得足够强壮。

Pro 功能:应用级生物识别锁定

FairEmail 本身没有密码或生物识别锁——任何能解锁你手机的人都能打开 FairEmail 查看邮件。Pro 功能的应用级锁定补上了这个缺口:

支持的锁定方式

启用方法

  1. 打开 FairEmail 设置
  2. 找到「安全」或「锁定」相关选项(不同版本位置可能略有不同)
  3. 选择你想要的锁定方式(推荐生物识别)
  4. 首次启用时会要求你验证设备密码(这是 Android 的强制要求)
  5. 设置生效

锁定触发条件

FairEmail 的锁定逻辑是:当 FairEmail 从后台重新切回前台时,需要验证。如果 FairEmail 刚被打开就被切走,很快切回来可能不会触发(短时间内视为同一会话)。

锁定和系统解锁的关系

FairEmail 的应用级锁定和 Android 屏幕锁是两套独立机制:

其他安全设置

自动崩溃报告

FairEmail 默认不发送崩溃报告。你可以在设置中手动启用,但这意味着会把崩溃时的一些技术信息(如设备型号、FairEmail 版本、Android 版本)发送给开发者。不会包含邮箱密码、邮件内容等敏感数据。

选择明文连接

FairEmail 在某些场景下(如连接旧式企业 IMAP 服务器)允许使用不加密的连接。这是一个高级选项——不加密意味着邮箱密码和邮件内容会在网络上以明文传输,任何中间网络设备都可能读取。只有在绝对确认网络环境可信(如企业内部物理隔离网络)时才考虑使用。

自签名证书

FairEmail 会验证 SSL/TLS 服务器证书。遇到自签名证书时,会弹出警告:「这个证书无法验证,继续连接可能存在风险」。你可以选择忽略(接受这个证书),但这意味着在连接期间 FairEmail 无法检测中间人攻击。