(57)【特許請求の範囲】
【請求項１】
データを送信する送信端末と、
該送信端末から前記データを受信する受信端末と、
を備え、
前記送信端末は、
前記受信端末へ送信する通信データを取得するデータ取得部と、
前記受信端末からチャレンジ情報を受信する受信部と、
鍵情報を取得する鍵取得部と、
前記受信部から前記チャレンジ情報を受信し、時変パラメーターを管理する時変パラメーター管理部と、
前記データ取得部から前記通信データを受信し、前記鍵取得部から前記鍵情報を受信し、前記時変パラメーター管理部から前記チャレンジ情報及び前記時変パラメーターを受信し、そして、前記鍵情報、前記チャレンジ情報及び前記時変パラメーターを用いて前記通信データを変換して変換データを生成するデータ変換部と、
該データ変換部から前記変換データを受信し、該変換データを前記受信端末へ送信する送信部と、
を有し、
前記受信端末は、
前記チャレンジ情報を生成するチャレンジ生成部と、
該チャレンジ生成部から前記チャレンジ情報を受信し、該チャレンジ情報を前記送信端末へ送信する送信部と、
前記送信端末から前記変換データを受信する受信部と、
前記送信端末における前記鍵取得部が取得する前記鍵情報と同一の鍵情報を取得する鍵取得部と、
前記受信部から前記変換データを受信し、該変換データの新規性を判断する時変パラメーター判断部と、
該時変パラメーター判断部から前記変換データを受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記チャレンジ生成部から前記チャレンジ情報を受信し、そして、前記鍵情報、前記チャレンジ情報及び前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部と、
を有し、
前記時変パラメーター判断部は、前記データ認証部から受信した前記認証結果に基づいて前記変換データの新規性を判断する
ことを特徴とする通信データ新規性確認システム。
【請求項２】
前記時変パラメーター管理部は、前記チャレンジ情報ごとに時変パラメーターを管理し、
前記データ変換部は、１つ以上の前記通信データの変換に利用する前記チャレンジ情報として同一のものを利用する
ことを特徴とする請求項１に記載の通信データ新規性確認システム。
【請求項３】
前記送信端末における前記データ変換部から複数の前記変換データが前記送信部を介して前記受信端末に送信される場合において、
前記データ認証部は、
１つ目の前記変換データの認証をする場合においては、前記変換データに前記チャレンジ生成部が生成した前記チャレンジ情報が反映されているか否かを検証し、反映されている場合は、前記認証結果として認証成功メッセージを、そして、反映されていない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
２つ目以降の前記変換データの認証をする場合においては、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証し、正しいものである場合は、前記認証結果として認証成功メッセージを、そして、正しくない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
前記時変パラメーター判断部は、前記データ認証部から前記認証成功メッセージを受信した場合は、前記変換データは新規性があると判断し、前記認証失敗メッセージを受信した場合は、前記変換データは新規性がないと判断する
ことを特徴とする請求項１又は請求項２記載の通信データ新規性確認システム。
【請求項４】
前記データ認証部は、２つ目以降の前記変換データの認証をする場合において、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証する場合、その比較となる前記時変パラメーターとして、前記変換データに前記時変パラメーターが明示的に含まれる場合の該時変パラメーター、又は、前記送信端末における前記データ変換部によって前記変換データが変換される際に利用されていると推定する前記時変パラメーターを利用する
ことを特徴とする請求項３記載の通信データ新規性確認システム。
【請求項５】
前記時変パラメーター判断部は、前記変換データに前記時変パラメーターが明示的に含まれる場合、２つ目以降の前記変換データを前記データ認証部へ送信する前に、前記変換データに明示的に含まれる前記時変パラメーターと、自身が管理する時変パラメーターとを比較し、前記変換データに含まれる前記時変パラメーターに新規性があるか否かを仮判断し、新規性があると仮判断した場合に、前記変換データを前記データ認証部へ送信する
ことを特徴とする請求項３又は請求項４記載の通信データ新規性確認システム。
【請求項６】
データを送信する送信端末と、
該送信端末から前記データを受信する受信端末と、
を備え、
前記送信端末は、
前記受信端末へ送信する通信データを取得するデータ取得部と、
前記受信端末からチャレンジ情報を受信する受信部と、
鍵情報を取得する鍵取得部と、
ディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計から取得した時刻情報と、前記鍵情報の使用開始時刻と、に基づいて、前記鍵情報に対応する時変パラメーターを生成し、該時変パラメーターを取得する時変パラメーター取得部と、
前記鍵取得部から前記鍵情報を受信し、前記受信部から前記チャレンジ情報を受信し、前記時変パラメーター取得部から前記時変パラメーターを受信し、そして、前記鍵情報及び前記チャレンジ情報を用いて少なくとも前記時変パラメーターを変換して時変パラメーター通知メッセージを生成する時変パラメーター通知部と、
前記時変パラメーター取得部から受信した前記時変パラメーターを管理する時変パラメーター管理部と、
前記データ取得部から前記通信データを受信し、前記鍵取得部から前記鍵情報を受信し、前記時変パラメーター管理部から前記時変パラメーターを受信し、そして、前記鍵情報及び前記時変パラメーターを用いて前記通信データを変換して変換データを生成するデータ変換部と、
前記時変パラメーター通知部から前記時変パラメーター通知メッセージを受信し、該データ変換部から前記変換データを受信し、前記時変パラメーター通知メッセージ及び前記変換データを前記受信端末へ送信する送信部と、
を有し、
前記受信端末は、
前記チャレンジ情報を生成するチャレンジ生成部と、
該チャレンジ生成部から前記チャレンジ情報を受信し、該チャレンジ情報を前記送信端末へ送信する送信部と、
前記送信端末から前記時変パラメーター通知メッセージ及び前記変換データを受信する受信部と、
前記送信端末における前記鍵取得部が取得する前記鍵情報と同一の鍵情報を取得する鍵取得部と、
前記受信部から前記時変パラメーター通知メッセージを受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記チャレンジ生成部から前記チャレンジ情報を取得し、そして、前記鍵情報及び前記チャレンジ情報を用いて、前記時変パラメーター通知メッセージが正しく生成されているか否かを認証して前記時変パラメーター通知メッセージから少なくとも前記時変パラメーターを取得し、該時変パラメーターを前記時変パラメーター判断部へ送信する時変パラメーター同期部と、
前記受信部から前記変換データを受信し、該変換データの新規性を判断する時変パラメーター判断部と、
該時変パラメーター判断部から前記変換データを受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、そして、前記鍵情報及び前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部と、
を有し、
前記時変パラメーター判断部は、前記データ認証部から受信した前記認証結果に基づいて前記変換データの新規性を判断する
ことを特徴とする通信データ新規性確認システム。
【請求項７】
前記時変パラメーター同期部は、前記時変パラメーター通知メッセージに前記チャレンジ生成部が生成した前記チャレンジ情報が反映されているか否かを検証し、反映されている場合は、前記時変パラメーター通知メッセージから取得した前記通信データは新規性があると判断し、また、前記時変パラメーター通知メッセージから取得した前記時変パラメーターは前記送信端末が管理する前記時変パラメーターであると判断する
ことを特徴とする請求項６記載の通信データ新規性確認システム。
【請求項８】
前記データ認証部は、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証し、正しいものである場合は、前記認証結果として認証成功メッセージを、そして、正しくない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
前記時変パラメーター判断部は、前記データ認証部から前記認証成功メッセージを受信した場合は、前記変換データは新規性があると判断し、前記認証失敗メッセージを受信した場合は、前記変換データは新規性がないと判断する
ことを特徴とする請求項６又は請求項７記載の通信データ新規性確認システム。
【請求項９】
前記データ認証部は、前記変換データの認証をする場合において、前記変換データに反映されている前記時変パラメーターが正しいものであるか否かを検証する場合、その比較となる前記時変パラメーターとして、前記変換データに前記時変パラメーターが明示的に含まれる場合の該時変パラメーターを利用する
ことを特徴とする請求項８記載の通信データ新規性確認システム。
【請求項１０】
前記時変パラメーター判断部は、前記変換データに前記時変パラメーターが明示的に含まれる場合、前記変換データを前記データ認証部へ送信する前に、前記変換データに明示的に含まれる前記時変パラメーターと、前記時変パラメーター同期部から受信した前記時変パラメーターに基づいて管理するものとした時変パラメーターとを比較することによって、前記変換データに含まれる前記時変パラメーターに新規性があるか否かを仮判断し、新規性があると仮判断した場合に、前記変換データを前記データ認証部へ送信する
ことを特徴とする請求項６〜請求項９いずれかに記載の通信データ新規性確認システム。
【請求項１１】
前記時変パラメーター取得部は、
前記鍵情報を使用開始してからの経過時間情報を取得する時計手段を有し、
前記経過時間情報に基づき前記鍵情報に対応した前記時変パラメーターを取得する
ことを特徴とする請求項６〜請求項１０のいずれかに記載の通信データ新規性確認システム。
【請求項１２】
データを送信する送信端末と、
該送信端末から前記データを受信する受信端末と、
を備え、
前記送信端末は、
前記受信端末へ送信する通信データを取得するデータ取得部と、
前記受信端末からチャレンジ情報を受信する受信部と、
鍵情報を取得する鍵取得部と、
前記受信部から前記チャレンジ情報を受信し、前記データ取得部から受信した前記通信データ数に基づいて該通信データの新規性を判断する認証方法を決定する認証方法決定部と、
前記鍵取得部から前記鍵情報を受信し、前記認証方法決定部から前記チャレンジ情報を受信し、そして、前記鍵情報、前記チャレンジ情報、及び、自身が生成した乱数情報に基づいて新しい鍵情報を生成する鍵共有部と、
該鍵共有部から前記新しい鍵情報を受信し、該新しい鍵情報に基づいて時変パラメーターを設定して管理する時変パラメーター管理部と、
前記データ取得部から前記通信データを受信し、前記鍵取得部から受信した前記鍵情報及び前記認証方法決定部から受信した前記チャレンジ情報、又は、前記時変パラメーター管理部から受信した前記新しい鍵情報及び前記時変パラメーターを用いて前記通信データを変換して変換データを生成するデータ変換部と、
該データ変換部から前記変換データを受信し、前記鍵共有部から少なくとも前記乱数情報を含む鍵共有メッセージを受信し、前記変換データ及び前記鍵共有メッセージを前記受信端末へ送信する送信部と、
を有し、
前記受信端末は、
前記チャレンジ情報を生成するチャレンジ生成部と、
該チャレンジ生成部から前記チャレンジ情報を受信し、該チャレンジ情報を前記送信端末へ送信する送信部と、
前記送信端末から前記変換データ及び前記鍵共有メッセージを受信する受信部と、
前記送信端末における前記鍵取得部が取得する前記鍵情報と同一の鍵情報を取得する鍵取得部と、
前記受信部から前記変換データを受信し、該変換データに基づいてその新規性を判断する認証方法を判断する認証方法判断部と、
前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記チャレンジ生成部から前記チャレンジ情報を受信し、前記受信部から前記鍵共有メッセージを受信し、そして、前記鍵情報、前記チャレンジ情報及び前記鍵共有メッセージを用いて前記送信端末における前記鍵共有部が生成した前記新しい鍵情報と同一の新しい鍵情報を生成する鍵共有部と、
該鍵共有部から前記新しい鍵情報を受信し、前記認証方法判断部から前記変換データを受信し、該変換データの新規性を判断する時変パラメーター判断部と、
該時変パラメーター判断部から前記変換データ及び前記新しい鍵情報を受信し、該新しい鍵情報及び前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部と、
を有し、
前記時変パラメーター判断部は、前記データ認証部から受信した前記認証結果に基づいて前記変換データの新規性を判断する
ことを特徴とする通信データ新規性確認システム。
【請求項１３】
前記データ取得部が取得する前記通信データが１つである場合、
前記データ変換部は、前記送信端末における前記鍵取得部から受信した前記鍵情報及び前記認証方法決定部から受信した前記チャレンジ情報を用いて前記通信データを変換して前記変換データを生成し、
前記データ認証部は、前記チャレンジ生成部から前記チャレンジ情報を受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記認証方法判断部から前記変換データを受信し、そして、前記チャレンジ情報及び前記鍵情報を用いて前記変換データに前記チャレンジ情報が反映されているか検証し、反映されている場合は、前記変換データは新規性があると判断する
ことを特徴とする請求項１２記載の通信データ新規性確認システム。
【請求項１４】
前記データ取得部が取得する前記通信データが複数である場合、
前記データ変換部は、前記時変パラメーター管理部から受信した前記新しい鍵情報及び前記時変パラメーターを用いて前記通信データを変換して前記変換データを生成し、
前記データ認証部は、前記時変パラメーター判断部から受信した前記新しい鍵情報、及び、前記時変パラメーターを用いて、前記変換データが正しく変換されているか否かを検証し、正しいものである場合は、前記認証結果として認証成功メッセージを、そして、正しくない場合は、前記認証結果として認証失敗メッセージを前記時変パラメーター判断部へ送信し、
前記時変パラメーター判断部は、前記データ認証部から前記認証成功メッセージを受信した場合は、前記変換データは新規性があると判断し、前記認証失敗メッセージを受信した場合は、前記変換データは新規性がないと判断する
ことを特徴とする請求項１２又は請求項１３記載の通信データ新規性確認システム。
【請求項１５】
前記時変パラメーター判断部は、前記変換データに前記時変パラメーターが明示的に含まれる場合、前記変換データを前記データ認証部へ送信する前に、前記変換データに明示的に含まれる前記時変パラメーターと、自身が管理する時変パラメーターとを比較することによって、前記変換データに含まれる前記時変パラメーターに新規性があるか否かを仮判断し、新規性があると仮判断した場合に、前記変換データを前記データ認証部へ送信する
ことを特徴とする請求項１２〜請求項１４のいずれかに記載の通信データ新規性確認システム。
【請求項１６】
前記変換データは、その変換の対象となる前記通信データに認証子を付加され、又は、前記通信データが暗号化されたものである
ことを特徴とする請求項１〜請求項１５のいずれかに記載の通信データ新規性確認システム。
【請求項１７】
通信データ新規性確認システムに備えられ、データを送信する送信端末であって、
前記送信端末は、
受信端末へ送信する通信データを取得するデータ取得部と、
前記受信端末からチャレンジ情報を受信する受信部と、
鍵情報を取得する鍵取得部と、
前記受信部から前記チャレンジ情報を受信し、時変パラメーターを管理する時変パラメーター管理部と、
前記データ取得部から前記通信データを受信し、前記鍵取得部から前記鍵情報を受信し、前記時変パラメーター管理部から前記チャレンジ情報及び前記時変パラメーターを受信し、そして、前記鍵情報、前記チャレンジ情報及び前記時変パラメーターを用いて前記通信データを変換して変換データを生成するデータ変換部と、
該データ変換部から前記変換データを受信し、該変換データを前記受信端末へ送信する送信部と、
を備え、
前記受信端末は、前記変換データの新規性を判断する
ことを特徴とする送信端末。
【請求項１８】
通信データ新規性確認システムに備えられ、データを受信する受信端末であって、
前記受信端末は、
チャレンジ情報を生成するチャレンジ生成部と、
該チャレンジ生成部から前記チャレンジ情報を受信し、該チャレンジ情報を送信端末へ送信する送信部と、
前記送信端末から変換データを受信する受信部と、
前記送信端末における鍵取得部が取得する鍵情報と同一の鍵情報を取得する鍵取得部と、
前記受信部から前記変換データを受信し、該変換データの新規性を判断する時変パラメーター判断部と、
該時変パラメーター判断部から前記変換データを受信し、前記受信端末における前記鍵取得部から前記鍵情報を受信し、前記チャレンジ生成部から前記チャレンジ情報を受信し、そして、前記鍵情報、前記チャレンジ情報及び時変パラメーターを用いて、前記変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部と、
を備え、
前記時変パラメーター判断部は、前記データ認証部から受信した前記認証結果に基づいて前記変換データの新規性を判断する
ことを特徴とする受信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スリープ状態への突入等によって認証情報（データの新規性を確認するための情報）を消失した通信端末が、再起動後に、通信データの新規性を確認する通信データ新規性確認システム並びに送信端末及び受信端末に関するものである。
【背景技術】
【０００２】
再生攻撃（リプレイアタック）とは、攻撃者が通信路において通信データを傍受し、後にその通信データを再投入することで、その通信データを現在新規に発生した通信データとして受信端末に再び受け入れさせる攻撃である。例えば、通信端末間で秘密に共有する共通鍵を利用して通信データに認証子（ＭＡＣ：Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を付加することによって改竄やなりすましがないことを通信相手に証明できたとしても、再生攻撃を防げるとは限らない。なぜならば、通信データ自体は、通信端末間で秘密に共有する共通鍵を用いて正しく変換されているため、受信端末において受信データの認証に成功するからである。通信端末間のデータ通信において再生攻撃を防ぐための代表的な方法として、カウンター値を利用する方法、時刻情報を利用する方法及びチャレンジレスポンスを利用する方法の３つがある。
【０００３】
図１は、上記の３つの方法の概要を説明する図である。
図１において、||はデータ列の連結を示す。また、ＭＡＣ（Ｘ，Ｙ）は鍵や初期ベクトル等の入力データＸ（Ｘは複数あってもよい）を用いて通信データ列Ｙに対して生成した認証子を示す。
【０００４】
カウンター値を利用する方法は、携帯電話及び無線ＬＡＮ等、現在広く普及している無線ネットワークプロトコルで採用されている。この方法では、送信端末１００と受信端末２００とが共に、鍵情報や通信相手に関連付けられたカウンター値を管理することでデータの新規性を確認しており、その値は一般的に通信が発生するごとに更新される。
【０００５】
時刻情報を利用する方法は、送信端末１００と受信端末２００とが時刻を同期することによってデータの新規性を確認する方法である。ここで、送信端末１００及び受信端末２００の各々が管理する時刻値を一致させなくても、各々が相対的なズレ値を把握することで新規性を確認することは可能である。しかし、いずれにしても時計自体の進行速度のズレを補正するという意味での同期は必要になる。
【０００６】
そして、チャレンジレスポンスを利用する方法は、送信端末１００が受信端末２００へ通信データを送信するのに際し、受信端末２００からチャレンジ情報（乱数等、過去に生成した情報と重複しない一意的な情報）を受け取り、送信端末１００は受け取ったチャレンジ情報を送信データに反映させることでデータの新規性を確認する方法である。
【０００７】
また、受信端末が事前に、メッセージのリプレイを判定するための固有コードのリストを保持しており、送信端末からのメッセージと共に受信された固有コードをそのリストに含まれる固有コードと比較し、リストの中に含まれていることによって、そのメッセージがリプレイでないと判定すると共に、そのメッセージと共に受信された固有コードをリストから削除し、一方、リストの中に含まれていないことによって、そのメッセージがリプレイであると判定することで、送信端末から受信端末に伝送されるメッセージのリプレイに対するセキュリティを提供する方法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−７２９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一方、無線センサーネットワークのように、各通信端末を電池駆動で長期間動作させたいようなネットワークにおいては、いかにして無駄な電力消費を失くすかが重要となる。例えば、通信端末が受信待機中には自身の無線デバイスをスリープ状態にすることで電力の消費を抑えるといった対策が有効となる。通信端末の消費電力を抑制するためには、クロックを停止、又は、低速に設定したり、利用しないデバイスへの電源供給をカットしたりすることが有効である。例えば、トラフィック及び内部処理等が長期間発生しない場合には、無線デバイスだけでなく内部時計又は揮発性のメモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）への電源供給もカットするようなスリープ状態もある。すなわち、スリープ状態への突入によって、時刻が初期値にリセットされたり、又は、カウンター値が消失したりといった、認証情報の消失が発生する。本発明では、スリープ状態への突入により認証情報が消失するか否かによって、ディープスリープ状態（認証情報が消失する状態）及び通常スリープ状態（認証状態が消失しない状態）の２つのスリープ状態を定義する。
【００１０】
携帯電話及び無線ＬＡＮ等の無線ネットワークプロトコルで採用されているカウンター値を利用する方法のように、データ通信ごとに更新される情報は、高速アクセスが可能なＲＡＭで管理されることが多い。すなわち、通常スリープ状態に突入した通信端末は、その通常スリープ状態からの起動時に通信相手と同期する最新のカウンター値をＲＡＭにアクセスすることにより把握できるが、一方、ディープスリープ状態に突入した通信端末は、そのディープスリープ状態からの起動時には、通信相手と同期していた最新のカウンター値を消失することになる。この場合、通信端末は、受信した通信データが過去に生成されたものか、新規に生成されたものかを確認するための基準値を失うことになり、通信データ受信時に再生攻撃に遭っているかどうかを確認する手段がないという問題点がある。
【００１１】
この問題を解決するための方法として、カウンター値等の認証情報を不揮発性メモリーに退避させておく方法も考えられる。しかし、一般に不揮発性メモリーは消去及び書き込み回数に限度がある。よって、カウンター値のように、更新頻度が多く、ディープスリープ状態に投入する度に更新する必要があるような認証情報には適用できない。また、特許文献１に記載の固有コードのリストも、リスト自体の更新頻度が多いと想定されることから、適用できない。
【００１２】
また、他の対策方法として、通信端末がスリープ状態へ突入する／しないに依存せずに動作し続ける時計を外部に搭載してその時刻情報を利用するという方法もあるが、時刻情報を利用する場合には、通信端末間の時刻を同期させるために、時計の進行速度のズレの補正を実施しなければならないという別の問題がある。
【００１３】
また、他の対策方法として、チャレンジレスポンスを利用する方法が適用できる。ディープスリープ状態からの起動後、送信端末が通信データを受信端末に送るに際し、まず、受信端末がチャレンジ情報（乱数等の過去に生成した情報と重複しない一意的な情報）を生成して送信端末に送信し、送信端末は受信端末から与えられたチャレンジ情報を反映させる形で通信データを変換し、受信端末に送信する。受信端末は、送信端末から受信した変換データに、自身が生成したチャレンジ情報が反映されて変換されているか否かを検証することによって、受信した通信データが現時点で送信端末によって生成された通信データであるか否かを確認できる。一方、ディープスリープ状態からの起動後に発生するトラフィックは、常に一定とは限らない。例えば、ディープスリープ状態からの起動後に、突発的に多くのデータを配送したい場合がある。この場合、受信端末は、通信データごとにチャレンジ情報を生成し、生成したチャレンジ情報を送信端末に与える必要があり、チャレンジ情報の生成と送受信に伴う電力消費及びトラフィックの増加が懸念される。
【００１４】
そのため、ディープスリープ状態からの起動毎に、発生するトラフィックが変動する状況、例えば、ディープスリープ状態からの起動後に発生する通信データが１つのみであり、その通信データの送信後すぐにディープスリープ状態に戻る場合、ディープスリープ状態からの起動後に、突発的に多くのデータを送信し、それらの通信データの送信後、再びディープスリープ状態に戻る場合、又は、ディープスリープ状態からの起動後に、定期的にデータを送信するため、通常スリープ状態への突入と通常スリープ状態からの起動とを繰り返しながら複数のデータを送信し、後にディープスリープ状態へ戻る場合等といった様々な通信データの送信パターンにおいて、スリープ状態に突入するたびに不揮発性メモリーに認証情報を退避させることなく、また、スリープ状態からの起動時の送信データ数の変動にも柔軟に対応できる通信データの新規性確認方法が要求されていた。
【課題を解決するための手段】
【００１５】
本発明に係る通信データ新規性確認システムは、データを送信する送信端末と、その送信端末からデータを受信する受信端末とを備え、送信端末は、受信端末へ送信する通信データを取得するデータ取得部と、受信端末からチャレンジ情報を受信する受信部と、鍵情報を取得する鍵取得部と、受信部からチャレンジ情報を受信し、時変パラメーターを管理する時変パラメーター管理部と、データ取得部から通信データを受信し、鍵取得部から鍵情報を受信し、時変パラメーター管理部からチャレンジ情報及び時変パラメーターを受信し、そして、鍵情報、チャレンジ情報及び時変パラメーターを用いて通信データを変換して変換データを生成するデータ変換部と、そのデータ変換部から変換データを受信し、その変換データを受信端末へ送信する送信部とを有し、受信端末は、チャレンジ情報を生成するチャレンジ生成部と、そのチャレンジ生成部からチャレンジ情報を受信し、そのチャレンジ情報を送信端末へ送信する送信部と、送信端末から変換データを受信する受信部と、送信端末における鍵取得部が取得する鍵情報と同一の鍵情報を取得する鍵取得部と、受信部から変換データを受信し、その変換データの新規性を判断する時変パラメーター判断部と、その時変パラメーター判断部から変換データを受信し、受信端末における鍵取得部から鍵情報を受信し、チャレンジ生成部からチャレンジ情報を受信し、そして、鍵情報、チャレンジ情報及び時変パラメーターを用いて、変換データが正しく変換されているか否かを認証し、その認証結果を前記時変パラメーター判断部へ送信するデータ認証部とを有し、時変パラメーター判断部は、データ認証部から受信した認証結果に基づいて変換データの新規性を判断するものである。
【発明の効果】
【００１６】
本発明に係る通信データ新規性確認システムでは、ディープスリープ状態への突入毎に、新規性確認のためのカウンター値又は時刻情報等の時変パラメーター等の情報を記憶媒体に退避させる必要がなく、時変パラメーターがディープスリープ状態に突入することによって消失又はリセットされてしまったとしても、ディープスリープ状態の起動後、通信データの新規性を確認しながら通信を実施することができ、また、スリープ状態からの起動時の通信データ数の変動にも柔軟に対応しつつ、送信端末から受信端末への通信データの新規性を確認できる。
【図面の簡単な説明】
【００１７】
【図１】通信端末間のデータ通信において再生攻撃を防ぐための代表的な方法の概要を説明する図である。
【図２】本発明の実施の形態１に係る通信データ新規性確認システムの送信端末１の内部構成を示すブロック図である。
【図３】本発明の実施の形態１に係る通信データ新規性確認システムの受信端末２の内部構成を示すブロック図である。
【図４】本発明の実施の形態に係る通信データ新規性確認システムの動作説明図である。
【図５】本発明の実施の形態１に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが１つ発生する場合と複数発生する場合の動作説明図である。
【図６】本発明の実施の形態２に係る通信データ新規性確認システムの送信端末１ａの内部構成を示すブロック図である。
【図７】本発明の実施の形態２に係る通信データ新規性確認システムの受信端末２ａの内部構成を示すブロック図である。
【図８】本発明の実施の形態２に係る通信データ新規性確認システムの動作説明図である。
【図９】本発明の実施の形態３に係る通信データ新規性確認システムの送信端末１ｂの内部構成を示すブロック図である。
【図１０】本発明の実施の形態３に係る通信データ新規性確認システムの受信端末２ｂの内部構成を示すブロック図である。
【図１１】本発明の実施の形態３に係る通信データ新規性確認システムの動作説明図である。
【図１２】本発明の実施の形態３に係る通信データ新規性確認システムの動作説明図である。
【図１３】本発明の実施の形態３に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが１つ発生する場合と複数発生する場合の動作説明図である。
【発明を実施するための形態】
【００１８】
実施の形態１．
（送信端末１の構成）
図２は、本発明の実施の形態１に係る通信データ新規性確認システムの送信端末１の内部構成を示すブロック図である。
図２で示されるように、送信端末１は、少なくともデータ取得部１０、鍵取得部１１、時変パラメーター管理部１２、データ変換部１３、受信部１４及び送信部１５を有する。
【００１９】
データ取得部１０は、後述する受信端末２へ送信するデータを取得するものである。この取得したデータ（以下、通信データという）は、他の外部機器から受信してもよいし、自身が生成したものでもよい。データ取得部１０は、この通信データをデータ変換部１３へ送信する。
【００２０】
鍵取得部１１は、受信端末２と安全に通信を行うために利用する鍵情報を取得するものである。ここで、鍵情報は、送信端末１がスリープ状態へ突入するか否かに依存せずに記憶され続ける情報であり、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュＲＯＭ、又は、ハードディスクドライブ等の不揮発性の記憶装置で管理される。鍵取得部１１は、この取得した鍵情報をデータ変換部１３へ送信する。
【００２１】
時変パラメーター管理部１２は、カウンター値又は時刻情報等といった後述する変換データの新規性を受信端末２に判断させるための時変パラメーターを管理するものである。ここで管理される時変パラメーターは、ディープスリープ状態への突入によって消失してしまってもよい。時変パラメーター管理部１２は、後述する受信部１４から受信端末２が生成したチャレンジ情報を受信することによって、時変パラメーターの初期値を設定し管理する。この時変パラメーターの初期値は、例えば、０の値を示すカウンター値であってもよいし、又は、ディープスリープ状態から起動することによって再動作を始めた時計が示す時刻情報であってもよい。利用する時変パラメーターとしては、様々なものが適用できる。例えば、通信データのシーケンス番号であってもよいし、鍵情報と関連付けられたカウンター値であってもよいし、スリープ状態からの起動時間を示す時刻情報であってもよいし、又は、送信端末１が発生する乱数であってもよい。時変パラメーターの管理、特に更新処理は、受信端末２と整合をとる必要がある。例えば、送信端末１がデータ送信を完了する度に、カウンター値をインクリメント又はデクリメントしてもよいし、又は、時計に合わせて自動的に時刻情報を変化させてもよい。また、通信データ新規性確認システムに要求されるセキュリティレベルに応じて、再生攻撃に遭う懸念があるものの、時変パラメーターを毎回更新しなくてもよい。時変パラメーター管理部１２は、後述するデータ変換部１３から時変パラメーター要求メッセージを受信することによって、受信部１４から受信したチャレンジ情報及び自身が現在管理する時変パラメーターをデータ変換部１３へ応答する。
【００２２】
データ変換部１３は、データ取得部１０から受信した通信データを、受信端末２において新規性が判断できる形に変換するものである。データ変換部１３は、通信データの変換に際し、時変パラメーター管理部１２へ時変パラメーター要求メッセージを送信することによって、時変パラメーター管理部１２から受信端末２が生成したチャレンジ情報及び時変パラメーター管理部１２で管理される最新の時変パラメーターを受信する。データ変換部１３は、鍵取得部１１から受信した鍵情報、並びに、上記の受信したチャレンジ情報及び時変パラメーターを利用して、データ取得部１０から受信した通信データを変換する。その通信データの変換方法としては特に限定しないが、例えば、時変パラメーターと通信データとを連結したデータ列、鍵情報、チャレンジ情報及び時変パラメーターを利用して生成した認証子（ＭＡＣ）をそのデータ列に付加したり、同様に、ディジタル署名を生成して付加したり、又は、暗号化処理する方法が考えられる。データ変換部１３は、受信端末２において新規性が判断できる形に変換したデータ（以下、変換データという）を送信部１５へ送信する。なお、この変換データには、変換に利用した時変パラメーター又はチャレンジ情報を明示的に含めてもよい。
【００２３】
受信部１４は、受信端末２から受信したチャレンジ情報を時変パラメーター管理部１２へ送信するものである。
【００２４】
送信部１５は、データ変換部１３から受信した変換データを受信端末２へ送信するものである。
【００２５】
（受信端末２の構成）
図３は、本発明の実施の形態１に係る通信データ新規性確認システムの受信端末２の内部構成を示すブロック図である。
図３で示されるように、受信端末２は、少なくともチャレンジ生成部２０、時変パラメーター判断部２１、鍵取得部２２、データ認証部２３、受信部２４及び送信部２５を有する。
【００２６】
チャレンジ生成部２０は、受信端末２が送信端末１から受信する通信データの新規性を判断させるために利用するチャレンジ情報を生成するものである。このチャレンジ情報は、送信端末１及び利用する鍵情報に関連付けられ、過去に生成したチャレンジ情報と重複しない一意的な情報であることが好ましく、例えば、乱数等を利用する。乱数は、例えば、外部装置から受信してもよいし、自身が生成してもよい。チャレンジ生成部２０は、生成したチャレンジ情報をデータ認証部２３及び送信部２５へ送信する。
【００２７】
時変パラメーター判断部２１は、カウンター値又は時刻情報等といった通信データの新規性を判断するための時変パラメーターを管理し、後述する受信部２４から受信した変換データにおける通信データに新規性があるか否かを判断するものである。時変パラメーター判断部２１は、送信端末１が通信データの変換に利用した時変パラメーターと、自身が管理する時変パラメーターとを比較する。例えば、そのデータ変換に利用されたカウンター値が自身が管理する最新のカウンター値以上の値であることで新規性があると判断したり、又は、データ変換に利用された時刻情報と自身が管理する時計が示す時刻情報とのズレが既定範囲内であることで新規性があると判断したりする。時変パラメーター判断部２１における新規性の判断方法は、送信端末１と整合をとる必要がある。時変パラメーター判断部２１における新規性の最終的な判断は、データ認証部２３において認証に成功した後になされる。この新規性の判断は、時変パラメーター判断部２１が受信部２４から変換データを受信した後、データ認証部２３における認証に成功するか否かを検証する前に仮判断する場合、及び、データ認証部２３における認証が成功した後に判断する場合の２つがある。
【００２８】
前者は、例えば、受信部２４から受信した変換データに、そのデータ変換に利用された時変パラメーターが明示的に含まれる場合に該当する。この場合、時変パラメーター判断部２１は、受信部２４から受信した変換データに明示的に含まれる時変パラメーターと、自身が管理する時変パラメーターを比較した結果、新規性がないと仮判断した場合に、受信した変換データを破棄する。一方、新規性があると仮判断した場合には、その変換データをデータ認証部２３へ送信する。そして、時変パラメーター判断部２１は、データ認証部２３から認証成功メッセージを受信することにより、受信部２４から受信した変換データには新規性があると最終的に判断し、その変換データに明示される時変パラメーターを、送信端末１が管理する最新の時変パラメーターであると判断し、必要に応じて自身が管理する時変パラメーターを更新する。一方、時変パラメーター判断部２１は、データ認証部２３から認証失敗メッセージを受信した場合には、受信部２４から受信した変換データには新規性がないと最終的に判断し、この場合、その変換データに明示される時変パラメーターを無視し、その変換データを破棄するものとしてもよい。
なお、ディープスリープ状態からの起動後、最初に受信する変換データ等、新規性の判断基準となる時変パラメーターを把握しておらず、新規性が不明である場合にはその変換データをデータ認証部２３へ送信し、データ認証部２３から認証成功メッセージを応答されることによって、受信部２４から受信した変換データには新規性があると判断するものとすればよい。
【００２９】
一方、後者は、受信部２４から受信した変換データに、その変換データが暗号化等がなされていることにより利用されている時変パラメーターが明示されていない場合、又は、時変パラメーターが通信データの変換のみに利用され、その変換データには明示的に含まれない場合等に該当する。この場合、時変パラメーター判断部２１は、受信部２４から受信した変換データをデータ認証部２３へ送信する。この時、送信する変換データと共にその変換データの変換に利用されていると推定される時変パラメーターを、データ認証部２３へ送信してもよい。そして、データ認証部２３から認証成功メッセージを受信することにより、その推定した時変パラメーターを認証に成功した時変パラメーターと判断する。このとき、データ認証部２３から認証成功メッセージと共に認証に成功した時変パラメーターを受信してもよい。時変パラメーター判断部２１は、認証に成功した時変パラメーターと、自身が管理する時変パラメーターとを比較した結果、新規性が確認できる場合に、受信部２４から受信した変換データには新規性があると判断し、その認証に成功した時変パラメーターを、送信端末１が管理する最新の時変パラメーターであると判断し、必要に応じて自身が管理する時変パラメーターを更新する。一方、時変パラメーター判断部２１は、認証に成功した時変パラメーターに新規性が確認できない場合には、受信部２４から受信した変換データには新規性がないと判断し、この変換データを破棄する。ただし、ディープスリープ状態からの起動後、最初に受信する変換データ等、新規性の判断基準となる時変パラメーターを把握していない場合には、この限りではない。この場合、認証に成功した時変パラメーターを、送信端末１が管理する最新の時変パラメーターであると判断してもよい。
【００３０】
鍵取得部２２は、送信端末１と安全に通信を行うために利用する鍵情報を取得するものである。ここで、鍵情報は、受信端末２がスリープ状態へ突入するか否かに依存せずに記憶され続ける情報であり、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュＲＯＭ、又は、ハードディスクドライブ等の不揮発性の記憶装置で管理される。鍵取得部２２は、この取得した鍵情報をデータ認証部２３へ送信する。
【００３１】
データ認証部２３は、時変パラメーター判断部２１から受信した変換データが、送信端末１が生成したデータであるか否かを認証するものである。時変パラメーター判断部２１から受信した変換データに時変パラメーターが明示的に含まれる場合、又は、変換データと共に変換に利用したと推定される時変パラメーターを受信する場合、鍵取得部２２から受信した鍵情報と、チャレンジ生成部２０から受信したチャレンジ情報と、上記の時変パラメーターとを用いて、時変パラメーター判断部２１から受信した変換データが、送信端末１が生成したデータであるか否かを認証する。データ認証部２３は、時変パラメーター判断部２１へ、認証に成功した場合には認証成功メッセージを送信し、認証に失敗した場合には認証失敗メッセージを送信する。一方、時変パラメーター判断部２１から受信した変換データに時変パラメーターが明示的に含まれない場合、又は、変換データと共に変換に利用したと推定される時変パラメーターを受信しない場合、鍵取得部２２から受信した鍵情報と、チャレンジ生成部２０から受信したチャレンジ情報と、時変パラメーター判断部２１から受信した変換データの復号処理等によって得られる時変パラメーターとを用いて、その変換データが、送信端末１が生成したデータであるか否かを認証する。データ認証部２３は、時変パラメーター判断部２１へ、認証に成功した場合には認証成功メッセージを送信し、認証に失敗した場合には認証失敗メッセージを送信する。
なお、認証に成功した場合、データ認証部２３は、認証成功メッセージと共に、認証に成功した時変パラメーターを時変パラメーター判断部２１へ送信してもよい。また、認証に失敗した場合、時変パラメーター判断部２１が認証失敗メッセージを受信することによって変換データを破棄するものとしたが、これに限られるものではなく、データ認証部２３が認証に失敗した時点で、データ認証部２３自身が変換データを破棄する動作としてもよい。
【００３２】
受信部２４は、送信端末１から受信した変換データを時変パラメーター判断部２１へ送信するものである。
【００３３】
送信部２５は、チャレンジ生成部２０から受信したチャレンジ情報を送信端末１へ送信するものである。
【００３４】
（送信端末１及び受信端末２の動作）
図４は、本発明の実施の形態１に係る通信データ新規性確認システムの動作説明図である。図４を参照しながら、本実施の形態に係る通信データ新規性確認システムの動作について説明する。本実施の形態に係る通信データ新規性確認システムには、様々な形態を適用し得るが、ここでは、以下の場合を例として説明する。
【００３５】
（１）時変パラメーターとして、カウンター値を利用する。また、受信端末２において新規性があるものと判断する方法として、変換データに利用されるカウンター値が、受信端末２が管理するカウンター値以上の値であることとする。
【００３６】
（２）通信データの変換方法として、送信端末１と受信端末２とが共有する鍵情報である共通鍵Ｋ等を用いて生成した認証子（ＭＡＣ）、及び、その認証子の生成に利用した時変パラメーター（ここでは、カウンター値）を通信データに付加する方法とする。また、認証子の生成対象となるデータ列を、認証子の生成に利用する時変パラメーターと通信データとを連結したデータ列とする。そして、認証子は、上記の共通鍵Ｋと、上記の時変パラメーターと、受信端末２が生成したチャレンジ情報とを用いて生成される。
【００３７】
（３）変換データには、変換に利用したチャレンジ情報を明示的（平文等）に含めない。すなわち、受信端末２は、自身が生成して送信したチャレンジ情報が通信データの変換に利用されていると暗黙に把握し、実際に利用されているかどうかは、受信端末２のデータ認証部２３における認証処理によって検証される。
【００３８】
（４）変換データには、変換に利用した時変パラメーターを明示的（平文等）に含める。すなわち、受信端末２は、受信した変換データを認証処理する前に、時変パラメーター判断部２１において、その変換データの新規性を仮判断する。
【００３９】
本実施の形態に係る通信データ新規性確認システムの動作は、少なくとも大きく４段階の動作（ステップＳ１０１〜ステップＳ１０４）で構成されている。
【００４０】
（Ｓ１０１：データ取得）
送信端末１のデータ取得部１０は、通信データを取得する。
なお、送信端末１は、受信端末２に対して通信データがあることを通知するために、起動要求メッセージを送信する動作としてもよい。
【００４１】
（Ｓ１０２：データ要求（チャレンジ情報送信））
受信端末２のチャレンジ生成部２０は、チャレンジ情報ＲＢ１を生成し、送信部２５を介して送信端末１に送信する。
【００４２】
次に、ステップＳ１０３及びステップＳ１０４において、１つ目の通信データを送信する場合の動作について説明する。
【００４３】
（Ｓ１０３：変換データ送信）
送信端末１の時変パラメーター管理部１２は、受信端末２から受信部１４を介してチャレンジ情報ＲＢ１を受信し、このチャレンジ情報ＲＢ１に対する時変パラメーターの初期値として、カウンター値（以下、送信カウンターという）に００００を設定する。次に、送信端末１のデータ変換部１３は、データ取得部１０から受信した通信データであるデータ１のデータ変換に利用する時変パラメーターを時変パラメーター管理部１２に要求し、チャレンジ情報ＲＢ１及び送信カウンター００００を受信する。また、データ変換部１３は、送信カウンター００００とデータ１とを連結したデータ列に対する認証子を、鍵取得部１１から受信した共通鍵Ｋ、並びに、時変パラメーター管理部１２から受信した送信カウンター００００及びチャレンジ情報ＲＢ１を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部１３は、その生成した変換データを送信部１５を介して受信端末２へ送信する。さらに、時変パラメーター管理部１２は、自身が管理するチャレンジ情報ＲＢ１に対する送信カウンター００００をインクリメントし、０００１に更新する。
【００４４】
（Ｓ１０４：データの認証と新規性確認）
受信端末２の時変パラメーター判断部２１は、受信部２４を介して変換データを受信する。この段階では、受信端末２がディープスリープ状態から起動した後に、最初に受信する変換データであるため、時変パラメーター判断部２１は、受信した変換データの新規性判断の基準となる時変パラメーター（後述する受信カウンター）を持たない。次に、時変パラメーター判断部２１は、変換データをデータ認証部２３へ送信する。そして、データ認証部２３は、時変パラメーター判断部２１から受信した変換データが、送信端末１によって生成されたデータであるか否かを検証する。
【００４５】
データ認証部２３は、鍵取得部２２から受信した共通鍵Ｋ、チャレンジ生成部２０から受信したチャレンジ情報ＲＢ１、及び、時変パラメーター判断部２１から受信した変換データに明示的に含まれる送信カウンター００００を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部２１へ認証成功メッセージを送信する。この検証処理においては、前述したように、変換データの新規性の判断の基準となる時変パラメーター（後述する受信カウンター）を持たないので、具体的には、この変換データにおける認証子に、チャレンジ生成部２０によって生成されたチャレンジ情報が反映されているか否か検証される。そして、時変パラメーター判断部２１がこの認証成功メッセージを受信した場合、送信端末１から受信部２４を介して受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター００００を送信端末１が管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部２１は、この送信カウンター００００を１つインクリメントした値０００１を受信カウンターとして設定する。
【００４６】
一方、データ認証部２３が検証に失敗した場合は、時変パラメーター判断部２１へ認証失敗メッセージを送信する。そして、時変パラメーター判断部２１がこの認証失敗メッセージを受信した場合には、送信端末１から受信部２４を介して受信した変換データに新規性がないと判断し、この変換データを破棄する。
【００４７】
次に、ステップＳ１０３及びステップＳ１０４において、２つ目の通信データを送信する場合の動作について説明する。
【００４８】
（Ｓ１０３：変換データ送信）
送信端末１のデータ変換部１３は、データ取得部１０から受信した通信データであるデータ２のデータ変換に利用する時変パラメーターを時変パラメーター管理部１２に要求し、チャレンジ情報ＲＢ１及び送信カウンター０００１を受信する。また、データ変換部１３は、送信カウンター０００１とデータ２とを連結したデータ列に対する認証子を、鍵取得部１１から受信した共通鍵Ｋ、並びに、時変パラメーター管理部１２から受信した送信カウンター０００１及びチャレンジ情報ＲＢ１を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部１３は、その生成した変換データを送信部１５を介して受信端末２へ送信する。さらに、時変パラメーター管理部１２は、自身が管理するチャレンジ情報ＲＢ１に対する送信カウンター０００１をインクリメントし、０００２に更新する。
【００４９】
（Ｓ１０４：データの認証と新規性確認）
受信端末２の時変パラメーター判断部２１は、受信部２４を介して変換データを受信する。この変換データを受信した時変パラメーター判断部２１は、変換データに含まれる送信カウンターが、自身が管理する受信カウンター０００１以上の値であるか否か判断し、受信カウンター０００１以上の値である場合、受信した変換データには新規性があると仮判断し、この変換データをデータ認証部２３へ送信する。一方、変換データに含まれる送信カウンターが、自身が管理する受信カウンター０００１よりも小さい場合には、受信した変換データには新規性がないと仮判断し、この変換データを破棄する。そして、データ認証部２３は、時変パラメーター判断部２１から受信した変換データが、送信端末１によって生成されたデータであるか否かを検証する。
【００５０】
データ認証部２３は、鍵取得部２２から受信した共通鍵Ｋ、チャレンジ生成部２０から受信したチャレンジ情報ＲＢ１、及び、時変パラメーター判断部２１から受信した変換データに明示的に含まれる送信カウンター０００１を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部２１へ認証成功メッセージを送信する。そして、時変パラメーター判断部２１がこの認証成功メッセージを受信した場合、送信端末１から受信部２４を介して受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター０００１を送信端末１が管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部２１は、この送信カウンター０００１を１つインクリメントした値０００２を受信カウンターとして設定する。
【００５１】
一方、データ認証部２３が検証に失敗した場合は、時変パラメーター判断部２１へ認証失敗メッセージを送信する。そして、時変パラメーター判断部２１がこの認証失敗メッセージを受信した場合には、送信端末１から受信部２４を介して受信した変換データに新規性がないと判断し、この変換データを破棄する。
【００５２】
なお、３つ目以降の通信データを送信する場合の動作は、上記の２つ目の通信データを送信する場合の動作と同様である。
【００５３】
次に、ディープスリープ状態からの起動時に通信データが１つ発生する場合と、複数発生する場合の動作について説明する。
図５は、本発明の実施の形態１に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが１つ発生する場合と複数発生する場合の動作説明図である。
【００５４】
まず、送信端末１がディープスリープ状態５０、そして、受信端末２がディープスリープ状態６０にあるものとする。送信端末１がディープスリープ状態５０から、及び、受信端末２がディープスリープ状態６０から起動後、受信端末２は送信端末１へチャレンジ情報ＲＢ１を送信し、その後、送信端末１は通信データ（データ１）についての変換データを受信端末２へ送信する。このときの通信動作は、前述したステップＳ１０１及びステップＳ１０２、並びに、１つ目の通信データを送信する場合のステップＳ１０３及びステップＳ１０４と同様の動作である。
【００５５】
次に、送信端末１がディープスリープ状態５１、そして、受信端末２がディープスリープ状態６１になり、再び双方が起動して通信可能状態になった場合を想定する。送信端末１がディープスリープ状態５１から、及び、受信端末２がディープスリープ状態６１から起動後、再び受信端末２は送信端末１へチャレンジ情報ＲＢ２を送信する。ただし、この場合のチャレンジ情報は、送信端末１がディープスリープ状態５０から、そして、受信端末２がディープスリープ状態６０から起動した後、受信端末２が送信端末１へ送信したチャレンジ情報ＲＢ１と重複しないものとすることが必要である。このときの通信動作は、前述したステップＳ１０１及びステップＳ１０２と同様の動作である。
【００５６】
次に、送信端末１は、通信データであるデータ２についての変換データを受信端末２に送信する。このときの通信動作は、１つ目の通信データを送信する場合のステップＳ１０３及びステップＳ１０４と同様の動作である。
【００５７】
そして、送信端末１は、通信データであるデータ３及びデータ４等についての変換データを受信端末２に連続して送信する。このときの通信動作は、２つ目の通信データを送信する場合のステップＳ１０３及びステップＳ１０４と同様の動作である。
【００５８】
従来のチャレンジレスポンスを利用した新規性の確認方法では、通信データの発生毎に受信端末２がチャレンジ情報を生成し、送信端末１へ送信する必要があり、チャレンジ情報の生成及び送受信に伴う電力消費量及びトラフィックの増加が懸念されていたが、上記の動作のように、ディープスリープ状態から起動してから、次のディープスリープ状態に突入するまでの期間において、受信端末２が生成するチャレンジ情報は１つでよく、また、送信端末１へのチャレンジ情報の送信も、ディープスリープ状態からの起動後の１回のみでよい。また、通信データの変換方法及び変換データの形式は、通信データの数によらず、同一の変換方法を利用することができる。
【００５９】
（実施の形態１の効果）
以上の構成及び動作のように、最初に通信するデータに関しては、受信端末２がチャレンジ情報を生成して送信端末１へ送信し、送信端末１が受信したチャレンジ情報を反映させて通信データを変換することによって、チャレンジレスポンスを利用した通信データの新規性確認を実施し、その後のデータ通信の新規性は、カウンター値又は時刻情報等の時変パラメーターを利用して確認している。したがって、ディープスリープ状態への突入毎に、新規性確認のためのカウンター値又は時刻情報等の時変パラメーター等の情報を記憶媒体に退避させる必要がなく、時変パラメーターがディープスリープ状態に突入することによって消失又はリセットされてしまったとしても、ディープスリープ状態の起動後、通信データの新規性を確認しながら通信を実施することができる。
【００６０】
また、ディープスリープ状態から起動してから、次のディープスリープ状態に突入するまでの期間において、受信端末２が生成するチャレンジ情報は１つでよく、また、送信端末１へのチャレンジ情報の送信も、ディープスリープ状態からの起動後の１回のみでよいので、チャレンジ情報の生成及び送受信に伴う電力消費量及びトラフィックの増加を抑制することができ、ディープスリープ状態からの起動後の通信データ数の変動にも柔軟に対応することができる。
【００６１】
さらに、通信データの変換方法及び変換データの形式は、通信データのタイミング及び数によらず、同一の方法及び形式を利用することができるという利点もある。
【００６２】
なお、本実施の形態においては、スリープ状態として、ディープスリープ状態に焦点を当てて説明したが、これに限られるものではなく、送信端末１及び受信端末２が突入するスリープ状態として、通常スリープ状態であってもよい。
また、本実施の形態においては、送信端末１が送信する変換データに、受信端末２が生成したチャレンジ情報を明示的に（平文で）含めない例を説明したが、これに限られるものではなく、例えば、変換データにチャレンジ情報を明示的に含め、受信端末２の時変パラメーター判断部２１は、受信した変換データにチャレンジ情報が明示的に含まれているか否かによって新規性を仮判断してもよい。
【００６３】
実施の形態２．
本実施の形態においては、前述の実施の形態１に係る通信データ新規性確認システムの構成及び動作と相違する点を中心に説明する。
【００６４】
（送信端末１ａの構成）
図６は、本発明の実施の形態２に係る通信データ新規性確認システムの送信端末１ａの内部構成を示すブロック図である。
図６で示されるように、送信端末１ａは、少なくとも時変パラメーター取得部１６ａ、時変パラメーター通知部１７ａ、データ取得部１０ａ、鍵取得部１１ａ、時変パラメーター管理部１２ａ、データ変換部１３ａ、受信部１４ａ及び送信部１５ａを有する。
【００６５】
時変パラメーター取得部１６ａは、鍵取得部１１ａで管理される鍵情報及び後述する受信端末２ａに対して管理する最新の時変パラメーターを取得するものである。時変パラメーター取得部１６ａは、例えば、ディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持しており、この時計が示す時刻情報を、鍵情報に対して最新となる時変パラメーターとして利用する。また、この時計が示す時計情報から、最新のカウンター値等の時変パラメーターを取得するための参照テーブル又は関数等を不揮発性の記憶媒体に保持していてもよい。例えば、１秒間に最大１０回のデータ通信を実施することができるが、１０回を超えてのデータ通信は実施しないと規定するとする。そして、鍵情報を利用開始したときの時刻情報をＴ０（秒）として不揮発性の記憶媒体に保持しておくとする。ディープスリープ状態からの起動時には、現在の時刻情報Ｔ（秒）を取得し、Ｔ−Ｔ０の値を計算し、これに１秒間にデータ送信可能な最大数である１０回を掛ければ、鍵情報に対して最新となるカウンター値を取得することができる。時変パラメーター取得部１６ａは、取得した時変パラメーターを時変パラメーター通知部１７ａ及び時変パラメーター管理部１２ａへ送信する。
【００６６】
時変パラメーター通知部１７ａは、時変パラメーター取得部１６ａから受信した最新の時変パラメーターを、受信端末２ａへ送信するための時変パラメーター通知メッセージを生成するものである。時変パラメーター通知部１７ａは、時変パラメーター取得部１６ａから受信した最新の時変パラメーターから、受信部１４ａから受信したチャレンジ情報、及び、鍵取得部１１ａから受信した鍵情報を利用して、時変パラメーター通知メッセージを生成し、この生成した時変パラメーター通知メッセージを送信部１５ａへ送信する。なお、時変パラメーター通知部１７ａは、データ取得部１０ａから通信データを受信することによって、時変パラメーター通知メッセージにこの通信データを含めてもよい。時変パラメーター通知メッセージの生成方法は、特に限定しないが、実施の形態１における送信端末１のデータ変換部１３と同様に、認証子を付加したり、又は、暗号化したりしてもよく、受信端末２ａが認証及び新規性を確認できる形式となっている。
【００６７】
データ取得部１０ａは、実施の形態１におけるデータ取得部１０と動作が基本的に同じであるが、取得した通信データと時変パラメーター通知部１７ａへ送信してもよい。例えば、取得した通信データが１つのみの場合には、時変パラメーター通知部１７ａへ送信することによって、時変パラメーター通知部１７ａは、この通信データを時変パラメーター通知メッセージに含めて送信することができる。
【００６８】
鍵取得部１１ａは、実施の形態１における鍵取得部１１と動作が基本的に同じであるが、取得した鍵情報を時変パラメーター通知部１７ａへも送信する。
【００６９】
時変パラメーター管理部１２ａは、実施の形態１における時変パラメーター管理部１２と動作が基本的に同じであるが、受信部１４ａからチャレンジ情報を受信しない。そのため、時変パラメーター管理部１２ａは、データ変換部１３ａに対してもチャレンジ情報を送信しない。また、時変パラメーター管理部１２ａは、時変パラメーター取得部１６ａから受信した最新の時変パラメーターを、自身が管理している時変パラメーターの初期値に設定する。
【００７０】
データ変換部１３ａは、実施の形態１におけるデータ変換部１３と動作が基本的に同じであるが、時変パラメーター管理部１２ａからチャレンジ情報を受信しない点が異なる。そのため、データ変換部１３ａは、通信データの変換のためにチャレンジ情報を利用せず、鍵取得部１１ａから受信した鍵情報、及び、時変パラメーター管理部１２ａから受信した時変パラメーターを利用する。また、データ変換部１３ａは、その変換データにもチャレンジ情報を明示的に含めない。
【００７１】
受信部１４ａは、受信端末２ａから受信したチャレンジ情報を時変パラメーター通知部１７ａへ送信するものである。
【００７２】
送信部１５ａは、時変パラメーター通知部１７ａから受信した時変パラメーター通知メッセージ、又は、データ変換部１３ａから受信した変換データを受信端末２ａへ送信するものである。
【００７３】
（受信端末２ａの構成）
図７は、本発明の実施の形態２に係る通信データ新規性確認システムの受信端末２ａの内部構成を示すブロック図である。
図７で示されるように、受信端末２ａは、少なくともチャレンジ生成部２０ａ、時変パラメーター同期部２６ａ、時変パラメーター判断部２１ａ、鍵取得部２２ａ、データ認証部２３ａ、受信部２４ａ及び送信部２５ａを有する。
【００７４】
チャレンジ生成部２０ａは、実施の形態１におけるチャレンジ生成部２０と動作が基本的に同じであるが、生成したチャレンジ情報を送信部２５ａ及び時変パラメーター同期部２６ａへ送信する点が異なる。
【００７５】
時変パラメーター同期部２６ａは、送信端末１ａから最新の時変パラメーターを取得し同期するものである。時変パラメーター同期部２６ａは、受信部２４ａから受信した時変パラメーター通知メッセージを、鍵取得部２２ａから受信した鍵情報、及び、チャレンジ生成部２０ａから受信したチャレンジ情報を利用して認証及び新規性の確認をする。また、前述のように時変パラメーター通知メッセージには、送信端末１ａが受信端末２ａに送信したい通信データが含まれていてもよく、この場合、最新の時変パラメーターと共に、認証及び新規性を確認できる。そして、時変パラメーター同期部２６ａは、取得した送信端末１ａの最新となる時変パラメーターを、時変パラメーター判断部２１ａへ送信する。
【００７６】
時変パラメーター判断部２１ａは、実施の形態１における時変パラメーター判断部２１と動作が基本的に同じであるが、時変パラメーター同期部２６ａから受信した時変パラメーターを、送信端末１ａが管理する最新の時変パラメーターであると判断する点が異なる。すなわち、ディープスリープ状態から起動後に受信端末２ａから受信部２４ａを介して最初の変換データを与えられた場合でも、新規性の判断基準となる時変パラメーターを有する。時変パラメーター判断部２１ａは、時変パラメーターとして時刻情報を利用する場合、変換データの新規性の判断のために、必ずしもディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持しなくてもよい。起動時間情報等、ディープスリープ状態へ突入することでリセットされる時間情報のみを管理する場合でも、送信端末から与えられた最新の時変パラメーター（時刻情報）とのズレ値を把握することで、与えられた変換データの新規性を確認できる。
【００７７】
鍵取得部２２ａは、実施の形態１における鍵取得部２２と動作が基本的に同じであるが、取得した鍵情報を時変パラメーター同期部２６ａへも送信する点が異なる。
【００７８】
データ認証部２３ａは、実施の形態１におけるデータ認証部２３と動作が基本的に同じであるが、チャレンジ生成部２０ａからチャレンジ情報を受信せず、変換データが送信端末１ａが生成したデータであるか否かを認証するために、チャレンジ情報を利用しない点が異なる。
【００７９】
受信部２４ａは、送信端末１ａから受信した時変パラメーター通知メッセージを時変パラメーター同期部２６ａへ送信し、また、送信端末１ａから受信した変換データを時変パラメーター判断部２１ａへ送信する。
【００８０】
送信部２５ａは、実施の形態１における送信部２５と動作が同様である。
【００８１】
（送信端末１ａ及び受信端末２ａの動作）
図８は、本発明の実施の形態２に係る通信データ新規性確認システムの動作説明図である。図８を参照しながら、本実施の形態に係る通信データ新規性確認システムの動作について説明する。本実施の形態に係る通信データ新規性確認システムには、様々な形態を適用し得るが、ここでは、以下の場合を例として説明する。
【００８２】
（１）時変パラメーターとして、カウンター値を利用する。また、受信端末２ａにおいて新規性があるものと判断する方法として、変換データに利用されるカウンター値が、受信端末２ａが管理するカウンター値以上の値であることとする。
【００８３】
（２）通信データの変換方法として、送信端末１と受信端末２とが共有する鍵情報である共通鍵Ｋ等を用いて生成した認証子（ＭＡＣ）、及び、その認証子の生成に利用した時変パラメーター（ここでは、カウンター値）を通信データに付加する方法とする。また、認証子の生成対象となるデータ列を、認証子の生成に利用する時変パラメーターと通信データとを連結したデータ列とする。そして、認証子は、上記の共通鍵Ｋと、上記の時変パラメーターとを用いて生成される。
【００８４】
（３）時変パラメーター通知メッセージには、変換に利用したチャレンジ情報を明示的（平文等）に含めない。すなわち、受信端末２ａは、自身が生成して送信したチャレンジ情報が時変パラメーター通知メッセージの生成に利用されていると暗黙に把握し、実際に利用されているかどうかは、受信端末２ａの時変パラメーター同期部２６ａにおける認証処理及び新規性確認処理によって検証される。
【００８５】
（４）時変パラメーター通知メッセージには、通信データを含める。
【００８６】
（５）変換データには、変換に利用した時変パラメーターを明示的（平文等）に含める。すなわち、受信端末２ａは、受信した変換データを認証処理する前に、時変パラメーター判断部２１ａにおいて、その変換データの新規性を仮判断する。
【００８７】
本実施の形態に係る通信データ新規性確認システムの動作は、少なくとも大きく７段階の動作（ステップＳ２０１〜ステップＳ２０７）で構成されている。
【００８８】
（Ｓ２０１：時変パラメーター取得）
送信端末１ａの時変パラメーター取得部１６ａは、ディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計から取得した時刻情報、不揮発性の記憶媒体に記録される共通鍵Ｋの使用開始時刻及び最新カウンター値の導出関数とを利用して、共通鍵Ｋに対する最新のカウンター値（以下、送信カウンターという）１０００を算出し、取得する。時変パラメーター取得部１６ａは、この取得した最新の送信カウンター１０００を、時変パラメーター管理部１２ａ及び時変パラメーター通知部１７ａへ送信する。送信端末１ａの時変パラメーター管理部１２ａは、共通鍵Ｋに対する最新のカウンター値１０００を初期値として設定する。
【００８９】
（Ｓ２０２：データ取得）
送信端末１ａのデータ取得部１０ａは、通信データを取得する。そして、データ取得部１０ａは、取得した通信データであるデータ１を時変パラメーター通知部１７ａへ送信し、データ１より後のデータ２以降の通信データをデータ変換部１３ａへ送信する。
なお、送信端末１ａは、受信端末２ａに対して通信データがあることを通知するために、起動要求メッセージを送信する動作としてもよい。
【００９０】
（Ｓ２０３：データ要求（チャレンジ情報送信））
受信端末２ａのチャレンジ生成部２０ａは、チャレンジ情報ＲＢ１を生成し、送信部２５ａを介して送信端末１ａに送信する。
【００９１】
（Ｓ２０４：時変パラメーター通知メッセージ送信）
送信端末１ａの時変パラメーター通知部１７ａは、時変パラメーター取得部１６ａから受信した最新の送信カウンター１０００とデータ取得部１０ａから受信したデータ１とを連結したデータ列に対する認証子を、鍵取得部１１ａから受信した共通鍵Ｋ、及び、受信部１４ａから受信したチャレンジ情報ＲＢ１を利用して生成し、上記のデータ列に付加して時変パラメーター通知メッセージを生成する。そして、時変パラメーター通知部１７ａは、その生成した時変パラメーター通知メッセージを送信部１５ａを介して受信端末２ａへ送信する。
【００９２】
（Ｓ２０５：時変パラメーターの認証と新規性確認）
受信端末２ａの時変パラメーター同期部２６ａは、受信部２４ａを介して時変パラメーター通知メッセージを受信する。また、時変パラメーター同期部２６ａは、その受信した時変パラメーター通知メッセージを、鍵取得部２２ａから受信した共通鍵Ｋ及びチャレンジ生成部２０ａから受信したチャレンジ情報ＲＢ１を利用して、認証及び新規性確認し、送信端末１ａが管理する最新の送信カウンター１０００及びデータ１を取得し、その最新の送信カウンター１０００を時変パラメーター判断部２１ａへ送信する。受信端末２ａの時変パラメーター判断部２１ａは、時変パラメーター同期部２６ａから受信した送信カウンター１０００を送信端末１ａが管理する最新のカウンター値であると判断し、この送信カウンター１０００を受信カウンターとして設定する。
【００９３】
（Ｓ２０６：変換データ送信）
送信端末１ａのデータ変換部１３ａは、データ取得部１０ａから受信したデータ２のデータ変換に利用する時変パラメーターを時変パラメーター管理部１２ａに要求し、送信カウンター１０００を受信する。また、データ変換部１３ａは、送信カウンター１０００とデータ２とを連結したデータ列に対する認証子を、鍵取得部１１ａから受信した共通鍵Ｋ、及び、時変パラメーター管理部１２ａから受信した送信カウンター１０００を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部１３ａは、その生成した変換データを送信部１５ａを介して受信端末２ａへ送信する。さらに、時変パラメーター管理部１２ａは、自身が管理する送信カウンター１０００をインクリメントし、１００１に更新する。
【００９４】
（Ｓ２０７：データの認証と新規性確認）
受信端末２ａの時変パラメーター判断部２１ａは、受信部２４ａを介して変換データを受信する。この変換データを受信した時変パラメーター判断部２１ａは、変換データに含まれる送信カウンター１０００が、自身が管理するカウンター値（以下、受信カウンターという）１０００以上の値であるか否か判断し、受信カウンター１０００以上の値である場合、受信した変換データには新規性があると仮判断し、この変換データをデータ認証部２３ａへ送信する。一方、変換データに含まれる送信カウンターが、自身が管理する受信カウンター１０００よりも小さい場合には、受信した変換データには新規性がないと仮判断し、この変換データを破棄する。そして、データ認証部２３ａは、時変パラメーター判断部２１ａから受信した変換データが、送信端末１ａによって生成されたデータであるか否かを検証する。
【００９５】
データ認証部２３ａは、鍵取得部２２ａから受信した共通鍵Ｋ、及び、時変パラメーター判断部２１ａから受信した変換データに明示的に含まれる送信カウンター１０００を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部２１ａへ認証成功メッセージを送信する。そして、時変パラメーター判断部２１がこの認証成功メッセージを受信した場合、送信端末１ａから受信部２４ａを介して受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター１０００を送信端末１ａが管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部２１ａは、この送信カウンター１０００を１つインクリメントした値１００１を受信カウンターとして設定する。
【００９６】
一方、データ認証部２３ａが検証に失敗した場合は、時変パラメーター判断部２１ａへ認証失敗メッセージを送信する。そして、時変パラメーター判断部２１ａがこの認証失敗メッセージを受信した場合には、送信端末１ａから受信部２４ａを介して受信した変換データに新規性がないと判断し、この変換データを破棄する。
【００９７】
データ３以降の通信データ送信時の動作は、ステップＳ２０６及びステップＳ２０７の動作と同様である。
【００９８】
（実施の形態２の効果）
以上の構成及び動作のように、送信端末１ａがディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持し、ディープスリープ状態からの起動時に、この時計から取得した時刻情報から最新の時変パラメーターを導出して、この最新の時変パラメーター及び通信データをチャレンジレスポンスを利用して受信端末２ａへ送信することによって、最新の時変パラメーターについては受信端末２ａと共有し、最初の通信データについてはチャレンジレスポンスによって新規性確認が実施され、その後のデータ通信の新規性は、この送信端末１ａと受信端末２ａが共有した時変パラメーターを利用して確認している。したがって、ディープスリープ状態への突入毎に、新規性確認のための時変パラメーター等の情報を記憶媒体に退避させる必要がなく、時変パラメーターがディープスリープ状態に突入することによって消失又はリセットされてしまったとしても、ディープスリープ状態の起動後、時計を利用することによって、過去に利用していない最新の時変パラメーターを取得できるため、この時変パラメーターを受信端末２ａに通知することによって、通信データの新規性を確認しながら通信を実施することができ、攻撃者による再生攻撃を防止することができる。このとき、送信端末１ａのみがディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持すれば良く、受信端末２ａは必ずしも保持する必要はない。
【００９９】
また、送信端末１ａと受信端末２ａとが共に、ディープスリープ状態へ突入するか否かに依存せずに動作し続ける時計を保持し、時計の示す時刻情報を時変パラメーターとして利用する方法もあるが、この場合には、時計の進行速度のズレ等の理由により、長期に利用すれば利用するほど、時計を補正するための処理が必要になる場合がある。これに対し本実施の形態においては、ディープスリープ状態からの起動の度に、送信端末１ａがチャレンジレスポンスによって最新の時刻を受信端末２ａに通知して設定することができるため、時計を補正するための処理が必要ない。この効果は、実施の形態１において、時変パラメーターとして時刻情報を利用する場合においても同様に主張することができる。
【０１００】
また、時変パラメーターとしてカウンター値を利用する場合、不揮発性の記憶媒体に記録すべき情報は、現在時刻から最新のカウンター値を取得するための時変パラメーターの取得関数のみでよく、その情報の更新は、鍵情報が変更されない限りにおいて必ずしも必要ない。
【０１０１】
そして、本実施の形態においても、時変パラメーター通知メッセージに、通信データを含めて送信したり、その後の通信データの新規性を時変パラメーターを利用して検証が可能であるため、実施の形態１と同様に、ディープスリープ状態からの起動後の通信データ数の変動にも柔軟に対応できる。
【０１０２】
なお、本実施の形態においては、スリープ状態として、ディープスリープ状態に焦点を当てて説明したが、これに限られるものではなく、送信端末１ａ及び受信端末２ａが突入するスリープ状態として、通常スリープ状態であってもよい。
【０１０３】
実施の形態３．
本実施の形態においては、前述の実施の形態１に係る通信データ新規性確認システムの構成及び動作と相違する点を中心に説明する。
【０１０４】
（送信端末１ｂの構成）
図９は、本発明の実施の形態３に係る通信データ新規性確認システムの送信端末１ｂの内部構成を示すブロック図である。
図９で示されるように、送信端末１ｂは、少なくともデータ取得部１０ｂ、認証方法決定部１８ｂ、鍵共有部１９ｂ、鍵取得部１１ｂ、時変パラメーター管理部１２ｂ、データ変換部１３ｂ、受信部１４ｂ及び送信部１５ｂを有する。
【０１０５】
データ取得部１０ｂは、実施の形態１におけるデータ取得部１０と動作が基本的に同じであるが、さらに、取得した通信データを認証方法決定部１８ｂへも送信する。
【０１０６】
認証方法決定部１８ｂは、次のディープスリープ状態へ突入するまでの通信データの数によって、通信データの新規性確認方法を選択するものである。この新規性確認方法としては、例えば、チャレンジレスポンスでもよいし、実施の形態１又は実施の形態２に記載の方法でもよいし、新たに、後述する受信端末２ｂと新しく鍵情報を共有することによって過去に生成した通信データ自体を無効としてもよい。また、認証方法決定部１８ｂは、例えば、データ取得部１０ｂから受信した通信データの数がたった１つであっても、この通信データ内に、今後複数の通信データが発生することが明示されていることによって新規性確認方法を選択してもよいし、データ取得部１０ｂから受信した通信データの数に依存せずに、自身の動作モードによって新規性確認方法を選択してもよい。本実施の形態では、通信データの数が、たった１つの場合には、チャレンジレスポンスで新規性を確認し、複数の場合には、新しく鍵情報を共有することで再生攻撃を防止する例で説明する。認証方法決定部１８ｂは、データ取得部１０ｂから受信した通信データの数が１つの場合には、受信部１４ｂから受信したチャレンジ情報をデータ変換部１３ｂへ送信する。一方、認証方法決定部１８ｂは、通信データの数が複数の場合には、受信部１４ｂから受信したチャレンジ情報を鍵共有部１９ｂへ送信する。
【０１０７】
鍵共有部１９ｂは、認証方法決定部１８ｂからチャレンジ情報を受信することによって、受信端末２ｂと新しい鍵情報を共有するための処理を実施するものである。鍵共有部１９ｂは、認証方法決定部１８ｂから受信したチャレンジ情報、自身が生成した乱数情報、及び、鍵取得部１１ｂから受信した鍵情報を用いて、新しい鍵情報を生成する。この新しい鍵情報の生成方法は、特に限定しないが、例えば、受信端末２ｂから受信したチャレンジ情報と、自身が生成した乱数情報とを連結したデータ列を入力値として、鍵取得部１１ｂから受信した鍵情報を鍵とする鍵付きハッシュ関数を適用した出力値を、新しい鍵情報として利用してもよい。なお、鍵付きハッシュ関数への入力値として、さらに、送信端末１ｂ及び受信端末２ｂの固有の識別子を含めてもよい。また、自身が新たに生成した鍵情報（乱数情報）に対して、受信端末２ｂから受信したチャレンジ情報と、鍵取得部１１ｂから受信した鍵情報とを利用して暗号化処理を実施し、受信端末２ｂへ送信することで新しい鍵情報を共有してもよい。また、鍵共有部１９ｂは、受信端末２ｂと鍵情報を共有するために生成した鍵共有メッセージを送信部１５ｂへ送信する。この鍵共有メッセージは、前述のとおり、受信端末２ｂに鍵情報を生成させるための乱数情報であってもよいし、自身が新しく生成した鍵情報を暗号化したメッセージであってもよい。そして、鍵共有部１９ｂは、受信端末２ｂと共有した新しい鍵情報を時変パラメーター管理部１２ｂへ送信する。
【０１０８】
鍵取得部１１ｂは、実施の形態１における鍵取得部１１と動作が基本的に同じであるが、取得した鍵情報を鍵共有部１９ｂへ送信する。また、データ変換部１３ｂから鍵要求メッセージを受信することによって、取得した鍵情報を応答する。
【０１０９】
時変パラメーター管理部１２ｂは、鍵共有部１９ｂから新しい鍵情報を受信することによって、その与えられた新しい鍵情報をその鍵情報に対する時変パラメーターと共に管理する。時変パラメーターの内容については、実施の形態１における時変パラメーター管理部１２における説明と同様である。時変パラメーター管理部１２ｂは、鍵共有部１９ｂから新しい鍵情報を受信することによって、時変パラメーターを初期値に設定する。例えば、時変パラメーターとしてカウンター値を利用する場合には、０を設定してもよいし、また、時刻情報を利用する場合には、起動時間情報を設定してもよい。そして、時変パラメーター管理部１２ｂは、データ変換部１３ｂから時変パラメーター要求メッセージを受信することによって、新しい鍵情報及びその時変パラメーターを応答する。
【０１１０】
データ変換部１３ｂは、データ取得部１０ｂから受信した通信データを、受信端末２ｂにおいて新規性が判断できる形に変換するものである。データ変換部１３ｂは、認証方法決定部１８ｂからチャレンジ情報を受信するか否かによって、データ変換方法を変更する。データ変換部１３ｂが認証方法決定部１８ｂからチャレンジ情報を受信した場合には、チャレンジレスポンスを利用して新規性を検証できる形にデータ変換することを決定する。この場合、データ変換部１３ｂは、鍵取得部１１ｂへ鍵要求メッセージを送信し、鍵取得部１１ｂから受信した鍵情報、及び、認証方法決定部１８ｂから受信したチャレンジ情報を利用して、データ取得部１０ｂから受信した通信データを変換する。ここでのデータ変換方法は、実施の形態１におけるデータ変換部１３で説明した方法と同様である。一方、データ変換部１３ｂが認証方法決定部１８ｂからチャレンジ情報を受信しなかった場合には、受信端末２ｂと共有した新しい鍵情報及び時変パラメーターを利用して新規性を検証できる形に変換することを決定する。この場合、データ変換部１３ｂは、このデータ変換に際し、時変パラメーター管理部１２ｂへ時変パラメーター要求メッセージを送信することによって、時変パラメーター管理部１２ｂから受信端末２ｂと共有した新しい鍵情報及び時変パラメーターを受信する。そして、データ変換部１３ｂは、受信した新しい鍵情報及び時変パラメーターを利用して、データ取得部１０ｂから受信した通信データを変換する。さらに、データ変換部１３ｂは、受信端末２ｂにおいて新規性が検証できる形に変換した変換データを送信部１５ｂへ送信する。
なお、この変換データには、変換に利用した時変パラメーターを明示的に含めてもよい。また、この変換データには、変換方法を示すための情報を明示的に含めてもよい。
【０１１１】
受信部１４ｂは、受信端末２ｂから受信したチャレンジ情報を認証方法決定部１８ｂへ送信するものである。
【０１１２】
送信部１５ｂは、鍵共有部１９ｂから受信した鍵共有メッセージ、又は、データ変換部１３ｂから受信した変換データを受信端末２ｂへ送信するものである。
【０１１３】
（受信端末２ｂの構成）
図１０は、本発明の実施の形態３に係る通信データ新規性確認システムの受信端末２ｂの内部構成を示すブロック図である。
図１０で示されるように、受信端末２ｂは、少なくともチャレンジ生成部２０ｂ、認証方法判断部２７ｂ、鍵共有部２８ｂ、鍵取得部２２ｂ、時変パラメーター判断部２１ｂ、データ認証部２３ｂ、受信部２４ｂ及び送信部２５ｂを有する。
【０１１４】
チャレンジ生成部２０ｂは、実施の形態１におけるチャレンジ生成部２０と動作が基本的に同じであるが、さらに、生成したチャレンジ情報を鍵共有部２８ｂへ送信する点が異なる。
【０１１５】
認証方法判断部２７ｂは、受信部２４ｂから受信した変換データの新規性確認方法を判断するものである。この新規性確認方法の判断としては、例えば、変換データに含まれる変換方法を示す情報によって判断してもよいし、又は、別途変換方法を示す情報を送信端末１ｂから受信することによって判断してもよい。認証方法判断部２７ｂは、チャレンジレスポンスを利用して新規性を検証できる形に変換された変換データをデータ認証部２３ｂに送信し、送信端末１ｂと共有した新しく鍵情報及び時変パラメーターを利用して新規性を検証できる形に変換された変換データを時変パラメーター判断部２１ｂへ送信する。
【０１１６】
鍵共有部２８ｂは、送信端末１ｂと新しい鍵情報を共有するための処理を実施するものである。鍵共有部２８ｂは、受信部２４ｂから鍵共有メッセージを受信することによって、チャレンジ生成部２０ｂから受信したチャレンジ情報、及び、鍵取得部２２ｂから受信した鍵情報とを利用して、新しい鍵情報を生成する。この新しい鍵情報の生成方法は、特に限定しないが、送信端末１ｂにおける鍵共有部１９ｂと整合がとれた方法を利用する必要がある。また、鍵共有部２８ｂは、送信端末１ｂと共有した新しい鍵情報を時変パラメーター判断部２１ｂへ送信する。
【０１１７】
鍵取得部２２ｂは、実施の形態１における鍵取得部２２と動作が基本的に同じであるが、取得した鍵情報を鍵共有部２８ｂへ送信する。また、鍵取得部２２ｂは、データ認証部２３ｂから鍵要求メッセージを受信した場合に、自身が管理する鍵情報を応答する。
【０１１８】
時変パラメーター判断部２１ｂは、実施の形態１における時変パラメーター判断部２１と動作が基本的に同じであるが、異なる点は以下の動作である。時変パラメーター判断部２１ｂは、鍵共有部２８ｂから新しい鍵情報を受信し、その受信した新しい鍵情報を時変パラメーターと共に管理する。また、時変パラメーター判断部２１ｂは、変換データを認証方法判断部２７ｂから受信する。そして、時変パラメーター判断部２１ｂは、認証方法判断部２７ｂから受信した変換データと共に、鍵共有部２８ｂから受信した新しい鍵情報をデータ認証部２３ｂへ送信する。
【０１１９】
データ認証部２３ｂは、受信した変換データが、送信端末１ｂが生成したデータであるか否かを認証するものである。データ認証部２３ｂは、認証方法判断部２７ｂから変換データを受信するか、時変パラメーター判断部２１ｂから変換データを受信するかによって、変換データの認証方法を変更する。認証方法判断部２７ｂから変換データを受信する場合には、データ認証部２３ｂは、チャレンジレスポンスを利用して変換データを認証すると共に、新規性を確認する。この場合、データ認証部２３ｂは、鍵取得部２２ｂに鍵要求メッセージを送信することによって受信した鍵情報、及び、チャレンジ生成部２０ｂから受信したチャレンジ情報を利用して、変換データが生成されているか否かを確認する。生成されていることを確認できた場合には、その変換データを送信端末１ｂが現時点で生成したデータであると認証する。一方、確認できなかった場合には、その変換データを送信端末１ｂが現時点で生成したデータではないと判断し、その変換データを破棄してもよい。一方、時変パラメーター判断部２１ｂから変換データを受信する場合には、送信端末１ｂと共有した新しい鍵情報及び時変パラメーターを利用して変換データを認証する。この場合、データ認証部２３ｂにおける動作は、実施の形態１におけるデータ認証部２３の動作と基本的に同じであるが、時変パラメーター判断部２１ｂから変換データと共に新しく鍵情報を受信する点、及び、変換データの検証には、チャレンジ生成部２０ｂから受信したチャレンジ情報を利用しない点で異なる。この変換データの検証は、通信データを変換するのに利用されていると推定される時変パラメーター、及び、時変パラメーター判断部２１ｂから受信した新しい鍵情報を用いて検証する。
【０１２０】
受信部２４ｂは、送信端末１ｂから受信した鍵共有メッセージを鍵共有部２８ｂへ送信し、また、送信端末１ｂから受信した変換データを認証方法判断部２７ｂへ送信するものである。
【０１２１】
送信部２５ｂは、実施の形態１における送信部２５と動作が同じである。
【０１２２】
（送信端末１ｂ及び受信端末２ｂの動作）
図１１及び図１２は、本発明の実施の形態３に係る通信データ新規性確認システムの動作説明図である。図１１及び図１２を参照しながら、本実施の形態に係る通信データ新規性確認システムの動作について説明する。本実施の形態に係る通信データ新規性確認システムには、様々な形態を適用し得るが、ここでは、以下の場合を例として説明する。
【０１２３】
（１）時変パラメーターとして、カウンター値を利用する。また、受信端末２ｂにおける新規性があるものと判断する方法として、変換データに利用されるカウンター値が、受信端末２ｂが管理するカウンター値以上の値であることとする。
【０１２４】
（２）通信データが１つである場合のデータの変換方法として、チャレンジレスポンスを利用する。送信端末１ｂ及び受信端末２ｂが共有する共通鍵Ｋ、及び、チャレンジ情報を用いて生成した認証子（ＭＡＣ）を、通信データに付加する方法とする。
【０１２５】
（３）通信データが複数ある場合のデータの変換方法として、送信端末１ｂ及び受信端末２ｂが新たに共有した共通鍵Ｋ´等を用いて生成した認証子（ＭＡＣ）、及び、その認証子の生成に利用した時変パラメーター（ここでは、カウンター値）を通信データに付加する方法とする。また、認証子の生成対象となるデータ列を、認証子の生成に利用する時変パラメーターと通信データとを連結したデータ列とする。そして、認証子は、上記の共通鍵Ｋ´と、上記の時変パラメーターとを用いて生成される。
【０１２６】
（４）送信端末１ｂと受信端末２ｂとの間で新しく共有する共通鍵Ｋ´は、お互いに交換する乱数情報のすべてと、既に共有している共通鍵Ｋとを利用して生成する。
【０１２７】
（５）変換データには、変換に利用した時変パラメーターを明示的（平文等）に含める。すなわち、受信端末２ｂは、受信した変換データを認証処理する前に、時変パラメーター判断部２１ｂにおいて、その変換データの新規性を仮判断できる。
【０１２８】
本実施の形態に係る通信データ新規性確認システムの動作は、少なくとも、認証方法に依存しない共通の３段階の動作（ステップＳ３０１〜ステップＳ３０３）、及び、認証方法に依存するその後の動作（ステップＳ３０４〜ステップＳ３０６）で構成されている。
【０１２９】
（Ｓ３０１：データ取得）
送信端末１ｂのデータ取得部１０ｂは、通信データを取得する。
【０１３０】
（Ｓ３０２：認証方法決定）
送信端末１ｂの認証方法決定部１８ｂは、データ取得部１０ｂから受信した通信データの数に応じて認証方法を決定する。通信データ数が１つの場合には、認証方法決定部１８ｂは、チャレンジレスポンスを利用してデータの新規性を確認することを決定する。一方、通信データが複数の場合には、新しく鍵情報を受信端末２ｂと共有して、その共有した新しい鍵情報及び時変パラメーターを利用して通信データの新規性を確認することを決定する。
なお、送信端末１ｂは、受信端末２ｂに通信データがあることを通知するために、起動要求メッセージを送信してもよい。また、ここで、送信端末１ｂは、受信端末２ｂに決定した認証方法を通知してもよい。
【０１３１】
（Ｓ３０３：データ要求（チャレンジ情報送信））
受信端末２ｂのチャレンジ生成部２０ｂは、チャレンジ情報ＲＢ１を生成し、送信部２５ｂを介して送信端末１ｂに送信する。
【０１３２】
次に、ステップＳ３０４及びステップＳ３０５において、通信データが１つである場合におけるチャレンジレスポンスを利用したデータ新規性確認の動作について説明する。
【０１３３】
（Ｓ３０４：変換データ送信）
送信端末１ｂの認証方法決定部１８ｂは、受信部１４ｂからチャレンジ情報ＲＢ１を受信し、その受信したチャレンジ情報ＲＢ１をデータ変換部１３ｂへ送信する。送信端末１ｂのデータ変換部１３ｂは、認証方法決定部１８ｂからチャレンジ情報ＲＢ１を受信することによって、鍵取得部１１ｂに鍵要求メッセージを送信し、共通鍵Ｋを受信する。また、データ変換部１３ｂは、データ取得部１０ｂから受信したデータ１に対する認証子を、鍵取得部１１ｂから受信した共通鍵Ｋ、及び認証方法決定部１８ｂから受信したチャレンジ情報ＲＢ１を利用して生成し、データ１に付加して変換データを生成する。そして、データ変換部１３ｂは、その生成した変換データを送信部１５ｂを介して受信端末２ｂへ送信する。
【０１３４】
（Ｓ３０５：データの認証と新規性確認）
受信端末２ｂの認証方法判断部２７ｂは、受信部２４ｂから変換データを受信する。この変換データを受信した認証方法判断部２７ｂは、この変換データの新規性を確認する方法としてチャレンジレスポンスを利用して新規性を確認する方法であることを判断し、この変換データをデータ認証部２３ｂへ送信する。このとき、認証方法判断部２７ｂにおける認証方法の判断は、例えば、変換データのヘッダ等に明示的に示されていてもよい。受信端末２ｂのデータ認証部２３ｂは、認証方法判断部２７ｂから変換データを受信することによって、鍵取得部２２ｂに鍵要求メッセージを送信し、鍵取得部２２ｂから共通鍵Ｋを受信する。そして、データ認証部２３ｂは、受信した変換データが、共通鍵Ｋ、及び、チャレンジ生成部２０ｂから受信したチャレンジ情報ＲＢ１を用いて変換されているかどうかを検証し、この検証に成功した場合、受信した変換データには新規性があると判断する。
【０１３５】
次に、ステップＳ３０４〜ステップＳ３０６において、通信データが複数である場合における送信端末１ｂ及び受信端末２ｂが共有した新しい鍵情報と時変パラメーターを利用したデータ新規性確認の動作について説明する。
【０１３６】
（Ｓ３０４：鍵共有メッセージ送信）
送信端末１ｂの認証方法決定部１８ｂは、受信部１４ｂからチャレンジ情報ＲＢ１を受信し、その受信したチャレンジ情報ＲＢ１を鍵共有部１９ｂへ送信する。送信端末１ｂの鍵共有部１９ｂは、認証方法決定部１８ｂからチャレンジ情報ＲＢ１を受信することによって、乱数情報ＲＡ１を生成し、鍵取得部１１ｂから受信した共通鍵Ｋ、生成した乱数情報ＲＡ１、及び、認証方法決定部１８ｂから受信したチャレンジ情報ＲＢ１を利用して新しい共通鍵Ｋ´をＫ´＝Ｆ（Ｋ，ＲＡ１，ＲＢ１）のように生成する。ここで、Ｆ（・）は鍵生成関数である。また、鍵共有部１９ｂは、生成した乱数情報ＲＡ１を鍵共有メッセージとして送信部１５ｂを介して受信端末２ｂへ送信する。送信端末１ｂの時変パラメーター管理部１２ｂは、鍵共有部１９ｂから新しい共通鍵Ｋ´を受信することによって、その共通鍵Ｋ´に対する送信カウンターの初期値を００００に設定する。受信端末２ｂの鍵共有部２８ｂは、受信部２４ｂから鍵共有メッセージを受信し、その受信した鍵共有メッセージに含まれる乱数情報ＲＡ１、チャレンジ生成部２０ｂから受信したチャレンジ情報ＲＢ１、及び、鍵取得部２２ｂから受信した共通鍵Ｋを利用して新しい共通鍵Ｋ´を生成する。受信端末２ｂの時変パラメーター判断部２１ｂは、鍵共有部２８ｂから共通鍵Ｋ´を受信することによって、その共通鍵Ｋ´に対する受信カウンターの初期値を００００に設定する。
【０１３７】
（Ｓ３０５：変換データ送信）
送信端末１ｂのデータ変換部１３ｂは、データ取得部１０ｂから受信したデータ１の変換に利用する時変パラメーターを時変パラメーター管理部１２ｂに要求し、時変パラメーター管理部１２ｂから新しい共通鍵Ｋ´及び送信カウンター００００を受信する。また、データ変換部１３ｂは、送信カウンター００００とデータ１とを連結したデータ列に対する認証子を時変パラメーター管理部１２ｂから受信した共通鍵Ｋ´を利用して生成し、上記のデータ列に付加して変換データを生成する。そして、データ変換部１３ｂは、その生成した変換データを送信部１５ｂを介して受信端末２ｂへ送信する。さらに、時変パラメーター管理部１２ｂは、自身が管理する送信カウンター００００をインクリメントし、０００１に更新する。
【０１３８】
（Ｓ３０６：データの認証と新規性確認）
受信端末２ｂの認証方法判断部２７ｂは、受信部２４ｂから変換データを受信する。この変換データを受信した認証方法判断部２７ｂは、この変換データの新規性を確認する方法として新しい共通鍵Ｋ´及び時変パラメーターを利用して新規性を確認する方法であることを判断し、この変換データを時変パラメーター判断部２１ｂへ送信する。このとき、認証方法判断部２７ｂにおける認証方法の判断は、例えば、変換データのヘッダ等に明示的に示されていてもよい。この変換データを受信した時変パラメーター判断部２１ｂは、変換データに含まれる送信カウンターが、自身が管理する受信カウンター００００以上の値であるか否か判断し、受信カウンター００００以上の値である場合、受信した変換データには新規性があると仮判断し、この変換データを、新しい共通鍵Ｋ´と共にデータ認証部２３ｂへ送信する。一方、変換データに含まれる送信カウンターが、自身が管理する受信カウンター００００よりも小さい場合には、受信した変換データには新規性がないと仮判断し、この変換データを破棄する。そして、データ認証部２３ｂは、時変パラメーター判断部２１ｂから受信した変換データが、送信端末１ｂによって生成されたデータであるか否かを検証する。
【０１３９】
データ認証部２３ｂは、時変パラメーター判断部２１ｂから受信した共通鍵Ｋ´、及び、時変パラメーター判断部２１ｂから受信した変換データに明示的に含まれる送信カウンター００００を用いて、変換データに含まれる認証子が正しい値であるか否かを検証し、この検証に成功した場合は、時変パラメーター判断部２１ｂへ認証成功メッセージを送信する。そして、時変パラメーター判断部２１ｂがこの認証成功メッセージを受信した場合、受信した変換データに新規性があると判断し、この変換データに含まれる送信カウンター００００を送信端末１ｂが管理する最新のカウンター値であると判断する。その結果、時変パラメーター判断部２１ｂは、この送信カウンター００００を１つインクリメントした値０００１を受信カウンターとして設定する。
【０１４０】
一方、データ認証部２３ｂが検証に失敗した場合は、時変パラメーター判断部２１ｂへ認証失敗メッセージを送信する。そして、時変パラメーター判断部２１ｂがこの認証失敗メッセージを受信した場合には、受信した変換データに新規性がないと判断し、この変換データを破棄する。
【０１４１】
次に、ディープスリープ状態からの起動時に通信データが１つ発生する場合と、複数発生する場合の動作について説明する。
図１３は、本発明の実施の形態３に係る通信データ新規性確認システムにおいてディープスリープ状態からの起動時に通信データが１つ発生する場合と複数発生する場合の動作説明図である。
【０１４２】
まず、送信端末１ｂがディープスリープ状態５０ｂ、そして、受信端末２ｂがディープスリープ状態６０ｂにあるものとする。送信端末１ｂがディープスリープ状態５０ｂから、及び、受信端末２ｂがディープスリープ状態６０ｂから起動後、送信端末１ｂは、送信する通信データが、１つであるのか複数であるのか判断し、この場合、通信データが１つであると判断したものと想定する。受信端末２ｂは、送信端末１ｂへチャレンジ情報ＲＢ１を送信し、その後、送信端末１ｂは通信データ（データ１）についての変換データを受信端末２ｂへ送信する。このときの通信動作は、前述したステップＳ３０１〜ステップＳ３０３、並びに、通信データが１つである場合におけるチャレンジレスポンスを利用した新規性確認の場合のステップＳ３０４及びステップＳ３０５と同様の動作である。
【０１４３】
次に、送信端末１ｂがディープスリープ状態５１ｂ、そして、受信端末２ｂがディープスリープ状態６１ｂになり、再び双方が起動して通信可能状態になった場合を想定する。送信端末１ｂがディープスリープ状態５１ｂから、及び、受信端末２ｂがディープスリープ状態６１ｂから起動後、再び、送信端末１ｂは、送信する通信データが、１つであるのか複数であるのか判断し、この場合、通信データが複数であると判断したものと想定する。受信端末２ｂは、再び、送信端末１ｂへチャレンジ情報ＲＢ２を送信する。このときの通信動作は、前述したステップＳ３０１〜ステップＳ３０３と同様の動作である。
【０１４４】
次に、送信端末１ｂは、受信したチャレンジ情報ＲＢ２、共通鍵、及び、乱数情報ＲＡ１を用いて新しい共通鍵を生成し、その乱数情報を鍵共有メッセージとして受信端末２ｂへ送信する。そして、この鍵共有メッセージを受信した受信端末２ｂは、その鍵共有メッセージに含まれる乱数情報、チャレンジ情報ＲＢ２、及び、共通鍵を用いて新しい共通鍵を生成し、送信端末１ｂと新しい共通鍵を共有する。このときの通信動作は、通信データが複数である場合における送信端末１ｂ及び受信端末２ｂが共有した新しい鍵情報と時変パラメーターを利用した新規性確認の場合のステップＳ３０４と同様である。
【０１４５】
次に、送信端末１ｂは通信データであるデータ２について、新しい共通鍵を用いて変換データを生成し、その変換データを受信端末２ｂに送信する。このときの通信動作は、通信データが複数である場合における送信端末１ｂ及び受信端末２ｂが共有した新しい鍵情報と時変パラメーターを利用した新規性確認の場合のステップＳ３０５及びステップＳ３０６と同様である。
【０１４６】
そして、送信端末１ｂは、残りの通信データであるデータ３等について、同様に、新しい共通鍵を用いて変換データを生成し、その変換データを受信端末２ｂに連続して送信する。このときの通信動作は、通信データが複数である場合における送信端末１ｂ及び受信端末２ｂが共有した新しい鍵情報と時変パラメーターを利用した新規性確認の場合のステップＳ３０５及びステップＳ３０６と同様である。
【０１４７】
上記の動作のように、送信する通信データの数により認証方法を切り替えることによって、ディープスリープ状態からの起動後に、通信データが突発的に多くなったとしても、常にチャレンジレスポンスを利用することによるチャレンジ情報の生成と送受信に伴う電力消費量の増加をなくすことができ、また、通信データが突発的に少なくなったとしても、常に鍵情報を共有することによる無駄な電力消費をなくすことができる。
【０１４８】
（実施の形態３の効果）
以上の構成及び動作のように、送信端末１ｂがディープスリープ状態からの起動後の通信データの発生数によって、その通信データの新規性の確認方法を変更する。すなわち、通信データが１つである場合には、チャレンジレスポンスを利用した新規性の確認を実施し、通信データが複数である場合には、送信端末１ｂ及び受信端末２ｂが共有した新しい鍵情報と時変パラメーターを利用した新規性の確認を実施している。したがって、チャレンジレスポンスを利用して通信データの新規性を確認するのは、通信データが１つの場合のみであり、複数の通信データごとにチャレンジ情報を生成することはないので、チャレンジ情報の生成及び送受信に伴う電力消費量及びトラフィックの増加を抑制することができる。
【０１４９】
また、上記のようにディープスリープ状態からの起動時に、不揮発性メモリーに記録された鍵情報を利用して、新しい鍵情報を共有する方法において、鍵情報の共有を安全に実現するためには、送信端末１ｂと受信端末２ｂとが互いに乱数情報を生成し、交換し合い、それらの乱数情報と不揮発性メモリーに記録された鍵情報とを共通のシード情報として鍵生成関数に入力する等の処理を実施するのが一般的である。このとき、ディープスリープ状態からの起動後に発生する通信データが１つのみであり、また即座にディープスリープ状態に突入するといった場合には、新しく共有した鍵情報も即座に消去されることとなり、電力消費量の抑制という観点では、鍵情報の共有処理を実施することのメリットが損なわれる。しかし、本実施の形態においては、通信データが複数の場合において、新しく共有した鍵情報を利用して新規性の確認をしているので、その複数の通信データの送信の最初のタイミングに新しい鍵情報を生成し、その鍵情報を利用して複数の通信データを変換して変換データを生成して送信するので、電力消費量の増加を抑制することができる。また、共有した新しい鍵情報を利用して通信することによって、過去に生成した通信データを利用した再生攻撃を防止できるようになる。さらに、不揮発性メモリーに記録された鍵情報を通信データの変換に利用する代わりに、新たに共有した鍵情報を利用することにより、通信データの解析による、不揮発性メモリーに記録された鍵情報の特定が困難となり、当該鍵情報の更新頻度（不揮発性メモリーの書き換え）も減らすことができる。
【０１５０】
そして、上記のように本実施の形態においても、ディープスリープ状態への突入毎に、新規性確認のための情報を揮発性の記憶媒体に退避させる必要がなく、また、スリープ状態からの起動時の通信データ数の変動にも柔軟に対応しつつ、送信端末１ｂから受信端末２ｂへの通信データの新規性を確認できる。 
【０１５１】
なお、本実施の形態においては、スリープ状態として、ディープスリープ状態に焦点を当てて説明したが、これに限られるものではなく、送信端末１ｂ及び受信端末２ｂが突入するスリープ状態として、通常スリープ状態であってもよい。
また、前述したように、受信端末２ｂが送信端末１ｂへチャレンジ情報を送信する前に、起動要求メッセージを送信してもよいが、このとき、この起動要求メッセージには、何らかのメッセージを含めてもよい。例えば、本実施の形態における鍵共有メッセージ、又は、決定した認証方法を起動要求メッセージに含めて受信端末２ｂに送信してもよい。
【符号の説明】
【０１５２】
１、１ａ、１ｂ  送信端末、２、２ａ、２ｂ  受信端末、１０、１０ａ、１０ｂ  データ取得部、１１、１１ａ、１１ｂ  鍵取得部、１２、１２ａ、１２ｂ  時変パラメーター管理部、１３、１３ａ、１３ｂ  データ変換部、１４、１４ａ、１４ｂ  受信部、１５、１５ａ、１５ｂ  送信部、１６ａ  時変パラメーター取得部、１７ａ  時変パラメーター通知部、１８ｂ  認証方法決定部、１９ｂ 鍵共有部、２０、２０ａ、２０ｂ  チャレンジ生成部、２１、２１ａ、２１ｂ  時変パラメーター判断部、２２、２２ａ、２２ｂ  鍵取得部、２３、２３ａ、２３ｂ  データ認証部、２４、２４ａ、２４ｂ  受信部、２５、２５ａ、２５ｂ  送信部、２６ａ  時変パラメーター同期部、２７ｂ  認証方法判断部、２８ｂ  鍵共有部、５０、５０ｂ、５１、５１ｂ、５２、５２ｂ  ディープスリープ状態、６０、６０ｂ、６１、６１ｂ、６２、６２ｂ  ディープスリープ状態、１００  送信端末、２００  受信端末。
【図１】
0005446650.tif 000002
【図２】
0005446650.tif 000003
【図３】
0005446650.tif 000004
【図４】
0005446650.tif 000005
【図５】
0005446650.tif 000006
【図６】
0005446650.tif 000007
【図７】
0005446650.tif 000008
【図８】
0005446650.tif 000009
【図９】
0005446650.tif 000010
【図１０】
0005446650.tif 000011
【図１１】
0005446650.tif 000012
【図１２】
0005446650.tif 000013
【図１３】
0005446650.tif 000014