(57)【特許請求の範囲】
【請求項１】
ユーザ端末とウェブサーバとの間に設け、上記ユーザ端末から受信したパケットについて、そのパケットの宛先アドレスとの通信を許可するか否かを、外部の判定サーバに設けられた又は自身が内蔵した規制対象アドレスを記録した規制対象データベースに問い合わせて、問合結果が許可ならばパケットを継続中継し、拒否ならばパケットを遮断するフィルタリングが可能な中継装置であって、
上記ユーザ端末から上記ウェブサーバへの上り方向のパケットを受信した際には、
当該パケットの宛先アドレスとの通信の許否を上記規制対象データベースに問い合わせる可否問合部の処理と、当該パケットを上記ウェブサーバへ転送処理する中継処理部の処理とを、並行して、又は問い合わせの返答到着を待たずに前後して行い、
上記ウェブサーバから上記ユーザ端末への下り方向のパケットに対して、
上記ウェブサーバへの通信及びその返答に並行して進められた上記可否問合部による問合結果を登録するフィルタ情報テーブルの情報に基づき、そのパケットの中継の許否を判断してフィルタリングを行うフィルタリング機能部を有し、
一時的に下り方向のパケットを保存可能な解決待機パケットバッファを有し、
元の上り方向のパケットの受信時に上記フィルタ情報テーブルに当該パケットについてのエントリを作成する際に、許否について問合結果を登録すべき項目を判定待ちに対応する値に設定しておくものとし、
上記可否問合部からの問合結果を受けた後に、当該項目を許可又は拒否に対応する値に更新するものであり、上記フィルタリング機能部が、上記の下り方向のパケットを受信した際に、当該パケットに対応する上記フィルタ情報テーブルの当該項目が判定待ちである場合には、当該パケットを上記解決待機パケットバッファに保存した上で、フィルタリングの許否を保留させる、中継装置。
【請求項２】
上記フィルタリング機能部は、上記の項目のフィルタ情報テーブルの更新に続いて、上記解決待機パケットバッファに一時的に保存された個々のパケットについて、上記フィルタ情報テーブルの、当該パケットの元になった上り方向のパケットに対応する情報に従ってエントリを検索し、フィルタリングを実行する、請求項１に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、中継装置でのフィルタリングの高速化に関する。
【背景技術】
【０００２】
ユーザ端末がネットワークにアクセスするにあたり、ウイルスやワームが仕掛けられたサイトや、フィッシングサイト、成人向けサイトといった規制対象サイトにアクセスしないように、規制対象となるサイトへのアクセスを遮断するフィルタリングが一般に行われている。フィルタリングにはＵＲＬフィルタリングとＩＰフィルタリングとがあり、併用する場合もある。
【０００３】
家庭用ホームゲートウェイなどのゲートウェイにおいてＵＲＬフィルタリングする場合には、ユーザ端末から送信されるＨＴＴＰリクエストの中のＵＲＬアクセスメッセージを検出し、当該ＵＲＬへのアクセスの可否を、規制対象サイトのＵＲＬ一覧をデータベースとして保持するサーバに問い合わせて確認し、ＨＴＴＰリクエストを通過させるか遮断するかを判断している。例えば、特許文献１及び２に記載の方法が挙げられる。
【０００４】
ＩＰフィルタリングでは、まず中継装置が配下にあるユーザ端末からＩＰパケットを受信した辞典でそのパケットを一時保持し、当該ＩＰパケットに含まれるＩＰアドレスについて、規制対象となるサイトのＩＰアドレスを管理するサーバに問い合わせて確認し、有害でないことが確認された辞典で通信を再開し、当該ＩＰアドレスで指定されるサーバとの双方向通信セッションを確立させていく。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２９３７０８号公報
【特許文献２】特開２０１０−２４４１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＵＲＬフィルタリングとＩＰフィルタリングとのどちらであっても、サーバへ問い合わせを行い、その返答が返ってくるまでの時間は待たねばならず、双方向通信の確立にあたって遅延が生じてしまう。この状態を図８のシーケンス図に示す。まず（Ｓ１１）、ユーザ端末２０からウェブサーバ４０宛のパケットが送信されると、ルータやゲートウェイとして働く中継装置１０に到達する。中継装置１０は、このパケットを一時保持したまま、そのパケットの宛先であるウェブサーバ４０が規制されたものであるか否かを記録しているデータベースを有する判定サーバ３０に問い合わせる（Ｓ１２)。判定サーバ３０はその問い合わせに対して返答する（Ｓ１３）。この返答結果が中継してもよいとの内容であれば、中継装置１０は保持していたパケットをウェブサーバ４０へ送り（Ｓ１４）、ウェブサーバ４０からの応答も通過させる（Ｓ１５）。一方、この返答結果が規制されたものであるとの内容であれば、中継装置１０は保持していたパケットを破棄するか、エラーを返す（Ｓ１６）。いずれにしてもＳ１２及びＳ１３の時間は待たなければならず、ユーザに遅延を体感させることになった。
【０００７】
規制対象サイトのＵＲＬ一覧やＩＰアドレス一覧を中継装置のメモリ内に保持しておけばこの遅延時間を削減して高速化を図ることはできるが、現実に実効性のあるリストを保持しようとするとそのデータベースが大きくなりすぎ、家庭用ホームゲートウェイとして一般に使われる家庭用ルータの処理能力では検索処理に掛かる時間が無視できないものとなる。結果としてこの場合も通信確立までに遅延が生じてしまった。
【０００８】
そこでこの発明は、フィルタリングを適用する際に、ユーザが体感する遅延時間を短縮することを目的とする。
【課題を解決するための手段】
【０００９】
この発明は、規制対象のリストを保持する規制対象データベースへの問い合わせと並行して、又は一方の返答を待たずに前後してウェブサーバへの通信を転送する中継処理部の処理を実行し、上記の問い合わせの結果に基づいて上記ウェブサーバからの下り方向の通信を遮断することで、上記の課題を解決したのである。ここで、前後してとは、中継装置がシングルコアである場合に単純に順番が前後する場合をいい、事実上並行して処理を進めることをいい、どちらが先でも問題はない。時間差による影響が生じない程度の時間間隔で二つの処理を実行すればよい。
【００１０】
すなわち、従来のフィルタリング方法は、ユーザ端末からウェブサーバへ送信される上りトラフィックの段階でパケットの転送を留めた上で問い合わせの返答を待ってフィルタリングを行っていたが、仮に上りのトラフィックを素通しさせたとしても、ウェブサーバから返ってくる下りのトラフィックのパケットさえ適切にフィルタリングしてセッションを確立させないようにすれば、通信は開始されず、ウイルスの配信などによる被害を被ることはない。このため、判定サーバへの通信を行っている間に、その返答到着を待たずにウェブサーバへ向けての通信を通したとしても問題はなく、返ってくる下りのトラフィックの段階で止めればよいということになる。
【００１１】
この考えにより、この発明にかかる中継装置がウェブサーバからの応答である下り方向のパケットを受信した時に、上記ウェブサーバへの通信及びその返答に並行して進められた上記可否問合部による問合結果を登録するフィルタ情報テーブルの情報に基づき、そのパケットの中継の許否を判断する。その通信及び返答と並行して進められた規制対象データベース３１への問合結果としてＯＫが得られていたら、パケットをそのまま通過させるので、フィルタリングに必須であった問合のための通信遅延をゼロにすることができる。もしウェブサーバ４０からの応答パケット受信時に判定サーバに問い合わせた結果がまだ得られてなかった場合には、到着まで一時停滞させる形にはなるが、それでもすでに問い合わせは並行して進められているので、従来に比べて遅延時間は大幅に短縮されることになる。
【００１２】
上記フィルタ情報テーブルは、参照のためのキーとして、ＷＡＮ側で受信する下り方向のパケットの送信元アドレス（すなわち、元々ＬＡＮ側で受信した上り方向のパケットにおける宛先アドレスである。）を用い、その他必要に応じてその他ポート番号やプロトコルの種別の情報を用い、それらとともに許否の項目を有するエントリを記録するのが好ましい。上り方向のパケットにおける受信時の送信元アドレス及び宛先アドレスで登録しておくこともできるが、実際の処理上は下り方向のパケットに対してフィルタリングを行うため、下り方向のパケットの情報をそのまま参照できる形式で登録しておくとフィルタリング処理が簡略高速化できるので望ましい。
【００１３】
ただし、上記フィルタ情報テーブルには速やかに当該パケットの情報を書き込んでおかなければ、下りトラフィックのパケットに対してフィルタリングを行うフィルタリング機能部がこのフィルタ情報テーブルを参照しても、該当するエントリが見あたらず、不明なパケットとして破棄してしまうことがある。このため、上記フィルタ情報テーブルへのエントリ作成も可否問合部による問合結果を待たずに行うとよい。このとき、ＬＡＮ側で受信したパケットの情報を、その後対応する返答のパケットがＷＡＮ側で受信される際の情報に書き換えて上記フィルタ情報テーブルにアドレス及びポートを記載しておく。この書き換えにあたっては、中継装置の中継処理部が通常のルーティング処理に用いる、ＬＡＮ側の受信パケットとＷＡＮ側の受信パケットとのアドレス及びポート番号の対応を示す接続追跡テーブルを参照するとよい。ＬＡＮ側の受信時の情報を、このルーティングされるＷＡＮ側の受信時の情報に書き換えて、上記フィルタ情報テーブルに記録する。接続追跡テーブルへのそれぞれの通信のエントリの追加は、中継装置が中継を行う中継処理部が、本来のルーティング処理のために行う処理であり、パケットの解析部への受け渡しなどと並行して進めておけばよい。
【００１４】
なお、実際の実装にあたっては必ずしも上記の形態に限定されるものではなく、フィルタ情報テーブルにＬＡＮ側の受信時のアドレス及びポート番号で記録しておき、フィルタリングの際に、ＷＡＮ側で受信した内容について接続追跡テーブルを参照して元のＬＡＮ側からのパケットの情報に変換した上で、接続の許否を判断する形態でも当然にこの発明は実施できる。フィルタリングに手間がかかる代わりに、フィルタ情報テーブルへの書き込みが迅速に進められるという利点がある。
【００１５】
また、ＬＡＮ側でパケットを受信して上記フィルタ情報テーブルにエントリを追加するとき、上記フィルタ情報テーブルの接続の許否についての項目は「許可」でも「拒否」でもなく、一時保留する「判定待ち」として処理すべき値を記録しておくとよい。これにより、可否問合部からの問合結果より先にウェブサーバからの下りトラフィックのパケットが来ても、パケットを一時保存する解決待機パケットバッファに蓄えておき、並行して進む問い合わせを待てばよいことになる。
【００１６】
なおこの発明は、上記規制対象データベースが、外部の判定サーバに設けられていた場合にはその通信時間分の遅延を短縮できるし、中継装置に内蔵されている場合でもその検索時間分の遅延を短縮できることになる。いずれにせよ、問合結果が出るまでの間にウェブサーバへのアップリンクを通過させ、規制対象データベースへの問合結果を受けて、ダウンリンクを通過させるか否か判断すればよい。
【発明の効果】
【００１７】
この発明により、そのセッションが安全なウェブサーバとのセッションであれば、ダウン方向のパケットがウェブサーバから中継装置に返ってきた段階で速やかに通過させることができるので、中継装置でパケットを保持したまま待たなければならない時間はほとんどゼロにすることができ、フィルタリングにかかる遅延時間を大幅に短縮できる。一方で、規制されたウェブサーバとのセッションであれば、ダウン方向のパケットがウェブサーバから中継装置に返ってきた段階でそのパケットを破棄してしまうことができ、有害な可能性があるパケットがユーザ端末にまで到達することを防ぐことができるので、セキュリティ上の安全性は従来の方法と比べて劣るものではない。
【図面の簡単な説明】
【００１８】
【図１】この発明を実施する中継装置の機能ブロック図と周辺との構成図
【図２】（ａ）フィルタ情報テーブルの例図、（ｂ）フィルタ情報テーブルと接続追跡テーブルに対応するアドレスとポート番号の概念図、（ｃ）接続追跡テーブルの例図
【図３】この発明を実施する際の全体のシーケンス図
【図４】上り方向のパケットについての処理フロー図
【図５】判定サーバ３０への問い合わせ処理フロー図
【図６】下り方向のパケットについての処理フロー図
【図７】解決待機パケットバッファの更新処理フロー図
【図８】従来の中継装置がフィルタリングを行う際のシーケンス図
【発明を実施するための形態】
【００１９】
以下、この発明について具体的な実施形態の例を挙げて詳細に説明する。
図１は、この発明を実施する中継装置１０の機能ブロック図及びそれと通信する装置について示す構成図である。
【００２０】
中継装置１０は、ユーザ端末２０と、ウェブサーバ４０との間にある中継装置であり、例えば家庭用ルータなどのホームゲートウェイのようなゲートウェイとして機能する装置である。ユーザ端末２０がウェブサーバ４０にアクセスするにあたり、中継装置１０外の判定サーバ３０か、又は中継装置１０自身が内蔵している規制対象データベース３１において規制対象となっているアドレスか否かを判断し、規制対象となっているウェブサーバ４０へのアクセスであれば、ダウンリンクの際に通信を遮断するフィルタリング装置として働く。以下は規制対象データベース３１が外部の判定サーバ３０に存在する場合を例に説明するが、中継装置１０に内蔵されていても同様の手順となる。
【００２１】
ユーザ端末２０は、パソコン、スマートフォン、タブレット端末など、ＴＣＰ／ＩＰ通信を行う端末であれば特に限定されない。
【００２２】
ウェブサーバ４０は、ユーザ端末２０からのリクエストに応じてコンテンツを送信するサーバ機能を有するサーバである。ＷＷＷサーバが一般的であるが、メールサーバ、ＦＴＰサーバ、ファイルサーバなど、アドレスを有しウェブ機能を持つサーバであれば特に限定されない。図１中では一つであるが、実際には多数のサーバがインターネット上に存在しており、ＩＰアドレス又はＦＱＤＮ（Fully Qualified Domain Name）によって指定され、それらを含んだＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）によって要求されるドキュメントを送信可能である。
【００２３】
判定サーバ３０は、アクセスを規制するページのアドレスを保有する規制対象データベース３１を有し、中継装置１０からの照会に対して、それがフィルタリングで遮断すべきページか否かを応答可能なサーバである。例えば、セキュリティ会社などが運営するものであったり、会社内で独自に用意するものであったりしてもよい。
【００２４】
これらの装置間での通信に対して、中継装置１０は、
通過するパケットをルーティングするなどして中継する中継処理部１１と、
上りトラフィックの宛先を取得する宛先解析部１２と、
判定サーバ３０へパケット中継の可否を問い合わせる可否問合部１３と、
中継を実施する際のＮＡＴ変換やルーティングを管理する接続追跡テーブル１７と、
下りパケットの中継の可否を保持するフィルタ情報テーブル１４と、
そのフィルタ情報テーブル１４の値に従って下りトラフィックをフィルタリングするフィルタリング機能部１５と、
規制対象データベース３１へ中継の可否を問い合わせ中の下りトラフィックを一時的に保持しておくための、解決待機パケットバッファ１６とを有する。
これらの部は独立したチップでもよいし、ソフトウェアで実現されるものでもよい。また、テーブルは中継装置１０内の記憶部に保持されるデータベースである。さらに、中継装置１０はこれらを実現するためのＣＰＵを有し、これらの部やテーブルについての設定変更を行うためのサーバ機能や出力機能を有していてもよい。
【００２５】
中継処理部１１は、単にパケットを通過させるパケット中継機能５１だけでなく、パケットの宛先ＩＰアドレスや送信元ＩＰアドレスをＬＡＮ側とＷＡＮ側とで変換したりするルーティング機能５２を有し、通過するパケットを宛先解析部１２に渡すパケット獲得機能５３を有し、通過する下りパケットをフィルタリング機能部１５へ渡すパケット受渡機能５４を有する。なお、ルーティング機能５２は、ＬＡＮ側で受信したパケットを、ＷＡＮ側へ送出するパケットのアドレスに書き換え、ＷＡＮ側から受信したパケットをＬＡＮ側に戻す際に参照するための接続追跡テーブル１７へのエントリ追加機能と、それを参照するエントリ参照機能とを含む。図ではまとめてルーティング機能５２として記載する。また、必要に応じてパケットを宛先解析部１２に渡すことなくヘッダだけを見て転送できるファストパス機能を利用できるものであってもよい。
【００２６】
宛先解析部１２は、パケットのヘッダまたはペイロードに含まれる宛先であるアドレスを取り出すアドレス抽出機能６１と、そのアドレスを可否問合部１３に渡すアドレス問合機能６５を有する。ここでいうアドレスとは、ＩＰパケットのヘッダに含まれるＩＰアドレスや、ＴＣＰパケットで送られるＨＴＴＰ通信の冒頭に存在するＨＴＴＰヘッダのＵＲＬ、ＤＮＳ要求のパケットに含まれるＦＱＤＮも含む。なお、ＤＮＳ要求のパケットの場合、上記の宛先であるウェブサーバ４０はＤＮＳサーバである。ここではＩＰヘッダに含まれる宛先ＩＰアドレスを例に説明する。また、宛先解析部１２は、パケットのヘッダ情報等からフィルタ情報テーブル１４に該当する情報がすでにあるか否かを検索するフィルタ情報検索機能６３を実行し、無ければ前記のアドレスとともにポート番号などをフィルタ情報テーブル１４に書き込むフィルタ情報登録機能６４を実行する。ただしこのフィルタ情報検索機能６３及びフィルタ情報登録機能６４を実行する際には、ＬＡＮ側で受信したパケットのアドレス及びポート番号ではなく、後述するフィルタリングを行うＷＡＮ側で受信するパケット（すなわち、ＬＡＮ側から受信したパケットを変換中継送信したパケットの返答パケットである。）のアドレス及びポート番号で検索し、登録するするため、検索及び登録の際には、接続追跡テーブル１７を参照して、ＷＡＮ側の受信時のパケット情報を算出する追跡テーブル算出機能６２を実行した上で、ＷＡＮ側の受信時の情報にて行う。）
【００２７】
さらに、宛先解析部１２は、可否問合部１３から返ってきた問合結果に従いフィルタ情報テーブル１４のエントリにおける状態値を「許可」又は「拒否」に対応する情報に更新するフィルタ情報更新機能６６も実行する。ただし、前記の問合結果が返ってきてから前記のアドレスやポート番号とともに、一括してフィルタ情報テーブル１４に書き込んでもよい。一方で、前記の問合結果の到着を待たずにフィルタ情報登録機能を実行する場合、フィルタ情報テーブル１４における当該エントリの問合結果に対応する状態は、「判定待ち」であることを示す情報となる。また、「判定待ち」から更新したタイミングで、後述するフィルタリング機能部１５へ当該情報に対応するパケットの処理を求める更新要求通知機能６８を実行する。
【００２８】
可否問合部１３は、宛先解析部１２から前記のアドレスを受け取り、規制対象データベース３１に対してそのアドレスへの接続の可否を問い合わせる接続可否問合機能７１を実行する。図１の例では中継装置１０の外部にある判定サーバ３０に問い合わせるため、中継装置１０の通信機能を通して問い合わせを送信する。問合結果が返ってきたら、アドレスと紐付けて宛先解析部１２へと返す接続可否返答機能７２を実行する。
【００２９】
フィルタ情報テーブル１４について、ＩＰパケットについて取り扱う場合の例を図２（ａ）に示す。遮断するか否かを決定づける宛先ＩＰアドレスの他に、送信元ＩＰアドレス、宛先ポート番号、送信元ポート番号、プロトコル、そして状態を記録する。ここでは例として、記録するＩＰアドレス及びポート番号は、中継装置１０が中継したパケットに対する返答のパケットをＷＡＮ側で受信する際のものを登録している。宛先ＩＰアドレスは中継装置１０のＷＡＮ側ＩＰアドレスであり、送信元ＩＰアドレスはウェブサーバ４０のＩＰアドレスである。ここではＮＡＴ変換する中継装置の例を示しているが、ＮＡＴ変換しない中継装置の場合は、宛先ＩＰアドレスは中継装置のものではなく、ユーザ端末２０のＩＰアドレスとなる。またここで状態とは、可否問合部１３から返って来た問合結果であり、問合結果が到着して更新するまではこの状態値は「判定待ち」に対応する値であり、後述する更新によって「許可」又は「拒否」に対応する値となる。なお、対応する値とは、上記のような日本語の状態に限らず、例えばそれぞれの状態に割り当てた２ビットの情報でもよい。
【００３０】
接続追跡テーブル１７は、中継装置１０が通信を中継するにあたりＮＡＴ変換やルーティングなどの管理を行うためのテーブルである。中継装置１０がルーティング機能を有するルータである場合には一般に有しているテーブルである。ルータのメーカーやソフトウェアによるため形式は特に限定されないが、その際のアドレスとポート番号の概念図を図２（ｂ）に、その例であるテーブルを図２（ｃ）に示す。なお、ＰＣ１，ＰＣ２の通信はＮＡＰＴ（Network Address Port Translation）変換する場合であり、ＰＣ３の通信はNAPT変換しない場合の例である。テーブルの左半分に記載されているLAN側の情報は、中継装置がLAN側から受信するパケットの情報である。そして、テーブルの右半分に記載されているWAN側の情報は、中継装置がLAN側から受信したパケットをNAT変換してWAN側へ送信した場合に、WAN側から返ってくる応答パケットの情報である。すなわち、ＬＡＮ側送信元アドレス、ＬＡＮ側宛先アドレス、ＬＡＮ側送信元ポート番号、ＬＡＮ側宛先ポート番号がそれぞれ中継装置１０がＬＡＮ側から受信するパケットの情報であり、ＷＡＮ側送信元アドレス、ＷＡＮ側宛先アドレス、ＷＡＮ側送信元ポート番号、ＷＡＮ側宛先ポート番号はそれぞれ中継装置１０がサーバ４０に対して送信したパケットに対してサーバ４０が返してくる応答パケットの情報となる。従って、中継装置１０がＬＡＮ側から受信したパケットをＷＡＮ側へ送信するパケットのアドレスは、図２（ｃ）のＷＡＮ側情報とは宛先と送信元のアドレスが逆になる。
【００３１】
フィルタリング機能部１５は、ウェブサーバ４０から戻ってきた下りトラフィックのパケットを確認したら、それらアドレス及びポート番号に該当する、フィルタ情報テーブル１４のエントリを検索する該当エントリ検索機能８２と、そのエントリの状態値である許否等を確認する状態値確認機能８４も実行する。さらに、拒否するパケットを破棄するパケット破棄機能８３、許可するパケットを中継処理部１１へ戻すパケット差戻機能８５、対応待ちのパケットを後述の解決待機パケットバッファ１６に追加するバッファ登録機能８６、その解決待機パケットバッファ１６からパケットを取り出すパケット選択機能８７、取り出して判断を終えた後のパケットを解決待機パケットバッファ１６から削除させるパケット削除機能８８を有する。
【００３２】
なお、フィルタリング機能部１５の別の形態として、フィルタ情報テーブル１４に登録される情報がＷＡＮ側で受信したパケット情報ではなく、ＬＡＮ側で受信するパケットの情報である場合には、接続追跡テーブル１７のＷＡＮ側情報を逆に辿って元々のＬＡＮ側情報である送信元及び宛先アドレスと、送信元及び宛先ポートを求める逆変換捜索機能８１を実行した上で、上記の当該エントリ検索機能８２等を実行することとなる。
【００３３】
また、解決待機パケットバッファ１６は、中継装置１０の記憶部に一時的に蓄えられておくものであり、パケットがウェブサーバ４０から返答されてきているにもかかわらず、当該パケットについての中継の可否の問合結果が未だにフィルタ情報テーブル１４に書き込まれていない場合に、その情報が更新されるまでの間、時限付きでその下り方向のパケットを一時的に保持しておくものである。
【００３４】
これらの機能部等により行われるフィルタリングのフローを順に説明する。フローの全体像を図３に示す。ユーザ端末２０がウェブサーバ４０との間でセッションを確立しようとするケースを例にとる。
【００３５】
まず、上り方向の中継処理を行う中継装置１０のフローを、図４を用いて説明する。最初に（Ｓ１０１）、ユーザ端末２０から送信されたパケットを中継処理部１１が受信する（Ｓ１０２）。中継処理部１１は、受けたパケットを宛先解析部１２に渡すパケット獲得機能５３を実行する（Ｓ１０３）。また、これらの処理と並行して中継処理部１１は、ルーティング機能５２を行うために、ＬＡＮ側のアドレス及びポート番号を、ＷＡＮ側のアドレス及びポートに変換する接続追跡テーブル１７に、このパケットについてのＮＡＴエントリを追加、あるいは更新する（Ｓ１２０）。
【００３６】
宛先解析部１２は、受信したパケットの宛先を解析し、接続追跡テーブル１７を参照してから応答パケットの情報を算出する追跡テーブル算出機能６２を実行する（Ｓ１０４）。ここでは、接続追跡テーブル１７には、図２（ｃ）に示すようにＬＡＮ側の情報と一対一で、中継装置１０がＷＡＮ側で受信する際の情報が登録されているので、このＷＡＮ側の情報を求める。
宛先解析部１２はこのＷＡＮ側に変換した後の情報をキーとして、フィルタ情報テーブル１４に当該パケットと同一の送信元ＩＰアドレス（すなわち、元のＬＡＮ側で受信するパケットの宛先ＩＰアドレス）や、その他必要に応じてポート番号等も合致するエントリがあるか否かを検索するフィルタ情報検索機能６３を実行する（Ｓ１０５）。
【００３７】
フィルタ情報テーブル１４に該当するＷＡＮ側情報のアドレスやポート番号に該当するエントリが見つかったら（Ｓ１０６→Ｙｅｓ）、そのパケット以前の処理においてすでにフィルタリングのための問い合わせはされているので、判定サーバ３０への問い合わせを行わずに、ウェブサーバ４０に中継するべく、宛先解析部１２は当該パケットを中継処理部１１へ返すパケット差戻機能６７を実行する（Ｓ１２１）。中継処理部１１は、パケットをウェブサーバ４０へ中継するパケット中継機能５１を実行する（Ｓ１２２）。もしここで、見つかったフィルタ情報テーブル１４中のエントリが拒否であったとしても、ウェブサーバ４０へ中継することは特に問題とはならない。後述するように、下り方向のパケットを遮断することになるからである。なお、図示しないが、ここでフィルタ情報テーブル１４に該当するエントリが見つかり、それが拒否の状態であった場合に、アップリンクそのものを止める別のフィルタリング機能部を設けてもよい。
【００３８】
一方、フィルタ情報テーブル１４に該当するエントリが見つからなかったら（Ｓ１０６→Ｎｏ）、フィルタ情報テーブル１４に当該パケットの応答情報についてエントリを追加するフィルタ情報登録機能６４を実行する（Ｓ１０７）。このとき、状態は「判定待ち」とする。
【００３９】
このあと、二つのフローを並列して進める。図３に示すように、判定サーバ３０への問い合わせをするフロー（Ｓ１０８〜）と、ウェブサーバ４０へパケットを中継するフロー（Ｓ１２１→Ｓ１２２）とが並行して進められる。図３ではＳ１０８〜を上に記載しているが、順番は特に限定されず、逆でもよく、中継装置１０にＣＰＵを複数個搭載しているのであれば、完全に同時に並列処理してもよい。
【００４０】
判定サーバ３０への問い合わせをするフローから説明する（Ｓ１０７→Ｓ１０８）。宛先解析部１２は、可否問合部１３にアドレスを渡すアドレス問合機能６５を実行する（Ｓ１０８）。それからの判定問い合わせフローについて、図５を用いて説明する。
【００４１】
まず（Ｓ１５１）、可否問合部１３が宛先解析部１２から取り扱うパケットの応答情報を取得する（Ｓ１５２）。ここで応答情報とは、ＩＰパケットヘッダの宛先ＩＰアドレスや、ＤＮＳ要求のＦＱＤＮなどの、接続先のアドレスを少なくとも含む。可否問合部１３は、判定サーバ３０に対して、当該アドレスへの接続の可否を問い合わせる接続可否問合機能７１を実行する（Ｓ１５３）。問い合わせを受け取った判定サーバ３０は、当該アドレスについて、保持する規制対象データベース３１を検索し、接続の可否情報を得る（１５４）。その可否情報が中継可とするものであれば（Ｓ１５５→Ｙｅｓ）、判定サーバ３０は中継装置１０の可否問合部１３に中継の許可を通知する（Ｓ１５６）。中継不可とするものであれば（Ｓ１５５→Ｎｏ）、判定サーバ３０の中継装置１０の可否問合部１３に中継の拒否を通知する（Ｓ１５７）。いずれかの問合結果を受けた中継装置１０の可否問合部１３は、その結果を宛先解析部１２へ返す接続可否返答機能７２を実行する（Ｓ１５８）。以後、中継装置１０でのフローに戻る（Ｓ１５９）。
【００４２】
図４に戻り説明を続ける。問合結果を受けた宛先解析部１２は、その内容をフィルタ情報テーブル１４の状態カラムに書き込んで「判定待ち」から更新するフィルタ情報更新機能６６を実行する。すなわち、問合結果が当該パケットを中継してよいとの内容であれば（Ｓ１０９→Ｙｅｓ）、フィルタ情報テーブル１４の当該パケットに対応するエントリの状態値を「許可」に設定する（Ｓ１１０）。一方、問合結果が当該パケットの中継を拒否するとの内容であれば（Ｓ１０９→Ｎｏ）、フィルタ情報テーブル１４の当該パケットに対応するエントリの状態を「拒否」に設定する（Ｓ１１１）。その設定をした上で、宛先解析部１２は、フィルタリング機能部１５へ解決待機パケットバッファ１６の更新要求を送る更新要求通知機能６８を実行する。この更新要求とは、特定のアドレスを指定しなくても、後述のバッファ全体を更新することで処理（Ｓ１１２）が進行する。
【００４３】
この解決待機パケットバッファ１６の解決は下りのパケットの到着に前後して行われるので、先に、並列処理として行われるウェブサーバ４０への中継について説明する。
上記の問い合わせを進めている間に、それと並行して宛先解析部１２は、中継処理部１１にパケットを返すパケット差戻機能６７を実行する（Ｓ１２１）。中継処理部１１は、パケットをウェブサーバ４０へ中継するパケット中継機能５１を実行する（Ｓ１２２）。これにより、当該パケットはウェブサーバ４０へ送られる（Ｓ１２５）。これで上りのフローは終わり、ウェブサーバ４０は当該パケットに対する返答となる下り方向のトラフィックを発生させる。
【００４４】
下り方向のトラフィックに対する処理を、図６を用いて説明する。まず（Ｓ２０１）、ウェブサーバ４０から返信された下り方向のパケットを、中継装置１０の中継処理部１１が受信する（Ｓ２０２）。中継処理部１１はこの下りパケットをフィルタリング機能部１５へ渡すパケット受渡機能５４を実行する（Ｓ２０３）。
下りパケットを受け取ったフィルタリング機能部１５は当該パケットの情報に基づきフィルタ情報テーブル１４のエントリを検索する該当エントリ検索機能８２を実行する（Ｓ２０５）。ここでは、フィルタ情報テーブル１４にＷＡＮ側の情報で登録しているため、接続追跡テーブル１７を参照する必要は特にない。その結果、合致するエントリが見つからなければ（Ｓ２０６→Ｎｏ）、そのパケットはユーザ端末２０のリクエストに応じて送られてきたものと確認できないので、フィルタリング機能部１５は当該パケットを破棄するパケット破棄機能８３を実行する（Ｓ２１０）。なお、合致するか否かは基本的に送信元ＩＰアドレス（すなわち、元の上りパケットにおける宛先ＩＰアドレス）で判断するとよいが、場合によっては他のデータ、すなわち送信元アドレスやポート番号の一致も確認した上でこの判断を行ってもよい。
【００４５】
一方、合致するエントリが見つかれば（Ｓ２０６→Ｙｅｓ）、そのエントリに設定されている状態値を確認する状態値確認機能８４を実行する（Ｓ２０７）。ここで、その状態値が「拒否」に対応する値であれば（Ｓ２０７→拒否）、規制対象のアドレスからの返答パケットであるので、当該パケットを破棄するパケット破棄機能８３を実行する（Ｓ２１０）。また、エントリに設定されている状態値が「許可」に対応する値であれば（Ｓ２０７→許可）、当該パケットを通過させても問題ないと判断され、当該パケットを中継処理部１１へ渡すパケット差戻機能８５を実行する（Ｓ２０８）。パケットを受け取った中継処理部１１は、当該パケットをユーザ端末２０へ中継するパケット中継機能５１を実行し、パケットはユーザ端末２０に到達する（Ｓ２０９）。これは、判定サーバ３０からの返答がウェブサーバ４０からの返答よりも速かった場合であり、本発明によってタイムラグを最小にできる最良の実施形態である。そして、上記の状態値が「判定待ち」に対応する値であれば（Ｓ２０７→判定待ち）、そのパケットを一時的に保留させておく解決待機パケットバッファ１６に追加するバッファ登録機能８６を実行する（Ｓ２１１）。これはすなわち、判定サーバ３０からの返答がまだフィルタ情報テーブル１４に到着していない状態であり、問合結果を受けて後ほど許否を判断する。
【００４６】
そのように、フィルタリング機能部１５が解決待機パケットバッファ１６に蓄えられたパケットを処理する際のフローについて、図７を用いて説明する。このフローは（Ｓ２５１）、宛先解析部１２がフィルタ情報テーブル１４の状態値を書き換え（Ｓ１１０）、フィルタリング機能部１５へ更新要求を行った（Ｓ１１２）タイミングでスタートする（Ｓ２５２）。更新処理は、その時点で解決待機パケットバッファ１６内に保留されているパケット全てについて行う（Ｓ２５３→Ｓ２６２）。まず、フィルタリング機能部１５は、解決待機パケットバッファ１６から保留状態のパケットを一つ取り出すパケット選択機能８７を実行する（Ｓ２５４）。このパケットについて、フィルタ情報テーブル１４のエントリを検索する該当エントリ検索機能８２を実行する（Ｓ２５５）。この内容は上記のＳ２０５と同様である。なお、この時点で解決待機パケットバッファに保留されていたパケットはＬＡＮ側のアドレス等に変換済みであると、検索内容が統一基準の下に運用できるので好ましい。もしここでＷＡＮ側のアドレス等で検索するのであれば、フィルタ情報テーブル１４もＷＡＮ側の情報で保持するか、或いは検索の度に接続追跡テーブル１７を参照してＬＡＮ側のアドレス等に変換して検索することになる。
【００４７】
検索の結果、合致するエントリが無ければ（Ｓ２５６→Ｎｏ）、なんらかのエラーで解決待機パケットバッファ１６に登録されていると考えられるが、いずれにしても元のパケットを送ったユーザ端末２０が確認できないということになるため、フィルタリング機能部１５は当該パケットを解決待機パケットバッファから削除するパケット削除機能８８を実行する（Ｓ２５８）。すでに処理済みとなり、バッファに蓄えておく必要が無くなったからである。また、この際の合致判断する際の取り扱い項目等の内容はＳ２１０と同様である。一方、フィルタ情報テーブル１４に合致するエントリが見つかれば（Ｓ２５６→Ｙｅｓ）、そのエントリに設定されている状態値を確認する状態値確認機能８４を実行する（Ｓ２５７）。これはＳ２０７と同様である。ここで、その状態値が「拒否」に対応する値であれば（Ｓ２５７→拒否）、規制対象のアドレスからの返答パケットであるので、当該パケットを破棄するパケット破棄機能８３を実行する（Ｓ２５８）。これもＳ２１０と同様である。また、エントリに設定されている状態値が「許可」に対応する値であれば（Ｓ２５７→許可）、当該パケットを通過させても問題ないと判断され、当該パケットを中継処理部１１へ渡すパケット差戻機能８５を実行する（Ｓ２５９）。パケットを受け取った中継処理部１１は、当該パケットをユーザ端末２０へ中継するパケット中継機能５１を実行し、パケットはユーザ端末２０に到達する（Ｓ２６０）。これは、判定サーバ３０からの返答がウェブサーバ４０からの返答よりもわずかに遅かった場合の処理であるが、それぞれの返答を得るための時間は並行して行っているので、順番に処理した場合に比べて遅延時間は大幅に短縮されている。なお、ここでは中継を許可した後で、フィルタリング機能部１５は当該パケットを解決待機パケットバッファから削除するパケット削除機能８８を実行する（Ｓ２６１）。中継済みであり、バッファに残しておく必要が無くなったからである。そして、エントリに設定されている状態値が「判定待ち」に対応する値のままであったら、そのパケットについては解決待機パケットバッファ１６から削除することなくそのまま保持し、次の更新要求を待つことになる（Ｓ２６２）。これを、解決待機パケットバッファ１６の全てのパケットについて行い、状態を更新する（Ｓ２６３）。
【００４８】
なお、上記のフローとは別に、解決待機パケットバッファ１６内に数分以上保持されているパケットについては、判定に失敗したものとして、一旦破棄することが好ましい。
【符号の説明】
【００４９】
１０  中継装置
１１  中継処理部
１２  宛先解析部
１３  可否問合部
１４  フィルタ情報テーブル
１５  フィルタリング機能部
１６  解決待機パケットバッファ
１７  接続追跡テーブル
２０  ユーザ端末
３０  判定サーバ
３１  規制対象データベース
４０  ウェブサーバ
５１  パケット中継機能
５２  ルーティング機能
５３  パケット獲得機能
５４  パケット受渡機能
６１  アドレス抽出機能
６２  追跡テーブル算出機能
６３  フィルタ情報検索機能
６４  フィルタ情報登録機能
６５  アドレス問合機能
６６  フィルタ情報更新機能
６７  パケット差戻機能
６８  更新要求通知機能
７１  接続可否問合機能
７２  接続可否返答機能
８１  逆変換捜索機能
８２  該当エントリ検索機能
８３  パケット破棄機能
８４  状態値確認機能
８５  パケット差戻機能
８６  バッファ登録機能
８７  パケット選択機能
８８  パケット削除機能
【図１】
0005797597.tif 000002
【図２】
0005797597.tif 000003
【図３】
0005797597.tif 000004
【図４】
0005797597.tif 000005
【図５】
0005797597.tif 000006
【図６】
0005797597.tif 000007
【図７】
0005797597.tif 000008
【図８】
0005797597.tif 000009