(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-13
(54)【発明の名称】インタフェースを備える装置およびインタフェースを備える装置の動作方法
(51)【国際特許分類】
G01M 17/007 20060101AFI20230306BHJP
【FI】
G01M17/007 Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022537754
(86)(22)【出願日】2020-12-17
(85)【翻訳文提出日】2022-06-17
(86)【国際出願番号】 EP2020086828
(87)【国際公開番号】W WO2021123024
(87)【国際公開日】2021-06-24
(31)【優先権主張番号】102020216048.1
(32)【優先日】2020-12-16
(33)【優先権主張国・地域又は機関】DE
(31)【優先権主張番号】102019220362.0
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】マヌエル ヤウス
(72)【発明者】
【氏名】ティモ ロートシュパイヒ
(72)【発明者】
【氏名】ムスタファ カルタール
(57)【要約】
装置(100)の動作方法、すなわち自動車の制御機器の動作方法であって、装置(100)は、外部ユニット(200)とのデータ交換のための少なくとも1つのインタフェース(120)を有しており、かつ状態変数(ZV)を不揮発性に格納するための少なくとも1つの第1のメモリ機器(130)を含んでおり、この方法(300)は、次のステップ、すなわち、状態変数(ZV)の評価(310)、およびこの評価(310)に応じた、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行(360)の制御のための、少なくとも1つのコンピュータプログラム(PRG1)の実行および/または伝送のイネーブル化(320)または非イネーブル化(330)を含んでおり、この伝送はインタフェース(120)を介して、外部ユニット(200)から行われ、状態変数(ZV)の値は、装置(100)の使用段階に割り当てられており、方法(300)は、さらなるステップ、すなわち、装置(100)の使用段階に応じた、かつ/または装置(100)のある使用段階から装置(100)のさらなる使用段階への移行に応じた、状態変数(ZV)の値の変更(380)を含んでおり、状態変数(ZV)の値の変更を、特に値を増加させることによって、かつ/または特に不可逆的に行う。
【特許請求の範囲】
【請求項1】
装置(100)の動作方法、すなわち自動車の制御機器の動作方法であって、
前記装置(100)は、外部ユニット(200)とのデータ交換のための少なくとも1つのインタフェース(120)を有しており、かつ状態変数(ZV)を不揮発性に格納するための少なくとも1つの第1のメモリ機器(130)を含んでおり、
前記方法(300)は、
前記状態変数(ZV)の評価(310)、および前記評価(310)に応じた、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行(360)の制御のための、少なくとも1つのコンピュータプログラム(PRG1)の実行および/または伝送のイネーブル化(320)または非イネーブル化(330)を含んでおり、前記伝送は前記インタフェース(120)を介して、前記外部ユニット(200)から行われ、
前記状態変数(ZV)の値は、前記装置(100)の使用段階に割り当てられており、
前記方法(300)は、前記装置(100)の使用段階に応じた、かつ/または前記装置(100)のある使用段階から前記装置(100)のさらなる使用段階への移行に応じた、前記状態変数(ZV)の値の変更(380)というさらなるステップを含んでおり、
前記状態変数(ZV)の値の前記変更を、特に値を増加させることによって、かつ/または特に不可逆的に行う、
方法。
【請求項2】
前記装置(100)は少なくとも2つまたは3つ、特に4つまたは5つの異なる使用段階を有しており、
各使用段階は特に各セキュリティ要件によって特徴付けられており、
特に前記状態変数(ZV)の少なくとも1つの第1の値は第1の使用段階、特に製造段階に割り当てられており、前記装置(100)の前記第1の使用段階は低いセキュリティ要件によって特徴付けられており、またはセキュリティ要件によって特徴付けられておらず、
少なくとも1つのさらなる、特に第3の値は、前記装置(100)のさらなる、特に第3の使用段階、特に現場段階に割り当てられており、前記装置(100)の前記さらなる、特に第3の使用段階は高いセキュリティ要件によって特徴付けられている、請求項1記載の方法。
【請求項3】
前記状態変数(ZV)の第1の値は前記装置(100)の第1の使用段階に割り当てられており、
前記装置(100)の前記第1の使用段階では、証明(340)を伴わずに、前記コンピュータプログラム(PRG1)の実行および/または伝送をイネーブル化する、請求項1から2までの少なくとも1項記載の方法。
【請求項4】
前記状態変数(ZV)のさらなる値は前記装置(100)のさらなる使用段階、特に現場段階に割り当てられており、
前記装置(100)の前記さらなる使用段階では、前記コンピュータプログラム(PRG1)の実行および/または伝送をイネーブル化せず、かつ/または前記インタフェース(120)は利用不可能であり、かつ/または再アクティブ化不可能であり、かつ/または前記インタフェース(120)への相応するアクセスパスを特にブートローダから消去する、請求項1から3までの少なくとも1項記載の方法。
【請求項5】
前記装置(100)は少なくとも1つの、特に前記インタフェース(120)とは異なる診断インタフェース(150)を有しており、前記診断インタフェース(150)を介して、前記インタフェース(120)の再アクティブ化が開始され得る、請求項1から4までのいずれか1項記載の方法。
【請求項6】
前記状態変数(ZV)の前記第1の値と前記状態変数(ZV)の前記さらなる値との間で、前記状態変数(ZV)の任意選択的な第2の値が前記装置(100)の任意選択的な第2の使用段階、特に保管段階に割り当てられており、
前記装置(100)の前記任意選択的な第2の使用段階では、証明(340)の後にのみ、前記コンピュータプログラム(PRG1)の実行および/または伝送をイネーブル化する、請求項1から5までの少なくとも1項記載の方法。
【請求項7】
前記状態変数(ZV)の前記任意選択的な第2の値への切り替えを伴わない、前記状態変数(ZV)の前記第1の値の、前記状態変数(ZV)の前記さらなる値への直接的な切り替えによって、前記任意選択的な第2の値への前記状態変数(ZV)の変更が可能ではなくなる、請求項1から6までの少なくとも1項記載の方法。
【請求項8】
前記状態変数(ZV)のさらなる別の値が前記装置(100)のさらなる別の使用段階、特に返品段階および/または分析段階に割り当てられており、
前記装置(100)の前記さらなる別の使用段階では、前記コンピュータプログラム(PRG1)の実行および/または伝送を、特に、バックエンド、トラストセンタなどのさらなる外部機器を介して、証明(340)の後にのみ、イネーブル化する、請求項1から7までの少なくとも1項記載の方法。
【請求項9】
前記方法は、特に暗号による、前記装置(100)の前記インタフェース(120)の保護(370)をさらに有している、請求項1から8までの少なくとも1項記載の方法。
【請求項10】
前記方法(300)は、前記外部ユニット(200)および/または前記外部ユニット(200)のユーザの証明(340)をさらに有しており、
成功した証明(340)の後に、前記インタフェース(120)を介した、前記外部ユニット(200)から第2のメモリ機器(140)への前記少なくとも1つのコンピュータプログラム(PRG1)の前記伝送の前記イネーブル化(320)を行い、成功しなかった証明(340)の後に、前記インタフェース(120)を介した、前記外部ユニット(200)から前記第2のメモリ機器(140)への前記少なくとも1つのコンピュータプログラム(PRG1)の前記伝送の前記非イネーブル化(330)を行う、請求項1から9までの少なくとも1項記載の方法(300)。
【請求項11】
前記証明(340)を前記状態変数(ZV)の値に応じて実行し、
特に、前記状態変数(ZV)が前記さらなる値、特に第3の値、または前記さらなる別の値、特に第4の値を有している場合に前記証明(340)を実行し、特に、前記状態変数(ZV)が前記第1の値を有している場合に前記証明(340)を実行しない、請求項1から10までの少なくとも1項記載の方法(300)。
【請求項12】
前記方法は、伝送された前記コンピュータプログラム(PRG1)の確認(350)をさらに含んでおり、
前記伝送されたコンピュータプログラム(PRG1)の成功した確認(350)の後には、前記伝送されたコンピュータプログラム(PRG1)を前記装置(100)によって実行し(360a)、前記コンピュータプログラム(PRG1)の成功しなかった確認(350)の後には、前記伝送されたコンピュータプログラム(PRG1)を実行しない(360b)、請求項1から11までの少なくとも1項記載の方法(300)。
【請求項13】
装置(100)であって、前記装置(100)は外部ユニット(200)とのデータ交換のためのインタフェース(120)と、状態変数(ZV)を不揮発性に格納するための少なくとも1つの第1のメモリ機器(130)と、特に前記装置(100)によって実行可能な、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行(360)の制御のための少なくとも1つのコンピュータプログラム(PRG1)を格納するための少なくとも1つの第2のメモリ機器(140)とを備えており、
前記装置(100)は、請求項1から12までの少なくとも1項記載の前記方法(300)を実施するように構成されている、
装置(100)。
【請求項14】
前記第1のメモリ機器(130)はワンタイムプログラマブル(OTP)メモリを含んでいる、または前記第1のメモリ機器(130)はワンタイムプログラマブル(OTP)メモリの一部であり、かつ/または前記第1のメモリ機器(130)はハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールを含んでいる、または前記第1のメモリ機器(130)はハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールの一部である、請求項13記載の装置(100)。
【請求項15】
特にコンピュータプログラム(PRG2)の形態の命令を含んでいるコンピュータ可読記憶媒体(SM)であって、
前記命令は、請求項13から14までの少なくとも1項記載のコンピュータによって実行されると、前記コンピュータに、請求項1から12までの少なくとも1項記載の方法(300)を実施させる、
コンピュータ可読記憶媒体(SM)。
【請求項16】
コンピュータプログラム(PRG2)であって、
前記コンピュータプログラム(PRG2)はコンピュータ可読命令を含んでおり、前記コンピュータ可読命令がコンピュータによって、特にコンピュータのコンピューティング機器によって、特に、請求項13から14までの少なくとも1項記載の装置(100)のコンピューティング機器(110)によって実行されると、請求項1から12までの少なくとも1項記載の方法が実施される、
コンピュータプログラム(PRG2)。
【発明の詳細な説明】
【技術分野】
【0001】
従来技術
本開示は、外部ユニットとのデータ交換のためのインタフェースを有している装置の動作方法に関する。
【0002】
本開示はさらに、外部ユニットとのデータ交換のためのインタフェースを備える装置に関する。
【0003】
独国特許出願公開第102010008816号明細書からすでにオンライン通信の方法が知られている。求められたセキュリティステータスに応じて、ワイヤレスデータトラフィックネットワークへのアクセスが規制される。
【0004】
発明の開示
これに対して、独立請求項の特徴部分に記載された方法は、装置の使用の異なる使用領域に応じて、段階的なセキュリティコンセプトを、異なる使用段階に正確に合わせて実現することができ、その結果、マニピュレーションに対するセキュリティが強化されるという利点を有している。特に、インタフェースのアクティブ化、およびこれを介してコンピュータプログラム、すなわち検査ソフトウェアが実行されるか否かが、状態変数を使用して、各状況に合うように調整される。状態変数の値を、特に値を増加させることによって、かつ/または特に不可逆的に変更することができることによって、マニピュレーションが行われる可能性はさらに低くなる。
【0005】
好適な発展形態では、装置は少なくとも2つまたは3つ、特に4つまたは5つの異なる使用段階を有しており、ここで各使用段階は特に各セキュリティ要件によって特徴付けられており、特に状態変数の少なくとも1つの第1の値は第1の使用段階、特に製造段階に割り当てられており、少なくとも1つのさらなる値、特に第2の値は、装置のさらなる、特に第2の使用段階、特に現場段階に割り当てられており、ここで装置のこのさらなる使用段階は、高いセキュリティ要件によって特徴付けられている。まさに、異なる使用段階において、装置は、異なる、マニピュレーションが行われる可能性にさらされている。製造段階では、マニピュレーションが行われる可能性はかなり制限されている。特に、ラインの最後で、製造が行われた後に装置を検査するために、検査ソフトウェアが特に迅速に実行され得る。これは、第1の使用段階において、証明を伴わずに、コンピュータプログラムの実行および/または伝送がイネーブル化されることによって特に有利に実現される。
【0006】
特に有利には、さらなる使用段階において、コンピュータプログラムの実行および/または伝送はイネーブル化されない。装置は、たとえば、車両での動作中にのみ、制御機器の形で存在しており、したがって、そこで多数のマニピュレーションの試みにさらされる。セキュリティを強化するために、このようなクリチカルな使用段階では、インタフェースの非アクティブ化が設定されている。特に好適には、さらなる診断インタフェースがアクティブであり、さらなる診断インタフェースを介して、工場での通常の診断機能に加えて、場合によってはインタフェースの再アクティブ化が、高いセキュリティ要件の下で開始され得る。
【0007】
好適な発展形態では、状態変数の第1の値と状態変数のさらなる値との間で、状態変数の任意選択的な第2の値が任意選択的な第2の使用段階、特に保管段階に割り当てられ、ここでこの任意選択的な第2の使用段階では、証明の後にのみ、コンピュータプログラムの実行および/または伝送がイネーブル化される。これによって、この状況での、マニピュレーションが行われる可能性が、製造段階と比較して高いことが考慮に入れられる。
【0008】
好適な発展形態では、状態変数のさらなる別の値が、装置のさらなる別の使用段階、特に返品段階および/または分析段階に割り当てられており、ここで、装置のさらなる別の使用段階においては、コンピュータプログラムの実行および/または伝送は、特にバックエンドまたはトラストセンタなどのさらなる機器を介して、証明の後にのみ、イネーブル化される。まさに、各使用段階において異なるセキュリティ要件を伴う段階的なセキュリティコンセプトによって、さらなる攻撃を減らすことができる。
【0009】
さらなる有利な実施形態では、コンピュータプログラムは有利には、装置の動作、特にシステム関連動作、特にハードウェアの検査、特にハードウェアの最終検査ならびに/または装置のデータ入力、特に少なくとも1つの機能および/または少なくとも構成の伝送を実行するように構成されている。たとえば、コンピュータプログラムが、アクティベーションソフトウェア、特に装置の機能をイネーブル化するための機能オンデマンドアクティベーションソフトウェアを実行するように構成されていてもよい。さらなる実施形態では、コンピュータプログラムは、アクティベーションソフトウェアまたはアクティベーションソフトウェアの一部を含んでいてもよい。
【0010】
さらなる有利な実施形態では、装置は、特に自動車用、たとえば自動車の内燃機関用の制御機器(電子制御機器 ECU)である。しかし、さらなる有利な実施形態では、実施形態に相応する原理の適用は、自動車領域もしくは制御機器の領域に制限されていない。
【0011】
さらなる有利な実施形態では、第2のメモリ機器は、少なくとも1つの、特に装置によって実行可能なコンピュータプログラムを揮発性に格納するためのメモリ機器である。さらなる有利な実施形態では、第2のメモリ機器は、メインメモリ、RAM、ランダムアクセスメモリである。まさに、ハードウェア/電源オフリセットが実行された後に、揮発性メモリの特徴的な動作に基づいてソフトウェアがRAMから自動的に消去されるので、コンピュータプログラムがRAMにロードされることによって、ソフトウェアがこの装置内に永続的に残ることはなくなる。永続的なメモリへの保存を省くことができる。コンピュータプログラムに対するメモリの予約、ひいてはメモリの浪費は行われない。相応するメモリ領域を、通常動作時に、他の機能のために使用することができる。したがって、この方法は、大容量の不揮発性メモリを備える装置にも、小容量の不揮発性メモリを備える装置にも使用可能である。
【0012】
さらなる有利な実施形態では、第1のメモリ機器は、たとえばフラッシュメモリ、たとえばフラッシュEEPROMもしくはNORフラッシュまたはNANDフラッシュまたは不揮発性メインメモリ、NVRAM、不揮発性ランダムアクセスメモリ、たとえばFeRAM、MRAM、PCRAM、NRAMである。
【0013】
さらなる有利な実施形態では、第1のメモリ機器がワンタイムプログラマブル(OTP)メモリを含んでいること、または第1のメモリ機器がワンタイムプログラマブル(OTP)メモリの一部であることが設定されている。
【0014】
さらなる有利な実施形態では、第1のメモリ機器がハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールを含んでいること、または第1のメモリ機器がハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールの一部であることが設定されている。ハードウェアセキュリティモジュールは、たとえば、暗号化方法もしくはアルゴリズム、あるいはそれらの少なくとも一部を実行するように構成されている。
【0015】
さらなる有利な実施形態では、ハードウェアセキュリティモジュール(HSM)が、状態変数を格納するための、保護された、特に別個のメモリを有していることが設定されている。
【0016】
本発明のさらなる特徴、用途および利点は、図示されている、本発明の例示的な実施形態の以降の説明から明らかになる。ここで、説明されたまたは図示されたすべての特徴は、特許請求の範囲におけるそれらのまとめまたはそれらの引用関係ならびに明細書もしくは図面におけるそれらの表現もしくは図示に関係なく、それ自体で、または任意の組み合わせで、本発明の構成要件を成す。
【図面の簡単な説明】
【0017】
【
図1】有利な実施形態による装置の簡略化されたブロック図および外部ユニットを示す図である。
【
図2】さらなる有利な実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図3】さらなる有利な実施形態による方法の一部の簡略化されたフローチャートを概略的に示す図である。
【
図4】さらなる有利な実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図5】さらなる有利な実施形態による方法の一部の簡略化されたフローチャートを概略的に示す図である。
【
図6】さらなる有利な実施形態による方法の一部の簡略化されたフローチャートを概略的に示す図である。
【0018】
図1は、有利な実施形態による装置100の簡略化されたブロック図を概略的に示している。装置100は、有利には制御機器(電子制御機器 ECU)である。
【0019】
さらなる有利な実施形態では、装置100は、特に自動車用、たとえば自動車の内燃機関用の制御機器として構成されていてもよい。しかし、さらなる有利な実施形態では、実施形態に相応する原理の適用は、自動車領域もしくは制御機器の領域に制限されていない。
【0020】
装置100は、有利には、少なくとも1つのコンピューティング機器110を有しており、少なくとも1つのコンピューティング機器110には、特に、少なくとも1つのコンピュータプログラムPRG1、PRG2の少なくとも一時的な格納のために、特に、装置100の動作の制御のために、たとえばメモリ機器130、140が割り当てられていてもよい。さらなる有利な実施形態では、メモリ機器130、140に、複数のコンピュータプログラムが格納されていてもよく、これはたとえば、ブートローダ、すなわち、装置もしくは装置100のコンピューティング機器110のスタートプロセス、もしくは特にスタートプロセスの後のさらなるコンピュータプログラムPRG1、PRG2の呼び出しを制御することができるコンピュータプログラムである。ならびに、メモリ機器130、140に、たとえば、装置100のオペレーティングシステムおよび/またはアプリケーションプログラムであるさらなるコンピュータプログラムPRG1、PRG2が格納されていてもよい。
【0021】
さらなる有利な実施形態では、コンピューティング機器110は、要素であるマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、プログラム可能なロジックモジュール(たとえば、FPGA、フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、ハードウェア回路のうちの少なくとも1つの要素を有している。さらなる有利な実施形態では、それらの組み合わせも考えられる。
【0022】
装置100は、インタフェース120を有している。インタフェース120は、たとえば、好ましくは双方向の通信インタフェース(アドレスバスおよび/またはデータバスおよび/またはシリアル通信バスなど)であってもよく、これを介して、特に装置100を検査するために、装置100が外部ユニット200とデータ交換のために接続され得る。外部ユニットは、たとえば、コンピュータ、特に検査コンピュータであり、これは、コンピューティングユニットと、コンピューティングユニットと接続されている少なくとも1つのメモリユニットとを有しており、このメモリユニットに、ソフトウェア、特に検査ソフトウェアが実行可能に格納されている。装置100を検査するために、たとえば、End of Line(EoL)検査の一部として、特に装置100の製造プロセスの最後で、インタフェース120を介して、コンピュータプログラムPRG1が、特に検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行を制御するために、外部ユニット200から装置100、特に装置100のメモリ機器140に伝送される。検査ソフトウェアは、有利には製造中の、もしくはラインの最後でのハードウェア検査に使用されるが、返品分析にも使用され得る。
【0023】
さらなる有利な実施形態では、インタフェース120が、特にユニバーサルな検査インタフェースおよび/または診断インタフェース、特にイーサネットインタフェースまたはCANインタフェースであることが設定されている。
【0024】
有利には、インタフェース120を介して、検査、特に、装置100のハードウェア検査および/またはソフトウェア検査が可能である。ここで、インタフェース120を介して、特に検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行時に、装置100のハードウェアへのアクセスが可能である。インタフェース120を介したこのようなアクセスの潜在的な乱用を阻止するために、インタフェース120は適切な措置によって保護されるべきである。インタフェース120を保護するためのそのような措置の有利な実施形態を、
図1~
図6を参照して以降で説明する。
【0025】
さらに、装置100は、(インタフェース120の他に)診断インタフェース150を含んでいる。車両がたとえば工場で通常動作にあるときに、診断インタフェース150を介して、さらなる使用段階(現場段階)の間に通常の診断プロセスが実行され得る。診断インタフェース150と相互作用する対応する診断ソフトウェアは、特に検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行を制御する上記のコンピュータプログラムPRG1とは実質的に異なっている。診断インタフェース150の一部として実行される対応する診断ソフトウェアは、たとえば、不揮発性メモリ130内に固定して格納されていてもよい。
【0026】
後述するように、現場段階において静止状態のインタフェース120の再アクティブ化が、診断インタフェース150を介して開始され得る。インタフェース150は、ロジックインタフェースであってもよく、すなわち、インタフェース120、150は、物理的には同じインタフェースを用いているが、異なるプロトコルを使用する。択一的に、これが、異なるポートを備える、物理的に異なるインタフェースであってもよい。
【0027】
有利な実施形態では、装置100は、状態変数ZVを不揮発性に格納するための少なくとも1つの第1のメモリ機器130と、少なくとも1つの、特に装置によって実行可能な、特に、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行を制御するためのコンピュータプログラムPRG1を格納するための少なくとも1つの第2のメモリ機器140とを含んでいる。
【0028】
コンピュータプログラムPRG1を格納するための第2のメモリ機器140は、たとえば、コンピュータプログラムPRG1を揮発性に格納するためのメモリ機器であり、たとえば、メインメモリ、RAM、ランダムアクセスメモリである。装置100の検査の一部として、たとえば、End of Line(EoL)検査(ライン終端部での検査、製造後の検査)の一部として、特に装置100の製造プロセスの最後に、インタフェース120を介して、コンピュータプログラムPRG1が、装置100のメモリ機器140に伝送される。
【0029】
さらなる有利な実施形態では、コンピュータプログラムPRG1は、特権的権利を含んでおり、特にコンピュータプログラムPRG1の実行時、特に検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行時に、装置100のハードウェアへのアクセスならびに/または装置100のメモリ機器の読み取りおよび/または書き込みが可能であり得る。これらの特権的権利の潜在的な乱用を阻止するために、コンピュータプログラムPRG1を実行後に、装置100の第2のメモリ機器140から消去することが有利であり得る。
【0030】
揮発性メモリの特徴的な動作に基づいて、コンピュータプログラムPRG1は、特にハードウェア、ハードウェア/電源オフリセットの実行時に、特に装置100の供給電圧のシャットダウン時に、第2のメモリ機器140から消去される。すなわち、ハードウェア/電源オフリセットが実行されると、コンピュータプログラムPRG1が消去され、明示的な消去は不必要である。さらに、コンピュータプログラムPRG1は、揮発性メモリ内に置かれることによって、第1のメモリ機器130のメモリ、特に永続的な格納を必要としない。
【0031】
コンピュータプログラムPRG1は、特に、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行、すなわち、ライン終端部での、すなわち装置100の製造後の装置100(たとえば、自動車の制御機器)の検査の実行を制御するためのコンピュータプログラムである。さらなる有利な実施形態では、コンピュータプログラムPRG1は、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェア、またはその一部も含むことができる。コンピュータプログラムPRG1は、有利には、装置100の動作、特にシステム関連動作、特にハードウェアの検査、特にハードウェアの最終検査ならびに/または装置100のデータ入力、特に少なくとも1つの機能および/または少なくとも1つの構成の伝送および/またはイネーブル化を実行するように構成されている。これによって、特に、製造の一部として、詳細なハードウェアの最終検査およびコンピュータプログラムPRG1を介した装置100への製造関連データの書き込みが可能になる。完成し、完全にプログラムされ、コンピュータプログラムPRG1によって検査された装置100は、製造段階に続いて、顧客(たとえば車両製造業者)に直接供給される(さらに、続いて現場段階に達する)、または保管庫に到達し(保管段階)、続いて顧客に供給される。コンピュータプログラムPRG1を介して提供される詳細なハードウェア検査などは、返品段階の一部における証明後の返品分析の一部として、またはセットされた第1の分析フラグFA1において、再び実行され得る。乱用に対するセキュリティを強化するために、インタフェース120は、現場段階において永続的に非アクティブ化されるので、現場段階において、インタフェース120のみを介して装置100にアクセスすることは不可能である。
【0032】
さらなる有利な実施形態では、コンピュータプログラムPRG1は、有利には、状態変数ZVを変更するように構成されている。コンピュータプログラムPRG1は、有利には、コンピュータ可読命令を含んでおり、コンピュータ可読命令が装置100によって、特に装置100のコンピューティング機器110によって実行されると、状態変数ZVの変更が実行される。これに関しては、
図6を参照した、後述の説明を参照されたい。
【0033】
たとえば、ブートローダ内の到達パスもしくはインタフェース120のアドレス指定が消去されることによって、コンピュータプログラムPRG1は、インタフェース120を再プログラミングおよび/または非アクティブ化するためのプログラム部分も含むことができる。
【0034】
コンピュータプログラムPRG1は、特にファイル、特にHexファイルとして、または連続して複数の、特にそれ自体実行可能なファイル、特にHexファイルとして第2のメモリ機器140に伝送されてもよく、ここで、用語「Hexファイル」は機械読み取り可能なあらゆるコードフォームを含み得る。特に、1つの全体的なHexファイルとして、または複数の個別のHexファイルとしてのコンピュータプログラムPRG1の伝送を、有利には、第2のメモリ機器140の利用可能な格納場所に合うように調整することができる。
【0035】
第1のメモリ機器130は、たとえばフラッシュメモリ、たとえばフラッシュEEPROMもしくはNORフラッシュまたはNANDフラッシュまたは不揮発性メインメモリ、NVRAM、不揮発性ランダムアクセスメモリ、たとえばFeRAM、MRAM、PCRAM、NRAMである。有利には、装置100は、特に状態変数ZVを評価するために、必要に応じて、第1のメモリ機器130から状態変数ZVを読み取ることができる。
【0036】
装置100、特に装置100のコンピューティング機器110は、図を参照して以降で説明される方法300を実施するように構成されている。
【0037】
さらなる有利な実施形態は、装置100の動作方法300に関する。方法300は、有利には、装置100のスタートプロセスもしくはブートプロセスの一部として、かつ/または装置100のスタートプロセスもしくはブートプロセスに続いて実施される。実施形態に即した方法300は、次のステップ、すなわち状態変数ZVの評価310、および評価310に応じた、インタフェース120を介して、外部ユニット200から第2のメモリ機器140へと行われる、特に、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行の制御のためのコンピュータプログラムPRG1の伝送のイネーブル化320または非イネーブル化330を含んでいる(
図2の簡略化されたフローチャートも参照されたい)。伝送のイネーブル化320に続いて、有利には、コンピュータプログラムPRG1は、装置100の第2のメモリ機器140に伝送され、続いて実行される(
図2には図示されていない)。
【0038】
コンピュータプログラムPRG1が実行された後、特にハードウェア/電源オフリセットの実行時に、特に装置100の供給電圧のシャットダウン時に、コンピュータプログラムPRG1は第2のメモリ機器140から消去される。すなわち、コンピュータプログラムPRG1による格納場所の予約は、特に装置100の検査の一部として、特にEnd of Line(EoL)検査の一部として、一時的にのみ行われる。これに続いて、第2のメモリ機器140の対応する格納場所は、たとえば自動車内の制御機器としての、通常動作時の装置100の使用時などに、装置100のさらなる機能、アプリケーションの実行のために使用され得る。
【0039】
さらなる有利な実施形態では、インタフェース120を介した外部ユニット200から第2のメモリ機器140へのコンピュータプログラムPRG1の伝送のイネーブル化320または非イネーブル化330は、状態変数ZVに応じて行われる。
【0040】
状態変数ZV、特に状態変数ZVの値は、有利には、装置100の状態、特に装置100のライフサイクルの各段階を特徴付ける。
【0041】
さらなる有利な実施形態では、状態変数ZVの値が装置100の使用段階に割り当てられていることが設定されている。すなわち、インタフェース120を介した外部ユニット200から第2のメモリ機器140へのコンピュータプログラムPRG1の伝送のイネーブル化320または非イネーブル化330は、装置100の使用段階に応じて行われる。
【0042】
有利な実施形態による装置100の使用段階は、たとえば、製造段階(Tier1-製造)とも称される第1の使用段階、保管段階(保管庫)とも称される第2の使用段階、現場段階(OEM製造/現場)とも称される第3の使用段階、返品段階(返品分析)とも称される第4の使用段階である。第1の使用段階では、装置100が製造され、製造業者(Tier1)の下に存在する。この段階では、特に装置100の製造プロセスに続いて、有利には装置100の検査、たとえば、End of Line(EoL)検査もしくはライン終端部での検査が実行される。第2の使用段階では、装置100は、少なくとも一時的に、特に製造業者の保管施設または外部の保管施設に保管される。この段階では、特に顧客、特にOEMに引き渡す前に、有利には、装置100の再度の検査、たとえばEnd of Line(EoL)検査が実行される。第3の使用段階では、装置100は、顧客、特にOEMの下でまたは現場において使用される。このような使用段階では、装置100の検査、特にEoL検査は実行可能ではない。第4の使用段階では、装置100は製造業者に戻され、製造業者の下で、たとえば返品分析の一部として(再度)検査される。
【0043】
上記の使用段階の列挙は、有利な例示的な実施形態に関するものであり、単に例示的なものである。本発明の適用の範囲において、装置100は、有利には、挙げられた使用段階および/またはさらなる使用段階の一部を含むことができる。
【0044】
さらなる有利な実施形態では、状態変数ZVが、第3の使用段階、すなわち現場段階に割り当てられている値を有している場合、すなわち、状態変数ZVの評価310が、状態変数ZVが、第3の使用段階、すなわち現場段階に割り当てられている値を有していることを示す場合、インタフェース120を介した外部ユニット200から第2のメモリ機器140へのコンピュータプログラムPRG1の伝送がイネーブル化されない330ことが設定されている。すなわち、以降ではEoLアクセスとも称される、コンピュータプログラムPRG1を伝送するためのインタフェースを介したアクセスは、第3の使用段階、特に現場段階においては利用可能ではない。
【0045】
さらなる有利な実施形態では、状態変数ZVが、第1の使用段階、特に製造段階に割り当てられている値を有している場合、すなわち、状態変数ZVの評価310が、状態変数ZVが、第1の使用段階、特に製造段階に割り当てられている値を有していることを示す場合、インタフェース120を介した外部ユニット200から第2のメモリ機器140へのコンピュータプログラムPRG1の伝送がイネーブル化される320ことが設定されている。
【0046】
状態変数ZVの評価310は、特に、状態変数ZVが、第3の使用段階、すなわち現場段階に割り当てられている値を有しているか否かの照会310aを含むことができる(
図3を参照されたい)。状態変数ZVが、第3の使用段階、すなわち現場段階に割り当てられている値を有している場合、インタフェース120を介した外部ユニット200から第2のメモリ機器140へのコンピュータプログラムPRG1の伝送の非イネーブル化330が行われる。
【0047】
有利には、非イネーブル化330に続く、装置100のスタートプロセスもしくはブートプロセスの一部として、かつ/または装置100のスタートプロセスもしくはブートプロセスに続いて、さらなる特に任意選択的なステップ330aにおいて、特にアプリケーションプログラムを用いて装置100をプログラミングするためのプログラミングクエリ、特に、再プログラミングクエリが存在しているか否かが照会されることが設定されている。次に、この照会330aの結果に応じて、有利には、さらなる、特に任意選択的なステップ330bである、プログラミング、特に再プログラミングの実行、またはステップ330cであるアプリケーションの実行が実行される。
【0048】
さらに、状態変数ZVの評価310は、特に、状態変数ZVが、第1の使用段階、すなわち製造段階に割り当てられている値を有しているか否かの照会310cを含むことができる。状態変数ZVが、第1の使用段階、すなわち製造段階に割り当てられている値を有している場合、インタフェース120を介した外部ユニット200から第2のメモリ機器140へのコンピュータプログラムPRG1の伝送がイネーブル化320される。伝送のイネーブル化320に続いて、有利にはコンピュータプログラムPRG1が装置の第2のメモリ機器140に伝送され、実行される360。
【0049】
有利には、コンピュータプログラムPRG1の伝送のイネーブル化320の前に、ステップ320aにおいて、装置100の検査、特にEnd of Line(EoL)検査の実行のクエリが存在しているか否かがさらに照会され、装置100の検査、特にEnd of Line(EoL)検査の実行のクエリが存在している場合にはじめて、インタフェース120を介した外部ユニット200から第2のメモリ機器140へのコンピュータプログラムPRG1の伝送がイネーブル化される320ことが設定されている。さらに、有利には、装置100の検査、特にEnd of Line(EoL)検査の実行のクエリが存在しているケースでないときに、さらなる、特に任意選択的なステップ330aにおいて、特に、アプリケーションプログラムでの装置100のプログラミングのためのプログラミングクエリ、特に再プログラミングクエリが存在しているか否かが照会されることが設定されていてもよい。次に、この照会330aの結果に応じて、有利には、さらなる、特に任意選択的なステップ330bである、プログラミング、特に再プログラミングの実行、またはステップ330cであるアプリケーションの実行が実行される。
【0050】
さらなる有利な実施形態では、装置100が、少なくとも2つ、3つ、特に4つまたは5つの異なる使用段階を有していることが設定されており、ここでは各使用段階は、特に各セキュリティ要件によって特徴付けられており、特に状態変数ZVの少なくとも1つの第1の値は第1の段階に割り当てられており、ここで装置100の第1の使用段階は低いセキュリティ要件によって特徴付けられており、少なくとも1つのさらなる、特に第2の値は、装置100のさらなる、特に第2の使用段階に割り当てられており、ここで装置100の、さらなる、特に第2の使用段階は高いセキュリティ要件によって特徴付けられている。使用段階は、有利には、上記の使用段階、すなわち、製造段階(Tier1-製造)とも称される第1の使用段階、保管段階(保管庫)とも称される第2の使用段階、現場段階(OEM製造/現場)とも称される第3の使用段階および返品段階(返品分析)とも称される第4の使用段階である。
【0051】
第1の使用段階はたとえば製造段階である。この段階では、装置は製造業者(Tier1)の「安全な」環境にある。したがって、有利には第1の使用段階は、低いセキュリティ要件によって特徴付けられている。装置100の第1の使用段階(状態変数ZVは第1の値に対応する)では、コンピュータプログラムPRG1の実行および/または伝送は、証明(ステップ340を参照されたい)を伴わずに、イネーブル化される。コンピュータプログラムPRG1は、ブートローダ(FBL、フラッシュブートローダ、揮発性または不揮発性のメモリ機器140、130にソフトウェアをロード/書き込むためのソフトウェアモジュール)によって第2のメモリ機器140にロードされ、そこから実行される。ハードウェア/電源オフリセットが実行された後、コンピュータプログラムPRG1は、揮発性の第2のメモリ機器140の特徴的な動作に基づいて、RAMから自動的に消去される。コンピュータプログラムPRG1のために、付加的な永続的なメモリ領域を取り置いておく必要はない。さらに、コンピュータプログラムPRG1は装置100上に永続的には留まらないので、これによってセキュリティが強化される。したがって、インタフェース120は、特に初めての製造実行の範囲において、利用可能であるが、保護されていない。
【0052】
任意選択的な第2の使用段階は、たとえば保管段階である。特に、装置100は、第2の使用段階において、製造業者の安全な環境を離れている、またはいずれ離れるであろうことが設定されている。インタフェース120を介したアクセスの乱用を阻止するために、有利には、少なくとも、第2の使用段階に対して、インタフェース120の保護に対するより高いセキュリティ要件が有効である。したがって、有利には、少なくとも、任意選択的な第2の使用段階は、高い、特に第1の使用段階のセキュリティ要件と比較して高くされたセキュリティ要件によって特徴付けられている。装置100の任意選択的な第2の使用段階(状態変数ZVは任意選択的な第2の値を取っている)において、コンピュータプログラムPRG1の実行および/または伝送は、証明(たとえば、後述のステップ340)の後にのみイネーブル化される。したがって、任意選択的な第2の使用段階では、インタフェース120は、原則的に利用可能であるが、証明の後でのみ利用可能である(暗号による保護)。
【0053】
特に、装置100の任意選択的な第2の使用段階において、特に、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行の制御のための、外部ユニット200からインタフェース120を介して装置100の第2のメモリ機器140へと行われるコンピュータプログラムPRG1の伝送のイネーブル化320ひいては特に装置100のハードウェアへのアクセスが、外部ユニット200および/または外部ユニット200のユーザの成功した証明に結び付けられていることが設定されていてもよい。さらなるセキュリティ措置として、コンピュータプログラムPRG1の実行のイネーブル化が、コンピュータプログラムPRG1の成功した確認に結び付けられていてもよい。これについては、後に
図5を参照して説明する。
【0054】
さらに、状態変数ZVのさらなる、特に第3の値が、装置100のさらなる、特に第3の使用段階に割り当てられていてもよく、ここでは少なくとも、さらなる、特に第3の使用段階が、高い、特に第1の使用段階のセキュリティ要件および/または特に第2の使用段階と比較して高くされたセキュリティ要件によって特徴付けられている。このさらなる、もしくは第3の使用段階は、たとえば現場段階である。この段階において、装置100は、製造業者の「安全な」環境を離れており、OEMまたは現場のいずれかにある。特に、装置100のさらなる、もしく第3の使用段階において、特に、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行を制御するための、コンピュータプログラムPRG1の、外部ユニット200からインタフェース120を介した、装置100の第2のメモリ機器140への伝送、ひいては特に装置100のハードウェアへのアクセスがイネーブル化されないことが設定されている。このさらなる使用段階、特に現場段階において、診断インタフェース150は引き続き利用可能である。インタフェース120の再アクティブ化は、診断インタフェース150を介して開始された、成功した証明と関連して行われてもよい。
【0055】
さらに、状態変数ZVのさらに別の、特に第4の値が、装置100のさらに別の、特に第4の使用段階に割り当てられていてもよく、ここでは少なくとも、さらに別の、特に第4の使用段階は、高い、特に、少なくとも第1の使用段階のセキュリティ要件と比較して高くされたセキュリティ要件によって特徴付けられている。さらに別の、もしくは第4の使用段階は、たとえば、返品段階である。このような使用段階では、装置100は製造業者の下に戻っており、製造業者の下で、たとえば、返品分析の一部として(再度)検査される。任意選択的な第2の使用段階との関連においてすでに言及されたように、特に、有利には、装置100のさらに別の、もしくは第4の使用段階において、特に、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行を制御するための、コンピュータプログラムPRG1の、外部ユニット200からインタフェース120を介した、装置100の第2のメモリ機器140への伝送、ひいては特に装置100のハードウェアへのアクセスが外部ユニット200および/または外部ユニット200のユーザの成功した証明に結び付けられていることが設定されていてもよい。さらに、コンピュータプログラムPRG1の実行のイネーブル化が、コンピュータプログラムPRG1の成功した確認に結び付けられていてもよい。これについても、
図5を参照して後述する。したがって、説明したように、(現場段階では静止状態にされている)インタフェース120の再アクティブ化が、さらに別の、もしくは第4の使用段階、特に分析段階において行われ得る。状態変数ZVの対応するさらなる別の値は、不可逆的に、増加される。すなわち、このような変形では、前の段階(現場段階)への切り替えは不可能である。
【0056】
択一的な例示的な実施形態では、(証明後の)インタフェース120の再アクティブ化は、最初に現場段階を離れることなく、第1の分析フラグFAのセットに付随して生じ得る。
【0057】
説明された実施形態によれば、さらなる、もしくは第3の使用段階は、有利には、最も高いセキュリティ要件によって特徴付けられている。第1の使用段階は、有利には、最も低いセキュリティ要件によって特徴付けられている。任意選択的な第2の使用段階およびさらに別の、もしくは第4の使用段階のセキュリティ要件は、第1の使用段階のセキュリティ要件と、さらなる、もしくは第3の使用段階のセキュリティ要件との間にある。特に、使用段階2、3および4において、装置100は、もはや製造業者の安全な環境に存在していない、または少なくとも一時的に、製造業者の安全な環境の外に存在していたので、不正アクセスを排除することはできない。
【0058】
有利には、装置100は、第3の使用段階である現場段階において、インタフェース120の最も高い保護レベルを有しており、すなわち、現場段階においては、EoLアクセスを利用することも再アクティブ化することも不可能である。第1の使用段階では、装置100は、インタフェース120の、比較すると最も低い保護レベルを有しており、すなわちEoLアクセスは、製造段階(Tier1-製造)とも称される第1の使用段階においては、さらなる証明プロセスを伴わずに、利用可能である。
【0059】
有利には、装置100のスタートプロセスもしくはブートプロセスの一部として、状態変数の評価310の際に、まずはステップ310aにおいて、状態変数ZVが、さらなる、もしくは第3の使用段階、すなわち現場段階に割り当てられている値を有しているか否かが照会される(
図3を参照されたい)。状態変数ZVが、さらなる、もしくは第3の使用段階、すなわち現場段階に割り当てられている値を有しているケースでないときには、ステップ310bにおいて、状態変数ZVが、任意選択的な第2の使用段階またはさらに別の、もしくは第4の使用段階に割り当てられている値を有しているか否かが照会される。状態変数ZVが、任意選択的な第2の使用段階またはさらに別の、もしくは第4の使用段階に割り当てられている値を有しているケースでないときには、ステップ310cにおいて、状態変数ZVが、第1の使用段階に割り当てられている値を有しているか否かが照会される。有利には、状態変数ZVの評価310の一部として、照会のためのステップ310a、310b、310cが、最初に、インタフェース120の最も高い保護レベルを有する使用段階に割り当てられている値が照会され、最後に、インタフェース120の最も低い保護レベルを有する使用段階に割り当てられている値が照会される順序で行われる。したがって、有利には、特にグリッチ攻撃の範囲の乱用の場合、複数の障壁が克服されなければならない。
【0060】
有利には、さらに、状態変数ZVの評価310、310a、310b、310cが有効な値をもたらさない場合、特に状態変数ZVが、装置100の使用段階に割り当てられている値を有していない場合、さらなる任意選択的なステップ310dが実行されることが設定されていてもよい。ここではステップ310dは、特に、エラーを検出する、および/または装置100をエラーモードにすることを含んでいる。
【0061】
さらなる有利な実施形態では、方法が、さらなるステップ380として、装置100の使用段階に応じた、かつ/または装置100のある使用段階から装置100のさらなる使用段階への移行に応じた、状態変数ZVの値の変更を含んでいることが設定されており、ここでは、状態変数ZVの値の変更は、値を増加させることによって、特に不可逆的に行われる。すなわち、すでに実行された使用段階を、次の使用段階に移行した後、再度実行することはできない。有利には、状態変数ZVの変更380は、コンピュータプログラムPRG1の伝送およびコンピュータプログラムPRG1の少なくとも一部の伝送および実行360のイネーブル化320に続いて行われる。
【0062】
さらなる有利な実施形態では、コンピュータプログラムPRG1は、有利には、状態変数ZVを変更する380ように構成されている。
【0063】
状態変数ZVの値の変更380を、
図6を参照して以降で説明する。図示の実施形態によれば、状態変数ZVは、初めは、第1の使用段階に割り当てられている値を有している。状態変数ZVの評価310の後、コンピュータプログラムPRG1の伝送がイネーブル化され320、コンピュータプログラムPRG1が第2のメモリ機器140に伝送された(
図6には示されていない)。ステップ360において、コンピュータプログラムPRG1、特にコンピュータプログラムPRG1の少なくとも一部が、特に、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行360を制御するために実行される。コンピュータプログラムPRG1の実行は、有利には、ハードウェアの検査の実行360aを含んでいる。図示の実施形態によれば、コンピュータプログラムPRG1の実行360はさらに、任意選択的なステップ370を含んでおり、これは、特に暗号によって、特に署名ベースのアプローチまたは鍵に関連する、チェックサムベースの、メッセージ認証コード、MACとも称されるアプローチによって、装置100のインタフェース120を保護するステップである。このステップは、特に、さらなる証明措置および/または確認措置(
図4および
図5を参照されたい)に関連して有利であることが証明され得る。
【0064】
示された実施形態によれば、コンピュータプログラムPRG1の実行360は、状態変数ZVを変更する任意選択的なステップ380をさらに含んでいる。有利には、変更380は、状態変数の値を、後続の使用段階に割り当てられている値に変更することを含んでいてもよい。有利には、状態変数ZVの値は、後続の使用段階に割り当てられている値にのみ変更可能であり、先行する使用段階に割り当てられている値には変更不可能である。説明された実施形態では、状態変数ZVの値は、たとえば、第1の使用段階の値から第2の使用段階の値へ、第2の使用段階の値から第3の使用段階の値へ、かつ第3の使用段階の値から第4の使用段階の値へ変更され得る380。
【0065】
有利には、状態変数ZVの値の変更380は、元に戻すことができないようにされ得る。
【0066】
図6に示された実施形態では、状態変数ZVの値は、最初に、第1の使用段階の値から第2の使用段階である保管段階の値に変更される380a。続いて、装置100が顧客に引き渡される場合、すなわち、保留されている後続の使用段階が第3の使用段階、すなわち現場段階である場合には、状態変数の値が、第2の使用段階の値から第3の使用段階の値に変更される380b。さらなる有利な実施形態では、たとえば、装置100が、製造後に、途中で保管されずに顧客に直接引き渡される場合には、状態変数ZVの値は、第1の使用段階の値から第3の使用段階、すなわち現場段階の値に変更され得る。
【0067】
さらなる有利な実施形態では、第1のメモリ機器130(
図1を参照されたい)が、ワンタイムプログラマブル(一度のプログラミングが可能な、OTP)メモリを含んでいる、またはワンタイムプログラマブル(OTP)メモリの一部であることが設定されている。有利にはOTPメモリは、第1のメモリ機器130、特にフラッシュメモリにおいて、いわゆる「OTPエリア」として実装されている。このようなOTPエリアは、特に追加のロジックによって変更から保護されている。有利には、追加の変数ZVおよび/または第1の分析フラグFA1は、OTPメモリ内に格納されている。
【0068】
さらなる有利な実施形態では、第1のメモリ機器130が、ハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールを含んでいる、またはハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールの一部であることが設定されている。ハードウェアセキュリティモジュールは、たとえば、暗号化方法もしくはアルゴリズム、または少なくともその一部を実行するように構成されている。さらなる有利な実施形態では、ハードウェアセキュリティモジュール(HSM)が、状態変数ZVおよび/または第1の分析フラグFA1を格納するための保護された、特に別個のメモリを有していることが設定されている。特に有利には、装置100、特に、実施形態による方法を実行するように構成されている装置100のコンピューティング機器110のみが、ハードウェアセキュリティモジュール内に格納されている状態変数ZVにアクセスすることができる。さらなる有利な実施形態では、ハードウェアセキュリティモジュールもしくは暗号化モジュールが、実施形態による方法、特にステップ380である、状態変数ZVの変更を少なくとも部分的または完全に実行することが設定されている。さらなる有利な実施形態では、ハードウェアセキュリティモジュールもしくは暗号化モジュールが、状態変数ZVを管理(特に、格納/または変更)および/または評価することが設定されている。さらなる有利な実施形態では、ハードウェアセキュリティモジュールもしくは暗号化モジュールは、状態変数の評価の結果をさらなるユニット、たとえば、コンピューティング機器110に出力するように構成されていることが設定されている。
【0069】
さらなる実施形態では、EoLアクセス、すなわち、インタフェースを介したEoLソフトウェアの伝送が完全に削除されることが設定されていてもよい。これは、例示的に、任意選択的なステップ390(
図6を参照されたい)によって示されている。この場合、顧客に引き渡す前、すなわち、第3の使用段階である現場段階に移行する前に、EoLアクセスが削除される390。このような場合には、本発明の方法300は、第1の使用段階または第1および第2の使用段階に対して実行され、コンピュータプログラムPRG1の実行の最後で、特にブートローダからの、対応するEoLアクセスパスの消去が行われる。このような場合には、方法300はもはや、コンピューティング機器110もしくは装置100のスタートプロセスもしくはブートプロセスの一部において実行されない。これに相応して、EoLアクセスの再アクティブ化、ひいては再度のEoL検査の一部としての返品分析は排除されている。
【0070】
さらなる有利な実施形態では、有利には、装置100のインタフェース120が、任意選択的なステップ370において、特に暗号によって、特に署名ベースのアプローチまたは鍵に関連する、チェックサムベースの、メッセージ認証コード、MACとも称されるアプローチによって保護されることが設定されている(
図6を参照されたい)。これによって、特にコンピュータプログラムの伝送のための、インタフェース120を介した後のアクセスに対して、さらなる証明措置および/または確認措置が必要となる。保護370は、
図4および
図5を参照して以降で説明する、方法300の実施形態との関連において、有利であることが証明され得る。
【0071】
さらなる有利な実施形態では、方法300が、外部ユニット200および/または外部ユニット200のユーザの証明340をさらに含んでいることが設定されている(
図4を参照されたい)。ここでは、成功した証明340の後に、インタフェース120を介した、外部ユニット200から第2のメモリ機器140への少なくとも1つのコンピュータプログラムPRG1の伝送のイネーブル化320が行われ、成功しなかった証明340の後に、インタフェース120を介した、外部ユニット200から第2のメモリ機器140への少なくとも1つのコンピュータプログラムPRG1の伝送の非イネーブル化330が行われる。
【0072】
さらなる有利な実施形態では、外部ユニット200および/または外部ユニット200のユーザの証明340は、署名ベースのアプローチまたは鍵に関連する、チェックサムベースのアプローチを使用して行われることが設定されている。
【0073】
証明340が状態変数ZVの値とは無関係に実行されることが設定されていてもよい。
【0074】
さらなる有利な実施形態では、有利には、証明340が状態変数ZVの値に応じて実行されることが設定されている。
【0075】
さらなる有利な実施形態では、状態変数ZVがさらなる、特に第2または第4の値を有している場合に証明340が実行され、特に状態変数ZVが第1の値を有している場合に証明340が実行されないことが設定されている。
【0076】
特に、状態変数ZVが、低いセキュリティ要件を有している、装置100の使用段階、特に第1の使用段階に割り当てられている値を有している場合、証明340は実行されない。装置100が、特に製造業者の下で、第1の使用段階にある場合、インタフェース120は、性能の理由もしくはサイクル時間の理由から、暗号によって保護されていない。すなわち、インタフェース120を介した、外部ユニット200から装置100の第2のメモリ機器140へのコンピュータプログラムPRG1の伝送のイネーブル化320は、さらなる証明プロセス340を伴わずに行われる(
図4を参照されたい)。有利には、コンピュータプログラムPRG1の実行360の一部として、特に、ハードウェアの検査の実行360aに続いて、ステップ370において、インタフェース120が、特に暗号によって保護される370(
図6を参照されたい)。
【0077】
有利には、証明340は、状態変数ZVが、装置100の第2または第4の使用段階に割り当てられている値を有している場合に実行される。特に、証明340は、次のような使用段階に対して実行される。すなわち、その間に、装置100が少なくとも一時的に製造業者の安全な環境の外にあるか、または外にあった使用段階、および/またはその前に、装置100が少なくとも一時的に製造業者の安全な環境の外にあるか、または外にあった使用段階に対して実行される。
【0078】
たとえば、第2の使用段階では、特に完成した、特に完全にプログラムされた装置100を、特に製造業者の外部の、特に「自由にアクセスできる」保管庫に保管した後に、顧客に引き渡す前に、装置100の再度の検査、特に、装置100のEnd of Line(EoL)検査、特にハードウェアの検査、特にハードウェアの最終検査および/または装置100のデータ入力が実行されるべきである。ここではインタフェース120は暗号によって保護されているので、証明プロセス340が必要である。
【0079】
さらなる有利な実施形態では、方法が、伝送されたコンピュータプログラムPRG1の確認350をさらに含んでいることが設定されており、ここでは、伝送されたコンピュータプログラムPRG1の成功した確認350の後には、伝送されたコンピュータプログラムPRG1の少なくとも一部が装置100によって実行され360a、コンピュータプログラムPRG1の成功しなかった確認350の後には、伝送されたコンピュータプログラムが実行されない360b。
【0080】
さらなる有利な実施形態では、伝送されたコンピュータプログラムPRG1の確認350は、署名ベースのアプローチまたは鍵に関連する、チェックサムベースのアプローチを使用して行われることが設定されている。
【0081】
さらなる有利な実施形態では、外部ユニット200および/または外部ユニット200のユーザの証明340および/または伝送されたコンピュータプログラムPRG1の確認350は、少なくとも1つの暗号鍵、特に秘密鍵を使用して行われることが設定されている。
【0082】
さらなる有利な実施形態では、外部ユニット200および/または外部ユニット200のユーザの証明340および/または伝送されたコンピュータプログラムPRG1の確認350は、特に乱数および/または疑似乱数を含んでいるチャレンジの生成、外部ユニットへのチャレンジの伝送および外部ユニットによる署名されたチャレンジの受け取りをさらに含んでいることが設定されている。
【0083】
次に、
図4および
図5を参照して、外部ユニット200および/または外部ユニット200のユーザの証明340および/または伝送されたコンピュータプログラムPRG1の確認350を署名ベースのアプローチの場合について説明する。
【0084】
装置100に対する、外部ユニット200および/または外部ユニット200のユーザの証明は、特に、外部ユニット200および/または外部ユニット200のユーザによるセキュリティクエリの作成を含んでいる。セキュリティクエリの作成は、たとえば、(特に、インタフェース120が非アクティブ化されており、これに対して診断インタフェース150がアクティブ化されたままである、さらなる使用段階である現場段階において)診断インタフェース150を介して行われてもよい。次に、ステップ400において、特に乱数および/または疑似乱数を含んでいるチャレンジが生成され、特に、作成されたセキュリティクエリへの応答として、外部ユニット200に伝送される410。
【0085】
さらなる実施形態では、チャレンジの生成400が、HSMによって、または適切なソフトウェアを用いた生成によって行われることが設定されている。外部ユニット200および/または外部ユニット200のユーザは、特にプロジェクト固有の秘密鍵を用いて、このチャレンジに署名し、署名されたチャレンジを装置100に伝送する。
【0086】
ステップ420において、装置100は、署名されたチャレンジを受け取る。ステップ430において、装置100は、外部ユニット200および/または外部ユニット200のユーザの秘密鍵に合う、さらなる、特に公開されている鍵を使用して、受け取った、署名されたチャレンジを検証する。
【0087】
検証420が成功した場合、すなわち、装置100のさらなる鍵と外部ユニット200および/または外部ユニット200のユーザの秘密鍵とが相互に合う場合、コンピュータプログラムPRG1の伝送がイネーブル化される320。検証420が成功しなかった場合、伝送の非イネーブル化330が行われる。
【0088】
示された実施形態では、方法が、伝送されたコンピュータプログラムPRG1の確認350をさらに含んでいることがさらに設定されており、ここではコンピュータプログラムPRG1の実行360aは、成功した確認350の後にはじめて行われる。
【0089】
さらなる有利な実施形態では、伝送されたコンピュータプログラムPRG1の確認350が、署名されたコンピュータプログラムPRG1の受け取り350aをさらに含んでいることが設定されている。
【0090】
このために、外部ユニット200および/または外部ユニットのユーザはここでも、コンピュータプログラムPRG1に、特にプロジェクト固有の秘密鍵で署名し、署名されたコンピュータプログラムPRG1を装置100に伝送する。装置100は、署名されたコンピュータプログラムPRG1を受け取る350a。
【0091】
ステップ440において、装置100は、外部ユニット200および/または外部ユニット200のユーザの秘密鍵と合う、さらなる、特に公開されている鍵を使用して、受け取った、署名されたコンピュータプログラムPRG1を検証する。
【0092】
検証440が成功した場合、すなわち、装置100のさらなる鍵と外部ユニット200および/または外部ユニット200のユーザの秘密鍵とが相互に合う場合、コンピュータプログラムPRG1が実行される360a。検証440が成功しなかった場合、コンピュータプログラムは実行されない360b。
【0093】
コンピュータプログラムPRG1の実行360aの一部として、特にハードウェアの検査が首尾よく実行された後、状態変数の値は、第2の使用段階の値から第3の使用段階の値へ変更される380(
図6を参照されたい)。
【0094】
さらなる有利な実施形態では、状態変数ZVがさらに別の、もしくは第4の値を有している場合に外部ユニットの証明340およびコンピュータプログラムの確認350が実行され、状態変数ZVがさらなる、もしくは第3の値を有している場合に外部ユニットの証明340およびコンピュータプログラムの確認350が実行されないことが設定されている。
【0095】
示された実施形態では、さらなる、もしくは第3の使用段階では、インタフェース120を介したEoLアクセスを利用することも再アクティブ化することも不可能である。したがって、状態変数ZVがさらなる、もしくは第3の値を有している場合、証明340は実行されない。
【0096】
さらに、任意選択的な第2の使用段階に関連して、
図5に示された方法のステップが、さらに別の、もしくは第4の使用段階に対して、同様に実行されてもよい。
【0097】
さらなる有利な実施形態は、特にコンピュータプログラムPRG2の形態の命令を含んでいるコンピュータ可読記憶媒体SMに関しており、この命令は、コンピュータによって実行されると、コンピュータに、実施形態に相応する方法300を実施させる。
【0098】
さらなる有利な実施形態では、記憶媒体が、装置100の第1のメモリ機器130を含んでいる、または装置100の第1のメモリ機器130の一部であることが設定されている(
図1を参照されたい)。
【0099】
さらなる有利な実施形態はコンピュータプログラムPRG2に関しており、これはコンピュータ可読命令を含んでおり、このコンピュータ可読命令がコンピュータによって、特に装置100のコンピューティング機器110によって実行されると、実施形態に相応する方法300または方法300のステップが実行される。
【0100】
さらなる有利な実施形態は、装置100によって実行可能なコンピュータプログラムPRG1の伝送のため、特に、装置100の状態変数ZVに応じた、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行の制御のための、装置100のインタフェース120のイネーブル化または非イネーブル化のための、実施形態に相応する方法300および/または実施形態に相応する装置100および/または実施形態に相応するコンピュータプログラムPRG2の使用に関しており、ここでは、状態変数ZVの値は装置100の使用段階に割り当てられている。
【0101】
さらなる有利な実施形態は、装置100によって実行可能な、装置100のインタフェース120を介して伝送されるコンピュータプログラムPRG1のイネーブル化または非イネーブル化のための、実施形態に相応する方法300および/または実施形態に相応する装置100および/または実施形態に相応するコンピュータプログラムPRG2の使用に関している。
【0102】
さらなる択一的な構成では、特に、さらなる使用段階もしくは現場段階において非アクティブ化されているインタフェース120の再アクティブ化のために、特定のユーザの証明が必要とされ得る。このユーザは、たとえば、スマートカードなどの相応する証明を介して、たとえば鍵管理システム(Key Management Server KMS)もしくは公開鍵基盤(Public Key Infrastructure PKI)に対して、自身の証明を行うことができる。これは、有利には、さらなる外部機器を介して行われる。証明が成功した後、たとえば、インタフェース120の再アクティブ化のための対応するクエリが、診断インタフェース150を介して作成されてもよい。しかし、前もって、ユーザが自分自身を認可されたものとして示すことができなかった場合、診断インタフェース150を介したインタフェース120の再アクティブ化のためのそのようなクエリは許可されない。インタフェース120の再アクティブ化のためのさらなる証明は、すでに上で説明したように行われる。
【0103】
説明した方法は、特に、異なる使用段階における、自動車の(装置100である)制御機器の確実かつ柔軟な管理のために使用される。しかし使用は、これに制限されていない。
【手続補正書】
【提出日】2022-07-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
装置(100)の動作方法
(300)、すなわち自動車の制御機器の動作方法であって、
前記装置(100)は、外部ユニット(200)とのデータ交換のための少なくとも1つのインタフェース(120)を有しており、かつ状態変数(ZV)を不揮発性に格納するための少なくとも1つの第1のメモリ機器(130)を含んでおり、
前記方法(300)は、
前記状態変数(ZV)の評価(310)、および前記評価(310)に応じた、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行(360)の制御のための、少なくとも1つのコンピュータプログラム(PRG1)の実行および/または伝送のイネーブル化(320)または非イネーブル化(330)を含んでおり、前記伝送は前記インタフェース(120)を介して、前記外部ユニット(200)から行われ、
前記状態変数(ZV)の値は、前記装置(100)の使用段階に割り当てられており、
前記方法(300)は、前記装置(100)の使用段階に応じた、かつ/または前記装置(100)のある使用段階から前記装置(100)のさらなる使用段階への移行に応じた、前記状態変数(ZV)の値の変更(380)というさらなるステップを含んでおり、
前記状態変数(ZV)の値の前記変更を、特に値を増加させることによって、かつ/または特に不可逆的に行う、
方法
(300)。
【請求項2】
前記装置(100)は少なくとも2つまたは3つ、特に4つまたは5つの異なる使用段階を有しており、
各使用段階は特に各セキュリティ要件によって特徴付けられており、
特に前記状態変数(ZV)の少なくとも1つの第1の値は第1の使用段階、特に製造段階に割り当てられており、前記装置(100)の前記第1の使用段階は低いセキュリティ要件によって特徴付けられており、またはセキュリティ要件によって特徴付けられておらず、
少なくとも1つのさらなる、特に第3の値は、前記装置(100)のさらなる、特に第3の使用段階、特に現場段階に割り当てられており、前記装置(100)の前記さらなる、特に第3の使用段階は高いセキュリティ要件によって特徴付けられている、請求項1記載の方法
(300)。
【請求項3】
前記状態変数(ZV)の第1の値は前記装置(100)の第1の使用段階に割り当てられており、
前記装置(100)の前記第1の使用段階では、証明(340)を伴わずに、前記コンピュータプログラム(PRG1)の実行および/または伝送をイネーブル化する、請求項1から2までの少なくとも1項記載の方法
(300)。
【請求項4】
前記状態変数(ZV)のさらなる値は前記装置(100)のさらなる使用段階、特に現場段階に割り当てられており、
前記装置(100)の前記さらなる使用段階では、前記コンピュータプログラム(PRG1)の実行および/または伝送をイネーブル化せず、かつ/または前記インタフェース(120)は利用不可能であり、かつ/または再アクティブ化不可能であり、かつ/または前記インタフェース(120)への相応するアクセスパスを特にブートローダから消去する、請求項
2記載の方法
(300)。
【請求項5】
前記装置(100)は少なくとも1つの、特に前記インタフェース(120)とは異なる診断インタフェース(150)を有しており、前記診断インタフェース(150)を介して、前記インタフェース(120)の再アクティブ化が開始され得る、請求項1から4までのいずれか1項記載の方法
(300)。
【請求項6】
前記状態変数(ZV)の前記第1の値と前記状態変数(ZV)の前記さらなる値との間で、前記状態変数(ZV)の任意選択的な第2の値が前記装置(100)の任意選択的な第2の使用段階、特に保管段階に割り当てられており、
前記装置(100)の前記任意選択的な第2の使用段階では、証明(340)の後にのみ、前記コンピュータプログラム(PRG1)の実行および/または伝送をイネーブル化する、請求項
4記載の方法
(300)。
【請求項7】
前記状態変数(ZV)の前記任意選択的な第2の値への切り替えを伴わない、前記状態変数(ZV)の前記第1の値の、前記状態変数(ZV)の前記さらなる値への直接的な切り替えによって、前記任意選択的な第2の値への前記状態変数(ZV)の変更が可能ではなくなる、請求項
6記載の方法
(300)。
【請求項8】
前記状態変数(ZV)のさらなる別の値が前記装置(100)のさらなる別の使用段階、特に返品段階および/または分析段階に割り当てられており、
前記装置(100)の前記さらなる別の使用段階では、前記コンピュータプログラム(PRG1)の実行および/または伝送を、特に、バックエンド、トラストセンタなどのさらなる外部機器を介して、証明(340)の後にのみ、イネーブル化する、請求項
6または7記載の方法
(300)。
【請求項9】
前記方法は、特に暗号による、前記装置(100)の前記インタフェース(120)の保護(370)をさらに有している、請求項1から8までの少なくとも1項記載の方法
(300)。
【請求項10】
前記方法(300)は、前記外部ユニット(200)および/または前記外部ユニット(200)のユーザの証明(340)をさらに有しており、
成功した証明(340)の後に、前記インタフェース(120)を介した、前記外部ユニット(200)から第2のメモリ機器(140)への前記少なくとも1つのコンピュータプログラム(PRG1)の前記伝送の前記イネーブル化(320)を行い、成功しなかった証明(340)の後に、前記インタフェース(120)を介した、前記外部ユニット(200)から前記第2のメモリ機器(140)への前記少なくとも1つのコンピュータプログラム(PRG1)の前記伝送の前記非イネーブル化(330)を行う、請求項1から9までの少なくとも1項記載の方法(300)。
【請求項11】
前記証明(340)を前記状態変数(ZV)の値に応じて実行し、
特に、前記状態変数(ZV)が前記さらなる値、特に第3の値、または前記さらなる別の値、特に第4の値を有している場合に前記証明(340)を実行し、特に、前記状態変数(ZV)が前記第1の値を有している場合に前記証明(340)を実行しない、請求項
8記載の方法(300)。
【請求項12】
前記方法は、伝送された前記コンピュータプログラム(PRG1)の確認(350)をさらに含んでおり、
前記伝送されたコンピュータプログラム(PRG1)の成功した確認(350)の後には、前記伝送されたコンピュータプログラム(PRG1)を前記装置(100)によって実行し(360a)、前記コンピュータプログラム(PRG1)の成功しなかった確認(350)の後には、前記伝送されたコンピュータプログラム(PRG1)を実行しない(360b)、請求項1から11までの少なくとも1項記載の方法(300)。
【請求項13】
装置(100)であって、前記装置(100)は外部ユニット(200)とのデータ交換のためのインタフェース(120)と、状態変数(ZV)を不揮発性に格納するための少なくとも1つの第1のメモリ機器(130)と、特に前記装置(100)によって実行可能な、検査ソフトウェア、特にEnd of Line(EoL)ソフトウェアの実行(360)の制御のための少なくとも1つのコンピュータプログラム(PRG1)を格納するための少なくとも1つの第2のメモリ機器(140)とを備えており、
前記装置(100)は、請求項1から12までの少なくとも1項記載の前記方法(300)を実施するように構成されている、
装置(100)。
【請求項14】
前記第1のメモリ機器(130)はワンタイムプログラマブル(OTP)メモリを含んでいる、または前記第1のメモリ機器(130)はワンタイムプログラマブル(OTP)メモリの一部であり、かつ/または前記第1のメモリ機器(130)はハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールを含んでいる、または前記第1のメモリ機器(130)はハードウェアセキュリティモジュール(HSM)、特に暗号化モジュールの一部である、請求項13記載の装置(100)。
【請求項15】
特にコンピュータプログラム(PRG2)の形態の命令を含んでいるコンピュータ可読記憶媒体(SM)であって、
前記命令は、請求項13から14までの少なくとも1項記載のコンピュータによって実行されると、前記コンピュータに、請求項1から12までの少なくとも1項記載の方法(300)を実施させる、
コンピュータ可読記憶媒体(SM)。
【請求項16】
コンピュータプログラム(PRG2)であって、
前記コンピュータプログラム(PRG2)はコンピュータ可読命令を含んでおり、前記コンピュータ可読命令がコンピュータによって、特にコンピュータのコンピューティング機器によって、特に、請求項13から14までの少なくとも1項記載の装置(100)のコンピューティング機器(110)によって実行されると、請求項1から12までの少なくとも1項記載の方法が実施される、
コンピュータプログラム(PRG2)。
【国際調査報告】