鄭 濤,張仕斌,李雪楊,邵婷婷
(成都信息工程大學 網絡空間安全學院,四川 成都 610225)
1984年,Bennett和Brassard利用單光子的偏振態共同研發了世界上第一個量子密鑰分發協議(quantum key distribution,QKD),即BB84協議。隨后新的QKD協議及其相關的實驗研究也不斷出現[1,2]。為了滿足不同的實際應用場景需求,人們提出了量子身份認證(quantum identity authentication,QIA)[3,4]、量子秘密共享(quantum secret sharing,QSS)[5-7]、量子安全直接通信(quantum secure direct communication,QSDC)[8-10]等一系列應用性量子密碼協議[11-13]。隱私比較屬于經典信息安全領域的“百萬富翁”問題,即兩個富翁想知道到底誰更有錢,但是都不愿意透露自己的財富。在現實生活中,有如下應用場景:假設兩個誠實用戶Alice和Bob分別擁有一條秘密信息。Alice和Bob都想同時獲得對方的秘密信息,但雙方都擔憂對方在獲得自己信息后,拒絕提供他的信息給自己,并且都不希望自己的秘密信息泄露給第三方。為了在量子通信網絡中避免這種風險發生,學者們提出了一些基于量子理論的隱私比較協議,但是大都需要通信的某一方先公開部分秘密信息,才能完成隱私比較,而且協議過程中粒子的利用效率不高。
為了增強量子隱私比較過程的平等性,提高粒子傳輸效率,本文提出了一種基于稠密編碼的量子隱私比較協議。通過安全性分析,證明了本協議在外部攻擊、內部攻擊等多種攻擊策略下都是安全可靠且高效的。并且在隱私比較過程中,一比特的量子數目可以傳輸兩比特的用戶信息量。
單粒子量子態可以寫成 |φ〉=α|0〉+β|1〉, 其中α和β分別為粒子坍縮成 |0〉態和 |1〉 態的概率值。且滿足: |α|2+|β|2=1。 兩粒子量子糾纏系統由A粒子序列與B粒子序列組成,可以由以下4個Bell態描述

(1)
在Hilbert空間中,存在線性算符(Pauli算符),用來改變量子矢量的狀態。Pauli算符以Pauli矩陣為基礎進行構造,4個基本的Pauli算符與Pauli矩陣定義如下

(2)
單粒子量子態 |φ〉=α|0〉+β|1〉 經過4種Pauli算符后變為
σ00|φ〉→|φ〉σ01|φ〉→β|0〉+α|1〉σ10|φ〉→eiπ/2(-β|0〉+α|1〉)σ11|φ〉→α|0〉-β|1〉
(3)
4種Bell態粒子經過Pauli算符操作后,也有類似的狀態改變,以Bell態 |φ+〉AB為例,容易驗證以下關系成立
σ00|φ+〉AB=|φ+〉ABσ01|φ+〉AB=|ψ+〉ABσ10|φ+〉AB=|φ-〉ABσ11|φ+〉AB=|ψ-〉AB
(4)
將N對Bell態 |φ+〉AB粒子解糾纏,形成 |A〉i和 |B〉i兩個單粒子序列 (i=0,1…N)。 假設Alice對 |A〉i單粒子序列執行Pauli操作,Bob對 |B〉i單粒子序列執行Pauli操作;操作完成后Alice或Bob將 |A〉i和 |B〉i粒子序列按照它們的初始序列順序再次糾纏,具體的操作步驟可以簡要描述為:
Alice或Bob對 |A〉i和 |B〉i這兩個單粒子序列,按照它們在Bell態 |φ+〉AB粒子的初始順序,對其進行Bell態聯合測量,使得 |A〉i和 |B〉i再次糾纏形成新的Bell態粒子。對解糾纏后的兩個單粒子執行Pauli操作后,形成的Bell態粒子與Pauli操作之間的關系見表1。

表1 Puali操作與Bell態粒子的測量結果
假設Alice擁有的秘密信息為X=(x0,x1…xn), Bob擁有的秘密信息為Y=(y0,y1…yn)。 且有xi,yi∈(0,1)。 雙方秘密共享的信息編碼規則如下
σ00→00,σ01→01,σ10→10,σ11→11
(5)
為了減少協議的復雜度,降低Bell態粒子在制備和糾纏,以及解糾纏等量子操作過程中的錯誤率,本文引入不可信第三方(untrusted third party,UTP)進行Bell態粒子的制備分發等操作。協議具體步驟如下:
(1)UTP制備N對Bell態粒子序列 |φ+〉AB, 然后UTP抽取粒子序列中所有下標為A的粒子組成單粒子序列P1, 抽取所有下標為B的粒子組成單粒子序列P2; 為了防止外部竊聽,UTP在序列P1和P2中插入足量的誘騙粒子,并將P1通過量子信道發送給Alice,將P2發送給Bob。
(2)Alice和Bob按順序接收完粒子序列后,分別通知UTP公布他們各自接收粒子序列中誘騙粒子的位置,以及誘騙粒子使用的測量基。Alice和Bob對各自的粒子序列進行竊聽檢測:雙方根據UTP公布的位置信息,抽取出誘騙粒子,使用UTP公布的測量基進行測量并將結果公布。如果得到的測量結果錯誤率高于設定的閥值,說明粒子分發過程中有外部竊聽,協議取消。否則,協議進行到下一步。


(5)UTP按照接收順序,對完成竊聽檢測后的兩個單粒子序列執行Bell聯合測量,使其再次糾纏。并將得到的Bell態粒子序列結果公布。注意:得到的粒子狀態應該為4種 Bell態粒子的集合 (|φ±〉AB和 |ψ±〉AB), 如果出現了其它的粒子狀態,說明發生了外部竊聽或協議參與者有不誠實行為,協議取消。否則,協議進行到下一步。
(6)Alice和Bob根據UTP公布的粒子態信息,結合自己對單粒子序列執行的Pauli操作,由表1和編碼規則(5),雙方可以同時推出對方完成的Pauli算符集,進而獲得對方的秘密信息。Alice將自己的秘密信息X與推出的Bob秘密信息Y′進行異或,得到x=X⊕Y′, Bob同樣操作得到y=Y⊕X′, 雙方計算x=y是否成立,如果不成立,說明UTP公布了錯誤的貝爾態粒子狀態或者參與方有不誠實行為,協議取消。反之,雙方獲取對方的秘密信息。


圖1 協議簡化流程
通過分析協議步驟可以得知,協議面臨來自通信參與方和UTP的內部攻擊威脅,竊聽者的外部攻擊威脅。
3.2.1 對UTP的安全性分析
在本協議中,UTP需要完成的事情有:①制備并分發貝爾態粒子;②對Alice和Bob發回的粒子進行Bell聯合測量,并公布正確測量結果。因此UTP可以通過公布虛假的測量結果(即假信號攻擊)來試圖獲取Alice和Bob的秘密信息。但在本協議中,UTP將不會獲得任何有用信息。首先,由于編碼規則是由Alice和Bob秘密共享的,并且通信雙方不會公布任何與秘密信息直接相關的內容,因此UTP不會獲得任何直接的秘密信息。其次,如果UTP公布的是虛假的測量結果,Alice和Bob根據UTP公布的錯誤測量結果,通過表1和編碼規則推出對方執行的泡利操作是錯誤的,但是此時UTP依然不會獲得任何有用的秘密信息。如果通信雙方在獲取了對方的秘密信息后,將自己的秘密信息與推測出的對方秘密信息進行按位異或,并通過量子信道發送給對方,經過簡單判斷就可以發現UTP是否公布了錯誤的貝爾態粒子狀態。例如:因此,UTP執行假信號攻擊無法獲得任何與用戶秘密信息相關的內容。
3.2.2 對用戶的安全性分析
假設Bob試圖欺騙Alice,他在對粒子序列不按照秘密信息Y執行泡利操作。設Alice的秘密信息為11,Bob的秘密信息為10,他卻對粒子執行σ00操作試圖獲取Alice的秘密信息。Alice對自己的粒子執行了正確的σ11操作后,雙方將粒子發回給UTP。UTP完成Bell測量后公布粒子狀態 |φ-〉AB(Bob如果執行了正確的σ10操作,UTP公布的粒子狀態本應為 |ψ+〉AB), 此時Bob根據UTP公布的 |φ-〉AB和自己的秘密信息,根據表1推出Alice的秘密信息為“11”,但是Alice推出Bob的秘密信息為“00”。當雙方在協議第(6)步驗證時,x=y將不會成立,Alice發現Bob的不誠實行為,并且協議立即取消。因此Bob不能獲得Alice全部的秘密信息。
3.2.3 截獲/重發攻擊
假設外部竊聽者想通過截獲/重發的攻擊手段獲取通信雙方的秘密信息。分析協議可知,在UTP分發粒子過程,以及Alice與Bob發回粒子給UTP的過程中,步驟(2)和步驟(4)都會抽取誘騙粒子進行竊聽檢測,因此外部竊聽者都會被檢測出來。因此截獲/重發攻擊手段對本協議將不會有作用。
3.2.4 附加粒子糾纏攻擊
假設Eve截獲UTP發送給Alice的粒子序列P1, 附加了糾纏操作Ue后,附加粒子序列E與P1組合態形成的希爾伯特空間存在如下變換


|a|2+|b|2=1 |a′|2+|b′|2=1ab*=(a′)*b′
根據上面的式子可以推出: |a|2=|a′|2, |b|2=|b′|2, 于是Eve通過附加粒子糾纏攻擊,被檢測出來的概率為p=|b|2=1-|a|2=|b′|2=1-|a′|2。 如果Eve想避免引入錯誤,則附加粒子與UTP制備的粒子構成的系統必定總是處于直積態;此時表明輔助粒子與UTP制備的Bell態之間沒有任何關聯。即Eve不能獲得任何有用的信息。
本文提出一種基于貝爾態的量子隱私比較協議,可以實現通信雙方平等的交換秘密信息。本協議可以防止一方欺騙另一方,從而獲得其秘密信息,通信的雙方通過第三方公布的消息同時獲得對方的秘密信息。本協議通過引入不可信第三方,減小了協議的量子操作復雜度。同時可以抵御外部攻擊,截獲重發攻擊,附加粒子糾纏攻擊,以及用戶的攻擊,確保信息的安全可靠,平等高效的互換。