BB84、測って送り直す盗聴で誤りが25%になる条件

ミント色と桃色の薄い輪が異なる角度で並び、その間を小さな光の粒が通る抽象アート

送り手と受け手が同じやり方で測れば、同じ0と1がそろうはずの通信があります。ところが、途中の誰かが信号を測り、その結果を使って送り直すと、値が食い違い始めます。量子鍵配送のBB84は、こうした測定の影響を手がかりに、秘密の鍵を共有する仕組みです。

よく登場する「盗聴すると誤り率25%」という数字には、条件があります。ここでは理想的な1量子ビットを使い、盗聴者がすべての信号を二つの基底からランダムに選んで測定し、測った状態を送り直す場合を計算します。この方法を、傍受して再送することからintercept-resendと呼びます。通信の雑音や損失はないものとします。

簡単にまとめると?

  • BB84では、二通りの測り方である基底を使います。送受信者が同じ基底を選んだデータだけを残す「ふるい分け」が、誤り率の分母を決めます。
  • 全信号に対する理想的なintercept-resendでは、盗聴者の基底が外れる確率1/2と、そこから受信値が変わる確率1/2が掛け合わされ、残したデータの誤り率は25%になります。
  • 25%はこの攻撃モデルでの確率です。小さな標本では食い違いを見逃す場合があり、25%未満なら安全という基準にもなりません。

同じ0を、二通りの基底に載せる

基底は、どの一組の状態を0と1として区別するかを決めるものです。ここではZ基底の|0〉、|1〉と、X基底の|+〉、|−〉を使います。後者は、|+〉=(|0〉+|1〉)/√2、|−〉=(|0〉−|1〉)/√2という重ね合わせです。どちらの基底でも最初の状態をビット0、二番目をビット1に対応させます。

送り手アリスは、ビットと基底をそれぞれ同じ確率で選びます。受け手ボブも、アリスの基底を知らないままZかXを選んで測ります。同じ基底なら元のビットを確実に得られます。違う基底なら、0と1が半々です。原論文はこれを単一光子の偏光で示しています。[1]

例えばアリスがZ基底の0、つまり|0〉を送ったとしましょう。ボブがZで測れば0です。しかしXで測ると、|+〉側と|−〉側に等しい大きさの成分があるため、結果は半々になります。ボブが丁寧に測りさえすれば元の0を読める、という種類の違いではありません。

25%を数えるのは、基底がそろった後

受信が終わってから、アリスとボブは使った基底を公開して照合し、同じ基底だった位置だけを残します。これがふるい分け(sifting)です。二人が独立にZ・Xを半々で選ぶ今回の条件では、残る割合の期待値は全体の1/2です。この段階で、残すビットの値をすべて公開するわけではありません。[1]

以後の誤り率、QBER(quantum bit error rate)は、ふるい分け後のデータについて、アリスとボブの値が異なる割合を指します。基底が違って捨てたデータは、分母にも食い違いの数にも入りません。

この分母の区別は数字を読むうえで大切です。例えば1,000個を送った理想的な計算なら、平均で500個が残り、その中の125個が食い違うと25%です。125個を送信総数1,000個で割った12.5%とは、数えている対象が異なります。500個や125個は期待値で、毎回その個数になるという予測ではありません。

盗聴者の基底が外れると、半分の確率で食い違う

盗聴者イブは、アリスの基底が発表される前にZかXを半々で選んで測定し、得た状態をボブへ送り直します。ふるい分け後だけに注目すると、ボブの基底はアリスと同じです。そこで、イブの基底がアリスと同じ場合と、違う場合に分けられます。

同じ基底を選ぶ確率は1/2です。この場合、イブは元のビットを正しく読み、その状態を送ります。ボブも同じ基底なので元のビットが得られ、今回の理想条件では食い違いません。

違う基底を選ぶ確率も1/2です。先ほどの|0〉を、イブがXで測る例を考えます。イブの結果は|+〉か|−〉になり、そのどちらをボブへ送っても、Zで測るボブの結果は0と1が半々です。元は0だったので、半分が食い違いになります。

したがって、ふるい分け後の誤り確率は(1/2)×0+(1/2)×(1/2)=1/4です。同じ議論は、アリスが|1〉、|+〉、|−〉を送る場合にも成り立ちます。本稿では四状態それぞれについて射影測定の確率を列挙し、どの入力でも1/4になることを独自計算で確かめました。実機の測定値ではありません。

送受信者の基底が一致したデータだけを見る。盗聴者の基底が一致する半分では誤り0、違う半分では誤りが半分。全体の誤り確率は4分の1になる。
全信号を傍受して測定・再送する理想モデルの独自計算。下の棒は、ふるい分け後のデータに対する確率の内訳です。盗聴者の基底が違っても、受信値が偶然一致する場合があります。

「測られた信号が必ず壊れる」わけではないことも、この式から分かります。イブの基底が合えば食い違いませんし、外れてもボブの値が偶然合う場合があります。測定の影響は、一つひとつの確定的な警報ではなく、多数の結果に現れる統計的な違いです。

検査した20ビットが、全部一致することもある

二人は残したデータの一部をランダムに選び、そのビット値を公開して比較します。検査に使って公開したビットは、秘密の鍵から除きます。[1–2] ここでも、今回の攻撃が毎回独立に行われ、選んだ各検査ビットの誤り確率が1/4という模型に限って考えます。

1ビットが一致する確率は3/4なので、mビットすべてが一致する確率は(3/4)mです。独自計算では、10ビットなら約5.63%、20ビットなら約0.317%、40ビットなら約0.00101%になります。全信号が攻撃されていても、少ない検査では一つも食い違いを見つけない場合が残ります。

この数字は、「全信号にこの攻撃があったときに、検査が全部一致する確率」です。全部一致したという結果から、そのまま「盗聴されている確率は0.317%」と逆向きに読むことはできません。また、この式だけで現実の鍵の安全性や必要な検査数を決めることもできません。攻撃の種類と試行間の独立性を限定した計算だからです。

攻撃する割合を減らせば、25%より小さくなる

もう一つ、同じ模型の中で条件を変えてみます。イブが各信号を独立に確率fで攻撃し、それ以外はそのまま通すとします。ほかに誤りがないなら、ふるい分け後の誤り率はf/4です。

例えばf=0.2、つまり平均で20%の信号を攻撃すると、誤り率は5%です。残したデータにも攻撃を受けたものは混ざっていますが、25%には達しません。この小さな例だけでも、「25%を下回ったから盗聴はない」と判定できないことが分かります。

逆に、観測した食い違いをすべて盗聴の証拠とすることもできません。装置の準備や測定、伝送で生じる誤りもあります。実際の評価には、どの装置・信号源を仮定したか、基底ごとに何個検査したか、標本のばらつきをどう見込んだかが必要です。

鍵を作るには、検査の先がある

BB84は、秘密のメッセージ本文をそのまま量子状態で送る方式ではなく、後で使う鍵を共有するための方式です。基底照合や検査に使う古典通信では、相手が誰で、内容が改ざんされていないかを認証する必要があります。[1] 通信路を量子化しただけで、この確認を省けるわけではありません。

さらに、検査を通ったビット列をそのまま完成した鍵とするのではなく、二人の不一致を直す誤り訂正や、第三者に残り得る情報を抑えるために鍵を短くする処理を、安全性の評価と結びます。ShorとPreskillの論文は、誤り訂正符号ともつれ精製を通してBB84の安全性を証明していますが、その証明には信号源などの仮定があります。[2]

25%の計算から読み取れるのは、基底を知らずに測って送り直す行為が、ふるい分け後の一致をどう変えるかです。QBERの数字を見たら、まず分母と攻撃・装置の条件を確かめます。そのうえで、検査標本の結果と、最終的な鍵についての安全性の主張を分けると、BB84の仕組みと実用上の評価がつながります。

出典

  • [1] Charles H. Bennett, Gilles Brassard, Quantum cryptography: Public key distribution and coin tossing。1984年会議録175–179ページのスキャンを2020年に登録したv1。II–III節、特に177ページの基底照合・検査・測定再送の例と古典通信の認証を参照。本稿はZ/Xの状態ベクトルで、盗聴者も基底を半々に選ぶ模型を独自計算しています。
  • [2] Peter W. Shor, John Preskill, Simple Proof of Security of the BB84 Quantum Key Distribution Protocol。2000年5月12日v2、特に4ページのProtocol 3と信号源の仮定。現代のあらゆる装置をこの論文だけで評価できるという意味ではありません。