稍微深入地談談BB84(二)

這次主要談一談有關PNS攻擊的內容


構建系統安全分析需要引入的記號

為了引入PNS攻擊以及GLLP分析理論, 需要首先進行一些約定.

初始碼速率: QKD協議進行過程中, Alice需要向Bob發送光子, Bob的探測器響應率稱為初始碼, 其產生率為初始碼速率, 記為 B_mathrm{raw} , 滿足 B_mathrm{raw}=vQ , 其中 v 為光源重複頻率, Q 為探測器的響應率.

篩選碼速率: 基矢比對後, 剩餘的共享數據稱為篩選碼, 其速率稱為篩選碼速率, 記為 B_mathrm{sifted} ,滿足 B_mathrm{sifted}=qvQ , q 由協議決定, 例如BB84協議q=0.5 .

安全碼速率: 經過糾錯和隱私放大過程後最終剩餘的數據稱為安全碼, 其速率稱為安全碼速率, 記為 B_mathrm{secure} , 滿足 B_mathrm{secure}=qvQ[1-H(delta_Z)-H(delta_X)] . 為了簡化問題, 通常假設通信系統對稱, 即Z和X誤碼率相等, 於是便有 B_mathrm{secure}=qvQ[1-2H(E)]=vqR , R 稱為成碼率.

響應率 Q

我們首先談談響應率.

假設Alice發給Bob的並不是單光子脈衝, 而是不同光子數Fock態的混合, 那麼Alice發射出的態便可以用 
ho=sum_nP(n)|n
anglelangle n| 表示, 其中 P(n) 便是脈衝中含有 n 個光子的概率.

於是, 我們可以定義Alice發射出 n 光子脈衝時, Bob端探測器有響應的概率為 Y_n .

故, Q_n=P(n)Y_n 便表示Alice發出的脈衝含有 n 個光子, 且Bob端探測器有響應的概率, 我們稱之為 n 光子信號增益.

Alice發射脈衝Bob端響應的概率即將所有光子數可能性求和 Q=sum_nQ_n=sum_P(n)Y_n .

通過上面分析我們能發現, 響應率 Q 由兩個因素決定:

  1. P(n) , 該項取值由光源性質決定, 不會重點分析.
  2. Y_n , 該項由線路以及設備損耗, 探測器的暗計數等因素決定, 下面將重點分析.

分三種情況討論

  • n=0 時, 無光子, Bob端若有響應那一定是暗計數, 設暗計數幾率為 p_d , 其量級約為 10^{-5}sim10^{-6}~/mathrm{pulse} . Bob端共有兩個探測器, 假設其暗計數一樣, 那麼至少有一個探測器響應的概率為 Y_0=p_d+p_d-p_d^2approx2p_d .
  • n=1 時, 設總效率為 eta (稍後詳細分析), 則 eta 即為Alice發射一個光子的情況下, Bob端有響應的概率, 但我們應考慮暗計數, 於是 Y_1=eta+Y_0-eta Y_0approxeta+Y_0 .
  • ngeq2 時, 至少一個光子有響應, 則Bob端就有響應, 故 eta_n=1-(1-eta)^n . 考慮暗計數, 則有 Y_n=eta_n+Y_0-eta_nY_napproxeta_n+Y_n.

下面說說 eta . 損耗包括兩部分, 線路損耗 eta_{AB}Bob端總損耗 eta_B , 於是 eta=eta_Beta_{AB} . 其中線路損耗與線路長度 L 和線路衰減係數 alpha 有關, 具體表達式為 eta_{AB}=10^{-alpha L/10} . Bob端損耗則包括兩個部分, 設備損耗 eta_mathrm{I} 和探測效率 eta_D , 於是 eta_B=eta_Ieta_D .

例子

相干光源的光子數分布滿足泊松分布 P(n)=e^{-mu}frac{mu^n}{n!} , 其中 mu 為平均光子數. 則

Q_mu=sum_0^infty e^{-mu}frac{mu^n}{n!}Y_n=Y_0+1-e^{-etamu},

當系統衰減較為嚴重或者平均光子數較低時, Q_muapprox Y_0+etamu .

誤碼率 E_mu

定義 e_n 為Alice發送 n 光子信號Bob有響應時, Bob測到結果與Alice發送量子態不符的概率. 於是定義總誤碼率 E_muQ_mu E_mu=sum_0^infty Q_ne_n . 於是, 我們只需討論 e_n .

誤碼主要來源於兩個方面

  1. 設備不理想, 為了簡單, 我們用一個參數 e_mathrm{tot} 來概括, 稍後我們會看到怎麼用它.
  2. 暗計數.

暗計數二探測器隨機響應, 故 e_0=frac{1}{2} .

ngeq1 , 誤碼由系統不理想和暗計數兩個因素造成, 於是 e_n=frac{e_0Y_0+e_mathrm{tot}eta_n}{Y_n} .

例子

理想單光子源, E=e_1 .

相干光源

E_mu=frac{e_0Y_0+e_mathrm{tot}sum_1^inftyeta_nP(n)}{Q_mu}=frac{e_0Y_0+e_mathrm{tot}(1-e^{-etamu})}{Q_mu}.


光子數分離(PNS)攻擊

實際系統中實現BB84協議往往採用弱相干光或參量下轉換光, 這就使得信道中實際傳輸的脈衝有較大概率包含多個光子. 但是理想BB84協議要求通信過程使用單光子源, 從而保證量子不可克隆定理的有效性. 故實際BB84系統往往存在多光子漏洞, 該漏洞結合系統的線路損耗, 系統中使用閾值型探測器不可分辨光子數這兩個特性, 使得竊聽者可能實施光子數分離(Photon Number Splitting, PNS)攻擊.

在PNS攻擊中, 我們假設竊聽者能夠進行光子數非破壞性測量, 擁有一條無損量子信道以及量子存儲器; Bob的探測裝置不能分辨光子數目, 只能根據閾值判斷是否有光子.

PNS攻擊方法

  1. 竊聽者非破壞性測量(QND)脈衝中包含光子數目.
  2. 若該脈衝不含光子, 不操作; 若該脈衝包含一個光子, 根據QKD系統總效率 eta 選擇 p , 以概率 p 阻止該單光子脈衝通過; 若脈衝包含多個光子, 則取出一個光子保存在量子存儲器中, 剩餘光子通過無損信道發送給Bob.
  3. Alice與Bob基矢比對之後, 竊聽者選擇正確基矢測量其量子存儲器中保存的光子, 獲取多光子信號所攜帶的密鑰信息.

當信道衰減很高時, 竊聽者可以阻止所有單光子脈衝的通過, 使Bob僅能探測多光子信號, 且保持其響應率不變.

下面定量分析PNS攻擊的過程(忽略暗計數的影響).

假設系統光源為弱相干光, 光子數滿足泊松分布(表達式見上文), 無竊聽者時, Bob端響應率為

Q_mu=1-e^{-etamu} .

竊聽者對相干態做PNS攻擊後, 其密度矩陣記為 
ho_mathrm{PNS}=sum_0^infty P_mathrm{PNS}(n)|n
anglelangle n| , 其中

P_mathrm{PNS}(n)=left{ egin{array}{l~~~~l} P(0)+pP(1)=e^{-mu}+pmu e^{-mu} & ,n=0\ (1-p)mu e^{-mu}+P(2) &,n=1\ P(n+1) &,ngeq2 end{array} 
ight.

竊聽者擁有無損信道, 為了保證Bob端響應率不變, 應有

Q_mu=sum_0^infty P_mathrm{PNS}(n)Y_n^mathrm{PNS}. p=1

上式中 Y_n 與之前定義類似.

假設竊聽者能力超群, 甚至能夠控制Bob手中設備的損耗(令 eta_B=1 ), 於是 Y_n^{PNS}=1 . 為了使Bob端的響應率不變, 就應該有

1-e^{-etamu}=(1-p)mu e^{-mu}+sum_{n=2}^infty e^{-mu}frac{mu^n}{n!}.

解得 p=frac{1}{mu}[e^{mu(1-eta)}-1], 從中可見, 如果信道無損, 則 eta=1Rightarrow p=0. 此時竊聽者無法攔截單光子信號, 否則會被Bob察覺; 但實際使用的信道必然有損耗, 且損耗與通信長度成正相關, 這就使得給定平均光子數 mu, 在 p=1 即竊聽者能攔截所有單光子信號時, 必然能解出 eta , 當信號損耗大或等於該 eta 時, Bob不會接收到單光子信號且不會察覺, 通信失敗. 這個 eta 所對應的信道長度即為BB84協議的最遠安全傳輸距離, 記為 L_max.

即便竊聽者不能控制Bob手中設備的損耗, 由於其擁有者無損信道, 故總可以保證PNS攻擊的成功進行. 同樣的道理, 當Bob與Alice間距很大時, 他認為自己的信道有巨大的損耗, 對其手中探測器響應率有很低預期, 此時竊聽者截取全部單光子信號便成為可能, 在此條件下同樣可解出最大通信距離.

即便Bob擁有了光子數可分辨探測器, 有理論工作證明, 竊聽者只需對PNS攻擊協議做出一點點調整, 便可使Bob完全察覺不到其探測到光子的分布發生了變化.


多光子情形下的GLLP安全性分析

光源的多光子漏洞在QKD過程中無法忽視, 2004年, Gottesman, Lo, Lukenhaus和Preskill四人提出了針對PNS攻擊的安全性分析理論, 簡稱GLLP安全性分析理論. GLLP安全性分析要引入一個假設, 即探測器在探測光子前對光子進行了一個所謂"squash"操作, 其含義為:

  1. 入射0或1個光子是探測器不做任何操作
  2. 入射光子數目大於1時, 探測器將該信號能量壓縮為1光子, 且不造成任何信息泄漏.

在此假設下, 根據Csiszar-Korner定理, 有

R=I(A:B)-I(B:E)~~mathrm{or}~~R=I(A:B)-A(A:E),

其中 R 為QKD系統的安全碼率下界. 這個表達式直觀上容易理解, 碼率就是Alice和Bob的互信息減去Alice(或Bob)與竊聽者Eve的互信息. 在下面的推導中我們不妨取

R=I(A:B)-I(B:E).

接下來的事情便是估算互信息. 首先分析 I(A:B) :

  1. 當Bob端探測器沒有響應或者選錯基矢的時候, 顯然與Alice沒有相關性, 即 I(A:B)=0 .
  2. Bob探測器選對基矢且有響應時, I(A:B)=1-H_2(E_mu) .

qQ_mu 為基矢選擇正確, 且探測到光子的概率, 綜上:

egin{array}{r@{}l} I(A:B)&=(1-qQ_mu)	imes0+qQ_mu(1-H_2(E_mu))\ &=qQ_mu(1-H_2(E_mu)). end{array}

之後分析 I(B:E) , 於竊聽者而言, I(A:B)=0 情況會被Bob丟棄, 故不能得到任何信息, 此時 I(E:B)=0 ; I(A:B)
eq0 時, 分三種情況:

  1. 當Bob端響應是由暗計數引起時, 竊聽者不能從這個隨機信號得到任何互信息, 故暗計數低對竊聽者有利. 於是我們乾脆假設竊聽者能夠控制Bob探測器的暗計數, 使得其發生概率 Q_0=0 .
  2. 當Bob端響應由單光子信號引起時, 由理想BB84安全性分析的結論, 竊聽者夠獲得信息量為 E_2(e_1) .
  3. Bob端響應由多光子信號引起時, 竊聽者獲得全部信息.

綜上, 可得:

I(B:E)=qQ_1	imes H_2(e_1)+qQ_mathrm{multi}	imes1.

於是, 我們可以得到 R 的表達式:

egin{array}{r@{}l} R&=I(A:B)-I(B:E)\ &=qQ_mu[-H_2(E_mu)+Delta_1(1-H_2(e_1))]. end{array}

其中 Delta_1=frac{Q_1}{Q_mu}, 這便是GLLP安全碼率公式. 考慮到安全碼率為負無論如何也不可能達成安全通信, 因此凡是 R<0 均可認為安全碼率為0. 故, GLLP安全碼率公式可以進一步表達成:

R=max{qQ_mu[-H_2(E_mu)+Delta_1(1-H_2(e_1))],0}.

考慮到實際還存在一個糾錯碼率 f(E_mu), 於是進一步地:

R=max{qQ_mu[-f(E_mu)H_2(E_mu)+Delta_1(1-H_2(e_1))],0}.

這個公式在實際應用時, 一般會使用可觀測參數 Q_mu, E_mu 來估計 Delta_1, e_1 的下界和上界. GLLP分析用了兩個最壞的假設估計這兩個參數:

  1. 所有損耗全來自單光子信號, Delta_1=1-P_mathrm{multi}/Q_mu.
  2. 多光子信號不引入誤碼, e_1=E_mu/Delta_1.

在這樣的假設下, 我們能夠發現, 在optimal的情況下通信距離也不過幾十公里, 這說明原始的BB84協議存在一些問題, 這個問題主要在於, 我們對成碼率(即 Delta_1, e_1 )的估計不夠精細, 這就使得由GLLP公式得到的成碼率下限過低.

針對這個問題, 誘騙態技術被提出了, 誘騙態技術能夠通過加入誘騙脈衝的方法, 卓有成效地給出更好的成碼率估計, 從而放低了通信對實際信道條件和探測條件的要求, 一舉將安全通信距離提升至了百公里量級, 從而較為有效地解決了PNS攻擊的安全性問題.

推薦閱讀:

鄙人認為量子衛星是大騙局,可是不知道專業人士是什麼看法?請賜教。
為什麼天宮二號也要進行「量子密鑰分配試驗」?
如何看待日本超小型衛星SOCRATES量子通信實驗成功?
什麼是反事實量子通信?
如何用通俗語言解釋什麼是量子通信?

TAG:量子通讯 | 量子信息 | 量子物理 |