IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特開2023-136740鍵管理装置、量子暗号通信システム及びプログラム
<>
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図1
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図2
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図3A
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図3B
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図3C
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図4
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図5
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図6
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図7
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図8
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図9
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図10
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図11
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図12
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図13
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図14
  • 特開-鍵管理装置、量子暗号通信システム及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023136740
(43)【公開日】2023-09-29
(54)【発明の名称】鍵管理装置、量子暗号通信システム及びプログラム
(51)【国際特許分類】
   H04L 9/12 20060101AFI20230922BHJP
   H04L 9/18 20060101ALI20230922BHJP
【FI】
H04L9/12
H04L9/18
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022042596
(22)【出願日】2022-03-17
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、総務省「グローバル量子暗号通信網構築のための研究開発」に関する委託研究(JPMI00361)、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】兪 ユ
(72)【発明者】
【氏名】勝部 泰弘
(72)【発明者】
【氏名】谷澤 佳道
(72)【発明者】
【氏名】高橋 莉里香
(72)【発明者】
【氏名】藤吉 靖浩
(57)【要約】
【課題】QKDネットワークにおいて、アプリケーション鍵を共有するための最適な鍵リレー経路を決定する。
【解決手段】実施形態の鍵管理装置は、複数のアプリケーションにより構成されるアプリケーションネットワークの通信を暗号化するアプリケーション鍵を管理する鍵管理装置である。前記鍵管理装置は、収集部と算出部と決定部と通信部とを備える。収集部は、QKD(Quantum Key Distribution)によってリンク鍵が生成されるリンクのリソースを示すリソース情報を収集する。算出部は、前記リンクを含む鍵リレー経路のメトリックを、前記リソース情報に基づいて算出する。決定部は、複数の鍵リレー経路から、前記メトリックに基づいて、鍵リレー経路を決定する。通信部は、前記リンク鍵により暗号化されたアプリケーション鍵を、前記決定部により決定された鍵リレー経路を使用して、宛先に送信する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のアプリケーションにより構成されるアプリケーションネットワークの通信を暗号化するアプリケーション鍵を管理する鍵管理装置であって、
前記鍵管理装置は、
QKD(Quantum Key Distribution)によってリンク鍵が生成されるリンクのリソースを示すリソース情報を収集する収集部と、
前記リンクを含む鍵リレー経路のメトリックを、前記リソース情報に基づいて算出する算出部と、
複数の鍵リレー経路から、前記メトリックに基づいて、鍵リレー経路を決定する決定部と、
前記リンク鍵により暗号化されたアプリケーション鍵を、前記決定部により決定された鍵リレー経路を使用して、宛先に送信する通信部と、
を備える鍵管理装置。
【請求項2】
前記リソース情報は、前記リンクにおける前記リンク鍵の生成速度、及び、前記リンクにおける前記リンク鍵の保有量の少なくとも一方を含み、
前記算出部は、前記リンク鍵の生成速度、及び、前記リンク鍵の保有量の少なくとも一方に基づき、前記メトリックを算出する、
請求項1に記載の鍵管理装置。
【請求項3】
前記算出部は、前記鍵リレー経路のホップ数を更に算出し、前記ホップ数に更に基づいて前記メトリックを算出する、
請求項1又は2に記載の鍵管理装置。
【請求項4】
前記算出部は、前記鍵リレー経路に含まれる複数のリンクのリソース情報のボトルネックに基づく第1のメトリックと、前記ホップ数に反比例する第2のメトリックとを算出し、
前記決定部は、前記第1のメトリックが同じである前記鍵リレー経路が複数ある場合、前記第2のメトリックに更に基づいて鍵リレー経路を決定する、
請求項3に記載の鍵管理装置。
【請求項5】
前記算出部は、前記鍵リレー経路に含まれる複数のリンクのリソース情報のボトルネックに基づく第1のメトリックと、前記ホップ数に反比例する第2のメトリックとを算出し、
前記決定部は、前記第2のメトリックが同じである前記鍵リレー経路が複数ある場合、前記第1のメトリックに更に基づいて鍵リレー経路を決定する、
請求項3に記載の鍵管理装置。
【請求項6】
前記収集部は、前記リンクの状態を示す状態情報を更に収集し、
前記算出部は、前記鍵リレー経路の状態情報を、前記鍵リレー経路に含まれるリンクの状態情報に基づいて算出し、
前記決定部は、前記鍵リレー経路の状態情報が閾値より小さい鍵リレー経路から、前記メトリックに基づいて、鍵リレー経路を決定し、前記鍵リレー経路の状態情報が閾値以上の鍵リレー経路は、異常経路であると判定する、
請求項1乃至5のいずれか1項に記載の鍵管理装置。
【請求項7】
前記リンクの状態情報は、前記リンクのQBER(Quantum Bit Error Rate)である、
請求項6に記載の鍵管理装置。
【請求項8】
前記鍵管理装置は、QKDネットワークに含まれる複数のドメインのいずれかに属し、
前記鍵管理装置が属するドメインの情報を示す内部情報を記憶する内部情報記憶部と、
前記鍵管理装置が属さないドメインの情報を示す外部情報を記憶する外部情報記憶部と、を更に備え、
前記内部情報は、前記鍵管理装置が属するドメインに含まれるリンクの前記リソース情報を少なくとも含み、
前記外部情報は、前記鍵管理装置が属さないドメインに含まれるリンクの前記リソース情報を少なくとも含む、
請求項1乃至7のいずれか1項に記載の鍵管理装置。
【請求項9】
前記収集部は、前記QKDネットワークに属する他の鍵管理装置の前記内部情報記憶部に記憶された前記リソース情報を収集し、
前記外部情報記憶部は、前記他の鍵管理装置の前記内部情報記憶部に記憶された前記リソース情報を記憶する、
請求項8に記載の鍵管理装置。
【請求項10】
複数の鍵管理装置を備える量子暗号通信システムであって、
前記複数の鍵管理装置は、複数のアプリケーションにより構成されるアプリケーションネットワークの通信を暗号化するアプリケーション鍵を管理し、
前記鍵管理装置は、
QKD(Quantum Key Distribution)によってリンク鍵が生成されるリンクのリソースを示すリソース情報を収集する収集部と、
前記リンクを含む鍵リレー経路のメトリックを、前記リソース情報に基づいて算出する算出部と、
複数の鍵リレー経路から、前記メトリックに基づいて、鍵リレー経路を決定する決定部と、
前記リンク鍵により暗号化されたアプリケーション鍵を、前記決定部により決定された鍵リレー経路を使用して、宛先に送信する通信部と、
を備える量子暗号通信システム。
【請求項11】
前記鍵管理装置は、QKDネットワークに含まれる複数のドメインのいずれかに属し、
前記鍵管理装置が属するドメインの情報を示す内部情報を記憶する内部情報記憶部と、
前記鍵管理装置が属さないドメインの情報を示す外部情報を記憶する外部情報記憶部と、を更に備え、
前記内部情報は、前記鍵管理装置が属するドメインに含まれるリンクの前記リソース情報を少なくとも含み、
前記外部情報は、前記鍵管理装置が属さないドメインに含まれるリンクの前記リソース情報を少なくとも含む、
請求項10に記載の量子暗号通信システム。
【請求項12】
複数のアプリケーションにより構成されるアプリケーションネットワークの通信を暗号化するアプリケーション鍵を管理するコンピュータを、
QKD(Quantum Key Distribution)によってリンク鍵が生成されるリンクのリソースを示すリソース情報を収集する収集部と、
前記リンクを含む鍵リレー経路のメトリックを、前記リソース情報に基づいて算出する算出部と、
複数の鍵リレー経路から、前記メトリックに基づいて、鍵リレー経路を決定する決定部と、
前記リンク鍵により暗号化されたアプリケーション鍵を、前記決定部により決定された鍵リレー経路を使用して、宛先に送信する通信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は鍵管理装置、量子暗号通信システム及びプログラムに関する。
【背景技術】
【0002】
量子鍵配送(QKD:Quantum Key Distribution)では、鍵共有ネットワークの中の鍵管理装置(KM:Key Manager)間でアプリケーション鍵を共有するための鍵リレー経路決定、すなわち、複数のKMを介したアプリケーション鍵の転送が行われる。大規模な鍵共有ネットワークでは、鍵共有ネットワークの管理を効率化し、鍵共有ネットワークの管理を容易にするため、鍵共有ネットワークが、複数のドメインに分割されることが一般的である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-92987号公報
【特許文献2】特許第6426477号公報
【非特許文献】
【0004】
【非特許文献1】IETF,“A Border Gateway Protocol 4 (BGP-4)” RFC-4271,2016.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、QKDネットワークにおいて、アプリケーション鍵を共有するための最適な鍵リレー経路を決定することが難しかった。
【課題を解決するための手段】
【0006】
実施形態の鍵管理装置は、複数のアプリケーションにより構成されるアプリケーションネットワークの通信を暗号化するアプリケーション鍵を管理する鍵管理装置である。前記鍵管理装置は、収集部と算出部と決定部と通信部とを備える。収集部は、QKD(Quantum Key Distribution)によってリンク鍵が生成されるリンクのリソースを示すリソース情報を収集する。算出部は、前記リンクを含む鍵リレー経路のメトリックを、前記リソース情報に基づいて算出する。決定部は、複数の鍵リレー経路から、前記メトリックに基づいて、鍵リレー経路を決定する。通信部は、前記リンク鍵により暗号化されたアプリケーション鍵を、前記決定部により決定された鍵リレー経路を使用して、宛先に送信する。
【図面の簡単な説明】
【0007】
図1】実施形態の量子暗号通信システムの構成の例を示す図。
図2】実施形態のBKMの機能構成の例を示す図。
図3A】実施形態のメトリックの例1を示す図。
図3B】実施形態のメトリックの例2を示す図。
図3C】実施形態の鍵リレー経路の状態の例を示す図。
図4】実施形態の鍵リレー経路の決定方法の例を説明するための図。
図5】実施形態の鍵リレー経路の状態を更に考慮した鍵リレー経路の決定方法の例を説明するための図。
図6】実施形態の内部情報記憶部に記憶される鍵リレー経路属性情報の例を示す図。
図7】実施形態のBGP関連情報の例を示す図。
図8】実施形態の鍵リレー経路属性情報の共有方法の例を説明するための図。
図9】実施形態の外部情報記憶部に記憶される鍵リレー経路属性情報の例を示す図。
図10】実施形態の鍵リレー経路の決定処理の例を示すフローチャート。
図11】実施形態の鍵リレー経路の決定例を示す図。
図12】実施形態の変形例1について説明するための図。
図13】実施形態の変形例2について説明するための図。
図14】実施形態の変形例3について説明するための図。
図15】実施形態のKM、BKM及びQKDコントローラのハードウェア構成の例を示す図。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、鍵管理装置、量子暗号通信システム及びプログラムの実施形態を詳細に説明する。
【0009】
[量子暗号通信システムの構成の例]
図1は実施形態の量子暗号通信システムの構成の例を示す図である。図1の量子暗号通信システムは、マルチドメイン鍵共有ネットワークとして、複数のQKDネットワーク鍵共有ドメイン(QKDN KSD:Quantum Key Distribution Network Key Sharing Domain)100-1~100-4を含む。
【0010】
複数のKM(鍵管理装置)は、リンクにより相互に通信可能に接続され、QKDN KSD100-1~100-4を形成する。図1中のKMに付与された4桁の数字は、各KMを識別する識別番号を示す。また、BKMは、隣接するドメインとの境界におけるKMを示す。
【0011】
ネットワーク化された複数のKMは、リンクによって接続されたKM間で乱数を生成・共有する機能と、その生成・共有された乱数を暗号鍵(以降、「リンク鍵」と呼ぶ)として利用し、リンク上で暗号通信を行う機能とを備える。
【0012】
図1の例では、リンクによって接続されたKM間で乱数(リンク鍵)を生成・共有する機能は、量子暗号または量子鍵配送(QKD)と呼ばれる技術により実現される。
【0013】
また、KMの内の幾つかは、リンク間で生成された乱数(リンク鍵)とは独立の乱数である暗号鍵(以降、「アプリケーション鍵」と呼ぶ)を生成する機能と、アプリケーション鍵を、リンクを介して別のKMに送信する機能と、を備える。
【0014】
各QKDN KSD100-1~100-4に接続されるアプリケーション20は、KMからアプリケーション鍵を取得し、これを暗号鍵として利用し、通信先のアプリケーション20との間で暗号通信を行う機能を備える。この時の暗号通信は、QKDN KSD100-1~100-4とは異なるアプリケーションネットワーク200を介して行われてもよい。例えばアプリケーションネットワーク200には、インターネットなどが利用される。
【0015】
例えば、KMとアプリケーション20とは1つの端末により実現される。また例えば、KMとアプリケーション20とを独立した端末として構成し、両端末の間でアプリケーション鍵を送受信するようにしてもよい。図1の例は、KMとアプリケーション20とが独立した端末により構成される場合の一例を示す。
【0016】
なお、アプリケーション鍵を要求するアプリケーション20は、任意でよい。また、KMの数、鍵共有ドメインの数、及び、アプリケーション20の数は、図1の例に限られない。
【0017】
各QKDN KSD100-1~100-4は、例えば、KMの数と、KM間のリンク数がある制限値(例えば、1000)以内に制限される。図1の例では、ドメイン内のKMが一般のKMと、ドメインの境界におけるBKMと、に区別して表記されている。
【0018】
図1の例では、ドメイン間のBKM(例えば、BKM1811、BKM1831、BKM2032及びBKM2033)は、物理的に同じトラステッドノード(以降、「サイト」と呼ぶ)に置かれる。同じサイト内のBKM間は、基本的に量子暗号通信ではなく、ローカルLAN接続等の別の方式で情報を共有する。図1では、量子暗号通信のリンクと区別するため、同じサイト内のBKM間のリンクの記載は省略されている。
【0019】
信頼性を高めるために、ドメイン間のBKMリンクは、基本的に1リンク以上となる。例えば、図1に示すようにすべてのドメイン間はBKMリンクが2本、存在する。それに対して、コスト節約の面からいうと、ドメイン間のBKMがひとつだけとすることも可能である。この場合、1つのBKM上に、複数の隣接ドメインの情報が保存されてもよい。
【0020】
複数のKMのうち、BKMでは、BKM自身が属する鍵共有ドメインの情報のほか、隣接する鍵共有ドメインの情報も共有して保存する。隣接するBKMは、QKD以外の方式で情報を共有する。また、BKMに保存される情報には、時間順でシーケンス番号が付与され、当該シーケンス番号により情報が更新される。
【0021】
BKMに保存される情報としては、例えば経路情報及びリソース情報がある。経路情報は、バックグラウンド処理として実施されるルーティングプロトコルに関する情報となる。リソース情報は、アプリケーション鍵を宛先KMまで転送する鍵リレー経路を決定する処理で用いられる情報である。
【0022】
QKDN KSD100内に量子鍵配送で量子暗号鍵を共有するための経路(鍵リレー経路)を決定するプロトコル(ルーティングプロトコル)としては、Interior Gateway Protocol(IGP)の通信プロトコルが用いられる。例えば、当該通信プロトコルとしてOSPF(Open Shortest Path Fast)が用いられる。OSPFは、ルーティング(経路制御)を行うためのメトリックとして距離(各鍵リレー経路に含まれるリンクのコストの和)を用いる。
【0023】
QKDN KSD100間に量子鍵配送で量子暗号鍵を共有するための経路(鍵リレー経路)を決定するプロトコル(ルーティングプロトコル)としてはExterior Gateway Protocol(EGP)の通信プロトコルが用いられる。例えば、当該通信プロトコルとしてBGP(Border Gateway Protocol)が用いられる。BGPは、パスベクトル型ルーティングプロトコルに分類され、技術的なメトリックは使用しない。
【0024】
量子暗号通信システムの鍵共有ネットワーク(QKDN KSD100-1~100-4)における各KMは、アプリケーション鍵の共有を行う。KMは、アプリケーション鍵をリンク鍵で暗号化して交換する際、リンク鍵を消費する。KMは、リンク鍵をワンタイムパッドで利用するため、すなわち、一度利用したリンク鍵を捨てるためである。従って、共有しているリンク鍵の量またはリンク鍵を共有する速度以上の速さで、アプリケーション鍵を交換および中継することはできない。複数のKMを介してアプリケーション鍵を交換する場合、アプリケーション鍵の共有速度は、リンク鍵の最も少ないリンク、または、リンク鍵の共有速度が最も低いリンクに律速される。量子暗号通信システムにおける暗号通信のスループットは、このようなリンクがボトルネックとなり制約を受ける。または、リンク鍵が枯渇したリンクではアプリケーション鍵を共有するということができなくなる。量子暗号通信システムでは、できるだけボトルネックが最良の経路を選択してアプリケーション鍵を共有することが望まれる。
【0025】
一方、量子暗号通信システム全体のリンク鍵の消費量に着目すると、多くのリンクを経由する経路ほどリンク鍵の消費量が多いと言える。リンク鍵はアプリケーション鍵を共有する際に用いられるため、アプリケーション20のスループットをある程度に決定するシステムリソースである。このため、システム全体として、経由するリンクの数が少なくし、リンク鍵の消費量を抑えることが望ましい。
【0026】
大規模な鍵共有ネットワークでは、鍵共有ネットワークの管理を効率化し、鍵共有ネットワークの管理を容易にするため、鍵共有ネットワークが、複数のドメイン(図1の例では、QKDN KSD100-1~100-4)に分割されることが一般的である。しかし、各ドメインが同じ規格、同じ規模、同じ量子プロトコルに限らない。分割型として、例えば、ドメインのKM数あるいはリンク数に上限を設定すると、ドメイン内における多くのKMは持つ鍵リレー経路情報が少なくなり、処理時間が短縮できる。しかし、ドメイン外のKMへ鍵共有する際に、特定のKMを経由してドメイン間の鍵リレー経路決定を行うことが望ましい。
【0027】
このように、量子暗号通信システムでは、リンク鍵をシステムにおける制約リソース(鍵リソース)と考えると、鍵の消費および枯渇を避けつつ、ドメイン内とドメイン間の効率的に鍵リレー経路決定を行うことが望ましい。
【0028】
そこで、本実施形態にかかる量子暗号通信システムは、リンク鍵の消費をできるだけ抑制し、効率的にアプリケーション鍵の共有を行うための鍵リレー経路を決定する。本実施形態にかかる量子暗号通信システムによれば、特定のKMにおけるリンク鍵の枯渇を避けつつ、アプリケーション鍵共有のスループットを維持しながら、システム全体でのリンク鍵の消費量を小さくすることが可能となる。
【0029】
具体的には、本実施形態にかかる量子暗号通信システムは、アプリケーションへ提供可能な暗号鍵のリソースを表すリソース情報を算出するアルゴリズムを、ルーティングプロトコルの一部として利用する。これにより、鍵リレー経路決定のメトリックは、リソースのボトルネック(ボトルネックを示す値)に基づくので、最良の鍵リレー経路を決定できる。本実施形態にかかる量子暗号通信システムは、さらにホップ数をメトリックとして採用する。これにより、リンク鍵の消費量を抑える経路を選択できる。また、ホップ数は、ルーティングプロトコルを実施した後に、メトリックとして加えることも考えられる。
【0030】
なお、ボトルネックを示す値とは、例えばボトルネックとなる部分のリソースの値である。後述するように、例えば鍵リレー経路に含まれる各リンクのコスト(リソース)の最小値が、ボトルネックを示す値となる。以下では、ボトルネックを示す値を単にボトルネックという場合がある。
【0031】
[機能構成の例]
図2は実施形態のBKMの機能構成の例を示す図である。実施形態のBKMは、制御部1、管理部2、プラットフォーム部3、通信部4及び処理部5を備える。
【0032】
制御部1は、BKMで行われる各処理の制御を行う。例えば、制御部1は、各機能部の起動を担う。
【0033】
管理部2は、BKMが接続しているリンクの鍵生成速度、及び、リンクで使用される鍵の保有量などのリソースを管理する。
【0034】
プラットフォーム部3は、BKM上の機能の管理と動作に必要なオペレーティングシステム機能、基本的なネットワーク機能、および、セキュリティ機能等を提供する。
【0035】
通信部4は、接続されている他のKM(BKM)との通信を行う。通信部4は、リンクによって接続されたKM(BKM)の間で、量子暗号を用いて、乱数を生成してから共有し、生成した乱数をリンク鍵として管理する。また、通信部4は、リンクによって接続された他のKM(BKM)との間でデータ通信を行う際に、他の機能部から利用される。通信部を介して他のKMとの間で交換されるデータには、アプリケーション鍵のデータなどがある。これらのデータは通常、KMが管理するリンク鍵を用いて暗号通信により交換される。
【0036】
処理部5は、記憶部6、収集部7、算出部8及び決定部9を備える。
【0037】
記憶部6は、外部情報記憶部6aと内部情報記憶部6bとを備える。外部情報記憶部6aは、BKMが属さないドメインの情報を示す外部情報を記憶する。内部情報記憶部6bは、BKMが属するドメインの情報を示す内部情報を記憶する。なお、外部情報記憶部6aと内部情報記憶部6bとは、区別されずに、1つの記憶部6により実現されていてもよい。
【0038】
記憶部6に記憶される情報は、経路テーブル、鍵リレー経路テーブル、および、各KM(BKM)の鍵リレー経路属性情報(例えばリンクのリソース情報等)などの各種情報である。例えば、記憶部6は、KM(BKM)ごとに、当該KM(BKM)から取得された鍵リレー経路属性情報(例えば鍵生成速度、鍵保有量及びQBER)を記憶する。
【0039】
収集部7は、他のKM(BKM)から、当該KM(BKM)が提供可能なリンクのリソース情報、および、経路情報を取得する。例えば、収集部7は、通信部4を通じて、ほかのドメインのKM(BKM)から共有した鍵リレー経路属性情報も収集する。例えば、収集部7は、QKDネットワークに属する他のKM(BKM)の内部情報記憶部6bに記憶されたリソース情報を収集し、当該リソース情報を外部情報記憶部6aに記憶する。また例えば、収集部7は、動的に個別のリンクの情報を集める。
【0040】
算出部8は、ボトルネックとホップ数との少なくとも一方からメトリックを算出する。また、算出部8は、QBERから状態も算出する。算出方法の詳細は後述する。
【0041】
決定部9は、他のKM(BKM)に到達する複数の鍵リレー経路候補から、状態が閾値以内であり、かつ、メトリックに基づいて、1の鍵リレー経路(メトリックが最良となる鍵リレー経路)を決定する。
【0042】
BKMは、一般のKMが持つ機能のほかに、別のドメインと経路情報共有するため機能(例えば、BGP)と、構成(例えば、外部情報記憶部6a)と、を備える。そのため、BKM以外の一般のKMは、外部情報記憶部6aを備えていなくてもよい。実施形態のKMの構成は、外部情報記憶部6a以外は、BKMと同様なので説明を省略する。以下では、KM及びBKMを区別しない場合は、単にKMという場合がある。
【0043】
上記各部(制御部1、管理部2、プラットフォーム部3、通信部4、収集部7、算出部8及び決定部9)は、例えば、CPU(Central Processing Unit)などの制御装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。また、記憶部6は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0044】
[アプリケーション鍵の共有処理]
QKDN KSD100-1~100-4におけるアプリケーション鍵の共有処理の一例について説明する。全体の流れとしては、まず、KMの通信部4は、隣接するKMとの間でリンク鍵を生成する。次に、各KMの処理部5は、任意のKMとの間でアプリケーション鍵を共有するための鍵リレー経路の決定を行う。そして、各KMの通信部4は、決定された経路に従い、各リンクでリンク鍵を用いて暗号化・復号を繰り返しながらアプリケーション鍵を宛先KMまで共有(転送)する。
【0045】
次に、鍵リレー経路の決定処理の詳細について説明する。QKDN KSD100-1~100-4を構成する各KMの通信部4は、利用可能なリソース情報、および経路情報をドメイン内で相互に交換する。各KMは、ほかのKMとの間でアプリケーション鍵を共有するための鍵リレー経路に関し、リソースのボトルネック、および、ホップ数を算出する。各KMの記憶部6は、リンク鍵の共有時のQBERを記録する。
【0046】
宛先KMがドメイン内の場合、各KMの決定部9は、リソースのボトルネックおよびホップ数をメトリックとして、以下の述べるアルゴリズムを用いて、鍵の生成速度が遅く、鍵保有量が少ないようなリンクの鍵枯渇を回避し、同時にドメイン内における鍵消費を抑制する鍵リレー経路を決定する。ドメイン間境界におけるBKMは、ドメイン内の鍵リレー経路情報を内部情報記憶部6bに保存する。
【0047】
なお、ボトルネックの回避、および、ホップ数の削減は、異なるメトリックであり、これを評価する順序や重み付けにより、いくつかのバリエーションがありえる。KMの決定部9は、例えば以下の(A)または(B)の方法により、あるリンクのリンク鍵の枯渇を避け、ドメイン内における鍵消費を抑制する鍵リレー経路を決定する。
【0048】
(A)メトリック[リソースのボトルネック]が同一の鍵リレー経路に対して、メトリック[ホップ数]を考慮した鍵リレー経路決定を行う。
【0049】
(B)ボトルネックおよびホップ数の両方を考慮した単一のメトリックを用いて鍵リレー経路決定を行う。
【0050】
アプリケーション鍵共有における特定の宛先KMが送信元KM属するドメイン内に存在しない場合、送信元KMの通信部4が、送信元KM属するドメイン内における各BKMに、宛先までの鍵リレー経路情報を要求する。ドメイン間における各BKMは、要求を受けて各隣接するドメインのBKMへ特定の宛先KMの鍵リレー経路情報共有を要求する。隣接するBKMが、特定の宛先KMへの鍵リレー経路情報要求を受けて、自分の内部情報記憶部6bに保存している最新の鍵リレー経路情報を探索する。内部情報記憶部6bに見つかった場合、その鍵リレー経路に関するリソース情報を要求するBKMへ返信する。隣接するBKMの内部情報記憶部6bに見つからない場合、隣接するBKMが隣接するドメインのBKMに継続に要求する。従って、見つかった場合、そのBKM属するドメイン内の特定の宛先KMへの鍵リレー経路に関するリソース情報と、経由しているドメインの鍵リレー経路に関するリソース情報と、を要求するBKMへ返信する。また、経由するドメイン数の上限値に関する設定が可能である。
【0051】
なお、内部情報記憶部6bに保存している鍵リレー経路情報は、シーケンス番号より更新される。BKMが鍵リレー経路情報を要求する際に、最新の鍵リレー経路情報を共有する。また、各ドメイン内のBKM間の鍵リレー経路に関するリソース情報は外部情報記憶部6aに保存する。当然、全ての鍵リレー経路情報を同じ記憶部6に保存されてもよい。実施形態では、ドメイン内とドメイン外のプロセスを理解しやすいため、内部情報記憶部6bと外部情報記憶部6aに分けて説明する。
【0052】
さらに、ドメイン間境界の複数のBKMは物理的に同じ場所(トラステッドノード)に置くことを想定する。また、BKM間の情報共有は、鍵共有に使用されるリンクに依存しない。
【0053】
また、QKDN KSD100-1~100-4のあるリンクのQBERが規定している閾値を超えたという非常時が発生する場合(盗聴される可能性が高いと判断する)、すぐにBKMへ通知する。通知を受けたBKMの決定部9は、そのリンクを含む鍵リレー経路を使用せず、ドメイン間境界におけるBKMが候補経路から新な経路をすぐに再決定する。
【0054】
さらに、リソースの大きな変動が発生したことを契機としてルーティングプロトコルと鍵リレー経路の決定処理の再実行を行うように構成してもよい。
【0055】
なお、メトリックの一例としてリソースのボトルネックと鍵リレー経路のホップ数とを採用したが、それ以外の要素もメトリックとなり得る。また、メトリックの要素として1つ目にボトルネックを採用し、次の要素としてホップ数を評価したが、これらを評価する順序は逆であっても構わない。すなわち、メトリックとして鍵リレー経路のホップ数によって経路決定処理を行い、ホップ数が等しい場合にボトルネックを評価してもよい。
【0056】
具体的には、例えば、算出部8が、鍵リレー経路に含まれる複数のリンクのリソース情報のボトルネックに基づく第1のメトリックと、ホップ数に反比例する第2のメトリックとを算出する。そして、決定部9が、第1のメトリックが同じである鍵リレー経路が複数ある場合、第2のメトリックに更に基づいて鍵リレー経路を決定する。または、決定部9は、第2のメトリックが同じである鍵リレー経路が複数ある場合、第1のメトリックに更に基づいて鍵リレー経路を決定する。
【0057】
また、リソースのボトルネックと鍵リレー経路のホップ数のそれぞれを、メトリックに反映させる度合いを調整することも可能である。これは、例えばリソースのボトルネックと鍵リレー経路のホップ数とを重み付けしてメトリックを計算することで可能となる。
【0058】
リソースのボトルネックを考慮することは、アプリケーション鍵を共有する速度(スループット)、または、あるリンクにおけるリンク鍵の枯渇に関する回避性向に関係する。また、ホップ数を考慮することはシステム全体の鍵の消費量に関係する。量子暗号通信システムを適応するアプリケーションに応じて、メトリックを使い分けるとよい。
【0059】
本実施形態では、KMドメイン内の経路情報収集には、既存のルーティングプロトコルであるOSPFを利用し、KMドメイン間の経路情報収集には、既存のルーティングプロトコルBGPを利用することとするが、別のプロトコルを利用することを除外するものではない。
【0060】
初めに、QKDN KSD100-1~100-4を構成する各KMと隣接KM間のリンクに対応付けられるデータは以下の通りとする。下のデータは時間順のシーケンス番号を付けられ、シーケンス番号より更新される。
【0061】
リンクに対応付けられるデータ:
・コスト(リソース情報):リンク鍵の生成速度
・コスト(リソース情報):リンク鍵の保有量
・状態(リソース情報):QBER
【0062】
KMに対応付けられるデータ:
・ドメイン内の構成を表すデータベース(リンクステートデータベース)
・ドメイン内の宛先KMへの最短パスツリーの確定情報
・ドメイン内の各BKMへの最短パスツリーの確定情報
・送信元からドメイン内の宛先KMまでのボトルネック
・送信元からドメイン内の宛先KMまでのホップ数
・送信元からドメイン内の宛先KMまでの最大QBER値
・送信元から各BKMまでのボトルネック
・送信元から各BKMまでのホップ数
・送信元から各BKMまでの最大QBER値
・ネクストホップ
【0063】
リンクに対応づけられるデータは、リソース情報である。リソース情報は、2種類のコスト(リンク鍵の生成速度、および、リンク鍵の保有量)と、リンクの状態(QBER)とを含む。
【0064】
鍵生成速度は、隣接KM間で量子鍵配送を行うことでリンク鍵を共有する速度を表す。鍵生成速度は、リンクに接続されたKMの設定パラメータ及び接続環境等の影響によって、リンクごとに異なる。
【0065】
鍵保有量は、隣接KM間で量子鍵配送を行うことで共有した鍵のうち、まだ使用されていない鍵の量である。鍵保有量は、量子鍵配送を行うことによって蓄積し(増加する)、任意の送信元KM~宛先KM間のアプリケーション鍵リレーでリンク鍵を利用することによって消費される(減少する)。なお、コストはこれに限られるものではない。例えば、鍵生成速度のみ、または、鍵保有量のみがコストとして用いられてもよい。
【0066】
次に、KMに対応付けられるデータについて説明するため、まずドメイン内の鍵リレー経路決定方法を説明する。
【0067】
[ドメイン内の鍵リレー経路決定方法の例]
ドメイン内の鍵リレー経路決定に必要な情報は、既存のルーティングプロトコルであるOSPFを利用して、下記(1)~(4)の処理によって収集される。
【0068】
(1)OSPFでは、KMはリンクステートアップデートと呼ばれるメッセージを出し、KMが接続しているリンクの状態、そのリンクのネットワークアドレス、及びコストなどの情報を他のKMと共有する。リンクステートには、あるKMが、ほかのKMにどのように接続しているか、という情報(経路情報)が含まれる。
【0069】
(2)リンクステートアップデートを受け取った各KMでは、その情報に基づいて、ドメイン内のネットワーク構成を把握する。そして、ドメイン内のネットワーク構成を表す表(リンクステートデータベース)を構築する。
【0070】
(3)各KMは、このデータベースからDijkstraアルゴリズムを用いて、自身を送信元としたドメイン内の最短パスツリーを計算し、フォワーディングテーブルを作成する。
【0071】
(4)内部情報記憶部6bは、あるKMからドメイン内のほかのKMまでのフォワーディンテーブル情報とリソース情報とを記憶する。
【0072】
以上が、QKDN KSD100-1~100-4におけるドメイン内の基本的なフォワーディンテーブル決定方法である。本実施形態は、上述の方法のうち、主に(3)のドメイン内の最短パスツリーの作成に関する。(1)、(2)および(4)は、従来と同様の処理で実行できる。ただし、後述のとおり、(1)の手順によって共有される情報の一部に、本実施形態特有の情報が含まれる。
【0073】
上記のように、KMに対応付けられるデータは、リンクステートデータベース、ドメイン内の宛先KMへの最短パスツリーの確定情報、ドメイン内の各BKMへの最短パスツリーの確定情報、送信元からドメイン内の宛先KMまでのボトルネック、送信元からドメイン内の宛先KMまでのホップ数、送信元からドメイン内の宛先KMまでの最大QBER値、送信元から各BKMまでのボトルネック、送信元から各BKMまでのホップ数、送信元から各BKMまでの最大QBER値、及び、ネクストホップである。
【0074】
リンクステートデータベースは、ドメイン内のネットワーク構成(接続関係)を表し、
各KMが、最短パスを計算する時に使用される情報である。
【0075】
ドメイン内の宛先KMへの最短パスツリーの確定情報、ドメイン内の宛先KMごとに、当該KMまでの最短パスが確定しているかどうかを表す。確定していない場合は、そのKMまでの鍵リレー経路は最短パス候補に過ぎないことを表す。
【0076】
ドメイン内の各BKMへの最短パスツリーの確定情報、ドメイン内のBKMごとに、当該BKMまでの最短パスが確定しているかどうかを表す。確定していない場合は、そのBKMまでの鍵リレー経路は最短パス候補に過ぎないことを表す。
【0077】
送信元からドメイン内の宛先KMまでのボトルネックは、宛先KMに到達するための最短パス候補を経由するときのリンクのコストのボトルネックを表す。
【0078】
送信元からドメイン内の宛先KMまでのホップ数は、宛先KMに到達するための最短パス候補を経由するときのホップ数を表す。
【0079】
送信元からドメイン内の宛先KMまでの最大QBER値は、宛先KMに到達するための最短パス候補を経由するときの最大QBER値を表す。
【0080】
送信元から各BKMまでのボトルネックは、各BKMに到達するための最短パス候補を経由するときのリンクのコストのボトルネックを表す。
【0081】
送信元から各BKMまでのホップ数は、各BKMに到達するための最短パス候補を経由するときのホップ数を表す。
【0082】
送信元から各BKMまでの最大QBER値は、各BKMに到達するための最短パス候補を経由するときの最大QBER値を表す。
【0083】
ネクストホップは、最短パスの候補となるネクストホップを表す。
【0084】
各KMは、リンクステートデータベース、ドメイン内の最短鍵リレー経路ツリーとしての確定情報、送信元KMからほかの各KMまでの各リンクのコストと状態(リソース情報)、送信元からほかの各KMまでのホップ数、および、ネクストホップを持つ。送信元から他のKMまでの各リンクのコスト、および、送信元から他のKMまでのホップ数は、当該他のKMごとに保持される。
【0085】
OSPFにおけるダイクストラアルゴリズムでは、メトリックは距離であった。一方、本実施形態の鍵共有ルーティングプロトコルでは、距離ではなく、鍵リレー経路におけるボトルネックをメトリックの算出に用いる。アプリケーション鍵を共有するKM間の、鍵生成速度と鍵保有量とを一定の値以上に保ち、アプリケーションネットワークで必要となる量の暗号鍵の獲得に支障が生じないようにするために、ボトルネックをメトリックとして導入する。
【0086】
[メトリックの例]
図3Aは実施形態のメトリックの例1を示す図である。図3Aは、メトリックにボトルネック(コスト)が使用される場合を示す。ボトルネック(コスト)は、各リンクにおけるリンク鍵の生成速度、及び、各リンクにおけるリンク鍵の保有量の少なくとも一方を含むリソース情報から算出される。算出部8は、リソース情報に基づき、メトリックを算出する。
【0087】
例えば、ボトルネック(コスト)は、下記式により算出される。
Costlink=Ukey+SKR×t
【0088】
ここで、Ukeyは、各KMのリンク鍵未使用量(鍵残量)を示し、SKRは、各KMのリンク鍵生成速度を示し、tは参照用時間間隔を示す。参照用時間間隔(t)は実際の状況に従い設定される。例えば、Ukeyが1000Mbits、SKRが3Mbits/sec、tが300secのとき、Costlinkは1900(1.9Gbits)となる。
【0089】
図3Aでは、各リンクに付けられた数値がコストを表す。送信元(S)からリレー(R)を経由して宛先(D)までの鍵リレー経路に含まれる各リンクのコストの最小値がメトリック(ボトルネック)となる。
【0090】
図3Aの例では、ボトルネックは、鍵リレー経路に含まれる各リンクのコストの最小値なので、min{4,3,6}=3となる。すなわち、図3Aの鍵リレー経路のメトリック(ボトルネック)は3となる。
【0091】
図3Bは、実施形態のメトリックの例2を示す図である。図3Bは、メトリックにホップ数が使用される場合を示す。ホップ数はリレーKMの数+1の値とする。送信元(S)からリレー(R)を経由して宛先(D)までの鍵リレー経路に含まれるリレーKMの数+1の値がメトリック(ホップ数)となる。
【0092】
図3Bの例では、ホップ数は、リレーKMの数+1なので、鍵リレー経路に含まれるリレー数(2)+1=3となる。すなわち、図3Bの鍵リレー経路のメトリック(ホップ数)は3となる。
【0093】
[鍵リレー経路の状態の例]
図3Cは実施形態の鍵リレー経路の状態の例を示す図である。図3Cは、鍵リレー経路の状態に、QBERが使用される場合を示す。リンクに付けられた数値がQBER値を表す。送信元(S)からリレー(R)を経由して宛先(D)までの鍵リレー経路に含まれる各リンクのQBERの最大値が状態となる。
【0094】
図3Cの例では、QBERは、鍵リレー経路に含まれる各リンクの状態の最大値なので、min{4,3,6}=6となる。すなわち、この鍵リレー経路の状態は6となる。
【0095】
[鍵リレー経路の決定方法の例]
図4は実施形態の鍵リレー経路の決定方法の例を説明するための図である。図4は、メトリックによる鍵リレー経路(パス)の選択方法を示す。図4では、送信元KMがSを表し、宛先KMがDを表し、アプリケーション鍵を共有するためのリレーKMをRで表す。また、リンクに振られた番号がリンクのボトルネック(コスト)を表す。鍵リレー経路Aは、ボトルネックが3、ホップ数が2となる。鍵リレー経路Bは、ボトルネックが5、ホップ数が3となる。鍵リレー経路Cは、ボトルネックが6、ホップ数が4となる。
【0096】
メトリックが、ボトルネック及びホップ数から算出される場合のメトリック算出方法の例を以下に示す。
【0097】
方法1:決定部9が、ボトルネックとホップ数とを別々の領域に保持する。そして、決定部9は、ボトルネックを優先し、ボトルネックが等しい場合に、ホップ数を比較し、ホップ数が少ない経路を最適な鍵リレー経路に決定する。
【0098】
方法2:決定部9が、ボトルネックとホップ数とを別々の領域に保持する。そして、決定部9は、ホップ数を優先し、ホップ数が等しい場合にボトルネックを比較し、ボトルネックが大きい経路を最適な鍵リレー経路に決定する。
【0099】
方法3:決定部9は、ボトルネック(BN)とホップ数(Hops)とを含むメトリック(Metric)を算出式により、最適な鍵リレー経路を決定する。
【0100】
算出式は、例えば下記式により算出される。
Metric=δ×BN+(1-δ)×(1/Hops)
【0101】
ここでδは、1より小さい係数である。
【0102】
一方、メトリックがボトルネックだけの場合、鍵リレー経路Cが最適な鍵リレー経路となる。メトリックがホップ数だけの場合、鍵リレー経路Aが最適な鍵リレー経路となる。上記の算出式の係数を設定することで、メトリックが片方だけの場合を実現することが可能である。例えば、メトリックをボトルネックだけにする場合は、δ=1に設定する。また、メトリックをホップ数だけにする場合は、δ=0に設定する。
【0103】
図4の例を用いて、δ=0.5に設定し、上記方法3に従いメトリックを計算する例について説明する。
【0104】
鍵リレー経路Aのメトリックは、Metric=0.5×3+(1-0.5)×(1/2)=1.75となる。鍵リレー経路Bのメトリックは、Metric=0.5×5+(1-0.5)×(1/3)=2.67となる。鍵リレー経路Cのメトリックは、Metric=0.5×6+(1-0.5)×(1/4)=3.125となる。
【0105】
方法1では、各KMまでのボトルネックとホップ数とをそれぞれ保持し、ボトルネックが等しい場合にのみホップ数の比較を行う。方法2では、各KMまでのボトルネックとホップ数とをそれぞれ保持し、ホップ数が等しい場合にのみボトルネックの比較を行う。方法3では、メトリックを表す算出式を予め作っておき、各KMまでのボトルネックとホップ数とからメトリックを算出しておく。
【0106】
なお、上記メトリックの算出式は一例であり、これらに限られるものではない。例えば、ボトルネックとホップ数とそれぞれに重みを付けて足し合わせた結果をメトリックとする他の式を用いてもよい。この場合、ボトルネックおよびホップ数にかかる係数(重み)は任意である。
【0107】
図5は実施形態の鍵リレー経路の状態を更に考慮した鍵リレー経路の決定方法の例を説明するための図である。決定部9は、メトリック(ボトルネック及びホップ数)に加え、状態として鍵リレー経路のQBERを更に考慮する。これにより、ドメイン内の鍵リレー経路決定では、鍵消費を抑制する経路選択が可能となり、かつ、異常が発生する時の対応ができるので、効率的な経路選択が可能になる。
【0108】
図5では、送信元KMがSを表し、宛先KMがDを表し、アプリケーション鍵を共有するためのリレーKMをRで表す。また、リンクに振られた番号がリンクの状態を表す。
【0109】
鍵リレー経路の状態は、各リンクのQBERの最大値となる。図5に示すように、例えば、鍵リレー経路Aは、状態が4%となる。鍵リレー経路Bは、状態が4%となる。鍵リレー経路Cは、状態が5%となる。
【0110】
鍵リレー経路の状態は、鍵リレー経路の安定性・安全性を示す。鍵リレー経路の状態は、鍵リレー経路を決める1つの要素となる。各ドメインにおける状態に同一の閾値を設定する。あるリンクのQBER値が閾値を超える場合、このリンクが盗聴される可能性が非常に高いと想定される。決定部9は、QBER値が閾値を超える場合、このリンクを含む鍵リレー経路は不安全と判定し、QBER値が閾値を超えるリンクを回避しながら新たな鍵リレー経路を決定する。閾値は通常100%以内となる。例えば、閾値は50%に設定される。なお、回避されたリンクのQBERが閾値以下に戻ると、当該リンクを含む経路が、再び鍵リレー経路の候補になる。
【0111】
図5の例では、アプリケーション鍵を、送信元KM(S)から宛先KM(D)まで、リレーする場合を示す。上記の方法3を基準として、メトリック最良の鍵リレー経路Cを決定する場合について説明する。例えば、鍵リレー経路CのQBER値が5%のリンクが盗聴され、QBER値が55%に急増したとする。このとき、例えば、リレーKMであるR10が、鍵リレー経路Cの状態が閾値を超えたことを検出した場合、鍵リレー経路Cに含まれる全てのKMにフィードバックする。
【0112】
送信元KM(S)は、鍵リレー経路Cのあるリンクの状態が異常という情報を受けると、鍵リレー経路Cを回避する。そのあと、送信元KM(S)の決定部9は、ドメイン内の鍵リレー経路の決定処理を再実行し、以上リンクを含まない最良の鍵リレー経路を決定する。
【0113】
具体的な各部の動作例としては、まず収集部7が、動的にリンクの状態を示す状態情報を更に収集する。次に、算出部8が、鍵リレー経路の状態情報を、鍵リレー経路に含まれるリンクの状態情報に基づいて算出する。そして、決定部9は、鍵リレー経路の状態情報が閾値より小さい鍵リレー経路から、メトリックに基づいて、鍵リレー経路を決定し、鍵リレー経路の状態情報が閾値以上の鍵リレー経路は、異常経路であると判定する。
【0114】
[内部情報記憶部に記憶される鍵リレー経路属性情報の例]
図6は実施形態の内部情報記憶部6bに記憶される鍵リレー経路属性情報の例を示す図である。図6の例では、QKDN KSD100-1の境界にあるBKM1811の内部情報記憶部6bに記憶される鍵リレー経路属性情報について説明する。内部情報記憶部6bに記憶される鍵リレー経路属性情報は、ドメイン内の各KM(BKMも含まれる)からの最短パスの候補となる情報である。
【0115】
収集部7が、ドメイン内のOSPFルーティングを行い、鍵リレー経路属性情報を収集してテーブルを作成し、当該テーブルを内部情報記憶部6bに保存する。収集部7により収集される情報は、上記のメトリック情報(ボトルネック及びホップ数)、状態情報(QBER)、送信元のホスト名、及び、情報の時間を示す値を含む。なお、収集部7により収集される情報に、鍵リレー経路属性情報に関するそのほかの情報が更に含まれていてもよい。
【0116】
図6に示す鍵リレー経路属性情報は、始点(IPアドレス)、シーケンス番号、ボトルネック、ホップ数及び状態を含む。始点(IPアドレス)は、送信元のホスト名(例えば、IPアドレス)である。シーケンス番号は、情報の時間を示す値(例えば、時間順のシーケンス番号)である。ボトルネックは、鍵リレー経路のボトルネックである。ホップ数は、鍵リレー経路のホップ数である。状態は、鍵リレー経路の状態情報(QBER)である。
【0117】
収集部7は、例えば所定の時間間隔で鍵リレー経路属性情報を収集し、古い鍵リレー経路属性情報をシーケンス番号に基づいて更新・廃棄する。例えば、シーケンス番号がより新しい(例えば、受けた鍵リレー経路属性情報のシーケンス番号が保持している鍵リレー経路属性情報のシーケンス番号より大きい)の場合、最短パスの候補となる鍵リレー経路属性情報を更新する。また例えば、シーケンス番号がより古い(例えば、受けた鍵リレー経路属性情報のシーケンス番号が保持している鍵リレー経路属性情報のシーケンス番号より小さい)場合、受けた鍵リレー経路属性情報をそのまま廃棄する。
【0118】
次は、ドメイン間の鍵リレー経路決定方法を説明する。
【0119】
[ドメイン間の鍵リレー経路決定方法の例]
ドメイン内の鍵リレー経路ができると、ドメイン間の鍵リレー経路の決定プロセスが始まる。ドメイン間の鍵リレー経路は、既存のルーティングプロトコルであるBGPを利用して収集される。BGPを利用するKMは、全てのKMではなく、ドメインの境界におけるBKMだけとなる。BKMは、一般のKMが持つ機能以外、別のドメインと情報共有するため機能と、共有した情報を保存する構成(例えば、内部情報記憶部6b及び外部情報記憶部6a)と、を含む。
【0120】
[BGP関連情報の例]
図7は、実施形態のBGP関連情報の例を示す図である。図7の例では、BKM4325の外部情報記憶部6aに記憶されるBGP関連情報について説明する。収集部7は、BGPルーティングプロトコルを実行し、BKM4325が属するドメインのネットワーク構成と、隣接するドメインの経路情報とを把握し、その経路情報に基づくBGP関連情報として、BGPに関する経路テーブルを作成する。
【0121】
実施形態のBGP関連情報は、選択情報、ドメイン(IPアドレス)、ネクストホップ、ドメインパス及びメトリックを含む。なお、BGP関連情報には、BGP関連情報に関するそのほかの情報が更に含まれていてもよい。
【0122】
選択情報は、鍵リレー経路(BGPルート)の選択状態を示す。「>」はベスト鍵リレー経路として選択されたルートを示す。「*」は鍵リレー経路が有効なルート(選択可能なルート)であることを示す。
【0123】
ドメイン(IPアドレス)は、宛先ドメインのネットワークのプレフィックス/マスク長を示す。図7の例では、1.1.1.0/xは、QKDN KSD100-1のネットワークのプレフィックス/マスク長を示す。2.2.2.0/xは、QKDN KSD100-2のネットワークのプレフィックス/マスク長を示す。3.3.3.0/xは、QKDN KSD100-3のネットワークのプレフィックス/マスク長を示す。4.4.4.0/xは、QKDN KSD100-4のネットワークのプレフィックス/マスク長を示す。
【0124】
ネクストホップは、ネクストホップのIPアドレスまたはホスト名である。
【0125】
ドメインパスは、宛先ドメインまでの鍵リレー経路を示す。右端から順に経由したドメイン番号が列挙される。ルートの種類は、ドメイン内におけるルートはIBGP(Internal BGP)と、ドメイン外におけるほかのBKMからのリンクはEBGP(External BGP)がある。IBGPは「i」で示す。EBGPは経由したドメイン番号を記録する。
【0126】
メトリックは、BGPのメトリックを示す。メトリックは、鍵リレー経路属性情報に基づき算出される。算出方法は、ドメイン内のOSPFの算出方法と同じである。
【0127】
図7の例では、例えば、BKM4325が属するドメインであるQKDN KSD100-4から、QKDN KSD100までは2つのドメインパスが存在する。1つ目のドメインパスは、QKDN KSD100-2を経由するドメインパス(100-1,100-2,i)である。2つ目のドメインパスは、QKDN KSD100-3を経由するドメインパス(100-1,100-3,i)である。
【0128】
「*」が付けられているドメインパス(100-1,100-2,i)は、有効なルートであるが、ベスト鍵リレー経路ではない。「*>」が付けられているドメインパス(100-1,100-3,i)がベスト鍵リレー経路となる。
【0129】
[鍵リレー経路属性情報の共有方法の例]
ドメイン境界のBKMにおける鍵リレー経路属性情報の共有について説明する。図8は実施形態の鍵リレー経路属性情報の共有方法の例を説明するための図である。図8は、送信元KMからドメイン外における宛先KMへの鍵リレー経路属性情報を共有するための基本シーケンスを示す。
【0130】
図8で説明される処理は、各BKMが、BGPルーティングプロトコルを実行し、当該BKMが属するドメインのネットワーク構成と、隣接するドメインのBKMの情報とを把握した後に実行される。
【0131】
はじめに、KM0001が、ドメイン外における宛先KM4666へ鍵共有する際に、KM0001の収集部7が、QKDN KSD100-1内のすべてのBKMに、鍵リレー経路の経路探索を要求する(ステップS1)。
【0132】
以下、図8の例では、BKM1811が、ステップS1の要求を受け付けた場合を例にして説明する。
【0133】
次に、BKM1811が、隣接するQKDN KSD100-2のBKM2032に、宛先KM4666への鍵リレー経路属性情報を有するか確認する(ステップS2)。次に、BKM2032が、内部情報記憶部6bを参照し、宛先KM4666への鍵リレー経路属性情報を探す(ステップS3)。
【0134】
ステップS3で、宛先KM4666への鍵リレー経路属性情報が見つかった場合には、BKM2032が、宛先KM4666への鍵リレー経路属性情報をBKM1811へ返却し、宛先KM4666への鍵リレー経路属性情報をBKM1811と共有する(ステップS9)。
【0135】
ステップS3で、宛先KM4666への鍵リレー経路属性情報が見つからなかった場合には、BKM2032が、QKDN KSD100-4と隣接するBKM2732に、宛先KM4666への鍵リレー経路属性情報を要求する(ステップS4)。
【0136】
次に、BKM2732が、隣接するQKDN KSD100-4のBKM4212に、宛先KM4666への鍵リレー経路属性情報を有するか確認する(ステップS5)。次に、BKM4212が、内部情報記憶部6bを参照し、宛先KM4666への鍵リレー経路属性情報を探す(ステップS6)。
【0137】
ステップS6で、宛先KM4666への鍵リレー経路属性情報が見つかった場合には、BKM2032が、宛先KM4666への鍵リレー経路属性情報をBKM1811へ返却し、宛先KM4666への鍵リレー経路属性情報をBKM2732と共有する(ステップS7)。
【0138】
次に、BKM2732が、宛先KM4666への鍵リレー経路属性情報をBKM2032へ返却し、宛先KM4666への鍵リレー経路属性情報をBKM2032と共有する(ステップS8)。
【0139】
次に、BKM2032が、経由されたQKDN KSD100-2内のルート(BKM2032からBKM2732までのルート)に関する鍵リレー経路属性情報を、内部情報記憶部6bから読み出す(ステップS3)。次に、BKM2032が、ステップS6で見つかった鍵リレー経路属性情報と、ステップS3で読み出された鍵リレー経路属性情報とを、BKM1811へ返却し、ステップS6及びS3で読み出された鍵リレー経路属性情報をBKM1811と共有する(ステップS9)。
【0140】
以上が、送信元KM001と同じドメインに属するBKM1811が、鍵リレー経路属性情報を共有するまでの動作である。
【0141】
なお、ステップS6において、宛先KM4666への鍵リレー経路属性情報が見つからなかった場合には、更に隣接するドメインで、鍵リレー経路属性情報の探索処理を繰り返す。探索処理は、例えば、経由したドメインの数を示す経由ドメイン値が、事前設定した経由ドメイン上限値以内であれば、繰り返し継続される。図8の例では、経由されたドメインは、QKDN KSD100-2の1つであるため、経由ドメイン値は、1である。具体的には、図8の例では、経由ドメイン上限値が0の場合、BKM2032が、宛先KM4666へ到着不可能と判断し、送信元BKM0001に到着不可能ということを通知する。
【0142】
送信元KM0001と同じドメインに属する各BKMの収集部7は、共有した経路に関する鍵リレー経路属性情報を全て外部情報記憶部6aに記憶する。その後、各BKMの算出部8が、鍵リレー経路属性情報を外部情報記憶部6aから読み出し、QKDN KSD100-1外の鍵リレー経路のメトリックを算出する。また、各BKMの算出部8は、送信元KM0001までの鍵リレー経路属性情報を内部情報記憶部6bから読み出し、QKDN KSD100-1内の鍵リレー経路のメトリックを算出する。
【0143】
各BKMの決定部9は、鍵リレー経路候補から、鍵リレー経路の状態と、メトリックとに基づいて、1の鍵リレー経路(メトリックが最良となる鍵リレー経路)を決定する。
【0144】
各BKMは、決定した最適な経路を送信元KM0001へ通知する。送信元KM0001は、各BKMから通知された経路から、最も適切な経路を利用して、アプリケーション鍵を宛先BKM4666と共有する。
【0145】
[外部情報記憶部に記憶される鍵リレー経路属性情報の例]
図9は実施形態の外部情報記憶部6aに記憶される鍵リレー経路属性情報の例を示す図である。図9の例では、QKDN KSD100-4の境界にあるBKM4325の外部情報記憶部6aに記憶される鍵リレー経路属性情報について説明する。外部情報記憶部6aに記憶される鍵リレー経路属性情報は、ドメイン外の各KM(BKMも含まれる)からの最短パスの候補となる情報である。
【0146】
収集部7が、ドメイン外の鍵リレー経路属性情報を収集してテーブルを作成し、当該テーブルを外部情報記憶部6aに保存する。収集部7により収集される情報は、図6と同じなので説明を省略する。
【0147】
なお、物理的に同じサイトにあるBKMへの鍵リレー経路属性情報は一致する。図9の例では、1行目の宛先BKM1831と、3行目の宛先BKM2033とは、異なるドメインに属するにも関わらず、物理的に同じサイトにあるので、鍵リレー経路属性情報が一致する。
【0148】
[鍵リレー経路の決定処理の例]
図10は実施形態の鍵リレー経路の決定処理の例を示すフローチャートである。送信元KMから、送信元ドメインとは異なるドメインにある宛先KMまでの鍵リレー経路を決定する場合を例にして説明する。
【0149】
はじめに、送信元KMと同じドメインに属するBKM(以降、「送信元BKM」と呼ぶ)の収集部7が、ドメイン内を対象とするOSPFルーティングプロトコルと、ドメイン間を対象とするBGPルーティングプロトコルとを実行することによって、ネットワーク構成を把握した後に、送信元KMから送信元BKMまでの鍵リレー経路属性情報を収集する(ステップS21)。
【0150】
ステップS21で収集される鍵リレー経路属性情報は、下記式(1)により表される。
【0151】
【数1】
【0152】
ここで、Costlinkは、KM間の各リンクのコスト(リソース)を示す。リソースは、鍵生成速度、及び、鍵の保有量である。QBERlinkは、KM間の各リンクのQBER(状態)を示す。KSDlinksは、m個のリンクを含む集合を示す。
【0153】
次に、送信元BKMの算出部8が、ドメイン内(送信元KMから送信元BKMまで)の鍵リレー経路属性情報(コスト、ホップ数及び状態)を算出する(ステップS22)。具体的には、送信元BKMの算出部8が、ステップS21で取集されたコストのボトルネックを、下記式(2)により算出し、ステップS21で取集されたQBER(状態)の最大値を、下記式(3)により算出し、ホップ数(経由したリンクの合計値+1)を下記式(4)により算出する。
【0154】
【数2】
【数3】
【数4】
【0155】
ドメイン内(送信元KMから送信元BKMまで)のコスト(ボトルネック)は、CostKSDとなり、状態(QBER)はStatusKSDとなり、ホップ数はHKSDとなる。
【0156】
次に、送信元BKMの算出部8が、鍵リレー経路のメトリック及び状態を計算する(ステップS23)。具体的には、まず、送信元BKMが、隣接ドメインKSDのBKMに、宛先KMへの鍵リレー経路属性情報を要求する。隣接ドメインKSDのBKMは、内部情報記憶部6bに、宛先KMへの鍵リレー経路属性情報が記憶されている場合、隣接ドメインKSD内におけるコスト(CostKSD2)、状態(StatusKSD2)、及び、ホップ数(HKSD2)を送信元BKMに送信する。
【0157】
隣接ドメインKSDのBKMの内部情報記憶部6bに、宛先KMへの鍵リレー経路属性情報が記憶されていない場合、隣接ドメインKSDのBKMが、更に隣接するドメインKSDに継続的に、宛先KMへの鍵リレー経路属性情報を要求する。この時に、隣接ドメインのBKMと同じサイトにあるBKMへの鍵リレー経路属性情報が、送信元BKMへ共有される必要がある。
【0158】
次に、送信元BKMの算出部8が、ドメイン外(KSD~KSD)における宛先KMへの鍵リレー経路属性情報と、ドメイン内(KSD)における送信元KMから送信元BKMまでの鍵リレー経路属性情報と、をあわせて、メトリック(Mpath)と状態(Statuspath)とを計算する。
【0159】
メトリック(Mpath)の計算例として、まず、送信元BKMの算出部8は、下記式(5)で鍵リレー経路のコスト(Costpath)を計算し、下記式(6)で鍵リレー経路のホップ数(Hpath)を計算し、その後に、下記式(7)によりメトリック(Mpath)を計算する。
【0160】
【数5】
【数6】
【数7】
【0161】
なおμは、ウェイトを示す係数である。
【0162】
また、状態(Statuspath)は、下記式(8)により計算される。
【0163】
【数8】
【0164】
なお、BKMの外部情報記憶部6aは、送信元KMからドメイン外の宛先KMへの複数の鍵リレー経路path、・・・、pathが存在する場合、全ての鍵リレー経路path、・・・、pathに関する鍵リレー経路属性情報を記憶する。
【0165】
最後に、送信元BKMの決定部9が、送信元KMがアプリケーション鍵を共有する要求に応じて、送信元KMから宛先KMまでの複数の鍵リレー経路path、・・・、pathから、最適な鍵リレー経路を決定する(ステップS24)。具体的には、送信元BKMの決定部9は、例えば下記式(9)及び(10)に基づき、最適な鍵リレー経路を決定する。
【0166】
【数9】
【数10】
【0167】
経路の状態値(Statusroute)は、経路の安全性を表すパラメータであり、状態値が閾値以内の経路であれば、最適な鍵リレー経路の候補となる。
【0168】
なお、上述のステップS21及びS22の処理は一例であり、コスト、ホップ数及び状態の収集及び算出は、別の方法で行われてもよい。例えば、経由されたKMごとに、コストと状態とを比較し続け、経由されたKMが、当該KMまでのコストの最小値と状態の最大値とを保持しながら、コストの最小値と状態の最大値とをBKMまで伝えてもよい。この場合、BKMでは、BKMまでのコストの最小値と状態の最大値とが収集される。また、ホップ数は経由されたKMの累積値となる。
【0169】
[鍵リレー経路の決定例]
図11は実施形態の鍵リレー経路の決定例を示す図である。BKMの収集部7は、QKDN KSD100-1における送信元KM(KM0001)から右側のQKDN KSD100-4における宛先KM(KM4666)へ鍵を共有する際に、鍵リレー経路属性情報(例えばボトルネック、ホップ数及び状態値)を収集する。そして、BKMの算出部8は、鍵リレー経路属性情報に基づき計算された情報をBKMの外部情報記憶部6aに記憶する。
【0170】
例えば、KDN KSD100-2を経由してKDN KSD100-4まで鍵を共有する場合、ボトルネックが90になる。KDN KSD100-3を経由してKDN KSD100-4まで鍵を共有する場合、ボトルネックが80になる。図11のように、複数の経路1~3がある場合、BKMの決定部9が、要求(メトリックの定義)に応じて、鍵を共有する最適な経路を決定する。
【0171】
なお、リソースは、例えば、量子鍵配送が実行され鍵保有量が増加したり、アプリケーション鍵を転送することで鍵保有量が減少したり、量子暗号装置の環境変化等の影響で、鍵生成速度が変化したり、状態値が変化したりすることで変動しうる。このため、リソースの変動を検出したときに、収集部7が、本実施形態の動作を含むルーティングプロトコルを再実行し、最適な鍵リレー経路の算出をやり直してもよい。例えば、通信部4が、状態値の異変(経路の状態値が閾値に超えている)という通知を受信した場合、決定部9が、速やかに上記異変がない経路(状態値が閾値以内の候補経路)から最適な経路を再決定する。
【0172】
このような状況が好ましくない場合は、送信元ノードがソース・ルーティングの手法で鍵を送り、予め鍵を送る鍵リレー経路を指定しておくことで、送信元ノードが決定した鍵リレー経路を選択させることができる。ソース・ルーティングとは、送信元によってデータが通るべき鍵リレー経路を決定し、決定した鍵リレー経路に沿ってデータの転送を行う方式である。
【0173】
そのほかに、アプリケーション鍵をリンク鍵で暗号化して共有する方式以外の方式にも、本実施形態に関する経路制御は適用可能である。
【0174】
以上説明したように、実施形態の鍵管理装置(KM、BKM)は、複数のアプリケーション20により構成されるアプリケーションネットワーク200の通信を暗号化するアプリケーション鍵を管理する鍵管理装置である。鍵管理装置は、収集部7と算出部8と決定部9と通信部4とを備える。収集部7は、QKDによってリンク鍵が生成されるリンクのリソースを示すリソース情報を収集する。算出部8は、リンクを含む鍵リレー経路のメトリックを、リソース情報に基づいて算出する。決定部9は、複数の鍵リレー経路から、メトリックに基づいて、鍵リレー経路を決定する。通信部4は、リンク鍵により暗号化されたアプリケーション鍵を、決定部9により決定された鍵リレー経路を使用して、宛先に送信する。
【0175】
これにより実施形態の鍵管理装置(KM、BKM)によれば、QKDネットワークにおいて、アプリケーション鍵を共有するための最適な鍵リレー経路を決定することができる。具体的には、実施形態の鍵管理装置(KM、BKM)によれば、例えば、複数のドメインに分割されたQKDネットワークにおいても、リンク鍵の消費をできるだけ抑制し、かつ、アプリケーション鍵の共有を効率的に行うための鍵リレー経路を決定することができる。これにより、特定のKMにおけるリンク鍵の枯渇を避けつつ、スループットを維持しながら、システム全体でのリンク鍵の消費量を小さくすることが可能となる。更に、収集部7が、経路の状態情報を収集することよって、異常時の経路の再決定も効率的に実行できる。
【0176】
(変形例1)
次に実施形態の変形例1について説明する。変形例1の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。
【0177】
図12は実施形態の変形例1について説明するための図である。変形例1では、各ドメイン(QKDN KSD100)の鍵リレー経路を集中管理するサーバ装置(QKDコントローラ30)を更に備える。
【0178】
QKDコントローラ30は、宛先KMと鍵を共有する鍵リレー経路を指定してもよい。QKDコントローラ30は、最良の鍵リレー経路を算出し、算出された鍵リレー経路を各KM(BKMを含む)の鍵リレー経路テーブルに反映させる。これにより各KMは、最良の鍵リレー経路を選択することが可能となる。
【0179】
(変形例2)
次に実施形態の変形例2について説明する。変形例2の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。
【0180】
図13は実施形態の変形例2について説明するための図である。変形例2では、各ドメイン(QKDN KSD100-1~100-4)毎にQKDコントローラ30-1~30-4が存在する。鍵リレー経路属性情報は、隣接するQKDコントローラ30間で収集され、QKDコントローラ30が、送信元KMから宛先KMへの最適な経路を決めて、KM(BKMを含む)の鍵リレー経路テーブルに反映させる。
【0181】
各QKDコントローラ30は、実施形態のBKMと同じように、内部情報記憶部6bと外部情報記憶部6aとに分けて、情報を管理する方式が好ましい。また、QKDコントローラ30間も量子暗号通信(QKD)以外の方式で情報を共有する。この変形例2の構成例は集中型対集中型の構成となる。
【0182】
(変形例3)
次に実施形態の変形例3について説明する。変形例3の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。
【0183】
図14は実施形態の変形例3について説明するための図である。変形例3は、いわゆる、分散型と集中型とが混在する構成の例である。変形例3では、QKDコントローラ30とBKMの情報共有は、図の左側に示すように、QKDコントローラ30が属するドメイン(QKDN KSD100-2)のBKM(集中型BKM)を経由する。この集中型BKMにはルーティングプロトコル機能などが含まれていない。
【0184】
また、管理のしやすさ、及び、コストの節約の面から、図14の右側に示すように、分散型に、BKM3111をプライマリBKMとし、プライマリBKMの異常時に代わりに動作するセカンダリBKMをBKM3333とする設計をしてもよい(QKDコントローラ30という集中型とBKMという分散型の結合型)。
【0185】
[ハードウェア構成の例]
図15は実施形態のKM、BKM及びQKDコントローラ30のハードウェア構成の例を示す図である。実施形態のKM、BKM及びQKDコントローラ30は、CPU(Central Processing Unit)301などの制御装置、ROM(Read Only Memory)302、RAM(Random Access Memory)303などの記憶装置、及び、ネットワークに接続して通信を行う通信I/F304を備える。CPU)301、ROM302、RAM303及びネットワークは、バス305により接続される。
【0186】
例えば、本実施形態にかかるKM、BKM及びQKDコントローラ30で実行されるプログラムは、ROM等に予め組み込まれて提供される。
【0187】
また例えば、本実施形態にかかるKM、BKM及びQKDコントローラ30で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、及び、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0188】
さらに、本実施形態にかかるKM、BKM及びQKDコントローラ30で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかるKM、BKM及びQKDコントローラ30で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施形態にかかるKM、BKM及びQKDコントローラ30で実行されるプログラムは、コンピュータを上述したKM、BKM及びQKDコントローラ30の各部として機能させうる。このコンピュータは、CPUがコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0189】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0190】
1 制御部
2 管理部
3 プラットフォーム部
4 通信部
5 処理部
6 記憶部
6a 外部情報記憶部
6b 内部情報記憶部
7 収集部
8 算出部
9 決定部
20 アプリケーション
30 QKDコントローラ
100 QKDN KSD
200 アプリケーションネットワーク
301 CPU
302 ROM
303 RAM
304 通信I/F
305 バス
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15