零知识同步详解
同步很有用。把密码交给远程机器则不然。OpenKey 将二者分开:你可以在手机、桌面和浏览器扩展间同步,而服务器始终只存储 密文。
此处的「零知识」含义
- 主密码留在设备上。客户端使用 Argon2id 从邮箱 + 主密码和盐派生主密钥。
- 登录发送
auth_hash— 足以证明你知道密码,却不足以恢复它。 - 保险库密钥 使用 AES-256-GCM 加密集合名称与条目载荷。服务器仅存储包装(加密)后的保险库密钥,从不存储明文密钥。
- 附件、组织名称和共享载荷在离开设备前已加密。同步 API 持久化不透明 blob;即使数据库被复制也无法解密。
服务器的用途
可选的 OpenKey 服务器是同步与认证面:
- 账户注册与登录(通过
auth_hash) - 推送 / 拉取加密保险库载荷(按每项
revision的最后写入获胜) - 组织与共享 — 静态存储时仍为密文
- 短期访问 JWT 以及哈希并轮换的刷新令牌
它 不是 重建你保险库的地方。若从未配置服务器 URL,应用仍可作为本地加密保险库使用。也 没有主密码恢复:若丢失,密文不可恢复 — 请保留离线备份。
局域网上的 Nearby
想在不上 PostgreSQL 的情况下多设备同步?Nearby(Pro)在本地 Wi‑Fi 上配对设备、链接共享保险库密钥,并以相同 LWW 规则在设备间同步密文。将配对与保险库链接视为完整保险库信任;它不能替代加密备份。
为何此模型重要
云密码管理器要求你信任其基础设施与运营方。OpenKey 只要求你信任 你的 主机(或你控制的 VPS)负责存储与可用性 — 而非机密。被盗数据库不等于被盗保险库。