Terminus(Olares)LarePass 身份钱包深度解析:DID、Olares ID 与可验证凭证的管理体系 云原生后端运维【免费下载链接】TerminusOpen-Source Personal Cloud OS for Always-On Agents项目地址https://gitcode.com/gh_mirrors/terminus2/Terminus点击查看免费下载本文基于 Terminus 开源仓库中的概念文档 Identity Wallet App系统讲解 Olares 生态中数字身份钱包Identity Wallet的定位与能力边界LarePass 如何承载去中心化标识符DID、Olares ID 与可验证凭证VC的全生命周期管理以及 Mnemonic 备份、多 DID 管理、VC 签发与出示等核心机制。读完本文你将理解 Olares 身份体系的三层结构Mnemonic → DID → Olares ID并能对照仓库源码确认其密钥派生与 VC 交互的真实实现路径。一、为什么需要数字身份钱包数字身份钱包Digital Identity Wallet是自主权身份Self-Sovereign IdentitySSI生态中的基础工具它让用户在没有中心化机构参与身份认证与数据共享的前提下自行管理 DID、凭证以及与数字服务的交互。在 OlaresTerminus 项目所构建的分布式自托管操作系统中这一角色由LarePass承担。LarePass 是 Olares 的官方身份钱包客户端基于 Olares ID 提供以下核心能力安全地生成与托管 DID 的密钥材料创建、绑定、备份和恢复 Olares ID在多台设备iOS / Android / 桌面 / Chrome 扩展之间同步身份管理绑定在 Olares ID 上的可验证凭证支持签名、验证、发现与出示。LarePass 目前提供多端客户端iOS、Android、macOS、Windows、LinuxBeta仅支持 x86_64 图形桌面环境以及 Chrome 浏览器扩展详见 Download LarePass。二、Olares ID把 DID 变得可用2.1 Olares ID 的结构与域类型Olares ID 是 Olares 生态中身份与信任的基础其格式与邮箱一致由本地名local name与域domain两部分组成例如alice123olares.com中alice123是本地名olares.com是域。本地名在同一域内唯一且用户名部分要求8–24 个字符。Olares 中定义了三种域类型域类型用途约束Individual domain个人使用类似个人邮箱个人用户默认使用olares.com域Organizational domain组织使用类似企业邮箱域名长度 2–24 字符用户加入组织后可申请该域下的 Olares ID离开组织时管理员可吊销Entity domain无法归入个人或组织的应用及其他实体—绑定 Olares ID 后系统会自动派生一组个人域名例如 Olares ID 为alice123olares.com时会分配alice123.olares.com个人主页、desktop.alice123.olares.com桌面入口、files.alice123.olares.com文件应用入口且 Olares 域自带免费 HTTPS 证书。这些规则详见 Olares ID。2.2 账号的三个阶段wallet.md 提到用户创建 Olares 账号时会先生成 DID再绑定到新的 Olares ID这一过程对应账号系统的阶段模型见 Olares account systemDID 阶段未绑定 Olares ID本地已生成 Mnemonic、私钥与 DID但尚无 Olares ID。此阶段可以导出/备份 Mnemonic、在 Olares Space 中申请组织域名但还不能把账号导入其他 LarePass 客户端。已绑定 Olares ID系统把 Olares ID 与 DID 的绑定关系记录到区块链上。此时可以导出 Mnemonic 将账号导入其他设备实现跨应用统一认证并可在 Olares Space 中请求、激活 Olares。已绑定 Olares账号关联到具体设备获得对系统资源监控等完整生态能力。三、密钥与 DID 的源码级实现3.1 从 Mnemonic 到 DID 的派生链概念文档 DID 给出的派生序列为Mnemonic → Private Key → Public Key → DID仓库中的 CLI 引导wizard模块完整实现了这条链路核心文件是 did_key_utils.goMnemonic 生成GenerateMnemonic()通过bip39.NewEntropy(128)生成 128 位熵再转换为12 词助记词did_key_utils.go。这就是文档中反复强调12-word mnemonic phrase的来源。HD 钱包推导NewHDWalletFromMnemonic()先用bip39.IsMnemonicValid校验助记词再以bip39.NewSeed生成 64 字节种子getMasterNode()按 BIP32 规则以ed25519 seed为 HMAC-SHA512 的 key 对种子求哈希前 32 字节作为 Ed25519 私钥种子、后 32 字节作为 chain codedid_key_utils.go。DID:key 构造createDIDFromPublicKey()将 Ed25519 multicodec 标识0xedED25519_CODEC_ID常量与公钥拼接后经 base58btc 编码最终生成did:key:z编码结果形式的 DIDdid_key_utils.go。JWK 封装GetPrivateJWKTrustWalletCore()把公私钥封装为 OKP/Ed25519 的 JWKALG: EdDSA其KID形如did#zmulticodec 编码的公钥用于后续的 JWS 签名did_key_utils.go。对外暴露的便捷入口GetDID(mnemonic)、GetPrivateJWK(mnemonic)、GetPublicJWK(mnemonic)表明只要持有 Mnemonic即可在任何一端移动端、桌面端、CLI确定性重建同一套 DID 与密钥——这正是跨设备导入账号只需 12 个单词的底层原理。3.2 账号激活时的绑定流程auth.go 中的UserBindTerminus()展示了 Mnemonic 如何在设备绑定场景中使用以 Mnemonic 与 Olares 名称初始化全局存储InitializeGlobalStores由 Mnemonic 恢复 DID通过 BFL 网关完成第一因子认证auth.FirstFactor获取会话 token走 SSI 认证AuthTypeSSIAuthPurposeSignup用globalUserStore.SignJWS()对{name, did, domain, time}载荷做签名携带 DID、Mnemonic作为 master password、JWS、token 调用app.Signup()完成注册服务端返回 MFA 种子并保存在本地 UserStore供后续两步验证使用auth.go。从源码结构看MFA 种子与 Mnemonic 的本地安全存储对应了 多因子认证 中LarePass 生成一次性验证码的设计。四、Olares ID 管理创建、备份与多身份wallet.md 列出的 Olares ID 管理功能在仓库文档中均有落地细节4.1 快速创建 vs 高级创建快速创建Quick creation直接选取一个满足 8–24 字符规则且可用的名称不做 VC 绑定速度最快高级创建Advanced creation通过可验证凭证把已受信任的现实身份如邮箱账号与 Olares ID 建立密码学关联。流程是通过 OAuth 提供方完成用户鉴权 → 在社交身份与 Olares DID 之间创建密码学链接。目前验证通道为 Google OAuth文档中亦提及通过 Gmail Issuer 服务完成 VC 绑定。前端实现印证了这一流程。google.ts 中googleLogin()依次执行从 SSI store 拉取Google的ClientSchemaget_application_schema(Google)其中包含manifest与application_verifiable_credential调用原生插件LarePassSocialLogin完成 Google 登录scope 为email取得idToken用getSubmitApplicationJWS()以用户 DID 和私钥 JWK 对 manifest、VC 类型与idToken构造 JWS将 JWS可选附加 domainPOST 到/get_google_info/服务端返回verifiableCredentials[0]即最终绑定到该 DID 的 Google 类型 VC。4.2 Mnemonic 备份/导入账号恢复的唯一路径12 词 Mnemonic 是恢复 Olares ID 的唯一手段。Back up mnemonic phrase 说明首次导出时会被要求设置LarePass 本地密码仅用于解锁本机 LarePass 服务同设备多个 Olares ID 共享一个本地密码不同设备相互独立并可启用指纹/人脸等生物识别解锁备份路径为Settings LarePass settings Safety Mnemonic phrase查看需输入本地密码官方强烈建议离线抄写而非使用剪贴板丢失 Mnemonic 的后果是失去 DID 与 Olares ID 的所有权以及 Vault 数据的访问权在设备端删除账号前必须先完成 Mnemonic 备份LarePass 会阻止未备份账号的删除见 Manage accounts in LarePass。导入侧无论移动端、桌面端还是 Chrome 扩展操作路径一致头像 → Switch account → Add account → Import account → 输入 12 词 Mnemonicmanage-accounts.md。桌面端与 Chrome 扩展也可从此入口管理、删除账号。4.3 多 DID / 多 Olares ID 管理LarePass 支持在单一客户端内托管多个 DID/Olares ID并随时通过 Switch account 页面切换。移动端可从主界面左上角头像或创建账号过程中右上角图标进入切换页桌面端从左上角头像进入Chrome 扩展则在右下角头像处选择。同一设备上多个 Olares ID 共享一个本地密码这一约束意味着本地密码一旦遗忘会影响该设备上全部身份应妥善保管。五、VC 管理Issuer、Holder、Verifier 三角色模型wallet.md 指出LarePass 让用户管理绑定在 Olares ID 上的 VC并通过**签名signing、验证verification、发现discovery、出示presentation**四类过程与 VC 交互。其背后的角色与流程定义在 Verifiable CredentialIssuer签发方对主体做出断言claims并创建 VC 发送给持有者。例如 Gmail Issuer 服务就是 Google 邮箱类 VC 的签发方。Holder持有者持有并出示 VC 的实体即使用 LarePass 保管凭证的用户。Verifier验证方通过 Presentation Definition 声明所需凭证、并对出示做验签的一方。完整的验证过程包含六个步骤Issuer 在 DID Registry 注册 → Holder 向 Issuer 提交签发申请 → Issuer 签发 VC → Holder 安全存入钱包 → Holder 把封装 VC 的Verifiable PresentationVP发给 Verifier → Verifier 通过 DID Registry 校验 VC 与 VP 的签名完成验证。注意VC 本身不上链上链的是 DID 与 Olares ID 的绑定关系。5.1 前端与 VC/DID 服务端的真实接口ssi.ts 中的 Pinia store 暴露了 LarePass 与身份服务端通信的全部端点可以视为钱包发现与出示能力的接口清单方法端点职责pre_did_register(jws)POST/create_local本地 DID 注册DID 阶段get_name_by_did(did)GET/get_name_by_did/did按 DID 反查名称resolve_did(did)GET/1.0/identifiers/did解析 DID 文档resolve_name(name)GET/1.0/name/name按名称 替换为 .解析get_application_schema(type)GET/get_application_schema/type获取某 VC 类型的签发 schemaget_application_response(id)GET/get_application_response/id轮询 VC 签发结果get_presentation_definition(type)GET/get_presentation_definition/type获取出示定义Verifier 侧要求submit_presentation(jws, address, domain)POST/submit_presentation提交签名的 Verifiable Presentationjoin_organization(jws)POST/olaresid/join_org以 JWS 申请加入组织域其中didInstance()与vcInstance()分别指向 DID 网关与 VC 服务二者按用户语言/区域cn/en等从GolbalHost.DID_GATE_URL、GolbalHost.VC选择端点ssi.ts并统一注入User-Agent头。从源码结构看submit_presentation的address参数即 Verifier 的地址与 vc.md 中Holder 向 Verifier 发送 VP的描述一一对应。六、安全边界与设计约束结合 wallet.md 及其引用的周边文档LarePass 身份钱包的安全模型可以归纳为几条硬约束私钥永不离开钱包DID 派生与 JWS 签名都在客户端完成如GetPrivateJWK、SignJWS服务端只接收签名结果Mnemonic 是唯一恢复凭据没有中心化忘记密码通道因此系统强制先备份、后删除本地密码 生物识别是设备侧的第二道门查看 Mnemonic、解锁钱包操作都受其保护VC 与 DID 分层Olares ID 绑定关系上链保证可验证性VC 本体保存在钱包中、按需出示避免隐私数据全局公开。延伸阅读Olares ID 概念DID 概念Verifiable Credential 概念Olares 账号系统在 LarePass 中创建 Olares ID备份 MnemonicLarePass 多端下载与安装LarePass 浏览器扩展安装赞分享云原生后端运维【免费下载链接】TerminusOpen-Source Personal Cloud OS for Always-On Agents项目地址https://gitcode.com/gh_mirrors/terminus2/Terminus点击查看免费下载相关推荐Olares ID 可验证凭证实战用 Issuer/Verifier 服务把 Web2 身份安全映射到去中心化 DIDOlares ID 可验证凭证实战用 Issuer/Verifier 服务把 Web2 身份安全映射到去中心化 DID 导读 本文以 Olares 项目中 O云原生后端运维Terminus Olares ID 可验证凭证签发服务Issuer详解从 Credential Manifest 到 VC 签发全流程Terminus Olares ID 可验证凭证签发服务Issuer详解从 Credential Manifest 到 VC 签发全流程 本篇技术指南围绕云原生后端运维Terminus 中 Olares Router 的架构与身份机制:AI 网关、Model Console 与双平面凭证模型Terminus 中 Olares Router 的架构与身份机制:AI 网关、Model Console 与双平面凭证模型 本文以 olares router云原生后端运维创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考