JP2019195198A - 通信装置、通信方法、プログラムおよび通信システム - Google Patents

通信装置、通信方法、プログラムおよび通信システム Download PDF

Info

Publication number
JP2019195198A
JP2019195198A JP2019109700A JP2019109700A JP2019195198A JP 2019195198 A JP2019195198 A JP 2019195198A JP 2019109700 A JP2019109700 A JP 2019109700A JP 2019109700 A JP2019109700 A JP 2019109700A JP 2019195198 A JP2019195198 A JP 2019195198A
Authority
JP
Japan
Prior art keywords
encryption key
key
node
amount
application
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
JP2019109700A
Other languages
English (en)
Inventor
佳道 谷澤
Yoshimichi Tanizawa
佳道 谷澤
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 JP2019109700A priority Critical patent/JP2019195198A/ja
Publication of JP2019195198A publication Critical patent/JP2019195198A/ja
Priority to JP2021205275A priority patent/JP2022031361A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】量子鍵配送技術により暗号鍵を共有する場合にアプリケーションなどの要求元への暗号鍵の提供を低遅延で実行可能とする。【解決手段】量子鍵配送ネットワーク上のノードである通信装置100は、共有処理部110と、記憶部150と、制御部130と、を備える。共有処理部110は、1以上の他のノードとの間で暗号鍵を共有する。記憶部150は、暗号鍵を記憶する。制御部130は、記憶された暗号鍵の量を表す現在量と、指定された基準量とを比較し、比較結果に基づいて、共有処理部110による暗号鍵の共有処理の継続または停止を制御する。【選択図】図4

Description

本発明の実施形態は、通信装置、通信方法、プログラムおよび通信システムに関する。
量子鍵配送技術(QKD)とは、光ファイバーで接続された、単一光子を連続的に送信する送信ノードと、単一光子を受信する受信ノードと、の間で、安全に暗号鍵を共有する手法である。ノードが、QKDで共有された暗号鍵とは独立に乱数(暗号鍵)を生成し、生成した乱数を別のノードに送信して共有する技術についても知られている。
特許第5634427号公報
Kollmitzer C., Pivk M. (Eds.), Applied Quantum Cryptography, Lect. Notes Phys. 797 (Springer, Berlin Heidelberg 2010), Chapter 8, QKD Networks Based on Q3P, pp.151-171, DOI 10.1007/978-3-642-04831-9 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.13
しかしながら、従来技術では、アプリケーション等により暗号鍵が要求されてから、暗号鍵の共有処理が実行される。このため、要求元のアプリケーション等が暗号鍵の利用をするまでに処理遅延が発生するという問題点があった。
実施形態の通信装置は、共有処理部と、記憶部と、制御部と、を備える。共有処理部は、1以上の外部装置との間で暗号鍵を共有する。記憶部は、暗号鍵を記憶する。制御部は、記憶された暗号鍵の量を表す現在量と、指定された基準量とを比較し、比較結果に基づいて、共有処理部による暗号鍵の共有処理の継続または停止を制御する。
量子鍵配送システムの構成例を示す図。 QKDネットワークの構成例を示す図。 暗号鍵共有処理の一例を示すシーケンス図。 第1の実施形態のノードの機能ブロック図。 ノードの鍵情報テーブルの一例を示す図。 第1の実施形態の暗号鍵共有処理のシーケンス図。 アプリ鍵情報テーブルの例を示す図。 第1の実施形態のアプリ鍵の提供制御手順のシーケンス図。 第2の実施形態のノードの機能ブロック図。 最大量の変更処理の具体例を示す図。 最大量の変更処理の具体例を示す図。 第2の実施形態における共有量制御処理のシーケンス図。 第3の実施形態のノードの機能ブロック図。 リンク鍵情報テーブルの一例を示す図。 第3の実施形態の暗号鍵共有処理のシーケンス図。 第3の実施形態の提供制御手順のシーケンス図。 リンク鍵情報テーブルの一例を示す図。 第3の実施形態の共有量制御処理のシーケンス図。 リンク鍵情報テーブルの例を示す図。 第4の実施形態のノードの機能ブロック図。 鍵情報テーブルの一例を示す図。 実施形態にかかる通信装置のハードウェア図。
以下に添付図面を参照して、この発明にかかる通信装置の好適な実施形態を詳細に説明する。
(第1の実施形態)
QKDにより共有される暗号鍵は、量子力学の原理に基づいて、盗聴されていないことが保証されている。共有された暗号鍵を用いて、ワンタイムパッドと呼ばれる暗号通信方式を利用して暗号データ通信を行うと、送受信されるデータは、いかなる知識を有する盗聴者によっても解読できないことが情報理論によって保証されている。
図1は、量子鍵配送システムの構成例を示す図である。図1に示すように、量子鍵配送システムは、アプリケーション20a、20bと、ノード10a、10bとを含む。ノード10aおよびノード10bは、例えば光ファイバー30により接続される。ノード10a、10bは、送信ノードおよび受信ノードの少なくとも一方に対応する。以下では、送信ノードおよび受信ノードを、ノードと総称する場合がある。アプリケーション20a、20bは、共有された暗号鍵を用いて暗号データ通信する機能である。アプリケーション20a、20bは、それぞれノード10a、10bと一体として実現されてもよい。
ノード10aとノード10bとの間で共有された暗号鍵は、それぞれアプリケーション20aとアプリケーション20bに提供される。アプリケーション10aおよびアプリケーション10bは、取得した暗号鍵を用いてデータを暗号化し、暗号データ通信を行う。ただし、QKD技術で暗号鍵を共有する方式は、単一光子をメディアとして利用することに起因する、暗号鍵共有可能な距離の制約がある。
次に、通信システムの一例である量子鍵配送ネットワーク(QKDネットワーク)について説明する。図2は、QKDネットワークの構成例を示す図である。図2に示すように、QKDネットワークは、鍵共有ネットワーク301と、暗号データ通信ネットワーク302と、を含む。なお、図2は、ノードとアプリケーションとが独立に実現される場合の一例である。鍵共有ネットワーク301は、通信装置としてのノード100a〜100eと、アプリケーション200a、200bと、を含む。ノード100a〜100eは、鍵共有ネットワーク301によりリンク鍵を共有する。
ノード100a〜100eを区別する必要がない場合は、単にノード100という場合がある。アプリケーション200a、200bを区別する必要がない場合は、単にアプリケーション200という場合がある。ノード100の個数は5に限られるものではない。また、アプリケーション200の個数は2に限られるものではない。
鍵共有ネットワーク301は、複数のノード100間が、それぞれ光ファイバーなどによるリンク(リンク401〜406)によって接続されるネットワークである。
なお、図2では、1つのノード100が、送信ノードまたは受信ノードの機能を複数備えるような構成を例示している(例えば、ノード100a、100c、100dは2つ、ノード100b、100eは3つ)。各ノード100が、送信ノードおよび受信ノードを一体化した機能を備えるように構成してもよい。以下では主に後者の構成を例に説明する。
各ノード100は、リンクによって接続されるノード100(隣接ノード)との間でQKDによって暗号鍵を共有する。リンクによって接続されるノード100間でQKDにより共有される暗号鍵がリンク鍵(第1暗号鍵)に相当する。さらにノード100は、QKDとは無関係に、別途乱数情報等から、別の暗号鍵(アプリ鍵、第2暗号鍵)を生成し、暗号鍵をリンク鍵で暗号化して隣接ノードに転送する機能を有する。
リンク鍵によってアプリ鍵を暗号化してアプリ鍵を転送する処理を繰り返すことによって、ノード100は、鍵共有ネットワーク301上の任意のノード100との間でアプリ鍵を共有することができる。このときアプリ鍵は、QKDによって共有されるリンク鍵によって暗号化された状態でリンク上を転送される。従って、ノード100自体の安全性を仮定すると、アプリ鍵の安全性は、リンク鍵と同様に保証されると言える。
一方、アプリケーション200は、暗号データ通信ネットワーク302に収容されている。ここで、アプリケーション200aはアプリケーション200bとの間で暗号データ通信を行うものとする。以下、アプリケーション200が、鍵共有ネットワーク301を利用して暗号鍵を取得および共有し、暗号データ通信を行うシーケンスの例を説明する。図3は、3つのノード100を介してアプリ鍵を共有する場合の暗号鍵共有処理の一例を示すシーケンス図である。
ノード100a、100b、100cは、事前にリンク鍵を共有している(ステップS101、ステップS102)。なお、リンク鍵の共有動作はこの後も繰り返されてよい。暗号通信を行いたいアプリケーション200は、鍵共有ネットワーク301上のノード100に接続する。例えば図3の例では、アプリケーション200aはノード100aに接続し、アプリケーション200bはノード100cに接続している。
アプリケーション200aは、ノード100aに対して、アプリケーション200bと通信するために暗号鍵が利用したい旨を通知する(ステップS103)。この通知を受けたノード100aは、アプリケーション200aが通信したいアプリケーション200bが接続しているノード100cを特定し(ステップS104)、ノード100cとの間でアプリ鍵を共有する。
具体的には、ノード100aはノード100cに対し、アプリ鍵を共有したい旨を通知し、アプリ鍵の共有制御を開始する(ステップS105)。ノード100aは、乱数生成器等によってアプリ鍵を生成し、生成したアプリ鍵を、リンク鍵(ノード100bと共有するリンク鍵)によって暗号化する(ステップS106)。ノード100aは、暗号化したアプリ鍵をノード100bに転送する(ステップS107)。
ノード100bは、暗号化されたアプリ鍵を受信し、このアプリ鍵をノード100aとの間で共有しているリンク鍵によって復号する。そしてノード100bは、復号したアプリ鍵を、ノード100cとの間で共有しているリンク鍵によって暗号化する(ステップS108)。ノード100bは、暗号化したアプリ鍵をノード100cに転送する(ステップS109)。
ノード100cは、暗号化されたアプリ鍵を受信し、ノード100bとの間で共有しているリンク鍵で復号する(ステップS110)。ノード100cは、復号したアプリ鍵を記憶部等に記憶する(ステップS111)。ノード100cは、アプリ鍵の記憶が完了したことをノード100aに通知する(ステップS112)。以上の処理手順によって、ノード100aとノード100cはアプリ鍵を共有できる。
ノード100aは、共有したアプリ鍵をアプリケーション200aへ提供する(ステップS115)。ノード100cは、アプリケーション200bからの要求を受け(ステップS113)、共有したアプリ鍵をアプリケーション200bへ提供する(ステップS114)。これによって、アプリケーション200aとアプリケーション200bは、同一の暗号鍵(アプリ鍵)を共有することができる。この後、アプリケーション200aとアプリケーション200bは、暗号データ通信ネットワーク302を介して安全な暗号データ通信を行うことができる。
以上のような、アプリ鍵とリンク鍵を組み合わせた暗号鍵共有方式は、QKDを使うことに起因する暗号鍵共有可能な距離の制約を克服できる。また、アプリケーション200から接続されたノード100が暗号鍵(アプリ鍵)の生成、共有、および、ルーティングを制御する本方式は、既存のネットワーク技術を活用してシンプルな構成要素によって実現することが可能である。ここでは、ノード100aが乱数等によって暗号鍵(アプリ鍵)を生成してこれを共有するシナリオを説明した。共有する情報はこれに限られるものではない。本方式は、ノード100aが、他のシステムで生成した暗号鍵、デジタル証明書、および、公開鍵方式における秘密鍵など、任意の秘密情報を共有する仕組みとして利用できる。
量子鍵配送ネットワーク(QKDネットワーク)を構築することで、ネットワーク上の任意のノード100との間で暗号鍵を共有することができるようになる。また、例えば特許文献1の技術を用いて、アプリ鍵のセッション状態をノード側で管理し、その状態情報を利用することによって、アプリ鍵を共有するノード、頻度、およびタイミング等を決定することができるようになる。
一方、図3のように暗号鍵が要求されてから(ステップS103)、暗号鍵の共有処理が実行される方法では、要求元のアプリケーション等が暗号鍵の利用をするまでに処理遅延が発生する可能性がある。
そこで、第1の実施形態にかかる通信装置(ノード)は、アプリケーションに対して、アプリ鍵の提供を低遅延で行う。本実施形態の方法を用いると、各ノードは、アプリケーションに対して提供すべきアプリ鍵を、アプリケーションからの要求を受ける前に事前に共有しておくことができる。これにより、ノードは、アプリケーションからの要求を受けると、アプリ鍵を即座にアプリケーションに提供できる。すなわち本実施形態の方法によって、アプリケーションへのアプリ鍵提供が低遅延で実行可能となる。
図4は、本実施形態におけるノード100の機能構成例を示すブロック図である。ノード100は、共有処理部110と、提供部120と、制御部130と、プラットフォーム部140と、記憶部150と、を備える。
プラットフォーム部140は、ノード100の基本的なコンピュータシステムを管理するOS(オペレーティングシステム)の機能、ネットワーク機能、およびセキュリティ機能等を提供する。
記憶部150は、暗号鍵を記憶する。記憶部150は、ファイルシステムまたはデータベースなどにより構成できる。また記憶部150は、共有先のノード100(共有先ノード)ごとに、予め定められた基準量と、現在共有している暗号鍵の量(現在量)を示す情報を記憶する。暗号鍵の基準量と現在量とを対応づけた情報を、以下では鍵情報テーブルという。
基準量は、暗号鍵の量の基準となる量を表し、現在量との比較に用いられる。基準量は、例えば、共有される暗号鍵の最大量に相当する量として定めてもよい。基準量はこれに限られるものではなく、暗号鍵の量の基準となる量であればどのような情報であってもよい。例えば、暗号鍵の下限を表す量を基準量としてもよい。基準量は、共有先ノードごとに異なる値であってもよいし、一部または全部の共有先ノードで同じ値であってもよい。以下では基準量として最大量を用いた場合を例に説明する。
共有処理部110は、1以上の他のノード100(外部装置の一例)との間で暗号鍵を共有する共有処理を行う。共有処理部110は、生成部111と、監視部112と、を備える。
生成部111は、暗号鍵を生成する。生成部111は、リンク鍵を生成する場合は例えば量子暗号を利用し、アプリ鍵を生成する場合は例えば乱数生成器を利用する。監視部112は、記憶部150に記憶された暗号鍵の減少量などを監視する。
制御部130は、ノード全体の制御を行う。例えば制御部130は、暗号鍵の共有制御手順(暗号鍵共有処理)、および、提供制御手順等を実行する。例えば制御部130は、現在量と基準量とを比較し、比較結果に基づいて、共有処理部110による暗号鍵の共有処理の継続(開始)または停止を制御する(暗号鍵共有処理)。制御部130による制御の詳細は後述する。
提供部120は、記憶部150に記憶された暗号鍵をアプリケーション200に提供する。提供部120は、アプリケーション200に提供した暗号鍵を記憶部150から削除してもよい。
共有処理部110、提供部120、制御部130、および、プラットフォーム部140は、例えば、CPU(Central Processing Unit)などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
記憶部150は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
次に、鍵情報テーブルの具体例について説明する。図5は、図2に示す各ノード100の鍵情報テーブルの一例を示す図である。各ノード100は、例えば、共有先ノードと、共有先ノードとの間で共有すべきアプリ鍵の最大量と、現在共有しているアプリ鍵の量(現在量)とを対応づけた鍵情報テーブルを記憶部150に記憶する。なお、記憶部150a〜150eは、それぞれノード100a〜100eが備える記憶部150を示す。以下ではアプリ鍵の鍵情報テーブルをアプリ鍵情報テーブルと称する。
図5のノード100aを例に、アプリ鍵情報テーブルについて説明する。図5に示すように、アプリ鍵情報テーブルは、「共有先」のノード(共有先ノード)ごとに「最大量」と「現在量」の情報を記憶する。「共有先」には、例えばノード100の識別情報(ID)を設定する。図5のA〜Eは、例えばノード100a〜ノード100eの識別情報を表す。
アプリ鍵情報テーブルの「最大量」は、例えば、ノード100aが、その他のノード100(共有先ノード:ノード100b、ノード100c、ノード100d、ノード100e)との間でどれだけの量のアプリ鍵を共有しておくことが望ましいか、を示す情報である。アプリ鍵の量は、例えば、アプリ鍵の数であってもよいし、共有しているアプリ鍵の全体サイズであってもよい。「最大量」の情報は、システム構築時、運用開始時、およびメンテナンス時などに、システム管理者によって設定されてもよい。
アプリ鍵情報テーブルの「現在量」は、ノード100aで現在保持されている、各「共有先ノード」との間で共有されているアプリ鍵の量を示す。「現在量」は、現在ノード100aで利用可能なアプリ鍵の量を監視することで取得される値である。新規にアプリ鍵を共有した場合には「現在量」が増加し、アプリケーション200aへのアプリ鍵提供等によって使用した場合は「現在量」が減少してよい。現在量の監視、および、監視して得られた現在量による鍵情報テーブルの更新は、例えば監視部112により実行される。
各ノード100は、起動時に、アプリ鍵情報テーブルを参照し、「共有先ノード」ごとに設定されている「最大量」の分だけ、アプリ鍵を共有すべく、アプリ鍵の共有制御手順を実行してもよい。このようにすることで、各ノード100は、アプリケーション200からの接続を受けてから共有制御手順を実行する従来の方式に比べ、アプリケーション200に対して低遅延でアプリ鍵を提供できるようになる。
なお、各ノード100は、起動時だけでなく、任意のタイミングでアプリ鍵の共有制御手順を実行してよい。例えばノード100は、定期的に各「共有先ノード」との「現在量」を参照して減少していることを検出した場合など、定期的なメンテナンスのタイミングで共有制御手順を実行してもよい。
図6は、本実施形態の暗号鍵共有処理の一例を示すシーケンス図である。なお図6には、アプリケーション200aおよび200bも図示しているが、これらのアプリケーション200は暗号鍵共有処理には関知しない。
ノード100a、100b、100cは、事前にリンク鍵を共有している(ステップS201、ステップS202)。ノード100aの制御部130は、アプリケーション200からの要求などとは独立に、アプリ鍵の補充イベントを検出する(ステップS203)。
補充イベントは、ある共有先ノードとの間でアプリ鍵を共有すべきことを示すイベントである。制御部130は、共有先ノードの現在量と基準量とを比較することにより補充イベントを検出してもよい。制御部130は、補充イベントの検出結果に応じてアプリ鍵の共有の開始(継続)および停止などを制御してもよい。
例えば制御部130は、アプリ鍵情報テーブルを参照し、アプリ鍵の現在量の減少状況が所定の条件を満たす場合に、ある共有先ノード(ここではノード100c)との間で、アプリ鍵を共有すべきタイミングであることを検出する。所定の条件は、例えば以下のような条件である:
・「現在量」が「最大量」より小さい
・「最大量」と「現在量」との差が閾値(第1閾値)以上
・「最大量」と「現在量」の差と「最大量」との比が閾値(第2閾値)以下
・「現在量」の値が下限値以下
制御部130は、イベントを検出するとともに、「最大量」と「現在量」との差などから、共有すべきアプリ鍵の量をさらに決定してもよい。
制御部130は、補充イベントを検出した場合、アプリ鍵を共有すべき共有先ノードに対して、アプリ鍵を共有したい旨を示す情報(アプリ鍵共有制御メッセージなど)通知する(ステップS204)。この後、ノード100aの共有処理部110とノード100cの共有処理部110との間でアプリ鍵を共有するための処理が実行される。この処理で実行されるプロトコル等は従来技術と同様であってもよい。例えば、図6のステップS205〜ステップS211は、図3のステップS106〜ステップS112と同様の手順で実行してよい。
なお上記説明では、アプリ鍵を共有すべきタイミングであることを検出したノード100(図6の例ではノード100a)が、アプリ鍵を生成し、生成したアプリ鍵をノード100cまで転送した。アプリ鍵の共有方法はこれに限られるものではない。
例えば、共有するアプリ鍵の全部または一部を、ノード100cが生成してノード100aまで転送させるように制御してもよい。このためには、例えば、ノード100aからノード100cに対して送信するアプリ鍵共有制御メッセージに、いずれのノード100がアプリ鍵を生成すべきかを決定する情報、または、それをネゴシエーションするための情報が含まれていてもよい。また、アプリ鍵共有制御メッセージに、アプリ鍵を生成すべき量に関する情報が含まれていてもよい。
アプリケーション200が、アプリ鍵を用いてワンタイムパッドで通信を行う場合等、アプリ鍵の種別(鍵種別)を区別する場合がある。すなわち、アプリ鍵が、送信鍵(送信用アプリ鍵)であるか受信鍵(受信用アプリ鍵)であるかが区別される場合がある。送信用アプリ鍵は、情報の送信時に用いるアプリ鍵である。受信用アプリ鍵は、情報の受信時に用いるアプリ鍵である。
この場合、例えば、送信用アプリ鍵を生成するノード100と、受信用アプリ鍵を生成するノード100が、それぞれ特定されていてもよい。例えば、各ノード100は、送信用アプリ鍵に関してのみ、アプリ鍵情報テーブルを参照してアプリ鍵を共有すべきタイミングを決定し、アプリ鍵を生成して共有するようにしてもよい。すなわちこの場合、送信用アプリ鍵はノード100自身(例えばノード100a)によって生成されて補充される。一方、受信用アプリ鍵は、共有先のノード100(例えばノード100c)によって生成され、ノード100(ノード100a)が受信することによって補充される。
図7は、鍵種別(送信鍵と受信鍵)を区別する場合にノード100aの記憶部150に記憶されるアプリ鍵情報テーブルの例を示す図である。図7に示すように、この場合のアプリ鍵情報テーブルは、共有先ノードの鍵種別ごとに、現在量と最大量とを記憶する。
次に、ノード100がアプリケーション200にアプリ鍵を提供する際の手順(アプリ鍵の提供制御手順)について説明する。図8は、本実施形態のアプリ鍵の提供制御手順の一例を示すシーケンス図である。
ノード100a、100b、100cは、事前にリンク鍵を共有している(ステップS301、ステップS302)。アプリケーション200aは、暗号通信等を行うためにアプリ鍵が必要になると、ノード100aに対してアプリ鍵の要求(アプリ鍵要求)を通知する(ステップS303)。
アプリ鍵要求を受けたノード100aは、共有先ノードを特定する(ステップS304)。例えばノード100aは、アプリ鍵要求のメッセージ等から、アプリケーション200aが、アプリケーション200bと通信したい旨を検出したとする。ノード100aは、例えばアプリケーション200とノード100との接続関係を定めた情報等を参照し、アプリケーション200bがノード100cと接続されていることを特定する。このようにしてノード100aは、アプリケーション200aに提供すべきアプリ鍵の共有先ノードがノード100cであることを特定する。
図6の暗号鍵共有処理などにより、特定した共有先ノードとの間でアプリ鍵を既に共有していれば、ノード100の提供部120は、共有済みのアプリ鍵をアプリケーション200に提供することができる。すなわち、ノード100aの提供部120は、アプリ鍵をアプリケーション200aへ提供する(ステップS308)。ノード100cは、アプリケーション200bからの要求を受け(ステップS306)、アプリ鍵をアプリケーション200bへ提供する(ステップS307)。
このように、ノード100は、アプリ鍵要求を受けた後に乱数生成器によるアプリ鍵の生成処理、および、アプリ鍵をリンク鍵で暗号化して転送する処理などを行うことなく、即座にアプリケーション200にアプリ鍵を提供できる。すなわち、ノード100は、アプリ鍵の提供を低遅延で実行できる。
なお、ノード100aとノード100cは、アプリ鍵の共有制御手順(図6)を行う必要はないが、単なる制御メッセージの交換(アプリ鍵提供制御)を、アプリケーション200へアプリ鍵を提供する前に実施してもよい(図8のステップS305)。制御メッセージは、例えば、既にノード100aとノード100cとの間で共有済みのアプリ鍵のうち、いずれのアプリ鍵を当該のアプリケーション200aに提供すべきかを決定および通知するために以下のような情報を含んでいてもよい:
・アプリ鍵の識別情報(ID)に関連する情報
・アプリケーション200aに提供する(アプリケーション200aが利用することを前提に割り当てる)アプリ鍵の決定方法の情報
ノード100aおよびノード100cは、アプリケーション200aおよびアプリケーション200cにアプリ鍵を提供した後、自身が記憶するアプリ鍵情報テーブルにおける「現在量」から、提供したアプリ鍵の分量に相当する値を減少させる。
なお、以上説明した鍵共有ネットワーク301では、ノード数が5であったが、ノード数は5に限られるものではない。ノード数は2以上の任意の数であってよい。ノード数が多い場合(例えば100以上等)、各ノード100が、他のすべてのノード100との間でアプリ鍵情報テーブルを用いて事前にアプリ鍵を共有するように制御しておくのは、アプリ鍵の記憶容量の観点から望ましくない場合もある。このような場合、すべてのノード100との間でアプリ鍵を事前に共有しておくのではなく、一部のノード100との間でのみ、アプリ鍵を事前に共有できるように、アプリ鍵情報テーブルを利用してもよい。この場合、事前にアプリ鍵を共有していない共有先ノードとの間で共有すべきアプリ鍵が要求された場合は、従来技術と同様に、例えば図3に示す方法でアプリ鍵を共有すればよい。
(第2の実施形態)
第1の実施形態では、アプリ鍵情報テーブルにおける「最大量」などの基準量は、管理者等によって事前に設定されるものとした。第2の実施形態では、運用中に基準量を動的に変更させるように構成する。
図9は、第2の実施形態にかかるノード100−2の構成の一例を示すブロック図である。図9に示すように、ノード100−2は、共有処理部110と、提供部120と、制御部130−2と、プラットフォーム部140と、記憶部150と、を備える。
第2の実施形態では、制御部130−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるノード100のブロック図である図4と同様であるので、同一符号を付し、ここでの説明は省略する。
制御部130−2は、基準量を動的に変更する制御(共有量制御手順)の機能が追加される点が、第1の実施形態の制御部130と異なる。例えば制御部130−2は、アプリ鍵の現在量の減少頻度に応じて基準量を変更する。制御部130−2は、例えば「共有先ノード」ごとに、アプリ鍵の減少頻度を監視するように監視部112を制御する。アプリ鍵の減少頻度は、アプリ鍵が利用される頻度(利用頻度)に相当する。制御部130−2は、利用頻度(減少頻度)の高いアプリ鍵については、基準量としての「最大量」を増加させるように制御する。
基準量の制御方法はこれに限られるものではない。例えば、アプリケーションの個数、アプリケーションによる暗号鍵の要求量、記憶部150の記憶容量、および、記憶部150の空き容量のうち、少なくとも1つに応じて基準量を変更してもよい。
図10および図11は、最大量の変更処理の具体例を示す図である。ここでは、ノード100−2aとノード100−2cの間で共有されるアプリ鍵は頻繁に減少する(利用される)とする。図10の値901および値902は、ノード100−2aとノード100−2cとの間で共有されるアプリ鍵の現在量が500に減少した例を示している。減少した分のアプリ鍵は、例えば第1の実施形態の図6で説明した暗号鍵共有処理に従って補充される。
これに加え、第2の実施形態では、例えば、アプリ鍵の減少頻度の情報に応じて、図11の値1001および値1002に示すように、ノード100−2aとノード100−2cとの間で共有すべきアプリ鍵の「最大量」の情報を増加させる。
ノード100−2の制御部130−2は、例えば共有先ノードごとに単位時間あたりのアプリ鍵の「現在量」の減少量を監視するように監視部112を制御し、減少量がある閾値(第3閾値)以上となった場合に、「最大量」を増加させるように制御してもよい。減少量の絶対値と閾値とを比較するのではなく、他のノード100−2の減少量に対する相対的な変化に応じて「最大量」を変更してもよい。例えば制御部130−2は、「共有先ノード」ごとにアプリ鍵の「現在量」の減少量を監視するように監視部112を制御し、ある「共有先ノード」(例えばノード100−2aとする)の減少量が、他の「共有先ノード」の減少量と比較し、ある閾値(第4閾値)以上に多くなった場合に、該当共有先ノード(ノード100−2a)との「最大量」を増加させるように制御してもよい。
これまでは、アプリ鍵の「最大量」を変化させる際に、アプリ鍵の「現在量」の変化量に基づく方法について説明した。アプリ鍵の「最大量」を変化させる際には、これ以外の値を参照してもよい。例えば、各ノード100−2に接続されているアプリケーション200の個数、および、各ノード100−2で要求されているアプリ鍵の単位時間あたりの量またはサイズ、といった情報を各ノード100−2が監視し、この情報を参照してもよい。
例えば、ノード100−2aにおいて、ノード100−2aに接続するアプリケーション200であって、ノード100−2cに接続したアプリケーション200と通信するアプリケーション200の個数が、2台から3台に変化したとする。このとき、ノード100−2aの制御部130−2は、ノード100−2cとの間で共有するアプリ鍵の「最大量」を増加させるように制御してもよい。
ノード100−2cに接続したアプリケーション200と通信するアプリケーション200であって、ノード100−2aに接続する、あるアプリケーション200が、ノード100−2aに対して、要求するアプリ鍵の単位時間あたりの量を通知してもよい。このような場合であって、かつ、要求されるアプリ鍵の単位時間あたりの量が増加した場合、ノード100−2aの制御部130−2は、ノード100−2cとの間で共有するアプリ鍵の「最大量」を増加させるように制御してもよい。
あるノード100−2で事前に保持できるアプリ鍵の量の総量には、利用する記憶装置(記憶部150)の容量に依存する上限が存在する。このため、「共有先ノード」と事前に共有すべきアプリ鍵の「最大量」を無制限に増加させることはできない。従って、制御部130−2が、現在該当ノード100−2で利用できる記憶部150の記憶容量または空き容量についても勘案して「最大量」を増加させる制御を実行してもよい。
制御部130−2は、ある共有先ノードとの間で共有すべきアプリ鍵の「最大量」を増加させた場合、別の共有先ノードとの間で共有すべきアプリ鍵の「最大量」は減少させてもよい。制御部130−2は、例えば、共有先ノードごとに単位時間あたりのアプリ鍵の「現在量」の減少量を監視するように監視部112を制御し、減少量がある閾値(第5閾値)以下である共有先ノードの「最大量」を減少させるように制御してもよい。
減少量の絶対値と閾値とを比較するのではなく、他のノード100−2の減少量に対する相対的な変化に応じて「最大量」を変更してもよい。例えば制御部130−2は、「共有先ノード」ごとにアプリ鍵の「現在量」の減少量を監視するように監視部112を制御し、ある「共有先ノード」(例えばノード100−2aとする)の減少量が、他の「共有先ノード」の減少量と比較し、ある閾値(第6閾値)以上に少ない場合に、該当共有先ノード(ノード100−2a)との「最大量」を減少させるように制御してもよい。
また制御部130−2は、「最大量」を減少させる共有先ノードを、現在の「最大量」の大きさをもとに決定してもよい。すなわち制御部130−2は、より大きな「最大量」を持つ共有先ノードの「最大量」を優先して減少させるようにしてもよい。
また制御部130−2は、最大量の減少と、最大量の増加と同時に実行してもよい。制御部130−2は、最大量を増加させると記憶容量が不足する場合に限って最大量の減少を行ってもよい。これにより、アプリ鍵を記憶するための記憶部150の有限な記憶容量を効率的に利用することができる。
次に、このように構成された第2の実施形態にかかるノード100−2による共有量制御処理(共有量制御手順)について図12を用いて説明する。図12は、第2の実施形態における共有量制御処理の一例を示すシーケンス図である。
ノード100−2a、100−2b、100−2cは、事前にリンク鍵を共有している(ステップS401、ステップS402)。
ノード100−2aは、ノード100−2cに対して、「最大量」を増加させる制御(アプリ鍵共有量制御)を行うことを通知する制御メッセージを送信する(ステップS403)。この制御メッセージは、独立してノード100−2間で転送されてもよいし、例えば、図6に示した共有制御処理におけるアプリ鍵共有制御メッセージと一体として転送されてもよい。または、図8に示した、アプリ鍵提供制御手順における、アプリ鍵提供制御のメッセージと一体として転送されてもよい。
アプリ鍵共有量制御の制御メッセージは、増加させる最大量のサイズ、または、増加後の最大量のサイズに関する情報を少なくとも含む。
ノード100−2aとノード100−2cとでは、利用可能な記憶容量の大きさが異なる場合がある。そのため、ノード100−2aが最大量の増加をノード100−2cに要求しても、ノード100−2cにおいては増加させることができない可能性もある。このため、アプリ鍵共有量制御の制御メッセージに対して、応答メッセージ(ノード100−2cからノード100−2aへ)が必要となる場合がある。応答メッセージは、実際に最大量の増加を行ってよいか、増加させるとしたらそのサイズはどの程度か、に関する情報を含んでいてもよい。この応答メッセージの送信の後に、実際に最大量の変更を実施してもよい。
一方、図10では、ノード100−2aがノード100−2bとの間でも、アプリ鍵共有量制御の制御メッセージを交換する。この制御メッセージは、例えば、最大量の減少を通知するメッセージである。一般に、最大量を減少させるノード100−2との間で同時にアプリ鍵を共有することはない。このため、最大量減少のための制御メッセージは、アプリ鍵共有制御のメッセージと一体として転送される必要はない。
また同様に、最大量減少のための制御メッセージは、アプリ鍵提供制御(図8等)の制御メッセージと一体として転送されることも少ないと考えられる。最大量減少のための制御メッセージには、減少させる最大量のサイズまたは減少後の最大量のサイズに関する情報が少なくとも含まれている。
なお、最大量を減少させることによって、現在量も減少させなければならないケースも考えられる。現在量を減少させることは、現在保持しているアプリ鍵を破棄(削除)することに相当する。この場合、現在保持しているアプリ鍵のうちいずれを破棄するか、に関する情報も、アプリ鍵共有量制御のメッセージに含めてもよい。例えば提供部120が、予め定められたルールに従って破棄するアプリ鍵を決定してもよい。例えば、アプリ鍵のうち、最も古くに共有されたアプリ鍵から削除する、アプリ鍵に付与された識別情報(ID)が最も若いアプリ鍵から順に削除する、および、IDを指定して削除すべきアプリ鍵を決定する、等の方法がある。
このように、第2の実施形態にかかる通信装置では、基準量を動的に変更させることができる。
(第3の実施形態)
上記実施形態では、ノードはアプリ鍵情報テーブルを用いてアプリ鍵の現在量および最大量を保持するようにした。このような構成による効果の1つは、アプリケーションからの鍵要求に対して、即座に鍵を提供できることであった。また、副次的な効果として、複数のノードとの間で鍵を共有する状況において、有限である記憶装置の容量を有効に活用し、最も利用される可能性が高い鍵を保持蓄積するために活用することで、記憶容量の利用効率を向上させられる効果がある。
上記実施形態で述べたアプリ鍵に対する制御と同様の制御を、リンク鍵について実施してもよい。第3の実施形態にかかる通信装置は、アプリ鍵の代わりにリンク鍵に対して上記実施形態と同様の処理を実行する。
図13は、第3の実施形態にかかるノード100−3の構成の一例を示すブロック図である。図13に示すように、ノード100−3は、共有処理部110と、提供部120−3と、制御部130−3と、プラットフォーム部140と、記憶部150と、を備える。
第3の実施形態では、提供部120−3、および、制御部130−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるノード100のブロック図である図4と同様であるので、同一符号を付し、ここでの説明は省略する。
提供部120−3は、アプリ鍵の代わりにリンク鍵を暗号鍵として提供する点が、上記実施形態の提供部120と異なる。制御部130−3は、アプリ鍵の代わりにリンク鍵を暗号鍵として、共有制御手順(暗号鍵共有処理)、および、提供制御手順等を実行する。
なお本実施形態の記憶部150は、リンク鍵の鍵情報テーブルを記憶する。以下ではリンク鍵の鍵情報テーブルをリンク鍵情報テーブルと称する。図14は、図13に示す各ノード100−3のリンク鍵情報テーブルの一例を示す図である。
図15は、本実施形態の暗号鍵共有処理(共有制御手順)の一例を示すシーケンス図である。リンク鍵の共有制御手順は、量子暗号におけるリンク鍵の生成に相当する。このため制御部130−3は、常時、リンク鍵の生成と共有を実行し、現在量が最大量に達するまで、量子暗号によってリンク鍵を生成および共有するように共有処理部110を制御する(ステップS501)。
制御部130−3は、現在量が最大量に達した場合、リンク鍵の生成または記憶を停止してもよい。例えば制御部130−3は、量子暗号によるリンク鍵生成を停止する動作、または、量子暗号によるリンク鍵の生成は継続するが生成したリンク鍵を記憶せずに破棄する動作を行う。リンク鍵の生成または記憶を停止する場合、各ノード100−3の制御部130−3は、リンク鍵共有の制御メッセージを交換する(ステップS502、ステップS503)。リンク鍵の生成を停止する場合、この制御メッセージは、例えばいずれの識別情報(ID)が振られたリンク鍵以降の鍵生成を停止するのか、に関する情報を含んでもよい。リンク鍵の記憶を停止する場合、この制御メッセージは、いずれのIDが振られたリンク鍵以降の鍵記憶を停止するのか、に関する情報を含んでもよいし、または、リンク鍵のIDごとに、鍵を記憶するか否かに関する情報を含んでもよい。
図16は、本実施形態のリンク鍵の提供制御手順の一例を示すシーケンス図である。ノード100−3は、アプリケーション200からのリンク鍵の提供要求を受けると、要求されたリンク鍵をそのまま提供する。
ノード100−3a、100−3bは、事前にリンク鍵を共有している(ステップS601)。アプリケーション200aは、暗号通信等を行うためにリンク鍵が必要になると、ノード100−3aに対してリンク鍵の要求(リンク鍵要求)を通知する(ステップS602)。
リンク鍵要求を受けたノード100−3aは、必要に応じてリンク鍵提供制御の制御メッセージをノード100−3bに送信する(ステップS603)。例えば該当アプリケーション200に提供するリンク鍵を決定する必要がある場合は、リンク鍵を決定するための情報(例えば識別情報)などを含む制御メッセージを交換してもよい。
ノード100−3aは、要求されたリンク鍵をアプリケーション200aに提供する(ステップS604)。同様に、ノード100−3bは、アプリケーション200bからリンク鍵の提供要求を受信すると(ステップS605)、要求に応じてリンク鍵をアプリケーション200bに提供する(ステップS606)。
さらに制御部130−3は、第2の実施形態と同様に、基準量を動的に変更する制御(共有量制御手順)を実行してもよい。例えば制御部130−3は、リンク鍵の現在の保有量(現在量)が最大量に達した場合に、第2の実施形態で述べた手法と同様の手法によって、リンク鍵についても最大量の増加または減少を行ってよい。
図17は、共有量制御手順を実行した後のリンク鍵情報テーブルの一例を示す図である。テーブルの網掛け部分が、最大量が変更されたデータを示している。
例えば、図17において、ノード100−3aは、複数のノード100−3(ノード100−3bとノード100−3d)との間でリンク鍵を共有している。
ノード100−3aは、例えばノード100−3bとの間で共有するリンク鍵の方が、ノード100−3dとの間で共有するリンク鍵よりも、減少頻度が高い場合、ノード100−3bとの間で共有するリンク鍵の最大量を増加させてもよい。図17では、ノード100−3bとの間で共有するリンク鍵の最大量が100から500に増加された例が示されている。
ノード100−3aは、同時に、ノード100−3dとの間で共有するリンク鍵の最大量を減少させてもよい。図17では、ノード100−3dとの間で共有するリンク鍵の最大量が300から200に減少された例が示されている。
図18は、本実施形態のリンク鍵の共有量制御処理(共有量制御手順)の一例を示すシーケンス図である。
ノード100−3a、100−3bは、事前にリンク鍵を共有している(ステップS701)。
ノード100−3aは、ノード100−3bに対して、「最大量」を増加させる制御(アプリ鍵共有量制御)を行うことを通知する制御メッセージを送信する(ステップS702)。ノード1003−bは、必要に応じて応答メッセージをノード100−3aに送信する(ステップS703)。制御メッセージおよび応答メッセージに含まれる情報は第2の実施形態と同様でよい。
このように構成することで、ノード100−3aは、有限である記憶装置(記憶部150)の記憶容量の有効活用が図れる。また、アプリケーション200からリンク鍵を要求されたが、該当するノード100−3と共有しているリンク鍵の最大量が少なく蓄積している暗号鍵が少ない場合などに、十分な量のリンク鍵を提供するために、リンク鍵の生成を待つことによって遅延が増加するという事態を避けることができる。すなわち、十分な量のリンク鍵を低遅延で提供することができる。
また、図14および図17に示すリンク鍵情報テーブルは、リンク接続先のノード100−3ごとに最大量と現在量を記憶した。図7と同様に、ノード100−3ごとに、送信用リンク鍵と受信用リンク鍵とをそれぞれ区別してリンク鍵情報テーブルに記憶してもよい。図19は、鍵種別を区別する場合にノード100−3aの記憶部150に記憶されるリンク鍵情報テーブルの例を示す図である。
制御部130−3は、単位時間あたりのリンク鍵(送信鍵または受信鍵)の「現在量」の減少量を監視するように監視部112を制御し、より単位時間あたりの減少量が大きい方の鍵の「最大量」を増加させるように制御してもよい。または、例えば、ノード100−3aの制御部130−3が、ノード100−3bと共有する送信用リンク鍵と、ノード100−3dと共有する受信用リンク鍵と、の単位時間あたりの減少量を比較し、いずれの「最大量」をより大きく設定するかを決定してもよい。なお、量子鍵配送技術によって共有される暗号鍵を送信用リンク鍵とするか受信用リンク鍵とするかを決定する方法としてはQ3P(Quantum Point to Point Protocol)等の技術を利用してもよい。
(第4の実施形態)
ノードは、アプリ鍵とリンク鍵の両方の鍵情報テーブルを記憶してもよい。鍵情報テーブルは、アプリ鍵とリンク鍵とで別々であってもよいし、1つのテーブルに両方の鍵の情報を記憶してもよい。また、ノードは、アプリ鍵とリンク鍵とを別々に管理するように構成してもよい。
図20は、このように構成した第4の実施形態におけるノード100−4の機能構成例を示すブロック図である。ノード100−4は、共有処理部110−4と、提供部120−4と、制御部130−4と、プラットフォーム部140と、記憶部150と、共有処理部160−4と、提供部170−4と、を備える。
第4の実施形態では、共有処理部110−4と提供部120−4と制御部130−4の機能、および、共有処理部160−4と提供部170−4を追加したことが第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるノード100のブロック図である図4と同様であるので、同一符号を付し、ここでの説明は省略する。
共有処理部110−4は、他のノード100−4との間でアプリ鍵を共有する共有処理を行う。共有処理部110−4は、生成部111−4と、監視部112−4と、を備える。生成部111−4は、例えば乱数生成器を利用してアプリ鍵を生成する。監視部112−4は、記憶部150に記憶されたアプリ鍵の減少量などを監視する。
これに対し共有処理部160−4は、他のノード100−4との間でリンク鍵を共有する共有処理を行う。共有処理部160−4は、生成部161−4と、監視部162−4と、を備える。生成部161−4は、例えば量子暗号を利用してリンク鍵を生成する。生成部161−4は、共有したリンク鍵を保持する機能を備えていてもよい。監視部162−4は、記憶部150に記憶されたリンク鍵の減少量などを監視する。
提供部120−4は、記憶部150に記憶されたアプリ鍵をアプリケーション200に提供する。一方、提供部170−4は、記憶部150に記憶されたリンク鍵をアプリケーション200に提供する。また提供部170−4は、アプリ鍵の暗号転送機能等に必要な、リンク間通信するための基本的な機能(リンク制御機能)を提供する。
制御部130−4は、共有処理部110−4、提供部120−4、共有処理部160−4、および、提供部170−4等の各部の動作を制御する。制御部130−4は、第2の実施形態と同様に、鍵情報テーブルの基準量を動的に変更させてもよい。
この場合、制御部130−4は、あるノード100−4と共有するアプリ鍵と、別のノード100−4と共有するリンク鍵と、の単位時間あたりの減少量を比較し、いずれの「最大量」をより大きく設定するかを決定してもよい。このように構成することで、有限である記憶装置(記憶部150)の記憶容量の有効活用が図れる。また、アプリケーション200から暗号鍵(アプリ鍵またはリンク鍵)を要求されたが、該当するノード100−4と共有している鍵の最大量が少なく蓄積している暗号鍵が少ない場合などに、十分な量の鍵を提供するために、リンク鍵の生成またはアプリ鍵の共有を待つことによって遅延が増加するという事態を避けることができる。すなわち、十分な量の要求された種別の暗号鍵を低遅延で提供することができる。
図21は、アプリ鍵とリンク鍵の両方を保持する場合の鍵情報テーブルの一例を示す図である。例えば制御部130−4は、すべてのアプリ鍵の現在量が最大量に達しており、これ以上アプリ鍵の生成および暗号転送を行う必要がない場合、新たにアプリ鍵を生成して暗号転送する必要がないため、リンク鍵の生成や蓄積を停止させてもよい。
(変形例)
これまでは複数のノードが(例えば図2では5つ)含まれる通信システムについて説明した。通信システムに含まれるノードは2つ、すなわち一対であっても構わない。この場合、システム構成は図1のようになる。この構成において、アプリケーションに提供する暗号鍵として、上述のような、乱数生成器によって生成して共有するアプリ鍵を用いてもよいし、量子暗号によって生成されるリンク鍵を用いてもよい。アプリ鍵を用いる場合、アプリ鍵情報テーブルとリンク鍵情報テーブルを両方備えてもよいし、アプリ鍵情報テーブルのみを備えてもよい。リンク鍵を用いるシステムの場合、リンク鍵情報テーブルのみを備えればよい。
以上説明したとおり、第1から第4の実施形態によれば、暗号鍵の要求元(アプリケーションなど)への暗号鍵の提供を低遅延で実行可能となる。
次に、第1〜第4の実施形態にかかる通信装置のハードウェア構成について図22を用いて説明する。図22は、第1〜第4の実施形態にかかる通信装置のハードウェア構成例を示す説明図である。
第1〜第4の実施形態にかかる通信装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1〜第4の実施形態にかかる通信装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
第1〜第4の実施形態にかかる通信装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1〜第4の実施形態にかかる通信装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1〜第4の実施形態にかかる通信装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1〜第4の実施形態にかかる通信装置で実行されるプログラムは、コンピュータを上述した通信装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 ノード
110 共有処理部
111 生成部
112 監視部
120 提供部
130 制御部
140 プラットフォーム部
150 記憶部
160 共有処理部
200 アプリケーション
301 鍵共有ネットワーク
302 暗号データ通信ネットワーク

Claims (11)

  1. 1以上の外部装置との間で情報の送信時に用いる送信用暗号鍵と、情報の受信時に用いる受信用暗号鍵とを共有する共有処理部と、
    記憶部に記憶された前記送信用暗号鍵の量を表す第1現在量と、予め設定された第1最大量とを比較し、比較結果に基づいて、前記共有処理部による前記送信用暗号鍵の共有処理の継続または停止を制御し、前記記憶部に記憶された前記受信用暗号鍵の量を表す第2現在量と、予め設定された第2最大量とを比較し、比較結果に基づいて、前記共有処理部による前記受信用暗号鍵の共有処理の継続または停止を制御する制御部と、
    を備える通信装置。
  2. 前記制御部は、前記第1現在量が前記第1最大量より小さい場合に、前記送信用暗号鍵の前記共有処理を継続し、前記第1現在量が前記第1最大量以上の場合に、前記送信用暗号鍵の前記共有処理を停止し、前記第2現在量が前記第2最大量より小さい場合に、前記受信用暗号鍵の前記共有処理を継続し、前記第2現在量が前記第2最大量以上の場合に、前記受信用暗号鍵の前記共有処理を停止する、
    請求項1に記載の通信装置。
  3. 記憶された前記送信用暗号鍵および前記受信用暗号鍵を1以上のアプリケーションに提供し、提供した前記送信用暗号鍵および前記受信用暗号鍵を前記記憶部から削除する提供部をさらに備える、
    請求項1に記載の通信装置。
  4. 前記記憶部は、前記外部装置ごとに前記送信用暗号鍵および前記受信用暗号鍵を記憶し、
    前記制御部は、前記外部装置ごとに、前記第1現在量と前記第1最大量とを比較し、前記第2現在量と前記第2最大量とを比較し、比較結果に基づいて、前記共有処理部による前記送信用暗号鍵および前記受信用暗号鍵の共有処理の継続または停止を制御する、
    請求項1に記載の通信装置。
  5. 前記共有処理部は、前記外部装置のうち第1外部装置との間で第1送信用暗号鍵および第1受信用暗号鍵を共有し、前記第1送信用暗号鍵および第1受信用暗号鍵によって暗号化した第2送信用暗号鍵および第2受信用暗号鍵を、前記外部装置のうち第2外部装置に前記第1外部装置を介して転送することにより、前記第2外部装置との間で前記第2送信用暗号鍵および前記第2受信用暗号鍵を共有し、
    前記制御部は、前記共有処理部による、前記第1送信用暗号鍵、前記第1受信用暗号鍵、前記第2送信用暗号鍵および前記第2受信用暗号鍵の少なくとも1つの共有処理の継続または停止を制御する、
    請求項1に記載の通信装置。
  6. 前記共有処理部は、量子鍵配送により前記外部装置との間で前記送信用暗号鍵および前記受信用暗号鍵を共有する、
    請求項1に記載の通信装置。
  7. 前記記憶部をさらに備える、
    請求項1に記載の通信装置。
  8. 前記第1最大量および前記第2最大量は、前記外部装置との間で共通の値が用いられる、
    請求項1に記載の通信装置。
  9. 1以上の外部装置との間で情報の送信時に用いる送信用暗号鍵と、情報の受信時に用いる受信用暗号鍵とを共有する共有処理ステップと、
    記憶部に記憶された前記送信用暗号鍵の量を表す第1現在量と、予め設定された第1最大量とを比較し、比較結果に基づいて、前記送信用暗号鍵の共有処理の継続または停止を制御し、前記記憶部に記憶された前記受信用暗号鍵の量を表す第2現在量と、予め設定された第2最大量とを比較し、比較結果に基づいて、前記受信用暗号鍵の共有処理の継続または停止を制御する制御ステップと、
    を含む通信方法。
  10. コンピュータを、
    1以上の外部装置との間で情報の送信時に用いる送信用暗号鍵と、情報の受信時に用いる受信用暗号鍵とを共有する共有処理部と、
    記憶部に記憶された前記送信用暗号鍵の量を表す第1現在量と、予め設定された第1最大量とを比較し、比較結果に基づいて、前記共有処理部による前記送信用暗号鍵の共有処理の継続または停止を制御し、前記記憶部に記憶された前記受信用暗号鍵の量を表す第2現在量と、予め設定された第2最大量とを比較し、比較結果に基づいて、前記共有処理部による前記受信用暗号鍵の共有処理の継続または停止を制御する制御部、
    として機能させるためのプログラム。
  11. 複数の通信装置を備える通信システムであって、
    前記通信装置のそれぞれは、
    1以上の他の前記通信装置との間で情報の送信時に用いる送信用暗号鍵と、情報の受信時に用いる受信用暗号鍵とを共有する共有処理部と、
    記憶部に記憶された前記送信用暗号鍵の量を表す第1現在量と、予め設定された第1最大量とを比較し、比較結果に基づいて、前記共有処理部による前記送信用暗号鍵の共有処理の継続または停止を制御し、前記記憶部に記憶された前記受信用暗号鍵の量を表す第2現在量と、予め設定された第2最大量とを比較し、比較結果に基づいて、前記共有処理部による前記受信用暗号鍵の共有処理の継続または停止を制御する制御部と、
    を備える通信システム。
JP2019109700A 2019-06-12 2019-06-12 通信装置、通信方法、プログラムおよび通信システム Pending JP2019195198A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019109700A JP2019195198A (ja) 2019-06-12 2019-06-12 通信装置、通信方法、プログラムおよび通信システム
JP2021205275A JP2022031361A (ja) 2019-06-12 2021-12-17 通信装置、通信方法、プログラムおよび通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019109700A JP2019195198A (ja) 2019-06-12 2019-06-12 通信装置、通信方法、プログラムおよび通信システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015051403A Division JP2016171530A (ja) 2015-03-13 2015-03-13 通信装置、通信方法、プログラムおよび通信システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021205275A Division JP2022031361A (ja) 2019-06-12 2021-12-17 通信装置、通信方法、プログラムおよび通信システム

Publications (1)

Publication Number Publication Date
JP2019195198A true JP2019195198A (ja) 2019-11-07

Family

ID=68469426

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019109700A Pending JP2019195198A (ja) 2019-06-12 2019-06-12 通信装置、通信方法、プログラムおよび通信システム
JP2021205275A Pending JP2022031361A (ja) 2019-06-12 2021-12-17 通信装置、通信方法、プログラムおよび通信システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021205275A Pending JP2022031361A (ja) 2019-06-12 2021-12-17 通信装置、通信方法、プログラムおよび通信システム

Country Status (1)

Country Link
JP (2) JP2019195198A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220029932A (ko) * 2020-09-02 2022-03-10 주식회사 케이티 양자 암호키 관리 장치, 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008154019A (ja) * 2006-12-19 2008-07-03 Nec Corp 共有情報の管理方法およびシステム
JP2008306633A (ja) * 2007-06-11 2008-12-18 Nec Corp 秘匿通信ネットワークにおける暗号鍵管理方法および装置
JP2011044768A (ja) * 2009-08-19 2011-03-03 Nec Corp 秘匿通信システムにおける通信装置および通信制御方法
JP2014053816A (ja) * 2012-09-07 2014-03-20 Toshiba Corp 通信ノード、鍵同期方法、鍵同期システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016171530A (ja) * 2015-03-13 2016-09-23 株式会社東芝 通信装置、通信方法、プログラムおよび通信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008154019A (ja) * 2006-12-19 2008-07-03 Nec Corp 共有情報の管理方法およびシステム
JP2008306633A (ja) * 2007-06-11 2008-12-18 Nec Corp 秘匿通信ネットワークにおける暗号鍵管理方法および装置
JP2011044768A (ja) * 2009-08-19 2011-03-03 Nec Corp 秘匿通信システムにおける通信装置および通信制御方法
JP2014053816A (ja) * 2012-09-07 2014-03-20 Toshiba Corp 通信ノード、鍵同期方法、鍵同期システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
富田 章久: "単一光子による量子暗号鍵配付システム", 光学, vol. 第39巻第1号, JPN6020030310, January 2010 (2010-01-01), pages 10 - 16, ISSN: 0004601113 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220029932A (ko) * 2020-09-02 2022-03-10 주식회사 케이티 양자 암호키 관리 장치, 방법 및 시스템
KR102666218B1 (ko) * 2020-09-02 2024-05-14 주식회사 케이티 양자 암호키 관리 장치, 방법 및 시스템

Also Published As

Publication number Publication date
JP2022031361A (ja) 2022-02-18

Similar Documents

Publication Publication Date Title
JP2016171530A (ja) 通信装置、通信方法、プログラムおよび通信システム
JP5624526B2 (ja) 鍵共有装置、鍵共有方法および鍵共有プログラム
US9509510B2 (en) Communication device, communication method, and computer program product
US20220006627A1 (en) Quantum key distribution node apparatus and method for quantum key distribution thereof
JP6203093B2 (ja) 通信システム、通信装置、通信方法およびプログラム
JP6478749B2 (ja) 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
US9306734B2 (en) Communication device, key generating device, and computer readable medium
JP5634427B2 (ja) 鍵生成装置、鍵生成方法およびプログラム
JP5694247B2 (ja) 鍵生成装置、通信方法および通信システム
JP2018207348A (ja) 通信装置、通信システム、鍵共有方法及びプログラム
US9509589B2 (en) Communication device, communication system, communication method, and computer program product
CN114556862A (zh) 安全带外对称加密密钥传递
JP2014068313A (ja) 通信方法、アプリケーション装置、プログラム及び通信システム
US11652620B2 (en) System and method for proactively buffering quantum key distribution (QKD) key material
US11652619B2 (en) System and method for optimizing the routing of quantum key distribution (QKD) key material in a network
JP2022031361A (ja) 通信装置、通信方法、プログラムおよび通信システム
US20140181508A1 (en) Communication device and computer program product
JP6211818B2 (ja) 通信装置、通信方法、プログラムおよび通信システム
JP2023139648A (ja) 鍵管理装置、量子暗号通信システム及びプログラム
JP2017038413A (ja) 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム
Sarkar et al. Security enhanced key predistribution scheme using transversal designs and Reed Muller codes for wireless sensor networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210928