(57)【要約】【課題】量子暗号技術による暗号データ通信に対する効果的な通信の隠蔽機能を実現することができる通信装置、暗号通信システム、暗号通信方法およびプログラムを提供する。【解決手段】実施形態の通信装置は、他の通信装置と、量子鍵配送により暗号鍵を共有する通信装置であって、通信手段と、暗号化手段と、第１確認手段と、通信制御手段と、を備える。通信手段は、データの通信を行う。暗号化手段は、データを暗号鍵により暗号化する。第１確認手段は、暗号鍵の蓄積量を確認する。通信制御手段は、通信手段を介して、暗号化手段で暗号化された正規のデータを送信すると共に、第１確認手段の確認結果に基づいて、正規のデータとは異なるダミーデータの送信を制御する。【選択図】図３
2017139728.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置と、量子鍵配送により共有する暗号鍵を用いて通信する通信装置であって、
前記他の通信装置と、データの通信を行う通信手段と、
前記データを前記暗号鍵により暗号化する暗号化手段と、
前記暗号鍵の蓄積量を確認する第１確認手段と、
前記通信手段を介して、前記暗号化手段で暗号化された正規のデータを送信すると共に、前記第１確認手段の確認結果に基づいて、正規のデータとは異なるダミーデータの送信を制御する通信制御手段と、
を備えた通信装置。
【請求項２】
前記通信制御手段は、前記ダミーデータの送信量、前記ダミーデータのデータサイズ、および、前記ダミーデータの送信タイミングの少なくともいずれか１つを制御する、
請求項１に記載の通信装置。
【請求項３】
データが前記ダミーデータであるか否かを識別する識別情報を含むヘッダを、前記正規のデータおよび前記ダミーデータに付加するデータ処理手段と、
前記通信手段により受信された暗号化されたデータを、前記暗号鍵により復号化する復号化手段と、
を、さらに備え、
前記暗号化手段は、前記正規のデータおよび該正規のデータに付加された前記ヘッダの全体を暗号化し、前記ダミーデータおよび該ダミーデータに付加された前記ヘッダのうち少なくとも該ヘッダを暗号化し、
前記復号化手段は、暗号化されたデータのうち、少なくとも前記ヘッダに相当する部分を復号化して、該ヘッダがダミーデータであることを示す場合、該ヘッダが付加されたデータをダミーデータであるものとして破棄する請求項１に記載の通信装置。
【請求項４】
前記ダミーデータを乱数列として生成する生成手段をさらに備え
前記暗号化手段は、前記ダミーデータ、および該ダミーデータに付加された前記ヘッダのうち該ヘッダを暗号化する請求項３に記載の通信装置。
【請求項５】
前記データ処理手段は、前記ダミーデータに付加する前記ヘッダにおいて、前記識別情報として、ダミーデータであることを示す特定のプロトコル番号または特定のポート番号を、フレームフォーマットにおけるプロトコル番号またはポート番号に設定する請求項３または４に記載の通信装置。
【請求項６】
送信されるデータが前記正規のデータから前記ダミーデータに切り替わる際に、または、前記ダミーデータから前記正規のデータに切り替わる際に、切り替わることを示す制御データを挿入し、かつ、前記制御データと同じビット列が出現しないように前記正規のデータおよび前記ダミーデータのうち少なくとも前記正規のデータをエンコードするデータ処理手段と、
前記通信手段により受信された暗号化されたデータを、前記暗号鍵により復号化する復号化手段と、
を、さらに備え、
前記暗号化手段は、前記制御データ、ならびに、前記正規のデータおよび前記ダミーデータのうち少なくとも前記正規のデータがエンコードされたデータを暗号化し、
前記データ処理手段は、
前記復号化手段により復号化されたデータが前記制御データである場合、前記正規のデータとして受信する動作モード、および前記ダミーデータとして受信する動作モードのうち、現在の動作モードと異なる動作モードに切り替え、
前記復号化手段により復号化されたデータが前記制御データではなく、かつ、現在の動作モードが前記正規のデータとして受信する動作モードである場合、前記復号化手段により復号化されたデータをデコードし、
前記復号化手段により復号化されたデータが前記制御データではなく、かつ、現在の動作モードが前記ダミーデータとして受信する動作モードである場合、前記復号化手段により復号化されたデータを破棄する請求項１に記載の通信装置。
【請求項７】
前記制御データと同じビット列が出現しないように前記ダミーデータを生成する生成手段をさらに備え、
前記データ処理手段は、前記正規のデータまたは前記ダミーデータのうち前記正規のデータをエンコードし、
前記暗号化手段は、前記制御データ、前記ダミーデータ、および、エンコードされた前記正規のデータを暗号化する請求項６に記載の通信装置。
【請求項８】
前記ダミーデータを乱数列として生成する生成手段をさらに備え、
前記データ処理手段は、前記正規のデータおよび前記ダミーデータをエンコードし、
前記暗号化手段は、エンコードされた前記正規のデータおよびエンコードされた前記ダミーデータのうちのエンコードされた前記正規のデータ、ならびに、前記制御データを暗号化する請求項６に記載の通信装置。
【請求項９】
前記通信制御手段は、前記第１確認手段によって前記暗号鍵が生成されたことが検出された場合、かつ、前記通信手段により送信する前記正規のデータおよび受信したデータがない場合、前記通信手段を介して前記ダミーデータを送信する請求項１に記載の通信装置。
【請求項１０】
前記通信制御手段は、
前記第１確認手段により確認される、前記暗号鍵の蓄積量の増加に従って、または、前記暗号鍵の生成量の増加に従って、前記ダミーデータの送信量を増加させ、
前記第１確認手段により確認される、前記暗号鍵の蓄積量の減少に従って、または、前記暗号鍵の生成量の減少に従って、前記ダミーデータの送信量を減少させる請求項１に記載の通信装置。
【請求項１１】
前記通信手段を介した前記正規のデータの通信量を確認する第２確認手段をさらに備え、
前記通信制御手段は、
前記第２確認手段により確認される前記通信手段を介した前記正規のデータの通信量の増加に従って、前記ダミーデータの送信量を減少させ、
前記第２確認手段により確認される前記通信手段を介した前記正規のデータの通信量の減少に従って、前記ダミーデータの送信量を増加させる請求項１に記載の通信装置。
【請求項１２】
前記通信制御手段は、所定の通信隠蔽率に維持されるように、前記暗号鍵の生成速度に応じた通信量で前記ダミーデータを送信する請求項１に記載の通信装置。
【請求項１３】
前記通信制御手段は、前記通信隠蔽率をＲとし、前記暗号鍵の生成速度をＴとした場合、（Ｔ−Ｔ／Ｒ）で算出される通信量で前記ダミーデータを送信する請求項１２に記載の通信装置。
【請求項１４】
前記通信制御手段は、１回に送信される前記正規のデータのサイズ、および、前記ダミーデータの通信量に基づいて決定される周期において、該周期の各時刻からランダムな時間だけ前後に変化させたタイミングで前記ダミーデータを送信する請求項１に記載の通信装置。
【請求項１５】
複数の通信装置が、量子鍵配送により共有する暗号鍵を用いて通信する暗号通信システムであって、
前記複数の通信装置のうち少なくともいずれか１つの通信装置は、
他の通信装置と、データの通信を行う通信手段と、
前記データを前記暗号鍵により暗号化する暗号化手段と、
前記暗号鍵の蓄積量を確認する第１確認手段と、
前記通信手段を介して、前記暗号化手段で暗号化された正規のデータを送信すると共に、前記第１確認手段の確認結果に基づいて、正規のデータとは異なるダミーデータの送信を制御する通信制御手段と、
を備えた暗号通信システム。
【請求項１６】
他の通信装置と、量子鍵配送により共有する暗号鍵を用いて通信する通信装置の暗号通信方法であって、
データを前記暗号鍵により暗号化する暗号化ステップと、
前記暗号鍵の蓄積量を確認する第１確認ステップと、
通信手段を介して、暗号化された正規のデータを送信すると共に、前記第１確認ステップの確認結果に基づいて、正規のデータとは異なるダミーデータの送信を制御する送信ステップと、
を有する暗号通信方法。
【請求項１７】
他の通信装置と、量子鍵配送により共有する暗号鍵を用いて通信するコンピュータを、
データを前記暗号鍵により暗号化する暗号化手段と、
前記暗号鍵の蓄積量を確認する第１確認手段と、
通信手段を介して、前記暗号化手段で暗号化された正規のデータを送信すると共に、前記第１確認手段の確認結果に基づいて、正規のデータとは異なるダミーデータの送信を制御する通信制御手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、暗号通信システム、暗号通信方法およびプログラムに関する。
【背景技術】
【０００２】
量子鍵配送システムは、送信ノードと、受信ノードと、それを接続する光ファイバリンクとを含んで構成される。送信ノードは、光ファイバの通信路である光ファイバリンク（量子通信路）を介して、単一光子を連続的に受信ノードに送信する。その後、送信ノードと受信ノードとが相互に制御情報を交換することによって、送信ノードと受信ノードとの間で安全に暗号鍵を共有する。この技術は、一般に量子鍵配送（ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）と呼ばれる技術により実現される。
【０００３】
また、量子鍵配送では、暗号鍵を共有するために利用される光子は、観測されることで物理的な状態が変化するという量子力学の基本原理の一つである不確定性原理を有する。この原理により、送信ノードが送信した暗号鍵の情報を含む光子を量子通信路上で盗聴者が観測すると、光子の物理的な状態が変化し、光子を受け取った受信ノードは、盗聴者に光子を観測されたことを検出することができる。この結果、送信ノードで得られた光子列、および受信ノードで検出された光子列を基にして、送信ノードと受信ノードとの相互間で制御情報を交換することにより、最終的に安全な暗号鍵が得られる。
【０００４】
２つのノード（例えば、上述の送信ノードおよび受信ノード）に接続された、またはそれぞれのノードが含む各アプリケーションは、２つのノードで共有された上述の暗号鍵を使用して暗号化および復号化を行い、ワンタイムパッドと呼ばれる暗号通信方式を利用して暗号データ通信を行う。ワンタイムパッドとは、データ１バイトを暗号鍵１バイトで暗号化して送信し、受信時には同じ１バイトの暗号鍵を利用して復号化し、一度利用した暗号鍵は破棄する暗号通信方式である。このワンタイムパッドによる暗号データ通信では、盗聴者によっても解読できないことが情報理論により保証されている。また、Ｕｎｉｖｅｒｓａｌクラスのハッシュ関数を用いることによって、データ認証機能も提供することが可能である。このように、量子鍵配送により共有された暗号鍵を用いて暗号データ通信を行う技術を量子暗号技術という。
【０００５】
ここで、一般の暗号データ通信を行う装置間において、実際のデータの通信だけではなく、ダミーデータの通信を行うことによって、通信内容だけではなく、通信データ量を隠蔽する（わかりにくくする）技術が提案されている。
【０００６】
しかしながら、上述の技術では、ダミーデータを送信するタイミングの決定方法、データ受信側においてダミーデータと実際のデータとを識別する方法、および量子暗号通信システムへの適用方法については明らかにされていない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２６０５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記に鑑みてなされたものであって、量子暗号技術による暗号データ通信に対する効果的な通信の隠蔽機能を実現することができる通信装置、暗号通信システム、暗号通信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態の通信装置は、他の通信装置と、量子鍵配送により暗号鍵を共有する通信装置であって、通信手段と、暗号化手段と、第１確認手段と、通信制御手段と、を備える。通信手段は、データの通信を行う。暗号化手段は、データを暗号鍵により暗号化する。第１確認手段は、暗号鍵の蓄積量を確認する。通信制御手段は、通信手段を介して、暗号化手段で暗号化された正規のデータを送信すると共に、第１確認手段の確認結果に基づいて、正規のデータとは異なるダミーデータの送信を制御する。
【図面の簡単な説明】
【００１０】
【図１】図１は、量子暗号通信システムの全体構成の一例を示す図である。
【図２】図２は、ノードのハードウェア構成の一例を示す図である。
【図３】図３は、ノードの機能ブロックの構成の一例を示す図である。
【図４】図４は、実際のデータを通信する動作を説明する図である。
【図５】図５は、ダミーデータを通信する動作を説明する図である。
【図６】図６は、ダミーデータを通信する動作を説明する図である。
【図７】図７は、ダミーデータの通信量を決定するために用いるテーブルである。
【図８】図８は、第１の実施形態における通信するフレームの構成を示す図である。
【図９】図９は、第１の実施形態の暗号データ通信の動作を示すシーケンス図である。
【図１０】図１０は、第２の実施形態のエンコード方式について説明する図である。
【図１１】図１１は、第２の実施形態の量子暗号通信の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照しながら、本発明の実施形態に係る通信装置、暗号通信システム、暗号通信方法およびプログラムを詳細に説明する。ただし、図面は模式的なものであるため、具体的な構成は以下の説明を参酌して判断すべきものである。
【００１２】
（第１の実施形態）
図１は、量子暗号通信システムの全体構成の一例を示す図である。図１を参照しながら、量子暗号通信システム１００の構成について説明する。
【００１３】
図１に示すように、量子暗号通信システム１００（暗号通信システム）は、ノード１（通信装置）と、ノード２（通信装置）と、光ファイバリンク３と、通信ケーブル４と、を含んで構成されている。
【００１４】
ノード１は、レーザ等により発生した、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク３を介して、ノード２へ送信する送信機である。ノード１は、送信した光子列を基に、後述する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）等を実行して、暗号鍵を生成する。また、鍵蒸留処理の際、ノード１は、ノード２との間で、通信ケーブル４を介して制御データ（単一光子ではなく一般のデジタルデータであり、以下、「鍵蒸留処理データ」と称する場合がある）の交換を行う。ここで、鍵蒸留処理データの他、後述するようにアプリケーション（後述の図３に示すアプリケーション部１０７、２０７）が通信するデータ（以下、「実際のデータ」と称する場合がある）（正規のデータ）、およびダミーデータの通信経路となる通信ケーブル４を、「古典通信路」と称する場合がある。なお、鍵蒸留処理データは、通信ケーブル４ではなく、ノード１とノード２との間の光ファイバリンク３を介して転送されてもよく、または、これ以外の通信経路（例えば、一般のインターネット回線等）を用いて転送されてもよい。
【００１５】
ノード２は、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク３を介して、ノード１から受信する受信機である。ノード２は、受信した光子列を基に、後述する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）等を実行して、ノード１が生成した暗号鍵と同一の暗号鍵を生成する。また、鍵蒸留処理の際、ノード２は、ノード１との間で、通信ケーブル４を介して制御データ（鍵蒸留処理データ）の交換を行う。
【００１６】
光ファイバリンク３は、ノード１が出力した単一光子の送信路となる量子通信路として機能する光ファイバケーブルである。通信ケーブル４は、ノード１とノード２との間で、鍵蒸留処理データの他、後述するようにアプリケーションの実際のデータ、およびダミーデータを通信するために古典通信路として機能するケーブルである。
【００１７】
このようなノード１とノード２とを含む量子暗号通信システム１００においては、ノード１が送信した光子列を光ファイバリンク３上で盗聴者が観測すると、光子の物理的状態が変化し、光子を受信したノード２は、盗聴者に光子を観測されたことを認識することができる。
【００１８】
図２は、ノードのハードウェア構成の一例を示す図である。図２を参照しながら、ノードのハードウェア構成について説明する。なお、以下では、ノード１を例にして説明をする。
【００１９】
図２に示すように、ノード１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、通信Ｉ／Ｆ３０４と、補助記憶装置３０５と、光学処理装置３０６と、を備えている。
【００２０】
ＣＰＵ３０１は、ノード１全体の動作を制御する演算装置である。ＲＯＭ３０２は、ＣＰＵ３０１が各機能を制御するために実行するＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）またはファームウェア等のプログラムを記憶する不揮発性記憶装置である。ＲＡＭ３０３は、ＣＰＵ３０１のワークメモリ等として機能する揮発性記憶装置である。
【００２１】
通信Ｉ／Ｆ３０４は、古典通信路（通信ケーブル４等）を介してデータ通信を行うためのインターフェースである。通信Ｉ／Ｆ３０４は、例えば、１０Ｂａｓｅ−Ｔ、１００Ｂａｓｅ−ＴＸもしくは１０００Ｂａｓｅ−Ｔ等のＥｔｈｅｒｎｅｔ（登録商標）に対応したインターフェースであってもよいし、光ファイバ用インターフェースであってもよい。
【００２２】
補助記憶装置３０５は、ＣＰＵ３０１で実行される各種プログラム、ならびに暗号鍵の共有動作の過程で生成したデータおよび暗号鍵等を記憶して蓄積する不揮発性記憶装置である。補助記憶装置３０５は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリまたは光ディスク等の電気的、磁気的または光学的に記憶可能な記憶装置である。
【００２３】
光学処理装置３０６は、量子通信路を介して、光子列を送信または受信する光学装置である。ノード１の光学処理装置３０６は、例えば、乱数によって発生させたビット情報であるビット列（光子ビット列）を基に、ランダムに選択した基底により生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路（図１に示す光ファイバリンク３）を介して、ノード２の光学処理装置３０６に送信する。すなわち、ノード１の光学処理装置３０６により発生された光子列の各光子は、「０」から「１」かの１ビットの情報を有する。ノード２の光学処理装置３０６は、量子通信路を介して、ノード１の光学処理装置３０６から光子列を受信し、受信した光子列を、ランダムに選択した基底により生成した基底情報に基づいて読み取ることによってビット情報である光子ビット列を得る。
【００２４】
上述のＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、通信Ｉ／Ｆ３０４、補助記憶装置３０５、および光学処理装置３０６は、アドレスバスおよびデータバス等のバス３０７によって互いに通信可能に接続されている。
【００２５】
図３は、ノードの機能ブロックの構成の一例を示す図である。図３を参照しながら、ノード１およびノード２の機能ブロックの構成について説明する。
【００２６】
図３に示すように、ノード１は、共有部１０１と、鍵蒸留部１０２と、鍵蓄積部１０３（蓄積手段）と、通信部１０４（通信手段）と、鍵監視部１０５（第１確認手段）と、通信監視部１０６（第２確認手段）と、アプリケーション部１０７と、ダミー生成部１０８（生成手段）と、データ処理部１０９（データ処理手段）と、暗号化部１１０（暗号化手段）と、通信制御部１１１（通信制御手段）と、復号化部１１２（復号化手段）と、を有する。なお、共有部１０１および鍵蒸留部１０２は、本発明の「暗号鍵共有手段」に相当する。共有部１０１および鍵蒸留部１０２をノード１以外の装置（鍵共有装置など）に備え、この装置から暗号鍵を取得するように構成してもよい。
【００２７】
共有部１０１は、例えば、乱数によって発生させたビット情報である光子ビット列を基に、ランダムに選択した基底により生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路（図１に示す光ファイバリンク３）を介して、ノード２の共有部２０１に送信する機能部である。共有部１０１は、図２に示す光学処理装置３０６によって実現される。
【００２８】
鍵蒸留部１０２は、ノード２の鍵蒸留部２０２との間で、古典通信路を介して、鍵蒸留処理データの通信を行うことによって、光子ビット列から暗号鍵を生成する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）を実行する機能部である。鍵蒸留部１０２は、鍵蒸留部２０２との鍵蒸留処理の結果、同一の暗号鍵を共有する。
【００２９】
鍵蓄積部１０３は、鍵蒸留部１０２により生成された暗号鍵を蓄積（記憶）する機能部である。鍵蓄積部１０３は、図２に示す補助記憶装置３０５によって実現される。
【００３０】
通信部１０４は、古典通信路（図１に示す通信ケーブル４）を介して、ノード２とデータを通信する機能部である。通信部１０４は、図２に示す通信Ｉ／Ｆ３０４によって実現される。
【００３１】
鍵監視部１０５は、鍵蓄積部１０３に蓄積された暗号鍵の蓄積状況を監視する機能部である。具体的には、鍵監視部１０５は、鍵蓄積部１０３での暗号鍵の蓄積量、鍵蒸留部１０２による暗号鍵の共有速度、および鍵蓄積部１０３での暗号鍵の減少量等を監視する。鍵監視部１０５は、監視結果を、ダミー生成部１０８に送る。
【００３２】
通信監視部１０６は、通信部１０４を介して古典通信路上を通信する実際のデータの通信状況を監視する機能部である。具体的には、通信監視部１０６は、これから通信される実際のデータの通信タイミングおよび頻度、ならびに、実際のデータの過去の通信タイミング、履歴および頻度等を監視する。通信監視部１０６は、監視結果を、ダミー生成部１０８に送る。
【００３３】
アプリケーション部１０７は、実際のデータの通信を行うアプリケーションであって、暗号化の対象となる実際のデータを生成する機能部である。アプリケーション部１０７は、送信するために生成した実際のデータを、データ処理部１０９に送る。
【００３４】
ダミー生成部１０８は、鍵監視部１０５により確認された暗号鍵の蓄積状況、および通信監視部１０６により確認された実際のデータの通信状況に応じて、ダミーデータを生成する機能部である。ダミー生成部１０８は、生成したダミーデータを、データ処理部１０９に送る。
【００３５】
データ処理部１０９は、アプリケーション部１０７により生成された実際のデータ、およびダミー生成部１０８により生成されたダミーデータに対して、ヘッダの付加および除去のデータ処理を行う機能部である。ヘッダの付加および除去については、図７で後述する。
【００３６】
暗号化部１１０は、鍵蓄積部１０３に蓄積された暗号鍵を利用して、実際のデータおよびダミーデータに対して暗号化を行う機能部である。暗号化部１１０による暗号化は、一般的にワンタイムパッドによって行う。具体的な暗号化の動作については、後述する。
【００３７】
通信制御部１１１は、通信部１０４のデータ通信の制御を行う機能である。特に、通信制御部１１１は、通信部１０４を介した、暗号化された実際のデータの通信制御の他、暗号化されたダミーデータを送信する場合の送信タイミング、およびダミーデータの通信（送信）量を制御する。
【００３８】
復号化部１１２は、鍵蓄積部１０３に蓄積された暗号鍵を利用して、通信部１０４を介して受信した暗号データを復号化する機能部である。ここで、暗号データとは、暗号化されたデータを示し、暗号化された実際のデータ、および暗号化されたダミーデータの双方を含む。復号化部１１２による復号化は、一般的にワンタイムパッドによって行う。具体的な復号化の動作については、後述する。
【００３９】
上述の鍵蒸留部１０２、鍵監視部１０５、通信監視部１０６、アプリケーション部１０７、ダミー生成部１０８、データ処理部１０９、暗号化部１１０、通信制御部１１１、および復号化部１１２は、図２に示すＣＰＵ３０１が補助記憶装置３０５等に記憶されたプログラムをＲＡＭ３０３に読み出して実行することによって実現される。なお、鍵蒸留部１０２、鍵監視部１０５、通信監視部１０６、アプリケーション部１０７、ダミー生成部１０８、データ処理部１０９、暗号化部１１０、通信制御部１１１、および復号化部１１２のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）またはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
【００４０】
なお、図３に示す共有部１０１、鍵蒸留部１０２、鍵蓄積部１０３、通信部１０４、鍵監視部１０５、通信監視部１０６、アプリケーション部１０７、ダミー生成部１０８、データ処理部１０９、暗号化部１１０、通信制御部１１１、および復号化部１１２は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図３に示すノード１で、独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図３に示すノード１で、１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００４１】
図３に示すように、ノード２は、共有部２０１と、鍵蒸留部２０２と、鍵蓄積部２０３（蓄積手段）と、通信部２０４（通信手段）と、鍵監視部２０５（第１確認手段）と、通信監視部２０６（第２確認手段）と、アプリケーション部２０７と、ダミー生成部２０８（生成手段）と、データ処理部２０９（データ処理手段）と、暗号化部２１０（暗号化手段）と、通信制御部２１１（通信制御手段）と、復号化部２１２（復号化手段）と、を有する。なお、共有部２０１および鍵蒸留部２０２は、本発明の「暗号鍵共有手段」に相当する。
【００４２】
共有部２０１は、量子通信路を介して、ノード１の共有部１０１から光子列を受信し、受信した光子列を、ランダムに選択した基底により生成した基底情報に基づいて読み取ることによってビット情報である光子ビット列を得る機能部である。共有部２０１は、図２に示す光学処理装置３０６によって実現される。
【００４３】
鍵蒸留部２０２は、ノード１の鍵蒸留部１０２との間で、古典通信路を介して、鍵蒸留処理データの通信を行うことによって、光子ビット列から暗号鍵を生成する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）を実行する機能部である。鍵蒸留部２０２は、鍵蒸留部１０２との鍵蒸留処理の結果、同一の暗号鍵を共有する。
【００４４】
鍵蓄積部２０３は、鍵蒸留部２０２により生成された暗号鍵を蓄積（記憶）する機能部である。鍵蓄積部２０３は、図２に示す補助記憶装置３０５によって実現される。
【００４５】
通信部２０４は、古典通信路（図１に示す通信ケーブル４）を介して、ノード１とデータを通信する機能部である。通信部２０４は、図２に示す通信Ｉ／Ｆ３０４によって実現される。
【００４６】
鍵監視部２０５は、鍵蓄積部２０３に蓄積された暗号鍵の蓄積状況を監視する機能部である。具体的には、鍵監視部２０５は、鍵蓄積部２０３での暗号鍵の蓄積量、鍵蒸留部２０２による暗号鍵の共有速度、および鍵蓄積部２０３での暗号鍵の減少量等を監視する。鍵監視部２０５は、監視結果を、ダミー生成部２０８に送る。
【００４７】
通信監視部２０６は、通信部２０４を介して古典通信路上を通信する実際のデータの通信状況を監視する機能部である。具体的には、通信監視部２０６は、これから通信される実際のデータの通信タイミングおよび頻度、ならびに、実際のデータの過去の通信タイミング、履歴および頻度等を監視する。通信監視部２０６は、監視結果を、ダミー生成部２０８に送る。
【００４８】
アプリケーション部２０７は、実際のデータの通信を行うアプリケーションであって、暗号化の対象となる実際のデータを生成する機能部である。アプリケーション部２０７は、送信するために生成した実際のデータを、データ処理部２０９に送る。
【００４９】
ダミー生成部２０８は、鍵監視部２０５により確認された暗号鍵の蓄積状況、および通信監視部２０６により確認された実際のデータの通信状況に応じて、ダミーデータを生成する機能部である。ダミー生成部２０８は、生成したダミーデータを、データ処理部２０９に送る。
【００５０】
データ処理部２０９は、アプリケーション部２０７により生成された実際のデータ、およびダミー生成部２０８により生成されたダミーデータに対して、ヘッダの付加および除去を行う機能部である。ヘッダの付加および除去については、図８で後述する。
【００５１】
暗号化部２１０は、鍵蓄積部２０３に蓄積された暗号鍵を利用して、実際のデータおよびダミーデータに対して暗号化を行う機能部である。暗号化部２１０による暗号化は、一般的にワンタイムパッドによって行う。具体的な暗号化の動作については、後述する。
【００５２】
通信制御部２１１は、通信部２０４のデータ通信の制御を行う機能である。特に、通信制御部２１１は、通信部２０４を介した、暗号化された実際のデータの通信制御の他、暗号化されたダミーデータを送信する場合の送信タイミングを制御する。
【００５３】
復号化部２１２は、鍵蓄積部２０３に蓄積された暗号鍵を利用して、通信部２０４を介して受信した暗号データを復号化する機能部である。復号化部２１２による復号化は、一般的にワンタイムパッドによって行う。具体的な復号化の動作については、後述する。
【００５４】
上述の鍵蒸留部２０２、鍵監視部２０５、通信監視部２０６、アプリケーション部２０７、ダミー生成部２０８、データ処理部２０９、暗号化部２１０、通信制御部２１１、および復号化部２１２は、図２に示すＣＰＵ３０１が補助記憶装置３０５等に記憶されたプログラムをＲＡＭ３０３に読み出して実行することによって実現される。なお、鍵蒸留部２０２、鍵監視部２０５、通信監視部２０６、アプリケーション部２０７、ダミー生成部２０８、データ処理部２０９、暗号化部２１０、通信制御部２１１、および復号化部２１２のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ＡＳＩＣ、ＦＰＧＡまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
【００５５】
なお、図３に示す共有部２０１、鍵蒸留部２０２、鍵蓄積部２０３、通信部２０４、鍵監視部２０５、通信監視部２０６、アプリケーション部２０７、ダミー生成部２０８、データ処理部２０９、暗号化部２１０、通信制御部２１１、および復号化部２１２は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図３に示すノード２で、独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図３に示すノード２で、１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００５６】
また、図３に示すノード１、２の機能ブロック構成は、暗号データを互いに通信する場合を想定した構成であるが、これに限定されるものではなく、ノード１、２のうち一方が暗号データの送信機能のみを有し、他方が暗号データの受信機能のみを有するものとしてもよい。例えば、ノード１が、暗号データの送信機能のみを有する場合、暗号データを受信することがないので、復号化部１１２を含まなくてもよい。また、ノード２が、暗号データの受信機能のみを有する場合、暗号データを送信することがない（ダミーデータを生成する必要がない）ので、鍵監視部２０５、通信監視部２０６、ダミー生成部２０８、および暗号化部２１０を含まなくてもよい。
【００５７】
図４は、実際のデータを通信する動作を説明する図である。図５および図６は、ダミーデータを通信する動作を説明する図である。図４〜図６を参照しながら、暗号データを通信する動作の概要について説明する。
【００５８】
まず、図４を参照しながら、暗号データのうち、実際のデータを暗号化したデータを、ノード１からノード２へ送信する動作の例を説明する。
【００５９】
ノード１の共有部１０１は、量子通信路を介して、光子列をノード２の共有部２０１に送信し、鍵蒸留部１０２は、ノード２の鍵蒸留部２０２との間で、古典通信路を介して、鍵蒸留処理データ（量子鍵配送用制御データ）の通信を行うことによって、光子ビット列から暗号鍵を生成する。この結果、ノード１とノード２との間で共有された暗号鍵が、鍵蓄積部１０３に蓄積される。この共有部１０１および鍵蒸留部１０２による暗号鍵の共有動作（量子鍵配送）、および鍵蓄積部１０３への暗号鍵の蓄積動作は、繰り返し実行される。なお、この暗号鍵の共有動作および蓄積動作は、後述する図５および図６のダミーデータの通信動作においても、同様である。
【００６０】
次に、アプリケーション部１０７において通信イベントが発生したものとする。通信イベントは、例えば、アプリケーション部１０７により、外部（ここでは、ノード２）へ送信すべきデータ（実際のデータ）が生成されること、および、外部からデータを受信すること等に対応する。ここでは、アプリケーション部１０７において、外部へ送信すべきデータ（実際のデータ）が生成されるという通信イベントが発生したものとする。
【００６１】
アプリケーション部１０７により生成された実際のデータは、データ処理部１０９に送られ、データ処理部１０９によってデータ処理（一例として、実際のデータを示すヘッダの付加）が行われる。データ処理部１０９によりデータ処理されたデータは、暗号化部１１０によって、鍵蓄積部１０３に蓄積された暗号鍵を利用して暗号化される。鍵蓄積部１０３により暗号化された実際のデータの暗号データは、通信制御部１１１によって、通信部１０４および古典通信路を介して、ノード２へ送信される。
【００６２】
ノード２では、通信部２０４を介して受信された暗号データは、鍵蓄積部２０３により蓄積された暗号鍵により復号化され、復号化された実際のデータが、アプリケーション部２０７へ送られる。
【００６３】
次に、図５を参照しながら、暗号データのうち、ダミーデータを暗号化したデータを、ノード１からノード２へ送信する動作の例を説明する。
【００６４】
図４の例と同様に、共有部１０１および鍵蒸留部１０２による暗号鍵の共有動作（量子鍵配送）、および鍵蓄積部１０３への暗号鍵の蓄積動作は、繰り返し実行される。
【００６５】
次に、ダミー生成部１０８は、鍵監視部１０５により確認された暗号鍵の蓄積状況に応じて、異なる制御方式でダミーデータを生成する。このダミーデータを生成する制御方式については、後述する。
【００６６】
ダミー生成部１０８により生成されたダミーデータは、データ処理部１０９に送られ、データ処理部１０９によってデータ処理（一例として、ダミーデータを示すヘッダの付加）が行われる。データ処理部１０９によりデータ処理されたデータは、暗号化部１１０によって、鍵蓄積部１０３に蓄積された暗号鍵を利用して、データ全体またはヘッダ部のみが暗号化される。鍵蓄積部１０３により暗号化されたダミーデータの暗号データは、通信制御部１１１によって、通信部１０４および古典通信路を介して、ノード２へ送信される。なお、暗号化する対象はデータ全体またはヘッダ部のみに限定されず、少なくともヘッダ部を含む部分等を対象とするものとしてもよい。
【００６７】
ノード２では、通信部２０４を介して受信された暗号データは、鍵蓄積部２０３により蓄積された暗号鍵により少なくともヘッダ部が復号化され、復号化されたヘッダ部によりデータがダミーデータだと判断されると、このダミーデータは破棄される。
【００６８】
次に、図６を参照しながら、暗号データのうち、ダミーデータを暗号化したデータを、ノード１からノード２へ送信する動作のその他の例を説明する。
【００６９】
図６の例では、ダミー生成部１０８は、鍵監視部１０５により確認された暗号鍵の蓄積状況だけでなく、通信監視部１０６により確認された実際のデータの通信状況、に応じて、異なる制御方式でダミーデータを生成する。
【００７０】
なお、図３〜６に示すように、ノード１は、光子列をノード２へ送信する光子列の送信機能を有し、ノード２は、光子列の受信機能を有するが、古典通信路を介した暗号データの通信については、ノード１およびノード２は、それぞれ送信側にも受信側にもなり得る。
【００７１】
図７は、第１の実施形態においてダミーデータの通信量を決定するために用いるテーブルである。図７を参照しながら、ダミーデータの通信量を決定する動作の一例を説明する。なお、ここでは、ノード１を例にして説明する。
【００７２】
ダミー生成部１０８は、上述のように、鍵監視部１０５により確認された暗号鍵の蓄積状況、および通信監視部１０６により確認された実際のデータの通信状況に応じて、ダミーデータを生成する。具体的には、ダミー生成部１０８は、例えば、図７に示すように、鍵蓄積部１０３に蓄積された暗号鍵の蓄積量、および、通信部１０４の実際のデータの通信（送信）回数の多寡に応じて、ダミーデータの通信量を決定する。ここで、鍵蓄積部１０３に蓄積された暗号鍵の蓄積量の多寡については、例えば、蓄積量が所定量以上である場合、蓄積量は「多い」と判断し、所定値未満である場合、蓄積量は「少ない」と判断するものとすればよい。また、通信部１０４の実際のデータの通信（送信）回数の多寡については、例えば、直近の所定時間における通信回数が所定回数以上である場合、通信回数は「多い」と判断し、所定回数未満である場合、通信回数は「少ない」と判断するものとすればよい。なお、通信監視部１０６は、実際のデータの通信回数の多寡について判断するものとしたが、実際のデータの通信データ量の多寡について判断するものとしてもよい。
【００７３】
まず、図７において、実際のデータの通信回数が多く、かつ、暗号鍵の蓄積量が少ない場合について説明する。この場合、ダミー生成部１０８は、実際のデータの通信のために暗号鍵をほとんど使いきってしまい、鍵蓄積部１０３に暗号鍵がほとんど余っていないため、ダミーデータの通信に利用できる暗号鍵はないと判断する。このため、ダミー生成部１０８は、ダミーデータを生成しないものとする。すなわち、ダミーデータの通信量を０とする。
【００７４】
次に、実際のデータの通信回数が少なく、かつ、暗号鍵の蓄積量が多い場合について説明する。なお、鍵蓄積部１０３において暗号鍵が所定サイズのファイルで管理されている場合、鍵監視部１０５は、鍵蓄積部１０３に所定数以上の暗号鍵がある場合、蓄積量が「多い」と判断するものとすればよい。この場合、ダミー生成部１０８は、鍵蓄積部１０３に蓄積された暗号鍵が使用されずに余っている状態であると判断する。したがって、ダミー生成部１０８は、ダミーデータを多数回生成し、通信制御部１１１は、通信部１０４を介して、ダミーデータの通信を多数回行うものとすればよい。また、通信制御部１１１は、通信部１０４を介して、ダミーデータを送信する場合には、実際のデータの送信を行う準備がなされていないことを確認したうえで、ダミーデータの送信を行う。なお、このように、鍵蓄積部１０３に実際のデータの通信に使用しない暗号鍵がある場合、ダミー生成部１０８は、常時、ダミーデータを生成し、通信制御部１１１は、通信部１０４を介して、ダミーデータの通信を常時行うものとしてもよい。
【００７５】
なお、実際のデータの通信回数が少なく、かつ、暗号鍵の蓄積量が多い場合、ダミー生成部１０８は、ダミーデータを生成して準備しておき、通信制御部１１１は、鍵蒸留部１０２により暗号鍵が生成されたことを鍵監視部１０５により確認されたら、鍵蓄積部１０３に蓄積させずに、その暗号鍵をそのまま利用してダミーデータを、通信部１０４を介して送信するものとしてもよい。この場合、通信制御部１１１は、鍵蒸留部１０２により暗号鍵が生成されると、このときに、暗号鍵を用いて暗号化すべき実際のデータをアプリケーション部１０７が保持しているか否か、または、暗号鍵を用いて復号化すべき実際のデータが受信されているか否かを判断し、暗号化すべき、または復号化すべき実際のデータがある場合は、実際のデータに対する処理を行う。一方、暗号化すべき、または復号化すべき実際のデータがない場合、データ処理部１０９は、ダミーデータを生成し、通信制御部１１１は、暗号化部１１０により暗号化されたダミーデータを、通信部１０４を介して送信する。
【００７６】
次に、実際のデータの通信回数が少なく、かつ、暗号鍵の蓄積量が少ない場合、および、実際のデータの通信回数が多く、かつ、暗号鍵の蓄積量が多い場合について説明する。この場合、ダミー生成部１０８によるダミーデータの生成、および、通信制御部１１１によるダミーデータの通信量は、ダミーデータの通信による隠蔽機能の効果と、暗号鍵の減少に伴う実際のデータの通信への影響とのバランスを取りながら調整される。ここで、通信制御部１１１が、上述のバランスをとりながら、ダミーデータの通信（送信）量を決定する動作の一例について説明する。まず、量子暗号通信システム１００に対する要求として、通信隠蔽率Ｒを定義する。通信隠蔽率Ｒは、実際のデータの通信量に対して、何倍の量のダミーデータを含む全体のデータの通信を行うかを示す割合を示す。すなわち、実際のデータの通信量に対して、ダミーデータを含む全体のデータの通信を行うことで通信量をＲ倍とする場合の通信隠蔽率がＲとなる。通信隠蔽率Ｒが大きいほど、実際のデータに対するダミーデータの通信量が多くなるので、実際のデータの通信を隠蔽する効果が高くなると考えることができる。
【００７７】
ここで、暗号鍵の共有動作（量子鍵配送）による暗号鍵の生成速度をＴ［ビット／秒］であるとする。このとき、通信隠蔽率をＲに維持するためには、実際のデータの通信量は、Ｔ／Ｒ［ビット／秒］まで可能となり、このとき、ダミーデータ通信量は、（Ｔ−Ｔ／Ｒ）［ビット／秒］とする必要がある。具体例として、例えば、通信隠蔽率Ｒを１０に維持し、暗号鍵の生成速度を１［Ｍビット／秒］とする場合、実際のデータの通信量は、１００［Ｋビット／秒］まで可能となり、ダミーデータの通信量は、９００［Ｋビット／秒］とする必要がある。
【００７８】
鍵監視部１０５により鍵蓄積部１０３での暗号鍵の蓄積量が不足していることが確認された場合、または、通信監視部１０６により通信部１０４の実際のデータの通信量が増加していることが確認された場合は、要求する通信隠蔽率Ｒを減少させ、ダミーデータの通信量を減少させることで対応することができる。ただし、この場合、暗号データ通信を隠蔽する効果が低減する。一方、実際のデータの通信量に対し、鍵蓄積部１０３での暗号鍵の蓄積量、および、暗号鍵の生成速度Ｔが十分大きいことが鍵監視部１０５により確認された場合、または、通信監視部１０６により通信部１０４の実際のデータの通信量が減少していることが確認された場合は、通信隠蔽率Ｒを増加させる、すなわち、ダミーデータの通信量の割合を増加させることにより、暗号データ通信を隠蔽する効果を向上させることができる。
【００７９】
なお、通信隠蔽率Ｒを要求される値に維持するためには、通信制御部１１１により通信部１０４から送信されるダミーデータの通信量が制御されればよく、ダミー生成部１０８のダミーデータの生成動作は、必ずしもそれに連動させる必要はない。例えば、ダミー生成部１０８は、予めダミーデータを生成しておいて、鍵蓄積部１０３等に蓄積しておくものとし、必要の場合は適宜取り出すものとすればよい。
【００８０】
次に、ダミー生成部１０８により生成されるダミーデータのサイズについて説明する。
【００８１】
ダミー生成部１０８により生成され、通信制御部１１１により通信部１０４を介して１回に送信されるダミーデータのサイズは、実際のデータの通信内容、通信データ量、および送信タイミング等を隠蔽する目的から、１回に送信される実際のデータのサイズと一致していることが望ましい。実際には、実際のデータにサイズが常に一定とは限らないため、ダミー生成部１０８は、例えば、少なくとも、実際のデータのサイズの平均値、実際のデータのサイズの中央値、または、実際のデータのサイズのパターンのいずれかに一致するサイズのダミーデータを生成することが望ましい。
【００８２】
なお、上記では、実際のデータの通信回数に応じてダミーデータの送信を制御する様子を示したが、実際のデータの通信量に応じてダミーデータの送信を制御するようにしてもよい。また、上記では、実際データの通信回数と、暗号鍵の蓄積量の両方に応じてダミーデータの送信を制御する方法を示したが、暗号鍵の蓄積量のみに応じてダミーデータの送信を制御してもよいし、実際データの通信回数（または通信量）のみに応じてダミーデータの送信を制御してもよい。
【００８３】
図８は、第１の実施形態（ヘッダ方式）において送受信されるフレームの構成の一例を示す図である。図８を参照しながら、ヘッダ方式によりデータ処理したデータ（実際のデータおよびダミーデータ）を暗号化および復号化する動作の一例を説明する。
【００８４】
ヘッダ方式のデータ処理として、データ処理部１０９は、実際のデータおよびダミーデータが送信されるに際して、図８に示すように、共通フォーマットであるヘッダを付加してフレームの形式にする。図８では、ヘッダ方式によりデータ処理されて送受信されるフレームの例が示されている。図８に示すフレーム４００は、ヘッダ部４０１と、データ部４０２とで構成される。ヘッダ部４０１は、データ（実際のデータまたはダミーデータ）に付加するヘッダに相当し、データ部４０２に含まれるデータが実際のデータかダミーデータかを示す１ビットのダミーフラグ（識別情報）と、データのサイズを表す情報であるフレームデータサイズと、を含む。データ部４０２は、実際のデータまたはダミーデータを含む。
【００８５】
実際のデータが送信される場合、データ処理部１０９は、例えば、ダミーフラグに「０」を、フレームデータサイズにフレームのデータ部に格納される実際のデータのサイズの情報を設定してヘッダ部を生成し、データ部としての実際のデータに、生成したヘッダ部を付加してフレームを生成する。次に、暗号化部１１０は、データ処理部１０９により生成されたフレーム全体を、鍵蓄積部１０３に蓄積された暗号鍵によって、一般的にはワンタイムパッドで暗号化する。そして、通信制御部１１１は、暗号化された実際のデータを含むフレームを、通信部１０４を介して、ノード２に送信する。
【００８６】
一方、ダミーデータが送信される場合、データ処理部１０９は、例えば、ダミーフラグに「１」を、フレームデータサイズにフレームのデータ部に格納されるダミーデータのサイズの情報を設定してヘッダ部を生成し、データ部としてのダミーデータに、生成したヘッダ部を付加してフレームを生成する。次に、暗号化部１１０は、データ処理部１０９により生成されたフレーム全体、または、ヘッダ部のみを、鍵蓄積部１０３に蓄積された暗号鍵によって、一般的にはワンタイムパッドで暗号化する。そして、通信制御部１１１は、少なくとも一部が暗号化された、ダミーデータを含むフレームを、通信部１０４を介して、ノード２に送信する。
【００８７】
なお、ダミーデータを含むフレームに対して暗号化する際に、フレームのヘッダ部のみを暗号化する場合、ダミーデータの送受信時にワンタイムパッドで消費される暗号鍵の量を削減することができる。ただし、この場合、ダミー生成部１０８により生成されるダミーデータそのものが、暗号鍵によって実際のデータを暗号化した暗号データと同程度の質を有する乱数ビット列として、用意されることが前提である。これは、乱数ビット列の質が、ダミーデータと、実際のデータを暗号鍵によって暗号化したものとで異なる場合、フレームを盗聴する盗聴者によって、実際のデータを含むフレームであるか、ダミーデータを含むフレームであるかを見破られるおそれがあるためである。
【００８８】
また、ダミーデータを含むフレームに対して暗号化する際に、フレームのヘッダ部だけでなく、フレーム全体を暗号化する場合、ダミーデータの送受信時に、実際のデータの送受信する場合と同程度に暗号鍵を消費することになる。ただし、この場合、データ部であるダミーデータ自体も暗号化されるため、ダミー生成部１０８は、ダミーデータを乱数ビット列として生成する必要はなく、例えば、すべてが「０」のような単純なパターンのビット列であってもよい。
【００８９】
上述のようにヘッダ方式によるデータ処理がなされたデータ（実際のデータおよびダミーデータ）について暗号化されたフレームを受信するノード（ここでは、ノード２）は、まず、復号化部２１２で、鍵蓄積部２０３に蓄積された暗号鍵により、暗号化されたフレームのヘッダ部に相当する部分を復号化する。
【００９０】
復号化されたヘッダ部のダミーフラグが「０」を示す場合、復号化部２１２は、フレームのデータ部は実際のデータであると判断し、暗号化されたデータ部についても暗号鍵により復号化する。そして、データ処理部２０９は、復号化されたフレームのうちヘッダ部を除去して、データ部のみ、すなわち、実際のデータを、アプリケーション部２０７へ送る。
【００９１】
復号化されたヘッダ部のダミーデータが「１」を示す場合、復号化部２１２は、フレームのデータ部はダミーデータであると判断し、暗号化されたダミーデータについても復号化した上で破棄する。なお、復号化部２１２は、ダミーデータについては復号化せずに、ダミーデータのサイズ分の暗号鍵を破棄するものとしてもよい。いずれにしても、データを暗号化する送信側のノードと、データを復号化する受信側のノードとで、同数の暗号鍵が利用および消費されるように制御される必要がある。
【００９２】
以上のように、ヘッダ方式によるデータ処理により、ノードは、実際のデータおよびダミーデータをそれぞれ送受信し、受信側のノードは、ヘッダ部のダミーフラグに基づいて、受信したフレームから実際のデータを取り出し、または、ダミーデータを破棄することができる。
【００９３】
なお、上述では、ダミーデータであるか否かを区別するために、ヘッダ部に１ビットのダミーフラグを用いる例を示したが、これに限定されるものではない。例えば、一般的な通信プロトコルの技術として、送受信されるデータに付加するヘッダ部に、アプリケーションのポート番号またはプロトコル番号（以下、「プロトコル番号」と総称する）等の情報を含むことで、プロトコル番号によって識別される複数のプロトコルの通信を同時に実現する手法がある。ここで、例えば、ダミーデータを送受信するための特別なプロトコル番号を設ける方法も可能である。この場合、送信側のノードは、ダミーデータを送信する際、ヘッダ部に含まれるプロトコル番号に、データ部がダミーデータであることを示す特別なプロトコル番号（以下、「ダミーデータプロトコル番号」という)を指定して送信する。そして、受信側のノードは、ヘッダ部を復号化し、プロトコル番号がダミーデータプロトコル番号であった場合は、ダミーデータを破棄し、その他のプロトコル番号であれば実際のデータであると判断して、その実際のデータをアプリケーションに送るといった実現方法も可能となる。この方法によれば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、およびＥｔｈｅｒｎｅｔ（登録商標）等に代表されるようなプロトコル番号またはポート番号によって複数の種類の通信を識別することが可能な標準的なフレームフォーマットを用い、ダミーデータの送受信を担うダミーデータ送受信用の上位プロトコル処理機能またはダミーデータ送受信アプリケーションをシステムに追加することにより、上述の動作が実現できる。
【００９４】
次に、通信制御部１１１によるダミーデータの送信タイミングについて説明する。
【００９５】
通信制御部１１１によってダミーデータが送信されるタイミングは、実際のデータが送信されるタイミングに基づいて、そのタイミングが隠蔽されるように選択されることが望ましい。例えば、上述のように、ダミー生成部１０８により生成されるダミーデータのサイズ、および、通信制御部１１１により通信されるダミーデータの通信量（ダミー生成部１０８によるダミーデータの生成量）が定まると、通信制御部１１１は、ダミーデータを、定められたサイズで送信できる時間間隔が決定できる。例えば、実際のデータが送信されるタイミングを基にして、周期的にダミーデータを送信するようにする方法が考えられる。ただし、実際のデータは、次にどのタイミングで送信されるかは正確には分からない。また、厳密な周期間隔でダミーデータの送信を行うと、その厳密な周期から外れたデータが、実際のデータであると認識されるおそれがある。そこで、通信制御部１１１は、周期的にダミーデータを送信する場合であっても、その周期な各時刻からランダムな時間だけ前後に変化させる等の対策を行うことが望ましい。これによって、実際のデータの送信タイミングを隠蔽する効果を向上させることができる。
【００９６】
図９は、第１の実施形態に係る量子暗号通信システムでの暗号データ通信の動作の一例を示すシーケンス図である。図９を参照しながら、本実施形態に係る量子暗号通信システム１００における暗号データ通信の動作の流れを説明する。なお、図９では、ノード１からノード２へ暗号データを送信する動作を例にして説明する。
【００９７】
＜ステップＳ３１＞
ノード１の鍵監視部１０５は、鍵蓄積部１０３に蓄積された暗号鍵の蓄積状況を確認する。またこのとき、ノード１の通信監視部１０６が、通信部１０４を介して古典通信路上を通信する実際のデータの通信状況を確認してもよい。鍵監視部１０５および通信監視部１０６は、それぞれ確認結果をダミー生成部１０８に送る。そして、ステップＳ３２へ移行する。
【００９８】
＜ステップＳ３２＞
ノード１のダミー生成部１０８は、鍵監視部１０５により確認された暗号鍵の蓄積状況、および通信監視部１０６により確認された実際のデータの通信状況に応じて、ダミーデータを生成する。ダミー生成部１０８により生成されるダミーデータの量は、例えば、図７に示すように、鍵蓄積部１０３に蓄積された暗号鍵の蓄積量、および、通信部１０４の実際のデータの通信（送信）回数の多寡に応じて決定される。ダミー生成部１０８は、生成したダミーデータをデータ処理部１０９に送る。
【００９９】
また、アプリケーション部１０７により送信されるべき実際のデータも、データ処理部１０９に送られる。そして、ステップＳ３３へ移行する。
【０１００】
＜ステップＳ３３＞
ノード１のデータ処理部１０９は、実際のデータおよびダミーデータが送信されるに際して、例えば、図８に示すように、共通フォーマットであるヘッダを付加してフレームの形式にする。実際のデータが送信される場合、データ処理部１０９は、例えば、ダミーフラグに「０」を、フレームデータサイズにフレームのデータ部に格納される実際のデータのサイズの情報を設定してヘッダ部を生成し、データ部としての実際のデータに、生成したヘッダ部を付加してフレームを生成する。一方、ダミーデータが送信される場合、データ処理部１０９は、例えば、ダミーフラグに「１」を、フレームデータサイズにフレームのデータ部に格納されるダミーデータのサイズの情報を設定してヘッダ部を生成し、データ部としてのダミーデータに、生成したヘッダ部を付加してフレームを生成する。データ処理部１０９は、生成したフレームを暗号化部１１０に送る。そして、ステップＳ３４へ移行する。
【０１０１】
＜ステップＳ３４＞
ノード１の暗号化部１１０は、データ処理部１０９により実際のデータのフレームが生成された場合、フレーム全体を、鍵蓄積部１０３に蓄積された暗号鍵によって、一般的にはワンタイムパッドで暗号化する。また、暗号化部１１０は、データ処理部１０９によりダミーデータのフレームが生成された場合、フレーム全体、または、ヘッダ部のみを、鍵蓄積部１０３に蓄積された暗号鍵によって、一般的にはワンタイムパッドで暗号化する。暗号化部１１０は、暗号化したフレーム（暗号データ）を、通信制御部１１１に送る。そして、ステップＳ３５へ移行する。
【０１０２】
＜ステップＳ３５＞
ノード１の通信制御部１１１は、通信部１０４および古典通信路を介して、実際のデータの暗号データを必要なタイミングで送信すると共に、ダミーデータの暗号データを特定のタイミングで送信する。例えば、上述のように、ダミー生成部１０８により生成されるダミーデータのサイズ、および、通信制御部１１１により通信されるダミーデータの通信量が定まると、通信制御部１１１は、ダミーデータを、定められたサイズで送信できる時間間隔が決定できる。そして、通信制御部１１１は、通信部１０４および古典通信路を介して、例えば、周期的な各時刻からランダムな時間分だけ遅延させながら周期的にダミーデータを送信する。そして、ステップＳ３６へ移行する。
【０１０３】
＜ステップＳ３６＞
ノード２の通信制御部２１１は、古典通信路および通信部２０４を介して、ノード１からの暗号データを受信する。通信制御部２１１は、受信した暗号データを、復号化部２１２に送る。そして、ステップＳ３７へ移行する。
【０１０４】
＜ステップＳ３７＞
ノード２の復号化部２１２は、鍵蓄積部２０３に蓄積された暗号鍵により、暗号化されたフレーム（暗号データ）のヘッダ部に相当する部分を復号化する。そして、ステップＳ３８へ移行する。
【０１０５】
＜ステップＳ３８＞
復号化されたヘッダ部のダミーフラグが「０」を示す場合、復号化部２１２は、フレームのデータ部は実際のデータであると判断し（ステップＳ３８：Ｎｏ）、暗号化されたデータ部についても暗号鍵により復号化し、復号化したフレームをデータ処理部２０９に送る。そして、ステップＳ３９へ移行する。
【０１０６】
一方、復号化されたヘッダ部のダミーデータが「１」を示す場合、復号化部２１２は、フレームのデータ部はダミーデータであると判断し（ステップＳ３８：Ｙｅｓ）、ステップＳ４０へ移行する。
【０１０７】
＜ステップＳ３９＞
ノード２のデータ処理部２０９は、復号化されたフレームのうちヘッダ部を除去して、データ部のみ、すなわち、実際のデータを、アプリケーション部２０７へ送る。
【０１０８】
＜ステップＳ４０＞
復号化部２１２は、フレームのデータ部はダミーデータであると判断した場合、ダミーデータについても復号化した上で破棄する。なお、復号化部２１２は、ダミーデータについては復号化せずに、ダミーデータのサイズ分の暗号鍵を破棄するものとしてもよい。ただし、データを暗号化する送信側のノードと、データを復号化する受信側のノードとで、同数の暗号鍵が利用および消費されるように制御する。
【０１０９】
以上のようなステップＳ３１〜Ｓ４０が繰り返されることによって、実際のデータの暗号データ通信を隠蔽する暗号データ通信が実行される。
【０１１０】
以上のように、鍵監視部１０５（２０５）により確認された暗号鍵の蓄積状況、および通信監視部１０６（２０６）により確認された古典通信路上の実際のデータの通信状況に基づいて、ダミーデータの通信量（ダミーデータの生成量）、ダミーデータのサイズ、および送信タイミング等を決定することにより、量子暗号技術による実際のデータの暗号データ通信に対する効果的な通信の隠蔽機能を実現することができる。
【０１１１】
また、データ処理部１０９（２０９）によるデータ処理として、データ（実際のデータおよびダミーデータ）に実際のデータであるかダミーデータであるかを示すダミーフラグを含むヘッダ部を付加することによって、受信側のノードでは、受信した暗号データ（暗号化されたフレーム）が実際のデータを含むのか、ダミーデータを含むのかを把握ことができる。
【０１１２】
（第２の実施形態）
第２の実施形態に係る量子暗号通信システム１００について、第１の実施形態に係る量子暗号通信システム１００と相違する点を中心に説明する。第１の実施形態では、データ処理部１０９（２０９）によるデータ処理として、データ（実際のデータおよびダミーデータ）に対してヘッダを付加する動作（ヘッダ方式）について説明した。本実施形態では、データ処理部１０９（２０９）によるデータ処理として、所定の方法によりデータをエンコードする動作（エンコード方式）について説明する。なお、本実施形態に係る量子暗号通信システム１００の構成、ノードのハードウェア構成、ノードの機能ブロックの構成、および暗号鍵の共有動作は、第１の実施形態と同様である。
【０１１３】
上述のように、本実施形態のノードの機能ブロックの構成は、図３に示すノード１、２の機能ブロックの構成と同様であるが、第１の実施形態と異なる動作を中心に説明する。
【０１１４】
ノード１のデータ処理部１０９は、データ処理として、通信制御部１１１により実際のデータとダミーデータとが送信される場合に、実際のデータの通信とダミーデータの通信との切り替わりのタイミングを示す制御ビット列を付加した送信データを生成する。また、この際、データ処理部１０９は、実際のデータおよびダミーデータを、所定の方法によりエンコードする。データ処理部１０９のデータ処理としての制御ビット列の付加およびエンコードの動作については、後述する。
【０１１５】
ノード２のデータ処理部２０９は、データ処理として、通信制御部２１１により実際のデータとダミーデータとが送信される場合に、実際のデータの通信とダミーデータの通信との切り替わりのタイミングを示す制御ビット列を付加した送信データを生成する。また、この際、データ処理部２０９は、実際のデータおよびダミーデータを、所定の方法によりエンコードする。データ処理部２０９のデータ処理としての制御ビット列の付加およびエンコードの動作については、後述する。
【０１１６】
なお、ノード１、２のその他の機能部は、図３の第１の実施形態で説明した動作と同様の動作を行う。
【０１１７】
図１０は、第２の実施形態のエンコード方式について説明する図である。図１０を参照しながら、エンコード方式によりデータ処理したデータ（実際のデータおよびダミーデータ）を暗号化および復号化する動作の一例を説明する。
【０１１８】
データ処理部１０９は、まず、データ処理として、通信制御部１１１により実際のデータとダミーデータとが送信される場合に、実際のデータの通信とダミーデータの通信との切り替わりのタイミングを示す制御ビット列（制御データ）を配置して送信データを生成する。制御ビット列として、例えば、連続する１０ビットの「１」であるものとする。データ処理部１０９は、例えば、図１０に示すダミーデータをエンコードしたデータ５０３の直前に、実際のデータの送信を終了してダミーデータの送信を開始することを示す制御ビット列（制御データ）を配置する。または、データ処理部１０９は、例えば、図１０に示す実際のデータをエンコードしたデータ５０１の直前に、ダミーデータの送信を終了して実際のデータの送信を開始することを示す制御ビット列（制御データ）を配置する。なお、図１０に示すデータ５０２のように、例えば、直前に送信した実際のデータに続いて、実際のデータを送信する場合、制御ビット列（制御データ）は必要ないので、実際のデータに続いて送信データとして送信される場合もあり得る。これは、ダミーデータについても同様である。
【０１１９】
ここで、例えば、送信する実際のデータに中に、上述の制御ビット列（制御データ）と同じ並びのビット列が出現すると、これを、制御ビット列だと判断され、後続する実際のデータがダミーデータとして取り扱われてしまうことが想定される。これを回避するために、データ処理部１０９は、データ処理として、実際のデータのビット列に、制御ビット列（ここでは、「１１１１１１１１１１」）が出現しないように、実際のデータを所定の方法によりエンコードする。
【０１２０】
このようなエンコードの方法として、例えば、８ｂ１０ｂの方式が利用できる。８ｂ１０ｂでは、８ビットのデータを１０ビットのデータに変換（エンコード）する。具体的には、データ処理部１０９は、まず、送信すべきデータを８ビット毎に区切り、それぞれの８ビットのデータ列を対応する１０ビットのデータ列に変換（エンコード）する。制御ビット列は、変換後の１０ビットのデータ列には存在しないビットパターンの１０ビットを採用する。データ処理部１０９は、８ビットのデータを１０ビットのデータに変換し、かつ、適切な箇所に制御ビット列を挿入する。そして、暗号化部１１０は、エンコードした実際のデータと、それに挿入した制御ビット列とを暗号化する。
【０１２１】
受信側のノード２の復号化部２１２は、受信したデータを復号化し、データ処理部２０９は、復号化したデータに対して、１０ビットのデータを８ビットのデータに変換（デコード）し、かつ、制御ビット列が含まれる場合にはそれを取り出す。
【０１２２】
一方、ダミーデータの場合、ダミー生成部１０８によって、すべてが「０」のビット列のように、制御ビット列が出願しない既知のビット列を生成させる方法と、ダミー生成部１０８により生成された乱数ビット列に、制御ビット列が出現しないように、上述の実際のデータと同様にエンコードする方法とが、考えられる。ここで、ダミーデータとして既知のビット列を生成させる方法を用いた場合、暗号化部１１０は、ダミーデータに対して、暗号鍵を用いて（一般的には）ワンタイムパッドによって暗号化を行う必要がある。一方、ダミーデータとして乱数ビット列を用いてエンコードする場合、乱数ビット列の質が十分であれば、暗号化部１１０は、エンコードされたダミーデータについて、暗号化が不要である。
【０１２３】
以上のように、データ処理部２０９は、デコード後のデータとして、ダミーデータまたは実際のデータを取り出すことができる。
【０１２４】
図１１は、第２の実施形態に係る量子暗号通信システムの量子暗号通信の動作の一例を示すシーケンス図である。図１１を参照しながら、本実施形態に係る量子暗号通信システム１００における暗号データ通信（量子暗号通信）の動作の流れを説明する。なお、図１１では、ノード１からノード２へ暗号データを送信する動作を例にして説明する。
【０１２５】
＜ステップＳ５１、Ｓ５２＞
ステップＳ５１、Ｓ５２の処理は、それぞれ、図９に示す第１の実施形態のＳ３１、Ｓ３２と同様である。そして、ステップＳ５３へ移行する。
【０１２６】
＜ステップＳ５３＞
ノード１のデータ処理部１０９は、データ処理として、実際のデータのビット列に、制御ビット列が出現しないように、実際のデータを所定の方法（例えば、８ｂ１０ｂ）によりエンコードする。また、データ処理部１０９は、データ処理として、ダミー生成部１０８により生成された乱数ビット列に、制御ビット列が出現しないように、上述の実際のデータと同様にエンコードする。なお、データ処理部１０９は、ダミー生成部１０８によりすべてが「０」のビット列のように、制御ビット列が出願しない既知のビット列が生成された場合は、特にエンコードをする必要がない。そして、ステップＳ５４へ移行する。
【０１２７】
＜ステップＳ５４＞
データ処理部１０９は、データ処理として、通信制御部１１１により、エンコードされた実際のデータとダミーデータとが送信される場合に、実際のデータの通信とダミーデータの通信との切り替わりのタイミングを示す制御ビット列（制御データ）を付加（挿入）する。データ処理部１０９は、エンコードされた実際のデータおよびダミーデータに、制御ビットが挿入されたデータを暗号化部１１０に送る。そして、ステップＳ５５へ移行する。
【０１２８】
＜ステップＳ５５＞
ノード１の暗号化部１１０は、データ処理部１０９によりエンコードされた実際のデータおよびダミーデータ、ならびに挿入された制御ビット列を、鍵蓄積部１０３に蓄積された暗号鍵によって、一般的にはワンタイムパッドで暗号化する。なお、ダミーデータとして乱数ビット列を用いてエンコードされた場合、暗号化部１１０は、乱数ビット列の質が十分であれば、エンコードされたダミーデータについて、暗号化が不要である。そして、ステップＳ５６へ移行する。
【０１２９】
＜ステップＳ５６＞
ノード１の通信制御部１１１は、通信部１０４および古典通信路を介して、実際のデータの暗号データを必要なタイミングで送信されるようにし、ダミーデータの暗号データを特定のタイミングで送信されるようにする。例えば、上述のように、ダミー生成部１０８により生成されるダミーデータのサイズ、および、通信制御部１１１により通信されるダミーデータの通信量が定まると、通信制御部１１１は、ダミーデータを、定められたサイズで送信できる時間間隔が決定できる。ここで、通信制御部１１１は、周期的な各時刻からランダムな時間分だけ遅延させながら周期的にダミーデータが送信される動作となるように、ステップＳ５４において、データ処理部１０９に対して、実際のデータの通信とダミーデータの通信との切り替わりのタイミングを示す制御ビット列（制御データ）を付加（挿入）させることによって、ダミーデータの暗号データについての特定のタイミングにおける送信が実現される。そして、ステップＳ５７へ移行する。
【０１３０】
＜ステップＳ５７＞
ノード２の通信制御部２１１は、古典通信路および通信部２０４を介して、ノード１からの暗号データを受信する。通信制御部２１１は、受信した暗号データを、復号化部２１２に送る。そして、ステップＳ５８へ移行する。
【０１３１】
＜ステップＳ５８＞
ノード２の復号化部２１２は、鍵蓄積部２０３に蓄積された暗号鍵により、暗号データを復号化し、復号化したデータをデータ処理部２０９に送る。そして、ステップＳ５９へ移行する。
【０１３２】
＜ステップＳ５９＞
ノード２のデータ処理部２０９は、復号化されたデータに制御ビット列（制御データ）が存在するか否か確認する。制御データが確認された場合（ステップＳ５９：Ｙｅｓ）、ステップＳ６０へ移行し、確認されない場合（ステップＳ５９：Ｎｏ）、ステップＳ６１へ移行する。
【０１３３】
＜ステップＳ６０＞
データ処理部２０９は、実際のデータを受信する動作モードと、ダミーデータを受信する動作モードと、を切り替える。すなわち、データ処理部２０９は、現在の動作モードが、実際のデータを受信する動作モードである場合、ダミーデータを受信する動作モードに切り替える。一方、データ処理部２０９は、現在の動作モードが、ダミーデータを受信する動作モードである場合、実際のデータを受信する動作モードに切り替える。なお、データ処理部２０９は、一種類の制御データを受信することによって、これら２つの動作モードを切り替えるように制御してもよい。また、実際のデータを受信する動作モードに移行するための制御データと、ダミーデータを受信する動作モードに移行するための制御データとは、それぞれ異なる複数の制御データがあってもよい。また、これら２つの動作モード以外の動作モードがあってもよい。また、実際のデータを受信する動作モードにおける処理、およびダミーデータを受信する動作モードにおける処理は、それぞれステップＳ６２およびＳ６３で詳述する。
【０１３４】
＜ステップＳ６１＞
データ処理部２０９は、現在の動作モードが、実際のデータを受信する動作モードであるか、ダミーデータを受信する動作モードであるかを判定する。現在の動作モードが、実際のデータを受信する動作モードである場合（ステップＳ６１：実際のデータ受信）、ステップＳ６２へ移行し、ダミーデータを受信する動作モードである場合（ステップＳ６１：ダミーデータ受信）、ステップＳ６３へ移行する。
【０１３５】
＜ステップＳ６２＞
データ処理部２０９は、復号化されたデータは実際のデータであると判定し、そのデータをデコードしてアプリケーション部２０７へ送る。
【０１３６】
＜ステップＳ６３＞
データ処理部２０９は、復号化されたデータはダミーデータであると判定し、そのデータを破棄する。この場合、データ処理２０９は、デコードを行っても行わなくてもよい。
【０１３７】
以上のように、鍵監視部１０５（２０５）により確認された暗号鍵の蓄積状況、および通信監視部１０６（２０６）により確認された古典通信路上の実際のデータの通信状況に基づいて、ダミーデータの通信量（ダミーデータの生成量）、ダミーデータのサイズ、および送信タイミング等を決定することにより、量子暗号技術による実際のデータの暗号データ通信に対する効果的な通信の隠蔽機能を実現することができる。
【０１３８】
また、データ処理部１０９（２０９）によるデータ処理として、実際のデータとダミーデータとが送信される場合に、実際のデータの通信とダミーデータの通信との切り替わりのタイミングを示す制御ビット列（制御データ）を付加し、実際のデータおよびダミーデータに制御ビット列が出現しないように、それぞれ必要に応じてエンコードするものとしている。これによって、受信側のノードでは、復号化したデータに制御ビット列の有無を確認することによって、制御ビット列の後に続くデータが実際のデータであるのか、ダミーデータであるのかを把握することができる。
【０１３９】
なお、上述の第１の実施形態および第２の実施形態において、実際のデータおよびダミーデータに対するデータ処理として、それぞれヘッダ方式およびエンコード方式を例として説明したが、これに限定されるものではなく、実際のデータとダミーデータとを判別することができる方式であれば、その他の方式によってデータ処理をするものとしてもよい。
【０１４０】
なお、上述の各実施形態に係るノード（通信装置）で実行されるプログラムは、例えば、ＲＯＭ３０２等に予め組み込まれて提供されるものとしてもよい。
【０１４１】
また、上述の各実施形態に係るノードで実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１４２】
さらに、上述の各実施形態に係るノードで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態に係るノードで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１４３】
また、上述の各実施形態に係るノードで実行されるプログラムは、コンピュータを上述したノードの各機能部として機能させ得る。このコンピュータは、ＣＰＵ３０１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１４４】
本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。これらの実施形態は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４５】
１、２  ノード
３  光ファイバリンク
４  通信ケーブル
１００  量子暗号通信システム
１０１  共有部
１０２  鍵蒸留部
１０３  鍵蓄積部
１０４  通信部
１０５  鍵監視部
１０６  通信監視部
１０７  アプリケーション部
１０８  ダミー生成部
１０９  データ処理部
１１０  暗号化部
１１１  通信制御部
１１２  復号化部
２０１  共有部
２０２  鍵蒸留部
２０３  鍵蓄積部
２０４  通信部
２０５  鍵監視部
２０６  通信監視部
２０７  アプリケーション部
２０８  ダミー生成部
２０９  データ処理部
２１０  暗号化部
２１１  通信制御部
２１２  復号化部
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  通信Ｉ／Ｆ
３０５  補助記憶装置
３０６  光学処理装置
３０７  バス
４００  フレーム
４０１  ヘッダ部
４０２  データ部
５０１〜５０３  データ
Ｒ  通信隠蔽率
【図１】
2017139728.tif 000003
【図２】
2017139728.tif 000004
【図３】
2017139728.tif 000005
【図４】
2017139728.tif 000006
【図５】
2017139728.tif 000007
【図６】
2017139728.tif 000008
【図７】
2017139728.tif 000009
【図８】
2017139728.tif 000010
【図９】
2017139728.tif 000011
【図１０】
2017139728.tif 000012
【図１１】
2017139728.tif 000013