一种多方量子签名协议的安全性分析与改进

2023-01-09 03:10韩国基
黑龙江大学自然科学学报 2022年3期
关键词:量子态正确性发送给

韩国基, 张 龙,3

(1.黑龙江大学 数学科学学院, 哈尔滨 150080; 2.黑龙江大学 黑龙江省复杂系统与计算重点实验室, 哈尔滨 150080;3.黑龙江大学 密码与网络安全研究院, 哈尔滨 150080)

0 引 言

在日常生活中经常要使用签名,例如在银行取钱时,写信时或者签署合同时等等,此类签名为物理签名。数字签名[1-4]是一种以电子形式储存的消息签名的方法,在电子商务和信息安全等领域有着广泛的应用。传统的数字签名协议的安全性是基于数学中的困难问题,如大整数分解问题、离散对数问题以及椭圆曲线问题等。这些困难问题的计算复杂度非常高,想要解决这些问题可能需要上百年的时间。因此传统的数字签名可以依靠这些困难问题,来保证其安全性。但是,随着计算机计算能力的提升以及量子计算理论的提出和量子计算机的诞生,传统签名协议将不再安全,如Shor算法可以对目前广泛使用的公钥密码协议进行有效攻击[5-8],而Grover 算法的作用相当于把密码的密钥长度减少一半[9-12]。现在的量子计算机也可以成功地进行小合数的因数分解试验,并且发展迅速。虽然目前的量子计算机不能对经典密码构成实际的威胁,但随着量子计算技术的发展,在未来的某一天就有可能会威胁到现有的密码体制。为了解决这些潜在的安全问题,一些研究学者将物理学中的量子技术与密码理论结合,诞生出了量子密码这个密码学的研究分支[13-15],它的安全性是以量子力学为基础,通过量子的物理特性来确保其安全性,可以有效的防止量子计算技术的攻击。量子签名是将量子力学与数字签名技术相结合,既能有效预防量子计算的攻击,又能保证签名的有效性。

在2001年,量子签名的理论就被提出[16-17],引起了学者们的讨论。2002 年,Zeng等设计了首个仲裁量子签名协议[18],协议中,验证者可以在仲裁的帮助下完成签名的验证。2007年,Wen等提出了一种基于GHZ态的多方量子签名协议[19],该协议的特点是消息的签名是由多个用户共同完成,且签名的验证不依赖仲裁员。之后,人们又逐渐提出了多个多方量子签名协议,如2010年,Yang等提出了一种具有多个签名者的可扩展的仲裁量子签名协议[20];2011年,Shi等提出了一种基于量子傅里叶变换的多方量子代理群签名协议[21];2013 年,Cao等提出了一种基于真正六粒子纠缠态的量子代理多重签名协议[22];2017 年,Shao等提出了一种基于量子多方代理盲签名的电子支付协议[23];2018 年,Sun等提出了一种在具体应用背景下的离线仲裁量子盲双签名协议[24]。上述这些协议运用了不同的量子载体来实现签名。2021年,Vandani等提出了一种新型的量子签名协议[25],该协议需要用户和认证机构共同生成最终签名,而且不需要对每个密钥进行加密。遗憾的是,该协议的正确性存在问题,即当协议中操作是不对易的情况时,生成的签名可能会出错,此外该协议还存在无法抵抗验证者伪造攻击的安全性问题。

1 Vandani等的协议简介

Vandani等的协议有3个参与者:Alice是用户(签名者),CA是半信任的认证机构,Bob是验证者。协议一共分3个阶段:初始阶段、签名阶段和验证阶段。

1.1 初始阶段

(1)Alice和Bob各自选择一组随机数PA和PB作为他们的公钥,PA=(a1A,b1A,a2A,b2A, …,anA,bnA)和PB=(a1B,b1B,a2B,b2B,…,anB,bnB),其中aiA,biA,aiB,biB∈{0,1},0

(2)CA收到PA和PB后,生成Alice和Bob的私钥SA=(c1A,d1A,c2A,d2A,…,cnA,dnA)和SB=(c1B,d1B,c2B,d2B,…,cnB,dnB),其中,ciA,diA,ciB,diB∈{0,1},0

1.2 签名阶段

(1)Alice首先生成身份消息M=(m1,m2, …,mn),其中mi∈{0,1},0

(1)

(2)Alice生成一组随机数RA作为私钥,RA=(p1,q1,p2,q2,…,pn,qn),pi,qi∈{0,1},0

(2)

F[1]被定义为:

(3)

其中

(4)

(5)

(3)Alice通过安全的量子信道将|φ′〉 发送给CA,在CA收到|φ′〉后,根据密钥KC对|φ′〉执行F[2]操作:

(6)

F[2]被定义为:

(7)

其中

(8)

(4)最后,CA通过安全的量子信道将|S〉发送给Bob。

1.3 验证阶段

(1)Bob为了验证Alice的消息,对收到的|S〉根据PB⊕SB⊕RA执行F[3]操作:

(9)

F[3]被定义为:

(10)

其中

(11)

2 对Vandani等协议的分析

Vandani等的协议主要有两个问题,即正确性问题和安全性问题。采取举出实例验证的方法来指出协议中存在的问题。具体的分析情况如下。

2.1 正确性分析

这个协议并不是在所有情况下都是正确的。为了方便展示以及计算,本小节将用一个例子进行介绍。取n=1,假设PA=(1,1),PB=(0,1),SA=(0,1),SB=(1,0),M=(0),RA=(1,1),通过计算可得出KA=(1,0),KB=(1,1),KC=(0,1)。Alice用她的私钥SA将消息M编码成量子态:

|φ〉=|ψ0, 1〉=|+〉

(12)

计算σ=PA⊕RA=(0,0)并对|φ〉执行F[1]操作:

(13)

(14)

得到|φ′〉=|-〉发送给CA,CA根据KC对|φ′〉执行F[2]操作:

(15)

(16)

得到|S〉=|1〉发送给Bob,Bob计算PB⊕SB⊕RA=(0, 0),然后对|S〉执行F[3]操作:

(17)

(18)

得到|S′〉并对其进行测量,得到的测量结果为M′=(1)≠M=(0),由此证明了此协议是不正确的。

具体来讲,当F[1],F[2],F[3]操作分别是σZ,H,σZ或H,σZ,H,且|φ〉=|+〉或|-〉时,协议是不正确的,原因在于σZ与H互不对易,当出现上述情况时,协议里会出现σX操作:

(19)

在对|φ〉=|+〉(|-〉)做σX操作后,|+〉(|-〉)将变成|-〉(|+〉),而原本的σZ操作则是将|+〉(|-〉)变成|+〉(|-〉),从而导致操作后结果发生错误。

2.2 安全性分析

表1 伪造的消息跟伪造的签名之间的对应关系

3 改进的多方量子签名协议

针对Vandani等协议里出现的问题,本节对量子态的定义和签名操作进行了修改,将不对易的操作改为对易操作,解决了因操作不对易所产生的正确性问题,并且将选择一个完全可信任的第三方Trent代替半信任的认证机构CA,解决了协议中存在的安全性问题。具体协议流程如下。

3.1 初始阶段

(1)Alice和Bob各自选择一组随机数PA和PB作为他们的公钥,并通过安全信道发送给Trent:

PA=(a1A,b1A,a2A,b2A, …,anA,bnA)

(20)

PB=(a1B,b1B,a2B,b2B,…,anB,bnB)

(21)

式中aiA,biA,aiB,biB∈{0,1},0

(2)Trent收到PA,PB后,生成Alice和Bob的私钥SA和SB,并通过安全信道将私钥发送给Alice和Bob:

SA=(c1A,d1A,c2A,d2A,…,cnA,dnA)

(22)

SB=(c1B,d1B,c2B,d2B,…,cnB,dnB)

(23)

式中ciA,diA,ciB,diB∈{0,1},0

KC=PA⊕PB⊕SA⊕SB=(g1C,h1C,g2C,h2C,…,gnC,hnC)

(24)

式中giC,hiC∈{0,1},0

3.2 签名阶段

(1)Alice首先生成消息M:

M=(m1,m2, …,mn)

(25)

式中mi∈{0,1},0

|φ〉=|ψm1⊕c1A, d1A〉⊗|ψm2⊕c2A, d2A〉⊗…⊗|ψmi⊕ciA, diA〉

(26)

|ψmi⊕ciA, diA〉(i=1, 2, …,n)是以下量子态中的一个:

(27)

(2)然后,Alice生成一组随机数RA作为私钥,RA=(p1,q1,p2,q2,…,pn,qn),其中pi,qi∈{0,1},0

(28)

F[1]被定义为:

(29)

式中

(30)

(31)

F[2]被定义为:

(32)

式中

(33)

3.3 验证阶段

(34)

F[3]被定义为:

(35)

其中

(36)

4 改进协议的分析

4.1 正确性分析

在改进后的协议里,操作只有I操作、H操作和σY操作,这3个操作之间是对易或反对易的,不会出现新的操作。因此,也不会改变操作后的结果,保证了协议的正确性。可以用2.1节的例子来验证其正确性。

(37)

Alice用私钥SA将消息M编码成量子态|φ〉:

|φ〉=|ψ0, 1〉=|1〉

(38)

计算σ=PA⊕RA=(0,0)并对|φ〉执行F[1]操作:

(39)

(40)

得到|φ′〉=|1〉发送给Trent,Trent根据KC对|φ′〉执行F[2]操作:

(41)

(42)

得到|S〉=|0〉发送给Bob,Bob计算PB⊕SB⊕RA=(0, 0),然后对|S〉执行F[3]操作:

(43)

(44)

得到|S′〉并对其进行测量,得到的测量结果为M′=(0)=M=(0),协议正确。

4.2 安全性分析

(1)对于外部攻击,若外部窃听者Eve在量子态传输过程中想要进行窃听行为,由于Eve不知道密钥PA,PB,SA,SB,攻击将会改变粒子,从而在检测窃听阶段就会被发现,协议将中止进行。

(2)当Bob试图伪造消息M和签名|S〉 时,由于Trent储存了签名|S〉,作为完全可信任的第三方,Trent将会发现Bob的伪造行为,因此Bob无法进行伪造。

(45)

(46)

所以,Alice得到正确的测量结果并且不被发现的概率,即Alice可以伪造签名|S〉的概率p为:

(47)

随着粒子数的增加,当n足够大时,Alice想要伪造签名的可能性趋近于0。

5 结 论

对Vandani等提出的多方量子签名协议进行了详尽的分析,发现其存在因为签名操作设计的不对易性使得签名验证出现错误,并且签名协议无法抵御验证者的伪造攻击。在此基础上,利用对易操作来解决其存在的正确性问题,又引入可信任的第三方来解决伪造攻击。分析表明,新方案可以保证多方量子签名协议的正确性,同时可以抵御验证者的伪造攻击。本研究是在可信任的第三方(Trent)模型下进行设计的,那么在没有可信任第三方的情况下,即半信任模型下,是否也可以利用对易操作来设计一个安全的多方量子签名协议将是下一步研究的重点。

猜你喜欢
量子态正确性发送给
基于l1范数相干度的量子态区分
一类两体非X-型量子态的量子失谐
【微信小课堂】:如何向好友发送语音
你说我说大家说
量子特性与量子信息技术
浅谈如何提高水质检测结果准确性
连续变量量子态的光学控制分析
“正确性”与“实用性”的初探
再议不能让孩子输在起跑线上
公告