(57)【特許請求の範囲】
【請求項１】
ホスト情報処理システム（ＩＨＳ）によって、データ・パケットに関連するセキュリティ・メタデータを格納するステップと、
ホストＩＨＳによって、セキュア・データ・リンクを介してデータ・パケットとセキュリティ・メタデータとを、ホストＩＨＳの外部にあるステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスに、オフロードするステップと、
ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスによって、静的セキュリティ関連情報を格納するステップと、
ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスによって、データ・パケットとセキュリティ・メタデータとを受信するステップと、
ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスによって、データ・パケットを、セキュリティ・メタデータによって指示される通りに、暗号化およびカプセル化して、カプセル化・暗号化されたデータ・パケットを提供するステップと、
ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスによって、カプセル化・暗号化されたデータ・パケットを、外部のネットワーク・インターフェイス・コントローラに送信するステップと、
外部のネットワーク・インターフェイス・コントローラによって、カプセル化・暗号化されたデータ・パケットを、ホストＩＨＳ以外のＩＨＳへの通信のため通信ネットワークに送信するステップと、
を含む方法。
【請求項２】
ホストＩＨＳ、セキュア・データ・リンク、ステートレスな外部セキュリティ・オフロード・デバイス、および、外部のネットワーク・インターフェイス・コントローラが、ネットワーク・ノードを構成するステップと、
をさらに含む、
請求項１に記載の方法。
【請求項３】
ステートレス外部セキュリティ・オフロード・デバイスがＩＰｓｅｃプロトコルを用いる、
請求項１に記載の方法。
【請求項４】
内部ネットワーク・インターフェース・コントローラを含むホスト情報処理システム（ＩＨＳ）と、
前記ホストＩＨＳに連結されたセキュア・データ・リンクと、
前記セキュア・データ・リンクを介して、前記ホストＩＨＳに連結されたステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスであって、前記ホストＩＨＳの外部にあって、静的セキュリティ関連情報を格納する、前記ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスと、
前記ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスに連結されて、前記ホストＩＨＳの外部にある、外部ネットワーク・インターフェース・コントローラと、
を含む、ネットワーク・ノードであって、
前記ホストＩＨＳは、データ・パケットに関連するセキュリティ・メタデータを格納するよう構成され、前記ホストＩＨＳは、前記データ・パケットおよび関連するセキュリティ・メタデータを、前記セキュア・データ・リンクを介して前記ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスにオフロードするように構成されており、
前記ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスは、
データ・パケットおよびセキュリティ・メタデータを受信し、
データ・パケットを、セキュリティ・メタデータによって指示される通りに、暗号化およびカプセル化して、カプセル化・暗号化されたデータ・パケットを提供し、
前記カプセル化・暗号化されたデータ・パケットを、外部ネットワーク・インターフェース・コントローラに送信する、
よう構成されており、
前記外部ネットワーク・インターフェース・コントローラが、
前記カプセル化・暗号化されたデータ・パケットを、前記ホストＩＨＳ以外のＩＨＳへの通信のため、通信ネットワークに送信する、
よう構成されている、
ネットワーク・ノード。
【請求項５】
ステートレス外部セキュリティ・オフロード・デバイスがＩＰｓｅｃプロトコルを用いる、
請求項４に記載のネットワーク・ノード。
【請求項６】
内部ネットワーク・インターフェース・コントローラを含むホスト情報処理システム（ＩＨＳ）と、
前記ホストＩＨＳに連結されたセキュア・データ・リンクと、
前記セキュア・データ・リンクを介して前記ホストＩＨＳに連結されたステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスであって、前記ホストＩＨＳの外部にあって、静的セキュリティ関連情報を格納して、データ・パケットがセキュリティ処理を要求しているかどうかを判定する、前記ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスと、
前記ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスに連結されて、前記ホストＩＨＳの外部にある、外部ネットワーク・インターフェース・コントローラと、
を含むネットワーク・ノードであって、
前記ステートレスなネットワーク付属の外部セキュリティ・オフロード・デバイスは、
通信ネットワークからカプセル化・暗号化されたデータ・パケットを受信し、
カプセル化・暗号化されたデータ・パケットを、カプセル化解除および暗号解読し、カプセル化解除・暗号解読されたデータ・パケットを提供し、
前記カプセル化解除・暗号解読されたデータ・パケットとセキュリティ・メタデータとを前記ホストＩＨＳに送信する、
よう構成されている、
ネットワーク・ノード。
【請求項７】
ステートレス外部セキュリティ・オフロード・デバイスがＩＰｓｅｃプロトコルを用いる、
請求項６に記載のネットワーク・ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に情報処理システム（ＩＨＳ：ｉｎｆｏｒｍａｔｉｏｎ  ｈａｎｄｌｉｎｇ  ｓｙｓｔｅｍ）におけるデータ・セキュリティに関し、さらに具体的には、ネットワーク接続されたＩＨＳ間の通信におけるデータ・セキュリティに関する。
【背景技術】
【０００２】
発信元ＩＨＳおよび宛先ＩＨＳの認証によってネットワーク通信のセキュリティを高めることが可能である。また、発信元ＩＨＳと宛先ＩＨＳとの間の通信の暗号化も、ネットワーク通信のセキュリティを高めることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
セキュリティ・プロトコルを用いて保護されたデータ・パケットを、通信ネットワーク経由で通信するための方法およびネットワーク・ノードを提供する。
【課題を解決するための手段】
【０００４】
一態様において、ホスト情報処理システム（ＩＨＳ）によって、データ・パケットに関連するセキュリティ・メタデータを格納するステップを含む、セキュリティ・オフロード方法が開示される。また、本方法は、ホストＩＨＳによって、データ・パケットがセキュリティ処理を必要とするデータ・パケットかどうかを判定するステップを含む。本方法は、ホストＩＨＳがデータ・パケットはセキュリティ処理を必要としないと判定した場合、ホストＩＨＳによって、そのデータ・パケットを内部ネットワーク・インターフェース・コントローラに提供するステップをさらに含み、内部ネットワーク・インターフェース・コントローラは、ホストＩＨＳ以外のＩＨＳへの通信のため、データ・パケットを通信ネットワークに送信する。本方法は、ホストＩＨＳがデータ・パケットはセキュリティ処理を必要とすると判定した場合、ホストＩＨＳによって、セキュア・データ・リンクを介し、そのデータ・パケットおよび関連するセキュリティ・メタデータを、ステートレス外部セキュリティ・オフロード・デバイスにオフロードし、しかしてオフロードされたデータ・パケットを提供するステップをさらに含み、このステートレス外部セキュリティ・オフロード・デバイスはホストＩＨＳの外部にある。また、本方法は、オフロードされたデータ・パケットを、ステートレス外部セキュリティ・オフロード・デバイスによって暗号化およびカプセル化し、しかしてカプセル化・暗号化されたデータ・パケットを提供するステップを含む。本方法は、カプセル化・暗号化されたデータ・パケットを、ステートレス外部セキュリティ・オフロード・デバイスによって、さるなる処理のため、セキュア・データ・リンクを介してホストＩＨＳに返送するステップをさらに含む。また、本方法は、カプセル化・暗号化されたデータ・パケットを、ホストＩＨＳの内部ネットワーク・インターフェース・コントローラによって、ホストＩＨＳ以外のＩＨＳへの通信のため通信ネットワークに送信するステップを含む。
【０００５】
別の態様において、ホスト情報処理システム（ＩＨＳ）を含むネットワーク・ノードが開示される。このホストＩＨＳは、内部ネットワーク・インターフェース・コントローラを含む。本ネットワーク・ノードは、ホストＩＨＳに連結するセキュア・データ・リンクを含む。また、本ネットワーク・ノードは、このセキュア・データ・リンクを介してホストＩＨＳに連結するステートレス外部セキュリティ・オフロード・デバイスを含む。この外部セキュリティ・オフロード・デバイスは、ホストＩＨＳの外部にある。ホストＩＨＳは、データ・パケットに関連するセキュリティ・メタデータを格納するよう構成される。また、このホストＩＨＳは、データ・パケットおよび関連するセキュリティ・メタデータを、セキュア・データ・リンクを介してステートレス外部セキュリティ・オフロード・デバイスにオフロードし、しかしてオフロードされたデータ・パケットを提供するよう構成される。ステートレス外部セキュリティ・オフロード・デバイスは、オフロードされたデータ・パケットおよびするセキュリティ・メタデータを受信するよう構成される。また、ステートレス外部セキュリティ・オフロード・デバイスは、オフロードされたデータ・パケットを暗号化およびカプセル化し、しかしてカプセル化・暗号化されたデータ・パケットを提供するよう構成される。ステートレス外部セキュリティ・オフロード・デバイスは、カプセル化・暗号化されたデータ・パケットを、さらなる処理のためホストＩＨＳに返送するようさらに構成される。また、ホストＩＨＳは、カプセル化・暗号化されたデータ・パケットを、ホストＩＨＳ以外のＩＨＳへの通信のため、ホストＩＨＳの内部ネットワーク・インターフェース・コントローラを介して通信ネットワークに送信するよう構成される。
【０００６】
さらに別の態様において、ホスト情報処理システム（ＩＨＳ）の内部にある内部ネットワーク・インターフェース・コントローラによって、通信ネットワークからデータ・パケットを受信し、しかして受信されたデータ・パケットを提供するステップを含む、セキュリティ・オフロード方法が開示される。また、本方法は、ホストＩＨＳによって、受信されたデータ・パケットが、セキュリティ処理を必要とするカプセル化・暗号化されたデータ・パケットかどうかを判定するステップを含む。本方法は、ホストＩＨＳが、受信されたデータ・パケットはセキュリティ処理を必要とするカプセル化・暗号化されたデータ・パケットでないと判定した場合、受信されたデータ・パケットを、ＩＨＳによって、処理のためホストＩＨＳ中のアプリケーションに転送するステップをさらに含む。本方法は、ホストＩＨＳが、受信されたデータ・パケットはセキュリティ処理を必要とするカプセル化・暗号化されたデータ・パケットであると判定した場合、その受信されたデータ・パケットを、ホストＩＨＳによって、セキュア・データ・リンクを介してステートレス外部セキュリティ・オフロード・デバイスにオフロードするステップをさらに含み、このステートレス外部セキュリティ・オフロード・デバイスはホストＩＨＳの外部にある。また、本方法は、受信されたデータ・パケットを、ステートレス外部セキュリティ・オフロード・デバイスによってカプセル化解除および暗号解読し、しかしてカプセル化解除・暗号解読されたデータ・パケットを提供するステップを含む。本方法は、カプセル化解除・暗号解読されたデータ・パケットを、ホストＩＨＳ中のアプリケーションによるさるなる処理のため、ステートレス外部セキュリティ・オフロード・デバイスによって、セキュア・データ・リンクを介してホストＩＨＳに返送するステップをさらに含む。
【０００７】
別の態様において、ホスト情報処理システム（ＩＨＳ）を含むネットワーク・ノードが開示される。このホストＩＨＳは、内部ネットワーク・インターフェース・コントローラを含む。本ネットワーク・ノードは、ホストＩＨＳに連結するセキュア・データ・リンクを含む。また、本ネットワーク・ノードは、セキュア・データ・リンクを介してホストＩＨＳに連結するステートレス外部セキュリティ・オフロード・デバイスを含む。この外部セキュリティ・オフロード・デバイスは、ホストＩＨＳの外部にある。ホストＩＨＳは、通信ネットワークから内部インターフェース・コントローラを介してデータ・パケットを受信し、しかして受信されたデータ・パケットを提供するよう構成される。また、ホストＩＨＳは、受信されたデータ・パケットが、セキュリティ処理を必要とするカプセル化・暗号化されたデータ・パケットかどうかを判定するよう構成される。ホストＩＨＳは、ホストＩＨＳが受信されたデータ・パケットはセキュリティ処理を必要とするカプセル化・暗号化されたデータ・パケットでないと判定した場合、受信されたデータ・パケットを、処理のためホストＩＨＳ中のアプリケーションに転送するよう構成される。ホストＩＨＳは、ホストＩＨＳが受信されたデータ・パケットはセキュリティ処理を必要とするカプセル化・暗号化されたデータ・パケットであると判定した場合、その受信されたデータ・パケットを、セキュア・データ・リンクを介してステートレス外部セキュリティ・オフロード・デバイスにオフロードし、しかしてオフロードされたデータ・パケットを提供するようさらに構成される。このステートレス外部セキュリティ・オフロード・デバイスは、オフロードされたデータ・パケットをカプセル化解除および暗号解読し、しかしてカプセル化解除・暗号解読されたデータ・パケットを提供するよう構成される。また、ステートレス外部セキュリティ・オフロード・デバイスは、カプセル化解除・暗号解読されたデータ・パケットを、ホストＩＨＳ中のアプリケーションによるさるなる処理のため、セキュア・データ・リンクを介してホストＩＨＳに返送するよう構成される。
【０００８】
本発明のさらなる特徴が、添付の他の請求項に定義されている。
【０００９】
単なる例示を目的として、本発明の実施形態（群）を、添付の図面を参照しながら以下に説明する。
【図面の簡単な説明】
【００１０】
【図１】本開示のネットワーク・システムのブロック図である。
【図２】本開示のネットワーク・システムが用いることのできるネットワーク・ノードのブロック図である。
【図３】ネットワーク・ノードにおいて、アウトバウンド・データ・パケットを、外部セキュリティ・オフロード・デバイスを用いて処理する一つの方法を表すフロー・チャートである。
【図４】ネットワーク・ノードにおいて、インバウンド・データ・パケットを、外部セキュリティ・オフロード・デバイスを用いて処理する一つの方法を表すフロー・チャートである。
【図５】ネットワーク・ノードにおいて、アウトバウンド・データ・パケットを、外部セキュリティ・オフロード・デバイスを用いて処理する別の方法を表すフロー・チャートである。
【図６】ネットワーク・ノードにおいて、インバウンド・データ・パケットを、外部セキュリティ・オフロード・デバイスを用いて処理する別の方法を表すフロー・チャートである。
【発明を実施するための形態】
【００１１】
本開示のネットワーク・システムにおいて、ネットワーク・ノードは、セキュア・データ・リンクを介してステートレスな外部セキュリティ・オフロード・デバイスに連結するホスト情報処理システム（ＩＨＳ）を含む。このステートレス外部セキュリティ・オフロード・デバイスは、ネットワーク・システム中の一つ以上の他のネットワーク・ノードと通信する外部のネットワーク・インターフェース・コントローラに連結している。ホストＩＨＳは、ホストＩＨＳ上のセキュリティ関係の作業負荷を軽減するため、外部セキュリティ・オフロード・デバイスにセキュリティ関係のタスクをオフロードする。例えば、外部セキュリティ・オフロード・デバイスは、ホストＩＨＳに代行して、データ・パケットに追加の任意のヘッダを付加することができ、もしくはデータ・パケットに暗号手法を適用する、またはその両方を行うことができる。ホストＩＨＳは、カプセル化およびカプセル化解除、暗号化および暗号解読、並びに認証など、セキュリティ関係のタスクを、ネットワーク付属のデバイスである外部セキュリティ・オフロード・デバイスにオフロードすることが可能である。一実施形態において、ホストＩＨＳは、ＩＰｓｅｃシーケンス番号などの状態情報を、外部セキュリティ・オフロード・デバイスの中よりも、むしろホストＩＨＳのＴＣＰ／ＩＰスタックの中に格納し、しかして、ステートフルの外部セキュリティ・オフロード・デバイスよりも、むしろステートレスな外部セキュリティ・オフロード・デバイスを備えることが可能である。
【００１２】
図１は、通信ネットワーク１０２を介して一緒に連結している、ネットワーク・ノード１０１および１０１’など、複数のネットワーク・ノードを含む、本開示のネットワーク・システム１００のブロック図である。通信ネットワーク１０２は、有線もしくは無線リンクまたはその両方を含め、実際上任意の種類の通信装置であってよい。例えば、通信ネットワーク１０２は、送信ライン、ルータ、スイッチ、ハブ、ネットワーク・ファブリック、インターネット接続、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）および広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含み得る。ネットワーク・ノード１０１もしくはネットワーク・ノード１０１’は、セキュリティ処理が必要なデータ・パケットの送信元となり得る。ネットワーク・ノード１０１がデータ・パケットの送信元のときに、ネットワーク・ノード１０１’がそのデータ・パケットの宛先であり得る。逆に、ネットワーク・ノード１０１’がデータ・パケットの送信元のときに、ネットワーク・ノード１０１がそのデータ・パケットの宛先となり得る。ネットワーク・システム１００には、図１に示されるよりも多くのネットワーク・ノードを含めることができる。
【００１３】
ネットワーク・ノード１０１は、ホストＩＨＳ１０３を通信ネットワーク１０２に連結する内部ネットワーク・インターフェース・コントローラ１０７を備えた、ホストＩＨＳ１０３を含む。また、ネットワーク・ノード１０１は、セキュア・データ・リンク１０５を介してホストＩＨＳ１０３に連結する外部セキュリティ・オフロード・デバイス１０４を含む。一実施形態において、外部セキュリティ・オフロード・デバイス１０４は「ネットワーク付属」のデバイスである。外部ネットワーク・インターフェース・コントローラ１０６は、外部セキュリティ・オフロード・デバイス１０４を通信ネットワーク１０２に連結する。一実施形態において、外部ネットワーク・インターフェース・コントローラ１０６は、図示のように、外部セキュリティ・オフロード・デバイス１０４に連結している。別の実施形態において、外部ネットワーク・インターフェース・コントローラ１０６は、外部セキュリティ・オフロード・デバイス１０４の内部にあるが、それでもホストＩＨＳ１０３に対しては外部である。同様に、ネットワーク・ノード１０１’は、ホストＩＨＳ１０３’を通信ネットワーク１０２に連結する内部ネットワーク・インターフェース・コントローラ１０７’を備えたホストＩＨＳ１０３’を含む。また、ネットワーク・ノード１０１’は、セキュア・データ・リンク１０５’を介してホストＩＨＳ１０３’に連結する外部セキュリティ・オフロード・デバイス１０４’を含む。一実施形態において、外部セキュリティ・オフロード・デバイス１０４’はネットワーク付属のデバイスである。外部ネットワーク・インターフェース・コントローラ１０６’は、外部セキュリティ・オフロード・デバイス１０４’を通信ネットワーク１０２に連結する。
【００１４】
図２は、ネットワーク・システム１００が、ネットワーク・ノード１０１もしくはネットワーク・ノード１０１’またはその両方として、およびネットワーク・システム１００の他のネットワーク・ノード（図示せず）として、用いることのできるネットワーク・ノード１０１のブロック図である。さらに詳しくは、図２は、セキュア・データ・リンク１０５を介し外部セキュリティ・オフロード・デバイス１０４に連結したホスト情報処理システム（ＩＨＳ）１０３を含む、ネットワーク・ノード１０１を示す。
【００１５】
セキュア・データ・リンク１０５は、暗号化されていないトラフィックが、意図されていない第三者によって視取または変更されるのを防止する。セキュリティを達成するために、セキュア・データ・リンク１０５は、開放型システム間相互接続（ＯＳＩ：Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）のレイヤ１の物理的分離、ＯＳＩレイヤ２の暗号化、および他のＯＳＩレイヤもしくは他のセキュリティ方策またはそれらの両方を用いることができる。ホストＩＨＳ１０３は、複数のコアおよびＳＲＡＭキャッシュ１５０を含み得るプロセッサ１１０を含む。ホストＩＨＳ１０３は、デジタル形式、アナログ形式、または他の形式の情報を処理、伝送、通信、修正、格納、または別途に取り扱う。ホストＩＨＳ１０３は、メモリ・コントローラ１２５およびメモリ・バス１３０を介してシステム・メモリ１２０をプロセッサ１１０に連結する、バス１１５を含む。一実施形態において、システム・メモリ１２０はプロセッサ１１０の外部にある。システム・メモリ１２０は、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）のアレイもしくはダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）のアレイまたはその両方とすることができる。映像グラフィックス・コントローラ１３５は、ディスプレイ１４０をバス１１５に連結する。ハード・ディスク・ドライブ、ＣＤドライブ、ＤＶＤドライブ、または他の不揮発性ストレージなどの不揮発性ストレージ１４５は、バス１１５に連結し、ホストＩＨＳ１０３に情報の恒久的なストレージを提供する。キーボード、およびマウス・ポインティング・デバイスなどのＩ／Ｏデバイス１９０は、Ｉ／Ｏコントローラ１５５およびＩ／Ｏバス１６０を介してバス１１５に連結する。ＵＳＢ、ＩＥＥＥ１３９４バス、ＡＴＡ、ＳＡＴＡ、ＰＣＩ、ＰＣＩＥ、ＤＶＩ、ＨＤＭＩ、および他の拡張バスなど、一つ以上の拡張バス１６５が、周辺機器およびデバイスのホストＩＨＳ１０３への接続を容易化するためバス１１５に連結している。図２中の点線１０３はホストＩＨＳ１０３、およびホストＩＨＳ１０３のハウジングもしくはシャーシまたはその両方を表す。このように、点線１０３の内側のホストＩＨＳ１０３の構造体はホストＩＨＳ１０３の内部にあり、点線１０３の外側のネットワーク・ノード１０１の構造体はホストＩＨＳ１０３の外部にある。
【００１６】
ネットワーク・ノード１０１のホストＩＨＳ１０３は、内部ネットワーク・インターフェース・コントローラ１０７を含み、該コントローラはバス１１５に連結し、ホストＩＨＳ１０３が、有線または無線によって、通信ネットワーク１０２などのネットワークと、ネットワーク・ノード１０１’など、他の情報処理システムおよびネットワーク・ノードとに接続できるようにしている。ホストＩＨＳ１０３は、デスクトップ、サーバ、携帯機器、ラップトップ、ノートブックあるいは他のフォーム・ファクタのコンピュータまたはデータ処理システムの形を取ることができる。ホストＩＨＳ１０３は、ゲーム・デバイス、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、携帯電話デバイス、通信デバイス、または、プロセッサおよびメモリを含む他のデバイスなど、他のフォーム・ファクタを取ることも可能である。また、ホストＩＨＳ１０３は、携帯機器、ラップトップ、ノートブック、ゲーム・デバイス、ＰＤＡ、または任意のバッテリ駆動デバイスの形を取ることができる。一実施形態において、ホストＩＨＳ１０３のパフォーマンスは、特に、ネットワーク待ち時間を増やし得る演算集約的処理（パケット・セキュリティおよびＩＰｓｅｃの処理など）の影響を受けやすい。
【００１７】
ホストＩＨＳ１０３には、ＣＤ、ＤＶＤ、または他の媒体などデジタル媒体１７５上のコンピュータ・プログラム製品を含めることができる。一実施形態において、デジタル媒体１７５は、アプリケーション１８２を含む。ユーザは、不揮発性ストレージ１４５上のアプリケーション１８２をアプリケーション１８２’としてロードすることができる。不揮発性ストレージ１４５は、オペレーティング・システム１８１を格納することができ、該システムにネットワーク・ソフトウェア１８３を含めることが可能である。ホストＩＨＳ１０３が初期化されると、該ホストＩＨＳは、オペレーティング・システム１８１’、ネットワーク・ソフトウェア１８３’、およびアプリケーション１８２”として実行するために、オペレーティング・システム１８１およびアプリケーション１８２’をシステム・メモリ１２０の中にロードする。オペレーティング・システム１８１’は、ネットワーク・ソフトウェア１８３’を含むことができ、ホストＩＨＳ１０３のオペレーションを制御する。ホストＩＨＳ１０３は、セキュア・データ・リンク１０５を介して外部セキュリティ・オフロード・デバイス１０４に連結する。外部セキュリティ・オフロード・デバイス１０４は、外部ネットワーク・インターフェース・コントローラ１０６に連結している。しかして、外部ネットワーク・インターフェース・コントローラ１０６は「ネットワーク付属」のデバイスとなる。「ネットワーク付属」のデバイスは、複数のネットワーク・ノードを相互接続することが可能な、通信ネットワーク１０２などの通信ネットワークに対し、有線もしくは無線またはその両方のポータルとしての役割を果たす。例えば、外部ネットワーク・インターフェース・コントローラ１０６および１０６’、並びに内部ネットワーク・インターフェース・コントローラ１０７および１０７’は、通信ネットワーク１０２を介し、ネットワーク・ノード１０１および１０１’を相互接続する有線もしくは無線またはその両方のポータルとしての機能を果たす。ホストＩＨＳ１０３は、セキュア・データ・リンク１０５、外部セキュリティ・オフロード・デバイス１０４、および外部ネットワーク・インターフェース・コントローラ１０６と一緒に、データ・パケットを他のネットワーク・ノードに通信するため、集合的にネットワーク・ノード１０１を形成する。一実施形態において、ホストＩＨＳ１０３は、外部セキュリティ・オフロード・デバイス１０４と協働して、これらのデータ・パケットを、インターネット・プロトコル・セキュリティ（ＩＰｓｅｃ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｉｔｙ）プロトコル群などのセキュリティ・プロトコルを用いてセキュアすることができる。
【００１８】
一実施形態において、ネットワーク・ノード１０１の外部セキュリティ・オフロード・デバイス１０４は、ホストＩＨＳ１０３の命令の下でホストＩＨＳ１０３を代行して、インターネット・プロトコル（ＩＰ：ＩｎｔｅｒｎｅｔＰｒｏｔｏｃｏｌ）通信をセキュアするために、インターネット・プロトコル・セキュリティ（ＩＰｓｅｃ）プロトコル群を用いることが可能である。外部セキュリティ・オフロード・デバイス１０４は、データ・パケットのカプセル化およびカプセル化解除を促進し、データ・パケットの暗号化および暗号解読を促進し、データ・パケットを認証し、任意に、ファイアウォールおよび侵入検出サービス（ＩＤＳ：ｉｎｔｒｕｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ  ｓｅｒｖｉｃｅ）並びにデータ・パケットに対する他の任意のサービスを行うためのプロセッサ（図示せず）、を含む情報処理システムとすることができる。また、外部セキュリティ・オフロード・デバイス１０４は、メモリ（図示せず）およびストレージ（図示せず）を含むことが可能である。
【００１９】
外部セキュリティ・オフロード・デバイス１０４は、ＩＰデータ・パケットの認証を行うセキュリティ・プロトコルを用いることができ、認証されたＩＰデータ・パケットをカプセル化する。認証されたＩＰデータ・パケットをカプセル化した後、セキュリティ・プロトコルによって、カプセル化されたＩＰデータ・パケットを暗号化することができる。例えば、ＩＰｓｅｃプロトコルは、通信セッションの各ＩＰデータ・パケットを認証し暗号化する。また、ＩＰｓｅｃは、通信セッションの開始時に、エージェント間の相互認証を確立するためのプロトコル、およびこの通信セッションの間用いる暗号鍵の交渉をするためのプロトコルを含む。ホストＩＨＳ１０３およびホストＩＨＳ１０３’は、かかるエージェントの例である。さらに具体的には、セキュリティを備えた、ネットワーク・ソフトウェア１８３のこの部分は、人間のセキュリティ管理者の命令を受けて作動するエージェントである。一実施形態において、外部セキュリティ・オフロード・デバイス１０４は、ネットワーク・ノード１０１のため、全てのＩＰｓｅｃカプセル化およびカプセル化解除オペレーション、並びに暗号化、暗号解読、および認証を提供することが可能である。このことは、ネットワーク・ノード１０１中のホストＩＨＳ１０３のセキュリティ関係の作業負荷を軽減する。
【００２０】
セキュリティ・ポリシは、プロトコルに、ある特定のデバイスが受信するデータ・パケットをどのように処理するかを命令する、設計者、プログラマまたは他のエンティティ・プログラムが、ＩＰｓｅｃプロトコルなどのセキュリティ・プロトコルの中にプログラムするルールである。例えば、セキュリティ・ポリシは、ある特定のデータ・パケットがＩＰｓｅｃプロトコル・セキュリティ処理を必要とするかどうかを決めることができる。セキュリティ処理を必要としないデータ・パケットは、認証ヘッダ（ＡＨ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｈｅａｄｅｒ）プロトコル処理、またはカプセル化セキュリティ・ペイロード（ＥＳＰ：Ｅｎｃａｐｓｕｌａｔｉｎｇ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ）プロトコル処理をバイパスしてもよい。デバイスが、ある特定のデータ・パケットがセキュリティ・プロトコル処理を必要とすると判定した場合、セキュリティ・ポリシは、該デバイスに、そのデータ・パケットに対するセキュリティを取り扱うためのガイドラインを用いるよう命令することができる。一実施形態において、ホストＩＨＳ１０３もしくは外部セキュリティ・オフロード・デバイス１０４またはその両方は、これらデバイス内のセキュリティ・ポリシ・データベース（図示せず）中にセキュリティ・ポリシを格納することが可能である。セキュリティ・アソシエーション（ＳＡ：Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）情報は、２つのデバイスの間のセキュアな接続の特定の型を表すセキュリティ情報のセットである。このＳＡ情報は、２つのデバイスが相互に安全に通信するため用いることができる特定のセキュリティ・メカニズムを含む。
【００２１】
一実施形態において、外部セキュリティ・オフロード・デバイス１０４は、ネットワーク付属のデバイスとして作動する。ネットワーク付属のデバイスは、ネットワークに接続し、ファイル・ベースのストレージ・サービスもしくは他の特殊なサービスまたはその両方を提供する情報処理システム（ＩＨＳ）であり得る。一実施形態において、外部セキュリティ・オフロード・デバイス１０４は、カプセル化、カプセル化解除、暗号化、暗号解読、および認証など、専門化されたセキュリティ関係サービスを提供する。
【００２２】
本開示のネットワーク・システム１００の一実施形態において、外部セキュリティ・オフロード・デバイス１０４よりも、むしろホストＩＨＳ１０３のオペレーティング・システム１８１’中の、ネットワーク・ソフトウェア１８３’のＴＣＰ／ＩＰスタック１８４が、ＩＰｓｅｃセキュリティ・アソシエーション（ＳＡ）状態情報の全てを維持する。この配置は、外部セキュリティ・オフロード・デバイス１０４がステートレスなデバイスであることを可能にする。一部の実施形態では、外部セキュリティ・オフロード・デバイス１０４に、例えば、ファイアウォール・サービス、侵入検出サービス、および、当該ネットワーク・ノードの外部セキュリティ・オフロード・デバイスも通過する非暗号化データに対する、ディープ・パケット・インスペクション・サービスなど他のネットワーク・サービスを組み入れることが可能である。一実施形態において、外部セキュリティ・オフロード・デバイス１０４とネットワーク・ノード１０１のホストＩＨＳ１０３との間の物理的分離、および外部セキュリティ・オフロード・デバイス１０４のステートレスな特質は、（１）最小のシステム干渉または中断で、外部セキュリティ・オフロード・デバイス１０４の「ホット・スワッピング」または切り替えを行うことを容易にし、（２）状態同期の混乱なしに、付加バランスまたはホットスタンバイのため、複数の外部セキュリティ・オフロード・デバイスを構成することを可能にし、さらに、（３）システム・メンテナンスのためまたはマルチホーム・ホストのために、外部セキュリティ・オフロード・デバイス群を動的に有効化し無効化することを可能にする。マルチホーム・ホストは複数のネットワーク接続を含む。マルチホーム・ホストは、複数のネットワークまたは同一のネットワークに接続することができる。
【００２３】
本開示のネットワーク・システム１００の一実施形態では、ホストＩＨＳ１０３から、ネットワーク・ノード１０１の外部セキュリティ・オフロード・デバイス１０４にセキュリティ処理がオフロードされる。ホストＩＨＳ１０３のオペレーティング・システム１８１’中の、ネットワーク・ソフトウェア１８３’のＴＣＰ／ＩＰスタック１８４が、状態情報を維持する。ホストＩＨＳ１０３のオペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ＩＰデータ・パケットに対するアウトバウンド・メタデータの選択を外部セキュリティ・オフロード・デバイス１０４に連絡する。アウトバウンド・メタデータは、ホストＩＨＳ１０３のネットワーク・ソフトウェア１８３’が外部セキュリティ・オフロード・デバイス１０４に送信するＩＰデータ・パケットについての情報を含むことができる。アウトバウンド・メタデータは、ＩＰｓｅｃセキュリティ・アソシエーション（ＳＡ）情報およびＩＰデータ・パケットに適用する関連ＳＡ状態情報を含むことが可能である。セキュリティ・アソシエーション（ＳＡ）情報とは、ネットワーク・トラフィックがトンネルを使える仕様（例えば、ＩＰｓｅｃはこれを特定のネットワーク・アドレスまたはプロトコルに制限することができる）、認証のための暗号化アルゴリズムの選択、暗号化および暗号解読、これらのアルゴリズムに使われる暗号鍵、およびデータをカプセル化する方法など、交渉済みのＳＡ属性を言う。例えば、ＩＰｓｅｃは、カプセル化されたトンネルおよび伝送モードを可能にする。ＳＡ状態情報とは、リプレイ防止に使われるカウンタ、またはＳＡによって保護されるデータの量を制限するために使われるカウンタなど、存続期間に亘って切り替わるＳＡの属性を言う。
【００２４】
ＩＨＳのオペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’は、ＩＰデータ・パケットの中にインターネット・プロトコル（ＩＰ）ヘッダを挿入することによって、アウトバウンド・メタデータをＩＰデータ・パケットに添付することができ、そのＩＰデータ・パケットとアウトバウンド・メタデータとを外部セキュリティ・オフロード・デバイス１０４に送信することが可能であり、あるいは、ネットワーク・ソフトウェア１８３’は、ＩＰデータ・パケットとアウトバウンド・メタデータとを通信するための専用のイーサネット（Ｒ）フレームを外部セキュリティ・オフロード・デバイス１０４に送信することも可能である。
【００２５】
一実施形態において、ネットワーク・ソフトウェア１８３’は、ＩＰｓｅｃプロトコルなどのセキュリティ・プロトコルを用いてＩＰデータ・パケットのカプセル化を制御するＳＡポリシ・ルールを含む。他の実施形態において、他のセキュリティ・プロトコルを用いることが可能である。一実施形態において、ホストＩＨＳ１０３中のＴＣＰ／ＩＰスタック１８４は、ＩＰデータ・パケットを外部セキュリティ・オフロード・デバイス１０４に送信する。ホストＩＨＳ１０３のオペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’のＳＡポリシ・ルールは、ＩＰｓｅｃを用いてパケットのカプセル化を制御するルールを定める。ＴＣＰ／ＩＰスタック１８４を実装するネットワーク・ソフトウェア１８３’は、データ・パケットをカプセル化するために使う適切なＩＰｓｅｃのＳＡを選択する。対応する必要なアウトバウンド・メタデータは、セキュリティ・パラメータ指標（ＳＰＩ：ｓｅｃｕｒｉｔｙ  ｐａｒａｍｅｔｅｒ  ｉｎｄｅｘ）と、トンネルのプロトコル、すなわち、例えば認証ヘッダ（ＡＨ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｈｅａｄｅｒ）プロトコルまたはカプセル化セキュリティ・ペイロード（ＥＳＰ）プロトコルなど、トンネルがデータ伝送に用いる特定のプロトコルと、を含むことができる。また、アウトバウンド・メタデータは、外部セキュリティ・オフロード・デバイス１０４がＩＰデータ・パケットをカプセル化する際に使用するため、ＴＣＰ／ＩＰスタック１８４が外部セキュリティ・オフロード・デバイス１０４のために選択した、ＩＰｓｅｃシーケンス番号を含むことも可能である。
【００２６】
別の実施形態において、外部セキュリティ・オフロード・デバイス１０４は、内部ネットワーク・インターフェース・コントローラ１０７を使って、通信ネットワーク１０２を介し最終宛先に送信するため、対応する暗号化されカプセル化されたＩＰｓｅｃデータ・パケットを、ホストＩＨＳ１０３のネットワーク・ソフトウェア１８３’中のＴＣＰ／ＩＰスタック１８４に返送する。外部セキュリティ・オフロード・デバイス１０４は、該外部セキュリティ・オフロード・デバイスがＴＣＰ／ＩＰスタック１８４から受信した、ＩＰデータ・パケットのカプセル化もしくは暗号化またはその両方の要求に応じ、インバウンド・メタデータをＴＣＰ／ＩＰスタック１８４に返送することができる。このインバウンド・メタデータは、カプセル化オペレーションの成功または失敗を表す結果コードを含むことができる。
【００２７】
さらに別の実施形態において、ホストＩＨＳ１０３のネットワーク・ソフトウェア１８３’中のＴＣＰ／ＩＰスタック１８４は、暗号解読およびカプセル化解除のため、ＩＰｓｅｃパケットを外部セキュリティ・オフロード・デバイス１０４に送信する。ＴＣＰ／ＩＰスタック１８４は、カプセル化解除を必要とするカプセル化データ・パケットと共にアウトバウンド・メタデータを送信することが可能である。このアウトバウンド・メタデータには、カプセル化解除のオペレーションを行うように外部セキュリティ・オフロード・デバイス１０４に指示する選択情報を含めることができる。
【００２８】
さらに別の実施形態において、外部セキュリティ・オフロード・デバイス１０４は、インバウンド・データ・パケット処理のために、カプセル化解除されたパケットを、ホストＩＨＳ１０３のネットワーク・ソフトウェア１８３’中のＴＣＰ／ＩＰスタック１８４に返送する。外部セキュリティ・オフロード・デバイス１０４は、カプセル化解除されたデータ・パケットと共に、インバウンド・メタデータをＴＣＰ／ＩＰスタック１８４に送信することができる。このインバウンド・メタデータは、ＴＣＰ／ＩＰスタック１８４が、外部セキュリティ・オフロード・デバイス１０４がデータ・パケットについてＴＣＰ／ＩＰポリシ・ルールに対しどのＳＡを使ったどうか点検できるように、ＳＰＩと、通信ネットワーク１０２がデータ・パケットを伝送するために使ったトンネルのＡＨまたはＥＳＰプロトコルと、を含むことができる。また、このメタデータは、ＴＣＰ／ＩＰスタック１８４がパケットに対し観察したＩＰｓｅｃリプレイ・シーケンス番号を含むことも可能である。ＴＣＰ／ＩＰスタック１８４は、最終的なステートフル・チェックを行い、データ・パケットが「リプレイされ」ており、このため無効であるかどうかを検証する。
【００２９】
要約すれば、ホストＩＨＳ１０３中のオペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’中のＴＣＰ／ＩＰスタック１８４と、外部セキュリティ・オフロード・デバイス１０４との間でやりとりされ得るメタデータ情報は、カプセル化する、カプセル化される、カプセル化解除する、カプセル化解除されるなど実施されるオペレーションの選択または表示を含むことができる。このメタデータは、妥当な場合、オペレーションに対する結果コード、並びにトンネル・プロトコルおよびＳＰＩの選択および表示など、重要な情報を含むことが可能である。また、この重要な情報は、パケット・リプレイ・シーケンス番号の選択および表示を含むことができる。パケット・リプレイ・シーケンス番号は、外部セキュリティ・オフロード・デバイスがステートレスな仕方で作動することを可能にする状態情報である。
【００３０】
下記の表１は、ホストＩＨＳ１０３中のオペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’のＴＣＰ／ＩＰスタック１８４と、外部セキュリティ・オフロード・デバイス１０４とがやりとりし得る重要な情報（メタデータ）を含む、例示的なインバウンドまたはアウトバウンドＩＰオプション・ヘッダを示す。これらのフィールドは「オプション型」ｉｐｏ＿ｔｙｐ、および「オプション長さ」ｉｐｏ＿ｌｅｎを含み、これらは各々１バイトの長さである。１バイト長の「流れ機能コード」ｉｐｏ＿ｓｅｃｏｆｆ＿ｆｕｎｃｔｉｏｎは、＃１−カプセル化解除する、＃２−カプセル化解除される、＃３−カプセル化する、または＃４−カプセル化される、を含むことができる。１バイト長のｉｐｏ＿ｓｅｃｏｆｆ＿ｒｃは、流れ＃１または＃４に対する「リターン・コード」を表す。「主要プロトコル」フィールドは１バイト長のｉｐｏ＿ｄｅｃｏｆｆ＿ｐｒｏｔｏｃｏｌとすることができる。流れ＃２または＃３に対し、ｉｐｏ＿ｄｅｃｏｆｆ＿ｐｒｏｔｏｃｏｌは、ＳＰＩに関連するプロトコルを表す。例えば、ＡＨおよびＥＳＰの双方が使用可能なトンネルに対しては、ＡＨもしくはＥＳＰ、ＳＰＩを指定することができる。表１は、将来の使用のために３バイトのｉｐｏ＿ｓｅｃｏｆｆ＿ｒｓｖｄフィールドを取っておく。４バイト長のフィールドｉｐｏ＿ｓｅｃｏｆｆ＿ｓｐｉは、流れ＃２に対してはオリジナルのインバウンド・パケット中のローカルＳＰＩを、あるいは流れ＃３中のアウトバウンド・パケットに対しては使用予定の遠隔ＳＰＩを特定する。４バイト長のｉｐｏ＿ｓｅｃｏｆｆ＿ｓｅｑフィールドは、流れ＃２に対するオリジナルのインバウンド・パケット中のシーケンス番号とすることができ、または、流れ＃３のアウトバウンド・パケットに対しメタデータが指定するシーケンス番号とすることができる。ＡＨヘッダおよびＥＳＰヘッダの両方は、ＡＨおよびＥＳＰプロトコルの両方が使われている場合、流れ＃３に対して提供されたｉｐｏ＿ｓｅｃｏｆｆ＿ｓｅｑの値を使う必要がある。
【００３１】
【表１】
0005746446.tif 000002
【００３２】
図３および４は、ネットワーク・スイッチ、ルータ、ファイアウォールまたは侵入検出デバイスが、ホストＩＨＳ中のオペレーティング・システムのネットワーク・ソフトウェア中のＴＣＰ／ＩＰスタック１８４に流れるデータ・トラフィックに対する、ゲートウェイまたはゲート・キーパとしての役割を果たすときに実行できる、「バンド内（ｉｎ−ｂａｎｄ）」処理の実施形態を表すフロー・チャートである。「バンド内」処理は、外部セキュリティ・オフロード・デバイス１０４内で行われる。「バンド内」処理は、外部セキュリティ・オフロード・デバイス１０４が、パケットをＴＣＰ／ＩＰスタック１８４に返送する必要なく、最終のネットワーク宛先に直接送信するために、パケットをカプセル化および暗号化することができ、着信したデータ・パケットをＴＣＰ／ＩＰスタック１８４に返送する前に、外部セキュリティ・オフロード・デバイスによる即時の処理のために該パケットをカプセル化解除することができる。以下で説明する図５および６は、「バンド外（ｏｕｔ−ｏｆ−ｂａｎｄ）」処理の実施形態を示し、この処理では、全てのデータ・パケットが、暗号化／カプセル化またはカプセル化解除／暗号解読のために、ＴＣＰ／ＩＰスタック１８４から外部セキュリティ・オフロード・デバイス１０４に送られ、その後、最終処理のためにＴＣＰ／ＩＰスタック１８４に返送される。「バンド外」処理は、外部セキュリティ・オフロード・デバイス１０４の外で行われる処理である。バンド外処理は、外部セキュリティ・オフロード・デバイスとホストＩＨＳ１０３との間で別の往来が必要となり得る。
【００３３】
図３のフロー・チャートは、ステートレス外部セキュリティ・オフロード・デバイス１０４において、データ・セキュリティ・プロトコルをアウトバウンド・データ・パケットに適用する、本開示の方法の一実施形態を表す。アウトバウンド・データ・パケットとは、ネットワーク・ノード１０１のホストＩＨＳ１０３が他のネットワークに送信するデータ・パケットである。外部セキュリティ・オフロード・デバイス１０４は、ホストＩＨＳ１０３に代行してアウトバウンド・データ・パケットにデータ・セキュリティ・プロトコル・オペレーションを提供するのに加え、ファイアウォールもしくは侵入検出サービス（ＩＤＳ）またはその両方のほか、データ・セキュリティ・プロトコル・オペレーションを提供するなど、他のネットワーキング機能を実施することができる。外部セキュリティ・オフロード・デバイス１０４は、アウトバウンド・データ・パケットにセキュリティ・オペレーションを施し、かかるデータ・パケットをさらなるセキュリティ処理のためホストＩＨＳ１０３に返送する必要なく、それらアウトバウンド・データ・パケットを宛先ノードに送信することによって、アウトバウンド・データ・パケットの「バンド内」処理を提供する。簡明化のため、図３のフロー・チャートでは、ステートレス外部セキュリティ・オフロード・デバイス１０４を「オフロード・デバイス」と称している。図３のフロー・チャート中の各ブロックは、一つの実施形態中のそれぞれのブロックの機能を実行している構造体を識別するため、「オフロード・デバイス」または「ホストＩＨＳ」などの記載を含む。
【００３４】
さらに詳しくは、プロセス・フローは開始ブロック２０５から始まる。ブロック２１０で、ホストＩＨＳ１０３中のアプリケーション１８２”が、ホストＩＨＳ１０３のオペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’にデータ・パケットを送信する。判定ブロック２１５で、そのデータ・パケットのネットワーク送信がセキュリティ処理を必要としない場合、ブロック２４５で、ホストＩＨＳ１０３のオペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、該データ・パケットをネットワーク経由で外部セキュリティ・オフロード・デバイス１０４に送信し、外部ネットワーク・インターフェース・コントローラ１０６を介して直接、最終宛先ネットワーク・ノードに送信して、プロセス・フローはブロック２５０で終了する。
【００３５】
また一方、判定ブロック２１５で、オペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’が、ネットワーク送信はデータ・セキュリティ・プロトコルの適用が必要であると判定した場合、ネットワーク・ソフトウェア１８３’は、ブロック２２０で、表１の流れ＃３に従って、そのデータ・パケットにセキュリティ・メタデータおよび状態データを付けることができる。このようなメタデータはアウトバウンド・メタデータである。オペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’は、ブロック２２５で、該メタデータとデータ・パケットとを、ネットワークセキュア・データ・リンク１０５経由で外部セキュリティ・オフロード・デバイス１０４に送信する。外部セキュリティ・オフロード・デバイス１０４は、ブロック２３０で、状態データを含め、データ・パケットおよび対応するメタデータを受信して読み出す。外部セキュリティ・オフロード・デバイス１０４は、ブロック２３５で、データ・パケットに対し、ファイアウォール・サービスもしくは侵入検出サービス（ＩＤＳ）またはその両方などの任意の処理を行うことができ、ブロック２４０で、データ・パケットを暗号化およびカプセル化する。外部セキュリティ・オフロード・デバイス１０４は、ブロック２４５で、カプセル化・暗号化されたデータ・パケットを、外部ネットワーク・インターフェース・コントローラ１０６を介し、ネットワークを経由して直接、最終宛先ネットワーク・ノードに送信する。プロセス・フローはブロック２５０で終了する。
【００３６】
図４のフロー・チャートは、ネットワークから外部セキュリティ・オフロード・デバイス１０４を介してインバウンド・データ・パケットを受信する、本開示の方法の一実施形態を表す。インバウンド・データ・パケットとは、ネットワーク・ノード１０１のホストＩＨＳ１０３が他のネットワーク・ノードから受信するデータ・パケットである。外部セキュリティ・オフロード・デバイス１０４はインバウンド・データ・パケットを受信し、かかるデータ・パケットをさらなるセキュリティ処理のためにホストＩＨＳ１０３に返送する必要なく、インバウンド・データ・パケットにセキュリティ・オペレーションを施すことによって、インバウンド・データ・パケットの「バンド内」処理を提供する。一実施形態において、外部セキュリティ・オフロード・デバイス１０４は、カプセル化解除・暗号解読されたデータ・パケットをホストＩＨＳ１０３に送信するが、ホストＩＨＳ１０３は、これらのデータ・パケットに対し他のセキュリティ・オペレーションを行う必要はない。それどころか、ホストＩＨＳ１０３中のアプリケーションは、ホストＩＨＳ１０３が外部セキュリティ・オフロード・デバイス１０４から受信したカプセル化解除・暗号解読されたデータ・パケットを直接使用することができる。
【００３７】
さらに詳細には、プロセス・フローは開始ブロック３０５から始まる。外部セキュリティ・オフロード・デバイス１０４は、ブロック３１０で、外部ネットワーク・インターフェース・コントローラ１０６を介してネットワークからデータ・パケットを受信する。外部セキュリティ・オフロード・デバイス１０４は、判定ブロック３２０で、データ・パケットがセキュリティ処理を必要とするかどうかを判定するための検査を行う。データ・パケットがセキュリティ処理を必要とするかどうかを判定するために、外部セキュリティ・オフロード・デバイス１０４は、データ・パケット内のＩＰｓｅｃプロトコル・ヘッダをチェックするか、または、外部セキュリティ・オフロード・デバイス１０４がホストＩＨＳ１０３から受信した静的セキュリティ・ポリシおよびＳＡ情報をチェックする。なお、ＳＡ状態情報は、ホストＩＨＳ１０３のネットワーク・ソフトウェア１８３’中に依然として存在していてもよい。外部セキュリティ・オフロード・デバイス１０４が、パケットはセキュリティ処理を必要としないと判定した場合、外部セキュリティ・オフロード・デバイス１０４は、ブロック３４５で、ファイアウォール・サービスもしくはＩＤＳサービスまたはその両方を提供することなど任意の処理を実施することができ、ブロック３５０で、セキュア・データ・リンク１０５を介してホストＩＨＳ１０３にデータ・パケットを送信する。
【００３８】
また一方、パケットがセキュリティ処理を必要とする場合、外部セキュリティ・オフロード・デバイス１０４は、ブロック３３０で、パケットをカプセル化解除および暗号解読し、ブロック３３５で、ファイアウォールもしくはＩＤＳまたはその両方などの任意の処理あるいはその他の任意の処理を実施する。外部セキュリティ・オフロード・デバイス１０４は、ブロック３４０で、表１の流れ＃２に従って、状態データを含むインバウンド・メタデータを付加することができ、ブロック３５０で、セキュア・データ・リンク１０５を介してホストＩＨＳ１０３にデータ・パケットを送信する。ホストＩＨＳ１０３のオペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ブロック３５５で、外部セキュリティ・オフロード・デバイス１０４からデータ・パケットを受信し、ブロック３６０で、状態チェックを実施する。オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ブロック３６５で、データ・パケットを処理し、そのデータ・パケットをアプリケーション１８２’に転送する。プロセス・フローはブロック３７０で終了する。
【００３９】
図５のフロー・チャートは、外部セキュリティ・オフロード・デバイス１０４において、ホストＩＨＳ１０３に代行して、アウトバウンド・データ・パケットにセキュリティを適用する、本開示の方法の別の実施形態を表す。この実施形態は、暗号化およびカプセル化などのセキュリティ・オペレーションを必要とする当該データ・パケットを取り扱うために、「バンド外」処理を用いる。かかるバンド外処理において、ステートレス外部セキュリティ・オフロード・デバイス１０４は、ステートレス外部セキュリティ・オフロード・デバイス１０４がセキュリティ処理のためホストＩＨＳ１０３から受信したデータ・パケットの、暗号化およびカプセル化などのセキュリティ・オペレーションを取り扱う。また一方、ステートレス外部セキュリティ・オフロード・デバイス１０４は、得られたカプセル化・暗号化されたデータ・パケットを、そのデータ・パケットの宛先への送信のために、ホストＩＨＳ１０３に返送する。また、外部セキュリティ・オフロード・デバイス１０４は、ファイアウォールまたはＩＤＳの提供など、他のネットワーキング機能を実施することができる。
【００４０】
さらに詳しくは、プロセス・フローは開始ブロック４０５から始まる。ホストＩＨＳ１０３中のアプリケーション１８２”は、ブロック４１０で、ホストＩＨＳ１０３のオペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’にデータ・パケットを送信する。ネットワーク・ソフトウェア１８３’は、判定ブロック４１５で、データ・パケットのネットワーク送信が、該データ・パケットへのセキュリティ・プロトコルの適用を必要とするかどうかを判定するための検査を行う。ネットワーク・ソフトウェア１８３’は、セキュリティ・ポリシを参照してこの判定を行う。アプリケーション１８２”は、ネットワーク・ソフトウェア１８３’のＴＣＰ／ＩＰスタック１８４に、セキュリティ・プロトコルの該データ・パケットへの適用に対する判定を開始するよう命令することができる。ネットワーク・ソフトウェア１８３’が、データ・パケットはセキュリティ・プロトコルの適用を必要としないと判定した場合、ホストＩＨＳ１０３は、ブロック４４５で、パケットを、内部ネットワーク・インターフェース・コントローラ１０７を介して直接、最終宛先のネットワーク・ノードに伝送する。プロセス・フローはブロック４５０で終了する。
【００４１】
また一方、ネットワーク送信が、データ・パケットへのセキュリティの適用を必要とする場合、オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ブロック４２０で、表１の流れ＃３に従って、メタデータおよび状態データを付けることができる。このメタデータはアウトバウンド・メタデータである。ホストＩＨＳ１０３のオペレーティング・システム１８１’のネットワーク・ソフトウェア１８３’は、ブロック４２５で、メタデータおよびデータ・パケットを、ネットワーク・セキュア・データ・リンク１０５経由で外部セキュリティ・オフロード・デバイス１０４に送信する。外部セキュリティ・オフロード・デバイス１０４は、ブロック４３０で、データ・パケットおよびメタデータを受信して読み出す。また、外部セキュリティ・オフロード・デバイス１０４は、ブロック４３５で、ファイアウォール処理もしくはＩＤＳまたはその両方など、任意の処理を行うことが可能である。外部セキュリティ・オフロード・デバイス１０４は、ブロック４４０で、データ・パケットをカプセル化および暗号化して、暗号化・カプセル化されたデータ・パケットを、セキュア・データ・リンク１０５経由で、オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’に返送する。オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ブロック４４３で、カプセル化されたパケットを受信する。ネットワーク・ソフトウェア１８３’は、ブロック４４５で、カプセル化されたデータ・パケットを、内部ネットワーク・インターフェース・コントローラ１０７を介し、通信ネットワーク１０２経由で最終宛先ネットワーク・ノードに送信する。プロセス・フローはブロック４５０で終了する。
【００４２】
図６のフロー・チャートは、内部ネットワーク・インターフェース・コントローラ１０７を介してネットワークからデータ・パケットを受信する、本開示の方法の別の実施形態を表す。この実施形態は、カプセル化解除および暗号解読などのセキュリティ・オペレーションを必要とするインバウンド・データ・パケットを取り扱うため、「バンド外」処理を用いる。インバウンド・データ・パケットは、ホストＩＨＳ１０３が他のネットワーク・ノードから受信するデータ・パケットである。バンド外処理において、ステートレス外部セキュリティ・オフロード・デバイス１０４は、ステートレス外部セキュリティ・オフロード・デバイス１０４が、セキュリティ処理のためホストＩＨＳ１０３から受信したデータ・パケットの、暗号解読およびカプセル化解除などのセキュリティ・オペレーションを取り扱う。また一方、ステートレス外部セキュリティ・オフロード・デバイス１０４は、得られたカプセル化解除・暗号解読されたデータ・パケットを、当該データ・パケットの宛先アプリケーション１８２’に転送するためホストＩＨＳ１０３に返送する。
【００４３】
さらに詳しくは、プロセス・フローは開始ブロック５０５から始まる。オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ブロック５１０で、内部ネットワーク・インターフェース・コントローラ１０７からデータ・パケットを受信する。この受信されたデータ・パケットは、ネットワーク・ノード１０１のホストＩＨＳ１０３が別のネットワーク・ノードから受信したインバウンド・データ・パケットである。ネットワーク・ソフトウェア１８３’は、判定ブロック５２０で、データ・パケットがセキュリティ処理を必要とするかどうかを判定するための検査を行う。データ・パケットがセキュリティ処理を必要としない場合、オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ブロック５６５で、データ・パケットを処理し、そのデータ・パケットをアプリケーション１８２”に転送する。プロセス・フローはブロック５７０で終了する。
【００４４】
また一方、データ・パケットがセキュリティ処理を必要とする場合、オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’は、ブロック５２５で、データ・パケットを、セキュア・データ・リンク１０５経由で外部セキュリティ・オフロード・デバイス１０４に送信する。外部セキュリティ・オフロード・デバイス１０４は、ブロック５３０でパケットを受信し、ブロック５３５で、そのパケットをカプセル化解除および暗号解読する。外部セキュリティ・オフロード・デバイス１０４は、ブロック５４０で、任意に、ファイアウォール処理もしくはＩＤＳまたはその両方、あるいはその他のサービスを実施することが可能である。外部セキュリティ・オフロード・デバイス１０４は、ブロック５４５で、表１の流れ＃３に従って、状態データを含むセキュリティ・メタデータをパケットに付加することができる。外部セキュリティ・オフロード・デバイス１０４は、ブロック５５０で、カプセル化解除・暗号解読されたデータ・パケットを、セキュア・データ・リンク１０５を介して、オペレーティング・システム１８１’中のネットワーク・ソフトウェア１８３’に返送する。オペレーティング・システム１８１中’のネットワーク・ソフトウェア１８３’は、ブロック５５５で、カプセル化解除・暗号解読されたデータ・パケットを外部セキュリティ・オフロード・デバイス１０４から受信し、ブロック５６０で状態チェックを実施する。ホストＩＨＳ１０３中のネットワーク・ソフトウェア１８３’は、次いで、ブロック５６５で、データ・パケットを処理し、そのデータ・パケットをアプリケーション１８２”に転送する。ネットワーク・ソフトウェア１８３’によるデータ・パケットのこの処理は、アプリケーション１８２”にデータ・パケットを提示する前の、プロトコルおよび整合性のチェックを含み得る。プロセス・フローはブロック５７０で終了する。
【００４５】
図４のインバウンドのバンド内の実施形態では、外部セキュリティ・オフロード・デバイス１０４は、該外部セキュリティ・オフロード・デバイス１０４があるセキュリティ・パケットがセキュリティ処理を必要とするかどうかを単独で判定できるように、静的ＳＡ情報のコピーを格納する。全４つの実施形態、すなわち、図３のアウトバウンドのバンド内の実施形態、図４のインバウンドのバンド内の実施形態、図５のアウトバウンドのバンド外の実施形態、および図６のインバウンドのバンド外の実施形態において、外部セキュリティ・オフロード・デバイス１０４は、ＳＡ情報を格納することが可能である。但し、図４のインバウンドのバンド内の実施形態では、外部セキュリティ・オフロード・デバイス１０４があるセキュリティ・パケットがセキュリティ処理を必要とするかどうかを単独で判定できるようするためには、該セキュリティ・オフロード・デバイス１０４が、不変のＳＡ情報すなわち静的ＳＡ情報を格納することが必要となり得る。
【００４６】
本明細書で使用する用語は、単に特定の実施形態を説明する目的のためのものであり、本発明を限定することは意図されていない。本明細書で用いられる、単数形「ある（“ａ”、“ａｎ”）」、および「該（“ｔｈｅ”）」は、文脈上明確に別途に示されていなければ、複数形も同じように含むことが意図されている。さらに、当然のことながら本明細書で用いられる「含む（“ｃｏｍｐｒｉｓｅ”）」もしくは「含んでいる（“ｃｏｍｐｒｉｓｉｎｇ”）」またはその両方は、述べられた機能、完全体（ｉｎｔｅｇｅｒ）、ステップ、ブロック、オペレーション、エレメント、もしくはコンポーネント、またはこれらの組み合わせの存在を特定するが、一つ以上の他の機能、完全体（ｉｎｔｅｇｅｒ）、ステップ、ブロック、オペレーション、エレメント、コンポーネント、もしくはこれらの群、または上記の組み合わせの存在または追加を排除するものではない。
【００４７】
添付の請求項中のミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクションの要素全ての、対応する構造、材料、動作および均等物は、具体的に請求された他の請求要素と組み合わせてその機能を遂行するための、一切の構造、材料または動作を包含することが意図されている。本発明の記述は、例示および説明の目的で提示されたもので、網羅的であることも、または本発明を開示した形態に限定することも意図されていない。当業者には、本発明の範囲および趣旨から逸脱することのない多くの修改および変形が明白であろう。例えば、当業者は、本明細書に記載された装置および方法のロジック・センス（ロジック高（１）、ロジック低（０））を逆にしても等価な結果が得られることはよく理解していよう。本実施形態は、本発明の原理および実際的な応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えたさまざまな実施形態に関して、本発明を理解できるように選択し説明されたものである。
【図１】
0005746446.tif 000003
【図２】
0005746446.tif 000004
【図３】
0005746446.tif 000005
【図４】
0005746446.tif 000006
【図５】
0005746446.tif 000007
【図６】
0005746446.tif 000008