55、可撤销可委托匿名凭证及相关技术解析

可撤销可委托匿名凭证及相关技术解析

1. 引言

在当今的密码学领域,证明系统在众多系统中扮演着关键角色,如签名、认证、加密、匿名凭证和混合网络等。在证明系统里,诚实的证明者凭借证据能让验证者相信陈述的真实性,而攻击者则无法让验证者相信虚假陈述。Groth和Sahai提出的非交互式证明系统(GS)具有诸多理想特性,如高效性、通用性,无需随机预言机假设,还能进行随机化操作,即无需知晓证据就能从现有证明生成新证明。本文揭示了GS证明的另一个重要特性:同态性。

证明系统常用于构建累加器。累加器可将大量元素聚合为一个固定大小的值,“成员证明系统”用于证明元素已被累加,而具有“非成员证明系统”的累加器被称为通用累加器。动态累加器在添加、删除元素以及更新累加值和证明系统证据时,成本不依赖于聚合元素的数量。累加器的应用广泛,包括节省空间的时间戳、临时匿名认证、环签名、基于身份的系统以及身份托管、群签名和匿名凭证的成员撤销等。

在匿名凭证系统中,用户能在不泄露身份等隐私信息的情况下证明某些凭证。目前已有多种方案和应用,如直接匿名认证(DAA)和匿名电子身份(eID)令牌等。可委托匿名凭证系统允许凭证在用户间委托,这对组织内的凭证管理至关重要。然而,在实际应用中,凭证撤销不可或缺,因为各种原因可能导致凭证提前失效。匿名性和委托特性使撤销变得更具挑战性,用户必须匿名证明其整个凭证链未被撤销。当前的撤销方法主要基于累加器,但不适用于可委托匿名凭证。

本文的贡献主要有三点:
- 形式化定义同态证明,并基于GS证明构建同态证明。
- 构建具有可委托非成员证明的动态通用累加器(ADNMP)。
- 创建可撤销可委托匿名凭证系统(RDAC)。

2. 背景知识
  • 符号说明
    • PPT:概率多项式时间
    • CRS:公共参考字符串
    • Pr:概率
    • NM:非成员
    • ADNMP:具有可委托非成员证明的累加器
    • RDAC:可撤销可委托匿名凭证
    • ←:随机输出
    • 对于群G,G* := G{O}
    • Mat m×n(R):R上m×n矩阵的集合
    • 对于矩阵Γ,Γ[i, j]表示第i行第j列的值
    • 对于向量z,z[i]表示第i个元素
    • 对于函数ν : Z →R,若|ν(k)| < k−α,∀α > 0,∀k > k0,∃k0 ∈Z+,k ∈Z,则ν是可忽略的
  • 证明系统
    设R是一个关于(Para, Sta, Wit)的有效可计算关系,其中Para是设置参数,Sta是陈述,Wit是证据。非交互式证明系统由三个PPT算法组成:Setup、Prove和Verify。该系统必须满足完整性和可靠性。完整性指对于每个PPT攻击者A,| Pr[Para ←Setup(1k); (Sta, Wit) ←A(Para); Proof ←Prove(Para, Sta, Wit) : Verify(Para, Sta, Proof ) = 1 if (Para, Sta, Wit) ∈R] −1| 是可忽略的;可靠性指对于每个PPT攻击者A,| Pr[Para ←Setup(1k); (Sta, Proof ) ←A(Para) : Verify(Para, Sta, Proof ) = 0 if (Para, Sta, Wit) /∈R, ∀Wit] −1| 是可忽略的。
  • GS证明
    GS设置算法生成Gk和CRS σ。Gk包含L个元组,形式为(A1, A2, AT , f),其中A1, A2, AT是R - 模,f : A1 × A2 →AT ,L也是待证明陈述中的方程数量。CRS σ包含L个对应的R - 模和映射元组(B1, B2, BT , ι1, ι2, ιT ),其中ιj : Aj →Bj。GS陈述是一组L个对应的元组(a ∈An1 , b ∈Am2 , Γ ∈Matm×n(R), t ∈AT ),满足a · y + x · b + x · Γy = t,(x ∈Am1 , y ∈An2 )是对应的证据(有L个证据元组),a · y = nj=1 f(a[j], y[j])。陈述的证明包含L个对应的元组,每个元组由x的承诺c ∈Bm1 和y的承诺d ∈Bn2 以及值π和ψ组成。在SXDH实例化中,Para包括双线性对设置Gk = (p, G1, G2, GT , e, P1, P2)和CRS σ = (B1, B2, BT , F, ι1, p1, ι2, p2, ι′1, p′1, ι′2, p′2, ιT , pT , u, v),其中B1 = G21,B2 = G22,BT := G4T ,映射包括ιj : Aj →Bj,pj : Bj →Aj,ι′j : Zp →Bj和p′j : Bj →Zp,向量u(u1, u2 ∈B1)和v(v1, v2 ∈B2)是G1和G2的承诺密钥。
3. 同态证明
3.1 形式化定义

阿贝尔群需满足五个条件:封闭性、结合律、交换律、单位元存在和逆元存在。
定义1:设(Setup, Prove, Verify)是关系R的证明系统,Para ←Setup(1k)。考虑所有(Sta, Wit, Proof)的子集Π,满足(Para, Sta, Wit)∈R且Verify(Para, Sta, Proof ) = 1,以及运算 +Π : Π × Π →Π。若(Π, +Π)满足封闭性、结合律和交换律,则Π是一组同态证明。
若存在IΠ := (Sta0, Wit0, Proof 0) ∈Π,且(Π, +Π, IΠ)构成阿贝尔群,其中IΠ是单位元,则Π是一组强同态证明。

若 +Π ((Sta1, Wit1, Proof 1), (Sta2, Wit2, Proof 2)) →(Sta, Wit, Proof ),则有以下表示:
- (Sta, Wit, Proof ) ←(Sta1, Wit1, Proof 1) +Π (Sta2, Wit2, Proof 2)
- Sta ←Sta1 +Π Sta2
- Wit ←Wit1 +Π Wit2
- Proof ←Proof 1 +Π Proof 2

我们还使用乘法表示法n(Sta, Wit, Proof)表示(Sta, Wit, Proof)的n次自加,同样使用 i ni (Stai, Witi, Proofi)表示陈述、证据和证明的线性组合。这些同态性质对可随机化证明非常有用,可将同态运算得到的证明随机化,得到与Prove生成的证明不可区分的新证明。

3.2 GS同态证明

考虑一个包含L个方程的GS证明系统(Setup, Prove, Verify)。每个映射ιi : Ai →Bi满足ιi(x1 + x2) = ιi(x1) + ιi(x2),对于所有x1, x2 ∈A1和i ∈{1, 2}。
我们首先定义单位元IGS = (Sta0, Wit0, Proof 0)。Sta0由L个GS方程(a0, b0, Γ0, t0)组成,Wit0由L个对应的GS变量(x0, y0)组成,Proof 0由L个对应的GS证明(c0, d0, π0, ψ

4. 可委托非成员证明的累加器(ADNMP)
4.1 构造与安全要求

基于同态证明,我们构建了具有可委托非成员证明的累加器(ADNMP)方案。在构建之前,我们需要明确ADNMP的安全要求:
- 不可区分性 :用户A在不泄露隐私信息的情况下,将证明其身份未被累积到任何黑名单的能力委托给用户B,A和B生成的证明应不可区分,且黑名单可随时更改。
- 不可链接性 :难以判断两个委托是否来自同一个委托者A。
- 可再委托性 :用户B能够将证明A的凭证未被列入黑名单的能力再委托给用户C,且C从再委托中获得的信息应与从A的委托中获得的信息不可区分。
- 可验证性 :任何委托信息都必须能够被验证其正确性。

4.2 与现有方案对比
方案 依赖假设 所在群 非成员证明配对需求 随机预言机依赖
LLX 强RSA假设 复合阶群 未提及
ATSM 强DH假设 素数阶双线性配对群 四个配对
本文方案 素数阶双线性配对群

我们的方案具有明显优势。之前仅有LLX和ATSM两种具有非成员证明的累加器,但它们都不可委托。而我们的方案基于GS证明,无需随机预言机,并且在素数阶双线性配对群中构建,存储需求远小于RSA复合阶群。新的非成员证明者无需进行配对运算,相比之下,ATSM需要四个配对。

5. 可撤销可委托匿名凭证系统(RDAC)
5.1 传统匿名凭证撤销方法

传统上,匿名凭证的黑名单依赖于累加器。被撤销凭证的身份被累积到黑名单中,通过验证累加器的非成员证明来确定凭证的撤销状态。对于可委托匿名凭证,当凭证被撤销时,其所有委托的后代凭证也应被视为撤销。因此,用户必须匿名证明其所有祖先凭证都未被撤销,即使黑名单发生变化。

5.2 新的RDAC系统

通过采用ADNMP方法,我们创建了第一个具有可委托撤销能力的可委托匿名凭证系统(RDAC)。同态证明将证明的可委托性提升到了一个新的水平。在传统的可随机化和可变形证明中,证明的陈述条件通常保持不变,而同态证明允许在不了解证据的情况下,为包含新条件的新陈述生成新证明。用户可以通过揭示一些同态证明来将其证明能力委托给其他用户,这些证明及其陈述的线性组合使被委托者能够为具有不同条件的其他陈述生成新证明,例如在ADNMP中更新的黑名单。

6. 总结

本文围绕密码学中的证明系统、累加器和匿名凭证系统展开了深入研究。通过揭示GS证明的同态性,我们实现了一系列重要的创新:
- 形式化定义并构造了同态证明,为密码学证明系统带来了新的特性和应用可能性。
- 构建了具有可委托非成员证明的累加器(ADNMP),满足了可委托匿名凭证撤销的需求,且在安全性和效率上优于现有方案。
- 创建了可撤销可委托匿名凭证系统(RDAC),解决了可委托匿名凭证在实际应用中的撤销难题。

这些成果不仅丰富了密码学的理论体系,也为实际应用中的身份认证、隐私保护和凭证管理提供了更强大的工具和解决方案。未来,我们可以进一步探索这些技术在更多领域的应用,如物联网安全、云计算安全等,以应对不断增长的安全和隐私需求。

下面是一个简单的mermaid流程图,展示了RDAC系统中凭证委托与撤销的基本流程:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B(用户A拥有凭证):::process
    B --> C{是否委托凭证?}:::decision
    C -->|是| D(委托给用户B):::process
    C -->|否| E(继续使用凭证):::process
    D --> F{是否更新黑名单?}:::decision
    F -->|是| G(检查凭证是否撤销):::process
    F -->|否| E
    G --> H{凭证是否撤销?}:::decision
    H -->|是| I(凭证撤销):::process
    H -->|否| E
    I --> J([结束]):::startend
    E --> J

这个流程图展示了在RDAC系统中,凭证的委托、黑名单更新以及凭证撤销的主要流程,帮助我们更好地理解系统的工作原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值