(57)【要約】【課題】一回の相互認証あたりに必要な通信回数を低減すること。【解決手段】無線又は有線の通信路を介して情報を交換する第１認証対象装置及び第２認証対象装置を備える車両用認証システムであって、前記第１認証対象装置及び前記第２認証対象装置は、それぞれ、他方の認証対象装置に送信する認証応答要求と、該認証応答要求に対する応答として他方の認証対象装置から受信する認証応答とに基づいて、他方の認証対象装置の正当性を確認するように構成され、前記第１認証対象装置及び前記第２認証対象装置は、それぞれ、他方の認証対象装置から認証応答要求を受信した場合に、該認証応答要求に対する認証応答と、他方の認証対象装置への認証応答要求とを、他方の認証対象装置に一の送信信号で送信する。【選択図】図２Ａ
2018085625.tif 000002
【特許請求の範囲】
【請求項１】
認証側が発生させる認証応答要求と該認証応答要求に対して被認証側が発生させる認証応答とが所定の対応関係を有するときに認証が成功する認証方式を用いる車両用認証システムであって、
無線又は有線の通信路を介して通信を行う第１認証対象装置及び第２認証対象装置を備え、
前記第１認証対象装置及び前記第２認証対象装置は、認証側と被認証側の関係を入れ替えて、前記通信による相互認証を行い、
前記第１認証対象装置及び前記第２認証対象装置は、それぞれ、相手方からの認証応答要求に対する自身の認証応答と、相手方に対する認証応答要求とを、相手方に一の送信信号で送信する、車両用認証システム。
【請求項２】
前記第１認証対象装置及び前記第２認証対象装置は、前記第１認証対象装置が初期化する際に、初期化認証処理として、前記相互認証を行い、
前記初期化認証処理において、
前記第１認証対象装置は、第１の認証応答要求を第１信号で送信し、
前記第２認証対象装置は、前記第１の認証応答要求に対する認証応答と、第２の認証応答要求とを、前記一の送信信号としての第２信号で送信し、
前記第１認証対象装置は、前記第２の認証応答要求に対する認証応答を第３信号で送信する、請求項１に記載の車両用認証システム。
【請求項３】
前記第１認証対象装置及び前記第２認証対象装置は、前記初期化認証処理でそれぞれの認証が成功した場合、その後、更に、周期認証処理として、周期的に前記相互認証を行い、
前記周期認証処理において、
先ず、前記第１認証対象装置及び前記第２認証対象装置のうちの一方は、第３の認証応答要求を第４信号で送信し、
前記第１認証対象装置及び前記第２認証対象装置のうちの他方は、前記第３の認証応答要求に対する認証応答と、第４の認証応答要求とを、前記一の送信信号としての第５信号で送信し、
前記一方は、前記第４の認証応答要求に対する認証応答と、第５の認証応答要求とを、前記一の送信信号としての第６信号で送信し、
以降、前記他方は、前記第３の認証応答要求が前記第５の認証応答要求で置き換わる新たな前記第５信号を、前記一方は、新たな前記第６信号を、それぞれ、交互に送信する、請求項２に記載の車両用認証システム。
【請求項４】
前記一方は、前記第２認証対象装置であり、
前記第２認証対象装置は、前記初期化認証処理において、認証側として行う認証が成功した直後に、前記第４信号を送信し、
前記第１認証対象装置は、前記第４信号を受信した直後に、相互認証用以外の用途を含む全ての前記通信を可能とする、請求項３に記載の車両用認証システム。
【請求項５】
前記第１認証対象装置は、前記周期認証処理において、認証側として行う認証が成功した場合、全ての前記通信が可能な状態を維持し、該認証が失敗した場合、自身を初期化する、請求項４に記載の車両用認証システム。
【請求項６】
前記第２認証対象装置は、前記初期化認証処理又は前記周期認証処理において、認証側として行う認証が失敗した場合、前記第１認証対象装置を初期化させるためのリセット要求を発生する、請求項３〜５のうちのいずれか１項に記載の車両用認証システム。
【請求項７】
前記第１認証対象装置及び前記第２認証対象装置のうちの、前記第１認証対象装置のみが車両ネットワークに直接接続され、
前記第１認証対象装置は、前記初期化認証処理において、認証側として行う認証が失敗した場合、前記第２認証対象装置から独立した態様で、前記車両ネットワークを介して所定機能を実現する、請求項２〜６のうちのいずれか１項に記載の車両用認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両用認証システムに関する。
【背景技術】
【０００２】
２つの認証対象装置間で相互認証を行う技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2015-080111号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術は、一回の相互認証のために必要な通信回数が４回以上あり、効率的でないという問題がある。２つの認証対象装置間では、相互認証以外の用途で通信路が使用される可能性もあり、一回の相互認証あたりに必要な通信回数をできるだけ減らすことが望ましい。
【０００５】
そこで、一側面によれば、本発明は、一回の相互認証あたりに必要な通信回数を低減することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１態様によれば、認証側が発生させる認証応答要求と該認証応答要求に対して被認証側が発生させる認証応答とが所定の対応関係を有するときに認証が成功する認証方式を用いる車両用認証システムであって、
無線又は有線の通信路を介して通信を行う第１認証対象装置及び第２認証対象装置を備え、
前記第１認証対象装置及び前記第２認証対象装置は、認証側と被認証側の関係を入れ替えて、前記通信による相互認証を行い、
前記第１認証対象装置及び前記第２認証対象装置は、それぞれ、相手方からの認証応答要求に対する自身の認証応答と、相手方に対する認証応答要求とを、相手方に一の送信信号で送信する、車両用認証システムが提供される。
【０００７】
かかる第１態様によれば、相互認証を行うことで、一方の認証のみを行う場合に比べて、車両用認証システムの健全性を高めることができる。例えば、第１認証対象装置及び第２認証対象装置のうちの、第２認証対象装置に成りすます装置（以下、「"成りすまし"部品」とも称する」）が用いられる場合、"成りすまし"部品は、正当な認証応答（例えば、認証応答要求に対して所定の対応関係を有する認証応答）を生成できる可能性が低く、第１認証対象装置において、かかる"成りすまし"を検出できる可能性が高くなる。これは、第１認証対象装置に対して"成りすまし"部品が用いられる場合も同様である。尚、所定の対応関係の有無は、"成りすまし"の成功が困難となるように、ランダムデータやハッシュ値などに基づいて検証できる態様が望ましい。
【０００８】
そして、第１態様によれば、認証応答と認証応答要求とを一の送信信号でまとめて送信できるので、認証応答と認証応答要求とを別々の送信信号で送信する場合に比べて、通信回数を低減できる。この結果、一回の相互認証あたりに必要な通信回数を低減できる。
【０００９】
本発明の第２態様は、前記第１認証対象装置及び前記第２認証対象装置は、前記第１認証対象装置が初期化する際に、初期化認証処理として、前記相互認証を行い、
前記初期化認証処理において、
前記第１認証対象装置は、第１の認証応答要求を第１信号で送信し、
前記第２認証対象装置は、前記第１の認証応答要求に対する認証応答と、第２の認証応答要求とを、前記一の送信信号としての第２信号で送信し、
前記第１認証対象装置は、前記第２の認証応答要求に対する認証応答を第３信号で送信する。
【００１０】
該態様によれば、初期化認証処理に必要な通信回数を低減し、初期化認証処理に要する時間を短縮できる。
【００１１】
本発明の第３態様は、前記第１認証対象装置及び前記第２認証対象装置は、前記初期化認証処理でそれぞれの認証が成功した場合、その後、更に、周期認証処理として、周期的に前記相互認証を行い、
前記周期認証処理において、
先ず、前記第１認証対象装置及び前記第２認証対象装置のうちの一方は、第３の認証応答要求を第４信号で送信し、
前記第１認証対象装置及び前記第２認証対象装置のうちの他方は、前記第３の認証応答要求に対する認証応答と、第４の認証応答要求とを、前記一の送信信号としての第５信号で送信し、
前記一方は、前記第４の認証応答要求に対する認証応答と、第５の認証応答要求とを、前記一の送信信号としての第６信号で送信し、
以降、前記他方は、前記第３の認証応答要求が前記第５の認証応答要求で置き換わる新たな前記第５信号を、前記一方は、新たな前記第６信号を、それぞれ、交互に送信する。
【００１２】
該態様によれば、周期認証処理に必要な通信回数を低減し、周期認証処理に要する時間を短縮できる。また、初期化認証処理において相互認証が成功した場合でも、"成りすまし"の事後的な発生の有無等を周期的に監視できる。
【００１３】
本発明の第４態様は、前記一方は、前記第２認証対象装置であり、
前記第２認証対象装置は、前記初期化認証処理において、認証側として行う認証が成功した直後に、前記第４信号を送信し、
前記第１認証対象装置は、前記第４信号を受信した直後に、相互認証用以外の用途を含む全ての前記通信を可能とする。
【００１４】
該態様によれば、第１認証対象装置は、周期認証処理に係る第４信号を利用して、初期化認証処理において相互認証が成功したことを検知できる。従って、第４信号とは別に、初期化認証処理において相互認証が成功したことを第１認証対象装置に通知するための信号を第２認証対象装置から送信する場合に比べて、効率化を図ることができる。また、第４信号は、初期化認証処理において相互認証が成功したときに直ぐに送られてくるので、第１認証対象装置は、初期化完了までに要する時間（初期化認証処理開始時点から、相互認証用以外の用途を含む全ての通信が可能となる時点）を、短縮できる。これにより、第１認証対象装置は、第２認証対象装置との協動した動作を速やかに開始することが可能となる。
【００１５】
本発明の第５態様は、前記第１認証対象装置は、前記周期認証処理において、認証側として行う認証が成功した場合、全ての前記通信が可能な状態を維持し、該認証が失敗した場合、自身を初期化する。
【００１６】
該態様によれば、第１認証対象装置は、周期認証処理の結果、相手方の正当性を確認できない場合に、自身を初期化できる。これにより、第２認証対象装置に対する"成りすまし"部品が用いられる場合、第１認証対象装置の初期化が繰り返され、第２認証対象装置に対する"成りすまし"部品の不当な動作を抑制できる可能性が高くなる。また、"成りすまし"ではなく何らかの異常に起因して相手方の正当性を確認できなくなった場合には、初期化による新たな初期化認証処理で相手方の正当性を確認できる可能性があり、第１認証対象装置及び第２認証対象装置の協動した動作を回復できる機会を作ることができる。
【００１７】
本発明の第６態様は、前記第２認証対象装置は、前記初期化認証処理又は前記周期認証処理において、認証側として行う認証が失敗した場合、前記第１認証対象装置を初期化させるためのリセット要求を発生する。
【００１８】
該態様によれば、第２認証対象装置は、初期化認証処理又は周期認証処理の結果、相手方の正当性を確認できない場合に、相手方を初期化させるためのリセット要求を発生する。これにより、第１認証対象装置に対する"成りすまし"部品を初期化できる可能性があり、第１認証対象装置に対する"成りすまし"部品の不当な動作を防止できる可能性が高くなる。
【００１９】
本発明の第７態様は、前記第１認証対象装置及び前記第２認証対象装置のうちの、前記第１認証対象装置のみが車両ネットワークに直接接続され、
前記第１認証対象装置は、前記初期化認証処理において、認証側として行う認証が失敗した場合、前記第２認証対象装置から独立した態様で、前記車両ネットワークを介して所定機能を実現する。
【００２０】
該態様によれば、第１認証対象装置及び第２認証対象装置のうちの、第１認証対象装置のみしか車両ネットワークに直接アクセスできなくなるので、第２認証対象装置に対する"成りすまし"部品が車両ネットワークに不当にアクセスできる可能性を低減できる。また、第１認証対象装置を"マスタ"とし第２認証対象装置を"スレーブ"とする主従関係で、第１認証対象装置及び第２認証対象装置を構成でき、第２認証対象装置の仕様の事後的な変更が比較的容易となる。また、第１認証対象装置は、初期化認証処理の結果、相手方の正当性を確認できない場合でも、第２認証対象装置から独立した態様で、車両ネットワークを介して所定機能を継続的に実現できる。
【発明の効果】
【００２１】
一側面によれば、一回の相互認証あたりに必要な通信回数を低減できる。
【図面の簡単な説明】
【００２２】
【図１】一実施例による車両用認証システム１を示す構成図である。
【図２Ａ】実施例による初期化認証処理を説明するタイミングチャートである。
【図２Ｂ】実施例による周期認証処理を説明するタイミングチャートである。
【図３Ａ】比較例による初期化認証処理を説明するタイミングチャートである。
【図３Ｂ】比較例による周期認証処理を説明するタイミングチャートである
【図４】マスタ処理装置１２により実行される相互認証用処理の一例を示す概略フローチャートである。
【図５】スレーブ処理装置２２により実行される相互認証用処理の一例を示す概略フローチャートである。
【発明を実施するための形態】
【００２３】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【００２４】
図１は、一実施例による車両用認証システム１を示す構成図である。
【００２５】
車両用認証システム１は、車両に搭載される。車両用認証システム１は、通信線２と、マスタ部品１０（第１認証対象装置の一例）と、スレーブ部品２０（第２認証対象装置の一例）とを含む。
【００２６】
マスタ部品１０及びスレーブ部品２０は、マスタ部品１０が"マスタ"となり且つスレーブ部品２０が"スレーブ"となる関係で、協動してマルチメディアシステムを形成する。マルチメディアシステムは、ナビゲーション装置やオーディオ装置、ＴＶチューナなどのようなマルチメディア系のシステムである。マスタ部品１０は、オーディオ装置や、ＴＶチューナなどに係る基本機能であって、事後的に仕様が変更される可能性が低い機能を担う。他方、スレーブ部品２０は、ナビゲーション装置や音声認識装置に係る機能のような付加機能であって、事後的に仕様が変更される可能性が比較的高い機能を担う。
【００２７】
マスタ部品１０及びスレーブ部品２０は、通信線２を介して通信を行うことで、各種情報を交換することができる。通信線２は、例えばＵＳＢ（Universal Serial Bus)である。マスタ部品１０及びスレーブ部品２０が通信線２を介して交換する情報は、後述の相互認証用の情報のほか、映像信号の調停用の情報や、音声認識機能を協動して実現するための情報等を含む。
【００２８】
マスタ部品１０は、CAN（controller area network）などの車両ネットワーク９０に直接接続される。他方、スレーブ部品２０は、車両ネットワーク９０に直接接続されない。
【００２９】
マスタ部品１０は、車両ネットワーク９０を介して、車両内の各種の電子部品（空調装置５０等）に接続される。マスタ部品１０は、入力装置４２を介して入力されるユーザ入力に基づいて、車両ネットワーク９０を介して、空調装置５０の設定に係る機能（所定機能の一例）を実現する。例えば、マスタ部品１０は、ユーザ入力に基づいて、設定温度や風量等に関する設定信号を生成し、設定信号を車両ネットワーク９０に送信する。空調装置５０は、かかる設定信号に基づいて、コンプレッサやブロアモータ等（図示せず）を制御する。入力装置４２は、例えばタッチパッドや、車載ディスプレイ４０が備えてもよいタッチパネルである。この場合、タッチパネル上に表示するGUI（Graphical User Interface）画像を介してユーザ入力を得ることができる。
【００３０】
マスタ部品１０は、入力装置４２を介して入力されるユーザ入力に基づいて、車両ネットワーク９０を介して、空調装置５０の設定（空調設定）の他、走行制御モードの設定、走行支援装置（クリアランスソナーなど）の設定等に係る機能（以下、「車両設定機能」と称する）（所定機能の一例）を実現してもよい。
【００３１】
マスタ部品１０及びスレーブ部品２０は、通信線２を介して交換する情報に基づいて、相手方の正当性を確認するように構成される。即ち、マスタ部品１０はスレーブ部品２０の正当性を確認し、スレーブ部品２０はマスタ部品１０の正当性を確認する。互いの正当性を確認できると相互認証が成功となる。認証は、被認証側が正規の部品であるときに成功し、被認証側がいわゆる"成りすまし"の部品であるときに失敗するようなロジックで実行される。本実施例では、認証側が発生させる認証応答要求と該認証応答要求に対して被認証側が発生させる認証応答とが所定の対応関係を有するときに認証が成功する認証方式が採用される。所定の対応関係は、正当な認証応答だけが満たすことができる関係であり、予め規定される。本実施例では、一例として、所定の対応関係は、後述のように、認証応答要求に係るハッシュ値と認証応答に係るハッシュ値とが一致する関係である。ハッシュ値は、適当なデータをハッシュ関数で変換して生成される値であり、元データの復元は不能であるので、盗聴に対して有効である。この場合、認証側と被認証側とに共通のハッシュ関数が予め与えられる。正当性の確認方法の具体例は、後述する。
【００３２】
マスタ部品１０は、後述の相互認証が成功している状態では、マスタ部品１０とスレーブ部品２０との間の全ての通信が可能となり、マスタ部品１０は、スレーブ部品２０と協動して動作する。例えば、マスタ部品１０は、スレーブ部品２０と協動して、車載ディスプレイ４０上の映像を生成する。これにより、マスタ部品１０は、スレーブ部品２０からのナビゲーション画像用の映像信号に基づいて、ナビゲーション画像を車載ディスプレイ４０上に出力できる。尚、車載ディスプレイ４０に代えて、ユーザが車両に持ち込みうる携帯端末（例えばスマートフォン）の表示器が利用されてもよい。
【００３３】
マスタ部品１０及びスレーブ部品２０は、マスタ部品１０が初期化する際に、初期化認証処理を行う。マスタ部品１０の初期化は、車両の起動時や、マスタ部品１０のリセット時に生じる。初期化認証処理は、図２Ａを参照して、後述する。
【００３４】
マスタ部品１０及びスレーブ部品２０は、初期化認証処理での相互認証が成功した場合、その後、更に、周期的に周期認証処理を行う。尚、「周期的に」とは、一定周期の繰り返し態様だけではなく、一定周期でない繰り返し態様をも含む概念である。但し、本実施例では、一例として、周期認証処理は、一定周期の繰り返し態様で実現される。例えば、マスタ部品１０及びスレーブ部品２０は、車両のアクセサリスイッチがオフするまで、３０秒ごとに、周期認証処理を行う。周期認証処理は、図２Ｂを参照して、後述する。
【００３５】
マスタ部品１０及びスレーブ部品２０は、それぞれ、処理装置１２，２２と、共通のハッシュ関数を記憶する記憶部１４，２４とを備える。
【００３６】
処理装置１２，２２は、それぞれ、コンピュータにより形成される。記憶部１４，２４は、不揮発性メモリにより形成される。ハッシュ関数は、予め記憶部１４，２４に格納される。記憶部１４，２４は、例えば、耐タンパ性の高いハードウェア内、例えば耐タンパ技術（内部回路の隠蔽処理）が施されたＩＣチップ内で実現される。以下、処理装置１２及び２２は、それぞれ、マスタ処理装置１２及びスレーブ処理装置２２と称する。
【００３７】
図２Ａは、初期化認証処理を説明するタイミングチャートである。尚、以下で説明するマスタ部品１０及びスレーブ部品２０間の送信信号（起動認証コマンドのような各種の認証コマンド）の送受は、通信線２を介して実現されている。
【００３８】
初期化認証処理が開始すると、まず、マスタ処理装置１２は、起動認証コマンドＣ１（第１信号の一例）をスレーブ部品２０に送信する（Ｓ１）。起動認証コマンドＣ１には、マスタ部品１０からの認証応答要求（以下、「認証応答要求＿マスタ」と称する）が含められる。認証応答要求＿マスタは、マスタ部品１０側での認証判定（Ｓ３）に必要な情報であり、マスタ処理装置１２により生成される。例えば、認証応答要求＿マスタは、マスタ部品１０内で発生させた乱数データＲ１（ランダムデータ）に基づいて生成される。ここでは、一例として、認証応答要求＿マスタは、乱数データＲ１自体である。
【００３９】
スレーブ処理装置２２は、起動認証コマンドＣ１を受信すると、起動認証コマンドＣ２（第２信号の一例）をマスタ部品１０に送信する（Ｓ２）。
【００４０】
起動認証コマンドＣ２には、起動認証コマンドＣ１に対する認証応答（以下、「認証応答＿マスタ」と称する）が含められる。認証応答＿マスタは、マスタ部品１０側での認証判定（Ｓ３）に必要な情報であり、スレーブ処理装置２２により生成される。ここでは、一例として、スレーブ処理装置２２は、起動認証コマンドＣ１に含まれる乱数データＲ１と、記憶部２４内のハッシュ関数とに基づいて、認証応答＿マスタを生成する。この場合、認証応答＿マスタは、ハッシュ関数による乱数データＲ１のハッシュ値である。
【００４１】
起動認証コマンドＣ２には、更に、スレーブ部品２０からの認証応答要求（以下、「認証応答要求＿スレーブ」と称する）が含められる。認証応答要求＿スレーブは、スレーブ部品２０側での認証判定（Ｓ５）に必要な情報であり、スレーブ処理装置２２により生成される。例えば、認証応答要求＿スレーブは、スレーブ部品２０内で発生させた乱数データＲ２に基づいて生成される。ここでは、一例として、認証応答要求＿スレーブは、乱数データＲ２自体である。
【００４２】
このようにして、本実施例では、起動認証コマンドＣ２には、認証応答＿マスタのみならず、認証応答要求＿スレーブも含められる。即ち、起動認証コマンドＣ２は、認証応答及び認証応答要求の双方を同時に含む。これにより、スレーブ部品２０からマスタ部品１０へ認証応答＿マスタ及び認証応答要求＿スレーブを別々のコマンドで送信する比較例（後出の図３Ａ参照）に比べて、初期化認証処理で行うマスタ部品１０とスレーブ部品２０との間の通信回数を低減できる。
【００４３】
マスタ処理装置１２は、起動認証コマンドＣ２を受信すると、認証判定を行う（Ｓ３）。具体的には、マスタ処理装置１２は、起動認証コマンドＣ１に含めた認証応答要求＿マスタと、起動認証コマンドＣ２に含まれる認証応答＿マスタとの間の、所定の対応関係の有無に基づいて、スレーブ部品２０の正当性を確認する。具体的には、マスタ処理装置１２は、記憶部１４内のハッシュ関数に基づいて、認証応答要求＿マスタに係る乱数データＲ１のハッシュ値を算出し、該ハッシュ値と、起動認証コマンドＣ２に含まれる認証応答＿マスタに係るハッシュ値とが一致するか否かを判定する。ハッシュ値同士が一致する場合は、スレーブ部品２０の正当性を確認できたこととなり（即ち認証が成功であり）、ハッシュ値同士が一致しない場合は、スレーブ部品２０の正当性を確認できないこととなる（即ち認証が失敗である）。
【００４４】
マスタ処理装置１２は、認証が成功すると、起動認証コマンドＣ３（第３信号の一例）をスレーブ部品２０に送信する（Ｓ４）。
【００４５】
起動認証コマンドＣ３には、起動認証コマンドＣ２に対する認証応答（以下、「認証応答＿スレーブ」と称する）が含められる。認証応答＿スレーブは、スレーブ部品２０側での認証判定（Ｓ５）に必要な情報であり、マスタ処理装置１２により生成される。ここでは、一例として、マスタ処理装置１２は、起動認証コマンドＣ２に含まれる乱数データＲ２と、記憶部１４内のハッシュ関数とに基づいて、認証応答＿スレーブを生成する。この場合、認証応答＿スレーブは、ハッシュ関数による乱数データＲ２のハッシュ値である。
【００４６】
スレーブ処理装置２２は、起動認証コマンドＣ３を受信すると、認証判定を行う（Ｓ５）。具体的には、スレーブ処理装置２２は、起動認証コマンドＣ２に含めた認証応答要求＿スレーブと、起動認証コマンドＣ３に含まれる認証応答＿スレーブとの間の、所定の対応関係の有無に基づいて、マスタ部品１０の正当性を確認する。具体的には、スレーブ処理装置２２は、記憶部２４内のハッシュ関数に基づいて、認証応答要求＿スレーブに係る乱数データＲ２のハッシュ値を算出し、該ハッシュ値と、起動認証コマンドＣ３に含まれる認証応答＿スレーブに係るハッシュ値とが一致するか否かを判定する。ハッシュ値同士が一致する場合は、認証が成功であり、ハッシュ値同士が一致しない場合は、認証が失敗である。認証が成功である場合は、初期化認証処理に係る相互認証（１回の相互認証）が成功したことになる。尚、本実施例によれば、図２Ａに示すように、初期化認証処理に係る相互認証に要する通信回数は、起動認証コマンドＣ１、Ｃ２、及びＣ３の送信による３回である。
【００４７】
図２Ｂは、図２Ａに示す初期化認証処理に後続する周期認証処理を説明するタイミングチャートである。
【００４８】
周期認証処理が開始すると、まず、マスタ処理装置１２は、周期認証コマンドＣ４（第４信号の一例）をマスタ部品１０に送信する（Ｓ１１）。この送信タイミングは、好ましくは、図２Ａに示した認証判定（Ｓ５）の直後である。これは、周期認証コマンドＣ４は、初期認証処理におけるスレーブ部品２０側の認証が成功したことを、マスタ処理装置１２に通知する機能（以下、「通知機能」と称する）も有するためである。従って、認証判定（Ｓ５）の直後に周期認証コマンドＣ４が送信される場合には、マスタ部品１０は、初期化認証処理における相互認証が成功したことを速やかに検知でき、スレーブ部品２０と協動した動作を速やかに開始できる。
【００４９】
周期認証コマンドＣ４には、スレーブ部品２０からの認証応答要求（以下、「周期認証応答要求＿スレーブ」と称する）が含められる。周期認証応答要求＿スレーブは、スレーブ部品２０側での認証判定（Ｓ１３）に必要な情報であり、スレーブ処理装置２２により生成される。例えば、周期認証応答要求＿スレーブは、スレーブ部品２０内で発生させた乱数データＲ３に基づいて生成される。ここでは、一例として、周期認証応答要求＿スレーブは、乱数データＲ３自体である。
【００５０】
マスタ処理装置１２は、周期認証コマンドＣ４を受信すると、周期認証コマンドＣ５（第５信号の一例）をスレーブ部品２０に送信する（Ｓ１２）。
【００５１】
周期認証コマンドＣ５には、周期認証コマンドＣ４に対する周期認証応答（以下、「周期認証応答＿スレーブ」と称する）が含められる。周期認証応答＿スレーブは、スレーブ部品２０側での認証判定（Ｓ１３）に必要な情報であり、マスタ処理装置１２により生成される。ここでは、一例として、マスタ処理装置１２は、周期認証コマンドＣ４に含まれる乱数データＲ３と、記憶部１４内のハッシュ関数とに基づいて、周期認証応答＿スレーブを生成する。この場合、周期認証応答＿スレーブは、ハッシュ関数による乱数データＲ３のハッシュ値である。
【００５２】
周期認証コマンドＣ５には、更に、マスタ部品１０からの周期認証応答要求（以下、「周期認証応答要求＿マスタ」と称する）が含められる。周期認証応答要求＿マスタは、マスタ部品１０側での認証判定（Ｓ１５）に必要な情報であり、マスタ処理装置１２により生成される。例えば、周期認証応答要求＿マスタは、マスタ部品１０内で発生させた乱数データＲ４に基づいて生成される。ここでは、一例として、周期認証応答要求＿マスタは、乱数データＲ４自体である。
【００５３】
このようにして、本実施例では、周期認証コマンドＣ５には、周期認証応答＿スレーブのみならず、周期認証応答要求＿マスタも含められる。即ち、周期認証コマンドＣ５は、周期認証応答及び周期認証応答要求の双方を同時に含む。これにより、マスタ部品１０からスレーブ部品２０に周期認証応答＿スレーブ及び周期認証応答要求＿マスタを別々のコマンドで送信する比較例（後出の図３Ｂ参照）に比べて、周期認証処理で行うマスタ部品１０とスレーブ部品２０との間の通信回数を低減できる。
【００５４】
スレーブ処理装置２２は、周期認証コマンドＣ５を受信すると、認証判定を行う（Ｓ１３）。即ち、スレーブ処理装置２２は、周期認証コマンドＣ４に含めた周期認証応答要求＿スレーブと、周期認証コマンドＣ５に含まれる周期認証応答＿スレーブとの間の、所定の対応関係の有無に基づいて、マスタ部品１０の正当性を確認する。具体的には、スレーブ処理装置２２は、記憶部２４内のハッシュ関数に基づいて、認証応答要求＿スレーブに係る乱数データＲ３のハッシュ値を算出し、該ハッシュ値と、周期認証コマンドＣ５に含まれる周期認証応答＿スレーブに係るハッシュ値とが一致するか否かを判定する。ハッシュ値同士が一致する場合は、認証が成功であり、ハッシュ値同士が一致しない場合は、認証が失敗である。
【００５５】
スレーブ処理装置２２は、認証が成功すると、周期認証コマンドＣ６（第６信号の一例）をマスタ部品１０に送信する（Ｓ１４）。
【００５６】
周期認証コマンドＣ６には、周期認証コマンドＣ５に対する周期認証応答（以下、「周期認証応答＿マスタ」と称する）が含められる。周期認証応答＿マスタは、マスタ部品１０側での認証判定（Ｓ１５）に必要な情報であり、スレーブ処理装置２２により生成される。ここでは、一例として、スレーブ処理装置２２は、周期認証コマンドＣ５に含まれる乱数データＲ４と、記憶部２４内のハッシュ関数とに基づいて、周期認証応答＿マスタを生成する。この場合、周期認証応答＿マスタは、ハッシュ関数による乱数データＲ４のハッシュ値である。
【００５７】
周期認証コマンドＣ６には、更に、周期認証応答要求＿スレーブが含められる。周期認証応答要求＿スレーブは、スレーブ部品２０側での次の認証判定（図示せず、Ｓ１３の相当する次の認証判定）に必要な情報であり、スレーブ処理装置２２により生成される。周期認証応答要求＿スレーブは、周期認証コマンドＣ４に含められる周期認証応答要求＿スレーブと実質的に同様の態様で生成される。尚、周期認証コマンドＣ６に含められる周期認証応答要求＿スレーブは、新たに発生させた乱数データＲ３に基づいて生成される。
【００５８】
このようにして、本実施例では、周期認証コマンドＣ６には、周期認証応答＿マスタのみならず、周期認証応答要求＿スレーブも含められる。即ち、周期認証コマンドＣ６は、周期認証応答及び周期認証応答要求の双方を同時に含む。これにより、スレーブ部品２０からマスタ部品１０へ周期認証応答＿マスタ及び周期認証応答要求＿スレーブを別々のコマンドで送信する比較例（後出の図３Ｂ参照）に比べて、周期認証処理で行うマスタ部品１０とスレーブ部品２０との間の通信回数を低減できる。
【００５９】
マスタ処理装置１２は、周期認証コマンドＣ６を受信すると、認証判定を行う（Ｓ１５）。即ち、マスタ処理装置１２は、周期認証コマンドＣ５に含めた周期認証応答要求＿マスタと、周期認証コマンドＣ６に含まれる周期認証応答＿マスタとの間の、所定の対応関係の有無に基づいて、スレーブ部品２０の正当性を確認する。具体的には、マスタ処理装置１２は、記憶部１４内のハッシュ関数に基づいて、認証応答要求＿マスタに係る乱数データＲ４のハッシュ値を算出し、該ハッシュ値と、周期認証コマンドＣ６に含まれる周期認証応答＿マスタに係るハッシュ値とが一致するか否かを判定する。ハッシュ値同士が一致する場合は、認証が成功であり、ハッシュ値同士が一致しない場合は、認証が失敗である。認証が成功である場合は、初回の周期認証処理に係る相互認証（１回の相互認証）が成功したことになる。
【００６０】
このように、本実施例によれば、図２Ｂに示すように、初回の周期認証処理に係る相互認証に要する通信回数は、周期認証コマンドＣ４、Ｃ５、及びＣ６の送信による３回である。
【００６１】
マスタ処理装置１２での認証が成功すると、以下、同様に、Ｓ１２，Ｓ１３，Ｓ１４，Ｓ１５が繰り返される。即ち、以下、同様に、乱数データＲ４（即ち周期認証応答要求＿マスタ）を新たに発生させながら周期認証コマンドＣ５がマスタ部品１０からスレーブ部品２０へと、乱数データＲ３（即ち周期認証応答要求＿スレーブ）を新たに発生させながら周期認証コマンドＣ６がスレーブ部品２０からマスタ部品１０へと、それぞれ送信される。本実施例によれば、図２Ｂに示すように、２回目以降の周期認証処理に係る１回の相互認証あたりの通信回数は、周期認証コマンドＣ５及びＣ６の送信による２回である。
【００６２】
ここで、図３Ａ及び図３Ｂを参照して、比較例による相互認証方法との対比で、本実施例による効果を説明する。
【００６３】
図３Ａは、比較例による初期化認証処理を説明するタイミングチャートであり、図２Ａと対照となる。図３Ｂは、比較例による周期認証処理を説明するタイミングチャートであり、図２Ｂと対照となる。
【００６４】
比較例による初期化認証処理及び周期認証処理では、マスタ部品１０からスレーブ部品２０へ認証応答及び認証応答要求を送信する場合、認証応答及び認証応答要求を２つのコマンドで別々に送信する方法が用いられる。これは、スレーブ部品２０からマスタ部品１０へ認証応答及び認証応答要求を送信する場合も同様である。
【００６５】
このため、比較例による初期化認証処理及び周期認証処理では、１回の相互認証あたりの必要な通信回数は、図３Ａ及び図３Ｂに示すように、４回となる。具体的には、比較例による初期化認証処理では、相互認証に必要な通信回数は、図３Ａに示すように、起動認証コマンドＧ１〜Ｇ４の送信による４回となる。同様に、比較例による周期認証処理では、１回の相互認証あたりの必要な通信回数は、図３Ｂに示すように、周期認証コマンドＧ１１〜Ｇ１４の送信による４回となる。
【００６６】
この点、本実施例によれば、図２Ａ及び図２Ｂを参照して説明したように、マスタ部品１０からスレーブ部品２０へ認証応答及び認証応答要求を一の送信信号（起動認証コマンドＣ３や、周期認証コマンドＣ５参照）で送信し、スレーブ部品２０からマスタ部品１０への認証応答及び認証応答要求を一の送信信号（起動認証コマンドＣ２や、周期認証コマンドＣ６参照）で送信する。
【００６７】
従って、本実施例による初期化認証処理では、相互認証に必要な通信回数は、図２Ａを参照して上述したように、起動認証コマンドＣ１、Ｃ２、及びＣ３の送信による３回であり、比較例に比べて低減される。また、本実施例による初回の周期認証処理では、相互認証に必要な通信回数は、図２Ｂを参照して上述したように３回であり、比較例に比べて低減される。また、本実施例による２回目以降の周期認証処理では、１回の相互認証あたりの必要な通信回数は、図２Ｂを参照して上述したように２回であり、比較例に比べて低減される。
【００６８】
この結果、本実施例によれば、通信線２で行う相互認証用の通信回数及び通信負荷を低減できる。通信線２で行う相互認証用の通信回数が低減すると、その分だけ、通信線２で行う他の用途の通信のための空き時間を増加できる。これにより、マスタ部品１０とスレーブ部品２０との間で交換できる、相互認証用以外の情報量を、効率的に増加できる。また、車両の起動の際等の初期化認証処理に要する時間を短縮できる。これにより、例えば、車両起動後において、マスタ部品１０とスレーブ部品２０との間で全ての通信（相互認証用以外の用途での通信を含む全ての通信）が可能となる状態への遷移を早めることができる。
【００６９】
また、本実施例によれば、認証応答要求及び認証応答は、それぞれ、乱数データ又は乱数データに基づく情報であるので、固定パスワードなどの機密性の高い情報を認証側に送る場合に比べて、盗聴時の被害を低減できる。例えば、乱数データは毎回更新されるので（即ちワンタイムパスワードとなるので）、ある一の認証応答要求や認証応答が盗聴された場合でも、該一の認証応答要求や認証応答に基づいて"成りすまし"行為を継続することは不能である。
【００７０】
次に、図４及び図５を参照して、車両用認証システム１の動作例について説明する。
【００７１】
図４は、マスタ部品１０のマスタ処理装置１２により実行される相互認証用処理の一例を示す概略フローチャートである。図４に示す処理は、アクセサリスイッチのオンイベント時に起動し、終了（図４のエンド）に至るまで所定周期毎に実行される。以下の説明において、各種のフラグ（初期化認証中フラグＦ１等）の初期値（アクセサリスイッチのオンイベント時やリセット時の値）は、"０"であるとする。また、マスタ処理装置１２とスレーブ部品２０との間の通信に関する初期状態（アクセサリスイッチのオンイベント時やリセット時の状態）は、相互認証用の通信のみが可能な状態であるとする。尚、相互認証用の通信は、認証用のコマンド（起動認証コマンドＣ１等）に係る通信のみならず、スレーブ部品２０からマスタ部品１０への後述のリセット要求（図５のステップＳ５１４等参照）に係る通信も含む。
【００７２】
ステップＳ４００では、マスタ処理装置１２は、アクセサリスイッチのオフイベントが発生したか否かを判定する。判定結果が"ＹＥＳ"の場合は、終了し、それ以外の場合は、ステップＳ４０２に進む。
【００７３】
ステップＳ４０２では、マスタ処理装置１２は、今回の処理周期が、アクセサリスイッチのオンイベント後の初回周期及びリセット後の初回周期のいずれかであるかを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ４０４に進み、それ以外の場合は（アクセサリスイッチのオンイベント後又はリセット後の２回目以降の処理周期である場合）、ステップＳ４２０に進む。
【００７４】
ステップＳ４０４では、マスタ処理装置１２は、初期化認証中フラグＦ１を"１"にセットする。初期化認証中フラグＦ１が"１"であることは、初期化認証処理が実行されている状態（初期化認証処理の実行中）を表す。
【００７５】
ステップＳ４０６では、マスタ処理装置１２は、乱数データＲ１を発生し、起動認証コマンドＣ１をスレーブ部品２０に送信する（図２ＡのＳ１参照）。
【００７６】
ステップＳ４０８では、マスタ処理装置１２は、起動認証コマンドＣ１に対する起動認証コマンドＣ２をスレーブ部品２０から受信したか否かを判定する（図２ＡのＳ２参照）。判定結果が"ＹＥＳ"の場合は、ステップＳ４１０に進み、それ以外の場合は、ステップＳ４０９に進む。
【００７７】
ステップＳ４０９では、マスタ処理装置１２は、起動認証コマンドＣ２の未受信状態が所定時間ΔＴ１以上継続したか否かを判定する。所定時間ΔＴ１は、起動認証コマンドＣ１を送信してから起動認証コマンドＣ２を受信するまでに要する通常的な時間よりも長くなるように設定される適合値である。判定結果が"ＹＥＳ"の場合は、ステップＳ４１６に進み、それ以外の場合は、今回周期の処理を終了する。
【００７８】
ステップＳ４１０では、マスタ処理装置１２は、ステップＳ４０８で得た起動認証コマンドＣ２に基づく認証判定を行う（図２ＡのＳ３参照）。認証が成功した場合は、ステップＳ４１２に進み、認証が失敗した場合は、ステップＳ４１６に進む。
【００７９】
ステップＳ４１２では、マスタ処理装置１２は、初期化認証成功フラグＦ２を"１"にセットする。初期化認証成功フラグＦ２が"１"であることは、初期化認証処理においてマスタ部品１０が認証側として行う認証が成功した状態を表す。
【００８０】
ステップＳ４１４では、マスタ処理装置１２は、起動認証コマンドＣ３をスレーブ部品２０に送信する（図２ＡのＳ４参照）。
【００８１】
ステップＳ４１６では、マスタ処理装置１２は、初期化認証失敗フラグＦ３を"１"にセットする。初期化認証失敗フラグＦ３が"１"であることは、初期化認証処理においてマスタ部品１０が認証側として行う認証が失敗したこと、又は、起動認証コマンドＣ２の未受信状態が所定時間ΔＴ１以上継続したことを表す。
【００８２】
ステップＳ４１７では、マスタ処理装置１２は、初期化中フラグＦ１を"０"にリセットし、今回周期の処理を終了する。
【００８３】
ステップＳ４１８では、マスタ処理装置１２は、初期化中フラグＦ１を"０"にリセットし、今回周期の処理を終了する。
【００８４】
ステップＳ４２０では、マスタ処理装置１２は、初期化中フラグＦ１が"１"であるか否かを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ４０８に進み、それ以外の場合は、ステップＳ４２２に進む。
【００８５】
ステップＳ４２２では、マスタ処理装置１２は、初期化認証成功フラグＦ２が"１"であるか否かを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ４２４に進み、それ以外の場合は、ステップＳ４５０に進む。尚、ステップＳ４５０に進む場合は、初期化中フラグＦ１が"０"であり且つ初期化認証成功フラグＦ２が"０"であるので、初期化認証失敗フラグＦ３が"１"である場合である。
【００８６】
ステップＳ４２４では、マスタ処理装置１２は、初期化完了フラグＦ４が"０"であるか否かを判定する。初期化完了フラグＦ４が"０"であることは、初期化が完了していない状態、即ち、起動認証コマンドＣ３の送信後においてスレーブ部品２０からの周期認証コマンドＣ４（図２Ｂ参照）を受信していない状態を表す。判定結果が"ＹＥＳ"の場合は、ステップＳ４２６に進み、それ以外の場合は、ステップＳ４３２に進む。
【００８７】
ステップＳ４２６では、マスタ処理装置１２は、周期認証コマンドＣ４をスレーブ部品２０から受信したか否かを判定する（図２ＢのＳ１１参照）。判定結果が"ＹＥＳ"の場合は、ステップＳ４２８に進み、それ以外の場合は、ステップＳ４２７に進む。
【００８８】
ステップＳ４２７では、マスタ処理装置１２は、周期認証コマンドＣ４の未受信状態が所定時間ΔＴ２以上継続したか否かを判定する。所定時間ΔＴ２は、起動認証コマンドＣ３を送信してから周期認証コマンドＣ４を受信するまでに要する通常的な時間よりも長くなるように設定される適合値である。判定結果が"ＹＥＳ"の場合は、ステップＳ４４８に進み、それ以外の場合は、今回周期の処理を終了する。
【００８９】
ステップＳ４２８では、マスタ処理装置１２は、初期化完了フラグＦ４を"１"にセットする。初期化完了フラグＦ４が"１"であることは、初期化が完了したこと（初期化認証処理における相互認証が成功したこと）を表す。
【００９０】
ステップＳ４３０では、マスタ処理装置１２は、所定時間（例えば３０秒）でタイムアウトするタイマＴ１を起動し、ステップＳ４３１に進む。
【００９１】
ステップＳ４３１では、マスタ処理装置１２は、スレーブ部品２０との全ての通信を可能な状態に設定（又は該状態を維持）する。従って、周期認証コマンドＣ４が受信されると、相互認証用の通信のみが可能な状態から、全ての通信（相互認証用以外の用途での通信を含む）が可能な状態へと遷移する（即ち、初期化が完了する）。初期化が完了すると、以後、マスタ処理装置１２は、スレーブ処理装置２２と協動してマルチメディア機能を実現できる。
【００９２】
ステップＳ４３２では、マスタ処理装置１２は、周期認証状態フラグＦ５が"０"であるか否かを判定する。周期認証状態フラグＦ５が"０"であることは、周期認証コマンドＣ５の送信待ち状態であることを表す。判定結果が"ＹＥＳ"の場合は、ステップＳ４３４に進み、それ以外の場合は、ステップＳ４４０に進む。
【００９３】
ステップＳ４３４では、マスタ処理装置１２は、タイマＴ１がタイムアウトしたか否かを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ４３６に進み、それ以外の場合は、ステップＳ４３１に進む。
【００９４】
ステップＳ４３６では、マスタ処理装置１２は、乱数データＲ４を発生し、周期認証コマンドＣ５をスレーブ部品２０に送信する（図２ＢのＳ１２参照）。
【００９５】
ステップＳ４３８では、マスタ処理装置１２は、周期認証状態フラグＦ５を"１"にセットする。周期認証状態フラグＦ５が"１"であることは、周期認証コマンドＣ５の送信済み状態（＝周期認証コマンドＣ６の受信待ち状態）であることを表す。
【００９６】
ステップＳ４４０では、マスタ処理装置１２は、周期認証コマンドＣ５に対する周期認証コマンドＣ６をスレーブ部品２０から受信したか否かを判定する（図２ＢのＳ１４参照）。判定結果が"ＹＥＳ"の場合は、ステップＳ４４２に進み、それ以外の場合は、ステップＳ４４１に進む。
【００９７】
ステップＳ４４１では、マスタ処理装置１２は、周期認証コマンドＣ６の未受信状態が所定時間ΔＴ３以上継続したか否かを判定する。所定時間ΔＴ３は、周期認証コマンドＣ５を送信してから周期認証コマンドＣ６を受信するまでに要する通常的な時間よりも長くなるように設定される適合値である。所定時間ΔＴ３は、所定時間ΔＴ２と同じであってもよい。判定結果が"ＹＥＳ"の場合は、ステップＳ４４８に進み、それ以外の場合は、ステップＳ４３１に進む。
【００９８】
ステップＳ４４２では、マスタ処理装置１２は、ステップＳ４４０で得た周期認証コマンドＣ６に基づく認証判定を行う（図２ＢのＳ１５参照）。認証が成功した場合は、ステップＳ４４４に進み、認証が失敗した場合は、ステップＳ４４８に進む。
【００９９】
ステップＳ４４４では、マスタ処理装置１２は、周期認証状態フラグＦ５を"０"にセットする。周期認証状態フラグＦ５が"０"であることは、再び周期認証コマンドＣ５の送信待ち状態であることを表す。
【０１００】
ステップＳ４４６では、マスタ処理装置１２は、タイマＴ１をクリア（再び起動）し、ステップＳ４３１に進む。タイマＴ１は、クリアされると、所定時間（例えば３０秒）にタイムアウトする。
【０１０１】
ステップＳ４４８では、マスタ処理装置１２は、自身をリセットし、今回周期の処理を終了する。これは、スレーブ部品２０が"成りすまし"部品である可能性や、スレーブ部品２０に何らかの異常がある可能性が高いためである。但し、初期化認証処理での認証は成功しているため、初期化認証処理での認証が失敗している場合の処理（ステップＳ４５０参照）とは異なる。これは、初期化認証処理での認証は成功しているため、自身のリセットに起因してスレーブ部品２０の異常を除去できる可能性があるためである。他方、スレーブ部品２０が"成りすまし"部品である場合は、リセット後の初期化認証処理でも認証が失敗する可能性が高く、"成りすまし"部品がスレーブ部品２０として機能してしまう不都合を低減できる。
【０１０２】
ステップＳ４５０では、マスタ処理装置１２は、スレーブ部品２０との全ての通信を不能な状態に設定（又は該状態を維持）する。即ち、マスタ処理装置１２は、通信線２からのいかなる信号についても遮断し、自身からスレーブ部品２０を切り離す。この場合、マスタ処理装置１２は、スレーブ部品２０と協動することなく、単独で動作する。この場合、マスタ処理装置１２は、依然として、入力装置４２を介したユーザ入力に基づいて、車両設定機能（例えば空調装置５０の設定等）を継続して行うことができる。従って、スレーブ部品２０が"成りすまし"部品である可能性や、スレーブ部品２０に何らかの異常がある可能性が高い場合でも、比較的重要度の高い車両設定機能については維持できる。
【０１０３】
図５は、スレーブ部品２０のスレーブ処理装置２２により実行される相互認証用処理の一例を示す概略フローチャートである。図５に示す処理は、アクセサリスイッチのオンイベント時に起動し、アクセサリスイッチがオン状態で所定周期毎に実行される。
【０１０４】
ステップＳ５００では、スレーブ処理装置２２は、アクセサリスイッチのオフイベントが発生したか否かを判定する。判定結果が"ＹＥＳ"の場合は、終了し、それ以外の場合は、ステップＳ５０２に進む。
【０１０５】
ステップＳ５０２では、スレーブ処理装置２２は、マスタ部品１０からの認証用のコマンドを受信したか否かを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ５０４に進み、それ以外の場合は、今回周期の処理を終了する。
【０１０６】
ステップＳ５０４では、スレーブ処理装置２２は、受信したコマンドが起動認証コマンドＣ１であるか否かを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ５０６に進み、それ以外の場合は、ステップＳ５０８に進む。
【０１０７】
ステップＳ５０６では、スレーブ処理装置２２は、乱数データＲ２を発生し、起動認証コマンドＣ２をマスタ部品１０に送信する（図２ＡのＳ１参照）。
【０１０８】
ステップＳ５０８では、スレーブ処理装置２２は、受信したコマンドが起動認証コマンドＣ３であるか否かを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ５１０に進み、それ以外の場合（即ち受信したコマンドが周期認証コマンドＣ５である場合）は、ステップＳ５１６に進む。
【０１０９】
ステップＳ５１０では、スレーブ処理装置２２は、ステップＳ５０２で得た起動認証コマンドＣ３に基づく認証判定を行う（図２ＡのＳ５参照）。認証が成功した場合は、ステップＳ５１２に進み、認証が失敗した場合は、ステップＳ５１４に進む。
【０１１０】
ステップＳ５１２では、スレーブ処理装置２２は、乱数データＲ３を発生し、周期認証コマンドＣ４をマスタ部品１０に送信する（図２ＢのＳ１１参照）。
【０１１１】
ステップＳ５１４では、スレーブ処理装置２２は、マスタ部品１０をリセットさせる。例えば、スレーブ処理装置２２は、リセット要求をマスタ部品１０に送信する。これは、マスタ部品１０が"成りすまし"部品である可能性や、マスタ部品１０に何らかの異常がある可能性が高いためである。マスタ部品１０が"成りすまし"部品である場合は、常にステップＳ５１０での判定結果が"ＮＯ"となるので、"成りすまし"部品がマスタ部品１０として動作してしまう不都合を低減できる。マスタ部品１０に何らかの異常がある場合は、マスタ部品１０のリセットにより該異常を除去できる可能性がある。
【０１１２】
ステップＳ５１６では、スレーブ処理装置２２は、ステップＳ５０２で得た周期認証コマンドＣ５に基づく認証判定を行う（図２ＢのＳ１３参照）。認証が成功した場合は、ステップＳ５１８に進み、認証が失敗した場合は、ステップＳ５２０に進む。
【０１１３】
ステップＳ５１８では、スレーブ処理装置２２は、周期認証コマンドＣ６をマスタ部品１０に送信する（図２ＢのＳ１４参照）。
【０１１４】
ステップＳ５２０では、スレーブ処理装置２２は、マスタ部品１０をリセットさせる。これは、マスタ部品１０が"成りすまし"部品である可能性や、マスタ部品１０に何らかの異常がある可能性が高いためである。マスタ部品１０が"成りすまし"部品である場合は、常にステップＳ５１６での判定結果が"ＮＯ"となるので、"成りすまし"部品がマスタ部品１０として動作してしまう不都合を低減できる。マスタ部品１０に何らかの異常がある場合は、マスタ部品１０のリセットにより該異常を除去できる可能性がある。
【０１１５】
図４及び図５に示す処理によれば、マスタ処理装置１２は、初期化認証処理でマスタ部品１０側での認証が失敗した場合は、その後のアクセサリスイッチのオフイベントまで、単独で動作できる。これにより、初期化認証処理でマスタ処理装置１２側での認証が失敗した場合、"成りすまし"の可能性があるスレーブ部品２０からマスタ部品１０を切り離してマスタ部品１０だけを動作させることができる。また、図４及び図５に示す処理によれば、周期認証処理でマスタ部品１０側及びスレーブ部品２０側のいずれかで認証が失敗した場合には、マスタ部品１０をリセットできる。これにより、リセットにより、リセット後の初期化認証処理において相互認証が成功した場合は、マスタ部品１０及びスレーブ部品２０による協動した動作を回復させることが可能となる。
【０１１６】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０１１７】
例えば、上述した実施例では、通信線２を介して情報を交換する２つの認証対象装置は、マスタ部品１０とスレーブ部品２０であり、主従関係があるが、これに限られない。通信線２を介して情報を交換する２つの認証対象装置は、対等な関係であってもよい。この場合、スレーブ部品２０についても、車両ネットワーク９０に直接接続されてよい。また、この場合、マスタ部品１０は、初期化認証処理において認証側として行う認証が失敗した場合に、スレーブ部品２０をリセットさせてもよい。
【０１１８】
また、上述した実施例では、マスタ部品１０とスレーブ部品２０とは、有線の通信路（通信線２）を介して情報を交換しているが、これに限られない。マスタ部品１０とスレーブ部品２０間で情報を交換するための通信路は、無線の通信路（伝送路）であってもよい。また、マスタ部品１０とスレーブ部品２０間で情報を交換するための通信路は、無線の通信路と有線の通信路の組み合わせであってもよい。
【０１１９】
また、上述した実施例では、マスタ部品１０には、単一のスレーブ部品２０が接続されるが、これに限られない。マスタ部品１０には、スレーブ部品２０と同様の第２のスレーブ部品が、スレーブ部品２０と同様の態様で接続されてもよい。この場合も、マスタ部品１０と第２のスレーブ部品との間で、マスタ部品１０とスレーブ部品２０との間で行う相互認証と同様に相互認証を実現できる。
【０１２０】
また、上述した実施例では、マスタ部品１０とスレーブ部品２０との間の１対１の相互認証を実現しているが、これに限られない。本発明は、１対多の相互認証にも適用できる。例えば、マスタ部品１０には、相互認証の対象となる２つ以上の車載装置が、車両ネットワーク９０を介して接続されてもよい。この場合、マスタ部品１０と２つ以上の車載装置のそれぞれとの間の相互認証用の情報の交換は、車両ネットワーク９０を介して実現できる。例えば車両ネットワーク９０がＣＡＮの場合、マスタ部品１０から２つ以上の車載装置のそれぞれへの認証コマンドは、共通のメッセージを用いて送信できる。即ち、２つ以上の車載装置が受信できるＣＡＮ＿ＩＤを持つメッセージを用いることで、１回の相互認証あたりに必要な、マスタ部品１０から送信すべきメッセージの数を、低減できる。
【０１２１】
また、上述した実施例では、マスタ部品１０及びスレーブ部品２０は、共に車載装置であるが、これに限られない。例えば、スレーブ部品２０は、車両内にユーザにより持ち込まれる携帯端末であってもよい。この場合、携帯端末には、上記のような処理を行うための認証アプリケーションが例えばサーバ（図示せず）からダウンロードされる。この場合、サーバは、ユーザ情報と紐付けてハッシュ関数を管理し、ネットワークを介して、ユーザの携帯端末に認証アプリケーション及びハッシュ関数を与えると共に、該ユーザの車両のマスタ部品１０に、該携帯端末用のハッシュ関数を与えてよい。
【０１２２】
また、上述した実施例において、マスタ部品１０及びスレーブ部品２０の間の相互認証には、乱数データに加えて、Ｎ個（Ｎ≧２）の符号化パターンが利用されてもよい。この場合、起動認証コマンドＣ１に含められる認証応答要求＿マスタは、乱数データＲ１に加えて、Ｎ個の符号化パターンのうちの選択された一の符号化パターンＫｉを含む。スレーブ処理装置２２は、起動認証コマンドＣ１を受信すると、認証応答要求＿マスタに係る符号化パターンＫｉにて乱数データＲ１を符号化し、符号化して得られるデータのハッシュ値を算出することで、起動認証コマンドＣ２に含める認証応答＿マスタを生成する。この場合、マスタ処理装置１２は、スレーブ部品２０からの認証応答＿マスタに係るハッシュ値と、自身が符号化パターンＫｉを用いて乱数データＲ１を符号化して得られるデータのハッシュ値とを比較することで、認証判定を行うことができる。これは、他の認証判定（スレーブ処理装置２２での認証判定を含む）においても同様である。
【０１２３】
また、上述した実施例では、マスタ処理装置１２は、起動認証コマンドＣ２を受信したことによる認証判定の際に、記憶部１４内のハッシュ関数に基づいて、乱数データＲ１のハッシュ値を算出しているが、これに限られない。即ち、マスタ処理装置１２は、起動認証コマンドＣ２を受信する前に、記憶部１４内のハッシュ関数に基づいて、乱数データＲ１のハッシュ値を算出しておいてもよい。例えば、マスタ処理装置１２は、乱数データＲ１を生成した時点で、乱数データＲ１のハッシュ値を算出しておいてもよい。これは、他の認証判定（スレーブ処理装置２２での認証判定を含む）においても同様である。
【０１２４】
また、上述した実施例では、周期認証コマンドＣ４は、上述した通知機能も有しているが、これに限られない。例えば、一の変形例では、上述した通知機能が別のコマンドにより実現される。即ち、変形例では、初期認証処理におけるスレーブ部品２０側の認証が成功したことをマスタ処理装置１２に通知する別の通知コマンドが、周期認証コマンドＣ４に先立ってスレーブ部品２０からマスタ部品１０に送信される。この場合も、依然として比較例（図３Ａ参照）に比べて、初期化認証処理で行うマスタ部品１０とスレーブ部品２０との間の通信回数を低減できる。これは、比較例（図３Ａ参照）の場合も、同様の通知コマンドが必要であるためである。また、かかる変形例では、周期認証処理は、スレーブ部品２０が周期認証コマンドＣ４をマスタ部品１０に送ることで開始される態様でなくてもよい。例えば、周期認証処理は、マスタ部品１０が、起動認証コマンドＣ１と同様の周期認証コマンドＺ１を送信することで開始されてもよい。この場合、スレーブ部品２０は、周期認証コマンドＺ１に対して、周期認証コマンドＣ６に相当する周期認証コマンドＺ２をマスタ部品１０に送信する。そして、マスタ部品１０は、周期認証コマンドＺ２に対して、周期認証コマンドＣ５に相当する周期認証コマンドＺ３をスレーブ部品２０に送信し、以降、スレーブ部品２０は、周期認証コマンドＺ３に対して周期認証コマンドＺ２の送信を、マスタ部品１０は、周期認証コマンドＺ２に対して周期認証コマンドＺ３の送信を、それぞれ繰り返す。
【０１２５】
また、上述した実施例では、図４に示す例において、ステップＳ４０９の判定結果が"ＮＯ"の場合は、ステップＳ４１６に進むが、これに限られない。例えば、ステップＳ４０９の判定結果が"ＮＯ"の場合は、ステップＳ４４６に進み、リセットによるリトライが実行されてもよい。そして、リトライの結果、依然としてステップＳ４０９の判定結果が"ＮＯ"の場合は、ステップＳ４１６に進むこととしてもよい。
【０１２６】
また、上述した実施例では、初期化認証処理及び周期認証処理が実行されるが、これに限られない。例えば、初期化認証処理のみが実行されてもよい。
【符号の説明】
【０１２７】
１  車両用認証システム
２  通信線
１０  マスタ部品
１２  マスタ処理装置
１４  記憶部
２０  スレーブ部品
２２  スレーブ処理装置
２４  記憶部
４０  車載ディスプレイ
４２  入力装置
５０  空調装置
９０  車両ネットワーク
【図１】
2018085625.tif 000003
【図２Ａ】
2018085625.tif 000004
【図２Ｂ】
2018085625.tif 000005
【図３Ａ】
2018085625.tif 000006
【図３Ｂ】
2018085625.tif 000007
【図４】
2018085625.tif 000008
【図５】
2018085625.tif 000009