(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024151570
(43)【公開日】2024-10-25
(54)【発明の名称】通信要件生成システムおよび通信要件生成方法
(51)【国際特許分類】
H04L 41/0803 20220101AFI20241018BHJP
H04L 41/12 20220101ALI20241018BHJP
H04L 41/5009 20220101ALI20241018BHJP
【FI】
H04L41/0803
H04L41/12
H04L41/5009
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023065024
(22)【出願日】2023-04-12
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】橋本 佳樹
(57)【要約】
【課題】通信要件を容易に生成し得る通信要件生成システムを提供する。
【解決手段】所定のネットワークにおいて通信を行うコンポーネント間の論理的な距離を算出するための定義情報を記憶する記憶部と、ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、記憶部により記憶される定義情報をもとに、コンポーネントとコンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離に基づいて、ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部と、ネットワークの運用者による確認を求める通信要件であると判定部により判定された通信要件を出力する出力部と、を設けるようにした。
【選択図】
図1
【特許請求の範囲】
【請求項1】
所定のネットワークにおいて通信を行うコンポーネント間の論理的な距離を算出するための定義情報を記憶する記憶部と、
前記ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、前記記憶部により記憶される定義情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離に基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部と、
前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力する出力部と、
を備える通信要件生成システム。
【請求項2】
前記ネットワークにおいて通信を行うコンポーネントのセキュリティの強度を示すセキュリティレベルを決定する決定部と、
前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントのセキュリティレベルの判定に用いられる情報を入力する入力部と、を備え、
前記記憶部は、前記ネットワークにおいて通信を行うコンポーネントのセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報を記憶し、
前記決定部は、前記入力部により入力された前記ネットワークに接続されるコンポーネントの情報と、前記記憶部により記憶されているセキュリティレベル条件情報とから、前記コンポーネントのセキュリティレベルを決定し、
前記判定部は、前記コンポーネントに係る複数の通信要件の各々について、前記コンポーネントのセキュリティレベルに基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定する、
請求項1に記載の通信要件生成システム。
【請求項3】
前記記憶部は、セキュリティレベルごとに、前記ネットワークに接続されるコンポーネントに設定されるセキュリティコストを示す第1のセキュリティコスト情報と、前記コンポーネントの通信を許可するか否かを判定するための閾値を示す閾値情報と、を記憶し、
前記記憶部は、前記ネットワークを介した通信に係る論理構造をツリー構造により表現した際の各構成要素であるノードを示すノード情報と、前記ツリー構造におけるノードに設定されるセキュリティコストを示す第2のセキュリティコスト情報と、を記憶し、
前記判定部は、前記決定部により決定された前記ネットワークに接続されるコンポーネントのセキュリティレベルに対応する第1のセキュリティコスト情報と閾値情報とを前記記憶部から読み出し、前記コンポーネントに係る複数の通信要件の各々について、
前記記憶部により記憶されているノード情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの通信に係るノードを特定し、
前記第1のセキュリティコスト情報と前記記憶部により記憶されている第2のセキュリティコスト情報とをもとに、特定したノードのセキュリティコストを合計して通信要件のセキュリティコストを算出し、
算出した通信要件のセキュリティコストが前記閾値情報の閾値を超える通信要件を、前記ネットワークの運用者による確認を求める通信要件であると判定する、
請求項2に記載の通信要件生成システム。
【請求項4】
前記ネットワークにおけるコンポーネント間の通信を制御するホストを備え、
前記ネットワークの運用者により通信を許可するか否かが確認された前記ネットワークに接続されるコンポーネントの通信要件が、前記コンポーネントのファイアウォールの設定情報に設定され、
前記ホストは、前記コンポーネントからパケットを受け取った場合、前記設定情報に基づいて、前記コンポーネントと前記通信相手のコンポーネントとの通信を制御する、
請求項3に記載の通信要件生成システム。
【請求項5】
前記ホストは、前記コンポーネントからパケットを受け取った場合、
前記パケットの宛先である前記コンポーネントの通信相手のコンポーネントを特定し、前記記憶部により記憶されているノード情報をもとに、前記コンポーネントと前記通信相手のコンポーネントとの通信に係るノードを特定し、
前記コンポーネントのセキュリティレベルに対応した第1のセキュリティコスト情報および前記記憶部により記憶されている第2のセキュリティコスト情報をもとに、特定したノードのセキュリティコストを合計して通信のセキュリティコストを算出し、
算出した通信のセキュリティコストが前記コンポーネントのセキュリティレベルに対応した閾値情報の閾値を超えるとき、前記設定情報に基づいて、前記コンポーネントの通信相手に前記パケットを転送する、または、前記パケットを遮断する、
請求項4に記載の通信要件生成システム。
【請求項6】
前記判定部は、前記記憶部によりノード情報が記憶されていない場合、ディレクトリサービスの情報を読み取り、読み取った情報をユーザ端末に出力し、前記ユーザ端末において修正された情報をノード情報として受け取り、
前記記憶部は、前記判定部が受け取ったノード情報を記憶する、
請求項3に記載の通信要件生成システム。
【請求項7】
前記出力部は、前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントが用いられる事業の業種と、前記コンポーネントの種別と、前記コンポーネントが扱うデータの種類と、前記コンポーネントによるインターネットを介した通信の有無との少なくとも1つを選択可能に入力するための画面を出力する、
請求項2に記載の通信要件生成システム。
【請求項8】
前記出力部は、前記判定部により判定された通信要件の通信を許可するか否かを入力するための画面を出力する、
請求項1に記載の通信要件生成システム。
【請求項9】
記憶部が、所定のネットワークにおいて通信を行うコンポーネント間の論理的な距離を算出するための定義情報を記憶することと、
判定部が、前記ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、前記記憶部により記憶される定義情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離に基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定することと、
出力部が、前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力することと、
を含む通信要件生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、通信要件を生成する技術に関する。
【背景技術】
【0002】
近年、クラウドサービスが普及したことにより、インターネット上に保護すべき対象がある状況が増えつつある。従来は、信頼できる内側と信頼できない外側にネットワーク(NW)が定義され、境界型ファイアウォール(FW)によりアクセス制御が行われている。しかしながら、保護すべき対象がさまざまな場所に点在するようになったことで内部と外部との境界が曖昧になり、従来のアクセス制御では十分な対策を講じることが難しくなりつつある。近時、内部NWについて無条件に信頼することはなく、内部NWの通信については分散型FW等によりアクセス制御が行われるゼロトラストが広まっている。
【0003】
また、企業においては、ビジネスシーンの変化が激しく、アプリケーションプログラム(APP)の追加、修正等を、より迅速に行うことが求められている。従来は、すべての機能がまとまったひとつの大きな塊としてAPPが設計されている。しかしながら、従来の開発手法では、迅速に要求に対応することができない。この点、巨大で複雑なAPPを機能(コンポーネント)ごとに効率よく開発できるマイクロサービスに注目が集まっている。マイクロサービスでは、個々のコンポーネントは依存関係が低く、それぞれのサービスの呼び出しは、NWを介して行われる。
【0004】
このように、ゼロトラストおよびマイクロサービスの流行により、NWに接続するコンポーネント数が増大し、コンポーネントごとに分散型FWが導入されるケースが増え、コンポーネント間の通信を示す通信要件を分散型FWに設定するNW運用者の負担が大きくなっている。
【0005】
この点、通信要件を自動で生成するネットワーク要件生成システムが開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載のネットワーク要件生成システムによれば、通信要件が自動で生成されるので、通信要件の生成の負担は低減される。しかしながら、生成された通信要件の全てについて通信を許可するかどうかをNW運用者が確認しなければならない問題がある。
【0008】
本発明は、以上の点を考慮してなされたもので、通信要件を容易に生成し得る通信要件生成システム等を提案しようとするものである。
【課題を解決するための手段】
【0009】
かかる課題を解決するため本発明においては、所定のネットワークにおいて通信を行うコンポーネント間の論理的な距離を算出するための定義情報を記憶する記憶部と、前記ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、前記記憶部により記憶される定義情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離に基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部と、前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力する出力部と、を設けるようにした。
【0010】
上記構成では、ネットワークに接続されるコンポーネントと通信相手のコンポーネントとの論理的な位置関係に応じて、ネットワークの運用者による確認を求める通信要件であるか否かが判定される。上記構成によれば、例えば、ネットワークに接続されるコンポーネントに係る複数の通信要件からネットワークの運用者による確認を求める通信要件に絞られるので、ネットワークの運用者によるファイアウォールへの通信要件の設定の負担を低減することができる。
【発明の効果】
【0011】
本発明によれば、通信要件生成システムの利便性を向上することができる。上記以外の課題、構成、および効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】第1の実施の形態による通信管理システムに係る構成の一例を示す図である。
【
図2】第1の実施の形態による通信要件生成システムに係るハードウェア構成の一例を示す図である。
【
図3】第1の実施の形態によるテンプレート情報の一例を示す図である。
【
図4】第1の実施の形態によるセキュリティレベル情報の一例を示す図である。
【
図5】第1の実施の形態によるノード情報の一例を示す図である。
【
図6】第1の実施の形態によるツリー構造の一例を示す図である。
【
図7】第1の実施の形態による通信要件生成処理の一例を示す図である。
【
図8】第1の実施の形態による通信要件生成処理の一例を示す図である。
【
図9】第1の実施の形態による入力画面の一例を示す図である。
【
図10】第1の実施の形態による入力画面の一例を示す図である。
【
図11】第1の実施の形態によるセキュリティコストリストの一例を示す図である。
【
図12】第1の実施の形態による確認画面の一例を示す図である。
【
図13】第1の実施の形態によるFW設定情報の一例を示す図である。
【
図14】第1の実施の形態による通信管理の一例を示す図である。
【
図15】第2の実施の形態によるパケット制御処理の一例を示す図である。
【
図16】第3の実施の形態によるツリー構造生成処理の一例を示す図である。
【発明を実施するための形態】
【0013】
(I)第1の実施の形態
以下、本発明の一実施の形態を詳述する。ただし、本発明は、実施の形態に限定されるものではない。
【0014】
本実施の形態の通信要件生成システムは、コンポーネントの情報に基づいてコンポーネントのセキュリティレベルを決定する。また、通信要件生成システムは、コンポーネント間の論理的な距離が規定されたツリー構造をもとに、NWに接続されるコンポーネントと当該コンポーネントの通信相手のコンポーネントとの論理的な遠さを特定し、決定したセキュリティレベルと特定した論理的な遠さとの少なくとも1つに基づいて、複数の通信要件の中からNW運用者による確認を求める通信要件(例えば、セキュリティリスクが高い通信要件)を識別して出力する。
【0015】
コンポーネントは、NWに通信可能に接続されるソフトウェアまたはハードウェアであり、APP、APPの機能、所定の端末等である。コンポーネントの情報は、業種と、コンポーネントの種別と、コンポーネントが扱うデータの種類(個人情報、機密情報等)と、インターネット通信の有無との少なくとも1つ、コンポーネントのふるまい(例えば、コンポーネントによるリソースの使用状況)等である。
【0016】
コンポーネント間の論理的な遠さは、コンポーネント間の遠さを物理的な遠さ(スイッチ、ルータ等の経由数)でなく、コンポーネント間のノードの数や、各ノードのセキュリティコストを加味して算出した値である。ノードは、企業内のコンポーネントの論理構造をツリー構造で表現した際の各構成要素であり、会社、部署、システム等である。セキュリティコストは、セキュリティリスクを評価するための値であり、例えば、セキュリティレベルに対応して定義された数値であって、コンポーネント間の通信が各ノードを通過する際に加算される数値である。セキュリティレベルは、各ノードの特性に応じて定める、各ノードのセキュリティの強度の度合いである。
【0017】
上記構成によれば、例えば、NWに接続されるコンポーネントと通信相手のコンポーネントとが論理的に遠いと識別された通信要件が出力されるので、セキュリティリスクが高い通信要件の通信の可否をNW運用者が容易に選定することができ、NW運用者による分散型FWへの設定の負担を低減することができる。
【0018】
ここで、NWに接続されるコンポーネントのセキュリティレベルがコンポーネントの開発者により自由に設定されると、分散型FWの設定が企業のセキュリティポリシに適さなくなってしまう。
【0019】
この点、本通信要件生成システムは、コンポーネントの開発者により入力されたコンポーネントの情報をもとに、通信要件のセキュリティレベルを決定する。通信要件生成システムは、セキュリティレベルと論理的な遠さとに基づいて、NW運用者による確認を求める通信要件を識別する。上記構成によれば、NWに接続されるコンポーネントのセキュリティレベルが自動で設定されるので、分散型FWの設定が企業のセキュリティポリシに適さなくなる事態を回避することができる。
【0020】
また、NWに接続されるコンポーネントのセキュリティレベルが決定されたとしても、通信要件に対してセキュリティレベルを反映し、分散型FWに設定すべき内容を判断しなければならない問題がある。
【0021】
この点、本通信要件生成システムは、当該コンポーネントのセキュリティレベルを考慮した上で、NWに接続されるコンポーネントと当該コンポーネントの通信相手との間のセキュリティコストを算出し、各通信要件についてNW運用者による確認を求める通信要件であるか否かを判定する。上記構成によれば、当該コンポーネントのセキュリティレベルに基づき算出された、当該コンポーネントと通信相手とのセキュリティコストを加味し、NW運用者による確認を求める通信要件が判定されるので、セキュリティレベルが反映された通信要件をNW運用者が容易に確認することができる。
【0022】
なお、本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は、文脈ごとに用いられ、1つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0023】
次に、本発明の実施の形態を図面に基づいて説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。例えば、コンポーネントについてはAPPと記したり、分散型FWについては、FWと記したり、仮想NWについてはNWと記したりする。また、本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は、単数でも複数でも構わない。なお、以下の説明では、図面において同一要素については、同じ番号を付し、説明を適宜省略する。
【0024】
図1は、本実施の形態に係る通信管理システム100に係る構成の一例を示す図である。
【0025】
通信管理システム100は、所定のNWに接続されるAPPによる通信を管理するためのシステムであり、通信要件生成システム110と、通信要件受付部120と、通信要件設定部130とを含んで構成される。
【0026】
通信要件生成システム110は、物理マシン、仮想マシン、クラウドシステム等であり、入力部111と、決定部112と、判定部113と、出力部114と、記憶部115とを含んで構成される。通信要件生成システム110に係るハードウェア構成については、
図2を用いて詳細を説明する。
【0027】
入力部111は、APP開発者から指示された各種の情報を入力したり、NW運用者から指示された各種の情報を入力したりする。例えば、入力部111は、APPのセキュリティレベルに関する情報であるAPP情報116、仮想マシンファイル、コンテナイメージといったAPPイメージ117等を入力する。なお、APP情報116の入力に係るテンプレート情報については、
図3を用いて詳細を説明する。
【0028】
決定部112は、セキュリティレベル情報118を用いて、APP情報116およびAPPのふるまいを示す情報の少なくとも1つから、APPのセキュリティレベルを決定する。以下では、APP情報116を用いてAPPのセキュリティレベルを決定する態様について主に説明する。
【0029】
ここで、APPのふるまいを示す情報は、APPが受信または送信するパケットのトラフィック量、TCP(Transmission Control Protocol)のコネクション数、APPが使用するリソース(CPU、メモリ、ディスク等)のリソース量等である。なお、リソース量は、コンポーネントを新規に追加するときは予測値であってもよいし、コンポーネントを移動するときは実測値であってもよい。付言するならば、決定部112は、リソース量が大きいほど、重要なAPPであると判断し、APPのセキュリティレベルを高く設定してもよい。セキュリティレベル情報118については、
図4を用いて詳細を説明する。
【0030】
判定部113は、ノード情報119等を用いて、通信要件受付部120により受け付けられた通信要件150(入力)からNW運用者による確認を求める通信要件160(出力)に変換する。例えば、判定部113は、各通信要件のセキュリティコストと無条件に許可される通信コストとを比較し、セキュリティコストが小さいと判定した通信要件を、予め無条件に許可されていると想定して削除し、セキュリティコストが大きいと判定した通信要件を通信要件160とする。ノード情報119については、
図5および
図6を用いて詳細を説明する。
【0031】
ここで、通信要件150および通信要件160に示すように、通信要件は、項番(#)と送信元と宛先とサービスとの情報を含んで構成される。項番の情報は、通信要件を識別するための識別情報である。送信元の情報は、通信の送信元を示す情報(名称、IPアドレス等)である。宛先の情報は、通信の送信先(宛先)を示す情報(名称、IPアドレス等)である。サービスの情報は、通信に用いられるサービスを識別する情報(例えば、OSI参照モデルの第4層のプロトコルであるL4プロトコル(TCP/UDP)およびポート番号)である。
【0032】
出力部114は、判定部113により変換された通信要件160の情報を出力する。通信要件160については、出力された通信要件160の情報をもとにNW運用者によって最終判断(例えば、通信要件の通信を許可するか否かの入力)が行われる。そして、出力部114は、NW運用者によって最終判断が行われた通信要件を通信要件設定部130に出力する。
【0033】
通信要件受付部120は、ユーザにより生成された通信要件121(ユーザ)と、所定のシステムにより生成された通信要件122(システム)との少なくとも1つを受け付ける。通信要件受付部120は、受け付けた通信要件121および/または通信要件122を通信要件150として通信要件生成システム110に送信する。
【0034】
通信要件設定部130は、ホスト131と、FW設定システム132とを含んで構成される。ホスト131は、所定のNW(例えば、仮想NW)および所定のFW(例えば、分散型FW)を実現するソフトウェアおよび/またはハードウェアである。ホスト131は、クラウドサービス、ハイパーバイザ、ランタイム等であってよい。FW設定システム132は、通信要件生成システム110により出力された通信要件を、ホスト131が通信を制御する際に参照する後述のFW設定情報に設定する。
【0035】
図2は、通信要件生成システム110に係るハードウェア構成の一例を示す図である。
【0036】
通信要件生成システム110は、NW201を介して、ユーザ端末202、NW機器203、FW設定システム132等と通信可能に接続されている。ユーザ端末202は、APP開発者、NW運用者等が操作する端末である。NW機器203は、所定のNW、ホスト131等を提供する機器である。なお、NW機器203は、NW201を構成する機器であってもよい。
【0037】
通信要件生成システム110は、プロセッサ211と、メモリ212と、記憶装置213と、入力IF214と、出力IF215と、通信IF216とを含んで構成される。
【0038】
プロセッサ211は、演算処理を行う装置である。プロセッサ211は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、AI(Artificial Intelligence)チップ等である。
【0039】
メモリ212は、プログラム、データ等を記憶する装置である。メモリ212は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等である。ROMは、SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等である。RAMは、DRAM(Dynamic Random Access Memory)等である。
【0040】
記憶装置213は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置等である。光学式記憶装置は、CD(Compact Disc)、DVD(Digital Versatile Disc)等である。記憶装置213に格納されているプログラム、データ等は、メモリ212に随時読み込まれる。
【0041】
入力IF214は、ユーザから情報を受け付けるユーザインターフェースである。入力IF214には、キーボード221、マウス222、カードリーダ、タッチパネル等の入力デバイスが接続される。
【0042】
出力IF215は、各種の情報を出力(表示出力、音声出力、印字出力、通信等)するユーザインターフェースである。出力IF215には、表示装置231、音声出力装置(スピーカ)、印字装置、通信装置等の出力デバイスが接続される。
【0043】
通信IF216は、NW201等の通信媒体を介して他の装置と通信する通信インターフェースである。通信IF216は、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Bus)モジュール、シリアル通信モジュール等である。
【0044】
ここで、通信要件生成システム110の機能(入力部111、決定部112、判定部113、出力部114、記憶部115等)は、例えば、プロセッサ211が記憶装置213に格納されたプログラムをメモリ212に読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。なお、通信要件生成システム110の1つの機能は、複数の機能に分けられていてもよいし、複数の機能は、1つの機能にまとめられていてもよい。また、通信要件生成システム110の機能の一部は、別の機能として設けられてもよいし、他の機能に含められていてもよい。また、通信要件生成システム110の機能の一部は、通信要件生成システム110と通信可能な他のコンピュータにより実現されてもよい。例えば、通信要件生成システム110は、ホスト131を含んで構成されてもよい。
【0045】
図3は、APP情報116の入力に係るテンプレート情報の一例(テンプレートテーブル300)を示す図である。
【0046】
テンプレートテーブル300は、ユーザ端末202を介して入力されるAPP情報116の入力画面を生成するための情報を記憶する。より具体的には、テンプレートテーブル300は、項番301(#)と、概要302と、ユーザ入力内容303と、セキュリティレベル適用例304との情報が対応付けられたレコードを記憶する。
【0047】
項番301には、レコード(ユーザ入力内容303の情報)を識別するための識別情報が格納される。概要302には、ユーザ入力内容303の概要を示す情報が格納される。ユーザ入力内容303には、APPのセキュリティレベルの判定に用いられる情報を入力(例えば、選択可能に入力)するための情報が格納される。セキュリティレベル適用例304には、ユーザ入力内容303の情報が選択されたときに適用されるセキュリティレベルの例を示す情報が格納される。
【0048】
テンプレートテーブル300の構成は、上述の内容に限るものではなく、上述したデータ項目の一部が含まれていなくてもよいし、他のデータ項目が含まれていてもよい。例えば、テンプレートテーブル300には、概要302およびセキュリティレベル適用例304が含まれていなくてもよい。
【0049】
図4は、セキュリティレベル情報118の一例(セキュリティレベルテーブル400)を示す図である。
【0050】
セキュリティレベルテーブル400は、セキュリティレベルに係る情報を記憶する。より具体的には、セキュリティレベルテーブル400は、項番401(#)と、セキュリティレベル402と、概要403と、条件404と、APPセキュリティコスト405と、通信許可セキュリティコスト406との情報が対応付けられたレコードを記憶する。
【0051】
項番401には、レコード(セキュリティレベル402の情報)を識別するための識別情報が格納される。セキュリティレベル402には、セキュリティレベルを示す情報(「高」「中」「低」、「1」「2」「3」・・・、等)が格納される。概要403には、セキュリティレベルの概要を示す情報が格納される。条件404には、セキュリティレベルに該当する条件を示す情報が格納される。APPセキュリティコスト405には、APPに付与されるセキュリティコストの値を示す情報が格納される。通信許可セキュリティコスト406には、無条件に通信が許可されるセキュリティコストの値(閾値)を示す情報が格納される。
【0052】
セキュリティレベルテーブル400の構成は、上述の内容に限るものではなく、上述したデータ項目の一部が含まれていなくてもよいし、他のデータ項目が含まれていてもよい。例えば、セキュリティレベルテーブル400には、概要403が含まれていなくてもよい。
【0053】
図5は、ノードに係る情報を含むノード情報119の一例(ノードテーブル500)を示す図である。
【0054】
ノードテーブル500は、リレーショナルデータベース(RDB)によりツリー構造を実現するための情報を記憶する。本実施の形態では、RDBによりツリー構造を表現するためのデータモデルとして隣接リストモデルを示しているが、経路列挙モデル、閉包テーブルモデル、入れ子集合モデル等であってもよい。より具体的には、ノードテーブル500は、項番501(#)と、ノード502と、親ノード503と、セキュリティコスト504との情報が対応付けられたレコードを記憶する。
【0055】
項番501には、レコード(ノード502の情報)を識別するための識別情報が格納される。ノード502には、ノードを示す情報が格納される。親ノード503には、ノード502のノードの親ノードを示す情報が格納される。セキュリティコスト504には、ノード502のノードに付与されるセキュリティコストの値を示す情報が格納される。
【0056】
図6は、ツリー構造の一例(ツリー構造600)を示す図である。
【0057】
ツリー構造600は、所定のNWの構造を示す情報であり、ノード(節点、頂点)とノード間を結ぶエッジ(枝、辺)とで表され、かつ、根を1つのみ持つツリーである。より具体的には、ツリー構造600は、根ノード601と、枝ノード602と、葉ノード603とを含んで構成される。根ノード601は、最上位に位置する、親ノードを持たないノードであり、インターネット等のNW構造の根である。枝ノード602は、1つ以上の子ノードを持つノードであり、企業内の部署、システム等の、APPをまとめる論理的なグループ(上にいくほど広いグループ)である。葉ノード603は、末端に位置する、子ノードを持たないノードであり、APP、サーバ装置、ユーザ端末等である。なお、本実施の形態では、各ノードには、セキュリティコストが設定されていて、
図6の各ノードの括弧内の数字は、セキュリティコストを示している。
【0058】
図7および
図8は、通信要件生成処理の一例を示す図である。
【0059】
ステップS701では、入力部111は、入力デバイス、ユーザ端末202等を介して、所定のNWに接続されるAPPのAPP情報116を入力する。
【0060】
ステップS702では、入力部111は、入力デバイス、ユーザ端末202等を介して、所定のNWに接続されるAPPのAPPイメージ117を入力する。
【0061】
例えば、APP開発者は、ユーザ端末202に表示された入力画面を介してAPP情報116およびAPPイメージ117を入力する。入力部111は、当該APP情報116およびAPPイメージ117をユーザ端末202から受信し、受信したAPP情報116およびAPPイメージ117を格納(記憶)する。なお、APP情報116およびAPPイメージ117の入力に係る入力画面については、
図9を用いて詳細を説明する。
【0062】
ステップS703では、入力部111は、入力デバイス、通信要件受付部120、ユーザ端末202等を介して、APPの通信要件150を入力する。例えば、APP開発者は、ユーザ端末202に表示された入力画面を介して通信要件150を入力し、入力部111は、当該通信要件150をユーザ端末202から受信する。なお、通信要件150の入力に係る入力画面については、
図10を用いて詳細を説明する。
【0063】
ステップS704では、入力部111は、セキュリティレベル(例えば、セキュリティレベルテーブル400のセキュリティレベル402の値)が定義されているか否かを判定する。入力部111は、セキュリティレベルが定義されていないと判定した場合、ステップS705に処理を移し、セキュリティレベルが定義されていると判定した場合、ステップS706に処理を移す。
【0064】
ステップS705では、入力部111は、入力デバイス、ユーザ端末202等を介して、セキュリティレベルを入力する。例えば、NW運用者は、ユーザ端末202を介してセキュリティレベルテーブル400のセキュリティレベル402の値を入力し、入力部111は、入力された値をセキュリティレベルテーブル400のセキュリティレベル402に格納する。
【0065】
ステップS706では、入力部111は、セキュリティレベルの判定に用いる条件であるセキュリティレベルの判定条件(例えば、セキュリティレベルテーブル400の条件404の値)が定義されているか否かを判定する。入力部111は、セキュリティレベルの判定条件が定義されていないと判定した場合、ステップS707に処理を移し、セキュリティレベルの判定条件が定義されていると判定した場合、ステップS708に処理を移す。
【0066】
ステップS707では、入力部111は、セキュリティレベルの判定条件を入力する。例えば、NW運用者は、ユーザ端末202を介してセキュリティレベルテーブル400の条件404の値(条件、関数等)を入力し、入力部111は、入力された値をセキュリティレベルテーブル400の条件404に格納する。
【0067】
ステップS708では、入力部111は、セキュリティレベルに対応したセキュリティコスト(例えば、セキュリティレベルテーブル400のAPPセキュリティコスト405と通信許可セキュリティコスト406との値)が定義されているか否かを判定する。入力部111は、セキュリティレベルに対応したセキュリティコストが定義されていないと判定した場合、ステップS709に処理を移し、セキュリティレベルに対応したセキュリティコストが定義されていると判定した場合、ステップS710に処理を移す。
【0068】
ステップS709では、入力部111は、セキュリティレベルに対応したセキュリティコストを入力する。例えば、NW運用者は、ユーザ端末202を介してセキュリティレベルテーブル400のAPPセキュリティコスト405と通信許可セキュリティコスト406との値を入力し、入力部111は、入力された値をセキュリティレベルテーブル400のAPPセキュリティコスト405と通信許可セキュリティコスト406とに格納する。
【0069】
ステップS710では、決定部112は、APP情報116とセキュリティレベルテーブル400とに基づいて、APPのセキュリティレベルを決定(判定)する。
【0070】
例えば、決定部112は、所定のNWに接続されるAPPのAPP情報116を読み出し、読み出したAPP情報116がセキュリティレベルテーブル400の条件404を満たすセキュリティレベルテーブル400のレコードを特定し、特定したレコードのセキュリティレベル402の値を読み出し、読み出した値をAPPのセキュリティレベルとして決定する。
【0071】
ステップS711では、入力部111は、ツリー構造(例えば、ノードテーブル500のノード502および親ノード503の値)が定義されているか否かを判定する。入力部111は、ツリー構造が定義されていないと判定した場合、ステップS712に処理を移し、ツリー構造が定義されていると判定した場合、ステップS713に処理を移す。
【0072】
ステップS712では、入力部111は、入力デバイス、ユーザ端末202等を介して、ツリー構造を入力する。例えば、NW運用者は、ユーザ端末202を介して、ツリー構造の各ノードについてノードテーブル500のノード502と親ノード503との値を入力する。入力部111は、入力された値をノードテーブル500のノード502と親ノード503とに格納する。
【0073】
ステップS713では、入力部111は、入力デバイス、ユーザ端末202等を介して、所定のNWに接続されるAPPをツリー構造において定義するために、ツリー構造におけるノードとしてのAPPの位置を入力する。例えば、NW運用者は、ユーザ端末202を介して、APPがツリー構造600におけるノードを示すようにノードテーブル500のノード502と親ノード503との値を入力する。入力部111は、入力された値をノードテーブル500のノード502と親ノード503とに設定したレコードを格納(追加)する。なお、この際、入力部111は、ステップS710において決定されたAPPのセキュリティレベルをもとに、当該セキュリティレベルに対応するセキュリティレベルテーブル400のレコードを特定し、特定したレコードのAPPセキュリティコスト405の値を読み出し、読み出した値を、追加したレコードのセキュリティコスト504に格納してもよい。
【0074】
ステップS714では、入力部111は、各ノードのセキュリティコスト(例えば、ノードテーブル500のセキュリティコスト504の値)が定義されているか否かを判定する。入力部111は、各ノードのセキュリティコストが定義されていないと判定した場合、ステップS715に処理を移し、各ノードのセキュリティコストが定義されていると判定した場合、ステップS801に処理を移す。
【0075】
ステップS715では、入力部111は、入力デバイス、ユーザ端末202等を介して、各ノードのセキュリティコストを入力する。例えば、NW運用者は、ユーザ端末202を介して、根ノード601と枝ノード602とについてノードテーブル500のセキュリティコスト504の値を入力する。入力部111は、入力された値を、ノードテーブル500のレコードのセキュリティコスト504に格納する。また、入力部111は、葉ノード603についてノードテーブル500のセキュリティコスト504の値を葉ノード603のセキュリティレベルをもとに決定し、決定した値をノードテーブル500のセキュリティコスト504に格納する。例えば、入力部111は、ステップS710において決定されたAPP(葉ノード603)のセキュリティレベルをもとに、当該セキュリティレベルに対応するセキュリティレベルテーブル400のレコードを特定し、特定したレコードのAPPセキュリティコスト405の値を葉ノード603のセキュリティレベルとして決定する処理を葉ノード603ごとに実行する。
【0076】
ステップS801では、判定部113は、全ての通信要件150のセキュリティコストを算出するまで、ステップS802からステップS804までを繰り返す。
【0077】
ステップS802では、判定部113は、ユーザによって入力された通信要件150の1つを取り出す。
【0078】
ステップS803では、判定部113は、ノードテーブル500を参照し、取り出した通信要件のセキュリティコスト(送信元のAPPと宛先のAPPとの間のセキュリティコスト)を算出し、算出したセキュリティコストを、取り出した通信要件に対応付けて記憶する。
【0079】
例えば、判定部113は、ツリー構造600をもとに、所定のアルゴリズム(例えば、幅優先探索および双方向探索)により、APP間の最短の経路を特定する。続いて、判定部113は、経路中に含まれるノードのセキュリティコストの和を算出し、算出した値を通信要件のセキュリティコストとして記憶する。より具体的には、判定部113は、取り出した通信要件の送信元が「アプリC」であり、宛先が「DNS」である場合、経路「アプリC→Zシステム→Y部署→X社内→DNS」を特定する。そして、判定部113は、各ノードのセキュリティコストの和「10(=1+1+2+5+1)」を算出し、算出した値をセキュリティコストリストに登録する。セキュリティコストリストについては、
図11を用いて詳細を説明する。
【0080】
ステップS804では、判定部113は、セキュリティコストを算出していない通信要件が存在するか否かを判定する。判定部113は、存在すると判定した場合、ステップS802に処理を移し、存在しないと判定した場合、ステップS805に処理を移す。
【0081】
ステップS805では、判定部113は、所定のNWに接続されるAPPのセキュリティレベルに対応した、無条件に通信が許可されるセキュリティコストの値「N」を特定する。例えば、判定部113は、ステップS710において決定されたAPPのセキュリティレベルをもとに、当該セキュリティレベルに対応するセキュリティレベルテーブル400のレコードを特定し、特定したレコードの通信許可セキュリティコスト406の値を読み出し、読み出した値を「N」とする。
【0082】
ステップS806では、判定部113は、全ての通信要件150の出力有無を判定するまで、ステップS807からステップS811までを繰り返す。
【0083】
ステップS807では、判定部113は、ユーザによって入力された通信要件150の1つを取り出す。
【0084】
ステップS808では、判定部113は、取り出した通信要件のセキュリティコストの値「M」(ステップS803においてセキュリティコストリストに登録した値)を参照する。
【0085】
ステップS809では、判定部113は、「M」>「N」を満たすか否か(NW運用者に確認を求める通信要件であるか否か)を判定する。判定部113は、満たすと判定した場合、ステップS810に処理を移し、満たさないと判定した場合、ステップS811に処理を移す。
【0086】
ステップS810では、判定部113は、ステップS807において取り出した通信要件を通信要件リストに登録する。通信要件リストについては、
図11を用いて詳細を説明する。
【0087】
ステップS811では、判定部113は、出力有無を判定していない通信要件が存在する否かを判定する。判定部113は、存在すると判定した場合、ステップS807に処理を移し、存在しないと判定した場合、ステップS812に処理を移す。
【0088】
ステップS812では、判定部113は、通信要件リストをNW運用者のユーザ端末202に出力する。
【0089】
ステップS813では、入力部111は、入力デバイス、ユーザ端末202等を介して、通信要件の許可または拒否を入力する。例えば、NW運用者は、通信要件リストを確認し、ユーザ端末202を介して、各通信要件について許可または拒否の値を入力し、入力部111は、入力された値を通信要件に対応付けて記憶する。なお、通信要件リストの各通信要件の確認に関する確認画面については、
図12を用いて詳細を説明する。
【0090】
図9は、APP情報116およびAPPイメージ117の入力に係る入力画面の一例(入力画面900)を示す図である。
【0091】
入力画面900には、APP情報116を入力するための入力フィールド910と、APPイメージ117を入力するための入力フィールド920とが設けられている。入力フィールド910は、テンプレートテーブル300のユーザ入力内容303に記憶されている内容をAPP開発者が選択可能に設けられる。APPイメージ117は、APPイメージ117をAPP開発者がアップロード可能に設けられる。
【0092】
上記した入力画面900を介して、APP開発者は、APP情報116およびAPPイメージ117を入力する。
【0093】
図10は、通信要件150の入力に係る入力画面の一例(入力画面1000)を示す図である。
【0094】
入力画面1000には、通信要件121を手動で入力するための入力フィールド1010と、所定のシステムにより生成された通信要件122を入力するための入力フィールド1020とが設けられている。
【0095】
入力フィールド1010では、項番1011(#)と、送信元1012と、宛先1013と、サービス1014との情報が入力される。項番1011には、レコード(通信要件)を識別するための識別情報が自動で入力される。送信元1012には、通信の送信元を示す情報(名称、IPアドレス等)が入力される。宛先1013には、通信の送信先(宛先)を示す情報(名称、IPアドレス等)が入力される。サービス1014には、通信に用いられるサービスを識別する情報(例えば、L4プロトコルおよびポート番号)が入力される。
【0096】
上記した入力画面1000を介して、APP開発者は、通信要件150を入力する。
【0097】
図11は、セキュリティコストリストの一例(セキュリティコストテーブル1110)と、通信要件リストの一例(通信要件テーブル1120)とを示す図である。
【0098】
セキュリティコストテーブル1110は、通信要件150にセキュリティコストが付与されたテーブルである。通信要件テーブル1120は、APPのセキュリティレベルに対応して設けられている閾値より高いセキュリティコストの通信要件(セキュリティリスクが高い通信要件、換言するならば、NW運用者による確認を求める通信要件)を格納するテーブルである。
【0099】
例えば、セキュリティコストテーブル1110に示すように、各通信要件のセキュリティコストが算出されて記憶されている場合、APPのセキュリティレベルに対応して設けられている閾値が「10」であるとき、通信要件テーブル1120に示すように、セキュリティコストが「10」より大きい通信要件が選定される。
【0100】
図12は、通信要件生成システム110により出力された通信要件をNW運用者が確認するための確認画面の一例(確認画面1200)を示す図である。
【0101】
確認画面1200には、通信要件生成システム110により生成された通信要件を表示するための表示フィールド1210と、当該通信要件をNW運用者が確認した結果を入力するための入力フィールド1220とが設けられている。例えば、入力フィールド1220には、当該通信要件の通信を許可することを示す「許可」、または、当該通信要件の通信を拒否することを示す「拒否」が格納される。
【0102】
確認画面1200においてNW運用者により確認された通信要件は、NW運用者を介して(手動で)またはNW運用者を介することなく(自動で)、FW設定システム132に渡される。
【0103】
図13は、FW設定システム132によりホスト131に設定されるFW設定情報の一例(FW設定テーブル1300)を示す図である。
【0104】
FW設定テーブル1300は、FWに設定される情報(ルール)を記憶する。より具体的には、FW設定テーブル1300は、項番1301(#)と、送信元1302と、宛先1303と、サービス1304と、アクション1305との情報が対応付けられたレコードを記憶する。
【0105】
項番1301には、レコード(ルール)を識別するための識別情報が格納される。送信元1302には、通信の送信元を示す情報(名称、IPアドレス等)が格納される。宛先1303には、通信の送信先(宛先)を示す情報(名称、IPアドレス等)が格納される。サービス1304には、通信に用いられるサービスを識別する情報(例えば、L4プロトコルおよびポート番号)が格納される。アクション1305には、送信元1302と宛先1303とサービス1304との情報が合致した場合に通信を許可するか拒否するかを示す情報が格納される。本実施の形態では、APPのセキュリティレベルに対応して設けられている閾値以下であるセキュリティコストの通信要件の通信については「許可」が設定され、当該閾値より高いセキュリティコストの通信要件の通信については、NW運用者により最終判断が行われた結果(「許可」または「拒否」)が設定される。
【0106】
なお、FW設定テーブル1300では、最後のレコード(ルール)に、全ての通信を拒否するルールを設定することで、ホワイトリスト方式のFWを実現している。
【0107】
【0108】
通信管理システム100では、ホスト131により仮想NW全体1400が実現される。仮想NW全体1400に示すように、所定のマシン1410においてAPP1420(コンポーネント)が稼働する。所定のマシン1410は、所定のNW1430に接続されている。なお、マシン1410は、物理的なコンピュータまたは仮想的なコンピュータであり、物理サーバ、仮想マシン、コンテナ、モバイル端末等である。NW1430は、所定のNWの一例であり、NW201と同じであってもよいし、異なっていてもよい。
【0109】
ホスト131は、NW1430に追加または変更されるAPP1420ごとに分散型FW1440を設定し、APP1420間の通信を管理する。以下では、送信元APP1420Aが送信先APP1420Bにデータを送信するケースを例に挙げて、通信を管理する方法について説明する。なお、本ケースでは、送信元APP1420Aの分散型FW1440を提供するホスト131Aが使用するFW設定テーブル1300と、送信先APP1420Bの分散型FW1440を提供するホスト131Bが使用するFW設定テーブル1300とが設けられている。また、FW設定テーブル1300には、NW運用者1450による指示に応じて、ユーザ端末202またはFW設定システム132により、分散型FW1440のルールが入力されているものとする。付言するならば、一のホスト131のFW設定テーブル1300に更新された内容は、全てのホスト131のFW設定テーブル1300に適用される。
【0110】
ここで、送信元APP1420Aが送信先APP1420Bにデータを送信する際、送信元APP1420Aは、ホスト131Aにパケット(分割されたデータ)を渡す。なお、この時点では、パケットの制御は行われない。ホスト131Aは、パケットを転送してもよいかを、自身のFW設定テーブル1300を参照して判定し、転送してもよいと判定した場合、パケット転送処理を行い、転送してはいけないと判定した場合、パケットを遮断する。パケット転送処理では、ホスト131Aは、ルーティングテーブルに基づいてパケットを転送する。
【0111】
転送されたパケットは、NW1430(L3スイッチ、L2スイッチ等)を介して、ホスト131Bに到達する。ホスト131Bは、パケットを送信先APP1420Bに渡してよいかを、自身のFW設定テーブル1300を参照して判定する。ホスト131Bは、転送してもよいと判定した場合、送信先APP1420Bにパケットを渡し、転送してはいけないと判定した場合、パケットを遮断する。なお、ホスト131Bは、ホスト131Aと同様の内容を判定しているため、基本的には、ホスト131Bを通るときにパケットが遮断されることはない。
【0112】
本実施の形態によれば、利便性の高い通信要件生成システムを提供することができる。
【0113】
(II)第2の実施の形態
第1の実施の形態では、入力された全ての通信要件についてFW設定情報(ルール)を登録する構成であるが、本実施の形態では、セキュリティリスクが高い通信要件についてFW設定情報を登録する構成である点が主に異なる。本実施の形態では、第1の実施の形態と異なる構成について主に説明し、第1の実施の形態と同じ構成については、その説明を省略する。
【0114】
図15は、パケット制御処理の一例を示す図である。パケット制御処理は、ホスト131がパケットを受け取った際に実行される。以下では、ホスト131Aが送信元APP1420Aからパケットを受け取ったケースを例に挙げて説明する。
【0115】
ステップS1501では、ホスト131Aは、送信元APP1420Aが送信先APP1420Bに送信したパケットの送信元および宛先を確認する。例えば、ホスト131Aは、当該パケットの送信元APP1420AのIPアドレスおよび送信先APP1420BのIPアドレスを確認する。
【0116】
ステップS1502では、ホスト131Aは、送信元および宛先間のセキュリティコスト「M」を算出する。この処理は、ステップS803と同様であるので、その説明を省略する。
【0117】
ステップS1503では、ホスト131Aは、「M」>「N」を満たすか否かを判定する。ホスト131Aは、満たすと判定した場合、パケットを転送してもよいかを、自身のFW設定テーブル1300を参照して判定し、パケットを転送してよいと判定したきはパケット転送処理を行い、パケットを転送してはいけないと判定したときは、パケットを遮断する。他方、ホスト131Aは、満たさないと判定した場合、パケット転送処理を行う。
【0118】
本実施の形態では、通信ごとにセキュリティコストが算出され、算出されたセキュリティコストが閾値より大きい場合にFW設定情報を参照する構成であるので、閾値より小さいセキュリティコストのFW設定情報の登録が不要となり、FW設定情報が膨大になる事態を回避することができる。
【0119】
(III)第3の実施の形態
第1の実施の形態では、NW運用者がツリー構造の情報を全て登録する構成であるが、本実施の形態ではツリー構造の情報の一部を自動で登録する構成である点が主に異なる。本実施の形態では、第1の実施の形態と異なる構成について主に説明し、第1の実施の形態と同じ構成については、その説明を省略する。
【0120】
図16は、ツリー構造生成処理の一例を示す図である。ツリー構造生成処理は、ステップS712に代えて実行される。
【0121】
ステップS1601では、入力部111は、ディレクトリサービスの情報を読み取る。ディレクトリサービスの情報は、例えば、企業内のユーザ、PCといったリソースを管理するツール(Active Directory等)のデータである。
【0122】
ステップS1602では、入力部111は、ステップS1601において読み取ったディレクトリサービスの情報をもとに、ツリー構造(表および図)を生成する。
【0123】
ステップS1603では、入力部111は、ステップS1602において生成したツリー構造をユーザ端末202に出力する。
【0124】
ステップS1604では、入力部111は、ユーザ端末202からの指示に応じて、ツリー構造を修正し、修正したツリー構造を記憶する。
【0125】
本実施の形態では、ディレクトリサービスの情報を読み取り、本システムで使用するツリー構造のデータを生成するので、ツリー構造の定義を行うNW運用者の負担を軽減することができる。
【0126】
(IV)付記
上述の実施の形態には、例えば、以下のような内容が含まれる。
【0127】
上述の実施の形態においては、本発明を通信要件生成システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
【0128】
また、上述の実施の形態において、プログラムの一部またはすべては、プログラムソースから、通信要件生成システムを実現するコンピュータのような装置にインストールされてもよい。プログラムソースは、例えば、ネットワークで接続されたプログラム配布サーバまたはコンピュータが読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。また、上述の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0129】
また、上述の実施の形態において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
【0130】
また、上述の実施の形態において、説明の便宜上、通信要件生成システムに係る情報を、テーブルを用いて説明したが、データ構造はテーブルに限定されるものではない。通信要件生成システムに係る情報は、XML(Extensible Markup Language)、YAML(YAML Ain't a Markup Language)、ハッシュテーブル、木構造等、テーブル以外のデータ構造によって表現されてもよい。
【0131】
また、上述の実施の形態において、図示および説明した画面は、一例であり、受け付ける情報が同じであるならば、どのようなデザインであってもよい。
【0132】
また、上述の実施の形態において、図示および説明した画面は、一例であり、提示する情報が同じであるならば、どのようなデザインであってもよい。
【0133】
また、上述の実施の形態において、情報の出力は、ディスプレイへの表示に限るものではない。情報の出力は、スピーカによる音声出力であってもよいし、ファイルへの出力であってもよいし、印刷装置による紙媒体等への印刷であってもよいし、プロジェクタによるスクリーン等への投影であってもよいし、その他の態様であってもよい。
【0134】
また、上記の説明において、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0135】
上述した実施の形態は、例えば、以下の特徴的な構成を有する。
【0136】
(1)
通信要件生成システム(例えば、通信要件生成システム110)は、所定のネットワーク(NW1430等)において通信を行うコンポーネント(コンポーネント、APP、APPの機能、所定の端末、APP1420等)間の論理的な距離(通信に係るノードの数、通信に係る経路等)を算出するための定義情報(例えば、ノード情報119)を記憶する記憶部(記憶部115、通信要件生成システム110の機能、サーバ装置、クラウドシステム等)と、上記ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、上記記憶部により記憶される定義情報をもとに、上記コンポーネントと上記コンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離(例えば、通信に係るノードの数が所定の値を超えるか否か、通信に係る経路にインターネット等の所定のノードが含まれるか否か等)に基づいて、上記ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部(判定部113、通信要件生成システム110の機能、サーバ装置、クラウドシステム等)と、上記ネットワークの運用者による確認を求める通信要件であると上記判定部により判定された通信要件を出力する出力部(出力部114、通信要件生成システム110の機能、サーバ装置、クラウドシステム等)と、を備える。
【0137】
上記構成では、ネットワークに接続されるコンポーネントと通信相手のコンポーネントとの論理的な位置関係に応じて、ネットワークの運用者による確認を求める通信要件であるか否かが判定される。上記構成によれば、例えば、ネットワークに接続されるコンポーネントに係る複数の通信要件からネットワークの運用者による確認を求める通信要件に絞られるので、ネットワークの運用者によるファイアウォールへの通信要件の設定の負担を低減することができる。
【0138】
(2)
上記ネットワークにおいて通信を行うコンポーネントのセキュリティの強度を示すセキュリティレベルを決定する決定部(決定部112、通信要件生成システム110の機能、サーバ装置、クラウドシステム等)と、上記ネットワークに接続されるコンポーネントの情報として、上記コンポーネントのセキュリティレベルの判定に用いられる情報(例えば、APP情報116およびAPPのふるまいを示す情報の少なくとも1つ)を入力する入力部(入力部111、通信要件生成システム110の機能、サーバ装置、クラウドシステム等)と、を備え、上記記憶部は、上記ネットワークにおいて通信を行うコンポーネントのセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報(例えば、条件404の値)を記憶し、上記決定部は、上記入力部により入力された上記ネットワークに接続されるコンポーネントの情報と、上記記憶部により記憶されているセキュリティレベル条件情報とから、上記コンポーネントのセキュリティレベルを決定し(例えば、ステップS710参照)、上記判定部は、上記コンポーネントに係る複数の通信要件の各々について、上記コンポーネントのセキュリティレベルに基づいて、上記ネットワークの運用者による確認を求める通信要件であるか否かを判定する(例えば、ステップS806~ステップS811参照)。
【0139】
上記構成によれば、例えば、企業のセキュリティポリシを満たすように決定されたセキュリティレベルに基づいてネットワークの運用者に確認する通信要件が判定されるので、ファイアウォールの設定が企業のセキュリティポリシに適さなくなる事態を回避することができる。
【0140】
(3)
上記記憶部は、セキュリティレベルごとに、上記ネットワークに接続されるコンポーネントに設定されるセキュリティコストを示す第1のセキュリティコスト情報(例えば、APPセキュリティコスト405の値)と、上記コンポーネントの通信を許可するか否かを判定するための閾値を示す閾値情報(例えば、通信許可セキュリティコスト406の値)と、を記憶し、上記記憶部は、上記ネットワークを介した通信に係る論理構造をツリー構造により表現した際の各構成要素であるノードを示すノード情報(例えば、ノード502および親ノード503の値)と、上記ツリー構造におけるノードに設定されるセキュリティコストを示す第2のセキュリティコスト情報(例えば、セキュリティコスト504の値)と、を記憶し、上記判定部は、上記決定部により決定された上記ネットワークに接続されるコンポーネントのセキュリティレベルに対応する第1のセキュリティコスト情報と閾値情報とを上記記憶部から読み出し、上記コンポーネントに係る複数の通信要件の各々について、上記記憶部により記憶されているノード情報をもとに、上記コンポーネントと上記コンポーネントの通信相手のコンポーネントとの通信に係るノードを特定し、上記第1のセキュリティコスト情報と上記記憶部により記憶されている第2のセキュリティコスト情報とをもとに、特定したノードのセキュリティコストを合計して通信要件のセキュリティコストを算出し、算出した通信要件のセキュリティコストが上記閾値情報の閾値を超える通信要件を、上記ネットワークの運用者による確認を求める通信要件であると判定する(例えば、
図8参照)。
【0141】
上記構成では、ネットワークに接続されるコンポーネントのセキュリティレベルに対応するセキュリティコストおよび閾値とツリー構造における上記コンポーネントの通信に係るノードのセキュリティコストとが加味されてネットワークの運用者に確認する通信要件が判定される。上記構成によれば、例えば、ネットワークに接続されるコンポーネントのセキュリティレベルに対応したファイアウォールの設定が可能である。
【0142】
(4)
上記通信要件生成システムは、上記ネットワークにおけるコンポーネント間の通信を制御するホスト(例えば、ホスト131)を備え、上記ネットワークの運用者により通信を許可するか否かが確認された上記ネットワークに接続されるコンポーネントの通信要件が、上記コンポーネントのファイアウォールの設定情報(例えば、FW設定テーブル1300)に設定され、上記ホストは、上記コンポーネントからパケットを受け取った場合、上記設定情報に基づいて、上記コンポーネントと上記通信相手のコンポーネントとの通信を制御する。
【0143】
上記構成によれば、コンポーネントのファイアウォールの設定情報に基づいてパケットの転送が行われるので、例えば、企業のセキュリティポリシに合ったコンポーネントごとのファイアウォールを実現することができる。
【0144】
(5)
上記ホストは、上記コンポーネントからパケットを受け取った場合、上記パケットの宛先である上記コンポーネントの通信相手のコンポーネントを特定し、上記記憶部により記憶されているノード情報をもとに、上記コンポーネントと上記通信相手のコンポーネントとの通信に係るノードを特定し、上記コンポーネントのセキュリティレベルに対応した第1のセキュリティコスト情報および上記記憶部により記憶されている第2のセキュリティコスト情報をもとに、特定したノードのセキュリティコストを合計して通信のセキュリティコストを算出し、算出した通信のセキュリティコストが上記コンポーネントのセキュリティレベルに対応した閾値情報の閾値を超えるとき、上記設定情報に基づいて、上記コンポーネントの通信相手に上記パケットを転送する、または、上記パケットを遮断する(例えば、
図15参照)。
【0145】
上記構成では、通信のセキュリティコストが閾値より大きい場合に設定情報が参照されるので、例えば、セキュリティコストが閾値より小さいルールを設定情報に設定する必要がなく、設定情報のルール数が膨大になってしまう事態を回避することができる。
【0146】
(6)
上記判定部は、上記記憶部によりノード情報が記憶されていない場合、ディレクトリサービスの情報を読み取り、読み取った情報をユーザ端末に出力し、上記ユーザ端末において修正された情報をノード情報として受け取り、上記記憶部は、上記判定部が受け取ったノード情報を記憶する(例えば、
図16参照)。
【0147】
上記構成では、例えば、ディレクトリサービスの情報からノード情報が生成されるので、ノード情報の入力の負担を低減することができる。
【0148】
(7)
上記出力部は、上記ネットワークに接続されるコンポーネントの情報として、上記コンポーネントが用いられる事業の業種と、上記コンポーネントの種別と、上記コンポーネントが扱うデータの種類と、上記コンポーネントによるインターネットを介した通信の有無との少なくとも1つを選択可能に入力するための画面(例えば、入力画面900)を出力する。
【0149】
上記構成では、例えば、コンポーネントの情報を選択して入力できる画面が出力されるので、ネットワークの運用者は、コンポーネントの情報を容易に入力することができる。
【0150】
(8)
上記出力部は、上記判定部により判定された通信要件の通信を許可するか否かを入力するための画面(例えば、確認画面1200)を出力する。
【0151】
上記構成では、通信要件の通信を許可するか否かを入力するための画面が出力されるので、例えば、ネットワークの運用者は、通信要件の通信の許可と拒否とを容易に設定することができる。
【0152】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【0153】
「A、B、およびCのうちの少なくとも1つ」という形式におけるリストに含まれる項目は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)または(A、B、およびC)を意味することができると理解されたい。同様に、「A、B、またはCのうちの少なくとも1つ」の形式においてリストされた項目は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)または(A、B、およびC)を意味することができる。
【符号の説明】
【0154】
110……通信要件生成システム、111……入力部、112……決定部、113……判定部、114……出力部、115……記憶部。
【手続補正書】
【提出日】2024-07-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
所定のネットワークにおいて通信を行うコンポーネントのセキュリティの強度を表すセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報を記憶する記憶部と、
前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントのセキュリティレベルの判定に用いられる情報を入力する入力部と、
前記入力部により入力された前記ネットワークに接続されるコンポーネントの情報と、前記記憶部により記憶されているセキュリティレベル条件情報とから、前記コンポーネントのセキュリティレベルを決定する決定部と、
前記コンポーネントに係る複数の通信要件の各々について、前記コンポーネントのセキュリティレベルに基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部と、
前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力する出力部と、
を備える、通信要件生成システム。
【請求項2】
前記記憶部は、セキュリティレベルごとに、前記ネットワークに接続されるコンポーネントに設定されるセキュリティコストを示す第1のセキュリティコスト情報と、前記コンポーネントの通信を許可するか否かを判定するための閾値を示す閾値情報と、を記憶し、
前記記憶部は、前記ネットワークを介した通信に係る論理構造をツリー構造により表現した際の各構成要素であるノードを示すノード情報と、前記ツリー構造におけるノードに設定されるセキュリティコストを示す第2のセキュリティコスト情報と、を記憶し、
前記判定部は、前記決定部により決定された前記ネットワークに接続されるコンポーネントのセキュリティレベルに対応する第1のセキュリティコスト情報と閾値情報とを前記記憶部から読み出し、前記コンポーネントに係る複数の通信要件の各々について、
前記記憶部により記憶されているノード情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの通信に係るノードを特定し、
前記第1のセキュリティコスト情報と前記記憶部により記憶されている第2のセキュリティコスト情報とをもとに、特定したノードのセキュリティコストを合計して通信要件のセキュリティコストを算出し、
算出した通信要件のセキュリティコストが前記閾値情報の閾値を超える通信要件を、前記ネットワークの運用者による確認を求める通信要件であると判定する、
請求項1に記載の通信要件生成システム。
【請求項3】
前記ネットワークにおけるコンポーネント間の通信を制御するホストを備え、
前記ネットワークの運用者により通信を許可するか否かが確認された前記ネットワークに接続されるコンポーネントの通信要件が、前記コンポーネントのファイアウォールの設定情報に設定され、
前記ホストは、前記コンポーネントからパケットを受け取った場合、前記設定情報に基づいて、前記コンポーネントと前記通信相手のコンポーネントとの通信を制御する、
請求項2に記載の通信要件生成システム。
【請求項4】
前記ホストは、前記コンポーネントからパケットを受け取った場合、
前記パケットの宛先である前記コンポーネントの通信相手のコンポーネントを特定し、前記記憶部により記憶されているノード情報をもとに、前記コンポーネントと前記通信相手のコンポーネントとの通信に係るノードを特定し、
前記コンポーネントのセキュリティレベルに対応した第1のセキュリティコスト情報および前記記憶部により記憶されている第2のセキュリティコスト情報をもとに、特定したノードのセキュリティコストを合計して通信のセキュリティコストを算出し、
算出した通信のセキュリティコストが前記コンポーネントのセキュリティレベルに対応した閾値情報の閾値を超えるとき、前記設定情報に基づいて、前記コンポーネントの通信相手に前記パケットを転送する、または、前記パケットを遮断する、
請求項3に記載の通信要件生成システム。
【請求項5】
前記判定部は、前記記憶部によりノード情報が記憶されていない場合、ディレクトリサービスの情報を読み取り、読み取った情報をユーザ端末に出力し、前記ユーザ端末において修正された情報をノード情報として受け取り、
前記記憶部は、前記判定部が受け取ったノード情報を記憶する、
請求項2に記載の通信要件生成システム。
【請求項6】
前記出力部は、前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントが用いられる事業の業種と、前記コンポーネントの種別と、前記コンポーネントが扱うデータの種類と、前記コンポーネントによるインターネットを介した通信の有無との少なくとも1つを選択可能に入力するための画面を出力する、
請求項1に記載の通信要件生成システム。
【請求項7】
前記出力部は、前記判定部により判定された通信要件の通信を許可するか否かを入力するための画面を出力する、
請求項1に記載の通信要件生成システム。
【請求項8】
記憶部が、所定のネットワークにおいて通信を行うコンポーネントのセキュリティの強度を表すセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報を記憶することと、
入力部が、前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントのセキュリティレベルの判定に用いられる情報を入力することと、
決定部が、前記入力部により入力された前記ネットワークに接続されるコンポーネントの情報と、前記記憶部により記憶されているセキュリティレベル条件情報とから、前記コンポーネントのセキュリティレベルを決定することと、
判定部が、前記コンポーネントに係る複数の通信要件の各々について、前記コンポーネントのセキュリティレベルに基づいて、
前記ネットワークの運用者による確認を求める通信要件であるか否かを判定することと、
出力部が、前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力することと、
を含む、通信要件生成方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
かかる課題を解決するため本発明においては、所定のネットワークにおいて通信を行うコンポーネントのセキュリティの強度を表すセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報を記憶する記憶部と、前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントのセキュリティレベルの判定に用いられる情報を入力する入力部と、前記入力部により入力された前記ネットワークに接続されるコンポーネントの情報と、前記記憶部により記憶されているセキュリティレベル条件情報とから、前記コンポーネントのセキュリティレベルを決定する決定部と、前記コンポーネントに係る複数の通信要件の各々について、前記コンポーネントのセキュリティレベルに基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部と、前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力する出力部と、を設けるようにした。
【手続補正書】
【提出日】2024-10-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
所定のネットワークにおいて通信を行うコンポーネント間の論理的な距離を算出するための定義情報と、前記ネットワークにおいて通信を行うコンポーネントのセキュリティの強度を表すセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報とを記憶する記憶部と、
前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントのセキュリティレベルの判定に用いられる情報を入力する入力部と、
前記入力部により入力された前記ネットワークに接続されるコンポーネントの情報と、前記記憶部により記憶されているセキュリティレベル条件情報とから、前記コンポーネントのセキュリティレベルを決定する決定部と、
前記ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、前記記憶部により記憶される定義情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離と、前記コンポーネントのセキュリティレベルとに基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部と、
前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力する出力部と、
を備える、
通信要件生成システム。
【請求項2】
前記記憶部は、セキュリティレベルごとに、前記ネットワークに接続されるコンポーネントに設定されるセキュリティコストを示す第1のセキュリティコスト情報と、前記コンポーネントの通信を許可するか否かを判定するための閾値を示す閾値情報と、を記憶し、
前記記憶部は、前記ネットワークを介した通信に係る論理構造をツリー構造により表現した際の各構成要素であるノードを示すノード情報と、前記ツリー構造におけるノードに設定されるセキュリティコストを示す第2のセキュリティコスト情報と、を記憶し、
前記判定部は、前記決定部により決定された前記ネットワークに接続されるコンポーネントのセキュリティレベルに対応する第1のセキュリティコスト情報と閾値情報とを前記記憶部から読み出し、前記コンポーネントに係る複数の通信要件の各々について、
前記記憶部により記憶されているノード情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの通信に係るノードを特定し、
前記第1のセキュリティコスト情報と前記記憶部により記憶されている第2のセキュリティコスト情報とをもとに、特定したノードのセキュリティコストを合計して通信要件のセキュリティコストを算出し、
算出した通信要件のセキュリティコストが前記閾値情報の閾値を超える通信要件を、前記ネットワークの運用者による確認を求める通信要件であると判定する、
請求項1に記載の通信要件生成システム。
【請求項3】
前記ネットワークにおけるコンポーネント間の通信を制御するホストを備え、
前記ネットワークの運用者により通信を許可するか否かが確認された前記ネットワークに接続されるコンポーネントの通信要件が、前記コンポーネントのファイアウォールの設定情報に設定され、
前記ホストは、前記コンポーネントからパケットを受け取った場合、前記設定情報に基づいて、前記コンポーネントと前記通信相手のコンポーネントとの通信を制御する、
請求項2に記載の通信要件生成システム。
【請求項4】
前記ホストは、前記コンポーネントからパケットを受け取った場合、
前記パケットの宛先である前記コンポーネントの通信相手のコンポーネントを特定し、前記記憶部により記憶されているノード情報をもとに、前記コンポーネントと前記通信相手のコンポーネントとの通信に係るノードを特定し、
前記コンポーネントのセキュリティレベルに対応した第1のセキュリティコスト情報および前記記憶部により記憶されている第2のセキュリティコスト情報をもとに、特定したノードのセキュリティコストを合計して通信のセキュリティコストを算出し、
算出した通信のセキュリティコストが前記コンポーネントのセキュリティレベルに対応した閾値情報の閾値を超えるとき、前記設定情報に基づいて、前記コンポーネントの通信相手に前記パケットを転送する、または、前記パケットを遮断する、
請求項3に記載の通信要件生成システム。
【請求項5】
前記判定部は、前記記憶部によりノード情報が記憶されていない場合、ディレクトリサービスの情報を読み取り、読み取った情報をユーザ端末に出力し、前記ユーザ端末において修正された情報をノード情報として受け取り、
前記記憶部は、前記判定部が受け取ったノード情報を記憶する、
請求項2に記載の通信要件生成システム。
【請求項6】
前記出力部は、前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントが用いられる事業の業種と、前記コンポーネントの種別と、前記コンポーネントが扱うデータの種類と、前記コンポーネントによるインターネットを介した通信の有無との少なくとも1つを選択可能に入力するための画面を出力する、
請求項1に記載の通信要件生成システム。
【請求項7】
前記出力部は、前記判定部により判定された通信要件の通信を許可するか否かを入力するための画面を出力する、
請求項1に記載の通信要件生成システム。
【請求項8】
記憶部が、所定のネットワークにおいて通信を行うコンポーネント間の論理的な距離を算出するための定義情報と、前記ネットワークにおいて通信を行うコンポーネントのセキュリティの強度を表すセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報とを記憶することと、
入力部が、前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントのセキュリティレベルの判定に用いられる情報を入力することと、
決定部が、前記入力部により入力された前記ネットワークに接続されるコンポーネントの情報と、前記記憶部により記憶されているセキュリティレベル条件情報とから、前記コンポーネントのセキュリティレベルを決定することと、
判定部が、前記ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、前記記憶部により記憶される定義情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離と、前記コンポーネントのセキュリティレベルとに基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定することと、
出力部が、前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力することと、
を含む、通信要件生成方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
かかる課題を解決するため本発明においては、所定のネットワークにおいて通信を行うコンポーネント間の論理的な距離を算出するための定義情報と、前記ネットワークにおいて通信を行うコンポーネントのセキュリティの強度を表すセキュリティレベルを判定するための条件を示すセキュリティレベル条件情報とを記憶する記憶部と、前記ネットワークに接続されるコンポーネントの情報として、前記コンポーネントのセキュリティレベルの判定に用いられる情報を入力する入力部と、前記入力部により入力された前記ネットワークに接続されるコンポーネントの情報と、前記記憶部により記憶されているセキュリティレベル条件情報とから、前記コンポーネントのセキュリティレベルを決定する決定部と、前記ネットワークに接続されるコンポーネントに係る複数の通信要件の各々について、前記記憶部により記憶される定義情報をもとに、前記コンポーネントと前記コンポーネントの通信相手のコンポーネントとの論理的な距離を算出し、算出した距離と、前記コンポーネントのセキュリティレベルとに基づいて、前記ネットワークの運用者による確認を求める通信要件であるか否かを判定する判定部と、前記ネットワークの運用者による確認を求める通信要件であると前記判定部により判定された通信要件を出力する出力部と、を設けるようにした。