Termius 加密密码与安全模型 | 端到端加密的 Vaults 是如何工作的
端到端加密的含义
Termius 的安全模型核心是:你的数据只有你能解密,包括 Termius 自己在内。这就是所谓的端到端加密(End-to-End Encryption,E2EE)。
工作流程是这样的:
- 你在设备上设置加密密码
- Termius 用这个密码在本地派生一个对称加密密钥
- 所有 Vaults 数据用这个密钥加密后才上传到 Termius 云服务器
- 其他设备登录时,需要输入同一个加密密码在本地解密
关键:加密密码和派生的密钥从不离开你的设备。 Termius 服务器只存加密后的密文,没有能力解密。
加密密码 vs 登录密码
Termius 有两个独立的密码:
| 登录密码 | 加密密码 | |
|---|---|---|
| 用途 | 验证你是谁 | 解密你的 Vaults 数据 |
| 存储位置 | Termius 服务器 | 仅你的设备内存中 |
| 能否找回 | 可以(通过邮箱重置) | 不能 |
| 传输方式 | 发送到服务器验证 | 从不发送 |
| 能否用 OAuth | 可以(Google 登录) | 不行 |
即使你用 Google 账号一键登录,还是必须单独设置一个加密密码——因为 Google OAuth 只解决「你是谁」的问题,不解决「加密 Vaults」的问题。
加密算法
Termius 使用的加密技术(官方安全白皮书公开):
- 对称加密:AES-256-GCM(同时提供机密性和完整性校验)
- 密钥派生:Argon2id(内存消耗型哈希,抗 GPU 暴力破解)
- 公钥加密:ECDH(用于团队 Vault 的密钥交换)
- 后量子加密:mlkem768x25519-sha256 密钥交换(9.25.0 版本起支持)
AES-256 是目前业界最高标准的对称加密,GCM 模式除了加密还能检测数据是否被篡改。Argon2id 是密码学竞赛中胜出的密钥派生函数,专门设计来让暴力破解代价极高。
加密密码的最佳实践
一定要存进密码管理器
加密密码丢失 = 数据永远找不回来。唯一的解法是重置账号(数据全部丢失)。所以:
- 注册完第一件事:把加密密码复制到密码管理器(1Password、Bitwarden、KeePass)
- 给 Termius 的条目加个备注说明「这是加密密码,不是登录密码」
- 不要写在便利贴或普通文本文件里
不要和登录密码相同
登录密码可能通过 Google OAuth 替代,加密密码是独立的安全防线。如果两个密码一样,意味着只要登录密码泄露,加密密码也泄露了。
长度优先于复杂度
Argon2id 对长密码的暴力破解能力下降极快。一个 16 字符的随机密码(Tr3mius$Vault!2026)比一个 8 字符但满是特殊字符的密码更安全。使用密码管理器生成的随机密码就好。
记住加密密码不会变
加密密码设置后只能重置(意味着数据丢失),不能修改或找回。设置前想清楚,一旦设好就不要再动它。
多设备使用
当你在第二台设备上登录同一个 Termius 账号时:
- 应用会要求输入加密密码
- 输入正确后,本地派生密钥,开始解密云同步的 Vaults 数据
- 之后这台设备上的数据也用同一个密钥保护
- 所有设备上的 Vaults 保持实时同步
每台设备独立存储自己解密后的本地缓存,但都用同一个加密密码保护。所以加密密码必须所有设备通用。
如果担心 Termius 自己有后门
这是一个合理的安全顾虑。目前可以确认的几点:
- 加密密码从不离开设备,Termius 服务器端没有解密能力
- 安全白皮书在官方网站公开
- 源码没有完全公开(这是商业软件的常见做法),但加密层有第三方审计历史
- 后量子加密支持是近年新增的,说明 Termius 在主动跟进安全前沿
最严格的安全场景下,可以考虑只用本地 Starter 功能(完全断开云同步)。但这样就浪费了 Termius 的核心价值。
继续「跨设备同步机制」了解 Vaults 如何在多设备间同步。