(57)【要約】【課題】暗号処理に使用される鍵の枯渇を防止する。【解決手段】実施形態の通信装置は、他の装置と通信する通信装置であって、受付部と、割当部と、１以上の第１の通信部と、暗号処理部と、１以上の第２の通信部と、制御部と、を備える。受付部は、他の装置と共有する共有鍵を受け付ける。割当部は、共有鍵を送信鍵又は受信鍵に割り当てる。１以上の第１の通信部は、アプリケーションからデータを受け付ける。暗号処理部は、送信鍵を用いてデータを暗号化し、他の装置により暗号化されたデータを、受信鍵を用いて復号する。１以上の第２の通信部は、暗号化されたデータにより、他の装置と通信する。制御部は、通信装置の状態を示す状態情報を使用して、共有鍵の割り当て、第１の通信部の第１のトラフィック、及び、第２の通信部の第２のトラフィックのうち、少なくとも１つを制御する。【選択図】図１
2018029283.tif 000002
【特許請求の範囲】
【請求項１】
他の装置と通信する通信装置であって、
前記他の装置と共有する共有鍵を受け付ける受付部と、
前記共有鍵を送信鍵又は受信鍵に割り当てる割当部と、
アプリケーションからデータを受け付ける１以上の第１の通信部と、
前記送信鍵を用いて前記データを暗号化し、前記他の装置により暗号化されたデータを、前記受信鍵を用いて復号する暗号処理部と、
暗号化されたデータにより、前記他の装置と通信する１以上の第２の通信部と、
前記通信装置の状態を示す状態情報を使用して、前記共有鍵の割り当て、前記第１の通信部の第１のトラフィック、及び、前記第２の通信部の第２のトラフィックのうち、少なくとも１つを制御する制御部と、
を備える通信装置。
【請求項２】
前記状態情報は、前記共有鍵を受け付ける速度、前記送信鍵の蓄積量、前記受信鍵の蓄積量、前記第１の通信部の第１の通信速度、前記第２の通信部の第２の通信速度、前記第１の通信部の第１の統計情報、及び、前記第２の通信部の第２の統計情報のうち、少なくとも１つを含む、
請求項１に記載の通信装置。
【請求項３】
前記第１の統計情報は、前記第１の通信部から前記暗号処理部に入力されたパケットの数、前記第１の通信部から前記暗号処理部に入力されたデータの量、前記第１の通信部により前記暗号処理部から受け付けられたパケットの数、前記第１の通信部により前記暗号処理部から受け付けられたデータの量、及び、前記第１の通信部の第１のエラーのうち、少なくとも１つを含む、
請求項２に記載の通信装置。
【請求項４】
前記第２の統計情報は、前記第２の通信部から前記他の装置に送信されたパケットの数、前記第２の通信部から前記他の装置に送信されたデータの量、前記第２の通信部により前記他の装置から受信されたパケットの数、前記第２の通信部により前記他の装置から受信されたデータの量、及び、前記第２の通信部の第２のエラーのうち、少なくとも１つを含む、
請求項２に記載の通信装置。
【請求項５】
前記状態情報は、前記共有鍵を受け付ける速度、前記送信鍵の蓄積量、前記受信鍵の蓄積量、前記第１の通信部の第１の通信速度、及び、前記第２の通信部の第２の通信速度を含み、
前記制御部は、前記状態情報から、前記送信鍵が枯渇するまでの送信鍵枯渇時間、及び、前記受信鍵が枯渇するまでの受信鍵枯渇時間を算出し、前記送信鍵枯渇時間よりも前記受信鍵枯渇時間の方が短い場合、前記受信鍵の割り当てを優先させる優先要求を前記割当部に入力し、前記受信鍵枯渇時間よりも前記送信鍵枯渇時間の方が短い場合、前記送信鍵の割り当てを優先させる優先要求を前記割当部に入力する、
請求項１に記載の通信装置。
【請求項６】
前記状態情報は、前記共有鍵を受け付ける速度、前記送信鍵の蓄積量、前記受信鍵の蓄積量、前記第１の通信部の通信速度、及び、前記第２の通信部の通信速度を含み、
前記制御部は、前記状態情報から、前記送信鍵が枯渇するまでの送信鍵枯渇時間、及び、前記受信鍵が枯渇するまでの受信鍵枯渇時間を算出し、前記送信鍵枯渇時間が第１の閾値以下である場合、前記送信鍵枯渇時間がより長くなるように、送信側の前記第１のトラフィック、及び、送信側の前記第２のトラフィックの少なくとも一方を制限し、前記受信鍵枯渇時間が第２の閾値以下である場合、前記受信鍵枯渇時間がより長くなるように、受信側の前記第１のトラフィック、及び、受信側の前記第２のトラフィックの少なくとも一方を制限する、
請求項１に記載の通信装置。
【請求項７】
前記割当部は、前記送信鍵及び前記受信鍵を、更に前記アプリケーション毎に割り当て、
前記制御部は、前記第１のトラフィック、及び、前記第２のトラフィックの少なくとも一方を、前記アプリケーション毎に制限する、
請求項６に記載の通信装置。
【請求項８】
前記通信装置は、複数の前記第１の通信部と、複数の前記第２の通信部と、を備え、
前記制御部は、前記第１のトラフィックを制限する場合、前記第１の通信部毎に制限し、前記第２のトラフィックを制限する場合、前記第２の通信部毎に制限する、
請求項６に記載の通信装置。
【請求項９】
前記割当部は、前記送信鍵及び前記受信鍵を、更に前記アプリケーション毎に割り当て、
前記状態情報は、前記第１の通信部の第１のエラー、及び、前記第２の通信部の第２のエラーを含み、
前記制御部は、前記共有鍵を、前記第１のエラーの数、及び、前記第２のエラーの数の少なくとも一方が第３の閾値以上である通信経路を使用する前記アプリケーションに割り当てることを停止する停止要求を前記割当部に入力する、
請求項１に記載の通信装置。
【請求項１０】
前記割当部は、前記送信鍵及び前記受信鍵を、更に前記アプリケーション毎に割り当て、
前記制御部は、前記共有鍵を、前記第１の通信部、及び、前記第２の通信部の少なくとも一方がリンクダウンしている通信経路を使用する前記アプリケーションに割り当てることを停止する停止要求を前記割当部に入力する、
請求項１に記載の通信装置。
【請求項１１】
前記通信装置は、量子鍵配送により前記共有鍵を生成する生成装置と接続され、
前記受付部は、前記生成装置から前記共有鍵を受け付ける、
請求項１に記載の通信装置。
【請求項１２】
複数の通信装置を備える通信システムであって、
前記通信装置は、
前記他の装置と共有する共有鍵を受け付ける受付部と、
前記共有鍵を送信鍵又は受信鍵に割り当てる割当部と、
アプリケーションからデータを受け付ける１以上の第１の通信部と、
前記送信鍵を用いて前記データを暗号化し、前記他の装置により暗号化されたデータを、前記受信鍵を用いて復号する暗号処理部と、
暗号化されたデータにより、前記他の装置と通信する１以上の第２の通信部と、
前記通信装置の状態を示す状態情報を使用して、前記共有鍵の割り当て、前記第１の通信部の第１のトラフィック、及び、前記第２の通信部の第２のトラフィックのうち、少なくとも１つを制御する制御部と、
を備える通信システム。
【請求項１３】
他の装置と通信する通信装置の通信方法であって、
受付部が、前記他の装置と共有する共有鍵を受け付けるステップと、
割当部が、前記共有鍵を送信鍵又は受信鍵に割り当てるステップと、
１以上の第１の通信部が、アプリケーションからデータを受け付けるステップと、
暗号処理部が、前記送信鍵を用いて前記データを暗号化するステップと、
暗号処理部が、前記他の装置により暗号化されたデータを、前記受信鍵を用いて復号するステップと、
１以上の第２の通信部が、暗号化されたデータにより、前記他の装置と通信するステップと、
制御部が、前記通信装置の状態を示す状態情報を使用して、前記共有鍵の割り当て、前記第１の通信部の第１のトラフィック、及び、前記第２の通信部の第２のトラフィックのうち、少なくとも１つを制御するステップと、
を含む通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は通信装置、通信システム及び通信方法に関する。
【背景技術】
【０００２】
光ファイバーを介して接続された送信ノードと、受信ノードとの間で連続的に送信される単一光子を利用して、暗号データ通信用の共有鍵を安全に共有する量子鍵配送（ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）が、従来から知られている。
【０００３】
量子鍵配送システム（量子暗号通信システム）では、共有鍵の生成速度は、拠点間の距離、及び、光ファイバーの品質等にも依存するが、数ｋｂｐｓ〜数百ｋｂｐｓである。また共有鍵の生成速度は、光ファイバーの外部環境及び外乱、並びに、送信ノード及び受信ノードの設置環境等に応じて変動する。さらには、盗聴と疑われる攻撃がある場合、共有鍵の生成速度が急激に減少したり、停止したりする可能性がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５４２４００８号公報
【特許文献２】特許第４０１５３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の量子鍵配送技術では、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐａｄ）、及び、共有鍵の交換を頻繁に行うＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等を用いて暗号処理を行う場合、暗号処理に使用される鍵が枯渇するおそれがあった。
【課題を解決するための手段】
【０００６】
実施形態の通信装置は、他の装置と通信する通信装置であって、受付部と、割当部と、１以上の第１の通信部と、暗号処理部と、１以上の第２の通信部と、制御部と、を備える。受付部は、前記他の装置と共有する共有鍵を受け付ける。割当部は、前記共有鍵を送信鍵又は受信鍵に割り当てる。１以上の第１の通信部は、アプリケーションからデータを受け付ける。暗号処理部は、前記送信鍵を用いて前記データを暗号化し、前記他の装置により暗号化されたデータを、前記受信鍵を用いて復号する。１以上の第２の通信部は、暗号化されたデータにより、前記他の装置と通信する。制御部は、前記通信装置の状態を示す状態情報を使用して、前記共有鍵の割り当て、前記第１の通信部の第１のトラフィック、及び、前記第２の通信部の第２のトラフィックのうち、少なくとも１つを制御する。
【図面の簡単な説明】
【０００７】
【図１】実施形態の通信システムの装置構成の例を示す図。
【図２】実施形態の共有鍵の生成方法の例を説明するための図。
【図３】実施形態の通信装置の機能構成の例を示す図。
【図４】実施形態の制御部の機能構成の例を示す図。
【図５】実施形態の状態情報の例を説明するための図。
【図６】実施形態の統計情報の例を示す図。
【図７】実施形態の割当制御方法の例を説明するための図。
【図８】実施形態のトラフィック制御方法の例を説明するための図。
【図９】実施形態の割当制御方法の例を示すフローチャート。
【図１０】実施形態のトラフィック制御方法の例を示すフローチャート。
【図１１】実施形態の通信装置のハードウェア構成の例を示す図。
【図１２】実施形態の通信装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、通信装置、通信システム及び通信方法の実施形態を詳細に説明する。
【０００９】
［通信システムの装置構成］
図１は実施形態の通信システム１００の装置構成の例を示す図である。実施形態の通信システム１００は、通信装置１０ａ、通信装置１０ｂ、生成装置２０ａ及び生成装置２０ｂを備える。通信装置１０ａ及び生成装置２０ａは、拠点Ａに設置される。通信装置１０ｂ及び生成装置２０ｂは、拠点Ｂに設置される。実施形態の通信システム１００は、暗号化されたデータにより、拠点Ａと拠点Ｂとの間で通信するシステムである。
【００１０】
実施形態の説明では、通信装置１０ａがデータを暗号化し、通信装置１０ｂが暗号化されたデータを復号する場合を例にして説明する。なお通信装置１０ｂがデータを暗号化し、通信装置１０ａが暗号化されたデータを復号してもよい。
【００１１】
通信装置１０ａは、生成装置２０ａにより生成された共有鍵を使用してデータを暗号化し、暗号化されたデータを、通信装置１０ｂに送信する。暗号化されたデータの通信方式は、有線でも無線でもよいし、有線と無線とを組み合わせてもよい。暗号化されたデータの通信方式は、例えばＥｔｈｅｒｎｅｔ（登録商標）である。通信装置１０ｂは、暗号化されたデータを、生成装置２０ｂにより生成された共有鍵を使用して復号する。
【００１２】
生成装置２０ａ及び生成装置２０ｂは、互いに共有する共有鍵を、量子鍵配送により生成する。
【００１３】
以下、通信装置１０ａ及び通信装置１０ｂを区別しない場合は、単に通信装置１０という。同様に、生成装置２０ａ及び生成装置２０ｂを区別しない場合は、単に生成装置２０という。
【００１４】
＜量子鍵配送＞
次に量子鍵配送により共有鍵を生成する方法の例について説明する。
【００１５】
図２は実施形態の共有鍵の生成方法の例を説明するための図である。実施形態の生成装置２０ａ及び生成装置２０ｂは、量子通信路１０１及び古典通信路１０２により接続される。
【００１６】
量子通信路１０１は、０又は１を示す単一光子から構成される光子列を送信する。量子通信路１０１は、例えば光ファイバーリンクである。
【００１７】
古典通信路１０２はデータを送信する。古典通信路１０２を介して送信されるデータは、例えば生成装置２０ａ及び２０ｂにより実行される鍵蒸留処理（シフティング処理、誤り訂正処理及び秘匿性増強処理）の制御データである。古典通信路１０２は、有線でも無線でもよいし、有線と無線とを組み合わせて実現されていてもよい。古典通信路１０２は、例えばＥｔｈｅｒｎｅｔ（登録商標）である。
【００１８】
生成装置２０ａ及び２０ｂは、互いに共有する共有鍵を、量子鍵配送により生成する。共有鍵は、０又は１を示すデジタルデータの列により表される乱数である。具体的には、生成装置２０ａは、レーザのパルスにより単一光子を発生させ、当該単一光子から構成される光子列を、量子通信路１０１を介して、生成装置２０ｂに送信する。生成装置２０ａ及び生成装置２０ｂは、鍵蒸留処理を実行することにより、光子列から共有鍵を生成する。
【００１９】
量子通信路１０１上の光子列の送受信には、例えばＢＢ８４プロトコルが使用される。ＢＢ８４プロトコルが使用される場合、量子通信路１０１上の光子列が盗聴されると、量子力学の原理により、光子の量子状態（光子の偏光方向）が変化する。これにより受信側で検出される量子ビット誤り率（ＱＢＥＲ：Ｑｕａｎｔｕｍ  Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）が上昇する。したがって生成装置２０ａ及び生成装置２０ｂは、量子通信路１０１上の光子列が盗聴されている場合、量子通信路１０１上の光子列が盗聴されていることを、量子ビット誤り率の異常から検出することができる。これにより生成装置２０ａ及び２０ｂは、光子列から安全に共有鍵を生成することができる。
【００２０】
［通信装置の機能構成］
次に実施形態の通信装置１０の機能構成の例について説明する。
【００２１】
図３は実施形態の通信装置１０の機能構成の例を示す図である。図３の説明では、通信装置１０ａが、暗号化されたデータを通信装置１０ｂに送信し、通信装置１０ｂが、暗号化されたデータを復号する場合を例にして説明する。なお通信装置１０ｂが、暗号化されたデータを通信装置１０ａに送信し、通信装置１０ａが、暗号化されたデータを復号してもよい。
【００２２】
実施形態の通信装置１０ａは、受付部１１ａ、割当部１２ａ、記憶部１３ａ、ＯＳ１４ａ、アプリ部１５ａ、仮想ＩＦ（Ｉｎｔｅｒｆａｃｅ）１６ａ（第１の通信部）、暗号処理部１７ａ、実ＩＦ１８ａ（第２の通信部）、及び、制御部１９ａを備える。なおアプリ部１５ａ、仮想ＩＦ１６ａ、暗号処理部１７ａ及び実ＩＦ１８ａは、１つに限られず複数あってもよい。
【００２３】
記憶部１３ａは、受信鍵１３１ａ及び送信鍵１３２ａを記憶する。受信鍵１３１ａは、暗号化されたデータの復号に使用される。送信鍵１３２ａは、データの暗号化に使用される。記憶部１３ａは、通信装置１０ａの外部にあり、通信装置１０ａの内部には無い構成であっても良い。
【００２４】
受付部１１ａは、生成装置２０ａから共有鍵を受け付けると、当該共有鍵を割当部１２ａに入力する。
【００２５】
割当部１２ａは、受付部１１ａから共有鍵を受け付けると、当該共有鍵を受信鍵１３１ａ又は送信鍵１３２ａに割り当てる。
【００２６】
なお通信装置１０ａから通信装置１０ｂへの暗号データ送信と、通信装置１０ｂから通信装置１０ａへの暗号データ送信の両方を行う場合（全二重での暗号データ通信を行う場合）、割当部１２ａにより受信鍵１３１ａに割り当てられた共有鍵は、通信装置１０ｂの割当部１２ｂでは、送信鍵１３２ｂに割り当てられる。逆に、割当部１２ａにより送信鍵１３２ａに割り当てられた共有鍵は、通信装置１０ｂの割当部１２ｂでは、受信鍵１３１ｂに割り当てられる。
【００２７】
また割当部１２ａは、アプリ部１５ａが複数ある場合、受信鍵１３１ａ及び送信鍵１３２ａを、更に、アプリ部１５ａ毎に割り当ててもよい。
【００２８】
また割当部１２ａは、仮想ＩＦ１６ａが複数あり、かつ、実ＩＦ１８ａが複数ある場合、受信鍵１３１ａ及び送信鍵１３２ａを、更に、仮想ＩＦ１６ａ及び実ＩＦ１８ａの組み合せにより決定される通信装置１０内の通信経路毎に、割り当ててもよい。
【００２９】
また割当部１２ａによる共有鍵の割り当て処理は行われなくてもよい。例えば暗号方式がＡＥＳの場合、暗号化処理及び復号処理に同一の共有鍵が使用されるので、受信鍵１３１ａ及び送信鍵１３２ａの割り当て処理は不要である。なおＡＥＳのようなブロック暗号が用いられる場合、情報論的安全性は満たさないが、共有鍵の更新頻度を十分に高くすることにより、実質的な通信セキュリティを非常に高く保つことができる。
【００３０】
また例えば、アプリ部１５ａが１つの場合、アプリ部１５ａ毎の割り当て処理は不要である。したがって、例えばアプリ部１５ａが１つであり、かつ、暗号方式がＡＥＳの場合、割当部１２ａはなくてもよい。
【００３１】
ＯＳ１４ａは、通信装置１０ａのハードウェア上の動作を制御する基本ソフトウェアである。ＯＳ１４ａは、例えば仮想ＩＦ１６ａによるネットワークインタフェース機能、及び、実ＩＦ１８ａによる通信機能等を提供する。
【００３２】
アプリ部１５ａは、通信装置１０ａで動作する任意のアプリケーションである。
【００３３】
仮想ＩＦ１６ａ（第１の通信部）は、アプリ部１５ａに利用される仮想的なインタフェースである。仮想ＩＦ１６ａは、ＯＳ１４ａにより提供される通信機能（実ＩＦ１８ａ）と直接接続されていない。すなわち仮想ＩＦ１６ａには、直接対応する通信カード等のハードウェアが存在しない。そのかわり、仮想ＩＦ１６ａは、他の機能ブロック（図３の例では、暗号処理部１７ａ）と結びついている。仮想ＩＦ１６ａは、アプリ部１６ａからデータ（平文）を受け付けると、当該データを暗号処理部１７ａに入力する。
【００３４】
アプリ部１５ａは、仮想ＩＦ１６ａを経由して、暗号処理部１７ａによる暗号化処理（通信装置１０ｂに暗号化されたデータを送信する場合）、及び、復号処理（通信装置１０ｂから暗号化されたデータを受信した場合）を利用する。このときアプリ部１５ａは、仮想ＩＦ１６ａを介して通信しているにすぎないので、データが暗号化されているかどうか、どのような方式の暗号化が行われているか、については一切関知しない。このためアプリ部１５ａが暗号化機能を搭載しない一般的なアプリケーションであっても、暗号通信を行うことが可能となる。すなわち図３に示す通信装置１０ａの機能構成により、既存のアプリケーションの暗号化対応及び移植を容易にすることができる。
【００３５】
また、アプリ部１５ａ及び仮想ＩＦ１６ａは、複数存在してもよい。アプリ部１５ａ及び仮想ＩＦ１６ａが複数存在する場合、例えば各アプリ部１５ａは、それぞれ専用の仮想ＩＦ１６ａを介して暗号通信を行うようにしてもよい。また、このとき例えば暗号処理部１７ａも複数で構成し、各アプリ部１５ａ及び仮想ＩＦ部１６ａの組に対し、それぞれ異なる暗号方式の暗号処理を行う暗号処理部１７ａを接続してもよい。
【００３６】
暗号処理部１７ａは、送信鍵１３２ａを用いてデータを暗号化し、暗号化されたデータを実ＩＦ１８ａに入力する。暗号化されたデータは、通信装置１０ｂの暗号処理部１７ｂにより、受信鍵１３１ｂを用いて復号される。
【００３７】
また図３の例では、暗号処理部１７ａが、ＯＳ１４ａ上のソフトウェア機能であるように示されているが、暗号処理部１７ａは他の方法により実現されていてもよい。暗号処理部１７ａは、例えばＯＳ１４ａの機能として実現されていてもよいし、ＯＳ１４ａ上で動作するドライバによる機能として実現されていてもよい。また例えば、暗号処理部１７ａは、専用のハードウェアにより実現されていてもよい。
【００３８】
なお暗号処理部１７ａで使用される暗号方式は、生成装置２０ａにより生成された共有鍵を利用する暗号方式であれば任意でよい。暗号処理部１７ａで使用される暗号方式は、例えばＯＴＰ及びＡＥＳ等である。
【００３９】
生成装置２０ａ及び生成装置２０ｂによって共有された共有鍵は、盗聴されていないことが保証されているため、非常に安全性が高い。そのため、この共有鍵を用いて暗号通信を行うことで、高セキュリティ通信を実現することができる。
【００４０】
例えばＯＴＰを利用して暗号データ通信を行う場合、暗号化されたデータは、如何なる知識を有する盗聴者によっても解読できないことが情報理論によって保証される。ＯＴＰは、送受信するデータと同じ長さの共有鍵を用いて暗号化及び復号を行い、一度用いた共有鍵は以後使わずに捨ててゆく方式である。一方の通信装置で送信鍵として用いられた共有鍵は、他方の通信装置では、復号鍵として用いられる。
【００４１】
実ＩＦ１８ａ（第２の通信部）は、ＯＳ１４ａにより提供される通信機能である。実ＩＦ１８ａは、通信カード等のハードウェアに直接対応する。実ＩＦ１８ａは、暗号処理部１７ａから、暗号化されたデータを受け付けると、当該暗号化されたデータを通信装置１０ｂに送信する。
【００４２】
制御部１９ａは、通信装置１０ａの状態を示す状態情報を使用して、共有鍵の割り当て、仮想ＩＦ１６ａ（第１の通信部）の第１のトラフィック、及び、実ＩＦ１８ａ（第２の通信部）の第２のトラフィックのうち、少なくとも１つを制御する。また、制御部１９ａは、通信装置１０ｂの制御部１９ｂとの間で制御信号を送受信する。制御信号は、例えば制御部１９ａで行われた制御を識別する情報を含む。これにより、例えば通信装置１０ｂの制御部１９ｂが、制御部１９ａで行われた制御と同様の制御を行うことができる。制御部１９ａの動作の詳細については、図４を参照して後述する。
【００４３】
一方、実施形態の通信装置１０ｂは、受付部１１ｂ、割当部１２ｂ、記憶部１３ｂ、ＯＳ１４ｂ、アプリ部１５ｂ、仮想ＩＦ１６ｂ（第１の通信部）、暗号処理部１７ｂ、実ＩＦ１８ｂ及び制御部１９ｂを備える。通信装置１０ｂの構成は、通信装置１０ａの構成と同じである。
【００４４】
以下、通信装置１０ａ及び１０ｂを区別しない場合は、単に通信装置１０（受付部１１、割当部１２、記憶部１３、ＯＳ１４、アプリ部１５、仮想ＩＦ１６、暗号処理部１７、実ＩＦ１８及び制御部１９）という。
【００４５】
通信装置１０ｂの説明では、通信装置１０ａから送信された暗号化データの復号処理について説明する。受付部１１ｂ、割当部１２ｂ、記憶部１３ｂ及びＯＳ１４ｂの説明は、受付部１１ａ、割当部１２ａ、記憶部１３ａ及びＯＳ１４ａの説明と同様なので省略する。
【００４６】
実ＩＦ１８ｂは、通信装置１０ａから、暗号化されたデータを受信すると、当該暗号化されたデータを暗号処理部１７ｂに入力する。
【００４７】
暗号処理部１７ｂは、実ＩＦ１８ｂから、暗号化されたデータを受け付けると、当該暗号化されたデータの暗号化に用いられた送信鍵１３２ｂに対応する受信鍵１３１ｂを用いて、当該暗号化されたデータを復号する。そして暗号処理部１７ｂは、復号されたデータ（平文）を仮想ＩＦ１６ｂに入力する。
【００４８】
仮想ＩＦ１６ｂは、暗号処理部１７ｂから、復号されたデータを受け付けると、当該復号されたデータをアプリ部１５ｂに入力する。
【００４９】
アプリ部１５ｂは、仮想ＩＦ１６ｂから、復号されたデータを受け付けると、当該復号されたデータを使用して所定の処理を行う。
【００５０】
［制御部の機能構成］
次に制御部１９の動作の詳細について説明する。
【００５１】
図４は実施形態の制御部１９の機能構成の例を示す図である。実施形態の制御部１９は、取得部１９１、算出部１９２、判定部１９３、割当制御部１９４及びトラフィック制御部１９５を備える。
【００５２】
取得部１９１は、通信装置１０の状態を示す状態情報を、通信装置１０の１以上の機能ブロック、及び、生成装置２０のうち、少なくとも１つから取得する。
【００５３】
＜状態情報の例＞
図５は実施形態の状態情報の例を説明するための図である。図５の例は、通信装置１０ａが、受付部１１ａ、記憶部１３ａ、仮想ＩＦ１６ａ及び実ＩＦ１８ａ、並びに、生成装置２０ａから、状態情報を取得する場合を示す。
【００５４】
受付部１１ａから取得される状態情報は、例えば生成装置２０ａから共有鍵を受け付ける速度（生成装置２０ａによる共有鍵の生成速度）である。
【００５５】
記憶部１３ａから取得される状態情報は、例えば受信鍵１３１ａの蓄積量、及び、送信鍵１３２ａの蓄積量である。なおアプリ部１５ａが複数あり、かつ、受信鍵１３１ａ及び送信鍵１３２ａが、アプリ部１５ａ毎に割り当てられている場合、受信鍵１３１ａの蓄積量、及び、送信鍵１３２ａの蓄積量は、アプリ部１５ａ毎に取得される。
【００５６】
仮想ＩＦ１６ａから取得される状態情報は、例えば仮想ＩＦ１６ａの通信速度、仮想ＩＦ１６ａの第１の統計情報、及び、仮想ＩＦ１６ａのリンクの状態である。
【００５７】
第１の統計情報は、仮想ＩＦ１６ａから暗号処理部１７ａに入力されたパケットの数、仮想ＩＦ１６ａから暗号処理部１７ａに入力されたデータの量、仮想ＩＦ１６ａにより暗号処理部１７ａから受け付けられたパケットの数、仮想ＩＦ１６ａにより暗号処理部１７ａから受け付けられたデータの量、及び、仮想ＩＦ１６ａの第１のエラーのうち、少なくとも１つを含む。
【００５８】
仮想ＩＦ１６ａのリンクの状態は、仮想ＩＦ１６ａが現在利用されているか否かを示す。リンクの状態は、例えばリンクアップ、及び、リンクダウンである。リンクアップは、仮想ＩＦ１６ａが有効であることを示す。リンクダウンは、仮想ＩＦ１６ａが無効であることを示す。なお仮想ＩＦ１６ａのリンクの状態は、第１の統計情報に含まれる形で取得されてもよい。
【００５９】
第１のエラーは、例えばエラーの種類と対応付けられたエラーコードである。例えばアプリ部１５ａから仮想ＩＦ１６ａを介して暗号処理部１７ａにデータを入力したものの、暗号化するための送信鍵１３２ａが記憶部１３ａに存在しない場合（すなわち送信鍵が枯渇した時）等のエラーを、所定のエラーコードにより特定及びカウントすることができる。
【００６０】
実ＩＦ１８ａから取得される状態情報は、例えば実ＩＦ１８ａの通信速度（リンクアップ速度）、実ＩＦ１８ａの第２の統計情報、及び、実ＩＦ１８ａのリンクの状態である。
【００６１】
第２の統計情報は、実ＩＦ１８ａから、通信装置１０ｂ等の他の装置に送信されたパケットの数、実ＩＦ１８ａから、通信装置１０ｂ等の他の装置に送信されたデータの量、実ＩＦ１８ａにより、通信装置１０ｂ等の他の装置から受信されたパケットの数、実ＩＦ１８ａにより、通信装置１０ｂ等の他の装置から受信されたデータの量、及び、実ＩＦ１８ａの第２のエラーのうち、少なくとも１つを含む。
【００６２】
実ＩＦ１８ａのリンクの状態は、実ＩＦ１８ａが現在利用されているか否かを示す。リンクの状態は、例えばリンクアップ、及び、リンクダウンである。リンクアップは、実ＩＦ１８ａが有効であることを示す。リンクダウンは、実ＩＦ１８ａが無効であることを示す。なお実ＩＦ１８ａのリンクの状態は、第２の統計情報に含まれる形で取得されてもよい。
【００６３】
第２のエラーは、例えばエラーの種類と対応付けられたエラーコードである。例えば実ＩＦ１８ａに暗号化されたデータが入力されたものの、送信処理が追いつかずに廃棄した場合（すなわちパケットドロップ時）等のエラーを、所定のエラーコードにより特定することができる。
【００６４】
以下、仮想ＩＦ１６と実ＩＦ１８を区別しない場合、単にインタフェースという。また、第１の統計情報と第２の統計情報を区別しない場合、単に統計情報という。
【００６５】
図６は実施形態の統計情報の例を示す図である。図６の例は、統計情報が、送信されたパケットの数（ＴＸ  ｐａｃｋｅｔｓ）、送信データの量（ＴＸ  ｂｙｔｅｓ）、受信されたパケットの数（ＲＸ  ｐａｃｋｅｔｓ）、及び、受信データの量（ＲＸ  ｂｙｔｅｓ）等を含む場合を示す。
【００６６】
生成装置２０ａから取得される状態情報は、例えば単位時間当たりの共有鍵の生成速度（ｂｐｓ）、光子のカウントレート（ｂｐｓ）、及び、量子ビット誤り率（ＱＢＥＲ）である。光子のカウントレート、及び、量子ビット誤り率（ＱＢＥＲ）は、共有鍵の生成速度に影響する。
【００６７】
＜算出処理の例＞
図４に戻り、算出部１９２は、取得部１９１により取得された状態情報を使用して、判定部１９３による判定の対象となる情報を算出する。
【００６８】
算出部１９２は、例えば共有鍵を受け付ける速度、受信鍵１３１の蓄積量、送信鍵１３２の蓄積量、仮想ＩＦ１６の第１の通信速度、及び、実ＩＦ１８の第２の通信速度から、送信鍵１３２が枯渇するまでの送信鍵枯渇時間、及び、受信鍵１３１が枯渇するまでの受信鍵枯渇時間を算出する。
【００６９】
算出部１９２は、送信鍵枯渇時間を、例えば、送信鍵１３２の蓄積量／（通信速度−鍵生成速度）により算出する。鍵生成速度は、例えば共有鍵を受け付ける速度である。
【００７０】
通信速度は、仮想ＩＦ１６の第１の通信速度、及び、実ＩＦ１８の第２の通信速度のうち、遅い方である。なお例えば、仮想ＩＦ１６が複数あり、かつ、実ＩＦ１８が複数ある場合、仮想ＩＦ１６と実ＩＦ１８との組み合わせ毎に、通信速度を決定する。この場合、送信鍵枯渇時間は、仮想ＩＦ１６と実ＩＦ１８との組み合わせにより決定される通信装置１０内の通信経路毎に算出される。
【００７１】
同様に、算出部１９２は、受信鍵枯渇時間を、例えば、受信鍵１３１の蓄積量／（通信速度−鍵生成速度）により算出する。
【００７２】
＜判定処理及び制御処理の例＞
判定部１９３は、取得部１９１から上述の状態情報を受け付けると、当該状態情報、及び、算出部１９２により当該状態情報から算出された情報を使用して、受信鍵１３１又は送信鍵１３２の枯渇の恐れがあるか否か（または枯渇したか否か）を判定する。枯渇の恐れがある場合、割当制御部１９４が、割当部１２による共有鍵の割り当てを制御し、トラフィック制御部１９５が、仮想ＩＦ１６及び実ＩＦ１８の少なくとも一方のトラフィックを制御する。
【００７３】
受信鍵１３１又は送信鍵１３２の枯渇の恐れがある場合、割当部１２による共有鍵の割当制御、及び、トラフィック制御部１９５のトラフィック制御の一方が行われてもよいし、両方が行われてもよい。
【００７４】
図７は実施形態の割当制御方法の例を説明するための図である。図７の例は、制御部１９ａ（通信装置１０ａの割当制御部１９４）が、割当部１２ａによる共有鍵の割り当てを制御する場合を示す。
【００７５】
図８は実施形態のトラフィック制御方法の例を説明するための図である。トラフィックの制御は、あるインタフェースに対して、通信可能な帯域及び速度等に上限を課すものである。図８の例では、制御部１９ａ（通信装置１０ａのトラフィック制御部１９５）が、仮想ＩＦ１６ａの第１のトラフィック、及び、実ＩＦ１８ａの第２のトラフィックを制御しているが、いずれか一方を制御してもよい。
【００７６】
なお、トラフィックコントロールを行うためのツールとして、例えばｌｉｎｕｘ（登録商標）コマンドのｔｃ等が利用可能である。トラフィック制御部１９５が、トラフィック制御対象のインタフェースにｔｃコマンドを実行することにより、当該インタフェースのトラフィックを制御することができる。
【００７７】
なお図７及び図８の説明では、制御部１９ａの動作は、拠点Ａ側で説明した。しかしながら、拠点Ａ側の制御部１９ａの制御に基づいて、拠点Ｂ側に制御結果を示す制御信号を通知することにより、拠点Ａと拠点Ｂの両方で同様の制御を行ってもよい。なお共有鍵の割り当てについては、拠点Ａと拠点Ｂとで同様の割り当てをする必要があるので、制御結果を同期する。一方、トラフィック制御については、例えば一方の拠点（例えば通信装置１０ａ側）で制御し、他方の拠点では、一方の拠点と同様のトラフィック制御をしなくてもよい。例えば通信装置１０ｂの制御部１９ｂは、拠点Ａの通信装置１０ａの制御部１９ａとは独立に、上述のトラフィック制御をしてもよい。
【００７８】
図４に戻り、判定部１９３は、例えば、あるインタフェースにおける送信データのバイト数及びパケット数と、受信データのバイト数及びパケット数の値と、その比とから、将来のアプリ部１５の通信速度、及び、その送信データ及び受信データの量の比を予測することができる。単純な方法としては、現在の送信データ及び受信データの速度が将来も継続すると想定すること、あるいは、現在の送信データ及び受信データの量の比が将来も継続すると想定すること、あるいは、現在のアプリ毎の通信量の比が、将来も継続すると想定すること、である。
【００７９】
判定部１９３は、例えば、あるインタフェースにおける発生したエラーの数と、送信あるいは受信データのバイト数及びパケット数と、その時間変動を参照することで、該当インタフェースにおいて将来、鍵枯渇が発生する可能性を予測することができる。単純な方法としては、過去に鍵枯渇が発生したインタフェースにおいて、送信あるいは受信データのバイト数及びパケット数の変化（通信速度）が増加する場合は、鍵枯渇が発生する可能性があると予測することである。
【００８０】
なお、判定部１９３による判定方法、並びに、割当制御部１９４及びトラフィック制御部１９５による制御方法は、固定的でなくてもよく、例えば時間帯、曜日及び月等に応じて、異なる判定及び制御をしてもよい。
【００８１】
＜具体例＞
具体的には、判定部１９３は、例えば統計情報に含まれるリンクの状態を判定する。割当制御部１９４は、リンクダウンの場合、当該インタフェースを使用するアプリ部１５に受信鍵１３１及び送信鍵１３２を割り当てることを停止する停止要求を割当部１２に入力する。
【００８２】
また例えば、判定部１９３は、統計情報に含まれる送信されたデータのバイト数（パケット数）が、統計情報に含まれる受信されたデータのバイト数（パケット数）に比べて大きいか否かを判定する。統計情報に含まれる送信されたデータのバイト数（パケット数）が、統計情報に含まれる受信されたデータのバイト数（パケット数）に比べて大きい場合、当該インタフェースでは、受信鍵１３１よりも、送信鍵１３２の方が枯渇する可能性が高い。
【００８３】
したがって、統計情報に含まれる送信されたデータのバイト数（パケット数）が、統計情報に含まれる受信されたデータのバイト数（パケット数）に比べて大きい場合、例えば割当制御部１９４が、当該インタフェースを使用するアプリ部１５に、送信鍵１３２を優先的に割り当てる優先要求を、割当部１２に入力する。割り当てを優先させる度合いは、例えば送信されたデータ（パケット数）と受信されたデータのバイト数（パケット数）との比に応じて決定する。
【００８４】
なお、統計情報に含まれる送信されたデータのバイト数（パケット数）が、統計情報に含まれる受信されたデータのバイト数（パケット数）に比べて大きい場合、トラフィック制御部１９５が、当該インタフェースの送信側のトラフィックを制限してもよい。また、上述の割当制御部１９４による共有鍵の割り当て制御と、トラフィック制御部１９５によるトラフィック制御の両方が行われてもよい。
【００８５】
また例えば、判定部１９３は、統計情報に含まれるエラーの数が、閾値（第３の閾値）以上であるか否かを判定することにより、通信障害が発生しているか否かを判定する。エラーの数は、特定の１つの種類のエラー（例えばパケットドロップ等）の数でもよいし、統計情報に含まれる複数の異なる種類のエラーの数（複数の異なる種類のエラーの発生数の合計）でもよい。エラーの数が閾値以上の場合、割当制御部１９４が、共有鍵を、当該インタフェースを使用するアプリ部１５に割り当てることを停止する停止要求を割当部１２に入力する。
【００８６】
また例えば、判定部１９３は、統計情報に含まれる枯渇エラーの数（受信鍵枯渇エラー及び送信鍵枯渇エラー）を参照することで、該当のインタフェースを使用するアプリ部１５により使用される受信鍵１３１又は送信鍵１３２が枯渇する恐れがあるか否か（または受信鍵１３１又は送信鍵１３２が枯渇したか否か）を判定する。割当制御部１９４は、受信鍵１３１及び送信鍵１３２のうち、より枯渇する恐れが高い方を優先して、共有鍵を割り当てる。または、トラフィック制御部１９５は、受信鍵１３１及び送信鍵１３２のうち、より枯渇する恐れが高い方のインタフェースのトラフィックを制限する。なお割当制御部１９４により割当制御と、トラフィック制御部１９５によるトラフィック制御の両方を行ってもよい。
【００８７】
また例えば、判定部１９３は、受信鍵１３１（送信鍵１３２）の蓄積量の変動を判定する。割当制御部１９４は、受信鍵１３１（送信鍵１３２）が継続して増加している場合、割当部１２による受信鍵１３１（送信鍵１３２）の割り当てを制限する。一方、割当制御部１９４は、受信鍵１３１（送信鍵１３２）が継続して減少している場合、割当部１２による受信鍵１３１（送信鍵１３２）の割り当てを優先する。
【００８８】
また例えば、判定部１９３は、単位時間当たりの共有鍵の生成速度の変動を判定する。割当制御部１９４は、単位時間当たりの共有鍵の生成速度が継続して増加している場合、割当部１２による受信鍵１３１（送信鍵１３２）の割り当て処理の頻度を高くする。一方、割当制御部１９４は、単位時間当たりの共有鍵の生成速度が継続して減少している場合、割当部１２による受信鍵１３１（送信鍵１３２）の割り当て処理の頻度を低くする。
【００８９】
また例えば、判定部１９３は、上述の受信鍵枯渇時間、及び、上述の送信鍵枯渇時間のどちらがより短いかを判定する。割当制御部１９４は、受信鍵枯渇時間が送信鍵枯渇時間よりも短い場合、受信鍵１３１の割り当てを優先させる優先要求を割当部１２に入力する。一方、割当制御部１９４は、送信鍵枯渇時間が受信鍵枯渇時間よりも短い場合、送信鍵１３２の割り当てを優先させる優先要求を割当部１２に入力する。
【００９０】
また例えば、判定部１９３は、送信鍵枯渇時間が閾値（第１の閾値）以下であるか否かを判定する。送信鍵枯渇時間が閾値以下である場合、トラフィック制御部１９５が、送信鍵枯渇時間がより長くなるように、仮想ＩＦ１６の送信側の第１のトラフィック、及び、実ＩＦ１８の送信側の第２のトラフィックの少なくとも一方を制限する。
【００９１】
また例えば、判定部１９３は、受信鍵枯渇時間が閾値（第２の閾値）以下であるか否かを判定する。受信鍵枯渇時間が閾値以下である場合、トラフィック制御部１９５が、受信鍵枯渇時間がより長くなるように、仮想ＩＦ１６の受信側の第１のトラフィック、及び、実ＩＦ１８の受信側の第２のトラフィックの少なくとも一方を制限する。
【００９２】
第１のトラフィックの制限、及び、第２のトラフィックの制限は、アプリ部１５毎に行われてもよい。すなわちトラフィック制御部１９５が、アプリ部１５により送受信するデータの量を、アプリ部１５毎に制限することにより、第１のトラフィック、及び、第２のトラフィックを制限する。
【００９３】
また、第１のトラフィックの制限、及び、第２のトラフィックの制限は、インタフェース毎に行われてもよい。すなわちトラフィック制御部１９５は、仮想ＩＦ１６が複数ある場合、仮想ＩＦ１６毎に第１のトラフィックを制限する。同様に、トラフィック制御部１９５は、実ＩＦ１８が複数ある場合、実ＩＦ１８毎に第２のトラフィックを制限する。
【００９４】
また例えば、判定部１９３は、統計情報を参照して、送信データの量、及び、受信データの量が少なく、通信をほとんど行っていないインタフェースがあるか否かを判定する。通信をほとんど行っていないインタフェースがある場合、割当制御部１９４が、該当のインタフェースを使用するアプリ部１５には、受信鍵１３１及び送信鍵１３２を割り当てることを停止する停止要求を、割当部１２に入力する。
【００９５】
また例えば、判定部１９３は、アプリ部１５が複数あり、かつ、仮想ＩＦ１６が複数ある場合、各仮想ＩＦ１６から取得された統計情報を参照し、通信量が閾値以上のアプリ部１５（仮想ＩＦ１６）には、受信鍵１３１及び送信鍵１３２を優先的に割り当てる優先要求を、割当部１２に入力する。一方、判定部１９３は、通信量が閾値未満のアプリ部１５（仮想ＩＦ１６）には、受信鍵１３１及び送信鍵１３２を割り当てない停止要求を、割当部１２に入力する。
【００９６】
なお、上述のトラフィック制御部１９５によるトラフィック制御の結果、暗号通信が遅延する場合、及び、暗号通信データの一部が損失する可能性がある。これらは、より上位の通信プロトコルによる再送制御や誤り訂正（ＦＥＣ：Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）機能等を組み合わせることによって、対応することを想定する。例えば、アプリ部１５で、ＴＣＰ／ＩＰに基づいたフロー制御及び再送制御等を行うことによって、データ通信の頑健性が維持される。
【００９７】
また割当部１２は、制御部１９から上述の停止要求を受け付けた場合、当該停止要求を受け付ける前に、割り当て停止対象（アプリ部１５等）に既に割り当てられていた受信鍵１３１（送信鍵１３２）は、そのまま割り当てを維持してもよい。
【００９８】
［通信方法］
次に実施形態の通信方法について説明する。
【００９９】
＜共有鍵の割当制御＞
図９は実施形態の割当制御方法の例を示すフローチャートである。図９の例では、簡単のため、アプリ部１５、仮想ＩＦ１６及び実ＩＦ１８が、それぞれ１つである場合について説明する。すなわち通信装置１０ａ内の通信経路が１つであり、かつ、アプリ部１５毎に受信鍵１３１及び送信鍵１３２を割り当てない場合について説明する。
【０１００】
はじめに、取得部１９１が、上述の状態情報を、通信装置１０の１以上の機能ブロック、及び、生成装置２０から取得する（ステップＳ１）。
【０１０１】
次に、算出部１９２が、ステップＳ１の処理で取得された状態情報から、上述の送信鍵枯渇時間を算出する（ステップＳ２）。
【０１０２】
次に、算出部１９２が、ステップＳ１の処理で取得された状態情報から、上述の受信鍵枯渇時間を算出する（ステップＳ３）。
【０１０３】
次に、判定部１９３が、受信鍵枯渇時間よりも送信鍵枯渇時間の方が大きいか否かを判定する（ステップＳ４）。受信鍵枯渇時間よりも送信鍵枯渇時間の方が大きい場合（ステップＳ４、Ｙｅｓ）、割当制御部１９４が、共有鍵を受信鍵１３１に優先的に割り当てる（ステップＳ５）。受信鍵枯渇時間よりも送信鍵枯渇時間の方が大きくない場合（ステップＳ４、Ｎｏ）、割当制御部１９４が、共有鍵を送信鍵１３２に優先的に割り当てる（ステップＳ６）。
【０１０４】
＜トラフィック制御＞
図１０は実施形態のトラフィック制御方法の例を示すフローチャートである。図１０の例では、簡単のため、アプリ部１５、仮想ＩＦ１６及び実ＩＦ１８が、それぞれ１つである場合について説明する。すなわち通信装置１０ａ内の通信経路が１つであり、かつ、アプリ部１５毎に受信鍵１３１及び送信鍵１３２を割り当てない場合について説明する。
【０１０５】
ステップＳ１１〜ステップＳ１３の説明は、図９のステップＳ１〜ステップＳ３の説明と同じなので省略する。
【０１０６】
次に、判定部１９３が、送信鍵枯渇時間が第１の閾値以下であるか否かを判定する（ステップＳ１４）。
【０１０７】
送信鍵枯渇時間が第１の閾値以下である場合（ステップＳ１４、Ｙｅｓ）、トラフィック制御部１９５が、送信鍵枯渇時間がより長くなるように、仮想ＩＦ１６の送信側の第１のトラフィック、及び、実ＩＦ１８の送信側の第２のトラフィックの少なくとも一方を制限する（ステップＳ１５）。送信鍵枯渇時間が第１の閾値以下でない場合（ステップＳ１４、Ｎｏ）、処理はステップＳ１６に進む。
【０１０８】
受信鍵枯渇時間が第２の閾値以下である場合（ステップＳ１６、Ｙｅｓ）、トラフィック制御部１９５が、受信鍵枯渇時間がより長くなるように、仮想ＩＦ１６の受信側の第１のトラフィック、及び、実ＩＦ１８の受信側の第２のトラフィックの少なくとも一方を制限する（ステップＳ１７）。受信鍵枯渇時間が第２の閾値以下でない場合（ステップＳ１６、Ｎｏ）、処理を終了する。
【０１０９】
［通信システムのハードウェア構成］
最後に実施形態の通信システム１００のハードウェア構成の例について説明する。
【０１１０】
＜通信装置のハードウェア構成＞
図１１は実施形態の通信装置１０のハードウェア構成の例を示す図である。実施形態の通信装置１０は、制御装置２０１、主記憶装置２０２、補助記憶装置２０３、表示装置２０４、入力装置２０５、通信ＩＦ２０６及び接続ＩＦ２０７を備える。制御装置２０１、主記憶装置２０２、補助記憶装置２０３、表示装置２０４、入力装置２０５、通信ＩＦ２０６及び接続ＩＦ２０７は、バス２１０を介して接続されている。
【０１１１】
制御装置２０１は補助記憶装置２０３から主記憶装置２０２に読み出されたプログラムを実行する。主記憶装置２０２はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及び、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリである。補助記憶装置２０３はメモリカード、及び、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
【０１１２】
表示装置２０４は情報を表示する。表示装置２０４は、例えば液晶ディスプレイである。入力装置２０５は、情報の入力を受け付ける。入力装置２０５は、例えばキーボード及びマウス等である。なお表示装置２０４及び入力装置２０５は、表示機能と入力機能とを兼ねる液晶タッチパネル等でもよい。
【０１１３】
通信ＩＦ２０６は、他の通信装置１０と暗号データ通信する。接続ＩＦ２０７は、生成装置２０と接続される。接続ＩＦ２０７は、例えば生成装置２０から共有鍵を受信する。
【０１１４】
実施形態の通信装置１０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、及び、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０１１５】
また実施形態の通信装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態の通信装置１０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１１６】
また実施形態の通信装置１０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１１７】
実施形態の通信装置１０で実行されるプログラムは、上述の実施形態の通信装置１０の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【０１１８】
プログラムにより実現される機能は、制御装置２０１が補助記憶装置２０３等の記憶媒体からプログラムを読み出して実行することにより、プログラムにより実現される機能が主記憶装置２０２にロードされる。すなわちプログラムにより実現される機能は、主記憶装置２０２上に生成される。
【０１１９】
実施形態の通信装置１０の機能の一部又は全部を、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【０１２０】
＜生成装置のハードウェア構成＞
図１２は実施形態の生成装置２０のハードウェア構成の例を示す図である。実施形態の生成装置２０は、制御装置３０１、主記憶装置３０２、補助記憶装置３０３、光学処理装置３０４、通信ＩＦ３０５及び接続ＩＦ３０６を備える。制御装置３０１、主記憶装置３０２、補助記憶装置３０３、光学処理装置３０４、通信ＩＦ３０５及び接続ＩＦ３０６は、バス３１０を介して接続されている。
【０１２１】
制御装置３０１、主記憶装置３０２及び補助記憶装置３０３の説明は、上述の制御装置２０１、主記憶装置２０２及び補助記憶装置２０３の説明（図１１参照）と同様なので省略する。
【０１２２】
光学処理装置３０４は、上述の量子通信路１０１を介して、上述の単一光子を送信または受信する。通信装置ＩＦ３０５は、上述の古典通信路１０２を介して他の生成装置２０と通信する。接続ＩＦ３０６は、通信装置１０と接続される。接続ＩＦ３０６は、例えば通信装置１０に共有鍵を送信する。
【０１２３】
実施形態の生成装置２０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、及び、ＤＶＤ等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０１２４】
また実施形態の生成装置２０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態の生成装置２０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１２５】
また実施形態の生成装置２０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１２６】
実施形態の生成装置２０で実行されるプログラムは、上述の実施形態の生成装置２０の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【０１２７】
プログラムにより実現される機能は、制御装置３０１が補助記憶装置３０３等の記憶媒体からプログラムを読み出して実行することにより、プログラムにより実現される機能が主記憶装置３０２にロードされる。すなわちプログラムにより実現される機能は、主記憶装置３０２上に生成される。
【０１２８】
実施形態の生成装置２０の機能の一部又は全部を、ＩＣ等のハードウェアにより実現してもよい。
【０１２９】
以上説明したように、実施形態の通信装置１０では、受付部１１が、他の装置と共有する共有鍵を受け付ける。割当部１２が、共有鍵を送信鍵１３２又は受信鍵１３１に割り当てる。１以上の仮想ＩＦ１６（第１の通信部）が、１以上のアプリ部１５からデータを受け付ける。暗号処理部１７が、送信鍵１３２を用いてデータを暗号化し、他の装置により暗号化されたデータを、受信鍵１３１を用いて復号する。１以上の実ＩＦ１８（第２の通信部）が、暗号化されたデータにより、他の装置と通信する。そして制御部１９が、通信装置１０の状態を示す状態情報を使用して、共有鍵の割り当て、仮想ＩＦ１６の第１のトラフィック、及び、実ＩＦ１８の第２のトラフィックのうち、少なくとも１つを制御する。
【０１３０】
これにより実施形態の通信装置１０によれば、暗号処理に使用される鍵（受信鍵１３１及び送信鍵１３２）が枯渇することを防ぐことができる。
【０１３１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３２】
１０  通信装置
１１  受付部
１２  割当部
１３  記憶部
１４  ＯＳ
１５  アプリ部
１６  仮想ＩＦ
１７  暗号処理部
１８  実ＩＦ
１９  制御部
２０  生成装置
１００  通信システム
１０１  量子通信路
１０２  古典通信路
１３１  受信鍵
１３２  送信鍵
１９１  取得部
１９２  算出部
１９３  判定部
１９４  割当制御部
１９５  トラフィック制御部
２０１  制御装置
２０２  主記憶装置
２０３  補助記憶装置
２０４  表示装置
２０５  入力装置
２０６  通信ＩＦ
２０７  接続ＩＦ
２１０  バス
３０１  制御装置
３０２  主記憶装置
３０３  補助記憶装置
３０４  光学処理装置
３０５  通信ＩＦ
３０６  接続ＩＦ
３１０  バス
【図１】
2018029283.tif 000003
【図２】
2018029283.tif 000004
【図３】
2018029283.tif 000005
【図４】
2018029283.tif 000006
【図５】
2018029283.tif 000007
【図６】
2018029283.tif 000008
【図７】
2018029283.tif 000009
【図８】
2018029283.tif 000010
【図９】
2018029283.tif 000011
【図１０】
2018029283.tif 000012
【図１１】
2018029283.tif 000013
【図１２】
2018029283.tif 000014