(57)【要約】フレーマとネットワークプロセッサとの間のインラインのセキュリティプロセッサによってＩＰｓｅｃネットワークトラフィックをトランスペアレントに処理する方法と装置。セキュリティプロセッサは、パケットのヘッダと末尾情報を構文解析して、暗号化又は復号が必要かどうかを判定する。暗号化又は復号が完了すると、パケットのヘッダと末尾情報は、パケットの長さなどのパケットの変更を反映するように修正される。修正されたパケットは、ネットワークプロセッサ又はフレーマに渡される。
2006524959.tif 000002
【特許請求の範囲】
【請求項１】
フレーマとネットワークプロセッサの間でインラインであり、他のいずれかのプロトコル層を終了させることなくＩＰｓｅｃプロトコル層を処理するセキュリティプロセッサを含む装置。
【請求項２】
前記セキュリティプロセッサは、ＩＰｓｅｃプロトコル層を復号することを特徴とする請求項１に記載の装置。
【請求項３】
前記セキュリティプロセッサは、暗号化ＩＰＳＥＣプロトコル層を生成することを特徴とする請求項１に記載の装置。
【請求項４】
パケットのプロトコルタイプを決定するための第１回路と、
前記第１回路に結合された、前記パケットの暗号化プロトコル層を復号するための少なくとも１つの実行ユニットと、
復号後にプロトコル層データを修正するための第２回路と、
フレーマと通信するために前記第２回路に結合された第３回路と
を含む装置。
【請求項５】
パケットが暗号化プロトコル層を包含しているかどうかを判定するために前記第１回路に結合された第４回路を更に含むことを特徴とする請求項４に記載の装置。
【請求項６】
前記第１回路は、前記パケットを構文解析して少なくとも１つのレベル２プロトコルタイプを求めることを特徴とする請求項４に記載の装置。
【請求項７】
前記第１回路は、前記パケットを構文解析して少なくとも１つのレベル３プロトコルタイプを求めることを特徴とする請求項４に記載の装置。
【請求項８】
前記第３回路は、前記フレーマから前記パケットを受信することを特徴とする請求項４に記載の装置。
【請求項９】
前記第３回路は、前記フレーマから前記パケットを送信することを特徴とする請求項４に記載の装置。
【請求項１０】
ネットワークプロセッサと通信するために前記第２回路に結合された第４回路を更に含むことを特徴とする請求項４に記載の装置。
【請求項１１】
前記第２回路は、プロトコル層における長さデータを変更することを特徴とする請求項４に記載の装置。
【請求項１２】
メモリデバイスからセキュリティアソシエーション文脈を検索するために前記少なくとも１つの実行ユニットに結合された第５回路を更に含むことを特徴とする請求項４に記載の装置。
【請求項１３】
パケットを受信する段階と、
前記パケットを構文解析して前記パケットにおいてレベル２プロトコル情報を求める段階と、
ＩＰｓｅｃプロトコル層を処理する段階と、
ヘッダ情報を修正するよう前記パケットを変更する段階と、
パケットをフレーマデバイスに送る段階と
を含む方法。
【請求項１４】
前記ＩＰｓｅｃプロトコル層の処理段階は、前記ＩＰｓｅｃプロトコル層を復号する段階を含む請求項１３に記載の方法。
【請求項１５】
前記ＩＰｓｅｃプロトコル層の処理段階は、前記ＩＰｓｅｃプロトコル層を暗号化する段階を含む請求項１３に記載の方法。
【請求項１６】
パケットを受信する手段と、
前記パケットを構文解析して前記パケットにおける前記レベル２プロトコル情報を求める手段と、
ＩＰｓｅｃプロトコル層を処理する手段と、
処理後にプロトコル層情報を修正する手段と、
パケットをフレーマデバイスに送る手段と
を含む装置。
【請求項１７】
メモリデバイスからセキュリティアソシエーション文脈を検索する手段を更に含む請求項１６に記載の方法。
【請求項１８】
プロトコル層情報を修正する前記手段は、構文解析された情報と前記ＩＰｓｅｃプロトコル層の処理後に修正された情報とから前記パケットのレベル２プロトコル情報を作成することを含む請求項１６に記載の方法。
【請求項１９】
フレーマデバイスと、
ネットワークプロセッサと、
前記フレーマデバイスと前記ネットワークプロセッサの間を結合する、他のいずれかのプロトコル層をも終了させることなくＩＰｓｅｃプロトコル層を処理するセキュリティプロセッサと
を含むシステム。
【請求項２０】
前記セキュリティプロセッサに結合された、セキュリティアソシエーション文脈データを記憶するためのメモリデバイスを更に含むことを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記セキュリティプロセッサは、前記ＩＰｓｅｃプロトコル層を復号することを特徴とする請求項１９に記載のシステム。
【請求項２２】
機械によって実行されたときに、前記機械に、
前記パケットに含まれるプロトコル層のタイプを求めるようフレーマデバイスから受信されたパケットを処理し、
ＩＰｓｅｃプロトコル層を復号するために前記パケットを処理し、
復号されたＩＰプロトコル層と該復号されたＩＰプロトコル層に基づくプロトコル層情報とを含むよう前記パケットを修正する、
ことを含むオペレーションを実行させる命令を提供する機械可読媒体。
【請求項２３】
前記パケットの前記修正段階は、前記復号されたＩＰプロトコル層のサイズを含む長さによってレベル２プロトコル層情報を作成する段階を含む請求項２２に記載の機械可読媒体。
【請求項２４】
修正されたパケットをネットワークプロセッサに送ることを更に含む請求項２２に記載の機械可読媒体。
【請求項２５】
復号されたＩＰプロトコル層を含む修正されたパケットのＣＲＣフィールドを作成することを更に含む請求項２２に記載の機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク処理の分野に関する。具体的には、本発明は、フレーマデバイスとネットワークプロセッサとの間のセキュリティプロセッサによるネットワークトラフィックのインライン処理に関する。
【背景技術】
【０００２】
通信ネットワーク並びにこれらのネットワークのユーザ数が増え続けている。インターネットによる企業対企業及び企業対消費者の両方を包含するオンライン販売が急増している。更に、在宅勤務者の数も増加している。オンライン販売と在宅勤務の両方は、種々の通信ネットワーク間の送信中に保護する必要のあるプライベートデータや感知可能データを通常伴う通信ネットワークの利用の実施例である。
【０００３】
従って、セキュリティプロトコル（例えば、トランスポートレイヤセキュリティ（ＴＬＳ）、セキュアソケットレイヤ（ＳＳＬ）３．０、インターネットプロトコルセキュリティ（ＩＰＳｅｃ）など）は、遠隔にあるシステム間のセキュアセッションを確立するために開発されてきた。これらのセキュリティプロトコルは、メッセージ交換や計算によってセキュアセッションを確立するための遠隔システムのための方法を提供し、これによって、種々の通信ネットワークにわたって送信されている感知可能データがセキュリティ及び／又は改竄防止性の尺度を有することができるようになる。
【０００４】
これらのセキュリティプロトコルは、機械とネットワークデバイスとの間で送られたメッセージのコンテンツを保護するために暗号化を利用する。幾つかの事例では、メッセージを扱うネットワークデバイスが、メッセージの宛先を判定するようなメッセージを処理するために、メッセージの少なくとも一部を復号する必要がある。復号アルゴリズムは、有意な処理資源を必要とすることが多い。これは、ネットワークデバイスのネットワークプロセッサに負担をかける。ネットワークプロセッサはフレーマから着信パケットを受信することが多い。フレーマは、ＩＥＥＥ８０２．３によって規定されるイーサネット（登録商標）フレームなどの標準フォーマットのフレームを受信するよう設計されたデバイスである。フレーミングデバイスは通常、フレームを受信し、送信する以外はほとんど何もできない簡単な回路である。
【発明の開示】
【０００５】
ＩＰｓｅｃは、アクセス制御、保全性、認証、再生に対する保護、機密保持及び類似のサービスを含むセキュリティサービスを提供するインターネットプロトコル（ＩＰ）ネットワーキング用のセキュリティフレームワークである。ＩＰｓｅｃは、そのサービスを実施するためにセキュリティアソシエーション（ＳＡ）を利用する。ＳＡは、セキュリティサービスの１つまたはそれ以上によって保護されるシンプレックス接続である。ＳＡは、ホストのペア間、又はホストとルータのようなセキュリティゲートウェイとの間、或いはゲートウェイのペア間で確立される。ＳＡのようなＳＡのペアから成る２つのピア間のＩＰｓｅｃ接続は、単方向である。ＳＡは、ＩＰｓｅｃパケットのセキュリティサービスを実行するのに必要とされる情報の全てを包含する。生成時には、ＳＡは、受信している機械によってセキュリティパラメータインデックス（ＳＰＩ）が割り当てられる。ＳＰＩと宛先ＩＰアドレスとの組合せは、ＳＡを一意的に識別する。受信しているホストは、この情報を使用して、着信パケットがどのＳＡに属するか、従ってパケットに適用される復号とパケット処理のアルゴリズムはどれであるかを決定する。送信側では、ホストは、ＩＰヘッダ情報に基づいてルックアップを実行し、暗号化及びパケット処理のために使用されるＳＡを見つけ出す。
【発明を実施するための最良の形態】
【０００６】
本発明の実施形態は、同じ参照符号が同様の要素を示す添付図面の図において例示として示され、限定として示されるものではない。本開示における「ある」又は「１つの」実施形態への言及は、必ずしも同じ実施形態である必要はなく、これらの言及は少なくとも１つを意味する点に留意されたい。
【０００７】
図１は、ネットワークデバイス１００のブロック図である。ネットワークデバイス１００は、イーサネットトークンリング、又は類似のネットワークのような物理層１０９に接続されたフレーマデバイス１０１を含む。フレーマ１０１は、物理層接続１０９を介してフレームを送受信することができる。フレーマ１０１は、セキュリティプロセッサ１０３に直接接続される。セキュリティプロセッサ１０３は、フレーマ１０１からパケットを受信してこれを調べ、該パケットがネットワークプロセッサ１０５に渡される前に復号を必要とする暗号化データを含むかどうかを判定する。セキュリティプロセッサ１０３は、メモリデバイス１０７のセットに接続される。メモリデバイス１０７は、パケットの処理に関するオペレーションを実行し且つパケットの処理に関係するデータを記憶するワーキングメモリとして機能することができる。
【０００８】
ネットワークプロセッサ１０５は、フレーマ１０１からの着信パケットを調べて転送する必要があるかどうかを判定し、更にコンピュータシステム又はスイッチファブリックからフレーマ１０１と物理接続１０９を介してアウトバンドされるパケットを受信する。ネットワークプロセッサ１０５は、バス１１１又は類似の通信媒体を介してネットワークデバイスのスイッチファブリックに接続することができる。別の実施形態において、ネットワークプロセッサは、コンピュータシステム又は類似のシステムの一部とすることができる。
【０００９】
インバウンドパケットは、フレーマ１０１からセキュリティプロセッサ１０３に流れ込む。セキュリティプロセッサ１０３は、必要な場合にパケットを復号し、該パケットをネットワークプロセッサ１０５に転送する。アウトバウンドパケットは、ネットワークプロセッサ１０５から、パケットを暗号化するセキュリティプロセッサ１０３に流れることが多い。次いで、セキュリティプロセッサ１０３は、暗号化されたパケットをフレーマ１０１に転送し、物理層１０９を介して送信する。
【００１０】
１つの実施形態において、セキュリティプロセッサ１０３は、フレーマ１０１とネットワークプロセッサ１０５とのマルチポートＳＰＩインターフェースを扱うことができる。別の実施形態において、セキュリティプロセッサは、ＰＣＩ、ＰＣＩ−Ｅｘｐｒｅｓｓ、又は類似のシステムのような他のバス又は入力機構からの入力を受信することができる。セキュリティプロセッサ１０３は、ＩＰｖ４とＩＰｖ６のＥＳＰ／ＡＨや、ＵＤＰ−エンキャプスレートＥＳＰ、トンネリング、トランスポートを含むＩＰｖ４及びＩＰｖ６変換を実行できる。セキュリティプロセッサ１０３は、ＩＰｓｅｃ例外検出を実行でき、セキュリティプロセッサ１０３でのトラフィックと処理の統計を累算することができる。セキュリティプロセッサ１０３は、半二重通信方式又は全二重通信方式で用いることができる。１つの実施形態において、別のネットワークプロセッサが、例えば非同期転送モード（ＡＴＭ）装置によるセグメンテーションと再組立て（ＳＡＲ）を行うために、セキュリティプロセッサ１０３とフレーマ１０１の間に配置される。
【００１１】
ＩＰｓｅｃトラフィックを扱う場合、セキュリティプロセッサ１０３は、２つの発信元のいずれか１つからの完全なセキュリティアソシエーション（ＳＡ）情報、すなわち入力パケットの要求ヘッダを利用する。これは、完全なセキュリティアソシエーションコンテキストを直接、及び宛先が一致するＩＰｓｅｃ復号でのインバウンドパケットのセキュリティパラメータインデックス（ＳＰＩ）値から指定することができる。
【００１２】
図２Ａは、セキュリティプロセッサ１０３によるパケットのトランスペアレント処理を示すブロック図である。１つの実施形態において、セキュリティプロセッサは、フレーマ１０１と残りのシステム２５０で「インライン」である。このシステムは、ネットワークデバイス、コンピュータシステム、又は類似のシステムとすることができる。フレーマ１０１とシステム２５０は、標準ＩＰやＩＰｓｅｃパケットを送受信するよう構成されている。パケットＡ、Ｂは、フレーマ１０１及びネットワーク上の次の送信に向かうアウトバウンドパケットである。パケットＣ、Ｄは、フレーマ１０１によって受信されたインバウンドパケットであり、システム２５０に向けられる。
【００１３】
１つの実施形態において、セキュリティプロセッサ１０３は、インバウンドＩＰｓｅｃパケットを標準ＩＰパケットに変換し、アウトバウンドＩＰパケットをＩＰｓｅｃパケットに変換する。別の実施形態において、セキュリティプロセッサは、ＩＰｓｅｃ−ＩＰ又はＩＰ−ＩＰｓｅｃ変換が必要とされる構成要素間の通信のライン上のどの位置にも位置することができる。セキュリティプロセッサ１０３は、その変換プロセスがトランスペアレントであり、他のプロトコル層を終了させないので、「インライン」に位置付けることができる。従って、他のパケットデータは、変換プロセスによって破損されることはなく、パケットは、変換プロセスにおいていずれのアドレス指定又はメタデータ（例えばセグメント長）も失うことはない。
【００１４】
例えば、着信パケットＡ、Ｂは、ヘッダ（ＨＤＲ）情報、ＩＰｓｅｃセグメント、末尾データを含む。これらのパケットは、ＩＰｓｅｃセグメントを標準ＩＰに変換し、これらの宛先まで持続させるようにセキュリティプロセッサ１０３によって処理される。他のプロトコル層のヘッダと末尾データは終了されず、すなわち失われるか或いは除去される。逆に、プロトコル情報は維持され、必要な場合は、変換プロセス中の長さとコンテンツの変更に起因するパケット破損を防ぐために更新される。パケットＡ’、Ｂ’は、パケットＡ、ＢのＩＰｓｅｃセグメントから復号されたＩＰセグメントを含む。Ａ’、Ｂ’のヘッダと末尾データは、他のプロトコル層を終了させることなくどのような必要な変更も反映するよう更新される。
【００１５】
同様に、パケットＣ、Ｄは、パケットＣ’、Ｄ’を生成するためにセキュリティプロセッサ１０３によって暗号化されるアウトバウンドＩＰパケットである。Ｃ’、Ｄ’は、パケットＣ、ＤのＩＰセグメントデータを暗号化するＩＰｓｅｃセグメントを含む。Ｃ’、Ｄ’は、各パケットのサイズとコンテンツの変更を反映するために修正することができるヘッダデータと末尾データを維持する。フレーマ１０１は、パケットが元々は標準ＩＰ形式であったという知識を必要とせずに、パケットＣ’、Ｄ’を送受信することができる。
【００１６】
図２Ｂは、ネットワーク経路の各端部においてフレーマ１０１と隣接するセキュリティプロセッサ１０３を有する例示的なネットワークシステムを示す。パケットＡは、第１コンピュータシステム又はネットワークデバイスから第２システム又はネットワークデバイスへまで、ネットワーク、例えばイーサネットネットワーク、トークンリングネットワーク、又は類似のネットワークを介してネットワーク全体を移動するＩＰパケットである。１つの実施形態において、パケットＡは、セキュリティプロセッサ１０３によってＩＰｓｅｃパケットＡ’に暗号化される。Ａ’は、ネットワークを介して宛先システムのフレーマ１０１とセキュリティプロセッサまで移動し、オリジナルパケットＡに復号される。パケットＢは同様にパケットＢ’に変換され、安全な方法でネットワークを介して移動し、宛先マシンでパケットＢに戻すよう変換される。この方法では、ＩＰｓｅｃはトランスペアレントに実装することができ、すなわち、標準ＩＰパケットでのみ各々が処理される元のすなわち宛先システムの知識又は介在を必要としない。
【００１７】
図２Ｃは、インライン構成で使用する例示的なセキュリティプロセッサ１０３のブロック図である。パケットは、セキュリティプロセッサ１０３によって物理接続部１０９から入力インターフェース２０１を通じて受信される。入力インターフェース２０１は、着信パケットデータを入力バッファマネージャ２０３に転送する。入力インターフェース２０１は、ＳＰＩ、ＰＣＩ、ＰＣＩ−Ｅｘｐｒｅｓｓ、又は類似のシステムを介してパケットを受信する。入力インターフェース２０１は、ＳＰＩエラー、仮想ポート、長さ情報のようなパケットや類似の情報に対して巡回冗長検査（ＣＲＣ）データをチェックすることができる。１つの実施形態において、エラーが検出された場合、着信パケットはドロップされる。別の実施形態において、着信パケットは例外ポートに転送される。１つの実施形態において、入力インターフェース２０１は、３２のＳＰＩ入力ポートをサポートすることができる。別の実施形態において、ＰＣＩ、ＰＣＩ  Ｅｘｐｒｅｓｓ、又は類似のシステムも入力インターフェース２０１がサポートすることができる。
【００１８】
入力バッファマネージャ２０３は、入力バッファ２０５に着信パケットを記憶する。１つの実施形態において、入力バッファ２０３マネージャは、着信パケットの一部をレベル２（Ｌ２）プロセッサ２０７に転送する。レベル２は、オペレーションシステム相互接続（ＯＳＩ）モデルからデータリンク層プロトコルに照会する。別の実施形態において、入力バッファマネージャ２０３は、パケットを識別するポインタ又はタグをＬ２プロセッサ２０７に転送する。ポインタは、ヘッダ、末尾、末尾−１、ペイロード、パケットの類似セグメントへのポインタを含む。入力バッファマネージャ２０５は、入力バッファ２０３のフリースペースを管理する。入力バッファマネージャ２０５は、リンクされたリスト又は類似のデータ構造を使用して入力バッファ２０３を維持し、バッファ２０３のフリーブロックを追跡する。１つの実施形態において、ブロックサイズは２５６バイトである。
【００１９】
Ｌ２プロセッサ２０７は、着信パケットのヘッダ情報を構文解析する。Ｌ２プロセッサ２０７は、着信パケットが何らかのレベル２ヘッダ又はエンキャプスレーションを有するかどうかを判定する。Ｌ２プロセッサ２０７は、発見した何らかのレベル２情報と共に、レベル３（Ｌ３）プロセッサ２０９に受信したポインタを転送する。Ｌ３プロセッサ２０９は、パケットがインターネットプロトコル（ＩＰ）とインターネットプロトコルセキュリティ（ＩＰｓｅｃ）ヘッダ情報、或いはその内部のＩＰＸのような他のＯＳＩレベル３データ又はプロトコルを包含するかどうかを判定する。Ｌ３プロセッサ２０９はまた、ＴＣＰ／ＵＤＰヘッダを構文解析し、次いで、後で使用するための関連情報を抽出し分類する。ＩＰｓｅｃヘッダ情報又は他のＩＰｓｅｃデータがパケット内で検出されると、パケットに関係して蓄積された他のデータと共にこの情報は、パケット順序マネージャ（ＰＯＭ）２１１に転送される。ＩＰ又はＩＰｓｅｃデータを包含しないパケットは、ＰＯＭ２１１に転送されて適切な宛先ポートに送られる。また、Ｌ３プロセッサ２０９は、パケットのＩＰｓｅｃヘッダ情報からＳＡインデックスを抽出し、ＰＯＭ２１１に渡される。
【００２０】
Ｌ３プロセッサは、パケットの例外ケースをチェックする。Ｌ３入力プロセッサ２０９は、パケットを例外ポート又は類似のハンドリング機構のいずれかに渡すよう要求するオプションや類似のパケット異常によって、ＩＰチェックサムエラー、不正形式パケット、ＩＰｖ４、又はＩＰｖ６についてチェックする。また、Ｌ３入力プロセッサ２０９は、構成されたプロトコルヘッダ値又はＵＤＰポートを特定の例外ポート又は実行ユニットグループのいずれかに一致させるパケットを転送することができる。Ｌ３プロセッサ２０９は、パケットデータを入力パケット完了順序でＰＯＭ２１１に送る。
【００２１】
Ｌ２プロセッサ２０７とＬ３プロセッサ２０９は、パケットを構文解析して、該パケットを実行ユニット２１５によって処理する必要があるか、或いは処理せずにセキュリティプロセッサ１０３を介して渡す必要があるかどうかを判定する。１つの実施形態において、Ｌ２プロセッサ２０７とＬ３プロセッサ２０９は、１サイクルにつきパケットヘッダ６４ビットを処理することができる。１つの実施形態において、Ｌ２プロセッサ２０７とＬ３プロセッサは、層２、層３、層４のＩＰパケット情報を構文解析できる。別の実施形態において、Ｌ２、Ｌ３ヘッダの構文解析は、幾つかの専用ユニットに分配された単一のユニットで実行されるか、或いは実行ユニット２１５のような汎用プロセッサ又は汎用プロセッサのセットによって達成される。
【００２２】
ＰＯＭ２１１は、パケットデータの処理において相対的な順序を保持する。復号されることになるＩＰｓｅｃデータを包含する、Ｌ２プロセッサ２０７とＬ３プロセッサ２０９によって取得されるデータから識別されたパケットに関する情報は、文脈検索システム２１３に転送される。他のパケットは、出力インターフェース２２５に転送されて宛先ポート又は例外ポートに送られる。ＰＯＭ２１１は、パケットが待ち行列に並んでいるか或いは処理されているときのパケットに関するフライト中の情報を保持する。ＰＯＭ２１１は、実行ユニット２１５用のパケットをスケジュールする。ＰＯＭ２１１は、Ｌ２プロセッサ２０７とＬ３プロセッサ２０９から集められた情報と共に入力バッファ２０５からパケットを抽出するのに必要な情報を記憶する。１つの実施形態において、ＰＯＭ２１１は、所与の時間において２０４８パケットを追跡できるバッファを管理する。ＰＯＭ２１１はまた、処理を必要としないパケット情報を入力バッファ２０５から出力インターフェース２２５に転送する。実際のパケットデータは、入力バッファ２０５又は出力バッファ２２１のいずれかにおいて保持され、ＰＯＭ２１１のような他のデバイスは、そのパケットデータの位置を識別するポインタ、アドレス、又はタグを他の構成要素に渡す。
【００２３】
また、ＰＯＭ２１１は、文脈検索２１３が必要とする情報を供給し、実行ユニット２１５が使用するのに適切なＳＡ文脈情報を検索する。ＰＯＭ２１１は、実行ユニット２１５によって作成されたパケットについての情報を受信する。パケットがセキュリティプロセッサ１０３によって処理されてアウトバウンド送信のために待ち行列に並んだ後、ＰＯＭ２１１はパケット送信の順序付けを指示する。この種々の機能を達成するために、ＰＯＭ２１１は、入力バッファ２０５と出力バッファ２２１に記憶されたパケットを探し出して処理するのに要求される情報を内部に保持するとともに、セキュリティプロセッサ１０３にパケットが残っている間、パケットに固有の他の制御情報を内部に保持する。ＰＯＭ２１１はまた、パケットの到着時間の点で該パケットを互いに対して順序付けるのに要求されるデータを保持する。
【００２４】
文脈及びデータ検索システム２１３は、メモリ及び文脈記憶装置２２３にアクセスし、実行ユニット２１５が使用するためのパケットに関連付けられたセキュリティアクセス情報にアクセスする。ＩＰｓｅｃでは、暗号文脈情報が１つのセキュリティアソシエーション（ＳＡ）ごとに要求される。文脈は、対称暗号化と認証に必要な秘密鍵だけでなく、再生に関する情報、シーケンス番号、ＳＡ生存期間、機密性を含んでいる。また、文脈メモリ２２３は汎用メモリとしても使用できる。ＰＯＭ２１１と連動する文脈及びデータ検索システム２１３は、セキュリティアソシエーション文脈情報と共にパケットデータを実行ユニット２１５にロードする。１つの実施形態において、文脈メモリは、ダブルデータレート（ＤＤＲ）ランダムアクセスメモリユニット又は類似の装置のような外部メモリデバイスである。別の実施形態において、文脈メモリは、内部メモリデバイス又はメモリデバイスのセットやキャッシ或いは類似の記憶装置構造である。
【００２５】
実行ユニット２１５は、ＲＦＣ２４０１に従うＩＰｓｅｃ変換を適用することによってパケットを復号又は暗号化する。１つの実施形態において、実行ユニット２１５はまた、復号又は暗号化後のパケットの新しい長さを反映するようにＬ２ヘッダとトレーラ情報を調整する。１つの実施形態において、セキュリティプロセッサ１０３は、２４の実行ユニットを含むことができる。実行ユニット２１５の出力は、出力バッファ２２１に記憶され、次いで、ポイント又はアドレスは、Ｌ３出力プロセッサ２１７に転送される。
【００２６】
１つの実施形態において、実行ユニット２１５は多くの暗号化プリミティブをサポートするマイクロコードエンジンである。暗号化プリミティブには、ＤＥＳ／３ＤＥＳ、ＡＥＳ、ＲＣ４などの対称暗号化アルゴリズムのための直接ハードウェアサポート、ＭＤ５とＳＨＡ−１暗号化ハッシュのための直接サポート、ＲＳＡのような非対称暗号化アルゴリズムを含む。別の実施形態において、実行ユニット２１５は、ＩＰｓｅｃのような特定のプロトコルを実行するようカスタマイズされる。実行ユニット２１５はまた、パケット処理要件を決定するために層３の構文解析された情報を利用することができる。実行ユニット２１５は、入力パケットを処理するために、スクラッチメモリとして文脈記憶メモリ２２３を使用できる。
【００２７】
Ｌ３出力プロセッサ２１７は、出力パケットを評価して、レベル３のデータ（ＯＳＩモデルに基づく）が正確であり内部的に矛盾がないかどうかを判定する。Ｌ３出力プロセッサ２１７はまた、ＴＣＰとＵＤＰヘッダを構文解析し、次の処理で使用するための情報を抽出することができる。Ｌ３出力プロセッサ２１７はまた、パケットをドロップするか或いは例外ポート又は類似のハンドリング機構に渡すよう要求するオプションや類似のパケット異常によって、ＩＰチェックサムエラー、不正形式パケット、ＩＰｖ４、又はＩＰｖ６についてチェックする。１つの実施形態において、Ｌ３出力プロセッサ２１７又は類似の装置はまた、変更されたパケットサイズ又はレベル２のパケットデータへの類似の変更を反映するようにレベル２の情報を修正することができる。
【００２８】
１つの実施形態において、Ｌ３出力プロセッサ２１７は、暗号化又は復号されたパケットをチェックして、ＩＰエンキャプスレーションでのＩＰのようなパケットの更なる処理、ネストされた又はバンドルドＩＰｓｅｃセグメント、さらにはパケットが付加的な処理を要求する類似のシナリオを必要とする特別な状況が適用されるかどうかを判定することができる。更なる処理を要求するパケットは、ＰＯＭ２１１に転送されたこれらのポインタとタグ情報を有する。更なる処理を要求しないパケットのパケットポインタデータは、出力バッファマネージャ２１９に転送される。
【００２９】
出力バッファマネージャ２１９は、出力バッファ２２１内にパケット又はパケットポインタとタグデータを記憶する。出力インターフェース２２５がパケットを送信できる状態にある場合には、出力バッファマネージャ２１９は、パケットデータをインターフェース２２５に転送する。出力バッファマネージャ２１９は、出力バッファ２２１のフリーメモリスペースを管理する。１つの実施形態において、出力バッファマネージャは、出力バッファ２２１でのフリーメモリスペースを追跡するためにリンクされたリスト又は類似のデータ構造を使用する。１つの実施形態において、フリーメモリスペースは、２５６バイトブロックで追跡される。出力インターフェース２２５は、統計データを収集し、出力パケットにＣＲＣコードを付加することができる。１つの実施形態において、出力インターフェース２２５は、３２のＳＰＩポートをサポートすることができる。別の実施形態において、ＰＣＩ、ＰＣＩ  Ｅｘｐｒｅｓｓ、又は類似のシステムはまた、出力インターフェース２２５がサポート可能である。
【００３０】
図３は、セキュリティプロセッサ１０３を通る例示的なパケットのフロー図である。着信パケットは、パケットが有効であるか或いは認知されたプロトコル層タイプを包含するかどうかを判定するために分析される。パケットが処理を要求せず、或いは認知されたプロトコルタイプからのものではない場合には、これらのパケットは、出力待ち行列３０１に渡され、宛先ポート又は例外ポートで出力される。１つの実施形態において、出力待ち行列は、出力バッファ２２１や出力インターフェース２２５の一部である。幾つかの「通過」パケットは、適切なシーケンスを維持するかため、或いは送信されることになるパケットのシーケンスを修正するために再順序付け待ち行列３０３に転送される。再順序付け待ち行列３０３は、パケットがセキュリティプロセッサ１０３によって処理される間、パケットの１ポート当たりの順序を維持する。
【００３１】
処理を要求するものとして識別されたパケットは、入力待ち行列３０５に転送される。１つの実施形態において、入力待ち行列３０５は、入力インターフェース２０１又は入力バッファ２０５に実装される。これらのパケットは更に処理されて、宛先、発信元、タイプ、指定された実行ユニット２１５、或いは類似の基準によってパケットを分類するグループ待ち行列２０７に転送される。入力待ち行列２０５は、実行ユニット２１５により処理されるのを待機している入力パケットに関するデータをバッファする。
【００３２】
１つの実施形態において、グループ待ち行列２０７はＰＯＭ２１１に実装される。パケットは、該パケットがその待ち行列の先頭に到達すると実行ユニット２１５によって処理される。パケットは、要求されたオペレーションのグループに基づいて実行ユニット２１５に割り当てられる。１つの実施形態において、８つの異なるグループがサポートされる。実行ユニット２１５は、いずれかの単一のグループ又はグループのいずれかの組合せをサポートすることができる。パケットは、パケットシーケンスを維持又は修正するために再順序付け待ち行列３０３に処理後に転送され、或いは出力待ち行列３０１に直接転送される。出力待ち行列は、その実行ユニット２１５の処理要件を完了させた結果として得られるパケットの順序を維持し、且つ全ての他の順序付け要件を満足する。
【００３３】
待ち行列のこのセットにより、幾つかの異なるＩＰｓｅｃ順序付けの実装が使用できるようになる。１つの実施形態において、再順序付け待ち行列３０３は、適切な順序で入力バッファ２０５及び出力バッファ２２１内に記憶されたパケットのポインタ又はタグのセットを保持しているＰＯＭ２１１によって実施される。
【００３４】
１つの実施形態において、ＩＰｓｅｃアプリケーションは、１ポートにつき順序付け保証を要求することができる。セキュリティプロセッサ１０３は、同じ入出力ポートで出入りする全ての単一パケットが、プロセッサ１０３に入った順序でセキュリティプロセッサ１０３から出ることを保証することができる。別の実施形態において、ＩＰｓｅｃ実装により、通過トラフィックが再順序付け待ち行列３０３をバイパスできるようになる。これは、ＩＰｓｅｃパケットの順序付けを維持し、パケットの全体的な順序付け以外の非ＩＰｓｅｃパケットの順序付けを維持する。更なる実施形態において、再順序付け待ち行列は使用されず、パケット順序は保証されない。
【００３５】
図４Ａは、セキュリティプロセッサ１０３によって処理されることになる例示的なパケット４００の図である。パケット４００は、パケットについてのデータを包含するプロプラエタリヘッダ４０１と、相補ユーザ定義データ（ｕｄｄ）セクション４０３とを含むことができる。プロプラエタリヘッダ４０１とｕｄｄ４０３セクションは、セキュリティプロセッサ１０３とネットワークプロセッサ１０５又は他のプログラム可能なシステム装置との間に付加的な情報とデータを提供するために使用できる。
【００３６】
パケット４００は、レベル２のプロトコルヘッダ４０５を含み、イーサネットを介したポイントツーポイント（ＰＰｏＥ）のようなレベル２「シム」ヘッダ情報４０７、マルチプロトコルラベルスイッチング（ＭＰＬＳ）、その他の類似のシステムを含むことができる。レベル２のヘッダフィールドは、パケット演算コードに応じてパケット内には存在しない可能性がある。セキュリティプロセッサ１０３は、セキュリティプロセッサ１０３によって構文解析又は検出されたレベル２のヘッダに関してプログラミングをサポートする。パケットは、ペイロードの宛先４１５とパケット４００に関連するセキュリティアソシエーションをそれぞれ識別するＩＰ４１１とＩＰｓｅｃ４１１のヘッダのセットを含むことができる。ＩＰヘッダは、パケット演算コードに応じてパケット内に存在しない可能性がある。パケット４００はまた、レベル２のプロトコル末尾情報４１７と巡回冗長検査（ＣＲＣ）フィールド４１９を含むことができる。パケットに関係するＡＴＭは、重要なトレーラを有することができる。
【００３７】
図４Ｂは、フレーマ１０１とネットワークプロセッサ１０５との間の処理にトランスペアレントなオペレーションを提供するセキュリティプロセッサ１０３によって可能なパケット構文解析と再組立てのフローチャートである。初期パケット４００は、プロプラエタリヘッダ４０１とデータ４０３のフィールドを含むことができる。これらのフィールドを用いて、これらのヘッダとデータ用の設定されたフォーマットを確立することができる、セキュリティプロセッサ１０３とネットワークプロセッサ１０５のような「スマート」デバイス間で情報を通信することができる。１つの実施形態において、パケットは、プロプラエタリヘッダ４０１とデータ４０３を含まない。このヘッダ４０１とデータ４０３は、パケットがスマートデバイスに転送されることになる場合に加えることができる。別の実施形態において、パケット４００は、プロプラエタリヘッダ４０１とデータ４０３を含むが、ダムデバイス（例えばフレーマ１０１）に転送されることになる。ヘッダ４０１とデータ４０３は、パケットから取り除かれる。
【００３８】
１つの実施形態において、パケット４００は、レベル２のヘッダ情報を含む。この情報は、レベル２（Ｌ２）構文解析システム４２１によって分析される。１つの実施形態において、Ｌ２構文解析システム４２１は、Ｌ２ヘッダ４０５、Ｌ２シム４０７、Ｌ２末尾データを分析し、これらのフィールドでコード化されるプロトコルタイプ並びに情報を決定する。１つの実施形態において、Ｌ２構文解析システムは、この情報を直接転送して、処理されたパケット４３１のこれらのセクションを再組立てする。別の実施形態において、レベル２構文解析システム４２１は、Ｌ２  ４０５とＬ２  シム４０７フィールドから復号された情報を、存在する場合には、実行ユニット４２５に渡す。１つの実施形態において、Ｌ２構文解析システム４２１は、Ｌ２プロセッサ２０７のような装置によって部分的に或いは完全に実現できる。
【００３９】
１つの実施形態において、初期パケット４００は、レベル３（Ｌ３）構文解析システム４２３によって分析される。Ｌ３構文解析システム４２３は、例えばＩＰヘッダ４０９とＩＰｓｅｃヘッダ４１１情報であるパケット４００内に存在するレベル３のプロトコルのタイプと、どのようなデータをそこで符号化できるかを判断する。１つの実施形態において、Ｌ３構文解析システム４２３は、ヘッダ情報を直接転送して、処理されたパケット４３１のレベル３セクションを再組立てすることができる。別の実施形態において、Ｌ３構文解析システムは、復号された情報を実行ユニット４２５に渡す。１つの実施形態において、Ｌ３構文解析システム４２３は、Ｌ３プロセッサ２０９とＬ３出力プロセッサ２１７のようなデバイス又はデバイスのセットによって部分的に或いは完全に実現可能である。
【００４０】
実行ユニット４２５は、それぞれの構文解析システムからレベル２とレベル３の情報を受信する。実行ユニット４２５は、パケット４００でのオペレーション、例えばＩＰｓｅｃペイロード４１５での復号オペレーションを主として実行する役割を担う。実行ユニットは、データが供給されたＬ２、Ｌ３構文解析システム４２１、４２３からパケット４００上で実行されることになるオペレーションに関連する情報を受信する。パケット４００でのオペレーションの終了後、実行ユニットは、修正されたデータを直接渡して、処理されたパケット４３１を再組立てすることができる。別の実施形態において、実行ユニット４２５は、Ｌ２構文解析システム４２１とＬ３構文解析システム４２３から受信されたデータを含む、処理されたパケット４３１を再組立てするために、処理されたデータを後処理システム又は論理に渡す。更なる実施形態において、実行ユニット４２５は、主として、処理されたデータと構文解析システムから受信されたデータからパケット４３１を再組立てする役割を担うことができる。１つの実施形態において、実行ユニット４２５は、実行ユニット２１５のようなデバイスで実現できる。
【００４１】
１つの実施形態において、後処理システム４２７は、主として実行ユニット４２５によって行われたオペレーションから結果として生じたパケット修正を反映するため、パケット４００の情報を修正する役割を担う。後処理ユニット４２７は、パケット４３１が正確なヘッダと末尾データを確実に有するようにするため、処理されたパケット４３１のフィールドのいずれかにおけるデータを修正することができる。１つの実施形態において、後処理システム４２７は、パケット４３１でのデータ及び長さのどのような変更も反映する新しいＣＲＣとＬ２値を生成する。１つの実施形態において、後処理システムは、実行ユニット２１５、Ｌ３出力プロセッサ２１７、出力インターフェース２２５といったデバイス又はデバイスのセットによって実現することができる。
【００４２】
図５は、Ｌ２プロセッサ２０７の機能のフローチャートである。Ｌ２プロセッサ２０７は、入力バッファマネージャ２０３からパケットのヘッダ情報、ポインタ、又はタグを受信する（ブロック５０１）。１つの実施形態において、パケットは、完全なパケットが受信され、そのＣＲＣがチェックされるまで処理されない。１つの実施形態において、Ｌ２プロセッサ２０７は、レベル２のヘッダの種々のタイプやエンキャプスレーションを見つけるためにレベル２ヘッダから予め決められたバイトのセットにパターンマッチさせる比較器のセットを包含する。比較器は、１ビットにつきマスク可能であり、従って比較器は、パケットのあらゆるビットシーケンスも検出するようプログラムすることができる。１つの実施形態において、２０の前置比較器と２０の後置比較器が使用される。この構成により、パケットの２つの別々のシーケンシャル比較を行い、ヘッダのセットを識別することができる。前置比較器による第１比較により、見出されたヘッダのタイプと第２後置比較器比較に基づいてパケット内で前方にスキップする。
【００４３】
レベル２のヘッダが存在する場合、セキュリティプロセッサ１０３は、構成された前パターンに対して入力パケットの最初のバイトを比較する。各パターンは可変長であり、無効にすることができる。入力パケットに一致する前パターンが無い場合には、デフォルト情報を使用する。各パターンが記憶された情報とデフォルト情報は構成可能である。１つより多いパターンが一致する場合には、一致した第１パターンに関連する情報が選択される。１つの実施形態において、前パターン一致によって選択される情報は、更なる処理の前にスキップするパケットのバイト数を表すスキップカウント、実行ユニット２１５に転送されるレベル２のタイプ、この情報を使用して異なるレベル２のタイプを明確にする実行ユニット２１５、ＩＰフィールド、スキップしたバイトの後にＭＰＬＳが現れる場合にセットされるＭＰＬＳイネーブルビット、さらには対応するビットがセットされる場合に後置比較器をイネーブルにする後置比較器イネーブルマスクである。前パターン一致の結果により、Ｌ２プロセッサ２０７がＭＰＬＳスタックにおいて次のバイトを変換する方法を決定する。ＭＰＬＳスタックをスキップする論理は、最後のエントリーを除いてスタックの全てをスキップさせる。１つの実施形態において、Ｌ２プロセッサ２０７は、エラーチェックのための構成可能な最大ＭＰＬＳスタック深さをサポートする。次の比較でチェックされ集められる情報は、第１の比較のものと同じである。
【００４４】
Ｌ２プロセッサ２０７は、所与のレベル２ヘッダが存在するかどうかをチェックする（ブロック５０３）。レベル２ヘッダが見つけられた場合、パターンマッチングは、通常見つかったヘッダのタイプの長さに基づいてバイトの予め決められた数だけ前にスキップする（ブロック５０５）。次にＬ２プロセッサ２０７は、ＭＰＬＳスタックをチェックする（ブロック５０７）。このプロセスは、前−ＭＰＬＳと後−ＭＰＬＳパターンを含む各ＭＰＬＳセクションが見つけられるまで繰り返される。Ｌ２プロセッサ２０７は、そのサーチを続ける前に識別されたＭＰＬＳセグメントのサイズに応じて、そのサーチを予め決められたバイト数だけ前に移動させる（ブロック５０９）。
【００４５】
Ｌ２プロセッサ２０７は続いてパケットの構文解析を行い、レベル２のエンキャプスレーションが存在するかどうかを判定する（ブロック５１１）。このエンキャプスレーションが見つかると、パケットへのポインタは、エンキャプスレーションセクションのサイズに基づいて予め決められたバイト数だけ進められる（ブロック５１３）。レベル２の情報を構文解析するプロセスでは、Ｌ２プロセッサ２０７はまた、より大きなパケット内のＩＰパケットの開始位置を求める。パケットがＩＰパケットを含まない場合には、パケットの更なる処理はセキュリティプロセッサ１０３によって要求されず、パケット情報は、宛先又は例外ポートに転送することができる。ＩＰパケットが存在する場合には、パケット情報は、見つかったレベル２の情報と共にＬ３プロセッサ２０９に渡される。
【００４６】
図６は、例示的なＬ３プロセッサ２０９の機能のフローチャートである。Ｌ３プロセッサは、Ｌ２プロセッサ２０７からポインタ、タグ、又はパケット情報を受信する（ブロック６０１）。Ｌ３プロセッサ２０９はパケットをチェックし、パケットがＩＰｖ４又はＩＰｖ６パケットを含んでいるかどうかを判定する（ブロック６０３）。これらのフォーマットのいずれも存在しない場合、パケットは例外ポートに転送される（ブロック６０５）。次いで、Ｌ３プロセッサ２０９は、検出されたＩＰヘッダ情報を確認する（ブロック６０７）。ＩＰ情報が正確でない場合には、パケットは例外ポートに転送される（ブロック６０５）。次にＬ３プロセッサは、ＩＰパケットが正常なＩＰパケットであるか、又はＩＰｓｅｃパケットを含むか、或いは非ＩＰｓｅｃＩＰエンキャプスレーションを包含するかを識別する（ブロック６０９）。
【００４７】
ＩＰエンキャプスレーションのない正常なＩＰパケットは、適切な宛先ポートに転送される（ブロック６１１）。非ＩＰｓｅｃエンキャプスレートＩＰパケットは、特別なハンドリングを検出するように構成された特別なプロトコル又はＵＤＰ／ＴＣＰポートを包含するか否かをチェックするために調べられる（ブロック６１３）。パケットがそのプロトコルタイプ又はポート数のいずれかによって識別された構成されたエンキャプスレーションを含まない場合には、該パケットは、例外ポートに転送される（ブロック６１５）。パケットが、特別なハンドリングのために構成されたエンキャプスレーションを含む場合、そのパケットは、実行ユニットによって処理されることになる待ち行列に配置される（ブロック６１７）。別の実施形態において、非ＩＰｓｅｃＩＰエンキャプスレートパケットは、正常なＩＰパケットが処理されたときに識別され、分類され、更に処理される。
【００４８】
ＩＰｓｅｃを含むパケットは、ＩＰヘッダで指定された宛先ポートについてチェックされる（ブロック６１９）。宛先ポートは、プロセッサ１０３の宛先アドレスの構成可能な範囲に基づいてパケットがＩＰｓｅｃゲートウェイに向けられるかどうかを判定するためにチェックされる（ブロック６２１）。パケットがＩＰｓｅｃゲートウェイに向けられない場合には、パケットは適切な出力ポートに転送される（ブロック６２３）。ＩＰｓｅｃゲートウェイに向けられたパケットは、そこに包含されるセキュリティパラメータインデックス（ＳＰＩ）を求めるために構文解析されたそのＩＰｓｅヘッダを有する（ブロック６２５）。次いで、Ｌ３プロセッサは、ＳＰＩをメモリ２２３内のＳＡ文脈に対するインデックスに変換する（ブロック６２７）。次に、この情報は、実行ユニット２１５による処理のための待ち行列に転送される（ブロック６２９）。
【００４９】
図７は、実行ユニット２１５によるパケット情報の処理と、Ｌ３出力プロセッサ２１７による次の処理についての１つの実施形態のフローチャートである。実行ユニット２１５は、パケットがＬ２、Ｌ３プロセッサ２０７、２０９によって処理された後、ＰＯＭ２１１・ＳＡ文脈データ及びパケットデータ検索システム２１３からの処理のパケットを受信する。実行ユニット２１５は、ＲＦＣ２４０１に従ってパケットの暗号化データに対してＩＰｓｅｃ変換を適用する（ブロック７０１）。次いで、実行ユニット２１５は、レベル２のトレーラ情報と共に復号されたＩＰｓｅｃセクションに対してＬ２プロセッサによって識別されたＬ２ヘッダ情報を付加することによってパケットを再構成する（ブロック７０３）。実行ユニット２１５は、Ｌ２ヘッダ又はトレーラ情報で必要な場合にはパケット長情報を修正する（ブロック７０５）。１つの実施形態において、実行ユニット２１５のマイクロコードは、どのようなレベル２のヘッダの変更が必要であるかを判定する。例えば、ＩＥＥＥ８０２．３パケットは、適切なパケットを生成するために実行ユニット２１５によって修正を必要とする可能性のある長さフィールドを有する。また実行ユニットは、パケットの最後まで「パッド」（サイズ要件を満たすために含まれる無意味なデータ）を計算して加え、長さフィールドを挿入することが必要となる場合がある。
【００５０】
Ｌ３出力プロセッサ２１７は、実行ユニット２１５によって生成されたパケットをチェックし、デキャプスレート或いは復号されたパケットが有効ＩＰパケットであるかどうかをチェックする。パケットが有効ＩＰパケットである場合には、該パケットはＰＯＭ２１１によって出力待ち行列に配置され、或いは適切な例外ポートに送られる。
【００５１】
１つの実施形態において、構文解析と復号後のパケットの再組立ては、Ｌ３プロセッサ２１７に送られる前に実行ユニット２１５によって主に行われる。別の実施形態において再組立ては、専用のデバイス、例えば出力プロセッサか分散システムで実行される。分散システムは、例えばＬ２データを作成するＬ２プロセッサ２０７、Ｌ３データを作成するＬ３プロセッサ２０９又はＬ３出力プロセッサ２１７などの複数のデバイスがパケットの種々のフィールドを構成する。或いは再組み立ては、正確なヘッダと末尾データを有する処理されたパケットを生成するのに必要なフィールドを作成する類似するデバイスによって実行される。従って、セキュリティプロセッサ１０３がフレーマ１０１とネットワークプロセッサ１０５との間でインライン方式でトランスペアレントに動作することが可能となる。
【００５２】
ＣＲＣを計算し、復号されたパケットに付加する（ブロック７０９）。１つの実施形態において、ＣＲＣフィールドは、出力インターフェース２２５によって作成される。別の実施形態において、ＣＲＣフィールドは、実行ユニット２１５、Ｌ３出力プロセッサ、又は同等の構造体によって作成される。出力インターフェース及び実行ユニット２１５は、同じ生成多項式を使用する種々のＣＲＣ規格を実装するようにプログラム可能である。アウトバウンドパケットは送信のための待ち行列である（ブロック７１１）。
【００５３】
上記明細書では、特定の実施形態に関して本発明を説明してきた。しかしながら、添付の請求項に記載の本発明の広範な精神及び範囲から逸脱することなく、種々の修正及び変更を本発明に対し行い得ることは明らかであろう。本明細書及び図面は、従って限定ではなく例証とみなすべきである。
【図面の簡単な説明】
【００５４】
【図１】インラインセキュリティプロセッサシステムである。
【図２Ａ】トランスペアレントなパケット処理の図である。
【図２Ｂ】ネットワーク全体でのトランスペアレントなパケット処理の図である。
【図２Ｃ】例示的なセキュリティプロセッサのブロック図である。
【図３】セキュリティプロセッサでの基本パケットルーティングのブロック図である。
【図４Ａ】パケットフォーマットの図である。
【図４Ｂ】プロトコル構文解析システムのフローチャートである。
【図５】パケット前処理のフローチャートである。
【図６】パケット復号及び後処理のフローチャートである。
【図７】パケット暗号化のフローチャートである。
【図１】
2006524959.tif 000003
【図２Ａ】
2006524959.tif 000004
【図２Ｂ】
2006524959.tif 000005
【図２Ｃ】
2006524959.tif 000006
【図３】
2006524959.tif 000007
【図４Ａ】
2006524959.tif 000008
【図４Ｂ】
2006524959.tif 000009
【図５】
2006524959.tif 000010
【図６】
2006524959.tif 000011
【図７】
2006524959.tif 000012
【国際調査報告】
2006524959.tif 000013
2006524959.tif 000014