JP2017092987A - Communication device, communication system, and program - Google Patents

Communication device, communication system, and program Download PDF

Info

Publication number
JP2017092987A
JP2017092987A JP2017021315A JP2017021315A JP2017092987A JP 2017092987 A JP2017092987 A JP 2017092987A JP 2017021315 A JP2017021315 A JP 2017021315A JP 2017021315 A JP2017021315 A JP 2017021315A JP 2017092987 A JP2017092987 A JP 2017092987A
Authority
JP
Japan
Prior art keywords
node
bottleneck
key
hops
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017021315A
Other languages
Japanese (ja)
Inventor
莉里香 高橋
Ririka Takahashi
莉里香 高橋
佳道 谷澤
Yoshimichi Tanizawa
佳道 谷澤
英昭 佐藤
Hideaki Sato
英昭 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017021315A priority Critical patent/JP2017092987A/en
Publication of JP2017092987A publication Critical patent/JP2017092987A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To perform efficient routing so that the amount of consumed encryption keys in an entire system becomes small while avoiding consumption and depletion of encryption keys at a particular node and keeping throughput.SOLUTION: A communication device is connected with a plurality of external devices. The communication device comprises an acquisition unit and a selection unit. The acquisition unit acquires resource information representing resources of encryption keys that can be provided by the external devices. The selection unit selects one route on the basis of a bottle neck and the number of hops on routes of the resources represented by the resource information among a plurality of routes leading to the external devices.SELECTED DRAWING: Figure 1

Description

本発明の実施形態は、通信装置、通信システムおよびプログラムに関する。   Embodiments described herein relate generally to a communication device, a communication system, and a program.

複数のリンクによって相互に接続され、ネットワーク化された複数のノードから構成される鍵共有ネットワークが知られている。各ノードは、リンクによって接続されたノード間で乱数を生成して共有する機能と、生成された乱数を暗号鍵(以下、リンク鍵)として利用して、リンク上で暗号通信を行う機能とを備える。また、ノードのうちの幾つかは、リンクとは独立に乱数である暗号鍵(以下、アプリケーション鍵)を生成する機能と、別のノードに対し、生成したアプリケーション鍵をリンクを介して送信する機能と、を備える。   There is known a key sharing network composed of a plurality of nodes connected to each other by a plurality of links. Each node has a function of generating and sharing a random number between nodes connected by a link, and a function of performing encrypted communication on a link using the generated random number as an encryption key (hereinafter referred to as a link key). Prepare. Also, some of the nodes have a function of generating a cryptographic key (hereinafter referred to as an application key) that is a random number independent of the link, and a function of transmitting the generated application key to another node via the link. And comprising.

鍵共有ネットワークにおけるアプリケーションは、ノードからアプリケーション鍵を取得し、これを暗号鍵として利用して、別のアプリケーションとの間で暗号通信を行う機能を備える。このときの暗号通信は、鍵共有ネットワークとは異なる、インターネット等のネットワーク(以下、アプリケーションネットワーク)によってなされてよい。また、ノードとアプリケーションとは一体として実現されてもよい。ノードとアプリケーションとを独立した端末として構成し、両端末の間でアプリケーション鍵を送受信するようにしてもよい。   An application in the key sharing network has a function of acquiring an application key from a node and using this as an encryption key to perform encrypted communication with another application. The encryption communication at this time may be performed by a network such as the Internet (hereinafter referred to as an application network) different from the key sharing network. Further, the node and the application may be realized as an integrated unit. The node and the application may be configured as independent terminals, and an application key may be transmitted and received between both terminals.

ノードにおいて、リンクによって接続されたノード間で乱数(リンク鍵)を生成・共有する機能は、例えば、一般に量子暗号または量子鍵配送(QKD(Quantum Key Distribution))と呼ばれる技術により実現する。   The function of generating and sharing a random number (link key) between nodes connected by a link in a node is realized by a technique generally called quantum cryptography or quantum key distribution (QKD), for example.

Dianati, M., Alleaume, R., Gagnaire, M. and Shen, X. (2008), Architecture and protocols of the future European quantum key distribution network. Security and Communication Networks, 1: 57-74. DOI: 10.1002/sec.13Dianati, M., Alleaume, R., Gagnaire, M. and Shen, X. (2008), Architecture and protocols of the future European quantum key distribution network. Security and Communication Networks, 1: 57-74. DOI: 10.1002 / sec.13 Kollmitzer C., Pivk M. (Eds.), Applied Quantum Cryptography, Lect. Notes Phys. 797 (Springer, Berlin Heidelberg 2010), p155-p168, DOI 10.1007/978-3-642-04831-9Kollmitzer C., Pivk M. (Eds.), Applied Quantum Cryptography, Lect. Notes Phys. 797 (Springer, Berlin Heidelberg 2010), p155-p168, DOI 10.1007 / 978-3-642-04831-9

量子鍵配送では、鍵共有ネットワークの中のノード間でアプリケーション鍵を共有するためのルーティング、すなわち、複数のノードを介したアプリケーション鍵の転送が行われる。従って、量子暗号通信システムでは、アプリケーション鍵の転送に用いられるリンク鍵の消費および枯渇を避けつつ、効率的にルーティングを行うことが望ましい。   In quantum key distribution, routing for sharing an application key between nodes in a key sharing network, that is, transfer of an application key through a plurality of nodes is performed. Therefore, in a quantum cryptography communication system, it is desirable to perform routing efficiently while avoiding consumption and depletion of link keys used for transferring application keys.

実施形態の通信装置は、複数の外部装置と接続される。通信装置は、取得部と、選択部と、を備える。取得部は、外部装置が提供可能な暗号鍵のリソースを表すリソース情報を取得する。選択部は、外部装置に到達する複数の経路のうち、リソース情報が表すリソースの経路上のボトルネックと、ホップ数とに基づいて、1の経路を選択する。   The communication device of the embodiment is connected to a plurality of external devices. The communication device includes an acquisition unit and a selection unit. The acquisition unit acquires resource information indicating a cryptographic key resource that can be provided by an external device. The selection unit selects one route based on the bottleneck on the route of the resource represented by the resource information and the number of hops among the plurality of routes reaching the external device.

実施形態における量子暗号通信システムの構成図。The block diagram of the quantum cryptography communication system in embodiment. 鍵共有ネットワークでの暗号鍵の共有手順を示す図。The figure which shows the sharing procedure of the encryption key in a key sharing network. OSPFの手順の一例を示す図。The figure which shows an example of the procedure of OSPF. メトリックについて説明するための図。The figure for demonstrating a metric. パスのホップ数の比較例を示す図。The figure which shows the comparative example of the hop number of a path | pass. 本実施形態におけるノードのブロック図。The block diagram of the node in this embodiment. 実施形態のルーティングアルゴリズムを説明するための図。The figure for demonstrating the routing algorithm of embodiment. 実施形態のルーティングアルゴリズムを説明するための図。The figure for demonstrating the routing algorithm of embodiment. 実施形態のルーティングアルゴリズムを説明するための図。The figure for demonstrating the routing algorithm of embodiment. 実施形態のルーティングアルゴリズムを説明するための図。The figure for demonstrating the routing algorithm of embodiment. 実施形態のルーティングアルゴリズムを説明するための図。The figure for demonstrating the routing algorithm of embodiment. 本実施形態におけるパス選択処理のフローチャート。The flowchart of the path | pass selection process in this embodiment. ネットワーク構成例を示す図。The figure which shows the network structural example. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. ルーティングの手順を示す図。The figure which shows the procedure of routing. 変形例における量子暗号通信システムの構成図。The block diagram of the quantum cryptography communication system in a modification. 本実施形態にかかる通信装置のハードウェア構成図。The hardware block diagram of the communication apparatus concerning this embodiment.

以下に添付図面を参照して、この発明にかかる通信装置の好適な実施形態を詳細に説明する。   Exemplary embodiments of a communication apparatus according to the present invention will be explained below in detail with reference to the accompanying drawings.

量子鍵配送で暗号鍵を共有するための経路(パス)を決定するプロトコル(ルーティングプロトコル)としてはOSPF(Open Shortest Path Fast)が用いられることがある。OSPFは、ルーティング(経路制御)を行うためのメトリックとして距離(各パスに含まれるリンクのコストの和)を用いる。   OSPF (Open Shortest Path Fast) may be used as a protocol (routing protocol) for determining a path (path) for sharing an encryption key in quantum key distribution. OSPF uses distance (the sum of the costs of links included in each path) as a metric for performing routing (route control).

量子暗号通信システムの各ノードは、鍵共有ネットワークを利用してアプリケーション鍵の共有を行う。ノードは、アプリケーション鍵をリンク鍵で暗号化して交換する際、リンク鍵を消費する。ノードは、リンク鍵をワンタイムパッドで利用するため、すなわち、一度利用したリンク鍵を捨てるためである。従って、共有しているリンク鍵の量またはリンク鍵を共有する速度以上の速さで、アプリケーション鍵を交換および中継することはできない。複数のノードを介してアプリケーション鍵を交換する場合、アプリケーション鍵の共有速度は、リンク鍵の最も少ないリンク、または、リンク鍵の共有速度が最も低いリンクに律速される。量子暗号通信システムにおける暗号通信のスループットは、このようなリンクがボトルネックとなり制約を受ける。または、リンク鍵が枯渇したリンクでは通信そのものができなくなる。量子暗号通信システムでは、できるだけこのようなボトルネックとなるリンクを避けて、効率的なパスを選択してアプリケーション鍵を共有することが望まれる。   Each node of the quantum cryptography communication system shares an application key using a key sharing network. The node consumes the link key when exchanging the application key encrypted with the link key. The node uses the link key in the one-time pad, that is, discards the link key once used. Therefore, the application key cannot be exchanged and relayed at a speed higher than the amount of the shared link key or the speed at which the link key is shared. When exchanging application keys via a plurality of nodes, the sharing speed of the application keys is limited to the link having the smallest link key or the link having the lowest link key sharing speed. The throughput of cryptographic communication in the quantum cryptography communication system is restricted by such a bottleneck. Alternatively, communication itself cannot be performed on a link whose link key is exhausted. In a quantum cryptography communication system, it is desirable to avoid such a bottleneck link as much as possible and to select an efficient path and share an application key.

一方、システム全体のリンク鍵の消費量に着目すると、多くのリンクを経由するパスほどリンク鍵の消費量が多いと言える。リンク鍵はアプリケーション鍵を共有する際に用いられるため、アプリケーションのスループットを決定する貴重なシステムリソースである。このため、システム全体としては、経由するリンクを少なくし、リンク鍵の消費量を抑えることが望ましい。   On the other hand, when attention is paid to the link key consumption of the entire system, it can be said that the path passing through many links has more link key consumption. Since the link key is used when sharing the application key, it is a valuable system resource that determines the throughput of the application. For this reason, as a whole system, it is desirable to reduce the number of links through which the consumption of link keys is reduced.

このように、量子暗号通信システムでは、リンク鍵をシステムにおける制約リソース(鍵リソース)と考えると、鍵の消費および枯渇を避けつつ、効率的にルーティングを行うことが望ましい。   As described above, in the quantum cryptography communication system, when the link key is considered as a constraint resource (key resource) in the system, it is desirable to perform routing efficiently while avoiding consumption and depletion of the key.

そこで、本実施形態にかかる通信システムは、リンク鍵の消費をできるだけ抑制し、効率的にアプリケーション鍵の共有を行うためのルーティングアルゴリズムを実現する。これにより、特定のノードにおけるリンク鍵の枯渇を避けつつ、スループットを維持しながら、システム全体でのリンク鍵の消費量を小さくすることが可能となる。   Therefore, the communication system according to the present embodiment realizes a routing algorithm for suppressing the consumption of link keys as much as possible and efficiently sharing application keys. As a result, the consumption of link keys in the entire system can be reduced while maintaining throughput while avoiding depletion of link keys in a specific node.

例えば、本実施形態にかかる通信システムは、アプリケーションへ提供可能な暗号鍵のリソース(鍵リソース)を表すリソース情報を算出するアルゴリズムをルーティングプロトコルの一部として利用する。これにより、経路選択(パス選択)のメトリックは鍵リソースのボトルネック(ボトルネックを示す値)となり、鍵枯渇を回避するパス選択となる。本実施形態にかかる通信システムは、さらにホップ数をメトリックとして採用する。これにより、リンク鍵の消費量を抑える経路を選択できる。   For example, the communication system according to the present embodiment uses an algorithm for calculating resource information representing a cryptographic key resource (key resource) that can be provided to an application as part of a routing protocol. As a result, the path selection (path selection) metric becomes a bottleneck (a value indicating a bottleneck) of the key resource, and the path selection avoids key depletion. The communication system according to the present embodiment further employs the number of hops as a metric. This makes it possible to select a path that suppresses the consumption of the link key.

なお、ボトルネックを示す値とは、例えばボトルネックとなる部分のリソースの値である。後述するように、例えばパスに含まれる各リンクのコスト(リソース)の最小値が、ボトルネックを示す値となる。以下では、ボトルネックを示す値を単にボトルネックという場合がある。   The value indicating the bottleneck is, for example, the value of the resource of the part that becomes the bottleneck. As will be described later, for example, the minimum value of the cost (resource) of each link included in the path is a value indicating a bottleneck. Hereinafter, a value indicating a bottleneck may be simply referred to as a bottleneck.

鍵共有ネットワークを構成する各ノードは、利用可能な鍵リソース情報、およびネットワーク情報を相互に交換する。各ノードは、アプリケーション鍵を共有するためのパスに関し、鍵リソースのボトルネック、および、ホップ数を算出する。各ノードは、鍵リソースのボトルネックおよびホップ数をメトリックとして、以下の述べるアルゴリズムを用いて、鍵の生成速度が遅く、鍵保有量が少ないようなリンクの鍵枯渇を回避し、同時にシステム全体における鍵消費を抑制するパスを選択する。   Each node constituting the key sharing network exchanges available key resource information and network information with each other. Each node calculates the bottleneck of the key resource and the number of hops regarding the path for sharing the application key. Each node uses a key resource bottleneck and the number of hops as a metric to avoid the key depletion of links where the key generation speed is low and the key holding amount is low, and at the same time Select a path to suppress key consumption.

なお、ボトルネックの回避、および、ホップ数の削減は、異なるメトリックであり、これを評価する順序や重み付けにより、いくつかのバリエーションがありえる。ノードは、例えば以下の(A)または(B)の手順により、あるリンクのリンク鍵の枯渇を避け、システム全体における鍵消費を抑制するパスを選択する。
(A)メトリック[鍵リソースのボトルネック]が同一のパスに対して、メトリック[ホップ数]を考慮したパス選択を行う。
(B)ボトルネックおよびホップ数の両方を考慮した単一のメトリックを用いてパス選択を行う。
It should be noted that avoiding bottlenecks and reducing the number of hops are different metrics, and there may be some variations depending on the order of evaluation and weighting. The node selects a path that avoids exhaustion of the link key of a link and suppresses key consumption in the entire system, for example, by the following procedure (A) or (B).
(A) Path selection considering the metric [number of hops] is performed for paths having the same metric [bottleneck of key resource].
(B) Path selection is performed using a single metric that considers both the bottleneck and the number of hops.

さらに、鍵リソースの大きな変動が発生したことを契機としてルーティングプロトコルの再実行を行うように構成してもよい。   Furthermore, the routing protocol may be re-executed when a large change in the key resource occurs.

なお、メトリックの一例として鍵リソースのボトルネックとパスのホップ数とを採用したが、それ以外の要素もメトリックとなり得る。また、メトリックの要素として1つ目にボトルネックを採用し、次の要素としてホップ数を評価したが、これらを評価する順序は逆であっても構わない。すなわち、メトリックとしてパスのホップ数によってルーティングを行い、ホップ数が等しい場合にボトルネックを評価してもよい。そして、鍵リソースのボトルネックとパスのホップ数のそれぞれを、メトリックに反映させる度合いを調整することも可能である。これは、例えば鍵リソースのボトルネックとパスのホップ数とを重み付けしてメトリックを計算することで可能となる。   In addition, although the bottleneck of the key resource and the number of hops of the path are adopted as an example of the metric, other elements can also be the metric. Further, the bottleneck is adopted as the first metric element, and the hop count is evaluated as the next element. However, the order of evaluating these may be reversed. That is, routing may be performed based on the number of hops of the path as a metric, and the bottleneck may be evaluated when the number of hops is equal. It is also possible to adjust the degree of reflecting each of the bottleneck of the key resource and the number of hops of the path in the metric. This is possible, for example, by calculating a metric by weighting the bottleneck of the key resource and the number of hops of the path.

鍵リソースのボトルネックを考慮することは、アプリケーション鍵を共有する速度(スループット)、または、あるリンクにおけるリンク鍵の枯渇に関する回避性向に関係する。また、ホップ数を考慮することはシステム全体の鍵の消費量に関係する。量子暗号通信システムを適応するアプリケーションに応じて、メトリックを使い分けるとよい。   Considering the bottleneck of the key resource relates to the speed of sharing the application key (throughput) or the avoidance propensity for link key depletion on a link. Also, considering the number of hops is related to the key consumption of the entire system. Depending on the application to which the quantum cryptography communication system is applied, the metric should be used properly.

図1は、本実施形態における量子暗号通信システムの構成例を示す図である。なお、図1は、ノードとアプリケーションとが独立に実現される場合の一例である。通信システムは、通信装置としてのノード100a〜100eと、アプリケーション200a、200bと、を含む。ノード100a〜100eは、鍵共有ネットワーク502によりリンク鍵(リンク鍵301〜304)を共有する。アプリケーション200a、200bは、アプリケーションネットワーク501によりアプリケーション鍵(アプリケーション鍵401〜402)を用いた暗号通信を行う。   FIG. 1 is a diagram illustrating a configuration example of a quantum cryptography communication system according to the present embodiment. FIG. 1 is an example of a case where a node and an application are realized independently. The communication system includes nodes 100a to 100e as communication devices and applications 200a and 200b. The nodes 100a to 100e share a link key (link keys 301 to 304) through the key sharing network 502. The applications 200a and 200b perform encrypted communication using application keys (application keys 401 to 402) via the application network 501.

ノード100a〜100eを区別する必要がない場合は、単にノード100という場合がある。アプリケーション200a、200bを区別する必要がない場合は、単にアプリケーション200という場合がある。ノード100の個数は5に限られるものではない。また、アプリケーション200の個数は2に限られるものではない。   When there is no need to distinguish the nodes 100a to 100e, the node 100 may be simply referred to as a node 100. When there is no need to distinguish between the applications 200a and 200b, the application 200a may be simply referred to as an application 200. The number of nodes 100 is not limited to five. Further, the number of applications 200 is not limited to two.

ノード100a〜100eは、上述のように、対向ノードとの間で乱数を生成して共有する機能と、生成した乱数をリンク鍵として利用して、鍵共有ネットワーク502上で暗号通信を行う機能とを備える。ノード100は、リンクとは独立に乱数を生成する機能と、別のノードに対して生成した乱数を送信する機能とを備えてもよい。   As described above, the nodes 100a to 100e have a function of generating and sharing a random number with an opposite node, and a function of performing cryptographic communication on the key sharing network 502 using the generated random number as a link key. Is provided. The node 100 may have a function of generating a random number independently of the link and a function of transmitting the generated random number to another node.

図2は、鍵共有ネットワークでの暗号鍵の共有手順の一例を示す図である。ノード100は、他のノード100との間でリンク鍵を生成する。図2では、ノード100aとノード100cとの間でリンク鍵302が共有される例、および、ノード100cとノード100eとの間でリンク鍵303が共有される例が示されている。   FIG. 2 is a diagram illustrating an example of an encryption key sharing procedure in the key sharing network. The node 100 generates a link key with another node 100. FIG. 2 shows an example in which the link key 302 is shared between the node 100a and the node 100c, and an example in which the link key 303 is shared between the node 100c and the node 100e.

この後、各ノード100は、アプリケーション鍵を共有するためのルーティングを行う。そして、各ノード100は、ルーティングにより決定されたパスにおいて、リンク鍵を用いてアプリケーション鍵を共有(転送)する。図2では、ノード100aおよびノード100eの間でアプリケーション鍵が共有され、それぞれアプリケーション鍵401および402が提供される例が示されている。   Thereafter, each node 100 performs routing for sharing the application key. Each node 100 shares (transfers) the application key using the link key in the path determined by the routing. FIG. 2 shows an example in which an application key is shared between the node 100a and the node 100e, and application keys 401 and 402 are provided, respectively.

次に、既存のルーティングプロトコルであるOSPFを利用して、鍵共有ネットワークのルーティングテーブルを決定する手順について説明する。OSPFでは、ノード100はリンクステートと呼ばれるメッセージを送信し、ノード100が接続しているリンクの状態、そのリンクのネットワークアドレス、および、リンクごとのコストなどの情報を他のノード100と共有する。リンクステートには、あるノード100が、他のいずれのノード100に、どのように接続しているか、という情報(ネットワーク情報)が含まれる。リンクステートを受け取った各ノード100は、ネットワーク情報に基づいて、ネットワーク構成を把握する。そして、ネットワーク構成を表す表(リンクステートデータベース)を構築する。各ノード100は、リンクステートデータベースからダイクストラ(Dijkstra)アルゴリズムを用いて、自身を始点とした最短パスツリーを作成し、ルーティングテーブルを作成する。   Next, a procedure for determining the routing table of the key sharing network using OSPF, which is an existing routing protocol, will be described. In OSPF, the node 100 transmits a message called a link state, and shares information such as the state of the link to which the node 100 is connected, the network address of the link, and the cost for each link with other nodes 100. The link state includes information (network information) indicating how a certain node 100 is connected to any other node 100. Each node 100 that has received the link state grasps the network configuration based on the network information. Then, a table (link state database) representing the network configuration is constructed. Each node 100 creates a shortest path tree starting from itself using a Dijkstra algorithm from the link state database, and creates a routing table.

図3は、OSPFの手順の一例を示す図である。各ノード100は、図3の(1)〜(4)に示すような手順でOSPFによってルーティングを行う。
(1)他のノード100との間でリンクステートを共有する。リンクステートは、例えば接続しているリンクの状態、ネットワークアドレス、および、リンクごとのコストを含む。
(2)各ノード100は、リンクステートを参照し、ネットワーク構成を表す表(リンクステートデータベース)を作成する。
(3)リンクステートデータベースからダイクストラアルゴリズムを用いて、自身を始点とした最短パスツリーを作成する。
(4)最短パスツリーからルーティングテーブル(例えばIPアドレスとネクストホップとを対応づけたテーブル)を作成する。
FIG. 3 is a diagram illustrating an example of the procedure of OSPF. Each node 100 performs routing by OSPF according to the procedure shown in (1) to (4) of FIG.
(1) The link state is shared with other nodes 100. The link state includes, for example, the state of the connected link, the network address, and the cost for each link.
(2) Each node 100 refers to the link state and creates a table (link state database) representing the network configuration.
(3) Using the Dijkstra algorithm from the link state database, create a shortest path tree starting from itself.
(4) A routing table (for example, a table in which an IP address is associated with a next hop) is created from the shortest path tree.

以上が、鍵共有ネットワークにおける基本的なルーティングテーブル決定の手順である。本実施形態は、上述の手順のうち、主に(3)の最短パスツリーの作成に関する。それ以外の(1)、(2)および(4)は、従来と同様の手順で実行できる。ただし、後述のとおり、(1)の手順によって共有される情報の一部に、本実施形態特有の情報が含まれる。   The basic routing table determination procedure in the key sharing network has been described above. The present embodiment mainly relates to the creation of the shortest path tree (3) among the above-described procedures. Other (1), (2) and (4) can be executed in the same procedure as in the prior art. However, as will be described later, information unique to the present embodiment is included in a part of the information shared by the procedure (1).

ここで、本実施形態のルーティングプロトコルにおけるメトリック算出方法について説明する。初めに、鍵共有ネットワークを構成する各リンクと各ノード100に対応づけられるデータは以下のとおりとする。
リンクに対応づけられるデータ:
・コスト(リソース情報):鍵生成速度
・コスト(リソース情報):鍵保有量
ノード100に対応づけられるデータ:
・ネットワークの構成を表すデータベース(リンクステートデータベース)
・最短パスツリーとしての確定情報
・始点から他のノード100までのボトルネック
・始点から他のノード100までのホップ数
・ネクストホップ
Here, a metric calculation method in the routing protocol of this embodiment will be described. First, the data associated with each link and each node 100 configuring the key sharing network is as follows.
Data associated with the link:
Cost (resource information): Key generation speed Cost (resource information): Key holding amount Data associated with the node 100:
・ Database representing the network configuration (link state database)
・ Final information as the shortest path tree ・ Bottleneck from the start point to the other node 100 ・ Number of hops from the start point to the other node 100 ・ Next hop

本実施形態では、リンクに対応づけられるデータとして、リンク鍵の生成速度(鍵生成速度)、および、リンク鍵の保有量(鍵保有量)の2種類のコスト(リソース情報)を用いる。鍵生成速度は、ノード100間で量子鍵配送を行うことでリンク鍵を共有する速度を表す。鍵生成速度は、リンクに接続されて動作するノード100の設定パラメータや環境の影響によって、リンクごとに異なる。鍵保有量は、複数のノード100間で量子鍵配送を行うことで共有した鍵のうち、まだ使用していない鍵の量である。鍵保有量は、量子鍵配送を行うことによって増加し、鍵ルーティングでリンク鍵を利用することによって消費される(減少する)。本実施形態では、リンクのコストとしてこれら2つを扱う。以下では、これらを鍵リソースと総称する。なお、鍵リソースはこれに限られるものではない。例えば、鍵生成速度のみ、または、鍵保有量のみを鍵リソースとして用いてもよい。   In the present embodiment, two types of costs (resource information) are used as data associated with a link, a link key generation rate (key generation rate) and a link key retention amount (key retention amount). The key generation speed represents a speed at which a link key is shared by performing quantum key distribution between the nodes 100. The key generation speed varies from link to link depending on the setting parameters of the node 100 operating by being connected to the link and the influence of the environment. The key holding amount is an amount of a key that has not been used yet among keys shared by performing quantum key distribution among a plurality of nodes 100. The key holding amount increases by performing quantum key distribution, and is consumed (decreases) by using a link key in key routing. In the present embodiment, these two are handled as link costs. Hereinafter, these are collectively referred to as key resources. The key resource is not limited to this. For example, only the key generation rate or only the key holding amount may be used as the key resource.

上記のように、各ノード100は、最短パスを計算するときに必要となる情報として、エリア内のネットワークの構成(接続関係)を表すリンクステートデータベースを持っている。また、各ノード100は、最短パスツリーとしての確定情報、始点から他の各ノード100までの各リンクのコスト(リソース情報)、始点から他の各ノード100までのホップ数、および、ネクストホップを持つ。   As described above, each node 100 has a link state database representing the network configuration (connection relationship) in the area as information necessary for calculating the shortest path. Each node 100 also has definite information as a shortest path tree, the cost (resource information) of each link from the start point to each other node 100, the number of hops from the start point to each other node 100, and the next hop. .

最短パスツリーとしての確定情報は、外部装置(他のノード100)ごとに、当該ノード100までの最短パスが確定しているかどうかを表す。確定していない場合は、そのノード100までのパスは最短パスの候補(最短パス候補)に過ぎないことを表す。   The confirmation information as the shortest path tree indicates whether or not the shortest path to the node 100 is confirmed for each external device (another node 100). When it is not determined, it indicates that the path to the node 100 is only the shortest path candidate (shortest path candidate).

始点から他のノード100までのボトルネックは、他のノード100に到達するための最短パス候補を経由するときのリンクのコスト(リソース情報)のボトルネックを表す。始点から他のノード100までのホップ数は、他のノード100に到達するための最短パス候補を経由するときのホップ数を表す。始点から他のノード100までの各リンクのコスト、および、始点から他のノード100までのホップ数は、他のノード100ごとに保持される。   The bottleneck from the starting point to the other node 100 represents the bottleneck of the cost (resource information) of the link when passing through the shortest path candidate for reaching the other node 100. The number of hops from the start point to the other node 100 represents the number of hops when passing through the shortest path candidate for reaching the other node 100. The cost of each link from the start point to the other node 100 and the number of hops from the start point to the other node 100 are held for each other node 100.

ネクストホップは、最短パスの候補となるネクストホップを表す。   The next hop represents a next hop that is a candidate for the shortest path.

OSPFにおけるダイクストラアルゴリズムでは、メトリックは距離であった。一方、本実施形態の鍵消費抑制ルーティングプロトコルでは、距離ではなく、パスにおけるボトルネックをメトリックの算出に用いる。アプリケーション鍵を共有するノード100間の、鍵生成速度と鍵保有量とを一定の値以上に保ち、アプリケーションネットワークにおけるデータ通信速度に支障が生じないようにするために、ボトルネックをメトリックとして導入する。   In the Dijkstra algorithm in OSPF, the metric was distance. On the other hand, in the key consumption suppression routing protocol of this embodiment, a bottleneck in a path is used for calculation of a metric, not a distance. A bottleneck is introduced as a metric in order to keep the key generation speed and the key holding amount between the nodes 100 sharing the application key at a certain value or more and to prevent the data communication speed in the application network from being hindered. .

図4は、メトリックについて説明するための図である。図4を例に、メトリックとしての距離およびボトルネックについて説明する。図4のリンクに付された数値がコストを表す。   FIG. 4 is a diagram for explaining the metric. Using FIG. 4 as an example, distances and bottlenecks as metrics will be described. The numerical value attached to the link in FIG. 4 represents the cost.

距離をメトリックとする場合、図4のsからtまでのパスに含まれる各リンクのコストの和がパスのメトリック(距離)となる。ボトルネックをメトリックとする場合、sからtまでのパスに含まれる各リンクのコストの最小値がメトリック(ボトルネック)となる。   When the distance is a metric, the sum of the costs of each link included in the path from s to t in FIG. 4 is the path metric (distance). When the bottleneck is a metric, the minimum value of the cost of each link included in the path from s to t is the metric (bottleneck).

図4の例では、距離は、パスに含まれる各リンクのコストの和なので、4+3+8=15となる。すなわち、このパスのメトリックは15となる。一方、ボトルネックは、パスに含まれる各リンクのコストの最小値なので、min{4,3,8}=3となる。すなわち、このパスのメトリックは3となる。   In the example of FIG. 4, the distance is 4 + 3 + 8 = 15 because it is the sum of the costs of the links included in the path. That is, the metric for this path is 15. On the other hand, since the bottleneck is the minimum value of the cost of each link included in the path, min {4, 3, 8} = 3. That is, the metric for this path is 3.

上述のように、OSPFでは、メトリックを距離としてダイクストラアルゴリズムを行うが、鍵消費抑制ルーティングプロトコルではメトリックにボトルネックを採用してルーティングの処理を行う。しかし、仮にボトルネックのみをメトリックとすると、同一のボトルネックを持つパスが複数含まれるときの判断基準が存在しないため、パスの評価順序などの実装や対象ネットワークの形態によっては、ホップ数が多い遠回りのパスを選択する可能性がある。すなわち、システムのリンク鍵消費量を増大させる可能性がある。   As described above, in OSPF, the Dijkstra algorithm is performed using a metric as a distance, but in the key consumption suppression routing protocol, a bottleneck is adopted for the metric to perform routing processing. However, if only the bottleneck is used as a metric, there are no criteria for judging when there are multiple paths with the same bottleneck, so there are many hops depending on the implementation of the path evaluation order and the form of the target network. There is a possibility of selecting a detour path. That is, there is a possibility of increasing the link key consumption of the system.

図5は、ボトルネックをメトリックとして得られるパスのホップ数の比較例を示す図である。図5では、ノードに振られた番号がノード番号を表し、リンクに振られた番号がリンクのコストを表す。以下ではノード番号n(nは1以上の整数)のノードをノードnと表す場合がある。   FIG. 5 is a diagram illustrating a comparative example of the number of hops of a path obtained using a bottleneck as a metric. In FIG. 5, the number assigned to the node represents the node number, and the number assigned to the link represents the cost of the link. Hereinafter, a node having a node number n (n is an integer of 1 or more) may be represented as a node n.

ノード1→ノード2→ノード3→ノード4→ノード5→ノード6のパスAは、ボトルネックが3、ホップ数が5となる。一方、ノード1→ノード3→ノード5→ノード6のパスBも、ボトルネックは3であるもののホップ数は3となる。パスに含まれる各リンクでボトルネック分のリンク鍵を消費すると考えると、パスAでは15のリンク鍵を消費する。これに対し、パスBでは9のリンク鍵の消費に抑えることができる。よって、ホップ数の多いパスAに比べてホップ数の少ないパスBの方がシステム全体の鍵消費を抑えることができる。   The path A of node 1 → node 2 → node 3 → node 4 → node 5 → node 6 has 3 bottlenecks and 5 hops. On the other hand, the path B of node 1 → node 3 → node 5 → node 6 also has a hop count of 3 although the bottleneck is 3. Assuming that each link included in the path consumes a link key corresponding to the bottleneck, the path A consumes 15 link keys. On the other hand, in the path B, consumption of 9 link keys can be suppressed. Therefore, the path B with the smaller number of hops can suppress the key consumption of the entire system than the path A with the larger number of hops.

そこで、メトリックとしてパスのボトルネックに加え、送信元のノード100からあて先のノード100までのパスのホップ数を追加する。こうすることで、ボトルネックが等しいパスの中で、さらにホップ数が少ないパスが選ばれることになり、システム全体の鍵消費をより抑制するルーティングが可能となる。   Therefore, in addition to the path bottleneck, the hop count of the path from the transmission source node 100 to the destination node 100 is added as a metric. By doing so, a path with a smaller number of hops is selected among paths having the same bottleneck, and routing that further suppresses key consumption of the entire system is possible.

図6は、本実施形態におけるノード100の機能構成例を示すブロック図である。ノード100は、制御部101と、管理部102と、プラットフォーム部103と、通信部104と、ルーティング処理部110とを備えている。ルーティング処理部110は、記憶部121と、取得部111と、カウント部112と、算出部113と、選択部114とを備えている。   FIG. 6 is a block diagram illustrating a functional configuration example of the node 100 in the present embodiment. The node 100 includes a control unit 101, a management unit 102, a platform unit 103, a communication unit 104, and a routing processing unit 110. The routing processing unit 110 includes a storage unit 121, an acquisition unit 111, a count unit 112, a calculation unit 113, and a selection unit 114.

記憶部121は、ルーティングテーブル、および、各ノード100のリソース情報などの各種情報を記憶する。例えば、記憶部121は、ノード100ごとに、当該ノード100から取得されたリソース情報(鍵生成速度、鍵保有量)を記憶する。   The storage unit 121 stores various information such as a routing table and resource information of each node 100. For example, the storage unit 121 stores, for each node 100, resource information (key generation speed, key holding amount) acquired from the node 100.

取得部111は、他のノード100から、当該ノード100が提供可能なリンク鍵のリソース情報、および、ネットワーク情報を取得する。   The acquisition unit 111 acquires resource information and network information of a link key that can be provided by the node 100 from another node 100.

カウント部112は、例えばネットワーク情報を参照し、他のノード100に到達するまでの最短パス候補のホップ数を求める。   For example, the count unit 112 refers to the network information and obtains the number of hops of the shortest path candidate until the other node 100 is reached.

算出部113は、ボトルネックとホップ数とからメトリックを算出する。以下に、上述した(A)および(B)それぞれの、より具体的なメトリック算出方法の例を示す。
(A1)ボトルネックとホップ数を別の領域に用意し、ボトルネックが等しい場合にホップ数を比較する。
(B1)ボトルネック(BN)とホップ数(Hop)とを含むメトリック(metric)を算出する1つの算出式を作っておく。以下に算出式の例を2つ示す。
metric=BN+1/(Hop)・・・(E1)
metric=BN+(1−Hop/10)・・・(E2)
The calculation unit 113 calculates a metric from the bottleneck and the number of hops. Below, the example of the more concrete metric calculation method of each of (A) and (B) mentioned above is shown.
(A1) The bottleneck and the number of hops are prepared in different areas, and the number of hops is compared when the bottleneck is equal.
(B1) One calculation formula is calculated for calculating a metric including a bottleneck (BN) and the number of hops (Hop). Two examples of calculation formulas are shown below.
metric = BN + 1 / (Hop) (E1)
metric = BN + (1-Hop / 10) (E2)

例えばBN=4、Hop=2のとき、式E1では、metric=4+1/2=4.5となる。例えばBN=4、Hop=2のとき、式E2では、metric=4+(1−2/10)=4.8となる。   For example, when BN = 4 and Hop = 2, in equation E1, metric = 4 + 1/2 = 4.5. For example, when BN = 4 and Hop = 2, in formula E2, metric = 4 + (1-2 / 10) = 4.8.

(A1)では、各ノード100までのボトルネックとホップ数とをそれぞれ保持し、ボトルネックが等しい場合にのみホップ数の比較を行う。(B1)では、メトリックを表す算出式を予め作っておき、各ノード100までのボトルネックとホップ数とからメトリックを算出しておく。   In (A1), the bottleneck and the number of hops up to each node 100 are held, and the number of hops is compared only when the bottleneck is equal. In (B1), a calculation formula representing a metric is created in advance, and the metric is calculated from the bottleneck and the number of hops to each node 100.

(A1)および(B1)でメトリック算出の結果は同じになる。(B1)を利用した場合、既存のダイクストラアルゴリズムと同様に、利用するメトリックの種類が一種類となる。このため、既存の実装の多くを再利用できる可能性がある。ただし、(B1)を利用した場合、正確なメトリック算出が可能なのは、ホップ数が10以下である場合に限られる点に注意が必要である。   The result of the metric calculation is the same in (A1) and (B1). When (B1) is used, the type of metric to be used is one type as in the existing Dijkstra algorithm. This can potentially reuse many of the existing implementations. However, it should be noted that when (B1) is used, accurate metric calculation is possible only when the number of hops is 10 or less.

なお、上記メトリックの算出式は一例であり、これらに限られるものではない。例えば、ボトルネックとホップ数とに重みを付けて足し合わせた結果をメトリックとする他の式を用いてもよい。この場合、ボトルネックおよびホップ数にかかる係数(重み)は任意である。   Note that the metric calculation formulas described above are examples, and the present invention is not limited to these. For example, another formula may be used in which a result obtained by adding a weight to the bottleneck and the number of hops is used as a metric. In this case, the coefficient (weight) concerning the bottleneck and the number of hops is arbitrary.

選択部114は、外部装置(他のノード100)に到達する複数のパス候補から、メトリックに基づいて1のパス(メトリックが最良となるパス)を選択する。   The selection unit 114 selects one path (the path with the best metric) from a plurality of path candidates reaching the external device (another node 100) based on the metric.

制御部101は、ノード100で行われる処理の制御を行う。例えば、制御部101は、各構成部の起動を担う。   The control unit 101 controls processing performed in the node 100. For example, the control unit 101 is responsible for starting each component unit.

管理部102は、ノード100の接続しているリンクの鍵生成速度や鍵保有量などの鍵リソースを管理する。   The management unit 102 manages key resources such as a key generation speed and a key holding amount of a link to which the node 100 is connected.

プラットフォーム部103は、ノード100上の他の構成要素の管理、動作に必要なコンピュータのオペレーティングシステム機能、基本的なネットワーク機能、および、セキュリティ機能等を提供する。   The platform unit 103 provides management of other components on the node 100, computer operating system functions necessary for operation, basic network functions, security functions, and the like.

通信部104は、接続されている他のノード100との通信を行う。通信部104は、リンクによって接続されたノード100の間で、量子暗号を用いて、乱数を生成してから共有し、生成した乱数をリンク鍵として管理する。また、通信部104は、リンクによって接続された他のノード100との間でデータ通信を行う際に他の構成部から利用される。通信部104を介して他のノード100との間で交換されるデータには、アプリケーション鍵のデータなどがある。これらのデータは通常、ノード100が管理するリンク鍵を用いて暗号通信により交換される。   The communication unit 104 communicates with other connected nodes 100. The communication unit 104 generates and shares a random number between the nodes 100 connected by a link using quantum cryptography, and manages the generated random number as a link key. The communication unit 104 is used by other components when performing data communication with another node 100 connected by a link. Data exchanged with other nodes 100 via the communication unit 104 includes application key data. These data are normally exchanged by encrypted communication using a link key managed by the node 100.

上記各部(制御部101、管理部102、プラットフォーム部103、通信部104、ルーティング処理部110)は、例えば、CPU(Central Processing Unit)などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。また、記憶部121は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。   Each of the above units (control unit 101, management unit 102, platform unit 103, communication unit 104, routing processing unit 110) causes a processing device such as a CPU (Central Processing Unit) to execute a program, that is, realized by software. Alternatively, it may be realized by hardware such as an IC (Integrated Circuit), or may be realized by using software and hardware together. Further, the storage unit 121 can be configured by any commonly used storage medium such as an HDD (Hard Disk Drive), an optical disk, a memory card, and a RAM (Random Access Memory).

以上、本実施形態におけるノード100の構成について説明した。ただし、上記説明は一例である。   The configuration of the node 100 in this embodiment has been described above. However, the above description is an example.

次に、本実施形態における、鍵消費抑制ルーティングプロトコルについて詳細を説明する。以下が、鍵消費抑制ルーティングプロトコルの基本シーケンスとなる。ここでは、ノード100間でリンクステートを共有し、ネットワーク構成を把握した後、ルーティングテーブルを作成する前の最短パスツリーを作成する処理(S1)〜(S9)について示す。以下では、装置(通信装置)としての各ノード100に対応する、最短パスツリー(木構造)のノード(節)を表すために、符号を付さずに「ノード」と記載する場合がある。
(S1)すべてのノードに初期化のラベルを設定する。
(S2)始点に接続されているすべてのノードに対して、ボトルネックを求める。
(S3)始点に接続されているノードの中でボトルネックが最大であるノードの値を確定する。
(S4)確定したノードに接続されているすべてのノードに対して、始点からのパス中のボトルネックを新たに算出する。
(S5)新たに算出したボトルネックが、保持するボトルネックよりも大きい場合はボトルネックを更新し、新たなパスを保持する。そして、以前のパスは使用しないものとして削除する。
(S6)保持するボトルネックが、新たに算出したボトルネックよりも大きい場合は、現在のボトルネックとパスを保持する。新たに算出したパスは使用しないものとして削除する。
(S7)新たに算出したボトルネックと保持するボトルネックが等しい場合は、そのノードまでの各パスのホップ数を求め、ホップ数が少ない方のパスを保持する。
(S8)確定していないノードの中で、始点からのボトルネックが最も大きいノードの値を確定する。
(S9)すべてのノードの値が確定するまで(S4)〜(S8)を繰り返す。
Next, details of the key consumption suppression routing protocol in this embodiment will be described. The following is the basic sequence of the key consumption suppression routing protocol. Here, processes (S1) to (S9) for creating a shortest path tree after creating a routing table after sharing the link state between the nodes 100 and grasping the network configuration will be described. Hereinafter, in order to represent a node (node) of the shortest path tree (tree structure) corresponding to each node 100 as a device (communication device), it may be described as a “node” without a reference sign.
(S1) An initialization label is set for all nodes.
(S2) A bottleneck is obtained for all nodes connected to the start point.
(S3) The value of the node having the largest bottleneck among the nodes connected to the start point is determined.
(S4) A new bottleneck in the path from the start point is newly calculated for all nodes connected to the determined node.
(S5) If the newly calculated bottleneck is larger than the bottleneck to be held, the bottleneck is updated and a new path is held. Then, the previous path is deleted as not used.
(S6) If the bottleneck to be held is larger than the newly calculated bottleneck, the current bottleneck and path are held. The newly calculated path is deleted as not used.
(S7) If the newly calculated bottleneck is equal to the bottleneck to be held, the number of hops of each path to that node is obtained, and the path with the smaller number of hops is held.
(S8) Among the nodes that have not been determined, the value of the node having the largest bottleneck from the starting point is determined.
(S9) Repeat (S4) to (S8) until the values of all the nodes are determined.

次に、本実施形態のルーティングアルゴリズムを示す。このアルゴリズムは、OSPFで利用されるダイクストラアルゴリズムでメトリックとして扱われている距離の代わりに、ボトルネックとホップ数とをメトリックとしたアルゴリズムである。まず、本アルゴリズムで用いる記法を説明する。
s:始点
V:グラフ全体の点の集合
VP:ボトルネックが確定した点の集合
V\VP:ボトルネックが未確定の点の集合
BN[n]:点nまでのボトルネック
hop[n]:点nまでのホップ数
cost[l]:辺lのコスト
path[n]=l:点nへのパスが辺lである
Next, the routing algorithm of this embodiment is shown. This algorithm uses a bottleneck and the number of hops as a metric instead of a distance handled as a metric in the Dijkstra algorithm used in OSPF. First, the notation used in this algorithm will be described.
s: start point V: set of points of the entire graph VP: set of points where the bottleneck is determined V \ VP: set of points where the bottleneck is undetermined BN [n]: bottleneck up to point n hop [n]: Number of hops to point n cost [l]: Cost of side l path [n] = l: Path to point n is side l

次に本実施形態のルーティングアルゴリズムの例を説明する。
(S11)始点sを選び、VP:=φ、BN[s]:=0,hop[s]:=0(path[s]:=0)とする。s以外の点vに対しては、BN[v]:=−1,hop[v]:=0(path[v]:=−1)とする。なお、vはV\{s}に含まれないものとする。
(S12)V=VPとなるまで以下を繰り返す。
(S12a)BN[w]=max{BN[v]|v∈V\VP}となる点wを求める(ボトルネックが未確定の点の中でボトルネックの値が最大の点wを求める)。
(S12b)VP:=VP ∪ {w}とする(ボトルネックが確定した点の集合に点wを含める)。
wを始点とする各辺e=(w,v)に対して、以下の処理を実行する。
if BN[w]>cost(e)>BN[v]
then BN[v]=cost(e),
hop[v]:=hop[w]+1 (path(v):=e)
if cost(e)>BN[w]>BN[v]
then BN[v]=BN[w],
hop[v]:=hop[w]+1 (path(v):=e)
(もし、点wまでのボトルネックと辺eのコストが点vよりも大きければ更新する)
if BN[w]≧BN[v]=cost(e) and
hop[v]>hop[w]+1
then BN[v]=cost(e),
hop[v]:=hop[w]+1 (path(v):=e)
if cost(e)>BN[v]=BN[w] and
hop[v]>hop[w]+1
then BN[v]=BN[w],
hop[v]:=hop[w]+1 (path(v):=e)
(もし、点wまでのボトルネックと辺eからのパスのボトルネックが等しければ、ホップ数を比較する。点wからのホップ数が点vの保持するホップ数よりも小さければ更新する)
Next, an example of the routing algorithm of this embodiment will be described.
(S11) The starting point s is selected, and VP: = φ, BN [s]: = 0, hop [s]: = 0 (path [s]: = 0). For a point v other than s, BN [v]: = − 1, hop [v]: = 0 (path [v]: = − 1). Note that v is not included in V \ {s}.
(S12) The following is repeated until V = VP.
(S12a) Find a point w such that BN [w] = max {BN [v] | vεV \ VP} (find a point w having the largest bottleneck value among points where the bottleneck is undetermined) .
(S12b) VP: = VP {{w} (The point w is included in the set of points where the bottleneck is determined).
The following processing is executed for each side e = (w, v) starting from w.
if BN [w]> cost (e)> BN [v]
then BN [v] = cost (e),
hop [v]: = hop [w] +1 (path (v): = e)
if cost (e)> BN [w]> BN [v]
then BN [v] = BN [w],
hop [v]: = hop [w] +1 (path (v): = e)
(If the bottleneck up to point w and the cost of side e are greater than point v, update)
if BN [w] ≧ BN [v] = cost (e) and
hop [v]> hop [w] +1
then BN [v] = cost (e),
hop [v]: = hop [w] +1 (path (v): = e)
if cost (e)> BN [v] = BN [w] and
hop [v]> hop [w] +1
then BN [v] = BN [w],
hop [v]: = hop [w] +1 (path (v): = e)
(If the bottleneck up to the point w is equal to the bottleneck of the path from the side e, the number of hops is compared. If the number of hops from the point w is smaller than the number of hops held at the point v, it is updated.)

ここで、上記アルゴリズムの(S12b)について図7〜図11で説明する。送信元ノードをw、あて先ノードをvとするリンクe=(w,v)を考える。   Here, (S12b) of the above algorithm will be described with reference to FIGS. Consider a link e = (w, v) where the source node is w and the destination node is v.

図7は、BN[w]>cost(e)>BN[v]のとき、BN[v]=cost(e),hop[v]:=hop[w]+1 (path(v):=e)となる例を示す図である。図7は、ノードwまでのボトルネックが8、ノードwを経由せずにノードvまで到達するパスのボトルネックが4であり、リンクeのコストが6である例を示す。ノードvまでのボトルネックは、現時点のボトルネック4よりも、新たにつながるリンクeを含むパスの方が良い(大きい)。このため、リンクeがボトルネックとなりボトルネックを示す値は6となる。このように、リンクのコストが送信元ノードのボトルネックよりも小さい場合は、リンクのコストで、あて先ノードまでのボトルネックを更新する。   FIG. 7 shows that when BN [w]> cost (e)> BN [v], BN [v] = cost (e), hop [v]: = hop [w] +1 (path (v): = e It is a figure which shows the example which becomes. FIG. 7 shows an example in which the bottleneck to the node w is 8, the bottleneck of the path reaching the node v without going through the node w is 4, and the cost of the link e is 6. The bottleneck to the node v is better (larger) than the current bottleneck 4 in the path including the newly connected link e. For this reason, the link e becomes a bottleneck, and the value indicating the bottleneck is 6. Thus, when the cost of the link is smaller than the bottleneck of the transmission source node, the bottleneck to the destination node is updated with the cost of the link.

図8は、cost(e)>BN[w]>BN[v]のとき、BN[v]=BN[w],hop[v]:=hop[w]+1 (path(v):=e)となる例を示す図である。図8は、ノードwまでのボトルネックが6、ノードwを経由せずにノードvまで到達するパスのボトルネックが4であり、リンクeのコストが8である例を示す。ノードvまでのボトルネックは、現時点のボトルネック4よりも新たにつながるリンクeを含むパスの方が良い(大きい)。一方、リンクeのコスト8はボトルネックではない(ノードwまでのボトルネック6より大きい)。このため、ノードwまでのボトルネックと同様に、ノードvまでのボトルネックは6となる。このように、送信元ノードまでのボトルネックが、新たにつながるリンクのコストよりも小さい場合は、送信元ノードまでのボトルネックで、あて先ノードまでのボトルネックを更新する。   FIG. 8 shows that when cost (e)> BN [w]> BN [v], BN [v] = BN [w], hop [v]: = hop [w] +1 (path (v): = e It is a figure which shows the example which becomes. FIG. 8 shows an example in which the bottleneck to the node w is 6, the bottleneck of the path reaching the node v without going through the node w is 4, and the cost of the link e is 8. The bottleneck to the node v is better (larger) than the current bottleneck 4 and the path including the newly connected link e. On the other hand, the cost 8 of the link e is not a bottleneck (larger than the bottleneck 6 up to the node w). For this reason, the bottleneck to the node v is 6 like the bottleneck to the node w. Thus, when the bottleneck to the transmission source node is smaller than the cost of the newly connected link, the bottleneck to the destination node is updated with the bottleneck to the transmission source node.

図9は、あて先ノードまでのボトルネックを更新しない例を示す図である。図9のように、ノードwまでのボトルネック、リンクeのコスト、および、ノードvまでのボトルネックを比較して、ノードwを経由しないパスでノードvまで到達するパスのボトルネックが最も大きい場合は、リンクeを含むパスは最短パスとなりえないのでボトルネックは更新しない。   FIG. 9 is a diagram illustrating an example in which the bottleneck up to the destination node is not updated. As shown in FIG. 9, the bottleneck to the node w, the cost of the link e, and the bottleneck to the node v are compared, and the bottleneck of the path that reaches the node v through the path not passing through the node w is the largest. In this case, since the path including the link e cannot be the shortest path, the bottleneck is not updated.

図10は、BN[w]≧BN[v]=cost(e)かつhop[v]>hop[w]+1のとき、BN[v]=cost(e),hop[v]:=hop[w]+1 (path(v):=e)となる例を示す図である。図10に示すように、ノードvまでのボトルネックとリンクeのコストとが6で等しく、ノードwまで到達するパスのボトルネックが6よりも大きい8である場合は、ホップ数を比較する。図10に示すように、ノードwまでのホップ数が2でノードvまでのホップ数が5とする。この場合、ノードwからリンクeを経由してノードvまで到達しても、ホップ数は2+1=3となり、ノードvまでのホップ数5よりも小さくなる。このため、ノードvまでのパスをリンクeを経由するパスに更新する。   FIG. 10 shows that when BN [w] ≧ BN [v] = cost (e) and hop [v]> hop [w] +1, BN [v] = cost (e), hop [v]: = hop [ It is a figure which shows the example used as w] +1 (path (v): = e). As shown in FIG. 10, when the bottleneck up to the node v and the cost of the link e are equal to 6, and the bottleneck of the path reaching the node w is 8, which is larger than 6, the number of hops is compared. As shown in FIG. 10, it is assumed that the number of hops to the node w is 2 and the number of hops to the node v is 5. In this case, even if the node v reaches the node v via the link e, the number of hops is 2 + 1 = 3, which is smaller than the number of hops 5 to the node v. For this reason, the path to the node v is updated to a path via the link e.

図11は、cost(e)>BN[v]=BN[w]かつhop[v]>hop[w]+1のとき、BN[v]=BN[w],hop[v]:=hop[w]+1 (path(v):=e)となる例を示す図である。図11に示すように、ノードvまでのボトルネックとノードwまでのボトルネックが6で等しく、リンクeのコストが6よりも大きい8である場合は、ホップ数を比較する。図11に示すように、ノードwまでのホップ数が2でノードvまでのホップ数が5とする。この場合、ノードwからリンクeを経由してノードvまで到達しても、ホップ数は2+1=3となり、ノードvまでのホップ数5よりも小さくなる。このため、ノードvまでのパスをリンクeを経由するパスに更新する。   FIG. 11 shows that when cost (e)> BN [v] = BN [w] and hop [v]> hop [w] +1, BN [v] = BN [w], hop [v]: = hop [ It is a figure which shows the example used as w] +1 (path (v): = e). As shown in FIG. 11, when the bottleneck to the node v and the bottleneck to the node w are equal to 6, and the cost of the link e is 8 which is larger than 6, the number of hops is compared. As shown in FIG. 11, it is assumed that the number of hops to the node w is 2 and the number of hops to the node v is 5. In this case, even if the node v reaches the node v via the link e, the number of hops is 2 + 1 = 3, which is smaller than the number of hops 5 to the node v. For this reason, the path to the node v is updated to a path via the link e.

次に、このように構成された本実施形態にかかるノード100によるパス選択処理について図12を用いて説明する。図12は、本実施形態におけるパス選択処理の一例を示すフローチャートである。   Next, a path selection process performed by the node 100 according to the present embodiment configured as described above will be described with reference to FIG. FIG. 12 is a flowchart illustrating an example of a path selection process in the present embodiment.

まず、取得部111は、他のノード100から、当該ノード100が提供可能なリンク鍵のリソース情報、および、ネットワーク情報を取得する(ステップS101)。   First, the acquisition unit 111 acquires link key resource information and network information that can be provided by the node 100 from another node 100 (step S101).

上記(A)(または(A1))の手順を適用する場合は、カウント部112が、他のノード100に到達するまでの最短パス候補のホップ数をカウントする。ホップ数は、ボトルネックが等しい複数のパス候補が得られた場合に参照される。上記(B)(または(B1))の手順を適用する場合は、算出部113が、ボトルネックとホップ数とを含むメトリックを算出する。   When the procedure (A) (or (A1)) is applied, the counting unit 112 counts the number of hops of the shortest path candidate until the other node 100 is reached. The number of hops is referred to when a plurality of path candidates having the same bottleneck are obtained. When applying the procedure (B) (or (B1)), the calculation unit 113 calculates a metric including a bottleneck and the number of hops.

次に、選択部114は、上述の(A)および(B)のいずれかの手順に従い、他のノード100それぞれに対して、当該ノード100との間のパスのうち、コスト(ボトルネックとホップ数とを考慮したコスト)が最良となるパスを選択する(ステップS102)。   Next, the selection unit 114 follows each of the procedures (A) and (B) described above, and determines the cost (bottleneck and hop) of the path between the node 100 and each of the other nodes 100. The path with the best cost) is selected (step S102).

ルーティング処理部110は、選択されたパス(最短パスツリー)から、ルーティングテーブルを作成し、記憶部121に保存する(ステップS103)。   The routing processing unit 110 creates a routing table from the selected path (shortest path tree) and stores it in the storage unit 121 (step S103).

次に、選択部114によるパス選択処理(ルーティング)の具体例について説明する。以下では、図13のようなネットワークを例に説明する。図14から図25は、図13のネットワークの場合のルーティングの手順の一例を示す図である。   Next, a specific example of path selection processing (routing) by the selection unit 114 will be described. Hereinafter, a network as shown in FIG. 13 will be described as an example. 14 to 25 are diagrams showing an example of a routing procedure in the case of the network of FIG.

ノード内に振られた番号(丸で囲まれた番号)はノード番号を示す。リンクに振られた番号(四角で囲まれた番号)はリンクのコストを示す。リンクのコストは、例えば、鍵生成速度および鍵保有量を示す。ノードの近くに書かれた2つの数字は、そのノードに到達するためのコストを表す。本実施形態では、このコストを[ボトルネック−ホップ数]の形式で表現している。また、二重丸のノードは、そのノードまでの最短パスが確定したノードを表す。   A number assigned to a node (a circled number) indicates a node number. The number assigned to the link (number enclosed in a square) indicates the cost of the link. The cost of the link indicates, for example, a key generation speed and a key holding amount. Two numbers written near a node represent the cost to reach that node. In this embodiment, this cost is expressed in the form of [bottleneck−hop count]. A double circle node represents a node in which the shortest path to that node is determined.

ここでは、ノード間でリンクステートを共有し、ネットワーク構成を把握した後、ルーティングテーブルを作成する前の最短パスツリーを作成する処理について示す。例として片方向のネットワークを説明するが、双方向ネットワークであっても同様にして最短パスツリーを求めることができる。   Here, a process of creating a shortest path tree before creating a routing table after sharing a link state between nodes and grasping a network configuration will be described. Although a one-way network will be described as an example, a shortest path tree can be obtained in the same manner even in a bidirectional network.

まず、各ノードまで到達するためのコストを−1に初期化する(図14)。なお初期値−1は一例であり、コストが正数であることを考えると、いかなる負数を初期値としてもよい。始点のノードであるノード1(以下、始点ノード1ともいう)は、コストがボトルネック0、ホップ数0(「0−0」)として、最短パスが確定される。   First, the cost for reaching each node is initialized to −1 (FIG. 14). Note that the initial value −1 is an example, and any negative number may be used as the initial value considering that the cost is a positive number. The node 1 that is the starting point node (hereinafter also referred to as the starting point node 1) has a cost of bottleneck 0 and a hop count of 0 (“0-0”), and the shortest path is determined.

ノード1に接続されているノード2は、ボトルネック3、ホップ数1とする。また、ノード3は、ボトルネック6、ホップ数1とする(図15)。ノード2およびノード3のうち、ボトルネックが最良のノード3が、ボトルネック6、ホップ数1として、最短パスが確定される(図16)。   The node 2 connected to the node 1 has a bottleneck 3 and a hop number 1. Node 3 has bottleneck 6 and hop count 1 (FIG. 15). Among the nodes 2 and 3, the node 3 with the best bottleneck is determined as the bottleneck 6 and the number of hops 1 and the shortest path is determined (FIG. 16).

確定ノードはノード1およびノード3となり、始点ノード1からあて先ノード3へのネクストホップはノード3となる。   The confirmed nodes are node 1 and node 3, and the next hop from start node 1 to destination node 3 is node 3.

ノード3に接続されているノード2は、ボトルネック5、ホップ数2に更新される。ノード4は、ボトルネック1、ホップ数2に更新される。ノード5は、ボトルネック3、ホップ数2に更新される(図17)。   Node 2 connected to node 3 is updated to bottleneck 5 and hop count 2. Node 4 is updated to bottleneck 1 and hop count 2. Node 5 is updated to bottleneck 3 and hop count 2 (FIG. 17).

コストが最良のノード2は、ボトルネック5、ホップ数2として、最短パスが確定される(図18)。確定ノードは、ノード1、ノード3、およびノード2となり、始点ノード1からあて先ノード2へのネクストホップはノード3となる。   For the node 2 with the best cost, the shortest path is determined with the bottleneck 5 and the hop number 2 (FIG. 18). The confirmed nodes are node 1, node 3, and node 2, and the next hop from the start node 1 to the destination node 2 is node 3.

ノード2に接続されているノード4は、ボトルネック5、ホップ数3に更新される(図19)。   The node 4 connected to the node 2 is updated to the bottleneck 5 and the hop number 3 (FIG. 19).

コストが最良のノード4は、ボトルネック5、ホップ数3として、最短パスが確定される(図20)。確定ノードは、ノード1、ノード3、ノード2、およびノード4となり、始点ノード1からあて先ノード4へのネクストホップはノード3となる。   For the node 4 with the best cost, the shortest path is determined with the bottleneck 5 and the number of hops 3 (FIG. 20). The confirmed nodes are node 1, node 3, node 2, and node 4, and the next hop from the start node 1 to the destination node 4 is node 3.

ノード4に接続されているノード5は、ボトルネック3、ホップ数4となるが、ホップ数が大きいため更新しない。ノード6は、ボトルネック2、ホップ数4で更新される(図21)。   The node 5 connected to the node 4 has the bottleneck 3 and the hop number 4, but is not updated because the hop number is large. Node 6 is updated with bottleneck 2 and hop count 4 (FIG. 21).

コストが最良のノード5は、ボトルネック3、ホップ数2として、最短パスが確定される(図22)。確定ノードは、ノード1、ノード3、ノード2、ノード4、およびノード5となり、始点ノード1からあて先ノード5へのネクストホップはノード3となる。   For the node 5 having the best cost, the shortest path is determined with the bottleneck 3 and the hop number 2 (FIG. 22). The confirmed nodes are node 1, node 3, node 2, node 4, and node 5, and the next hop from the start node 1 to the destination node 5 is node 3.

ノード5に接続されているノード6は、ボトルネック3、ホップ数3に更新される(図23)。   The node 6 connected to the node 5 is updated to the bottleneck 3 and the hop number 3 (FIG. 23).

最後にノード6が、ボトルネック3、ホップ数3として、最短パスが確定される。確定ノードは、ノード1、ノード3、ノード2、ノード4、ノード5、および、ノード6となり、始点ノード1からあて先ノード6へのネクストホップはノード3となる(図24)。   Finally, the shortest path is determined when the node 6 has the bottleneck 3 and the hop number 3. The confirmed nodes are node 1, node 3, node 2, node 4, node 5, and node 6, and the next hop from start node 1 to destination node 6 is node 3 (FIG. 24).

最終的にすべてのノードが確定し、最短パスツリーが完成し、ノード1からノード6への最短パスはノード1→ノード3→ノード5→ノード6となる(図25)。   Finally, all the nodes are determined, and the shortest path tree is completed. The shortest path from node 1 to node 6 is node 1 → node 3 → node 5 → node 6 (FIG. 25).

以上のように、最短パスツリーが求められる。また、構築した最短パスツリーを用いて、ルーティングテーブルが作成される。そして、作成されたルーティングテーブルを参照して、アプリケーション鍵の共有が行われる。   As described above, the shortest path tree is obtained. Also, a routing table is created using the constructed shortest path tree. The application key is shared with reference to the created routing table.

(変形例)
各ノード100がOSPFを実行し、それぞれルーティングテーブルを保持する構成では、メトリックが等しいパスが複数存在する場合に、送信元ノードが意図したルートとは異なるルートを選択し、鍵の送信先が実際の最良のパスとは異なることがある。これは、各ノード100は、送信元ノードからの最良なパスではなく、各ノード100自身からあて先ノードまでの最良なパスを選択するためである。
(Modification)
In the configuration in which each node 100 executes OSPF and holds a routing table, when there are multiple paths having the same metric, a route different from the route intended by the transmission source node is selected, and the key transmission destination is actually The best path may be different. This is because each node 100 selects not the best path from the transmission source node but the best path from each node 100 itself to the destination node.

このような状況が好ましくない場合は、送信元ノードがソース・ルーティングの手法で鍵を送り、予め鍵を送るパスを指定しておくことで、送信元ノードが決定したパスを選択させることができる。ソース・ルーティングとは、送信元によってデータが通るべきパスを決定し、決定したパスに沿ってデータの転送を行う方式である。   If this situation is not desirable, the source node sends the key using the source routing method, and the path determined by the source node can be selected by specifying the path to send the key in advance. . Source routing is a method in which a path through which data passes is determined by a transmission source, and data is transferred along the determined path.

その他に、ルーティングを管理するサーバを用意し、このサーバが鍵の進むパスを指定してもよい。図26は、このように構成した変形例における量子暗号通信システムの構成例を示す図である。変形例の量子暗号通信システムは、ルーティング管理サーバ600を備えている。ルーティング管理サーバ600は、最良のパスを算出し、算出したパスを各ノード100のルーティングテーブルに反映させる。これにより各ノード100は、最良のパスを選択することが可能となる。   In addition, a server for managing routing may be prepared, and this server may designate a path along which the key advances. FIG. 26 is a diagram illustrating a configuration example of the quantum cryptography communication system in the modified example configured as described above. The quantum cryptography communication system according to the modification includes a routing management server 600. The routing management server 600 calculates the best path and reflects the calculated path in the routing table of each node 100. As a result, each node 100 can select the best path.

なお、鍵リソースは、例えば、量子鍵配送が実行され鍵保有量が増加したり、アプリケーション鍵転送をすることで鍵保有量が減少したり、量子暗号装置の環境変化等の影響で、鍵生成速度が変化したりすることで変動しうる。このため、鍵リソースの変動を検出したときに、本実施形態を含むルーティングプロトコルを再実行し、最適なパスの算出をやり直してもよい。例えば、選択部114が、異なる時刻に取得されたリソース情報(鍵生成速度、鍵保有量など)を比較し、両者の変化量が閾値以上の場合に、パス選択処理(ルーティングプロトコル)を実行するように構成してもよい。   Note that key resources are generated due to the influence of quantum key distribution and the increase of the key holding amount, the decrease of the key holding amount by transferring the application key, the environmental change of the quantum cryptography device, etc. It can change as the speed changes. For this reason, when the change of the key resource is detected, the routing protocol including this embodiment may be re-executed to calculate the optimum path again. For example, the selection unit 114 compares resource information (key generation speed, key possession amount, etc.) acquired at different times, and executes path selection processing (routing protocol) when the amount of change between both is equal to or greater than a threshold value. You may comprise as follows.

このように、本実施形態にかかる通信システムは、リソースのボトルネックおよびホップ数を考慮して暗号鍵の共有を行うためのルーティングを行う。これにより、特定のノードにおける暗号鍵の枯渇を避けつつ、スループットを維持し、システム全体での暗号鍵の消費量を小さくすることができる。   As described above, the communication system according to the present embodiment performs routing for sharing the encryption key in consideration of the resource bottleneck and the number of hops. As a result, while avoiding the exhaustion of the encryption key in a specific node, the throughput can be maintained and the consumption amount of the encryption key in the entire system can be reduced.

次に、本実施形態にかかる通信装置(ノード100)のハードウェア構成について図27を用いて説明する。図27は、本実施形態にかかる通信装置のハードウェア構成を示す説明図である。   Next, the hardware configuration of the communication apparatus (node 100) according to the present embodiment will be described with reference to FIG. FIG. 27 is an explanatory diagram illustrating a hardware configuration of the communication apparatus according to the present embodiment.

本実施形態にかかる通信装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。   The communication device according to the present embodiment communicates with a control device such as a CPU (Central Processing Unit) 51 and a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53 connected to a network. A communication I / F 54 to be performed and a bus 61 for connecting each unit are provided.

本実施形態にかかる通信装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。   A program executed by the communication apparatus according to the present embodiment is provided by being incorporated in advance in the ROM 52 or the like.

本実施形態にかかる通信装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。   A program executed by the communication apparatus according to the present embodiment is a file in an installable format or an executable format, and is a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable). ), A DVD (Digital Versatile Disk) or the like may be recorded on a computer-readable recording medium and provided as a computer program product.

さらに、本実施形態にかかる通信装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる通信装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。   Furthermore, the program executed by the communication apparatus according to the present embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. The program executed by the communication apparatus according to the present embodiment may be provided or distributed via a network such as the Internet.

本実施形態にかかる通信装置で実行されるプログラムは、コンピュータを上述した通信装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。   The program executed by the communication apparatus according to the present embodiment can cause a computer to function as each unit of the communication apparatus described above. In this computer, the CPU 51 can read a program from a computer-readable storage medium onto a main storage device and execute the program.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

100a〜100e ノード
101 制御部
102 管理部
103 プラットフォーム部
104 通信部
110 ルーティング処理部
111 取得部
112 カウント部
113 算出部
114 選択部
121 記憶部
200a、200b アプリケーション
100a to 100e Node 101 Control unit 102 Management unit 103 Platform unit 104 Communication unit 110 Routing processing unit 111 Acquisition unit 112 Count unit 113 Calculation unit 114 Selection unit 121 Storage unit 200a, 200b Application

Claims (6)

量子鍵配送により暗号鍵を提供可能な複数の外部装置と接続される通信装置であって、
前記外部装置が提供可能な暗号鍵の生成速度および前記暗号鍵の保有量の少なくとも一方を含むリソースを表すリソース情報を取得する取得部と、
前記外部装置に到達する複数の経路のうち、前記リソース情報が表すリソースの経路上のボトルネックと、ホップ数とのうち一方である第1メトリックに基づいて1以上の第1経路を選択し、前記ボトルネックとホップ数とのうち他方である第2メトリックに基づいて、選択された前記第1経路から1の経路を選択する選択部と、
を備える通信装置。
A communication device connected to a plurality of external devices capable of providing an encryption key by quantum key distribution,
An acquisition unit for acquiring resource information representing a resource including at least one of a generation speed of the encryption key that can be provided by the external device and an amount of the encryption key held;
Selecting one or more first routes based on a first metric that is one of a bottleneck on the resource route represented by the resource information and the number of hops among a plurality of routes reaching the external device; A selection unit that selects one route from the selected first route based on a second metric that is the other of the bottleneck and the number of hops;
A communication device comprising:
前記選択部は、複数の前記経路のうち、前記ボトルネックが最良となる前記第1経路を選択し、前記ボトルネックが最良となる前記第1経路が複数存在する場合は、前記第1経路のうち、ホップ数が小さい経路を選択する、
請求項1に記載の通信装置。
The selection unit selects the first route with the best bottleneck among the plurality of routes, and when there are a plurality of the first routes with the best bottleneck, Select a route with a small number of hops.
The communication apparatus according to claim 1.
前記選択部は、複数の前記経路のうち、前記ホップ数が最小となる前記第1経路を選択し、前記ホップ数が最小となる前記第1経路が複数存在する場合は、前記第1経路のうち、ボトルネックが最良となる経路を選択する、
請求項1に記載の通信装置。
The selection unit selects the first route that minimizes the number of hops from among the plurality of routes, and when there are a plurality of the first routes that minimize the number of hops, Among them, choose the route that has the best bottleneck,
The communication apparatus according to claim 1.
前記取得部は、前記外部装置が提供可能な暗号鍵の生成速度および前記暗号鍵の保有量の少なくとも一方を含むリソースを表す第1リソース情報を取得し、前記第1リソース情報と異なる時刻に、前記外部装置が提供可能な暗号鍵の生成速度および前記暗号鍵の保有量の少なくとも一方を含むリソースを表す第2リソース情報を取得し、
前記選択部は、前記第2リソース情報が表すリソースと前記第1リソース情報が表すリソースとの変化量が閾値以上の場合に、複数の前記経路から1の経路を選択する選択処理を実行する、
請求項1に記載の通信装置。
The acquisition unit acquires first resource information representing a resource including at least one of a generation speed of an encryption key and an amount of the encryption key that can be provided by the external device, and at a time different from the first resource information, Obtaining second resource information representing a resource including at least one of a generation speed of an encryption key that can be provided by the external device and an amount of the encryption key held;
The selection unit executes a selection process of selecting one route from the plurality of routes when the amount of change between the resource represented by the second resource information and the resource represented by the first resource information is equal to or greater than a threshold;
The communication apparatus according to claim 1.
量子鍵配送により暗号鍵を提供可能な複数の通信装置を備える通信システムであって、
前記通信装置それぞれは、
他の前記通信装置が提供可能な暗号鍵の生成速度および前記暗号鍵の保有量の少なくとも一方を含むリソースを表すリソース情報を取得する取得部と、
他の前記通信装置に到達する複数の経路のうち、前記リソース情報が表すリソースの経路上のボトルネックと、ホップ数とのうち一方である第1メトリックに基づいて1以上の第1経路を選択し、前記ボトルネックとホップ数とのうち他方である第2メトリックに基づいて、選択された前記第1経路から1の経路を選択する選択部と、を備える、
通信システム。
A communication system comprising a plurality of communication devices capable of providing an encryption key by quantum key distribution,
Each of the communication devices
An acquisition unit for acquiring resource information representing a resource including at least one of a generation speed of an encryption key that can be provided by another communication device and an amount of the encryption key held;
One or more first routes are selected based on a first metric that is one of the bottleneck and the number of hops on the resource route represented by the resource information among the plurality of routes reaching the other communication device. And a selection unit that selects one route from the selected first route based on a second metric that is the other of the bottleneck and the number of hops,
Communications system.
量子鍵配送により暗号鍵を提供可能な複数の外部装置と接続されるコンピュータを、
前記外部装置が提供可能な暗号鍵の生成速度および前記暗号鍵の保有量の少なくとも一方を含むリソースを表すリソース情報を取得する取得部と、
前記外部装置に到達する複数の経路のうち、前記リソース情報が表すリソースの経路上のボトルネックと、ホップ数とのうち一方である第1メトリックに基づいて1以上の第1経路を選択し、前記ボトルネックとホップ数とのうち他方である第2メトリックに基づいて、選択された前記第1経路から1の経路を選択する選択部と、
として機能させるためのプログラム。
A computer connected to a plurality of external devices capable of providing an encryption key by quantum key distribution,
An acquisition unit for acquiring resource information representing a resource including at least one of a generation speed of the encryption key that can be provided by the external device and an amount of the encryption key held;
Selecting one or more first routes based on a first metric that is one of a bottleneck on the resource route represented by the resource information and the number of hops among a plurality of routes reaching the external device; A selection unit that selects one route from the selected first route based on a second metric that is the other of the bottleneck and the number of hops;
Program to function as.
JP2017021315A 2017-02-08 2017-02-08 Communication device, communication system, and program Pending JP2017092987A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017021315A JP2017092987A (en) 2017-02-08 2017-02-08 Communication device, communication system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017021315A JP2017092987A (en) 2017-02-08 2017-02-08 Communication device, communication system, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012253555A Division JP2014103514A (en) 2012-11-19 2012-11-19 Communication device, communication system and program

Publications (1)

Publication Number Publication Date
JP2017092987A true JP2017092987A (en) 2017-05-25

Family

ID=58768665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017021315A Pending JP2017092987A (en) 2017-02-08 2017-02-08 Communication device, communication system, and program

Country Status (1)

Country Link
JP (1) JP2017092987A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281029A (en) * 2001-03-21 2002-09-27 Japan Science & Technology Corp Quantum cipher communication system
US20040184603A1 (en) * 2003-03-21 2004-09-23 Pearson David Spencer Systems and methods for quantum cryptographic key transport
US20070150939A1 (en) * 2005-12-22 2007-06-28 Jeffrey Aaron Methods, communication networks, and computer program products for selecting an endpoint and/or a midpoint path resource for traffic associated with a network element based on whether the network element can be trusted
US7392378B1 (en) * 2003-03-19 2008-06-24 Verizon Corporate Services Group Inc. Method and apparatus for routing data traffic in a cryptographically-protected network
JP2008543163A (en) * 2005-05-26 2008-11-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Communication node and method of routing traffic in a communication network by calculating at least one metric for at least one link and a sensitivity parameter for the metric
CN102196425A (en) * 2011-07-01 2011-09-21 安徽量子通信技术有限公司 Quantum-key-distribution-network-based mobile encryption system and communication method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281029A (en) * 2001-03-21 2002-09-27 Japan Science & Technology Corp Quantum cipher communication system
US7392378B1 (en) * 2003-03-19 2008-06-24 Verizon Corporate Services Group Inc. Method and apparatus for routing data traffic in a cryptographically-protected network
US20040184603A1 (en) * 2003-03-21 2004-09-23 Pearson David Spencer Systems and methods for quantum cryptographic key transport
JP2008543163A (en) * 2005-05-26 2008-11-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Communication node and method of routing traffic in a communication network by calculating at least one metric for at least one link and a sensitivity parameter for the metric
US20070150939A1 (en) * 2005-12-22 2007-06-28 Jeffrey Aaron Methods, communication networks, and computer program products for selecting an endpoint and/or a midpoint path resource for traffic associated with a network element based on whether the network element can be trusted
CN102196425A (en) * 2011-07-01 2011-09-21 安徽量子通信技术有限公司 Quantum-key-distribution-network-based mobile encryption system and communication method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石田 賢治 ほか: "遅延制約付き最小コストルーチング問題について", 電子情報通信学会論文誌 B, vol. 82, no. 5, JPN6016043029, 25 May 1999 (1999-05-25), JP, pages 722 - 729, ISSN: 0003758758 *

Similar Documents

Publication Publication Date Title
JP2014103514A (en) Communication device, communication system and program
Shi et al. Concurrent entanglement routing for quantum networks: Model and designs
EP3289727B1 (en) Network path proof of transit using in-band metadata
Mehic et al. Implementation of quantum key distribution network simulation module in the network simulator NS-3
JP6426477B2 (en) Communication device, communication system and program
JP5624526B2 (en) Key sharing apparatus, key sharing method, and key sharing program
US8422379B2 (en) Method of simple and efficient failure resilient load balancing
CN102804696B (en) Dynamic directed acyclic graph (DAG) topological structure is reported
US9800493B2 (en) Routing messages in a computer network using deterministic and probalistic source routes
CN102972009A (en) A system and method to implement joint server selection and path selection
Altın et al. Intra-domain traffic engineering with shortest path routing protocols
Altın et al. OSPF routing with optimal oblivious performance ratio under polyhedral demand uncertainty
JP5694247B2 (en) Key generation apparatus, communication method, and communication system
US20130064072A1 (en) Proactive source-based reverse path validation in computer networks
Yang et al. Traffic uncertainty models in network planning
US9509589B2 (en) Communication device, communication system, communication method, and computer program product
JP6211818B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
JP2017092987A (en) Communication device, communication system, and program
Fortz Applications of meta‐heuristics to traffic engineering in IP networks
Bhamare et al. IntOpt: In-band Network Telemetry optimization framework to monitor network slices using P4
US20230299952A1 (en) Key management device, quantum cryptography communication system, and computer program product
Choi et al. Simple-adaptive link state update algorithm for QoS routing
Shcherba Boolean-valued models of telecommunication systems in some problems of network security
JP2016225729A (en) Network system, data transfer control method and control device
JP2020047968A (en) Transfer device and transfer method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181002