资讯动态

Ente Locker Legacy 数字继承与账户恢复指南:Trusted Contacts 与 Legacy Kits 完整解析

发布时间:2026/9/11 11:08:48 来源:尧图企业网站定制
Ente Locker Legacy 数字继承与账户恢复指南Trusted Contacts 与 Legacy Kits 完整解析【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente本文是一份基于 Ente 开源仓库官方 FAQ 文档整理的技术指南系统讲解 Ente Locker 的 Legacy数字继承与账户恢复体系包括 Trusted Contacts可信联系人与 Legacy Kits实体恢复套件两种恢复方案的工作原理、完整操作流程、等待期机制、安全模型并结合仓库源码服务端控制器、数据表结构、API 定义与测试用例深入剖析底层实现。读完本文你将掌握如何在 Ente Locker 中配置遗产恢复、发起与阻止恢复、理解 2-of-3 Shamir 秘密共享背后的密码学设计并能从源码层面验证每个环节的行为。一、Legacy 是什么Legacy 是 Ente 的数字继承与账户恢复系统帮助用户信任的人在其失去账户访问权限、丧失行为能力或不在人世时恢复其 Ente 账户。Ente Locker 提供两种 Legacy 方案Trusted contacts可信联系人另一位 Ente 用户可以在等待期waiting period结束后恢复你的账户。Legacy Kits恢复套件一组实体恢复卡recovery sheets在浏览器中组合任意两张即可发起账户恢复。两种方案都属于账户级account-level恢复工具不是条目共享item sharing、相册共享collection sharing也不是直接登录direct login。完成恢复后恢复者获得的是整个被恢复 Ente 账户的访问权限——它不局限于单个 Locker 条目、某个集合或某个特定应用的保险库。等待期结束后会发生什么当等待期结束且账户所有者未阻止恢复时恢复流程可以重置账户密码。密码重置完成后执行恢复的人即可访问被恢复的 Ente 账户。恢复过程中 2FA 会怎样在恢复的密码重置流程中Ente 会移除双因素认证two-factor authentication和 passkey 第二因素使恢复后的账户可以仅凭新密码访问。这是为了让恢复者可能没有原账户主的 2FA 设备能够顺利接管账户。Legacy 是否适用于所有 Ente 应用是的。Legacy 恢复的是你的整个 Ente 账户不限于 Locker 中的某个条目、集合或特定应用的保险库。二、Trusted Contacts可信联系人恢复Trusted Contacts 是同意协助恢复你账户的 Ente 用户。如果可信联系人发起恢复你会在等待期内收到通知并可以阻止该次尝试。可信联系人恢复的工作流程添加一个或多个可信联系人。可信联系人接受邀请accept the invite。需要时可信联系人发起账户恢复。等待期内 Ente 通知你。若你未阻止可信联系人可通过恢复流程重置账户密码。如何添加可信联系人移动端打开 Ente Locker。打开 Locker 菜单。点击Legacy。点击Add Trusted Contact。输入对方的 Ente 邮箱地址。等待对方接受邀请。该联系人必须已经拥有一个 Ente 账户。他们不需要有活跃订阅但必须有账户才能参与可信联系人恢复。接受邀请意味着对方确认理解自己的责任并同意参与他们也可以拒绝承担该责任。等待期选项你可以自定义可信联系的等待期有三个选项等待期说明7 天恢复更快但留给账户所有者发现并阻止的时间更短14 天折中方案30 天默认值对未经授权的恢复尝试提供更强的保护可在 Ente Locker 的 Legacy 页面配置。在服务端实现中等待期以小时为单位校验可信联系人紧急联系人恢复对应 server/pkg/controller/emergency/recovery_contact_test.go 中的RecoveryNoticeInDays: 7等字段。可以添加多个可信联系人吗可以。添加多个可信联系人后每个已接受的可信联系人都可以独立发起恢复只要你在等待期内未阻止其中任意一人即可完成恢复。你的 Legacy 页面会展示两类信息Trusted contacts可以恢复你账户的人。Legacy accounts你作为可信联系人所服务的账户。可信联系人如何发起恢复移动端打开 Ente Locker。打开 Locker 菜单。点击Legacy。在Legacy accounts下找到对应账户。点击该账户并确认恢复。账户所有者会立即收到通知。如何阻止一次可信联系人恢复尝试可以。在等待期内打开Legacy打开恢复警告recovery warning然后阻止该次尝试。阻止是即时生效的会终止该次恢复尝试。如果该尝试未经授权建议同时移除该可信联系人。如何移除可信联系人移动端打开 Ente Locker。打开 Locker 菜单。点击Legacy。点击该可信联系人。选择Remove。移除后对方立即失去发起恢复的能力。你可以随时添加或移除可信联系人如果在恢复进行中移除已发起恢复的可信联系人会阻止该次恢复尝试对方将无法完成恢复。恢复过程中会发送哪些通知可信联系人恢复发起时账户所有者收到一封电子邮件通知。账户所有者在应用内看到告警提示。可信联系人可以看到恢复状态。账户所有者还活着时可以发起恢复吗技术上可以但账户所有者会收到通知并可以阻止。仅在适当场景下发起恢复例如所有者丧失行为能力、已去世或主动请求帮助。服务端的紧急联系人恢复逻辑对会话参与方进行了严格校验从源码看server/pkg/controller/emergency/recovery_contact_test.go 中的多个测试用例TestApproveRecoveryRejectsSpoofedSessionPartiesBeforeUpdate、TestRejectRecoveryRejectsSpoofedSessionPartiesBeforeUpdate、TestStopRecoveryRejectsSpoofedSessionPartiesBeforeUpdate验证了伪造会话参与者会被拒绝返回ErrPermissionDenied且会话状态保持不变TestUpdateRecoveryNoticeRejectsActiveSession则验证了存在活跃恢复会话时不能修改等待期返回 HTTP 400ACTIVE_RECOVERY_SESSION。这些测试印证了恢复只能由真实可信联系人发起与恢复期间配置不可变更的语义。三、Legacy Kits实体恢复套件Legacy Kit 是为你的 Ente 账户创建的一组3 张实体恢复卡。同一套件中的任意 2 张即可在浏览器中发起账户恢复单张卡片是不够的。Legacy Kit 卡片不包含你的账户恢复密钥recovery key也不会直接让任何人登录你的账户。它们重构的是一个独立的套件密钥kit secret用于打开一个受限的scoped恢复会话。详细功能文档参见 Legacy Kits 功能说明 与 Legacy 功能总览。Legacy Kit 与可信联系人有什么区别维度Trusted ContactsLegacy Kits参与方另一位 Ente 用户任意持有卡片的人账户要求必须拥有 Ente 账户帮助者无需Ente 账户也无需安装 Ente形态数字身份关系实体卡片3 取 2使用方式在应用内发起使用卡片上印刷的恢复 URL在浏览器中操作Legacy Kit 的工作原理创建 Legacy Kit 时Ente 会生成一个独立的套件密钥并将其拆分为 3 份每张恢复卡包含一份。恢复时帮助者在浏览器中组合任意 2 张卡片浏览器在本地重构套件密钥打开受限恢复会话等待所选恢复时间然后通过密码重置流程完成账户恢复。服务器永远看不到套件密钥、卡片内容或你解密后的恢复密钥。拆分使用的是Shamir 的 2-of-3 秘密共享Shamirs 2-of-3 secret sharing。Legacy Kit 是该方案针对 Ente 账户的正式落地版本它在同样的 2-of-3 数学基础上增加了服务端中介、可撤销的恢复流程——这正是账户继承所需的能力。同一套 2-of-3 机制也以独立 Web 应用的形式提供参见 2of3 文档可用于任何基于文本的秘密无需 Ente 账户。如何创建 Legacy Kit移动端Legacy Kit 的创建和管理在Ente Locker 移动端中提供打开 Ente Locker。打开 Locker 菜单。点击Legacy。打开Legacy kits。点击Create legacy kit。为 3 张恢复卡命名。选择恢复等待时间。按提示完成身份认证authenticate。下载、打印或分享恢复卡。建议分开存放卡片。例如一张放在家中一张交给信任的家人一张放在律师处或其他安全场所。恢复等待时间选项每个套件可选择一种等待时间等待期说明Immediate立即适合自助恢复self-recovery但几乎没有时间发现并阻止未授权尝试1 天短等待7 天默认值15 天较长等待30 天最长等待适合继承场景所选的等待时间在恢复发起时生效。之后修改等待时间只影响未来的恢复尝试且恢复尝试进行中无法修改。这一语义在服务端有双重保障控制器层的validNoticePeriods白名单server/pkg/controller/legacy_kit/controller.go只允许0 / 24 / 168 / 360 / 720小时即立即、1 天、7 天、15 天、30 天五个取值同时测试用例验证了活跃会话存在时无法更新恢复通知期。如何使用 Legacy Kit 恢复账户Web帮助者不需要安装 Ente也不需要 Ente 账户打开恢复卡上印刷的恢复 URL。Ente Cloud 的卡片使用https://legacy.ente.com。添加同一套件中的任意 2 张卡片。跟随浏览器中的恢复流程。等待恢复尝试就绪。为账户设置新密码。自托管或自定义部署的恢复 URL 可能不同请使用卡片上印刷的 URL。服务端允许通过配置文件覆盖apps.legacy配置项对应恢复站点地址server/config/example.yaml 中默认值为http://localhost:3011若未配置控制器会回退到内置默认值https://legacy.ente.com见 server/pkg/controller/legacy_kit/controller.go 中的legacyURL()。如何管理 Legacy Kit移动端打开 Ente Locker。打开 Locker 菜单。点击Legacy。打开Legacy kits。点击某个套件。在套件页面可以再次下载恢复卡、在无活跃恢复时修改等待时间、删除套件或阻止活跃的恢复尝试。删除套件或阻止恢复会发生什么阻止恢复Block recovery取消当前活跃的恢复尝试但套件仍然可用——持有 2 张卡片的人之后仍可发起新的尝试。删除套件Delete kit使这些卡片在未来无法用于恢复同时阻止该套件任何待处理的活跃恢复尝试。可以创建多少个 Legacy Kit最多可创建5 个未删除的 Legacy Kit。已删除的套件不再计入限额。每个套件只允许一个活跃恢复尝试。服务端通过maxActiveLegacyKits 5常量限制server/pkg/controller/legacy_kit/controller.go并在创建套件时通过CreateKitWithLimit校验。Legacy Kit 的恢复详情是身份证明吗不是。恢复详情如使用的卡片编号、IP 地址、User-Agent只是审计提示audit hints不能证明谁实际持有了卡片。在服务端发起者信息UsedPartIndexes、IP、UserAgent被显式注释为审计提示而非授权原语见 server/ente/legacy_kit.go 中的LegacyKitRecoveryInitiator并作为追加式append-onlyJSON 记录在legacy_kit_recovery_session.initiators字段中见 server/migrations/121_create_legacy_kits.up.sql。打印 Legacy Kit 卡片前需要了解什么分开存放卡片。打印出来的卡片可能会显示人类可读的卡片名称因此避免使用敏感名称命名卡片。Legacy Kit 目前没有套件昵称kit nicknames或 Verify kit 流程套件标签基于 3 张卡片的名称。卡片的名称和存储的卡片载荷是加密的Ente 的服务器无法读取见legacy_kit表中的encrypted_owner_blob字段。所有者的恢复详情仅在恢复会话活跃期间可用。如果账户恢复密钥发生变更现有套件可能失效除非在未来版本中重新创建或重新封装rewrap。Legacy Kit 不会创建可信联系人关系也不会暂停不活跃账户的删除流程inactive-account deletion。恢复状态机从等待到完成服务端将恢复会话建模为明确的状态机定义于 server/ente/legacy_kit.go状态含义WAITING恢复已发起处于等待期内READY等待期结束可执行密码重置BLOCKED所有者阻止了恢复CANCELLED恢复被取消RECOVERED密码重置完成恢复成功在控制器中WAITING且剩余等待时间为 0 的会话会被动态转为READY见toRecoverySession()。数据库层通过部分唯一索引idx_legacy_kit_recovery_active_per_kit强制每个套件同一时刻只有一个活跃WAITING/READY会话的约束。恢复会话的令牌session token在服务端只存储哈希Base64url(SHA-256(raw token))挑战challenge同样只存哈希服务器从不持久化明文挑战或明文令牌见 server/migrations/121_create_legacy_kits.up.sql。服务端核心流程源码级Legacy Kit 的服务端能力由三部分构成API 层server/pkg/api/legacy_kit.go 定义了创建Create、列出List、下载内容DownloadContent、更新等待期UpdateRecoveryNotice、删除Delete、阻止恢复BlockRecovery、创建挑战CreateChallenge、打开恢复OpenRecovery、查询会话Session、获取恢复信息RecoveryInfo、初始化密码修改InitChangePassword与修改密码ChangePassword等全部 HTTP 端点。控制器层server/pkg/controller/legacy_kit/controller.go 实现业务逻辑包括套件变体校验当前仅支持 2-of-3 变体、等待期白名单校验、usedPartIndexes合法性校验必须恰好 2 个、取值 1–3 且不重复、挑战生成与密封、恢复会话的打开/恢复逻辑以及在会话创建与恢复完成时异步发送邮件通知。数据层server/migrations/121_create_legacy_kits.up.sql 定义了 4 张表legacy_kit套件本体、legacy_kit_challenge持卡证明挑战、legacy_kit_recovery_session恢复会话、legacy_kit_recovery_session_token会话令牌哈希。从源码结构看恢复的关键链路是卡片持有者通过恢复 URL 发起挑战challenge→ 用 2 张卡片重构的套件密钥对挑战签名证明密钥持有→ 打开恢复会话WAITING→ 等待期结束变为READY→ 获取加密的恢复密钥载荷encrypted_recovery_blob与用户密钥属性 → 通过 SRP 流程重置密码RecoverSrpAndKeyAttributes→ 会话标记为RECOVERED并通知所有者。整个过程服务端仅接触加密载荷真正的密钥重构全部发生在浏览器本地。四、安全模型与未授权恢复应对Legacy 是否安全Legacy 围绕延迟的、所有者可知情的恢复设计恢复开始时账户所有者会收到通知。等待期内可以阻止恢复。可信联系人必须是经过验证的 Ente 用户。Legacy Kit 要求 3 张卡片中的任意 2 张且卡片中不嵌入账户恢复密钥。卡片名称与载荷在服务端加密存储服务器无法读取。挑战与会话令牌在服务端仅以哈希形式保存降低数据库泄露带来的风险。有人未经授权试图恢复我的账户怎么办恢复开始时你会收到通知。打开 Ente Locker进入Legacy阻止该次恢复尝试。如果是可信联系人未经授权发起考虑移除该联系人。需要提醒的是Legacy Kit 发起恢复时Ente 会发送恢复开始与恢复完成两封邮件但延迟恢复变为就绪READY时目前不会单独发送邮件。因此建议把等待期作为你的主要防御窗口——时间越长越有机会发现并阻止未授权尝试。五、重要注意事项与典型使用场景重要注意事项Legacy 作用于你的 Ente 账户完成恢复后获得的是整个被恢复账户的访问权限。可信联系人必须是 Ente 用户Legacy Kit 则不需要帮助者拥有 Ente 账户。恢复可被阻止恢复发起时你会被通知并可在等待期内阻止未授权尝试。这不是共享日常需要向他人开放 Locker 条目或集合访问时请使用共享sharing功能参考 共享功能文档。典型使用场景数字继承Digital inheritance帮助家人在你身后恢复账户。紧急账户恢复Emergency account recovery丢失密码与恢复密钥时自助恢复访问。行为能力规划Incapacity planning确保在你无法响应时重要信息仍可恢复。业务连续性Business continuity在需要时保持关键账户访问的可恢复性。六、延伸阅读Legacy 功能总览Legacy Kits 详细指南加密机制说明账户安全 FAQ2of3 独立应用文档服务端实现API 层、控制器层、数据模型、数据表迁移【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价