榮民希辛向軍? 李發(fā)根
1)(鄭州輕工業(yè)大學數(shù)學與信息科學學院,鄭州450002)
2)(電子科技大學計算機科學與工程學院,成都611731)
(2020年2月19日收到;2020年5月19日收到修改稿)
1976年,Diffie與Hellmann[1]引入了數(shù)字簽名的概念.在公鑰密碼系統(tǒng)中,數(shù)字簽名具有公開驗證的屬性.也就是說,給定一個簽名,任何人都可以驗證它的有效性.這就意味著任何人都可通過數(shù)字簽名驗證所收到消息的完整性以及其原始的消息來源.
然而,在某些情況下,這種可公開驗證性并不適用.有時候,簽名者希望只有指定的簽名接收者才能驗證簽名的有效性.例如,在項目投標過程中,為保護投標者的經(jīng)濟利益,一些投標者希望只有那些可信的機構才能驗證投標者對文件的簽名[2].在一些投票系統(tǒng)中,投票者希望只有可信的機構才能驗證投票者的實名簽名投票[3,4].研究發(fā)現(xiàn),指定驗證者簽名也適用于可否認系統(tǒng)的應用[5,6].因此,基于這種指定驗證的屬性,研究者提出很多指定驗證簽名方案(SDVS)[2,7?9].一般而言,SDVS應滿足如下屬性[8,9]:
1)正確性.利用簽名算法所產(chǎn)生的簽名,必然能夠通過驗證算法來證實其有效性.一旦簽名通過驗證,指定的簽名驗證者(DV)應該接受該簽名為有效簽名.
2)不可傳遞性.DV不能向任何第三方證明所接收的簽名的真實來源.
3)信源隱藏性.給定一個簽名,即使簽名者和DV公開他們的密鑰,任何人無法判斷該簽名是由簽名者產(chǎn)生,還是由DV仿真產(chǎn)生.
4)不可偽造性.任何外部敵手都無法有效偽造簽名者的簽名.
盡管人們提出了許多SDVS,但多數(shù)SDVS是傳統(tǒng)的數(shù)字簽名[2,7?11].它們的安全性依賴于一些尚未得到證明的數(shù)學困難假設,如離散對數(shù)問題和大數(shù)分解問題.研究發(fā)現(xiàn),這些數(shù)學困難問題并不能抵抗量子敵手的攻擊[12].為應對量子敵手對數(shù)字簽名的安全威脅,Gottesman和Chuang[13]引入了量子簽名的概念.量子簽名不同于傳統(tǒng)的數(shù)字簽名,其具有物理的安全屬性.即量子簽名的安全性主要依賴于一些基本量子力學原理,如非正交量子態(tài)的不可區(qū)分性,未知量子態(tài)的不可克隆性等.量子簽名的這種安全屬性引起了研究者的濃厚興趣,人們提出了大量的量子簽名方案[14?24].按照構造方式,量子簽名方案可分為基于離散變量的量子簽名方案[14?22]和基于連續(xù)變量相干態(tài)的量子簽名方案[23,24].
為使得SDVS可以抵抗量子敵手,Shi等[25,26]提出兩類指定驗證者量子簽名(QSDV).Shi等的QSDV方案具有傳統(tǒng)的SDVS的屬性.需要注意的是,QSDV方案本身是一種量子加密方案.而安全的量子加密方案應在理論上具備信息安全屬性(information-theoretical security)—量子密文不可區(qū)分性[27?29].然而,文獻[25,26]的量子密文的不可區(qū)分性并不能從理論上得到有效證明.另外,在文獻[25,26]中,需要使用量子單向函數(shù),驗證者需要進行量子態(tài)比較算法來比較兩個量子態(tài)是否相同.需要注意的是,量子態(tài)比較算法的輸出具有一定的錯誤率.因此,需要進行執(zhí)行大量的量子態(tài)比較測試才能驗證兩個量子態(tài)是否相同.因此,這將會影響文獻[25,26]的執(zhí)行和計算效率.最近,利用基于身份的密碼系統(tǒng)的優(yōu)點,Xin等[30]提出了一個基于身份的QSDV.文獻[30]的方案可以簡化簽名系統(tǒng)的密鑰管理.然而,類似于文獻[25,26],文獻[30]的量子密文不可區(qū)分性也沒有從理論上得到證明.并且,在文獻[30]中,量子簽名是一個加密的Bell態(tài)序列.而在實踐中,Bell態(tài)的制備相對于非糾纏態(tài)單光子來說較為麻煩.
本文提出一個新的QSDV.在本文的QSDV方案中,簽名者無需執(zhí)行量子態(tài)比較算法.在簽名算法的步驟中,簽名者無需制備糾纏態(tài)或發(fā)送糾纏態(tài)粒子給DV.并且,新方案的量子比特效率可達到100%.新方案不僅具備傳統(tǒng)的指定驗證屬性,而且具有較強的安全屬性,即其理論上的量子密文不可區(qū)分性可以得到證明.該方案可以抵抗重放攻擊,冒充攻擊和木馬攻擊.并且,與類似方案相比,本文方案中的密鑰生成中心不必完全可信.因此,與類似方案相比,新方案相對具有較好的安全屬性和效率.
本文安排如下,第2節(jié)簡要回顧一次一密加密算法(OTP);第3節(jié)給出新的QSDV;第4節(jié)給出QSDV的安全分析;第5節(jié)對類似的方案進行安全和效率比較;最后,給出本文的結論.
OTP是一種對稱加密算法.其具有無條件安全性[31].在該算法中,消息發(fā)送者Amy和消息接收者Jack共享隨機的密碼本r(長度為n的比特串).為將長度為n的消息比特串a(chǎn)秘密發(fā)送給Jack,Amy利用r將a加密為β=α⊕r.這里的“⊕”代表XOR操作.一旦Jack收到b,其只需計算α=β⊕r便可得到相應的消息a.
在方案中,Amy為簽名者,而Jack和TC分別為DV和密鑰生成中心.方案包括四個算法:初始化算法,密鑰生成算法,QSDV生成算法和驗證算法.
步驟1通過執(zhí)行量子密鑰分配協(xié)議(QKDP)[32,33],TC與Amy共享二進制密鑰比特串x=(x1,x2,···,xn).并且,TC與Jack共享二進制密鑰比特串y=(y1,y2,···,yn).類似地,通過執(zhí)行QKDP[32,33],Amy和Jack共享密鑰然后,TC隨機選取r=(r1,r2,···,rn)∈{0,1}n并計算u其中利用確定性量子直接通信[34?36],TC與Amy秘密地共享u.類似地,利用確定性量子直接通信[34?36],TC與Jack秘密地共享v.
步驟2TC制備n個Bell態(tài)|?n?},其中
步驟3為安全接收量子態(tài)序列?a和?b,Amy和Jack采用GLLP公式[37]和誘騙態(tài)方法[38?40]分別對量子信道進行竊聽檢測.若不存在竊聽行為,則Amy和Jack分別保存好量子態(tài)序列?a和?b;否則,重新執(zhí)行初始化算法.
為Hadamard算子.令
定義H0=Y0=I,其中I為單位算子.假定Amy需要對消息m=(m1,m2,···,mn)∈{0,1}n產(chǎn)生QSDV.步驟如下:
步 驟1根據(jù)u,x,c1和c2,Amy計算其中
然后,其對每個|mi?執(zhí)行操作HkiYwi而得到量子態(tài):
步驟2針對每個|si?(i=1,2,···,n),Amy利用粒子?ai和受控Y操作對|si?進行加密,其中,?ai為受控粒子,而si為目標粒子.也就是說,若?ai的狀態(tài)為|0?,Amy對|si?執(zhí)行I操作;否則,Amy對|si?執(zhí)行Y操作.因此,|si?被加密為|s′i?,其中含有子系統(tǒng)?ai,?bi和si的系統(tǒng)的量子態(tài)為
Amy將量子簽名和消息m發(fā)送給Jack.
圖1簡要給出了初始化和QSDV的生成過程.
圖1初始化和QSDV的生成過程Fig.1.Initialization and QSDV generation.
步驟1當收到消息m和相應的量子簽名后,Jack針對每個執(zhí)行受控Y+操作.其中,?bi用作受控粒子,而用作目標粒子.也就是說,若?bi的狀態(tài)為|0?,則Jack針對執(zhí)行I操作;否則,Jack針對執(zhí)行Y+操作.這樣,Jack解密而得到則Jack得到序列
步驟2根據(jù)m,v,y,c1和c2,Jack計算k=(k1,k2,···,kn)和w=(w1,w2,···,wn),其中
然后針對每個|si?,Jack對|si?執(zhí)行操作(Y+)wiHki而得到量子態(tài):
步驟3Jack利用計算基{|0?,|1?}測量每個若測量結果為|0?,則其設否則,其設令Jack驗證是否若相等,則Jack接受為有效的QSDV.否則,Jack拒絕該簽名.
為保證QSDV的不可傳遞性,使得Jack具備仿真Amy的QSDV的能力.也就是說,Jack能夠產(chǎn)生QSDV使得其與Amy產(chǎn)生的QSDV一樣.這樣,給定一個QSDV,Jack無法向任何第三方證明誰是真正的簽名者,這是因為Amy和Jack皆可產(chǎn)生同樣的QSDV.在本節(jié),演示Jack如何仿真Amy的QSDV.
步驟1根據(jù)m,v,y,c1和c2,Jack計算和其中n).Jack對每個|mi?執(zhí)行操作HkiYwi得到其中
步驟2針對每個|si?,Jack利用受控Y操作和粒子?bi加密|si?,其中?bi用作受控粒子,而si用作目標粒子.即若?bi的狀態(tài)為|0?,Jack對|si?執(zhí)行I操作;否則,Jack對|si?執(zhí)行Y操作.因此,|si?被加密為這樣,包含子系統(tǒng)?ai,?bi和si的系統(tǒng)的狀態(tài)為其滿足(5)式.消息m的
由(1)式、(3)式、(7)式、簽名算法的步驟1和驗證算法的步驟2,可知:
方案為一個QSDV方案.在方案的驗證算法中,為驗證所收到的QSDV的有效性,需要使用粒子序列?b,密鑰y,c1,c2和v.需要注意的是,只有Jack擁有?b.同時,只有Jack具有y,c1,c2和v.因此,只有Jack能夠驗證QSDV.雖然TC也具有y和v,但其不擁有c1,c以及粒子序列?b.因此,即使TC也無法驗證QSDV.因此,方案具有指定驗證的屬性.
根據(jù)(3)式、(7)式和(9)式,可知Amy和Jack都可計算k和w.因此,他們都可對|mi?執(zhí)行操作HkiYwi而得到|si?.同時,根據(jù)(2)式,可知Amy和Jack分別掌握?ai和?bi.因此,Amy和Jack都可對|?i? 和|si?執(zhí)行受控Y操作.因此,給定m,Amy和Jack能產(chǎn)生同樣的QSDV,這使得Jack所仿真的QSDV與Amy所生成的QSDV無法相互區(qū)分.因此,本文所給出的QSDV滿足不可傳遞性.
在方案中,簽名者和驗證者可以產(chǎn)生同樣的QSDV.這使得即使密鑰x,y,c1和c2遭到泄露,包括TC在內的任何第三方都無法判斷究竟Amy是簽名者還是Jack為簽名者.因此,方案具有信源隱藏的特性.
事實上,QSDV是消息m的量子密文.因此,方案可視為消息m的量子加密方案(QES).而一個QES的理論上的信息安全屬性是根據(jù)選擇明文攻擊下的量子密文的不可區(qū)分性來定義的[27?29].
定義1[28,29]一個QES方案E具備理論上的信息安全屬性,如果不存在量子多項式敵手Ad使得Ad能夠以優(yōu)勢1/p(n)有效區(qū)分量子密文EL(1n)(x)和EL(1n)(y),其中n為安全參數(shù),x和y為所有的不同的明文,p(n)為關于n的任意多項式,而L為E內部的一個隨機拋擲硬幣算法.
由定義1可知,具有理論上信息安全屬性的E應該滿足根據(jù)(10)式,Yang等[29]進一步證明,理論上QES的信息安全屬性依賴于x和y的量子密文對應的密度算子之間的跡距離.相關結論如下.
定理1[29]一個QES方案E具備理論上的信息安全屬性,如果其在選擇明文攻擊下密度算子rx和ry滿足:
其中rx和ry分別是量子密文E(x)和E(y)對應的密度算子.
關于定理1的詳細證明, 請參考文獻[29].利用定理1,可以證明方案具備理論上的信息安全屬性.
定理2QSDV方案具備理論上的信息安全屬性.
證明令|s′? 為 消息m對應的QSDV,而為消息m*對應的QSDV.由定理1可知,要想證明方案的理論上的信息安全屬性,需要計算和對應的密度算子.令ρs′,m和ρs′?,m?分別表示對應的密度算子.由(3)—(6)式和(9)式,可得
類似地,可得ρs′?,m?=I/2n.因此,跡距離D(ρs′,m,ρs′?,m?)=0.根據(jù)定理1,可知QSDV具備理論上的信息安全屬性.
假定存在一個偽造者Ad,其目標是偽造Amy的一個QSDV.需要注意的是,對于Ad而言,為對消息m偽造一個有效的QSDV,其不得不計算(4)式和(5)式,而在(4)式和(5)式中需要使用密鑰x,y,c1,c2以及受控粒子序列?a或?b. 然而,由初始化算法可知, TC通過執(zhí)行QKDP[32,33]與Amy和Jack分別共享密鑰x和y. 類似地, 利用QKDP[32,33],Amy和Jack共享密鑰c1和c2.需要注意的,文獻[32,33]的QKDP具有無條件安全性.因此,密鑰x,y,c1和c2也是無條件安全的.因此,Ad無法得到x,y,c1和c2. 需要注意的是, 在初始化階段, TC與Amy利用量子直接通信[34?36]秘密地共享u.類似地,TC與Jack利用確定性量子直接通信[34?36]秘密地共享v.而文獻[34?36]的量子直接通信協(xié)議具有無條件安全性[41?43],因此Ad無法得到u和v. 另外,u(或v)為y(或x)的OTP密文.即使Ad能夠獲得u(或v),根據(jù)OTP的無條件安全性[31],可知Ad仍無法由u(或v)獲得密鑰y(或x).根據(jù)(3)式和(7)式,可知在不知道x,y,u,v和c1的情況下,Ad無法計算秘密參數(shù)k.更進一步,若不知k和c2,Ad無法生成量子態(tài)|s?=HkYc2⊕m|m?.而且,在不具備粒子序列?a或?b的情況下,Ad無法實現(xiàn)對目標量子態(tài)|s?的加密.因此,Ad對消息m偽造一個有效的QSDV粒子序列是不可行的.因此,Ad無法偽造一個有效的簽名.另外,雖然TC可以計算k,但其不知道c1和c2.同時,TC不掌握受控粒子序列?a和?b.因此,即使TC也無法偽造消息m的QSDV.
首先,在方案中,TC將序列?a和?b分別發(fā)送給Amy和Jack.敵手Ad可能試圖截獲、測量這些序列并替換它們的狀態(tài). 需要注意的是,TC, Amy和Jack采用GLLP公式和誘騙態(tài)方法來檢測量子信道上敵手的竊聽行為.TC,Amy和Jack可根據(jù)不同強度相干態(tài)的計數(shù)率和誤碼率檢測出敵手的竊聽行為.因此,在初始化算法步驟3中,Ad對序列的截獲重放攻擊將會被Amy和Jack通過竊聽檢測發(fā)現(xiàn).
在初始化算法步驟2中,一個惡意的TC可能會在每個|?i? 中插入不可見光子以便竊聽Amy和Jack所共享的密鑰c1和c2.
定理3量子密文具備理論上的信息安全屬性.
證明假定|s′′?和分別是消息m和m*的量子密文.根據(jù)(14)式,可計算的密度算子如下:
由定理3可知,由于|s′′?具有量子密文不可區(qū)分性,從而TC無法從|s′′?獲得關于密鑰c1和c2的任何有用信息.因此,QSDV可以抵抗木馬攻擊.
在初始化算法階段,簽名生成階段和簽名驗證階段,敵手Ad企圖冒充合作伙伴.
首先,在初始化算法階段,Amy和Jack可在步驟3中通過誘騙態(tài)方法檢測敵手對量子信道的竊聽和冒充干擾.因此,Ad冒充TC的行為是不可行的.類似地,Ad冒充Amy和Jack也是不可行的.
其次, 在簽名生成階段, 敵手Ad企圖冒充Amy產(chǎn)生有效的QSDV.根據(jù)4.6節(jié)分析,可知QSDV具有不可偽造性.因此,敵手Ad企圖冒充Amy產(chǎn)生有效的QSDV是不可行的.
最后,在簽名的驗證階段,敵手Ad企圖冒充Jack來對QSDV進行驗證.根據(jù)4.2節(jié)的分析,可知QSDV具有指定驗證的屬性.因此,敵手Ad冒充Jack來驗證QSDV的合法性是不可行的.
首先,分析方案的效率.在文獻[44?46]中,量子比特效率hq定義為hq=d1/d2,其中d2表示量子信道所傳遞的量子比特總數(shù),而d1表示得到經(jīng)典比特數(shù)目(檢測竊聽攻擊的量子比特和經(jīng)典比特,以及執(zhí)行量子密鑰分配協(xié)議所傳遞和共享的經(jīng)典比特和量子比特忽略不計).根據(jù)文獻[44?46]可知,量子協(xié)議或簽名系統(tǒng)的初始化階段只是為了在簽名階段和驗證階段的量子編碼和信息的傳遞.特別地,對于簽名系統(tǒng),系統(tǒng)的初始化只執(zhí)行一次.初始化階段一旦完成,系統(tǒng)在以后運行中,僅僅執(zhí)行量子簽名算法和驗證算法(即系統(tǒng)在以后對所有不同的消息進行量子簽名時,只需執(zhí)行量子簽名算法和驗證算法).所以,一般在計算量子比特效率hq時,只考慮在量子簽名算法和驗證算法中量子比特的使用效率.而在本文的量子簽名生成階段,Amy將n個量子比特發(fā)送給Jack,即d2=n.在量子簽名的驗證階段,Jack通過量子比特序列|s′? 解碼獲得n比特的經(jīng)典信息m',即d1=n.也就是說,量子比特序列承載了n比特的經(jīng)典信息量.類似于文獻[44?46]的計算,可得量子比特的利用效率hq=d1/d2=100%.本文主要討論的是QSDV方案分析與比較.文獻[15]中給出一種仲裁量子簽名方案,其量子比特的利用效率也達到100%.然而,文獻[15]所研究的為普通的仲裁量子簽名,其并不具備QSDV方案所要求的特征(如,指定驗證、不可傳遞和信源隱藏等),安全屬性和要求顯然與本文的研究不同.
其次,在本文的方案中,合作伙伴之間無需使用量子單向函數(shù).而在文獻[25,26]中,需要使用量子單向函數(shù),這無疑會增加QSDV方案的復雜性.
表1安全與效率比較Table 1.Comparisons of security and efficiency.
第三,在我們的QSDV方案中,無需使用量子態(tài)比較算法.而在文獻[25,26]中,為驗證QSDV的有效性,DV不得不執(zhí)行量子態(tài)比較算法.需要注意的是,量子態(tài)比較算法的輸出具有一定的錯誤概率.因此,在文獻[25,26]中,驗證者需要進行大量的量子態(tài)比較測試才能確定QSDV的有效性.這無疑會影響文獻[25,26]方案的執(zhí)行效率.另外,在文獻[30]中,為對消息簽名,簽名者需要制備Bell態(tài)序列并將其發(fā)送給驗證者.需要注意的是,在目前的條件下,簽名者制備非糾纏態(tài)相對更容易些.
最后,進行類似方案的安全性比較.需要注意的是,所有的量子簽名方案都是量子加密方案,其應該具備理論上的信息安全屬性[27?29]. 在類似QSDV文獻[25,26,30]中,主要討論了QSDV的指定驗證、不可傳遞、信源隱藏、不可偽造等安全屬性.然而,文獻[25,26,30]中方案的理論上的信息安全屬性并未得到證實.本文所給出的指定驗證者量子簽名不僅具有指定驗證、不可傳遞、信源隱藏、不可偽造等安全屬性,而且其量子簽名密文具有較強的不可區(qū)分度(量子簽名密文跡距離為零),從而滿足文獻[27?29]所要求的理論上的信息安全屬性(見定理1和定理2).另外,在文獻[25,26,30]中,要求TC必須是可信的(因為他們掌握著簽名者的密鑰,并具備偽造簽名者簽名的能力),即假定TC不會冒充簽名者偽造量子簽名.這是一個非常強的安全假設.因為在虛擬的網(wǎng)絡世界中,完全可信的實體并不存在.本文的方案可弱化這一安全假設.即在本文的方案中, TC不必完全可信.注意到雖然TC可以計算k,但其不知道c1和c2.同時,TC不掌握受控粒子序列?a和?b.因此,即使TC也無法偽造消息m的QSDV.因此,可假設TC為半可信的, 其可以誠實地協(xié)助系統(tǒng)其他參與者完成系統(tǒng)的初始化,但其并不能偽造簽名者的量子簽名.因此,相對類似方案而言,本文所給的方案具有較強的安全性.
表1給出了類似的QSDV方案的安全和效率比較.由以上分析和比較可知,相對于類似方案,本文所提出的QSDV方案具有較好的安全性和效率.
第一,本文給出一種新的QSDV方案,其可以抵抗偽造攻擊、截獲重發(fā)攻擊、冒充攻擊和木馬攻擊,并具備指定驗證、不可傳遞和信源隱藏等安全屬性.方案理論上的信息安全屬性可得到證明.可以弱化對TC的安全假設,即TC無需完全可信.而其他類似的QSDV方案不具備這樣的強安全屬性.
第二,本文的方案無需使用量子單向函數(shù),可以簡化方案的復雜性.
第三,簽名者生成QSDV時無需制備糾纏態(tài)序列;DV驗證簽名時無需執(zhí)行大量的量子態(tài)比較操作.這些有利于提高方案的執(zhí)行效率.
第四,量子比特效率達到100%.
因此,與類似方案相比,本文的方案相對而言有較好的安全性和效率.