(57)【要約】      （修正有）【課題】時刻ずれに係る時間幅を考慮した時刻判定の許容範囲を決定し、不正な通信フレームの受入れを判定することができるデータ受信装置を提供する。【解決手段】通信装置１０において、データ送信装置１から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信装置２は、通信部２４と、通信フレームを受け入れるか否かを判定する受入れ判定部２２とを備える。受入れ判定部２２は、過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って保持する受入れ情報保持部２２５と、通信フレームに含まれる認証情報を用いて認証確認を行なう認証部２２１と、通信フレームの受信時刻と当該通信フレームに含まれている時刻情報との比較結果が、保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する時刻判定部２２２とを有する。【選択図】図１
2020028063.tif 000002
【特許請求の範囲】
【請求項１】
データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信装置において、
上記通信フレームを受信する通信手段と、
上記通信手段により受信された上記通信フレームを受け入れるか否かを判定する受入れ判定手段と
を備え、
上記受入れ判定手段が、
過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って保持する受入れ情報保持部と、
上記通信手段により受信された上記通信フレームに含まれる上記認証情報を用いて認証確認を行なう認証部と、
上記通信手段における上記通信フレームの受信時刻と当該通信フレームに含まれている上記時刻情報との比較結果が、上記受入れ情報保持部の上記保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する時刻判定部と
を有する
ことを特徴とするデータ受信装置。
【請求項２】
上記受入れ判定手段が、上記通信手段により受信された上記通信フレームと重複する通信フレームが上記受入れ情報保持部に存在するか否かを判定する重複判定部をさらに有することを特徴とする請求項１に記載のデータ受信装置。
【請求項３】
上記時刻判定許容範囲が、上記データ送信装置による上記通信フレームの最大再送回数と、間欠動作に係る間欠周期と、上記受入れ情報保持部に保持される過去に受入れ許可された通信フレーム数と、上記受入れ情報保持部の上記保持期間の最長保持時間とに基づいて決定されることを特徴とする請求項１又は２に記載のデータ受信装置。
【請求項４】
上記時刻判定許容範囲の上限値は、
上記受入れ情報保持部に保持される過去に受入れ許可された通信フレーム数及び上記間欠周期の積と、上記受入れ情報保持部の上記最長保持時間とのいずれか短い値に、上記通信フレームの最大再送回数及び上記間欠周期の積を加算して得た値の半分の値とする
ことを特徴とする請求項３に記載のデータ受信装置。
【請求項５】
上記時刻ずれに係る許容幅の値に基づいて、上記時刻判定許容範囲が決定され、
上記時刻判定許容範囲によって、上記受入れ情報保持部で保持される上記通信フレーム数、上記最長保持時間が決定される
ことを特徴とする請求項３又は４に記載のデータ受信装置。
【請求項６】
データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信方法において、
通信手段が、上記通信フレームを受信し、
上記通信手段により受信された上記通信フレームを受け入れるか否かを判定する受入れ判定手段が、
過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って受入れ情報保持部で保持し、
上記通信手段により受信された上記通信フレームに含まれる上記認証情報を用いて認証確認をし、
上記通信手段における上記通信フレームの受信時刻と当該通信フレームに含まれている上記時刻情報との比較結果が、上記受入れ情報保持部の上記保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する
ことを特徴とするデータ受信方法。
【請求項７】
時刻情報及び認証情報を含んだ通信フレームを送信するデータ送信装置と、
請求項１〜５のいずれかに記載のデータ受信装置と
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ受信装置、データ受信方法及び通信システムに関し、例えば、セキュア通信を行なうネットワークを構成する通信装置に適用し得るものである。
【背景技術】
【０００２】
例えば、無線マルチホップ方式を採用したメッシュネットワークでは、ある通信装置が不特定多数の隣接装置と通信するため、通信装置間で行なわれるデータ通信のセキュリティを確保する必要がある。
【０００３】
特に、攻撃者がある時点で通信フレームを傍受し、後に当該通信フレームを再投入して、当該通信フレームを新たに発生した通信フレームとして受信装置に再び受け入れさせる攻撃がある。このような攻撃は再生攻撃と呼ばれる。
【０００４】
従来の通信システムでは、このような再生攻撃を防止するため、セキュア通信（暗号化通信）が行なわれる。通信装置間で秘密に共有する共通鍵（ネットワーク共通鍵）を利用して通信データに認証コード（例えば、ＭＡＣ：Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を付加することで、受信装置は通信データに改竄やなりすましがないことを確認することができる。
【０００５】
しかし、共通鍵を利用した通信だけでは、再生攻撃を十分に防止することができないことがある。なぜなら、過去に生成された通信フレームも、通信装置間で共通鍵を用いて正しく変換されてしまうことがあるため、受信装置において受信データの認証が成功してしまうことがあるからである。
【０００６】
このような再生攻撃を防止する方法のうち、ネットワーク内の全通信装置の間で時刻情報を利用する技術が知られている。例えば、特許文献１には、以下のような方法が開示されている。通信フレームを送信する通信装置は、通信フレームの送信時刻を通信フレーム内に格納して送信する。そして、通信フレームを受信した通信装置は、受信した通信フレーム内に格納された送信時刻と、その通信フレームの受信時刻とを比較して、両者が許容範囲内にあれば受信した通信フレームが正しい通信フレームであるとして受け入れ、両者が許容範囲外であれば、再生攻撃が行なわれたとして受信した通信フレームを破棄する。この手法により、送信時刻が許容範囲外にある通信フレームの利用の防止が可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開番号ＷＯ２０１４／１４７９３４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術のように、時刻情報を利用して再生攻撃を防止する方法では、どの程度の許容範囲を設定すれば、再生攻撃を防止できるのかが明確ではなかった。許容範囲を狭くした場合は、時刻同期のずれや通信フレームの到達時間の遅延の影響で、正しい通信フレームを再生攻撃と誤判定して破棄する可能性がある。許容範囲を広くした場合は、不正な通信フレームの投入を許す範囲が増えてしまう。
【０００９】
また、時刻情報を用いて再生攻撃対策を行なう場合、厳密な時刻同期が必要となり、厳密な時刻同期のための通信により通信負荷が増大してしまうという課題がある。
【００１０】
そのため、送信側通信装置と受信側通信装置との間で厳密な時刻同期がなされていない場合でも、時刻ずれに係る時間幅を考慮した、時刻判定の許容範囲を決定して、不正な通信フレームの受入れを判定することができるデータ受信装置、データ受信方法及び通信システムが求められている。
【課題を解決するための手段】
【００１１】
かかる課題を解決するために、第１の本発明に係るデータ受信装置は、データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信装置において、（１）通信フレームを受信する通信手段と、（２）通信手段により受信された通信フレームを受け入れるか否かを判定する受入れ判定手段とを備え、受入れ判定手段が、（２−１）過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って保持する受入れ情報保持部と、（２−２）通信手段により受信された通信フレームに含まれる認証情報を用いて認証確認を行なう認証部と、（２−３）通信手段における通信フレームの受信時刻と当該通信フレームに含まれている時刻情報との比較結果が、受入れ情報保持部の保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する時刻判定部とを有することを特徴とする。
【００１２】
第２の本発明に係るデータ受信方法は、データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信方法において、（１）通信手段が、通信フレームを受信し、通信手段により受信された通信フレームを受け入れるか否かを判定する受入れ判定手段が、（２）過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って受入れ情報保持部で保持し、（３）通信手段により受信された通信フレームに含まれる認証情報を用いて認証確認をし、（４）通信手段における通信フレームの受信時刻と当該通信フレームに含まれている時刻情報との比較結果が、受入れ情報保持部の保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定することを特徴とする。
【００１３】
第３の本発明に係る通信システムは、時刻情報及び認証情報を含んだ通信フレームを送信するデータ送信装置と、第１の本発明に係るデータ受信装置とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、送信側通信装置と受信側通信装置との間で厳密な時刻同期がなされていない場合でも、時刻ずれに係る時間幅を考慮した、時刻判定の許容範囲を決定して、不正な通信フレームの受入れを判定することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る通信装置の内部構成を示す内部構成図である。
【図２】実施形態に係るネットワーク（通信システム）の全体構成の一例を示す全体構成図である。
【図３】実施形態に係る通信フレームの構成例を示す構成図である。
【図４】実施形態に係る送信側通信装置及び受信側通信装置における通信処理の動作を示すフローチャートである。
【図５】実施形態に係る時刻判定の許容範囲の決定方法を説明する説明図である。
【発明を実施するための形態】
【００１６】
（Ａ）主たる実施形態
以下では、本発明に係るデータ受信装置、データ受信方法及び通信システムの実施形態を、図面を参照しながら詳細に説明する。
【００１７】
（Ａ−１）実施形態の構成
［ネットワーク構成］
図２は、この実施形態に係るネットワーク（通信システム）の全体構成の一例を示す全体構成図である。
【００１８】
図２に示すように、この実施形態に係るネットワーク１００は、複数の通信装置１０を有する。また、ネットワーク１００は、無線マルチホップ方式を採用した省電力無線通信システムを構成しており、そのネットワークトポロジーがメッシュネットワークである場合を想定して説明する。
【００１９】
なお、実施形態に係る通信システムは、送信側の通信装置と受信側の通信装置との間でセキュアな通信（暗号化通信）を行なうものであれば広く適用できる。従って、無線通信方式は、無線マルチホップ方式に限定されるものではない。さらに、ネットワーク１００のトポロジーも、メッシュネットワークに限定されるものではない。
【００２０】
メッシュネットワークとは、通信装置１０同士が相互に通信を行なうことで、網（ネットワーク）をメッシュ状に形成される通信ネットワークである。
【００２１】
メッシュネットワークに参加する各通信装置１０は、自装置の通信可能範囲内に存在する他の通信装置（隣接装置）と通信する。また、自装置の通信可能範囲を越えて遠隔に存在する他の通信装置１０と通信する場合には、自装置と宛先の通信装置との間に存在する他の通信装置が、自装置が送信した通信データをバケツリレー方式で中継しあい、宛先の通信装置１０に向けて通信データを配送するマルチホップ通信を行なう。
【００２２】
このように、メッシュネットワークでは、ネットワークに参加する個々の通信装置１０が隣接装置と通信できれば良いので、比較的弱い送信出力で通信することも可能である。
【００２３】
メッシュネットワークは、いずれかの通信装置１０が破損したり又はネットワークから離脱したりする等の障害が発生しても、代替経路を確保し易い。従って、例えば、スター型ネットワークのように、中心となる通信装置に障害が起きたときに通信不能となるネットワークと比較して、メッシュネットワークは障害に強いという利点がある。
【００２４】
メッシュネットワークが設置される環境によっては、電源を確保することが難しい場合がある。このような環境の場合、通信装置１０は電池駆動で動作して、ネットワークを構築することができる。
【００２５】
通信装置１０を電池駆動で動作させる場合、通信装置１０は間欠動作することによって電池寿命を向上させることができる。間欠動作とは、通信装置１０が通信を行わないスリープ状態と通信を行うアクティブ状態を周期的に切り替える省電力制御技術のことである。
【００２６】
通信装置１０が間欠動作をするときの通信データの送受信の一例を説明する。通信装置１０は基本的にはスリープ状態にあり、所定期間毎に、通信装置１０は、アクティブ状態になる。アクティブ状態となった通信装置１０は、受信するデータがあるか否かを確認する。
【００２７】
間欠動作する通信装置１０間の通信では、送信側の通信装置１０は、受信側の通信装置１０がアクティブ状態のときに通信データを送信する必要がある。そのため、送信側の通信装置１０は送信するデータがあることを示すパケット（ウェイクアップパケットとも呼ぶ。）を、受信側の通信装置１０のスリープ期間の間だけ送信する。
【００２８】
ウェイクアップパケットにはデータ送信タイミングが含まれている。従って、ウェイクアップパケットを受信した受信側の通信装置１０は、ウェイクアップパケットに含まれるデータ送信タイミングでアクティブ状態になり、通信データを受信する。このように間欠動作する通信装置１０間の通信では、１パケットの送信にスリープ期間（間欠期間）の時間を要する。
【００２９】
［通信装置１０の内部構成］
図１は、この実施形態に係る通信装置１０の内部構成を示す内部構成図である。
【００３０】
図１では、説明を容易にするために、送信側通信装置（以下、「データ送信装置」とも呼ぶ。）１は、受信側通信装置２に通信フレームを送信する装置とし、受信側通信装置（以下、「データ受信装置」とも呼ぶ。）２は、送信側通信装置１から送信された通信フレームを受信する装置としているが、各通信装置１０は、送信側通信装置１の機能と受信側通信装置２の機能との両方を備えた装置としてもよいことは当然である。
【００３１】
［送信側通信装置１の内部構成］
図１において、送信側通信装置１は、制御部１１、フレーム作成部１２、時刻同期部１３、時刻格納部１４、通信部１５を有する。
【００３２】
送信側通信装置１のハードウェア構成は図示しないが、例えば、送信側通信装置１は、プロセッサ、メモリ、通信インタフェース等を有するとすることができる。そして、プロセッサ（コンピュータ）がメモリに格納されている処理プログラム（例えば、通信プログラム）を実行することにより、送信側通信装置１の各種機能が実現される。また、通信プログラムがインストールされることにより、通信方法を構築するようにしてもよい。
【００３３】
制御部１１は、送信側通信装置１の各種機能を司る処理部である。制御部１１は、所定時間が経過すると、時刻同期部１３に対して、ネットワーク１００内での時刻同期を要求する。
【００３４】
制御部１１は、受信側通信装置２の間欠動作に合わせて、通信部１５の通信動作を制御する。例えば、制御部１１は、通信部１５に対して、受信側通信装置２宛にウェイクアップフレームを送信させる。そして、受信側通信装置２が受信可能になるタイミングまで待ってから、制御部１１は通信部１５にデータフレームを送信させる。
【００３５】
制御部１１は、通信データの暗号化とヘッダの付加を、フレーム作成部１２に要求する。制御部１１は、フレーム作成部１２から通信フレームを受け取ると、受信側通信装置２がアクティブ状態になるまで待機する。そして、受信側通信装置２がアクティブ状態になると、制御部１１は、通信フレームへの時刻情報（送信時刻）の格納と認証コードの付加を、時刻格納部１４に要求する。更に、制御部１１が時刻格納部１４から時刻情報（送信時刻）を格納した通信フレームを受け取ると、制御部１１は通信部１５に対して通信フレームの送信を要求する。
【００３６】
さらに、制御部１１は、通信部１５が通信フレームを送信した後、所定時間内に、受信確認応答の受信を確認する。そして、受信確認応答の受信がなければ、制御部１１は、通信部１５に対して、通信フレームの再送を要求する。
【００３７】
ここで、受信確認応答は、受信側通信装置２が送信側通信装置１からの通信フレームの受信を成功した際に、受信側通信装置２が送信側通信装置１に送信する確認応答情報である。受信確認応答は、少なくとも送信側通信装置１のアドレス情報を含むものである。
【００３８】
時刻同期部１３は、ネットワーク内の他の通信装置１０と時刻同期を行なうものである。
【００３９】
通信部１５は、他の通信装置１０と無線で送受信する手段を有する。
【００４０】
フレーム作成部１２は、ネットワーク共通鍵を用いて、通信データを暗号化すると共に、暗号化後の通信データにヘッダを付加して通信フレームを作成する。
【００４１】
ここで、暗号化処理には、共通鍵暗号化方式を適用することができるが、具体的なアルゴリズムについては特に指定しない。例えばＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などのブロック暗号化方式を利用して、通信データを暗号化してもよい。
【００４２】
時刻格納部１４は、通信フレーム内に、時刻情報を格納する。さらに、時刻格納部１４は、少なくとも、暗号化された通信データ、ヘッダ、および時刻情報をもとに認証コードを作成し、作成した認証コードを通信フレームに付加する。
【００４３】
ここで、時刻情報は、時刻同期部１３によりネットワーク内で同期された時刻情報である。また、認証コードの算定方式については特に指定しないが、ＥＭＡＣ（Ｋｅｙｅｄ−Ｈａｓｈｉｎｇ  ｆｏｒ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ）等の鍵付きハッシュ関数を利用して算出してもよい。
【００４４】
［受信側通信装置２の内部構成］
図１において、受信側通信装置２は、制御部２１、受入れ判定部２２、時刻同期部２３、通信部２４を有する。
【００４５】
受信側通信装置２のハードウェア構成は図示しないが、例えば、受信側通信装置２は、プロセッサ、メモリ、通信インタフェース等を有するとすることができる。そして、プロセッサ（コンピュータ）がメモリに格納されている処理プログラム（例えば、通信プログラム）を実行することにより、受信側通信装置２の各種機能が実現される。また、通信プログラムがインストールされることにより、通信方法を構築するようにしてもよい。
【００４６】
制御部２１は、所定時間毎に、時刻同期部２３に対して、ネットワーク内での時刻同期を要求する。
【００４７】
制御部２１は、通信部２４を間欠動作させる手段を有する。例えば、制御部２１は、送信側通信装置１から受け取ったウェイクアップフレームに記載されたデータ送信タイミングで、通信部２４を動作させることで間欠動作によるデータフレームの受信を実現する。なお、受信側通信装置２は、１回のアクティブ状態のときに１回の通信フレームの受信のみ可能である。
【００４８】
制御部２１は、通信部２４から通信フレームを受け取ると、受信確認応答の送信を通信部２４に要求する。また、制御部２１は、通信部２４から通信フレームを受け取ると、通信フレームの受信時刻を記録し、通信フレームを受入れるか否かの判定を受入れ判定部２２に要求する。
【００４９】
通信部２４は、他の通信装置１０と無線で送受信する手段を有する。
【００５０】
時刻同期部２３は、ネットワーク内の他の通信装置１０と時刻同期を行う手段を有する。
【００５１】
受入れ判定部２２は、再生攻撃を防ぐために、受信した通信フレームの受入れ判定を行なうものである。受入れ判定部２２は、認証部２２１、時刻判定部２２２、重複判定部２２３、重複情報管理部２２４、メモリ２２５を有する。
【００５２】
認証部２２１は、受信した通信フレームの認証を行なう。認証部２２１は、受け入れた通信フレームに格納されている時刻情報の確認を時刻判定部２２２に要求する。
【００５３】
時刻判定部２２２は、受信した通信フレームの時刻情報の値により、通信フレームの受入れの判定を行う手段を有する。
【００５４】
具体的には、時刻判定部２２２は、受信した通信フレームに格納されている時刻情報と通信フレームの受信時刻とを比較し、両者の差分値が許容範囲内にあるか否かを判定する。そして、差分値が許容範囲内にあれば、通信フレームを受け入れる。差分値が許容範囲内になければ通信フレームは破棄される。
【００５５】
また、時刻判定部２２２は、受け入れた通信フレームの重複の確認を重複判定部２２３に要求する。
【００５６】
重複判定部２２３は、時刻判定部２２２が受入れた通信フレームとメモリに記録された通信フレームを比較し、受入れの判定を行う手段を有する。重複判定部２２３は、受入れた通信フレームの記録を重複情報管理部２２４に要求する。
【００５７】
重複情報管理部２２４では、重複判定部２２３で重複を判定する際に参照する情報を管理する手段を有する。重複情報管理部２２４は、重複判定部２２３が受入れた通信フレームと制御部２１から通知されたその通信フレームの受信時刻をメモリ２２５に記録する。
【００５８】
メモリ２２５は、重複判定部２２３で重複を判定する際に参照する情報を記録する手段を有する。
【００５９】
（Ａ−２）実施形態の動作
次に、この実施形態に係るネットワーク１００における通信処理の動作を、図面を参照しながら詳細に説明する。
【００６０】
［実施形態の基本的な概念］
ネットワーク１００内の各通信装置１０間で通信フレームの送受信を行なう場合、送信側通信装置１は、通信フレームに送信時の時刻情報を格納して通信する。
【００６１】
受信側通信装置２が通信フレームを受信すると、受信側通信装置２は、通信フレームの受信時刻を記録する。そして、受信した通信フレームに格納されている送信時刻と通信フレームの受信時刻とを比較し、その比較結果（差分値）が許容範囲内にあれば通信フレームを受入れ、比較結果（差分値）が許容範囲外であれば通信フレームを破棄する。
【００６２】
しかし、例えば、受信側通信装置２における通信フレームの受信時刻が許容範囲内になることを狙って、攻撃者が通信フレームをネットワーク１００に投入すると、受信側通信装置２は通信フレームを受け入れてしまい、再生攻撃が成功してしまう。
【００６３】
そこで、この実施形態では、受信側通信装置２において、直近に受信して受け入れた所定数の通信フレームを記録しておく。
【００６４】
さらに、所定数の過去に受信した通信フレームと、今回受信した通信フレームと比較することで、受信時刻が許容範囲内であっても、過去に受信した通信フレームであれば、重複と判定し通信フレームを破棄する。
【００６５】
［送信側通信装置の動作］
図４は、この実施形態に係る送信側通信装置１及び受信側通信装置２における通信処理の動作を示すフローチャートである。
【００６６】
以下では、図４を参照しながら、送信側通信装置１における処理動作を説明した後に、受信側通信装置２における処理動作を説明する。
【００６７】
まず、送信側通信装置１が、受信側通信装置２に、セキュアな通信データ（暗号化処理された通信データ）を送信する処理を説明する。
【００６８】
［Ｓ１０１］時刻同期
各通信装置１０は、通信フレームの授受の前に、ネットワーク１００内の他の通信装置１０との間で時刻同期を行なう必要がある。
【００６９】
そのため、送信側通信装置１では、制御部１１が、所定時間毎に、時刻同期部１３に対して時刻同期を要求する。これを受けて、時刻同期部１３は、所定の時刻同期手法により他の通信装置１０との間で時刻同期を行なう。ここで、時刻同期手法は、種々の方法を適用することができる。例えば、時刻同期部１３は、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）に従って、ネットワーク１００内のＮＴＰサーバに時刻情報を問い合わせて、時刻同期部１３は時刻情報を取得して時刻同期をするようにしてもよい。なお、時刻同期部１３は、これに限定されず、別の方式を使用してもよい。時刻同期部１３は、時刻同期を行う際に通信部１５を介して通信を行ってもよいし、別の通信手段（図示しない）を用いて通信してもよい。
【００７０】
［Ｓ１０２］通信フレームの作成
送信側通信装置１において、受信側通信装置２に送信する通信データが発生すると、制御部１１は、フレーム作成部１２に対して、当該通信データの暗号化とヘッダの付加を要求する。
【００７１】
フレーム作成部１２は、通信データを受信すると、受信した通信データを、ネットワーク共通鍵を用いて暗号化する。フレーム作成部１２は、暗号化された通信データに対してヘッダを付加して制御部１１に通知する。
【００７２】
［Ｓ１０３］送信待機
制御部１１は、フレーム作成部１２からセキュアな通信フレームを受け取ると、通信部１５にウェイクアップフレームの送信を要求し、受信側通信装置２が受信可能な状態になるまで待機する。
【００７３】
制御部１１は、受信側通信装置２が受信可能な状態（アクティブ状態）になると、時刻格納部１４に対して、時刻情報の格納と認証コードの付加を要求する。
【００７４】
［Ｓ１０４］時刻情報の格納
時刻格納部１４は、通信フレームに時刻情報を格納すると共に、少なくとも暗号化された通信データと、ヘッダと、格納した時刻情報とに基づいて認証コードを算定し、その認証コードを通信フレームに付加した後、制御部１１に通知する。
【００７５】
図３は、実施形態に係る通信フレームの構成例を示す構成図である。時刻格納部１４は、図３に例示するように、ヘッダと、暗号化された通信データと、時刻情報と、認証コードとを含む通信フレームを制御部１１に通知する。
【００７６】
［Ｓ１０５］通信フレームの送信
制御部１１は、時刻格納部１４から通信フレームを受信すると、通信部１５に通信フレームの送信を要求する。通信部１５は、送信を要求されると受信側通信装置２に通信フレームを送信する。
【００７７】
［Ｓ１０６］再送処理
通信部１５は、通信フレームを送信した後に、受信側通信装置２からの受信確認応答を受信すると、送信成功を制御部１１に通知する。
【００７８】
制御部１１は、Ｓ１０５の通信フレームの送信後一定時間以内に通信部１５からの通知があれば、送信が成功したと判断して何もしない。一方、一定時間以内に通信部１５からの通知がなければ、送信が失敗したと判断し、Ｓ１０３、Ｓ１０４で作成した通信フレームの再送を通信部１５に要求する。この送信失敗と判断する時間の上限は、最大でも間欠周期Ｔ秒である。制御部１１は、送信成功の通知がなければ、再送処理を１つの通信フレームの送信につきＲ回だけ繰り返して行う。
【００７９】
［受信側通信装置の動作］
次に、受信側通信装置２が、送信側通信装置１からセキュアな通信データを受信して、時刻情報の判定処理を行なう処理を説明する。
【００８０】
［Ｓ２０１］時刻同期
受信側通信装置２においても、送信側通信装置１と同様に、ネットワーク内の他の通信装置１０との間で時刻同期を行なう。つまり、制御部１１は、所定時間毎に、時刻同期部２３に対して時刻同期を要求する。そして、時刻同期部２３は、所定の時刻同期手法により時刻同期を行なう。
【００８１】
［Ｓ２０２］通信フレームの受信
通信部２４は、送信側通信装置１が送信した通信フレームを受信すると、受信した通信フレームを制御部２１に通知する。
【００８２】
制御部２１は、通信部２４が通信フレームを受信した受信時刻を記録し、当該受信時刻を受入れ判定部２２に通知する。また、制御部２１は、通信部２４が受信した通信フレームの受け入れの可否を、受入れ判定部２２に要求する。
【００８３】
また、制御部２１は、通信フレームの受信に係る受信確認応答を送信側通信装置１に送信することを、通信部１５に要求する。これを受けて、通信部１５は、当該通信フレームの受信に係る受信確認応答を、送信側通信装置１に送信する。
【００８４】
［Ｓ２０３］通信フレームの認証
受入れ判定部２２は、制御部２１から通信フレームを受け取ると、まず、認証部２２１が、通信フレームの認証を行なう。
【００８５】
認証部２２１は、受信した通信フレームに付加された認証コードと、受信した通信フレームのヘッダ、暗号化された通信データ及び時刻情報から算定した認証コードとを比較する。そして、両者の認証コードが等しければ、認証部２２１は通信フレームの受け入れを許可する。一方、両者の認証コードが異なれば、認証部２２１は通信フレームの受入れを許可せず、通信フレームは破棄される。
【００８６】
ここでは、認証部２２１による認証コードを用いた通信フレームの受け入れを判断している。認証部２２１は、通信フレームの受け入れを許可した場合、再生攻撃を防止するために、認証部２２１は、その通信フレームを時刻判定部２２２に通知する。
【００８７】
［Ｓ２０４］時刻の判定
時刻判定部２２２は、認証部２２１により受け入れ許可された通信フレームに格納されている時刻情報（すなわち、送信時刻）と、制御部２１から通知された通信フレームの受信時刻と差分値を算出する。
【００８８】
そして、送信時刻と受信時刻との差分値が許容範囲内であれば、通信フレームを受入れる。一方、上記差分値が許容範囲外であれば、通信フレームを破棄する。時刻判定部は、受け入れた通信フレームを重複判定部２２３に通知する。
【００８９】
なお、送信時刻と受信時刻との差分値を判定する許容範囲（時刻判定の許容範囲）の決定方法については後述する。
【００９０】
［Ｓ２０５］重複の判定
重複判定部２２３は、時刻判定部２２２から通信フレームを受信すると、その通信フレームと、メモリ２２５に保存されている重複確認のための情報（すなわち、過去に受信した通信フレーム）との比較を行なう。
【００９１】
重複判定部２２３は、今回受信した通信フレームと同じ通信フレームがメモリ２２５に保存されていた場合、今回受信した通信フレームは、過去に受信した通信フレームと重複するものと判定し、今回受信した通信フレームを破棄する。これにより、攻撃者が、時刻判定の許容範囲内に収まることを狙って、不正に通信フレームをネットワーク１００に投入した場合でも、その不正な通信フレームの受け入れを拒否することができる。
【００９２】
一方、今回受信した通信フレームと同じ通信フレームがメモリ２２５になければ、受信した通信フレームを受入れる。重複判定部２２３は受入れたフレームを重複情報管理部２２４に通知する。
【００９３】
［Ｓ２０６］重複情報の登録
重複情報管理部２２４は、時刻判定部２２２から受信した通信フレームと制御部２１から受信した通信フレームの受信時刻とをメモリ２２５に保存する。これにより、今回受け入れた通信フレーム及びその受信時刻を対応付けた情報を履歴として、メモリ２２５に保存することができる。
【００９４】
ここで、メモリ２２５に保存する情報は、特に指定しないが、例えば、後述する時刻判定の許容範囲の決定方法のときに、通信フレームを一意に特定することができる情報であれば、受信した通信フレーム（受け入れを許可した通信フレーム）をそのままメモリ２２５に保存してもよいし、通信フレームのヘッダに含まれるシーケンス番号だけを抜き出してメモリ２２５に保存してもよい。
【００９５】
［Ｓ２０７］重複情報の管理
重複情報管理部２２４は、例えばＦＩＦＯ方式でメモリ２２５に記録されている通信フレームを管理する。例えばメモリ２２５において、最大Ｎ個の通信フレームだけが記録されているようにする。
【００９６】
また、重複情報管理部２２４は、受信された通信フレームに関する情報がメモリ２２５に記録されてから最長保持期間Ｔ２秒以上経過した通信フレームに関する情報を削除する。これにより、メモリ２２５には、常に、直近のＴ２秒以内に、受入れた通信フレームに関する情報だけが記録されている状態を維持することができる。
【００９７】
［時刻判定の許容範囲の決定方法］
続いて、この実施形態に係る時刻判定の許容範囲の決定方法を、図５を参照しながら説明する。
【００９８】
図５は、この実施形態に係る時刻判定の許容範囲の決定方法を説明する説明図である。
【００９９】
図５において、「Ｔｐ」は、時刻判定の許容範囲（時間幅）を示している。また、「Ｘ」は、受信側通信装置２における通信フレームの受信時刻を示している。「Ｓ」は、送信側通信装置１と受信側通信装置２との間の時刻のずれ（すなわち、厳密に時刻が同期していないときの時刻のずれ）や、通信フレームの到着遅延等を考慮した時間許容幅（時間幅）を示している。
【０１００】
さらに、「Ｒ」は、送信側通信装置１が通信フレームを再送する最大再送回数を示しており、「Ｔ］は、間欠動作に係る間欠周期を示している。従って、「Ｒ×Ｔ（＝Ｒ・Ｔ）」は、正しい通信フレーム又は再送された通信フレームが受信され得る区間（時間幅）を示している。
【０１０１】
時刻判定の許容範囲Ｔｐは、少なくとも、最大再送回数Ｒ（回）、受入れ済みの通信フレームの保持個数（メモリ２２５の最大保持個数）Ｎ（個）、間欠周期Ｔ、および、受入れ済みの通信フレームの最長保持期間（メモリ２２５の最長保持期間）Ｔ２を用いて決定する。
【０１０２】
受入れ済みの通信フレームがメモリ２２５に保持されている最短期間Ｔ３を求める。上記最短期間Ｔ３は、通信フレームがメモリ２２５に記録されてから、さらにＮ個の異なる通信フレームを受信するまでの最短時間Ｎ・Ｔと、受入れ済みの通信フレームの最長保持期間Ｔ２とのいずれか短い方の値とすることができる。すなわち、上記最短期間Ｔ３は、（１）式のように表すことができる。
Ｔ３＝Ｍｉｎ（Ｔ２，Ｎ・Ｔ）    …（１）
【０１０３】
許容できる時刻同期のずれ・到達遅延の時間許容幅Ｓは、上記最大再送回数Ｒ，上記間欠周期Ｔ，上記最短期間Ｔ３を用いて、（２）式で表すことができる。
Ｓ＝（Ｔ３−Ｒ・Ｔ）／２    …（２）
【０１０４】
ここで、時間許容幅Ｓの導出について説明する。最も再生攻撃を受けやすいのは、送信側通信装置１と受信側通信装置２との間で厳密に時刻が同期していない場合の時刻のずれや、ネットワーク上に伝送される通信フレームの伝送遅延時間（到達遅延時間）を狙ったものである。
【０１０５】
例えば、送信側通信装置１が受信側通信装置２に対して時刻「＋Ｓ」だけずれているものとする。このような例の場合、受信側通信装置２が通信フレームを受信した受信時刻が「Ｘ」であるとすると、時刻情報「Ｘ＋Ｓ」が通信フレームに格納されているとみることができる。なお、ここでは、説明を簡単にするため、送受信に係る処理時間を０と考えて説明している。
【０１０６】
従って、上記のような時刻のずれや到達遅延時間を示す時間許容幅「Ｓ」をどの程度の時間幅に設定して、時刻判定の許容範囲Ｔｐを決定するかが問題となる。
【０１０７】
ここで、通信フレームの受信時刻Ｘを基準とすると、通信フレームの受信時刻と通信フレームに格納されている時刻情報（送信時刻）との差分値が、時刻判定の許容範囲内Ｔｐ（すなわち、受信時刻Ｘを基準に、「−Ｓ」から「Ｒ・Ｔ＋Ｓ」までの範囲内）であれば、通信フレームは受け入れられる。
【０１０８】
換言すると、再生攻撃を行なう攻撃者は、受信時刻が「Ｘ＋Ｒ・Ｔ＋２Ｓ」となるように、通信フレームをネットワーク１００に投入すると、通信フレームが受け入れられてしまう。
【０１０９】
そこで、再生攻撃を防止するためには、受入れ済の通信フレームに関する情報が、メモリ２２５で「Ｘ＋Ｔ３＝Ｘ＋Ｒ・Ｔ＋２Ｓ」まで記録しておく必要がある。そのため、時間許容幅Ｓは、（２）式のように表すことができる。
【０１１０】
送信側通信装置１と受信側通信装置２との間で時刻が厳密に同期されている場合に通信フレームを受信する可能性のある時間幅に加え、Ｓを考慮することで時刻判定の許容範囲を決めた場合、（３）式を満たす場合に、通信フレームを受け入れる。
−Ｓ＜（受信時刻−通信フレームに格納された時刻情報）＜Ｒ・Ｔ＋Ｓ  …（３）
【０１１１】
換言すると、通信フレームの受信時刻と、通信フレームに格納されている時刻情報との差分値が、時刻判定の許容範囲内にある場合に、通信フレームを受け入れる。
【０１１２】
このとき、時刻判定の許容範囲の下限値は、「−Ｓ」の値となる。具体的には、上記（２）式より、−Ｓ＝−（Ｔ３−Ｒ・Ｔ）／２）で導出される値となる。換言すると、時刻判定の許容範囲の下限値は、メモリ２２５の最短保持時間Ｔ３から、最大再送回数Ｒ及び間欠周期Ｔの積を減算して得た値（Ｔ３−Ｒ・Ｔ）の半分の値である。
【０１１３】
一方、時刻判定の許容範囲の上限値は、「Ｒ・Ｔ＋Ｓ」の値となる。具体的には、上記（２）式より、Ｒ・Ｔ＋Ｓ＝Ｒ・Ｔ＋｛（Ｔ３−Ｒ・Ｔ）／２｝＝（Ｔ３＋Ｒ・Ｔ）／２の値となる。換言すると、メモリ２２５の最短保持時間Ｔ３に、最大再送回数Ｒ及び間欠周期Ｔの積を加算して得た値（Ｔ３＋Ｒ・Ｔ）の半分の値である。
【０１１４】
上述したように、時刻判定の許容範囲は、時間ずれ・到着遅延の時間許容幅Ｓの値により決定することができる。また、時間許容幅Ｓは、上記（１）式及び（２）式より、過去の受入れ済みの通信フレームを保持するメモリ２２５の最短期間Ｔ３に依存するものであり、この保持期間Ｔ３は、メモリ２２５に保持する通信フレームの個数や、メモリ２２５の最長保持期間Ｔ２に依存する。
【０１１５】
従って、メモリ２２５が保持する過去の受入れ済みの通信フレームの個数や、メモリ２２５の最長保持期間Ｔ２の値を決定することで、時刻判定の許容範囲を決定することができる。
【０１１６】
換言すると、時刻判定の許容範囲によって、メモリ２２５が保持する過去の受入れ済みの通信フレームの個数や、メモリ２２５の最長保持期間Ｔ２の値を決定することができる。
【０１１７】
（Ａ−３）実施形態の効果
以上のように、この実施形態によれば、送信側通信装置は、送信する通信フレームに送信時の時刻を格納して通信する。受信側通信装置は、通信フレームを受信すると、受信時刻を記録し、受信した通信フレームに格納された送信時刻と記録した受信時刻を比較して通信フレームの受入れを判定する。
【０１１８】
さらに、記録してある受入れ済みの通信フレームを利用して通信フレームの重複を判定する。
【０１１９】
少なくとも通信フレームの最大再送回数、間欠周期および重複判定情報の保持期間から許容範囲の期間を決めることで、過去の通信フレームを受信時刻が許容範囲になるように再投入された場合でも、重複判定手段によって攻撃を防ぐことができる。
【０１２０】
また、許容したい時刻同期のずれや到達遅延の要求値から重複判定情報の保持期間を求めることも可能であり、厳密に時刻が同期されていないネットワークにおいても、再生攻撃を防止することが可能である。
【０１２１】
（Ｂ）他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに以下に例示するような変形実施形態を挙げることができる。
【０１２２】
（Ｂ−１）上述した実施形態では、送信側通信装置の時刻格納部は、受信側通信装置がアクティブ状態になるまで待機した後、通信フレームの送信直前に時刻情報を格納する構成例を説明したが、これに限定するものではない。例えば、通信フレームを作成した後に時刻情報を格納し、その後に受信側通信装置がアクティブ状態になるまで待機する構成でもよい。その場合は、受信側通信装置の時刻判定部で確認する時刻の許容範囲に受信側通信装置がアクティブ状態になるまで待機時間を含めてもよい。
【０１２３】
（Ｂ−２）上述した実施形態で例示した図３の通信フレームの構成例は一例であり、これに限定するものではない。例えば、記載した情報以外にノンスを含んでもよい。
【０１２４】
（Ｂ−３）上述した実施形態では、受信側通信装置で認証（認証コードを用いた認証）を行なった後に、時刻判定を行なう場合を例示したが、これに限定するものではない。すなわち、受信側通信装置は、時刻判定を行なった後に、認証コードを用いた認証を行なうようにしてもよい。
【０１２５】
（Ｂ−４）上述した実施形態では、送信側通信装置で通信データを暗号化して通信フレームに、暗号化した通信データを格納する場合を例示したが、これに限定するものではない。すなわち、送信側通信装置で通信データを暗号化せずに、通信フレームに通信データ（暗号化していない通信データ）を格納して送信してもよい。
【０１２６】
（Ｂ−５）上述した実施形態では、受信側通信装置の重複情報管理部は、通信フレームの種別によらず、最大Ｎ個の通信フレームを、メモリに記録する場合を例示したが、これに限定するものではない。メモリにおいて、例えば、制御フレームの種別ごとや、送信元のアドレスごとに、最大Ｎ個の通信フレームをメモリに記録してもよい。
【０１２７】
（Ｂ−６）上述した実施形態では、重複判定情報の保持期間が先に決まっているときに、時刻判定の許容範囲を決める方法を説明したが、これに限定されるものではない。例えば、許容したい時刻ずれの値を先に設定し、その値に合わせて許容範囲を決め、重複判定情報の保持期間を求めてもよい。
【符号の説明】
【０１２８】
１００…ネットワーク、１…送信側通信装置（データ送信装置）、１１…制御部１１…フレーム作成部、１３…時刻同期部、１４…時刻格納部、１５…通信部、２…受信側通信装置（データ受信装置）、２１…制御部、２２…受入れ判定部、２２１…認証部、２２２…時刻判定部、２２３…重複判定部、２２４…重複情報管理部、２２５…メモリ、２３…時刻同期部、２４…通信部。
【図１】
2020028063.tif 000003
【図２】
2020028063.tif 000004
【図３】
2020028063.tif 000005
【図４】
2020028063.tif 000006
【図５】
2020028063.tif 000007