沙倚天 李天一 賈 瑋 姚銘藝
1(國網江蘇省電力有限公司南京供電分公司 江蘇 南京 210024)2(南京南瑞國盾量子技術有限公司 江蘇 南京 210016)3(南瑞集團有限公司(國網電力科學研究院有限公司) 江蘇 南京 210016)
2016年8月,世界上第一顆量子科學實驗衛星“墨子”在中國成功發射。2017年9月,建立了連接北京和上海,總長度超過2 000公里的量子通信骨干網“量子京滬干線”。量子通信骨干網將推動量子安全通信在金融、政務、國防和電子信息領域的大規模應用。量子密鑰分配(QKD)是量子信息安全領域中最重要的應用之一。在電力行業,將QKD與電力通信系統相結合逐漸成為電網企業關注的焦點。
QKD以經典密碼學和量子力學為基礎,利用量子力學原理來實現通信雙方共享一組隨機序列組成的密鑰。1984年,Bennett等提出了第一個著名的量子密鑰分配協議——BB84[1],在協議中兩個用戶通過交換單粒子來創建一個共享密鑰。隨后,人們提出了一系列基于單粒子或糾纏態的QKD協議[2-5],其中大部分協議是點對點之間的密鑰分配。而在實際中,一個量子網絡[6]由多個節點組成,要求節點(用戶)之間進行密鑰分配。為此,人們提出了多用戶量子密鑰分配協議(Multi-User Quantum Key Distribution,MQKD)。1995年,Phoenix等[7]提出了第一個基于單光子的MQKD協議,展示了如何利用單光子的特性在光網絡上實現密鑰分配。為了提高傳輸效率,2010年,Hong等[8]提出基于Bell態的MUQKD協議,利用糾纏交換實現密鑰分配,并且對于n個用戶的通信系統,僅需要n個量子信道,Guo等[9]提出了一種基于GHZ態網絡量子密鑰分配的MQKD協議,其中,一種方案以概率方式在合法用戶之間分配密鑰,而另一種方案以確定性方式發送確定性消息。上述協議中的糾纏制備和量子存儲并不容易實現,并且上述協議一般僅實現了密鑰驗證,身份驗證[10]的問題函待解決。
2014年,Guan等[11]提出了一個基于單光子的三方可驗證量子密鑰分配協議,在星型網絡拓撲結構上實現身份驗證和密鑰驗證。該協議僅適用于星型網絡拓撲結構,并不適用樹型網絡拓撲結構。2016年,Lin等[12]提出適用于樹型網絡拓撲結構的單光子可驗證MQKD協議,其中身份驗證和密鑰驗證是分階段執行的,其成本開銷會更大,且面臨一些安全隱患。為了解決以上問題,本文提出一個基于樹型網絡的可驗證多方量子密鑰分配協議,同時對每個用戶進行身份驗證和密鑰驗證,兩者在一個步驟中完成,而無需發送者和接收者之間的公開討論,節省了資源。此外,本協議利用單光子作為量子信息載體,且單光子不需要存儲,更容易實現。
電力通信系統網絡一般體現為樹型拓撲結構。例如,江蘇電網安全穩定實時預警及協調防御系統(Electric Power Alarming and Coordinated Control System,EACCS)具有典型的樹型拓撲結構,如圖1所示,該圖充分展示了中心站與主站、主站與子站、子站與執行站之間的上下層次關系。

圖1 EACCS系統控制結構
比特是經典計算和經典信息里的基本概念,其狀態或0或1。類似地,在量子計算中,量子比特的兩個可能狀態是|0〉和|1〉,此外,量子比特可以是狀態的線性組合,常稱為疊加態:
|φ〉=α|0〉+β|1〉
(1)



量子測量由一組測量算子{Mm}描述,這些算子作用在被測系統狀態空間上,指標m表示實驗中可能的測量結果。若在測量前,量子系統的最新狀態是|ψ〉,則結果m發生的可能性由下式給出:
且測量后系統的狀態為:
測量算子滿足完備性方程:
從圖1可知,電力通信系統網絡結構可以抽象成樹型拓撲結構圖,如圖2所示。

圖2 電力通信系統樹型拓撲結構圖
假設樹型網絡中任意兩個不同的終端用戶Ai和Bj希望生成一個安全的會話密鑰。假設根節點TC及Ai和Bj所屬的中間節點AC、BC為可信的;Ai、AC、BC、Bj的身份UAi、UAC、UBC、UBj是公開的,長度均為k比特;AC與Ai共享一個長度為n比特的安全主密鑰KTAi,BC與Bj共享一個長度為n比特的安全主密鑰KTBj,KTAi和KTBj對無關的第三方是保密的。中間節點AC(BC)和用戶Ai(Bj)根據預先共享的主密鑰KTAi(KTBj)約定測量基。如果(KTAi)s=0,就選擇基D={|+〉,|-〉},否則選擇基R={|0〉,|1〉},其中,(KTAi)s表示密鑰KTAi的第s位,s=1,2,…,n。本文協議描述如圖3所示。

圖3 本文協議的密鑰分配過程
步驟1根節點TC與中間節點AC(BC)利用文獻[13]中的方法生成一個u比特安全的密鑰sk(sm)。TC將sk與sm進行對比分析,若對應的比特相同記為“Y”不同記為“N”。TC通過公開的信道將所得的比較結果告訴AC和BC,這樣,AC和BC可以共享彼此的量子密鑰sm和sk。
步驟2TC生成長度為l比特的隨機數rTAC、rTBC。AC(BC)生成長度為l比特的隨機數rTAi(rTBj)并計算中間量:
式中:h(·):{0,1}*→{0,1}m是輸出為m比特的單向哈希函數,并且有等式n=m+2l和m=u+4k成立。注意,(KTAi)s((KTBj)s)中長度為n比特,sk長度為u比特,UAC、UBC、UAi、UBj長度均為k比特。

式中:s=1,2,…,n。
步驟4Ai(Bj)根據KTAi(KTBj)來測量接收到的量子比特QTAi(QTBj)。如果(KTAi)s=0((KTBj)s=0),則用D基進行測量;否則,用R基進行測量。

不失一般性,選取兩個用戶Ai與Bj來驗證協議的正確性。假設UAC=100,UBC=001,UAi=101,UBj=011;KTAi=10001100100000101010001110100011,KTBj=01011000111101011110001110000100;AC(BC)和Ai(Bj)根據預先共享的主密鑰KTAi(KTBj)約定測量基。如果(KTAi)s=0,就選擇基D={|+〉,|-〉},否則選擇基R={|0〉,|1〉},其中,(KTAi)s表示密鑰KTAi的第s位,s=1,2,…,n。TC與AC、BC的共享密鑰分別為sk=1010100000010111、sm=0011100101111011。
步驟1中,AC(BC)可以得到彼此的密鑰sm(sk)。
步驟2中,TC生成隨機數rTAC=00,AC生成隨機數rTAi=10,計算h(KTAi,rTAi,rTAC)=1101001101010001



以上過程中,密鑰串數值、測量基和量子態變換情況如表1所示。

表1 本文協議中密鑰串數值、測量基和量子態對應關系
本文主要從以下5種常見攻擊情形來分析所提協議的安全性。它們分別是假冒根節點攻擊,即假冒TC攻擊;假冒中間節點攻擊,即假冒AC(BC)攻擊;假冒用戶攻擊,即假冒Ai(Bj)攻擊;在線猜測攻擊;離線猜測攻擊。
(1) 假冒TC攻擊 在步驟1中,根節點TC與中間節點AC(BC)利用文獻[13]方法生成一個u比特安全的密鑰sk(sm)。該方法已被證明AC(BC)可以有效地對TC進行身份驗證和密鑰驗證[13]。因此,攻擊者假冒TC會在AC(BC)對TC的身份驗證和密鑰驗證中被檢測到。


(4) 在線猜測攻擊 在線猜測攻擊在現有的密鑰分配協議中是不可避免的,盡管攻擊者可以在本文協議上執行在線猜測攻擊,但他必須花費大量精力來驗證他對主密鑰KTAi(KTBj)的猜測,即在目標協議上多次執行在線猜測攻擊。這使得中間節點AC(BC)和用戶可以采取一些對付這種攻擊的對策。例如,一旦中間節點和用戶注意到一定數量的本文協議執行失敗,則應該更新預共享密鑰,這樣就可以避免在線猜測攻擊。

通過選取加密機制、量子信道、易受中間人攻擊、易受被動攻擊、易受重放攻擊、信息載體、身份驗證、密鑰驗證和網絡等指標,將本文協議與其他多方密鑰分配協議[14-17]進行了比較,相關參數如表2所示。

表2 本文協議與其他協議比較
由表2可知,與經典的多方密鑰分配協議1[14]相比,所提協議更有效抵抗重放和被動攻擊,具有更高的安全性。本協議采用單光子實現,且單光子無需存儲,協議2和協議3需要存儲糾纏態,這在當前技術條件下很難實現。與協議3和協議4相比,所提協議可以避免中間人攻擊,不僅可以實現身份驗證還可以實現密鑰驗證。總而言之,本協議可以同時對每個用戶進行身份驗證和密鑰驗證,兩者可以在一個步驟中完成,而無需發送者和接收者之間的公開討論,節省了資源,降低了成本。和其他利用糾纏資源的協議相比,本協議采用單光子作為量子信息載體,且單光子不需要存儲,在技術上更容易實現。
本文將經典密碼學和量子密碼學的優點相結合,提出了一種適用于電力通信系統的密鑰分配協議。與經典的三方密鑰分配協議相比,本協議更容易抵抗重放和被動攻擊。與其他三方量子密鑰分配協議相比,本協議不僅實現了用戶身份驗證還實現了密鑰驗證,并且兩者可以在一個步驟中同時完成,而無需發送者和接收者之間的公開討論,節省了資源,降低了成本。安全性分析表明,本協議在理論上是安全的。在方案實現方面,和其他利用糾纏資源的協議相比,本協議采用單光子作為量子信息載體,且單光子不需要存儲,這在當前技術下更容易實現。
當然,本協議仍有一些不足可以改進。例如,本協議不考慮量子信道中的噪聲,但在實際環境中這不可避免,下一步工作會考慮存在量子信道噪聲的情形下,使用糾錯碼和密鑰演化來設計一種適用于電力通信系統的樹型網絡可驗證多方量子密鑰分配協議。