(57)【要約】【課題】  秘匿すべき乱数あるいは暗号鍵を第三者に知られることなく高速に送信器と受信器との間で共有することができる方法を提供する。【解決手段】  伝送路１２を介して接続された送信器１１および受信器１３との間で暗号鍵を共有するシステムであって、送信器および受信器に秘密鍵を共有するための量子暗号鍵配布回路が設けられ、いずれか一方に真性乱数を生成する乱数発生回路１１４が設けられる。乱数共有回路１１３および１３３は真性乱数に基づいて秘密鍵のビット位置を指定するビット指定情報を生成し、暗号鍵抽出回路１１２、１３２はビット指定情報に基づいて秘密鍵から暗号鍵を抽出する。【選択図】      図１
2007019789.tif 000002
【特許請求の範囲】
【請求項１】
伝送路を介して接続された第１通信器と第２通信器との間で同一の乱数列を共有する方法において、
ａ）前記第１通信器と前記第２通信器との間で第１乱数を共有し、
ｂ）前記第１通信器および前記第２通信器の少なくとも一方で予測不可能な第２乱数を生成し、
ｃ）前記第１通信器および前記第２通信器の各々において、前記第２乱数に基づいて前記第１乱数のビット位置を指定するビット指定情報を生成し、
ｄ）前記第１通信器および前記第２通信器の各々において、前記ビット指定情報に基づいて前記第１乱数から同一の乱数列を抽出する、
ことを特徴とする乱数共有方法。
【請求項２】
前記第２乱数は物理乱数であることを特徴とする請求項１に記載の乱数共有方法。
【請求項３】
前記ｃ）は、
前記第１通信器と前記第２通信器との間で複数の疑似乱数生成多項式を共有し、
前記第２乱数から前記複数の疑似乱数生成多項式の１つの指定する値と疑似乱数を生成するための初期シード値とを乱数生成パラメータとして生成し、
前記乱数生成パラメータによって指定された疑似乱数生成多項式および初期シード値により乱数を前記ビット指定情報として生成する、
ことを特徴とする請求項１または２に記載の乱数共有方法。
【請求項４】
前記ｃ）は、
前記第１通信器と前記第２通信器との間で所定乱数列を共有し、
前記第２乱数に従って前記所定乱数列の複数ビットを指定し、
前記所定乱数列の指定された複数ビットに基づいて前記ビット指定情報を生成する、
ことを特徴とする請求項１または２に記載の乱数共有方法。
【請求項５】
前記所定乱数列は特定の期間毎に更新されることを特徴とする請求項４に記載の乱数共有方法。
【請求項６】
前記ビット指定情報は、前記指定された複数ビットを複数のビットグループに分割し、前記複数ビットグループの各々をビット番号に対応させる、ことにより生成されることを特徴とする請求項４または５に記載の乱数共有方法。
【請求項７】
前記同一の乱数列は暗号鍵であることを特徴とする請求項１ないし６のいずれかに記載の乱数共有方法。
【請求項８】
伝送路を介して接続された第１通信器と第２通信器との間で暗号鍵を共有する方法において、
ａ）前記第１通信器および前記第２通信器の少なくとも一方で予測不可能な乱数列を生成し、
ｂ）前記乱数列を前記第１通信器から前記第２通信器へ前記伝送路を介して送信し、
ｃ）前記第２通信器で検出された前記乱数列のビットを用いて前記第１通信器および前記第２通信器の間で共有された第１乱数を生成し、
ｄ）前記乱数列のうち前記第１通信器および前記第２通信器の間で共有されなかったビット情報を用いて前記第１乱数のビット位置を指定するビット指定情報を生成し、
ｅ）前記第１通信器および前記第２通信器の各々において、前記ビット指定情報に基づいて前記第１乱数から暗号鍵を抽出する、
ことを特徴とする暗号鍵共有方法。
【請求項９】
前記乱数列は物理乱数であることを特徴とする請求項８に記載の暗号鍵共有方法。
【請求項１０】
前記ｃ）において、前記ビット指定情報は、前記乱数列の共有されなかったビット情報の最後尾から選択されることを特徴とする請求項８または９に記載の暗号鍵共有方法。
【請求項１１】
前記乱数列は、微弱光を用いて前記第１通信器から前記第２通信器へ前記伝送路を介して送信されることを特徴とする請求項８ないし１０のいずれかに記載の暗号鍵共有方法。
【請求項１２】
伝送路を介して接続された第１通信器と第２通信器との間で同一の乱数列を共有するシステムにおいて、
前記第１通信器と前記第２通信器との間で第１乱数を共有するための第１乱数共有手段と、
前記第１通信器および前記第２通信器の少なくとも一方に設けられた予測不可能な第２乱数を生成するための乱数発生手段と、
前記第１通信器および前記第２通信器の各々に設けられた、前記第２乱数に基づいて前記第１乱数のビット位置を指定するビット指定情報を生成する第２乱数共有手段と、
前記第１通信器および前記第２通信器の各々に設けられた、前記ビット指定情報に基づいて前記第１乱数から同一の乱数列を抽出する乱数抽出手段と、
を有することを特徴とする乱数共有システム。
【請求項１３】
前記乱数発生手段は物理乱数発生回路であることを特徴とする請求項１２に記載の乱数共有システム。
【請求項１４】
伝送路を介して接続された第１通信器と第２通信器との間で暗号鍵を共有するシステムにおいて、
前記第１通信器および前記第２通信器の少なくとも一方に設けられた予測不可能な乱数列を生成する乱数発生手段と、
前記第１通信器および前記第２通信器の各々に設けられ、前記乱数列を前記第１通信器から前記第２通信器へ前記伝送路を介して送信し、前記第２通信器で検出された前記乱数列のビットを用いて前記第１通信器および前記第２通信器の間で共有された第１乱数を生成するための第１乱数共有手段と、
前記第１通信器および前記第２通信器の各々に設けられ、前記乱数列のうち前記第１通信器および前記第２通信器の間で共有されなかったビット情報を用いて前記第１乱数のビット位置を指定するビット指定情報を生成する第２乱数共有手段と、
前記第１通信器および前記第２通信器の各々に設けられ、前記ビット指定情報に基づいて前記第１乱数から暗号鍵を抽出する暗号鍵抽出手段と、
を有することを特徴とする暗号鍵共有システム。
【請求項１５】
前記乱数発生手段は物理乱数発生回路であることを特徴とする請求項１４に記載の暗号鍵共有システム。
【請求項１６】
前記第１乱数共有手段は、前記乱数列を微弱光を用いて前記第１通信器から前記第２通信器へ前記伝送路を介して送信することを特徴とする請求項１４または１５に記載の暗号鍵共有システム。
【請求項１７】
伝送路を介して他の通信装置と通信することで同一の乱数列を共有する通信装置において、
前記他の通信装置との間で第１乱数を共有するための第１乱数共有手段と、
与えられた予測不可能な第２乱数に基づいて前記第１乱数のビット位置を指定するビット指定情報を生成する第２乱数共有手段と、
前記ビット指定情報に基づいて前記第１乱数から同一の乱数列を抽出する乱数抽出手段と、
を有することを特徴とする通信装置。
【請求項１８】
前記第２乱数を生成する乱数発生手段を更に有し、前記第２乱数を前記他の通信装置へ送信することを特徴とする請求項１７に記載の通信装置。
【請求項１９】
前記乱数発生手段は物理乱数発生回路であることを特徴とする請求項１８に記載の通信装置。
【請求項２０】
伝送路を介して他の通信装置と通信することで暗号鍵を共有する通信装置において、
予測不可能な乱数列を生成する乱数発生手段と、
前記乱数列を前記他の通信装置へ前記伝送路を介して送信し、前記他の通信装置で検出された前記乱数列のビットを用いて前記他の通信装置との間で共有された第１乱数を生成する第１乱数共有手段と、
前記乱数列のうち前記他の通信装置との間で共有されなかったビット情報を用いて前記第１乱数のビット位置を指定するビット指定情報を生成する第２乱数共有手段と、
前記ビット指定情報に基づいて前記第１乱数から暗号鍵を抽出する暗号鍵抽出手段と、
を有することを特徴とする通信装置。
【請求項２１】
前記乱数発生手段は物理乱数発生回路であることを特徴とする請求項２０に記載の通信装置。
【請求項２２】
伝送路を介して他の通信装置と通信することで暗号鍵を共有する通信装置において、
前記他の通信装置から前記伝送路を介して予測不可能な乱数ビットを受信し、前記他の通信装置との間で共有された乱数ビットを第１乱数として生成する第１乱数共有手段と、
前記他の通信装置との間で共有されなかったビット情報を前記他の通信装置から受信し、それを用いて前記第１乱数のビット位置を指定するビット指定情報を生成する第２乱数共有手段と、
前記ビット指定情報に基づいて前記第１乱数から暗号鍵を抽出する暗号鍵抽出手段と、
を有することを特徴とする通信装置。
【請求項２３】
通信装置のコンピュータに、伝送路を介して他の通信装置と通信することで同一の乱数列を共有する機能を実現するためのプログラムにおいて、
前記他の通信装置との間で第１乱数を共有するステップと、
与えられた予測不可能な第２乱数に基づいて前記第１乱数のビット位置を指定するビット指定情報を生成するステップと、
前記ビット指定情報に基づいて前記第１乱数から同一の乱数列を抽出するステップと、
を有することを特徴とするプログラム。
【請求項２４】
通信装置のコンピュータに、伝送路を介して他の通信装置と通信することで同一の乱数列を共有する機能を実現するためのプログラムにおいて、
予測不可能な乱数列を生成するステップと、
前記乱数列を前記他の通信装置へ前記伝送路を介して送信し、前記他の通信装置で検出された前記乱数列のビットを用いて前記他の通信装置との間で共有された第１乱数を生成するステップと、
前記乱数列のうち前記他の通信装置との間で共有されなかったビット情報を用いて前記第１乱数のビット位置を指定するビット指定情報を生成するステップと、
前記ビット指定情報に基づいて前記第１乱数から暗号鍵を抽出するステップと、
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は秘匿通信システムに係り、特に送信側および受信側で使用される乱数の共有方法およびシステムに関する。
【背景技術】
【０００２】
急激な成長を続けるインターネットは、便利である反面、その安全性に大きな不安を抱えており、通信の秘密保持の為に暗号技術の必要性が高まっている。現在一般的に用いられている暗号方式は、DES(Data Encryption Standard)やTriple DESといった秘密鍵暗号と、RSA(Rivest Shamir Adleman)や楕円曲線暗号の様な公開鍵暗号に分類される。しかしこれらは「計算の複雑性」を元にその安全性を保証する暗号通信方法であり、膨大な計算量や暗号解読アルゴリズムの出現によって解読されてしまう危険性を常に孕んでいる。こういった背景の下、量子暗号鍵配布システム（ＱＫＤ）は、「絶対に盗聴されない」暗号鍵配布技術として注目されている。
【０００３】
ＱＫＤでは一般に通信媒体として光子を使用し、その偏光、位相等の量子状態に情報を載せて伝送を行う。伝送路の盗聴者は伝送中の光子をタッピングする等して情報を盗み見るが、Heisenbergの不確定性原理により、１度観測されてしまった光子を完全に観測前の量子状態に戻すことは不可能となり、このことによって正規の受信器が検出する受信データの統計値に変化が生じる。この変化を検出することにより受信器は伝送路における盗聴者を検出することができる。
【０００４】
図８は、一般的な量子暗号鍵生成の流れを示すフローチャートである。光子の位相を利用した量子暗号鍵配布方法の場合、送信器と受信器(以下、ＡｌｉｃｅとＢｏｂと称する)で干渉計を組織し、各々の光子にＡｌｉｃｅ及びＢｏｂでそれぞれランダムに位相変調を施す（量子鍵配布）。この変調位相深さの差によって０または１の出力（生鍵）を得て、その後、出力データを測定したときの条件（基底）の一部分をＡｌｉｃｅとＢｏｂで照合することによりＡｌｉｃｅ−Ｂｏｂ間で同一ビット列を共有することができる（基底処理）。以下、この共有ビット列を秘密ビット列（秘密鍵）と称し、Ａｌｉｃｅ側のそれを“ＫＡ”、Ｂｏｂ側のそれを“ＫＢ”と記す。先行文献としては、特開２０００−１７４７４７号公報（特許文献１）に量子チャネルと古典チャネルとを用いて送信側および受信側で秘密鍵を共有する量子暗号装置が開示されている。
【０００５】
こうして共有された秘密ビット列ＫＡ、ＫＢには伝送路及び受信器の性能に起因する誤りが含まれている。したがって、最終的な暗号鍵（最終鍵）を生成するためには暗号鍵抽出作業が必要となる。暗号鍵抽出作業は、誤り訂正処理と、秘匿増強を行う前に共有ビット列に誤りが無いことを確認する残留エラー検知処理と、秘匿増強処理とからなる。秘匿増強処理は、誤りが伝送路における盗聴行為によって発生していると仮定して鍵情報の振るい落としを行う過程である。
【０００６】
（誤り訂正）
誤り訂正処理としては、たとえば非特許文献１に示されたような方法がある。この方法では、送信器および受信器において秘密ビット列を複数のブロックに分割し、各ブロックのパリティを照合することによって誤りを含むブロックを特定し、当該ブロックに関してハミング符号を適用する等して誤り訂正を行う。加えて、１つのブロック内に偶数個の誤りを含む場合を想定し、秘密ビット列をランダムに並び替えて再度パリティ照合並びに誤り訂正を行う。この誤り訂正過程で秘密ビット列ＫＡ、ＫＢは圧縮されてＫＡ’、ＫＢ’になる。
【０００７】
ここで、ランダム置換を行うためには、上記の秘密ビット列ＫＡ、ＫＢとは別の乱数を共有する必要がある。量子暗号鍵配布で共有した乱数（秘密ビット列）との混同を避けるために、以下、暗号鍵抽出作業で使用する乱数を「共有乱数」あるいは「鍵抽出用乱数」と称する。
【０００８】
（残留エラー検知）
図９は残留エラー検知処理のシーケンス図である。Ａｌｉｃｅは内部で乱数（パリティ検査ビット情報）を生成し、自身の保有する誤り訂正後の秘密ビット列ＫＡ’に対して上記乱数で指定されたビット位置のパリティを計算し、乱数（パリティ検査ビット情報）と共にＢｏｂに送信する。
【０００９】
Ｂｏｂは受け取った乱数に基づいて自身の保有する秘密ビット列ＫＢ’のパリティを計算し、Ａｌｉｃｅの計算したパリティと一致するかどうかを判断し、ＯＫあるいはＮＧをＡｌｉｃｅへ返す。エラーが検出されれば、上記誤り訂正処理を再実行する。
【００１０】
以上の様な確認作業を複数回（Ｖ回）繰り返すことによって秘密ビット列の残留エラー検知を行う。ただし、以上の様にパリティを公開することによってＶビットの情報量が第三者に漏れているので、Ｖビットの鍵を破棄する。この過程で秘密ビット列ＫＡ’、ＫＢ’はＫＡ”、ＫＢ”となる。
【００１１】
（秘匿増強）
秘匿増強過程としては非特許文献２に示されたような方法がある。
【００１２】
図１０は公知の秘匿増強過程のシーケンス図である。Ａｌｉｃｅは内部で乱数（パリティ計算ビット）を生成し、自身の保有する秘密ビット列ＫＡ”に対して上記乱数で指定されたビット位置のパリティを計算し、そのパリティを鍵の１ビット目とする。
【００１３】
続いて上記の乱数(パリティ計算ビット)をＢｏｂに送信する。Ｂｏｂは受け取った乱数に基づいて自身の保有する秘密ビット列ＫＢ”のパリティを計算し、そのパリティを鍵の１ビット目とする。上記作業を繰り返し、伝送路において盗聴されたと考えうる分の情報量を破棄して、新たな秘密鍵を作成する。
【００１４】
上述したように、誤り訂正、残留エラー検知および秘匿増強の各処理において、ビット位置を指定するための乱数（共有乱数あるいは鍵抽出用乱数）が送信器および受信器で共有されることが必要となる。送信器および受信器間で乱数を共有する技術がいくつか提案されている。
【００１５】
たとえば、特開２００５−０３９６４３号公報（特許文献２）には、送信器と受信器とで既定鍵を共有しておき、それを用いて乱数を暗号化して相手局へ送信するという一般的な共通鍵暗号の構成が開示されている。また、特許第２５６３５１８号公報（特許文献３）に開示された共通鍵配送システムでは、２つの端末局と特定局とを有し、端末局で発生した乱数を公開鍵暗号アルゴリズムで暗号化して特定局へ送信し、特定局はそれを復号化し、新たに発生した乱数を復号化された乱数を元に符号化して２つの端末局へ送信する。
【００１６】
【非特許文献１】"Secret-key Reconciliation by Public Discussion" G. Brassard and L. Salvail, in Advances in Cryptology - EUROCRYPT'93 Proceedings, Lecture Notes in Computer Science, Vol.765, p410-423
【非特許文献２】"Generalized Privacy Amplification" C. H. Bennett, G. Brassard, C. Crepeau, and U. M. Maurer, IEEE Trans. Inf. Theory, Vol.41, No.6, p1915
【非特許文献３】"IEEE Int. Conf. on Computers, Systems, and Signal Processing, Bangalore, India, p.175" Bennett, Brassard
【特許文献１】特開２０００−１７４７４７号公報
【特許文献２】特開２００５−０３９６４３号公報
【特許文献３】特許第２５６３５１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、上述した暗号鍵抽出作業には、共有乱数の生成手法に関していくつかの解決すべき課題があった。
【００１８】
第一は、共有乱数は事前に決定されていてはならない、という点である。固定の乱数列に基づいてランダム置換、パリティ計算を繰り返した場合、盗聴者はこれらの置換法則及びパリティ計算ビット位置を知ることが可能になり、ビットを選択して盗聴を行うことによってより多くの秘密鍵情報を得ることができる。また共有乱数の精度も問題となる。特定の擬似乱数生成回路を使い続けた場合、盗聴者は前もって共有乱数を予測することが可能になり、同様の問題が生じる。これを防ぐ為に、秘密鍵の共有後に毎回異なった乱数列を共有する必要がある。
【００１９】
第二は、ランダム置換/パリティ計算を行うビット位置を指定する為に膨大な通信量が発生することになる、という点である。暗号鍵抽出作業と同時に、乱数共有のための大容量通信を行った場合、計算機の処理能力の限界によって暗号鍵の生成速度が劣化する。また、誤り訂正/残留エラー検知/秘匿増強の各過程で行う通信は“なりすまし”を防止する為に認証を必要とし、一般には、過去に生成した暗号鍵(秘密鍵)を使用して相互認証を行う。つまり、通信のメッセージ長が長い場合、認証用途で消費する鍵量が増え、本来の暗号通信用途の鍵量が減少してしまう。
【００２０】
第三は、上記した共有乱数が事前に決定されていてはならないという点に関連して乱数の生成速度に関する問題がある。乱数精度の問題を解決するためには真性乱数（物理乱数）発生回路を使用することが最良であるが、現時点で真性乱数発生器（物理乱数発生器）の乱数生成速度は最速でも数Ｍｂ／ｓであり、暗号鍵生成速度が大きく制限される。
【００２１】
さらに、特許文献２に開示された情報伝送方式は乱数を既定鍵を用いて暗号化する方式であり、特許文献３に開示されたシステムは特定局で公開鍵暗号の復号化を行い、端末局での演算量を軽減することを企図している。従って、いずれも上記課題を解決するものではない。
【００２２】
本発明は、上記従来の課題を解決するものであり、秘匿すべき乱数あるいは暗号鍵を第三者に知られることなく高速に送信器と受信器との間で共有することができる方法およびシステムを提供する。
【課題を解決するための手段】
【００２３】
本発明による乱数共有方法は、第１通信器と第２通信器との間で第１乱数を共有し、第１通信器および第２通信器の少なくとも一方で予測不可能な第２乱数を生成し、第１通信器および第２通信器の各々において第２乱数に基づいて第１乱数のビット位置を指定するビット指定情報を生成し、第１通信器および第２通信器の各々においてビット指定情報に基づいて第１乱数から同一の乱数列を抽出することを特徴とする。第２乱数は物理乱数であることが望ましい。本発明を量子暗号鍵配布システムに適用した場合、第１乱数は秘密鍵に対応し、第２乱数は乱数生成パラメータに対応する。同一乱数列は、ビット指定情報に基づいて残留エラー検知処理および秘匿増強処理を実行することにより得られる最終鍵である。
【００２４】
本発明の一実施例によれば、前記ビット指定情報は、前記第１通信器と前記第２通信器との間で複数の疑似乱数生成多項式を共有し、前記第２乱数から前記複数の疑似乱数生成多項式の１つの指定する値と疑似乱数を生成するための初期シード値とを乱数生成パラメータとして生成し、前記乱数生成パラメータによって指定された疑似乱数生成多項式および初期シード値により生成される。
【００２５】
本発明の他の実施例によれば、前記ビット指定情報は、前記第１通信器と前記第２通信器との間で所定乱数列を共有し、前記第２乱数に従って前記所定乱数列の複数ビットを指定し、前記所定乱数列の指定された複数ビットに基づいて生成される。望ましくは、前記所定乱数列は特定の期間毎に更新される。
【００２６】
本発明の他の側面によれば、伝送路を介して接続された第１通信器と第２通信器との間で暗号鍵を共有する方法において、前記第１通信器および前記第２通信器の少なくとも一方で乱数列を生成し、前記乱数列を前記第１通信器から前記第２通信器へ前記伝送路を介して送信し、前記第２通信器で検出された前記乱数列のビットを用いて前記第１通信器および前記第２通信器の間で共有された第１乱数を生成し、前記乱数列のうち前記第１通信器および前記第２通信器の間で共有されなかったビット情報を用いて前記第１乱数のビット位置を指定するビット指定情報を生成し、前記第１通信器および前記第２通信器の各々において、前記ビット指定情報に基づいて前記第１乱数から暗号鍵を抽出する、ことを特徴とする。望ましくは、前記ビット指定情報は、前記乱数列の共有されなかったビット情報の最後尾から選択される。
【発明の効果】
【００２７】
本発明の第一の効果は、事前に盗聴者にその内容を予測されること無く送受信器間で乱数を共有できることである。たとえ乱数発生回路の詳細内容を盗聴者に知られていたとしても、予測不可能な真性乱数を乱数生成のパラメータとすることによって、暗号鍵抽出作業に用いる共有乱数は予測不可能になる。
【００２８】
本発明の第二の効果は、暗号鍵抽出作業に使用する乱数を共有するために生じる通信量を大幅に削減でき、暗号鍵の生成速度が向上することである。乱数生成パラメータのみを送受信器で通信しているためであり、実際に乱数そのものを送受信することに比べて格段に情報量が少なくなるからである。通信量が少なくなることによって、計算機の負荷も軽減し、また、認証用途に消費される鍵量も減るので暗号化通信用途の鍵量が増える。
【００２９】
本発明の第三の効果は、送受信器間での乱数共有が高速に行えることである。乱数生成を計算機で行うことで現状の物理乱数生成速度(数百kbps〜数Mbps)と比べて格段に早い速度で乱数を生成できる。
【発明を実施するための最良の形態】
【００３０】
１．第１実施形態
図１は本発明の第１実施形態による量子暗号鍵配布システムの概略的構成を示すブロック図である。本実施形態による量子暗号鍵配布システムは送信器１１および受信器１３から構成され、それらは光伝送路１２を介して接続されている。
【００３１】
送信器１１には、上述した量子鍵配布および基底処理により秘密鍵を生成するための量子暗号鍵配布回路１１１と、秘密鍵から最終鍵（暗号鍵）を生成する暗号鍵抽出回路１１２と、共有乱数を生成する乱数共有回路１１３と、真性乱数を生成する真性乱数発生回路１１４とが設けられている。受信器１３には、同様の量子暗号鍵配布回路１３１と、暗号鍵抽出回路１３２と、乱数共有回路１３３とが設けられている。
【００３２】
なお、本実施形態では、光伝送路１２に量子チャネルと古典チャネルを波長多重しており、量子チャネルは光パワーを１フォトン／ビット以下の微弱な状態にして伝送するための通信チャネルであり、送信器１１において鍵の素である乱数および基底乱数に従って位相変調された微弱な光パルスを受信器１３へ伝送するために使用される。古典チャネルは通常の光通信で使用される光パワー領域での通信チャネルであり、基底処理時の基底乱数やビット番号を通知し、後述する暗号鍵抽出プロセスで必要とされるデータを送受信するために使用される。
【００３３】
既に述べたように、送信器１１の量子暗号鍵配布回路１１１と受信器１３の量子暗号鍵配布回路１３１とは量子鍵配布および基底処理により秘密鍵を生成し、それぞれ共有の秘密鍵ＫＡおよびＫＢとして保持する。しかしながら、こうして得られた秘密鍵ＫＡおよびＫＢは誤りを含み、また、その一部は伝送路１２中の盗聴者に漏れていると想定されうるので、暗号鍵抽出回路１１２および１３２において上述した誤り訂正、残留エラー検知および秘匿増強の各処理を実行する。暗号鍵抽出回路１１２および１３２は、それぞれ乱数共有回路１１３および１３３から供給される共有乱数をビット指定情報として用い、秘密鍵ＫＡおよびＫＢから暗号鍵の抽出を行う。
【００３４】
このように暗号鍵抽出処理で使用されるビット指定情報としての共有乱数は、上述したように事前に決定されていてはならないこと、および、送信器１１および受信器１３の間で共有化する際に通信量が大きくならず高速であることが必要である。本実施形態では、このような共有乱数を送信器１１および受信器１３の間で共有するために、送信器１１および受信器１３にそれぞれ乱数共有回路１１３および１３３を設け、さらに送信器１１に真性乱数発生回路１１４を設けている。
【００３５】
送信器１１および受信器１３のいずれに真性乱数発生回路１１４を設けてもよいが、本実施形態では送信器１１にのみ真性乱数発生回路１１４を設ける。真性乱数発生回路１１４は予測不可能な乱数を生成する。このような乱数としては周期性を有さない物理乱数が知られている。物理乱数とは様々な予測不可能な物理現象から得た乱数であり、半導体内部の熱雑音や量子光学を利用した方法が知られている。ただし、上述したように、現時点での真性乱数発生回路１１４は最速でも数Ｍｂ／ｓ程度である。
【００３６】
真性乱数発生回路１１４は、生成した真性乱数を乱数生成パラメータとして送信器１１の乱数共有回路１１３へ供給し、同時に伝送路１２の古典チャネルを通して受信器１３の乱数共有回路１３３にも供給する。
【００３７】
暗号鍵抽出回路１１２および１３２は、量子暗号鍵配布回路１１１および１３１により生成された秘密鍵ＫＡおよびＫＢに対して、乱数共有回路１１３および１３３により生成された共通乱数で指定されたビットを用いて上記残留エラー検知処理を行い、さらに同様にして生成された共通乱数を用いて秘匿増強処理を実行する。
【実施例１】
【００３８】
本発明の第１実施例による乱数共有方法を適用した秘匿通信システムでは、送信器１１および受信器１３に複数の生成多項式が共有されており、乱数共有回路１１３および１３３によって利用可能となっている。共有の仕方は、送信器１１および受信器１３のそれぞれのメモリに同一の生成多項式の組が格納されていてもよいし、乱数を生成するときに一方から他方へ生成多項式そのものを送信してもよい。ここでは、同一の生成多項式の組が格納されているものとする。
【００３９】
乱数共有回路１１３および１３３は、真性乱数発生回路１１４から入力した乱数生成パラメータから初期シードおよび生成多項式を特定し、それに従って生成された共有乱数をビット指定情報として暗号鍵抽出回路１１２および１３２へそれぞれ出力する。同一の処理シードと同一の生成多項式を用いて生成した乱数は、送信器１１および受信器１３で同一である。このように、生成多項式の指定および初期シードに真性乱数を使用することで、毎回異なる生成多項式が使用されることとなり、パリティ検査ビット情報が盗聴される事態を有効に防止できる。
【００４０】
図２は本実施形態において使用される生成多項式の一例を実現する線形フィードバックシフトレジスタ回路を示すブロック図である。ここでは、擬似ランダム符号(PRBS : Pseudo Random Binary Sequence)７段の生成多項式の動作を表す線形フィードバックシフトレジスタ回路を示す。
【００４１】
７段の線形フィードバックシフトレジスタ回路は２つの加算器５１１および５１２と７つの１単位時間遅延素子５２１〜５２７からなる。各遅延素子には１ビット毎の情報が入っており、１単位時間毎に矢印方向にシフトする。同じく１単位時間毎に１ビットの情報が初期シードとして本回路に入力され、遅延素子５２５および５２６（Ｓ６およびＳ７）のビット情報の排他的論理和（ＸＯＲ）を計算し、その結果と初期シードのビット情報とのＸＯＲを計算することで、ＰＲＢＳ７段の生成多項式出力を得る。この様なフィードバックシフトレジスタは、初期フィードの数列を変化させることによって無限の出力パタンを得ることができる。
【００４２】
図３に本発明の第１実施例による乱数共有方法を適用した残留エラー検知処理のフローを示すシーケンス図である。送信器（Ａｌｉｃｅ）１１と受信器（Ｂｏｂ）１３は事前に擬似ランダム符号(PRBS : Pseudo Random Binary Sequence)の生成多項式を複数共有している。ここでは、共有する生成多項式の段数をＩＴＵ(国際電気通信連合)−Ｔ勧告に準拠した７,９,１１,１５,２３段とした。
【００４３】
図３において、Ａｌｉｃｅは、自身の保有する乱数ビット列（ここでは誤り訂正された秘密鍵ＫＡ’）の特定のビットのパリティを計算してＢｏｂに送信するが、その際使用する乱数(パリティ検査ビット情報)を乱数共有回路１１３から入力する。上述したように、乱数共有回路１１３は、真性乱数発生回路１１４から入力した乱数生成パラメータ（初期シードおよび１つの生成多項式）に従って疑似乱数を生成し、それをパリティ検査ビット情報として暗号鍵抽出回路１１２へ出力する。このように生成多項式の段数指定および初期シードに真性乱数を使用することで、毎回同じ生成多項式を使用してパリティ検査ビット情報を盗聴者が知り得る事態を回避できる。
【００４４】
Ａｌｉｃｅでのパリティ計算結果と乱数生成パラメータはＢｏｂへ送信される。図３のステップ（ａ１）では、乱数生成パラメータとして生成多項式番号２（ＰＲＢＳ９段の生成多項式）、初期シードとして“００１０１１０１”がそれぞれ指定され、パリティ計算結果として“１”が送信される。
【００４５】
Ａｌｉｃｅからパリティ計算結果と乱数生成パラメータとを受信することで、Ｂｏｂにおいても、Ａｌｉｃｅより指定された生成多項式と初期シードとに従って乱数共有回路１３３が共有乱数（パリティ検査ビット情報）を生成し、自身の保有する乱数ビット列（ここでは誤り訂正された秘密鍵ＫＢ’）に対して共有乱数で指定されたビットのパリティを計算する。そのパリティ計算の結果がＡｌｉｃｅから受信したパリティ結果と同一ならば正常（ＯＫ）、異なっていれば異常（ＮＧ）を返信する。異なっている場合には、誤り訂正処理を再実行し、上記残留エラー検知処理を繰り返すことができる。
【００４６】
このような残留エラー検知処理を、共有乱数を順次生成しながらパリティ検査ビットを変更して複数回繰り返すことにより（図３のステップａ２、ａ３・・・）、秘密ビット列内部に残留する誤りを限りなくゼロにすることが出来る。具体的には、パリティ検査ビット数を秘密ビット数の半数とし、パリティ照合をＶ回繰り返した場合、残留エラーが検知できない確率は１／２V以下となる。
【００４７】
なお、本実施例は乱数生成手段として擬似ランダム符号の生成多項式を使用したが、本発明の適用範囲は上記に制限されるものではない。線形合同法やＭ系列(線形最大周期列)の様に、高速性と再現性を有する擬似乱数生成手段であれば良い。また本実施例では擬似乱数の生成多項式を予め共有する構成としたが、本発明の適用範囲は上記に制限されるものではなく、生成多項式そのものを送信して擬似乱数生成回路を変更することによって、常に異なる乱数を共有することもできる。また、本実施例では擬似乱数を指定する乱数生成パラメータ(真性乱数)をＡｌｉｃｅからＢｏｂへと送信する構成としたが、逆にＢｏｂにおいて乱数生成パラメータを発生し、Ａｌｉｃｅへ通知する構成でも構わない。
【実施例２】
【００４８】
図４は本発明の第２実施例による乱数共有方法を適用した秘匿増強処理のフローを示すシーケンス図である。本実施例における送信器(Ａｌｉｃｅ)および受信器(Ｂｏｂ)には、周期性の無い同じ乱数列が予めそれぞれのメモリに格納されている。この乱数列の長さは、一連の暗号鍵抽出作業における単位鍵長と比べて十分に長くする。このような乱数列はたとえば装置の製造時に書き込むことができ、ある程度期間が経過すれば書き換えることが望ましい。図１を参照すれば、周期性の無い共有乱数列は乱数共有回路１１３および１３３に格納することができる。
【００４９】
図４において、本実施例における秘匿増強処理では、Ａｌｉｃｅが真性乱数発生回路１１４で生成された真性乱数を乱数生成パラメータとして用い、周期性の無い共有乱数列のパリティ計算ビット位置を指定する。ＡｌｉｃｅおよびＢｏｂの乱数共有回路１１３および１３３は、各々の保有する周期性の無い共有乱数列に対して指定されたビット位置の乱数値から求められた値をビット指定情報として暗号鍵抽出回路１１２および１３２へそれぞれ出力する。暗号鍵抽出回路１１２および１３２はそれらのビット指定情報に基づいて秘密鍵ＫＡ”およびＫＢ”から指定ビットのパリティを計算し、そのパリティを１ビットの鍵とする。上記処理を、パリティ計算ビット位置を変更しながらＮ回繰り返すことによって、Ｎビットの新たな秘密鍵を共有することができる。
【００５０】
次に、上述した周期性の無い共有乱数列を使用してパリティ計算ビット位置をＡｌｉｃｅおよびＢｏｂ間で共有する方法を詳細に説明する。
【００５１】
図５は第２実施例における乱数共有方法の一例を示す説明図である。まず、Ａｌｉｃｅの真性乱数発生回路１１４の真性乱数を用いて共有乱数列のあるビット位置を指定する。図５に示すように、たとえば真性乱数に基づいて８３４３ビット目を指定したとする。
【００５２】
乱数共有回路１１３および１３３は、自身の保有する共有乱数列７１の８３４３ビット目から複数ビットの乱数列を複数グループ（たとえば、４ビットずつ４つの乱数列 ００００、１０１１、０１１０、０１１１）を取得する。これら乱数列をそれぞれ１０進数に変換すると ０、１１、６、７ となり、これをビット指定情報として暗号鍵抽出回路１１２および１３２へ出力する。
【００５３】
暗号鍵抽出回路１１２および１３２は、量子暗号鍵配布回路１１１および１３１により生成され別途共有されている秘密鍵７２（ここではＫＡ”およびＫＢ”）から、０、６、７、１１ビット目のビット値を読み出し、そのパリティを計算する。図５の例では１６ビットの秘密鍵７２の０、６、７、１１ビット目の情報はそれぞれ１、１、０、１であるからパリティは１となり、これが最終鍵の１ビット目となる。
【００５４】
続いて、最終鍵の２ビット目を計算するために、真性乱数（乱数生成パラメータ）を用いて共有乱数列７１のビット位置を新たに指定し、同様の結果を経て２ビット目を得る。図５の例では、指定された１９２ビット目以降の４つの乱数列は１０進表記でそれぞれ８，１３，４、１４ビット目を指すので、秘密鍵７２に関して対応するビットのパリティを計算すると０となる。この「０」が最終鍵の２ビット目となる。こうして、ＡｌｉｃｅおよびＢｏｂの両方で同じビット位置指定情報に基づいて最終鍵を抽出することができる。
【００５５】
盗聴者は、秘密鍵７２の０、６、７、１１ビット目の情報を全て知っていない限り最終鍵の１ビット目を、また、４、８、１３、１４ビット目の情報を全て知らない限り最終鍵の２ビット目を知ることは出来ない。従って、上記秘匿増強処理を行うことにより、盗聴者が部分的に得ている情報量を限りなくゼロにすることが出来る。
【００５６】
しかし、Ａｌｉｃｅの指定するビット位置が予測可能である場合、共有乱数列が盗聴者に知られているという事態を想定すると、盗聴者は予め上記のパリティ計算を行うビット位置を知ることができ、効率良く盗聴を行うことによって、最終鍵の情報を保有することが出来る。従って、ビット位置指定には、予測不可能な真性乱数(物理乱数)を使用する。
【００５７】
本実施例では、事前に共有した周期性の無い乱数を使用し続けているが、この乱数を頻繁に更新しても構わない。また、共有乱数列のビット位置を指定する情報（乱数生成パラメータ）をＡｌｉｃｅからＢｏｂへと送信する構成としたが、逆にＢｏｂにおいて乱数生成パラメータを発生してＡｌｉｃｅへ通知する構成としても構わない。
【００５８】
２．第２実施形態
既に述べたように、現時点での真性乱数(物理乱数)発生回路は最速でも数Ｍｂ／ｓ程度と低速であり、限られた個数の真性乱数発生回路を暗号鍵配布用と共有乱数生成用の両用途に使用することは、暗号鍵生成速度の劣化に繋がる。
【００５９】
そこで本発明の第２実施形態による量子暗号鍵配布システムは、伝送路で消失したビットに載せられた乱数を、乱数共有回路の乱数生成パラメータとして再利用し、真性乱数発生回路の出力を有効に利用する。
【００６０】
図６は本発明の第２実施形態による量子暗号鍵配布システムの概略的構成を示すブロック図である。本実施形態による量子暗号鍵配布システムは送信器８１および受信器８３から構成され、それらは光伝送路８２を介して接続されている。
【００６１】
送信器８１には、上述した量子鍵配布および基底処理により秘密鍵を生成するための量子暗号鍵配布回路８１１と、秘密鍵を生成するために使用される真性乱数を生成する真性乱数発生回路８１２と、共有乱数（ビット指定情報）を生成する乱数共有回路８１３と、このビット指定情報に従って秘密鍵から最終鍵（暗号鍵）を生成する暗号鍵抽出回路８１４とが設けられている。受信器３３には、同様の量子暗号鍵配布回路８３１と、真性乱数発生回路８３２と、乱数共有回路８３３と、暗号鍵抽出回路８３４と、が設けられている。乱数共有回路の乱数生成などの基本的な機能は第１実施形態で説明したとおりであるから、詳細については省略する。
【実施例３】
【００６２】
本発明の第３実施例による乱数共有方法を適用した量子暗号鍵配布システムでは、送信器(Ａｌｉｃｅ)８１及び受信器(Ｂｏｂ)８３がそれぞれ独立に乱数を発生させ、一つの光子に対して送受信器双方が上記の乱数に基づいた変調を施すことによって、盗聴者が予測不可能かつ複製不可能な状況下で暗号鍵の共有を行う。ここで各々が生成する乱数は、盗聴者が予め予測出来ないように、真性乱数(物理乱数)を使用する。非特許文献３に記載の技術では、光子の４状態をランダムに生成／検出することで盗聴を防止しながら暗号鍵を生成する。しかし、１光子に１ビットの鍵情報を載せて伝送する為、伝送路８２における伝送損失によってその大半は消失してしまい共有されない。そこでＡｌｉｃｅとＢｏｂは暗号鍵抽出過程において、共有できているビット番号を認識する。
【００６３】
図７は、一連の真性乱数列から秘密鍵と共有乱数生成パラメータとを得る過程を例示した模式図である。この例では、真性乱数発生回路８１２により生成された２４ビットの真性乱数９１(R1〜R24)を量子暗号鍵配布回路８１１により送信し、そのうちＳ１〜Ｓ８の８ビットのみ秘密鍵９２として共有し、残りのビットは伝送路で消失したとする。なお、説明の都合上、図６の乱数共有回路８１３、８３３は図７では乱数共有回路８３、図６の暗号鍵抽出回路８１４、８３４は図７では暗号鍵抽出回路９４と記す。
【００６４】
図７（ａ）は、Ａｌｉｃｅは２４ビットの真性乱数９１を左側から順次１ビットずつＢｏｂへと送信するものとすると、伝送路８２で消失した１６ビットの中から乱数共有回路９３で使用する共有乱数生成パラメータ６ビットを得る際に、先頭から６ビット(R2,R3,R5,R7,R8,R9)を選択する場合を、図７（ｂ）は最後尾から６ビット(R16,R18,R19,R20,R22,R24)を選択する場合をそれぞれ示す。
【００６５】
盗聴者はＡｌｉｃｅが情報を送信した直後に盗聴を行うことによって、伝送路８２で消失するビットの情報も手に入れることが出来るので、図７（ａ）の場合、秘密鍵９２のビットＲ１０が送信される直前に盗聴者は６ビットの共有乱数生成パラメータを全て知ることができる。盗聴者は乱数共有回路９３の動作を事前に知り得るので、共有乱数生成パラメータ(R2,R3,R5,R7,R8,R9)を入手すると、暗号鍵抽出回路９４において使用されるビット位置情報を知ることができる。従って、秘密鍵９２のビットＳ４〜Ｓ８を共有する際に、盗聴者はビットを選択して効率的な盗聴を行うことができる。
【００６６】
これに対して、図７（ｂ）に示すように真性乱数９１の最後尾のビットから６ビット選択した場合には、秘密鍵９２を共有し終えるまで共有乱数生成パラメータは完全に公開されず、盗聴者もビット選択盗聴を行うことができない。つまり共有乱数生成パラメータを伝送路における消失ビットから選ぶ際、単位ブロックの最後尾のビットから選択することが必要である。
【００６７】
なお、本実施例では共有乱数列の生成パラメータをＡｌｉｃｅからＢｏｂへと送信する構成としたが、逆にＢｏｂにおいて該パラメータ(真性乱数)を再利用し、Ａｌｉｃｅへ通知する構成としても構わない。
【００６８】
また、上述した第１〜第３実施例による乱数共有方法は、送信器および受信器のプログラム制御プロセッサ上でプログラムを実行することにより同一の機能を実現することもできる。
【産業上の利用可能性】
【００６９】
量子暗号鍵配布技術に限らず、秘匿通信路で共有した乱数から暗号鍵抽出を行う秘密鍵共有技術に利用可能である。また、暗号鍵抽出方法も上記実施例に限定されるものではなく、送受信器間で乱数を共有して暗号鍵抽出に使用する方法であれば、本発明を適用することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明の第１実施形態による量子暗号鍵配布システムの概略的構成を示すブロック図である。
【図２】本実施形態において使用される生成多項式の一例を実現する線形フィードバックシフトレジスタ回路を示すブロック図である。
【図３】本発明の第１実施例による乱数共有方法を適用した残留エラー検知処理のフローを示すシーケンス図である。
【図４】本発明の第２実施例による乱数共有方法を適用した秘匿増強処理のフローを示すシーケンス図である。
【図５】第２実施例における乱数共有方法の一例を示す説明図である。
【図６】本発明の第２実施形態による量子暗号鍵配布システムの概略的構成を示すブロック図である。
【図７】一連の真性乱数列から秘密鍵と共有乱数生成パラメータとを得る過程を例示した模式図である。
【図８】一般的な量子暗号鍵生成の流れを示すフローチャートである。
【図９】残留エラー検知処理のシーケンス図である。
【図１０】公知の秘匿増強過程のシーケンス図である。
【符号の説明】
【００７１】
１１、８１  送信器
１２、８２  伝送路
１３、８３  受信器
１１１、８１１  量子暗号鍵配布回路
１１２、８１４  暗号鍵抽出回路
１１３、８１３  乱数共有回路
１１４、８１２  真性乱数発生回路
１３１、８３１  量子暗号鍵配布回路
１３２、８３４  暗号鍵抽出回路
１３３、８３３  乱数共有回路
【図１】
2007019789.tif 000003
【図２】
2007019789.tif 000004
【図３】
2007019789.tif 000005
【図４】
2007019789.tif 000006
【図５】
2007019789.tif 000007
【図６】
2007019789.tif 000008
【図７】
2007019789.tif 000009
【図８】
2007019789.tif 000010
【図９】
2007019789.tif 000011
【図１０】
2007019789.tif 000012