(57)【要約】【課題】  セキュリティポリシー作成者の意図を確認しやすくする。【解決手段】  ポリシー正規化手段１１０は、入力されたセキュリティポリシーに対する正規化を行う。すなわち、セキュリティポリシーに必要な項目が含まれていなければ、その項目を予め定められていた既定値で補い、セキュリティポリシーに必要な項目が含まれるようにする。動作モデル作成手段１２０は、正規化されたセキュリティポリシーに基づき、ネットワークアクセス制御装置の動作を表す動作モデルを作成する。このとき、動作モデル作成手段１２０は、ネットワークアクセス制御装置の種類に依存しないデータ構造によって表される動作モデルを作成する。修正手段１３０は、作業者の所望の修正方針に従って、動作モデルを修正し、設定情報化手段１４０は修正後の動作モデルからネットワークアクセス制御装置の設定情報を作成する。【選択図】  図１
2006005716.tif 000002
【特許請求の範囲】
【請求項１】
送受信されるデータの通過許可条件または通過禁止条件を少なくとも含むセキュリティポリシーを記憶するポリシー記憶手段と、
送受信されるデータに対して通過を許可する動作または通過を禁止する動作を少なくとも行うネットワークアクセス制御装置が接続されている通信ネットワークに接続されている機器の情報を記述したトポロジー情報を記憶するトポロジー記憶手段と、
前記ポリシー記憶手段が記憶するセキュリティポリシーに基づいて、前記トポロジー情報に記述された各機器に対する前記ネットワークアクセス制御装置の動作を表したデータである動作モデルを作成する動作モデル作成手段とを備えた
ことを特徴とする動作モデル作成システム。
【請求項２】
セキュリティポリシーが入力されるポリシー入力手段を備え、
ポリシー記憶手段は、前記ポリシー入力手段に入力されたセキュリティポリシーを記憶する
請求項１に記載の動作モデル作成システム。
【請求項３】
トポロジー情報が入力されるトポロジー情報入力手段を備え、
トポロジー記憶手段は、前記トポロジー情報入力手段に入力されたトポロジー情報を記憶する
請求項１または請求項２に記載の動作モデル作成システム。
【請求項４】
前記セキュリティポリシーに予め定められた項目に関する記述が含まれていないときに、前記項目に関する記述を前記セキュリティポリシーに追加する正規化処理を実行するポリシー正規化手段を備え、
動作モデル作成手段は、前記正規化処理が実行されたセキュリティポリシーに基づいて、動作モデルを作成する
請求項１から請求項３のうちのいずれか１項に記載の動作モデル作成システム。
【請求項５】
前記動作モデルを、ネットワークアクセス制御装置の動作を規定する情報であって前記ネットワークアクセス制御装置の種類に依存した書式で記述された情報である設定情報に変換する際の変換規則を記憶する変換規則記憶手段と、
前記変換規則に従って前記動作モデルを前記設定情報に変換する設定情報化手段とを備えた
請求項１から請求項４のうちのいずれか１項に記載の動作モデル作成システム。
【請求項６】
動作モデル作成手段によって作成された動作モデルに対する修正方針が入力される修正方針入力手段と、
前記修正方針に応じて前記動作モデルを修正する修正手段とを備えた
請求項１から請求項５のうちのいずれか１項に記載の動作モデル作成システム。
【請求項７】
画像を表示する情報出力手段を備え、
前記修正手段は、前記情報出力手段に入力候補となる複数の修正方針を示してユーザに修正方針の選択を促すユーザインタフェースを表示させる
請求項６に記載の動作モデル作成システム。
【請求項８】
前記修正手段は、修正方針入力手段に動作モデルの冗長性を許可しない旨を規定した修正方針が入力されたときには、動作モデルに含まれる情報のうち重複している情報を削除する修正を行う
請求項６または請求項７に記載の動作モデル作成システム。
【請求項９】
画像を表示する情報出力手段を備え、
修正手段は、前記情報出力手段に動作モデルの冗長性を許可しない旨を規定した修正方針と、動作モデルの冗長性を許可する旨を規定した修正方針とを示してユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる
請求項８に記載の動作モデル作成システム。
【請求項１０】
トポロジー記憶手段は、各機器が搭載するソフトウェアの情報を含むトポロジー情報を記憶し、
修正手段は、修正方針入力手段に動作モデルの厳密性を求める旨を規定した修正方針が入力されたときには、前記トポロジー情報に基づいて、動作モデルに含まれる情報のうち、当該動作モデルに対応する機器に搭載されているソフトウェアに関連する情報以外の情報を削除する修正を行う
請求項６から請求項９のうちのいずれか１項に記載の動作モデル作成システム。
【請求項１１】
画像を表示する情報出力手段を備え、
修正手段は、前記情報出力手段に動作モデルの厳密性を求める旨を規定した修正方針と、動作モデルの厳密性を求めない旨を規定した修正方針とを示してユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる
請求項１０に記載の動作モデル作成システム。
【請求項１２】
動作モデル作成手段は、ポリシー記憶手段が記憶するセキュリティポリシーに応じて、通過許可条件が満たされたときにデータの通過を許可する旨を記述するとともに、前記通過許可条件が満たされないときにデータの通過を禁止することを記述した第１の記述形式の動作モデル、または通過禁止条件が満たされたときにデータの通過を禁止する旨を記述するとともに、前記通過禁止条件が満たされないときにデータの通過を許可することを記述した第２の記述形式の動作モデルを作成し、
修正手段は、修正方針入力手段に第２の記述形式の動作モデルへの修正を規定した修正方針が入力されたときには、第１の記述形式の動作モデルを第２の記述形式の動作モデルに変換する修正を行い、修正方針入力手段に第１の記述形式の動作モデルへの修正を規定した修正方針が入力されたときには、第２の記述形式の動作モデルを第１の記述形式の動作モデルに変換する修正を行う
請求項６から請求項１１のうちのいずれか１項に記載の動作モデル作成システム。
【請求項１３】
画像を表示する情報出力手段を備え、
修正手段は、前記情報出力手段に第２の記述形式の動作モデルへの修正を規定した修正方針、第１の記述形式の動作モデルへの修正を規定した修正方針、および動作モデルの修正を行わない旨を規定した修正方針を示しユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる
請求項１２に記載の動作モデル作成システム。
【請求項１４】
修正手段は、修正方針入力手段が機器の動作の効率性を求める旨を規定した修正方針を入力したときには、動作モデルを、ネットワークアクセス制御装置の動作を高速化可能な態様に修正する
請求項６から請求項１３のうちのいずれか１項に記載の動作モデル作成システム。
【請求項１５】
画像を表示する情報出力手段を備え、
修正手段は、前記情報出力手段に機器の動作の効率性を求める旨を規定した修正方針と、機器の動作の効率性を求めない旨を規定した修正方針とを示しユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる
請求項１４に記載の動作モデル作成システム。
【請求項１６】
修正手段は、情報出力手段に動作モデル作成手段によって作成された動作モデルの一つを図として示すユーザインタフェースを表示させる
請求項７，９，１１，１３または１５に記載の動作モデル作成システム。
【請求項１７】
修正手段は、修正方針入力手段に入力された修正方針に応じて、ユーザインタフェース上に図として示された動作モデルを修正する
請求項１６に記載の動作モデル作成システム。
【請求項１８】
修正手段は、修正方針入力手段に未だ修正されていない各動作モデルに対して適用される修正方針が入力されたときに、前記修正方針に従って、未だ修正されていない各動作モデルを修正する
請求項６から請求項１７のうちのいずれか１項に記載の動作モデル作成システム。
【請求項１９】
画像を表示する情報出力手段を備え、
修正手段は、前記情報出力手段に修正した動作モデルを図として表示させる
請求項６から請求項１８に記載の動作モデル作成システム。
【請求項２０】
画像を表示する情報出力手段を備え、
動作モデル作成手段は、前記情報出力手段に作成した動作モデルを図として表示させる
請求項１から請求項１９のうちのいずれか１項に記載の動作モデル作成システム。
【請求項２１】
ポリシー記憶手段が、送受信されるデータの通過許可条件または通過禁止条件を少なくとも含むセキュリティポリシーを記憶し、
トポロジー記憶手段が、送受信されるデータに対して通過を許可する動作または通過を禁止する動作を少なくとも行うネットワークアクセス制御装置が接続されている通信ネットワークに接続されている機器の情報を記述したトポロジー情報を記憶し、
動作モデル作成手段が、前記ポリシー記憶手段が記憶するセキュリティポリシーに基づいて、前記トポロジー情報に記述された各機器に対する前記ネットワークアクセス制御装置の動作を表したデータである動作モデルを作成する
ことを特徴とする動作モデル作成方法。
【請求項２２】
ポリシー入力手段が、セキュリティポリシーを入力し、
ポリシー記憶手段が、前記セキュリティポリシーを記憶する
請求項２１に記載の動作モデル作成方法。
【請求項２３】
トポロジー情報入力手段が、トポロジー情報を入力し、
トポロジー記憶手段が、前記トポロジー情報を記憶する
請求項２１または請求項２２に記載の動作モデル作成方法。
【請求項２４】
ポリシー正規化手段が、前記セキュリティポリシーに予め定められた項目に関する記述が含まれていないときに、前記項目に関する記述を前記セキュリティポリシーに追加する正規化処理を実行し、
動作モデル作成手段が、前記正規化処理が実行されたセキュリティポリシーに基づいて、動作モデルを作成する
請求項２１から請求項２３のうちのいずれか１項に記載の動作モデル作成方法。
【請求項２５】
送受信されるデータの通過許可条件または通過禁止条件を少なくとも含むセキュリティポリシーを記憶するポリシー記憶手段と、送受信されるデータに対して通過を許可する動作または通過を禁止する動作を少なくとも行うネットワークアクセス制御装置が接続されている通信ネットワークに接続されている機器の情報を記述したトポロジー情報を記憶するトポロジー記憶手段とを備えた、コンピュータに、
前記ポリシー記憶手段が記憶するセキュリティポリシーに基づいて、前記トポロジー情報に記述された各機器に対する前記ネットワークアクセス制御装置の動作を表したデータである動作モデルを作成する処理
を実行させるための動作モデル作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティポリシーから、ネットワークアクセス制御装置の動作を表す動作モデルを生成する動作モデル作成システム、動作モデル作成方法および動作モデル作成プログラムに関する。
【背景技術】
【０００２】
セキュリティポリシーからネットワークアクセス制御装置の設定情報を作成する技術が種々提案されている（例えば、特許文献１〜３参照。）。ここで、ネットワークアクセス制御装置とは、例えば、パケットフィルタリング等のネットワークアクセス制御を行う装置であり、ネットワークアクセス制御装置の例として、例えば、ファイアウォール、ルータ、サーバ装置等が挙げられる。また、設定情報とは、ネットワークアクセス制御装置の動作を規定する情報である。ネットワークアクセス制御装置は、設定情報として記述された設定内容に従ってパケットフィルタリング等のネットワークアクセス制御を実行する。なお、設定情報は、ネットワークアクセス制御装置に応じた書式で記述される。
【０００３】
特許文献１に記載された電子機器設定情報作成方法では、自然言語で記述された高レベルのセキュリティポリシー（第１レベルのプロダクトレベルポリシー）を汎用な中間言語（インターフェース言語）に変換する。そして、特定装置毎に用意したスクリプト作成手段によって、機器に固有の言語で記述された設定情報である低レベルのセキュリティポリシー（第２レベルのプロダクトレベルポリシー）に変換する。特許文献１に記載された電子機器設定情報作成方法では、高レベルのセキュリティポリシーから中間言語への変換、および中間言語から低レベルのセキュリティポリシーへの変換は、それぞれ各語彙を、一対一に対応する他の語彙に変換することによって行うことを前提としている。
【０００４】
特許文献２に記載されたファイアウォールを管理するための方法および装置では、通信ネットワークに対するセキュリティポリシーを表現するエンティティ関係モデルを、モデル定義言語で生成する。そして、モデルコンパイラによって、エンティティ関係モデルを、装置に固有の設定情報であるファイアウォールコンフィギュレーションファイルに翻訳する。
【０００５】
特許文献３に記載されたネットワーク管理システムでは、ネットワークを利用するユーザグループ（特許文献３ではZoneと記している。）毎の利用アプリケーションを列挙することで、ファイアウォールやルータの設定情報を自動的に作成する。
【０００６】
また、ＩＳＭＳ（Information Security Management System）適合性評価制度がある。この制度では、セキュリティに関する体系化されたマネジメント方式を示している。その第１のステップが、情報セキュリティに関する基本的な方針を策定することである。この基本的な方針というのがセキュリティポリシーであり、自然言語によって記述されたセキュリティに関する宣言的な方針である。ＩＳＭＳ適合性評価制度の方針に従ってセキュリティマネジメントを実施する機運が高まっているため、セキュリティマネジメントに取り組む企業には、セキュリティポリシーが存在することが多い。
【０００７】
【特許文献１】特開２００３−１４０８９０号公報  （第５−６頁、図１）
【特許文献２】特開２０００−２５３０６６号公報  （段落００１０、図１）
【特許文献３】特開２０００−２４４４９５号公報  （第２−５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の技術では、自然言語で記述された高レベルのセキュリティポリシーを汎用な中間言語に一対一に変換し、さらに中間言語から低レベルのセキュリティポリシーに一対一に変換する。このとき、自然言語で記述された高レベルのセキュリティポリシーがセキュリティポリシー作成者の本来の意図通りに記述されていなかったとすると、そのセキュリティポリシーに含まれている誤りがそのまま低レベルのセキュリティポリシー（設定情報）に反映されてしまう。そして、設定情報の記述は、各装置に固有の書式で記述されているため、設定情報の記述を判読することは作業者（例えばシステム管理者）にとって非常に困難である。従って、設定情報において、セキュリティポリシー作成者の意図に沿っていない記述を見つけることは困難であり、また、設定情報がセキュリティポリシー作成者の意図に沿っているか否かを確認することも困難である。すなわち、「セキュリティポリシー作成者の意図の確認が困難」という課題がある。
【０００９】
また、高レベルのセキュリティポリシーの作成者が複数存在する場合、作成者毎にセキュリティポリシーの設計指針が異なってしまうことがある、その結果、特許文献１に記載の技術では、高レベルのセキュリティポリシー（自然言語で記述されたセキュリティポリシー）から作成される低レベルのセキュリティポリシー（設定情報）において、意味の不整合や記述方式の不一致などが発生していまい、その後の保守作業が難しくなってしまう。すなわち、「一貫性保持が困難」という課題もある。
【００１０】
また、自然言語を用いた高レベルのセキュリティポリシーは、人に理解しやすい形式、または人に理解しやすい順序で記述されている。これをそのまま低レベルのセキュリティポリシー（設定情報）に変換した場合、その設定情報では、装置の動作効率が低下してしまう場合もある。従って、特許文献１に記載の技術では、人に理解しやすいように記述された高レベルのセキュリティポリシーから装置の動作効率の向上に適した設定情報を生成することが難しい、すなわち、「装置の効率性向上が困難」という課題もある。
【００１１】
特許文献２に記載された技術では、モデル定義言語で生成したエンティティ関係モデルから設定情報（ファイアウォールコンフィギュレーションファイル）を生成している。このようなエンティティ関係モデルやファイアウォールコンフィギュレーションファイルにおいても、「セキュリティポリシー作成者の意図の確認が困難」という課題が生じる。
【００１２】
また、ある動作を許可する条件を定めた各種ルールを定めておき、それらのルールの条件が満たされない場合には、その動作を禁止するという設定を、設定情報内に記述する場合がある。一方、利用者によっては、ある動作を禁止する条件を定めた各種ルールを定めておき、それらのルールの条件が満たされない場合には、その動作を許可するという設定を、設定情報内に記述したいと考える場合もある。しかし、特許文献２に記載の技術では、コンフィギュレーションファイルを作成するアルゴリズムが規定されているため、この二つの記述形式のうち１つの記述形式で設定情報を記述することになる。すなわち、設定情報の記述形式に柔軟性を欠いてしまうことなる。
【００１３】
特許文献３に記載の技術においても、設定情報を生成するアルゴリズムが規定されているため、特許文献２に記載の技術と同様に、設定情報の記述形式が画一的になり、柔軟性を欠いてしまう。
【００１４】
また、ＩＳＭＳ適合性評価制度の方針に従ってセキュリティマネジメントを実施する機運が高まっているため、企業は、まずセキュリティポリシーを策定する傾向にある。従って、セキュリティポリシーに基づいて各装置の設定情報を作成することが好ましい。しかし、特許文献３に記載された技術では、列挙されたアプリケーションから設定情報を作成していて、セキュリティポリシーから設定情報を作成するものとはなっていない。
【００１５】
そこで、本発明は、セキュリティポリシーからネットワークアクセス制御装置の設定情報を作成する場合に、「セキュリティポリシー作成者の意図の確認が困難」、「一貫性保持が困難」という課題を解決することができる動作モデル作成システム、動作モデル作成方法および動作モデル作成プログラムを提供することを目的とする。また、「効率性向上が困難」という課題を解決したり、設定情報の記述形式に柔軟性を持たせることができる動作モデル作成システム、動作モデル作成方法および動作モデル作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明による動作モデル作成システムは、送受信されるデータの通過許可条件または通過禁止条件を少なくとも含むセキュリティポリシーを記憶するポリシー記憶手段と、送受信されるデータに対して通過を許可する動作または通過を禁止する動作を少なくとも行うネットワークアクセス制御装置が接続されている通信ネットワークに接続されている機器の情報を記述したトポロジー情報を記憶するトポロジー記憶手段と、前記ポリシー記憶手段が記憶するセキュリティポリシーに基づいて、前記トポロジー情報に記述された各機器に対する前記ネットワークアクセス制御装置の動作を表したデータである動作モデルを作成する動作モデル作成手段とを備えたことを特徴とする。そのような構成によれば、動作モデルが作成されるので、セキュリティポリシー作成者の意図を確認し易くなる。すなわち、セキュリティポリシー作成者の意図の確認が困難」という問題を解決することができる。さらに、作成者毎にセキュリティポリシーの設計指針が異なってしまったとしても、セキュリティポリシー作成者の意図を確認し易くなっているので、保守作業が困難になってしまうことを防止できる。すなわち、「一貫性保持が困難」という問題も解決できる。
【００１７】
セキュリティポリシーが入力されるポリシー入力手段を備え、ポリシー記憶手段は、前記ポリシー入力手段に入力されたセキュリティポリシーを記憶する構成であってもよい。
【００１８】
トポロジー情報が入力されるトポロジー情報入力手段を備え、トポロジー記憶手段は、前記トポロジー情報入力手段に入力されたトポロジー情報を記憶する構成であってもよい。
【００１９】
前記ポリシー入力手段に入力されたセキュリティポリシーに予め定められた項目に関する記述が含まれていないときに、前記項目に関する記述を前記セキュリティポリシーに追加する正規化処理を実行するポリシー正規化手段を備え、動作モデル作成手段は、前記正規化処理が実行されたセキュリティポリシーに基づいて、動作モデルを作成する構成であってもよい。そのような構成によれば、ポリシー正規化手段が正規化処理を実行するので、漏れや省略があるセキュリティポリシーが入力されたとしても、そのセキュリティポリシーから動作モデルを作成することができる。
【００２０】
前記動作モデルを、ネットワークアクセス制御装置の動作を規定する情報であって前記ネットワークアクセス制御装置の種類に依存した書式で記述された情報である設定情報に変換する際の変換規則を記憶する変換規則記憶手段と、前記変換規則に従って前記動作モデルを前記設定情報に変換する設定情報化手段とを備えた構成であってもよい。そのような構成によれば、設定情報を生成することができる。
【００２１】
動作モデル作成手段によって作成された動作モデルに対する修正方針が入力される修正方針入力手段と、前記修正方針に応じて前記動作モデルを修正する修正手段とを備えた構成であってもよい。そのような構成によれば、ユーザの望む方針に従って動作モデルを修正することができる。
【００２２】
画像を表示する情報出力手段を備え、前記修正手段は、前記情報出力手段に入力候補となる複数の修正方針を示してユーザに修正方針の選択を促すユーザインタフェースを表示させる構成であってもよい。
【００２３】
前記修正手段は、修正方針入力手段に動作モデルの冗長性を許可しない旨を規定した修正方針が入力されたときには、動作モデルに含まれる情報のうち重複している情報を削除する修正を行う構成であってもよい。そのような構成によれば、動作モデルの冗長性を許可しないという方針に従って修正された動作モデルから、その方針に応じた設定情報を作成することができる。
【００２４】
画像を表示する情報出力手段を備え、修正手段は、前記情報出力手段に動作モデルの冗長性を許可しない旨を規定した修正方針と、動作モデルの冗長性を許可する旨を規定した修正方針とを示してユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる構成であってもよい。
【００２５】
トポロジー記憶手段は、各機器が搭載するソフトウェアの情報を含むトポロジー情報を記憶し、修正手段は、修正方針入力手段に動作モデルの厳密性を求める旨を規定した修正方針が入力されたときには、前記トポロジー情報に基づいて、動作モデルに含まれる情報のうち、当該動作モデルに対応する機器に搭載されているソフトウェアに関連する情報以外の情報を削除する修正を行う構成であってもよい。そのような構成によれば、動作モデルの厳密性を求めるという方針に従って修正された動作モデルから、その方針に応じた設定情報を作成することができる。
【００２６】
画像を表示する情報出力手段を備え、修正手段は、前記情報出力手段に動作モデルの厳密性を求める旨を規定した修正方針と、動作モデルの厳密性を求めない旨を規定した修正方針とを示してユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる構成であってもよい。
【００２７】
動作モデル作成手段は、ポリシー記憶手段が記憶するセキュリティポリシーに応じて、通過許可条件が満たされたときにデータの通過を許可する旨を記述するとともに、前記通過許可条件が満たされないときにデータの通過を禁止することを記述した第１の記述形式の動作モデル、または通過禁止条件が満たされたときにデータの通過を禁止する旨を記述するとともに、前記通過禁止条件が満たされないときにデータの通過を許可することを記述した第２の記述形式の動作モデルを作成し、修正手段は、修正方針入力手段に第２の記述形式の動作モデルへの修正を規定した修正方針が入力されたときには、第１の記述形式の動作モデルを第２の記述形式の動作モデルに変換する修正を行い、修正方針入力手段に第１の記述形式の動作モデルへの修正を規定した修正方針が入力されたときには、第２の記述形式の動作モデルを第１の記述形式の動作モデルに変換する修正を行う構成であってもよい。そのような構成によれば、動作モデルの記述形式をユーザの所望の記述形式に変更することができる。
【００２８】
画像を表示する情報出力手段を備え、修正手段は、前記情報出力手段に第２の記述形式の動作モデルへの修正を規定した修正方針、第１の記述形式の動作モデルへの修正を規定した修正方針、および動作モデルの修正を行わない旨を規定した修正方針を示しユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる構成であってもよい。
【００２９】
修正手段は、修正方針入力手段が機器の動作の効率性を求める旨を規定した修正方針を入力したときには、動作モデルを、ネットワークアクセス制御装置の動作を高速化可能な態様に修正する構成であってもよい。そのような構成によれば、効率性を求めるという方針に従って修正された動作モデルから設定情報を作成し、その設定情報により、ネットワークアクセス制御装置の動作を高速化することができる。すなわち、「効率性向上が困難」という問題を解決することができる。
【００３０】
画像を表示する情報出力手段を備え、修正手段は、前記情報出力手段に機器の動作の効率性を求める旨を規定した修正方針と、機器の動作の効率性を求めない旨を規定した修正方針とを示しユーザにいずれかの修正方針の選択を促すユーザインタフェースを表示させる構成であってもよい。
【００３１】
修正手段は、情報出力手段に動作モデル作成手段によって作成された動作モデルの一つを図として示すユーザインタフェースを表示させる構成であってもよい。そのような構成によれば、作成された動作モデルをより分かり易く提示することができる。
【００３２】
修正手段は、修正方針入力手段に入力された修正方針に応じて、ユーザインタフェース上に図として示された動作モデルを修正する構成であってもよい。
【００３３】
修正手段は、修正方針入力手段に未だ修正されていない各動作モデルに対して適用される修正方針が入力されたときに、前記修正方針に従って、未だ修正されていない各動作モデルを修正する構成であってもよい。
【００３４】
画像を表示する情報出力手段を備え、修正手段は、前記情報出力手段に修正した動作モデルを図として表示させる構成であってもよい。そのような構成によれば、修正された動作モデルをより分かり易く提示することができる。
【００３５】
画像を表示する情報出力手段を備え、動作モデル作成手段は、前記情報出力手段に作成した動作モデルを図として表示させる構成であってもよい。そのような構成によれば、作成された動作モデルをより分かり易く提示することができる。
【００３６】
また、本発明による動作モデル作成方法は、ポリシー記憶手段が、送受信されるデータの通過許可条件または通過禁止条件を少なくとも含むセキュリティポリシーを記憶し、トポロジー記憶手段が、送受信されるデータに対して通過を許可する動作または通過を禁止する動作を少なくとも行うネットワークアクセス制御装置が接続されている通信ネットワークに接続されている機器の情報を記述したトポロジー情報を記憶し、動作モデル作成手段が、前記ポリシー記憶手段が記憶するセキュリティポリシーに基づいて、前記トポロジー情報に記述された各機器に対する前記ネットワークアクセス制御装置の動作を表したデータである動作モデルを作成することを特徴とする。
【００３７】
ポリシー入力手段が、セキュリティポリシーを入力し、ポリシー記憶手段が、前記セキュリティポリシーを記憶してもよい。
【００３８】
トポロジー情報入力手段が、トポロジー情報を入力し、トポロジー記憶手段が、前記トポロジー情報を記憶してもよい。
【００３９】
ポリシー正規化手段が、前記セキュリティポリシーに予め定められた項目に関する記述が含まれていないときに、前記項目に関する記述を前記セキュリティポリシーに追加する正規化処理を実行し、動作モデル作成手段が、前記正規化処理が実行されたセキュリティポリシーに基づいて、動作モデルを作成してもよい。
【００４０】
また、本発明による動作モデル作成プログラムは、送受信されるデータの通過許可条件または通過禁止条件を少なくとも含むセキュリティポリシーを記憶するポリシー記憶手段と、送受信されるデータに対して通過を許可する動作または通過を禁止する動作を少なくとも行うネットワークアクセス制御装置が接続されている通信ネットワークに接続されている機器の情報を記述したトポロジー情報を記憶するトポロジー記憶手段とを備えた、コンピュータに、前記ポリシー記憶手段が記憶するセキュリティポリシーに基づいて、前記トポロジー情報に記述された各機器に対する前記ネットワークアクセス制御装置の動作を表したデータである動作モデルを作成する処理を実行させることを特徴とする。
【発明の効果】
【００４１】
本発明によれば、ポリシー入力手段に入力されたセキュリティポリシーに基づいて、トポロジー情報に記述された各機器に対するネットワークアクセス制御装置の動作を表したデータである動作モデルを作成する動作モデル作成手段とを備えた構成である。従って、動作モデルが作成されるので、セキュリティポリシー作成者の意図を確認し易くなる。すなわち、セキュリティポリシー作成者の意図の確認が困難」という問題を解決することができる。さらに、作成者毎にセキュリティポリシーの設計指針が異なってしまったとしても、セキュリティポリシー作成者の意図を確認し易くなっているので、保守作業が困難になってしまうことを防止できる。すなわち、「一貫性保持が困難」という問題も解決できる。
【発明を実施するための最良の形態】
【００４２】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。以下の説明において、「ポリシー要素」とは、ネットワークアクセス制御に関する指示の最小単位を意味する。ネットワークアクセス制御に関する指示には、送受信されるデータ（パケット）の通過を許可する条件が満たされたときに通過を許可する指示や、送受信されるデータの通過を禁止する条件が満たされたときに通過を禁止する指示がある。また、「セキュリティポリシー」は、０個以上のポリシー要素を含むネットワークアクセス制御の指示の集合である。ポリシー要素が０個であるセキュリティポリシーは、セキュリティポリシーとして何も規定されていないことになる。
【００４３】
「セキュリティポリシー」および「ポリシー要素」は、例えば、自然言語または自然言語に近い形式で記述される。ただし、「セキュリティポリシー」および「ポリシー要素」は、自然言語または自然言語に近い形式で記述されるとは限らず、例えば、ＸＭＬ（eXtensible Markup Language）によって記述されていてもよい。以下の説明では、「セキュリティポリシー」および「ポリシー要素」が自然言語によって記述される場合を例にして説明する。
【００４４】
図１は、本発明による動作モデル作成システムの一例を示すブロック図である。図１に示す動作モデル作成システムは、動作モデル作成装置１００と、ポリシー入力手段２００と、トポロジー情報入力手段２１０と、修正方針入力手段２２０と、情報出力手段３００とを含んでいる。
【００４５】
動作モデル作成装置１００は、プログラムに従って動作するコンピュータである。
【００４６】
ポリシー入力手段２００には、作業者（システム管理者等）によって、自然言語で記述されたセキュリティポリシーが入力される。トポロジー情報入力手段２１０には、作業者によって、トポロジー情報が入力される。トポロジー情報は、ネットワークアクセス制御装置（図１において図示せず。）を含む通信ネットワークの構成を示す情報であり、通信ネットワークに含まれる各ゾーン（通信ネットワークの一部）の情報、各ゾーンに含まれる各ハードウェア（各機器）の情報、各ハードウェアに搭載されている各ソフトウェアの情報を示す。修正方針入力手段２２０には、作業者によって、作成された動作モデルの修正方針が入力される。ここで、動作モデルとは、トポロジー情報に記述された各機器に対するネットワークアクセス制御装置の動作を表したデータ、または、そのデータに基づいてネットワークアクセス制御装置の動作を模式的に図として表したものを指す。動作モデルを表現するためのデータ構造については後述する。
【００４７】
なお、ネットワークアクセス制御装置は、送受信されるデータを通過させたり、データの通過を禁止したりする動作を行う。
【００４８】
ポリシー入力手段２００、トポロジー情報入力手段２１０および修正方針入力手段２２０は、情報を入力可能な装置であればよい。また、情報の入力態様は、特に限定されない。例えば、ポリシー入力手段２００、トポロジー情報入力手段２１０、修正方針入力手段２２０として、キーボードやマウス等の入力装置を備えた構成であってよい。あるいは、ポリシー入力手段２００、トポロジー情報入力手段２１０、修正方針入力手段２２０として、通信ネットワークを介して情報を受信するネットワークインタフェースを備えた構成であってもよい。あるいは、ポリシー入力手段２００、トポロジー情報入力手段２１０、修正方針入力手段２２０として、記憶媒体（例えばＣＤ−ＲＯＭ等）からの情報の読み込みや記憶媒体への書き込みを行うドライバ装置（ＣＤ−ＲＯＭドライバ等）を備えた構成であってもよい。あるいは、ポリシー入力手段２００、トポロジー情報入力手段２１０、修正方針入力手段２２０として、音声情報を入力するマイクロホンを備えた構成であってもよい。また、図１では、ポリシー入力手段２００、トポロジー情報入力手段２１０、および修正方針入力手段２２０をそれぞれ別々に表したが、ポリシー入力手段２００、トポロジー情報入力手段２１０、および修正方針入力手段２２０が共通の装置（例えば、共通のキーボードやマウス等）で構成されていてもよい。
【００４９】
情報出力手段３００は、動作モデル作成装置によって作成されたネットワークアクセス制御装置（図１において図示せず。）の設定情報を出力する。情報出力手段３００は、情報を出力可能な装置であればよい。また、情報の出力態様は、特に限定されない。例えば、情報出力手段３００として、情報を表示出力するディスプレイ装置を備えた構成であってもよい。あるいは、情報出力手段３００として、情報を印刷出力するプリンタ装置を備えた構成であってもよい。あるいは、情報出力手段３００として、通信ネットワークを介して情報を送信するネットワークインタフェースを備えた構成であってもよい。あるいは、情報出力手段３００として、記憶媒体への情報の書き込みを行う記憶媒体のドライバ装置を備えた構成であってもよい。また、情報出力手段は、設定情報だけを出力するとは限らず、後述するように、模式的に図として表された動作モデルを出力してもよい。以下の説明では、情報出力手段３００がディスプレイ装置である場合を例に説明する。また、このディスプレイ装置は、設定情報だけに限らず、作業者が情報を入力する際のＧＵＩ（Graphic User Interface）も表示出力するものとする。
【００５０】
動作モデル作成装置１００は、ポリシー記憶手段１０１と、トポロジー記憶手段１０２と、動作モデル記憶手段１０３と、修正後動作モデル記憶手段１０４と、変換規則記憶手段１５０と、ポリシー正規化手段１１０と、動作モデル作成手段１２０と、修正手段１３０と、設定情報化手段１４０とを備える。ポリシー記憶手段１０１は、ポリシー入力手段２００に入力されたセキュリティポリシーを記憶する記憶装置である。トポロジー記憶手段１０２は、トポロジー情報入力手段２１０に入力されたトポロジー情報を記憶する記憶装置である。動作モデル記憶手段１０３は、作成された動作モデルを記憶する記憶装置であり、修正後動作モデル記憶手段１０４は、動作モデル記憶手段１０３が記憶する動作モデルに対する修正処理が行われた後の動作モデルを記憶する記憶装置である。また、ネットワークアクセス制御装置の設定情報の書式は、装置の種類毎に異なる。すなわち、設定情報は、ネットワークアクセス制御装置の動作を規定する情報であって、ネットワークアクセス制御装置の種類に依存した書式で記述された情報である。変換規則記憶手段１５０は、修正後の動作モデルを各種ネットワークアクセス制御装置の種類に依存した書式で記述される設定情報に変換するための変換規則を記憶する記憶装置である。なお、図１では、ポリシー記憶手段１０１と、トポロジー記憶手段１０２と、動作モデル記憶手段１０３と、修正後動作モデル記憶手段１０４と、変換規則記憶手段１５０とを別々に表したが、これらの記憶装置の一部または全部は、同一の記憶装置によって実現されていてもよい。
【００５１】
ポリシー正規化手段１１０は、ポリシー記憶手段１０１に記憶されたセキュリティポリシー内のポリシー要素に所定の項目が全て含まれているか否かを判定し、含まれていない項目があればその項目として、予め既定値として定められている値を付与する。この結果、セキュリティポリシー内の各ポリシー要素に所定の項目が全て含まれることになる。このように、ポリシー要素に所定の項目が含まれていない場合に、その項目の既定値を付与することにより、ポリシー要素を、所定の項目が全て含まれた状態にすることを「正規化」と呼ぶことにする。また、セキュリティポリシーに含まれる各ポリシー要素を正規化することを「セキュリティポリシーを正規化する」と記す。動作モデル作成手段１２０は、正規化されたセキュリティポリシーに基づいて、動作モデルを作成し、動作モデル記憶手段１０３に記憶させる。修正手段１３０は、修正方針入力手段２２０に入力された修正方針に従って、この動作モデルを修正し、修正後動作モデル記憶手段１０４に記憶させる。設定情報化手段１４０は、変換規則記憶手段１５０が記憶する変換規則に従って、修正後の動作モデルを、ネットワークアクセス制御装置に固有の設定情報に変換する。
【００５２】
なお、ポリシー正規化手段１１０、動作モデル作成手段１２０、修正手段１３０および設定情報化手段１４０は、例えば、プログラムに従って処理を行うＣＰＵによって実現される。ポリシー正規化手段１１０、動作モデル作成手段１２０、修正手段１３０および設定情報化手段１４０は、同一のＣＰＵによって実現されてもよい。また、プログラムは、動作モデル作成装置１００が備える記憶装置（図１に示したいずれかの記憶手段と同一の記憶装置であってもよいし、図１に示す各記憶手段とは別の記憶装置であってもよい。）に予め記憶される。
【００５３】
次に、動作について説明する。
図２は、本実施の形態の動作モデル作成システムの動作の例を示すフローチャートである。まず、動作モデル作成装置１００は、ポリシー入力手段２００を介して、自然言語もしくは自然言語に近い形式で記述されたセキュリティポリシーを入力される（ステップＳ１）。このとき、ポリシー記憶手段１０１は、入力されたセキュリティポリシーを記憶する。なお、入力されたセキュリティポリシーをポリシー記憶手段１０１に記憶させる処理は、例えば、動作モデル作成装置１００のＣＰＵ（図示せず。）が行えばよい。
【００５４】
また、動作モデル作成装置１００は、トポロジー情報入力手段２１０を介して、トポロジー情報を入力される（ステップＳ２）。このとき、トポロジー記憶手段１０２は、入力されたトポロジー情報を記憶する。なお、入力されたトポロジー情報をトポロジー記憶手段１０２に記憶させる処理は、例えば、動作モデル作成装置１００のＣＰＵ（図示せず。）が行えばよい。このステップＳ１，Ｓ２の処理の順序は逆であってもよい。
【００５５】
次に、ポリシー正規化手段１１０は、ポリシー記憶手段１０１に記憶されたセキュリティポリシーに対して正規化処理を行う（ステップＳ３）すなわち、セキュリティポリシーに所定の項目が含まれていない場合に、その項目の既定値を付与し、セキュリティポリシーを、所定の項目が全て含まれた状態にする。
【００５６】
次に、動作モデル作成手段１２０は、ポリシー正規化手段１１０によって正規化されたポリシーとトポロジー記憶手段１０２に記憶されたトポロジー情報とを用いて、動作モデルを作成する（ステップＳ４）。すなわち、入力されたセキュリティポリシーに応じたネットワークアクセス制御装置の動作を表すデータを作成する。動作モデル作成手段１２０は、作成した動作モデルを動作モデル記憶手段１０３に記憶させる。この動作モデルは、ネットワークアクセス制御装置の種類に依存する記述とは独立したデータ構造によって表される。「ネットワークアクセス制御装置の種類に依存する記述とは独立したデータ構造」とは、換言すれば、ネットワークアクセス制御装置の種類に依存しないデータ構造である。
【００５７】
また、動作モデル作成手段１２０は、作成した動作モデルを情報出力手段３００に表示することが好ましい。この場合、動作モデル作成手段１２０は、ネットワークアクセス制御装置の動作を模式的に表した図によって、動作モデルを表示すればよい。作成した動作モデルを表示することにより、システム管理者等に動作モデルを提示することができる。
【００５８】
次に、修正手段１３０は、動作モデル記憶手段１０３に記憶される動作モデルを参照し、その動作モデルに対する修正を行う（ステップＳ５）。修正後の動作モデルのデータ構造は、修正前の動作モデルのデータ構造と同じデータ構造で表される。従って、修正後の動作モデルも、ネットワークアクセス制御装置に種類には依存しない。なお、この修正後の動作モデルに基づいて、ネットワークアクセス制御装置の設定情報が作成されることになる（後述のステップＳ６）。
【００５９】
また、ステップＳ５において、修正手段１３０は、修正方針入力手段２２０を介して、動作モデルの修正方針を入力される。修正手段１３０は、この修正方針に従って、動作モデルを修正する。動作モデルの修正方針として、例えば、以下の４種類の方針に対する指定が入力される。第１に、動作モデルの冗長性を許すか否かに関する指定が入力される。第２に、動作モデルの厳密性を求めるか否かに関する指定が入力される。第３に、動作モデルにおけるデフォルトの動作に関する指定が入力される。デフォルトの動作に関する指定としては、「デフォルトを許可とする」と、「デフォルトを禁止とする」と、「デフォルトはセキュリティポリシーに従う」とがある。第４に、動作モデルから作成される設定情報を付与されるネットワークアクセス制御装置の動作効率（効率性）を重視するか否かに関する指定が入力される。
【００６０】
修正手段１３０は、「冗長性を許さない」という方針が入力された場合、動作モデルが有するデータの中に、同一の動作を表す重複したデータが存在しなくなるように、データを削除する。修正手段１３０は、「冗長性を許す」という方針が入力された場合、同一の動作を表す重複したデータが存在したとしてもデータを削除しない。
【００６１】
また、修正手段１３０は、「厳密性を求める」という方針が入力された場合、動作モデルの中から不必要なデータを削除する。具体的には、トポロジー情報を参照して、ネットワークアクセス制御装置に搭載されているソフトウェアを判定する。そして、そのソフトウェアとは無関係な動作を表すデータを、動作モデルの中から削除する。修正手段１３０は、「厳密性を求めない」という方針が入力された場合、不必要なデータがあってもデータを削除しない。
【００６２】
次に、デフォルトに関する修正方針について説明する。動作モデルの記述形式として、以下の二つの記述形式がある。第１の記述形式は、パケットの通過を許可する条件が成立した場合にパケットの通過を許可する旨のデータを１つまたは複数記述するとともに、そのデータの条件に合わない場合には、パケットの通過を禁止することを記述した記述形式である。第２の記述形式は、パケットの通過を禁止する条件が成立した場合にパケットの通過を禁止する旨のデータを１つまたは複数記述するとともに、そのデータの条件に合わない場合には、パケットを通過させることを記述した記述形式である。デフォルトとは、動作モデルに含まれるデータのうち、いずれの条件にも合わないときに動作を許可するか禁止するかを表すデータである。修正手段１３０は、「デフォルトを禁止とする」という方針が入力された場合、動作モデルの記述形式が上記の第１の記述形式になるように動作モデルを修正する。修正手段１３０は、「デフォルトを許可とする」という方針が入力された場合、動作モデルの記述形式が上記の第２の記述形式になるように動作モデルを修正する。また、修正手段１３０は、「デフォルトはセキュリティポリシーに従う」という方針が入力された場合、動作モデルの記述形式を変更しない。
【００６３】
また、修正手段１３０は、「効率性を重視する」という方針が入力された場合、動作モデルから作成される設定情報を付与されるネットワークアクセス制御装置の動作効率が高くなるように、動作モデルを修正する。例えば、あるネットワークアクセス制御装置では、設定情報の記述が少ないほど、パケットの通過を許可するか否かの判定処理が高速化する（すなわち、動作の効率性が高くなる）ものとする。この場合、修正手段１３０は、「効率性を重視する」という修正方針に応じて、動作モデルに含まれるデータ量が少なくなるように動作モデルを修正する。修正手段１３０は、「効率性を重視する」という方針が入力された場合、このような修正を行わない。
【００６４】
修正手段１３０は、入力された各修正方針に応じて動作モデルを修正したならば、修正後の動作モデルを修正後動作モデル記憶手段１４０に記憶させる。なお、入力された修正方針が、動作モデルに対する修正を行わないことを示している場合がある。この場合、修正手段１３０は、動作モデル記憶手段１０３に記憶されていた動作モデルと同一の動作モデルを修正後動作モデル記憶手段１４０に記憶させる。
【００６５】
また、動作モデル作成手段１２０は、修正後の動作モデルを情報出力手段３００に表示することが好ましい。このとき、動作モデル作成手段１２０は、ネットワークアクセス制御装置の動作を模式的に表した図によって、動作モデルを表示すればよい。このように動作モデルを表示することにより、システム管理者等に修正後の動作モデルを提示することができる。以下、ステップＳ４では、修正前の動作モデルを表示し、ステップＳ５では修正後の動作モデルを表示するものとして説明する。
【００６６】
次に、設定情報化手段１４０は、修正後動作モデル記憶手段１０４に記憶された修正後の動作モデルを変換することにより、設定情報を作成する（ステップＳ６）。このとき、設定情報化手段１４０は、変換規則記憶手段１５０に記憶される変換規則に従って、動作モデルを変換する。ステップＳ６において作成される設定情報は、ネットワークアクセス制御装置の種類に依存した書式で記述されている。また、設定情報化手段１４０は、作成した設定情報を、情報出力手段３００に表示する。
【００６７】
なお、システム管理者等の作業者は、ステップＳ６で作成された設定情報を用いて、ネットワークアクセス制御装置の動作の設定を行えばよい。この結果、ネットワークアクセス制御装置は、ポリシー入力手段２００に入力されたセキュリティポリシーに応じた動作を行う。
【００６８】
次に、入力される各種情報の具体例を用いて、動作モデル作成装置の動作をより詳細に説明する。
【００６９】
図３は、ポリシー入力手段２００に入力されるセキュリティポリシーの例を示す。図３に示すように、セキュリティポリシーは簡単な自然言語で記述されている。図３に示す例では、０１行目から０５行目までの各行が、それぞれポリシー要素となる。すなわち、図３に例示するセキュリティポリシーは、５個のポリシー要素を含んでいる。０１行目のポリシー要素は、ネットワークアクセス制御に関して、送信されたパケットが他のポリシー要素（０２行目から０５行目までのポリシー要素）の条件に合わない場合に適用されるポリシー要素である。すなわち、０１行目は、デフォルトを規定するポリシー要素である。図３に例示する０１行目のポリシー要素は、送信されたパケットのうち、他のポリシー要素の条件に合わないパケットは全て通過させないことを表している。なお、パケットを通過させないことを「Ｄｒｏｐ」という。
【００７０】
図３に例示する０２行目のポリシー要素は、プロトコルがＴＣＰ（Transmission Control Protocol ）であり、ポート番号２０〜２３に宛てたパケットであるという条件を満たしているならば、そのパケットは通過させることを表している。なお、パケットを通過させることを「Ａｃｃｅｐｔ」という。ここでポート番号について説明する。ポート番号とは、ネットワークサービスの種類毎に割り当てられる番号であり、１〜６５５３５までがある。ポート番号２０は、ＦＴＰサービスのデータ転送で使われる。ポート番号２１は、ＦＴＰサービスの制御に使われる。ポート番号２２は、ＳＳＨサービスで使われる。ポート番号２３は、ＴＥＬＮＥＴサービスで使われる。すなわち、０２行目のポリシー要素は、ＦＴＰサービス、ＳＳＨサービスおよびＴＥＬＮＥＴサービスに関してパケットの通過を許可することを表している。
【００７１】
図３に例示する０３行目から０５行目のプロトコルも０２行目と同様に、プロトコルがＴＣＰであり、所定のポート番号に宛てたパケットであるならば、そのパケットを通過させることを表している。０３行目に記載されたポート番号２５は、ＳＭＴＰ（Simple Mail Transfer Protocol ：インターネットメールのプロトコル）サービスで使われる。ポート番号５３は、ＤＮＳ（Domain Name System：インターネットドメインの名前解決）サービスで使われる。ポート番号８０は、ＨＴＴＰ（Hypertext Transfer Protocol ：ＷＷＷでの情報送受信）サービスで使われる。
【００７２】
図３に例示するセキュリティポリシーは、自然言語で記述されているが、既に述べたように、自然言語で記述されていなくてもよい。例えば、入力されるセキュリティポリシーはＸＭＬで記述されていてもよい。
【００７３】
ステップＳ１において、動作モデル作成装置１００は、ポリシー入力手段２００を介して、図３に例示するようなセキュリティポリシーを入力される。セキュリティポリシーの入力態様は、既に説明したように限定されない。ポリシー入力手段２００がキーボートやマウス等の入力装置であり、これらの入力装置を介してセキュリティポリシーが入力されてもよい。また、ポリシー入力手段２００が、記憶媒体からの情報の読み込みを行うドライバ装置であり、記憶媒体にファイルとして記憶されたセキュリティポリシーを読み込んでもよい。また、予め記憶装置に記憶しておいたポリシー要素の集合を情報記憶手段３００に表示し、そのポリシー要素のうちマウス等によって選択されたポリシー要素を入力されるセキュリティポリシーとしてもよい。ポリシー入力手段２００がマイクロホンであり、音声として発せられたセキュリティポリシーを入力してもよい。ポリシー記憶手段１０１は、ポリシー入力手段２００から入力されたセキュリティポリシーを記憶する。
【００７４】
図４は、トポロジー情報入力手段２１０に入力されるトポロジー情報の例を示す。また、図５は、通信ネットワークの構成の一例を示す。図４に例示するトポロジー情報は、図５に示す通信ネットワークの構成を示している。また、図４に示すように、トポロジー情報は、例えば、ＸＭＬによって記述される。
【００７５】
図５に例示する通信ネットワークは、ファイアウォール５００によってインターネットゾーン（０／０ネットワーク）と、管理対象である通信ネットワーク（１９２．１６８．１．０／２４ネットワーク）とが分けられている。通信ネットワークは、ネットマスクを用いたネットワークアドレス（例えば、ＩＰアドレス）によって表される。すなわち、通信ネットワークは、ネットマスクのビット数（”／”の次の値）分だけ最上位からのビットを固定し、残りのビットを０としたネットワークアドレスから、残りのビットを全て１としたネットワークアドレスまでの範囲のネットワークアドレスの集合として表される。管理対象の通信ネットワーク（１９２．１６８．１．０／２４）には、ネットワーク機器としてＳＶＲ０１とＳＶＲ０２とＳＶＲ０３が接続されている。ネットワーク機器は、サーバコンピュータでも、パーソナルコンピュータでも、アプライアンス機器でも構わない。本例では、ネットワーク機器は、Ｌｉｎｕｘ（オペレーティングシステムの名称）が搭載されたサーバコンピュータであるものとする。
【００７６】
また、ＳＶＲ０１のネットワークアドレスは、”１９２．１６８．１．２”であり、ＳＶＲ０２のネットワークアドレスは、”１９２．１６８．１．３”であり、ＳＶＲ０３のネットワークアドレスは”１９２．１６８．１．４”であるものとする。また、図５に示す例では、サーバコンピュータＳＶＲ０１に、ＷＷＷ（World Wide Web）サーバソフトウェアであるＡｐａｃｈｅ５１１、ＦＴＰサーバソフトウェアであるｆｔｐ５１２、セキュアシェルソフトであるｓｓｈ５１３が搭載（インストール）されている。サーバコンピュータＳＶＲ０２には、ＦＴＰサーバソフトウェアであるｆｔｐ５２１、ネームサーバソフトウェアであるＤＮＳ５２２が搭載されている。また、サーバコンピュータＳＶＲ０３には、メールサーバソフトウェアであるｓｅｎｄｍａｉｌ５３１が搭載されている。
【００７７】
図４に例示するトポロジー情報には、図５に示す通信ネットワークの構成、特に管理対象である通信ネットワーク（１９２．１６８．１．０／２４）の構成が記述されている。図４に示す例では、” １９２．１６８．１．０／２４”というネットワークアドレスによって特定される通信ネットワークは、network タグに囲まれた部分に記述されている。ネットワークアドレスによって特定される各ハードウェアは、それぞれhardwareタグとともに記述されている。また、各hardwareタグは、network タグに囲まれた範囲内に記述されていて、各ハードウェアが通信ネットワークに含まれているとことが示されている。また、各ソフトウェアは、softwareタグとともに記述されている。各softwareタグは、hardwareタグに囲まれた範囲内に記述されていて、各ソフトウェアがハードウェアに搭載されていることが示されている。
【００７８】
図４に例示するトポロジー情報は、ＸＭＬによって既述されているが、ＸＭＬによって記述されていなくてもよい。例えば、トポロジー情報は、通信ネットワークの構成を表すＣＡＤソフトウェアのデータとして記述されていてもよいし、あるいは、自然言語によって記述されていてもよい。ＣＡＤソフトウェアのデータは、例えば、図５に例示する通信ネットワークの構成を描画したデータである。
【００７９】
ステップＳ２において、動作モデル作成装置１００は、トポロジー情報入力手段２１０を介して、図４に例示するようなトポロジー情報を入力される。トポロジー情報の入力態様は、特に限定されない。トポロジー情報入力手段２１０がキーボートやマウス等の入力装置であり、これらの入力装置を介してトポロジー情報が入力されてもよい。また、トポロジー情報入力手段２１０が記憶媒体からの情報の読み込みを行うドライバ装置であり、記憶媒体に記憶されたＣＡＤソフトウェアのデータファイルをトポロジー情報として読み込んでもよい。あるいは、マウス等の入力装置によって図５に例示する通信ネットワークの構成が描画された場合に、その描画データをトポロジー情報として入力してもよい。トポロジー情報入力手段２１０がマイクロホンであり、音声として発せられたトポロジー情報を入力してもよい。トポロジー記憶手段１０２は、トポロジー情報入力手段２１０から入力されたトポロジー情報を記憶する。
【００８０】
次に、ステップＳ３における正規化処理について説明する。ネットワークアクセス制御装置の動作を規定するポリシー要素では、少なくとも７つの項目の情報が必要である。ネットワークアクセス制御装置の動作を規定する場合、各ポリシー要素において、そのポリシー要素が「デフォルト」の動作を指定するポリシー要素であるか否か、「送信元アドレス」はどこか、「送信元ポート」は何番か、「送信先アドレス」はどこか、「送信先ポート」は何番か、「プロトコル」は何か、「アクション（パケットを通過させるか否か）」の７項目の情報が必要となる。しかし、セキュリティポリシーが自然言語で記述される場合、省略できる部分は記述されないことが多い。例えば、図３に示す例でも、「送信元アドレス」等の項目について省略されている。ポリシー正規化手段１１０は、ポリシー記憶手段１０１に記憶されたセキュリティポリシー内の各ポリシー要素について、上記の７つの項目が記述されているか否かを判定し、記述されていなければ予め既定値として定められている値を付与する。この処理が、正規化である。
【００８１】
図６は、各項目の既定値の例を示す。図６に示す例では、「デフォルト」の動作を指定するポリシー要素であるか否かを示す項目が記述されていない場合、既定値として「Ｎｏ」を付与する。すなわち、「デフォルトの動作を指定するポリシー要素ではない」という情報を付与する。また、「送信元アドレス」、「送信元ポート」、「送信先アドレス」、「送信先ポート」および「プロトコル」の各項目の記述がない場合、それらの項目として「ａｎｙ」を付与する。「ａｎｙ」は、いかなる値であってもよいことを意味する。また、「アクション」に関しては、必ずポリシー要素で記述される。そのため、「アクション」の既定値は定められていない。図６に例示する既定値は、動作モデル作成装置１００が備える記憶装置（図１に示したいずれかの記憶手段と同一の記憶装置であってもよいし、図１に示す各記憶手段とは別の記憶装置であってもよい。）に予め記憶しておけばよい。
【００８２】
図７は、ポリシー正規化手段１１０による正規化処理（ステップＳ３）を示すフローチャートである。まず、ポリシー正規化手段１１０は、ポリシー記憶手段１０１に記憶されているセキュリティポリシーにポリシー要素があるか否かを判定する（ステップＳ１１）。セキュリティポリシー内にポリシー要素がなければ、正規化処理を終了する。ポリシー要素が存在するならば、ポリシー正規化手段１１０は、ポリシー記憶手段１０１に記憶されているセキュリティポリシーの中からポリシー要素を選択する（ステップＳ１２）。続いて、ポリシー正規化手段１１０は、選択したポリシー要素を形態素解析し、形態素に分解する（ステップＳ１３）。
【００８３】
ポリシー正規化手段１１０は、分解された形態素に、「デフォルト」という単語が存在するかどうかを判定する（ステップＳ１４）。形態素の中に「デフォルト」という単語がある場合（ステップＳ１４のＹ）、ステップＳ１３で形態素解析したポリシー要素と、デフォルトテンプレートとを比較する（ステップＳ１５）。「テンプレート」とは、未確定の項目を含んだポリシー要素を表す文である。「デフォルトテンプレート」は、デフォルトを指定するポリシー要素を表す文であって、アクションに相当する項目を未確定としたものである。本例では、デフォルトテンプレートは、「デフォルト  は  ＄アクション  する」という文であるとする。動作モデル作成装置１００は、各種テンプレートを記憶装置に記憶しておく。なお、本例では、上述のデフォルトテンプレートを用いて処理を行う場合を説明するが、動作モデル作成装置は、複数種類のデフォルトテンプレートを記憶しておき、ステップＳ１５で複数のデフォルトテンプレートとポリシー要素とを比較してもよい。
【００８４】
なお、本例では、テンプレート内の未確定の変数部分を示す記号として「＄」を用いる場合を例に説明するが、未確定の変数部分を示す記号は「＄」でなくてもよい。
【００８５】
例示したデフォルトテンプレートにおいて、「＄アクション」は変数であり、アクションが未確定であることを示している。ステップＳ１３において、図３に示す０１行目のポリシー要素を形態素解析したとする。この場合、形態素解析結果として、「デフォルト  は  Ｄｒｏｐ  する」と分解された各形態素が得られる。この形態素解析結果と、「デフォルト  は  ＄アクション  する」というデフォルトテンプレートとを比較照合し、未確定であった「＄アクション」に相当する形態素を特定することによって、「＄アクション」は「Ｄｒｏｐ」であることがわかる。すなわち、この比較照合により、デフォルトを指定するポリシー要素における「アクション」の項目を特定できる。また、形態素解析結果に「デフォルト」という単語が存在する場合には、「デフォルト」の動作を指定するポリシー要素であることを特定できる。この結果、ステップＳ１５の比較照合処理終了時において、図３に示す０１行目のポリシー要素には、「送信元アドレス」、「送信元ポート」、「送信先アドレス」、「送信先ポート」および「プロトコル」の各項目が含まれていないと判定できる。ポリシー正規化手段１１０は、ステップＳ１５の比較照合処理後に、これらの各項目の値を、図６に示す既定値（いずれの項目も「ａｎｙ」）とすることで、図３に示す０１行目のポリシー要素を正規化する（ステップＳ１７）。
【００８６】
ステップＳ１４において、形態素の中に「デフォルト」という単語がない場合（ステップＳ１４のＮ）、ステップＳ１３で形態素解析したポリシー要素と、テンプレートとを比較する（ステップＳ１６）。ステップＳ１６では、デフォルトテンプレートではなく、デフォルトを指定するポリシー要素以外のポリシー要素に適用されるテンプレートを用いる。本例では、「＄送信元アドレスの  ＄送信元ポート  から  ＄送信先アドレス  の  ＄送信先ポート  への  ＄プロトコル  は  ＄アクション  する」というテンプレートを用いるものとする。また、ステップＳ１３において、図３に示す０２行目のポリシー要素「２０〜２３へのＴＣＰはＡｃｃｅｐｔする」を形態素解析したとする。この場合、「２０〜２３  への  ＴＣＰ  は  Ａｃｃｅｐｔ  する」という形態素解析結果が得られる。ポリシー正規化手段１１０は、この形態素解析結果と、「＄送信元アドレスの  ＄送信元ポート  から  ＄送信先アドレス  の  ＄送信先ポート  への  ＄プロトコル  は  ＄アクション  する」というテンプレートを比較照合する。ポリシー正規化手段１１０は、この比較照合によって、「デフォルト」の動作を指定するポリシー要素であるか否か、「送信元アドレス」、「送信元ポート」、「送信先アドレス」、「送信先ポート」、「プロトコル」、「アクション」の各項目のうち、特定できる項目を特定する。ただし、ポリシー正規化手段１１０は、「＄送信元アドレス」と「＄送信先アドレス」は「○○○．○○○．○○○．○○○」または「○○○．○○○．○○○．○○○／○○」のようなアドレス表記（○は数字）であり、「＄送信元ポート」と「＄送信先ポート」は「○○」または「○○〜○○」のようなポート表記（○は数字）であるとの前提の元に、変数と形態素解析結果を照合する。
【００８７】
図３に示す０２行目のポリシー要素の形態素解析結果，「２０〜２３  への  ＴＣＰ  は  Ａｃｃｅｐｔ  する」と、テンプレート「＄送信元アドレスの  ＄送信元ポート  から  ＄送信先アドレス  の  ＄送信先ポート  への  ＄プロトコル  は  ＄アクション  する」とを比較照合すると、「＄送信先ポート」が「２０〜２３」であり、「＄プロトコル」が「ＴＣＰ」であり、「＄アクション」が「Ａｃｃｅｐｔ」であると判定できる。また、他の項目（「＄送信元アドレス」、「＄送信元ポート」、「＄送信先アドレス」等）については、形態素の中に対応する値がないと判定できる。
【００８８】
ステップＳ１６に続いて、ポリシー正規化手段１１０は、形態素の中に対応する値がなかった項目として既定値を付与し、ポリシー要素を正規化する（ステップＳ１７）。図３の０２行のポリシー要素の例では、「デフォルト」の動作を指定するポリシー要素であることを示す形態素（「デフォルト」という単語）が含まれていない。従って、「デフォルト」の動作を指定するポリシー要素であるか否かを示す項目として、図６に示す既定値「Ｎｏ」を付与する。また、ステップＳ１６の比較照合処理で値が特定されたかった「＄送信元アドレス」、「＄送信元ポート」、「＄送信先アドレス」の項目についても、図６に示す既定値「ａｎｙ」を付与する。
【００８９】
ステップＳ１７においてポリシー要素を正規化した後、ポリシー正規化手段１１０は、ステップＳ１２で選択したポリシー要素をセキュリティポリシーの中から削除する（ステップＳ１８）。そして、ステップＳ１１以降の処理を繰り返す。また、ポリシー正規化手段１１０は、ポリシー要素がなくなったと判定し（ステップＳ１１のＮ）、正規化処理を終了した場合、セキュリティポリシーを正規化した結果を、動作モデル作成手段１２０に送る。
【００９０】
図８は、セキュリティポリシーを正規化した結果の例を示す。図８に示す０１行から０５行までの各ポリシー要素は、それぞれ図３に示す０１行から０５行までのポリシー要素を正規化したものである。図３に示す０１行のポリシー要素は、形態素として「デフォルト」という単語を含んでいるので、図８に示す「デフォルト」の項目は、デフォルトの動作を指定するポリシー要素であることを示す「Ｙｅｓ」となる。また、「アクション」は、図３の０１行目から「Ｄｒｏｐ」であると判定される。他の項目については、図３に示す０１行に記述されていないので、図６に示す既定値（いずれもａｎｙ）がポリシー正規化手段１１０によって付与される。
【００９１】
図３に示す０２行のポリシー要素は、形態素として「デフォルト」という単語を含んでいない。従って、図８に示す「デフォルト」の項目として、既定値である「Ｎｏ」を付与される。また、正規化手段１１０による比較照合（ステップＳ１６）によって、「送信先ポート」、「プロトコル」および「アクション」は、それぞれ「２０〜２３」、「ＴＣＰ」および「Ａｃｃｅｐｔ」であると判定される。他の項目「送信元アドレス」、「送信元ポート」、「送信先アドレス」については、図３に示す０２行目に記述されていないので、図６に示す既定値（いずれもａｎｙ）がポリシー正規化手段１１０によって付与される。
【００９２】
セキュリティポリシーの正規化の他の例を示す。図９は、図３に示すセキュリティポリシーの０５行目のポリシー要素を変更したものである。また、図１０は、図９に示すセキュリティポリシーを正規化した結果を示す。ポリシー要素を変更した０５行を、ここでは便宜上０５’行と記すことにする。図３に示す０５行と、図９に示す０５’行とを比較すると「 192.168.1.2の」という語が追加されている。従って、形態素解析結果において、「 192.168.1.2  の」という二つの形態素が増えることになる。この結果、テンプレートとの比較により、ポリシー正規化手段１１０は、送信先アドレスが「192.168.1.2 」であると判定し、送信先アドレスは図６に示す既定値ではなく、「192.168.1.2 」となる。この結果、セキュリティポリシーを正規化した結果は、図１０に示すようになる。なお、０１行から０４行までの正規化した結果は、図８と同一である。
【００９３】
ここでは、形態素解析結果とテンプレートを用いてポリシー要素を正規化する場合について説明したが、ポリシー要素を正規化する方法は、この方法に限定されない。ポリシー正規化手段１１０を、ポリシー要素を正規化する複数種類の方法によってポリシー要素を正規化する構成としてもよい。この場合、セキュリティポリシーが種々の日本語表記の仕方で記述された場合でも、正規化処理を行うことができる。すなわち、セキュリティポリシーの種々の表記バリエーションに対応できる。
【００９４】
次に、ステップＳ４における動作モデル作成処理について説明する。既に説明したように、動作モデルとは、ネットワークアクセス制御装置の動作を表したデータ、または、そのデータに基づいてネットワークアクセス制御装置の動作を模式的に図として表したものである。動作モデルは、ネットワーク機器毎に存在する。例えば、図５に示すファイアウォール５００の動作モデルとして、ＳＶＲ０１に対する動作モデル、ＳＶＲ０２に対する動作モデル、ＳＶＲ０３に対する動作モデルが存在する。ＳＶＲ０１、ＳＶＲ０２、ＳＶＲ０３の他にもネットワーク機器が存在するならば、それらのネットワーク機器に対するファイアウォール５００の動作モデルも存在する。このように、動作モデルは、トポロジー情報で示されたネットワーク機器全てついて存在する。各ネットワーク機器に対する動作モデルの集合を、「全動作モデル」と呼ぶ。
【００９５】
図１１は、”１９２．１６８．１．２”のネットワークアドレスを有するネットワーク機器ＳＶＲ０１（図５参照。）に対する動作モデルである。図１１に示すように模式図として表された動作モデルは、送信元を示す領域と送信先を示す領域とそれらの領域間のアクセス制御状態を示す領域とを表している。そして、アクセス制御状態を示す領域は送信先のポート番号の１〜６５５３５に相当する。図１１では、図５に示すファイアウォール５００の動作が、送信元アドレスに関わらず、”１９２．１６８．１．２”へ送信されたパケットのうち、送信先ポート番号が２０〜２３、２５、５３または８０であるものは通過を許可し、他のパケットは通過を禁止するものであることを示している。図５に示すＳＶＲ０２、ＳＶＲ０３に対しても同様の動作モデルが作成され、これらの動作モデルの集合が全動作モデルとなる。
【００９６】
図１２は、図１１に示す動作モデルのデータ構造の例を示す説明図である。図１２に示すように、動作モデルのデータ構造には、「送信元」、「対象アドレス（送信先）」、「プロトコル」、「１−６５５３５（デフォルト）」、デフォルトを指定するポリシー要素以外のポリシー要素で指定されたポート番号、およびその動作が含まれる。送信元アドレスが、図１２に示すデータ構造の「送信元」の値となる。同様に、送信先アドレスが、「対象アドレス（送信先）」の値となる。また、ＴＣＰやＵＤＰ（User Datagram Protocol）等のプロトコルが、データ構造における「プロトコル」の値となる。図１２に示す「１−６５５３５（デフォルト）」とは、送信先ポート番号１〜６５５３５それぞれの場合におけるデフォルトの動作を表す。「１−６５５３５（デフォルト）」として、「Ｄｒｏｐ（パケットの通過許可）」または「Ａｃｃｅｐｔ（パケットの通過禁止）」のいずれかが定められる。また、「ポート番号」として、送信先ポート番号の値がそれぞれ個別に定められる。そして、その「ポート番号」における動作として、「Ｄｒｏｐ」また「Ａｃｃｅｐｔ」が定められる。
【００９７】
送信されてきたパケットの送信先ポート番号が、図１２に示す「ポート番号」と一致しない場合、そのパケットは、「１−６５５３５（デフォルト）」に従って、通過許可とされるか、あるいは通過禁止とされる。
【００９８】
図１１は、図１２に示すデータ構造によって表される動作モデルを模式図として表したものである。なお、図１１のように模式図として表された動作モデルは、情報出力手段３００に表示される。
【００９９】
図１３は、動作モデル作成手段１２０による動作モデル作成処理（ステップＳ４）を示すフローチャートである。動作モデル作成処理開始時には、トポロジー記憶手段１０２にはトポロジー情報が記憶されている。また、動作モデル作成手段１２０には、ポリシー正規化手段１１０から正規化されたセキュリティポリシーが既に入力されている。ここでは、図８に示す正規化されたセキュリティポリシーが入力されているものとする。
【０１００】
動作モデル作成手段１２０は、トポロジー記憶手段１０２に記憶されたトポロジー情報の中に、動作モデルの対象としていないハードウェアが残っているか否かを判定する（ステップＳ３１）。すなわち、トポロジー情報内で示されるハードウェアのうち、ネットワークアクセス制御装置の動作対象となるハードウェアとして選択され、動作モデルが未だ作成されていないハードウェアが残っているか否かを判定する。そのようなハードウェアが残っていなければ、動作モデル作成手段１２０は、動作モデル作成処理を終了する。
【０１０１】
まだ選択されていないハードウェアが残っている場合（ステップＳ３１のＹ）、そのハードウェアの中から、１つのハードウェアを選択する（ステップＳ３２）。例えば、図４に示すトポロジー情報（図５に例示する構成に対応するトポロジー情報）を用いて、動作モデル作成処理を行うとする。図４に示すトポロジー情報では、”１９２．１６８．１．０／２４”のネットワーク内に、３つのネットワーク機器（図５に示すＳＶＲ０１、ＳＶＲ０２およびＳＶＲ０３）が存在することを示している。最初に、ステップＳ３１に移行した場合、動作モデル作成手段１２０は、未だどのハードウェアも選択していないので、ステップＳ３２に移行する。ステップＳ３２では、動作モデル作成手段１２０は、例えば、最初のハードウェアのデータ（ＳＶＲ０１に対応するデータ）を選択する。
【０１０２】
次に、動作モデル作成手段１２０は、ステップＳ３２で選択したハードウェアに関係するポリシー要素を列挙する（ステップＳ３３）。選択したハードウェアに関係するポリシー要素とは、選択したハードウェアのネットワークアドレスを、送信先アドレスとして含んでいるポリシー要素のことである。ステップＳ３２で選択したハードウェアのネットワークアドレスが、”１９２．１６８．１．２”であるとする。また、入力されたセキュリティポリシー（本例では、図８に示すセキュリティポリシー）の各ポリシー要素の送信先アドレスは、「ａｎｙ」となっている。従って、”１９２．１６８．１．２”は、各ポリシー要素の送信先アドレスに含まれている。よって、動作モデル作成手段１２０は、選択したハードウェアに関係するポリシー要素として、図８に示す全てのポリシー要素を列挙する。
【０１０３】
ここでポリシー要素を列挙するとは、例えば、セキュリティポリシーからポリシー要素を順番に抽出して、抽出した順番通りに順序付けして各ポリシー要素を記憶領域に一時的に記憶させることである。
【０１０４】
仮に、図１０に示すセキュリティポリシーが動作モデル作成手段１２０に入力されていたとする。また、ステップＳ３２で選択したハードウェアのデータがＳＶＲ０２のデータであったとする。この場合、選択したハードウェアのネットワークアドレスは、”１９２．１６８．１．３”である。また、図１０に示す０５’行のポリシー要素の送信先アドレスは、”１９２．１６８．１．２”である。従って、この場合には、図１０に示す０５’行のポリシー要素は、選択したハードウェアに関係するポリシー要素には該当せず、動作モデル作成手段１２０は、図１０に示す０１行から０４行までのポリシー要素を列挙することになる。
【０１０５】
動作モデル作成手段１２０は、ステップＳ３２において、０１行から順番に、ポリシー要素が選択したハードウェアに関係しているか否かを判定し、関係していればそのポリシー要素を列挙する（抽出し記憶領域に一時的に記憶させる）。選択したハードウェアに関係しているポリシー要素として他のポリシー要素を抽出したならば、その前に列挙したポリシー要素の次のポリシー要素として記憶領域に一時的に記憶させる。このように、選択したハードウェアに関係している各ポリシー要素は順序づけされる。ただし、デフォルトの動作を指定するポリシー要素（図８に示す例では０１行目）は、１つしかなく他のポリシー要素と区別される。従って、デフォルトの動作を指定するポリシー要素の順序は任意であってよい。図８や図１０に示した例では、０１行が、デフォルトの動作を指定するポリシー要素となる。０１行目のポリシー要素がデフォルトの動作を指定するように定められている場合には、その０１行目のポリシー要素についは、送信先アドレスを確認することなく無条件に、選択したハードウェアに関係しているポリシー要素であると判定してよい。
【０１０６】
ステップＳ３３の次に、動作モデル作成手段１２０は、新たな動作モデルを作成し、ステップＳ３３で列挙したポリシー要素のうち、デフォルトの動作を指定するポリシー要素を用いて動作モデルを初期化する（ステップＳ３４）。動作モデル作成手段１２０は、新しい動作モデルとして、図１４（ａ）に示すデータを作成する。図１４（ａ）に示すデータは、図１２に示すデータ構造における各データが未確定となっているデータである。なお、図１４（ａ）に示す動作モデルを模式図として表すと、図１４（ｂ）のよう表すことができる。図１４（ｂ）では、送信先アドレス、送信元アドレスのいずれも明示されず、また、通過を許可されるパケットの送信先ポート番号も明示されない。
【０１０７】
図１４（ａ）に示す新たな動作モデルを初期化すると、図１５（ａ）に示すような動作モデルとなる。動作モデルの初期化には、デフォルトの動作を指定するポリシー要素を用いる。図８に示すセキュリティポリシーでは、デフォルトとして指定される内容は、「Ｄｒｏｐ」である。従って、動作モデル作成手段１２０は、図１２に示すデータ構造における「１−６５５３５（デフォルト）」のデータを「Ｄｒｏｐ」と定める。また、動作モデル作成手段１２０は、デフォルトの動作を指定するポリシー要素（図８の０１行参照）に従って、データ構造における「送信元」および「プロトコル」を、それぞれ「０／０（ａｎｙと同じ意味）」、「ＴＣＰ」と定める。また、ステップＳ３２で選択したハードウェアのネットワークアドレス（ここでは、”１９２．１６８．１．２”とする。）を、「対象アドレス（送信先）」の値とする。
【０１０８】
図１５（ａ）に示す動作モデルを模式図として表すと、図１５（ｂ）のように表すことができる。図１５（ｂ）では、初期化の際、「１−６５５３５（デフォルト）」のデータが「Ｄｒｏｐ」と定められたので、送信先ポート番号１〜６５５３５の全範囲を、Ｄｒｏｐ（パケット通過禁止）を示す黒色で示している。
【０１０９】
なお、動作モデル作成手段１２０は、動作モデルの初期化を行った後、初期化に用いたポリシー要素（デフォルトの動作を指定するポリシー要素）を列挙したポリシー要素の中から削除する。なお、ステップＳ３３では、デフォルトの動作を指定するポリシー要素を、ステップＳ３３で列挙するポリシー要素に含めず、列挙するポリシー要素とは別に一時記憶させるようにしてもよい。いずれの場合であっても、ステップＳ３４終了時には、列挙されたポリシー要素の中に、デフォルトの動作を指定するポリシー要素は含まれていない。
【０１１０】
ステップＳ３３の次に、動作モデル作成手段１２０は、列挙したポリシー要素が残っているか否かを判定する（ステップＳ３５）。列挙したポリシー要素が全て削除されて残っていないときは（ステップＳ３５のＮ）、ステップＳ３１以降の動作を繰り返す。
【０１１１】
列挙したポリシー要素がまだ残っているときは（ステップＳ３５のＹ）、列挙されているポリシー要素のうちの最後尾のポリシー要素が表す内容を、動作モデルに追加する（ステップＳ３６）。本例では、図８に示すセキュリティポリシー内のポリシー要素が列挙される。最初にステップＳ３６に移行したときに、最後尾のポリシー要素となっているのは、図８に示す０５行目である。０５行目のポリシー要素の内容は、送信先ポートが８０の場合パケットを通過させる（Ａｃｃｅｐｔ）という意味であるため、動作モデルにおいて、ポート番号８０に対してＡｃｃｅｐｔ（通過許可）を割り当てる。この結果、動作モデルは、図１６（ａ）に示すようになる。また、図１６（ａ）に示す動作モデルを模式図として表すと、図１６（ｂ）のように表すことができる。図１６（ｂ）において、送信先ポート番号８０に該当する個所は、Ａｃｃｅｐｔ（通過許可）を示す白色で示される。
【０１１２】
ステップＳ３６の後、動作モデル作成手段１２０は、ステップＳ３６において内容を動作モデルに追加したポリシー要素を削除する（ステップＳ３７）。すなわち、列挙されているポリシー要素のうち最後尾のポリシー要素を削除する。その後、動作モデル作成手段１２０は、ステップＳ３５以降の動作を繰り返す。ステップＳ３５〜Ｓ３７の動作が繰り返されると、０４行、０３行、０２行のポリシー要素が順次、最後尾のポリシー要素となり、その内容が動作モデルに追加される。図１７は、０２行のポリシー要素の内容が追加され、列挙されたポリシー要素が全て削除された時点での動作モデルを表す。図１７に示す動作モデルを模式図として表すと、図１１のように表すことができる。
【０１１３】
動作モデル作成手段１２０は、ステップＳ３２からステップＳ３７までの処理をトポロジー情報に記述された各ハードウェアに対して実行した後にステップＳ３１に移行すると、ネットワークアクセス制御装置の動作対象となるハードウェアとして選択されていないハードウェアはないと判定し、動作モデル作成処理を終了する。この結果、図１７（模式図として表すと図１１）に示すような動作モデルが、各ハードウェア（ネットワーク機器）毎に作成される。すなわち、全動作モデルが作成される。動作モデル作成手段１２０は、動作モデル作成処理が終了すると、作成した全動作モデルを動作モデル記憶手段１０３に記憶させる。また、動作モデル作成手段１２０は、各動作モデルを情報出力手段３００に表示する。このとき、図１１に例示するような模式図として動作モデルを表示する。
【０１１４】
ここでは、セキュリティポリシー内の個々のポリシー要素がプロトコルとしてＴＣＰを指定している場合を例に説明した。ポリシー要素がＵＤＰを指定している場合であっても、動作モデルのデータ構造自体は変わらず、図１１等に例示した模式図と同様の模式図で表すことができる。
【０１１５】
次に、修正方針入力手段２２０から入力される修正方針について説明する。図１８は、修正方針の入力を促す入力画面の一例である。修正手段１３０は、図１８に例示する入力画面を情報出力手段３００に表示させて、冗長性に関する動作モデルの修正方針、厳密性に関する動作モデルの修正方針、デフォルトに関する動作モデルの修正方針、および効率性に関する動作モデルの修正方針の入力を作業者に促す。図１８では、「冗長性を許す」、「厳密性を求めない」、「デフォルトはポリシーに従う」、「効率性を重視しない」という修正方針が入力された状態を示している。この「冗長性を許す」、「厳密性を求めない」、「デフォルトはポリシーに従う」、「効率性を重視しない」という組み合わせの修正方針は、動作モデル作成手段１２０が作成した動作モデルに対し修正を加えないことを意味する。
【０１１６】
修正方針の入力を促す入力画面において表示する文言は、図１８に示す文言に限定されない。例えば、図１８に示す「冗長性」という文言の代わりに、「重複した無意味な記述」という文言を表示してもよい。また、図１８に示す「厳密性」という文言の代わりに、「サービスしていないポートへのアクセス」という文言を表示してもよい。また、効率性に関しては、図１８に示す「効率性」という文言の代わりに「フィルタリング速度を上げる最適化」という文言を表示し、「重視する」、「重視しない」という各文言の代わりに「する」、「しない」という文言を表示してもよい。
【０１１７】
修正手段１３０は、修正方針入力手段２２０を介して修正方針を入力される。図１８では、各種方針の選択を促す画面を表示して、マウス等で方針を選択させる場合の例を示した。修正方針の入力態様は、このような入力態様に限定されない。例えば、修正手段１３０は、図１９に示すようＸＭＬによって記述された修正方針を、修正方針入力手段２２０を介して入力されてもよい。図１９に示す例では、verbosity タグに囲まれた部分に、冗長性を許すか否か（trueまたはfalse ）が記述される。また、strictnessタグに囲まれた部分に、厳密性を求めるかか否か（trueまたはfalse ）が記述される。また、default タグに囲まれた部分に、デフォルトを許可とするか、禁止とするか、セキュリティポリシーの記述に従うかが記述される。また、efficiencyタグに囲まれた部分に、効率性を重視するか否か（trueまたはfalse ）が記述される。
【０１１８】
修正方針入力手段２２０ががキーボートやマウス等の入力装置であり、これらの入力装置を介して、図１９に例示する修正方針が入力されてもよい。また、修正方針入力手段２２０が、記憶媒体からの情報の読み込みを行うドライバ装置であり、記憶媒体にファイルとして記憶された修正方針（例えば、図１９に示す修正方針）を読み込んでもよい。また、修正方針入力手段２２０がマイクロホンであり、音声として発せられた修正方針を入力してもよい。
【０１１９】
図２０は、修正手段１３０による動作モデル修正処理（ステップＳ５）を示すフローチャートである。なお、既に修正方針は入力されているものとする。修正手段１３０は、動作モデル記憶手段１０３に動作モデルが記憶されているか否かを判定する（ステップＳ５１）。動作モデルが記憶されていないときは、修正手段１３０は、動作モデル修正処理を終了する。動作モデルが記憶されているときは、修正手段１３０は、動作モデル記憶手段１０３に記憶されている動作モデルの中から１つの動作モデルを選択する（ステップＳ５２）。
【０１２０】
続いて、修正手段１３０は、修正方針入力手段２２０を介して入力された修正方針を参照して、冗長性に関する修正方針が、冗長性を許すものであるか否かを判定する（ステップＳ５３）。「冗長性を許さない」という修正方針であるならば（ステップＳ５３のＮ）、修正手段１３０は、その方針に従って、選択した動作モデルを修正する（ステップＳ５４）。修正手段１３０は、「冗長性を許さない」という方針に基づく修正処理の後、ステップＳ５５に移行する。また、「冗長性を許す」という修正方針であるならば、ステップＳ５３の次にステップＳ５５に移行する。
【０１２１】
ステップＳ５５では、修正手段１３０は、修正方針入力手段２２０を介して入力された修正方針を参照して、厳密性に関する修正方針が、厳密性を求めていないかどうかを判定する。「厳密性を求める」という修正方針であるならば（ステップＳ５５のＮ）、修正手段１３０は、その方針に従って、選択した動作モデルを修正する（ステップＳ５６）。修正手段１３０は、「厳密性を求める」という修正方針に基づく修正処理の後、ステップＳ５７に移行する。また、「厳密性を求めない」という修正方針であるならば、ステップＳ５５の次にステップＳ５７に移行する。
【０１２２】
ステップＳ５７では、修正手段１３０は、修正方針入力手段２２０を介して入力された修正方針を参照して、デフォルトに関する修正方針が、デフォルトを許可（Ａｃｃｅｐｔ）とするものであるか、デフォルトを禁止（Ｄｒｏｐ）とするものであるか、あるいは、セキュリティポリシー内のデフォルトの指定に従うものであるのかを判定する。「デフォルトを許可とする」または「デフォルトを禁止とする」という修正方針であるならば（ステップＳ５７のＮ）、修正手段１３０は、その方針に従って、選択した動作モデルを修正する（ステップＳ５８）。修正手段１３０は、ステップＳ１３０の修正処理の後、ステップＳ５９に移行する。また、「セキュリティポリシー内のデフォルトの指定に従う」という修正方針であるならば、ステップＳ５７の次にステップＳ５９に移行する。
【０１２３】
ステップＳ５９では、修正手段１３０は、修正方針入力手段２２０を介して入力された修正方針を参照して、効率性に関する修正方針が、効率性をしていないものであるかどうかを判定する。「効率性を重視する」という修正方針であるならば（ステップＳ５９のＮ）、修正手段１３０は、その方針に従って、選択した動作モデルを修正する（ステップＳ６０）。修正手段１３０は、「効率性を重視する」という修正方針に基づく修正処理の後、ステップＳ６１に移行する。また、「効率性を重視しない」という修正方針であるならば、ステップＳ５９の次にステップＳ６１に移行する。
【０１２４】
なお、修正手段１３０は、ステップＳ５４，Ｓ５６，Ｓ５８，Ｓ６０の修正処理において、動作モデルのデータ構造自体は変更しない。
【０１２５】
ステップＳ６１では、修正手段１３０は、修正後の動作モデルを修正後動作モデル記憶手段１４０に記憶させる（ステップＳ６１）。ただし、ステップＳ５４，Ｓ５６，Ｓ５８，Ｓ６０に移行することなく、ステップＳ５３，Ｓ５５，Ｓ５７，Ｓ５９，Ｓ６１の順に移行した場合、ステップＳ５２で選択された動作モデルは何ら修正されていないことになる。この場合、修正手段１３０は、修正されていない動作モデルをそのまま修正後動作モデル記憶手段１０４に記憶させる。例えば、図１８や図１９に示す修正方針が入力された場合、ステップＳ５３、Ｓ５５，Ｓ５７，Ｓ５９，Ｓ６１の順に移行し、選択された動作モデルは、そのまま修正後動作モデル記憶手段１０４に記憶される。
【０１２６】
ステップＳ６１の次に、修正手段１３０は、ステップＳ５２で選択した動作モデルを、動作モデル記憶手段１０３から削除する（ステップＳ６２）。ステップＳ６２の後、修正手段１３０は、ステップＳ５１以降の処理を繰り返す。なお、動作モデル作成処理を終了する際には、修正手段１３０は、修正後の各動作モデルを情報出力手段３００に表示する。。このとき、図１１に例示するような模式図として動作モデルを表示する。
【０１２７】
動作モデル作成処理（ステップＳ４）では、各ハードウェア（ネットワーク機器）毎に動作モデルが作成される。図２０に示すフローチャートでは、各動作モデルを選択し、その動作モデルの修正後の動作モデルをそれぞれ修正後動作モデル記憶手段１０４に記憶させる。従って、修正後の動作モデルも、各ハードウェア（ネットワーク機器）毎に存在する。
【０１２８】
また、本実施の形態では、修正後の動作モデルを修正後動作モデル記憶手段１０４に記憶させている。このような処理ではなく、ステップＳ５２で選択した動作モデルに対して修正後の動作モデルを上書きして、修正後の動作モデルを動作モデル記憶手段１０３に記憶させてもよい。この場合、ステップＳ６１で動作モデルの上書きを行えばよく、ステップＳ６２の処理は行わなくてよい。また、ステップＳ５１では、修正後の動作モデルによって上書きされていない動作モデルが動作モデル記憶手段１０３に記憶されているか否かを判定すればよい。
【０１２９】
図２１は、冗長性に関する修正処理（ステップＳ５４）を示すフローチャートである。冗長性に関する修正処理において、修正手段１３０は、ステップＳ５２（図２０参照）で選択した動作モデル中に内包領域が存在するかどうかを判定する（ステップＳ７１）。内包領域が存在しないと判定した場合（ステップＳ７１のＮ）、修正手段１３０は、冗長性に関する修正処理を終了する。内包領域とは、同一のアクションが指定されている二つの領域（ここでは、ポート番号の範囲）があり、そのうちの一方の領域が、もう一方の領域に完全に含まれている場合において、含まれている方の領域のことである。図２２は、内包領域が存在する動作モデルの例を示す。図２２（ａ）に示す動作モデルでは、「２０〜５３」という領域（ポート番号の範囲）にＡｃｃｅｐｔが指定されている。また、「２５」という領域（ポート番号の範囲）にもＡｃｃｅｐｔが指定されている。従って、同一のアクション（本例ではＡｃｃｅｐｔ）が指定されている二つの領域があり、一方の領域「２５」は、もう一方の領域「２０〜５３」に完全に含まれている。このとき、含まれている方の領域「２５」が内包領域に該当する。図２２（ａ）に示す動作モデルを模式図として表すと、図２２（ｂ）のように表すことができる。ポート番号２０〜５３の領域は、Ａｃｃｅｐｔを示す白色で示される。また、ポート番号２５の領域（内包領域）もＡｃｃｅｐｔを示す白色で示される。
【０１３０】
修正手段１３０は、動作モデル中に内包領域が存在すると判定した場合（ステップＳ７１のＹ）、その内包領域を削除する（ステップＳ７２）。図２２（ａ）に示す例では、Ａｃｃｅｐｔが指定されているポート番号「２５」が内包領域であるので、その内包領域（ポート番号２５およびそのアクション）を削除する。図２２（ａ）に示す動作モデルの内包領域を削除した後の動作モデルを図２３に示す。図２３（ａ）に示すように、Ａｃｃｅｐｔが指定されているポート番号「２５」が削除され、Ａｃｃｅｐｔが指定されているポート番号「２０〜５３」はそのまま残される。図２３（ａ）に示す動作モデルを模式図として表すと、図２３（ｂ）のように表すことができる。図２２と図２３とを比較すると、冗長な領域であったポート番号２５のみの領域が削除され、冗長性が排除されたことがわかる。
【０１３１】
修正手段１３０は、ステップＳ７２の後、ステップＳ１３０以降の動作を繰り返す。そして、動作モデルから内包領域を全て削除したならば、ステップＳ７１で内包領域が存在しないと判定し（ステップＳ７１のＮ）、処理を終了する。
【０１３２】
図２４は、厳密性に関する修正処理（ステップＳ５６）を示すフローチャートである。以下、図２４を用いて、厳密性に関する修正処理について説明する。本例では、厳密性に関する修正処理の対象となる動作モデルが、図１７に示す動作モデルであるものとして説明する。
【０１３３】
厳密性に関する修正処理において、修正手段１３０は、トポロジー記憶手段１０２からトポロジー情報を取得する（ステップＳ８１）。ステップＳ８１では、修正手段１３０は、トポロジー情報のうち、ステップＳ５２で選択した動作モデルから特定されるネットワーク機器に搭載（インストール）されているソフトウェアの情報を取得すればよい。例えば、ステップＳ５２で選択した動作モデルが、図１７に示す動作モデルであったとする。この動作モデルにおいて、「対象アドレス（送信先）」は”１９２．１６８．１．２”であるので、この動作モデルは、ネットワークアドレスが”１９２．１６８．１．２”であるネットワーク機器に対する動作モデルあることがわかる。従って、例えば図４に例示するトポロジー情報のうち、ネットワークアドレスが”１９２．１６８．１．２”であるネットワーク機器に搭載されているソフトウェアの情報を取得すればよい。本例の場合では、図４に示すトポロジー情報のうち、「Ａｐａｃｈｅ」、「ｆｔｐ」および「ｓｓｈ」というソフトウェアの情報（名称）を取得すればよい。
【０１３４】
次に、修正手段１３０は、ステップＳ８１で取得したソフトウェアの情報に基づいて、各ソフトウェアのサービスポート番号を特定し、各ソフトウェアの情報をサービスポート番号に変換する（ステップＳ８２）。サービスポート番号とは、ネットワークサービスを行うソフトウェアが用いるサービスリクエストの受付ポート番号である。例えば、Ａｐａｃｈｅは、ＷＷＷサーバで用いられるソフトウェアであるため、Ａｐａｃｈｅのサービスポート番号は８０番である。また、ｆｔｐのサービスポート番号は、２０番および２１番である。ｓｓｈのサービスポート番号は２２番である。動作モデル作成装置１００は、ソフトウェアとサービスポート番号との対応関係を予め記憶装置に記憶しておき、修正手段は、その対応関係を参照して、ステップＳ８１で取得したソフトウェアの情報に対応するサービスポート番号を特定すればよい。上記の例では、「Ａｐａｃｈｅ」、「ｆｔｐ」および「ｓｓｈ」に対応するサービスポート番号８０、２０、２１、２２を特定し、各ソフトウェアの情報を、このサービスポート番号８０、２０、２１、２２に変換すればよい。
【０１３５】
続いて、修正手段１３０は、ステップＳ８２で得られたサービスポート番号が１つ以上あるか否かを判定する（ステップＳ８３）。サービスポート番号が１つ以上あるときにはステップＳ８４に移行し、サービスポート番号が１つもなければステップＳ８７に移行する。上記の例のようにステップＳ８２でサービスポート番号２０、２１、２２、８０を得た場合には、サービスポート番号が４つ存在することになるので、ステップＳ８４に移行する。
【０１３６】
ステップＳ８４では、修正手段１３０は、１つ以上のサービスポート番号の中から１つのサービスポート番号を選択する。例えば、上記のようにサービスポート番号２０、２１、２２、８０を得手いる場合には、その中の任意の１つの番号を選択する。本例では、２０番を選択するものとして説明する。
【０１３７】
次に、修正手段１３０は、ステップＳ５２で選択した動作モデルにおいて、ステップＳ８４で選択したサービスポート番号にＡｃｃｅｐｔが指定されているか否かを判定する。Ａｃｃｅｐｔが指定されているならば、そのサービスポート番号を、非変更対象ポート番号として記憶する（ステップＳ８５）。後述するように、厳密性に関する修正処理では、Ａｃｃｅｐｔが指定されていたポート番号の一部は、アクションをＡｃｃｅｐｔからＤｒｏｐに変更される。非変更対象ポート番号とは、アクションをＤｒｏｐに変更しないポート番号である。また、選択したサービスポート番号にＡｃｃｅｐｔが指定されていなければ、そのサービスポート番号を非変更対象ポート番号として記憶することなく、ステップＳ８６に移行する。
【０１３８】
本例では、図１７に示す動作モデルを修正対象としていて、ポート番号２０に対してはＡｃｃｅｐｔが指定されている（図１７参照。）。従って、サービスポート番号２０を、非変更対象ポート番号として記憶する。図２５（ａ）は、動作モデルとともに記憶された非変更対象ポート番号を示す。また、非変更対象ポート番号とともに記憶された動作モデルを模式図として表した例を、図２５（ｂ）に示す。図２５（ｂ）に示す模式図では、非変更対象ポート番号に対応する箇所にマーク５１を付して表している。
【０１３９】
なお、後述するように、修正手段１３０は、非変更対象ポート番号とともに記憶される動作モデルを情報出力手段３００に表示させる場合がある。この場合にも、図２５（ｂ）に示すように、非変更対象ポート番号に対応する箇所にマーク５１を付して表示する。
【０１４０】
ステップＳ８５の後、修正手段１３０は、ステップＳ８４で選択したサービスポート番号を削除する（ステップＳ８６）。本例では、４つのサービスポート番号２０、２１、２２、８０のうち２０番を選択していたので、２０番を削除する。この結果、サービスポート番号のうち、２１、２２および８０が残る。
【０１４１】
ステップＳ８６の後、修正手段１３０は、ステップＳ８３に以降し、ステップＳ８３〜Ｓ８６の処理を繰り返す。この結果、残ったサービスポート番号２１、２２および８０についても、順次選択され、非変更対象ポート番号として記憶された後に削除される。全てのポート番号を削除した後に、ステップＳ８３に以降したときには、サービスポート番号が１つもないので、ステップＳ８７に移行する。図２６（ａ）は、ステップＳ８７に移行する直前に記憶されている動作モデルおよび非変更対象ポート番号の例である。上記の例では、図２６（ａ）に示すように、２０、２１、２２および８０がそれぞれ、非変更対象ポート番号として記憶される。図２６（ａ）に示すように非変更対象ポート番号とともに記憶された動作モデルを模式図として表した例を、図２６（ｂ）に示す。
【０１４２】
ステップＳ８７において、修正手段１３０は、Ａｃｃｅｐｔが指定されているポート番号の領域のうち、非変更対象ポート番号以外の領域をＤｒｏｐに変更する。そして、記憶していた非変更対象ポート番号を削除する。図２６（ａ）に示す動作モデルに対してステップＳ８７の処理を行う場合、修正手段１３０は、Ａｃｃｅｐｔが指定されているポート番号の領域２０〜２３、２５、５３および８０のうち、非変更対象ポート番号以外のポート番号２３、２５および５３のアクションをＤｒｏｐに変更する。この結果、動作モデルは、図２７に示すようになる。図２７（ａ）に示す動作モデルを模式図として表すと、図２７（ｂ）のように表すことができる。
【０１４３】
図２８は、デフォルトに関する修正処理（ステップＳ５８）を示すフローチャートである。以下、図２８を用いて、厳密性に関する修正処理について説明する。本例では、デフォルトに関する修正処理の対象となる動作モデルが、図１７に示す動作モデルであるものとして説明する。
【０１４４】
ステップＳ５８のデフォルトに関する修正処理は、「デフォルトを許可とする」または「デフォルトを禁止とする」という修正方針が入力された場合に実行される。修正手段１３０は、修正方針で指定されているデフォルトのアクションと、動作モデルにおけるデフォルトのアクションが同一か否かを判定する（ステップＳ１０１）。同一であるならば（ステップＳ１０１のＹ）、デフォルトに関する修正処理を終了する。同一でなければ（ステップＳ１０１のＮ）、ステップＳ１０２に移行する。図１７に示す動作モデルにおけるデフォルトのアクションは「Ｄｒｏｐ（禁止）」である。従って、「デフォルトを禁止とする」という修正方針が入力されている場合には、処理を終了する。また、「デフォルトを許可とする」という修正方針が入力されている場合には、ステップＳ１０２に移行する。
【０１４５】
ステップＳ１０２において、修正手段１３０は、動作モデルにおけるデフォルトのアクションを反対のアクションに変更する（ステップＳ１０２）。すなわち、動作モデルのデフォルトのアクションが「Ｄｒｏｐ」ならば「Ａｃｃｅｐｔ」に変更し、「Ａｃｃｅｐｔ」ならば「Ｄｒｏｐ」に変更する。図１７に示す動作モデルの場合、デフォルトのアクションが「Ｄｒｏｐ」であるので、このアクションを「Ａｃｃｅｐｔ」に変更する。ステップＳ１０２の後、図１７に示す動作モデルは、図２９に示すように変更される。図２９では、変更された箇所を矢印で示している。
【０１４６】
次に、修正手段１３０は、動作モデル内で、記述されていないポート番号の領域に対し、デフォルトのアクションとは反対のアクションを指定する（ステップＳ１０３）。例えば、図２９に示す動作モデルでは、ポート番号１〜１９、ポート番号２４、ポート番号２６〜５２、ポート番号５４〜７９およびポート番号８１〜６５５３５の領域が記述されていない。修正手段１３０は、これらの領域の記述を動作モデルに追加する。さらに、修正手段１３０は、これらの領域に対し、デフォルトのアクションである「Ａｃｃｅｐｔ」とは反対のアクション「Ｄｒｏｐ」を指定する。ステップＳ１０３の後、図２９に示す動作モデルは、図３０に示すように変更される。図３０では、変更（追加）された箇所を矢印で示している。
【０１４７】
次に、修正手段１３０は、動作モデルのデフォルトのアクションと同一のアクションが指定されているポート番号の領域およびそのアクションを動作モデルの中から削除する（ステップＳ１０４）。例えば、図３０に示す動作モデルでは、デフォルトと同一のアクションであるＡｃｃｅｐｔが指定されているポート番号２０〜２３、２５、５３および８０と、そのポート番号に対応するアクションを削除する。ステップＳ１０４の後、図３０に示す動作モデルは、図３１に示すように変更される。この結果、「デフォルトを許可とする」という方針に従って、デフォルトのアクションがＡｃｃｅｐｔになるように動作モデルが修正されたことになる。
【０１４８】
ここでは、図１７に示す動作モデルを図３１に示す動作モデルに変更したが、この２つの動作モデルを模式図として表した場合、いずれも図１１の様に表される。従って、動作モデル内のデータが異なっていても、両者が表している動作内容自体は同一である。
【０１４９】
図３２は、効率性に関する修正処理（ステップＳ６０）を示すフローチャートである。以下、図３２を用いて、効率性に関する修正処理について説明する。本例では、効率性に関する修正処理の対象となる動作モデルが、図３３（ａ）に示す動作モデルであるものとして説明する。なお、図３３（ａ）に示す動作モデルを模式図として表すと、図３３（ｂ）にように表すことができる。
【０１５０】
効率性に関する修正処理において、修正手段１３０は、動作モデルの中に、アクションが同一であり、ポート番号が連続している領域（ポート番号の範囲）があるか否かを判定する（ステップＳ１１１）。図３３（ａ）に示す例では、ポート番号２０〜２３の領域には、アクションとしてＡｃｃｅｐｔが指定されている。また、ポート番号２４〜３０の領域には、アクションとしてＡｃｃｅｐｔが指定されている。従って、ポート番号２０〜２３の領域と、ポート番号２４〜３０の領域は、アクションが同一である。また、ポート番号２４〜３０は、ポート番号２０〜２３の後に連続して続く番号である。従って、この二つの領域は、アクションが同一であり、ポート番号が連続している領域に該当する。
【０１５１】
また、ポート番号の一部が重複していたとしても、ある領域の最小のポート番号から、別の領域の最大のポート番号までが連続しているならば、その複数の領域は、ポート番号が連続している領域に該当する。例えば、一方の領域では、ポート番号が２０〜２５であり、もう一方の領域ではポート番号が２４〜３０であるとする。この場合、ポート番号２４，２５は、双方の領域で重複する。この場合、一方の領域の最小のポート番号２０から、もう一方の領域の最大のポート番号３０までが連続している。従って、このような２つの領域も、ポート番号が連続している領域に該当する。
【０１５２】
修正手段１３０は、アクションが同一であり、ポート番号が連続している領域が動作モデル内に存在しなければ（ステップＳ１１１のＮ）、処理を終了する。一方、図３３（ａ）に示すように、アクションが同一であり、ポート番号が連続している領域が存在するならば、ステップＳ１１２に移行する。ステップＳ１１２では、アクションが同一であり、ポート番号が連続している複数の領域を１つの領域にまとめる（ステップＳ１１２）。図３３（ａ）に示す例では、ポート番号が連続している複数の領域のうち、１つの領域における最小のポート番号２０から、もう１つの領域における最大のポート番号３０までが連続しているので、ポート番号が「２０〜３０」という１つの領域にまとめることができる。ステップＳ１１２の後、図３３（ａ）に示す動作モデルは、図３４（ａ）に示すように修正される。図３４（ａ）に示す動作モデルを模式図として表すと、図３４（ｂ）にように表すことができる。図３３（ｂ）に模式図として示した動作モデルでは２つに分かれていた領域は、図３４（ｂ）に模式図として示した動作モデルでは１つの領域にまとめられる。
【０１５３】
修正手段１３０は、ステップＳ１１２の後、ステップＳ１１１以降の処理を繰り返す。ステップＳ１１１において、アクションが同一であり、ポート番号が連続している領域が動作モデル内に存在しなくなったならば、処理を終了する。
【０１５４】
上記の例では、２つの領域（「ポート番号２０〜２３」の領域と、「ポート番号２４〜３０」の領域）をまとめる場合を示したが、３つ以上の連続した領域を一度にまとめてもよい。例えば、ポート番号１〜３の領域、ポート番号４〜６の領域、およびポート番号７〜９の領域があったとする。そして、この３つの領域におけるアクションは同一であるとする。このとき、修正手段１３０は、ステップＳ１１２で、この３つの領域を、「ポート番号１〜９」という領域に一度にまとめてもよい。
【０１５５】
修正後の動作モデルから、設定情報が作成される。図３３（ａ）に示す動作モデルに基づいて作成された設定情報がネットワークアクセス制御装置（例えば、図５に示すファイアウォール５００）に設定された場合と、図３４（ａ）に示す動作モデルに基づいて作成された設定情報がネットワークアクセス制御装置に設定された場合とでは、ネットワークアクセス制御装置のパケットフィルタリング動作の効率性が異なる。本例では、アクションが同一であり、ポート番号が連続している領域を１つにまとめることにより、ネットワークアクセス制御装置のパケットフィルタリング動作の効率性を向上させることになる。すなわち、ネットワークアクセス制御装置にパケットが送信されたときに、そのパケットの通過を許可するか禁止するかの判定を高速化することになる。
【０１５６】
ただし、ネットワークアクセス制御装置の動作の効率性を高めるための修正処理は、図３２に示す処理以外にもあり得る。例えば、ネットワークアクセス制御装置の種類によっては、ポート番号の領域数がより少ない動作モデルから作成された設定情報を付与されたときの方が、動作の効率性が向上するものがある。例えば、図１７に示す動作モデルと、図３１に示す動作モデルはいずれも同一の動作を表している。図１７に示す動作モデルでは、４つの領域が含まれている。すなわち、ポート番号２０〜２３の領域、ポート番号２５の領域、ポート番号５３の領域、ポート番号８０の領域が含まれている。一方、図３１に示す動作モデルでは、５つの領域が含まれている。すなわち、ポート番号１〜１９の領域、ポート番号２４の領域、ポート番号２６〜５２の領域、ポート番号５４〜７９の領域、ポート番号８１〜６５５３５の領域が含まれている。動作モデル内に含まれるポート番号の領域数が少ない方が動作の効率性が向上する場合には、ステップＳ６０において、図３１に例示する動作モデルを図１７に例示する動作モデルに修正し、領域数を減少させればよい。
【０１５７】
ここで、動作モデルに含まれる領域数を減少させることができるか否かは、以下のように判定すればよい。すなわち、修正手段１３０は、最小のポート番号である「１」を含む領域のアクションと、最大のポート番号である「６５５３５」を含む領域のアクションとが、いずれもデフォルトのアクションと異なっているならば、動作モデルに含まれる領域数を減少させることができると判定すればよい。図３１に示す動作モデルを例に説明すると、最小のポート番号である「１」を含む領域のアクションは「Ｄｒｏｐ」である。最大のポート番号である「６５５３５」を含む領域のアクションも「Ｄｒｏｐ」である。この二つの領域のアクションは、デフォルトのアクション「Ａｃｃｅｐｔ」と異なっている。従って、図３１に示す動作モデルは、領域数を減少させることができると判定する。また、領域数を減少させるように動作モデルを修正する場合、修正手段１３０は、ステップＳ１０２〜Ｓ１０４（図２８参照。）と同様の処理を行えばよい。
【０１５８】
なお、最小のポート番号である「１」を含む領域のアクションと、最大のポート番号である「６５５３５」を含む領域のアクションとが、いずれもデフォルトのアクションと異なっているという条件が満たされていない場合に、ステップＳ１０２〜Ｓ１０４と同様の処理を行うと、領域数は変化しないか、あるいは増加してしまう。
【０１５９】
また、ネットワークアクセス制御装置に搭載されたパケットフィルタリングソフトウェアのアルゴリズムによっては、ポート番号毎に領域が分割された動作モデルから作成された設定情報を付与されたときの方が、動作の効率性が向上する場合がある。このような場合には、修正手段１３０は、ステップＳ６０において、複数のポート番号を含む一つの領域を、ポート番号毎に分割すればよい。例えば、図３３（ａ）に示すポート番号２０〜２３からなる一つの領域を、ポート番号２０、２１、２２および２３毎に分割し、分割した各領域にアクションのデータ（本例ではＡｃｃｅｐｔ）を付与すればよい。
【０１６０】
以上に示した、各修正処理（ステップＳ５４，Ｓ５６，Ｓ５８，Ｓ６０）のフローチャートの説明では、デフォルトがＤｒｏｐとなっている動作モデルを例にして説明した。デフォルトがＡｃｃｅｐｔとなっている動作モデルを修正する場合であっても、上記のステップＳ５４，Ｓ５６，Ｓ５８，Ｓ６０と同様の処理を行えばよい。
【０１６１】
また、冗長性に関する修正処理（ステップＳ５４）、厳密性に関する修正処理（ステップＳ５６）、デフォルトに関する修正処理（ステップＳ５８）および効率性に関する修正処理（ステップＳ６０）の処理内容は、それぞれ、図２１、図２４、図２８および図３２に示す処理内容に限定されるわけではない。ステップＳ５４，Ｓ５６，Ｓ５８，Ｓ６０として、他の処理を行ってもよい。
【０１６２】
また、図２０に示すフローチャートでは、入力された修正方針に関する判定順序として、ステップＳ５３，Ｓ５５，Ｓ５７，Ｓ５９の順に判定を行っている。しかし、入力された修正方針に関する判定順序は、この順序に限定されない。例えば、冗長性に関する修正方針が冗長性を許すものであるか否かの判定（ステップＳ５３）を、厳密性に関する修正方針が厳密性を求めていないかどうかの判定（ステップＳ５５）よりも後に行ってもよい。
【０１６３】
また、上記の実施の形態では、修正手段１３０は、図１８に例示する入力画面（ＧＵＩ）から修正方針を入力されたり、あるいは、図１９に例示する修正方針を入力される。いずれの入力態様であっても、修正手段１３０は、入力された修正方針を、各動作モデルに一律に適用する。上記のような、事前に修正方針を入力され、その修正方針を各動作モデルに一律に適用する構成でなくてもよい。
【０１６４】
この場合、修正手段１３０は、ステップＳ５２で選択した動作モデル毎に個別に、厳密性に関する修正方針、冗長性に関する修正方針、効率性に関する修正方針の入力を促す。以下、この場合の動作について説明する。この場合の修正処理において、ステップＳ５１，Ｓ５２の処理は、既に説明した場合と同様である。
【０１６５】
ステップＳ５２で一つの動作モデルを選択したならば、修正手段１３０は、その動作モデルに対し、ステップＳ８１〜Ｓ８６（図２４参照。）の処理を行う。ステップＳ８３の処理において、サービスポート番号がなくなったと判定したならば、修正手段１３０は、非変更対象ポート番号以外のポート番号のアクションをＤｒｏｐに変更するか否かの決定を作業者に促すＧＵＩを情報出力手段３００に表示させる。図３５は、このＧＵＩの一例を示す。ＧＵＩでは、模式図として表した動作モデルを表示する。また、非変更対象ポート番号以外のポート番号のアクションをＤｒｏｐに変更するか否かの方針を入力するラジオボタン７１もＧＵＩ内に表示する。図３５に示す例では、アクションがＡｃｃｅｐｔとなっていたポート番号のうち、非変更対象ポート番号以外のポート番号以外のポート番号（図３５に示す例では２５，５３）毎にラジオボタン７１ｂ，７１ｃを表示して、アクションをＤｒｏｐに変更するポート番号を個別に指定できるようにしている。また、いずれのポート番号もＤｒｏｐに変更しないことを指定するためのラジオボタン７１ａと、各ポート番号（２５および５３）を全てＤｒｏｐに変更するためのラジオボタン７１ｄも表示している。図３５に示す「指摘されたポートを閉じない」という修正方針は、「厳密性を求めない」という修正方針と同義である。また、図３５に示す「指摘されたポートを閉じる」という修正方針は、「厳密性を求める」という修正方針と同義である。修正手段１３０は、ラジオボタン７１で指定された方針に従って、ポート番号のアクションを修正する。ただし、修正手段１３０は、ラジオボタン７１で指定された修正方針を、ＧＵＩ内に表示された動作モデルのみに対して適用する。
【０１６６】
また、図３５に例示するＧＵＩでは、次回以降に選択される動作モデルに対して一律に適用する修正方針を入力するラジオボタン７２も備えている。ラジオボタン７２は、「以降、指摘されたポートを閉じない」または、「以降、指摘されたポートを閉じる」という修正方針を指定可能としている。「以降、指摘されたポートを閉じない」という修正方針は、「厳密性を求めない」という修正方針と同義である。ラジオボタン７２においてこの修正方針が指定された場合、修正手段１３０は、次回以降に選択される動作モデルに対して一律に「厳密性を求めない」という修正方針を適用する。また、「以降、指摘されたポートを閉じる」という修正方針は、「厳密性を求める」という修正方針と同義である。ラジオボタン７２においてこの修正方針が指定された場合、修正手段１３０は、次回以降に選択される動作モデルに対して一律に「厳密性を求める」という修正方針を適用する。
【０１６７】
図３５に示す例では、ラジオボタン７１ａが指定されている。従って、修正手段１３０は、表示した動作モデルについては、指摘されたポート（２５番および５３番）をａｃｃｅｐｔのまま変更しない。また、図３５に示す例では、「以降、指摘されたポートを閉じない」という修正方針も指定されている。従って、修正手段１３０は、次回以降のステップＳ５２で選択された動作モデルについても、非変更対象ポート番号以外のポート番号のアクションをＤｒｏｐに変更する動作を行わない。
【０１６８】
図３５に示すＧＵＩから入力された方針に従って、ステップＳ５２で選択した動作モデルを修正した後、修正手段１３０は、その動作モデルに対して、内包領域があるかないかの判定（図２１に示すステップＳ７１と同様の判定）を行う。このとき、内包領域があったならば、修正手段１３０は、内包領域を削除するか否かの決定を作業者に促すＧＵＩを情報出力手段３００に表示させる。図３６は、このＧＵＩの一例を示す。図３６に例示するＧＵＩでは、選択されている動作モデル（模式図）を表示する。また、修正手段１３０は、内包領域を削除するか否かの方針を入力するラジオボタン７３もＧＵＩ内に表示する。図３６に示す例では、ラジオボタン７３を表示して、「指摘されたポリシーを削除する」または「指摘されたポリシーを削除しない」という方針のいずれかを指定できるようにしている。図３６に示す例において「指摘されたポリシー」とは、具体的には、「送信先アドレスが”192.168.1.2 ”であり、送信先ポート番号が２２番のパケットは、通過許可とする」という規則である。図３６に示す「指摘されたポリシーを削除する」という修正方針は、「冗長性を許さない」という修正方針と同義である。また、図３６に示す「指摘されたポリシーを削除しない」という修正方針は、「冗長性を許す」という修正方針と同義である。ただし、修正手段１３０は、図３６に示すラジオボタン７２で指定された修正を、ＧＵＩ内に表示された動作モデルのみに対して適用する。
【０１６９】
また、図３６に例示するＧＵＩでは、次回以降に選択される動作モデルに対して一律に適用する修正方針を入力するラジオボタン７４も備えている。ラジオボタン７４は、「以降、同様の冗長なポリシーを削除する」または、「以降、同様の冗長なポリシーを削除しない」という修正方針を指定可能としている。「以降、同様の冗長なポリシーを削除する」という修正方針は、「冗長性を許さない」という修正方針と同義である。ラジオボタン７４においてこの修正方針が指定された場合、修正手段１３０は、次回以降に選択される動作モデルに対して一律に「冗長性を許さない」という修正方針を適用する。また、「以降、同様の冗長なポリシーを削除しない」という修正方針は、「冗長性を許す」という修正方針と同義である。ラジオボタン７４においてこの修正方針が指定された場合、修正手段１３０は、次回以降に選択される動作モデルに対して一律に「冗長性を許す」という修正方針を適用する。
【０１７０】
図３６に示す例では、「指摘されたポリシーを削除する」という修正方針が指定されている。従って、修正手段１３０は、表示した動作モデルについては、内包領域となっているポート番号２２の領域およびポート番号２２のアクションを削除する。また、図３６に示す例では、「以降、同様の冗長なポリシーを削除する」という修正方針も指定されている。従って、修正手段１３０は、次回以降のステップＳ５２で選択された動作モデルについても、内包領域を削除する修正を行う。
【０１７１】
図３６に示すＧＵＩから入力された方針に従って、ステップＳ５２で選択した動作モデルを修正した後、修正手段１３０は、その動作モデルに対して、２つ以上の連続した領域があるか否かの判定（ステップＳ１１１と同様の判定）を行う。このとき、２つ以上の連続した領域があったならば、修正手段１３０は、２つ以上の連続した領域を１つの領域にまとめるか否かの決定を作業者に促すＧＵＩを情報出力手段３００に表示させる。図３７は、このＧＵＩの一例を示す。図３７に例示するＧＵＩでは、選択されている動作モデル（模式図）を表示する。また、修正手段１３０は、２つ以上の連続した領域を１つの領域にまとめるか否かの方針を入力するラジオボタン７５もＧＵＩ内に表示する。図３７に示す例では、ラジオボタン７５を表示して、「指摘されたポリシーをまとめる」または「指摘されたポリシーをまとめない」という方針のいずれかを指定できるようにしている。図３７に示す例において「指摘されたポリシー」とは、送信先ポート２０，２１，２２，２３それぞれの記述を含む規則である。図３７に示す「指摘されたポリシーをまとめる」という修正方針は、「効率性を重視する」という修正方針と同義である。また、図３７に示す「指摘されたポリシーをまとめない」という修正方針は、「効率性を重視しない」という修正方針と同義である。ただし、修正手段１３０は、図３７に示すラジオボタン７２で指定された修正を、ＧＵＩ内に表示された動作モデルのみに対して適用する。
【０１７２】
また、図３７に例示するＧＵＩでは、次回以降に選択される動作モデルに対して一律に適用する修正方針を入力するラジオボタン７６も備えている。ラジオボタン７６は、「以降、同様の連続したポリシーをまとめる」または、「以降、同様の連続したポリシーをまとめない」という修正方針を指定可能としている。「以降、同様の連続したポリシーをまとめる」という修正方針は、「効率性を重視する」という修正方針と同義である。ラジオボタン７６においてこの修正方針が指定された場合、修正手段１３０は、次回以降に選択される動作モデルに対して一律に「効率性を重視する」という修正方針を適用する。また、「以降、同様の連続したポリシーをまとめない」という修正方針は、「効率性を重視しない」という修正方針と同義である。ラジオボタン７６においてこの修正方針が指定された場合、修正手段１３０は、次回以降に選択される動作モデルに対して一律に「効率性を重視しない」という修正方針を適用する。
【０１７３】
図３７に示す例では、「指摘されたポリシーをまとめる」という修正方針が指定されている。従って、修正手段１３０は、表示した動作モデルについては、ポート番号２０，２１，２２，２３の各領域を１つにまとめる修正を行う。また、図３７に示す例では、「以降、同様の連続したポリシーをまとめる」という修正方針も指定されている。従って、修正手段１３０は、次回以降のステップＳ５２で選択された動作モデルについても、連続する複数の領域を１つの領域にまとめる修正を行う。
【０１７４】
なお、上記の説明では、１つの動作モデルについて、図３５、図３６および図３７に示すＧＵＩを順に表示するものして説明した。ただし、図３５、図３６および図３７では、説明の便宜上、異なる動作モデルを用いて説明した。例えば、図３６では、図３５のＧＵＩで指定された厳密性に関する修正後の動作モデルを表示することになるが、上記の説明では便宜上、別の動作モデルを図３６で示した。
【０１７５】
また、デフォルトのアクションに関する修正方針は、動作モデル毎に指定するよりも、全ての動作モデルに適用される修正方針を定める方が好ましい。すなわち、デフォルトのアクションに関する修正方針は、図３５〜図３７で示したようなＧＵＩによって指定するのではなく、図１８や図１９で説明した態様で指定することが好ましい。
【０１７６】
次に、設定情報化手段１４０による設定情報作成処理（ステップＳ６）について説明する。設定情報化手段１４０は、修正手段１３０によって修正された動作モデルを、修正後動作モデル記憶手段１０４から読み込む。なお、修正後動作モデル記憶手段１０４には０個以上の動作モデルが記憶されている。修正手段１３０は、読み込んだ動作モデルの中から１つの動作モデルを選択する。
【０１７７】
ネットワークアクセス制御装置は、ネットワークアクセス制御を行うソフトウェアを搭載していることが多い。このようなソフトウェアとして、例えば、「Ｆｉｒｅｗａｌｌ−１」や「Ｎｅｔｓｃｒｅｅｎ」等がある。また、ネットワークアクセス制御装置は、「ｉｐｃｈａｉｎｓ」や「ｉｐｔａｂｌｅｓ」等のパケットフィルタリングソフトウェアを搭載している場合もある。また、ネットワークアクセス制御装置は、「ｉｎｅｔｄ」や「ｘｉｎｅｔｄ」等のネットワークサービススーパサーバソフトウェアを搭載している場合もある。なお、個々に例示した「Ｆｉｒｅｗａｌｌ−１」、「Ｎｅｔｓｃｒｅｅｎ」、「ｉｐｃｈａｉｎｓ」、「ｉｐｔａｂｌｅｓ」、「ｉｎｅｔｄ」および「ｘｉｎｅｔｄ」は、いずれもソフトウェアの名称である。設定情報化手段１４０が、修正後の動作モデルから各種ネットワークアクセス制御装置（またはその装置に搭載されているソフトウェア）に固有の設定情報を作成する。既に述べたように、設定情報は、ネットワークアクセス制御装置の動作を規定する情報である。
【０１７８】
設定情報化手段１４０は、設定情報を作成する際、ネットワークアクセス制御装置に固有の書式で記述される設定情報を作成するための変換規則を変換規則記憶手段１５０から呼び出す。変換規則は、修正後の動作モデルをネットワークアクセス制御装置に固有の設定情報に変換するための規則である。
【０１７９】
図３８は、変換規則の例を示す。本例では、「ｉｐｔａｂｌｅｓ」に従って処理を実行するネットワークアクセス制御装置の設定情報を作成するための変換規則を示している。図３８に示す変換規則の１行目は、「ｉｐｔａｂｌｅｓ」を用いる際に必ず記述される行である。２行目は、デフォルトのアクション（ＡｃｃｅｐｔかＤｒｏｐか）が記述される行である。３行目以降には、個々のポート番号の領域毎に、その領域に関するアクションが記述される。３行目以降の記述によるアクションが適用されない場合には、２行目に記述されたデフォルトのアクションが適用される。
【０１８０】
図３８に示すように変換規則において「$$」という記号とともに記述された項目は、内容が未確定の項目である。設定情報化手段１４０は、動作モデルに含まれるデータを抽出し、変換規則内の未確定の項目をそのデータに置き換え、動作モデルを設定情報に変換する。この結果、設定情報化手段１４０は、設定情報を作成することになる。図３９は、変換規則に定められた未確定の部分と、動作モデル内に含まれるデータとの対応関係の例を示す。すなわち、変換規則のどの箇所を動作モデル内のどのデータに置き換えればよいのかを示している。図３９に示すように、設定情報化手段１４０は、「$$default_policy」を、動作モデルにおけるデフォルトのアクションを示す「1-65535（デフォルト）」の値に置き換えればよい。同様に、設定情報化手段１４０は、「$$protocol」を、動作モデル内の「プロトコル」の値（ｔｃｐまたはｕｄｐ）に置き換えればよい。また、設定情報化手段１４０は、「$$source」を、動作モデル内の「送信元」の値に置き換えればよい。設定情報化手段１４０は、「$$destination 」を、動作モデル内の「対象アドレス（送信先）」の値に置き換えればよい。設定情報化手段１４０は、「$$dst_port」を、「領域の範囲」、すなわち個々のポート番号の範囲（例えば２０〜２３等の範囲）に置き換えればよい。設定情報化手段１４０は、「$$action」を、「領域に対するアクション」、すなわち個々のポート番号の範囲に対応するアクションに置き換えればよい。例えば、図１７に示す動作モデルを、図３８に示す変換規則に従って設定情報に変換すると、図４０に示す設定情報が得られる。
【０１８１】
このように、設定情報化手段１４０は、変換規則内の未確定の項目を、動作モデルに含まれる各データで置き換えることにより設定情報を作成する。
【０１８２】
なお、図４０では、図１７に示す１つの動作モデルから作成された設定情報を示している。複数の動作モデルから設定情報を作成してもよい。このとき、その複数の動作モデルにおけるデフォルトのアクションが共通であるならば、図３８に示す変換規則の１行目および２行目に対応する記述は、複数の動作モデルで共通化してもよい。すなわち、動作モデルが複数存在したとしても、設定情報内には、図３８に示す変換規則の１行目および２行目に対応する記述がそれぞれ１行ずつ含まれていてもよい。
【０１８３】
また、ここでは、変換規則内の未確定の項目を、動作モデルに含まれる各データで置き換えることにより設定情報を作成する場合を示したが、設定情報化手段１４０は、他の処理によって設定情報を作成してもよい。
【０１８４】
設定情報化手段１４０は、修正後の動作モデルを用いて設定情報を作成する。従って、動作モデルの修正方針は、設定情報にも反映されている。例えば、「冗長性を許す」、「厳密性を求める」、「デフォルトを禁止とする」、「効率性を重視する」等の各種方針は、設定情報にも反映される。
【０１８５】
設定情報化手段１４０は、作成した設定情報を情報出力手段３００に表示させる。ここでは、情報出力手段３００がディスプレイ装置である場合を例に説明しているが、情報出力手段３００としてプリンタ装置を備え、設定情報を印字出力してもよい。また、情報出力手段３００として、記憶媒体への情報の書き込みを行う記憶媒体のドライバ装置を備え、記録媒体に設定情報を書き込んでもよい。あるいは、情報出力手段３００として、ネットワークインタフェースを備え、ネットワークインタフェースおよび通信ネットワークを介して設定情報を他のコンピュータに送信してもよい。また、情報出力手段３００として、スピーカ等の音声出力装置を備え、設定情報を音声として出力してもよい。
【０１８６】
次に、本実施の形態の効果について説明する。本発明では、自然言語などで記述されたセキュリティポリシーから、ネットワークアクセス制御装置の種類に依存する記述とは独立したデータ構造によって表される動作モデルを作成する。動作モデルは、各装置に固有の書式で記載されてはいないので、「セキュリティポリシー作成者の意図の確認が困難」という問題を解決することができる。特に、模式図として表した動作モデルを表示することにより、より明確にセキュリティポリシー作成者の意図を提示することができる。さらに、作成者毎にセキュリティポリシーの設計指針が異なってしまったとしても、「セキュリティポリシー作成者の意図の確認が困難」という問題が解決されることにより、保守作業が困難になってしまうことを防止できる。すなわち、「一貫性保持が困難」という問題も解決できる。
【０１８７】
また、自然言語などで記述されたセキュリティポリシーに、項目の漏れや省略があったとしても、ポリシー正規化手段１１０が、漏れや省略のあった項目を補う。漏れや省略があるセキュリティポリシーが入力されたとしても、そのセキュリティポリシーから動作モデルを作成することができる。
【０１８８】
また、修正手段１３０が、作業者の所望の修正方針に応じて動作モデルを修正するので、作業者の所望の設定情報を導出することができる。例えば、「効率性を重視する」という修正方針に従って動作モデルを修正することができる。その結果、修正後の動作モデルから作成された設定情報に従ってネットワークアクセス制御装置を動作させたときに、送信されたパケットの通過を許可するか禁止するかの判定を速めることができる。従って、装置の動作の効率性を向上させることができる。また、例えば、動作モデルのデフォルトのアクションを作業者の所望のアクションに変更することができ、その結果、設定情報においてもデフォルトのアクションを作業者の所望のアクションとすることができる。すなわち、作成される設定情報の記述形式に柔軟に定めることができる。
【０１８９】
また、「冗長性を許す」または「冗長性を許さない」という方針に応じて動作モデルを修正することにより、「冗長性を許す」または「冗長性を許さない」という方針に応じた設定情報を作成することができる。同様に、「厳密性を求める」または「厳密性を求めない」という方針に応じて動作モデルを修正することにより、「厳密性を求める」または「厳密性を求めない」という方針に応じた設定情報を作成することができる。
【０１９０】
上記の実施の形態において、作成された設定情報をまとめるように設定情報を再構成してもよい。設定情報をまとめるとは、例えば、設定情報の行数を少なくすることである。図４１は、セキュリティポリシーが入力されてから設定情報が再構成されるまでの処理経過の例を示す。図４１（ａ）に例示する自然言語で記述されたセキュリティポリシーが入力されたとする。図４１（ｂ）は、ポリシー正規化手段１１０がこのセキュリティポリシーを正規化した結果を示す。また、トポロジー情報に含まれるハードウェアとしては、ネットワークアドレス「192.168.1.1 」が割り当てられたハードウェアと、「192.168.1.1 」が割り当てられたハードウェアのみが記述されていたとする。図４１（ｃ）は、動作モデル作成手段１２０によって作成された各ハードウェアに対する動作モデルの例を示す。なお、この動作モデルには修正が行われなかったものとする。図４１（ｄ）は、設定情報化手段１４０が図４１（ｃ）に示す動作モデルに基づいて作成した設定情報の例を示す。本例では、図４１（ｃ）に示す２つの動作モデルにおけるデフォルトのアクションがともにＤｒｏｐであり、図３８に示す変換規則の１行目および２行目に対応する記述は図４１（ｄ）に示す設定情報内で共通化している。すなわち、動作モデルは２つ作成されているが、図３８に示す変換規則の１行目および２行目に対応する記述は、それぞれ１つずつしか記述していない。図４１（ｅ）では、図４１（ｄ）の３行目および４行目における送信先アドレスの記述を省略することにより、この３行目および４行目の記述を１行にまとめている。
【０１９１】
図４１（ｄ）の３行目および４行目の記述は、送信先アドレスのみが異なっていて、他の項目は共通である。また、トポロジー情報では、ハードウェアとして、「192.168.1.1 」が割り当てられたハードウェアと、「192.168.1.1 」が割り当てられたハードウェアのみが記述されている。従って、図４１（ｅ）に示すように、送信先アドレスの記述を省略して複数の行を１行にまとめたとしても、本例のトポロジー情報に含まれるハードウェアに対するアクセス制御は支障なく行える。このように、設定情報の行数を少なくするように設定情報を再構成してもよい。
【０１９２】
図４１では、動作モデルを修正しない場合を例に説明した。次に、図４２を用いて、動作モデルを修正する場合の設定情報の再構成の例を示す。図４２（ａ）は、動作モデル作成手段１２０によって作成された動作モデルの例を示す。本例では、３つの動作モデルが作成されたとする。各動作モデルでは、送信先ポート番号の領域が「２０〜２３」で共通になっているものとする。図４２（ｂ）は、修正手段１３０による修正後の動作モデルの例を示す。各動作モデルのポート番号は、それぞれ「２０」、「２１〜２３」、「２１〜２３」に修正されたとする。すなわち、修正後では、３つの動作モデルのうち２つの動作モデルのポート番号の領域が共通になっている。図４２（ｃ）は、修正後の動作モデルから作成された設定情報の例を示す。本例では、図４２（ｂ）に示す３つの動作モデルにおけるデフォルトのアクションがいずれもＤｒｏｐであり、図３８に示す変換規則の１行目および２行目に対応する記述は図４２（ｃ）に示す設定情報内で共通化している。すなわち、動作モデルは３つ作成されているが、図３８に示す変換規則の１行目および２行目に対応する記述は、それぞれ１つずつしか記述していない。
【０１９３】
図４２（ｄ）は、図４２（ｃ）に示す設定情報を再構成した例を示している。図４２（ｃ）に示す３行目の記述は、送信先ポート番号「２０」に関する記述であり、他の記述と送信先ポート番号の領域と異なっている。従って、図４２（ｃ）に示す３行目は、再構成後も同様に記述されている。図４２（ｃ）に示す４行目および５行目では、送信先ポート番号の記述が共通である。また、図４２（ｃ）の４行目に記述されている送信先「192.168.1.2 」と、図４２（ｃ）の５行目に記述されている送信先アドレス「192.168.1.3 」とはネットマスクを用いて表すことができる。図４２（ｃ）に示す４行目および５行目、は、送信先アドレスのみが異なり、２つの送信先アドレスはネットマスクを用いてまとめることができるので、この２つの行は、図４２（ｄ）に示す４行目のように１行にまとめることができる。
【０１９４】
図４１および図４２に示す例では、設定情報を作成後、設定情報を再構成する場合を示した。設定情報を作成する前に、設定情報の行数を少なくするように動作モデルを変更し、変更後の動作モデルから設定情報を作成してもよい。
【０１９５】
また、設定情報を再構成するか否かの決定を作業者に促し、再構成する旨の命令が入力された場合に、設定情報を再構成してもよい（あるいは、設定情報の行数を少なくするように動作モデルを変更し、その動作モデルから設定情報を作成してもよい）。
【産業上の利用可能性】
【０１９６】
本発明は、例えば、ファイアウォール、ルーター、あるいはパケットフィルタリングソフトウェアを搭載したネットワークアクセス制御装置の動作を表す動作モデルの作成に適用することができる。また、本発明は、ネットワークアクセス制御装置の動作を規定する設定情報を動作モデルに基づいて作成する装置等に適用することができる。
【図面の簡単な説明】
【０１９７】
【図１】本発明による動作モデル作成システムの一例を示すブロック図である。
【図２】動作モデル作成システムの動作の例を示すフローチャートである。
【図３】入力されるセキュリティポリシーの例を示す説明図である。
【図４】トポロジー情報の例を示す説明図である。
【図５】通信ネットワークの構成の一例を示す説明図である。
【図６】正規化に用いられる既定値の例を示す説明図である。
【図７】正規化処理を示すフローチャートである。
【図８】セキュリティポリシーを正規化した結果の例を示す説明図である。
【図９】入力されるセキュリティポリシーの例を示す説明図である。
【図１０】セキュリティポリシーを正規化した結果の例を示す説明図である。
【図１１】模式図として表した動作モデルの例を示す説明図である。
【図１２】動作モデルのデータ構造の例を示す説明図である。
【図１３】動作モデル作成処理を示すフローチャートである。
【図１４】動作モデルの作成過程における動作モデルの状態を示す説明図である。
【図１５】動作モデルの作成過程における動作モデルの状態を示す説明図である。
【図１６】動作モデルの作成過程における動作モデルの状態を示す説明図である。
【図１７】作成された動作モデルの例を示す説明図である。
【図１８】動作モデルの修正方針の入力を促す入力画面の一例を示す説明図である。
【図１９】ＸＭＬによって記述された修正方針の例を示す説明図である。
【図２０】動作モデル修正処理を示すフローチャートである。
【図２１】冗長性に関する修正処理を示すフローチャートである。
【図２２】冗長性に関する修正処理前の動作モデルの例を示す説明図である。
【図２３】冗長性に関する修正処理後の動作モデルの例を示す説明図である。
【図２４】厳密性に関する修正処理を示すフローチャートである。
【図２５】厳密性に関する修正処理過程における動作モデルの状態を示す説明図である。
【図２６】厳密性に関する修正処理過程における動作モデルの状態を示す説明図である。
【図２７】厳密性に関する修正処理後の動作モデルの例を示す説明図である。
【図２８】デフォルトに関する修正処理を示すフローチャートである。
【図２９】デフォルトに関する修正処理過程における動作モデルの状態を示す説明図である。
【図３０】デフォルトに関する修正処理過程における動作モデルの状態を示す説明図である。
【図３１】デフォルトに関する修正処理後の動作モデルの例を示す説明図である。
【図３２】効率性に関する修正処理を示すフローチャートである。
【図３３】効率性に関する修正処理前の動作モデルの例を示す説明図である。
【図３４】効率性に関する修正処理後の動作モデルの例を示す説明図である。
【図３５】動作モデル毎の個別の修正方針の入力を促すＧＵＩの例を示す説明図である。
【図３６】動作モデル毎の個別の修正方針の入力を促すＧＵＩの例を示す説明図である。
【図３７】動作モデル毎の個別の修正方針の入力を促すＧＵＩの例を示す説明図である。
【図３８】変換規則の例を示す説明図である。
【図３９】変換規則に定められた未確定の部分と、動作モデル内に含まれるデータとの対応関係の例を示す説明図である。
【図４０】作成された設定情報の例を示す説明図である。
【図４１】セキュリティポリシーが入力されてから設定情報が再構成されるまでの処理経過の例を示す説明図である。
【図４２】設定情報の再構成の他の例を示す説明図である。
【符号の説明】
【０１９８】
１００  動作モデル作成装置
１０１  ポリシー記憶手段
１０２  トポロジー記憶手段
１０３  動作モデル記憶手段
１０４  修正後動作モデル記憶手段
１１０  ポリシー正規化手段
１２０  動作モデル作成手段
１３０  修正手段
１４０  設定情報化手段
１５０  変換規則記憶手段
２００  ポリシー入力手段
２１０  トポロジー情報入力手段
２２０  修正方針入力手段
３００  情報出力手段
【図１】
2006005716.tif 000003
【図２】
2006005716.tif 000004
【図３】
2006005716.tif 000005
【図４】
2006005716.tif 000006
【図５】
2006005716.tif 000007
【図６】
2006005716.tif 000008
【図７】
2006005716.tif 000009
【図８】
2006005716.tif 000010
【図９】
2006005716.tif 000011
【図１０】
2006005716.tif 000012
【図１１】
2006005716.tif 000013
【図１２】
2006005716.tif 000014
【図１３】
2006005716.tif 000015
【図１４】
2006005716.tif 000016
【図１５】
2006005716.tif 000017
【図１６】
2006005716.tif 000018
【図１７】
2006005716.tif 000019
【図１８】
2006005716.tif 000020
【図１９】
2006005716.tif 000021
【図２０】
2006005716.tif 000022
【図２１】
2006005716.tif 000023
【図２２】
2006005716.tif 000024
【図２３】
2006005716.tif 000025
【図２４】
2006005716.tif 000026
【図２５】
2006005716.tif 000027
【図２６】
2006005716.tif 000028
【図２７】
2006005716.tif 000029
【図２８】
2006005716.tif 000030
【図２９】
2006005716.tif 000031
【図３０】
2006005716.tif 000032
【図３１】
2006005716.tif 000033
【図３２】
2006005716.tif 000034
【図３３】
2006005716.tif 000035
【図３４】
2006005716.tif 000036
【図３５】
2006005716.tif 000037
【図３６】
2006005716.tif 000038
【図３７】
2006005716.tif 000039
【図３８】
2006005716.tif 000040
【図３９】
2006005716.tif 000041
【図４０】
2006005716.tif 000042
【図４１】
2006005716.tif 000043
【図４２】
2006005716.tif 000044