JP2020028063A - データ受信装置、データ受信方法及び通信システム - Google Patents
データ受信装置、データ受信方法及び通信システム Download PDFInfo
- Publication number
- JP2020028063A JP2020028063A JP2018152867A JP2018152867A JP2020028063A JP 2020028063 A JP2020028063 A JP 2020028063A JP 2018152867 A JP2018152867 A JP 2018152867A JP 2018152867 A JP2018152867 A JP 2018152867A JP 2020028063 A JP2020028063 A JP 2020028063A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- time
- communication frame
- unit
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】時刻ずれに係る時間幅を考慮した時刻判定の許容範囲を決定し、不正な通信フレームの受入れを判定することができるデータ受信装置を提供する。【解決手段】通信装置10において、データ送信装置1から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信装置2は、通信部24と、通信フレームを受け入れるか否かを判定する受入れ判定部22とを備える。受入れ判定部22は、過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って保持する受入れ情報保持部225と、通信フレームに含まれる認証情報を用いて認証確認を行なう認証部221と、通信フレームの受信時刻と当該通信フレームに含まれている時刻情報との比較結果が、保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する時刻判定部222とを有する。【選択図】図1
Description
本発明は、データ受信装置、データ受信方法及び通信システムに関し、例えば、セキュア通信を行なうネットワークを構成する通信装置に適用し得るものである。
例えば、無線マルチホップ方式を採用したメッシュネットワークでは、ある通信装置が不特定多数の隣接装置と通信するため、通信装置間で行なわれるデータ通信のセキュリティを確保する必要がある。
特に、攻撃者がある時点で通信フレームを傍受し、後に当該通信フレームを再投入して、当該通信フレームを新たに発生した通信フレームとして受信装置に再び受け入れさせる攻撃がある。このような攻撃は再生攻撃と呼ばれる。
従来の通信システムでは、このような再生攻撃を防止するため、セキュア通信(暗号化通信)が行なわれる。通信装置間で秘密に共有する共通鍵(ネットワーク共通鍵)を利用して通信データに認証コード(例えば、MAC:Message Authentication Code)を付加することで、受信装置は通信データに改竄やなりすましがないことを確認することができる。
しかし、共通鍵を利用した通信だけでは、再生攻撃を十分に防止することができないことがある。なぜなら、過去に生成された通信フレームも、通信装置間で共通鍵を用いて正しく変換されてしまうことがあるため、受信装置において受信データの認証が成功してしまうことがあるからである。
このような再生攻撃を防止する方法のうち、ネットワーク内の全通信装置の間で時刻情報を利用する技術が知られている。例えば、特許文献1には、以下のような方法が開示されている。通信フレームを送信する通信装置は、通信フレームの送信時刻を通信フレーム内に格納して送信する。そして、通信フレームを受信した通信装置は、受信した通信フレーム内に格納された送信時刻と、その通信フレームの受信時刻とを比較して、両者が許容範囲内にあれば受信した通信フレームが正しい通信フレームであるとして受け入れ、両者が許容範囲外であれば、再生攻撃が行なわれたとして受信した通信フレームを破棄する。この手法により、送信時刻が許容範囲外にある通信フレームの利用の防止が可能となる。
しかしながら、上述した従来技術のように、時刻情報を利用して再生攻撃を防止する方法では、どの程度の許容範囲を設定すれば、再生攻撃を防止できるのかが明確ではなかった。許容範囲を狭くした場合は、時刻同期のずれや通信フレームの到達時間の遅延の影響で、正しい通信フレームを再生攻撃と誤判定して破棄する可能性がある。許容範囲を広くした場合は、不正な通信フレームの投入を許す範囲が増えてしまう。
また、時刻情報を用いて再生攻撃対策を行なう場合、厳密な時刻同期が必要となり、厳密な時刻同期のための通信により通信負荷が増大してしまうという課題がある。
そのため、送信側通信装置と受信側通信装置との間で厳密な時刻同期がなされていない場合でも、時刻ずれに係る時間幅を考慮した、時刻判定の許容範囲を決定して、不正な通信フレームの受入れを判定することができるデータ受信装置、データ受信方法及び通信システムが求められている。
かかる課題を解決するために、第1の本発明に係るデータ受信装置は、データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信装置において、(1)通信フレームを受信する通信手段と、(2)通信手段により受信された通信フレームを受け入れるか否かを判定する受入れ判定手段とを備え、受入れ判定手段が、(2−1)過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って保持する受入れ情報保持部と、(2−2)通信手段により受信された通信フレームに含まれる認証情報を用いて認証確認を行なう認証部と、(2−3)通信手段における通信フレームの受信時刻と当該通信フレームに含まれている時刻情報との比較結果が、受入れ情報保持部の保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する時刻判定部とを有することを特徴とする。
第2の本発明に係るデータ受信方法は、データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信方法において、(1)通信手段が、通信フレームを受信し、通信手段により受信された通信フレームを受け入れるか否かを判定する受入れ判定手段が、(2)過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って受入れ情報保持部で保持し、(3)通信手段により受信された通信フレームに含まれる認証情報を用いて認証確認をし、(4)通信手段における通信フレームの受信時刻と当該通信フレームに含まれている時刻情報との比較結果が、受入れ情報保持部の保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定することを特徴とする。
第3の本発明に係る通信システムは、時刻情報及び認証情報を含んだ通信フレームを送信するデータ送信装置と、第1の本発明に係るデータ受信装置とを備えることを特徴とする。
本発明によれば、送信側通信装置と受信側通信装置との間で厳密な時刻同期がなされていない場合でも、時刻ずれに係る時間幅を考慮した、時刻判定の許容範囲を決定して、不正な通信フレームの受入れを判定することができる。
(A)主たる実施形態
以下では、本発明に係るデータ受信装置、データ受信方法及び通信システムの実施形態を、図面を参照しながら詳細に説明する。
以下では、本発明に係るデータ受信装置、データ受信方法及び通信システムの実施形態を、図面を参照しながら詳細に説明する。
(A−1)実施形態の構成
[ネットワーク構成]
図2は、この実施形態に係るネットワーク(通信システム)の全体構成の一例を示す全体構成図である。
[ネットワーク構成]
図2は、この実施形態に係るネットワーク(通信システム)の全体構成の一例を示す全体構成図である。
図2に示すように、この実施形態に係るネットワーク100は、複数の通信装置10を有する。また、ネットワーク100は、無線マルチホップ方式を採用した省電力無線通信システムを構成しており、そのネットワークトポロジーがメッシュネットワークである場合を想定して説明する。
なお、実施形態に係る通信システムは、送信側の通信装置と受信側の通信装置との間でセキュアな通信(暗号化通信)を行なうものであれば広く適用できる。従って、無線通信方式は、無線マルチホップ方式に限定されるものではない。さらに、ネットワーク100のトポロジーも、メッシュネットワークに限定されるものではない。
メッシュネットワークとは、通信装置10同士が相互に通信を行なうことで、網(ネットワーク)をメッシュ状に形成される通信ネットワークである。
メッシュネットワークに参加する各通信装置10は、自装置の通信可能範囲内に存在する他の通信装置(隣接装置)と通信する。また、自装置の通信可能範囲を越えて遠隔に存在する他の通信装置10と通信する場合には、自装置と宛先の通信装置との間に存在する他の通信装置が、自装置が送信した通信データをバケツリレー方式で中継しあい、宛先の通信装置10に向けて通信データを配送するマルチホップ通信を行なう。
このように、メッシュネットワークでは、ネットワークに参加する個々の通信装置10が隣接装置と通信できれば良いので、比較的弱い送信出力で通信することも可能である。
メッシュネットワークは、いずれかの通信装置10が破損したり又はネットワークから離脱したりする等の障害が発生しても、代替経路を確保し易い。従って、例えば、スター型ネットワークのように、中心となる通信装置に障害が起きたときに通信不能となるネットワークと比較して、メッシュネットワークは障害に強いという利点がある。
メッシュネットワークが設置される環境によっては、電源を確保することが難しい場合がある。このような環境の場合、通信装置10は電池駆動で動作して、ネットワークを構築することができる。
通信装置10を電池駆動で動作させる場合、通信装置10は間欠動作することによって電池寿命を向上させることができる。間欠動作とは、通信装置10が通信を行わないスリープ状態と通信を行うアクティブ状態を周期的に切り替える省電力制御技術のことである。
通信装置10が間欠動作をするときの通信データの送受信の一例を説明する。通信装置10は基本的にはスリープ状態にあり、所定期間毎に、通信装置10は、アクティブ状態になる。アクティブ状態となった通信装置10は、受信するデータがあるか否かを確認する。
間欠動作する通信装置10間の通信では、送信側の通信装置10は、受信側の通信装置10がアクティブ状態のときに通信データを送信する必要がある。そのため、送信側の通信装置10は送信するデータがあることを示すパケット(ウェイクアップパケットとも呼ぶ。)を、受信側の通信装置10のスリープ期間の間だけ送信する。
ウェイクアップパケットにはデータ送信タイミングが含まれている。従って、ウェイクアップパケットを受信した受信側の通信装置10は、ウェイクアップパケットに含まれるデータ送信タイミングでアクティブ状態になり、通信データを受信する。このように間欠動作する通信装置10間の通信では、1パケットの送信にスリープ期間(間欠期間)の時間を要する。
[通信装置10の内部構成]
図1は、この実施形態に係る通信装置10の内部構成を示す内部構成図である。
図1は、この実施形態に係る通信装置10の内部構成を示す内部構成図である。
図1では、説明を容易にするために、送信側通信装置(以下、「データ送信装置」とも呼ぶ。)1は、受信側通信装置2に通信フレームを送信する装置とし、受信側通信装置(以下、「データ受信装置」とも呼ぶ。)2は、送信側通信装置1から送信された通信フレームを受信する装置としているが、各通信装置10は、送信側通信装置1の機能と受信側通信装置2の機能との両方を備えた装置としてもよいことは当然である。
[送信側通信装置1の内部構成]
図1において、送信側通信装置1は、制御部11、フレーム作成部12、時刻同期部13、時刻格納部14、通信部15を有する。
図1において、送信側通信装置1は、制御部11、フレーム作成部12、時刻同期部13、時刻格納部14、通信部15を有する。
送信側通信装置1のハードウェア構成は図示しないが、例えば、送信側通信装置1は、プロセッサ、メモリ、通信インタフェース等を有するとすることができる。そして、プロセッサ(コンピュータ)がメモリに格納されている処理プログラム(例えば、通信プログラム)を実行することにより、送信側通信装置1の各種機能が実現される。また、通信プログラムがインストールされることにより、通信方法を構築するようにしてもよい。
制御部11は、送信側通信装置1の各種機能を司る処理部である。制御部11は、所定時間が経過すると、時刻同期部13に対して、ネットワーク100内での時刻同期を要求する。
制御部11は、受信側通信装置2の間欠動作に合わせて、通信部15の通信動作を制御する。例えば、制御部11は、通信部15に対して、受信側通信装置2宛にウェイクアップフレームを送信させる。そして、受信側通信装置2が受信可能になるタイミングまで待ってから、制御部11は通信部15にデータフレームを送信させる。
制御部11は、通信データの暗号化とヘッダの付加を、フレーム作成部12に要求する。制御部11は、フレーム作成部12から通信フレームを受け取ると、受信側通信装置2がアクティブ状態になるまで待機する。そして、受信側通信装置2がアクティブ状態になると、制御部11は、通信フレームへの時刻情報(送信時刻)の格納と認証コードの付加を、時刻格納部14に要求する。更に、制御部11が時刻格納部14から時刻情報(送信時刻)を格納した通信フレームを受け取ると、制御部11は通信部15に対して通信フレームの送信を要求する。
さらに、制御部11は、通信部15が通信フレームを送信した後、所定時間内に、受信確認応答の受信を確認する。そして、受信確認応答の受信がなければ、制御部11は、通信部15に対して、通信フレームの再送を要求する。
ここで、受信確認応答は、受信側通信装置2が送信側通信装置1からの通信フレームの受信を成功した際に、受信側通信装置2が送信側通信装置1に送信する確認応答情報である。受信確認応答は、少なくとも送信側通信装置1のアドレス情報を含むものである。
時刻同期部13は、ネットワーク内の他の通信装置10と時刻同期を行なうものである。
通信部15は、他の通信装置10と無線で送受信する手段を有する。
フレーム作成部12は、ネットワーク共通鍵を用いて、通信データを暗号化すると共に、暗号化後の通信データにヘッダを付加して通信フレームを作成する。
ここで、暗号化処理には、共通鍵暗号化方式を適用することができるが、具体的なアルゴリズムについては特に指定しない。例えばAES(Advanced Encryption Standard)などのブロック暗号化方式を利用して、通信データを暗号化してもよい。
時刻格納部14は、通信フレーム内に、時刻情報を格納する。さらに、時刻格納部14は、少なくとも、暗号化された通信データ、ヘッダ、および時刻情報をもとに認証コードを作成し、作成した認証コードを通信フレームに付加する。
ここで、時刻情報は、時刻同期部13によりネットワーク内で同期された時刻情報である。また、認証コードの算定方式については特に指定しないが、EMAC(Keyed−Hashing for Message Authentication)等の鍵付きハッシュ関数を利用して算出してもよい。
[受信側通信装置2の内部構成]
図1において、受信側通信装置2は、制御部21、受入れ判定部22、時刻同期部23、通信部24を有する。
図1において、受信側通信装置2は、制御部21、受入れ判定部22、時刻同期部23、通信部24を有する。
受信側通信装置2のハードウェア構成は図示しないが、例えば、受信側通信装置2は、プロセッサ、メモリ、通信インタフェース等を有するとすることができる。そして、プロセッサ(コンピュータ)がメモリに格納されている処理プログラム(例えば、通信プログラム)を実行することにより、受信側通信装置2の各種機能が実現される。また、通信プログラムがインストールされることにより、通信方法を構築するようにしてもよい。
制御部21は、所定時間毎に、時刻同期部23に対して、ネットワーク内での時刻同期を要求する。
制御部21は、通信部24を間欠動作させる手段を有する。例えば、制御部21は、送信側通信装置1から受け取ったウェイクアップフレームに記載されたデータ送信タイミングで、通信部24を動作させることで間欠動作によるデータフレームの受信を実現する。なお、受信側通信装置2は、1回のアクティブ状態のときに1回の通信フレームの受信のみ可能である。
制御部21は、通信部24から通信フレームを受け取ると、受信確認応答の送信を通信部24に要求する。また、制御部21は、通信部24から通信フレームを受け取ると、通信フレームの受信時刻を記録し、通信フレームを受入れるか否かの判定を受入れ判定部22に要求する。
通信部24は、他の通信装置10と無線で送受信する手段を有する。
時刻同期部23は、ネットワーク内の他の通信装置10と時刻同期を行う手段を有する。
受入れ判定部22は、再生攻撃を防ぐために、受信した通信フレームの受入れ判定を行なうものである。受入れ判定部22は、認証部221、時刻判定部222、重複判定部223、重複情報管理部224、メモリ225を有する。
認証部221は、受信した通信フレームの認証を行なう。認証部221は、受け入れた通信フレームに格納されている時刻情報の確認を時刻判定部222に要求する。
時刻判定部222は、受信した通信フレームの時刻情報の値により、通信フレームの受入れの判定を行う手段を有する。
具体的には、時刻判定部222は、受信した通信フレームに格納されている時刻情報と通信フレームの受信時刻とを比較し、両者の差分値が許容範囲内にあるか否かを判定する。そして、差分値が許容範囲内にあれば、通信フレームを受け入れる。差分値が許容範囲内になければ通信フレームは破棄される。
また、時刻判定部222は、受け入れた通信フレームの重複の確認を重複判定部223に要求する。
重複判定部223は、時刻判定部222が受入れた通信フレームとメモリに記録された通信フレームを比較し、受入れの判定を行う手段を有する。重複判定部223は、受入れた通信フレームの記録を重複情報管理部224に要求する。
重複情報管理部224では、重複判定部223で重複を判定する際に参照する情報を管理する手段を有する。重複情報管理部224は、重複判定部223が受入れた通信フレームと制御部21から通知されたその通信フレームの受信時刻をメモリ225に記録する。
メモリ225は、重複判定部223で重複を判定する際に参照する情報を記録する手段を有する。
(A−2)実施形態の動作
次に、この実施形態に係るネットワーク100における通信処理の動作を、図面を参照しながら詳細に説明する。
次に、この実施形態に係るネットワーク100における通信処理の動作を、図面を参照しながら詳細に説明する。
[実施形態の基本的な概念]
ネットワーク100内の各通信装置10間で通信フレームの送受信を行なう場合、送信側通信装置1は、通信フレームに送信時の時刻情報を格納して通信する。
ネットワーク100内の各通信装置10間で通信フレームの送受信を行なう場合、送信側通信装置1は、通信フレームに送信時の時刻情報を格納して通信する。
受信側通信装置2が通信フレームを受信すると、受信側通信装置2は、通信フレームの受信時刻を記録する。そして、受信した通信フレームに格納されている送信時刻と通信フレームの受信時刻とを比較し、その比較結果(差分値)が許容範囲内にあれば通信フレームを受入れ、比較結果(差分値)が許容範囲外であれば通信フレームを破棄する。
しかし、例えば、受信側通信装置2における通信フレームの受信時刻が許容範囲内になることを狙って、攻撃者が通信フレームをネットワーク100に投入すると、受信側通信装置2は通信フレームを受け入れてしまい、再生攻撃が成功してしまう。
そこで、この実施形態では、受信側通信装置2において、直近に受信して受け入れた所定数の通信フレームを記録しておく。
さらに、所定数の過去に受信した通信フレームと、今回受信した通信フレームと比較することで、受信時刻が許容範囲内であっても、過去に受信した通信フレームであれば、重複と判定し通信フレームを破棄する。
[送信側通信装置の動作]
図4は、この実施形態に係る送信側通信装置1及び受信側通信装置2における通信処理の動作を示すフローチャートである。
図4は、この実施形態に係る送信側通信装置1及び受信側通信装置2における通信処理の動作を示すフローチャートである。
以下では、図4を参照しながら、送信側通信装置1における処理動作を説明した後に、受信側通信装置2における処理動作を説明する。
まず、送信側通信装置1が、受信側通信装置2に、セキュアな通信データ(暗号化処理された通信データ)を送信する処理を説明する。
[S101]時刻同期
各通信装置10は、通信フレームの授受の前に、ネットワーク100内の他の通信装置10との間で時刻同期を行なう必要がある。
各通信装置10は、通信フレームの授受の前に、ネットワーク100内の他の通信装置10との間で時刻同期を行なう必要がある。
そのため、送信側通信装置1では、制御部11が、所定時間毎に、時刻同期部13に対して時刻同期を要求する。これを受けて、時刻同期部13は、所定の時刻同期手法により他の通信装置10との間で時刻同期を行なう。ここで、時刻同期手法は、種々の方法を適用することができる。例えば、時刻同期部13は、NTP(Network Time Protocol)に従って、ネットワーク100内のNTPサーバに時刻情報を問い合わせて、時刻同期部13は時刻情報を取得して時刻同期をするようにしてもよい。なお、時刻同期部13は、これに限定されず、別の方式を使用してもよい。時刻同期部13は、時刻同期を行う際に通信部15を介して通信を行ってもよいし、別の通信手段(図示しない)を用いて通信してもよい。
[S102]通信フレームの作成
送信側通信装置1において、受信側通信装置2に送信する通信データが発生すると、制御部11は、フレーム作成部12に対して、当該通信データの暗号化とヘッダの付加を要求する。
送信側通信装置1において、受信側通信装置2に送信する通信データが発生すると、制御部11は、フレーム作成部12に対して、当該通信データの暗号化とヘッダの付加を要求する。
フレーム作成部12は、通信データを受信すると、受信した通信データを、ネットワーク共通鍵を用いて暗号化する。フレーム作成部12は、暗号化された通信データに対してヘッダを付加して制御部11に通知する。
[S103]送信待機
制御部11は、フレーム作成部12からセキュアな通信フレームを受け取ると、通信部15にウェイクアップフレームの送信を要求し、受信側通信装置2が受信可能な状態になるまで待機する。
制御部11は、フレーム作成部12からセキュアな通信フレームを受け取ると、通信部15にウェイクアップフレームの送信を要求し、受信側通信装置2が受信可能な状態になるまで待機する。
制御部11は、受信側通信装置2が受信可能な状態(アクティブ状態)になると、時刻格納部14に対して、時刻情報の格納と認証コードの付加を要求する。
[S104]時刻情報の格納
時刻格納部14は、通信フレームに時刻情報を格納すると共に、少なくとも暗号化された通信データと、ヘッダと、格納した時刻情報とに基づいて認証コードを算定し、その認証コードを通信フレームに付加した後、制御部11に通知する。
時刻格納部14は、通信フレームに時刻情報を格納すると共に、少なくとも暗号化された通信データと、ヘッダと、格納した時刻情報とに基づいて認証コードを算定し、その認証コードを通信フレームに付加した後、制御部11に通知する。
図3は、実施形態に係る通信フレームの構成例を示す構成図である。時刻格納部14は、図3に例示するように、ヘッダと、暗号化された通信データと、時刻情報と、認証コードとを含む通信フレームを制御部11に通知する。
[S105]通信フレームの送信
制御部11は、時刻格納部14から通信フレームを受信すると、通信部15に通信フレームの送信を要求する。通信部15は、送信を要求されると受信側通信装置2に通信フレームを送信する。
制御部11は、時刻格納部14から通信フレームを受信すると、通信部15に通信フレームの送信を要求する。通信部15は、送信を要求されると受信側通信装置2に通信フレームを送信する。
[S106]再送処理
通信部15は、通信フレームを送信した後に、受信側通信装置2からの受信確認応答を受信すると、送信成功を制御部11に通知する。
通信部15は、通信フレームを送信した後に、受信側通信装置2からの受信確認応答を受信すると、送信成功を制御部11に通知する。
制御部11は、S105の通信フレームの送信後一定時間以内に通信部15からの通知があれば、送信が成功したと判断して何もしない。一方、一定時間以内に通信部15からの通知がなければ、送信が失敗したと判断し、S103、S104で作成した通信フレームの再送を通信部15に要求する。この送信失敗と判断する時間の上限は、最大でも間欠周期T秒である。制御部11は、送信成功の通知がなければ、再送処理を1つの通信フレームの送信につきR回だけ繰り返して行う。
[受信側通信装置の動作]
次に、受信側通信装置2が、送信側通信装置1からセキュアな通信データを受信して、時刻情報の判定処理を行なう処理を説明する。
次に、受信側通信装置2が、送信側通信装置1からセキュアな通信データを受信して、時刻情報の判定処理を行なう処理を説明する。
[S201]時刻同期
受信側通信装置2においても、送信側通信装置1と同様に、ネットワーク内の他の通信装置10との間で時刻同期を行なう。つまり、制御部11は、所定時間毎に、時刻同期部23に対して時刻同期を要求する。そして、時刻同期部23は、所定の時刻同期手法により時刻同期を行なう。
受信側通信装置2においても、送信側通信装置1と同様に、ネットワーク内の他の通信装置10との間で時刻同期を行なう。つまり、制御部11は、所定時間毎に、時刻同期部23に対して時刻同期を要求する。そして、時刻同期部23は、所定の時刻同期手法により時刻同期を行なう。
[S202]通信フレームの受信
通信部24は、送信側通信装置1が送信した通信フレームを受信すると、受信した通信フレームを制御部21に通知する。
通信部24は、送信側通信装置1が送信した通信フレームを受信すると、受信した通信フレームを制御部21に通知する。
制御部21は、通信部24が通信フレームを受信した受信時刻を記録し、当該受信時刻を受入れ判定部22に通知する。また、制御部21は、通信部24が受信した通信フレームの受け入れの可否を、受入れ判定部22に要求する。
また、制御部21は、通信フレームの受信に係る受信確認応答を送信側通信装置1に送信することを、通信部15に要求する。これを受けて、通信部15は、当該通信フレームの受信に係る受信確認応答を、送信側通信装置1に送信する。
[S203]通信フレームの認証
受入れ判定部22は、制御部21から通信フレームを受け取ると、まず、認証部221が、通信フレームの認証を行なう。
受入れ判定部22は、制御部21から通信フレームを受け取ると、まず、認証部221が、通信フレームの認証を行なう。
認証部221は、受信した通信フレームに付加された認証コードと、受信した通信フレームのヘッダ、暗号化された通信データ及び時刻情報から算定した認証コードとを比較する。そして、両者の認証コードが等しければ、認証部221は通信フレームの受け入れを許可する。一方、両者の認証コードが異なれば、認証部221は通信フレームの受入れを許可せず、通信フレームは破棄される。
ここでは、認証部221による認証コードを用いた通信フレームの受け入れを判断している。認証部221は、通信フレームの受け入れを許可した場合、再生攻撃を防止するために、認証部221は、その通信フレームを時刻判定部222に通知する。
[S204]時刻の判定
時刻判定部222は、認証部221により受け入れ許可された通信フレームに格納されている時刻情報(すなわち、送信時刻)と、制御部21から通知された通信フレームの受信時刻と差分値を算出する。
時刻判定部222は、認証部221により受け入れ許可された通信フレームに格納されている時刻情報(すなわち、送信時刻)と、制御部21から通知された通信フレームの受信時刻と差分値を算出する。
そして、送信時刻と受信時刻との差分値が許容範囲内であれば、通信フレームを受入れる。一方、上記差分値が許容範囲外であれば、通信フレームを破棄する。時刻判定部は、受け入れた通信フレームを重複判定部223に通知する。
なお、送信時刻と受信時刻との差分値を判定する許容範囲(時刻判定の許容範囲)の決定方法については後述する。
[S205]重複の判定
重複判定部223は、時刻判定部222から通信フレームを受信すると、その通信フレームと、メモリ225に保存されている重複確認のための情報(すなわち、過去に受信した通信フレーム)との比較を行なう。
重複判定部223は、時刻判定部222から通信フレームを受信すると、その通信フレームと、メモリ225に保存されている重複確認のための情報(すなわち、過去に受信した通信フレーム)との比較を行なう。
重複判定部223は、今回受信した通信フレームと同じ通信フレームがメモリ225に保存されていた場合、今回受信した通信フレームは、過去に受信した通信フレームと重複するものと判定し、今回受信した通信フレームを破棄する。これにより、攻撃者が、時刻判定の許容範囲内に収まることを狙って、不正に通信フレームをネットワーク100に投入した場合でも、その不正な通信フレームの受け入れを拒否することができる。
一方、今回受信した通信フレームと同じ通信フレームがメモリ225になければ、受信した通信フレームを受入れる。重複判定部223は受入れたフレームを重複情報管理部224に通知する。
[S206]重複情報の登録
重複情報管理部224は、時刻判定部222から受信した通信フレームと制御部21から受信した通信フレームの受信時刻とをメモリ225に保存する。これにより、今回受け入れた通信フレーム及びその受信時刻を対応付けた情報を履歴として、メモリ225に保存することができる。
重複情報管理部224は、時刻判定部222から受信した通信フレームと制御部21から受信した通信フレームの受信時刻とをメモリ225に保存する。これにより、今回受け入れた通信フレーム及びその受信時刻を対応付けた情報を履歴として、メモリ225に保存することができる。
ここで、メモリ225に保存する情報は、特に指定しないが、例えば、後述する時刻判定の許容範囲の決定方法のときに、通信フレームを一意に特定することができる情報であれば、受信した通信フレーム(受け入れを許可した通信フレーム)をそのままメモリ225に保存してもよいし、通信フレームのヘッダに含まれるシーケンス番号だけを抜き出してメモリ225に保存してもよい。
[S207]重複情報の管理
重複情報管理部224は、例えばFIFO方式でメモリ225に記録されている通信フレームを管理する。例えばメモリ225において、最大N個の通信フレームだけが記録されているようにする。
重複情報管理部224は、例えばFIFO方式でメモリ225に記録されている通信フレームを管理する。例えばメモリ225において、最大N個の通信フレームだけが記録されているようにする。
また、重複情報管理部224は、受信された通信フレームに関する情報がメモリ225に記録されてから最長保持期間T2秒以上経過した通信フレームに関する情報を削除する。これにより、メモリ225には、常に、直近のT2秒以内に、受入れた通信フレームに関する情報だけが記録されている状態を維持することができる。
[時刻判定の許容範囲の決定方法]
続いて、この実施形態に係る時刻判定の許容範囲の決定方法を、図5を参照しながら説明する。
続いて、この実施形態に係る時刻判定の許容範囲の決定方法を、図5を参照しながら説明する。
図5は、この実施形態に係る時刻判定の許容範囲の決定方法を説明する説明図である。
図5において、「Tp」は、時刻判定の許容範囲(時間幅)を示している。また、「X」は、受信側通信装置2における通信フレームの受信時刻を示している。「S」は、送信側通信装置1と受信側通信装置2との間の時刻のずれ(すなわち、厳密に時刻が同期していないときの時刻のずれ)や、通信フレームの到着遅延等を考慮した時間許容幅(時間幅)を示している。
さらに、「R」は、送信側通信装置1が通信フレームを再送する最大再送回数を示しており、「T]は、間欠動作に係る間欠周期を示している。従って、「R×T(=R・T)」は、正しい通信フレーム又は再送された通信フレームが受信され得る区間(時間幅)を示している。
時刻判定の許容範囲Tpは、少なくとも、最大再送回数R(回)、受入れ済みの通信フレームの保持個数(メモリ225の最大保持個数)N(個)、間欠周期T、および、受入れ済みの通信フレームの最長保持期間(メモリ225の最長保持期間)T2を用いて決定する。
受入れ済みの通信フレームがメモリ225に保持されている最短期間T3を求める。上記最短期間T3は、通信フレームがメモリ225に記録されてから、さらにN個の異なる通信フレームを受信するまでの最短時間N・Tと、受入れ済みの通信フレームの最長保持期間T2とのいずれか短い方の値とすることができる。すなわち、上記最短期間T3は、(1)式のように表すことができる。
T3=Min(T2,N・T) …(1)
T3=Min(T2,N・T) …(1)
許容できる時刻同期のずれ・到達遅延の時間許容幅Sは、上記最大再送回数R,上記間欠周期T,上記最短期間T3を用いて、(2)式で表すことができる。
S=(T3−R・T)/2 …(2)
S=(T3−R・T)/2 …(2)
ここで、時間許容幅Sの導出について説明する。最も再生攻撃を受けやすいのは、送信側通信装置1と受信側通信装置2との間で厳密に時刻が同期していない場合の時刻のずれや、ネットワーク上に伝送される通信フレームの伝送遅延時間(到達遅延時間)を狙ったものである。
例えば、送信側通信装置1が受信側通信装置2に対して時刻「+S」だけずれているものとする。このような例の場合、受信側通信装置2が通信フレームを受信した受信時刻が「X」であるとすると、時刻情報「X+S」が通信フレームに格納されているとみることができる。なお、ここでは、説明を簡単にするため、送受信に係る処理時間を0と考えて説明している。
従って、上記のような時刻のずれや到達遅延時間を示す時間許容幅「S」をどの程度の時間幅に設定して、時刻判定の許容範囲Tpを決定するかが問題となる。
ここで、通信フレームの受信時刻Xを基準とすると、通信フレームの受信時刻と通信フレームに格納されている時刻情報(送信時刻)との差分値が、時刻判定の許容範囲内Tp(すなわち、受信時刻Xを基準に、「−S」から「R・T+S」までの範囲内)であれば、通信フレームは受け入れられる。
換言すると、再生攻撃を行なう攻撃者は、受信時刻が「X+R・T+2S」となるように、通信フレームをネットワーク100に投入すると、通信フレームが受け入れられてしまう。
そこで、再生攻撃を防止するためには、受入れ済の通信フレームに関する情報が、メモリ225で「X+T3=X+R・T+2S」まで記録しておく必要がある。そのため、時間許容幅Sは、(2)式のように表すことができる。
送信側通信装置1と受信側通信装置2との間で時刻が厳密に同期されている場合に通信フレームを受信する可能性のある時間幅に加え、Sを考慮することで時刻判定の許容範囲を決めた場合、(3)式を満たす場合に、通信フレームを受け入れる。
−S<(受信時刻−通信フレームに格納された時刻情報)<R・T+S …(3)
−S<(受信時刻−通信フレームに格納された時刻情報)<R・T+S …(3)
換言すると、通信フレームの受信時刻と、通信フレームに格納されている時刻情報との差分値が、時刻判定の許容範囲内にある場合に、通信フレームを受け入れる。
このとき、時刻判定の許容範囲の下限値は、「−S」の値となる。具体的には、上記(2)式より、−S=−(T3−R・T)/2)で導出される値となる。換言すると、時刻判定の許容範囲の下限値は、メモリ225の最短保持時間T3から、最大再送回数R及び間欠周期Tの積を減算して得た値(T3−R・T)の半分の値である。
一方、時刻判定の許容範囲の上限値は、「R・T+S」の値となる。具体的には、上記(2)式より、R・T+S=R・T+{(T3−R・T)/2}=(T3+R・T)/2の値となる。換言すると、メモリ225の最短保持時間T3に、最大再送回数R及び間欠周期Tの積を加算して得た値(T3+R・T)の半分の値である。
上述したように、時刻判定の許容範囲は、時間ずれ・到着遅延の時間許容幅Sの値により決定することができる。また、時間許容幅Sは、上記(1)式及び(2)式より、過去の受入れ済みの通信フレームを保持するメモリ225の最短期間T3に依存するものであり、この保持期間T3は、メモリ225に保持する通信フレームの個数や、メモリ225の最長保持期間T2に依存する。
従って、メモリ225が保持する過去の受入れ済みの通信フレームの個数や、メモリ225の最長保持期間T2の値を決定することで、時刻判定の許容範囲を決定することができる。
換言すると、時刻判定の許容範囲によって、メモリ225が保持する過去の受入れ済みの通信フレームの個数や、メモリ225の最長保持期間T2の値を決定することができる。
(A−3)実施形態の効果
以上のように、この実施形態によれば、送信側通信装置は、送信する通信フレームに送信時の時刻を格納して通信する。受信側通信装置は、通信フレームを受信すると、受信時刻を記録し、受信した通信フレームに格納された送信時刻と記録した受信時刻を比較して通信フレームの受入れを判定する。
以上のように、この実施形態によれば、送信側通信装置は、送信する通信フレームに送信時の時刻を格納して通信する。受信側通信装置は、通信フレームを受信すると、受信時刻を記録し、受信した通信フレームに格納された送信時刻と記録した受信時刻を比較して通信フレームの受入れを判定する。
さらに、記録してある受入れ済みの通信フレームを利用して通信フレームの重複を判定する。
少なくとも通信フレームの最大再送回数、間欠周期および重複判定情報の保持期間から許容範囲の期間を決めることで、過去の通信フレームを受信時刻が許容範囲になるように再投入された場合でも、重複判定手段によって攻撃を防ぐことができる。
また、許容したい時刻同期のずれや到達遅延の要求値から重複判定情報の保持期間を求めることも可能であり、厳密に時刻が同期されていないネットワークにおいても、再生攻撃を防止することが可能である。
(B)他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに以下に例示するような変形実施形態を挙げることができる。
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに以下に例示するような変形実施形態を挙げることができる。
(B−1)上述した実施形態では、送信側通信装置の時刻格納部は、受信側通信装置がアクティブ状態になるまで待機した後、通信フレームの送信直前に時刻情報を格納する構成例を説明したが、これに限定するものではない。例えば、通信フレームを作成した後に時刻情報を格納し、その後に受信側通信装置がアクティブ状態になるまで待機する構成でもよい。その場合は、受信側通信装置の時刻判定部で確認する時刻の許容範囲に受信側通信装置がアクティブ状態になるまで待機時間を含めてもよい。
(B−2)上述した実施形態で例示した図3の通信フレームの構成例は一例であり、これに限定するものではない。例えば、記載した情報以外にノンスを含んでもよい。
(B−3)上述した実施形態では、受信側通信装置で認証(認証コードを用いた認証)を行なった後に、時刻判定を行なう場合を例示したが、これに限定するものではない。すなわち、受信側通信装置は、時刻判定を行なった後に、認証コードを用いた認証を行なうようにしてもよい。
(B−4)上述した実施形態では、送信側通信装置で通信データを暗号化して通信フレームに、暗号化した通信データを格納する場合を例示したが、これに限定するものではない。すなわち、送信側通信装置で通信データを暗号化せずに、通信フレームに通信データ(暗号化していない通信データ)を格納して送信してもよい。
(B−5)上述した実施形態では、受信側通信装置の重複情報管理部は、通信フレームの種別によらず、最大N個の通信フレームを、メモリに記録する場合を例示したが、これに限定するものではない。メモリにおいて、例えば、制御フレームの種別ごとや、送信元のアドレスごとに、最大N個の通信フレームをメモリに記録してもよい。
(B−6)上述した実施形態では、重複判定情報の保持期間が先に決まっているときに、時刻判定の許容範囲を決める方法を説明したが、これに限定されるものではない。例えば、許容したい時刻ずれの値を先に設定し、その値に合わせて許容範囲を決め、重複判定情報の保持期間を求めてもよい。
100…ネットワーク、1…送信側通信装置(データ送信装置)、11…制御部11…フレーム作成部、13…時刻同期部、14…時刻格納部、15…通信部、2…受信側通信装置(データ受信装置)、21…制御部、22…受入れ判定部、221…認証部、222…時刻判定部、223…重複判定部、224…重複情報管理部、225…メモリ、23…時刻同期部、24…通信部。
Claims (7)
- データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信装置において、
上記通信フレームを受信する通信手段と、
上記通信手段により受信された上記通信フレームを受け入れるか否かを判定する受入れ判定手段と
を備え、
上記受入れ判定手段が、
過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って保持する受入れ情報保持部と、
上記通信手段により受信された上記通信フレームに含まれる上記認証情報を用いて認証確認を行なう認証部と、
上記通信手段における上記通信フレームの受信時刻と当該通信フレームに含まれている上記時刻情報との比較結果が、上記受入れ情報保持部の上記保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する時刻判定部と
を有する
ことを特徴とするデータ受信装置。 - 上記受入れ判定手段が、上記通信手段により受信された上記通信フレームと重複する通信フレームが上記受入れ情報保持部に存在するか否かを判定する重複判定部をさらに有することを特徴とする請求項1に記載のデータ受信装置。
- 上記時刻判定許容範囲が、上記データ送信装置による上記通信フレームの最大再送回数と、間欠動作に係る間欠周期と、上記受入れ情報保持部に保持される過去に受入れ許可された通信フレーム数と、上記受入れ情報保持部の上記保持期間の最長保持時間とに基づいて決定されることを特徴とする請求項1又は2に記載のデータ受信装置。
- 上記時刻判定許容範囲の上限値は、
上記受入れ情報保持部に保持される過去に受入れ許可された通信フレーム数及び上記間欠周期の積と、上記受入れ情報保持部の上記最長保持時間とのいずれか短い値に、上記通信フレームの最大再送回数及び上記間欠周期の積を加算して得た値の半分の値とする
ことを特徴とする請求項3に記載のデータ受信装置。 - 上記時刻ずれに係る許容幅の値に基づいて、上記時刻判定許容範囲が決定され、
上記時刻判定許容範囲によって、上記受入れ情報保持部で保持される上記通信フレーム数、上記最長保持時間が決定される
ことを特徴とする請求項3又は4に記載のデータ受信装置。 - データ送信装置から時刻情報及び認証情報が含まれている通信フレームを受信するデータ受信方法において、
通信手段が、上記通信フレームを受信し、
上記通信手段により受信された上記通信フレームを受け入れるか否かを判定する受入れ判定手段が、
過去に受け入れを許可した通信フレームに関する情報を保持期間に亘って受入れ情報保持部で保持し、
上記通信手段により受信された上記通信フレームに含まれる上記認証情報を用いて認証確認をし、
上記通信手段における上記通信フレームの受信時刻と当該通信フレームに含まれている上記時刻情報との比較結果が、上記受入れ情報保持部の上記保持期間に基づく時刻ずれに係る許容幅を含む時刻判定許容範囲内であるか否かを判定する
ことを特徴とするデータ受信方法。 - 時刻情報及び認証情報を含んだ通信フレームを送信するデータ送信装置と、
請求項1〜5のいずれかに記載のデータ受信装置と
を備えることを特徴とする通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018152867A JP2020028063A (ja) | 2018-08-15 | 2018-08-15 | データ受信装置、データ受信方法及び通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018152867A JP2020028063A (ja) | 2018-08-15 | 2018-08-15 | データ受信装置、データ受信方法及び通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020028063A true JP2020028063A (ja) | 2020-02-20 |
Family
ID=69620421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018152867A Pending JP2020028063A (ja) | 2018-08-15 | 2018-08-15 | データ受信装置、データ受信方法及び通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020028063A (ja) |
-
2018
- 2018-08-15 JP JP2018152867A patent/JP2020028063A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | LEAP+ Efficient security mechanisms for large-scale distributed sensor networks | |
US8051489B1 (en) | Secure configuration of a wireless sensor network | |
KR101498323B1 (ko) | 컴퓨터 클러스터 시스템들내 통신의 보안 | |
JP5975594B2 (ja) | 通信端末及び通信システム | |
JP2730902B2 (ja) | 通信システム | |
CN101099320B (zh) | 基于时钟的重发保护 | |
JP5589410B2 (ja) | 通信システム及び通信装置 | |
CN107508672B (zh) | 一种基于对称密钥池的密钥同步方法和密钥同步装置、密钥同步系统 | |
JP4665617B2 (ja) | メッセージ認証システム,メッセージ送信装置,メッセージ受信装置,メッセージ送信方法,メッセージ受信方法およびプログラム | |
CN110852745B (zh) | 一种区块链分布式动态网络密钥自动更新方法 | |
US8069470B1 (en) | Identity and authentication in a wireless network | |
CN109963279B (zh) | 一种应用于动态自组网的混合加密方法 | |
Tiloca et al. | Axiom: DTLS-based secure IoT group communication | |
Annessi et al. | It's about time: Securing broadcast time synchronization with data origin authentication | |
KR20150135032A (ko) | Puf를 이용한 비밀키 업데이트 시스템 및 방법 | |
CN101878615A (zh) | 通信系统中交换数据时的认证 | |
KR102008670B1 (ko) | 멀티캐스트 그룹을 모니터링하는 장치 | |
KR101704540B1 (ko) | M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법 | |
JPWO2020188679A1 (ja) | 通信システム | |
KR20190040443A (ko) | 스마트미터의 보안 세션 생성 장치 및 방법 | |
KR20210126319A (ko) | 키 관리 장치 및 방법 | |
JP2003283489A (ja) | パケット認証システムおよび認証方法、ならびにグループ管理サーバとグループメンバー装置 | |
JP2020028063A (ja) | データ受信装置、データ受信方法及び通信システム | |
US11658955B1 (en) | Methods, mediums, and systems for verifying devices in an encrypted messaging system | |
US9197418B2 (en) | Communication system for authenticating messages with uniquely specified genuine information |