韓國基, 張 龍,3
(1.黑龍江大學 數(shù)學科學學院, 哈爾濱 150080; 2.黑龍江大學 黑龍江省復雜系統(tǒng)與計算重點實驗室, 哈爾濱 150080;3.黑龍江大學 密碼與網(wǎng)絡安全研究院, 哈爾濱 150080)
在日常生活中經(jīng)常要使用簽名,例如在銀行取錢時,寫信時或者簽署合同時等等,此類簽名為物理簽名。數(shù)字簽名[1-4]是一種以電子形式儲存的消息簽名的方法,在電子商務和信息安全等領(lǐng)域有著廣泛的應用。傳統(tǒng)的數(shù)字簽名協(xié)議的安全性是基于數(shù)學中的困難問題,如大整數(shù)分解問題、離散對數(shù)問題以及橢圓曲線問題等。這些困難問題的計算復雜度非常高,想要解決這些問題可能需要上百年的時間。因此傳統(tǒng)的數(shù)字簽名可以依靠這些困難問題,來保證其安全性。但是,隨著計算機計算能力的提升以及量子計算理論的提出和量子計算機的誕生,傳統(tǒng)簽名協(xié)議將不再安全,如Shor算法可以對目前廣泛使用的公鑰密碼協(xié)議進行有效攻擊[5-8],而Grover 算法的作用相當于把密碼的密鑰長度減少一半[9-12]。現(xiàn)在的量子計算機也可以成功地進行小合數(shù)的因數(shù)分解試驗,并且發(fā)展迅速。雖然目前的量子計算機不能對經(jīng)典密碼構(gòu)成實際的威脅,但隨著量子計算技術(shù)的發(fā)展,在未來的某一天就有可能會威脅到現(xiàn)有的密碼體制。為了解決這些潛在的安全問題,一些研究學者將物理學中的量子技術(shù)與密碼理論結(jié)合,誕生出了量子密碼這個密碼學的研究分支[13-15],它的安全性是以量子力學為基礎,通過量子的物理特性來確保其安全性,可以有效的防止量子計算技術(shù)的攻擊。量子簽名是將量子力學與數(shù)字簽名技術(shù)相結(jié)合,既能有效預防量子計算的攻擊,又能保證簽名的有效性。
在2001年,量子簽名的理論就被提出[16-17],引起了學者們的討論。2002 年,Zeng等設計了首個仲裁量子簽名協(xié)議[18],協(xié)議中,驗證者可以在仲裁的幫助下完成簽名的驗證。2007年,Wen等提出了一種基于GHZ態(tài)的多方量子簽名協(xié)議[19],該協(xié)議的特點是消息的簽名是由多個用戶共同完成,且簽名的驗證不依賴仲裁員。之后,人們又逐漸提出了多個多方量子簽名協(xié)議,如2010年,Yang等提出了一種具有多個簽名者的可擴展的仲裁量子簽名協(xié)議[20];2011年,Shi等提出了一種基于量子傅里葉變換的多方量子代理群簽名協(xié)議[21];2013 年,Cao等提出了一種基于真正六粒子糾纏態(tài)的量子代理多重簽名協(xié)議[22];2017 年,Shao等提出了一種基于量子多方代理盲簽名的電子支付協(xié)議[23];2018 年,Sun等提出了一種在具體應用背景下的離線仲裁量子盲雙簽名協(xié)議[24]。上述這些協(xié)議運用了不同的量子載體來實現(xiàn)簽名。2021年,Vandani等提出了一種新型的量子簽名協(xié)議[25],該協(xié)議需要用戶和認證機構(gòu)共同生成最終簽名,而且不需要對每個密鑰進行加密。遺憾的是,該協(xié)議的正確性存在問題,即當協(xié)議中操作是不對易的情況時,生成的簽名可能會出錯,此外該協(xié)議還存在無法抵抗驗證者偽造攻擊的安全性問題。
Vandani等的協(xié)議有3個參與者:Alice是用戶(簽名者),CA是半信任的認證機構(gòu),Bob是驗證者。協(xié)議一共分3個階段:初始階段、簽名階段和驗證階段。
(1)Alice和Bob各自選擇一組隨機數(shù)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},01.2 簽名階段
(1)Alice首先生成身份消息M=(m1,m2, …,mn),其中mi∈{0,1},0
(1)
(2)Alice生成一組隨機數(shù)RA作為私鑰,RA=(p1,q1,p2,q2,…,pn,qn),pi,qi∈{0,1},0
(2)
F[1]被定義為:
(3)
其中
(4)
(5)
(3)Alice通過安全的量子信道將|φ′〉 發(fā)送給CA,在CA收到|φ′〉后,根據(jù)密鑰KC對|φ′〉執(zhí)行F[2]操作:
(6)
F[2]被定義為:
(7)
其中
(8)
(4)最后,CA通過安全的量子信道將|S〉發(fā)送給Bob。
(1)Bob為了驗證Alice的消息,對收到的|S〉根據(jù)PB⊕SB⊕RA執(zhí)行F[3]操作:
(9)
F[3]被定義為:
(10)
其中
(11)
Vandani等的協(xié)議主要有兩個問題,即正確性問題和安全性問題。采取舉出實例驗證的方法來指出協(xié)議中存在的問題。具體的分析情況如下。
這個協(xié)議并不是在所有情況下都是正確的。為了方便展示以及計算,本小節(jié)將用一個例子進行介紹。取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編碼成量子態(tài):
|φ〉=|ψ0, 1〉=|+〉
(12)
計算σ=PA⊕RA=(0,0)并對|φ〉執(zhí)行F[1]操作:
(13)
(14)
得到|φ′〉=|-〉發(fā)送給CA,CA根據(jù)KC對|φ′〉執(zhí)行F[2]操作:
(15)
(16)
得到|S〉=|1〉發(fā)送給Bob,Bob計算PB⊕SB⊕RA=(0, 0),然后對|S〉執(zhí)行F[3]操作:
(17)
(18)
得到|S′〉并對其進行測量,得到的測量結(jié)果為M′=(1)≠M=(0),由此證明了此協(xié)議是不正確的。
具體來講,當F[1],F[2],F[3]操作分別是σZ,H,σZ或H,σZ,H,且|φ〉=|+〉或|-〉時,協(xié)議是不正確的,原因在于σZ與H互不對易,當出現(xiàn)上述情況時,協(xié)議里會出現(xiàn)σX操作:
(19)
在對|φ〉=|+〉(|-〉)做σX操作后,|+〉(|-〉)將變成|-〉(|+〉),而原本的σZ操作則是將|+〉(|-〉)變成|+〉(|-〉),從而導致操作后結(jié)果發(fā)生錯誤。
表1 偽造的消息跟偽造的簽名之間的對應關(guān)系
針對Vandani等協(xié)議里出現(xiàn)的問題,本節(jié)對量子態(tài)的定義和簽名操作進行了修改,將不對易的操作改為對易操作,解決了因操作不對易所產(chǎn)生的正確性問題,并且將選擇一個完全可信任的第三方Trent代替半信任的認證機構(gòu)CA,解決了協(xié)議中存在的安全性問題。具體協(xié)議流程如下。
(1)Alice和Bob各自選擇一組隨機數(shù)PA和PB作為他們的公鑰,并通過安全信道發(fā)送給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,并通過安全信道將私鑰發(fā)送給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)
式中g(shù)iC,hiC∈{0,1},03.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)是以下量子態(tài)中的一個:
(27)
(2)然后,Alice生成一組隨機數(shù)RA作為私鑰,RA=(p1,q1,p2,q2,…,pn,qn),其中pi,qi∈{0,1},0
(28)
F[1]被定義為:
(29)
式中
(30)
(31)
F[2]被定義為:
(32)
式中
(33)
(34)
F[3]被定義為:
(35)
其中
(36)
在改進后的協(xié)議里,操作只有I操作、H操作和σY操作,這3個操作之間是對易或反對易的,不會出現(xiàn)新的操作。因此,也不會改變操作后的結(jié)果,保證了協(xié)議的正確性??梢杂?.1節(jié)的例子來驗證其正確性。
(37)
Alice用私鑰SA將消息M編碼成量子態(tài)|φ〉:
|φ〉=|ψ0, 1〉=|1〉
(38)
計算σ=PA⊕RA=(0,0)并對|φ〉執(zhí)行F[1]操作:
(39)
(40)
得到|φ′〉=|1〉發(fā)送給Trent,Trent根據(jù)KC對|φ′〉執(zhí)行F[2]操作:
(41)
(42)
得到|S〉=|0〉發(fā)送給Bob,Bob計算PB⊕SB⊕RA=(0, 0),然后對|S〉執(zhí)行F[3]操作:
(43)
(44)
得到|S′〉并對其進行測量,得到的測量結(jié)果為M′=(0)=M=(0),協(xié)議正確。
(1)對于外部攻擊,若外部竊聽者Eve在量子態(tài)傳輸過程中想要進行竊聽行為,由于Eve不知道密鑰PA,PB,SA,SB,攻擊將會改變粒子,從而在檢測竊聽階段就會被發(fā)現(xiàn),協(xié)議將中止進行。
(2)當Bob試圖偽造消息M和簽名|S〉 時,由于Trent儲存了簽名|S〉,作為完全可信任的第三方,Trent將會發(fā)現(xiàn)Bob的偽造行為,因此Bob無法進行偽造。
(45)
(46)
所以,Alice得到正確的測量結(jié)果并且不被發(fā)現(xiàn)的概率,即Alice可以偽造簽名|S〉的概率p為:
(47)
隨著粒子數(shù)的增加,當n足夠大時,Alice想要偽造簽名的可能性趨近于0。
對Vandani等提出的多方量子簽名協(xié)議進行了詳盡的分析,發(fā)現(xiàn)其存在因為簽名操作設計的不對易性使得簽名驗證出現(xiàn)錯誤,并且簽名協(xié)議無法抵御驗證者的偽造攻擊。在此基礎上,利用對易操作來解決其存在的正確性問題,又引入可信任的第三方來解決偽造攻擊。分析表明,新方案可以保證多方量子簽名協(xié)議的正確性,同時可以抵御驗證者的偽造攻擊。本研究是在可信任的第三方(Trent)模型下進行設計的,那么在沒有可信任第三方的情況下,即半信任模型下,是否也可以利用對易操作來設計一個安全的多方量子簽名協(xié)議將是下一步研究的重點。