(57)【要約】【課題】車両用アプリケーションのアプリケーションデータの完全性を確保可能な、車両用アプリケーションの実行方法、制御装置、制御装置群、プログラム、および記録媒体を提供する。【解決手段】車両用アプリケーション（８）の実際のアプリケーションデータ（１６）から形成される、アプリケーション（８）の実際のフィンガープリント（１８）が、アプリケーション（８）の元のフィンガープリント（１４）と比較され、両方のフィンガープリント（１４、１８）が相違している場合に、アプリケーション（８）の代わりに代替処理（２２）が実行される、車両用アプリケーション（８）の実行方法が提供される。【選択図】図２
2009099146.tif 000002
【特許請求の範囲】
【請求項１】
車両用アプリケーションの実行方法であって、
前記アプリケーションの実際のアプリケーションデータから形成される、前記アプリケーションの実際のフィンガープリントが、前記アプリケーションの元のフィンガープリントと比較され、前記実際のフィンガープリントと前記元のフィンガープリントが相違している場合に、前記アプリケーションの代わりに代替処理が実行される、車両用アプリケーションの実行方法。
【請求項２】
前記アプリケーションの元のアプリケーションデータから前記元のフィンガープリントが形成される、請求項１に記載の方法。
【請求項３】
前記アプリケーションのトポロジおよび構造を考慮して、前記実際のフィンガープリントおよび前記元のフィンガープリントが形成される、請求項１または２に記載の方法。
【請求項４】
前記アプリケーションデータの前記実際のフィンガープリントおよび前記元のフィンガープリントは、ハッシュ関数を用いてそれぞれ形成される、請求項１〜３のいずれかに記載の方法。
【請求項５】
少なくとも１つの制御装置が前記アプリケーションを実行するように構成され、前記元のフィンガープリントの少なくとも一部が、前記少なくとも１つの制御装置に少なくとも一回格納される、請求項１〜４のいずれかに記載の方法。
【請求項６】
前記実際のフィンガープリントと前記元のフィンガープリントの比較が、前記少なくとも１つの制御装置の暗号化通信の枠組みで行なわれ、通信の暗号化のために設けられた鍵が動的に変更される、請求項４に記載の方法。
【請求項７】
少なくとも１つの車両用アプリケーションを実行するための制御装置であって、
前記少なくとも１つのアプリケーションの実際のアプリケーションデータから実際のフィンガープリントを形成し、前記少なくとも１つのアプリケーションの元のフィンガープリントと比較し、前記実際のフィンガープリントと前記元のフィンガープリントが相違している場合に、前記アプリケーションの代わりに代替処理を実行するように構成されている、制御装置。
【請求項８】
請求項７に記載の少なくとも１つの前記制御装置を有する、少なくとも１つの車両用アプリケーションを実行するための制御装置群。
【請求項９】
前記アプリケーションを実行するために少なくとも２つの制御装置間で行われる通信に際して、送信制御装置は、前記アプリケーションの実際のアプリケーションデータを少なくとも１つの受信制御装置に伝達するように構成され、前記少なくとも１つの受信制御装置は、受信された前記実際のアプリケーションデータから実際のフィンガープリントを形成し、前記アプリケーションの元のフィンガープリントと比較し、前記実際のフィンガープリントと前記元のフィンガープリントが相違している場合に、前記アプリケーションの代わりに代替処理を実行するように構成されている、請求項８に記載の制御装置群。
【請求項１０】
請求項１〜６のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項１〜６のいずれかに記載の方法をコンピュータに実行させるためのプログラムを記録する、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用アプリケーションの実行方法、少なくとも１つの車両用アプリケーションを実行するための制御装置、制御装置群、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
従来、車両内の制御装置用のアプリケーションのアプリケーションデータ（エンジン出力算出用の変数群等）に対する改ざんを防止するために格納することは、制御装置内で全く考慮されておらず、または、初歩的なレベルでしか考慮されていない。
【０００３】
しかし、このことは、車両のチューニングに際して、例えば、エンジンの出力を上げるため、または、制御装置の追加的な機能を作動させるために、アプリケーションデータの改ざんに利用される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この種の改ざんを防止するために、例えば、記憶ユニット（フラッシュメモリ等）の変更を防止するために、パスワードによる防護措置が個別に利用されている。しかし、この種の措置を利用する場合、生産技術上の理由から制御装置に個別のパスワードを設定することが困難であるため、制御装置の大量生産の枠組みにおいては、通常、全ての制御装置に対して単一のパスワードを有効に機能させるように考慮する必要がある。潜在的な改ざん者は、この単一のパスワードを取得することで、制御装置バージョンの全てのアプリケーションデータ群を改ざんし、制御装置の製造業者（ＯＥＭ：Original Equipment Manufacturer）に相応の経済的な損害を与えることが可能となる。
【０００５】
情報技術の安全措置として、変数群からハッシュ値（Streuwert /Hash-Wert）を形成することが知られている。ハッシュ値は、アプリケーションのアプリケーションデータの２進値から通常算出され、１対１の関係を有する（ein-ein-deutig）。アプリケーションのアプリケーションデータが変更されると、ハッシュ値も変更する。よって、ハッシュ値は、アプリケーションデータのフィンガープリント（指紋）に相当する。
【０００６】
本発明は上記問題点に鑑みてなされたものであり、その目的は、車両用アプリケーションのアプリケーションデータの完全性を確保可能な、新規かつ改良された車両用アプリケーションの実行方法、制御装置、制御装置群、プログラム、および記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の観点によれば、車両用アプリケーションの実行方法であって、アプリケーションの実際の（aktuell）アプリケーションデータから形成される、アプリケーションの実際の（aktuell）フィンガープリントが、アプリケーションの元の（urspruenglich）フィンガープリントと比較され、実際のフィンガープリントと元のフィンガープリントの間で相違が生じている場合に、アプリケーションの代わりに代替処理が実行され、両フィンガープリントが一致している場合に、アプリケーションが実行される、車両用アプリケーションの実行方法が提供される。
【０００８】
実際のアプリケーションデータと元の（urspruenglich）アプリケーションデータが相違している場合、つまり、アプリケーションの実際のアプリケーションデータが、出荷時設定で通常提供される元のアプリケーションデータから改ざん（操作）されている場合に、実際のフィンガープリントと元のフィンガープリントとが相違する。
【０００９】
フィンガープリントは、アプリケーションデータが変更されている場合にも変更されるため、実際のフィンガープリントの検査によって、実際のアプリケーションデータの信憑性および完全性を検査することが可能となる。よって、実際のアプリケーションデータと元のアプリケーションデータが一致している場合には、車両用アプリケーションの実行が可能となる。
【００１０】
本発明の一実施形態において、元のフィンガープリントは、アプリケーションの元のアプリケーションデータからハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）により形成され、後続する比較の実行のために、改ざんを防止するように格納され、記憶される。
【００１１】
駆動中に実際のフィンガープリントを算出する場合、このフィンガープリントも、実際のアプリケーションデータからハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）により形成される。
【００１２】
フィンガープリントを形成するために、車両用アプリケーションおよび各アプリケーションデータのトポロジおよび／または構造が考慮される。さらに、元のフィンガープリントおよび実際のフィンガープリントを形成する、特に算出するために、同一のハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）が利用される。
【００１３】
本発明の一実施形態において、アプリケーションを実行するように構成されている少なくとも１つの制御装置のために、本発明の変形例が実行される。ここで、元のフィンガープリントの少なくとも一部が、少なくとも１つの制御装置に少なくとも１回格納される。さらに、本発明の変形例は、アプリケーションを実行するように構成されている、少なくとも２つの制御装置を含む制御装置群のために実行することができる。
【００１４】
アプリケーションデータの完全性を確保するために、最初に、例えば、ＭＤ５（Message-Digest Algorithm 5）またはＳＨＡ（Secure Hash Algorithm）等の適切なハッシュ方式によって、アプリケーションデータのハッシュ値（Streuwert/Hash-Wert）に相当する元のフィンガープリントが決定される。決定された元のフィンガープリントは、少なくとも１つの制御装置に複数回格納可能である。さらに、元のフィンガープリントを異なる制御装置に分散することが可能である。元のフィンガープリントを異なる制御装置に分散する場合に、フィンガープリントの所定の部分のみが各制御装置で入手可能であるように構成可能である。アプリケーションの実行が意図される場合に、フィンガープリントの少なくとも一部が格納または記憶されている少なくとも２つの制御装置から、少なくとも２つの制御装置間の異なる通信チャネルを介して、フィンガープリントが伝送可能である。
【００１５】
実際のフィンガープリントおよび／または元のフィンガープリントを、受信側の制御装置で集約または統合することが可能である。よって、少なくとも１つの制御装置によって、アプリケーションデータの変更を検査することが可能となる。
【００１６】
少なくとも１つの制御装置の暗号化通信の枠組みにおいて、少なくとも１つの制御装置の駆動時に、フィンガープリントの比較が行なわれる。制御装置群内では、少なくとも２つの制御装置が、暗号化通信の枠組みでフィンガープリントを交換する。さらに、通信の暗号化のために設けられた鍵は、動的に変更可能である。暗号化を行うことによって、個々の制御装置間での通信を保護することが可能となる。動的に変更可能な鍵は、全ての制御装置または全てのコンポーネントに対して、典型的に保護されている通信チャネル上で通知される。
【００１７】
上記課題を解決するために、本発明の第２の観点によれば、少なくとも１つの車両用アプリケーションを実行するための制御装置であって、少なくとも１つのアプリケーションの実際のアプリケーションデータから実際のフィンガープリントを形成し、少なくとも１つのアプリケーションの元のフィンガープリントと比較し、実際のフィンガープリントと元のフィンガープリントの間で相違が生じている場合に、アプリケーションの代わりに代替処理を実行するように構成されている、制御装置が提供される。
【００１８】
上記課題を解決するために、本発明の第３の観点によれば、本発明の第２の観点による少なくとも１つの制御装置を有する、少なくとも１つの車両用アプリケーションを実行するための制御装置群が提供される。
【００１９】
上記制御装置、および少なくとも１つの車両用アプリケーションを実行するための少なくとも２つの上記制御装置を有する制御装置群は、本発明の第１の観点による方法を実行し、または、ハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）によりアプリケーションデータからフィンガープリントを形成するように構成されている。さらに、制御装置および制御装置群の個々の機能は、本発明の第１の観点による方法の少なくとも１つの工程として実現可能である。ここで、個々の機能は、通信の枠組みにおける制御装置間の相互作用によっても実現されうる。
【００２０】
本発明の一実施形態において、制御装置群では、アプリケーションを実行するために少なくとも２つの制御装置間で行われる通信に際して、送信制御装置は、アプリケーションの実際のアプリケーションデータを少なくとも１つの受信制御装置に伝達するように構成されている。一方、少なくとも１つの受信制御装置は、受信された実際のアプリケーションデータからハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）を用いて実際のフィンガープリントを算出して形成する。また、少なくとも１つの受信制御装置は、実際のフィンガープリントと、少なくとも１つの受信制御装置に格納または記憶されている、アプリケーションの元のフィンガープリントとを比較する。そして、少なくとも１つの受信制御装置は、実際のフィンガープリントと元のフィンガープリントの間で相違が生じている場合に、アプリケーションの代わりに代替処理を実行するように構成されている。
【００２１】
上記課題を解決するために、本発明の第４の観点によれば、コンピュータまたは適当な演算ユニット、特に本発明の第２の観点による制御装置および本発明の第３の観点による制御装置群により実行されるプログラムが提供される。本プログラムは、本発明の第１の観点による方法に含まれる工程を実行するためのプログラムコード手段を有するように構成されている。
【００２２】
上記課題を解決するために、本発明の第５の観点によれば、コンピュータまたは適当な演算ユニット、特に本発明の第２の観点による制御装置および本発明の第３の観点による制御装置群により実行されるプログラムを格納するコンピュータ読取り可能な記録媒体が提供される。本記録媒体は、本発明の第１の観点による方法に含まれる工程を実行するためのプログラムコード手段を有するプログラムを記録するように構成されている。
【００２３】
アプリケーションの形態に応じて、元のフィンガープリントは、アプリケーションデータの所定の部分または領域から形成されるように構成可能である。この種の部分または領域の完全性を検査するに際して、実際のフィンガープリントは、元のフィンガープリントに対応するように、アプリケーションデータの所定の部分または領域から形成される。ここで、アプリケーションデータの部分または領域は、アプリケーションデータとして構成されている。
【００２４】
よって、本発明によれば、アプリケーションデータ、またはアプリケーションデータの所定の部分または領域を、これらに対する改ざんを防止するために、少なくとも１つの制御装置または制御装置群に、分散的および／または冗長的に格納することが可能となる。
【００２５】
実際のフィンガープリントは、駆動中に、実際のアプリケーションデータから形成または導出され、特にハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）を用いて算出される。改ざん（操作）および変更の後において、実際のアプリケーションデータは、元のアプリケーションデータと相違したものとなる。よって、実際のアプリケーションデータが元のアプリケーションデータに対応している場合には、車両用アプリケーションが実行可能となる。実際のアプリケーションデータと元のアプリケーションデータの比較には、僅かな記憶領域を必要とする元のフィンガープリントが必要となる。
【００２６】
上記基本機能の他に、本発明は、更に他の用途にも適用可能である。本発明は、例えば、安全性に関わる制御装置内でのコードおよび／またはデータの保護、例えば、ＡＢＳ、ＥＳＰ、またはＸ−ｂｙ−Ｗｉｒｅ等の機械的リンク機構（mechanische Verbindung）のための制御装置にも適用可能である。
【００２７】
以上で説明したように、本発明によれば、例えば、工場渡しの（ab Werk）アプリケーションの元のアプリケーションデータから元のフィンガープリントを算出して決定することで、アプリケーションデータの完全性が定義可能となる。さらに、制御装置または制御装置群に、アプリケーションデータのフィンガープリントを分散することが可能である。実際のアプリケーションデータの完全性は、実際のフィンガープリントと元のフィンガープリントを比較することで検査される。
【００２８】
よって、本発明によれば、特に、埋込みシステム用のデータ、特にアプリケーションデータへのアクセスに対する保護が実現される。この場合、本発明の一実施形態では、車両用アプリケーション、および、この種のアプリケーションのアプリケーションデータのトポロジおよび／または構造が考慮される。
【００２９】
実際のフィンガープリントと元のフィンガープリントの比較により相違が確認される場合には、通常、実際のフィンガープリントおよび実際のアプリケーションデータにエラーが存在していることを意味する。よって、エラーの程度に応じて、段階的な代替処理を実行することができる。
【００３０】
この場合、実際のフィンガープリントおよび実際のアプリケーションデータのエラーを、車両内または少なくとも１つの制御装置内の電子的なログブック等に登録、格納することが可能である。さらに、実際のフィンガープリントのエラーは、エラーランプの点灯、および／または、音声信号により通知可能である。少なくとも１つの制御装置、および制御装置群の機能について代替処理を実現するために、非常時の駆動が設けられてもよい。よって、実際のアプリケーションデータにエラーが存在する場合には、本来実行されるべきアプリケーションの代わりに、代替的な標準アプリケーションが実行される。さらに、少なくとも１つの制御装置および制御装置群の駆動を調整することも可能である。これは、少なくとも１つの制御装置を有する車両の走行駆動が調整されることをも意味する。代替処理は、異なるコンポーネントおよび制御装置によって、局所的および／または分散的に処理可能である。
【００３１】
本発明によれば、特に、データおよび特にアプリケーションデータの完全性および保護が実現される。よって、車両の安全性を高めることが可能である。本発明は、車両用の制御装置の製造に際して利用可能である。この場合、元のフィンガープリントが元のアプリケーションデータに基づいて提供される。
【発明の効果】
【００３２】
以上説明したように本発明によれば、車両用アプリケーションのアプリケーションデータの完全性を確保可能な、車両用アプリケーションの実行方法、制御装置、制御装置群、プログラム、および記録媒体が提供される。
【発明を実施するための最良の形態】
【００３３】
以下に、添付した図面を参照しながら、本発明の好適な実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００３４】
本発明は、実施形態を用いて図に示されている。以下に、図面を参照しながら詳細に記載する。図は互いに関連して総合的に記載されており、同じ参照番号は同じ構成要素を示す。
【００３５】
図１に示す制御装置群２は、本発明の実施形態では同一の構成を有する第１制御装置４および第２制御装置６を含んでいる。制御装置４、６の駆動時には、両制御装置４、６が少なくとも１つのアプリケーション８を実行するように構成されている。図１に示す状況では、本実施形態に係る方法の枠組みにおいて、製造時に、アプリケーション８の実行のために両制御装置４、６が調整されている。
【００３６】
アプリケーション８は、製造者により準備されている元のアプリケーションデータ１０を有している。本実施形態に係る方法により、ハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）１２によって、元のアプリケーションデータ１０から元のフィンガープリント１４が算出され、形成される。アプリケーション８の元のフィンガープリント１４は、各制御装置４、６に伝送されて格納される。
【００３７】
図２は、本実施形態に係る制御装置群２において、元のフィンガープリント１４を格納した２つの制御装置４、６を示している。制御装置４、６の駆動時には、第１制御装置（送信制御装置）４は、第２制御装置（受信制御装置）６との間で行われる通信の枠組みでアプリケーション８を伝達し、アプリケーション８を実行するように受信制御装置６に要求する。ここで、アプリケーション８は、実際のアプリケーションデータ１６を有している。アプリケーション８を実行する前に、受信制御装置６は、ハッシュ関数（Streuwertfunktion /Hash-Wert-Funktion）１２を用いて、アプリケーション８の実際のアプリケーションデータ１６から実際のフィンガープリント１８を形成する。
【００３８】
本方法の過程では、実際のフィンガープリント１８の検査２０が行なわれる。その際、検査２０の枠組みで実際のフィンガープリント１８とアプリケーション８の元のフィンガープリント１４が比較される。
【００３９】
本方法の目的は、特に、実際のアプリケーションデータ１６の完全性を検査することにある。よって、実際のアプリケーションデータ１６が改ざんされておらず、元のアプリケーションデータ１０に対応している場合に、実際のアプリケーション８は実行可能となる。実際のアプリケーションデータ１６が変更されている場合に、本実施形態では、アプリケーション８の代わりに代替処理２２が行なわれる。
【００４０】
実際のアプリケーションデータ１６の完全性の検査２０は、実際のアプリケーションデータ１６と、元のアプリケーションデータ１０との比較により行なわれる。
【００４１】
実際のフィンガープリント１８と元のフィンガープリント１４が一致している場合には、実際のアプリケーションデータ１６と元のアプリケーションデータ１０も一致している。よって、本方法は、検査２０が行なわれた後、アプリケーション８が実行されるように続行される。このことは、図２では、下部の破線で囲まれたアプリケーション８により示されている。
【００４２】
実際のフィンガープリント１８と元のフィンガープリント１４が一致していない場合には、実際のアプリケーションデータ１６は、アプリケーション８の元のアプリケーションデータ１０に対応していない。よって、アプリケーションデータ１６が変更されていると推定される。この場合、検査２０が行われた後に代替処理２２が続行される。このことは、例えば、アプリケーション８の実行が制限され、または修正されることを意味しうる。その際、通常では、追加的な措置および／またはアプリケーション８に対する代替的な措置が採られる。
【００４３】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態に係る２つの制御装置を有する制御装置群、および本発明の変形例に係る方法の工程を実行する場合のアプリケーションを示す図である。
【図２】本発明の実施形態に係る方法の更に別の工程を実行する場合を示す図である。
【符号の説明】
【００４５】
２    制御装置群
４、６    制御装置
８    アプリケーション
１０    元のアプリケーションデータ
１２    ハッシュ関数
１４    元のフィンガープリント
１６    実際のアプリケーションデータ
１８    実際のフィンガープリント
２０    検査
２２    代替処理
【図１】
2009099146.tif 000003
【図２】
2009099146.tif 000004