首页
/ Ente Locker 使用指南:端到端加密的家庭重要信息保险库与数字遗产继承方案

Ente Locker 使用指南:端到端加密的家庭重要信息保险库与数字遗产继承方案

2026-09-11 10:52:10作者:滑思眉Philip

Ente Locker 是 ente 开源仓库中面向家庭与个人用户的一款端到端加密文档保险库应用,用于集中存储护照、财务记录、账户凭据、医疗档案等敏感信息,并提供信任联系人(Trusted Contacts)与 Legacy Kits 两套数字遗产继承机制。本文以 docs/docs/locker/index.md 为主线,结合仓库内移动端应用(mobile/apps/locker)、Rust 核心实现(rust/crates/legacy)与服务端接口(server/ente/legacy_kit.go)源码,完整讲解安装、注册、首件物品、家庭共享、Legacy 恢复与底层加密原理,读完即可上手部署一套面向全家的安全档案体系。

什么是 Ente Locker

Ente Locker 是 ente 提供的一个私密空间,用于存储、共享和传承你最重要的数字信息。它的核心承诺与 Ente Photos、Ente Auth 一致:端到端加密(End-to-End Encrypted),Ente 服务器永远无法看到你的数据

从仓库结构看,Locker 是一个独立的 Flutter 应用(mobile/apps/locker/lib),同时拥有 Web 端(web/apps/locker)、服务端支持(server/ente/legacy_kit.goserver/ente/kex.go)以及跨语言加密核心(rust/bindings/frbrust/bindings/wasm/legacy)。

官方说明 Locker 提供 iOS、Android 与 Web(locker.ente.com)三个平台,目前尚未提供原生桌面应用,这一点在 安装文档 中有明确说明。

该往 Locker 里放什么

官方文档建议将家庭关键信息从“文件柜”或“云盘”升级到 Locker 中,典型场景包括:

  • 身份证明文件:护照、身份证、驾照、出生证明
  • 财务记录:纳税申报单、对账单、合同、保险单
  • 账户凭据:你最不能丢失的重要账号信息
  • 医疗记录:保险卡、疫苗接种记录、处方
  • 实体文件位置登记:记录重要纸质文件的存放位置

核心特性总览

Legacy:确保家人能取回账户

Legacy 是 Locker 最具差异化的能力。官方文档明确强调:“No other encrypted storage app offers this.”(没有任何其他加密存储应用提供这一功能)。它解决的是“如果我不在了,家人如何取回我的加密账户”这一数字遗产难题,同时通过等待期(waiting period)与阻断机制防止未授权恢复。

Legacy 提供两种恢复途径:

  • 信任联系人(Trusted Contacts):指定另一位 Ente 用户,等待期后可代为恢复账户;
  • Legacy Kits(实体恢复套件):生成 3 张实体恢复纸,任意 2 张即可在浏览器中发起恢复,协助者无需 Ente 账号

两者都是账户级恢复工具,不是物品共享、集合共享或直接登录,这一点在 Legacy 文档 中有专门强调。

端到端加密

Locker 的所有数据在离开设备前完成加密,与 Ente Photos、Ente Auth 使用同一套加密体系。具体技术栈在 加密文档 中列明:XChaCha20 / XSalsa20 加密 + Poly1305 MAC 认证 + Argon2id 密钥派生,底层由 libsodium 实现。

集合与组织(Collections)

物品可归属于多个集合,方便按自己的习惯多维度归类,例如同一张护照扫描件可以同时出现在“身份证明”和“家庭文档”两个集合中。

安全共享(Secure Sharing)

  • 与其他 Ente 用户共享整个集合(注意:共享的粒度是集合而非单件物品);
  • 为单个物品或集合创建公开链接,任何人在浏览器中即可查看。

完全开源

Locker 与 ente 其他产品一样完全开源,任何人都可以审计其代码来验证安全声明。仓库内即可查看其 Flutter 客户端、Rust 加密核心与服务端实现。

Locker 与其他工具的定位分工

官方文档给出的分工建议非常清晰,Locker 是“补充”而非“取代”你现有的工具链:

工具 用途 Locker 的角色
密码管理器 日常账号与每日登录 存放最关键的账号(网银、主邮箱等),以防丢失访问权
Ente Photos 照片回忆 存放敏感文档扫描件(护照、税单)
Ente Auth TOTP 2FA 动态码 存放 2FA 备份码与恢复码
云盘 日常文件 存放不想被云服务商扫描的敏感文档

价格与配额

  • 免费版:最多 100 件物品 + 1GB 总存储
  • 付费版(任一 Ente 订阅):最多 1000 件物品 + 10GB 总存储

注意两个细节:

  1. Locker 的付费配额随任意 Ente Photos 订阅附带
  2. Locker 存储与 Photos 存储是相互独立的。

注册文档 看,“物品”的计数口径为:每份上传文档(PDF、图片、扫描件)、每条个人笔记、每组账户凭据、每条实体档案登记各算 1 件。当前用量可在 Settings > Storage 中查看。

面向谁

  • 家庭:组织重要文档,并确保意外情况下仍可访问;
  • 个人:需要一个存放敏感信息的安全空间;
  • 任何重视隐私、不希望云服务商扫描其文档的人

快速上手:安装与注册

安装

安装方式在 installation.md 中说明:

  • iOS/iPadOS:App Store 安装(应用 ID:ente-locker,ID 为 6747611956)
  • Android:Play Store(包名 io.ente.locker)、F-Droid(io.ente.locker.fdroid)或 GitHub Releases 直接下载 APK;直接从 GitHub 安装 APK 时,建议核对 APK 签名验证文档
  • Web:浏览器直接访问 locker.ente.com;旧的 locker.ente.io 地址会重定向到新域名,原有账号与密码继续可用

注册与登录

Locker 复用 Ente Photos / Ente Auth 的同一套账号体系(signup.md):

  1. 打开 Locker,点 Create account
  2. 输入邮箱、设置强密码;
  3. 通过邮件验证码验证邮箱;
  4. 务必保存恢复密钥(Recovery Key)——它是忘记密码后找回账户的主要途径,官方以 WARNING 级别提示:将恢复密钥存储在多个安全位置,并建议配置 Legacy 以便他人代为恢复。

恢复密钥是注册时生成的 24 个单词的短语。最佳实践:存入密码管理器、手写并存放在安全位置、多处留副本、绝不分享给任何人。

已有 Ente 账号的用户直接 Sign in 输入邮箱密码(如开启 2FA 再输入动态码)即可,Locker 数据与 Photos 数据相互隔离存储。

创建你的第一件物品

创建流程详见 first-document.md:点击底部 + 按钮,选择四种物品类型:

  • Document(文档):上传 PDF、图片、扫描件
  • Note(笔记):自由文本
  • Secret(凭据):用户名与密码
  • Thing(实体):登记实体文件的存放位置

以“上传文档”为例:选 Document → 从设备选择文件 → 填写描述性标题(如 "Passport Scan")→ 不选集合则归入 Uncategorized,或选择一个/多个集合 → Save

“添加 Secret”则填写 Name / Username / Password / Notes 四个字段后保存。

集合是 Locker 的组织与权限边界:物品可属于多个集合,创建时即可勾选;未分类物品后续可再归类。首页支持按标题搜索和按集合浏览。

家庭部署:六步搭建指南

family-setup.md 给出了完整的分步方案,核心是每人一个独立账号 + 共享集合 + 私有集合 + Legacy 恢复

第一步:为每位家庭成员建账号

  • 方案 A(免费账号):每人独立注册免费账号,各自获得 100 件/1GB 配额;务必帮家人保存恢复密钥,并在 Settings > Security 中启用锁屏保护。
  • 方案 B(Ente 家庭计划):已有 Ente Photos 订阅时,通过 Settings > Subscription > Manage family 邀请成员(该功能在 Photos 中管理,详见 family-plans 文档)。家庭成员共享 Photos 存储配额,并各自获得 Locker 的 1000 件/10GB 配额。建议将子女的恢复密钥以安全笔记形式存放在父母账号中。

第二步:规划集合结构

官方推荐的典型结构:

  • 共享集合:Family Documents(出生证、结婚证)、Medical(保险卡、疫苗记录)、Home(房产、按揭)、Vehicles(车辆登记)、Emergency Info(紧急联系人)
  • 个人集合:Personal IDs(护照、驾照、社保)、Financial(银行、信用卡)、Work(工作档案)、Passwords(个人凭据)

第三步:数字化并上传重要文档

使用手机相机或扫描应用生成清晰的图片/PDF,按“文件类型 → 描述性标题(如 'John Passport - Expires 2028')→ 归入集合 → 保存”的流程上传。官方清单覆盖身份、财务、医疗、法律四类关键文档(遗嘱、授权书、信托文件、地契等)。

第四步:与家人共享集合

在 Locker 中共享的是集合而非单件物品:打开集合 → 点共享按钮 → 选 Share with Ente user → 输入家人的 Ente 邮箱 → 确认共享。共享后该集合内全部物品对对方可见。单个物品的分享则通过 公开链接 实现。

推荐矩阵(摘自官方文档):

集合 共享对象
Family Documents 所有家庭成员
Medical 所有家庭成员
Home 成年人
Vehicles 成年人
Emergency Info 所有家庭成员
Kids' Documents 父母

第五步:配置 Legacy 账户恢复

  • 信任联系人:夫妻互为联系人、父母添加成年子女、子女添加父母或兄弟姐妹;
  • Legacy Kits:面向遗产继承规划,将 3 张恢复纸存放在彼此独立的信任位置。

第六步:创建紧急信息笔记

以 Personal Note 形式整理一份“家庭紧急信息”文档,内容涵盖紧急联系人、保险信息、医疗信息、重要位置(保险箱/家中保险柜/文件存放处)与财务联系人,并与所有成年成员共享。官方还提供了可直接套用的模板(见 family-setup.md)。

最后用官方清单自检:每人有独立账号、恢复密钥安全存放、锁屏已启用、集合分类完成、关键文档已上传、相关集合已共享、Legacy 已配置、紧急信息笔记已创建并共享、家人知晓应急访问方式。

深入解析:Legacy 信任联系人恢复机制

信任联系人恢复流程(legacy/index.md):

  1. 添加一位或多位信任联系人;
  2. 对方接受邀请(对方必须已是 Ente 用户);
  3. 需要时,联系人发起账户恢复;
  4. 等待期内 Ente 通知你本人;
  5. 若你不阻断,联系人可通过恢复流程重置账户密码。

等待期选项:7 天 / 14 天 / 30 天(默认)。官方建议:希望快速恢复选短等待期;更重视防未授权恢复则保留默认 30 天。

移动端添加信任联系人路径:打开 Locker → Locker 菜单 → LegacyAdd Trusted Contact → 输入对方邮箱。对方需在自己的 Ente 应用的 Legacy 页面接受邀请。你的 Legacy 页面会同时展示“可恢复你账户的信任联系人”和“你作为信任联系人的账户(Legacy accounts)”两类列表;移除联系人只需打开该联系人并选 Remove

阻断恢复:移动端进入 Legacy → 打开恢复警告 → 阻断该次恢复尝试。对信任联系人而言,阻断即终止该次恢复;对 Legacy Kit 而言,阻断仅终止当前激活的尝试,持 2 张纸的人仍可再次发起,除非删除整个 Kit。

深入解析:Legacy Kits 与 Shamir 2-of-3 秘密共享

Legacy Kits 是 ente 为账户继承定制的实体恢复方案(legacy-kits.md)。每个 Kit 生成 3 张恢复纸任意 2 张即可发起账户恢复,单张不够;协助者不需要 Ente 账号,也无需安装任何应用。

创建 Legacy Kit(移动端)

  1. 打开 Locker → Locker 菜单 → LegacyLegacy kits
  2. Create legacy kit
  3. 为 3 张恢复纸命名;
  4. 选择恢复等待时间;
  5. 按提示完成身份认证;
  6. 下载、打印或分享恢复纸。

建议将 3 张纸分开存放:家中留一张、信任的家人处一张、律师或另一安全地点一张。

等待时间选项:Immediate(立即)/ 1 天 / 7 天(默认) / 15 天 / 30 天。等待时间在恢复发起时被“固化”,之后修改只影响未来的恢复尝试,且恢复进行中不能修改。立即恢复适合自我恢复,但几乎没有阻断未授权尝试的时间窗口;遗产继承场景建议长等待期。

恢复流程(Web 端)

  1. 打开恢复纸上印刷的恢复 URL(Ente Cloud 为 legacy.ente.com;自托管部署的 URL 以纸面为准);
  2. 添加同一 Kit 的任意 2 张纸;
  3. 按浏览器引导完成恢复流程;
  4. 等待恢复尝试就绪;
  5. 为账户设置新密码。

管理 Legacy Kit

移动端:Legacy → Legacy kits → 点选 Kit,可重新下载恢复纸、在无激活恢复时修改等待时间、删除 Kit、阻断激活中的恢复尝试。最多可同时存在 5 个未删除的 Kit,删除后不再计数。

阻断与删除

  • Kit 恢复发起与完成时,Ente 都会发送邮件;但延迟恢复就绪时目前不会单独发邮件
  • Block recovery:取消当前激活的恢复尝试,Kit 仍可用;
  • Delete kit:禁用这些恢复纸并阻断该 Kit 挂起的恢复尝试;
  • 每个 Kit 同时只允许一个激活的恢复尝试

源码级原理:客户端分割与重构

Legacy Kits 的数学基础是 Shamir 2-of-3 秘密共享,其实现位于 rust/crates/legacy/src/kit/shares.rs

  • 分割(split_secret_2_of_3):将 32 字节的 Kit 秘密 secret 与随机斜率 slope 组合,对 x=1,2,3 计算 share_i = secret<a href="https://link.gitcode.com/i/1c45e156dc97428609ed7d8fc6caea19" target="_blank">i] XOR gf_mul(slope, x),得到 3 份共享(见 [shares.rs#L110-L128);
  • 重构(reconstruct_secret_2_of_3):取任意两份共享,先在 GF(256) 有限域上还原斜率再还原秘密,最后用 SHA-256 校验和验证恢复出的秘密与纸面校验一致(见 shares.rs#L130-L190);
  • 校验对(validate_share_pair):要求两份共享来自同一 Kit(kit_id 相同)且索引不同(见 shares.rs#L86-L94)。

关键设计(文档与源码双重印证):

  • 恢复纸不包含账户恢复密钥。纸面内容重建的是一个独立的 “kit secret”,它仅用于打开一个受限的恢复会话;
  • 服务器永远看不到 kit secret、纸面内容或解密后的恢复密钥——Kit 秘钥派生(derive_kit_encryption_key / derive_kit_auth_keypair,见 rust/crates/legacy/src/kit/mod.rs)全部在本地完成;
  • 恢复密钥只有在“足够的纸 + 等待期允许”后才在本地解密。

服务端侧,server/ente/legacy_kit.go 定义了完整的恢复会话状态机:WAITING → READY → BLOCKED / CANCELLED / RECOVERED(见 legacy_kit.go#L8-L14)。创建 Kit 时客户端提交 EncryptedRecoveryBlob(secretbox 加密的恢复密钥)、AuthPublicKey(由 kit secret 确定性派生的 X25519 公钥,用于会话鉴权)与 EncryptedOwnerBlob(持有者专属的纸面名称与载荷,服务端无法解读,见 legacy_kit.go#L20-L31)。

安全注意要点(摘自官方文档)

  • 同一 Kit 的两张纸即可发起恢复;
  • 纸面不包含账户恢复密钥;
  • 纸面名称与存储载荷均加密,Ente 服务器无法读取;但打印的纸会显示可读的纸面名称,因此避免使用敏感名称;
  • 持有者恢复详情仅在恢复会话激活期间可见;
  • 恢复审计信息(使用的纸序号、IP、UA)只是提示线索,不能证明身份;
  • Legacy Kits 不建立信任联系人关系,也不暂停非活跃账户删除流程;
  • 若账户恢复密钥发生变化,已有 Kit 可能在未重建/未重包装前失效(未来版本会解决);
  • 2-of-3 数学方案同时以独立 Web 应用形式开源为 2of3twoof3 应用源码),无需 Ente 账号即可用于任意文本秘密。

加密体系与密钥模型

encryption.md 对加密流程的说明如下:

  1. 你创建或编辑物品;
  2. 设备用你的加密密钥加密数据;
  3. 密文上传至 Ente 服务器;
  4. 需要时下载回设备;
  5. 设备本地解密供查看。

加密范围覆盖一切:物品标题与内容、上传文件、集合名称、元数据、共享信息。

密钥模型:

  • 密码(Password):保护账户本身,须使用强且唯一的密码;
  • 恢复密钥(Recovery Key):24 词短语,忘记密码时的恢复凭据;丢失后只能通过已配置的 Legacy 恢复 找回;
  • 集合密钥(Collection Keys):每个集合独立的加密密钥,实现“安全共享而不暴露主密钥”。

技术细节:XChaCha20 / XSalsa20 流加密 + Poly1305 MAC 认证 + Argon2id 密钥派生,全部基于 libsodium 实现(对应 Rust 侧实现见 rust/crates/corecli 加密工具)。官方文档同时说明该加密方案已经过德国安全公司 Cure53 的审计。

从源码构建 Locker(可选)

仓库提供了完整的从源码构建流程(mobile/apps/locker/README.md):

  1. 安装 Flutter v3.47.2Rust
  2. mobile/ 内任意目录执行 flutter pub get --enforce-lockfile 安装工作区依赖;
  3. rust/ 下执行 cargo codegen frb 生成 Rust 绑定(FRB 导出面变更后需重新执行);
  4. 运行应用:
    • Android:flutter run --flavor independent
    • iOS:flutter run

发布构建:flutter build apk --release --flavor independent(需先配置 keystore)与 flutter build ios。iOS 依赖更新后需在 ios/ 下执行 pod install

变更记录与帮助渠道

最新变更见 changelog.md。官方提供的帮助渠道包括:完整文档(Getting Started、Features、Legacy、FAQ)、Discord 社区、邮件 support@ente.com,以及 GitHub Issues 提交 bug 与功能请求;安全问题请直接发送至 security@ente.com。

总结

Ente Locker 以“端到端加密 + 数字遗产继承”双核心,将家庭重要信息的存储、共享与传承整合进统一产品:日常用集合组织与共享,意外来临时通过信任联系人或 Shamir 2-of-3 的 Legacy Kits 完成账户恢复。无论是个人敏感档案归档,还是全家规模的应急预案,均可按官方六步指南在数小时内完成部署。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.16 K
2.78 K
kernelkernel
deepin linux kernel
C
34
18
docsdocs
暂无描述
Markdown
904
5.83 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
932
1.86 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
862
1.36 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.95 K
1.03 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.38 K
1.47 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
535
606
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
549
398
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Markdown
77
23