【手続補正書】
【提出日】平成17年7月7日(2005.7.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のセキュリティ・アソシエーションについてセキュリティ関係のデータを記憶するためのセキュリティ・アソシエーション・データベースであって、各エントリが固有のソケットに対応したセキュリティ・アソシエーション関係のデータを含む前記セキュリティ・アソシエーション・データベース；
前記セキュリティ・アソシエーション・データベース中に見いだせないソケットを受け取ると新しいセキュリティ・アソシエーションを開く手段；
パケットに関連したセキュリティ・アソシエーションをそのソケットに従ってサーチし認識する手段；
複数のセキュリティ関係のパラメータを前記セキュリティ・アソシエーション・データベースから検索する手段；及び
前記複数のセキュリティ関係のパラメータを仮想プライベートネットワーキング（ＶＰＮ）のセキュリティ・プロセッサに送ってそれを用いて１以上のセキュリティ処理を実行する手段
を備えたセキュリティ・アソシエーション・プロセッサ回路。
【請求項２】
前記セキュリティ処理の結果に従って前記セキュリティ・アソシエーション・データベースの内容を更新する手段をさらに備える、請求項１に記載の回路。
【請求項３】
前記セキュリティ・アソシエーションに関連したパラメータが、前記回路の外部のエンティティによって構成され、前記回路が、前記セキュリティ・アソシエーション・データベース中の前記新しいセキュリティ・アソシエーションに対応したセキュリティ関係のデータと、前記新しいセキュリティ・アソシエーションに関連したソケットについて計算されたハッシュ値とを前記セキュリティ・アソシエーション・データベースに記憶する手段を備える、請求項１に記載の回路。
【請求項４】
前記セキュリティ・アソシエーションが、前記回路の外部のエンティティによって開かれ、前記回路が、前記新しいセキュリティ・アソシエーションに対するポインタを最長時間未使用（ＬＲＵ）のリンクリストに挿入する手段を備える、請求項１に記載の回路。
【請求項５】
前記セキュリティ・アソシエーション・データベースから未使用のセキュリティ・アソシエーションを除去する手段をさらに備える、請求項１に記載の回路。
【請求項６】
最大タイムアウトを超えると未使用のセキュリティ・アソシエーションを前記セキュリティ・アソシエーション・データベースから除去する手段をさらに備える、請求項１に記載の回路。
【請求項７】
最大バイトカウントを超えると未使用のセキュリティ・アソシエーションを前記セキュリティ・アソシエーション・データベースから除去する手段をさらに備える、請求項１に記載の回路。
【請求項８】
セキュリティ・アソシエーションをサーチし認識する前記手段が、
認識すべきセキュリティ・アソシエーションに関連したソケットについてのハッチ値を計算する手段；
ハッシュ結果をインデックスとして用いてハッシュテーブル中のハッシュポインタを探す手段；
前記ハッシュポインタに従って前記セキュリティ・アソシエーション・データベースからデータを検索する手段；及び
もし検索したデータがパケットに関連したソケットに一致するならば前記セキュリティ・アソシエーションを認識する手段
を備える請求項１に記載の回路。
【請求項９】
前記ＶＰＮセキュリティ・プロセッサが、暗号化を行う手段を備える、請求項１に記載の回路。
【請求項１０】
前記ＶＰＮセキュリティ・プロセッサが、復号化を行う手段を備える、請求項１に記載の回路。
【請求項１１】
前記ＶＰＮセキュリティ・プロセッサが、認証を行う手段を備える、請求項１に記載の回路。
【請求項１２】
前記ＶＰＮセキュリティ・プロセッサが、特定ＩＰＳｅｃのサービスを行う手段を備える、請求項１に記載の回路。
【請求項１３】
入ってくるパケットにアンチ・リプライ機構を適用する手段をさらに備える、請求項１に記載の回路。
【請求項１４】
入ってくるパケットのシーケンス番号を追跡する手段をさらに備える、請求項１に記載の回路。
【請求項１５】
先頭と末尾を有する最長時間未使用（ＬＲＵ）の二重リンクリストを作成及び維持する手段をさらに含み、最短時間未使用のセキュリティ・アソシエーションが末尾に記憶され、最長時間未使用のセキュリティ・アソシエーションが先頭に記憶される、請求項１に記載の回路。
【請求項１６】
前記ＬＲＵリストがいっぱいの場合、先頭のセキュリティ・アソシエーションが削除され、新しいセキュリティ・アソシエーションが末尾に加えられる、請求項１５に記載の回路。
【請求項１７】
前記ソケットが、セキュリティ・パラメータ・インデックス（ＳＰＩ）、リモートＩＰ及びプロトコル構成要素を含む、請求項１に記載の回路。
【請求項１８】
前記セキュリティ・アソシエーション関係のデータが、以下の値、すなわちＩＰＳｅｃモード、暗号化アルゴリズム、暗号化キーのいずれか一つ又はその組合わせを含む、請求項１に記載の回路。
【請求項１９】
前記セキュリティ・アソシエーション関係のデータが、以下の値、すなわちＩＰＳｅｃモード、認証アルゴリズム、認証キーのいずれか一つ又はその組合わせを含む、請求項１に記載の回路。
【請求項２０】
もし前記ＶＰＮセキュリティ・プロセッサからエラーを受け取ったならば前記パケットを拒絶する手段をさらに備える、請求項１に記載の回路。
【請求項２１】
前記回路が特定用途向け集積回路（ＡＳＩＣ）にて実現される、請求項１に記載の回路。
【請求項２２】
前記回路がフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）にて実現される、請求項１に記載の回路。
【請求項２３】
前記回路がデジタル・シグナル・プロセッサ（ＤＳＰ）にて実現される、請求項１に記載の回路。
【請求項２４】
複数のセキュリティ・アソシエーションについてセキュリティ関係のデータを記憶するセキュリティ・アソシエーション・データベース手段であって、各エントリが固有のソケットに対応するセキュリティ・アソシエーション関係のデータを含む前記セキュリティ・アソシエーション・データベース手段；
各々がセキュリティ処理を実行する複数のセキュリティ・エンジン；
前記セキュリティ・アソシエーション・データベース手段において見いだせないソケットを受け取ると新しいセキュリティ・アソシエーションを開く手段；
入力パケットに関連したセキュリティ・アソシエーションをそのソケットに従ってサーチし認識する手段；
前記セキュリティ・アソシエーション・データベース手段から複数のセキュリティ関係のパラメータを検索する手段；
前記複数のセキュリティ関係のパラメータを前記セキュリティ・エンジンの少なくとも１つに送ってそれを用いてセキュリティ処理を実行する手段；及び
前記入力パケットと前記セキュリティ処理の結果を用いて特定のセキュリティ・モードに従って出力パケットを構成するパケット構築手段
を備える仮想プライベートネットワーク（ＶＰＮ）回路。
【請求項２５】
前記セキュリティ・エンジンの少なくとも１つがＩＰＳｅｃトンネルモードのサービスを実行する、請求項２４に記載の回路。
【請求項２６】
前記セキュリティ・エンジンの少なくとも１つがＩＰＳｅｃトランスポートモードのサービスを実行する、請求項２４に記載の回路。
【請求項２７】
少なくとも１つの前記セキュリティ・エンジンが暗号化を実行する、請求項２４に記載の回路。
【請求項２８】
少なくとも１つの前記セキュリティ・エンジンが復号化を実行する、請求項２４に記載の回路。
【請求項２９】
少なくとも１つの前記セキュリティ・エンジンが認証を実行する、請求項２４に記載の回路。
【請求項３０】
少なくとも１つの前記セキュリティ・エンジンが１以上のＩＰＳｅｃサービスを実行する、請求項２４に記載の回路。
【請求項３１】
前記回路が特定用途向け集積回路（ＡＳＩＣ）にて実現される、請求項２４に記載の回路。
【請求項３２】
前記回路がフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）にて実現される、請求項２４に記載の回路。
【請求項３３】
前記回路がデジタル・シグナル・プロセッサ（ＤＳＰ）にて実現される、請求項２４に記載の回路。
【請求項３４】
携帯式コンピューティング装置であって、
前記装置を通信ネットワークに接続する通信手段；
揮発性及び不揮発性メモリからなり、前記不揮発性メモリがプログラムコードを記憶するメモリ手段；
前記メモリ手段と前記通信手段に接続されて前記プログラムコードを実行するプロセッサ；及び
仮想プライベートネットワーク（ＶＰＮ）回路
を備え、前記仮想プライベートネットワーク（ＶＰＮ）回路が、
複数のセキュリティ・アソシエーションについてセキュリティ関係のデータを記憶するセキュリティ・アソシエーション・データベース手段であって、各エントリが固有のソケットに対応するセキュリティ・アソシエーション関係のデータを含む前記セキュリティ・アソシエーション・データベース手段；
各々がセキュリティ処理を実行する複数のセキュリティ・エンジン；
前記セキュリティ・アソシエーション・データベース手段において見いだせないソケットを受け取ると新しいセキュリティ・アソシエーションを開く手段；
入力パケットに関連したセキュリティ・アソシエーションをそのソケットに従ってサーチし認識する手段；
前記セキュリティ・アソシエーション・データベース手段から複数のセキュリティ関係のパラメータを検索する手段；
前記複数のセキュリティ関係のパラメータを前記セキュリティ・エンジンの少なくとも１つに送ってそれを用いてセキュリティ処理を実行する手段；及び
前記入力パケットと前記セキュリティ処理の結果を用いて特定のセキュリティ・モードに従って出力パケットを構成するパケット構築手段
を備える前記携帯式コンピューティング装置。
【請求項３５】
前記通信ネットワークが広域ネットワーク（ＷＡＮ）からなる、請求項３４に記載の装置。
【請求項３６】
前記通信ネットワークがローカル・エリア・ネットワーク（ＬＡＮ）からなる、請求項３４に記載の装置。
【請求項３７】
前記通信ネットワークがインターネットからなる、請求項３４に記載の装置。
【請求項３８】
前記通信ネットワークが公衆交換電話網（ＰＳＴＮ）からなる、請求項３４に記載の装置。
【請求項３９】
前記セキュリティ・エンジンの少なくとも１つが暗号化を実行する、請求項３４に記載の回路。
【請求項４０】
前記セキュリティ・エンジンの少なくとも１つが復号化を実行する、請求項３４に記載の回路。
【請求項４１】
前記セキュリティ・エンジンの少なくとも１つが認証を実行する、請求項３４に記載の回路。
【請求項４２】
前記セキュリティ・エンジンの少なくとも１つがＩＰＳｅｃサービスを実行する、請求項３４に記載の回路。
【請求項４３】
前記ＶＰＮ回路が特定用途向け集積回路（ＡＳＩＣ）にて実現される、請求項３４に記載の回路。
【請求項４４】
前記ＶＰＮ回路がフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）にて実現される、請求項３４に記載の回路。
【請求項４５】
前記ＶＰＮ回路がデジタル・シグナル・プロセッサ（ＤＳＰ）にて実現される、請求項３４に記載の回路。
【請求項４６】
複数のセキュリティ・アソシエーションについてセキュリティ関係のデータを記憶するためのセキュリティ・アソシエーション・データベースであって、各エントリが固有のソケットに対応したセキュリティ・アソシエーション関係のデータを含む前記セキュリティ・アソシエーション・データベース；
前記セキュリティ・アソシエーション・データベースにおいて見いだせないソケットを受け取ると新しいセキュリティ・アソシエーションを開く管理ユニット；
入力パケットに関連したセキュリティ・アソシエーションをそのソケットに従ってサーチし認識する認識ユニット；
前記セキュリティ・アソシエーション・データベースから複数のセキュリティ関係のパラメータを検索し、それらを仮想プライベートネットワーキング（ＶＰＮ）セキュリティ・プロセッサに送ってそれを用いて１以上のセキュリティ処理を行う主プロセッサユニット；及び
記憶されたセキュリティ・アソシエーションのサーチを容易にするためのハッシュ関数と関連のハッシュテーブルとを含んだハッシュユニット
を備えたセキュリティ・アソシエーション・プロセッサ回路。
【請求項４７】
前記セキュリティ・アソシエーション・データベースに記憶された前記セキュリティ・アソシエーションの使用頻度のリストを与える最長時間未使用（ＬＲＵ）のリンクリストをさらに備えた、請求項４６に記載の回路。
【請求項４８】
前記入力パケットと前記１以上のセキュリティ処理の結果を利用して特定のセキュリティモードに従って出力パケットを構成するパケットビルダーをさらに備える、請求項４６に記載の回路。
【請求項４９】
前記ＶＰＮセキュリティ・プロセッサが暗号化を実行する手段を備える、請求項４６に記載の回路。
【請求項５０】
前記ＶＰＮセキュリティ・プロセッサが復号化を実行する手段を備える、請求項４６に記載の回路。
【請求項５１】
前記ＶＰＮセキュリティ・プロセッサが認証を実行する手段を備える、請求項４６に記載の回路。
【請求項５２】
前記ＶＰＮセキュリティ・プロセッサがＩＰＳｅｃサービスを実行する手段を備える、請求項４６に記載の回路。
【請求項５３】
前記回路が特定用途向け集積回路（ＡＳＩＣ）にて実現される、請求項４６に記載の回路。
【請求項５４】
前記回路がフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）にて実現される、請求項４６に記載の回路。
【請求項５５】
前記回路がデジタル・シグナル・プロセッサ（ＤＳＰ）にて実現される、請求項４６に記載の回路。
【請求項５６】
複数のセキュリティ・アソシエーションについてセキュリティ関係のデータを記憶するセキュリティ・アソシエーション・データベースであって、前記セキュリティ・アソシエーション・データベース内の各エントリがソケットに対応している前記セキュリティ・アソシエーション・データベースを設けるステップ；
前記セキュリティ・アソシエーション・データベースにおいて見いだせないソケットを受け取ると新しいセキュリティ・アソシエーションを開くステップ；
パケットに関連したセキュリティ・アソシエーションをそのソケットに従ってサーチし認識するステップ；
前記セキュリティ・アソシエーション・データベースから複数のセキュリティ関係のパラメータを検索するステップ、及び
前記複数のセキュリティ関係のパラメータを仮想プライベートネットワーキング（ＶＰＮ）セキュリティ・プロセッサに送ってそれを用いて１以上のセキュリティ処理を行うステップ
を含むセキュリティ・アソシエーション方法。
【請求項５７】
前記セキュリティ処理の結果に従って前記セキュリティ・アソシエーション・データベースの内容を更新するステップをさらに含む、請求項５６に記載の方法。
【請求項５８】
新しいセキュリティ・アソシエーションを開く前記ステップが、
前記新しいセキュリティ・アソシエーションに対応するセキュリティ関係のデータを前記セキュリティ・アソシエーション・データベースに記憶するステップ；
前記新しいセキュリティ・アソシエーションに関連したソケットについてハッシュ値を計算するステップ；及び
前記ハッシュ値をハッシュテーブルに記憶するステップ
を含む請求項５６に記載の方法。
【請求項５９】
新しいセキュリティ・アソシエーションを開く前記ステップが、前記新しいセキュリティ・アソシエーションに対するポインタを最長時間未使用（ＬＲＵ）のリンクリストに挿入することを含む、請求項５６に記載の方法。
【請求項６０】
前記セキュリティ・アソシエーション・データベースから未使用のセキュリティ・アソシエーションを除去するステップをさらに含む、請求項５６に記載の方法。
【請求項６１】
最大タイムアウトを超えると前記セキュリティ・アソシエーション・データベースから未使用のセキュリティ・アソシエーションを除去するステップをさらに含む、請求項５６に記載の方法。
【請求項６２】
最大バイトカウントを超えると前記セキュリティ・アソシエーション・データベースから未使用のセキュリティ・アソシエーションを除去するステップをさらに含む、請求項５６に記載の方法。
【請求項６３】
セキュリティ・アソシエーションをサーチし認識する前記ステップが、
認識すべきセキュリティ・アソシエーションに関連したソケットについてハッシュ値を計算するステップ；
ハッシュ結果をインデックスとして用いてハッシュテーブル中のハッシュポインタを探すステップ；
前記ハッシュポインタに従って前記セキュリティ・アソシエーション・データベースからデータを検索するステップ；及び
もし受信データがパケットに関連したソケットに一致するならば前記セキュリティ・アソシエーションを認識するステップ
を含む請求項５６に記載の方法。
【請求項６４】
前記ＶＰＮセキュリティ・プロセッサが暗号化を実行する、請求項５６に記載の方法。
【請求項６５】
前記ＶＰＮセキュリティ・プロセッサが復号化を実行する、請求項５６に記載の方法。
【請求項６６】
前記ＶＰＮセキュリティ・プロセッサが認証を実行する、請求項５６に記載の方法。
【請求項６７】
前記ＶＰＮセキュリティ・プロセッサが特定ＩＰＳｅｃのサービスを実行する、請求項５６に記載の方法。
【請求項６８】
リモートネットワークから受信したパケットにアンチ・リプライ機構を適用するステップをさらに含む、請求項５６に記載の方法。
【請求項６９】
リモートネットワークから受信したパケットのシーケンス番号を追跡するステップをさらに含む、請求項５６に記載の方法。
【請求項７０】
先頭と末尾を有する最長時間未使用（ＬＲＵ）の二重リンクリストを作成及び維持するステップをさらに含み、最短時間未使用のセキュリティ・アソシエーションが末尾に記憶され、最長時間未使用のセキュリティ・アソシエーションが先頭に記憶される、請求項５６に記載の方法。
【請求項７１】
前記ＬＲＵリストがいっぱいの場合、先頭のセキュリティ・アソシエーションが削除され、新しいセキュリティ・アソシエーションが末尾に加えられる、請求項７０に記載の方法。
【請求項７２】
前記ソケットが、セキュリティ・パラメータ・インデックス（ＳＰＩ）、リモートＩＰ及びプロトコル構成要素を含む、請求項５６に記載の方法。
【請求項７３】
前記セキュリティ・アソシエーション関係のデータが、以下の値、すなわちＩＰＳｅｃモード、暗号化アルゴリズム、暗号化キーのいずれか一つ又はその組合わせを含む、請求項５６に記載の方法。
【請求項７４】
前記セキュリティ・アソシエーション関係のデータが、以下の値、すなわちＩＰＳｅｃモード、認証アルゴリズム、認証キーのいずれか一つ又はその組合わせを含む、請求項５６に記載の方法。
【請求項７５】
もし前記ＶＰＮセキュリティ・プロセッサからエラーを受け取ったならば前記パケットを拒絶するステップをさらに含む、請求項５６に記載の方法。
【請求項７６】
前記方法が特定用途向け集積回路（ＡＳＩＣ）にて実施される、請求項５６に記載の方法。
【請求項７７】
前記方法がフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）にて実施される、請求項５６に記載の方法。
【請求項７８】
前記方法がデジタル・シグナル・プロセッサ（ＤＳＰ）にて実施される、請求項５６に記載の方法。
【請求項７９】
適切にプログラミングされたコンピュータ上にてプログラムが実行される際に該コンピュータにセキュリティ・アソシエーション機構を付与すべく、コンピュータ読取可能プログラムコード手段を含んだコンピュータ読取可能記憶媒体であって、
各エントリが固有のソケットに対応したセキュリティ・アソシエーション関係のデータを含んだ複数のセキュリティ・アソシエーションに対してセキュリティ関係のデータを記憶するためのセキュリティ・アソシエーション・データベースを前記コンピュータに作成させるコンピュータ読取可能プログラムコード手段；
前記セキュリティ・アソシエーション・データベース中に見つからないソケットを受け取ると前記コンピュータに新しいセキュリティ・アソシエーションを開かせるコンピュータ読取可能プログラムコード手段；
パケットに関連したセキュリティ・アソシエーションをそのソケットに従って前記コンピュータにサーチ及び認識させるコンピュータ読取可能プログラムコード手段；
複数のセキュリティ関係のパラメータを前記セキュリティ・アソシエーション・データベースから前記コンピュータに検索させるコンピュータ読取可能プログラムコード手段；及び
前記コンピュータが前記複数のセキュリティ関係のパラメータを仮想プライベートネットワーキング（ＶＰＮ）セキュリティ・プロセッサに送るようにさせ、それを用いて１以上のセキュリティ処理を実行させるコンピュータ読取可能プログラムコード手段
を含む前記コンピュータ読取可能記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
図面の簡単な説明
ここでは、添付図面に関し、単なる例として本発明を記載する。
図１は、ＷＡＮ又はインターネットの場合における本発明の仮想プライベートネットワーク機構のいくつかの適用例を示すブロック図である。
図２は、本発明の仮想プライベートネットワーク機構と通信するローカル及びリモートのＬＡＮとＷＡＮとダイアルアップのユーザーとを含んだネットワーク例を示すブロック図である。
図３は、本発明の仮想プライベートネットワーク機構をさらに詳細に示したブロック図である。
図４Ａと図４Ｂは、本発明の主ＳＡプロセッサ方法を説明するフローチャートである。
図５は、入力パケットに関連したＳＡを決めるハッシング技術の説明図である。
図６は、本発明のＳＡ認識プロセスのハッシング方法を説明するフローチャートである。
図７は、主ＳＡプロセッサによるチェック中に実行されるアンチ・リプライ・ウインドウ機構の説明図である。
図８は、本発明のアンチ・リプライ・ウインドウ方法を説明するフローチャートである。
図９は、ＳＡ古さを追跡するのに用いられる最長時間未使用のリンクリスト構造の説明図である。
図１０は、入力パケットに関連したＳＡの認識に応じてＬＲＵリンクリストを更新する方法を説明するフローチャートである。
図１１は、本発明のＳＡ管理モジュールの処理を説明するフローチャートである。
図１２は、ＳＡを開くために本発明のＳＡ管理モジュールによって実行される処理を説明するフローチャートである。
図１３は、ＳＡを閉じるために本発明のＳＡ管理モジュールによって実行される処理を説明するフローチャートである。
図１４は、各ＳＡレコードに関連した最終開設セッションポインタの説明図である。
図１５は、各セッションレコードに関連した前及び次のセッションポインタ並びに一致ＳＡポインタの説明図である。
図１６は、単一のセッションと単一のＳＡレコードの間の関係例の説明図である。
図１７は、複数のセッションと単一のＳＡレコードの間の関係例の説明図である。
図１８は、本発明のＶＰＮ機構及び関係するセキュリティ・アソシエーション処理を実行するプラットフォームに対するコンピュータ処理システムの例を示すブロック図である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
発明の詳細な説明
全体を通して用いられる表記
この文書全体を通して以下の表記を用いる。
2005508585.tif 000001
用語            定義
2005508585.tif 000002
ＡＲＰ          アドレス絞り込みプロトコル
ＡＲＷ          アンチ・リプライ・ウインドウ(Anti-Reply Window) 
ＡＳＩＣ        特定用途向け集積回路
ＡＤＳＬ        非対称デジタル加入者回線
ＡＨ            認証ヘッダー
ＣＰＵ          中央演算処理装置
ＣＲＣ          巡回冗長検査
ＣＢＣ          暗号ブロック連鎖方式(Cipher Block Chaining) 
ＤＥＳ          データ暗号化規格
ＤＡＴ          デジタル・オーディオ・テープ
ＤＳＰ          デジタル・シグナル・プロセッサ
ＤＳＬ          デジタル加入者回線
ＤＶＤ          デジタル多用途ディスク
ＥＥＰＲＯＭ    電気的消去・プログラム可能型読取専用メモリ  
ＥＥＲＯＭ      電気的消去・書込み可能ＰＲＯＭ
ＥＣＢ          電子コードブック
ＥＳＰ          カプセル化ペイロード・セキュリティ(Encapsulating Payload Security)
ＥＤ            暗号化／復号化
ＥＰＲＯＭ      消去可能プログラム可能読取専用メモリ
ＦＰＧＡ        フィールド・プログラマブル・ゲート・アレイ
ＦＴＰ          ファイル転送プロトコル
ＨＭＡＣ        ヘッダーメッセージ認証コード
ＨＤＳＬ        高ビットレート・デジタル加入者回線
ＨＴＭＬ        ハイパーテキスト・マークアップ言語
ＩＡＢ          インターネット・アーキテクチャ委員会
ＩＣＭＰ        インターネット・コントロール・メッセージ・プロトコル
ＩＫＥ          インターネット・キー交換
ＩＰ            インターネット・プロトコル
ＩＳＰ          インターネット・サービス・プロバイダ
ＩＶ            初期ベクトル
ＩＰＳｅｃ      ＩＰセキュリティ
ＬＲＵ          最長時間未使用(Least Recently Used) 
ＬＡＮ          ローカルエリア・ネットワーク
ＭＴＵ          最大転送ユニット(Maximum Transfer Unit) 
ＭＡＮ          メトロポリタン・エリア・ネットワーク
ＭＲＵ          最短時間未使用(Most Recently Used)
ＮＩＣ          ネットワーク・インターフェース・カード
ＯＳＩ          開放型システム間相互接続
ＰＢ            パケット・ビルダー(Packet Builder)
ＰＣ            パーソナル・コンピュータ
ＰＤＡ          パーソナル・デジタル・アシスタント
ＰＤＵ          プロトコル・データ・ユニット
ＲＡＭ          ランダムアクセスメモリ
ＲＩＰ          リモートＩＰ
ＲＯＭ          読み出し専用メモリ
ＳＡ            セキュリティ・アソシエーション
ＳＡＰ          セキュリティ・アソシエーション・プロセッサ
ＳＰＤ          セキュリティ・ポリシー・データベース
ＳＰＩ          セキュリティ・パラメータ・インデックス
ＴＣＰ          伝送制御プロトコル
ＵＤＰ          ユーザー・データグラム・プロトコル
ＶＤＳＬ        超高ビットレート・デジタル加入者回線
ＶＰＮ          仮想プライベートネットワーク
ＷＡＮ          広域ネットワーク
ＷＷＷ          ワールドワイドウエブ
2005508585.tif 000003
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
セキュリティ・アソシエーション・プロセッサは、ＳＡ認識モジュール７６、ＣＰＵインターフェース７９を組み込んだ主ＳＡ処理モジュール７８、ＳＡ管理モジュール８０、ハッシュテーブル８２、ＳＡ最長時間未使用（ＬＲＵ）回路８４、及びＳＡデータベース８６を備え、これら総ては、ＶＰＮセキュリティ・プロセッサ内のセキュリティ・エンジン及びパケットビルダーとバス上にて通信する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
ＳＡ管理モジュールは、ＳＡデータベースを維持するよう機能する。ＳＡデータベースは、最長時間未使用（ＬＲＵ）の二重リンクリストを用いて管理され、ハッシュテーブルを用いてアクセスされる。加えて、マネージャーは、入ってくるパケットフローと出ていくパケットフローにつき新しいＳＡをデータベースに挿入する機能を有する。マネージャーはまた、一致パケットに関連したＳＡをＭＲＵにし、要求に応じていくつかの未使用のＳＡをＣＰＵに利用可能にし、ＳＡを削除する際に１以上のＳＡにつき時間の観点から寿命をチェックし、ＬＲＵとハッシュリンクリストを更新し、削除されるべきＳＡに関連したセッションを動的フィルターに知らせる機能を有する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８９
【補正方法】変更
【補正の内容】
【００８９】
ＳＡ管理モジュール
本発明によると、ＳＡ管理モジュールは、最長時間未使用の順番にてＳＡを記憶すべく二重リンクリストを維持する機能を有する。ＳＡ管理モジュールは、ＳＡデータベースの維持及び制御に関係したいくつかの機能を実行する。ＳＡ管理モジュールは、ＣＰＵからの命令に応じて、ＳＡデータベースにおいてＳＡのＳＡエンティティの有効性（すなわち寿命）をチェックするよう機能する。寿命をチェックする命令が受信されると、ＳＡデータベース中の各レコードの寿命フィールドが調査される。ソフト寿命オーバーフローがＣＰＵに報告され、ハード寿命オーバーフローの場合には、対応するＳＡが削除される。古くなり且つ何らかの理由で正常に閉じられなかったＳＡを廃棄する(flush) ために、寿命のチェックがＳＡについて行われる。例えば、ＳＡは、もしそれがセキュリティ規則に違反したパケットに対応するならば、時間切れ(age out) し得る。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
ＳＡ管理モジュールまたは、リクエストに応じて未使用（すなわち空で利用可能な）ＳＡをＣＰＵに与える機能を有する。動作中、ＣＰＵは１以上の新しいＳＡをリクエストし、ＳＡ管理モジュールはその１以上のインデックスをサーチしてＣＰＵに戻す。ＳＡは、最長時間未使用のＳＡバンドル（すなわち送受両方向用のＳＡ）とその接続された関連のセッション総てとを切り離すことにより、ＬＲＵリストから得られる。同様に、ＳＡ管理モジュールはまた、もはや使用されていないＳＡを潔く切り離す。ＳＡ管理モジュールはまた、新しいＳＡを開き、その際、ハッシュテーブル中のＬＲＵポインタとハッシュポインタ及びＳＡデータベースが更新される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
図９は、ＳＡ使用を追跡するのに用いられる最長時間未使用（ＬＲＵ）のリンクリスト構造の説明図である。セキュリティ・アソシエーション・エントリは、ＳＡが開かれるとき、ＣＰＵを介してＳＡデータベースに入れられる。ＣＰＵは、ＳＡ管理モジュールからＳＡインデックスを要求する。次及び前のＳＡバンドルポインタは、互いに関係するＳＡを接続するのに用いられる。ＳＡをデータベースに挿入するために、先頭ＳＡのインデックスを用いて新しいＳＡをＬＲＵに挿入する。加えて、ＣＰＵが、新しいＳＡのソケットに対するハッシュ値を計算し、そのハッシュ値を記録するレジスタに該ハッシュ値を書き込む。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
ＳＡが認識（すなわちアクセス）され、かつ対応するパケットがＳＡプロセッサによって拒絶されない度に、ＳＡは、最短時間未使用のＳＡを表すＬＲＵリンクリストの末尾に配置される。全体として符号２２０で示された二重リンクリストは複数のＳＡ２２６を含み、その各々が次のポインタ２２２と前のポインタ２２４を有する。ＬＲＵリンクリストの末尾のＳＡは、ｔａｉｌ＿ＬＲＵ＿ｉｎｄｅｘ＿ｒｅｇレジスタ２２８の内容によって指示される。このレジスタにより指示されたＳＡは、最短時間未使用のＳＡを表す。ＬＲＵリンクリストの先頭のＳＡは、ｈｅａｄ＿ＬＲＵ＿ｉｎｄｅｘ＿ｒｅｇレジスタ２２７の内容によって指示される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
ＳＡデータベースがいっぱいの場合において、新しいＳＡが加えられたときにどのＳＡを除去するかを決めるために、ＬＲＵリンクリストが用いられる。この場合、最長時間未使用のＳＡが閉じられ、新しいＳＡを記憶するのにそのスペースが用いられる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
図１０は、入力パケットに関連したＳＡを認識した際にＬＲＵリンクリストを更新する方法を示すフローチャートである。一致ＳＡがアクセスされかつ対応するパケットが許可される度に、この更新方法が実行される。図９に関し、特に前のＳＡ、一致ＳＡ及び次のＳＡとラベル付けされたＳＡに関し、一致ＳＡがリスト中のその位置から末尾に移されて最短時間未使用のＳＡとなる。一致ＳＡは、（１）前のＳＡの次のＬＲＵポインタを一致ＳＡの次のＬＲＵポインタに設定すること、及び（２）次のＳＡの前のＬＲＵポインタを一致ＳＡの前のＬＲＵポインタに設定することによって除去される（ステップ２３０）。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
次に、一致ＳＡは、（１）一致ＳＡの次のＬＲＵポインタをヌルに設定すること、（２）一致ＳＡの前のＬＲＵポインタをｔａｉｌ＿ＬＲＵ＿ｉｎｄｅｘ＿ｒｅｇレジスタの内容に設定すること、及び（３）ｔａｉｌ＿ＬＲＵ＿ｉｎｄｅｘ＿ｒｅｇレジスタを一致ＳＡのインデックスに設定することによって、最短時間未使用のものとされる（ステップ２３２）。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
図１１は、本発明のＳＡ管理モジュールの処理を示すフローチャートである。ＳＡ管理処理はアイドルステップ２４１にて始まり、事象に依存して次のステップに移動する。ＣＰＵからの「未使用を得る(get unused)」命令の場合、最長時間未使用のＳＡのステータスがフェッチされる（ステップ２４２）。もしＳＡが使用中であるならば（ステップ２４６）、そのＳＡと関連する総ての接続されたセッションとが閉じられる（ステップ２４４）。もしＳＡが使用中でないならば、ｈｅａｄ＿ＬＲＵ＿ｉｎｄｅｘ＿ｒｅｇは、最長時間未使用のＳＡの次のＬＲＵポインタに設定され、次の（前のＬＲＵポインタ）(next(previous LRU pointer))はヌルに設定される（ステップ２４８）。次に、除去されたＳＡの次のＬＲＵポインタと前のＬＲＵポインタが、ヌルに設定され、それにより、最長時間未使用のＳＡをＬＲＵリンクリストから除去する（ステップ２５０）。ｕｎｕｓｅｄ＿ｓａ変数は、ちょうど切り離されたＳＡに設定され、従って、ＣＰＵに知らせるフラグは、「１」に設定される（ステップ２５２）。次に、プロセスはアイドルに戻る（ステップ２５４）。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
もしＳＡを閉じることができず、シーケンス番号のオーバーフローも生ぜず（ステップ３４０）、かつ閉鎖のリクエストが寿命のチェックに起因していたならば（ステップ３４６）、ＳＡは閉じられず（ステップ３５８）、本方法はアイドル状態に戻る（ステップ３５９）。もし閉鎖リクエストが寿命のチェックに起因したものでなかったならば、最長時間未使用のリストにより指示された次のＳＡがフェッチされる（ステップ３４８）。もしこのＳＡを閉じることができないならば（ステップ３５０）、本方法はステップ３４８を続け、本プロセスは、閉じられ得るＳＡが見つかるまで繰り返される。もし閉じられ得るＳＡが見つかれば、そのＳＡはＬＲＵとして構成される（ステップ３５２）。次に、ＳＡはＬＲＵポインタを除いて消去され（ステップ３５４）、このＳＡに関連した総てのセッションが消去され（ステップ３５６）、そして本方法はアイドル状態に戻る（ステップ３５９）。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正の内容】
【図面の簡単な説明】
【０１１５】
【図１】
ＷＡＮ又はインターネットの場合における本発明の仮想プライベートネットワーク機構のいくつかの適用例を示すブロック図である。
【図２】
本発明の仮想プライベートネットワーク機構と通信するローカル及びリモートのＬＡＮとＷＡＮとダイアルアップのユーザーとを含んだネットワーク例を示すブロック図である。
【図３】
本発明の仮想プライベートネットワーク機構をさらに詳細に示したブロック図である。
【図４Ａ】
本発明の主ＳＡプロセッサ方法を説明するフローチャートである。
【図４Ｂ】
本発明の主ＳＡプロセッサ方法を説明するフローチャートである。
【図５】
入力パケットに関連したＳＡを決めるハッシング技術の説明図である。
【図６】
本発明のＳＡ認識プロセスのハッシング方法を説明するフローチャートである。
【図７】
主ＳＡプロセッサによるチェック中に実行されるアンチ・リプライ・ウインドウ機構の説明図である。
【図８】
本発明のアンチ・リプライ・ウインドウ方法を説明するフローチャートである。
【図９】
ＳＡ古さを追跡するのに用いられる最長時間未使用のリンクリスト構造の説明図である。
【図１０】
入力パケットに関連したＳＡの認識に応じてＬＲＵリンクリストを更新する方法を説明するフローチャートである。
【図１１】
本発明のＳＡ管理モジュールの処理を説明するフローチャートである。
【図１２】
ＳＡを開くために本発明のＳＡ管理モジュールによって実行される処理を説明するフローチャートである。
【図１３】
ＳＡを閉じるために本発明のＳＡ管理モジュールによって実行される処理を説明するフローチャートである。
【図１４】
各ＳＡレコードに関連した最終開設セッションポインタの説明図である。
【図１５】
各セッションレコードに関連した前及び次のセッションポインタ並びに一致ＳＡポインタの説明図である。
【図１６】
単一のセッションと単一のＳＡレコードの間の関係例の説明図である。
【図１７】
複数のセッションと単一のＳＡレコードの間の関係例の説明図である。
【図１８】
本発明のＶＰＮ機構及び関係するセキュリティ・アソシエーション処理を実行するプラットフォームに対するコンピュータ処理システムの例を示すブロック図である。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】符号の説明
【補正方法】変更
【補正の内容】
【符号の説明】
【０１１６】
１０    ＷＡＮ／インターネット
１２    ＰＤＡ
１４、２０、３０    ＶＰＮ機構
１６、２２、３２    ファイアウォール
１８    ケーブル・プラグ・アダプタ
２４    ブロードバンドモデム
２６、３４    ＬＡＮ
２８    コンピュータ
４２    ローカルＬＡＮ
４６、５８    ファイアウォール
４８、５６    ＶＰＮゲートウェイ
５０    ＷＡＮ／インターネット
５２    リモートＬＡＮ
７０    ＶＰＮモジュール
７２    バス・インターフェース
７４    バッファ／レジスタ
７５    セキュリティ・アソシエーション・プロセッサ（ＳＡＰ）
７６    ＳＡ認識モジュール
７８    主ＳＡ処理モジュール
７９    ＣＰＵインターフェース
８０    ＳＡ管理モジュール
８２    ハッシュテーブル
８４    ＳＡ最長時間未使用（ＬＲＵ）回路
８６    ＳＡデータベース
８８    ＶＰＮセキュリティ・プロセッサ
９０    セキュリティ・エンジン
９２    パケット・ビルダー
９６    ホスト装置／ＣＰＵ
９８    入力パケットストリーム
１００    ヘッダー復号器
１０２    静的フィルター
１０４    動的フィルター
１０６    コンテンツ・サーチ・ユニット
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2005508585.tif 000004