通信システム,送信機,受信機,送受信機
【課題】署名データを分割して送信する通信システムにおいて、通信エラーによりデータの一部が欠落した場合でも、通信データの検証を可能とする。
【解決手段】送信側となる車載装置は、M×N(図ではN=2)回分の通信データからなる単位データ毎に、署名データを生成すると共に、その署名データをM分割した分割署名データのそれぞれを、通信データに順次付加し、且つN回繰り返して送信する。受信側となる車載装置は、受信した通信データから単位データを再構成すると共に、受信した付加データから抽出した分割署名データから署名データを再構成する。そして、受信した通信データの正当性を、再構成された単位データ毎に、再構成された署名データを用いて検証する。分割署名データは、同じものがN回ずつ繰り返して送信されるため、同じ分割署名データの受信をN回続けて失敗しない限り、署名データを確実に再構成できる。
【解決手段】送信側となる車載装置は、M×N(図ではN=2)回分の通信データからなる単位データ毎に、署名データを生成すると共に、その署名データをM分割した分割署名データのそれぞれを、通信データに順次付加し、且つN回繰り返して送信する。受信側となる車載装置は、受信した通信データから単位データを再構成すると共に、受信した付加データから抽出した分割署名データから署名データを再構成する。そして、受信した通信データの正当性を、再構成された単位データ毎に、再構成された署名データを用いて検証する。分割署名データは、同じものがN回ずつ繰り返して送信されるため、同じ分割署名データの受信をN回続けて失敗しない限り、署名データを確実に再構成できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子署名を利用した通信システムに関する。
【背景技術】
【0002】
近年、車車間通信を利用して、自車両の位置,速度,進行方向,ブレーキのON/OFF等の車両情報を周辺車両と交換することで、衝突の危険性のある車両の存在をドライバに通知することにより、見通しの悪い交差点等での出会い頭事故などを未然に防止するシステムの導入が検討されている(例えば、特許文献1参照)。
【0003】
このシステムでは、通信データの正当性を如何にして保障するかが重要課題であり、そのための技術の一つとして、公開鍵暗号方式を用いた電子署名が知られている。
この電子署名は、具体的には、検証の対象とすべき通信データから生成した検証データA(例えば、ハッシュ関数によって作成されるメッセージダイジェスト)を公開鍵暗号方式の秘密鍵で暗号化して暗号化データを生成する。この暗号化データと、暗号化データの復号に用いる公開鍵と、公開鍵の正当性を証明する電子証明書とからなる署名データを、検証の対象となる通信データと共に通信相手に送付する。署名データを受信した通信相手は、電子証明書を用いて公開鍵を検証し、その検証により正当性が証明された公開鍵を用いて暗号化データを復号することで検証データAを復元する。そして、その復元された検証データAと、受信した通信データから生成した検証データBと比較して、両検証データA,Bが一致すれば受信データは、改竄されていない正当なデータと判定する。
【0004】
しかし、上述の公開鍵暗号方式を利用した電子署名では、十分な信頼性を確保するためには、公開鍵の鍵長を長くする必要があり、これに伴って署名データも長くなる。
そして、1回の通信で送受信可能な通信データ量が比較的少なく、署名データと同程度である場合、署名データによるオーバーヘッドが増加して通信効率を低下させてしまうという問題があった(図11参照)。
【0005】
特に、上述の車車間通信を利用したシステムでは、定期的にデータを交換する必要があり、また、1回の通信で交換するデータは100バイト程度が想定されている。これに対して、署名データは、200バイト程度かそれ以上となる。つまり、署名データを付加すると、1回の通信に必要な通信データ量が2〜3倍程度に増大することになる。
【0006】
ところで、1回の送信(一つの通信フレーム)で交換可能なデータ量は、通信速度や同時通信の許容数などによって決まる。
ここで、車車間通信の通信エリアを半径200mとし、片道3車線の渋滞した交差点での通信を考える。平均10m間隔で車両が存在すると仮定すると200mの間に1車線当たり20台が存在し、片側3車線(×3)、対向車線(×2)、4方向(×4)を考慮すると、通信エリア内には480台が存在する可能性がある。なお、道路状況によっては更にこれより多い場合も考えられる。
【0007】
また、高速道路を想定すると1秒間に30m程度進むこと、および、通信エラー等によってデータ抜けが生じる場合があることも考慮し、データ抜けによる制御への影響を許容できる程度に抑えるには、データの送信周期を100ms以下に設定することが適当と考えられる。更に、通信速度については割り当てられている電波の帯域幅などの条件にもよるが10Mbps程度と仮定する。
【0008】
このような条件の下で、1回の通信で送信可能なデータ量は、次式で求められる。
10×106 [bps]×0.1[s]/480[台]=2083[bit]
つまり、ロスなく送信できたとして高々260バイト程度しか送ることができないことがわかる。しかも、パケット密度が増大するとパケットの衝突などにより通信効率が著しく低下するため、実際にはこの3割程度が限界といわれている。
【0009】
つまり、上述したような車車間通信システムでは、署名データが200バイト程度であることを考えると、本来送信したい100バイトのデータも送信することもできない可能性があるという問題があった。
【0010】
これに対して、送信側では、M個の通信データからなる単位データを対象として生成した検証データから署名データを生成し、その署名データをM分割した分割署名データを通信データに付加して送信し、受信側では、受信した通信データから再構成した単位データと、受信した分割署名から署名データを再構成し、その再構成された署名データから抽出した検証データを用いて、通信データの検証を行うことが考えられる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2009−081524号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
ところで、通信データについては、もともと通信エラーがあることを前提として、上位のアプリケーションが作られていることが多く、通信データが欠落しても、過去に受信した通信データ等から補完して、受信側の制御を続けることが可能としている場合もある。
【0013】
しかし、検証データは、一部でも欠落するとこれを使用することができない。従って、署名データをM分割して送信する場合、その全てを受信できなければ、署名データ(ひいては検証データ)を再構成することがでない。
【0014】
このため、一つの通信フレームが欠落すると、受信側では、その欠落によって再構成が不能となった署名データ(ひいては検証データ)の検証対象となる単位データ(M個の通信データ)の全てについて、データの正当性を証明できなくなってしまうという問題があった。
【0015】
本発明は、上記問題点を解決するために、署名データを分割して送信する通信システムにおいて、通信エラーによりデータの一部が欠落した場合でも、通信データの検証を可能とすることを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するためになされた請求項1に記載の通信システムにおいて、通信データを送信する送信側端末は、M×N(M,Nは2以上の整数)回分の通信データからなる単位データ毎に、署名データを生成すると共に、該署名データをM分割した分割署名データのそれぞれを通信データに付加してN回繰り返して送信する。
【0017】
なお、分割署名データを付加する通信データは、分割署名データが属する署名データの生成対象となった通信データであってもよいし、生成対象ではない通信データであってもよい。そして、署名データはM×N個の通信データが全部揃うまで生成することができないため、特に、生成された通信データをリアルタイムで送受信する必要がある通信システムでは、通信データと分割署名データとの対応関係は後者となる。
【0018】
一方、通信データを受信する受信側端末は、受信した通信データから単位データを再構成すると共に、受信した通信データに付加されている分割署名データから署名データを再構成し、通信データの正当性を、再構成された単位データ毎に、再構成された署名データを用いて検証する。
【0019】
このように構成された本発明の通信システムでは、1回の通信で全ての署名データを送信するのではなく(図9(a)参照)、複数回の通信に分けて送信するため(図9
(b)参照)、1回の通信で送信すべき通信データ以外のデータ量を少なく抑えることができる。
【0020】
その結果、通信データのスループットを大きく低下させることなく、電子署名の技術を利用することが可能となり、通信システムに必要なスループットおよびセキュリティレベルをいずれも確保することができる。
【0021】
また、本発明の通信システムでは、全ての分割署名データがN回繰り返して送信されるため、通信に失敗したとしても、同じ分割署名データの受信にN回とも失敗しない限り、署名データを正しく再構成することができる。
【0022】
従って、通信に失敗することによって署名データの再構成することができないという事態、ひいては通信データを検証できないという事態の発生を防止することができる。
次に、請求項2に記載の通信システムにおいて、通信データを送信する送信側端末は、M(Mは2以上の整数)回分の通信データからなる単位データ毎に署名データを生成し、該署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成し、該符号化データをM分割することで生成した分割署名データのそれぞれを、通信データに付加して送信する。
【0023】
なお、分割署名データを付加する通信データは、請求項1の場合と同様に、分割署名データが属する署名データの生成対象となった通信データであってもよいし、生成対象ではない通信データであってもよい。
【0024】
一方、通信データを受信する受信側端末は、受信した通信データから単位データを再構成すると共に、受信した通信データに付加されている分割署名データから符号化データを再構成し、再構成された符号化データを復号することで署名データを再構成(復元)し、通信データの正当性を、再構成された単位データ毎に、再構成(復元)された署名データを用いて検証する。
【0025】
このように構成された本発明の通信システムでは、1回の通信で全ての署名データを送信するのではなく、複数回の通信に分けて送信するため、1回の通信で送信すべき通信データ以外のデータ量を少なく抑えることができる。
【0026】
その結果、通信データのスループットを大きく低下させることなく、電子署名の技術を利用することが可能となり、通信システムに必要なスループットおよびセキュリティレベルをいずれも確保することができる。
【0027】
また、本発明の通信システムでは、ブロック誤りを訂正可能な誤り訂正符号方式によって署名データを符号化した符号化データをM分割することで分割署名データを生成している。このため、通信エラーにより、分割署名データ(ひいては符号化データ)に欠落が生じたとしても、復号によって署名データを正しく再構成(復元)することができる。
【0028】
従って、通信エラーによって署名データの再構成(復元)することができないという事態、ひいては通信データを検証できないという事態が発生することを抑制することができる。
【0029】
ところで、請求項1又は請求項2に記載の通信システムにおいて、署名データは、例えば次のように生成,使用されるように構成してもよい。
即ち、請求項3に記載のように、送信側端末は、単位データ全体を一括して検証するための検証データを生成し、該検証データを用いて署名データを生成する(図9(b)参照)。そして、受信側端末は、再構成された単位データから生成した検証データと、再構成された署名データから抽出した検証データを比較することで、単位データを構成する通信データの正当性を検証する。
【0030】
なお、この場合、署名データの復元は可能であるが、例えば、公開鍵暗号方式を用いた電子署名のように、検証データを受信した通信データから生成する署名方式を採用するには、通信データを復元する何等かの手法を採用する必要があるという新たな問題が生じる。
【0031】
そこで、署名データは、例えば次のように生成,使用されるように構成してもよい。
即ち、請求項4に記載のように、送信側端末は、通信データ毎に、該通信データを検証するための検証データを生成し、該検証データの一部を部分検証データとして、単位データ毎に、該単位データを構成する通信データの部分検証データを組み合わせた合成データを用いて署名データを生成する(図10(a)参照)。そして、受信側端末は、再構成した署名データから合成データを抽出し、再構成された単位データを構成する通信データのそれぞれについて生成した部分検証データと、合成データを構成する部分検証データとを比較することで、受信した通信データの正当性を検証する(図10(b)参照)。
【0032】
この場合、部分検証データ毎に異なる通信データを検証することができるため、通信データの欠落が生じたとしても、他の通信データの検証を問題なく実行することができる。
次に、請求項5に記載の送信機では、署名データ生成手段が、M×N(M,Nは2以上の整数)回分の通信データからなる単位データ毎に、署名データを生成し、送信手段が、署名データ生成手段にて生成された署名データを、M分割した分割署名データのそれぞれを、通信データに付加してN回繰り返して送信する。
【0033】
また、請求項6に記載の受信機では、受信手段が、分割署名データが付加された通信データを受信し、再構成手段が、受信手段が受信した通信データから単位データを再構成すると共に、該通信データに付加されている分割署名データから署名データを再構成する。そして、検証手段が、受信手段によって受信された通信データの正当性を、再構成手段によって再構成された単位データ毎に、再構成手段によって再構成された署名データを用いて検証する。
【0034】
更に、請求項7に記載の送受信機は、請求項5に記載のものと同様の署名データ生成手段,送信手段、および請求項6に記載のものと同様の受信手段,再構成手段,検証手段を備えている。
【0035】
つまり、請求項5〜7に記載の送信機,受信機,送受信器は、請求項1に記載の通信システムを構築する際に、好適に用いることができる。
次に、請求項8に記載の送信機では、署名データ生成手段が、M(Mは2以上の整数)回分の通信データからなる単位データ毎に、署名データを生成し、符号化データ生成手段が、署名データ生成手段にて生成された署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成する。そして、送信手段が、符号化データ生成手段にて生成された符号化データをN(NはM≧N≧2となる整数)分割した分割署名データのそれぞれを、通信データに付加して順次送信する。
【0036】
また、請求項9に記載の受信機では、受信手段が、分割署名データが付加された通信データを受信し、再構成手段が、受信手段が受信した通信データから単位データを再構成すると共に、該通信データに付加されている前記署名データから符号化データを再構成する。そして、復号手段が、再構成手段によって再構成された符号化データを復号することで署名データを再構成し、検証手段が、受信手段によって受信された通信データの正当性を、再構成手段によって再構成された単位データ毎に、復号手段によって再構成された署名データを用いて検証する。
【0037】
更に、請求項10に記載の送受信機は、請求項8に記載のものと同様の署名データ生成手段,符号化データ生成手段,送信手段、および請求項9に記載のものと同様の受信手段,再構成手段,復号手段,検証手段を備えている。
【0038】
つまり、請求項8〜10に記載の送信機,受信機,送受信器は、請求項2に記載の通信システムを構築する際に、好適に用いることができる。
【図面の簡単な説明】
【0039】
【図1】通信システムおよび通信システムを構成する車載装置の構成を示すブロック図。
【図2】通信システムにて使用する通信フレームの構成を示す説明図。
【図3】各種データの記憶領域の構成を示す説明図。
【図4】演算処理部が実行する送信処理の内容を示すフローチャート。
【図5】送信処理によって生成される通信フレームの内容を示す説明図。
【図6】演算処理部が実行する受信処理の内容を示すフローチャート。
【図7】受信処理中で実行する検証処理の詳細を示すフローチャート。
【図8】第2実施形態における検証処理の詳細を示すフローチャート。
【図9】検証データと付加データとの関係を示す説明図であり、(a)は従来技術、(b)は第1実施形態、(c)は第2実施形態の場合を示す。
【図10】第3実施形態における検証データの生成,および検証データを用いた検証の概要を示す説明図。
【図11】従来の通信システムにおける通信フレームの構成を示す説明図。
【発明を実施するための形態】
【0040】
以下に本発明の実施形態を図面と共に説明する。
[第1実施形態]
図1は、本発明が適用された通信システムの概要、および、通信システムを構成する車載装置の構成を示すブロック図である。
【0041】
図1に示すように、本実施形態の通信システムは、それぞれが車両Cに搭載され互いに無線通信(車車間通信)を行う複数の車載装置1によって構成される。
なお、各車両Cの車載装置1は、車車間通信によって、自車の近辺(例えば半径200m以内)に存在する他車両の車載装置1との間で、自車両の位置,速度,加速度,角速度,位置に関する補正情報等からなる車両情報を相互に交換し、取得した車両情報を用いて、他車両との衝突の危険を回避するための制御を実行する。
【0042】
<通信フレーム>
ここで、本実施形態の通信システムにおいて送受信される通信フレームの構成を、図2を参照して説明する。
【0043】
通信フレームは、図2に示すように、ヘッダ、データ、フッタからなる。ヘッダ、フッタは、通信システムにて採用された通信プロトコルに応じて決まる周知のものである。なお、ヘッダには、通信フレームの送信元を識別するための情報が少なくとも含まれ、フッタにはCRC符号等の誤り検出符号が少なくとも含まれている。
【0044】
データは、上述の車両情報からなる通信データと、通信データの正当性を検証する際に使用される付加データとからなる。
そして、付加データは、連続するM×N個(M,Nは2以上の整数)の通信データからなる単位データを対象として生成された署名データをM個に分割することで生成される分割署名データと、分割署名データから元の署名データを再構成する際に必要となる情報で構成された署名ヘッダとからなる。
【0045】
また、署名ヘッダは、署名対象の種類(証明書、データ)等を識別するための識別子、分割署名データが属する署名データを識別するための署名番号k(k=1,2,…)、その署名番号kで識別される署名データの何番目の分割署名データかを示すブロック番号i(i=1,2,…,M)からなる。
【0046】
<車載装置の構成>
図1に戻り、車載装置1は、自車両の現在位置を求める位置検出部2と、車両の走行速度や、車両に加わる加速度,角速度等の車両の状態を検出する各種センサからなる状態検出部3と、少なくとも地図情報を含んだ各種情報を記憶する情報記憶部4と、ユーザからの各種指令を入力するための操作パネル、地図や各種情報を表示するためのディスプレイ,案内音声や警報音等を発生させるスピーカ等からなるヒューマンインターフェース(HIF)部5とを備えている。
【0047】
また、車載装置1は他車両との無線通信を行う無線通信部6と、無線通信部6を介して送信する通信データの正当性を証明するための署名データを生成すると共に、無線通信部6を介して受信した通信データの正当性を検証するための検証処理を実行する暗号処理部7と、上記各部2〜7を使用した各種処理を実行する演算処理部8と、演算処理部8からの指令に従って、ブレーキ制御等の各種車両制御を実行する車両制御部9とを備えている。
【0048】
位置検出部2は、GPS用の人工衛星からの送信電波を受信することで、車両の位置、進行方向等を検出すると共に、状態検出部3で検出される加速度、角速度等から検出した走行距離や、地磁気センサの出力から検出した進行方向等から、いわゆる自律航法によっても車両の位置等を検出し、互いに補完し合って自車の現在位置を検出するように構成されている。
【0049】
無線通信部6は、図2に示した通信フレームを用いて、他車両Cに搭載された車載装置1との間でブロードキャスト型の無線通信を行う。具体的には、演算処理部8からデータが供給されると、そのデータにヘッダ,フッタを付加した通信フレームを生成して送信する。また、通信フレームを受信した時には、ヘッダ,フッタの情報に基づいて通信エラー(CRCチェック等による周知のもの)の有無を判定し、エラーがあれば受信した通信フレームを破棄し、エラーがなければ、通信フレームを受信した旨を演算処理部8に通知する。
【0050】
暗号処理部7は、公開鍵の正当性を証明するための電子証明書と、通信データから生成した検証データ(例えば、ハッシュ関数を用いて生成したメッセージダイジェスト)を電子証明書によって証明される公開鍵を用いて暗号化した暗号化データとからなる署名データを生成すると共に、電子証明書により公開鍵の検証を行う第1の検証処理や、第1の検証処理によって正当性が証明された公開鍵を用いて暗号化データを復号することにより得られる検証データと受信した通信データから生成した検証データとを比較することによって、通信データの検証(改竄の有無の判定)を行う第2の検証処理を実行する周知のものである。
【0051】
演算処理部8は、CPU,ROM,RAM等からなる周知のマイクロコンピュータからなり、位置検出部2にて検出された自車両の現在位置や情報記憶部4に記憶された地図情報を用い、HIF部5から入力される指示に従って、走行経路の設定や設定された走行経路の表示や案内を行ういわゆるナビゲーション装置としての機能を実現するナビ関連処理を実行する。また、演算処理部8は、無線通信部6を介して自車両の車両情報(以下「自車両情報」という)を送信する送信処理、無線通信部6を介して他車両の車両情報(以下「他車両情報」という)を取得し、これら自車両情報および他車両情報に基づいて衝突の危険度等を求める受信処理等も実行する。
【0052】
なお、ナビ関連処理には、位置検出部2から定期的に位置情報を取得すると共に、取得した位置情報と情報記憶部4に記憶された地図情報とを比較し、自車の位置が、地図情報の道路上に位置するように位置情報を補正する補正処理(マップマッチング)が少なくとも含まれている。
【0053】
また、演算処理部8のRAMには、図3に示すように、送信処理用領域と受信処理用領域とが確保されている。
このうち、送信処理用領域は、M×N個分の通信データの記憶する送信側単位データ記憶領域と、そのM×N個分の通信データからなる単位データを対象にして暗号処理部7に生成させた署名データを記憶する送信側署名データ記憶領域とからなる。なお、送信側署名データ記憶領域は、署名データをM分割した分割署名データ単位でアクセスできるように設定されている。
【0054】
つまり、送信側単位データ記憶領域は通信データを格納するM×N個のブロックからなり、また、送信側署名データ記憶領域は分割署名データを格納するM個のブロックからなる。
【0055】
また、受信処理用領域は、無線通信部6によって同時通信可能な最大数(以下「許容通信数」という)だけ用意される。そして、各受信処理用領域は、送信側単位データ記憶領域と同様に構成された二つの受信側データ記憶領域と、送信側署名データ記憶領域と同様に構成された一つの受信側署名データ記憶領域と、暗号処理部7での検証の結果、正当性が保証された公開鍵、およびその公開鍵についての電子証明書を記憶する証明書記憶領域とからなる。
【0056】
<送信処理>
演算処理部8のCPUが実行する送信処理を、図4に示すフローチャートに沿って説明する。
【0057】
なお、本処理は、車両のエンジンが動作している間、一定時間(本実施形態では100ms)毎に繰り返し起動される。また、本処理が最初に起動される前に、本処理で使用するパラメータi,jはいずれも1に初期化されるものとする。
【0058】
本処理が起動すると、S110では、位置検出部2や状態検出部3から車両情報(車両の位置,速度,加速度、角速度,補正情報等)を取得して通信データを生成すると共に、この通信データを、送信側単位データ記憶領域の(j−1)×M+i番目のブロックに記憶する。
【0059】
続くS120では、送信側署名データ記憶領域に、送信すべき署名データが記憶されているか否かを判断する。
そして、署名データが記憶されていない場合は、S130に進み、先のS110にて取得した通信データおよび予め用意されているダミーの付加データを、無線通信部6に送信させてS150に進む。なお、署名データの生成にはM×N個の通信データが必要であるため、本処理の最初の起動からM×N回目の起動までは、送信側署名データ記憶領域に送信すべき署名データが記憶されていない状態(又はダミーデータが記憶された状態)となる。
【0060】
一方、送信側署名データ記憶領域に署名データが記憶されている場合は、S140に進み、S110にて取得した通信データおよび送信側署名データ記憶領域のi番目のブロックに記憶されている分割署名データから生成した付加データを、無線通信部6に送信させてS150に進む。
【0061】
つまり、S130,S140の処理により、本処理が起動する毎に、必ず通信フレームが送信されるため、通信フレームの送信周期は、本処理の起動周期と一致したものとなる。
【0062】
S150では、パラメータiをインクリメントし(i←i+1)、続くS160では、パラメータiが、署名データの分割数Mより大きいか否かを判断し、パラメータiが分割数M以下であれば、署名データの生成に必要な数の通信データが未だ用意されていないものとして、そのまま本処理を終了する。
【0063】
一方、パラメータiが分割数Mより大きければ、S170にてパラメータiを1に初期化し、続くS180にて、パラメータjをインクリメントし(j←j+1)して、S190に進む。
【0064】
S190では、パラメータjが、繰返数Nより大きいか否かを判断し、パラメータjが繰返数N以下であれば、署名データの生成に必要な数の通信データが未だ用意されていないものとしてそのまま本処理を終了する。
【0065】
一方、パラメータjが繰返数Nより大きければ、署名データの生成に必要な数の通信データが用意されたものとして、S200にてパラメータjを1に初期化した後、S210に進む。
【0066】
S210では、送信側単位データ記憶領域に記憶されているM×N個の通信データを単位データとして、この単位データに対する署名データを暗号処理部7に生成させ、その署名データを送信側署名データ記憶領域に記憶して、本処理を終了する。
【0067】
<送信処理による動作概要>
ここで、図5は、送信処理によって順次送信される通信フレームの内容を示す説明図である。但し、図5では、N=2の場合について示す。
【0068】
図5に示すように、送信処理の最初の起動時(T0)には、送信側署名データ記憶領域には、署名データが記憶されていないため、最初の署名データ1が生成されるまで(T0〜T1)に送信される1個目から2M個目の通信フレーム(通信データ1〜2M)には、ダミーの付加データが付加される。
【0069】
2M個の送信フレームの送信が終了すると(T1)、通信データ1〜2Mを生成対象とした署名データ1が生成され、これが送信側署名データ記憶領域に記憶される。このため、次の署名データ2が生成されるまで(T1〜T2)に送信される2M+1個目から4M個目の通信フレーム(通信データ2M+1〜4M)には、署名データ1をM分割した分割署名データ1−1〜1−Mに基づく付加データが順次付加される。但し、この間の通信フレームの数が2M個であるのに対して分割署名データの数はM個であるため、3M+1個目から4M個目の通信フレームに付加される分割署名データは、2M+1個目から3M個目の通信フレームに付加された分割署名データと同じものとなる。つまり、各分割署名データは2回(N回)ずつ送信される
以下同様に、2k・M+1個目から2(k+1)・M個目(k=0,1,2…)の通信フレームには、署名データkをM分割した分割署名データkの分割署名データk−1〜k−Mに基づく付加データが順次付加され、この間に分割署名データk−1〜k−Mに基づく付加データは、2回ずつ送信されることになる。
【0070】
<受信処理>
次に、演算処理部8のCPUが実行する受信処理を、図6に示すフローチャートに沿って説明する。
【0071】
なお、本処理は、車両のエンジンが動作している間、通信フレームを受信する毎に起動する。また、本処理では、署名データを用いた検証によって通信データの正当性が証明されているか否かを表す正当フラグが用いられ、その値は後述する検証処理にて設定される。但し、本処理が最初に起動する前に、正当性フラグはOFF(証明されていない)に設定されるものとする。
【0072】
本処理が起動すると、S310では、通信フレームのヘッダから通信フレームの送信元を識別し、続くS320では、識別された送信元(以下「対象通信先」という)についての受信処理用領域が確保済みであるか否かを判断する。
【0073】
そして、受信処理用領域が確保済みでなければ、S330にて対象通信先用の受信処理用領域を確保すると共に、二つ用意された受信側単位データ記憶領域の一方をデータ格納用、他方をデータ保持用に指定してS340に進み、受信処理用領域が確保済みであれば、そのままS340に進む。
【0074】
以下では、通信フレーム、受信側単位データ記憶領域、受信側署名データ記憶領域について言及する場合、先のS310にて識別された対象通信先についてのものを指すものとする。
【0075】
S340では、付加データの署名ヘッダに含まれる署名番号が、前回受信した通信フレームにて示されていた署名番号から変化しているか否かを判断し、変化していなければ、S370に進み、変化していればS350に進む。
【0076】
S350では、データ保持用に指定された受信側単位データ記憶領域に格納されている通信データ、および受信側署名データ記憶領域に格納されている分割署名データを用いた検証処理(後述する)を実行し、続くS360では、受信側単位データ記憶領域のデータ格納用/データ保持用の指定を、現設定とは逆になるように切り替えると共に、データ格納用に設定された受信側単位データ記憶領域、および受信側署名データ記憶領域の記憶内容をクリアしてS370に進む。
【0077】
S370では、付加データの署名ヘッダに含まれるブロック番号iを参照し、データ格納用に指定されている受信側単位データ記憶領域のi番目のブロックに通信データを格納すると共に、受信側署名データ記憶領域のi番目のブロックに分割署名データを格納する。なお、ブロック番号iがMより大きい場合には、iからMの整数倍を減じた値p(但し、1≦p≦M)を求め、受信側署名データ記憶領域のp番目のブロックに分割署名データを格納する。但し、p番目のブロックに既に分割署名データが格納されている場合には、受信した分割署名データを破棄する。
【0078】
続くS380では、先のS350の検証処理にて設定される正当性フラグがONに設定されているか否かを判断し、ONに設定されていなければそのまま本処理を終了し、ONに設定されていればS390に進む。
【0079】
S390では、受信した通信データに矛盾があるか否かを判断する。具体的には、受信した通信データ(車両情報)に含まれる位置情報と、署名データによる検証によって正当性が証明されている通信データの中で最新の通信データに含まれる位置情報とを比較し、その位置情報の変化が、予め設定された想定範囲内の大きさであれば矛盾なし、想定範囲より大きければ矛盾ありと判断する。但し、通信データに含まれる補正情報が、位置情報の補正が行われたことを示している場合には、位置情報の変化が想定範囲より大きい場合であっても矛盾なしと判断する。なお、想定範囲は、車速(対象通信先の車両)や通信フレームの送信周期等に従って可変設定される。
【0080】
そして、通信データに矛盾があると判断した場合は、そのまま本処理を終了し、通信データに矛盾がないと判断した場合は、S400にて、受信した通信データ(車両情報)に基づいて他車両との衝突可能性を判断し、その判断結果に従って、衝突を回避するための各種制御(警報発生,自動制動等)を行う衝突回避処理を実行して本処理を終了する。
【0081】
<受信処理による動作概要>
本処理により、受信した通信データおよび分割署名データは、データ格納用に設定されている受信側単位データ記憶領域および受信側署名データ記憶領域に格納される。
【0082】
そして、署名番号が切り替わる毎、即ち、通信エラーがなければM×N個の通信データが格納される毎に、検証処理が実行される。なお、この時、分割署名データは、それぞれN回繰り返して受信されるため、最初のM回の受信において通信エラーによって欠落した分割署名データは、同じ分割署名データがN回連続して通信エラーとならない限り、2回目以降の受信で補完されることになる。
【0083】
つまり、図5において、T1の時点では、データ格納用に設定された受信側単位データ記憶領域には、単位データB1(通信データ1〜2M)が格納され、データ保持用に設定された受信側データ記憶領域には、格納されているデータがなく、受信側署名データ記憶領域には、ダミーデータが格納されている。従って、この時点では、署名データが存在しないため検証処理を実行することができない。
【0084】
次に、T2の時点では、データ格納用に設定された受信側単位データ記憶領域には、単位データB2(通信データ2M+1〜4M)が格納され、データ保持用に設定された受信側データ記憶領域には単位データB1(通信データ1〜2M)が格納されている。更に、受信側署名データ記憶領域には、単位データB1を生成対象とした署名データ1(分割署名データ1−1〜1−M)が記憶された状態となる。従って、この時点では、再構成された単位データB1と再構成された署名データ1とを用いて検証処理を実行することができる。
【0085】
また、例えば、通信エラーにより、通信データ2M+2に付加された分割署名データ1−2の受信に失敗しても、通信データ3M+2に付加された分割署名データ1−2の受信に成功すれば、これによって分割署名データ1−2は補完されることになる。
【0086】
なお、受信処理用領域は、受信処理とは別途実行される処理により、予め設定された上限時間以上、その領域へのデータの格納が行われなかった場合には、他の車両から送信されてくる通信フレームの受信処理に使用できるように解放されるものとする。
【0087】
<検証処理>
次に、先のS350にて実行する検証処理を、図7に示すフローチャートに沿って説明する。
【0088】
本処理が起動すると、S510には、受信側署名データ記憶領域の全ブロックに分割署名データが格納されているか否かを判断し、一つでも分割署名データが格納されていないブロックがあれば、検証不能であるものとしてS600に進み、正当フラグをOFFに設定して本処理を終了する。
【0089】
全ブロックに分割署名データが格納されていれば、S520に進み、受信側署名データ記憶領域に格納されている再構成された署名データがダミーデータであるか否かを判断し、ダミーデータであれば、検証不能であるものとしてS600に進み、正当フラグをOFFに設定して本処理を終了する。
【0090】
再構成された署名データがダミーデータでなければ、S530に進み、署名データから抽出した電子証明書が証明書記憶領域に記憶されているものと一致するか否かを判断し、一致していれば、その電子証明書と一緒に記憶されている公開鍵を使用して、S570以下の処理を実行する。
【0091】
一方、S530にて一致しないと判断した場合は、S540に進み、署名データから抽出した電子証明書を用いて、署名データから抽出した公開鍵の正当性を証明する第1の検証処理を暗号処理部7に実行させる。
【0092】
続くS550では、暗号処理部7での検証結果、公開鍵の正当性が否定された場合は、S600に進み、正当フラグをOFFに設定して本処理を終了する。
一方、S550にて、公開鍵の正当性が肯定された場合は、S560に進み、先のS540での検証対象となった電子証明書と公開鍵を証明書記憶領域に記憶して、S570に進む。
【0093】
S570では、第1の検証処理によって正当性が証明された公開鍵を用いて署名データから抽出した暗号化データを復号し、その復号によって得られた検証データ(メッセージダイジェスト)と受信した通信データ(単位データ)から生成した検証データとを比較することによって、通信データの検証を行う第2の検証処理を暗号処理部7に実行させる。
【0094】
続くS580では、暗号処理部7での検証の結果、通信データの正当性が証明された場合は、S590にて、正当フラグをONに設定して本処理を終了し、通信データの正当性が否定された場合は、S600にて正当フラグをOFFに設定して本処理を終了する。
【0095】
<正当フラグの作用>
この処理により、例えば、図5において、T2の時点で署名データによって通信データ1〜2Mの正当性が証明されなかった場合、少なくともT3に達するまでは、正当性フラグがOFFに設定されたままとなるため、通信データ4M+1〜6Mが衝突回避処理(S290)に使用されることはない。そして、T3の時点で通信データ4M+1〜6Mの正当性が証明された場合、T3以降に受信される通信データは、検証済みの通信データのうち最新のものである通信データ2Mに対して矛盾していなければ、正当なデータであるとみなされ、衝突回避処理(S400)に使用されることになる。
【0096】
<効果>
以上説明したように本実施形態の通信システムでは、送信側となる車載装置1は、M×N回分の通信データからなる単位データ毎に、署名データを生成すると共に、その署名データをM分割した分割署名データのそれぞれを、通信データに順次付加し、且つN回繰り返して送信する。
【0097】
一方、受信側となる車載装置1は、受信した通信データから単位データを再構成すると共に、受信した付加データから抽出した分割署名データから署名データを再構成する。そして、受信した通信データの正当性を、再構成された単位データ毎に、再構成された署名データを用いて検証する。
【0098】
このように、本実施形態の通信システムによれば、1回の通信で全ての署名データを送信するのではなく、M回の通信に分けて送信するため、通信データを検証するために各通信フレームに付加する付加データのデータ量を少なく抑えることができる。
【0099】
その結果、通信データのスループットを大きく低下させることなく、電子署名の技術を利用することが可能となり、通信システムに必要なスループットとセキュリティレベルとをいずれも確保することができる。
【0100】
また、本実施形態の通信システムでは、分割署名データは、同じものがN回ずつ繰り返して送信されるため、同じ分割署名データの受信をN回続けて失敗しない限り、署名データを確実に再構成することができる。
【0101】
従って、通信の失敗によりデータの一部が欠落した場合でも、通信データの検証を可能とすることができる。
また、受信側の車載装置1は、再構成された署名データによる検証を行っていない未検証の通信データの位置情報の変化が、検証済みの通信データの位置情報からみて、想定範囲内である場合に、通信データに矛盾はないものとして、その通信データを、未検証であっても衝突回避処理等に使用するようにされている。
【0102】
従って、車載装置1によれば、未検証の通信データを利用したリアルタイムな制御を可能とすることができる。
更に、車載装置1では、位置情報に対する補正が行われていることを補正情報が示している場合には、位置情報が想定範囲より大きく変化を示していても、これを矛盾とは判定しないようにしているため、異常ではない通信データが無駄に破棄されてしまうことを防止でき、受信した通信データを有効に利用することができる。
【0103】
なお、本実施形態の通信システムでは、データの受信を開始してから最初の検証が完了するまでには時間がかかるが、通信を開始した時点では、送信元の車両とは十分に(無線通信部6がカバーする通信エリアの半径程度、例えば200m)離れており、衝突の危険性は極めて低いことから検証の遅れによる問題はない。
【0104】
[第2実施形態]
次に、第2実施形態について説明する。
本実施形態は、分割署名データの生成、復元の仕方が、第1実施形態とは一部異なっているだけであるため、この異なる点を中心に説明する。
【0105】
<送信処理>
即ち、本実施形態では、送信処理(図4参照)のS210にて署名データを生成する際に、暗号処理部7に生成させた署名データをそのまま送信側署名データ記憶領域に格納するのではなく、この署名データを、更に、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化した符号化データを、送信側署名データ記憶領域に格納する。
【0106】
つまり、この符号化データをM分割したものが分割署名データとなる。
なお、ブロック誤りを訂正可能な誤り訂正符号方式としては、例えば、リードソロモン符号を用いたものが考えられるがこれに限るものではない。また、ここでは、分割署名データが欠落しても1個であれば署名データを復元できるものとする。
【0107】
<受信処理>
次に、検証処理を図8に示すフローチャートに沿って説明する。但し、第1実施形態と同一の処理には、同一のステップ番号を付し、その説明を省略する。
【0108】
S510にて、受信側署名データ記憶領域に、分割署名データが格納されていないブロックがあると判断した場合、S512にて誤り訂正(リードソロモン符号の復号等)によって署名データを復元可能な状態であるか否かを判断し、復元不能であれば、S600にて正当フラグをOFFに設定して本処理を終了する。
【0109】
なお、S512では、具体的には、分割署名データの欠落が1ブロックだけであれば、復元可能であると判断し、欠落が2ブロック以上である場合は復元不能であると判断する。
【0110】
そして、S510にて全ブロックに分割署名データが格納されていると判断した場合、又はS512にて復元可能であると判断した場合は、S514にて、受信側署名データ記憶領域に格納されている符号化データ(M×N個又はM×N−1個の分割署名データ)を復号することで署名データを復元し、S520に進む。
【0111】
以下、S520〜S600の処理は、第1実施形態の場合と同様である。
<効果>
このように構成された本実施形態の通信システムによれば、受信エラーによって、分割署名データが欠落したとしても、その欠落が許容数(本実施形態では1)以下であれば、署名データを復元することができ、通信データの検証を可能とすることができる。
【0112】
なお、本実施形態では、必ずしも、分割署名データを繰り返して送信する(N≧2である)必要がなく、繰返数Nを1に設定して実現してもよい。
[第3実施形態]
次に第3実施形態について説明する。
【0113】
本実施形態は、分割署名データの生成、復元の仕方が、上記第2実施形態とは異なっているだけであるため、この異なる点を中心に説明する。
図10は、(a)が本実施形態における署名データの生成方法を示す説明図、(b)が検証方法を示す説明図である。
【0114】
本実施形態において、通信フレームの送信側では、図10(a)に示すように、M個の通信データを単位データとして、その単位データ毎に、以下のようにして、署名データを作成する。
【0115】
まず、単位データ毎に検証データ(メッセージダイジェスト)を生成し、その検証データの一部からなる部分検証データを、単位データを構成するM個の通信データ分だけ連結した合成データAを生成する。そして、その合成データAを暗号化し、その暗号化データに、公開鍵,電子証明書を付加することで署名データを生成する。
【0116】
この署名データは、第2実施形態の場合と同様に、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化され、その符号化によって生成された符号化データをM分割したものが分割署名データとして通信フレームに付加される。
【0117】
一方、通信フレームの受信側では、図10(b)に示すように、受信した通信フレームから署名データを抽出(第2実施形態の場合と同様)し、署名データに含まれる暗号化データを抽出し、公開鍵で復号することで合成データAを復元する。これと共に、受信した通信データ毎に検証データを生成し、その検証データの一部からなる部分検証データを、署名データの生成対象となった単位データを構成するM個の通信データ分だけ連結した合成データBを生成する。
【0118】
そして、合成データA,Bを、部分検証データ毎に比較し、全て一致する場合に全ての通信データは正当性を有するものと判断する。
ここで、通信エラーによりいずれかの通信データ,分割署名データが欠落している場合は、その欠落数が許容数以下であれば、誤り訂正によって署名データ、更には合成データAを復元することができる。しかし、通信データについては復元できないため、合成データBは、欠落した通信データに対する部分検証データが欠落したものとなる(図中の斜線部分参照)。
【0119】
この場合、合成データBの欠落した部分以外の全ての部分検証データが合成データAの部分検証データと一致している場合、欠落した通信データ以外の通信データは正当性を有するものと判断する。
【0120】
<効果>
以上説明したように、本実施形態の通信システムによれば、署名データの生成対象となった単位データを構成する通信データの一部が欠落している場合であっても、その欠落したもの以外の通信データについての検証を問題なく行うことができるため、欠落した通信データと同一の単位データに属する他の通信データを、破棄することなく、有効利用することができる。
【0121】
本実施形態では、署名データを誤り訂正可能な符号化方式で符号化する第2実施形態を前提とする通信システムに適用した例について説明したが、分割署名データをN回繰り返して送信する第1実施形態を前提とする通信システムに適用してもよい。
【0122】
[他の実施形態]
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【0123】
例えば、上記実施形態では、検証処理のうち、S540(第1の検証処理)と、S570(第2の検証処理)とを暗号処理部7に実行させるように構成したが、検証処理の全体を、暗号処理部7に実行させるように構成してもよい。
【0124】
上記各実施形態において、車載装置1は、送信側端末および受信側端末のいずれとしても動作するように構成されているが、いずれか一方の専用端末として動作するように構成してもよい。
【0125】
上記実施形態では、車車間通信を行う通信システムに適用した例を示したが、通信データの正当性を検証するための付加データを、通信データに付加して送受信する通信システムであれば、どのような通信システムに適用してもよい。
【符号の説明】
【0126】
1…車載装置 2…位置検出部 3…状態検出部 4…情報記憶部 5…ヒューマンインターフェース(HIF)部 6…無線通信部 7…暗号処理部 8…演算処理部 9…車両制御部 C…車両
【技術分野】
【0001】
本発明は、電子署名を利用した通信システムに関する。
【背景技術】
【0002】
近年、車車間通信を利用して、自車両の位置,速度,進行方向,ブレーキのON/OFF等の車両情報を周辺車両と交換することで、衝突の危険性のある車両の存在をドライバに通知することにより、見通しの悪い交差点等での出会い頭事故などを未然に防止するシステムの導入が検討されている(例えば、特許文献1参照)。
【0003】
このシステムでは、通信データの正当性を如何にして保障するかが重要課題であり、そのための技術の一つとして、公開鍵暗号方式を用いた電子署名が知られている。
この電子署名は、具体的には、検証の対象とすべき通信データから生成した検証データA(例えば、ハッシュ関数によって作成されるメッセージダイジェスト)を公開鍵暗号方式の秘密鍵で暗号化して暗号化データを生成する。この暗号化データと、暗号化データの復号に用いる公開鍵と、公開鍵の正当性を証明する電子証明書とからなる署名データを、検証の対象となる通信データと共に通信相手に送付する。署名データを受信した通信相手は、電子証明書を用いて公開鍵を検証し、その検証により正当性が証明された公開鍵を用いて暗号化データを復号することで検証データAを復元する。そして、その復元された検証データAと、受信した通信データから生成した検証データBと比較して、両検証データA,Bが一致すれば受信データは、改竄されていない正当なデータと判定する。
【0004】
しかし、上述の公開鍵暗号方式を利用した電子署名では、十分な信頼性を確保するためには、公開鍵の鍵長を長くする必要があり、これに伴って署名データも長くなる。
そして、1回の通信で送受信可能な通信データ量が比較的少なく、署名データと同程度である場合、署名データによるオーバーヘッドが増加して通信効率を低下させてしまうという問題があった(図11参照)。
【0005】
特に、上述の車車間通信を利用したシステムでは、定期的にデータを交換する必要があり、また、1回の通信で交換するデータは100バイト程度が想定されている。これに対して、署名データは、200バイト程度かそれ以上となる。つまり、署名データを付加すると、1回の通信に必要な通信データ量が2〜3倍程度に増大することになる。
【0006】
ところで、1回の送信(一つの通信フレーム)で交換可能なデータ量は、通信速度や同時通信の許容数などによって決まる。
ここで、車車間通信の通信エリアを半径200mとし、片道3車線の渋滞した交差点での通信を考える。平均10m間隔で車両が存在すると仮定すると200mの間に1車線当たり20台が存在し、片側3車線(×3)、対向車線(×2)、4方向(×4)を考慮すると、通信エリア内には480台が存在する可能性がある。なお、道路状況によっては更にこれより多い場合も考えられる。
【0007】
また、高速道路を想定すると1秒間に30m程度進むこと、および、通信エラー等によってデータ抜けが生じる場合があることも考慮し、データ抜けによる制御への影響を許容できる程度に抑えるには、データの送信周期を100ms以下に設定することが適当と考えられる。更に、通信速度については割り当てられている電波の帯域幅などの条件にもよるが10Mbps程度と仮定する。
【0008】
このような条件の下で、1回の通信で送信可能なデータ量は、次式で求められる。
10×106 [bps]×0.1[s]/480[台]=2083[bit]
つまり、ロスなく送信できたとして高々260バイト程度しか送ることができないことがわかる。しかも、パケット密度が増大するとパケットの衝突などにより通信効率が著しく低下するため、実際にはこの3割程度が限界といわれている。
【0009】
つまり、上述したような車車間通信システムでは、署名データが200バイト程度であることを考えると、本来送信したい100バイトのデータも送信することもできない可能性があるという問題があった。
【0010】
これに対して、送信側では、M個の通信データからなる単位データを対象として生成した検証データから署名データを生成し、その署名データをM分割した分割署名データを通信データに付加して送信し、受信側では、受信した通信データから再構成した単位データと、受信した分割署名から署名データを再構成し、その再構成された署名データから抽出した検証データを用いて、通信データの検証を行うことが考えられる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2009−081524号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
ところで、通信データについては、もともと通信エラーがあることを前提として、上位のアプリケーションが作られていることが多く、通信データが欠落しても、過去に受信した通信データ等から補完して、受信側の制御を続けることが可能としている場合もある。
【0013】
しかし、検証データは、一部でも欠落するとこれを使用することができない。従って、署名データをM分割して送信する場合、その全てを受信できなければ、署名データ(ひいては検証データ)を再構成することがでない。
【0014】
このため、一つの通信フレームが欠落すると、受信側では、その欠落によって再構成が不能となった署名データ(ひいては検証データ)の検証対象となる単位データ(M個の通信データ)の全てについて、データの正当性を証明できなくなってしまうという問題があった。
【0015】
本発明は、上記問題点を解決するために、署名データを分割して送信する通信システムにおいて、通信エラーによりデータの一部が欠落した場合でも、通信データの検証を可能とすることを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するためになされた請求項1に記載の通信システムにおいて、通信データを送信する送信側端末は、M×N(M,Nは2以上の整数)回分の通信データからなる単位データ毎に、署名データを生成すると共に、該署名データをM分割した分割署名データのそれぞれを通信データに付加してN回繰り返して送信する。
【0017】
なお、分割署名データを付加する通信データは、分割署名データが属する署名データの生成対象となった通信データであってもよいし、生成対象ではない通信データであってもよい。そして、署名データはM×N個の通信データが全部揃うまで生成することができないため、特に、生成された通信データをリアルタイムで送受信する必要がある通信システムでは、通信データと分割署名データとの対応関係は後者となる。
【0018】
一方、通信データを受信する受信側端末は、受信した通信データから単位データを再構成すると共に、受信した通信データに付加されている分割署名データから署名データを再構成し、通信データの正当性を、再構成された単位データ毎に、再構成された署名データを用いて検証する。
【0019】
このように構成された本発明の通信システムでは、1回の通信で全ての署名データを送信するのではなく(図9(a)参照)、複数回の通信に分けて送信するため(図9
(b)参照)、1回の通信で送信すべき通信データ以外のデータ量を少なく抑えることができる。
【0020】
その結果、通信データのスループットを大きく低下させることなく、電子署名の技術を利用することが可能となり、通信システムに必要なスループットおよびセキュリティレベルをいずれも確保することができる。
【0021】
また、本発明の通信システムでは、全ての分割署名データがN回繰り返して送信されるため、通信に失敗したとしても、同じ分割署名データの受信にN回とも失敗しない限り、署名データを正しく再構成することができる。
【0022】
従って、通信に失敗することによって署名データの再構成することができないという事態、ひいては通信データを検証できないという事態の発生を防止することができる。
次に、請求項2に記載の通信システムにおいて、通信データを送信する送信側端末は、M(Mは2以上の整数)回分の通信データからなる単位データ毎に署名データを生成し、該署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成し、該符号化データをM分割することで生成した分割署名データのそれぞれを、通信データに付加して送信する。
【0023】
なお、分割署名データを付加する通信データは、請求項1の場合と同様に、分割署名データが属する署名データの生成対象となった通信データであってもよいし、生成対象ではない通信データであってもよい。
【0024】
一方、通信データを受信する受信側端末は、受信した通信データから単位データを再構成すると共に、受信した通信データに付加されている分割署名データから符号化データを再構成し、再構成された符号化データを復号することで署名データを再構成(復元)し、通信データの正当性を、再構成された単位データ毎に、再構成(復元)された署名データを用いて検証する。
【0025】
このように構成された本発明の通信システムでは、1回の通信で全ての署名データを送信するのではなく、複数回の通信に分けて送信するため、1回の通信で送信すべき通信データ以外のデータ量を少なく抑えることができる。
【0026】
その結果、通信データのスループットを大きく低下させることなく、電子署名の技術を利用することが可能となり、通信システムに必要なスループットおよびセキュリティレベルをいずれも確保することができる。
【0027】
また、本発明の通信システムでは、ブロック誤りを訂正可能な誤り訂正符号方式によって署名データを符号化した符号化データをM分割することで分割署名データを生成している。このため、通信エラーにより、分割署名データ(ひいては符号化データ)に欠落が生じたとしても、復号によって署名データを正しく再構成(復元)することができる。
【0028】
従って、通信エラーによって署名データの再構成(復元)することができないという事態、ひいては通信データを検証できないという事態が発生することを抑制することができる。
【0029】
ところで、請求項1又は請求項2に記載の通信システムにおいて、署名データは、例えば次のように生成,使用されるように構成してもよい。
即ち、請求項3に記載のように、送信側端末は、単位データ全体を一括して検証するための検証データを生成し、該検証データを用いて署名データを生成する(図9(b)参照)。そして、受信側端末は、再構成された単位データから生成した検証データと、再構成された署名データから抽出した検証データを比較することで、単位データを構成する通信データの正当性を検証する。
【0030】
なお、この場合、署名データの復元は可能であるが、例えば、公開鍵暗号方式を用いた電子署名のように、検証データを受信した通信データから生成する署名方式を採用するには、通信データを復元する何等かの手法を採用する必要があるという新たな問題が生じる。
【0031】
そこで、署名データは、例えば次のように生成,使用されるように構成してもよい。
即ち、請求項4に記載のように、送信側端末は、通信データ毎に、該通信データを検証するための検証データを生成し、該検証データの一部を部分検証データとして、単位データ毎に、該単位データを構成する通信データの部分検証データを組み合わせた合成データを用いて署名データを生成する(図10(a)参照)。そして、受信側端末は、再構成した署名データから合成データを抽出し、再構成された単位データを構成する通信データのそれぞれについて生成した部分検証データと、合成データを構成する部分検証データとを比較することで、受信した通信データの正当性を検証する(図10(b)参照)。
【0032】
この場合、部分検証データ毎に異なる通信データを検証することができるため、通信データの欠落が生じたとしても、他の通信データの検証を問題なく実行することができる。
次に、請求項5に記載の送信機では、署名データ生成手段が、M×N(M,Nは2以上の整数)回分の通信データからなる単位データ毎に、署名データを生成し、送信手段が、署名データ生成手段にて生成された署名データを、M分割した分割署名データのそれぞれを、通信データに付加してN回繰り返して送信する。
【0033】
また、請求項6に記載の受信機では、受信手段が、分割署名データが付加された通信データを受信し、再構成手段が、受信手段が受信した通信データから単位データを再構成すると共に、該通信データに付加されている分割署名データから署名データを再構成する。そして、検証手段が、受信手段によって受信された通信データの正当性を、再構成手段によって再構成された単位データ毎に、再構成手段によって再構成された署名データを用いて検証する。
【0034】
更に、請求項7に記載の送受信機は、請求項5に記載のものと同様の署名データ生成手段,送信手段、および請求項6に記載のものと同様の受信手段,再構成手段,検証手段を備えている。
【0035】
つまり、請求項5〜7に記載の送信機,受信機,送受信器は、請求項1に記載の通信システムを構築する際に、好適に用いることができる。
次に、請求項8に記載の送信機では、署名データ生成手段が、M(Mは2以上の整数)回分の通信データからなる単位データ毎に、署名データを生成し、符号化データ生成手段が、署名データ生成手段にて生成された署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成する。そして、送信手段が、符号化データ生成手段にて生成された符号化データをN(NはM≧N≧2となる整数)分割した分割署名データのそれぞれを、通信データに付加して順次送信する。
【0036】
また、請求項9に記載の受信機では、受信手段が、分割署名データが付加された通信データを受信し、再構成手段が、受信手段が受信した通信データから単位データを再構成すると共に、該通信データに付加されている前記署名データから符号化データを再構成する。そして、復号手段が、再構成手段によって再構成された符号化データを復号することで署名データを再構成し、検証手段が、受信手段によって受信された通信データの正当性を、再構成手段によって再構成された単位データ毎に、復号手段によって再構成された署名データを用いて検証する。
【0037】
更に、請求項10に記載の送受信機は、請求項8に記載のものと同様の署名データ生成手段,符号化データ生成手段,送信手段、および請求項9に記載のものと同様の受信手段,再構成手段,復号手段,検証手段を備えている。
【0038】
つまり、請求項8〜10に記載の送信機,受信機,送受信器は、請求項2に記載の通信システムを構築する際に、好適に用いることができる。
【図面の簡単な説明】
【0039】
【図1】通信システムおよび通信システムを構成する車載装置の構成を示すブロック図。
【図2】通信システムにて使用する通信フレームの構成を示す説明図。
【図3】各種データの記憶領域の構成を示す説明図。
【図4】演算処理部が実行する送信処理の内容を示すフローチャート。
【図5】送信処理によって生成される通信フレームの内容を示す説明図。
【図6】演算処理部が実行する受信処理の内容を示すフローチャート。
【図7】受信処理中で実行する検証処理の詳細を示すフローチャート。
【図8】第2実施形態における検証処理の詳細を示すフローチャート。
【図9】検証データと付加データとの関係を示す説明図であり、(a)は従来技術、(b)は第1実施形態、(c)は第2実施形態の場合を示す。
【図10】第3実施形態における検証データの生成,および検証データを用いた検証の概要を示す説明図。
【図11】従来の通信システムにおける通信フレームの構成を示す説明図。
【発明を実施するための形態】
【0040】
以下に本発明の実施形態を図面と共に説明する。
[第1実施形態]
図1は、本発明が適用された通信システムの概要、および、通信システムを構成する車載装置の構成を示すブロック図である。
【0041】
図1に示すように、本実施形態の通信システムは、それぞれが車両Cに搭載され互いに無線通信(車車間通信)を行う複数の車載装置1によって構成される。
なお、各車両Cの車載装置1は、車車間通信によって、自車の近辺(例えば半径200m以内)に存在する他車両の車載装置1との間で、自車両の位置,速度,加速度,角速度,位置に関する補正情報等からなる車両情報を相互に交換し、取得した車両情報を用いて、他車両との衝突の危険を回避するための制御を実行する。
【0042】
<通信フレーム>
ここで、本実施形態の通信システムにおいて送受信される通信フレームの構成を、図2を参照して説明する。
【0043】
通信フレームは、図2に示すように、ヘッダ、データ、フッタからなる。ヘッダ、フッタは、通信システムにて採用された通信プロトコルに応じて決まる周知のものである。なお、ヘッダには、通信フレームの送信元を識別するための情報が少なくとも含まれ、フッタにはCRC符号等の誤り検出符号が少なくとも含まれている。
【0044】
データは、上述の車両情報からなる通信データと、通信データの正当性を検証する際に使用される付加データとからなる。
そして、付加データは、連続するM×N個(M,Nは2以上の整数)の通信データからなる単位データを対象として生成された署名データをM個に分割することで生成される分割署名データと、分割署名データから元の署名データを再構成する際に必要となる情報で構成された署名ヘッダとからなる。
【0045】
また、署名ヘッダは、署名対象の種類(証明書、データ)等を識別するための識別子、分割署名データが属する署名データを識別するための署名番号k(k=1,2,…)、その署名番号kで識別される署名データの何番目の分割署名データかを示すブロック番号i(i=1,2,…,M)からなる。
【0046】
<車載装置の構成>
図1に戻り、車載装置1は、自車両の現在位置を求める位置検出部2と、車両の走行速度や、車両に加わる加速度,角速度等の車両の状態を検出する各種センサからなる状態検出部3と、少なくとも地図情報を含んだ各種情報を記憶する情報記憶部4と、ユーザからの各種指令を入力するための操作パネル、地図や各種情報を表示するためのディスプレイ,案内音声や警報音等を発生させるスピーカ等からなるヒューマンインターフェース(HIF)部5とを備えている。
【0047】
また、車載装置1は他車両との無線通信を行う無線通信部6と、無線通信部6を介して送信する通信データの正当性を証明するための署名データを生成すると共に、無線通信部6を介して受信した通信データの正当性を検証するための検証処理を実行する暗号処理部7と、上記各部2〜7を使用した各種処理を実行する演算処理部8と、演算処理部8からの指令に従って、ブレーキ制御等の各種車両制御を実行する車両制御部9とを備えている。
【0048】
位置検出部2は、GPS用の人工衛星からの送信電波を受信することで、車両の位置、進行方向等を検出すると共に、状態検出部3で検出される加速度、角速度等から検出した走行距離や、地磁気センサの出力から検出した進行方向等から、いわゆる自律航法によっても車両の位置等を検出し、互いに補完し合って自車の現在位置を検出するように構成されている。
【0049】
無線通信部6は、図2に示した通信フレームを用いて、他車両Cに搭載された車載装置1との間でブロードキャスト型の無線通信を行う。具体的には、演算処理部8からデータが供給されると、そのデータにヘッダ,フッタを付加した通信フレームを生成して送信する。また、通信フレームを受信した時には、ヘッダ,フッタの情報に基づいて通信エラー(CRCチェック等による周知のもの)の有無を判定し、エラーがあれば受信した通信フレームを破棄し、エラーがなければ、通信フレームを受信した旨を演算処理部8に通知する。
【0050】
暗号処理部7は、公開鍵の正当性を証明するための電子証明書と、通信データから生成した検証データ(例えば、ハッシュ関数を用いて生成したメッセージダイジェスト)を電子証明書によって証明される公開鍵を用いて暗号化した暗号化データとからなる署名データを生成すると共に、電子証明書により公開鍵の検証を行う第1の検証処理や、第1の検証処理によって正当性が証明された公開鍵を用いて暗号化データを復号することにより得られる検証データと受信した通信データから生成した検証データとを比較することによって、通信データの検証(改竄の有無の判定)を行う第2の検証処理を実行する周知のものである。
【0051】
演算処理部8は、CPU,ROM,RAM等からなる周知のマイクロコンピュータからなり、位置検出部2にて検出された自車両の現在位置や情報記憶部4に記憶された地図情報を用い、HIF部5から入力される指示に従って、走行経路の設定や設定された走行経路の表示や案内を行ういわゆるナビゲーション装置としての機能を実現するナビ関連処理を実行する。また、演算処理部8は、無線通信部6を介して自車両の車両情報(以下「自車両情報」という)を送信する送信処理、無線通信部6を介して他車両の車両情報(以下「他車両情報」という)を取得し、これら自車両情報および他車両情報に基づいて衝突の危険度等を求める受信処理等も実行する。
【0052】
なお、ナビ関連処理には、位置検出部2から定期的に位置情報を取得すると共に、取得した位置情報と情報記憶部4に記憶された地図情報とを比較し、自車の位置が、地図情報の道路上に位置するように位置情報を補正する補正処理(マップマッチング)が少なくとも含まれている。
【0053】
また、演算処理部8のRAMには、図3に示すように、送信処理用領域と受信処理用領域とが確保されている。
このうち、送信処理用領域は、M×N個分の通信データの記憶する送信側単位データ記憶領域と、そのM×N個分の通信データからなる単位データを対象にして暗号処理部7に生成させた署名データを記憶する送信側署名データ記憶領域とからなる。なお、送信側署名データ記憶領域は、署名データをM分割した分割署名データ単位でアクセスできるように設定されている。
【0054】
つまり、送信側単位データ記憶領域は通信データを格納するM×N個のブロックからなり、また、送信側署名データ記憶領域は分割署名データを格納するM個のブロックからなる。
【0055】
また、受信処理用領域は、無線通信部6によって同時通信可能な最大数(以下「許容通信数」という)だけ用意される。そして、各受信処理用領域は、送信側単位データ記憶領域と同様に構成された二つの受信側データ記憶領域と、送信側署名データ記憶領域と同様に構成された一つの受信側署名データ記憶領域と、暗号処理部7での検証の結果、正当性が保証された公開鍵、およびその公開鍵についての電子証明書を記憶する証明書記憶領域とからなる。
【0056】
<送信処理>
演算処理部8のCPUが実行する送信処理を、図4に示すフローチャートに沿って説明する。
【0057】
なお、本処理は、車両のエンジンが動作している間、一定時間(本実施形態では100ms)毎に繰り返し起動される。また、本処理が最初に起動される前に、本処理で使用するパラメータi,jはいずれも1に初期化されるものとする。
【0058】
本処理が起動すると、S110では、位置検出部2や状態検出部3から車両情報(車両の位置,速度,加速度、角速度,補正情報等)を取得して通信データを生成すると共に、この通信データを、送信側単位データ記憶領域の(j−1)×M+i番目のブロックに記憶する。
【0059】
続くS120では、送信側署名データ記憶領域に、送信すべき署名データが記憶されているか否かを判断する。
そして、署名データが記憶されていない場合は、S130に進み、先のS110にて取得した通信データおよび予め用意されているダミーの付加データを、無線通信部6に送信させてS150に進む。なお、署名データの生成にはM×N個の通信データが必要であるため、本処理の最初の起動からM×N回目の起動までは、送信側署名データ記憶領域に送信すべき署名データが記憶されていない状態(又はダミーデータが記憶された状態)となる。
【0060】
一方、送信側署名データ記憶領域に署名データが記憶されている場合は、S140に進み、S110にて取得した通信データおよび送信側署名データ記憶領域のi番目のブロックに記憶されている分割署名データから生成した付加データを、無線通信部6に送信させてS150に進む。
【0061】
つまり、S130,S140の処理により、本処理が起動する毎に、必ず通信フレームが送信されるため、通信フレームの送信周期は、本処理の起動周期と一致したものとなる。
【0062】
S150では、パラメータiをインクリメントし(i←i+1)、続くS160では、パラメータiが、署名データの分割数Mより大きいか否かを判断し、パラメータiが分割数M以下であれば、署名データの生成に必要な数の通信データが未だ用意されていないものとして、そのまま本処理を終了する。
【0063】
一方、パラメータiが分割数Mより大きければ、S170にてパラメータiを1に初期化し、続くS180にて、パラメータjをインクリメントし(j←j+1)して、S190に進む。
【0064】
S190では、パラメータjが、繰返数Nより大きいか否かを判断し、パラメータjが繰返数N以下であれば、署名データの生成に必要な数の通信データが未だ用意されていないものとしてそのまま本処理を終了する。
【0065】
一方、パラメータjが繰返数Nより大きければ、署名データの生成に必要な数の通信データが用意されたものとして、S200にてパラメータjを1に初期化した後、S210に進む。
【0066】
S210では、送信側単位データ記憶領域に記憶されているM×N個の通信データを単位データとして、この単位データに対する署名データを暗号処理部7に生成させ、その署名データを送信側署名データ記憶領域に記憶して、本処理を終了する。
【0067】
<送信処理による動作概要>
ここで、図5は、送信処理によって順次送信される通信フレームの内容を示す説明図である。但し、図5では、N=2の場合について示す。
【0068】
図5に示すように、送信処理の最初の起動時(T0)には、送信側署名データ記憶領域には、署名データが記憶されていないため、最初の署名データ1が生成されるまで(T0〜T1)に送信される1個目から2M個目の通信フレーム(通信データ1〜2M)には、ダミーの付加データが付加される。
【0069】
2M個の送信フレームの送信が終了すると(T1)、通信データ1〜2Mを生成対象とした署名データ1が生成され、これが送信側署名データ記憶領域に記憶される。このため、次の署名データ2が生成されるまで(T1〜T2)に送信される2M+1個目から4M個目の通信フレーム(通信データ2M+1〜4M)には、署名データ1をM分割した分割署名データ1−1〜1−Mに基づく付加データが順次付加される。但し、この間の通信フレームの数が2M個であるのに対して分割署名データの数はM個であるため、3M+1個目から4M個目の通信フレームに付加される分割署名データは、2M+1個目から3M個目の通信フレームに付加された分割署名データと同じものとなる。つまり、各分割署名データは2回(N回)ずつ送信される
以下同様に、2k・M+1個目から2(k+1)・M個目(k=0,1,2…)の通信フレームには、署名データkをM分割した分割署名データkの分割署名データk−1〜k−Mに基づく付加データが順次付加され、この間に分割署名データk−1〜k−Mに基づく付加データは、2回ずつ送信されることになる。
【0070】
<受信処理>
次に、演算処理部8のCPUが実行する受信処理を、図6に示すフローチャートに沿って説明する。
【0071】
なお、本処理は、車両のエンジンが動作している間、通信フレームを受信する毎に起動する。また、本処理では、署名データを用いた検証によって通信データの正当性が証明されているか否かを表す正当フラグが用いられ、その値は後述する検証処理にて設定される。但し、本処理が最初に起動する前に、正当性フラグはOFF(証明されていない)に設定されるものとする。
【0072】
本処理が起動すると、S310では、通信フレームのヘッダから通信フレームの送信元を識別し、続くS320では、識別された送信元(以下「対象通信先」という)についての受信処理用領域が確保済みであるか否かを判断する。
【0073】
そして、受信処理用領域が確保済みでなければ、S330にて対象通信先用の受信処理用領域を確保すると共に、二つ用意された受信側単位データ記憶領域の一方をデータ格納用、他方をデータ保持用に指定してS340に進み、受信処理用領域が確保済みであれば、そのままS340に進む。
【0074】
以下では、通信フレーム、受信側単位データ記憶領域、受信側署名データ記憶領域について言及する場合、先のS310にて識別された対象通信先についてのものを指すものとする。
【0075】
S340では、付加データの署名ヘッダに含まれる署名番号が、前回受信した通信フレームにて示されていた署名番号から変化しているか否かを判断し、変化していなければ、S370に進み、変化していればS350に進む。
【0076】
S350では、データ保持用に指定された受信側単位データ記憶領域に格納されている通信データ、および受信側署名データ記憶領域に格納されている分割署名データを用いた検証処理(後述する)を実行し、続くS360では、受信側単位データ記憶領域のデータ格納用/データ保持用の指定を、現設定とは逆になるように切り替えると共に、データ格納用に設定された受信側単位データ記憶領域、および受信側署名データ記憶領域の記憶内容をクリアしてS370に進む。
【0077】
S370では、付加データの署名ヘッダに含まれるブロック番号iを参照し、データ格納用に指定されている受信側単位データ記憶領域のi番目のブロックに通信データを格納すると共に、受信側署名データ記憶領域のi番目のブロックに分割署名データを格納する。なお、ブロック番号iがMより大きい場合には、iからMの整数倍を減じた値p(但し、1≦p≦M)を求め、受信側署名データ記憶領域のp番目のブロックに分割署名データを格納する。但し、p番目のブロックに既に分割署名データが格納されている場合には、受信した分割署名データを破棄する。
【0078】
続くS380では、先のS350の検証処理にて設定される正当性フラグがONに設定されているか否かを判断し、ONに設定されていなければそのまま本処理を終了し、ONに設定されていればS390に進む。
【0079】
S390では、受信した通信データに矛盾があるか否かを判断する。具体的には、受信した通信データ(車両情報)に含まれる位置情報と、署名データによる検証によって正当性が証明されている通信データの中で最新の通信データに含まれる位置情報とを比較し、その位置情報の変化が、予め設定された想定範囲内の大きさであれば矛盾なし、想定範囲より大きければ矛盾ありと判断する。但し、通信データに含まれる補正情報が、位置情報の補正が行われたことを示している場合には、位置情報の変化が想定範囲より大きい場合であっても矛盾なしと判断する。なお、想定範囲は、車速(対象通信先の車両)や通信フレームの送信周期等に従って可変設定される。
【0080】
そして、通信データに矛盾があると判断した場合は、そのまま本処理を終了し、通信データに矛盾がないと判断した場合は、S400にて、受信した通信データ(車両情報)に基づいて他車両との衝突可能性を判断し、その判断結果に従って、衝突を回避するための各種制御(警報発生,自動制動等)を行う衝突回避処理を実行して本処理を終了する。
【0081】
<受信処理による動作概要>
本処理により、受信した通信データおよび分割署名データは、データ格納用に設定されている受信側単位データ記憶領域および受信側署名データ記憶領域に格納される。
【0082】
そして、署名番号が切り替わる毎、即ち、通信エラーがなければM×N個の通信データが格納される毎に、検証処理が実行される。なお、この時、分割署名データは、それぞれN回繰り返して受信されるため、最初のM回の受信において通信エラーによって欠落した分割署名データは、同じ分割署名データがN回連続して通信エラーとならない限り、2回目以降の受信で補完されることになる。
【0083】
つまり、図5において、T1の時点では、データ格納用に設定された受信側単位データ記憶領域には、単位データB1(通信データ1〜2M)が格納され、データ保持用に設定された受信側データ記憶領域には、格納されているデータがなく、受信側署名データ記憶領域には、ダミーデータが格納されている。従って、この時点では、署名データが存在しないため検証処理を実行することができない。
【0084】
次に、T2の時点では、データ格納用に設定された受信側単位データ記憶領域には、単位データB2(通信データ2M+1〜4M)が格納され、データ保持用に設定された受信側データ記憶領域には単位データB1(通信データ1〜2M)が格納されている。更に、受信側署名データ記憶領域には、単位データB1を生成対象とした署名データ1(分割署名データ1−1〜1−M)が記憶された状態となる。従って、この時点では、再構成された単位データB1と再構成された署名データ1とを用いて検証処理を実行することができる。
【0085】
また、例えば、通信エラーにより、通信データ2M+2に付加された分割署名データ1−2の受信に失敗しても、通信データ3M+2に付加された分割署名データ1−2の受信に成功すれば、これによって分割署名データ1−2は補完されることになる。
【0086】
なお、受信処理用領域は、受信処理とは別途実行される処理により、予め設定された上限時間以上、その領域へのデータの格納が行われなかった場合には、他の車両から送信されてくる通信フレームの受信処理に使用できるように解放されるものとする。
【0087】
<検証処理>
次に、先のS350にて実行する検証処理を、図7に示すフローチャートに沿って説明する。
【0088】
本処理が起動すると、S510には、受信側署名データ記憶領域の全ブロックに分割署名データが格納されているか否かを判断し、一つでも分割署名データが格納されていないブロックがあれば、検証不能であるものとしてS600に進み、正当フラグをOFFに設定して本処理を終了する。
【0089】
全ブロックに分割署名データが格納されていれば、S520に進み、受信側署名データ記憶領域に格納されている再構成された署名データがダミーデータであるか否かを判断し、ダミーデータであれば、検証不能であるものとしてS600に進み、正当フラグをOFFに設定して本処理を終了する。
【0090】
再構成された署名データがダミーデータでなければ、S530に進み、署名データから抽出した電子証明書が証明書記憶領域に記憶されているものと一致するか否かを判断し、一致していれば、その電子証明書と一緒に記憶されている公開鍵を使用して、S570以下の処理を実行する。
【0091】
一方、S530にて一致しないと判断した場合は、S540に進み、署名データから抽出した電子証明書を用いて、署名データから抽出した公開鍵の正当性を証明する第1の検証処理を暗号処理部7に実行させる。
【0092】
続くS550では、暗号処理部7での検証結果、公開鍵の正当性が否定された場合は、S600に進み、正当フラグをOFFに設定して本処理を終了する。
一方、S550にて、公開鍵の正当性が肯定された場合は、S560に進み、先のS540での検証対象となった電子証明書と公開鍵を証明書記憶領域に記憶して、S570に進む。
【0093】
S570では、第1の検証処理によって正当性が証明された公開鍵を用いて署名データから抽出した暗号化データを復号し、その復号によって得られた検証データ(メッセージダイジェスト)と受信した通信データ(単位データ)から生成した検証データとを比較することによって、通信データの検証を行う第2の検証処理を暗号処理部7に実行させる。
【0094】
続くS580では、暗号処理部7での検証の結果、通信データの正当性が証明された場合は、S590にて、正当フラグをONに設定して本処理を終了し、通信データの正当性が否定された場合は、S600にて正当フラグをOFFに設定して本処理を終了する。
【0095】
<正当フラグの作用>
この処理により、例えば、図5において、T2の時点で署名データによって通信データ1〜2Mの正当性が証明されなかった場合、少なくともT3に達するまでは、正当性フラグがOFFに設定されたままとなるため、通信データ4M+1〜6Mが衝突回避処理(S290)に使用されることはない。そして、T3の時点で通信データ4M+1〜6Mの正当性が証明された場合、T3以降に受信される通信データは、検証済みの通信データのうち最新のものである通信データ2Mに対して矛盾していなければ、正当なデータであるとみなされ、衝突回避処理(S400)に使用されることになる。
【0096】
<効果>
以上説明したように本実施形態の通信システムでは、送信側となる車載装置1は、M×N回分の通信データからなる単位データ毎に、署名データを生成すると共に、その署名データをM分割した分割署名データのそれぞれを、通信データに順次付加し、且つN回繰り返して送信する。
【0097】
一方、受信側となる車載装置1は、受信した通信データから単位データを再構成すると共に、受信した付加データから抽出した分割署名データから署名データを再構成する。そして、受信した通信データの正当性を、再構成された単位データ毎に、再構成された署名データを用いて検証する。
【0098】
このように、本実施形態の通信システムによれば、1回の通信で全ての署名データを送信するのではなく、M回の通信に分けて送信するため、通信データを検証するために各通信フレームに付加する付加データのデータ量を少なく抑えることができる。
【0099】
その結果、通信データのスループットを大きく低下させることなく、電子署名の技術を利用することが可能となり、通信システムに必要なスループットとセキュリティレベルとをいずれも確保することができる。
【0100】
また、本実施形態の通信システムでは、分割署名データは、同じものがN回ずつ繰り返して送信されるため、同じ分割署名データの受信をN回続けて失敗しない限り、署名データを確実に再構成することができる。
【0101】
従って、通信の失敗によりデータの一部が欠落した場合でも、通信データの検証を可能とすることができる。
また、受信側の車載装置1は、再構成された署名データによる検証を行っていない未検証の通信データの位置情報の変化が、検証済みの通信データの位置情報からみて、想定範囲内である場合に、通信データに矛盾はないものとして、その通信データを、未検証であっても衝突回避処理等に使用するようにされている。
【0102】
従って、車載装置1によれば、未検証の通信データを利用したリアルタイムな制御を可能とすることができる。
更に、車載装置1では、位置情報に対する補正が行われていることを補正情報が示している場合には、位置情報が想定範囲より大きく変化を示していても、これを矛盾とは判定しないようにしているため、異常ではない通信データが無駄に破棄されてしまうことを防止でき、受信した通信データを有効に利用することができる。
【0103】
なお、本実施形態の通信システムでは、データの受信を開始してから最初の検証が完了するまでには時間がかかるが、通信を開始した時点では、送信元の車両とは十分に(無線通信部6がカバーする通信エリアの半径程度、例えば200m)離れており、衝突の危険性は極めて低いことから検証の遅れによる問題はない。
【0104】
[第2実施形態]
次に、第2実施形態について説明する。
本実施形態は、分割署名データの生成、復元の仕方が、第1実施形態とは一部異なっているだけであるため、この異なる点を中心に説明する。
【0105】
<送信処理>
即ち、本実施形態では、送信処理(図4参照)のS210にて署名データを生成する際に、暗号処理部7に生成させた署名データをそのまま送信側署名データ記憶領域に格納するのではなく、この署名データを、更に、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化した符号化データを、送信側署名データ記憶領域に格納する。
【0106】
つまり、この符号化データをM分割したものが分割署名データとなる。
なお、ブロック誤りを訂正可能な誤り訂正符号方式としては、例えば、リードソロモン符号を用いたものが考えられるがこれに限るものではない。また、ここでは、分割署名データが欠落しても1個であれば署名データを復元できるものとする。
【0107】
<受信処理>
次に、検証処理を図8に示すフローチャートに沿って説明する。但し、第1実施形態と同一の処理には、同一のステップ番号を付し、その説明を省略する。
【0108】
S510にて、受信側署名データ記憶領域に、分割署名データが格納されていないブロックがあると判断した場合、S512にて誤り訂正(リードソロモン符号の復号等)によって署名データを復元可能な状態であるか否かを判断し、復元不能であれば、S600にて正当フラグをOFFに設定して本処理を終了する。
【0109】
なお、S512では、具体的には、分割署名データの欠落が1ブロックだけであれば、復元可能であると判断し、欠落が2ブロック以上である場合は復元不能であると判断する。
【0110】
そして、S510にて全ブロックに分割署名データが格納されていると判断した場合、又はS512にて復元可能であると判断した場合は、S514にて、受信側署名データ記憶領域に格納されている符号化データ(M×N個又はM×N−1個の分割署名データ)を復号することで署名データを復元し、S520に進む。
【0111】
以下、S520〜S600の処理は、第1実施形態の場合と同様である。
<効果>
このように構成された本実施形態の通信システムによれば、受信エラーによって、分割署名データが欠落したとしても、その欠落が許容数(本実施形態では1)以下であれば、署名データを復元することができ、通信データの検証を可能とすることができる。
【0112】
なお、本実施形態では、必ずしも、分割署名データを繰り返して送信する(N≧2である)必要がなく、繰返数Nを1に設定して実現してもよい。
[第3実施形態]
次に第3実施形態について説明する。
【0113】
本実施形態は、分割署名データの生成、復元の仕方が、上記第2実施形態とは異なっているだけであるため、この異なる点を中心に説明する。
図10は、(a)が本実施形態における署名データの生成方法を示す説明図、(b)が検証方法を示す説明図である。
【0114】
本実施形態において、通信フレームの送信側では、図10(a)に示すように、M個の通信データを単位データとして、その単位データ毎に、以下のようにして、署名データを作成する。
【0115】
まず、単位データ毎に検証データ(メッセージダイジェスト)を生成し、その検証データの一部からなる部分検証データを、単位データを構成するM個の通信データ分だけ連結した合成データAを生成する。そして、その合成データAを暗号化し、その暗号化データに、公開鍵,電子証明書を付加することで署名データを生成する。
【0116】
この署名データは、第2実施形態の場合と同様に、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化され、その符号化によって生成された符号化データをM分割したものが分割署名データとして通信フレームに付加される。
【0117】
一方、通信フレームの受信側では、図10(b)に示すように、受信した通信フレームから署名データを抽出(第2実施形態の場合と同様)し、署名データに含まれる暗号化データを抽出し、公開鍵で復号することで合成データAを復元する。これと共に、受信した通信データ毎に検証データを生成し、その検証データの一部からなる部分検証データを、署名データの生成対象となった単位データを構成するM個の通信データ分だけ連結した合成データBを生成する。
【0118】
そして、合成データA,Bを、部分検証データ毎に比較し、全て一致する場合に全ての通信データは正当性を有するものと判断する。
ここで、通信エラーによりいずれかの通信データ,分割署名データが欠落している場合は、その欠落数が許容数以下であれば、誤り訂正によって署名データ、更には合成データAを復元することができる。しかし、通信データについては復元できないため、合成データBは、欠落した通信データに対する部分検証データが欠落したものとなる(図中の斜線部分参照)。
【0119】
この場合、合成データBの欠落した部分以外の全ての部分検証データが合成データAの部分検証データと一致している場合、欠落した通信データ以外の通信データは正当性を有するものと判断する。
【0120】
<効果>
以上説明したように、本実施形態の通信システムによれば、署名データの生成対象となった単位データを構成する通信データの一部が欠落している場合であっても、その欠落したもの以外の通信データについての検証を問題なく行うことができるため、欠落した通信データと同一の単位データに属する他の通信データを、破棄することなく、有効利用することができる。
【0121】
本実施形態では、署名データを誤り訂正可能な符号化方式で符号化する第2実施形態を前提とする通信システムに適用した例について説明したが、分割署名データをN回繰り返して送信する第1実施形態を前提とする通信システムに適用してもよい。
【0122】
[他の実施形態]
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【0123】
例えば、上記実施形態では、検証処理のうち、S540(第1の検証処理)と、S570(第2の検証処理)とを暗号処理部7に実行させるように構成したが、検証処理の全体を、暗号処理部7に実行させるように構成してもよい。
【0124】
上記各実施形態において、車載装置1は、送信側端末および受信側端末のいずれとしても動作するように構成されているが、いずれか一方の専用端末として動作するように構成してもよい。
【0125】
上記実施形態では、車車間通信を行う通信システムに適用した例を示したが、通信データの正当性を検証するための付加データを、通信データに付加して送受信する通信システムであれば、どのような通信システムに適用してもよい。
【符号の説明】
【0126】
1…車載装置 2…位置検出部 3…状態検出部 4…情報記憶部 5…ヒューマンインターフェース(HIF)部 6…無線通信部 7…暗号処理部 8…演算処理部 9…車両制御部 C…車両
【特許請求の範囲】
【請求項1】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムであって、
前記通信データを送信する送信側端末は、M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成すると共に、該署名データをM分割した分割署名データのそれぞれを前記通信データに付加してN回繰り返して送信し、
前記通信データを受信する受信側端末は、受信した前記通信データから前記単位データを再構成すると共に、受信した前記通信データに付加されている前記分割署名データから前記署名データを再構成し、前記通信データの正当性を、再構成された前記単位データ毎に、再構成された前記署名データを用いて検証することを特徴とする通信システム。
【請求項2】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムであって、
前記通信データを送信する送信側端末は、M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に前記署名データを生成し、該署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成し、該符号化データをM分割することで生成した分割署名データのそれぞれを、前記通信データに付加して送信し、
前記通信データを受信する受信側端末は、受信した前記通信データから前記単位データを再構成すると共に、受信した前記通信データに付加されている前記分割署名データから前記符号化データを再構成し、再構成された前記符号化データを復号することで前記署名データを再構成し、前記通信データの正当性を、再構成された前記単位データ毎に、再構成された前記署名データを用いて検証することを特徴とする通信システム。
【請求項3】
前記送信側端末は、前記単位データ全体を一括して検証するための検証データを生成し、該検証データを用いて前記署名データを生成し、
前記受信側端末は、再構成された前記単位データから生成した検証データと、再構成された前記署名データから抽出した検証データを比較することで、前記単位データを構成する通信データの正当性を検証することを特徴とする請求項1又は請求項2に記載の通信システム。
【請求項4】
前記送信側端末は、前記通信データ毎に、該通信データを検証するための検証データを生成し、該検証データの一部を部分検証データとして、前記単位データ毎に、該単位データを構成する前記通信データの前記部分検証データを組み合わせた合成データを用いて前記署名データを生成し、
前記受信側端末は、再構成した前記署名データから前記合成データを抽出し、前記再構成された前記単位データを構成する前記通信データのそれぞれについて生成した部分検証データと、前記合成データを構成する部分検証データとを比較することで、受信した前記通信データの正当性を検証することを特徴とする請求項1又は請求項2に記載の通信システム。
【請求項5】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送信機であって、
M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、M分割した分割署名データのそれぞれを、前記通信データに付加してN回繰り返して送信する送信手段と、
を備えることを特徴とする送信機。
【請求項6】
通信データの正当性を証明するための署名データを、M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に生成し、該署名データをM分割してなる分割署名データのそれぞれを、前記通信データに付加してN回繰り返して送受信する通信システムを構成する受信機であって、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記署名データを再構成する再構成手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記再構成手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする受信機。
【請求項7】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送受信機であって、
M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、M分割した分割署名データのそれぞれを、前記通信データに付加してN回繰り返して送信する送信手段と、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記署名データを再構成する再構成手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記再構成手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする送受信機。
【請求項8】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送信機であって、
M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成する符号化データ生成手段と、
前記符号化データ生成手段にて生成された符号化データを、N(NはM≧N≧2となる整数)分割した分割署名データのそれぞれを、前記通信データに付加して順次送信する送信手段と、
を備えることを特徴とする送信機。
【請求項9】
通信データの正当性を証明するための署名データを、M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に生成し、該署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成し、該符号化データをM分割することで生成した分割署名データのそれぞれを、前記通信データに付加して順次送受信する通信システムを構成する受信機であって、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記符号化データを再構成する再構成手段と、
前記再構成手段によって再構成された前記符号化データを復号することで前記署名データを再構成する復号手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記復号手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする受信機。
【請求項10】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送受信機であって、
M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成する符号化データ生成手段と、
前記符号化データ生成手段にて生成された符号化データを、N(NはM≧N≧2となる整数)分割した分割署名データのそれぞれを、前記通信データに付加して順次送信する送信手段と、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記符号化データを再構成する再構成手段と、
前記再構成手段によって再構成された前記符号化データを復号することで前記署名データを再構成する復号手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記復号手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする送受信機。
【請求項1】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムであって、
前記通信データを送信する送信側端末は、M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成すると共に、該署名データをM分割した分割署名データのそれぞれを前記通信データに付加してN回繰り返して送信し、
前記通信データを受信する受信側端末は、受信した前記通信データから前記単位データを再構成すると共に、受信した前記通信データに付加されている前記分割署名データから前記署名データを再構成し、前記通信データの正当性を、再構成された前記単位データ毎に、再構成された前記署名データを用いて検証することを特徴とする通信システム。
【請求項2】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムであって、
前記通信データを送信する送信側端末は、M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に前記署名データを生成し、該署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成し、該符号化データをM分割することで生成した分割署名データのそれぞれを、前記通信データに付加して送信し、
前記通信データを受信する受信側端末は、受信した前記通信データから前記単位データを再構成すると共に、受信した前記通信データに付加されている前記分割署名データから前記符号化データを再構成し、再構成された前記符号化データを復号することで前記署名データを再構成し、前記通信データの正当性を、再構成された前記単位データ毎に、再構成された前記署名データを用いて検証することを特徴とする通信システム。
【請求項3】
前記送信側端末は、前記単位データ全体を一括して検証するための検証データを生成し、該検証データを用いて前記署名データを生成し、
前記受信側端末は、再構成された前記単位データから生成した検証データと、再構成された前記署名データから抽出した検証データを比較することで、前記単位データを構成する通信データの正当性を検証することを特徴とする請求項1又は請求項2に記載の通信システム。
【請求項4】
前記送信側端末は、前記通信データ毎に、該通信データを検証するための検証データを生成し、該検証データの一部を部分検証データとして、前記単位データ毎に、該単位データを構成する前記通信データの前記部分検証データを組み合わせた合成データを用いて前記署名データを生成し、
前記受信側端末は、再構成した前記署名データから前記合成データを抽出し、前記再構成された前記単位データを構成する前記通信データのそれぞれについて生成した部分検証データと、前記合成データを構成する部分検証データとを比較することで、受信した前記通信データの正当性を検証することを特徴とする請求項1又は請求項2に記載の通信システム。
【請求項5】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送信機であって、
M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、M分割した分割署名データのそれぞれを、前記通信データに付加してN回繰り返して送信する送信手段と、
を備えることを特徴とする送信機。
【請求項6】
通信データの正当性を証明するための署名データを、M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に生成し、該署名データをM分割してなる分割署名データのそれぞれを、前記通信データに付加してN回繰り返して送受信する通信システムを構成する受信機であって、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記署名データを再構成する再構成手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記再構成手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする受信機。
【請求項7】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送受信機であって、
M×N(M,Nは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、M分割した分割署名データのそれぞれを、前記通信データに付加してN回繰り返して送信する送信手段と、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記署名データを再構成する再構成手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記再構成手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする送受信機。
【請求項8】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送信機であって、
M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成する符号化データ生成手段と、
前記符号化データ生成手段にて生成された符号化データを、N(NはM≧N≧2となる整数)分割した分割署名データのそれぞれを、前記通信データに付加して順次送信する送信手段と、
を備えることを特徴とする送信機。
【請求項9】
通信データの正当性を証明するための署名データを、M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に生成し、該署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成し、該符号化データをM分割することで生成した分割署名データのそれぞれを、前記通信データに付加して順次送受信する通信システムを構成する受信機であって、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記符号化データを再構成する再構成手段と、
前記再構成手段によって再構成された前記符号化データを復号することで前記署名データを再構成する復号手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記復号手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする受信機。
【請求項10】
通信データの正当性を検証するための署名データを、前記通信データに付加して送受信する通信システムを構成する送受信機であって、
M(Mは2以上の整数)回分の前記通信データからなる単位データ毎に、前記署名データを生成する署名データ生成手段と、
前記署名データ生成手段にて生成された署名データを、ブロック誤りを訂正可能な誤り訂正符号方式によって符号化することで符号化データを生成する符号化データ生成手段と、
前記符号化データ生成手段にて生成された符号化データを、N(NはM≧N≧2となる整数)分割した分割署名データのそれぞれを、前記通信データに付加して順次送信する送信手段と、
前記分割署名データが付加された前記通信データを受信する受信手段と、
前記受信手段が受信した前記通信データから前記単位データを再構成すると共に、該通信データに付加されている前記分割署名データから前記符号化データを再構成する再構成手段と、
前記再構成手段によって再構成された前記符号化データを復号することで前記署名データを再構成する復号手段と、
前記受信手段が受信した前記通信データの正当性を、前記再構成手段によって再構成された前記単位データ毎に、前記復号手段によって再構成された前記署名データを用いて検証する検証手段と、
を備えることを特徴とする送受信機。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−229076(P2011−229076A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−98952(P2010−98952)
【出願日】平成22年4月22日(2010.4.22)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願日】平成22年4月22日(2010.4.22)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]