(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134296
(43)【公開日】2024-10-03
(54)【発明の名称】鍵管理装置、QKDN制御装置、量子暗号通信システム、情報処理装置、鍵管理方法、QKDN制御方法、情報処理方法及びプログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20240926BHJP
H04L 45/12 20220101ALI20240926BHJP
H04L 45/42 20220101ALI20240926BHJP
H04L 9/14 20060101ALI20240926BHJP
【FI】
H04L9/08 B
H04L45/12
H04L45/42
H04L9/14
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023044525
(22)【出願日】2023-03-20
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、総務省「グローバル量子暗号通信網構築のための研究開発」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】兪 ユ
(72)【発明者】
【氏名】谷澤 佳道
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA01
5K030LB07
5K030LD19
(57)【要約】
【課題】QKDNの規模に関わらず、暗号鍵を送る最適な経路を決定できるようにする。
【解決手段】実施形態の鍵管理装置は、QKDによって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN制御装置とに接続される鍵管理装置であって、通信インターフェースと処理部とを備える。通信インターフェースは、QKDN制御装置から、アプリケーション鍵を宛先の鍵管理装置まで送る経路情報を受信する。処理部は、経路情報から、アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定し、第1鍵共有ネットワーク内の経路を、第1鍵共有ネットワークのリソース情報に基づき決定し、経路を使用して、リンク鍵で暗号化されたアプリケーション鍵を通信インターフェースに送らせる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN(Quantum Key Distribution Network)制御装置とに接続される鍵管理装置であって、
前記QKDN制御装置から、前記ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリケーション鍵を、宛先の鍵管理装置まで送る経路情報を受信する通信インターフェースと、
前記経路情報から、前記アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定し、
前記アプリケーションと接続される鍵管理装置から前記第2鍵共有ネットワークに接続される鍵管理装置までの前記第1鍵共有ネットワーク内の経路を、前記第1鍵共有ネットワークのリソース情報に基づき決定し、
前記経路を使用して、前記リンク鍵で暗号化されたアプリケーション鍵を前記通信インターフェースに送らせる処理部と、
を備える鍵管理装置。
【請求項2】
前記リソース情報は、前記経路の候補に含まれるリンク毎に算出される前記リンク鍵の生成速度、保有量及び消費速度の少なくとも1つに基づき算出されるリンク鍵の状態情報を含み、
前記処理部は、前記経路の候補に含まれるリンクで使用されるリンク鍵の状態情報に基づき、前記リンク鍵の生成速度、保有量及び消費速度の少なくとも1つから算出される値を、前記経路の候補に含まれるリンク毎に算出し、前記値が最小となるリンクを、リンクのボトルネックとして特定し、前記経路の候補に含まれる前記リンクのボトルネックに基づき前記経路を決定する、
請求項1に記載の鍵管理装置。
【請求項3】
前記リソース情報は、前記経路の候補毎に算出された前記第2鍵共有ネットワークに接続される鍵管理装置までのホップ数を更に含み、
前記処理部は、前記ホップ数に更に基づき前記経路を決定する、
請求項2に記載の鍵管理装置。
【請求項4】
ユーザネットワークにおけるアプリケーション間で通信の暗号化又は復号に使用されるアプリケーション鍵を、アプリケーションに送信する第1鍵管理装置と接続されるQKDN(Quantum Key Distribution Network)制御装置であって、
第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで、前記アプリケーション鍵を送るときに経由される鍵共有ネットワークを判断する第1基準値を算出し、
前記アプリケーション鍵を、前記第1鍵管理装置から前記第2鍵管理装置まで送るときに経由される鍵共有ネットワークを、前記第1基準値に基づき決定する処理部と、
前記経由される鍵共有ネットワークを示す経路情報を、前記第1鍵管理装置に送信する通信インターフェースと、
を備えるQKDN制御装置。
【請求項5】
前記第1基準値は、判断対象の鍵共有ネットワークに含まれるリンクの通信の暗号化又は復号の少なくとも一方に使用され、前記判断対象の鍵共有ネットワークに含まれる複数の鍵管理装置で保有されているリンク鍵の残量の合計値、平均値、最小値及び中央値の少なくとも1つに基づき算出される、
請求項4に記載のQKDN制御装置。
【請求項6】
前記第1基準値は、判断対象の鍵共有ネットワークの経路に含まれるリンクで使用されるリンク鍵の残量のボトルネック、及び、前記経路に含まれるリンクのホップ数の少なくとも一方に基づき算出される、
請求項4に記載のQKDN制御装置。
【請求項7】
前記第1基準値は、判断対象の鍵共有ネットワークに含まれる複数の経路の候補のリンクで使用されるリンク鍵の残量のボトルネックの合計値及び平均値の少なくとも一方に基づき算出される、
請求項4に記載のQKDN制御装置。
【請求項8】
前記第1基準値は、前記複数の経路の候補に含まれるリンクのホップ数の合計値又は平均値の少なくとも一方に、更に基づき算出される、
請求項7に記載のQKDN制御装置。
【請求項9】
前記処理部は、前記経由される鍵共有ネットワークが、前記アプリケーション鍵のリレー経路に複数、含まれる場合、それぞれの鍵共有ネットワークの第1基準値から、前記アプリケーション鍵を送るときに経由される複数の前記鍵共有ネットワークを判断する第2基準値を算出し、前記第2基準値に基づき前記リレー経路を決定する、
請求項4乃至8のいずれか1項に記載のQKDN制御装置。
【請求項10】
前記第2基準値は、複数の前記経由される鍵共有ネットワークの第1基準値のボトルネック及び平均値の少なくとも一方に基づき算出される、
請求項9に記載のQKDN制御装置。
【請求項11】
請求項4乃至8のいずれか1項に記載のQKDN制御装置である、第1QKDN制御装置と、
前記第1鍵共有ネットワークに属する前記第1鍵管理装置と、
前記第1鍵管理装置から前記アプリケーション鍵を受信する第1アプリケーションと、
前記第2鍵共有ネットワークに属する前記第2鍵管理装置と、
前記第2鍵管理装置と接続される第2QKDN制御装置と、
前記第2鍵管理装置から前記アプリケーション鍵を受信する第2アプリケーションと、
を備える量子暗号通信システム。
【請求項12】
QKDによってリンク鍵を生成する第1QKD装置及び第2QKD装置を更に備え、
前記第1QKD装置は、前記第1鍵管理装置に前記リンク鍵を送信し、
前記第2QKD装置は、前記第2鍵管理装置に前記リンク鍵を送信する、
請求項11に記載の量子暗号通信システム。
【請求項13】
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と接続される第1鍵管理装置から、ユーザネットワークにおける宛先アプリケーションとの通信の暗号化又は復号に使用されるアプリケーション鍵を受信する通信インターフェースと、
送信元アプリケーションを動作させることによって、前記宛先アプリケーションとの通信を暗号化する処理部と、を備え、
前記アプリケーション鍵は、第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで送るときに経由される鍵共有ネットワークを判断する第1基準値に基づき決定された経路情報を使用して、前記第2鍵管理装置まで、前記リンク鍵により暗号化送信され、前記第2鍵管理装置から前記宛先アプリケーションに送信される、
情報処理装置。
【請求項14】
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN(Quantum Key Distribution Network)制御装置とに接続される鍵管理装置の鍵管理方法であって、
鍵管理装置が、前記QKDN制御装置から、前記ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリケーション鍵を、宛先の鍵管理装置まで送る経路情報を受信するステップと、
前記鍵管理装置が、前記経路情報から、前記アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定するステップと、
前記鍵管理装置が、前記アプリケーションと接続される鍵管理装置から前記第2鍵共有ネットワークに接続される鍵管理装置までの前記第1鍵共有ネットワーク内の経路を、前記第1鍵共有ネットワークのリソース情報に基づき決定するステップと、
前記鍵管理装置が、前記経路を使用して、前記リンク鍵で暗号化されたアプリケーション鍵を通信インターフェースに送らせるステップと、
を含む鍵管理方法。
【請求項15】
ユーザネットワークにおけるアプリケーション間で通信の暗号化又は復号に使用されるアプリケーション鍵を、アプリケーションに送信する第1鍵管理装置と接続されるQKDN(Quantum Key Distribution Network)制御装置のQKDN制御方法であって、
前記QKDN制御装置が、第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで、前記アプリケーション鍵を送るときに経由される鍵共有ネットワークを判断する第1基準値を算出するステップと、
前記QKDN制御装置が、前記アプリケーション鍵を、前記第1鍵管理装置から前記第2鍵管理装置まで送るときに経由される鍵共有ネットワークを、前記第1基準値に基づき決定するステップと、
前記QKDN制御装置が、前記経由される鍵共有ネットワークを示す経路情報を、前記第1鍵管理装置に送信するステップと、
を含むQKDN制御方法。
【請求項16】
情報処理装置が、QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と接続される第1鍵管理装置から、ユーザネットワークにおける宛先アプリケーションとの通信の暗号化又は復号に使用されるアプリケーション鍵を受信するステップと、
前記情報処理装置が、送信元アプリケーションを動作させることによって、前記宛先アプリケーションとの通信を暗号化するステップと、を含み、
前記アプリケーション鍵は、第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで送るときに経由される鍵共有ネットワークを判断する第1基準値に基づき決定された経路情報を使用して、前記第2鍵管理装置まで、前記リンク鍵により暗号化送信され、前記第2鍵管理装置から前記宛先アプリケーションに送信される、
情報処理方法。
【請求項17】
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN(Quantum Key Distribution Network)制御装置とに接続される鍵管理装置を、
前記QKDN制御装置から、前記ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリケーション鍵を、宛先の鍵管理装置まで送る経路情報を受信する通信インターフェースと、
前記経路情報から、前記アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定し、
前記アプリケーションと接続される鍵管理装置から前記第2鍵共有ネットワークに接続される鍵管理装置までの前記第1鍵共有ネットワーク内の経路を、前記第1鍵共有ネットワークのリソース情報に基づき決定し、
前記経路を使用して、前記リンク鍵で暗号化されたアプリケーション鍵を前記通信インターフェースに送らせる処理部、
として機能させるためのプログラム。
【請求項18】
ユーザネットワークにおけるアプリケーション間で通信の暗号化又は復号に使用されるアプリケーション鍵を、アプリケーションに送信する第1鍵管理装置と接続されるQKDN(Quantum Key Distribution Network)制御装置を、
第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで、前記アプリケーション鍵を送るときに経由される鍵共有ネットワークを判断する第1基準値を算出し、
前記アプリケーション鍵を、前記第1鍵管理装置から前記第2鍵管理装置まで送るときに経由される鍵共有ネットワークを、前記第1基準値に基づき決定する処理部と、
前記経由される鍵共有ネットワークを示す経路情報を、前記第1鍵管理装置に送信する通信インターフェース、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は鍵管理装置、QKDN制御装置、量子暗号通信システム、情報処理装置、鍵管理方法、QKDN制御方法、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
アプリケーションが、量子鍵配送(QKD:Quantum Key Distribution)を利用して別のアプリケーションとの間で共有された乱数を、鍵管理装置から取得し、この乱数を暗号鍵として利用して、別のアプリケーションとの間で暗号通信を行う技術が従来から知られている。このアプリケーションによる暗号通信は、QKDネットワークとは異なる、インターネットなどのユーザネットワークで行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-92987号公報
【特許文献2】特許第5784562号公報
【非特許文献】
【0004】
【非特許文献1】ITU-T, Y.3800, “Overview on networks supporting quantum key distribution,” 2019.
【非特許文献2】ETSI GS QKD 014, “Quantum Key Distribution (QKD); Protocol and data format of REST-based key delivery API,” 2019.
【非特許文献3】IETF, RFC2328, “OSPF Version 2,” 1998.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来の技術では、QKDネットワークの規模が大きくなるほど、暗号鍵を送る最適な経路を決定することが困難だった。
【課題を解決するための手段】
【0006】
実施形態の鍵管理装置は、QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN(Quantum Key Distribution Network)制御装置とに接続される鍵管理装置であって、通信インターフェースと、処理部とを備える。通信インターフェースは、前記QKDN制御装置から、前記ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリケーション鍵を、宛先の鍵管理装置まで送る経路情報を受信する。処理部は、前記経路情報から、前記アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定し、前記アプリケーションと接続される鍵管理装置から前記第2鍵共有ネットワークに接続される鍵管理装置までの前記第1鍵共有ネットワーク内の経路を、前記第1鍵共有ネットワークのリソース情報に基づき決定し、前記経路を使用して、前記リンク鍵で暗号化されたアプリケーション鍵を前記通信インターフェースに送らせる。
【図面の簡単な説明】
【0007】
【
図1】実施形態の量子暗号通信システムの構成の例を示す図。
【
図2】実施形態の量子暗号通信ネットワークの例を示す図。
【
図3A】実施形態のリソース情報の例1(リンク鍵残量のボトルネック)を示す図。
【
図3B】実施形態のリソース情報の例2(ホップ数)を示す図。
【
図3C】実施形態の鍵リレー経路の決定方法の例を説明するための図。
【
図4】実施形態の鍵管理装置の機能構成の例を示す図。
【
図5】実施形態のQKDN制御装置の機能構成の例を示す図。
【
図6】実施形態の情報処理装置の機能構成の例を示す図。
【
図7】実施形態の異なる種類のKSN間の鍵リレーの例について説明するための図。
【
図8A】実施形態のKSNドメインの例1を示す図。
【
図8B】実施形態のKSNドメインの例2を示す図。
【
図9】実施形態の第1基準値の計算例1を説明するための図。
【
図10】実施形態の第1基準値の計算例2を説明するための図。
【
図11】実施形態の鍵リレー経路の決定方法の例を説明するための図。
【
図12】実施形態のQKDN制御方法の例を示すフローチャート。
【
図16】実施形態の鍵リレーメッセージのヘッダフォーマットの例1を示す図。
【
図17】実施形態の鍵リレーメッセージのヘッダフォーマットの例2を示す図。
【
図19】実施形態のKM、QKDN制御装置及び情報処理装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、鍵管理装置、QKDN(Quantum Key Distribution Network)制御装置、量子暗号通信システム、情報処理装置、鍵管理方法、QKDN制御方法、情報処理方法及びプログラムの実施形態を詳細に説明する。
【0009】
図1は実施形態の量子暗号通信システムの構成の例を示す図である。横から見ると、QKDネットワークアーキテクチャは下から量子レイヤ、鍵管理レイヤ、QKDネットワーク制御レイヤ、さらにこれら3レイヤを管理するためのQKDネットワーク管理レイヤで構成されている。これらの4レイヤによって、アプリケーション5のデータ通信の暗号化及び復号に用いられるアプリケーション鍵(以下、「アプリ鍵」という。)が生成されて、最上位のユーザネットワークにおけるサービスレイヤへ供給される。縦から見ると、QKDネットワークとユーザネットワークとを含む3つのノード1(QKDノード/トラステッドノード)がそれぞれ拠点A、拠点B、拠点Cに設置される。
【0010】
量子レイヤはQKDモジュール2と、QKDリンク3とから構成される。量子レイヤの主な機能は、別拠点にあるQKDモジュール2との間で光子と、古典情報(QKDリンクとは異なる通常の制御リンクで送受信される制御情報)と、をやり取りして、リンク鍵(乱数列)を共有することである。さらに、量子レイヤは、鍵管理装置(KM:Key manager)10(10a~10c)へ乱数列を供給する機能を有する。QKDリンク3で共有されるリンク鍵(量子暗号鍵)は、量子力学の原理に基づいて、盗聴されていないことが保証されている。共有されたリンク鍵を用いて、ワンタイムパッドと呼ばれる暗号通信方式を利用して暗号データ通信を行うと、送受信されるデータは、いかなる知識を有する盗聴者によっても解読できないことが情報理論によって保証されている。QKDモジュール2(2a、2b―1、2b-2及び2c)は、それぞれ光ファイバーなどによるQKDリンク3によって接続される。
【0011】
ただし、QKD技術でリンク鍵を共有する方式は、単一光子をメディアとして利用することに起因する、リンク鍵を共有可能な距離の制約がある。例えば
図1の量子レイヤの例に示すように、QKDモジュール2は基本的には1対1となるが、中継する場合、中継を行う拠点Bには少なくとも2つのQKDモジュール2b-1及び2b-2が必要となる。
図1の例は、拠点Aと拠点Cにアプリ鍵K
A
ACを供給する場合を示す。拠点Bでは、QKDモジュール2b-1が拠点Aで暗号化されたアプリ鍵を、拠点Aと同じリンク鍵K
L
AB(すなわち、暗号鍵と復号鍵とが同じである共通鍵)で復号する。そして、QKDモジュール2b-2が、復号されたアプリ鍵をリンク鍵K
L
BCでもう一回暗号化し、暗号化されたアプリ鍵K
A
ACを拠点Cへリレーする。
【0012】
QKDは、無条件安全性を保証するために、距離及び速度などの通信性能はある程度犠牲にならざるを得ない。一般的には、敷設ファイバー50km圏でリンク鍵生成レートが毎秒20万~30万ビット(200~300kbps)程度である。QKDの鍵蒸留処理をハードウェア化・最適化すると、短距離の場合には、QKDの鍵生成速度は最大10Mbpsに達する。
【0013】
鍵生成速度をMbpsに保持するためには、Mbpsを保持可能な距離間隔で中継ノードを設置し、中継を行う拠点間で鍵リレーを行う必要がある。一方、中継を行う拠点では、暗号化・復号の処理時間がかかる。
【0014】
鍵管理レイヤは鍵管理装置(KM)10a~10c及びKMリンクから構成される。鍵管理レイヤの主な機能には、実際にデータの暗号化を行うアプリケーション5a及び5cへのアプリ鍵の供給、及び、KMリンクを介した他の拠点への鍵リレーなどがある。鍵管理装置(KM)10a~10cは、これらに付随して、アプリケーション5a及び5cからの鍵要求の受信やインターフェースの格納など鍵管理全般を担う。
【0015】
QKDネットワーク制御レイヤは、QKDネットワークコントローラ4及びリンクから構成される。QKDネットワーク制御レイヤはQKDネットワーク全般のサービスの制御を行う。QKDネットワークコントローラは拠点ごとにあってもよいし、
図1に示すように、量子暗号通信システム全体で1つ(あるいは複数)でもよい。また、QKDネットワークコントローラ4とKM10とが一体として実現されていてもよい。
【0016】
QKDネットワーク管理レイヤにはQKDN制御装置6が含まれる。QKDネットワーク管理レイヤは、各レイヤからパフォーマンス情報を収集し、サービスが適切に稼働しているかを監視して、必要に応じて制御をQKDネットワーク制御レイヤへ命じる機能を持つ。また、QKDN制御装置6はQKDネットワークの構成に応じて、複数存在してもよい。また、QKDN制御装置6の機能が、KM10で実現・実施されてもよい。
【0017】
サービスレイヤはユーザによって構成が異なるが、暗号化通信を実現するためのアプリケーション5a及び5cや、コンピュータモジュールなどで構成される。また、サービスレイヤは、アプリ鍵をリンク鍵で暗号化して隣接ノードに転送する機能を有する。なお、サービスレイヤのアプリケーション5が、QKDとは無関係に、別途、乱数情報等から、リンク鍵とは別の暗号鍵(アプリ鍵)を生成してもよい。
【0018】
サービスレイヤにおいて、アプリ鍵は、主に共通暗号方式による暗号化に利用される。共通暗号方式は、いわゆる、送信側及び受信側で事前に共有されていた同じアプリ鍵を利用して、通信データ・メッセージの暗号化・復号を行う暗号方式である。具体的には、アプリ鍵は、Advanced Encryption Standard(AES)暗号、及び、ワンタイムパッド(One Time PAD:OTP)暗号などで使われる。
【0019】
ユーザネットワーク管理レイヤにはユーザネットワーク制御装置7が含まれる。ユーザネットワーク管理レイヤは、サービスレイヤからパフォーマンス情報を収集し、サービスが適切に稼働しているかを監視する。
【0020】
なお、
図1に示すアーキテクチャは基本の要素を示す。実際には状況により、アーキテクチャの構成が変わることがある。例えば、拠点の個数は3個に限られない。また例えば、アプリケーション5の個数は2個に限られない。また例えば、QKDネットワーク管理レイアにおけるQKDN制御装置6の個数は、1個に限られない。
【0021】
上述のユーザネットワークはパブリックなネットワークであり、アプリケーション5によって暗号通信が行われるネットワークである。アプリケーション5は、例えばパーソナルコンピュータ及びスマートデバイス等の情報処理装置8で動作する。ユーザネットワークは、例えば、インターネット及びセルラー通信ネットワークなどのデータ通信ネットワークである。
【0022】
一方、上述のQKDネットワーク(量子暗号通信ネットワーク)はプライベートなネットワークとなり、実際のニーズによりノード(QKDノード/ノード)が設置される。ノードは、ユーザネットワークに暗号通信用の暗号鍵を提供する。
【0023】
図2は実施形態の量子暗号通信ネットワーク100の例を示す図である。
図2の例は、KMの数が8個と少ないため、小規模のQKDNの例である。ユーザネットワークにおけるアプリケーションA及びD間は、データ通信ネットワーク103を経由し、セキュア通信を行う。
【0024】
鍵管理レイヤにおける鍵共有ネットワーク(KSN:Key sharing network)102は、KM10、及び、KM10間のリンクから構成される。以下、鍵共有ネットワーク102を、KSN102という。QKDN管理レイヤには、KSN102のKM10と通信するQKDN制御装置6が設置される。
【0025】
量子レイヤでは、複数のQKDモジュール2、及び、QKDモジュール2間の複数のQKDリンク3を含むネットワーク101が構成される。QKDモジュール2間の接続は1対1のため、上位のKM10に対応するQKDモジュール2は、上位のKM10に接続されるリンクの数に応じて設置される。
【0026】
なお、KM10の数、QKDモジュール2の数、アプリケーションの数は
図2の例に限られない。
【0027】
なお、KM10は、アプリ鍵をリンク鍵で暗号化して送信する際、リンク鍵をワンタイムパッドで利用するため、すなわち、一度利用したリンク鍵を捨てるため、リンク鍵を消費する。従って、KM10は、共有しているリンク鍵の量またはリンク鍵を共有する速度以上の速さで、アプリ鍵を中継することはできない。
【0028】
複数のKM10を介してアプリ鍵を送信する場合、アプリ鍵の共有速度は、リンク鍵の最も少ないリンク、または、リンク鍵の共有速度が最も低いリンクに律速される。量子暗号通信システムにおける暗号通信のスループットは、このようなリンクがボトルネックとなり制約を受ける。または、リンク鍵が枯渇したリンクではアプリ鍵を共有するということができなくなる。量子暗号通信システムでは、できるだけボトルネックが最良の経路(例えば、リンクのボトルネックが最大となる経路)を選択してアプリ鍵を共有することが望まれる。経路に含まれるリンクのボトルネックは、例えば、経路に含まれるリンク毎に算出された値に基づき特定される。具体的には、経路に含まれるリンクのボトルネックは、例えば後述の式(1)により算出された値のうち、当該値が最小となるリンクによって特定される。
【0029】
一方、量子暗号通信システム全体のリンク鍵の消費量に着目すると、多くのリンクを経由する経路ほどリンク鍵の消費量が多いと言える。リンク鍵はアプリ鍵を共有する際に用いられるため、アプリケーション5のスループットを決定するシステムリソースである。このため、システム全体として、経由するリンクの数が少なくし、リンク鍵の消費量を抑えることが望ましい。
【0030】
なお、KSN102内に量子鍵配送でアプリ鍵を共有するためのルート(鍵リレールート)を決定するプロトコル(ルーティングプロトコル)は任意の方式で行われる。例えば、IPベースのKSN102の場合、Interior Gateway Protocol(IGP)の通信プロトコルが用いられる。幅広く使われているIGP通信プロトコルとして、例えば、OSPF(Open Shortest Path Fast)が用いられる。OSPFは、ルーティング(経路制御)を行うためのメトリックとして距離(各鍵リレールートに含まれるリンクのコストの和)を用いる。非IPベースのKSN102の場合、アプリ鍵を共有する経路は、IGP通信プロトコルとは異なる任意の方式で決定される。
【0031】
KSN102を構成するKM10と隣接KM10間のリンクに対応付けられるデータは以下の通りとする。下のデータは時間順のシーケンス番号を付けられ、シーケンス番号より更新される。
【0032】
リンクに対応付けられるデータ:
・鍵残量情報:リンク鍵の保有量
・鍵残量情報:リンク鍵の生成速度
・鍵残量情報:リンク鍵の消費速度
【0033】
KMに対応付けられるデータ:
・KSNドメイン内の構成を表すデータベース(リンクステートデータベース)
・KSNドメイン内の宛先KMへの最短パスツリーの確定情報
・送信元からKSNドメイン内の宛先KMまでのボトルネック
・送信元からKSNドメイン内の宛先KMまでのホップ数
・ネクストホップ
【0034】
リンクに対応づけられるデータは、鍵残量情報である。鍵残量情報は、3種類の情報(リンク鍵の保有量、リンク鍵の生成速度、および、リンク鍵の消費速度)を含む。
【0035】
リンク鍵の保有量は、隣接KM10間で量子鍵配送を行うことで共有した鍵のうち、まだ使用されていない鍵の量である。リンク鍵の保有量は、量子鍵配送を行うことによって蓄積し(増加する)、任意の送信元KM10~宛先KM10間のアプリ鍵リレーでリンク鍵を利用することによって消費される(減少する)。
【0036】
リンク鍵の生成速度は、隣接KM10間で量子鍵配送を行うことでリンク鍵を共有する速度を表す。リンク鍵の生成速度は、リンクに接続されたKM10の設定パラメータ及び接続環境等の影響によって、リンクごとに異なる。
【0037】
リンク鍵の消費速度は、隣接KM10間でアプリ鍵を共有するために使われるリンク鍵の消費速度を表す。リンク鍵の消費速度は、アプリ鍵の要求及び接続環境などの影響によって、リンクごとに異なる。
【0038】
したがって、各リンクの利用可能な鍵残量の算出式は、例えば下記式(1)により算出される。
【0039】
【0040】
ここで、kは、KM10を識別する番号である。Linkk
currentはリンク鍵の保有量を示し、SKRkはリンク鍵の生成速度を示し、Ckはリンク鍵の消費速度を示し、TRは参照用時間間隔を示す。参照用時間間隔(t)は実際の状況に従い設定される。
【0041】
例えば、Linkk
currentが1000Mbits、SKRkが3Mbits/sec、Ckが1Mbits/sec、TRが300secのとき、このKM10の参照用時間後に利用可能なリンク鍵残量Ak
keyは1600(1.6Gbits)となる。
【0042】
なお、鍵残量情報の算出方法は上記式(1)に限られない。例えば、リンク鍵の保有量のみで、鍵残量情報を算出してもよい。また例えば、リンク鍵の生成速度のみで、鍵残量情報を算出してもよい。また例えば、リンク鍵の生成速度とリンク鍵の保有量との組み合わせで、鍵残量情報を算出してもよい。また例えば、リンク鍵の生成速度とリンク鍵の消費速度との組み合わせで、鍵残量情報を算出してもよい。また例えば、リンク鍵の保有量とリンク鍵の消費速度との組み合わせで、鍵残量情報を算出してもよい。また例えば、リンク鍵の生成速度と、リンク鍵の保有量と、リンク鍵の消費速度との組み合わせで、鍵残量情報を算出してもよい。
【0043】
KSNドメイン内の鍵リレールート決定に必要な情報は、例えば、IPベースのKSNの場合、既存のルーティングプロトコルであるOSPFを利用して、下記(1)~(4)の処理によって収集される。
【0044】
(1)OSPFでは、KM10はリンクステートアップデートと呼ばれるメッセージを出し、KM10が接続しているリンクの状態、そのリンクのネットワークアドレス、及びコストなどの情報を他のKM10と共有する。リンクステートには、あるKM10が、ほかのKM10にどのように接続しているかを示す情報(ルート情報)が含まれる。
【0045】
(2)各KM10は、受け取ったリンクステートアップデートの情報に基づいて、KSNドメイン内のネットワーク構成を把握する。そして、各KM10は、KSNドメイン内のネットワーク構成を表す表(リンクステートデータベース)を構築する。
【0046】
(3)各KM10は、このデータベースからDijkstraアルゴリズムを用いて、自身を送信元としたドメイン内の最短パスツリーを計算し、フォワーディングテーブルを作成する。
【0047】
(4)各KM10は、あるKM10からKSNドメイン内のほかのKM10までのフォワーディンテーブル情報とリソース情報とを記憶する。
【0048】
上記のように、KM10に対応付けられるデータは、リンクステートデータベース、KSNドメイン内の宛先KM10への最短パスツリーの確定情報、送信元からKSNドメイン内の宛先KM10までのボトルネック、送信元からKSNドメイン内の宛先KM10までのホップ数、及び、ネクストホップである。
【0049】
リンクステートデータベースは、KSNドメイン内のネットワーク構成(接続関係)を表し、各KM10が、最短パスを計算する時に使用される情報である。KSNドメイン内の宛先KM10ごとの最短パスツリーは確定している場合と確定していない場合とがある。
【0050】
最短パスツリーが確定していない宛先KM10は、その宛先KM10までの鍵リレールートは最短パス候補に過ぎない。送信元からKSNドメイン内の宛先KM10までのボトルネックは、宛先KM10に到達するための最短パス候補を経由するときのリンクの鍵残量のボトルネックを表す。送信元からKSNドメイン内の宛先KM10までのホップ数は、宛先KM10に到達するための最短パス候補を経由するときのホップ数を表す。ネクストホップは、最短パスの候補となるネクストホップを表す。
【0051】
各KM10は、リンクステートデータベース、KSNドメイン内の最短鍵リレールートツリーとしての確定情報、送信元KMからほかの各KM10までの各リンクの鍵残量、送信元からほかの各KM10までのホップ数、および、ネクストホップを持つ。送信元から他のKM10までの各リンクの鍵残量、および、送信元から他のKM10までのホップ数は、当該他のKM10ごとに保持される。
【0052】
OSPFにおけるダイクストラアルゴリズムでは、メトリックは距離であった。一方、本実施形態の鍵共有ルーティングプロトコルでは、距離ではなく、鍵リレールートにおける鍵残量のボトルネックをメトリックの算出に用いる。これにより、アプリ鍵を共有するKM10間のリンク鍵保有量とリンク鍵生成速度とを一定の値以上に保ち、ユーザネットワークにおけるアプリケーションが必要となる量のアプリ鍵の獲得に支障が生じないようにする。
【0053】
まず、メトリックの算出に用いるリソース情報について説明する。
【0054】
図3Aは実施形態のリソース情報の例1(リンク鍵残量のボトルネック)を示す図である。各リンクに付けられた数値がリンク鍵の残量を表す。送信元(S)からリレー(R)を経由して宛先(D)までの鍵リレールートに含まれる各リンクの鍵残量の最小値がボトルネックとなる。
図3Aでは、ボトルネックは、鍵リレールートに含まれる各リンクの鍵残量の最小値なので、min{6,5,3}=3となる。すなわち、
図3Aの鍵リレールートのボトルネックは3となる。
【0055】
図3Bは実施形態のリソース情報の例2(ホップ数)を示す図である。ホップ数はリレーKM10の数+1の値とする。送信元(S)からリレー(R)を経由して宛先(D)までの鍵リレールートに含まれるリレーKM10の数+1の値がホップ数となる。
図3Bの例では、ホップ数は、リレーKM10の数+1なので、鍵リレールートに含まれるリレー数(2)+1=3となる。すなわち、
図3Bの鍵リレールートのホップ数は3となる。
【0056】
図3Cは実施形態の鍵リレー経路の決定方法の例を説明するための図である。
図3Cでは、送信元KM10をSで表し、宛先KM10をDで表し、アプリ鍵を共有するためのリレーKM10をRで表す。また、リンクに付けられた数値がリンクの鍵残量を表す。
【0057】
鍵リレールートAは、ボトルネックが3、ホップ数が2となる。鍵リレールートBは、ボトルネックが6、ホップ数が3となる。鍵リレールートCは、ボトルネックが7、ホップ数が4となる。
【0058】
ボトルネック及びホップ数から算出される場合のリファレンス値算出方法の例を以下に示す。
方法1:ボトルネックを優先し、ボトルネックが等しい場合に、ホップ数を比較し、ホップ数が少ないルートを最適な鍵リレールートに決定する。
方法2:ホップ数を優先し、ホップ数が等しい場合にボトルネックを比較し、ボトルネックが大きいルートを最適な鍵リレールートに決定する。
方法3:ボトルネック(BN)とホップ数(Hops)とを含むリファレンス値(RV:reference value)を算出式により、最適な鍵リレールートを決定する。
【0059】
算出式は、例えば下記式により算出される。
RV=δ×BN+(1-δ)×(1/Hops)
ここでδは、係数であり、1より小さい正実数である。
【0060】
一方、リファレンス値がボトルネックだけの場合、鍵リレールートCが最適な鍵リレールートとなる。リファレンス値がホップ数だけの場合、鍵リレールートAが最適な鍵リレールートとなる。上記の算出式の係数を設定することで、リファレンス値が片方だけの場合を実現することが可能である。例えば、リファレンス値をボトルネックだけにする場合は、δ=1に設定する。また、リファレンス値をホップ数だけにする場合は、δ=0に設定する。
【0061】
図3Cの例を用いて、δ=0.5に設定し、上記方法3に従いリファレンス値を計算する例について説明する。
【0062】
鍵リレールートAのリファレンス値は、RV=0.5×3+(1-0.5)×(1/2)=1.75となる。鍵リレールートBのリファレンス値は、RV=0.5×6+(1-0.5)×(1/3)=3.67となる。鍵リレールートCのリファレンス値は、RV=0.5×7+(1-0.5)×(1/4)=3.625となる。
【0063】
方法1では、各KM10までのボトルネックとホップ数とをそれぞれ保持し、ボトルネックが等しい場合にのみホップ数の比較を行う。方法2では、各KM10までのボトルネックとホップ数とをそれぞれ保持し、ホップ数が等しい場合にのみボトルネックの比較を行う。方法3では、リファレンス値を表す算出式を予め作っておき、各KM10までのボトルネックとホップ数とからリファレンス値を算出しておく。
【0064】
なお、上記リファレンス値の算出式は一例であり、これらに限られるものではない。例えば、ボトルネックとホップ数とそれぞれに重みを付けて足し合わせた結果をリファレンス値とする他の式を用いてもよい。この場合、ボトルネックおよびホップ数にかかる係数(重み)は任意である。
【0065】
[KMの機能構成の例]
図4は実施形態の鍵管理装置(KM)10の機能構成の例を示す図である。実施形態の鍵管理装置(KM)10は、通信部11、記憶部12及び処理部13を備える。
【0066】
通信部11は、無線方式又は有線方式の少なくとも一方で通信する通信インターフェースによって実現される。通信部11は、KM通信部111、制御通信部112及びアプリ通信部113を備える。KM通信部111は、QKDNの鍵管理レイアにおける1以上のKM10との間で暗号鍵(アプリ鍵)を共有するための通信を行う。制御通信部112は、QKDネットワーク管理レイヤにおけるQKDN制御装置6と、例えば、鍵リレー経路情報などの情報を共有するための通信を行う。アプリ通信部113は、最上位のサービスレイアであるユーザネットワークのアプリケーション5と、例えば、アプリ鍵要求に関する情報などを共有するための通信を行う。
【0067】
なお、通信部11は上記3つの機能構成に分割せずに実現されてもよい。
【0068】
記憶部12は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの記憶媒体により実現される。
【0069】
記憶部12は、ルート関連情報、及び、KM10間で共有されたアプリ鍵を記憶する。ルート関連情報は、例えば、QKDN制御装置6から受信された鍵リレー経路情報などを含む。
【0070】
処理部13は、少なくとも1つの処理装置によって実現され、KM10の処理を実行する。この処理装置は、例えば制御装置及び演算装置を含み、アナログまたはデジタル回路等で実現される。処理装置は、中央処理装置(CPU:Central Processing Unit)であってもよいし、汎用目的プロセッサ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)及びこれらの組み合わせであってもよい。
【0071】
処理部13は、算出部131、管理部132、情報交換部133、実行部134、鍵処理部135、提供部136,制御部137、及びプラットフォーム部138を備える。
【0072】
算出部131は、記憶部12からルート関連情報を読み出し、鍵リレー経路を実施するためのKSN102内部の鍵リレールートを算出し、宛先KM10・経由されるBKM(Boarder KM)10への最適な鍵リレールートを算出する。ここで、BKM10は、KSNドメイン間境界に設置されたKM10を示す。
【0073】
例えば、KSN102内部の鍵リレールート(経路)の算出には、リソース情報が用いられる。例えば、リソース情報は、経路の候補に含まれるリンク毎に算出されるリンク鍵の生成速度、残量及び消費速度の少なくとも1つに基づき算出されるリンク鍵の状態情報を含む。算出部131は、経路の候補に含まれるリンクで使用されるリンク鍵の状態情報のボトルネックを特定し、ボトルネックに基づき経路を決定する。
【0074】
なお、リソース情報は、経路の候補毎に算出された経由されるBKM10(境界にあるKM10までのホップ数を更に含んでもよい。そして、算出部131は、ホップ数に更に基づき経路を決定してもよい。
【0075】
算出部131は、算出されたKSN102内部の鍵リレールートも記憶部12に保存する。
【0076】
管理部132は、KM10の接続しているリンクの鍵生成速度、鍵保有量及び鍵の消費速度などを含む鍵残量情報を管理する。
【0077】
情報交換部133は、通信部11と管理部132とから、上述の情報を取得する。また、情報交換部133は、上記記憶部12に保存された情報をQKDN制御装置6に共有する。
【0078】
実行部134は、上記算出部131により算出された鍵リレールートに従い、KM10間の鍵リレーを実行する。
【0079】
鍵処理部135は、アプリケーション5からの鍵要求に従い、アプリ鍵を提供部136に渡す。具体的には、鍵処理部135は、アプリケーション5からの要求に応じて、アプリ鍵の要求量と、アプリケーション5にアプリ鍵を提供する提供時間と、アプリ鍵の提供先を示す宛先とを決定する。
【0080】
提供部136は、鍵処理部135からアプリ鍵を受け付けると、上記サービスレイアのユーザネットワークのアプリケーション5にアプリ鍵を提供する。例えば、提供部136は、鍵処理部135により決定された要求量のアプリ鍵を、鍵処理部135により決定された提供時間までに、鍵処理部135により決定された提供先に提供する。なお、提供部136の機能は、通信部11に含まれていてもよい。
【0081】
制御部137は、KM10で行われる処理の制御を行う。例えば、制御部137は、KM10の各機能の起動及び動作の制御を担う。
【0082】
プラットフォーム部138は、KM10上の機能の管理と動作に必要なコンピュータのオペレーティングシステム機能、基本的なネットワーク機能、および、セキュリティ機能等を提供する。
【0083】
[QKDN制御装置の機能構成の例]
図5は実施形態のQKDN制御装置6の機能構成の例を示す図である。実施形態のQKDN制御装置6は、通信部61、記憶部62及び処理部63を備える。なお、通信部61、記憶部62及び処理部63のハードウェアによる実現方法は、KM10の通信部11、記憶部12及び処理部13と同様である。
【0084】
実施形態のQKDN制御装置6は、ユーザネットワークにおけるアプリケーション5間で通信の暗号化又は復号に使用されるアプリ鍵を、アプリケーション5に提供する複数のKM10と接続される。
【0085】
通信部61は、KM通信部611と制御通信部612とを備える。
【0086】
KM通信部611は、上記1以上のKM10と通信する。例えば、KM通信部611は、KM10のID情報、BKM10と隣接するKSN102との接続状況、KSN102内のリンクの鍵残量情報、及び、KSN102内の鍵リレールート関連情報などを共有するための通信を行う。鍵リレールート関連情報は、例えば、KM10属する情報、KSN102間の接続状況、及び、各KSN102を経由するか否かの判断に使用される第1基準値である。
【0087】
制御通信部612は、QKDN制御装置6間で、KM10のID情報、BKM10の接続状況、及び、上述の第1基準値などの情報を共有するための通信を行う。また、制御通信部612は、上述の第1基準値などの情報が、権威ルートサーバ装置によって集中管理されている場合には、権威ルートサーバ装置と通信する。
【0088】
なお、通信部61は上記2つの構成に分割せずに実現されてもよい。
【0089】
記憶部62は、KM情報、接続情報及び経路関連情報を記憶する。KM情報は、KM10のID情報とKM10が属するKSN102のID情報とを含む。接続情報は、KSN102間で接続しているBKM10のID情報及びKSN102のID情報等を含む。経路関連情報は、KM10間のリンクの鍵残量情報、及び、鍵リレールート関連情報などを含む。経路関連情報は、各KSN102の第1基準値を算出するために使用される。
【0090】
処理部63は、情報交換部631、算出部632、決定部633、制御部634、管理部635及びプラットフォーム部636を備える。
【0091】
情報交換部631は、通信部61から上述の情報を取得し、記憶部62に記憶する。また、情報交換部631は、記憶部62に保存された情報を別のQKDN制御装置6に共有する。
【0092】
算出部632は、上述の経路関連情報(例えば、KM10が属するKSN102の情報、及び、KSN102間の接続状況など)に基づき、KSN102の第1基準値を算出する。また、算出部632は、算出された第1基準値も記憶部62に保存する。
【0093】
決定部633は、上記記憶部62から経路関連情報を読み出し、複数の鍵リレー経路の第2基準値を計算し、第2基準値に基づき、最適な鍵リレー経路を決定する。決定部633は、決定された最適な鍵リレー経路情報を通信部経由で、当該鍵リレーに関連するKM10に通知する。
【0094】
制御部634は、QKDN制御装置6で行われる処理の制御を行う。例えば、制御部634は、各機能の起動及び動作の制御を担う。
【0095】
管理部635は、QKDN制御装置6に接続されているKM10の情報、およびKM10の数などを管理する。
【0096】
プラットフォーム部636は、QKDN制御装置6上の機能の管理と動作に必要なコンピュータのオペレーティングシステム機能、基本的なネットワーク機能、および、セキュリティ機能等を提供する。
【0097】
[情報処理装置の機能構成の例]
図6は実施形態の情報処理装置8の機能構成の例を示す図である。実施形態の情報処理装置8は、通信部81、記憶部82及び処理部83を備える。なお、通信部81、記憶部82及び処理部83のハードウェアによる実現方法は、KM10の通信部11、記憶部12及び処理部13と同様である。
【0098】
通信部81は、QKDによって、リンク鍵を生成するQKDモジュール2a(QKD装置の一例)と接続されるKM10a(第1鍵管理装置の一例)から、ユーザネットワークにおけるアプリケーション5a(送信元アプリケーションの一例)の通信の暗号化又は復号に使用されるアプリ鍵を受信する。また、このアプリ鍵は、第1のKSN102に属するKM10aから、第2のKSN102に属するKM10cまでリレーするときに経由されるKSN102を判断する第1基準値に基づき決定された経路情報を使用して、KM10cまで、リンク鍵により暗号化送信され、KM10cからアプリケーション5cに送信される。
【0099】
記憶部82は、例えばアプリケーション5a(送信元アプリケーションの一例)の通信の宛先毎のアプリ鍵を記憶する。
【0100】
処理部83は、例えばアプリケーション5a(送信元アプリケーションの一例)を動作させることによって、アプリケーション5c(宛先アプリケーションの一例)との通信を暗号化する。
【0101】
なお、本実施形態におけるKM10、QKDN制御装置6及び情報処理装置8の構成は一例であり、適宜、構成に変更が加えられてもよい。
【0102】
量子レイヤの量子鍵配送プロトコル、鍵管理レイヤの仕組み、または、鍵リレー方式などが異なる複数のKSN102が構成されることがある。
【0103】
図7は、実施形態の異なる種類のKSN102間の鍵リレーの例について説明するための図である。アプリケーションAとアプリケーションBとは、データ通信ネットワーク103を経由してセキュア通信を行う。
【0104】
図7の例では、KM10及びBKM10に当該KM10を識別する識別情報が付与されている。例えば、KM10aには、識別情報a011が付与されている。
図7の例では、各KM10及び各BKM10を区別して説明する場合、この識別情報を使用して説明する。
【0105】
アプリケーションAがKSN102aに属するKMa011に接続する。アプリケーションBが、KSN102bに属するKMb333に接続する。KSN102aはIPベースのネットワークであり、KSN102bは非IPベースのネットワークである。KSN102aとKSN102bとは、物理的に同じ場所に置かれているBKMa00x及びBKMb00y、あるいは、物理的に同じ場所に置かれているBKMa9xx及びBKMb9yyによって接続される。
【0106】
BKM102a及び102b間のリンク(Link#1とLink#2)は、QKD links101a及び101bのQKDリンク3に依存しない。
【0107】
また、KSN102aとKSN102bとにそれぞれQKDN制御装置6#aとQKDN制御装置6#bが設置され、QKDN制御装置6間は、Link#1及びLink#2とは別のリンクで接続される。QKDN制御装置6間のリンクはQDKリンクでもよいし、QKD以外の方式で守られる普通のリンクでもよい。なお、QKDN制御装置6間のリンクが存在しない場合もある。QKDN制御装置6間のリンクが存在しない場合、BKM10間のLink#1またはLink#2を経由して情報共有する。
【0108】
なお、
図7の例では、簡略化のため、鍵共有ネットワーク102a及び102b内のKM10と、QKDリンク3のネットワーク101a及び101b内のQKDモジュール2は、全てが記載されておらず、一部のみが記載されている。
【0109】
図7に示すように、アプリケーションAに接続するKMa011がアプリケーションBに接続するKMb333にアプリ鍵を共有する際に、宛先KMb333への経路は決定できない。例えば、Link#1を経由する経路と、Link#2を経由する経路とがある。異なる種類のKSN102a及び102b間でアプリ鍵を共有するための経路(鍵リレー経路)の決定は、各KSN102設置された専用のQKDN制御装置6によって行われる。例えば、QKDN制御装置6aは、KSN102内部の情報を収集し、KSN102内部の情報をQKDN制御装置6bに共有し、鍵リレー経路を決定する。収集されるKSN102内部の情報は、例えば、KSN102aにおける宛先KMa011からBKMa00xまでの経路情報、隣接するKSN102bとの接続状況、隣接するKSN102bにおけるBKMb00yから宛先KMb333までの経路情報などである。
【0110】
[大規模QKDNの構成例]
QDKNが大規模化され、KM10の数も多くなると、鍵共有ネットワーク(KSN)102の管理を効率的かつ容易にするため、鍵共有ネットワーク102が複数のKSNドメインに分割されることが一般的である。KSNドメインでは、例えば、KM10の数、またはKM10間のリンクの数等がある制限値(例えば、1000)以内に制限される。
【0111】
なお、上述したように、各KSNドメインが同じ規格、同じ規模、同じ量子プロトコルに限らない。同種類のKSN102の分割型として、例えば、ドメインのKM数あるいはリンク数に上限を設定すると、KSNドメイン内における多くのKM10は、持つ鍵リレー経路情報が少なくなり、処理時間が短縮できるが、ドメイン外のKM10へ鍵共有する際に、特定のKM10を経由してドメイン間の鍵リレー経路の決定が必要になる。
【0112】
図8Aは実施形態のKSNドメインの例1を示す図である。
図8Aは、同種類(
図8Aの例では、IPベース)の5つの鍵共有ネットワーク102a~102e(同種類の5つのKSNドメイン)が存在する場合を示す。なお、鍵共有ネットワーク102の数、QKDN制御装置6の数は任意でよく、
図8Aの例に限られない。
【0113】
図8Aに示す5つのKSNドメインは、IPベースのID体系を有する。鍵管理レイヤにおける各鍵共有ネットワーク102a~102eに対して、QKDネットワーク管理レイヤにおける専用のQKDN制御装置6a~6eが設置される。
【0114】
各QKDN制御装置6は、各鍵共有ネットワーク102のKM10から、KM10間のリンク鍵の保有状況などの情報を周期的に収集し、収集された情報を管理する。
【0115】
鍵共有ネットワーク102間はドメイン間境界に設置されたBKM10で接続される。ドメイン間境界のBKM10は、物理的に同じ場所(ノード)に置かれる。また、BKM10間の情報共有は、リンク鍵の共有に使用されるQKDリンク3に依存しない。
【0116】
QKDN制御装置6a~6eは、専用ネットワークを構築し、KSN102間の接続状況(BKM10の接続情報)及び、鍵リレー関連情報などを共有する。QKDN制御装置6a~6e間のリンクは、上述のQKDリンク3でもよいし、QKD以外の方式で守られる普通のリンクでもいい。
【0117】
図8Bは実施形態のKSNドメインの例2を示す図である。
図8Bは、異なる種類の鍵共有ネットワーク102が混在する例を示す。
図8Bの例では、5つの鍵共有ネットワーク102a~102eが存在する。鍵共有ネットワーク102a、102c及び102dは、IPベースの鍵共有ネットワーク102であり、鍵共有ネットワーク102b及び102eはnon-IPベースの鍵共有ネットワーク102である。なお、鍵共有ネットワーク102の数、QKDN制御装置6の数は任意でよく、
図8Bの例に限られない。
【0118】
KSN102aにおけるKM10aに接続しているアプリケーション(ソース)からKSN102dにおけるKM10dに接続しているアプリケーション(宛先)までセキュア通信を行う際に、リンク鍵の状況に従い、鍵の消費及び枯渇を避けつつ、最適なKSN102を経由し、宛先のKM10dまで効率的な鍵リレー経路を決定することが望ましい。
【0119】
そこで、本実施形態にかかる量子暗号通信システムは、リンク鍵の消費をできるだけ抑制し、最適な経由するKSNドメインを選定し、鍵リレー経路の決定をする。これにより、特定のKM10におけるリンク鍵の枯渇を避けつつ、KSN102間におけるアプリ鍵共有のスループットを維持しながら、システム全体でのリンク鍵の消費量を小さくすることが可能となる。
【0120】
図9は実施形態の第1基準値の計算例1を説明するための図である。
図9の例を用いて、鍵リレー経路決定に関するKSNドメイン選択の第1基準値の計算方法について説明する。
図9では、5つのKSN102が存在し、KSN102h、KSN102x及びKSN102fはIPベースのKSNであり、KSN102u及びKSN102sはnon-IPベースのKSNである。
【0121】
KSN102xには、適切な数のKM10が設置されている。
図9の例では、KM10及びBKM10に当該KM10を識別する識別情報が付与されている。
図9の例では、各KM10及び各BKM10を区別して説明する場合、この識別情報を使用して説明する。
【0122】
KSN102xに属するKM10間はリンクで接続されている。KSN102xのエッジ側に4つのBKMx011、x066、x633及びx857が設置され、4つのBKMx011、x066、x633及びx857によって隣接の4つのKSN102u、102h、102f及び102sと接続される。
【0123】
なお、KM10の数、KM10間のリンクの数、BKM10の数、KSN102の数、QKDN制御装置6の数は
図9の例に限られない。
【0124】
以下、鍵リレー経路にKSN102xを選択するか否かを判断する第1基準値の計算方法について説明する。第1基準値の計算方法には、主に二つの方式がある。
方式1:KSN102全体ベースの第1基準値(下記のオプション1からオプション4)
方式2:KSN102内部のルートベースの第1基準値(下記のオプション5からオプション8)
【0125】
まずは、方式1について説明する。QKDN制御装置6xの通信部61は、KSN102内部の各KM10(BKM10を含む)間のリンクのリンク鍵残量を、周期的に取得する。QKDN制御装置6xの処理部63は、全てのリンクのリンク鍵残量に基づきKSN102全体ベースの第1基準値を計算する。
【0126】
そのため、方法1では、全てのKM10がQKDN制御装置6xに接続することを前提とする。KSN102x全体ベースの第1基準値の計算方法として、以下のオプション1からオプション4のような計算方法がある。
【0127】
<オプション1>
例えば、KSN102xにおける全てのリンクの利用可能な鍵残量の合計値をKSN102xの第1基準値Oとする。合計値は、例えば下記式(2)により算出される。
【0128】
【0129】
ここで、OownはKSN102xの第1基準値を示す。iはKSN102x内の全てのリンクの数を示す。Ai
keyはリンクiで利用可能な鍵残量を示す。また、アプリ鍵の共有は双方向通信のため、各リンクの利用可能な鍵残量を送信用(暗号化)と受信用(復号)とに分ける場合もある。各リンクの利用可能な鍵残量は変わらないが、アプリ鍵の共有が効率的にできる。その場合、上記の算出式の一つのリンクの利用可能な鍵残量も、2つ分(送信用(暗号化)及び受信用(復号))の合計値となる。
【0130】
<オプション2>
例えば、KSN102xにおける全てのリンクの利用可能な鍵残量の平均値をKSN102xの第1基準値Oとする。平均値は、例えば下記式(3)により算出される。
出される。
【0131】
【0132】
ここで、Oown、i及びAi
keyの意味は、上述の式(2)と同じである。
【0133】
全てのリンクの利用可能な鍵残量の合計値(オプション1)、あるいは、全てのリンクの利用可能な鍵残量の平均値(オプション2)をKSN102xの第1基準値Oとする利点として、以下の2点がある。
(1)各KM10の計算量が少ない。
(2)QKDN制御装置6xにより周期的に取得されたリンク鍵状況に基づき、第1基準値Oを効率的に算出することが可能である。
【0134】
また、欠点は、あるリンクの利用可能な鍵残量が、鍵リレー経路上の他のリンクの利用可能な鍵残量との差が極めて大きい場合、鍵リレー速度は、鍵残量が小さいリンクで利用可能な鍵残量に制限される。
【0135】
例えば、KSN102x内のリンクの数が50個であり、1リンクだけ利用可能な鍵残量が10Gbitsであり、残りの49リンクの利用可能な鍵残量が全て0.001Gbitsであるとする。この場合、実際に利用可能な鍵残量である0.001Gbitsよりも、合計値又は平均値による第1基準値が高くなる。この第1基準値に基づき、KSN102xが選択された場合、鍵リレー速度は、実際に利用可能な鍵残量である0.001Gbitsに基づく速度に制限される(ボトルネック)。
【0136】
<オプション3>
例えば、KSN102xにおける全てのリンクの利用可能なリンク鍵残量の最小値をKSN102xの第1基準値Oとする。最小値は、例えば下記式(4)により算出される。
【0137】
【0138】
ここで、Oown、i及びAi
keyの意味は、上述の式(2)と同じである。
【0139】
全てのリンクで利用可能なリンク鍵残量の最小値をKSNの第1基準値Oとする利点として、
(1)各KM10の計算量が少ない。
(2)QKDN制御装置6xにより周期的に取得されたリンク鍵状況に基づき、第1基準値Oを効率的に算出することが可能である。
(3)KSN102xが選択される場合、少なくともリンク鍵残量の最小値以上のアプリ鍵の共有が保証される。
【0140】
また、欠点は、リンク鍵残量が、最小値であるリンクが実際に鍵リレー経路として利用されない場合もあるが、第1基準値は、この最小値で表されてしまう。
【0141】
例えば、KSN102uのKM10から、KSN102xを経由してKSN102fのKM10へアプリ鍵が共有される際に、KSN102uに接続されるエッジ側のBKMx011から、KSN102fに接続されるエッジ側のBKMx633まで、5つのルートが存在し、どのルートのボトルネックも最小値であるリンクより大きいリンク鍵残量を持つとする。すなわち、リンク鍵残量が、最小値であるリンクが、どのルートにも含まれていないとする。この場合でも、KSN#xが選択されるか否かを判断する第1基準値は、この最小値で表されてしまう。
【0142】
<オプション4>
例えば、KSN102xにおける全てのリンクの利用可能な鍵残量の中央値をKSN102xの第1基準値Oとする。各リンクの利用可能なリンク鍵残量を大きさの順に並べ替えると、例えば、{A’1,A’2,A’3,・・・,A’i}となる。中央値は、例えば下記式(5)により算出される。
【0143】
【0144】
全てのリンクの利用可能なリンク鍵残量の中央値をKSN102xの第1基準値Oとする利点として、ちょうど順番が真ん中になる値のため、平均値より極端に高い(もしくは低い)値があることによる影響を受けない。
【0145】
欠点として、中央値のリンク鍵残量が第1基準値として使用されるが、実際にリレー経路で使われるリンクのリンク鍵残量が中央値より小さい場合、このリレー経路では中央値より小さい利用可能なリンク鍵残量しか提供されない。
【0146】
上記のオプション1からオプション4により、KSN102x全体ベースの第1基準値が計算できる。なお、上記第1基準値の算出方法は一例であり、これらに限られるものではない。第1基準値は、判断対象のKSN102xに含まれる複数のKM10及びBKM10で保有されているリンク鍵の残量の合計値、平均値、最小値及び中央値の少なくとも1つに基づき算出されてもよい。
【0147】
また、全体ベースの第1基準値であるため、どのKSN102からどのKSN102までに関係なく、同じ第1基準値となる。例えば、
図9の例の場合、KSN102uからKSN102xを経由してKSN102fまで鍵リレーをする場合、KSN102uからKSN102xを経由してKSN102hまで鍵リレーをする場合、及び、KSN102uからKSN102xを経由してKSN102sまで鍵リレーをする場合が、全て同じ第1基準値Oになる。
【0148】
また、KSN102x全体ベースの第1基準値が用いられる場合、各KM10(BKM10)の計算量が少ない利点がある。
【0149】
次に、方式2について説明する。
【0150】
図10は実施形態の第1基準値の計算例2を説明するための図である。QKDN制御装置6xの通信部61は、KSN102x内部の各BKM10間の鍵リレールートを周期的に取得する。QKDN制御装置6xの処理部63は、KSN102x内の鍵リレールートに基づきKSN102xのルートベースの第1基準値を計算する。
【0151】
そのため、QKDN制御装置6xの処理部63は、KSN102x内の鍵リレールートを計算する必要がある。KSN102x内の鍵リレールートは任意のルーティング方式で決定される。例えば、IPベースのKSN102xの場合、既存のルーティングプロトコルであるOSPFを利用して、各リンクの利用可能な鍵残量のボトルネックに合わせて、鍵リレールートと選定する。KSN102xのルートベースの第1基準値として、以下のオプション5からオプション8のような計算方法がある。
【0152】
<オプション5>
例えば、BKM10間の最適鍵リレールートの利用可能な鍵残量ボトルネック値をKSN102xの第1基準値Oとする。
【0153】
この場合、
図10に示すように、例えば、KSN102uからKSN102fまでKSN102xを経由する場合、ルート#1~#jがある。例えば、ルート#1は、複数のリンク{Link
1,Link
2,Link
3,・・・,Link
k}を経由してアプリ鍵を共有する。各リンクの利用可能な鍵残量は、例えば、上記の算出式(1)で算出され、ルート#1の利用可能な鍵残量A
route_idのボトルネックは、例えば、下記の算出式(6)で算出される。
【0154】
【0155】
また、処理部63は、BKMx011からBKMx633までの他のルート#2~#jについても、ルート#1と同様に、利用可能な鍵残量Aroute_idを計算する。そして、処理部63は、ルート#1~#jから最適なルートを選定する。最適なルートは、例えば下記式(7)により算出される。
【0156】
【0157】
ここで、第1基準値OFrom,To
Ownは、送信元(From)、宛先(To)、経由(Own)を明記する。
【0158】
例えば、各鍵リレールートのうち、ルート#2の利用可能な鍵残量のボトルネックが最大となる場合、KSN102uからKSN102fまでKSN102xを経由する第1基準値は、ルート#2の利用可能なリンク鍵残量のボトルネックにより表される。
【0159】
なお、各リンクの利用可能なリンク鍵残量は、KM10側で計算される。そのほかの計算は、例えばBKM10によって実施され、QKDN制御装置6xに周期的に報告することでもよい。また例えば、QKDN制御装置6xが周期的に情報を収集し、最適ルートの第1基準値OFrom,To
Ownを計算してもよい。
【0160】
<オプション6>
例えば、BKM10間の最適な3つの鍵リレールートの利用可能な鍵残量ボトルネック値をKSN102xの第1基準値Oとする。オプション5と基本的に同じ算出方法であるが、最適なルートを算出する際に、最適なルートだけではなく、2番目によいルート及び3番目によいルートの利用可能なリンク鍵残量のボトルネックも算出する。そして、そのベスト3のルートの利用可能なリンク鍵残量のボトルネックの合計値・平均値を第1基準値Oとする。
【0161】
アプリ鍵を共有する際に、最初から最後まで一つのルートで実施することもあるが、リンクの利用可能なアプリ鍵残量が足りない場合、リンク鍵の補充を待つより、別の鍵リレールートを変更し、アプリ鍵の共有を継続することが一般的である。
【0162】
なお、オプション6の第1基準値Oの算出方法は、ルート変更の可能性も考慮されていると考えられるので、オプション5と比べ、より適切である。なお、上記のベスト3のルートの算出方法は一例であり、考慮されるルートの数は3に限られない。
【0163】
オプション5とオプション6は、ボトルネックだけを考慮した計算方法であるが、ボトルネック以外のリソース情報が考慮されてもよい。
【0164】
<オプション7>
例えば、BKM10間の最適鍵リレールートの利用可能な鍵残量ボトルネックとホップ数とを合わせるリファレンス値をKSN102xの第1基準値Oとする。この場合、
図10に示すように、例えば、KSN102uからKSN102fまでKSN102xを経由する場合、BKMx011からBKMx633までの鍵リレーのルート#1は、複数のリンク{Link
1,Link
2,Link
3,・・・,Link
k}を経由してアプリ鍵を共有する。各リンクの利用可能な鍵残量は、例えば、上記の算出式(1)で算出され、ルート#1の利用可能な鍵残量A
route_idのボトルネックは、例えば、上記の算出式(6)で算出される。
【0165】
また、上記ルート#1のホップ数Hroute=kである。したがって、上記ルート#1のリファレンス値RVは、例えば下記式(8)により算出される。
【0166】
【0167】
ここでは、α及びβは重みを表す係数であり、0より大きい任意の実数である。処理部63は、BKMx011からBKMx633までの他のルート#2~#jについても、ルート#1と同様に、リファレンス値RVを計算する。そして、処理部63は、ルート#1~#jから最適なルートを選定する。最適なルートは、例えば下記式(9)により算出される。
【0168】
【0169】
<オプション8>
オプション6と同じように、オプション7の計算方法に従い、例えば、最適なルートだけではなく、2番目によいルート及び3番目によいルートの利用可能なリンク鍵残量ボトルネックとホップ数とを合わせるリファレンス値も算出する。そして、そのベスト3のルートの利用可能なリンク鍵残量のボトルネックとホップ数とを合わせるリファレンス値の合計値・平均値を第1基準値とする。なお、上記のベスト3のルートの算出方法は一例であり、考慮されるルートの数は3に限られない。
【0170】
上記のオプション5からオプション8により、KSN102xのルートベースの第1基準値0が計算できる。上記のオプション5からオプション8の第1基準値の算出方法は一例であり、これらに限られない。例えば、第1基準値は、判断対象のKSN102x内の経路に含まれるリンクで使用されるリンク鍵の残量のボトルネック、及び、当該経路に含まれるリンクのホップ数の少なくとも一方に基づき算出されてもよい。リンク鍵の残量のボトルネックは、判断対象のKSN102xに含まれる複数の経路の候補のリンクで使用されるリンク鍵の残量のボトルネックの合計値及び平均値の少なくとも一方に基づき算出されてもよい。また例えば、第1基準値は、複数の経路の候補に含まれるリンクのホップ数の合計値又は平均値の少なくとも一方に、更に基づき算出されてもよい。
【0171】
方式1と比べ、BKM10の計算量が多いが、ソースKSN102と宛先KSN102の違いにより、実際に利用されるルートが異なるため、計算されたKSN102xの第1基準値も違う。したがって、より最適な鍵リレールートが選定できる。
【0172】
図11は実施形態の鍵リレー経路の決定方法の例を説明するための図である。
図11の例は、KSN102aに属するKMa011(KM10a)からKSN102dに属するKMd616(KM10d)までアプリ鍵を共有する場合について説明する。
【0173】
まず、各KSN102専用のQKDN制御装置6が、鍵リレー経路の決定に使用される情報を収集する。例えば、KSN102aの場合、ソースKM(KMa011)からKSN102aのKSNドメイン内のBKM10へのファレンス値RVをQKDN制御装置6#aに通知する。
【0174】
同様に、KSN102dの場合、KSN102dのKSNドメイン内のBKM10から宛先KM10までへのファレンス値RVをQKDN制御装置6#dに通知する。
【0175】
また、経由されるKSN102のKSNドメインのQKDN制御装置6の処理部63は、上記の計算方法に従い、第1基準値Oを計算する。次に、各QKDN制御装置6は、経路関連情報(例えば、KM10が属するKSNドメイン情報、KSN102間の接続状況、及び、各KSN102を経由するか否か判断するための第1基準値)を共有する。
【0176】
最後に、QKDN制御装置6aの処理部63は、複数の鍵リレー経路の中で、例えば、一番大きい第2基準値に基づき経路を決定する。すなわち、処理部63は、経由されるKSN102が、アプリ鍵のリレー経路に複数、含まれる場合、それぞれのKSN102の第1基準値から、アプリ鍵を送るときに経由される複数のKSN102を判断する第2基準値を算出し、第2基準値に基づきリレー経路を決定する。
【0177】
第2基準値について、以下で説明する。
【0178】
例えば、複数のKSNドメイン{KSN
1,KSN
2,KSN
3,・・・,KSN
q}を経由する経路で鍵リレーを実施するとする。経由されるKSNドメインの数はq=ΣKSNsである。ここでは、ソースKM10が属するKSN102と、宛先KM10が属するKSN102も含まれる。
図11の例では、Path#1の場合、KSN102bを経由するため、KSN102aとKSN102dを含め、q=3である。
【0179】
複数のKSNドメインを経由する経路の第2基準値は、例えば下記式(10)による決定方式(1)で算出される。
【0180】
決定方式(1):経由する全てのKSN102の第1基準値のボトルネックを鍵リレー経路の第2基準値とする。
【0181】
【0182】
ここで、OKSN1はソースKM10が属するKSN102のファレンス値を表す。OKSNqは宛先KM10が属するKSN102のファレンス値を表す。QKDN制御装置6の処理部63は、そのほかの経由するKSN102の第1基準値OFrom,To
Ownを、例えば、上記の8種類のオプションで計算する。
【0183】
決定方式(2):ソースKM10が属するKSN102と、宛先KM10が属するKSN102のファレンス値と、経路する全てのKSN102との第1基準値の平均値を下記式(11)で計算し、この平均値を鍵リレー経路の第2基準値とする。
【0184】
【0185】
図11の例の場合、QKDN制御装置6aの処理部63は、Path#1、Path#2及びPath#3は上記の2つの決定方式で第2基準値を計算する。その後、QKDN制御装置6の処理部63は、例えば下記の式(12)により、最適な鍵リレー経路を決定する。
【0186】
【0187】
なお、上記の算出式は一例であり、これらに限られない。例えば、第2基準値は、複数の経由されるKSN102の第1基準値のボトルネック及び平均値の少なくとも一方に基づき算出されてもよい。
【0188】
[QKDN制御方法の例]
図12は実施形態のQKDN制御方法の例を示すフローチャートである。QKDN制御装置6は、定期的に、QKDN制御装置6が管理するKSN102のKM10から、鍵リレー経路の決定に使用される情報を収集する。また、QKDN制御装置6間も定期的に鍵リレー経路の決定に使用される情報を共有する。
【0189】
まず、QKDN制御装置6の処理部63は、KM10間でアプリ鍵を共有する要求があったら、KM10の所属情報のテーブル(後述の
図13)を参照し、宛先のKSN情報(宛先KM10及び宛先KSN10)を確定する(ステップS1)。次に、処理部63は、接続状況情報のテーブル(後述の
図14)を参照し、宛先KM10までの経由するBKM10及びKSN102を確定する(ステップS2)。
【0190】
次に、処理部63は、第1基準値情報のテーブル(後述の
図15)を参照し、各鍵リレー経路の第2基準値を計算する(ステップS3)。次に、処理部63は、計算された第2基準値に従い、最適な鍵リレー経路を決定する(ステップS4)。ステップS4までの最適な鍵リレー経路決定は周期的な情報更新により変化する。
【0191】
最後に、処理部63は、最適な鍵リレー経路を決定されたら、QKDN制御装置6間のネットワーク経由で、関連のKM10に鍵リレー経路関連情報を送信する(ステップS5)。
【0192】
なお、処理部63は、接続情報テーブルを参照することによって、宛先KM10までの鍵リレー経路において、どのBKM10及びKSN102を経由すればよいかを確定できる。経由されるKSN102内BKM10間の鍵リレールートは各KSN102のルーティング方式に従う。
【0193】
図13は実施形態の所属情報の例を示す図である。
図13に示すテーブルは、QKDN制御装置6aのテーブルである。このテーブルは主に3つの部分、種別、KM ID及びKSN IDからなる。種別は2種類に分かれる。各KSN102に属するKM10から収集され、登録したID情報には、inside情報として、「i」が付けられる。一方、QKDN制御装置6間で共有され、登録されたID情報には、outside情報として、「o」が付けられる。
【0194】
KMa011のID情報は、例えば、IPv4アドレスの場合、16.10.1.1である。KSN102のIDは、例えば、KMa011が属するKSN102aの場合、#aである。KM10のID情報は、KM10のIDだけを含んでもよいし、KSN102のIDも含んでもよい。
図13の例では、KMa011はIPベースのID体系となり、KMd616は非IPベースのID体系を示す。
【0195】
図14は実施形態の接続状況情報の例を示す図である。
図14に示すテーブルは、QKDN制御装置6#aのテーブルである。このテーブルは主に5つの部分、種別、接続されているKSNのIDの組と、接続されているBKMのIDの組とからなる。種別は、
図13と同じなので説明を省略する。
【0196】
図14の第一行目を例として説明すると、KSN102aとKSN102bがBKMa062とBKMb053とで接続される。この第一行目の情報は、例えばBKMa062から取得された情報となる。
【0197】
図15は実施形態の第1基準値情報の例を示す図である。
図15に示すテーブルは、各QKDN制御装置6間で共有された情報から作成される。このテーブルは主に5つの部分、種別、始点とするKSN102のIDと、経由されるKSN102のIDと、終点とするKSN102のIDと、第1基準値とからなる。
図15の2行目と3行目とを例として説明すると、KSN102cからKSN102dまで鍵リレー経路を決定する場合、2行目はKSN102bを経由するなら、第1基準値はO
b
c,dであることを示し、3行目はKSN102eを経由するなら、第1基準値はO
e
c,dであることを示す。
【0198】
鍵リレー経路が決定されたら、KM10間はアプリ鍵の共有を行う。鍵リレーの際に、QKDN制御装置6との交流があるか否かにより、2つの種類のメッセージ構成例がある。
【0199】
図16は実施形態の鍵リレーメッセージのヘッダフォーマットの例1を示す図である。
図16は、QKDN制御装置6間で交流する場合の鍵リレーメッセージのヘッダフォーマットの一例を示す。ヘッダ部分は6のフィールドから成り立っている。
【0200】
Versionは、KM10のバージョンを示すフィールドである。例えば、IPv4の場合、0x04がVersionに格納され、IPv6の場合、0x06がVersionに格納される、非IPの場合、0x10がVersionに格納される。
【0201】
Typeは、メッセージの種類を示すフィールドである。例えば、KSN102内の鍵リレーを行う場合、0x01がTypeに格納され、KSN102を経由して鍵リレーを行う場合、0x10がTypeに格納される。
【0202】
Lengthは、メッセージの長さを示すフィールドである。
【0203】
Checksumは、エラーチェックのフィールドである。
【0204】
Numbers of KSNsは、鍵リレー経路に関連するKSN102の数を示すフィールドであり、ソースKM10が属するKSN102と、宛先KM10が属するKSN102とが含まれる。
【0205】
Next BKM ID (Optional)は、次に経由されるKSN102のBKM10のIDを示すフィールドである。
【0206】
Source KM IDは、ソースKM10のID情報を示すフィールドである。
【0207】
Destination KM IDは、宛先のKMのID情報を示すフィールドである。
【0208】
Key informationは、アプリ鍵情報を示すフィールドである。例えば、アプリ鍵のIDとそのIDに対応するアプリ鍵などがKey informationに格納される。
【0209】
なお、QKDN制御装置6は、次に経由されるKSN102のBKM IDを、対応するQKDN制御装置6に問い合わせし、次のBKM10を確定することによってNext BKM IDのフィールドを更新する。KSN102内の鍵リレーを行う場合、このフィールドは使用しない。
【0210】
また、Key informationフィールドは、例えばETSI GS QKD 014(非特許文献2)に従う。
【0211】
図17は実施形態の鍵リレーメッセージのヘッダフォーマットの例2を示す図である。
図17は、QKDN制御装置6間と交流しない場合の鍵リレーメッセージのヘッダフォーマットの一例である。鍵リレー経路が決定された場合、経路情報がヘッダに含まれる。
図18の例では、
図16と比べ、経路情報の部分が追加されている。経路情報の部分は主に以下のフィールドがある。
【0212】
Numbers of KSNsは、鍵リレー経路に関連するKSN102の数を示すフィールドであり、ソースKM10が属するKSN102と、宛先KM10が属するKSN102が含まれる。
【0213】
Current KSN IDは、現在どのKSN102でアプリ鍵の鍵リレーを実施しているかを表すフィールドである。
【0214】
Source KSN IDは、ソースKM10に属するKSN102のIDを表すフィールドである。
【0215】
Source KM IDは、ソースKM10のIDを表すフィールドである。
【0216】
Relay KSN IDは、鍵リレー経路が経由するKSN102のIDを表すフィールドである。
【0217】
From BKM IDは、鍵リレー経路が経由するKSN102の始点BKM10のIDを表すフィールドである。
【0218】
To BKM IDは、鍵リレー経路が経由するKSN102の終点BKM10のIDを表すフィールドである。
【0219】
Destination KSN IDは、宛先KM10が属するKSN102のIDを表すフィールドである。
【0220】
Destination KM IDは、宛先KM10のIDを表すフィールドである。
【0221】
なお、Relay KSN IDと、From BKM IDと、To BKM IDは経由するKSN102の数による複数存在することがある。
【0222】
なお、QKDN制御装置6と交流しない場合、アプリ鍵の量により、オーバーヘッドが高くなる。一方、QKDN制御装置6との通信が不要になり、遅延を短縮することが可能になる。
【0223】
図18は実施形態の集中管理の構成の例を示す図である。
図18の例では、QKDN制御装置6は権威ルートサーバ装置9に接続する。所属情報、接続状況情報及び第1基準値情報(
図13乃至15)などの関連情報は、権威ルートサーバ装置9で統一管理される。QKDN制御装置6は、ユーザネットワークにおけるアプリケーション5からアプリ鍵が要求される際に、権威ルートサーバ装置9に関連情報を問い合わせる。QKDN制御装置6は、権威ルートサーバ装置9から応答メッセージに基づき、鍵リレー経路を決定する。
【0224】
権威ルートサーバ装置9の情報更新については、情報が常に更新される場合、権威ルートサーバ装置9とQKDN制御装置6とが一致するシーケンス番号を付ける。鍵リレー経路を決定する時だけ、権威ルートサーバ装置9の情報が更新される場合、関連するQKDN制御装置6が、鍵リレー経路の決定の問い合わせがあったときに、権威ルートサーバ装置9へ最新の情報を通知する。
【0225】
なお、権威ルートサーバ装置9とQKDN制御装置6との間のリンクはQKDリンク3でもよいし、QKD以外の方式で守られる普通のリンクでもよい。
【0226】
以上、説明したように、例えば、実施形態のKM10aでは、通信部11(通信インターフェースの一例)が、QKDN制御装置6aから、ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリ鍵を、宛先のKM10まで送る経路情報を受信する。そして、処理部13が、経路情報から、アプリケーション5aと接続されるKM10aが属するKSN102a(第1鍵共有ネットワークの一例)にあり、かつ、KSN102b(第2鍵共有ネットワークの一例)と接続されるBKM10を特定し、アプリケーション5aと接続されるKM10aからKSN102bと接続されるBKM10までのKSN102a内の経路を、KSN102aのリソース情報に基づき決定し、当該経路を使用して、リンク鍵で暗号化されたアプリ鍵を通信部11に送らせる。
【0227】
また、実施形態のQKDN制御装置6aでは、処理部63が、例えば、KSN102aに属するKM10a(第1鍵管理装置の一例)から、KSN102d(第2鍵共有ネットワークの一例)に属するKM10d(第2鍵管理装置の一例)まで、アプリ鍵を送るときに経由されるKSN102dを判断する第1基準値を算出する。処理部63は、アプリ鍵を、KM10aからKM10dまで送るときに経由されるKSN102を、第1基準値に基づき決定する。そして、通信部61(通信インターフェースの一例)が、経由されるKSN102を示す経路情報を、KM10aに送信する。
【0228】
これにより実施形態の量子暗号通信システムによれば、QKDネットワークの規模に関わらず、暗号鍵を送る最適な経路を決定することができる。
【0229】
最後に、本実施形態にかかるKM10、QKDN制御装置6及び情報処理装置8のハードウェア構成の例について説明する。
【0230】
[ハードウェア構成の例]
図19は実施形態のKM10、QKDN制御装置6及び情報処理装置8のハードウェア構成の例を示す図である。KM10、QKDN制御装置6及び情報処理装置8は、CPU201などの制御装置、ROM(Read Only Memory)202、RAM203などの記憶装置、及び、ネットワークに接続して通信を行う通信I/F204を備える。CPU201、ROM202、RAM203及び通信I/F204は、バス205により接続される。
【0231】
例えば、KM10、QKDN制御装置6及び情報処理装置8で実行されるプログラムは、ROM202等に予め組み込まれて提供される。
【0232】
また例えば、KM10、QKDN制御装置6及び情報処理装置8で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、及び、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0233】
さらに、KM10、QKDN制御装置6及び情報処理装置8で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、KM10、QKDN制御装置6及び情報処理装置8で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0234】
KM10、QKDN制御装置6及び情報処理装置8で実行されるプログラムは、コンピュータを上述したKM10、QKDN制御装置6及び情報処理装置8の各部として機能させうる。このコンピュータは、CPU201がコンピュータ読取可能な記憶媒体からプログラムをRAM203などの主記憶装置上に読み出して実行することができる。
【0235】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0236】
(付記)
なお、上記の実施形態を、以下の技術案にまとめることができる。
【0237】
技術案1
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN(Quantum Key Distribution Network)制御装置とに接続される鍵管理装置であって、
前記QKDN制御装置から、前記ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリケーション鍵を、宛先の鍵管理装置まで送る経路情報を受信する通信インターフェースと、
前記経路情報から、前記アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定し、
前記アプリケーションと接続される鍵管理装置から前記第2鍵共有ネットワークに接続される鍵管理装置までの前記第1鍵共有ネットワーク内の経路を、前記第1鍵共有ネットワークのリソース情報に基づき決定し、
前記経路を使用して、前記リンク鍵で暗号化されたアプリケーション鍵を前記通信インターフェースに送らせる処理部と、
を備える鍵管理装置。
【0238】
技術案2
前記リソース情報は、前記経路の候補に含まれるリンク毎に算出される前記リンク鍵の生成速度、保有量及び消費速度の少なくとも1つに基づき算出されるリンク鍵の状態情報を含み、
前記処理部は、前記経路の候補に含まれるリンクで使用されるリンク鍵の状態情報に基づき、前記リンク鍵の生成速度、保有量及び消費速度の少なくとも1つから算出される値を、前記経路の候補に含まれるリンク毎に算出し、前記値が最小となるリンクを、リンクのボトルネックとして特定し、前記経路の候補に含まれる前記リンクのボトルネックに基づき前記経路を決定する、
技術案1に記載の鍵管理装置。
【0239】
技術案3
前記リソース情報は、前記経路の候補毎に算出された前記第2鍵共有ネットワークに接続される鍵管理装置までのホップ数を更に含み、
前記処理部は、前記ホップ数に更に基づき前記経路を決定する、
技術案2に記載の鍵管理装置。
【0240】
技術案4
ユーザネットワークにおけるアプリケーション間で通信の暗号化又は復号に使用されるアプリケーション鍵を、アプリケーションに送信する第1鍵管理装置と接続されるQKDN(Quantum Key Distribution Network)制御装置であって、
第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで、前記アプリケーション鍵を送るときに経由される鍵共有ネットワークを判断する第1基準値を算出し、
前記アプリケーション鍵を、前記第1鍵管理装置から前記第2鍵管理装置まで送るときに経由される鍵共有ネットワークを、前記第1基準値に基づき決定する処理部と、
前記経由される鍵共有ネットワークを示す経路情報を、前記第1鍵管理装置に送信する通信インターフェースと、
を備えるQKDN制御装置。
【0241】
技術案5
前記第1基準値は、判断対象の鍵共有ネットワークに含まれるリンクの通信の暗号化又は復号の少なくとも一方に使用され、前記判断対象の鍵共有ネットワークに含まれる複数の鍵管理装置で保有されているリンク鍵の残量の合計値、平均値、最小値及び中央値の少なくとも1つに基づき算出される、
技術案4に記載のQKDN制御装置。
【0242】
技術案6
前記第1基準値は、判断対象の鍵共有ネットワークの経路に含まれるリンクで使用されるリンク鍵の残量のボトルネック、及び、前記経路に含まれるリンクのホップ数の少なくとも一方に基づき算出される、
技術案4に記載のQKDN制御装置。
【0243】
技術案7
前記第1基準値は、判断対象の鍵共有ネットワークに含まれる複数の経路の候補のリンクで使用されるリンク鍵の残量のボトルネックの合計値及び平均値の少なくとも一方に基づき算出される、
技術案4に記載のQKDN制御装置。
【0244】
技術案8
前記第1基準値は、前記複数の経路の候補に含まれるリンクのホップ数の合計値又は平均値の少なくとも一方に、更に基づき算出される、
技術案7に記載のQKDN制御装置。
【0245】
技術案9
前記処理部は、前記経由される鍵共有ネットワークが、前記アプリケーション鍵のリレー経路に複数、含まれる場合、それぞれの鍵共有ネットワークの第1基準値から、前記アプリケーション鍵を送るときに経由される複数の前記鍵共有ネットワークを判断する第2基準値を算出し、前記第2基準値に基づき前記リレー経路を決定する、
技術案4乃至8のいずれか1項に記載のQKDN制御装置。
【0246】
技術案10
前記第2基準値は、複数の前記経由される鍵共有ネットワークの第1基準値のボトルネック及び平均値の少なくとも一方に基づき算出される、
技術案9に記載のQKDN制御装置。
【0247】
技術案11
技術案4乃至10のいずれか1項に記載のQKDN制御装置である、第1QKDN制御装置と、
前記第1鍵共有ネットワークに属する前記第1鍵管理装置と、
前記第1鍵管理装置から前記アプリケーション鍵を受信する第1アプリケーションと、
前記第2鍵共有ネットワークに属する前記第2鍵管理装置と、
前記第2鍵管理装置と接続される第2QKDN制御装置と、
前記第2鍵管理装置から前記アプリケーション鍵を受信する第2アプリケーションと、
を備える量子暗号通信システム。
【0248】
技術案12
QKDによってリンク鍵を生成する第1QKD装置及び第2QKD装置を更に備え、
前記第1QKD装置は、前記第1鍵管理装置に前記リンク鍵を送信し、
前記第2QKD装置は、前記第2鍵管理装置に前記リンク鍵を送信する、
技術案11に記載の量子暗号通信システム。
【0249】
技術案13
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と接続される第1鍵管理装置から、ユーザネットワークにおける宛先アプリケーションとの通信の暗号化又は復号に使用されるアプリケーション鍵を受信する通信インターフェースと、
送信元アプリケーションを動作させることによって、前記宛先アプリケーションとの通信を暗号化する処理部と、を備え、
前記アプリケーション鍵は、第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで送るときに経由される鍵共有ネットワークを判断する第1基準値に基づき決定された経路情報を使用して、前記第2鍵管理装置まで、前記リンク鍵により暗号化送信され、前記第2鍵管理装置から前記宛先アプリケーションに送信される、
情報処理装置。
【0250】
技術案14
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN(Quantum Key Distribution Network)制御装置とに接続される鍵管理装置の鍵管理方法であって、
鍵管理装置が、前記QKDN制御装置から、前記ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリケーション鍵を、宛先の鍵管理装置まで送る経路情報を受信するステップと、
前記鍵管理装置が、前記経路情報から、前記アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定するステップと、
前記鍵管理装置が、前記アプリケーションと接続される鍵管理装置から前記第2鍵共有ネットワークに接続される鍵管理装置までの前記第1鍵共有ネットワーク内の経路を、前記第1鍵共有ネットワークのリソース情報に基づき決定するステップと、
前記鍵管理装置が、前記経路を使用して、前記リンク鍵で暗号化されたアプリケーション鍵を通信インターフェースに送らせるステップと、
を含む鍵管理方法。
【0251】
技術案15
ユーザネットワークにおけるアプリケーション間で通信の暗号化又は復号に使用されるアプリケーション鍵を、アプリケーションに送信する第1鍵管理装置と接続されるQKDN(Quantum Key Distribution Network)制御装置のQKDN制御方法であって、
前記QKDN制御装置が、第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで、前記アプリケーション鍵を送るときに経由される鍵共有ネットワークを判断する第1基準値を算出するステップと、
前記QKDN制御装置が、前記アプリケーション鍵を、前記第1鍵管理装置から前記第2鍵管理装置まで送るときに経由される鍵共有ネットワークを、前記第1基準値に基づき決定するステップと、
前記QKDN制御装置が、前記経由される鍵共有ネットワークを示す経路情報を、前記第1鍵管理装置に送信するステップと、
を含むQKDN制御方法。
【0252】
技術案16
情報処理装置が、QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と接続される第1鍵管理装置から、ユーザネットワークにおける宛先アプリケーションとの通信の暗号化又は復号に使用されるアプリケーション鍵を受信するステップと、
前記情報処理装置が、送信元アプリケーションを動作させることによって、前記宛先アプリケーションとの通信を暗号化するステップと、を含み、
前記アプリケーション鍵は、第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで送るときに経由される鍵共有ネットワークを判断する第1基準値に基づき決定された経路情報を使用して、前記第2鍵管理装置まで、前記リンク鍵により暗号化送信され、前記第2鍵管理装置から前記宛先アプリケーションに送信される、
情報処理方法。
【0253】
技術案17
QKD(Quantum Key Distribution)によって、リンク鍵を生成するQKD装置と、ユーザネットワークのアプリケーションと、QKDN(Quantum Key Distribution Network)制御装置とに接続される鍵管理装置を、
前記QKDN制御装置から、前記ユーザネットワークにおける通信の暗号化又は復号に使用されるアプリケーション鍵を、宛先の鍵管理装置まで送る経路情報を受信する通信インターフェースと、
前記経路情報から、前記アプリケーションと接続される鍵管理装置が属する第1鍵共有ネットワークにあり、かつ、第2鍵共有ネットワークに接続される鍵管理装置を特定し、
前記アプリケーションと接続される鍵管理装置から前記第2鍵共有ネットワークに接続される鍵管理装置までの前記第1鍵共有ネットワーク内の経路を、前記第1鍵共有ネットワークのリソース情報に基づき決定し、
前記経路を使用して、前記リンク鍵で暗号化されたアプリケーション鍵を前記通信インターフェースに送らせる処理部、
として機能させるためのプログラム。
【0254】
技術案18
ユーザネットワークにおけるアプリケーション間で通信の暗号化又は復号に使用されるアプリケーション鍵を、アプリケーションに送信する第1鍵管理装置と接続されるQKDN(Quantum Key Distribution Network)制御装置を、
第1鍵共有ネットワークに属する前記第1鍵管理装置から、第2鍵共有ネットワークに属する第2鍵管理装置まで、前記アプリケーション鍵を送るときに経由される鍵共有ネットワークを判断する第1基準値を算出し、
前記アプリケーション鍵を、前記第1鍵管理装置から前記第2鍵管理装置まで送るときに経由される鍵共有ネットワークを、前記第1基準値に基づき決定する処理部と、
前記経由される鍵共有ネットワークを示す経路情報を、前記第1鍵管理装置に送信する通信インターフェース、
として機能させるためのプログラム。
【符号の説明】
【0255】
1 ノード
2 QKDモジュール
3 QKDリンク
4 QKDネットワークコントローラ
5 アプリケーション
6 QKDN制御装置
7 ユーザネットワーク制御装置
8 情報処理装置
9 権威ルートサーバ装置
10 鍵管理装置(KM)
11 通信部
12 記憶部
13 処理部
61 通信部
62 記憶部
63 処理部
81 通信部
82 記憶部
83 処理部
100 量子暗号通信ネットワーク
101 QKDリンクのネットワーク
102 鍵共有ネットワーク
103 データ通信ネットワーク
111 KM通信部
112 制御通信部
113 アプリ通信部
131 算出部
132 管理部
133 情報交換部
134 実行部
135 鍵処理部
136 提供部
137 制御部
138 プラットフォーム部
611 KM通信部
612 制御通信部
631 情報交換部
632 算出部
633 決定部
634 制御部
635 管理部
636 プラットフォーム部