JP2010259081A - IPSecを用いたネットワーク処理 - Google Patents

IPSecを用いたネットワーク処理 Download PDF

Info

Publication number
JP2010259081A
JP2010259081A JP2010131757A JP2010131757A JP2010259081A JP 2010259081 A JP2010259081 A JP 2010259081A JP 2010131757 A JP2010131757 A JP 2010131757A JP 2010131757 A JP2010131757 A JP 2010131757A JP 2010259081 A JP2010259081 A JP 2010259081A
Authority
JP
Japan
Prior art keywords
packet
protocol layer
processor
information
ipsec
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010131757A
Other languages
English (en)
Other versions
JP5074558B2 (ja
Inventor
Richard E Kessler
ケスラー,リチャード・イー
Muhammad R Hussain
フセイン,ムハンマド・アール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cavium LLC
Original Assignee
Cavium Networks LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cavium Networks LLC filed Critical Cavium Networks LLC
Publication of JP2010259081A publication Critical patent/JP2010259081A/ja
Application granted granted Critical
Publication of JP5074558B2 publication Critical patent/JP5074558B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 フレーマとネットワークプロセッサとの間のインラインのセキュリティプロセッサによってIPsecネットワークトラフィックをトランスペアレントに処理する方法と装置。
【解決手段】 フレーマとネットワークプロセッサとの間で授受されるパケットを、該フレーマとネットワークプロセッサとの間で処理するセキュリティプロセッサを有する。フレーマは物理層でのデータの送信及び受信を行い、ネットワークプロセッサはパケットを処理し、セキュリティプロセッサは、パケット内の他のプロトコル層を除去して該パケット内のIPsecプロトコル層を処理する。
【選択図】 図1

Description

本発明は、ネットワーク処理の分野に関する。具体的には、本発明は、フレーマデバイスとネットワークプロセッサとの間のセキュリティプロセッサによるネットワークトラフィックのインライン処理に関する。
通信ネットワーク並びにこれらのネットワークのユーザ数が増え続けている。インターネットによる企業対企業及び企業対消費者の両方を包含するオンライン販売が急増している。更に、在宅勤務者の数も増加している。オンライン販売と在宅勤務の両方は、種々の通信ネットワーク間の送信中に保護する必要のあるプライベートデータや感知可能データを通常伴う通信ネットワークの利用の実施例である。
従って、セキュリティプロトコル(例えば、トランスポートレイヤセキュリティ(TLS)、セキュアソケットレイヤ(SSL)3.0、インターネットプロトコルセキュリティ(IPSec)など)は、遠隔にあるシステム間のセキュアセッションを確立するために開発されてきた。これらのセキュリティプロトコルは、メッセージ交換や計算によってセキュアセッションを確立するための遠隔システムのための方法を提供し、これによって、種々の通信ネットワークにわたって送信されている感知可能データがセキュリティ及び/又は改竄防止性の尺度を有することができるようになる。
これらのセキュリティプロトコルは、機械とネットワークデバイスとの間で送られたメッセージのコンテンツを保護するために暗号化を利用する。幾つかの事例では、メッセージを扱うネットワークデバイスが、メッセージの宛先を判定するようなメッセージを処理するために、メッセージの少なくとも一部を復号する必要がある。復号アルゴリズムは、有意な処理資源を必要とすることが多い。
これは、ネットワークデバイスのネットワークプロセッサに負担をかける。ネットワークプロセッサはフレーマから着信パケットを受信することが多い。フレーマは、IEEE802.3によって規定されるイーサネット(登録商標)フレームなどの標準フォーマットのフレームを受信するよう設計されたデバイスである。フレーミングデバイスは通常、フレームを受信し、送信する以外はほとんど何もできない簡単な回路である。
IPsecは、アクセス制御、保全性、認証、再生に対する保護、機密保持及び類似のサービスを含むセキュリティサービスを提供するインターネットプロトコル(IP)ネットワーキング用のセキュリティフレームワークである。IPsecは、そのサービスを実施するためにセキュリティアソシエーション(SA)を利用する。SAは、セキュリティサービスの1つまたはそれ以上によって保護されるシンプレックス接続である。SAは、ホストのペア間、又はホストとルータのようなセキュリティゲートウェイとの間、或いはゲートウェイのペア間で確立される。SAのようなSAのペアから成る2つのピア間のIPsec接続は、単方向である。SAは、IPsecパケットのセキュリティサービスを実行するのに必要とされる情報の全てを包含する。生成時には、SAは、受信している機械によってセキュリティパラメータインデックス(SPI)が割り当てられる。SPIと宛先IPアドレスとの組合せは、SAを一意的に識別する。受信しているホストは、この情報を使用して、着信パケットがどのSAに属するか、従ってパケットに適用される復号とパケット処理のアルゴリズムはどれであるかを決定する。送信側では、ホストは、IPヘッダ情報に基づいてルックアップを実行し、暗号化及びパケット処理のために使用されるSAを見つけ出す。
インラインセキュリティプロセッサシステムである。 トランスペアレントなパケット処理の図である。 ネットワーク全体でのトランスペアレントなパケット処理の図である。 例示的なセキュリティプロセッサのブロック図である。 セキュリティプロセッサでの基本パケットルーティングのブロック図である。 パケットフォーマットの図である。 プロトコル構文解析システムのフローチャートである。 パケット前処理のフローチャートである。 パケット復号及び後処理のフローチャートである。 パケット暗号化のフローチャートである。
フレーマとネットワークプロセッサとの間で授受されるパケットを、該フレーマとネットワークプロセッサとの間で処理するセキュリティプロセッサを有する。フレーマは物理層でのデータの送信及び受信を行い、ネットワークプロセッサはパケットを処理し、セキュリティプロセッサは、パケット内の他のプロトコル層を除去して該パケット内のIPsecプロトコル層を処理する。
本発明の実施形態は、同じ参照符号が同様の要素を示す添付図面の図において例示として示され、限定として示されるものではない。本開示における「ある」又は「1つの」実施形態への言及は、必ずしも同じ実施形態である必要はなく、これらの言及は少なくとも1つを意味する点に留意されたい。
図1は、ネットワークデバイス100のブロック図である。ネットワークデバイス100は、イーサネットトークンリング、又は類似のネットワークのような物理層109に接続されたフレーマデバイス101を含む。フレーマ101は、物理層接続109を介してフレームを送受信することができる。フレーマ101は、セキュリティプロセッサ103に直接接続される。セキュリティプロセッサ103は、フレーマ101からパケットを受信してこれを調べ、該パケットがネットワークプロセッサ105に渡される前に復号を必要とする暗号化データを含むかどうかを判定する。セキュリティプロセッサ103は、メモリデバイス107のセットに接続される。メモリデバイス107は、パケットの処理に関するオペレーションを実行し且つパケットの処理に関係するデータを記憶するワーキングメモリとして機能することができる。
ネットワークプロセッサ105は、フレーマ101からの着信パケットを調べて転送する必要があるかどうかを判定し、更にコンピュータシステム又はスイッチファブリックからフレーマ101と物理接続109を介してアウトバンドされるパケットを受信する。ネットワークプロセッサ105は、バス111又は類似の通信媒体を介してネットワークデバイスのスイッチファブリックに接続することができる。別の実施形態において、ネットワークプロセッサは、コンピュータシステム又は類似のシステムの一部とすることができる。
インバウンドパケットは、フレーマ101からセキュリティプロセッサ103に流れ込む。セキュリティプロセッサ103は、必要な場合にパケットを復号し、該パケットをネットワークプロセッサ105に転送する。アウトバウンドパケットは、ネットワークプロセッサ105から、パケットを暗号化するセキュリティプロセッサ103に流れることが多い。次いで、セキュリティプロセッサ103は、暗号化されたパケットをフレーマ101に転送し、物理層109を介して送信する。
1つの実施形態において、セキュリティプロセッサ103は、フレーマ101とネットワークプロセッサ105とのマルチポートSPIインターフェースを扱うことができる。別の実施形態において、セキュリティプロセッサは、PCI、PCI−Express、又は類似のシステムのような他のバス又は入力機構からの入力を受信することができる。セキュリティプロセッサ103は、IPv4とIPv6のESP/AHや、UDP−エンキャプスレートESP、トンネリング、トランスポートを含むIPv4及びIPv6変換を実行できる。セキュリティプロセッサ103は、IPsec例外検出を実行でき、セキュリティプロセッサ103でのトラフィックと処理の統計を累算することができる。セキュリティプロセッサ103は、半二重通信方式又は全二重通信方式で用いることができる。1つの実施形態において、別のネットワークプロセッサが、例えば非同期転送モード(ATM)装置によるセグメンテーションと再組立て(SAR)を行うために、セキュリティプロセッサ103とフレーマ101の間に配置される。
IPsecトラフィックを扱う場合、セキュリティプロセッサ103は、2つの発信元のいずれか1つからの完全なセキュリティアソシエーション(SA)情報、すなわち入力パケットの要求ヘッダを利用する。これは、完全なセキュリティアソシエーションコンテキストを直接、及び宛先が一致するIPsec復号でのインバウンドパケットのセキュリティパラメータインデックス(SPI)値から指定することができる。
図2Aは、セキュリティプロセッサ103によるパケットのトランスペアレント処理を示すブロック図である。1つの実施形態において、セキュリティプロセッサは、フレーマ101と残りのシステム250で「インライン」である。このシステムは、ネットワークデバイス、コンピュータシステム、又は類似のシステムとすることができる。フレーマ101とシステム250は、標準IPやIPsecパケットを送受信するよう構成されている。パケットA、Bは、フレーマ101及びネットワーク上の次の送信に向かうアウトバウンドパケットである。パケットC、Dは、フレーマ101によって受信されたインバウンドパケットであり、システム250に向けられる。
1つの実施形態において、セキュリティプロセッサ103は、インバウンドIPsecパケットを標準IPパケットに変換し、アウトバウンドIPパケットをIPsecパケットに変換する。別の実施形態において、セキュリティプロセッサは、IPsec−IP又はIP−IPsec変換が必要とされる構成要素間の通信のライン上のどの位置にも位置することができる。セキュリティプロセッサ103は、その変換プロセスがトランスペアレントであり、他のプロトコル層を終了させないので、「インライン」に位置付けることができる。従って、他のパケットデータは、変換プロセスによって破損されることはなく、パケットは、変換プロセスにおいていずれのアドレス指定又はメタデータ(例えばセグメント長)も失うことはない。
例えば、着信パケットA、Bは、ヘッダ(HDR)情報、IPsecセグメント、末尾データを含む。これらのパケットは、IPsecセグメントを標準IPに変換し、これらの宛先まで持続させるようにセキュリティプロセッサ103によって処理される。他のプロトコル層のヘッダと末尾データは終了されず、すなわち失われるか或いは除去される。逆に、プロトコル情報は維持され、必要な場合は、変換プロセス中の長さとコンテンツの変更に起因するパケット破損を防ぐために更新される。パケットA’、B’は、パケットA、BのIPsecセグメントから復号されたIPセグメントを含む。A’、B’のヘッダと末尾データは、他のプロトコル層を終了させることなくどのような必要な変更も反映するよう更新される。
同様に、パケットC、Dは、パケットC’、D’を生成するためにセキュリティプロセッサ103によって暗号化されるアウトバウンドIPパケットである。C’、D’は、パケットC、DのIPセグメントデータを暗号化するIPsecセグメントを含む。C’、D’は、各パケットのサイズとコンテンツの変更を反映するために修正することができるヘッダデータと末尾データを維持する。フレーマ101は、パケットが元々は標準IP形式であったという知識を必要とせずに、パケットC’、D’を送受信することができる。
図2Bは、ネットワーク経路の各端部においてフレーマ101と隣接するセキュリティプロセッサ103を有する例示的なネットワークシステムを示す。パケットAは、第1コンピュータシステム又はネットワークデバイスから第2システム又はネットワークデバイスへまで、ネットワーク、例えばイーサネットネットワーク、トークンリングネットワーク、又は類似のネットワークを介してネットワーク全体を移動するIPパケットである。1つの実施形態において、パケットAは、セキュリティプロセッサ103によってIPsecパケットA’に暗号化される。A’は、ネットワークを介して宛先システムのフレーマ101とセキュリティプロセッサまで移動し、オリジナルパケットAに復号される。パケットBは同様にパケットB’に変換され、安全な方法でネットワークを介して移動し、宛先マシンでパケットBに戻すよう変換される。この方法では、IPsecはトランスペアレントに実装することができ、すなわち、標準IPパケットでのみ各々が処理される元のすなわち宛先システムの知識又は介在を必要としない。
図2Cは、インライン構成で使用する例示的なセキュリティプロセッサ103のブロック図である。パケットは、セキュリティプロセッサ103によって物理接続部109から入力インターフェース201を通じて受信される。入力インターフェース201は、着信パケットデータを入力バッファマネージャ203に転送する。入力インターフェース201は、SPI、PCI、PCI−Express、又は類似のシステムを介してパケットを受信する。入力インターフェース201は、SPIエラー、仮想ポート、長さ情報のようなパケットや類似の情報に対して巡回冗長検査(CRC)データをチェックすることができる。1つの実施形態において、エラーが検出された場合、着信パケットはドロップされる。別の実施形態において、着信パケットは例外ポートに転送される。1つの実施形態において、入力インターフェース201は、32のSPI入力ポートをサポートすることができる。別の実施形態において、PCI、PCIExpress、又は類似のシステムも入力インターフェース201がサポートすることができる。
入力バッファマネージャ203は、入力バッファ205に着信パケットを記憶する。1つの実施形態において、入力バッファ203マネージャは、着信パケットの一部をレベル2(L2)プロセッサ207に転送する。レベル2は、オペレーションシステム相互接続(OSI)モデルからデータリンク層プロトコルに照会する。別の実施形態において、入力バッファマネージャ203は、パケットを識別するポインタ又はタグをL2プロセッサ207に転送する。ポインタは、ヘッダ、末尾、末尾−1、ペイロード、パケットの類似セグメントへのポインタを含む。入力バッファマネージャ205は、入力バッファ203のフリースペースを管理する。入力バッファマネージャ205は、リンクされたリスト又は類似のデータ構造を使用して入力バッファ203を維持し、バッファ203のフリーブロックを追跡する。1つの実施形態において、ブロックサイズは256バイトである。
L2プロセッサ207は、着信パケットのヘッダ情報を構文解析する。L2プロセッサ207は、着信パケットが何らかのレベル2ヘッダ又はエンキャプスレーションを有するかどうかを判定する。L2プロセッサ207は、発見した何らかのレベル2情報と共に、レベル3(L3)プロセッサ209に受信したポインタを転送する。L3プロセッサ209は、パケットがインターネットプロトコル(IP)とインターネットプロトコルセキュリティ(IPsec)ヘッダ情報、或いはその内部のIPXのような他のOSIレベル3データ又はプロトコルを包含するかどうかを判定する。L3プロセッサ209はまた、TCP/UDPヘッダを構文解析し、次いで、後で使用するための関連情報を抽出し分類する。IPsecヘッダ情報又は他のIPsecデータがパケット内で検出されると、パケットに関係して蓄積された他のデータと共にこの情報は、パケット順序マネージャ(POM)211に転送される。IP又はIPsecデータを包含しないパケットは、POM211に転送されて適切な宛先ポートに送られる。また、L3プロセッサ209は、パケットのIPsecヘッダ情報からSAインデックスを抽出し、POM211に渡される。
L3プロセッサは、パケットの例外ケースをチェックする。L3入力プロセッサ209は、パケットを例外ポート又は類似のハンドリング機構のいずれかに渡すよう要求するオプションや類似のパケット異常によって、IPチェックサムエラー、不正形式パケット、IPv4、又はIPv6についてチェックする。また、L3入力プロセッサ209は、構成されたプロトコルヘッダ値又はUDPポートを特定の例外ポート又は実行ユニットグループのいずれかに一致させるパケットを転送することができる。L3プロセッサ209は、パケットデータを入力パケット完了順序でPOM211に送る。
L2プロセッサ207とL3プロセッサ209は、パケットを構文解析して、該パケットを実行ユニット215によって処理する必要があるか、或いは処理せずにセキュリティプロセッサ103を介して渡す必要があるかどうかを判定する。1つの実施形態において、L2プロセッサ207とL3プロセッサ209は、1サイクルにつきパケットヘッダ64ビットを処理することができる。1つの実施形態において、L2プロセッサ207とL3プロセッサは、層2、層3、層4のIPパケット情報を構文解析できる。別の実施形態において、L2、L3ヘッダの構文解析は、幾つかの専用ユニットに分配された単一のユニットで実行されるか、或いは実行ユニット215のような汎用プロセッサ又は汎用プロセッサのセットによって達成される。
POM211は、パケットデータの処理において相対的な順序を保持する。復号されることになるIPsecデータを包含する、L2プロセッサ207とL3プロセッサ209によって取得されるデータから識別されたパケットに関する情報は、文脈検索システム213に転送される。他のパケットは、出力インターフェース225に転送されて宛先ポート又は例外ポートに送られる。POM211は、パケットが待ち行列に並んでいるか或いは処理されているときのパケットに関するフライト中の情報を保持する。POM211は、実行ユニット215用のパケットをスケジュールする。POM211は、L2プロセッサ207とL3プロセッサ209から集められた情報と共に入力バッファ205からパケットを抽出するのに必要な情報を記憶する。1つの実施形態において、POM211は、所与の時間において2048パケットを追跡できるバッファを管理する。POM211はまた、処理を必要としないパケット情報を入力バッファ205から出力インターフェース225に転送する。実際のパケットデータは、入力バッファ205又は出力バッファ221のいずれかにおいて保持され、POM211のような他のデバイスは、そのパケットデータの位置を識別するポインタ、アドレス、又はタグを他の構成要素に渡す。
また、POM211は、文脈検索213が必要とする情報を供給し、実行ユニット215が使用するのに適切なSA文脈情報を検索する。POM211は、実行ユニット215によって作成されたパケットについての情報を受信する。パケットがセキュリティプロセッサ103によって処理されてアウトバウンド送信のために待ち行列に並んだ後、POM211はパケット送信の順序付けを指示する。この種々の機能を達成するために、POM211は、入力バッファ205と出力バッファ221に記憶されたパケットを探し出して処理するのに要求される情報を内部に保持するとともに、セキュリティプロセッサ103にパケットが残っている間、パケットに固有の他の制御情報を内部に保持する。POM211はまた、パケットの到着時間の点で該パケットを互いに対して順序付けるのに要求されるデータを保持する。
文脈及びデータ検索システム213は、メモリ及び文脈記憶装置223にアクセスし、実行ユニット215が使用するためのパケットに関連付けられたセキュリティアクセス情報にアクセスする。IPsecでは、暗号文脈情報が1つのセキュリティアソシエーション(SA)ごとに要求される。文脈は、対称暗号化と認証に必要な秘密鍵だけでなく、再生に関する情報、シーケンス番号、SA生存期間、機密性を含んでいる。また、文脈メモリ223は汎用メモリとしても使用できる。POM211と連動する文脈及びデータ検索システム213は、セキュリティアソシエーション文脈情報と共にパケットデータを実行ユニット215にロードする。1つの実施形態において、文脈メモリは、ダブルデータレート(DDR)ランダムアクセスメモリユニット又は類似の装置のような外部メモリデバイスである。別の実施形態において、文脈メモリは、内部メモリデバイス又はメモリデバイスのセットやキャッシ或いは類似の記憶装置構造である。
実行ユニット215は、RFC2401に従うIPsec変換を適用することによってパケットを復号又は暗号化する。1つの実施形態において、実行ユニット215はまた、復号又は暗号化後のパケットの新しい長さを反映するようにL2ヘッダとトレーラ情報を調整する。1つの実施形態において、セキュリティプロセッサ103は、24の実行ユニットを含むことができる。実行ユニット215の出力は、出力バッファ221に記憶され、次いで、ポイント又はアドレスは、L3出力プロセッサ217に転送される。
1つの実施形態において、実行ユニット215は多くの暗号化プリミティブをサポートするマイクロコードエンジンである。暗号化プリミティブには、DES/3DES、AES、RC4などの対称暗号化アルゴリズムのための直接ハードウェアサポート、MD5とSHA−1暗号化ハッシュのための直接サポート、RSAのような非対称暗号化アルゴリズムを含む。別の実施形態において、実行ユニット215は、IPsecのような特定のプロトコルを実行するようカスタマイズされる。実行ユニット215はまた、パケット処理要件を決定するために層3の構文解析された情報を利用することができる。実行ユニット215は、入力パケットを処理するために、スクラッチメモリとして文脈記憶メモリ223を使用できる。
L3出力プロセッサ217は、出力パケットを評価して、レベル3のデータ(OSIモデルに基づく)が正確であり内部的に矛盾がないかどうかを判定する。L3出力プロセッサ217はまた、TCPとUDPヘッダを構文解析し、次の処理で使用するための情報を抽出することができる。L3出力プロセッサ217はまた、パケットをドロップするか或いは例外ポート又は類似のハンドリング機構に渡すよう要求するオプションや類似のパケット異常によって、IPチェックサムエラー、不正形式パケット、IPv4、又はIPv6についてチェックする。1つの実施形態において、L3出力プロセッサ217又は類似の装置はまた、変更されたパケットサイズ又はレベル2のパケットデータへの類似の変更を反映するようにレベル2の情報を修正することができる。
1つの実施形態において、L3出力プロセッサ217は、暗号化又は復号されたパケットをチェックして、IPエンキャプスレーションでのIPのようなパケットの更なる処理、ネストされた又はバンドルドIPsecセグメント、さらにはパケットが付加的な処理を要求する類似のシナリオを必要とする特別な状況が適用されるかどうかを判定することができる。更なる処理を要求するパケットは、POM211に転送されたこれらのポインタとタグ情報を有する。更なる処理を要求しないパケットのパケットポインタデータは、出力バッファマネージャ219に転送される。
出力バッファマネージャ219は、出力バッファ221内にパケット又はパケットポインタとタグデータを記憶する。出力インターフェース225がパケットを送信できる状態にある場合には、出力バッファマネージャ219は、パケットデータをインターフェース225に転送する。出力バッファマネージャ219は、出力バッファ221のフリーメモリスペースを管理する。1つの実施形態において、出力バッファマネージャは、出力バッファ221でのフリーメモリスペースを追跡するためにリンクされたリスト又は類似のデータ構造を使用する。1つの実施形態において、フリーメモリスペースは、256バイトブロックで追跡される。出力インターフェース225は、統計データを収集し、出力パケットにCRCコードを付加することができる。1つの実施形態において、出力インターフェース225は、32のSPIポートをサポートすることができる。別の実施形態において、PCI、PCIExpress、又は類似のシステムはまた、出力インターフェース225がサポート可能である。
図3は、セキュリティプロセッサ103を通る例示的なパケットのフロー図である。着信パケットは、パケットが有効であるか或いは認知されたプロトコル層タイプを包含するかどうかを判定するために分析される。パケットが処理を要求せず、或いは認知されたプロトコルタイプからのものではない場合には、これらのパケットは、出力待ち行列301に渡され、宛先ポート又は例外ポートで出力される。1つの実施形態において、出力待ち行列は、出力バッファ221や出力インターフェース225の一部である。幾つかの「通過」パケットは、適切なシーケンスを維持するかため、或いは送信されることになるパケットのシーケンスを修正するために再順序付け待ち行列303に転送される。再順序付け待ち行列303は、パケットがセキュリティプロセッサ103によって処理される間、パケットの1ポート当たりの順序を維持する。
処理を要求するものとして識別されたパケットは、入力待ち行列305に転送される。1つの実施形態において、入力待ち行列305は、入力インターフェース201又は入力バッファ205に実装される。これらのパケットは更に処理されて、宛先、発信元、タイプ、指定された実行ユニット215、或いは類似の基準によってパケットを分類するグループ待ち行列207に転送される。入力待ち行列205は、実行ユニット215により処理されるのを待機している入力パケットに関するデータをバッファする。
1つの実施形態において、グループ待ち行列207はPOM211に実装される。パケットは、該パケットがその待ち行列の先頭に到達すると実行ユニット215によって処理される。パケットは、要求されたオペレーションのグループに基づいて実行ユニット215に割り当てられる。1つの実施形態において、8つの異なるグループがサポートされる。実行ユニット215は、いずれかの単一のグループ又はグループのいずれかの組合せをサポートすることができる。パケットは、パケットシーケンスを維持又は修正するために再順序付け待ち行列303に処理後に転送され、或いは出力待ち行列301に直接転送される。出力待ち行列は、その実行ユニット215の処理要件を完了させた結果として得られるパケットの順序を維持し、且つ全ての他の順序付け要件を満足する。
待ち行列のこのセットにより、幾つかの異なるIPsec順序付けの実装が使用できるようになる。1つの実施形態において、再順序付け待ち行列303は、適切な順序で入力バッファ205及び出力バッファ221内に記憶されたパケットのポインタ又はタグのセットを保持しているPOM211によって実施される。
1つの実施形態において、IPsecアプリケーションは、1ポートにつき順序付け保証を要求することができる。セキュリティプロセッサ103は、同じ入出力ポートで出入りする全ての単一パケットが、プロセッサ103に入った順序でセキュリティプロセッサ103から出ることを保証することができる。別の実施形態において、IPsec実装により、通過トラフィックが再順序付け待ち行列303をバイパスできるようになる。これは、IPsecパケットの順序付けを維持し、パケットの全体的な順序付け以外の非IPsecパケットの順序付けを維持する。更なる実施形態において、再順序付け待ち行列は使用されず、パケット順序は保証されない。
図4Aは、セキュリティプロセッサ103によって処理されることになる例示的なパケット400の図である。パケット400は、パケットについてのデータを包含するプロプラエタリヘッダ401と、相補ユーザ定義データ(udd)セクション403とを含むことができる。プロプラエタリヘッダ401とudd403セクションは、セキュリティプロセッサ103とネットワークプロセッサ105又は他のプログラム可能なシステム装置との間に付加的な情報とデータを提供するために使用できる。
パケット400は、レベル2のプロトコルヘッダ405を含み、イーサネットを介したポイントツーポイント(PPoE)のようなレベル2「シム」ヘッダ情報407、マルチプロトコルラベルスイッチング(MPLS)、その他の類似のシステムを含むことができる。レベル2のヘッダフィールドは、パケット演算コードに応じてパケット内には存在しない可能性がある。セキュリティプロセッサ103は、セキュリティプロセッサ103によって構文解析又は検出されたレベル2のヘッダに関してプログラミングをサポートする。パケットは、ペイロードの宛先415とパケット400に関連するセキュリティアソシエーションをそれぞれ識別するIP411とIPsec411のヘッダのセットを含むことができる。IPヘッダは、パケット演算コードに応じてパケット内に存在しない可能性がある。パケット400はまた、レベル2のプロトコル末尾情報417と巡回冗長検査(CRC)フィールド419を含むことができる。パケットに関係するATMは、重要なトレーラを有することができる。
図4Bは、フレーマ101とネットワークプロセッサ105との間の処理にトランスペアレントなオペレーションを提供するセキュリティプロセッサ103によって可能なパケット構文解析と再組立てのフローチャートである。初期パケット400は、プロプラエタリヘッダ401とデータ403のフィールドを含むことができる。これらのフィールドを用いて、これらのヘッダとデータ用の設定されたフォーマットを確立することができる、セキュリティプロセッサ103とネットワークプロセッサ105のような「スマート」デバイス間で情報を通信することができる。1つの実施形態において、パケットは、プロプラエタリヘッダ401とデータ403を含まない。このヘッダ401とデータ403は、パケットがスマートデバイスに転送されることになる場合に加えることができる。別の実施形態において、パケット400は、プロプラエタリヘッダ401とデータ403を含むが、ダムデバイス(例えばフレーマ101)に転送されることになる。ヘッダ401とデータ403は、パケットから取り除かれる。
1つの実施形態において、パケット400は、レベル2のヘッダ情報を含む。この情報は、レベル2(L2)構文解析システム421によって分析される。1つの実施形態において、L2構文解析システム421は、L2ヘッダ405、L2シム407、L2末尾データを分析し、これらのフィールドでコード化されるプロトコルタイプ並びに情報を決定する。1つの実施形態において、L2構文解析システムは、この情報を直接転送して、処理されたパケット431のこれらのセクションを再組立てする。別の実施形態において、レベル2構文解析システム421は、L2 405とL2シム407フィールドから復号された情報を、存在する場合には、実行ユニット425に渡す。1つの実施形態において、L2構文解析システム421は、L2プロセッサ207のような装置によって部分的に或いは完全に実現できる。
1つの実施形態において、初期パケット400は、レベル3(L3)構文解析システム423によって分析される。L3構文解析システム423は、例えばIPヘッダ409とIPsecヘッダ411情報であるパケット400内に存在するレベル3のプロトコルのタイプと、どのようなデータをそこで符号化できるかを判断する。1つの実施形態において、L3構文解析システム423は、ヘッダ情報を直接転送して、処理されたパケット431のレベル3セクションを再組立てすることができる。別の実施形態において、L3構文解析システムは、復号された情報を実行ユニット425に渡す。1つの実施形態において、L3構文解析システム423は、L3プロセッサ209とL3出力プロセッサ217のようなデバイス又はデバイスのセットによって部分的に或いは完全に実現可能である。
実行ユニット425は、それぞれの構文解析システムからレベル2とレベル3の情報を受信する。実行ユニット425は、パケット400でのオペレーション、例えばIPsecペイロード415での復号オペレーションを主として実行する役割を担う。実行ユニットは、データが供給されたL2、L3構文解析システム421、423からパケット400上で実行されることになるオペレーションに関連する情報を受信する。パケット400でのオペレーションの終了後、実行ユニットは、修正されたデータを直接渡して、処理されたパケット431を再組立てすることができる。別の実施形態において、実行ユニット425は、L2構文解析システム421とL3構文解析システム423から受信されたデータを含む、処理されたパケット431を再組立てするために、処理されたデータを後処理システム又は論理に渡す。更なる実施形態において、実行ユニット425は、主として、処理されたデータと構文解析システムから受信されたデータからパケット431を再組立てする役割を担うことができる。1つの実施形態において、実行ユニット425は、実行ユニット215のようなデバイスで実現できる。
1つの実施形態において、後処理システム427は、主として実行ユニット425によって行われたオペレーションから結果として生じたパケット修正を反映するため、パケット400の情報を修正する役割を担う。後処理ユニット427は、パケット431が正確なヘッダと末尾データを確実に有するようにするため、処理されたパケット431のフィールドのいずれかにおけるデータを修正することができる。1つの実施形態において、後処理システム427は、パケット431でのデータ及び長さのどのような変更も反映する新しいCRCとL2値を生成する。1つの実施形態において、後処理システムは、実行ユニット215、L3出力プロセッサ217、出力インターフェース225といったデバイス又はデバイスのセットによって実現することができる。
図5は、L2プロセッサ207の機能のフローチャートである。L2プロセッサ207は、入力バッファマネージャ203からパケットのヘッダ情報、ポインタ、又はタグを受信する(ブロック501)。1つの実施形態において、パケットは、完全なパケットが受信され、そのCRCがチェックされるまで処理されない。1つの実施形態において、L2プロセッサ207は、レベル2のヘッダの種々のタイプやエンキャプスレーションを見つけるためにレベル2ヘッダから予め決められたバイトのセットにパターンマッチさせる比較器のセットを包含する。比較器は、1ビットにつきマスク可能であり、従って比較器は、パケットのあらゆるビットシーケンスも検出するようプログラムすることができる。1つの実施形態において、20の前置比較器と20の後置比較器が使用される。この構成により、パケットの2つの別々のシーケンシャル比較を行い、ヘッダのセットを識別することができる。前置比較器による第1比較により、見出されたヘッダのタイプと第2後置比較器比較に基づいてパケット内で前方にスキップする。
レベル2のヘッダが存在する場合、セキュリティプロセッサ103は、構成された前パターンに対して入力パケットの最初のバイトを比較する。各パターンは可変長であり、無効にすることができる。入力パケットに一致する前パターンが無い場合には、デフォルト情報を使用する。各パターンが記憶された情報とデフォルト情報は構成可能である。1つより多いパターンが一致する場合には、一致した第1パターンに関連する情報が選択される。1つの実施形態において、前パターン一致によって選択される情報は、更なる処理の前にスキップするパケットのバイト数を表すスキップカウント、実行ユニット215に転送されるレベル2のタイプ、この情報を使用して異なるレベル2のタイプを明確にする実行ユニット215、IPフィールド、スキップしたバイトの後にMPLSが現れる場合にセットされるMPLSイネーブルビット、さらには対応するビットがセットされる場合に後置比較器をイネーブルにする後置比較器イネーブルマスクである。前パターン一致の結果により、L2プロセッサ207がMPLSスタックにおいて次のバイトを変換する方法を決定する。MPLSスタックをスキップする論理は、最後のエントリーを除いてスタックの全てをスキップさせる。1つの実施形態において、L2プロセッサ207は、エラーチェックのための構成可能な最大MPLSスタック深さをサポートする。次の比較でチェックされ集められる情報は、第1の比較のものと同じである。
L2プロセッサ207は、所与のレベル2ヘッダが存在するかどうかをチェックする(ブロック503)。レベル2ヘッダが見つけられた場合、パターンマッチングは、通常見つかったヘッダのタイプの長さに基づいてバイトの予め決められた数だけ前にスキップする(ブロック505)。次にL2プロセッサ207は、MPLSスタックをチェックする(ブロック507)。このプロセスは、前−MPLSと後−MPLSパターンを含む各MPLSセクションが見つけられるまで繰り返される。L2プロセッサ207は、そのサーチを続ける前に識別されたMPLSセグメントのサイズに応じて、そのサーチを予め決められたバイト数だけ前に移動させる(ブロック509)。
L2プロセッサ207は続いてパケットの構文解析を行い、レベル2のエンキャプスレーションが存在するかどうかを判定する(ブロック511)。このエンキャプスレーションが見つかると、パケットへのポインタは、エンキャプスレーションセクションのサイズに基づいて予め決められたバイト数だけ進められる(ブロック513)。レベル2の情報を構文解析するプロセスでは、L2プロセッサ207はまた、より大きなパケット内のIPパケットの開始位置を求める。パケットがIPパケットを含まない場合には、パケットの更なる処理はセキュリティプロセッサ103によって要求されず、パケット情報は、宛先又は例外ポートに転送することができる。IPパケットが存在する場合には、パケット情報は、見つかったレベル2の情報と共にL3プロセッサ209に渡される。
図6は、例示的なL3プロセッサ209の機能のフローチャートである。L3プロセッサは、L2プロセッサ207からポインタ、タグ、又はパケット情報を受信する(ブロック601)。L3プロセッサ209はパケットをチェックし、パケットがIPv4又はIPv6パケットを含んでいるかどうかを判定する(ブロック603)。これらのフォーマットのいずれも存在しない場合、パケットは例外ポートに転送される(ブロック605)。次いで、L3プロセッサ209は、検出されたIPヘッダ情報を確認する(ブロック607)。IP情報が正確でない場合には、パケットは例外ポートに転送される(ブロック605)。次にL3プロセッサは、IPパケットが正常なIPパケットであるか、又はIPsecパケットを含むか、或いは非IPsecIPエンキャプスレーションを包含するかを識別する(ブロック609)。
IPエンキャプスレーションのない正常なIPパケットは、適切な宛先ポートに転送される(ブロック611)。非IPsecエンキャプスレートIPパケットは、特別なハンドリングを検出するように構成された特別なプロトコル又はUDP/TCPポートを包含するか否かをチェックするために調べられる(ブロック613)。パケットがそのプロトコルタイプ又はポート数のいずれかによって識別された構成されたエンキャプスレーションを含まない場合には、該パケットは、例外ポートに転送される(ブロック615)。パケットが、特別なハンドリングのために構成されたエンキャプスレーションを含む場合、そのパケットは、実行ユニットによって処理されることになる待ち行列に配置される(ブロック617)。別の実施形態において、非IPsecIPエンキャプスレートパケットは、正常なIPパケットが処理されたときに識別され、分類され、更に処理される。
IPsecを含むパケットは、IPヘッダで指定された宛先ポートについてチェックされる(ブロック619)。宛先ポートは、プロセッサ103の宛先アドレスの構成可能な範囲に基づいてパケットがIPsecゲートウェイに向けられるかどうかを判定するためにチェックされる(ブロック621)。パケットがIPsecゲートウェイに向けられない場合には、パケットは適切な出力ポートに転送される(ブロック623)。IPsecゲートウェイに向けられたパケットは、そこに包含されるセキュリティパラメータインデックス(SPI)を求めるために構文解析されたそのIPseヘッダを有する(ブロック625)。次いで、L3プロセッサは、SPIをメモリ223内のSA文脈に対するインデックスに変換する(ブロック627)。次に、この情報は、実行ユニット215による処理のための待ち行列に転送される(ブロック629)。
図7は、実行ユニット215によるパケット情報の処理と、L3出力プロセッサ217による次の処理についての1つの実施形態のフローチャートである。実行ユニット215は、パケットがL2、L3プロセッサ207、209によって処理された後、POM211・SA文脈データ及びパケットデータ検索システム213からの処理のパケットを受信する。実行ユニット215は、RFC2401に従ってパケットの暗号化データに対してIPsec変換を適用する(ブロック701)。次いで、実行ユニット215は、レベル2のトレーラ情報と共に復号されたIPsecセクションに対してL2プロセッサによって識別されたL2ヘッダ情報を付加することによってパケットを再構成する(ブロック703)。実行ユニット215は、L2ヘッダ又はトレーラ情報で必要な場合にはパケット長情報を修正する(ブロック705)。1つの実施形態において、実行ユニット215のマイクロコードは、どのようなレベル2のヘッダの変更が必要であるかを判定する。例えば、IEEE802.3パケットは、適切なパケットを生成するために実行ユニット215によって修正を必要とする可能性のある長さフィールドを有する。また実行ユニットは、パケットの最後まで「パッド」(サイズ要件を満たすために含まれる無意味なデータ)を計算して加え、長さフィールドを挿入することが必要となる場合がある。
L3出力プロセッサ217は、実行ユニット215によって生成されたパケットをチェックし、デキャプスレート或いは復号されたパケットが有効IPパケットであるかどうかをチェックする。パケットが有効IPパケットである場合には、該パケットはPOM211によって出力待ち行列に配置され、或いは適切な例外ポートに送られる。
1つの実施形態において、構文解析と復号後のパケットの再組立ては、L3プロセッサ217に送られる前に実行ユニット215によって主に行われる。別の実施形態において再組立ては、専用のデバイス、例えば出力プロセッサか分散システムで実行される。分散システムは、例えばL2データを作成するL2プロセッサ207、L3データを作成するL3プロセッサ209又はL3出力プロセッサ217などの複数のデバイスがパケットの種々のフィールドを構成する。或いは再組み立ては、正確なヘッダと末尾データを有する処理されたパケットを生成するのに必要なフィールドを作成する類似するデバイスによって実行される。従って、セキュリティプロセッサ103がフレーマ101とネットワークプロセッサ105との間でインライン方式でトランスペアレントに動作することが可能となる。
CRCを計算し、復号されたパケットに付加する(ブロック709)。1つの実施形態において、CRCフィールドは、出力インターフェース225によって作成される。別の実施形態において、CRCフィールドは、実行ユニット215、L3出力プロセッサ、又は同等の構造体によって作成される。出力インターフェース及び実行ユニット215は、同じ生成多項式を使用する種々のCRC規格を実装するようにプログラム可能である。アウトバウンドパケットは送信のための待ち行列である(ブロック711)。
上記明細書では、特定の実施形態に関して本発明を説明してきた。しかしながら、添付の請求項に記載の本発明の広範な精神及び範囲から逸脱することなく、種々の修正及び変更を本発明に対し行い得ることは明らかであろう。本明細書及び図面は、従って限定ではなく例証とみなすべきである。
101 フレーマ
103 セキュリティプロセッサ
105 ネットワークプロセッサ

Claims (23)

  1. フレーマからネットワークプロセッサに向けられているパケットを該フレーマとネットワークプロセッサとの間で処理するするセキュリティプロセッサを含み、
    前記フレーマは、物理層でのデータの送信及び受信を行い、
    前記ネットワークプロセッサは、パケットを処理し、
    前記セキュリティプロセッサは、パケット内の他のプロトコル層を終了させることなく該パケット内のIPsecプロトコル層を処理するものであり、
    さらに、層を終了させることがパケットの層を除去することである装置。
  2. 前記セキュリティプロセッサは、前記パケット内のIPsecプロトコル層を復号することを特徴とする請求項1に記載の装置。
  3. 前記セキュリティプロセッサは、前記パケットに暗号化IPsecプロトコル層を生成することを特徴とする請求項1に記載の装置。
  4. パケットのプロトコルタイプを決定するためのタイプ決定回路と、
    前記タイプ決定回路に結合された、前記パケットの暗号化プロトコル層を復号するための少なくとも1つの実行ユニットと、
    復号後に前記パケットのプロトコル層データを修正するための修正回路と、
    タイプ決定回路に結合するとともに、フレーマと通信して該フレーマからのパケットを受信する、第1通信回路と
    を含む装置。
  5. 前記パケットが暗号化されたプロトコル層を包含しているかどうかを判定するために前記タイプ決定回路に結合された暗号検出回路を更に含むことを特徴とする請求項4に記載の装置。
  6. 前記タイプ決定回路は、前記パケットを構文解析して少なくとも1つのレベル2プロトコルタイプを求めることを特徴とする請求項4に記載の装置。
  7. 前記タイプ決定回路は、前記パケットを構文解析して少なくとも1つのレベル3プロトコルタイプを求めることを特徴とする請求項4に記載の装置。
  8. 復号後に、前記パケットを前記ネットワークプロセッサに転送する、前記修正回路に結合した第2通信回路と
    をさらに備えた請求項4に記載の装置。
  9. 前記修正回路は、プロトコル層における長さデータを変更することを特徴とする請求項4に記載の装置。
  10. メモリデバイスからセキュリティアソシエーション文脈を検索するために前記少なくとも1つの実行ユニットに結合されたセキュリティアソシエーション回路を更に含むことを特徴とする請求項4に記載の装置。
  11. セキュリティプロセッサによって実行される方法であって、
    パケットを処理したネットワークプロセッサからのパケットを受信する段階と、
    前記パケットを構文解析して前記パケットがレベル2プロトコル情報を有しているか判定する段階と、
    IPsecプロトコル層を処理する段階と、
    ヘッダ情報を修正するよう前記パケットを変更する段階と、
    物理層を介してパケットをフレーマデバイスに送る段階と
    を含む方法。
  12. 前記IPsecプロトコル層の処理段階は、前記IPsecプロトコル層を復号する段階を含む請求項11に記載の方法。
  13. 前記IPsecプロトコル層の処理段階は、前記IPsecプロトコル層を暗号化する段階を含む請求項11に記載の方法。
  14. パケットを処理したネットワークプロセッサからのパケットを受信する手段と、
    前記パケットを構文解析して前記パケットがレベル2プロトコル情報を有しているか判定する手段と、
    IPsecプロトコル層を処理する手段と、
    処理後にプロトコル層情報を修正する手段と、
    物理層を介してパケットをフレーマデバイスに送る手段と
    を含む装置。
  15. メモリデバイスからセキュリティアソシエーション文脈を検索する手段を更に含む請求項14に記載の方法。
  16. プロトコル層情報を修正する前記手段は、構文解析された情報と前記IPsecプロトコル層の処理後に修正された情報とから前記パケットのレベル2プロトコル情報を作成することを含む請求項14に記載の方法。
  17. パケットを送受信するためのフレーマデバイスと、
    パケットを処理するためのネットワークプロセッサと、
    前記フレーマデバイスからパケットを受信して前記ネットワークプロセッサに該パケットを転送するセキュリティプロセッサであって、他のいずれかのプロトコル層をも終了させることなくIPsecプロトコル層を処理するセキュリティプロセッサと
    を含み、層を終了させることがパケットの層を除去することであるシステム。
  18. 前記セキュリティプロセッサに結合された、セキュリティアソシエーション文脈データを記憶するためのメモリデバイスを更に含むことを特徴とする請求項17に記載のシステム。
  19. 前記セキュリティプロセッサは、前記IPsecプロトコル層を復号することを特徴とする請求項17に記載のシステム。
  20. 機械によって実行されたときに、前記機械に、
    前記パケットに含まれるプロトコル層のタイプを求めるようフレーマデバイスから受信されたパケットを処理し、
    IPsecプロトコル層を復号するために前記パケットを処理し、
    復号されたIPプロトコル層と該復号されたIPプロトコル層に基づくプロトコル層情報とを含むよう前記パケットを修正する、
    ことを含むオペレーションを実行させる命令を提供する機械可読媒体。
  21. 前記パケットの前記修正段階は、前記復号されたIPプロトコル層のサイズを含む長さによってレベル2プロトコル層情報を作成する段階を含む請求項20に記載の機械可読媒体。
  22. 修正されたパケットをネットワークプロセッサに送ることを更に含む請求項20に記載の機械可読媒体。
  23. 復号されたIPプロトコル層を含む修正されたパケットのCRCフィールドを作成することを更に含む請求項20に記載の機械可読媒体。
JP2010131757A 2003-04-12 2010-06-09 IPSecを用いたネットワーク処理 Expired - Lifetime JP5074558B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/411,909 2003-04-12
US10/411,909 US7398386B2 (en) 2003-04-12 2003-04-12 Transparent IPSec processing inline between a framer and a network component

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006509485A Division JP2006524959A (ja) 2003-04-12 2004-03-30 フレーマとネットワーク構成要素との間のインラインを処理するトランスペアレントipsec

Publications (2)

Publication Number Publication Date
JP2010259081A true JP2010259081A (ja) 2010-11-11
JP5074558B2 JP5074558B2 (ja) 2012-11-14

Family

ID=33131103

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006509485A Pending JP2006524959A (ja) 2003-04-12 2004-03-30 フレーマとネットワーク構成要素との間のインラインを処理するトランスペアレントipsec
JP2010131757A Expired - Lifetime JP5074558B2 (ja) 2003-04-12 2010-06-09 IPSecを用いたネットワーク処理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006509485A Pending JP2006524959A (ja) 2003-04-12 2004-03-30 フレーマとネットワーク構成要素との間のインラインを処理するトランスペアレントipsec

Country Status (4)

Country Link
US (1) US7398386B2 (ja)
EP (1) EP1614250B1 (ja)
JP (2) JP2006524959A (ja)
WO (1) WO2004092930A2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398386B2 (en) 2003-04-12 2008-07-08 Cavium Networks, Inc. Transparent IPSec processing inline between a framer and a network component
US7974284B2 (en) * 2003-06-27 2011-07-05 Broadcom Corporation Single and double tagging schemes for packet processing in a network device
US20050034045A1 (en) * 2003-08-08 2005-02-10 Lueck Andrew W. System for optimizing PCI-Express communications
US7620041B2 (en) * 2004-04-15 2009-11-17 Alcatel-Lucent Usa Inc. Authentication mechanisms for call control message integrity and origin verification
US7422152B2 (en) 2004-05-13 2008-09-09 Cisco Technology, Inc. Methods and devices for providing scalable RFID networks
US7895431B2 (en) * 2004-09-10 2011-02-22 Cavium Networks, Inc. Packet queuing, scheduling and ordering
US8316431B2 (en) * 2004-10-12 2012-11-20 Canon Kabushiki Kaisha Concurrent IPsec processing system and method
US7509431B2 (en) * 2004-11-17 2009-03-24 Cisco Technology, Inc. Performing message and transformation adapter functions in a network element on behalf of an application
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7664879B2 (en) 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7725934B2 (en) 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US7496750B2 (en) * 2004-12-07 2009-02-24 Cisco Technology, Inc. Performing security functions on a message payload in a network element
US7606267B2 (en) 2004-12-10 2009-10-20 Cisco Technology, Inc. Reducing the sizes of application layer messages in a network element
US8082304B2 (en) 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US7551567B2 (en) * 2005-01-05 2009-06-23 Cisco Technology, Inc. Interpreting an application message at a network element using sampling and heuristics
US7698416B2 (en) 2005-01-25 2010-04-13 Cisco Technology, Inc. Application layer message-based server failover management by a network element
GB2422752A (en) * 2005-02-01 2006-08-02 3Com Corp Deciphering encapsulated and enciphered UDP datagrams
GB2424556A (en) * 2005-03-23 2006-09-27 3Com Corp Packet fragment deciphering with cipher state storage
US7535907B2 (en) * 2005-04-08 2009-05-19 Oavium Networks, Inc. TCP engine
US8266327B2 (en) 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
US7345585B2 (en) 2005-08-01 2008-03-18 Cisco Technology, Inc. Network based device for providing RFID middleware functionality
AU2005218009B2 (en) * 2005-09-28 2011-01-27 Canon Kabushiki Kaisha Decoupled header and packet processing in IPsec
KR100670817B1 (ko) * 2005-12-09 2007-01-19 한국전자통신연구원 IXDP2851에서의 IPSec 엔진 구현 방법 및 장치
US7797406B2 (en) * 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US20080052531A1 (en) * 2006-08-11 2008-02-28 Id-Catch Ab Device and Method for Secure Biometric Applications
US8379638B2 (en) * 2006-09-25 2013-02-19 Certes Networks, Inc. Security encapsulation of ethernet frames
US8190881B2 (en) 2007-10-15 2012-05-29 Foundry Networks Llc Scalable distributed web-based authentication
US8635440B2 (en) * 2007-12-13 2014-01-21 Microsoft Corporation Proxy with layer 3 security
US7817636B2 (en) 2008-01-30 2010-10-19 Cisco Technology, Inc. Obtaining information on forwarding decisions for a packet flow
AT507262B1 (de) * 2008-08-27 2011-04-15 Sgl Carbon Se Verfahren zum aufarbeiten von festen oder schmelzflüssigen stoffen
US9128769B2 (en) 2011-10-13 2015-09-08 Cavium, Inc. Processor with dedicated virtual functions and dynamic assignment of functional resources
US9129060B2 (en) 2011-10-13 2015-09-08 Cavium, Inc. QoS based dynamic execution engine selection
US9083563B2 (en) * 2012-06-29 2015-07-14 Avaya, Inc. Method for reducing processing latency in a multi-thread packet processor with at least one re-order queue
US9231865B2 (en) * 2012-08-10 2016-01-05 Wisconsin Alumni Research Foundation Lookup engine with reconfigurable low latency computational tiles
US9106618B2 (en) * 2013-01-23 2015-08-11 Alcatel Lucent Control plane encryption in IP/MPLS networks
WO2015039710A1 (en) * 2013-09-19 2015-03-26 Huawei Technologies Co., Ltd. Method and device for end-to-end cyclic redundancy check over multiple data units
US9461815B2 (en) * 2013-10-18 2016-10-04 Advanced Micro Devices, Inc. Virtualized AES computational engine
US9438414B2 (en) * 2013-10-18 2016-09-06 Advanced Micro Devices, Inc. Virtualized SHA computational engine
US9729574B2 (en) 2014-02-14 2017-08-08 Alcatel Lucent Seamless switchover for anti-replay connections in multiple network processor systems
WO2018142571A1 (ja) * 2017-02-03 2018-08-09 三菱電機株式会社 転送装置および通信ネットワーク
US11108751B2 (en) * 2017-10-27 2021-08-31 Nicira, Inc. Segmentation of encrypted segments in networks
US10721172B2 (en) 2018-07-06 2020-07-21 Marvell Asia Pte, Ltd. Limiting backpressure with bad actors
DE102019116510A1 (de) * 2019-06-18 2020-12-24 Beckhoff Automation Gmbh Netzwerkteilnehmer und Automatisierungsnetzwerk
US11646997B2 (en) * 2021-03-19 2023-05-09 Charter Communications Operating, Llc Data transmission method with selective latency reduction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001010095A2 (en) * 1999-07-30 2001-02-08 Intel Corporation Protection of communications
JP2002271417A (ja) * 2001-03-06 2002-09-20 Hitachi Cable Ltd トンネリング装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032242B1 (en) * 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
US6141705A (en) 1998-06-12 2000-10-31 Microsoft Corporation System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
US20030037235A1 (en) * 1998-08-19 2003-02-20 Sun Microsystems, Inc. System for signatureless transmission and reception of data packets between computer networks
US7107614B1 (en) * 1999-01-29 2006-09-12 International Business Machines Corporation System and method for network address translation integration with IP security
US6678734B1 (en) * 1999-11-13 2004-01-13 Ssh Communications Security Ltd. Method for intercepting network packets in a computing device
US6327625B1 (en) * 1999-11-30 2001-12-04 3Com Corporation FIFO-based network interface supporting out-of-order processing
US7000120B1 (en) * 1999-12-23 2006-02-14 Nokia Corporation Scheme for determining transport level information in the presence of IP security encryption
US6708218B1 (en) * 2000-06-05 2004-03-16 International Business Machines Corporation IpSec performance enhancement using a hardware-based parallel process
US7028332B1 (en) * 2000-06-13 2006-04-11 Intel Corporation Method and apparatus for preventing packet retransmissions during IPsec security association establishment
US7131137B1 (en) * 2000-06-29 2006-10-31 Intel Corporation Communication system including a security system
US7155740B2 (en) * 2000-07-13 2006-12-26 Lucent Technologies Inc. Method and apparatus for robust NAT interoperation with IPSEC'S IKE and ESP tunnel mode
US20020042875A1 (en) 2000-10-11 2002-04-11 Jayant Shukla Method and apparatus for end-to-end secure data communication
US8161539B2 (en) * 2002-04-19 2012-04-17 International Business Machines Corporation IPSec network adapter verifier
US7398386B2 (en) 2003-04-12 2008-07-08 Cavium Networks, Inc. Transparent IPSec processing inline between a framer and a network component

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001010095A2 (en) * 1999-07-30 2001-02-08 Intel Corporation Protection of communications
JP2002271417A (ja) * 2001-03-06 2002-09-20 Hitachi Cable Ltd トンネリング装置

Also Published As

Publication number Publication date
EP1614250A4 (en) 2011-03-23
US7398386B2 (en) 2008-07-08
EP1614250A2 (en) 2006-01-11
US20040205336A1 (en) 2004-10-14
JP2006524959A (ja) 2006-11-02
EP1614250B1 (en) 2015-08-26
JP5074558B2 (ja) 2012-11-14
WO2004092930A2 (en) 2004-10-28
WO2004092930A3 (en) 2005-05-26

Similar Documents

Publication Publication Date Title
JP5074558B2 (ja) IPSecを用いたネットワーク処理
JP4685855B2 (ja) 高速送信IPsec処理のための2つの並列エンジン
US10135739B2 (en) Network-based computational accelerator
US9015467B2 (en) Tagging mechanism for data path security processing
US7826614B1 (en) Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation
US7502474B2 (en) Network interface with security association data prefetch for high speed offloaded security processing
US7587587B2 (en) Data path security processing
US7885405B1 (en) Multi-gigabit per second concurrent encryption in block cipher modes
US7454610B2 (en) Security association updates in a packet load-balanced system
US7412726B1 (en) Method and apparatus for out of order writing of status fields for receive IPsec processing
US10826876B1 (en) Obscuring network traffic characteristics
US10884960B2 (en) Offloading data movement for packet processing in a network interface controller
US7526085B1 (en) Throughput and latency of inbound and outbound IPsec processing
US20080028210A1 (en) Packet cipher processor and method
US7818563B1 (en) Method to maximize hardware utilization in flow-thru IPsec processing
US7624263B1 (en) Security association table lookup architecture and method of operation
US7958255B1 (en) Partial coalescing of transmit buffers
KR100624691B1 (ko) 블록 암호화 데이터의 복호화 처리 장치 및 그 방법
US7787481B1 (en) Prefetch scheme to minimize interpacket gap
US7512787B1 (en) Receive IPSEC in-line processing of mutable fields for AH algorithm
JP2004180234A (ja) 暗号パケット処理装置
JP4647479B2 (ja) IPsec回路及びIPsec処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120724

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120823

R150 Certificate of patent or registration of utility model

Ref document number: 5074558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250