(57)【要約】【課題】  暗号通信に用いる暗号鍵を適切に更新するタイミングを動的に決定できる通信装置を提供する。【解決手段】  本発明は、ネットワークを構成する複数の通信装置と共通に使用する暗号鍵を管理する管理装置において、少なくとも、前記ネットワーク内の前記通信装置の全体数、及び前記通信装置のデータ送信周期を含む情報を、通信装置情報として管理する通信装置管理手段と、前記暗号鍵の更新に関する鍵更新閾値を算出し、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第１の処理手段と前記鍵更新閾値と前記通信装置情報とに基づき、前記暗号鍵を更新するタイミングを算出する鍵更新タイミング算出手段とを有することを特徴とする。【選択図】      図１
2018182423.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成する複数の通信装置と共通に使用する暗号鍵を管理する管理装置において、
少なくとも、前記ネットワーク内の前記通信装置の全体数、及び前記通信装置のデータ送信周期を含む情報を、通信装置情報として管理する通信装置管理手段と、
前記暗号鍵の更新に関する鍵更新閾値を算出し、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第１の処理手段と、
前記鍵更新閾値と前記通信装置情報とに基づき、前記暗号鍵を更新するタイミングを算出する鍵更新タイミング算出手段と
を有することを特徴とする管理装置。
【請求項２】
前記通信装置管理手段は、前記通信装置の全体数が増減したとき、又は前記通信装置のデータ送信周期が変更された場合に、新たな前記通信装置情報を前記第１の処理手段に通知し、
前記鍵更新タイミング算出手段は、新たな前記通信装置情報に基づき前記暗号鍵を更新するタイミングを再計算する
ことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記鍵更新閾値は、暗号化方式と鍵長から算出することを特徴とする請求項１又は２に記載の管理装置。
【請求項４】
前記暗号鍵の更新に必要な情報とは、新しい前記暗号鍵であることを特徴とする請求項１〜３のいずれかに記載の管理装置。
【請求項５】
前記暗号鍵の更新に必要な情報とは、前記通信装置に対する前記暗号鍵の更新の指示を示す情報であることを特徴とする請求項１〜３のいずれかに記載の管理装置。
【請求項６】
ネットワークを構成する複数の通信装置と共通に使用する暗号鍵を管理する管理装置に搭載されるコンピュータを、
少なくとも、前記ネットワーク内の前記通信装置の全体数、及び前記通信装置のデータ送信周期を含む情報を、通信装置情報として管理する通信装置管理手段と、
前記暗号鍵の更新に関する鍵更新閾値を算出し、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第１の処理手段と、
前記鍵更新閾値と前記通信装置情報とに基づき、前記暗号鍵を更新するタイミングを算出する鍵更新タイミング算出手段と
して機能させることを特徴とする管理プログラム。
【請求項７】
ネットワークを構成する複数の通信装置と、前記通信装置と共通に使用する暗号鍵を管理する管理装置とを備える通信システムにおいて、
前記管理装置として、請求項１〜５のいずれかに記載の管理装置を適用したことを特徴とする通信システム。
【請求項８】
ネットワークを構成する複数の通信装置と、前記通信装置と共通に使用する暗号鍵を管理する管理装置とを備える通信システムにおいて、
前記管理装置は、
前記暗号鍵の更新に関する鍵更新閾値を算出し、閾値超過通知の閾値を前記通信装置に通知するためのメッセージを生成して、前記通信装置に送信する第２の処理手段と、
前記閾値超過通知の閾値を算出する通知閾値決定手段と、
前記通信装置から前記閾値超過通知を受信すると、前記ネットワーク全体の暗号化送信回数を計算し、前記ネットワーク全体の暗号化送信回数が前記鍵更新閾値以上の場合には、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第３の処理手段とを備え、
前記通信装置は、
前記暗号鍵を用いて暗号化した暗号化メッセージを送信する際に、自身の累計暗号化送信回数をインクリメントし、インクリメントした前記累計暗号化送信回数が、前記閾値超過通知の閾値以上であるか否か比較し、その比較した結果、閾値以上である場合に、前記閾値超過通知を生成して、前記管理装置に送信する第４の処理手段と、
前記管理装置から前記暗号鍵の更新に必要な情報を受信すると、前記暗号鍵の更新に必要な情報に基づいて新しい前記暗号鍵を取得する第５の処理手段とを備える
ことを特徴とする通信システム。
【請求項９】
前記ネットワーク全体の暗号化回数は、前記閾値超過通知を受信していない前記通信装置の想定暗号化送信回数を含むことを特徴とする請求項８に記載の通信システム。
【請求項１０】
前記鍵更新閾値は、暗号化方式と鍵長から算出することを特徴とする請求項８又は９に記載の通信システム。
【請求項１１】
前記管理装置は、前記ネットワーク内の前記通信装置の全体数を、管理する通信装置管理手段をさらに備え、
前記通知閾値決定手段は、前記鍵更新閾値と、前記ネットワーク内の前記通信装置の全体数とに基づき、前記閾値超過通知の閾値を算出する
ことを特徴とする請求項８〜１０のいずれかに記載の通信システム。
【請求項１２】
前記ネットワーク全体の暗号化回数と比較する暗号化閾値を有し、
前記通知閾値決定手段は、前記ネットワーク全体の暗号化回数が、前記暗号化閾値以上の場合に、前記閾値超過通知の閾値を、設定済みの値より小さい値に変更すること特徴とする請求項８〜１１のいずれかに記載の通信システム。
【請求項１３】
前記管理装置は、前記通信装置毎の前記閾値超過通知の受信回数を記憶する閾値超過通知記憶手段をさらに備え、
前記通知閾値決定手段は、前記閾値超過通知の閾値を、前記閾値超過通知記憶手段に記憶された過去の前記閾値超過通知の受信回数に基づき、前記通信装置毎に設定する
ことを特徴とする請求項８〜１１のいずれかに記載の通信システム。
【請求項１４】
ネットワークを構成する複数の通信装置と、前記通信装置と共通に使用する暗号鍵を管理する管理装置とを備える通信システムにおいて、
前記管理装置は、
前記暗号鍵の更新に関する鍵更新閾値を算出し、所定のタイミングで、前記通信装置毎に前記暗号鍵を用いて暗号化した暗号化メッセージの送信回数を示す暗号化送信回数の取得を要求するメッセージを生成し、前記通信装置に送信する第６の処理手段と、
前記通信装置から前記暗号化送信回数を示す情報を受信すると、前記ネットワーク全体の暗号化送信回数を計算し、前記ネットワーク全体の暗号化送信回数が前記鍵更新閾値以上の場合には、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第７の処理手段とを備え、
前記通信装置は、
前記管理装置から前記暗号化送信回数の取得を要求するメッセージを受信すると、前記暗号化送信回数を示す情報を含むメッセージを生成して、前記管理装置に送信する第８の処理手段と、
前記管理装置から前記暗号鍵の更新に必要な情報を受信すると、前記暗号鍵の更新に必要な情報に基づいて新しい前記暗号鍵を取得する第９の処理手段とを備える
ことを特徴とする通信システム。
【請求項１５】
前記タイミングは、周期的であることを特徴とする請求項１４に記載の通信システム。
【請求項１６】
前記ネットワーク全体の暗号化送信回数に基づき、前記タイミングを定める送信間隔決定手段をさらに備えることを特徴とする請求項１４に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理プログラム、及び通信システムに関し、例えば、暗号通信を適用している通信システムに適用し得る。
【背景技術】
【０００２】
従来、有線および無線のネットワークでメッセージ通信を行うシステムでは、暗号通信によって不正な第３者による通信の傍受を防止している。暗号通信とは、送信者は通信するメッセージを暗号鍵によって暗号化して送信し、受信者は暗号化されたメッセージを復号鍵によって復号して送信者のメッセージを得るものである。復号鍵は、暗号化方式によって異なるが、例えば、共通鍵暗号方式であれば暗号鍵と同一の鍵であり、公開鍵暗号方式であれば暗号鍵と異なる鍵となる。暗号通信では、同じ暗号鍵を使い続けると復号鍵は不正な第３者による解析によって特定される可能性が高くなる。そのため、暗号鍵と復号鍵は定期的に新しい鍵に更新する必要がある。一般的に鍵の更新間隔は「１か月に１回」や「１日に１回」といったようにネットワーク運用前に静的に決められている。
【０００３】
しかしながら、本来適切な鍵の更新タイミングは、鍵が暗号化に使用された回数等によって決定されるべきである。例えば、６４ビットのブロック暗号ＭＩＳＴＹ１では、同じ暗号鍵で暗号化された暗号文と平文の組が２の６４乗個存在するときに現実的な計算量で当該暗号鍵を導出することができることが知られている。つまり、６４ビットのＭＩＳＴＹ１では、同じ暗号鍵が２の６４乗回暗号化に使用される前に鍵更新する必要がある。暗号鍵の使用回数は、例えば、ネットワークの全通信装置が同じ暗号鍵を使用する場合では、各通信装置の暗号化送信回数の総和で求まる。ただし、各通信装置の通信頻度やネットワークの通信装置数などは一般にネットワークの運用中に動的に変化するため、適切な鍵更新のタイミングを運用前に静的に決定することはできない。つまり、通信装置の通信頻度や通信装置数などから、鍵の更新タイミングを動的に変更する手段が必要となる。
【０００４】
もし、鍵の更新タイミングが適切な鍵の更新タイミングより長い場合、安全に暗号通信できない期間が生じてしまう。また、鍵の更新タイミングが適切な鍵の更新タイミングより短い場合、不必要な鍵の更新が発生し、鍵更新のための通信によって帯域の無駄遣いが生じてしまう。
【０００５】
鍵の更新タイミングを動的に変更する手段として、例えば、特許文献１に記載の技術が存在する。特許文献１に記載の技術では、通信装置のＣＰＵ使用量や直近の通信量を基に、予め定められた鍵更新タイミング以外のタイミングにより、新しい鍵を配送する。特許文献１に記載の技術の目的は、鍵の有効期限の直前に通信装置の鍵を一斉に鍵配送すると、ネットワークの輻輳などによって有効期限内に鍵更新できない通信装置が現れるため、これを防ぐことにある。特許文献１に記載の技術では、管理装置が、通信装置のＣＰＵ使用量や直近の通信量を監視しておき、通信装置の負荷が高くないとき（ＣＰＵ使用量が少ない場合や、直近の通信量が小さい場合）に、事前に鍵配送する。上記手法により、通信装置ごとに鍵配送のタイミングをずらすことができるため、有効期限内に全通信装置の鍵更新を完了させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１０３９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の技術は、鍵配送のタイミングをずらすためのものであり、適切な鍵の更新タイミングを導き出す技術では無い。つまり、先に述べたように、適切な鍵の更新タイミングが設定できないために、安全に暗号通信できない期間が生じてしまうこともあるし、また、不必要な鍵の更新が発生することにより、帯域の無駄遣いが生じてしまうことにもなる。
【０００８】
そのため、暗号通信に用いる暗号鍵を適切に更新するタイミングを動的に決定できる管理装置、管理プログラム、及び通信システムが望まれている。
【課題を解決するための手段】
【０００９】
第１の本発明は、ネットワークを構成する複数の通信装置と共通に使用する暗号鍵を管理する管理装置において、（１）少なくとも、前記ネットワーク内の前記通信装置の全体数、及び前記通信装置のデータ送信周期を含む情報を、通信装置情報として管理する通信装置管理手段と、（２）前記暗号鍵の更新に関する鍵更新閾値を算出し、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第１の処理手段と、（３）前記鍵更新閾値と前記通信装置情報とに基づき、前記暗号鍵を更新するタイミングを算出する鍵更新タイミング算出手段とを有することを特徴とする。
【００１０】
第２の本発明の管理プログラムは、（１）ネットワークを構成する複数の通信装置と共通に使用する暗号鍵を管理する管理装置に搭載されるコンピュータを、（２）少なくとも、前記ネットワーク内の前記通信装置の全体数、及び前記通信装置のデータ送信周期を含む情報を、通信装置情報として管理する通信装置管理手段と、（３）前記暗号鍵の更新に関する鍵更新閾値を算出し、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第１の処理手段と、（４）前記鍵更新閾値と前記通信装置情報とに基づき、前記暗号鍵を更新するタイミングを算出する鍵更新タイミング算出手段として機能させることを特徴とする。
【００１１】
第３の本発明は、ネットワークを構成する複数の通信装置と、前記通信装置と共通に使用する暗号鍵を管理する管理装置とを備える通信システムにおいて、前記管理装置として、第１の本発明の管理装置を適用したことを特徴とする。
【００１２】
第４の本発明は、ネットワークを構成する複数の通信装置と、前記通信装置と共通に使用する暗号鍵を管理する管理装置とを備える通信システムにおいて、前記管理装置は、（１−１）前記暗号鍵の更新に関する鍵更新閾値を算出し、閾値超過通知の閾値を前記通信装置に通知するためのメッセージを生成して、前記通信装置に送信する第２の処理手段と、（１−２）前記閾値超過通知の閾値を算出する通知閾値決定手段と、（１−３）前記通信装置から前記閾値超過通知を受信すると、前記ネットワーク全体の暗号化送信回数を計算し、前記ネットワーク全体の暗号化送信回数が前記鍵更新閾値以上の場合には、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第３の処理手段とを備え、前記通信装置は、（２−１）前記暗号鍵を用いて暗号化した暗号化メッセージを送信する際に、自身の累計暗号化送信回数をインクリメントし、インクリメントした前記累計暗号化送信回数が、前記閾値超過通知の閾値以上であるか否か比較し、その比較した結果、閾値以上である場合に、前記閾値超過通知を生成して、前記管理装置に送信する第４の処理手段と、（２−２）前記管理装置から前記暗号鍵の更新に必要な情報を受信すると、前記暗号鍵の更新に必要な情報に基づいて新しい前記暗号鍵を取得する第５の処理手段とを備えることを特徴とする。
【００１３】
第５の本発明は、ネットワークを構成する複数の通信装置と、前記通信装置と共通に使用する暗号鍵を管理する管理装置とを備える通信システムにおいて、前記管理装置は、（１−１）前記暗号鍵の更新に関する鍵更新閾値を算出し、所定のタイミングで、前記通信装置毎に前記暗号鍵を用いて暗号化した暗号化メッセージの送信回数を示す暗号化送信回数の取得を要求するメッセージを生成し、前記通信装置に送信する第６の処理手段と、（１−２）前記通信装置から前記暗号化送信回数を示す情報を受信すると、前記ネットワーク全体の暗号化送信回数を計算し、前記ネットワーク全体の暗号化送信回数が前記鍵更新閾値以上の場合には、前記暗号鍵の更新に必要な情報を生成して、前記通信装置に送信する第７の処理手段とを備え、前記通信装置は、（２−１）前記管理装置から前記暗号化送信回数の取得を要求するメッセージを受信すると、前記暗号化送信回数を示す情報を含むメッセージを生成して、前記管理装置に送信する第８の処理手段と、（２−２）前記管理装置から前記暗号鍵の更新に必要な情報を受信すると、前記暗号鍵の更新に必要な情報に基づいて新しい前記暗号鍵を取得する第９の処理手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、暗号通信に用いる暗号鍵を適切に更新するタイミングを動的に決定できる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る管理装置の機能的構成について示すブロック図である。
【図２】第１の実施形態に係る通信システムの全体構成例を示すブロック図である。
【図３】第１の実施形態に係る通信装置の機能的構成について示すブロック図である。
【図４】第１の実施形態に係る管理装置の動作（ネットワーク立ち上げ時の初期動作）を示すフローチャートである。
【図５】第１の実施形態に係る管理装置の動作（鍵更新タイミングの算出動作）を示すフローチャートである。
【図６】第１の実施形態に係る管理装置の動作（通信装置がネットワークに新規追加された場合の動作）を示すフローチャートである。
【図７】第１の実施形態に係る管理装置の動作（鍵更新の動作）を示すフローチャートである。
【図８】第１の実施形態に係る通信装置の動作（鍵更新の動作）を示すフローチャートである。
【図９】第２の実施形態に係る管理装置の機能的構成について示すブロック図である。
【図１０】第２の実施形態に係る通信装置の機能的構成について示すブロック図である。
【図１１】第２の実施形態に係る管理装置の動作（閾値超過通知の閾値決定動作）を示すフローチャートである。
【図１２】第２の実施形態に係る管理装置の動作（閾値超過通知の受信時の動作）を示すフローチャートである。
【図１３】第２の実施形態に係る通信装置の動作（暗号化メッセージ送信時動作）を示すフローチャートである。
【図１４】第２の実施形態に係る管理装置の動作（鍵更新の動作）を示すフローチャートである。
【図１５】第２の実施形態に係る通信装置の動作（鍵更新の動作）を示すフローチャートである。
【発明を実施するための形態】
【００１６】
（Ａ）第１の実施形態
以下、本発明による管理装置、管理プログラム、及び通信システムの第１の実施形態を、図面を参照しながら詳述する。
【００１７】
（Ａ−１）第１の実施形態の構成
（Ａ−１−１）全体構成
図２は、第１の実施形態に係る通信システム１の全体構成例を示すブロック図である。まず、通信システム１の構成について説明する。
【００１８】
通信システム１には、通信装置２０（２０−１〜２０−ｎ）を管理する管理装置１０と、通信を行う複数の通信装置２０が配置されている。通信システム１に配置される各装置の数は限定されないものであるが、この実施形態の通信システム１では、１台の管理装置１０と、複数台の通信装置２０（２０−１〜２０−ｎ）が配置されているものとして説明する。
【００１９】
また、通信システム１では、管理装置１０及び通信装置２０−１〜２０−ｎを含むノードにより通信ネットワークが構成されているものとする。以下では、管理装置１０及び通信装置２０のことを、通信ネットワークを構成する「ノード」とも呼ぶものとする。通信システム１内の各装置間（ノード間）の通信方式（通信媒体）については、有線、無線を問わず、限定されないものである。
【００２０】
次に、第１の実施形態の通信システム１の特徴について説明する。
【００２１】
第１の実施形態の通信システム１において、通信装置２０は、管理装置１０によって与えられたパラメータに従って、定期的にデータを管理装置１０に送信する。なお、通信装置２０は、新たに通信ネットワークに追加されたり、通信ネットワークから離脱することがある。管理装置１０は、通信装置２０を管理し、通信装置２０の台数や通信装置２０のデータ送信周期から、ネットワーク全体で発生する通信量を算出し、鍵更新タイミングを算出する。
【００２２】
（Ａ−１−２）管理装置の詳細な構成
図１は、第１の実施形態に係る管理装置の機能的構成について示すブロック図である。図１において、管理装置１０は、通信部１１、処理部１２、記憶部１３、タイマ部１４、通信装置管理部１５、及び鍵更新タイミング算出部１６を有する。
【００２３】
管理装置１０は、例えば、プロセッサ及びメモリを有するコンピュータにプログラム（実施形態に係る管理プログラムを含む）をインストールすることにより構築するようにしても良い。また、管理装置１０は、一部又は全部をハードウェア（例えば、専用の半導体チップや電気回路等）を用いて構成するようにしても良い。
【００２４】
通信装置管理部１５は、ネットワーク内の通信装置２０の全体数（以下、「通信装置数」と呼ぶ）や、通信装置２０に設定されたパラメータを管理する手段を有する。通信装置管理部１５は、処理部１２から要求があった場合、又は通信装置数の増減があった場合に、処理部１２へ通信装置情報を通知する。通信装置情報とは、例えば、通信装置数、通信装置２０のデータ送信周期を含む情報である。
【００２５】
処理部１２は、通信ネットワーク立ち上げ時（構築時）、又は通信装置管理部１５から通信装置情報の通知を受けて、鍵更新タイミングの導出に伴う種々の処理を他の各部に要求する手段を有する。処理部１２は、鍵更新タイミングの算出が必要になると、記憶部１３から鍵情報を取得する。鍵情報とは、暗号化通信に使用される暗号鍵の鍵長や暗号化方式（例えば、ＡＥＳ、ＲＳＡ等）である。また、処理部１２は、鍵情報から鍵更新が必要となる暗号化回数（以下、「鍵更新閾値」と呼ぶ）を算出する。さらに、処理部１２は、通信装置管理部１５から通信装置情報を取得し、鍵更新閾値と共に鍵更新タイミング算出部１６に鍵更新タイミングの算出を要求する。処理部１２は、記憶部１３に算出された鍵更新タイミングの保存を要求する。また、処理部１２は、通信装置管理部１５から通信装置情報の変更通知を受けた場合、記憶部１３から鍵更新タイミングを取得し、算出された鍵更新タイミングとの差から新しい鍵更新タイミングを算出する。処理部１２は、鍵更新タイミングまでの時間だけタイマ部１４にセットを要求する。そして、処理部１２は、タイマ部１４から発火通知を受けて、新しい鍵を生成し、通信部１１に送信を要求する。
【００２６】
鍵更新タイミング算出部１６は、通信装置情報と鍵更新閾値とに基づいて、鍵更新タイミングを算出する手段を有する。鍵更新タイミング算出部１６は、処理部１２から鍵更新タイミングの算出要求を受信すると、鍵更新タイミングを算出して、処理部１２に算出結果を送信する。
【００２７】
記憶部１３は、鍵情報と鍵更新タイミングを保持する手段を有する。記憶部１３は、処理部１２から鍵更新タイミングの保存を要求されると、要求された鍵更新タイミングを内部メモリに保存する。記憶部１３は、処理部１２から鍵更新タイミングの取得要求を受信すると、保存されている鍵更新タイミングを処理部１２に送信する。
【００２８】
タイマ部１４は、処理部１２から指定された時間のタイマをセットして管理する手段を有する。タイマ部１４は、セットしているタイマが発火したとき処理部１２に通知する。
【００２９】
通信部１１は、処理部１２から受信したメッセージを通信装置２０に送信し、又通信装置２０から受信したメッセージを処理部１２に通知する手段を有する。
【００３０】
（Ａ−１−３）通信装置の詳細な構成
図３は、第１の実施形態に係る通信装置の機能的構成について示すブロック図である。図３において、通信装置２０は、通信部２１、記憶部２２、及び処理部２３を有する。
【００３１】
通信装置２０は、例えば、プロセッサ及びメモリを有するコンピュータにプログラムをインストールすることにより構築するようにしても良い。また、通信装置２０は、一部又は全部をハードウェア（例えば、専用の半導体チップや電気回路等）を用いて構成するようにしても良い。
【００３２】
処理部２３は、管理装置１０に送信するデータを生成し、暗号鍵で暗号化して通信部２１送信を要求する手段を有する。処理部２３は、通信部２１から暗号鍵を受信し、記憶部２２に暗号鍵の保存を要求する。
【００３３】
通信部２１は、管理装置１０とデータを送受信する手段を有する。通信部２１は、管理装置１０からデータを受信すると処理部２３に通知する。通信部２１は、処理部２３からデータ送信要求を受けると、管理装置１０にデータを送信する。
【００３４】
記憶部２２は、暗号鍵を保持する手段を有する。記憶部２２は、処理部２３から暗号鍵の保存要求を受けると、内部メモリに暗号鍵を保存する。記憶部２２は、処理部２３から暗号鍵の取得要求を受けると、保持する暗号鍵を処理部に送信する。
【００３５】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態の通信システム１の動作を説明する。
【００３６】
以下では、通信システム１において、鍵更新（鍵更新タイミング算出を含む）動作が実行される際の管理装置１０及び各通信装置２０の動作の例（図４〜図８）について説明する。
【００３７】
ネットワーク立ち上げ時の管理装置１０の鍵更新タイミング算出動作は、後述するステップＳ１０１（図４）及びＳ１０２（図５）である。また、新たに通信装置２０がネットワークに参加したときの管理装置１０の鍵更新タイミング算出動作は、後述するステップＳ１０３（図６）である。さらに、鍵更新時の管理装置１０及び通信装置２０の動作は、後述するステップＳ１０４（図７）及びＳ１０５（図８）である。
【００３８】
図４は、ネットワーク立ち上げ時の管理装置の動作の例について示したフローチャートである。
【００３９】
［ステップＳ１０１：初期パラメータの設定］
管理装置１０の処理部１２は、ネットワークの立ち上げに際し、鍵情報として通信の暗号化に使用する暗号鍵の鍵長、暗号化方法を決定し、記憶部１３に保存する（Ｓ１０１−１）。
【００４０】
次に、処理部１２は、通信装置管理部１５に通信装置情報を要求する（Ｓ１０１−２）。通信装置管理部１５は、ネットワークに参加予定の通信装置数、データの送信周期を決定し、処理部１２に通知する。
【００４１】
処理部１２は、通信装置情報を受信すると、後述するステップＳ１０２の処理を実行する（Ｓ１０１−３）。
【００４２】
［ステップＳ１０２：鍵更新タイミングの算出］
管理装置１０の処理部１２は、通信装置情報を受信すると、記憶部１３から鍵情報を取得し、鍵更新閾値を計算する（Ｓ１０２−１、Ｓ１０２−２）。鍵更新閾値は、暗号化方式や鍵長によって異なものであるが、例えば、鍵長６４ビットのＭＩＳＴＹ１では２の６４乗回が、鍵更新閾値を決定するための指標となる。処理部１２は、鍵更新タイミング算出部１６に通信装置情報及び鍵更新閾値を送信する。
【００４３】
鍵更新タイミング算出部１６は、鍵更新タイミングを、以下の（１）式に基づき算出する（Ｓ１０２−３）。
鍵更新タイミング＝鍵更新閾値÷（通信装置数÷データ送信周期（秒））  …（１）
【００４４】
鍵更新タイミング算出部１６は、上記（１）式により算出した鍵更新タイミングを処理部１２に送信する。処理部１２は、鍵更新タイミングを受信すると、記憶部１３から現在の鍵更新タイミングを取得する。
【００４５】
処理部１２は、現在の鍵更新タイミングが設定されていない場合（空の場合）、受信した鍵更新タイミングを記憶部１３に保存する（Ｓ１０２−４）。一方、処理部１２は、現在の鍵更新タイミングが設定されている場合（非空の場合）、受信した鍵更新タイミングに上書きする。
【００４６】
処理部１２は、タイマ部１４から現在動作しているタイマの残り時間を取得し、タイマが動作しているか否か判定する（Ｓ１０２−５、Ｓ１０２−６）。処理部１２は、タイマが動作していないと判定された場合には、後述するステップＳ１０２−８を実行し、タイマが動作していると判定された場合には、次の処理を実行する。
【００４７】
処理部１２は、鍵更新タイミングのタイマを、以下の（２）式に基づき算出する（Ｓ１０２−７）。
鍵更新タイミングのタイマ＝（受信した鍵更新タイミング÷現在の鍵更新タイミング）×タイマの残り時間  …（２）
【００４８】
一方、処理部１２は、先述のステップＳ１０２−６の処理で、タイマが動作していないと判定された場合には、受信した鍵更新タイミングに基づくタイマを設定する（Ｓ１０２−８）。
【００４９】
［ステップＳ１０３：新しい通信装置の参加］
管理装置１０の通信装置管理部１５は、ネットワークに新しい通信装置２０が参加すると（又はネットワークから既存の通信装置２０が離脱すると）、通信装置管理部１５で管理する通信装置数（ネットワーク内の全通信装置２０）に変更が生じるため、処理部１２に通知を行う（Ｓ１０３−１）。
【００５０】
処理部１２は、通信装置管理部１５から通信装置情報の通知を受ける（Ｓ１０３−２）。
【００５１】
処理部１２は、通信装置情報の通知を受信すると、先述のステップＳ１０２の処理を実施する（Ｓ１０３−３）。
【００５２】
なお、このステップＳ１０３の処理は、通信装置２０のデータの送信周期が変更された場合でも、上記同様に実行される。
【００５３】
［ステップＳ１０４：管理装置の鍵更新］
管理装置１０の処理部１２は、タイマ部１４からタイマ発火通知を受信すると、新しい暗号鍵を生成する（Ｓ１０４−１、Ｓ１０４−２）。
【００５４】
処理部１２は、新しい暗号鍵の送信を通信部１１に要求し、通信部１１を介して各通信装置２０に新しい暗号鍵を送信する（Ｓ１０４−３）。なお、新しい暗号鍵は、現在の暗号鍵で暗号化して送信されるなど、セキュアに送信されてもよい。
【００５５】
処理部１２は、全通信装置２０に鍵配送が完了すると新しい暗号鍵の鍵更新タイミングをセットするために、記憶部１３から鍵更新タイミングを取得し、その値をタイマにセットする（Ｓ１０４−４）。
【００５６】
［ステップＳ１０５：通信装置の鍵更新］
通信装置２０の通信部２１は、管理装置１０から新しい暗号鍵を受信すると、処理部２３に通知する（Ｓ１０５−１）。処理部２３は、新しい暗号鍵を記憶部２２に保存する（Ｓ１０５−２）。ここで、新しい暗号鍵が暗号化されている場合には、通信部２１は、管理装置１０から新しい暗号鍵を受信すると、処理部２３に通知する。処理部２３は、新しい暗号鍵を記憶部に保存する。なお、新しい暗号鍵が暗号化されている場合には、対応する復号鍵で復号してから記憶部２２に保存してもよい。
【００５７】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、暗号鍵の更新タイミングは、鍵更新タイミング算出部１６（例えば、（１）式）によって適切な値が算出される。また、ネットワーク運用中に通信装置数が増減したり、データの送信周期が変更された場合でも、その都度、適切な更新タイミングに更新（動的に変更）される。これにより、パラメータ変更などによって、鍵更新タイミングが適切値よりも短い設定値になって不必要な鍵更新が発生してしまう問題や、鍵更新タイミングが適切値よりも長い設定値になって暗号鍵を解読されてしまうリスクを低減することができる。
【００５８】
（Ｂ）第２の実施形態
以下、本発明による管理装置、管理プログラム、及び通信システムの第２の実施形態を、図面を参照しながら詳述する。
【００５９】
（Ｂ−１）第２の実施形態の構成
（Ｂ−１−１）全体構成
第２の実施形態の通信システム１の構成についても、第１の実施形態と同様に図２を用いて示すことができる。ただし、第２の実施形態の通信システム１では、管理装置１０の代わりに後述する管理装置１０Ａが、通信装置２０の代わりに後述する通信装置２０Ａが、それぞれ適用される。
【００６０】
第１の実施形態の通信システム１において、ネットワークで発生する通信量は、管理装置で設定したパラメータで一意に算出できるものであった。しかしながら、より汎用的なネットワークシステムでは、管理装置のみでは通信量を予測できない場合もある。例えば、通信装置同士がエンド・エンドでデータ通信する場合がある。また、例えば、データはイベントドリブンで不定期に管理装置に送信される場合がある。第２の実施形態の通信システム１は、上記のような場合でも適切な鍵更新タイミングを動的に算出する。
【００６１】
具体的には、管理装置１０Ａは各通信装置２０Ａに対し、暗号化送信回数の閾値を設定する。通信装置２０Ａは、自らの暗号化送信回数が設定された閾値を超えたときに管理装置に通知を送信する。管理装置１０Ａは、通信装置２０Ａからの通知からネットワーク全体の暗号化送信回数を把握し、ネットワーク全体の暗号化送信回数が鍵更新閾値を超えた場合に鍵更新を実施する。
【００６２】
（Ｂ−１−２）管理装置の詳細な構成
図９は、第２の実施形態に係る管理装置の機能的構成について示すブロック図である。図９において、管理装置１０Ａは、通信部１１、処理部１２Ａ、記憶部１３Ａ、通信装置管理部１５、及び通知閾値決定部１７を有する。図９では、先述の図１の構成と同一又は対応する構成については、同一又は対応する符号を付して示している。
【００６３】
管理装置１０Ａは、例えば、プロセッサ及びメモリを有するコンピュータにプログラムをインストールすることにより構築するようにしても良い。また、管理装置１０Ａは、一部又は全部をハードウェア（例えば、専用の半導体チップや電気回路等）を用いて構成するようにしても良い。
【００６４】
以下では、図１とは異なる構成である処理部１２Ａ、通知閾値決定部１７、及び記憶部１３Ａについてのみ説明する。
【００６５】
処理部１２Ａは、第１の実施形態の処理部１２の機能に加え、通信装置２０Ａへの暗号化送信回数の閾値を決定するための処理を各部に要求する手段を有する。処理部１２Ａは、通知閾値決定部１７に閾値の算出を要求する。また、処理部１２Ａは、算出された閾値の送信を通信部１１に要求する。さらに、処理部１２Ａは、通信部１１を介して、通信装置２０Ａから閾値超過通知を受けると、鍵更新の必要可否を決定する。
【００６６】
通知閾値決定部１７は、処理部１２Ａからの閾値算出の要求を受けて、閾値を決定し、処理部１２Ａに通知する手段を有する。
【００６７】
記憶部１３Ａは、処理部１２Ａから暗号化送信回数の取得要求を受信すると、保持する暗号化送信回数を通知する。また、処理部１２Ａから暗号化送信回数の保存要求を受信すると、受信した暗号化送信回数を保存する。
【００６８】
（Ｂ−１−３）通信装置の詳細な構成
図１０は、第２の実施形態に係る通信装置の機能的構成について示すブロック図である。図１０において、通信装置２０Ａは、通信部２１、記憶部２２Ａ、及び処理部２３Ａを有する。図１０では、先述の図３の構成と同一又は対応する構成については、同一又は対応する符号を付して示している。
【００６９】
通信装置２０Ａは、例えば、プロセッサ及びメモリを有するコンピュータにプログラムをインストールすることにより構築するようにしても良い。また、通信装置２０Ａは、一部又は全部をハードウェア（例えば、専用の半導体チップや電気回路等）を用いて構成するようにしても良い。
【００７０】
以下では、図３とは異なる構成である処理部２３Ａ、及び記憶部２２Ａについてのみ説明する。
【００７１】
処理部２３Ａは、第１の実施形態の処理部２３の機能に加え、自身の暗号化送信回数が管理装置１０Ａから通知された閾値を超えたか否かを判定する手段を有する。処理部２３Ａは、暗号化メッセージを送信する度に記憶部２２Ａから通知の閾値と累計暗号化送信回数を取得し、通知の要否を判断する。具体的には、累計暗号化送信回数をインクリメントした値が、通知の閾値を超えたか否かで判断する。処理部２３Ａは、通知が必要と判断した場合、通信部２１に閾値超過通知の送信を要求する。
【００７２】
記憶部２２Ａは、第１の実施形態の記憶部２２Ａの機能に加え、閾値超過通知を送信する閾値と累計暗号化送信回数を保持する手段を有する。記憶部２２Ａは、処理部２３Ａから閾値超過通知の閾値や累計暗号化送信回数の保存の要求を受信すると当該情報を保存し、取得の要求を受信すると当該情報を通知する。
【００７３】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態の通信システム１の動作を説明する。
【００７４】
以下では、第２の実施形態の通信システム１において、鍵更新（事前動作を含む）動作が実行される際の管理装置１０Ａ及び各通信装置２０Ａの動作の例（図１１〜図１５）について説明する。
【００７５】
通信装置２０Ａが閾値超過通知を送信するか否か決定する際に参照される、閾値の決定動作（管理装置１０Ａの動作）は、後述するステップＳ２０１（図１１）である。また、閾値超過通知を受信する管理装置１０Ａの動作は、後述するステップＳ２０２（図１２）である。さらに、暗号化メッセージを送信する通信装置２０Ａの動作は、後述するステップＳ２０３（図１３）である。そして、鍵更新時の管理装置１０Ａ及び通信装置２０Ａの動作は、後述するステップＳ２０４（図１４）及びＳ２０５（図１５）である。
【００７６】
［ステップＳ２０１：閾値超過通知の閾値決定動作］
管理装置１０Ａの処理部１２Ａは、ネットワークが立ち上がると、鍵情報を決定し、記憶部１３Ａに鍵情報を保存する（Ｓ２０１−１）。このとき処理部１２Ａは、鍵情報から鍵更新閾値を算出する。
【００７７】
次に処理部１２Ａは、通信装置管理部１５から通信装置数を取得し、鍵更新閾値と通信装置数を通知閾値決定部１７に送信する（Ｓ２０１−２）。
【００７８】
通知閾値決定部は、閾値超過通知の閾値を、以下の（３）式に基づき算出する（Ｓ２０１−３）。
閾値超過通知の閾値＝鍵更新閾値÷通信装置数  …（３）
【００７９】
処理部１２Ａは、上記（３）式に基づき算出された閾値超過通知の閾値を、通知閾値決定部から受信すると、記憶部１３Ａに閾値超過通知の閾値を保存する。
【００８０】
処理部１２Ａは、通信部１１に閾値超過通知の閾値の送信を要求し、通信部１１を介して各通信装置２０Ａに対して閾値超過通知の閾値を送信する（Ｓ２０１−４）。
【００８１】
［ステップＳ２０２：閾値超過通知の受信動作］
管理装置１０Ａの通信部１１は、通信装置２０Ａから閾値超過通知を受信すると、処理部１２Ａに通知する（Ｓ２０２−１）。処理部１２Ａは、記憶部１３Ａから閾値超過通知の閾値と、閾値超過通知の受信回数を取得する。
【００８２】
次に処理部１２Ａは、閾値超過通知の受信回数をインクリメントし、閾値超過通知の閾値と掛け合わせることでネットワーク全体の暗号化送信回数を算出する（Ｓ２０２−２、Ｓ２０２−３）。
【００８３】
処理部１２Ａは、先述のステップＳ２０２−３により、算出した暗号化送信回数が、鍵更新閾値以上か否か判定する（Ｓ２０２−４）。処理部１２Ａは、算出した暗号化送信回数が、鍵更新閾値以上の場合には、鍵更新が必要と判断し、後述するステップＳ２０４の処理を実行する（Ｓ２０２−５）。
【００８４】
一方、処理部１２Ａは、算出した暗号化送信回数が、鍵更新閾値より少ない場合には、インクリメントした閾値超過の受信回数を記憶部１３Ａに保存する（Ｓ２０２−６）。
【００８５】
［ステップＳ２０３：暗号化メッセージ送信時動作］
通信装置２０Ａの処理部２３Ａは、暗号化メッセージの送信に際し、記憶部２２Ａから閾値超過通知の閾値と累計暗号化送信回数を取得する（Ｓ２０３−１）。
【００８６】
次に処理部２３Ａは、累計暗号化送信回数をインクリメントし、閾値超過通知の閾値と比較する（Ｓ２０３−２、Ｓ２０３−３）。処理部２３Ａは、累計暗号化送信回数が閾値以上であれば、後述するステップＳ２０３−４の処理を実行し、閾値未満であれば後述するステップＳ２０３−６の処理を実行する。
【００８７】
処理部２３Ａは、先述のステップＳ２０３−３の処理により、累計暗号化送信回数が閾値以上であれば、通信部２１に閾値超過通知の送信を要求し、通信部２１を介して、管理装置１０Ａに閾値超過通知を送信する（Ｓ２０３−４）。
【００８８】
処理部２３Ａは、閾値超過通知を送信した場合、累計暗号化送信回数を０にリセットして記憶部２２Ａに保存する（Ｓ２０３−５）。
【００８９】
一方、処理部２３Ａは、先述のステップＳ２０３−３の処理により、累計暗号化送信回数が閾値未満であれば、累計暗号化送信回数を記憶部２２Ａに保存する（Ｓ２０３−６）。
【００９０】
［ステップＳ２０４：鍵更新動作（管理装置）］
管理装置１０Ａの処理部１２Ａは、鍵更新が必要になると、新しい暗号鍵を生成し、通信部１１に送信を要求する（Ｓ２０４−１）。
【００９１】
通信部１１は各通信装置２０Ａに新しい暗号鍵を送信する（Ｓ２０４−２）。
【００９２】
処理部１２Ａは、閾値超過通知の受信回数を０にリセットし、記憶部１３Ａに保存する（Ｓ２０４−３）。
【００９３】
［ステップＳ２０５：鍵更新動作（通信装置）］
通信装置２０Ａの通信部２１は、新しい暗号鍵を受信すると処理部２３Ａに通知する（Ｓ２０５−１）。
【００９４】
処理部２３Ａは新しい暗号鍵を記憶部２２Ａに保存する（Ｓ２０５−２）。
【００９５】
処理部２３Ａは、累計暗号化送信回数を０にリセットし記憶部２２Ａに保存する（Ｓ２０５−３）。
【００９６】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、第１の実施形態で述べた効果に加えて以下の効果を奏する。
【００９７】
管理装置１０Ａは、各通信装置２０Ａに対し暗号化通信量の閾値を設定し、通信装置２０Ａは暗号化通信量が閾値を超えると、管理装置１０Ａに超過通知を送信する。各通信装置２０Ａからの通知により、管理装置１０Ａはネットワーク全体の通信量を把握できる。これにより、通信装置２０Ａ同士がエンド・エンドで通信する場合でも、適切なタイミングで鍵更新を実施できる。
【００９８】
（Ｃ）他の実施形態
上記各実施形態に加えて、さらに、以下に例示するような変形実施形態も挙げることができる。
【００９９】
（Ｃ−１）上記第２の実施形態では、管理装置１０Ａでの鍵更新の要否判断は、受信した閾値超過通知（回数）に閾値超過通知の閾値を掛け合わせたものが鍵更新閾値以上であるかで判断したが（先述のステップＳ２０２−３の処理）、これに限定されるものではない。例えば、単純な掛け合わせでは、閾値超過通知を送信していない通信装置２０Ａの暗号送信化回数をカウントできないため、閾値超過通知を送信していない通信装置２０Ａの想定暗号化送信回数（例えば、閾値超過通知の閾値÷２の値）を足し合わせた値を、鍵更新閾値と比較しても良い。
【０１００】
（Ｃ−２）上記第２の実施形態では、閾値超過通知の閾値を、鍵更新閾値を通信装置２０Ａの数で割った定数値としたが、これに限定されるものではない。例えば、閾値超過通知の閾値は、通信装置数に依存しない定数値としても良い。閾値超過通知の閾値を大きい値に設定すると、通信装置２０Ａからの閾値超過通知の頻度が少なくなるため、適切な鍵更新タイミング（つまり鍵更新閾値）で鍵更新できない可能性が高くなるが、閾値超過通知による通信量は少なくなる。一方、閾値超過通知の閾値を小さい値に設定すると、通信装置２０Ａからの閾値超過通知が頻繁に送られるため、適切な鍵更新タイミングで鍵更新できる可能性が高くなるが、閾値超過通知による通信量が多くなる。そこで、累計暗号化送信回数に基づいて、動的に閾値を変更する方法が考えられる。具体的には、初期値として、閾値超過通知の閾値を比較的大きい値に設定しておき、通信装置２０Ａから閾値超過通知を受信し、累計暗号化送信回数が増加したとき（例えば、累計暗号化送信回数と比較する閾値を設け、累計暗号化送信回数が閾値を超えたとき）に、初期値より小さい閾値（閾値超過通知の閾値）を通信装置２０Ａに設定する（この動作を鍵更新閾値まで複数回繰り返す）。このような閾値の動的な決定方法により、適切な鍵更新タイミングでの鍵更新の実現と、閾値超過通知の通信量の抑制を両立できる。
【０１０１】
（Ｃ−３）上記第２の実施形態では、閾値超過通知の閾値を全通信装置２０Ａで同一にしていたがこれに限定されるものではなく、通信装置２０Ａごとに異なる閾値を設定してもよい。例えば、管理装置１０Ａが、通信装置２０Ａごとの閾値超過通知の受信回数を記憶しておき、受信回数が多い通信装置２０Ａほど閾値を大きく設定し、受信回数が少ない通信装置２０Ａほど小さく設定する方法が考えられる。このように過去の受信回数に応じて閾値を設定することで、受信回数が多い通信装置２０Ａは、閾値超えの通知頻度が下がるため閾値超え通知の通信量を削減でき、受信回数が少ない通信装置２０Ａは、通知を定期的に送信するようになるため、ネットワーク全体の暗号化通信量をより正確に把握できるようになる。
【０１０２】
（Ｃ−４）上記第２の実施形態では、管理装置１０Ａは、通信装置２０Ａの暗号化送信回数を、閾値超過通知を受信することによって把握していたが、これに限定されるものではない。例えば、管理装置１０Ａにタイマ部を設け、定期的にポーリング処理で各通信装置２０Ａから累計暗号化送信回数を取得してもよい。また、通信装置２０Ａにタイマ部を設け、定期的に管理装置１０Ａに累計暗号化送信回数を送信してもよい。閾値超過通知による方法では、閾値を超えていない通信装置２０Ａの累計暗号化送信回数を把握できないため、ネットワーク全体の暗号化通信量を正確には把握できないが、タイマによる方法ではタイマ発火のタイミングでネットワーク全体の暗号化送信回数を正確に把握することができる。また、タイマによる定期通知のタイミングの算出方法を、ネットワーク全体の累計暗号化送信回数に基づいて動的に変更する方法（累計暗号化送信回数に近づくほど通知間隔を短くするなど）を導入することで、暗号化送信回数の通知メッセージによる通信量の削減が期待できる。
【０１０３】
（Ｃ−５）上記各実施形態では、鍵更新において、新しい暗号鍵は管理装置１０（１０Ａ）で生成し、通信装置２０（２０Ａ）に送信するようにしていたが、これに限定されるものではない。例えば、管理装置１０（１０Ａ）が鍵更新の指示を通信装置２０（２０Ａ）に送信し、新しい暗号鍵の生成は通信装置２０（２０Ａ）がローカルに実施してもよい。
【符号の説明】
【０１０４】
１…通信システム、１０、１０Ａ…管理装置、１１…通信部、１２、１２Ａ…処理部、１３、１３Ａ…記憶部、１４…タイマ部、１５…通信装置管理部、１６…鍵更新タイミング算出部、１７…通知閾値決定部、２０、２０Ａ…通信装置、２１…通信部、２２、２２Ａ…記憶部、２３、２３Ａ…処理部。
【図１】
2018182423.tif 000003
【図２】
2018182423.tif 000004
【図３】
2018182423.tif 000005
【図４】
2018182423.tif 000006
【図５】
2018182423.tif 000007
【図６】
2018182423.tif 000008
【図７】
2018182423.tif 000009
【図８】
2018182423.tif 000010
【図９】
2018182423.tif 000011
【図１０】
2018182423.tif 000012
【図１１】
2018182423.tif 000013
【図１２】
2018182423.tif 000014
【図１３】
2018182423.tif 000015
【図１４】
2018182423.tif 000016
【図１５】
2018182423.tif 000017