ところで、路車間通信では、車両の走行路付近に分散して複数の路側機が設置されており、路側機からの送信電波が届く範囲が路側機毎に異なるため、車両に搭載された車載器とデータ受信可能な路側機は、車両の移動に伴い変化する。
このため、上記非特許文献1,2に記載の技術を路車間通信に適用した場合に、車載器において、車両の移動に伴いデータ受信可能な路側機が変化する毎に、データ受信可能な路側機からアンカーフレームを受信して、計算量が大きい電子署名検証を実行しなくてはならないという問題があった。
本発明は、こうした問題に鑑みてなされたものであり、データ受信側の検証負荷を低減することができる技術を提供することを目的とする。
上記目的を達成するためになされた請求項1に記載の無線通信装置は、一定周期毎に繰り返される予め設定された定期送信期間内にデータを無線送信する複数の無線送信装置と、無線送信装置から送信されたデータを無線受信する無線受信装置との2種類の通信装置が混在する無線通信システムにおいて、無線送信装置として使用される無線通信装置である。また、複数の無線送信装置は、n個のメッセージM1,M2,・・・,Mn-1,Mn(nは自然数)を定期送信期間が到来する毎に、メッセージM1,メッセージM2,・・・,メッセージMn-1,メッセージMnの順に1つずつ送信するとともに、複数の無線送信装置間で時刻同期するように構成されている。
そして、請求項1に記載の無線通信装置では、第1秘密鍵列記憶手段が、予め設定された一方向性関数Fで秘密鍵Kiを写像した像を秘密鍵Ki-1として(iは1〜nの自然数)、予め生成された秘密鍵Knについて秘密鍵K0が生成されるまで一方向性関数Fで写像することを繰り返すことにより生成された秘密鍵K0,K1,K2,・・・,Kn-1,Knのそれぞれに対し、それぞれ異なる有効期間ΔT0,ΔT1,ΔT2,・・・,ΔTn-1,ΔTnが、有効期間ΔT0,有効期間ΔT1,有効期間ΔT2,・・・,有効期間ΔTn-1,有効期間ΔTnの順に早く有効期限が切れるように設定されて構成される第1秘密鍵列を記憶する。
またアンカーフレーム送信手段が、送信するメッセージM1と、メッセージM1の次に送信するメッセージM2のハッシュ値Hash(M2)と、秘密鍵K0と、有効期間ΔT1の有効期限T0を送信データとして、送信データと、送信データに対する電子署名と、電子署名の検証に用いる公開鍵の電子証明書とから構成される送信フレームであるアンカーフレームを無線送信する。
さらに第1通常フレーム送信手段が、アンカーフレームが送信された後に、今回送信するメッセージMj(jは2〜nの自然数)と、メッセージMjの次に送信するメッセージMj+1のハッシュ値Hash(Mj+1)と、現在時刻が有効期間ΔTj内に含まれている秘密鍵Kjを用いて生成された、メッセージMjとハッシュ値Hash(Mj+1)に対するメッセージ認証子MACkj(Mj,Hash(Mj+1))と、秘密鍵Kj-1とから構成される送信フレームである第1通常フレームを、定期送信期間が到来する毎に順次無線送信する。
したがって、この無線通信システムの無線受信装置が、アンカーフレームを受信すると、まず、アンカーフレームに含まれている電子証明書を用いて、アンカーフレームに含まれている電子署名の検証を行う。電子署名の検証の結果に基づいて、電子署名を受理できる場合には、アンカーフレームに含まれているメッセージM1とハッシュ値Hash(M2)と秘密鍵K0と有効期限T0を記憶する。
その後、無線受信装置が、第1通常フレームを受信すると、まず、受信した第1通常フレームに含まれている秘密鍵の完全性を検証する。具体的には、受信した第1通常フレームに含まれている秘密鍵を一方向性関数Fで適切な回数写像して得られる像が、秘密鍵K0と一致するか否かを判断する。例えば、メッセージM2と、ハッシュ値Hash(M3)と、メッセージ認証子MACk2(M2,Hash(M3))と、秘密鍵K1とから構成される第1通常フレーム(以下、通常フレームNP2ともいう)を受信した場合には、まず、通常フレームNP2に含まれる秘密鍵K1の完全性を検証する。この検証では、秘密鍵K1を一方向性関数Fで1回写像して得られる像が秘密鍵K0と一致するか否かを判断する。
そして、この秘密鍵の完全性が検証された場合に、前回受信したフレームに含まれていたハッシュ値を用いて、今回受信した第1通常フレームに含まれているメッセージの完全性を検証する。具体的には、メッセージMjとハッシュ値Hash(Mj+1)とメッセージ認証子MACkj(Mj,Hash(Mj+1))と秘密鍵Kj-1とから構成される第1通常フレーム(以下、第1通常フレームNPiともいう)を受信した場合には、まず、秘密鍵Kj-1を用いて、前回受信した第1通常フレームNPj-1に含まれていたメッセージ認証子MACkj-1(Mj-1,Hash(Mi))を検証する。この検証を受理した場合には、Hash(Mi)を用いて、通常フレームNPiに含まれているメッセージMiの完全性を検証する。
例えば、第1通常フレームNP2を受信した場合には、アンカーフレームに含まれていたHash(M2)を用いて、第1通常フレームNP2に含まれているメッセージM2の完全性を検証する。具体的には、通常フレームNP2に含まれているメッセージM2をハッシュ関数Hashで写像した像Hash(M2)を算出し、これが、アンカーフレームに含まれていたHash(M2)と一致するか否かを判断する。そしてHash(M2)が一致する場合には、検証を受理する。
また例えば、第1通常フレームNP3を受信した場合には、秘密鍵K2を用いて、通常フレームNP2に含まれていたメッセージ認証子MACk2(M2,Hash(M3))を検証する。そして、この検証を受理した場合には、Hash(M3)を用いて、第1通常フレームNP3に含まれているメッセージM3の完全性を検証する。
したがって、無線受信装置において、アンカーフレームを1回受信して電子署名の検証を行えば、その後のn−1回の第1通常フレームの受信では、計算量が小さい秘密鍵検証を行うことにより、計算量が大きい電子署名検証が不要となる。これにより、メッセージ認証全体に要する計算量を低減することができる。
そして、請求項1に記載の無線通信装置では、第1鍵列共有手段が、複数の無線送信装置に第1秘密鍵列を共有させる。すなわち、この無線通信システムを構成する複数の無線送信装置は、同じ秘密鍵K0,K1,K2,・・・,Kn-1,Knを用いてアンカーフレーム及び第1通常フレームを送信することができる。
このため、この無線通信システムを構成する複数の無線送信装置のうち或る1つの無線送信装置から送信されたアンカーフレームを受信すれば、このアンカーフレームに含まれる秘密鍵K0を用いて、他の無線送信装置から受信した第1通常フレームに含まれる秘密鍵K1,K2,・・・,Kn-1,Knの検証を行うことができる。
これにより、無線受信装置の移動に伴いデータ受信可能な無線送信装置が変化する毎に、データ受信可能な無線送信装置からアンカーフレームを受信して電子署名検証を実行する必要がなくなる。このため、無線受信装置において、計算量が大きい電子署名検証の回数を低減することができ、無線受信装置の検証負荷を低減することができる。
また、請求項1に記載の無線通信装置において、請求項2に記載のように、予定メッセージ送信手段が、送信フレームに含めて送信する予定のメッセージである送信予定メッセージを送信フレームに含めて送信する前に、送信予定メッセージを、無線通信システムが備える他の無線送信装置に送信し、ハッシュ値設定手段が、無線通信システムが備える他の無線送信装置から送信予定メッセージを受信すると、送信予定メッセージのハッシュ値を、当該無線送信装置が送信する送信フレームに含まれるハッシュ値とするようにするとよい。
このように構成された無線通信装置では、他の無線送信装置の送信予定メッセージのハッシュ値を送信フレームに含めて送信することができる。
このため、この無線通信システムの無線受信装置は、或る無線送信装置から送信フレームを受信すると、このフレームには、他の無線送信装置の送信予定メッセージのハッシュ値が含まれている。そして、この後に、上記他の無線送信装置から、上記送信予定メッセージに相当するメッセージが含まれた送信フレームを受信すると、この送信フレームに含まれるメッセージの完全性を、上記或る無線送信装置から受信したフレームに含まれる送信予定メッセージのハッシュ値を用いて検証することができる。
すなわち、この無線通信システムの無線受信装置は、同一の無線送信装置からだけではなく、異なる無線送信装置からの連続した2つのフレームを受信することによっても、メッセージの完全性を検証することができる。
そして、この無線通信システムは、一定周期毎に繰り返される予め設定された定期送信期間内にデータを無線送信する複数の無線送信装置で構成されているため、同一の無線送信装置から連続した2つのフレームを受信するのに要する時間よりも、異なる無線送信装置からの連続した2つのフレームを受信するのに要する時間の方を短くすることができる。すなわち、同一の無線送信装置から連続した2つのフレームを受信する場合よりも、送信予定メッセージのハッシュ値を受信してから送信予定メッセージの完全性の検証を行うまでの時間が短くなり、短い遅延時間でメッセージの完全性を検証することができる。
また、請求項1に記載の無線通信装置において、定期送信期間内に複数の送信フレームを送信するように構成される場合には、請求項3に記載のように、メッセージ設定手段が、定期送信期間内で最初に送信される送信フレームに含まれるメッセージを、当該無線通信装置に関連し且つ短時間で変化しないデータである第1静的データとし、メッセージ認証子設定手段が、定期送信期間内で最後に送信される送信フレームに含まれるメッセージ認証子を、定期送信期間の終了直後に送信フレームを送信する他の無線通信装置に関連し且つ短時間で変化しないデータである第2静的データを用いて生成したメッセージ認証子とするようにするとよい。
なお、上記の静的データとしては、例えば、当該無線通信装置の設置位置を示す情報、当該無線通信装置の設置位置近傍の道路線形情報などが挙げられる。
このように構成された無線通信装置では、定期送信期間の終了直後に送信フレームを送信する他の無線送信装置の静的データのメッセージ認証子を、定期送信期間内で最後に送信される送信フレームに含めて送信するとともに、定期送信期間内で最初に送信される送信フレームに当該無線通信装置の静的データを含めて送信する。
このため、この無線通信システムの無線受信装置は、或る無線送信装置から、定期送信期間内で最後に送信される送信フレームを受信すると、このフレームには、この直後に送信フレームを送信する他の無線送信装置の静的データのメッセージ認証子が含まれている。そして、この後に、上記他の無線送信装置から、他の無線送信装置の静的データがメッセージとして含まれた送信フレームを受信すると、この送信フレームに含まれるメッセージの完全性を、上記或る無線送信装置から受信したフレームに含まれる静的データのメッセージ認証子を用いて検証することができる。
すなわち、この無線通信システムの無線受信装置が、異なる2つの無線送信装置から、連続した2つのフレームを受信する場合において、これら2つの無線送信装置の間で、請求項2に記載の送信予定メッセージの送受信が不要となり、無線通信システムの運用を簡略化することができる。また、無線通信システムを構成する無線送信装置のうち1台が他の無線送信装置と通信できなくなった場合の影響を低減できるため、より安定した運用が可能となる。
また、請求項1〜請求項3の何れか1項に記載の無線通信装置において、請求項4に記載のように、秘密鍵Knと、有効期限T0と、秘密鍵Kiの有効期間ΔTi(iは0〜nの整数)を設定するための鍵周期Tkとが、複数の無線送信装置に共通して予め設定されており、第1鍵列共有手段は、秘密鍵Knについて秘密鍵K0が生成されるまで一方向性関数Fで写像することを繰り返すことにより秘密鍵K0,K1,K2,・・・,Kn-1,Knを生成する秘密鍵生成手段と、秘密鍵Kiの有効期間ΔTi(iは0〜nの整数)を、有効期限T0、及び鍵周期Tkを用いて設定する有効期間設定手段とから構成されるようにしてもよい。
なお、秘密鍵Kiの有効期間ΔTi(iは0〜nの整数)は、有効期限T0、及び鍵周期Tkを用いて、例えば下式(4)に示すように設定することができる。
すなわち、請求項4に記載の無線通信装置は、当該無線通信装置自身で、上記の第1秘密鍵列を生成することができる。これにより、無線通信装置の外部から第1秘密鍵列を取得するために、当該無線通信装置をデータ通信可能に外部と接続する必要がなくなる。このため、新たに無線送信装置を設置する場合に外部との接続が不要となり、新たな無線送信装置の設置作業を容易に行うことができる。
また、請求項1〜請求項3の何れか1項に記載の無線通信装置において、無線通信システムが、第1秘密鍵列を生成し、ネットワークを介して配信する第1秘密鍵列配信手段を備えている場合には、請求項5に記載のように、第1鍵列共有手段は、第1秘密鍵列配信手段により配信された第1秘密鍵列を、ネットワークを介して取得する第1秘密鍵列取得手段であるようにしてもよい。
このように構成された無線通信装置によれば、当該無線通信装置自身で第1秘密鍵列を生成する手段が不要となるため、当該無線通信装置の構成を簡略化することができる。さらに、万が一、第1秘密鍵列が漏洩した場合に、第1秘密鍵列配信手段が新たに第1秘密鍵列を配信することにより、第1秘密鍵列の漏洩による被害を最小限に抑えることができる。
また、請求項1〜請求項3の何れか1項に記載の無線通信装置において、請求項6に記載のように、第1鍵列共有手段は、無線通信システムが備える他の無線送信装置から通信により第1秘密鍵列を取得することにより、複数の無線送信装置に前記第1秘密鍵列を共有させるようにしてもよい。
このように構成された無線通信装置によれば、無線通信システムを構成する無線送信装置同士の通信で第1秘密鍵列を取得することができる。但し、無線通信システムを構成する無線送信装置のうち少なくとも1つの無線送信装置が、自身で第1秘密鍵列を生成したり、外部から予め取得したりしておく必要がある。これにより、無線通信システムを構成する全ての無線送信装置が上記第1秘密鍵列配信手段に接続される必要がなくなり、無線通信システムの構成を簡略化することができる。
また、請求項1〜請求項6の何れか1項に記載の無線通信装置において、請求項7に記載のように、秘密鍵Kiの有効期間ΔTi(iは0〜nの整数)を設定するための鍵周期Tkが、アンカーフレームに含まれるようにしてもよい。
このように構成された無線通信装置によれば、単位時間当たりの送信フレーム数に応じて、第1秘密鍵列と鍵周期Tkを変更することができる。すなわち、単位時間当たりの送信フレーム数が少ない場合には、鍵周期Tkを長く設定することで、無線受信装置において、第1通常フレームに含まれている秘密鍵を一方向性関数Fで写像して秘密鍵K0と一致させるまでの写像回数を低減することができる。すなわち、無線受信装置において、秘密鍵K0の有効期間ΔT0と秘密鍵Kiの有効期間ΔTiとの差と、鍵周期Tkとに基づいて写像回数を算出し、一方向性関数Fでこの写像回数分写像するため、単位時間当たりの送信フレーム数に応じて、適切な計算量でメッセージの完全性を検証させることができる。
また、請求項8に記載の無線通信装置は、請求項1〜請求項7の何れか1項に記載の無線通信装置から送信されたデータを無線受信し、無線通信システムにおいて無線送信装置として使用される無線通信装置であって、電子署名検証手段が、アンカーフレームを受信した場合に、アンカーフレームに含まれる電子署名を、アンカーフレームに含まれる電子証明書を用いて検証し、署名受理記憶手段が、電子署名検証手段による検証結果に基づいて、電子署名を受理した場合に、アンカーフレームに含まれるハッシュ値Hash(M2)と秘密鍵K0と有効期限T0を記憶する。
さらに秘密鍵検証手段が、第1通常フレームを受信した場合に、第1通常フレームに含まれる秘密鍵Kj-1と、秘密鍵Kj-2または秘密鍵K0とを用いて、秘密鍵Kj-1の完全性を検証し、メッセージ認証子検証手段が、秘密鍵検証手段による検証結果に基づいて、秘密鍵Kj-1を受理した場合に、秘密鍵Kj-1を用いて、前回受信した第1通常フレームに含まれるメッセージ認証子MACkj-1(Mj-1,Hash(Mj))を検証する。
そしてメッセージ検証手段が、メッセージ認証子検証手段による検証結果に基づいて、メッセージ認証子MACkj-1(Mj-1,Hash(Mj))を受理した場合に、前回受信した送信フレームに含まれるハッシュ値Hash(Mj)を用いて、今回受信した第1通常フレームに含まれるメッセージMjを検証する。
このように構成された無線通信装置は、請求項1〜請求項7の何れか1項に記載の無線通信装置からの送信フレームを受信し、この送信フレームに含まれるメッセージを検証することができるため、請求項1〜請求項7の何れか1項に記載の無線通信装置を備えた無線通信システムを構成することができるものであり、請求項1に記載の無線通信装置と同様の効果を得ることができる。
また、請求項8に記載の無線通信装置において、請求項9に記載のように、通常フレーム廃棄手段が、アンカーフレームを受信する前に第1通常フレームを受信した場合に、第1通常フレームを廃棄するようにするとよい。
このように構成された無線通信装置によれば、第1通常フレームに含まれる秘密鍵の完全性を検証できない状況で、受信した第1通常フレームを記憶するという不要な処理を省略することができ、当該無線通信装置の処理負荷を低減することができる。
また、請求項8または請求項9に記載の無線通信装置において、秘密鍵Kiの有効期間ΔTi(iは0〜nの整数)を設定するための鍵周期Tkが、アンカーフレームに含まれている場合には、請求項10に記載のように、鍵周期記憶手段が、電子署名検証手段による検証結果に基づいて、電子署名を受理した場合に、アンカーフレームに含まれる鍵周期Tkを記憶するようにするとよい。
このように構成された無線通信装置によれば、秘密鍵K0の有効期間ΔT0と秘密鍵Kiの有効期間ΔTiとの差と、鍵周期Tkとに基づいて写像回数を算出し、一方向性関数Fでこの写像回数分写像することができる。このため、アンカーフレームを送信する無線送信装置側で、単位時間当たりの送信フレーム数に応じて適切な鍵周期Tkを設定することにより、単位時間当たりの送信フレーム数に応じて、適切な計算量でメッセージの完全性を検証させることができる。
また、請求項11に記載のデータ通信装置は、請求項1〜請求項7の何れか1項に記載の無線通信装置とデータ通信可能に接続されたデータ通信装置であって、乱数生成手段が、乱数を生成し、第1秘密鍵列生成手段が、乱数生成手段によって生成された乱数の値を秘密鍵Knとし、さらに、予め設定された一方向性関数Fで秘密鍵Knを写像した像を秘密鍵Kn-1として(nは自然数)、秘密鍵K0が生成されるまで一方向性関数Fで写像することを繰り返すことにより生成された秘密鍵K0,K1,K2,・・・,Kn-1,Knのそれぞれに対し、それぞれ異なる有効期間ΔT0,ΔT1,ΔT2,・・・,ΔTn-1,ΔTnが、有効期間ΔT0,有効期間ΔT1,有効期間ΔT2,・・・,有効期間ΔTn-1,有効期間ΔTnの順に早く有効期限が切れるように設定されて構成される第1秘密鍵列を生成し、第1秘密鍵列送信手段が、請求項1〜請求項7の何れか1項に記載の無線通信装置に、第1秘密鍵列生成手段により生成された第1秘密鍵列を送信する。
このように構成されたデータ通信装置によれば、請求項1〜請求項7の何れか1項に記載の無線通信装置自身で第1秘密鍵列を生成する手段が不要となるため、請求項1〜請求項7の何れか1項に記載の無線通信装置の構成を簡略化することができる。さらに、万が一、第1秘密鍵列が漏洩した場合に、第1秘密鍵列配信手段が新たに第1秘密鍵列を配信することにより、第1秘密鍵列の漏洩による被害を最小限に抑えることができる。
また、請求項11に記載のデータ通信装置において、請求項12に記載のように、第1秘密鍵列送信手段は、請求項1〜請求項7の何れか1項に記載の無線通信装置から第1秘密鍵列の送信要求を受信したときに、無線通信装置に第1秘密鍵列を送信するようにしてもよい。
このように構成されたデータ通信装置によれば、データ通信装置側で、請求項1〜請求項7の何れか1項に記載の無線通信装置が第1秘密鍵列を新たに必要としているか否かを判断する必要がないため、当該データ通信装置の構成を簡略化することができる。
また、請求項11に記載のデータ通信装置において、請求項13に記載のように、第1秘密鍵列送信手段は、第1秘密鍵列生成手段により生成された第1秘密鍵列を構成する全て秘密鍵において有効期間が経過する前に、第1秘密鍵列生成手段により新たに生成された第1秘密鍵列を送信するようにしてもよい。
このように構成されたデータ通信装置によれば、全て秘密鍵において有効期間が経過する前に、請求項1〜請求項7の何れか1項に記載の無線通信装置に第1秘密鍵列が送信されるため、請求項1〜請求項7の何れか1項に記載の無線通信装置側で、有効期間内の秘密鍵がないためにフレームを送信することができないという状況の発生を抑制することができる。また、請求項1〜請求項7の何れか1項に記載の無線通信装置において、第1秘密鍵列を新たに必要としているか否かを判断する必要がないため、請求項1〜請求項7の何れか1項に記載の無線通信装置の構成を簡略化することができる。
また、請求項11〜請求項13の何れか1項に記載のデータ通信装置において、請求項14に記載のように、送信タイミング送信手段が、無線通信システムが備える複数の無線送信装置のそれぞれについての送信フレームを送信する送信タイミングを示す情報を送信するようにしてもよい。
このように構成されたデータ通信装置によれば、複数の無線送信装置のそれぞれが、他の無線送信装置の送信タイミングを示す情報を取得することができる。このため、請求項2に記載の送信予定メッセージを他の無線送信装置に送信する場合に、自装置の次にフレームを送信する無線送信装置を特定して、この特定した無線送信装置のみに送信予定メッセージを送信することができる。このため、無線通信システムが備える複数の無線送信装置の全てに送信予定メッセージを送信する場合と比較して、通信帯域を有効利用することができる。
また、請求項11〜請求項14の何れか1項に記載のデータ通信装置において、請求項15に記載のように、鍵周期送信手段が、秘密鍵Kiの有効期間ΔTi(iは0〜nの整数)を設定するための鍵周期Tkを送信するようにしてもよい。
このように構成されたデータ通信装置によれば、無線送信装置において、第1秘密鍵列の秘密鍵K0,K1,K2,・・・,Kn-1,Knのそれぞれに対し設定されている有効期間ΔT0,ΔT1,ΔT2,・・・,ΔTn-1,ΔTnに基づいて、鍵周期Tkを算出する必要がなくなり、無線送信装置の処理負荷を低減することができる。
また、請求項16に記載の無線通信装置は、一定周期毎に繰り返される予め設定された定期送信期間内にデータを無線送信する複数の無線送信装置と、無線送信装置から送信されたデータを無線受信する無線受信装置との2種類の通信装置が混在する無線通信システムにおいて、無線送信装置として使用される無線通信装置である。また、複数の無線送信装置は、n個のメッセージM1,M2,・・・,Mn-1,Mn(nは自然数)を定期送信期間が到来する毎に、メッセージM1,メッセージM2,・・・,メッセージMn-1,メッセージMnの順に1つずつ送信するとともに、複数の無線送信装置間で時刻同期するように構成されている。
そして、請求項16に記載の無線通信装置では、第2秘密鍵列記憶手段が、予め設定された一方向性関数Fで秘密鍵Kiを写像した像を秘密鍵Ki-1として(iは1〜nの自然数)、予め生成された秘密鍵Knについて秘密鍵K0が生成されるまで一方向性関数Fで写像することを繰り返すことにより生成された秘密鍵K0,K1,K2,・・・,Kn-1,Knのそれぞれに対し、それぞれ異なる有効期限T-1,T0,T1,・・・,Tn-1が、有効期限T-1,有効期限T0,有効期限T1,・・・,有効期限Tn-2,有効期限Tn-1の順に早く有効期限が切れるように設定されて構成される第2秘密鍵列を記憶する。
またアンカーフレーム送信手段が、送信するメッセージM1と、メッセージM1の次に送信するメッセージM2のハッシュ値Hash(M2)と、秘密鍵K0と、有効期限T0を送信データとして、送信データと、送信データに対する電子署名と、電子署名の検証に用いる公開鍵の電子証明書とから構成される送信フレームであるアンカーフレームを無線送信する。
さらに第2通常フレーム送信手段が、アンカーフレームが送信された後に、今回送信するメッセージMj(jは2〜nの自然数)と、該メッセージMjの次に送信するメッセージMj+1のハッシュ値Hash(Mj+1)と、今回送信するメッセージMjの送信完了時刻より後に設定されている有効期限Tm(mは2〜nの自然数)に対応する秘密鍵Kmを用いて生成された、該メッセージMjとハッシュ値Hash(Mj+1)に対するメッセージ認証子MACkm(Mj,Hash(Mj+1))と、秘密鍵Kj-1とから構成される送信フレームである第2通常フレームを、定期送信期間が到来する毎に順次無線送信する。
したがって、この無線通信システムの無線受信装置が、アンカーフレームを受信すると、まず、アンカーフレームに含まれている電子証明書を用いて、アンカーフレームに含まれている電子署名の検証を行う。電子署名の検証の結果に基づいて、電子署名を受理できる場合には、アンカーフレームに含まれているメッセージM1とハッシュ値Hash(M2)と秘密鍵K0と有効期限T0を記憶する。
その後、無線受信装置が、第2通常フレームを受信すると、まず、受信した第2通常フレームに含まれている秘密鍵の完全性を検証する。具体的には、受信した第2通常フレームに含まれている秘密鍵を一方向性関数Fで適切な回数写像して得られる像が、秘密鍵K0と一致するか否かを判断する。
そして、この秘密鍵の完全性が検証された場合に、過去に受信した第2通常フレームに含まれているメッセージの完全性を検証する。具体的には、メッセージMjとハッシュ値Hash(Mj+1)とメッセージ認証子MACkm(Mj,Hash(Mj+1))と秘密鍵Kj-1とから構成される第2通常フレーム(以下、第2通常フレームNPiともいう)を受信した場合には、まず、秘密鍵Kj-1を用いて、過去に受信した第2通常フレームの中に含まれるメッセージ認証子MACkj-1を検証する(j≦i)。なお、請求項16に記載の無線通信装置では、今回送信するメッセージMjの送信完了時刻より後に設定されている有効期限Tm(mは2〜nの自然数)に対応する秘密鍵Kmを用いてメッセージ認証子MACkm(Mj,Hash(Mj+1))を生成する。このため、第2通常フレームNPiに含まれている秘密鍵Kj-1を用いて生成されたメッセージ認証子MACkj-1は、前回受信した第2通常フレームNPi-1に含まれているとは限らない。
そして、メッセージ認証子MACkj-1の検証を受理した場合には、メッセージ認証子MACkj-1を含む第2通常フレームの中に含まれているHashを用いて、このHashに対応するメッセージの完全性を検証する。
したがって、無線受信装置において、アンカーフレームを1回受信して電子署名の検証を行えば、その後のn−1回の第2通常フレームの受信では、計算量が小さい秘密鍵検証を行うことにより、計算量が大きい電子署名検証が不要となる。これにより、メッセージ認証全体に要する計算量を低減することができる。
そして、請求項16に記載の無線通信装置では、第2鍵列共有手段が、複数の無線送信装置に第2秘密鍵列を共有させる。すなわち、この無線通信システムを構成する複数の無線送信装置は、同じ秘密鍵K0,K1,K2,・・・,Kn-1,Knを用いてアンカーフレーム及び第2通常フレームを送信することができる。
このため、この無線通信システムを構成する複数の無線送信装置のうち或る1つの無線送信装置から送信されたアンカーフレームを受信すれば、このアンカーフレームに含まれる秘密鍵K0を用いて、他の無線送信装置から受信した第2通常フレームに含まれる秘密鍵K1,K2,・・・,Kn-1,Knの検証を行うことができる。
これにより、無線受信装置の移動に伴いデータ受信可能な無線送信装置が変化する毎に、データ受信可能な無線送信装置からアンカーフレームを受信して電子署名検証を実行する必要がなくなる。このため、無線受信装置において、計算量が大きい電子署名検証の回数を低減することができ、無線受信装置の検証負荷を低減することができる。
さらに、1つの無線送信装置が或る送信フレームを送信してから次の送信フレームを送信するまでの時間間隔をフレーム送信間隔とし、さらに、この1つの無線送信装置において最も短いフレーム送信間隔を最小フレーム送信間隔として、有効期限Ti-1と有効期限Tjとの差は(iは0〜(n−1)の整数)、複数の無線送信装置それぞれの最小フレーム送信間隔の中で最も短い最小フレーム送信間隔に等しい。
これにより、本発明の無線通信システムを構成する無線送信装置がそれぞれ複数の送信フレームを連続して送信する場合に、(T-1〜T0),(T0〜T1),(T1〜T2),(T2〜T3),・・・,(Tn-2〜Tn-1)それぞれの期間内に複数の送信フレームが含まれることがない。すなわち、送信フレームを送信する毎に、少なくとも1つの秘密鍵が期限切れになる。このため、上記第2通常フレームを送信する毎に、新たに期限切れになった秘密鍵を第2通常フレームに含めて、この第2通常フレームを送信することができる。つまり、第2通常フレームを連続して送信する場合に、同じ秘密鍵を連続して使用する必要がない。
これにより、本発明の無線通信システムを構成する無線送信装置以外の無線通信装置(以下、システム外装置という)が、本発明の無線通信システムを構成する無線送信装置から送信された第2通常フレームを受信した場合に、このシステム外装置が、受信した第2通常フレームから秘密鍵を抽出して、抽出した秘密鍵を送信フレームに含めてこの送信フレームを送信しても、本発明の無線通信システムを構成する無線送信装置に成りすますことはできない。なぜならば、本発明の無線通信システムを構成する無線送信装置は、次のフレーム送信時には、システム外装置が抽出したものとは別の秘密鍵を第2通常フレームに含めて送信を行うからである。したがって、本発明の無線通信システムを構成する無線送信装置が共有する秘密鍵を用いて本発明の無線送信装置に成りすますという不正行為を抑制することができる。
また、今回送信するメッセージMjの送信完了時刻より後に設定されている有効期限Tm(mは2〜nの自然数)に対応する秘密鍵Kmを用いてメッセージ認証子MACkm(Mj,Hash(Mj+1))を生成し、このメッセージ認証子MACkm(Mj,Hash(Mj+1))を含む第2通常フレームNPiを送信する。このため、本発明の無線通信システムを構成する無線受信装置が、この第2通常フレームNPiを受信した時点では、この第2通常フレームNPiに含まれているメッセージ認証子MACkm(Mj,Hash(Mj+1))は、有効期限前の秘密鍵、すなわち、これまでのフレーム送信で公開されていない秘密鍵を用いて生成されたものとなる。これにより、システム外装置が、これまでのフレーム送信で取得した秘密鍵、すなわち、有効期限の切れた秘密鍵を用いてメッセージ認証子を生成し、このメッセージ認証子を含む第2通常フレームを送信するという不正を行ったとしても、このようなメッセージ認証子を含む第2通常フレームを不正なものとして除外することができる。
また、請求項16に記載のデータ通信装置において、請求項17に記載のように、第2通常フレーム送信手段が、今回送信するメッセージMjの送信完了時刻より後に設定されている有効期限Tmの中から、最も早く有効期限が切れるものを選択し、この選択した有効期限Tmに対応する秘密鍵Kmを用いてメッセージ認証子MACkm(Mj,Hash(Mj+1))を生成するようにしてもよい。
このように構成された無線通信装置では、メッセージ認証子MACkm(Mj,Hash(Mj+1))を含む第2通常フレームを受信した後に、メッセージ認証子MACkm(Mj,Hash(Mj+1))を検証するための秘密鍵Kmを最も早く取得することができ、これにより、最も早くメッセージの完全性を検証することができる。
(第1実施形態)
以下に本発明の第1実施形態を図面とともに説明する。
図1は、無線通信システム1の構成及び動作の概要を示す説明図である。
本実施形態の無線通信システム1は、図1に示すように、自動車の走行路付近に分散して設置される路側機2,3と、自動車に搭載されて路側機や他の車両との間で無線通信を行う車載器4と、路側機2,3と有線ネットワークNWを介して接続されたセンター通信局5とから構成されている。
路側機2,3は、道路交差点に設置される交通信号機11の近傍に設置されている。さらに路側機2,3の近傍には、車両の接近を検出する車両センサ12と、GPS(Global Positioning System)用の人工衛星からの電波をGPSアンテナ(不図示)を介して受信するGPS受信機13とが設置される。そして路側機2,3はそれぞれ、交通信号機11、車両センサ12、及びGPS受信機13に接続され、これらから出力される信号が入力される。
路側機2,3は、交通情報等の各種情報を周囲の自動車に定期的に送信する定期送信機能を有する。また車載器4は、自動車に搭載された車載制御装置からの送信要求を受けて、自車両の状態等を路側機や他の車両に送信するランダム送信機能を有する。
また、路側機2,3の定期送信の周期は予め決められており(本実施形態では100ms)、路側機2,3にはそれぞれ、定期送信期間内のどのタイミングで定期送信を行うかが割り当てられている。
図2は、路側機2,3が実行する処理の概要を示す機能ブロック図である。
路側機2(3)は、図2に示すように、有線受信部21、時刻同期部22、有線送信部23、メッセージ生成部24、認証情報追加部25、認証処理部26、及び無線送信部27を備える。
これらのうち有線受信部21は、GPS受信機13またはセンター通信局5から受信した時刻同期情報を時刻同期部22に送信する。また、センター通信局5から有効期限付キーチェイン、鍵周期Tkを示す鍵周期情報、路側機の定期送信周期を示す路側機送信周期情報を受信し、メッセージ生成部24に送信する。ここで、路側機送信周期情報は、図9(a)に示すように、路側機2,3の送信周期と、路側機2,3の送信タイミングである基準タイミングオフセットとから構成される。
また有線受信部21は、交通信号機11から信号サイクル情報を受信し、メッセージ生成部24に送信する。また,車両センサ12から位置情報と車両存在情報を含む車両センサ情報を受信し、メッセージ生成部24に送信する。また、路側機3(2)から送信予定メッセージを受信し、メッセージ生成部24に送信予定メッセージを送信する。
また時刻同期部22は、有線受信部21から時刻同期情報を受信し、路側機2(3)の時刻を補正する。なお、センター通信局5と路側機2(3)との間でNTP(Network Time Protocol)などを用いて送受信を繰り返すことにより時刻を補正してもよい。この場合には、時刻同期部22が、時刻同期に必要な情報を有線送信部23に送信する。
また有線送信部23は、時刻同期部22から時刻同期情報を受信し、センター通信局5に送信する。
またメッセージ生成部24は、あらかじめ設定されていた道路線形情報に信号サイクル情報および車両センサ情報を追加して送信メッセージを生成し、生成した送信メッセージを認証情報追加部25に送信する。また、有効期限付キーチェインと鍵周期情報と路側機送信周期情報を受信し、これらを認証情報追加部25に送信する。また、有線受信部21から送信予定メッセージを受信し、この送信予定メッセージを認証情報追加部25に送信する。
また認証情報追加部25は、有効期限付キーチェインと鍵周期情報と路側機送信周期情報を受信し、認証処理部26に送信する。また、メッセージ生成部24から送信メッセージを受信し、この送信メッセージを認証処理部26に送信するとともに、認証処理部26からアンカーフレームまたは通常フレームを受信する。そして、アンカーフレームまたは通常フレームを受信すると、このアンカーフレームまたは通常フレームを無線送信部27に送信する。また、メッセージ生成部24から送信予定メッセージを受信し、この送信予定メッセージを認証処理部26に送信する。
また認証処理部26は、認証情報追加部25から有効期限付チェインと鍵周期情報と路側機送信周期情報を受信し、これらを保持する。また、認証情報追加部25から送信予定メッセージを受信し、これを保持する。また、認証情報追加部25から送信メッセージを受信すると、これを保持する。このとき、既に送信予定メッセージもしくは他の送信メッセージが保持されていた場合には、アンカーフレームを送信するか通常フレームを送信するかを判定し(現在時刻が、有効期限付キーチェインの鍵K0の有効期間内の場合はアンカーフレーム、それ以外の場合は通常フレーム)、その判定結果に従ってアンカーフレームまたは通常フレームを生成し、生成したフレームを認証情報追加部25に送信する。
また無線送信部27は、認証情報追加部25からアンカーフレームまたは通常フレームを受信し、このフレームを無線で送信する。
なお路側機2,3は、CPU,ROM,RAM,I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されており、ROMに記憶されたプログラムに基づいて、上記の有線受信部21、時刻同期部22、有線送信部23、メッセージ生成部24、認証情報追加部25、認証処理部26、及び無線送信部27に相当する処理を実行する。
図3は、車載器4が実行する処理の概要を示す機能ブロック図である。
車載器4は、図3に示すように、有線受信部41、時刻同期部42、無線受信部43、メッセージ検証部44、認証処理部45、及び有線送信部46を備える。
これらのうち有線受信部41は、自動車に搭載されたGPS受信機48または車載制御装置49から時刻同期情報を受信し、この時刻同期情報を時刻同期部42に送信する。
また時刻同期部42は、有線受信部41から時刻同期情報を受信し、車載器4の時刻を補正する。これにより、車載器4の時刻がGPS受信機48または車載制御装置49と同期する。
また無線受信部43は、アンカーフレームまたは通常フレームを無線通信で受信し、受信したフレームをメッセージ検証部44に送信する。
またメッセージ検証部44は、無線受信部43から受信したアンカーフレームまたは通常フレームを認証処理部45に送信する。また、認証処理部45からメッセージを受信し、このメッセージを有線送信部46に送信する。
また認証処理部45は、アンカーフレームまたは通常フレームの完全性を検証し、電子署名もしくはメッセージ認証子(MAC)を受理すると、メッセージを取り出して、メッセージ検証部44に送信する。一方、電子署名またはMACを棄却すると、フレームを廃棄する。ここで、電子署名アルゴリズムは、RSA署名やECDSA署名など公開鍵暗号による電子署名である。また、MACは、HMACやNMACなどハッシュ関数ベースのメッセージ認証子でもよいし、Wegman−Carter二分木構造を利用したMACHなどのメッセージ認証子でもよいし、ブロック暗号を利用したOMAC,CBC−MAC,PMACなどのメッセージ認証子でもよい。
また有線送信部46は、メッセージ検証部44から受信したメッセージを車載制御装置49に送信する。
また車載制御装置49は、有線送信部46から受信したメッセージに基づき、交通信号機11の信号サイクル情報や他車両の存在情報を運転者に通知する。これにより、燃費改善や事故防止を運転者に促す。
なお車載器4は、CPU,ROM,RAM,I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されており、ROMに記憶されたプログラムに基づいて、上記の有線受信部41、時刻同期部42、無線受信部43、メッセージ検証部44、認証処理部45、及び有線送信部46に相当する処理を実行する。
図4は、センター通信局5が実行する処理の概要を示す機能ブロック図である。
センター通信局5は、図4に示すように、キーチェイン生成部51及び認証情報制御部52を備える。
これらのうちキーチェイン生成部51は、認証情報制御部52から有効期限付キーチェイン生成命令を受信し、予め設定されたキーチェイン長さn及び鍵周期Tkを用いて、キーチェイン送信処理(後述)のS410〜S460に示す手順(図7を参照)で有効期限付キーチェインを生成し、生成した有効期限付キーチェインを認証情報制御部52に送信する。なお、キーチェイン長さn及び鍵周期Tkは、センター通信局5内で予め設定されており、所定の更新プログラムまたはキーボード等の外部入力によりキーチェイン長さn及び鍵周期Tkを更新することができる。
また認証情報制御部52は、予め設定された命令送信時間が経過する毎に有効期限付キーチェイン生成命令をキーチェイン生成部51に送信する。そして、キーチェイン生成部51から有効期限付キーチェインを受信すると、有効期限付キーチェインと鍵周期情報と路側機送信周期情報を路側機2,3に送信する。なお、路側機送信周期情報は、センター通信局5内で予め設定されており、所定の更新プログラムまたはキーボード等の外部入力により路側機送信周期情報を更新することができる。
なおセンター通信局5は、CPU,ROM,RAM,I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されており、ROMに記憶されたプログラムに基づいて、上記のキーチェイン生成部51及び認証情報制御部52に相当する処理を実行する。
このように構成された無線通信システム1において、路側機2,3は、送信フレームを生成して送信する路側機フレーム送信処理を実行し、車載器4は、受信フレームを検証する車載機フレーム検証処理を実行し、センター通信局5は、有効期限付キーチェインを生成して送信するキーチェイン送信処理を実行する。
図5は路側機フレーム送信処理を示すフローチャート、図6は車載機フレーム検証処理を示すフローチャート、図7はキーチェイン送信処理を示すフローチャートである。図8は、路側機2,3によるフレーム送信の方法と車載器4による完全性検証の方法を説明する図である。図9(a)は路側機送信周期情報の構成を示す図、図9(b)は無線通信システム1のフレーム送信処理を示すシーケンス図である。
次に、路側機2(3)が実行する路側機フレーム送信処理の手順を図5を用いて説明する。この路側機フレーム送信処理は、路側機2(3)のCPUが起動している間に繰り返し実行される処理である。
この路側機フレーム送信処理が実行されると、路側機2(3)は、まずS10にて、他の路側機、すなわち路側機3(2)から、路側機3(2)が次回送信するメッセージ(以下、他機送信予定メッセージPMという)を有線ネットワークNWを介して受信する。その後S20にて、自身の路側機、すなわち路側機2(3)が今回送信するメッセージ(以下、自機送信メッセージMという)を生成する。この自機送信メッセージMには、交通信号機11から取得した信号サイクル情報と、車両センサ12から取得した車両存在情報が含まれている。
そしてS30にて、S10で受信した他路側機送信予定メッセージPMのハッシュ関数Hashによる写像の像Hash(PM)を算出する。さらにS40にて、路側機送信周期情報により設定されている送信タイミングが到来するまで待機する。
そして、送信タイミングが到来するとS50にて、今回送信する送信フレームがアンカーフレームであるか否かを判断する。具体的には、センター通信局5から予め受信している有効期限付キーチェインに基づいて、有効期限内に現在時刻を含んでいる秘密鍵が初期鍵K0である場合には、アンカーフレームであると判断する。
ここで、送信フレームがアンカーフレームである場合には(S50:YES)、S60にて、アンカーフレームであるか否かを示すフレーム識別情報IDaを1に設定し、このフレーム識別情報IDaと、自機送信メッセージMと、ハッシュ値Hash(PM)と、初期鍵K0と、秘密鍵K1の有効期限T0と、鍵周期Tkの6つのデータをデータD1とする。さらに、このデータD1に対する電子署名Sig(D1)を生成する。
そしてS70にて、データD1と電子署名Sig(D1)との検証で使用する公開鍵の電子証明書Certと、データD1と電子署名Sig(D1)とで構成されるアンカーフレームを生成する(図8のアンカーフレームAP1を参照)。その後S80にて、S70で生成されたアンカーフレームを無線送信し、S130に移行する。
一方S60にて、送信フレームがアンカーフレームでない場合には(S50:NO)、送信フレームが通常フレームであると判断し、S90にて、センター通信局5から予め受信している有効期限付キーチェインから、有効期限内に現在時刻を含んでいる秘密鍵Kiを抽出する。次にS100にて、秘密鍵Kiを用いて、自機送信メッセージMとハッシュ値Hash(PM)に対するメッセージ認証子MACki(M,Hash(PM))を生成する。このメッセージ認証子生成アルゴリズムは、HMACやNMACなどハッシュ関数ベースのメッセージ認証子でもよいし、Wegman−Carter二分木構造を利用したMACHなどのメッセージ認証子でもよいし、ブロック暗号を利用したOMAC,CBC−MAC,PMACなどのメッセージ認証子でもよい。
さらにS110にて、アンカーフレームであるか否かを示すフレーム識別情報IDaを0に設定し、このフレーム識別情報IDaと、自機送信メッセージMと、ハッシュ値Hash(PM)と、メッセージ認証子MACki(M,Hash(PM))と、秘密鍵Kiより1つ前に有効期限が切れた秘密鍵Ki-1とで構成される通常フレームを生成する(図8の通常フレームNP2,NP3を参照)。その後S120にて、S110で生成された通常フレームを無線送信し、S130に移行する。
そしてS130に移行すると、自身の路側機、すなわち路側機2(3)が次回送信するメッセージを生成し、このメッセージを、他の路側機、すなわち路側機3(2)に送信し、路側機フレーム送信処理を一旦終了する。
このように構成された路側機2,3では、例えば以下に示すようにしてフレーム送信を行う。
図9(b)に示すように、路側機2,3は、まず、センター通信局5から、有効期限付キーチェイン、鍵周期Tkを示す鍵周期情報、路側機の定期送信周期を示す路側機送信周期情報を受信する(矢印Y11,Y12を参照)。
次に路側機3は、路側機3が次回送信するメッセージ(図9(b)のメッセージM2)を有線ネットワークNWを介して路側機2に送信する(矢印Y13を参照)。
そして、路側機3からメッセージM2を受信した路側機2は、路側機2が今回送信するメッセージM1と、メッセージM2のハッシュ値Hash(M2)を含むアンカーフレームAP1(図8を参照)を無線送信する(矢印Y14を参照)。
その後、路側機2は、路側機2が次回送信するメッセージ(図9(b)のメッセージM3)を有線ネットワークNWを介して路側機3に送信する(矢印Y15を参照)。
そして、路側機2からメッセージM3を受信した路側機3は、路側機3が今回送信するメッセージM2と、メッセージM3のハッシュ値Hash(M3)を含む通常フレームNP2(図8を参照)を無線送信する(矢印Y16を参照)。
その後、路側機3は、路側機3が次回送信するメッセージ(図9(b)のメッセージM4)を有線ネットワークNWを介して路側機2に送信する(矢印Y17を参照)。
そして、路側機3からメッセージM4を受信した路側機2は、路側機2が今回送信するメッセージM3と、メッセージM4のハッシュ値Hash(M4)を含む通常フレームNP3(図8を参照)を無線送信する(矢印Y18を参照)。
次に、車載器4が実行する車載機フレーム検証処理の手順を、図6を用いて説明する。この車載機フレーム検証処理は、車載器4のCPUが起動している間に繰り返し実行される処理である。
この車載機フレーム検証処理が実行されると、車載器4は、まずS210にて、路側機2,3から送信されるフレームを受信する。そしてS220にて、S210で受信したフレーム(以下、受信フレームという)がアンカーフレームであるか否かを判断する。具体的には、受信フレームのフレーム識別情報IDaが1である場合にアンカーフレーム、フレーム識別情報IDaが0である場合に通常フレームであると判断する。
ここで、受信フレームがアンカーフレームである場合には(S220:YES)、S230にて、電子署名の検証を行う。例えば、図8に示すアンカーフレームAP1を受信した場合には、電子署名Sig(D1)を検証する。
そしてS240にて、S230での電子署名の検証の結果に基づいて、電子署名を受理できるか否かを判断する。ここで、電子署名を受理できない場合には(S240:NO)、S250にて、受信フレームを廃棄して、車載機フレーム検証処理を一旦終了する。
一方、電子署名を受理できる場合には(S240:YES)、S260にて、認証情報を更新する。具体的には、アンカーフレームに含まれている次メッセージのハッシュ値Hash(PM)、初期鍵K0、秘密鍵K1の有効期限T0、鍵周期Tkを更新して保存する。例えば、図8に示すアンカーフレームAP1を受信した場合には、Hash(M2)、初期鍵K0、秘密鍵K1の有効期限T0、鍵周期Tkを保存する。
そしてS270にて、アンカーフレームに含まれているメッセージを受信する処理を行い、車載機フレーム検証処理を一旦終了する。具体的には、アンカーフレームに含まれている自機送信メッセージMを車載制御装置49に送信する。例えば、図8に示すアンカーフレームAP1を受信した場合には、メッセージM1を送信する。
一方S220にて、受信フレームがアンカーフレームでない場合には(S220:NO)、受信フレームが通常フレームであると判断し、S280にて、アンカーフレームを既に受信しているか否かを判断する。ここで、アンカーフレームを受信していない場合には(S280:NO)、S290にて、受信フレームを廃棄して、車載機フレーム検証処理を一旦終了する。
一方、アンカーフレームを既に受信している場合には(S280:YES)、S300にて、メッセージの検証を行う。具体的には、まず、受信した通常フレームに含まれている秘密鍵の完全性を検証する。そして、この秘密鍵の完全性が検証された場合に、前回受信したフレームに含まれていたハッシュ値を用いて、今回受信した通常フレームに含まれているメッセージの完全性を検証する。
例えば、図8に示す通常フレームNP2を受信した場合には、まず、秘密鍵K1の完全性を検証する。具体的には、通常フレームNP2の受信時刻Tr2と有効期限T0と鍵周期Tkとから一方向性関数Fの写像回数Nmを下式(4)で算出し、秘密鍵K1を一方向性関数FでNm回写像して得られる像F(Nm)(K1)が初期鍵K0と一致するか否かを判断する。
Nm = {(Tr2−T0)/Tk} ・・・(4)
なお、一方向性関数Fとして、例えばハッシュ関数、離散対数問題を活用した一方向性関数、素因数分解を活用した一方向性関数などを利用することができる。また、上記のハッシュ関数として、例えばSHA−256,SHA−384,SHA−512を利用することができ、本実施形態のシード鍵Knが例えば256bitのデータである場合には一方向性関数FとしてSHA−256を利用することができる。
そして、像F(Nm)(K1)が初期鍵K0と一致しない場合には、秘密鍵K1を棄却して、通常フレームNP2を廃棄する。一方、像F(Nm)(K1)が初期鍵K0と一致する場合には、秘密鍵K1を受理し、アンカーフレームAP1に含まれていたHash(M2)を用いて、通常フレームNP2に含まれているメッセージM2の完全性を検証する(図8の矢印Y1を参照)。具体的には、通常フレームNP2に含まれているメッセージM2をハッシュ関数Hashで写像した像Hash(M2)を算出し、これが、アンカーフレームAP1に含まれていたHash(M2)と一致するか否かを判断する。ここで、Hash(M2)が一致しない場合には、検証を棄却し、Hash(M2)が一致する場合には、検証を受理する。
また、図8に示す通常フレームNP3を受信した場合には、まず、秘密鍵K2の完全性を検証する。具体的には、通常フレームNP3の受信時刻Tr3と有効期限T0と鍵周期Tkとから一方向性関数Fの写像回数Nmを下式(5)で算出し、秘密鍵K2を一方向性関数FでNm回写像して得られる像F(Nm)(K2)が初期鍵K0と一致するか否かを判断する。
Nm = {(Tr3−T0)/Tk} ・・・(5)
なお、通常フレームNP2の受信時刻Tr2と通常フレームNP3の受信時刻Tr3と鍵周期Tkとから一方向性関数Fの写像回数Nmを下式(6)で算出し、秘密鍵K2を一方向性関数FでNm回写像して得られる像F(Nm)(K2)が秘密鍵K1と一致するか否かを判断するようにしてもよい。この場合には、秘密鍵K2を一方向性関数Fで写像する回数が、初期鍵K0と一致するまで一方向性関数Fで写像する回数よりも少なくなるため、S300の処理で行う計算量を低減することができる。
Nm = {(Tr3−Tr2)/Tk} ・・・(6)
そして、像F(Nm)(K2)が初期鍵K0と一致しない場合には、秘密鍵K2を棄却して、通常フレームNP3を廃棄する。一方、像F(Nm)(K2)が初期鍵K0と一致する場合には、秘密鍵K2を受理し、秘密鍵K2を用いて、前回受信した通常フレームNP2に含まれていたHash(M3)の完全性を検証する。具体的には、秘密鍵K2を用いて、通常フレームNP2に含まれていたメッセージ認証子MACk2(M2,Hash(M3))を検証する(図8の矢印Y2を参照)。そして、この検証を棄却した場合には、通常フレームNP3を廃棄する。一方、この検証を受理した場合には、Hash(M3)を用いて、通常フレームNP3に含まれているメッセージM3の完全性を検証する(図8の矢印Y3を参照)。
次にS310にて、S300でのメッセージの検証の結果に基づいて、メッセージを受理できるか否かを判断する。ここで、メッセージを受理できない場合には(S310:NO)、S290にて、受信フレームを廃棄して、車載機フレーム検証処理を一旦終了する。
一方、メッセージを受理できる場合には(S290:YES)、S320にて、認証情報を更新する。具体的には、通常フレームに含まれている次メッセージのハッシュ値、メッセージ認証子と、秘密鍵を更新して保存する。例えば、図8に示す通常フレームNP3を受信した場合には、ハッシュ値Hash(M4)、メッセージ認証子MACk3(M3,Hash(M4))、及び秘密鍵K2を保存する。
そしてS330にて、通常フレームに含まれているメッセージを受信する処理を行い、車載機フレーム検証処理を一旦終了する。具体的には、通常フレームに含まれている自機送信メッセージMを車載制御装置49に送信する。例えば、図8に示す通常フレームNP3を受信した場合には、メッセージM3を送信する。
次に、センター通信局5が実行するキーチェイン送信処理の手順を、図7を用いて説明する。このキーチェイン送信処理は、センター通信局5のCPUが起動している間に繰り返し実行される処理である。
このキーチェイン送信処理が実行されると、センター通信局5は、まずS410にて、乱数を生成して、生成した乱数の値を秘密鍵Knとする(nは正の整数)。そしてS420にて、予め設けられた秘密鍵指示値iをnに設定する。さらにS430にて、秘密鍵指示値iが0より大きいか否かを判断する。
ここで、iが0に等しい場合には(S430:NO)、S460に移行する。一方、秘密鍵指示値iが0より大きい場合には(S430:YES)、S440にて、秘密鍵Kiに一方向性関数Fを適用し、秘密鍵Ki-1を生成する。そしてS450にて、秘密鍵指示値iをデクリメント(1減算)して、S430に移行し、上述の処理を繰り返す。
そしてS460に移行すると、上述の処理で生成された秘密鍵K0〜Knの有効期間ΔT0〜Tnを、下式(4)に示すように設定する。ここで、T0は秘密鍵K1の有効期限である。またTkは、予め設定された鍵周期である。
なお、有効期間ΔT0〜Tnがそれぞれ設定された秘密鍵K0〜Knの集合を有効期限付キーチェインという。
その後S470にて、現在時刻が、有効期限付キーチェインを送信するために予め設定された時刻(以下、キーチェイン送信時刻という)であるか否かを判断する。なお、キーチェイン送信時刻は、前回送信した有効期限付キーチェインを構成する全て秘密鍵K0〜Knにおいて有効期間が経過する前となるように予め設定されており、例えば、秘密鍵Kn-1の有効期限をキーチェイン送信時刻に設定する。但し、センター通信局5のCPUが起動して最初の有効期限付キーチェインの送信の場合には、有効期限付キーチェインが生成された直後の時刻をキーチェイン送信時刻に設定する。
ここで、現在時刻がキーチェイン送信時刻でない場合には(S470:NO)、S470の処理を繰り返し、現在時刻がキーチェイン送信時刻となるまで待機する。一方、現在時刻がキーチェイン送信時刻である場合には(S470:YES)、S480にて、S460の処理で生成された有効期限付キーチェインを有線ネットワークNWを介して路側機2,3に送信するとともに、S490にて、図9(a)に示すように路側機2,3の送信周期と、路側機2,3の送信タイミングである基準タイミングオフセットとから構成される路側機送信周期情報、及び鍵周期情報を有線ネットワークNWを介して路側機2,3に送信し、キーチェイン送信処理を一旦終了する。
このように構成された無線通信システム1の路側機2,3は、n個のメッセージM1,M2,・・・,Mn-1,Mn(nは自然数)を定期送信期間が到来する毎に、メッセージM1,メッセージM2,・・・,メッセージMn-1,メッセージMnの順に1つずつ送信するとともに、時刻同期部22において路側機2,3間で時刻同期するように構成されている。
そして、路側機2,3では、予め設定された一方向性関数Fで秘密鍵Kiを写像した像を秘密鍵Ki-1として(iは1〜nの自然数)、予め生成された秘密鍵Knについて秘密鍵K0が生成されるまで一方向性関数Fで写像することを繰り返すことにより生成された秘密鍵K0,K1,K2,・・・,Kn-1,Knのそれぞれに対し、それぞれ異なる有効期間ΔT0,ΔT1,ΔT2,・・・,ΔTn-1,ΔTnが、有効期間ΔT0,有効期間ΔT1,有効期間ΔT2,・・・,有効期間ΔTn-1,有効期間ΔTnの順に早く有効期限が切れるように設定されて構成される有効期限付キーチェインを、認証処理部26において保持する。
また、送信するメッセージM1と、メッセージM1の次に送信するメッセージM2のハッシュ値Hash(M2)と、秘密鍵K0と、有効期間ΔT1の有効期限T0と、鍵周期TkをデータD1として、データD1と、データD1に対する電子署名Sig(D1)と、電子署名の検証に用いる公開鍵の電子証明書Certとから構成される送信フレームであるアンカーフレームAP1を無線送信する(S60〜S80)。
さらに、アンカーフレームAP1が送信された後に、今回送信するメッセージMj(jは2〜nの自然数)と、メッセージMjの次に送信するメッセージMj+1のハッシュ値Hash(Mj+1)と、現在時刻が有効期間ΔTj内に含まれている秘密鍵Kjを用いて生成された、メッセージMjとハッシュ値Hash(Mj+1)に対するメッセージ認証子MACkj(Mj,Hash(Mj+1))と、秘密鍵Kj-1とから構成される送信フレームである通常フレームを、定期送信期間が到来する毎に順次無線送信する(S90〜S120)。
また、無線通信システム1の車載器4は、アンカーフレームAP1を受信した場合に、アンカーフレームAP1に含まれる電子署名Sig(D1)を、アンカーフレームAP1に含まれる電子証明書Certを用いて検証し(S230)、この検証結果に基づいて、電子署名Sig(D1)を受理した場合に、アンカーフレームAP1に含まれるハッシュ値Hash(M2)と秘密鍵K0と有効期限T0と鍵周期Tkを保存する(S260)。
さらに、通常フレームを受信した場合に、通常フレームに含まれる秘密鍵Kj-1と、秘密鍵Kj-2または秘密鍵K0とを用いて、秘密鍵Kj-1の完全性を検証し、この検証結果に基づいて、秘密鍵Kj-1を受理した場合に、秘密鍵Kj-1を用いて、前回受信した通常フレームに含まれるメッセージ認証子MACkj-1(Mj-1,Hash(Mj))を検証する。そして、この検証結果に基づいて、メッセージ認証子MACkj-1(Mj-1,Hash(Mj))を受理した場合に、前回受信した送信フレームに含まれるハッシュ値Hash(Mj)を用いて、今回受信した通常フレームに含まれるメッセージMjを検証する(S300)。
したがって、この無線通信システム1の車載器4が、アンカーフレームAP1を受信すると、まず、アンカーフレームAP1に含まれている電子証明書Certを用いて、アンカーフレームAP1に含まれている電子署名Sig(D1)の検証を行う。電子署名Sig(D1)の検証の結果に基づいて、電子署名Sig(D1)を受理できる場合には、アンカーフレームAP1に含まれているメッセージM1とハッシュ値Hash(M2)と秘密鍵K0と有効期限T0と鍵周期Tkを保存する(S230〜S270)。
その後、車載器4が、通常フレームを受信すると、まず、受信した通常フレームに含まれている秘密鍵Kj-1の完全性を検証する。例えば、受信した通常フレームに含まれている秘密鍵Kj-1を一方向性関数Fで適切な回数写像して得られる像が、秘密鍵K0と一致するか否かを判断する。
そして、この秘密鍵Kj-1の完全性が検証された場合に、前回受信したフレームに含まれていたハッシュ値を用いて、今回受信した通常フレームに含まれているメッセージの完全性を検証する。具体的には、メッセージMjとハッシュ値Hash(Mj+1)とメッセージ認証子MACkj(Mj,Hash(Mj+1))と秘密鍵Kj-1とから構成される通常フレーム(以下、通常フレームNPiともいう)を受信した場合には、まず、秘密鍵Kj-1を用いて、前回受信した通常フレームNPj-1に含まれていたメッセージ認証子MACj-1(Mj-1,Hash(Mi))を検証する。この検証を受理した場合には、Hash(Mi)を用いて、通常フレームNPiに含まれているメッセージMiの完全性を検証する。
したがって、車載器4において、アンカーフレームを1回受信して電子署名の検証を行えば、その後のn−1回の通常フレームの受信では、計算量が小さい秘密鍵検証を行うことにより、計算量が大きい電子署名検証が不要となる。これにより、メッセージ認証全体に要する計算量を低減することができる。
そして、無線通信システム1では、センター通信局5から有効期限付キーチェインを送信することにより、路側機2,3に有効期限付キーチェインを共有させる(S480)。すなわち、この無線通信システム1を構成する路側機2,3は、同じ秘密鍵K0,K1,K2,・・・,Kn-1,Knを用いてアンカーフレーム及び通常フレームを送信することができる。
このため、この無線通信システム1を構成する路側機2,3のうち或る1つの路側機から送信されたアンカーフレームを受信すれば、このアンカーフレームに含まれる秘密鍵K0を用いて、他の路側機から受信した通常フレームに含まれる秘密鍵K1,K2,・・・,Kn-1,Knの検証を行うことができる。
これにより、車載器4の移動に伴いデータ受信可能な路側機が変化する毎に、データ受信可能な路側機からアンカーフレームを受信して電子署名検証を実行する必要がなくなる。このため、車載器4において、計算量が大きい電子署名検証の回数を低減することができ、車載器4の検証負荷を低減することができる。
また路側機2(3)は、送信予定メッセージPMを送信フレームに含めて送信する前に、送信予定メッセージPMを、無線通信システム1が備える他の路側機3(2)に送信し(S130)、他の路側機3(2)から送信予定メッセージPMを受信すると(S10)、送信予定メッセージPMのハッシュ値Hash(PM)を、路側機2(3)が送信する送信フレームに含まれるハッシュ値とする(S30,S70、S110)。
これにより路側機2(3)は、他の路側機3(2)の送信予定メッセージのハッシュ値を送信フレームに含めて送信することができる。
このため、無線通信システム1の車載器4は、或る路側機2(3)から送信フレームを受信すると、このフレームには、他の路側機3(2)の送信予定メッセージPMのハッシュ値が含まれている。そして、この後に、上記他の路側機3(2)から、上記送信予定メッセージPMに相当するメッセージが含まれた送信フレームを受信すると、この送信フレームPMに含まれるメッセージの完全性を、上記或る路側機2(3)から受信したフレームに含まれる送信予定メッセージPMのハッシュ値を用いて検証することができる。
すなわち、無線通信システム1の車載器4は、同一の路側機からだけではなく、異なる路側機からの連続した2つのフレームを受信することによっても、メッセージの完全性を検証することができる。
そして、この無線通信システム1は、一定周期毎に繰り返される予め設定された定期送信期間内にデータを無線送信する路側機2,3で構成されているため、同一の路側機から連続した2つのフレームを受信するのに要する時間よりも、異なる路側機からの連続した2つのフレームを受信するのに要する時間の方を短くすることができる。すなわち、同一の路側機から連続した2つのフレームを受信する場合よりも、送信予定メッセージPMのハッシュ値を受信してから送信予定メッセージPMの完全性の検証を行うまでの時間が短くなり、短い遅延時間でメッセージの完全性を検証することができる。
またセンター通信局5は、乱数を生成し(S410)、生成された乱数の値を秘密鍵Knとし、さらに、予め設定された一方向性関数Fで秘密鍵Knを写像した像を秘密鍵Kn-1として(nは自然数)、秘密鍵K0が生成されるまで一方向性関数Fで写像することを繰り返すことにより生成された秘密鍵K0,K1,K2,・・・,Kn-1,Knのそれぞれに対し、それぞれ異なる有効期間ΔT0,ΔT1,ΔT2,・・・,ΔTn-1,ΔTnが、有効期間ΔT0,有効期間ΔT1,有効期間ΔT2,・・・,有効期間ΔTn-1,有効期間ΔTnの順に早く有効期限が切れるように設定されて構成される有効期限付キーチェインを生成し(S420〜S460)、生成された有効期限付キーチェインをネットワークNWを介して路側機2,3に送信する(S480)。
これにより、路側機2,3自身で有効期限付キーチェインを生成する手段が不要となるため、路側機2,3の構成を簡略化することができる。さらに、万が一、有効期限付キーチェインが漏洩した場合に、センター通信局5が新たに有効期限付キーチェインを配信することにより、有効期限付キーチェインの漏洩による被害を最小限に抑えることができる。
また、秘密鍵Kiの有効期間ΔTi(iは0〜nの整数)を設定するための鍵周期Tkが、アンカーフレームAP1に含まれている。
これにより、単位時間当たりの送信フレーム数に応じて、秘密鍵列と鍵周期Tkを変更することができる。すなわち、単位時間当たりの送信フレーム数が少ない場合には、鍵周期Tkを長く設定することで、路側機2,3において、通常フレームに含まれている秘密鍵を一方向性関数Fで写像して秘密鍵K0と一致させるまでの写像回数を低減することができる。すなわち、車載器4において、秘密鍵K0の有効期間ΔT0と秘密鍵Kiの有効期間ΔTiとの差と、鍵周期Tkとに基づいて写像回数を算出し、一方向性関数Fでこの写像回数分写像するため、単位時間当たりの送信フレーム数に応じて、適切な計算量でメッセージの完全性を検証させることができる。
また車載器4は、アンカーフレームAP1を受信する前に通常フレームを受信した場合に、通常フレームを廃棄する(S290)。これにより、通常フレームに含まれる秘密鍵の完全性を検証できない状況で、受信した通常フレームを記憶するという不要な処理を省略することができ、車載器4の処理負荷を低減することができる。
またセンター通信局5は、有効期限付キーチェインを構成する全て秘密鍵において有効期間が経過する前に、新たに生成された有効期限付キーチェインを送信する(S470〜S480)。これにより、全て秘密鍵において有効期間が経過する前に、路側機2,3に有効期限付キーチェインが送信されるため、路側機2,3側で、有効期間内の秘密鍵がないためにフレームを送信することができないという状況の発生を抑制することができる。また、路側機2,3において、有効期限付キーチェインを新たに必要としているか否かを判断する必要がないため、路側機2,3の構成を簡略化することができる。
またセンター通信局5は、路側機2,3の送信周期と基準タイミングオフセットとから構成される路側機送信周期情報を送信する(S490)。これにより、路側機2,3のそれぞれが、他の路側機の送信タイミングを示す情報を取得することができる。このため、無線通信システム1が路側機2,3の他にも路側機を備えている場合において、送信予定メッセージを他の路側機に送信するときに、自機の次にフレームを送信する路側機を特定して、この特定した路側機のみに送信予定メッセージを送信することができる。このため、無線通信システム1が備える複数の路側機の全てに送信予定メッセージを送信する場合と比較して、通信帯域を有効利用することができる。
またセンター通信局5は、鍵周期情報を送信する(S490)。これにより、路側機2,3において、有効期限付キーチェインの秘密鍵K0,K1,K2,・・・,Kn-1,Knのそれぞれに対し設定されている有効期間ΔT0,ΔT1,ΔT2,・・・,ΔTn-1,ΔTnに基づいて、鍵周期Tkを算出する必要がなくなり、路側機2,3の処理負荷を低減することができる。
以上説明した実施形態において、路側機2,3は本発明における無線送信装置、車載器4は本発明における無線受信装置、センター通信局5は本発明におけるデータ通信装置、認証処理部26は本発明における第1秘密鍵列記憶手段、S60〜S80の処理は本発明におけるアンカーフレーム送信手段、S90〜S120の処理は本発明における第1通常フレーム送信手段、S480の処理と有線受信部21は本発明における第1鍵列共有手段である。
また、S130の処理は本発明における予定メッセージ送信手段、S30,S70、S110の処理は本発明におけるハッシュ値設定手段、有線受信部21は本発明における第1秘密鍵列取得手段、S230の処理は本発明における電子署名検証手段、S260の処理は本発明における署名受理記憶手段および鍵周期記憶手段、S300の処理は本発明における秘密鍵検証手段、メッセージ認証子検証手段、およびメッセージ検証手段、S290の処理は本発明における通常フレーム廃棄手段である。
また、S410の処理は本発明における乱数生成手段、S420〜S460の処理は本発明における第1秘密鍵列生成手段、S480の処理は本発明における第1秘密鍵列送信手段および第1秘密鍵列配信手段、S490の処理は本発明における送信タイミング送信手段および鍵周期送信手段である。
(第2実施形態)
以下に本発明の第2実施形態を説明する。なお、第2実施形態では、第1実施形態と異なる部分のみを説明する。
第2実施形態の無線通信システム1は、路側機フレーム送信処理が変更された点以外は第1実施形態と同じである。
次に、第2実施形態の路側機フレーム送信処理の手順を図10を用いて説明する。図10は、第2実施形態の路側機フレーム送信処理を示すフローチャートである。
この路側機フレーム送信処理が実行されると、路側機2(3)は、まずS610にて、自身の路側機、すなわち路側機2(3)が今回送信するメッセージ(自機送信メッセージM)を生成する。
そしてS620にて、S610で生成した自機送信メッセージMを、予め設定された所定分割数x(本実施形態では例えば2)の個数に分割し、メッセージM1,メッセージM2,・・・,メッセージMx-1,メッセージMxを生成する。但し、S610では、メッセージM1が、自身の路側機、すなわち路側機2(3)の近傍の道路についての道路線形情報となるように、自機送信メッセージMが生成されている。
その後S630にて、予め設けられた送信順指示値mを1に設定する。さらにS640にて、路側機送信周期情報により設定されている送信タイミングが到来するまで待機する。
そして、送信タイミングが到来するとS650にて、送信順指示値mが所定分割数xに等しいか否かを判断する。ここで、送信順指示値mが所定分割数xに等しくない場合には(S650:NO)、S660にて、送信予定メッセージPMをメッセージMm+1に設定してS680に移行する。一方、送信順指示値mが所定分割数xに等しい場合には(S650:YES)、S670にて、送信予定メッセージPMを、他の路側機、すなわち路側機3(2)の近傍の道路についての道路線形情報に設定してS680に移行する。
そしてS680に移行すると、今回送信する送信フレームがアンカーフレームであるか否かを判断する。ここで、送信フレームがアンカーフレームである場合には(S680:YES)、S690にて、自機送信メッセージMmと、送信予定メッセージPMのハッシュ値Hash(PM)と、初期鍵K0と、秘密鍵K1の有効期限T0と、鍵周期Tkの6つのデータをデータD1とする。さらに、このデータD1に対する電子署名Sig(D1)を生成する。
そしてS700にて、データD1と電子署名Sig(D1)との検証で使用する公開鍵の電子証明書Certと、データD1と電子署名Sig(D1)とで構成されるアンカーフレームを生成する。その後S710にて、S700で生成されたアンカーフレームを無線送信し、S760に移行する。
一方S680にて、送信フレームがアンカーフレームでない場合には(S680:NO)、送信フレームが通常フレームであると判断し、S720にて、センター通信局5から予め受信している有効期限付キーチェインから、有効期限内に現在時刻を含んでいる秘密鍵Kiを抽出する。次にS730にて、秘密鍵Kiを用いて、自機送信メッセージMmと、送信予定メッセージPMのハッシュ値Hash(PM)に対するメッセージ認証子MACki(Mm,Hash(PM))を生成する。
さらにS740にて、アンカーフレームであるか否かを示すフレーム識別情報IDaを0に設定し、このフレーム識別情報IDaと、自機送信メッセージMmと、ハッシュ値Hash(PM)と、メッセージ認証子MACki(Mm,Hash(PM))と、秘密鍵Kiより1つ前に有効期限が切れた秘密鍵Ki-1とで構成される通常フレームを生成する。その後S750にて、S740で生成された通常フレームを無線送信し、S760に移行する。
そしてS760に移行すると、送信順指示値mが所定分割数xに等しいか否かを判断する。ここで、送信順指示値mが所定分割数xに等しくない場合には(S760:NO)、S770にて、送信順指示値mをインクリメント(1加算)して、S650に移行し、上述の処理を繰り返す。一方、送信順指示値mが所定分割数xに等しい場合には(S760:YES)、路側機フレーム送信処理を一旦終了する。
このように構成された路側機2,3では、例えば以下に示すようにしてフレーム送信を行う。図11は、第2実施形態の無線通信システム1のフレーム送信処理を示すシーケンス図である。図12は、第2実施形態の路側機2,3によるフレーム送信の方法を説明する図である。
図11に示すように、路側機2,3は、まず、センター通信局5から、有効期限付キーチェイン、鍵周期Tkを示す鍵周期情報、路側機の定期送信周期を示す路側機送信周期情報を受信する(矢印Y21,Y22を参照)。
そして路側機2は、2つの送信フレームPrsu21,Prsu22を連続して送信する(矢印Y23,Y24を参照)。なお、送信フレームPrsu21に含まれている自機送信メッセージM1は路側機2の道路線形情報である。また送信フレームPrsu22に含まれているハッシュ値Hash(PM)は、路側機3の道路線形情報のハッシュ値である(図12の送信フレームPrsu21,Prsu22を参照)。
その後に路側機3は、2つの送信フレームPrsu31,Prsu32を連続して送信する(矢印Y25,Y26を参照)。なお、送信フレームPrsu31に含まれている自機送信メッセージM1は路側機3の道路線形情報である。また送信フレームPrsu32に含まれているハッシュ値Hash(PM)は、路側機2の道路線形情報のハッシュ値である(図12の送信フレームPrsu31,Prsu32を参照)。
さらに路側機2は、2つの送信フレームPrsu23,Prsu24を連続して送信する(矢印Y27,Y28を参照)。なお、送信フレームPrsu23に含まれている自機送信メッセージM1は路側機2の道路線形情報である。また送信フレームPrsu24に含まれているハッシュ値Hash(PM)は、路側機3の道路線形情報のハッシュ値である(図12の送信フレームPrsu23,Prsu24を参照)。
このように、路側機2と路側機3とが、複数の送信フレームを連続して送信する毎に交互にフレーム送信を行う。
このように構成された無線通信システム1の路側機2(3)は、定期送信期間内で最初に送信される送信フレームに含まれるメッセージを、路側機2(3)に関連し且つ短時間で変化しない道路線形情報とし(S620)、定期送信期間内で最後に送信される送信フレームに含まれるハッシュ値を、路側機3(2)に関連し且つ短時間で変化しない道路線形情報を用いて生成したハッシュ値とする(S670)。
これにより路側機2(3)では、定期送信期間の終了直後に送信フレームを送信する路側機3(2)の静的データのハッシュ値を、定期送信期間内で最後に送信される送信フレームに含めて送信するとともに、定期送信期間内で最初に送信される送信フレームに路側機2(3)の静的データを含めて送信する。
このため、無線通信システム1の車載器4は、路側機2(3)から、定期送信期間内で最後に送信される送信フレームを受信すると、このフレームには、この直後に送信フレームを送信する他の路側機3(2)の静的データのハッシュ値が含まれている。そして、この後に、上記他の路側機3(2)から、他の路側機3(2)の静的データがメッセージとして含まれた送信フレームを受信すると、この送信フレームに含まれるメッセージの完全性を、上記路側機2(3)から受信したフレームに含まれる静的データのハッシュ値を用いて検証することができる。
すなわち、車載器4が、異なる2つの路側機から、連続した2つのフレームを受信する場合において、これら2つの路側機の間で、送信予定メッセージの送受信が不要となり、無線通信システム1の運用を簡略化することができる。また、無線通信システム1を構成する路側機のうち1台が他の路側機と通信できなくなった場合の影響を低減できるため、より安定した運用が可能となる。
以上説明した実施形態において、S620の処理は本発明におけるメッセージ設定手段、S670の処理は本発明におけるメッセージ認証子設定手段である。
(第3実施形態)
以下に本発明の第3実施形態を説明する。なお、第3実施形態では、第1実施形態と異なる部分のみを説明する。
第3実施形態の無線通信システム1は、路側機フレーム送信処理が変更された点以外は第1実施形態と同じである。
次に、第3実施形態の路側機フレーム送信処理の手順を図13を用いて説明する。図13は、第3実施形態の路側機フレーム送信処理を示すフローチャートである。
第3実施形態の路側機フレーム送信処理は、S40の処理が省略された点と、S75とS115の処理が追加された点以外は、第1実施形態と同じである。
すなわち、S30の処理が終了すると、S50に移行する。また、S70の処理が終了するとS75にて、路側機送信周期情報により設定されている送信タイミングが到来するまで待機する。そして、送信タイミングが到来するとS80に移行する。また、S110の処理が終了するとS115にて、路側機送信周期情報により設定されている送信タイミングが到来するまで待機する。そして、送信タイミングが到来するとS120に移行する。
これにより、フレームを生成した後に送信タイミングの到来まで待機するように構成されるため、送信タイミングが到来すると直ちにフレームを送信することができる。
(第4実施形態)
以下に本発明の第4実施形態を説明する。なお、第4実施形態では、第2実施形態と異なる部分のみを説明する。
第4実施形態の無線通信システム1は、路側機フレーム送信処理が変更された点以外は第2実施形態と同じである。
次に、第4実施形態の路側機フレーム送信処理の手順を図14を用いて説明する。図14は、第4実施形態の路側機フレーム送信処理を示すフローチャートである。
第4実施形態の路側機フレーム送信処理は、S640の処理が省略された点と、S705とS745の処理が追加された点以外は、第2実施形態と同じである。
すなわち、S630の処理が終了すると、S650に移行する。また、S700の処理が終了するとS705にて、路側機送信周期情報により設定されている送信タイミングが到来するまで待機する。そして、送信タイミングが到来するとS710に移行する。また、S740の処理が終了するとS745にて、路側機送信周期情報により設定されている送信タイミングが到来するまで待機する。そして、送信タイミングが到来するとS750に移行する。
これにより、フレームを生成した後に送信タイミングの到来まで待機するように構成されるため、送信タイミングが到来すると直ちにフレームを送信することができる。
(第5実施形態)
以下に本発明の第5実施形態を説明する。なお、第5実施形態では、第2実施形態と異なる部分のみを説明する。
第5実施形態の無線通信システム1は、最小フレーム送信間隔送信処理(後述)を路側機2,3が実行する点と、センター通信局5が実行するキーチェイン送信処理が変更された点と、路側機2,3が実行する路側機フレーム送信処理が変更された点以外は第2実施形態と同じである。
図15は最小フレーム送信間隔送信処理を示すフローチャート、図16は第5実施形態のキーチェイン送信処理を示すフローチャート、図17は第5実施形態の路側機フレーム送信処理を示すフローチャート、図18は第5実施形態の有効期限付キーチェインの構成を示す説明図、図19は第5実施形態の無線通信システム1のフレーム送信処理を示すシーケンス図である。
まず、路側機2(3)が実行する最小フレーム送信間隔送信処理の手順を図15を用いて説明する。この路側機フレーム送信処理は、路側機2(3)のCPUが起動している間に繰り返し実行される処理である。
この最小フレーム送信間隔送信処理が実行されると、路側機2(3)は、まずS810にて、予め設定された最小フレーム送信間隔送信タイミングが到来したか否かを判断する。なお、この最小フレーム送信間隔送信タイミングは、例えば、予め設定された所定時刻であってもよいし、所定時間が経過する毎であってもよい。
ここで、最小フレーム送信間隔送信タイミングが到来していない場合には(S810:NO)、最小フレーム送信間隔送信処理を一旦終了する。一方、最小フレーム送信間隔送信タイミングが到来した場合には(S810:YES)、S820にて、路側機2(3)がフレームを送信する際の最小間隔(すなわち、或るフレームの送信を開始してから、次のフレームの送信を開始するまでの最小の時間間隔)を示す最小フレーム送信間隔情報をセンター通信局5に送信して、最小フレーム送信間隔送信処理を一旦終了する。
次に、センター通信局5が実行する第5実施形態のキーチェイン送信処理の手順を図16を用いて説明する。
第5実施形態のキーチェイン送信処理は、S401,S402,S403,S465の処理が追加された点と、S460の処理が省略された点以外は、第2実施形態と同じである。
すなわち、このキーチェイン送信処理が実行されると、センター通信局5は、まずS401にて、路側機2(3)から最小フレーム送信間隔情報を受信したか否かを判断する。ここで、最小フレーム送信間隔情報を受信していない場合には(S401:NO)、S410に移行する。
一方、路側機2(3)から最小フレーム送信間隔情報を受信した場合には(S401:YES)、S402にて、最小フレーム送信間隔情報を更新する。具体的には、最小フレーム送信間隔情報を路側機2から受信した場合には、センター通信局5が記憶する、路側機2についての最小フレーム送信間隔情報を、S401で受信した最小フレーム送信間隔情報に置き換える一方、路側機3から最小フレーム送信間隔情報を受信した場合には、センター通信局5が記憶する、路側機3についての最小フレーム送信間隔情報を、S401で受信した最小フレーム送信間隔情報に置き換える。
その後S403にて、センター通信局5が記憶する、各路側機2,3についての最小フレーム送信間隔情報のうち最も小さい間隔のものを鍵周期Tkと決定し、S410に移行する。
またS430にて、秘密鍵指示値iが0に等しい場合には(S430:NO)、S465に移行し、上述の処理(S430〜S450)で生成された秘密鍵K0,K1,K2,・・・,Kn-1,Knの有効期限T-1,T0,T1,・・・,Tn-2,Tn-1を、図18及び下式(5)に示すように設定する。ここで、T0は秘密鍵K1の有効期限である。またTkは、S403の処理で決定された鍵周期である。
そしてS465の処理が終了すると、S470に移行する。なお、第5実施形態において、有効期限T-1,T0,T1,・・・,Tn-2,Tn-1がそれぞれ設定された秘密鍵K0,K1,K2,・・・,Kn-1,Knの集合を有効期限付キーチェインという。
次に、第5実施形態の路側機フレーム送信処理の手順を図17を用いて説明する。図17は、第5実施形態の路側機フレーム送信処理を示すフローチャートである。
第5実施形態の路側機フレーム送信処理は、S720の処理が省略された点と、S722,S724の処理が追加された点以外は、第2実施形態と同じである。
すなわち、S680にて、送信フレームがアンカーフレームでない場合には(S680:NO)、S722にて、今回送信する送信フレームの送信完了時刻Tfを推定する。そしてS724にて、送信完了時刻Tfの時点で有効な秘密鍵のうち、送信完了時刻Tfから有効期限までの間隔が最も短い秘密鍵を抽出し、S730に移行する。
このように構成された路側機2,3では、例えば図19に示すようにしてフレーム送信を行う。
路側機2,3は、まず、センター通信局5に、最小フレーム送信間隔情報を送信する(矢印Y51,Y52を参照)。その後、路側機2,3は、センター通信局5から、有効期限付キーチェイン、鍵周期Tkを示す鍵周期情報、路側機の定期送信周期を示す路側機送信周期情報を受信する(矢印Y21,Y22を参照)。
そして路側機2は、2つの送信フレームPrsu21,Prsu22を連続して送信する(矢印Y23,Y24を参照)。その後に路側機3は、2つの送信フレームPrsu31,Prsu32を連続して送信する(矢印Y25,Y26を参照)。さらに路側機2は、2つの送信フレームPrsu23,Prsu24を連続して送信する(矢印Y27,Y28を参照)。このように、路側機2と路側機3とが、複数の送信フレームを連続して送信する毎に交互にフレーム送信を行う。
なお、有効期限付キーチェインの鍵周期Tkは、路側機2の最小フレーム送信間隔と路側機3の最小フレーム送信間隔のうちの短い方と一致している。このため、上記の送信フレームPrsu21,Prsu22,Prsu31,Prsu32,Prsu23,Prsu24は、それぞれ異なる秘密鍵を含む。
このように構成された無線通信システム1の路側機2,3では、有効期限Ti-1と有効期限Tjとの差は(iは0〜(n−1)の整数)、路側機2,3の最小フレーム送信間隔の中で最も短い最小フレーム送信間隔に等しい。
これにより、路側機2,3がそれぞれ複数の送信フレームを連続して送信する場合に、(T-1〜T0),(T0〜T1),(T1〜T2),(T2〜T3),・・・,(Tn-2〜Tn-1)それぞれの期間内に複数の送信フレームが含まれることがない。すなわち、送信フレームを送信する毎に、少なくとも1つの秘密鍵が期限切れになる。このため、通常フレームを送信する毎に、新たに期限切れになった秘密鍵を通常フレームに含めて、この通常フレームを送信することができる。つまり、通常フレームを連続して送信する場合に、同じ秘密鍵を連続して使用する必要がない。
これにより無線通信システム1を構成する路側機2,3以外の無線通信装置(以下、システム外装置という)が、路側機2,3から送信された通常フレームを受信した場合に、このシステム外装置が、受信した通常フレームから秘密鍵を抽出して、抽出した秘密鍵を送信フレームに含めてこの送信フレームを送信しても、路側機2,3に成りすますことはできない。なぜならば、路側機2,3は、次のフレーム送信時には、システム外装置が抽出したものとは別の秘密鍵を通常フレームに含めて送信を行うからである。したがって、路側機2,3が共有する秘密鍵を用いて路側機2,3に成りすますという不正行為を抑制することができる。
また、今回送信する送信フレームの送信完了時刻Tfの時点で有効な秘密鍵を用いて、メッセージ認証子MACを生成し(S722,S730)、このメッセージ認証子MACを含む通常フレームを送信する(S740,S750)。このため、車載器4が、この通常フレームを受信した時点では、この通常フレームに含まれているメッセージ認証子は、有効期限前の秘密鍵、すなわち、これまでのフレーム送信で公開されていない秘密鍵を用いて生成されたものとなる。これにより、システム外装置が、これまでのフレーム送信で取得した秘密鍵、すなわち、有効期限の切れた秘密鍵を用いてメッセージ認証子を生成し、このメッセージ認証子を含む通常フレームを送信するという不正を行ったとしても、このようなメッセージ認証子を含む通常フレームを不正なものとして除外することができる。
さらに、送信完了時刻Tfの時点で有効な秘密鍵のうち、送信完了時刻Tfから有効期限までの間隔が最も短い秘密鍵を用いてメッセージ認証子MACを生成するため(S724,S730)、車載器4が、メッセージ認証子MACを受信した後に、このメッセージ認証子MACを検証するための秘密鍵を最も早く取得することができ、これにより、最も早くメッセージの完全性を検証することができる。
以上説明した実施形態において、認証処理部26は本発明における第2秘密鍵列記憶手段、S722〜S750の処理は本発明における第2通常フレーム送信手段、S480の処理と有線受信部21は本発明における第2鍵列共有手段である。
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、路側機2,3がセンター通信局5から有効期限付キーチェインを取得するものを示したが、路側機2,3が有効期限付キーチェインを生成するようにしてもよい。すなわち、S410からS460の処理を路側機2,3が実行する。これにより、路側機2,3の外部から有効期限付キーチェインを取得するために、路側機2,3をデータ通信可能に外部と接続する必要がなくなる。このため、新たに路側機を設置する場合に外部との接続が不要となり、新たな路側機の設置作業を容易に行うことができる。なお、S410からS460の処理を路側機2,3が実行する場合において、S410〜S450の処理は本発明における秘密鍵生成手段、S460の処理は本発明における有効期間設定手段である。
また上記実施形態では、路側機2,3がセンター通信局5から有効期限付キーチェインを取得することにより、路側機2,3に有効期限付キーチェインを共有させるものを示したが、無線通信システム1が備える他の路側機から通信により有効期限付キーチェインを取得することにより、無線通信システム1が備える複数の路側機に有効期限付キーチェインを共有させるようにしてもよい。但し、無線通信システム1を構成する路側機のうち少なくとも1つの路側機が、自身で有効期限付キーチェインを生成したり、外部から予め取得したりしておく必要がある。これにより、無線通信システム1を構成する全ての路側機がセンター通信局5に接続される必要がなくなり、無線通信システム1の構成を簡略化することができる。
また上記実施形態では、センター通信局5が、前回送信した有効期限付キーチェインを構成する全て秘密鍵K0〜Knにおいて有効期間が経過する前となるように予め設定されたキーチェイン送信時刻になると、新たに生成した有効期限付キーチェインを路側機2,3に送信するものを示した。しかし、路側機2,3から有効期限付キーチェインの送信要求を受信したときに、有効期限付キーチェインを路側機2,3に送信するようにしてもよい。これにより、センター通信局5で、路側機2,3が有効期限付キーチェインを新たに必要としているか否かを判断する必要がないため、センター通信局5の構成を簡略化することができる。
また上記第5実施形態では、路側機2,3が交互に複数の送信フレームを送信するものを示した(図19を参照)。しかし、図20(a)に示すように、各路側機A,B,Cからの送信フレームが届くエリアARa,ARb,ARcが互いに重なっていない場合には、図20(b)に示すように、各路側機A,B,Cはそれぞれ独立に送信フレームを送信する。この場合において、上記第5実施形態に記載の技術を適用することにより、路側機A,B,Cが、以下のようにフレーム送信を行うようにしてもよい。
図20(b)では、路側機A,B,Cのうち路側機Bの最小フレーム送信間隔が最も短いため、路側機Bの最小フレーム送信間隔が、有効期限付キーチェインの鍵周期Tkに設定される。
そして、有効期限切れ時刻T3前に路側機Aが送信を開始する送信フレームPa1は、その送信完了時刻Tfが有効期限切れ時刻T3後であり且つ有効期限切れ時刻T4前であるので、秘密鍵K5を用いて生成されたメッセージ認証子が含まれた送信フレームを送信する。また、有効期限切れ時刻T3前に路側機Cが送信を開始する送信フレームPc1も、送信フレームPa1と同様に、秘密鍵K5を用いて生成されたメッセージ認証子が含まれた送信フレームを送信する。一方、有効期限切れ時刻T3前に路側機Bが送信を開始する送信フレームPb1は、その送信完了時刻Tfが有効期限切れ時刻T3前であるので、秘密鍵K4を用いて生成されたメッセージ認証子が含まれた送信フレームを送信する。
さらに、有効期限切れ時刻T4前に路側機Aが送信を開始する送信フレームPa2は、その送信完了時刻Tfが有効期限切れ時刻T4後であり且つ有効期限切れ時刻T5前であるので、秘密鍵K6を用いて生成されたメッセージ認証子が含まれた送信フレームを送信する。また、有効期限切れ時刻T4前に路側機Cが送信を開始する送信フレームPc2も、送信フレームPa2と同様に、秘密鍵K6を用いて生成されたメッセージ認証子が含まれた送信フレームを送信する。一方、有効期限切れ時刻T4前に路側機Bが送信を開始する送信フレームPb2は、その送信完了時刻Tfが有効期限切れ時刻T4前であるので、秘密鍵K5を用いて生成されたメッセージ認証子が含まれた送信フレームを送信する。
また上記第5実施形態では、送信完了時刻Tfの時点で有効な秘密鍵のうち、送信完了時刻Tfから有効期限までの間隔が最も短い秘密鍵を用いてメッセージ認証子MACを生成するものを示したが、有効期限までの間隔が最も短い秘密鍵でなくとも、送信完了時刻Tfの時点で有効な秘密鍵であればよい。