(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される複数のポートと、
前記ポートを介して第１の期間中に受信したデータに含まれる少なくとも一部のヘッダ情報を、通信を許可するデータに関する情報のエントリとして、当該エントリが有効か無効かを示す情報とともに格納するホワイトリストを記憶する記憶部と、
前記ポートを介して前記第１の期間後の第２の期間中にデータを受信する場合、当該データに含まれる少なくとも一部のヘッダ情報が前記ホワイトリストに格納されていないとき、当該データを宛先に向けて他のポートを介して転送することを許可せず、当該データに含まれる少なくとも一部のヘッダ情報が前記ホワイトリストに格納されているとき、当該データを宛先に向けて他のポートを介して転送することを許可する転送部と、
時刻を保持、管理する時刻管理部と、
前記転送部が前記ホワイトリストに格納されたヘッダ情報を含むデータを受信すると、受信時刻を前記時刻管理部から取得してインターバルおよび次回受信時刻を求め、前記エントリと当該エントリの次回受信時刻を対応づけて格納したホワイトリスト制御情報を前記記憶部に記憶するホワイトリスト適用切替部と、
制御部とを有し、
前記制御部は、前記ホワイトリスト制御情報の各エントリについて、当該エントリの次回受信時刻と、予め定めた適用時間幅に基づいて、前記次回受信時刻において前記予め定めた適用時間幅の間、前記ホワイトリストの当該エントリが有効か無効かを示す情報を有効にし、その他の時刻においては無効にするよう切り替え制御することを特徴とする通信装置であって、
前記ホワイトリストは、
前記ホワイトリストのエントリが有効か無効かを示す第１の情報と、前記第１の情報が有効の場合に受信した前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータの数を示す第２の情報と、前記第１の情報が有効に更新された回数を示す第３の情報と、前記第１の情報が無効の場合に受信した前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータの数を示す第４の情報と、を前記エントリ毎にさらに格納し、
前記第２の期間中において、
前記制御部は、
前記ホワイトリスト制御情報の前記次回受信時刻および前記予め定めた適用時間幅に応じて、前記第１の情報を更新し、
前記転送部は、
前記ポートを介して前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを受信する場合、前記第１の情報が有効のとき、前記第２の情報を更新するとともに、当該データを宛先に転送し、
前記制御部は、
前記ホワイトリスト制御情報の前記エントリ毎に、前記次回受信時刻となると、前記第１の情報を無効から有効に更新するとともに前記第３の情報を更新し、前記予め定めた適用時間幅後に、前記第１の情報を有効から無効に更新し、
前記転送部は、
前記ポートを介して前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを受信する場合、当該データに含まれる少なくとも一部のヘッダ情報に対応する前記第１の情報が無効のとき、当該データに含まれる少なくとも一部のヘッダ情報に対応する前記第４の情報を更新するとともに、当該データを廃棄し、
前記制御部は、
前記ホワイトリストの前記エントリ毎に、前記第２の情報と前記第４の情報との合計が、前記第３の情報と一致する場合、前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報に対応する前記ホワイトリスト制御情報の前記インターバルを前記第２の期間中に受信したデータの受信履歴に基づいて再度算出する、
通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記制御部は、前記ホワイトリストの当該エントリが有効か無効かを示す情報が有効の場合、前記次回受信時刻において予め定めた適用時間幅の間、前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを、前記転送部が当該データの宛先に転送するように前記転送部を制御し、前記ホワイトリストの当該エントリが有効か無効かを示す情報が無効の場合、前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを、前記転送部が当該データの宛先に転送しないように前記転送部を制御することを特徴とする、
通信装置。
【請求項３】
請求項２に記載の通信装置であって、
前記第１の期間中において、
前記制御部は、
前記転送部が前記ホワイトリストに格納されていないヘッダ情報を有するデータを受信すると、当該データに含まれる少なくとも一部のヘッダ情報を前記ホワイトリストに格納して前記ホワイトリストを生成し、前記転送部が前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを受信すると、前記ホワイトリスト適用切替部が時刻管理部から受信時刻を取得して、前記インターバルおよび前記次回受信時刻を算出するよう制御することを特徴とする
通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記第１の期間中において、
前記転送部は、
前記ホワイトリストに格納されていない前記ヘッダ情報を有するデータを受信すると、当該データに含まれる少なくとも一部のヘッダ情報を前記制御部に送信するとともに、当該データを宛先に転送し、
前記制御部は、
前記転送部から受信した前記少なくとも一部のヘッダ情報を前記ホワイトリストに格納するとともに、前記転送部から前記少なくとも一部のヘッダ情報を受信した時刻を前記時刻管理部から取得して前記少なくとも一部のヘッダ情報に対応する前回受信時刻として前記ホワイトリスト制御情報に格納し、
前記転送部は、
前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを受信すると、前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を識別するエントリ番号を前記制御部に送信するとともに、当該データを宛先に転送し、
前記制御部は、
前記転送部から前記エントリ番号を受信した時点と前記エントリ番号に対応する前記前回受信時刻とに基づいてインターバルを算出し、前記前回受信時刻と前記インターバルとに基づいて次回受信時刻を算出する、
通信装置。
【請求項５】
請求項４に記載の通信装置であって、
前記第２の期間中において、
前記制御部は、
前記ホワイトリスト制御情報の前記次回受信時刻となると、当該次回受信時刻を前記ホワイトリスト制御情報の前回受信時刻として格納し、当該前回受信時刻を格納した前記ホワイトリスト制御情報の前記前回受信時刻と前記インターバルとに基づいて算出した次回受信時刻を前記ホワイトリスト制御情報の次回受信時刻として格納して前記ホワイトリスト制御情報を更新する、
通信装置。
【請求項６】
請求項１に記載の通信装置であって、
前記ポートを複数備え、
前記ホワイトリストは、
データを受信する前記複数のポートそれぞれを識別するポート識別情報を、前記少なくとも一部のヘッダ情報毎にさらに格納し、
前記第２の期間中において、
前記転送部は、
前記複数のポートのいずれかを介してデータを受信する場合、当該データを受信したポートのポート識別情報および当該データに含まれる少なくとも一部のヘッダ情報の少なくとも一方が前記ホワイトリストに格納されており、当該データの受信が前記次回受信時刻の前記予め定めた適用時間幅内であるとき、当該データを宛先に転送することを許可し、当該データを受信したポートのポート識別情報および当該データに含まれる少なくとも一部のヘッダ情報の少なくとも一方が前記ホワイトリストに格納されており、当該データの受信が前記次回受信時刻の前記予め定めた適用時間幅ではないとき、当該データを宛先に転送することを許可せず、当該データを受信したポートのポート識別情報および当該データに含まれる少なくとも一部のヘッダ情報のいずれも前記ホワイトリストに格納されていないとき、当該データを宛先に転送することを許可しない、
通信装置。
【請求項７】
請求項１に記載の通信装置であって、
前記ポートを複数備え、
前記複数のポートそれぞれは、
データを定期的に受信する第１のポートまたはデータを不定期に受信する第２のポートの何れかのポートであり、
前記第２の期間中において、
前記転送部は、
前記第１のポートを介してデータを受信する場合、当該データに含まれる少なくとも一部のヘッダ情報が前記ホワイトリストに格納されており、当該データのエントリが有効か無効かを示す情報が有効であるとき、前記第１のポートを介して受信した前記データを宛先に転送し、当該データに含まれる少なくとも一部のヘッダ情報が前記ホワイトリストに格納されており、当該データのエントリが有効か無効かを示す情報が無効であるとき、前記第１のポートを介して受信した前記データを宛先に転送せず、前記第２のポートを介して前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを受信する場合、当該データを宛先に転送する、
通信装置。
【請求項８】
データを所定の間隔で送信する端末および前記端末が送信するデータを集約するサーバに接続されるネットワークシステムであって、
通信装置を有し、
前記通信装置は、
前記端末が送信したデータを受信する第１のポートと、
前記端末から受信したデータを前記サーバ宛に送信する第２のポートと、
前記第１のポートを介して第１の期間中に受信したデータに含まれる少なくとも一部のヘッダ情報を、通信を許可するデータに関する情報のエントリとして、当該エントリが有効か無効かを示す情報とともに格納するホワイトリストを記憶する記憶部と、
前記ポートを介して前記第１の期間後の第２の期間中にデータを受信する場合、当該データに含まれる少なくとも一部のヘッダ情報が前記ホワイトリストに格納されていないとき、当該データを宛先に向けて他のポートを介して転送することを許可せず、当該データに含まれる少なくとも一部のヘッダ情報が前記ホワイトリストに格納されているとき、当該データを宛先に向けて他のポートを介して転送することを許可する転送部と、
時刻を保持、管理する時刻管理部と、
前記転送部が前記ホワイトリストに格納されたヘッダ情報を含むデータを受信すると、受信時刻を前記時刻管理部から取得してインターバルおよび次回受信時刻を求め、前記エントリと当該エントリの次回受信時刻を対応づけて格納したホワイトリスト制御情報を前記記憶部に記憶するホワイトリスト適用切替部と、
制御部とを有し、
前記制御部は、前記ホワイトリスト制御情報の各エントリについて、当該エントリの次回受信時刻と、予め定めた適用時間幅に基づいて、前記次回受信時刻において前記予め定めた適用時間幅の間、前記ホワイトリストの当該エントリが有効か無効かを示す情報を有効にし、その他の時刻においては無効にするよう切り替え制御をし、
前記ホワイトリストは、
前記ホワイトリストのエントリが有効か無効かを示す第１の情報と、前記第１の情報が有効の場合に受信した前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータの数を示す第２の情報と、前記第１の情報が有効に更新された回数を示す第３の情報と、前記第１の情報が無効の場合に受信した前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータの数を示す第４の情報と、を前記エントリ毎にさらに格納し、
前記第２の期間中において、
前記制御部は、
前記ホワイトリスト制御情報の前記次回受信時刻および前記予め定めた適用時間幅に応じて、前記第１の情報を更新し、
前記転送部は、
前記ポートを介して前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを受信する場合、前記第１の情報が有効のとき、前記第２の情報を更新するとともに、当該データを宛先に転送し、
前記制御部は、
前記ホワイトリスト制御情報の前記エントリ毎に、前記次回受信時刻となると、前記第１の情報を無効から有効に更新するとともに前記第３の情報を更新し、前記予め定めた適用時間幅後に、前記第１の情報を有効から無効に更新し、
前記転送部は、
前記ポートを介して前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報を有するデータを受信する場合、当該データに含まれる少なくとも一部のヘッダ情報に対応する前記第１の情報が無効のとき、当該データに含まれる少なくとも一部のヘッダ情報に対応する前記第４の情報を更新するとともに、当該データを廃棄し、
前記制御部は、
前記ホワイトリストの前記エントリ毎に、前記第２の情報と前記第４の情報との合計が、前記第３の情報と一致する場合、前記ホワイトリストに格納された前記少なくとも一部のヘッダ情報に対応する前記ホワイトリスト制御情報の前記インターバルを前記第２の期間中に受信したデータの受信履歴に基づいて再度算出する、
ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを転送する通信装置に関する。
【背景技術】
【０００２】
現在、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを利用する際、広く普及した汎用品を利用することができる。このため、ネットワーク装置になんらかの制限をかけない場合、意図した端末だけでなく、さまざまな端末が容易にＩＰネットワークに接続することができる。そして、意図しない端末が、ＩＰネットワークに接続されることによって、ＩＰネットワークに不正なデータが流れたり、セキュリティが侵害されたりする可能性がある。
【０００３】
セキュリティの侵害を防ぐ技術として、特開2009-239525号公報（特許文献１）に記載のホワイトリスト機能を利用する方法がある。ホワイトリスト機能は、ネットワークを流れる正規通信（正規データ）の通信内容情報から正規通信を特定する情報をホワイトリストとして登録し、登録完了後はホワイトリストに登録のない非正規通信を遮断（廃棄）するなどして制限することでセキュリティレベルを高める機能である。
【０００４】
特許文献１には、パケットフィルタリング装置が受信するパケットの送信元IPアドレスや送信元MAC（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスなどの、送信元端末を識別する識別子を使用して、パケットフィルタリング装置に搭載されたホワイトリストに正規端末を登録する形でホワイトリストを自動もしくは手動で生成することが開示されている。
【０００５】
また、特開2015-050767号公報（特許文献２）には、送信元IPアドレスや送信元MACアドレスに加え、送信元ポート番号、宛先IPアドレス、宛先MACアドレス、宛先ポート番号などの任意の組を含む事前に手動で作成されたホワイトリストを格納し、ホワイトリストに基づいて、ネットワークトラフィックを監視および遮断させるネットワークスイッチが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2009-239525号公報
【特許文献２】特開2015-050767号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ホワイトリスト機能は、ホワイトリストに登録されていない非正規通信を制限することでセキュリティレベルを高め、脅威であるセキュリティの侵害を防ぐ。一方で、他の脅威として、ネットワークへの攻撃の技術であるリプレイ攻撃と呼ばれる手法がある。リプレイ攻撃は、ネットワーク上を流れる正規データを何らかの方法で攻撃者が傍受し、そのまま再送信することにより実行される。
【０００８】
リプレイ攻撃に使用されるデータのヘッダ情報及びデータの内容は正規データと全く同じものであるため、従来のホワイトリストでは手動生成、自動生成に関わらず、ホワイトリストに登録するパラメータをどれだけ増やしても、正規データに偽装したリプレイ攻撃のデータを防御できないと言う問題がある。リプレイ攻撃の主な目的はDoS攻撃（Denial of Service attack）であり、偽装した正規データを大量に投げつけることでネットワーク上の負荷を上げたり、データの宛先であるサーバなどの負荷を上げたりすることで、サーバなどが提供するサービスを停止させる。
【０００９】
攻撃対象となる端末やサーバ側には、リプレイ攻撃対策として受信したデータの時刻情報を確認したり、データ内部にシーケンス番号を持たせて不正データと認識させたりする機能を搭載しているものも存在するが、大量のデータが届くことで時刻情報の確認やシーケンス番号の順序確認などの受信処理が逼迫し、結果としてサービスが提供不能になってしまう場合がある。
【００１０】
また、特許文献２のネットワークスイッチにおいて、従来のホワイトリストを自動生成した場合であっても、ホワイトリストに登録された正規通信と全く同じヘッダ情報を持つデータを使用した攻撃を防ぐことができない。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の一態様である通信装置は、ネットワークに接続されるポートと、ポートを介して第１の期間中に受信したデータに含まれる少なくとも一部のヘッダ情報を格納するホワイトリストを記憶する記憶部と、ポートを介して第１の期間後の第２の期間中にデータを受信する場合、データに含まれる少なくとも一部のヘッダ情報がホワイトリストに格納されていないとき、データを宛先に向けて他のポートを介して転送することを許可せず、データに含まれる少なくとも一部のヘッダ情報がホワイトリストに格納されており、データの受信が第１の期間中に受信したデータの受信履歴に基づく、データに含まれる少なくとも一部のヘッダ情報のホワイトリストを用いた通信制御に関する時間幅であるとき、データを宛先に向けて他のポートを介して転送することを許可し、データに含まれる少なくとも一部のヘッダ情報がホワイトリストに格納されており、データの受信が時間幅ではないとき、データを宛先に向けて他のポートを介して転送することを許可しない転送部と、を備える。
【発明の効果】
【００１２】
本発明によれば、通信装置をデータが通過するタイミングを限定し、ネットワークへの攻撃による影響を軽減できる。
【図面の簡単な説明】
【００１３】
【図１】ネットワーク全体の構成例である。
【図２】ホワイトリスト格納メモリの詳細を示す説明図の例である。
【図３Ａ】ホワイトリスト適用切替メモリの詳細を示す説明図の例である。
【図３Ｂ】ホワイトリスト適用切替メモリの詳細を示す説明図の例である。
【図４】設定メモリの詳細を示す説明図の例である。
【図５】ホワイトリストの各状態、端末群からのパケット受信時及び入出力装置からの状態移行命令受信時の動作概要を示すシーケンス図の例である。
【図６】ホワイトリスト生成状態時のパケット転送部の詳細動作を示すフローチャートの例である。
【図７】ホワイトリスト生成状態時の制御部の詳細動作を示すフローチャートの例である。
【図８】ホワイトリスト生成状態時、及び運用状態時のホワイトリスト適用切替部内の計算処理部が実施する処理を示すフローチャートの例である。
【図９】運用状態時のパケット転送部の詳細動作を示すフローチャートの例である。
【図１０】ホワイトリスト格納メモリ内の1エントリに関して、運用状態時のパケットの受信状況に応じた有効時ヒットカウンタ、無効時ヒットカウンタ、有効ビットカウンタの値を示した一例である。
【図１１】実施例２における設定メモリの詳細を示す説明図の例である。
【図１２】実施例２におけるホワイトリスト生成状態時のパケット転送部の詳細動作を示すフローチャートの例である。
【図１３】実施例２におけるホワイトリスト生成状態時の制御部の詳細動作を示すフローチャートの例である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して実施例を説明する。
【００１５】
（実施例１）
図１は、ネットワーク全体の構成例である。また、図１は、ネットワークの構成及びデータの中継（転送）・通信の許可リスト(以下、「ホワイトリスト」とも呼ぶ。)の生成を行う部分を中心に記載した説明図である。以下の説明では、データの具体的な形式としてパケットを用いるが、フレームであってもよい。
【００１６】
パケット中継装置１は、ネットワーク１３を介して所定の間隔で（定期的に）繰り返しパケットを送信してくる端末群１４−１〜１４−ｎと、ネットワーク１１を介して端末群１４−１〜１４−ｎが送信するパケットを集約したり、保存したり、様々なサービスを提供したりするサーバ群１２−１〜１２−ｎと接続されている。パケット中継装置１は、スイッチ装置などである。所定の間隔とは、ある一定の時間間隔（例えば、１０分間隔）であってもよいし、ある時間のうち異なる時間間隔の組み合わせ（例えば、１時間のうちに１０分間隔、その後に２０分間隔、さらにその後に３０分間隔）であってもよい。本実施例では、一定の時間間隔の繰り返しを「定期的に」と表現する。
【００１７】
端末群１４−１〜１４−ｎの代表例として、端末の周辺の温度、湿度、二酸化炭素濃度などの環境や物理的状況を採取し、ネットワーク１３を介してサーバ群１２などの集約装置に採取した情報（センサ情報）を送信するセンサなどが挙げられる。近年では、様々な物質または生物にセンサを取り付け、センサで収集した情報をネットワークを介してモニタしたり、収集した情報を元にコントロールしたりするIoT(Internet of Things)技術が注目されている。つまり、端末群１４−１〜１４−ｎは、IoT技術によりネットワークに接続される、通信機能を有する監視カメラ、マシン、ウエアラブルデバイスのようなモノ（Things）であってもよい。センサ群で構成されるネットワークをセンサネットワークと呼び、複数のセンサ付無線端末を空間に散在させることで実現する。また、端末群１４−１〜１４−ｎの別の例として、携帯電話の通信技術であるTD-LTE(Time Division Long Term Evolution)技術などにおいて採用されており、上り(端末→基地局)と下り(基地局→端末)の通信を同時に行うために、同じ周波数帯を極めて短い単位時間(タイムスロット)に分割し、上りと下りで交互に切り替えて利用するTDD(Time Division Duplex)技術を用いる端末が挙げられる。なお、定期的なパケットの送信を実施する端末であれば、上記に限られない。本実施例では、端末群１４−１〜１４−ｎは、定期的に１パケットを送信するセンサとして説明する。
【００１８】
パケット中継装置１は、パケットを中継（転送）する通信装置である。パケット中継装置１は、パケットを送受信する複数のポート２−１〜２−６と、受信ポート２−１〜２−６からパケットを受け取り転送先を決定して転送したり、ホワイトリストを参照してパケットの転送または廃棄などを行ったりするパケット転送部３と、時刻によってホワイトリストの適用・非適用の切替を実施するホワイトリスト適用切替部４と、ホワイトリストの生成の制御や後述する入出力装置１０からの装置設定命令をパケット転送部３へ送信してパケット転送部３を制御する制御部５と、パケット中継装置１内の装置時刻を保持、管理する時刻管理部６と、を持つ。
【００１９】
なお、以下の説明で、ポート２−１〜２−６を区別しない場合は、ポート２と記載する。端末群１４、サーバ群１２なども同様である。また、受信ポート２の数は図１で示す数に限られない。端末群１４およびサーバ群１２もそれぞれ１つずつ（端末１４およびサーバ１２）であってもよい。
【００２０】
ここで、ホワイトリストの適用・非適用について説明する。ホワイトリストの適用・非適用とは、パケット中継装置１が受信したパケットのうちホワイトリストにて許可されたパケットに対する転送可否（転送または廃棄）の決定（転送許可不許可の判定）を実行する状態のことである。つまり、ホワイトリストの適用とは、パケット転送部３がパケットを受信するとホワイトリストを参照して、ホワイトリストにて許可されたパケットの通信を許可する（パケットの転送を実行する）状態のことであり、ホワイトリストの非適用とは、パケット転送部３がパケットを受信するとホワイトリストを参照して、ホワイトリストにて許可されたパケットの通信を許可しない（パケットの転送を実行しない）状態のことである。なお、パケット中継装置１が受信したパケットのうちホワイトリストにて許可されないパケットの転送は、ホワイトリストの適用・非適用に依らず、許可されない。つまり、パケット転送部３がパケットを受信するとホワイトリストを参照して、ホワイトリストにて許可されないパケットの通信を許可しない。
【００２１】
ホワイトリストの適用・非適用の切り替えとは、ホワイトリストにて許可されたパケットに対するホワイトリストを用いた通信制御（通信の許可不許可）の切り替えである。また、ホワイトリストの適用・非適用をホワイトリストの開け閉めとも表現する。また、ホワイトリストの適用・非適用をホワイトリストの有効・無効とも表現する。また、ホワイトリストの適用・非適用をホワイトリストが有効か否かとも表現する。また、ホワイトリストの適用・非適用をホワイトリストを適用するか否かとも表現する。
【００２２】
後述するように、パケット転送部３がホワイトリストを用いてパケットの転送可否の決定を実行するか否かは、パケット中継装置１の状態によって変わる。つまり、ホワイトリストを生成する状態（以下、「学習期間」または「学習状態」とも呼ぶ。）では、パケット中継装置１は、ホワイトリストの適用・非適用を動的に切り替えるが、パケット転送部３は、ホワイトリストの適用・非適用に関わらずパケットの転送を実行する。また、ホワイトリストの生成が完了した後の状態（以下、「運用期間」または「運用状態」とも呼ぶ。）では、パケット中継装置１は、ホワイトリストの適用・非適用を動的に切り替え、パケット転送部３は、動的に切り替わるホワイトリストの適用・非適用に応じてホワイトリストにて許可されたパケットの転送可否の決定を実行し、ホワイトリストの適用・非適用に依らずホワイトリストにて許可されないパケットの転送を許可しない。
【００２３】
パケット中継装置１は、外部端末との接続ポート８を持ち、ホワイトリストの生成に関する設定を実施したり、ホワイトリストの生成に関する情報を表示したりする入出力装置１０と接続されている。尚、入出力装置１０とパケット中継装置１の接続は、接続ポート８を用いた方法の他に、ポート２との接続や、telnetなどの従来技術を用いてネットワーク経由で接続する方法などがある。
【００２４】
ポート２−４〜２−６は、ネットワーク１３を介して端末群１４や他のパケット中継装置とメタルや光ケーブルなどで接続されており、ネットワーク１３を介して端末群１４を収容している。ポート２−１〜２−３は、ネットワーク１１を介してサーバ群１２や他のパケット中継装置とメタルや光ケーブルなどで接続されており、ネットワーク１１を介してサーバ群１２と接続されている。尚、図１では端末群１４及びサーバ群１２は、各々ネットワーク１４及び１１を介し接続されているが、これらはポート２−４〜２−６及びポート２−１〜２−３に直接接続されている形でも良い。また、ネットワーク１３及びネットワーク１１は、同一のネットワークでも良い。
【００２５】
パケット転送部３は、ホワイトリスト格納メモリ３１０と、転送先決定部３２と、転送テーブルメモリ３３と、設定メモリ３４０と、を持つ。
ホワイトリスト格納メモリ３１０は、後述する制御部５が生成したホワイトリストに格納する情報をホワイトリストとして格納する記憶部である。ホワイトリスト格納メモリ３１０の詳細は、図２で説明する。設定メモリ３４０は、ホワイトリストの設定に関する情報を格納する記憶部である。設定メモリ３４０の詳細は、図４で説明する。
【００２６】
転送先決定部３２は、ホワイトリスト格納メモリ３１０を検索（参照）することによるパケットの転送可否の制御や、転送テーブルメモリ３３を検索することによるパケットの転送先（パケットを送信するポート（以下、「送信ポート」とも呼ぶ）２）の決定や、決定した転送先へのパケットの転送処理（転送の際に必要なパケットのヘッダ情報の更新を含む）などを実行する機能を備える。具体的には、適用・非適用が動的に切り替わるホワイトリストを用いてパケットの転送可否を決定する状態であるホワイトリスト運用状態（以下、「運用状態」とも呼ぶ。）中に、転送先決定部３２がポート２からパケットを受け取ると、受け取ったパケットのヘッダ情報をキーにホワイトリスト格納メモリ３１０内のホワイトリストを検索（参照）してパケット転送可否を決定する。転送先決定部３２は、ホワイトリストに登録（格納）された情報と一致するヘッダ情報を持つパケット、つまり、ホワイトリストに登録済みのパケット（ホワイトリスト登録パケット）をパケット転送可と判定し、パケットのヘッダ情報をキーに転送テーブルメモリ３３を検索（参照）して転送先を決定し、決定した転送先に従ってパケットを転送する。
【００２７】
また、転送先決定部３２は、つまり、ホワイトリストに登録された情報と一致しないヘッダ情報を持つパケット、つまり、ホワイトリストに登録がないパケット（ホワイトリスト登録外パケット）を受け取ると、パケット転送否と判定してこのパケットを廃棄などする。また、転送先決定部３２は、後述するホワイトリストを生成する状態であるホワイトリスト生成状態（以下、「生成状態」とも呼ぶ。）中にパケットを受信した際には、転送テーブルメモリ３３を検索してパケットを転送するとともに、パケットのヘッダ情報とパケット中継装置１内の制御情報であるパケットを受信したポート（以下、「受信ポート」とも呼ぶ。）２の識別子（以下、「受信ポート識別子」とも呼ぶ。）を制御部５へと送信する。
【００２８】
ここで、ヘッダ情報とは、各装置がパケットを送受信する際に参照する制御情報である。
また、レイヤ毎にヘッダ情報となる情報が異なる。例えば、レイヤ２のヘッダ情報（L2ヘッダ）の場合、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、イーサタイプなどであり、レイヤ３のヘッダ情報（L3ヘッダ）の場合、バージョン、宛先ＩＰアドレス、送信元ＩＰアドレス、プロトコル番号、ＴｏＳ（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ）・ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ））ＩＤなどであり、レイヤ４のヘッダ情報（L4ヘッダ）の場合、TCP(ack、fin、psh、rst、syn、urg、宛先ポート番号、送信元ポート番号)・UDP(宛先ポート番号、送信元ポート番号)・ICMP（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）(コード・メッセージ)などである。
【００２９】
転送テーブルメモリ３３は、パケットの転送先に関する情報（パケットのヘッダ情報とヘッダ情報に基づく転送先）を格納する記憶部である。転送テーブルメモリ３３は、一般的なパケット中継装置がパケットを転送する際に必要な情報である、レイヤ２の通信を実施するためのMAC Address Tableやレイヤ3の通信を実施するためのRouting Tableなどにより構成されるメモリである。また、転送テーブルメモリ３３は、転送先決定部３２からパケットのヘッダ情報を受け取ると、検索結果を転送先決定部３２に返答する。
【００３０】
また、制御部５は、内部にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（不図示）と記憶部（メモリ）（不図示）とを備え、ＣＰＵが処理するホワイトリスト生成やインターバル算出などのソフトウェアプログラムは、メモリに格納（保持、記憶、記録）されている。制御部５は後述するように、設定メモリ３４０とホワイトリスト格納メモリ３１０に格納された情報を更新するが、制御部５が直接各メモリを制御して更新してもよいし、パケット転送部３は不図示の制御部を備え、制御部５が、パケット転送部３の制御部に対して各メモリを制御する指示を送信し、指示を受信したパケット転送部３の制御部が各メモリを制御して更新してもよい。
【００３１】
本実施例におけるパケット中継装置１の制御部５でのホワイトリストの生成は、パケット受信部２を介してパケットを受信すると、受信するパケットのヘッダ情報および受信ポート識別子を用いて自動で生成される。パケットのヘッダ情報からはパケットの送信元MACアドレス・宛先MACアドレス・送信元IPアドレス・宛先IPアドレス・送信元ポート番号・宛先ポート番号など各レイヤのヘッダ情報内の任意の情報を用いてホワイトリストの生成を行うことができるが、以降は説明のため、ヘッダ情報のうち、送信元IPアドレスをホワイトリストの生成に使用する情報とする。
【００３２】
加えて、本実施例のパケット中継装置１では、初めてパケットを受信した時刻及び、１度目にパケットを受信してから２度目にパケットを受信するまでの時間差（以下、「インターバル」とも呼ぶ。）をホワイトリストの適用情報として使用する。パケット中継装置１は、パケットの受信時刻及びインターバルに基づいてパケットを受信するタイミングを算出する。パケットの受信時刻及びインターバルの格納、使用方法については後述とする。
【００３３】
ホワイトリスト適用切替部４は、ホワイトリスト適用切替メモリ４１０と、計算処理部４２０と、を持つ。ホワイトリスト適用切替メモリ４１０は、パケット転送部３におけるホワイトリストを用いた通信制御に関する情報を格納するホワイトリスト制御情報である、ホワイトリストの適用・非適用を切り替える時刻に関する情報（適用時刻情報）を記憶する記憶部である。ホワイトリストを用いた通信制御に関する情報とは、ホワイトリストの適用・非適用を示す情報である。ホワイトリスト適用切替メモリ４１０の詳細は、図３で説明する。
【００３４】
計算処理部４２０は、時刻管理部６から時刻情報を取得してホワイトリスト適用切替メモリ４１０の情報を更新し、更新したホワイトリスト適用切替メモリ４１０の情報に基づいてホワイトリスト格納メモリ３１０の情報を更新する。計算処理部４２０によるホワイトリスト格納メモリ３１０の更新は、計算処理部４２０が直接ホワイトリスト格納メモリ３１０を制御して更新してもよいし、計算処理部４２０が、パケット転送部３の制御部に対してホワイトリスト格納メモリ３１０を制御する指示を送信し、指示を受信したパケット転送部３の制御部がホワイトリスト格納メモリ３１０を制御して更新してもよい。
【００３５】
本実施例のパケット中継装置１においては、ホワイトリスト格納メモリ３１０に格納されたホワイトリストによって、各ポート２を介して受信するパケットについて、ホワイトリストに登録されていない通信（登録外通信）を許可せず廃棄することができる。ホワイトリスト適用切替部４によって、パケットの送信タイミングに応じたホワイトリストの適用・非適用を切り替えることができる。そして、ホワイトリスト及びホワイトリスト適用切替部４によって、端末群１４が定期的に送信してくるパケットについて、ホワイトリストに登録済みの通信（登録通信）であってもホワイトリストが非適用の場合は、許可せず廃棄することができる。なお、パケット中継装置１は、ホワイトリストにより通信を許可されなかったパケットを廃棄する代わりに、本来のパケットの転送先とは異なるパケット中継装置１内外の特定の転送先の機能部あるいは装置に転送してもよい。この場合、特定の転送先の機能部あるいは装置にて、転送されたパケットを解析することができる。
【００３６】
また、図１に示すネットワークは、データを所定の間隔で送信する端末１４および端末１４が送信するデータを集約するサーバ１２に接続されるネットワークシステムであって、通信装置であるパケット中継装置１を有していてもよい。
【００３７】
図２は、ホワイトリスト格納メモリの詳細を示す説明図の例である。ホワイトリスト格納メモリ３１０は、通信を許可するパケットに関する情報のエントリを有するホワイトリストを格納する。ホワイトリスト格納メモリ３１０の各エントリは、エントリを識別する番号を示すエントリ番号３１７と、パケットを受信した受信ポートの受信ポート識別子を格納する受信ポート識別子３１１と、受信したパケットのヘッダ情報内に格納されている送信元IPアドレスを格納する送信元IPアドレス３１２と、当該エントリの有効・無効を示す有効無効情報である有効ビットを格納する有効ビット３１３と、ホワイトリスト運用状態中に、ホワイトリスト格納メモリ３１０を検索した際、当該エントリの有効ビット３１３の値が有効時にヒットした場合にインクリメントされる有効時ヒットカウンタ３１４と、同じくホワイトリスト運用状態中に、ホワイトリスト格納メモリ３１０を検索した際、当該エントリの有効ビット３１３の値が無効時にヒットした場合にインクリメントされる無効時ヒットカウンタ３１５と、有効ビット３１３が有効になった回数を示す有効ビットカウンタ３１６と、をもつ。エントリ番号３１７によって、ホワイトリスト格納メモリ３１０のホワイトリストに格納されたヘッダ情報が識別される。
【００３８】
図２の例では、ホワイトリスト格納メモリ３１０は、1〜nのn個(nは有限であり任意)のエントリを保持できるものとして記載している。また、図２のエントリ番号３１７が「１」であるエントリに、パケット受信部２−１（パケット受信部＃１）に関するホワイトリストの一例を示している。
【００３９】
本実施例において、有効ビット３１３の値が「１」の場合は、「有効」状態を示し、「０」の場合は「無効」状態を示すが、これに限られない。パケット中継装置１は、有効ビット３１３の値を更新することで、エントリ単位でのホワイトリストの適用・非適用を切り替える。尚、ホワイトリスト格納メモリ３１０内の情報（ホワイトリスト）は、入出力装置１０からの命令により制御部５によって引き出され、入出力装置１０上での表示が可能である。
【００４０】
図３は、ホワイトリスト適用切替メモリの詳細を示す説明図の例である。ホワイトリスト適用切替メモリ４１０は、ホワイトリスト制御情報である適用時刻情報を格納し、ホワイトリスト格納メモリ３１０と同じエントリ数を持つメモリである。なお、図３Ａと図３Ｂは、ホワイトリスト適用切替メモリ４１０の時間変化を説明する図である。
【００４１】
ホワイトリスト適用切替メモリ４１０の各エントリは、ホワイトリスト格納メモリ３１０内のエントリ番号３１７と対応するエントリ番号４１４と、当該エントリのエントリ番号４１４の値と同じ値であるホワイトリスト格納メモリ３１０のエントリ番号３１７の有効ビット３１３の値を前回有効にした時刻を格納する前回時刻４１１と、ホワイトリストの生成状態中に、ホワイトリスト格納メモリ３１０に登録がないパケットを初めて受信した時刻と2度目に当該のパケットを受信した際のインターバルを格納するインターバル４１２と、ホワイトリスト格納メモリ３１０の有効ビット３１３の値を次に有効にする時刻を格納する次回時刻４１３と、を持つ。前回時刻４１１とインターバル４１２は、制御部５が、次回時刻４１３は、計算処理部４２０が更新する。
【００４２】
計算処理部４２０は、前回時刻４１１及びインターバル４１２に格納された値に基づいて次回時刻４１３を算出して格納する。また、計算処理部４２０は、算出された次回時刻と、後述するホワイトリスト適用時間幅３４２に基づき、ホワイトリスト格納メモリ３１０内の有効ビット３１３の値の有効・無効の切替を行う。つまり、次回時刻４１３は、ホワイトリストを用いた通信制御を切り替える情報である。詳細は図８で説明する。
【００４３】
また、図３のエントリ番号４１４が「１」であるエントリに、ホワイトリスト適用切替メモリ４１０内の情報の一例を示している。尚、ホワイトリスト適用切替メモリ４１０内の情報は、入出力装置１０からの命令により制御部５によって引き出され、入出力装置１０上での表示が可能である。また、ホワイトリスト適用切替メモリ４１０に格納されるホワイトリスト制御情報は、時刻ではなく、パケットを受信するとき（時点、タイミング）に基づく情報であり、パケット中継装置１は、パケットを受信するとき（時点、タイミング）に基づいて、ホワイトリスト制御情報の各情報を算出してもよい。
【００４４】
例えば、パケット中継装置１は、最初のパケットを受信すると、カウンタを動作させて秒数またはクロック数に基づく値をカウントアップし、次のパケットを受信すると、最初と次のパケットを受信したタイミングそれぞれからインターバルを算出してもよい。この場合、パケット中継装置１は、前回パケットを受信したタイミングとインターバルに基づいて、次にパケットを受信するタイミングを算出する。また、設定メモリ３４０のホワイトリスト適用時間幅３４２は、インターバルを算出するカウンタの単位（秒数またはクロック数）に合わせて設定されればよい。
【００４５】
また、パケットを受信したタイミングとインターバルとに基づいて、次にパケットを受信する可能性のある時間幅（タイムウインドウ）、つまり、ホワイトリストを用いた通信制御を切り替える時間幅を算出してもよい。この場合、ホワイトリスト制御情報には、ホワイトリストを用いた通信制御を切り替える時間幅が含まれる。
【００４６】
また、ある時間のうち異なる時間間隔の組み合わせの繰り返しで受信するパケットからインターバルを算出する際には、生成状態中に受信した複数のパケットを受信したタイミングから異なる時間間隔を算出すればよい。
【００４７】
図４は、設定メモリの詳細を示す説明図の例である。設定メモリ３４０は、ホワイトリストの設定に関する情報として、ホワイトリストの状態を格納する装置内ホワイトリスト状態３４１と、ホワイトリストの有効・無効を切り替える際にホワイトリストを適用する時間（ホワイトリスト適用時間）の幅を格納するホワイトリスト適用時間幅３４２と、を持つ。
【００４８】
設定メモリ３４０は、ホワイトリストを使用しない無効状態と、ホワイトリストを生成する生成状態と、生成されたホワイトリストに基づいた通信を実施する運用状態の３状態とを、装置内ホワイトリスト状態３４１として持つ。装置内ホワイトリスト状態３４１の初期状態は、「無効状態」とする。
【００４９】
無効状態では、パケット中継装置１は、ホワイトリストを使用しない、一般的なパケット中継装置として転送テーブルメモリ３３の検索結果に基づいた通信（パケットの転送）を実施する。つまり、無効状態では、パケット中継装置１は、ホワイトリストの登録状況（ホワイトリストのエントリの有無）に依らず、受信したパケットの通信許可不許可を判定せず、通信を実施する。また、運用状態では、パケット中継装置１は、ホワイトリストを使用し、ホワイトリストの登録状況に応じて、受信したパケットの通信許可不許可を判定して、通信を実施する。つまり、運用状態では、パケット中継装置１は、ホワイトリスト登録外パケットを受信すると、ホワイトリストの適用・非適用に依らず、通信を許可せず、ホワイトリスト登録パケットを受信すると、ホワイトリストが適用の場合は、通信を許可し、ホワイトリストが非適用の場合は、通信を許可しない。生成状態、運用状態のパケット中継装置１の動作概要については図５で、詳細動作については、図６〜８で説明する。
【００５０】
状態の変更については、入出力装置１０からのホワイトリストの状態を移行させる命令である状態移行命令により実施される。状態の変更の状態移行命令は、入出力装置１０からネットワーク管理者等が実施し、状態移行命令を受信した制御部５から設定メモリ３４０に設定される。
【００５１】
また、パケット中継装置１は、運用状態において、ホワイトリスト適用切替部４によりホワイトリストの適用・非適用の切替を実施する。切替の際、ホワイトリストの適用時刻に対し、ある一定の幅を持たせることができ、その幅をホワイトリスト適用時間幅３４２として設定メモリ３４０内で保持する。初期状態は、「1秒」とするが、これに限られない。
【００５２】
ホワイトリスト適用時間幅３４２の変更については、入出力装置１０からの変更命令により実施可能である。ホワイトリスト適用切替部４内の計算処理部４１０は、ホワイトリスト適用切替メモリ４１０内の次回時刻４１１に格納される値と、このホワイトリスト適用時間幅３４２により、ホワイトリスト格納メモリ３１０内の有効ビット３１３の有効・無効を切り替えることで、パケット転送部３が実行するパケットの転送可否の決定を制御する。
【００５３】
図５は、ホワイトリストの各状態について、端末群からのパケット受信時及び入出力装置からの状態移行命令受信時の動作概要を示すシーケンス図の例である。
【００５４】
パケット中継装置１の設定メモリ３４０内の装置内ホワイトリスト状態３４１が「無効状態」である、パケット中継装置１のホワイトリスト無効状態において、端末群１４の特定の1台が、パケットを送信し（Ｓ１０１）、パケット中継装置１がパケットを受信すると、パケットの転送処理を実施する（Ｓ１０２）。パケット中継装置１は、受信したパケットの転送先を決定するため、転送テーブルメモリ３３を検索し、検索結果に基づき、パケットの転送を実施し（Ｓ１０２）、宛先のサーバ１２へパケットを送信する（Ｓ１０３）。
【００５５】
また、パケット中継装置１のホワイトリスト無効状態において、入出力装置１０が、状態移行命令の１つであり、ホワイトリストの状態を移行させる生成状態移行命令を送信し（Ｓ１０４）、パケット中継装置１が生成状態移行命令を受信すると、設定メモリ３４０の更新処理を実施する（Ｓ１０５）。パケット中継装置１は、設定メモリ３４０内の装置内ホワイトリスト状態３４１を無効状態から生成状態へと更新し（切りかえ）、移行が完了した旨を移行完了通知として入出力装置１０へ送信する（Ｓ１０６）。
【００５６】
パケット中継装置１の設定メモリ３４０内の装置内ホワイトリスト状態３４１が「生成状態」である、パケット中継装置１のホワイトリスト生成状態において、端末群１４の特定の1台がパケットを送信し（Ｓ１０７、Ｓ１１０、Ｓ１１３）、パケット中継装置１がパケットを受信すると、パケット中継装置１は、ホワイトリスト格納メモリ３３を参照し、受信したパケットのホワイトリスト格納状態に応じてステップＳ１０８〜Ｓ１０９、Ｓ１１１〜Ｓ１１２、Ｓ１１４〜Ｓ１１５のいずれかを実施する。
【００５７】
ステップＳ１０８は、受信したパケットのヘッダ情報がホワイトリスト格納メモリ３３に格納されていない場合の処理である。パケット中継装置１は、ステップＳ１０２と同様にパケットの転送処理を実施し（Ｓ１０８）、宛先のサーバ１２へパケットを送信する（Ｓ１０９）とともに、受信したパケットのヘッダ情報をホワイトリスト格納メモリ３３に格納してホワイトリストを生成し、パケットの受信時刻を時刻管理部６から取得してホワイトリスト適用切替メモリ４１０の前回時刻４１１に格納する（Ｓ１０８）。
【００５８】
ステップＳ１１１は、受信したパケットのヘッダ情報がホワイトリスト格納メモリ３３に格納されており、且つホワイトリスト適用切替メモリ４１０にインターバル４１２が格納されていない場合の処理である。パケット中継装置１は、ステップＳ１０２と同様にパケットの転送処理を実施し（Ｓ１１１）、宛先のサーバ１２へパケットを送信する（Ｓ１１２）とともに、受信したパケットの受信時刻を時刻管理部６から取得して、この受信時刻と、ホワイトリスト適用切替メモリ４１０に格納されている前回パケットを受信した時刻である前回時刻４１１と、を元にインターバル及び次回ホワイトリストを適用する時刻である次回時刻を算出し、ホワイトリスト適用切替メモリ４１０のインターバル４１２及び次回時刻４１３それぞれに格納する（Ｓ１１１）。
【００５９】
ステップＳ１１４は、受信したパケットのヘッダ情報がホワイトリスト格納メモリ３３に格納されており、且つホワイトリスト適用切替メモリ４１０にインターバル４１２が格納されている場合の処理である。パケット中継装置１は、ステップＳ１０２と同様にパケットの転送処理を実施し（Ｓ１１４）、宛先のサーバ１２へパケットを送信する（Ｓ１１５）。なお、この場合、パケット中継装置１は、ホワイトリスト格納メモリ３３の有効ビット３１３が「有効」または「無効」に関わらず、パケットの転送処理を実施する。
【００６０】
また、パケット中継装置１のホワイトリスト生成状態において、入出力装置１０が状態移行命令の１つであり、ホワイトリストの状態を運用状態へ移行させる運用状態移行命令を送信し（Ｓ１１６）、パケット中継装置１が運用状態移行命令を受信すると、設定メモリ３４０の更新処理を実施する（Ｓ１１７）。パケット中継装置１は、設定メモリ３４０内の装置内ホワイトリスト状態３４１を生成状態から運用状態へと更新し（切りかえ）、移行が完了した旨を移行完了通知として入出力装置１０へ送信する（Ｓ１１８）。
【００６１】
パケット中継装置１の設定メモリ３４０内の装置内ホワイトリスト状態３４１が「運用状態」である、パケット中継装置１のホワイトリスト運用状態において、端末群１４の特定の1台がパケットを送信し（Ｓ１１９、Ｓ１２２）、パケット中継装置１がパケットを受信すると、パケット中継装置１は、ホワイトリスト格納メモリ３３を参照し、受信したパケットのホワイトリスト格納状態、または、ホワイトリスト格納状態およびホワイトリスト適用状態（ホワイトリストの適用・非適用）に応じて、ステップＳ１２０、Ｓ１２３のいずれかを実施する。
【００６２】
ステップＳ１２０は、受信したパケットのヘッダ情報がホワイトリスト格納メモリ３３に格納されており、且つホワイトリスト格納メモリ３３の有効ビット３１３が「有効」の場合の処理である。パケット中継装置１は、ホワイトリスト格納メモリ３３を検索した後、ステップＳ１０２と同様にパケットの転送処理を実施する（Ｓ１２１）。
【００６３】
ステップＳ１２３は、受信したパケットのヘッダ情報がホワイトリスト格納メモリ３３上に格納されており、且つ、ホワイトリスト格納メモリ３３上の有効ビット３１３が「無効」の場合、または、受信したパケットのヘッダ情報がホワイトリスト格納メモリ３３上に格納されていない場合の処理である。パケット中継装置１は、ホワイトリスト格納メモリ３３を検索した後、パケットの廃棄処理を実施する（Ｓ１２３）。
【００６４】
図５で概要を示したステップＳ１０８、Ｓ１１１、Ｓ１１４、Ｓ１１７、Ｓ１２０およびＳ１２３についての詳細動作については、図６〜図９でそれぞれ説明する。尚、図５においては、装置内ホワイトリスト状態３４１の一般的な状態遷移を記載しているが、装置内ホワイトリスト状態３４１は、現在の状態が「無効状態」、「生成状態」、「運用状態」のいずれであっても、他のどの２状態に遷移することが可能である。
【００６５】
図６は、ホワイトリスト生成状態時のパケット転送部の詳細動作を示すフローチャートの例である。 
ステップＳ１３０では、パケット転送部３は、受信ポート２からパケットを受信するか、入出力装置１０が送信したホワイトリストの装置内ホワイトリスト状態３４１を運用状態へと変更させる運用状態移行命令を制御部５から受信するかを待つ。尚、ステップＳ１３０においては、状態移行命令の１つであり、装置内ホワイトリスト状態３４１を無効状態に変更させる命令である無効状態移行命令を受信する可能性もあるが、フローチャート上は割愛している。
【００６６】
パケット転送部３が、パケットを受信した場合（Ｓ１３１：ＹＥＳ）には、ステップＳ１３２へと移り、パケットを受信した転送先決定部３２で、パケットのヘッダ情報及び受信ポート識別子をキーにホワイトリスト格納メモリ３１０を検索するとともに、パケットのヘッダ情報をキーに転送テーブルメモリ３３内の検索を実施し、パケットの転送先を決定してパケットを転送する処理も実施する。
【００６７】
そして、パケット転送部３は、ホワイトリスト格納メモリ３１０の検索結果より、既にホワイトリスト格納メモリ３１０内に登録されたエントリ（パケットのヘッダ情報及び受信ポート識別子に一致するエントリ）が存在するか否か、つまり、パケットのヘッダ情報及び受信ポート識別子がホワイトリスト格納メモリ３１０内に登録済みかを確認する（Ｓ１３３）。エントリが存在しなかった場合（Ｓ１３３：ＮＯ）、パケット中継装置１は、図５のステップＳ１０８の処理を実行することとなる。この場合、パケット転送部３は、パケットのヘッダ情報から送信元IPアドレスを抽出し、送信元IPアドレスとパケットの受信ポート識別子とを制御部５へと送信（Ｓ１３４）し、ステップＳ１３０へと戻る。
【００６８】
ステップＳ１３３でエントリが存在した場合（Ｓ１３３：ＹＥＳ）には、ホワイトリスト格納メモリ３１０に格納されていたエントリのエントリ番号３１７を特定し、このエントリ番号３１７と同じエントリ番号のホワイトリスト適用切替メモリ４１０のエントリのインターバル４１２にインターバルが既に登録（格納）済みか否かを確認する（Ｓ１３５）。
【００６９】
インターバルが既に登録済みの場合（Ｓ１３５：ＹＥＳ）、パケット中継装置１は、図５のステップＳ１１４の処理を実行することとなる。この場合、パケット転送部３は、当該パケットに関するホワイトリストの情報は全て登録済みとなり、ステップＳ１３０へと戻る。ステップＳ１３５でインターバルが登録済みでない場合（Ｓ１３５：ＮＯ）には、パケット中継装置１は、図５のステップＳ１１４の処理を実行することとなる。この場合、パケット転送部３は、ステップＳ１３５で特定したエントリ番号、つまり、パケットのヘッダ情報及び受信ポート識別子のエントリがホワイトリスト格納メモリ３１０に格納されているが、ホワイトリスト適用切替メモリ４１０のインターバル４１２には、インターバルが格納されていないエントリのエントリ番号（以下、「登録エントリ番号」とも呼ぶ。）を制御部５に送信（Ｓ１３６）し、ステップＳ１３０へと戻る。
【００７０】
ステップＳ１３０で運用状態移行命令を受信した場合（Ｓ１３１：ＮＯ）は、パケット中継装置１は、図５のステップＳ１１７の処理を実行することとなる。この場合、パケット転送部３は、設定メモリ３４０の装置内ホワイトリスト状態３４１を「生成状態」から「運用状態」へ更新（Ｓ１３７）し、パケット中継装置１の状態が運用状態へと移行する。その際、ステップＳ１３７でホワイトリスト格納メモリ３１０内の各カウンタ３１４〜３１６の値のクリアを行う。こうすることで、運用状態に移行してからの当該エントリにヒットするパケットのパケット受信数と当該エントリの有効ビット適用回数をカウントすることができる。
【００７１】
図７は、ホワイトリスト生成状態時の制御部の詳細動作を示すフローチャートの例である。
ステップＳ１４０では、制御部５は、図６のステップＳ１３４もしくはステップＳ１３６で説明した情報いずれかのパケット転送部３からの受信を待つ。つまり、制御部５は、送信元ＩＰアドレス及び受信ポート識別子、または、登録エントリ番号のパケット転送部３からの受信を待つ。
【００７２】
制御部５が、送信元IPアドレス及び受信ポート識別子を受信した場合（Ｓ１４１：ＮＯ）には、パケット中継装置１は、図５のステップＳ１０８の処理を実行することとなる。この場合、制御部５は、受信した情報（送信元IPアドレス及び受信ポート識別子）を基に、ホワイトリストに格納する情報を生成するとともに、時刻管理部６からパケット中継装置１の現在時刻を取得する（S１４２）。
【００７３】
そして、制御部５は、ホワイトリスト格納メモリ３１０の空きエントリに、ステップＳ１４２で生成したホワイトリストに格納する情報の書き込み（格納）を実施してホワイトリストを生成するとともに、ステップＳ１４２で取得した現在時刻をホワイトリスト適用切替メモリ４１０の前回時刻４１１に格納（Ｓ１４３）し、ステップＳ１４０へと戻る。この時、現在時刻を格納するホワイトリスト適用切替メモリ４１０のエントリ番号４１４は、ステップＳ１４２で生成したホワイトリストに格納する情報が格納されたホワイトスト格納メモリ３１０の空きエントリのエントリ番号３１７と同じものを使用する。
【００７４】
また、ステップＳ１４３で空きエントリが存在しない場合は、装置の収容条件をオーバしているとしてエラー表示などを制御部５から入出力装置１０に制御信号を送付する形態や、既に存在しているエントリを削除して新たに登録を実施するなどさまざまな形態が可能であるが、収容条件オーバ時の動作については、フローチャート上は割愛している。
【００７５】
ステップＳ１４０で制御部５が登録エントリ番号を受信した場合（Ｓ１４１：ＹＥＳ）は、パケット中継装置１は、図５のステップＳ１１１の処理を実行することとなる。この場合、制御部５は、時刻管理部６から現在時刻を取得し、受信した登録エントリ番号と一致するホワイトリスト適用切替メモリ４１０のエントリ番号４１４の前回時刻４１１から前回時刻を取得する。そして、制御部５は、取得した現在時刻及び前回時刻よりインターバルを算出する（Ｓ１４４）。
【００７６】
そして、制御部５は、ステップS１４１で受信した登録エントリ番号と一致するホワイトリスト適用切替メモリ４１０のエントリ番号４１４のインターバル４１２にステップＳ１４４で算出したインターバルを書き込む（格納する）とともに、ステップＳ１４４で取得した現在時刻を登録エントリ番号と一致するホワイトリスト適用切替メモリ４１０のエントリ番号４１４の前回時刻４１１へと書き込む（Ｓ１４５）。制御部５は、計算処理部４２０へ、ホワイトリスト適用切替メモリ４１０への書き込みを完了した登録エントリ番号を通知（Ｓ１４６）し、ステップＳ１４０へと戻る。
【００７７】
図８は、ホワイトリスト生成状態時、及び運用状態時のホワイトリスト適用切替部内の計算処理部４２０が実施する処理を示すフローチャートの例である。
尚、図８のフローチャートは、ホワイトリスト格納メモリ３１０及びホワイトリスト適用切替メモリ４１０の1エントリ単位の動作を示している。
【００７８】
ステップＳ１５０では、計算処理部４２０は、図７のステップＳ１４６で説明した登録エントリ番号の通知の受信を待つ。計算処理部４２０は、登録エントリ番号の通知を受信すると、ステップＳ１５１に進む。ステップS１５１で、計算処理部４２０は、ホワイトリスト適用切替メモリ４１０の情報を取得する（S１５１）。具体的には、計算処理部４２０は、受信した登録エントリ番号と一致するホワイトリスト適用切替メモリ４１０の当該エントリを特定し、特定した当該エントリの前回時刻４１１及びインターバル４１２の値を取得する（Ｓ１５１）。
【００７９】
次に計算処理部４２０は、ステップＳ１５１で取得した各値に基づいて次回時刻を下記計算により算出する（Ｓ１５２）。
次回時刻  =  前回時刻  +  インターバル
上記計算により算出した次回時刻を、登録エントリ番号と一致するホワイトリスト適用切替メモリ４１０のエントリの次回時刻４１３に書き込む（Ｓ１５３）。
【００８０】
計算処理部４２０は、ステップＳ１５１〜Ｓ１５３の処理により、ホワイトリスト適用切替メモリ４１０の当該エントリの全ての領域に値が格納され、ホワイトリスト格納メモリ３１０内の有効ビット３１３の有効・無効を切り替える処理を実施できるようになる。また、ステップS１５３の処理により、ホワイトリスト適用切替メモリ４１０は、図３Ａに示す状態となる。
【００８１】
計算処理部４２０は、時刻管理部６を監視し、当該エントリの次回時刻４１３が保持している時刻から設定メモリ３４０内のホワイトリスト適用時間幅３４２分前の時刻（以下、「ホワイトリスト適用開始時刻」とも呼ぶ。）を待つ（Ｓ１５４）。図３Ａのホワイトリスト適用切替メモリ４１０のエントリ番号４１４が「１」のエントリと図４の設定メモリ３４０を用いてステップＳ１５３を具体的に説明する。次回時刻４１３が、「10時30分03秒」であり、ホワイトリスト適用時間幅３４２が「1秒」に設定されているので、計算処理部４２０は、ホワイトリスト適用開始時刻である10時30分02秒まで待つ（Ｓ１５４）。つまり、ホワイトリスト適用開始時刻は下記計算により算出される。
ホワイトリスト適用開始時刻  ＝  次回時刻  −  ホワイトリスト適用時間幅
計算処理部４２０は、ホワイトリスト適用開始時刻になると、ホワイトリスト格納メモリ３１０の情報を更新する（Ｓ１５５）。具体的には、計算処理部４２０は、当該エントリのエントリ番号４１４と一致するホワイトリスト格納メモリ３１０のエントリ番号３１７の有効ビット３１３の値を「有効」に設定し、有効ビットカウンタ３１６の値をインクリメントする（Ｓ１５５）。計算処理部４２０が有効ビット３１３の値を「有効」に設定することで、パケット中継装置１は、「有効」と設定されたホワイトリストのエントリの適用を開始する。
【００８２】
次に計算処理部４２０は、時刻管理部６を監視し、当該エントリの次回時刻４１３が保持している時刻まで待つ（Ｓ１５６）。計算処理部４２０は、当該の時刻になると、ホワイトリスト適用切替メモリ４１０の情報を更新する（S１５７）。具体的には、計算処理部４２０は、ホワイトリスト適用切替メモリ４１０の当該エントリの次回時刻４１３の値を前回時刻４１１に書き込むとともに、次回時刻４１３の値とインターバル４１２の値を加算し、次回時刻４１３へと書き込む（Ｓ１５７）。ステップＳ１５７の処理により、当該エントリのエントリ番号４１４と一致するホワイトリスト格納メモリ３１０のエントリ番号３１７の有効ビット３１３を次に有効にする時刻が算出される。また、ステップＳ１５７の処理により、ホワイトリスト適用切替メモリ４１０は、図３Ｂに示す状態となる。
【００８３】
そして、計算処理部４２０は、時刻管理部６を監視し、前回時刻４１１の値から設定メモリ３４０内のホワイトリスト適用時間幅３４２分後の時刻（以下、「ホワイトリスト適用終了時刻」とも呼ぶ。）を待つ（Ｓ１５８）。図３Ｂのホワイトリスト適用切替メモリ４１０のエントリ番号４１４が「１」のエントリと図４の設定メモリ３４０を用いてステップＳ１５３を具体的に説明する。前回時刻４１４が「10時30分03秒」であり、ホワイトリスト適用時間幅３４２が「1秒」に設定されているので、計算処理部４２０は、ホワイトリスト適用終了時刻である10時30分04秒まで待つ（Ｓ１５８）。つまり、ホワイトリスト適用終了時刻は下記計算により算出される。
ホワイトリスト適用終了時刻  ＝  前回時刻  ＋  ホワイトリスト適用時間幅
計算処理部４２０は、ホワイトリスト適用終了時刻になると、ホワイトリスト格納メモリ３１０の情報を更新する（Ｓ１５９）。具体的には、計算処理部４２０は、当該エントリのエントリ番号４１４と一致するホワイトリスト格納メモリ３１０のエントリ番号３１７の有効ビット３１３を「無効」に設定（Ｓ１５９）し、ステップＳ１５４へと戻る。計算処理部４２０が有効ビット３１３の値を「無効」に設定することで、パケット中継装置１は、「無効」と設定されたホワイトリストのエントリの適用を終了する。
【００８４】
ステップＳ１５４〜Ｓ１５９の繰り返しにより、有効ビット３１３の「有効」・「無効」をホワイトリスト格納メモリ３１０のエントリ単位に切り替えることが出来る。
【００８５】
図９は、運用状態時のパケット転送部の詳細動作を示すフローチャートの例である。 
パケット転送部３は、受信ポート２のいずれかから受信するパケットを転送先決定部３２で受信する（Ｓ１６０）。
【００８６】
受信ポート２からのパケットを受信した転送先決定部３２は、当該パケットのヘッダ情報から送信元IPアドレスを抽出し、当該パケットを受信した受信ポート識別子と送信元IPアドレスを検索キーにし、ホワイトリスト格納メモリ３１０の検索を実施する（Ｓ１６１）。転送先決定部３２は、ホワイトリスト格納メモリ３１０に検索キーに対応したエントリが存在するか否かを判定する（S１６２）。検索キーに対応したエントリが存在しない場合（Ｓ１６２：ＮＯ）には、パケット中継装置１は、図５のステップＳ１２３の処理を実行することとなる。この場合、転送先決定部３２は、ホワイトリストに登録されていないパケット（ホワイトリスト登録外パケット）としてパケットの廃棄を行い（S１６３）、ステップＳ１６０へと戻る。
【００８７】
ホワイトリスト格納メモリ３１０に検索キーに対応したエントリが存在した場合（Ｓ１６２：ＹＥＳ）には、転送先決定部３２は、対応したエントリの有効ビット３１３の値が「有効」であるか、「無効」であるかの判別を実施する（Ｓ１６４）。有効ビット３１３の値が「無効」であった場合（Ｓ１６４：ＮＯ）には、パケット中継装置１は、図５のステップＳ１２３の処理を実行することとなる。この場合、転送先決定部３２は、当該エントリの無効時ヒットカウンタ３１５の値をインクリメントするとともに、パケットの転送は実施せず、ホワイトリスト登録外パケットとしてパケットの廃棄を行い（Ｓ１６５）、ステップＳ１６０へと戻る。
【００８８】
有効ビット３１３の値が「有効」である場合（S１６４：ＹＥＳ）には、パケット中継装置１は、図５のステップＳ１２０の処理を実行することとなる。この場合、転送先決定部３２は、当該エントリの有効時ヒットカウンタ３１４の値をインクリメントするとともに、ホワイトリストに登録されているパケット（ホワイトリスト登録正規パケット）としてパケットのヘッダ情報を検索キーに転送テーブルメモリ３３を検索する（Ｓ１６６）。転送先決定部３２は、転送テーブルメモリ３３の検索結果に従い、パケットのヘッダ情報を更新するなどパケットの転送に必要な処理を実施して、検索結果が示す送信ポート２のいずれかへパケットを転送（S１６７）し、ステップＳ１６０へと戻る。
【００８９】
図６〜図９で説明を行った動作により、パケット中継装置１は、定期的にパケットを送信してくるような端末群に対して、パケットの定期送信時間のみ通信を許すことを可能にする。これにより、リプレイ攻撃などの、ホワイトリストに登録されている情報と全く同じヘッダ情報をもち、ホワイトリスト登録正規パケットと同じ受信ポート２で受信した攻撃パケットについて、パケット中継装置１内を通過できる絶対数をパケットの定期送信時間のみに留めることができ、ネットワーク全体にかかる負荷及び、攻撃の宛先となるサーバなどへの負荷を大幅に削減することができる。
【００９０】
有効ビット３１３の値が「有効」であり、ホワイトリスト登録正規パケットが本来通過する時間についても、ホワイトリストに基づく通信を実施するため、リプレイ攻撃以外の一般的な攻撃手法については防御可能である。尚、本実施例においては制御部５とホワイトリスト適用切替部４は説明のため別々に記載しているが、制御部５でホワイトリスト適用切替部４が行う処理も含めて実施し、ホワイトリスト適用切替部４が存在しない形態であってもよい。
【００９１】
また、本実施例のパケット中継装置１のホワイトリスト運用状態において、ホワイトリスト格納メモリ３１０内の有効時ヒットカウンタ３１４、無効時ヒットカウンタ３１５、有効ビットカウンタ３１６により、登録されたエントリに対し、パケットが定期的に到着（受信）しているか、攻撃を受けているか、もしくは、パケットが定期的に到着しているが到着時間がホワイトリスト適用時間からずれているか、など、パケットの受信状況をパケット中継装置１が自動で認識し、ホワイトリストを再構築することもできる。
【００９２】
図１０は、ホワイトリスト格納メモリ内の1エントリに関して、運用状態時のパケットの受信状況に応じた有効時ヒットカウンタ、無効時ヒットカウンタ、有効ビットカウンタの値を示した一例である。図１０を用いて、パケット中継装置１が受信するパケットが正常であるか異常であるか、つまり、パケットを定期的に到着（受信）しているか攻撃を受けているかの判定について説明する。この判定は、例えば、パケット中継装置１の制御部５が行うが、他の機能部が行ってもよい。
【００９３】
図１０のaのエントリについては、有効時ヒットカウンタ３１４と有効ビットカウンタ３１６の値が一致している。さらに無効時ヒットカウンタ３１５が「0」であることから、運用状態に移行した後、定期的にホワイトリスト適用時間内にパケットを受信し、なおかつ無効時（ホワイトリスト非適用時）に一切のパケットを受信していない。aのエントリについては、パケット中継装置１は、外部からの攻撃を受けておらず、ホワイトリストに基づく通信が出来ていると判断する。
【００９４】
次に、bのエントリについては、aのエントリ同様、無効時ヒットカウンタ３１５の値は「0」であり、パケット中継装置１は、外部からの攻撃の可能性はないと判断するが、有効時ヒットカウンタ３１４及び有効ビットカウンタ３１６の値が一致していない。これは、bのエントリに対応する端末（通信機器）が何らかの事象によりパケットの送信を行わなくなった可能性を示している。
【００９５】
このような場合には、パケット中継装置１は、bのエントリの端末が故障している可能性があるとして、警告パケットを外部に出力したり、制御部５から入出力装置１０の画面上に警告表示させることが可能である。
【００９６】
cのエントリについては、有効時ヒットカウンタ３１４と無効時ヒットカウンタ３１５の値の総和が、有効ビットカウンタ３１６と一致している。このような場合には、パケット中継装置１は、ｃのエントリの端末からのパケットの定期送信タイミングがずれたものと判断し、当該エントリに対してのみ、もう一度ホワイトリスト生成状態に戻し、定期的に送信されるパケットからの受信時刻及びインターバルの学習を自動で再度実施し、当該エントリに対応するホワイトリスト適用切替メモリ４１０のエントリを自動で再生成する。この場合、パケット中継装置１は、ホワイトリスト格納メモリ３１０の当該エントリの受信ポート識別子３１１及び送信元IPアドレス３１２の再学習は、実施しない。
【００９７】
受信時刻及びインターバルの学習の自動での実施については、有効時ヒットカウンタ３１４の値と無効時ヒットカウンタ３１５の値を加えると有効ビットカウンタ３１６の値となり、且つ無効時ビットカウンタ３１５が複数回連続でインクリメントされた場合に実施する形態でもよいし、有効時ヒットカウンタ３１４の値と無効時ヒットカウンタ３１５の値を加えると有効ビットカウンタ３１６の値となり、且つ無効時ビットカウンタ３１５がある一定の閾値を超えたタイミングで行ってもよい。また、セキュリティの観点から上記状態に陥った際に自動では受信時刻及びインターバルの再学習を実施せず、警告パケットを外部に出力したり、制御部５から入出力装置１０の画面上に警告表示を行い、受信時刻及びインターバルの再学習は入出力装置１０からの命令によって実施する形態をとってもよい。
【００９８】
dのエントリについては、有効時ヒットカウンタ３１４の値及び無効時ヒットカウンタ３１５の値が、有効ビットカウンタ３１６の値をはるかに上回っている。これは、パケット中継装置１がリプレイ攻撃を受けている際の特徴的なカウンタの上がり方である。定期的にパケットを送信する端末群のパケットの定期送信タイミングに対応してホワイトリストの適用・非適用を動的に切り替えない従来のパケット中継装置では、リプレイ攻撃により有効時ヒットカウンタ３１４の値と無効時ヒットカウンタ３１５の値分のパケットがパケット中継装置内を通過し、攻撃対象のサーバなどに届くことになり、ネットワーク全体にも、攻撃対象のサーバなどにも多大なる負荷を与えてしまう。
【００９９】
一方、本実施例のパケット中継装置１は、「無効」時であるホワイトリストの非適用時間中に受信するパケット（つまり、無効時ヒットカウンタ３１５の値分のパケット）を廃棄するため、攻撃パケットのほとんどを廃棄することが可能である。
【０１００】
以上のように実施例１によれば、パケット中継装置が、ホワイトリストの適用・非適用を時刻によって動的に切り替えることにより、定期的にパケットを送信してくる端末のセキュリティレベルを高めることができ、パケット中継装置をパケットが通過するタイミングを限定し、ネットワークへの攻撃による影響を軽減することができる。
【０１０１】
なお、ＤＰＩ（Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ）機能を有するパケット中継装置(L7スイッチ)の場合、HTTP・FTPなどのアプリケーションレベルのプロトコルでホワイトリストを生成してもよい。
【０１０２】
（実施例２）
実施例２は、実施例１で説明したパケット中継装置１の変形であり、受信ポート単位で有効ビット３１３の値を、ホワイトリストに格納する情報として使用するか否かを判別する。なお、実施例１と同一の箇所または同様な機能を有する箇所には同一の参照符号を付し、重複する説明は省略して説明する。
【０１０３】
図１１は、実施例２における設定メモリの詳細を示す説明図の例である。
実施例２の設定メモリ３４０は、実施例１の図４で説明した装置内ホワイトリスト状態３４１及びホワイトリスト適用時間幅３４２に加え、定期的にパケットを送信する端末が収容されている受信ポート識別子の設定をビットマップ形式で格納する定期パケット端末収容ポート設定３４３を保持する。定期パケット端末収容ポート設定３４３の初期状態は、ビットマップの全ての値を「0」とし、定期的にパケットを送信してくる端末を収容するポートに対応するビットマップの値を「1」に設定することにより、判別が可能となる。なお、本実施例において、定期パケット端末収容ポート設定３４３のビットマップの値が「０」の場合は、ビットマップに対応するポートに、不定期にパケットを送信してくる端末が収容されることを示し、ビットマップの値が「１」の場合は、ビットマップに対応するポートに、定期的にパケットを送信してくる端末が収容されることを示すが、これに限られない。本実施例では、定期的ではない時間間隔を「不定期」と表現する。不定期とは、例えば、ある一定の時間間隔を繰り返しておらず、ある時間のうちある周期（パターン）の間隔を繰り返さない場合である。
【０１０４】
定期パケット端末収容ポート設定３４３の設定（更新）については、入出力装置１０からの定期パケット端末収容ポート設定３４３の値を変更させる命令である設定命令により実施される。設定命令は、ネットワーク管理者等が実施し、設定命令を受信した制御部５から設定メモリ３４０に設定される。
【０１０５】
実施例２では、ホワイトリストの生成時に、定期パケット端末収容ポート設定３４３のビットマップ値が「0」の受信ポート識別子の情報を持つエントリについて、有効ビット３１３を常に「1」に保つことにより、不定期にパケットを送信してくる端末群からのパケットの転送処理を可能とする。
【０１０６】
図１２は、実施例２におけるホワイトリスト生成状態時のパケット転送部の詳細動作を示すフローチャートの例である。図１２のフローチャートは、図６のステップS１３３の後に定期パケット端末収容ポート設定３４３のビットマップの情報を確認するステップを追加したフローチャートである。
【０１０７】
パケット転送部３は、ステップS１３３で、パケットのヘッダ情報及び受信ポート識別子がホワイトリスト格納メモリ３１０内に登録済み（S１３３：ＹＥＳ）の場合、ステップS１３８に進む。パケット転送部３は、設定メモリ３４０の定期パケット端末収容ポート設定３４３を参照してホワイトリスト格納メモリ３１０内に登録済みの受信ポート識別子のビットマップの情報を確認する（Ｓ１３８）。具体的には、パケット転送部３は、受信ポート識別子に対応する定期パケット端末収容ポート設定３４３のビットマップの値が「1」であるかを確認する（Ｓ１３８）。ビットマップの値が「１」であれば（S１３８：ＹＥＳ）、パケット転送部３は、実施例１と同様にステップS１３５へと進む。また、「0」であれば（Ｓ１３８：ＮＯ）、パケット転送部３は、ステップＳ１３０へと戻る。
【０１０８】
図１３は、実施例２におけるホワイトリスト生成状態時の制御部の詳細動作を示すフローチャートの例である。図１３のフローチャートは、図７のステップS１４２の後に定期パケット端末収容ポート設定３４３のビットマップの情報を確認するステップを追加したフローチャートである。
【０１０９】
制御部５は、ステップS１４２で、ホワイトリストに格納する情報を作成し、時刻管理部６からパケット中継装置１の現在時刻を取得する（S１４２）と、受信ポート識別子のビットマップの情報を確認する（S１４７）。具体的には、制御部５は、受信ポート識別子に対応する定期パケット端末収容ポート設定３４３のビットマップの値が「1」であるかを確認する（S１４７）。ビットマップの値が「１」であれば（S１４７：ＹＥＳ）、実施例１と同様にステップＳ１４３へと進む。また、「0」であれば（Ｓ１４７：ＮＯ）、制御部５は、ホワイトリスト格納メモリ３１０の空きエントリにステップＳ１４２で生成したホワイトリストに格納する情報を格納すると共に、ホワイトリストに格納する情報を格納したエントリの有効ビット３１３を「有効」に設定（S１４８）し、ステップＳ１４０へと戻る。
【０１１０】
以上のように、パケット中継装置１は、定期パケット端末収容ポート設定３４３のビットマップの値が「０」である不定期にパケットを送信してくる端末群から、まだホワイトリスト格納メモリ３１０に登録されていないパケットを最初に受信した際に、ホワイトリスト格納メモリ３１０に新たなエントリを登録するとともに、登録したエントリの有効ビット３１３を「有効」に設定することで、不定期にパケットを送信してくる端末群から２回目以降に受信するパケットに対して、ホワイトリスト適用切替部４に一切の情報を通知しないため、不定期にパケットを送信してくる端末群のホワイトリスト格納メモリ３１０のエントリについては、有効ビット３１３の「有効」・「無効」の切替を実施しない。
【０１１１】
以上のように実施例２によれば、パケット中継装置が、定期的にパケットを送信してくる端末の所属する受信ポートと、不定期にパケットを送信してくる端末の所属する受信ポートを分離して管理することにより、定期的にパケットを送信してくる端末のセキュリティレベルを高めながら、不定期にパケットを送信してくる端末群もパケット中継装置に収容することができる。
【０１１２】
尚、本実施例では、受信ポート単位に定期的にパケットを送信してくる端末と不定期にパケットを送信してくる端末を判別したが、これは例えばVLAN（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）単位に判別してもよいし、パケットのヘッダ情報内の任意の情報により条件を分けて判別してもよい。また、本実施例では、定期的にパケットを送信してくる端末が収容されているポートと不定期にパケットを送信してくる端末が収容されているポートとを管理して、有効ビット３１３の「有効」・「無効」の切替、つまり、ホワイトリストの適用・非適用の切替を実施したが、端末からのパケットの送信が定期的または不定期であるかに関わらず、特定のポートに対するホワイトリストの適用・非適用の切替を実施しない場合は、このポートに対応するビットマップの値を「０」に設定して、有効ビット３１３の「有効」・「無効」の切替（ホワイトリストの適用・非適用の切替）を実施しないようにしてもよい。
【０１１３】
（実施例３）
実施例３は、実施例１または実施例２で説明したパケット中継装置１の変形であって、定期的に複数のパケットを送信してくる端末群１４に対して、ホワイトリストの適用・非適用を時刻によって動的に切り替える。なお、実施例１と同一の箇所または同様な機能を有する箇所には同一の参照符号を付し、重複する説明は省略して説明する。
【０１１４】
実施例１で説明した端末群１４は、説明のため定期的に1パケットを送信してくるものとしたが、定期的に複数のパケットを送信してくる端末群１４を収容するパケット中継装置１は、一度に受信するパケット数を設定メモリ３４０に情報（以下、「定期受信パケット数」とも呼ぶ。）として持たせ、図６のステップＳ１３０で説明したパケット受信時の処理を、1パケット単位ではなく、設定メモリ３４０の情報（定期受信パケット数）に基づいたパケット数単位に実施する。
【０１１５】
また、この場合、有効時ヒットカウンタ３１４の値及び無効時ヒットカウンタ３１５の値と、有効ビットカウンタ３１６の値の整合性を取るため、計算処理部４２０は、有効ビットカウンタ３１６の値をインクリメントするたびに、設定メモリ３４０の情報（定期受信パケット数）に基づいたパケット数分を有効ビットカウンタ３１６の値に加算する。
【０１１６】
以上のように実施例３によれば、定期的に複数のパケットを送信してくる端末群を収容するパケット中継装置は、端末群が定期的に送信してくるパケット数分に基づいて有効ビットカウンタの値をインクリメントすることにより、定期的に複数のパケットを送信してくる端末群に対してホワイトリストの適用・非適用の時刻による動的な切り替えを実現し、セキュリティレベルを高めることができる。また、パケット中継装置が、定期的に複数のパケットを送信してくる端末の所属する受信ポートと、不定期に複数のパケットを送信してくる端末の所属する受信ポートを分離して管理することにより、定期的に複数のパケットを送信してくる端末のセキュリティレベルを高めながら、不定期に複数のパケットを送信してくる端末群もパケット中継装置に収容することができる。
【０１１７】
また、本発明の各実施例において、例えば、ＩＥＥＥ１５８８で規定される時刻同期技術を採用して、パケット中継装置１と端末群１４とが、時刻同期していてもよい。この場合、パケットを定期的に送信してくる端末群１４を収容するポート２は、時刻同期ホワイトリスト適用ポートと呼ぶことができる。
【０１１８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えばＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）のような集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD（Solid State Drive）等の記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD等の記録媒体に置くことができる。 
また、「ａａａテーブル」の表現にて各種情報を説明したが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ａａａテーブル」を「ａａａ情報」と呼ぶことができる。また、「格納する」の表現にて各種テーブルに各情報を記録することを説明したが、「登録する」または「設定する」と表現されてもよい。
【０１１９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１２０】
１…パケット中継装置
２…パケット受信部
３…パケット転送部
４…ホワイトリスト適用切替部
５…制御部
６…時刻管理部
３２…転送先決定部
３３…転送テーブルメモリ
３１０…ホワイトリスト格納メモリ
３４０…設定メモリ
４１０…ホワイトリスト適用切替メモリ
４２０…計算処理部
【図１】
0006454224.tif 000002
【図２】
0006454224.tif 000003
【図３Ａ】
0006454224.tif 000004
【図３Ｂ】
0006454224.tif 000005
【図４】
0006454224.tif 000006
【図５】
0006454224.tif 000007
【図６】
0006454224.tif 000008
【図７】
0006454224.tif 000009
【図８】
0006454224.tif 000010
【図９】
0006454224.tif 000011
【図１０】
0006454224.tif 000012
【図１１】
0006454224.tif 000013
【図１２】
0006454224.tif 000014
【図１３】
0006454224.tif 000015