数字信任 · 双端 Web2026

Trust Console × Credential Wallet

DID / VC 双端平台

让各类签发方(比如医院、大学)对事实签名,让个人自己持有凭证、按需组合字段,再由验证方(比如企业人事)实时核验来源、完整性、有效期与当前状态。
MY ROLE产品架构 / 全栈开发 / 密码工程 / 安全评估
TRUST NETWORK / EXHIBIT 01一份证明,只签发一次;
一次使用,只披露所需。

签发方负责证明事实,个人负责持有凭证,验证方负责核验结果。

ISSUER 01签发方 A例如学历 VC
ISSUER 02签发方 B例如体检 VC
HOLDER / SELF-CUSTODY张三的钱包多 VC · 最小披露 · 本地签名
VERIFIER验证方例如企业人事
THE PROBLEM / 张三的文件袋张三(化名)· 一位普通求职者

一次面试,为什么要背着一整袋人生证明?

为了完成入职核验,张三可能要准备户口本复印件、身份证复印件、学位证书、毕业证书、体检报告,以及其他岗位要求的证明材料。少带一张就可能来回补交;原件和复印件还会遗失、破损、被重复留存。证明一旦损坏或丢失,他还要联系原签发机构,等待重新开具。

01户口本复印件02身份证明03学位证书04毕业证书05体检报告06其他岗位证明
OUR ANSWER / 从文件袋到信证钱包
一次签发,个人持有,按需组合,跨组织验证,状态可查。

DID / VC 双端平台把散落的纸质证明转化为由可信机构签名、由个人钱包持有、由验证方按需核验的数字凭证。当签发方完成数字化接入后,张三无需反复搬运整套材料,只需从钱包中选择本次业务真正需要的字段,生成一次定向、可验证的数字出示。

01

不再携带整袋材料

凭证随钱包持有,减少忘带、遗失、破损和重复补交。

02

不再过度暴露信息

验证方需要什么,就组合并披露什么,而不是交出整份材料。

03

不再依赖肉眼辨真伪

签名、有效期、凭证状态与 Holder 控制权可以被逐项验证。

FROM ONE CASE TO MANY SCENARIOS
不只是求职材料,
而是一种通用的数字信任基础设施。

传统材料核验依赖复印件、扫描件和人工确认。材料会被重复提交、过度收集,验证方也很难实时判断签发来源与凭证是否已经暂停、过期或撤销。演示以求职者 A 向某企业人事出示学历和体检信息为例,但系统角色并不限定行业:签发方可以是医院、大学或其他可信机构,验证方也可以是企业、政务或业务服务方。

TWO PRODUCTS / THREE ROLES

一个组织工作台,
一个个人钱包

01ISSUER / VERIFIER · 组织侧

信证台

签发方与验证方进入各自租户空间,管理机构 DID、版本化凭证模板、凭证签发与验证业务。

  • 机构 DID 与公钥历史
  • 动态模板和 VC 签发
  • 暂停、恢复、替代与撤销
  • 组合证明验证与审计台账
02HOLDER · 个人侧

信证钱包

个人在浏览器本地创建身份、领取不同机构签发的凭证,并自主决定向哪个验证方披露哪些字段。

  • 本地生成 did:key
  • 不可导出私钥与本地凭证库
  • 收件箱领取与导入
  • 多 VC 选择性披露与 Holder 签名
PRODUCT SURFACES

六个界面,呈现双端产品的关键边界

仅展示足以说明产品结构和核心机制的代表性界面。

组织侧入口界面截图01
信证台 / ORGANIZATION CONSOLE

组织侧入口

信证台是签发方与验证方共用的组织工作入口,登录后再依据租户和角色加载对应能力。

  • USER VALUE组织通过统一入口完成签发与验证业务,不需要为每类证明重新建设一套孤立系统。
  • WHAT IT PROVES双角色组织工作台具备独立登录、租户和权限边界。
个人侧入口界面截图02
信证钱包 / HOLDER WALLET

个人侧入口

信证钱包拥有独立入口与账户边界,强调凭证由个人控制,而不是成为组织后台的附属页面。

  • USER VALUE个人拥有自己的凭证入口,不必依赖某个签发机构的网站长期保存全部材料。
  • WHAT IT PROVES钱包与组织工作台是两个独立 Web 产品,账户与数据边界分离。
组织侧运行总览界面截图03
信证台 / OPERATIONS

组织侧运行总览

将 DID、签发、加密存储、验证与审计组织为一条可观察的信任闭环,同时呈现当前安全边界。

  • USER VALUE运营人员能从一个界面看见 DID、签发、保护、验证与审计的完整链路。
  • WHAT IT PROVES运行指标、信任闭环与当前安全边界被放在同一观察面中。
机构身份与 Holder 关联界面截图04
信证台 / DID

机构身份与 Holder 关联

机构管理自己的 Issuer DID 与密钥边界,也可以审核来自个人钱包的 Holder DID 关联申请。

  • USER VALUE机构可以持续管理自己的数字身份,也能安全接收个人钱包发起的关联请求。
  • WHAT IT PROVESIssuer DID、KMS 托管、公钥解析资料和 Holder 关联流程各自分层。
本地身份与自托管界面截图05
信证钱包 / SELF-CUSTODY

本地身份与自托管

Holder DID 在浏览器本地创建;不可导出的 Ed25519 CryptoKey 保存在 IndexedDB,平台只接收公开解析材料。

  • USER VALUE张三的身份和凭证跟随自己的钱包,而不是散落在文件袋和多个机构账号里。
  • WHAT IT PROVESEd25519 私钥以不可导出的 CryptoKey 形式留在本地 IndexedDB。
多凭证选择性披露界面截图06
信证钱包 / SELECTIVE DISCLOSURE

多凭证选择性披露

用户从不同凭证中组合所需字段,在本地生成并签署披露证明,再通过定向交互交给指定验证方。

  • USER VALUE面对企业人事等验证方,张三可以只证明岗位真正需要的信息。
  • WHAT IT PROVES多 VC 字段选择、Holder 本地签名、Challenge 与目标验证方共同约束本次出示。
TRUST JOURNEY

从身份建立到跨组织验证

  1. 01求职者 A · HOLDER

    建立钱包身份

    钱包通过 Web Crypto 本地生成 Ed25519 密钥与 did:key,私钥作为不可导出的 CryptoKey 保存在 IndexedDB。

  2. 02信证台 · REGISTRY

    登记公开 DID

    钱包签署公开登记包;平台只保存 DID Document 与公钥,不接收、不创建 Holder 私钥。

  3. 03签发方(比如医院、大学)· ISSUER

    分别签发 VC

    不同可信机构依据版本化模板签发相应凭证,Issuer 私钥仅在机构 KMS 边界内解密并用于 Ed25519 签名。

  4. 04信证钱包 · INBOX

    领取并本地持有

    钱包使用 Holder 私钥签署一次性 Challenge,通过验证后领取交付包并导入本地凭证库。

  5. 05求职者 A · PRESENTATION

    组合最小披露

    从两张 VC 中只选择学历、专业、体检结论等必要字段,组成 SD-JWT 披露并对 Challenge、Domain 和组合内容签名。

  6. 06验证方(比如企业人事)· VERIFIER

    实时验证并留痕

    验证 Holder 控制权、两家 Issuer 签名、DID 与密钥版本、有效期、VC 状态以及 Challenge 防重放结果。

INTERACTION SEQUENCE

一张凭证如何被签发、持有与验证

角色是可扩展的信任关系,而不是对行业的限制。

ISSUER签发方
多个可信来源

不同机构分别签发 VC

A 大学学历证明 VC已签发
B 医院体检证明 VC已签发
C 协会职业资格 VC已签发
•••
每张 VC 都保留自己的签发来源
HOLDER持有者
信证钱包•••
我的身份张三的钱包
从一张或多张 VC 中选择一个或多个字段
学历证明 VC学历专业学位
体检证明 VC结论检查明细
职业资格 VC本次未选择
已选择 2 张 VC · 3 个字段
生成组合证明 VP
未选择的内容仍留在本地
VERIFIER验证方
收到一份组合证明求职者必要信息
  • A 大学:学历有效
  • B 医院:体检合格
  • 张三:持有者签名匹配
验证通过
只看到本次所需结果
  1. 01
    多方签发

    每家机构只为自己确认的事实签名。

  2. 02
    字段组合

    张三从一张或多张 VC 中分别勾选必要字段。

  3. 03
    最小披露

    Verifier 收到一份 VP,而不是张三的完整资料。

多枚小球代表不同 Issuer 签发的独立 VC;张三可以从一张或多张 VC 中选择必要字段,组合为一份 VP 交给 Verifier。

ENGINEERING ARCHITECTURE

将信任边界落实到工程分层

01CLIENT / ORGANIZATION

Vue 3 信证台

TypeScript、Vite、Pinia 与 Vue Router 组成机构工作台;Issuer 与 Verifier 使用同一产品,但权限和租户数据严格隔离。

02CLIENT / HOLDER

独立信证钱包

独立 Web 客户端使用 Web Crypto 与 IndexedDB 管理 Holder 身份、凭证和出示签名,账号体系与组织平台分离。

03SERVICE

Node.js 领域服务

DID、VC、披露、验证、身份访问和收件箱服务围绕仓储层拆分,通过同源 API 与两个前端协作。

04TRUST & DATA

MySQL + KMS + 可选 EVM 锚定

15 组 Schema 迁移支撑多租户与生命周期;敏感数据以 AES-256-GCM 加密,可选将 DID 与 Document 哈希锚定到本地 EVM。

SECURITY BY DESIGN

签名、加密、权限与审计各司其职

密钥各归其主

Holder 私钥只在钱包本地;Issuer 私钥由机构 KMS 使用。公开 DID Document 用于验签,不与敏感凭证正文混为一谈。

签名与加密分工

Ed25519 证明来源和完整性;AES-256-GCM 保护数据库静态敏感内容;密码使用 scrypt 与随机盐处理。

默认不解密

凭证列表只读取非敏感元数据。完整正文需要独立数据读取角色、受控用途和事务内强制审计。

状态与防重放

签名通过不代表凭证仍有效;验证还会检查生命周期状态,并原子消费只保存 SHA-256 哈希的一次性 Challenge。

VERIFICATION EVIDENCE

不只完成演示,也为结果留下证据

02

独立 Web 产品

组织信证台 + 个人信证钱包

07

核心 VC 验证项

格式、DID、状态、密钥、签名、有效期、凭证状态

15

数据库迁移

从初始模型演进到多租户、钱包请求与定向出示

06

自动化测试层级

单元、集成、API、功能、安全与 Chromium UI

MVP BOUNDARIES
  • 这是可运行、可验证的课程结业 MVP,不宣称已经具备正式跨机构互操作和去中心化治理。
  • did:example 与 EducationalEd25519Signature2026 用于教学演示;正式产品需要接入标准 DID Method 与注册 cryptosuite。
  • 当前“碰一下”保留一次性 Challenge 和目标域绑定,但不是正式 NFC 协议实现。
  • 生产演进仍需外部 KMS/HSM、企业身份源、系统安全区与跨设备恢复、标准 Holder Binding 和定向加密交付。
HIGHLIGHTS
  1. 01信证台与信证钱包双端产品
  2. 02Holder 私钥本地自托管
  3. 03多 VC 组合与字段级最小披露
  4. 04凭证生命周期与防重放验证
  5. 05多租户、最小权限与审计留痕
  6. 06六层自动化验证证据链
TECHNOLOGY
Vue 3TypeScriptNode.jsMySQLDID CoreVC Data Model 2.0SD-JWTEd25519AES-256-GCMWeb CryptoIndexedDBSolidity
SOURCE REPOSITORY

查看项目代码

从公开仓库继续查看系统实现、工程文档与版本演进。

打开代码仓库 ↗
NEXT EXHIBIT / 02企业 SaaS 平台