図面 (/)

技術 通信装置、通信システム、通信制御方法、通信プログラムおよびデバイス接続制御プログラム

出願人 日本電気株式会社
発明者 藤本剛小林宰
出願日 2017年9月28日 (1年9ヶ月経過) 出願番号 2017-188198
公開日 2019年4月25日 (3ヶ月経過) 公開番号 2019-068119
状態 特許登録済
技術分野 広域データ交換
主要キーワード 学習態様 同一フロー 管理態様 出力先インタフェース 追加レコード USBストレージデバイス 携帯型デバイス 生成状態
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年4月25日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

パケットによる通信許可するか、不許可にするかの判定に用いるリストを、管理者にとって分かり易い条件も含められるようにして、生成することができる通信装置を提供する。

解決手段

制御手段111は、パケットのヘッダ情報に応じたパケット転送手段112の動作を規定した制御情報をパケット転送手段112に対して設定する。制御手段111は、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、パケット転送手段112から新規パケットのヘッダ情報が通知されると、新規パケットによる通信の許可を示す制御情報をパケット転送手段112に設定する。そして、制御手段111は、指定された項目にヘッダ情報内のIPアドレスから特定した条件を記述したレコードをリストに追加する。

概要

背景

パケット転送するスイッチを制御装置が制御するプロトコルとして、オープンフロー(OpenFlow)が知られている。

オープンフローでは、制御装置がスイッチにフローエントリを設定する。そして、スイッチは、受信したパケットをそのフローエントリに従って処理する。フローエントリとは、パケットに対する動作(例えば、転送、破棄等)を規定した情報である。フローエントリは、パケットのフロー毎に設定される。スイッチがパケットを受信したときに、そのパケットのフローに対応するフローエントリが存在する場合、スイッチは、そのフローエントリに従ってそのパケットを処理する。一方、受信したパケットのフローに対応するフローエントリが存在しない場合、スイッチはその旨を制御装置に通知する。そして、制御装置は、そのパケットのフローに対応するフローエントリを決定し、スイッチに設定する。

また、特許文献1には、ネットワーク装置が転送するパケットを示すアドレス情報に、受信したパケットの送信元アドレスを格納することによって、アドレスを学習するネットワーク装置が記載されている。

また、特許文献2には、パケットの中継、および、ホワイトリストの生成を実行するパケット中継装置が記載されている。特許文献2におけるホワイトリストとは、例えば、パケット中継装置による転送が許可されたパケットの一覧である。さらに、特許文献2に記載のパケット中継装置は、ホワイトリストを生成する生成状態であるか、ホワイトリストを用いた転送を行う運用状態であるかを判定する。また、特許文献2に記載のパケット中継装置は、パケット受信部を複数備え、ホワイトリストの生成および制御の対象となるパケット受信部と、ホワイトリストの生成および制御の対象外となるパケット受信部を選択できる。

また、特許文献3には、ホワイトリストを管理する通信制御装置が記載されている。特許文献3におけるホワイトリストは、通信相手欄を有する。また、特許文献3には、通信相手を識別する識別情報の例として、FQDN(Fully Qualified Domain Name )が記載されている。

概要

パケットによる通信を許可するか、不許可にするかの判定に用いるリストを、管理者にとって分かり易い条件も含められるようにして、生成することができる通信装置を提供する。制御手段111は、パケットのヘッダ情報に応じたパケット転送手段112の動作を規定した制御情報をパケット転送手段112に対して設定する。制御手段111は、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、パケット転送手段112から新規パケットのヘッダ情報が通知されると、新規パケットによる通信の許可を示す制御情報をパケット転送手段112に設定する。そして、制御手段111は、指定された項目にヘッダ情報内のIPアドレスから特定した条件を記述したレコードをリストに追加する。

目的

本発明は、パケットによる通信を許可するか、不許可にするかの判定に用いるリストを、管理者にとって分かり易い条件も含められるようにして、生成することができる通信装置、通信制御方法および通信プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

パケット転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを備え、前記パケット転送手段は、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段は、通信許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段は、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加することを特徴とする通信装置

請求項2

制御手段は、学習モードに設定されている間に、パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定するとともに、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加する請求項1に記載の通信装置。

請求項3

制御手段は、学習モードに設定されている間に、前記パケット転送手段から新規パケットのヘッダ情報が通知され、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定すると、前記ヘッダ情報内のIPアドレスから特定した条件を記述したログを生成し、学習モードの設定が解除されたときに、前記ログに基づいて、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加する請求項1に記載の通信装置。

請求項4

制御手段は、パケット転送手段がDNSサーバからDNSクエリレスポンスを受信した場合、前記DNSクエリレスポンスに基づいて、IPアドレスとドメイン名との対応関係を記憶し、条件を学習すべき項目としてドメイン名に対応する項目が指定され、かつ、学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記ヘッダ情報内のIPアドレスから特定したドメイン名を記述したレコードをリストに追加する請求項1から請求項3のうちのいずれか1項に記載の通信装置。

請求項5

制御手段は、条件を学習すべき項目としてプロセス名に対応する項目が指定され、かつ、学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記ヘッダ情報内のIPアドレスから特定したプロセス名を記述したレコードをリストに追加する請求項1から請求項4のうちのいずれか1項に記載の通信装置。

請求項6

制御手段は、条件を学習すべき項目としてプロセスのユーザ名に対応する項目が指定され、かつ、学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記ヘッダ情報内のIPアドレスから特定したユーザ名を記述したレコードをリストに追加する請求項1から請求項5のうちのいずれか1項に記載の通信装置。

請求項7

デバイス接続インタフェースを備える通信装置であって、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを備え、前記接続手段は、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段は、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段は、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段は、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加することを特徴とする通信装置。

請求項8

制御手段は、学習モードに設定されている間に、接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可するとともに、指定された項目に、当該項目に対応する識別情報を記述したレコードを、リストに追加する請求項7に記載の通信装置。

請求項9

制御手段は、学習モードに設定されている間に、接続手段からデバイスの識別情報が通知され、前記デバイスと当該通信装置との接続を許可すると、前記識別情報を記述したログを生成し、学習モードの設定が解除されたときに、前記ログに基づいて、指定された項目に、当該項目に対応する識別情報を記述したレコードを、リストに追加する請求項7に記載の通信装置。

請求項10

複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置は、パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを含み、前記パケット転送手段は、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段は、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段は、条件を学習すべき項目としてパケットの送信元のデバイスの識別情報に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記新規パケットの送信元のデバイスの識別情報を記述したレコードをリストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバは、前記レコードを受信する受信手段と、前記レコードを記憶する記憶手段とを含むことを特徴とする通信システム

請求項11

管理サーバは、受信手段が受信したレコードを、当該レコードを送信した通信装置以外の各通信装置の制御手段に配信する配信手段を含む請求項10に記載の通信システム。

請求項12

管理サーバは、受信手段がレコードを受信した場合、当該レコードを送信した通信装置以外の各通信装置の制御手段に対して、前記レコードに記述されているデバイスの識別情報が記述されているレコードの削除を指示する削除指示手段を含む請求項10に記載の通信システム。

請求項13

複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置は、デバイスの接続インタフェースと、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを含み、前記接続手段は、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段は、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段は、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段は、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバは、前記レコードを受信する受信手段と、前記レコードを記憶する記憶手段とを含むことを特徴とする通信システム。

請求項14

管理サーバは、受信手段が受信したレコードを、当該レコードを送信した通信装置以外の各通信装置の制御手段に配信する配信手段を含む請求項13に記載の通信システム。

請求項15

管理サーバは、受信手段がレコードを受信した場合、当該レコードを送信した通信装置以外の各通信装置の制御手段に対して、前記レコードに記述されているデバイスの識別情報が記述されているレコードの削除を指示する削除指示手段を含む請求項13に記載の通信システム。

請求項16

パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを備える通信装置に適用される通信制御方法であって、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段が、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加することを特徴とする通信制御方法。

請求項17

デバイスの接続インタフェースを備える通信装置であって、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを備える通信装置に適用されるデバイス接続制御方法において、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段が、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加することを特徴とするデバイス接続制御方法。

請求項18

複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置が、パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを含む通信システムに適用される通信装置管理方法であって、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段が、条件を学習すべき項目としてパケットの送信元のデバイスの識別情報に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記新規パケットの送信元のデバイスの識別情報を記述したレコードをリストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバが、前記レコードを受信し、前記レコードを記憶することを特徴とする通信装置管理方法。

請求項19

複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置が、デバイスの接続インタフェースと、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを含む通信システムに適用される通信装置管理方法であって、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段が、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバが、前記レコードを受信し、前記レコードを記憶することを特徴とする通信装置管理方法。

請求項20

パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを備えるコンピュータに搭載される通信プログラムであって、前記コンピュータに、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知する通知処理、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定する制御情報設定処理、前記制御手段が、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定する学習モード時制御情報設定処理、および、前記制御手段が、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加するレコード追加処理を実行させるための通信プログラム。

請求項21

デバイスの接続インタフェースを備えるコンピュータであって、前記接続インタフェースに差し込まれたデバイスと当該コンピュータとを接続させる接続手段と、前記接続手段を制御する制御手段とを備えるコンピュータに搭載されるデバイス接続制御プログラムであって、前期コンピュータに、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該コンピュータとを接続させ、前記デバイスの識別情報を前記制御手段に通知する通知処理、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該コンピュータとの接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該コンピュータとの接続を不許可とする接続制御処理、前記接続手段が、前記デバイスと当該コンピュータとの接続が不許可とされた場合には、前記デバイスと当該コンピュータとの接続を断つ接続切断処理、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該コンピュータとの接続を許可し、学習モード時接続制御処理、および、前記制御手段が、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加するレコード追加処理を実行させるためのデバイス接続制御プログラム。

技術分野

0001

本発明は、通信装置通信ステム通信制御方法、並びに、通信装置に適用されるデバイス接続制御方法通信プログラムおよびデバイス接続制御プログラム、並びに、通信システムに適用される通信装置管理方法に関する。

背景技術

0002

パケット転送するスイッチを制御装置が制御するプロトコルとして、オープンフロー(OpenFlow)が知られている。

0003

オープンフローでは、制御装置がスイッチにフローエントリを設定する。そして、スイッチは、受信したパケットをそのフローエントリに従って処理する。フローエントリとは、パケットに対する動作(例えば、転送、破棄等)を規定した情報である。フローエントリは、パケットのフロー毎に設定される。スイッチがパケットを受信したときに、そのパケットのフローに対応するフローエントリが存在する場合、スイッチは、そのフローエントリに従ってそのパケットを処理する。一方、受信したパケットのフローに対応するフローエントリが存在しない場合、スイッチはその旨を制御装置に通知する。そして、制御装置は、そのパケットのフローに対応するフローエントリを決定し、スイッチに設定する。

0004

また、特許文献1には、ネットワーク装置が転送するパケットを示すアドレス情報に、受信したパケットの送信元アドレスを格納することによって、アドレスを学習するネットワーク装置が記載されている。

0005

また、特許文献2には、パケットの中継、および、ホワイトリストの生成を実行するパケット中継装置が記載されている。特許文献2におけるホワイトリストとは、例えば、パケット中継装置による転送が許可されたパケットの一覧である。さらに、特許文献2に記載のパケット中継装置は、ホワイトリストを生成する生成状態であるか、ホワイトリストを用いた転送を行う運用状態であるかを判定する。また、特許文献2に記載のパケット中継装置は、パケット受信部を複数備え、ホワイトリストの生成および制御の対象となるパケット受信部と、ホワイトリストの生成および制御の対象外となるパケット受信部を選択できる。

0006

また、特許文献3には、ホワイトリストを管理する通信制御装置が記載されている。特許文献3におけるホワイトリストは、通信相手欄を有する。また、特許文献3には、通信相手を識別する識別情報の例として、FQDN(Fully Qualified Domain Name )が記載されている。

先行技術

0007

特許第6114214号公報
国際公開第2017/073089号
国際公開第2014/155699号

発明が解決しようとする課題

0008

通信装置が、ホワイトリストによって、パケットの転送を許可するか、不許可にするかを判定する場合には、通信装置にホワイトリストを設定する必要がある。

0009

IoT(Internet of Things)では、機器アプリケーションソフトウェアの数および種類が多く、全ての機器やアプリケーションソフトウェアに対する設定作業を行うとすると、作業工数が膨大となる。

0010

また、IP(Internet Protocol )アドレスによるホワイトリストを管理者が作成する場合、管理者が送信元や宛先に該当するIPアドレスを簡単に把握することができず、ホワイトリストの作成は、容易でなかった。

0011

そのため、IPアドレスに限らず、種々の条件を記述したホワイトリストを容易に生成できることが好ましい。また、そのホワイトリストの中に、管理者によって分かり易い条件も含められることが好ましい。

0012

また、通信装置が、ホワイトリストによって、その通信装置と他のデバイスとの接続を許可するか、不許可にするかを判定することが考えられる。その場合にも、ホワイトリストの作成の作業工数が大きくなるという課題が生じる。

0013

また、パケットによる通信を許可するか、不許可にするかの判定に用いるリストが複数の通信装置で生成される場合、そのリストを管理できることが好ましい。

0014

同様に、通信装置と他のデバイスとの接続を許可するか、不許可にするかの判定に用いるリストが複数の通信装置で生成される場合に、そのリストを管理できることが好ましい。

0015

そこで、本発明は、パケットによる通信を許可するか、不許可にするかの判定に用いるリストを、管理者にとって分かり易い条件も含められるようにして、生成することができる通信装置、通信制御方法および通信プログラムを提供することを目的とする。

0016

また、本発明は、他のデバイスの接続を許可するか、不許可にするのかの判定に用いるリストを生成することができる通信装置、デバイス接続制御方法およびデバイス接続制御プログラムを提供することを目的とする。

0017

また、本発明は、パケットによる通信を許可するか、不許可にするかの判定に用いるリストが複数の通信装置で生成される場合に、そのリストを管理できる通信システムおよび通信装置管理方法を提供することを目的とする。

0018

また、本発明は、他のデバイスの接続を許可するか、不許可にするのかの判定に用いるリストが複数の通信装置で生成される場合に、そのリストを管理できる通信システムおよび通信装置管理方法を提供することを目的とする。

課題を解決するための手段

0019

本発明による通信装置は、パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを備え、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段が、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加することを特徴とする。

0020

また、本発明による通信装置は、デバイスの接続インタフェースを備える通信装置であって、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを備え、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段が、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加することを特徴とする。

0021

また、本発明よる通信システムは、複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置が、パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを含み、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段が、条件を学習すべき項目としてパケットの送信元のデバイスの識別情報に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記新規パケットの送信元のデバイスの識別情報を記述したレコードをリストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバが、前記レコードを受信する受信手段と、前記レコードを記憶する記憶手段とを含むことを特徴とする。

0022

また、本発明による通信システムは、複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置が、デバイスの接続インタフェースと、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを含み、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段が、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバが、前記レコードを受信する受信手段と、前記レコードを記憶する記憶手段とを含むことを特徴とする。

0023

また、本発明による通信制御方法は、パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを備える通信装置に適用される通信制御方法であって、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段が、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加することを特徴とする。

0024

また、本発明によるデバイス接続制御方法は、デバイスの接続インタフェースを備える通信装置であって、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを備える通信装置に適用されるデバイス接続制御方法において、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段が、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加することを特徴とする。

0025

また、本発明による通信装置管理方法は、複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置が、パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを含む通信システムに適用される通信装置管理方法であって、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知し、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定し、前記制御手段が、条件を学習すべき項目としてパケットの送信元のデバイスの識別情報に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、指定された項目に前記新規パケットの送信元のデバイスの識別情報を記述したレコードをリストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバが、前記レコードを受信し、前記レコードを記憶することを特徴とする。

0026

また、本発明による通信装置管理方法は、複数の通信装置と、前記複数の通信装置を管理する管理サーバとを備え、個々の通信装置が、デバイスの接続インタフェースと、前記接続インタフェースに差し込まれたデバイスと当該通信装置とを接続させる接続手段と、前記接続手段を制御する制御手段とを含む通信システムに適用される通信装置管理方法であって、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該通信装置とを接続させ、前記デバイスの識別情報を前記制御手段に通知し、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該通信装置との接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該通信装置との接続を不許可とし、前記接続手段が、前記デバイスと当該通信装置との接続が不許可とされた場合には、前記デバイスと当該通信装置との接続を断ち、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該通信装置との接続を許可し、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加し、前記レコードを前記管理サーバに送信し、前記管理サーバが、前記レコードを受信し、前記レコードを記憶することを特徴とする。

0027

また、本発明による通信プログラムは、パケットを転送するパケット転送手段と、パケットのヘッダ情報に応じた前記パケット転送手段の動作を規定した制御情報を前記パケット転送手段に対して設定する制御手段とを備えるコンピュータに搭載される通信プログラムであって、前記コンピュータに、前記パケット転送手段が、ヘッダ情報に適合する制御情報が未だ設定されていないパケットである新規パケットを受信したときに、前記新規パケットのヘッダ情報を前記制御手段に通知する通知処理、前記制御手段が、通信を許可する条件を記述可能な複数の項目を含むレコードであって、前記複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持し、前記パケット転送手段から前記ヘッダ情報が通知されたときに、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれかのレコードで記述されている場合、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定し、前記ヘッダ情報に含まれる情報、または、前記ヘッダ情報に含まれるIPアドレスから特定される情報が、前記リストのいずれのレコードにも記述されていない場合、前記新規パケットによる通信の不許可を示す制御情報を前記パケット転送手段に設定する制御情報設定処理、前記制御手段が、条件を学習すべき項目としてIPアドレスから特定可能な条件に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記パケット転送手段から新規パケットのヘッダ情報が通知されると、前記新規パケットによる通信の許可を示す制御情報を前記パケット転送手段に設定する学習モード時制御情報設定処理、および、前記制御手段が、指定された項目に前記ヘッダ情報内のIPアドレスから特定した条件を記述したレコードを前記リストに追加するレコード追加処理を実行させることを特徴とする。

0028

また、本発明によるデバイス接続制御プログラムは、デバイスの接続インタフェースを備えるコンピュータであって、前記接続インタフェースに差し込まれたデバイスと当該コンピュータとを接続させる接続手段と、前記接続手段を制御する制御手段とを備えるコンピュータに搭載されるデバイス接続制御プログラムであって、前期コンピュータに、前記接続手段が、前記接続インタフェースにデバイスが差し込まれると、前記デバイスと当該コンピュータとを接続させ、前記デバイスの識別情報を前記制御手段に通知する通知処理、前記制御手段が、デバイスの識別情報を記述可能な1以上の項目を含むレコードであって、少なくとも1つの項目にデバイスの識別情報が記述されたレコードのリストを保持し、前記接続手段からデバイスの識別情報が通知されたときに、前記識別情報が前記リストのいずれかのレコードで記述されている場合、前記デバイスと当該コンピュータとの接続を許可し、前記識別情報が前記リストのいずれのレコードにも記述されていない場合、前記デバイスと当該コンピュータとの接続を不許可とする接続制御処理、前記接続手段が、前記デバイスと当該コンピュータとの接続が不許可とされた場合には、前記デバイスと当該コンピュータとの接続を断つ接続切断処理、前記制御手段が、学習すべき識別情報の種類に対応する項目が指定され、かつ、新たなレコードを学習する学習モードに設定された場合、前記接続手段からデバイスの識別情報が通知されると、前記デバイスと当該コンピュータとの接続を許可し、学習モード時接続制御処理、および、前記制御手段が、指定された項目に、当該項目に対応する識別情報を記述したレコードを、前記リストに追加するレコード追加処理を実行させることを特徴とする。

発明の効果

0029

本発明によれば、パケットによる通信を許可するか、不許可にするかの判定に用いるリストを、管理者にとって分かり易い条件も含められるようにして、生成することができる。

0030

また、本発明によれば、他のデバイスの接続を許可するか、不許可にするのかの判定に用いるリストを生成することができる。

0031

また、本発明によれば、パケットによる通信を許可するか、不許可にするかの判定に用いるリストが複数の通信装置で生成される場合に、そのリストを管理することができる。

0032

また、本発明によれば、他のデバイスの接続を許可するか、不許可にするのかの判定に用いるリストが複数の通信装置で生成される場合に、そのリストを管理することができる。

図面の簡単な説明

0033

本発明の第1の実施形態の通信装置の例を示すブロック図である。
ゲートウェイが備える通信インタフェースの例を示す説明図である。
制御部が保持するリストの例を示す模式図である。
初期追加レコードが追加されたリストの例を示す模式図である。
通信の許可を示す制御情報をスイッチ部に設定する場合のログの例を示す模式図である。
学習項目設定テーブルの例を示す模式図である。
学習態様1を指定するとともに、学習モードで学習すべき条件として、「宛先ドメイン名」のみを指定した学習項目設定テーブルの例を示す模式図である。
学習態様3を指定するとともに、学習モードで学習すべき条件として、「送信元プロセス名」のみを指定した学習項目設定テーブルの例を示す模式図である。
学習態様3を指定するとともに、学習モードで学習すべき条件として、「送信元プロセスのユーザ名」のみを指定した学習項目設定テーブルの例を示す模式図である。
学習モードにおける処理経過の例を示すシーケンス図である。
学習モードにおける処理経過の例を示すシーケンス図である。
テップS15でレコードが追加されたリストの例を示す模式図である。
運用モードでの処理経過の例を示すシーケンス図である。
リストの一例を示す模式図である。
学習モードにおける処理経過の他の例を示すシーケンス図である。
ステップS45でレコードが追加されたリストの例を示す模式図である。
運用モードでの処理経過の例を示すシーケンス図である。
リストの一例を示す模式図である。
本発明の第2の実施形態の通信装置の例を示すブロック図である。
USB用リストの例を示す模式図である。
BLE用リストの例を示す模式図である。
USB用学習項目設定テーブルの例を示す模式図である。
BLE用学習項目設定テーブルの例を示す模式図である。
学習モードにおける処理経過の例を示すシーケンス図である。
運用モードでの処理経過の例を示すシーケンス図である。
本発明の第3の実施形態の通信システムの例を示す模式図である。
管理態様1でレコードを管理する管理サーバの構成例を示すブロック図である。
管理サーバが管理態様1でレコードを管理する場合の処理経過の例を示すシーケンス図である。
学習項目設定テーブルの設定の一例を示す模式図である。
ステップS205でリストに追加されるレコードの例を示す模式図である。
管理態様2でレコードを管理する管理サーバの構成例を示すブロック図である。
管理サーバが管理態様2でレコードを管理する場合の処理経過の例を示すシーケンス図である。
管理サーバが管理態様1でレコードを管理する場合の処理経過の例を示すシーケンス図である。
ステップS406でUSB用リストに追加されるレコードの例を示す模式図である。
管理サーバが管理態様2でレコードを管理する場合の処理経過の例を示すシーケンス図である。
本発明の通信装置の概要の例を示すブロック図である。
本発明の通信装置の概要の他の例を示すブロック図である。
本発明の通信システムの概要の例を示すブロック図である。
本発明の通信システムの概要の他の例を示すブロック図である。

実施例

0034

以下、本発明の実施形態を図面を参照して説明する。

0035

実施形態1.
図1は、本発明の第1の実施形態の通信装置の例を示すブロック図である。各実施形態では、本発明の通信装置10がゲートウェイである場合を例にして説明する。ゲートウェイ10は、制御部11と、スイッチ部12と、無線LAN(Local Area network)の通信インタフェース61(以下、無線LAN IF 61と記す)と、Ethernet(登録商標)の通信インタフェース62(以下、Ethernet IF 62と記す。)とを備える。

0036

図1に示す例では、ゲートウェイ10は、Ethernet IF 62および通信ネットワークを介して、管理サーバ20、DNS(Domain Name System)サーバ40および一般的なサーバ30に接続されている。管理サーバ20は、ゲートウェイ10に対して後述のリストのうち管理者が作成した部分を送信したり、ゲートウェイ10からログを受信したりする。サーバ30は、例えば、カメラ51やセンサ52で得られたデータを処理する。また、ゲートウェイ10には、無線LANIF 61を介して、カメラ51やセンサ52が接続されている。カメラ51およびセンサ52はゲートウェイ10の配下に接続されるデバイスの例であり、ゲートウェイ10の配下に接続される装置は、カメラ51やセンサ52に限定されない。

0037

管理サーバ20は、例えば、クラウドサーバであるが、クラウドサーバ以外のサーバであってもよい。サーバ30およびDNSサーバ40に関しても同様である。

0038

カメラ51やセンサ52は、ゲートウェイ10を介して、サーバ30と通信を行う。また、ゲートウェイ10の内部のプロセスA13またはプロセスB14がサーバ30と通信を行ってもよい。また、例えば、サーバ30がカメラ51にアクセスしてもよい。なお、ゲートウェイ10内のプロセスの数は特に限定されない。

0039

なお、ゲートウェイ10が備える通信インタフェースは、無線LANIF 61やEthernet IF 62に限定されない。図2は、ゲートウェイ10が備える通信インタフェースの例を示す説明図である。ゲートウェイ10は、通信インタフェースとして、例えば、Ethernet、無線LAN(2.4GHz)、無線LAN(5GHz)、Cellular等の通信インタフェースを有する。これらの通信インタフェースは、物理的な通信インタフェースである。図2では、無線LANの通信インタフェースが2種類設けられていて、Ethernetの通信インタフェースが2つ設けられている場合を例示している。

0040

スイッチ部12は、パケットを転送する。スイッチ部12は、パケット転送手段12と称することもできる。

0041

制御部11は、パケットのヘッダ情報に応じたスイッチ部12の動作を規定した制御情報(オープンフローにおけるフローエントリに相当)をスイッチ部12に設定することによって、スイッチ部12を制御する。制御部11はスイッチ部12を、例えば、オープンフローに従って制御してもよいが、制御部11がスイッチ部12を制御するプロトコルはオープンフローでなくてもよい。

0042

ヘッダ情報に適合する制御情報が未だスイッチ部12に設定されていないパケットを新規パケットと記す。スイッチ部12は、新規パケットを受信したときに、その新規パケットのヘッダ情報を制御部11に通知する。制御部11は、そのヘッダ情報を通知されると、そのヘッダ情報に適合する制御情報をスイッチ部12に設定する。

0043

制御部11は、通信を許可する条件を記述可能な複数の項目を含むレコードであって、その複数の項目のうち少なくとも一部の項目に条件が記述されたレコードのリストを保持する。そして、制御部11は、スイッチ部12からヘッダ情報(新規パケットのヘッダ情報)が通知されると、ヘッダ情報に含まれる情報、または、ヘッダ情報に含まれるIPアドレスから特定される情報が、そのリストのいずれかのレコードで記述されているか否かを判定する。ヘッダ情報に含まれる情報、または、ヘッダ情報に含まれるIPアドレスから特定される情報が、リストのいずれかのレコードで記述されている場合、制御部11は、その新規パケットによる通信の許可を示す制御情報をスイッチ部12に設定する。また、ヘッダ情報に含まれる情報、または、ヘッダ情報に含まれるIPアドレスから特定される情報が、リストのいずれのレコードにも記述されていない場合、制御部11は、その新規パケットによる通信の不許可を示す制御情報をスイッチ部12に設定する。

0044

上記のリストはホワイトリストであると言うことができる。

0045

また、制御部11は、新たなレコードを学習する学習モードに設定された場合、新たなレコードを学習し、上記のリストに追加する。新たなレコードを学習しリストに追加することを、リストの学習と称する場合もある。

0046

スイッチ部12および制御部11について、より詳細に説明する。

0047

スイッチ部12は、図2に例示する種々の物理的な通信インタフェースと論理的に接続されている。スイッチ部12がゲートウェイ10の外部からパケットを受信したり、ゲートウェイ10の外部にパケットを出力したりする場合、スイッチ部12は、パケットの受信やパケットの出力を、いずれかの通信インタフェースを介して行う。

0048

スイッチ部12は、パケットのヘッダ情報を認識する機能を有する。そして、新規パケット(すなわち、ヘッダ情報に適合する制御情報が未だ設定されていないパケット)を受信した場合、そのパケットのヘッダ情報を制御部11に通知する。また、パケットのヘッダ情報を制御部11に通知するということは、制御部11にそのヘッダ情報に応じた制御情報を問い合わせることを意味する。スイッチ部12は、ヘッダ情報を制御部11に通知した後も、受信した新規パケットを保持する。

0049

ヘッダ情報の通知(制御情報の問い合わせ)の結果、そのヘッダ情報に応じた制御情報が制御部11によって設定されると、スイッチ部12は、保持している新規パケットを、その制御情報に従って処理する。

0050

その新規パケットによる通信の許可を示す制御情報では、そのヘッダ情報に適合するパケットを出力すること、および、出力の際に用いる通信インタフェースが指定されている。従って、その新規パケットによる通信の許可を示す制御情報が設定された場合、スイッチ部12は、その制御情報によって指定された通信インタフェースから、保持している新規パケットを出力する。また、その制御情報は、その新規パケットと同一フローのパケットのヘッダ情報に適合する。従って、その後、スイッチ部12は、その新規パケットと同一フローのパケットを受信した場合、制御部11にヘッダ情報を通知せずに、その制御情報によって指定された通信インタフェースからそのパケットを出力する。

0051

また、その新規パケットによる通信の不許可を示す制御情報では、そのヘッダ情報に適合するパケットを破棄することが指定されている。従って、その新規パケットによる通信の不許可を示す制御情報が設定された場合、スイッチ部12は、その制御情報に従って、保持している新規パケットを破棄する。また、その制御情報は、その新規パケットと同一フローのパケットのヘッダ情報に適合する。従って、その後、スイッチ部12は、その新規パケットと同一フローのパケットを受信した場合、制御部11にヘッダ情報を通知せずに、その制御情報に従ってそのパケットを破棄する。

0052

制御部11は、スイッチ部12からパケットのヘッダ情報の通知を受けると、そのヘッダ情報に応じたスイッチ部12の動作を規定した制御情報を、スイッチ部12に設定する。制御部11は、そのパケットによる通信の許可を示す制御情報を設定するのか、あるいは、そのパケットによる通信の不許可を示す制御情報を設定するのかを、保持しているリストに基づいて判定する。

0053

図3は、制御部11が保持するリスト(ホワイトリスト)の例を示す模式図である。図3では、便宜的にリスト内のレコードの番号も示している。リスト内のレコードは、通信を許可する条件を記述可能な複数の項目を含む。そして、その複数の項目のうち、少なくとも一部の項目に条件が記述されている。

0054

図3に示す例では、「宛先ドメイン名」、「送信元プロセス名」、「送信元プロセスのユーザ名」、「宛先IPアドレス」等の項目を含んでいる。レコードに含まれる項目は、これらに限定されず、例えば、「送信元IPアドレス」、「送信元MAC(Media Access Control)アドレス」、「宛先MACアドレス」等に対応する項目が含まれていてもよい。

0055

図3に示す例では、1番目および2番目のレコードでは、「宛先ドメイン名」の項目に、通信を許可する条件として、具体的な宛先ドメイン名が記述され、他の項目はany (任意)に設定されている。また、3番目および4番目のレコードでは、「送信元プロセス名」の項目に、通信を許可する条件として、具体的なプロセス名が記述され、他の項目はany に設定されている。また、5番目および6番目のレコードでは、「送信元プロセスのユーザ名」の項目に、通信を許可する条件として、具体的なユーザ名が記述され、他の項目はanyに設定されている。なお、2つ以上の項目に条件が記述されてもよい。

0056

なお、ドメイン名、プロセス名、プロセスのユーザ名は、ヘッダ情報に含まれるIPアドレスを用いて特定される。

0057

出力インタフェース」の項目には、レコードに記述された条件が満たされた場合に生成される、通信を許可する旨の制御情報においてパケットの出力先として記述される通信インタフェースが記述される。

0058

補足情報には、例外を示す情報や、学習によって追加されたレコードである旨の情報が記述される。例えば、図3に示す3番目のレコードでは、「宛先ポート番号20,21は不許可」と記述されている。この場合、ヘッダ情報に含まれるIPアドレスを用いて特定された送信元プロセス名が“/bin/abc”であり、3番目のレコードに記述された条件を満たしていたとしても、ヘッダ情報に含まれる宛先ポート番号が20または21である場合には、制御部11は、通信の不許可を示す制御情報を設定する。また、図3に示す例では、2番目、4番目、6番目のレコードにおいて、「学習によって追加」と記載されている。このことは、2番目、4番目、6番目のレコードが、学習によって追加されたレコードであることを示している。また、1番目、3番目、5番目のレコードは、ゲートウェイ10の管理者が管理サーバ20に入力し、管理サーバ20が制御部11に送信することによって得られたレコードである。すなわち、1番目、3番目、5番目のレコードは、管理者によって作成されたレコードである。

0059

制御部11が新たなレコードを学習する状態を学習モードと記す。学習モードに設定される前には、追加されるレコードにおいて条件が学習される項目(すなわち、条件が記述される項目)が、管理者によって指定される。この項目の指定は、後述の学習項目設定テーブルを用いて行われる。本実施形態では、少なくとも、IPアドレスから特定可能な条件に対応する項目(例えば、「宛先ドメイン名」、「送信元プロセス名」、または「送信元プロセスのユーザ名」等)が指定されるものとする。

0060

学習モードでは、制御部11は、スイッチ部12から新規パケットのヘッダ情報が通知されると、必ずその新規パケットによる通信の許可を示す制御情報をスイッチ部12に設定する。

0061

また、制御部11は、指定された項目に、そのヘッダ情報内のIPアドレスから特定した条件(例えば、宛先ドメイン名等)を記述したレコードを作成し、リストに追加する。レコードを作成し、そのレコードをリストに追加する動作は、学習モードの終了後に行ってもよいが、ここでは、制御部11が、学習モード中に、条件を記述したレコードを作成し、リストに追加する場合を例にして説明する。

0062

また、制御部11は、学習モードに設定されると、リストに1つ以上のレコードを追加する。制御部11は、学習モードに設定された直後にこの処理を行う。学習モードに設定された直後に追加される1つ以上のレコードを、初期追加レコードと記す。指定された項目にIPアドレスから特定した条件(例えば、宛先ドメイン名等)を記述したレコードを作成し、そのレコードをリストに追加する処理は、1つ以上の初期追加レコードをリストに追加する処理とは別の処理である。

0063

制御部11は、1つ以上の初期追加レコードの中に、条件を記述可能な全ての項目に“any ”が記述された初期追加レコードを含める。また、制御部11は、個々の初期追加レコードの「出力インタフェース」の項目に、具体的な通信インタフェースを記述する。

0064

学習モードに設定された直後に1つ以上の初期追加レコードを追加した後、制御部11は、新規パケットのヘッダ情報が通知されると、新たにレコードを作成する。制御部11は、このレコードにおいて、条件に対応する項目のうち、指定された項目には具体的な条件(例えば、具体的なドメイン名)を記述する。さらに、制御部11は、「出力インタフェース」の項目には具体的な通信インタフェースを記述する。このとき、制御部11は、新規パケットのヘッダ情報に含まれる情報(本実施形態では、宛先IPアドレスとする。)が、1つ以上の初期追加レコードのうち、どの初期追加レコードが示す条件を満たすかを判定し、条件がその情報を満たしている初期追加レコードを特定する。そして、制御部11は、その初期追加レコードに記述されている通信インタフェースを、新たに作成したレコードの「出力インタフェース」の項目に記述する。また、制御部11は、そのレコードにおいて、補足情報の項目に、学習によって追加されたレコードである旨を記述する。

0065

レコードを学習せずに、制御部11が、リストに基づいてパケットによる通信を許可するか、不許可にするかを判定する状態を、運用モードと記す。

0066

管理者は、制御部11を、学習モードと運用モードのいずれかに設定する。例えば、管理者は、管理サーバ20に対して、学習モードとするのか、運用モードとするのかを入力し、管理サーバ20が、その入力に応じて、制御部11を、学習モードまたは運用モードに設定すればよい。

0067

前述のように、制御部11は、学習モードに設定された直後に、1つ以上の初期追加レコードをリストに追加する。図4は、初期追加レコードが追加されたリストの例を示す模式図である。図4に示す例では、n−2番目のレコードからn番目のレコードまでが初期追加レコードである。前述のように、制御部11は、1つ以上の初期追加レコードの中に、条件を記述可能な全ての項目に“any ”が記述された初期追加レコードを含める。図4に示す例では、n番目のレコードで、条件を記述可能な全ての項目に“any ”が記述されている。また、n−2番目とn−1番目のレコードでは、条件を示す各項目のうち「宛先IPアドレス」の項目に、具体的なアドレスが記述されている。また、それぞれの初期追加レコードでは、「出力インタフェース」の項目に具体的な通信インタフェースが記述されている。以下、制御部11が初期追加レコードを定める動作について、説明する。

0068

制御部11は、学習モードに設定されると、宛先IPアドレスと出力インタフェースとの対応関係を特定し、その対応関係に従って、初期追加レコードの「宛先IPアドレス」の項目および「出力インタフェース」の項目に、具体的なアドレスや通信インタフェースを記述する。

0069

例えば、ネットワーク構成において、宛先IPアドレス“192.168.2.0/24”と、通信インタフェース“Ethernet2 ”とが対応付けられているとする。また、宛先IPアドレス“192.168.3.0/24”と、通信インタフェース“wlan0”とが対応付けられているとする。また、その他の宛先IPアドレス(“192.168.2.0/24”および“192.168.3.0/24”以外の宛先IPアドレス)と、通信インタフェース“Ethernet1 ” とが対応付けられているとする。この場合、制御部11は、「宛先IPアドレス」として“192.168.2.0/24”を記述し、「出力インタフェース」として“Ethernet2 ”を記述し、その他の項目を全て“any ”としたレコードを、初期追加レコードとしてリストに追加する(図4に示すn−2番目のレコードを参照)。同様に、制御部11は、「宛先IPアドレス」として“192.168.3.0/24”を記述し、「出力インタフェース」として“wlan0”を記述し、その他の項目を全て“any ”としたレコードを、初期追加レコードとしてリストに追加する(図4に示すn−1番目のレコードを参照)。また、制御部11は、その他の宛先IPアドレス(“192.168.2.0/24”および“192.168.3.0/24”以外の宛先IPアドレス)と通信インタフェース“Ethernet1 ” とが対応付けられていることに基づいて、「出力インタフェース」として“Ethernet1 ”を記述し、その他の項目を全て“any ”としたレコードを、初期追加レコードとしてリストに追加する(図4に示すn番目のレコードを参照)。なお、「出力インタフェース」以外の項目が全て“any ”となっている初期追加レコードは、他の初期追加レコードよりも優先度が低い。

0070

上記のように、制御部11は、初期追加レコードの1つとして、「出力インタフェース」以外の項目を全て“any ”としたレコードを作成する。従って、初期追加レコードには、条件を記述可能な全ての項目に“any ”が記述されたレコードが存在することになる。

0071

初期追加レコード以外のレコードの中には、条件を記述可能な全ての項目に“any ”が記述されたレコードは存在しない。

0072

なお、学習モードから運用モードに切り替えられた場合、制御部11は、リストから初期追加レコードを全て削除する。

0073

次に、学習モードにおいて、初期追加レコードを追加した後に、制御部11がスイッチ部12から新規パケットのヘッダ情報の通知を受けたときの動作について、説明する。制御部11は、初期追加レコードの優先度の高い順に、ヘッダ情報の宛先IPアドレスと、初期追加レコードに記述された宛先IPアドレスとを照合する。両者が一致した場合には、制御部11は、「宛先IPアドレス」の項目にその宛先IPアドレスを記述し、予め指定された項目に、ヘッダ情報内のIPアドレスから特定した条件(例えば、宛先ドメイン名等)を記述し、「出力インタフェース」の項目に、その初期追加レコードに記述された通信インタフェースを記述し、「補足情報」の項目に、学習によって追加した旨を記述したレコードを作成する。制御部11は、そのレコードの他の項目には全て“any ”と記述し、そのレコードをリストに追加する。また、制御部11は、その新規パケットによる通信の許可を示す制御情報をスイッチ部12に設定する。また、制御部11は、宛先IPアドレスが一致しなかった場合には、次の優先度の初期追加レコードを用いて、同様の処理を行う。宛先IPアドレスが一致しないことが続いたとしても、制御部11は、条件を記述可能な全ての項目に“any ”が記述された初期追加レコード(図4に示すn番目のレコード)における宛先IPアドレスは、ヘッダ情報の宛先IPアドレスと一致しているとみなす。この場合、制御部11は、予め指定された項目に、ヘッダ情報内のIPアドレスから特定した条件(例えば、宛先ドメイン名等)を記述し、「出力インタフェース」の項目に、その初期追加レコードに記述された通信インタフェースを記述し、「補足情報」の項目に、学習によって追加した旨を記述したレコードを作成する。制御部11は、そのレコードの他の項目には全て“any ”と記述し、そのレコードをリストに追加する。また、制御部11は、新規パケットによる通信の許可を示す制御情報をスイッチ部12に設定する。

0074

初期追加レコードには、条件を記述可能な全ての項目に“any ”が記述されたレコードが存在する。従って、学習モードでは、制御部11は、スイッチ部12から新規パケットのヘッダ情報が通知されると、必ずその新規パケットによる通信の許可を示す制御情報をスイッチ部12に設定する。

0075

以下、説明を簡単にするために、新規パケットのヘッダ情報の宛先IPアドレスが、条件を記述可能な全ての項目に“any ”が記述された初期追加レコード(図4に示すn番目のレコード)における宛先IPアドレスと一致しているとみなされて、新たなレコードが作成されるものとする。すなわち、説明を簡単にするために、図4に示す最後の初期追加レコードに基づいて、新たなレコードが作成されるものとして説明する。すなわち、新規パケットのヘッダ情報が、図4に示すn−2番目のレコードおよびn−1番目のレコードには合致せず、n番目のレコードに合致するものとして説明する。

0076

また、制御部11は、通信の許可を示す制御情報をスイッチ部12に設定する場合、許可の根拠となったリスト内の条件(例えば、具体的なドメイン名、プロセス名、またはユーザ名等)、または、IPアドレスから特定した情報を記述したログを管理サーバ20に送信する。また、学習モードである場合、制御部11は、そのログ内に、学習モードである旨も記述する。

0077

図5は、通信の許可を示す制御情報をスイッチ部12に設定する場合のログの例を示す模式図である。図5では、便宜的にログの番号も示している。図5に示す例では、1番目および3番目のログは、運用モードにおいて作成されたログである。1番目のログは、運用モードにおいて、IPアドレスから特定したドメイン名(www.sssss.com )がリストに記述されていたことによって、通信を許可したことを示す。3番目のログは、運用モードにおいて、IPアドレスから特定したプロセス名(/usr/bin/abc)がリストに記述されていたことによって、通信を許可したことを示す。また、2番目および4番目のログは、学習モードにおいて作成されたログである。学習モードでは、制御部11は、必ず通信の許可を示す制御情報をスイッチ部12に設定する。2番目のログは、IPアドレスから特定したドメイン名が“www.uuuuu.com ”であったことを示す。4番目のログは、IPアドレスから特定したプロセス名が“/usr/bin/def”であったことを示す。

0078

また、制御部11は、通信の不許可を示す制御情報をスイッチ部12に設定した場合、その旨を記述したログを管理サーバ20に送信する。

0079

また、制御部11は、既に設定した制御情報であって通信の許可を示す制御情報に対応するヘッダ情報とは、宛先IPアドレスおよび送信元IPアドレスが逆になっているヘッダ情報を通知された場合、そのヘッダ情報に含まれる宛先IPアドレスにパケットを送信するための制御情報をスイッチ部12に設定する。

0080

次に、学習項目設定テーブルについて説明する。学習項目設定テーブルは、学習モードで学習すべき条件に対応する項目を指定するために用いられる。図6は、学習項目設定テーブルの例を示す模式図である。図6では、学習項目設定テーブルを便宜的に、2段に渡って図示している。

0081

図6に示す「入力インタフェース」から「送信元プロセスのユーザ名」までの欄は、学習モードで学習すべき条件であるか否かを指定するために用いられる。管理者は、学習モードで学習すべき条件であることを指定する場合には、その条件に対応する欄に“1”を記述し、学習すべき条件でないことを指定する場合には、その条件に対応する欄に“0”を記述する。例えば、学習モードで学習すべき条件として、「宛先ドメイン名」のみを指定する場合には、管理者は、「宛先ドメイン名」の欄に“1”を記述し、「入力インタフェース」から「送信元プロセスのユーザ名」までの他の欄に“0”を記述すればよい。この場合、「宛先ドメイン名」の項目に具体的なドメイン名が記述され、他の条件に対応する項目に“any ”が記述されたレコードが生成されることになる。なお、“1”が複数の欄に記述されていてもよい。ただし、例えば、図4に示すn−2番目またはn−1番目に示すレコードに基づいて新たなレコードを生成する場合には、学習項目設定テーブルで「宛先ドメイン名」の欄に“0”が記述されていたとしても、新たに生成されるレコードには具体的な宛先ドメイン名が記述される。

0082

学習態様の欄には、以下の4種類の学習態様のうち、いずれか1つが記述される。すなわち、管理者は、以下の学習態様1〜4のうち、いずれか1つを選択し、学習態様の欄に記述する。

0083

学習態様1:ゲートウェイ10の配下のデバイス(例えば、カメラ51等)が一般的なサーバ30を宛先として送信したパケットに基づいて、新たなレコードに記述すべき具体的な条件を特定する。

0084

学習態様2:一般的なサーバ30がゲートウェイ10の配下のデバイス(例えば、カメラ51等)を宛先として送信したパケットに基づいて、新たなレコードに記述すべき具体的な条件を特定する。

0085

学習態様3:ゲートウェイ10のプロセスが送信元であるパケットに基づいて、新たなレコードに記述すべき具体的な条件を特定する。

0086

学習態様4:ゲートウェイ10のプロセスが宛先であるパケットに基づいて、新たなレコードに記述すべき具体的な条件を特定する。

0087

ただし、上記の学習態様1〜4は例示であり、学習態様の分け方は、上記の例に限定されない。

0088

なお、制御部11は、ゲートウェイ10の配下のデバイスがサーバ30を宛先として送信したパケットと、サーバ30がゲートウェイ10の配下のデバイスを宛先として送信したパケットとを、パケットを受信したゲートウェイ10の通信インタフェースによって区別することができる。例えば、制御部11は、無線LANIF 61で受信されたパケットは前者であり、Ethernet IF 62で受信されたパケットは後者であると判断することができる。

0089

また、学習項目設定テーブルの「出力インタフェース」の欄(図6参照)には、新規パケットのヘッダ情報に適合する初期追加レコードに記述された通信インタフェースを記述することが定められている。従って、例えば、制御部11が、図4に記載のn−2番目のレコードに基づいて新たなレコードを生成する場合、新たなレコードにおける「出力インタフェース」として“Ethernet2”を記述する。また、例えば、制御部11が、図4に記載のn番目のレコードに基づいて新たなレコードを生成する場合、新たなレコードにおける「出力インタフェース」として“Ethernet1”を記述する。

0090

管理者は、管理サーバ20を用いて、学習項目設定テーブルの内容を定める。すなわち、管理サーバ20は、管理者から学習項目設定テーブルの内容を入力され、その内容を制御部11に通知する。そして、制御部11は、管理者が定めた内容を格納した学習項目設定テーブルを保持する。

0091

図7は、学習態様1を指定するとともに、学習モードで学習すべき条件として、「宛先ドメイン名」のみを指定した学習項目設定テーブルの例である。図7に示す学習項目設定テーブルが定められ、学習モードに設定されたとする。この場合、制御部11は、無線LANIF 61で受信されたパケットのヘッダ情報がスイッチ部12から通知されると、そのパケットによる通信の許可を示す制御情報をスイッチ部12に設定する。さらに、ヘッダ情報に含まれるIPアドレスから、宛先ドメイン名を特定する。

0092

なお、図7に示す例において、宛先ドメイン名の欄だけでなく、宛先IPアドレスの欄にも“1”が記述されていたとする。この場合、制御部11は、通知されたヘッダ情報から宛先IPアドレスも特定する。また、この場合、制御部11は、IPアドレスから宛先ドメイン名を特定できた場合には、宛先ドメイン名のみを特定し、宛先ドメイン名を特定できなかった場合に、宛先IPアドレスと特定してもよい。

0093

図8は、学習態様3を指定するとともに、学習モードで学習すべき条件として、「送信元プロセス名」のみを指定した学習項目設定テーブルの例である。図8に示す学習項目設定テーブルが定められ、学習モードに設定されたとする。この場合、制御部11は、プロセスによって生成されたパケットのヘッダ情報がスイッチ部12から通知されると、そのパケットによる通信の許可を示す制御情報をスイッチ部12に設定する。さらに、ヘッダ情報に含まれるIPアドレスを用いて、送信元プロセス名を特定する。

0094

図9は、学習態様3を指定するとともに、学習モードで学習すべき条件として、「送信元プロセスのユーザ名」のみを指定した学習項目設定テーブルの例である。図9に示す学習項目設定テーブルが定められ、学習モードに設定されたとする。この場合、制御部11は、プロセスによって生成されたパケットのヘッダ情報がスイッチ部12から通知されると、そのパケットによる通信の許可を示す制御情報をスイッチ部12に設定する。さらに、ヘッダ情報に含まれるIPアドレスを用いて、送信元プロセスのユーザ名を特定する。

0095

図7から図9までの各図では、学習すべき条件が1種類のみ指定された場合を示しているが、学習すべき条件が複数種類定められていてもよい。

0096

また、制御部11は、DNSサーバ40のIPアドレスを宛先IPアドレスとするパケット(DNSクエリ)や、DNSサーバ40のIPアドレスを送信元IPアドレスとするパケット(DNSクエリレスポンス)に関しては、運用モードであっても学習モードであっても、リストとは無関係に、通信の許可を示す制御情報をスイッチ部12に設定する。

0097

また、制御部11は、スイッチ部12がDNSサーバ40からDNSクエリレスポンスを受信したときに、そのDNSクエリレスポンスからドメイン名とIPアドレスとの対応関係を抽出し、その対応関係を記憶する。DNSクエリレスポンスは、DNSサーバ40がDNSクエリに対する応答として送信するパケットであり、DNSクエリに含まれるドメイン名と、DNSサーバ40が名前解決によって得たIPアドレスとを含んでいる。例えば、カメラ51が、DNSクエリを送信し、DNSクエリレスポンスを受信する。その後、カメラ51は、DNSクエリレスポンスに含まれるIPアドレスを宛先IPアドレスとしてパケットを送信する。このとき、制御部11は、そのIPアドレスとドメイン名との関係を記憶しているので、その宛先IPアドレスからドメイン名を特定することができる。

0098

制御部11は、ドメイン名とIPアドレスとの対応関係を記憶するとともに、その対応関係の有効期限も合わせて記憶する。そして、制御部11は、有効期限を経過した対応関係については、記憶領域から削除する。

0099

制御部11およびスイッチ部12は、例えば、通信プログラムに従って動作するコンピュータのCPU(Central Processing Unit )よって実現される。この場合、CPUは、コンピュータのプログラム記憶装置(図示略)等のプログラム記録媒体から通信プログラムを読み込み、そのプログラムに従って制御部11およびスイッチ部12として動作すればよい。

0100

次に、第1の実施形態の処理経過の例について説明する。図10および図11は、学習モードにおける処理経過の例を示すシーケンス図である。ここでは、図7に示す学習項目設定テーブルが設定されている場合を例にして説明する。すなわち、学習態様1が指定され、学習モードで学習すべき条件として、「宛先ドメイン名」が指定された場合を例にして説明する。また、制御部11は、管理者によって、学習モードに設定され、図4に示す初期追加レコード(n−2番目、n−1番目およびn番目のレコード)をリストに追加したものとする。既に述べたように、説明を簡単にするために、最後の初期追加レコード(n番目のレコード)に基づいて、新たなレコードが作成されるものとする。

0101

最初に、カメラ51は、ゲートウェイ10を介してサーバ30を通信を行う場合に、ドメイン名“www.uuuuu.com ”を含むDNSクエリを送信する(ステップS1)。

0102

スイッチ部12は、そのDNSクエリを受信する。ここで、DNSクエリが新規パケットであるとする。この場合、スイッチ部12は、DNSクエリのヘッダ情報を制御部11に通知する(ステップS2)。なお、ここでは、スイッチ部12が、受信したパケットのコピーを制御部11に送ることによって、制御部11にヘッダ情報を通知する場合を例にして説明する。また、スイッチ部12は、カメラ51から受信したDNSクエリを保持する。

0103

DNSクエリの宛先IPアドレスはDNSサーバ40のIPアドレスである。この場合、制御部11は、リストを参照せずに、通信の許可を示す制御情報をスイッチ部12に設定する(ステップS3)。すなわち、制御部11は、DNSサーバ40との通信に用いる通信インタフェースからパケットを出力することを規定した制御情報をスイッチ部12に設定する。なお、例えば、制御部11は、図4に例示するリストとは別に、通信を許可すべき宛先IPアドレス(予め定められた特定のサーバのIPアドレス)のリストを保持してもよい。そして、そのリスト内にDNSサーバ40のIPアドレスが含められていることによって、制御部11は、ステップS3で、上記のように、通信の許可を示す制御情報をスイッチ部12に設定する。

0104

次に、スイッチ部12は、ステップS3で設定された制御情報に従って、保持しているDNSクエリを、指定された通信インタフェースから出力する(ステップS4)。この結果、DNSサーバ40は、そのDNSクエリを受信する。

0105

すると、DNSサーバ40は、DNSクエリに含まれているドメイン名“www.uuuuu.com ”に応じたIPアドレスを求める。DNSサーバ40は、そのドメイン名およびIPアドレスと、両者の対応の有効期限を示す情報とを含むDNSクエリレスポンスを、送信する(ステップS5)。

0106

スイッチ部12は、そのDNSクエリレスポンスを受信する。このDNSクエリレスポンスは、新規パケットである。この場合、スイッチ部12は、DNSクエリレスポンスのコピーを制御部11に送ることによって、DNSクエリレスポンスのヘッダ情報を制御部11に通知する(ステップS6)。また、スイッチ部12は、受信したDNSクエリレスポンスを保持する。

0107

制御部11は、そのDNSクエリレスポンスを参照して、ドメイン名“www.uuuuu.com ”と、IPアドレスと、有効期限との対応関係を新たに記憶する(ステップS7)。

0108

また、DNSクエリレスポンスの送信元IPアドレスはDNSサーバ40のIPアドレスである。この場合、制御部11は、リストを参照せずに、通信の許可を示す制御情報をスイッチ部12に設定する(ステップS8)。すなわち、制御部11は、カメラ51との通信に用いる通信インタフェースからパケットを出力することを規定した制御情報をスイッチ部12に設定する。

0109

次に、スイッチ部12は、ステップS8で設定された制御情報に従って、保持しているDNSクエリレスポンスを、指定された通信インタフェースから出力する(ステップS9)。この結果、カメラ51は、DNSクエリレスポンスを受信する。そして、カメラ51は、“www.uuuuu.com ”に対応するIPアドレス(すなわち、サーバ30のIPアドレス)を認識する。

0110

上記の説明では省略したが、制御部11は、ステップS3,S8の後に、管理サーバ20に制御情報の内容を通知する。

0111

以降の動作は、図11を参照して説明する。

0112

カメラ51は、サーバ30のIPアドレスを宛先とするSYNパケットを送信する(ステップS11)。

0113

スイッチ部12は、そのSYNパケットを受信する。このSYNパケットは、新規パケットである。すなわち、そのSYNパケットのヘッダ情報に適合する制御情報は未だスイッチ部12に設定されていない。この場合、スイッチ部12は、SYNパケットのヘッダ情報を制御部11に通知する(ステップS12)。また、スイッチ部12は、そのSYNパケットを保持する。

0114

SYNパケットのヘッダ情報は図4に示すn番目のレコードに合致するので、制御部11は、SYNパケットのヘッダ情報に応じた制御情報として、SYNパケットによる通信の許可を示す制御情報を生成する(ステップS13)。このとき、制御部11は、図4に示すn番目のレコードで「出力先インタフェース」として記述されている通信ネットワークを、パケットの出力先として制御情報内に記述すればよい。

0115

また、制御部11は、ステップS12で通知されたヘッダ情報に含まれている宛先IPアドレスからと宛先ドメイン名を特定し、その宛先ドメイン名と、通信の許可を示す情報と、学習モードであることとを記述したログを生成し、記憶する(ステップS14)。制御部11は、ステップS7で、ドメイン名“www.uuuuu.com ”と、IPアドレスと、有効期限との対応関係を記憶している。制御部11は、ヘッダ情報に含まれている宛先IPアドレスと、その対応関係に基づいて、宛先ドメイン名を特定すればよい。本例では、制御部11は、図5において2番目に示しているログを生成し、記憶すればよい。

0116

さらに、制御部11は、ステップS14で特定した宛先ドメイン名を記述したレコードをリストに追加する(ステップS15)。制御部11は、このレコードの出力インタフェースの項目には、図4に示すn番目のレコードで「出力先インタフェース」として記述されている通信ネットワークを記述すればよい。また、制御部11は、このレコードの補足情報として、例えば、「学習によって追加」と記述すればよい。制御部11は、その他の項目については、全て“any ”と記述する。ステップS15でレコードが追加されたリストの例を、図12に示す。図12に示す最後のレコードが、ステップS15で追加されたレコードである。

0117

次に、制御部11は、ステップS13で生成した制御情報をスイッチ部12に設定する(ステップS16)。スイッチ部12は、その制御情報に従って、保持しているSYNパケットを出力する。すなわち、スイッチ部12は、保持しているSYNパケットを、制御情報内で指定されている通信インタフェースから出力する(ステップS17)。この結果、サーバ30は、SYNパケットを受信する。

0118

また、制御部11は、ステップS14で生成したログを管理サーバ20に送信する(ステップS18)。本例では、制御部11は、図5において2番目に示しているログを管理サーバ20に送信する。

0119

サーバ30は、SYNパケットに対する応答として、カメラ51のIPアドレスを宛先として、サーバ30のIPアドレスを送信元とするSYN_ACKパケットを送信する(ステップS19)。すなわち、SYN_ACKパケットとSYNパケットとでは、宛先IPアドレスと送信元IPアドレスとが逆になっている。

0120

スイッチ部12は、そのSYN_ACKパケットを受信する。このSYN_ACKパケットのヘッダ情報に適合する制御情報は未だスイッチ部12に設定されていない。この場合、スイッチ部12は、SYN_ACKパケットのヘッダ情報を制御部11に通知する(ステップS20)。また、スイッチ部12は、そのSYN_ACKパケットを保持する。

0121

ここで、SYN_ACKパケットのヘッダ情報における宛先IPアドレスおよび送信元IPアドレスは、既に設定した制御情報であって、通信の許可を示す制御情報(ステップS16で設定された制御情報)に対応するヘッダ情報における宛先IPアドレスおよび送信元IPアドレスと逆になっている。従って、制御部11は、SYN_ACKパケットのヘッダ情報に含まれる宛先IPアドレスにパケットを送信するための制御情報をスイッチ部12に設定する。すなわち、制御部11は、宛先IPアドレスが示すカメラ51との通信に用いる通信インタフェースからパケットを出力することを規定した制御情報をスイッチ部12に設定する(ステップS21)。

0122

スイッチ部12は、ステップS21で設定された制御情報に従って、保持しているSYN_ACKパケットを出力する(ステップS22)。この結果、カメラ51は、SYN_ACKパケットを受信する。

0123

また、制御部11は、例えば、「通信許可」という内容を示す情報を管理サーバ20に送信する(ステップS23)。

0124

SYN_ACKパケットを受信したカメラ51は、ACKパケットを送信する(ステップS24)。ACKパケットのヘッダ情報は、SYNパケットのヘッダ情報と同様である。従って、ステップS16で設定された制御情報は、ACKパケットのヘッダ情報に適合する。よって、スイッチ部12は、その制御情報に従って、ACKパケットを出力する(ステップS25)。この結果、サーバ30は、ACKパケットを受信する。

0125

図13は、運用モードでの処理経過の例を示すシーケンス図である。ここでは、制御部11が、図14に示すリストを保持している場合を例にして説明する。学習モードから運用モードに切り替えられた場合、制御部11は、リストから初期追加レコードを全て削除する。従って、図14に示すリストにおいて、初期追加レコードは存在しない。以下に示す例でも、カメラ51がゲートウェイ10を介してサーバ30と通信を行う場合を例にして説明する。

0126

ステップS1〜S9の動作は、学習モードにおけるステップS1〜S9(図10参照)の動作と同様であり、ここでは説明を省略する。図13は、運用モードにおけるステップS9の後の処理経過を示している。また、既に説明した動作と同様の動作については、図11と同一の符号で示し、詳細な説明は、適宜省略する。

0127

ステップS11,S12は、学習モードにおけるステップS11,S12(図11参照)と同様であり、説明を省略する。

0128

制御部11は、スイッチ部12からヘッダ情報を通知されると、そのヘッダ情報に含まれる情報、または、そのヘッダ情報に含まれるIPアドレスから特定される情報が、リストのいずれかのレコードで記述されているか否かを判定する。本例では、図14に示すm番目のレコードを参照する場合、制御部11は、ヘッダ情報に含まれる宛先IPアドレスから宛先ドメイン名を特定する。制御部11は、ステップS7で、ドメイン名“www.uuuuu.com ”と、IPアドレスと、有効期限との対応関係を記憶している。制御部11は、ヘッダ情報に含まれている宛先IPアドレスと、その対応関係に基づいて、宛先ドメイン名“www.uuuuu.com ”を特定すればよい。図14おけるm番目のレコードには、宛先ドメイン名として、“www.uuuuu.com ”が記述されている。従って、制御部11は、宛先IPアドレスから特定された宛先ドメイン名を記述したレコードがリスト内に存在すると判定する(ステップS31)。

0129

従って、制御部11は、SYNパケットによる通信の許可を示す制御情報を生成する(ステップS32)。このとき、制御部11は、ステップS31で特定した宛先ドメイン名が記述されたレコード内で記述されている出力インタフェースを、パケットの出力先として制御情報に記述する。本例では、制御部11は、図14に示すm番目のレコードに記述されている出力インタフェース“Ethernet1 ”を制御情報に記述する。

0130

また、制御部11は、宛先IPアドレスから特定された宛先ドメイン名と、通信を許可したことを示す情報とを記述したログを生成し、記憶する(ステップS33)。なお、本実施形態では、学習モードと記述されていないログは、運用モードで生成されたログであるものとする。制御部11は、例えば、「www.uuuuu.com への通信を許可」と記述したログを生成すればよい。

0131

次に、制御部11は、ステップS32で生成した制御情報をスイッチ部12に設定する(ステップS16)。スイッチ部12は、保持しているSYNパケットを、その制御情報内で指定されている通信インタフェースから出力する(ステップS17)。この結果、サーバ30は、SYNパケットを受信する。

0132

また、制御部11は、ステップS33で生成したログを管理サーバ20に送信する(ステップS18)。

0133

ステップS19以降の動作は、既に説明した学習モードにおけるステップS19以降の動作(図11参照)と同様であり、説明を省略する。

0134

また、ステップS31において、制御部11が、ヘッダ情報に含まれる情報、または、ヘッダ情報に含まれるIPアドレスから特定される情報が、リストのいずれのレコードにも記述されていないと判定したとする。この場合、制御部11は、ステップS32において、SYNパケットによる通信の不許可を示す制御情報を生成する。すなわち、制御部11は、通知されたヘッダ情報に応じた制御情報として、パケットの破棄を規定した制御情報を生成する。また、制御部11は、ステップS33において、通信を不許可としたことを記述したログを生成し、記憶する。

0135

そして、制御部11は、ステップS16において、その制御情報をスイッチ部12に設定する。スイッチ部12は、その制御情報に従って、保持しているSYNパケットを破棄する。従って、この場合、SYNパケットはサーバ30に送信されず、ステップS19以降の処理は行われない。

0136

また、制御部11は、ステップS33で生成したログ(本例では、通信を不許可としたことを記述したログ)を、管理サーバ20に送信する(ステップS18)。

0137

管理サーバ20は、学習モードや運用モードにおいて、制御部11からログを受信すると、そのログを記憶し、管理者の操作に応じて、ログを表示する。従って、管理者は、ログを閲覧することができる。

0138

また、上記の例では、学習モードに設定されている間に、制御部11が、ステップS15で、新たなレコードをリストに追加する場合を説明した。新たなレコードをリストに追加する動作は、学習モードが解除されたとき(すなわち、学習モードから運用モードに切り替えられたとき)に実行されてもよい。この場合、制御部11は、ステップS14でログを生成する際、パケットの出力先となる通信インタフェース(ステップS13で制御情報内に記述した通信インタフェース)もログに記述する。制御部11は、ステップS14でそのログを記憶し、学習モードが解除されたときに、記憶しているログに基づいて、通信を許可にする条件(上記の例では、宛先ドメイン名“www.uuuuu.com ”)と、出力インタフェースを記述するとともに、補足情報として「学習によって追加」と記述したレコードを生成し、リストに追加してもよい。また、学習モード中に、ヘッダ情報が複数回通知された場合には、制御部11は、その回数に応じた数のレコードをそれぞれ生成し、リストに追加すればよい。この点は、後述の例においても同様である。

0139

また、制御部11は上記のログを管理サーバ20に送信し、管理サーバ20はそのログを記憶する。そして、そのログを閲覧した管理者が、追加するレコードの内容を定めてもよい。この場合、管理サーバ20は、管理者の操作に応じて、ログを表示する。そして、管理サーバ20は、追加するレコードを管理者によって入力され、そのレコードを制御部11に送信する。制御部11は、管理サーバ20から受信したレコードをリストに追加する。このような方法で、レコードをリストに追加してもよい。

0140

図15は、学習モードにおける処理経過の他の例を示すシーケンス図である。ここでは、図8に示す学習項目設定テーブルが設定されている場合を例にして説明する。すなわち、学習態様3が指定され、学習モードで学習すべき条件として、「送信元プロセス名」が指定された場合を例にして説明する。制御部11は、学習モードに設定されたことによって、リストに初期追加レコードを追加したものとする。本例では、図4に示すn−2番目からn番目までのレコードを追加したものとする。また、説明を簡単にするために、図4に示す最後の初期追加レコード(図4に示すn番目のレコード)に基づいて、新たなレコードが作成されるものとして説明する。

0141

最初にプロセスA13は、サーバ30のIPアドレスを宛先とするSYNパケットを送信する(ステップS41)。

0142

スイッチ部12は、そのSYNパケットを受信する。このSYNパケットは、新規パケットである。すなわち、そのSYNパケットのヘッダ情報に適合する制御情報は未だスイッチ部12に設定されていない。この場合、スイッチ部12は、SYNパケットのヘッダ情報を制御部11に通知する(ステップS42)。また、スイッチ部12は、そのSYNパケットを保持する。

0143

SYNパケットのヘッダ情報は図4に示すn番目のレコードに合致するので、制御部11は、SYNパケットのヘッダ情報に応じた制御情報として、SYNパケットによる通信の許可を示す制御情報を生成する(ステップS43)。このとき、制御部11は、図4に示すn番目のレコードで「出力先インタフェース」として記述されている通信ネットワークを、パケットの出力先として制御情報内に記述すればよい。

0144

また、制御部11は、通知されたヘッダ情報に含まれている宛先IPアドレスを用いて、送信元プロセス名を特定し、その送信元プロセス名と、通信の許可を示す情報と、学習モードであることとを記述したログを生成し、記憶する(ステップS44)。本実施形態において、特に言及しない限り、プロセス名は、プロセスパス名とともに記述されたプロセス名であるとする。

0145

以下、制御部11が、送信元プロセス名を特定する処理について説明する。制御部11は、具体的には、ヘッダ情報にふくまれる宛先IPアドレス、宛先ポート番号およびプロトコルから送信元プロセス名を特定する。この方法は、公知の方法であってもよい。以下、制御部11が、送信元プロセス名を特定する動作の一例を説明する。

0146

制御部11は、スイッチ部12から通知されたヘッダ情報から、宛先IPアドレス、宛先ポート番号およびプロトコルを取得する。

0147

そして、制御部11は、その宛先IPアドレスおよび宛先ポート番号をキーとして、プロセスがソケット通信に利用しているiノード番号検索する。例えば、ゲートウェイ10のCPUは、プロトコルに応じた所定のファイルに、宛先IPアドレスおよび宛先ポート番号とiノード番号との対応関係を記述している。制御部11は、宛先IPアドレスおよび宛先ポート番号をキーとして、そのファイルからiノード番号を検索する。制御部11は、ヘッダ情報から取得したプロトコルに基づいて、iノード番号を検索すべきファイルを特定すればよい。

0148

次に、制御部11は、そのiノード番号に対応するプロセスIDを検出する。例えば、CPUは、所定の複数のパスの配下のファイルに、iノード番号とプロセスIDとの対応関係を記述している。制御部11は、それらのファイルから、iノード番号に対応するプロセスIDを検出する。

0149

次に、制御部11は、そのプロセスIDをキーにして、プロセス名そのもの(プロセスパス名が記述されていないプロセス名)と、そのプロセスのプロセスパス名を検索する。例えば、CPUは、プロセスIDに応じた所定のファイル(第1のファイルと記す。)に、プロセス名そのものと、プロセスIDとの対応関係を記述している。また、CPUは、プロセスIDに応じた別の所定のファイル(第2のファイルと記す。)に、プロセスIDとプロセスパスとの対応関係を記述している。制御部11は、プロセスIDをキーにして、第1のファイルからプロセス名そのものを検索し、プロセスIDをキーにして、第2のファイルからプロセスパス名を検索する。

0150

次に、制御部11は、検索したプロセスパス名とプロセス名とを繋げる。この結果、プロセスパス名とともに記述されたプロセスパス名が特定される。

0151

本例では、送信元プロセス名として“/bin/ghi”が特定されたとする。

0152

ステップS44の後、制御部11は、特定した送信元プロセス名を記述したレコードをリストに追加する(ステップS45)。制御部11は、このレコードの出力インタフェースの項目には、図4に示すn番目のレコードで「出力先インタフェース」として記述されている通信ネットワークを記述すればよい。また、制御部11は、このレコードの補足情報として、例えば、「学習によって追加」と記述すればよい。制御部11は、その他の項目については、全て“any ”と記述する。ステップS45でレコードが追加されたリストの例を、図16に示す。図16に示す最後のレコードが、ステップS45で追加されたレコードである。

0153

次に、制御部11は、ステップS43で生成した制御情報をスイッチ部12に設定する(ステップS46)。スイッチ部12は、その制御情報に従って、保持しているSYNパケットを、制御情報内で指定されている通信インタフェースから出力する(ステップS47)。この結果、サーバ30は、SYNパケットを受信する。

0154

また、制御部11は、ステップS44で生成したログを管理サーバ20に送信する(ステップS48)。

0155

サーバ30は、SYNパケットに対する応答として、SYNパケットの送信元IPアドレスを宛先とし、サーバ30のIPアドレスを送信元とするSYN_ACKパケットを送信する(ステップS49)。すなわち、SYN_ACKパケットとSYNパケットとでは、宛先IPアドレスと送信元IPアドレスとが逆になっている。

0156

スイッチ部12は、そのSYN_ACKパケットを受信する。このSYN_ACKパケットのヘッダ情報に適合する制御情報は未だスイッチ部12に設定されていない。この場合、スイッチ部12は、SYN_ACKパケットのヘッダ情報を制御部11に通知する(ステップS50)。また、スイッチ部12は、そのSYN_ACKパケットを保持する。

0157

ここで、SYN_ACKパケットのヘッダ情報における宛先IPアドレスおよび送信元IPアドレスは、既に設定した制御情報であって、通信の許可を示す制御情報(ステップS46で設定された制御情報)に対応するヘッダ情報における宛先IPアドレスおよび送信元IPアドレスと逆になっている。従って、制御部11は、SYN_ACKパケットのヘッダ情報に含まれる宛先IPアドレスにパケットを送信するための制御情報をスイッチ部12に設定する(ステップS51)。

0158

スイッチ部12は、ステップS51で設定された制御情報に従って、保持しているSYN_ACKパケットをプロセスA13に送る(ステップS52)。

0159

また、制御部11は、例えば、「通信許可」という内容を示す情報を管理サーバ20に送信する(ステップS53)。

0160

SYN_ACKパケットを受信したプロセスA13は、ACKパケットを送信する(ステップS54)。ACKパケットのヘッダ情報は、SYNパケットのヘッダ情報と同様である。従って、ステップS46で設定された制御情報は、ACKパケットのヘッダ情報に適合する。よって、スイッチ部12は、その制御情報に従って、ACKパケットを出力する(ステップS55)。この結果、サーバ30は、ACKパケットを受信する。

0161

図17は、運用モードでの処理経過の例を示すシーケンス図である。ここでは、制御部11が、図18に示すリストを保持している場合を例にして説明する。学習モードから運用モードに切り替えられた場合、制御部11は、リストから初期追加レコードを全て削除する。従って、図18に示すリストにおいて、初期追加レコードは存在しない。以下に示す例でも、プロセスA13がサーバ30と通信を行う場合を例にして説明する。

0162

ステップS41,S42は、学習モードにおけるステップS41,S42(図15参照)と同様であり、説明を省略する。

0163

制御部11は、スイッチ部12からヘッダ情報を通知されると、そのヘッダ情報に含まれる情報、または、そのヘッダ情報に含まれるIPアドレスから特定される情報が、リストのいずれかのレコードで記述されているか否かを判定する。本例では、図18に示すm番目のレコードを参照する場合、制御部11は、ヘッダ情報に含まれる宛先IPアドレスから送信元プロセス名を特定する。より具体的には、ヘッダ情報に含まれる宛先IPアドレス、宛先ポート番号およびプロトコルから、送信元プロセス名を特定する。ここでは、特定された送信元プロセス名が“/bin/ghi”であるとする。制御部11は、送信元プロセス名“/bin/ghi”を記述したレコードがリスト内に存在すると判定する(ステップS61)。

0164

従って、制御部11は、SYNパケットによる通信の許可を示す制御情報を生成する(ステップS62)。このとき、制御部11は、ステップS61で特定した送信元プロセス名が記述されたレコード内で記述されている出力インタフェースを、パケットの出力先として制御情報に記述する。本例では、制御部11は、図18に示すm番目のレコードに記述されている出力インタフェース“Ethernet1 ”を制御情報に記述する。

0165

また、制御部11は、特定した送信元プロセス名と、通信を許可したことを示す情報とを記述したログを生成し、記憶する(ステップS63)。制御部11は、例えば、「/bin/ghiの通信を許可」と記述したログを生成すればよい。

0166

次に、制御部11は、ステップS62で生成した制御情報をスイッチ部12に設定する(ステップS46)。スイッチ部12は、保持しているSYNパケットを、その制御情報内で指定されている通信インタフェースから出力する(ステップS47)。この結果、サーバ30は、SYNパケットを受信する。

0167

また、制御部11は、ステップS63で生成したログを管理サーバ20に送信する(ステップS48)。

0168

ステップS49以降の動作は、既に説明した学習モードにおけるステップS49以降の動作(図15参照)と同様であり、説明を省略する。

0169

また、ステップS61において、制御部11が、ヘッダ情報に含まれる情報、または、ヘッダ情報に含まれるIPアドレスから特定される情報が、リストのいずれのレコードにも記述されていないと判定したとする。この場合、制御部11は、ステップS62において、SYNパケットによる通信の不許可を示す制御情報を生成する。すなわち、制御部11は、通知されたヘッダ情報に応じた制御情報として、パケットの破棄を規定した制御情報を生成する。また、制御部11は、ステップS63において、通信を不許可としたことを記述したログを生成し、記憶する。

0170

そして、制御部11は、ステップS46において、その制御情報をスイッチ部12に設定する。スイッチ部12は、その制御情報に従って、保持しているSYNパケットを破棄する。従って、この場合、SYNパケットはサーバ30に送信されず、ステップS49以降の処理は行われない。

0171

また、制御部11は、ステップS63で生成したログ(本例では、通信を不許可としたことを記述したログ)を、管理サーバ20に送信する(ステップS48)。

0172

前述のように、新たなレコードをリストに追加する動作は、学習モードが解除されたとき(すなわち、学習モードから運用モードに切り替えられたとき)に実行されてもよい。この場合、制御部11は、ステップS44でログを生成する際、パケットの出力先となる通信インタフェース(ステップS43で制御情報内に記述した通信インタフェース)もログに記述する。制御部11は、ステップS44でそのログを記憶し、学習モードが解除されたときに、記憶しているログに基づいて、通信を許可にする条件(上記の例では、送信元プロセス名“/bin/ghi”)と、出力インタフェースを記述するとともに、補足情報として「学習によって追加」と記述したレコードを生成し、リストに追加してもよい。

0173

また、制御部11は上記のログを管理サーバ20に送信し、管理サーバ20はそのログを記憶する。そして、そのログを閲覧した管理者が、追加するレコードの内容を定めてもよい。この場合、管理サーバ20は、管理者の操作に応じて、ログを表示する。そして、管理サーバ20は、追加するレコードを管理者によって入力され、そのレコードを制御部11に送信する。制御部11は、管理サーバ20から受信したレコードをリストに追加する。このような方法で、レコードをリストに追加してもよい。

0174

また、学習モードで学習すべき条件として、「送信元プロセスのユーザ名」が指定されていてもよい。例えば、図9に例示する学習項目設定テーブルが設定されていてもよい。この場合、学習モードに設定された場合、制御部11は、前述の例(図15参照)における送信元プロセス名を特定する動作の代わりに、送信元プロセスのユーザ名を特定すればよい。

0175

また、制御部11は、運用モードにおいて、「送信元プロセスのユーザ名」が記述されたレコードを参照する場合にも、送信元プロセスのユーザ名を特定すればよい。

0176

以下、制御部11が、送信元プロセスのユーザ名を特定する処理について説明する。制御部11は、具体的には、ヘッダ情報にふくまれる宛先IPアドレス、宛先ポート番号およびプロトコルから、送信元プロセスのユーザ名を特定する。この方法は、公知の方法であってもよい。以下、制御部11が、送信元プロセスのユーザ名を特定する動作の一例を説明する。

0177

制御部11は、スイッチ部12から通知されたヘッダ情報から、宛先IPアドレス、宛先ポート番号およびプロトコルを取得する。次に、制御部11は、その宛先IPアドレスおよび宛先ポート番号をキーとして、プロセスがソケット通信に利用しているiノード番号を検索する。次に、制御部11は、そのiノード番号に対応するプロセスIDを検出する。これらの動作は、既に説明したプロセスIDの検出動作と同様である。既に説明したように、制御部11は、iノード番号を検索すべきファイルを、ヘッダ情報から取得したプロトコルに基づいて判定すればよい。

0178

次に、制御部11は、実行中のプロセスを表示させるコマンドを用いて、そのプロセスIDをキーとして、プロセスのユーザ名(実行ユーザ名)を取得する。

0179

本実施形態によれば、リスト(ホワイトリスト)のレコードを上記のように制御部11が追加することができる。従って、管理者の工数増加を抑えて、リストを生成することができる。

0180

また、本実施形態では、上記の例のように、例えば、宛先ドメイン名、送信元プロセス名、送信元プロセスのユーザ名等、ユーザにとって分かり易い条件を記述したレコードをリストに追加することができる。

0181

なお、リストの記述形式は、表形式でなくてもよい。例えば、各レコードが一連文字列で記述されていてもよい。また、この場合、anyに該当する項目の記述は省略されていてもよい。この点は、後述の実施形態においても同様である。

0182

実施形態2.
図19は、本発明の第2の実施形態の通信装置(ゲートウェイ)の例を示すブロック図である。ここでは、第2の実施形態におけるゲートウェイ10が、第1の実施形態におけるゲートウェイ10の構成要素を有している場合を例にして説明する。ただし、図19では、第1の実施形態で説明した構成要素のうち、制御部11と、スイッチ部12とを図示している。また、第2の実施形態におけるゲートウェイ10は、デバイスの接続インタフェースを備え、その接続インタフェースに差し込まれたデバイスとゲートウェイ10とを接続させる。ここで、「接続させる」とは、接続インタフェースに差し込まれたデバイスとゲートウェイ10との間で、データ授受できる状態にすることを意味する。

0183

制御部11は、スイッチ部12だけでなく、接続部17も制御する。制御部11が接続部17を制御する動作の詳細については、後述する。

0184

なお、ゲートウェイ10が、第1の実施形態で説明した構成要素を有しているゲートウェイでなくてもよい。その場合、後述の動作によって接続部17を制御する制御部が設けられていればよい。

0185

図19に示す例では、ゲートウェイ10は、デバイスの接続インタフェースとして、USB(Universal Serial Bus)インタフェース63と、BLE(Bluetooth(登録商標) Low Energy)インタフェース64とを備える。USBインタフェース63には、例えば、USBストレージデバイス53が着脱される。BLEインタフェース64には、例えば、BLEセンサ54が着脱される。以下、USBインタフェース63にデバイス(USBストレージデバイス53)が差し込まれる場合を例に説明するが、BLEインタフェース64にデバイス(例えば、BLEセンサ54)が差し込まれる場合も同様である。

0186

USBインタフェース63にUSBストレージデバイス53が差し込まれると、接続部17は、一旦、USBストレージデバイス53とゲートウェイ10とを接続させる。そして、接続部17は、USBストレージデバイス53の識別情報を制御部11に送り、制御部11の制御に従って、USBストレージデバイス53とゲートウェイ10との接続を断ったり、あるいは、接続状態を維持したりする。

0187

制御部11は、デバイスの識別情報を記述したレコードのリストを保持する。通知された識別情報がリストのいずれのレコードにも記述されていない場合、制御部11は、USBストレージデバイス53とゲートウェイ10との接続を不許可とし、その旨を接続部17に通知する。この場合、接続部17は、USBストレージデバイス53とゲートウェイ10との接続を断つ。通知された識別情報がリストのいずれかのレコードで記述されている場合、制御部11は、USBストレージデバイス53とゲートウェイ10との接続を許可する。この場合、制御部11は、接続部17に通知をしない。接続部17は、制御部11から通知がなければ、USBストレージデバイス53とゲートウェイ10との接続状態を維持する。上記のリストは、ホワイトリストであると言うことができる。

0188

また、識別情報の種類は、1種類であるとは限らず、複数種類である場合もある。従って、上記のリストにおいて、レコードは、デバイスの識別情報を記述可能な1以上の項目を含み、少なくとも1つの項目にデバイスの識別情報が記述されている。また、レコードは、補足情報の項目を含んでいてもよい。

0189

制御部11は、第1の実施形態と同様に、学習モードまたは運用モードに設定され、学習によってレコードを追加する。学習によって追加されたレコードには、補足情報の項目に、例えば、「学習によって追加」と記述される。

0190

図20は、USBインタフェース63に接続されるデバイスに対して用いられるリスト(以下、USB用リストと記す。)の例である。USBインタフェース63に接続されるデバイスの識別情報には、VID(Vendor ID )、PID(Product ID)およびシリアル番号の3種類が存在する。従って、USB用リストのレコードは、3種類の識別情報の項目と、補足情報の項目とを含み、1種類以上の識別情報の項目に具体的なデバイスの識別情報が記述されている。

0191

図21は、BLEインタフェース64に接続されるデバイスに対して用いられるリスト(以下、BLE用リストと記す)の例である。本実施形態では、BLEインタフェース64に接続されるデバイスの識別情報が1種類(BD(Bluetooth Device)アドレス)であるものとして説明する。BLE用リストのレコードは、1種類の識別情報(BDアドレス)の項目と、補足情報の項目とを含み、そのBDアドレスの項目に具体的なBDアドレスが記述されている。

0192

制御部11は、USB用リスト(図20参照)と、BLE用リスト(図21参照)とを別個に保持する。

0193

管理者は、管理サーバ20(図1参照。図19において図示略。)を用いて、制御部11を学習モードまたは運用モードに設定する。換言すれば、管理サーバ20は、管理者の指示に従って、制御部11を学習モードまたは運用モードに設定する。

0194

制御部11は、学習モードに設定されると、初期追加レコードをリストに追加する。第2の実施形態において、初期追加レコードは、全ての項目をany としたレコードである。また、第2の実施形態では、1つのリストに追加される初期追加レコードは1つである。また、制御部11は、運用モードに設定されると、リストから初期追加レコードを削除する。

0195

ただし、上記のように、制御部11は、USB用リストとBLE用リストを別個に保持する。そのため、管理者は、制御部11を学習モードに設定する際、USB用リストのレコードのみを学習するのか、BLE用リストのレコードのみを学習するのか、または、USB用リストのレコードとBLE用リストのレコードの両方を学習するかについても指定する。

0196

USB用リストのレコードのみを学習することが指定された場合、制御部11は、USB用リストのみに初期追加レコード(全ての項目をany としたレコード)を追加する。そして、制御部11は、USB用リストのレコードのみを学習し、BLEインタフェース64に差し込まれたデバイスに対しては運用モード時の動作を行う。

0197

BLE用リストのレコードのみを学習することが指定された場合、制御部11は、BLE用リストのみに初期追加レコード(全ての項目をany としたレコード)を追加する。そして、制御部11は、BLE用リストのレコードのみを学習し、USBインタフェース63に差し込まれたデバイスに対しては運用モード時の動作を行う。

0198

USB用リストのレコードとBLE用リストのレコードの両方を学習することが指定された場合、制御部11は、USB用リストとBLE用リストのそれぞれに初期追加レコードを追加する。そして、制御部11は、USB用リストのレコードと、BLE用リストのレコードをそれぞれ学習する。

0199

また、本実施形態では、制御部11は、USBインタフェース63用の学習項目設定テーブル(以下、USB用学習項目設定テーブル)と、BLEインタフェース64用の学習項目設定テーブル(以下、BLE用学習項目設定テーブル)を保持する。

0200

図22は、USB用学習項目設定テーブルの例を示す模式図である。USB用学習項目設定テーブルは、「VID」、「PID」、「シリアル番号」の各欄を備える。管理者は、学習すべき識別情報に対応する欄に“1”を記述し、学習対象でない識別情報に対応する欄に“0”を記述する。図22に示す例では、3種類の識別情報のうち、VIDおよびPIDが学習対象として定められている。

0201

図23は、BLE用学習項目設定テーブルの例を示す模式図である。BLE用学習項目設定テーブルは、BDアドレスの欄を備える。管理者は、BDアドレスを学習対象とする場合には、BDアドレスの欄に“1”を記述し、BDアドレスを学習対象としない場合には、BDアドレスの欄に“0”を記述する。

0202

管理者は、管理サーバ20(図1参照。図19において図示略。)を用いて、各学習項目設定テーブルの内容を定める。すなわち、管理サーバ20は、管理者からUSB用学習項目設定テーブルおよびBLE用学習項目設定テーブルの内容を入力され、その内容を制御部11に通知する。そして、制御部11は、管理者が定めた内容を格納したUSB用学習項目設定テーブルおよびBLE用学習項目設定テーブルを保持する。

0203

USB用リストのレコードを学習することが指定された場合、USB用リストには、全ての項目をany とした初期追加レコードが追加されている。従って、制御部11は、USBインタフェース63用に差し込まれたデバイスに対して、必ず接続を許可する。

0204

同様に、BLE用リストのレコードを学習することが指定された場合、BLE用リストには、全ての項目をany とした初期追加レコードが追加されている。従って、制御部11は、BLEインタフェース64用に差し込まれたデバイスに対して、必ず接続を許可する。

0205

第2の実施形態の動作を行う制御部11および接続部17は、デバイス接続制御プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、コンピュータのプログラム記憶装置(図示略)等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、第2の実施形態における制御部11および接続部17として動作すればよい。

0206

次に、第2の実施形態の処理経過の例について説明する。以下では、USBインタフェース63にデバイスが接続される場合を例にして説明するが、BLEインタフェース64にデバイスが接続される場合の処理経過も同様である。

0207

図24は、学習モードにおける処理経過の例を示すシーケンス図である。ここでは、図22に示すUSB用学習項目設定テーブルが設定されている場合を例にして説明する。すなわち、学習すべき識別情報の種類として、VIDおよびPIDが指定された場合を例にして説明する。また、制御部11は、学習モードに設定され、USB用リストに、初期追加レコード(全ての項目をany としたレコード)を追加しているものとする。

0208

USBストレージデバイス53がUSBインタフェース63に差し込まれると(ステップS101)、接続部17は、USBストレージデバイス53とゲートウェイ10とを接続させる(ステップS102)。また、ステップS102において、接続部17は、USBストレージデバイス53から、USBストレージデバイス53の各種識別情報(VID、PID、シリアル番号)を取得する。

0209

接続部17は、その各種識別情報(VID、PID、シリアル番号)を制御部11に通知する(ステップS103)。

0210

制御部11は、VID、PID、シリアル番号の通知を受けた場合、USB用リストに初期追加レコードが追加されているので、USBストレージデバイス53とゲートウェイ10との接続を許可する(ステップS104)。制御部11は、接続を許可した場合、接続部17に通知を行わない。接続部17は、制御部11から通知がなければ、USBストレージデバイス53とゲートウェイ10との接続状態を維持する。

0211

また、制御部11は、ステップS103で通知された各種識別情報のうち、USB用学習項目設定テーブルで指定されている種類の識別情報(本例では、VIDおよびPID)と、接続を許可したことと、学習モードであることを記述したログを生成し、記憶する(ステップS105)。

0212

さらに、制御部11は、ステップS103で通知された各種識別情報のうち、USB用学習項目設定テーブルで指定されている項目(本例では、VIDおよびPID)に、具体的なVID、PIDを記述し、補足情報の項目に、学習によって追加されたことを記述したレコードを生成し、そのレコードをUSB用リストに追加する(ステップS106)。なお、制御部11は、シリアル番号の項目には“any ”を記述する。例えば、図20最終行に相当するレコードを生成し、そのレコードをリストに追加する。

0213

図25は、運用モードでの処理経過の例を示すシーケンス図である。ここでは、制御部11が、図20に例示するUSB用リストを保持している場合を例にして説明する。運用モードに設定されると、制御部11は、初期追加レコード(全ての項目をany としたレコード)を削除する。以下、VIDが“00:00:04”であり、PIDが“00:00:04”であるUSBストレージデバイス53がUSBインタフェース63に差し込まれる場合を例にして説明する。

0214

ステップS101〜S103は、学習モードにおけるステップS101〜S103と同様であり、説明を省略する。

0215

制御部11は、各種識別情報(VID、PID、シリアル番号)の通知を受けると、その識別情報がいずれかのレコードに記述されているか否かを判定する(ステップS111)。本例では、VIDが“00:00:04”であり、PIDが“00:00:04”である。また、図20の最終行に相当するレコードでは、VIDとして“00:00:04”が記述され、PIDとして“00:00:04”が記述され、シリアル番号として“any ”が記述されている。従って、本例では、制御部11は、通知されたVIDおよびPIDを記述したレコードが存在すると判定する。さらに、通知された識別情報を記述したレコードがリスト内に存在する場合、制御部11は、USBストレージデバイス53とゲートウェイ10との接続を許可する。既に説明したように、制御部11は、接続を許可する場合には接続部17に通知を行わず、接続部17は、制御部11からの通知がないことにより、USBストレージデバイス53とゲートウェイ10との接続を維持する。

0216

また、制御部11は、ログを生成し、記憶する(ステップS112)。本例では、制御部11は、レコードに記述されていた識別情報に合致する識別情報(VID“00:00:04”、および、PID“00:00:04”)と、接続を許可したこととを記述したログを生成し、記憶する。

0217

また、ステップS111で、制御部11が、接続部17から通知された識別情報がUSBリスト内のいずれのレコードにも記述されていないを判定したとする。この場合、制御部11は、USBストレージデバイス53とゲートウェイ10との接続を不許可とし、その旨を接続部17に通知する。接続を不許可とする通知を受けた接続部17は、USBストレージデバイス53とゲートウェイ10との接続を断つ。また、制御部11は、ステップS112で、接続を不許可としたことを記述したログを生成し、記憶する。

0218

なお、接続を許可した場合であっても、接続を不許可とした場合であっても、制御部11は、生成したログを、管理サーバ20(図1参照。図19において図示略。)に送信する。

0219

上記の例では、学習モードに設定されている間に、制御部11が、ステップS106で新たなレコードをリストに追加する場合を説明した。新たなレコードをリストに追加する動作は、学習モードが解除されたとき(すなわち、学習モードから運用モードに切り替えられたとき)に実行されてもよい。この場合、制御部11は、学習モードが解除されたときに、記憶しているログに基づいて、ステップS106で生成するレコードと同様のレコードを生成し、リストに追加すればよい。

0220

また、制御部11は、ステップS105で生成したログを管理サーバ20に送信し、管理サーバ20はそのログを記憶する。そして、そのログを閲覧した管理者が、追加するレコードの内容を定めてもよい。この場合、管理サーバ20は、管理者の操作に応じて、ログを表示する。そして、管理サーバ20は、追加するレコードを管理者によって入力され、そのレコードを制御部11に送信する。制御部11は、管理サーバ20から受信したレコードをリストに追加する。このような方法で、レコードをリストに追加してもよい。

0221

本実施形態によれば、USBリストやBLEリストのレコードを、制御部11が追加することができる。従って、管理者の工数増加を抑えて、ホワイトリスト(USBリストやBLEリスト)を生成することができる。

0222

実施形態3.
図26は、本発明の第3の実施形態の通信システムの例を示す模式図である。本発明の第3の実施形態の通信システムは、複数の通信装置(ゲートウェイ)10a,10bと、その複数の通信装置を管理する管理サーバ20とを備える。各ゲートウェイ10a,10bは通信ネットワークを介して、管理サーバ20と通信可能である。なお、各ゲートウェイ10a,10bを特に区別しない場合には、単に「ゲートウェイ10」と記す。図26では、2つのゲートウェイ10を図示しているが、ゲートウェイ10の数は、2つ以上であれば、特に限定されない。

0223

また、ゲートウェイ10には、ゲートウェイ10を介して一般的なサーバ30(図1を参照)と通信を行うデバイス、あるいは、ゲートウェイ10に設けられた接続インタフェースに着脱されるデバイスが存在する。図26に示すデバイス71〜73は、このようなデバイスを表している。デバイス71〜73は、ゲートウェイ10を介して通信を行うデバイスであってもよい。また、デバイス71〜73は、ゲートウェイ10に設けられた接続インタフェースに着脱されるデバイスであってもよい。

0224

各デバイス71〜73はそれぞれ、例えば、携帯型デバイスであり、移動可能である。例えば、ゲートウェイ10aを介して通信を行っていたデバイス72が移動し、移動後に、そのデバイス72がゲートウェイ10bを介して通信を行ってもよい。また、例えば、ゲートウェイ10aの接続インタフェースに差し込まれていたデバイス72がゲートウェイ10aから取り外され、ゲートウェイ10bの接続インタフェースに差し込まれてもよい。

0225

各ゲートウェイ10a,10bは、第1の実施形態で説明したゲートウェイ10、または、第2の実施形態で説明したゲートウェイ10である。また、各ゲートウェイ10a,10bが、第1の実施形態で説明したゲートウェイ10の機能と、第2の実施形態で説明したゲートウェイ10の機能の両方を有していてもよい。

0226

管理サーバ20は、各ゲートウェイ10で学習されたリストのレコードを管理する。管理サーバ20が、学習されたレコードを管理する態様として、例えば、以下に示す2種類の管理態様がある。

0227

管理態様1:管理サーバ20は、任意のゲートウェイ10で学習されたレコードを、各ゲートウェイ10に共通に保持させる。

0228

管理態様2:管理サーバ20は、任意のゲートウェイ10で学習されたレコードが、他のゲートウェイ10でも保持されている場合、他のゲートウェイ10にそのレコードにそのレコードを削除させる。すなわち、管理サーバ20は、任意のゲートウェイ10が新たにレコードを学習した場合、そのゲートウェイ10のみに、そのレコードを保持させる。

0229

管理態様1では、デバイスが移動したとしても、1つのゲートウェイ10で学習されたレコードを、他のゲートウェイ10が再度、学習しなくて済むという効果が得られる。

0230

管理態様2では、デバイスが移動したことによって、そのデバイスが使用しなくなったゲートウェイ10に古いレコードが残されなくなる。従って、セキュリティ脆弱性を抑えたり、メンテナンス容易性を向上させたりすることができる。また、レコードの検索処理速度を向上させることができる。

0231

また、本実施形態では、デバイスの識別情報を記述したレコードが管理対象である。

0232

以下、各デバイス71〜72が、ゲートウェイ10を介して一般的なサーバ30(図1を参照)と通信を行うデバイスである場合を例にして説明する。この場合、各ゲートウェイ10は、第1の実施形態で説明したゲートウェイ10(図1参照)である。ただし、ゲートウェイ10の制御部11(図1参照)は、学習によってリストに追加したレコードを、管理サーバ20に送信する動作も行う。上記のように、本実施形態では、デバイスの識別情報を記述したレコードが管理対象である。ここでは、デバイスの識別情報がデバイスのMACアドレスであり、ゲートウェイ10が、「送信元MACアドレス」を記述したレコードを学習する場合を例にして説明する。

0233

まず、管理サーバ20が管理態様1でレコードを管理する場合について説明する。図27は、管理態様1でレコードを管理する管理サーバ20の構成例を示すブロック図である。図27に示す例では、管理サーバ20は、受信部21と、記憶部22と、配信部23とを備える。

0234

受信部21は、ゲートウェイ10で学習されたリストのレコードを受信する。

0235

記憶部22は、受信部21が受信したレコードを記憶する記憶装置である。

0236

配信部23は、受信部21が受信したレコードを、そのレコードを送信したゲートウェイ10以外の各ゲートウェイ10の制御部11に配信する。

0237

受信部21および配信部23は、例えば、プログラムに従って動作するコンピュータのCPUと、通信インタフェースとによって実現される。

0238

次に、管理サーバ20が管理態様1でレコードを管理する場合の処理経過の例について説明する。以下に示す例では、ゲートウェイ10aが、デバイス72のMACアドレスを記述したレコードを学習し、そのレコードを管理サーバ20に送信し、管理サーバ20が、そのレコードをゲートウェイ10bに配信する動作を説明する。

0239

図28は、管理サーバ20が管理態様1でレコードを管理する場合の処理経過の例を示すシーケンス図である。

0240

また、ここでは、ゲートウェイ10aの制御部11(以下、制御部11aと記す。)に、図29に示す学習項目設定テーブルが設定されているものとする。すなわち、学習態様1が指定され、学習モードで学習すべき条件として、「送信元MACアドレス」が指定されているものとする。また、制御部11aは、学習モードに設定されたことによって、初期追加レコードをリストに追加する。例えば、制御部11aは、図4に例示するn−2番目からn番目までのレコードを、初期追加レコードとしてリストに追加する。ただし、説明を簡単にするために、図4に示す最後の初期追加レコード(図4に示すn番目のレコード)に基づいて、新たなレコードが作成されるものとして説明する。

0241

デバイス72は、サーバ30のIPアドレスを宛先とするSYNパケットを送信する(ステップS201)。

0242

ゲートウェイ10aのスイッチ部12(以下、スイッチ部12aと記す。)は、そのSYNパケットを受信する。このSYNパケットは、新規パケットである。すなわち、そのSYNパケットのヘッダ情報に適合する制御情報は未だスイッチ部12aに設定されていない。この場合、スイッチ部12aは、SYNパケットのヘッダ情報を制御部11aに通知する(ステップS202)また、スイッチ部12aは、そのSYNパケットを保持する。

0243

SYNパケットのヘッダ情報は図4に示すn番目のレコードに合致するので、制御部11aは、SYNパケットのヘッダ情報に応じた制御情報として、SYNパケットによる通信の許可を示す制御情報を生成する(ステップS203)。このとき、制御部11aは、図4に示すn番目のレコードで「出力先インタフェース」として記述されている通信ネットワークを、パケットの出力先として制御情報内に記述すればよい。

0244

また、図29に示す学習項目設定テーブルが設定されているので、制御部11aは、ヘッダ情報から送信元MACアドレスを抽出することによって、送信元MACアドレスを特定する。そして制御部11aは、その送信元MACアドレスと、通信の許可を示す情報と、学習モードであることを記述したログを生成し、記憶する(ステップS204)。

0245

さらに、制御部11aは、ステップS204で特定した送信元MACアドレスを記述したレコードをリストに追加する(ステップS205)。制御部11aは、このレコードの出力インタフェースの項目には、図4に示すn番目のレコードで「出力先インタフェース」として記述されている通信ネットワークを記述すればよい。また、制御部11aは、このレコードの補足情報として、例えば、「学習によって追加」と記述すればよい。制御部11aは、その他の項目については、全て“any ”と記述する。ステップS205でリストに追加されるレコードの例を、図30に示す。図30では、ステップS205でリストに追加される1つのレコードのみを示し、リスト全体については図示していない。

0246

ステップS204で特定された送信元MACアドレスは、デバイス72の識別情報に該当する。従って、図30に示すレコードは、デバイス72の識別情報(デバイス72のMACアドレス)を記述したレコードである。

0247

次に、制御部11aは、ステップS203で生成した制御情報をスイッチ部12aに設定する(ステップS206)。スイッチ部12aは、その制御情報に従って、保持しているSYNパケットを出力する。すなわち、スイッチ部12aは、保持しているSYNパケットを、制御情報内で指定されている通信インタフェースから出力する(ステップS207)。この結果、サーバ30は、SYNパケットを受信する。

0248

なお、SYNパケットを受信したサーバ30は、SYN_ACKパケットを送信するが、SYN_ACKパケット送信後の動作は、第1の実施形態で示したステップS19以降の動作と同様である。従って、以下の説明では、サーバ30によるSYN_ACKパケット送信後の動作については説明を省略する。

0249

また、制御部11aは、ステップS204で生成したログ、および、ステップS205でリストに追加したレコード(図30参照)を、管理サーバ20に送信する(ステップS208)。

0250

管理サーバ20の受信部21(図27参照)は、そのログおよびレコードを受信し、記憶部22に記憶させる。

0251

そして、管理サーバ20の配信部23は、受信部21が受信したレコードを、そのレコードを送信したゲートウェイ10a以外の各ゲートウェイ(本例ではゲートウェイ10bのみ)の制御部11に配信する(ステップS209)。

0252

ゲートウェイ10bの制御部11(以下、制御部11bと記す。)は、そのレコード受信すると、制御部11bが保持しているリストにそのレコードを追加する。その結果、制御部11bが保持しているリストに、図30に示すレコードが追加される。

0253

その後、デバイス72が移動し、ゲートウェイ10bを使用可能な場所に配置されたとする。また、このとき、ゲートウェイ10bの制御部11bは、運用モードに設定されているとする。

0254

移動後に、デバイス72が、再度、サーバ30のIPアドレスを宛先とするSYNパケットを送信する(ステップS210)。

0255

ゲートウェイ10bのスイッチ部12(以下、スイッチ部12bと記す。)は、そのSYNパケットを受信する。このSYNパケットは、新規パケットである。すなわち、そのSYNパケットのヘッダ情報に適合する制御情報は未だスイッチ部12bに設定されていない。この場合、スイッチ部12bは、SYNパケットのヘッダ情報を制御部11bに通知する(ステップS211)。また、スイッチ部12bは、そのSYNパケットを保持する。

0256

制御部11は、ヘッダ情報を通知されると、そのヘッダ情報に含まれる情報、または、そのヘッダ情報に含まれるIPアドレスから特定される情報が、リストのいずれかのレコードで記述されているか否かを判定する。制御部11は、図30に示すレコードを参照する場合、ヘッダ情報に含まれる送信元MACアドレスを抽出し、その送信元MACアドレスが、図30に示す送信元MACアドレス“11:22:33:44:55:66”と一致すると判定する。

0257

従って、制御部11bは、SYNパケットによる通信の許可を示す制御情報を生成する。このとき、制御部11bは、図30に示すレコードに記述されている出力インタフェースを、パケットの出力先として制御情報に記述する。本例では、出力インタフェース“Ethernet1 ”(図30参照)を制御情報に記述する。そして、制御部11bは、生成した制御情報をスイッチ部12bに設定する(ステップS212)。

0258

スイッチ部12bは、その制御情報に従って、保持しているSYNパケットを出力する。すなわち、スイッチ部12bは、保持しているSYNパケットを、制御情報内で指定されている通信インタフェースから出力する(ステップS213)。この結果、サーバ30は、SYNパケットを受信する。

0259

前述のように、サーバ30によるSYN_ACKパケット送信後の動作の説明は省略する。

0260

管理態様1によれば、管理サーバ20は、ゲートウェイ10aが学習によってリストに追加したレコード(図30参照)を、ゲートウェイ10bの制御部11bに配信する。従って、デバイス72が移動してゲートウェイ10bを使用する場合であっても、ゲートウェイ10bは、レコードを学習せずに、デバイス72が送信したパケットをサーバ30に中継することができる。

0261

次に、管理サーバ20が管理態様2でレコードを管理する場合について説明する。図31は、管理態様2でレコードを管理する管理サーバ20の構成例を示すブロック図である。図31に示す例では、管理サーバ20は、受信部21と、記憶部22と、削除指示部24とを備える。

0262

受信部21および記憶部22は、図27に示す受信部21および記憶部22と同様である。

0263

削除指示部24は、受信部21がレコードを受信した場合、そのレコードを送信したゲートウェイ10以外の各ゲートウェイ10の制御部11に対して、そのレコードに記述されているデバイスの識別情報が記述されているレコードの削除を指示する。なお、この指示を受けた制御部11は、指示に従って、保持しているリストから、該当するレコードを削除する。

0264

受信部21および削除指示部24は、例えば、プログラムに従って動作するコンピュータのCPUと、通信インタフェースとによって実現される。

0265

次に、管理サーバ20が管理態様2でレコードを管理する場合の処理経過の例について説明する。以下に示す例では、ゲートウェイ10aが、デバイス72のMACアドレスを記述したレコードを学習しているものとする。また、ゲートウェイ10bもデバイス72のMACアドレスを記述したレコードを学習し、そのレコードを管理サーバ20に送信し、管理サーバ20が、ゲートウェイ10aにレコードの削除を指示する動作を説明する。

0266

図32は、管理サーバ20が管理態様2でレコードを管理する場合の処理経過の例を示すシーケンス図である。

0267

ゲートウェイ10aの制御部11aは、学習モードで、デバイス72がサーバ30を宛先とするパケットを送信したことにより、図30に示すレコードを既に学習し、そのレコードをリストに追加しているものとする。この動作は、図28に示すステップS201〜S207の動作と同様であり、ここでは、説明を省略する。

0268

制御部11aが保持するリストには図30に示すレコードが追加されている。従って、制御部11aが運用モードに設定された場合、制御部11aは、デバイス72がサーバ30を宛先として送信したパケットの転送を許可する制御情報をスイッチ部12aに設定し、スイッチ部12aは、そのパケットをサーバ30に転送する(ステップS301〜S304)。ステップS301〜S304の動作は、図28に示すステップS210〜S213の動作と同様であり、ここでは、説明を省略する。

0269

また、ゲートウェイ10bの制御部11bに、図29に示す学習項目設定テーブルが設定されているものとする。すなわち、学習態様1が指定され、学習モードで学習すべき条件として、「送信元MACアドレス」が指定されているものとする。また、制御部11bは、学習モードに設定されたことによって、初期追加レコードをリストに追加する。例えば、制御部11bは、図4に例示するn−2番目からn番目までのレコードを、初期追加レコードとしてリストに追加する。ただし、説明を簡単にするために、図4に示す最後の初期追加レコード(図4に示すn番目のレコード)に基づいて、新たなレコードが作成されるものとして説明する。

0270

学習モードにおいて、デバイス72がサーバ30を宛先として送信したパケットを、ゲートウェイ10bが中継することによって、ゲートウェイ10bの制御部11bは、図30に示すレコードを学習し、制御部11bが保持しているリストに追加する(ステップS305〜S311)。ステップS305〜S311の動作は、図28に示すステップS201〜S207の動作と同様であり、ここでは、説明を省略する。この結果、制御部11bが保持しているリストにも、図30に示すレコード(デバイス72のMACアドレスを送信元アドレスとして記述したレコード)が追加される。

0271

制御部11bは、ステップS308で生成したログ、および、ステップS309でリストに追加したレコード(図30参照)を、管理サーバ20に送信する(ステップS312)。

0272

管理サーバ20の受信部21(図31参照)は、そのログおよびレコードを受信し、記憶部22に記憶させる。

0273

そして、管理サーバ20の削除指示部24(図31参照)は、そのレコードを送信したゲートウェイ10b以外の各ゲートウェイ(本例ではゲートウェイ10aのみ)の制御部11aに対して、そのレコードに記述されているデバイス72のMACアドレス“11:22:33:44:55:66”が記述されているレコードを削除するように指示する(ステップS313)。

0274

制御部11aは、その指示に従って、デバイス72のMACアドレス“11:22:33:44:55:66”が記述されているレコードを、制御部11aが保持しているリストの中から削除する。制御部11aが保持しているリストには、図30に示すレコードが含まれていて、そのレコードの「送信元MACアドレス」の項目には、デバイス72のMACアドレス“11:22:33:44:55:66”が記述されている。従って、制御部11aは、保持しているリストの中から、図30に示すレコードを削除する。

0275

デバイス72が移動して、ゲートウェイ10bを介してサーバ30と通信を行うことになったことにより、ゲートウェイ10aでは、デバイス72が送信したパケットに基づいて学習したレコードは不要になる。管理態様2では、管理サーバ20がそのレコードの削除をゲートウェイ10aに指示し、ゲートウェイ10aはそのレコードを削除する。従って、リスト内のレコード数が減少するので、セキュリティの脆弱性を抑えたり、メンテナンスの容易性を向上させたりすることができる。また、レコードの検索処理速度を向上させることができる。

0276

次に、各デバイス71〜72が、ゲートウェイ10に設けられた接続インタフェースに着脱されるデバイスである場合を例にして説明する。この場合、ゲートウェイ10は、第2の実施形態で説明したゲートウェイ10(図19参照)である。ただし、ゲートウェイ10の制御部11(図19参照)は、学習によってリストに追加したレコードを、管理サーバ20に送信する動作も行う。前述のように、本実施形態では、デバイスの識別情報を記述したレコードが管理対象である。以下の説明では、デバイスが、USBインタフェース63に着脱されるデバイスであるものとする。そして、デバイスの識別情報として、VID、PIDおよびシリアル番号の3種類があり、ゲートウェイ10が、そのうちVIDおよびPIDを記述したレコードを学習する場合を例にして説明する。

0277

まず、管理サーバ20が管理態様1でレコードを管理する場合について説明する。この場合、管理サーバ20は、図27に示すブロック図で表すことができるので、図27を参照して説明する。受信部21、記憶部22および配信部23については、既に説明したので、ここでは説明を省略する。

0278

管理サーバ20が管理態様1でレコードを管理する場合の処理経過の例について説明する。以下に示す例では、ゲートウェイ10aが、デバイス72のVIDおよびPIDを記述したレコードを学習し、そのレコードを管理サーバ20に送信し、管理サーバ20が、そのレコードをゲートウェイ10bに配信する動作を説明する。

0279

前述の場合と同様に、ゲートウェイ10aの制御部11を、制御部11aと記す。ゲートウェイ10bの制御部11を、制御部11bと記す。また、ゲートウェイ10aの接続部17を、接続部17aと記す。ゲートウェイ10bの接続部17を、接続部17bと記す。また、ゲートウェイ10aのUSBインタフェース63を、USBインタフェース63aと記す。ゲートウェイ10bのUSBインタフェース63を、USBインタフェース63bと記す

0280

図33は、管理サーバ20が管理態様1でレコードを管理する場合の処理経過の例を示すシーケンス図である。

0281

また、ここでは、ゲートウェイ10aの制御部11aに、図22に示すUSB用学習項目設定テーブルが設定されているものとする。すなわち、3種類の識別情報のうち、VIDおよびPIDが学習対象として指定されているものとする。また、制御部11aは、USB用リストのレコードのみを学習することが指定され、学習モードに設定されたことによって、USB用リスト(図20参照)に初期追加レコード(全ての項目をany としたレコード)を追加しているものとする。さらに、デバイス72のVIDが“00:00:05”であり、デバイス72のPIDが“00:00:05”であるものとする。

0282

デバイス72がゲートウェイ10aのUSBインタフェース63aに差し込まれると(ステップS401)、ゲートウェイ10aの接続部17aは、デバイス72とゲートウェイ10aとを接続させる(ステップS402)。また、ステップS402において、接続部17aは、デバイス72から、デバイス72の各種識別情報(VID、PID、シリアル番号)を取得する。

0283

接続部17aは、その各種識別情報(VID、PID、シリアル番号)を制御部11aに通知する(ステップS403)。

0284

制御部11aは、VID、PID、シリアル番号の通知を受けた場合、リストに初期追加レコードが追加されているので、デバイス72とゲートウェイ10aとの接続を許可する(ステップS404)。制御部11aは、接続を許可した場合、接続部17aに通知を行わない。接続部17aは、制御部11aから通知がなければ、デバイス72とゲートウェイ10aとの接続情報を維持する。

0285

また、制御部11aは、ステップS403で通知された各種設定情報のうち、USB用学習項目設定テーブルで指定されている種類の識別情報(本例では、VIDおよびPID。図22参照。)と、接続を許可したことと、学習モードであることを記述したログを生成し、記憶する(ステップS405)。

0286

さらに、制御部11aは、ステップS403で通知された各種設定情報のうち、USB用学習項目設定テーブルで指定されている項目(本例では、VIDおよびPID。図22参照。)に、具体的なVID、PIDを記述し、補足情報の項目に、学習によって追加されたことを記述したレコードを生成し、そのレコードをUSB用リストに追加する(ステップS406)。なお、制御部11aは、シリアル番号の項目には“any ”を記述する。ステップS406でUSB用リストに追加されるレコードの例を、図34に示す。図34では、ステップS406でUSB用リストに追加される1つのレコードのみを示し、USB用リスト全体については図示していない。

0287

次に、制御部11aは、ステップS405で生成したログ、および、ステップS406でUSB用リストに追加したレコード(図34参照)を、管理サーバ20に送信する(ステップS407)。

0288

管理サーバ20の受信部21(図27参照)は、そのログおよびレコードを受信し、記憶部22に記憶させる。

0289

そして、管理サーバ20の配信部23は、受信部21が受信したレコードを、そのレコードを送信したゲートウェイ10a以外の各ゲートウェイ(本例ではゲートウェイ10bのみ)の制御部11に配信する(ステップS408)。

0290

ゲートウェイ10bの制御部11bは、そのレコードを受信すると、制御部11bが保持しているUSB用リストにそのレコードを追加する。その結果、制御部11bが保持しているリストに、図34に示すレコードが追加される。

0291

その後、デバイス72がゲートウェイ10aから取り外され、持ち運ばれて、ゲートウェイ10bのUSBインタフェース63b差し込まれたとする(ステップS409)。また、このとき、ゲートウェイ10bの制御部11bは、運用モードに設定されているとする。

0292

すると、ゲートウェイ10bの接続部17bは、デバイス72とゲートウェイ10bとを接続させる(ステップS410)。また、ステップS410において、接続部17bは、デバイス72から、デバイス72の各種識別情報(VID、PID、シリアル番号)を取得する。

0293

接続部17bは、その各種識別情報(VID、PID、シリアル番号)を制御部11bに通知する(ステップS411)。ステップS409〜S411の動作は、ステップS401〜S403の動作と同様である。

0294

制御部11bは、各種識別情報(VID、PID、シリアル番号)の通知を受けると、その識別情報がいずれかのレコードに記述されているか否かを判定する。本例では、通知されたVIDが“00:00:05”であり、通知されたPIDが“00:00:05”である。従って、制御部11bは、通知されたVIPおよびPIDが記述されたレコード(図34参照)が、USB用リスト内に存在すると判定する(ステップS412)。従って、制御部11bは、デバイス72とゲートウェイ10bとの接続を許可する。制御部11bは、接続を許可する場合には接続部17bに通知を行わず、接続部17bは、制御部11bからの通知がないことにより、デバイス72とゲートウェイ10bとの接続を維持する。

0295

また、制御部11bは、レコードに記述されていた識別情報に合致する識別情報(VID“00:00:05”、および、PID“00:00:05”)と、接続を許可したこととを記述したログを生成し、記憶する(ステップS413)。

0296

管理態様1によれば、管理サーバ20は、ゲートウェイ10aが学習によってリスト(上記の例ではUSB用リスト)に追加したレコード(図34参照)を、ゲートウェイ10bの制御部11bに配信する。従って、デバイス72が移動して、ゲートウェイ10bのUSBインタフェース63bに差し込まれた場合であっても、ゲートウェイ10bは、レコードを学習せずに、デバイス72とゲートウェイ10bとの接続を許可することができる。

0297

次に、管理サーバ20が管理態様2でレコードを管理する場合について説明する。この場合、管理サーバ20は、図31に示すブロック図で表すことができるので、図31を参照して説明する。受信部21、記憶部22および削除指示部24については、既に説明したので、ここでは説明を省略する。

0298

管理サーバ20が管理態様2でレコードを管理する場合の処理経過の例について説明する。以下に示す例では、ゲートウェイ10aが、デバイス72のVIDおよびPIDを記述したレコードを学習しているものとする。また、ゲートウェイ10bもデバイス72のVIDおよびPIDを記述したレコードを学習し、そのレコードを管理サーバ20に送信し、管理サーバ20が、ゲートウェイ10aにそのレコードの削除を指示する動作を説明する。

0299

上記の場合と同様に、デバイス72のVIDが“00:00:05”であり、デバイス72のPIDが“00:00:05”であるものとする。

0300

図35は、管理サーバ20が管理態様2でレコードを管理する場合の処理経過の例を示すシーケンス図である。

0301

ゲートウェイ10aの制御部11aは、学習モードにおいて、デバイス72がUSBインタフェース63aに差し込まれたことにより、図34に示すレコードを既に学習し、そのレコードをUSB用リストに追加しているものとする。この動作は、図33に示すステップS401〜S406の動作と同様であり、ここでは、説明を省略する。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ