(57)【要約】  センタノードとセンタノードに接続された複数のリモートノードとからなる秘匿通信ネットワークにおいて、センタノードとリモートノード各々との間で乱数を共有し、一のリモートノードとセンタノードとの間で共有された一の乱数を暗号鍵として、二のリモートノードとセンタノードとの間で共有された二の乱数をセンタノードにて暗号化し一のリモートノードへ送信することで、一のリモートノードと二のリモートノードとの間で二の乱数を暗号鍵として共有するシステムにおいて、センタノードに仮想リモートノードを設け、リモートノードを前記の一のリモートノードとし仮想リモートノードを前記の二のリモートノードとして前記の如く乱数を共有することで、リモートノードとセンタノードとの間で乱数を暗号鍵として共有する。
2010067551.tif 000002
【特許請求の範囲】
【請求項１】
秘匿通信ネットワークにおいてセンタノードと前記センタノードに接続された複数のリモートノードの各々との間で共有された共有乱数を管理するシステムであって、
前記センタノードは前記複数のリモートノードの各々と同様に機能する仮想リモートノードを含み、
前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理することを特徴とする共有乱数管理システム。
【請求項２】
前記リモートノードと前記仮想リモートノードとの間の通信が要求されると、前記リモートノードの共有乱数列および前記仮想リモートノードの共有乱数列のうち、一方のノードの共有乱数列を他方のノードの共有乱数列で暗号化して前記他方のノードへ配送し、前記リモートノードおよび前記仮想リモートノードの間で暗号化通信用乱数列を共有することを特徴とする請求項１に記載の共有乱数管理システム。
【請求項３】
前記センタノードは乱数生成手段を有し、前記センタノードと前記仮想リモートノードとの間で共有される乱数列は前記乱数生成手段により生成された乱数列であることを特徴とする請求項１または２に記載の共有乱数管理システム。
【請求項４】
前記センタノードは、前記複数のリモートノードおよび前記仮想リモートノードの各々との間で共有する乱数列を格納する第１格納手段をさらに有し、
前記複数のリモートノードおよび前記仮想リモートノードの各々は、
前記センタノードと共有する前記乱数列を格納するための第２格納手段と、
他のリモートノードとの通信用に使用されるべき通信用乱数列を格納するための第３格納手段と、
を有することを特徴とする請求項１−３のいずれか１項に記載の共有乱数管理システム。
【請求項５】
前記第３格納手段は他のリモートノードとの暗号化通信用に共有する乱数列を個別に格納することを特徴とする請求項４に記載の共有乱数管理システム。
【請求項６】
前記個別に格納される乱数列は、当該他のリモートノードとの通信に用いられる暗号鍵あるいは復号鍵であることを特徴とする請求項５に記載の共有乱数管理システム。
【請求項７】
前記センタノードと前記複数のリモートノードの各々との間で共有される乱数列は量子鍵配送システムによって生成されることを特徴とする請求項１−６のいずれか１項に記載の共有乱数管理システム。
【請求項８】
秘匿通信ネットワークにおいてセンタノードと前記センタノードに接続された複数のリモートノードの各々との間で共有された共有乱数を管理する方法であって、
前記センタノード内に前記複数のリモートノードの各々と同様に機能する仮想リモートノードを設け、
前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理する、
ことを特徴とする方法。
【請求項９】
前記リモートノードと前記仮想リモートノードとの間の通信が要求されると、前記リモートノードの共有乱数列および前記仮想リモートノードの共有乱数列のうち、一方のノードの共有乱数列を他方のノードの共有乱数列で暗号化して前記他方のノードへ配送し、前記リモートノードおよび前記仮想リモートノードの間で暗号化通信用乱数列を共有することを特徴とする請求項８に記載の方法。
【請求項１０】
前記センタノードは乱数生成手段を有し、前記センタノードと前記仮想リモートノードとの間で共有される乱数列は前記乱数生成手段により生成されることを特徴とする請求項８または９に記載の方法。
【請求項１１】
前記センタノードで、
前記複数のリモートノードおよび前記仮想リモートノードの各々との間で共有する乱数列を第１格納手段に格納し、
前記複数のリモートノードおよび前記仮想リモートノードの各々で、
前記センタノードと共有する前記乱数列を第２格納手段に格納し、
他のリモートノードとの通信用に使用されるべき通信用乱数列を第３格納手段に格納する、
ことを特徴とする請求項８−１０のいずれか１項に記載の方法。
【請求項１２】
他のリモートノードとの暗号化通信用に共有する乱数列を前記第３格納手段に個別に格納することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記個別に格納される乱数列は、当該他のリモートノードとの通信に用いられる暗号鍵あるいは復号鍵であることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記センタノードと前記複数のリモートノードの各々との間で共有される乱数列は量子鍵配送システムによって生成されることを特徴とする請求項８−１３のいずれか１項に記載の方法。
【請求項１５】
少なくとも１つのセンタノードと、
前記センタノードに接続された複数のリモートノードと、
乱数管理手段と、
を有し、
前記センタノードが前記複数のリモートノードの各々と同様に機能する仮想リモートノードを含み、
前記乱数管理手段が前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理する、
ことを特徴とする秘匿通信ネットワーク。
【請求項１６】
前記リモートノードと前記仮想リモートノードとの間の通信が要求されると、前記リモートノードの共有乱数列および前記仮想リモートノードの共有乱数列のうち、一方のノードの共有乱数列を他方のノードの共有乱数列で暗号化して前記他方のノードへ配送し、前記リモートノードおよび前記仮想リモートノードの間で暗号化通信用乱数列を共有することで、前記リモートノードと前記仮想リモートノードとの間の通信を実行することを特徴とする請求項１５に記載の秘匿通信ネットワーク。
【請求項１７】
前記センタノードは乱数生成手段をさらに有し、前記センタノードと前記仮想リモートノードとの間で共有される乱数列は前記乱数生成手段により生成されることを特徴とする請求項１５または１６に記載の秘匿通信ネットワーク。
【請求項１８】
前記センタノードは、前記複数のリモートノードおよび前記仮想リモートノードの各々との間で共有する乱数列を格納する第１格納手段をさらに有し、
前記複数のリモートノードおよび前記仮想リモートノードの各々は、
前記センタノードと共有する前記乱数列を格納するための第２格納手段と、
他のリモートノードとの通信用に使用されるべき通信用乱数列を格納するための第３格納手段と、
を有することを特徴とする請求項１５−１７のいずれか１項に記載の秘匿通信ネットワーク。
【請求項１９】
秘匿通信ネットワークにおいて複数のリモートノードと接続されたノードであって、
前記複数のリモートノードの各々と同様に機能する仮想リモートノードと、
前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理する管理手段と、
を有することを特徴とするノード。
【請求項２０】
前記リモートノードと前記仮想リモートノードとの間の通信が要求されると、前記リモートノードの共有乱数列および前記仮想リモートノードの共有乱数列のうち、一方のノードの共有乱数列を他方のノードの共有乱数列で暗号化して前記他方のノードへ配送し、前記リモートノードおよび前記仮想リモートノードの間で暗号化通信用乱数列を共有することで、前記リモートノードと前記仮想リモートノードとの間の通信を実行することを特徴とする請求項１９に記載のノード。
【請求項２１】
乱数生成手段を更に有し、前記乱数生成手段が前記仮想リモートノードとの間で共有される乱数列を生成することを特徴とする請求項１９または２０に記載のノード。
【請求項２２】
前記複数のリモートノードおよび前記仮想リモートノードの各々との間で共有する乱数列を格納する格納手段をさらに有することを特徴とする請求項１９−２１のいずれか１項に記載のノード。
【請求項２３】
秘匿通信ネットワークにおいて複数のリモートノードと接続されたセンタノードとしてプログラム制御プロセッサを機能させるための、格納装置に記録されたプログラムであって、
前記複数のリモートノードの各々と同様に機能する仮想リモートノードを提供し、
前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理する、
ように前記プログラム制御プロセッサを機能させることを特徴とするプログラム。
【請求項２４】
前記リモートノードと前記仮想リモートノードとの間の通信が要求されると、前記リモートノードの共有乱数列および前記仮想リモートノードの共有乱数列のうち、一方のノードの共有乱数列を他方のノードの共有乱数列で暗号化して前記他方のノードへ配送し、前記リモートノードおよび前記仮想リモートノードの間で暗号化通信用乱数列を共有することを特徴とする請求項２３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００８年１２月１０日に出願された特願２００８−３１４２３９号に基づく優先権を主張するものであり、その開示内容のすべては本出願に組み込まれている。
本発明は秘匿通信ネットワークに係り、特にノード間で使用される暗号鍵などの共有乱数を管理する方法およびシステムに関する。
【背景技術】
【０００２】
インターネットは様々なデータが行き交う経済社会インフラとなっており、それゆえにネット上を流れるデータを盗聴リスクから事前に守る予防策を整えることが重要な課題となっている。予防策の一つとして、通信するデータを暗号化する秘匿通信システムが挙げられる。暗号化の方法としては、共通鍵暗号と公開鍵暗号の二種類がある。【０００３】
共通鍵暗号は、ＡＥＳ(Advanced Encryption Standard)に代表されるように暗号化と復号化に共通の暗号化鍵を用いる方式で高速処理が可能である。そのため本方式はデータ本体の暗号化に用いられている。【０００４】
一方、公開鍵暗号はＲＳＡ暗号方式に代表されるように一方向性関数を用いた方式で、公開鍵によって暗号化を行い、秘密鍵によって復号化を行う。高速処理には適していないため、共通鍵方式の暗号鍵配送などに用いられている。【０００５】
データの暗号化によって秘匿性を確保する秘匿通信において、秘匿性を確保するために重要なことは、たとえ盗聴者によって暗号化データを盗聴されたとしても、その暗号化データを解読されないことである。そのため、暗号化に同じ暗号鍵を使い続けないことが必要である。それは、同じ暗号鍵を使い続けて暗号化していると、盗聴された多くのデータから暗号鍵を推測される可能性が高くなるからである。【０００６】
そこで送信側と受信側で共有している暗号化鍵を更新することが求められる。鍵更新時には更新する鍵を盗聴・解読されないことが必須であるので、（１）公開鍵暗号によって暗号化して送る方法、（２）予め鍵更新用に設定した共通鍵であるマスタ鍵を用いて暗号化して送る方法、の大きく二通りがある（たとえば特開２００２−３４４４３８号公報（特許文献１）および特開２００２−３００１５８号公報（特許文献２）を参照）。これらの方法における安全性は、解読するための計算量が膨大であることに依っている。【０００７】
一方、量子暗号鍵配布技術（ＱＫＤ）は、通常の光通信とは異なり、１ビットあたりの光子数を１個として伝送することにより送信−受信間で暗号鍵を生成・共有する技術である（非特許文献１および２参照）。この量子暗号鍵配布技術は、上述した計算量による安全性ではなく、量子力学によって安全性が保証されており、光子伝送部分での盗聴が不可能であることが証明されている。さらに、一対一の鍵生成・共有だけでなく、光スイッチング技術やパッシブ光分岐技術により一対多あるいは多対多ノード間での鍵生成および鍵共有を実現する提案もされている（非特許文献３参照）。【０００８】
このようなＱＫＤ技術では、光子１個に暗号鍵の基となる情報を乗せて伝送するので、光子伝送を行なう限り暗号鍵を生成し続けることができる。たとえば、１秒あたり数１０ｋビットの最終鍵を生成することが可能である。【０００９】
さらに、ＱＫＤ技術によって生成した暗号鍵を、解読不可能なことが証明されているワンタイムパッド（ＯＴＰ：One-Time-Pad）暗号に使用することで、絶対安全な暗号通信を提供することができる。ワンタイムパッド暗号により暗号化通信を行うと、暗号鍵はデータと同じ容量分だけ消費され、しかも一回限りで必ず使い捨てされる。例えば、１Ｍビットのファイルをワンタイム暗号化して送受信すると、１Ｍビットの暗号鍵が消費される。【００１０】
このように大量に暗号鍵を生成し消費する暗号システムでは、記憶媒体に格納されている暗号鍵の管理が必須といえる。特に、ＱＫＤ技術において、非特許文献３で提案されているような光スイッチング技術やパッシブ光分岐技術によって一対多あるいは多対多の鍵生成・共有への拡張を実現するためには、多ノード間での暗号鍵の管理が重要となる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００２−３４４４３８号公報
【特許文献２】特開２００２−３００１５８号公報
【非特許文献】
【００１２】
【非特許文献１】“QUANTUM CRYPTOGRAPHY: PUBLIC KEY DISTRIBUTION AND COIN TOSSING” C. H. Bennett and G. Brassard, IEEE Int. Conf. on Computers, Systems, and Signal Processing, Bangalore, India, December １０−１２, １９８４ pp.１７５−１７９
【非特許文献２】“Automated ‘plug & play’ quantum key distribution” G. Ribordy, J. Gauiter, N. Gisin, O. Guinnard and H. Zbinden, Electron. Lett., Vol. ３４, No. ２２ pp.２１１６−２１１７, (１９９８)
【非特許文献３】“Quantum cryptography on multiuser optical fibreNetworks” P. D. Townsend, Nature vol. ３８５, ２ January １９９７ pp. ４７−４９
【非特許文献４】“Temperature independent QKD system using alternative-shifted phase modulation method” A. Tanaka, A. Tomita, A. Tajima, T. Takeuchi, S. Takahashi, and Y. Nambu, Proceedings of ECOC ２００４, Tu.４.５.３.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、これまでの技術では暗号鍵などの共有情報を生成することにのみ重点を置き、消費することも考慮した管理はほとんど行なわれていない。上述したように、各ノードにおける暗号鍵の蓄積量は、鍵生成・共有プロセスにより増加すると共に暗号通信を実行する毎に消費されて減少する。また、鍵生成・共有プロセスによる暗号鍵の生成速度は、ノード間の距離や通信品質などにも依存するために、一般にノード間で一定ではない。このために各ノードでの鍵蓄積量は時々刻々と増減することとなり、ノード数が増えるに従って暗号鍵の管理は益々複雑化する。【００１４】
特にＯＴＰ（Ｏｎｅ−Ｔｉｍｅ−Ｐａｄ）暗号化通信を行う場合、固定長の鍵を使いまわす場合と異なり、暗号化に使用した鍵は復号化に用いることができない。このために暗号化用の鍵と復号化用の鍵とを分けて管理する必要があり、管理が二重に複雑化するという新たな問題が発生する。【００１５】
そこで、本発明の目的は、センタノードと複数のリモートノードとの間で生成、消費される乱数を安全かつ容易に管理できる共有乱数管理方法およびシステムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明による共有乱数管理システムは、秘匿通信ネットワークにおいてセンタノードと前記センタノードに接続された複数のリモートノードの各々との間で共有された共有乱数を管理するシステムであって、前記センタノードは前記複数のリモートノードの各々と同様に機能する仮想リモートノードを含み、前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理することを特徴とする。【００１７】
本発明による共有乱数管理方法は、秘匿通信ネットワークにおいてセンタノードと前記センタノードに接続された複数のリモートノードの各々との間で共有された共有乱数を管理する方法であって、前記センタノード内に前記複数のリモートノードの各々と同様に機能する仮想リモートノードを設け、前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理する、ことを特徴とする。【００１８】
本発明による秘匿通信ネットワークは、少なくとも１つのセンタノードと、前記センタノードに接続された複数のリモートノードと、乱数管理手段と、を有し、前記センタノードが前記複数のリモートノードの各々と同様に機能する仮想リモートノードを含み、前記乱数管理手段が前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理する、ことを特徴とする。【００１９】
本発明によるノードは、秘匿通信ネットワークにおいて複数のリモートノードと接続されたノードであって、前記複数のリモートノードの各々と同様に機能する仮想リモートノードと、前記仮想リモートノードと前記複数のリモートノードの１つであるリモートノードとの間の暗号化通信で使用される乱数列に基づいて前記共有乱数を管理する管理手段と、を有することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、センタノードと複数のリモートノードとの間で生成、消費される乱数を安全かつ容易に管理できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態による共有乱数管理システムを適用した秘匿通信ネットワークの物理的な構成を概略的に示すネットワーク図である。
【図２】本実施形態による量子鍵配送ネットワークの鍵管理システムの機能的構成を説明するための模式図である。
【図３】図２に示す鍵管理システムの鍵共有手順を説明するための模式図である。
【図４】本発明の第１実施例による量子鍵配送ネットワークの概略的構成を示すブロック図である。
【図５】本実施例を適用したＰｌｕｇ＆Ｐｌａｙ方式ＱＫＤシステムの一例を示すブロック図である。
【図６】リモートノードＲＮ（１）がリモートノードＲＮ（２）および仮想リモートノードＲＮ（３）へ暗号化データを送信するための論理安全鍵を共有する手順を説明するための模式図である。
【図７】リモートノードＲＮ（２）がリモートノードＲＮ（１）および仮想リモートノードＲＮ（３）へ暗号化データを送信するための論理安全鍵を共有する手順を説明するための模式図である。
【図８】仮想リモートノードＲＮ（３）がリモートノードＲＮ（１）およびＲＮ（２）へ暗号化データを送信するための論理安全鍵を共有する手順を説明するための模式図である。
【図９】本実施形態の変形例による共有乱数管理システムを適用した秘匿通信ネットワークの物理的な構成を概略的に示すネットワーク図である。
【図１０】本実施形態の他の変形例による共有乱数管理システムを適用した秘匿通信ネットワークの物理的な構成を概略的に示すネットワーク図である。
【発明を実施するための形態】
【００２２】
本発明は秘匿通信ネットワークに適用可能であり、共有乱数はノード間で共有される秘匿情報である。以下、秘匿通信ネットワークとして量子鍵配送ネットワークを取りあげ、ノード間で乱数列を共有して暗号通信を可能にするシステムについて詳述する。
【００２３】
１．一実施形態
１．１）ネットワーク構成
図１は本発明の一実施形態による共有乱数管理システムを適用した秘匿通信ネットワークの物理的な構成を概略的に示すネットワーク図である。ここでは、１つのセンタノードと複数のリモートノードとからなる１対多接続ネットワークが量子鍵配送ネットワークとして構成され、複数の１対多接続ネットワークにより秘匿通信ネットワークが構成されているものとする。
【００２４】
秘匿通信ネットワークは、複数のセンタノードＣＮ−１〜ＣＮ−ｍを含むセンタノード群１０と、それぞれのセンタノードに接続した複数のリモートノードＲＮ（１）〜ＲＮ（ｎ−１）と、センタノード側に設けられた仮想リモートノードＲＮ（ｎ）と、各センタノードの暗号鍵の管理を行う鍵管理サーバ３０とを有する。
【００２５】
センタノード群１０は、センタノードＣＮ−１〜ＣＮ−ｍが鍵管理サーバ３０により管理されることで形成され、ここでは、各センタノードと鍵管理サーバ３０との間が閉じた通信経路（図中の二重実線）により安全に接続されているものとする。
【００２６】
仮想リモートノードＲＮはセンタノード群１０内に少なくとも１つ配置される。本実施形態では、各センタノードに１つの仮想リモートノードが配置され、複数のリモートノードが物理的に接続されているものとする。以下、１つのセンタノードに物理的に接続された複数のリモートノードをＲＮ（１）〜ＲＮ（ｎ−１）、センタノード内に設けられた仮想リモートノードをＲＮ（ｎ）とそれぞれ記すものとする。
【００２７】
後述するように、仮想リモートノードＲＮ（ｎ）は、他のリモートノードＲＮ（１）〜ＲＮ（ｎ−１）と同様の量子鍵プールおよび安全鍵プールを備えている。なお、仮想リモートノードＲＮ（ｎ）は、物理的に設けられる必要はなく、必要なメモリ領域を用いてソフトウエアによりＣＰＵ等のプログラム制御プロセッサ上に生成することができる。また、仮想リモートノードＲＮ（ｎ）はセンタノード内に設けられているので、他のリモートノードのようにセンタノードとの間で量子鍵生成・共有プロセスにより量子鍵を生成する必要はない。詳しくは後述するが、センタノード内の乱数生成器により生成された乱数を鍵管理サーバ３０の管理下で量子鍵プールに格納すればよい。
【００２８】
量子鍵配送ネットワークとしては、１個のセンタノードＣＮに複数（ｎ−１）個のリモートノードＲＮ（１）〜ＲＮ（ｎ−１）が接続された１：Ｎ構成として論理的に認識されるので、図１に示す実際の物理ネットワークは１：（ｎ−１）ネットワークの集合体とみなすことできる。そこで、以下、１つのセンタノードＣＮと複数のリモートノードとからなる１：（ｎ−１）ネットワークに本実施形態による鍵管理システムを適用した場合について説明する。
【００２９】
１．２）鍵管理システム
図２は本実施形態による量子鍵配送ネットワークの鍵管理システムの機能的構成を説明するための模式図である。鍵管理システムは、センタノードＣＮ、（ｎ−１）個のリモートノードＲＮ（１）〜ＲＮ（ｎ−１）、仮想リモートノードＲＮ（ｎ）および鍵管理サーバ３０から構成されている。
【００３０】
センタノードＣＮと各リモートノードＲＮ（１）・・・ＲＮ（ｎ−１）との間で、量子鍵配送プロセスにより生成された量子鍵Ｑが共有されているものとする。このような量子鍵Ｑを共有乱数あるいは共有乱数列ともいう。各リモートノードには量子鍵プールＱＫＰが設けられ、センタノードＣＮとの間で共有された量子鍵Ｑが格納される。たとえばリモートノードＲＮ（１）の量子鍵プールＱＫＰ１には、センタノードＣＮの対応する量子鍵プールＱＫＰCN1と同じ量子鍵Ｑ１が対応付けられて格納される。
【００３１】
さらに、各リモートノードには安全鍵プールＳＫＰが設けられ、ワンタイムパッド（ＯＴＰ）暗号通信を行う他のリモートノード毎に設けられた個別通信鍵プールＫに鍵が格納される。個別通信鍵プールＫには、通信相手となるリモートノード毎に使用される鍵（乱数列）が後述する論理安全鍵共有手順により共有され、リモートノード間の暗号通信が可能となる。たとえばリモートノードＲＮ（１）とＲＮ（３）との間で暗号通信を行う場合には、リモートノードＲＮ（１）の個別通信鍵プールＫ１−３に論理安全鍵が格納され、リモートノードＲＮ（３）の個別通信鍵プールＫ３−１に同じ論理安全鍵が格納される。一般化すれば、リモートノードＲＮ（ｉ）とＲＮ（ｊ）との間で暗号通信を行う場合には、リモートノードＲＮ（ｉ）の個別通信鍵プールＫｉ−ｊに論理安全鍵が格納され、リモートノードＲＮ（ｊ）の個別通信鍵プールＫｊ−ｉに同じ論理安全鍵が格納される。
【００３２】
具体的には、各リモートノードの量子鍵ＱとセンタノードＣＮの対応する量子鍵プールＱＫＰCNに格納されている量子鍵は同じ乱数列なので、各リモートノードの量子鍵プールＱＫＰとセンタノードＣＮの対応する量子鍵プールＱＫＰCNとの内容は全く同じである。
【００３３】
ただし、以下、便宜上、センタノードＣＮの量子鍵を暗号化鍵、リモートノードの量子鍵を復号化鍵とし、図２に例示するように、一定の容量（例えば３２バイトなど）でファイル化され、ファイル番号を付けて管理されるものとする。
【００３４】
たとえば、センタノードＣＮの量子鍵プールＱＫＰCNの鍵ファイルには拡張子“ｅｎｃ”を付加し、リモートノードＲＮ（１）に対応する量子鍵プールＱＫＰCNのファイル名はＫ１＿１．ｅｎｃ，Ｋ１＿２．ｅｎｃ，・・・のように生成順にファイル番号を付与する。同様に、たとえばリモートノードＲＮ（１）の量子鍵プールＱＫＰ１の鍵ファイルは拡張子を“ｄｅｃ”を付加し、ファイル名はＫ１＿１．ｄｅｃ，Ｋ１＿２．ｄｅｃ，・・・のように生成順にファイル番号を付与する。ただしｅｎｃおよびｄｅｃは便宜上の拡張子に過ぎず、実体的にはＫ１＿１．ｅｎｃとＫ１＿１．ｄｅｃとは同じ乱数列である。
【００３５】
仮想リモートノードＲＮ（ｎ）には、リモートノードＲＮ（１）・・・ＲＮ（ｎ−１）と同様に量子鍵プールＱＫＰｎが設けられ、センタノードＣＮとの間で共有された量子鍵Ｑｎが格納される。ただし、仮想リモートノードＲＮ（ｎ）はセンタノード内に設けられているので、量子鍵生成・共有プロセスにより量子鍵を生成する必要はない。ここでは、センタノード内の乱数生成器により生成された乱数を上述したようにファイル化し、ファイル名Ｒｎ＿１．ｄｅｃ，Ｒｎ＿２．ｄｅｃ，・・・で量子鍵プールＱＫＰｎに格納する。同様に、センタノードＣＮの量子鍵プールＱＫＰＣＮｎにも、同じ乱数をファイル名Ｒｎ＿１．ｅｎｃ，Ｒｎ＿２．ｅｎｃ，・・・で格納する。
【００３６】
さらに、仮想リモートノードＲＮ（ｎ）にも安全鍵プールＳＫＰｎが設けられ、ワンタイムパッド（ＯＴＰ）暗号通信を行う他のリモートノード毎に設けられた個別通信鍵プールＫに鍵が格納される。たとえばリモートノードＲＮ（１）との間で暗号通信を行う場合には、リモートノードＲＮ（１）に対応する個別通信鍵プールＫｎ−１に論理安全鍵が格納され、リモートノードＲＮ（１）の個別通信鍵プールＫ１−ｎに同じ論理安全鍵が格納される。
【００３７】
以下の説明では、リモートノード間の暗号通信に用いられる鍵をリモートノード間で安全に共有する操作を「鍵配送」という。具体例としてはワンタイムパッド（ＯＴＰ）鍵配送である。以下、この鍵配送で共有したリモートノード間の通信鍵を「論理安全鍵」ともいう。
【００３８】
１．３）センタノード−リモートノード間の鍵共有例
図３は図２に示す鍵管理システムの鍵共有手順を説明するための模式図である。ここでは、２つのリモートノードＲＮ（ｉ）およびＲＮ（ｊ）と仮想リモートノードＲＮ（ｎ）との間での鍵共有プロセスを例示する（ｉ，ｊはｎ以下の任意の異なる自然数である）。
【００３９】
一例として、リモートノードＲＮ（ｊ）が鍵管理サーバ３０に対してセンタノードＣＮへのデータ送信を要求したとする（送信要求Ｓ１）。鍵管理サーバ３０は、送信要求Ｓ１の送信元リモートノードＲＮ（ｊ）と送信先センタノードの仮想リモートノードＲＮ（ｎ）とにそれぞれ対応する量子鍵プールＱＫＰＣＮｊおよびＱＫＰＣＮｎを制御し、送信元リモートノードＲＮ（ｊ）から仮想リモートノードＲＮ（ｎ）へデータを送信できるように暗号鍵および復号鍵の共有プロセスを開始する。
【００４０】
まず、送信先である仮想リモートノードＲＮ（ｎ）に対応する量子鍵プールＱＫＰＣＮｎの鍵ファイルＲ＿１．ｅｎｃを送信元のリモートノードＲＮ（ｊ）の個別通信鍵プールＫｊ−ｎへＯＴＰ配送する（鍵配送Ｓ２）。すなわち、配送される鍵ファイルＲ＿１．ｅｎｃは、送信元に対応する量子鍵プールＱＫＰＣＮｊの鍵ファイルＫｊ＿１．ｅｎｃにより暗号化され、リモートノードＲＮ（ｊ）の量子鍵プールＱＫＰｊの同じ鍵ファイルＫｊ＿１．ｄｅｃにより復号化される。
【００４１】
同時に、仮想リモートノードＲＮ（ｎ）では、量子鍵プールＱＫＰｎの鍵ファイルＲ＿１．ｄｅｃが個別通信鍵プールＫｎ−ｊに転送される（転送Ｓ３）。
【００４２】
上述したように、センタノードＣＮにおける量子鍵プールＱＫＰＣＮｎの鍵ファイルＲ＿１．ｅｎｃと仮想リモートノードＲＮ（ｎ）における量子鍵プールＱＫＰｎの鍵ファイルＲ＿１．ｄｅｃとは同一であるから、送信側リモートノードＲＮ（ｊ）の個別通信鍵プールＫｊ−ｎと仮想リモートノードＲＮ（ｎ）の個別通信鍵プールＫｎ−ｊとに同じ論理安全鍵が格納されたことになる。こうしてリモートノードＲＮ（ｊ）は、鍵ファイルＲ＿１．ｅｎｃ（論理安全鍵）を用いて送信データを暗号化してセンタノードＣＮへ送信し、この暗号化データを受信した仮想リモートノードＲＮ（ｎ）は同じ鍵ファイルＲ＿１．ｄｅｃ（論理安全鍵）を用いて当該受信データを復号化することができる。
【００４３】
逆に、センタノードＣＮが鍵管理サーバ３０に対してリモートノードＲＮ（ｉ）へのデータ送信を要求したとする（送信要求Ｓ４）。鍵管理サーバ３０はセンタノードＣＮに指示することで、送信先であるリモートノードＲＮ（ｉ）に対応する量子鍵プールＱＫＰＣＮｉの鍵ファイルＫｉ＿１．ｅｎｃを仮想リモートノードＲＮ（ｎ）の個別通信鍵プールＫｎ−ｉへ転送させる（転送Ｓ５）。仮想リモートノードＲＮ（ｎ）はセンタノードＣＮ内に設けられているので、鍵ファイルＫｉ＿１．ｅｎｃの転送に暗号化は不要であるが、他のリモートノードの場合と同様の転送プロセスを用いることもできる。
【００４４】
同時に、リモートノードＲＮ（ｉ）では、量子鍵プールＱＫＰｉの鍵ファイルＫｉ＿１．ｄｅｃが個別通信鍵プールＫｉ−ｎに転送される（転送Ｓ６）。
【００４５】
上述したように、センタノードＣＮにおける量子鍵プールＱＫＰＣＮｉの鍵ファイルＫｉ＿１．ｅｎｃとリモートノードＲＮ（ｉ）における量子鍵プールＱＫＰｉの鍵ファイルＫｉ＿１．ｄｅｃとは同一であるから、仮想リモートノードＲＮ（ｎ）の個別通信鍵プールＫｎ−ｉと送信先のリモートノードＲＮ（ｉ）の個別通信鍵プールＫｉ−ｎとに同じ論理安全鍵が格納されたことになる。
【００４６】
こうして仮想リモートノードＲＮ（ｎ）は、データを鍵ファイルＫｉ＿１．ｅｎｃ（論理安全鍵）を用いて暗号化してリモートノードＲＮ（ｉ）へ送信し、リモートノードＲＮ（ｉ）は受信した暗号化データを同じ鍵ファイルＫｉ＿１．ｄｅｃ（論理安全鍵）を用いて復号化することができる。
【００４７】
１．４）効果
本実施形態によれば、センタノード内に仮想的なリモートノードを設け、センタノード−リモートノード間の通信を仮想リモートノード−リモートノード間の通信として扱うことができる。したがって、鍵管理サーバ３０は、センタノードＣＮ内の量子鍵プールＱＫＰＣＮ１〜ＱＫＰＣＮｎの鍵量をモニタするだけで、リモートノード間の鍵消費だけでなく、センタノードとリモートノードとの間の通信で使用される暗号鍵の消費をも同様に管理することができ、通信用の鍵管理が単純になる。
【００４８】
さらに、リモートノードに量子鍵プールと安全鍵プールを設け、リモートノードからの要求に応じて論理安全鍵の共有と量子鍵の消費を行う。これにより、センタノードは、ＱＫＤによる鍵生成プロセスを実行する時間間隔、すなわち各リモートノードに割り当てられる時分割領域を量子鍵プールの鍵蓄積量に応じて割り当てることが可能になる。
【００４９】
また、センタノードの量子鍵を暗号化鍵（または復号化鍵）、リモートノードの量子鍵を復号化鍵（または暗号化鍵）とし、暗号化鍵をＯｎｅ−Ｔｉｍｅ−Ｐａｄ鍵配送で安全にリモートノードへ配送することによって、Ｏｎｅ−Ｔｉｍｅ−Ｐａｄ暗号通信における暗号化鍵および復号化鍵の管理を簡略にすることができる。
【００５０】
本方式を用いることでＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号通信するリモートノード間で通信量非対称な場合でも、暗号化鍵および復号化鍵を消費に応じてそれぞれ独立に共有することが可能となる。
【００５１】
さらに、リモートノードの数に応じて論理安全鍵を格納する安全鍵プールを設けることで、リモートノードの数にかかわらず同じ方式で簡単に鍵を管理することができる。このため、量子鍵配送ネットワーク内にリモートノードが参加または離脱した場合も安全鍵プール内の個別通信鍵プールの増減のみで対応可能であり、ネットワークの変更も簡単に行うことが可能となる。
【００５２】
２．第１実施例
２．１）構成
図４は本発明の第１実施例による量子鍵配送ネットワークの概略的構成を示すブロック図である。ここでは、図１に示すネットワークの一部を切り出して図示されており、（ｎ−１）個のリモートノードＲＮ（１）〜ＲＮ（ｎ−１）のそれぞれが光ファイバによってセンタノードＣＮに接続され、各リモートノードＲＮ（ｉ）とセンタノードＣＮとの間で量子鍵の生成、共有およびそれを用いた暗号化通信を行う。
【００５３】
リモートノードＲＮ（１）〜ＲＮ（ｎ−１）の各々は同様の構成を有し、量子チャネルユニット２０１、古典チャネルユニット２０２、それらを制御する制御部２０３、鍵を格納するための鍵メモリ２０４を有する。
【００５４】
リモートノードＲＮ（１）〜ＲＮ（ｎ−１）の鍵メモリ２０４には、量子鍵プールＱＫＰ１〜ＱＫＰn-1がそれぞれ設けられ、各リモートノードＲＮ（ｉ）とセンタノードＣＮとの間で生成・共有された量子鍵Ｑ１，Ｑ２，・・・，Ｑn-1がそれぞれ格納されている。また、鍵メモリ２０４には、安全鍵プールＳＫＰ１〜ＳＫＰn-1も設けられており、リモートノードごとに、要求に応じてリモートノード間のＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号通信用の論理安全鍵が格納される。
【００５５】
制御部２０３は、センタノードＣＮとの間で共有乱数の生成、共有乱数を用いた暗号化／復号化などを実行する。制御部２０３はプログラム制御プロセッサでもよく、図示しないメモリから読み出されたプログラムを実行することで、上記共有乱数生成機能および暗号化／復号化機能を実現することもできる。
【００５６】
センタノードＣＮは、量子チャネル用のスイッチ部１０１およびユニット１０２と、古典チャネル用のスイッチ部１０３およびユニット１０４と、それらを制御する制御部１０５、および、鍵を格納するための量子鍵メモリ１０６を有する。センタノードの量子鍵メモリ１０６には、量子鍵プールＱＫＰCN1〜ＱＫＰCNnが設けられ、各リモートノードＲＮ（１）〜ＲＮ（ｎ−１）および仮想リモートノードＲＮ（ｎ）との間でそれぞれ共有された共有乱数Ｑ１，Ｑ２，・・・，Ｑｎが格納されている。
【００５７】
ただし、仮想リモートノードＲＮ（ｎ）の量子鍵プールＱＫＰCNnおよび量子鍵メモリ１０６にそれぞれ格納される共有乱数Ｑｎは乱数生成器１０７により生成される乱数が用いられる。仮想リモートノードＲＮ（ｎ）をセンタノードＣＮに設けることで、仮想リモートノードＲＮ（ｎ）の量子鍵プールＱＫＰｎおよび安全鍵プールＳＫＰｎを格納するメモリ１０８と量子鍵メモリ１０６に共有乱数Ｑｎを格納するためのメモリ領域とを更に必要とするが、大きなメモリ容量の増加にはならない。また、仮想リモートノードＲＮ（ｎ）内の量子鍵プールＱＫＰｎおよび安全鍵プールＳＫＰｎを格納するメモリ１０８は、量子鍵メモリ１０６とは別のメモリ領域を割り当ててもよい。
【００５８】
制御部１０５は、各リモートノートＲＮ（１）、・・・ＲＮ（ｎ−１）の間での共有乱数の生成、仮想リモートノードＲＮ（ｎ）の管理、スイッチ部１０１および１０３の切り替え制御、共有乱数を用いた暗号化／復号化、鍵メモリ１０６に格納された各鍵量のモニタなどを実行する。
【００５９】
各リモートノードの量子チャネルユニット２０１とセンタノードＣＮの量子チャネルユニット１０２とは、量子チャネルおよびスイッチ部１０１を通して単一光子レベル以下の微弱光信号を送信し、両者で共有するべき乱数列を生成する。また、各リモートノードの古典チャネルユニット２０２とセンタノードＣＮの古典チャネルユニット１０４とは、共有乱数を生成、共有するためのデータやファイル番号などをスイッチ部１０３および古典チャネルを通して相互に送受信し、共有された乱数列に基づいて暗号化したデータをスイッチ部１０３および古典チャネルを通して相互に送受信する。
【００６０】
制御部１０５は、スイッチ部１０１を制御することで、リモートノードＲＮ１〜ＲＮ（ｎ−１）から選択された１つのリモートノードの量子チャネルを量子チャネルユニット１０２に接続することができる。この量子チャネルの切替制御とは独立に、制御部１０５は、スイッチ部１０３を制御することで、リモートノードＲＮ（１）〜ＲＮ（ｎ−１）から選択された１つのリモートノードの古典チャネルを古典チャネルユニット１０４に接続することができる。
【００６１】
鍵管理サーバ３０はセンタノードＣＮの量子鍵メモリ１０６を監視する。図４に示す例では、センタノードＣＮは一つしかないので、鍵管理サーバ３０はセンタノードＣＮの量子鍵メモリ１０６のみ監視する。
【００６２】
各リモートノードＲＮ（ｉ）は、それぞれ生成した乱数列を鍵メモリ２０４の量子鍵プールＱＫＰｉに格納する。センタノードＣＮは、リモートノードＲＮ１〜ＲＮ（ｎ−１）との間でそれぞれ生成したすべての乱数列を量子鍵メモリ１０６に格納する。また、仮想リモートノードＲＮ（ｎ）の量子鍵プールＱＫＰｎおよび量子鍵メモリ１０６にそれぞれ格納される共有乱数Ｑｎは乱数生成器１０７により生成される乱数列が用いられる。このように、センタノードＣＮは、自身に従属するリモートノードのすべての量子鍵を把握しているので鍵管理サーバ３０はセンタノードＣＮの量子鍵メモリ１０６だけを監視すればよい。
【００６３】
なお、量子チャネルと古典チャネルとはチャネルとして区別できればよく、量子ャネルは量子鍵の生成に利用されるチャネルであり、古典チャネルは通常の光パワー領域での通信チャネルである。古典チャネルは、共有乱数を生成するためのデータ送受信および暗号化されたデータの送受信のために利用される。量子チャネルは、パワーが１ｐｈｏｔｏｎ／ｂｉｔ以下の微弱な状態の光信号を送信器（Ａｌｉｃｅ）から受信器（Ｂｏｂ）へ送信するが、通常の光通信で使用される光パワーの光信号を伝送することもできる。
【００６４】
また、本実施例において量子チャネルと古典チャネルとは多重化されているが、多重化方式を特定するものではない。波長分割多重方式であれば、各リモートノードに対応するスイッチ部１０１および１０３の前段に波長多重分離部を設けて、量子チャネルの波長信号をスイッチ部１０１へ、古典チャネルの波長信号をスイッチ部１０３へそれぞれ分離するように構成すればよい。
【００６５】
２．２）量子鍵生成
センタノードＣＮの制御部１０５および各リモートノードＲＮ（ｉ）の制御部２０３は、それぞれのノードの全体的な動作を制御するが、ここでは特に鍵生成機能について説明を行なう。制御部１０５および２０３は所定の鍵生成シーケンスを実行することで乱数列をセンタノードＣＮと各リモートノードＲＮ（ｉ）の間で共有する。代表的なものとしては、ＢＢ８４プロトコル（非特許文献１参照）、誤り検出・訂正、秘匿増強を行って鍵を生成・共有する。一例としてリモートノードＲＮ（１）との間で共有される量子鍵Ｑ１の乱数列を生成する場合を説明する。
【００６６】
まず、リモートノードＲＮ（１）の量子チャネルユニット２０１とセンタノードＣＮの量子チャネルユニット１０２は量子チャネルを介して単一光子伝送を行なう。センタノードＣＮの量子チャネルユニット１０２では光子検出を行い、この結果を制御部１０５へ出力する。両ノードの制御部１０５、２０３は、古典チャネルを介して基底照合、誤り訂正および秘匿増強の処理を光子検出の結果に基づいて行なう。センタノードＣＮでは、このようにして共有した共有乱数列Ｑ１をリモートノードＲＮ（１）と対応付けて量子鍵メモリ１０６に格納する。その他のリモートノードＲＮ（２）〜ＲＮ（ｎ−１）の共有乱数列Ｑ２〜Ｑn-1についても同様のプロセスにより順次生成される。
【００６７】
リモートノードＲＮ（１）の量子チャネルユニット２０１とセンタノードＣＮの量子チャネルユニット１０２とは、Ａｌｉｃｅ（微弱光信号の送信器）、Ｂｏｂ（微弱信号の受信器）のどちらでもよい。しかし、Ｂｏｂは光子検出器を含むため、消費電力および監視制御の観点からＢｏｂがセンタノードＣＮに配置されることが望ましい。
【００６８】
次に、一例として、量子ユニットにＰｌｕｇ＆Ｐｌａｙ方式を用いて量子鍵配送を行うＱＫＤシステムに本実施例を適用した場合ついて詳細に説明する。
【００６９】
図５は本実施例を適用したＰｌｕｇ＆Ｐｌａｙ方式ＱＫＤシステムの一例を示すブロック図である。ここでは、センタノードＣＮと任意のリモートノードＲＮ−ｘとが光ファイバ伝送路で接続されているものとし、Ａｌｉｃｅ側（リモートノード側）の量子ユニット２０１の一例と、Ｂｏｂ側（センタノード側）の量子ユニット１０２の一例とを示す。この例における量子ユニット系は、交互シフト位相変調型Ｐｌｕｇ＆Ｐｌａｙ方式である(非特許文献２および４を参照)。
【００７０】
この例において、送信側量子ユニット２０１は、偏光ビ−ムスプリッタ（ＰＢＳ）２１、位相変調部２２および駆動部２３を有し、光ファイバ伝送路に接続されている。位相変調器２２および偏光ビームスプッタ（ＰＢＳ）２１はＰＢＳループを構成する。ＰＢＳループはファラデーミラーと同様の機能を有し、入射光の偏光状態が９０度回転して送出される（非特許文献４を参照）。
【００７１】
位相変調器２２は、古典チャネルユニットから供給されるクロック信号に従って通過する光パルス列に対して位相変調を行うように、駆動部２３により駆動される。位相変調の深さは、ここでは制御部２０３から供給される２つの乱数ＲＮＤ１およびＲＮＤ２の４通りの組み合わせにそれぞれ対応する４通りの深さ（０、π／２、π、３π／２）となり、光パルスが位相変調器２２を通過するタイミングで位相変調が行われる。
【００７２】
受信側量子ユニット１０２は、偏光ビ−ムスプリッタ（ＰＢＳ）１１、位相変調部１２、駆動部１３、光カプラ１４、光サーキュレータ１５、光子検出器１７、およびパルス光源１６を有し、光ファイバ伝送路に接続されている。古典チャネルユニットから供給されるクロック信号に従ってパルス光源１６により生成された光パルスＰは、光サーキュレータ１５により光カプラ１４へ導かれ、光カプラ１４により２分割される。分割された一方の光パルスＰ１は短いパス(Short Path)を通ってＰＢＳ１１へ送られる。分割された他方の光パルスＰ２は長いパス(Long Path)に設けられた位相変調器１２を通してＰＢＳ１１へ送られる。これら光パルスＰ１およびＰ２はＰＢＳ１１で合波され、ダブルパルスとして光ファイバ伝送路を通して送信側の量子ユニット２０１へ送信される。
【００７３】
送信側量子ユニット２０１において、光ファイバ伝送路を通して到来したダブルパルスＰ１およびＰ２は、ＰＢＳ２１でさらに分離され、時計回りのダブルパルスＰ１CWおよびＰ２CWと反時計回りのダブルパルスＰ１CCWおよびＰ２CCWの４つのパルス、すなわちカルテットパルスとなって位相変調器２２をそれぞれ反対方向で通過し、それぞれ出射したポートとは反対のＰＢＳポートへ入射する。
【００７４】
位相変調器２２は時計回りのダブルパルスの後方のパルスＰ２CWを前方のパルスＰ１CWに対して位相変調するとともに、反時計回りのダブルパルスと時計回りのダブルパルスとの間にπの位相差を与える。このように、必要に応じて位相変調されたカルテットパルスはＰＢＳ２１で合波され再びダブルパルスに戻る。上述したように後方のパルスのみが伝送情報により位相変調されたので、出射ダブルパルスをＰ１およびＰ２*aと記す。このときＰＢＳループ入射時に対して出射時は偏波が９０°回転しているので、結果的にファラデーミラーと同等の効果が得られる。
【００７５】
受信側の量子ユニット１０２のＰＢＳ１１は、量子ユニット２０１から受信した光パルスＰ１およびＰ２*aの偏光状態が９０度回転していることから、これら受信パルスをそれぞれ送信時とは異なるパスへ導く。すなわち受信した光パルスＰ１は長いパスを通り、駆動部１３によって駆動される位相変調器１２において、乱数ＲＮＤ３に従った位相変調が施され、位相変調された光パルスＰ１*bが光カプラ１４に到達する。他方、光パルスＰ２*aは送信時とは異なる短いパスを通って同じく光カプラ１４に到達する。
【００７６】
こうして量子ユニット２０１で位相変調された光パルスＰ２*aと量子ユニット１０２で位相変調された光パルスＰ１*bとが干渉し、その結果が光子検出器１７により検出される。光子検出器１７は、古典チャネルユニットから供給されるクロック信号に従ってガイガーモードで駆動され、光子の高感度受信が可能となる。このような量子ユニット２０１と量子ユニット１０２によって光子伝送が行われる。
【００７７】
本実施例によれば、リモートノードＲＮ−ｘの制御部２０３とセンタノードＣＮの制御部１０５は古典チャネルを通して同期し、送信側量子ユニット２０１から受信側量子ユニット１０２へ原情報をフレーム単位で送信し、受信側量子ユニット１０２が受信できた情報に基づいて、両ノード間の共有乱数を所定サイズのファイル単位で順次生成する。こうしてファイル単位で一致した乱数列は、さらに古典チャネルを通して対応付けられ、リモートノードＲＮ−ｘでは鍵メモリ２０４の量子鍵プールメモリに、センタノードＣＮでは量子鍵メモリ１０６に、それぞれ蓄積される。
【００７８】
さらに、センタノードＣＮでは、乱数生成器１０７により生成された乱数を仮想リモートノードＲＮ（ｎ）とのファイル化された共有乱数として、量子鍵メモリ１０６の量子鍵プールＱＫＰＣＮｎおよび仮想リモートノードＲＮ（ｎ）の量子鍵プールＱＫＰｎにそれぞれ格納する。
【００７９】
図５に示すように、送信器および受信器が独立に暗号鍵を生成するシステムにおいては、送信器および受信器がほぼ同時に生成する鍵は同じ乱数列であることが保証されるが、こうして生成された暗号鍵に上述した対応付けによる共有処理を行なうことによって、送信器および受信器間での暗号鍵の共有を実現することができる。
【００８０】
２．３）鍵管理
次に、Ｏｎｅ−Ｔｉｍｅ−Ｐａｄ鍵配送を行ってセンタノード−リモートノード間およびリモートノード間で論理安全鍵を共有する際の鍵管理手法について説明する。
【００８１】
まず、ｎ個のリモートノードのうち暗号化データの送信元のノードは鍵管理サーバ３０に対して送信先の論理安全鍵を要求する。共有した論理安全鍵は、送信元では暗号化鍵として、送信先では復号化鍵としてそれぞれの個別通信鍵プールに格納される。以下、リモートノード数ｎ＝３とし、ＲＮ（１）およびＲＮ（２）を実際のリモートノード、ＲＮ（３）をセンタノードＣＮ内の仮想リモートノードとした場合の論理安全鍵の共有手順について図６〜図８を参照しながら具体的に説明する。
【００８２】
図６はリモートノードＲＮ（１）がリモートノードＲＮ（２）および仮想リモートノードＲＮ（３）へ暗号化データを送信するための論理安全鍵を共有する手順を説明するための模式図である。リモートノードＲＮ（１）がリモートノードＲＮ（２）に対する暗号化鍵を鍵管理サーバ３０に要求すると、鍵管理サーバ３０はセンタノードＣＮに指示し、リモートノードＲＮ（２）の暗号化鍵をリモートノードＲＮ（１）へ配送させる。すなわち、センタノードＣＮの制御部１０５は、量子鍵Ｑ２の鍵ファイルＫ２＿１．ｅｎｃを量子鍵Ｑ１の鍵ファイルＫ１＿１．ｅｎｃでＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号化してリモートノードＲＮ（１）へ送付する。リモートノードＲＮ（１）の制御部２０３は、自身の量子鍵Ｑ１の鍵ファイルＫ１＿１．ｄｅｃを用いて鍵ファイルＫ２＿１．ｅｎｃを復号し、個別通信鍵プールＫ１−２に格納する。また、リモートノードＲＮ（２）の制御部２０３は自身の量子鍵Ｑ２のＫ２＿１．ｄｅｃを個別通信鍵プールＫ２−１へ復号化鍵として移動する。こうして、センタノードＣＮからリモートノードＲＮ（１）へ鍵ファイルＫ２＿１．ｅｎｃ（暗号化鍵）が配送され、量子鍵Ｑ１から鍵ファイルＫ１＿１．ｅｎｃとＫ１＿１．ｄｅｃとが消費される。
【００８３】
同様にして、リモートノードＲＮ（１）が仮想リモートノードＲＮ（３）に対する暗号化鍵を鍵管理サーバ３０に要求すると、鍵管理サーバ３０はセンタノードＣＮに指示し、仮想リモートノードＲＮ（３）の暗号化鍵をリモートノードＲＮ（１）へ配送させる。すなわち、センタノードＣＮの制御部１０５は、量子鍵Ｑ３の鍵ファイルＲ３＿１．ｅｎｃを量子鍵Ｑ１の鍵ファイルＫ１＿２．ｅｎｃでＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号化してリモートノードＲＮ（１）へ送付する。リモートノードＲＮ（１）の制御部２０３は、自身の量子鍵Ｑ１の鍵ファイルＫ１＿２．ｄｅｃを用いて鍵ファイルＲ３＿１．ｅｎｃを復号し、個別通信鍵プールＫ１−３に格納する。また、制御部１０５は、仮想リモートノードＲＮ（３）の量子鍵Ｑ３の鍵ファイルＲ３＿１．ｄｅｃを個別通信鍵プールＫ３−１へ復号化鍵として移動する。こうして、センタノードＣＮからリモートノードＲＮ（１）へ鍵ファイルＲ３＿１．ｅｎｃ（暗号化鍵）が配送され、量子鍵Ｑ１から鍵ファイルＫ１＿２．ｅｎｃとＫ１＿２．ｄｅｃとが消費される。
【００８４】
図７はリモートノードＲＮ（２）がリモートノードＲＮ（１）および仮想リモートノードＲＮ（３）へ暗号化データを送信するための論理安全鍵を共有する手順を説明するための模式図である。リモートノードＲＮ（２）がリモートノードＲＮ（１）に対する暗号化鍵を鍵管理サーバ３０に要求すると、鍵管理サーバ３０はセンタノードＣＮに指示し、リモートノードＲＮ（１）の暗号化鍵をリモートノードＲＮ（２）へ配送させる。すなわち、センタノードＣＮの制御部１０５は、量子鍵Ｑ１の鍵ファイルＫ１＿３．ｅｎｃを量子鍵Ｑ２の鍵ファイルＫ２＿２．ｅｎｃでＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号化してリモートノードＲＮ（２）へ送付する。リモートノードＲＮ（２）の制御部２０３は、自身の量子鍵Ｑ２の鍵ファイルＫ２＿２．ｄｅｃを用いて鍵ファイルＫ１＿３．ｅｎｃを復号し、個別通信鍵プールＫ２−１に格納する。また、リモートノードＲＮ（１）の制御部２０３は自身の量子鍵Ｑ１の鍵ファイルＫ１＿３．ｄｅｃを個別通信鍵プールＫ１−２へ復号化鍵として移動する。こうして、センタノードＣＮからリモートノードＲＮ（２）へ鍵ファイルＫ１＿３．ｅｎｃ（暗号化鍵）が配送され、量子鍵Ｑ２から鍵ファイルＫ２＿２．ｅｎｃとＫ２＿２．ｄｅｃとが消費される。
【００８５】
同様にして、リモートノードＲＮ（２）が仮想リモートノードＲＮ（３）に対する暗号化鍵を鍵管理サーバ３０に要求すると、鍵管理サーバ３０はセンタノードＣＮに指示し、仮想リモートノードＲＮ（３）の暗号化鍵をリモートノードＲＮ（２）へ配送させる。すなわち、センタノードＣＮの制御部１０５は、量子鍵Ｑ３のＲ３＿２．ｅｎｃを量子鍵Ｑ２のＫ２＿３．ｅｎｃでＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号化してリモートノードＲＮ（２）へ送付する。リモートノードＲＮ（２）の制御部２０３は、量子鍵Ｑ２の鍵ファイルＫ２＿３．ｄｅｃを用いて鍵ファイルＲ３＿２．ｅｎｃを復号し、個別通信鍵プールＫ２−３に格納する。また、制御部１０５は、仮想リモートノードＲＮ（３）の量子鍵Ｑ３の鍵ファイルＲ３＿２．ｄｅｃを個別通信鍵プールＫ３−２へ復号化鍵として移動する。こうして、センタノードＣＮからリモートノードＲＮ（２）へ鍵ファイルＲ３＿２．ｅｎｃ（暗号化鍵）が配送され、量子鍵Ｑ２から鍵ファイルＫ２＿３．ｅｎｃとＫ２＿３．ｄｅｃとが消費される。
【００８６】
図８は仮想リモートノードＲＮ（３）がリモートノードＲＮ（１）およびＲＮ（２）へ暗号化データを送信するための論理安全鍵を共有する手順を説明するための模式図である。仮想リモートノードＲＮ（３）からリモートノードＲＮ（１）への暗号化鍵要求を受けると、鍵管理サーバ３０はセンタノードＣＮに指示し、リモートノードＲＮ（１）の暗号化鍵を仮想リモートノードＲＮ（３）へ転送させる。すなわち、センタノードＣＮの制御部１０５は、量子鍵Ｑ１の鍵ファイルＫ１＿４．ｅｎｃを量子鍵Ｑ３の鍵ファイルＲ３＿３．ｅｎｃでＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号化してセンタノードＣＮの仮想リモートノードＲＮ（３）へ送付する。制御部１０５は鍵ファイルＫ１＿４．ｅｎｃを個別通信鍵プールＫ３−１に格納する。また、リモートノードＲＮ（１）の制御部２０３は自身の量子鍵Ｑ１の鍵ファイルＫ１＿４．ｄｅｃを個別通信鍵プールＫ１−３へ復号化鍵として移動する。こうして、センタノードＣＮから仮想リモートノードＲＮ（３）へ鍵ファイルＫ１＿４．ｅｎｃ（暗号化鍵）が転送される。
【００８７】
同様にして、仮想リモートノードＲＮ（３）からリモートノードＲＮ（２）への暗号化鍵要求を受けると、鍵管理サーバ３０はセンタノードＣＮに指示し、リモートノードＲＮ（２）の暗号化鍵を仮想リモートノードＲＮ（３）へ転送させる。すなわち、センタノードＣＮの制御部１０５は、量子鍵Ｑ２の鍵ファイルＫ２＿４．ｅｎｃを量子鍵Ｑ３の鍵ファイルＲ３＿４．ｅｎｃでＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号化してセンタノードＣＮの仮想リモートノードＲＮ（３）へ送付する。制御部１０５は鍵ファイルＫ２＿４．ｅｎｃを個別通信鍵プールＫ３−２に格納する。また、リモートノードＲＮ（２）の制御部２０３は自身の量子鍵Ｑ２の鍵ファイルＫ２＿４．ｄｅｃを個別通信鍵プールＫ２−３へ復号化鍵として移動する。こうして、センタノードＣＮから仮想リモートノードＲＮ（３）へ鍵ファイルＫ２＿４．ｅｎｃ（暗号化鍵）が転送される。
なお、センタノードＣＮの制御部１０５がセンタノード内の量子鍵Ｑの鍵ファイルを仮想リモートノードＲＮ（３）へ送付する場合、センタノード内での転送であるからＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号化は不要である。ただし、仮想リモートノードＲＮ（３）を他のリモートノードＲＮ（１）およびＲＮ（２）と同様に取り扱うことで、リモートノードの種別で転送手順を切り換える必要がなくなり制御を簡略化することができるという利点がある。
【００８８】
２．４）暗号化通信
以上の論理安全鍵の共有プロセスにより、たとえば図８に示すように各リモートノードの個別通信鍵プールに論理安全鍵が格納されたものとすれば、リモートノード間およびセンタノード−リモートノード間のＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号通信は次のように実行される。
【００８９】
リモートノードＲＮ（１）からＲＮ（２）へのＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号通信を行う場合、リモートノードＲＮ（１）は個別通信鍵プールＫ１−２のｅｎｃファイルで暗号化し、リモートノードＲＮ（２）は個別通信鍵プールＫ２−１のｄｅｃファイルで復号化すればよい。逆にリモートノードＲＮ（２）が暗号化する場合は、個別通信鍵プールＫ２−１のｅｎｃファイルで暗号化し、リモートノードＲＮ（１）は個別通信鍵プールＫ１−２のｄｅｃファイルで復号化すればよい。
【００９０】
また、リモートノードＲＮ（１）からセンタノードＣＮへのＯｎｅ−Ｔｉｍｅ−Ｐａｄ暗号通信を行う場合には、リモートノードＲＮ（１）は個別通信鍵プールＫ１−３のｅｎｃファイルで暗号化し、センタノードＣＮ（すなわち仮想リモートノードＲＮ（３））は個別通信鍵プールＫ３−１のｄｅｃファイルで復号化すればよい。逆にセンタノードＣＮが暗号化する場合は、個別通信鍵プールＫ３−１のｅｎｃファイルで暗号化し、リモートノードＲＮ（１）は個別通信鍵プールＫ１−３のｄｅｃファイルで復号化すればよい。
【００９１】
２．５）効果
このように、本実施例によれば、センタノード内に仮想的なリモートノードを設けて、センタノード−リモートノード間の通信を仮想リモートノード−リモートノード間の通信として扱うことができる。これにより通信用の鍵管理が単純になり、また、量子鍵もすべて論理安全鍵共有用として扱うことができるため、量子鍵の管理も単純になる。
【００９２】
さらに、センタノードは、各リモートノードに割り当てられるＱＫＤ鍵生成のための時分割領域を、量子鍵プールの鍵蓄積量に応じて割り当てることが可能になり、量子鍵プールをモニタするだけで鍵量をノード毎に均一化することができる。また、Ｏｎｅ−Ｔｉｍｅ−Ｐａｄ暗号通信における暗号化鍵および復号化鍵の管理を簡略化し、リモートノード間で通信量非対称な場合でも、暗号化鍵および復号化鍵を消費に応じてそれぞれ独立に鍵を生成して共有することが可能となる。また、量子鍵配送ネットワーク内にリモートノードが参加または離脱した場合も、安全鍵プール内の個別通信鍵プールの増減のみで対応可能であり、ネットワークの変更も簡単に行うことが可能となる。
【００９３】
３．変形例
図９は、本実施形態の変形例による共有乱数管理システムを適用した秘匿通信ネットワークの物理的な構成を概略的に示すネットワーク図である。なお、図１に示すネットワークと同一の構成要素には同一の参照番号あるいは参照符号を付して説明は省略する。
【００９４】
図９に示すように、センタノード群１０は、センタノードＣＮ−１〜ＣＮ−ｍが鍵管理サーバ３０により相互に閉じた通信経路（図中の二重実線）により安全に接続されているものとする。この場合、センタノード群１０内に１個の仮想リモートノードＲＮ（ｎ）を配置しておけばよい。センタノードＣＮ−１〜ＣＮ−ｍからなるセンタノード群１０を１つのセンタノードとして機能させることができるからである。
【００９５】
図１０は、本実施形態の他の変形例による共有乱数管理システムを適用した秘匿通信ネットワークの物理的な構成を概略的に示すネットワーク図である。なお、図１に示すネットワークと同一の構成要素には同一の参照番号あるいは参照符号を付して説明は省略する。
【００９６】
図１０に示すように、鍵管理サーバ３０はセンタノード群１０内あるいは１つのセンタノード内に組み込まれてもよい。この場合、センタノードＣＮ−１〜ＣＮ−Ｍの間が閉じた通信経路により安全に接続されることで、相互通信によりセンタノード群１０に鍵管理サーバ３０と同様の機能を組み込むことが可能となる。
【００９７】
なお、上述した実施形態および実施例において、量子暗号鍵配付技術は、Ｐｌｕｇ＆Ｐｌａｙ方式、単一方向型、差動位相シフト型でも構わない。量子暗号鍵配布プロトコルは、ＢＢ８４プロトコルに限らず、Ｂ９２でもＥ９１でもよく、本発明をこれらに限定されるものではない。
【産業上の利用可能性】
【００９８】
本発明は、量子暗号鍵配付ＱＫＤに代表される共通暗号鍵配送技術を用いた１対多および多対多の秘匿情報通信に利用可能である。
【符号の説明】
【００９９】
１０  センタノード群
２０  リモートノード
ＲＮ（１）〜ＲＮ（ｎ−１）  リモートノード
ＲＮ（ｎ）  仮想リモートノード
３０  鍵管理サーバ
１０１  スイッチ部
１０２  量子チャネルユニット
１０３  スイッチ部
１０４  古典チャネルユニット
１０５  制御部
１０６  量子鍵メモリ
１０７  乱数生成器
１０８  仮想リモートノード用メモリ
２０１  量子チャネルユニット
２０２  古典チャネルユニット
２０３  制御部
２０４  量子鍵メモリ
【図１】
2010067551.tif 000003
【図２】
2010067551.tif 000004
【図３】
2010067551.tif 000005
【図４】
2010067551.tif 000006
【図５】
2010067551.tif 000007
【図６】
2010067551.tif 000008
【図７】
2010067551.tif 000009
【図８】
2010067551.tif 000010
【図９】
2010067551.tif 000011
【図１０】
2010067551.tif 000012
【国際調査報告】
2010067551.tif 000013
2010067551.tif 000014
2010067551.tif 000015
2010067551.tif 000016
2010067551.tif 000017