读的是这篇论文是Server-Aided Signature Verification for Lightweigh-2014-Guo 等
初看这篇论文的小伙伴可以花五分钟看看我写的笔记后再去看论文心中会更清楚一些。如果有误可以指出来交流交流。
服务器辅助签名验证
摘要
目前大多数服务器辅助签名验证的确提高了轻量级设备计算效率,但是没有考虑到轻量级设备的硬件成本,想要在轻量级设备上是有这一方案,硬件设备要跟上,花销成本还是挺大的。此外,目前都是基于配对的签名,它可以安全的将配对运算给服务器,让服务器去运算。但是要是要在两个群中执行运算。本文的方案只用在群中运算。
引言
服务器辅助签名验证将签名验证功能移到服务器去进行,目的皆在减少验证者的计算开销。
服务器辅助验证签名和在线/离线签名方案的区别:
SAV旨在减少验证者的计算负担,特别是针对轻量级设备或者计算能力较弱的设备,但仍然需要验证者参与验证过程。
在线/离线签名方案旨在减少签名者的计算负担,特别是针对需要频繁签署文档的场景。离线阶段允许签名者在离线状态下完成一部分预先计算的工作,生成一个与具体要签署的文档无关的部分签名信息。在签署实际文档时,签名者只需进行针对文档内容的少量计算,并结合离线阶段预先计算的部分签名信息,即可完成签名过程
大多数SAV方案关注安全模型和计算效率,并没有把硬件成本考虑,这使得实施SAV方案的开销不低。
本文的工作考虑了硬件成本。如果之前的SAV方案是需要验证者完成两件事后才能完成验证,那么本文就是验证者完成一件事后就可以完成工作。
相关工作
SAV要能够抵抗无限计算能力和服务器的共模攻击,我们可以使用配对委托协议来构造基于配对签名的SAV协议,这些通用SAV协议将是无条件安全的,但是需要验证者执行两种不同的群操作。
本文贡献
将验证者所有群操作都限制在上,因此一个G1的计算电路就是足够,减少了硬件开销。
准备工作(只写一些没见过的)
SAV由签名者,验证者和服务器三个实体组成
使用最强的安全模型即敌手拥有无限计算能力,且敌手是签名者和服务两者合谋的,目的是为了让验证者接收一个无效签名。
定理2.1 如果在SAV协议下输出正确的情况下,签名验证算法是不正确的 的概率是不可忽略的那我们就说SAV协议是无条件安全的
椭圆曲线构成的群基本上都是加法群
有限域中解决DL问题的算法时间是域大小次指数,对于当其大小大于1024位的时候可以有80位安全。如果ξ足够的大,那么对于G1和G2中的有限域中q的大小要是160位才能有80位的安全。也就是说保证具有80位安全的情况下G1要求q只需要160而需要1024,因此如果能保证只在G1群进行运算操作,那么我们就可以减少硬件的开销。
通用签名的SAV协议
通用签名
介绍了通用签名,KeyGen、Sign、Verify的过程
适用于任何签名者的SAV协议,无需预处理
这一方案,需要验证者可以生成伪随机数,并且签名验证需要按位比较。与原始签名验证中的 G2 中的标量乘法和配对计算相比,我们的协议中验证者只需要在 G1 中执行标量乘法。验证者需要具备:伪随机数生成能力,标量乘法能力,按位与能力
定理3.1:SAV对于无需预处理的签名是无条件安全的除非错误概率是
证明:敌手如果从U1和U2之间猜出w那么就可以让验证者即使无效的签名,只要w是正确的那么验证者就会认为这个签名是有效的。这里是线性无关的,因此从知道前面两个推不出第三个即w,因此,敌手只能从总数为$2^l$之中 找到一个w即是验证者所选的,这几率可以是忽略不记。
在这一方案中,要求服务器可以计算l位的离散对数
适用于任何签名者的 SAV 协议,具有预处理功能
验证者预先选择好秘密值,根据(pk,V,σ)计算出U1和U2然后将(U,X,U1,U2)发送给服务器,服务计算E后返回给验证者,验证者比较E
这一方案中,验证者的硬件不需要实现伪随机数生成,所需的为随机性都已经存储在其中,不需要服务器解决离散对数问题
该方案的代价就是存储预先选好的秘密值
具有预处理功能的已知签名者的 SAV 协议
该方案的预处理,可以事先把算出来。(通过自己选择的参数算,随后的抵消掉就变成了真正的)因此只在G1中执行了一次标量乘法(算)多了2n+2次的模乘,模乘比标量乘法快得多。该方案的代价就是需要模乘和更大的存储进行预处理。
BLS 签名的 SAV 协议
该方案验证者的计算主要是由五次标量乘法和一组散列操作。验证者需要具备:伪随机数生成的能力,H散列函数的能力,计算标量乘法U1和U2,按位与比较的能力的能力。
定理4.1 BLS签名的SAV协议是无条件安全的除了错误概率
证明:证明过程和3.1是一样的