从你输入密码到存进云端
中间隔着四道关口。
- ① 在你的设备上加密。密码这类内容用 AES-256 加密,服务端拿到的是加密结果。
- ② 登录和解密是两套东西。登录成功只证明你是账号本人,拿不到解密需要的东西。
- ③ 全程 HTTPS。所有请求都走 TLS,传输过程中不出现明文。
- ④ 云端只存密文。服务器保存的是加密结果,不会去解开新条目的秘密内容。
为什么我们也打不开你的密码
解开数据需要的东西,只在你的设备上生成和使用。服务器手里是加密后的数据,以及几份同样被加密过的密钥材料,没有你的 Secret Key 都打不开。用来校验登录的密码摘要也在服务端,但从摘要推不出解密需要的东西。
钥匙始终在你这边,所以 Secret Key 只能由你自己保管,也只能提前备份。
忘了密码,或者丢了 Secret Key
忘掉主密码不会丢数据。走「忘记密码」,用绑定的邮箱或手机收验证码,就能设一个新密码,账号里的内容不受影响。
真正需要你自己保管的是 Secret Key:它是解开云端密文的唯一钥匙,服务端不保存、也无法补发。提前备份好,换设备时随时都能恢复。
- 备份套件可以打印成纸质件,也可以导出成 PDF 或图片离线保存。
- 备份完成前,需要再输入一次 Secret Key 做逐字节比对。
- Secret Key 无法由我们读取、找回或重置。
用了哪些加密算法
| 用途 | 算法 |
|---|---|
| 对称加密 | AES-256 |
| 非对称加密 | ECIES(secp256k1) |
| 摘要 | SHA-256 |
| 密钥派生 | PBKDF2(从主密码派生) |
| 登录口令校验 | BCrypt(服务端) |
服务端能看到什么
逐类说清楚,方便你判断哪些内容适合放进来。
| 数据 | 服务端的情况 |
|---|---|
| 密码、密语这类秘密字段 | 只保存你设备加密后的内容,不会解开 |
| 早期版本保存的条目 | 里面有些不是密码的字段(比如日期、备注),服务端能读到。这是为了让旧版 App 还能打开它们 |
| 账号、条目名称和搜索用的辅助信息 | 保存的是加密或掩码后的数据。这部分不属于端到端加密的范围 |
我们收集什么,不收集什么
| 类别 | 说明 |
|---|---|
| 会收集 | 注册、登录、设备验证和同步所必需的最少信息,以及账号安全通知 |
| 不会收集 | 通讯录、位置、剪贴板内容;不接入任何第三方统计、广告或分析 SDK |
| 官网 | 不用追踪型 Cookie,不做行为画像,也不做再营销 |
接下来可以看