设计上,我们就看不见你的数据。

零知识不是一句承诺,而是结构:解密所需的东西从不到达我们的服务器。下面是它具体怎么做到的。

当前状态 MimiKey 尚未经过独立第三方安全审计。本页描述的是现在的设计与实现;审计完成后会在这里更新。

数据离开设备之前,就已经是密文。

条目在你的设备上加密成信封,再上传。服务器负责保存和转发,但手里没有能打开信封的钥匙。

你的设备

主密码和 Secret Key 在这里派生出密钥,条目在这里加密和解密。

GitHub
lin@example.com
••••••••

加密信封

每条记录整体加密:标题、网址、账号、密码、备注都在里面。

XChaCha20-Poly1305
  • 随机数 24 字节
  • 密文
  • 认证标签

MimiKey 服务器

只保存和同步密文。

服务器保存的

  • 邮箱与账号状态
  • SRP 盐与登录验证器(推不出主密码)
  • 条目密文
  • 设备公钥

服务器永远拿不到的

  • 主密码
  • Secret Key
  • 保险库密钥
  • 任何一条条目的明文

服务器能看到的元数据:条目数量、密文长度和修改时间。

两把钥匙,缺一不可。

加密密钥由主密码和 Secret Key 一起派生。主密码是你记住的,Secret Key 是设备生成、只在你手里的 128 位随机数。

  • 主密码
  • Secret Key
  • 账号盐
Argon2id
64 MiB 内存 · 3 次迭代
  • 登录验证材料
    用于 SRP 登录
  • 保险库密钥
    加密你的条目
  • 身份密钥
    接收共享库
三份材料各自走独立的派生域,互相推导不出来。

登录时,密码从不发送。

设备用 SRP-6a 协议向服务器证明你知道主密码,服务器也向设备证明自己持有验证器。整个过程中密码不出设备,截获的流量也无法拿去重放。

为什么还要一把 Secret Key?

只有主密码时,泄露的服务器数据可以被拿去离线猜密码。加上 128 位的 Secret Key,这条路就走不通了。它在注册时生成一次,保存在你的设备和应急包里。

加密细节

全部是公开、经过广泛审视的算法,核心实现在 Rust 里,各端共用一套。

用途算法说明
条目加密XChaCha20-Poly1305每条记录用独立子密钥加密,附加数据绑定库、条目与版本号,密文无法被挪到别的条目或库里使用。
密钥派生Argon2id + HKDF-SHA25664 MiB、3 次迭代拖慢暴力破解;HKDF 做域分隔,派生出互不相关的子密钥。
账号登录SRP-6a2048 位群、SHA-256。服务器只存验证器,双向认证。
共享库X25519 密封盒库密钥用成员的身份公钥加密后交付,绑定库与接收人,不能被转交他人。
签名Ed25519设备身份与第三方授权请求的签名,防伪造与重放。
通行密钥ES256(P-256)私钥作为条目整体加密保存,只在你的设备上签名。

在设备上,也守着同一条线。

Secure Enclave 与生物识别

开启 Touch ID 或面容 ID 解锁后,解锁材料由 Secure Enclave 里的密钥保护,换一台设备就用不了。

5 分钟自动锁定

闲置 5 分钟后保险库自动锁定,再看任何条目都要重新验证。

剪贴板 30 秒清除

复制的密码和验证码 30 秒后清除;如果你已经复制了别的内容,MimiKey 不会动它。

设备随时吊销

吊销立即生效,被吊销的设备再也拿不到新的密文。最后一台设备不能被吊销,避免把自己锁在门外。

Web 保险库:Secret Key 只保存在这台浏览器里,主密码从不落盘。

AI 和第三方 App,只拿到你批准的那一条。

接入 MimiKey 的应用不能直接读你的保险库。每一次使用都要经过 MimiKey 自己的批准卡。

  • 批准卡只在 MimiKey 里显示

    授权、选条目、新建、修改,所有需要你拍板的界面都由 MimiKey 自己的进程渲染。接入方无法伪造,也无法替你点击。

  • 结果密封给这一次授权

    你批准的那一条,会被加密给这台设备上的这次授权。服务器转交的是密文,其他 App 截获回调也打不开。

  • 看不到列表,也看不到其他条目

    接入方拿不到条目清单、主密码或 Secret Key。新建条目时,密码在 MimiKey 里输入。

  • 随时收回

    在 MimiKey 里撤销授权后,对方持有的令牌立即失效。

批准卡如何工作

还没做到的,也写在这里。

  • 独立第三方安全审计尚未完成。
  • Web 保险库依赖服务器下发的网页代码;如果服务器被攻破,网页可能被替换。日常使用更推荐原生客户端。
  • 登录目前使用 SRP;更强的 OPAQUE 协议在计划中。
  • 吊销设备不能让它忘掉已经解密过的内容。
阅读完整安全模型

把密码交还给你自己。

免费注册,在你的每一台设备上用起来。