(58)【調査した分野】(Int.Cl.,DB名)
上記インストルメントパネルの上記ワンタイムパスワード表示手段および上記更新内容表示手段は、ディスプレイによって、それぞれ上記表示を行うことを特徴とする請求項1記載のプログラム更新システム。
上記プログラム更新装置は、上記インストルメントパネルに送信するプログラム更新内容および上記ワンタイムパスワード生成手段により生成された上記表示パターンのワンタイムパスワードを暗号化する暗号化手段を有し、
上記インストルメントパネルは、上記暗号化された上記プログラム更新内容および上記ワンタイムパスワードを復号する復号手段を有することを特徴とする請求項1から請求項4のいずれか一項記載のプログラム更新システム。
【背景技術】
【0002】
車両内の各種機器を制御する制御装置は、バージョンアップやバグ修正等により車両が市場に出てからプログラムを更新する機会がある。制御装置のプログラム更新は、ディーラや整備工場にて、専用の書き換えツールを車両ネットワークに接続して行われる。
このときの不正なプログラムの書き込みを防止するための方法として、偽の書き換えツールによる不正侵入防止のため、車両内の装置と書き換えツール間で認証する方法が提案されている(特許文献1)。
【0003】
また、近年では、ディーラや整備工場などに赴くユーザの手間を省くため、外部との通信可能な装置が、車両外部にあるサーバに無線通信を介してアクセスして、サーバから制御装置の更新プログラムをダウンロードし、車両内にあるプログラム更新装置が制御装置のプログラムを更新することが行われるようになった。
効率よく更新するために、更新プログラムに対しては、車両状態に関わる更新条件を設け、車両状態から条件に合致したと判定したプログラムを自動で更新する方法が提案されている(特許文献2)。
【0004】
サーバから制御装置の更新プログラムを受信する装置(以下、プログラム受信装置)は、公衆回線や無線通信を介してサーバに接続する必要性から、多くの場合は高度なナビゲーション機能やウェブブラウザ機能等を実現するために、すでに外部のサーバと接続する通信機能を持つ情報系装置がその役割を担う。
情報系装置は、このように外部と接続されて機能する先進的なアプリケーションを持っている。従って、情報系装置は、制御装置のプログラム更新を安全に行うために更新プログラムが格納される接続先サーバとの認証や暗号化による通信といった対策を施したとしても、情報系装置全体からすれば、他のアプリケーションを介した情報系装置に対する不正アクセスの脅威が存在し、制御装置のプログラム更新は、その脅威に晒される。
不正アクセスにより、プログラム受信装置に悪意のあるプログラムが混入した場合、プログラム受信装置からプログラム更新装置に、ユーザの意図しない不正なプログラム更新要求が発生してしまう可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
外部との通信が可能で、車両外部にあるサーバに無線通信を介してアクセスして、サーバから制御装置の更新プログラムを受信するプログラム受信装置に、従来技術のように、プログラム受信装置とプログラム更新装置との間で認証を行う場合、偽のプログラム受信装置の交換による不正なプログラム更新要求を防止することができたとしても、正規のプログラム受信装置が不正アクセスを受け、プログラム受信装置が乗っ取られた状態でプログラム更新要求があった場合、プログラム更新装置に対してユーザの意図しないプログラム更新要求が発生してしまう。
【0007】
また、上記の課題を解決するため、プログラム更新装置に対するプログラム更新要求の最終的な認証をユーザに委任させる場合、プログラム更新装置からユーザに対して認証要求を行うとパスワードの入力装置が必要となる。
パスワードの入力に関して、新たな入力装置を追加することは、コスト上昇につながるため、プログラム受信装置でもある既存の情報系装置の一部であるタッチディスプレイを使用することとなる。
しかし、悪意のあるプログラムが混入したプログラム受信装置は、ユーザが入力したパスワードを盗用し、次回の認証の際にユーザになり済まして、プログラム更新装置に回答する可能性がある。つまり、固定的なパスワードは使用できない。
【0008】
さらに、固定的でないパスワード、つまり認証の度に変化するパスワードを、プログラム受信装置が、ユーザになり済ましてプログラム更新装置に回答することを防ぐために、プログラム受信装置が知り得ない、かつ不正操作できない方法で、ユーザに伝える必要がある。
プログラム受信装置が知り得ない、かつ不正操作できない方法としては、情報システムの分野で用いられるワンタイムパスワードが有効であるが、ユーザにパスワードを伝達する手段としてトークンが必要であり、新たな装置の追加はコストがかかるため、使用できない。
また、画像内に埋め込む形で記されている文字や数字を読み取る画像認証をタッチディスプレイに描画して用いることも考えられるが、パスワードの読み取りは認知するソフトウェアの進化と共に人にも読みにくくなり、ユーザビリティに欠ける。
また、プログラム更新要求の不正操作を防ぐことはできない。
【0009】
この発明は、上記のような課題を解決するためになされたもので、プログラム更新装置によるユーザ認証を新たな装置を追加することなく実現しつつ、ユーザの意図しないプログラム更新要求の発生を防止するプログラム更新システムを得ることを目的とする。
【課題を解決するための手段】
【0010】
この発明に係わるプログラム更新システムにおいては、制御装置のプログラムを更新するための更新プログラムを外部のサーバから受信するプログラム受信装置、およびインストルメントパネルに接続され、プログラム受信装置から更新プログラムを受け取り、制御装置のプログラムを更新するプログラム更新装置を備え、プログラム受信装置は、パスワードの入力画面を表示するとともに、ユーザから入力されたパスワードをプログラム更新装置に送信するパスワード入力手段を有し、プログラム更新装置は、ワンタイムパスワードとして、インストルメントパネルで表示可能な表示パターンを生成するワンタイムパスワード生成手段と、このワンタイムパスワード生成手段により生成されたワンタイムパスワードと、プログラム受信装置のパスワード入力手段で入力されたパスワードとを比較し、入力されたパスワードを認証する認証手段と、この認証手段により入力されたパスワードが認証された場合に、制御装置のプログラムを更新するプログラム更新手段とを有し、インストルメントパネルは、更新プログラムの更新内容を表示する更新内容表示手段と、ワンタイムパスワード生成手段により生成された表示パターンのワンタイムパスワードを表示するワンタイムパスワード表示手段とを有するものである。
【発明の効果】
【0011】
この発明によれば、制御装置のプログラムを更新するための更新プログラムを外部のサーバから受信するプログラム受信装置、およびインストルメントパネルに接続され、プログラム受信装置から更新プログラムを受け取り、制御装置のプログラムを更新するプログラム更新装置を備え、プログラム受信装置は、パスワードの入力画面を表示するとともに、ユーザから入力されたパスワードをプログラム更新装置に送信するパスワード入力手段を有し、プログラム更新装置は、ワンタイムパスワードとして、インストルメントパネルで表示可能な表示パターンを生成するワンタイムパスワード生成手段と、このワンタイムパスワード生成手段により生成されたワンタイムパスワードと、プログラム受信装置のパスワード入力手段で入力されたパスワードとを比較し、入力されたパスワードを認証する認証手段と、この認証手段により入力されたパスワードが認証された場合に、制御装置のプログラムを更新するプログラム更新手段とを有し、インストルメントパネルは、更新プログラムの更新内容を表示する更新内容表示手段と、ワンタイムパスワード生成手段により生成された表示パターンのワンタイムパスワードを表示するワンタイムパスワード表示手段とを有するので、新たな装置を追加することなく、ユーザの意図しない制御装置のプログラム更新を防ぐことが可能となる。
【発明を実施するための形態】
【0013】
実施の形態1.
図1は、この発明の実施の形態1によるプログラム更新システムを示す構成図である。
図1において、プログラム配信装置2は、車両の外部にあり、車両内の書き換え対象となる制御装置の更新プログラムを配信する装置である。更新プログラムは、少なくともプログラム更新装置7で改ざんが検知できる形式で配信する。プログラム配信装置2から配信された更新プログラムは、車両に搭載されたプログラム受信装置1によって受信され、プログラム受信装置1から車内LANを介してプログラム更新装置7に送られ、プログラム更新装置7によって、書き換え対象の制御装置15の制御ソフトウェアおよび制御パラメータを含むプログラムが更新される。プログラム更新装置7は、車内LANによってインストルメントパネル12に接続されている。
【0014】
プログラム受信装置1は、次のように構成されている。
プログラム受信手段5は、車両外部のプログラム配信装置2から無線通信を介して制御装置15の更新プログラムを受信する。
GUI管理部3(GUI:Graphical User Interface)は、プログラム受信装置1の持つタッチディスプレイ6を介するユーザとのインターフェースを管理する。GUI管理部3は、パスワード入力手段4を有し、パスワード入力手段4は、タッチディスプレイ6にユーザに対するパスワードの入力画面を表示し、ユーザのタッチによるパスワード入力を受け付け、入力されたパスワードをプログラム更新装置7に転送する。
なお、
図1では、プログラム受信装置1への入出力のインターフェースとしてタッチディスプレイ6を示しているが、プログラム受信装置1に接続される入出力インターフェースであれば、これに限る必要はなく、外部から持ち込まれる携帯端末の入出力インターフェースを利用しても良い。パスワード入力手段4は、GUI管理部3においてGUI入力を利用しているが、ユーザからのパスワードの入力が可能であれば、これに限らずユーザの声を利用した音声入力でも良い。
【0015】
プログラム更新装置7は、次のように構成されている。
プログラム更新管理手段10(プログラム更新手段)は、車内LANで接続されたプログラム受信装置1から受信した制御装置15の更新プログラムの更新内容を読み取る。フラッシュ書き換え手段11は、更新内容によって、制御装置15のフラッシュメモリに格納されているプログラムの書き換え(以下、フラッシュ書き換えと称す。)を行う。
パスワード生成手段8(ワンタイムパスワード生成手段)は、プログラム更新を行う度に必要となるワンタイムパスワードを生成する。パスワード生成手段8が出力するワンタイムパスワードは、一般的な乱数の数値の他にインストルメントパネル12で表現可能なパターンを含む。
認証手段9は、パスワード生成手段8で生成されたワンタイムパスワードと、プログラム受信装置1のパスワード入力手段4から送信されたパスワードを比較して、入力されたパスワードの認証を行う。
【0016】
プログラム更新装置7と車内LANで接続されたインストルメントパネル12は、次の機能を有している。
パスワード表示手段13(ワンタイムパスワード表示手段)は、プログラム更新装置7のパスワード生成手段8で生成されたワンタイムパスワードを表示する。
更新内容表示手段14は、プログラム更新装置7のプログラム更新管理手段10からの指示に従い、プログラム更新内容を表示する。
なお、本実施の形態1では、後述するように、更新内容表示手段14ではLEDを用い、パスワード表示手段13は速度計と回転速度計を用いているが、それぞれの手段において用いるものはこれらに限定されない。
パスワード表示手段13は、パスワードに相当するパターンが表示できれば良く、インストルメントパネル12に備えられるその他の計器類を用いることが可能であり、例えば積算距離計や区間距離計を用いても良い。
また、インストルメントパネル12に、表示の自由度の高い、例えば、液晶ディスプレイもしくはヘッドアップディスプレイといった、プログラム受信装置以外のディスプレイが使用されている場合は、このディスプレイをパスワード表示手段13および更新内容表示手段14に使用しても良い。
【0017】
図3は、この発明の実施の形態1によるプログラム更新システムにおける更新内容表示例を示す図である。
図3において、更新内容表示手段14の更新内容表示例を示す図であり、インストルメントパネル12内に更新プログラムの更新対象となる制御装置15を示すLED21を設けている。
【0018】
図4は、この発明の実施の形態1によるプログラム更新システムにおけるパスワード表示例を示す図である。
図4において、パスワード表示手段13のパスワード表示例を示している。パスワード生成手段8に従い、インストルメントパネル12の速度計22に対して60の値を表示し、回転速度計23に対して5000の値を表示する。
【0019】
図5は、この発明の実施の形態1によるプログラム更新システムにおける入力画面例を示す図である。
図5において、プログラム受信装置1でのパスワードの入力画面例を示している。この入力画面では、パスワードとして速度計と回転速度計が指し示す数値のパターンを用いる。
図5のタッチディスプレイ6には、パスワードの入力画面として、インストルメントパネル25と、その中に速度計26と回転速度計27の表示があり、速度計26と回転速度計27には、その周囲に
図4で表示され得る範囲の数字を表示している。
なお、タッチディスプレイ6では、速度計26の周囲に配置される数字および回転速度計27の周囲に配置される数字をタッチすれば、その数値が選択されるようになっている。
【0020】
次に、動作について説明する。
まず、プログラム更新装置7がユーザの認証を行わずに、制御装置15のプログラム更新のみを行う場合について説明する。
この場合、プログラム配信装置2が配信する更新プログラムをプログラム受信装置1のプログラム受信手段5が受信して、プログラム更新装置7に送信し、プログラム更新装置7のプログラム更新管理手段10が、更新プログラムの更新内容に基づき、フラッシュ書き換え手段11を起動して、フラッシュ書き換え手段11が、制御装置15のフラッシュ書き換えを実施する。
なお、本実施の形態1では、プログラム更新の対象を制御装置15で説明しているが、これに限らず、プログラム更新装置7がプログラム更新の対象とする装置は、プログラム更新装置7自身でもよく、プログラム受信装置1でも良い。
【0021】
次に、プログラム更新装置7が、ユーザの認証を行うケースについて説明する。
認証の流れは、
図2に示すとおりで、
図2に示す認証は、プログラム更新装置7のフラッシュ書き換え手段11が、制御装置15のフラッシュ書き換えの実施以前に実施するものである。
【0022】
プログラム更新装置7では、更新プログラムを受信すると(S1)、プログラム更新管理手段10が、更新プログラムの内容を読み取り、更新内容をインストルメントパネル12の更新内容表示手段14に送信し、更新内容表示手段14が更新内容を表示する(S2)。
図3は、この更新内容の表示例であり、インストルメントパネル12内に更新プログラムの対象となる制御装置15を示すLED21を設定している。
例えば、LED21に3つの点灯個所を持たせれば、例えば左から、パワートレイン系制御装置、シャシー系制御装置、ボディ系制御装置などを割り当て、該当する更新プログラムの対象となる制御装置を点灯させるようにしている。
例えば、S1で受信した更新プログラムに対して、プログラム更新管理手段10が内容を読み取り、パワートレイン系制御装置を更新対象としている場合は、プログラム更新管理手段10は、更新内容表示手段14にパワートレイン系制御装置が更新対象であることを伝達し、更新内容表示手段14は、
図3のLED21のように左を点灯させ、中央と右は消灯させる。
【0023】
次に、プログラム更新装置7のパスワード生成手段8は、一回のみ有効なワンタイムパスワードを生成する(S3)。このパスワードは、毎回異なる内容で予測しにくいものであれば良く、先述の通り、一般的な乱数の数値でも良く、その他インストルメントパネル12で表現可能なパターンでも良い。
パスワード生成手段8により生成されたパスワードは、インストルメントパネル12のパスワード表示手段13に伝達し、パスワード表示手段13が、パスワードを表示する(S4)。
本実施の形態1では、便宜上、ワンタイムパスワードとして速度計22と回転速度計23が指し示す数値のパターンを用いることとして、パスワード生成手段8では、ワンタイムパスワードとして、速度計22で示す値として60、回転速度計23で示す値として5000という値を生成したものとする。
図4は、パスワード表示例を示す図であり、この時、パスワード表示手段13は、パスワード生成手段8に従い、インストルメントパネル12の速度計22に対して60の値を示し、回転速度計23に対して5000の値を示す。
【0024】
S4のパスワードの表示後は、プログラム受信装置1のパスワード入力手段4が、タッチディスプレイ6にパスワード入力画面の表示を行う(S5)。
図5は、入力画面例を示す図である。本実施の形態1では、パスワードとして、速度計と回転速度計が指し示す数値のパターンを用いることとしているため、
図5のタッチディスプレイ6には、パスワードの入力画面として、インストルメントパネル25と速度計26と回転速度計27と、速度計26と回転速度計27にはその周囲に
図4で表示され得る範囲の数字を表示している。
【0025】
パスワード入力画面を表示したら(S5)、ユーザによるパスワード入力を待つ(S6)。
ユーザは、インストルメントパネル12上のワンタイムパスワードの表示を読み取り、これと同じパスワードを入力する。ユーザが、
図5のタッチディスプレイ6で示される速度計26および回転速度計27の周囲に配置される数字をタッチして、数値が選択されたら、プログラム受信装置1のパスワード入力手段4は、プログラム更新装置7にユーザが選択した数値を送信する。
プログラム更新装置7の認証手段9は、プログラム受信装置1のパスワード入力手段4から届いた数値と、S3のプログラム更新装置7のパスワード生成手段8が生成した値を比較する(S7)。
そこで両者の値が一致していれば(S8)、認証OK(S9)とし、一致していなければ認証NG(S10)とする。
仮に、S6にてユーザが選択した数値が、速度計で示す値として60、回転速度計で示す値として5000であれば、S3のパスワード生成手段8が生成した値と一致するため、認証OKとする(S9)。
【0026】
なお、S6にて、パスワードがプログラム受信装置1に入力されることになるが、ここでの入力は、ユーザの認証に対する意思決定の結果によってもたらされた入力であって、プログラム受信装置1が知り得たところで、ユーザの意図に反するものではない。
また、パスワードの有効回数が1回限りであり、次回のプログラム更新時は無効となるため、プログラム受信装置1が知り得たところで、次回以降の認証において、ユーザが知り得ない環境下で、制御装置15のプログラム更新を行おうとしても成立しない。
【0027】
プログラム更新装置7のプログラム更新管理手段10は、認証手段9の認証結果が、認証OKであれば、フラッシュ書き換え手段11を起動して、制御装置15のフラッシュ書き換え処理を実施する。
【0028】
実施の形態1によれば、以上により、プログラム受信装置1が乗っ取られたとしても、不正な更新内容が制御装置15に伝わることはなく、またプログラム受信装置1によってユーザの知り得ない状況下での制御装置15のプログラム更新の認証が行われることを防ぐことができる。
また、認証に必要なパスワードの通知をトークンといった新たな装置を備えることなく実現しているため、コストの上昇を抑えることができるとともに、ユーザが携帯する装置が増えないため、ユーザビリティの低下を招かない。
また、パスワードの通知を、ユーザにとって読み取りにくい画像認証ではなく、視認性に優れたインストルメントパネルを使用しているため、煩わしさもない。
【0029】
実施の形態2.
図6は、この発明の実施の形態2によるプログラム更新システムを示す構成図である。
図6において、1〜15は
図1におけるものと同一のものである。
図6では、プログラム受信装置1とプログラム更新装置7とインストルメントパネル12が、同一の車内LANで接続されている。このため、プログラム更新装置7とインストルメントパネル12間の通信をプログラム受信装置1に知られないようにするために、プログラム更新装置7に、更新内容とワンタイムパスワードを暗号化する暗号化手段16を設けるとともに、インストルメントパネル12に暗号化された更新内容とワンタイムパスワードを復号する復号手段17を設けている。
【0030】
プログラム更新装置7の暗号化手段16は、プログラム更新装置7のプログラム更新管理手段10がインストルメントパネル12の更新内容表示手段14に伝達する更新内容、およびプログラム更新装置7のパスワード生成手段8がインストルメントパネル12のパスワード表示手段13に伝達するワンタイムパスワードを暗号化する。
一方で、インストルメントパネル12の復号手段17は、プログラム更新装置7の暗号化手段16によって暗号化された更新内容とワンタイムパスワードを平文に復号する。
【0031】
実施の形態2によれば、以上により、プログラム受信装置1とプログラム更新装置7とインストルメントパネル12が、同一の車内LANで接続されている構成であっても、プログラム更新装置7のプログラム更新管理手段10が、インストルメントパネル12の更新内容表示手段14に伝達する更新内容、およびプログラム更新装置7のパスワード生成手段8がインストルメントパネル12のパスワード表示手段13に伝達するワンタイムパスワードに対して、プログラム受信装置1による改ざんや盗聴を防止することが可能となる。
【0032】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【0033】
1 プログラム受信装置、2 プログラム配信装置、3 GUI管理部、
4 パスワード入力手段、5 プログラム受信手段、6 タッチディスプレイ、
7 プログラム更新装置、8 パスワード生成手段、9 認証手段、
10 プログラム更新管理手段、11 フラッシュ書き換え手段、
12 インストルメントパネル、13 パスワード表示手段、14 更新内容表示手段、
15 制御装置、16 暗号化手段、17 復号手段、21 LED、22 速度計、
23 回転速度計、25 インストルメントパネル、26 速度計、27 回転速度計
【課題】プログラム更新装置によるユーザ認証を新たな装置を追加することなく実現しつつ、ユーザの意図しないプログラム更新要求の発生を防止するプログラム更新システムを得る。
【解決手段】プログラム配信装置2から更新プログラムを受信したプログラム受信装置1が、車内LANを介してプログラム更新装置7に更新プログラムを送信したら、プログラム更新装置7が、パスワード生成手段8によりワンタイムパスワードを生成してインストルメントパネル12の速度計および回転速度計に表示させ、これを見たユーザによって、プログラム受信装置1のタッチディスプレイ6で入力されたパスワードがプログラム更新装置7に転送された場合に、認証手段9によりパスワードを認証し、OKであればプログラム更新管理手段10が制御装置15のフラッシュメモリのプログラムを書き換える。