(57)【特許請求の範囲】
【請求項１】
他の車両又は固定局との間で無線通信を行う無線通信装置を搭載した車両であって、
前記無線通信装置に接続されたアンテナと、
前記無線通信装置に接続された表示装置と、
前記無線通信装置に接続され、自車両の位置情報と速度情報とを測定するセンサ装置と、を有し、
認証処理を行なう前記無線通信装置は、中央処理装置と、前記中央処理装置が制御する記憶装置及び入出力インタフェースとを有し、
前記中央処理装置は第１処理と第２処理を制御し、
前記第１処理は、他の車両又は固定局との間で共有される共通鍵を用いて、前記位置情報と前記速度情報とを含む通信データのメッセージ認証コードを生成すると共に、自らの固有の秘密鍵を用いてディジタル署名を生成し、生成した前記メッセージ認証コードとディジタル署名を前記通信データに付加して前記入出力インタフェースを介して前記アンテナから送信する処理であり、
前記第２処理は、他の車両又は固定局から前記アンテナを介して前記入出力インタフェースに送信された情報を受信し、受信した情報に含まれるメッセージ認証コードとディジタル署名とのどれを用いて認証を行うかを自らの状態に応じて決めて認証を行う処理であり、
前記第２処理は、自らの状態を示す値を引数とする認証要求生成関数を実行することによって認証要求値を生成する処理を含み、前記認証要求値は、ディジタル署名を用いる第１認証処理の要否と、メッセージ認証コードを用いる第２認証処理の要否とを表すデータであり、
前記自らの状態を示す値は、前記中央処理装置の負荷状態であり、
前記負荷状態は、
第１負荷状態と、
前記第１負荷状態より負荷の重い第２負荷状態と、
前記第２負荷状態より負荷の重い第３負荷状態と、を含み、
前記第１負荷状態の場合、前記認証要求値は、前記第１認証処理を要及び前記第２認証処理を要とされ、
前記第２負荷状態の場合、前記認証要求値は、前記第１認証処理を要及び前記第２認証処理を否とされ、
前記第３負荷状態の場合、前記記憶装置内に認証処理対象メッセージの車両ＩＤと同一の車両ＩＤを有する認証対象メッセージがキャッシュされているか否かを確認し、
キャッシュされていない場合、前記認証要求値は、前記第１認証処理を否及び前記第２認証処理を要とされ、
キャッシュされている場合、前記認証要求値は、前記第１認証処理を否及び前記第２認証処理を否とされる、
車両。
【請求項２】
前記中央処理装置は更に第３処理を制御し、
前記第３処理は、前記メッセージ認証コードを生成するための共通鍵の要求を、前記入出力インタフェースを介して前記アンテナから出力し、この要求を受信する認証局がその要求に応答してこれに付随するディジタル署名の認証処理を行なってその正当性を判別したとき当該認証局が発行する当該要求に応答する共通鍵のメッセージ認証コードを、前記アンテナを介して前記入出力インタフェースが受信する処理である、請求項１記載の車両。
【請求項３】
前記メッセージ認証コードは公開暗号鍵方式で暗号化され、更に前記第３処理は受信したメッセージ認証コードを復号する処理を含む、請求項２記載の車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の移動体又は固定局との間で無線通信を行う自移動体において認証処理を行なう無線通信装置、更にそれに適用される認証処理方法に関し、例えば、車両間又は車両と路側との間等で行われる無線通信におけるメッセージのなりすましや改竄の防止に適用して、無線通信の安全性の向上に有効な技術に関する。
【０００２】
近年、路側に設置された無線機から車載無線機に渋滞情報、安心安全情報などの配信を行う路車間通信サービスが広く利用されている。また、逆に車載無線機から路側無線機に車両情報を送信することによって、渋滞情報、安心安全情報の精度を向上させることが検討されている。更に、路側無線機が無い状況においても、車両間で直接もしくはマルチホップに通信を行うことによって、自立的に、各車両が渋滞情報、安心安全情報を共有する車車間通信の研究も活発に行われている。
【０００３】
このような無線通信技術が普及するにあたり、受信したメッセージが通信路上で改竄されていないか、また、悪意ある人物がメッセージ送信者になりすましていないかを確認する必要が生じる。
【０００４】
従来から無線通信において、なりすましや改竄などを防止し、安全な通信を行う技術がいくつか知られている。その１つとして、メッセージの送信者と受信者が異なる鍵を用いて暗号化、復号を行う公開鍵暗号方式がある。公開鍵暗号方式では、共通鍵暗号方式と異なり、２つのペアとなる鍵が使用され、一方は、一般に公開される公開鍵であり、他方は本人のみが知る秘密鍵である。ペアとなる鍵には、片方で暗号化したメッセージは、もう片方の鍵でのみ復号できる特徴があり、さらに公開鍵およびその他の公開情報から秘密鍵を推測するためには現実的な計算機リソースでは膨大な計算時間が必要となり、高い機密性を実現することができる。
【０００５】
この特徴を用いて、なりすましや改竄を防止したい場合に、メッセージ送信者は、本人のみが知る秘密鍵でメッセージもしくはそのハッシュ値（メッセージダイジェストとも呼ばれる）を暗号化し、送信を行う。メッセージを受信した受信者は送信者の公開鍵を用いてメッセージもしくはそのハッシュ値の復号を行う。
この時、メッセージ送信者の公開鍵で正しく復号を行うことができれば、そのメッセージを送信した者は、送信者の秘密鍵を知る者、即ち本人であることが確認される。また、正しく復号されたことによって、通信経路上で改竄が行われていないことも確認される。
【０００６】
一般に、認証とは対象の正当性を確認する行為である。メッセージ認証とはメッセージが変更されていないことを保証するための手続である。このメッセージ認証方式には共通鍵暗号方式によるメッセージ認証コード（ＭＡＣ：Message Authentication Code）を用いる方式、公開鍵暗号方式によるディジタル署名を用いる方式がある。共通鍵暗号方式は暗号化に用いる鍵と復号に用いる鍵が同一である暗号方式である。公開鍵暗号方式は前述の通り、自分の秘密鍵を用いて暗号化し、相手に公開した公開鍵を用いて復号する暗号方式である。
【０００７】
メッセージ認証コードは例えば入力として共通鍵と認証すべき任意長のメッセージをＭＡＣ値生成関数に入力して得られるコードである。
【０００８】
ディジタル署名とは例えば認証すべき任意長のメッセージ（又はメッセージダイジェスト）と秘密鍵とを署名生成関数に入力して得られるコードである。メッセージダイジェストは例えばメッセージを一方向ハッシュ関数によって生成される。
【０００９】
特許文献1には共通鍵暗号方式によるメッセージ認証コードを用いた車車間認証技術について記載がある。
【００１０】
非特許文献１には公開鍵暗号方式によるディジタル署名を用いた認証方式として、ＥＣＤＳＡ（楕円曲線暗号を用いた電子署名方式）について記載がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−６０８０９号公報
【非特許文献】
【００１２】
【非特許文献１】IEEE Trial-Use Standard for Wireless Access in Vehicular Environments - Security Services for Applications and Management Messages
【発明の概要】
【発明が解決しようとする課題】
【００１３】
車車間もしくは路車間等で公開鍵暗号方式を用いたメッセージ認証を行う場合には以下の課題を考慮すべきことが本発明者によって明らかにされた。その課題とは、メッセージ認証を行うにあたって許容される次の処理への遅延時間である。
【００１４】
例えば、安心・安全に関わるサービスとして車両間でお互いの位置情報と速度情報を送信・受信し、衝突を回避する「衝突防止サービス」が検討されている。このようなサービスを実現するにあたっては、各車両がイベント発生にともない即時的にメッセージの生成・検証を行い、メッセージに対する処理を決定する必要がある。しかし、高速で移動する車両同士においては、メッセージ処理に対する許容遅延時間（イベント発生からメッセージ処理が終了するまでに許されている処理の総時間）が限られているため、高速なメッセージ認証方式が求められる。
【００１５】
非特許文献１では、メッセージ認証方式として、ＥＣＤＳＡ（楕円曲線暗号を用いた電子署名方式）が提案されているが、メッセージの生成と検証に時間がかかるため、メッセージ数の増加にともなって、許容遅延時間内に処理を完了することが難しくなるという問題が発生する。特に、車車間通信の特徴として、周囲の全ての車両に対するブロードキャスト型メッセージが多く、その結果、周囲に存在する通信ノード数の増加に比例してメッセージの検証回数が増加する。
【００１６】
特許文献１のように共通鍵である秘密鍵を用いて暗号化復号処理を行なう場合には、定められたグループ内で秘密鍵を共有し、秘密鍵のハッシュ値を用いてメッセージ認証を行うため、グループのメンバ外にメッセージを送信することができない。また、秘密鍵によるメッセージ認証コードだけで対処しようとするからＥＣＤＳＡなどの公開鍵を用いたメッセージ認証を必要に応じて使うこともできない。
【００１７】
本発明の目的は、メッセージ数の大小によらず許容時間内でメッセージ認証を行うことができるとともに許容時間が許す範囲で精度の高いメッセージ認証を行うことが可能な認証方法、更にはそれを適用した無線通信装置を提供することにある。
【００１８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００２０】
すなわち、他の移動体又は固定局との間で無線通信による送信に際しては、通信データのメッセージ認証コードとディジタル署名を生成し、生成した前記メッセージ認証コードとディジタル署名を前記通信データに付加して送信し、受信に際しては、受信した情報に含まれるメッセージ認証コードとディジタル署名とのどれを用いて認証を行うかを自らの状態に応じて決める。自らの状態とは例えば認証処理を行なう中央処理装置の負荷状態などである。
【００２１】
自らの状態に応じて、データ処理の負荷が比較的大きなディジタル署名を用いた認証処理とデータ処理の負荷が比較的小さなメッセージ認証コードを用いた認証処理とを認証処理の許容時間が許す範囲で使い分けることが可能になる。
【００２２】
ディジタル署名を用いた認証を利用可能であるから、メッセージ認証コードに必要な共通鍵を外部から公開鍵暗号方式で暗号されたメッセージを介して受取ることも可能であり、必要な共通鍵を適宜入手してメッセージ認証コードによる認証を行うことができる。
【発明の効果】
【００２３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００２４】
すなわち、メッセージ数の大小によらず許容時間内でメッセージ認証を行うことができるとともに許容時間が許す範囲で精度の高いメッセージ認証を行うことが可能である。
【図面の簡単な説明】
【００２５】
【図１】図１は本発明に係る通信データ認証方法を適用したシステムにおける車車間無線通信の実施の形態を示すシステム構成図である。
【図２】図２は車両通信装置の構成を例示するブロック図である。
【図３】図３は車両甲から、車両乙に向けてディジタル署名及びメッセージ認証コード付きメッセージを送信するための処理を例示するフローチャートである。
【図４】図４はメッセージ生成処理（S１００）の具体例を例示するフローチャートである。
【図５】図５はメッセージ署名生成処理（S２００）具体例を例示するフローチャートである。
【図６】図６はＭＡＣ生成処理（S３００）の具体例を例示するフローチャートである。
【図７】図７はメッセージ認証処理（S４００）の具体例を例示するフローチャートである。
【図８】図８はメッセージ認証結果処理（S５００）の具体例を例示するフローチャートである。
【図９】図９は認証要求生成関数による認証要求値の生成処理を例示するフローチャートである。
【図１０】図１０はＭＡＣ値検証に用いる共通鍵としての秘密鍵（ＭＡＣ専用共通鍵）の入手処理方法を例示するフローチャートである。
【図１１】図１１はメッセージにディジタル署名とメッセージ認証コードと車両ＩＤが付加された通信データのフォーマットを例示するフォーマット図である。
【発明を実施するための形態】
【００２６】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２７】
〔１〕本発明の代表的な実施の形態に係る無線通信装置（１１３，１２３）は、他の移動体又は固定局との間で無線通信を行う自移動体において認証処理を行なう装置であって、他の移動体又は固定局との間で共有される共通鍵を用いて通信データのメッセージ認証コードを生成すると共に、自らの固有の秘密鍵を用いてディジタル署名を生成し、生成した前記メッセージ認証コードとディジタル署名を前記通信データに付加して送信する第１処理（Ｓ２００，Ｓ３００）と、他の移動体又は固定局から送信された情報を受信し、受信した情報に含まれるメッセージ認証コードとディジタル署名とのどれを用いて認証を行うかを自らの状態に応じて決めて認証を行う第２処理（Ｓ４００、Ｓ５００）と、を実行する。
【００２８】
これによれば、自らの状態に応じて、データ処理の負荷が比較的大きなディジタル署名を用いた認証処理とデータ処理の負荷が比較的小さなメッセージ認証コードを用いた認証処理とを認証処理の許容時間が許す範囲で使い分けることが可能になる。したがって、メッセージ数の大小によらず許容時間内でメッセージ認証を行うことができるとともに許容時間が許す範囲で精度の高いメッセージ認証を行うことが可能である。
【００２９】
更に、ディジタル署名を用いた認証を利用可能であるから、メッセージ認証コードに必要な共通鍵を外部から公開鍵暗号方式で暗号されたメッセージを介して受取ることも可能であり、必要な共通鍵を適宜入手してメッセージ認証コードによる認証を行うことができる。
【００３０】
〔２〕項１の無線通信装置において、前記第２処理は、自らの状態を示す値を引数とする認証要求生成関数を実行することによって認証要求値を生成する処理であり、前記認証要求値は、メッセージ認証コードを用いる認証処理の要否と、ディジタル署名を用いる認証処理の要否とを表すデータである。これにより、何れの認証処理を行なうかの制御が簡単になる。
【００３１】
〔３〕項２の無線通信装置は、中央処理装置を有し、前記自らの状態を示す値は、受信側として認証処理を行なう前記中央処理装置の負荷状態に応じた値である。これにより、認証処理に許容された時間内の収まる認証処理を端的に決める可能である。
【００３２】
〔４〕項３の無線通信装置において、前記第２処理は、前記中央処理装置の負荷が大きい場合にはメッセージ認証コードを用いる認証処理を必要とし且つディジタル署名を用いる認証処理の不要と判定し、中央処理装置の負荷が小さい場合にはメッセージ認証コードを用いる認証処理を不要とし且つディジタル署名を用いる認証処理を必要と判定する。
【００３３】
〔５〕項２の無線通信装置において、前記自らの状態を示す値は、認証処理の対象として新たに受信した情報と既に受信して認証処理を終った通信の履歴情報との対応関係の強弱に応じた値である。これにより、実質的に無駄な認証処理を省いて他の認証処理にデータ処理能力を割り振る制御が容易になる。
【００３４】
〔６〕項５の無線通信装置において、前記第２処理は、前記対応関係が強い場合にはメッセージ認証コードを用いる認証処理を必要とし且つディジタル署名を用いる認証処理の不要と判定し、前記対応関係が弱い場合にはメッセージ認証コードを用いる認証処理を不要とし且つディジタル署名を用いる認証処理を必要と判定する。
【００３５】
〔７〕項２の無線通信装置において、前記自らの状態を示す値は、送信側の他の移動体又は固定局に対する遠近関係に応じた値である。これにより、衝突回避処理などにおいて遠く離れた車両のように把握する意味のないものに対する実質的に無駄な認証処理を省いて他の認証処理にデータ処理能力を割り振る制御が容易になる。
【００３６】
〔８〕項７の無線通信装置において、前記第２処理は、前記遠近関係が遠い場合にはメッセージ認証コードを用いる認証処理を必要とし且つディジタル署名を用いる認証処理の不要と判定し、前記遠近関係が近い場合にはメッセージ認証コードを用いる認証処理を不要とし且つディジタル署名を用いる認証処理を必要と判定する。
【００３７】
〔９〕項８の無線通信装置において、前記第２処理は、自移動体のセンサ装置が取得したセンサ情報に基づいて、又は自移動体の通信アプリケーションが受信した通信データの処理結果に基づいて、前記遠近関係を生成する。
【００３８】
〔１０〕項１の無線通信装置は更に、自移動体から前記メッセージ認証コードの要求を出力し、この要求を受信する認証局がその要求に応答して認証処理を行なってその正当性を判別したとき当該認証局が発行する前記メッセージ認証コードを自移動体が受信する第３処理を実行する。
【００３９】
〔１１〕項１０の無線通信装置において、前記メッセージ認証コードは公開暗号鍵方式で暗号化され、更に前記第３処理は受信したメッセージ認証コードを復号する処理を含む。
【００４０】
〔１２〕本発明の別の実施の形態に係る認証処理方法は、他の移動体又は固定局との間で無線通信を行う自移動体における認証処理方法であって、他の移動体又は固定局との間で共有される共通鍵を用いて通信データのメッセージ認証コードを生成すると共に、自らの固有の秘密鍵を用いてディジタル署名を生成し、生成した前記メッセージ認証コードとディジタル署名を前記通信データに付加して送信する第１処理と、他の移動体又は固定局から送信された情報を受信し、受信した情報に含まれるメッセージ認証コードとディジタル署名とのどれを用いて認証を行うかを自らの状態に応じて決めて認証を行う第２処理と、を含む。
【００４１】
項１と同様に、メッセージ数の大小によらず許容時間内でメッセージ認証を行うことができるとともに許容時間が許す範囲で精度の高いメッセージ認証を行うことが可能であり、更に、必要な共通鍵を適宜入手してメッセージ認証コードによる認証を行うことができる。
【００４２】
〔１３〕項１２の認証処理方法において、前記第２処理は、自らの状態を示す値を引数とする認証要求生成関数を実行することによって認証要求値を生成する処理であり、前記認証要求値は、メッセージ認証コードを用いる認証処理の要否と、ディジタル署名を用いる認証処理の要否とを表すデータである。
【００４３】
〔１４〕項１３の認証処理方法において、前記自らの状態を示す値は、受信側として認証処理を行なう中央処理装置の負荷状態に応じた値である。
【００４４】
〔１５〕項１４の認証処理方法において、前記第２処理は、前記中央処理装置の負荷が大きい場合にはメッセージ認証コードを用いる認証処理を必要とし且つディジタル署名を用いる認証処理の不要と判定し、中央処理装置の負荷が小さい場合にはメッセージ認証コードを用いる認証処理を不要とし且つディジタル署名を用いる認証処理を必要と判定する。
【００４５】
〔１６〕項１３の認証処理方法において、前記自らの状態を示す値は、認証処理の対象として新たに受信した情報と既に受信して認証処理を終った通信の履歴情報との対応関係の強弱に応じた値である。
【００４６】
〔１７〕項１６の認証処理方法において、前記第２処理は、前記対応関係が強い場合にはメッセージ認証コードを用いる認証処理を必要とし且つディジタル署名を用いる認証処理の不要と判定し、前記対応関係が弱い場合にはメッセージ認証コードを用いる認証処理を不要とし且つディジタル署名を用いる認証処理を必要と判定する。
【００４７】
〔１８〕項１３の認証処理方法において、前記自らの状態を示す値は、送信側の他の移動体又は固定局に対する遠近関係に応じた値である。
【００４８】
〔１９〕項１８の認証処理方法において、前記第２処理は、前記遠近関係が遠い場合にはメッセージ認証コードを用いる認証処理を必要とし且つディジタル署名を用いる認証処理の不要と判定し、前記遠近関係が近い場合にはメッセージ認証コードを用いる認証処理を不要とし且つディジタル署名を用いる認証処理を必要と判定する。
【００４９】
〔２０〕項１９の認証処理方法において、前記第２処理は、自移動体のセンサ装置が取得したセンサ情報に基づいて、又は自移動体の通信アプリケーションが受信した通信データの処理結果に基づいて、前記遠近関係を生成する。
【００５０】
〔２１〕項１２の認証処理方法は、自移動体から前記メッセージ認証コードの要求を出力し、この要求を受信する認証局がその要求に応答して認証処理を行なってその正当性を判別したとき当該認証局が発行する前記メッセージ認証コードを自移動体が受信する第３処理を更に含む。
【００５１】
〔２２〕項２１の認証処理方法において、前記メッセージ認証コードは公開暗号鍵方式で暗号化され、更に前記第３処理は受信したメッセージ認証コードを復号する処理を含む。
【００５２】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００５３】
図１には本発明に係る通信データ認証方法を適用したシステムにおける車車間無線通信の実施の形態が示される。
【００５４】
車車間無線通信システムは、特に制限されないが、エリア認証局１００と、代表的に示された車両甲１１０と、車両乙１２０と、からなる。
【００５５】
車両甲１１０は、無線通信用のアンテナ１１１と、車両通信装置１１３と、車両甲を運転するドライバにナビゲーションなどの各種情報を表示する表示装置１１２と、車両内および車両外の情報を測定する車載センサ装置１１４と、を備える。車載センサ装置１１４は特に、全地球測位システム（ＧＰＳ）、ジャイロスコープ、コンパス、ジャイロコンパス、スピードセンサなどを備えることができ、ＧＰＳは車両の緯度、経度と時刻を測定し、ジャイロスコープは車両の加速度、角度を測定し、コンパス、ジャイロコンパスは車両の移動方向を測定し、スピードセンサは車両の速度を測定する。車両通信装置１１３は他の車両、エリア認証局及びその他のネットワークと通信を行うための通信機能を備える。
【００５６】
車両乙１２０も、夫々上記と同等の機能を持つ、通信用アンテナ１２１、車両通信装置１２３、表示装置１２２、及び車載センサ１２４を備える。
【００５７】
エリア認証局は後述する車車間認証の一部の機能をサポートするための認証局ある。
【００５８】
図２は車両通信装置１１３の構成を例示するブロック図である。車両通信装置１１３は、フェッチした命令を解読して命令を逐次実行する中央処理送致（ＣＰＵ）２０１と、補助記憶装置２０２と、メモリ２０３と、入出力インターフェース２０４と、耐タンパ記憶装置２０５と、がバスなどの内部信号線２０９で連結され、入出力インターフェース２０４を通じて、アンテナ１１１と、車載センサ装置１１４と、表示装置１１２と、に接続される。メモリ２０３はＣＰＵ２０１のワーク領域などに用いられ、耐タンパ記憶装置はハードウェア的に若しくはソフトウェア的に記憶情報の秘密保護が図られているメモリであり、後述する秘密鍵やその他の制御データなどが格納される。ＣＰＵが実行する命令が記述された動作プログラムは例えば耐タンパ記憶装置２０５又は補助記憶装置２０２に格納され、ＣＰＵ２０１がそれを実行するときは必要なプログレアムモジュールがメモリ２０３に展開される。その動作プログラムの中には無線通信用アプリケーションが含まれる。無線通信アプリケーションは、各車両が他の車両もしくは、路側基地局に送信するメッセージを生成するアプリケーション、他の車両もしくは、路側基地局から受信したメッセージに対する処理を決定するアプリケーション、さらには、車車間無線通信で互いの位置情報と速度情報を送受信し、衝突防止及び回避を行うアプリケーション等を挙げることができる。
【００５９】
車両通信装置２００は車車間でのメッセージの送受信、即ち車車間通信において、メッセージ認証コードとディジタル署名とをメッセージに付加して送信し、他の車両から受信したメッセージ認証コード及びディジタル署名に対しては、ＣＰＵ２０１の付加状況並ぶに通信履歴などに応じて、何れか一方若しくは双方を用いて認証を行い、又は双方とも使用せずに認証を省略する等の制御を行う。以下、その認証処理について詳述する。ディジタル署名の生成に用いる秘密鍵及びメッセージ認証コードを生成するために用いる共通鍵は例えば耐タンパ記憶装置２０５に格納され、メモリ２０３には車車間無線通信で受信したメッセージの一部もしくは全ての履歴情報がキャッシュされる。
【００６０】
図３には車両甲１１０から、車両乙１２０に向けてディジタル署名及びメッセージ認証コード付きメッセージを送信するための処理フローが例示される。以下の説明ではではメッセージ認証コードを単にＭＡＣとも記す。
【００６１】
例えば車両甲１１０がメッセージ生成処理（S１００）を行って送信するメッセージを生成する。車両甲１１０は次に、メッセージ生成処理（S１００）で生成したメッセージに対して、ディジタル署名を生成するメッセージ署名生成処理（S２００）を行い、メッセージに対するディジタル署名を生成する。
【００６２】
更に、車両甲１１０は、メッセージ生成処理（S１００）で生成したメッセージに対してメッセージ認証コードを生成するＭＡＣ生成処理（S３００）を行い、メッセージ対するメッセージ認証コード（ＭＡＣ値）を生成する。
【００６３】
車両甲１１０は、メッセージ生成処理（S１００）で生成したメッセージに、メッセージ署名生成処理（Ｓ２００）で生成した署名と、ＭＡＣ生成処理（S３００）で生成したＭＡＣ値と、を結合し、署名及びＭＡＣ付きメッセージ（D１００）を送信する。署名及びＭＡＣ付きメッセージは、無線通信アプリケーションが生成した前記メッセージのデータのビット配列に、公開鍵を用いたディジタル署名のビット配列と共通鍵を用いたメッセージ認証コードとしてＭＡＣ値のビット配列とが連結されたビット配列の全体を指し、例えば図１１のデータフォーマットを有する。特に制限されないが、図１１ではデータの発信元車両を特定するための情報として例えば車両ＩＤが付加されている。
【００６４】
次に、署名及びＭＡＣ付きメッセージ（D１００）を受信した車両乙１２０は、メッセージ認証処理（S４００）を行い、受信した署名及びＭＡＣ付きメッセージ（D１００）に対する署名検証結果とＭＡＣ値検証結果を生成する。
【００６５】
次に、車両乙１２０は、メッセージ認証処理（S４００）で生成した署名検証結果とＭＡＣ値検証結果に対して、メッセージ認証結果処理（S５００）を行い、メッセージ認証結果を出力し受信処理を完了する。
【００６６】
図４にはメッセージ生成処理（S１００）の具体例が示される。
【００６７】
メッセージ生成処理を行う車両甲１１０は、メッセージ生成処理を開始する（S１１０）と、メモリ２０３等における変数領域に割当てられた内部変数：[メッセージ]を初期化し（S１２０）、次に、無線通信用アプリケーションを起動し、送信するメッセージを生成し、生成したメッセージを内部変数：[メッセージ]にセッティングする（S１３０）。最後に、内部変数：[メッセージ]を出力してその処理を完了する（S１４０）。
【００６８】
図５にはメッセージ署名生成処理（S２００）の具体例が示される。
【００６９】
メッセージ署名生成処理を行う車両甲１１０は、メッセージ署名生成処理を開始する（S２１０）と、内部変数：[署名]と内部変数：[署名用秘密鍵]を初期化し（S２２０）、次に、耐タンパ記憶装置２０５にアクセスし、格納されているディジタル署名生成用の秘密鍵の値（署名用秘密鍵値）を内部変数：[署名用秘密鍵]にセッティングし（S２３０）、次に、内部変数：[メッセージ]と内部変数：[署名用秘密鍵]をコマンド引数とする署名生成関数を用いて、ディジタル署名（単に署名とも記す）を生成し、その値を内部変数：[署名]にセッティングし（S２４０）、最後に内部変数：[署名]を出力して処理を完了する（S２５０）。
【００７０】
前記署名生成関数は、署名対象メッセージと、署名用秘密鍵値と、をコマンド引数とし、署名を出力する公開鍵暗号関数の総称で、例えば、ＥＣＤＳＡ(Elliptic Curve Digital Signature Algorithm)、ＲＳＡ署名、ElGamal署名などが挙げられる。
【００７１】
図６にはＭＡＣ生成処理（S３００）の具体例が示される。
【００７２】
ＭＡＣ生成処理を行う車両甲１１０は、ＭＡＣ生成処理を開始する（S３１０）と、内部変数：[ＭＡＣ値]と内部変数：[ＭＡＣ生成用秘密鍵]を初期化し（S３２０）、次に、耐タンパ記憶装置２０５にアクセスし、格納されているＭＡＣ生成用の共通鍵である秘密鍵の値（ＭＡＣ生成用秘密鍵値）を内部変数：[ＭＡＣ生成用秘密鍵]にセッティングし、内部変数：[メッセージ]と内部変数：[ＭＡＣ生成用秘密鍵]をコマンド引数とするＭＡＣ値生成関数を用いて、ＭＡＣ値を生成し、その値を内部変数：[ＭＡＣ値]にセッティングし（S３３０）、最後に内部変数：[ＭＡＣ値]を出力して処理を完了する（S３４０）。
【００７３】
ＭＡＣ値生成関数は、対象メッセージと、ＭＡＣ生成用秘密鍵値と、をコマンド引数とし、ＭＡＣ値を出力する暗号関数、例えばＨＭＡＣ（Keyed-Hashing for Message Authentication code）暗号関数を意味する。
【００７４】
図７にはメッセージ認証処理（S４００）の具体例が示される。
【００７５】
メッセージ認証処理を行う車両乙１２０は、車両甲１１０が送信した署名及びＭＡＣ付きメッセージ（Ｄ１００）を受信し（S４１０）、次に、内部変数：[認証対象メッセージ]と、内部変数：[認証対象署名]と、内部変数：[認証対象ＭＡＣ値]と、内部変数：[署名検証結果]と、内部変数：[ＭＡＣ値検証結果]と、内部変数：[ＭＡＣ生成用秘密鍵]と、内部変数：[認証要求]を初期化する（S４２０）。
【００７６】
次に、受信した署名及びＭＡＣ付きメッセージ（Ｄ１００）のメッセージのデータ部分を内部変数：[認証対象メッセージ]にセッティングし、署名のデータ部分を内部変数：[認証対象署名]にセッティングし、ＭＡＣ値のデータ部分を内部変数：[認証対象ＭＡＣ値]にセッティングする（S４３０）。
【００７７】
次に、内部変数：[認証対象メッセージ]をコマンド引数とする認証要求生成関数（S４４１）を用いて認証要求値を生成し、その値を内部変数：[認証要求]にセッティングする（S４４０）。
【００７８】
前記認証要求生成関数とは、メッセージを受信した車両が、認証対象メッセージをコマンド引数として、署名検証要否とＭＡＣ値検証要否を表す２ビットのデータを認証要求として出力する関数であり、その出力値が認証要求値である。認証要求値は、
００ならば、「署名検証必要なし」及び「MAC値検証必要なし」、
１０ならば、「署名検証必要あり」及び「MAC値検証必要なし」、
０１ならば、「署名検証必要なし」及び「MAC値検証必要あり」、
１１ならば、「署名検証必要あり」及び「MAC値検証必要あり」を意味する。特に制限されないが、「検証必要なし」の支持を受けた検証処理では、検証処理を行なわずに「検証成功」の結果を生成する。尚、検証にかかる計算量は、認証要求値００の場合が最も小さく、続いて、０１、１０、１１の順番に増加し、認証要求値１１の場合が最も大きい。
【００７９】
次に、内部変数：[認証対象メッセージ]と内部変数：[認証対象署名]と内部変数：[認証要求]をコマンド引数とする署名検証関数を用いて、認証要求値に応じて署名検証結果を生成し、その値を内部変数：[署名検証結果]にセッティングする（S４５０）。
【００８０】
署名検証関数とは、上述の認証対象メッセージと、認証対象署名と、認証要求と、をコマンド引数として公開鍵証明書を用いて電子署名を検証し、署名検証結果値として、検証成功ならば０を出力し、検証失敗ならば１を出力する関数を意味する。ただし、認証要求値が００もしくは０１の場合には「署名検証の必要なし」とみなし常に０を出力する。
【００８１】
次に、耐タンパ記憶装置にアクセスし、格納されているＭＡＣ生成用秘密鍵値を内部変数：[ＭＡＣ生成用秘密鍵]にセッティングし、内部変数：[認証対象メッセージ]と内部変数：[認証対象ＭＡＣ値]と内部変数：[ＭＡＣ生成用秘密鍵]と内部変数：[認証要求]と、をコマンド引数とするＭＡＣ値検証関数を用いて、認証要求値に応じてＭＡＣ値検証結果を生成し、その値を内部変数：[ＭＡＣ値検証結果]にセッティングし（S４６０）する。
【００８２】
ＭＡＣ値検証関数とは、上述の認証対象メッセージと、ＭＡＣ生成用秘密鍵値と、認証対象ＭＡＣ値と、認証要求と、をコマンド引数とするＨＭＡＣ暗号関数によるＭＡＣ値が、検証対象メッセージのＭＡＣ値と一致した際には、検証成功とみなし、ＭＡＣ値検証結果として０を出力し、一致しない場合には、検証失敗とみなし、ＭＡＣ値検証結果として１を出力する関数を意味する。ただし、認証要求値が００もしくは１０の場合には「ＭＡＣ値検証の必要なし」とみなし常に０を出力する。
【００８３】
最後に、内部変数：[署名検証結果]と内部変数：[ＭＡＣ値検証結果]を出力して処理を終える（S４７０）。
【００８４】
図８はメッセージ認証結果処理（S５００）の具体例が示される。
【００８５】
メッセージ認証結果処理（S５００）を行う車両乙１２０は、メッセージ認証処理（S４００）の出力結果である内部変数：[署名検証結果]と内部変数：[ＭＡＣ値検証結果]を入力し（S５１０）、内部変数：[メッセージ認証結果]を初期化する（S５２０）。
【００８６】
そして、内部変数：[署名検証結果]と内部変数：[MAC値検証結果]の値が共に０（＝検証成功）であるか否かを判別し（Ｓ５３０，５４０）、共に検証成功ならば、内部変数：[メッセージ認証結果]に０（＝検証成功）をセッティングし（Ｓ５５０）、何れか一方の検証結果が１（＝検証成功）であるならば、内部変数：[メッセージ認証結果]に1（＝検証失敗）をセッティングする（S５６０）。最後に、内部変数：[メッセージ認証結果]をメモリに出力して処理を完了する（S５７０）。
【００８７】
図９には認証要求生成関数による認証要求値の生成処理フローが例示される。
【００８８】
認証要求生成（S４４１）を行う車両乙１２０は、内部変数：[認証対象メッセージ]をコマンド引数として受け取り（S４４１-a）、次に、内部変数：[ＣＰＵ負荷値]を初期化し（S４４１-b）、ＣＰＵ２０１にアクセスしてＣＰＵ使用率の値（0〜100％）を内部変数：[ＣＰＵ負荷値]にセッティングし（S４４１-c）、内部変数：[ＣＰＵ負荷値]が0〜50％と、51〜90％と、91〜100％と、の３種類に場合分けする（S４４１-d）。
【００８９】
内部変数：[ＣＰＵ負荷値]が0〜50％の場合は、認証要求値として１１を出力して処理を完了する（S４４１-e）。内部変数：[ＣＰＵ負荷値]が51〜90％の場合は、認証要求値として１０を出力して処理を完了する（S４４１-f）。内部変数：[ＣＰＵ負荷値]が91〜100％の場合は、さらに、車両通信装置１２３内部のメモリ２０３をアクセスし、認証処理対象メッセージの車両ＩＤに一致する車両ＩＤを持つ認証対象メッセージが既にキャッシュされているか否かをチェックし（S４４１-g）、キャッシュされていないならば、認証要求値として０１を出力して処理を完了し（S４４１-h）、キャッシュされているならば、認証要求値として００を出力して処理を完了する（S４４１-i）。
【００９０】
この認証要求生成処理によれば、内部変数：[ＣＰＵ負荷値]が高いほど、認証要求に対応するメッセージ検証の計算量が小さくなる。更に、既にＣＰＵ付加が高い場合には、認証処理済みのメッセージの発信元と同じ車両から発信されたメッセージに対しては認証処理を省いて、そのＣＰＵ負荷を別の車両のメッセージに対する認証処理に振り分け可能にしている。
【００９１】
図１０にはＭＡＣ値検証に用いる共通鍵としての秘密鍵（ＭＡＣ専用共通鍵）の入手方法についてその処理フローが例示される。車両は高速道路網や自治体等のエリア認証局１００かららそのエリアで有意のＭＡＣ専用共通鍵を入手する。
【００９２】
図１０において、例えば車両甲１１０は定期的にＭＡＣ専用共通鍵の要求６００を発行する。ＭＡＣ専用共通鍵の要求６００には例えば当該当該車両甲１１０で生成したディジタル署名が付随される。このＭＡＣ専用共通鍵の要求６００を受けたエリア認証局１００は当該ＭＡＣ専用共通鍵の要求６００に対してそのディジタル署名を復号して車両認証処理を行なう（Ｓ６１１）。車両の認証に成功したときエリア認証局１０は当該エリアのＭＡＣ専用共通鍵のメッセージ６０１を車両甲１１０に返す。ＭＡＣ専用共通鍵の通信メッセージ６０１は例えば公開暗号鍵方式で暗号化されて保護されている。車両甲１１０はそのメッセージ６０１を受信して復号することによってＭＡＣ専用共通鍵を取得し、これを耐タンパ記憶装置２０５に格納する。ステップＳ６１２で車両の認証に失敗したときエリア認証局１０はエラーメッセージを生成し（Ｓ６１３）、このエラーメッセージ６０２を車両甲１１０に返して処理を終了する。この図１０の処理により広範なエリアでＭＡＣ専用共通鍵を取得することができる。
【００９３】
上記実施の形態によれば以下の作用効果を得る。
【００９４】
（１）自らの状態に応じて、データ処理の負荷が比較的大きなディジタル署名を用いた認証処理とデータ処理の負荷が比較的小さなメッセージ認証コードを用いた認証処理とを認証処理の許容時間が許す範囲で使い分けることが可能になる。したがって、メッセージ数の大小によらず許容時間内でメッセージ認証を行うことができるとともに許容時間が許す範囲で精度の高いメッセージ認証を行うことが可能である。
【００９５】
（２）ディジタル署名を用いた認証を利用可能であるから、図１０に基づいて説明したように、メッセージ認証コードに必要な共通鍵を外部から公開鍵暗号方式で暗号されたメッセージを介して受取ることも可能であり、必要な共通鍵を適宜入手してメッセージ認証コードによる認証を行うことができる。
【００９６】
（３）自らの状態を示す値を引数とする認証要求生成関数を実行することによって、メッセージ認証コードを用いる認証処理の要否と、ディジタル署名を用いる認証処理の要否とを表すデータである認証要求値を生成することにより、何れの認証処理を行なうかの制御が簡単になる。
【００９７】
（４）何れの認証処理を行なうかの判別の基準として中央処理装置の負荷状態を用いることにより、認証処理に許容された時間内の収まる認証処理を端的に決める可能である。
【００９８】
（５）何れの認証処理を行なうかの判別の基準として新たに受信した情報と既に受信して認証処理を終った通信の履歴情報との対応関係の強弱を用いることにより、実質的に無駄な認証処理を省いて他の認証処理にＣＰＵの負荷を割り振る制御が容易になる。
【００９９】
（６）何れの認証処理を行なうかの判別の基準として送信側の他の移動体又は固定局に対する遠近関係に応じた値を用いることにより、衝突回避処理などにおいて遠く離れた車両のように把握する意味のないものに対する実質的に無駄な認証処理を省いて他の認証処理にＣＰＵの負荷を割り振る制御が容易になる。
【０１００】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０１】
例えば、上記では、署名の方式としてＥＣＤＳＡを例示しているが、必ずしもＥＣＤＳＡである必要はなく、メッセージ認証が可能な署名方式であれば、任意でよい。同様に、高速なメッセージ認証方式として、ＨＭＡＣ方式を例示しているが、必ずしもＨＭＡＣ方式である必要はなく、メッセージ認証が可能な共通鍵認証方式であれば、任意でよい。
【０１０２】
また、上記実施の形態では、２台の車両が車車間無線通信行う場合を例示しているが、必ずしも２台の車両に限定する必要はなく、複数台の車両もしくは、路側基地局を含めて、同様のメッセージ認証方式を用いてもよい。この場合は、図１０で説明したように、ＨＭＡＣ用のＭＡＣ生成用秘密鍵を通信範囲の全ての車両、および路側基地局が、事前に共有する必要がある。このとき、ＭＡＣ生成用秘密鍵の事前共有方法は任意でよく、図１０で説明したように、特定の範囲を管理する認証局と事前に認証を行い、ＭＡＣ生成用秘密鍵を受け取る構成方法に限定されない。
【０１０３】
その他にも、本実施の形態では、認証要求生成関数として、ＣＰＵ負荷が大きい程、メッセージ検証に必要な計算量を小さくする関数を例示したが、必ずしもＣＰＵ負荷のみを認証要求生成の基準とする必要はなく、例えば、メッセージデータ内部に車両ＩＤが含まれている場合に、過去のメッセージ認証の結果と、車両ＩＤとの紐付けを、キャッシュし、新しいメッセージデータを受信した際には、車両ＩＤとキャッシュデータをコマンド引数として、認証要求を生成してもよい、より一般に、ウェブサーバ等でメッセージ認証に用いられているキャッシュ処理やセッションＩＤ、セッションキーなどの従来技術を用いて、認証要求を生成してもよい。
【０１０４】
また、認証要求生成関数の例として、メッセージデータ内部にメッセージ送信車両の緯度経度などの現在位置情報と、速度情報と、が含まれている場合に、車両乙１２０側で、事前に取得したメッセージデータから車両甲１１０の現在位置を推定し、認証要求生成時に、現在位置情報と、推定現在位置をコマンド引数として、認証要求を生成してもよい。例えば、通信相手が一定限度を超えて遠い場合には認証は行わず、比較的遠い場合にはＭＡＣ値検証を行い、比較的近い場合には署名検証を行うようにしてもよい。また、認証要求生成関数の例として、衝突防止アプリケーションが、メッセージデータを利用する際に、近傍の車両が送信するメッセージの重要度は高く、遠方の車両が送信するメッセージの重要度は低い、この場合、遠方の車両が送信するメッセージの認証にリソースを取られないために、遠方車両のメッセージに対する認証要求の計算量を小さくする対応が、考えられる。例えば、無線通信用アプリが、各メッセージデータに対して、重要度を算出し、算出した重要度を認証要求生成時のコマンド引数として利用してもよい。
【産業上の利用可能性】
【０１０５】
本発明は、他の移動体又は固定局との間で無線通信を行う自移動体において認証処理を行なう無線通信装置技術に広く適用することができる。
【符号の説明】
【０１０６】
１００  エリア認証局
１１０  車両甲
１２０  車両乙
１１３  車両通信装置
１１２  表示装置
１１４  車載センサ装置
１２３  車両通信装置
１２２  表示装置
１２４  車載センサ１２４
２０１  中央処理送致（ＣＰＵ）
２０２  補助記憶装置
２０３  メモリ
２０４  入出力インターフェース
２０５  耐タンパ記憶装置
２０９  内部信号線
【図１】
0005643448.tif 000002
【図２】
0005643448.tif 000003
【図３】
0005643448.tif 000004
【図４】
0005643448.tif 000005
【図５】
0005643448.tif 000006
【図６】
0005643448.tif 000007
【図７】
0005643448.tif 000008
【図８】
0005643448.tif 000009
【図９】
0005643448.tif 000010
【図１０】
0005643448.tif 000011
【図１１】
0005643448.tif 000012