(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023171932
(43)【公開日】2023-12-05
(54)【発明の名称】暗号通信システム、鍵交換ノード、アプリケーション実行環境、制御方法およびプログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20231128BHJP
H04L 9/12 20060101ALI20231128BHJP
【FI】
H04L9/08 C
H04L9/12
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023172779
(22)【出願日】2023-10-04
(62)【分割の表示】P 2020151990の分割
【原出願日】2020-09-10
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】楯岡 正道
(72)【発明者】
【氏名】友田 正憲
(72)【発明者】
【氏名】田中 智之
(72)【発明者】
【氏名】中村 和豊
(57)【要約】
【課題】暗号鍵の蓄積量をユーザに通知すること等を可能とした暗号通信システムを提供する。
【解決手段】実施形態によれば、暗号通信システムは、アプリケーション実行環境、暗号化/復号実行環境、鍵交換ノードを具備する。暗号化/復号実行環境は
、暗号鍵を消費していきながら、送信データを暗号化し、暗号化されている受信データを復号する。鍵交換ノードは、暗号鍵を生成し、通信相手との間で共有化する。鍵交換ノードは、暗号鍵の蓄積量に基づき、暗号鍵の生成の実行有無を制御する。アプリケーション実行環境は、鍵蓄積量通知機能部、帯域制御機能部を具備する。鍵蓄積量通知機能部は、暗号鍵の蓄積量をアプリケーションプログラムまたはアプリケーションプログラムのユーザに通知する。帯域制御機能部は、暗号鍵の蓄積量に基づき、アプリケーションプログラムの送信データのために利用することができる通信帯域を制御する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
ネットワークを介してデータを送受信するアプリケーションプログラムが動作するアプリケーション実行環境と、
予め定められた処理単位ごとに暗号鍵を消費していきながら、前記アプリケーションプログラムの送信データを暗号化し、暗号化されている前記アプリケーションプログラムの受信データを復号する暗号化/復号実行環境と、
前記暗号鍵を生成し、当該生成した暗号鍵を通信相手との間で共有化し、前記通信相手との間で共有された暗号鍵を蓄積する鍵交換ノードと、
を具備し、
前記鍵交換ノードは、
前記暗号鍵の蓄積量を監視する鍵蓄積量監視機能部を具備し、
前記鍵蓄積量監視機能部によって取得される前記暗号鍵の蓄積量に基づき、前記暗号鍵の生成の実行有無を制御し、
前記アプリケーション実行環境は、
前記鍵蓄積量監視機能部によって取得される前記暗号鍵の蓄積量を前記アプリケーションプログラムまたは前記アプリケーションプログラムのユーザに通知する鍵蓄積量通知機能部と、
前記鍵蓄積量監視機能部によって取得される前記暗号鍵の蓄積量に基づき、前記アプリケーションプログラムの送信データのために利用することができる通信帯域を制御する帯域制御機能部と、
を具備する、
暗号通信システム。
【請求項2】
前記鍵蓄積量通知機能部は、前記暗号鍵の蓄積量の使用率をグラフで表し、または、前記暗号鍵の蓄積量の時間的な推移をグラフで表す請求項1に記載の暗号通信システム。
【請求項3】
前記暗号化/復号実行環境は、前記鍵蓄積量監視機能部によって取得される前記暗号鍵の蓄積量が閾値以下の場合、前記送信データの暗号化を行わずに前記アプリケーションプログラムへエラーを通知する請求項1に記載の暗号通信システム。
【請求項4】
ネットワークを介してデータを送受信するアプリケーションプログラムが動作するアプリケーション実行環境と、予め定められた処理単位ごとに暗号鍵を消費していきながら、前記アプリケーションプログラムの送信データを暗号化し、暗号化されている前記アプリケーションプログラムの受信データを復号する暗号化/復号実行環境と、前記暗号鍵を生成し、当該生成した暗号鍵を通信相手との間で共有化し、前記通信相手との間で共有された暗号鍵を蓄積する鍵交換ノードと、を具備する暗号通信システムの制御方法であって、
前記鍵交換ノードが、
前記暗号鍵の蓄積量を監視することと、
前記暗号鍵の蓄積量に基づき、前記暗号鍵の生成の実行有無を制御することと、
を具備し、
前記アプリケーション実行環境が、
前記監視することによって取得される前記暗号鍵の蓄積量を前記アプリケーションプログラムまたは前記アプリケーションプログラムのユーザに通知することと、
前記監視することによって取得される前記暗号鍵の蓄積量に基づき、前記アプリケーションプログラムの送信データのために利用することができる通信帯域を制御することと、
を具備する、
制御方法。
【請求項5】
前記通知することは、前記暗号鍵の蓄積量の使用率をグラフで表し、または、前記暗号鍵の蓄積量の時間的な推移をグラフで表すことを含む請求項4に記載の制御方法。
【請求項6】
前記暗号化/復号実行環境が、前記暗号鍵の蓄積量が閾値以下の場合、前記送信データの暗号化を行わずに前記アプリケーションプログラムへエラーを通知することを具備する請求項4に記載の制御方法。
【請求項7】
ネットワークを介してデータを送受信するアプリケーションプログラムが動作するアプリケーション実行環境と、予め定められた処理単位ごとに暗号鍵を消費していきながら、前記アプリケーションプログラムの送信データを暗号化し、暗号化されている前記アプリケーションプログラムの受信データを復号する暗号化/復号実行環境と、前記暗号鍵を生成し、当該生成した暗号鍵を通信相手との間で共有化し、前記通信相手との間で共有された暗号鍵を蓄積する鍵交換ノードと、を具備する暗号通信システムのためのプログラムであって、
前記鍵交換ノードに、
前記暗号鍵の蓄積量を監視することと、
前記暗号鍵の蓄積量に基づき、前記暗号鍵の生成の実行有無を制御することと、
を実行させ、
前記アプリケーション実行環境に、
前記監視することによって取得される前記暗号鍵の蓄積量を前記アプリケーションプログラムまたは前記アプリケーションプログラムのユーザに通知することと、
前記監視することによって取得される前記暗号鍵の蓄積量に基づき、前記アプリケーションプログラムの送信データのために利用することができる通信帯域を制御することと、
を実行させるためのプログラム。
【請求項8】
前記通知することは、前記暗号鍵の蓄積量の使用率をグラフで表し、または、前記暗号鍵の蓄積量の時間的な推移をグラフで表すことを含む請求項7に記載のプログラム。
【請求項9】
前記暗号化/復号実行環境に、前記暗号鍵の蓄積量が閾値以下の場合、前記送信データの暗号化を行わずに前記アプリケーションプログラムへエラーを通知することを実行させる請求項7に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、暗号通信システム、鍵交換ノード、アプリケーション実行環境、制御方法およびプログラムに関する。
【背景技術】
【0002】
ネットワークを介して送受信されるデータの機密保護のために、近時、様々な暗号通信システムが利用されている。それらの中の1つとして、データの暗号化に用いられる暗号鍵を生成する機能を有する鍵交換ノードを用いた暗号通信システムが存在する。鍵交換ノードは、生成した暗号鍵を通信相手の鍵交換ノードとの間で共有化し、通信相手の鍵交換ノードとの間で共有された暗号鍵を蓄積する。鍵交換ノードは、自身が生成した暗号鍵を通信相手の鍵交換ノードに送信する一方で、通信相手の鍵交換ノードから、通信相手の鍵交換ノードが生成した暗号鍵を受信する場合もある(鍵交換)。
【0003】
上記暗号通信システムで適用される暗号通信装置は、鍵交換ノードに蓄積されている暗号鍵を用いて、各種アプリケーションプログラムの送信データを暗号化する。暗号化されている受信データの復号においても、暗号通信装置は、鍵交換ノードに蓄積されている暗号鍵を使用する。
【0004】
暗号通信装置は、暗号通信装置で用いられる暗号方式にはいくつか種類があるが、通信量と同じ長さの乱数を使用し、一度使用した乱数は再利用しないワンタイムパッド(one time pad, OTP)方式等を利用する場合において、暗号鍵の消費量が供給量を上回る状況が継続する場合、暗号鍵が枯渇する事態が発生する可能性がある。即ち、鍵交換ノードを用いた暗号通信システムは、暗号鍵を生成する機能を有するものの、特定の状況下において暗号鍵が有限なシステムであると捉えることもできる。最近注目を集めている量子暗号においても、量子鍵配信により生成された暗号鍵を用いることから、暗号鍵の消費量が供給量を上回る場合、暗号鍵は有限となる。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】ITU-T Y.3000 Overview on networks supporting quantum key distribution
【発明の概要】
【発明が解決しようとする課題】
【0007】
暗号鍵が有限な暗号通信システムを利用するユーザは、暗号鍵の枯渇を予測し、現在の通信をどれくらいの時間継続可能であるのかを判断したり、通信内容(送信元、宛先、プロトコル等)に優先度を持たせたりするために、随時、暗号鍵の蓄積量を確認できることが好ましい。しかしながら、これまで、暗号鍵の蓄積量をユーザに通知する等の仕組みは実現されていなかった。
【0008】
本発明が解決しようとする課題は、暗号鍵の蓄積量をユーザに通知すること等を可能とした暗号通信システム、鍵交換ノード、アプリケーション実行環境、制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【0009】
実施形態によれば、暗号通信システムは、アプリケーション実行環境、暗号化/復号実行環境、鍵交換ノードを具備する。アプリケーション実行環境は、ネットワークを介してデータを送受信するアプリケーションプログラムが動作する。暗号化/復号実行環境は、予め定められた処理単位ごとに暗号鍵を消費していきながら、アプリケーションプログラムの送信データを暗号化し、暗号化されているアプリケーションプログラムの受信データを復号する。鍵交換ノードは、暗号鍵を生成し、当該生成した暗号鍵を通信相手との間で共有化し、前記通信相手との間で共有された暗号鍵を蓄積する。鍵交換ノードは、鍵蓄積量監視機能部を具備する。鍵蓄積量監視機能部は、暗号鍵の蓄積量を監視する。鍵交換ノードは、鍵蓄積量監視機能部によって取得される暗号鍵の蓄積量に基づき、暗号鍵の生成の実行有無を制御する。アプリケーション実行環境は、鍵蓄積量通知機能部、帯域制御機能部を具備する。鍵蓄積量通知機能部は、鍵蓄積量監視機能部によって取得される暗号鍵の蓄積量をアプリケーションプログラムまたはアプリケーションプログラムのユーザに通知する。帯域制御機能部は、鍵蓄積量監視機能部によって取得される暗号鍵の蓄積量に基づき、アプリケーションプログラムの送信データのために利用することができる通信帯域を制御する。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態の暗号通信システムの一構成例を示す図
【
図2】第1実施形態の暗号通信システムによる暗号鍵の蓄積量の表示例を示す図
【
図3】第1実施形態の暗号通信システムによる暗号鍵の蓄積量の別の表示例を示す図
【
図4】第1実施形態の暗号通信システムによる暗号鍵の蓄積量の表示方法の一変形例を示す図
【
図5】第1実施形態の暗号通信システムによる暗号鍵の蓄積量の表示方法の別の一変形例を示す図
【
図6】第1実施形態の暗号通信システムにおける暗号鍵の生成の手順を示すフローチャート
【
図7】第1実施形態の暗号通信システムにおける暗号化の手順を示すフローチャート
【
図8】第1実施形態の暗号通信システムにおける暗号鍵の蓄積量の通知の手順を示すフローチャート
【
図9】第2実施形態の暗号通信システムの一構成例を示す図
【発明を実施するための形態】
【0011】
以下、実施の形態について、図面を参照して説明する。
【0012】
(第1実施形態)
まず、第1実施形態について説明する。
【0013】
図1は、第1実施形態の暗号通信システムの一構成例を示す図である。
【0014】
本実施形態の暗号通信システムは、アプリケーション実行環境1と、暗号化/復号実行環境2と、鍵交換ノード3とから構成される。
【0015】
アプリケーション実行環境1は、ネットワークを介してデータを送受信するアプリケーションプログラム11が動作する環境であり、たとえばサーバやパーソナルコンピュータといった情報処理装置である。なお、
図1では、アプリケーション実行環境1内にアプリケーションプログラム11を1つのみ表しているが、ネットワークを介してデータを送受信するアプリケーションプログラム11は、アプリケーション実行環境1内に複数存在し得る。
【0016】
暗号化/復号実行環境2は、アプリケーション実行環境1で動作するアプリケーションプログラム11の送信データを暗号化し、暗号化されているアプリケーションプログラム11の受信データを復号する。暗号化/復号実行環境2は、プログラムによってソフトウェア的に実現されるものであってもよいし、電子回路などによってハードウェア的に実現されるものであってもよい。ソフトウェア的に実現される場合、暗号化/復号実行環境2は、アプリケーション実行環境1が構築される情報処理装置上に構築され得るが、暗号鍵の漏洩防止の観点から、アプリケーション実行環境1とは、論理的に分離されるだけでなく、物理的に分離されるように、異なる情報処理装置上に構築されることが好ましい。暗号化/復号実行環境2は、暗号化機能部21と、復号機能部22とを有する。
【0017】
鍵交換ノード3は、暗号化/復号実行環境2において実行される暗号化に用いられる暗号鍵を生成し、当該生成した暗号鍵を通信相手の鍵交換ノード3との間で共有化し、通信相手の鍵交換ノード3との間で共有された暗号鍵を蓄積する。鍵交換ノード3は、自身が生成した暗号鍵を通信相手の鍵交換ノード3に送信する一方で、通信相手の鍵交換ノード3から、通信相手の鍵交換ノード3が生成した暗号鍵を受信する場合もある(鍵交換)。鍵交換ノード3も、プログラムによってソフトウェア的に実現されるものであってもよいし、電子回路などによってハードウェア的に実現されるものであってもよい。ソフトウェア的に実現される場合、鍵交換ノード3は、アプリケーション実行環境1や暗号化/復号実行環境2が構築される情報処理装置上に構築され得るが、暗号鍵の漏洩防止の観点から、少なくともアプリケーション実行環境1とは、論理的に分離されるだけでなく、物理的に分離されるように、異なる情報処理装置上に構築されることが好ましい。鍵交換ノード3は、鍵生成管理機能部31と、鍵蓄積機能部32とを有する。
【0018】
まず、あるアプリケーションプログラム11から他のアプリケーションプログラム11へネットワークを介してデータが送信される場合における暗号化システムの基本的な動作を説明する。
【0019】
送信側(破線の矩形100で囲まれる側)のアプリケーション実行環境1で動作するアプリケーションプログラム11が、受信側(破線の矩形200で囲まれる側)のアプリケーション実行環境1で動作するアプリケーションプログラム11に向けて出力した送信データは、送信側の暗号化/復号実行環境2に転送され、当該暗号化/復号実行環境2の暗号化機能部21によって暗号化が施される。
【0020】
暗号化機能部21は、鍵交換ノード3の鍵蓄積機能部32に蓄積されている暗号鍵を用いて、送信データの暗号化を実行する。暗号化機能部21は、たとえば、通信量と同じ長さの乱数を使用し、一度使用した乱数は再利用しないワンタイムパッド(one time pad, OTP)方式等を利用して、送信データの暗号化を実行する。つまり、暗号化機能部21は、鍵蓄積機能部32に蓄積されている暗号鍵を予め定められた処理単位ごとに消費していく。
【0021】
暗号化機能部21が暗号化に使用する暗号鍵は、鍵生成管理機能部31によって生成される。鍵生成管理機能部31は、鍵蓄積機能部32の暗号鍵の蓄積量が満量(100%)でない場合、暗号鍵の生成を実行する。暗号鍵を生成する方法は、特定の方法に限定されず、様々な方法を適用し得る。
【0022】
鍵交換ノード3の鍵蓄積機能部32には、暗号化/復号実行環境2の復号機能部22が復号に使用する暗号鍵も蓄積される。復号機能部22が復号するデータは、暗号化された状態で通信相手から送られてきたデータ(受信データ)である。この暗号鍵は、通信相手の鍵交換ノード3の鍵生成管理機能部31によって生成された暗号鍵である。鍵生成管理機能部31は、通信相手との間で共有された暗号鍵(暗号化のための暗号鍵および復号のための暗号鍵)を鍵蓄積機能部32に蓄積する。
【0023】
暗号化機能部21によって暗号化された送信データは、ネットワークを介して受信側の暗号化/復号実行環境2に転送される。なお、受信側においては、この送信データは、受信データという扱いになる。暗号化されている受信データは、当該暗号化/復号実行環境2の復号機能部22によって復号される。受信データを復号するための暗号鍵は、鍵生成管理機能部31によって通信相手の鍵生成管理機能部31から受領されて鍵蓄積機能部32に蓄積されている。復号機能部22は、当該鍵蓄積機能部32に蓄積されている暗号鍵を用いて、暗号化されている受信データの復号を実行する。復号機能部22によって復号された受信データは、受信側のアプリケーション実行環境1で動作するアプリケーションプログラム11に転送される。
【0024】
このように、送信側のアプリケーション実行環境1で動作するアプリケーションプログラム11と受信側のアプリケーション実行環境1で動作するアプリケーションプログラム11との間で送受信されるデータは、送信側の暗号化/復号実行環境2から受信側の暗号化/復号実行環境2までの間、つまりネットワーク上において、送信側の鍵交換ノード3と受信側の鍵交換ノード3との間で共有される暗号鍵で暗号化されているので、当該データの機密保護が図られる。
【0025】
なお、アプリケーション実行環境1で動作するアプリケーションプログラム11は、それぞれが異なるアプリケーション実行環境1で動作する複数のアプリケーションプログラム11を通信相手としてデータの送受信を実行し得る。また、アプリケーション実行環境1で動作する複数のアプリケーションプログラム11が、それぞれ、異なるアプリケーション実行環境1で動作するアプリケーションプログラム11を通信相手としてデータの送受信を実行し得る。従って、暗号化/復号実行環境2は、一対一で通信相手の暗号化/復号実行環境2とデータを送受信することに限らず、一対多で通信相手の暗号化/復号実行環境2とデータの送受信を実行し得る。
【0026】
たとえば、アプリケーション実行環境1で動作する1以上のアプリケーションプログラム11の送信データ量が急増すると、それに伴い、暗号化/復号実行環境2の暗号化機能部21による暗号鍵の消費量が急増する。この消費量が、鍵交換ノード3の鍵生成管理機能部31によって生成される、鍵蓄積機能部32への暗号鍵の供給量を上回ると、鍵蓄積機能部32の暗号鍵の蓄積量は減少する。暗号鍵の消費量が供給量を上回る状況が長く続くと、暗号鍵が枯渇する事態が発生する可能性がある。
【0027】
暗号鍵の枯渇が予測できれば、ユーザは、現在の通信をどれくらいの時間継続可能であるのかを判断することができるし、通信内容(送信元、宛先、プロトコル等)に優先度を持たせるといった対策を講じることもできる。たとえば、オンライン会議の映像や音声といったリアルタイムでの転送が求められるオンライン会議用のアプリケーションプログラム11などのデータの送信を、電子メールといった多少の遅延は許容される電子メール用のアプリケーションプログラム11などのデータの送信よりも優先する(送信元)といった対策を講じることができる。たとえば、オンライン会議が終了するまで、電子メール用のアプリケーションプログラム11を停止させるといった対策を講じることができる。
【0028】
あるいは、暗号鍵の枯渇に起因して、ある通信相手へのデータの送信が停止してしまうことを防止するために、その他の通信相手へのデータの送信を控えるといった対策を講じることもできる(宛先)。さらには、たとえばオンライン会議の映像と音声とのうち、音声の送信のみを継続し、映像の送信は停止するといった対策を講じることもできる(プロトコル)。
【0029】
このように、暗号鍵の枯渇が予測できれば、ユーザは、優先させたい通信を選択することができる。
【0030】
そこで、本実施形態の暗号通信システムは、たとえば、暗号鍵の枯渇を予測したり、暗号鍵の枯渇が予測される場合、通信内容(送信元、宛先、プロトコル等)ごとに暗号鍵の割り当てに関する優先度を設けたりするために、暗号鍵の蓄積量をユーザに通知すること等を可能としたものである。以下、この点について詳述する。
【0031】
図1に示すように、本実施形態の暗号通信システムは、鍵交換ノード3が、鍵蓄積量監視機能部51をさらに有し、また、アプリケーション実行環境1が、鍵蓄積量通知機能部52と、鍵蓄積量表示機能部53とをさらに有する。なお、ここでは、鍵蓄積量表示機能部53が、アプリケーション実行環境1で動作する、表示機能に特化した独立したプログラムとして実現されている例を示しているが、鍵蓄積量表示機能部53は、アプリケーション実行環境1で動作するアプリケーションプログラム11の一機能部としても実現され得るし(53-2)、専用の表示装置などとしても実現され得る(53-3)。
【0032】
鍵交換ノード3の鍵蓄積量監視機能部51は、鍵蓄積機能部32の暗号鍵の蓄積量を監視する。鍵蓄積量監視機能部51は、たとえば、一定間隔、または、蓄積量が変化したことを契機として、監視によって得た暗号鍵の蓄積量をアプリケーション実行環境1の鍵蓄積量通知機能部52に通知する。あるいは、アプリケーション実行環境1の鍵蓄積量通知機能部52が、たとえば一定間隔で、鍵交換ノード3の鍵蓄積量監視機能部51から暗号鍵の蓄積量を取得してもよい。つまり、本実施形態の暗号通信システムにおいては、アプリケーション実行環境1(鍵蓄積量通知機能部52)と鍵交換ノード3(鍵蓄積量監視機能部51)とが連携する。
【0033】
アプリケーション実行環境1の鍵蓄積量通知機能部52は、鍵蓄積機能部32の暗号鍵の蓄積量を鍵交換ノード3の鍵蓄積量監視機能部51から取得すると、その暗号鍵の蓄積量を鍵蓄積量表示機能部53に通知する。通知を受けた鍵蓄積量表示機能部53は、たとえばアプリケーション実行環境1が構築される情報処理装置がGUI用に備える表示装置を介して、当該通知された暗号鍵の蓄積量をユーザに提示する。鍵蓄積量表示機能部53は、ユーザが暗号鍵の蓄積量を直感的にわかりやすい表示形式で当該暗号鍵の蓄積量を表示装置の表示画面上に表示する。
【0034】
図2は、鍵蓄積量表示機能部53による鍵交換ノード3の鍵蓄積機能部32の暗号鍵の蓄積量の表示例を示す図である。
【0035】
図2に示すように、鍵蓄積量表示機能部53は、たとえば、アプリケーション実行環境1が構築される情報処理装置がGUI用に備える表示装置の表示画面300上、つまり、当該アプリケーション実行環境1で動作するアプリケーションプログラム11のウィンドウ310が表示される表示画面300上に、暗号鍵の蓄積量を表示するためのウィンドウ320を表示する。鍵蓄積量表示機能部53は、このウィンドウ320内に、その時点での暗号鍵の蓄積量を、たとえば、縦の棒状で表したグラフ(A)、横の棒状で表したグラフ(B)、円状で表したグラフ(C)などのようにグラフ化して表示する。このグラフによれば、ユーザは、その時点での暗号鍵の使用率を把握することができる。もし、このグラフで表される使用率が急激に低下している場合、ユーザは、暗号鍵の枯渇を予測し、前述のような各種対策を講じることができる。
【0036】
また、鍵蓄積量表示機能部53は、暗号鍵の蓄積量をグラフ化して表示することに限らず、様々な表示形式で、暗号鍵の蓄積量を表示することができる。
図3に、暗号鍵の蓄積量の別の表示例を示す。
【0037】
図3(A)は、暗号鍵の使用率を数値として表示する例である。
図3(B)は、その時点での暗号鍵の蓄積量(データ量:Now)と、鍵蓄積機能部32が蓄積し得る暗号鍵の総量(データ量:Total)とを数値として並べて表示する例である。
図3(C)は、暗号鍵の蓄積量を一定周期でプロットした折れ線グラフを表示する例である。また、鍵蓄積量表示機能部53は、たとえば、
図2(A)に示した棒フラフと、
図3(C)に示した折れ線グラフとを組み合わせて表示するなど、これらを複合した表示形式を採用してもよい。
【0038】
図4は、鍵蓄積量表示機能部53が、アプリケーション実行環境1で動作するアプリケーションプログラム11の一機能部として実現されている場合(
図1:53-2)における、暗号鍵の蓄積量の表示例を示す図である。
【0039】
この場合、暗号鍵の蓄積量は、たとえば
図2や
図3に例示した表示形態で、鍵蓄積量表示機能部53を一機能部として備えるアプリケーションプログラム11が表示するウィンドウ310内に表示される。
図4(A)は、ウィンドウ310の下辺部に暗号鍵の蓄積量の表示領域311を設けた例である。
図4(B)は、ウィンドウ310の右下部に暗号鍵の蓄積量の表示領域312を設けた例である。
図4(C)は、ウィンドウ310の右辺部に暗号鍵の蓄積量の表示領域312を設けた例である。ユーザが、表示領域311~313を適宜に選択できるようにしてもよい。
【0040】
また、
図5は、鍵蓄積量表示機能部53が、表示専用の装置などとして実現されている場合(
図1:53-3)における、暗号鍵の蓄積量の表示例を示す図である。
【0041】
この場合、暗号鍵の蓄積量は、たとえば
図2や
図3に例示した表示形態で、たとえばアプリケーション実行環境1で動作するアプリケーションプログラム11のウィンドウ310が表示される表示画面300の近傍に配置される、表示専用の装置などとして実現されている鍵蓄積量表示機能部53(53-3)の表示画面400上に表示される。
【0042】
このように、鍵蓄積量表示機能部53は、アプリケーション実行環境1で動作する、表示機能に特化した独立したプログラムとして実現されてもよいし、また、アプリケーション実行環境1で動作するアプリケーションプログラム11の一機能部として実現されてもよいし、さらには、専用の表示装置などとして実現されてもよい。
【0043】
図6は、本実施形態の暗号通信システムにおける暗号鍵の生成の手順を示すフローチャートである。
【0044】
鍵交換ノード3の鍵生成管理機能部31は、鍵交換ノード3の鍵蓄積機能部32の暗号鍵の蓄積量が満量(100%)か否かを判定する(S101)。満量でない場合(S101:YES)、鍵生成管理機能部31は、暗号鍵の生成を実行する(S102)。鍵生成管理機能部31が生成する暗号鍵は、鍵蓄積機能部32に蓄積される。満量であった場合は(S101:NO)、鍵生成管理機能部31は、S102をスキップする。
【0045】
鍵生成管理機能部31は、暗号通信システムがサービス継続中であるならば(S103:YES)、S101からの処理を繰り返す。暗号通信システムがサービスを停止すると(S103:NO)、鍵生成管理機能部31は、暗号鍵の生成を終了する。
【0046】
図7は、本実施形態の暗号通信システムにおける暗号化の手順を示すフローチャートである。
【0047】
暗号化/復号実行環境2の暗号化機能部21は、暗号化要求の有無を判定する(S201)。暗号化要求を受けている場合(S201:YES)、暗号化機能部21は、鍵交換ノード3の鍵蓄積機能部32の暗号鍵の蓄積量が閾値(X%)を上回っているか否かを判定する(S202)。閾値は、たとえばネットワークを介して送信されるデータの容量の統計値などに基づいて定められる。
【0048】
閾値を上回っている場合(S202:YES)、暗号化機能部21は、鍵蓄積機能部32が蓄積する暗号鍵を用いて、即ち、暗号鍵を消費して、要求されている暗号化を実行する(S203)。
【0049】
一方、暗号鍵の蓄積量が閾値以下の場合(S202:NO)、暗号化機能部21は、暗号化要求に対してエラーを返答し、S203をスキップする。また、暗号化要求を受けていない場合(S201:NO)、暗号化機能部21は、S202~S203をスキップする。
【0050】
暗号化機能部21は、暗号通信システムがサービス継続中であるならば(S204:YES)、S201からの処理を繰り返す。暗号通信システムがサービスを停止すると(S204:NO)、鍵生成管理機能部31は、暗号化を終了する。
【0051】
図8は、本実施形態の暗号通信システムにおける暗号鍵の蓄積量の通知の手順を示すフローチャートである。
【0052】
本実施形態の暗号通信システムにおける暗号鍵の蓄積量の通知は、大きく分けて、鍵交換ノード3の鍵蓄積量監視機能部51による処理(a1)と、アプリケーション実行環境1の鍵蓄積量通知機能部52による処理(a2)と、アプリケーション実行環境1の鍵蓄積量表示機能部53による処理(a3)との3工程からなる。
【0053】
まず、鍵交換ノード3の鍵蓄積量監視機能部51が、鍵交換ノード3の鍵蓄積機能部32の暗号鍵の蓄積量を取得する(S301)。鍵蓄積量監視機能部51は、取得した暗号鍵の蓄積量を、アプリケーション実行環境1の鍵蓄積量通知機能部52に通知する(S302)。
【0054】
鍵蓄積量通知機能部52は、鍵蓄積量監視機能部51から暗号鍵の蓄積量を受信し(S303)、当該受信した暗号鍵の蓄積量を、アプリケーション実行環境1の鍵蓄積量表示機能部53に通知する(S304)。
【0055】
鍵蓄積量表示機能部53は、鍵蓄積量通知機能部52から暗号鍵の蓄積量を受信し(S305)、当該受信した暗号鍵の蓄積量に基づき、たとえばグラフ化して表示している暗号鍵の蓄積量を更新する(S306)。
【0056】
暗号通信システムがサービス継続中であるならば(S307:YES)、S301からの鍵蓄積量監視機能部51、鍵蓄積量通知機能部52および鍵蓄積量表示機能部53の処理が繰り返される。暗号通信システムがサービスを停止すると(S307:NO)、鍵蓄積量監視機能部51、鍵蓄積量通知機能部52および鍵蓄積量表示機能部53による暗号鍵の蓄積量の通知は終了する。
【0057】
なお、鍵蓄積量監視機能部51と鍵蓄積量通知機能部52との間における暗号鍵の蓄積量の授受は、鍵蓄積量通知機能部52が、たとえば一定間隔で、鍵蓄積量監視機能部51から取得するものであってもよい。
【0058】
このように、本実施形態の暗号通信システムは、暗号鍵の蓄積量をユーザに通知することが可能である。
【0059】
(第2実施形態)
次に、第2実施形態について説明する。
【0060】
図9は、第2実施形態の暗号通信システムの一構成例を示す図である。
【0061】
本実施形態の暗号通信システムは、アプリケーション実行環境1が、帯域制御機能部54をさらに具備する。
【0062】
本実施形態の暗号通信システムにおけるアプリケーション実行環境1の鍵蓄積量通知機能部52は、鍵交換ノード3の鍵蓄積量監視機能部51から通知される、鍵交換ノード3の鍵蓄積機能部32の暗号鍵の蓄積量を、鍵蓄積量表示機能部53に加えて、帯域制御機能部54にも通知する。
【0063】
帯域制御機能部54は、アプリケーション実行環境1で動作するアプリケーションプログラム11と、暗号化/復号実行環境2の暗号化機能部21との間に介在し、鍵蓄積量通知機能部52から通知される暗号鍵の蓄積量に基づき、アプリケーションプログラム11による暗号鍵の消費量を制御する。具体的には、暗号化機能部21へ中継するアプリケーションプログラム11の送信データの量を制限する。つまり、アプリケーションプログラム11の送信データのために利用することができる通信帯域を制御する。
【0064】
帯域制御機能部54は、たとえば、暗号鍵の蓄積量が現在のペースで減少していくと予め定められた時間内に暗号鍵が枯渇することが推測される場合、第1実施形態で説明したような、通信内容(送信元、宛先、プロトコル等)に優先度を持たせるといった対策を取るための制御を実行する。たとえば、帯域制御機能部54は、オンライン会議の映像や音声といったリアルタイムでの転送が求められるオンライン会議用のアプリケーションプログラム11などのデータの送信を、電子メールといった多少の遅延は許容される電子メール用のアプリケーションプログラム11などのデータの送信よりも優先する。
【0065】
帯域制御機能部54は、通信帯域を制限する条件と、その制限内容とを、たとえば起動時のパラメータ入力によって設定することができる。あるいは、エディタなどによって編集可能な設定用のファイルが用意されてもよい。
【0066】
本実施形態の暗号通信システムにおいても、鍵蓄積量表示機能部53によるユーザへの暗号鍵の蓄積量の表示が実行されるので、帯域制御機能部54による通信帯域の制限が実行された際、その原因が暗号鍵の蓄積量にあることを認識することができる。
【0067】
このように、本実施形態の暗号通信システムは、暗号鍵の蓄積量をユーザに通知することが可能であることに加えて、第1実施形態においては、暗号鍵の蓄積量の提示を受けてユーザが行っていた各種対策の一部または全部を、鍵蓄積量通知機能部52から暗号鍵の蓄積量の通知を受ける帯域制御機能部54が自動的に代行することが可能である。
【0068】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0069】
1…アプリケーション実行環境、2…暗号化/復号実行環境、3…鍵交換ノード、11…アプリケーションプログラム、21…暗号化機能部、22…復号機能部、31…鍵生成管理機能部、32…鍵蓄積機能部、51…鍵蓄積量監視機能部、52…鍵蓄積量通知機能部、53…鍵蓄積量表示機能部、54…帯域制御機能部。