25、标准模型下的高效可追踪签名

标准模型下的高效可追踪签名

在当今的数字世界中,签名技术在保障信息安全和身份认证方面起着至关重要的作用。传统的签名技术在某些场景下存在局限性,而可追踪签名(Traceable Signatures,TS)则为解决这些问题提供了新的思路。本文将深入探讨可追踪签名的相关概念、技术以及其在标准模型下的实现。

1. 背景知识

在详细介绍可追踪签名之前,我们需要了解一些相关的背景知识,包括群签名和可追踪签名的基本概念,以及所使用的复杂度假设。

1.1 群签名

群签名由Chaum和van Heyst引入,允许群成员在不透露其身份的情况下对消息进行签名。当需要时,拥有特权信息的权威机构可以“打开”签名并揭示签名者的身份。群签名在电子拍卖、可信计算平台等需要匿名性的场景中具有重要应用。

近年来,基于配对的群签名构造受到了广泛关注。配对技术主要用于实现两个目标:一是生成短签名,二是在标准模型下实现签名,避免依赖随机预言机理想化。例如,Boneh、Boyen和Shacham展示了第一个签名长度小于200字节的方案。

然而,现有的实用群签名方案大多依赖随机预言机模型。在标准模型下,一些理论构造仅为概念验证,缺乏实际效率。例如,Boyen和Waters使用改进的非交互零知识(NIZK)技术,在静态BMW模型中实现了具有对数大小签名的方案,并进一步改进以消除签名大小对群基数的依赖。Ateniese等人独立构造了另一个依赖更强交互假设的方案。Groth在动态BSZ模型中提出了无随机预言机的恒定大小签名方案,但签名长度过长,不适合实际应用。直到2007年,Groth展示了另一个标准模型方案,签名长度小于2 kB,并在BSZ模型中实现了完全匿名性。

1.2 可追踪签名

在群签名中,如果已知成员的姓名和公钥,要扫描所有签名并验证哪些是由该成员签署的,只能通过撤销所有签名的匿名性来实现,这会影响诚实用户的签名匿名性。为了解决这个问题,Kiayias、Tsiounis和Yung引入了可追踪签名。

可追踪签名允许群管理员(GM)单独打开签名,此外,GM还可以揭示一个陷门,使职员能够追踪可疑成员的签名,而无需撤销每个签名的匿名性。这样,不良用户可以被追踪,而不会影响诚实用户的匿名性。而且,这种可追踪性提高了系统的可扩展性,因为追踪代理可以并行运行,而传统群签名需要集中的追踪权威。可追踪签名还支持一种机制,使用户能够证明其对自己匿名生成的签名的所有权。

Kiayias、Tsiounis和Yung(KTY)通过三个属性(误识别安全性、不可陷害性和匿名性)形式化了可追踪签名的安全性,并提出了第一个实现方案(使用Fiat-Shamir启发式,因此依赖随机预言机模型),并在强RSA和决策Diffie-Hellman假设下证明了其安全性。后来,Ge和Tate提出了效率改进方案。同时,Nguyen和Safavi-Naini以及Choi、Park和Yung给出了基于配对的短签名构造。最近,Benjumea等人考虑了多组设置下具有扩展功能的可追踪签名,并在随机预言机模型中实现了它们。

1.3 复杂度假设

我们使用素数阶为p的群(G,GT),并赋予一个高效可计算的映射e : G × G → GT,使得对于任何元素(g,h)∈ G × G,a,b ∈ Z,有e(ga, hb) = e(g, h)ab,并且当g,h ≠ 1G时,e(g, h) ≠ 1GT。

在这个代数环境中,我们依赖于可证伪的复杂度假设,主要包括以下三个:
- 决策线性问题(DLIN) :在素数阶p > 2λ的群G = ⟨g⟩中,决策线性问题是区分分布(ga, gb, gac, gbd, gc+d)和(ga, gb, gac, gbd, gz),其中a, b, c, d $← Z∗p,z $← Z∗p。决策线性假设断言,对于任何PPT区分器D,AdvDLIN G,D (λ) = |Pr[D(ga, gb, gac, gbd, gc+d) = 1|a, b, c, d $← Z∗p] - Pr[D(ga, gb, gac, gbd, gz) = 1|a, b, c, d $← Z∗p, z $← Z∗p]|是可忽略的。
- ℓ - 隐藏强Diffie - Hellman问题(ℓ - HSDH) :在素数阶为p的群G中,给定元素(g, Ω = gω, u) $← G3和ℓ个不同的三元组(g1/ω+si, gsi, usi),其中s1, …, sℓ∈ Z∗p,目标是找到另一个三元组(g1/ω+s, gs, us),使得s ≠ si,i = 1, …, ℓ。
- (修改后的)ℓ - 三重Diffie - Hellman问题(ℓ - mTDH) :给定(g, ga, gb) ∈ G3,其中a, b随机选择自Z∗p,以及ℓ个不同的对(g1/(a+ci), ci),其中c1, …, cℓ∈ Z∗p,目标是输出一个三元组(gμ, gbμ, gabμ),其中μ是非零元素。在本文中,我们只需要一个对(c, g1/(a+c))(即ℓ = 1)。相关的BB - CDH假设断言,在输入(ga, gb)以及对(g1/(a+ci), ci)的情况下,找到gab是不可行的。在知识指数假设(KEA)下,ℓ - mTDH问题等价于BB - CDH问题。

2. 可追踪签名模型和安全概念

可追踪签名由以下算法或协议组成:
| 算法/协议 | 描述 |
| — | — |
| Setup | 给定安全参数λ,该算法(可能由可信方运行)生成广泛分发的群公钥Y和交给群管理员的匹配私钥S。 |
| Join(GM, Ui) | 群管理员GM与潜在用户Ui之间的交互式协议,用户Ui获得其他人不知道的成员秘密seci和成员证书certi。GM将整个交互记录存储在名为transcripts的数据库中。 |
| Sign | 给定成员证书certi、成员秘密seci和消息M,该算法输出消息M的可追踪签名σ。 |
| Verify | 在输入签名σ、消息M和群公钥Y的情况下,该确定性算法返回0或1,表示签名是否有效。 |
| Open | 输入在群公钥Y下验证有效的签名σ、相应的私钥S和所有加入协议的记录数据库transcripts,输出群成员的身份i。 |
| Reveal | 输入群管理员的私钥S、群成员的索引i和用户i的加入记录transcripti,输出该用户的追踪陷门tracei。 |
| Trace | 输入有效的可追踪签名σ、群公钥Y和用户i的追踪陷门tracei,该算法输出0或1,表示签名是否由该用户签署。 |
| Claim | 输入群公钥Y、用户i发出的有效签名σ、该用户的成员秘密seci和证书certi,输出用户i对签名σ的所有权声明τ。 |
| Claim - Verify | 给定群公钥Y、签名σ和声明τ,该确定性算法输出0或1,表示声明是否有效。 |

安全属性通过实验进行形式化,攻击者可以访问共享某些变量的预言机:
- state :包含到目前为止定义的加入记录、成员证书和秘密。
- N :群中的用户数量。
- Sigs :Qsig预言机发出的签名数据库。
- Revs :作为Qreveal查询输入的成员集合。
- U p :通过Qp - join查询引入系统的诚实用户集合。
- U a :系统中受攻击者控制的用户集合。
- U b :由攻击者作为不诚实的群管理员引入的用户集合,这些用户的加入协议记录会泄露给攻击者。

攻击者可以访问的预言机如下:
- QY :返回系统的公共信息(N, Y)。
- QS :返回群管理员的私钥,使攻击者能够破坏群管理员。
- Qp - join :私下将新的诚实用户引入群中,模拟加入协议,更新相关变量。
- Qa - join :允许攻击者将受其控制的用户引入群中,模拟加入协议,更新相关变量。
- Qb - join :允许攻击者作为不诚实的群管理员引入新的群成员,模拟加入协议,更新相关变量。
- Qsig :输入消息M和用户索引i,检查state中是否存在相应记录,若存在则代表用户i生成并返回可追踪签名,同时更新Sigs数据库。
- Qreveal :输入用户索引i,若用户存在且不属于U b,则返回该用户的追踪陷门,并将该用户添加到Revs集合中。

2.1 误识别攻击

在误识别攻击中,攻击者可以控制一定数量的群成员。通过Qp - join和Qsig预言机,攻击者可以观察用户加入和生成签名的操作,并通过Qreveal预言机获取用户的追踪信息。攻击者的目标是生成一个非平凡的有效签名,该签名不会打开到其控制的任何用户,也无法追溯到其中任何一个用户。

一个可追踪签名在误识别攻击下是安全的,如果对于任何PPT攻击者A,Advmis - id A (λ) = Pr[Exptmis - id A (λ) = 1]是可忽略的。实验Exptmis - id A (λ)的流程如下:

(Y, S) ← Setup(λ);
(M ⋆, σ⋆) ← A(QY, Qp - join, Qa - join, Qsig, Qreveal);
If Verify(M ⋆, σ⋆, Y) = 0 then return 0;
If ((Open(σ⋆, Y, S) ̸∈ U a) ∨ (∀i∈Ua Trace(σ⋆, Reveal(i)) = 0)) ∧ (∀i∈Up (i, M ⋆, ∗) ̸∈ Sigs) then return 1;
Return 0;
2.2 陷害攻击

在陷害攻击中,攻击者可以通过QS预言机破坏群管理员,并观察用户加入和生成签名的系统操作。考虑两种陷害攻击:一是攻击者成功生成一个签名,该签名打开或追溯到一个无辜的群成员;二是攻击者成功声称另一个用户生成的签名是自己的。

为了处理使用NIWI证明系统时证明可公开重新随机化的情况,我们定义了签名空间上的等价关系。如果两个消息 - 签名对(M1, σ1)和(M2, σ2)属于同一等价类,记为(M1, σ1) ≡s (M2, σ2),则它们对应相同的消息且包含相同的可追踪性值。

一个可追踪签名在陷害攻击下是安全的,如果对于任何PPT攻击者A,Advfra A (λ) = Pr[Exptfra A (λ) = 1]是可忽略的。实验Exptfra A (λ)的流程如下:

(Y, S) ← Setup(λ);
(M ⋆, σ⋆, τ⋆) ← A(QY, QS, Qb - join, Qsig);
If Verify(M ⋆, σ⋆, Y) = 0 then return 0;
If ((Open(σ⋆, Y, S) = i ∈ U b) ∨ (∃i ∈ U b s.t. Trace(σ⋆, Reveal(i)) = 1)) ∧ (¬∃(i, M, σ) ∈ Sigs s.t. (M ⋆, σ⋆) ≡s (M, σ)) then return 1;
If (∃i ∈ U b s.t. (i, M, σ) ∈ Sigs and (M ⋆, σ⋆) ≡s (M, σ)) ∧ (Claim - Verify(σ⋆, τ⋆) = 1) then return 1;
Return 0;
2.3 匿名性

匿名性攻击者分两个阶段运行:游戏阶段和猜测阶段。在游戏阶段,攻击者可以通过Qa - join查询多次加入系统,使用Qp - join和Qsig预言机观察用户私下加入和签署消息的系统操作,并获取所选用户的追踪陷门。在游戏阶段结束时,攻击者选择两个未作为Qreveal查询输入的私下引入的用户i⋆0和i⋆1,并获得其中一个用户签署的签名。在猜测阶段,攻击者的目标是找出签名者是i⋆0还是i⋆1。

一个可追踪签名是匿名的,如果对于任何PPT攻击者A,Advanon(A) := |Pr[Exptanon A (λ) = 1] - 1/2|是可忽略的。实验Exptanon A (λ)的流程如下:

(Y, S) ← Setup(λ);
(aux, M ⋆, i0, i1) ← A(play : QY, Qp - join, Qa - join, Qsig, Qreveal);
If (i⋆0 ̸∈ U p) ∨ (i⋆1 ̸∈ U p) ∨ (i⋆0 ∈ Revs) ∨ (i⋆1 ∈ Revs) then return 0;
d⋆ $← {0, 1}; σ⋆ ← Sign(M ⋆, Y, certi⋆d⋆, seci⋆d⋆);
d′ ← A(guess, σ⋆, aux : QY, Qp - join, Qa - join, Qsig, Qreveal);
If (i⋆0 ∈ Revs) ∨ (i⋆1 ∈ Revs) then return 0;
If d′ = d⋆ then return 1;
Return 0;
3. Groth - Sahai承诺

当基于DLIN假设时,Groth - Sahai证明系统使用一个公共参考字符串,包含向量−→g1, −→g2, −→g3 ∈ G3,其中对于某些元素g1, g2 ∈ G,−→g1 = (g1, 1, g),−→g2 = (1, g2, g)。

为了对群元素X ∈ G进行承诺,设置−→C = (1, 1, X) ⊙ −→g1r ⊙ −→g2s ⊙ −→g3t,其中r, s, t $← Z∗p。当证明系统选择提供完美可靠的证明时,−→g3选择为−→g3 = −→g1ξ1 ⊙ −→g2ξ2,其中ξ1, ξ2 $← Z∗p。此时,承诺是Boneh - Boyen - Shacham(BBS)加密,因为−→C = (gr+ξ1t 1, gs+ξ2t 2, X · gr+s+t(ξ1+ξ2)),并且可以使用α1 = logg(g1)和α2 = logg(g2)进行解密。在WI设置中,−→g1, −→g2, −→g3是线性独立的,−→C是一个完美隐藏的承诺。在DLIN假设下,这两个参考字符串是不可区分的。

为了对指数x ∈ Zp进行承诺,使用向量−→ϕ, −→g1, −→g2并计算−→C = −→ϕ x ⊙ −→g1r ⊙ −→g2s。在可靠性设置中,−→ϕ, −→g1, −→g2是线性独立的向量;而在WI设置中,选择−→ϕ = −→g1ξ1 ⊙ −→g2ξ2会得到一个完美隐藏的承诺,因为无论x的值如何,−→C都是1G的BBS加密。

为了证明承诺的变量满足一组关系,思路是从关系本身开始,将变量替换为承诺。

综上所述,可追踪签名在保障数字签名的安全性和可追踪性方面具有重要意义。通过引入可追踪签名,我们可以在不影响诚实用户匿名性的情况下,有效地追踪不良用户的签名。同时,在标准模型下实现可追踪签名,避免了随机预言机模型可能存在的问题,提高了签名方案的安全性和可靠性。未来,可追踪签名有望在更多的领域得到应用,为数字世界的安全提供更强大的保障。

4. 方案描述与效率分析

我们提出了第一个在标准模型下实现的高效可追踪签名方案,该方案使用了Groth - Sahai非交互见证不可区分(NIWI)证明系统,并在KTY意义下基于非交互(即可证伪)假设证明了其安全性。

在效率方面,我们的方案与大多数高效的标准模型群签名相当。对于推荐的参数,我们得到的签名长度小于2.6 kB,接近Groth的签名大小。

以下是我们方案的主要步骤:
1. Setup算法
- 输入安全参数λ,生成素数阶为p的群(G,GT)以及相关的双线性映射e。
- 选择合适的群元素作为公共参数,如g1, g2等。
- 生成群公钥Y和群管理员私钥S。
2. Join协议
- 群管理员GM与潜在用户Ui交互。
- Ui获得成员秘密seci和成员证书certi。
- GM记录交互信息到transcripts数据库。
3. Sign算法
- 输入成员证书certi、成员秘密seci和消息M。
- 使用Groth - Sahai承诺和证明系统生成可追踪签名σ。
4. Verify算法
- 输入签名σ、消息M和群公钥Y。
- 验证签名的有效性,返回0或1。
5. Open算法
- 输入有效签名σ、群公钥Y、群管理员私钥S和transcripts数据库。
- 输出签名者的身份i。
6. Reveal算法
- 输入群管理员私钥S、用户索引i和用户i的加入记录transcripti。
- 输出用户i的追踪陷门tracei。
7. Trace算法
- 输入有效签名σ、群公钥Y和追踪陷门tracei。
- 判断签名是否由用户i签署,返回0或1。
8. Claim算法
- 输入群公钥Y、用户i的有效签名σ、成员秘密seci和证书certi。
- 生成用户i对签名σ的所有权声明τ。
9. Claim - Verify算法
- 输入群公钥Y、签名σ和声明τ。
- 验证声明的有效性,返回0或1。

下面是我们方案的效率对比表格:
| 方案 | 签名大小 | 安全模型 | 依赖假设 |
| — | — | — | — |
| 我们的方案 | < 2.6 kB | 标准模型 | DLIN、ℓ - HSDH、ℓ - mTDH |
| Groth 2007方案 | < 2 kB | 标准模型 | 其他假设 |
| 传统群签名(依赖随机预言机) | 不同大小 | 随机预言机模型 | 相关假设 |

从表格中可以看出,我们的方案在签名大小和安全模型方面都具有一定的优势。

5. 安全证明

我们在附录中详细证明了我们方案的安全性,主要包括误识别安全性、不可陷害性和匿名性三个方面。

5.1 误识别安全性证明

我们需要证明对于任何PPT攻击者A,Advmis - id A (λ) = Pr[Exptmis - id A (λ) = 1]是可忽略的。

证明思路如下:
1. 假设存在一个PPT攻击者A能够以不可忽略的概率赢得误识别攻击实验。
2. 利用攻击者A构造一个PPT区分器D,用于解决决策线性问题(DLIN)。
3. 根据决策线性假设,区分器D的优势是可忽略的,从而得出攻击者A的优势也是可忽略的。

5.2 不可陷害性证明

我们要证明对于任何PPT攻击者A,Advfra A (λ) = Pr[Exptfra A (λ) = 1]是可忽略的。

证明过程中,我们考虑了两种陷害攻击情况:
1. 攻击者生成一个签名,该签名打开或追溯到一个无辜的群成员。
2. 攻击者成功声称另一个用户生成的签名是自己的。

通过利用Groth - Sahai证明系统的性质和相关假设,我们可以证明攻击者在这两种情况下的成功概率都是可忽略的。

5.3 匿名性证明

我们需要证明对于任何PPT攻击者A,Advanon(A) := |Pr[Exptanon A (λ) = 1] - 1/2|是可忽略的。

证明步骤如下:
1. 定义一个游戏序列,从真实的匿名性实验开始,逐步进行修改。
2. 利用DLIN假设和Groth - Sahai证明系统的见证不可区分性,证明相邻游戏之间的差异是可忽略的。
3. 最终得出攻击者在真实实验中的优势是可忽略的。

6. 总结与展望

本文提出了第一个在标准模型下实现的高效可追踪签名方案,避免了随机预言机模型的使用。我们的方案在效率上与现有标准模型群签名相当,并且在KTY意义下基于可证伪假设证明了其安全性。

未来,我们可以从以下几个方面进行进一步的研究:
1. 进一步优化签名大小 :虽然我们的签名大小已经接近现有方案,但仍有优化的空间。可以探索新的密码学技术和算法,以减小签名的长度。
2. 扩展功能 :考虑在可追踪签名的基础上添加更多的功能,如签名的撤销、更新等。
3. 实际应用 :将可追踪签名应用到更多的实际场景中,如电子投票、区块链等,验证其在实际环境中的性能和安全性。

以下是我们方案的整体流程图:

graph TD;
    A[Setup] --> B[Join];
    B --> C[Sign];
    C --> D[Verify];
    C --> E[Open];
    B --> F[Reveal];
    F --> G[Trace];
    C --> H[Claim];
    H --> I[Claim - Verify];

这个流程图展示了我们可追踪签名方案的主要流程,从系统初始化(Setup)开始,经过用户加入(Join)、签名生成(Sign)、验证(Verify)、打开(Open)、追踪(Trace)和所有权声明(Claim)等步骤,形成了一个完整的签名系统。

总之,可追踪签名作为一种新兴的密码学技术,在保障数字签名的安全性和可追踪性方面具有巨大的潜力。我们的方案为可追踪签名在标准模型下的实现提供了一个有效的解决方案,未来有望在更多的领域得到广泛应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值