(57)【特許請求の範囲】
【請求項１】
ＩＰＳｅｃを実行するためのネットワークデバイスであって、
それぞれが１つのセキュリティアソシエイション（ＳＡ）と関連するＩＰパケットを受信し、パケットの宛先を決定し、パケットを該宛先に送信するように構成された少なくとも１つのＩＰフォワーダと、
受信したＩＰパケットの保護手続きを平行して実行するように構成された、ＩＰフォワーダに接続された複数の保護手続きモジュールと、
ネゴシエートされたＳＡを複数の保護手続きモジュールに割り当て、ＩＰフォワーダが、関連するＳＡを実行する保護手続きモジュールにＩＰパケットを送信することができるように、複数の保護手続きモジュールとＩＰフォワーダに該割り当てを通知するように構成されたセキュリティコントローラ（ＳＣ）と、
を具備するデバイス。
【請求項２】
複数の保護手続きモジュールが相互に接続されていることにより、１つの保護手続きモジュールから別の保護手続きモジュールにＩＰパケットを送ることができる、請求項１に記載のデバイス。
【請求項３】
セキュリティコントローラは、ＩＰフォワーダ内でのＩＰパケットフィルタの作成および修正を担い、該フィルタは保護手続きモジュールにＩＰパケットを経路指定する役割を担う、請求項１または２に記載のデバイス。
【請求項４】
パケットのフィルタリングは１つ以上のセレクタを使用して実行され、該セレクタの１つが、１つのＳＡを識別し、ＩＰパケットのヘッダに含まれるセキュリティパラメータインデクス（ＳＰＩ）である、請求項３に記載のデバイス。
【請求項５】
セキュリティコントローラが、ピアＩＫＥモジュールとＳＡをネゴシエートする役割を担う、インターネット鍵交換（ＩＫＥ）モジュールに接続されており、セキュリティコントローラがネゴシエートされたＳＡの詳細をＩＫＥモジュールから受信するように構成されている、請求項１ないし４のいずれか１項に記載のデバイス。
【請求項６】
ＩＰフォワーダ、保護手続きモジュールおよび／またはセキュリティコントローラは、ソフトウェア、ハードウェアでまたはハードウェアとソフトウェアの組み合わせのいずれでも実行できる、請求項１ないし５のいずれか１項に記載のデバイス。
【請求項７】
ネットワークデバイスにおけるＩＰパケット処理方法であって、
受信したＩＰパケットの保護手続きを実行するように構成された複数の保護手続きモジュールに、ネゴシエートされたＳＡを割り当てることと、
保護手続きモジュールと少なくとも１つのＩＰフォワーダに対して前記割り当てを通知することと、
ＩＰフォワーダでＩＰパケットを受信し、パケットに関連するＳＡを識別し、該関連するＳＡを実行する保護手続きモジュールにパケットを送ることと、
を含む方法。
【発明の詳細な説明】
【０００１】
発明が属する技術分野
本発明は、ＩＰＳｅｃ処理に関し、特に、必ずしもというわけではないが、ルータなどの中間的ネットワーキングデバイスにおけるＩＰＳｅｃ処理に関する。
【０００２】
発明の背景
ＩＰＳｅｃ（インターネットプロトコルセキュリティ）は、インターネットＩＥＴＦ（Internet Engineering Taskforce）により、ＩＰおよび、ＵＤＰやＴＣＰなどの特定の上部レイヤプロトコルに対して保護機構を提供する、一組のプロトコルであると定義されている（ＲＦＣ２４０１）。ＩＰＳｅｃは、発信源の証明および暗号化の導入により、ピアノード間の伝送が行われている間、ＩＰパケット（具体的にはＩＰＳｅｃパケット）および上部レイヤプロトコルを保護する。
【０００３】
ＩＰＳｅｃプロトコルの１つは「暗号ペイロード」（ＥＳＰ）として知られ、機密性、データ完全性およびＩＰパケットのデータ発信源の認証を提供している。このために、ＩＰパケットのＩＰヘッダの後、保護するデータの前に、ＥＳＰヘッダを挿入する必要が生じる。ＥＳＰトレーラは保護するデータの後に挿入される。ＥＳＰパケットはＩＰヘッダのプロトコルフィールドで認識される。ＥＳＰの代わりに使用できるプロトコルとして、「認証ヘッダ」（ＡＨ）が知られている。
【０００４】
ＩＰＳｅｃパケットを適切に暗号化し、そして解読するためには、伝送されているトラフィックと該トラフィックの受信側となる遠隔ノードの間で、セキュリティサービスと鍵を関連付けることが必要である。この目的のために使用される構想概念が「セキュリティアソシエイション」（ＳＡ）である。ＳＡは、「インターネット鍵交換」（ＩＫＥ）として知られる機構を使用してピアノード間でネゴシエートされ、「セキュリティパラメータインデクス」（ＳＰＩ）として知られる識別を割り当てられる。ＥＳＰ（またはＡＨ）ヘッダ中に対応するＳＰＩを含めることにより、適切なＳＡが受信側ノードに通知される。既存のＳＡおよびそれぞれのＳＰＩの詳細は、各ＩＰＳｅｃノードに関連付けられたセキュリティアソシエイションデータベース（ＳＡＤ）に保存される。
【０００５】
システム内でＩＰＳｅｃを実行する具体的な方法は、ＩＰＳｅｃを採用しようとしている組織のセキュリティポリシーによって大部分が決まる。例えば、組織は、ＩＰパケットの送受信を行う終点（例えばユーザ端末）や、パケットの暗号化に使用されるセキュリティレベルなどの特定ができる。ポリシーは、同じく各ＩＰＳｅｃノードに関連付けられた、セキュリティポリシーデータベース（ＳＰＤ）に保存される。典型的には、ＳＰＤはＩＰＳｅｃノードの複数の構成要素に分配される。
【０００６】
発明の概要
ルータなどの中間的インターネットデバイスの場合、大容量トラフィックの処理能力に対する要件がある。このようなデバイスでＩＰＳｅｃを実行することが、処理速度の大幅な低下につながってはいけない。これは、平行動作する複数のＩＰＳｅｃ処理装置を使用してＩＰＳｅｃトラフィックを処理することにより、最適に達成できる。並行処理は、ＩＰＳｅｃをエンドノードで処理する場合に使用しても効果的である。
【０００７】
本発明は、第一に、
それぞれが１つのセキュリティアソシエイション（ＳＡ）と関連するＩＰパケットを受信し、パケットの宛先を決定し、パケットを該宛先に送信するように構成された少なくとも１つのＩＰフォワーダと、
受信したＩＰパケットの保護手続きを平行して実行するように構成された、ＩＰフォワーダに接続された複数の保護手続きモジュールと、
ネゴシエートされたＳＡを複数の保護手続きモジュールに割り当て、ＩＰフォワーダが、関連するＳＡを実行する保護手続きモジュールにＩＰパケットを送信することができるように、複数の保護手続きモジュールとＩＰフォワーダに該割り当てを通知するように構成されたセキュリティコントローラ（ＳＣ）と
を具備した、ＩＰＳｅｃを実行するためのネットワークデバイスを提供する。
【０００８】
本発明の実施例により、処理能力の高いＩＰルータに求められているような、複数のＳＡを平行処理する効率的な機構が提供される。該機構は、既存のＩＰＳｅｃプロトコルとハードウェアに必要とされる修正を最小化することを目的とする。本発明を使用するネットワークデバイスとしては、中間的ネットワーキングデバイス（例えばルータ）やエンドノード（例えばホスト）などが挙げられる。
【０００９】
本発明の実施例のいくつかにおいては、保護手続きモジュールが相互に接続されていることにより、１つの保護手続きモジュールから別の保護手続きモジュールにＩＰパケットを送ることが可能である。
【００１０】
好適には、セキュリティコントローラは、ＩＰフォワーダ内でのＩＰパケットフィルタの作成および修正を担い、該フィルタは保護手続きモジュールにＩＰパケットを経路指定する役割を担う。パケットのフィルタリングは１つ以上のセレクタを使用して実行される。さらに好適には、セレクタの１つが、１つのＳＡを認識するものであり、ＩＰパケットのヘッダに含まれるセキュリティパラメータインデクス（ＳＰＩ）である。
【００１１】
好適には、セキュリティコントローラは、ピアＩＫＥモジュールとＳＡをネゴシエートする役割を担う、インターネット鍵交換（ＩＫＥ）モジュールに接続されている。セキュリティコントローラはネゴシエートされたＳＡの詳細をＩＫＥモジュールから受信するように構成されている。
【００１２】
ＩＰフォワーダ、保護手続きモジュールおよび／またはセキュリティコントローラは、ソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組み合わせのいずれでも実行することができる。
【００１３】
第二に、本発明は、
受信したＩＰパケットの保護手続きを実行するように構成された複数の保護手続きモジュールに、ネゴシエートされたＳＡを割り当てることと、
保護手続きモジュールと少なくとも１つのＩＰフォワーダに対して前記割り当てを通知することと、
ＩＰフォワーダでＩＰパケットを受信し、パケットに関連付けられたＳＡを識別し、該関連するＳＡを実行する保護手続きモジュールにパケットを送ること
からなる、ネットワークデバイスにおけるＩＰパケット処理方法を提供する。
【００１４】
発明の実施の形態
以下に記載する方法は、次の文献に記載された特徴を利用するものである：  [ＩＰｓｅｃ] ＲＦＣ  ２４０１、インターネットプロトコルのためのセキュリティアーキテクチャ（１９９８年１１月）；[ＲＥＫＥＹ]インターネットドラフト、ＩＰｓｅｃ再キーイング問題；[ＩＫＥ]ＲＦＣ  ２４０９、インターネット鍵交換（ＩＫＥ）（１９９８年１１月）；[ＩＳＡＫＭＰ]ＲＦＣ  ２４０８、ＩＳＡＫＭＰ（インターネットＳＡと鍵管理プロトコル）（１９９８年１１月）；[ＩＮＴＤＯＩ]ＲＦＣ  ２４０７、ＩＰＳｅｃにおけるＩＳＡＫＭＰの解釈（１９９８年１１月）。本発明の完全な理解のために、これら文献を参照されたい。
【００１５】
図１はＩＰＳｅｃが使用される典型的な状況を表す。ある会社のＬＡＮ１がルータ／ファイアウォール２を介してインターネット３に接続されている。遠隔ホスト４がインターネット３を介してルータ２に接続されていてもよい。ルータ２と遠隔ホスト４の間の通信（すなわち遠隔ホスト４とローカルホスト５の間の通信）を制御するためにＩＰＳｅｃを使用することにより、ＶＰＮ（Virtual Private Network）が確立される。ＶＰＮへ参加することを望む遠隔ホスト４はそれぞれ、ユーザが生成したトラフィックをＬＡＮ５と交換する前に、少なくとも１対のＳＡ（送信データ用に１つと受信データ用に１つ）をルータ２とネゴシエートしなければならない。ネゴシエーションは、ポリシーデータベース（ＰＤ）６（注．実際は、ＰＤをルータ２の様々なＩＰＳｅｃエンティティに分配することができる）に定義されたセキュリティポリシーに従い、ＩＫＥを使用して実行される。その結果、ＶＰＮに参加する遠隔ホスト４それぞれについて、ルータ２は１組のＳＡをそのセキュリティアソシエイションデータベース（ＳＡＤ）に保存することになる。該ＳＡＤは分配されたデータベースでもよい。
【００１６】
図２はルータ２が使用するＩＰＳｅｃアーキテクチャを図解したものである。このアーキテクチャの各構成要素について順番に説明する。
【００１７】
ＭＧＭＴ
管理モジュール（ＭＧＭＴ）はすべての管理情報の分配を行う。この情報には、静的ＩＰルート（１）、手動ＩＰＳｅｃ  ＳＡとＩＰＳｅｃポリシー（２）、ＩＫＥポリシー（３）およびＩＰフィルタ情報（４）が含まれる。ＭＧＭＴモジュールは既存のモジュールであるが、ここで述べる本発明の実施形態を実行するためにはいくつかの変更を加える必要がある。例えば、ＩＰＳｅｃポリシーの分配は、以前のＩＰＦＷ／ＩＰＳｅｃモジュールから新規のセキュリティコントローラモジュール（後述）に変更しなければならない。セキュリティコントローラモジュールは、その機能を果たすために他の管理情報も必要とする場合がある。
【００１８】
ＩＰＲＴ
ＩＰルーティングプロセス（ＩＰＲＴ）モジュールはシステムのＩＰルーティング情報を管理する。このモジュールはすべてのＩＰフォワーダ（ＩＰＦＷ）にルートを分配し、ＭＧＭＴモジュールから、または動的ルーティングプロトコル（例えばＲＩＰ）を介して、ルートを受信する。既存のＩＰＲＴモジュールに変更を加える必要はない。
【００１９】
ＩＰＦＷ
１組のＩＰフォワーダ（ＩＰＦＷ）モジュールは、各パケットがシステム内のどこに送信されるかを決定する。これらモジュールは各パケットをＩＰフィルタ（後述）に付き合せ、パケットの宛先に関するローカルルーティング情報を識別し、パケットをそれら宛先に送る役割を担う。宛先としては、インタフェースプロセス（例えばＬＡＮまたはＰＰＰ）、ローカルのＵＤＰ／ＴＣＰ／ＩＣＭＰ／その他の処理プロセスまたは別のＩＰＦＷがあり得る。
【００２０】
ここに記載した分配されたＩＰＳｅｃ処理機構を取り扱うためにＩＰＦＷモジュールを改善するには、いくつかの変更を加え、また機能を付け加える必要がある。ＩＰＦＷモジュールは、パケットにＩＰＳｅｃ処理が必要であるか否かを知らなければならない。ＩＰＳｅｃ処理をＩＰＦＷに導入する１つの方法は、ＩＰフィルタの使用である。従って、セキュリティコントローラ（ＳＣ）モジュールは、特定のＩＰフィルタをＩＰＦＷモジュールに動的に導入する。これらフィルタは、使用するＩＰＳｅｃポリシーに従ってパケットの「セレクタ」に適合する。フィルタは、ＩＰＳｅｃ処理を行う保護手続モジュール（ＳｅｃＰｒｏｃ）にパケットを経路指定する。このように、ＩＰＦＷモジュールのフィルタリング機構に比較的マイナーな修正を加えるだけで、ＩＰＳｅｃ処理を必要とするすべてのパケットをＳｅｃＰｒｏｃに送ることができる。ＳｅｃＰｒｏｃ割り当てが常に正しく行われるように、ＳＣモジュールはフィルタデータを更新する。ＳＣモジュールは、ＩＰＦＷモジュールで使用するＳｅｃＰｒｏｃの初期設定値として常に何らかのＳｅｃＰｒｏｃをフィルタに割り当てる。ＳＡが存在しない場合は、ＳｅｃＰｒｏｃの初期設定値をパケット処理に使用し、次いでＳｅｃＰｒｏｃが新規ＳＡの取得方法を見つけ出す役割を担うことになる。
【００２１】
ＩＰＦＷのフィルタは、セレクタの１つとしてセキュリティパラメータインデクス（ＳＰＩ）を持たなければならない。セレクタとしてＳＰＩを持つことにより、到来するＩＰＳｅｃパケットを正しいＳｅｃＰｒｏｃに送ることができる。ＩＰＳｅｃフィルタに適合しない到来したＩＰＳｅｃパケット（ルータ自体を宛先に持つ）はすべて落とされる。
【００２２】
ここに開示する機構では、ＩＰＦＷモジュールはＳＡＤ、ＳＰＤのどちらにもアクセスする必要がない。それはＩＰフィルタリング機構に基づいて決定を行うだけであるといえる。このように、ＩＰＦＷの変更は最小限に抑えることができる。ＩＰＦＷをハードウェアで実行する場合に必要な変更は：
フィルタリング機構へのＩＰＳｅｃセレクタの導入；と
ＳｅｃＰｒｏｃへのパケット送信経路の変更
のみである。
【００２３】
ＰＰＰ／ＬＡＮ
ＰＰＰやＬＡＮのようなデバイスプロセスは、ＩＰＦＷモジュールにパケットを供給する。それらはまた、ＩＰＦＷモジュールからルーティングされたパケットを受信する。デバイスプロセスはＩＰＳｅｃの知識を持つ必要が全くない。デバイスプロセスはここに開示する機構を実行するために変更を必要としない。
【００２４】
ＩＫＥ
上述の説明から明らかなように、インターネット鍵交換（ＩＫＥ）モジュールは、ＶＰＮ内のほかのノードとのＳＡネゴシエーションを行う。ＩＫＥモジュールはＩＫＥポリシーを保存し、これらポリシーに従ってＩＫＥ  ＳＡをネゴシエートする。ＩＫＥモジュールは機能の向上したＰＦ＿ＫＥＹ第２版インタフェースを使用してＳＣモジュールとの通信を行う（８）。ＩＫＥモジュールはＩＰＳｅｃポリシーを持たないが、ＳＣモジュールに対し、ＩＰＳｅｃ接続について照会する。ＩＫＥモジュールが使用される場合として２つの状況が考えられ、第一の状況はＩＫＥモジュールがＩＰＳｅｃ  ＳＡネゴシエーションを開始する場合、第二はＩＫＥモジュールが(別のＩＰＳｅｃノードの)ピアＩＫＥモジュールからの開始要求に応答する場合である。
【００２５】
第一の状況（ＩＫＥモジュールがネゴシエーションを開始）
１）ＩＫＥモジュールはＩＰＳｅｃ  ＳＡネゴシエーション要求をＳＣモジュールから受信する。
２）ＩＫＥモジュールは、使用可能なＩＫＥポリシーに従い、要求が容れられるか否かを確認する。
３）ＩＫＥモジュールはピアＩＫＥモジュールとＩＰＳｅｃ  ＳＡをネゴシエートする。
４）ＩＫＥモジュールは上記の結果得られたＩＰＳｅｃ  ＳＡをＳＣモジュールへ返す。
【００２６】
第二の状況（ＩＫＥモジュールが応答）
１）ＩＫＥモジュールはピアＩＫＥモジュールからネゴシエーション要求を受信する。
２）ＩＫＥモジュールは、使用可能なＩＫＥポリシーに従い、要求が容れられるか否かを確認する。
３）ＩＫＥモジュールはＳＣモジュールに対し、使用可能なＩＰＳｅｃポリシーに従い、提案されたＩＰＳｅｃ接続が可能であるかを質問する。
４）ＩＫＥモジュールはピアＩＫＥモジュールとＩＰＳｅｃ  ＳＡをネゴシエートする。
５）ＩＫＥモジュールはＳＣモジュールに新規のＩＰＳｅｃ  ＳＡを与える。
【００２７】
ＰＦ＿ＫＥＹがＳＣとのインタフェースに使用されている（つまり直接ＩＰＦＷ／ＩＰＳｅｃに接続しない）場合を除き、ポリシーマネージャ（ＰＭ）を有するＩＫＥプロセスには変更が不要である。
【００２８】
ＳＣ
セキュリティコントローラ（ＳＣ）モジュールは、異なるＳｅｃＰｒｏｃモジュールに対するＩＰＳｅｃ  ＳＡの分配を行う。それはＩＰＳｅｃポリシーを保存し（２）、すべてのＩＰＳｅｃ  ＳＡについてどのＳｅｃＰｒｏｃモジュールに位置しているのかを把握する。新規ＳＡが作成されると、ＳＣモジュールは該ＳＡをどのＳｅｃＰｒｏｃモジュールに配置するかを選択する（１０）。ＳＣモジュールは以下の種類のＩＰフィルタをＩＰＦＷモジュールに配備する。
【００２９】
フィルタは外に出て行くパケットについてのＩＰＳｅｃポリシーを特定する。これらフィルタはＩＰＳｅｃ処理を行うＳｅｃＰｒｏｃを選択する。これらフィルタは、ＩＰＳｅｃポリシーが形成されたときに配備される。ＩＰＳｅｃポリシーが削除された場合か、または既存のＩＰＳｅｃポリシーに適合するパケットをＩＰＦＷモジュールが管理しなくてもよいように構成が変更された場合にのみ、それらフィルタは削除される。外に出て行くＩＰＳｅｃ  ＳＡに適合する、さらに別の１組のフィルタを使用する。これらフィルタにより任意のＳＡにパケットが保存され、保存されたパケットについて所定の動作が行われる。
【００３０】
フィルタは到来するＩＰＳｅｃパケットに適合する。到来するＩＰＳｅｃ  ＳＡのそれぞれは、ＳＡ（一対の特定のＳＰＩ宛先アドレス）によりＩＰＳｅｃパケットを処理しなければならないそれらＩＰＦＷモジュールにフィルタを必要とする。ＳＡが形成されたときか、または既存のＩＰＳｅｃポリシーに従って作成されたＳＡに適合するパケットの管理をＩＰＦＷモジュールが行わなくてもよいように構成が変更された場合にのみ、これらのフィルタが配備される。
【００３１】
新規ＳＡが作成されるかまたは古いＳＡが削除されるたびに、ＳＣモジュールはＩＰＦＷモジュール内の情報を更新しなければならない（９）。具体的には、フィルタがＳＡを所有するＳｅｃＰｒｏｃへ経路指定するように、または、その時点で存在するＳＡがない場合は、フィルタが初期設定によるＳｅｃＰｒｏｃへ経路指定するように、ＳＣモジュールはＩＰフィルタ情報を更新する。
【００３２】
ＳＣが適切なＳｅｃＰｒｏｃモジュールを選択する手順は、ＳｅｃＰｒｏｃのいくつかの特徴により影響を受ける。例えば、ＳＣモジュールは、ＳｅｃＰｒｏｃモジュールはシステム内でどれだけの負荷を持つのかを知らなければならない。システム内の基盤の異なる処理装置に、できる限り平均的にＩＰＳｅｃ処理を割り振るためには、ＳＣモジュールは、ＳＡ作成時の負荷が最小であるＳｅｃＰｒｏｃモジュールを選択しなければならない。当然、ＳＣモジュールは、プロセスからプロセスへパケットを送信する際にシステムがもたらす様々な不都合について知っていなければならない。例えば、異なるカードに位置するプロセス間でパケットが送信される場合の不都合は、同一のカードに位置するプロセス間でパケット送信を行う場合よりも大きくなる（当然のことながら、システムの全体的なアーキテクチャに依存する）。
【００３３】
システムの負荷が急激に変化した場合は、ＳＣモジュールはＳＡの再分配を行うことができなければならない。また、ＳＣモジュールは、ＩＰＳｅｃポリシーについてはＳＰＤに、すべてのＳＡについてはＳＡＤに、アクセスする必要がある。本アーキテクチャにおいて、ＳＣモジュールは完全に新規なモジュールである。
【００３４】
ＳｅｃＰｒｏｃ
ＳｅｃＰｒｏｃモジュールは、ＩＰＳｅｃパケット処理における主要モジュールと考えることができる。すべてのＩＰＳｅｃポリシー検索と、だれがどのようにしてＩＰＳｅｃ処理を行うかの決定はＩＰＳｅｃモジュールの責任であるので、それらはＩＰＳｅｃ  ＳＡＤおよびＳＰＤ両方にアクセスする必要がある。
【００３５】
ＳｅｃＰｒｏｃモジュールは、ソフトウェアまたは何らかの専用ハードウェアを使用して、実際にＩＰＳｅｃの暗号化、解読及び認証を行うプロセスである。それは、処理しなければならないＳＡに関する情報を有している。またそれは、ＳＡだけでなく、シーケンス番号カウンタ、統計および使用するアルゴリズムや鍵など、処理に必要なすべての情報を保存する。
【００３６】
ＳｅｃＰｒｏｃモジュールはまた、どのＳｅｃＰｒｏｃモジュールがその他のＳＡの処理を行うかを把握しなければならない。これは、大量のＳＡを使用する場合に重要である（後述）。１つのＳｅｃＰｒｏｃモジュールから、他のＳＡを処理する別のＳｅｃＰｒｏｃモジュールにパケットを送なければならない場合も発生する（１３）。ＳｅｃＰｒｏｃモジュールはＩＰＳｅｃポリシーとＳＡ情報にアクセスできるので、このモジュールは、あるポリシーに必要とされるＳＡは何かを知ることができる。あるパケットの処理を行う最初のＳｅｃＰｒｏｃモジュールは、次のＳｅｃＰｒｏｃモジュールに該パケットの経路（後続のＳｅｃＰｒｏｃおよびＳＡ、ＳＡ−ＳｅｃＰｒｏｃの組み合わせ）を伝えなければならない。次に、各ＳｅｃＰｒｏｃモジュールは（パケット処理完了後）それぞれの組み合わせを解除し、パケットを次のＳｅｃＰｒｏｃモジュールに送る。この手順の長所は、（最初のＳｅｃＰｒｏｃモジュールにより）ポリシー検索が１度行われるだけで済む点である。
【００３７】
複数のセキュリティレベルがＩＰＳｅｃパケットに適用される場合がある。この結果、ある通信についてのＳＡが「大量の」になる。ソフトウェアのみを使用してすべてのＩＰＳｅｃ処理を行う場合は、大量のＳＡすべてを同一のＳｅｃＰｒｏｃモジュールで扱う方がよい。それにより、不要なパケット送信を回避することができる。一方、専用ハードウェアを使用する場合は、すべてのＳＡを１つのＳｅｃＰｒｏｃモジュールで扱うには問題がある。例えば、ＳｅｃＰｒｏｃモジュールの使用するハードウェアが大量のＳＡに必要とされるアルゴリズムの一部のみしか行うことができない場合、ＳｅｃＰｒｏｃモジュールを使用して大量のＳＡ全体を扱うことができない。
【００３８】
ハードウェアで取り扱うことが可能なアルゴリズムの特定の組み合わせを必要とするＳＡすべてに、ＳｅｃＰｒｏｃモジュールを１つだけ使用することが賢明であろう。それにより、ハードウェアを最も効率的に使用することができる。
【００３９】
ＳｅｃＰｒｏｃモジュール全体への正しいＳＡ割り当てを決定することは、ＳＥモジュールの責任である。各ＳｅｃＰｒｏｃモジュールはＳＣモジュールに登録する必要がある。登録プロセスの間、ＳｅｃＰｒｏｃモジュールは自分に何ができるか（アルゴリズム、鍵長など）をＳＣモジュールに伝える。
【００４０】
通常ＳｅｃＰｒｏｃモジュールは、ＩＰＦＷモジュールから、または（大量のＳＡを扱う場合、または、ＩＰＦＷモジュールが誤ったＳｅｃＰｒｏｃモジュールにパケットを送信し、そのＳｅｃＰｒｏｃモジュールが正しいＳｅｃＰｒｏｃモジュールにパケットを送る場合には）別のＳｅｃＰｒｏｃモジュールからパケットを受信する。ＳｅｃＰｒｏｃモジュールは、ＩＰＳｅｃ処理後、正しいＩＰＦＷモジュール（またはデバイスプロセス、ＰＰＰ、ＬＡＮ）にＩＰパケットを送ることができなければならない。ＳｅｃＰｒｏｃモジュールは、初期設定されたＩＰＦＷモジュールを具備し、それにすべてのパケットが送られるようにすることができる。パケットの送り方を知っているＳＣモジュールはこのＩＰＦＷモジュールの設定を行わなければならない。ＳｅｃＰｒｏｃモジュール自身が送信決定を行うようにすることもできる（ルーティングテーブル）。これにより、そのプロセスがＳｅｃＰｒｏｃに可視であれば、ＳｅｃＰｒｏｃモジュールがいずれかのデバイスプロセスに直接パケットを送信することができる。このようにして送信段階を１つ回避することができる。
【００４１】
現在１つに結合されているＩＰＦＷ／ＩＰＳｅｃモジュールをＩＰＦＷモジュールとＩＰＳｅｃモジュール、つまりＳｅｃＰｒｏｃモジュールに分離する。
【００４２】
図３のフロー図は、ＩＰＳｅｃルータの動作の方法をさらに説明している。
【００４３】
当業者に明らかなように、本発明の範囲から逸脱することなく上述の実施形態に様々な変更を加えることが可能である。
【図面の簡単な説明】
【図１】  図１はイントラネットを含むＶＰＮの概略図である。
【図２】  図２は図１に示したＶＰＮのルータのアーキテクチャの概略図である。
【図３】  図３は図２に示したルータのパケット処理方法を説明するフロー図である。
【図１】
0004636401.tif 000002
【図２】
0004636401.tif 000003
【図３】
0004636401.tif 000004