(57)【要約】      （修正有）【課題】使用中のソフトウエアが正規か否か確認でき、ソフトウエアが不正か否かに拘らず書き換えられた場合にその痕跡が残る車載用制御ユニットを提供する。【解決手段】ソフトウエアを記録する書換え可能に設定された記録領域１２ａと、ソフトウエアの書換プログラムを記録する書換え不可能に設定された記録領域１２ｂと、書換プログラムを実行するＣＰＵ１４とを有する車載制御ユニット１０である。書換え不可能に設定された記録領域に不揮発性メモリ領域１２ｂ−２を設け、そこには書換え不可能な状態で少なくとも２以上の情報が順次記録でき、当初は初期のソフトウエアの固有情報が記録されている。ＣＰＵ１４は書換プログラムを実行して新しいソフトウエアに書換えた時、新しいソフトウエアの固有情報を演算し、当初記録された初期のソフトウエアの固有情報と異なる場合は、新しいソフトウエアの固有情報を不揮発性メモリ領域に追加して記録する。【選択図】図１
2016167113.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するためのソフトウエアを記録する書き換え可能に設定された記録領域と、
前記ソフトウエアを書き換えるための書換プログラムを記録する書き換え不可能に設定された記録領域と、
前記書換プログラムの実行を行うＣＰＵと、を有する車載用制御ユニットにおいて、
前記書き換え不可能に設定された記録領域に不揮発性メモリを設け、
該不揮発性メモリは、
書き換え不可能な状態で少なくとも２以上の情報が順次記録可能であり、当初、初期のソフトウエアの固有情報が記録されており、
前記ＣＰＵは、
前記書換プログラムを実行し前記ソフトウエアを新しいソフトウエアに書き換えた時に、該新しいソフトウエアの固有情報を演算し、該新しいソフトウエアの固有情報が前記不揮発性メモリに当初記録された前記初期のソフトウエアの固有情報と異なる場合には該新しいソフトウエアの固有情報を前記不揮発性メモリに記録し、
該新しいソフトウエアの固有情報が前記不揮発性メモリに当初記録された前記初期のソフトウエアの固有情報と同一の場合には該新しいソフトウエアの固有情報を前記不揮発性メモリに記録しないことを特徴とする車載用制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載用制御ユニット、特に、制御対象を制御するソフトウエアを書き換えることが可能な車載用制御ユニットに関する。
【背景技術】
【０００２】
車載用制御ユニットは、制御対象を制御するための制御プログラム及び制御データから成るソフトウエアを記録する記録領域を有している。この記録領域は電気的に書き換え可能に構成されている。このソフトウエアは、常に最新なものとするために、外部から書き換え（更新）可能に構成されている。
【０００３】
特許文献１は、車載制御ユニットのソフトウエアが不正に書き換えられることを防止するために、データ転送時にデータを暗号化している。また、不正アクセスを検知した場合に、不正アクセスによりソフトウエアが不正に書き換えられようとした可能性があることを示す履歴を記録領域に記録するように構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２４２９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の車載制御ユニットは、ソフトウエアの書き換え行為自体を防止し、またソフトウエアが不正に書き換えられようとした場合に報知する構成になっている。更に、そのような不正行為が行われようとしたことを示す履歴をフラッシュメモリ内の所定の領域に記録する構成になっている。そのため、マイコンに監視処理用プログラムが格納されている。
【０００６】
特許文献１によれば、ソフトウエアが不正に書き換えられることは防止され、そのような不正行為が行われようとしたことを認知することができるが、当該技術分野の進展は目覚ましく、ソフトウエアが改ざんされる危険性は零ではない。したがって、現在使用しているソフトウエアが正規のものであるか常に確認する必要がある。特許文献１の構成では、現在使用しているソフトウエアが正規なものか否かは確認できる構成には成っておらず、またソフトウエアが正規又は不正のいずれであっても、書き換えた痕跡を残す構成にはなっていない。
【０００７】
本発明は上記課題に鑑みてなされたものであり、その目的は、現在使用しているソフトウエアが正規なものか否かが確認でき、更にソフトウエアが不正なものであれ正規なものであれ書き換えられた場合にその痕跡が残る車載用制御ユニットを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的の達成のため請求項１に係る車載用制御ユニットは、制御対象を制御するためのソフトウエアを記録する書き換え可能に設定された記録領域と、前記ソフトウエアを書き換えるための書換プログラムを記録する書き換え不可能に設定された記録領域と、前記書換プログラムの実行を行うＣＰＵと、を有する車載用制御ユニットにおいて、前記書き換え不可能に設定された記録領域に不揮発性メモリを設け、該不揮発性メモリは、書き換え不可能な状態で少なくとも２以上の情報が順次記録可能であり、当初、初期のソフトウエアの固有情報が記録されており、前記ＣＰＵは、前記書換プログラムを実行し前記ソフトウエアを新しいソフトウエアに書き換えた時に、該新しいソフトウエアの固有情報を演算し、該新しいソフトウエアの固有情報が前記不揮発性メモリに当初記録された前記初期のソフトウエアの固有情報と異なる場合には該新しいソフトウエアの固有情報を前記不揮発性メモリに記録し、該新しいソフトウエアの固有情報が前記不揮発性メモリに当初記録された前記初期のソフトウエアの固有情報と同一の場合には該新しいソフトウエアの固有情報を前記不揮発性メモリに記録しないことを特徴とする。
【０００９】
この構成によれば、ＣＰＵが書換プログラムを実行し、正規又は不正の何れであれ現在のソフトウエアを新しいソフトウエアに書き換え処理を行った時に、新しいソフトウエアの固有情報を演算する。そして、その固有情報が書き換え不可能な記憶領域の不揮発性メモリに当初記録されたソフトウエアの固有情報と比較する。新しいソフトウエアの固有情報が当初記録されたソフトウエアの固有情報と異なる場合には、その固有情報を不揮発性メモリに記録する。同一の場合には記録しない。したがって、現在のソフトウエアが正規なもの又は不正なものの何れであるかが不揮発性メモリに記録された固有情報から分かることとなる。また、一度でも不正なソフトウエアに書き換えた場合は、不正の固有情報が不揮発性メモリに消去されずに残り、その不正なソフトウエアに書き換えた行為が痕跡として残ることとなり、不正行為を隠ぺいすることはできない。
【発明の効果】
【００１０】
本発明の車載用制御ユニットによれば、現在使用しているソフトウエアが正規なものか否かが確認でき、更にソフトウエアが不正なものに書き換えられた場合にその痕跡が消去されずに残る。したがって、ユーザ側が、以前に書き換えた不正なソフトウエアを正規なソフトウエアに書き換えて不正なソフトウエアに書き換えた痕跡を消去し、不当な利得等を得るという不正行為を未然に防止することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の車載用制御ユニットの概略構成図と、これを用いたテレマティクスの概略構成図を示す。
【図２】図１の車載用制御ユニットの動作を説明するフローチャートである。
【図３】図２のフローチャートに係り、リプロトリガがオンになるまでのフローチャートである。
【図４】図２の車載用制御ユニットの動作を説明するフローチャートに係り、リプロ機能を説明するフローチャートである。
【図５】図１のテレマティクスに係り、外部サーバから固有情報の照会があったときのフローチャートである。
【図６】図１のテレマティクスに係り、外部サーバが固有情報を受信したときのフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の車載用制御ユニットの実施の形態について、図面を参照しつつ詳細に説明する。
【００１３】
図１は、本発明の車載用制御ユニットの概略構成図と、これを用いたテレマティクスの概略構成図である。車載用制御ユニット１０は、一例として、通信網１８介して書き換えツール２０と、外部サーバ２２に接続されている。車載用制御ユニット１０は、内部に記録領域１２、ＣＰＵ１４、通信回路１６を有する。
【００１４】
記録領域１２は、書き換え可能な領域１２ａと、書き換え不可能な領域１２ｂとを有する。書き換え可能な領域１２ａには、制御対象を制御するソフトウエアが記録されており、後述するように、書き換ツール等により書き換えの要求があると新しいソフトウエアが上書きで書き換える（記録する）ことが可能になっている。
【００１５】
書き換え不可能な領域１２ｂは、リプロ用ソフトウエア領域１２ｂ−１、不揮発性メモリ領域１２ｂ−２、各種機能領域２ｂ−３に分けられている。リプロ用ソフトウエア領域１２ｂ-１には、ソフトウエアを書き換えるためのプログラム（リプロ用プログラム）が記録されている。不揮発性メモリ領域１２ｂ−２は、後述するようにソフトウエアの固有情報を、書き換え不可能な状態で記録する不揮発性メモリを収納した領域である。この不揮発性メモリは、書き込みは可能であり電源がオフとなっても書き込まれた記録内容を保持するものである。
【００１６】
各種機能領域１２ｂ−３は、ソフトウエアを書き換える動作を行うリプロ機能、外部との通信を行う通信機能、不揮発性メモリへソフトウエアの固有情報を書き込む記録機能等の各種機能を格納した領域である。なお、リプロとは、ソフトウエアを書き換えることであり、不揮発性メモリとしては、ＥＥＰＲＯＭ等汎用のものを使用することができる。
【００１７】
制御ユニット１０は、通信網１８に接続され、この通信網１８に接続された書き換えツール２０、外部サーバ２２との通信が可能に、所謂テレマティクス可能に構成されている。書き換えツール２０は、車載用制御ユニット１０内の書き換え可能領域１２ａに記録されているソフトウエアの書き換えを要求する信号及び新しいソフトウエアを送信するものである。外部サーバ２２は、車載用制御ユニット１０と、例えば不揮発性メモリ領域１２ｂ−２に記録された固有情報の遣り取り等を行う。通信網１８を介しての通信は、ＣＰＵ１４、通信回路１６及び書き換え不可能領域の各種機能領域１２ｂ-３内の通信機能等を駆使して行われる。
【００１８】
図２は、図１の車載用制御ユニット１０の動作を説明するフローチャートである。まず、ＣＰＵ（マイコン）の初期設定が行われる（ステップＳ１１）。次に、リプロトリガの有無を判定する（ステップＳ１２）。リプロトリガが有る若しくはオンの場合には、リプロ機能を実行する（ステップＳ１３）。リプロトリガが無い場合にはステップＳ１４に移行する。リプロ機能については、図４で詳述するが、記録領域１２の書き換え可能領域１２ａに記録されていたソフトウエアを、不正なものであれ正規なものであれ受信したソフトウエアで書き換える動作を行う。
【００１９】
次に、リプロ機能を実行した後、不揮発性メモリに固有情報が記録されたか否かを判定する（ステップＳ１４）。固有情報が記録される場合と記録されない場合とがあるが、詳細は図４にて説明する。ステップ１４で不揮発性メモリに固有情報が描き込まれたか否かを判定し、新たに書き込まれた場合は、不揮発性メモリの記録情報を例えば、外部サーバ２２等に送信し（ステップＳ１５）、ステップＳ１６に移行する。固有情報が描き込まれなかった場合は、不揮発性メモリの記録情報を送信することなくステップＳ１６に移行する。ステップ１６は、ソフトウエアのメイン処理であって、書き込まれていたソフトウエア、又は新たに書き込んだソフトウエアに従って各処理が実行される。
【００２０】
図３は、図２のステップＳ１２のリプロトリガが有るか否かに係り、リプロトリガが有る又はオンになるまでのフローチャートである。車載用制御ユニット１０は、書き換えツール２０からのリプロ要求信号があるか否かを判定する（ステップＳ２１）。この判定は、ＣＰＵ１４が通信回路１６等を利用して行う。リプロ要求信号が無い場合は待機状態となる。リプロ要求信号があった場合は、書き換えツール２０が正規なものか否かの認証を行う（ステップＳ２２）。この判定は、例えば、車載用制御ユニット１０と書き換えツール２０との間で所定の情報を遣り取りし、書き換えツール２０から送信された情報が予め定められた情報と一致した場合、書き換えツール２０を正規なものと判定する等の方法により行われる。
【００２１】
書き換えツール２０が正規である場合、リプロトリガをオンに設定する（ステップＳ２３）。書き換えツール２０が正規なものでない場合は、予め定められた時間が経過したか否かを判定し（ステップＳ２４）、経過した場合は、書き換えツールからのリプロ要求信号を待つ状態で待機する。予め定められた時間が経過していない場合は、書き換えツール２０の認証を継続する。
【００２２】
図４は、リプロ機能を説明するフローチャートである。このフローチャートは、図２のフローチャートにおけるステップＳ１３のリプロ機能の実行を説明するものである。このリプロ機能を実行する段階では、リプロトリガはオンになっている。制御ユニット１０は、書き換えツール２０からリプロデータ、すなわち書き換えるべきソフトウエアを受信したか否かを判定する（ステップＳ３１）。リプロデータを受信しない場合は、そのまま待機する。受信したら、記録領域１２の書き換え可能領域１２ａに記録されていたソフトウエアを受信したソフトウエアで書き換える（ステップＳ３２）。
【００２３】
次に、書き換えたソフトウエアの固有情報を演算する（ステップＳ３３）。この演算は、例えば、受信したソフトウエアのＳＵＭ値を計算し、それを固有情報とすることができる。次に、演算した固有情報を、不揮発性メモリに当初記録された初期のソフトウエアの固有情報と比較し（ステップＳ３４）、一致している場合は不揮発性メモリに固有情報を記録しないで終了する。一致していなければ、書き換えたソフトウエア固有情報を不揮発性メモリに記録する（ステップＳ３４）。ここで、図２のフローチャートで説明した通り、不揮発性メモリに固有情報が描き込まれた場合には、外部サーバ２２等に不揮発性メモリの記録情報が送信される構成になっており、この構成により、当初の正規のソフトウエアから不正なソフトウエアに書き換えられたことが直ちに認識されることとなる。
【００２４】
不揮発性メモリは、少なくとの２以上、例えば、１からｎ番目までの記憶領域があり、初期の状態では、第１番目には、初期のソフトウエアの正規の固有情報が記録されている。リプロ機能によりソフトウエアを書き換えた場合、演算された固有情報は、第１番目の記憶領域の固有情報と比較され、異なる場合に第１番目に記録され、それまで第１番目に記録されていた固有情報は第２番目の記録領域に移動され、第ｎ番目に書き込まれていた固有情報は消去される。したがって、ソフトウエアを書き換える毎に必ず固有情報を書き込む構成では、不正なソフトウエアに書き換えられたことを示す不正な固有情報がいつかは消去されてしまう。これを防止するために、記録すべき固有情報が当初記録した初期のソフトウエアの固有情報と同一の場合は書き込まない構成になっている。この構成により、不正なソフトウエアを一旦書き換えた場合には、不正な固有情報が必ず不揮発性メモリに残り、不正なソフトウエアに書き換えた証拠が残ることとなる。
【００２５】
図５は、外部サーバ２２から車載用制御ユニット１０の不揮発性メモリに記録された固有情報の参照要求があった場合のフローチャートである。ここで、車載用制御ユニット１０は、前述のように通信機能を有して所謂テレマティクス可能に構成されている。
【００２６】
車載用制御ユニット１０は、外部サーバ２２から固有情報の参照要求があるか否かを判定する（ステップＳ４１）。参照要求が無い場合は待機する。参照要求があった場合は、ソフトウエアの固有情報を不揮発性メモリから読み出す（ステップＳ４２）。この処理は、ＣＰＵ１４の制御の元で書き換え不可能な記憶領域１２ｂにある各種機能領域１２ｂ−３の不揮発性メモリ読み出し機能を利用して実行される。そして、読み出したソフトウエアの固有情報を外部サーバ２２に送信する（ステップＳ４３）。
【００２７】
図６は、外部サーバ２２が車載用制御ユニット１０からソフトウエアの固有情報を受信しユーザ等に報知するまでのフローチャートである。まず、車載用制御ユニット１０から送信されたソフトウエア固有情報を受信する（ステップＳ５１）。そして、受信したソフトウエアが正規のものか否か判定する（ステップＳ５２）。この判定は、外部サーバ２２の判定手段２２ａにより行われ、ソフトウエアの固有情報を参照することにより容易に実行できる。正規のものでない場合は、ユーザ等のそのことを報知手段２２ｂにより報知（ステップＳ５３）して終了する。
【００２８】
本実施の形態の車載用制御ユニットによれば、ソフトウエアを新しいものに書き換えた場合、それが正規なものであれ不正なものであれソフトウエアは書き換えられるが、そのソフトウエアの固有情報が不揮発性メモリに書き換え不可能な状態で記録される。しかし、不揮発性メモリへの書き込み（記録）は、その固有情報が当初記録された初期のソフトウエアの固有情報と同一の場合は行わないことにより、一端書き換えた不正なソフトウエアの固有情報が消去されることが防止される。したがって、現在使用しているソフトウエアが正規のものか不正なものかを確認することができ、不正なソフトウエアに書き換え、その後に再度正規なソフトウエアに書き換えても、不正なソフトウエアに書き換えた痕跡は必ず残ることとなり、ユーザ側の不正な行為を隠蔽することが防止される。
【００２９】
なお、本発明は、上記の実施の形態に示した範囲に限定されるものではなく、発明の要旨の範囲内で種々の変更が可能である。例えば、書き換え不可能な状態の不揮発性メモリは、記録領域の内の書き換え不可能な領域にあるものとして説明したが、これ以外の領域にあっても良い。
【符号の説明】
【００３０】
１０  車載用制御ユニット
１２  記録領域
１２ａ  書き換え可能領域
１２ｂ  書き換え不可能領域
１２ｂ−１  リプロ用ソフトウエア領域
１２ｂ−２  不揮発性メモリ領域
１２ｂ−３  各種機能領域
１４  ＣＰＵ
１６  通信回路
１８  通信網
２０  書き換えツール
２２  外部サーバ
２２ａ  判定手段
２２ｂ  報知手段
【図１】
2016167113.tif 000003
【図２】
2016167113.tif 000004
【図３】
2016167113.tif 000005
【図４】
2016167113.tif 000006
【図５】
2016167113.tif 000007
【図６】
2016167113.tif 000008