论文:A Survey on Credential Revocation and DID Deactivation in Self-Sovereign Identity Systems 来源:IEEE Access, Volume 14, 2026(收稿 2025-12-12,接收 2025-12-26) 作者:Younho Lee(首尔科学技术大学)、Hojune Shin(首尔科学技术大学)、Daeseon Choi(崇实大学,通讯作者) DOI:10.1109/ACCESS.2025.3649792
一、论文定位与贡献
本文是第一篇专门聚焦 SSI(自主主权身份)凭证与 DID 撤销机制的全面综述,采用叙事性文献综述(NLR)方法,覆盖学术研究、W3C/IETF 标准及 Hyperledger Indy 等商业生态部署。
主要贡献:
- 提出 VC 撤销的四类结构化分类框架:列表式、累加器式、正向确认、治理感知,并独立覆盖 DID 注销
- 评估安全性、隐私性与性能的权衡,弥合理论方案与实际部署之间的差距
- 识别若干持续性挑战:隐私与问责的平衡、离线验证、密钥泄露处理、后量子就绪性、监管合规
二、基础概念
SSI信任三角(Triangle of Trust)
Issuer(发行者)
/ \
颁发 VC 发布公钥/撤销信息
/ \
Holder(持有者) ←——VP——→ Verifier(验证者)
保管凭证, 查询撤销状态
选择性披露 (从 VDR 获取,不联系 Issuer)
SSI 系统围绕三个核心角色运作:
Issuer(颁发者):对主体做出权威声明并颁发 VC 的实体,包括政府机构、教育机构、雇主、医疗机构等。Issuer 用私钥对 VC 进行密码学签名,使其可被独立验证,无需与颁发机构持续通信。这一"颁发后独立性"特征既是 SSI 的核心优势,也构成了撤销机制的根本挑战——Verifier 无法在验证时实时询问 Issuer 当前状态。
从撤销角度,Issuer 承担以下职责:管理签名密钥对;向 VDR(可验证数据注册表)发布公钥与撤销信息;在凭证失效时触发撤销流程;遵守凭证元数据标准。Issuer 同时需要制定撤销策略,明确触发事件(员工离职、执照暂停、密钥泄露)、处理时间线、撤销粒度(单个凭证 vs 批量)及监管合规要求。
Holder(持有者):在数字钱包中管理一张或多张 VC,自主决定向谁披露何种信息的个体或机构。Holder 在撤销机制中处于双重位置:既可能是被撤销的对象,也需主动向 Verifier 证明自身凭证的有效状态(提供非撤销证明)。
Holder 在撤销问题上面临利益冲突:当私钥被盗时希望立即撤销;而当凭证因离职或执照暂停被撤销时,则可能希望存在宽限期。设计健全的系统确保 Holder 无法控制撤销状态——Verifier 直接从可信来源(签名状态列表或密码学累加器)检查状态,Holder 仅提供验证所需的最少信息。
在使用累加器或状态列表时,钱包通常缓存一个小的见证值(witness),使访问控制系统可在不获取额外信息的前提下确认"仍然有效"。在网络断开时,该见证值支持一个策略约束的短暂宽限窗口;恢复连接后再对当前状态制品进行刷新。
Verifier(验证者):接收并审查 VP(可验证陈述)并决定是否信任相关声明的一方。验证流程包括:检查 Issuer 的公钥签名、有效期、撤销状态,并做出接受或拒绝决定。Verifier 与 Issuer 之间的信任关系通过治理安排或监管监督预先建立。
Verifier 面临实时撤销状态不一定可获取的问题——注册表可能因维护而离线,本地网络可能中断。此时 Verifier 只有缓存数据,需要基于风险评估做出决策:高风险交易直接实时确认撤销状态;低风险交易可通过缓存检查。
去中心化标识符(DID)
DID(去中心化标识符):格式为 did:method:identifier,解析为包含公钥、服务端点与认证方法的 DID Document,通常存储于 VDR。DID Document 中与撤销直接相关的组件包括:公钥(用于签名验证)、服务端点(用于接收撤销通知)、能力委托机制(在紧急撤销场景中可授权他人代为操作)。
不同 DID 方法对撤销的影响存在显著差异:
| DID 方法 | 存储机制 | 撤销特点 |
|---|---|---|
did:web:example.com:users:alice |
HTTPS/DNS | 实现简单,但依赖域名控制的持续性,域名到期可能导致控制权丧失 |
did:ethr:0x123456789... |
以太坊区块链 | 强防篡改性,但频繁更新面临吞吐量限制与交易成本 |
did:indy:sovrin:WRFXP.. |
Hyperledger Indy | 专为身份设计,内置完善的撤销支持 |
did:key:z6MkhaKg.bz |
无外部存储 | DID 直接派生自公钥,撤销等价于密钥撤销 |
可验证凭证(VC)与可验证展示(VP)
VC(可验证凭证):包含声明与元数据的数字凭证,由 Issuer 密码学签名,无需实时通信即可验证。与撤销相关的关键字段:credentialStatus 字段引用外部撤销机制(状态列表或累加器),是 Verifier 检查撤销状态的入口;proof 部分包含 Issuer 的数字签名以及见证更新或零知识证明生成所需的附加信息。
{
"@context": [...],
"id": "http://dmv.example.gov/credentials/DL2024-789456",
"type": ["VerifiableCredential", "DriverLicenseCredential"],
"issuer": {"id": "did:web:dmv.example.gov"},
"issuanceDate": "2024-03-15T10:00:00Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"licenseNumber": "DL789456",
"licenseClass": "C"
},
"credentialStatus": {
"id": "https://dmv.example.gov/revocation-lists/2024#45678",
"type": "BachelorOfScience",
"revocationListIndex": "45678",
"revocationListCredential": "..."
},
"proof": {
"type": "Ed25519Signature2020",
...
}
}
VP(可验证陈述):VC 的集合或派生证明,是对一张或多张 VC 的封装展示,支持选择性披露。VP 的选择性披露特性与撤销机制之间存在张力——许多撤销机制在状态检查时会暴露稳定标识符,使 Verifier 能够跨多次陈述进行关联,损害 VP 的隐私性。
VDR(可验证数据注册表):存储 DID 文档、公钥、凭证 Schema、撤销状态数据与治理记录的共享防篡改存储库。实践中通常采用混合架构:区块链作为不可变锚点处理关键或低频更新,数据库或文件系统层(如 IPFS)处理频繁变化的撤销列表,以平衡信任与性能。
| 存储类型 | 代表技术 | 优点 | 缺点 |
|---|---|---|---|
| 区块链 | Ethereum, Hyperledger Indy, Bitcoin | 去中心化、防篡改 | 吞吐量低、更新成本高 |
| 数据库 | 传统关系型/NoSQL | 高吞吐、低延迟 | 需要严格访问控制 |
| 文件系统 | IPFS, Git | 版本控制、去中心化分发 | 同步复杂 |
| 混合架构 | 区块链 + 数据库 | 平衡信任与性能 | 设计复杂 |
实践中:区块链作为不可变锚点存储关键/低频更新(如公钥、DID),数据库或文件层处理高频变化的撤销列表。
SSI 工作流中的撤销

颁发阶段:
- 持有者创建DID并将DID文档发布到VDR;生成的密钥和标识符随后支持见证更新和不可撤销证明。然后持有者请求凭证。
- 颁发者执行适合上下文的身份检查,并保留足够的详细信息,以便在凭证受到质疑时支持未来的审核。发行人将 VC 与所需的声明和元数据组装在一起,对其进行签名,然后将其返回给持有者。
- 在同一步骤中,发行人启用撤销方法(通常是列表或累加器),发布相关状态,并向持有者提供证明当前未撤销状态所需的任何证人或证明材料。
验证阶段:
- 在凭证验证的工作流程中,验证者要求持有者提供特定的凭证或证明。持有者选择满足验证者要求的适当凭证并用它们制作 VP。、
- 由于这一部分,撤销检查变得更加复杂——持有者可能需要在其 VP 中包含非撤销证明。他们也不得损害隐私。
- 撤销状态检查须在每次 VP 验证时执行,同时维护隐私并避免 “calling home” 问题(即每次验证都联系 Issuer,使 Issuer 获知 Holder 的凭证使用行为)。Holder 可能需要在 VP 中附加非撤销证明,Verifier 则需对此进行密码学验证。
撤销在 SSI 中的挑战来源
传统 PKI 的 CRL 和 OCSP 与 SSI 的三条核心原则存在根本冲突:
- 避免持续的三方交互:OCSP 每次验证都须实时联系 CA,直接违反颁发后独立性原则
- 强隐私保障:CRL 暴露完整撤销列表;OCSP 使 CA 获知验证双方的身份与时间信息
- 防止单点故障:中心化撤销服务一旦不可用,全网验证即告中断
SSI 因此需要同时满足去中心化、保密性、可扩展性与离线可验证性的全新撤销机制。
三、典型用例
VC 撤销场景
员工凭证撤销:员工离职后,其工作证明 VC 必须立即失效,防止其继续以前员工身份访问公司资源。与传统系统不同,SSI 中员工独立持有凭证,验证者不能直接问发行者(这违反隐私原则),所以需要一种不依赖发行者实时查询的撤销机制。
医师执照暂停:医生执照可能因法律原因被暂时吊销。撤销系统必须:
- 支持临时或永久撤销
- 即使患者离线也能验证执照状态
学位证书欺诈:发现学生用伪造文件获取学位后,大学必须撤销相应凭证。同时:
- 保护合法持有者的个人信息
- 抵御关联攻击(防止推断某人同时持有多张凭证)
DID 注销场景
私钥泄露(EU 数字新冠证书事件,2021年):黑客泄露 EU 数字新冠证书签名私钥,导致可为任意主体生成通过官方验证的假健康码。当局撤销泄露密钥后,所有依赖该密钥颁发的证书即刻失效。该事件展示了 DID 私钥泄露后须立即注销对应 DID 的实际场景。
设备丢失(移动驾照,mDL):DID 通常与存储在设备上的密钥绑定。手机丢失时,现代 mDL 系统允许 Issuer 或用户远程注销关联的数字身份,使其无法再被任何人使用。该能力已成为数字身份部署的标准安全实践。
did:web 域名到期劫持:did:web 依赖互联网域名托管 DID Document。域名注册到期后,第三方可购买该域名并发布自定义的 DID Document,完全劫持原来的 DID 控制权。社区已意识到此风险,并催生了 did:webs 等内嵌密码学证明的新方法以防止域名易主后的控制权丧失。
基础设施关闭(Sovrin MainNet,2024年):Sovrin 基金会因可持续性与监管挑战,宣布于 2025 年 3 月前关闭 MainNet 账本。此后,所有基于 did:sov 的 DID 将无法解析或更新,等同于批量注销。使用这些 DID 的组织须迁移至其他 DID 方法,该事件揭示了 DID 可移植性规划的重要性。
四、撤销机制分类详解
VC 撤销机制
├── A. 列表式(List-based)
│ ├── A1. 证书撤销列表(CRL)/ 撤销信息列表
│ ├── A2. 比特串状态列表(Bitstring Status List, BSL)
│ └── A3. 在线状态协议(OSP/OCSP)
├── B. 密码学累加器(Cryptographic Accumulators)
│ ├── B1. RSA 累加器
│ ├── B2. 双线性映射累加器
│ ├── B3. 默克尔树累加器
│ └── B4. 见证值管理技术
├── C. 正向确认式(Positive-Confirmation)
│ ├── C1. 短期凭证(Short-lived credentials)
│ ├── C2. 信任锚/允许列表分发
│ └── C3. 关联有效性 VC(LVVC)
└── D. 治理感知式(Governance-aware)
├── D1. 层级管理
├── D2. 联合撤销
└── D3. 自适应策略控制
DID 注销
└── E. DID 层注销与恢复
├── E1. 控制者主动注销
├── E2. 行政撤销
└── E3. 密钥妥协与紧急响应
A. 基于列表的撤销(List-Based Revocation)
A1. 证书撤销列表(CRL)及 SSI 变体
Issuer 维护被撤销凭证标识符(或哈希)的签名列表,定期推送至 VDR,Verifier 下载后比对。在 SSI 语境中,列表存储凭证标识符或哈希,而非传统的证书序列号,存储位置为 VDR 而非中心化服务器。
主要限制:公开列表会暴露 Issuer 的撤销频率及凭证类型分布;列表大小随系统规模线性增长;时效性存在缺陷——Issuer 即时记录撤销,但 Verifier 仅在下次拉取时才获知变更。
A2. 位字符串状态列表(Bitstring Status List, BSL)
BSL(压缩前):0 0 0 0 0 1 0 0 0 1 0 0 ...
↑ ↑
VC 0 VC 5(已撤销)
W3C 推荐的主流方案。每张凭证在颁发时分配固定索引位置,BSL 为压缩位数组,撤销时将对应 bit 从 0 翻转为 1。Issuer 对整个位字符串签名并重新发布至 VDR,Verifier 检查凭证索引处的单个 bit,时间复杂度 O(1)。
压缩技术:BSL 使用 GZIP 减少存储与传输开销。GZIP 通过 LZ77 风格的子串去重检测重复字节模式,再应用霍夫曼编码对剩余符号进行熵编码。撤销率低时(大量 bit 为 0),压缩比极高。
隐私问题:跨多次陈述复用同一状态索引可能导致可关联性——Verifier 可通过索引追踪同一 Holder 的使用行为;索引管理不当可能导致模糊性
BSL 可配合 CDN 分发,支持高效的离线验证路径。微软 Entra Verified ID 采用了该方案。
A3. 在线状态协议(Online Status Protocol, OSP)
类比传统 PKI 的 OCSP,Verifier 实时向状态服务查询特定凭证的当前状态,服务返回状态、时间戳与密码学证明。部分协议采用零知识证明或盲签名等隐私保护扩展。
根本缺陷为calling home问题:每次查询使状态服务或 Issuer 获知验证双方的身份与时间信息,严重违反 SSI 隐私原则,并引入对在线服务可用性的依赖,可能开启监控与审查。该方案仅适用于高安全性场景下隐私代价可接受的情形。
OpenAttestation 框架采用 OSP 进行验证,但其状态信息服务是中心化的,网络故障或服务中断会中断验证流程。
B. 密码学累加器(Cryptographic Accumulators)
密码学累加器用紧凑值表示集合,支持高效的成员关系证明而不暴露其他成员信息。在 SSI 撤销中,累加器维护有效或已撤销凭证标识符的集合,提供优于列表式方案的隐私特性。
基本机制
工作流程:
- 初始化:Issuer 基于强 RSA 假设或双线性配对初始化累加器
- 累积:颁发凭证时将凭证标识符加入累加器,更新累加器值
- 见证生成:为每张凭证生成见证值 $w_i$——证明该凭证包含于集合的密码学证明,不暴露其他成员信息
- 撤销更新:撤销凭证时将其从有效集合移除(或加入撤销集合),更新累加器值;未撤销凭证的见证值通常须随之更新
- 验证:Holder 在 VP 中提供见证值,Verifier 用当前累加器值验证成员关系(或非成员关系),无需查看完整撤销列表或联系 Issuer
两种类型:正向累加器(Positive Accumulator)累积有效凭证集合,见证值证明"属于有效集合";通用累加器(Universal Accumulator)同时支持成员证明与非成员证明。
B1. RSA 累加器
经典构造(Benaloh & de Mare, 1994):
在 RSA 模数 $n = pq$(安全素数)、生成元 $g \in QR_n$ 下,对集合 $S = {x_1, ..., x_k}$ 的素数编码元素,累加器值为:
$$A_S = g^{\prod_{x \in S} x} \mod n$$元素 $x$ 的成员见证:$w_x = g^{\prod_{y \in S \setminus {x}} y} \mod n$,验证:$w_x^x \equiv A_S \mod n$
安全性基于强 RSA 假设,但传统构造要求所有累积元素为素数,导致代价高昂的哈希到素数操作,在处理大型数字对象时尤为突出。
最新无素数要求的 RSA 累加器(Kemmoe & Lysyanskaya, CCS 2024):
使用随机预言机 $H$ 将输入映射至大奇数集合 $\text{Odds}(2^{\ell-1}, 2^\ell - 1)$,累加器定义为 $A_S = g^{\prod_{x \in S} H(x)} \mod n$。随机大奇数几乎必然有大素因子,从而避免了除数泄露漏洞,同时维持方案的可靠性。
该方案的关键创新在于见证更新机制:当元素 $y$ 被撤销时,协议维护 $H(x)$ 与所有已撤销元素哈希值之间的 GCD 信息,利用 Shamir 技巧在 $H(x)$ 与 $H(y)$ 非互质时仍能正确计算更新见证——此为与此前方案相比的核心突破(此前构造均要求哈希结果互质)。
该方案还结合 Wesolowski 的 VDF 处理任意奇数,支持通过指数证明(Proof of Exponentiation)生成批量成员证明,同时具备正向累加器与通用累加器特性,适合 WebPKI 场景中计算能力有限的 CA。
B2. 双线性配对累加器(Bilinear Accumulators)
基本构造:
参数:$G_1, G_2$ 为素阶 $q$ 的循环群,$g_1 \in G_1, g_2 \in G_2$ 为生成元,$e: G_1 \times G_2 \to G_T$ 为双线性配对,$\alpha \in \mathbb{Z}_q$ 为秘密陷门值。
对集合 $S = {x_1, ..., x_n}$,累加器为 $V = g_1^{\prod_{x \in S}(x+\alpha)}$;$y \in S$ 的见证 $w_y = g_1^{\prod_{x \in S, x \neq y}(x+\alpha)}$;验证:$e(w_y, g_2^{y+\alpha}) \stackrel{?}{=} e(V, g_2)$。
方案演进:
-
Nguyen(2005):首次提出双线性累加器,证明代数可行性,但每次更新须重新计算累加器值并刷新所有未撤销成员的见证,计算成本随集合大小增长;缺乏高效的删除与批量撤销机制
-
Karantaidou & Baldimtsi(CSF 2021):构造正向与通用累加器,引入常数大小的成员/非成员证明及零知识变体,解决了此前方案缺乏高效非成员证明、见证大小或验证成本随撤销数量增长的问题,支持高效动态更新
-
Vitto & Biryukov(RSA 2022):提出基于多项式的批量更新机制。设 $A$ 为新增元素集,$D$ 为撤销集,定义 $A(X) = \prod_{a \in A}(X-a)$,$D(X) = \prod_{d \in D}(X-d)$,新累加器 $V' = \frac{A(-\alpha)}{D(-\alpha)} \cdot V$,见证对应批量更新。更新可委托给不可信服务器执行(结果仍可公开验证),安全性基于广义 $t$-强 Diffie-Hellman 假设
-
ALLOSAUR(Jaques et al., AsiaCCS 2024):专注于见证更新过程中的隐私保护。传统方案中见证更新须由权威方或外部服务执行,可能泄露敏感信息。ALLOSAUR 使用安全多方计算(MPC):多个独立方联合执行更新,确保无单一方获取 Holder 的更新见证,且见证更新匿名且不可关联至特定 Holder。协议复杂度 $O(\sqrt{m})$($m$ 为撤销数量),实践中处理 1000 次撤销耗时不超过 500ms,通信开销仅 16KB
B3. Merkle Tree 累加器
工作原理:
- 每个被撤销的凭证标识符被哈希后作为叶节点
- 父节点 = Hash(左子 || 右子),递归向上
- 根哈希值作为累加器
- 某元素的见证值 = 从叶到根路径上所有兄弟节点的哈希集合
h0(累加器根)
/ \
h1 h2
/ \ / \
h3 h4 h5 h6
| | | |
H(M1) H(M2) H(M3) H(M4)
M2 的见证值 = {h3, h2},验证:重建路径计算根哈希,与 h0 比较。
特点:
- 只需哈希函数,无需配对运算,极度轻量
- 证明大小为 O(log n),适合区块链和资源受限 IoT 环境
- 标准默克尔树擅长成员证明,非成员证明需要额外策略
隐私增强的近期工作:
- Prevoke(IEEE Blockchain 2024):可配置的隐私保护撤销,支持对披露策略的细粒度控制
- Sitouah et al.(ICBC 2024):通过随机哈希值构造不可追踪的 Merkle Tree 累加器,防止跨不同验证的非撤销证明之间的关联
- 零知识友好 Merkle Tree:使用 ZK 友好哈希函数与电路设计,使用户无需暴露树中位置即可证明非撤销状态
B4. 累加器更新与见证管理
动态累加器面临的核心挑战:每次撤销都会改变公开累加器值,使所有现有持有者的见证值失效。
四种管理策略:
| 策略 | 说明 | 优点 | 缺点 |
|---|---|---|---|
| 广播更新 | 发行者公开广播更新数据,持有者自行计算新见证值 | 无需交互,保护隐私 | 持有者需处理所有历史更新 |
| 见证值更新服务 | 专用服务为持有者计算更新 | 适合资源受限设备 | 可观察更新模式,存在隐私风险 |
| 批量更新 | 将多次撤销合并处理 | 降低通信和计算开销 | 牺牲新鲜度 |
| 聚合证明 | 将多个见证值聚合成单个证明 | 降低验证成本 | 成员变化时更新复杂 |
C. 正向确认模型(Positive-Confirmation Approaches)
传统撤销(CRL/累加器)是负向确认——默认有效,撤销时标记为无效。
正向确认则相反——只接受明确声明为有效的凭证,缺乏确认即视为撤销。
C1. 短期凭证(Short-lived Re-issuance)
原理:给凭证设置极短的有效期(如几小时或几天),到期自动失效,发行者定期重新颁发。
类比:好比"当天有效的通行证"——每天早上重新签发,失效就不续签。
代表标准:RFC 8739 ACME-STAR(自动证书管理环境中的短期、自动续签证书)
优点:
- 无需撤销注册表
- 支持离线验证(只需检查过期时间)
- 自然对齐密钥/策略轮换
缺点:
- 频繁更新带来发行者负担
- 无法即时处理紧急情况(如密钥泄露)——仍需紧急撤销后备机制
C2. 信任锚/允许列表分发
原理:验证者只接受当前允许列表上的发行者/密钥,而不是执行全局负向检查。
代表应用:ISO/IEC 18013-5 mDL(移动驾照)生态系统,AAMVA 的 DTS/VICAL 分发当前发行者公钥,验证者依赖"谁现在是可信的"而非检查谁被撤销了。
C3. 关联有效性 VC(Linked Validity VC, LVVC)
原理:将一张 VC 拆分为两部分:
- 内容 VC:包含实际声明(不经常变化)
- 有效性 VC(LVVC):只包含有效期/状态信息,由发行者频繁刷新
验证者同时要求两张 VC;如果发行者停止发出 LVVC,缺乏正向确认即等同于撤销。
持有者钱包:
┌────────────────────────────────┐
│ 内容 VC(长期有效,含实际属性) │
└────────────────────────────────┘
┌────────────────────────────────┐
│ LVVC(短期有效,定期更新) │ ← 发行者每 N 天刷新
└────────────────────────────────┘
优点:
- 减少内容 VC 的暴露频率
- 验证者无需联系发行者(因为总有新的 LVVC)
- 已有实际部署(Procivis 等)
缺点:
- 持有者需要定期联系发行者获取新 LVVC(与"发行者独立性"原则有轻微张力)
- 刷新模式可能导致时序关联攻击(需要随机化刷新窗口等缓解措施)
D. 治理感知与自适应撤销(Governance-Aware and Adaptive Revocation)
该类方案关注撤销的组织、政策与监管层面,而非密码学机制本身。
层级管理(Hierarchical Management):在大型组织中,各级管理者在可控范围内拥有撤销权限,全局管理员控制全局范围。优势在于精细管理,挑战在于防止未授权的权限提升,以及建立有效的审计机制。
联邦撤销(Federated Revocation):多组织环境中,撤销决策须经跨组织的司法管辖协调与共识机制。须考虑与 SSI 现有方法的兼容性。
可配置/自适应策略控制(Adaptive Policy-Based Control):可配置系统允许管理员设置隐私级别、新鲜度要求与传输格式参数;自适应系统则根据当前网络条件和安全威胁自动调整撤销策略,确保系统韧性与跨格式互操作性。
E. DID 注销(DID Deactivation)
DID 注销与 VC 撤销是两个正交的层次,须独立处理以避免"过度撤销"。
W3C 规范的信号机制:DID 注销通过 DID 解析元数据(didDocumentMetadata.deactivated = true)表示,而非修改 DID Document 内部字段。DID Core 规范将注销的存在性、授权方式与效果委托给具体 DID 方法规范及其关联治理框架。
控制者发起的注销(Owner-Initiated Deactivation):DID 控制者使用专用恢复密钥授权 deactivate 操作。成功后,解析器返回 deactivated = true,方法规则不再处理该 DID 的任何后续操作(实质上不可逆)。Sidetree/ION 方法明确区分 recover 与 deactivate 操作,deactivate 执行后所有后续操作均被忽略。
不同 DID 方法的注销实现存在差异:追加式账本方法记录墓碑/Deactivate 条目;did:web 通过使 did.json 不可访问(如删除)来表示注销;链下方法依赖解析器元数据或代理中介状态。
行政撤销(Administrative Revocation):部分 SSI 环境中,网络管理员或监管机构在满足特定条件(政策违规、法律命令、安全事件)时拥有有限的 DID 注销权力。此类能力须在规则规范与治理框架中明确界定,以维持与 SSI 用户控制原则的一致性。Sierra Leone 的 Kiva/Indy 项目展示了基于行政措施(而非技术手段)进行治理设计的实践。
密钥泄露与应急响应(Key Compromise and Emergency Procedures):私钥泄露时,优先选择密钥恢复或轮换(保持标识符连续性),仅在恢复不可行或风险评估要求退休时才执行注销。支持机制包括:专用恢复密钥(区别于更新密钥)、多签名或社会恢复机制。推荐分阶段响应:将 DID 标记为高风险 → 尝试恢复/轮换 → 确认泄露后执行完全注销。
与 VC 撤销的关系:DID 注销影响该标识符下的所有密钥与服务,间接影响依赖该 DID 的 VC 验证流程。但凭证撤销状态由 VC 状态列表或累加器管理,与 DID 注销正交,系统应独立处理两个层次以避免过度撤销。
五、隐私分析
隐私泄露的三类场景
Manimaran et al. 在研究 SSI 环境中通过 Issuer 查询撤销信息时,识别了三类具体隐私泄露场景(Prevoke):
场景一:Holder-Verifier 关联泄露:若 Verifier 向 Issuer 查询撤销状态,Issuer 即可获知验证双方的身份与时间信息。典型案例:雇主 A(Issuer)为员工 X(Holder)颁发工作凭证,员工 X 在雇主 B(Verifier)处面试时,雇主 B 向雇主 A 查询凭证状态,使雇主 A 获知员工 X 的求职行为。
场景二:Holder 状态与唯一标识泄露:任何第三方均可向 Issuer 查询特定 Holder 的 VC 状态,可用于推断其就业状况等敏感信息。
场景三:撤销率泄露:Issuer 的批量撤销率变化可能揭示商业敏感信息,如员工离职率或监管调查情况。
各利益相关方的隐私风险
- 传统列表式(CRL/OCSP):最差。凭证标识符或其确定性哈希值在查询时暴露,启用跨验证者的关联攻击,甚至可能通过字典攻击重建使用模式。
- BSL:通过固定大小压缩位数组改善,但状态索引复用问题依然存在。
- 累加器 + 零知识证明:最佳隐私保护,持有者可在不暴露身份的情况下证明"未被撤销"。
- LVVC:通过解耦内容与状态,减少内容暴露;刷新模式需随机化以防时序关联。
六、可扩展性与性能比较
论文 Table 2 对各方案可扩展性与性能的系统比较:
| 方案 | 典型存储 | 验证时间 | 更新频率 | 网络开销 |
|---|---|---|---|---|
| CRL / OCSP | 线性增长(WebPKI 达数十 MB) | <10ms(缓存/Stapled 状态) | 每次撤销或缓存过期时 | 无 Stapling 时高;频繁在线查询 |
| BSL | 每人群分段常数大小(KB 级) | <50ms(bit 检查 + 签名验证) | 周期性批量更新(日/周) | 低(CDN/缓存分发;CRLite 式推送可行) |
| 累加器(RSA/配对基) | 常数大小公开累加器 + 每 Holder 见证(数百字节至 KB 级) | 50–200ms(模指数/双线性配对) | 频繁见证刷新(每次撤销事件) | 中等(见证更新随撤销率增长) |
| ZKP 选择性披露(BBS+/Groth16/PLONK/STARKs) | 每次陈述的证明制品(数十 KB) | 200–800ms(移动端,含预计算/批处理) | 陈述时;Issuer 更新与证明解耦 | 中-高(制品比列表大,但离线友好) |
| Hyperledger Indy / AnonCreds | 尾文件可能达 GB 级(无分区时) | 取决于证明类型;含缓存时实践中亚秒级 | 撤销事件时注册表更新 | 中等(须仔细分片/CDN 策略处理尾文件) |
结论:没有哪种方法在所有维度都占优。选择时需根据具体场景权衡:
- 需要高性能离线验证 → BSL
- 需要强隐私/不可关联 → 累加器 + ZKP
- 需要简单部署 → 短期凭证(LVVC)
- IoT/资源受限 → 默克尔树累加器
七、开放挑战与未来方向
技术挑战
1. 隐私与可问责性的平衡
这是最核心的张力。SSI 强调隐私和用户控制,但现实中存在合法的追踪、审计和监管合规需求:
- AML(反洗钱)法规要求金融机构维护身份验证详细记录
- 执法机构可能需要调查凭证滥用
- 组织需要证明合规
研究方向:
- 选择性审计(特定凭证可审计,其余保留隐私)
- 时延透明(审计信息在指定延迟后可用)
- 基于门限的披露(只在特定条件满足时披露审计信息)
- 密码学审计(使用 ZKP 验证而不完全披露)
2. 离线验证的复杂性
在无网络连接场景(移动、IoT、紧急情况)中,如何可靠地验证撤销状态?
挑战:
- 新鲜度 vs 存储成本的权衡
- 多个离线验证者需要一致的撤销视图
- 资源受限设备无法存储大量撤销信息
- 本地缓存信息可能过时
研究方向:
- 优化缓存策略(平衡存储与新鲜度)
- 基于使用模式的预测性预加载
- 优雅降级的混合在线/离线验证
- 适用于间歇性连接的分布式共识机制
3. 密钥管理与恢复
SSI 用户独立管理密钥,没有中央机构可以重置——这与传统系统的关键区别:
| 场景 | 传统系统 | SSI |
|---|---|---|
| 私钥丢失 | 联系中央机构重置 | 无法证明凭证有效性 ❌ |
| 密钥被盗 | 管理员立即锁定 | 难以即时检测,去中心化限制自动检测 |
| 长寿命凭证 | 定期更新协议 | 算法可能在凭证过期前就过时 |
解决方案方向:
- 社交恢复(将部分恢复权限委托给信任的朋友/机构)
- HSM/TEE 硬件保护
- 门限密码学(密钥分片,需要 k/n 份才能重建)
- 自动化密钥轮换协议(支持前向保密)
4. 后量子密码(PQC)就绪性
量子计算机运行 Shor 算法可以在多项式时间内破解 RSA、ECC、离散对数等当前主流密码算法——这将直接威胁现有所有基于这些算法的撤销机制。
当前 SSI 中受威胁的组件:
- RSA 累加器
- 双线性配对(基于椭圆曲线)
- 现有的 ZKP 系统(如 Groth16、PLONK)
候选替代方案:
- STARKs:无需可信设置,趋向后量子安全假设
- 格密码学(Lattice-based):正在开发的格密码学累加器和零知识证明
- 代码基密码学(Code-based)
额外挑战:密码学迁移问题——系统需要在新旧算法之间保持向后兼容性,确保旧凭证在算法过渡期间仍可验证。
5. IoT 与边缘计算集成
IoT 设备的特殊约束:
- 计算、存储、带宽均受限
- 设备数量达百万级,且高度异构
- 物理可接触性导致硬件攻击风险高
研究方向:
- 专为资源受限设备设计的轻量级撤销机制
- 层级撤销系统(将复杂操作委托给边缘网关)
- 安全硬件方案
跨学科挑战
标准化与互操作性
当前状况:
- W3C 的 DID 和 VC 标准提供数据模型基础
- 但各实现在状态传播方法、状态列表格式、验证者操作假设等方面存在分歧
- 导致跨系统凭证验证困难,阻碍 SSI 大规模采用
监管合规
主要矛盾:
- GDPR 被遗忘权 vs 区块链不可篡改性:区块链上的撤销记录与删除个人数据的权利直接冲突
- 数据最小化原则要求验证者只能访问必要信息
- 金融监管(AML/KYC)要求详细审计记录
- 跨境数据传输触发额外法律要求
八、相关综述比较
论文 Table 3 系统比较了此前 8 篇 SSI/DID 相关综述对撤销机制的处理深度:
| 综述 | 对撤销的处理 |
|---|---|
| Soltani et al. (2021) | 提到 VDR 可持有撤销信息,无技术规范或协议细节 |
| Čučko & Turkanović (2021) | 宏观视角梳理 SSI 研究生态,撤销仅作为其中一个位置 |
| Bai et al. (2022) | 提到链上证书撤销与钱包密钥撤销,无具体方法 |
| Ernstberger et al. (2023) | 将撤销与 DID 注销认定为基本功能,但不提供专项分析 |
| Tan et al. (2023) | 强调撤销是核心问题,聚焦去中心化与离线验证需求,无方法细节 |
| Krul et al. (2024) | 列出相关威胁与部分规范参考,无方法细节 |
| Mazzocca et al. (2025) | 引入 W3C Revocation List 2020,认为撤销是"相对欠研究的领域" |
| Misra et al. (2025) | 无撤销相关内容 |
上述综述均未对 SSI 撤销机制提供系统性技术分类与比较,本文填补了这一空白。
九、综合分类表(Table 1 精华)
| 顶级类别 | 子类别 | 核心技术 | 主要优势 | 主要挑战 |
|---|---|---|---|---|
| A. 列表式 | CRL/RIL | 哈希撤销标识符;签名时间戳列表 | 设计简单,兼容性广 | 列表增长;标识符关联 |
| BSL | W3C 状态列表;GZIP 压缩 | O(1) 查询;离线友好;可扩展 | 索引关联性;发行者更新负担 | |
| 在线状态协议 | OCSP 风格查询;完整性证明 | 实时准确 | “打电话回家"隐私问题 | |
| B. 密码学累加器 | RSA 累加器 | 素数代表动态累加器;无需哈希到素数的变体 | 常数大小证明;强隐私 | 见证值更新复杂性 |
| 双线性映射 | 多项式批量更新;通用成员/非成员证明 | 快速批量更新;ZK 集成友好 | 配对计算开销;可信设置问题 | |
| 默克尔树 | 稀疏默克尔树;ZK 友好;随机化叶节点 | 轻量哈希;区块链原生 | 非成员证明复杂性 | |
| 见证值管理 | 广播更新;匿名更新服务;聚合证明 | 设备灵活性;减少通信 | 同步成本;延迟调优 | |
| C. 正向确认 | 短期凭证 | 自动短期刷新(ACME-STAR) | 无需撤销注册表;离线验证友好 | 频繁刷新 → 在线依赖;难以快速撤销 |
| 允许列表分发 | mDL 的信任锚供应 | 离线验证友好 | 难以快速撤销发行者 | |
| LVVC | 独立有效性令牌;不续签 = 撤销 | 减少关联性;更新数据量小 | 持有者需定期联系发行者 | |
| D. 治理感知 | 层级管理 | 本地 vs 全局范围;委托规则 | 适合大型组织;跨生态互操作 | 防滥用;审计要求 |
| 联合撤销 | 多司法管辖共识;跨账本桥接 | 跨生态互操作 | 治理复杂性;延迟 | |
| 自适应策略 | 情境感知规则;威胁驱动撤销 | 对异构性的韧性 | 系统复杂性高 | |
| E. DID 注销 | 控制者主动注销 | 恢复密钥禁用控制 | 强用户自主性 | 需与 VC 撤销同步 |
| 行政撤销 | 管理员或监管者干预 | 紧急处理 | 过度中心化风险 | |
| 密钥妥协响应 | 多签恢复;基于事件的撤销信号 | 防止标识符劫持 | 永久丢失风险 |
十、结论
论文的核心结论是:SSI 中没有单一撤销方案能同时满足所有需求,每种方案均有不同的权衡关系。
列表式方案设计简单、部署广泛,但可能因可关联状态检查损害隐私;带零知识证明的累加器方案增强隐私并减少网络开销,代价是更高的计算复杂度;正向确认策略(短期凭证或 LVVC)避免持续状态检查,但引入频繁的凭证刷新需求;DID 注销支持全局凭证失效,但带来互操作性与治理挑战。
若干根本性技术挑战仍未解决:隐私保护的离线验证、安全的密钥管理与恢复、后量子就绪性、IoT 等资源受限环境的支持,以及异构 SSI 生态系统间的互操作性。此外,法律与监管需求(可审计性、法律责任、数据保护)进一步复杂化了撤销系统的设计空间。
参考
- 论文原文:IEEE Access 2026
- W3C Bitstring Status List v1.0:https://www.w3.org/TR/vc-bitstring-status-list/
- W3C VC Data Model v2.0:https://www.w3.org/TR/vc-data-model-2.0/
- Hyperledger AnonCreds Spec:https://hyperledger.github.io/anoncreds-spec/
- EVOKE(IoT VC 撤销,USENIX Security 2024):Mazzocca et al.
- ALLOSAUR(AsiaCCS 2024):Jaques et al.
- CRLite(IEEE S&P 2017):Larisch et al.
- Prevoke(IEEE Blockchain 2024):Manimaran et al.
- Kemmoe & Lysyanskaya RSA 累加器(CCS 2024)