(57)【要約】      （修正有）【課題】変動する速度で生成され続ける共有鍵を、複数のチャネルに、通信先の装置と同期をとりながら効率的に割り当てる。【解決手段】通信装置は、記憶部と、受付部と、記憶制御部と、複数の通信チャネルと、割当部と、暗号処理部と、を備える。記憶部は、通信先の装置と共有する共有鍵を１以上記憶可能な記憶領域を、所定の数、有する。記憶制御部は、共有鍵が受け付けられる度に、受け付けられた共有鍵を記憶領域のいずれかに記憶する。割当部は、暗号化されたデータにより、通信先の装置と通信する複数の通信チャネルに、記憶領域を、保有されている共有鍵を通信チャネルが利用できる割合に応じて、割り当てる。暗号処理部は、通信チャネルに割り当てられた記憶領域から取得した共有鍵を用いて、通信チャネル毎に定められた暗号方式により、データの暗号化と、暗号化されたデータの復号とを行う。【選択図】図４
2018033079.tif 000002
【特許請求の範囲】
【請求項１】
通信先の装置と共有する１以上の共有鍵を記憶可能な記憶領域を、所定の数、有する記憶部と、
前記共有鍵を受け付ける受付部と、
前記共有鍵が受け付けられる度に、受け付けられた前記共有鍵を前記記憶領域のいずれかに記憶する記憶制御部と、
暗号化されたデータにより、前記通信先の装置と通信する複数の通信チャネルに、前記記憶領域を、保有されている前記共有鍵を前記通信チャネルが利用できる割合に応じて、割り当てる割当部と、
前記通信チャネルに割り当てられた前記記憶領域から取得した前記共有鍵を用いて、前記通信チャネル毎に定められた暗号方式により、データの暗号化と、前記暗号化されたデータの復号とを行う暗号処理部と、
を備える通信装置。
【請求項２】
前記割合を、前記通信チャネル毎に指定する入力を受け付けるユーザインタフェース部を更に備える、
請求項１に記載の通信装置。
【請求項３】
前記暗号処理部は、前記通信チャネルに割り当てられた前記記憶領域から前記共有鍵を取得することにより、データの暗号化又は前記暗号化されたデータの復号に用いる共有鍵を更新する、
請求項２に記載の通信装置。
【請求項４】
前記共有鍵の更新頻度が、前記通信チャネル毎に定められた閾値以下となった場合、前記共有鍵の更新頻度が、前記通信チャネル毎に定められた閾値以下となったことを通知する通知部、
を更に備える請求項３に記載の通信装置。
【請求項５】
前記共有鍵の更新頻度が閾値以下となった前記通信チャネルの暗号方式を、他の暗号方式に変更する変更部、
を更に備える請求項３に記載の通信装置。
【請求項６】
前記共有鍵の更新頻度が閾値以下となった前記通信チャネルの通信を停止する通信制御部、
を更に備える請求項３に記載の通信装置。
【請求項７】
前記所定の数は、前記通信チャネルの数、前記通信装置の通信ハードウェアインタフェースの数、及び、前記通信装置の通信速度とは独立に定められた数である、
請求項１に記載の通信装置。
【請求項８】
前記暗号処理部は、前記通信チャネルに割り当てられた前記記憶領域に前記共有鍵が記憶される度に、前記通信チャネルに割り当てられた前記記憶領域から前記共有鍵を取得することにより、データの暗号化又は前記暗号化されたデータの復号に用いる共有鍵を更新する、
請求項１に記載の通信装置。
【請求項９】
前記暗号処理部は、前記受付部が前記共有鍵を受け付ける速度と、前記通信チャネルが前記共有鍵を利用できる割合と、に応じた間隔で、前記通信チャネルに割り当てられた前記記憶領域から前記共有鍵を取得することにより、データの暗号化又は前記暗号化されたデータの復号に用いる共有鍵を更新する、
請求項２に記載の通信装置。
【請求項１０】
前記通信装置は、量子鍵配送により前記共有鍵を生成する生成装置と接続され、
前記受付部は、前記生成装置から前記共有鍵を受け付ける、
請求項１に記載の通信装置。
【請求項１１】
複数の通信装置を備える通信システムであって、
前記通信装置は、
通信先の装置と共有する共有鍵を１以上記憶可能な記憶領域を、所定の数、有する記憶部と、
前記共有鍵を受け付ける受付部と、
前記共有鍵が受け付けられる度に、受け付けられた前記共有鍵を前記記憶領域のいずれかに記憶する記憶制御部と、
暗号化されたデータにより、前記通信先の装置と通信する複数の通信チャネルに、前記記憶領域を、保有されている前記共有鍵を前記通信チャネルが利用できる割合に応じて、割り当てる割当部と、
前記通信チャネルに割り当てられた前記記憶領域から取得した前記共有鍵を用いて、前記通信チャネル毎に定められた暗号方式により、データの暗号化と、前記暗号化されたデータの復号とを行う暗号処理部と、
を備える通信システム。
【請求項１２】
通信先の装置と共有する共有鍵を１以上記憶可能な記憶領域を、所定の数、有する通信装置の通信方法であって、
前記共有鍵を受け付けるステップと、
前記共有鍵が受け付けられる度に、受け付けられた前記共有鍵を前記記憶領域のいずれかに記憶するステップと、
暗号化されたデータにより、前記通信先の装置と通信する複数の通信チャネルに、前記記憶領域を、保有されている前記共有鍵を前記通信チャネルが利用できる割合に応じて、割り当てるステップと、
前記通信チャネルに割り当てられた前記記憶領域から取得した前記共有鍵を用いて、前記通信チャネル毎に定められた暗号方式により、データの暗号化と、前記暗号化されたデータの復号とを行うステップと、
を含む通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は通信装置、通信システム及び通信方法に関する。
【背景技術】
【０００２】
光ファイバーを介して接続された送信ノードと、受信ノードとの間で連続的に送信される単一光子を利用して、暗号データ通信用の共有鍵を安全に共有する量子鍵配送（ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）が、従来から知られている。
【０００３】
量子鍵配送システム（量子暗号通信システム）では、共有鍵の生成速度は、拠点間の距離、及び、光ファイバーの品質等にも依存するが、数ｋｂｐｓ〜数百ｋｂｐｓである。また共有鍵の生成速度は、光ファイバーの外部環境及び外乱、並びに、送信ノード及び受信ノードの設置環境等に応じて変動する。さらには、盗聴と疑われる攻撃がある場合、共有鍵の生成速度が急激に減少したり、停止したりする可能性がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７６４６８７３号公報
【特許文献２】特許第５７３４９３４号公報
【特許文献３】特許第４０１５３８５号公報
【特許文献４】特開２０１４−０１７５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の量子鍵配送技術では、変動する速度で生成され続ける共有鍵を、複数のチャネルに、通信先の装置と同期をとりながら効率的に割り当てることが難しかった。
【課題を解決するための手段】
【０００６】
実施形態の通信装置は、記憶部と、受付部と、記憶制御部と、割当部と、暗号処理部と、を備える。記憶部は、通信先の装置と共有する共有鍵を１以上記憶可能な記憶領域を、所定の数、有する。受付部は前記共有鍵を受け付ける。記憶制御部は、前記共有鍵が受け付けられる度に、受け付けられた前記共有鍵を前記記憶領域のいずれかに記憶する。割当部は、暗号化されたデータにより、前記通信先の装置と通信する複数の通信チャネルに、保有されている前記共有鍵を前記通信チャネルが利用できる割合に応じて、前記記憶領域を割り当てる。暗号処理部は、前記通信チャネルに割り当てられた前記記憶領域から取得した前記共有鍵を用いて、前記通信チャネル毎に定められた暗号方式により、データの暗号化と、前記暗号化されたデータの復号とを行う。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の通信システムの装置構成の例を示す図。
【図２】第１実施形態の共有鍵の生成方法の例を説明するための図。
【図３】第１実施形態の通信システムの概略を説明するための図。
【図４】第１実施形態の通信装置の機能構成の例を示す図。
【図５】第１実施形態の通信装置の設定の例を示す図。
【図６】第１実施形態の割当処理の例を示す図。
【図７】第１実施形態のデータを暗号化する処理の例を示す図。
【図８】第１実施形態の送信方法の例を示すフローチャート。
【図９】第１実施形態の受信方法の例を示すフローチャート。
【図１０】第２実施形態の通信装置の機能構成の例を示す図。
【図１１】第２実施形態の通信装置の設定の例を示す図。
【図１２】第３実施形態の通信システムの装置構成の例を示す図。
【図１３】第１乃至第３実施形態の通信装置のハードウェア構成の例を示す図。
【図１４】第１乃至第３実施形態の通信装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、通信装置、通信システム及び通信方法の実施形態を詳細に説明する。
【０００９】
（第１実施形態）
はじめに、第１実施形態の通信システムについて説明する。
【００１０】
［通信システムの装置構成］
図１は第１実施形態の通信システム１００の装置構成の例を示す図である。第１実施形態の通信システム１００は、通信装置１０ａ、通信装置１０ｂ、生成装置２０ａ及び生成装置２０ｂを備える。通信装置１０ａ及び生成装置２０ａは、拠点Ａに設置される。通信装置１０ｂ及び生成装置２０ｂは、拠点Ｂに設置される。第１実施形態の通信システム１００は、暗号化されたデータにより、拠点Ａと拠点Ｂとの間で通信するシステムである。
【００１１】
第１実施形態の説明では、通信装置１０ａがデータを暗号化し、通信装置１０ｂが暗号化されたデータを復号する場合を例にして説明する。なお通信装置１０ｂがデータを暗号化し、通信装置１０ａが暗号化されたデータを復号してもよい。
【００１２】
通信装置１０ａは、生成装置２０ａにより生成された共有鍵を使用してデータを暗号化し、暗号化されたデータを、通信装置１０ｂに送信する。暗号化されたデータの通信方式は、有線でも無線でもよいし、有線と無線とを組み合わせてもよい。暗号化されたデータの通信方式は、例えばイーサネット（登録商標）である。通信装置１０ａは、例えば拠点Ａ内の機器が、拠点Ｂ内の機器と通信するための中継装置（ルータ及びスイッチ等）である。
【００１３】
通信装置１０ｂは、暗号化されたデータを、生成装置２０ｂにより生成された共有鍵を使用して復号する。通信装置１０ｂは、例えば拠点Ｂ内の機器が、拠点Ａ内の機器と通信するための中継装置（ルータ及びスイッチ等）である。
【００１４】
生成装置２０ａ及び生成装置２０ｂは、互いに共有する共有鍵を、量子鍵配送により生成する。
【００１５】
以下、通信装置１０ａ及び通信装置１０ｂを区別しない場合は、単に通信装置１０という。同様に、生成装置２０ａ及び生成装置２０ｂを区別しない場合は、単に生成装置２０という。
【００１６】
＜量子鍵配送＞
次に量子鍵配送により共有鍵を生成する方法の例について説明する。
【００１７】
図２は第１実施形態の共有鍵の生成方法の例を説明するための図である。第１実施形態の生成装置２０ａ及び生成装置２０ｂは、量子通信路１０１及び古典通信路１０２により接続される。
【００１８】
量子通信路１０１は、０又は１を示す単一光子から構成される光子列を送信する。量子通信路１０１は、例えば光ファイバーリンクである。
【００１９】
古典通信路１０２はデータを送信する。古典通信路１０２を介して送信されるデータは、例えば生成装置２０ａ及び２０ｂにより実行される鍵蒸留処理（シフティング処理、誤り訂正処理及び秘匿性増強処理）の制御データである。古典通信路１０２は、有線でも無線でもよいし、有線と無線とを組み合わせて実現されていてもよい。古典通信路１０２は、例えばイーサネット（登録商標）である。
【００２０】
生成装置２０ａ及び２０ｂは、互いに共有する共有鍵を、量子鍵配送により生成する。共有鍵は、０又は１を示すデジタルデータの列により表される乱数である。具体的には、生成装置２０ａは、レーザのパルスにより単一光子を発生させ、当該単一光子から構成される光子列を、量子通信路１０１を介して、生成装置２０ｂに送信する。生成装置２０ａ及び生成装置２０ｂは、鍵蒸留処理を実行することにより、光子列から共有鍵を生成する。生成装置２０ａ及び生成装置２０ｂは、共有鍵に、当該共有鍵を識別するＩＤを付与する。
【００２１】
量子通信路１０１上で光子列を送受信する方法には、様々なバリエーションがある。量子通信路１０１上で光子列を送受信する方法として、例えばＢＢ８４プロトコルが使用される。ＢＢ８４プロトコルが使用される場合、量子通信路１０１上の光子列が盗聴されると、量子力学の原理により、光子の量子状態（光子の偏光方向）が変化する。これにより受信側で検出される量子ビット誤り率（ＱＢＥＲ：Ｑｕａｎｔｕｍ  Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）が上昇する。したがって生成装置２０ａ及び生成装置２０ｂは、量子通信路１０１上の光子列が盗聴されている場合、量子通信路１０１上の光子列が盗聴されていることを、量子ビット誤り率の異常から検出することができる。これにより生成装置２０ａ及び２０ｂは、光子列から安全に共有鍵を生成することができる。
【００２２】
なお、図２では、生成装置２０ａと生成装置２０ｂとの間が直接、接続されている。しかしながら、例えば各生成装置２０が複数の拠点の生成装置２０と通信する場合は、上述の通信装置１０を介して、各生成装置２０を接続してもよい。
【００２３】
また、生成装置２０が、共有鍵を生成するために行う光子の転送、及び、上述の制御データの送受信を、通信装置１０ａと通信装置１０ｂとの間で行うようにしてもよい。例えば通信装置１０が、複数の拠点の通信装置１０と光ファイバーで接続されている場合、暗号化されたデータが送受信される光ファイバーと同一の光ファイバーを用いて、光子を転送してもよい。なお生成装置２０が、通信装置１０を介して光子を送信する場合でも、暗号化されたデータの送受信とは異なる専用の光ファイバーを用いて、光子を転送してもよい。
【００２４】
また、図１の例では、１台の通信装置１０に、１つの生成装置２０が接続されているが、１台の通信装置１０に、複数の生成装置２０が接続される構成でもよい。または、拠点内の複数の通信装置１０が、１つの生成装置２０を共有する構成でもよい。
【００２５】
［通信システムの概略］
次に第１実施形態の通信システム１００の概略について説明する。
【００２６】
図３は第１実施形態の通信システム１００の概略を説明するための図である。第１実施形態の通信システム１００は、拠点Ａと拠点Ｂとの間で暗号通信するための通信インフラ（通信リンク）を実現する。例えば拠点Ａにある機器上で動作するアプリケーションは、通信装置１０ａ及び生成装置２０ａにより、拠点Ｂにある機器上で動作するアプリケーションと暗号通信することができる。
【００２７】
通信システム１００は、通信チャネル１及び通信チャネル２を有するマルチチャネル暗号通信システムである。以下、通信チャネル１及び通信チャネル２を区別しない場合、単に通信チャネルという。
【００２８】
通信チャネルは通信制御の対象である。通信チャネルは、例えば通信装置１０の接続ポート毎に区別されてもよい。接続ポートは、例えばイーサネット（登録商標）ケーブルを接続するインタフェースである。また例えば、通信チャネルは、ソースＩＰアドレス及びソースＴＣＰポートの組み合わせ毎に区別されるＴＣＰコネクションでもよい。また例えば、通信装置１０が光波長多重等の手法により多重化された通信方式を用いる場合、通信チャネルは、通信用に割り当てられる波長でもよい。
【００２９】
また例えば、通信装置１０の通信機能を仮想化する場合、通信チャネルは、仮想化された通信機能により制御されるトラフィックでもよい。通信機能の仮想化の例は、例えばＶＬＡＮである。具体的には、通信装置１０のＶＬＡＮ設定により、異なるＶＬＡＮ  ＩＤを割り当てた個々のＶＬＡＮが、通信チャネルである。また例えば、ＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）、及び、ＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）のように、通信機能をソフトウェアにより実現することにより、通信機能を仮想化してもよい。具体的には、ソフトウェアにより実現された通信機能のそれぞれが、通信チャネルである。
【００３０】
通信チャネルの数、及び、各通信チャネルの設定は、例えば通信装置１０のユーザインタフェースによって、自由に追加、削除及び変更等ができる。
【００３１】
通信チャネル１を使用する暗号通信と、通信チャネル２を使用する暗号通信と、は独立の暗号通信である。例えば通信チャネル１を使用する暗号通信の暗号方式と、通信チャネル２を使用する暗号通信の暗号方式と、は異なっていてもよい。また通信チャネル１及び通信チャネル２は、暗号化されなくてもよい。
【００３２】
なお図３の例では、簡単のため、通信チャネルの数を２つの場合で説明しているが、通信チャネルは１以上の任意の個数でよい。
【００３３】
通信システム１００の概略について、拠点Ａの通信装置１０ａから拠点Ｂの通信装置１０ｂに、暗号化されたデータを送信する場合について説明する。
【００３４】
記憶部１１ａは、生成装置２０ａにより生成された共有鍵を記憶する。割当部１２ａは、共有鍵を記憶する記憶部１１ａの記憶領域を、通信チャネル１及び通信チャネル２に割り当てる。暗号処理部１３ａは、通信チャネルに割り当てられた記憶領域から取得した共有鍵を、送信鍵（暗号鍵）として用いて、通信チャネル毎に定められた暗号方式により、拠点Ａの送信元の装置から送信されたデータを暗号化する。そして暗号処理部１３ａは、暗号化されたデータを通信装置１０ｂに送信する。
【００３５】
一方、記憶部１１ｂは、生成装置２０ｂにより生成された共有鍵を記憶する。割当部１２ｂは、共有鍵を記憶する記憶部１１ａの記憶領域を、通信チャネル１及び通信チャネル２に割り当てる。暗号処理部１３ｂは、通信チャネルに割り当てられた記憶領域から取得した共有鍵を受信鍵（復号鍵）として用いて、通信チャネル毎に定められた暗号方式により、暗号化されたデータを復号する。そして暗号処理部１３ａは、復号されたデータを、拠点Ｂの送信先の装置に送信する。
【００３６】
なお、記憶部１１ａは、通信装置１０ａの外部にあってもよい。同様に、記憶部１１ｂは、通信装置１０ｂの外部にあってもよい。
【００３７】
上述のように、割当部１２ａが、共有鍵を複数の暗号通信主体（通信チャネル）に割り当てることにより、複数の種類の暗号通信を同時に（個別に）実現することが可能となる。すなわち第１実施形態の通信システム１００によれば、一対の通信インフラ（通信リンク）を、複数の仮想通信インフラ（仮想通信リンク）に仮想化することができる。
【００３８】
上述の通信システム１００が、複数の仮想通信リンクを運用上の要請に基づいて、動的に追加したり削除したりすることを想定すると、これは、ＳＤＮ、あるいはＮＦＶに近い考え方であると言える。
【００３９】
［通信装置の機能構成］
次に第１実施形態の通信装置１０の機能構成の例について詳細に説明する。
【００４０】
図４は第１実施形態の通信装置１０の機能構成の例を示す図である。図４の説明では、通信装置１０ａが、暗号化されたデータを通信装置１０ｂに送信し、通信装置１０ｂが、暗号化されたデータを復号する場合を例にして説明する。なお通信装置１０ｂが、暗号化されたデータを通信装置１０ａに送信し、通信装置１０ａが、暗号化されたデータを復号してもよい。
【００４１】
第１実施形態の通信装置１０ａは、記憶部１１ａ、割当部１２ａ、暗号処理部１３ａ、受付部１４ａ、記憶制御部１５ａ、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部１６ａ、イントラＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）部１７ａ、転送部１８ａ及び外部Ｉ／Ｆ部１９ａを備える。
【００４２】
記憶部１１ａは、１以上の共有鍵を記憶可能な記憶領域を、所定の数、有する。１以上の共有鍵を記憶可能な記憶領域は、例えば所定のデータサイズの１００個の記憶領域である。なお、記憶部１１ａは、通信装置１０ａの外部にあってもよい。
【００４３】
受付部１４ａは、生成装置２０ａから共有鍵を受け付けると、当該共有鍵を記憶制御部１５ａに入力する。
【００４４】
記憶制御部１５ａは、受付部１４ａから共有鍵を受け付けると、当該共有鍵を上述の記憶領域のいずれかに記憶する。記憶制御部１５ａは、例えば共有鍵をラウンドロビン方式により、複数の記憶領域に順番に記憶する。
【００４５】
ＵＩ部１６ａは、ユーザによる入力を受け付ける。ＵＩ部１６ａは、例えば通信装置１０ａの設定を示す入力を受け付ける。ＵＩ部１６ａは、例えば通信チャネルが通信装置１０ａに保有されている共有鍵を利用できる割合を、通信チャネル毎に指定する入力を受け付ける。
【００４６】
＜通信装置の設定の例＞
図５は実施形態の通信装置１０ａの設定の例を示す図である。図５の例は、通信装置１０ａに接続可能な端末等から入力されたコマンドの例を示す。なお♯以降の文字列は、コマンドの説明を示すコメントである。
【００４７】
１行目のＣｒｙｐｔｏ  ｍａｐ  ｅｘａｍｐｌｅ−ｍａｐ  １０  ｉｐｓｅｃ−ｉｓａｋｍｐは、暗号方式（ｅｘａｍｐｌｅ−ｍａｐ）を設定するコマンドである。１行目のコマンドは、新たな暗号方式設定の定義を開始する行である。ここでは、ＩＰｓｅｃ方式の暗号化を定義する場合を示す。
【００４８】
２行目〜７行目のコマンドは、暗号方式設定の具体例である。
【００４９】
２行目のｓｅｔ  ｐｅｅｒ  １．２．０．２は、通信先の装置を指定するコマンドである。ここでは、通信先の装置として、通信装置１０ｂのＩＰアドレスを指定する場合を示す。
【００５０】
３行目のｓｅｔ  ｔｒａｎｓｆｏｒｍ−ｓｅｔ  ｅｘａｍｐｌｅ−ｔｒａｎｓｆｏｒｍは、暗号方式の詳細設定を行うコマンドである。なお詳細設定の内容を示すｅｘａｍｐｌｅ−ｔｒａｎｓｆｏｒｍは、別途、定義されている。ｅｘａｍｐｌｅ−ｔｒａｎｓｆｏｒｍは、例えばＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の暗号アルゴリズム、及び、当該暗号アルゴリズムの鍵長（例えば２５６ビット）等を含む。３行目のコマンドは、別途、定義されているｅｘａｍｐｌｅ−ｔｒａｎｓｆｏｒｍを適用する場合を示す。
【００５１】
４行目のｍａｔｃｈ  ａｄｄｒｅｓｓ  ｅｘａｍｐｌｅ−ａｃｌは、暗号化の対象となるトラフィック種別を指定するコマンドである。なお３行目の場合と同様に、トラフィック種別の具体的な情報は、別途ＡＣＬ（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）の形で、ｅｘａｍｐｌｅ−ａｃｌに設定されている。４行目のコマンドは、別途、定義されているｅｘａｍｐｌｅ−ａｃｌを適用する場合を示す。
【００５２】
５行目〜７行目は、暗号化処理及び復号処理に使用される共有鍵の更新頻度を設定するコマンドである。
【００５３】
５行目のｓｅｔ  ｓｅｃｕｒｉｔｙ−ａｓｓｏｃｉａｔｉｏｎ  ｌｉｆｅｔｉｍｅ  ｋｉｌｏｂｙｔｅｓ  ４０９６は、本暗号方式（ｅｘａｍｐｌｅ−ｍａｐ）によって暗号データを４Ｍバイト（４０９６ｋバイト）転送する度に、共有鍵を更新する設定をするコマンドである。
【００５４】
６行目のｓｅｔ  ｓｅｃｕｒｉｔｙ−ａｓｓｏｃｉａｔｉｏｎ  ｌｉｆｅｔｉｍｅ  ｓｅｃｏｎｄｓ  １０８００は、３時間（１０８００秒）経過する度に、共有鍵を更新する設定をするコマンドである。
【００５５】
７行目のｓｅｔ  ｓｅｃｕｒｉｔｙ−ａｓｓｏｃｉａｔｉｏｎ  ｆｒｅｑｕｅｎｃｙ  ｑｋｄｒａｔｉｏ  ３０は、本実施形態で新たに提案する共有鍵の更新方式を設定するコマンドである。７行目のコマンドは、生成装置２０ａの量子鍵配送機能によって生成される共有鍵のうち、３０％を本暗号通信に割り当てる設定をする場合の例である。上述の通り、量子鍵配送によって生成される共有鍵の生成速度は変動する。そのため、量子鍵配送によって生成される共有鍵を、通信装置１０ａで保有されている共有鍵の全体のリソースからの割合として指定する本設定は、事前に定められたデータ転送量、及び、事前に定められた時間経過に基づかない。すなわち共有鍵の更新頻度及び更新間隔も変動することを意味する。
【００５６】
なお５行目〜７行目のコマンドはどれも、共有鍵の更新頻度に関する設定である。ここでは、単に、３種類の設定例を説明するために記載している。５行目〜７行目のように、複数の共有鍵の更新頻度の設定を同時に行う場合、全ての条件のうちいずれか一つが満たされた時に共有鍵を更新してもよい。また５行目及び６行目のコマンドの入力は省略されてよい。
【００５７】
８行目のＩｎｔｅｒｆａｃｅ  ｉｎｔｅｒｆａｃｅ−ｉｄは、通信装置１０ａの特定の通信インタフェース（通信チャネル）の設定を開始するコマンドである。
【００５８】
９行目のｃｒｙｐｔｏ  ｍａｐ  ｅｘａｍｐｌｅ−ｍａｐは、８行目のコマンドで指定された通信インタフェースに、暗号方式（ｅｘａｍｐｌｅ−ｍａｐ）を適用するコマンドである。
【００５９】
図４に戻り、割当部１２ａは、上述の通信チャネルと、上述の記憶領域とを関連付けることにより、通信チャネルに記憶領域を割り当てる。暗号処理部１３ａは、データを暗号化して送信する際に、送信に使用される通信チャネルに割り当てられた記憶領域の共有鍵を、送信鍵として利用する。また、暗号処理部１３ａは、暗号化されたデータを復号する際に、暗号化されたデータの受信に使用された通信チャネルに割り当てられた記憶領域の共有鍵を、受信鍵として利用する。
【００６０】
割当部１２ａは、通信チャネルと記憶領域との関連付けを示す関連付け情報を、転送部１８ａを介して通信装置１０ｂに送信する。このような通信を鍵同期制御通信と呼ぶ。鍵同期制御通信により、関連付け情報が、通信装置１０ａと通信装置１０ｂとの間で同期される。
【００６１】
なお鍵同期制御通信は、割当部１２ａが、関連付け情報を生成装置２０ａに送信することにより、生成装置２０ａと生成装置２０ｂとの間で行ってもよい。
【００６２】
また関連付け情報は、通信装置１０ａと通信装置１０ｂとの間で、共有されている必要があるが、関連付け情報は、通信装置１０ａ及び通信装置１０ｂの起動時等に、予め設定されてもよい。この場合は、関連付け情報を同期するための鍵同期制御通信は不要である。
【００６３】
＜割当処理の例＞
図６は第１実施形態の割当処理の例を示す図である。記憶制御部１５ａは、受付部１４ａから共有鍵を受け付けると、当該共有鍵を、予め用意された所定の数の記憶領域に記憶する。図６の例では、記憶領域Ｐ１〜Ｐ１００として、１００個の記憶領域（パイル）がある場合を示す。記憶制御部１５ａは、例えばラウンドロビン方式により、共有鍵を記憶領域Ｐ１〜Ｐ１００に順番に記憶する。
【００６４】
記憶領域Ｐの数は、通信チャネルの数、通信装置１０ａの通信ハードウェアインタフェースの数、及び、通信装置１０ａの通信速度等には依存しない数（独立に定められた数）である。なお記憶領域Ｐの数は幾つであってもよい。ＵＩ部１６ａは、例えば記憶領域Ｐが１００個の場合、チャネルへの共有鍵の割り当て比率を、０％〜１００％まで１％単位で受け付けることができる。また例えば、ＵＩ部１６ａは、記憶領域Ｐの数が１０個の場合、通信チャネルへの共有鍵の割り当て比率を０％〜１００％まで１０％単位で受け付けることができる。
【００６５】
なお通信装置１０ａが複数の生成装置２０と接続されている場合、記憶制御部１５ａが、異なる生成装置２０ａの量子鍵配送により生成された共有鍵を、同一の記憶領域Ｐに記憶することは、共有鍵の管理が難しくなる等の理由により好ましくない。
【００６６】
ＵＩ部１６ａは、例えば上述のｓｅｔ  ｓｅｃｕｒｉｔｙ−ａｓｓｏｃｉａｔｉｏｎ  ｆｒｅｑｕｅｎｃｙ  ｑｋｄｒａｔｉｏコマンド（図５参照）により、通信チャネル１（ＣＨ１）が共有鍵を利用できる割合を９０％とし、通信チャネル２（ＣＨ２）が共有鍵を利用できる割合を１０％とする設定を受け付ける。この場合、割当部１２ａは、例えば記憶領域Ｐ１〜Ｐ９０を通信チャネル１に割り当て、記憶領域Ｐ９１〜Ｐ１００を通信チャネル２に割り当てる。
【００６７】
なお１つの通信チャネルに複数の記憶領域Ｐが関連付けられることは可能であるが、１つの記憶領域Ｐに複数の通信チャネルが関連付けられることはできない。
【００６８】
また割当部１２ａは、更に、送信鍵として利用するか、受信鍵として利用するかを区別して記憶領域Ｐを割り当ててもよい。例えば、割当部１２ａは、記憶領域Ｐ１〜Ｐ９０のうち、記憶領域Ｐ１〜Ｐ４５を通信チャネル１の送信鍵に割り当て、記憶領域Ｐ４６〜Ｐ９０を通信チャネル１の受信鍵に割り当ててもよい。また例えば、割当部１２ａは、記憶領域Ｐ９１〜Ｐ１００のうち、記憶領域Ｐ９１〜Ｐ９５を通信チャネル２の送信鍵に割り当て、記憶領域Ｐ９６〜Ｐ１００を通信チャネル２の受信鍵に割り当ててもよい。
【００６９】
図４に戻り、イントラＩ／Ｆ部１７ａは、拠点Ａ内の１以上の機器と接続するインタフェースである。イントラＩ／Ｆ部１７ａの接続規格は、例えばイーサネット（登録商標）である。イントラＩ／Ｆ部１７ａは、機器と通信装置１０ａとの間でデータを転送する。イントラＩ／Ｆ部１７ａは、複数の機器と接続するための接続ポートを複数、有していてもよい。
【００７０】
イントラＩ／Ｆ部１７ａで送受信されるデータは、暗号化されていない。通信装置１０ａの暗号機能を利用する場合、イントラＩ／Ｆ部１７ａで受信されたデータは、外部Ｉ／Ｆ部１９ａを介して通信装置１０ｂに送信される前に、暗号処理部１３ａにより暗号化される。一方、外部Ｉ／Ｆ部１９ａで受信された暗号化されたデータは、イントラＩ／Ｆ部１７ａを介して、拠点Ａ内の機器に送信される前に、暗号処理部１３ａにより復号される。
【００７１】
転送部１８ａはデータを転送する。具体的には、転送部１８ａは、イントラＩ／Ｆ部１７ａにより受信されたデータを、外部Ｉ／Ｆ部１９ａに転送する。また転送部１８ａは、外部Ｉ／Ｆ部１９ａにより受信されたデータを、イントラＩ／Ｆ部１７ａに転送する。
【００７２】
なお転送部１８ａは、データを転送する際に、データのフォーマットの変更を行ってもよい。転送部１８ａは、例えばパケットヘッダの一部を変更してもよい。また転送部１８ａは、アドレス変換（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）等の一般的なパケット転送（スイッチ機能）を提供してもよい。転送部１８ａは、スイッチ機能により、イントラＩ／Ｆ部１７ａにより受信されたデータを、再度、イントラＩ／Ｆ部１７ａに転送してもよい。
【００７３】
転送部１８ａは、データを暗号化する場合、当該データの暗号化要求を暗号処理部１３ａに入力する。また転送部１８ａは、暗号化されたデータを復号する場合、当該暗号化されたデータの復号要求を暗号処理部１３ａに入力する。
【００７４】
暗号処理部１３ａは、転送部１８ａから、データの暗号化要求を受け付けると、当該データを暗号化する。また暗号処理部１３ａは、転送部１８ａから、暗号化されたデータの復号要求を受け付けると、当該暗号化されたデータを復号する。
【００７５】
図７は第１実施形態のデータを暗号化する処理の例を示す図である。図７の例は、転送部１８ａが、イントラＩ／Ｆ部１７ａからデータを受け付け、暗号処理部１３ａが当該データを暗号化する場合を示す。
【００７６】
転送部１８ａは、イントラＩ／Ｆ部１７ａから受け付けたデータの送信に使用する通信チャネルを特定する。図７の例では、特定される通信チャネルは、通信チャネル２である。そして転送部１８ａは、通信チャネル２で使用される暗号方式でデータを暗号化する暗号化要求を、暗号処理部１３ａに入力する。
【００７７】
なお転送部１８ａが、イントラＩ／Ｆ部１７ａに流入するトラフィック（データ）の種別を判定する方法は既存の技術を利用できる。また、転送部１８ａが、当該トラフィックの種別から、当該データの送信に使用される通信チャネルを特定し、特定された通信チャネルの暗号方式を選択する方法も、既存の技術を利用できる。
【００７８】
暗号処理部１３ａは、通信チャネル２の暗号方式が、量子鍵配送により得られた共有鍵を用いる暗号方式の場合、当該通信チャネル２に関連付けられている記憶領域Ｐに記憶されている共有鍵を、送信鍵として使用して、データを暗号化する。
【００７９】
図７の例では、通信チャネル２には、記憶領域Ｐ９１〜記憶領域Ｐ１００が関連付けられている。そのため暗号処理部１３ａは、記憶領域Ｐ９１〜記憶領域Ｐ１００のいずれかに記憶された共有鍵を、送信鍵として用いることにより、データを暗号化する。
【００８０】
なお、図７の例のように、１つの通信チャネルに複数の記憶領域Ｐが関連付けられている場合、どの記憶領域Ｐの共通鍵を用いるかを決定する方法には、様々な方法が考えられる。最も単純な方法では、記憶領域Ｐに振られたＩＤ（ここではＰ９１〜Ｐ１００といった番号）が若い方から順番に一つずつ共通鍵を使っていく方法がある。このルールに従えば、通信装置１０ａと通信装置１０ｂとの間で、記憶領域Ｐと通信チャネルとの関連付けさえ正しく同期されていれば、共通鍵を利用する度に、上述の鍵同期制御通信を行う必要性はない。
【００８１】
なお、共通鍵を更新する頻度を決定する方法にもバリエーションが考えられる。例えば、記憶制御部１５ａが、通信チャネルに関連付けられた記憶領域Ｐのいずれかに共通鍵を記憶するタイミングで、当該通信チャネルの暗号化に使用される共通鍵を更新する方法がある。すなわち、暗号処理部１３ａは、通信チャネルに割り当てられた記憶領域Ｐに共有鍵が記憶される度に、通信チャネルに割り当てられた記憶領域Ｐから共有鍵を取得することにより、データの暗号化（送信時）又は暗号化されたデータの復号（受信時）と、に用いる共有鍵を更新する。
【００８２】
また例えば、通信チャネルに関連付けられた記憶領域Ｐの数と、記憶領域Ｐの全体数との比率と、量子鍵配送の速度と、の掛け算の結果求められる、通信チャネルに割り当てられた共通鍵配信速度を計算し、その共通鍵配信速度に基づいて、共通鍵の更新頻度（更新間隔）を決定する方法がある。すなわち、暗号処理部１３ａは、受付部１４ａが共有鍵を受け付ける速度と、通信チャネルが共有鍵を利用できる割合と、に応じた間隔で、通信チャネルに割り当てられた記憶領域Ｐから共有鍵を取得することにより、データの暗号化（送信時）又は暗号化されたデータの復号（受信時）に用いる共有鍵を更新する。例えば、記憶領域Ｐ１〜Ｐ１００のうち、記憶領域Ｐ１〜Ｐ５０（５０％）が割り当てられている通信チャネルの場合、暗号処理部１３ａは、記憶部１１ａに共有鍵が記憶されるタイミングのうち、２回に１回の割合で、データの暗号化（送信時）又は暗号化されたデータの復号（受信時）に用いる共有鍵を更新する。これにより、共有鍵がラウンドロビン方式で記憶領域Ｐ１〜Ｐ１００に記憶される場合、記憶領域Ｐ１〜Ｐ５０に共有鍵が記憶される度に、データの暗号化（送信時）又は暗号化されたデータの復号（受信時）に用いる共有鍵を更新する方法に比べて、更新間隔を平均化することができる。
【００８３】
暗号処理部１３ａは、共有鍵を更新するタイミングでない場合、記憶領域Ｐから最後に取得された共有鍵を使用して、データの暗号化（送信時）又は暗号化されたデータの復号（受信時）を行う。
【００８４】
なお暗号化のアルゴリズムには、様々なアルゴリズムが利用可能である。暗号化アルゴリズムは、例えばＡＥＳ及びＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等のブロック暗号である。また暗号化アルゴリズムは、ＯＴＰでもよい。なおデータのどの部分が暗号化されるかについても、様々なバリエーションが考えられる。暗号化される部分（暗号化範囲）は、例えばデータのＴＣＰ及びＵＤＰ等のペイロード部分を暗号化するレイヤ４暗号化でもよい。また例えば、暗号化される部分は、ＩＰパケットのデータ部分を暗号化するレイヤ３暗号化でもよい。また例えば、暗号化される部分は、イーサネット（登録商標）フレームのデータ部分を暗号化するレイヤ２の暗号化でもよいし、レイヤ１の暗号化であってもよい。実際に暗号鍵を利用するタイミング毎に、暗号通信インフラ装置間で、利用する鍵のＩＤを同期するための通信を実施したり、または、暗号通信パケットに鍵のＩＤを含めるように構成したりして、暗号化に利用している鍵の一致を確認するその他の手法を併用するように構成してもよい。
【００８５】
図４に戻り、外部Ｉ／Ｆ部１９ａは、インターネット及びキャリア網等を介して、拠点Ｂの通信装置１０ｂと接続するインタフェースである。通信装置１０ａの暗号機能を利用する場合、外部Ｉ／Ｆ部１９ａにより送信されるデータは、暗号処理部１３ａにより暗号化される。一方、外部Ｉ／Ｆ部１９ａにより受信された暗号化されたデータは、暗号処理部１３ａにより平文データに復号される。
【００８６】
なお上述の生成装置２０ａと生成装置２０ｂとの接続には、光ファイバーを用いるが、外部Ｉ／Ｆ部１９ａと外部Ｉ／Ｆ部１９ｂとの間の接続は、光ファイバーであってもよいし、イーサネット（登録商標）等であってもよい。
【００８７】
また外部Ｉ／Ｆ部１９ａと外部Ｉ／Ｆ部１９ｂとの間の通信速度は、数Ｇｂｐｓ、数Ｔｂｐｓの高速な通信であってもよい。このような高速通信を実現する上で光ファイバーの多重化及び光波長多重等の技術が使われてもよい。このとき、一以上の通信波長を上述の通信チャネルとして割り当て、割り当てられた通信波長を同時に用いて高速通信を行ってもよい。この場合、通信チャネルの通信速度も数Ｇｂｐｓ、数Ｔｂｐｓの高速な通信となりうる。
【００８８】
一方、第１実施形態の通信装置１０ｂは、記憶部１１ｂ、割当部１２ｂ、暗号処理部１３ｂ、受付部１４ｂ、記憶制御部１５ｂ、ＵＩ部１６ｂ、イントラＩ／Ｆ部１７ｂ、転送部１８ｂ及び外部Ｉ／Ｆ部１９ｂを備える。通信装置１０ｂの構成は、通信装置１０ａの構成と同じである。
【００８９】
以下、通信装置１０ａ及び１０ｂの機能ブロックを区別しない場合は、単に通信装置１０（記憶部１１、割当部１２、暗号処理部１３、受付部１４、記憶制御部１５、ＵＩ部１６、イントラＩ／Ｆ部１７、転送部１８及び外部Ｉ／Ｆ部１９）という。
【００９０】
通信装置１０ｂの説明では、通信装置１０ａから送信された暗号化データの復号処理について説明する。割当部１２ｂ、受付部１４ｂ、記憶制御部１５ｂ及びＵＩ部１６ｂの説明は、割当部１２ａ、受付部１４ａ、記憶制御部１５ａ及びＵＩ部１６ａの説明と同様なので省略する。
【００９１】
外部Ｉ／Ｆ部１９ｂは、通信装置１０ａから、暗号化されたデータを受信すると、当該暗号化されたデータを転送部１８ｂに入力する。
【００９２】
転送部１８ｂは、外部Ｉ／Ｆ部１９ｂから、暗号化されたデータを受け付けると、当該暗号化されたデータの復号要求を暗号処理部１３ｂに入力する。
【００９３】
暗号処理部１３ｂは、転送部１８ｂから、暗号化されたデータの復号要求を受け付けると、当該暗号化されたデータの暗号化に用いられた送信鍵に対応する受信鍵を用いて、当該暗号化されたデータを復号する。暗号処理部１３ｂは、例えば送信側の通信装置１０ａの記憶領域Ｐ１０に記憶された共有鍵が送信鍵として使用されていた場合、記憶部１１ｂの記憶領域Ｐ１０に記憶された共有鍵を受信鍵として使用する。
【００９４】
そして暗号処理部１３ｂは、復号されたデータ（平文データ）を転送部１８ｂに入力する。
【００９５】
転送部１８ｂは、暗号処理部１３ｂから、平文データを受け付けると、当該平文データを、イントラＩ／Ｆ部１７ｂに入力する。
【００９６】
イントラＩ／Ｆ部１７ｂは、転送部１８ｂから、平文データを受け付けると、当該平文データを、拠点Ｂ内の送信先の機器に送信する。
【００９７】
［通信方法］
次に第１実施形態の通信方法について説明する。
【００９８】
＜送信方法＞
図８は第１実施形態の送信方法の例を示すフローチャートである。はじめに、イントラＩ／Ｆ部１７ａが、拠点Ａ内の機器からデータを受信する（ステップＳ１）。
【００９９】
次に、転送部１８ａが、ステップＳ１の処理で受信されたデータの宛先となる通信装置１０ｂを特定し、パケットフォーマット（宛先アドレス等）を変換する（ステップＳ２）。次に、転送部１８ａが、データの送信に使用される通信チャネルを特定する（ステップＳ３）。次に、転送部１８ａが、ステップＳ３で特定された通信チャネルで使用される暗号方式を選択する（ステップＳ４）。
【０１００】
次に、暗号処理部１３ａが、送信鍵を更新するタイミングか否かを判定する（ステップＳ５）。送信鍵を更新するタイミングの場合（ステップＳ５、Ｙｅｓ）、暗号処理部１３ａが、通信チャネルに関連付けられた記憶領域Ｐから、共有鍵を取得する（ステップＳ６）。送信鍵を更新するタイミングでない場合（ステップＳ５、Ｎｏ）、暗号処理部１３ａは、通信チャネルに関連付けられた記憶領域Ｐから、最後に取得された共有鍵（暗号処理部１３ａに保持されている共有鍵）を使用する（ステップＳ７）。
【０１０１】
次に、暗号処理部１３ａは、送信鍵を使用して、ステップＳ４の処理により選択された暗号方式により、ステップＳ１の処理で受信されたデータを暗号化する（ステップＳ８）。
【０１０２】
次に、転送部１８ａが、外部Ｉ／Ｆ部１９ａを介して、ステップＳ８の処理により暗号化されたデータを、ステップＳ２の処理により特定された宛先の通信装置１０ｂに送信する（ステップＳ９）。
【０１０３】
＜受信方法＞
図９は第１実施形態の受信方法の例を示すフローチャートである。はじめに、外部Ｉ／Ｆ部１９ｂが、拠点Ａの通信装置１０ａから、暗号化されたデータを受信する（ステップＳ２１）。
【０１０４】
次に、転送部１８ｂが、ステップＳ２１の処理で受信された暗号化されたデータの宛先となる拠点Ｂ内の機器を特定し、パケットフォーマット（宛先アドレス等）を変換する（ステップＳ２２）。次に、転送部１８ｂが、暗号化されたデータの受信に使用された通信チャネルを特定する（ステップＳ２３）。次に、転送部１８ｂが、ステップＳ２３で特定された通信チャネルで使用される復号方式（暗号化に使用された暗号方式）を選択する（ステップＳ２４）。
【０１０５】
次に、暗号処理部１３ｂが、受信鍵を更新するタイミングか否かを判定する（ステップＳ２５）。受信鍵を更新するタイミングの場合（ステップＳ２５、Ｙｅｓ）、暗号処理部１３ｂが、通信チャネルに関連付けられた記憶領域Ｐから、共有鍵を取得する（ステップＳ２６）。受信鍵を更新するタイミングでない場合（ステップＳ２５、Ｎｏ）、暗号処理部１３ｂは、通信チャネルに関連付けられた記憶領域Ｐから、最後に取得された共有鍵（暗号処理部１３ｂに保持されている共有鍵）を使用する（ステップＳ２７）。
【０１０６】
次に、暗号処理部１３ｂは、受信鍵を使用して、ステップＳ２４の処理により選択された復号方式により、ステップＳ２１の処理で受信された暗号化されたデータを復号する（ステップＳ２８）。
【０１０７】
次に、転送部１８ｂが、イントラＩ／Ｆ部１７ｂを介して、ステップＳ２８の処理により復号されたデータ（平文データ）を、ステップＳ２２の処理により特定された宛先の機器に送信する（ステップＳ２９）。
【０１０８】
以上説明したように、第１実施形態の通信装置１０では、記憶部１１が、通信先の装置と共有する共有鍵を１以上記憶可能な記憶領域を、所定の数、有する。受付部１４が共有鍵を受け付ける。記憶制御部１５が、共有鍵が受け付けられる度に、受け付けられた共有鍵を記憶領域Ｐのいずれかに記憶する。割当部１２が、暗号化されたデータにより、通信先の装置と通信する複数の通信チャネルに、通信チャネルが通信装置１０に保有されている共有鍵を利用できる割合に応じて、記憶領域Ｐを割り当てる。そして、暗号処理部１３が、通信チャネルに割り当てられた記憶領域Ｐから取得した共有鍵を用いて、通信チャネル毎に定められた暗号方式により、データの暗号化と、暗号化されたデータの復号とを行う。
【０１０９】
これにより第１実施形態の通信装置１０によれば、変動する速度で生成され続ける共有鍵を、複数のチャネルに、通信先の装置と同期をとりながら効率的に割り当てることができる。
【０１１０】
具体的には、第１実施形態の通信装置１０では、記憶領域Ｐと通信チャネルとの関連付けを示す関連付け情報を拠点間で同期すればよいので、拠点間で各通信チャネルにどの共通鍵を用いるべきか、を同期するために必要な処理手順が大幅に簡略化される。従来の通信方法では、例えば個々の共通鍵をどの通信チャネルで用いて暗号化するかを、共通鍵の更新の度に同期する必要があった。また例えば、従来の通信方法では、蓄積された共通鍵をどのようなルールで、各通信チャネルに割り当てるか等の詳細情報を同期する処理が必要だった。
【０１１１】
また従来の通信装置では、例えばＡＥＳの様なブロック暗号アルゴリズムを利用する場合、共有鍵の更新頻度は、「一定時間間隔毎」または「一定量のデータ転送毎」に設定されることが通例だった。ところが、量子鍵配送を利用して生成される共有鍵の生成速度が変動する。
【０１１２】
したがって、例えば事前に定められた時間間隔で共有鍵を更新することは問題を生じさせる。具体的には、以下に述べる２種類の問題が生じうる。
【０１１３】
（Ａ）共有鍵の生成速度が上昇した際、共有鍵の更新間隔が一定であると、共有鍵が余ってしまい、共有鍵が溢れてしまう。また、利用可能な共有鍵を利用しない（共有鍵を更新しない）ことは、共有鍵リソースの効率の低下につながる。
【０１１４】
（Ｂ）共有鍵の生成速度が低下した際、共有鍵の更新間隔が一定であるとすると、共有鍵が不足し、共有鍵の更新処理が失敗する。
【０１１５】
一方、第１実施形態の通信装置１０では、ＵＩ部１６が、通信チャネルが通信装置１０に保有されている共有鍵を利用できる割合を、通信チャネル毎に指定する入力を受け付ける。そして割当部１２が、ＵＩ部１６により受け付けられた入力（図５、７行目参照）に応じて、通信チャネルに記憶領域Ｐを割り当てる。
【０１１６】
これにより第１実施形態の通信装置１０によれば、変動する速度で生成され続ける共有鍵を、複数のチャネルに効率的に割り当てることができるので、上記（Ａ）及び（Ｂ）の問題を解決することができる。
【０１１７】
（第２実施形態）
次に第２実施形態について説明する。第２実施形態の説明では、第１実施形態と同様の説明については省略し、第１実施形態と異なる箇所について説明する。
【０１１８】
上述の第１実施形態の通信装置１０では、量子鍵配送を利用して生成された共有鍵の生成速度と、当該共有鍵の割り当て対象となるインタフェース（通信チャネル）への割合とに応じて、当該インタフェースに使用される共有鍵の更新頻度が決定される。
【０１１９】
すなわち第１実施形態の通信装置１０では、共有鍵の更新頻度が変動することになる。共有鍵の更新頻度が変動すること自体は、受け入れ可能である。しかしながら、そもそも、量子暗号通信を用いる理由は、頻繁に共有鍵の更新が可能になり、結果としてより高い安全性が確保できるからである。したがって共有鍵の更新頻度が、想定以上に低下する（共有鍵の更新間隔が広くなる）ことは望ましくない。
【０１２０】
そのため第２実施形態では、想定以上に共有鍵の更新頻度が低下する（共有鍵の更新間隔が広くなる）場合に、これに対処できる構成について説明する。
【０１２１】
第２実施形態の通信システム１００の装置構成は、第１実施形態の通信システム１００の装置構成と同じなので省略する。
【０１２２】
［通信装置の機能構成］
図１０は第２実施形態の通信装置１０の機能構成の例を示す図である。通信装置１０ａ及び１０ｂの構成は同じなので、通信装置１０ａについて説明する。
【０１２３】
第２実施形態の通信装置１０ａは、記憶部１１ａ、割当部１２ａ、暗号処理部１３ａ、受付部１４ａ、記憶制御部１５ａ、ＵＩ部１６ａ、イントラＩ／Ｆ部１７ａ、転送部１８ａ、外部Ｉ／Ｆ部１９ａ、判定部３１ａ、通知部３２ａ、変更部３３ａ、古典鍵交換部３４ａ及び通信制御部３５ａを備える。第２実施形態の通信装置１０ａは、判定部３１ａ、通知部３２ａ、変更部３３ａ、古典鍵交換部３４ａ及び通信制御部３５ａを更に備える点が、第１実施形態の通信装置１０ａの機能構成とは異なる。
【０１２４】
第２実施形態の記憶部１１ａ、割当部１２ａ、暗号処理部１３ａ、受付部１４ａ、記憶制御部１５ａ、イントラＩ／Ｆ部１７ａ、転送部１８ａ及び外部Ｉ／Ｆ部１９ａの説明は、第１実施形態の記憶部１１ａ、割当部１２ａ、暗号処理部１３ａ、受付部１４ａ、記憶制御部１５ａ、イントラＩ／Ｆ部１７ａ、転送部１８ａ及び外部Ｉ／Ｆ部１９ａの説明と同様なので省略する。
【０１２５】
ＵＩ部１６ａは、ユーザによる入力を受け付ける。ＵＩ部１６ａは、例えば通信装置１０ａの設定を示す入力を受け付ける。
【０１２６】
＜通信装置の設定の例＞
図１１は第２実施形態の通信装置１０の設定の例を示す図である。１行目〜７行目のコマンドの説明は、第１実施形態の通信装置１０の設定の例（図５、１行目〜７行目参照）と同じなので省略する。また１３行目及び１４行目のコマンドの説明は、第１実施形態の通信装置１０の設定の例（図５、８行目及び９行目参照）と同じなので省略する。
【０１２７】
８行目〜１２行目は、想定以上に共有鍵の更新頻度が低下した（共有鍵が更新されるまでの間隔が広くなる）場合の通信装置１０ａの動作を設定するコマンドである。なお８行目〜１２行目のコマンドの入力は、省略されてもよいが、その場合、第２実施形態の通信装置１０の動作は、第１実施形態の通信装置１０の動作と同様になる。
【０１２８】
８行目のｓｅｔ  ｎｏｔｉｆｉｃａｔｉｏｎ  ｔｈｒｅｓｈｏｌｄ  ｌｉｆｅｔｉｍｅ  ｓｅｃｏｎｄｓ  ６０は、共有鍵の更新間隔が、指定された間隔（ここでは６０秒）以上となった場合、所定の宛先にアラーム通知を行う設定をするコマンドである。なおアラーム通知の詳細な設定（例えばアラームの種別及びメールアドレス等）は、別途、設定がなされる。なおアラーム通知は、通信装置１０から出力されるビープ音等の音でもよい。
【０１２９】
９行目のｓｅｔ  ｆａｌｌ−ｄｏｗｎ  ｔｈｒｅｓｈｏｌｄ  ｌｉｆｅｔｉｍｅ  ｓｅｃｏｎｄｓ  １２０は、共有鍵の更新間隔が、指定された間隔（ここでは１２０秒）以上となった場合、量子鍵配送方式による共有鍵の更新を、その他の暗号方式による共有鍵の更新に変更する（フォールダウンする）設定をするコマンドである。その他の暗号方式は、例えばＲＳＡやＤＨ（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）等の古典鍵交換方式である。
【０１３０】
１０行目のｓｅｔ  ｆａｌｌ−ｄｏｗｎ  ｔｒａｎｓｆｏｒｍ−ｓｅｔ  ｆａｌｌｄｏｗｎ−ｔｒａｎｓｆｏｒｍは、量子鍵配送方式から変更されるその他の暗号方式を具体的に定義するコマンドである。その他の暗号方式（ｆａｌｌｄｏｗｎ−ｔｒａｎｓｆｏｒｍ）の詳細は、別途、設定がなされる。
【０１３１】
１１行目のｓｅｔ  ｄｉｓａｂｌｅ  ｔｈｒｅｓｈｏｌｄ  ｌｉｆｅｔｉｍｅ  ｓｅｃｏｎｄｓ  ６００は、共有鍵の更新間隔が、指定された間隔（ここでは６００秒）以上となった場合、当該インタフェース（通信チャネル）の通信を停止する設定をするコマンドである。
【０１３２】
８行目、９行目及び１１行目のコマンドはどれも、共有鍵の更新頻度の下限を示す閾値に関する設定である。８行目、９行目及び１１行目のコマンドは、それぞれ単一で設定されてもよいし、図１１に示すように同時に設定されてもよい。例えば、通信装置１０の管理者は、８行目のコマンドの設定のみを行い、当該設定に応じたアラーム通知を受けた際に、当該インタフェースを停止するか否かを、管理者自身で判断してもよい。
【０１３３】
また、８行目、９行目及び１１行目のコマンドの設定により有効になる動作を、単一のコマンドの設定で有効になるようにしてもよい。
【０１３４】
１２行目のｓｅｔ  ｍａｘｉｍｕｍ  ｔｈｒｅｓｈｏｌｄ  ｌｉｆｅｔｉｍｅ  ｓｅｃｏｎｄｓ  ０．０１は、共有鍵の更新頻度の上限（ここでは０．０１秒）を示す閾値を設定するコマンドである。暗号処理部１３ａは、１２行目のコマンドの設定がある場合、指定された上限以上の頻度で（指定された上限以上に短い時間間隔で）、共有鍵の更新が可能だとしても、指定された上限以上の頻度では共有鍵の更新をしない。
【０１３５】
理論上、共有鍵の更新頻度は、短ければ短い程、セキュリティが高くなると考えられるため、共有鍵の更新頻度の上限を設定することには意味が無いように思われるかもしれない。しかし、共有鍵の更新処理は、通信装置１０ａのリソースを消費する。
【０１３６】
リソースの負荷は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の装置による上述の鍵蒸留処理がある。また例えば、リソースの負荷は、通信装置１０ａ（または生成装置２０ａ）が、鍵蒸留処理で行われる上述の制御データの送受信処理である。
【０１３７】
リソースの負荷がオーバーヘッドとなる可能性があることから、例えば暗号処理部１３ａが、セキュリティが担保されているにもかかわらず、必要以上に頻繁に共有鍵を更新すると、通信装置１０ａの通信スループットが一時的に低下する可能性が考えられる。したがって、共有鍵の更新頻度の上限の設定が必要になる。
【０１３８】
＜更新頻度の下限処理＞
図１０に戻り、判定部３１ａは、共有鍵の更新頻度が、上述のコマンド（図１１、８行目、９行目及び１１行目参照）毎に定められた閾値（下限）以下になったか否かを、当該コマンドによる設定が適用された通信チャネル毎に判定する。
【０１３９】
（図１１、８行目のコマンドによる設定に応じた動作）
通知部３２ａは、共有鍵の更新頻度が、通信チャネル毎に定められた閾値以下となった場合、所定の宛先に、共有鍵の更新頻度が、通信チャネル毎に定められた閾値以下となったことを通知する。所定の宛先は、例えば通信装置１０ａの管理者のメールアドレス、ＳＮＭＰメッセージの送信先アドレス、及び、ログメッセージの送信先アドレス等である。これにより、例えば通信装置１０ａの管理者に、通信装置１０ａのセキュリティ低下の可能性について通知（警告）することができる。
【０１４０】
（図１１、９行目及び１０行目のコマンドによる設定に応じた動作）
変更部３３ａは、共有鍵の更新頻度が閾値以下となった通信チャネルの暗号方式を、事前に定められた他の暗号方式に変更する。事前に定められた他の暗号方式は、上述の図１１の１０行目のコマンドで指定された暗号方式である。
【０１４１】
古典鍵交換部３４ａは、共有鍵の更新頻度が閾値以下となった通信チャネルでデータの暗号化に使用される古典鍵を、ＲＳＡ等の古典鍵交換方式により生成する。そして古典鍵交換部３４ａは、古典鍵を暗号処理部１３ａに入力する。これにより暗号処理部１３ａは、量子鍵配送に依存しない古典鍵を利用することができるので、鍵交換頻度の低下を防ぐことができる。
【０１４２】
なお古典鍵交換部３４ａは、ＲＳＡ等の古典鍵交換方式により古典鍵を予め、所定の数、生成しておき、記憶部１１ａに保持しておいてもよい。
【０１４３】
（図１１、１１行目のコマンドによる設定に応じた動作）
通信制御部３５ａは、通信チャネルの通信を制御する。通信制御部３５ａは、例えば共有鍵の更新頻度が閾値以下となった通信チャネルの通信を停止することにより、セキュリティが低下する可能性のある通信を阻止する。
【０１４４】
＜更新頻度の上限処理＞
また判定部３１ａは、共有鍵の更新頻度が、上述のコマンド（図１１、１２行目参照）により定められた閾値（上限）以上になったか否かを、当該コマンドによる設定が適用された通信チャネル毎に判定する。
【０１４５】
暗号処理部１３ａは、共有鍵の更新頻度が、上述のコマンド（図１１、１２行目参照）により定められた上限を示す閾値以上になった場合、当該コマンドによる設定が適用された通信チャネルの共有鍵の更新を、所定の間、休止する。所定の間は、例えば閾値を超えた分に応じて、暗号処理部１３ａにより決定される。
【０１４６】
判定部３１ｂ、通知部３２ｂ、変更部３３ｂ、古典鍵交換部３４ｂ及び通信制御部３５ｂの説明は、判定部３１ａ、通知部３２ａ、変更部３３ａ、古典鍵交換部３４ａ及び通信制御部３５ａの説明と同じなので省略する。
【０１４７】
以上説明したように、第２実施形態の通信装置１０によれば、共有鍵の更新頻度が、想定以上に低下した通信チャネルがある場合に、アラームの通知、暗号方式の変更、及び、通信の停止等を行うことができる。これにより共有鍵の更新頻度が、想定以上に低下した通信チャネルがある場合にも、通信装置１０の動作を設定に応じて適切に動作させることができる。
【０１４８】
（第３実施形態）
次に第３実施形態について説明する。第３実施形態の説明では、第１実施形態と同様の説明については省略し、第１実施形態と異なる箇所について説明する。
【０１４９】
上述の第１実施形態の通信システム１００では、通信装置１０ａ及び通信装置１０ｂとの間で通信する場合について説明した。しかしながら、通信システム１００は、３以上の複数の通信装置１０を備えていてもよい。
【０１５０】
図１２は第３実施形態の通信システム１００の装置構成の例を示す図である。図１２の例は、拠点Ａの通信装置１０ａ、拠点Ｂの通信装置１０ｂ、及び、拠点Ｃの通信装置１０ｃとの間で、暗号化されたデータを送受信する場合を示す。この場合、割当部１２は、例えば通信装置１０毎に、通信チャネルを割り当てる。
【０１５１】
通信装置１０ａ〜１０ｃ、及び、生成装置２０ａ〜２０ｃの説明は、第１実施形態の説明と同様なので省略する。
【０１５２】
第３実施形態の通信システム１００によれば、１：多の暗号通信でも、変動する速度で生成され続ける共有鍵を、複数のチャネルに、通信先の装置と同期をとりながら効率的に割り当てることができる。
【０１５３】
［通信システムのハードウェア構成］
最後に第１乃至第３実施形態の通信システム１００のハードウェア構成の例について説明する。
【０１５４】
＜通信装置のハードウェア構成＞
図１３は実施形態の通信装置１０のハードウェア構成の例を示す図である。実施形態の通信装置１０は、制御装置２０１、主記憶装置２０２、補助記憶装置２０３、表示装置２０４、入力装置２０５、通信ＩＦ２０６及び接続ＩＦ２０７を備える。制御装置２０１、主記憶装置２０２、補助記憶装置２０３、表示装置２０４、入力装置２０５、通信ＩＦ２０６及び接続ＩＦ２０７は、バス２１０を介して接続されている。
【０１５５】
制御装置２０１は補助記憶装置２０３から主記憶装置２０２に読み出されたプログラムを実行する。主記憶装置２０２はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及び、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリである。補助記憶装置２０３はメモリカード、及び、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
【０１５６】
表示装置２０４は情報を表示する。表示装置２０４は、例えば液晶ディスプレイである。入力装置２０５は、情報の入力を受け付ける。入力装置２０５は、例えばキーボード及びマウス等である。なお表示装置２０４及び入力装置２０５は、表示機能と入力機能とを兼ねる液晶タッチパネル等でもよい。
【０１５７】
通信ＩＦ２０６は、他の通信装置１０と暗号データ通信する。接続ＩＦ２０７は、生成装置２０と接続される。接続ＩＦ２０７は、例えば生成装置２０から共有鍵を受信する。
【０１５８】
実施形態の通信装置１０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、及び、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０１５９】
また実施形態の通信装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態の通信装置１０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１６０】
また実施形態の通信装置１０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１６１】
実施形態の通信装置１０で実行されるプログラムは、上述の実施形態の通信装置１０の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【０１６２】
プログラムにより実現される機能は、制御装置２０１が補助記憶装置２０３等の記憶媒体からプログラムを読み出して実行することにより、プログラムにより実現される機能が主記憶装置２０２にロードされる。すなわちプログラムにより実現される機能は、主記憶装置２０２上に生成される。
【０１６３】
実施形態の通信装置１０の機能の一部又は全部を、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【０１６４】
＜生成装置のハードウェア構成＞
図１４は実施形態の生成装置２０のハードウェア構成の例を示す図である。実施形態の生成装置２０は、制御装置３０１、主記憶装置３０２、補助記憶装置３０３、光学処理装置３０４、通信ＩＦ３０５及び接続ＩＦ３０６を備える。制御装置３０１、主記憶装置３０２、補助記憶装置３０３、光学処理装置３０４、通信ＩＦ３０５及び接続ＩＦ３０６は、バス３１０を介して接続されている。
【０１６５】
制御装置３０１、主記憶装置３０２及び補助記憶装置３０３の説明は、上述の制御装置２０１、主記憶装置２０２及び補助記憶装置２０３の説明（図１３参照）と同様なので省略する。
【０１６６】
光学処理装置３０４は、上述の量子通信路１０１を介して、上述の単一光子を送信または受信する。通信ＩＦ３０５は、上述の古典通信路１０２を介して他の生成装置２０と通信する。接続ＩＦ３０６は、通信装置１０と接続される。接続ＩＦ３０６は、例えば通信装置１０に共有鍵を送信する。
【０１６７】
実施形態の生成装置２０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、及び、ＤＶＤ等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０１６８】
また実施形態の生成装置２０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態の生成装置２０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１６９】
また実施形態の生成装置２０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１７０】
実施形態の生成装置２０で実行されるプログラムは、上述の実施形態の生成装置２０の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【０１７１】
プログラムにより実現される機能は、制御装置３０１が補助記憶装置３０３等の記憶媒体からプログラムを読み出して実行することにより、プログラムにより実現される機能が主記憶装置３０２にロードされる。すなわちプログラムにより実現される機能は、主記憶装置３０２上に生成される。
【０１７２】
実施形態の生成装置２０の機能の一部又は全部を、ＩＣ等のハードウェアにより実現してもよい。
【０１７３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１７４】
１  通信チャネル
２  通信チャネル
１０  通信装置
１１  記憶部
１２  割当部
１３  暗号処理部
１４  受付部
１５  記憶制御部
１６  ＵＩ部
１７  イントラＩ／Ｆ部
１８  転送部
１９  外部Ｉ／Ｆ部
２０  生成装置
１００  通信システム
２０１  制御装置
２０２  主記憶装置
２０３  補助記憶装置
２０４  表示装置
２０５  入力装置
２０６  通信ＩＦ
２０７  接続ＩＦ
２１０  バス
３０１  制御装置
３０２  主記憶装置
３０３  補助記憶装置
３０４  光学処理装置
３０５  通信ＩＦ
３０６  接続ＩＦ
３１０  バス
【図１】
2018033079.tif 000003
【図２】
2018033079.tif 000004
【図３】
2018033079.tif 000005
【図４】
2018033079.tif 000006
【図５】
2018033079.tif 000007
【図６】
2018033079.tif 000008
【図７】
2018033079.tif 000009
【図８】
2018033079.tif 000010
【図９】
2018033079.tif 000011
【図１０】
2018033079.tif 000012
【図１１】
2018033079.tif 000013
【図１２】
2018033079.tif 000014
【図１３】
2018033079.tif 000015
【図１４】
2018033079.tif 000016