(57)【要約】      （修正有）【課題】複数ネットワーク間のトラフィックを監視する際に、一部のみ選別して監視する。【解決手段】データ転送ユニット内、特にネットワークプロセッサ内でのデータセグメント４の更なる処理についてデータセグメント４を分類する方法である。データセグメント４が、入力インタフェース６によって提供される。ルックアップテーブルの第１の鍵が、予め設定された識別子（ｃｈｉｄ）に従って及びデータセグメント４をもたらす入力インタフェース６の識別子（ｄｅｖｉｄ）に従って定められる。ルックアップテーブルの第２の鍵が定められる。【選択図】図１
2015208003.tif 000002
【特許請求の範囲】
【請求項１】
データ転送ユニット（１８）内でのデータセグメント（４）の更なる処理について前記データセグメント（４）を分類する方法であって、前記データセグメント（４）は入力インタフェース（６）によって提供される、前記方法において、
ルックアップテーブル（３２）の第１の鍵（３０）が、予め設定された識別子（ｃｈｉｄ）に従って、及び、前記データセグメント（４）をもたらす前記入力インタフェース（６）の識別子（ｄｅｖｉｄ）に従って定められ、前記ルックアップテーブル（３２）の第２の鍵（３４）が定められることを特徴とする、方法。
【請求項２】
前記第１の鍵及び前記第２の鍵（３０、３４）に従って、前記データセグメント（４）の更なる処理のためのパラメータ（２０）が、前記ルックアップテーブル（３２）から定められる、請求項１に記載の方法。
【請求項３】
前記第２の鍵（３４）が、前記予め設定された識別子（ｃｈｉｄ）に従って定められる、請求項１又は２に記載の方法。
【請求項４】
複数のデータセグメント（４）を有するデータブロックの最初のデータセグメント（４）は、カプセル化ネットワークプロトコルのデータパケット（１０）のヘッダ情報（１２）を含み、前記第２の鍵（３４）は、前記ヘッダ情報（１２）に従って定められる、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記第２の鍵（３４）は、フレーム識別子（フレームＩＤ）に従って定められる、請求項４に記載の方法。
【請求項６】
前記第１の鍵及び前記第２の鍵（３０、３４）が、前記データブロックの前記最初のデータセグメント（４）のために格納され、前記格納された第１の鍵、並びに、前記格納された第１の鍵及び前記第２の鍵（３０、３４）に従って、前記複数のデータセグメント（４）の更なる処理のための前記パラメータ（２０）が、前記ルックアップテーブル（３２）から定められる、請求項４または５に記載の方法。
【請求項７】
前記カプセル化ネットワークプロトコルは、ＣＡＮ、ＦｌｅｘＲａｙ、ＸＣＰ、ＣＣＰ、及び／又はイーサネットである、請求項４又は５に記載の方法。
【請求項８】
前記ヘッダ情報（１２）の第１の部分（９６）に従って、第３の鍵（１０４）が定められ、前記ヘッダ情報（１２）の第２の部分（９８）に従って、第４の鍵（１１０）が定められ、第２の鍵（３４ｆ）として、前記第３の鍵又は前記第４の鍵（１０４；１１０）が選択される、請求項４〜７のいずれか１項に記載の方法。
【請求項９】
前記第３の鍵（１０４）の第１の重み（１１４）が定められ、前記第４の鍵（１１０）の第２の重み（１１４）が定められ、前記第１の重み（１１４）と前記第２の重み（１１４）との比較（１２６）に従って、前記第３の鍵又は前記第４の鍵（１０４；１１０）が、第２の鍵（３４ｆ）として選択される、請求項８に記載の方法。
【請求項１０】
前記ヘッダ情報（１２）の前記第１の部分（９６）に従って、第１の制御鍵（１０６）が定められ、前記ヘッダ情報（１２）の前記第２の部分（９８）に従って、第２の制御鍵（１１２）が定められ、前記第１の制御鍵又は前記第２の制御鍵（１０４；１１２）が選択される、請求項８又は９に記載の方法。
【請求項１１】
前記第１の重み（１１４）と前記第２の重み（１１４）との比較に従って、前記第１の制御鍵又は前記第２の制御鍵（１０４；１１２）が選択される、請求項１０に記載の方法。
【請求項１２】
前記選択された制御鍵（８０）に従って、制御テーブル（８２）に格納された鍵が第２の鍵（３４ｈ）として選択される、請求項１１に記載の方法。
【請求項１３】
前記データセグメント（４）の更なる処理のための前記パラメータ（２０）のうちの１つが、前記データセグメント（４）が書き込まれる待ち行列を識別する、請求項２〜１２のいずれか１項に記載の方法。
【請求項１４】
前記データセグメント（４）の更なる処理のための前記パラメータ（２０）のうちの１つが、前記データセグメント（４）が供給される処理ユニットを識別する、請求項２〜１３のいずれか１項に記載の方法。
【請求項１５】
前記第１の鍵（３０）に基づいて及び／又は前記第２の鍵（３４）に基づいて、前記データセグメント（４）の更なる処理のためのパラメータが、前記ルックアップテーブル（３２）から定められない場合、及び／又は、前記第１の部分（９６）及び／又は前記第２の部分（９８）に基づいて、第３の鍵又は第４の鍵（１０４；１１０）が定められない場合には、前記データセグメント（４）が破棄される、請求項８〜１４のいずれか１項に記載の方法。
【請求項１６】
ネットワークプロセッサ内での前記データセグメント（４）の更なる処理について前記データセグメント（４）を分類する方法である、請求項１〜１５のいずれか１項に記載の方法。
【請求項１７】
請求項１〜１６のいずれか１項に記載の方法を実施するよう構成された集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１の上位概念に係るデータセグメントの更なる処理についてデータセグメントを分類する方法に関する。
【背景技術】
【０００２】
例えばＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、コントローラエリアネットワーク）又はＦｌｅｘＲａｙのようなネットワークのための通信コントローラは、ネットワークトラフィックの一部のみ選別して監視するために、各データパケットのためにフィルタ機能を有しうることが知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ネットワーク接続装置又はゲートウェイ（Ｇａｔｅｗａｙ）のために、大きな通信マトリクスに基づいて、データメモリについて大きなコストを掛けて、データパケット−フィルタを実現することが可能である。特に、車両領域内のネットワークの種類の数が増え、部分ネットワークの数が増えることにより、様々なネットワーク間にフレキシブルなゲートウェイユニットを構築することが困難になる。
【課題を解決するための手段】
【０００４】
本発明の根底にある問題は、請求項１に記載の方法によって解決される。有利な発展形態は、従属請求項に示される。本発明にとって重要な特徴がさらに、以下の明細書及び図面において示される。上記特徴は、単独でも、組み合わせられても本発明にとって重要であるが、このことについては再度指摘しない。
【０００５】
ルックアップテーブルの第１の鍵と、ルックアップテーブルの第２の鍵と、が定められることにより、フレキシブルなアドレス空間が広がる。第１の鍵及び第２の鍵は、特に入力データユニットの識別子及び予め設定された識別子のために予約されたアドレス空間を指すことが有利である。
【０００６】
有利な実施形態において、第１の鍵及び第２の鍵に従って、データセグメントの更なる処理のためのパラメータが、ルックアップテーブルから定められ、これにより、ここではパラメータの形態でのホワイトリスト（ｗｈｉｔｅ  ｌｉｓｔ）に従ってデータセグメントの更なる処理を決定する透過フィルタが創出される。
【０００７】
有利な実施形態において、第２の鍵が、予め設定された識別子に従って定められ、これにより、第２の鍵が簡単に定められる。
【０００８】
有利な実施形態において、第２の鍵が、カプセル化ネットワークプロトコルのデータパケットのヘッダ情報に従って定められ、これにより、カプセル化ネットワークプロトコルに考慮してデータセグメントの分類が行われる。
【０００９】
有利な実施形態において、ヘッダ情報の第１の部分に従って、ルックアップテーブルの第３の鍵が定められ、ヘッダ情報の第２の部分に従って、ルックアップテーブルの第４の鍵が定められる。その後、第２の鍵として、第３の鍵又は第４の鍵が選択される。可能なヘッダ情報、特にヘッダ情報に含まれるアドレス情報の全ての順列を、対応する大きさのハッシュテーブルに写像する必要がないことが有利である。従って、蓄えられるデータに関する複雑性が減り、有限時間で終了する方法を創出することが可能である。この方法は、有利にハードウェアで実現することが可能であり、その際に、同時にデータに関するコストが削減される。
【００１０】
本方法の有利な構成において、制御鍵が定められ、制御鍵のうちの１つが選択される。選択された制御鍵に従って、第２の鍵が決定される。選択された制御鍵を介して第２の鍵を決定するという追加的な規則によって、提案する方法について衝突解消策が用意される。これにより有利に、事後ハッシュ化が行わなければならないかもしれないというようなことが回避され、本方法の、有限時間で終了する振る舞いが実現される。
【００１１】
有利な実施形態において、第１の鍵に基づいて及び／又は第２の鍵に基づいて、データセグメントの更なる処理のためのパラメータを、ルックアップテーブルから定めることが出来ない場合には、データセグメントが破棄される。従って有利に、穴があるフィルタ（Ｌｅａｋｙ−Ｆｉｌｔｅｒ、透過フィルタ）であって、ルックアップテーブルの形態によるホワイトリスト（Ｗｈｉｔｅ  Ｌｉｓｔ）を利用して、例えば予め設定された識別子と入力データユニットの識別子との特定の組み合わせによってデータセグメントが更に処理されることを予め設定する上記穴があるフィルタが創出される。ルックアップテーブル内にエントリが無いデータセグメントは破棄される。
【００１２】
本方法の全ての特徴は、本方法が、有限時間で終了するよう実施されるように構成され、従って、集積回路としてのハードウェア実現が可能となる。
【００１３】
本発明の更なる特徴、適用の可能性、及び利点は、図面に示される本発明の実施例についての以下の明細書の記載から明らかとなろう。記載され及び提示される全ての特徴は、それ自体が、又は、任意の組み合わせにおいて、特許請求項の範囲、及び、特許請求項の関連における上記特徴についての要約とは独立して、及び、明細書及び図面における上記特徴についての記述又は記載とは独立して、本発明の主題となる。機能的に等価の値及び特徴には、全ての図面において、実施形態が異なる場合にも同一の符号が付される。
【００１４】
以下では、本発明の実施形態の例が図面を参照しながら解説される。
【図面の簡単な説明】
【００１５】
【図１】概略的なブロック図を示す。
【図２】概略的なブロック図を示す。
【図３】概略的なブロック図を示す。
【図４】概略的なフローチャートを示す。
【図５】概略的なフローチャートを示す。
【図６】概略的なブロック図を示す。
【図７】概略的なブロック図を示す。
【発明を実施するための形態】
【００１６】
図１は、概略的なブロック図２を示している。データセグメント４が、入力インタフェース６によって提供される。データセグメント４は、チャネル識別子（ｃｈａｎｎｅｌ  ｉｄｅｎｔｉｆｉｅｒ）とも呼ばれる予め設定された識別子ｃｈｉｄを含む。さらに、データセグメント４は、入力インタフェース６の識別子ｄｅｖｉｄを含む。さらに、データセグメント４はデータ領域８を含み、このデータ領域８は、データセグメント４のペイロード（Ｐａｙｌｏａｄ）とも呼ばれる。さらに、データセグメント４は更なる別の情報を有してもよく、例えば、複数のデータセグメント４を含むデータブロックの一部としてのデータセグメント４の位置についての情報を有してもよい。
【００１７】
カプセル化ネットワークプロトコルのデータパケット１０は、ヘッダ情報１２と、データ領域１４と、を含む。図１で示すように、データセグメント４のデータ領域８は、データパケット１０の一部分のみ含む。例えば、図１のデータセグメント４は、データパケット１０の伝送のための複数のデータセグメント４の最初のセグメントである。
【００１８】
ブロック１６には、予め合意された識別子ｃｈｉｄと、入力インタフェース６の識別子ｄｅｖｉｄと、最初のデータセグメント４の場合には、データパケット１０のヘッダ情報１２と、が供給される。供給された値に従って、ブロック１６は、データセグメント４の更なる処理のためのパラメータを、以下に解説するルックアップテーブルから定める。これにより、ブロック１６は、データ転送ユニット内、特にネットワークプロセッサ内でのデータセグメント４の更なる処理について当該データセグメント４を分類し、その際に、データ転送ユニットは、少なくともブロック１６とブロック１８とを備え、その際に、ブロック１８には、パラメータ２０と、対応するデータセグメント４と、が供給される。矢印２２に従って、ブロック１８は、パラメータ２０がそのために定められたデータセグメント４を、示されない１つ以上の出力インタフェースへと転送する。
【００１９】
データパケット１０は、例えば、ＣＡＮデータパケット、ＦｌｅｘＲａｙデータパケット、ＸＣＰデータパケット（ｕｎｉｖｅｒｓａｌ  ｍｅａｓｕｒｅｍｅｎｔ  ｃａｌｉｂｒａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）、ＣＣＰデータパケット（ＣＡＮ  ｃａｌｉｂｒａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）、又は、イーサネットデータパケットであってもよい。当然のことながら、この関連において、ここでは挙げない更なる別のネットワークプロトコルが想定される。
【００２０】
パラメータ２０のうちの１つが、例えば、データセグメント４の更なる処理のためにブロック１８内で待ち行列を識別する。パラメータ２０のうちの１つが、例えば、データセグメント４の更なる処理のためにブロック１８内で、データセグメントが供給される処理ユニットを識別する。
【００２１】
ブロック１６が、データセグメント４の形態による入力に応じてパラメータ２０の形態による出力を、有限時間で終了するよう生成し、即ち有限個の処理工程において生成するように、ここで記載される全ての方法は構成されていることが有利である。
【００２２】
図２は、ブロック１６の一部を概略的なブロック図で示している。ブロック１６は、データセグメントの更なる処理のためのパラメータを定めることで、データセグメントをその更なる処理について分類する。当然のことながら、個々のデータセグメントの分類には、複数のデータセグメントを有するデータブロックの分類も含まれる。従って、例えば、以下に解説するように、データブロックの最初のデータセグメント内のヘッダ情報は、有利に、データブロックの最初のデータセグメントの後に続くデータセグメントの更なる処理のためにも適用される対応するパラメータを定めるために利用されてもよい。
【００２３】
ブロック２４には、予め設定された識別子ｃｈｉｄと、入力インタフェース６の識別子ｄｅｖｉｄと、が供給される。予め設定された識別子ｃｈｉｄと、入力インタフェース６の識別子ｄｅｖｉｄと、に従って、ブロック２４の出力値が生成される。ブロック２４は、第１の予め構成可能なテーブル２６と、第２の予め構成可能なテーブル２８と、にアクセスする。第１のケースでは、テーブル２６を利用して、入力インタフェース６の識別子ｄｅｖｉｄによって、第１の鍵３０を定めることが可能である。他のケースでは、識別子ｄｅｖｉｄに加えて、予め合意された識別子ｃｈｉｄを利用して、テーブル２８を介して、入力インタフェース６の識別子ｄｅｖｉｄ及び予め合意された識別子ｃｈｉｄに従って、第１の鍵３０を定めることが可能である。第１の鍵３０を介して、例えば、ルックアップテーブル３２内のメモリ領域であって、入力インタフェース６のうちの１つに割り当てられ、又は入力インタフェース６のうちの１つ及び予め合意された識別子ｃｈｉｄに割り当てられた上記メモリ領域をアドレス指定することが可能である。
【００２４】
領域３４には、第１の鍵３０と第２の鍵３４とが供給される。第１の鍵３０及び第２の鍵３４から、例えば第１の鍵３０と第２の鍵３４とを加算することによって、ルックアップ鍵３６が生成される。この加算においては、第２の鍵３４は、例えば、第１の鍵３０に対するオフセットである。当然のことながら、ルックアップ鍵３６を定めるために、他の形態による第１の鍵３０と第２の鍵３４の結合も考えられる。
【００２５】
ブロック４０は、ルックアップ鍵３６に従って、予め合意可能なルックアップテーブル３２にアクセスし、ルックアップテーブル３２から、加工中のデータセグメント４の更なる処理のためのパラメータ２０を定める。情報８４を介して、注目するデータセグメント４が、データブロック又はデータパケットの最後のデータセグメント４、又は真ん中のデータセグメント４、又は最初のデータセグメント４であるかについてブロック４０に報知される。ブロック４０が、供給されたルックアップ鍵３６のためにルックアップテーブル３２において、データセグメント４の更なる処理のためのパラメータ２０を定めることが出来ない場合には、そのデータセグメント４は更に処理されずに破棄される。事前設定によってルックアップテーブル３２で把握されないデータセグメント４を破棄することによって、各ネットワーク領域内で入力インタフェース６の前にフィルタ要素を設ける必要はないことが有利であり、様々な部分ネットワーク又は様々な種類のネットワークのデータストリームのフィルタリングを、ブロック１６によって中央で集中的に行うことが可能であることが有利である。加えて、ブロック１６がハードウェアで実装されることは、更なる別の改良である。
【００２６】
信号４２に従って、ブロック４４のどの入力信号が第２の鍵３４として転送されるのかについて、ブロック４４にシグナリングされる。
【００２７】
ブロック４６は、予め設定された識別子ｃｈｉｄに従って第２の鍵３４ａを定める。
【００２８】
ブロック４８は、データパケット１０のヘッダ情報１２に従って、及び、信号５２に従って、第２の鍵３４ｂを生成し、その際に、信号５２はブロック２４により生成され、ヘッダ情報１２のどの範囲を評価すべきかについてブロック４８に報知する。
【００２９】
ブロック５０は、ＸＣＰ（ｕｎｉｖｅｒｓａｌ  ｍｅａｓｕｒｅｍｅｎｔ  ｃａｌｉｂｒａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）のためのＸＣＰ分類器である。ブロック２４は信号５４を介してブロック５０に、データ内のどの位置にＸＣＰヘッダが存在するのかについて報知する。というのは、ＸＣＰは、例えばイーサネット、ＣＡＮ、又はＦｌｅｘＲａｙを介して伝送され、従って、ネットワークの種類ごとにヘッダ情報１２が異なっており、ＸＣＰヘッダの位置も、他の位置又は異なる位置にあるからである。信号５６を介してブロック５０には、ヘッダ１２内でのＸＣＰヘッダの開始位置に関する情報、及び、ＸＣＰヘッダの符号化に関する情報が伝達される。信号５８に従って、ブロック５０が、第２の鍵３４ｃの生成のために選択される。
【００３０】
ブロック６０は、ヘッダ１２と、第２の鍵３４ｄの生成のためにブロック６０を選択する信号６２と、に従って第２の鍵３４ｄを生成する。ブロック６０は、ＣＣＰプロトコル（ＣＡＮ  ｃａｌｉｂｒａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）のためのヘッダ情報１２から第２の鍵３４ｄを生成する。
【００３１】
ブロック６４は、第２の鍵３４の生成及び選択のために役立つ。特に、ヘッダ情報１２の評価によって、第２の鍵３４が生成される。有利に、ｄｅｖｉｄと、ｃｈｉｄと、ヘッダ情報１２と、パラメータ２０、即ち、ルックアップテーブル３２内のエントリと、の間に一意の相関関係が形成可能であるように、ヘッダ情報１２からのフレームＩＤ（データフレーム識別子）、特に、ヘッダ情報１２内の発信元アドレス及び／又は宛先アドレスが評価されうる。
【００３２】
ブロック６６には、ブロック６８とブロック７０とが含まれている。ブロック６８は、第３のテーブル７２と第４のテーブル７４にアクセスする。ブロック６８は、第２の鍵３４ｅを生成する。ブロック２４は信号７６を介してブロック６８に、当該ブロック６８がどのモードで第２の鍵３４ｅを生成すべきかについての情報を供給する。
【００３３】
ブロック２４はテーブル２８を利用して、複数の仮想的な入力インタフェースのうちの１つを表す信号７８を生成する。信号７８に従ってブロック７０には、仮想的な入力インタフェースを利用すべきであることが報知される。
【００３４】
ブロック６８は、調査されるプロトコルのヘッダ情報である更なる別のヘッダ情報１２ａを生成する。さらに、ブロック６８は、ブロック７０のための制御鍵８０を生成する。ブロック７０は、制御テーブル８２にアクセスする。
【００３５】
図３は、ブロック６８の一部を概略的なブロック図で示している。ヘッダ情報１２と、信号７６と、に従って、ヘッダ情報１２ａが生成される。ヘッダ情報１２ａは、ブロック８８及び９０に供給され、その際に、ブロック８８は、予め構成可能なマスク９２を利用して第１の部分９６を生成し、ブロック９０は、予め構成可能なマスク９４を利用して第２の部分９８を生成する。第１の部分９６は、例えば、ヘッダ１２ａの、前半部分の範囲に対応し、第２の部分９８は、ヘッダ１２ａの、後半部分の範囲に対応する。第１の部分９６に従って、ブロック１００は、予め設定されたテーブル７２から第３の鍵１０４と、第１の制御鍵１０６と、を定める。ブロック１０８は、第２の部分９８に従って、予め設定可能なテーブル７４から、第４の鍵１１０と、第２の制御鍵１１２と、を定める。
【００３６】
信号１１４に従って、注目するデータセグメント４にとってはブロック１００とブロック１０８との間の重みを意味する重みが、テーブル７２及びテーブル７４から読み出される。ブロック１１６は信号１１４に係る重みを利用して、鍵１０４と鍵１１０とのどちらが第２の鍵３４ｆとしてブロック１１８に転送されるのかを決定する。さらに、ブロック１１６は、信号１１４に係る重みを利用して、制御鍵１０６と制御鍵１１２とのどちらが選択された制御鍵８０として転送されるのかを決定する。予め設定可能なブロック１２０は、ヘッダ情報１２に基づいて、例えばデータパケット１０の種別情報を利用して、第２の鍵３４ｇを生成する。さらにブロック１１８には、ブロック７０により生成される第２の鍵３４ｈが供給される。ブロック１１８は、第２の鍵３４ｆ、３４ｇ、３４ｈの中から、第２の鍵３４ｅとして転送するための鍵を選択する。
【００３７】
図４は、第２の鍵３４ｆを生成するためのブロック１１６の一部として、概略的なフロー図を示している。有効な第３の鍵１０４がテーブル７２から定められる場合には、比較１２２の箇所から比較１２４の箇所に移る。比較１２４の箇所では、第４の鍵１１０が、テーブル７４から有効なやり方で生成されたかどうかが検査される。第４の鍵１１０が有効なやり方で生成された場合には、比較１２４の箇所から比較１２６の箇所に移る。比較１２６の箇所では、ブロック１００に関するテーブル７２からの重みと、ブロック１０８に関するテーブル７４からの重みと、が互いに比較される。ブロック１００に関する重みが、ブロック１０８に関する重みよりも大きい場合には、ブロック１２８に従って、第３の鍵１０４が第２の鍵３４ｆとしてブロック１１８に転送される。比較１２６において、ブロック１０８に関する重みの方が大きい場合には、ブロック１３０に従って、第４の鍵１０４が第２の鍵３４ｆとして転送される。比較１２４の箇所で、有効な第４の鍵１１０がテーブル７４から定められなかった場合には、ブロック１３２に従って、第３の鍵１０４が第２の鍵３４ｆとして転送される。比較１２２の箇所で、有効な第３の鍵１０４がテーブル７２から定められなかった場合には、比較１３４の箇所に移る。比較１３４の箇所では、有効な鍵１１０がテーブル７４から定められたかどうかが検査される。有効な第４の鍵１１０がテーブル７４から定められた場合には、ブロック１３６に従って、第４の鍵１１０が、第２の鍵３４ｆとして転送される。比較１３４の箇所で有効な鍵１１０がテーブル７４から定められなかった場合には、ブロック１４０に従って、セグメント４が破棄される。
【００３８】
図４と同じ原則に従って、制御鍵８０を定めるために処理が行われる。従って、ブロック１２８に従って、第１の制御鍵１０６が、選択された制御鍵８０として転送され、及び、ブロック１３２に従って、第１の制御鍵１０６が、選択された制御鍵８０として転送される。ブロック１４０に従って、制御鍵８０は選択されず、対応するデータセグメント４が破棄される。
【００３９】
図５は、図３のブロック１１８の一部として、概略的なフロー図を示している。１４２の箇所では、予め設定可能なブロック１２０が、有効なやり方で第２の鍵３４ｇを生成したかどうかが検査される。第２の鍵３４ｇが有効なやり方で生成された場合には、ブロック１４４に従って、第２の鍵３４ｇが、第２の鍵３４ｅとして転送される。１４２の箇所で、有効な第２の鍵３４ｆが存在しないことが確認される場合には、１４６の箇所に移る。１４６の箇所では、有効な第２の鍵３４ｆが存在するかどうかが検査される。有効な第２の鍵３４ｆが存在しない場合には、ブロック１４８に従って、データセグメント４が破棄される。有効な第２の鍵３４ｆが存在する場合には、１５０の箇所に移る。１５０の箇所では、有効な制御鍵８０が生成されたかどうかが検査される。有効な制御鍵８０が生成されなかった場合には、ブロック１５２に従って、第２の鍵３４ｆが、第２の鍵３４ｅとして選択されて転送される。有効な制御鍵８０が生成された場合には、１５４の箇所に移る。１５４の箇所で、有効な第２の鍵３４ｈが生成されたことが確認される場合には、ブロック１５６に従って、この有効な第２の鍵３４ｈが第２の鍵３４ｅとして転送される。１５４の箇所で、有効な第２の鍵３４ｈが生成されなかったことが確認される場合には、ブロック１５８に従って、第２の鍵３４ｆが第２の鍵３４ｅとして転送される。
【００４０】
先に有効な値について述べる場合、「有効な」（ｇｕｅｌｔｉｇ）という文言は、各予め設定されたテーブルにおいて対応するエントリが見つかったということを意味している。
【００４１】
図６は、図２のブロック７０の一部として、概略的なブロック図を示している。ブロック７０は、テーブル８２から、供給された制御鍵８０に従って、当該制御鍵８０と合うエントリ１６０及び１６２を定める。ブロック１６４は、エントリ１６０及び１６２と、供給されたヘッダ情報１２ａと、に従って、出力値３４ｈ、５８、６２、並びに、更なる別の値１６６及び１６８を定めるための処理を実行する。例えば、エントリ１６０はビットマスクを含んでもよく、このビットマスクは、論理積によってヘッダ情報１２ａと結合される。当該結合の結果が、エントリ１６０に係り伝達される値と一致する場合には、付属するエントリ１６２から、例えば、第２の鍵３４ｈがブロック６８に伝達される。さらに、エントリ１６２は、出力５８及び６２のための対応する値を含んでもよい。
【００４２】
これに対して、ヘッダ情報１２ａと、エントリ１６０からの対応するマスクと、の論理積の結果に対して、テーブル８２内に対応する値が存在しない場合には、ブロック１６４は有効な出力値を生成しない。ブロック７０のブロック図によって、ヘッダ情報１２ａから、テーブル７２及び７４を設けたにも関わらずハッシュ処理に関して未だに衝突が発生するというケースが解消されることが有利であり、第２の鍵３４ｈが定められる。これにより、事後ハッシュ化が避けられ、ハードウェアに基づく解決策が、ブロック７０によって可能である。対応して、テーブル８２を事前に設定する必要があるが、これにより、テーブル７２及び７４の容量が低減される。
【００４３】
図７は、ブロック４０の一部を概略的なブロック図で示している。ルックアップテーブル３２から、ルックアップ鍵３６と合うパラメータ２０ａが、ブロック１７０へと伝達される。ブロック１７０は、信号１７２を利用して、パラメータ２０ｃと２０ｄのうちのどちらがパラメータ２０として転送されるのかを伝える。データセグメント４が、唯一のデータセグメント４、即ち最初であり最後のデータセグメント４である場合には、パラメータ２０ａは、ブロック１７０によって、パラメータ２０ｃとしてブロック１７４に転送され、ブロック１７４によって、パラメータ２０として転送される。
【００４４】
これに対して、信号８４に従って、データセグメント４が、データブロック及び／又はデータパケット１０に割り当てられた複数のデータセグメント４のうちの最初のデータセグメント４である場合には、ブロック３４、６６、及び６４を介して生成されたルックアップ鍵３６が、一時メモリ１７６に格納される。従って、最初のデータセグメント４の後に続くデータセグメント４のために、ブロック３４、６６、及び６４の結果をルックアップ鍵３６の形態により再利用することが可能である。代替的に、パラメータ２０ａは、一時メモリ１７６に一時的に格納されて、真ん中のデータセグメント４及び最後のデータセグメント４のために再利用される。信号７８は、仮想的な入力インタフェースに従って、一時メモリ１７６内の対応するエントリを指し、これにより、ブロック１７０は、パラメータ２０ｄに従って、ルックアップテーブル３２から上記エントリを獲得し、パラメータ２０として転送することが可能である。
【図１】
2015208003.tif 000003
【図２】
2015208003.tif 000004
【図３】
2015208003.tif 000005
【図４】
2015208003.tif 000006
【図５】
2015208003.tif 000007
【図６】
2015208003.tif 000008
【図７】
2015208003.tif 000009