(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024079325
(43)【公開日】2024-06-11
(54)【発明の名称】量子暗号通信制御装置、量子暗号通信制御方法及びプログラム
(51)【国際特許分類】
H04L 45/302 20220101AFI20240604BHJP
H04L 9/12 20060101ALI20240604BHJP
H04L 9/08 20060101ALI20240604BHJP
【FI】
H04L45/302
H04L9/12
H04L9/08 E
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022192202
(22)【出願日】2022-11-30
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】楠瀬 適
(72)【発明者】
【氏名】高橋 莉里香
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA15
5K030KA02
5K030LB05
5K030LC08
5K030LD19
(57)【要約】
【課題】アプリケーションが本来期待するQoS(Quality of Service)を保証できるようにする。
【解決手段】実施形態の量子暗号通信制御装置は、収集部と算出部と保証部と選択部とを備える。収集部は、量子鍵配送によりローカル鍵が生成されるリンクのリンク情報と、グローバル鍵を使用して暗号通信を行うアプリケーションのペアで期待されるグローバル鍵保証量と、を収集する。算出部は、前記リンク情報に基づき、前記グローバル鍵の転送経路の選択に使用されるリンクコストを算出する。保証部は、前記グローバル鍵保証量を満たすように前記リンクで使用されるローカル鍵の保証可能量を算出する。選択部は、前記リンクコストと、前記保証可能量とに基づき、前記グローバル鍵の転送経路を選択する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
量子鍵配送によりローカル鍵が生成されるリンクのリンク情報と、グローバル鍵を使用して暗号通信を行うアプリケーションのペアで期待されるグローバル鍵保証量と、を収集する収集部と、
前記リンク情報に基づき、前記グローバル鍵の転送経路の選択に使用されるリンクコストを算出する算出部と、
前記グローバル鍵保証量を満たすように前記リンクで使用されるローカル鍵の保証可能量を算出する保証部と、
前記リンクコストと、前記保証可能量とに基づき、前記グローバル鍵の転送経路を選択する選択部と、
を備える量子暗号通信制御装置。
【請求項2】
前記リンク情報は、前記リンクで生成されるローカル鍵のローカル鍵生成量、及び、前記リンクで使用されるローカル鍵のローカル鍵蓄積量の少なくとも一方と、前記リンクで予約されたローカル鍵予約済量とを含み、
前記算出部は、前記ローカル鍵生成量及び前記ローカル鍵蓄積量の少なくとも一方と、前記ローカル鍵予約済量とから、前記リンクのリンク容量を算出し、前記リンク容量に基づいて前記リンクコストを算出する、
請求項1に記載の量子暗号通信制御装置。
【請求項3】
前記算出部は、前記リンク容量が大きいほど前記リンクコストを小さくなるように算出し、
前記選択部は、前記リンクコストに基づき、前記グローバル鍵をより多く転送可能な転送経路を優先的に選択する、
請求項2に記載の量子暗号通信制御装置。
【請求項4】
前記リンクコスト及び前記保証可能量の算出と、前記転送経路の選択とを行うタイミングを制御する制御部を更に備える、
請求項2又は3に記載の量子暗号通信制御装置。
【請求項5】
前記制御部は、新たなアプリケーションのペアによって要求されたグローバル鍵保証量が追加された場合、既存のアプリケーションのペアのグローバル鍵保証量が削除された場合、既存のアプリケーションのペアのグローバル鍵保証量が変更された場合、または、前記グローバル鍵保証量が現在の転送経路において保証できなくなった場合に、前記リンクコスト及び前記保証可能量の算出と、前記転送経路の選択とを行うことを決定する、
請求項4に記載の量子暗号通信制御装置。
【請求項6】
前記制御部は、前記リンクコスト及び前記保証可能量の算出と、前記転送経路の選択とを行うことを定期的に決定する、
請求項4に記載の量子暗号通信制御装置。
【請求項7】
前記制御部は、前記ローカル鍵生成量及び前記ローカル鍵蓄積量の少なくとも一方が、閾値より小さい場合、前記リンクコスト及び前記保証可能量の算出と、前記転送経路の選択とを行うことを決定する、
請求項4に記載の量子暗号通信制御装置。
【請求項8】
前記グローバル鍵保証量は、単位時間あたりに前記アプリケーションが必要とするグローバル鍵量であり、
前記グローバル鍵保証量は、前記アプリケーションのペアを利用するユーザーからの登録によって受け付けられる、
請求項2又は3に記載の量子暗号通信制御装置。
【請求項9】
前記収集部は、前記アプリケーションのペアで使用されるグローバル鍵のグローバル鍵蓄積量、前記アプリケーションのペアで使用されたグローバル鍵のグローバル鍵消費量、及び、前記アプリケーションのペアで使用されるグローバル鍵のグローバル鍵生成量を更に収集し、
前記算出部は、前記グローバル鍵蓄積量、前記グローバル鍵消費量及び前記グローバル鍵生成量に更に基づいて、前記リンクコストを算出する、
請求項2又は3に記載の量子暗号通信制御装置。
【請求項10】
前記収集部は、前記アプリケーションのペアで使用されるグローバル鍵のグローバル鍵蓄積量、前記アプリケーションのペアで使用されたグローバル鍵のグローバル鍵消費量、及び、前記アプリケーションのペアで使用されるグローバル鍵のグローバル鍵生成量を更に収集し、
前記算出部は、前記グローバル鍵蓄積量と前記グローバル鍵消費量、前記グローバル鍵生成量の少なくとも一つに基づいて、グローバル鍵必要量を推定し、
前記保証部は、前記グローバル鍵必要量が推定された場合、前記グローバル鍵必要量を満たすように前記リンクで使用されるローカル鍵の保証可能量を算出する、
請求項1乃至3のいずれか1項に記載の量子暗号通信制御装置。
【請求項11】
前記収集部は、前記アプリケーションのペアで使用されるグローバル鍵のグローバル鍵蓄積量、前記アプリケーションのペアで使用されたグローバル鍵のグローバル鍵消費量、及び、前記アプリケーションのペアで使用されるグローバル鍵のグローバル鍵生成量を更に収集し、
前記算出部は、前記グローバル鍵生成量と前記グローバル鍵消費量との差によって、実際のグローバル鍵量を算出し、前記グローバル鍵保証量と前記実際のグローバル鍵量との差から、更に前記グローバル鍵蓄積量を減じることによって、グローバル鍵必要量を推定し、
前記保証部は、前記グローバル鍵必要量が推定された場合、前記グローバル鍵必要量を満たすように前記リンクで使用されるローカル鍵の保証可能量を算出する、
請求項1乃至3のいずれか1項に記載の量子暗号通信制御装置。
【請求項12】
量子暗号通信制御装置が、量子鍵配送によりローカル鍵が生成されるリンクのリンク情報と、グローバル鍵を使用して暗号通信を行うアプリケーションのペアで期待されるグローバル鍵保証量と、を収集するステップと、
前記量子暗号通信制御装置が、前記リンク情報に基づき、前記グローバル鍵の転送経路の選択に使用されるリンクコストを算出するステップと、
前記量子暗号通信制御装置が、前記グローバル鍵保証量を満たすように前記リンクで使用されるローカル鍵の保証可能量を算出するステップと、
前記量子暗号通信制御装置が、前記リンクコストと、前記保証可能量とに基づき、前記グローバル鍵の転送経路を選択するステップと、
を含む量子暗号通信制御方法。
【請求項13】
コンピュータを、
量子鍵配送によりローカル鍵が生成されるリンクのリンク情報と、グローバル鍵を使用して暗号通信を行うアプリケーションのペアで期待されるグローバル鍵保証量と、を収集する収集部と、
前記リンク情報に基づき、前記グローバル鍵の転送経路の選択に使用されるリンクコストを算出する算出部と、
前記グローバル鍵保証量を満たすように前記リンクで使用されるローカル鍵の保証可能量を算出する保証部と、
前記リンクコストと、前記保証可能量とに基づき、前記グローバル鍵の転送経路を選択する選択部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は量子暗号通信制御装置、量子暗号通信制御方法及びプログラムに関する。
【背景技術】
【0002】
暗号で保護されたネットワークにおいて、リンクの残りの暗号化容量に基づいて、重要なデータトラフィックを、危険なリンク又は遅延のあるリンクなどから回避するようにデータトラフィックをルーティングする方法が従来から知られている。また、リンクの残りの暗号化容量に基づいて、「フロー制御」を実行するネットワークルーティングデバイス装置(例えばルーターなど)が従来から知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第7,392,378号明細書
【特許文献2】米国特許第7,441,267号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、アプリケーションが本来期待するQoS(Quality of Service)を保証できるとは限らないという問題があった。
【課題を解決するための手段】
【0005】
実施形態の量子暗号通信制御装置は、収集部と算出部と保証部と選択部とを備える。収集部は、量子鍵配送によりローカル鍵が生成されるリンクのリンク情報と、グローバル鍵を使用して暗号通信を行うアプリケーションのペアで期待されるグローバル鍵保証量と、を収集する。算出部は、前記リンク情報に基づき、前記グローバル鍵の転送経路の選択に使用されるリンクコストを算出する。保証部は、前記グローバル鍵保証量を満たすように前記リンクで使用されるローカル鍵の保証可能量を算出する。選択部は、前記リンクコストと、前記保証可能量とに基づき、前記グローバル鍵の転送経路を選択する。
【図面の簡単な説明】
【0006】
【
図1】
図1は、実施形態の量子暗号通信システムの構成の例を示す図である。
【
図2】
図2は、実施形態のグローバル鍵の共有処理の例を説明するための図である。
【
図3】
図3は、最小単位の鍵共有ネットワークの構成の例を示す図である。
【
図4】
図4は、実施形態のノードの機能構成の例を示す図である。
【
図5】
図5は、実施形態の量子暗号通信制御方法の例を示すフローチャートである。
【
図6】
図6は、実施形態のアプリケーションペア情報の例を示す図である。
【
図7】
図7は、実施形態のリンク情報の例を示す図である。
【
図8】
図8は、実施形態のアプリペア-リンク情報の例を示す図である。
【
図9】
図9は、実施形態の変形例1の構成の例を示す図である。
【
図10】
図10は、実施形態の変形例2の構成の例を示す図である。
【
図11】
図11は、実施形態のノードのハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、量子暗号通信制御装置、量子暗号通信制御方法及びプログラムの実施形態を詳細に説明する。
【0008】
(第1実施形態)
はじめに、実施形態の量子暗号通信システムの構成の例について説明する。
[構成の例]
図1は、実施形態の量子暗号通信システム1の構成の例を示す図である。実施形態の量子暗号通信システム1は、ノード100a~100e、アプリケーション200a~200b、アプリケーションネットワーク501及び鍵共有ネットワーク502を備える。
【0009】
例えば、ノード100aは、ノード100b、100c及び100dとリンクを介して接続される。ノード100aは、ノード100bとの間のリンクを介して、量子鍵配送(QKD:Quantum Key Distribution)によってローカル鍵(量子鍵)301aを共有する。また、ノード100aは、QKDによる暗号鍵(量子鍵)の生成とは独立に、乱数である暗号鍵をグローバル鍵401aとして生成し、アプリケーション200aに提供する。
【0010】
また例えば、ノード100eは、ノード100b、100c及び100dとリンクを介して接続される。ノード100eは、ノード100cとの間のリンクを介して、QKDによってローカル鍵301bを共有する。また、ノード100eは、QKDによる暗号鍵の生成とは独立に、乱数である暗号鍵をグローバル鍵401bとして生成し、アプリケーション200bに提供する。
【0011】
以下、ノード100a~100eを区別しない場合、単にノード100という。アプリケーション200a~200bを区別しない場合、単にアプリケーション200という。ローカル鍵301a~301bを区別しない場合、単にローカル鍵301という。グローバル鍵401a~401bを区別しない場合、単にグローバル鍵401という。
【0012】
アプリケーション200は、アプリケーションネットワーク501を介して、グローバル鍵401を用いた暗号通信を行う。
【0013】
アプリケーションネットワーク501は、グローバル鍵401によって暗号化されたデータが送受信されるネットワークである。
【0014】
鍵共有ネットワーク502は、リンクにより接続される各ノード100の間で、ローカル鍵301を共有するネットワークである。
【0015】
なお、
図1の例では、ノード100の個数は5であるが、ノード100の個数は5に限られるものではない。また、
図1の例では、アプリケーション200の個数は2であるが、アプリケーション200の個数は2に限られるものではない。
【0016】
図2は、実施形態のグローバル鍵401の共有処理の例を説明するための図である。上述のように、ノード100は、QKD機能を備える。具体的には、ノード100は、リンクで接続されたノード100との間で乱数を生成して共有する機能と、生成された乱数をローカル鍵301として利用して、鍵共有ネットワーク502上で暗号通信を行う機能とを備える。
【0017】
なお、特定のノード100(
図2の例では、ノード100a及び100e)は、QKD機能とは独立に乱数(
図2の例では、グローバル鍵401)を生成する機能と、当該機能により生成された乱数を、対向の装置に送信する機能とを備えてもよい。
【0018】
各ノード100は、グローバル鍵401を共有するためのルーティングを行う。そして、各ノード100は、ルーティングにより決定されたパスを使用して、グローバル鍵401を共有(転送)する。グローバル鍵401は、リンクで接続された対向のノード100間で共有されたローカル鍵301によるOTP(One Time Pad)通信で暗号化され、対向のノード100に安全に転送される。
【0019】
図2の例では、ノード100aおよびノード100eの間でグローバル鍵401が共有され、当該グローバル鍵401が、アプリケーション200a及び200bへ提供される。
【0020】
図3は、最小単位の鍵共有ネットワーク502の構成の例を示す図である。
図3の例は、ノード100f及び100gとの間がリンクにより接続され、当該リンクによるQKDが行われる場合を示す。
図3の示すように、最小単位の鍵共有ネットワーク502の構成は、一対のノード100f及び100gによって構成される。
【0021】
図4は、実施形態のノード100の機能構成の例を示す図である。実施形態のノード100(量子暗号通信制御装置の一例)は、制御部101と、管理部102と、プラットフォーム部103と、通信部104と、ルーティング処理部110と、を備える。
【0022】
制御部101は、当該ノード100で行われる処理の制御を行う。制御部101は、例えば、各構成部の起動を担う。また、ルーティング処理部110で行われる経路計算(経路再計算)のタイミングを制御する。
【0023】
例えば、制御部101は、新たなアプリケーション200のペアによって要求されたグローバル鍵保証量が追加された場合、既存のアプリケーション200のペアのグローバル鍵保証量が削除された場合、既存のアプリケーション200のペアのグローバル鍵保証量が変更された場合、または、グローバル鍵保証量が現在の転送経路(配送経路)において保証できなくなった場合に、グローバル鍵401の転送経路の選択に使用されるリンクコスト、及び、ローカル鍵301の保証可能量の算出と、転送経路の選択とを行うことを決定する。ここで、グローバル鍵保証量は、例えば単位時間あたりにアプリケーション200が必要とするグローバル鍵量である。
【0024】
また例えば、制御部101は、リンクコスト、及び、ローカル鍵301の保証可能量の算出と、前記転送経路の選択とを行うことを定期的に決定する。定期的にグローバル鍵転送経路を再計算することによって、各リンクのローカル鍵消費量を全体最適化することができる。
【0025】
また例えば、制御部101は、ローカル鍵生成量及びローカル鍵蓄積量の少なくとも一方が、閾値より小さい場合、リンクコスト、及び、ローカル鍵301の保証可能量の算出と、転送経路の選択とを行うことを決定する。例えば、環境の変化、及び、盗聴者の存在などによってローカル鍵生成量が下がると、ローカル鍵蓄積量も下がる。ローカル鍵蓄積量が下がった場合には、グローバル鍵保証量を保証できなくなる可能性があることから、グローバル鍵転送経路の再計算することによって、グローバル鍵401の転送量を保証することができる。
【0026】
管理部102は、ノード100の接続しているリンクの鍵、鍵生成速度及び鍵保有量などの鍵リソースを管理する。
【0027】
プラットフォーム部103は、当該ノード100の他の構成要素の管理及び動作に必要なコンピュータのオペレーティングシステム機能、基本的なネットワーク機能、及び、セキュリティ機能等を提供する。
【0028】
通信部104は、当該ノード100が接続されている他のノード100との通信を行う。通信部104は、リンクごとに備えられ、それぞれ量子通信部105と、古典通信部106と、を有する。
図4の例は、3つのリンクのそれぞれによって、対向のノード100と、量子通信部105及び古典通信部106で接続される場合を示す。
【0029】
量子通信部105は、量子通信路105によって他のノード100に接続されており、他のノード100と量子通信を行う。量子通信部105は、リンクによって接続されたノード100との間で、量子暗号(QKD)を用いて、ローカル鍵(暗号鍵)を生成するための光子のビット列(乱数)を共有する。
【0030】
古典通信部106は、古典通信路106によって他のノード100に接続されており、他のノード100と古典通信を行う。古典通信部106を介してノード100間で交換されるデータには、グローバル鍵401等のデータがある。グローバル鍵401等のデータは、通常、ノード100により管理されるローカル鍵301を用いた暗号通信により、古典通信部106を介して送信される。
【0031】
ルーティング処理部110は、グローバル鍵401のルーティング(経路制御)を実行する。ルーティング処理部110は、収集部111と、算出部112と、保証部113と、選択部114と、記憶部115と、を備える。
【0032】
収集部111は、古典通信部106を介して、リンク情報(後述の
図7参照)を収集する。リンク情報は、ノード100が接続しているリンクの状態、そのリンクのネットワークアドレス、リンクごとのコスト、及び、ネットワーク情報等を含む。また、収集部111は、ノード100に接続するアプリケーションペア情報(後述の
図6参照)を収集する。収集部111は、収集されたリンク情報とアプリケーションペア情報とを記憶部115に記憶する。
【0033】
算出部112は、ノード100に接続しているリンクのローカル鍵生成量と、ローカル鍵蓄積量と、ローカル鍵予約済量とを用いて、リンク容量(リンクに流せるローカル鍵量)と、リンク容量に基づくリンクコストと、を算出する。なお、算出部112は、状態とQKD性能とを更に用いて、リンク容量と、リンク容量に基づくリンクコストと、を算出してもよい。
【0034】
保証部113は、算出部112により算出されたリンク容量とリンクコストと、収集部111により収集されたグローバル鍵保証量と、から各経路のローカル鍵301の保証可能量を算出する。なお、保証部113は、グローバル鍵蓄積量とグローバル鍵消費量とグローバル鍵生成量とを更に用いて、ローカル鍵301の保証可能量を算出してもよい。
【0035】
選択部114は、受信側の拠点(ノード100)に到達する複数のパス候補から、そのパス候補のリンクコスト(メトリック)に基づいて、メトリックが最適となる最適パスを選択することによって、最適パスツリーを作成する。選択部114は、最適パスツリーからルーティングテーブルを作成し、ルーティングテーブルを記憶部115に記憶する。
【0036】
記憶部115は、リンク情報(例えば、ローカル鍵生成量、ローカル鍵蓄積量、ローカル鍵予約量、状態及びQKD性能)のデータベース、アプリケーションペア情報のデータベース(例えば、グローバル鍵保証量、グローバル鍵蓄積量、グローバル鍵消費量及びグローバル鍵生成量)、及び、選択部114により作成されたルーティングテーブル等を記憶する。
【0037】
[量子暗号通信制御方法の例]
図5は、実施形態の量子暗号通信制御方法の例を示すフローチャートである。はじめに、収集部111が、リンク情報及びアプリケーションペア情報を収集し、当該リンク情報及びアプリケーションペア情報を記憶部115に記憶する(ステップS1)。次に、算出部112が、記憶部115からアプリケーションペア情報(例えば、グローバル鍵保証量、グローバル鍵蓄積量、グローバル鍵消費量及びグローバル鍵生成量)を取得する(ステップS2)。なお、算出部112は、記憶部115から、アプリケーションペア情報を取得せずに、アプリケーション200から直接、アプリケーションペア情報(例えば、グローバル鍵保証量、グローバル鍵蓄積量、グローバル鍵消費量及びグローバル鍵生成量)の要求を受信してもよい。
【0038】
図6は、実施形態のアプリケーションペア情報の例を示す図である。実施形態のアプリケーションペア情報は、アプリペア、ドメイン、送信側の拠点(ノード100)、受信側の拠点(ノード100)、グローバル鍵保証量、鍵長、鍵保証開始日時、鍵保証終了日時、グローバル鍵蓄積量、グローバル鍵消費量及びグローバル鍵生成量を含む。
【0039】
アプリペアは、暗号化通信するアプリケーション200のペアを示す情報である。ドメインは、アプリペアの管理者(所有者)を示す情報である。送信側の拠点(ノード100)は、アプリペアの送信側が配置された拠点(ノード100)を示す情報である。受信側の拠点(ノード100)は、アプリペアの受信側が配置された拠点(ノード100)を示す情報である。送信側の拠点及び受信側の拠点は、経路計算で始点及び終点として使用される。
【0040】
グローバル鍵保証量は、アプリペアのユーザー(例えばアプリペアの管理者等)が期待する(必要とする)単位時間(例えば、1日、1時間及び1分等)あたりの暗号鍵(グローバル鍵)の保証量(バイト)である。例えば、グローバル鍵保証量は、アプリケーション200、または、アプリケーション200のペアから登録により受け付けられる。また例えば、グローバル鍵保証量は、アプリケーション200のペアを利用するユーザーからの登録により受け付けられてもよい。グローバル鍵保証量がアプリケーションペア200、または、アプリケーション200のペアから登録されない場合は、グローバル鍵保証量以外のグローバル鍵の情報(グローバル鍵消費量やグローバル鍵生成量)に基づいて、グローバル鍵必要量を推定する。また例えば、グローバル鍵保証量がユーザーから登録されない場合は、グローバル鍵保証量以外のグローバル鍵の情報(グローバル鍵消費量やグローバル鍵生成量)に基づいて、グローバル鍵必要量を推定する。グローバル鍵保証量、または、グローバル鍵必要量は、リンクコストのパラメータとして使用される。
【0041】
鍵長は、暗号鍵(グローバル鍵)の長さである。鍵保証開始日時は、暗号鍵(グローバル鍵)の保証開始日時である。鍵保証終了日時は、暗号鍵(グローバル鍵)の保証終了日時である。
【0042】
グローバル鍵蓄積量は、アプリペアで使用される暗号鍵(グローバル鍵)の蓄積量(バイト)である。グローバル鍵消費量は、アプリペアにより使用された単位時間(例えば、1日、1時間及び1分等)あたりの暗号鍵(グローバル鍵)の消費量(バイト、bps)である。グローバル鍵生成量は、アプリペアのために生成された単位時間(例えば、1日、1時間及び1分等)あたりの暗号鍵(グローバル鍵)の生成量(バイト、bps)である。
【0043】
なお、
図6に示すアプリケーションペア情報は一例である。
図6に示すアプリケーションペア情報のうち、例えばドメイン、鍵長、鍵保証開始日時及び鍵保証終了日時は、任意であり、アプリケーションペア情報に、例えばドメイン、鍵長、鍵保証開始日時及び鍵保証終了日時が含まれていなくてもよい。
【0044】
図5に戻り、続いて、算出部112は、記憶部115からリンク情報(例えば、ローカル鍵生成量、ローカル鍵蓄積量、ローカル鍵予約済量、状態及びQKD性能)を取得する(ステップS3)。
【0045】
図7は、実施形態のリンク情報の例を示す図である。実施形態のリンク情報は、リンク、状態、ネットワーク情報、ローカル鍵最大蓄積量、ローカル鍵蓄積量、ローカル鍵生成量、ローカル鍵消費量、ローカル鍵予約済量、時刻及びQKD性能を含む。
【0046】
リンクは、ノード100が接続しているリンクを示す情報である。状態は、リンクの稼働状態、及び、リンクを構成するノード100の稼働状態である。ネットワーク情報は、リンクの送信拠点及び受信拠点の情報(例えば、送信速度及び受信速度など)である。
【0047】
ローカル鍵最大蓄積量は、リンクの暗号鍵(ローカル鍵)の最大蓄積量(バイト)であり、リンクの暗号鍵(ローカル鍵)の記憶容量を示す。ローカル鍵蓄積量は、リンクの暗号鍵(ローカル鍵)の蓄積量(バイト)であり、現在、蓄積されている暗号鍵(ローカル鍵)の蓄積量を示す。ローカル鍵生成量は、リンクの暗号鍵(ローカル鍵)の累計生成量(バイト、bps)である。
【0048】
ローカル鍵消費量は、リンクの暗号鍵(ローカル鍵)の累計消費量(バイト、bps)である。ローカル鍵予約済量は、各アプリペアが期待するグローバル鍵401の保証量を満たすために、リンクに対して予約されたローカル鍵量の合算値(バイト)である。ローカル鍵消費量及びローカル鍵予約済量は、グローバル鍵401の転送経路が新たに決定すると更新される。
【0049】
時刻は、リンク情報を記録した時刻を示すタイムスタンプである。QKD性能は、QKD装置(
図1の例では、ノード100)の性能である。例えば、QKD性能は、セキュアキーの生成量、セキュアキーのレート、及び、セキュアキーのエラーレートである。セキュアキーは、ローカル鍵301を生成する前の鍵であり、暗号化用と復号用とに振り分けていない点が、ローカル鍵301とは異なる。
【0050】
なお、
図7に示すリンク情報は一例である。
図7に示すリンク情報のうち、例えば状態は、任意であり、リンク情報に、例えば状態が含まれていなくてもよい。
【0051】
図5に戻り、続いて、算出部112が、ステップS3で取得されたリンク情報を用いて、リンク容量と、リンク容量に基づくリンクコストとを算出する(ステップS4)。リンクコストは、ローカル鍵301の保証可能量、及び、グローバル鍵401の転送経路の選択(抽出)に利用される。
【0052】
ステップS4におけるリンク容量、及び、リンク容量を用いたリンクコストの計算では、例えば、リンク情報に含まれる次のパラメータが使用される。
【0053】
・単位時間あたりのローカル鍵生成量Ngen
算出部112は、QKDによる各リンクの鍵生成量の変動を考慮するため、過去のローカル鍵生成量から将来のローカル鍵生成量Ngenを推定し、ローカル鍵生成量Ngenをリンクコストの計算に利用する。
・単位時間あたりのローカル鍵予約済量Nrsv
算出部112は、アプリペアのQoS(例えば、期待される暗号化強度を満たした状態での通信速度など)を保証するために予約済みとなっているローカル鍵が消費されることを防ぐために、ローカル鍵予約済量Nrsvをリンクコストの計算に利用する。
・現在のローカル鍵蓄積量Ncur
算出部112は、現在のローカル鍵蓄積量Ncurをリンクコストの計算に利用する。
【0054】
算出部112は、リンク容量N=Ngen+Ncur-Nrsvを利用して、リンクコストを計算する。すなわち、リンクコストの計算には、将来生成されるローカル鍵生成量Ngenに、現在のローカル鍵蓄積量Ncurを加えて、予約されているローカル鍵量Nrsvを減じた値であるリンク容量Nが利用される。ローカル鍵予約済量Nrsvを減じることによって、他のアプリケーション200の予約済鍵が使用されないように経路計算できる。
【0055】
なお、リンク情報には、リンクで生成されるローカル鍵301のローカル鍵生成量Ngen、及び、リンクで使用されるローカル鍵301のローカル鍵蓄積量Ncurの少なくとも一方と、リンクで予約されたローカル鍵予約済量Nrsvとが含まれていてもよい。例えば、ローカル鍵生成量Ngenがある場合、算出部112は、リンクのリンク容量N=Ngen-Nrsvを算出し、リンク容量Nに基づいてリンクコストを算出する。また例えば、ローカル鍵蓄積量Ncurがある場合、算出部112は、リンクのリンク容量N=Ncur-Nrsvを算出し、リンク容量Nに基づいてリンクコストを算出する。
【0056】
次に、ステップS4におけるリンクコストの計算式の例をあげる。
【0057】
算出部112は、入力パラメータの大きさによるリンクコストへの影響度によって、線形関数、反比例関数又は指数関数の下記式を、リンクコストの計算式として選択する。
【0058】
1.線形関数C=Nmax-αN+β
ここで、Nmaxは、ローカル鍵最大蓄積量であり、Nは、上述のリンク容量であり、α及びβは重み係数である。線形関数は、ローカル鍵量が小さいほどリンクコストを大きくしたい場合に使用される。
【0059】
2.反比例関数C=α/N+β
反比例関数は、ローカル鍵量が多いときほどコストを小さく、ローカル鍵量が少ないときほどコストを大きくしたい場合に使用される。
【0060】
3.指数関数C=αγN+β(0<γ<1)
指数関数は、ローカル鍵量が大きいときに比べてローカル鍵量が小さいときほど、枯渇を避けるためにリンクコストへの関与を大きくしたい場合に使用される。
【0061】
算出部112は、例えば、上記線形関数を用いることによって、リンク容量Nが大きいほどリンクコストCを小さくなるように算出する。これにより、選択部114が、リンクコストCに基づき、グローバル鍵401をより多く転送可能な転送経路を優先的に選択することができるので、各リンクのローカル鍵量消費の負荷を分散させ、ローカル鍵が枯渇するリスクを低減することができる。
【0062】
また例えば、ステップS4におけるリンク容量、及び、リンク容量を用いたリンクコストの計算では、リンク情報に含まれる次のパラメータが使用されてもよい。
【0063】
・エラーレートe
算出部112は、QKD性能の一つであるエラーレートe(%)をそのまま利用する。または、算出部112は、エラーレートqが閾値以上の場合は、リンクコストを無限大など大きな値にする。例えば、閾値を10とした場合、エラーレートqは以下のようになる。
エラーレートq(%)に基づく変数e=∞(q≧10(%)の場合)、
e=q(q<10(%)の場合)
【0064】
・単位時間あたりのセキュアキーの生成量(レート)Kgen
算出部112は、QKD性能の一つである上述のセキュアキーの生成量(レート)Kgenを、上述のローカル鍵生成量Ngenの代わりに利用してもよい。
【0065】
・リンクの状態フラグs
算出部112は、リンクが稼働状態でない場合は、リンクコストを無限大など大きな値にする。また、算出部112は、リンクを構成する2つのノード100のいずれかのノード100が稼働状態でない場合も、そのリンクのリンク評価値を無限大など大きな値にする。
リンクの稼働状態に基づく変数s=1(リンクが稼働している場合)、
s=∞(リンクが稼働していない場合)
【0066】
上記のリンクの状態及びリンクの性能を評価するパラメータを導入することで、より状態の良い経路を考慮して、グローバル鍵401を転送する経路計算を行うことができる。
【0067】
また例えば、ステップS4における前述の1.~3.に示すリンクコストの計算式Cに対して、追加のパラメータを導入してリンクコストC2を計算してもよい。下記の示す4.~6.の式はどれか一つに限定されるものではなく、組み合わせて利用されても良い。
【0068】
4.C2=eC(エラーレートeの導入)
エラーレートeで盗聴を検知し、前述のリンクコストに対して、エラーレートeを乗じる。この式は、エラーレートeが高いほど、リンクコストを大きくしたい場合に使用される。
【0069】
5.C2=C/Kgen(セキュアキーの導入)
この式は、セキュアキーの生成量(レート)が大きいほど、リンクコストを小さくしたい場合に使用される。
【0070】
6.C2=sC(リンク状態sの導入)
この式は、リンクが稼働していないときに、リンクコストを大きくしたい場合に使用される。
【0071】
また例えば、ステップS4におけるリンク容量、及び、リンク容量を用いたリンクコストの計算では、アプリケーションペア情報に含まれる次のパラメータが使用されてもよい。すなわち、算出部112は、グローバル鍵蓄積量、グローバル鍵消費量及びグローバル鍵生成量に更に基づいて、リンクコストを算出してもよい。
【0072】
・グローバル鍵蓄積量Gcur
u,v
算出部112は、拠点uと拠点vとの間のアプリケーションペアの暗号鍵(グローバル鍵401)の蓄積量Gcur
u,v(現在の蓄積量)を利用する。グローバル鍵蓄積量Gcur
u,vを利用することで、すでに蓄積されているグローバル鍵401をグローバル鍵保証量の一部として利用できるため、後述のグローバル鍵必要量をより少なく設定できる。あるいは、算出部112は、グローバル鍵蓄積量Gcur
u,vをリンクコストの計算式に導入する。
【0073】
・グローバル鍵消費量Gused
u,v
算出部112は、拠点uと拠点vとの間のアプリケーションペアの暗号鍵(グローバル鍵401)の消費量(実際に利用された量)を利用する。グローバル鍵消費量Gused
u,vを利用することで、これまでのグローバル鍵401の利用傾向を把握して、後述のグローバル鍵必要量を推定できる。あるいは、算出部112は、グローバル鍵消費量Gused
u,vをリンクコストの計算式に導入する。
【0074】
・グローバル鍵生成量Ggen
u,v
算出部112は、拠点uと拠点vとの間のアプリケーションペアの暗号鍵(グローバル鍵401)の生成量(生成した量)を利用する。グローバル鍵生成量Ggen
u,vを利用することで、これまでのグローバル鍵401の生成傾向を把握して、後述のグローバル鍵必要量の推定できる。あるいは、算出部112は、グローバル鍵生成量Ggen
u,vをリンクコストの計算式に導入する。
【0075】
上記のグローバル鍵401に関するパラメータを用いて、グローバル鍵必要量の推定、あるいは、リンクコストの計算を行うことで、後述のグローバル鍵保証量を無駄なく効率的に保証する経路を設定することができる。
【0076】
また例えば、ステップS4における前述の1.~3.に示すリンクコストの計算式Cに対して、追加のパラメータを導入してリンクコストC3を計算してもよい。下記の示す7.~9.の式はどれか一つに限定されるものではなく、組み合わせて利用されても良い。
【0077】
7.Cik
3=Cik-αGcur
u,v(グローバル鍵蓄積量Gcur
u,vの導入)
Ckj
3=Ckj-αGcur
u,v
ここで、kは任意の拠点(ノード100)を示し、i及びjは、拠点u及びv(ノード100)のいずれかを示す。Cikは、拠点i及びk間のリンクコストを示し、Ckjは、拠点k及びj間のリンクコストを示す。この式は、拠点uと拠点vとの間のアプリケーションペアにおいて、すでに蓄積されているグローバル鍵蓄積量Ccur
u,vに基づく値(重み係数α倍の値)を、アプリケーションペアの始点拠点uと終点拠点vとにつながるリンクのリンクコストから減じたい場合に使用される。
【0078】
8.Cik
3=Cik+αGused
u,v(グローバル鍵消費量Gused
u,vの導入)
Ckj
3=Ckj+αGused
u,v
この式は、拠点uと拠点vとの間のアプリケーションペアにおいて、過去のグローバル鍵消費量Gused
u,vに基づく値(重み係数α倍の値)を、アプリケーションペアの始点拠点uと終点拠点vにつながるリンクのリンクコストに加えたい場合に使用される。
【0079】
9.Cik
3=Cik+αGgen
u,v(グローバル鍵生成量Ggen
u,vの導入)
Ckj
3=Ckj+αGgen
u,v
この式は、拠点uと拠点vとの間のアプリケーションペアにおいて、過去のグローバル鍵生成量Ggen
u,vに基づく値(重み係数α倍の値)を、アプリケーションペアの始点拠点uと終点拠点vにつながるリンクのリンクコストに加えたい場合に使用される。
【0080】
また、ステップS4において、算出部112は、実際に生成が必要なグローバル鍵必要量の推定を行ってもよい。グローバル鍵必要量Hを推定する例を以下にあげる。推定されるグローバル鍵必要量Hが負の値になる場合は、グローバル鍵必要量は0とする。
【0081】
1.グローバル鍵保証量が設定されていない場合(グローバル鍵消費量Gused利用)
H=αGused-βGcur
算出部112は、過去のグローバル鍵消費量Gusedと、グローバル鍵蓄積量Gcurとからグローバル鍵必要量Hを推定する。
【0082】
2.グローバル鍵保証量が設定されていない場合(グローバル鍵生成量Ggen利用)
H=αGgen-βGcur
算出部112は、過去のグローバル鍵生成量Ggenと、グローバル鍵蓄積量Gcurとからグローバル鍵必要量Hを推定する。
【0083】
3.グローバル鍵保証量Hinが登録されている場合
H=Hin-α(Ggen-Gused)-βGcur
算出部112は、グローバル鍵生成量Ggenとグローバル鍵消費量Gusedとの差によって、必要と推定されるグローバル鍵量を計算する。そして、算出部112は、登録されているグローバル鍵保証量Hinと、必要と推定されるグローバル鍵量との差から、更にグローバル鍵蓄積量Gcurを減じることによって、グローバル鍵必要量Hを推定する。
【0084】
続いて、保証部113が、ステップS2で取得されたグローバル鍵保証量Hinと、ステップS3で取得されたリンク情報(例えば、ローカル鍵生成量、ローカル鍵蓄積量、ローカル鍵予約済量、状態及びQKD性能)から算出されたリンクで使用可能なローカル鍵量と、ステップS4で算出されたリンクコストと、を用いて各経路のローカル鍵の保証可能量を算出する(ステップS5)。
【0085】
なお、グローバル鍵保証量Hinの代わりに、グローバル鍵蓄積量、グローバル鍵消費量及びグローバル鍵生成量を用いて推定された上述のグローバル鍵必要量Hが用いられてもよい。すなわち、保証部113は、グローバル鍵必要量Hが推定された場合、グローバル鍵必要量を満たすようにリンクで使用されるローカル鍵301の保証可能量を算出してもよい。
【0086】
続いて、選択部114は、経路の選択と、経路ごとに流せる最大フロー(経路内に存在するすべてのリンクの容量の中で最小のローカル鍵量に相当)の計算と、各リンクのローカル鍵予約量の計算と、を行う(ステップS6)。
【0087】
具体的には、選択部114は、まず、ステップS4で算出されたリンクコストが小さい順に、経路を列挙することによって、経路の優先付けを行う。選択部114は、ステップS5で算出された各経路のローカル鍵の保証可能量の中から、最大フローを取る利用経路を、優先付けされた経路から選択する(最小コスト最大フローの選択)。すなわち、選択部114は、始点のノード100と終点のノード100に対して、最小費用最大流問題(minimum cost maximum flow problem)を計算する。そして、選択部114は、ステップS2で取得されたグローバル鍵保証量を満たすように、各リンクのローカル鍵予約量を算出する。
【0088】
アプリケーションペアから要求されたグローバル鍵保証量を満たすように、経路を選択する(最大フロー問題のパラメータとしてグローバル鍵保証量を与えて解く)ことにより、アプリペアが期待する量のグローバル鍵401を配送する経路の選択が可能になる。このとき、グローバル鍵保証量の代わりに、グローバル鍵必要量Hを満たすように経路選択してもよい。
【0089】
続いて、選択部114は、リンク情報及びアプリペア-リンク情報を更新する(ステップS7)。具体的には、選択部114は、ステップS6で算出された各リンクの各アプリペアのローカル鍵予約量nrsvから、各リンクの全アプリペアのローカル鍵予約済量Nrsv=Σnrsvを算出し、記憶装置115で管理されるリンク情報に含まれるローカル鍵予約済量Nrsvを更新する。また、選択部114は、ステップS6で算出された各リンクの各アプリペアのローカル鍵予約量nrsvによって、アプリペア-リンク情報に含まれるローカル鍵予約済量を更新する。
【0090】
各リンクに対してローカル鍵予約済量Nrsvを設定(更新)することにより、次回の鍵転送(配送)経路計算の際に、他のアプリケーションペアが利用するローカル鍵量を侵害しないように、グローバル鍵401の転送経路を決定することができる。
【0091】
図8は、実施形態のアプリペア-リンク情報の例を示す図である。実施形態のアプリペア-リンク情報は、リンク、アプリペア、ローカル鍵予約済量、鍵予約開始日時及び鍵予約終了日時を含む。リンク及びアプリペアは、上述の説明と同じである。リンク及びアプリペアは、アプリペア-リンク情報に含まれるデータを特定する複合キーとして使用される。
【0092】
ローカル鍵予約済量は、リンクに対して1つのアプリケーションペアが期待するグローバル鍵保証量を満たすために予約されたローカル鍵量(バイト)である。鍵予約開始日時は、暗号鍵(グローバル鍵401)の保証(予約)開始日時である。鍵予約終了日時は、暗号鍵(グローバル鍵401)の保証(予約)終了日時である。
【0093】
なお、
図8に示すアプリペア-リンク情報は一例である。
図8に示すアプリペア-リンク情報のうち、例えば鍵予約開始日時及び鍵予約終了日時は、任意であり、アプリペア-リンク情報に、例えば鍵予約開始日時及び鍵予約終了日時が含まれていなくてもよい。
【0094】
以上、説明したように、実施形態のノード100では、収集部111が、量子鍵配送によりローカル鍵が生成されるリンクのリンク情報と、グローバル鍵を使用して暗号通信を行うアプリケーション200のペアで期待されるグローバル鍵保証量と、を収集する。算出部112が、リンク情報に基づき、グローバル鍵の転送経路の選択に使用されるリンクコストを算出する。保証部113が、グローバル鍵保証量を満たすようにリンクで使用されるローカル鍵の保証可能量を算出する。そして、選択部114が、リンクコストと、ローカル鍵の保証可能量とに基づき、グローバル鍵の転送経路を選択する。
【0095】
これにより実施形態のノード100によれば、アプリケーション200が本来期待するQoSを保証できる。すなわち、各アプリケーション200が期待する暗号鍵(グローバ401)の供給を保証できる。
【0096】
例えば、事前に登録されたグローバル鍵保証量を満たすように、グローバル鍵転送経路を決定できるので、QKDサービスの利用者に対してアプリケーション200の通信暗号化に必要な量のグローバル鍵の供給(QoS)を保証することができる。
【0097】
また、実施形態のノード100は、グローバル鍵保証量を満たす転送経路を決定した際に、各リンクにおいて消費されるローカル鍵予約済量を保持しておき、各リンクのリンクコストの算出に、ローカル鍵予約済量を使用する。これにより、QKDサービスの他の利用者に対するグローバル鍵401の供給(QoS)を阻害しないように転送経路を決定することができる。
【0098】
(実施形態の変形例1)
次に実施形態の変形例1について説明する。変形例1の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。
【0099】
[構成の例]
図9は、実施形態の変形例1の構成の例を示す図である。変形例1では、上述の実施形態のノード100が、ノード100-2と中央管理ノード600とに分離されている。
【0100】
ノード100-2は、制御部101と、管理部102と、プラットフォーム部103と、通信部104と、ルーティング処理部110-2と、を備える。ルーティング処理部110-2は、収集部111と、記憶部115と、を備える。
【0101】
中央管理ノード600(量子暗号通信制御装置の一例)は、収集部601、記憶部602及びルーティング処理部110-3を備える。ルーティング処理部110-3は、算出部112と、保証部113と、選択部114と、を備える。
【0102】
図9に示すように、算出部112と、保証部113と、選択部114と、による経路計算処理を、中央管理ノード600で実施してもよい。
【0103】
(実施形態の変形例2)
次に実施形態の変形例2について説明する。変形例2の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。
【0104】
[構成の例]
図10は、実施形態の変形例2の構成の例を示す図である。変形例2では、上述の実施形態のノード100が、ノード100と中央管理ノード600-2とに分離されている。
【0105】
変形例2のノード100(量子暗号通信制御装置の一例)の構成は、実施形態と同じである。中央管理ノード600-2は、収集部601及び記憶部602を備える。
【0106】
図10に示すように、各ノード100が経路計算処理を行うことによって、経路計算を分散処理し、中央管理ノード600の記憶部602で、各ノード100によって実施された経路計算結果を記憶してもよい。
【0107】
最後に、実施形態のノード100及び中央管理ノード600のハードウェア構成の例について説明する。ノード100及び中央管理ノード600のハードウェア構成は同様なので、ノード100の場合を例にして説明する。
【0108】
[ハードウェア構成の例]
図11は、実施形態のノード100のハードウェア構成の例を示す図である。ノード100は、CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53、通信I/F54及び補助記憶装置55を備える。CPU51、ROM52、RAM53、通信I/F54及び補助記憶装置55は、バス56を介して接続されている。
【0109】
CPU51(プロセッサの一例)は、ROM52(主記憶装置の一例)、及び、補助記憶装置55などからRAM53に読み出されたプログラムを実行する。補助記憶装置55は、HDD(Hard Disk Drive)及びメモリカード等である。
【0110】
なお、ノード100は、ノード100の状態等を表示する表示装置、及び、ユーザーからの入力を受け付ける入力装置などを更に備えていてもよい。
【0111】
通信I/F54は、量子通信IF及び古典通信IFを備える。量子通信IFは、量子通信路(光ファイバーリンク)に接続するためのインターフェースである。古典通信IFは、古典通信路に接続するためのインターフェースである。
【0112】
ノード100で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R、及び、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【0113】
また、ノード100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【0114】
また、ノード100が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0115】
また、ノード100で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0116】
ノード100で実行されるプログラムは、上述のノード100の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。プログラムにより実現される機能は、CPU51が補助記憶装置55等の記憶媒体からプログラムを読み出して実行することにより、RAM53にロードされる。すなわちプログラムにより実現される機能は、RAM53上に生成される。
【0117】
なお、ノード100の機能の一部又は全部を、IC(Integrated Circuit)等のハードウェアにより実現してもよい。ICは、例えば専用の処理を実行するプロセッサである。
【0118】
また、複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
【0119】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0120】
1 量子暗号通信システム
51 CPU
52 ROM
53 RAM
54 通信I/F
55 補助記憶装置
56 バス
100 ノード
101 制御部
102 管理部
103 プラットフォーム部
104 通信部
105 量子通信部
106 古典通信部
110 ルーティング処理部
111 収集部
112 算出部
113 保証部
114 選択部
115 記憶部
200 アプリケーション
501 アプリケーションネットワーク
502 鍵共有ネットワーク
600 中央管理ノード
601 収集部
602 記憶部