(57)【要約】【課題】パケットに付与されたフィルタリングＩＤと同じ値をもつフィルタリングルールの高速探索を実現することが可能な高速検索対応高多重ユーザ収容ファイアウォール装置を提供する。【解決手段】フィルタリングテーブルの各フィルタリングポリシを構成する各フィルタリングルールに、ルール自身と、次に検索すべきフィルタリングルールを格納する位置を表すアドレス情報とを記述し、パケット付与されたフィルタリングＩＤに基づきフィルタリングルールに対してルール検索を行い、ルールの条件に合致する場合にルール検索を終了し、当該ルールに記載される動作に従い、フィルタリングＩＤが付与されたパケットを通過あるいは廃棄し、また、前記ルールの条件に合致しない場合に、前記アドレス情報で表される位置に格納されたフィルタリングルールに対してルール検索を実施する。【選択図】        図１
2005031720.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ名と、ユーザＩＤと、フィルタリングＩＤとを対応付けて管理する振分け管理テーブルと、
前記フィルタリングＩＤによって特定され、それぞれ独立したフィルタリングポリシを有するフィルタリングテーブルと、
ネットワーク接続開始時に、ユーザ端末から発行される、ユーザ名が記載された認証情報を受信し、当該ユーザ名を保持する手段１と、
前記認証情報を認証サーバに通知する手段２と、
前記認証サーバから認証応答を受信し、その認証応答に記載されている前記ユーザ端末に付与すべきユーザＩＤを保持する手段３と、
前記ユーザ名を検索キーとして、前記振分け管理テーブルに前記ユーザＩＤを登録する手段４と、
前記ユーザ端末とネットワークとの接続が確立された後に、前記ユーザ端末から送信されるパケットに対して、その送信元ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、当該送信元ユーザＩＤと対応付けられるフィルタリングＩＤを抽出し、前記ユーザ端末から送信されるパケットに対して、前記抽出したフィルタリングＩＤを付与する手段５と、
前記ユーザ端末の通信相手端末から送信されるパケットに対して、その宛先ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、当該宛先ユーザＩＤと対応付けられるフィルタリングＩＤを抽出し、前記ユーザ端末の通信相手端末から送信されるパケットに対して、前記抽出したフィルタリングＩＤを付与する手段６と、
前記手段５または前記手段６でフィルタリングＩＤが付与されたパケットを、前記付与されたフィルタリングＩＤにより特定されるフィルタリングテーブルに記載のフィルタリングポリシに従い、通過あるいは廃棄する手段７とを備える高速検索対応高多重ユーザ収容ファイアウォール装置であって、
前記フィルタリングテーブルの各フィルタリングポリシは、少なくとも１個のフィルタリングルールで構成され、当該各フィルタリングルールには、ルール自身と、次に検索すべきフィルタリングルールを格納する位置を表すアドレス情報とが記述され、
前記手段７は、前記パケット付与されたフィルタリングＩＤに基づき、前記フィルタリングルールに対してルール検索を行い、前記フィルタリングＩＤが付与されたパケットが、前記ルールの条件に合致する場合にルール検索を終了し、当該ルールに記載される動作に従い、前記フィルタリングＩＤが付与されたパケットを通過あるいは廃棄し、また、前記ルールの条件に合致しない場合に、前記アドレス情報で表される位置に格納されたフィルタリングルールに対してルール検索を実施することを特徴とする高速検索対応高多重ユーザ収容ファイアウォール装置。
【請求項２】
ユーザ名と、ユーザＩＤと、個別フィルタリングＩＤと、共通フィルタリングＩＤとを対応付けて管理する振分け管理テーブルと、
個別フィルタリングＩＤによって特定され、ユーザ名単位にそれぞれ独立に用意されるフィルタリングポリシを有する少なくとも１つの個別フィルタリングテーブルと、
共通フィルタリングＩＤによって特定され、複数のユーザ名をグループ化し、そのグループ単位にそれぞれ独立に用意されるフィルタリングポリシを有する少なくとも１つの共通フィルタリングテーブルと、
ネットワーク接続開始時に、ユーザ端末から発行される、ユーザ名が記載された認証情報を受信し、当該ユーザ名を保持する手段１と、
前記認証情報を認証サーバに通知する手段２と、
前記認証サーバから認証応答を受信し、その認証応答に記載されている前記ユーザ端末に付与すべきユーザＩＤを保持する手段３と、
前記ユーザ名を検索キーとして、前記振分け管理テーブルに前記ユーザＩＤを登録する手段４と、
前記ユーザ端末とネットワークとの接続が確立された後に、前記ユーザ端末から送信されるパケットに対して、その送信元ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、当該送信元ユーザＩＤと対応付けられる個別フィルタリングＩＤおよび共通フィルタリングＩＤを抽出し、前記ユーザ端末から送信されるパケットに対して、前記抽出した個別フィルタリングＩＤおよび共通フィルタリングＩＤを付与する手段５と、
前記ユーザ端末の通信相手端末から送信されるパケットに対して、その宛先ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、当該宛先ユーザＩＤと対応付けられる個別フィルタリングＩＤおよび共通フィルタリングＩＤを抽出し、前記ユーザ端末の通信相手端末から送信されるパケットに対して、前記抽出した個別フィルタリングＩＤおよび共通フィルタリングＩＤを付与する手段６と、
前記手段５または手段６で前記個別フィルタリングＩＤおよび前記共通フィルタリングＩＤが付与されたパケットを、前記付与された個別フィルタリングＩＤによって特定される個別フィルタリングテーブルに記載のフィルタリングポリシ、および、前記付与された共通フィルタリングＩＤによって特定される共通フィルタリングテーブルに記載のフィルタリングポリシに従い、通過あるいは廃棄する手段７とを備える高速検索対応高多重ユーザ収容ファイアウォール装置であって、
前記個別フィルタリングテーブルおよび前記共通フィルタリングテーブルの各フィルタリングポリシは、少なくとも１個のフィルタリングルールで構成され、当該各フィルタリングルールには、ルール自身と、次に検索すべきフィルタリングルールを格納する位置を表すアドレス情報とが記述され、
前記手段７は、前記パケットに付与された個別フィルタリングＩＤおよび共通フィルタリングＩＤに基づき、前記フィルタリングルールに対してルール検索を行い、前記個別フィルタリングＩＤおよび共通フィルタリングＩＤが付与されたパケットが、当該ルールの条件に合致する場合に、ルール検索を終了し、前記個別フィルタリングＩＤおよび共通フィルタリングＩＤが付与されたパケットを、当該ルールに記載される動作に従い通過あるいは廃棄し、また、当該ルールの条件に合致しない場合に、前記アドレス情報で表される位置に格納されたフィルタリングルールに対してルール検索を実施することを特徴とする高速検索対応高多重ユーザ収容ファイアウォール装置。
【請求項３】
ユーザ名と、ユーザＩＤと、仮想ファイアウォールＩＤと、フィルタリングＩＤとを対応づけて管理する振分け管理テーブルと、
前記フィルタリングＩＤによって特定され、それぞれ独立したフィルタリングポリシを有するフィルタリングテーブルと、
前記仮想ファイアウォールＩＤによって特定され、前記フィルタリングＩＤによって特定される少なくとも１つのフィルタリングテーブルを有する複数の仮想ファイアウォールと、
ネットワーク接続開始時に、ユーザ端末から発行される、ユーザ名が記載された認証情報を受信し、当該ユーザ名を保持する手段１と、
前記認証情報を認証サーバに通知する手段２と、
前記認証サーバから認証応答を受信し、その認証応答に記載されている前記ユーザ端末に付与すべきユーザＩＤを保持する手段３と、
前記ユーザ名を検索キーとして、前記振分け管理テーブルに前記ユーザＩＤを登録する手段４と、
前記ユーザ端末とネットワークとの接続が確立された後に、前記ユーザ端末から送信されるパケットに対し、その送信元ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、該送信元ユーザＩＤと対応付けられる仮想ファイアウォールＩＤおよびフィルタリングＩＤを抽出し、前記ユーザ端末から送信されるパケットを、前記抽出した仮想ファイアウォールＩＤで特定される仮想ファイアウォールに振り分けるとともに、前記ユーザ端末から送信されるパケットに対して、前記抽出したフィルタリングＩＤを付与する手段５と、
前記ユーザ端末の通信相手端末から送信されるパケットに対して、その宛先ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、該宛先ユーザＩＤと対応付けられる仮想ファイアウォールＩＤおよびフィルタリングＩＤを抽出し、前記ユーザ端末の通信相手端末から送信されるパケットを、前記抽出した仮想ファイアウォールＩＤで特定される仮想ファイアウォールに振り分けるとともに、前記ユーザ端末の通信相手端末から送信されるパケットに対して、前記抽出したフィルタリングＩＤを付与する手段６と、
前記手段５または手段６でフィルタリングＩＤが付与されたパケットを、前記振り分けられた仮想ファイアウォール内において、前記付与されたフィルタリングＩＤによって特定されるフィルタリングテーブルに記載されたフィルタリングポリシに従い、通過あるいは廃棄する手段７とを備える高速検索対応高多重ユーザ収容ファイアウォール装置であって、
前記フィルタリングテーブルの各フィルタリングポリシは、少なくとも１個のフィルタリングルールで構成され、当該各フィルタリングルールには、ルール自身と、次に検索すべきフィルタリングルールを格納する位置を表すアドレス情報とが記述され、
前記手段７は、前記パケット付与されたフィルタリングＩＤに基づき、前記フィルタリングルールに対してルール検索を行い、前記フィルタリングＩＤが付与されたパケットが、前記ルールの条件に合致する場合にルール検索を終了し、当該ルールに記載される動作に従い、前記フィルタリングＩＤが付与されたパケットを通過あるいは廃棄し、また、前記ルールの条件に合致しない場合に、前記アドレス情報で表される位置に格納されたフィルタリングルールに対してルール検索を実施することを特徴とする高速検索対応高多重ユーザ収容ファイアウォール装置。
【請求項４】
ユーザ名と、ユーザＩＤと、仮想ファイアウォールＩＤと、個別フィルタリングＩＤと、共通フィルタリングＩＤとを対応付けて管理する振分け管理テーブルと、
個別フィルタリングＩＤによって特定され、ユーザ名単位にそれぞれ独立に用意されるフィルタリングポリシを有する少なくとも１つの個別フィルタリングテーブルと、
共通フィルタリングＩＤによって特定され、複数のユーザ名をグループ化し、そのグループ単位にそれぞれ独立に用意されるフィルタリングポリシを有する少なくとも１つの共通フィルタリングテーブルと、
前記仮想ファイアウォールＩＤによって特定され、前記個別フィルタリングＩＤによって特定される少なくとも１つの個別フィルタリングテーブル、および、前記共通フィルタリングＩＤによって特定される少なくとも１つの共通フィルタリングテーブルを有する複数の仮想ファイアウォールと、
ネットワーク接続開始時に、ユーザ端末から発行される、ユーザ名が記載された認証情報を受信し、当該ユーザ名を保持する手段１と、
前記認証情報を認証サーバに通知する手段２と、
前記認証サーバから認証応答を受信し、その認証応答に記載されている前記ユーザ端末に付与すべきユーザＩＤを保持する手段３と、
前記ユーザ名を検索キーとして、前記振分け管理テーブルに前記ユーザＩＤを登録する手段４と、
前記ユーザ端末とネットワークとの接続が確立された後に、前記ユーザ端末から送信されるパケットに対して、その送信元ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、当該送信元ユーザＩＤと対応付けられる仮想ファイアウォールＩＤ、個別フィルタリングＩＤおよび共通フィルタリングＩＤを抽出し、前記ユーザ端末から送信されるパケットを、前記抽出した仮想ファイアウォールＩＤで特定される仮想ファイアウォールに振り分けるとともに、前記ユーザ端末から送信されるパケットに対して、前記抽出した個別フィルタリングＩＤおよび共通フィルタリングＩＤを付与する手段５と、
前記ユーザ端末の通信相手端末から送信されるパケットに対して、その宛先ユーザＩＤを検索キーとして前記振分け管理テーブルを検索し、当該宛先ユーザＩＤと対応付けられる仮想ファイアウォールＩＤ、個別フィルタリングＩＤおよび共通フィルタリングＩＤを抽出し、前記ユーザ端末の通信相手端末から送信されるパケットを、前記抽出した仮想ファイアウォールＩＤで特定される仮想ファイアウォールに振り分けるとともに、前記ユーザ端末の通信相手端末から送信されるパケットに対して、前記抽出した個別フィルタリングＩＤおよび共通フィルタリングＩＤを付与する手段６と、
前記個別フィルタリングＩＤおよび前記共通フィルタリングＩＤが付与されたパケットを、前記振り分けられた仮想ファイアウォール内において、前記付与された個別フィルタリングＩＤによって特定される個別フィルタリングテーブルに記載のフィルタリングポリシ、および、前記付与された共通フィルタリングＩＤによって特定される共通フィルタリングテーブルに記載のフィルタリングポリシに従い通過あるいは廃棄する手段７とを備える高速検索対応高多重ユーザ収容ファイアウォール装置であって、
前記個別フィルタリングテーブルおよび前記共通フィルタリングテーブルの各フィルタリングポリシは、少なくとも１個のフィルタリングルールで構成され、当該各フィルタリングルールには、ルール自身と、次に検索すべきフィルタリングルールを格納する位置を表すアドレス情報とが記述され、
前記手段７は、前記パケットに付与された個別フィルタリングＩＤおよび共通フィルタリングＩＤに基づき、前記パケットに付与されたフィルタリングＩＤにより特定されるフィルタリングルールのルール検索を行い、前記個別フィルタリングＩＤおよび共通フィルタリングＩＤが付与されたパケットが、当該ルールの条件に合致する場合に、ルール検索を終了し、前記個別フィルタリングＩＤおよび共通フィルタリングＩＤが付与されたパケットを、当該ルールに記載される動作に従い通過あるいは廃棄し、また、当該ルールの条件に合致しない場合に、前記アドレス情報で表される位置に格納されたフィルタリングルールに対してルール検索を実施することを特徴とする高速検索対応高多重ユーザ収容ファイアウォール装置。
【請求項５】
フィルタリングＩＤと、各フィルタリングＩＤの先頭のフィルタリングルールが格納される位置を表すアドレス情報とを管理するフィルタリング先頭ルール管理テーブルを備え、
前記手段７は、前記フィルタリング先頭ルール管理テーブルに基づき、前記各フィルタリングＩＤにより特定されるフィルタリングポリシの先頭のフィルタリングルールを識別することを特徴とする請求項１または請求項３に記載の高速検索対応高多重ユーザ収容ファイアウォール装置。
【請求項６】
個別フィルタリングＩＤと、各個別フィルタリングＩＤの先頭のフィルタリングルールが格納される位置を表すアドレス情報とを管理する個別フィルタリング先頭ルール管理テーブルと、
共通フィルタリングＩＤと、各共通フィルタリングＩＤの先頭のフィルタリングルールが格納される位置を表すアドレス情報とを管理する共通フィルタリング先頭ルール管理テーブルとを備え、
前記手段７は、前記個別フィルタリング先頭ルール管理テーブル、および前記共通フィルタリング先頭ルール管理テーブルに基づき、前記各個別フィルタリングＩＤおよび前記共通フィルタリングＩＤにより特定されるフィルタリングポリシの先頭のフィルタリングルールを識別することを特徴とする請求項２または請求項４に記載の高速検索対応高多重ユーザ収容ファイアウォール装置。
【請求項７】
前記手段７は、ルール検索したフィルタリングルールに前記アドレス情報が記述されていない場合に、当該検索したフィルタリングルールが最終ルールと判断することを特徴とする請求項１ないし請求項６のいずれか１項に記載の高速検索対応高多重ユーザ収容ファイアウォール装置。
【請求項８】
前記認証サーバはＲａｄｉｕｓサーバであり、
前記ユーザＩＤはユーザＩＰアドレスであり、
前記ネットワークはインタネットであり、
前記ユーザ端末からネットワーク接続はＰＰＰを用いることを特徴とする請求項１ないし請求項７のいずれか１項に記載の高速検索対応高多重ユーザ収容ファイアウォール装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高多重ユーザ収容ファイアウォール装置に係わり、特に、インタネットに接続するユーザを保護するためのファイアウォール装置に関する。
【０００２】
【従来の技術】
常時接続ユーザ数が増加するとともに、セキュリティの必要性が高まる中、セキュリティ知識が不十分なユーザに対し、低コストでスキル不足を解消するセキュリティサービスを提供することが求められている。
これを解決するファイアウォール装置の提供法として、ネットワーク側にファイアウォール装置を配備する方法が考えられる。すなわち、本方法により、収容ユーザの集約による経済化と、アウトソーシングによるユーザ稼動の軽減が期待される。
ただし、セキュリティポリシをユーザ毎に提供する必要もあり、本方法によるファイアウォール装置は、１台の物理的なファイアウォール装置にユーザ毎の仮想ファイアウォールを構築するアーキテクチャが求められる。
ユーザの端末やサーバと仮想ファイアウォールとの割り当ては、通常、ユーザＩＤ（ユーザＩＰアドレス）と仮想ファイアウォールＩＤとを対応させることにより実現する。
常時接続サービスに仮想ファイアウォールを適用する場合、ユーザＩＰアドレスは、ユーザ端末とネットワークとの接続が確立されるとき、具体的には、ＰＰＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）セッションの確立時に、初めて付与される上、ユーザＩＰアドレスは一般に可変であるため、ユーザＩＰアドレスと仮想ファイアウォールＩＤとの対応を事前に登録することができない。
【０００３】
このようなＰＰＰ確立に応じて、動的にユーザＩＰアドレスと仮想ファイアウォールＩＤとの対応付けを行う従来技術として、例えば、下記特許文献１に記載されているものがある。
下記特許文献１に記載されている従来技術を、図３および図４を用い、以下に説明する。
図３に示すように、ファイアウォール装置１００は、ユーザ毎に仮想ファイアウォール（１０２，１０３，…，１０４）を具備する。
振分け管理テーブル１０１には、事前に設定可能なユーザ名および仮想ファイアウォールＩＤが登録されている。
ここでは、ユーザ＃ａが定めるセキュリティポリシが仮想ファイアウォール１０２に、ユーザ＃ｂが定めるセキュリティポリシが仮想ファイアウォール１０３に格納されており、振分け管理テーブル１０１には、ユーザ名＃ａと仮想ファイアウォールＩＤ（１０２）、ユーザ名＃ｂと仮想ファイアウォールＩＤ（１０３）との対応付けが登録されている。
ただし、各ユーザ端末のユーザＩＤとなるユーザＩＰアドレスは未確定のため、この時点では登録することができない。
ユーザＩＰアドレスが振分け管理テーブル１０１に登録されない限り、各ユーザからのパケットをそれぞれの仮想ファイアウォールに振分けることができない。
【０００４】
以下、図４を用いて、図３に示すファイアウォール装置の動作について説明する。なお、図４は、図３に示すファイアウォール装置の動作を示すシーケンス図である。
まず、ユーザ端末１１１からのネットワーク接続要求として、ユーザ端末１１１とファイアウォール１００との間でＬＣＰ（Ｌｉｎｋ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の情報がやりとりされる（図４の１３９）。
ユーザ端末からのネットワーク接続のための認証情報を受信すると（図４の１４０）、ファイアウォール装置１００は、認証情報に記載されているユーザ名を保持する（図４の処理ポイント１５０）。
そして、認証情報（ユーザ名およびパスワード）を認証サーバであるＲＡＤＩＵＳサーバ１３０に通知する（図４の１４１）。
ＲＡＤＩＵＳサーバ１３０にて認証され、その応答を受信すると（図４の１４２）、ファイアウォール装置１００は、その応答に記載されているユーザ端末に付与すべきユーザＩＰアドレスを保持する。
そして、ユーザ名を検索キーとして、振分け管理テーブル１０１にこのユーザＩＰアドレスを登録する（図４の処理ポイント１５１、図４の振分け管理テーブル１０１−２の状態）。
【０００５】
ユーザ端末１１１とネットワークとの接続が確立された後に、ユーザ端末１１１から送信されるパケット１２１に対して、その送信元ＩＰアドレスを検索キーとして振分け管理テーブル１０１を検索し、当該送信元ＩＰアドレスと対応付けられている仮想ファイアウォールＩＤを抽出し、当該パケット１２１を、仮想ファイアウォールＩＤで特定される仮想ファイアウォール１０２に振り分ける（図４の処理ポイント１５２）。
また、ユーザ端末１１１の通信相手端末１１３から送信されるパケット１２２に対して、その宛先ＩＰアドレスを検索キーとして振分け管理テーブル１０１を検索し、当該宛先ＩＰアドレスと対応付けられている仮想ファイアウォールＩＤを抽出し、パケット１２２を、仮想ファイアウォールＩＤで特定される仮想ファイアウォール１０２に振り分ける（図４の処理ポイント１５３）。
以上の動作により、事前にユーザＩＰアドレスと仮想ファイアウォールＩＤとの対応付けができない通信形態に対し、ユーザ端末からのネットワーク接続のための認証情報を利用し、動的にユーザＩＰアドレスと仮想ファイアウォールＩＤとを対応付け、該ユーザ端末が送信あるいは受信するパケットに対し、該ユーザが定めるセキュリティポリシに従うフィルタリングルールを適用することができる。
【０００６】
以上に説明したような１台の物理的なファイアウォール装置にユーザ毎の仮想ファイアウォールを構築するアーキテクチャは、最初データセンタヘの適用が主であり、その収容ユーザ数は数百〜数千を想定している。
現在、装置化され、サービスとして導入されている信頼性の高い仮想ファイアウォール装置の多くは、データセンタ向けに開発されており、実際に収容できるユーザ数は前述の通り、数百〜数千となっている。
一方、常時接続サービスの場合、データセンタヘの適用の場合と比較し、収容ユーザ数は断然に多い。想定される規模として、収容ユーザ数は数万〜数十万規模となる。
収容ユーザ数の規模は異なるものの、常時接続サービス向けの仮想ファイアウォール装置を開発するにあたり、開発の効率化や既存技術の活用の観点から、前記データセンタ向け仮想ファイアウォール装置を土台に流用開発や追加開発する手法が極めて有効となる。
したがって、常時接続サービス向けの仮想ファイアウォール装置を提供するための課題は、ユーザ多重数の向上にある。
また、常時接続サービスではユーザ多重数が多いため、ユーザ毎に独立のセキュリティポリシを提供するサービス性を確保する場合、フィルタリングルールの合計数もユーザ多重数に比例し、多くなる。
しかし、実際のところ、各ユーザのフィルタリングルールには、多くのユーザに共通するルールもあるため、ファイアウォール装置全体の観点から見た場合に、ルールの重複となり非効率である。その結果、フィルタリングテーブル量の増大に繋がる。
【０００７】
以上のように常時接続サービス向けの仮想ファイアウォール装置を開発するには、ユーザ多重数の向上とフィルタリングテーブルの効率化が課題となる。
本課題を解決する従来技術として、例えば、下記特許文献２に記載されているものがある。
下記特許文献２に記載されている従来技術を、図２、図５、図６および図７を用い、以下に説明する。
この従来技術では、フィルタリングＩＤを導入し、ユーザ毎のフィルタリングポリシをフィルタリングＩＤによって識別する。
図２において、ファイアウォール装置３００は前述の従来技術と同様に複数の仮想ファイアウォール（３０２，３０３，…，３０４）を具備する。
振分け管理テーブル３０１には、図３で説明した仮想ファイアウォール技術においても管理されていたユーザ名および仮想ファイアウォールＩＤの他に、フィルタリングＩＤが、事前設定可能なパラメータとして登録される。
また、図５に示すように、各仮想ファイアウォールには、フィルタリングＩＤ毎のフィルタリングテーブルが格納されており、前述の振分け管理テーブル３０１によって、各ユーザがどの仮想ファイアウォール内のどのフィルタリングテーブルのセキュリティポリシが適用されるかが定まっている。
【０００８】
ここでは、ユーザ＃ａとユーザ＃ｂが定めるセキュリティポリシが仮想ファイアウォール３０２に、ユーザ＃ｄが定めるセキュリティポリシが仮想ファイアウォール３０３に格納されており、さらに、ユーザ＃ａは仮想ファイアウォール３０２の中で、フィルタリングＩＤ＝αのフィルタリングテーブル５６１に、ユーザ＃ｂはフィルタリングＩＤ＝βのフィルタリングテーブル５６２に、ユーザ＃ｄは仮想ファイアウォール３０３の中で、フィルタリングＩＤ＝γのフィルタリングテーブル５６３に、それぞれのセキュリティポリシが記載されている。
したがって振分け管理テーブル３０１には、ユーザ名＃ａ、仮想ファイアウォールＩＤ３０２およびフィルタリングＩＤαの対応付け、ユーザ名＃ｂ、仮想ファイアウォールＩＤ３０２およびフィルタリングＩＤβの対応付け、ユーザ名＃ｄ、仮想ファイアウォールＩＤ３０３およびフィルタリングＩＤγの対応付けが登録される。
ただし、各ユーザ端末のユーザＩＤとなるユーザＩＰアドレスは未確定のため、この時点では登録することができない。
ユーザＩＰアドレスが振分け管理テーブル１０１に登録されない限り、各ユーザからのパケットをそれぞれの仮想ファイアウォールに振分けることができない。
【０００９】
ユーザ端末からのネットワーク接続のための認証情報を受信し、振分け管理テーブル３０１に、ユーザ端末に付与されるユーザＩＰアドレスを登録するまでの動作は、図４に示した技術と同様である。
ユーザ端末とネットワークとの接続が確立された後、図２において、ユーザ端末３１１から送信されるパケット３２１に対し、その送信元ＩＰアドレスを検索キーとして振分け管理テーブル３０１を検索し、送信元ＩＰアドレスと対応付けられている仮想ファイアウォールＩＤ、フィルタリングＩＤを抽出し、当該パケット３２１を、当該仮想ファイアウォールＩＤを有する仮想ファイアウォール（図２、図５の３０２）に振り分けるとともに、当該フィルタリングＩＤ（図２、図５のα）を付与する。
フィルタリングＩＤを付与されたパケット３２２は、図５に示すように、仮想ファイアウォール内において、フィルタリングＩＤによって特定されるフィルタリングテーブルに記載のフィルタリングポリシに従い、通過あるいは廃棄処理が行われる。
ユーザ端末の通信相手端末３１３から送信されるパケット３２３については、振分け管理テーブル３０１を検索するために用いられる検索キーが、宛先ユーザＩＤとなる以外は、ユーザ端末３１１から送信されるパケット３２１の場合の処理と同様となる。
以上のように、フィルタリングＩＤを導入することにより、各仮想ファイアウォールに複数の独立したフィルタリングポリシを管理することができ、ユーザ多重数を向上させることができる。
また、ユーザ毎のパケットの検索範囲は、付与されたフィルタリングＩＤの値と一致するテーブルのみを検索対象とするため、検索処理時間が不必要に長くなることが抑制される。
【００１０】
次に、フィルタリングテーブル量の増大を回避し、効率化を図るための従来技術の方法を以下に説明する。
この方法は前述のフィルタリングＩＤを、さらに個別フィルタリングＩＤと共通フィルタリングＩＤに２分化することによって実現される。
これによって、各ユーザ個別のフィルタリングポリシは個別フィルタリングテーブルに記載し、複数のユーザにて共通化することが可能なフィルタリングポリシは共通フィルタリングテーブルに記載する。
図６に示すように振分け管理テーブル６０１は、ユーザ名、仮想ファイアウォールＩＤ、個別フィルタリングＩＤおよび共通フィルタリングＩＤを管理する。
ユーザ端末とネットワークとの接続が確立された後、図２に示すように、ユーザ端末３１１から送信されるパケット３２１に対し、その送信元ＩＰアドレスを検索キーとして振分け管理テーブル６０１を検索し、該送信元ＩＰアドレスと対応付けられる仮想ファイアウォールＩＤ、個別フィルタリングＩＤおよび共通フィルタリングＩＤを抽出し、当該パケット３２１を、仮想ファイアウォールＩＤを有する仮想ファイアウォール（図２の３０２）に振り分けるとともに、個別フィルタリングＩＤおよび共通フィルタリングＩＤを付与する。
【００１１】
個別フィルタリングＩＤおよび共通フィルタリングＩＤが付与されたパケット３２２は、図７に示すように、仮想ファイアウォール内において、個別フィルタリングＩＤ（図７の６６１）によって特定される個別フィルタリングテーブルに記載のフィルタリングポリシに従い、通過あるいは廃棄処理が行われる。
もし、個別フィルタリングテーブルに記載のフィルタリングポリシに、適用すべきルールが存在しなかった場合、パケット３２２は、次に、共通フィルタリングＩＤ（図７の５７１）によって特定される共通フィルタリングテーブルに記載のフィルタリングポリシに従い、通過あるいは廃棄処理が行われる。
ユーザ端末３１１の通信相手端末３１３から送信されるパケット３２３については、振分け管理テーブル６０１を検索するために用いられる検索キーが、宛先ユーザＩＤとなる以外は、ユーザ端末３１１から送信されるパケット３２１の場合の処理と同様となる。
以上説明したように、この方法では、複数のユーザにて共通化することが可能なフィルタリングポリシは、共通フィルタリングテーブルに記載する。
そのため、例えば、１０ユーザが２つの同じフィルタリングルールを利用している場合、この方法を用いなければ、合計２０ルールがフィルタリングテ一ブルに記載されるのに対し、この方法によれば、２ルールのみをフィルタリングテーブルに記載すればよいことになる。すなわち、共通フィルタリングＩＤおよび共通フィルタリングテーブルの導入により、フィルタリングポリシ管理が効率的になる。
【００１２】
なお、本願発明に関連する先行技術文献としては以下のものがある。
【特許文献１】
特願２００３−０２７８２８号公報
「動的ユーザ識別子対応ファイアウォール装置」
【特許文献２】
特願２００３−０４５２２２号公報
「高多重ユーザ収容ファイアウォール装置」
【００１３】
【発明が解決しようとする課題】
前述したように、従来技術では、フィルタリングＩＤによって特定されるフィルタリングテーブルに記載のフィルタリングポリシに従い、パケットの通過あるいは廃棄が行われる。すなわち、仮想ファイアウォール内において、パケットに付与されたフィルタリングＩＤを検索キーとして、このフィルタリングＩＤを有するフィルタリングルールを探索する必要がある。
この探索処理は、パケットに付与されたフィルタリングＩＤと、フィルタリングテーブルに記載されるフィルタリングＩＤとの完全一致をもって、フィルタリングルールを見つけるため、通常、二分検索法などにより実施される。
また、当該フィルタリングルールを見つけた後、パケットヘッダの情報と当該フィルタリングルールに記載された情報とを比較する処理も、通常、二分検索法が用いられる。
さらに、見つけ出したフィルタリングルールが条件に合致しない場合、次のフィルタリングルールを探すために、同様に、フィルタリングＩＤを検索キーとした探索処理が行われ、フィルタリング条件が合致する、または、当該フィルタリングＩＤを有するフィルタリングルールを全て探索し終わるまで、前述の処理が繰り返される。
【００１４】
このため、前述の（１）フィルタリングＩＤが一致するフィルタリングルールの探索と、（２）パケットヘッダの情報とフィルタリングルールに記載された情報との比較処理との、両方に二分検索法が用いられることは、検索処理速度の低下を招きかねない。
前記処理（２）については、情報の比較となるため、二分検索法の代替処理が困難である。したがって、前記処理（１）を高速化することが課題となり、処理の改善が期待される。
本発明は、前記従来技術の課題を解決するためになされたものであり、本発明の目的は、パケットに付与されたフィルタリングＩＤと同じ値をもつフィルタリングルールの高速探索を実現することが可能な高速検索対応高多重ユーザ収容ファイアウォール装置を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【００１５】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
前述の課題を解決するために、本発明では、フィルタリングテーブルのフィルタリングポリシを構成する各フィルタリングルールに記載する情報として、（１）比較すべきパケットヘッダ情報と動作（通過または廃棄）を記述したルール自身に加え、（２）次に検索すべきルールを格納するメモリアドレスとを導入したことを特徴とする。
本発明によれば、フィルタリング対象のパケットが、あるフィルタリングルールとの条件に合致しない場合、次のフィルタリングルールは、記載されたメモリアドレスにより直接見出すことができるため、前記（１）のフィルタリングＩＤが一致するフィルタリングルールの探索は、従来技術に比べ、格段に高速化する。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
なお、実施の形態を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
［実施の形態１］
図１は、本発明の実施の形態１のフィルタリングルールの構成を示す図である。
図２は、本実施の形態の高速検索対応高多重ユーザ収容ファイアウォール装置の概略構成を示すブロック図であり、また、図５は、本実施の形態で適用される仮想ファイアウォール内のフィルタリングテーブルの概念を示す図である。なお、図２および図５に示すものは、従来技術でも利用されていたものである。
また、本実施の形態では、ユーザからのネットワーク接続方式はＰＰＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）、認証用通信はＲＡＤＩＵＳとする。
ファイアウォール装置３００は、複数の仮想ファイアウォール（３０２，３０３，…，３０４）を具備する。
さらに、図５に示すように、各仮想ファイアウォール（３０２，３０３）には、それぞれ、フィルタリングＩＤによって特定される複数のフィルタリングテーブル（５６１，５６２，５６３）が存在し、各フィルタリングテーブル（５６１，５６２，５６３）には、各ユーザの独立したフィルタリングポリシが記載される。
【００１７】
本実施の形態では、ユーザ＃ａとユーザ＃ｂが定めるセキュリティポリシが仮想ファイアウォール３０２に、ユーザ＃ｄが定めるセキュリティポリシが仮想ファイアウォール３０３に格納される。
さらに、ユーザ＃ａは仮想ファイアウォール３０２の中で、フィルタリングＩＤがαのフィルタリングテーブル５６１に、ユーザ＃ｂはフィルタリングＩＤがβのフィルタリングテーブル５６２に、ユーザ＃ｄは仮想ファイアウォール３０３の中で、フィルタリングＩＤがγのフィルタリングテーブル５６３に、それぞれのセキュリティポリシが記載されている。
ここで、ユーザ＃ａとユーザ＃ｂとを同じ仮想ファイアウォール３０２に収容するのは、例えば、仮想ファイアウォールがインターネットプロバイダ毎に構築されており、ユーザ＃ａとユーザ＃ｂとが同じインターネットプロバイダに属する場合等の理由が挙げられる。
ただし、図５に示すフィルタリングテーブル（５６１，５６２，５６３）は概念的なものであり、実際のフィルタリングテーブルは、図１に示すような構成となっている。
【００１８】
各フィルタリングルール（１１，１２，２１，２２，２３，…）には、比較すべきパケットヘッダ情報と動作（通過または廃棄）を記述したルール（ルール１、２、３、４、５、…）と、次に検索すべきフィルタリングルールが格納されているメモリアドレスを表す次ルールメモリアドレス（アドレス情報）とが記述される。
また、フィルタリング先頭ルール管理テーブル３１は、フイルタリングＩＤと、各フィルタリングテーブルの先頭のフィルタリングルールが格納されているメモリアドレスとの対応を管理する。
さらに、各フィルタリングテーブルの最終のフィルタリングルールに対して、次ルールメモリアドレスの欄を無記載（図１では、ＮＵＬＬ）とすることにより、このフィルタリングルールが最終のフィルタリングルールであることを識別する。
以上の説明を整理すると、例えば、図５におけるフィルタリングＩＤがαのフィルタリングテーブル５６１は、フィルタリング先頭ルール管理テーブル３１のフィルタリングＩＤ（α）が管理されている行、フィルタリングルール１１、および、フィルタリングルール１２により構成され、また、フィルタリングＩＤがβのフィルタリングテーブル５６２は、フィルタリング先頭ルール管理テーブル３１のフィルタリングＩＤ（β）が管理されている行、フィルタリングルール２１および、フィルタリングルール２２、フィルタリングルール２３より構成されることになる。
【００１９】
図８は、本実施の形態のファイアウォール装置の動作を示すシーケンス図である。以下、図８を用いて、本実施の形態のファイアウォール装置の動作について説明する。
振分け管理テーブル３０１には、事前に設定可能なユーザ名、仮想ファイアウォールＩＤおよびフィルタリングＩＤが登録されている。
すなわち、振分け管理テーブル３０１には、ユーザ名＃ａ、仮想ファイアウォールＩＤ（３０２）およびフィルタリングＩＤ（α）の対応付け、ユーザ名＃ｂ、仮想ファイアウォールＩＤ（３０２）およびフィルタリングＩＤ（β）の対応付け、ユーザ名＃ｄ、仮想ファイアウォールＩＤ（３０３）およびフィルタリングＩＤ（γ）の対応付けが登録される。
ただし、各ユーザ端末のユーザＩＤとなるユーザＩＰアドレスは未確定のため、この時点では登録することができない（図８に示す振分け管理テーブル３０１−１の状態）。
ユーザＩＰアドレスが振分け管理テーブル３０１に登録されない限り、各ユーザからのパケットを、それぞれの仮想ファイアウォールに振分けること、フィルタリングＩＤの付与を行うことができない。
【００２０】
本実施の形態では、ユーザ＃ａの端末３１１がインタネット３１０にネットワーク接続し、その後、接続相手端末３１３とＩＰ通信を行うものとする。
まず、ユーザ端末３１１からのネットワーク接続要求として、ユーザ端末３１１とファイアウォール装置３００との間でＬＣＰ（Ｌｉｎｋ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の情報がやりとりされる（図８の８３９）。
この後行われる認証情報のやりとり（図８の８４０）により、ファイアウォール装置３００はユーザ端末３１１から送信されるユーザ名＃ａを抽出し、ユーザ名＃ａを保持する（図８の処理ポイント８５０）。
そして、認証情報（ユーザ名およびパスワード）を、ＲＡＤＩＵＳサーバ３３０に通知する（図８の８４１）。
ＲＡＤＩＵＳサーバ３３０にて認証され、その応答を受信すると（図８の８４２）、ファイアウォール装置３００はその応答８４２に記載されているユーザ端末に付与すべきユーザＩＰアドレスを保持する。このユーザＩＰアドレスを［ａ．ａ．ａ．ａ］とする。
そして、ユーザ名＃ａを検索キーとして、振分け管理テーブル３０１の中のユーザ名が＃ａと記載されている行に、このユーザＩＰアドレス［ａ．ａ．ａ．ａ］を登録する（図８の処理ポイント８５１、図８の振分け管理テーブル３０１−２の状態）。
【００２１】
また、ファイアウォール装置３００は、これと同時に、ＮＣＰ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の情報をユーザ端末３１１とファイアウォール装置３００との間でやりとりする（図８の８４３）中で、ユーザＩＰアドレス［ａ．ａ．ａ．ａ］をユーザ端末３１１に送り、ユーザ端末３１１は自ユーザＩＰアドレスが［ａ．ａ．ａ．ａ］であると認識する。
ＮＣＰが終了後、ユーザ端末とネットワークとの間でＰＰＰ接続が確立される。
その後、ユーザ端末３１１から接続相手端末３１３に向け送信されるパケット３２１を、ファイアウォール装置３００が受信すると、その送信元ＩＰアドレスとして記載される［ａ．ａ．ａ．ａ］を検索キーとして振分け管理テーブル３０１−２を検索し、［ａ．ａ．ａ．ａ］の行に記載されている仮想ファイアウォールＩＤ（ＩＤ＝３０２）、フィルタリングＩＤ（ＩＤ＝α）を抽出し、当該パケット３２１を仮想ファイアウォール３０２に振り分けるとともに、当該パケット３２１に、αのフィルタリングＩＤを付与する（図８の処理ポイント８５２）。
フィルタリングＩＤを付与されたパケット３２２は、図５に示すように、振り分けられた仮想ファイアウォール３０２内において、フィルタリングＩＤがαのフィルタリングテーブル５６１に記載されているユーザ＃ａのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が適用される。
【００２２】
前述した通り、フィルタリングＩＤがαのフィルタリングテーブル５６１は、実際には、図１に示す構成になっている。
したがって、実際には、フィルタリングＩＤ（α）を付与されたパケット３２２が仮想ファイアウォール３０２内に到着すると、まず、フィルタリング先頭ルール管理テーブル３１から、フィルタリングＩＤ（α）と対応付けられる先頭ルールメモリアドレス（ｐｐｐｐ）を抽出する。
そして、抽出したメモリアドレスｐｐｐｐのメモリ領域に記載されるルール１に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール１の条件に合致する場合、ルール１に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
一方、比較の結果、パケットヘッダの情報がルール１の条件に合致しない場合、ルール１の次ルールメモリアドレスに記載されるメモリアドレスを参照し、参照したメモリアドレスｐｐｐａのメモリ領域に記載されるルール２に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール２の条件に合致する場合、ルール２に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
【００２３】
一方、比較の結果、パケットヘッダの情報がルール２の条件に合致しない場合、ルール２の次ルールメモリアドレスを参照するが、その記載が無い（ＮＵＬＬ）ため、ルール２がフィルタリングテーブル５６１の最終ルールであることを認識し、どのフィルタリングルールにも条件が不一致だった場合の処理を行う。なお、ファイアウォールの場合、廃棄が一般的である。
また、通信相手端末３１３からユーザ端末３１１に向け送信されるパケット３２３を、ファイアウォール装置３００が受信すると、その宛先ＩＰアドレスとして記載される［ａ．ａ．ａ．ａ］を検索キーとして、振分け管理テーブル（図８の３０１−２）を検索し、［ａ．ａ．ａ．ａ］の行に記載されている仮想ファイアウォールＩＤ（ＩＤ＝３０２）、フィルタリングＩＤ（ＩＤ＝α）を抽出し、当該パケット３２３を仮想ファイアウォール３０２に振り分けるとともに、当該パケット３２３に、αのフィルタリングＩＤを付与する（図３の処理ポイント８５３）。
フィルタリングＩＤを付与されたパケット３２４は、振り分けられた仮想ファイアウォール３０２内において、フィルタリングＩＤがαのフィルタリングテーブル５６１に記載されているユーザ＃ａのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が適用される。
【００２４】
ユーザ端末３１１から接続相手端末３１３に向け送信されるパケット３２２と同様に、実際には、フィルタリング先頭ルール管理テーブル３１から先頭ルールメモリアドレスを抽出する処理や、抽出したメモリアドレスのメモリ領域に記載されるルールとの比較処理が行われる。
ユーザ＃ｂの端末３１２がインタネット３１０にネットワーク接続し、その後、接続相手端末３１３とＩＰ通信を行う場合も、同様の手順により、端末３１２が送受信するパケットは仮想ファイアウォール３０２に振り分けられ、その後、フィルタリングテーブル５６２に記載されているユーザ＃ｂのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が適用される。
以上説明したように、本実施の形態では、次に検索すべきルールが、メモリアドレスにより直接見出すことができるため、次ルールの検索を高速化することができる。
【００２５】
［実施の形態２］
本発明の実施の形態２の高速検索対応高多重ユーザ収容ファイアウォール装置は、仮想ファイアウォールを備えていない点で、前述の実施の形態１のファイアウォール装置と相異する。
以下、本実施の形態のファイアウォール装置について、前述の実施の形態１のファイアウォール装置との相違点を中心に説明する。
なお、本実施の形態においても、ユーザからのネットワーク接続方式はＰＰＰ、認証用通信はＲＡＤＩＵＳとする。
図９は、本発明の実施の形態２の高速検索対応高多重ユーザ収容ファイアウォール装置の概略構成を示すブロック図である。
図９に示すように、本実施の形態のファイアウォール装置３００は、フィルタリングＩＤによって特定される複数のフィルタリングテーブル（５６１，５６２）を有し、各フィルタリングテーブルには、各ユーザの独立したフィルタリングポリシが記載される。
本実施の形態では、ユーザ＃ａはフィルタリングＩＤがαのフィルタリングテーブル５６１に、ユーザ＃ｂはフィルタリングＩＤがβのフィルタリングテーブル５６２に、それぞれのセキュリティポリシが記載されている。
図１０は、本実施の形態のファイアウォール装置の動作を示すシーケンス図である。以下、図１０を用いて、本実施の形態のファイアウォール装置の動作について説明する。
【００２６】
振分け管理テーブル３０１には、事前に設定可能なユーザ名およびフィルタリングＩＤが登録されている。
すなわち、振分け管理テーブル３０１には、ユーザ名＃ａおよびフィルタリングＩＤαの対応付け、ユーザ名＃ｂおよびフィルタリングＩＤβの対応付けが登録される。
ただし、各ユーザ端末のユーザＩＤとなるユーザＩＰアドレスは未確定のため、この時点では登録することができない（図１０に示す振分け管理テーブル３０１−１の状態）。
ユーザＩＰアドレスが振分け管理テーブル３０１に登録されない限り、各ユーザからのパケットに対し、フィルタリングＩＤの付与を行うことができない。
本実施の形態では、ユーザ＃ａの端末３１１がインタネット３１０にネットワーク接続し、その後、接続相手端末３１３とＩＰ通信を行うものとする。
ユーザ端末３１１とファイアウォール装置３００との間でのＬＣＰの情報がやりとり、認証情報のやりとり（図１０の８３９）から、ユーザ端末３１１とファイアウォール装置３００との間でのＮＣＰの情報をやりとり（図１０の８４３）までの動作は、実施の形態１と同様であるので、再度の説明は省略する。
ＮＣＰが終了後、ユーザ端末とネットワークとの間でＰＰＰ接続が確立される。
【００２７】
その後、ユーザ端末３１１から接続相手端末３１３に向け送信されるパケット３２１を、ファイアウォール装置３００が受信すると、その送信元ＩＰアドレスとして記載される［ａ．ａ．ａ．ａ］を検索キーとして振分け管理テーブル（図１０の３０１−２）を検索し、［ａ．ａ．ａ．ａ］の行に記載されているフィルタリングＩＤ（ＩＤ＝α）を抽出し、当該パケット３２１に対し、αのフィルタリングＩＤを付与する（図１０の処理ポイント８５２）。
フィルタリングＩＤを付与されたパケット３２２は、フィルタリングＩＤがαのフィルタリングテーブル５６１に記載されているユーザ＃ａのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が適用される。
実施の形態１と同様、フィルタリングＩＤがαのフィルタリングテーブル５６１は、実際には、図１１に示す構成になっている。
図１１は、本発明の実施の形態２のフィルタリングルールの構成を示す図である。
したがって、実際には、フィルタリングＩＤ（α）を付与されたパケット３２２は、まず、フィルタリング先頭ルール管理テーブル３１から、フィルタリングＩＤ（α）と対応付けられる先頭ルールメモリアドレス（ｐｐｐｐ）を抽出する。
【００２８】
そして、抽出したメモリアドレスｐｐｐｐのメモリ領域に記載されるルール１に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール１の条件に合致する場合、ルール１に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
一方、比較の結果、パケットヘッダの情報がルール１の条件に合致しない場合、ルール１の次ルールメモリアドレスに記載されるメモリアドレスを参照し、参照したメモリアドレスｐｐｐａのメモリ領域に記載されるルール２に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール２の条件に合致する場合、ルール２に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
一方、比較の結果、パケットヘッダの情報がルール２の条件に合致しない場合、ルール２の次ルールメモリアドレスを参照するが、その記載が無い（ＮＵＬＬ）ため、ルール２がフィルタリングテーブル５６１の最終ルールであることを認識し、どのフィルタリングルールにも条件が不一致だった場合の処理を行う。なお、ファイアウォールの場合、廃棄が一般的である。
【００２９】
また、通信相手端末３１３からユーザ端末３１１に向け送信されるパケット３２３をファイアウォール装置３００が受信すると、その宛先ＩＰアドレスとして記載される［ａ．ａ．ａ．ａ］を検索キーとして振分け管理テーブル（図１０の３０１−２）を検索し、［ａ．ａ．ａ．ａ］の行に記載されているフィルタリングＩＤ（ＩＤ＝α）を抽出し、該パケット３２３に対して、αのフィルタリングＩＤを付与する（図１０の処理ポイント８５３）。
フィルタリングＩＤを付与されたパケット３２４は、フィルタリングＩＤがαのフィルタリングテーブル５６１に記載されているユーザ＃ａのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が適用される。
ユーザ端末３１１から接続相手端末３１３に向け送信されるパケット３２２と同様に、実際には、フィルタリング先頭ルール管理テーブル３１から先頭ルールメモリアドレスを抽出する処理や、抽出したメモリアドレスのメモリ領域に記載されるルールとの比較処理が行われる。
ユーザ＃ｂの端末３１２がインタネット３１０にネットワーク接続し、その後、接続相手端末３１３とＩＰ通信を行う場合も、同様の手順により、端末３１２が送受信するパケットはフィルタリングテーブル５６２に記載されているユーザ＃ｂのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が適用される。
以上説明したように、本実施の形態では、次に検索すべきルールが、メモリアドレスにより直接見出すことができるため、次ルールの検索を高速化することができる。
【００３０】
［実施の形態３］
本発明の実施の形態３のファイアウォール装置は、フィルタリングＩＤを、個別フィルタリングＩＤと共通フィルタリングＩＤに２分化した点で、前述の実施の形態１のファイアウォール装置と相異する。
以下、本実施の形態のファイアウォール装置について、前述の実施の形態１のファイアウォール装置との相違点を中心に説明する。
なお、本発明の実施の形態３のファイアウォール装置の概略構成は、図２と同じである。また、本実施の形態においても、ユーザからのネットワーク接続方式はＰＰＰ、認証用通信はＲＡＤＩＵＳとする。
本実施の形態のファイアウォール装置では、前述の実施の形態１のフィルタリングＩＤを、さらに個別フィルタリングＩＤと共通フィルタリングＩＤに２分化し、各ユーザ個別のフィルタリングポリシは個別フィルタリングテーブルに記載し、複数のユーザにて共通化することが可能なフィルタリングポリシは共通フィルタリングテーブルに記載する。
したがって、本実施の形態において、図２に示す振分け管理テーブル３０１および図８に示す振分け管理テーブル（３０１−１）は、図６の振分け管理テーブル６０１に置き換えられ、図８に示す振分け管理テーブル（３０１−２）は、図１２の振分け管理テーブル１１０１に置き換えられる。
【００３１】
また、図７は、本実施の形態のファイアウォール装置の仮想ファイアウォール内のフィルタリングテーブルの概念を示す図である。
本実施の形態のファイアウォール装置３００は、複数の仮想ファイアウォール（３０２，３０３，…，３０４）を具備している。
さらに、図７に示すように、各仮想ファイアウォール（３０２，３０３）にはそれぞれ、個別フィルタリングＩＤによって特定される複数のフィルタリングテーブル（６６１，６６２，６６３）、および共通フィルタリングＩＤによって特定される複数のフィルタリングテーブル（５７１、５７２）が存在する。
各ユーザ個別のフィルタリングポリシは個別フィルタリングテーブル（６６１，６６２，６６３）に、複数のユーザにて共通化することが可能なフィルタリングポリシは共通フィルタリングテーブル（５７１，５７２）に記載されている。
また、これに伴い、図６に示すように、振分け管理テーブル６０１は、ユーザ名、仮想ファイアウォールＩＤ、個別フィルタリングＩＤおよび共通フィルタリングＩＤを管理する。
【００３２】
本実施の形態では、ユーザ＃ａとユーザ＃ｂが定めるセキュリティポリシが仮想ファイアウォール３０２に、ユーザ＃ｄが定めるセキュリティポリシが仮想ファイアウォール３０３に格納されている。
さらに、ユーザ＃ａの個別フィルタリングポリシは仮想ファイアウォール３０２の中で、フィルタリングＩＤがαの個別フィルタリングテーブル６６１に、ユーザ＃ｂの個別フィルタリングポリシはフィルタリングＩＤがβの個別フィルタリングテーブル６６２に、ユーザ＃ｄの個別フィルタリングポリシは仮想ファイアウォール３０３の中で、フィルタリングＩＤがγの個別フィルタリングテーブル６６３に、それぞれ記載されている。
また、ユーザ＃ａとユーザ＃ｂは、フィルタリングＩＤがＩの共通フィルタリングテーブル５７１に記載のフィルタリングポリシも適用される。
同様に、ユーザ＃ｄは、フィルタリングＩＤがＩＩの共通フィルタリングテーブル５７２に記載のフィルタリングポリシも適用される。
ただし、図７に示す個別フィルタリングテーブル（６６１，６６２，６６３）および共通フィルタリングテーブル（５７１，５７２）は概念的なものであり、実際の各フィルタリングテーブルは、図１３に示すような構成となっている。
【００３３】
図１３は、本発明の実施の形態３のフィルタリングルールの構成を示す図である。
個別フィルタリングルール（４１，４２，…）には、比較すべきパケットヘッダ情報と動作（通過または廃棄）を記述したフィルタリングルール（ルール６、７、…）と、次に検索すべきフィルタリングルールが格納されているメモリアドレスを表す次ルールメモリアドレスとが記述される。
また、個別フィルタリング先頭ルール管理テーブル３２に、個別フィルタリングＩＤと、各個別フィルタリングテーブルの先頭のフィルタリングルールを格納するメモリアドレスとの対応を管理する。
さらに、各個別フィルタリングテーブルの最終のフィルタリングルールに対して、次ルールメモリアドレスの欄を無記載（図１ではＮＵＬＬ）とすることにより、当該フィルタリングルールが最終ルールであることを識別する。
同様にして、共通フィルタリングルール（５１，５２，…）には、比較すべきパケットヘッダ情報と動作（通過または廃棄）を記述したルール（ルール８，９，…）と、次に検索すべきフィルタリングルールが格納されているメモリアドレスを表す次ルールメモリアドレスとが記述される。
また、共通フィルタリング先頭ルール管理テーブル３３は、共通フィルタリングＩＤと、各共通フィルタリングテーブルの先頭のフィルタリングルールが格納されるメモリアドレスとの対応を管理する。
さらに、各共通フィルタリングテーブルの最終のフィルタリングルールに対して、次ルールメモリアドレスの欄を無記載（図１ではＮＵＬＬ）とすることにより、当該フィルタリングルールが最終ルールであることを識別する。
【００３４】
以上の説明を整理すると、例えば、図７における個別フィルタリングＩＤがαのフィルタリングテーブル６６１は、個別フィルタリング先頭ルール管理テーブル３２の個別フィルタリングＩＤ（α）が管理されている行、フィルタリングルール４１、および、フィルタリングルール４２により構成される。
また、共通フィルタリングＩＤについては、例えば、共通フィルタリングＩＤがＩのフイルタリングテーブル５７１は、共通フィルタリング先頭ルール管理テーブル３３の共通フィルタリングＩＤ（Ｉ）が管理されている行、共通フィルタリングルール５１および、共通フィルタリングルール５２より構成されることになる。
以下、図８を用いて、本実施の形態のファイアウォール装置の動作について説明する。
振分け管理テーブル６０１には、事前に設定可能なユーザ名、仮想ファイアウォールＩＤ、個別フィルタリングＩＤおよび共通フィルタリングＩＤが登録されている。
すなわち、振分け管理テーブル６０１には、ユーザ名＃ａ、仮想ファイアウォールＩＤ（３０２）、個別フィルタリングＩＤ（α）および共通フィルタリングＩＤ（Ｉ）の対応付け、ユーザ名＃ｂ、仮想ファイアウォールＩＤ（３０２）、個別フィルタリングＩＤ（β）および共通フィルタリングＩＤ（Ｉ）の対応付け、ユーザ名＃ｄ、仮想ファイアウォールＩＤ（３０３）、個別フィルタリングＩＤ（γ）および共通フィルタリングＩＤ（ＩＩ）の対応付けが登録される。
【００３５】
ただし、各ユーザ端末のユーザＩＤとなるユーザＩＰアドレスは未確定のため、この時点では登録することができない（図６の振分け管理テーブル６０１の状態）。
ユーザＩＰアドレスが振分け管理テーブル６０１に登録されない限り、各ユーザからのパケットをそれぞれの仮想ファイアウォールに振分けること、個別フィルタリングＩＤおよび共通フィルタリングＩＤの付与を行うことができない。
本実施の形態では、ユーザ＃ａの端末３１１がインタネット３１０にネットワーク接続し、その後、接続相手端末３１３とＩＰ通信を行うものとする。
ユーザ端末３１１とファイアウォール装置３００との間でのＬＣＰの情報がやりとりから、ユーザ端末３１１とファイアウォール装置３００との間でのＮＣＰの情報をやりとりまでの動作は、実施の形態１と同様であるので、再度の説明は省略する。
ＮＣＰが終了後、ユーザ端末とネットワークとの間でＰＰＰ接続が確立される。
その後、図２に示すように、ユーザ端末３１１から接続相手端末３１３に向け送信されるパケット３２１をファイアウォール装置３００が受信すると、その送信元ＩＰアドレスとして記載される［ａ．ａ．ａ．ａ］を検索キーとして振分け管理テーブル１１０１を検索し、［ａ．ａ．ａ．ａ］の行に記載されている仮想ファイアウォールＩＤ＝３０２、個別フィルタリングＩＤ＝αおよび共通フィルタリングＩＤ＝Ｉを抽出し、当該パケット３２１を仮想ファイアウォール３０２に振り分けるとともに、αの個別フィルタリングＩＤ、およびＩの共通フィルタリングＩＤを付与する（図８の処理ポイント８５２）。
【００３６】
個別フィルタリングＩＤおよび共通フィルタリングＩＤが付与されたパケット３２２は、図７に示すように、仮想ファイアウォール３０２内において、個別フィルタリングＩＤ＝αの個別フィルタリングテーブル６６１に記載のユーザ＃ａのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が行われる。
前述の通り、個別フィルタリングＩＤがαの個別フィルタリングテーブル６６１は、実際には、図１３に示す構成になっている。
したがって、実際には、個別フィルタリングＩＤ（α）を付与されたパケット３２２が仮想ファイアウォール３０２内に到着すると、まず、個別フィルタリング先頭ルール管理テーブル３２から、個別フィルタリングＩＤ（α）と対応付けられる先頭ルールメモリアドレス（ｐｐｐｐ）を抽出する。
そして、抽出したメモリアドレスｐｐｐｐのメモリ領域に記載されるルール６に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール６の条件に合致する場合、ルール６に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
一方、比較の結果、パケットヘッダの情報がルール６の条件に合致しない場合、ルール６の次ルールメモリアドレスに記載されるメモリアドレスを参照し、参照したメモリアドレスｐｐｐａのメモリ領域に記載されるルール７に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール７の条件に合致する場合、ルール７に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
【００３７】
一方、比較の結果、パケットヘッダの情報がルール７の条件に合致しない場合、ルール７の次ルールメモリアドレスを参照するが、その記載が無い（ＮＵＬＬ）ため、ルール７が個別フィルタリングテーブル６６１の最終ルールであることを認識する。
もし個別フィルタリングテーブル６６１に記載のフィルタリングポリシに、適用すべきルールが存在しなかった場合、パケット３２２は、次に、共通フィルタリングＩＤ＝Ｉの共通フィルタリングテーブル５７１に記載のフィルタリングポリシに従い、通過あるいは廃棄処理が行われる。
個別フィルタリングテーブル６６１に対する処理と同様に、共通フィルタリングＩＤがＩの共通フィルタリングテーブル５７１は、実際には、図１３に示す構成になっている。
したがって、実際には、共通フィルタリングＩＤ（Ｉ）が付与されたパケット３２２は、共通フィルタリング先頭ルール管理テーブル３３から、共通フィルタリングＩＤ（Ｉ）と対応付けられる先頭ルールメモリアドレス［ｒｒｒｒ］を抽出する。そして抽出したメモリアドレス［ｒｒｒｒ］のメモリ領域に記載されるルール８に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール８の条件に合致する場合、ルール８に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
一方、比較の結果、パケットヘッダの情報がルール８の条件に合致しない場合、ルール８の次ルールメモリアドレスに記載されるメモリアドレスを参照し、参照したメモリアドレス［ｒｒｒａ］のメモリ領域に記載されるルール９に記載された情報と、パケットヘッダの情報との比較処理を行う。
比較の結果、パケットヘッダの情報がルール９の条件に合致する場合、ルール９に記載される動作に従い、パケット３２２は通過あるいは廃棄される。
【００３８】
一方、比較の結果、パケットヘッダの情報がルール９の条件に合致しない場合、ルール９の次ルールメモリアドレスを参照するが、その記載が無い（ＮＵＬＬ）ため、ルール９が共通フィルタリングテーブル５７１の最終ルールであることを認識し、どのフィルタリングルールにも条件が不一致だった場合の処理を行う。なお、ファイアウォールの場合、廃棄が一般的である。
また、通信相手端末３１３からユーザ端末３１１に向け送信されるパケット３２３をファイアウォール装置３００が受信すると、その宛先ＩＰアドレスとして記載される［ａ．ａ．ａ．ａ］を検索キーとして振分け管理テーブル１１０１を検索し、［ａ．ａ．ａ．ａ］の行に記載されている仮想ファイアウォールＩＤ（ＩＤ＝３０２）、個別フィルタリングＩＤ（ＩＤ＝α）および共通フィルタリングＩＤ（ＩＤ＝Ｉ）を抽出し、該パケット３２３を仮想ファイアウォール３０２に振り分けるとともに、αの個別フィルタリングＩＤおよび１の共通フィルタリングＩＤを付与する（図８の処理ポイント８５３）。
個別フィルタリングＩＤおよび共通フィルタリングＩＤが付与されたパケット３２４は、個別フィルタリングＩＤがαの個別フィルタリングテーブル６６１に記載のユーザ＃ａのセキュリティポリシに従うフィルタリングルールに従い、通過あるいは廃棄処理が行われる。
もし、個別フィルタリングテーブル６６１記載のフィルタリングポリシに、適用すべきルールが存在しなかった場合、パケット３２４は、次に共通フィルタリングＩＤがＩの共通フィルタリングテーブル５７１に記載のフィルタリングポリシに従い、通過あるいは廃棄処理が行われる。
【００３９】
ユーザ端末３１１から接続相手端末３１３に向け送信されるパケット３２２と同様に、実際には、個別フィルタリング先頭ルール管理テーブル３２および共通フィルタリング先頭ルール管理テーブル３３のそれぞれから先頭ルールメモリアドレスを抽出する処理や、抽出したメモリアドレスのメモリ領域に記載されるルールとの比較処理が行われる。
ユーザ＃ｂの端末３１２がインタネット３１０にネットワーク接続し、その後、接続相手端末３１３とＩＰ通信を行う場合も、同様の手順により、端末３１２が送受信するパケットは仮想ファイアウォール３０２に振り分けられ、その後、個別フィルタリングテーブル６６２に記載されているユーザ＃ｂのセキュリティポリシに従うフィルタリングルール、および共通フィルタリングテーブル５７１に記載されているフィルタリングルールに従い、通過あるいは廃棄処理が適用される。
以上説明したように、本実施の形態では、次に検索すべきルールが、メモリアドレスにより直接見出すことができるため、次ルールの検索を高速化することたできる。
以上、本発明者によってなされた発明を、前記実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【００４０】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、フィルタリングテーブルのフィルタリングポリシを構成する各フィルタリングルールに記載する情報として、比較すべきパケットヘッダ情報と動作（通過または廃棄）を記述したルール自身に加え、次に検索すべきルールを格納するアドレス情報を導入するようにしたので、次のフィルタリングルールが、アドレス情報により直接示されるため、次のフィルタリングルールの検索を高速化することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１のフィルタリングルールの構成を示す図である。
【図２】本発明の実施の形態１の高速検索対応高多重ユーザ収容ファイアウォール装置の概略構成を示すブロック図である。
【図３】従来のファイアウォール装置の概略構成を示すブロック図である。
【図４】図３に示すファイアウォール装置の動作を示すシーケンス図である。
【図５】本発明の実施の形態１で適用される仮想ファイアウォール内のフィルタリングテーブルの概念を示す図である。
【図６】個別フィルタリングＩＤおよび共通フィルタリングＩＤを管理する振り分け管理テーブルの構成を示す図である。
【図７】仮想ファイアウォール内における個別フィルタリングテーブルおよび共通フィルタリングテーブルの概念を示す図である。
【図８】本発明の実施の形態１のファイアウォール装置の動作を示すシーケンス図である。
【図９】本発明の実施の形態２の高速検索対応高多重ユーザ収容ファイアウォール装置の概略構成を示すブロック図である。
【図１０】本発明の実施の形態２のファイアウォール装置の動作を示すシーケンス図である。
【図１１】本発明の実施の形態２のフィルタリングルールの構成を示す図である。
【図１２】ユーザＩＰアドレスが登録された個別フィルタリングＩＤおよび共通フィルタリングＩＤを管理する振り分け管理テーブルの構成を示す図である。
【図１３】本発明の実施の形態３のフィルタリングルールの構成を示す図である。
【符号の説明】
１０，１２，２１，２２，２３，４１，４２，５１，５２…フィルタリングルール、３１…フィルタリング先頭ルール管理テーブル、３２…個別フィルタリング先頭ルール管理テーブル、３３…共通フィルタリング先頭ルール管理テーブル、１００，３００…ファイアウォール装置、１０１，３０１，１１０１…振分け管理テーブル、１０２，１０３，１０４，３０２，３０３，３０４…仮想ファイアウォール、１１０，３１０…インタネット、１１１，１１２，１１３，１１４，１１５，２１１，２１２，２１３，３１１，３１２，３１３，３１４，３１５…端末、１２１，１２２，３２１，３２２，３２３，３２４…パケット、１３０，３３０…ＲＡＤＩＳサーバ、５６１，５６２，５６３，５７１，５７２，６６１，６６２，６６３…フィルタリングテーブル。
【図１】
2005031720.tif 000003
【図２】
2005031720.tif 000004
【図３】
2005031720.tif 000005
【図４】
2005031720.tif 000006
【図５】
2005031720.tif 000007
【図６】
2005031720.tif 000008
【図７】
2005031720.tif 000009
【図８】
2005031720.tif 000010
【図９】
2005031720.tif 000011
【図１０】
2005031720.tif 000012
【図１１】
2005031720.tif 000013
【図１２】
2005031720.tif 000014
【図１３】
2005031720.tif 000015