本発明を具体的に説明する前に、概要を述べる。本発明の実施例は、車両に搭載された端末装置間において車車間通信を実行するとともに、交差点等に設置された基地局装置から端末装置へ路車間通信も実行する通信システムに関する。車車間通信として、端末装置は、車両の速度や位置等の情報を格納したパケット信号をブロードキャスト送信する。また、他の端末装置は、パケット信号を受信するとともに、前述の情報をもとに車両の接近等を認識する。ここで、基地局装置は、複数のサブフレームが含まれたフレームを繰り返し規定する。基地局装置は、路車間通信のために、複数のサブフレームのいずれかを選択し、選択したサブフレームの先頭部分の期間において、制御情報等が格納されたパケット信号をブロードキャスト送信する。
制御情報には、当該基地局装置がパケット信号をブロードキャスト送信するための期間(以下、「路車送信期間」という)に関する情報が含まれている。端末装置は、制御情報をもとに路車送信期間を特定し、路車送信期間以外の期間(以下、「車車送信期間」という)においてCSMA方式にてパケット信号を送信する。このように、路車間通信と車車間通信とが時間分割多重されるので、両者間のパケット信号の衝突確率が低減される。つまり、端末装置が制御情報の内容を認識することによって、路車間通信と車車間通信との干渉が低減される。なお、基地局装置からの制御情報を受信できない端末装置、つまり基地局装置によって形成されたエリアの外に存在する端末装置は、フレームの構成に関係なくCSMA方式にてパケット信号を送信する。
基地局装置は、送信すべきデータを暗号化し、路車送信期間においてその暗号化データを格納したパケット信号をブロードキャスト送信する。パケット信号に格納可能なデータのサイズには最大値が定められている。ブロードキャスト送信すべきデータのサイズが最大値を超える場合、基地局装置は、暗号化データを複数に分割することによって、路車送信期間において複数のパケット信号をブロードキャスト送信する。
分割された暗号化データがひとつの路車送信期間に送信しきれなかった場合、車車送信期間を跨いでふたつ以上の路車送信期間で送信されることになる。端末装置は、分割された暗号化データを受信すると順次復号し、復号されたデータをバッファリングし、バッファリングされた複数の復号されたデータを統合することにより基地局装置から送信されたデータを復元する。
図1は、本発明の実施例に係る通信システム100の構成を示す。これは、ひとつの交差点を上方から見た場合に相当する。通信システム100は、基地局装置10、車両12と総称される第1車両12a、第2車両12b、第3車両12c、第4車両12d、第5車両12e、第6車両12f、第7車両12g、第8車両12h、ネットワーク202を含む。ここでは、第1車両12aのみに示しているが、各車両12には、端末装置14が搭載されている。また、エリア212が、基地局装置10の周囲に形成され、エリア外214が、エリア212の外側に形成されている。
図示のごとく、図面の水平方向、つまり左右の方向に向かう道路と、図面の垂直方向、つまり上下の方向に向かう道路とが中心部分で交差している。ここで、図面の上側が方角の「北」に相当し、左側が方角の「西」に相当し、下側が方角の「南」に相当し、右側が方角の「東」に相当する。また、ふたつの道路の交差部分が「交差点」である。第1車両12a、第2車両12bが、左から右へ向かって進んでおり、第3車両12c、第4車両12dが、右から左へ向かって進んでいる。また、第5車両12e、第6車両12fが、上から下へ向かって進んでおり、第7車両12g、第8車両12hが、下から上へ向かって進んでいる。
通信システム100において、基地局装置10は、交差点に固定して設置される。基地局装置10は、端末装置間の通信を制御する。基地局装置10は、図示しないGPS衛星から受信した信号や、図示しない他の基地局装置10にて形成されたフレームをもとに、複数のサブフレームが含まれたフレームを繰り返し生成する。ここで、各サブフレームの先頭部分に路車送信期間が設定可能であるような規定がなされている。基地局装置10は、フレーム中の複数のサブフレームのうち、他の基地局装置10によって路車送信期間が設定されていないサブフレームを選択する。基地局装置10は、選択したサブフレームの先頭部分に路車送信期間を設定する。
基地局装置10は、設定した路車送信期間においてパケット信号を報知する。路車送信期間において、複数のパケット信号が報知されることもある。端末装置14は、前述のごとく、車両12に搭載されているので、移動可能である。端末装置14は、基地局装置10からのパケット信号を受信すると、パケット信号に含まれた制御情報、特に路車送信期間が設定されたタイミングに関する情報やフレームに関する情報をもとに、フレームを生成する。その結果、複数の端末装置14のそれぞれにおいて生成されるフレームは、基地局装置10において生成されるフレームに同期する。端末装置14は、車車送信期間においてパケット信号を報知する。車車送信期間の説明は後述するが、これは、フレーム中の路車送信期間とは異なった期間であるといえる。ここで、車車送信期間においてCSMA/CAが実行される。
端末装置14は、データを取得し、データをパケット信号に格納する。データには、例えば、存在位置に関する情報が含まれる。また、端末装置14は、基地局装置10から受信した制御情報もパケット信号に格納する。つまり、基地局装置10から送信された制御情報は、端末装置14によって転送される。一方、端末装置14は、エリア外214に存在していると推定した場合、フレームの構成に関係なく、CSMA/CAを実行することによって、パケット信号を報知する。
図2(a)−(d)は、通信システム100において規定されるスーパーフレームのフォーマットを示す。図2(a)は、スーパーフレームの構成を示す。スーパーフレームは、第1サブフレームから第Nサブフレームと示されるN個のサブフレームによって形成されている。たとえば、スーパーフレームの長さが100msecであり、Nが8である場合、12.5msecの長さのサブフレームが規定される。Nは、8以外であってもよい。
図2(b)は、第1基地局装置10aによって生成されるスーパーフレームの構成を示す。第1基地局装置10aは、基地局装置10のうちの任意の一つに相当する。第1基地局装置10aは、第1サブフレームの先頭部分に路車送信期間を設定する。また、第1基地局装置10aは、第1サブフレームにおいて路車送信期間に続いて車車送信期間を設定する。車車送信期間とは、端末装置14がパケット信号を報知可能な期間である。つまり、第1サブフレームの先頭期間である路車送信期間において第1基地局装置10aはパケット信号を報知可能であり、第1サブフレームの路車送信期間に後続する車車送信期間において端末装置14がパケット信号を報知可能であるように規定される。さらに、第1基地局装置10aは、第2サブフレームから第Nサブフレームに車車送信期間のみを設定する。
図2(c)は、第2基地局装置10bによって生成されるスーパーフレームの構成を示す。第2基地局装置10bは、第1基地局装置10aとは異なった基地局装置10に相当する。第2基地局装置10bは、第2サブフレームの先頭部分に路車送信期間を設定する。また、第2基地局装置10bは、第2サブフレームにおける路車送信期間の後段、第1サブフレーム、第3サブフレームから第Nサブフレームに車車送信期間を設定する。
図2(d)は、第3基地局装置10cによって生成されるスーパーフレームの構成を示す。第3基地局装置10cは、第1基地局装置10aや第2基地局装置10bとは異なった基地局装置10に相当する。第3基地局装置10cは、第3サブフレームの先頭部分に路車送信期間を設定する。また、第3基地局装置10cは、第3サブフレームにおける路車送信期間の後段、第1サブフレーム、第2サブフレーム、第4サブフレームから第Nサブフレームに車車送信期間を設定する。このように、複数の基地局装置10は、互いに異なったサブフレームを選択し、選択したサブフレームの先頭部分に路車送信期間を設定する。
図3(a)−(b)は、サブフレームの構成を示す。図3(a)に示すように、サブフレームは、路車送信期間、車車送信期間の順に構成される。路車送信期間では基地局装置10がパケット信号を報知し、車車送信期間では端末装置14がパケット信号を報知可能である。図3(b)は、路車送信期間におけるパケット信号の配置を示す。図示のごとく、路車送信期間において、複数のRSU(Road Side Unit)パケット信号が並べられている。ここで、前後のパケット信号は、SIFS(Short Interframe Space)だけ離れている。
図4(a)−(f)は、通信システム100において規定される各レイヤのフレームのフォーマットを示す。図4(a)は、物理レイヤのフレームフォーマットを示す。図示のごとく、フレームには、PLCPプリアンブル、PLCPヘッダ、PSDU(Physical Layer Service Data Unit)、テールが順に配置される。なお、物理レイヤのフレームが前述のパケット信号に相当する。図4(b)は、MACレイヤのフレームフォーマットを示す。このフレームは、図4(a)のPSDUに格納される。図示のごとく、フレームには、MACヘッダ、MSDU(MAC Layer Service Data Unit)、FCS(Frame Check Sequence)が順に配置される。図4(c)は、LLCレイヤのフレームフォーマットを示す。このフレームは、図4(b)のMSDUに格納される。図示のごとく、フレームには、LLCヘッダ、LSDU(LLC Layer Service Data Unit)が順に配置される。
図4(d)は、車車間・路車間共用通信制御情報レイヤのフレームフォーマットを示す。このフレームは、図4(c)のLSDUに格納される。図示のごとく、フレームには、IRヘッダ、APDU(Application Protocol Data Unit)が順に配置される。図4(e)は、セキュリティレイヤのフレームフォーマットを示す。このフレームは、図4(d)のAPDUに格納される。図示のごとく、フレームには、セキュリティヘッダ(Security Header)、ペイロード(Payload)、セキュリティフッタ(Security Footer)が順に配置される。図4(f)は、アプリケーションレイヤのフレームフォーマットを示す。このフレームは、図4(e)のペイロード(Payload)に格納されており、アプリケーションデータによって構成される。
図5は、セキュリティフレームのデータ構造の一例を示す。これは、図4(e)の内容を詳細にした図である。セキュリティヘッダは、バージョン(VER)、メッセージタイプ(MT)、鍵情報、Nonceおよびデータ長を含む。バージョン(VER)はフレームフォーマットのバージョンを示し、固定値(=0)である。バージョン(VER)のデータ長は1バイトである。メッセージタイプ(MT)はメッセージのタイプ、データ認証方式等を指定する。メッセージタイプ(MT)のデータ長は0.5バイトである。当該データ長の最上位ビット(MSB)は管理アプリフラグであり、管理フィールドの有無を示す。「0」が無し、「1」が有りを示す。ビット2はデータ認証方式を示し、データ認証方式を示す。「0」がメッセージ認証コード(MAC:Message Authentication Code)方式、「1」が電子署名方式を示す。ビット1および最下位ビット(LSB)はメッセージ形式を示す。「0」が認証無しデータ、「1」が認証付きデータ、「2」が認証付き暗号化データ、「3」が予約を示す。
鍵情報は、フラグ、マスタ鍵、通信鍵および鍵IDを含む。マスタ鍵、通信鍵および鍵IDはオプションである。フラグは鍵情報内の後続フィールドの有無を示す。フラグのデータ長は0.5バイトである。最上位ビット(MSB)がマスタ鍵(暗号化されていてもよい)、ビット2が通信鍵(暗号化されていてもよい)、ビット1が鍵ID、最下位ビット(LSB)が予約(=0)を示す。各ビットにおいて「0」が無しを示し、「1」が有りを示す。したがって、すべてのビットが「0」の場合、当該フィールドは省略されることを示す。マスタ鍵は直前のマスタ鍵で暗号化された新マスタ鍵を示す。マスタ鍵のデータ長は16バイトである。通信鍵は最新のマスタ鍵で暗号化された通信鍵を示す。通信鍵のデータ長は16バイトである。鍵IDは鍵テーブルを参照するための識別番号を示す。鍵IDのデータ長は1バイトである。Nonseは発信元情報および発信日時を含む。発信元情報は発信元の機器IDを示す。発信元情報のデータ長は4バイトである。発信日時はメッセージの送信日時またはカウンタ値を示す。発信日時のデータ長は6バイトである。データ長はペイロードのバイト長を示す。データ長は1〜2バイトの範囲である。
ペイロードは通信鍵による秘匿およびメッセージ認証対象となる。ペイロードは管理アプリおよびサービスアプリを含む。管理アプリは、セキュリティ管理アプリケーションデータを示し、オプションである。サービスアプリはアプリケーションデータを示す。管理アプリおよびサービスアプリのデータ長は可変である。
セキュリティフッタはデータ認証を含む。データ認証はメッセージ認証コード(MAC)または電子署名を示す。データ認証のデータ長は前者のとき12バイトで、後者のとき56バイトである。一般に、メッセージ認証コード(MAC)は共通鍵暗号方式により暗号化され、電子署名は公開鍵暗号方式により暗号化される。以下、本明細書ではデータ認証にメッセージ認証コード(MAC)を使用する例を説明する。
図6は、基地局装置10の構成を示す。基地局装置10は、アンテナ20、RF部22、変復調部24、MACフレーム処理部26、セキュリティ処理部28、制御部30、ネットワーク通信部32およびデータ生成部34を備える。また、セキュリティ処理部28は、暗号部36および復号部38を含む。
RF部22は、受信処理として、図示しない端末装置14や他の基地局装置10からのパケット信号をアンテナ20にて受信する。RF部22は、受信した無線周波数のパケット信号に対して周波数変換を実行し、ベースバンドのパケット信号を生成する。さらに、RF部22は、ベースバンドのパケット信号を変復調部24に出力する。一般的に、ベースバンドのパケット信号は、同相成分と直交成分によって形成されるので、ふたつの信号線が示されるべきであるが、ここでは、図を明瞭にするためにひとつの信号線だけを示すものとする。RF部22には、LNA(Low Noise Amplifier)、ミキサ、AGC、A/D変換部も含まれる。
RF部22は、送信処理として、変復調部24から入力したベースバンドのパケット信号に対して周波数変換を実行し、無線周波数のパケット信号を生成する。さらに、RF部22は、路車送信期間において、無線周波数のパケット信号をアンテナ20から送信する。また、RF部22には、PA(Power Amplifier)、ミキサ、D/A変換部も含まれる。
変復調部24は、受信処理として、RF部22からのベースバンドのパケット信号に対して、復調を実行する。さらに、変復調部24は、復調した結果をMACフレーム処理部26に出力する。また、変復調部24は、送信処理として、MACフレーム処理部26からのMACフレームに対して、変調を実行する。さらに、変復調部24は、変調した結果をベースバンドのパケット信号としてRF部22に出力する。ここで、通信システム100は、OFDM(Orthogonal Frequency Division Multiplexing)変調方式に対応するので、変復調部24は、受信処理としてFFT(Fast Fourier Transform)も実行し、送信処理としてIFFT(Inverse Fast Fourier Transform)も実行する。
MACフレーム処理部26は、受信処理として、変復調部24からのMACフレームから、セキュリティフレームを取り出し、セキュリティ処理部28に出力する。また、MACフレーム処理部26は、送信処理として、セキュリティ処理部28からのセキュリティフレームに対して、MACヘッダ、LLCヘッダおよびIR情報ヘッダを付加し、MACフレームを生成し、変復調部24に出力する。また、他の基地局装置10または端末装置14からのパケット信号が衝突しないようパケット信号の送受信タイミングを制御する。
ネットワーク通信部32は、外部のネットワーク202に接続される。ネットワーク通信部32は、外部のネットワーク202から工事や渋滞などに関する道路情報を受けつける。また、ネットワーク通信部32は、セキュリティ処理部28による処理結果を外部のネットワーク202へ出力する。データ生成部34は、センサやカメラ(図示されない)等からの情報を利用してサービスアプリケーションデータを生成する。そして、サービスアプリケーションデータの内容によって、メッセージ形式を指定し、生成したアプリケーションデータと、そのデータ長をセキュリティ処理部28に出力する。制御部30は、基地局装置10全体の処理を制御する。
セキュリティ処理部28は、セキュリティフレームを生成または解釈する。セキュリティ処理部28は、送信処理として、データ生成部34からサービスアプリケーションデータを受け取ると、MACフレーム処理部26に出力すべきセキュリティフレームを、受け取ったサービスアプリケーションデータをもとに生成する。たとえば、図5に示すペイロードのサービスアプリに、データ生成部34から受け取ったサービスアプリケーションデータをセットし、そのデータ長をセキュリティヘッダのデータ長にセットする。また、セキュリティヘッダの鍵情報の通信鍵に、マスタ鍵で暗号化された通信鍵(乱数)をセットする。また、当該通信鍵(乱数)を用いて生成されるメッセージ認証コード(MAC)をセキュリティフッタにセットする。そして、その他のセキュリティヘッダを付加してセキュリティフレームを生成する。その後、指定されたメッセージ形式が認証付き暗号化データの場合、ペイロードおよびメッセージ認証コード(MAC)を当該通信鍵(乱数)を用いて暗号化する。
セキュリティ処理部28は、受信処理として、MACフレーム処理部26からのセキュリティフレームを受けつける。セキュリティ処理部28は、セキュリティフレームのうちのセキュリティヘッダの内容を確認する。メッセージ形式が認証付きデータである場合、復号部38にてメッセージの検証処理を実行する。メッセージ形式が認証付き暗号化データである場合、復号部38にてメッセージの復号処理および検証処理を実行する。なお、メッセージ形式が平文である場合、これらの処理は省略される。
メッセージ形式が認証付きデータである場合、暗号部36は、通信鍵(乱数)を用いてペイロードを対象としたメッセージ認証コード(MAC)を生成する。メッセージ認証コード(MAC)は、AES(Advanced Encryption Standard)−CBC(Cipher Block Chaining)モードを利用したMACアルゴリズムを適用して生成される。なお、MACの生成には、Nonseやデータ長も利用される。
メッセージ形式が認証付き暗号化データの場合、暗号部36は、ペイロードに対するメッセージ認証コード(MAC)の付加およびペイロードとメッセージ認証コード(MAC)の暗号化を行う。この暗号化には、通信鍵(乱数)を用いたAES−CCM(Counter with CBC−MAC)モードを適用する。なお、ペイロードを対象としたメッセージ認証コード(MAC)の生成、およびペイロードとメッセージ認証コード(MAC)の暗号化には、通信鍵(乱数)の他に、Nonceやデータ長が利用される。CBC−MACおよびCCMモードのアルゴリズムによるものであり、Nonceの使用により、ペイロードと通信鍵が同じであっても、異なったメッセージ認証コード(MAC)、および暗号文が得られる。なお、AES―CCMモードを適用せずに、ペイロードを暗号化した後、メッセージ認証コード(MAC)の付加を行ってもよい。
なお、復号部38による受信処理として行われるセキュリティフレームを解釈する処理については、後述する端末装置14の受信処理と同じである。
本実施例ではメッセージ形式として、認証付きデータまたは認証付き暗号化データが選択されるとする。なお、本明細書ではメッセージ認証コード(MAC)または電子署名の生成も広義の暗号化に含まれるとする。以下、セキュリティ処理部28により生成されたセキュリティフレームのデータサイズが、ひとつのパケット信号に格納可能なサイズを超える例について考える。
MACフレーム処理部26は、報知対象となるセキュリティフレームを複数の部分データ(以下、分割データという)に分割してから、分割データをパケット信号に含めることによって、路車送信期間において報知すべき複数のパケット信号を生成する。ここで、MACフレーム処理部26は、パケット信号に格納可能なデータの最大値ごとにデータを分割することによって、分割データを生成する。最大値よりも小さいサイズのデータが残るまでこの処理を繰り返し、MACフレーム処理部26は、残ったデータを最後の分割データとする。
報知対象となるセキュリティフレームのデータサイズが、ひとつの路車送信期間で送信可能なサイズを超えている場合、MACフレーム処理部26は、本基地局装置10がデータを格納可能な次回以降の路車送信期間に配置されるパケット信号に、今回の路車送信期間に配置されるパケット信号に格納できなかった分割データを格納する。例えば、ひとつのパケット信号に格納可能なデータの最大値は1.5kB、ひとつの路車送信期間で送信可能な最大サイズは4kBに設定される。
図7は、車両12に搭載された端末装置14の構成を示す。端末装置14は、アンテナ50、RF部52、変復調部54、MACフレーム処理部56、セキュリティ処理部58、制御部60、受信処理部62、通知部64およびデータ生成部66を備える。セキュリティ処理部58は、暗号部68および復号部70を含む。アンテナ50、RF部52、変復調部54およびMACフレーム処理部56は、図6のアンテナ20、RF部22、変復調部24およびMACフレーム処理部26と同様の処理を実行する。ここでは差異を中心に説明する。
受信処理部62は、セキュリティ処理部58から受け取ったデータと、データ生成部66から受け取った自車の車両情報にもとづき、衝突の危険性、救急車や消防車といった緊急車両の接近、進行方向の道路および交差点の混雑状況等を推定する。また、データが画像情報であれば通知部64に表示するよう処理する。
通知部64は、図示しないモニタ、ランプ、スピーカ等のユーザへの通知手段を含む。受信処理部62からの指示にしたがって、図示しない他の車両の接近等を当該通知手段を介して運転者に通知する。また、渋滞情報、交差点などの画像情報等をモニタに表示する。
データ生成部66は、図示しないGPS受信機、ジャイロスコープ、車速センサ等から供給される情報にもとづき、端末装置14が搭載された車両12の現在位置、進行方向、移動速度等を特定する。なお、現在位置は、緯度・経度によって示される。これらの情報の特定方法は一般的な公知の技術により実現可能であるため、ここでは説明を省略する。データ生成部66は、特定した情報をもとに図示しない他の端末装置14や基地局装置10に報知すべきデータを生成し、生成したデータ(以下、アプリケーションデータという)をセキュリティ処理部58に出力する。そして、アプリケーションデータの内容によって、メッセージ形式を指定し、生成したアプリケーションデータと、そのデータ長をセキュリティ処理部58に出力する。また、特定した情報を受信処理部62に自車の車両情報として出力する。制御部60は、端末装置14全体の処理を制御する。
セキュリティ処理部58は、送信処理として、セキュリティフレームを生成または解釈する。セキュリティ処理部58は、MACフレーム処理部56に出力すべきセキュリティフレームを生成する。たとえば、図5に示すペイロードのサービスアプリにアプリケーションデータをセットする。また、セキュリティヘッダの鍵情報の鍵IDに、メッセージ認証コード(MAC)生成に使用する通信鍵の鍵IDをセットし、Nonceに自己の機器IDと時刻をセットする。また、鍵IDにより特定される通信鍵を用いて生成されるメッセージ認証コード(MAC)をセキュリティフッタにセットする。そして、その他のセキュリティヘッダを付加してセキュリティフレームを生成する。メッセージ形式が認証付き暗号化データの場合、ペイロードおよびメッセージ認証コード(MAC)を当該通信鍵を用いて暗号化することで、メッセージを秘匿する。なお、メッセージ形式が平文である場合、これらの処理は省略される。
セキュリティ処理部58は、受信処理として、MACフレーム処理部56からのセキュリティフレームを受けつける。セキュリティ処理部58は、セキュリティフレームのうちのセキュリティヘッダの内容を確認する。メッセージ形式が認証付きデータである場合、復号部70はメッセージの検証処理を実行する。メッセージ形式が認証付き暗号化データである場合、復号部70はメッセージの復号処理および検証処理を実行する。なお、メッセージ形式が平文である場合、これらの処理は省略される。
暗号部68は、ペイロードを対象とするメッセージ認証コード(MAC)を生成する。また、ペイロードとメッセージ認証コード(MAC)を暗号化する。復号部70は、ペイロードを対象とするメッセージ認証コード(MAC)を検証する。また、ペイロードとメッセージ認証コード(MAC)を復号する。すなわち、暗号部68および復号部70は、メッセージ形式に従った処理を行い、基地局装置10の暗号部36および復号部38と同等の機能を備える。したがって、送信処理は、基地局装置10の暗号部36と同じであるため説明を割愛する。
復号部70は、受信処理として、MACフレーム処理部26からセキュリティフレームを受け取る。メッセージ形式が認証付きデータの場合、復号部70は、通信鍵を用いてペイロードに付加されたメッセージ認証コード(MAC)を検証する。メッセージ形式が認証付き暗号化データの場合、復号部70は、通信鍵を用いてペイロードとメッセージ認証コード(MAC)を復号し、復号されたメッセージ認証コード(MAC)を検証する。なお、復号および検証は送信側の暗号アルゴリズムに対応する復号アルゴリズムにより実行される。また、メッセージ形式が平文である場合、復号部70は復号および検証を実行しない。以下、本明細書ではメッセージ認証コード(MAC)または電子署名の検証も広義の復号に含まれるとする。
基地局装置10および端末装置14のそれぞれの構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラム等によって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ハードウエアとソフトウエアの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
図8(a)−(b)は、復号部70に対するデータ入力タイミング、および復号部70による復号タイミングを説明するための図である。「車1」、「車2」、「車3」、「路1/5」、「路2/5」、「路3/5」、「車4」、「車5」、「路4/5」、「路5/5」、「車6」は、それぞれパケット信号を示す。「車n」は車載器から送信されたパケット信号を示し、「路n」は路側機から送信されたパケット信号を示す。「n/m」は分割データを示す。図8(a)−(b)では、路側機側で送信データが暗号化された後、5つの分割データに分割され、5つのパケット信号にそれぞれ格納された例を示している。なお、図8(a)−(b)は説明を分かりやすくするためにパケット信号の配置をスーパーフレームおよびサブフレームの規定に制限されずに描いている。
図8(a)は、比較例に係るデータ入力タイミングおよび復号タイミングを示す。RF部52および変復調部54(以下、両者をまとめて受信部という)は、パケット信号を順次受信する。図8(a)−(b)では受信部は、全体データを構成または組成する複数の分割データをそれぞれ含む複数のパケット信号の間に、非分割データ(以下、単独データという)を含むパケット信号を受信する。より具体的には、分割データを含む「路3/5」に示されるパケット信号と、分割データを含む「路4/5」に示されるパケット信号との間に、単独データをそれぞれ含む「車4」、「車5」に示されるパケット信号を受信する。
MACフレーム処理部56は、受信されたパケット信号からデータを取り出す。パケット信号に含まれるデータが分割データでない場合、MACフレーム処理部56は、取り出したデータをバッファリングせずに、復号部70に出力する。パケット信号に含まれるデータが分割データである場合、MACフレーム処理部56は、取り出したデータをバッファリングし、全体データを構成する全ての分割データが揃ってから、それら分割データを復号部70に出力する。
図8(a)に示す例ではMACフレーム処理部56は、「車1」、「車2」、「車3」に示されるパケット信号から取り出したデータをすぐに復号部70に出力する。これらのデータは分割データでないためである。MACフレーム処理部56は、「路1/5」、「路2/5」、「路3/5」に示されるパケット信号から取り出したデータをバッファリングする。これらのデータは分割データであり、かつ全ての分割データが揃っていないためである。MACフレーム処理部56は、「車4」、「車5」に示されるパケット信号から取り出したデータをすぐに復号部70に出力する。ここで、受信された順番と復号部70に入力される順番が入れ替わる。
MACフレーム処理部56は、「路4/5」に示されるパケット信号から取り出したデータをバッファリングする。MACフレーム処理部56は、「路5/5」に示されるパケット信号からデータを取り出すと、全ての分割データが揃うことになるため、「路1/5」、「路2/5」、「路3/5」、「路4/5」、「路5/5」に示されるデータを順次、復号部70に出力する。復号部70は、MACフレーム処理部56から入力されるデータを順次、復号する。
図8(b)は、実施例に係るデータ入力タイミングおよび復号タイミングを示す。受信部は、パケット信号を順次受信する。MACフレーム処理部56は、受信されたパケット信号からデータを取り出す。パケット信号に含まれるデータが分割データであるか否かにかかわらず、取り出したデータをバッファリングせずに復号部70に出力する。
図8(b)に示す例ではMACフレーム処理部56は、「車1」、「車2」、「車3」、「路1/5」、「路2/5」、「路3/5」、「車4」、「車5」、「路4/5」、「路5/5」、「車6」に示されるパケット信号から取り出したデータを順次、復号部70に出力する。図8(b)では図8(a)と異なり、受信された順番と復号部70に入力される順番が一致する。
復号部70は、MACフレーム処理部56から入力されるデータを順次、復号する。図8(b)に示す例では、復号部は、受信部において受信したパケット信号に含まれた分割データに対して、全体データを構成する全ての分割データが揃う前から、暗号化処理に対応した復号処理をパケット信号単位に順次実行する。復号部70は、全体データを構成する複数の分割データの連続が途切れると、分割データの復号処理を中断し、分割データの連続が回復すると、中断した分割データの復号処理を再開する。
本実施例では、受信部において受信されるパケット信号に含まれるデータのメッセージ形式は認証付き暗号化データとする。そして、そのデータはAES−CCMモードにより暗号化されているとする。AES−CCMモードではAES−CBCモードにより暗号化されたメッセージ認証コード(MAC)が生成される。CBCモードでは、前の平文ブロックを暗号化した結果が次の平文に排他的論理和演算によって重ね合わされ、その結果に対して暗号化処理が実行される。CBCモードは前の暗号化結果が次のブロックに連鎖されるため連鎖モードとも呼ばれる。メッセージ認証コード(MAC)はペイロードに格納されるデータを分割した各ブロックの代表値により生成される。
したがって、復号部70は、全体データを構成する全ての分割データを復号しないと、各ブロックの代表値から算出されるメッセージ認証コード(MAC)と、付加されているメッセージ認証コード(MAC)とを比較することができず、受信データが改ざんされているか否かを判定できない。全ての分割データの復号処理が完了した時点で、受信データが改ざんされているか否かを判定できる。改ざんされていないことが確認できてから、データを受信処理部62に出力する構成の場合、データの出力タイミングも全体データを構成する全ての分割データの復号処理が完了した時点となる。
図8(a)と図8(b)とを比較すると、全ての分割データの復号処理が完了するタイミングは図8(b)のほうが早くなるため、検証完了タイミングおよびデータ出力タイミングも図8(b)のほうが早くなる。
図9は、比較例に係る復号部70の構成を示す。比較例に係る復号部70は、復号処理部70aを含む。復号処理部70aにはMACフレーム処理部56から暗号化データが順次入力される。入力される暗号化データの順番は図8(a)で説明した通りである。すなわち、全体データを構成する複数の分割データは全て揃ってから入力される。
復号処理部70aは、復号演算部72、ワークエリア74、判定部76および出力バッファ78を含む。ワークエリア74は、通信鍵、CBC処理値、Nonse、カウント値など、復号演算に必要な情報およびパラメータと、復号演算途中の中間データとを一時記憶するためのバッファまたはレジスタを含む。復号演算部72は、ワークエリア74を利用してAES復号演算する。出力バッファ78は、復号後のデータ(以下、単に復号データと表記する)を一時保持する。判定部76は、復号データを検証し、改ざんの有無を判定する。改ざんが検知された場合、制御部60に通知する。判定部76は、復号データに改ざんがないことを確認すると出力バッファ78に保持される復号データを受信処理部62に出力する。
図10は、実施例に係る復号部70の構成1を示す。構成1に係る復号部70は、セレクタ70b、第1復号処理部70cおよび第2復号処理部70dを含む。セレクタ70bにはMACフレーム処理部56から暗号化データが順次入力される。入力される暗号化データの順番は図8(b)で説明した通りである。すなわち、分割データであるか否かにかかわらず、受信順にデータが入力される。
セレクタ70bは入力されたデータが単独データである場合、第1復号処理部70cに出力し、分割データである場合、第2復号処理部70dに出力する。第1復号処理部70cは、単独データに対する復号処理を実行する。第2復号処理部70dは、分割データに対する復号処理を実行する。したがって、受信部において単独データを含むパケット信号が受信されることによって、全体データを構成する複数の分割データに不連続が発生した場合、第2復号処理部70dの復号処理が中断するとともに、第1復号処理部70cの復号処理が開始する。受信部において分割データを含むパケット信号が受信されることによって、全体データを構成する複数の分割データの連続性が回復した場合、第2復号処理部70dの復号処理が再開する。
第1復号処理部70cおよび第2復号処理部70dの構成は、復号処理部70aの構成と同様である。第2復号処理部70dでは、全体データを構成する複数の分割データの復号データが出力バッファ78で再統合される。復号部70からの出力経路が単一の場合、第1復号処理部70cおよび第2復号処理部70dの後段に図示しないセレクタが設置される。当該セレクタは、第1復号処理部70cからの復号データと、第2復号処理部70dからの再統合された復号データを出力順に選択して、受信処理部62に出力する。
図11は、実施例に係る復号部70の構成2を示す。構成2に係る復号部70は、復号処理部70eを含む。復号処理部70eにはMACフレーム処理部56から暗号化データが順次入力される。入力される暗号化データの順番は図8(b)で説明した通りである。すなわち、分割データであるか否かにかかわらず、受信順にデータが入力される。
復号処理部70eは、復号演算部72、ワークエリア74、判定部76、出力バッファ78および退避エリア80を含む。すなわち、比較例に係る復号処理部70aに退避エリア80が追加された構成である。以下、比較例に係る復号処理部70aとの相違について説明する。
退避エリア80は、分割データの復号処理の結果を記憶する。退避エリア80は、ひとつの分割データと、その分割データに関連する復号演算に必要な情報およびパラメータを記憶する領域で構成される。また、分割データの代わりにCBCモードで規定されるひとつのブロックデータと、前述の情報およびパラメータを記憶する領域で構成されてもよい。退避エリア80はプッシュポップで運用される。プッシュポップのタイミングは、新たな分割データが入力される時点とする。すなわち、退避エリア80には最後に復号された分割データまたはブロックデータと、関連する情報およびパラメータが常に記憶される。なお、新たな全体データを構成する分割データが入力される場合、復号演算部72は退避エリア80からポップされるデータ、情報およびパラメータを無視する。退避エリア80は単独データの復号処理には使用されない。
復号演算部72は、全体データを構成する分割データの復号処理の結果を退避エリア80に記憶させ、当該全体データを構成する次の分割データの復号処理を実行する際に、退避エリア80から前述の結果を取得する。当該結果は、復号演算部72により復号された分割データまたはブロックデータと、関連する情報およびパラメータである。
本発明の実施例によれば、暗号化後に分割された複数の分割データを受信する際、全体データを構成する複数の分割データが全て揃う前から、分割データに対する復号処理をパケット信号単位に順次実行することにより、復号処理の終了タイミングの遅延を抑制できる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
図8(a)−(b)では、ひとつの路側機から分割データを含む複数のパケット信号が送信される例を示した。この点、複数の路側機から分割データを含む複数のパケット信号がそれぞれ送信される場合もある。
これに対応するため、構成1では第2復号処理部70dが複数、設けられる。例えば、8つ設けられる。セレクタ70bは、送信元ID(例えば、路側機の機器ID)に応じて、送信元と複数の第2復号処理部70dのいずれかとを対応づける。セレクタ70bは、分割データが入力されると、その送信元IDに対応する第2復号処理部70dに、入力された分割データを出力する。
構成2では退避エリア80が複数、設けられる。送信元ID(例えば、路側機の機器ID)に応じて、送信元と複数の退避エリア80のいずれかが対応付けられる。復号演算部72は、分割データの復号処理の結果を、その送信元IDに対応する退避エリア80に記憶させ、その送信元から受信された次の分割データの復号処理を実行する際に、当該退避エリア80から前述の結果を取得する。
構成1および構成2とも、複数の送信元からの分割データを並列に復号可能な数を増やすほど、回路規模が増大する。その数が増えることによる回路規模増大の程度は構成1のほうが大きくなるため、その数を大きく設計する場合、構成2のほうを採用するとよい。
前述の実施例では、端末装置14が分割データを含むパケット信号を受信する例を説明したが、基地局装置10が分割データを含むパケット信号を受信する場合も、同様の処理が適用可能である。また、前述の実施例では、基地局装置10が分割データを含むパケット信号を送信する例を説明したが、端末装置14が分割データを含むパケット信号を送信する場合にも、同様の処理が適用可能である。