(57)【要約】  本発明は、インタフェースを介して伝送されるデータパケットを保護する方法に関する。本発明によれば、第１のデータパケット（３３６）の少なくとも一部分と、第２のデータパケット（３２４）の少なくとも一部分について、チェックナンバー（３２２）を求めるステップが設けられている。その際、第１のデータパケット（３３６）を、伝送プロトコルに従い第１のデータフレーム（３１１）内に配置し、第２のデータパケット（３２４）を、伝送プロトコルに従い第２のデータフレーム（３１２）内に配置する。
2013526225.tif 000002
【特許請求の範囲】
【請求項１】
インタフェースを介して伝送されるデータパケットを保護する方法において、
第１のデータパケット（３３６；４３６；７３６）の少なくとも一部分と、第２のデータパケット（３２４；４２４）の少なくとも一部分について、チェックナンバー（３２２；４３２）を求めるステップを有しており、
前記第１のデータパケットを、伝送プロトコルに従い第１のデータフレーム（３１１）内に配置し、前記第２のデータパケットを、該伝送プロトコルに従い第２のデータフレーム（３１２；４１３）内に配置することを特徴とする、
データパケットを保護する方法。
【請求項２】
前記チェックナンバー（３２２；４３２）を、前記第２のデータパケット（３２４；４２４）とともに前記第２のデータフレーム（３１２；４１３）内に配置し、前記第２のデータパケットとともに前記インタフェースを介して伝送する、請求項１記載の方法。
【請求項３】
前記第１のデータパケット（３３６）を前記インタフェースを介して受信し、前記第２のデータパケット（３２４；４２４）を該インタフェースを介して送信する、請求項１又は２記載の方法。
【請求項４】
前記第２のデータパケット（３２４）を、前記第１のデータパケット（３３６）に対する応答として送信し、該第１のデータパケットは識別データを有しており、該第１のデータパケットの一部分に前記識別データが含まれ、該第１のデータの一部分についてチェックナンバー（３２２）を求める、請求項３記載の方法。
【請求項５】
前記チェックナンバー（３２２）を、第２のデータパケット（３２４）においては全体について求めるが、前記第１のデータパケットにおいては一部分（７３６）についてのみ求める、請求項３又は４記載の方法。
【請求項６】
チェックナンバーを求める前記ステップにおいて、別のデータパケットについてチェックナンバー（４３２）を求め、該別のデータパケットを、前記第１のデータフレーム（３１１）と前記第２のデータフレーム（４１３）との間で別のデータフレーム内において前記インタフェースを介して伝送する、請求項１から５のいずれか１項記載の方法。
【請求項７】
前記別のデータパケットの個数を伝送プロトコルに従い変更可能であり、前記別のデータパケットの伝送をチェックイベントの発生に応じて中止し、該チェックイベントの発生に応じてチェックナンバー（４３２）を求め、第２のデータパケット（４３４）を伝送する、請求項６記載の方法。
【請求項８】
前記チェックイベントを、まえもって定められたデータパケットの受信によりトリガする、請求項７記載の方法。
【請求項９】
請求項１から８のいずれか１項記載の方法のステップを実施するために構成された装置。
【請求項１０】
プログラムコードを有するコンピュータプログラム製品において、
前記プログラムコードは機械により読み出し可能な媒体に記憶されており、プログラムが装置において実行されると、請求項１から１０のいずれか１項記載の方法を実施する、
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタフェースを介して伝送すべきデータパケットを保護する方法、この方法に対応する装置ならびにコンピュータプログラム製品に関する。
【０００２】
DE 10 2006 047 632 A1は、事故センサの測定値を処理する方法に関する。バイナリで表現されるデータを記憶及び伝送する際、妨害によって個々のビットに誤りが生じる可能性がある。この種のエラーを識別する目的で、データにチェックビットが付加される。
【０００３】
発明の概要
以上を背景として本発明によれば、インタフェースを介して伝送されるデータパケットを保護する方法、この方法を使用する装置、ならびに対応するコンピュータプログラム製品が提供される。これらは独立請求項に記載されており、個々の従属請求項及び以下の説明には本発明の有利な実施形態が示されている。
【０００４】
本発明が基礎とする認識は、センサにおいてスレーブからマスタへ送信されるデータは、マスタからスレーブへ送信する必要のあるデータよりも著しく膨大になる傾向にある、ということである。チェックナンバーすなわち検査用数字は、そのまま利用されるデータではなく、例えばセンサ情報を成すデータではない。チェックナンバーがセンサの応答フレーム（ＭＩＳＯ）ごとに一緒に送信されると、非センサデータの割合が高まり、チェックサムにより形成されるオーバーヘッドが発生する。
【０００５】
チェックナンバーと、それによってチェックされるデータとの間で決められた関係が存在する場合、適用事例固有の整合は行えない。しかしながら本発明による伝送プロトコルによれば、１つのデータフレームのいずれのビットについてチェックサム例えばＣＲＣ（巡回冗長検査）が計算されるのかを、伝送プロトコルにおいて明確に定める必要がない。ある適用事例のセキュリティ要求が低い場合、本発明によれば、事前に規定されたデータに対しチェックナンバーが計算されるのを回避することができる。
【０００６】
公知のディジタルシリアルプロトコルは、問い合わせと応答の対応関係のチェックを行っておらず（例えばMM5 SPI）、あるいは応答を問い合わせに一義的に対応づける特別なビットを応答中に用意しておかなければならない（OpenSPI32）。別のプロトコル（例えばCAN）から「メッセージ・カウンタ Message Counters」の構造が公知であり、これによれば、個々の問い合わせが適正な応答によって応答されたのか、及び問い合わせ／応答が見逃されていないか、についての情報を得ることができる。本発明によれば、公知の構造であると発生する応答中の大きなオーバーヘッドが生じないようにすることができる。
【０００７】
したがって本発明によれば、セキュリティ関連データを省くことなく、応答メッセージの過負荷（オーバーロード）の低減を実現できる。これにより、セキュリティのためマスタから問い合わせられたデータ例えばセンサＩＤを応答メッセージ内で供給するような現在のプロトコルの方式を回避することができる。
【０００８】
本発明によるＳＰＩ構成の利点は、応答フレーム内の有効負荷ないしはペイロードが最適化されることである。したがって、セキュリティとしてのチェックナンバーのカバー範囲とペイロード状態を、プロトコルを改変することなくアプリケーション固有に最適化することができる。応答と問い合わせのペアのチェックを、付加的なビットいわゆる「メッセージカウンタ Message-Counter」を用いることなく実装することができる。命令コード（Instruction-Code）とアドレスフィールドに関するフィードバックメッセージの実装によって、付加的な保護が得られるようになる。
【０００９】
本発明は、インタフェースを介して伝送されるデータパケットを保護する方法に関する。本発明による方法には、以下のステップが含まれる。すなわち、第１のデータパケットの少なくとも一部分と、第２のデータパケットの少なくとも一部分について、チェックナンバーを求めるステップが含まれている。その際、第１のデータパケットは、伝送プロトコルに従い第１のデータフレーム内に配置され、第２のデータパケットは、伝送プロトコルに従い第２のデータフレーム内に配置されている。
【００１０】
インタフェースを、送信機と受信機との間で情報を伝送可能なデータインタフェースとすることができる。送信機と受信機をディジタル素子とすることができ、例えばマイクロコントローラとセンサとすることができる。センサは、車両に配置されているものとすることができる。その際、伝送すべき情報をデータパケットとして伝送することができる。データパケットに複数のデータビットをもたせることができる。データパケットの送信及び受信ならびにデータパケットの編成を、伝送プロトコルによってコントロールすることができる。１つのデータフレームを、伝送プロトコルによりまえもって設定された時間窓によって規定することができ、この時間窓内で１つのデータパケットが送信又は受信され、あるいは１つのデータパケットを送信又は受信することができる。相前後する２つのデータフレームを１つの期間によって互いに隔てることができる。これに代わる構成として、相前後する２つのデータフレームがじかに隣接し合うようにしてもよい。さらにデータフレーム各々を、１つ又は複数のインタフェース信号によってマーキングしておくこともできる。
【００１１】
チェックナンバーを導入し、それによってカバーされる範囲のデータの完全性を検査することができる。必要とされるセキュリティに応じて、チェックナンバーを求めるために適切な公知の方式を用いることができる。例えばチェックナンバーによって、パリティチェック又は巡回冗長検査（ＣＲＣ）を実現することができる。チェックナンバーが１つ又は複数のデータビットを有するようにすることができる。チェックナンバーを、１つのデータパケットだけでなく複数のデータパケットについて形成するのが有利である。また、チェックナンバーを、１つ又はすべてのデータパケットの部分領域について形成することも可能である。チェックナンバーを用いることでチェックナンバーの受信側は、チェックナンバーによりカバーされた範囲のデータがインタフェースを介して適正に伝送されたのか否かをチェックすることができる。
【００１２】
チェックナンバーを、第２のデータパケットとともに第２のデータフレーム内に配置することができ、第２のデータパケットとともにインタフェースを介して伝送することができる。このようにすれば第２のデータパケットの受信後、第１及び第２のデータパケットのうちチェックナンバーによりカバーされた範囲の部分のチェックを、ただちに開始することができる。
【００１３】
１つの実施形態によれば、第１のデータパケットと第２のデータパケットをインタフェースを介して送信することができる。このようにすれば、送信すべき２つのデータパケットについてチェックナンバーを形成することができる。これに代わる構成として、第１のデータパケットをインタフェースを介して受信し、第２のデータパケットをインタフェースを介して送信することができる。このようにすれば、すでに受信したデータパケットと送信すべきデータパケットとについて、チェックナンバーを形成することができる。これによって第１のデータパケットを送信し第２のデータパケットを受信した側は、第１のデータパケットが適正に伝達されたか否かについて、チェックナンバーを用いて識別することができる。
【００１４】
このケースにおいて、第２のデータパケットを第１のデータパケットに対する応答として送信することができ、第１のデータパケットが識別データを有するようにすることができる。その際、第１のデータパケットの一部分は識別データを含み、この第１のデータパケットの一部分についてチェックナンバーが求められる。識別データを用いることによって、問い合わせと応答の対応づけを行うことができる。
【００１５】
チェックナンバーを、第２のデータパケットに関しては全体について求めるが、第１のデータパケットに関してはその一部分についてのみ求めるようにすることができる。第１のデータパケットの一部分は、第１のデータパケット全体のサブセットを成す。したがって第１のデータパケットは、チェックビットが求められない別の部分も有している。
【００１６】
１つの実施形態によれば、チェックナンバーを求めるステップにおいて、別のデータパケットについてチェックナンバーを求めることができ、この別のデータパケットは、第１のデータフレームと第２のデータフレームとの間で別のデータフレーム内においてインタフェースを介して伝送される。このようにすれば、本発明によるアプローチを３つ以上のデータパケットへの適用に拡張することができる。この場合、チェックナンバーを、そのつど別のデータパケット全体について求めてもよいし、別のデータパケットの一部分についてのみ求めてもよい。
【００１７】
伝送プロトコルに従って、別のデータパケットの個数を変更可能である。別のデータパケットの伝送を、チェックイベントの発生に応じて中断することができる。さらにチェックイベントの発生に応じて、チェックナンバーを求めて第２のデータパケットを伝送することができる。したがってチェックイベントによって、別のデータパケットの個数を定義することができ、その定義に従いいわゆる第２のデータパケットがチェックナンバーとともに伝送される。チェックイベントを、伝送プロトコルとは別個にトリガさせることも可能である。
【００１８】
例えばチェックイベントを、まえもって定められたデータパケットがインタフェースを介して伝送されることとすることができる。このデータパケットを特別な問い合わせとすることができ、この問い合わせは上述のインタフェースまたは別のインタフェースを介して通信可能である。これに代わる構成として、チェックイベントを事前に伝達することもでき、どのデータについてチェックナンバーを求めるべきかの情報をもたせることができる。
【００１９】
さらに本発明によれば、本発明による方法のステップを相応の構成において実行もしくは実現する装置が提供される。本発明の実施形態は装置としても、本発明の基礎となる課題を迅速かつ効率的に解決することができる。さらにこの装置をディジタル回路として実現することができる。
【００２０】
また、半導体メモリ、ハードディスク記憶装置あるいは光学式記憶装置のような機械可読媒体に記憶され、装置において実行されたときに既述の実施形態に従って本発明による方法を実施するプログラムコードを含んだ、コンピュータプログラム製品も有利である。
【００２１】
次に、添付の図面を参照しながら実施例に基づき本発明について詳しく説明する。
【図面の簡単な説明】
【００２２】
【図１】インターフェスを示す図
【図２】インタフェースを介してデータ伝送が行われる様子を示す図
【図３】本発明の１つの実施例に従い保護されたデータ伝送が行われる様子を示す図
【図４】本発明の別の実施例に従い保護されたデータ伝送が行われる様子を示す図
【図５】本発明の別の実施例に従い保護されたデータ伝送が行われる様子を示す図
【図６】本発明の別の実施例に従い保護されたデータ伝送が行われる様子を示す図
【図７】本発明の別の実施例に従い保護されたデータ伝送が行われる様子を示す図
【図８】本発明の別の実施例による方法を示すフローチャート
【００２３】
発明を実施するための形態
本発明の有利な実施例を以下で説明するにあたり、それぞれ異なる図中で示す同様の機能を有する要素には、同一又は類似の参照符号を使用し、それらの要素を繰り返して説明しないものとする。
【００２４】
図１には、マスタ１０２とスレーブ１０４との間に設けられたＳＰＩハードウェアインタフェースが略示されている。ここではマスタ１０２をマイクロコントローラ（μＣ）として、スレーブ１０４をセンサとしてインプリメントすることができる。このインタフェースは、クロック（ＣＬＫ）、チップセレクト（ＣＳ）、マスタイン・スレーブ・アウト（ＭＩＳＯ）、マスタアウト・スレーブイン（ＭＯＳＩ）の各ラインを備えている。クロックライン（ＣＬＫ）はクロック信号を、チップセレクトライン（ＣＳ）はチップセレクト信号を、それぞれマスタ１０２からスレーブ１０４へ供給する。マスタイン・スレーブアウトライン（ＭＩＳＯ）を介して、スレーブ１０４からマスタ１０２へデータを伝送することができ、マスタアウト・スレーブインライン（ＭＯＳＩ）を介して、マスタ１０２からスレーブ１０４へデータを伝送することができる。
【００２５】
図２には、応答と問い合わせが固有のチェックサムとともに１つのフレーム内で伝送されるＳＰＩフレームが示されている。ＳＰＩフレームは、アクティブなチップセレクト信号（ＣＳ）により規定される。このフレーム内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）とマスタアウト・スレーブインライン（ＭＯＳＩ）を介してデータが伝送される。この実施例によれば、それぞれ１６ビットのデータが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介して伝送されるデータのうち最後の２つのビットは、他のデータパケット２２４に関するチェックナンバー２２２を成している。さらにこの実施例によれば、それぞれ１６ビットのデータが伝送され、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介して伝送されるデータのうち最後の２つのビットは、他のデータパケット２３４に関するチェックナンバー２３２を成している。
【００２６】
図１に示されているようなディジタルシリアルプロトコル（ＳＰＩ）の場合、１つ又は複数のチェックナンバー例えばチェックサム、ＣＲＣ又はパリティが、図２に示されているように各フレームごとに個別に、問い合わせについても応答についても計算される。ここで１つのフレームとは、ＳＰＩの場合にはチップセレクト（ＣＳ）のアクティブフェーズにより識別される１つの通信区間のことを表す。
【００２７】
本発明によれば、チェックナンバーは単一のフレームについて計算されるのではなく、又はその一部分について計算されるのでもなく、複数のフレームにわたって計算される。この場合、１つの問い合わせフレームについて計算が行われるのか、あるいは複数の問い合わせフレームについて計算が行われるのか、及び／または１つの応答フレームについて計算が行われるのか、あるいは複数の問い合わせフレームについて計算が行われるのか、は重要ではない。
【００２８】
図３〜図６には、本発明による種々の実施例が示されている。これらの実施例に共通しているのは、チェックナンバーの計算がそのつど複数の通信区間にわたって行われることである。
【００２９】
図３に示されている実施例によれば、チェックナンバーは１つの応答フレームと１つの問い合わせフレームについて形成される。
【００３０】
この図には、第１のデータフレームすなわちフレーム３１１と第２のデータフレームすなわちフレーム３１２が示されており、これらのフレームは、それぞれアクティブなチップセレクト（ＣＳ）によって表される。フレーム３１１，３１２は、チップセレクト（ＣＳ）信号が非アクティブ状態である期間によって分離されている。第１のフレーム３１１は、第２のフレーム３１２よりも時間的に前に位置している。第１のフレーム３１１内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介して応答データパケットが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介して問い合わせデータパケットが伝送される。さらに第２のフレーム３１２内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介して応答データパケットが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介して問い合わせデータパケットが伝送される。
【００３１】
第２のフレーム３１２の応答データパケットにはチェックナンバー３２２が含まれており、このチェックナンバー３２２は、応答データパケットのうちこのチェックナンバー３２２を除いた残りの部分３２４と、第１のフレーム３１１の問い合わせデータパケット３３６全体について形成される。この実施例によれば、チェックナンバー３２２は２つのビットを有しており、応答データパケットの残りの部分３２４である１４ビットと、問い合わせデータパケット３３６全体である１６ビットとをカバーしている。チェックナンバー３２２は、応答データパケットの残りの部分３２４に続いて伝送される。
【００３２】
図４に示されている実施例によれば、チェックナンバーは複数の応答フレームと複数の問い合わせフレームについて形成される。
【００３３】
この図には、第１のフレーム３１１と第２のフレーム３１２と第３のフレーム４１３が示されており、これらのフレームは、それぞれアクティブなチップセレクト（ＣＳ）によって表される。フレーム３１１，３１２，４１３は、チップセレクト（ＣＳ）信号が非アクティブ状態である期間によって分離されている。第１のフレーム３１１は、第２のフレーム３１２よりも時間的に前に位置しており、第２のフレーム３１２は、第３のフレーム４１３よりも時間的に前に位置している。この場合、フレーム３１１，３１２，４１３内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介してそれぞれ応答データパケットが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介してそれぞれ問い合わせデータパケットが伝送される。
【００３４】
第３のフレーム４１３の応答データパケットにはチェックナンバー４３２が含まれており、このチェックナンバーは、第３のフレーム４１３の応答データパケットのうちチェックナンバー４３２を除いた残りの部分４３４と、第３のフレーム４１３の問い合わせデータパケット４２４の一部分４２４と、第２のフレーム３１２の応答データパケット４３６全体と、第２のフレーム３１２の問い合わせデータパケット４２６全体と、第１のフレーム４１１の問い合わせデータパケット４２８の一部分４２８について形成される。さらに別のデータパケットについてもチェックナンバーを形成することができる。
【００３５】
図４には、一度に複数の着想が盛り込まれている。その１つは、データ４２８，４２６，４３６，４２４，４３４についてのチェックナンバー又はＣＲＣが、パケット４３２内にまとめられることである。ただしこのパターンは、いつからいつまでＣＲＣがまとめられるべきかも、常に知らせる必要がある。例えばマスタはスレーブに、以下に続くチェックサムはデータパケットの特定の個数、特定の形式及び／又は特定の部分について計算すべきものである、ということをメッセージとして伝達することができる。これに対する代案として、どのデータパケットについてチェックナンバーが形成されるのかを規定する一義的なシーケンスパターンを設けることができる。
【００３６】
さらにその際、チェックナンバー又はＣＲＣが広い範囲についてまとめられるならば、チェックナンバーを各フレームごとにいっしょに送信する必要がない。図４にはこの種のやり方が示されている。このようにすることで格別意味をもつのは、ＣＲＣがｎ*８ビット長のときである。なぜならば現在のＳＰＩドライバはこのパターンで動作するからである。
【００３７】
さらにこの場合、目下伝達されているパケット４２４，４３４についてもチェックナンバーを形成する必要がない。
【００３８】
図５に示されている実施例によれば、チェックナンバーは不特定の個数の応答フレームについて形成される。
【００３９】
この図には、第１のフレーム３１１と第３のフレーム４１３が示されており、これらのフレームの間に他の複数のフレームを配置することができる。フレーム３１１，４１３は、それぞれアクティブなチップセレクト（ＣＳ）によって規定される。この場合、フレーム３１１，４１３内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介してそれぞれ応答データパケットが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介してそれぞれ問い合わせデータパケットが伝送される。
【００４０】
第３のフレーム４１３の問い合わせデータパケットにはチェックナンバー４３２が含まれており、このチェックナンバー４３２は、第３のフレーム４１３の問い合わせデータパケットのうちこのチェックナンバー４３２を除いた残りの部分４３４と、第１のフレーム３１２の問い合わせデータパケット４３６全体と、他の複数のフレームの問い合わせデータパケット全体について形成される。
【００４１】
図５には、チェックサム４３２を事前に決められていない個数のフレームについて計算する、という本発明のコンセプトが描かれている。特別な問い合わせがあって初めて、あるいは特別なコンフィギュレーションの場合に初めて、情報を成す事前に通信されたビットのすべてあるいは一部分について、チェックサムが形成される。
【００４２】
チェックサムの計算を、スレーブすなわちセンサにおいて実行することができる。その際にセンサは、バスを介して送信可能な特定のコマンドがマスタからセンサへ送信されるまで、オペレーションを実行し、対応する通信をいっしょに計算してチェックサムを形成する。特定のコマンドを例えばハードウェアピンとすることもでき、このピンを介してコマンドがシグナリングされる。
【００４３】
コマンドは必ずしも、数回にわたり伝達される情報でなくてもよく、標準に従いプロトコルとしていっしょに送信される１つのビットであってもよく、このビットは、目下の通信によりチェックサムの範囲が拡張されるのか、又は目下の通信で終わるのか、についての情報だけを伝える。
【００４４】
したがって特別な問い合わせを、ＨＷピンを介したシグナリング、各メッセージにおけるヘッダ中の単一ビット、又はマスタからの単一のメッセージとすることができる。このようにしてマスタは、チェックサムの計算もしくは計算の中止を制御することができる。
【００４５】
図６に示されている実施例によれば、チェックナンバーが応答と問い合わせについて形成される。この場合、問い合わせには、問い合わせと応答との関係を識別する特別なビットが含まれている。
【００４６】
図６に示されている実施例は、図３に示されている実施例に対応する。この場合、図６に示されている問い合わせデータパケット３３６は、応答データパケット３２４を問い合わせデータパケット３３６に対応づけることのできる識別ビットを有している。この実施例によれば、３つの識別ビット１０，１１，１２が設けられている。チェックナンバー３２２には識別ビットも含まれている。
【００４７】
図６には、任意に選択可能な識別ビットによって問い合わせが拡張されている様子が描かれており、例えばここでは１０〜１２の３ビットの識別ビットによって拡張されている。応答フレーム中のチェックナンバー３２２を、応答についても、これらの識別ビットを含めて問い合わせについても計算すれば、その応答を問い合わせに確実に対応させることができる。なぜならば、対応していないとチェックナンバーが応答とは一致しなくなるからである。識別ビットを変更することにより、相前後して到来する複数の同じ問い合わせ及び／又は応答を区別することができ、これは識別ビットを問い合わせごとに変化させ、したがってチェックナンバーも異ならせるようにして行われる。
【００４８】
確率が非常に低いが理論上はあり得るケースとして、同じチェックナンバーが生じる通信メッセージの２つの組み合わせが存在する可能性もある。ただしこの確率は、誤ったチェックサムの原理上の確率である。保護すべきデータの個数が増えると、その出現確率が低下するのと同様、チェックサムが長くなると、この出現確率が低下する。例えばビット長１又は２のチェックサムの場合、それ相応に長い２つのメッセージにより同じチェックサムが生じる確率が高い。とりわけこの理由から、過度に多くのデータから一定の長さの１つのチェックサムがいっしょに計算されることが決してないようにすべきである。同様に、チェックサムの長さが確実にセキュリティ要求に適合するようにすべきである。本発明によれば、チェックサムに関する公知の計算規則（多項式）と、保護すべきデータの長さとチェックサムとの比を用いることができる。
【００４９】
図７に示されている実施例によれば、１つのチェックナンバーが応答と問い合わせについて形成される。この場合、問い合わせには、問い合わせと応答との関係又は問い合わせと応答の内容との関係に関する特別に保護すべきビットが含まれている。
【００５０】
この図には、第１のフレーム３１１と第２のフレーム３１２が示されており、これらのフレームは、それぞれアクティブなチップセレクト（ＣＳ）によって表されている。フレーム３１１，３１２は、チップセレクト（ＣＳ）信号が非アクティブ状態である期間によって分離されている。第１のフレーム３１１は、第２のフレーム３１２よりも時間的に前に位置している。第１のフレーム３１１内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介して応答データパケットが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介して問い合わせデータパケットが伝送される。さらに第２のフレーム３１２内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介して応答データパケットが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介して問い合わせデータパケットが伝送される。
【００５１】
第２のフレーム３１２の応答データパケットにはチェックナンバー３２２が含まれており、このチェックナンバー３２２は、応答データパケットのうちこのチェックナンバー３２２を除いた残りの部分３２４と、第１のフレーム３１１の問い合わせデータパケットの一部分７３６について形成される。この実施例によれば、チェックナンバー３２２は４つのビットを有しており、応答データパケットの残りの部分３２４である１２ビットと、問い合わせデータパケットの７ビットとをカバーしている。チェックナンバー３２２は、応答データパケットの残りの部分３２４に続いて伝送される。この実施例によれば、問い合わせデータパケットは３つのビット１０，１１，１２を有しており、これら３つのビットによって、問い合わせと応答との関係又は問い合わせと応答の内容との関係が表される。ビット１０，１１，１２は問い合わせデータパケットの一部分７３６に配置されており、この部分についてチェックナンバー３２２が形成される。
【００５２】
図７に示した実施例は、チェックナンバーが単一の応答フレームについて計算されるのではなく、問い合わせと応答の複数の部分にわたって計算される、という本発明による着想を基礎としている。
【００５３】
図７に示したコンセプトは、任意に選択可能なビットによって問い合わせが拡張される様子を表している。応答フレーム中のチェックナンバー３２２を、応答についても問い合わせの一部分についても計算すれば、その応答を問い合わせに確実に対応させることができる。なぜならば、対応していないとチェックナンバーが応答とは一致しなくなるからである。識別ビットを変更することにより、相前後して到来する複数の同じ問い合わせ及び／又は応答を区別することができ、これは識別ビットを問い合わせごとに変化させ、したがってチェックナンバーも異ならせるようにして行われる。
【００５４】
さらにこのコンセプトによって保証できるのは、例えば命令コード及び／又は読み出しアドレス又は書き込みアドレスが、スレーブのＣＲＣを介して間接的にいっしょに送信されることである。つまり、マスタの問い合わせビット及びこの個別の問い合わせに対するＩＤビットだけでなく他のすべてのビットも、共通のチェックサムにおいていっしょに保護される。このことは、応答中に命令コード又はアドレスはいっしょに送信されない現在のプロトコル（ＭＭ５，ＳＰＩ）に対する１つの利点である。
【００５５】
図示の実施例において、チェックナンバーの検査をセンサあるいは一般的に言えばスレーブにおいて行うならば、検査結果をさらにマスタへ伝達する必要がある。これを例えばステータスビットに基づき行うことができる。
【００５６】
これまで説明してきた実施例は単なる例として採用されたものであり、それらに対し代案となる構成ならびに一般化した形態も可能である。
【００５７】
さらに例えば、複数のフレームに及ぶチェックナンバーの計算というコンセプトを、図示のプロトコルとは別のプロトコルにも適用することができる。本発明によるコンセプトを実装可能な公知の例は、例えばＣＡＮあるいはＰＳＩ５などである。また、単方向のプロトコルであっても双方向のプロトコルであっても考慮の対象となる。
【００５８】
全体についてチェックナンバーを計算する代わりに、１つ又は複数のフレームにおける少数の区間又は多数の区間について、１つ又は複数のチェックナンバーを計算することもできる。
【００５９】
保護する必要のないビットを、チェックナンバーの計算から除くことができる。
【００６０】
保護する必要のないデータを、保護すべきデータのセキュリティ要求を満たす必要がなく、それよりも低いセキュリティ要求を満たせばよいデータとすることができる。このようなケースとして考えられるのは、例えば車両においてそれらのデータによっても安全上危険な状態に至る可能性がない場合である。
【００６１】
保護すべきではないデータの一例として考えられるのは環境関連のデータであって、これらはセンサに伝達されてエラーメモリにエントリされる際にセンサによって一緒に格納される。エラーメモリのエントリは、診断等あとになって分析を行う際に有効に活用できるが、特定のシステム特性に対し何ら抜本的な影響を及ぼすものではない。
【００６２】
他の用途として考えられるのは、ここで述べた原理をマスタの有効負荷ないしはペイロードを最適化するためにも適用することである。
【００６３】
図８には、インタフェースを介して伝送されるデータパケットの保護方法について、本発明の１つの実施例によるフローチャートが示されている。
【００６４】
ステップ８０１において、例えばセンサの一部である第１の通信装置が第１のデータパケットを受信する。第１のデータパケットを、例えば制御装置又はマイクロコントローラの一部である第２の通信装置から第１の通信装置へ伝達される問い合わせとすることができる。ステップ８０３において第１の通信装置は、第１の通信装置へ伝送するための第２のデータパケットを準備する。第２のデータパケットを、第２の通信装置が第１の通信装置の問い合わせに対するリアクションとして準備した応答とすることができる。ステップ８０５において第１の通信装置は、第１のデータパケットと第２のデータパケットについてチェックナンバーを求める。チェックナンバーを第２のデータパケットに付加情報として加えることができ、つまり第２のデータパケットをチェックナンバーによって拡張することができる。
【００６５】
これに代わる構成としてチェックナンバーを、第１のデータパケットの一部分と第２のデータパケットの一部分についてのみ、又は第１のデータパケットの一部分と第２のデータパケット全体について、又は第１のデータパケット全体と第２のデータパケットの一部分について、求めることができる。
【００６６】
ステップ８０７において、チェックナンバーにより拡張された第２のデータパケットが、第２の通信装置から送信される。第１の通信装置は、第２のデータパケットを受信し、チェックナンバーを第２のデータパケットから抽出して評価する。この目的で第１の通信装置は、記憶されている第１のデータパケットのデータと受信した第２のデータパケットのデータとから、新たにチェックナンバーを求め、第２のデータパケットを介して受け取ったチェックナンバーと比較する。チェックナンバーが一致しているならば、第１のデータパケットも第２のデータパケットも第１の通信装置と第２の通信装置との間でエラーなく伝送されたものとすることができる。チェックナンバーを、第１の通信装置と第２の通信装置においてそれぞれ同じアルゴリズムを用いて求めることができる。
【００６７】
上述のステップに対し、これまで説明してきた図面に示された実施例に従って変更を加えることができる。
【００６８】
これまで説明してきた図示の実施例は、例示のために選択したにすぎない。種々の実施例をそのまま、あるいは個々の特徴ごとに、互いに組み合わせることができる。また１つの実施例を、他の実施例の特徴によって補うことも可能である。さらに、本発明による方法のステップを繰り返してもよいし、あるいは既述の順序とは異なる順序で実行してもよい。ある１つの実施例に、第１の特徴と第２の特徴を「及び／又は」で結合する記載が含まれているならば、このことから読み取れるのは、その１つの実施例は、１つの実施形態では第１の特徴も第２の特徴も含み、別の実施形態では第１の特徴だけあるいは第２の特徴だけしか含まない、ということである。
【００６９】
マルチフレームＳＰＩチェックサムもしくはマルチデータＳＰＩチェックサムという本発明によるコンセプトを、例えば車両で使用されるセンサの通信プロトコルに適用することができる。
【図１】
2013526225.tif 000003
【図２】
2013526225.tif 000004
【図３】
2013526225.tif 000005
【図４】
2013526225.tif 000006
【図５】
2013526225.tif 000007
【図６】
2013526225.tif 000008
【図７】
2013526225.tif 000009
【図８】
2013526225.tif 000010
【手続補正書】
【提出日】平成24年11月2日(2012.11.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インタフェースを介して伝送されるデータパケットを保護する方法において、
第１のデータパケット（３３６；４３６；７３６）の少なくとも一部分と、第２のデータパケット（３２４；４２４）の少なくとも一部分について、チェックナンバー（３２２；４３２）を求めるステップを有しており、
前記第１のデータパケットを、伝送プロトコルに従い第１のデータフレーム（３１１）内に配置し、前記第２のデータパケットを、該伝送プロトコルに従い第２のデータフレーム（３１２；４１３）内に配置することを特徴とする、
データパケットを保護する方法。
【請求項２】
前記チェックナンバー（３２２；４３２）を、前記第２のデータパケット（３２４；４２４）とともに前記第２のデータフレーム（３１２；４１３）内に配置し、前記第２のデータパケットとともに前記インタフェースを介して伝送する、請求項１記載の方法。
【請求項３】
前記第１のデータパケット（３３６）を前記インタフェースを介して受信し、前記第２のデータパケット（３２４；４２４）を該インタフェースを介して送信する、請求項１又は２記載の方法。
【請求項４】
前記第２のデータパケット（３２４）を、前記第１のデータパケット（３３６）に対する応答として送信し、該第１のデータパケットは識別データを有しており、該第１のデータパケットの一部分に前記識別データが含まれ、該第１のデータの一部分についてチェックナンバー（３２２）を求める、請求項３記載の方法。
【請求項５】
前記チェックナンバー（３２２）を、第２のデータパケット（３２４）においては全体について求めるが、前記第１のデータパケットにおいては一部分（７３６）についてのみ求める、請求項３又は４記載の方法。
【請求項６】
チェックナンバーを求める前記ステップにおいて、別のデータパケットについてチェックナンバー（４３２）を求め、該別のデータパケットを、前記第１のデータフレーム（３１１）と前記第２のデータフレーム（４１３）との間で別のデータフレーム内において前記インタフェースを介して伝送する、請求項１から５のいずれか１項記載の方法。
【請求項７】
前記別のデータパケットの個数を伝送プロトコルに従い変更可能であり、前記別のデータパケットの伝送をチェックイベントの発生に応じて中止し、該チェックイベントの発生に応じてチェックナンバー（４３２）を求め、第２のデータパケット（４３４）を伝送する、請求項６記載の方法。
【請求項８】
前記チェックイベントを、まえもって定められたデータパケットの受信によりトリガする、請求項７記載の方法。
【請求項９】
インタフェースを介して伝送されるデータパケットを保護する装置において、
第１のデータパケット（３３６；４３６；７３６）の少なくとも一部分と、第２のデータパケット（３２４；４２４）の少なくとも一部分について、チェックナンバー（３２２；４３２）を求める手段と、
前記第１のデータパケットを、伝送プロトコルに従い第１のデータフレーム（３１１）内に配置し、前記第２のデータパケットを、該伝送プロトコルに従い第２のデータフレーム（３１２；４１３）内に配置する手段と、
を備えることを特徴とする、データパケットを保護する装置。
【請求項１０】
プログラムコードを有するコンピュータプログラムにおいて、
コンピュータプログラムがコンピュータにおいて実行されると、請求項１から９のいずれか１項記載の方法を実施するためのプログラムコードを有するコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
図２には、応答と問い合わせが固有のチェックサムとともに１つのフレーム内で伝送されるＳＰＩフレームが示されている。ＳＰＩフレームは、アクティブなチップセレクト信号（ＣＳ）により規定される。このフレーム内で、マスタイン・スレーブアウトライン（ＭＩＳＯ）とマスタアウト・スレーブインライン（ＭＯＳＩ）を介してデータが伝送される。この実施例によれば、それぞれ１６ビットのデータが伝送され、マスタイン・スレーブアウトライン（ＭＩＳＯ）を介して伝送されるデータのうち最後の２つのビットは、他のデータパケット２２４に関するチェックナンバー２２２を成している。さらにこの実施例によれば、それぞれ１６ビットのデータが伝送され、マスタアウト・スレーブインライン（ＭＯＳＩ）を介して伝送されるデータのうち最後の２つのビットは、他のデータパケット２３４に関するチェックナンバー２３２を成している。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
ステップ８０１において、例えばセンサの一部である第１の通信装置が第１のデータパケットを受信する。第１のデータパケットを、例えば制御装置又はマイクロコントローラの一部である第２の通信装置から第１の通信装置へ伝達される問い合わせとすることができる。ステップ８０３において第１の通信装置は、第２の通信装置へ伝送するための第２のデータパケットを準備する。第２のデータパケットを、第１の通信装置が第２の通信装置の問い合わせに対するリアクションとして準備した応答とすることができる。ステップ８０５において第１の通信装置は、第１のデータパケットと第２のデータパケットについてチェックナンバーを求める。チェックナンバーを第２のデータパケットに付加情報として加えることができ、つまり第２のデータパケットをチェックナンバーによって拡張することができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
ステップ８０７において、チェックナンバーにより拡張された第２のデータパケットが、第１の通信装置から送信される。第２の通信装置は、第２のデータパケットを受信し、チェックナンバーを第２のデータパケットから抽出して評価する。この目的で第２の通信装置は、記憶されている第１のデータパケットのデータと受信した第２のデータパケットのデータとから、新たにチェックナンバーを求め、第２のデータパケットを介して受け取ったチェックナンバーと比較する。チェックナンバーが一致しているならば、第１のデータパケットも第２のデータパケットも第１の通信装置と第２の通信装置との間でエラーなく伝送されたものとすることができる。チェックナンバーを、第１の通信装置と第２の通信装置においてそれぞれ同じアルゴリズムを用いて求めることができる。
【国際調査報告】
2013526225.tif 000011
2013526225.tif 000012
2013526225.tif 000013
2013526225.tif 000014