(58)【調査した分野】(Int.Cl.,DB名)
送信日時情報が付加された路路間通信パケットを送信するとともに送信日時情報が付加された路車間通信パケットを送信する路側通信機との間で無線通信する無線機であって、
前記路路間通信パケット及び前記路車間通信パケットを受信パケットとして受信する無線通信部と、
前記受信パケットに含まれている、送信元の通信機を示す識別情報と、前記送信日時情報とに基づいて前記受信パケットによりリプレイ攻撃されたか否かを判定する判定部と、を備え、
前記判定部は、前記リプレイ攻撃の判定を行うために前記送信日時情報と比較される参照日時情報を、前記受信パケットに含まれている、前記受信パケットが前記路路間通信パケットか前記路車間通信パケットかを判別するための判別情報を用いて定める
無線機。
送信日時情報が付加された路路間通信パケットを送信するとともに送信日時情報が付加された路車間通信パケットを送信する路側通信機から送信される前記路路間通信パケット及び前記路車間通信パケットを受信パケットとして受信する受信ステップと、
前記受信ステップにて受信した前記受信パケットに含まれている、送信元の通信機を示す識別情報と、前記送信日時情報とに基づいて前記受信パケットによりリプレイ攻撃されたか否かを判定する判定ステップと、を含み、
前記判定ステップは、前記リプレイ攻撃の判定を行うために前記送信日時情報と比較される参照日時情報を、前記受信パケットに含まれている、前記受信パケットが前記路路間通信パケットか前記路車間通信パケットかを判別するための判別情報を用いて定める
判定方法。
【発明を実施するための形態】
【0021】
[実施形態の説明]
最初に実施形態の内容を列記して説明する。
(1)一実施形態である無線機は、送信日時情報が付加された路路間通信パケットを送信するとともに送信日時情報が付加された路車間通信パケットを送信する路側通信機との間で無線通信する無線機であって、前記路路間通信パケット及び前記路車間通信パケットを受信パケットとして受信する無線通信部と、前記受信パケットに含まれている、送信元の通信機を示す識別情報と、前記送信日時情報とに基づいて前記受信パケットによりリプレイ攻撃されたか否かを判定する判定部と、を備え、前記判定部は、前記リプレイ攻撃の判定を行うために前記送信日時情報と比較される参照日時情報を、前記受信パケットに含まれている、前記受信パケットが前記路路間通信パケットか前記路車間通信パケットかを判別するための判別情報を用いて定める。
【0022】
上記構成の無線機によれば、判別情報を用いて受信パケットが路路間通信パケットか前記路車間通信パケットかを判別した上で参照日時情報を定め、リプレイ攻撃の判定を行うので、受信パケットがリプレイ攻撃であるか否かを判定する前に、受信パケットが路路間通信パケット及び路車間通信パケットのいずれであるのかを特定することができる。
よって、判定部は、受信パケットを判定する際に、同じ通信種別のパケットから得た送信日時情報を参照日時情報と定めることができ、同じ通信種別同士で送信日時情報を比較することができる。
この結果、仮に路路間通信パケットの送信タイミングに遅延が生じることで、路路間通信パケットと、路車間通信パケットとの間における送信日時の関係と、実際の送信タイミングとの関係に齟齬が生じたとしても、判定部は、路路間通信パケット同士で送信日時を比較する。これにより、路路間通信パケットの送信タイミングの遅延に関係なく、適切にリプレイ攻撃の判定を行うことができる。
【0023】
(2)上記無線機において、前記受信パケットは、アプリケーションデータが格納されるフィールドと、無線通信のために必要な制御データが格納される制御フィールドと、を含み、前記判別情報は、前記制御フィールドに格納されていることが好ましい。
この場合、アプリケーションに負荷を与えることなく判別情報を取得できる。
【0024】
(3)また、一実施形態である無線機は、通信パケットに当該通信パケットの送信日時を示す送信日時情報を付加する日時情報設定部と、前記送信日時情報が付加された前記通信パケットに対して、所定周期で設けられた送信期間を割り当てて順次送信するように制御する送信制御部と、を備え、前記日時情報設定部は、前記通信パケットに割り当てられた前記送信期間が、前記送信制御部によって前記通信パケットが送信可能となってから少なくとも1周期以上の期間をおいて設けられている場合、前記送信日時情報に代えて、不定値、又は自機が直前に送信した通信パケットの送信日時に所定期間を加算した日時を示す他の送信日時情報を前記通信パケットに付加する。
【0025】
上記構成の無線機によれば、割り当てられた送信期間が、送信制御部によって通信パケットが送信可能となってから少なくとも1周期以上の期間をおいて設けられることで当該通信パケットの送信タイミングに遅延が生じると、送信日時情報に代えて不定値又は直前に送信した通信パケットの送信日時に所定期間を加算した日時を示す他の送信日時情報を、送信タイミングに遅延が生じた通信パケットに格納するので、当該通信パケットが誤ってリプレイ攻撃と判定されるのを防止することができる。
【0026】
(4)また、一実施形態である路側通信機は、上記(1)から(3)に記載の無線機を備えている。
【0027】
(5)一実施形態である判定方法は、送信日時情報が付加された路路間通信パケットを送信するとともに送信日時情報が付加された路車間通信パケットを送信する路側通信機から送信される前記路路間通信パケット及び前記路車間通信パケットを受信パケットとして受信する受信ステップと、前記受信ステップにて受信した前記受信パケットに含まれている、送信元の通信機を示す識別情報と、前記送信日時情報とに基づいて前記受信パケットによりリプレイ攻撃されたか否かを判定する判定ステップと、を含み、前記判定ステップは、前記リプレイ攻撃の判定を行うために前記送信日時情報と比較される参照日時情報を、前記受信パケットに含まれている、前記受信パケットが前記路路間通信パケットか前記路車間通信パケットかを判別するための判別情報を用いて定める。
【0028】
(6)また、一実施形態であるコンピュータプログラムは、通信パケットがリプレイ攻撃であるか否かの判定をコンピュータに実行させるためのコンピュータプログラムであって、コンピュータに、送信日時情報が付加された路路間通信パケットを送信するとともに送信日時情報が付加された路車間通信パケットを送信する路側通信機から送信される前記路路間通信パケット及び前記路車間通信パケットを受信パケットとして受信する受信ステップと、前記受信ステップにて受信した前記受信パケットに含まれている、送信元の通信機を示す識別情報と、前記送信日時情報とに基づいて前記受信パケットによりリプレイ攻撃されたか否かを判定する判定ステップと、を実行させるコンピュータプログラムであり、前記判定ステップは、前記リプレイ攻撃の判定を行うために前記送信日時情報と比較される参照日時情報を、前記受信パケットに含まれている、前記受信パケットが前記路路間通信パケットか前記路車間通信パケットかを判別するための判別情報を用いて定めるコンピュータプログラムである。
【0029】
[実施形態の詳細]
以下、好ましい実施形態について図面を参照しつつ説明する。
なお、以下に記載する各実施形態の少なくとも一部を任意に組み合わせてもよい。
〔通信システムの構成について〕
図1は、実施形態に係る高度道路交通システム(ITS)の全体構成を示す概略斜視図である。なお、本実施形態では、道路構造の一例として、南北方向と東西方向の複数の道路が互いに交差した碁盤目構造を想定している。
図1に示すように、本実施形態の高度道路交通システムは、交通信号機1、路側通信機2、車載通信機(移動通信機)3、中央装置4、車載通信機3を搭載した車両5、及び、車両感知器や監視カメラ等よりなる路側センサ6を含む。
なお、本実施形態において特に説明しない点については、非特許文献1に準拠する。
【0030】
交通信号機1と路側通信機2は、複数の交差点J1〜J16のそれぞれに設置されており、電話回線等の有線通信回線7を介してルータ8に接続されている。このルータ8は交通管制センター内の中央装置4に接続されている。
中央装置4は、自身が管轄するエリアの交通信号機1および路側通信機2とLAN(Local Area Network)を構成している。なお、中央装置4は、交通管制センターではなく道路上に設置してもよい。
【0031】
路側センサ6は、各交差点に流入もしくは流出する車両台数をカウントする等の目的で、管轄エリア内の道路の各所に設置されている。この路側センサ6は、直下を通行する車両5を超音波感知する車両感知器、或いは、道路の交通状況を時系列に撮影する監視カメラ等よりなり、感知情報や画像データは有線通信回線7を介して中央装置4に送信する。なお、
図1では、図示を簡略化するために、各交差点に信号灯器が1つだけ描写されているが、実際の各交差点には、互いに交差する道路の上り及び下り用として少なくとも4つの信号灯器が設置されている。
【0032】
高度道路交通システムにおいて、無線通信システムを構成する、複数の交差点それぞれに設置された複数の路側通信機2は、その周囲を走行する車両の車載通信機3との間で無線通信(路車間通信)が可能である。
また、各路側通信機2は、自己の送信波が到達する所定範囲内に位置する他の路側通信機2とも無線通信(路路間通信)が可能である。
また、同じく無線通信システムを構成する車載通信機3は、キャリアセンス方式で路側通信機2との間で無線通信(車路間通信)を行うとともに、他の車載通信機3と無線通信(車車間通信)が可能である。
【0033】
なお、路路間通信とは、路側通信機2同士の間で行われる通信であり、一の路側通信機2が他の路側通信機2に向けて通信パケットを送信することによって行われる。
また、路車間通信とは、路側通信機2と車載通信機3との間で行われる通信であり、路側通信機2が車載通信機3に向けて通信パケット(路車間通信情報)をブロードキャスト送信することによって行われる。
また、車車間通信とは、車載通信機3同士で行われる通信であり、キャリアセンス方式によって通信パケット(車車間通信情報)を送信することによって行われる。
また、車路間通信とは、車載通信機3と路側通信機2との間で行われる通信であり、車載通信機3が路側通信機2に向けてキャリアセンス方式で通信パケット(車路間通信情報)を送信することによって行われる。
【0034】
図2は、本実施形態に係る路側通信機2及び車載通信機3の構成を示すブロック図である。
路側通信機2は、
図2に示すように、無線通信のためのアンテナ20が接続された無線通信部21と、有線通信回線7を介して中央装置4と通信するための有線通信部22と、通信の制御に関する処理を行う通信処理装置23とを備えている。
通信処理装置23は、無線通信部21を制御するとともに、無線通信及び有線通信の通信に関する処理を行う機能を有している。これにより通信処理装置23は、路車もしくは車路間通信や、路路間通信を行うとともに、有線通信回線7を介して中央装置4との間で有線通信を行う。
【0035】
通信処理装置23は、記憶部(図示省略)を備えており、この記憶部に無線通信及び有線通信のために必要な情報を記憶するとともに、後述する各機能を実現するためのプログラムや、その他の各種処理を実行するためのアプリケーション等がインストールされている。
【0036】
車載通信機3は、無線通信のためのアンテナ27が接続された無線通信部28と、通信処理装置29とを備えている。
通信処理装置29は、路側通信機2の通信処理装置23と同様の構成であり、無線通信部28を制御するとともに、無線通信に関する機能を有している。これにより通信処理装置29は、車車間通信や路車間通信を行う。また、通信処理装置29は、記憶部(図示省略)を備えており、車車間通信や、路車間通信のために必要な情報や、後述する各種処理を実行するためのアプリケーション等がインストールされている。
【0037】
通信処理装置23及び通信処理装置29は、その機能の一部又は全部が、ハードウェア回路によって構成されていてもよいし、その機能の一部又は全部が、コンピュータプログラムによって実現されていてもよい。その機能の一部又は全部がコンピュータプログラムによって実現される場合、通信処理装置23及び通信処理装置29はコンピュータを含み、コンピュータによって実行されるコンピュータプログラムは記憶部に記憶される。
【0038】
図3(a)は、本無線通信システムにて用いられる無線フレームを示す図である。
図3(a)に示すように、無線フレーム(スーパーフレーム)は、その時間軸方向の長さ(フレーム長)が100ミリ秒に設定されている。また、無線フレームは、時間軸方向に並べて配置されている。つまり、無線フレームは、1秒間に10フレーム配置される。
無線フレームは、例えば、路側通信機2が有するGPS受信機(図示せず)によって受信したGPS信号から得られる1PPS(One Pulse Per Second)信号(1秒周期の信号)に基づいて設定される。
【0039】
一つの無線フレームには、複数のタイムスロット30が含まれている。
タイムスロット30は、路側通信機2に割り当てられる通信用のタイムスロット(路側機通信期間)であり、タイムスロット30のいずれかに送信期間が割り当てられている路側通信機2は、その割り当てられているタイムスロット30内に、当該路側通信機2が無線送信する送信期間を設定する。タイムスロット30は、一つの無線フレーム(100ミリ秒)内に最大16個まで設定可能である。
【0040】
タイムスロット30には、それぞれスロット番号(路車間通信期間番号)n(=1〜16)が付されている。路側通信機2は、スロット番号nによっていずれのタイムスロット30が自路側通信機2に割り当てられるかを認識することができる。スロット番号nが付された各タイムスロット30は、それぞれ、無線フレームに一つずつ配置されているので、100ミリ秒周期(制御周期)で配置されている。
【0041】
路側通信機2に割り当てられているタイムスロット30以外の期間は、車載通信機3によるキャリアセンス方式の無線送信用として開放する期間である。このため、路側通信機2に割り当てられているタイムスロット30以外の期間では、路側通信機2による無線送信は行われない。
【0042】
無線フレームに含まれる複数のタイムスロット30の内、一つまたは複数のタイムスロット30が路側通信機2に割り当てられる。路側通信機2は、自機2に割り当てられているタイムスロット30以外の期間では送信が禁止される。すなわち、路側通信機2にとっては、自機2に割り当てられているタイムスロット30以外の期間は、送信禁止期間となる。
【0043】
図3(b)は、無線フレームに従って設定される路側通信機2の送信期間及び送信禁止期間の一例を示す図である。
図3(b)では、路側通信機2にn=4の1つのタイムスロット30が割り当てられている場合の送信禁止期間を示している。路側通信機2は、送信禁止期間以外の期間(送信期間)で無線送信を行う。
【0044】
複数のタイムスロット30は、互いに隣接する路側通信機2同士の間で干渉が生じないように、各路側通信機2に割り当てられる。
各路側通信機2は、割り当てられたタイムスロット30で定まる送信期間で無線送信を行う。
【0045】
路側通信機2は、自路側通信機2のアプリケーションが生成したアプリケーションデータをパケット化し、アプリケーションデータが格納されたパケットを自路側通信機2に割り当てられたタイムスロット30(送信期間)にて送信する。
路側通信機2のアプリケーションが生成するアプリケーションデータには、本システムが車載通信機3に対して提供する安全運転支援等に関する路車間通信情報や、他の路側通信機2に対して提供される本システムの管理等に関する路路間通信情報が含まれている。
路側通信機2は、路車間通信情報を格納した通信パケットである路車間通信パケットと、路路間通信情報を格納した通信パケットである路路間通信パケットとを送信する。
【0046】
なお、路側通信機2は、送信禁止期間においては、車車間通信を傍受するとともに、他の路側通信機2が送信する路車間通信パケット及び路路間通信パケットを受信する。
【0047】
図3(c)は、車載通信機3の送信禁止期間の一例を示す図である。
図3(c)では、全てのタイムスロット30がいずれかの路側通信機2に割り当てられている場合の送信禁止期間を示している。
上述のように、路側通信機2に割り当てられているタイムスロット30以外の期間が、車載通信機3によるキャリアセンス方式の無線送信用として割り当てられる。つまり、全てのタイムスロット30が路側通信機2に割り当てられている
図3(c)の場合、各タイムスロット30に対応する期間が送信禁止期間となっている。
車載通信機3は、これら送信禁止期間以外の期間において、キャリアセンス方式で無線送信を行う。
【0048】
なお、上述したように、路側通信機2に割り当てられているタイムスロット30以外の期間が車載通信機3の無線送信用の期間として割り当てられるので、タイムスロット30の内、いずれの路側通信機2にも割り当てられず、使用されていないタイムスロット30があれば、その期間については車載通信機3の無線送信に割り当てられる。
【0049】
図4は、路側通信機2が送信する通信パケットの一例を示す図である。
この通信パケットは、路側通信機2が路路間通信又は路車間通信によって他の路側通信機2又は車載通信機3へ向けて各種情報を格納し送信するためのものである。通信パケットは、アプリケーションデータをパケット化することによって生成される。
【0050】
通信パケットは、最前部及び最後部に通信ヘッダ及び通信フッタを有するとともに、通信ヘッダと通信フッタとの間に、セキュリティヘッダ、データ領域、及びセキュリティフッタを有している。データ領域は、セキュリティヘッダとセキュリティフッタとの間に設けられている。
【0051】
データ領域には、主として、路側通信機2のアプリケーションが生成した路路間通信情報や路車間通信情報といったアプリケーションデータが格納される。
路車間通信に用いる通信パケットの場合、データ領域には、車載通信機3に向けたサービスに関する情報がアプリケーションデータとして格納される。
また、路路間通信に用いる通信パケットの場合、データ領域には、路路間通信において共有されるサービスに関する情報や、設備の保守に関する情報等がアプリケーションデータとして格納される。
【0052】
データ領域がアプリケーションデータを格納するフィールドであるのに対して、通信ヘッダ、セキュリティヘッダ、セキュリティフッタ、及び通信フッタは、無線通信のために必要な制御データを格納する制御フィールドを構成している。
【0053】
通信ヘッダには、路側通信機2に対して送信期間として割り当てられているタイムスロットに関する送信設定値情報等が格納されている。送信設定値情報は、無線フレームにおいて路側通信機2の送信タイミングを示している情報である。
【0054】
セキュリティヘッダには、自機である路側通信機2の機器IDや、無線通信の暗号化に用いられる通信鍵(共通鍵)の鍵ID、送信日時情報等が格納されている。
【0055】
機器IDは、当該通信パケットの送信元である通信機固有の識別情報である。
鍵IDは、通信鍵を識別し選択するための情報である。通信鍵は、路路間通信及び路車間通信といった通信種別に応じて異なる鍵が用いられる。よって、通信鍵の鍵IDを参照することで、通信パケットの通信種別(送信カテゴリ)を判定することができる。
送信日時情報は、送信元である路側通信機2が当該通信パケットを送信するときの送信日時を示す情報である。
【0056】
セキュリティフッタには、メッセージの改ざんを検出しメッセージの安全性を保証するためのMAC(Message Authentication Code)等が格納される。
また、機器IDとして、路側通信機や、一般車両の車載通信機、優先車両の車載通信機等、当該パケットの送信元である通信機の種別情報が格納されることがある。
【0057】
通信パケット(セキュリティヘッダ)に格納される送信日時情報は、当該通信パケットを受信する通信機(路側通信機2及び車載通信機3)によって、当該通信パケットがリプレイ攻撃目的のパケットであるか否かの判定に用いられる。
【0058】
図5は、非特許文献1の標準規格に示されているプロトコルスタックに、非特許文献2のガイドラインに示す拡張層(Extended Layer)ELを加えたものを示している。
非特許文献1に規定されるプロトコルスタックは、レイヤ1(L1,物理層:Physical Layer)、レイヤ2(L2,データリンク層:Data Link Layer)、車車間・路車間共用通信制御情報層(IVC−RVC層:Inter−Vehicle Communication − Road to Vehicle Communication Layer)及びレイヤ7(L7,アプリケーション層:Application Layer)の4構造である。各層及びアプリケーションAPは、システム管理のための情報を有するシステム管理にアクセスすることができる。
【0059】
レイヤ1は、IEEE802.11において規定される物理層に準拠して動作する。
レイヤ2は、MAC副層(Medium Access Control sublayer)と、LLC副層(Logical Link Control sublayer)と、から構成される。MAC副層は、無線チャネルの通信管理として、フレーム制御及び同報通信(ブロードキャスト)を行う。LLC副層は、上位層のエンティティ間でパケット伝送を行うために、確認なしコネクションレス型通信のサービスを提供する。
【0060】
車車間・路車間共用通信制御情報層(IVC−RVC層)は、車車間・路車間共用通信制御に必要な情報の生成と管理を行う。
より具体的に、IVC−RVC層は、送信元の識別情報や、同期制御情報、通信パケットを送信する際の無線フレームにおけるタイムスロットの期間長に関する送信設定値に関する情報(送信設定値情報)をアプリケーションデータに付加する。
【0061】
レイヤ7は、アプリケーションAPに対して通信制御手段を提供するためのものである。
アプリケーションAPは、車両情報や、サービス支援情報、信号情報などのアプリケーションデータに対する処理を行う機能を有している。アプリケーションAPは、他の通信機に送信するアプリケーションデータをレイヤ7に与えるとともに、受信した通信パケットに格納されていたアプリケーションデータをレイヤ7から取得する。
【0062】
拡張層ELは、レイヤ7の上位層として存在し、アプリケーションAPとレイヤ7との間の通信機能を拡張するためのものである。
拡張層ELは、レイヤ7とともに、セキュリティ管理SECにアクセスすることができる。
【0063】
セキュリティ管理SECは、通信パケットのセキュリティに関する処理を行う。
受信側の通信機2,3の拡張層ELには、セキュリティヘッダ及びセキュリティフッタが付加されるとともに暗号化されたアプリケーションデータが、下位レイヤ(レイヤ7)から与えられる。アプリケーションデータが与えられると、拡張層ELは、このアプリケーションデータをセキュリティ管理SECに与える。セキュリティ管理SECは、与えられたアプリケーションデータに対して復号等のセキュリティ処理を行う。セキュリティ管理SECは、セキュリティ処理を施したアプリケーションデータを拡張層ELに与える。拡張層ELは、このアプリケーションデータをアプリケーションAPに与える。
【0064】
また、送信側の通信機2,3の拡張層ELは、アプリケーションAPからアプリケーションデータが与えられると、このアプリケーションデータをセキュリティ管理SECに与える。
セキュリティ管理SECは、与えられたアプリケーションデータに対して暗号化等のセキュリティ処理を行う。
さらに、セキュリティ管理SECは、セキュリティヘッダ及びセキュリティフッタをアプリケーションデータに付加する(
図4)。つまり、セキュリティ管理SECは、機器ID、鍵ID、及び送信日時情報を通信パケットに付加する。
【0065】
セキュリティ管理SECは、例えば、アプリケーションデータが与えられると、送信日時情報を付加する。セキュリティ管理SECは、送信日時情報を付加する直前に自機において計時される時刻を送信日時情報として生成する。セキュリティ管理SECは、生成した送信日時情報をアプリケーションデータに付加する。
【0066】
セキュリティ管理SECは、暗号化等のセキュリティ処理を施したアプリケーションデータを拡張層ELに与える。その後、拡張層ELは、送信に必要な処理をアプリケーションデータに対して行うとともに、処理後のアプリケーションデータを下位レイヤ(レイヤ7)に与える。
次いでアプリケーションデータは、IVC−RVC層に与えられ、IVC−RVC層によって送信設定値情報が通信ヘッダに付加される。その後、アプリケーションデータは、レイヤ2に与えられてパケット化され、通信パケットとされる。さらに、この通信パケットは、レイヤ1に与えられて無線送信される。
【0067】
図5に示す拡張層EL、レイヤ7、IVC−RVC層、レイヤ2、アプリケーションAP、セキュリティ管理SEC、及びシステム管理に相当する機能は、路側通信機2の通信処理装置23及び車載通信機3の通信処理装置29によって実現される。また、レイヤ1の機能は、路側通信機2の無線通信部21及び車載通信機3の無線通信部28によって実現される。
【0068】
なお、通信処理装置23の内、
図5中、アプリケーションAPに相当する機能を「アプリケーション部31」といい、
図5中、アプリケーションAPよりも下位の機能(拡張層EL、レイヤ7、IVC−RVC層、レイヤ2、セキュリティ管理SEC、及びシステム管理)を「通信処理部32」という。
【0069】
〔判定処理について〕
図6は、路側通信機2の通信処理装置23が有している機能の一部を示したブロック図である。
通信処理装置23は、上述のアプリケーション部31と、通信処理部32とを備えている。また、通信処理部32は、判定部36と、記憶部38とを機能的に備えている。
【0070】
判定部36は、自路側通信機2が受信した通信パケットがリプレイ攻撃であるか否かを判定するための判定処理を実行する機能を有している。
記憶部38は、自路側通信機2が受信した通信パケットの受信記録を登録するための受信記録テーブルを記憶している。この受信記録テーブルは、判定部36により行われるリプレイ攻撃の判定処理に用いられる。
【0071】
受信記録テーブルは、受信した通信パケットの送信日時情報を通信種別ごとに登録するためのテーブルである。受信記録テーブルには、受信した通信パケットに付加されている送信元の機器IDと、送信日時情報とが対応付けられ、通信種別ごとに登録されている。
【0072】
判定部36は、通信パケットを受信するごとに、受信した通信パケットのセキュリティヘッダに格納されている通信鍵の鍵IDと、送信元の機器IDと、送信日時情報とを参照し、以下に述べる判定処理を実行するとともに、判定の結果に応じて機器ID及び送信日時情報を受信記録テーブルに登録する。
【0073】
図7は、判定部36が行う判定処理の一例を示すフローチャートである。
まず、判定部36は、通信パケットを受信したか否かを判定する(ステップS1)。通信パケットを受信していないと判定すると、判定部36は、再度ステップS1に戻る。これにより、判定部36は、通信パケットを受信するまで、ステップS1の判定を繰り返す。
【0074】
ステップS1において通信パケットを受信したと判定すると、判定部36は、受信した通信パケット(受信パケット)に付加されている鍵IDと、送信元の機器IDと、送信日時情報とを参照する。
さらに判定部36は、受信した通信パケットが路路間通信パケットであるか否かを判定する(ステップS2)。
判定部36は、受信した通信パケットの通信鍵の鍵IDを参照することで、路路間通信パケットか否かを判定する。
【0075】
上述したように通信鍵は、通信種別(路路間通信及び路車間通信)に応じて異なる鍵が用いられる。つまり、この通信鍵の鍵IDは、通信パケットが路路間通信パケットであることを判別するための情報を構成している。
判定部36は、予め通信種別と鍵IDとを対応付けて記憶している。このため、判定部36は、通信鍵の鍵IDを参照することで、通信パケットの通信種別を判定することができる。
【0076】
ステップS2において受信した通信パケットが路路間通信パケットでないと判定すると、判定部36は、ステップS1に戻る。よって、受信した通信パケットが路車間通信パケットである場合、判定部36はリプレイ攻撃か否かの判定を行わず、次の通信パケットの受信を待つ(ステップS1)。
【0077】
ステップS2において受信した通信パケットが路路間通信パケットであると判定すると、判定部36は、受信した通信パケットがリプレイ攻撃であるか否かの判定を行う。
すなわち、受信した通信パケットが路路間通信パケットであると判定すると、判定部36は、ステップS3に進み、記憶部38に記憶された受信記録テーブルを参照し、路路間通信パケットの受信記録の中に、受信した通信パケットの機器IDと同じ機器IDが有るか否かを判定する(ステップS3)。
【0078】
ステップS3において路路間通信パケットの受信記録の中に、受信した通信パケットの機器IDと同じ機器IDが有ると判定する場合、判定部36は、受信記録テーブルに登録された過去の送信日時情報と、今回受信した通信パケットに付加されていた送信日時情報とを比較する(ステップS4)。
【0079】
つまり、判定部36は、リプレイ攻撃の判定を行うために受信した通信パケットの送信日時情報と比較される参照すべき送信日時情報(参照日時情報)として、路路間通信パケットの受信記録の中に存在する受信した通信パケットの機器IDと同じ機器IDに対応付けて登録されている過去の送信日時情報を定め、比較する(ステップS2、ステップS4)。
また、判定部36は、前記参照日時情報を、受信した通信パケットに含まれている、当該通信パケットが路路間通信パケットか路車間通信パケットかを判別するための判別情報としての通信鍵の鍵IDを用いて定める。
【0080】
ステップS4において判定部36は、過去の送信日時情報に対して、今回受信した通信パケットの送信日時情報が示す時刻が進んでいない場合、比較結果が妥当でないと判定する。なお、過去の送信日時情報に対して、今回受信した通信パケットの送信日時情報が示す時刻が進んでいない場合とは、今回受信した通信パケットの送信日時情報が示す時刻が、過去の送信日時情報が示す時刻と同一又はより過去を示している場合をいう。
上記の場合、今回受信した通信パケットは、リプレイ攻撃の可能性が高い。よって、判定部36は、今回受信した通信パケットをリプレイ攻撃と判定する。
【0081】
また、判定部36は、今回受信した通信パケットの送信日時情報が示す時刻が過去の送信日時情報が示す時刻に対して進んでいる場合、比較結果が妥当であると判定する。
この場合、今回受信した通信パケットは、リプレイ攻撃の可能性が低い。よって、判定部36は、今回受信した通信パケットをリプレイ攻撃ではないと判定する。
【0082】
ステップS4を終えてステップS5に進み、ステップS4における比較結果が妥当であると判定する場合、判定部36は、今回受信した通信パケットがリプレイ攻撃でないと判定する。よってこの場合、判定部36は、今回受信した通信パケットに格納されている路路間通信情報(アプリケーションデータ)が通信処理部32からアプリケーション部31に与えられるように制御する。これにより、通信パケットに格納されている路路間通信情報はアプリケーション部31によって処理される(ステップS6)。
【0083】
次いで、判定部36は、今回受信した送信元の機器IDと、送信日時情報とによって受信記録テーブルを更新し(ステップS7)、今回受信した通信パケットの送信日時情報を登録する。その後判定部36は、ステップS1に戻る。これにより、判定部36は、今回受信した通信パケットの情報に基づいて、次回同じ機器IDの通信パケットを受信したときの判定処理を行うことができる。
【0084】
また、ステップS3において路路間通信パケットの受信記録の中に、受信した通信パケットの機器IDと同じ機器IDがないと判定する場合においても、判定部36は、ステップS6に進み、通信処理部32に、通信パケットに格納されている路路間通信情報の処理を実行させ(ステップS6)、今回受信した送信元の機器IDと、送信日時情報とを受信記録テーブルに登録し(ステップS7)、ステップS1に戻る。
【0085】
一方、ステップS5において、ステップS4における比較結果が妥当でないと判定する場合、判定部36は、今回受信した通信パケットがリプレイ攻撃と判定する。よって、判定部36は、今回受信した通信パケットをアプリケーション部31に与えず、破棄し(ステップS8)、ステップS1に戻る。よって、今回受信した通信パケットに含まれるアプリケーションデータは、アプリケーション部31によって処理されない。
【0086】
〔路側通信機による通信パケットの送信〕
図8は、路側通信機2が通信パケットを送信する際の通信処理を示す図である。図中横軸は時間を示している。
図8は、送信側の路側通信機2から受信側の路側通信機2へ通信パケットを送信する際の処理を示している。
図8中、縦軸方向は、送信側の路側通信機2における処理を示しており、処理に沿って行われる上位層から下位層へのデータの受け渡しの態様を示している。
図8では、上段にアプリケーション部31(アプリ)、下段に通信処理部32を示している。
【0087】
図8中、アプリケーション部31は、路車間通信データ(ハッチング無し)と、路路間通信データ(ハッチング有り)の2種類のアプリケーションデータを生成する。
また、アプリケーション部31及び通信処理部32は、例えば、所定の制御周期に従ってアプリケーションデータに対する処理を行うように構成されている。この制御周期は、例えば、本システムの無線フレームの期間に対応している。
【0088】
ここで、
図8中、アプリケーション部31の段の左端に位置している路車間通信データ1に着目する。この路車間通信データ1は、アプリケーション部31にて生成されると、通信処理部32に与えられる。
路車間通信データ1が与えられた通信処理部32は、セキュリティ処理等の無線送信に必要な処理を開始する。この無線送信に必要な処理は、拡張層ELやレイヤ7、IVC−RVC層、セキュリティ管理SEC、システム管理によって行われる。
無線送信に必要な処理には、路車間通信データ1に送信日時を示す情報である送信日時情報を付加する処理が含まれている。
通信処理部32は、この無線送信に必要な処理を制御周期1内で終える。なお、
図8中、通信処理部の段は、上段が無線送信に必要な処理(セキュリティ等)、下段がMAC副層における処理(MAC)と2つに分かれており、さらに無線送信に必要な処理の段は、上段が処理の開始、下段が処理の終了の2つに分かれている。
【0089】
無線送信に必要な処理が終了すると、通信処理部32のMAC副層は、路車間通信データ1をパケット化する。なお、路車間通信データ1には送信日時情報が付加されているので、この通信パケットには、路車間通信データ及び送信日時情報が格納されている。
また、通信処理部32のMAC副層は、IVC−RVC層により通信ヘッダに付加される路車間通信データ1の送信設定値情報を参照する。
MAC副層は、参照した送信設定値情報に基づいて、通信パケットの送信制御を行う。
【0090】
通信処理部32のMAC副層は、路車間通信データ1をパケット化した路車間通信パケットに対して、送信設定値情報等によって特定される所定のタイムスロットを割り当て、割り当てたタイムスロットで送信されるように通信パケットをレイヤ1に与える。
【0091】
図8では、一つの無線フレームに、路車間通信データを送信するための路車間通信用タイムスロット301と、路路間通信データを送信するための路路間通信用タイムスロット302とが、それぞれ一つずつ設定されている。
通信処理部32のMAC副層は、路車間通信データ1をパケット化した路車間通信データ1の通信パケットに対して、次の制御周期2に設定された路車間通信用タイムスロット301を割り当て、路車間通信データ1の通信パケットが路車間通信用タイムスロット301で無線送信されるようにレイヤ1に与える。
次いで、通信処理部32のレイヤ1は、路車間通信データ1の通信パケットを、制御周期2の路車間通信用タイムスロット301で無線送信する。
【0092】
このように、通信処理部32のMAC副層は、ある制御周期に与えられたアプリケーションデータについては、その制御周期内に無線送信に必要な処理を終えると、次の制御周期に設定されたタイムスロットを用いて無線送信するように構成されている。
よって、ある制御周期に与えられたアプリケーションデータについて無線送信に必要な処理を終えることができず、例えば、次の制御周期内に無線送信に必要な処理が終れば、通信処理部32は、さらに次の制御周期に設定されたタイムスロットを用いて無線送信する。
【0093】
なお、MAC副層は、同じ通信種別の間のアプリケーションデータについては、原則として上位レイヤから与えられた順番で無線送信する。
よって、MAC副層は、路路間通信の通信パケットの送信については、送信日時情報が付加された路路間通信の通信パケットを上位レイヤから与えられた順番で順次送信する。
また、MAC副層は、路車間通信の通信パケットの送信については、送信日時情報が付加された路車間通信の通信パケットを上位レイヤから与えられた順番で順次送信する。
【0094】
また、通信処理部32は、上述したように、通信種別に応じて両タイムスロットを使い分ける。通信処理部32は、路車間通信パケットについては路車間通信用タイムスロット301を用いて送信し、路路間通信パケットについては路路間通信用タイムスロット302を用いて送信する。
【0095】
ここで、
図8中、路車間通信データ1の右隣に位置している路路間通信データ1に着目すると、路路間通信データ1がアプリケーション部31にて生成され、通信処理部32に与えられると、通信処理部32は、制御周期1内において、送信日時情報を付与する等、路路間通信データ1に対して無線送信に必要な処理を開始する。
その後、通信処理部32は、路路間通信データ1に対する無線送信に必要な処理が制御周期1内では終了せず、遅延が生じたことにより制御周期2内で終了したとする。
【0096】
通信処理部32は、無線送信に必要な処理を制御周期2で終えたので、路路間通信データ1が格納された路路間通信データ1の通信パケットを制御周期2のタイムスロットでは送信せず、制御周期3に設定された路路間通信用タイムスロット302を用いて無線送信する。
【0097】
つまり、路路間通信データ1の通信パケットは、制御周期2の早いタイミングで無線送信に必要な処理が終了し送信可能となったにも関わらす、1無線フレーム以上後に設定されている制御周期3の路路間通信用タイムスロット302が割り当てられる。このため、路路間通信データ1の通信パケットの送信タイミングに遅延が生じる。
このように、通信パケットの無線送信のタイミングは、無線送信に必要な処理が終了するタイミングによっては、制御周期(無線フレーム)単位で遅延することがある。
【0098】
一方、制御周期2において生成された路車間通信データ2は、制御周期2内において通信処理部32に与えられ、通信処理部32によって、送信日時情報が付与される等、無線送信に必要な処理が行われる。
図8に示すように、通信処理部32は、路車間通信データ2に対する無線送信に必要な処理を制御周期2内で終えたとする。この場合、通信処理部32は、制御周期3に設定された路車間通信用タイムスロット301を用い、路車間通信データ2が格納された路車間通信データ2の通信パケットを送信する。
【0099】
すると、制御周期2において送信日時情報が付加された路車間通信データ2の方が、制御周期1において送信日時情報が付加された路路間通信データ1よりも早いタイミングで送信されることとなる。
【0100】
この場合、路車間通信データ2の通信パケットに付加されている送信日時情報は、路路間通信データ1の通信パケットの送信日時情報よりも後で付加されている。よって、路車間通信データ2の通信パケットに付加されている送信日時情報は、路路間通信データ1の通信パケットに付加されている送信日時情報よりも後の時刻を示している。
【0101】
ここで、路車間通信データ2の通信パケット及び路路間通信データ1の通信パケットの両方を受信した他の路側通信機2が、路路間通信データ1の通信パケットについてリプレイ攻撃であるか否かについての判定を行う場合、当該他の路側通信機2は、路路間通信データ1の通信パケットがリプレイ攻撃ではないにも関わらず、リプレイ攻撃であると判定してしまうおそれがある。
【0102】
路側通信機2は、
図8中、破線矢印である「比較判定1」が示すように路路間通信データ1の通信パケットを判定するために、路車間通信データ2の通信パケットの送信日時情報を参照することがある。
この場合、同じ路側通信機2から送信された通信パケットにも関わらす、後から送られてきた路路間通信データ1の通信パケットの送信日時情報の方が、先に送られてきた路車間通信データ2の通信パケットの送信日時情報よりも遅れた時刻(過去の時刻)を示しているため、妥当性に欠ける。よって、他の路側通信機2は、路路間通信データ1の通信パケットがリプレイ攻撃ではないにも関わらず、リプレイ攻撃であると判定してしまう。
【0103】
これに対して、本実施形態の路側通信機2は、他の路側通信機2からの通信パケットを受信しリプレイ攻撃を判定する際、受信した通信パケットの通信種別も考慮して判定するように構成されている。これによって、適切にリプレイ攻撃の判定を行うことができるように構成されている。
【0104】
すなわち、本実施形態の路側通信機2は、路路間通信パケット及び路車間通信パケットを受信パケットとして受信する無線通信部21と、受信パケットに含まれている、送信元の通信機を示す識別情報である機器IDと、送信日時情報とに基づいて受信パケットによりリプレイ攻撃されたか否かを判定する判定部36と、を備えている。また、判定部36は、リプレイ攻撃の判定を行うために送信日時情報と比較される参照日時情報を、受信した通信パケットに含まれている、当該通信パケットが路路間通信パケットか路車間通信パケットかを判別するための判別情報である鍵IDを用いて定める。
【0105】
上記構成の路側通信機2によれば、判別情報を用いて受信パケットが路路間通信パケットか前記路車間通信パケットかを判別した上で参照日時情報を定め(
図7中、ステップS2)、リプレイ攻撃の判定を行うので(
図7中、ステップS3からステップS5)、通信パケットがリプレイ攻撃であるか否かを判定する前に、通信パケットが路路間通信パケット及び路車間通信パケットのいずれであるのかを特定することができる。
よって、判定部36は、通信パケットを判定する際に、同じ通信種別のパケット同士である路路間通信パケット同士で送信日時情報を比較することができる。
【0106】
通信処理部32のMAC副層は、上述したように、同じ通信種別の間のアプリケーションデータについては、原則として上位層から与えられた順番で無線送信する。
よって、同じ通信種別同士の通信パケット同士で送信日時情報を比較すれば、同じ通信種別同士の通信パケット内においては、MAC副層は、送信日時情報が示す時刻順に通信パケットを送信する。
【0107】
これにより、仮に路路間通信パケットの送信タイミングに遅延が生じることで、路路間通信パケットと、路車間通信パケットとの間における送信日時情報が示す時刻の関係と、実際の送信タイミングとの関係に齟齬が生じたとしても、判定部36は、路路間通信用通信パケット同士で送信日時を比較する(
図7中、ステップS2)。これにより、路路間通信パケットの送信タイミングの遅延に関係なく、適切にリプレイ攻撃の判定を行うことができる。
【0108】
例えば、
図8において、本実施形態の路側通信機2が各通信パケットを受信したとする。この場合、判定部36は、制御周期3に設定された路路間通信用タイムスロット302で送信された路路間通信データ1の通信パケットの判定については、
図8中、破線矢印である「比較判定2」が示すように、直近に送信された路路間通信パケットである、制御周期1で送信された路路間通信データ0の通信パケットの送信日時情報と比較する。
このように、本実施形態の判定部36は、路路間通信パケットの判定において、制御周期3において送信された路車間通信データ2の通信パケットの送信日時情報を用いない。
これにより、路路間通信パケットの送信タイミングに遅延が生じたとしても、正常な通信パケットを誤ってリプレイ攻撃と判定するのを防止でき、適切にリプレイ攻撃の判定を行うことができる。
【0109】
上記実施形態において、判別情報として用いる鍵IDは、制御フィールドであるセキュリティヘッダに格納されている。よって、判定部36は、アプリケーションに負荷を与えることなく、鍵IDを取得することができる。
【0110】
なお、上記実施形態では、通信パケットが路路間通信パケットであることを判別するための情報として鍵IDを用いた場合を例示したが、アプリケーションデータが、通信パケットが路路間通信パケットであることを判別するための情報を含んでいる場合、その情報を用いてもよい。
【0111】
例えば、
図9に示すように、データ領域内のアプリケーションデータに通信種別情報や、サービス情報が含まれていることがある。
通信種別情報は、当該通信種別情報を含む通信パケットの通信形態が、車車間通信であるのか、路車間通信であるのか、路路間通信であるのかを識別する情報である。
また、サービス情報は、当該通信パケットに格納されているアプリケーションデータによって提供されるサービスが、どのような通信形態において提供されるサービスであるのかを示す情報であり、通信種別情報と同様に、車車間通信であるのか、路車間通信であるのか、路路間通信であるのかを識別することができる。
【0112】
なお、この場合、アプリケーション部31は、アプリケーションデータの中に格納されている上述の通信種別情報及びサービス情報を取得し、判定部36に与える機能を有している。
【0113】
このように、通信パケットが路路間通信パケットであることを判別するための情報としては、鍵IDに代えて、アプリケーションデータに含まれている通信種別情報やサービス情報を用いることもできる。
また、鍵ID、通信種別情報、及びサービス情報の内、少なくとも2つの情報を併用し、判別情報として用いてもよい。
【0114】
〔他の実施形態について〕
図10は、他の実施形態に係る路側通信機2の通信処理部32が実行する路路間通信パケットの送信処理を示すフローチャートである。
まず、通信処理部32は、アプリケーション部31からのアプリケーションデータである路路間通信データを取得したか否かを判定する(ステップS11)。
【0115】
アプリケーション部31から路路間通信データが与えられていない場合、通信処理部32は、再度ステップS11を繰り返す。
アプリケーション部31からの路路間通信データを取得したと判定すると、通信処理部32は、取得した路路間通信データに送信日時情報を付加し(ステップS12)、無線送信に必要な処理を実行する(ステップS13)。なお、無線送信に必要な処理とは、拡張層ELやレイヤ7、IVC−RVC層、セキュリティ管理SEC、システム管理によって行われる処理である。
無線送信に必要な処理が終了すると、通信処理部32のMAC副層は、路路間通信データをパケット化し、路路間通信パケットを生成する。これにより、路路間通信パケットが送信可能となる。
【0116】
さらに通信処理部32は、路路間通信パケットを送信するために割り当てられるタイムスロットが、路路間通信パケットが送信可能となってから少なくとも1無線フレーム以上の期間をおいたタイムスロットであるか否かを判定する(ステップS14)。
つまり、通信処理部32は、路路間通信パケットが送信可能となってから少なくとも1無線フレーム以上の期間をおいてから送信されるように制御されることによって、路路間通信パケットの送信タイミングに遅延が生じるか否かを判定する。
【0117】
なお、ここで生じる路路間通信パケットの送信タイミングの遅延は、上述した実施形態の
図8等によって説明した遅延の他、アプリケーション部31から通信処理部32へアプリケーションデータを渡すタイミングで生じる遅延も含む。
【0118】
ステップS14において路路間通信パケットに割り当てられたタイムスロットが、路路間通信パケットが送信可能となってから少なくとも1無線フレーム以上の期間をおいたタイムスロットでないと判定すると、通信処理部32は、ステップS16に進み、路路間通信パケットをそのまま送信する(ステップS16)。
【0119】
一方、ステップS14において路路間通信パケットに割り当てられたタイムスロットが、路路間通信パケットが送信可能となってから少なくとも1無線フレーム以上の期間をおいたタイムスロットであると判定すると、通信処理部32のセキュリティ管理SEC(日時情報設定部)は、路路間通信パケットに付加している送信日時を示す送信日時情報に代えて、他の送信日時情報としての不定値を示す送信日時情報を路路間通信パケットに付加する(ステップS15)。
【0120】
なお、ここで不定値とは、日付及び時刻を表すための値以外の値で表される値であり、これを受け取った相手側において日付や時刻と認識することができない値をいう。
【0121】
その後、通信処理部32は、不定値を示す送信日時情報が付加された路路間通信パケットを送信する(ステップS16)。
【0122】
ここで、路側通信機2の判定部36は、送信日時情報が不定値である通信パケットについては、リプレイ攻撃と判定せず、処理を行う。
よって、本実施形態の路側通信機2のように、通信パケットの送信タイミングに遅延が生じると、送信日時を示す送信日時情報に代えて不定値を示す送信日時情報を、送信タイミングに遅延が生じた通信パケットに格納するので、送信タイミングに遅延が生じた通信パケットがリプレイ攻撃と判定されることはない。
この結果、送信タイミングに遅延が生じた通信パケットが誤ってリプレイ攻撃と判定されるのを防止することができる。
【0123】
なお、上記実施形態では、ステップS15において、路路間通信パケットに付加している送信日時情報に代えて、不定値を示す送信日時情報を路路間通信パケットに付加した場合を例示したが、自路側通信機2が送信しようとしている路路間通信パケットの過去、好ましくは直前に送信した路路間通信パケット又は路車間通信パケットの送信日時情報の時刻に所定期間を加算した日時を示す日時情報を、送信日時情報として路路間通信パケットに付加してもよい。なお、前記所定期間は、直前に送信したパケットの送信日時情報の時刻に加算しても、現在の時刻よりも進んだ時刻とならない範囲で設定される。
【0124】
〔その他〕
なお、上記各実施形態では、判定部36が路路間通信パケットがリプレイ攻撃であるか否かの判定を行う場合を例示したが、路側通信機2が受信する他の路側通信機2の路車間通信パケットがリプレイ攻撃であるか否かの判定を行ってもよい。
この場合、
図7中のステップS2において受信した通信パケットが路路間通信パケットでないと判定する場合において、受信した通信パケットがリプレイ攻撃であるか否かの判定を判定部36に行わせてもよい。
ステップS2において受信した通信パケットが路路間通信パケットでないと判定する場合、受信した通信パケットは路車間通信パケットである。よって、判定部36に路車間通信パケットの判定を行わせることができる。
さらにこの場合、
図7中のステップS3をステップS2よりも先に実行するように構成してもよい。なお、この場合、ステップS3では、通信パケットが路路間通信及び路車間通信を問わず、受信記録に機器IDが登録されているか否かを判定する。
【0125】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。
本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味、及び範囲内でのすべての変更が含まれることが意図される。