(57)【要約】  車載制御装置に対する維持管理作業を実施するための維持管理ツールが第３者によって悪用されることを防ぐ。  本発明に係る認証システムにおいて、認証装置は操作端末（維持管理ツールに相当する）の操作者を認証し、操作端末は認証装置が生成した認証符号を車載制御装置へ転送する。車載制御装置はその認証符号を用いて、操作端末が維持管理操作を実施することを許可するか否か判断する。
2015129352.tif 000002
【特許請求の範囲】
【請求項１】
車両の動作を制御する車載制御装置を維持管理するために用いる操作端末を認証する認証システムであって、
前記認証システムは、通信回線を介して前記操作端末と接続され前記操作端末を操作する操作者を認証する認証装置、および前記車載制御装置を備え、
前記車載制御装置は、前記操作端末が前記車載制御装置を維持管理する操作を実施することを許可するか否かを判定するように構成されており、
前記認証装置と前記車載制御装置は、
互いに同期して変化する変動符号を生成する変動符号生成源、
前記認証装置と前記車載制御装置との間で共有する前記車両に固有の共通鍵を格納する記憶部、
前記変動符号と前記共通鍵を用いて認証符号を生成する認証符号生成器、
をそれぞれ備え、
前記認証装置は、
前記操作端末から認証要求を受け取ると前記操作者を認証し、
前記操作者の認証が成功すると、前記操作端末から前記共通鍵を特定する情報を取得し、前記変動符号と前記共通鍵を用いて前記認証符号を生成して前記操作端末へ送信し、  前記操作端末は、前記認証装置から受け取った前記認証符号を前記車載制御装置へ送信し、
前記車載制御装置は、前記変動符号と前記共通鍵を用いて前記認証符号を生成し、生成した前記認証符号と前記操作端末から受け取った前記認証符号とが一致する場合は、前記操作端末が前記車載制御装置を維持管理する操作を実施することを許可する
ことを特徴とする認証システム。
【請求項２】
前記変動符号生成源は、前記認証装置と前記車載制御装置との間で同期した時刻を前記変動符号として生成し、
前記認証符号生成器は、前記認証装置と前記車載制御装置との間で共有するハッシュ関数を、前記変動符号と前記共通鍵に対して適用することにより、前記認証符号としてワンタイムパスワードを生成する
ことを特徴とする請求項１記載の認証システム。
【請求項３】
前記変動符号生成源は、前記認証装置と前記車載制御装置が同期して受信することができる情報を前記変動符号として用い、
前記認証符号生成器は、前記認証装置と前記車載制御装置との間で共有するハッシュ関数を、前記変動符号と前記共通鍵に対して適用することにより、前記認証符号としてワンタイムパスワードを生成する
ことを特徴とする請求項１記載の認証システム。
【請求項４】
前記変動符号生成源は、前記認証符号生成器が前記認証符号を生成した回数を特定する情報を前記変動符号として用い、
前記認証符号生成器は、前記認証装置と前記車載制御装置との間で共有するハッシュ関数を前記共通鍵に対して前記回数重畳して適用して得られた重畳符号を前記変動符号と前記共通鍵に代えて用い、前記認証符号としてワンタイムパスワードを生成する
ことを特徴とする請求項１記載の認証システム。
【請求項５】
前記認証符号生成器は、前記認証符号を生成した回数を前記記憶部に格納し、次回前記認証符号を生成するときは、前記共通鍵に対して前記認証装置と前記車載制御装置との間で共有するハッシュ関数を前記格納した回数だけ重畳適用して得られた重畳符号を、前記変動符号と前記共通鍵に代えて用いる
ことを特徴とする請求項４記載の認証システム。
【請求項６】
前記認証符号生成器は、前記重畳符号を前記記憶部に格納し、次回前記認証符号を生成するときは、前記格納した前記重畳符号に対して前記認証装置と前記車載制御装置との間で共有するハッシュ関数を１回のみ適用して再格納した重畳符号を、前記変動符号と前記共通鍵に代えて用いる
ことを特徴とする請求項４記載の認証システム。
【請求項７】
前記車載制御装置の前記認証符号生成器は、生成した前記認証符号と前記操作端末から受け取った前記認証符号とが一致しない場合は、その旨を記述した認証エラーデータを前記操作端末へ送信し、
前記操作端末は、前記認証エラーデータを前記認証装置へ転送する
ことを特徴とする請求項４記載の認証システム。
【請求項８】
前記認証装置と前記車載制御装置がそれぞれ備える前記認証符号生成器は、前記変動符号と前記共通鍵に加えて前記操作端末に固有の端末ＩＤを用いて前記認証符号を生成する  ことを特徴とする請求項１記載の認証システム。
【請求項９】
車両の動作を制御する車載制御装置であって、
前記車載制御装置を維持管理するために用いる操作端末を操作する操作者を認証する認証装置が生成する変動符号と同期して変化する変動符号を生成する変動符号生成源、
前記認証装置と前記車載制御装置との間で共有する前記車両に固有の共通鍵を格納する記憶部、
前記変動符号と前記共通鍵を用いて認証符号を生成する認証符号生成器、
を備え、
前記認証符号生成器は、
前記操作端末から前記認証符号を受け取り、
前記変動符号と前記共通鍵を用いて前記認証符号を生成し、生成した前記認証符号と前記操作端末から受け取った前記認証符号とが一致する場合は、前記操作端末が前記車載制御装置を維持管理する操作を実施することを許可する
ことを特徴とする車載制御装置。
【請求項１０】
前記変動符号生成源は、前記認証装置と前記車載制御装置との間で同期した時刻を前記変動符号として生成し、
前記認証符号生成器は、前記認証装置と前記車載制御装置との間で共有するハッシュ関数を、前記変動符号と前記共通鍵に対して適用することにより、前記認証符号としてワンタイムパスワードを生成する
ことを特徴とする請求項９記載の車載制御装置。
【請求項１１】
前記変動符号生成源は、前記認証装置と前記車載制御装置が同期して受信することができる情報を前記変動符号として用い、
前記認証符号生成器は、前記認証装置と前記車載制御装置との間で共有するハッシュ関数を、前記変動符号と前記共通鍵に対して適用することにより、前記認証符号としてワンタイムパスワードを生成する
ことを特徴とする請求項９記載の車載制御装置。
【請求項１２】
前記変動符号生成源は、前記認証符号生成器が前記認証符号を生成した回数を特定する情報を前記変動符号として用い、
前記認証符号生成器は、前記認証装置と前記車載制御装置との間で共有するハッシュ関数を前記共通鍵に対して前記回数重畳して適用して得られた重畳符号を前記変動符号と前記共通鍵に代えて用い、前記認証符号としてワンタイムパスワードを生成する
ことを特徴とする請求項９記載の車載制御装置。
【請求項１３】
前記認証符号生成器は、前記重畳符号を前記記憶部に格納し、次回前記認証符号を生成するときは、前記格納した前記重畳符号に対して前記認証装置と前記車載制御装置との間で共有するハッシュ関数を１回のみ適用して再格納した重畳符号を、前記変動符号と前記共通鍵に代えて用いる
ことを特徴とする請求項１２記載の車載制御装置。
【請求項１４】
前記認証符号生成器は、生成した前記認証符号と前記操作端末から受け取った前記認証符号とが一致しない場合は、その旨を記述した認証エラーデータを前記操作端末へ送信する
ことを特徴とする請求項１２記載の車載制御装置。
【請求項１５】
前記認証符号生成器は、前記変動符号と前記共通鍵に加えて前記操作端末に固有の端末ＩＤを用いて前記認証符号を生成する
ことを特徴とする請求項９記載の車載制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の動作を制御する車載制御装置を維持管理するために用いる操作端末を認証する技術に関する。
【背景技術】
【０００２】
近年、車載制御装置はソフトウェアが高度化・大規模化し、制御処理も多機能化されている。これにともない、調整用データを設定する機能、デバッグ機能、制御ソフトウェア自体を更新する機能など、維持管理操作を実施するための機能が付加されることが一般的となっている。この維持管理操作は、車載制御装置を外部操作端末と接続し、オペレータがその操作端末（維持管理ツールとも呼ぶ）を操作することによって実施する。車載制御装置は、自身の記憶装置からデータを読み出して操作端末へ出力し、あるいは操作端末からデータを取得して自身の記憶装置へ書き込む。【０００３】
維持管理ツールが車載制御装置の記憶装置から読み出すデータとしては、例えば自己診断履歴や動作ログなどのように、トラブルシュートを実施するためのデータがある。維持管理ツールが車載制御装置の記憶装置に書き込むデータとしては、例えば製品出荷前のメーカにおいて車両ごとに異なるデバイス調整値、製品出荷後のメーカ指定のディーラにおいて制御ソフトウェアを更新（ファームウェアの再書き込み）する際の更新データ、などがある。制御ソフトウェアを更新する作業は、リコールやサービスキャンペーンなどと称して実施される場合がある。これら維持管理機能は、メーカやメーカが許可した整備工場を有するディーラなどに限定して許可されており、一般ユーザには解放されていない。【０００４】
車載制御装置は、特に自動車の制御を受け持つという特性上、ソフトウェアやデータを安易に変更すると故障や事故につながる可能性がある。また、情報セキュリティ上の観点においても、安易な変更は車両上に存在する個人財産を脅かす可能性がある。例えば、電子キーを無効化することによって車両盗難がやり易くなる可能性がある。また、ナビゲーション内に格納されている自宅データの個人情報を収集される可能性が考えられる。その他、ＥＴＣ（Ｅｌｅｃｔｒｏｎｉｃ  Ｔｏｌｌ  Ｃｏｌｌｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）機器から個人のクレジット番号が盗まれることも考えられる。したがって維持管理ツールは、一般ユーザに流出してはならないし、有資格者以外が容易に操作できるような代物であってはならない。【０００５】
下記特許文献１に記載されている技術においては、維持管理ツールは位置情報を計測する機能を備え、維持管理ツールが所定の緯度経度範囲内に存在する場合に限り認証サーバが維持管理ツールを認証する。維持管理ツールの位置情報を確認することにより、例えば維持管理ツールが盗難にあったとしても、悪意の第三者に使用されることを未然に防止することを図っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−０１５８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
＜ツールの高価格化と効率低下＞
上記特許文献１においては、従来と同様に認証システムの構成要素の一部が維持管理ツール内に格納されている。すなわち、認証システムを高度化するためにはハードウェア的な機能増加（例えば位置情報計測機能の追加等）が必要となるので、維持管理ツールのコストが増加すると考えられる。また維持管理ツールを測位する必要があるため、操作者が維持管理作業を開始するまでのリードタイムが増加する可能性がある。【０００８】
＜リバースエンジニアリングへの危惧＞
上記特許文献１においては、認証コードを発行する役目を担うセンタと通信するために用いられるメッセージ認証コード（ＭＡＣ：Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）用の秘密鍵が、維持管理ツール内に格納されている。そのため、維持管理ツールが盗難されたとき、リバースエンジニアリングよりその秘密鍵が漏えいする可能性がある。【０００９】
＜測位システムの信頼性＞
近年、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を用いた屋内測位技術（ＩＭＥＳ：Ｉｎｄｏｏｒ  Ｍｅｓｓａｇｉｎｇ  Ｓｙｓｔｅｍ）の発展により、位置情報を偽装するために悪用することができる市販のＧＰＳ信号発生器が一般に知られるようになっている。また、別の攻撃方法として次の事実が挙げられる。維持管理ツール内部のＧＰＳ受信機は、コスト上昇を抑制する観点から汎用（一般市販）のＧＰＳ受信モジュールを使用すると考えられる。このようなＧＰＳ受信モジュールは、ツールのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）との間のインターフェースが規格化されており、ＮＭＥＡ（全米船舶用電子機器協会：Ｎａｔｉｏｎａｌ  Ｍａｒｉｎｅ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ａｓｓｏｃｉａｔｉｏｎ）  ０１８３という標準規格に準拠した通信プロトコルが採用されている。ＮＭＥＡ  ０１８３は同協会が定めたキャラクタベースの通信規格である。したがって、維持管理ツールのＣＰＵに対してＧＰＳ受信モジュールから送られる信号を上記規格に基づいて偽装することにより、位置情報を容易に偽装することができる。これにより測位結果に対する信頼性が揺らぐ。【００１０】
＜チャレンジをレスポンスに変換する関数（ハッシュ関数）の脆弱性＞
上記特許文献１においては、対象機器から維持管理ツールへ信号を伝達する界面において、対象機器が生成したチャレンジをキャプチャしモニタすることができる。また、これと対応するレスポンスを、センタから維持管理ツールへ信号を伝達する界面において、キャプチャしモニタすることができる。したがって、維持管理ツールを不正入手した第３者は、チャレンジとレスポンスの組を記録することができる。これは内部ハッシュ関数を類推する糸口を与えることになるので、セキュリティシステムにとって脆弱性となる可能性がある。また、上記特許文献１において対象機器はチャレンジを生成するときに擬似乱数を生成するが、擬似乱数は（暗号学的な真性乱数と異なり）周期性を有するため、１周期のチャレンジ＆レスポンスの組を全て記録することにより、レスポンスを偽装される可能性がある。さらには、他車両・他車載制御装置の擬似乱数発生機構も共通である場合、上記のような総当り攻撃は他の車両に対して流用することができる。【００１１】
本発明は、上記のような課題に鑑みてなされたものであり、車載制御装置に対する維持管理作業を実施するための維持管理ツールが第３者によって悪用されることを防ぐことを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る認証システムにおいて、認証装置は操作端末（維持管理ツールに相当する）の操作者を認証し、操作端末は認証装置が生成した認証符号を車載制御装置へ転送する。車載制御装置はその認証符号を用いて、操作端末が維持管理操作を実施することを許可するか否か判断する。
【発明の効果】
【００１３】
本発明に係る認証システムによれば、操作端末内部に認証情報や認証機構を格納する必要がないので、操作端末が紛失もしくは盗難にあったとしても、第３者に悪用されるリスクを抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態１に係る認証システムの構成を示す図である。
【図２】実施形態１に係る認証システムが維持管理ツール１０３を認証する動作を説明するシーケンス図である。
【図３】図２のシーケンスをＳＤＬフローチャートとして示したものである。
【図４】実施形態２に係る認証システムが維持管理ツール１０３を認証する動作を説明するシーケンス図である。
【図５】実施形態３に係る認証システムが維持管理ツール１０３を認証する動作を説明するシーケンス図である。
【図６】図５のシーケンスをＳＤＬフローチャートとして示したものである。
【発明を実施するための形態】
【００１５】
＜実施の形態１＞
図１は、本発明の実施形態１に係る認証システムの構成を示す図である。車載制御装置１００は、いわゆるＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）と称される組込型電子制御装置であり、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの車載ネットワーク１０５に接続し他の車載制御装置とデータを送受信しながら車両を制御する。
【００１６】
維持管理ツール１０３は、接続用コネクタ１０４を介して車載ネットワーク１０５に接続することができる。接続用コネクタ１０４は、車載ネットワーク１０５から直接分岐して引き出されることもあるし、セキュリティ上の配慮から車載通信用ゲートウェイ（図示せず）を介して提供されることもある。
【００１７】
維持管理ツール１０３を認証する従来の方式においては、車載制御装置１００と維持管理ツール１０３が１対１で認証するのが一般的である。しかしこの場合は、認証に必要な情報が維持管理ツール１０３内に格納されるので、維持管理１０３ツールが盗難・紛失にあった場合は悪意の第３者がその認証情報を使用して車載ネットワーク１０５に不正アクセスする恐れがある。
【００１８】
そこで本実施形態１においては、車載制御装置１００が維持管理ツール１０３を認証するのではなく、維持管理ツール１０３を操作する操作者１０７を本人認証する。これにより維持管理ツール１０３が自身の認証情報を保持する必要がなくなるので、維持管理ツール１０３が盗難・紛失にあっても認証情報は漏洩せず、セキュリティ強度をより高められると考えられる。
【００１９】
維持管理ツール１０３は認証情報を保持していないので、操作者１０７を本人認証するための手段を別途設ける必要がある。車載制御装置１００内に操作者１０７を認証する機能を設けると、車載制御装置１００が認証データベースを備える必要があり、さらに車載制御装置１００の筐体などにキーボードのようなマン・マシン・インターフェースを設ける必要があるので、現実的ではない。そこで本実施形態１に係る認証システムは、維持管理ツール１０３と通信回線によって接続された認証サーバ１０１を備え、認証サーバ１０１は操作者１０７を本人認証する第１認証部１１１を備える。
【００２０】
第１認証部１１１は、後述するシグナルｓ１１０を受け取り、そのシグナルを用いて、操作者１０７が維持管理ツール１０３を操作する権限をもった本人であるか否かを確認する。認証方式としては、例えばユーザＩＤ＆パスワードによるものでもよいし、操作者１０７の勤休管理や作業管理とリンクしたＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）を用いた認証を利用してもよい。その他適当な認証方式を用いてもよい。
【００２１】
操作者１０７が認証情報を提供する際に用いるマン・マシン・インターフェース（キーボード等）としては、例えば認証サーバ１０１と接続した業務用パソコン１０６を用いてもよいし、維持管理ツール１０３を認証サーバ１０１に直接接続して維持管理ツール１０３上のソフトウェアキーボードなどのマン・マシン・インターフェースを用いてもよい。いずれの場合であっても、維持管理ツール１０３自身は認証情報を保持していないので、操作者１０７を本人認証するための認証情報は別途提供する必要がある。
【００２２】
認証サーバ１０１は、操作者１０７の本人認証に成功すると、作業対象の車両を特定する車両ＩＤを記述したシグナルｓ１２１と、維持管理ツール１０３を特定するツールＩＤを記述したシグナルｓ１３０を収集する。これらの情報は、操作者１０７が業務用パソコン１０６経由で与えてもよいし、あらかじめこれら情報を維持管理ツール１０３内に格納しておき維持管理ツール１０３が認証サーバ１０１に直接接続して人手を介さず送信してもよい。
【００２３】
認証サーバ１０１は、これらの情報に加えて、車載制御装置１００と同期して変動する情報（詳細は後述）を用いて、認証用ワンタイムパスワードを記述したシグナルｓ１４０を生成し、維持管理ツール１０３に対してそのワンタイムパスワードを発行する。発行する形態としては、いったん業務用パソコン１０６に対してこれを発行し操作者１０７がメモリカード（図示せず）などのメディア経由で維持管理ツール１０３に転写することもできるし、維持管理ツール１０３が認証サーバ１０１に直接接続して取得してもよい。
【００２４】
操作者１０７は、認証用ワンタイムパスワード（ｓ１４０）を得た維持管理ツール１０３を、接続用コネクタ１０４と車載ネットワーク１０５を介して車載制御装置１００に接続する。
【００２５】
維持管理ツール１０３は、認証用ワンタイムパスワード（ｓ１４０）と、維持管理ツール１０３を特定するツールＩＤを記述したシグナルｓ１３１を、車載制御装置１００へ送信する。車載制御装置１００は、維持管理ツール１０３を認証する第２認証部１１２を備える。第２認証部１１２は、認証サーバ１０１が操作者１０７を認証した後（すなわち認証サーバ１０１が発行したワンタイムパスワードを用いて）、後述する手順にしたがって維持管理ツール１０３を認証する。この手順によって、操作者１０７が車載制御装置１００に対する維持管理作業を実施する権限を有するか否かが検証される。検証結果がＯＫであれば、車載制御装置１００は維持管理ツール１０３が維持管理操作を実施することを許可する。
【００２６】
第１認証部１１１から第２認証部１１２に向けて発行される認証用ワンタイムパスワード（ｓ１４０）はワンタイムパスワードであるので、これが発行された時間の近傍、もしくは発行された唯一のタイミングでのみ有効である。したがって、このワンタイムパスワードをコピーしても他の認証においてこれを流用することができないので、いわゆるリプレイ攻撃が通用しない利点を持つ。
【００２７】
第１認証部１１１は、例えば認証サーバ１０１のＣＰＵが実行するソフトウェアによって構成することもできるし、同様の機能を実装した回路デバイスなどのハードウェアによって構成することもできる。第２認証部１１２は、後述する認証符号生成器２２０がこれに相当する。
【００２８】
＜実施の形態１：動作シーケンス＞
図２は、本実施形態１に係る認証システムが維持管理ツール１０３を認証する動作を説明するシーケンス図である。図２において、記載の便宜上、維持管理ツール１０３の動作と操作者１０７（または業務用コンピュータ１０６などの操作者１０７が用いる端末）の動作を一体化し、アクティビティ１０２として表記した。以下図２の各ステップについて説明する。
【００２９】
アクティビティ１０２は、認証サーバ１０１に対して、操作者１０７の本人認証情報：ｓ１１０を送信する。認証サーバ１０１は本人認証を完了すると、車両ＩＤ：ｓ１２１とツールＩＤ：ｓ１３０を送信するように、アクティビティ１０２に対して要求する。アクティビティ１０２は、これら情報を認証サーバ１０１に対して送信する。
【００３０】
車両ＩＤ：ｓ１２１は、作業対象の車両を一意に識別する情報であってもよいし、作業対象の車載制御装置１００を一意に識別する情報であってもよい。車両ＩＤを収集する手段としては、操作者１０７が車台に打刻された車台番号を観察することにより取得してもよいし、維持管理ツール１０３を車載制御装置１００に接続して車載制御装置１００から認証非実施時に収集することができる識別情報（図２では車両ＩＤ：ｓ１２０と図示）として取得してもよい。すなわち後述するように、その車両特有のパスコードを認証サーバ１０１内のデータベース２０１から検索することができる情報ならばよい。
【００３１】
認証サーバ１０１は、各車両の車両ＩＤとその車両ＩＤに対応するパスコードとの組を車両ごとに格納したデータベース２０１を備える。データベース２０１はハードディスク装置などの記憶装置を用いて構成することができる。記憶装置認証サーバ１０１は、車両ＩＤ：ｓ１２１を用いてデータベース２０１を検索し、当該車両に対応するパスコードｓｅｅｄ．ｘを見つけ出す。このパスコードと同一のパスコードは、車載制御装置１００内の記憶装置２００内にも格納されており、車載制御装置１００のＣＰＵはこれを参照することができる。パスコードｓｅｅｄ．ｘは、認証サーバ１０１と車載制御装置１００のみが保持し他には公開されていない秘密鍵としての役割を有する。
【００３２】
認証サーバ１０１と車載制御装置１００は、互いに同期した変動符号を生成する変動符号生成源として、互いに同期した時計２１１と２１０をそれぞれ備える。認証サーバ１０１と車載制御装置１００はまた、同一のハッシュ関数を用いて認証符号を生成する認証符号生成器２２１と２２０をそれぞれ備える。認証サーバ１０１は、時計２１１の時刻：ｔｉｍｅ、パスコードｓｅｅｄ．ｘ、およびツールＩＤ：ｓ１３０を用いてハッシュ値ｈａｓｈ（ｔｉｍｅ，ｓｅｅｄ．ｘ，ツールＩＤ）を計算し、ワンタイムパスワード：ｓ１４０として発行する。上記３つの値はビット連結され、１つのビット列としてハッシュ関数ｈａｓｈ（）に代入される。
【００３３】
ハッシュ関数ｈａｓｈ（）は、任意の長さのデータを固定長（１２８〜５１２ビット程度）のデータに圧縮する、下記（１）〜（３）の性質を持つ暗号学的関数である：
（１）一方向性：出力値から入力値を発見することが困難である。すなわち、あるハッシュ値ｈが与えられたとき、ｈ＝ｈａｓｈ（ｍ）を満たす任意のｍを求めることが困難でなければならない；
（２）第２原像計算困難性：ある入力値と同じハッシュ値となるような別の入力を求めることが困難である。すなわち、あるｍについて、ｈａｓｈ（ｍ）＝ｈａｓｈ（ｍ’）となるようなｍ’（ただし、ｍ≠ｍ’）を求めるのが困難でなければならない； 
（３）衝突困難性：同じ出力値を生成する２つの入力値を発見することが困難である。すなわち、ｈａｓｈ（ｍ）＝ｈａｓｈ（ｍ’）（ただし、ｍ≠ｍ’）を満たすｍとｍ’を求めることが困難でなければならない。
【００３４】
認証符号生成器２２１と２２０は、同一のハッシュ関数ｈａｓｈ（）を秘密裏に共有している。ハッシュ関数ｈａｓｈ（）を認証サーバ１０１と車載制御装置１００との間で対にして変更することにより、暗号強度を増強して危殆化に対応することができる。維持管理ツール１０３はワンタイムパスワード：ｓ１４０を転送するのみであるため、ハッシュ関数ｈａｓｈ（）を変更してもアクティビティ１０２は影響を受けない。すなわち維持管理ツール１０３の交換や改修は不要である。なお暗号の危殆化とは、暗号アルゴリズムの安全性のレベルが低下した状況、または、その影響により暗号アルゴリズムが組み込まれているシステムなどの安全性が脅かされる状況を言う。
【００３５】
車載制御装置１００において、認証符号生成器２２０は、維持管理ツール１０３が送信したツールＩＤ：ｓ１３１、当該車両独自のパスコードｓｅｅｄ．ｘ、および時計２１０の時刻：ｔｉｍｅを、認証サーバ１０１と同じハッシュ関数ｈａｓｈ（）に代入し、ハッシュ値ｈａｓｈ（ｔｉｍｅ，ｓｅｅｄ．ｘ，ツールＩＤ）を計算する（ｐ２４０）。
【００３６】
認証符号生成器２２０は、計算したハッシュ値と、維持管理ツール１０３より取得したワンタイムパスワード：ｓ１４０とを比較し、両者が一致した場合はアクティビティ１０２の真正性が検証できたと判断して維持管理作業を許可する。
【００３７】
認証サーバ１０１がワンタイムパスワード：ｓ１４０を発行してから車載制御装置１００がハッシュ値を生成するまでの間において、時計２１１と２１０それぞれの時刻は同一でなければならない。例えば時計２１１と２１０はそれぞれ分単位や時間単位で周期的に変化する時刻を生成し、その１周期の間においては各時計の時刻が変化しないようにする。維持管理ツール１０３を認証するシーケンスは、各時計の時刻が変化しない間に実施すればよい。認証サーバ１０１がワンタイムパスワード：ｓ１４０を発行してから車載制御装置１００がハッシュ値を生成するまでの間に時刻が進んだ場合は、認証サーバ１０１がワンタイムパスワード：ｓ１４０を発行するステップに戻って改めて認証シーケンスを実施することが必要となる。
【００３８】
認証サーバ１０１は、アクティビティ１０２から取得した情報を基にしてログ２３０を採取することができる。ログ２３０には、操作者１０７の本人ＩＤ・ワンタイムパスワード発行時刻・車両ＩＤ・ツールＩＤなどの情報を記録することができる。これら情報は、何らかの不正行為が発覚した場合に操作者１０７や影響を受ける車両を特定する資料となる。
【００３９】
車載制御装置１００側の時計２１０は、必ずしも車載制御装置１００上に搭載されている必要は無く、例えば車載ネットワーク１０５を通じて他のＥＣＵに時刻を問い合わせることができればそれを流用してもよい。認証サーバ１０１側の時計２１１と時刻を同期させる手段としては、例えばＧＰＳ信号の受信、インターネット上のＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）サーバへのアクセス、などが考えられる。
【００４０】
図３は、図２のシーケンスをＳＤＬ（Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）フローチャートとして示したものである。図３において、車載制御装置１００のフローｔ１００、アクティビティ１０２のフローｔ１０２、認証サーバ１０１のフローｔ１０１、それらの間のイベント伝達や情報授受を矢印で示している。以下、図３に基づき各装置の動作を時系列順に解説する。図３において、小文字のｔはフローツリーを意味し、小文字のｐはプロセスを意味し、小文字のｓはシグナルを意味し、小文字のｅは処理の終わり（エンドプロセス）を意味する。
【００４１】
（図３：プロセスｐ３００〜ｐ３０２）
アクティビティ１０２は、操作者１０７の本人認証情報：ｓ１１０を認証サーバ１０１に対して発行する（ｐ３００）。認証サーバ１０１は、本人認証情報：ｓ１１０を用いて本人認証を実施する（ｐ３０１）。本人認証に成功した場合は次のプロセスへ進み、失敗した場合はエンドプロセスｅ１０１に進んで本フローを終了する（ｐ３０２）。
【００４２】
（図３：プロセスｐ３０３〜ｐ３０４）
認証サーバ１０１は、アクティビティ１０２に対して車両ＩＤ：ｓ１２１とツールＩＤ：ｓ１３０を送信するよう要求する（ｐ３０３）。アクティビティ１０２は、これら信号を認証サーバ１０１に対して送信する（ｐ３０４）。
【００４３】
（図３：プロセスｐ３０５〜ｐ３０８）
認証符号生成器２２１は、アクティビティ１０２から取得した車両ＩＤを用いてパスコード（ｓｅｅｄ．ｘ）を検索する（ｐ３０５）。認証符号生成器２２１は、時計２１１の時刻ｔｉｍｅをサンプリングする（ｐ３０６）。認証符号生成器２２１は、ワンタイムパスワード：ｓ１４０を生成し、アクティビティ１０２に対して送信する（ｐ３０７）。認証符号生成器２２１は、ログ２３０を出力する（ｐ３０８）。
【００４４】
（図３：プロセスｐ３０９〜ｐ３１０）
維持管理ツール１０３は、認証サーバ１０１が送信したハッシュ値を受け取り、サーバｈａｓｈ値として記憶する（ｐ３０９）。維持管理ツール１０３は、車載制御装置１００に対してツールＩＤ：ｓ１３１を送信する（ｐ３１０）。
【００４５】
（図３：プロセスｐ３１１〜ｐ３１２）
車載制御装置１００は、維持管理ツール１０３が送信したツールＩＤを受け取ると、維持管理ツール１０３から認証要求があったとみなし、以後の認証プロセスを開始する（ｐ３１１）。認証符号生成器２２０は、維持管理ツール１０３から受け取ったツールＩＤが記憶装置２００内にあらかじめ格納されているツールＩＤと合致するか否か確認する（ｐ３１２）。合致しない場合は維持管理ツール１０３が誤接続されたものとみなし、エンドプロセスｅ１００に進んで本フローチャートを終了（認証棄却）する。合致する場合はプロセスｐ３１３に進む。
【００４６】
（図３：プロセスｐ３１３〜ｐ３１４）
認証符号生成器２２０は、時計２１０の時刻：ｔｉｍｅをサンプリングする（ｐ３１３）。認証符号生成器２２０は、記憶装置２００内にあらかじめ格納されているパスコード（ｓｅｅｄ．ｘ）、時刻：ｔｉｍｅ、およびツールＩＤをハッシュ関数ｈａｓｈ（）に代入してハッシュ値を算出する（ｐ３１４）。
【００４７】
（図３：プロセスｐ３１５〜ｐ３１６）
認証符号生成器２２０は、維持管理ツール１０３からワンタイムパスワード：ｓ１４０が送信されてくるのを待機する（ｐ３１５）。維持管理ツール１０３は、認証サーバ１０１から受信したワンタイムパスワード：ｓ１４０を車載制御装置１００へ転送する（ｐ３１６）。
【００４８】
（図３：プロセスｐ３１７）
認証符号生成器２２０は、維持管理ツール１０３から受け取ったワンタイムパスワード：ｓ１４０と、プロセスｐ３１４で計算したｈａｓｈ値とが一致するか否か判定する。一致する場合はプロセスｐ３１８に進み、一致しない場合はエンドプロセスｅ１００に進んで本フローチャートを終了（認証棄却）する。
【００４９】
（図３：プロセスｐ３１８〜ｐ３１９）
認証符号生成器２２０は、認証許可した旨を示すシグナルｓ３００を維持管理ツール１０３へ送信する（ｐ３１８）。維持管理ツール１０３は、プロセスｐ３１６以降はシグナルｓ３００を待機しており、シグナルｓ３００を受け取ると認証許可されたものと判断して維持管理操作を開始する（ｐ３１９）。認証符号生成器２２０が生成したハッシュ値がワンタイムパスワード：ｓ１４０と一致しない場合、認証符号生成器２２０はプロセスｐ３１８において、シグナルｓ３００を用いてその旨を通知する。
【００５０】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る認証システムにおいて、認証処理のために必要な共通鍵や共通ハッシュ関数は、車載制御装置１００と認証サーバ１０１のみが保持し、維持管理ツール１０３はこれらを保持していない。そのため、維持管理ツール１０３を管理するためのコスト、維持管理ツール１０３のセキュリティを増強させるためのコスト、不要となった維持管理ツール１０３を情報漏洩なく処分するためのコスト、などが不要となる。また、車両の車種・年式ごとに暗号強度を変更することにより、暗号の危殆化に対して即座に対処できる。
【００５１】
本実施形態１に係る認証システムによれば、維持管理ツール１０３は認証情報や秘密鍵などを保持しないので、ツールベンダー（維持管理ツール１０３を製造するメーカ）に対してこれらを開示する必要がない。車載制御装置１００のメーカとツールベンダーとの間で秘密裏に共有する情報を削減することは、秘密情報の拡散防止の観点から、従来よりも好ましい取引形態といえる。
【００５２】
本実施形態１に係る認証システムにおいて、認証サーバ１０１は、維持管理ツール１０３が保持している認証情報を用いて維持管理ツール１０３本体を認証するのではなく、操作者１０７に対して本人認証を実施する。そのため、複数の操作者１０７が同一の維持管理ツール１０３を使用する場合であっても、操作者１０７毎に認証権限を制御することができる。また操作者１０７に対して本人認証を実施するので、認証サーバ１０１は操作者１０７毎のアクセス記録（車載制御装置１００に対する作業記録）を採ることができる。これにより、不正アクセスに対する牽制効果を与えることができる。
【００５３】
本実施形態１において、認証符号生成器２２０と２２１は、維持管理ツール１０３のツールＩＤを使用してハッシュ値を生成しているが、このツールＩＤは必ずしも使用する必要はない。すなわち、維持管理ツール１０３から車載制御装置１００に対してツールＩＤを送信するプロセス（ｐ３１０〜ｐ３１２）を省略し、時計２１０および２１１の時刻とパスコードをハッシュ関数に代入することによりハッシュ値を生成してもよい。以下の実施形態においても同様である。
【００５４】
＜実施の形態２＞
実施形態１においては、車載制御装置１００と認証サーバ１０１との間で同期して変化する変動符号を生成する変動符号生成源として、互いに同期した時計２１０と２１１を用いた。本発明の実施形態２においては、時計２１０と２１１に代えて、車載制御装置１００と認証サーバ１０１が互いに同期して受信することができる受信データを用いる。本実施形態２における受信データの１例として、ＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ：高度道路交通システム）などの路車間通信において定時配信されるデータを共通知識として用いることができる。
【００５５】
図４は、本実施形態２に係る認証システムが維持管理ツール１０３を認証する動作を説明するシーケンス図である。図４において、認証符号生成器２２０と２２１は、時計２１０と２１１の時刻に代えて受信データ４１０と４１１を用いる。したがって、認証符号生成器２２１と認証符号生成器２２０はともに、ｈａｓｈ（受信データ，ｓｅｅｄ．ｘ，ツールＩＤ）によってハッシュ値を生成する。このハッシュ値は受信データが更新されるまで有効となる。
【００５６】
本実施形態２において、図４に対応するＳＤＬフローチャートは概ね図３と同様であるが、プロセスｐ３０６とｐ３１３は受信データ４１０と４１１を参照するプロセスに置き換えられる。その他の構成およびプロセスは、実施形態１と同様である。
【００５７】
車載制御装置１００が受信データ４１０を取得する手段は、必ずしも車載制御装置１００上に搭載されている必要はなく、例えば車載ネットワーク１０５を通じて他のＥＣＵ（ナビゲーションＥＣＵや路車間通信ＥＣＵ）に問い合わせることができれば、そのデータを流用してもよい。認証サーバ１０１が受信データ４１１を取得する手段は、必ずしも車載制御装置１００が受信データ４１０を取得する手段と同一でなくともよく、受信データ４１０と４１１が同期していることを保障できればよい。
【００５８】
＜実施の形態３＞
本発明の実施形態３においては、車載制御装置１００と認証サーバ１０１との間で同期して変化する変動符号として、時計２１０と２１１に代えて、認証処理を実施した回数を用いる。すなわち、認証符号生成器２２０と２２１は、パスコードの初期値ｉｎｉｔ．ｘに対して、認証処理を実施する毎にハッシュ関数ｈａｓｈ（）を重畳的に適用し、その結果得られた値を実施形態１における時刻：ｔｉｍｅおよびパスコードｓｅｅｄ．ｘに代えて用いる。
【００５９】
本実施形態３において、認証符号生成器２２０と２２１は、実施形態１における時刻：ｔｉｍｅおよびパスコードｓｅｅｄ．ｘに代えて、｛ｈａｓｈ（ｉｎｉｔ．ｘ）｝＾ｎを用いる。これは、パスコード初期値をｉｎｉｔ．ｘとし、認証回数をｎとして、以下の値を求めることに相当する：
｛ｈａｓｈ（ｉｎｉｔ．ｘ）｝＾ｎ≡ｈａｓｈ（ｈａｓｈ（．．．ｈａｓｈ（ｉｎｉｔ．ｘ）．．．））
この値は、ｉｎｉｔ．ｘに対してｎ重のｈａｓｈ処理を実施することにより得られた値に相当する。
【００６０】
図５は、本実施形態３に係る認証システムが維持管理ツール１０３を認証する動作を説明するシーケンス図である。以下では主に、実施形態１と異なる構成について中心に説明する。
【００６１】
本実施形態３において、データベース２０１は、各車両の車両ＩＤ、車両ＩＤに対応するパスコードの初期値、および操作者１０７を認証した回数の組を車両ごとに格納している。認証サーバ１０１は、操作者１０７の本人認証に成功すると、アクティビティ１０２から車両ＩＤ：ｓ１２１を取得し、その車両ＩＤに対応する認証回数をインクリメント（（ｎ−１）→ｎ）する（ｐ６０５）。
【００６２】
認証符号生成器２２１は、その車両ＩＤに対応する初期パスコードｉｎｉｔ．ｘを読み出し、これに対してｈａｓｈ関数をｎ回重畳的に適用して｛ｈａｓｈ（ｉｎｉｔ．ｘ）｝＾ｎを算出する（後述のｐ６０６）。認証符号生成器２２１は、その値を実施形態１におけるパスコードと時刻に代えて用いる。したがって、認証サーバ１０１が生成するワンタイムパスワード：ｓ１４０は、ｈａｓｈ（｛ｈａｓｈ（ｉｎｉｔ．ｘ）｝＾ｎ，ツールＩＤ）となる。
【００６３】
本実施形態３において、記憶装置２００はデータベース２０１と同じ初期パスコードｉｎｉｔ．ｘを格納している。ただし車載制御装置１００は一般に、認証サーバ１０１のような計算パワーを備えていないので、｛ｈａｓｈ（ｉｎｉｔ．ｘ）｝＾ｎを毎回計算することは困難である。そこで認証符号生成器２２０は、ｉｎｉｔ．ｘに対してハッシュ関数を重畳的に適用する毎にその値を前回値５１０として記憶装置２００に格納しておき（ｐ６１３）、認証符号を次回生成するときは前回値５１０に対して１回だけｈａｓｈ関数ｈａｓｈ（）を適用する。これにより、認証サーバ１０１よりも少ない計算量でパスコードの系列を作り出すことができる。
【００６４】
認証符号生成器２２０は、ｉｎｉｔ．ｘに対してｈａｓｈ関数を重畳的に適用した値を得た後は、認証符号生成器２２１と同様にその値とツールＩＤを用いて認証符号を生成する（ｐ５３０〜ｐ５３１）。認証符号生成器２２０は、この認証符号とワンタイムパスワード：ｓ１４０とを比較する。
【００６５】
図６は、図５のシーケンスをＳＤＬフローチャートとして示したものである。図３におけるプロセスｐ３０５〜ｐ３０６に代えてプロセスｐ６０５〜ｐ６０６を設け、プロセスｐ３１３に代えてプロセスｐ６１３を設けた。プロセスｐ６０６とｐ６１３は、ｉｎｉｔ．ｘに対してハッシュ関数を重畳適用した同じ値を求める処理であるが、ｐ６０６においてはｎ回適用するのに対し、ｐ６１３においては前回値５１０に対して１回のみ適用する。
【００６６】
プロセスｐ３１９において、維持管理ツール１０３は、認証棄却する旨のシグナルｓ３００を受け取った場合は、これを認証サーバ１０１へ転送してもよい。認証サーバ１０１はそのシグナルを受け取ると、操作者１０７を次回認証するときにおいて、インクリメントされる前の認証回数を用いてワンタイムパスワード：ｓ１４０が生成されるように、適当な処理を実施する。例えばデータベース２０１が格納している認証回数を直接的にデクリメントしてもよいし、ワンタイムパスワード：ｓ１４０を生成するときに認証回数の値を増減するなどして複数のワンタイムパスワード：ｓ１４０を生成し、それら複数の値を用いて認証を複数回試行してもよい。
【００６７】
＜実施の形態３：まとめ＞
以上のように、本実施形態３に係る認証システムにおいて、認証符号生成器２２０と２２１は、認証処理を実施した回数を互いに同期させ、これを用いて認証符号を生成する。これにより、実施形態１の時計２１０および２１１や実施形態２の受信データ４１０および４１１のように、時間的に変化する情報を利用する必要がなくなり、同期をとるための手段を簡易化することができる。
【００６８】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【００６９】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００７０】
例えば認証符号生成器２２０と２２１、時計２１０と２１１、および受信データ４１０と４１１を取得する手段は、これらの機能を実装した回路デバイスなどのハードウェアによって構成することもできるし、同様の機能を実装したソフトウェアを認証サーバ１０１または車載制御装置１００のＣＰＵが実行することによって構成することもできる。
【符号の説明】
【００７１】
１００：車載制御装置、１０１：認証サーバ、１０３：維持管理ツール、１０４：接続用コネクタ、１０５：車載ネットワーク、１０７：操作者、２００：記憶装置、２０１：データベース、２１０および２１１：時計、２２０および２２１：認証符号生成器、４１０および４１１：受信データ。
【図１】
2015129352.tif 000003
【図２】
2015129352.tif 000004
【図３】
2015129352.tif 000005
【図４】
2015129352.tif 000006
【図５】
2015129352.tif 000007
【図６】
2015129352.tif 000008
【国際調査報告】
2015129352.tif 000009
2015129352.tif 000010