宋 曦,王玉亭,王瑜曈,肖 博,陳康杰
(1.國網甘肅省電力公司信息通信公司,甘肅 蘭州 730050;2.國網信通億力科技有限責任公司,福建 廈門 350003)
進入信息時代,基于群組通信的新業務如遠程教育、協同辦公以及網絡游戲等大量出現。為防止通信被惡意非授權用戶訪問,合法用戶組需要建立并共享一個相同的組密鑰,以便他們在竊聽者存在的情況下仍能進行安全的群組通信。隨著計算機技術的飛速發展,人們的計算能力逐漸提高,一旦量子計算機替代了傳統計算設備,現有的加密技術將不再安全。因此,必須探索更加安全的加密技術來抵御強大的量子算法,于是量子密鑰管理技術應運而生。所謂量子密鑰管理,是指在發送方和接收方不共享任何信息的基礎上,利用量子態的物理特性完成雙方共享比特串的過程[1]。
基于量子態的不同物理特性,實現單一功能的量子保密通信協議很多,如量子密鑰分發(Quantum Key Distribution,QKD)、量子隱形傳態、量子安全直接通信與量子秘密共享協議(Quantum Secret Sharing,QSS)等。1984年,第一個量子密碼協議——BB84協議由 C.H.Bennett和 G.Brassard提出[2]。BB84協議主要使用的是單粒子載體,是一種無條件安全的QKD協議。此后,Hillery等人在1999年首次提出QSS概念,并給出第一個QSS協議,簡稱HBB99協議[3]。QKD協議和QSS協議都僅能實現單一功能的保密通信,如何在協議中同時實現量子密鑰生成、密鑰分發和密鑰備份是一個值得深入研究的問題。
從另一種場景考慮,異地的用戶們需要一串真正的隨機密鑰進行保密通信,但是他們不希望密鑰被壟斷他們通信手段的運營商得到,這就需要可靠的監督方(如政府部門、司法部門、數據中心和其他第三方等)來幫助實現密鑰分發。當用戶們建立通信后,不希望提供密鑰的部門獨自得到該密鑰,但又希望在意外發生時他們可以通過尋求上述部門的幫助來恢復密鑰。目前,已提出的量子密鑰分發和量子秘密共享等協議都無法實現這種情景的要求。
當前,已經研究出許多量子密鑰分配方案,根據信號源不同大致分為基于單量子的量子密鑰分配、基于量子糾纏對的量子密鑰分配和基于單量子與量子糾纏對的量子密鑰分配[4]。其中,基于量子糾纏狀態的協議由于良好的安全性和高效性而受到廣泛關注。本文利用d級Bell態和貓態的糾纏交換,提出了一種新型的量子密鑰管理協議,僅通過執行一次協議就能同時實現密鑰生成、密鑰分發和密鑰備份功能。為了實現多用戶的安全通信,本文進一步研究了多個管理者和多個用戶之間的量子密鑰管理協議,這是首次在量子密鑰管理領域提出多任務思想。由于信道中傳輸的是經典密鑰,本文分別對密鑰分發和密鑰備份過程中易受到的竊聽攻擊進行分類研究,詳細論證了協議的安全性。
Bell態是最簡單的兩體量子糾纏態,測量前A和B處于不確定狀態,若對其中之一進行測量,則另一個的狀態隨之確定,即塌縮到確定態。d級兩粒子Bell態:

量子糾纏交換是為了通過某些物理過程,讓沒有直接相互作用的量子系統之間形成量子關聯[6]。本協議中,密鑰的管理者需要對貓態的第一個粒子和Bell態的第二個粒子進行糾纏交換,即:

量子密鑰管理協議的步驟如下,接收方的計算過程信息如表1所示,協議過程如圖1所示。

表1 所有接收方的計算信息表

圖1 量子密鑰管理協議過程
第P1步:管理者M1首先制備d級三粒子貓態,然后與兩個用戶R1和R2共享。三粒子貓態表示為:

M1和 M2分別擁有d級Bell態 |ψ(u1,u2)〉B1,B1′和|ψ(v1,v2)〉B2,B2′。然后,M1公布初始值 m1、m2、m3,M1發送他的Bell態的第一個粒子B1給M2,貓態的第二個粒子2給R1,貓態的第三個粒子3給R2,自己保留貓態的第一個粒子,如圖1(Ⅰ)所示。
在粒子分發過程中,M1插入一些誘騙態粒子,誘騙態粒子在 {|0〉,…,|d-1〉,|ω0〉,…,|ωd-1〉}這些態中隨機選取,其中{|0〉,…,|d-1〉}是d級直線基,{|ωj〉,j=0,…,d-1}(即)是d級傅里葉基[7]。確認所有的接收方收到這些粒子后,M1公布誘騙粒子的位置和測量基。然后,M2、R1和R2在給定的基下測量這些粒子并公布測量結果。隨后,M1通過誘騙粒子的初始態去驗證其他接收方公布的測量結果是否正確,以分析傳輸的安全性。如果錯誤率高于信道噪聲的閾值,M1將取消該協議并重新開始;否則,繼續下一步。
第P2步:M1確認粒子傳輸的安全性后,對自己擁有Bell態的第二個粒子B1′和貓態|ψ(m1,m2,m3)〉1,2,3的第一個粒子1執行Bell基聯合測量,如圖1(Ⅱ)所示。由式(3),有:

這里,|ψ(m1+k1,u2+l1)〉1,B1′是 M1的測量結果,由M1得到l1的值。測量后系統塌縮為態|ψ(u1-k1,m2-l1,m3-l1)〉B1,2,3。
第P3步:M2對M1發送的粒子B1和粒子B2′執行Bell基聯合測量,如圖1(Ⅲ)所示。由式(3),有:

其中,|ψ(u1-k1+k2,v2+l2)〉B1,B2′是 M2的測量結果,M2得到l2的值。
第P4步:現在獲得的態為|ψ(v1-k2,m2-l1-l2,m3-l1-l2)〉B2,2,3,由式(2),有:

然后,在直線基 {|0〉,…,|d-1〉}下,M2測量粒子B2,R1測量粒子2,R2測量粒子3,當M2公布| j〉的測量結果時,R1和R2分別使用m2-l1-l2和m3-l1-l2的值計算密鑰。
至此,R1和R2都得到密鑰l1+l2。按照糾纏交換的規則,l1、l2、k1和k2都是隨機的,且公布的j、m1、m2、m3的值與 l1和 l2無關,所以密鑰 l1+l2是隨機密鑰。同時,M1和M2僅分別持有部分密鑰l1和l2,即密鑰在管理者手里得到了備份。特別地,兩個管理者可以通過量子安全計算合作恢復出密鑰
多個管理者和多個用戶的量子密鑰管理協議可以在N(N≥2)個用戶中分發隨機密鑰l1+…+lL,同時也可以在L(L≥2)個管理者之間備份部分密鑰。協議步驟如下。
第T1步:M1制備α+δ組d級(N+1)粒子貓態并公布,第p組的(N+1)粒子貓態是:

接著,M1發送貓態的第二個粒子2給R1,貓態的第三個粒子3給R2,以此類推,貓態的最后一個粒子N+1給RN。同時,M1,…,ML分別制備d級Bell態 (|ψ(u1,u1′)〉B1,B1′)p,…,(|ψ(uL,uL′)〉BL,BL′)p。隨后,M1發送他的Bell態的第一個粒子B1給M2,M2發送他的Bell態的第一個粒子B2給M3,以此類推,ML-1發送他的Bell態的第一個粒子BL-1給ML。
在發送粒子時,和兩個管理者兩個用戶的情況類似,Mi(i=1,…,L-1)需要在 {|0〉,…,|d-1〉,|ω0〉,…,|ωd-1〉}中隨機選取一些作為誘騙態粒子插入。接著,Mi通過比較誘騙粒子的初始態和其他接收方公布的測量結果,并計算錯誤率來判定是否繼續下一步操作。
第T2步:M1對自己擁有Bell態的第二個粒子B1′和貓態的第一個粒子1執行Bell基測量,即:

這里,(|ψ(m1+k1,u1′+l1)〉1,B1′)p是M1的測量結果,它的值為l1。同樣,第i個管理者Mi對他自己擁有Bell態 (|ψ(ui,ui′)〉Bi,Bi′)p中的粒子 Bi′和貓態 (|ψ(ui-1-ki-1,m2-l1-…-li-1,…,mN+1-l1-…-li-1)〉Bi-1,2,…,N+1)p中的第一個粒子Bi-1執行Bell基測量。

獲得測量結果 (|ψ(ui-1-ki-1+ki,ui′+li)〉Bi-1,Bi′)p并得到 li的值。
第T3步:獲得態(|ψ(uL-kL,m2-l1-…-lL,…,mN+1-l1-…-lN)〉BL,2,N+1)p,且:

ML使用直線基 {|0〉,…,|d-1〉}測量粒子 BL,R1測量第二個粒子,…,RN測量第N+1個粒子。當ML公布j的值時,每一個Rk(k=1,…,N)分別通過使用(mk+1-l1-…-lL)p計算密鑰。
至此,所有用戶R1,…,RN都得到第p組的密鑰(l1+…+lL)p,同時每一個管理者Mi保留部分密鑰li,如有必要可以合作恢復密鑰。
第T4步:用戶R1,…,RN隨機選擇δ組密鑰來驗證管理者是否作假,讓管理者M1,…,ML公布各自的部分密鑰lip。如果全部管理者的密鑰總和等于用戶共享的相應密鑰,他們放棄這δ組密鑰,并接受剩余的α組;否則,他們放棄所有的密鑰。
3.1.1 情形1:截獲—重發攻擊
如果竊聽者想使用截獲—重發攻擊本協議,他們必須在第T1步攔截粒子。于是,考慮從M1到M2、R1,…,RN或從Mi到Mi+1(i≥2)的傳輸過程。如果竊聽者Eve試圖攔截由M1或Mi發送的粒子,并用虛假粒子取代它們,Eve將引入額外的錯誤率,將使他在安全檢查過程中被檢測到的概率不小于1-[(d+1)/2d]n。這是因為Eve不知道誘騙態粒子的準確位置和初始態,而且粒子的傳輸不攜帶接收方之間的密鑰信息,因此這種攻擊可以通過安全性分析被檢測到。
3.1.2 情形2:關聯—引出攻擊
如果竊聽者想使用關聯—引出攻擊[8]本協議,他們必須在第T1步攔截粒子和附加輔助粒子。于是,考慮從M1到M2、R1,…,RN或從Mi到Mi+1(i≥2)的傳輸過程。如果竊聽者Eve試圖攔截由M1或Mi發送的誘騙態粒子并附加輔助粒子,他將引入額外的錯誤,使他在安全檢查過程中被檢測到。
(1)若誘騙態粒子是直線基 {|0〉,…,|d-1〉}中的一個。假設Eve對附加輔助粒子使用單位酉操作:

(2)若誘騙態粒子是傅里葉基{|ωj〉, j=0,…,d-1}中的一個。假設誘騙態粒子和附加粒子經過操作后可以整理為:

分別針對mod(-k1+l1+k2-l2,d)=0和≠0的情況對式(15)進一步化簡,得到:

進一步討論可以推出Eve引入錯誤的概率為:

3.2.1 情形1:假設M1是不誠實的接收方
管理者M1的攻擊策略包括兩個方面:一方面,作為內部攻擊者M1可以在第T1步產生一個虛假的糾纏態,然后通過測量粒子試圖竊取密鑰l2的值;作為外部攻擊者他試圖竊取密鑰l3,…,lL另一方面,M1在沒有其他管理者的幫助下在第T3步可能恢復密鑰。下面證明本協議可以防止上述攻擊。
一方面,假設M1生成如下虛假態來竊取密鑰:

粒子B1的態是由一些標準正交基{|k〉}表示。M1發送虛假態的第一個粒子B1給M2。
M2對粒子B1和B2′執行Bell基測量,即:

測量結束后,粒子B1′和B2上的態變為。由于M1沒有粒子B2,無法得到k+l2的值,也就不知道l2的值。如果他企圖獲得其他li(3≤i≤L),他將作為外部竊聽者被發現。
另一方面,第T2步后,第N+1個粒子的貓態將塌縮為式(11)中的態 |ψ(uL-kL,m2-l1-…-lL,…,mN+1-l1-…-lL)〉BL,2,…,N+1,包括密鑰 l1+…+lL的值。然而,由于M1沒有機會收集R1+…+RL持有的貓態的第二個粒子到第N+1個粒子并測量它們,因此M1不能在沒有其他管理者的幫助下在第T3步竊取l1+…+lL的值。
3.2.2 情形2:假設Mi(i≠1)是不誠實的接收方
與M1一樣,如果Mi試圖攻擊協議,他將作為外部竊聽者被檢測到,同時Mi也不能獨立獲得l1+…+li-1+li+1+…+lL的值。總之,如果沒有合作,每個Mi分別只能擁有li(i=1,…,L),他們中任何人都不能計算出密鑰。
3.2.3 情形3:假設M1和ML合作
M1負責制備初始貓態,ML公布粒子BL的測量結果(即j的值),可見M1和ML比其他人有更多的權利。于是,將討論M1和ML的合作中唯一可能的攻擊如下。
在第T1步中,M1用直線基測量自己制備貓態的第一個粒子,假設結果是| j〉,剩余的態將分別塌縮到 | j+m2〉,| j+m3〉,…,| j+mN+1〉。之后,他也用直線基測量粒子 B1′。
在第T3步,用戶正常測量相應的粒子,結果是| j+m2〉,| j+m3〉,…,| j+mN+1〉。ML公布一個虛假 j+l′的值。用戶 Rk(k=1,…,N)通過 (j+l′)+mk-( j+mk)=l′計算密鑰。也就是說,這兩個管理者不僅獲得了密鑰,而且控制了密鑰的值。
幸運的是,得到密鑰的用戶將進一步檢查管理者是否在第T4步作弊。他們要求所有的管理人員公布他們的Bell基測量值(每個li,i=1,…,L)。M1和ML通過檢查的唯一方法是與所有其他管理者合作,這意味著協議對合謀攻擊也是安全的。
本文利用量子糾纏態的特殊屬性——糾纏交換,設計了一種針對多個管理者和多個用戶的新型量子密鑰管理協議。與其他單一功能的量子密碼協議不同,該協議可以實現完整的量子密鑰管理過程,即僅通過執行一次協議就可以同時完成密鑰生成、密鑰分發和密鑰備份功能。此外,通過詳細分析證明了提出的量子密鑰管理協議在密鑰分發和密鑰備份過程中具有的無條件安全性。