邵婷婷 張仕斌 昌 燕 張 焱
(成都信息工程大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 四川 成都 610225)
隨著量子計算機(jī)研制的提出[1],經(jīng)典的密碼體制受到了極大的挑戰(zhàn)。1969年S.Wiesner首先提出用量子效應(yīng)保護(hù)信息,他寫了一篇《共軛編碼》[2]的論文。量子密鑰分發(fā)(QKD)是量子密碼學(xué)中研究最早,同時也是發(fā)展最快的一個分支,它可以使遠(yuǎn)距離的兩個用戶通過量子信道建立隨機(jī)密鑰。量子通信除了量子密鑰分發(fā)(QKD)還包括量子安全直接通信(QSDC)[3-4]、量子秘密共享(QSS)[5-6]、量子隱私比較(QPC)[7-8]等。
1984年,Bennet提出第一個量子密鑰分發(fā)方案,稱為BB84量子密鑰分發(fā)方案,BB84協(xié)議利用單粒子作為載體,證明了利用量子密碼協(xié)議傳輸信息的絕對安全,這也標(biāo)志著量子密碼學(xué)的誕生,引起了整個科學(xué)界的廣泛關(guān)注[9]。1991年,英國牛津大學(xué)的Ekert提出了一種基于兩粒子糾纏態(tài)的量子密鑰分發(fā)方案,稱為E91方案[10]。1992年Bennett又提出一種更簡單但是效率減半的B92方案[11]。目前,各種各樣的量子密鑰分發(fā)協(xié)議相繼提出[12-16]。
以往的QKD協(xié)議大都是通信雙方進(jìn)行密鑰分發(fā),多數(shù)沒有考慮到三方及以上的情況。隨著用戶數(shù)量的增加,需要考慮多用戶密鑰分發(fā),因此需要設(shè)計更加實用的多用戶密鑰分發(fā)協(xié)議。如果網(wǎng)絡(luò)中有n個用戶,那么以往的密鑰分發(fā)協(xié)議需要0.5n×(n-1)個量子信道,用戶數(shù)量越多,那么所需的信道數(shù)量也就越多,因此傳輸?shù)男蕦档汀?010年,一種多用戶密鑰分發(fā)協(xié)議被提出,但是需要利用糾纏交換,操作起來比較復(fù)雜[17]。本協(xié)議中密鑰分發(fā)的兩個用戶只需要用正確的測量基測量各自的粒子,不需要其他的任何操作。目前對于多用戶的密鑰分發(fā)研究多數(shù)需要可信第三方的幫助,但是在實際的應(yīng)用中,要求第三方完全可信非常困難,本文提出的基于密集編碼的多用戶量子密鑰分發(fā)協(xié)議降低了對第三方的依賴,只要求第三方是半可信。如果網(wǎng)絡(luò)中任意兩個用戶想要進(jìn)行通信,由半可信第三方制備Bell粒子,分別發(fā)送給兩個用戶,根據(jù)粒子在X基和Z基的不同特性實現(xiàn)密鑰的分發(fā)。半可信第三方只需要誠實地制備Bell粒子并公布對應(yīng)的測量基,但是并不能推測出正確的密鑰信息。系統(tǒng)中的任何兩個用戶都可以彼此通信,即使它們之間沒有直接的量子通道,n個用戶只需要n個信道就可以實現(xiàn)兩兩用戶的密鑰分發(fā)。因為采用了密集編碼的思想,一個粒子可以傳輸兩個比特的信息,極大提高了協(xié)議的效率,同時減少了網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度,具有很強(qiáng)的實際應(yīng)用價值。多用戶量子密鑰分發(fā)結(jié)構(gòu)圖如圖1所示。
圖1 多用戶量子密鑰分發(fā)結(jié)構(gòu)圖
Z基測量下的|0〉、|1〉在X基下可以表示為:
(1)
X基測量下的| +〉、| -〉在Z基下可以表示為:
(2)
四個Bell態(tài)在Z基和X基下的表示如下:
(3)
利用X基或Z基測量兩個粒子狀態(tài)相同的這個特性,設(shè)計一個基于密集編碼的多用戶量子密鑰分發(fā)協(xié)議。該協(xié)議需要半可信第三方的參與,但是半可信第三方只需要誠實地制備粒子并公布對應(yīng)的測量基,如果公布Z基測量,用戶50%的概率得到|0〉,50%的概率得到|1〉;如果公布X基測量,用戶50%的概率得到| +〉,50%的概率得到| -〉,而半可信第三方無法獲得正確的密鑰信息。雖然增加了半可信第三方,但是有效減少了信道的數(shù)量,提高了信道容量。因為采用了密集編碼的思想,一個粒子可以傳輸兩個比特的信息,極大提高了協(xié)議的效率。
(1) 如果網(wǎng)絡(luò)中的用戶Alice與用戶Bob需要進(jìn)行密鑰分發(fā),通過廣播通知半可信第三方。
(2) 半可信第三方制備4種Bell態(tài),其中|Ψ-〉態(tài)粒子作為檢測粒子,其余三種狀態(tài)用于密鑰的分發(fā)。
(3) 每個Bell態(tài)中有兩個粒子,將其中的第一個粒子組成序列A發(fā)送給用戶Alice,將第二個粒子組成序列B發(fā)送給用戶Bob。
(4) 用戶Alice和用戶Bob收到粒子之后,進(jìn)行信道安全性檢測,半可信第三方公布|Ψ-〉態(tài)粒子的位置及測量基,Alice和Bob用X基(或Z基)進(jìn)行測量并用經(jīng)典信道公布結(jié)果。比較兩者的測量結(jié)果,如果兩者的測量結(jié)果相反,說明信道安全,可以進(jìn)行下一步,否則放棄通信。
(5) 半可信第三方根據(jù)發(fā)送的Bell態(tài)公布測量基。如果是|Ψ+〉態(tài),公布X基;如果是|Φ-〉態(tài),公布Z基;如果是|Φ+〉態(tài),隨機(jī)公布X基或Z基。
(6) 用戶Alice和用戶Bob選用第三方公布的測量基進(jìn)行測量,測量結(jié)果為|0〉編碼為00;測量結(jié)果為|1〉編碼為01;測量結(jié)果為| +〉編碼為10;測量結(jié)果為| -〉編碼為11。
在保密通信系統(tǒng)中,n個用戶進(jìn)行密鑰分發(fā)一般需要0.5n×(n-1)個信道,用戶數(shù)量越多,那么所需的信道數(shù)量也就越多。本文提出的基于密集編碼的多用戶量子密鑰分發(fā)協(xié)議增加了半可信第三方,n個用戶只需要n個信道就可以實現(xiàn)兩兩用戶的密鑰分發(fā),減少了網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度。半可信第三方只需要誠實地制備粒子并公布對應(yīng)的測量基,但是并不能推測出正確的密鑰信息,降低了對第三方的依賴。以往的密鑰分發(fā)協(xié)議中,對1個量子比特操作只能傳輸1比特的經(jīng)典信息,本協(xié)議采用了密集編碼的思想,1個粒子可以傳輸2個比特的信息,極大地提高了協(xié)議的效率。如果網(wǎng)絡(luò)中任意兩個用戶想要進(jìn)行通信,由半可信第三方制備Bell粒子,分別發(fā)送給兩個用戶,只需要根據(jù)粒子在X基和Z基的不同特性就可以實現(xiàn)密鑰的分發(fā),不需要其他任何操作,實現(xiàn)過程更加簡單。本協(xié)議只進(jìn)行1次竊聽檢測,減少了協(xié)議中傳輸信息的次數(shù)。
如果網(wǎng)絡(luò)中用戶Alice和用戶Bob兩個用戶想要進(jìn)行通信,通知半可信第三方,由半可信第三方制備4種Bell態(tài)粒子,此時|Φ+〉、|Ψ+〉、|Φ-〉和|Ψ-〉四種狀態(tài)不攜帶任何信息。每個Bell態(tài)中有兩個粒子,將其中的第一個粒子組成序列A發(fā)送給用戶Alice,將第二個粒子組成序列B發(fā)送給用戶Bob。假設(shè)半可信第三方制備的粒子如表1所示,用戶Alice和用戶Bob收到粒子之后,通過經(jīng)典信道告知半可信第三方,半可信第三方公布|Ψ-〉態(tài)粒子的位置及隨機(jī)選取的Z基或X基。用戶Alice和用戶Bob分別取出對應(yīng)位置的粒子用Z基或X基測量,如果測量結(jié)果相反說明沒有存在竊聽,半可信第三方則繼續(xù)公布其他粒子對應(yīng)的測量基。半可信第三方根據(jù)發(fā)送的Bell態(tài)公布測量基,如果是|Ψ+〉態(tài),公布X基;如果是|Φ-〉態(tài),公布Z基;如果是|Φ+〉態(tài),隨機(jī)公布X基或Z基。如表1所示,如果公布的是Z基,得到的測量結(jié)果是| +〉或| -〉;如果公布的是X基,得到的測量結(jié)果是| +〉或| -〉。根據(jù)Alice和Bob得到的測量結(jié)果,測量結(jié)果為|0〉編碼為00;測量結(jié)果為|1〉編碼為01;測量結(jié)果為| +〉編碼為10;測量結(jié)果為| -〉編碼為11。根據(jù)表1中制備粒子的狀態(tài)及Alice和Bob測量結(jié)果可知,Alice和Bob得到的相同密鑰為“001000011101110”。一個粒子可以傳輸兩個比特的信息,極大提高了協(xié)議的效率。
表1 制備粒子的狀態(tài)及Alice和Bob測量結(jié)果
3.3.1 對半可信第三方的分析
半可信第三方雖然負(fù)責(zé)制備Bell粒子并公布對應(yīng)的測量基,但是半可信第三方不能獲得最終的密鑰信息。半可信第三方制備的粒子以及發(fā)送給任意兩個用戶的粒子序列是完全隨機(jī)的,不包含任何信息。半可信第三方第一次公布測量基是用于竊聽檢測,通信的兩個用戶根據(jù)半可信第三方公布的測量基及|Ψ-〉態(tài)粒子的位置進(jìn)行竊聽檢測。如果發(fā)現(xiàn)可能存在竊聽者,則放棄通信。因為密鑰是用戶根據(jù)半可信第三方公布的測量基測量各自手中的粒子獲得,并且測量結(jié)果是隨機(jī)的,因此此時并沒有泄露任何有用信息。半可信第三方第二次公布測量基是為了兩個用戶獲得密鑰,通信雙方根據(jù)半可信第三方公布的測量基測量各自手中的粒子獲得密鑰。由于測量結(jié)果也是隨機(jī)的,半可信第三方并不知道兩者的測量結(jié)果。例如,半可信第三方公布Z基,那么用戶的測量結(jié)果可能是|0〉,也可能是|1〉;半可信第三方公布X基,那么用戶的測量結(jié)果可能是| +〉,也可能是| -〉。所以,半可信第三方無法獲得正確的密鑰信息,保證了密鑰分發(fā)的安全性。
3.3.2 中間人攻擊或截獲重發(fā)攻擊
當(dāng)信道不安全時,可能存在中間人攻擊或截獲重發(fā)攻擊。用戶Alice和用戶Bob收到粒子之后,需要進(jìn)行信道安全性檢測,半可信第三方公布|Ψ-〉態(tài)粒子的位置及隨機(jī)公布X基或Z基。用戶Alice和用戶Bob分別用對應(yīng)測量基進(jìn)行測量并用經(jīng)典信道公布結(jié)果,通過比較兩者的測量結(jié)果是否相反判斷信道是否安全。當(dāng)兩個用戶使用同一測量基進(jìn)行測量的時候,測量結(jié)果反相關(guān)。攻擊者一旦選錯測量基,就會不可避免的對粒子造成干擾。|Ψ-〉態(tài)的兩個粒子采用相同的測量基測量具有反相關(guān)性,根據(jù)這個特性可以發(fā)現(xiàn)竊聽,抵御中間人攻擊或截獲重發(fā)攻擊。一旦發(fā)現(xiàn)攻擊,則放棄通信,并且沒有造成密鑰信息的泄露。
3.3.3 糾纏攻擊
攻擊者Eve想要利用|1〉態(tài)作為探針對第三方發(fā)送給用戶Alice或用戶Bob的粒子進(jìn)行交互,假設(shè)Eve對每個粒子準(zhǔn)備一個探針,將探針與用戶Alice的粒子執(zhí)行受控非門CNOT(Controlled Not)操作。CNOT作用在兩個量子比特上,一個是目標(biāo)量子比特,一個是源量子比特。如果源量子比特處于|1〉態(tài),則目標(biāo)量子比特進(jìn)行翻轉(zhuǎn)。如果源量子比特處于|0〉態(tài),則目標(biāo)量子比特不變。假設(shè)Eve截取半可信第三方發(fā)送給用戶Alice的序列A,想要通過CONT操作,獲得用戶Alice的信息。在下式中,粒子1表示源量子比特,粒子2表示目標(biāo)量子比特,Eve選用探針|1〉態(tài)為目標(biāo)量子比特。
(4)
通過式(4)可知,源量子比特為是|0〉態(tài)和|1〉態(tài)時,Eve可以通過目標(biāo)量子比特|1〉態(tài)判斷出第三方發(fā)送的量子態(tài)。如果目標(biāo)量子態(tài)不變,則發(fā)送的是|0〉態(tài);如果目標(biāo)量子態(tài)改變,則發(fā)送的是|1〉態(tài)。但是源量子比特為也可能是| +〉態(tài)或者| -〉態(tài),對應(yīng)公式如下:
(5)
通過式(5)可知,源量子比特為態(tài)和態(tài)時,Eve制備的目標(biāo)量子比特狀態(tài)發(fā)生了改變,無法通過糾纏攻擊獲得有效信息。如果Eve進(jìn)行了糾纏攻擊,同時會對半可信第三方發(fā)送的糾纏粒子引入錯誤,在進(jìn)行竊聽檢測的時候會被發(fā)現(xiàn)。
隨著網(wǎng)絡(luò)中用戶數(shù)量的增加,需要研究多用戶之間的通信,量子通信也在往多用戶的方向發(fā)展。本文提出一個基于密集編碼的多用戶量子密鑰分發(fā)協(xié)議。該協(xié)議中,不需要像以往方案中建立0.5n×(n-1)個信道,只需要n個信道就可以實現(xiàn)n個用戶兩兩之間進(jìn)行密鑰分發(fā),采用了密集編碼的思想,一個粒子能夠傳輸兩比特的信息。同時第三方是半可信的,如果網(wǎng)絡(luò)中任意兩個用戶想要進(jìn)行通信,由半可信第三方制備Bell粒子,分別發(fā)送給兩個用戶,根據(jù)粒子在X基和Z基的不同特性實現(xiàn)密鑰的分發(fā),有效提高了信道容量和傳輸效率。通過安全性分析可知,雖然第三方負(fù)責(zé)制備粒子,但是無法獲得正確的密鑰信息。同時,該協(xié)議能夠發(fā)現(xiàn)竊聽,抵御截獲重發(fā)攻擊和糾纏攻擊,具有很強(qiáng)的實際應(yīng)用價值。