论文笔记:Repudiability and Claimability of Ring Signatures

Park, S., Sealfon, A. (2019). It Wasn’t Me!. In: Boldyreva, A., Micciancio, D. (eds) Advances in Cryptology – CRYPTO 2019. CRYPTO 2019. Lecture Notes in Computer Science(), vol 11694. Springer, Cham. https://doi.org/10.1007/978-3-030-26954-8_6

动机

如果所谓的签名者希望撤销已签名的消息—或者,如果签名者希望稍后站出来声明对某个签名的所有权
贡献:

  1. 形式化定义并给出了可否认环签名、不可否认环签名、可宣称环签名和不可宣称环签名
  2. 可否认结构是基于vrf的,这是由几个数论假设(包括强RSA或双线性映射)所暗示的;
  3. 可宣称结构是一个从任何标准环签名方案到可索赔方案的黑箱转换;
  4. 不可宣称结构来自于基于格的环特征,它依赖于SIS的困难性。可否认结构也提供了一种新的标准环签名结构。

场景1(Repudiability):恶意的签名方生成的签名在实际中(如选举)可能对环成员造成诋毁\声誉影响;所以验证密钥的所有者希望能声明否认消息。
场景2(Claimability):
关于某时匿名发布的结果,当匿名的需求不存在后,尤其是冒名顶替者提出竞争性声明时,可以有一种可信的方式声明作者身份
场景3(Unrepudiability and Unclaimability):出于某些纯粹的目的,不可声明性避免了签名者日后表明身份带来的其他影响(如签名者代表某个党派的立场)。

不可声明性和不可否认性可能是特别有用的保证,特别是在使整群人处于胁迫之下是一个重大关切的情况下。在这种情况下,一个团伙的成员可能有相互冲突的个人动机,但在合作的情况下,有可能获得集体利益,如囚徒困境的情况

Overview

Repudiable ring signature scheme

性质

  • 正确性:一个环的任何成员都必须能够对他没有出示的任何签名提出有效的否认。
  • Soundness:一个作弊的签名者必须不能对一个环产生有效的签名,也不能在他所拥有的环的每个验证密钥下对该签名产生有效的否定。

安全性:加入一个 repudiation oracle

Claimability ring signature scheme

性质

  • Correctness:任何诚实的签名者必须能够就他所签署的任何签名提出有效的声明。
  • Soundness: 任何敌手都不能对诚实的签名者产生的签名产生有效的声明,即使对手可以选择产生签名的消息和环,并可以在环中插入畸形的验证密钥
  • 不可陷害No framing: 任何敌手都不能代表诚实的(非签字的)一方提出有效的签名声明。

安全性:加入一个claim oracle

Repudiableand-claimable ring signature

安全性:repudiableand-claimable ring signature scheme中的不可伪造性和匿名性,并不等于两个的联合,需要考虑一种更强的敌手,具有访问两种oracle的权限。

Unclaimable ring signature

签名者可证明的不能令人信服地声称ta是提供签名的人。
unclaimable ring signature :环中的任何成员都必须能够为一个分布与真实签名随机性难以区分的签名产生虚假签名随机性。直观地说,签名者可能拥有而环的其他成员不拥有的唯一信息是签名随机性,因此能够生成令人信服的模拟签名随机性的非签名者也可以令人信服地模拟签名者在试图声明签名时可能释放的任何附加信息。

(需要排除消息本身具有可识别性的情况,这种情况下任何强力的不可声明签名都无法阻止)

Unrepudiability

unclaimable从直觉上保证了没有一个成员能令人信服地证明ta是签名者。另一个相关的、较弱的概念在某些情况下可能是可取的,那就是不可否认性Unrepudiability,它保证没有任何一个成员能够令人信服地证明她不是签名者。不可否认性等价于对全密钥暴露的匿名性,隐含着不可声明性。

在这里插入图片描述

Anonymity and Unforgeability

Anonymity

由oracle集参数化的新的广义匿名定义,并将两个相关的匿名定义表示为广义定义的实例。这是因为新的定义需要允许对手访问与repudiation and/or claiming相关的附加oracles。
附加参数 α ∈ { 0 , 1 , 2 } \alpha\in\{0,1,2\} α{0,1,2}限制对手的腐败。
在这里插入图片描述
函数 G e n − 1 Gen^{−1} Gen1 G e n Gen Gen生成的 ( v k , s k ) (vk,sk) (vk,sk)作为输入,并生成 G e n Gen Gen生成该密钥对所使用的随机性,即 { ω : G e n ( 1 k , ω ) = ( v k , s k ) } \{\omega : Gen(1^k,\omega) = (vk, sk)\} {ω:Gen(1k,ω)=(vk,sk)}
在这里插入图片描述
可查询腐化oracle的敌手1产生的消息和环,以及附加信息,将两个腐化公钥加入环中,用任一的私钥生成签名,敌手2可以根据签名、附加信息猜对签名者的优势可忽略。

在这里插入图片描述
情况1:当挑战者确定挑战值(0或1),敌手2不能再查询签名谕言机。
情况2:敌手2也能在挑战值确定后再查询签名谕言机-自适应
(尝试理解adaptive的关键在于敌手查询谕言机和挑战这二者的顺序)

定义5和6是定义3的实例。
在这里插入图片描述
定义5抓住了一种保证:只要一个环中最少有两个诚实的参与方,即使所有其他的参与方都被腐化,敌手仍不能分辨是哪个诚实参与方生成了签名。

考虑一个更强的定义,即对手可能会腐蚀环中除一个之外的所有,甚至所有方,如定义6所示:
在这里插入图片描述
在之前的工作中没有讨论过匿名的自适应变体。在原文中,主要提到对抗选择密钥的自适应匿名:这是与可否认性和可索赔性兼容的最强概念。定义6不包括自适应版本,因为当对手可以破坏所有密钥时,自适应不会给对手任何额外的能力

Unforgeability

在这里插入图片描述
敌手能够生成一组消息的伪造签名,满足:这组签名合法;且签名环未腐化;且消息的签名未被查询过。同时成立的概率可忽略。

在这里插入图片描述

Definitions

Repudiable ring signatures

定义:具有以下附加算法的换签名方案,满足正确性、Repudiability、anonymity、unforgeability

  • Repudiate ( s k , σ , R ) → ξ \textrm{Repudiate}(sk,\sigma,\mathcal{R})\rightarrow \xi Repudiate(sk,σ,R)ξ. 输出一个否认
  • VerRepud ( R , σ , ξ , v k ) → 0 / 1 \textrm{VerRepud}(\mathcal{R},\sigma,\xi,vk)\rightarrow 0/1 VerRepud(R,σ,ξ,vk)0/1. 验证 ξ \xi ξ是否是一个有效的否定证明 σ \sigma σ不是由 v k vk vk产生的。

Repudiability

Repudiation oracle O R p d ORpd ORpd:对一个Repudiable ring signature R S RS RS, oracle O R p d ( v k 1 , s k 1 ) , . . . , ( v k n , s k n ) ( i ∈ [ n ] , σ , R ) → R S . R e p u d i a t e ( R ∪ { v k i } , s k i , σ ) ORpd_{(vk_1,sk_1),...,(vk_n,sk_n)}(i\in[n],\sigma,\mathcal{R})\rightarrow RS.Repudiate(\mathcal{R}\cup\{vk_i\},sk_i,\sigma) ORpd(vk1,sk1),...,(vkn,skn)(i[n],σ,R)RS.Repudiate(R{vki},ski,σ)
特别地,定义 O R p d ( v k 1 , s k 1 ) , . . . , ( v k n , s k n ) ⟨ σ ∗ ⟩ ORpd_{(vk_1,sk_1),...,(vk_n,sk_n)}^{\left \langle \sigma^*\right \rangle} ORpd(vk1,sk1),...,(vkn,skn)σ,当输入的签名是 σ ∗ \sigma^* σ输出 ⊥ \perp ,其他情况不变。

在这里插入图片描述
条件(3):“好人可以否认”的要求,即对于任何(可能是恶意生成的)签名,没有生成签名的诚实的一方应该能够成功地否认。
(对于敌手给出的签名,好人用户sk可以生成一个有效的否认;或者签名不合法;或者这个签名被签名oracle查询过)
在这里插入图片描述
条件(4):“坏人不能否认他们产生的签名”的需求,也就是说,恶意签名和否认都是使用被验证的密钥产生的情况,恶意签名者不能产生有效的否认。
(对于敌手生成的签名和一组否认,验证这组否认,签名是R’中R的部分(交集)生成的则f否认有效;或所有否认都不合法;或签名不合法;或这个签名被签名oracle查询过。保证了拥有一组签名密钥的一方不能在所有这些密钥下进行拒绝,只要环中的某些密钥是诚实生成的

Anonymity and Unforgeability

Anonymity of repudiable ring signatures
定义3的另一个实例,加入了ORpd,注意自适应版本排除了对签名本身的否认(否则敌手就能知道是谁签的了)
注意:这是可否认性兼容的最强匿名性在这里插入图片描述
定义7的实例,加入ORpd.

Unrepudiable ring signatures

这个概念的自然形式化可以用anonymity against full key exposure 定义来表示(定义6):也就是最强的匿名定义。

回想一下,针对anonymity against full key exposure(FKE)可以保持签名者的匿名性,即使对获得环中所有成员的所有密钥的敌手也是如此。
一个满足可否认性的环签名方案不满足anonymity against FKE,这是因为以下攻击:攻击者获得环中的所有密钥,试图使用每个密钥进行否认,并将否认算法不能产生有效否认的密钥识别为签名者。

认为anonymity against FKE是不可否认性最合理的定义:
在这里插入图片描述

Claimable ring signatures

可声明性处理的是实际签名者是否能够在不记得签名者的随机性的情况下,稍后证明他们是签名者。

定义:具有以下附加算法的环签名方案,满足正确性、claimability (Definition 17), anonymity (Definition 18), and unforgeability (Definition 19)
Claim ( s k , σ , R ) → ζ \textrm{Claim}(sk,\sigma,\mathcal{R})\rightarrow \zeta Claim(sk,σ,R)ζ. 输出一个 声明
VerClaim  ( R , v k , σ , ζ ) → 0 / 1 \textrm{VerClaim }(\mathcal{R},vk,\sigma,\zeta)\rightarrow 0/1 VerClaim (R,vk,σ,ζ)0/1. 指出 ζ \zeta ζ是否是一个有效的声明,证明 σ \sigma σ是由 v k vk vk产生的。

Claimability

Claim oracle O C l a i m OClaim OClaim:对一个Repudiable ring signature R S RS RS, oracle O C l a i m ( v k 1 , s k 1 ) , . . . , ( v k n , s k n ) ( i ∈ [ n ] , R , σ ) → R S . C l a i m ( R , s k , σ ) OClaim_{(vk_1,sk_1),...,(vk_n,sk_n)}(i\in[n],\mathcal{R},\sigma)\rightarrow RS.Claim(\mathcal{R},sk,\sigma) OClaim(vk1,sk1),...,(vkn,skn)(i[n],R,σ)RS.Claim(R,sk,σ)
特别地,定义 O C l a i m ( v k 1 , s k 1 ) , . . . , ( v k n , s k n ) ⟨ σ ∗ ⟩ OClaim_{(vk_1,sk_1),...,(vk_n,sk_n)}^{\left \langle \sigma^*\right \rangle} OClaim(vk1,sk1),...,(vkn,skn)σ,当输入的签名是 σ ∗ \sigma^* σ输出 ⊥ \perp ,其他情况不变。

在这里插入图片描述
诚实的签名者能够成功地声明他们的签名;
在这里插入图片描述
敌对方不能成功地声明他们没有产生的签名;
在这里插入图片描述
敌对方不能产生一个签名,它的附带声明说这个签名是某个诚实方产生的(即错误地将诚实方视为签名者)。

Anonymity and Unforgeability

在这里插入图片描述
在这里插入图片描述
注意:这是可声明性兼容的最强匿名性
在这里插入图片描述

Unclaimable ring signatures

也就是说,**对于真签名者在给定签名随机性和密钥的情况下可以计算出的任何函数,环的任何其他成员都可以计算出一个不可区分的函数。**结果是,即使是一个在胁迫下掌握了所有环成员的敌手,也无法找出是谁提供了给定的签名。即使在胁迫下的团伙成员试图与敌手合作,情况也是如此。

为了实现这一点,环的任何成员都能够从真实的签名随机性中提取不可区分分布的签名随机性,这将在他们的密钥下产生给定的签名。

附加算法:
E x t r a c t R a n d o m n e s s ( R , s k , σ , m ) ExtractRandomness(R, sk, \sigma, m) ExtractRandomness(R,sk,σ,m).如果 s k sk sk是环 R R R的一个密钥,而 σ σ σ m m m关于 R R R的一个签名,那么它输出的是随机性ρ.这个算法必须满足条件:
(Statistical unclaimability)
在这里插入图片描述
注意:Claimability is not the opposite of unclaimability
可声明性要求在不记得签名随机性的情况下“自愿声明”签名的能力,而不可声明性则排除了“被迫声明”的能力,即使给定了签名随机性。对于自愿声明,更自然、更强的定义是保证自适应声明能力,不需要“提前计划”,也不需要记住签名随机性的存储要求。相反,当考虑在胁迫下的声明尝试时,自然和更强的定义是排除成功声明的可能性,即使在签名随机性存在的情况下。

Unclaimability Implies Unrepudiability.
任何不可声明的环签名方案也是不可否认的。不可声明性的定义抓住了这样一个思想:对于任何函数,在给定签名随机性和密钥的情况下,真正的签名者可以计算,环的任何其他成员也可以计算一个不可区分的函数。直观地说,其含义来源于这样一个事实,即可否认性要求非签名者的行为与实际签名者的任何可能行为相区分。

Repudiable-and-Claimable Ring Signatures

假设(Gen, Sign, Verify)是一个环签名方案,存在Repudiate, VerRepud, Claim, VerClaim算法。这七种算法加在一起不一定满足“Repudiable-and-Claimable”方案的自然概念。
Repudiable-and-Claimable Ring Signature方案的自然安全定义是在可否认性、可声明性、匿名性和不可伪造性定义中同时包含否认和声明谕言机。

构造

Repudiable Construction

依赖于ZAPs(two-message public coin witness indistinguishable proofs )和可验证随机函数(vrf)作为构建块。
在这里插入图片描述
可验证随机函数:
(补充阅读:https://blog.csdn.net/qq_33583069/article/details/125631380
在这里插入图片描述
在这里插入图片描述
方案
在这里插入图片描述为什么要4对VRF密钥对
在这里插入图片描述
6生成4个伪随机数和对应的证明。
7对每个环成员,生成statement的证明
在这里插入图片描述
在这里插入图片描述
生成否认。
line 4:再生成两个伪随机数和对应的证明
line 6:对环中成员,生成证明作为否认。
在这里插入图片描述
验证否认。
思考问题:
为什么sk中包含vk?
为什么要四个VRF?
两次使用ZAP的Prove,为什么分别使用的statement和witness是那样?

其他构造和证明见原文。
(基于承诺和PRF构造了从普通环签名到Claimable的转换构造;基于Brakerski and Kalai的SIS换签名的ExtractRandomness算法构造Unclaimability环签名)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值