共通鍵を管理する鍵管理サーバ、路側機、車載機で構成する車車/路車間通信システムにおいて、鍵管理サーバがエリアの管理をおこない、あるエリアに存在する路側機および車載機は同じ共通鍵を共有し、共有した共通鍵を使ってメッセージの機密性または完全性、もしくはその両方を保証することを特徴とする車車/路車間通信システム。請求項1に記載の車車/路車間通信システムであって、鍵管理サーバが各エリアの共通鍵を生成し、路側機に対して、路側機が属するエリアおよび近隣エリアの共通鍵を配布することを特徴とする車車/路車間通信システム。請求項1または2に記載の車車/路車間通信システムであって、車載機は路側機と通信可能になると、車載機と路側機の間で認証をおこない、認証が成功した場合、路側機が、車載機に、路側機が属するエリアおよび近隣エリアの共通鍵を配布することを特徴とする路側機から車車/路車間通信システム。請求項3に記載の車車/路車間通信システムにおいて、車載機が目的地までの経路情報または走行履歴情報を路側機に送信し、路側機は車載機から受信した情報から車載機に送信する近隣エリアの共通鍵を選択する、または路側機は全ての近隣エリアの共通鍵を車載機に送信し、車載機が目的地までの経路情報または走行履歴情報から車載機に記憶する近隣エリアの共通鍵を選択することを特徴とする車車/路車間通信システム。請求項1から4のいずれか一に記載の車車/路車間通信システムであって、利用期間と配布期間がほぼ同じ本来鍵と利用期間より配布期間が長い事前鍵の2種類の共通鍵が存在し、路側機または車載機は、本来鍵を有している場合は本来鍵を利用し、本来鍵を有していない場合は事前鍵を使ってメッセージの機密性または完全性、もしくはその両方を保証することを特徴とする車車/路車間通信システム。請求項5に記載の車車/路車間通信システムであって、鍵管理サーバが各エリアの本来鍵と事前鍵の2種類の共通鍵を生成し、各路側機に対して、路側機が存在するエリアの本来鍵と事前鍵、近隣エリアの本来鍵と事前鍵を配布することを特徴とする車車/路車間通信システム。請求項5または6に記載の車車/路車間通信システムであって、車載機が路側機と通信可能になると、車載機と路側機の間で認証をおこない、認証が成功した場合、路側機が、車載機に、路側機が属するエリアの本来鍵と事前鍵、近隣エリアの本来鍵と事前鍵を配布することを特徴とする車車/路車間通信システム。請求項7に記載の車車/路車間通信システムにおいて、車載機が走行履歴情報を路側機に送信し、路側機は車載機から受信した走行履歴情報から車載機に送信する路側機が属するエリアの事前鍵のバージョンを選択する、または、車載機が走行履歴情報から必要となる可能性が高い事前鍵のバージョンを判断し、路側機が車載機に送信する事前鍵のバージョンを車載機が要求することを特徴とする車車/路車間通信システム。請求項1に記載の車車/路車間通信システムに用いる通信装置であって、前記装置が属するエリアの共通鍵および近隣エリアの共通鍵を記憶し、他の装置に共通鍵を配布する際には、他の装置が属するエリアおよび近隣エリアの共通鍵を配布する機能を有することを特徴とする通信装置。請求項9に記載の通信装置であって、共通鍵を取得する装置から目的地までの経路情報や走行履歴情報を取得し、共通鍵を取得する装置が利用する可能性の高い近隣エリアの共通鍵を選択し、配布する機能を有することを特徴とする通信装置。請求項9または10に記載の通信装置であって、各エリアの共通鍵を生成する機能を有することを特徴とする通信装置。請求項9または10に記載の通信装置であって、共通鍵を配布する装置から、装置が存在するエリアおよび近隣エリアの共通鍵を取得する機能を有することを特徴とする通信装置。請求項12に記載の通信装置であって、共通鍵を配布する装置に、目的地までの経路情報や走行履歴情報を送信し、利用する可能性が低い近隣エリアの共通鍵は受信せずに利用する可能性が高い近隣エリアの共通鍵を受信する、または共通鍵を配布する装置が属するエリアの全ての近隣エリアの共通鍵を取得し、目的地までの経路情報や走行履歴情報から記憶する近隣エリアの共通鍵を選択する機能を有することを特徴とする通信装置。請求項5に記載の車車/路車間通信システムに用いる、請求項9から請求項11のいずれかに記載の通信装置であって、共通鍵として、利用期間と配布期間がほぼ同じ本来鍵と利用期間より配布期間が長い事前鍵を配布する機能と、共通鍵を生成する機能を有する場合は本来鍵と事前鍵を生成する機能を有することを特徴とする通信装置。請求項14に記載の通信装置であって、共通鍵を取得する装置から走行履歴情報を取得し、利用される可能性が高いバージョンの事前鍵を選択し、送信する機能を有することを特徴とする通信装置。請求項12または13に記載の通信装置であって、共通鍵を配布する装置から、装置が存在するエリアの本来鍵と事前鍵、近隣エリアの本来鍵と事前鍵を取得する鍵取得機能を有することを特徴とする通信装置。請求項16に記載の通信装置であって、共通鍵を配布する装置から1つ以上のバージョンの事前鍵を取得し、走行履歴情報をもとに利用する可能性が高いバージョンの事前鍵を記憶する機能を有することを特徴とする通信装置。請求項14または15に記載の通信装置であって、請求項16または17に記載の鍵取得機能を有することを特徴とする装置。請求項9から18のいずれか一に記載の通信装置であって、装置が属するエリアを検知し、該当するエリアの共通鍵を使って、メッセージの暗号化またはMAC生成、もしくはその両方をおこなう機能を有することを特徴とする通信装置。請求項14から19のいずれか一に記載の通信装置であって、利用可能な本来鍵を記憶している場合は本来鍵を利用し、利用可能な本来鍵は記憶していないが利用可能な事前鍵を記憶している場合は事前鍵を利用してメッセージの暗号化またはMAC生成、もしくはその両方をおこなう機能を有することを特徴とする通信装置。非特許文献1では、公開鍵暗号を用いてメッセージの完全性を保証する。各装置は自身の公開鍵と秘密鍵のペアを保有する。メッセージ送信装置は、秘密鍵を用いてメッセージの署名を生成し、メッセージとともに署名および公開鍵を送信する。メッセージ受信装置は、受信した公開鍵を用いて署名を検証する。署名を検証するための鍵は公開可能なため、メッセージや署名とともに公開鍵を配布しても問題ないが、一般的に公開鍵暗号は処理時間がかかるため、車車/路車間通信のようなリアルタイム性が求められる通信には適さない。しかし、共通鍵暗号を用いる場合、メッセージ送受信装置間で鍵を安全に共有する仕組みが必要である。路車間通信において共通鍵を共有する仕組みとしては特許文献1がある。特許文献1では、車載機が路側機と通信可能なエリアに入るたびに、車載機の位置情報を車載機に記憶するとともに、路側機を介してサーバにも送信する。サーバは、受信した車載機の位置情報を蓄積しておく。サーバと車載機が通信する際には、車載機とサーバが、それぞれ蓄積された位置情報から鍵を生成し、生成した鍵を使って暗号化通信をおこなう。上記方式を車車間通信に適用する場合、車載機は路側機と通信可能なエリアに入るたびに、サーバを介して通信相手の車載機に車載機自身の位置情報を送信する。サーバは路側機を介して通信相手の車載機へ位置情報を送信するが、このとき通信相手の車載機が路側機と通信可能なエリアに存在するとは限らないため、通信する車載機間で同じ位置情報を共有することが難しい。また、メッセージをブロードキャストまたはジオキャストする場合、メッセージを受信する複数の車載機がメッセージを復号できる必要があるため、全ての車載機で同じ共通鍵を共有する、またはメッセージを受信する車載機ごとに共有した共通鍵を使って暗号化メッセージを送る必要がある。前者を上記方式で実現する場合、位置情報を受信できない車載機が存在する可能性もある上、いつどの車載機からメッセージを受信するか分からないため、各車載機は全ての車載機の位置情報を蓄積しておく必要があり、車載機に必要なメモリが増加するという問題もある。後者を上記方式で実現する場合も、位置情報を受信できない車載機が存在する可能性もある上、メッセージを受信する車載機の数分、メッセージを送信する必要があり、ネットワーク帯域を圧迫するという問題がある。本明細書では、このような事情に鑑みて、車車/路車間通信を用いて、メッセージを送受信する装置間で共通鍵を共有するシステム、装置、方法が開示される。開示される、通信路を流れるメッセージの完全性または機密性、もしくはその両方を保証するための共通鍵を管理する車車/路車間通信システムは、鍵管理サーバ、路側機、車載機で構成される。鍵管理サーバは、エリアの管理をおこなう。鍵管理サーバが分割したエリアに存在する路側機および車載機で、共通鍵を共有する。共通鍵は、本来鍵と事前鍵の2種類が存在し、それぞれ利用可能な期間と車載機への配布可能な期間が定められている。本来鍵は、本来鍵の利用開始時間の少し前から本来鍵の利用終了時間の少し後まで車載機に配布することができる。事前鍵は、事前鍵の利用開始時間よりもずっと前から事前鍵の利用終了時間の少し後まで車載機に配布することができる。鍵管理サーバは、エリア毎の共通鍵を生成する。各エリアに対して、複数のバージョンの共通鍵を事前に生成する。以下、現在のバージョンとは、その時点で利用可能な共通鍵のことを指し、次のバージョンとは、現在のバージョンの次に利用可能となる共通鍵のことを指す。路側機を設置した時や鍵更新が発生した時に、鍵管理サーバと路側機との間で、互いの装置が正しいことを確認し、鍵管理サーバは、路側機に、路側機が属するエリアの複数バージョンの共通鍵と近隣エリアの現在のバージョンの共通鍵を配布する。車載機が路側機と通信可能になると、車載機と路側機との間で、互いの装置が正しいことを確認し、路側機は、車載機に、路側機が属するエリアの現在のバージョンの共通鍵、路側機が属するエリアの次のバージョンの事前鍵、および近隣エリアの現在のバージョンの共通鍵を配布する。車載機は、近隣エリアの共通鍵も路側機から取得することで、次のエリアに入ったが、路側機と通信ができない場合でも、前のエリアで次のエリアの共通鍵を取得済みのため、メッセージの完全性または機密性、もしくはその両方が保証された車車間通信が可能となる。また、路側機から現在のバージョンの共通鍵と次のバージョンの事前鍵を取得することで、車載機が停止している間に共通鍵の更新が発生し、車載機が再び起動したときに路側機と通信ができない場合や、路側機と通信ができない間に共通鍵の更新が発生した場合でも、事前鍵を使って、完全性または機密性、もしくはその両方が保証されたメッセージを生成することができる。また、車載機が路側機から共通鍵を取得する場合、車載機が利用可能な情報によって、車載機に必要なメモリサイズの抑制やメッセージの完全性または機密性、もしくはその両方を保証したメッセージの送信確率の向上を図ることができる。例えば、目的地までの経路情報が利用可能な場合は、路側機から近隣エリアの共通鍵を取得する際に、目的地までの経路が属しているエリアの共通鍵を取得すれば、目的地までの経路が属していないエリアの共通鍵は取得しなくてもよい。走行履歴情報が利用可能な場合は、次に走行する確率の高いエリアの共通鍵を取得すれば、次に走行する確率の低いエリアの共通鍵は取得しなくてもよい。このように、取得する近隣エリアの共通鍵を絞ることで、車載機に必要なメモリのサイズを抑えることができる。さらに、走行履歴情報が利用できる場合は、次のバージョンの事前鍵ではなく、どのバージョンの事前鍵を取得すべきかを判断することにより、完全性または機密性、もしくはその両方が保証されたメッセージを送信できる可能性が高まる。車載機がメッセージを送信する場合、現在のバージョンの本来鍵を保有している場合は、本来鍵を利用し、本来鍵を保有していない場合は、事前鍵を利用して、メッセージのMACMessageAuthenticationCode生成や暗号化をおこなう。そして、メッセージとともに、共通鍵のバージョンや鍵の種別を送信する。メッセージを受信した場合、共通鍵のバージョンや鍵の種別をもとに、メッセージのMAC検証や復号をおこなう。上記態様によれば、あるエリアに存在する路側機および車載機は同じ共通鍵を使ってメッセージの完全性または機密性、もしくはその両方を保証する場合、路側機が、路側機が属するエリアの共通鍵と近隣するエリアの共通鍵を車載機に配布することにより、次のエリアに入ったときに、路側機と通信ができない場合でも、メッセージの完全性または機密性、もしくはその両方が保証された車車間通信をおこなうことができる。また、配布期間が異なる事前鍵と本来鍵の2種類の共通鍵を用意し、常に次のバージョンの事前鍵を取得しておくことで、共通鍵の更新が発生した時に路側機と通信ができない車載機も、完全性または機密性、もしくはその両方が保証されたメッセージを作成できる。さらに、車載機は、車載機が保有する目的地までの経路情報や走行履歴情報を利用し、車載機から取得する共通鍵を選択することで、車載機に必要なメモリサイズの抑制や、完全性または機密性、もしくはその両方が保証されたメッセージの送信確率を向上させることができる。開示によれば、完全性または機密性、もしくはその両方が保証されたメッセージの送受信ができる車車/路車間通信システムおよびその装置を実現可能になる。以下に、実施形態を説明する。図1は、本実施形態のシステムの構成を表した図である。本実施形態は、鍵管理サーバ101、路側機102、車載機103で構成する。鍵管理サーバ101は、路側機102とネットワークを介した通信が可能である。また、鍵管理サーバは交通情報を管理するサーバなど他のサーバともネットワークを介した通信をおこなってもよい。通信手段は、無線通信でも有線通信でもよい。路側機102は、鍵管理サーバ101とネットワークを介した通信が可能であり、通信可能な車載機103と無線通信をおこなう。路側機は屋外に設置しても屋内に設置してもよいし、信号機や給油スタンドなどの装置に搭載してもよい。図1において、各路側機102の通信可能な範囲は重なり合っていないが、重なり合ってもよい。車載機103は、路側機102および車載機103と無線通信をおこなう。車載機103は、車両以外の装置に搭載してもよい。図2は、本実施形態の鍵管理サーバ101の機能構成を示すブロック図である。以下に述べる鍵管理サーバ101の機能は、CPU、記憶装置、通信装置などを備えた情報処理装置において、CPUが記憶装置に格納されたプログラムを実行することにより、実現可能である。プログラムは予め、記憶装置に格納されていても良いし、必要に応じて、記憶媒体から、または、通信媒体を介した他の装置から導入されても良い。通信媒体とは、図1に示すネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号を指す。鍵管理サーバ101は、通信制御処理部210、エリア管理処理部220、鍵生成処理部230、鍵配布処理部240、エリア情報記憶部250、セキュリティ情報記憶部260で構成する。通信制御処理部210は、路側機102や他のサーバと通信するための処理をおこなう。エリア管理処理部220は、共通鍵を共有するエリアの管理をおこなう。具体的には、エリアの追加、エリア範囲の変更などが発生した場合、エリア管理処理部220が、エリア情報記憶部250のエリア管理テーブル251の更新をおこなう。エリア管理テーブル251については、後述するエリア情報記憶部250の中で説明する。また、路側機102の新規設置、設置位置の変更、撤去などが発生した場合、エリア管理処理部220が、エリア情報記憶部250の路側機管理テーブル252の更新をおこなう。路側機管理テーブル252については、後述するエリア情報記憶部250の中で説明する。鍵生成処理部230は、エリア毎の共通鍵を生成する。鍵配布処理部240は、鍵生成処理部230で生成した共通鍵を路側機102に配布する。エリア情報記憶部250は、エリア管理テーブル251、路側機管理テーブル252を記憶する。エリア管理テーブル251は、エリアを管理するテーブルであり、図3に示すように、エリアID301、エリア範囲302、近隣エリア303で構成される。エリアID301はエリアを示す識別子である。エリア範囲302は、エリアの範囲を示すものである。図3では、緯度/経度で示しているが、エリアが一意に決まるものであればよい。近隣エリア303は、エリア識別子301の近隣に存在するエリア識別子301を示す。エリア同士は重なる部分が合ってもよい。路側機管理テーブル252は、路側機が設置されているエリアを管理するテーブルであり、図4に示すとおり、路側機ID401、設置位置情報402、エリアID403で構成される。路側機ID401は、路側機を示す識別子である。設置位置情報402は、路側機102を設置している場所を示すものである。図4では、緯度/経度で示しているが、設置位置が一意に定まり、エリア管理テーブル251のどのエリアに属するかがわかればよい。エリアID403は、路側機ID401を設置した場所が属するエリアの識別子であり、エリア管理テーブルのエリアID301の値を指す。路側機102が複数のエリアに属している場合は、複数のエリアを記載する。セキュリティ情報記憶部260は、鍵情報テーブル261、路側機/鍵管理サーバ間認証情報262を記憶する。鍵情報テーブル261は、各エリアの共通鍵情報を管理するものであり、図5に示すとおり、エリアID501、種別502、バージョン503、値504、有効期間505、配布期間506で構成される。エリアID501は、エリアを示す識別子であり、図3に示すエリア管理テーブルのエリアID301と同じ値を指す。種別502は事前鍵か本来鍵かを示す識別子である。暗号化/復号に使う鍵とMAC生成/検証に利用する鍵を分ける場合は、暗号化/復号用事前鍵、MAC生成/検証用事前鍵、暗号化/復号用本来鍵、MAC生成/検証用本来鍵の4種類が存在する。バージョン503は、共通鍵のバージョンを示す。値504は、共通鍵の値である。有効機期間505は、値504が共通鍵として有効である期間を示す。配布期間506は、値504を路側機102から車載機103に配布可能な期間を示す。路側機/鍵管理サーバ間認証情報262は、路側機102と通信を始める際に、路側機102と鍵管理サーバ101が互いの装置が正しいことを確認するために必要な情報である。認証の方法は、パスワード、公開鍵証明書、共通鍵を利用した認証などが考えられる。図6は、本実施形態の路側機102の機能構成を示すブロック図である。以下に述べる路側機102の機能は、CPU、記憶装置、通信装置などを備えた情報処理装置において、CPUが記憶装置に格納されたプログラムを実行することにより、実現可能である。プログラムは予め、記憶装置に格納されていても良いし、必要に応じて、記憶媒体から、または、通信媒体を介した他の装置から導入されても良い。通信媒体とは、図1に示すネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号を指す。路側機102は、通信制御処理部610、鍵取得処理部620、鍵配布処理部630、MAC生成/検証処理部640、暗号化/復号処理部650、エリア情報記憶部660、セキュリティ情報記憶部670で構成する。通信制御処理部610は、鍵管理サーバ101および車載機102と通信するための処理をおこなう。鍵取得処理部620は、鍵管理サーバ101から共通鍵を取得するための処理をおこなう。鍵配布処理部630は、車載機103へ共通鍵を配布するための処理をおこなう。MAC生成/検証処理部640は、共通鍵を用いて、送信するメッセージのMAC生成や受信したメッセージのMAC検証をおこなう。暗号化/復号処理部650は、共通鍵を用いて、送信するメッセージの暗号化や受信したメッセージの復号をおこなう。エリア情報記憶部660は、設置位置情報661、エリアID662、エリア範囲663、近隣エリア情報テーブル664を記憶する。設置位置情報661は、路側機102を設置した場所を示すものであり、鍵管理サーバ101の路側機管理テーブル252の設置位置情報402と同じである。エリアID662は、路側機102を設置した場所が属するエリアの識別子であり、鍵管理サーバ101のエリア管理テーブル251のエリアID301と同じである。エリア範囲663は、路側機102が属しているエリアの範囲を示すものであり、鍵管理サーバ101のエリア管理テーブル251のエリア範囲302と同じである。近隣エリア情報テーブル664は、路側機102が属するエリアの近隣エリアの情報を登録したテーブルであり、図7に示すとおり、近隣エリアID701とエリア範囲702から構成される。近隣エリアID701は、路側機102が属するエリアの近隣エリアの識別子である。エリア範囲702は、近隣エリアID701のエリア範囲である。近隣エリア情報テーブル664は、鍵管理サーバ101から配布されてもよいし、その他の手段を用いて設定されてもよい。また、エリアID301に多数の路側機102が存在する場合、近隣エリアに近い位置に設置されている路側機102が近隣エリア情報テーブル664を記憶すれば、近隣エリアに遠い位置に設置されている路側機102は近隣エリア情報テーブル664を記憶しなくてもよい。セキュリティ情報記憶部670は、路側機ID671、路側機/鍵管理サーバ間認証情報672、車載機/路側機間認証情報673、鍵情報674、近隣エリア鍵情報テーブル675を記憶する。路側機ID671は、路側機を示す識別子である。路側機/鍵管理サーバ間認証情報672は、鍵管理サーバ101が路側機102に鍵を配布する際に、互いの装置が正しいことを確認するのに必要な情報である。車載機/路側機間認証情報673は、路側機102が車載機103に共通鍵を配布する際に、互いの装置が正しいことを確認するのに必要な情報である。認証の方法は、パスワード、公開鍵証明書、共通鍵などを利用した認証が考えられる。鍵情報674は、路側機102が属するエリアの鍵情報であり、図8に示すとおり、種別801、バージョン802、値803、有効期間804、配布期間805で構成される。種別801は、共通鍵が事前鍵か本来鍵であるかを示す。暗号化/復号に使う鍵とMAC生成/検証に利用する鍵を分ける場合は、暗号化/復号用事前鍵、MAC生成/検証用事前鍵、暗号化/復号用本来鍵、MAC生成/検証用本来鍵の4種類が存在する。バージョン802は、共通鍵のバージョンを示すものである。値803は、共通鍵の値である。有効期間804は、共通鍵が有効になる期間を示す。配布期間805は、車載機への共通鍵配布が可能な期間を示す。近隣エリア鍵情報テーブル675は、図9に示すとおり、近隣エリアID901、種別902、バージョン903、有効期間905、配布期間906から構成される。近隣エリアID901は、路側機102が属するエリアの近隣エリアの識別子であり、路側機102の近隣エリア情報テーブル664の近隣エリアID701と同じである。種別902は、共通鍵が事前鍵か本来鍵かを示す。暗号化/復号に使う鍵とMAC生成/検証に利用する鍵を分ける場合は、暗号化/復号用事前鍵、MAC生成/検証用事前鍵、暗号化/復号用本来鍵、MAC生成/検証用本来鍵の4種類が存在する。バージョン903は共通鍵のバージョンを示す。近隣エリアのいくつのバージョンの共通鍵情報を保存するかは鍵管理サーバ101に依存する。値904は、共通鍵の値を示す。有効期間905は、共通鍵の利用が有効である期間を示す。配布期間906は、車載機への共通鍵の配布が可能な期間を示す。エリアID301に多数の路側機102が存在する場合、近隣エリアに近い位置に設置されている路側機102が近隣エリア鍵情報テーブル675を記憶すれば、近隣エリアに遠い位置に設置されている路側機102は近隣エリア鍵情報テーブル675を記憶しなくてもよい。図10は、本実施形態の車載機103の機能構成を示すブロック図である。以下に述べる車載機103の機能は、CPU、記憶装置、通信装置などを備えた情報処理装置において、CPUが記憶装置に格納されたプログラムを実行することにより、実現可能である。プログラムは予め、記憶装置に格納されていても良いし、必要に応じて、記憶媒体から、または、通信媒体を介した他の装置から導入されても良い。通信媒体とは、図1に示すネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号を指す。車載機103は、通信制御処理部1010、鍵取得処理部1020、MAC生成/検証処理部1030、暗号化/復号処理部1040、位置検知処理部1050、車両の他装置との通信制御処理部1060、エリア情報記憶部1070、セキュリティ情報記憶部1080で構成される。通信制御処理部1010は、路側機102や車載機103と通信するための処理をおこなう。鍵取得処理部1020は、路側機から共通鍵を取得するための処理をおこなう。MAC生成/検証処理部1030は、路側機102から取得した共通鍵を用いて、送信するメッセージのMAC生成や受信したメッセージのMAC検証をおこなう。暗号化/復号処理部1040は、路側機102から取得した共通鍵を用いて、送信するメッセージの暗号化や受信したメッセージの復号をおこなう。位置検知処理部1050は、車載機103の現在の位置情報を取得する。位置情報は、車載機103がどのエリアIDに存在するかが分かるものであればよい。車両の他装置との通信制御処理部1060は、車載機を搭載する車両にあるカーナビなど他の装置と通信するための処理をおこなう。エリア情報記憶部1070は、エリア情報テーブル1071を記憶する。エリア情報テーブル1071は、図11に示すとおり、エリアID1101、エリア範囲1102で構成する。エリアID1101は、車載機103が存在するエリアおよび近隣するエリアの識別子を示す。エリア範囲1102は、エリアID1101のエリアの範囲を示す。エリア情報テーブル1071は、あらかじめ車載機に設定されていてもよいし、ネットワーク経由で鍵管理サーバ101から取得してもよい。また、路側機102から共通鍵情報を取得する際に、共通鍵情報とともに、路側機102が属するエリアおよび路側機102が属するエリアの近隣エリアの情報を取得し、エリア情報テーブル1071に登録してもよい。エリア情報テーブル1071に登録する際に、路側102が属するエリアおよび路側機102が属するエリアの近隣エリア以外の情報は削除し、エリア情報テーブル1071には、車載機103がその時点で存在するエリアおよびその近隣エリアの情報以外は記憶しないようにしてもよい。セキュリティ情報記憶部1080は、車載機ID1081、車載機/路側機間認証情報1082、鍵情報テーブル1083を記憶する。車載機ID1081は、車載機を示す識別子である。車載機/路側機間認証情報1082は、車載機103が路側機102から共通鍵を取得する際に、互いの装置が正しいことを確認するための情報である。鍵情報テーブル1083は、車載機103が存在するエリアおよび近隣エリアの共通鍵の情報であり、図12に示すとおり、エリアID1201、種別1202、バージョン1203、値1204、有効期間1205、配布期間1206で構成される。エリアID1201は、車載機103が存在するエリアを示す識別子である。種別1202は、共通鍵が事前鍵か本来鍵かを示す識別子である。暗号化/復号に使う鍵とMAC生成/検証に利用する鍵を分ける場合は、暗号化/復号用事前鍵、MAC生成/検証用事前鍵、暗号化/復号用本来鍵、MAC生成/検証用本来鍵の4種類が存在する。バージョン1203は、共通鍵のバージョンを示す。値1204は、共通鍵の値を示す。有効期間1205は、共通鍵が利用可能な時間を示す。配布期間1206は、車載機103への共通鍵の配布が可能な時間を示す。図13に、鍵管理サーバ101における鍵管理の仕組みを示す。鍵管理サーバ101は、ステップ1310で、鍵情報テーブル261の共通鍵情報エリアID、バージョン、種別、値、有効期間、配布期間を監視し、共通鍵情報を送信する必要があるかを確認し、必要がある場合は、ステップ1320に進み、ない場合は、再度、鍵情報テーブル261を監視する。共通鍵情報の送信が必要な場合とは、路側機102へ送信した共通鍵情報の有効期間や配布期間の終了時刻が近付いている場合または路側機102へ送信した近隣エリアの共通鍵情報の有効期間や配布期間の終了時刻が近付いている場合である。ステップ1320では、新しい共通鍵情報を生成する必要があるか、または既に生成済みの共通鍵情報を送信する必要があるかを判断する。新しい共通鍵情報を生成する必要がある場合は、ステップ1330に進み、そうでない場合は、ステップ1350に進む。ステップ1330では、鍵生成処理部230で、新しい共通鍵情報を生成し、ステップ1340では、生成した共通鍵情報を鍵情報テーブル261の該当箇所に登録し、有効期間が過ぎた共通鍵情報など削除可能な共通鍵情報は削除する。次に、ステップ1350で、路側機管理テーブル252とエリア管理テーブル251を使って共通鍵情報を送信する路側機102を探し、ステップ1370の鍵配布処理を開始する。鍵配布処理については後述する。ステップ1360において、ステップ1350で共通鍵情報の送信が必要と判断した全ての路側機にステップ1370の鍵配布処理が終了したかを確認し、終了していない場合は、ステップ1370の鍵配布処理を繰り返す。図14に、鍵管理サーバ101から路側機102への鍵配布処理の手順を示す。鍵配布処理は、鍵管理サーバ101の鍵配布処理部240でおこなわれる。ステップ1410において、鍵管理サーバは、共通鍵情報を送信する路側機102と路側機/鍵管理サーバ間認証情報262を使って認証をおこない、認証に成功した場合は、ステップ1420において、送信する共通鍵情報の暗号化と完全性保証コードの生成をおこなう。暗号化は公開鍵暗号でも共通鍵暗号を用いてもよい。また、完全性保証コードは、公開鍵による署名でも共通鍵によるMACでもよい。暗号化や完全性保証コードの生成に使用する鍵は、認証時に共有してもよいし、事前に設定しておいてもよい。ステップ1420の処理が終了した後、共通鍵情報メッセージとして、ステップ1430で暗号化された共通鍵情報、完全性保証コード、セキュリティ情報を該当路側機102へ送信する。図15に、ステップ1430で鍵管理サーバ101から路側機102へ送信する共通鍵情報メッセージのフォーマット例を示す。共通鍵情報メッセージは、メッセージタイプ1501、セキュリティ情報1502、共通鍵情報の数1503、共通鍵情報1504、完全性保証コード1505で構成する。メッセージタイプ1501は、共通鍵情報メッセージであることを示す識別子である。セキュリティ情報は、路側機102が、メッセージの復号やメッセージの完全性保証をおこなうのに必要な情報であり、セキュリティ情報の種類は、暗号化や完全性保証コードに用いた手段に依存する。共通鍵情報の数1503は、送信する共通鍵情報の数を示す。共通鍵情報1504は、エリアID1506、種別1507、バージョン1508、値1509、有効期間1510、配布期間1511で構成する。エリアID1506は、共通鍵が利用可能なエリアの識別子である。種別1507は、共通鍵が本来鍵か事前鍵かを示す。暗号化/復号に使う鍵とMAC生成/検証に利用する鍵を分ける場合は、暗号化/復号用事前鍵、MAC生成/検証用事前鍵、暗号化/復号用本来鍵、MAC生成/検証用本来鍵の4種類が存在する。バージョン1508は、共通鍵のバージョンを示す。値1509は、共通鍵の値を示す。有効期間1510は、共通鍵が利用可能な期間を示す。配布期間1511は、車載機103への共通鍵配布が可能な期間を示す。共通鍵情報1504は、ステップ1420で暗号化されている。完全性保証コード1505は、共通鍵情報メッセージのメッセージタイプ1501から共通鍵情報1504の完全性を保証する値である。図16に、路側機102の鍵取得処理の手順を示す。鍵取得処理は、路側機102の鍵取得処理部620でおこなわれる。路側機102は、ステップ1610で、路側機/鍵管理サーバ間認証情報672を使って鍵管理サーバ101と認証をおこない、認証に成功した場合、ステップ1620に進み、鍵管理サーバ101から共通鍵情報メッセージを受信する。ステップ1630において、共通鍵情報の復号および完全性保証コードの検証をおこなう。完全性保証コードの検証に失敗した場合は、鍵取得処理を終了するステップ1640。完全性保証コードの検証に失敗した場合の処理として、鍵管理サーバ101へ共通鍵情報の再送要求を出してもよい。完全性保証コードの検証に成功した場合は、ステップ1650で、復号した共通鍵情報が、路側機102が属するエリアの共通鍵情報であるか確認する。路側機102が属するエリアの共通鍵情報である場合は、ステップ1660に進み、そうでない場合は、ステップ1670に進む。ステップ1660では、取得した共通鍵情報を鍵情報674に追加し、有効期間が過ぎた共通鍵情報など削除可能な共通鍵情報がある場合は、削除し、ステップ1670に進む。ステップ1670で、復号した共通鍵情報が、近隣エリアの共通鍵情報であるか確認する。近隣エリアの共通鍵情報である場合は、ステップ1680に進む、そうでない場合は、鍵取得処理を終了する。ステップ1680では、取得した共通鍵情報を近隣エリア鍵情報テーブル675に追加し、有効期間が過ぎた共通鍵情報など削除可能な共通鍵情報がある場合は、削除し、鍵取得処理を終了する。次に、路側機102が車載機103への鍵配布処理をおこなう場合について述べる。鍵配布処理は、路側機102の鍵配布処理部630でおこなわれる。鍵配布処理の手順は、鍵管理サーバ101が路側機102へ鍵配布処理をおこなう場合と同様であり、図14で示す。鍵配布処理は、車載機103から路側機102への共通鍵取得要求を機に開始する。ステップ1410で、路側機102は車載機103と車載機/路側機間認証情報673を使って認証をおこなう。認証に成功した場合は、ステップ1420で、エリアID662、鍵情報674から車載機103へ送信する共通鍵情報、近隣エリア鍵情報テーブル675から車載機103へ送信する共通鍵情報を取得し、暗号化と完全性保証コードの生成をおこなう。鍵管理サーバ101から路側機102への鍵配布処理と同様、暗号化は公開鍵暗号でも共通鍵暗号を用いてもよい。また、完全性保証コードは、公開鍵による署名でも共通鍵によるMACでもよい。暗号化や完全性保証コードの生成に使用する鍵は、認証時に共有してもよいし、事前に設定しておいてもよい。ステップ1420の処理が終わった後、共通鍵情報メッセージとして、ステップ1430で暗号化した共通鍵情報、完全性保証コード、セキュリティ情報を該当車載機103へ送信する。図17に、車載機103の鍵取得処理の手順を示す。鍵取得処理は、車載機103の鍵取得処理部1020でおこなわれる。車載機103は、ステップ1710で、車載機/路側機間認証情報1082を使って路側機102と認証をおこない、認証に成功した場合、ステップ1720に進み、路側機102から共通鍵情報メッセージを受信する。その際に、車両の他装置との通信制御処理部1060を使って、目的地までの経路情報または走行履歴情報が利用可能な場合は、路側機102に経路情報または走行履歴情報を送信し、取得する事前鍵のバージョンや近隣エリアの共通鍵情報を絞ってもよいし、取得した共通鍵情報メッセージから保存する共通鍵情報を選択してもよい。ステップ1730において、共通鍵情報の復号および完全性保証コードの検証をおこなう。完全性保証コードの検証に成功した場合は、ステップ1750に進み、失敗した場合は、鍵取得処理を終了するステップ1740。完全性保証コードの検証に失敗した場合の処理として、路側機102へ共通鍵情報の再送要求を出してもよい。ステップ1750で、鍵情報テーブル1083を更新する必要があるかを判断し、更新する必要がある場合はステップ1760に進み、更新する必要がない場合は、共通鍵取得処理を終了する。ステップ1760で、復号した共通鍵情報を鍵情報テーブル1083に登録し、有効期間が過ぎた共通鍵情報など削除可能な共通鍵情報がある場合は、削除し、鍵取得処理を終了する。図18に、エリアに存在する路側機および車載機で共有した共通鍵を使って、メッセージの送受信をおこなう場合の手順を示す。メッセージを送信する路側機または車載機は、ステップ1810で、メッセージの暗号化またはMAC生成、もしくはその両方に使用する現在利用可能な本来鍵が存在するかを確認する。路側機の場合は鍵情報674で確認する。車載機の場合は、位置検知処理部1050で検知した現在位置が属するエリアIDをエリア情報テーブル1071で確認した後に、鍵情報テーブル1083に該当エリアIDの本来鍵が存在するかを確認する。利用可能な本来鍵が存在する場合は、ステップ1830に進み、そうでない場合は、ステップ1820に進む。ステップ1820では、現在利用可能な事前鍵が存在するかを、路側機の場合は鍵情報674、車載機の場合は鍵情報テーブル1083で確認する。事前鍵が存在した場合は、ステップ1830に進み、そうでない場合は、処理を終了する。ステップ1830で、メッセージを暗号化する必要があるかを確認する。必要がある場合はステップ1840に進み、必要がない場合はステップ1850に進む。ステップ1840では、ステップ1610で本来鍵があると判断された場合は本来鍵を用いて、ステップ1620で事前鍵があると判断された場合は事前鍵を用いて、メッセージの暗号化をおこない、ステップ1850に進む。ステップ1850では、MAC生成の必要があるかを確認し、必要がある場合は、ステップ1860に進み、必要がない場合はステップ1870に進む。ステップ1860では、ステップ1610で本来鍵があると判断された場合は本来鍵を用いて、ステップ1620で事前鍵があると判断された場合は事前鍵を用いて、メッセージのMACを生成し、ステップ1870に進み、メッセージを送信する。図19に送信メッセージのフォーマット例を示す。送信メッセージは、メッセージタイプ1901、セキュリティ処理の有無1902、エリアID1903、種別1904、バージョン1905、メッセージ1906、MAC1907で構成する。メッセージタイプ1901は、メッセージのタイプを示す。セキュリティ処理の有無1902は、暗号化の有無やMACの有無を示す。エリアID1903は、メッセージの暗号化やMAC生成に使用した共通鍵のエリアIDを示す。種別1904は、使用した共通鍵が本来鍵か事前鍵かを示す。バージョン1905は使用した共通鍵のバージョンを示す。エリアID1903、種別1904、バージョン1905は、暗号化やMAC生成に利用した共通鍵を識別するための情報である。メッセージを受信した路側機または車載機が、セキュリティ情報記憶部670またはセキュリティ情報記憶部1080に記憶している全ての共通鍵でMAC検証を試みるという方法をとる場合は、エリアID1903、種別1904、バージョン1905を送信する必要はない。ただし、メッセージに対して、MACは生成しないが、暗号化をおこなう場合は、暗号化に利用した共通鍵を識別するための情報として、エリアID1093、種別1904、バージョン1905を送信する必要がある。エリアIDメッセージ1906は、本来、送信したいメッセージであり、ステップ1930で暗号化が必要と判断した場合は、暗号化されている。MAC1907は、メッセージタイプ1901からメッセージ1905までの完全性を保証するコードであり、ステップ1850でMAC生成の必要なしと判断した場合は、存在しない。図20に、車載機または路側機がメッセージを受信した場合の手順を示す。メッセージを受信すると、ステップ2010において、セキュリティ処理の有無1902を確認し、メッセージの暗号化もMACもない場合は、処理を終了する。セキュリティ処理がある場合は、送信メッセージのエリアID1903、種別1904、バージョン1905から該当する共通鍵があるかを、車載機は鍵情報テーブル1083で、路側機は鍵情報672で確認する。該当する共通鍵が存在する場合は、ステップ2030に進み、存在しない場合は、メッセージ受信処理を終了する。ステップ2030では、セキュリティ処理の有無1902がMACありになっているかを確認し、MACがある場合はステップ2040に進み、そうでない場合はステップ2050に進む。ステップ2040では、ステップ2020で確認した共通鍵を使ってMACの検証をおこない、MAC検証に成功した場合は、ステップ2050に進み、そうでない場合はメッセージ受信処理を終了する。ステップ2050では、セキュリティ処理の有無1902が暗号化ありになっているかを確認し、暗号化ありの場合はステップ2060に進み、そうでない場合は、メッセージ受信処理を終了する。ステップ2060では、ステップ2020で確認した共通鍵を使ってメッセージの復号をおこない、メッセージ受信処理を終了する。本実施形態においては、鍵管理サーバ101が鍵生成処理部230を保有し、共通鍵情報の生成をおこなっているが、路側機102が鍵生成処理部を保有し、共有鍵情報を生成した後、生成した共通鍵情報を鍵管理サーバ101に送信し、鍵情報テーブルに登録してもよい。また、鍵管理サーバ101は、他のサーバと連携し、車の走行履歴情報を取得し、路側機102に近隣エリアの共通鍵情報を送信する際に、路側機102が属するエリアから次に進む確率が高いエリアの順位付けをおこない、その情報を共通鍵情報とともに路側機に送信してもよい。そして、車載機103は、次に進む確率が高い近隣エリアの共通鍵を取得すれば、次に進む確率が低い近隣エリアの共通鍵は取得しなくてもよい。