(57)【要約】【課題】鍵更新に失敗したことを早期かつ確実に検知する。【解決手段】通信装置１は、受信部３２と、復号化部４２と、鍵更新部４３とを備える。受信部３２は、暗号化データを送信元ノードから受信する。復号化部４２は、受信部３２により受信された暗号化データに対し、暗号鍵を用いて復号化を行う。鍵更新部４３は、所定のタイミングで新しい鍵を取得して暗号鍵を更新する。鍵更新部４３は、復号化部４２が復号化に失敗し、かつ、送信元ノードに起因する所定条件が満たされない場合、所定のタイミングとは関係なく新しい鍵を取得するための再取得動作を行う。鍵更新部４３は、復号化部４２が復号化に失敗し、かつ、上記所定条件が満たされる場合、再取得動作を行わない。【選択図】図１
2018061118.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの暗号鍵を記憶する記憶部と、
暗号化データを送信元ノードから受信する受信部と、
前記受信部により受信された前記暗号化データに対し、前記暗号鍵を用いて復号化を行う復号化部と、
所定のタイミングで新しい鍵を取得して前記暗号鍵を更新する鍵更新部とを備え、
前記鍵更新部は、
前記復号化部が前記復号化に失敗し、かつ、前記送信元ノードに起因する所定条件が満たされない場合に、前記所定のタイミングとは関係なく前記新しい鍵を取得するための再取得動作を行い、
前記復号化部が前記復号化に失敗し、かつ、前記所定条件が満たされる場合に、前記再取得動作を行わない
ことを特徴とする通信装置。
【請求項２】
前記記憶部は、前記暗号鍵とともに前記暗号鍵の有効期限を記憶し、
前記鍵更新部は、現在時刻が前記有効期限を過ぎているとき、前記再取得動作を行う
ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記鍵更新部は、前記有効期限を算出することを特徴とする請求項２記載の通信装置。
【請求項４】
前記復号化部が前記復号化に失敗した場合に、前記記憶部に記憶されている前記暗号鍵で暗号化された確認要求を前記送信元ノードに送信する送信部を更に備え、
前記送信元ノードは、前記新しい鍵を取得しており、
前記受信部は、前記暗号鍵が前記送信元ノードにおける前記新しい鍵ではなかった場合に前記送信元ノードにより前記確認要求と同じ前記暗号鍵で暗号化された応答を受信し、
前記鍵更新部は、前記復号化部が前記復号化に失敗した場合であっても、前記確認要求に対する前記応答を未受信であるという前記所定条件を満たすとき、前記再取得動作を行わない
ことを特徴とする請求項１〜３のいずれか１項に記載の通信装置。
【請求項５】
前記記憶部は、前記暗号鍵として、少なくとも前記新しい鍵及び更新前の鍵を記憶し、
前記復号化部は、前記新しい鍵及び前記更新前の鍵のいずれを用いても前記復号化に失敗した回数をカウントし、
前記鍵更新部は、前記復号化部が前記復号化に失敗した場合であっても、前記復号化部によってカウントされた前記回数が閾値未満であるという前記所定条件を満たすとき、前記再取得動作を行わない
ことを特徴とする請求項１〜３のいずれか１項に記載の通信装置。
【請求項６】
前記復号化部は、前記復号化に成功したとき、又は、最初若しくは最後に前記復号化に失敗したときから所定時間が経過したときに、前記復号化に失敗した前記回数をリセットすることを特徴とする請求項５記載の通信装置。
【請求項７】
前記鍵更新部は、前記復号化部が前記復号化に失敗した場合であっても、過去に前記暗号鍵を再取得したときに前記暗号鍵が変更されておらず、かつ、前記復号化部が前記復号化に失敗してから一定時間が経過していないという前記所定条件を満たすとき、前記再取得動作を行わないことを特徴とする請求項１〜３のいずれか１項に記載の通信装置。
【請求項８】
前記記憶部は、前記復号化に失敗した前記暗号化データを送信した前記送信元ノードを記憶し、
前記鍵更新部は、前記復号化部が前記復号化に失敗した場合であっても、過去に前記暗号鍵を再取得したときに前記暗号鍵が変更されておらず、かつ、前記復号化部が前記復号化に失敗してから一定時間が経過していないという前記所定条件を満たすとき、前記送信元ノードからの前記暗号化データに対する前記復号化の失敗についてのみ、前記再取得動作を行わない
ことを特徴とする請求項７記載の通信装置。
【請求項９】
前記受信部は、前記暗号鍵で暗号化された前記暗号化データを一定周期で受信することを特徴とする請求項１〜８のいずれか１項に記載の通信装置。
【請求項１０】
前記記憶部は、前記暗号鍵を１つだけ記憶し、
前記鍵更新部は、前記復号化部が前記復号化に失敗した場合、前記復号化に失敗したことを前記送信元ノードに通知する
ことを特徴とする請求項１〜４のいずれか１項に記載の通信装置。
【請求項１１】
前記記憶部は、前記暗号鍵として、少なくとも前記新しい鍵及び更新前の鍵を記憶し、
前記鍵更新部は、前記復号化部が前記更新前の鍵で前記復号化を行った場合に、前記暗号鍵を更新する要求を前記送信元ノードに通知する
ことを特徴とする請求項１〜９のいずれか１項に記載の通信装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載の通信装置を複数備える
ことを特徴とする通信システム。
【請求項１３】
前記暗号鍵を管理する鍵管理装置を更に備え、
前記鍵更新部は、前記鍵管理装置から前記新しい鍵を取得する
ことを特徴とする請求項１２記載の通信システム。
【請求項１４】
前記複数の通信装置は、マルチホップ通信を行う
ことを特徴とする請求項１２又は１３記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信システムに関する。
【背景技術】
【０００２】
従来、共通鍵を用いて通信フレームの暗号化を行う通信システムが知られている（例えば特許文献１参照）。
【０００３】
特許文献１に記載された通信システムは、複数の通信端末（通信装置）を備えている。各通信端末は、データを含む通信フレームを送信する際に、データの暗号化及び復号化を行うために用いられるマスターネットワーク鍵（暗号鍵）の識別情報を通信フレームに含めて送信する。そして、特許文献１に記載された通信システムでは、定期的に鍵更新を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６０２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された通信端末は、マスターネットワーク鍵の識別情報を通信フレームに含めて送信するため、１回当たりの通信における送信量が多くなるという問題があった。
【０００６】
送信量を少なくするために、暗号鍵の識別情報を省略すると、鍵更新に失敗したことに気付くのが遅くなってしまうという問題があった。
【０００７】
本発明は上記の点に鑑みてなされた発明であり、本発明の目的は、鍵更新に失敗したことを早期かつ確実に検知することができる通信装置及び通信システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る通信装置は、記憶部と、受信部と、復号化部と、鍵更新部とを備える。前記記憶部は、少なくとも１つの暗号鍵を記憶する。前記受信部は、暗号化データを送信元ノードから受信する。前記復号化部は、前記受信部により受信された前記暗号化データに対し、前記暗号鍵を用いて復号化を行う。前記鍵更新部は、所定のタイミングで新しい鍵を取得して前記暗号鍵を更新する。前記鍵更新部は、前記復号化部が前記復号化に失敗し、かつ、前記送信元ノードに起因する所定条件が満たされない場合に、前記所定のタイミングとは関係なく前記新しい鍵を取得するための再取得動作を行う。前記鍵更新部は、前記復号化部が前記復号化に失敗し、かつ、前記所定条件が満たされる場合に、前記再取得動作を行わない。
【０００９】
本発明の一態様に係る通信システムは、前記通信装置を複数備える。
【発明の効果】
【００１０】
本発明に係る通信装置及び通信システムによれば、鍵更新に失敗したことを早期かつ確実に検知することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、基本形態に係る通信装置及び通信システムの概略図である。
【図２】図２は、基本形態において、両方とも鍵更新に成功した２台の通信装置間の動作を説明するための概略図である。
【図３】図３は、基本形態において、一方が鍵更新に失敗した２台の通信装置間の動作を説明するための概略図である。
【図４】図４は、実施形態１において、停電が終わったときの通信装置の動作を説明するためのタイムチャートである。
【発明を実施するための形態】
【００１２】
実施形態１〜４は、通信装置及び通信システムに関し、より詳細には、暗号鍵を用いて暗号化された暗号化データに対して復号化を行う通信装置、及び、この通信装置を複数備える通信システムに関する。
【００１３】
以下の実施形態１〜４に係る通信装置は、復号化に失敗した場合に、原則、所定のタイミングとは関係なく新しい鍵を取得するための再取得動作を行う。しかしながら、通信装置は、復号化に失敗し、かつ、送信元ノードに起因する所定条件が満たされる場合、再取得動作を行わない。
【００１４】
以下、基本形態及び実施形態１〜４に係る通信装置及び通信システムについて、図面を参照しながら詳細を説明する。
【００１５】
（基本形態）
基本形態に係る通信システム５は、図１に示すように、複数（図１では２台）の通信装置１と、鍵管理装置６とを備えている。また、通信システム５は、２台の通信装置１間において、共通鍵である暗号鍵を用いて暗号化された暗号化データの伝送を行う。鍵管理装置６は、暗号鍵を管理している。
【００１６】
複数の通信装置１は、それぞれ、例えば、需要家施設に設置されたスマートメータ、複数のスマートメータから検針情報（計量値）などを取得するコンセントレータである。複数の通信装置１は、マルチホップ通信を行っている。つまり、複数の通信装置１は、マルチホップ通信を行う複数のスマートメータに用いられている。
【００１７】
基本形態に係る通信装置１は、図１に示すように、記憶部２と、通信部３と、処理部４とを備えている。通信装置１は、プロセッサ及びメモリを有するマイクロコンピュータを主構成要素とする。
【００１８】
記憶部２は、少なくとも１つの暗号鍵を記憶している。例えば、記憶部２は、暗号鍵として、新しい鍵と、更新前（１世代前）の鍵とを記憶している。この場合、記憶部２は、２つの暗号鍵を記憶している。また、記憶部２は、処理部４を実行させるためのプログラムを格納している。
【００１９】
通信部３は、通信システム５を構成する他の通信装置１と無線通信を行う無線通信モジュールである。通信部３は、送信部３１と、受信部３２とを備えており、無線チップを主構成要素とする。送信部３１は、後述の暗号化部４１で暗号化された暗号化データを他の通信装置１に送信する。受信部３２は、暗号化データを、送信元ノードである他の通信装置１から受信する。
【００２０】
処理部４は、暗号化部４１と、復号化部４２と、鍵更新部４３とを備えており、プロセッサを主構成要素とする。
【００２１】
暗号化部４１は、記憶部２に記憶されている暗号鍵を用いてデータを暗号化する。復号化部４２は、受信部３２により受信された暗号化データに対し、記憶部２に記憶されている暗号鍵を用いて復号化を行う。
【００２２】
鍵更新部４３は、定期的に暗号鍵を更新する。言い換えると、鍵更新部４３は、所定のタイミングで鍵管理装置６から新しい鍵を取得して暗号鍵を更新する。鍵更新時において、新しい鍵は、鍵管理装置６からユニキャストやマルチキャストによって配布される。
【００２３】
また、鍵更新部４３は、復号化部４２が復号化に失敗した場合に、上述した所定のタイミングとは関係なく新しい鍵を取得するための再取得動作を行う。
【００２４】
次に、基本形態に係る２台の通信装置１間の動作について説明する。
【００２５】
最初に、２台の通信装置１の両方が、鍵更新に成功した更新成功装置である場合について図２を参照しながら説明する。
【００２６】
第１の装置から第２の装置へ暗号化データが送信される場合、第１の装置は、暗号鍵として新しい鍵（図２の「key111」）でデータを暗号化し、暗号化データを第２の装置に送信する。第２の装置は、第１の装置から暗号化データを受信する。第２の装置は、鍵更新に成功して新しい鍵（図２の「key111」）を取得しているから、受信した暗号化データを復号化することができる。上記より、第２の装置は、復号化に成功する。
【００２７】
反対に、第２の装置から第１の装置へ暗号化データが送信される場合、第２の装置は、暗号鍵としての新しい鍵（図２の「key111」）でデータを暗号化し、暗号化データを第１の装置に送信する。第１の装置は、第２の装置から暗号化データを受信する。第１の装置は、鍵更新に成功して新しい鍵（図２の「key111」）を取得しているから、受信した暗号化データを復号化することができる。上記より、第１の装置は、復号化に成功する。
【００２８】
続いて、２台の通信装置の一方が、鍵更新に成功した更新成功装置であり、他方が、鍵更新に失敗した更新失敗装置である場合について図３を参照しながら説明する。ここでは、第１の装置を更新成功装置とし、第２の装置を更新失敗装置とする。
【００２９】
第１の装置から第２の装置へ暗号化データが送信される場合、まず、第１の装置は、暗号鍵としての新しい鍵（図３の「key222」）でデータを暗号化する（図３の（１−１））。そして、第１の装置は、暗号化データを第２の装置に送信する。その後、第２の装置は、第１の装置から暗号化データを受信する。第２の装置は、鍵更新に失敗して新しい鍵（図３の「key222」）を取得していないため、受信した暗号化データを復号化することに失敗する（図３の（１−２））。そして、第２の装置は、新しい鍵（図３の「key222」）を取得するための再取得動作を行い、暗号鍵を更新する。上記より、第２の装置による再取得動作を実現することができる。
【００３０】
反対に、第２の装置から第１の装置へ暗号化データが送信される場合、まず、第２の装置は、自身にとって新しい鍵（第１の装置にとっては１世代前の鍵、図３の「key111」）でデータを暗号化する（図３の（２−１））。そして、第２の装置は、暗号化データを第１の装置に送信する。その後、第１の装置は、第２の装置から暗号化データを受信する。第１の装置は、１世代前の鍵（図３の「key111」）を保存しているので、受信した暗号化データを１世代前の鍵で復号化する（図３の（２−２））。
【００３１】
（実施形態１）
実施形態１に係る通信装置１は、復号化に失敗した場合に暗号鍵の有効期限を用いて、所定のタイミングに関係なく暗号鍵を取得するための再取得動作を行うか否かを判断する点で、基本形態に係る通信装置１と相違する。なお、基本形態に係る通信装置１と同様の構成要素については、同一の符号を付して説明を省略する。
【００３２】
まず、暗号化データを送信する送信元ノード（通信装置１）では、鍵更新部４３は、暗号鍵を更新したときに、暗号鍵の有効期限を算出する。有効期限までの長さは、例えば、所定のタイミングで行われる鍵更新の周期よりも長く、鍵更新の周期の２倍よりも短い期間である。また、鍵更新部４３は、例えば停電から復旧した起動時において現在時刻が有効期限を過ぎている場合、再取得動作を行う。なお、基本形態の鍵更新部４３と同様の機能については説明を省略する。
【００３３】
上記のように有効期限を外部から取得するのではなく、鍵更新部４３が有効期限を算出することによって、有効期限のためのトラフィックを減らすことができる。例えば、暗号鍵としての新しい鍵とともに有効期限が配布される場合に比べて、パケットサイズを小さくすることができる。また、鍵更新後に有効期限が配布される場合に比べてパケット数を少なくすることができる。
【００３４】
記憶部２は、暗号鍵とともに暗号鍵の有効期限を記憶している。記憶部２は、停電などによって通信装置１の動作が停止した場合であっても、暗号鍵及び有効期限を保持し続けている。なお、基本形態の記憶部２と同様の機能については説明を省略する。
【００３５】
なお、暗号化データを受信する受信側ノード（通信装置１）では、鍵更新部４３は、復号化部４２が復号化に失敗し、かつ、送信元ノードに起因する所定条件が満たされない場合に、所定のタイミングとは関係なく新しい鍵を取得するための再取得動作を行う。実施形態１では、所定条件は、送信元ノードにおいて現在時刻が暗号鍵の有効期限を過ぎているという条件である。復号化部４２が復号化に失敗したことを鍵更新部４３が暗号鍵の更新に失敗したと判断することができ、再取得動作を早期に行うことができる。
【００３６】
一方、鍵更新部４３は、復号化部４２が復号化に失敗し、かつ、上述した所定条件が満たされる場合、再取得動作を行わない。実施形態１では、鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、送信元ノードにおいて現在時刻が暗号鍵の有効期限を過ぎているとき、再取得動作を行わない。
【００３７】
次に、実施形態１に係る通信装置１の動作について図４を参照しながら説明する。通信装置１（図４の「子機ｍ」、「子機ｎ」）は、鍵管理装置６（図４の「親機」）から新しい鍵を取得して暗号鍵を更新する。このとき、通信装置１は、新しい鍵である暗号鍵の有効期限を設定する。
【００３８】
図４において、鍵更新部４３が暗号鍵を更新するタイミングである時刻ｔ１の前に停電が発生した場合、通信装置１の動作が停止する。時刻ｔ１では、通信装置１は、動作を停止しているため、暗号鍵を更新することができない。その後、時刻ｔ２に停電が終わった場合、図４の「子機ｎ」に相当する通信装置１は、送信元ノードにて新しい鍵で暗号化された暗号化データを受信しても、時刻ｔ１において新しい鍵を取得していないため、暗号化データを復号化することができない。
【００３９】
一方、図４の「子機ｍ」に相当する通信装置１は、時刻ｔ１だけではなく、次の暗号鍵を更新するタイミングである時刻ｔ３においても、停電により動作が停止しているため、暗号鍵を更新することができない。その後、時刻ｔ４に停電が終わったときに、通信装置１が起動する。このとき、起動時の時刻が有効期限を過ぎているから、通信装置１は、新しい鍵を取得するための再取得動作を行う。これにより、暗号鍵を更新することができるので、その後の通信において復号化の失敗を未然に防ぐことができる。
【００４０】
以上説明した実施形態１に係る通信装置１は、記憶部２と、受信部３２と、復号化部４２と、鍵更新部４３とを備える。記憶部２は、少なくとも１つの暗号鍵を記憶する。受信部３２は、暗号化データを送信元ノードから受信する。復号化部４２は、受信部３２により受信された暗号化データに対し、暗号鍵を用いて復号化を行う。鍵更新部４３は、所定のタイミングで新しい鍵を取得して暗号鍵を更新する。鍵更新部４３は、復号化部４２が復号化に失敗し、かつ、送信元ノードに起因する所定条件が満たされない場合に、所定のタイミングとは関係なく新しい鍵を取得するための再取得動作を行う。鍵更新部４３は、復号化部４２が復号化に失敗し、かつ、所定条件が満たされる場合に、再取得動作を行わない。
【００４１】
実施形態１に係る通信装置１では、復号化部４２が暗号化データの復号化に失敗した場合、原則、鍵更新部４３が新しい鍵を取得するための再取得動作を行う。これにより、暗号鍵の更新に失敗していることを早く検知することができるので、次の更新タイミングよりも早期に暗号鍵を更新することができる。その結果、通信を早期に復旧させることができる。一方、復号化部４２が復号化に失敗した場合であっても、送信元ノードに起因する所定条件が満たされるときは、再取得動作を行わない。これにより、受信側ノードによる無駄な再取得動作を低減させることができるので、暗号鍵の更新の確実性を高めることができる。
【００４２】
実施形態１に係る通信装置１では、記憶部２は、暗号鍵とともに暗号鍵の有効期限を記憶することが好ましい。鍵更新部４３は、現在時刻が有効期限を過ぎているとき、再取得動作を行うことが好ましい。
【００４３】
実施形態１に係る通信装置１では、現在時刻が有効期限を過ぎているときに鍵更新部４３が再取得動作を行う。これにより、暗号化データを伝送する前に暗号鍵を更新することができるので、鍵更新に成功しているノードにて、復号化に失敗した場合に鍵更新に失敗したとみなされて再取得動作を行ってしまう可能性を低減させることができる。
【００４４】
実施形態１に係る通信装置１では、鍵更新部４３は、起動時において現在時刻が有効期限を過ぎている場合、再取得動作を行うことが好ましい。
【００４５】
実施形態１に係る通信装置１では、例えば停電などが発生した後の起動時において、現在時刻が有効期限を過ぎているときに鍵更新部４３が再取得動作を行う。これにより、暗号化データを伝送する前に暗号鍵を更新することができるので、鍵更新に成功しているノードにて、復号化に失敗した場合に鍵更新に失敗したとみなされて再取得動作を行ってしまう可能性を低減させることができる。
【００４６】
実施形態１に係る通信装置１では、鍵更新部４３は、有効期限を算出することが好ましい。
【００４７】
実施形態１に係る通信装置１によれば、有効期限を通知するための信号の伝送が不要であるから、トラフィックを低減させることができる。
【００４８】
実施形態１に係る通信システム５は、通信装置１を複数備える。
【００４９】
実施形態１に係る通信システム５によれば、鍵更新に失敗したことを早期かつ確実に検知することができる。
【００５０】
実施形態１に係る通信システム５は、鍵管理装置６を更に備えることが好ましい。鍵管理装置６は、暗号鍵を管理する。鍵更新部４３は、鍵管理装置６から新しい鍵を取得することが好ましい。
【００５１】
実施形態１に係る通信システム５によれば、暗号鍵の管理を安定にすることができる。
【００５２】
実施形態１に係る通信システム５では、複数の通信装置１は、マルチホップ通信を行うことが好ましい。
【００５３】
実施形態１に係る通信システム５では、複数の通信装置１がマルチホップ通信を行う。これにより、通信装置１間で通信する際に、情報を伝送しようとする通信装置１間で通信を直接行うことができない場合であっても、他の通信装置１を中継器として通信の中継に用いることができる。
【００５４】
なお、実施形態１の変形例として、鍵更新部４３は、暗号鍵を更新したときに、暗号鍵の有効期限を算出するのではなく、有効期限を鍵管理装置６から取得してもよい。有効期限の配布手法は、特に限定されず、有効期限は、ユニキャストによって通信装置１ごとに配布されてもよいし、マルチキャストによってすべての通信装置１に一度に配布されてもよい。また、有効期限は、新しい鍵と同一のパケットで配布されてもよいし、新しい鍵とは別のパケットで配布されてもよい。本変形例に係る通信装置１によれば、暗号鍵の有効期限を鍵管理装置６が適切に管理することができるので、有効期限の精度を高めることができる。
【００５５】
（実施形態２）
実施形態２に係る通信装置１は、復号化に失敗した場合であっても、確認要求に対する鍵無効通知である応答を送信元ノードである他の通信装置から受信するまでは、新しい鍵を取得するための再取得動作を行わない点で、基本形態に係る通信装置１と相違する。なお、基本形態に係る通信装置１と同様の構成要素については、同一の符号を付して説明を省略する。
【００５６】
実施形態２の送信部３１は、復号化部４２が復号化に失敗した場合に、記憶部２に記憶されている暗号鍵で暗号化された確認要求を、送信元ノードである他の通信装置１に送信する。なお、基本形態の送信部３１と同様の機能については説明を省略する。
【００５７】
実施形態２の受信部３２は、確認要求に対する応答を送信元ノードから受信する。ここで、送信元ノードは、暗号鍵の更新に成功し、新しい鍵を取得している。確認要求に対する応答は、暗号鍵が送信元ノードにおける新しい鍵ではなかった場合に送信元ノードにより確認要求と同じ暗号鍵で暗号化されている。上記応答は、暗号鍵が無効であることを通知するための鍵無効通知である。なお、基本形態の受信部３２と同様の機能については説明を省略する。
【００５８】
実施形態２の鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、確認要求に対する応答を受信するまで、新しい鍵を取得するための再取得動作を行わない。実施形態２では、所定条件は、復号化部４２が復号化に失敗した場合であっても、確認要求に対する応答を未受信であるという条件である。なお、基本形態の鍵更新部４３と同様の機能については説明を省略する。
【００５９】
次に、実施形態２に係る２台の通信装置１間の動作について説明する。２台の通信装置の一方を、鍵更新に成功した更新成功装置とし、他方を、鍵更新に失敗した更新失敗装置とする。ここでは、第１の装置が更新成功装置とし、第２の装置が更新失敗装置とする。
【００６０】
第１の装置から第２の装置へ暗号化データが送信される場合、第１の装置は、新しい鍵でデータを暗号化し、暗号化された暗号化データを第２の装置に送信する。第２の装置は、第１の装置から暗号化データを受信する。しかしながら、第２の装置は、鍵更新に失敗して新しい鍵を取得していないため、受信した暗号化データを復号化することに失敗する。
【００６１】
その後、第２の装置は、自身にとって新しい鍵（第１の装置にとって１世代前の鍵）で確認要求を暗号化し、暗号化された確認要求を第１の装置に送信する。第１の装置は、第２の装置から確認要求を受信する。第１の装置は、１世代前の鍵を所有しているので、受信した確認要求を１世代前の鍵で復号化する。その後、第１の装置は、１世代前の鍵（第２の装置にとって新しい鍵）で鍵無効通知を暗号化し、暗号化された鍵無効通知を第２の装置に送信する。
【００６２】
第２の装置は、第１の装置から鍵無効通知を受信すると、受信した応答を自身にとって新しい鍵（第１の装置にとって１世代前の鍵）で復号化する。その後、第２の装置は、再取得動作を行い、新しい鍵を取得して暗号鍵を更新する。
【００６３】
反対に、第２の装置から第１の装置へ暗号化データが送信される場合、第２の装置は、自身にとって新しい鍵（第１の装置にとって１世代前の鍵）でデータを暗号化し、暗号化された暗号化データを第１の装置に送信する。第１の装置は、第２の装置から暗号化データを受信する。第１の装置は、１世代前の鍵を所有しているので、受信した暗号化データを１世代前の鍵で復号化する。
【００６４】
その後、第１の装置は、１世代前の鍵で鍵無効通知を暗号化し、暗号化された鍵無効通知を更新失敗端末に送信する。第２の装置は、第１の装置から鍵無効通知を受信する。第２の装置は、受信した鍵無効通知を自身にとって新しい鍵（第１の装置にとって１世代前の鍵）で復号化する。その後、第２の装置は、再取得動作を行い、新しい鍵を取得して暗号鍵を更新する。
【００６５】
以上説明した実施形態２に係る通信装置１は、送信部３１を更に備える。送信部３１は、復号化部４２が復号化に失敗した場合に、記憶部２に記憶されている暗号鍵で暗号化された確認要求を送信元ノードに送信する。送信元ノードは、新しい鍵を取得している。受信部３２は、応答を受信する。応答は、暗号鍵が送信元ノードにおける新しい鍵ではなかった場合に送信元ノードにより確認要求と同じ暗号鍵で暗号化されている。鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、確認要求に対する応答を未受信であるという所定条件を満たすとき、再取得動作を行わない。
【００６６】
実施形態２に係る通信装置１によれば、鍵更新に成功しているにもかかわらず、鍵更新に失敗したとみなされて再取得動作を行う可能性を低減させることができる。
【００６７】
（実施形態３）
実施形態３に係る通信装置１は、復号化に失敗した回数が少ないとき、新しい鍵を取得するための再取得動作を行わない点で、基本形態に係る通信装置１と相違する。なお、基本形態に係る通信装置１と同様の構成要素については、同一の符号を付して説明を省略する。
【００６８】
実施形態３の記憶部２は、基本形態の記憶部２と同様に、暗号鍵として、新しい鍵と、更新前（１世代前）の鍵とを記憶している。
【００６９】
実施形態３の復号化部４２は、新しい鍵及び１世代前の鍵のいずれを用いても復号化に失敗した回数をカウントする。そして、復号化部４２は、復号化が成功したとき、又は、最初若しくは最後に符号化に失敗したときから所定時間の経過により、復号化に失敗した回数をリセットする。なお、基本形態の復号化部４２と同様の機能については説明を省略する。
【００７０】
実施形態３の鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、復号化部４２によってカウントされた回数が閾値未満であるとき、新しい鍵を取得するための再取得動作を行わない。実施形態３では、所定条件は、復号化部４２が復号化に失敗した場合であっても、復号化部４２によってカウントされた回数が閾値未満であるという条件である。なお、基本形態の鍵更新部４３と同様の機能については説明を省略する。
【００７１】
次に、実施形態３に係る２台の通信装置１間の動作について説明する。２台の通信装置の一方を、鍵更新に成功した更新成功装置とし、他方を、鍵更新に失敗した更新失敗装置とする。ここでは、第１の装置が更新成功装置とし、第２の装置が更新失敗装置とする。
【００７２】
第１の装置から第２の装置へ暗号化データが送信される場合、第１の装置は、新しい鍵でデータを暗号化し、暗号化された暗号化データを第２の装置に送信する。第２の装置は、第１の装置から暗号化データを受信する。しかしながら、第２の装置は、鍵更新することに失敗して新しい鍵を取得していないため、受信した暗号化データを復号化することに失敗する。そして、第２の装置は、復号化に失敗した回数を１増やす。
【００７３】
ここで、復号化に失敗した回数が閾値未満である場合、第２の装置は、再取得動作を行わない。一方、復号化に失敗した回数が閾値に到達すると、第２の装置は、再取得動作を行い、新しい鍵を取得して暗号鍵を更新する。
【００７４】
反対に、第２の装置から第１の装置へ暗号化データが送信される場合、第２の装置は、自身にとって新しい鍵（第１の装置にとって１世代前の鍵）でデータを暗号化し、暗号化された暗号化データを第１の装置に送信する。第１の装置は、第２の装置から暗号化データを受信する。第１の装置は、１世代前の鍵を所有しているから、受信した暗号化データを１世代前の鍵で復号化する。ここで、第１の装置は、鍵更新に成功しており、復号化に失敗した回数が閾値未満であるから、再取得動作を行わない。上記より、第１の装置による無駄な再取得動作を低減させることができる。
【００７５】
以上説明した実施形態３に係る通信装置１では、記憶部２は、暗号鍵として、少なくとも新しい鍵及び更新前の鍵を記憶する。復号化部４２は、新しい鍵及び更新前の鍵のいずれを用いても復号化に失敗した回数をカウントする。鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、復号化部４２によってカウントされた回数が閾値未満であるという所定条件を満たすとき、再取得動作を行わない。
【００７６】
実施形態３に係る通信装置１によれば、通信装置１と送信元ノードとの間で暗号鍵としてのすべての鍵が一致しない場合であって、鍵更新に失敗したノードよりも鍵更新に成功したノードのほうが多いときに、鍵更新に成功したノードにて、復号化に失敗した場合に鍵更新に失敗したとみなされて再取得動作を行ってしまう可能性を低減させることができる。
【００７７】
実施形態３に係る通信装置１では、復号化部４２は、復号化に成功したとき、又は、最初若しくは最後に復号化に失敗したときから所定時間が経過したときに、復号化に失敗した回数をリセットすることが好ましい。
【００７８】
実施形態３に係る通信装置１によれば、復号化に失敗した回数のカウント精度を高めることができるので、鍵更新に成功したノードによる鍵更新失敗の誤検知をより低減させることができる。
【００７９】
なお、実施形態３の変形例として、通信装置１は、復号化に失敗した回数のカウント対象を、特定の送信元ノードからの暗号化データに限定してもよい。本変形例に係る通信装置１によれば、考慮する必要のないノードに起因する鍵更新の誤検知を低減させることができる。
【００８０】
また、実施形態３の変形例として、通信装置１は、同一の送信元ノードから暗号化データを連続受信する場合、復号化に失敗した回数のカウントを１回としてもよい。本変形例に係る通信装置１によれば、復号化できない暗号化データの連続送信の発生による復号化失敗の発生の偏りを低減させることができる。例えば、悪意のあるノードから復号化失敗となる暗号化データが連続して送信されることによる影響を低減させることができる。
【００８１】
（実施形態４）
実施形態４に係る通信装置１は、暗号鍵を取得したときに暗号鍵が変更されていない場合、一定期間、新しい鍵を取得するための再取得動作を行わない点で、基本形態に係る通信装置１と相違する。なお、基本形態に係る通信装置１と同様の構成要素については、同一の符号を付して説明を省略する。
【００８２】
実施形態４の鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、過去に暗号鍵を再取得したときに暗号鍵が変更されておらず、かつ、復号化部４２が復号化に失敗してから一定時間が経過していないとき、暗号鍵を取得するための再取得動作を行わない。実施形態４では、所定条件は、復号化部４２が復号化に失敗した場合であっても、過去に暗号鍵を再取得したときに暗号鍵が変更されておらず、かつ、復号化部４２が復号化に失敗してから一定期間が経過していないという条件である。一定時間は、例えば、復号化部４２が復号化に失敗してから有効期限までの期間である。なお、基本形態の鍵更新部４３と同様の機能については説明を省略する。
【００８３】
次に、実施形態４に係る２台の通信装置１間の動作について説明する。２台の通信装置の一方を、鍵更新に成功した更新成功装置とし、他方を、鍵更新に失敗した更新失敗装置とする。ここでは、第１の装置が更新成功装置とし、第２の装置が更新失敗装置とする。
【００８４】
第１の装置から第２の装置へ暗号化データが送信される場合、第１の装置は、暗号鍵でデータを暗号化し、暗号化された暗号化データを第２の装置に送信する。第２の装置は、第１の装置から暗号化データを受信する。しかしながら、第２の装置は、鍵更新することに失敗して新しい鍵を取得していないため、受信した暗号化データを復号化することに失敗する。その後、第２の装置は、再取得動作を行い、新しい鍵を取得して暗号鍵を更新する。
【００８５】
反対に、第２の装置から第１の装置へ暗号化データが送信される場合、第２の装置は、自身にとって新しい鍵（第１の装置は所有していない）でデータを暗号化し、暗号化された暗号化データを第１の装置に送信する。第１の装置は、第２の装置から暗号化データを受信する。しかしながら、第１の装置は、暗号化に用いられた暗号鍵を所有していないため、受信した暗号化データを復号化することに失敗する。その後、第１の装置は、復号化に失敗したため、再取得動作を行う。しかしながら、第１の装置は、既に鍵更新しているため、暗号鍵は変更されない。そして、第１の装置は、一定期間を測定する。
【００８６】
その後、第２の装置は、自身にとって新しい鍵（第１の装置は所有していない）でデータを暗号化し、暗号化された暗号化データを第１の装置に送信する。第１の装置は、第２の装置から暗号化データを受信する。上記と同様に、第１の装置は、暗号化に用いられた暗号鍵を所有していないため、受信した暗号化データを復号化することに失敗する。
【００８７】
ここで、一定期間が経過していなかったら、復号化に失敗した場合であっても、第１の装置は、再取得動作を行わない。一方、一定期間が経過していたら、第１の装置は、復号化に失敗したため、再取得動作を行う。しかしながら、既に鍵更新しているため、暗号鍵は変更されない。
【００８８】
以上説明した実施形態４に係る通信装置１では、鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、過去に暗号鍵を再取得したときに暗号鍵が変更されておらず、かつ、復号化部４２が復号化に失敗してから一定時間が経過していないという所定条件を満たすとき、再取得動作を行わない。
【００８９】
実施形態４に係る通信装置１によれば、鍵更新に成功したノードにて、鍵更新に成功しているにもかかわらず、再取得動作を連続して行うことを低減させることができる。
【００９０】
なお、実施形態４の変形例として、鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、上記所定条件を満たすとき、送信元ノードである他の通信装置１からの暗号化データに対する復号化の失敗についてのみ、再取得動作を行わないようにしてもよい。
【００９１】
なお、実施形態４の変形例として、通信装置１では、記憶部２は、復号化に失敗した暗号化データを送信した送信元ノードを記憶し、鍵更新部４３は、復号化部４２が復号化に失敗した場合であっても、所定条件を満たすとき、送信元ノードからの暗号化データに対する復号化の失敗についてのみ、再取得動作を行わないようにしてもよい。所定条件は、過去に暗号鍵を再取得したときに暗号鍵が変更されておらず、かつ、復号化部４２が復号化に失敗してから一定時間が経過していないという条件である。
【００９２】
本変形例に係る通信装置１によれば、送信元ノードごとに分類し、鍵更新に失敗したと連続してみなされることを低減できる。
【００９３】
なお、基本形態及び実施形態１〜４では、記憶部２は、暗号鍵として、新しい鍵と、更新前（１世代前）の鍵、すなわち２つの鍵を記憶しているが、記憶部２は、暗号鍵として１つの鍵のみを記憶してもよいし、暗号鍵として３つ以上の鍵を記憶してもよい。１つの鍵のみを記憶する場合、記憶部２は、暗号鍵として更新後の鍵すなわち新しい鍵のみを記憶する。３つ以上の鍵を記憶する場合、記憶部２は、例えば、記憶部２は、新しい鍵及び１世代前の鍵だけではなく、２世代前の鍵など古い鍵を暗号鍵として記憶する。
【００９４】
また、基本形態及び実施形態１〜４の変形例として、通信装置１では、記憶部２は、暗号鍵を１つだけ記憶し、鍵更新部４３は、復号化部４２が復号化に失敗した場合、復号化に失敗したことを送信元ノードに通知してもよい。本変形例に係る通信装置１によれば、鍵更新に失敗したことを早期に通知することができる。
【００９５】
さらに、基本形態及び実施形態１〜４の変形例として、記憶部２は、暗号鍵として、少なくとも新しい鍵及び更新前の鍵を記憶し、鍵更新部４３は、復号化部４２が更新前の鍵で復号化を行った場合に、暗号鍵を更新する要求を送信元ノードに通知してもよい。
【００９６】
本変形例に係る通信装置１によれば、送信元ノードが鍵更新に失敗したことを早期に通知することができる。
【００９７】
また、基本形態及び実施形態１〜４の変形例として、受信部３２は、暗号鍵で暗号化された暗号化データを一定周期で受信してもよい。上記暗号化データは、親機など他の通信装置１から送信される。
【００９８】
本変形例に係る通信装置１によれば、暗号化データの発生を確実にすることができるので、鍵更新失敗を検知するまでに要する最大時間を一定周期以下にすることができる。
【符号の説明】
【００９９】
１  通信装置
２  記憶部
３１  送信部
３２  受信部
４２  復号化部
４３  鍵更新部
５  通信システム
６  鍵管理装置
【図１】
2018061118.tif 000003
【図２】
2018061118.tif 000004
【図３】
2018061118.tif 000005
【図４】
2018061118.tif 000006