(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
本発明の実施例を具体的に説明する前に、基礎となった知見を説明する。自動車向け無線通信の形態は、路車間通信、車車間通信(車路車間通信を含む)に大別される。いずれの通信も、交差点での出会い頭の衝突やコーナー先の渋滞による追突防止などに活用できる。例えば、車車間通信においてGPS(Global Positioning System)などによって現在の位置情報をリアルタイムに検出し、その位置情報を車載器同士で交換しあうことによって、交差点での衝突防止を図ることができる。路車間通信では、交差点や路側に路側機(基地局装置)が設置され、この路側機から車載器に上記のような運転支援情報が送信される。
【0011】
さらに具体的に説明すると、交差点や路側などに設置された基地局装置から車両に搭載された端末装置に、情報を提供するために実行される路車間通信、および車両に搭載された端末装置から他の車両に情報を提供するために実行される車車間通信は、ITS(Intelligent Transport Systems)によって実現される。ITSでは、IEEE802.11などの規格に準拠した無線LANを用いることが検討されている。そのような無線LANでは、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)と呼ばれるアクセス制御機能が使用されている。そのため、当該無線LANでは、基地局装置および複数の端末装置によって同一の無線チャネルが共有される。このようなCSMA/CAでは、キャリアセンスによって他のパケット信号が送信されていないことを確認した後に、パケット信号がブロードキャストにより送信される(以下、パケット信号のブロードキャストによる送信を「報知」という)。
【0012】
車車間通信として、端末装置は、それが搭載されている車両の速度や位置などを示す車両情報を格納したパケット信号をブロードキャストにより送信する。そのパケット信号を受信した端末装置は、そのパケット信号に格納された情報をもとに車両の接近などを認識する。また、路車間通信として、基地局装置は、交差点情報および渋滞情報などが格納されたパケット信号を報知する。
【0013】
交差点情報には、交差点の位置情報、基地局装置が設置された交差点の撮影画像、交差点内の車両の位置情報など、交差点の状況に関する交差点情報が含まれる。端末装置は、この交差点情報をモニタに表示する。また、この交差点情報をもとに交差点の状況を認識し、出会い頭・右折・左折による、車両、自転車、歩行者との衝突防止を目的とした音声メッセージをユーザに報知してもよい。渋滞情報には、基地局装置が設置された走路の混雑状況、道路工事、事故に関する情報が含まれる。端末装置は、この渋滞情報をもとに進行方向の渋滞をユーザに伝達する。また、その渋滞を迂回するための迂回路を提示してもよい。
【0014】
ブロードキャストを前提とした路車間通信および車車間通信では、メッセージを送信する場合に、鍵データの交換ができないこと、および、リアルタイム性を重視する必要があることから、共通鍵暗号化方式を採用することが有力である。この場合、同一システム上の車載器および路側機では原則的にすべて共通の暗号鍵が共有されることになる。しかしながら、このようなシステムにおいて、いずれかの車載器または路側機から暗号鍵が漏洩すると、システム全体のセキュリティが大きく低下する。そこで、複数の暗号鍵を含む暗号鍵テーブルを作成して、その中からデータ送信の際に使用する暗号鍵をランダムに選択したり、暗号鍵テーブル自体を定期的に更新したりすることにより、セキュリティを向上させる手法が検討されている。
【0015】
図1は、本発明の実施例に係る通信システム500の構成を示す。これは、一つの交差点を上方から見た場合に相当する。通信システム500は、基地局装置20、第1車両100aに搭載された端末装置10a、第2車両100bに搭載された端末装置10bを含む。なお、第1車両100aおよび第2車両100bは車両100と総称し、端末装置10aおよび端末装置10bは端末装置10と総称する。エリア202は基地局装置20の電波圏内を示し、エリア外204は基地局装置20の電波圏外を示す。図面の上側が「北」に対応し、第1車両100aは「南」から「北」に進んでおり、第2車両100bは「東」から「西」に進んでいる。基地局装置20は外部ネットワーク200を介して後述する路車間サービス事業者端末装置などと通信が可能である。
【0016】
図2(a)−(d)は、スーパーフレームのフォーマットを示す。
図2(a)は、スーパーフレームの構成を示す。スーパーフレームは、第1サブフレームから第Nサブフレームと示されるN個のサブフレームによって形成されている。例えば、スーパーフレームの長さが100msecであり、Nが8である場合、12.5msecの長さのサブフレームが規定される。Nは、8以外であってもよい。
【0017】
図1の基地局装置20から報知される制御情報には、当該基地局装置20がパケット信号をブロードキャスト送信するための期間(以下、「路車送信期間」という)に関する情報が含まれている。端末装置10は、制御情報をもとに路車送信期間を特定し、路車送信期間以外の期間(以下、「車車送信期間」という)においてCSMA方式にてパケット信号をブロードキャスト送信する。その結果、路車間通信と車車間通信とが時分割多重される。なお、基地局装置20からの制御情報を受信できない端末装置10、つまりエリア外204に存在する端末装置10は、フレームの構成に関係なくCSMA方式にてパケット信号を送信する。
【0018】
図2(b)は、図示しない第1基地局装置20aによって生成されるスーパーフレームの構成を示す。第1基地局装置20aは、基地局装置20のうちの任意の一つに相当する。第1基地局装置20aは、第1サブフレームの先頭部分に路車送信期間を設定する。また、第1基地局装置20aは、第1サブフレームにおいて路車送信期間に続いて車車送信期間を設定する。車車送信期間とは、端末装置10がパケット信号を報知する期間である。つまり、第1サブフレームの先頭期間である路車送信期間において第1基地局装置20aは必ずこの期間にパケット信号を報知する。逆に、第1基地局装置20aの電波到達距離内に配置される他の基地局装置20、および、この電波到達距離内にいる端末装置10は、この期間にパケット信号を報知することはない。第1サブフレームの路車送信期間に後続する車車送信期間において端末装置10がパケット信号を報知可能であるように規定される。さらに、第1基地局装置20aは、第2サブフレームから第Nサブフレームに車車送信期間のみを設定する。
【0019】
図2(c)は、図示しない第2基地局装置20bによって生成されるスーパーフレームの構成を示す。第2基地局装置20bは、第1基地局装置20aとは異なった基地局装置20に相当する。第2基地局装置20bは、第2サブフレームの先頭部分に路車送信期間を設定する。また、第2基地局装置20bは、第2サブフレームにおける路車送信期間の後段、第1サブフレーム、第3サブフレームから第Nサブフレームに車車送信期間を設定する。
【0020】
図2(d)は、図示しない第3基地局装置20cによって生成されるスーパーフレームの構成を示す。第3基地局装置20cは、第1基地局装置20aや第2基地局装置20bとは異なった基地局装置20に相当する。第3基地局装置20cは、第3サブフレームの先頭部分に路車送信期間を設定する。また、第3基地局装置20cは、第3サブフレームにおける路車送信期間の後段、第1サブフレーム、第2サブフレーム、第4サブフレームから第Nサブフレームに車車送信期間を設定する。このように、複数の基地局装置20は、互いに異なったサブフレームを選択し、選択したサブフレームの先頭部分に路車送信期間を設定する。このように、基地局装置20は、自身がパケット信号(情報)を報知するために1つのサブフレームの路車送信期間を独占することで、固有の報知期間をスーパーフレーム内に設けている。スーパーフレーム内に設定可能なサブフレームは有限(本実施例では8個)ではあるが、複数の基地局装置20の電波到達距離を考慮して、スーパーフレームを選択すれば、基地局装置20の設置台数を制限することはない。逆に、スーパーフレーム内のすべてのサブフレームに対して基地局装置20が設置されるものとは限らない。
【0021】
図3は、車両100に搭載された端末装置10の構成を示す。端末装置10は、アンテナ11、無線部101、セキュリティ処理部15、送受信処理部161、通知部162、データ生成部171および記憶部172を備える。無線部101は、RF部12、変復調部13およびMACフレーム処理部14を含み、セキュリティ処理部15は、生成暗号部151、復号検証部152、RAM153、記憶部154および制御部155を含む。
【0022】
MACフレーム処理部14、セキュリティ処理部15、送受信処理部161、通知部162、データ生成部171、記憶部172の構成は、ハードウエア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0023】
図4は、通信システム500において規定されるパケット信号に格納されるMACフレームのフォーマットを示す。MACフレームには、前段から「MACヘッダ」、「LLCヘッダ」、「情報ヘッダ」、「セキュリティフレーム」が配置される。「MACヘッダ」、「LLCヘッダ」および「情報ヘッダ」にはデータ通信制御にかかわる情報が格納されており、それぞれが通信レイヤの各層に対応する。本実施例では、「情報ヘッダ」には、「ペイロード」に含まれるアプリケーションデータが、ユーザにサービスを提供するためのサービスデータであるか、後述する共通鍵テーブルの更新処理にかかわる管理データであるかを識別するアプリケーションデータ識別子が含まれるものとする。各フィード長は、例えば、「MACヘッダ」が30バイト、「LLCヘッダ」が8バイト、「情報ヘッダ」が12バイトで規定される。セキュリティフレームには、前段から「セキュリティヘッダ」、「ペイロード」、「セキュリティフッタ」が配置される。
【0024】
図5(a)−(b)は、セキュリティフレームを構成するメッセージのデータ構造の例を示す。
図5(a)に示すメッセージのデータ構成には、セキュリティヘッダとして、「バージョン」、「メッセージタイプ」、「鍵ID」、「nonce」および「ペイロード長」が含まれる。ペイロードとして、「機器ID」、「アプリケーションデータ長」および「アプリケーションデータ」が含まれる。セキュリティフッタとして、「メッセージ認証コード」が含まれる。
【0025】
本来、「ペイロード」が認証および暗号化の対象データである。しかしながら、認証の信頼性を上げるために、「nonce」、「ペイロード長」も認証の対象に含める。具体的には、先頭ブロックに「nonce」、「ペイロード長」を配置し、第2ブロック以降に「ペイロード」を配置したブロック列を対象としてメッセージ認証コードを求める。ここで、ブロックとはメッセージ認証コードを演算するための単位である。「nonce」は、「ペイロード」が同一であっても、発信毎に「メッセージ認証コード」の値が異なるようにすることを目的とするデータであり、メッセージ毎にユニークな値がセットされる。「ペイロード長」は、「ペイロード」のデータ長を示し、データ挿入または削除を伴うデータ改ざんに対する信頼性を向上させる。
【0026】
このデータ構造では、「nonce」、「ペイロード長」、「機器ID」、「アプリケーションデータ長」および「アプリケーションデータ」がメッセージ認証コードの生成対象であり、「機器ID」および「アプリケーションデータ」が認証される。また、「機器ID」、「アプリケーションデータ長」、「アプリケーションデータ」および「メッセージ認証コード」が暗号化対象範囲である。
【0027】
図5(b)に示すメッセージのデータ構成には、セキュリティヘッダとして、「バージョン」、「メッセージタイプ」、「鍵ID」および「nonce」が含まれる。nonceには、「機器ID」および「送信日時」が含まれる。ペイロードとして、「アプリケーションデータ長」および「アプリケーションデータ」が含まれる。セキュリティフッタとして、「メッセージ認証コード」が含まれる。このデータ構造では、「nonce」、「ペイロード長」、「アプリケーションデータ長」および「アプリケーションデータ」はメッセージ認証コードの生成対象であり、
図5(a)に示すメッセージのデータ構成と同様に「機器ID」および「アプリケーションデータ」が認証される。また、「アプリケーションデータ長」、「アプリケーションデータ」および「メッセージ認証コード」が暗号化対象範囲である。なお、いずれの場合も暗号の対象となるのは、ペイロードとメッセージ認証コードである。なお、nonceに含まれる送信日時に換えて、乱数やカウンタ値をセットしても送信日時をセットしたのと同様な効果が得られる。
【0028】
メッセージタイプには、保護形式として、「0」、「1」、「2」、「3」のいずれかがセットされる。「0」はメッセージが平文であることを示す。メッセージ認証コードは添付されず、暗号化されない。「1」はメッセージがデータ認証付きデータであることを示す。例えば、AES(Advanced Encryption Standard)−CBC(Cipher Block Chaining)−MAC(Message Authentication Code)方式を採用することができる。この場合、AES−CBCモード暗号処理により生成されたMACがメッセージに添付される。「2」はメッセージがデータ認証付き暗号化データであることを示す。例えば、AES−CCM(Counter with CBC−MAC)方式を採用することができる。AES−CCMモード暗号処理により生成されたMACがメッセージに添付されるとともに、AES−Counterモードで暗号化される。「3」はリザーブである。
【0029】
図5(a)では、ペイロードに含まれるデータが、固定長の機器IDと、アプリケーションデータとなるため、アプリケーションデータ長を設定しなくても、アプリケーションデータを特定できる。
図5(b)では、ペイロードに含まれるデータが、アプリケーションデータのみとなるためより自明である。
【0030】
図6は、鍵IDのデータ構造を示す。鍵IDは「テーブル番号」および「鍵番号」により構成される。「テーブル番号」には、共通鍵テーブルの識別番号がセットされる。「鍵番号」には、共通鍵テーブル内での鍵の識別番号がセットされる。発信時には、予め定められた送信用に使用される共通鍵テーブル(以下、送信用鍵テーブルという)から、ランダムに選択された鍵を通信鍵として使用する。よって、テーブル番号には、送信用の共通鍵テーブルの番号が、鍵番号には、乱数がセットされる。
【0031】
受信時には、受信したメッセージの鍵IDからテーブル番号を取り出し、テーブル番号によって指示された共通鍵テーブルが、受信側で予め定められた受信用に使用される複数の共通鍵テーブル(以下、受信用鍵テーブルという)に該当する共通鍵テーブルが含まれているかどうかを確認する。含まれていれば、受信したメッセージの鍵IDから鍵番号を取り出して、鍵IDによって指示される共通鍵を、該当する共通鍵テーブルから取得し、通信鍵として使用する。
【0032】
なお、端末装置10の記憶部154および後述する基地局装置20の記憶部254には、それぞれ複数の共通鍵テーブルが記憶されており、それぞれの制御部155および制御部255は、その中から1つを送信用鍵テーブル、送信用鍵テーブルを含む複数の共通鍵テーブルを受信用鍵テーブルとして選択する。
【0033】
機器IDは「種別」および「個別情報」により構成される。「種別」には路側機であるか、緊急車両であるか、一般車両であるかを識別するための情報がセットされる。「個別情報」には各機器を識別するためのユニークな値がセットされる。
【0034】
図5(a)における「nonce」には、メッセージ毎にユニークな値がセットされる。この値は乱数であってもよいし、時刻情報を含むものであってもよい。
図5(b)における「nonce」には、機器IDと乱数とし、機器IDを加えることで乱数が短くても、メッセージ毎にユニーク性を確保できるようにした。乱数に換えてカウンタ値や送信日時をセットしても同様な効果が得られる。「アプリケーションデータ」には、路車間通信では上述した交差点情報、渋滞情報などがセットされ、車車間通信では車両情報などがセットされる。
【0035】
図7は、共通鍵テーブルのフォーマットを示す。共通鍵テーブルの「Field Name」には、「Version」、「Table ID」、「Key list for RVC」、および「Key list for IVC」が設けられる。「Version」には共通鍵テーブルのバージョンがセットされる。「Table ID」には共通鍵テーブルのテーブル識別子(テーブル番号)がセットされる。よって、共通鍵テーブルのバージョンは、同じテーブル番号の共通鍵テーブルの新旧を識別するのに使用する。すなわち、テーブル番号が一巡すると、バージョンが1上がる。
【0036】
「Key list for RVC」は「key 0」〜「key P(Pは自然数)」を含み、「key 0」〜「key P」にはそれぞれ路車間用鍵番号0の鍵(例えば、AES鍵)〜路車間用鍵番号Pの鍵がセットされる。「Key list for IVC」は「key 0」〜「key Q(Qは自然数)」を含み、「key 0」〜「key Q」にはそれぞれ車車間用鍵番号0の鍵〜車車間用鍵番号Qの鍵がセットされる。この共通鍵テーブルは、路車間通信と車車間通信間の影響を抑えるため使用する共通鍵を分離している。ここでは共通鍵テーブルの共通鍵を、メッセージの認証および暗号化に使用する通信鍵として使用する例を示すが、通信毎に生成する乱数を通信鍵として使用し、共通鍵テーブルの共通鍵を利用して通信鍵を共有することもできる。また、路車間通信のセキュリティレベルを車車間通信より高くする目的で、前者では乱数を通信鍵として使用し、共通鍵テーブルの共通鍵でそれを共有し、後者では共通鍵テーブルの共通鍵を通信鍵として使用することもできる。
【0037】
図8は、共通鍵テーブルの運用方法を説明するための図である。端末装置10は、セキュリティ処理部15の記憶部154に保持している複数の共通鍵テーブルを順次切り替えて使用する。以下、端末装置10は、セキュリティ処理部15の記憶部154に八つの共通鍵テーブルを格納可能な記憶領域(以下、格納領域という)を有し、五つの共通鍵テーブルを保持する例を説明する。ここでは、一つの共通鍵テーブルに保持される鍵の数は256個である。なお、端末装置10に保持される共通鍵テーブルの数および一つの共通鍵テーブルに保持される鍵の数は複数であればよく、前述の数に限定されない。共通鍵テーブルの格納領域の数は、端末装置10に保持される共通鍵テーブルの数以上であればよい。すなわち、テーブルIDにより識別する数と共通鍵テーブルの格納領域の数は一致している必要はない。
【0038】
共通鍵テーブルの管理はバージョンおよびテーブルIDにより行われる。バージョンの異なる同じテーブルIDで特定される共通鍵テーブルが同時に使用されることはない。必ず、バージョンが新しい(ここでは、値が大きい)方が使用される。テーブルIDは0〜N(Nは自然数)として表される。すなわちNの剰余系として設定される。ここではN=7である。例えば、1番目の共通鍵テーブルと9番目の共通鍵テーブルのテーブルIDは0となる。バージョンは同じテーブルIDの新しい共通鍵テーブルが生成される度にカウントアップしていく。したがって、前者では0、後者では1となる。
【0039】
格納領域に保持される複数の共通鍵テーブルのうち、一つが送信用の共通鍵テーブル(送信用鍵テーブル)に指定され、複数が受信用の共通鍵テーブル(受信用鍵テーブル)に指定される。複数の受信用鍵テーブルは送信用鍵テーブルを含み、送信用鍵テーブルよりa(aは自然数)世代未来までの共通鍵テーブルを含む。n世代未来のテーブルIDは、{(送信用鍵テーブルのテーブルID+n) mod N}で算出される。なお、複数の受信用鍵テーブルはm(mは0または自然数)世代過去までの共通鍵テーブルを含んでもよい。同様に、{(送信用鍵テーブルのテーブルID−m)) mod N}で表される。
図8に示す例は、n=m=1の場合で、テーブルID=1の共通鍵テーブルが送信用鍵テーブルに指定され、テーブルID=0、テーブルID=1、テーブルID=2の三つの共通鍵テーブルが受信用鍵テーブルに指定されている。テーブルID=0の共通鍵テーブルが送信用鍵テーブルに指定される場合、テーブルID=7、テーブルID=0、テーブルID=1の三つの共通鍵テーブルが受信用鍵テーブルに指定される。このとき、テーブルID=1の共通鍵テーブルのバージョンは、テーブルID=0の共通鍵テーブルのバージョンと同じか、大きい、すなわち、同世代か、未来の世代のバージョンである。テーブルID=7の共通鍵テーブルのバージョンは、必ず、テーブルID=0の共通鍵テーブルのバージョンより1小さい、すなわち、1世代前のバージョンである。また、テーブルID=7の共通鍵テーブルが送信用鍵テーブルに指定される場合、テーブルID=6、テーブルID=7、テーブルID=0の三つの共通鍵テーブルが受信用鍵テーブルに指定される。このとき、テーブルID=6の共通鍵テーブルのバージョンは、テーブルID=7の共通鍵テーブルのバージョンと同じか、1小さい、すなわち、同世代か、1世代前のバージョンである。テーブルID=0の共通鍵テーブルのバージョンは、テーブルID=7の共通鍵テーブルのバージョンより大きい、すなわち、未来の世代である。
【0040】
送信用鍵テーブルの切替が指示されても、すべての端末装置10において送信用鍵テーブルが同時に切り替わるわけではない。端末装置10間において送信用鍵テーブルが切り替わるタイミングに時間差が生じる。例えば、長期間使用されていない車両100に搭載された端末装置10では、二つ以上過去の共通鍵テーブルが送信用鍵テーブルに設定されている可能性もある。この車両100が使用されると別の車両100に搭載された端末装置10は、二世代過去の共通鍵テーブルで処理されたパケット信号を受信する。暗号化システムの運用上、受信用鍵テーブルの範囲が狭いほどセキュリティが高くなるが、正当な端末装置10からの送信データを復号できないケースが多くなる。両者の要請を考慮して受信用鍵テーブルの範囲は設定される。
【0041】
送信用鍵テーブルの切替周期が長い場合(例えば、数年)、受信用鍵テーブルは、送信用鍵テーブルと次の共通鍵テーブル(n=1)で構成されるとよい。また、送信用鍵テーブルの切替周期が短い場合(例えば、一年以内)、受信用鍵テーブルは、送信用鍵テーブルと、次の共通鍵テーブル(n=1)と、さらにそれ以降の共通鍵テーブル(n>1)とで構成されるとよい。切替期間が短いほどnを大きくし、多くの共通鍵テーブルを受信用鍵テーブルに組み入れるとよい。切替期間が短い場合、複数の端末装置10間で送信用鍵テーブルのばらつきが大きくなる。これに対し、受信用鍵テーブルに組み入れる共通鍵テーブルの数を増やすことにより、送信用鍵テーブルのミスマッチを減らすことができる。また、mは1または0が適当である。
【0042】
複数の共通鍵テーブルは、保護の目的で暗号化されて記憶部154に保持される。
図8に示す例では五つの共通鍵テーブルが保持される。端末装置10が起動する際、セキュリティ処理部15は記憶部154に保持された暗号化された共通鍵テーブルを読み出す。セキュリティ処理部15は暗号化された共通鍵テーブルを復号して、高速アクセスが可能なRAM153のワークエリアに格納する。このワークエリアに保持される共通鍵テーブルは、送信用鍵テーブルおよび受信用鍵テーブルに指定された共通鍵テーブルである。
図8に示す例ではテーブルID=0、テーブルID=1、テーブルID=2の三つの共通鍵テーブルがワークエリアに保持される。
【0043】
図9は、送信用鍵テーブルの切り替えを説明するための図である。本実施例では、送信用鍵テーブルの切り替えタイミングは、システム運用管理機関30により決定される。システム運用管理機関30のシステム運用管理装置300は、路車間サービス事業者40の路車間サービス事業者端末装置400および車両メーカ60の車両メーカ端末装置600に、送信用鍵テーブルの切り替えを指示する。本実施例では、インターネットや専用回線などの外部ネットワーク200を介してシステム運用管理装置300から路車間サービス事業者端末装置400および車両メーカ端末装置600に送信用鍵テーブルの切り替えを指示する例を想定する。なお、システム運用管理機関30は、その他の通信手段(例えば、郵便)を用いて路車間サービス事業者40および車両メーカ60に指示してもよい。
【0044】
路車間サービス事業者端末装置400は、路側機(基地局装置20)に切り替え後の送信用鍵テーブルに含まれる共通鍵を含むメッセージを送信する。路側機は、そのメッセージを受信すると、当該共通鍵を含む共通鍵テーブルを新たな送信用鍵テーブルに設定する。路側機は、新たに送信用鍵テーブルに設定された共通鍵テーブルに含まれる共通鍵を用いたメッセージを報知する。既存の車両100の車載器(端末装置10)は、そのメッセージを受信すると、当該共通鍵を含む共通鍵テーブルを新たな送信用鍵テーブルに設定する。その後、当該車載器は、新たに送信用鍵テーブルに設定された共通鍵テーブルに含まれる共通鍵を含むメッセージを報知する。別の既存の車両100の車載器は、そのメッセージを受信すると、当該共通鍵を含む共通鍵テーブルを新たな送信用鍵テーブルに設定する。この処理を繰り返す。
【0045】
また、車両メーカ端末装置600は、新たな車両100の車載器(端末装置10)に、路車間サービス事業者端末装置400から指示された共通鍵テーブルを送信用鍵テーブルに設定する。当該車載器は、その送信用鍵テーブルに設定された共通鍵テーブルに含まれる共通鍵(通信鍵)を含むメッセージを報知する。既存の車両100の車載器は、そのメッセージを受信すると、当該共通鍵を含む共通鍵テーブルを新たな送信用鍵テーブルに設定する。その後、当該車載器は、新たに送信用鍵テーブルに設定された共通鍵テーブルに含まれる共通鍵を含むメッセージを報知する。別の既存の車両100の車載器は、そのメッセージを受信すると、当該共通鍵を含む共通鍵テーブルを新たな送信用鍵テーブルに設定する。この処理を繰り返す。
【0046】
以上の処理により、通信システム500における各機器の送信用鍵テーブルが伝搬的に切り替えられていく。なお、このような伝搬システムの代わりに、各機器に予め設定されたスケジュールプログラムにしたがって送信用鍵テーブルを切り替えてもよい。ただし、この手法は時計が搭載されていること、その時計が正確であること、そして路側機および車載器の時計の同期がとれていることが条件となる。したがって、それを補完するために、両者の手法を併用してもよい。なお、
図9では路車間サービス事業者端末装置400、車両メーカ端末装置600および路側機を一つずつ描いているが、実際にはそれぞれ多数存在する。
【0047】
図3に戻る。無線部101は、車車間通信によるパケットの送信と、他の端末装置10からの車車間通信によるパケット信号および基地局装置20からの路車間通信によるパケットの受信を行う。RF部12は、受信処理として、他の端末装置10および基地局装置20からのパケット信号をアンテナ11にて受信する。RF部12は、受信した無線周波数のパケット信号に対して周波数変換を実行し、ベースバンドのパケット信号を生成する。RF部12は、ベースバンドのパケット信号を変復調部13に出力する。一般的に、ベースバンドのパケット信号は、同相成分と直交成分によって形成されるため、二つの信号線が示されるべきであるが、図を簡略化するため、
図3では一つの信号線だけを示している。RF部12は、受信系の構成要素として、図示しないLNA(Low Noise Amplifier)、ミキサ、AGC、A/D変換部などを含む。
【0048】
無線部101は、RF部12、変復調部13およびMACフレーム処理部14を含む。RF部12は、送信処理として、生成したパケット信号を端末装置10から送信する。RF部12は、変復調部13から入力されるベースバンドのパケット信号に対して周波数変換を実行し、無線周波数のパケット信号を生成する。RF部12は、基地局装置20および他の端末装置10が送信するパケット信号に衝突しないように、無線周波数のパケット信号をアンテナ11から送信する。RF部12は、送信系の構成要素として、図示しないPA(Power Amplifier)、ミキサ、D/A変換部などを含む。
【0049】
変復調部13は、受信処理として、RF部12からのベースバンドのパケット信号に対して、復調を実行する。変復調部13は、復調した結果から、MACフレームをMACフレーム処理部14に出力する。また、変復調部13は、送信処理として、MACフレーム処理部14からのMACフレームに対して、変調を実行する。変復調部13は、変調した結果をベースバンドのパケット信号としてRF部12に出力する。
【0050】
本実施例に係る通信システム500では、OFDM(Orthogonal Frequency Division Multiplexing)変調方式を採用する。この場合、変復調部13は受信処理としてFFT(Fast Fourier Transform)を実行し、送信処理としてIFFT(Inverse Fast Fourier Transform)を実行する。
【0051】
MACフレーム処理部14は、受信処理として、変復調部13からのMACフレームから、セキュリティフレームを取り出し、セキュリティ処理部15に出力する。また、MACフレーム処理部14は、送信処理として、セキュリティ処理部15からのセキュリティフレームに対して、MACヘッダ、LLCヘッダおよび情報ヘッダを付加し、MACフレームを生成し、変復調部13に出力する。また、他の端末装置10または基地局装置20からのパケット信号が衝突しないようパケット信号の送受信タイミングを制御する。
【0052】
セキュリティ処理部15は、送信処理して、セキュリティフレームを生成または解釈する。セキュリティ処理部15は、MACフレーム処理部14に出力すべきセキュリティフレームを、記憶部154に記憶されているデータをもとに生成する。データ生成部171から受け取ったアプリケーションデータを、ペイロードの「アプリケーションデータ」に、データ長をペイロードの「アプリケーションデータ長」にセットする。セキュリティヘッダおよびセキュリティフッタを付加してセキュリティフレームを生成する。その際、上述したようにメッセージ認証コードを生成して添付し、データ認証させることが可能である。さらに、メッセージタイプがデータ認証付き暗号化データである場合、ペイロードおよびメッセージ認証コードを暗号化することで、メッセージを秘匿することも可能である。
【0053】
セキュリティ処理部15は、受信処理として、MACフレーム処理部14からのセキュリティフレームを受けつける。セキュリティ処理部15は、セキュリティフレームのうちのセキュリティヘッダの内容を確認する。メッセージタイプが認証付きデータである場合、メッセージ認証コードの検証処理を実行する。メッセージタイプがデータ認証付き暗号化データである場合、メッセージの復号と検証処理を実行し、復号処理を実行する。なお、メッセージタイプが平文である場合、これらの処理は省略される。また、セキュリティ処理部15は、「情報ヘッダ」から取り出したアプリケーションデータ識別子に基づいて、セキュリティフレームから受け取ったアプリケーションデータが管理データであれば、制御部155に出力する。受け取ったアプリケーションデータがサービスデータであれば、送受信処理部161に出力する。
【0054】
セキュリティ処理部15は、生成暗号部151、復号検証部152、RAM153、記憶部154および制御部155を含む。生成暗号部151は、ペイロードに対するメッセージ認証コードの生成および暗号化を行うことができる。復号検証部152は、MACフレーム処理部14から受けつけたセキュリティフレームの復号とメッセージ認証コードの検証を行う。
【0055】
記憶部154は、種々の情報を記憶する。本実施例では、上記複数の共通鍵テーブル、機器ID、更新鍵、送信用鍵テーブルを指示するテーブルID(送信用鍵テーブルIDという)を記憶する。ここで、更新鍵を説明する。更新鍵は、共通鍵テーブルを新たに書き加える、あるいは、書き換える更新処理に使用される鍵である。これは、端末装置10ごとにユニークに割り当てられる。なお、後述の端末装置10のセキュリティ処理部15は、セキュリティモジュール(SAM;Secure Application Module)ともいう。セキュリティモジュールは耐タンパ性のある、セキュリティ機能をまとめた機能モジュールである。更新鍵は同時に埋め込まれる機器IDと紐付け管理される。
【0056】
なお、当該共通鍵テーブルおよび当該更新鍵は出荷時に書き込まれるものと、後述する更新処理によって書き込まれるケースがある。制御部155は、セキュリティ処理部15全体の処理を制御する。RAM153は、記憶部154から送信用鍵テーブルIDに基づいて送信用鍵テーブルおよび受信用鍵テーブルを読み出して展開する高速アクセス可能なワークエリアを有する。通常、起動時に、送信用鍵テーブルおよび受信用鍵テーブルの展開が行われる。
【0057】
セキュリティ処理部15は、データ生成部171からセキュリティフレームの保護形式の指示(メッセージタイプ)と、アプリケーションデータを受け取って、セキュリティフレームを生成する。通常、データ認証付きデータ(=2)またはデータ認証付き暗号化データ(=3)が使用される。そして、保護形式を、セキュリティフレームの当該フィールドにセットする。次いで、生成暗号部151に保護形式をセットしたセキュリティフレームを出力する。生成暗号部151は、保護形式が平文(=0)の場合、処理を省略する。データ認証付きデータ(=1)の場合、RAM153の送信用鍵テーブルから通信鍵を選択し、その鍵を用いてメッセージ認証コードを生成する。次いで、選択した鍵の鍵IDおよびメッセージ認証コードを、セキュリティフレームの当該フィールドにセットする。データ認証付き暗号化データ(=3)の場合、送信用鍵テーブルから鍵を選択し、その鍵を用いてメッセージ認証コードを生成し、選択した鍵の鍵IDおよびメッセージ認証コードを、セキュリティフレームの当該フィールドにセットする。次いで、選択した鍵を使用して、ペイロードおよびメッセージ認証コードを暗号化する。
【0058】
セキュリティ処理部15は、MACフレーム処理部14からのセキュリティフレームを受けつけると、セキュリティフレームのセキュリティヘッダの内容を確認する。メッセージタイプの保護形式がデータ認証付きデータ(=2)あるいはデータ認証付き暗号化データ(=3)である場合、復号検証部152に出力する。復号検証部152は、セキュリティフレームの鍵IDに基づいてRAM153に格納される受信用鍵テーブルから鍵を取得して、保護形式がデータ認証付きデータ(=2)である場合、ペイロードに対するメッセージ認証コードの検証処理を実行する。データ認証付き暗号化データ(=3)である場合、暗号化データの復号処理を実行し、ペイロードに対するメッセージ認証コードの検証処理を実行する。鍵IDのテーブルIDで示される共通鍵テーブルが、RAM153に格納される受信用鍵テーブルに含まれない場合、検証失敗となる。復号検証部152は、検証に成功すると検証結果と、ペイロードのアプリケーションデータを出力する。一方、検証に失敗すると不正なデータであると判断し、ペイロードのアプリケーションデータを破棄し、出力しない。なお、メッセージタイプが平文である場合、これらの処理は省略し、ペイロードのアプリケーションデータを出力する。
【0059】
送受信処理部161は、「情報ヘッダ」から取り出したアプリケーションデータ識別子に基づいて、セキュリティフレームから受け取ったアプリケーションデータが管理データのとき、セキュリティ処理部15の制御部155に管理データを出力する。受け取ったアプリケーションデータがサービスデータのとき、受け取ったデータとデータ生成部171から受け取った自車の車両情報にもとづき、衝突の危険性、救急車や消防車といった緊急車両の接近、進行方向の道路および交差点の混雑状況などを推定する。また、サービスデータに画像情報が含まれていれば通知部162に表示するよう処理する。
【0060】
通知部162は、図示しないモニタ、ランプ、スピーカなどのユーザへの通知手段を含む。送受信処理部161からの指示にしたがって、図示しない他の車両の接近などを当該通知手段を介して運転者に通知する。また、渋滞情報、交差点などの画像情報などをモニタに表示する。
【0061】
データ生成部171は、図示しないGPS受信機、ジャイロスコープ、車速センサなどから供給される情報にもとづき、端末装置10が搭載された車両100の現在位置、進行方向、移動速度などを特定する。なお、現在位置は、緯度・経度によって示される。これらの情報の特定方法は一般的な公知の技術により実現可能であるため、ここでは説明を省略する。データ生成部171は、特定した情報をもとに他の端末装置10や基地局装置20に報知すべきデータを生成し、生成したデータ(以下、アプリケーションデータという)を送受信処理部161に自車の車両情報として出力する。車両情報を受け取った送受信処理部161は、これをセキュリティ処理部15に出力する。記憶部172は、自車の車高、車幅、車長などの固定的な車両情報、他の端末装置10から取得した自車以外の車両情報、道路情報を一時的に記憶する。
【0062】
図10は、基地局装置20の構成を示す。基地局装置20は、アンテナ21、RF部22、変復調部23、MACフレーム処理部24、セキュリティ処理部25、データ生成部26、ネットワーク通信部27および記憶部28を備える。セキュリティ処理部25は、生成暗号部251、復号検証部252、RAM253、記憶部254および制御部255を含む。なお、特に図示していないが、RF部22、変復調部23およびMACフレーム処理部24は、端末装置10(
図3参照)の無線部101と同様の無線部を構成する。
【0063】
MACフレーム処理部24、セキュリティ処理部25、データ生成部26、ネットワーク通信部27および記憶部28の構成は、ハードウエア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0064】
アンテナ21、変復調部23およびMACフレーム処理部24は、
図3のアンテナ11、変復調部13およびMACフレーム処理部14の構成および動作は基本的に共通する。以下、これらの構成要素については、相違点を中心に説明する。
【0065】
RF部22は、送信処理として、生成したパケット信号をアンテナ21を介して、基地局装置20から送信する。RF部22は、変復調部23から入力されるベースバンドのパケット信号に対して周波数変換を実行し、無線周波数のパケット信号を生成する。RF部22は、自身に割り当てられた路車間通信期間のタイミングで、無線周波数のパケット信号をアンテナ21から送信する。RF部22は、送信系の構成要素として、図示しないPA(Power Amplifier)、ミキサ、D/A変換部などを含む。受信処理は、端末装置10のRF部12と同じであるため説明を割愛する。
【0066】
ネットワーク通信部27は、外部ネットワーク200に接続される。ネットワーク通信部27は、外部ネットワーク200から工事や渋滞等に関する道路情報や、信号機の灯消間隔や状態を示す情報(信号情報という)を受けつける。また、ネットワーク通信部27は、セキュリティ処理部25による処理結果を外部ネットワーク200へ出力したり、記憶部254(記憶部28)に蓄積して、定期的に外部ネットワーク200へ出力したりする。データ生成部26は、基地局装置20の周辺に設置されたセンターからの交差点の人の位置、あるいは、車両の位置を示すセンサ情報、時刻情報などのGPSから取得したGPS情報、ネットワーク通信部27が外部から取得した道路情報や信号情報などのサービスデータをアプリケーションデータとする。そして、アプリケーションデータの内容によって、保護形式を指定し、アプリケーションデータと、そのデータ長をセキュリティ処理部25に出力する。
【0067】
記憶部254は、種々の情報を記憶する。本実施例では、上記複数の共通鍵テーブル、送信用鍵テーブルID、自己の機器IDを記憶する。記憶部28は、基地局装置20が設置された周辺道路の道路線形情報(道路の配置情報)、基地局装置20の設置位置、センサの設置位置などサービスデータの一部を記録する。さらに、記憶部28は、端末装置10から取得した機器IDおよび車両情報を一時的に記憶する。制御部255は、基地局装置20全体の処理を制御する。
【0068】
セキュリティ処理部25は、セキュリティフレームを生成または解釈する。セキュリティ処理部25は、送信時にはMACフレーム処理部24に出力すべきセキュリティフレームを、データ生成部26やネットワーク通信部27から入力されるデータをもとに生成する。例えば、ペイロードの「アプリケーションデータ」に道路線形情報をセットし、「メッセージタイプ」に指示された保護形式を、「機器ID」に自己の機器IDをセットしたセキュリティヘッダおよびセキュリティフッタを付加してセキュリティフレームを生成する。その際、上述したように、保護形式にしたがってメッセージ認証コードを生成してセキュリティフッタにセットすることでデータ認証する機能を持たせることが可能である。さらに、ペイロードおよびメッセージ認証コードを暗号化することで秘匿性も持たせることが可能である。
【0069】
セキュリティ処理部25は、生成暗号部251、復号検証部252、RAM253、記憶部254および制御部255を含む。生成暗号部251はメッセージ認証コードの生成および暗号化を行い、復号検証部252は復号とメッセージ認証コードによる認証を行い、RAM253は送信用鍵テーブルおよび受信用鍵デーブルの展開に用い、端末装置10の生成暗号部151、復号検証部152およびRAM153と同等の機能を備える。したがって、送信処理および受信処理は、端末装置10の生成暗号部151、復号検証部152、RAM153、記憶部154および制御部155と同じであるため説明を割愛する。
図3に戻る。
【0070】
本実施例では、端末装置10のセキュリティ処理部15は、「機器ID」に自己の機器IDをセットしたセキュリティフレームを生成し、MACフレーム処理部14に出力する。MACフレーム処理部14、変復調部13およびRF部12は、当該セキュリティフレームを含むMACフレームを格納したパケット信号をアンテナ11から報知する。これにより、自己の機器IDを報知することができる。基地局装置20も同様である。
【0071】
一方、RF部12は、他の端末装置10あるいは基地局装置20からパケット信号を受信する。RF部12は、これらパケット信号を変復調部13に出力し、変復調部13はこれらパケット信号を復調し、MACフレーム処理部14に出力する。MACフレーム処理部14は、MACフレームからセキュリティフレームを取り出し、セキュリティ処理部15に出力する。
【0072】
セキュリティ処理部15は、MACフレーム処理部14から受け取ったセキュリティフレームを復号検証部152に出力する。復号検証部152は、セキュリティフレームを受け取るとメッセージタイプの保護機能にしたがった処理を行い、セキュリティフレームを、セキュリティ処理部15に返す。このとき、データ認証の結果と機器IDあるいはその一部も通知する。ここで機器IDについて説明する。機器IDは、セキュリティ処理部15あるいはセキュリティ処理部25、すなわち、SAMを一意に識別するユニークな識別情報である。また、機器IDは、発信元の種別、すなわち、基地局装置20あるいは端末装置10の搭載された車両や機器の種別を示す種別コードと、種別内でユニークに割る当てられる個別コードからなる。ここでいう機器IDの一部とは、種別コードを意味する。
【0073】
パケット信号を受信した端末装置10では、種別コードを確認することで発信元の種別を確認することができる。種別コードとしては、例えば、基地局、緊急車両、一般車両、歩行者端末、更新装置などが設定される。更新装置は、記憶部154に共通鍵テーブルを追加記録あるいは書換をする共通鍵テーブルの更新を行う端末装置のセキュリティ処理部15に付与される。
【0074】
この種別コードを利用して、送受信処理部161は「情報ヘッダ」から取り出したアプリケーションデータ識別子に基づいて、1)セキュリティフレームから受け取ったアプリケーションデータが管理データのとき、種別コードが更新装置であれば、受け取ったアプリケーションデータが正当な管理データであると判断し、制御部155に出力する。種別コードが更新装置でなければ、受け取ったアプリケーションデータは発信元不正と判断し破棄する。2)サービスデータが緊急情報、例えば、救急車や消防車からの緊急情報のとき、種別コードが緊急車両であれば、この緊急情報を採用する。種別コードが緊急車両以外であれば発信元不正と判断し破棄する。3)サービスデータが路側機発の信号情報、道路線形情報、センサ情報などのとき、種別コードが基地局装置であれば、これらの情報を採用する。種別コードが基地局装置以外であれば発信元不正と判断し破棄する、という判断を行う。
【0075】
端末装置10の出荷後、時間が経過することで記憶部154に記憶されている共通鍵テーブルが運用中の送信鍵テーブルに対応できなくなる場合および共通鍵が漏洩などによって記憶部154に記憶されている共通鍵テーブルが運用に適さなくなった場合にセキュリティを担保するために、共通鍵テーブルの更新が必要である。以下では、共通鍵テーブルの更新を説明する。
【0076】
このような鍵交換の実現に向け必要な運用条件は、更新情報がSAM固有の鍵を用いて生成されているので、1台ずつの更新となることである。また、別の運用条件は、公道を走行する車両100の端末装置10に対しての影響を最小限にとどめる配慮が必要になることである。ここでの鍵更新では、これまでの通信システム500をそのまま使用し、端末装置10の無線部101およびセキュリティ処理部15を変更しないで使用することを前提とする。
【0077】
図11は、共通鍵テーブルの変更を説明するための図である。図示のごとく、システムには、システム運用管理装置300、更新センターの端末装置(以下、更新装置という)10Cおよび車両に搭載された端末装置10が含まれる。また、更新装置10Cは、無線部101C、セキュリティ処理部15C、送受信処理部161Cを含む。端末装置10は、無線部101、セキュリティ処理部15、送受信処理部161を含み、セキュリティ処理部15は記憶部154、制御部155を含む。なお、更新装置10Cおよび端末装置10は、これまでと同様にパケット信号をブロードキャスト送信する車車間通信を実行し、本来、
図3と同様の構成であるが、
図11では、
図3に示した構成のうち、共通鍵テーブルの更新に関する構成のみを描いている。したがって、無線部101C、セキュリティ処理部15Cは、
図3の無線部101、セキュリティ処理部15と同じである。なお、送受信処理部161Cは更新情報を受信する機能に換えて、送信する機能およびシステム運用管理装置300と通信する機能を備えている。
【0078】
システム運用管理装置300は新しい鍵を発行し、新共通鍵テーブルを生成する鍵発行サーバである。ここではシステム運用管理装置300は、出荷されたすべての端末装置10に搭載されるセキュリティモジュールの機器IDと更新鍵のデータベースを備える。
【0079】
更新装置10Cは、自動車のメンテナンスを行う施設(以下、サービス施設という)に設置される端末装置である。この装置はリアルタイムの道路情報を端末装置10に報知する端末装置ではなく、特定の端末装置10に共通鍵テーブルなどのシステム運用に関する情報を無線送信する専用機である。更新装置10Cとシステム運用管理装置(CA)300とはインターネットで接続されてもよいし、専用回線で接続されてもよい。また、更新装置10Cは、システム運用管理装置300から送付される送信先の端末装置10のセキュリティ処理部15固有の更新鍵を用いて、共通鍵テーブルの更新データを含むセキュリティ情報を暗号化した更新情報を、車車間通信で端末装置10に送信する。
【0080】
記憶部154は、車車間通信に使用可能な共通鍵を複数種類含む共通鍵テーブル、自己の機器ID、当該機器IDに紐付けされた更新鍵を記憶する。
制御部155は、更新装置10Cから受信したコネクション要求に含まれた機器IDと、記憶部154に記憶した機器IDとを対比する。両者が対応している場合、更新装置10Cとコネクションを確立する。さらに、制御部155は、確立したコネクションを介して更新装置10Cから受信した更新情報を記憶部154に記憶された更新鍵を使用して復号し、更新用の共通鍵テーブルを取得する。そして、記憶部154に記憶される共通鍵テーブルを更新する。すなわち、更新用の共通鍵テーブルのテーブルIDと同じテーブルIDを持つ共通鍵テーブルが記憶部154に記憶されるとき、更新用の共通鍵テーブルによって上書きし、記憶されていないとき、更新用の共通鍵テーブルを新たに追記する。
【0081】
図12は、通信システム500での更新後の共通鍵テーブルのデータ構造を示す。
図12は、
図8と同様に示されているが、テーブルID=0、1の共通鍵テーブルが更新されることによって、それらのバージョンが1に変更されている。また、テーブルID=5、6、7の共通鍵テーブルが追加されている。
【0082】
共通鍵テーブル1個あたりのサイズは、1つの共通鍵テーブルに含まれる車車間および路路間用の鍵の数に依存するが、双方で計256個の鍵を用意したとすると、AESの場合、1つの鍵サイズが16バイト、合計で512バイトとなる。更新鍵によるMAC等のその他の情報として100バイト程度のデータを付加する必要がある。共通鍵テーブルを
図8に習って同時に5個の共通鍵テーブルを更新するとき、更新情報のサイズは、2.5〜3kバイト程度になる。路車間通信では約3kバイトのデータを送信可能であり、車車間通信では約100バイトのデータ送信可能であるので、データサイズの点からは、路車間通信の使用が好ましい。しかしながら、路車間通信で更新情報を送信するためには、そのような基地局装置に対して免許が必要になってしまう。周辺への影響の大きいなどの理由から、車車間通信を利用した更新情報の送信が必要とされる。一方、送信可能なデータサイズを考慮すると、車車間通信で実現するためには分割送信が必要になる。
【0083】
図13は、管理データのデータ構造を示す。分割・結合ヘッダは、バージョン、コネクションID、送信順序、コード、分割番号、分割総数および長さを含む。バージョン(1B)は、通信データのデータ構造のバージョンを示す値である。コネクションID(2B)は、更新装置10Cと端末装置10の間のコネクション(接続)を特定するための識別情報である。コネクションIDによって中断時の再コネクション、他の端末装置10とのコネクションなどが区別される。送信順序(1B)は、コネクション(接続)内のデータ(パケット)送信順を示す番号である。送信単位毎に値が1インクリメントされる。これは、通信データの到達確認のために使用される。
【0084】
コード(1B)は、機器管理アプリケーションへの指示と応答を識別するコード情報である。分割番号(1B)は、分割ブロックの先頭からの位置であり、分割総数(1B)は、分割ブロックの総数であり、これらは、分割・結合情報である。ここで、対象データは、92B以下の分割ブロックに分割して送信される。長さ(1B)は、データ部のバイト数を示し、0〜92とされる。データ[分割ブロック](nB)は、データ送信対象のデータの分割ブロックあり、送受信処理部161から制御部155へ出力する、あるいは、制御部155から送受信処理部161が取得したデータをセットする領域である。すなわち、更新装置10Cから、セキュリティ処理部15の制御部155に対して発行するコマンドと、コマンドに対してセキュリティ処理部15の制御部155から更新装置10Cに返すレスポンスである。コネクション確立後、無線部101、セキュリティ処理部15の送受信処理部161は、コマンドとレスポンスを仲介するだけである。
【0085】
コマンドとレスポンスとしては、ID要求、ID応答、更新要求、更新応答、確認要求、確認応答に分類される。これらのうち、更新情報を送付する更新要求だけが、分割の対象になる。
【0086】
図14は、コードの一覧を示す。図示のごとく、コードとして、コネクション要求、コネクション開放、コマンド送信、レスポンス送信、ACKが規定されている。これらのいずれかが、
図13のコードに入力される。また、コードがコネクション要求の場合、
図13のデータには、更新装置10Cがコネクションの確立を要求するセキュリティ処理部の「機器ID」が入力される。コードがコマンド送信の場合、更新装置10Cから、直接、セキュリティ処理部15に対して発行するコマンドとそれに付随する情報がセットされる。コードがレスポンス送信の場合、
図13のデータには、セキュリティ処理部15の制御部155から更新装置10Cに返すレスポンスとそれに付随するデータがセットされる。コネクション開放およびACKの場合、
図13のデータは空となる。
【0087】
図15は、データ送信の基本手順を示すシーケンス図である。更新装置10Cと端末装置10との間ではブロードキャストによる無線通信がなされるので、100%の到達率を期待できないし、再送信の制御に適さない。そのため、更新装置10Cと端末装置10との間における管理データを送信する車車間通信における基本のデータ送信手順では、再送を前提とする。一方、通常のサービスデータを送信する車車間通信では、再送がなされない。ここでは、一例として、コネクションID=2で、更新装置10Cと端末装置10との間のコネクションが確立しているものとする。また、データ送信は、コネクション確立後3回目の送信であるとする。更新装置10Cは、端末装置10へデータ送信(2,3)を行う(S10)。ここで、コマンド送信(X,Y)の「X」は、コネクションIDを示し、「Y」は、送信順序を示す。
【0088】
コマンド送信(2,3)は、100m秒間隔でACKを受信するまで再送される(S12、S14)。再送において送信順序は変更されない。端末装置10は、受信したコマンド送信(2,3)のコネクションIDを確認し、コネクションID=2であれば受理し、更新装置10CへACK(2,3)を送信する(S16)。このときACKに付与する送信順序は受信したコマンド送信(2,3)の送信順序と同じであり、送信順序=3のコマンド送信(2,3)に対する応答であることを示している。なお、端末装置10からのACK送信後、再送が繰り返されるとき(S18)、端末装置10は、これを破棄してACK(2,3)を送信する(S20)。更新装置10Cが、ACK(2,3)を受信すると、送信順序が3から4に代わり、レスポンス送信(2,4)がなされる。同様に、端末装置10は、更新装置10CからのACK(2,4)を受信するまで、レスポンス送信(2,4)を再送する。レスポンス送信(2,4)を受信した更新装置10Cは、ACK(2,4)を端末装置10に返す。更新装置10Cは、ACK(2,4)送信後もレスポンス送信(2,4)を受信するとき、これを破棄する。逆に、を端末装置10は、ACK(2,4)送信後に再びACK(2,4)を受信したとき、これ破棄する。
【0089】
更新装置10Cが、コマンド送信(2,3)の送信を開始して、ACK(2,3)を受信してコマンド送信(2,3)の再送信を停止するまでの一連の処理、あるいは、端末装置10が、レスポンス送信(2,4)を送信して、ACK(2,4)を受信してレスポンス(2,4)の再送信を停止するまでの一連の処理が、1つの送信順序で管理される送信単位である。
【0090】
ここでは、コマンド送信およびレスポンス送信は、それぞれ更新装置10Cおよび端末装置10からのデータ送信の代表的なデータ送信であり、更新手順では手順に従ったデータ送信に置き換えられる。ACKは、データ送信を受信したしの受信を通知する。また、データ送信(コマンド送信およびレスポンス送信など)とその応答であるACKには、同一シーケンスIDを付するように説明したが、ACKに付けられるシーケンスIDを1加算しても同様な効果を得ることができる。
【0091】
さらには、更新装置10Cからのコマンド送信に対して、必ず、端末装置10からレスポンス送信が返される様な場合、端末装置10からのACK送信を無くしても良い。この場合、更新装置10Cは、コマンド送信に対するレスポンス送信の送信がなされないときタイムアウトして、コマンド送信後の一連の処理が終了しなかったと判断することができる。
【0092】
ここで更新の対象となる端末装置10を特定し、その機器IDを取得する手順について説明する。機器IDを取得する手順は以下に示す。
1)更新装置10Cの処理を開始する。
2)更新装置10Cは、車車間通信によるパケット信号を受信して、機器IDを収集する。
3)一定時間経過後、対象となる端末装置10の起動を指示する。この指示にしたがい、端末装置10を搭載した車両100を始動し、端末装置10を活性化させる。具体的には、車両のエンジンを掛け、端末装置10に駆動用の電力を供給する。
4)端末装置10の起動を指示後に、受信したパケット信号の機器IDを収集し、1)で収集した機器ID以外の機器IDをもつパケット信号を送信する端末装置10を対象の候補とする。
5)候補からのパケット信号のうち、受信強度が高く、パケットの到達率≒100%であるものを1つ選択して、更新対象とさだめ、機器IDを取得する。
なお、ここでは対象機器を特定するために取得する端末装置10の識別情報を機器IDとしたが、通常の車車間通信で送信されるサービスデータに含まれる車両ID、あるいは、MACヘッダに含まれる送信元のMACアドレスや送信元無線機を識別する識別番号を機器IDに換えて収集、取得してもよい。この場合、コネクション要求では、対象機器を特定するために取得した「車両ID」、「MACアドレス」、「無線機識別番号」をそのまま送信しても良いし、他の識別情報に置き換えて送信してもよい。なお、端末装置10は、5)において更新対象とさだめた端末装置10から受信したパケット信号から取り出されたメッセージの鍵IDのテーブルIDを取得して、鍵情報の更新のためメッセージの生成には、取得したテーブルIDが示す共通鍵テーブルを用いる。
【0093】
図16は、鍵情報の更新手順を示すシーケンス図である。このシーケンス図は、
図15をもとにしている。そのため、
図16においては、再送を省略している。また、ここでも、コネクションID=2で、更新装置10Cの送受信処理部161Cと端末装置10の送受信処理部161との間のコネクションが確立するものとする。以降、説明を簡単にするため、適時、送受信処理部161Cおよび送受信処理部161を省略し、更新装置10Cは、端末装置10との間でコネクションを確立するとして説明する。端末装置10は通常送信を行う(S50)。このステップは機器IDを取得する手順の4)5)に相当する。更新装置10Cは、対象となる端末装置10のパケット信号を特定し機器IDを得る。更新装置10Cは、端末装置10へコネクション要求(2,1,機器ID)を送信する(S52)。ここで、コネクション要求(2,1,機器ID)のうち、「2」はコネクションIDを示し、「1」は送信順序を示す。コネクション要求(2,1,機器ID)を受信した端末装置10は、機器IDの比較により自身宛であることを認識し、その際にコネクションIDを取得し、通常モードから更新モードに移行する。なお、コネクションの確立をブザーなどにより通知することが望ましい。端末装置10は、ACK(2,1)を更新装置10Cへ送信する(S54)。
【0094】
更新装置10Cは、端末装置10へのコマンド送信(2,2,ID要求1/1)を実行する(S56)。端末装置10は、ACK(2,2)を更新装置10Cへ送信する(S58)。端末装置10の送受信処理部161はコマンド送信を受け取ると、コマンドであるID要求を取り出し、取り出したID要求をそのままセキュリティ処理部15の制御部155へ送信し(S60)、セキュリティ処理部15の制御部155は、記憶部154に記憶されている機器IDを付随したID応答を送受信処理部161へ出力する(S62)。送受信処理部161は、ID応答を受け取ると、更新装置10Cへのレスポンス送信(2,3,ID応答1/1)を送信し(S64)、更新装置10Cは、レスポンス送信(2,3,ID応答1/1)を受信するとACK(2,3)を端末装置10へ送信する(S66)。さらに、更新装置10Cは、受信したレスポンス送信(2,3,ID応答1/1)から機器IDを取り出して、システム運用管理装置300へ取り出した機器IDを送信する(S68)。
【0095】
図17は、
図16に続く鍵情報の更新手順を示すシーケンス図である。機器IDを受け取ったシステム運用管理装置300は、機器IDに基づき端末装置10に対する更新情報(端末装置10のセキュリティ処理部15に固有の更新鍵で暗号化された更新用の共通鍵テーブル)を更新装置10Cへ送信する(S70)。更新装置10Cは、更新情報を受け取ると、受け取った更新情報を付随した更新要求を端末装置10へ送信する。更新要求は、サイズが大きいためN(Nは自然数)個のブロックに分割されてコマンド送信(2,4,更新要求1/N)、・・・・、コマンド送信(2,3+N,更新要求N/N)として送信される。更新装置10Cはコマンド送信(2,4,更新要求1/N)を送信し、(S72)、これを受信した端末装置10の送受信処理部161は、ACK(2,4)を送信する(S74)。このような処理は、分割ブロックの数N回実行される。分割された最後の分割ブロックは、コマンド送信(2,3+N,更新要求N/N)として送信され(S76)、これを受信した端末装置10の送受信処理部161は、ACK(2,3+N)を送信する(S78)。
【0096】
送受信処理部161は、コマンド送信(2,4,更新要求1/N)、・・・・、コマンド送信(2,3+N,更新要求N/N)を受信すると、各コマンド送信に含まれるブロックを結合して更新要求を得る。そして更新要求をセキュリティ処理部15の制御部155へ送信する(S80)。セキュリティ処理部15の制御部155は、更新要求から更新情報を取り出して、更新鍵で復号して更新用の共通鍵テーブルを得る。そして、記憶部154の共通鍵テーブルを、更新用の共通鍵テーブルで更新する。更新処理が終了すると書込完了を送受信処理部161へ出力する(S82)。送受信処理部161は、レスポンス送信(2,4+N,更新応答1/1)を送信し(S84)、更新装置10Cは、ACK(2,4+N)を送信する(S86)。次いで、更新装置10Cは、端末装置10のセキュリティ処理部15の記憶部154に記憶されて共通鍵テーブルを確認するためのコマンド送信(2,5+N,確認要求1/1)を送信する(S88)。端末装置10の送受信処理部161は、コマンド送信(2,5+N,確認要求1/1)を受信すると、ACK(2,5+N)を送信する(S90)。送受信処理部161は、受信したコマンド送信(2,5+N,確認要求1/1)から確認要求を取り出し、セキュリティ処理部15の制御部155へ送信する(S92)。セキュリティ処理部15の制御部155は、確認要求を受けとると、記憶部154に記録されている共通鍵テーブルのバージョンとテーブルID、送信用鍵テーブルを指定するテーブルID、機器IDを取得して、これを付随データとする確認応答を送受信処理部161へ出力する(S94)。
【0097】
送受信処理部161は、確認応答を受け取ると、レスポンス送信(2,6+N,確認応答1/1)を送信する(S96)。レスポンス送信(2,6+N,確認応答1/1)を受信した更新装置10Cは、ACK(2,6+N)を送信し(S98)、システム運用管理装置300へ確認応答の付随データを送信する(S100)。次いで、更新装置10Cは、端末装置10へコネクション開放(2,7+N)を送信し(S102)、端末装置10の送受信処理部161は、コネクション開放(2,7+N)を受信すると、ACK(2,7+N)を送信する(S104)。そして、端末装置10は、更新モードから通常モードに戻る。また、更新装置10Cが、ACK(2,7+N)を受信するとコネクションID=2のコネクションが開放される。
【0098】
図18は、鍵情報の別の更新手順を示すシーケンス図である。
図18は、
図17の鍵情報の更新手順を示すシーケンス図に続く。すなわち、
図16のシーケンス図におけるステップS56、S58、S60、S62、S64,S66をステップS156、S158、S160、S162、S164、S166に変更したのみでの他の処理は変わらない。ここでは、変更点のみ説明する。コネクション確立(S54)後、更新装置10Cは、端末装置10のセキュリティ処理部15の記憶部154に記憶されて共通鍵テーブルを確認するためのコマンド送信(2,2,確認要求1/1)を送信する(S156)。端末装置10の送受信処理部161は、コマンド送信(2,2,確認要求1/1)を受信すると、ACK(2,2)を送信する(S158)。送受信処理部161は、受信したコマンド送信(2,2,確認要求1/1)から確認要求を取り出し、セキュリティ処理部15の制御部155へ送信する(S160)。セキュリティ処理部15の制御部155は、確認要求を受けとると、記憶部154に記録されている共通鍵テーブルのバージョンとテーブルID、送信用鍵テーブルを指定するテーブルID、機器IDを取得して、これを付随データとする確認応答を送受信処理部161へ出力する(S162)。
【0099】
送受信処理部161は、確認応答を受け取りと、レスポンス送信(2,3,確認応答1/1)を送信する(S164)。レスポンス送信(2,3,確認応答1/1)を受信した更新装置10Cは、ACK(2,3)を送信し(S166)する。更新装置10Cは、付随データから共通鍵テーブルのバージョンとテーブルIDを取り出し、更新用の共通鍵テーブルのバージョンとテーブルIDと、付随データから共通鍵テーブルのバージョンとテーブルIDを比較して、セキュリティ処理部15の記憶部154に記録されている共通鍵テーブルを更新すべきかどうかを判断する。更新が必要と判断されたとき、システム運用管理装置300へ確認応答の付随データを送信する(S168)。この付随データには機器IDも含まれるため、
図16のステップS68の機能も備えている。更新が必要と判断されたとき、
図17のステップS102を行い、コネクションを開放する。
【0100】
本発明の実施例によれば、更新用の共通鍵テーブルが複数に分割された部分テーブルのそれぞれを取得するので、ひとつのパケット信号で伝送可能なサイズよりも更新用の共通鍵テーブルのサイズの方が大きくても、更新用の共通鍵テーブルを伝送できる。また、ひとつのパケット信号で伝送可能なサイズよりも更新用の共通鍵テーブルのサイズの方が大きくても、更新用の共通鍵テーブルが伝送されるので、車車間通信においても更新用の共通鍵テーブルを伝送できる。また、更新用の共通鍵テーブルが伝送されるので、暗号鍵が漏洩することによるセキュリティ低下を緩和させることができる。また、ACKが更新センターに受信されるまで、同一の部分テーブルを取得するので、誤りが発生する環境下においても部分テーブルを正確に伝送できる。
【0101】
更新の対象となる端末装置10を特定する別の手順について説明する。
図19(a)−(b)は、セキュリティフレームを構成するメッセージのデータ構造の別の例を示す。
図19(a)−(b)のセキュリティフレームは、それぞれ、
図5(a)−(b)のセキュリティフレームにおける「機器ID」の直下に、新たに「管理コード」を加えた構成になっている。
図20は、管理コードの割り当て例である。端末装置10では、端末装置10が鍵情報の更新のためのコネクション要求を受け入れできる状態(connectable状態という)、更新装置10Cとコネクションを確立した状態(connected状態という)、通常状態の3形態を示すものとする。また、更新装置10Cに対してはコネクション要求を送信する状態(connectable状態という)、と端末装置10とコネクションを確立した状態(connected状態という)の2形態を示すものとする。
【0102】
管理コードが「0」は通常状態を示し、管理コード「1」はConnectable端末装置を示し、管理コード「2」はConnected端末装置を示し、管理コード「3」はConnectable更新装置を示し、管理コード「4」はConnected更新装置を示す。さらに、管理コード「それ以外」は予約を示し、更新装置とのコネクション以外に使用される。
【0103】
管理コードを用いて更新の対象となる端末装置10を特定し、その機器IDを取得する手順について説明する。機器IDを取得する手順は以下に示す。
1)更新装置10Cの処理を開始する。
2)対象となる端末装置10の起動を指示する。この指示にしたがい、端末装置10を搭載した車両100を始動し、端末装置10を活性化させる。具体的には、車両のエンジンを掛け、端末装置10に駆動用の電力を供給する。端末装置10は活性化直後を、鍵情報の更新のためのコネクション要求を受け入れできるconnectable状態となり、メッセージの管理コードに、connectable(1)をセットした車車間通信のパケット信号を報知する。
3)端末装置10は、受信したパケット信号のから、管理コードがconnectable(1)を示すメッセージを選択して、そのメッセージに含まれる機器IDを取得し、パケット信号を送信する端末装置10を対象の候補とする。
4)候補からのパケット信号のうち、受信強度が所定の値より高く、かつ、パケットの到達率≒100%であるものを1つ選択して、更新対象とさだめ、その端末装置10に対してコネクション要求を受信する。
【0104】
端末装置10は、Connectable状態で、更新装置10Cからの自身宛のコネクション要求を受信すると、更新装置10Cとの間でコネクション確立して、Connected状態に移行する。Connected状態では、管理コードにConnected(2)をセットした車車間通信のパケット信号を報知する。なお、端末装置10は、Connectable状態のまま予め定めた所定の時間、例えば、30秒経過すると、通常状態に移行してコネクション要求を受けつけなくなると同時に、メッセージの管理コードに、通常状態(0)をセットした車車間通信のパケット信号を報知する。
【0105】
図21は、データ構造の別の例における鍵情報の更新手順を示すシーケンス図である。これは、
図16に管理コードを追加したものであり、ここでは説明を省略する。
図22は、
図21に続くデータ構造の別の例における鍵情報の更新手順を示すシーケンス図である。これは、
図17に管理コードを追加したものであり、ここでは説明を省略する。
【0106】
図23は、端末装置10における状態遷移を示す。なお、制限時間T1>制限時間T2である。状態遷移および各状態において実行可能な処理は、前述の通りである。
【0107】
図24は、端末装置10における別の状態遷移を示す図である。
図23では、Connected状態の端末装置10は制限時間T2の間に更新装置10Cからのパケット信号を受信しないとタイムアウトし、通常状態に移行するものとしていたが、
図24では、Connectable状態に移行するように変更した。これによって、端末装置10に対して再接続に機会を与えるようした。更新装置10Cは、端末装置10から何らかの事情でタイムアウトし、コネクションを開放してしまったことを端末装置10は送信するパケット信号の状態コードの変化(Connected⇒Connectable)によって検知した場合に、速やかにコネクション要求のパケット信号を送信することでコネクションの再確立を可能とした。
【0108】
このように端末装置10が状態コードによってコネクションが確立できる状態にいるかどうか通知することで、更新装置10Cにおける鍵更新対象の端末装置10の特定率を高めることができる。また、端末装置10において更新のために更新装置10Cとコネクションを確立する時間を制限することで、制限時間外でのコネクション要求を受け付ける必要がなくなるため処理の軽減を図ることができる。
【0109】
以下では、
図19(a)−(b)に示されたセキュリティフレームを構成するメッセージのデータ構造の変形例を説明する。本変形例では、端末装置10において受信されるパケット信号の送信元が更新装置10Cであることをこれまでよりも明確に示すことを目的とする。そのため、本変形例では、
図19(a)−(b)に示されたセキュリティフレームを構成するメッセージのうち、機器ID、管理コードがこれまでと異なる。
【0110】
機器IDとして所定のデータサイズが確保される。ここでは、例えば、機器IDが4バイトであるとされる。前述のごとく、機器IDは、「種別」および「個別情報」により構成され、「種別」として例えば4ビット(0〜15)が確保される。これまでは、「種別」によって、路側機であるか、緊急車両であるか、一般車両であるかが識別されている。本変形例では、種別における特定の値、例えば、「15」をシステム運用管理機関30によって運用される装置に割り当てる。更新装置10Cはシステム運用管理機関30によって運用される装置に相当するので、機器IDにより、詳しくは種別によって、端末装置10や基地局装置20と区別し、更新装置10Cを特定することが可能になる。
【0111】
このような機器IDの変更によって、管理コードも変更される。これまでの管理コードの値は、
図20に示されるように、端末装置10であるか更新装置10Cであるかによって異なっている。しかしながら、これらの識別は機器IDによってなされるので、管理コードの簡略化が可能になる。
図25は、セキュリティフレームにおける別の管理コードの一覧を示す。管理コードによって、鍵情報の更新のためのコネクション要求を受け入れできる状態(connectable状態という)、コネクションを確立した状態(connected状態という)、通常状態の3形態が識別される。このようにすることによって、端末装置10と更新装置10Cに対する管理コードを共通化できる。
【0112】
次に、更新装置10C−端末装置10間における通信のシーケンスの変形例を説明する。
図17、
図22において、更新装置10Cが端末装置10へコマンド送信を実行するごとに、端末装置10は更新装置10CへACKを送信している。そのため、管理データが複数の分割ブロックにて構成される場合、ひとつの分割ブロックが送信されると、ひとつのACKが送信される。変形例では、更新装置10Cがすべての分割ブロックを送信するまで、端末装置10は、ACKを送信しない。つまり、更新装置10Cは、端末装置10からのACKを待たずに、複数の分割ブロックを連続送信する。端末装置10は、すべての分割ブロックを受信し、それらの結合を完了した場合に、ACKを送信する。
【0113】
図26は、更新装置10C−端末装置10における端末装置10の鍵情報の別の更新手順を示すシーケンス図である。更新装置10Cは、更新情報を付随した更新要求を端末装置10へ送信する。更新要求は、サイズが大きいためN(Nは自然数)個のブロックに分割されてコマンド送信(2,4,更新要求1/N)、・・・・、コマンド送信(2,3+N,更新要求N/N)として送信される。更新装置10Cはコマンド送信(2,4,更新要求1/N)を送信すると(S320)、端末装置10からの応答を待たずに、続いてコマンド送信(2,5,更新要求2/N)を送信する(S322)。このような処理は、分割ブロックの送信がN回実行される。最後の分割ブロックは、コマンド送信(2,3+N,更新要求N/N)として送信される(S324)。端末装置10は、コマンド送信(2,4,更新要求1/N)、・・・・、コマンド送信(2,3+N,更新要求N/N)を受信すると、受信した複数の分割ブロックを受信順に結合する(S326)。結合が完了すると端末装置10の送受信処理部161は、ACK(Connected,2,3+N)を送信する(S328)。
【0114】
さらに、このようなシーケンスにおいて、更新装置10Cからのコマンド送信に誤りが生じた場合の処理を説明する。これは、端末装置10において受信した分割ブロックの送信順序に飛び番号が生じた場合に相当する。端末装置10は、分割ブロックの誤りを検出することによって、複数の分割ブロックの結合に失敗した場合、更新装置10CへNACKを送信する。NACKの送信によって、分割ブロックの結合失敗が更新装置10Cに通知される。端末装置10は、複数の分割ブロックを最初から再送する。
【0115】
図27は、更新装置10C−端末装置10における端末装置10の鍵情報のさらに別の更新手順を示すシーケンス図である。更新装置10Cは、更新情報を付随した更新要求を端末装置10へ送信する。更新要求は、サイズが大きいためN(Nは自然数、N>5)個のブロックに分割されてコマンド送信(2,4,更新要求1/N)、・・・・、コマンド送信(2,3+N,更新要求N/N)として送信される。更新装置10Cは、コマンド送信(2,4,更新要求1/N)を送信し(S340)、コマンド送信(2,5,更新要求2/N)を送信し(S342)、コマンド送信(2,6,更新要求3/N)を送信し(S344)、コマンド送信(2,7,更新要求4/N)を送信し(S346)、コマンド送信(2,8,更新要求5/N)を送信する(S348)。端末装置10は、コマンド送信(2,4,更新要求1/N)を受信し(S340)、コマンド送信(2,5,更新要求2/N)を受信し(S342)、コマンド送信(2,6,更新要求3/N)を受信する。そして、端末装置10は、コマンド送信(2,7,更新要求4/N)の受信に失敗し(S346)、コマンド送信(2,8,更新要求5/N)を受信する。端末装置10は、コマンド送信(2,8,更新要求5/N)を受信すると、受信したコマンド送信(2,8,更新要求5/N)に含まれる分割ブロック、更新要求5/Nと、直前に受信したコマンド送信(2,6,更新要求3/N)に含まれる分割ブロック、更新要求3/Nとが不連続であることをから、コマンド送信(2,7,更新要求4/N)の受信に失敗して消失したと判断する(S350)。端末装置10の送受信処理部161は、NACK(Connected,2,8)を送信する(S352)。更新装置10Cは、NACKを受信すると、後続の分割ブロックを含むコマンドの送信を中止して最初の分割ブロックからの再送を決定する(S354)。そして、コマンド送信(2,9,更新要求1/N)、・・・・、コマンド送信(2,8+N,更新要求N/N)の送信を開始し、まずコマンド送信(2,9,更新要求1/N)を送信する(S356)。
図26に従い結合を完了するまで、
図27のシーケンスを繰り返す。
【0116】
再送は、結合失敗の場合に加えて、タイムアウトが発生した場合にもなされる。端末装置10は、分割ブロックを受信してから、次の分割ブロックを受信するまでの期間がしきい値よりも長くなると、タイムアウトの発生を検出する。タイムアウトの発生を検出した場合、更新装置10CへNACKを送信する。NACKの送信によって、分割ブロックに対するタイムアウトが更新装置10Cに通知される。端末装置10は、複数の分割ブロックを最初から再送する。
【0117】
図28は、更新装置10C−端末装置10における端末装置10の鍵情報のさらに別の更新手順を示すシーケンス図である。更新装置10Cは、更新情報を付随した更新要求を端末装置10へ送信する。更新要求は、サイズが大きいためN(Nは自然数)個のブロックに分割されてコマンド送信(2,4,更新要求1/N)、・・・・、コマンド送信(2,3+N,更新要求N/N)として送信される。更新装置10Cは、コマンド送信(2,4,更新要求1/N)を送信し(S370)、コマンド送信(2,5,更新要求2/N)を送信する(S372)。このような処理は、分割ブロックの送信がN回実行される。端末装置10は、コマンド送信(2,4,更新要求1/N)を受信し(S370)、コマンド送信(2,5,更新要求2/N)を受信した(S372)後、更新装置10Cから一定期間(時間t)経過しても、後続の分割ブロックを含むコマンド送信(コマンド送信(2,6,更新要求1/N)、コマンド送信(2,7,更新要求1/N)、・・・)を受信しない(S374、S376、・・・)場合、タイムアウトの発生を検出する(S378)。ここで、タイムアウトになるまでの時間tは、「100m/秒<<t<制限時間T2」のように示される。制限時間T2は、Connected状態から通常状態に移行されるまでの時間である。端末装置10の送受信処理部161は、NACK(Connected,2,5)を送信する(S380)。更新装置10Cは、NACKを受信すると、分割されたコマンドの送信を中止して最初の分割ブロックからの再送を決定する(S382)。そして、コマンド送信(2,6,更新要求1/N)、・・・・、コマンド送信(2,5+N,更新要求N/N)の送信を開始、まずコマンド送信(2,6,更新要求1/N)を送信する(S384)。
【0118】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0119】
本発明の一態様の概要は、次の通りである。本発明のある態様の車載器は、パケット信号をブロードキャスト送信する車車間通信を実行する車載器であって、車車間通信に使用可能な共通鍵を複数種類含む共通鍵テーブル、自己の識別情報、当該識別情報に紐付けされた更新鍵を記憶するための記憶部と、車車間通信を実行可能な期間において、無線装置との車車間通信を実行する通信部と、通信部において無線装置から受信したコネクション要求に含まれた識別情報と、記憶部に記憶した識別情報とが対応している場合に、通信部において無線装置から受信した更新用の共通鍵テーブルであって、かつ更新鍵を使用して暗号化された更新用の共通鍵テーブルを取得する取得部と、取得部において取得した更新用の共通鍵テーブルを、記憶部に記憶した更新鍵を使用して復号する復号部とを備える。取得部は、更新用の共通鍵テーブルとして、更新用の共通鍵テーブルが複数に分割された部分テーブルのそれぞれを取得する。
【0120】
この態様によると、更新用の共通鍵テーブルが複数に分割された部分テーブルのそれぞれを取得するので、ひとつのパケット信号で伝送可能なサイズよりも更新用の共通鍵テーブルのサイズの方が大きくても、更新用の共通鍵テーブルを伝送できる。
【0121】
通信部は、ACKを無線装置へ送信し、取得部は、ひとつの部分テーブルを取得した場合に、当該ひとつの部分テーブルに対するACKが無線装置に受信されるまで、同一の部分テーブルを取得してもよい。この場合、ACKが無線装置に受信されるまで、同一の部分テーブルを取得するので、誤りが発生する環境下においても部分テーブルを正確に伝送できる。
【0122】
本発明の別の態様は、端末装置である。この装置は、車載器との間で車車間通信を実行する端末装置であって、車車間通信によるパケット信号を受信することによって収集した端末装置固有の識別情報をもとに、対象となる車載器の起動を指示してから、車載器から受信したパケット信号の端末装置固有の識別情報を収集することによって、既に収集した端末装置固有の識別情報以外の端末装置固有の識別情報をもつパケット信号を送信した車載器を対象の候補とし、候補からのパケット信号のうち、受信強度が高く、パケットの到達率が高い車載器を更新対象として選択する第1処理部と、第1処理部において選択した車載器に対して、共通鍵テーブルの更新を実行させる第2処理部と、を備える。
【0123】
本発明のさらに別の態様は、車載器である。この車載器は、パケット信号をブロードキャスト送信する車車間通信を実行する車載器であって、車車間通信に使用可能な共通鍵を複数種類含む共通鍵テーブル、自己の識別情報、当該識別情報に紐付けされた更新鍵を記憶するための記憶部と、車車間通信を実行可能な期間において、無線装置との車車間通信を実行する通信部と、通信部において無線装置から受信したコネクション要求を受理可能な第1の状態と、コネクション要求を受理して無線装置との間でコネクションを確立した状態と、に含まれた識別情報と、記憶部に記憶した識別情報とが対応している場合に、通信部において無線装置から受信した更新用の共通鍵テーブルであって、かつ更新鍵を使用して暗号化された更新用の共通鍵テーブルを取得する取得部と、取得部において取得した更新用の共通鍵テーブルを、記憶部に記憶した更新鍵を使用して復号する復号部とを備える。取得部は、更新用の共通鍵テーブルとして、更新用の共通鍵テーブルが複数に分割された部分テーブルのそれぞれを取得する。
【0124】
この態様によると、更新用の共通鍵テーブルが複数に分割された部分テーブルのそれぞれを取得するので、ひとつのパケット信号で伝送可能なサイズよりも更新用の共通鍵テーブルのサイズの方が大きくても、更新用の共通鍵テーブルを伝送できる。
【0125】
本発明のさらに別の態様は、端末装置である。この装置は、車載器との間で車車間通信を実行する端末装置であって、車車間通信によるパケット信号を受信することによって収集した端末装置固有のIDをもとに、対象となる車載器の起動を指示してから、車載器から受信したパケット信号の端末装置固有のIDを収集することによって、既に収集した端末装置固有のID以外の端末装置固有のIDをもつパケット信号を送信した車載器を対象の候補とし、候補からのパケット信号のうち、受信強度が高く、パケットの到達率が高い車載器を更新対象として選択する第1処理部と、第1処理部において選択した車載器に対して、共通鍵テーブルの更新を実行させる第2処理部と、を備える。