以下の実施形態の態様に関連して、特にネットワークシステムのデータ211(例えば、通信システムのデータ又はシステムデータ)における実際の動作において様々な理由から発生し得る、正常な動作からの逸脱は、以下においては異常と称する。その原因には、例えば、以下のようなタイプ、即ち、欠陥があったり完全に故障したりしているセンサから供給された誤ったデータ又は完全に欠損したデータ、破損しているシステムの部品、外部だけでなく局所的又は物理的な攻撃(例えば、ハッカー攻撃など)によって不正操作されたシステムなどが考えられる。
データ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)に適合させられている。
図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)内の通信モジュール又はネットワーク化された生産システムにおける通信モジュールは、説明した機能性を備えることができる。
制御装置又はゲートウェイ20などの通信部品は、少なくとも1つの異常検知部22を含む。この異常検知部22は、少なくとも1つの信頼できないゾーンZ1にわたって、及び、少なくとも1つの信頼できるゾーンZ2にわたって延在している。特に、通信アダプタ32は、信頼できるゾーンZ2内にも信頼できないゾーンZ1内にも存在している。少なくとも1つのセンサ24,26,28は、信頼できるゾーンZ2内に存在している。イベントマネージャ30も、信頼できるゾーン内に存在している。
各通信システム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の負担を軽減させることができる。このことは、特に、イーサネット接続の際に発生するような大容量データの場合に利点となる。
例えば、IDS CANセンサ24は、CANバス25の場合の異常識別に使用され、IDSイーサネットセンサ26は、イーサネットシステム27の場合に、及び、IDSホストセンサ28は、ホストシステム29の場合に使用される。異なる通信経路及び異なる通信プロトコルに応じて、それぞれのソース又は異常ソースにおいて異常を検出し、場合によっては分類することができるさらなるIDSセンサを設けることもできる。
IDS CANセンサ24は、例えば、無効なCAN-ID、無効なメッセージ頻度、無効なメッセージ長さなどの関連するイベントタイプ218の関連するイベント220を検出する。IDSイーサネットセンサ26は、例えば、無効なアドレス又はMACアドレス、無効なメッセージ頻度、無効なメッセージ長さなどの関連するイベントタイプ218からイーサネット27に関連するイベント220を検出する。IDSホストセンサ28は、例えば、無効なコードの実行、プログラムの破損、ステープルカウンタなどの関連するイベントタイプ218からホストシステム29に関連するイベント220を検出する。少なくとも1つのセンサ24,26,28は、信頼できるゾーンZ2内に配置されている。
後続のさらなる異常は、イベント220として、さらなるイベントタイプ218のために考慮することができる。例えば、これらは、満充填のバッファメモリに基づくフレーム損失、フィルタ違反(ステートレス/ステートフル)、伝送レートの制限の活性化/非活性化、監視モードの活性化/非活性化、コンテキスト変更など、ファイアウォールに割り当てることができるイベント220又はイベントタイプ218である。ホストシステム29に関連するさらなる異常も、例えば、高すぎるCPU負荷、メモリアクセス違反、コード実行時エラー、ECUリセット検出、不揮発性メモリ内のログエントリ破損、ロギングメモリのオーバーフロー、イベントの拒否、MACアドレスポート変更など、関連するイベントタイプ218を有するイベント220として考慮することができる。
イベントマネージャ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として記憶できることが保証される。イベントマネージャ30は、信頼できるゾーンZ2内に配置されている。
イベントマネージャ30は、侵入識別部又は異常識別部の通信アダプタ32と信号を交換する。この通信アダプタ32は、イベントマネージャ30と、制御装置又はゲートウェイ20の異常識別部22の外部のさらなる部品34,36との間においてデータを交換するための通信手段として機能する。具体的には、通信アダプタ32は、イベントマネージャ30と、さらなるIDSインスタンス34(好適には車両18の内部)及び/又はバックエンド36(好適には車両18の外部)との間においてデータを交換するためのインタフェースとして機能する。さらなるIDSインスタンス34は、任意選択的にのみ設けることもできる。通信アダプタ32は、2つのゾーンZ1,Z2内に配置されている。
セキュリティを高めるために、イベントマネージャ30は、イベント220,221のランダム方式で攻撃者にとって非決定論的でかつ隠蔽された低減及び優先度付けを行うことができる。そのため、選択イベント226の不揮発的な記憶をランダム方式で攻撃者にとって非決定論的でかつ隠蔽されて行うことができる。ランダムに制御された選択は、例えば、特定の制御装置に対する個別の乱数273に基づくことができる。同様に、イベントマネージャ30は、イベントカウンタ204のカウンタ状態231のランダム方式の記憶を行うことができる。イベントマネージャ30は、イベント依存性のメタデータ216の他に、選択イベント226として追加される汎用メタデータ217のランダムな依存性の記憶も行う。
通信アダプタ32は、セキュリティを高めるために、他のIDSインスタンス34に対するイベントレポート242のランダム方式で攻撃者にとって非決定論的でかつ隠蔽されたアップロード又は送信を行うことができる。ランダムに制御されたアップロードは、例えば、特定の制御装置(又はゲートウェイ20)に対する個別の乱数273に基づくことができる。そのため、特定のイベント220は、イベントレポート242の枠内において周期的にかつ暗号化されて伝送することができる。しかし、新たなイベント220が存在しない場合においても、いわゆるダミーイベントは、イベントレポート242のフォーマットで周期的に暗号化されて伝送することができる。このことは、通信アダプタ32と、さらなるIDSインスタンス34又はバックエンド36との間のデータ交換の盗聴セキュリティ又はランダム方式の隠蔽に用いられる。
処理されかつ低減されたイベント221は、センサ26からイベントマネージャ30に転送される。従って、イベントマネージャ30は、このセンサ26からこれらのネットフレームの完全なデータストリームを取得するのではなく、低減されたデータサイズを有する低減されたイベント221のみを取得する。転送すべきイベント221の低減は、IDSイーサネットセンサ26に基づいて例示的に説明した。ただし、原理的には、このことは、他のIDSセンサ24,26,28において実現できる。しかしながら、高い伝送レートを有するイーサネットフレームにおいては情報量が多いため、特にそのようなイベント220は、バッファメモリ206の急速なオーバーフローにつながりかねない。IDS CANセンサ24においては、対応するデータ211がいずれにせよ低いデータレートとより少ないデータ量で発生するので、ここでは、傾向的に完全なイベント220が転送されかつ記憶され得る。
例示的に、図2に関連して、異常が識別された場合にセンサ24,26,28からのデータ211がどのように継続処理され、イベントマネージャ30にこれが通信アダプタ32を介してイベントレポート242を送信するまで送信されるかが示される。
例示的に、図2aにおいては、データ211のデータパケットが、例えば、ネットワークフレーム(例えば、CAN、イーサネット)においてどのように発生し得るかが示されている。データ211は、例えばソースアドレスと宛先アドレス(例えばMACa,MACb)とを含むヘッダ214を有する。その他に、データ211は、有効データ213を含む。
以下においてより詳細に説明されるように、センサ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が使用される。
代替的に、イベント依存性の有効データ213も全体としてイベント220の枠内においてイベントマネージャ30に転送することができる。
代替的に、イベント220は、例えばソースとしてホスト29が使用される場合、イベント依存性の有効データ213を含まないこともできる。この場合、イベントタイプ218は、例えば、満充填のバッファに基づくデータフレームの損失、観察モードの活性化又は非活性化、CPUの高すぎる負荷、不揮発性メモリ208の破損したエントリ、ロギングバッファのオーバーフロー、イベント低減の活性化などに対する情報などであり得る。
さらに、異なるイベントタイプ218については、さらなるイベント依存性の情報が、イベント依存性のメタデータ216の枠内においてイベント220の構成要素であるものとしてもよい。イベントタイプ218「コンテキストの変更」の場合、イベント依存性のメタデータ216は、例えば、32ビットのサイズの例えばコンテキストを含み得る。イベントタイプ218「メモリアクセス違反」又は「コード実行の際の違反」の場合、イベント依存性のメタデータ216は、例えば、アクセスされたアドレス(例えば32ビット)、プログラムカウンタ(例えば32ビット)、タスクID(例えば8ビット)を含み得る。イベントタイプ218「制御装置の検出されたリセット」の場合、イベント依存性のメタデータ216は、例えば、リセットの理由(例えば、8ビット)、例えば、POR(Point of Return)、ソフトウェアリセット、例外などを含み得る。
後続のイーサネット関連のイベント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、例えば、「満充填のバッファに基づくフレームの損失」なども発生する可能性がある。
従って、イベント依存性の有効データ213の転送は、特に、関連するイベントタイプ218を有するデータ211のソースに依存する。メタデータ216は、イベント220又は低減されたイベント221として(センサ24,26,28において伝送すべき有効データ領域219のランダムな依存性の選択又は低減に基づいて)イベントマネージャ30に伝送される。
イベントマネージャ30が、このイベント220,221を、以下においてより詳細に説明するように継続処理のために選択すべきである場合には(選択イベント226)、イベント依存性のメタデータ216に対してさらに汎用メタデータ217が追加され、それによって、図2cに示されるメタデータ215が生じる。この汎用メタデータ217は、通常、イベントマネージャ30において生成される。それらは、例えば、イベントカウンタ204の出力信号、即ち、現在のカウンタ状態231、グローバルイベント220の数又は現在のイベント220が関わるイベントタイプ218のイベントの数である。その他に、汎用メタデータ217は、例えば、このイベント220がいつ発生したかについての時間信号224を含み得る。その他に、メタデータ217は、イベント依存性のメタデータ216又は完全なメタデータ215がどの長さ232(データのサイズ)を有しているかについても含み得る。このことは、その後のバッファメモリ206のメモリ管理にとって利点となる。
例示的に、以下の汎用メタデータ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の合計を含み得る。
イベント依存性のメタデータ216は、それぞれのセンサ24,26,28が形成したものとして取り込まれる。相応にセンサ24,26,28によってもイベントマネージャ30によっても形成されたメタデータ215を有するこのイベント220は、イベントマネージャ30のバッファメモリ206に格納される。同様の手法で、さらに(以下においてより詳細に説明されるように)イベントマネージャ30によって選択又は低減されたさらなるイベント226(図2dによる実施例においては例示的に215_1,215_8,215_190で示される)も、バッファメモリ206に格納される。
バッファメモリ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によって復号化され認証される。
図3は、さらなる好適な実施形態によるスイッチSWT48の計算コア102aを概略的に示し、このコアは、オペレーティングシステムBS及び/又はスーパーバイザSVを含み、それ自体2つのゾーンZ1,Z2に割り当てられている。
異常識別部22は、特定のアプリケーションが、信頼できないゾーンZ1と、信頼できるゾーンZ2とに割り当てられる2ゾーン構想に基づいている。異常識別部22は、特に、例えば組み込みシステム及び/又は制御装置、特に車両用、特に自動車用に使用することができる。
好適な実施形態は、異常識別部22に割り当てられた計算デバイスを動作させるための方法に関するものであり、本方法は、以下のステップ、即ち、計算デバイスによって実行可能な1つ又は複数のアプリケーションプログラムAP1,AP2を、少なくとも2つのゾーンZ1,Z2のうちの1つに割り当てるステップであって、この場合、ゾーンZ1,Z2は、計算デバイスのリソースを特徴付け、リソースは該当するアプリケーションプログラムAP1,AP2の1つを実行するために使用可能であるステップと、アプリケーションプログラムAP1,AP2のうちの少なくとも1つを、自身に割り当てられたゾーンZ1,Z2に依存して、任意選択的に実行するステップとを含み、この場合、本方法は、代替的に、以下のステップ、即ち、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスのための計算時間リソースの割り当てのためにスーパーバイザSVを使用するステップをさらに含み、ここで、スーパーバイザSV及び/又はスーパーバイザSVに対応する機能は、少なくとも2つのゾーンZ1,Z2に依存しないスーパーバイザインスタンスSVIを用いて少なくとも部分的に実現されている。さらなる好適な実施形態においては、これによって、例えば、信頼できるインスタンス/ユニット/ドメインと、信頼できないインスタンス/ユニット/ドメインとの間において、例えば、信頼境界(Trust Boundaries)を定義することができる。このようにして、例えば、計算デバイス用の第1のアプリケーションプログラムを、信頼できない第1のゾーンZ1(non-trustworthy zone,NT)に割り当て、計算デバイス用の第2のアプリケーションプログラムを、信頼できる第2のゾーンZ2(trustworthy zone,(T)Z)に割り当てることができる。さらなる好適な実施形態においては、スーパーバイザインスタンスSVIは、例えば、(専用の)計算コア及び/又はハードウェアセキュリティモジュールHSM及び/又はトラステッドプラットフォームモジュールTPMによって形成されるものとしてもよく、又は、スーパーバイザインスタンスSVIの機能は、これらの要素の少なくとも1つを用いて実現することができる。
さらなる好適な実施形態においては、計算デバイスを動作させるための方法が、以下の要素、即ち、a)計算デバイスに割り当てられたメモリに対する読み取り権利、b)計算デバイスに割り当てられたメモリに対する書き込み権利、c)少なくとも1つのゾーンZ1,Z2に依存した、計算デバイスに割り当てられたメモリに対する実行権利(「遂行権利」)のうちの少なくとも1つを制御する、特に制限するステップをさらに含むことが想定される。これにより、好適には、対応するゾーンZ1,Z2に割り当てられたアプリケーションプログラムAPのみが、1つ又は前述した複数のメモリへのアクセスを受け取ることが保証される。例えば、これにより、さらなる好適な実施形態においては、信頼できないゾーンZ1のアプリケーションプログラムが、1つ又は複数のメモリにアクセスすること(特に、例えば、信頼できるゾーンZ2に割り当てられたメモリ領域への信頼できないゾーンZ1によるアクセスなど)を阻止することができ、このことは、場合によっては、信頼できないゾーンZ1のアプリケーションプログラムによるメモリ内容の不正操作の可能性に関するリスクを表す。
さらなる好適な実施形態においては、計算デバイスは、例えば、以下のシナリオを実行することができる。即ち、第1のアプリケーションプログラムAP1が、例えば、信頼できない第1のゾーンZ1からデータ(例えば、インタネットからのリモートサービス要求(「離れた場所からのサービス問い合わせ」))を受信し、これらのデータを、例えば対応するサービス(「Remote Service」)の実行のために、信頼できるゾーンZ2内において相応に処理又は転送すべき場合、第1のゾーンZ1内においてアプリケーションプログラムAP1のZ1-プロキシAP1_I1によってデータの受信が行われ、ここで、対応するZ2-プロキシ_I2は、例えば以下のステップ、即ち、Z2-プロキシ_I2によって、特にデフォルト方式で、信頼できないものと格付けされたデータのデータ検証、及び、(データ検証に成功した場合の)ここでの(データ検証後の)信頼できると格付けされたデータを第2のゾーンZ2内において処理又は転送するステップを実行する。さらなる好適な実施形態においては、本方法は、以下のステップ、即ち、様々なゾーン間において、バッファメモリ、特にメインメモリを介して第1のデータを交換するステップをさらに含むことが想定され、ここで、特に、第1のゾーンZ1と第2のゾーンZ2との間において第1のデータを交換するステップは、以下のステップ、即ち、第1のデータを、第1のゾーンに割り当てられた第1のバッファメモリ領域にコピーするステップと、コピーされた第1のデータを検査するステップと、特に、当該検査に依存して、第1のデータを、第1のゾーンZ1に割り当てられた第1のバッファメモリ領域から第2のゾーンZ2に割り当てられた第2のバッファメモリ領域にコピーするステップとを含む。これらの簡単に概説された2ゾーン構想の機能は、以下において説明するように、ここでは異常識別部22のために実装される。
図3による計算コア102aは、例えば、イーサネットデータパケットを送信及び/又は受信するために、例えば、ネットワークスイッチのために使用することができる。アプリケーションプログラムAPの対応するインスタンスは、参照符号I1(イーサネットパケットの受信、ゾーンZ1内における実行)、I2(イーサネットパケットの受信、ゾーンZ2内における実行)、I3(イーサネットパケットの送信、ゾーンZ1内における実行)、I4(イーサネットパケットの送信、ゾーンZ2内における実行)によって特徴付けられている。例えば、ネットワークスイッチ48のための管理タスクを実行するさらなるアプリケーションプログラムAP5は、信頼できるものと定義された第2のゾーンZ2内においてのみ実行され、信頼できないものと定義された第1のゾーンZ1内においては実行されない。さらに、イーサネットセンサ38は、信頼できないものと定義された第1のゾーンZ1内に配置されている。さらなるイーサネットセンサ40は、信頼できるものと定義された第2のゾーンZ2内に配置されている。その他に、ホストセンサ42は、信頼できないものと定義された第1のゾーンZ1内に配置されている。信頼できないゾーンZ1のホストセンサ43は、任意選択的に設けられるものとしてもよい。ホストセンサ45は、信頼できるものと定義された第2のゾーンZ2内に配置されている。即ち、用途ケースに応じて、センサは、信頼できるゾーンZ2及び/又は信頼できないゾーンZ1に配置することができる。
計算コア102aにはRAM1030が割り当てられおり、このRAMは、さらなる好適な実施形態においては分割されるものとしてもよい。任意選択的に、スイッチングエンジン(例えば結合ネットワーク)及び/又はTCAM(ternary content-adressable memory)モジュール又はACL(Access-Control-List)モジュールが設けられている。スイッチングエンジンSE又はTCAM/ACLモジュールは、ハードウェアモジュール42である。TCAM/ACLモジュール内においては、対応するフィルタ規則を構成することができ、そのため、TCAM/ACLモジュールは、異常を検出するためのセンサとして使用される。このハードウェアモジュール42内の相応に構成されたフィルタ規則は、説明されたセンサ24,26,28のフィルタ規則に対応する。このフィルタ規則によって異常が検出された場合、イベント220を生成することができ、及び/又は、異常を阻止することができる。イベント220が生成された場合、割り込みは、ハードウェアモジュール42によってトリガすることができ、これによって、異常がイベント220としてソフトウェア側でロギングできるようになる。同様のことは、メインコントローラ上のCANハードウェアトランシーバーにも当てはまり、ここでは、センサのフィルタ規則をハードウェアで構成することができる。
さらに割り込み44が示されており、これは、例えば、上述のように、ソフトウェア的に、ハードウェア的に、又は、タイマによってトリガすることができる。上記の部品は、電子ユニット48又はスイッチの構成要素である。電子ユニット48又はスイッチの外部には、計算ユニット100b(メインコントローラ)が設けられており、これは、通信チャネル52を介して電子ユニット48又はスイッチとデータを交換する。さらに、計算ユニット100bは、他のIDSインスタンス34と通信することができる。この通信は、例えば、CANを介して、計算ユニット100bから他のIDSインスタンス34へ行うことができ、又は、計算ユニット100bからスイッチ48を介して他のIDSインスタンス34へ行うことができる。電子ユニット48は、ここでも、イーサネットイベント220をスイッチSWT48から計算ユニット100bに送信する。
信頼できないゾーンZ1から信頼できるゾーンZ2へのゾーン間通信は、信頼できるゾーンZ2のETHセンサ40を介して、及び/又は、ハードウェアフィルタ規則によって実現されるセンサ42を介して、及び/又は、信頼できないゾーンZ1のETHセンサ40によって、及び/又は、信頼できるゾーンZ2のホストセンサ45によって制御される。
ゾーン間通信又はZ1からZ2へのゾーン移行がスイッチ48上において行われる場合、信頼できるゾーンZ2で必要とされる必要最低限のデータのみが、2つのゾーンZ1及びZ2間において伝送される。
それゆえ、信頼できないゾーンZ1内においては、既に、プロトコルのデフラグは、必要最低限で行われており、デフラグの枠内において同様に(異常の検出のための)妥当性検査も既に実施されている。このことは、Z1イーサネットセンサ38を介して行われる。
必要最低限のデータが、信頼できないゾーンZ1から信頼できるゾーンZ2に伝送された後、必要最低限のデータは、Z2イーサネットセンサ40によって妥当性検査される。各コンテキストの変更/Z1タスク及びZ2タスクの切り替え前に、付加的にBS又はSVのホストセンサ43,45を介して、無効なゾーン移行及び/又はプログラムフローの変更が行われなかったかどうかが検査される(例えば、スタック上のリターンアドレスの検査によって)。
異常が検出されなかった場合、信頼できるゾーンZ2のETHセンサ40は、信頼できるゾーンZ2内のデータの使用をリリースする。これらのデータは、信頼できるデータとして格付けされる(Trusted Data)。異常が検出された場合、ETHセンサ40は、データを破棄し、及び/又は、イベント220を生成する。その他に、ETHセンサ40は、異常又は関連するイベント220を、信頼できるゾーンZ2の計算ユニット100b又は信頼できるゾーンZ2の関連するイベントマネージャ30に通信する。ETHセンサ40のセンサロジックは信頼できるゾーンZ2内にある。なぜなら、イベントは、信頼できるインスタンスによって評価されなければならないからである。
ゾーンZ1,Z2内の通信又は信頼できるゾーンZ2から信頼できないゾーンZ1への通信は、信頼できないゾーンZ1用のETHセンサ38を任意選択的に使用して行うことができる。さらに、これらのセンサは、Z2からZ1へのゾーン間通信及びゾーン内通信に対して任意選択的であり、場合によっては、低減したセンサセットをこの目的のために使用することも可能である(例えば、性能に与える影響が少ないデフォルトセンサなど)。
スイッチ48SWTは、信頼できないゾーンZ1の計算ユニット100bの通信を、通信アダプタ32を介してさらなるIDSインスタンス34に転送する。通信アダプタ32は、計算ユニット100b内に存在している。通信アダプタは、イベントマネージャ30からイベントレポート242を周期的に問い合わせ、それをさらなるIDSインスタンス34に通信する。さらなるIDSインスタンス34への通信がイーサネットを介して行われる場合には(これは好適な変形形態である)、この通信は、メインマイクロコントローラ又は計算ユニット100bの通信アダプタ32からスイッチ48を介してさらなるIDSインスタンス34へ行われることとなる。
図4は、さらなる好適な実施形態による計算デバイス100bの態様の簡素化されたブロック図を概略的に示す。計算デバイス100bは、本発明によれば、例示的に4つの計算コアK1,K2,K3,K4を有し、それらのうちの第1の計算コアK1は、通信メッセージ、特にCANメッセージを処理するように構成されている。それゆえ、さらなる好適な実施形態においては、この第1の計算コアK1は、「CANコア」と称することもできる。さらなる計算コアK2,K3は、アプリケーションプログラム(場合によっては異なるインスタンス)を実行するために設けられており、それゆえ、さらなる好適な実施形態においては「アプリケーションコア」又は英語表記「Application Cores」K2,K3と称することもできる。第4の計算コアK4は、イーサネット通信メッセージを処理するように構成されており、それゆえ、さらなる好適な実施形態においては、イーサネットコア又はETHコア又は英語表記「ETH Core」K4と称することもできる。第1の計算コアK1には、第1のスーパーバイザSV1、特にCAN軽量スーパーバイザが割り当てられ、第4の計算コアK4には、第2のスーパーバイザSV2、特にETH(イーサネット)軽量スーパーバイザが割り当てられている。
さらなる好適な実施形態においては、第1の計算コアK1は、2つのゾーンZ1,Z2に割り当てられている。さらなる好適な実施形態においては、第4の計算コアK4も2つのゾーンZ1,Z2に割り当てられている。
さらなる好適な実施形態においては、第1の計算コアK1には、CANメッセージの送信及び/又は受信のためのアプリケーションプログラムAPが割り当てられ、この場合、参照符号I1は、このアプリケーションプログラムの第1のインスタンスを表し、この第1のインスタンスI1は、第1のゾーンZ1に割り当てられ、CANメッセージを受信するように構成されている。これに対して、参照符号I2は、このアプリケーションプログラムの第2のインスタンスを表し、この第2のインスタンスは第2のゾーンZ2に割り当てられ、CANメッセージを受信するように構成されている。参照符号I3,I4は、CANメッセージを送信するための対応するインスタンスを表し、これらのインスタンスもそれぞれ同様に、2つのゾーンZ1,Z2のうちの1つに割り当てられている。さらに、計算コアK1は、信頼できるゾーンZ2内に配置されたCANセンサ60を含み得る。任意選択的に、計算コアK1内には、信頼できないゾーンZ1内のCANセンサ62を設けるものとしてもよい。
さらなる好適な実施形態においては、割り込み要求Rx、タイマ、SWを、第1の計算コアK1によって、例えば対応する割り込みルーチンの実行によって処理することができる。
さらなる好適な実施形態においては、第4の計算コアK4には、イーサネットメッセージを送信及び/又は受信するためのアプリケーションプログラムが割り当てられ、この場合、参照符号I1は、このアプリケーションプログラムの第1のインスタンスを表し、この第1のインスタンスI1は、第1のゾーンZ1に割り当てられ、イーサネットメッセージを受信するように構成されている。これに対して、参照符号I2は、このアプリケーションプログラムの第2のインスタンスを表し、この第2のインスタンスは第2のゾーンZ2に割り当てられ、イーサネットメッセージを受信するように構成されている。参照符号I3,I4は、イーサネットメッセージを送信するための対応するインスタンスを表し、これらのインスタンスもそれぞれ同様に、2つのゾーンZ1,Z2のうちの1つに割り当てられている。
さらなる好適な実施形態においては、計算コアK1,K4内の2つのゾーンZ1,Z2の分離は、それぞれ少なくとも1つのメモリ保護デバイスSSE1,SSE4を使用して行われる。
既に上述したように、2つのアプリケーションコアK2,K3は、アプリケーションプログラムを実行するように構成されており、これらのアプリケーションプログラム又はそれらの個々のインスタンスは、該当するアプリケーションコアK2,K3内において矩形として示されている。さらなる好適な実施形態においては、第2の計算コアK2は、第2のゾーンZ2に割り当てられており、第3の計算コアK3は、第1のゾーンZ1に割り当てられている。計算コアK2内には、例示的に、DPIセンサ64(より詳細なペイロード分析のためのディープパッケージインスペクション)、イベントマネージャ30、通信アダプタ32、プロキシ70、BSWスタック72(BSW:Basis Software)、V-CAN74(バーチャルCAN)及びV-ETH76(バーチャルイーサネット)が設けられている。計算コアK3内には、例示的に、DPIセンサ84、通信アダプタ32、プロキシ90、BSWスタック92、V-CAN94及びV-ETH96が設けられている。既に説明したように、通信アダプタ32は、信頼できるゾーンZ2にも、信頼できないゾーンZ1にも存在している。
さらなる好適な実施形態においては、計算デバイス100bは、揮発性メモリ、特にメインメモリ(RAM)1030bを有し、これは例えば、図4による描写で比較可能に異なる領域に分割され、これらの領域は、それぞれ異なる計算コアK1,K2,K3,K4又はそれらのゾーンZ1,Z2に割り当てられている。
例えば、図4による計算デバイス100bのメインメモリ1030bの第1の領域B1は、第1の計算コアK1に割り当てられ、この場合、第1の部分領域B1_1は、第1のゾーンZ1に割り当てられ、第2の部分領域B1_2は、第2のゾーンZ2に割り当てられている。第1の部分領域B1_1は、ここでも、信頼できる領域と信頼できない領域とに分割され、メモリ保護デバイスSSEによって分離されている。第2の部分領域B1_2は、ここでも、少なくとも1つの信頼できる領域と信頼できない領域とに分割され、ここでもメモリ保護デバイスSSEによって分離されている。対応する領域又は部分領域B4,B4_1,B4_2への比較可能な分割は、さらなる好適な実施形態においては、第4の計算コアK4についても可能である。第1の部分領域B4_1は、ここでも、信頼できる領域Tb1bと信頼できない領域Tb1aとに分割され、メモリ保護デバイスSSEによって分離されている。第2のサブ領域B4_2は、ここでも、少なくとも1つの信頼できる領域Tb2aと信頼できない領域Tb2bとに分割され、ここでもメモリ保護デバイスSSEによって分離されている。
メインメモリ1030bのさらなる領域B2,B3は、さらなる好適な実施形態においては、例えば、アプリケーションコアK2,K3に割り当て可能である。さらなる好適な実施形態においては、例えば、領域B2は、信頼できる領域Tと信頼できない領域NTとにさらに分割可能である。さらなる好適な実施形態においては、第3のアプリケーションコアK3についても比較可能に当てはまる。
さらなる好適な実施形態においては、参照符号SSE’によって集団的に表されている1つ又は複数のさらなるメモリ保護デバイスが、例えば読み取り権利及び/又は書き込み権利及び/又は実行権利に関して好適な実施形態によるそれぞれの分離を実現するために設けられるものとしてもよい。
さらなる好適な実施形態においては、計算デバイス100bは、例えば、ゲートウェイの機能、即ち、例えばCANバス(CANコアK1参照)をイーサネットネットワーク(ETHコアK4参照)に結合することができるネットワーク結合要素の機能を提供することができる。さらなる好適な実施形態においては、例えば、第1の計算コアK1は、CANメッセージのためのいわゆる高速ルーティングエンジンの機能を担うことができ、及び/又は、第4の計算コアK4は、イーサネットメッセージのためのいわゆる高速エンジンの機能を担うことができる。
SWT48スイッチ、特にイーサネットスイッチは、イーサネットイベントをイーサネット通信の処理を受け持っている計算コアK4に伝送する。その他に、計算コアK4は、他のIDSインスタンス34と通信する。
ゾーン間の通信、詳細には信頼できないゾーンZ1から信頼できるゾーンZ2への通信においては、信頼できないゾーンZ1のプロキシ90からゾーンZ1の信頼できない領域内の分離されたバッファメモリにデータを押し出すことができる。信頼できるゾーンZ2に割り当てられたセンサ60は、信頼できるゾーンZ2内における使用の前にこのデータを検証する。異常が検出されない限り、信頼できるゾーンZ2のセンサ60は、信頼できるゾーンZ2に対するこれらのデータの使用をリリースする(Trusted Data)。異常又は予期しないイベントが検出される限り、信頼できるゾーンZ2に割り当てられたセンサ60はこれらのデータを破棄する。その他に、信頼できるゾーンZ2に割り当てられたセンサ60は、検出された異常をイベント220として信頼できるゾーンZ2のイベントマネージャに通信する。センサ60のロジックは、信頼できるゾーンZ2内に配置されている。なぜなら、対応するイベントは、信頼できるインスタンスによって評価されなければならないからである。さらに、信頼できるゾーンZ2と信頼できないゾーンZ1との間において通信を行うことができる。その他に、信頼できるゾーンZ2から信頼できないゾーンZ1への通信も容易に行うことができる。さらなるセンサ62を任意選択的に設けることができる。
信頼できないゾーンZ1から信頼できるゾーンZ2への通信は、既に説明したように、信頼できないゾーンZ1内及び信頼できるゾーンZ2内のセンサによって監視することもできる。デフラグ後にもはや存在しなくなったデータ、又は、信頼できるゾーンZ2内において不要となったデータは、信頼できないゾーンZ1内に配置されたセンサ38,62によって監視される。次いで、信頼できるゾーンZ2内に配置されたセンサ40,60は、デフラグ後に(必要最低限のデータが)信頼できないゾーンZ1から信頼できるゾーンZ2に伝送されるデータを監視する。既に、信頼できないゾーンZ1のセンサ38,62によって何かが検出されている場合、同様に、信頼できないゾーンZ1内に配置されたセンサ38,62及び信頼できるゾーンZ2内に配置されたイベントマネージャ30からの通信が例えば生成されたイベント220の枠内において可能でなければならない。
信頼できるゾーンZ2のイベントマネージャ30は、到来するイベント220を、集約し、低減し、優先度付けし、フォーマットし、又は、永続化する。イベントマネージャ66は、信頼できるゾーンZ2内に配置されている。なぜなら、イベントは、信頼できるインスタンス(Trusted Instanz)によって処理され、優先度付けされ、記憶されなければならないからである。
通信アダプタ32は、部分的に、信頼できるゾーンZ2内に配置されている。通信アダプタ32は、同様に信頼できるゾーンZ2内に配置されたイベントマネージャ30との通信を制御している。その他に、通信アダプタ32は、上位のIDSインスタンス34に対する安全で認証された機密チャネルを保証するために、HSM(Hardware Security Modul、これは、認証及び/又は暗号化に用いることができる)との通信を担っている。通信アダプタ32は、部分的に、信頼できるゾーンZ2内に配置されている。なぜなら、同様に、通信アダプタは、例えば信頼できるゾーンZ2のイベントマネージャ30又はHSMなどの信頼できるインスタンスとも通信しなければならないからである。
通信アダプタ32は、スイッチSWT48を介して、例えばインフォテインメントなどの他のIDSインスタンス34に対する通信を担うべきである。この通信アダプタは、信頼できないインスタンス(インフォテインメント,CCU)と通信するため、部分的に、信頼できないゾーンZ1に配置されている。
例示的に、イベントレポート242が周期的に上位のインスタンス34に送信される通信フローを説明する。この目的のために、信頼できるゾーンZ2からの通信アダプタ32は、信頼できるゾーンZ2内のイベントマネージャ30に、バッファメモリ206内において選択されたイベント226を図2に関連して例示的に説明したように利用可能にするように問い合わせする。イベントレポート242には、暗号化及び/又は認証に関する特定の特に信頼できる情報、特に可変のサイズ254及び/又は認証情報256及び/又は暗号化部258が含まれる。これらの値は、既に上記でHSM(ハードウェアセキュリティモジュール)として説明したセキュリティモジュール73によって提供することができる。このセキュリティモジュール73は、例示的にいわゆるBSWスタック72内に収容されて、例えば、対応する乱数273又はそのような乱数の区間を可変のサイズ254として供給する。信頼できるゾーンZ2のイベントマネージャ30及び/又は通信アダプタ32は、イベントレポート242の枠内においてこの可変のサイズ254を担っている。イベントレポート242は、平文で再びセキュリティモジュール73に到達し、このセキュリティモジュールは鍵258による暗号化を行い、信頼できるゾーンZ2の通信アダプタ32に提供する。そのように暗号化されたイベントレポート242は、ここで、通信アダプタ32を介して、もはや信頼できない領域Z1に、即ち、コアK3に到達する。それに応じて、イベントレポート242は、ゾーンB3のバッファに書き込まれる。例示的に、イベントレポート242は、対応する矢印によって示され、既に説明したように、イーサネットコアK4を介して上位のインスタンス34に通信することができる。この目的のために、イベントレポート242は、領域B3のメモリからメモリ領域B4_1に転送され、即ち、ここでは、イーサネットコアK4内にある。さらなる通信は、K4から送信過程I3を介して、例えば、イーサネットスイッチ48などを介して、イーサネットを介して接続された上位のインスタンス34に対して行われる。
後続の通信フローは、(以下において図5乃至図10に関連してより詳細に説明するように)上位のインスタンス34によって生成された確認信号408,416の受信を記述する。対応する確認信号408,416は、イーサネットスイッチ48を介してイーサネットコアK4に到達し、そこでは、信頼できないゾーンZ1に到達する。信頼できないゾーンZ1に存在する通信アダプタ32の部分を介して、データは、最初に領域B3に、そこでは信頼できない領域NTにバッファリングされる。そこに分離されたデータへのアクセスを、信頼できるゾーンZ2の通信アダプタ32は有している。この信頼できるゾーンZ2の通信アダプタ32は、暗号化されたデータを識別する。復号化は、ここでは、信頼できるゾーンZ2の通信アダプタ32がデータを復号化のためにセキュリティモジュール73に送信することによって、又は、対応するセキュリティモジュール73にデータへのアクセスを割り当てることによって行われる。続いて、セキュリティモジュール73によって復号化された信号は、平文で再び、信頼できるゾーンZ2の通信アダプタ32に戻される。次いで、通信アダプタ32は、例えば、可変のサイズ254’及び/又は認証情報256’などのさらなるセキュリティに関連する情報が、確認信号408,416の構成要素であることを識別する(図5参照)。特に好適な変形形態においては、確認信号408,416の可変のサイズ254’は、上位のインスタンス34によって、可変のサイズ254が、最後のイベントレポート242によって伝送され(同様にセキュリティモジュール73によって生成され)確認信号408,416のための可変のサイズ254’として使用されるように形成されている。従って、セキュリティモジュール73は、確認信号408,416の可変のサイズ254’が、特に最後のイベントレポート242の可変のサイズ254と一致するかどうかの対応する検査を実施する。このことが当てはまる場合、確認信号408,416のための対応するリリース情報を生成することができる。信頼できるゾーンZ2の通信アダプタ32は、この関係において、例えば、信号410をイベントマネージャ30に送信し、最後のイベントレポート242の枠内において伝送されたバッファメモリ206内のイベント226を削除する。さらに、付加的に、対応する認証情報256’は、説明したように、受信した確認信号408,416の検証又は認証のためにも使用することができる。
以下においては、イベントマネージャ30と、制御装置又はゲートウェイ20内の通信アダプタ32との間、及び、通信アダプタ32と、車両18内の少なくとも1つのさらなるIDSインスタンス34との間、及び、さらなるIDSインスタンス34と、バックエンド36との間の通信フローが、図5乃至図10に基づいて例示的に説明される。
例えば、ゲートウェイ20などの制御装置からさらなるIDSインスタンス34(例えば、車両18内の中央イベントロガー)への通信においては、さらなるIDSインスタンス34又はイベントロガーが、未読のエントリ又はメモリ206に記憶されたイベント236又は選択イベント226を介して情報提供されることを保証すべきである。制御装置又はゲートウェイ20は、好適には、いわゆるハートビート信号(通信参加者の適正な接続の検査のために使用できる周期的な信号)を介して、定期的な方式でイベントレポート242をさらなるIDSインスタンス34に送信すべきである。ハートビート信号(イベントレポート242を含む)は、暗号化されるべきであり、真性なものでなければならない。好適には、伝送される情報は、(場合によっては認証情報256を使用して)真性にかつ好適にはランダムに又は乱数273を使用して暗号化されて、制御装置又はゲートウェイ20と、さらなるIDSインスタンス34との間において交換されるべきである。好適には、イベントレポート242は、固定長257を有するべきであり、暗号化されかつ認証されるべきである。暗号化された各イベントレポート242は、たとえ伝送された状態が変更されていなくても、先行するイベントレポート242とは異なるようにすべきである。
その他に、さらなるIDSインスタンス34から制御装置又はゲートウェイ20又は関連する通信アダプタ32への通信は、以下の機能性によって優れているべきである。データロガー又はIDSインスタンス34は、特にメモリ又はバッファメモリ206のオーバーフローを阻止するために、可能な限り早くイベント236又は関連するイベントレポート242を読み込むべきである。イベントレポート242は、例えば要求に応じて、診断インタフェースを介して読み出せるようにすべきである。代替的に、イベントレポート242は、完全に周期的に送信することもできる。イベントレポート242は、たとえ新たな選択イベント226が新たなイベントレポート242の枠内において利用可能でないとしても、定期的な方式で好適には真性にかつ暗号化又は偽装されて通信又は読み出されるべきである。制御装置又はゲートウェイ20は、固定長の、暗号化され認証された応答又はイベントレポート242で、読み出し要求240に応答すべきである。暗号化された各応答又はイベントレポート242は、たとえ内容が変更されていなくても、先行の応答又はイベントレポート242とは異なるようにすべきである。例示的に、このことは、既に説明したように常に変更されるサイズ254によって行われる。
図5によれば、信頼できるゾーンZ2内に配置されたイベントマネージャ30は、最初に第1の選択イベント226.1を選択し、続いて第2の選択イベント226.2を選択する。これらは、説明したようにイベントマネージャ30によって処理される。即ち、これらの選択イベント226.1,226.2は、メモリ206に格納されている。信頼できるゾーンZ2内に存在する通信アダプタ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の動作又は異常識別の動作が不透明となる。攻撃者は、自身の攻撃が検出されたかどうか、何が検出されたか、異常識別のためのシステムがどのように動作するかを決して知ることはない。
信頼できるゾーンZ2内に存在する通信アダプタ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として信頼できるゾーンZ2内に存在する通信アダプタ32の部分に到達する。(変更された情報254及び/又は鍵258を使用した)暗号化及び(認証情報256の形成による)認証は、対応するセキュリティ要件が満たされた場合、イベントマネージャ30において、及び/又は、通信アダプタ32において、又は、既に説明したように(同様に信頼できるゾーンZ2内に配置された)セキュリティモジュール73を使用して、行うことができる。
代替的に、通信アダプタ32及び/又はセキュリティモジュール73は、例えば、乱数273に依存してイベントレポート242を暗号化することができる。特に好適には、暗号化のために、例えばハッシュ化によって常に新たな乱数273が形成される。このことは、伝送されたメッセージ又は暗号化されたイベントレポート242の復号化をさらに複雑にする。場合によっては、通信アダプタ32は、認証情報256を使用した認証、及び/又は、可変のサイズ254の追加、及び/又は、暗号化258を用いたイベントレポート242全体の最終的な暗号化を担う。
対応する信号406は、新たな選択イベント226の発生による新たなイベントレポート242がイベントマネージャ30から提供されない場合であっても、タイマ割り込み(信号400)自体に基づいて送信される。次いで、イベントレポート242のデータフォーマットを有するダミーメッセージが使用され、乱数又は常に変更されるサイズ254によって(鍵258を使用して)暗号化され、さらなるIDSインスタンス34に伝送される。ダミーメッセージも、常に変更されるサイズ254又は新たな乱数によって常に暗号化され、そのため、新たな選択イベント226が発生しない場合においても、他の又は暗号化されたメッセージ(信号406)が常に周期的に伝送される。この周期的な伝送により、通信アダプタ32と、さらなるIDSインスタンス34との間の適正な通信接続の機能を検査することができる。既に説明したように、イベントレポート242の送信は、信頼できないゾーンZ1内に配置された通信アダプタ32の部分を介して行われる。
通信アダプタ32によって送信されたメッセージ(信号406)がさらなるIDSインスタンス34によって取得された後、このさらなるIDSインスタンス34は、確認信号(408)を通信アダプタ32、特に、信頼できないゾーンZ1内に配置された通信アダプタ32の部分に送信する。さらなる手順は、既に図4に関連してより詳細に説明した。この確認信号408の取得後、信頼できるゾーンZ2内に配置された通信アダプタ32の部分は、イベントマネージャ30に対する一時記憶された、場合によっては低減された選択イベント226又は関連するイベントレポート242を削除又は再度上書きする要求を生成する(信号410)。
代替的実施例においては、上位のインスタンス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に送信する。
好適には、応答又は確認信号408,416も固定長257’を有するべきである。好適には、確認信号408は、認証され、暗号化されるべきである。各応答又は確認信号408は、たとえ内容が変更されていなくても、上位のインスタンス34及び/又はバックエンド36によって異ならせるべきである。
そのような確認信号408,416の一例は図9から見て取れる。確認信号408,416は、イベントレポート242と同様の構造である。確認信号408,416は、可変のサイズ254’を含む。この可変のサイズ254’は、新たに送信された確認信号408,416ごとに変化する。これらの可変のサイズ254’も、例えば、乱数、カウンタ、時間によって実現することができる。
特に好適には、確認信号408,416の可変のサイズ254’は、直前に伝送され、場合によってはセキュリティモジュール73によって生成されたようなイベントレポート242の可変のサイズ254を使用することによって形成することができる。この目的のために、上位のインスタンス34,36は、受信されたイベントレポート242から可変のサイズ254を抽出し、確認信号408,416に挿入するように構成される。それにより、後続のステップにおいては、確認信号408,416の認証も、確認信号408,416の受信された可変のサイズ254’を、直前に送信されたイベントレポート242の可変のサイズ254と比較することによって行うことができる。一致した場合には、真性の確認信号408,416との推論がなされる。その他に、この可変のサイズ254’は、上位のインスタンス34,36において自身で生成する必要はない。それに対して、メモリ206の解放が追従し得る。
さらに、確認信号408,416は、特定のデータ255’を例えば任意のパターンの形態で含む。さらに、確認信号408,416は、認証情報256’も含む。この認証情報256’もイベントレポート242と同様に再び、確認信号408,416の残余のデータ、詳細には可変のサイズ254’及びデータ255’を利用する特定のアルゴリズムを介して形成することができる。そのように形成された認証情報256’は、固定長257’を有する確認信号408,416を完成させる。次いで、暗号化が鍵258’を使用して行われる。任意選択的に、この暗号化258’は省略することもできる。
受信されたインスタンス(例えば上位のインスタンス34、バックエンド36)及び/又は通信アダプタ32又はイベントマネージャ30は、ここでも、確認信号408,416を(鍵258’を使用して)復号化しかつ認証することができる。この目的のために、ここでも、受信されたデータ(可変のサイズ254’、データ255’)から、対応する既知のアルゴリズムを使用した結果として生じる認証情報256’’が求められ、取得された認証情報256’と比較される。一致した場合は、真性に基づく。取得された認証情報256’が適正である限り、メモリ206を解放するための信号410が生成できる。認証情報256’が適正でない場合には、この信号410は生成できないはずなので、メモリ206に含まれる選択イベント226は(まだ)削除されない。
さらなる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は、上記で説明したように形成されるものとしてもよい。
イベントリリースに関する信号410の取得後、イベントマネージャ30は、さらに選択イベント226.3及び226.4を選択する。さらなるフローは、図6から見て取ることができる。その間に、イベントマネージャ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(図5)に関連して説明したように形成されるものとしてもよい。確認信号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のみの上書きに関するものである。
ここでも、さらなるIDSインスタンス34において、既に説明したようにタイマ割り込みが発生する(信号432)。これにより、さらなるIDSインスタンス34は、信号426において新たに受信したイベントレポート242を暗号化してバックエンド36に伝送することを引き起こす(信号434)。対応するメッセージ434の取得後、バックエンド36は、さらなるIDSインスタンス34に送信される対応する確認信号436によって確認する。この確認信号436は、確認信号408又は416のように形成されるものとしてもよい。
さらなるフローを図7に示す。新たに、通信アダプタ32のためのさらなるタイマ割り込みが発生する(信号440)。ここでは、通信アダプタ32は、信頼できるゾーンZ2からイベントマネージャ30に対して、イベントレポート242の送信のための要求を送信する(信号442)。イベントマネージャ30は、その間に選択イベント226.6を含むイベントレポート242を送信する(信号444)。通信アダプタ32は、新たな可変のサイズ254を使用して、場合によってはセキュリティモジュール73を使用して、イベントレポート242を暗号化し、この暗号化されたイベントレポート242を、信頼できないゾーンZ1内に存在する通信アダプタ32の部分を介してさらなるIDSインスタンス34に送信する(信号446)。これを取得した場合、さらなるIDSインスタンス34は、確認を送信し(信号448)、この信号を取得した場合、通信アダプタ32は、イベントマネージャ30に対して、既に伝送されたイベント226.6を上書き又はリリースする要求を送信する(信号450)。
ここでも、さらなるIDSインスタンス34は、タイマ割り込みを受信する(信号452)。ここでは、暗号化されたイベントレポート242が、場合によっては、車両に関連するさらなるIDSシステムのさらなるイベントレポートとともにバックエンド36に伝送される。バックエンド36は、さらなるIDSインスタンス34に対して確認信号及び/又は対応するイベントをリリース又は上書きするなどの要求を送信する(信号456)。
図8による例示的なフローにおいては、最後のイベントレポート242の送信とタイマ割り込み(信号460)の新たな発生との間に、新たな選択イベント226は発生していない。タイマ割り込み460の取得後、通信アダプタ32は、信頼できるゾーンZ2から新たなイベントレポート242のための対応する要求信号462をイベントマネージャ30に送信する。イベントマネージャ30は、(新たな選択イベント226が発生したにもかかわらず)ダミー内容を有するイベントレポート242を生成し、次いで、これを通信アダプタ32に送信する(信号464)。このダミー内容は、さらなるIDSインスタンス34によって、及び/又は、バックエンド36によってそのようなものとして識別可能である。通信アダプタ32は、信頼できるゾーンZ2内において、場合によってはセキュリティモジュール73を使用してダミー内容を有する受信されたイベントレポート242を、新たな可変のサイズ254を用いて暗号化し、この暗号化されかつ認証されたイベントレポート242をさらなるIDSインスタンス34に伝送かつ送信する(信号466)。この伝送は、ここでも、信頼できないゾーンZ1から行われる。この取得は、さらなるIDSインスタンス34によって確認される(信号468)。この信号を取得した場合、通信アダプタ32は、新たに、イベントマネージャ30に対して、最後の選択イベント226を上書きする要求信号を送信する(信号470)。このことは、この状況のように新たな選択イベント226が存在しない場合であっても行われる。
新たに、さらなるIDSインスタンス34は、タイマ割り込みを取得する(信号472)。ここでは、さらなるIDSインスタンス34は、通信アダプタ32から伝送され最後に取得した暗号化されたイベントレポート242を暗号化し、それを、場合によっては車両に関連するさらなるIDSシステムからのさらなるイベントレポートとともにバックエンド36に送信する。バックエンド36は、確認信号476及び/又は基礎となるイベントのリリースのための要求などをさらなるIDSインスタンス34に送信する。
図9の通信フローにおいては、通信アダプタ32は、新たにタイマ割り込みを取得する(信号480)。このタイマ割り込み480は、特別な信号であり得る。そのため、通信アダプタ32は、イベントマネージャ30からの(通常のイベントレポート242のうちの1つではなく)イベント要約を要求する(信号482)。イベントマネージャ30は、イベント要約を通信アダプタ32に送信する(信号484)。このことは、ここでも信頼できるゾーンZ2内において行われる。イベント要約においては、例えば、様々なイベントタイプ218に対する様々なカウンタ状態231、又は、新たなイベントタイプの発生など上位の情報を含めることができる。ここでも、通信アダプタ32からのイベント要約は、乱数のような新たな可変のサイズ254によって、場合によってはセキュリティモジュール73を使用して、信頼できるゾーンZ2内において暗号化され、さらなるIDSインスタンス34に伝送される(信号486)。この伝送は、ここでも信頼できないゾーンZ1から行われる。IDSインスタンス34が通信アダプタ32からの暗号化されたイベント要約を取得するとただちに、さらなるIDSインスタンス34は、このイベント要約を特に好適には暗号化してバックエンド36に転送する。本実施例においては、さらなるIDSインスタンス34とバックエンド36との間の送信過程のために、通信過程を開始するためのタイマ割り込みは設けられていない。ただし、代替的に、ここでも、これは通常のイベントレポートの送信のように周期的に開始することができる。
図10の通信フローにおいては、バックエンド36は、イベントレポートのための要求をさらなるIDSインスタンス34に送信する(信号490)。さらなるIDSインスタンス34は、イベントレポートのための暗号化された要求を、例えば診断インタフェースを介して通信アダプタ32に送信する(信号492)。この暗号化は、ここでも、例えば、特に暗号化ごとに変化する乱数のような可変のサイズ254’を介して行うことができる。要求492の取得後、セキュリティに関連するゾーンZ2内の通信アダプタ32は、イベントレポート242のための問い合わせをイベントマネージャ30に送信する(信号494)。対応する問い合わせ494の取得後、イベントマネージャ30は、イベントレポート242を通信アダプタ32に送信する(信号496)。通信アダプタ32は、このイベントレポート242を、例えば、乱数のような新たな可変のサイズ254を介して、場合によってはセキュリティモジュール73を使用して暗号化し、これをセキュリティに関連しないゾーンZ1からさらなるIDSインスタンス34に送信する(信号498)。暗号化されたイベントレポート242の取得後、さらなるIDSインスタンス34は、このイベントレポート242をバックエンド36に送信する。この取得をバックエンド36はさらなるIDSインスタンス34に確認する(信号492)。この確認信号492の取得をさらなるIDSインスタンス34は通信アダプタ32に確認する(信号494)。対応する信号494の取得後、通信アダプタ32は、イベントマネージャ30に対して、少なくとも最後のイベントレポート242の枠内において伝送されたイベント220をリリース又は上書きする対応する要求を送信する。
記載された方法は、計算ユニット、コンピュータ又はコントローラ、特に車両18の制御装置において実装されるものとしてもよい。同様に、本方法は、コンピュータ上において実行されるときに本方法を実施するために構成されたコンピュータプログラムの枠内において作成されるものとしてもよい。さらに、本コンピュータプログラムは、機械可読記憶媒体上に記憶されているものとしてもよい。それにもかかわらず、本プログラムは、例えば、「無線」ソフトウェアとして無線でインストールすることもできるし、診断インタフェースを介して有線でインストールすることもできる。