説明

通信データ新規性確認システム及び通信端末

【課題】スリープ状態に突入するたびに不揮発性メモリーに認証情報を退避させることなく、また、スリープ状態からの起動時の送信データ数の変動にも柔軟に対応できる通信データ新規性確認システムを得る。
【解決手段】データ認証部23は、鍵取得部22から受信した共通鍵K、チャレンジ生成部20から受信したチャレンジ情報RB1、及び、時変パラメーター判断部21から受信した変換データに明示的に含まれる送信カウンター0001を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部21へ認証成功メッセージを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スリープ状態への突入等によって認証情報(データの新規性を確認するための情報)を消失した通信端末が、再起動後に、通信データの新規性を確認する通信データ新規性確認システム及び通信端末に関するものである。
【背景技術】
【0002】
再生攻撃(リプレイアタック)とは、攻撃者が通信路において通信データを傍受し、後にその通信データを再投入することで、その通信データを現在新規に発生した通信データとして受信端末に再び受け入れさせる攻撃である。例えば、通信端末間で秘密に共有する共通鍵を利用して通信データに認証子(MAC:Message Authentication Code)を付加することによって改竄やなりすましがないことを通信相手に証明できたとしても、再生攻撃を防げるとは限らない。なぜならば、通信データ自体は、通信端末間で秘密に共有する共通鍵を用いて正しく変換されているため、受信端末において受信データの認証に成功するからである。通信端末間のデータ通信において再生攻撃を防ぐための代表的な方法として、カウンター値を利用する方法、時刻情報を利用する方法及びチャレンジレスポンスを利用する方法の3つがある。
【0003】
図1は、上記の3つの方法の概要を説明する図である。
図1において、||はデータ列の連結を示す。また、MAC(X,Y)は鍵や初期ベクトル等の入力データX(Xは複数あってもよい)を用いて通信データ列Yに対して生成した認証子を示す。
【0004】
カウンター値を利用する方法は、携帯電話及び無線LAN等、現在広く普及している無線ネットワークプロトコルで採用されている。この方法では、送信端末100と受信端末200とが共に、鍵情報や通信相手に関連付けられたカウンター値を管理することでデータの新規性を確認しており、その値は一般的に通信が発生するごとに更新される。
【0005】
時刻情報を利用する方法は、送信端末100と受信端末200とが時刻を同期することによってデータの新規性を確認する方法である。ここで、送信端末100及び受信端末200の各々が管理する時刻値を一致させなくても、各々が相対的なズレ値を把握することで新規性を確認することは可能である。しかし、いずれにしても時計自体の進行速度のズレを補正するという意味での同期は必要になる。
【0006】
そして、チャレンジレスポンスを利用する方法は、送信端末100が受信端末200へ通信データを送信するのに際し、受信端末200からチャレンジ情報(乱数等、過去に生成した情報と重複しない一意的な情報)を受け取り、送信端末100は受け取ったチャレンジ情報を送信データに反映させることでデータの新規性を確認する方法である。
【0007】
また、受信端末が事前に、メッセージのリプレイを判定するための固有コードのリストを保持しており、送信端末からのメッセージと共に受信された固有コードをそのリストに含まれる固有コードと比較し、リストの中に含まれていることによって、そのメッセージがリプレイでないと判定すると共に、そのメッセージと共に受信された固有コードをリストから削除し、一方、リストの中に含まれていないことによって、そのメッセージがリプレイであると判定することで、送信端末から受信端末に伝送されるメッセージのリプレイに対するセキュリティを提供する方法が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−72970号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
一方、無線センサーネットワークのように、各通信端末を電池駆動で長期間動作させたいようなネットワークにおいては、いかにして無駄な電力消費を失くすかが重要となる。例えば、通信端末が受信待機中には自身の無線デバイスをスリープ状態にすることで電力の消費を抑えるといった対策が有効となる。通信端末の消費電力を抑制するためには、クロックを停止、又は、低速に設定したり、利用しないデバイスへの電源供給をカットしたりすることが有効である。例えば、トラフィック及び内部処理等が長期間発生しない場合には、無線デバイスだけでなく内部時計又は揮発性のメモリー(RAM:Random Access Memory)への電源供給もカットするようなスリープ状態もある。すなわち、スリープ状態への突入によって、時刻が初期値にリセットされたり、又は、カウンター値が消失したりといった、認証情報の消失が発生する。本発明では、スリープ状態への突入により認証情報が消失するか否かによって、ディープスリープ状態(認証情報が消失する状態)及び通常スリープ状態(認証状態が消失しない状態)の2つのスリープ状態を定義する。
【0010】
携帯電話及び無線LAN等の無線ネットワークプロトコルで採用されているカウンター値を利用する方法のように、データ通信ごとに更新される情報は、高速アクセスが可能なRAMで管理されることが多い。すなわち、通常スリープ状態に突入した通信端末は、その通常スリープ状態からの起動時に通信相手と同期する最新のカウンター値をRAMにアクセスすることにより把握できるが、一方、ディープスリープ状態に突入した通信端末は、そのディープスリープ状態からの起動時には、通信相手と同期していた最新のカウンター値を消失することになる。この場合、通信端末は、受信した通信データが過去に生成されたものか、新規に生成されたものかを確認するための基準値を失うことになり、通信データ受信時に再生攻撃に遭っているかどうかを確認する手段がないという問題点がある。
【0011】
この問題を解決するための方法として、カウンター値等の認証情報を不揮発性メモリーに退避させておく方法も考えられる。しかし、一般に不揮発性メモリーは消去及び書き込み回数に限度がある。よって、カウンター値のように、更新頻度が多く、ディープスリープ状態に投入する度に更新する必要があるような認証情報には適用できない。また、特許文献1に記載の固有コードのリストも、リスト自体の更新頻度が多いと想定されることから、適用できない。
【0012】
また、他の対策方法として、通信端末がスリープ状態へ突入する/しないに依存せずに動作し続ける時計を外部に搭載してその時刻情報を利用するという方法もあるが、時刻情報を利用する場合には、通信端末間の時刻を同期させるために、時計の進行速度のズレの補正を実施しなければならないという別の問題がある。
【0013】
また、他の対策方法として、チャレンジレスポンスを利用する方法が適用できる。ディープスリープ状態からの起動後、送信端末が通信データを受信端末に送るに際し、まず、受信端末がチャレンジ情報(乱数等の過去に生成した情報と重複しない一意的な情報)を生成して送信端末に送信し、送信端末は受信端末から与えられたチャレンジ情報を反映させる形で通信データを変換し、受信端末に送信する。受信端末は、送信端末から受信した変換データに、自身が生成したチャレンジ情報が反映されて変換されているか否かを検証することによって、受信した通信データが現時点で送信端末によって生成された通信データであるか否かを確認できる。一方、ディープスリープ状態からの起動後に発生するトラフィックは、常に一定とは限らない。例えば、ディープスリープ状態からの起動後に、突発的に多くのデータを配送したい場合がある。この場合、受信端末は、通信データごとにチャレンジ情報を生成し、生成したチャレンジ情報を送信端末に与える必要があり、チャレンジ情報の生成と送受信に伴う電力消費及びトラフィックの増加が懸念される。
【0014】
そのため、ディープスリープ状態からの起動毎に、発生するトラフィックが変動する状況、例えば、ディープスリープ状態からの起動後に発生する通信データが1つのみであり、その通信データの送信後すぐにディープスリープ状態に戻る場合、ディープスリープ状態からの起動後に、突発的に多くのデータを送信し、それらの通信データの送信後、再びディープスリープ状態に戻る場合、又は、ディープスリープ状態からの起動後に、定期的にデータを送信するため、通常スリープ状態への突入と通常スリープ状態からの起動とを繰り返しながら複数のデータを送信し、後にディープスリープ状態へ戻る場合等といった様々な通信データの送信パターンにおいて、スリープ状態に突入するたびに不揮発性メモリーに認証情報を退避させることなく、また、スリープ状態からの起動時の送信データ数の変動にも柔軟に対応できる通信データの新規性確認方法が要求されていた。
【課題を解決するための手段】
【0015】
本発明に係る通信データ新規性確認システムは、データを送信する送信端末と、その送信端末からデータを受信する受信端末とを備え、送信端末は、受信端末へ送信する通信データを取得するデータ取得部と、受信端末からチャレンジ情報を受信する受信部と、鍵情報を取得する鍵取得部と、受信部からチャレンジ情報を受信し、時変パラメーターを管理する時変パラメーター管理部と、データ取得部から通信データを受信し、鍵取得部から鍵情報を受信し、時変パラメーター管理部からチャレンジ情報及び時変パラメーターを受信し、そして、鍵情報、チャレンジ情報及び時変パラメーターを用いて通信データを変換して変換データを生成するデータ変換部と、そのデータ変換部から変換データを受信し、その変換データを受信端末へ送信する送信部とを有し、受信端末は、チャレンジ情報を生成するチャレンジ生成部と、そのチャレンジ生成部からチャレンジ情報を受信し、そのチャレンジ情報を送信端末へ送信する送信部と、送信端末から変換データを受信する受信部と、送信端末における鍵取得部が取得する鍵情報と同一の鍵情報を取得する鍵取得部と、受信部から変換データを受信し、その変換データの新規性を判断する時変パラメーター判断部と、その時変パラメーター判断部から変換データを受信し、受信端末における鍵取得部から鍵情報を受信し、チャレンジ生成部からチャレンジ情報を受信し、そして、鍵情報、チャレンジ情報及び時変パラメーターを用いて、変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部とを有し、時変パラメーター判断部は、データ認証部から受信した認証結果に基づいて変換データの新規性を判断するものである。
【発明の効果】
【0016】
本発明に係る通信データ新規性確認システムでは、ディープスリープ状態への突入毎に、新規性確認のためのカウンター値又は時刻情報等の時変パラメーター等の情報を記憶媒体に退避させる必要がなく、時変パラメーターがディープスリープ状態に突入することによって消失又はリセットされてしまったとしても、ディープスリープ状態の起動後、通信データの新規性を確認しながら通信を実施することができ、また、スリープ状態からの起動時の通信データ数の変動にも柔軟に対応しつつ、送信端末から受信端末への通信データの新規性を確認できる。
【図面の簡単な説明】
【0017】
【図1】通信端末間のデータ通信において再生攻撃を防ぐための代表的な方法の概要を説明する図である。
【図2】本発明の実施の形態1に係る通信データ新規性確認システムの送信端末1の内部構成を示すブロック図である。
【図3】本発明の実施の形態1に係る通信データ新規性確認システムの受信端末2の内部構成を示すブロック図である。
【図4】本発明の実施の形態に係る通信データ新規性確認システムの動作説明図である。
【図5】本発明の実施の形態1に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが1つ発生する場合と複数発生する場合の動作説明図である。
【図6】本発明の実施の形態2に係る通信データ新規性確認システムの送信端末1aの内部構成を示すブロック図である。
【図7】本発明の実施の形態2に係る通信データ新規性確認システムの受信端末2aの内部構成を示すブロック図である。
【図8】本発明の実施の形態2に係る通信データ新規性確認システムの動作説明図である。
【図9】本発明の実施の形態3に係る通信データ新規性確認システムの送信端末1bの内部構成を示すブロック図である。
【図10】本発明の実施の形態3に係る通信データ新規性確認システムの受信端末2bの内部構成を示すブロック図である。
【図11】本発明の実施の形態3に係る通信データ新規性確認システムの動作説明図である。
【図12】本発明の実施の形態3に係る通信データ新規性確認システムの動作説明図である。
【図13】本発明の実施の形態3に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが1つ発生する場合と複数発生する場合の動作説明図である。
【発明を実施するための形態】
【0018】
実施の形態1.
(送信端末1の構成)
図2は、本発明の実施の形態1に係る通信データ新規性確認システムの送信端末1の内部構成を示すブロック図である。
図2で示されるように、送信端末1は、少なくともデータ取得部10、鍵取得部11、時変パラメーター管理部12、データ変換部13、受信部14及び送信部15を有する。
【0019】
データ取得部10は、後述する受信端末2へ送信するデータを取得するものである。この取得したデータ(以下、通信データという)は、他の外部機器から受信してもよいし、自身が生成したものでもよい。データ取得部10は、この通信データをデータ変換部13へ送信する。
【0020】
鍵取得部11は、受信端末2と安全に通信を行うために利用する鍵情報を取得するものである。ここで、鍵情報は、送信端末1がスリープ状態へ突入するか否かに依存せずに記憶され続ける情報であり、例えば、ROM(Read Only Memory)、フラッシュROM、又は、ハードディスクドライブ等の不揮発性の記憶装置で管理される。鍵取得部11は、この取得した鍵情報をデータ変換部13へ送信する。
【0021】
時変パラメーター管理部12は、カウンター値又は時刻情報等といった後述する変換データの新規性を受信端末2に判断させるための時変パラメーターを管理するものである。ここで管理される時変パラメーターは、ディープスリープ状態への突入によって消失してしまってもよい。時変パラメーター管理部12は、後述する受信部14から受信端末2が生成したチャレンジ情報を受信することによって、時変パラメーターの初期値を設定し管理する。この時変パラメーターの初期値は、例えば、0の値を示すカウンター値であってもよいし、又は、ディープスリープ状態から起動することによって再動作を始めた時計が示す時刻情報であってもよい。利用する時変パラメーターとしては、様々なものが適用できる。例えば、通信データのシーケンス番号であってもよいし、鍵情報と関連付けられたカウンター値であってもよいし、スリープ状態からの起動時間を示す時刻情報であってもよいし、又は、送信端末1が発生する乱数であってもよい。時変パラメーターの管理、特に更新処理は、受信端末2と整合をとる必要がある。例えば、送信端末1がデータ送信を完了する度に、カウンター値をインクリメント又はデクリメントしてもよいし、又は、時計に合わせて自動的に時刻情報を変化させてもよい。また、通信データ新規性確認システムに要求されるセキュリティレベルに応じて、再生攻撃に遭う懸念があるものの、時変パラメーターを毎回更新しなくてもよい。時変パラメーター管理部12は、後述するデータ変換部13から時変パラメーター要求メッセージを受信することによって、受信部14から受信したチャレンジ情報及び自身が現在管理する時変パラメーターをデータ変換部13へ応答する。
【0022】
データ変換部13は、データ取得部10から受信した通信データを、受信端末2において新規性が判断できる形に変換するものである。データ変換部13は、通信データの変換に際し、時変パラメーター管理部12へ時変パラメーター要求メッセージを送信することによって、時変パラメーター管理部12から受信端末2が生成したチャレンジ情報及び時変パラメーター管理部12で管理される最新の時変パラメーターを受信する。データ変換部13は、鍵取得部11から受信した鍵情報、並びに、上記の受信したチャレンジ情報及び時変パラメーターを利用して、データ取得部10から受信した通信データを変換する。その通信データの変換方法としては特に限定しないが、例えば、時変パラメーターと通信データとを連結したデータ列、鍵情報、チャレンジ情報及び時変パラメーターを利用して生成した認証子(MAC)をそのデータ列に付加したり、同様に、ディジタル署名を生成して付加したり、又は、暗号化処理する方法が考えられる。データ変換部13は、受信端末2において新規性が判断できる形に変換したデータ(以下、変換データという)を送信部15へ送信する。なお、この変換データには、変換に利用した時変パラメーター又はチャレンジ情報を明示的に含めてもよい。
【0023】
受信部14は、受信端末2から受信したチャレンジ情報を時変パラメーター管理部12へ送信するものである。
【0024】
送信部15は、データ変換部13から受信した変換データを受信端末2へ送信するものである。
【0025】
(受信端末2の構成)
図3は、本発明の実施の形態1に係る通信データ新規性確認システムの受信端末2の内部構成を示すブロック図である。
図3で示されるように、受信端末2は、少なくともチャレンジ生成部20、時変パラメーター判断部21、鍵取得部22、データ認証部23、受信部24及び送信部25を有する。
【0026】
チャレンジ生成部20は、受信端末2が送信端末1から受信する通信データの新規性を判断させるために利用するチャレンジ情報を生成するものである。このチャレンジ情報は、送信端末1及び利用する鍵情報に関連付けられ、過去に生成したチャレンジ情報と重複しない一意的な情報であることが好ましく、例えば、乱数等を利用する。乱数は、例えば、外部装置から受信してもよいし、自身が生成してもよい。チャレンジ生成部20は、生成したチャレンジ情報をデータ認証部23及び送信部25へ送信する。
【0027】
時変パラメーター判断部21は、カウンター値又は時刻情報等といった通信データの新規性を判断するための時変パラメーターを管理し、後述する受信部24から受信した変換データにおける通信データに新規性があるか否かを判断するものである。時変パラメーター判断部21は、送信端末1が通信データの変換に利用した時変パラメーターと、自身が管理する時変パラメーターとを比較する。例えば、そのデータ変換に利用されたカウンター値が自身が管理する最新のカウンター値以上の値であることで新規性があると判断したり、又は、データ変換に利用された時刻情報と自身が管理する時計が示す時刻情報とのズレが既定範囲内であることで新規性があると判断したりする。時変パラメーター判断部21における新規性の判断方法は、送信端末1と整合をとる必要がある。時変パラメーター判断部21における新規性の最終的な判断は、データ認証部23において認証に成功した後になされる。この新規性の判断は、時変パラメーター判断部21が受信部24から変換データを受信した後、データ認証部23における認証に成功するか否かを検証する前に仮判断する場合、及び、データ認証部23における認証が成功した後に判断する場合の2つがある。
【0028】
前者は、例えば、受信部24から受信した変換データに、そのデータ変換に利用された時変パラメーターが明示的に含まれる場合に該当する。この場合、時変パラメーター判断部21は、受信部24から受信した変換データに明示的に含まれる時変パラメーターと、自身が管理する時変パラメーターを比較した結果、新規性がないと仮判断した場合に、受信した変換データを破棄する。一方、新規性があると仮判断した場合には、その変換データをデータ認証部23へ送信する。そして、時変パラメーター判断部21は、データ認証部23から認証成功メッセージを受信することにより、受信部24から受信した変換データには新規性があると最終的に判断し、その変換データに明示される時変パラメーターを、送信端末1が管理する最新の時変パラメーターであると判断し、必要に応じて自身が管理する時変パラメーターを更新する。一方、時変パラメーター判断部21は、データ認証部23から認証失敗メッセージを受信した場合には、受信部24から受信した変換データには新規性がないと最終的に判断し、この場合、その変換データに明示される時変パラメーターを無視し、その変換データを破棄するものとしてもよい。
なお、ディープスリープ状態からの起動後、最初に受信する変換データ等、新規性の判断基準となる時変パラメーターを把握しておらず、新規性が不明である場合にはその変換データをデータ認証部23へ送信し、データ認証部23から認証成功メッセージを応答されることによって、受信部24から受信した変換データには新規性があると判断するものとすればよい。
【0029】
一方、後者は、受信部24から受信した変換データに、その変換データが暗号化等がなされていることにより利用されている時変パラメーターが明示されていない場合、又は、時変パラメーターが通信データの変換のみに利用され、その変換データには明示的に含まれない場合等に該当する。この場合、時変パラメーター判断部21は、受信部24から受信した変換データをデータ認証部23へ送信する。この時、送信する変換データと共にその変換データの変換に利用されていると推定される時変パラメーターを、データ認証部23へ送信してもよい。そして、データ認証部23から認証成功メッセージを受信することにより、その推定した時変パラメーターを認証に成功した時変パラメーターと判断する。このとき、データ認証部23から認証成功メッセージと共に認証に成功した時変パラメーターを受信してもよい。時変パラメーター判断部21は、認証に成功した時変パラメーターと、自身が管理する時変パラメーターとを比較した結果、新規性が確認できる場合に、受信部24から受信した変換データには新規性があると判断し、その認証に成功した時変パラメーターを、送信端末1が管理する最新の時変パラメーターであると判断し、必要に応じて自身が管理する時変パラメーターを更新する。一方、時変パラメーター判断部21は、認証に成功した時変パラメーターに新規性が確認できない場合には、受信部24から受信した変換データには新規性がないと判断し、この変換データを破棄する。ただし、ディープスリープ状態からの起動後、最初に受信する変換データ等、新規性の判断基準となる時変パラメーターを把握していない場合には、この限りではない。この場合、認証に成功した時変パラメーターを、送信端末1が管理する最新の時変パラメーターであると判断してもよい。
【0030】
鍵取得部22は、送信端末1と安全に通信を行うために利用する鍵情報を取得するものである。ここで、鍵情報は、受信端末2がスリープ状態へ突入するか否かに依存せずに記憶され続ける情報であり、例えば、ROM(Read Only Memory)、フラッシュROM、又は、ハードディスクドライブ等の不揮発性の記憶装置で管理される。鍵取得部22は、この取得した鍵情報をデータ認証部23へ送信する。
【0031】
データ認証部23は、時変パラメーター判断部21から受信した変換データが、送信端末1が生成したデータであるか否かを認証するものである。時変パラメーター判断部21から受信した変換データに時変パラメーターが明示的に含まれる場合、又は、変換データと共に変換に利用したと推定される時変パラメーターを受信する場合、鍵取得部22から受信した鍵情報と、チャレンジ生成部20から受信したチャレンジ情報と、上記の時変パラメーターとを用いて、時変パラメーター判断部21から受信した変換データが、送信端末1が生成したデータであるか否かを認証する。データ認証部23は、時変パラメーター判断部21へ、認証に成功した場合には認証成功メッセージを送信し、認証に失敗した場合には認証失敗メッセージを送信する。一方、時変パラメーター判断部21から受信した変換データに時変パラメーターが明示的に含まれない場合、又は、変換データと共に変換に利用したと推定される時変パラメーターを受信しない場合、鍵取得部22から受信した鍵情報と、チャレンジ生成部20から受信したチャレンジ情報と、時変パラメーター判断部21から受信した変換データの復号処理等によって得られる時変パラメーターとを用いて、その変換データが、送信端末1が生成したデータであるか否かを認証する。データ認証部23は、時変パラメーター判断部21へ、認証に成功した場合には認証成功メッセージを送信し、認証に失敗した場合には認証失敗メッセージを送信する。
なお、認証に成功した場合、データ認証部23は、認証成功メッセージと共に、認証に成功した時変パラメーターを時変パラメーター判断部21へ送信してもよい。また、認証に失敗した場合、時変パラメーター判断部21が認証失敗メッセージを受信することによって変換データを破棄するものとしたが、これに限られるものではなく、データ認証部23が認証に失敗した時点で、データ認証部23自身が変換データを破棄する動作としてもよい。
【0032】
受信部24は、送信端末1から受信した変換データを時変パラメーター判断部21へ送信するものである。
【0033】
送信部25は、チャレンジ生成部20から受信したチャレンジ情報を送信端末1へ送信するものである。
【0034】
(送信端末1及び受信端末2の動作)
図4は、本発明の実施の形態1に係る通信データ新規性確認システムの動作説明図である。図4を参照しながら、本実施の形態に係る通信データ新規性確認システムの動作について説明する。本実施の形態に係る通信データ新規性確認システムには、様々な形態を適用し得るが、ここでは、以下の場合を例として説明する。
【0035】
(1)時変パラメーターとして、カウンター値を利用する。また、受信端末2において新規性があるものと判断する方法として、変換データに利用されるカウンター値が、受信端末2が管理するカウンター値以上の値であることとする。
【0036】
(2)通信データの変換方法として、送信端末1と受信端末2とが共有する鍵情報である共通鍵K等を用いて生成した認証子(MAC)、及び、その認証子の生成に利用した時変パラメーター(ここでは、カウンター値)を通信データに付加する方法とする。また、認証子の生成対象となるデータ列を、認証子の生成に利用する時変パラメーターと通信データとを連結したデータ列とする。そして、認証子は、上記の共通鍵Kと、上記の時変パラメーターと、受信端末2が生成したチャレンジ情報とを用いて生成される。
【0037】
(3)変換データには、変換に利用したチャレンジ情報を明示的(平文等)に含めない。すなわち、受信端末2は、自身が生成して送信したチャレンジ情報が通信データの変換に利用されていると暗黙に把握し、実際に利用されているかどうかは、受信端末2のデータ認証部23における認証処理によって検証される。
【0038】
(4)変換データには、変換に利用した時変パラメーターを明示的(平文等)に含める。すなわち、受信端末2は、受信した変換データを認証処理する前に、時変パラメーター判断部21において、その変換データの新規性を仮判断する。
【0039】
本実施の形態に係る通信データ新規性確認システムの動作は、少なくとも大きく4段階の動作(ステップS101〜ステップS104)で構成されている。
【0040】
(S101:データ取得)
送信端末1のデータ取得部10は、通信データを取得する。
なお、送信端末1は、受信端末2に対して通信データがあることを通知するために、起動要求メッセージを送信する動作としてもよい。
【0041】
(S102:データ要求(チャレンジ情報送信))
受信端末2のチャレンジ生成部20は、チャレンジ情報RB1を生成し、送信部25を介して送信端末1に送信する。
【0042】
次に、ステップS103及びステップS104において、1つ目の通信データを送信する場合の動作について説明する。
【0043】
(S103:変換データ送信)
送信端末1の時変パラメーター管理部12は、受信端末2から受信部14を介してチャレンジ情報RB1を受信し、このチャレンジ情報RB1に対する時変パラメーターの初期値として、カウンター値(以下、送信カウンターという)に0000を設定する。次に、送信端末1のデータ変換部13は、データ取得部10から受信した通信データであるデータ1のデータ変換に利用する時変パラメーターを時変パラメーター管理部12に要求し、チャレンジ情報RB1及び送信カウンター0000を受信する。また、データ変換部13は、送信カウンター0000とデータ1とを連結したデータ列に対する認証子を、鍵取得部11から受信した共通鍵K、並びに、時変パラメーター管理部12から受信した送信カウンター0000及びチャレンジ情報RB1を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部13は、その生成した変換データを送信部15を介して受信端末2へ送信する。さらに、時変パラメーター管理部12は、自身が管理するチャレンジ情報RB1に対する送信カウンター0000をインクリメントし、0001に更新する。
【0044】
(S104:データの認証と新規性確認)
受信端末2の時変パラメーター判断部21は、受信部24を介して変換データを受信する。この段階では、受信端末2がディープスリープ状態から起動した後に、最初に受信する変換データであるため、時変パラメーター判断部21は、受信した変換データの新規性判断の基準となる時変パラメーター(後述する受信カウンター)を持たない。次に、時変パラメーター判断部21は、変換データをデータ認証部23へ送信する。そして、データ認証部23は、時変パラメーター判断部21から受信した変換データが、送信端末1によって生成されたデータであるか否かを検証する。
【0045】
データ認証部23は、鍵取得部22から受信した共通鍵K、チャレンジ生成部20から受信したチャレンジ情報RB1、及び、時変パラメーター判断部21から受信した変換データに明示的に含まれる送信カウンター0000を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部21へ認証成功メッセージを送信する。この検証処理においては、前述したように、変換データの新規性の判断の基準となる時変パラメーター(後述する受信カウンター)を持たないので、具体的には、この変換データにおける認証子に、チャレンジ生成部20によって生成されたチャレンジ情報が反映されているか否か検証される。そして、時変パラメーター判断部21がこの認証成功メッセージを受信した場合、送信端末1から受信部24を介して受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター0000を送信端末1が管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部21は、この送信カウンター0000を1つインクリメントした値0001を受信カウンターとして設定する。
【0046】
一方、データ認証部23が検証に失敗した場合は、時変パラメーター判断部21へ認証失敗メッセージを送信する。そして、時変パラメーター判断部21がこの認証失敗メッセージを受信した場合には、送信端末1から受信部24を介して受信した変換データに新規性がないと判断し、この変換データを破棄する。
【0047】
次に、ステップS103及びステップS104において、2つ目の通信データを送信する場合の動作について説明する。
【0048】
(S103:変換データ送信)
送信端末1のデータ変換部13は、データ取得部10から受信した通信データであるデータ2のデータ変換に利用する時変パラメーターを時変パラメーター管理部12に要求し、チャレンジ情報RB1及び送信カウンター0001を受信する。また、データ変換部13は、送信カウンター0001とデータ2とを連結したデータ列に対する認証子を、鍵取得部11から受信した共通鍵K、並びに、時変パラメーター管理部12から受信した送信カウンター0001及びチャレンジ情報RB1を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部13は、その生成した変換データを送信部15を介して受信端末2へ送信する。さらに、時変パラメーター管理部12は、自身が管理するチャレンジ情報RB1に対する送信カウンター0001をインクリメントし、0002に更新する。
【0049】
(S104:データの認証と新規性確認)
受信端末2の時変パラメーター判断部21は、受信部24を介して変換データを受信する。この変換データを受信した時変パラメーター判断部21は、変換データに含まれる送信カウンターが、自身が管理する受信カウンター0001以上の値であるか否か判断し、受信カウンター0001以上の値である場合、受信した変換データには新規性があると仮判断し、この変換データをデータ認証部23へ送信する。一方、変換データに含まれる送信カウンターが、自身が管理する受信カウンター0001よりも小さい場合には、受信した変換データには新規性がないと仮判断し、この変換データを破棄する。そして、データ認証部23は、時変パラメーター判断部21から受信した変換データが、送信端末1によって生成されたデータであるか否かを検証する。
【0050】
データ認証部23は、鍵取得部22から受信した共通鍵K、チャレンジ生成部20から受信したチャレンジ情報RB1、及び、時変パラメーター判断部21から受信した変換データに明示的に含まれる送信カウンター0001を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部21へ認証成功メッセージを送信する。そして、時変パラメーター判断部21がこの認証成功メッセージを受信した場合、送信端末1から受信部24を介して受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター0001を送信端末1が管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部21は、この送信カウンター0001を1つインクリメントした値0002を受信カウンターとして設定する。
【0051】
一方、データ認証部23が検証に失敗した場合は、時変パラメーター判断部21へ認証失敗メッセージを送信する。そして、時変パラメーター判断部21がこの認証失敗メッセージを受信した場合には、送信端末1から受信部24を介して受信した変換データに新規性がないと判断し、この変換データを破棄する。
【0052】
なお、3つ目以降の通信データを送信する場合の動作は、上記の2つ目の通信データを送信する場合の動作と同様である。
【0053】
次に、ディープスリープ状態からの起動時に通信データが1つ発生する場合と、複数発生する場合の動作について説明する。
図5は、本発明の実施の形態1に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが1つ発生する場合と複数発生する場合の動作説明図である。
【0054】
まず、送信端末1がディープスリープ状態50、そして、受信端末2がディープスリープ状態60にあるものとする。送信端末1がディープスリープ状態50から、及び、受信端末2がディープスリープ状態60から起動後、受信端末2は送信端末1へチャレンジ情報RB1を送信し、その後、送信端末1は通信データ(データ1)についての変換データを受信端末2へ送信する。このときの通信動作は、前述したステップS101及びステップS102、並びに、1つ目の通信データを送信する場合のステップS103及びステップS104と同様の動作である。
【0055】
次に、送信端末1がディープスリープ状態51、そして、受信端末2がディープスリープ状態61になり、再び双方が起動して通信可能状態になった場合を想定する。送信端末1がディープスリープ状態51から、及び、受信端末2がディープスリープ状態61から起動後、再び受信端末2は送信端末1へチャレンジ情報RB2を送信する。ただし、この場合のチャレンジ情報は、送信端末1がディープスリープ状態50から、そして、受信端末2がディープスリープ状態60から起動した後、受信端末2が送信端末1へ送信したチャレンジ情報RB1と重複しないものとすることが必要である。このときの通信動作は、前述したステップS101及びステップS102と同様の動作である。
【0056】
次に、送信端末1は、通信データであるデータ2についての変換データを受信端末2に送信する。このときの通信動作は、1つ目の通信データを送信する場合のステップS103及びステップS104と同様の動作である。
【0057】
そして、送信端末1は、通信データであるデータ3及びデータ4等についての変換データを受信端末2に連続して送信する。このときの通信動作は、2つ目の通信データを送信する場合のステップS103及びステップS104と同様の動作である。
【0058】
従来のチャレンジレスポンスを利用した新規性の確認方法では、通信データの発生毎に受信端末2がチャレンジ情報を生成し、送信端末1へ送信する必要があり、チャレンジ情報の生成及び送受信に伴う電力消費量及びトラフィックの増加が懸念されていたが、上記の動作のように、ディープスリープ状態から起動してから、次のディープスリープ状態に突入するまでの期間において、受信端末2が生成するチャレンジ情報は1つでよく、また、送信端末1へのチャレンジ情報の送信も、ディープスリープ状態からの起動後の1回のみでよい。また、通信データの変換方法及び変換データの形式は、通信データの数によらず、同一の変換方法を利用することができる。
【0059】
(実施の形態1の効果)
以上の構成及び動作のように、最初に通信するデータに関しては、受信端末2がチャレンジ情報を生成して送信端末1へ送信し、送信端末1が受信したチャレンジ情報を反映させて通信データを変換することによって、チャレンジレスポンスを利用した通信データの新規性確認を実施し、その後のデータ通信の新規性は、カウンター値又は時刻情報等の時変パラメーターを利用して確認している。したがって、ディープスリープ状態への突入毎に、新規性確認のためのカウンター値又は時刻情報等の時変パラメーター等の情報を記憶媒体に退避させる必要がなく、時変パラメーターがディープスリープ状態に突入することによって消失又はリセットされてしまったとしても、ディープスリープ状態の起動後、通信データの新規性を確認しながら通信を実施することができる。
【0060】
また、ディープスリープ状態から起動してから、次のディープスリープ状態に突入するまでの期間において、受信端末2が生成するチャレンジ情報は1つでよく、また、送信端末1へのチャレンジ情報の送信も、ディープスリープ状態からの起動後の1回のみでよいので、チャレンジ情報の生成及び送受信に伴う電力消費量及びトラフィックの増加を抑制することができ、ディープスリープ状態からの起動後の通信データ数の変動にも柔軟に対応することができる。
【0061】
さらに、通信データの変換方法及び変換データの形式は、通信データのタイミング及び数によらず、同一の方法及び形式を利用することができるという利点もある。
【0062】
なお、本実施の形態においては、スリープ状態として、ディープスリープ状態に焦点を当てて説明したが、これに限られるものではなく、送信端末1及び受信端末2が突入するスリープ状態として、通常スリープ状態であってもよい。
また、本実施の形態においては、送信端末1が送信する変換データに、受信端末2が生成したチャレンジ情報を明示的に(平文で)含めない例を説明したが、これに限られるものではなく、例えば、変換データにチャレンジ情報を明示的に含め、受信端末2の時変パラメーター判断部21は、受信した変換データにチャレンジ情報が明示的に含まれているか否かによって新規性を仮判断してもよい。
【0063】
実施の形態2.
本実施の形態においては、前述の実施の形態1に係る通信データ新規性確認システムの構成及び動作と相違する点を中心に説明する。
【0064】
(送信端末1aの構成)
図6は、本発明の実施の形態2に係る通信データ新規性確認システムの送信端末1aの内部構成を示すブロック図である。
図6で示されるように、送信端末1aは、少なくとも時変パラメーター取得部16a、時変パラメーター通知部17a、データ取得部10a、鍵取得部11a、時変パラメーター管理部12a、データ変換部13a、受信部14a及び送信部15aを有する。
【0065】
時変パラメーター取得部16aは、鍵取得部11aで管理される鍵情報及び後述する受信端末2aに対して管理する最新の時変パラメーターを取得するものである。時変パラメーター取得部16aは、例えば、ディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持しており、この時計が示す時刻情報を、鍵情報に対して最新となる時変パラメーターとして利用する。また、この時計が示す時計情報から、最新のカウンター値等の時変パラメーターを取得するための参照テーブル又は関数等を不揮発性の記憶媒体に保持していてもよい。例えば、1秒間に最大10回のデータ通信を実施することができるが、10回を超えてのデータ通信は実施しないと規定するとする。そして、鍵情報を利用開始したときの時刻情報をT0(秒)として不揮発性の記憶媒体に保持しておくとする。ディープスリープ状態からの起動時には、現在の時刻情報T(秒)を取得し、T−T0の値を計算し、これに1秒間にデータ送信可能な最大数である10回を掛ければ、鍵情報に対して最新となるカウンター値を取得することができる。時変パラメーター取得部16aは、取得した時変パラメーターを時変パラメーター通知部17a及び時変パラメーター管理部12aへ送信する。
【0066】
時変パラメーター通知部17aは、時変パラメーター取得部16aから受信した最新の時変パラメーターを、受信端末2aへ送信するための時変パラメーター通知メッセージを生成するものである。時変パラメーター通知部17aは、時変パラメーター取得部16aから受信した最新の時変パラメーターから、受信部14aから受信したチャレンジ情報、及び、鍵取得部11aから受信した鍵情報を利用して、時変パラメーター通知メッセージを生成し、この生成した時変パラメーター通知メッセージを送信部15aへ送信する。なお、時変パラメーター通知部17aは、データ取得部10aから通信データを受信することによって、時変パラメーター通知メッセージにこの通信データを含めてもよい。時変パラメーター通知メッセージの生成方法は、特に限定しないが、実施の形態1における送信端末1のデータ変換部13と同様に、認証子を付加したり、又は、暗号化したりしてもよく、受信端末2aが認証及び新規性を確認できる形式となっている。
【0067】
データ取得部10aは、実施の形態1におけるデータ取得部10と動作が基本的に同じであるが、取得した通信データと時変パラメーター通知部17aへ送信してもよい。例えば、取得した通信データが1つのみの場合には、時変パラメーター通知部17aへ送信することによって、時変パラメーター通知部17aは、この通信データを時変パラメーター通知メッセージに含めて送信することができる。
【0068】
鍵取得部11aは、実施の形態1における鍵取得部11と動作が基本的に同じであるが、取得した鍵情報を時変パラメーター通知部17aへも送信する。
【0069】
時変パラメーター管理部12aは、実施の形態1における時変パラメーター管理部12と動作が基本的に同じであるが、受信部14aからチャレンジ情報を受信しない。そのため、時変パラメーター管理部12aは、データ変換部13aに対してもチャレンジ情報を送信しない。また、時変パラメーター管理部12aは、時変パラメーター取得部16aから受信した最新の時変パラメーターを、自身が管理している時変パラメーターの初期値に設定する。
【0070】
データ変換部13aは、実施の形態1におけるデータ変換部13と動作が基本的に同じであるが、時変パラメーター管理部12aからチャレンジ情報を受信しない点が異なる。そのため、データ変換部13aは、通信データの変換のためにチャレンジ情報を利用せず、鍵取得部11aから受信した鍵情報、及び、時変パラメーター管理部12aから受信した時変パラメーターを利用する。また、データ変換部13aは、その変換データにもチャレンジ情報を明示的に含めない。
【0071】
受信部14aは、受信端末2aから受信したチャレンジ情報を時変パラメーター通知部17aへ送信するものである。
【0072】
送信部15aは、時変パラメーター通知部17aから受信した時変パラメーター通知メッセージ、又は、データ変換部13aから受信した変換データを受信端末2aへ送信するものである。
【0073】
(受信端末2aの構成)
図7は、本発明の実施の形態2に係る通信データ新規性確認システムの受信端末2aの内部構成を示すブロック図である。
図7で示されるように、受信端末2aは、少なくともチャレンジ生成部20a、時変パラメーター同期部26a、時変パラメーター判断部21a、鍵取得部22a、データ認証部23a、受信部24a及び送信部25aを有する。
【0074】
チャレンジ生成部20aは、実施の形態1におけるチャレンジ生成部20と動作が基本的に同じであるが、生成したチャレンジ情報を送信部25a及び時変パラメーター同期部26aへ送信する点が異なる。
【0075】
時変パラメーター同期部26aは、送信端末1aから最新の時変パラメーターを取得し同期するものである。時変パラメーター同期部26aは、受信部24aから受信した時変パラメーター通知メッセージを、鍵取得部22aから受信した鍵情報、及び、チャレンジ生成部20aから受信したチャレンジ情報を利用して認証及び新規性の確認をする。また、前述のように時変パラメーター通知メッセージには、送信端末1aが受信端末2aに送信したい通信データが含まれていてもよく、この場合、最新の時変パラメーターと共に、認証及び新規性を確認できる。そして、時変パラメーター同期部26aは、取得した送信端末1aの最新となる時変パラメーターを、時変パラメーター判断部21aへ送信する。
【0076】
時変パラメーター判断部21aは、実施の形態1における時変パラメーター判断部21と動作が基本的に同じであるが、時変パラメーター同期部26aから受信した時変パラメーターを、送信端末1aが管理する最新の時変パラメーターであると判断する点が異なる。すなわち、ディープスリープ状態から起動後に受信端末2aから受信部24aを介して最初の変換データを与えられた場合でも、新規性の判断基準となる時変パラメーターを有する。時変パラメーター判断部21aは、時変パラメーターとして時刻情報を利用する場合、変換データの新規性の判断のために、必ずしもディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持しなくてもよい。起動時間情報等、ディープスリープ状態へ突入することでリセットされる時間情報のみを管理する場合でも、送信端末から与えられた最新の時変パラメーター(時刻情報)とのズレ値を把握することで、与えられた変換データの新規性を確認できる。
【0077】
鍵取得部22aは、実施の形態1における鍵取得部22と動作が基本的に同じであるが、取得した鍵情報を時変パラメーター同期部26aへも送信する点が異なる。
【0078】
データ認証部23aは、実施の形態1におけるデータ認証部23と動作が基本的に同じであるが、チャレンジ生成部20aからチャレンジ情報を受信せず、変換データが送信端末1aが生成したデータであるか否かを認証するために、チャレンジ情報を利用しない点が異なる。
【0079】
受信部24aは、送信端末1aから受信した時変パラメーター通知メッセージを時変パラメーター同期部26aへ送信し、また、送信端末1aから受信した変換データを時変パラメーター判断部21aへ送信する。
【0080】
送信部25aは、実施の形態1における送信部25と動作が同様である。
【0081】
(送信端末1a及び受信端末2aの動作)
図8は、本発明の実施の形態2に係る通信データ新規性確認システムの動作説明図である。図8を参照しながら、本実施の形態に係る通信データ新規性確認システムの動作について説明する。本実施の形態に係る通信データ新規性確認システムには、様々な形態を適用し得るが、ここでは、以下の場合を例として説明する。
【0082】
(1)時変パラメーターとして、カウンター値を利用する。また、受信端末2aにおいて新規性があるものと判断する方法として、変換データに利用されるカウンター値が、受信端末2aが管理するカウンター値以上の値であることとする。
【0083】
(2)通信データの変換方法として、送信端末1と受信端末2とが共有する鍵情報である共通鍵K等を用いて生成した認証子(MAC)、及び、その認証子の生成に利用した時変パラメーター(ここでは、カウンター値)を通信データに付加する方法とする。また、認証子の生成対象となるデータ列を、認証子の生成に利用する時変パラメーターと通信データとを連結したデータ列とする。そして、認証子は、上記の共通鍵Kと、上記の時変パラメーターとを用いて生成される。
【0084】
(3)時変パラメーター通知メッセージには、変換に利用したチャレンジ情報を明示的(平文等)に含めない。すなわち、受信端末2aは、自身が生成して送信したチャレンジ情報が時変パラメーター通知メッセージの生成に利用されていると暗黙に把握し、実際に利用されているかどうかは、受信端末2aの時変パラメーター同期部26aにおける認証処理及び新規性確認処理によって検証される。
【0085】
(4)時変パラメーター通知メッセージには、通信データを含める。
【0086】
(5)変換データには、変換に利用した時変パラメーターを明示的(平文等)に含める。すなわち、受信端末2aは、受信した変換データを認証処理する前に、時変パラメーター判断部21aにおいて、その変換データの新規性を仮判断する。
【0087】
本実施の形態に係る通信データ新規性確認システムの動作は、少なくとも大きく7段階の動作(ステップS201〜ステップS207)で構成されている。
【0088】
(S201:時変パラメーター取得)
送信端末1aの時変パラメーター取得部16aは、ディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計から取得した時刻情報、不揮発性の記憶媒体に記録される共通鍵Kの使用開始時刻及び最新カウンター値の導出関数とを利用して、共通鍵Kに対する最新のカウンター値(以下、送信カウンターという)1000を算出し、取得する。時変パラメーター取得部16aは、この取得した最新の送信カウンター1000を、時変パラメーター管理部12a及び時変パラメーター通知部17aへ送信する。送信端末1aの時変パラメーター管理部12aは、共通鍵Kに対する最新のカウンター値1000を初期値として設定する。
【0089】
(S202:データ取得)
送信端末1aのデータ取得部10aは、通信データを取得する。そして、データ取得部10aは、取得した通信データであるデータ1を時変パラメーター通知部17aへ送信し、データ1より後のデータ2以降の通信データをデータ変換部13aへ送信する。
なお、送信端末1aは、受信端末2aに対して通信データがあることを通知するために、起動要求メッセージを送信する動作としてもよい。
【0090】
(S203:データ要求(チャレンジ情報送信))
受信端末2aのチャレンジ生成部20aは、チャレンジ情報RB1を生成し、送信部25aを介して送信端末1aに送信する。
【0091】
(S204:時変パラメーター通知メッセージ送信)
送信端末1aの時変パラメーター通知部17aは、時変パラメーター取得部16aから受信した最新の送信カウンター1000とデータ取得部10aから受信したデータ1とを連結したデータ列に対する認証子を、鍵取得部11aから受信した共通鍵K、及び、受信部14aから受信したチャレンジ情報RB1を利用して生成し、上記のデータ列に付加して時変パラメーター通知メッセージを生成する。そして、時変パラメーター通知部17aは、その生成した時変パラメーター通知メッセージを送信部15aを介して受信端末2aへ送信する。
【0092】
(S205:時変パラメーターの認証と新規性確認)
受信端末2aの時変パラメーター同期部26aは、受信部24aを介して時変パラメーター同期メッセージを受信する。また、時変パラメーター同期部26aは、その受信した時変パラメーター同期メッセージを、鍵取得部22aから受信した共通鍵K及びチャレンジ生成部20aから受信したチャレンジ情報RB1を利用して、認証及び新規性確認し、送信端末1aが管理する最新の送信カウンター1000及びデータ1を取得し、その最新の送信カウンター1000を時変パラメーター判断部21aへ送信する。受信端末2aの時変パラメーター判断部21aは、時変パラメーター同期部26aから受信した送信カウンター1000を送信端末1aが管理する最新のカウンター値であると判断し、この送信カウンター1000を受信カウンターとして設定する。
【0093】
(S206:変換データ送信)
送信端末1aのデータ変換部13aは、データ取得部10aから受信したデータ2のデータ変換に利用する時変パラメーターを時変パラメーター管理部12aに要求し、送信カウンター1000を受信する。また、データ変換部13aは、送信カウンター1000とデータ2とを連結したデータ列に対する認証子を、鍵取得部11aから受信した共通鍵K、及び、時変パラメーター管理部12aから受信した送信カウンター1000を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部13aは、その生成した変換データを送信部15aを介して受信端末2aへ送信する。さらに、時変パラメーター管理部12aは、自身が管理する送信カウンター1000をインクリメントし、1001に更新する。
【0094】
(S207:データの認証と新規性確認)
受信端末2aの時変パラメーター判断部21aは、受信部24aを介して変換データを受信する。この変換データを受信した時変パラメーター判断部21aは、変換データに含まれる送信カウンター1000が、自身が管理するカウンター値(以下、受信カウンターという)1000以上の値であるか否か判断し、受信カウンター1000以上の値である場合、受信した変換データには新規性があると仮判断し、この変換データをデータ認証部23aへ送信する。一方、変換データに含まれる送信カウンターが、自身が管理する受信カウンター1000よりも小さい場合には、受信した変換データには新規性がないと仮判断し、この変換データを破棄する。そして、データ認証部23aは、時変パラメーター判断部21aから受信した変換データが、送信端末1aによって生成されたデータであるか否かを検証する。
【0095】
データ認証部23aは、鍵取得部22aから受信した共通鍵K、及び、時変パラメーター判断部21aから受信した変換データに明示的に含まれる送信カウンター1000を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部21aへ認証成功メッセージを送信する。そして、時変パラメーター判断部21がこの認証成功メッセージを受信した場合、送信端末1aから受信部24aを介して受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター1000を送信端末1aが管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部21aは、この送信カウンター1000を1つインクリメントした値1001を受信カウンターとして設定する。
【0096】
一方、データ認証部23aが検証に失敗した場合は、時変パラメーター判断部21aへ認証失敗メッセージを送信する。そして、時変パラメーター判断部21aがこの認証失敗メッセージを受信した場合には、送信端末1aから受信部24aを介して受信した変換データに新規性がないと判断し、この変換データを破棄する。
【0097】
データ3以降の通信データ送信時の動作は、ステップS206及びステップS207の動作と同様である。
【0098】
(実施の形態2の効果)
以上の構成及び動作のように、送信端末1aがディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持し、ディープスリープ状態からの起動時に、この時計から取得した時刻情報から最新の時変パラメーターを導出して、この最新の時変パラメーター及び通信データをチャレンジレスポンスを利用して受信端末2aへ送信することによって、最新の時変パラメーターについては受信端末2aと共有し、最初の通信データについてはチャレンジレスポンスによって新規性確認が実施され、その後のデータ通信の新規性は、この送信端末1aと受信端末2aが共有した時変パラメーターを利用して確認している。したがって、ディープスリープ状態への突入毎に、新規性確認のための時変パラメーター等の情報を記憶媒体に退避させる必要がなく、時変パラメーターがディープスリープ状態に突入することによって消失又はリセットされてしまったとしても、ディープスリープ状態の起動後、時計を利用することによって、過去に利用していない最新の時変パラメーターを取得できるため、この時変パラメーターを受信端末2aに通知することによって、通信データの新規性を確認しながら通信を実施することができ、攻撃者による再生攻撃を防止することができる。このとき、送信端末1aのみがディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持すれば良く、受信端末2aは必ずしも保持する必要はない。
【0099】
また、送信端末1aと受信端末2aとが共に、ディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持し、時計の示す時刻情報を時変パラメーターとして利用する方法もあるが、この場合には、時計の進行速度のズレ等の理由により、長期に利用すれば利用するほど、時計を補正するための処理が必要になる場合がある。これに対し本実施の形態においては、ディープスリープ状態からの起動の度に、送信端末1aがチャレンジレスポンスによって最新の時刻を受信端末2aに通知して設定することができるため、時計を補正するための処理が必要ない。この効果は、実施の形態1において、時変パラメーターとして時刻情報を利用する場合においても同様に主張することができる。
【0100】
また、時変パラメーターとしてカウンター値を利用する場合、不揮発性の記憶媒体に記録すべき情報は、現在時刻から最新のカウンター値を取得するための時変パラメーターの取得関数のみでよく、その情報の更新は、鍵情報が変更されない限りにおいて必ずしも必要ない。
【0101】
そして、本実施の形態においても、時変パラメーター通知メッセージに、通信データを含めて送信したり、その後の通信データの新規性を時変パラメーターを利用して検証が可能であるため、実施の形態1と同様に、ディープスリープ状態からの起動後の通信データ数の変動にも柔軟に対応できる。
【0102】
なお、本実施の形態においては、スリープ状態として、ディープスリープ状態に焦点を当てて説明したが、これに限られるものではなく、送信端末1a及び受信端末2aが突入するスリープ状態として、通常スリープ状態であってもよい。
【0103】
実施の形態3.
本実施の形態においては、前述の実施の形態1に係る通信データ新規性確認システムの構成及び動作と相違する点を中心に説明する。
【0104】
(送信端末1bの構成)
図9は、本発明の実施の形態3に係る通信データ新規性確認システムの送信端末1bの内部構成を示すブロック図である。
図9で示されるように、送信端末1bは、少なくともデータ取得部10b、認証方法決定部18b、鍵共有部19b、鍵取得部11b、時変パラメーター管理部12b、データ変換部13b、受信部14b及び送信部15bを有する。
【0105】
データ取得部10bは、実施の形態1におけるデータ取得部10と動作が基本的に同じであるが、さらに、取得した通信データを認証方法決定部18bへも送信する。
【0106】
認証方法決定部18bは、次のディープスリープ状態へ突入するまでの通信データの数によって、通信データの新規性確認方法を選択するものである。この新規性確認方法としては、例えば、チャレンジレスポンスでもよいし、実施の形態1又は実施の形態2に記載の方法でもよいし、新たに、後述する受信端末2bと新しく鍵情報を共有することによって過去に生成した通信データ自体を無効としてもよい。また、認証方法決定部18bは、例えば、データ取得部10bから受信した通信データの数がたった1つであっても、この通信データ内に、今後複数の通信データが発生することが明示されていることによって新規性確認方法を選択してもよいし、データ取得部10bから受信した通信データの数に依存せずに、自身の動作モードによって新規性確認方法を選択してもよい。本実施の形態では、通信データの数が、たった1つの場合には、チャレンジレスポンスで新規性を確認し、複数の場合には、新しく鍵情報を共有することで再生攻撃を防止する例で説明する。認証方法決定部18bは、データ取得部10bから受信した通信データの数が1つの場合には、受信部14bから受信したチャレンジ情報をデータ変換部13bへ送信する。一方、認証方法決定部18bは、通信データの数が複数の場合には、受信部14bから受信したチャレンジ情報を鍵共有部19bへ送信する。
【0107】
鍵共有部19bは、認証方法決定部18bからチャレンジ情報を受信することによって、受信端末2bと新しい鍵情報を共有するための処理を実施するものである。鍵共有部19bは、認証方法決定部18bから受信したチャレンジ情報、自身が生成した乱数情報、及び、鍵取得部11bから受信した鍵情報を用いて、新しい鍵情報を生成する。この新しい鍵情報の生成方法は、特に限定しないが、例えば、受信端末2bから受信したチャレンジ情報と、自身が生成した乱数情報とを連結したデータ列を入力値として、鍵取得部11bから受信した鍵情報を鍵とする鍵付きハッシュ関数を適用した出力値を、新しい鍵情報として利用してもよい。なお、鍵付きハッシュ関数への入力値として、さらに、送信端末1b及び受信端末2bの固有の識別子を含めてもよい。また、自身が新たに生成した鍵情報(乱数情報)に対して、受信端末2bから受信したチャレンジ情報と、鍵取得部11bから受信した鍵情報とを利用して暗号化処理を実施し、受信端末2bへ送信することで新しい鍵情報を共有してもよい。また、鍵共有部19bは、受信端末2bと鍵情報を共有するために生成した鍵共有メッセージを送信部15bへ送信する。この鍵共有メッセージは、前述のとおり、受信端末2bに鍵情報を生成させるための乱数情報であってもよいし、自身が新しく生成した鍵情報を暗号化したメッセージであってもよい。そして、鍵共有部19bは、受信端末2bと共有した新しい鍵情報を時変パラメーター管理部12bへ送信する。
【0108】
鍵取得部11bは、実施の形態1における鍵取得部11と動作が基本的に同じであるが、取得した鍵情報を鍵共有部19bへ送信する。また、データ変換部13bから鍵要求メッセージを受信することによって、取得した鍵情報を応答する。
【0109】
時変パラメーター管理部12bは、鍵共有部19bから新しい鍵情報を受信することによって、その与えられた新しい鍵情報をその鍵情報に対する時変パラメーターと共に管理する。時変パラメーターの内容については、実施の形態1における時変パラメーター管理部12における説明と同様である。時変パラメーター管理部12bは、鍵共有部19bから新しい鍵情報を受信することによって、時変パラメーターを初期値に設定する。例えば、時変パラメーターとしてカウンター値を利用する場合には、0を設定してもよいし、また、時刻情報を利用する場合には、起動時間情報を設定してもよい。そして、時変パラメーター管理部12bは、データ変換部13bから時変パラメーター要求メッセージを受信することによって、新しい鍵情報及びその時変パラメーターを応答する。
【0110】
データ変換部13bは、データ取得部10bから受信した通信データを、受信端末2bにおいて新規性が判断できる形に変換するものである。データ変換部13bは、認証方法決定部18bからチャレンジ情報を受信するか否かによって、データ変換方法を変更する。データ変換部13bが認証方法決定部18bからチャレンジ情報を受信した場合には、チャレンジレスポンスを利用して新規性を検証できる形にデータ変換することを決定する。この場合、データ変換部13bは、鍵取得部11bへ鍵要求メッセージを送信し、鍵取得部11bから受信した鍵情報、及び、認証方法決定部18bから受信したチャレンジ情報を利用して、データ取得部10bから受信した通信データを変換する。ここでのデータ変換方法は、実施の形態1におけるデータ変換部13で説明した方法と同様である。一方、データ変換部13bが認証方法決定部18bからチャレンジ情報を受信しなかった場合には、受信端末2bと共有した新しい鍵情報及び時変パラメーターを利用して新規性を検証できる形に変換することを決定する。この場合、データ変換部13bは、このデータ変換に際し、時変パラメーター管理部12bへ時変パラメーター要求メッセージを送信することによって、時変パラメーター管理部12bから受信端末2bと共有した新しい鍵情報及び時変パラメーターを受信する。そして、データ変換部13bは、受信した新しい鍵情報及び時変パラメーターを利用して、データ取得部10bから受信した通信データを変換する。さらに、データ変換部13bは、受信端末2bにおいて新規性が検証できる形に変換した変換データを送信部15bへ送信する。
なお、この変換データには、変換に利用した時変パラメーターを明示的に含めてもよい。また、この変換データには、変換方法を示すための情報を明示的に含めてもよい。
【0111】
受信部14bは、受信端末2bから受信したチャレンジ情報を認証方法決定部18bへ送信するものである。
【0112】
送信部15bは、鍵共有部19bから受信した鍵共有メッセージ、又は、データ変換部13bから受信した変換データを受信端末2bへ送信するものである。
【0113】
(受信端末2bの構成)
図10は、本発明の実施の形態3に係る通信データ新規性確認システムの受信端末2bの内部構成を示すブロック図である。
図10で示されるように、受信端末2bは、少なくともチャレンジ生成部20b、認証方法判断部27b、鍵共有部28b、鍵取得部22b、時変パラメーター判断部21b、データ認証部23b、受信部24b及び送信部25bを有する。
【0114】
チャレンジ生成部20bは、実施の形態1におけるチャレンジ生成部20と動作が基本的に同じであるが、さらに、生成したチャレンジ情報を鍵共有部28bへ送信する点が異なる。
【0115】
認証方法判断部27bは、受信部24bから受信した変換データの新規性確認方法を判断するものである。この新規性確認方法の判断としては、例えば、変換データに含まれる変換方法を示す情報によって判断してもよいし、又は、別途変換方法を示す情報を送信端末1bから受信することによって判断してもよい。認証方法判断部27bは、チャレンジレスポンスを利用して新規性を検証できる形に変換された変換データをデータ認証部23bに送信し、送信端末1bと共有した新しく鍵情報及び時変パラメーターを利用して新規性を検証できる形に変換された変換データを時変パラメーター判断部21bへ送信する。
【0116】
鍵共有部28bは、送信端末1bと新しい鍵情報を共有するための処理を実施するものである。鍵共有部28bは、受信部24bから鍵共有メッセージを受信することによって、チャレンジ生成部20bから受信したチャレンジ情報、及び、鍵取得部22bから受信した鍵情報とを利用して、新しい鍵情報を生成する。この新しい鍵情報の生成方法は、特に限定しないが、送信端末1bにおける鍵共有部19bと整合がとれた方法を利用する必要がある。また、鍵共有部28bは、送信端末1bと共有した新しい鍵情報を時変パラメーター判断部21bへ送信する。
【0117】
鍵取得部22bは、実施の形態1における鍵取得部22と動作が基本的に同じであるが、取得した鍵情報を鍵共有部28bへ送信する。また、鍵取得部22bは、データ認証部23bから鍵要求メッセージを受信した場合に、自身が管理する鍵情報を応答する。
【0118】
時変パラメーター判断部21bは、実施の形態1における時変パラメーター判断部21と動作が基本的に同じであるが、異なる点は以下の動作である。時変パラメーター判断部21bは、鍵共有部28bから新しい鍵情報を受信し、その受信した新しい鍵情報を時変パラメーターと共に管理する。また、時変パラメーター判断部21bは、変換データを認証方法判断部27bから受信する。そして、時変パラメーター判断部21bは、認証方法判断部27bから受信した変換データと共に、鍵共有部28bから受信した新しい鍵情報をデータ認証部23bへ送信する。
【0119】
データ認証部23bは、受信した変換データが、送信端末1bが生成したデータであるか否かを認証するものである。データ認証部23bは、認証方法判断部27bから変換データを受信するか、時変パラメーター判断部21bから変換データを受信するかによって、変換データの認証方法を変更する。認証方法判断部27bから変換データを受信する場合には、データ認証部23bは、チャレンジレスポンスを利用して変換データを認証すると共に、新規性を確認する。この場合、データ認証部23bは、鍵取得部22bに鍵要求メッセージを送信することによって受信した鍵情報、及び、チャレンジ生成部20bから受信したチャレンジ情報を利用して、変換データが生成されているか否かを確認する。生成されていることを確認できた場合には、その変換データを送信端末1bが現時点で生成したデータであると認証する。一方、確認できなかった場合には、その変換データを送信端末1bが現時点で生成したデータではないと判断し、その変換データを破棄してもよい。一方、時変パラメーター判断部21bから変換データを受信する場合には、送信端末1bと共有した新しい鍵情報及び時変パラメーターを利用して変換データを認証する。この場合、データ認証部23bにおける動作は、実施の形態1におけるデータ認証部23の動作と基本的に同じであるが、時変パラメーター判断部21bから変換データと共に新しく鍵情報を受信する点、及び、変換データの検証には、チャレンジ生成部20bから受信したチャレンジ情報を利用しない点で異なる。この変換データの検証は、通信データを変換するのに利用されていると推定される時変パラメーター、及び、時変パラメーター判断部21bから受信した新しい鍵情報を用いて検証する。
【0120】
受信部24bは、送信端末1bから受信した鍵共有メッセージを鍵共有部28bへ送信し、また、送信端末1bから受信した変換データを認証方法判断部27bへ送信するものである。
【0121】
送信部25bは、実施の形態1における送信部25と動作が同じである。
【0122】
(送信端末1b及び受信端末2bの動作)
図11及び図12は、本発明の実施の形態3に係る通信データ新規性確認システムの動作説明図である。図11及び図12を参照しながら、本実施の形態に係る通信データ新規性確認システムの動作について説明する。本実施の形態に係る通信データ新規性確認システムには、様々な形態を適用し得るが、ここでは、以下の場合を例として説明する。
【0123】
(1)時変パラメーターとして、カウンター値を利用する。また、受信端末2bにおける新規性があるものと判断する方法として、変換データに利用されるカウンター値が、受信端末2bが管理するカウンター値以上の値であることとする。
【0124】
(2)通信データが1つである場合のデータの変換方法として、チャレンジレスポンスを利用する。送信端末1b及び受信端末2bが共有する共通鍵K、及び、チャレンジ情報を用いて生成した認証子(MAC)を、通信データに付加する方法とする。
【0125】
(3)通信データが複数ある場合のデータの変換方法として、送信端末1b及び受信端末2bが新たに共有した共通鍵K´等を用いて生成した認証子(MAC)、及び、その認証子の生成に利用した時変パラメーター(ここでは、カウンター値)を通信データに付加する方法とする。また、認証子の生成対象となるデータ列を、認証子の生成に利用する時変パラメーターと通信データとを連結したデータ列とする。そして、認証子は、上記の共通鍵K´と、上記の時変パラメーターとを用いて生成される。
【0126】
(4)送信端末1bと受信端末2bとの間で新しく共有する共通鍵K´は、お互いに交換する乱数情報のすべてと、既に共有している共通鍵Kとを利用して生成する。
【0127】
(5)変換データには、変換に利用した時変パラメーターを明示的(平文等)に含める。すなわち、受信端末2bは、受信した変換データを認証処理する前に、時変パラメーター判断部21bにおいて、その変換データの新規性を仮判断できる。
【0128】
本実施の形態に係る通信データ新規性確認システムの動作は、少なくとも、認証方法に依存しない共通の3段階の動作(ステップS301〜ステップS303)、及び、認証方法に依存するその後の動作(ステップS304〜ステップS306)で構成されている。
【0129】
(S301:データ取得)
送信端末1bのデータ取得部10bは、通信データを取得する。
【0130】
(S302:認証方法決定)
送信端末1bの認証方法決定部18bは、データ取得部10bから受信した通信データの数に応じて認証方法を決定する。通信データ数が1つの場合には、認証方法決定部18bは、チャレンジレスポンスを利用してデータの新規性を確認することを決定する。一方、通信データが複数の場合には、新しく鍵情報を受信端末2bと共有して、その共有した新しい鍵情報及び時変パラメーターを利用して通信データの新規性を確認することを決定する。
なお、送信端末1bは、受信端末2bに通信データがあることを通知するために、起動要求メッセージを送信してもよい。また、ここで、送信端末1bは、受信端末2bに決定した認証方法を通知してもよい。
【0131】
(S303:データ要求(チャレンジ情報送信))
受信端末2bのチャレンジ生成部20bは、チャレンジ情報RB1を生成し、送信部25bを介して送信端末1bに送信する。
【0132】
次に、ステップS304及びステップS305において、通信データが1つである場合におけるチャレンジレスポンスを利用したデータ新規性確認の動作について説明する。
【0133】
(S304:変換データ送信)
送信端末1bの認証方法決定部18bは、受信部14bからチャレンジ情報RB1を受信し、その受信したチャレンジ情報RB1をデータ変換部13bへ送信する。送信端末1bのデータ変換部13bは、認証方法決定部18bからチャレンジ情報RB1を受信することによって、鍵取得部11bに鍵要求メッセージを送信し、共通鍵Kを受信する。また、データ変換部13bは、データ取得部10bから受信したデータ1に対する認証子を、鍵取得部11bから受信した共通鍵K、及び認証方法決定部18bから受信したチャレンジ情報RB1を利用して生成し、データ1に付加して変換データを生成する。そして、データ変換部13bは、その生成した変換データを送信部15bを介して受信端末2bへ送信する。
【0134】
(S305:データの認証と新規性確認)
受信端末2bの認証方法判断部27bは、受信部24bから変換データを受信する。この変換データを受信した認証方法判断部27bは、この変換データの新規性を確認する方法としてチャレンジレスポンスを利用して新規性を確認する方法であることを判断し、この変換データをデータ認証部23bへ送信する。このとき、認証方法判断部27bにおける認証方法の判断は、例えば、変換データのヘッダ等に明示的に示されていてもよい。受信端末2bのデータ認証部23bは、認証方法判断部27bから変換データを受信することによって、鍵取得部22bに鍵要求メッセージを送信し、鍵取得部22bから共通鍵Kを受信する。そして、データ認証部23bは、受信した変換データが、共通鍵K、及び、チャレンジ生成部20bから受信したチャレンジ情報RB1を用いて変換されているかどうかを検証し、この検証に成功した場合、受信した変換データには新規性があると判断する。
【0135】
次に、ステップS304〜ステップS306において、通信データが複数である場合における送信端末1b及び受信端末2bが共有した新しい鍵情報と時変パラメーターを利用したデータ新規性確認の動作について説明する。
【0136】
(S304:鍵共有メッセージ送信)
送信端末1bの認証方法決定部18bは、受信部14bからチャレンジ情報RB1を受信し、その受信したチャレンジ情報RB1を鍵共有部19bへ送信する。送信端末1bの鍵共有部19bは、認証方法決定部18bからチャレンジ情報RB1を受信することによって、乱数情報RA1を生成し、鍵取得部11bから受信した共通鍵K、生成した乱数情報RA1、及び、認証方法決定部18bから受信したチャレンジ情報RB1を利用して新しい共通鍵K´をK´=F(K,RA1,RB1)のように生成する。ここで、F(・)は鍵生成関数である。また、鍵共有部19bは、生成した乱数情報RA1を鍵共有メッセージとして送信部15bを介して受信端末2bへ送信する。送信端末1bの時変パラメーター管理部12bは、鍵共有部19bから新しい共通鍵K´を受信することによって、その共通鍵K´に対する送信カウンターの初期値を0000に設定する。受信端末2bの鍵共有部28bは、受信部24bから鍵共有メッセージを受信し、その受信した鍵共有メッセージに含まれる乱数情報RA1、チャレンジ生成部20bから受信したチャレンジ情報RB1、及び、鍵取得部22bから受信した共通鍵Kを利用して新しい共通鍵K´を生成する。受信端末2bの時変パラメーター判断部21bは、鍵共有部28bから共通鍵K´を受信することによって、その共通鍵K´に対する受信カウンターの初期値を0000に設定する。
【0137】
(S305:変換データ送信)
送信端末1bのデータ変換部13bは、データ取得部10bから受信したデータ1の変換に利用する時変パラメーターを時変パラメーター管理部12bに要求し、時変パラメーター管理部12bから新しい共通鍵K´及び送信カウンター0000を受信する。また、データ変換部13bは、送信カウンター0000とデータ1とを連結したデータ列に対する認証子を時変パラメーター管理部12bから受信した共通鍵K´を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部13bは、その生成した変換データを送信部15bを介して受信端末2bへ送信する。さらに、時変パラメーター管理部12bは、自身が管理する送信カウンター0000をインクリメントし、0001に更新する。
【0138】
(S306:データの認証と新規性確認)
受信端末2bの認証方法判断部27bは、受信部24bから変換データを受信する。この変換データを受信した認証方法判断部27bは、この変換データの新規性を確認する方法として新しい共通鍵K´及び時変パラメーターを利用して新規性を確認する方法であることを判断し、この変換データを時変パラメーター判断部21bへ送信する。このとき、認証方法判断部27bにおける認証方法の判断は、例えば、変換データのヘッダ等に明示的に示されていてもよい。この変換データを受信した時変パラメーター判断部21bは、変換データに含まれる送信カウンターが、自身が管理する受信カウンター0000以上の値であるか否か判断し、受信カウンター0000以上の値である場合、受信した変換データには新規性があると仮判断し、この変換データを、新しい共通鍵K´と共にデータ認証部23bへ送信する。一方、変換データに含まれる送信カウンターが、自身が管理する受信カウンター0000よりも小さい場合には、受信した変換データには新規性がないと仮判断し、この変換データを破棄する。そして、データ認証部23bは、時変パラメーター判断部21bから受信した変換データが、送信端末1bによって生成されたデータであるか否かを検証する。
【0139】
データ認証部23bは、時変パラメーター判断部21bから受信した共通鍵K´、及び、時変パラメーター判断部21bから受信した変換データに明示的に含まれる送信カウンター0000を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部21bへ認証成功メッセージを送信する。そして、時変パラメーター判断部21bがこの認証成功メッセージを受信した場合、受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター0000を送信端末1bが管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部21bは、この送信カウンター0000を1つインクリメントした値0001を受信カウンターとして設定する。
【0140】
一方、データ認証部23bが検証に失敗した場合は、時変パラメーター判断部21bへ認証失敗メッセージを送信する。そして、時変パラメーター判断部21bがこの認証失敗メッセージを受信した場合には、受信した変換データに新規性がないと判断し、この変換データを破棄する。
【0141】
次に、ディープスリープ状態からの起動時に通信データが1つ発生する場合と、複数発生する場合の動作について説明する。
図13は、本発明の実施の形態3に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが1つ発生する場合と複数発生する場合の動作説明図である。
【0142】
まず、送信端末1bがディープスリープ状態50b、そして、受信端末2bがディープスリープ状態60bにあるものとする。送信端末1bがディープスリープ状態50bから、及び、受信端末2bがディープスリープ状態60bから起動後、送信端末1bは、送信する通信データが、1つであるのか複数であるのか判断し、この場合、通信データが1つであると判断したものと想定する。受信端末2bは、送信端末1bへチャレンジ情報RB1を送信し、その後、送信端末1bは通信データ(データ1)についての変換データを受信端末2bへ送信する。このときの通信動作は、前述したステップS301〜ステップS303、並びに、通信データが1つである場合におけるチャレンジレスポンスを利用した新規性確認の場合のステップS304及びステップS305と同様の動作である。
【0143】
次に、送信端末1bがディープスリープ状態51b、そして、受信端末2bがディープスリープ状態61bになり、再び双方が起動して通信可能状態になった場合を想定する。送信端末1bがディープスリープ状態51bから、及び、受信端末2bがディープスリープ状態61bから起動後、再び、送信端末1bは、送信する通信データが、1つであるのか複数であるのか判断し、この場合、通信データが複数であると判断したものと想定する。受信端末2bは、再び、送信端末1bへチャレンジ情報RB2を送信する。このときの通信動作は、前述したステップS301〜ステップS303と同様の動作である。
【0144】
次に、送信端末1bは、受信したチャレンジ情報RB2、共通鍵、及び、乱数情報RA1を用いて新しい共通鍵を生成し、その乱数情報を鍵共有メッセージとして受信端末2bへ送信する。そして、この鍵共有メッセージを受信した受信端末2bは、その鍵共有メッセージに含まれる乱数情報、チャレンジ情報RB2、及び、共通鍵を用いて新しい共通鍵を生成し、送信端末1bと新しい共通鍵を共有する。このときの通信動作は、通信データが複数である場合における送信端末1b及び受信端末2bが共有した新しい鍵情報と時変パラメーターを利用した新規性確認の場合のステップS304と同様である。
【0145】
次に、送信端末1bは通信データであるデータ2について、新しい共通鍵を用いて変換データを生成し、その変換データを受信端末2bに送信する。このときの通信動作は、通信データが複数である場合における送信端末1b及び受信端末2bが共有した新しい鍵情報と時変パラメーターを利用した新規性確認の場合のステップS305及びステップS306と同様である。
【0146】
そして、送信端末1bは、残りの通信データであるデータ3等について、同様に、新しい共通鍵を用いて変換データを生成し、その変換データを受信端末2bに連続して送信する。このときの通信動作は、通信データが複数である場合における送信端末1b及び受信端末2bが共有した新しい鍵情報と時変パラメーターを利用した新規性確認の場合のステップS305及びステップS306と同様である。
【0147】
上記の動作のように、送信する通信データの数により認証方法を切り替えることによって、ディープスリープ状態からの起動後に、通信データが突発的に多くなったとしても、常にチャレンジレスポンスを利用することによるチャレンジ情報の生成と送受信に伴う電力消費量の増加をなくすことができ、また、通信データが突発的に少なくなったとしても、常に鍵情報を共有することによる無駄な電力消費をなくすことができる。
【0148】
(実施の形態3の効果)
以上の構成及び動作のように、送信端末1bがディープスリープ状態からの起動後の通信データの発生数によって、その通信データの新規性の確認方法を変更する。すなわち、通信データが1つである場合には、チャレンジレスポンスを利用した新規性の確認を実施し、通信データが複数である場合には、送信端末1b及び受信端末2bが共有した新しい鍵情報と時変パラメーターを利用した新規性の確認を実施している。したがって、チャレンジレスポンスを利用して通信データの新規性を確認するのは、通信データが1つの場合のみであり、複数の通信データごとにチャレンジ情報を生成することはないので、チャレンジ情報の生成及び送受信に伴う電力消費量及びトラフィックの増加を抑制することができる。
【0149】
また、上記のようにディープスリープ状態からの起動時に、不揮発性メモリーに記録された鍵情報を利用して、新しい鍵情報を共有する方法において、鍵情報の共有を安全に実現するためには、送信端末1bと受信端末2bとが互いに乱数情報を生成し、交換し合い、それらの乱数情報と不揮発性メモリーに記録された鍵情報とを共通のシード情報として鍵生成関数に入力する等の処理を実施するのが一般的である。このとき、ディープスリープ状態からの起動後に発生する通信データが1つのみであり、また即座にディープスリープ状態に突入するといった場合には、新しく共有した鍵情報も即座に消去されることとなり、電力消費量の抑制という観点では、鍵情報の共有処理を実施することのメリットが損なわれる。しかし、本実施の形態においては、通信データが複数の場合において、新しく共有した鍵情報を利用して新規性の確認をしているので、その複数の通信データの送信の最初のタイミングに新しい鍵情報を生成し、その鍵情報を利用して複数の通信データを変換して変換データを生成して送信するので、電力消費量の増加を抑制することができる。また、共有した新しい鍵情報を利用して通信することによって、過去に生成した通信データを利用した再生攻撃を防止できるようになる。さらに、不揮発性メモリーに記録された鍵情報を通信データの変換に利用する代わりに、新たに共有した鍵情報を利用することにより、通信データの解析による、不揮発性メモリーに記録された鍵情報の特定が困難となり、当該鍵情報の更新頻度(不揮発性メモリーの書き換え)も減らすことができる。
【0150】
そして、上記のように本実施の形態においても、ディープスリープ状態への突入毎に、新規性確認のための情報を揮発性の記憶媒体に退避させる必要がなく、また、スリープ状態からの起動時の通信データ数の変動にも柔軟に対応しつつ、送信端末1bから受信端末2bへの通信データの新規性を確認できる。
【0151】
なお、本実施の形態においては、スリープ状態として、ディープスリープ状態に焦点を当てて説明したが、これに限られるものではなく、送信端末1b及び受信端末2bが突入するスリープ状態として、通常スリープ状態であってもよい。
また、前述したように、受信端末2bが送信端末1bへチャレンジ情報を送信する前に、起動要求メッセージを送信してもよいが、このとき、この起動要求メッセージには、何らかのメッセージを含めてもよい。例えば、本実施の形態における鍵共有メッセージ、又は、決定した認証方法を起動要求メッセージに含めて受信端末2bに送信してもよい。
【符号の説明】
【0152】
1、1a、1b 送信端末、2、2a、2b 受信端末、10、10a、10b データ取得部、11、11a、11b 鍵取得部、12、12a、12b 時変パラメーター管理部、13、13a、13b データ変換部、14、14a、14b 受信部、15、15a、15b 送信部、16a 時変パラメーター取得部、17a 時変パラメーター通知部、18b 認証方法決定部、19b 鍵共有部、20、20a、20b チャレンジ生成部、21、21a、21b 時変パラメーター判断部、22、22a、22b 鍵取得部、23、23a、23b データ認証部、24、24a、24b 受信部、25、25a、25b 送信部、26a 時変パラメーター同期部、27b 認証方法判断部、28b 鍵共有部、50、50b、51、51b、52、52b ディープスリープ状態、60、60b、61、61b、62、62b ディープスリープ状態、100 送信端末、200 受信端末。

【特許請求の範囲】
【請求項1】
データを送信する送信端末と、
該送信端末から前記データを受信する受信端末と、
を備え、
前記送信端末は、
前記受信端末へ送信する通信データを取得するデータ取得部と、
前記受信端末からチャレンジ情報を受信する受信部と、
鍵情報を取得する鍵取得部と、
前記受信部から前記チャレンジ情報を受信し、時変パラメーターを管理する時変パラメーター管理部と、
前記データ取得部から前記通信データを受信し、前記鍵取得部から前記鍵情報を受信し、前記時変パラメーター管理部から前記チャレンジ情報及び前記時変パラメーターを受信し、そして、前記鍵情報、前記チャレンジ情報及び前記時変パラメーターを用いて前記通信データを変換して変換データを生成するデータ変換部と、
該データ変換部から前記変換データを受信し、該変換データを前記受信端末へ送信する送信部と、
を有し、
前記受信端末は、
前記チャレンジ情報を生成するチャレンジ生成部と、
該チャレンジ生成部から前記チャレンジ情報を受信し、該チャレンジ情報を前記送信端末へ送信する送信部と、
前記送信端末から前記変換データを受信する受信部と、
前記送信端末における前記鍵取得部が取得する前記鍵情報と同一の鍵情報を取得する鍵取得部と、
前記受信部から前記変換データを受信し、該変換データの新規性を判断する時変パラメーター判断部と、
該時変パラメーター判断部から前記変換データを受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記チャレンジ生成部から前記チャレンジ情報を受信し、そして、前記鍵情報、前記チャレンジ情報及び前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部と、
を有し、
前記時変パラメーター判断部は、前記データ認証部から受信した前記認証結果に基づいて前記変換データの新規性を判断する
ことを特徴とする通信データ新規性確認システム。
【請求項2】
前記時変パラメーター管理部は、前記チャレンジ情報ごとに時変パラメーターを管理し、
前記データ変換部は、1つ以上の前記通信データの変換に利用する前記チャレンジ情報として同一のものを利用する
ことを特徴とする請求項1に記載の通信データ新規性確認システム。
【請求項3】
前記送信端末における前記データ変換部から複数の前記変換データが前記送信部を介して前記受信端末に送信される場合において、
前記データ認証部は、
1つ目の前記変換データの認証をする場合においては、前記変換データに前記チャレンジ生成部が生成した前記チャレンジ情報が反映されているか否かを検証し、反映されている場合は、前記認証結果として認証成功メッセージを、そして、反映されていない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
2つ目以降の前記変換データの認証をする場合においては、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証し、正しいものである場合は、前記認証結果として認証成功メッセージを、そして、正しくない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
前記時変パラメーター判断部は、前記データ認証部から前記認証成功メッセージを受信した場合は、前記変換データは新規性があると判断し、前記認証失敗メッセージを受信した場合は、前記変換データは新規性がないと判断する
ことを特徴とする請求項1又は請求項2記載の通信データ新規性確認システム。
【請求項4】
前記データ認証部は、2つ目以降の前記変換データの認証をする場合において、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証する場合、その比較となる前記時変パラメーターとして、前記変換データに前記時変パラメーターが明示的に含まれる場合の該時変パラメーター、又は、前記送信端末における前記データ変換部によって前記変換データが変換される際に利用されていると推定する前記時変パラメーターを利用する
ことを特徴とする請求項3記載の通信データ新規性確認システム。
【請求項5】
前記時変パラメーター判断部は、前記変換データに前記時変パラメーターが明示的に含まれる場合、2つ目以降の前記変換データを前記データ認証部へ送信する前に、前記変換データに明示的に含まれる前記時変パラメーターと、自身が管理する時変パラメーターとを比較し、前記変換データに含まれる前記時変パラメーターに新規性があるか否かを仮判断し、新規性があると仮判断した場合に、前記変換データを前記データ認証部へ送信する
ことを特徴とする請求項3又は請求項4記載の通信データ新規性確認システム。
【請求項6】
データを送信する送信端末と、
該送信端末から前記データを受信する受信端末と、
を備え、
前記送信端末は、
前記受信端末へ送信する通信データを取得するデータ取得部と、
前記受信端末からチャレンジ情報を受信する受信部と、
鍵情報を取得する鍵取得部と、
前記鍵情報に対応する時変パラメーターを取得する時変パラメーター取得部と、
前記鍵取得部から前記鍵情報を受信し、前記受信部から前記チャレンジ情報を受信し、前記時変パラメーター取得部から前記時変パラメーターを受信し、そして、前記鍵情報及び前記チャレンジ情報を用いて少なくとも前記時変パラメーターを変換して時変パラメーター通知メッセージを生成する時変パラメーター通知部と、
前記時変パラメーター取得部から受信した前記時変パラメーターを管理する時変パラメーター管理部と、
前記データ取得部から前記通信データを受信し、前記鍵取得部から前記鍵情報を受信し、前記時変パラメーター管理部から前記時変パラメーターを受信し、そして、前記鍵情報及び前記時変パラメーターを用いて前記通信データを変換して変換データを生成するデータ変換部と、
前記時変パラメーター通知部から前記時変パラメーター通知メッセージを受信し、該データ変換部から前記変換データを受信し、前記時変パラメーター通知メッセージ及び前記変換データを前記受信端末へ送信する送信部と、
を有し、
前記受信端末は、
前記チャレンジ情報を生成するチャレンジ生成部と、
該チャレンジ生成部から前記チャレンジ情報を受信し、該チャレンジ情報を前記送信端末へ送信する送信部と、
前記送信端末から前記時変パラメーター通知メッセージ及び前記変換データを受信する受信部と、
前記送信端末における前記鍵取得部が取得する前記鍵情報と同一の鍵情報を取得する鍵取得部と、
前記受信部から前記時変パラメーター通知メッセージを受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記チャレンジ生成部から前記チャレンジ情報を取得し、そして、前記鍵情報及び前記チャレンジ情報を用いて、前記時変パラメーター通知メッセージが正しく生成されているか否かを認証して前記時変パラメーター通知メッセージから少なくとも前記時変パラメーターを取得し、該時変パラメーターを前記時変パラメーター判断部へ送信する時変パラメーター同期部と、
前記受信部から前記変換データを受信し、該変換データの新規性を判断する時変パラメーター判断部と、
該時変パラメーター判断部から前記変換データを受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、そして、前記鍵情報及び前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部と、
を有し、
前記時変パラメーター判断部は、前記データ認証部から受信した前記認証結果に基づいて前記変換データの新規性を判断する
ことを特徴とする通信データ新規性確認システム。
【請求項7】
前記時変パラメーター同期部は、前記時変パラメーター通知メッセージに前記チャレンジ生成部が生成した前記チャレンジ情報が反映されているか否かを検証し、反映されている場合は、前記時変パラメーター通知メッセージから取得した前記通信データは新規性があると判断し、また、前記時変パラメーター通知メッセージから取得した前記時変パラメーターは前記送信端末が管理する前記時変パラメーターであると判断する
ことを特徴とする請求項6記載の通信データ新規性確認システム。
【請求項8】
前記データ認証部は、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証し、正しいものである場合は、前記認証結果として認証成功メッセージを、そして、正しくない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
前記時変パラメーター判断部は、前記データ認証部から前記認証成功メッセージを受信した場合は、前記変換データは新規性があると判断し、前記認証失敗メッセージを受信した場合は、前記変換データは新規性がないと判断する
ことを特徴とする請求項6又は請求項7記載の通信データ新規性確認システム。
【請求項9】
前記データ認証部は、前記変換データの認証をする場合において、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証する場合、その比較となる前記時変パラメーターとして、前記変換データに前記時変パラメーターが明示的に含まれる場合の該時変パラメーターを利用する
ことを特徴とする請求項8記載の通信データ新規性確認システム。
【請求項10】
前記時変パラメーター判断部は、前記変換データに前記時変パラメーターが明示的に含まれる場合、前記変換データを前記データ認証部へ送信する前に、前記変換データに明示的に含まれる前記時変パラメーターと、前記時変パラメーター同期部から受信した前記時変パラメーターに基づいて管理するものとした時変パラメーターとを比較することによって、前記変換データに含まれる前記時変パラメーターに新規性があるか否かを仮判断し、新規性があると仮判断した場合に、前記変換データを前記データ認証部へ送信する
ことを特徴とする請求項6〜請求項9いずれかに記載の通信データ新規性確認システム。
【請求項11】
前記時変パラメーター取得部は、
前記鍵情報を使用開始してからの経過時間情報を取得する時計手段を有し、
前記経過時間情報に基づき前記鍵情報に対応した前記時変パラメーターを取得する
ことを特徴とする請求項6〜請求項10のいずれかに記載の通信データ新規性確認システム。
【請求項12】
データを送信する送信端末と、
該送信端末から前記データを受信する受信端末と、
を備え、
前記送信端末は、
前記受信端末へ送信する通信データを取得するデータ取得部と、
前記受信端末からチャレンジ情報を受信する受信部と、
鍵情報を取得する鍵取得部と、
前記受信部から前記チャレンジ情報を受信し、前記データ取得部から受信した前記通信データ数に基づいて該通信データの新規性を判断する認証方法を決定する認証方法決定部と、
前記鍵取得部から前記鍵情報を受信し、前記認証方法決定部から前記チャレンジ情報を受信し、そして、前記鍵情報、前記チャレンジ情報、及び、自身が生成した乱数情報に基づいて新しい鍵情報を生成する鍵共有部と、
該鍵共有部から前記新しい鍵情報を受信し、該新しい鍵情報に基づいて時変パラメーターを設定して管理する時変パラメーター管理部と、
前記データ取得部から前記通信データを受信し、前記鍵取得部から受信した前記鍵情報及び前記認証方法決定部から受信した前記チャレンジ情報、又は、前記時変パラメーター管理部から受信した前記新しい鍵情報及び前記時変パラメーターを用いて前記通信データを変換して変換データを生成するデータ変換部と、
該データ変換部から前記変換データを受信し、前記鍵共有部から少なくとも前記乱数情報を含む鍵共有メッセージを受信し、前記変換データ及び前記鍵共有メッセージを前記受信端末へ送信する送信部と、
を有し、
前記受信端末は、
前記チャレンジ情報を生成するチャレンジ生成部と、
該チャレンジ生成部から前記チャレンジ情報を受信し、該チャレンジ情報を前記送信端末へ送信する送信部と、
前記送信端末から前記変換データ及び前記鍵共有メッセージを受信する受信部と、
前記送信端末における前記鍵取得部が取得する前記鍵情報と同一の鍵情報を取得する鍵取得部と、
前記受信部から前記変換データを受信し、該変換データに基づいてその新規性を判断する認証方法を判断する認証方法判断部と、
前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記チャレンジ生成部から前記チャレンジ情報を受信し、前記受信部から前記鍵共有メッセージを受信し、そして、前記鍵情報、前記チャレンジ情報及び前記鍵共有メッセージを用いて前記送信端末における前記鍵共有部が生成した前記新しい鍵情報と同一の新しい鍵情報を生成する鍵共有部と、
該鍵共有部から前記新しい鍵情報を受信し、前記認証方法判断部から前記変換データを受信し、該変換データの新規性を判断する時変パラメーター判断部と、
該時変パラメーター判断部から前記変換データ及び前記新しい鍵情報を受信し、該新しい鍵情報及び前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部と、
を有し、
前記時変パラメーター判断部は、前記データ認証部から受信した前記認証結果に基づいて前記変換データの新規性を判断する
ことを特徴とする通信データ新規性確認システム。
【請求項13】
前記データ取得部が取得する前記通信データが1つである場合、
前記データ変換部は、前記送信端末における前記鍵取得部から受信した前記鍵情報及び前記認証方法決定部から受信した前記チャレンジ情報を用いて前記通信データを変換して前記変換データを生成し、
前記データ認証部は、前記チャレンジ生成部から前記チャレンジ情報を受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記認証方法判断部から前記変換データを受信し、そして、前記チャレンジ情報及び前記鍵情報を用いて前記変換データに前記チャレンジ情報が反映されているか検証し、反映されている場合は、前記変換データは新規性があると判断する
ことを特徴とする請求項12記載の通信データ新規性確認システム。
【請求項14】
前記データ取得部が取得する前記通信データが複数である場合、
前記データ変換部は、前記時変パラメーター管理部から受信した前記新しい鍵情報及び前記時変パラメーターを用いて前記通信データを変換して前記変換データを生成し、
前記データ認証部は、前記時変パラメーター判断部から受信した前記新しい鍵情報、及び、前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを検証し、正しいものである場合は、前記認証結果として認証成功メッセージを、そして、正しくない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
前記時変パラメーター判断部は、前記データ認証部から前記認証成功メッセージを受信した場合は、前記変換データは新規性があると判断し、前記認証失敗メッセージを受信した場合は、前記変換データは新規性がないと判断する
ことを特徴とする請求項12又は請求項13記載の通信データ新規性確認システム。
【請求項15】
前記時変パラメーター判断部は、前記変換データに前記時変パラメーターが明示的に含まれる場合、前記変換データを前記データ認証部へ送信する前に、前記変換データに明示的に含まれる前記時変パラメーターと、自身が管理する時変パラメーターとを比較することによって、前記変換データに含まれる前記時変パラメーターに新規性があるか否かを仮判断し、新規性があると仮判断した場合に、前記変換データを前記データ認証部へ送信する
ことを特徴とする請求項12〜請求項14のいずれかに記載の通信データ新規性確認システム。
【請求項16】
前記変換データは、その変換の対象となる前記通信データに認証子を付加され、又は、前記通信データが暗号化されたものである
ことを特徴とする請求項1〜請求項15のいずれかに記載の通信データ新規性確認システム。
【請求項17】
請求項1〜請求項16のいずれかに記載の通信データ新規性確認システムにおける送信端末を備えた
ことを特徴とする通信端末。
【請求項18】
請求項1〜請求項16のいずれかに記載の通信データ新規性確認システムにおける受信端末を備えた
ことを特徴とする通信端末。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−66703(P2011−66703A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−215864(P2009−215864)
【出願日】平成21年9月17日(2009.9.17)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】