(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-15
(54)【発明の名称】特に自動車におけるデータの異常を処理するための方法
(51)【国際特許分類】
H04L 43/04 20220101AFI20230508BHJP
H04L 12/28 20060101ALI20230508BHJP
【FI】
H04L43/04
H04L12/28 100A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022558497
(86)(22)【出願日】2021-03-15
(85)【翻訳文提出日】2022-09-27
(86)【国際出願番号】 EP2021056545
(87)【国際公開番号】W WO2021197823
(87)【国際公開日】2021-10-07
(31)【優先権主張番号】102020204053.2
(32)【優先日】2020-03-28
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】マヌエル ヤウス
(72)【発明者】
【氏名】ローラント シュテフェン
(72)【発明者】
【氏名】ムスタファ カルタール
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA05
5K033BA06
5K033EA06
(57)【要約】
特に自動車におけるデータの異常を処理するための方法が提案され、異常識別のための少なくとも1つのセンサ(24,26,28)が、データ(211)を取得し、センサ(24,26,28)は、取得されたデータ(211)を異常について検査し、異常が識別された場合、関連するデータ(211)に依存してイベント(220,221)が生成され、イベント(220,221)を継続処理するかどうか、特に、記憶するかどうか、及び/又は、少なくとも部分的に転送するかどうかが決定される。
【特許請求の範囲】
【請求項1】
特に自動車におけるデータの異常を処理するための方法であって、
異常識別のための少なくとも1つのセンサ(24,26,28)が、データ(211)を取得し、
前記センサ(24,26,28)は、前記取得されたデータ(211)を異常について検査し、異常が識別された場合、関連する前記データ(211)に依存してイベント(220,221)が生成され、
前記イベント(220,221)を継続処理するかどうか、特に、メモリ(208)に少なくとも部分的に記憶するかどうか、及び/又は、特に低減するかどうかをランダムに決定する、方法。
【請求項2】
乱数(273)及び/又は乱数(273)の領域(273.x)、特に、車両固有及び/又は制御装置固有の乱数(273)を使用してランダムに決定する、請求項1に記載の方法。
【請求項3】
継続処理すべきイベント(220,221)は、少なくとも部分的にメモリ(206,208)に、特に、揮発性メモリ(206)若しくはバッファメモリ及び/又は不揮発性メモリ(208)に記憶される、請求項1又は2に記載の方法。
【請求項4】
前記継続処理すべきイベント(220,221)の選択は、前記メモリ(206)の充填状態(228)に依存して行われる、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記継続処理すべきイベント(220,221)は、前記イベント(220,221)の特定の数又はオフセット(271)からランダムに選択される、請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
前記継続処理すべきイベント(220,221)がランダムに選択される前記イベント(220,221)の数又はオフセット(271)は、前記メモリ(206)の前記充填状態(228)に依存し、特に、前記メモリ(206)の前記充填状態(228)がより低い場合、前記継続処理すべきイベント(220,221)は少数のイベント(220,221)から選択される、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記メモリ(206)は、少なくとも2つのメモリ領域(267)を含み、当該メモリ領域に、それぞれ、記憶すべきイベント(220,221)がランダムに選択される前記イベント(220,221)の異なる数又はオフセット(271)が割り当てられる、請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
前記乱数(273)の領域(273.1,273.2)は、前記メモリ(206)の前記充填状態(228)に依存して、及び/又は、前記記憶すべきイベント(220,221)が選択される前記イベント(220,221)の数又はオフセット(271)に依存して選択される、請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
最初に前記乱数(273)の暫定的な領域(273.x_v)が選択され、当該暫定的な領域(273.x_v)に基づく乱数(273)が、関連するオフセット(271)と比較され、前記暫定的な領域(273.x_v)に基づく前記乱数(273)が前記オフセット(271)よりも大きい限り、前記暫定的な領域(273.x_v)は、特に上位ビットの削除により1区間だけ縮小され、乱数(273.x)のための領域として使用される、請求項1乃至8のいずれか一項に記載の方法。
【請求項10】
前記暫定的な領域(273.x_v)がその分だけ縮小された前記区間は、次の暫定的な領域(273.x+1_v)又は次の領域(273.x+1)の一部である、請求項1乃至9のいずれか一項に記載の方法。
【請求項11】
前記乱数(273)は、周期的に、及び/又は、例えば、リセット、起動、スリープモードへの移行などのシステム状態の移行のような特定のシステムイベントに依存して新たに生成される、請求項1乃至10のいずれか一項に記載の方法。
【請求項12】
前記イベント(220,221)について、イベントタイプ(218)が求められ、先行するイベント(220,221)において既に事前に発生したイベントタイプ(218)を有するイベント(220,221)について、当該イベントを継続処理するかどうかがランダムに決定される、請求項1乃至11のいずれか一項に記載の方法。
【請求項13】
異常識別のための複数のセンサ(24,26,28)が設けられており、前記センサ(24,26,28)は、それぞれ異なるデータソース(25,27,29)、特に、通信システム及び/又はホスト(29)若しくはマイクロコントローラからデータ(211)を取得し、前記センサ(24,26,28)の各々は、前記取得されたデータ(211)を異常について検査し、異常が識別された場合、関連するデータ(211)に依存してイベント(220,221)が生成され、前記イベント(220,221)は、イベントマネージャ(30)に転送される、請求項1乃至12のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特に自動車におけるデータの異常を処理するための方法に関する。
【背景技術】
【0002】
従来技術
通信ネットワーク、特に自動車の通信ネットワークにおける異常を処理するための装置及び方法は、独国特許出願公開第102018209407号明細書から既に公知である。少なくとも1つの検出器が、通信ネットワーク内のデータストリームを分析し、当該少なくとも1つの検出器は、データストリームのデータパケットについての少なくとも1つのパラメータが目標値から逸脱した場合に、制御に基づく異常識別手法によって少なくとも1つの異常を識別し、当該少なくとも1つの検出器は、少なくとも1つの識別された異常に関する情報を、通信ネットワークを介して送信する。
【0003】
特に異常又はイベントが識別された場合のプロトコル、履歴、レポート(ロギング)の自動的な作成は、イベント発生率が高い場合、及び/又は、長期の攻撃の場合、対応するサービスへの過負荷や拒絶なしで行われるべきである。ロギング又は対応するイベントレポートのエントリは、真性であり、整数であり、利用可能であるべきである。可能である場合には、攻撃者にとって非決定論的な履歴が完全な(長期にわたる)攻撃に関して作成されるべきである。攻撃者による不正操作、特に削除は避けられるべきである。制御装置の外部においては、ロギングエントリは不正な解析から保護されるべきである。ロガーは、イベントレポートを、例えばインタフェースを介して外部ノードに確実に送信すべきである。外部ノードへの伝送が成功した後、イベントエントリは、ローカルに削除することができ、特に好適には受信インスタンスによって特に認証された確認の後で削除することができる。さらに、ロガーは、ネットワーク接続を示すいわゆるハートビート信号を送信すべきである。処理すべきロギングエントリの数を低減するためには、イベントの累積を可能にすべきである。
【0004】
通常の動作条件下においては、イベント(Event)はまったく発生せず又はほとんど発生せず、例えば、1時間に1回の規模でしか発生しない。最悪の場合、攻撃者は、インタフェース、特にイーサネットインタフェースを介して完全な制御を手に入れることができる。例えば100Mbitの完全な帯域幅の場合、攻撃者は、毎秒最大で128,000のUDP(User Datagram Protocol、ネットワークプロトコル)フレームを送信することができる。そのようなフレームの各々は、場合によってはイベント(データストリーム内において識別された異常)をトリガすることもできる。そのような攻撃は、車両の寿命にわたる攻撃頻度で受け止められる。メモリ、特にフラッシュメモリのいわゆる書き込み周期の許容回数には制限があり、考慮が必要である。同様に、活性化された動作時間数にも制限がある。同様に、上位の外部データロガーの利用可能性にも制限がある。それゆえ、対応するロギングイベント又はイベントレポートを一時記憶しておく必要がある。少なくとも日に1回は、すべてのロギングエントリ又はイベントレポートを上位のデータロガーに転送できるようにすべきである。
【0005】
従来のIDSシステムやIDPSシステム(Intrusion Detection System、侵入検知部、コンピュータネットワーク又は計算機インタフェースへの攻撃を自動的に識別するためのシステム、乃至、IDPS:Intrusion Detection Prevention System、侵入の試みが識別された場合に、対応するデータは転送されず、ひいては侵入の試みが阻止される)については、多くの場合、決定論的な動作と、組み込まれたシステムの限られたリソースとが問題になる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】独国特許出願公開第102018209407号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
これに対して、異常識別のための改善された方法を提供することが望まれる。この課題は、独立請求項の特徴部分によって解決される。
【課題を解決するための手段】
【0008】
発明の開示
このことは、独立請求項の特徴部分に従った方法によって達成される。
【0009】
イベントを継続処理するかどうか、特にメモリに少なくとも部分的に記憶するかどうか、及び/又は、特に低減するかどうかをランダムに決定することによって、イベントの処理を、攻撃者にとって理解できない手法でさらに隠蔽することができるようになる。これにより、攻撃者にとって非決定論的な手法でイベントが選択される。これにより、イベントの低減が行われる。これにより、選択したイベントの継続処理が簡素化される。
【0010】
合目的的な発展形態においては、乱数及び/又は乱数の領域、特に、車両固有及び/又は制御装置固有の乱数を使用してランダムに決定することが想定される。これにより、異常低減の非決定論的な動作が保証される。ある車両において乱数が開示された場合であっても、取得した知識をさらなる車両に転用することはできない。車両フリートを超えて異なる乱数を使用することにより、車両ごとに異なるイベントが選択されることが保証される。このことは、フリート攻撃の場合、データの多様性が高められ、攻撃のより広範な評価や完全な再構築が可能になる。
【0011】
合目的的な発展形態においては、継続処理すべきイベントは、少なくとも部分的にメモリに、特に、揮発性メモリ若しくはバッファメモリ及び/又は不揮発性メモリに記憶されることが想定される。上位のユニットに対する接続が欠けている場合に、又は、他のシステム状態に変更された場合に、イベントを局所的に保護することができる。このことは、永続的なメモリによって行うことができる。
【0012】
合目的的な発展形態においては、継続処理すべきイベントの選択は、メモリの充填状態に依存して行われることが想定される。これにより、メモリの充填状態が低い場合、充填状態が高い場合よりも多くのイベントを選択することができる。これにより、メモリのオーバーフローが阻止される。その他に、攻撃の持続時間全体にわたった全体的眺望が保証される。これにより、例えば上位のインスタンスに対する接続又はデータレートに関する、システム制限又は一時的な制限を補償することができる。これは自己調整システムである。例えば、バッファの充填状態が再び低減した場合、再び多くのイベントが選択される。特に合目的的には、継続処理すべきイベントがランダムに選択されるイベントの数又はオフセットは、メモリの充填状態に依存し、特に、メモリの充填状態がより低い場合、記憶すべきイベントは、少数のイベントから選択されることが想定される。特に合目的的には、メモリは、少なくとも2つのメモリ領域を含み、当該メモリ領域に、それぞれ、記憶すべきイベントがランダムに選択されるイベントの異なる数又はオフセットが割り当てられることが想定される。
【0013】
合目的的な発展形態においては、継続処理すべきイベントのランダムな選択は、乱数の領域に依存して行われることが想定される。これにより、様々な領域にアクセスすることで、乱数を特に効率的にかつ長期間使用することができる。乱数のビットの消費は少ない。観察すべき乱数の領域は、バッファの充填状態に直接関係している。これにより、より簡素で効率的かつ迅速な処理機構が生じる。特に合目的的には、最初に乱数の暫定的な領域が選択され、当該暫定的な領域に基づく乱数が、関連するオフセットと比較され、当該暫定的な領域に基づく乱数がオフセットよりも大きい限り、当該暫定的な領域は、特に上位ビットの削除により1区間だけ縮小され、乱数のための領域として使用されることが想定される。このことは、特に簡素な手法で、乱数の最適な使用に貢献する。特に合目的的には、暫定的な領域がその分だけ縮小された区間は、次の暫定的な領域又は次の領域の一部であることが想定される。
【0014】
合目的的な発展形態においては、乱数は、周期的に、及び/又は、例えば、リセット、起動、スリープモードへの移行などのシステム状態の移行のような特定のシステムイベントに依存して新たに生成される。これにより、装置のセキュリティがさらに高められる。
【0015】
合目的的な発展形態においては、イベントについて、イベントタイプが求められ、先行するイベントにおいて既に事前に発生したイベントタイプを有するイベントについて、当該イベントを継続処理するかどうかがランダムに決定される。これにより、常に最初に発生したイベントが事前に確実に選択された後で、攻撃者にとって非決定論的な手法でイベントが選択される。
【0016】
合目的的な発展形態においては、異常識別のための複数のセンサが設けられており、これらのセンサは、それぞれ異なるデータソース、特に、通信システム及び/又はホスト若しくはマイクロコントローラからデータを取得し、この場合、これらのセンサの各々は、取得されたデータを異常について検査し、異常が識別された場合、関連するデータに依存してイベントが生成され、当該イベントは、イベントマネージャに転送されることが想定される。これにより、上位のレベルで異なるデータソースを評価し、イベントレポートの枠内において総括することができる。
【0017】
特に、継続処理すべき又は選択すべきイベントのランダムな選択により、決定論的でひいては攻撃者にとって予測可能な動作が省略される。同様に、例えば、転送すべき有効データ領域のランダムな選択によるランダム依存性の事前選択も、さらなるセキュリティに寄与することができる。イベントレポートの送信のためのデータ交換も、常に可変のサイズを備えることができる。それにより、攻撃者は、特にさらなる暗号化の場合、伝送されたデータの種類について推論することができなくなる。特に、継続処理すべきイベントの特定の選択又は優先度付けにより、大量のイベントが発生した場合のメモリのオーバーフローが、重要なイベントのロギング不能につながることが阻止される。特に、メモリの充填状態に依存した継続処理すべきイベントの選択により、このことは、特に効率的に達成することができる。特に好適には、メモリの充填状態が低い場合、高い充填状態の場合よりも多くのイベントが選択される。特に好適には、少なくとも1つの(特定のイベントタイプに関する)初めてのイベントが選択され、それにより、すべてのイベントタイプの発生に関する展望が可能になる。さらに、イベントカウンタを設けることは有利である。なぜなら、例えば発生したすべてのイベントの数及び/又はそれぞれの異なるイベントの数などの付加的情報を僅かなメモリコストで収集できるからである。さらに、イベントタイプを特定の優先度グループに割り当てることができ、それによって、より高い優先度グループのイベントが、より低い優先度グループのイベントよりも頻繁に選択されるようになる。
【0018】
さらなる好適な構成は、さらなる従属請求項並びに以下の明細書及び図面から明らかとなる。
【図面の簡単な説明】
【0019】
【
図2】受信されたデータ、そこから導出されたイベント、関連する選択されたイベントの構造及びイベントレポートの例示的な構造又は相互作用を示した図である。
【
図3】イベントマネージャのより詳細な構造を示した図である。
【
図4】継続処理すべきイベントを選択するためのフローチャートである。
【
図5】カウンタ増分のためのフローチャートである。
【
図6】不揮発性メモリに記憶させるためのフローチャートである。
【
図7】記憶すべきイベントのランダムな選択についての概要図である。
【
図8】
図7で使用される特定の変数の割り当てを示した図である。
【
図9】イベントマネージャ、通信アダプタ、さらなるIDSインスタンス及びバックエンド間の様々な通信フローを示した図である。
【
図10】イベントマネージャ、通信アダプタ、さらなるIDSインスタンス及びバックエンド間の様々な通信フローを示した図である。
【
図11】イベントマネージャ、通信アダプタ、さらなるIDSインスタンス及びバックエンド間の様々な通信フローを示した図である。
【
図12】イベントマネージャ、通信アダプタ、さらなるIDSインスタンス及びバックエンド間の様々な通信フローを示した図である。
【
図13】イベントマネージャ、通信アダプタ、さらなるIDSインスタンス及びバックエンド間の様々な通信フローを示した図である。
【
図14】イベントマネージャ、通信アダプタ、さらなるIDSインスタンス及びバックエンド間の様々な通信フローを示した図である。
【発明を実施するための形態】
【0020】
以下の実施形態の態様に関連して、特にネットワークシステムのデータ211(例えば、通信システムのデータ又はシステムデータ)における実際の動作において様々な理由から発生し得る、正常な動作からの逸脱は、以下においては異常と称する。その原因には、例えば、以下のようなタイプ、即ち、欠陥があったり完全に故障したりしているセンサから供給された誤ったデータ又は完全に欠損したデータ、破損しているシステムの部品、外部だけでなく局所的又は物理的な攻撃(例えば、ハッカー攻撃など)によって不正操作されたシステムなどが考えられる。
【0021】
データ211における異常の識別は、いわゆる「Intrusion Detection Systems」、IDS又はIDPSを用いて実行される。IDSとは、以下においては、データ211を異常について監視するシステムを表す。この場合、例えば、データ211とは、例えばゲートウェイなどの制御装置20が、異なる通信チャネル上において(例えばバスシステム25などやインタネット27を介して)通信する通信ネットワーク内のデータ接続であり得る。しかしながら、他のデータ211も、例えば、制御装置(若しくはその中に配置されたホスト29若しくはマイクロコントローラ、又は、チップ内部のプロセッサ)内部のシステムデータも、このIDSシステムによって異常について検査されるべきである。データ211の異常の検出は、適当なセンサ24,26,28によって行われる。これらのセンサ24,26,28は、データ211のそれぞれのソース(本実施例においてはバスシステム25,27又はホスト29)に適合させられている。
【0022】
図1によれば、例えばゲートウェイ20などの制御装置が、車両18に配置されている。制御装置又はゲートウェイ20は、プロセッサ、メモリ、ワーキングメモリ(例えばホストシステム29の構成要素として)、及び、通信ネットワークを介した通信用インタフェースを含む。ゲートウェイ20は、例えば、データ接続のための命令を処理する。通信により、データ211は、データパケットの形態で生じる。ホスト29の動作時にもデータ211、例えばシステムデータが生じる。正常な状態においては、例えば、受信アドレス及び宛先アドレス、適正なプログラムフローの遵守(例えばホスト29について)、タイムスタンプ、特定のデータパケットのデータ211の発生頻度又は周波数に関して、目標値が維持される。データパケットのデータ211は、特定のタスクを満たすために、より詳細には示されていない車両18内のさらなる制御装置又は部品間において交換される。ゲートウェイ20は、例えば、CANバス25、イーサネット接続27、及び、制御装置20又はゲートウェイの構成要素であるホストシステム29へのデータ接続など、複数の通信システム又はインタフェースの結合に用いられる。しかしながら、他の通信システム(例えば、LIN、CAN-FDなどのさらなる有線バスシステム又は無線ネットワーク(例えば、WLAN又はブルートゥース))も、データ交換の目的でゲートウェイ20によって相互に結合することができる。一般に、制御装置における侵入識別部IDS又は異常識別部は、すべてのデータ211(通信システムによって受信されたデータ211、及び、制御装置20内部でホスト29によって生成されたデータ211)を、対応する異常について監視するために用いられる。本実施例においては、例示的に、ゲートウェイ20についてのIDS機能機構を説明する。しかしながら、説明した異常識別部又は侵入識別部IDSの機能性は、一般に、任意の各制御装置又は任意の各電子部品に実装することができる。特に、使用は、車両18に限定されない。それどころか、任意の通信部品、例えばインタネット(IOT;Internet of Things)内の通信モジュール又はネットワーク化された生産システムにおける通信モジュールは、説明した機能性を備えることができる。
【0023】
制御装置又はゲートウェイ20などの通信部品は、少なくとも1つの異常識別部22を含む。各通信システム25,27,29のインタフェースを介して到来するデータ211は、それぞれいわゆる異常識別又は侵入識別のためのセンサ24,26,28(略してIDSセンサ)を介して案内される。そのため、ゲートウェイ20内には、対応するセンサ24,26,28が配置されている。そのようなセンサ24,26,28は、取得されたデータ211が異常を示しているかどうかの識別に用いられる。この目的のために、これらのセンサ24,26,28内には、異常の識別と分類とに用いられる対応するフィルタアルゴリズム又は制御セットが格納されている。センサ24,26,28によって異常が特定されると、データ211の対応するデータパケットは、(試みられた侵入の)イベント220として分類される。一般に、これらのセンサ24,26,28は、ソース25,27,29に応じて異なる異常をイベント220として分類すること(各イベント220を特定のイベントタイプ218に割り当てること)ができ、識別することができる。それぞれのイベントタイプ218(データ211における異なるタイプの異常)に依存して、センサ24,26,28は、特定のイベント依存性のメタデータ216を関連するイベント220として編成する。その他に、イベント依存性のメタデータ216は、異常データ211のデータ又はデータ構成要素も含み得る。そのように生成されたイベント220は、イベントマネージャ30に転送される。これらのセンサ24,26,28は、通常、異常が発生していない場合、通信システム(例えばバスシステム25,27)の関連データ211を特定アドレスに転送するように構成されている。センサ24,26,28は、異常が識別された場合に、通信システム(例えばバスシステム25,27)の関連データ211が特定アドレスに転送されないように構成することもできる。代替的に、センサ24,26,28は、イベント220を低減するために使用することも可能である(低減されたイベント又は事前低減されたイベント221)。この低減により、例えば、異常を含むデータ211又はデータパケットの有効データの一部のみを転送することによって、イベントマネージャ30の負担を軽減させることができる。このことは、特に、イーサネット接続の際に発生するような大容量データの場合に利点となる。
【0024】
例えば、IDS CANセンサ24は、CANバス25の場合の異常識別に使用され、IDSイーサネットセンサ26は、イーサネットシステム27の場合に、及び、IDSホストセンサ28は、ホストシステム29の場合に使用される。異なる通信経路及び異なる通信プロトコルに応じて、それぞれのソース又は異常ソースにおいて異常を検出し、場合によっては分類することができるさらなるIDSセンサを設けることもできる。
【0025】
IDS CANセンサ24は、例えば、無効なCAN-ID、無効なメッセージ頻度、無効なメッセージ長さなどの関連するイベントタイプ218の関連するイベント220を検出する。IDSイーサネットセンサ26は、例えば、無効なアドレス又はMACアドレス、無効なメッセージ頻度、無効なメッセージ長さなどの関連するイベントタイプ218からイーサネット27に関連するイベント220を検出する。IDSホストセンサ28は、例えば、無効なコードの実行、プログラムの破損、ステープルカウンタなどの関連するイベントタイプ218からホストシステム29に関連するイベント220を検出する。多くの場合、それぞれのイベントタイプ218は、イベント固有のEVENT-ID又はイベントIDを備える。関連する一義的なイベントIDを有する異なるデータソースのための予め定められたイベントタイプ218が複数存在する。
【0026】
後続のさらなる異常は、イベント220として、さらなるイベントタイプ218のために考慮することができる。例えば、これらは、満充填のバッファメモリに基づくフレーム損失、フィルタ違反(ステートレス/ステートフル)、伝送レートの制限の活性化/非活性化、監視モードの活性化/非活性化、コンテキスト変更など、ファイアウォールに割り当てることができるイベント220又はイベントタイプ218である。ホストシステム29に関連するさらなる異常も、例えば、高すぎるCPU負荷、メモリアクセス違反、コード実行時エラー、ECUリセット検出、不揮発性メモリ内のログエントリ破損、ロギングメモリのオーバーフロー、イベントの拒否、MACアドレスポート変更など、関連するイベントタイプ218を有するイベント220として考慮することができる。
【0027】
イベントマネージャ30は、到来するイベント220又はそれぞれのイベント220に含まれるイベント依存性のメタデータ215の継続処理に用いられる。特に、イベントマネージャ30は、イベント220を集約し、フォーマット若しくは準備し、及び/又は、イベント220を優先度付け及び/又は低減及び/又は選択し、及び/又は、選択及び/又は低減されたイベント220,221を記憶若しくは永続化若しくは永続的に記憶するために用いられる。特に、イベントマネージャ30は、どの到来するイベント220が継続処理されるべきかを決定する。到来するイベント220から選択されたものは、選択イベント226と称される。対応する選択は、可及的に非決定論的に行われるべきである。さらに、イベントマネージャ30は、到来するイベント220又は選択イベント226にさらに特に好適にはさらなる汎用メタデータ217を備えさせる。これにより、異なるセンサ24,26,28から伝送されたイベント220は、例えば、発生したイベントの数、関連するタイムスタンプ又は時間信号224などを汎用メタデータ217の枠内において追加することによって上位的に観察することが可能である。さらに、いわゆるイベントバーストの場合であっても、十分に多くの、証言力のあるイベント220を選択イベント226として記憶できることが保証される。
【0028】
イベントマネージャ30は、侵入識別部又は異常識別部の通信アダプタ32と信号を交換する。この通信アダプタ32は、イベントマネージャ30と、制御装置又はゲートウェイ20の異常識別部22の外部のさらなる部品34,36との間においてデータを交換するための通信手段として機能する。具体的には、通信アダプタ32は、イベントマネージャ30と、さらなるIDSインスタンス34(好適には車両18の内部)及び/又はバックエンド36(好適には車両18の外部)との間においてデータを交換するためのインタフェースとして機能する。さらなるIDSインスタンス34は、任意選択的にのみ設けることもできる。
【0029】
セキュリティを高めるために、イベントマネージャ30は、イベント220,221のランダム方式で攻撃者にとって非決定論的でかつ隠蔽された低減及び優先度付けを行うことができる。そのため、選択イベント226の不揮発的な記憶をランダム方式で攻撃者にとって非決定論的でかつ隠蔽されて行うことができる。ランダムに制御された選択は、例えば、特定の制御装置に対する個別の乱数273に基づくことができる。同様に、イベントマネージャ30は、イベントカウンタ204のカウンタ状態231のランダム方式の記憶を行うことができる。イベントマネージャ30は、イベント依存性のメタデータ216の他に、選択イベント226として追加される汎用メタデータ217のランダムな依存性の記憶も行う。
【0030】
通信アダプタ32は、セキュリティを高めるために、他のIDSインスタンス34に対するイベントレポート242のランダム方式で攻撃者にとって非決定論的でかつ隠蔽されたアップロード又は送信を行うことができる。ランダムに制御されたアップロードは、例えば、特定の制御装置(又はゲートウェイ20)に対する個別の乱数273に基づくことができる。そのため、特定のイベント220は、イベントレポート242の枠内において周期的にかつ暗号化されて伝送することができる。しかし、新たなイベント220が存在しない場合においても、いわゆるダミーイベントは、イベントレポート242のフォーマットで周期的に暗号化されて伝送することができる。このことは、通信アダプタ32と、さらなるIDSインスタンス34又はバックエンド36との間のデータ交換の盗聴セキュリティ又はランダム方式の隠蔽に用いられる。
【0031】
例示的に、
図2に関連して、異常が識別された場合にセンサ24,26,28からのデータ211がどのように継続処理され、イベントマネージャ30にこれが通信アダプタ32を介してイベントレポート242を送信するまで送信されるかが示される。
【0032】
例示的に、
図2aにおいては、データ211のデータパケットが、例えば、ネットワークフレーム(例えば、CAN、イーサネット)においてどのように発生し得るかが示されている。データ211は、例えばソースアドレスと宛先アドレス(例えばMACa,MACb)とを含むヘッダ214を有する。その他に、データ211は、有効データ213を含む。
【0033】
以下においてより詳細に説明されるように、センサ24,26,28は、イベントマネージャ30に転送される有効データ領域219を任意選択的にランダムに選択することができる。センサ24,26,28は、特定のイベントタイプ218(ebent-ID又はイベントID、ID)に従った異常であることを特定する。それゆえ、センサ24,26,28は、
図2bに示されるように、イベント依存性のメタデータ216を生成する。イベントタイプ218(又はID)に応じて、イベント依存性のメタデータ216において異常の異なる情報が格納されるものとしてもよい。本実施例においては、イベント依存性のメタデータ216として、特に、ソースアドレスと宛先アドレス(MACa,MACb)、イベントタイプ218、及び、選択された有効データ領域219が使用される。
【0034】
代替的に、イベント依存性の有効データ213も全体としてイベント220の枠内においてイベントマネージャ30に転送することができる。
【0035】
代替的に、イベント220は、例えばソースとしてホスト29が使用される場合、イベント依存性の有効データ213を含まないこともできる。この場合、イベントタイプ218は、例えば、満充填のバッファに基づくデータフレームの損失、観察モードの活性化又は非活性化、CPUの高すぎる負荷、不揮発性メモリ208の破損したエントリ、ロギングバッファのオーバーフロー、イベント低減の活性化などに対する情報などであり得る。
【0036】
さらに、異なるイベントタイプ218については、さらなるイベント依存性の情報が、イベント依存性のメタデータ216の枠内においてイベント220の構成要素であるものとしてもよい。イベントタイプ218「コンテキストの変更」の場合、イベント依存性のメタデータ216は、例えば、32ビットのサイズの例えばコンテキストを含み得る。イベントタイプ218「メモリアクセス違反」又は「コード実行の際の違反」の場合、イベント依存性のメタデータ216は、例えば、アクセスされたアドレス(例えば32ビット)、プログラムカウンタ(例えば32ビット)、タスクID(例えば8ビット)を含み得る。イベントタイプ218「制御装置の検出されたリセット」の場合、イベント依存性のメタデータ216は、例えば、リセットの理由(例えば、8ビット)、例えば、POR(Point of Return)、ソフトウェアリセット、例外などを含み得る。
【0037】
後続のイーサネット関連のイベント220は、イベント依存性のメタデータ216として、例えば、静的/状態依存性のフィルタ違反(特定の制御ID又は特定のイベントタイプ218(例えば16ビット)についてのID、利用可能な場合イベント220を引き起こしたフィルタ制御ID、物理ポートアドレス、フレームが取得された物理ポートID、ソースアドレス(例えば、MACアドレス、例えば48ビット)、宛先アドレス(例えば、MACアドレス、例えば48ビット)、場合によってはソース又は宛先のIPアドレス、任意選択的にフレーム内に存在する場合のUDP/TCPポート(例えば16ビット)の決定)などをロギングすることができる。代替的に、静的/状態依存性のフィルタ違反、例えば、制御ID、物理ポート、フレーム(バイト数)、記憶された受信フレームの特定のバイト数、選択された有効データ領域219(特定のバイト数)、オリジナルフレームのバイトの選択された有効データ領域219、有効データ領域219-インデックス(例えば16ビット)、オリジナルフレーム内において選択された有効データ領域219の開始バイトなどもプロトコルすることができる。また、さらなるイーサネット関連のイベント、例えば、イベントタイプ218「伝送レート制限(活性化/非活性化)」についてはイベント220を引き起こしたフィルタ制御の関連IDを有する制御ID、イベントタイプ218「コンテキストの変更」についてはコンテキスト(例えば32ビット)、イベントタイプ218「アドレスホッピング」又は「MACホッピング」については古いポート(当該アドレスに元来割り当てられていた物理ポートID)、新しいポート(当該アドレスが最近観測された物理ポートID)、アドレス、好適にはMACアドレスなどが、イベントマネージャ30に伝送されるイベント220内に含まれるものとしてもよい。しかしながら、メタデータ216なしのイベントタイプ218、例えば、「満充填のバッファに基づくフレームの損失」なども発生する可能性がある。
【0038】
従って、イベント依存性の有効データ213の転送は、特に、関連するイベントタイプ218を有するデータ211のソースに依存する。メタデータ216は、イベント220又は低減されたイベント221として(センサ24,26,28において伝送すべき有効データ領域219のランダムな依存性の選択又は低減に基づいて)イベントマネージャ30に伝送される。
【0039】
イベントマネージャ30が、このイベント220,221を、以下においてより詳細に説明するように継続処理のために選択すべきである場合には(選択イベント226)、イベント依存性のメタデータ216に対してさらに汎用メタデータ217が追加され、それによって、
図2cに示されるメタデータ215が生じる。この汎用メタデータ217は、通常、イベントマネージャ30において生成される。それらは、例えば、イベントカウンタ204の出力信号、即ち、現在のカウンタ状態231、グローバルイベント220の数又は現在のイベント220が関わるイベントタイプ218のイベントの数である。その他に、汎用メタデータ217は、例えば、このイベント220がいつ発生したかについての時間信号224を含み得る。その他に、メタデータ217は、イベント依存性のメタデータ216又は完全なメタデータ215がどの長さ232(データのサイズ)を有しているかについても含み得る。このことは、その後のバッファメモリ206のメモリ管理にとって利点となる。
【0040】
例示的に、以下の汎用メタデータ217が提案される。これは、例えば、イベントID(例えば8ビット)の枠内におけるイベントタイプ218であるものとしてもよい。このイベントタイプ218のイベントIDは、一義的であり、例えばTLV(TLV:Type-Length-Value、タイプ長さ値)に基づく符号化を含み得る。この汎用メタデータ217は、例えば8ビットから16ビットまでの間のサイズの長さ232を含む。データ(メタデータ215)のサイズは、バイトの長さ単位に従って最大で255バイトである。ここでも、TLVに基づく符号化を想定することができる。さらに、時間信号224、タイムスタンプ(例えば64ビット)が含まれている。この時間224は、例えば、一義的なタイムスタンプを示すために、1970年1月1日などの基準時点以降に(ミリ秒単位で)経過した絶対時間値の形態で提供されている。さらに、汎用メタデータ217は、イベントタイプカウンタ204のカウンタ状態231又は出力値231(例えば32ビット)及び/又はグローバル(イベント)カウンタ204のカウンタ状態231(例えば32ビット)、各イベントタイプ218についてのイベントカウンタ204のすべてのカウンタ状態231の合計を含み得る。
【0041】
イベント依存性のメタデータ216は、それぞれのセンサ24,26,28が形成したものとして取り込まれる。相応にセンサ24,26,28によってもイベントマネージャ30によっても形成されたメタデータ215を有するこのイベント220は、イベントマネージャ30のバッファメモリ206に格納される。同様の手法で、さらに(以下においてより詳細に説明されるように)イベントマネージャ30によって選択又は低減されたさらなるイベント226(
図2dによる実施例においては例示的に215_1,215_8,215_190で示される)も、バッファメモリ206に格納される。
【0042】
バッファメモリ206に格納された選択イベント226(
図2dによる実施例においては例示的に215_1,215_8,215_190(選択イベント226についての例においてはメタデータ215のイベントNo.1、メタデータ215のイベントNo.8、メタデータ215のイベントNo.190)で示される)からは、ここでは、イベントレポート242が生成される。このレポートは、バッファメモリ206に格納された選択イベント226(本例においては215_1,215_8,215_190)を含む。これらの選択イベント226には、各イベントレポート242に対して変更されたサイズ254(例えば、乱数、時間又はカウンタなど)が先行する。その他に、イベントレポート242は、認証情報256を含む。これに関して、この認証は、通信アダプタ32又はイベントマネージャ30と、イベントレポート242を受信するユニット(IDSインスタンス34、バックエンド36など)との間において行うことができる。このイベントレポート242は、固定長257を含む。この固定長257を達成するために、データ254,215_1,215_8,215_190,256は、さらに、いわゆる充填データ255によって充填される。これらの充填データ255は、イベント関連の情報は含まない。伝送の前に、イベントレポート242の図示のデータには、
図2dに示されているように暗号化258が施される。そのような暗号化258によって暗号化されたイベントレポート242は、通信アダプタ32によって送信され、説明したように、さらなるIDSインスタンス34又はバックエンド36によって復号化され認証される。
【0043】
IDSセンサ24,26,28は、イベント220又は低減されたイベント221をイベントマネージャ30に転送する。特に、イーサネットネットワークの場合、攻撃を試みたときに、メモリ206、特に、揮発性メモリ又はバッファメモリ206は、大量のデータ又はイベント依存性のメタデータ216を有する転送すべきイベント220が多数ある場合、もはやすべてのイベント220を非常に迅速に収容することができない。このことは、データ伝送レートが高いこと、又は伝送し得るデータ量が多いことによる。それゆえ、1つ又は複数のIDSセンサ24,26,28を、転送すべきイベント220の事前選択及び/又は特定の基準によるデータ低減(低減されたイベント221)に向けることは、既に理にかなっている可能性がある。これらの基準は、僅かな予測可能性によって優れているはずである。
【0044】
IDSセンサ24,26,28の場合、特にIDSイーサネットセンサ26の場合、好適には、セキュリティを高めるために、特定の転送すべきイベント220の選択及び/又はイベントを低減されたイベント221に低減することは、ランダムに制御されて行われる。イーサネットフレームの特定のイベント220又はデータブロックの、ランダム又は任意の選択又は低減は、攻撃者にとって非決定論的でかつ隠蔽されて行われる。ランダムに制御された選択又は低減は、例えば、特定の制御装置にとって個別の乱数273に基づくことができる。同様の乱数273は、最も簡素なケースにおいては、他のランダム方式のシナリオにとっても、すべてのイベント220の低減又は優先度付けのためのイベントマネージャ30における基準として、イベント220のランダムな依存性の記憶などに使用することができる。代替的に、対応する乱数も再度制御装置において新たに生成することができる。
【0045】
到来するメッセージ又はデータ211は、通常、対応するヘッダ情報214(例えば、特定のアドレスデータ)及び後続の有効データ213を有する。通常、異常評価のために必ずしも必要ではない多くのヘッダ情報が含まれている。本発明によれば、イベント依存性のメタデータ216の枠内において低減されたイベント221の構成要素として、絶対に必要な特定のアドレス成分のみ、例えば、ソースのアドレス(例えば、MACアドレス、例えば48ビット)、宛先のアドレス(例えば、MACアドレス、例えば48ビット)、及び、異常をもたらしたID-No.(イベントタイプ218)などが転送される。他の情報、例えば、場合によっては、そのような情報がフレームに含まれている場合、フレームが受信された物理ポート又はポートID、ソース又は宛先のIPアドレス、ソース又は宛先のUDP/TCPポートに対する情報は、イベント220において、伝送する必要はなく、又は、完全には伝送する必要がない。
【0046】
しかしながら、転送すべき又は選択された有効データ領域219は、既に
図2a及び
図2bに関連して説明したように、到来するデータ211の有効データ213からランダム方式で選択される。そのため、例えば、初期データのNo.(伝送すべき有効データのメモリ領域の始端、例えばバイトNo.xyz)をランダム方式で固定することができる(例えば、その初期値がランダムに求められたデータ領域、例えば、当該イベント220についての有効データバイトNo.538を伝送する)。選択された有効データ領域219のオフセット(伝送データの数、例えば10バイト)は、固定で選択されるものとしてもよい。従って、No.538~547を有する有効データバイトが、最小限のアドレス情報(ソースアドレス、宛先アドレス)の他に、選択された有効データ領域219として、そのように低減されたイベント221の枠内においてイベントマネージャ30に転送されることになる。代替的に、選択された有効データ領域219のオフセット(伝送された有効データの数)も、好適にはランダムに依存させて変更させることができる。好適には、選択された有効データ領域219、特に選択された有効データ領域219の始端又は終端領域は、乱数273に依存する。特に好適には、この乱数273は、制御装置又はゲートウェイ20に依存する。特に好適には、乱数273は一義的であり、即ち、この特定の制御装置に対して1回だけ与えられる。
【0047】
ただし、任意選択的に、乱数273を更新することも可能である。これにより、以下のような利点が生じる。乱数の更新により、同様の攻撃シーケンス(イベント220のシーケンス)において、異なるイベント220がロギング又は選択される。このことは、攻撃がフリート全体に対してではなく、個々の制御装置/車両18に対してのみ行われる場合にも当てはまり、以下のような想定/例が考えられる。即ち、
1.同様の攻撃シーケンス(イベント220のシーケンス)を複数回繰り返す。
2.攻撃シーケンス間において乱数273が更新される。
3.攻撃シーケンスの枠内においてすべてのイベント220をロギング又は選択することはできず(イベントバースト)、イベントレポート242のためのイベント低減が続く。
4.低減されたイベント221を有するイベントレポート242が、2つの攻撃シーケンスの間において上位のインスタンス34,36に完全に転送される。これにより、同様の攻撃シーケンスの複数回の繰り返しの後で、完全な攻撃シーケンスがイベントレポート242を介して再構築され得る。
【0048】
センサ26は、好適には、乱数273の選択又は乱数273の様々な領域を、到来するデータ211のサイズ、特に到来する有効データ213のサイズに適合させることができる。有効データ213がより小さいデータ領域を有する場合、乱数273は、特定の低減された有効データ領域219の選択が、有効データ213の当該小さいデータ領域内にしか入らないようにも選択されなければならない。即ち、乱数273又は乱数273の観察領域は、それに応じて小さくなければならない。しかしながら、到来する有効データ213が非常に大きいデータ領域を有する場合、乱数273又は乱数273の観察領域は、特定の低減された有効データ領域219の選択が、有効データ213の当該大きいデータ領域も包含し得るように大きく選択されなければならない。即ち、乱数273は、それに応じて大きくなるような結果となる。
【0049】
乱数273が一義的にそれぞれの制御装置20に対して与えられたことによって、さらなる制御装置の存在において、場合によっては、(同様にさらなる制御装置に到来し、そこで相応に装備されたセンサ26を用いて同様に相応に検出されかつ転送された)完全なメッセージは、バックエンド36における分析の際に、複数の制御装置の多くの低減されたイベント221との結び付けによって完全なデータ領域と組み合わせることができる。というのも、説明したような同様のセンサ機能を有する他の制御装置も、ここでは、複数の低減されたイベント221との結び付けの後で、様々な制御装置の部分領域又は選択された有効データ領域219に基づいて、(有効)データ領域213の大部分又は有効データ213の完全なデータ領域を包含し得る(他のランダムに選択された始端又は終端アドレスを有する)他の有効データ領域219をランダムに選択するからである。そのため、様々な制御装置により、低減されたイベント221又は有効データ領域219から、例えば、1つの制御装置からの(1つの選択された有効データ領域219の)部分データ領域538~547と、さらなる制御装置からの(さらなる選択された有効データ領域219の)部分データ領域548~557と、さらなる制御装置からの(さらなる選択された有効データ領域219の)部分データ領域558~567とを利用可能にさせ、それぞれの選択された有効データ領域219を例えば上位の制御装置又はバックエンド36において再び完全な(有効)データ領域213に組み合わせることによって、イベント220を再構築することができる。このことは、特に、車両フリート全体に対するいわゆるブロードキャスト攻撃、又は、車両フリートの一部に対するいわゆるマルチキャスト攻撃の場合に当てはまる。
【0050】
転送された又は選択された有効データ領域219の開始及び/又は終了をランダムに求めることは、好適には、特定のイベント(周期的なもの、制御装置のスタートアップ、制御装置のリセット等)の後に新たに実施される。この目的のために、例えば、乱数273を新たに生成することができる。代替的に、乱数273の他の領域を、転送すべきデータ領域又は選択された有効データ領域219の開始及び/又は終了を生成するために使用することもできる。
【0051】
処理され低減されたイベント221は、センサ26からイベントマネージャ30に転送される。従って、イベントマネージャ30は、このセンサ26からこれらのネットフレームの完全なデータストリームを取得するのではなく、低減されたデータサイズを有する低減されたイベント221のみを取得する。転送すべきイベント221の低減は、IDSイーサネットセンサ26に基づいて例示的に説明したが、原則的には、このことは、他のIDSセンサ24,26,28においても実現することができる。ただし、伝送レートの高いイーサネットフレームにおいては情報含有量の多さに基づいて、特に、そのようなイベント220は、バッファメモリ206の急速なオーバーフローにつながる。IDS CANセンサ24の場合は、対応するデータ211が、いずれにせよ低いデータレートと少ないデータ量とで発生するので、ここでは、完全なイベント220が転送され、記憶され得る傾向にある。ただし、原則的には、そこでもデータを相応に説明したように低減することができる。
【0052】
従って、原則的には、センサ24,26,28におけるイベント220を低減するための以下のステップが実行される。データ211をセンサ24,26,28から受信し、及び/又は、データ211を異常が存在するかどうかについて評価する。異常が存在する場合、データ211を低減する。この低減は、アドレス領域若しくはヘッダ214及び/又はデータ領域若しくは有効データ213の低減によって行われる。アドレス領域214の低減は、宛先アドレス及び/又はソースアドレスの選択によって行うことができる。有効データ213の低減は、ランダムな依存性で行われる。有効データ213の低減は、有効データ213の部分領域の開始値及び/又は終了値のランダムな選択によってランダムな依存性で行われる。データ領域のオフセット(伝送されたデータの数)は、特定の値に固定される。低減されたイベント221は、イベントマネージャ30に伝送される。低減されたイベント221は、低減されたアドレスデータ及び/又は低減若しくは選択された有効データ219を含む。乱数273の更新は、特定のシステム状態(周期的なもの、スタートアップ、リセットなど)に依存して行われる。代替的に、乱数273の更新は、ランダムに及び/又は時間制御されて行うこともできる。選択された有効データ領域219の開始又は終了領域を決定するための乱数273又は乱数273の領域は、受信されたデータ211の有効領域213のサイズに依存し得る。
【0053】
図3によれば、イベントマネージャ30の構造がより正確に示されている。イベントマネージャ30は、互いに相互作用する複数の機能ブロックを有している。センサ24,26,28によって検出されたイベント220又は低減されたイベント221の各々は、ブロック202に到達する。ブロック202は、継続処理されるべき、到来するイベント220又は低減されたイベント221の選択に用いられる。特に、ブロック202は、イベント220,221の優先度付け及び低減に用いられる。
【0054】
各イベント220又は低減された各イベント221も同様に、イベント220,221のためのカウンタ204として用いられるブロック204に到達する。イベント220,221が発生した場合、対応するカウンタ、特にグローバルイベントカウンタ205が増分される。特に好適には、カウンタ204は、上記で対応するセンサ24,26,28に関連して詳細に説明したように、異なるイベントタイプ218(ID1,ID2…IDn)に対して異なるカウンタZ1,Z2…Znを有している。グローバルイベントカウンタ205は、ここでも、異なるイベントタイプ218(ID1,ID2…IDn)に対するカウンタZ1,Z2…Znのすべてのカウンタ状態の合計を表す。ブロック204又はカウンタの出力信号231は、すべてのイベント220,221のカウンタ状態、即ち、それぞれのイベント依存性のカウンタZ1,Z2…Zn及びグローバルイベントカウンタ205のカウンタ状態を含む。ブロック204の対応する出力信号231は、イベント220の通信のためのブロック210に供給される。ブロック204は、カウンタ又はイベントカウンタ204,205に対するリセット要求を表すリセット信号222を受信するように構成されている。ブロック204は、ブロック202から、例えば「イベント低減活性化」などの低減ステータスのための信号225を取得する。ブロック202においては、例えば、低減された数の特定のイベント220,221のみが選択イベント226として継続処理される場合にのみイベント低減が活性化される。このことは、特に、例えば、いわゆるイベントバーストの枠内においてバッファメモリ206の充填状態228の増加を伴う多数のイベント220,221が到来する場合に当てはまる。この場合は、付加的なイベント220が、例えば、上述したようなイベントタイプ218「イベント低減活性化」を伴って生成されるべきである。従って、関連するイベントタイプ218を有するこのイベント220’に対しても、同様に、対応するカウンタ又はカウンタ状態が存在する。
【0055】
ブロック202によって処理されたイベントは、選択イベント226としてブロック206に到達し、このブロック206は、ブロック202によって供給された選択イベント226のためのメモリ又はバッファメモリとして用いられ、この目的のために対応するロジックを含む。対向的に、メモリ206は、充填状態又はメモリ占有率228をブロック202に返信する。メモリ206は、好適には揮発性メモリ、特にRAMのバッファメモリである。その他に、時間信号224、特にグローバル時間信号224は、メモリ206又は選択イベント226をバッファリングするためのブロックに到達する。メモリ206は、イベントマネージャ30の構成要素である。
【0056】
メモリ206に記憶又はバッファリングされた特定のイベント236は、選択イベント226又は記憶されたイベント236に依存してイベントレポート242の通信に用いられるブロック210に到達する。その上さらに、イベントの通信のためのブロック210は、イベントカウンタ204の出力信号231、例えば、それぞれのイベントタイプ218のためのカウンタZ1,Z2…Znのカウンタ状態及び/又はグローバルイベントカウンタ205のカウンタ状態を取得する。イベント、特にイベントレポート242の通信のためのブロック210は、暗号法モジュール212と信号244を交換する。この暗号法モジュールは、例えば、暗号化演算、証明演算及び認証演算、並びに、乱数生成などの暗号法演算を実施する。暗号法モジュール212を用いて、ブロック210の暗号化された通信を外部に向けて行うことができる。暗号法モジュール212は、特に、
図2dに示される暗号化258を使用してイベントレポート242の暗号化を実施する。同様に、暗号法モジュール212は、認証情報256を使用してイベントレポート242の認証を実施することができる。これについても同様に
図2dを参照されたい。ブロック210は、通信アダプタ32及び/又はイベントマネージャ30内に常駐するものとしてもよい。ブロック210は、対応するイベントレポート242を出力する。ブロック210は、メモリ206,208内に記憶された対応するイベント236を読み出す要求命令240を受信する。この要求命令240は、周期的に及び/又は明示的な要求に向けて行うことができる。その他に、ブロック210は、信号239(イベントリリース)をメモリ206に送信する。これにより、通常、記憶されたイベント236又は選択イベント226を含む関連するイベントレポート242の伝送が成功した後で、メモリ206又は208に、記憶されかつ継続通信されたイベント236,226が上書き又は削除されてもよいことが通知される。
【0057】
その他に、イベントマネージャ30には、さらなるメモリ208、特に不揮発性メモリが設けられている。このさらなる特に不揮発性メモリ208には、バッファメモリ206に一時的に記憶された特定のイベント234及び/又はイベントカウンタ204のカウンタ状態が永続的に記憶される。この目的のために、メモリ208は、イベントカウンタ204及び/又はバッファメモリ206とデータを交換する。
【0058】
以下においては
図4に基づいて、イベント220の優先度付け及び低減のためのブロック202の動作形態をより詳細に説明する。以下に説明する機構は、イベント220,221に対して補足的で有用(かつメモリ集約的)なメタデータ215が記憶されるべきかどうかを選択するために使用される。さらに一般化すれば、ブロック202は、イベントマネージャ30に供給されたイベント220,221から、選択イベント226として継続処理すべきイベントを選択するために用いられる。取得されたイベント220,221の各イベントタイプ218について、この特定のイベントタイプ218の最初の発生であるかどうか、又は、このイベントタイプ218を有するイベント220が既にメモリ若しくはバッファ206に送信されたかどうかが、問い合わせ301で追従される。イベントタイプ218の最初の発生の場合、続いてブロック304が行われ、そこでは、それぞれのイベント220が選択イベント226としてバッファ206に伝送され、そこに記憶される。そうでない場合には、続いてブロック302が行われる。このステップ302においては、イベントタイプ218に関して既に発生したイベント220,221がそれにもかかわらず記憶されるべきかどうかについて特定の基準に従って決定される。このことは、例えば、イベント220,221のランダムな選択の後で、特に乱数273に基づいて行われる。このランダムな選択は、特に好適には、制御装置固有の又は車両固有の乱数273に基づくことができる。ランダムな選択については、最悪のケースの攻撃シナリオ(いわゆるイベントバーストを伴って長く続く攻撃)の場合、バッファメモリ206のオーバーフローを制限するために、知的アルゴリズムが使用されるべきである。他方では、完全な攻撃にわたって可及的に大きいスペクトルを把握するために、通常のシナリオにおける合理的な数の記憶されたイベント236又は選択イベント226又はログエントリが取得されるべきである。この目的のために、ステップ303においては、ステップ302において選択されたイベント220が記憶するための選択イベント226としてメモリ206に伝送される。
【0059】
即ち、ここでは、問い合わせ303により、ステップ302によるランダムな基準に従ってイベントが選択される限り、このイベント220,221も選択イベント226としてメモリ206に送信される(ステップ304)。そうでない場合には、このプログラムフローがメモリ206内へのこのイベント220,221の記憶なしで、又は、イベント220に対するさらなるメタデータ215の補足的な記憶なしで終了する。メモリ206が読み出され、ブロック210を介して通信された場合、イベントタイプ218の最初の発生の監視がリセットされる。イベント220,221が選択又は破棄されなかった場合、破棄された各イベント220,221について状態「イベント拒否」がトリガされる。特に好適には、この目的のために、選択されていないイベント220の数を検出するさらなるカウンタ204を設けることができる。
【0060】
付加的な優先度付けのために、イベント220,221は、任意選択的に、それぞれのイベントタイプ218に依存してグループ化され、各イベントタイプ218についてランダムなイベント低減のための固有のインスタンスを設けることができる。この優先度付けは、グループ形成によって補足的に達成することも可能である。このことは、イベントタイプ218が異なる優先度グループに割り当てられていることを意味する。最も高い優先度(Prio1)を有する優先度グループには、特定のイベントタイプ218(例えばID-No.ID1,ID6,ID14,ID23などを有するイベントタイプ218)が割り当てられ、次に低い優先度を有する優先度グループ(Prio2)には、関連するさらなるイベントタイプ218(例えばID-No.ID2,ID5,ID12,ID27などを有するイベントタイプ218)が割り当てられ、次に低い優先度を有する優先度グループ(Prio3)には、関連するさらなるイベントタイプ218(例えばID-No.ID3,ID9,ID13,ID19などを有するイベントタイプ218)などが割り当てられる。異なる優先度グループ(Prio1,Prio2,Prio3,…)については、異なる多数のイベント220が、平均して選択イベント226としてランダム方式で選択される(N1:(優先度グループ1(Prio1)に対する選択イベントの数、Nx:優先度グループx(Prio_x)に対する選択イベントの数)。高い優先度を有する優先度グループの場合、低い優先度を有する優先度グループの場合よりも平均して多くのイベント220がランダム方式で選択される(N1>N2…)。このことは、例えば、領域B1,B2…Bx(関連する優先度グループPrio1,Prio2…Prio_xを有する)、又は、イベント220が選択される数は、選択される数が小さいほど優先度が高くなる(B1<B2…)ようにすることによって達成することができる。
【0061】
選択イベント226は、揮発性メモリ206に記憶される。ただし、選択イベント226は、即座に不揮発性メモリ208に記憶すべきではない。なぜなら、過度に頻繁な記憶は不揮発性メモリ208を損傷させかねないからである。選択イベント226を不揮発性メモリ208に記憶することは、例えば、
図6に関連してより詳細に説明するようにランダム方式で行うことができる。
【0062】
メモリ206,208は、異なるサイズを有する選択イベント226を処理することができる。
図7において、ここでは例示的にメモリ206が示されている。このメモリは、空きメモリ領域250及び充填メモリ領域252を含む。充填メモリ領域252には複数の選択イベント226が格納されている。これらのエントリ226は、それぞれ異なるサイズを有することができる。メモリ領域を非固定的に分割することにより、メモリスペースが最適に活用される。メモリ206が満充填の場合、新たな選択イベント226は破棄されるが、原則的には、以下に説明するように、メモリ206の満充填は、自己調整機構によって阻止される。そのため、メモリ206の非常に高い充填状態228の場合、平均して、メモリ206の低い充填状態228の場合よりもはるかに少ないイベント220がランダム方式で選択される。それにもかかわらず選択イベント226が満充填のバッファ206に基づいて破棄される場合、破棄されたイベント又はエントリの数を求めるために、新しいイベントタイプ218「ロギングバッファのオーバーフロー(メモリ206のオーバーフロー)」のためのイベントカウンタが実装される。このことは、
図3に示されるように、例えば、メモリ206の状態230が、カウンタ204に通知されることによって行うことができ、代替的に再びさらなる選択イベント226がメモリ206の満充填に基づいて記憶できなくなったときにはいつでもこの信号230がパルスをカウンタ204に送信することによって行うことができる。
【0063】
すべての記憶されたイベント236又は選択イベント226が、例えば制御装置内の外部データロガーに対するイベントレポート242の枠内においてブロック210を介して正常に報告されるとただちに、バッファ206は、対応するイベント226の上書き又は削除のために解放される(信号239フリーイベント)。特にフラッシュメモリなどの不揮発性メモリ208へのイベント236の書き込みは、好適には、メモリ効率及び性能要件を保証するために、非AUTOSARのメモリ機構を介してマッピングすることができる。しかしながら、標準的AUTOSARのメモリ機構を使用することも可能である。
【0064】
図5に関連して、イベントカウンタ204をより詳細に説明する。各イベントタイプ218について、固有のカウンタZ1,Z2…Znがイベントカウンタ204の枠内において実装される。このイベントカウンタ204は、それぞれ値0で開始される。最初に、問い合わせ260で、カウンタ状態がまだ最大値よりも小さいかどうかが求められる。このことが当てはまる限り、ステップ262で、特定のイベントタイプ218のイベント220,221の発生の際に、カウンタZ1,Z2…Znがそれぞれのイベントタイプ218について増分される。そうでない場合は、カウンタ状態は、最大値で維持され、即ち、オーバーフローは発生しない。問い合わせでは、イベントカウンタ204をゼロにリセットすることが可能である。カウンタ204は、例えば、32ビットカウンタとして実装することもできる。
【0065】
図6に従って、不揮発性メモリ208におけるイベントカウンタ204及び/又は特定の選択イベント226の不揮発性の記憶を説明する。データは、不揮発性メモリ208に規則的な時間間隔で記憶されるべきである。そのような時間間隔は、例えば、秒領域、分領域で存在し、時間領域まである。例えば、データの記憶は、30分ごとに行われる。記憶に対する時点は、攻撃者にとって書き込み動作を予測できないようにするために、ランダムに選択されるべきである。記憶周期は、ランダムに制御されて、例えば、特定の間隔(例えば30分以内など、ただし、例えば30分間隔内の記憶の正確な時点はランダムに制御される)で行うことができる。ここでも、(記憶時点の決定のための)ランダム変数は、制御装置固有又は車両固有の乱数273に依存して生成又は選択することができる。
【0066】
代替的に、時間制御された記憶の瞬間は、乱数を基本的な時間間隔で乗算することにより、ランダムな依存性で選択することもできる。そのため、例えば、15秒という特定の基本的な時間間隔である場合には、これに乱数273の例えば3ビットの乱数又は乱数領域が乗算される。乱数273自体は、周期的に及び/又はランダムに更新することができる。代替的に、乱数273は、例えば、生産時及び製造時において、制御装置固有又は車両固有に個別に与えることができる。代替的に、乱数273の特定の領域を選択し、それに基づいて、乱数273の領域に依存した係数を形成することもできる。
【0067】
新たな選択イベント226が発生し、不揮発性メモリ208への記憶が可能になるとただちに、これらの選択イベント226は、不揮発性に記憶される。その上さらに、選択イベント226(メモリ206内)及び/又は不揮発性メモリ208内のイベントカウンタ204の特定のカウンタ状態232などのさらなる情報の記憶は、制御装置の状態変更(これは攻撃者によって引き起こされるかもしれない)が、例えばリセット又は静止モードの要求による現在のRAM内容の損失(従って、バッファメモリ206の損失)まで停滞している場合に開始される。
【0068】
これらのデータは、それらの一部が破損していたとしても、再構築を行うことが可能であるように、冗長的な手法で記憶されるべきである。記憶されたデータの真性及び完全性は、不揮発性メモリ208からの読み出し後に検査又は保証されるべきである。好適には、不揮発性メモリ208は、信頼性のあるゾーンに配置されている。この場合、IC内部メモリは、信頼性のあるもの(Trusted)として格付けされることに基づいている。この目的のために、標準的AUTOSAR NVM(Non Volatile Memory)ハンドラーを使用することができる。
【0069】
図6においては、選択イベント226を不揮発性メモリ208に記憶するための状態グラフが例示的に示されている。状態264においては、不揮発性メモリ208へのデータの記憶は、基本的に、この状態264に達した場合に可能となる。状態266においては、不揮発性メモリ208への記憶は不可能である。状態264から状態266への変更は、記憶の実施後に行われる。記憶が可能になる状態264への復帰は、時間制御されて行われる。好適には、時間は、既に説明したようにランダムな依存性である。本システムは、制御装置がアイドル状態又はリセットを提供しない場合は、状態266(記憶なし)にとどまる。
【0070】
図7は、イベントマネージャ30の部品のより正確な図面を示している。バッファメモリ又はメモリ206には、複数のイベント226が記憶され、充填メモリ領域252を形成している。例示的に、イベントNo.2(226.2)、イベントNo.4(226.4)、イベントNo.8(226.8)、イベントNo.13(226.13)、イベントNo.25(226.25)、イベントNo.38(226.38)、イベントNo.77(226.77)及びイベントNo.97(226.97)が選択イベント226としてバッファメモリ206に記憶されている。これらの選択イベント226は、以下において説明するように、一連の発生したイベント220(No.0~例えば200)から特定の手順に従って選択され、バッファメモリ206に選択イベント226として記憶されたものである。
【0071】
バッファメモリ206の未充填の領域又は残存する領域は、空きメモリ領域250を形成する。
【0072】
図示のメモリ占有率の対応する充填状態228は、本実施例においては、最後に記憶された選択イベント226.97によって形成される。バッファメモリ206のメモリ領域は、ここでは、0%乃至100%の間において複数の領域267又は充填状態領域267に分割されている。本実施例においては、これらは、例えば10個の(充填状態)領域267.1~267.10である。本実施例においては、領域267は、常に同等の大きさで選択され、本実施例においては、これらは、10%間隔である。本実施例においては、メモリ206は、特に、現在の領域267.4、即ち、完全なメモリ占有率の30%乃至40%の間にある第4の領域267.4を有する。
【0073】
機能ブロック268においては、メモリ206の現在の充填状態228が位置する現在のメモリ領域267.4が求められる。現在の充填状態領域267、本実施例においては第4領域に対する267.4が、ブロック270に到達する。
【0074】
ブロック270においては、次のイベントに対するオフセット271が求められる。このオフセット271は、何番目のイベント220から次にメモリ206に記憶すべきイベント226が選択されるべきかを示す。この、次に記憶すべきイベント226が特にランダムに選択されるべきイベント220の数(オフセット271)は、それぞれの充填状態228又は関連するメモリ領域267に依存する。低い充填状態228又はメモリ領域267の場合(メモリ206の充填状態228は比較的低い)、イベント220はより迅速に記憶され、即ち、オフセット271は、比較的僅かである。充填状態228又はメモリ領域267の増加とともに、オフセット271も増加し、即ち、より少ないイベント220が記憶され、又は、より大きい数(オフセット271)から1つのイベント220のみが選択される。これにより、メモリ206のオーバーフローを所期のように遅延させたり、阻止させたりすることができる。オフセット271内においては、次に記憶すべきイベント226のランダム方式の選択が行われる。オフセット271ごとに、常に1つのイベント220のみが(オフセット271内において)ランダム方式で選択又は記憶される。従って、メモリ206の充填状態228に依存したオフセットサイズの変化により、より多くの又はより少ないイベント220が、平均して、ランダム方式で選択又は記憶される。即ち、メモリ206の充填状態228が特定の領域227内にある限り、イベントマネージャ30は、充填状態228が、変更された、通常は増加したオフセット271で次の領域227に到達するまで、常に同一の関連するオフセット271から選択すべきイベント226を選択する。
【0075】
下方の限界値又は上方の限界値によって定められるメモリ領域267を逸脱する場合、新しい領域についての次のオフセット271は、例えば、特定の係数又は除数だけ増加又は低減させることができる。
【0076】
例示的に、
図8による表には、
図7に示されているようなメモリ206の占有率に結び付く対応するシナリオが示されている。オフセット271は、例示的に以下に示されるように、異なる充填状態228又はメモリ領域267に対して選択することができる。そのため、例えば、0%乃至10%の間のメモリ領域(267.1)の場合、オフセット271には2(0から2まで、即ち、選択は3つのイベント220から行われる)が割り当てられ、10%乃至20%の間のメモリ領域(267.2)の場合には8(0から8まで、即ち、選択は9つのイベント220から行われる)が割り当てられ、20%乃至30%の間のメモリ領域(267.3)については32(0から32まで、即ち、選択は33のイベント220から行われる)が割り当てられ、及び、30%乃至40%の間のメモリ領域については128(0から128まで、即ち、選択は129のイベント220から行われる)などが割り当てられる。次のメモリ領域267に対するオフセット271の対応する拡大は、例えば、対応する係数(4)などによって行うことができる。メモリ領域267もオフセット値271も、自由に構成することができ、従って、それぞれの所望の状況、例えばメモリサイズなどに適合させることができる。
【0077】
図7の次のブロック272においては、ここで、次の記憶すべきイベント220が、充填状態228又はメモリ領域267に依存して(
図7に例示的に示されるように乱数273に依存して)ランダムに選択されるべきである。この場合、オフセット271、即ち、それぞれの記憶すべきイベント220がランダムに選択されるべき、イベント220の数又は次の観察すべきイベント220の領域が、乱数273又は乱数273の対応する領域によって包含され得ることが保証されなければならない。それぞれのオフセット271に依存して、観察すべき乱数273の領域のサイズが選択される。乱数273が、例えば、
図7に例示的に示されるようにビット符号化されている場合、例えば、2(0~2)のオフセット271に対して、最初に2ビットの暫定的なサイズの乱数273_tempの暫定的な領域が選択される。8(0~8)のオフセット271の場合、4ビットのサイズの乱数273.x_vの領域xが選択される。32(0~32)のオフセット271の場合、6ビットのサイズの乱数273_vの暫定的な領域が選択される。128(0~128)のオフセット271の場合、8ビットのサイズの乱数273_vの暫定的な領域が選択される。乱数273_vの暫定的な領域は、
図7の具体的な乱数273に対して例示的にそこに示された列4から取り出すことができる。その後、暫定的な領域273_temp内に含まれる乱数273の区間が、次のメモリ領域276に対するオフセット271以下であるかどうかが検査される。このことが当てはまる場合、暫定的な領域273_vも、乱数領域としての乱数273.xの区間として実際に使用される。列5の対応する問い合わせは、「真」で応答することができる。このような場合、乱数273.x_vの一時的な区間は、乱数273.xの選択された区間と一致する。このことが当てはまらない場合(列5の問い合わせが「偽」で応答する場合)、乱数273.x_vの暫定的な区間は縮小される。このことは、1ビットの削除、好適には最上位ビット(MSB)の削除によって行うことができる。従って、この領域273.xに生じる乱数の値について、ここでは、この値が、次のメモリ領域267のためのオフセット271内にあることを保証することができるようになった。
【0078】
そのため、例えば、8(0~8)のオフセット271の場合、最初に、数8自体(現在のオフセット271のサイズ)も包含するために乱数273の4ビットが観察される(これについては
図8のバッファエントリNo.3,4,5の列参照)。関連する暫定的な乱数領域273.5_vの4ビットサイズ値<=オフセット271、例えばイベントNo.25,273.5=0b0111=7である場合には、この4ビット数は直接使用される。関連する問い合わせは、
図8の列5に示される。条件が満たされているため、この結果は「真」である。
【0079】
関連する暫定的な乱数領域273.4_vの4ビットサイズ値>オフセット271、例えばイベントNo.13,273.4=0b1100=12の場合、この4ビット数は直接使用されるのではなく、むしろMSB(乱数273.4の観察領域に対する最上位ビット)が切り捨てられ、この結果として3ビット数0b100=4が使用される。切り捨てられたMSBは破棄する必要はなく、むしろ次の観察すべき乱数273.5_vの領域のLSB(最下位ビット)として受け入れられる。関連する条件(対応する乱数領域273.3<=オフセット271であるか)は、この場合、満たされない(列5の関連する結果「偽」)。この手順により、乱数273が完全に使用され、不必要に早く消費されないことが保証できるようになる。
【0080】
乱数領域273.xのサイズ(例えば、乱数273の領域に必要なビットの数)を求めるために、このサイズ(例えば、必要なビットの数)が、次のイベント220の関連するメモリ領域267のオフセット271のサイズを表すために十分かどうかを考慮する必要がある。
【0081】
即ち、
図8による実施例の場合、行1によれば、2(0~2)のオフセット271の場合、2即ちイベントNo.2(220.2、グローバルイベントカウンタ285は2)の選択された乱数273.1において(イベント220.0、220.1、No.0及びNo.1を破棄した後)選択イベント226.2として選択される。行2によれば、次のオフセット領域271の場合(依然として0~2の場合)、このオフセット領域271に関してイベントNo.1がランダムに選択される。このオフセット領域271のイベントNo.0は、破棄されたが(3のグローバルカウンタ状態285に対応)、このオフセット領域271のイベント番号1は選択された(4のグローバルカウンタ状態285に対応し、選択イベント226.4が生じる)。次のオフセット領域271は、行3によれば、依然として2(0~2)にある。なぜならバッファ206の充填状態267が、依然として0%乃至10%の間の領域267.1にあるからである。273.3に対する乱数は2であるので、このオフセット領域271のイベントNo.0及び1の破棄後、イベントNo.2が選択される(グローバルカウンタ状態285は8、選択イベントは226.8)。その後の充填状態267は、次の充填状態領域267.2にあるため、新しいオフセット271は、ここで8(0~8)に変更される。上記で説明したように、ここで、暫定的な乱数領域273.4_vの次の4ビットが観察される。12を伴う暫定的な乱数領域273.4_vの関連する乱数は、現在のオフセット271のものよりも大きいので(列5の問い合わせ12<=8は「偽」を生じる)、暫定的な乱数領域273.4_vの最上位ビットは使用されず、むしろ選択された乱数領域273.4の枠内の下位3ビットのみが使用される(2進の100、即ち、4)。従って、この新しい8(0~8)のオフセット領域271について、イベントNo.0(グローバルカウンタ状態285は9である)~No.3は破棄され、イベント番号4(グローバルカウンタ状態285は、従って、13)が選択イベント226.13として選択される。例示的に、
図8は、さらなる充填状態267に対する対応値を編成している。
【0082】
即ち、ブロック272においては、ここで、次のイベントとしてどのイベント220が選択イベント226として選択されるかがランダムな依存性で求められている。対応するブロック280は、ここで、新しいイベント220の発生を監視している(ブロック284)。事前に例えば、記憶されたイベント226.8(8のイベント)の後の次のイベント226.13(13のイベント)が記憶されるべきであることが確定されていた場合には、ブロック280は、イベントNo.13を待機し、即ち、次のイベントNo.9~12は破棄し、はじめてイベントNo.13を選択イベント226.13としてメモリ206に記憶する。メタデータ215(イベント依存性のメタデータ216及び汎用メタデータ217)のデータサイズを有する新たな選択イベント226に依存して、メモリ206の新たな充填状態228が求められる。このことは、例えば、既にメタデータ215に含まれているような長さ232を使用して特に簡単に行うことができる。
【0083】
乱数273は、異なる制御装置又は車両18について異なって選択することができる。そのため、乱数273は、例えば、生産時に1回、車両固有に又は制御装置固有に与えることができる。代替的に、乱数273は、内部で特定の規則自体に従って新たに生成することも可能である。新しい生成は、例えば、システム状態の移行時(起動時、リセット時、スリープモードへの移行時など)に、及び/又は、特定の時間の経過後に周期的に行うことも可能である。
【0084】
対応する情報から、ブロック272は、次のイベントヒット278を求める(next event hit「次のイベントヒット」):次のオフセット271における次のイベントヒット278)。次のイベントヒット278は、ブロック280(throw the dice「サイコロ投げ」)に到達し、ここでは、ランダム方式で供給されたイベント220が破棄される(イベント220はバッファメモリ206に記憶されない)、又は、バッファメモリ206に記憶する選択イベント226として選択される。選択が行われる限り(イベントヒット282、next event hit)、続いてブロック284が行われる。ブロック284は、各イベント220において呼び出される。しかしながら、ブロック284自体も、ブロック280を(各イベント220について)呼び出し、このブロックはイベント220が選択されるべきか否かについてブロック284に返事を与える。イベント220がブロック280によって選択された場合、ブロック284は、イベント220を選択イベント226としてメモリ206に記憶することをトリガする。
【0085】
ブロック284(on event「イベント時」)においては、選択イベント226としてバッファメモリ206の空き領域250へのその後の記憶のために選択されたイベント220の読み込みが行われる。ブロック284は、新たに到来する各イベント220,221において常に呼び出される。ブロック284は、到来するイベント220,221の可能な低減及び優先度付けを含むランダムな選択に用いられる。
【0086】
その上さらに、ブロック280におけるランダム方式の選択の他に、例えば既にETHセンサ26とともに説明したようにイベント220のランダムな依存性の低減を行うことができる。そのため、特定のデータ領域(好適には固定されたデータ領域の始端又はデータ領域の終端)をランダムな依存性で選択することができる。同様に、特定の低減されたアドレスデータのみを記憶することもできる。
【0087】
同様に、イベント220が大量に発生した場合に、又は、一般に、(特定のソース、例えばイーサネットにおいて)センサ24,26,28自体が、(他のソースからのイベント220も到来する)イベントマネージャ30の負担軽減のために、イベント220を選択又は低減し、イベントマネージャ30に類似した準プレフィルタリングを施すこともできる。センサ24,26,28が、既に、個々のイベント220をイベントマネージャ30に転送していない場合、これも同様に固有のイベントタイプ218として、イベントマネージャ30に通信すべきである(イベントマネージャ30における低減状態225に類似)。しかしながら、一般に、イベント220のイベント依存性の選択は、センサ24,26,28自体において行われ、センサ24,26,28のバッファメモリに格納することができる。対応するカウンタも、同様に、それぞれのイベントタイプ218についてのセンサ24,26,28内に設けることができ、必要に応じてイベントマネージャ30に伝送することができる。センサ24,26,28による選択イベント226’も、上位のインスタンス34及び/又はバックエンド36への場合によって起こり得る転送のために、イベントマネージャ30による要求に応じてイベントマネージャ30に伝達することができる。イベントマネージャ30に関連して説明したランダムな選択及び/又は優先度付けのための手順は、それでもなおセンサ24,26,28において実行することが可能である。それにもかかわらず、それぞれのソースに対する特定のデータ211だけに限定されるものとしてもよく、即ち、センサ24,26,28は、センサ固有のイベント220だけを選択することができる。
【0088】
通信アダプタ32は、セキュリティを高めるために、他のIDSインスタンス34に対するイベントレポート242のランダム方式で攻撃者にとって非決定論的でかつ隠蔽された送信を想定することができる。
【0089】
既に
図2dに関連して説明したように、バッファメモリ206に格納された選択イベント226からはイベントレポート242が生成される。このレポートは、バッファメモリ206に格納された選択イベント226を含む。これらの選択イベント226には、各イベントレポート242に対して変更されたサイズ254(例えば、乱数、時間又はカウンタなど)が先行している。その他に、イベントレポート242は、認証情報256を含む。これに関して、この認証は、通信アダプタ32と、イベントレポート242を受信するユニット(IDSインスタンス34、バックエンド36など)との間において行うことができる。認証情報256は、例えば、イベントレポート242のデータの少なくとも一部から、好適にはイベントレポート242のすべてのデータ(もちろん形成すべき認証情報256は除く)から形成することができる。この目的のために、対応するアルゴリズムがイベントマネージャ30に格納される。認証の目的のために、上位のユニット34及び/又はバックエンド36は、同様の手法で受信されたイベントレポート242の対応するデータから復号化により関連する認証情報256’を形成し、イベントレポート242で伝送されるように実際に受信された認証情報256と比較することができる。一致した場合は、真性に基づく。
【0090】
イベントレポート242は、固定長257を含む。この固定長257を達成するために、データ254,215_1,215_8,215_190,256は、さらに、いわゆる充填データ255によって充填されている。これらの充填データ255は、イベント関連の情報を含まない。伝送の前に、イベントレポート242の図示のデータには、
図2dに示されているように暗号化258が施される。そのような暗号化258によって暗号化されたイベントレポート242は、通信アダプタ32によって送信され、説明したように、さらなるIDSインスタンス34又はバックエンド36によって復号化され認証される。たとえ各イベントレポート242に対して変更されたサイズ254が例えば1ビットしか異なっていなくても、その後の暗号化258により、暗号化されたイベントレポート242は、先行のイベントレポート242とは(1ビットだけでなく)大きく異なることになる。
【0091】
そのため、特定のイベント220は、イベントレポート242の枠内において、周期的に暗号化されて(平文におけるイベントレポート242の一部として常時変化するサイズ254も、イベントレポート242の暗号化258も)伝送することができる。ただし、新たなイベント220が存在しない場合においても、(例えば充填データ255からなる)いわゆるダミーイベントを周期的に暗号化して伝送することができる。このことは、通信アダプタ32と、さらなるIDSインスタンス34又はバックエンド36との間のデータ交換の盗聴セキュリティ又はランダム方式の隠蔽に用いられる。
【0092】
以下においては、イベントマネージャ30と、制御装置又はゲートウェイ20内の通信アダプタ32との間、及び、通信アダプタ32と、車両18内の少なくとも1つのさらなるIDSインスタンス34との間、及び、さらなるIDSインスタンス34と、バックエンド36との間の通信フローが、
図9乃至
図14に基づいて例示的に説明される。
【0093】
例えば、ゲートウェイ20などの制御装置からさらなるIDSインスタンス34(例えば、車両18内の中央イベントロガー)への通信においては、さらなるIDSインスタンス34又はイベントロガーが、未読のエントリ又はメモリ206に記憶されたイベント236又は選択イベント226を介して情報提供されることを保証すべきである。制御装置又はゲートウェイ20は、好適には、いわゆるハートビート信号(通信参加者の適正な接続の検査のために使用できる周期的な信号)を介して、定期的な方式でイベントレポート242をさらなるIDSインスタンス34に送信すべきである。ハートビート信号(イベントレポート242を含む)は、暗号化されるべきであり、真性なものでなければならない。好適には、伝送される情報は、(場合によっては認証情報256を使用して)真性にかつ好適にはランダムに又は乱数273を使用して暗号化されて、制御装置又はゲートウェイ20と、さらなるIDSインスタンス34との間において交換されるべきである。好適には、イベントレポート242は、固定長257を有するべきであり、暗号化されかつ認証されるべきである。暗号化された各イベントレポート242は、たとえ伝送された状態が変更されていなくても、先行するイベントレポート242とは異なるようにすべきである。
【0094】
その他に、さらなるIDSインスタンス34から制御装置又はゲートウェイ20又は関連する通信アダプタ32への通信は、以下の機能性によって優れているべきである。データロガー又はIDSインスタンス34は、特にメモリ又はバッファメモリ206のオーバーフローを阻止するために、可能な限り早くイベント236又は関連するイベントレポート242を読み込むべきである。イベントレポート242は、例えば要求に応じて、診断インタフェースを介して読み出せるようにすべきである。代替的に、イベントレポート242は、完全に周期的に送信することもできる。イベントレポート242は、たとえ新たな選択イベント226が新たなイベントレポート242の枠内において利用可能でないとしても、定期的な方式で好適には真性にかつ暗号化又は偽装されて通信又は読み出されるべきである。制御装置又はゲートウェイ20は、固定長の、暗号化され認証された応答又はイベントレポート242で、読み出し要求240に応答すべきである。暗号化された各応答又はイベントレポート242は、たとえ内容が変更されていなくても、先行の応答又はイベントレポート242とは異なるようにすべきである。例示的に、このことは、既に説明したように常に変更されるサイズ254によって行われる。
【0095】
図9によれば、イベントマネージャ30は、最初に第1の選択イベント226.1を選択し、続いて第2の選択イベント226.2を選択する。これらは、説明したようにイベントマネージャ30によって処理される。即ち、これらの選択イベント226.1,226.2は、メモリ206に格納されている。通信アダプタ32は、時間依存性の割り込み信号(タイマIRQ)である信号400を含む。好適には、この時間依存性の信号400は、周期的に形成され、それによって、通信アダプタ32から車両18内のさらなるIDSインスタンス34へのイベントレポート242の伝送が周期的に開始される。しかしながら、たとえ新たなイベント226.1,226.2が存在しなくても、以下において説明するように、通信アダプタ32からさらなるIDSインスタンス34には信号が(「通常の」イベントレポート242の形態で)送信される(信号406参照)。しかしながら、特に好適には、イベントレポート242の送信は、イベント220又は選択イベント226の取得に依存してトリガされるのではなく、むしろ周期的に(周期時間の時間経過によって)トリガされる。このことは、特に有利である。なぜなら、その後においてもさらなるIDSインスタンス34及び/又はバックエンド36への伝送が常に周期的に、即ち、特定の時間の経過後に行われるからである。これにより、攻撃者にとってイベントマネージャ30の動作又は異常識別の動作が不透明となる。攻撃者は、自身の攻撃が検出されたかどうか、何が検出されたか、異常識別のためのシステムがどのように動作するかを決して知ることはない。
【0096】
通信アダプタ32は、信号400(Timer Interrupt「タイマ割り込み」)を受信した後、イベントマネージャ30からのイベントレポート242を要求する(信号402)。イベントマネージャ30は、対応するイベントレポート242を生成し、このレポートには、事前の選択イベント226.1及び/又は226.2(それぞれの汎用メタデータ217及びイベント依存性のメタデータ216を伴う)並びに変更されたサイズ254が含まれる。さらに、対応する充填データ255が追加され、それによって、イベントレポート242の固定長257が達成される(さらに形成すべき認証情報256の長さの知識)。さらに、例えば、イベントマネージャ30は、変更された情報254、選択イベント226.1,226.2及び充填データ255から、特定のアルゴリズムを使用して認証情報256を生成する。そのように形成された認証情報256は、イベントレポート242を完成させる。その後、イベントレポート242全体の暗号化が鍵258を用いて行われる。暗号化されたイベントレポート242は、信号404として通信アダプタ32に到達する。(変更された情報254及び/又は鍵258を使用した)暗号化及び(認証情報256の形成による)認証は、対応するセキュリティ要件が満たされた場合、イベントマネージャ30において、及び/又は、通信アダプタ32において行うことができる。
【0097】
代替的に、通信アダプタ32は、例えば、乱数273に依存してイベントレポート242を暗号化することができる。特に好適には、暗号化のために、例えばハッシュ化によって常に新たな乱数273が形成される。このことは、伝送されたメッセージ又は暗号化されたイベントレポート242の復号化をさらに複雑にする。場合によっては、通信アダプタ32は、認証情報256を使用した認証、及び/又は、可変のサイズ254の追加、及び/又は、暗号化258を用いたイベントレポート242全体の最終的な暗号化を担う。
【0098】
対応する信号406は、新たな選択イベント226の発生による新たなイベントレポート242がイベントマネージャ30から提供されない場合であっても、タイマ割り込み(信号400)自体に基づいて送信される。次いで、イベントレポート242のデータフォーマットを有するダミーメッセージが使用され、乱数又は常に変更されるサイズ254によって(鍵258を使用して)暗号化され、さらなるIDSインスタンス34に伝送される。ダミーメッセージも、常に変更されるサイズ254又は新たな乱数によって常に暗号化され、そのため、新たな選択イベント226が発生しない場合においても、他の又は暗号化されたメッセージ(信号406)が常に周期的に伝送される。この周期的な伝送により、通信アダプタ32と、さらなるIDSインスタンス34との間の適正な通信接続の機能を検査することができる。
【0099】
通信アダプタ32によって送信されたメッセージ(信号406)がさらなるIDSインスタンス34によって取得された後、このさらなるIDSインスタンス34は、確認信号(408)を通信アダプタ32に送信する。この確認信号408の取得後、通信アダプタ32は、イベントマネージャ30に対する一時記憶された、場合によっては低減された選択イベント226又は関連するイベントレポート242を削除又は再度上書きする要求を生成する(信号410)。
【0100】
代替的実施例においては、上位のインスタンス34及び/又はバックエンド36は、受信され暗号化されたイベントレポート242の真性を検査する。この目的のために、上位のインスタンス34及び/又はバックエンド36は、既知の鍵258を使用して受信されたメッセージ、詳細には暗号化されたイベントレポート242を復号化する。次いで、イベントレポート242は平文で利用可能である。認証情報256を形成するための(イベントマネージャ30又は通信アダプタ32による認証情報256の作成のためにも使用された)対応するアルゴリズムを使用してイベントレポート242は認証される。この目的のために、受信されかつ復号化されたイベントレポート242のすべてのデータ(認証情報256を除く)が再度用いられ、そこから対応する認証情報256’が形成される。その後、形成された認証情報256’と、イベントレポート242の枠内において受信された認証情報256との比較が行われる。一致した場合、受信されたイベントレポート242は、真性とみなされる。このバリエーションにおいては、認証に成功した後にのみ、より上位のレベル又はより下位のレベルのインスタンスとのさらなるデータ通信を行うことができる。本実施形態においては、認証に成功した場合にのみ、信号408(確認信号)が通信アダプタ32に送信され、通信アダプタ32は、ここでは、選択イベント226.1,226.2の上書きのためのリリース信号410をイベントマネージャ30に送信する。
【0101】
好適には、応答又は確認信号408,416も固定長257’を有するべきである。好適には、確認信号408は、認証され、暗号化されるべきである。各応答又は確認信号408は、たとえ内容が変更されていなくても、上位のインスタンス34及び/又はバックエンド36によって異ならせるべきである。
【0102】
そのような確認信号408,416の一例は
図9から見て取れる。確認信号408,416は、イベントレポート242と同様の構造である。確認信号408,416は、可変のサイズ254’を含む。この可変のサイズ254’は、新たに送信された確認信号408,416ごとに変化する。これらの可変のサイズ254’も、例えば、乱数、カウンタ、時間によって実現することができる。
【0103】
特に好適には、確認信号408,416の可変のサイズ254’は、そのときに伝送されたようなイベントレポート242の可変のサイズ254を使用することによって形成することができる。この目的のために、上位のインスタンス34,36は、受信されたイベントレポート242から可変のサイズ254を抽出し、確認信号408,416に挿入するように構成される。それにより、後続のステップにおいては、確認信号408,416の認証も、確認信号408,416の受信された可変のサイズ254’を、直前に送信されたイベントレポート242の可変のサイズ254と比較することによって行うことができる。一致した場合には、真性の確認信号408,416との推論がなされる。その他に、この可変のサイズ254’は、上位のインスタンス34,36において自身で生成する必要はない。それに対して、メモリ206の解放が追従し得る。
【0104】
さらに、確認信号408,416は、特定のデータ255’を例えば任意のパターンの形態で含む。さらに、確認信号408,416は、認証情報256’も含む。この認証情報256’もイベントレポート242と同様に再び、確認信号408,416の残余のデータ、詳細には可変のサイズ254’及びデータ255’を利用する特定のアルゴリズムを介して形成することができる。そのように形成された認証情報256’は、固定長257’を有する確認信号408,416を完成させる。次いで、暗号化が鍵258’を使用して行われる。任意選択的に、この暗号化258’は省略することもできる。
【0105】
受信されたインスタンス(例えば上位のインスタンス34、バックエンド36)及び/又は通信アダプタ32又はイベントマネージャ30は、ここでも、確認信号408,416を(鍵258’を使用して)認証のために復号化することができる。この目的のために、ここでも、受信されたデータ(可変サイズ254’、データ255’)から、対応する既知のアルゴリズムを使用した結果として生じる認証情報256’’が求められ、取得された認証情報256’と比較される。一致した場合は、真性に基づく。取得された認証情報256’が適正である限り、メモリ206を解放するための信号410が生成できる。認証情報256’が適正でない場合には、この信号410は生成できないはずなので、メモリ206に含まれる選択イベント226は(まだ)削除されない。
【0106】
さらなるIDSインスタンス34も、既に説明したように信号400と同様に形成されるタイマ割り込み信号412を周期的に受信する。この割り込み信号412に基づいて、さらなるIDSインスタンス34は、ここでも暗号化されたメッセージを送信する(信号414)。このメッセージは、場合によっては、信号406を介して通信アダプタ32の前から伝送されるようにイベントレポート242又は(さらなるイベントレポートを含めて)車両に関連するイベントレポートを含む。通信アダプタ32の場合と同様に、メッセージは、さらなるIDSインスタンス34によって、特に、例えば、乱数273のように常時変化するサイズ254’によって暗号化される。例えば、新たな選択イベント226が発生しなかったために通信アダプタ32がイベントレポート242を伝送しなかったとしたら、ここでもイベントレポート242と同一のデータフォーマットを有するダミーメッセージが使用されかつ暗号化され、バックエンド36に伝送される(信号414)。バックエンド36は、確認信号416及び/又はバッファメモリ206に一時記憶されたイベント236などの上書きのためのさらなる通知又は要求を、さらなるIDSインスタンス34に送信する。確認信号416は、上記で説明したように形成されるものとしてもよい。
【0107】
イベントリリースに関する信号410の取得後、イベントマネージャ30は、さらに選択イベント226.3及び226.4を選択する。さらなるフローは、
図10から見て取ることができる。その間に、イベントマネージャ30は、さらに1つのさらなるイベント226.5を選択する。新たに、タイマ割り込み(信号420)が、通信アダプタ32に到達する。このアダプタは、ここで、ゲートウェイ20についてのイベントレポート242を要求する(信号422)。イベントマネージャ30は、選択イベント226.3,226.4,226.5に基づいて、イベントレポート242を通信アダプタ32に送信する(信号424)。イベントレポート242の取得後、通信アダプタ32は、乱数のような新たな可変のサイズ254によって暗号化されかつ認証されたイベントレポート242を、さらなるIDSインスタンス34に送信する(信号426)。この取得を、さらなるIDSインスタンス34は、確認信号428によって確認する。この確認信号428は、確認信号408(
図9)に関連して説明したように形成されるものとしてもよい。確認信号428の取得後、通信アダプタ32は、ここでもイベントマネージャ30に対して、イベントレポート242の基礎となる選択イベント226.3,226.4,226.5を上書き又は削除する要求を送信する(信号430)。信号424の送信と信号430の受信との間においては、その間に、さらなる選択イベント226.6が選択される。ただし、この選択イベント226.6は、まだ上書きはされない。なぜなら、この選択イベント226.6は、既に通信アダプタ32に伝送されたイベントレポート242の基礎となったものではまだなかったからである。その限りにおいては、この信号430は、選択イベント226.6の上書きに関するものではなく、むしろ最後のイベントレポート242の枠内において既に送信された選択イベント226.3,226.4,226.5のみの上書きに関するものである。
【0108】
ここでも、さらなるIDSインスタンス34において、既に説明したようにタイマ割り込みが発生する(信号432)。これにより、さらなるIDSインスタンス34は、信号426において新たに受信したイベントレポート242を暗号化してバックエンド36に伝送することを引き起こす(信号434)。対応するメッセージ434の取得後、バックエンド36は、さらなるIDSインスタンス34に送信される対応する確認信号436によって確認する。この確認信号436は、確認信号408又は416のように形成されるものとしてもよい。
【0109】
さらなるフローを
図11に示す。新たに、通信アダプタ32のためのさらなるタイマ割り込みが発生する(信号440)。ここでは、通信アダプタ32は、イベントマネージャ30に対して、イベントレポート242の送信のための要求を送信する(信号442)。イベントマネージャ30は、その間に選択イベント226.6を含むイベントレポート242を送信する(信号444)。通信アダプタ32は、新たな可変のサイズ254を使用してイベントレポート242を暗号化し、この暗号化されたイベントレポート242をさらなるIDSインスタンス34に送信する(信号446)。これを取得した場合、さらなるIDSインスタンス34は、確認を送信し(信号448)、この信号を取得した場合、通信アダプタ32は、イベントマネージャ30に対して、既に伝送されたイベント226.6を上書き又はリリースする要求を送信する(信号450)。
【0110】
ここでも、さらなるIDSインスタンス34は、タイマ割り込みを受信する(信号452)。ここでは、暗号化されたイベントレポート242が、場合によっては、車両に関連するさらなるIDSシステムのさらなるイベントレポートとともにバックエンド36に伝送される。バックエンド36は、さらなるIDSインスタンス34に対して確認信号及び/又は対応するイベントをリリース又は上書きするなどの要求を送信する(信号456)。
【0111】
図12による例示的なシーケンスにおいては、最後のイベントレポート242の送信とタイマ割り込み(信号460)の新たな発生との間に、新たな選択イベント226は発生していない。タイマ割り込み460の取得後、通信アダプタ32は、新たなイベントレポート242のための対応する要求信号462をイベントマネージャ30に送信する。イベントマネージャ30は、(新たな選択イベント226が発生したにもかかわらず)ダミー内容を有するイベントレポート242を生成し、次いで、これを通信アダプタ32に送信する(信号464)。このダミー内容は、さらなるIDSインスタンス34によって、及び/又は、バックエンド36によってそのようなものとして識別可能である。通信アダプタ32は、ダミー内容を有する受信されたイベントレポート242を、新たに送信された可変のサイズ254を用いて暗号化し、この暗号化されかつ認証されたイベントレポート242をさらなるIDSインスタンス34に送信する(信号466)。この取得は、さらなるIDSインスタンス34によって確認される(信号468)。この信号を取得した場合、通信アダプタ32は、新たに、イベントマネージャ30に対して、最後の選択イベント226を上書きする要求信号を送信する(信号470)。このことは、この状況のように新たな選択イベント226が存在しない場合であっても行われる。
【0112】
新たに、さらなるIDSインスタンス34は、タイマ割り込みを取得する(信号472)。ここでは、さらなるIDSインスタンス34は、通信アダプタ32から伝送され最後に取得した暗号化されたイベントレポート242を暗号化し、それを、場合によっては車両に関連するさらなるIDSシステムからのさらなるイベントレポートとともにバックエンド36に送信する。バックエンド36は、確認信号476及び/又は基礎となるイベントのリリースのための要求などをさらなるIDSインスタンス34に送信する。
【0113】
図13の通信シーケンスにおいては、通信アダプタ32は、新たにタイマ割り込みを取得する(信号480)。このタイマ割り込み480は、特別な信号であり得る。そのため、通信アダプタ32は、イベントマネージャ30からの(通常のイベントレポート242のうちの1つではなく)イベント要約を要求する(信号482)。イベントマネージャ30は、イベント要約を通信アダプタ32に送信する(信号484)。イベント要約においては、例えば、様々なイベントタイプ218に対する様々なカウンタ状態231、又は、新たなイベントタイプの発生など、上位の情報を含めることができる。ここでも、通信アダプタ32からのイベント要約は、乱数のような新たな可変のサイズ254によって暗号化され、さらなるIDSインスタンス34に伝送される(信号486)。IDSインスタンス34が通信アダプタ32からの暗号化されたイベント要約を取得するとただちに、さらなるIDSインスタンス34は、このイベント要約を特に好適には暗号化してバックエンド36に転送する。本実施例においては、さらなるIDSインスタンス34とバックエンド36との間の送信過程のために、通信過程を開始するためのタイマ割り込みは設けられていない。ただし、代替的に、ここでも、これは通常のイベントレポートの送信のように周期的に開始することができる。
【0114】
図14の通信シーケンスにおいては、バックエンド36は、イベントレポートのための要求をさらなるIDSインスタンス34に送信する(信号490)。さらなるIDSインスタンス34は、イベントレポートのための暗号化された要求を、例えば診断インタフェースを介して通信アダプタ32に送信する(信号492)。この暗号化は、ここでも、例えば、特に暗号化ごとに変化する乱数のような可変のサイズ254’を介して行うことができる。要求492の取得後、通信アダプタ32は、イベントレポート242のための問い合わせをイベントマネージャ30に送信する(信号494)。対応する問い合わせ494の取得後、イベントマネージャ30は、イベントレポート242を通信アダプタ32に送信する(信号496)。通信アダプタ32は、このイベントレポート242を、例えば、乱数のような新たな可変のサイズ254を介して暗号化し、それをさらなるIDSインスタンス34に送信する(信号498)。暗号化されたイベントレポート242の取得後、さらなるIDSインスタンス34は、このイベントレポート242をバックエンド36に送信する。この取得をバックエンド36はさらなるIDSインスタンス34に確認する(信号492)。この確認信号492の取得をさらなるIDSインスタンス34は通信アダプタ32に確認する(信号494)。対応する信号494の取得後、通信アダプタ32は、イベントマネージャ30に対して、少なくとも最後のイベントレポート242の枠内において伝送されたイベント220をリリース又は上書きする対応する要求を送信する。
【0115】
記載された方法は、計算ユニット、コンピュータ又はコントローラ、特に車両18の制御装置において実装されるものとしてもよい。同様に、本方法は、コンピュータ上において実行されるときに本方法を実施するために構成されたコンピュータプログラムの枠内において作成されるものとしてもよい。さらに、本コンピュータプログラムは、機械可読記憶媒体上に記憶されているものとしてもよい。それにもかかわらず、本プログラムは、例えば、「無線」ソフトウェアとして無線でインストールすることもできるし、診断インタフェースを介して有線でインストールすることもできる。
【手続補正書】
【提出日】2022-09-27
【手続補正1】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【国際調査報告】