端到端加密云同步
TL;DR:CookieVault 加密 Cookie 同步采用 libsodium 的 XChaCha20-Poly1305 与 Argon2id 派生密钥。你的 Cookie 在离开浏览器之前就在设备上加密,同步服务器只存储不透明的密文 —— 连 CookieVault 工程师也无法解密的密文。这是一项 Pro 级、零知识功能。
端到端加密 Cookie 同步是一种零知识机制,让你的 Cookie 在多台设备间保持一致,同时确保云服务器只存储无法解密的密文。你的口令在你自己的设备上用 Argon2id 派生出加密密钥;该密钥绝不接触 CookieVault 的基础设施,这意味着无论是我们的工程师、一次服务器入侵,还是一项法律要求,都无法揭示你的 Cookie。它是 CookieVault Editor 与 CookieVault Guardian 共享的 Pro 层骨干,且密码学边界开源,所以这个声明是可验证的,而非口头承诺。
加密如何工作
简而言之:你的口令在设备上经过 Argon2id(内存硬密钥派生)生成主密钥。随后每条 Cookie 记录在离开浏览器之前用 libsodium 的 XChaCha20-Poly1305 封装。服务器只收到密文和一个认证标签;它从不见到密钥。
整条流水线刻意由经过良好审查的原语构成,而非自制密码学。Argon2id 是赢得密码哈希竞赛的内存硬算法,之所以选它,正是因为它能抵抗针对人类可记忆口令的 GPU 与 ASIC 暴力破解。XChaCha20-Poly1305 是一种带 192 位扩展 nonce 的认证加密构造 —— 宽到足以随机选取 nonce 而无实际碰撞风险,这消除了一整类实现层面的暗坑。
六个属性定义了该设计:
- 客户端密钥派生 —— Argon2id 在你的设备上把口令变成密钥;密钥绝不传输或存于服务器
- 逐记录加密 —— 每个 Cookie 用 XChaCha20-Poly1305 单独封装,因此单个损坏的块绝不会污染整个保险库
- 认证密文 —— Poly1305 标签可检测任何篡改,被改动的块会被拒绝,而不是悄悄解密成垃圾
- 每设备子密钥 —— 每个浏览器派生一个快速解锁子密钥,无需在每个同步周期重跑完整的 Argon2id 成本
- 仅存密文 —— 同步服务器持久化的是不透明块加上最少的路由元数据,绝无明文
- 开放的密码学边界 —— 派生、加密与同步客户端代码公开,因此数据路径可审计
应用密码学中一条广为接受的原则是:你应该在上传前加密,而不是信任服务器替你加密。这正是 CookieVault 强制的边界:浏览器是明文唯一存在过的地方。
威胁模型
简而言之:我们假设服务器可被完全攻陷,并据此设计到「这不重要」。服务器入侵、网络拦截和传票,都归结为「攻击者拿到密文」。唯一会暴露明文的场景,是攻击者控制了你已解锁的设备 —— 这是任何同步系统都无法防御的。
Cookie 是持有者令牌:谁持有有效的会话 Cookie,对目标站点而言,谁就是你。浏览器文档明确指出 Cookie 承载会话标识符与认证状态1,这正是为何把它们以明文同步给任何第三方都是鲁莽之举。威胁模型严肃对待这一点。
| 威胁场景 | 攻击者看到的 | 结果 |
|---|---|---|
| 同步服务器被完全攻陷 | 不透明的 XChaCha20 密文 | 无可用 Cookie;服务器上没有密钥 |
| 网络中间人 | TLS 包裹的密文 | 双重保护;无可读之物 |
| 法律要求 / 传票 | 仅存储的密文 | 没有可解密的东西可交 |
| 恶意内部人员 | 与所有人相同的密文 | 零知识意味着不存在任何特权访问 |
| 被盗、已锁定的设备 | 加密的本地保险库 | 需要你的口令才能解锁 |
| 被盗、已解锁的设备 | 解锁后的明文 | 超出范围 —— 请保护好设备级访问 |
诚实的边界是最后一行:端到端加密保护传输中和服务器静态存储的数据,而不是一个已经坐在你已解锁浏览器前的攻击者。对此你依赖设备登录、全盘加密和锁屏 —— 这些防御位于扩展之下。
免费版 vs Pro 版
简而言之:所有本地 Cookie 工作永久免费。加密跨设备同步是 Pro 功能(4 美元/月或 36 美元/年),因为它是唯一需要服务器基础设施的能力。保护你数据的密码学,与所在层级无关,始终一致。
| 能力 | 免费版 | Pro 版(4 美元/月或 36 美元/年) |
|---|---|---|
| 本地 Cookie 查看 / 编辑 / 删除 | 是 | 是 |
| 本地导出(JSON / Netscape / HAR) | 是 | 是 |
| 关闭标签页自动删除(Guardian) | 是 | 是 |
| 跨设备加密同步 | 否 | 是 |
| 可撤销的 Cookie 历史(30 天) | 否 | 是 |
| 加密的档案同步 | 否 | 是 |
| 零知识架构 | 不适用(本地) | 是 |
只有当你使用多台设备并想让它们保持同步、或想要 Cookie 历史撤销这道安全网时,Pro 才值得付费。单设备、纯本地的用户免费获得整套核心工作流。完整的免费 / Pro / Team 明细见 定价页。
如何设置加密同步
- 从 下载页 安装 CookieVault(Editor、Guardian 或两者)
- 打开扩展弹窗,点击「Enable sync」
- 用你的邮箱 创建 Pro 账户 —— 这只处理计费与路由,绝不涉及你的密钥
- 选一个强口令并存进密码管理器;这是唯一能解密你数据的东西
- 确认设备端密钥派生运行(Argon2id 工作时弹窗会显示「deriving key…」)
- 等待首次加密快照上传 —— 所有选中的 Cookie 在传输前被封装
- 在第二台设备上安装 CookieVault,输入相同口令在本地派生出相同密钥
- 核对同步指示灯在两台设备上都变绿;变化的记录现在以加密块复制
如果你更改口令,每台设备都会重新派生新密钥,并在下次推送前重新加密其本地保险库。不存在服务器端重新加密,因为服务器没有可用的密钥。
审计与可验证性
简而言之:加密代码开源且可复现构建,因此数据路径今天就可验证。密码学栈的第三方独立审计安排在 2026 年第三季度,报告及任何发现将全文公布。
「相信我」式的安全不是安全。由于派生、加密与同步客户端代码位于公开的 MIT 许可仓库中,任何人都能确认密钥从不离开设备、且只有密文抵达服务器。Chrome 的扩展模型进一步约束了扩展能触碰的范围2,而 Cookie 是通过官方浏览器 Cookie API1 读写的,而非任何私有通道。计划中的外部审计意在增加第二双独立的眼睛;报告落地时我们会从 安全页 链接出去。
另见
- CookieVault Editor —— 使用本同步引擎的 Cookie 编辑器
- CookieVault Guardian —— 共享同一 Pro 同步的自动删除扩展
- 安全 —— 完整的端到端加密设计与威胁模型
- 开源 —— MIT 许可、公开的密码学边界、可复现构建
- 多账号档案 —— 以同样方式同步的加密档案快照
- 定价 —— 免费 / Pro / Team 明细
Footnotes
-
浏览器 Cookie 存储(含会话与认证 Cookie)由 MDN 记载于 https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies。CookieVault 只通过官方浏览器 Cookie API 读写 Cookie。 ↩ ↩2
-
Chrome 扩展的 cookies API 及其权限模型记载于 https://developer.chrome.com/docs/extensions/reference/api/cookies,它定义了扩展可用来访问浏览器 Cookie 存储的唯一接口。 ↩