(57)【要約】【課題】制限された期間内で、追加が許可された通信装置からのデータまたは当該通信装置へのデータの転送を可能にすること。【解決手段】転送装置は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第１記憶部と、正規情報に含まれていない特定のアドレスと特定のアドレスの有効時間とを含む追加リストを記憶する第２記憶部と、データを受信する受信部と、有効時間内に受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方が特定のアドレスであるか否かを判定する判定部と、判定部によって有効時間内にいずれか一方が特定のアドレスであると判定された場合、データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、ホワイトリストに登録する生成部と、を有する。【選択図】図１
2020113869.tif 000002
【特許請求の範囲】
【請求項１】
宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第１記憶部と、
前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第２記憶部と、
データを受信する受信部と、
前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、
前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、
を有することを特徴とする転送装置。
【請求項２】
請求項１に記載の転送装置であって、
前記判定部は、前記特定の正規情報が前記ホワイトリストに登録されているか否かを判定し、前記特定の正規情報が前記ホワイトリストに登録されていない場合、前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであるか否かを判定する、
ことを特徴とする転送装置。
【請求項３】
請求項１に記載の転送装置であって、
前記判定部によって前記いずれか一方のアドレスが前記特定のアドレスでないと判定された場合、または、前記有効時間が経過したと判定された場合、前記データを廃棄する廃棄部を有することを特徴とする転送装置。
【請求項４】
請求項１に記載の転送装置であって、
前記転送装置に接続されている通信装置のＭＡＣアドレスと前記通信装置と接続するポートのポート番号とを有する転送テーブルを記憶する第３記憶部と、
前記生成部によって生成された前記特定の正規情報が前記ホワイトリストに登録された場合、前記転送テーブルを参照して、前記データの転送先を決定する決定部と、
前記データを前記決定部によって決定された転送先に送信する送信部と、
を有することを特徴とする転送装置。
【請求項５】
請求項１に記載の転送装置であって、
前記転送装置の状態を、特定のネットワーク内での転送に制限して前記生成部によりホワイトリストを生成させる第１状態と、前記特定のネットワーク外の転送を許可する第２状態と、のいずれか一方の状態に設定する設定部を有し、
前記判定部は、前記設定部によって設定された前記第２状態において、前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであるか否かを判定し、
前記生成部は、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を前記有効時間内に生成して、前記ホワイトリストに登録する、
ことを特徴とする転送装置。
【請求項６】
請求項１に記載の転送装置であって、
前記ホワイトリストおよび前記追加リストは、同一の記憶デバイス内の記憶領域に、共通の項目群によって構成され、
前記共通の項目群は、前記ホワイトリストおよび前記追加リストの各エントリが、いずれのリストに属するかを示す第１項目と、前記正規情報を規定する第２項目と、前記有効時間を規定する第３項目と、を有し、
前記ホワイトリストのエントリは、前記第３項目に前記有効時間が無制限であることを示す値を保持し、
前記追加リストのエントリは、前記第２項目において送信元ＭＡＣアドレスおよび宛先ＭＡＣアドレスのうちいずれか一方のＭＡＣアドレスを規定し、かつ、前記いずれか一方のＭＡＣアドレス以外の他のパラメータは特定の値に限定されないことを示す値を保持する、
ことを特徴とする転送装置。
【請求項７】
請求項１に記載の転送装置であって、
前記特定のアドレスと前記特定のアドレスの有効時間とを生成して前記追加リストに記憶するプログラムを実行するプロセッサと、
前記プログラムを記憶する第３記憶部と、
前記判定部による判定を実行する回路と、を有し、
前記回路は、前記第２記憶部を含む、
ことを特徴とする転送装置。
【請求項８】
請求項１に記載の転送装置であって、
前記特定のアドレスと前記特定のアドレスの有効時間とを生成して前記追加リストに記憶するプログラムを実行するプロセッサと、
前記プログラムおよび前記追加リストを記憶する第３記憶部と、を有し、
前記第３記憶部は、前記プログラムによって生成された前記特定のアドレスと前記特定のアドレスの有効時間とを前記追加リストに記憶する、
ことを特徴とする転送装置。
【請求項９】
特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する記憶部と、
データを受信する受信部と、
前記有効時間内に前記受信部によって受信されたデータに含まれているアドレスが前記特定のアドレスであるか否かを判定する判定部と、
前記判定部によって前記特定のアドレスでないと判定された場合、または、前記有効時間が経過したと判定された場合、前記データを廃棄する廃棄部と、
前記判定部によって前記有効時間内に前記特定のアドレスであると判定された場合、前記データを前記データの転送先に送信する送信部と、
を有することを特徴とする転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを転送する転送装置に関する。
【背景技術】
【０００２】
近年、発電所などの重要インフラ内のネットワークに攻撃者が侵入してシステムの制御が奪われるということがないよう、対策が必要である。重要インフラのネットワークにおいては、ファイアウォール装置やパーソナルコンピュータ等の端末に搭載されているウィルスソフトによる防御対策が実施されている。しかし、システム制御を奪おうとする攻撃者の侵入を防ぐために、より強力な対策が必要とされる。攻撃者に侵入された際のリスクを軽減する手法として、ホワイトリスト機能を利用する方法がある。ホワイトリスト機能は、ネットワークを流れる正規通信内情報に含まれる正規端末情報をホワイトリスト収容装置に登録し、ホワイトリスト収容装置に登録された正規端末以外からの非正規通信を遮断することでセキュリティレベルを高める機能である。
【０００３】
本技術の背景分野として、特許文献１および特許文献２がある。特許文献１には、「ネットワーク装置は、複数の端末のアドレスを学習できるか否かを示す学習情報と、ネットワーク装置が転送するパケットを示すアドレス情報と、パケットの転送が許可されるか否かを示すフィルタ情報と、を保持し、アドレス情報及びフィルタ情報の少なくとも一方に基づいてパケットを転送する転送部を有し、転送部は、端末からパケットを受信した場合、パケットを受信した際にネットワーク装置がアドレスを学習できるか否かを、学習情報に基づいて判定し、ネットワーク装置がアドレスを学習できる場合、受信したパケットの送信元のアドレスをアドレス情報に格納し、ネットワーク装置がアドレスを学習できない場合、受信したパケットの送信元のアドレスをアドレス情報に格納せず、フィルタ情報に含まれるアドレスに基づいて受信したパケットを転送すべきか否かを判定する。」と記載されている（要約参照）。
【０００４】
特許文献２には、「通信装置は、第１データ受信部が受信した第１データの制御情報および第１データの複数種類のヘッダ情報を受信し、優先度情報が示す第１データ受信部が所属する第１データ受信部群の優先度と、ホワイトリスト格納第１メモリが格納することができるホワイトリストのエントリ数を示す収容条件と、に基づいて、第１データの複数種類のヘッダ情報から、パラメータを選択し、第１データの制御情報と、選択した１以上のパラメータと、を含むエントリを、ホワイトリストに追加する。」と記載されている（要約参照）。
【０００５】
前述したようなホワイトリスト機能には、生成状態と運用状態がある。生成状態は、ネットワーク構築時などの無菌期間に設定される。生成状態でのホワイトリスト機能は、無菌期間において通信装置に正常な通信を実施させ、ホワイトリストを自動生成する。その後、ホワイトリスト機能は、管理者等によって生成状態から運用状態に遷移され、ホワイトリスト登録外の非正規通信を遮断する通信制御を行う。このように生成状態と運用状態を区別することで、ホワイトリストの自動登録が可能であり、管理者の作業を軽減できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１５９４８２号公報
【特許文献２】特開２０１７−０４６１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術のホワイトリスト機能では、ホワイトリスト機能の運用状態中に新規に通信を許可する端末を手動で追加する方法しか存在しない。この方法では、管理者が、追加するすべての通信についてパラメータを洗い出し、手動で入力しなければならない。このため、管理者の作業が煩雑になり、設定ミスなどのリスクも大きくなる。
【０００８】
また、新規端末の追加時にホワイトリスト機能を生成状態へ戻し、生成状態に戻ったホワイトリスト機能に、新規端末の通信をホワイトリストに自動登録させる方法もある。しかしながら、この方法では、初期のホワイトリスト機能の生成状態同様に、無菌状態の確保が必要となる。したがって、一旦稼動を始めたら無菌状態に戻すことが難しいネットワークには適用できない。
【０００９】
本発明は、制限された期間内で、追加が許可された通信装置からのデータまたは当該通信装置へのデータの転送を可能にする転送装置を提供することにある。
【課題を解決するための手段】
【００１０】
本願において開示される発明の一側面となる転送装置は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第１記憶部と、前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第２記憶部と、データを受信する受信部と、前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、を有することを特徴とする。
【００１１】
本願において開示される発明の他の側面となる転送装置は、特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する記憶部と、データを受信する受信部と、前記有効時間内に前記受信部によって受信されたデータに含まれているアドレスが前記特定のアドレスであるか否かを判定する判定部と、前記判定部によって前記特定のアドレスでないと判定された場合、または、前記有効時間が経過したと判定された場合、前記データを廃棄する廃棄部と、前記判定部によって前記有効時間内に前記特定のアドレスであると判定された場合、前記データを前記データの転送先に送信する送信部と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明の代表的な実施の形態によれば、制限された期間内で、追加が許可された通信装置からのデータまたは当該通信装置へのデータの転送を可能にすることができる。前述した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例にかかるネットワーク構成例を示す説明図である。
【図２】図２は、データの一例であるパケットを中継する転送装置の構成例を示すブロック図である。
【図３】図３は、ホワイトリスト格納メモリに格納されるホワイトリストの一例を示す説明図である。
【図４】図４は、追加リスト格納メモリに格納される追加リストの一例を示す説明図である。
【図５】図５は、ホワイトリストおよび追加リストを統合した統合リストの一例を示す説明図である。
【図６】図６は、転送設定メモリが保持する転送設定情報の一例を示す説明図である。
【図７】図７は、転送設定プログラムが入出力装置から入力を受け付ける転送設定に関する命令一覧の一例を示す説明図である。
【図８】図８は、転送装置が追加リストにエントリを生成する動作を示すフローチャートである。
【図９】図９は、外部からのパケットを受信した際の転送設定情報のレコードにおける設定内容による動作を示すフローチャートである。
【図１０】図１０は、図９のステップＳ９０２において、生成状態であると判定された場合（ステップＳ９０２：Ｙｅｓ）の動作例を示すフローチャートである。
【図１１】図１１は、図９のステップＳ９０２において、運用状態と判定された場合の動作を説明したフローチャートである。
【発明を実施するための形態】
【００１４】
＜ネットワーク構成例＞
図１は、本実施例にかかるネットワーク構成例を示す説明図である。転送装置１０１は、ホワイトリスト機能を有する通信装置であり、インターネットなどのネットワーク１００に通信可能に接続される。ホワイトリスト機能とは、ホワイトリスト１１０に登録されているパケット情報１２１を満たすパケットの転送を許可し、パケット情報１２１を満たさないパケットの転送を拒否する機能である。ホワイトリスト１１０とは、転送装置１０１による転送が許可されたパケットのパケット情報１２１の一覧である。パケット情報１２１は、送信元および宛先のアドレス情報を含む。
【００１５】
また、転送装置１０１は、ホワイトリスト１１０にパケット情報１２１を追加登録したい端末のＭＡＣアドレスを格納する追加リスト１２０を有する。また、転送装置１０１は、転送先を決定するための転送テーブル１３０を有する。転送装置１０１は、たとえば、アドレス解決により、接続済みの端末１０２および端末１０３のＭＡＣアドレスと接続済みの端末１０２および端末１０３に接続するポート番号を学習して、転送テーブル１３０に格納する。
【００１６】
端末１０２および端末１０３は、ネットワーク１００に含まれる通信装置であり、転送装置１０１に通信可能に接続済みである。端末１０４および端末１０５はこれから新規に追加される端末である。特に、端末１０５は、ネットワーク１００への追加が許可されていない不正な端末とする。特に言及するまで、端末１０４および端末１０５は転送装置１０１と接続されていないものとする。
【００１７】
図１の（Ａ）は、ホワイトリスト機能の運用状態（有効時間１１２内）における転送装置１０１の動作例を示す。有効時間１１２とは、そのＭＡＣアドレスがホワイトリスト１１０内のパケット情報１２１に規定されていない新規に追加される端末１０４のＭＡＣアドレスが、追加リスト１２０に登録されてから消去されるまでの時間である。（Ａ）では、端末１０２のアドレスを送信元および宛先とするパケット情報１２１と、端末１０３のアドレスを送信元および宛先とするパケット情報１２１とが、ホワイトリスト１１０に登録済みとする。
【００１８】
（１）転送装置１０１は、パケットを受信すると、当該パケットのパケット情報１２１をホワイトリスト１１０で確認する。転送装置１０１は、当該パケットのパケット情報１２１がホワイトリスト１１０に登録済みであれば、当該パケットを転送テーブル１３０に登録された宛先に転送し、ホワイトリスト１１０に登録されていなければ、当該パケットを廃棄する。なお、端末１０２および端末１０３のＭＡＣアドレスは、転送先を決定するための転送テーブル１３０に登録済みであり、端末１０２および端末１０３を送信元または宛先とするパケットのパケット情報１２１は、ホワイトリスト１１０に登録済みである。したがって、端末１０２および端末１０３を送信元または宛先とするパケットは、転送装置１０１で転送される。
【００１９】
（２）（１）のあと、端末１０４が転送装置１０１に接続されたものとする。管理者は、たとえば、新規追加の端末１０４のＭＡＣアドレス１１１を転送装置１０１に入力する。転送装置１０１は、この入力を受けると、追加リスト１２０に、端末１０４のＭＡＣアドレス１１１と有効時間１１２とを登録する。有効時間１１２は、その追加したエントリが有効である時間を示す。そして、有効時間１１２の計時が開始する。
【００２０】
（３）（２）の有効時間１１２の計時中に、転送装置１０１は、端末１０４を送信元または宛先とするパケットを受信すると、当該パケットのパケット情報１２１がホワイトリスト１１０に登録済みであるか否かを確認する。端末１０４は新規に追加された通信装置であるため、当該パケットのパケット情報１２１はホワイトリスト１１０に登録されていない。
【００２１】
（４）転送装置１０１は、追加リスト１２０を検索し、端末１０４のＭＡＣアドレス１１１が登録されているか否かを確認する。（２）より端末１０４のＭＡＣアドレス１１１が登録されているため、転送装置１０１は、ホワイトリスト１１０に受信パケットのパケット情報１２１を登録する。
【００２２】
（５）転送装置１０１は、転送テーブル１３０を検索し、受信パケットの送信先を決定し、パケットを送信する。このとき、転送装置１０１は、当該パケットを受信したポート番号と送信元である端末１０４のＭＡＣアドレスの組を転送テーブル１３０に登録する。また、転送装置１０１が端末１０４のＭＡＣアドレスを転送テーブル１３０に登録する前に端末１０４を宛先とするパケットを受信した場合など、転送テーブル１３０に当該パケットの宛先が存在しなかった場合がある。この場合は、送信先を１ポートに決定できないため、転送装置１０１は、受信したポート以外の全てのポートを送信先として、当該パケットを送信する。
【００２３】
（６）（２）の有効時間１１２の計時中に、端末１０５が転送装置１０１に接続されたとする。端末１０５のＭＡＣアドレスは、追加リスト１２０に登録されていない。このため、転送装置１０１は、端末１０５を送信元または宛先とするパケットのパケット情報１２１をホワイトリスト１１０に追加しない。これにより、不正な端末１０５が接続された場合は通信を遮断することができ、セキュリティを確保することができる。
【００２４】
図１の（Ｂ）は、ホワイトリスト機能の運用状態（（Ａ）の有効時間１１２経過後）における転送装置１０１の動作例を示す。有効時間１１２が経過すると、転送装置１０１は、端末１０４のＭＡＣアドレス１１１および有効時間１１２を追加リスト１２０から消去する。（Ｂ）では、（Ａ）の（１）に示した場合と同様、端末１０２〜１０４のＭＡＣアドレスは、転送先を決定するための転送テーブル１３０に登録済みであり、端末１０２〜１０４を送信元または宛先とするパケットのパケット情報１２１は、ホワイトリスト１１０に登録済みである。したがって、端末１０２〜１０４を送信元または宛先とするパケットは、転送装置１０１で転送される。
【００２５】
また、（Ｂ）では、（Ａ）の（６）に示した場合と同様、端末１０５のＭＡＣアドレスは、追加リスト１２０に登録されていない。このため、転送装置１０１は、端末１０５を送信元または宛先とするパケットのパケット情報１２１をホワイトリスト１１０に追加しない。これにより、不正な端末１０５が接続された場合は通信を遮断することができ、セキュリティを確保することができる。
【００２６】
このように、転送装置１０１をホワイトリスト１１０の生成状態に切り替えることなく、運用状態中においてホワイトリスト１１０にパケット情報１２１を追加することが可能となる。したがって、管理者は、新規に追加した端末１０４のＭＡＣアドレス１１１を入力すれば、ホワイトリスト１１０への登録が可能となるため、ＭＡＣアドレス以外の通信パラメータの洗い出しが不要となる。したがって、管理者の負担軽減やホワイトリスト１１０への登録ミスを抑制することができる。
【００２７】
また、ホワイトリスト１１０の生成状態への切替が不要であるため、ホワイトリスト機能の運用が中断されない。したがって、ネットワーク通信の安全性の向上を図ることができる。また、ホワイトリスト１１０の生成状態への切替が不要であるため、ネットワーク構築時などの無菌状態の確保も不要となるため、一旦稼動を始めたら無菌状態に戻すことが難しいネットワークにも適用可能である。
【００２８】
なお、ホワイトリスト１１０がない転送装置１０１でも実現可能である。具体的には、たとえば、転送装置１０１は、有効時間１１２内でパケットの転送または廃棄を判定し、追加リスト１２０に端末１０４のＭＡＣアドレス１１１があれば、端末１０４へのパケット転送または端末１０４からのパケット転送を有効時間１１２内で許可し、追加リスト１２０に端末１０４のＭＡＣアドレス１１１がなければ、端末１０４へのパケット転送または端末１０４からのパケットを廃棄すればよい。
【００２９】
＜転送装置１０１の構成例＞
図２は、データの一例であるパケットを中継する転送装置１０１の構成例を示すブロック図である。転送装置１０１は、通信装置の一例である。転送装置１０１は、パケットの中継、およびホワイトリスト１１０の生成を実行する。転送装置１０１は、たとえば、複数のパケット受信部２０２、パケット転送部２０３、Ｓ／Ｗ（ＳｏｆｔＷａｒｅ）制御部２０４、複数のパケット送信部２０５、および入出力インタフェース２０６を含む回路構成である。
【００３０】
パケット受信部２０２の各々は、いわゆるポートを含み、たとえば、端末や他の転送装置１０１等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、接続された外部装置からパケットを受信する。パケット受信部２０２の各々は、パケット受信部２０２を一意に識別するパケット受信部番号を有する。
【００３１】
パケット受信部２０２の各々は、パケットを受信した際に、当該パケットに当該パケット受信部２０２に対応する制御情報（たとえば、パケット受信部番号、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）番号）を付加する。制御情報は、１以上のパケット受信部２０２を有するパケット受信部群を示す情報を含む。パケット受信部２０２のパケット受信部番号、および当該パケット受信部２０２が所属するＶＬＡＮ識別子であるＶＬＡＮ番号は、それぞれ当該パケット受信部２０２が付加する制御情報の一例である。
【００３２】
パケット転送部２０３は、パケット受信部２０２からパケットを受信し、Ｓ／Ｗ制御部２０４が生成したホワイトリスト１１０に従って、受信したパケットの転送、または廃棄等を行う。Ｓ／Ｗ制御部２０４は、ホワイトリスト１１０を生成する。パケット送信部２０５の各々は、端末や他の転送装置１０１等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、パケット転送部２０３から受信したパケットを、接続された外部装置へと送信する。
【００３３】
パケット受信部２０２およびパケット送信部２０５は、通常、ハードウェアで構成される。なお、パケット受信部２０２およびパケット送信部２０５は、図１では説明のため別の部として記載しているが、パケット受信部２０２とパケット送信部２０５が一体化したパケット送受信部であってもよい。
【００３４】
入出力インタフェース２０６は、入出力装置２６０に接続される。入出力インタフェース２０６は、入出力装置２６０を介して、利用者からの入力を受け付ける。また、入出力インタフェース２０６は、プログラムの実行結果等を入出力装置２６０に出力する。入出力装置２６０は、たとえば、キーボードやマウス等の利用者からの入力を受ける入力装置や、ディスプレイやプリンタのような転送装置１０１の処理結果を利用者が視認可能な形式で出力する出力装置を含む。
【００３５】
なお、図２では入出力装置２６０は、転送装置１０１と独立した装置として記載されているが、転送装置１０１にディスプレイや操作ボタン等の入出力装置２６０が備え付けられていてもよい。
【００３６】
パケット転送部２０３は、ホワイトリスト格納メモリ２３１と、転送先決定部２３２と、転送テーブルメモリ２３３と、転送設定メモリ２３４と、追加リスト格納メモリ２３５と、を含む。ホワイトリスト格納メモリ２３１は、たとえば、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、Ｓ／Ｗ制御部２０４が生成したホワイトリスト１１０を格納する。
【００３７】
転送テーブルメモリ２３３は、たとえば、ＣＡＭやＤＲＡＭであり、パケットのヘッダ情報（たとえば、ＭＡＣ  Ａｄｄｒｅｓｓ，ＩＰ  Ａｄｄｒｅｓｓ，ｐｒｏｔｏｃｏｌ）と、パケットの転送先、すなわちパケット送信部２０５（たとえば、ｐｏｒｔ番号）と、の対応を示す対応情報を格納する。当該対応情報は管理者によって作成され、予め転送テーブルメモリ２３３に格納されている。ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ２の通信に用いられるＭＡＣ  Ａｄｄｒｅｓｓ  Ｔａｂｌｅや、ＯＳＩ参照モデルのレイヤ３の通信に用いられるＲｏｕｔｉｎｇ  Ｔａｂｌｅは、当該対応情報の一例である。
【００３８】
転送設定メモリ２３４は、たとえば、ＤＲＡＭであり、後述する転送装置１０１の状態、ホワイトリスト登録外パケット受信時の動作を示す転送設定情報６００を格納する。転送設定メモリ２３４に格納される転送設定情報６００は、入出力装置２６０を介して、管理者により設定される。追加リスト格納メモリ２３５は、たとえば、ＤＲＡＭであり、図１に示した追加リスト１２０を格納する。
【００３９】
転送先決定部２３２は、パケット受信部２０２からパケットを受信し、受信したパケットのヘッダ情報および制御情報をキーに転送テーブルメモリ２３３内を検索することにより、受信したパケットの転送先を決定する。受信したパケットのヘッダ情報および制御情報が転送テーブルメモリ２３３に存在しなかった場合は、転送先決定部２３２は、たとえば、受信したパケットを受信したポート以外の全ポートに送信する。
【００４０】
また、転送先決定部２３２は、後述するホワイトリスト１１０の運用状態中にパケットを受信した場合、ホワイトリスト格納メモリ２３１に格納されたホワイトリスト１１０を検索し、受信したパケットがホワイトリスト登録パケットであるか否かを判定する判定部２３２Ａとして機能する。転送先決定部２３２は、受信したパケットがホワイトリスト登録外パケットであると判定した場合、パケットを廃棄する廃棄部２３２Ｂとして機能する。
【００４１】
転送先決定部２３２は、後述するホワイトリスト１１０の生成状態中にパケットを受信すると、受信したパケットから所定のヘッダ情報（たとえば、ＭＡＣ  Ａｄｄｒｅｓｓ，ＩＰ  Ａｄｄｒｅｓｓ，ｐｒｏｔｏｃｏｌ，ｐｏｒｔ番号）および所定の制御情報（たとえば、パケット受信部番号、ＶＬＡＮ番号）を抽出し、Ｓ／Ｗ制御部２０４に送信する。転送先決定部２３２は、転送設定メモリ２３４の設定内容に従い、ホワイトリスト１１０を利用した通信を実施するか否かなどを判定する。
【００４２】
パケット転送部２０３は、ホワイトリスト１１０の高速検索、パケットのワイヤレートでの通信など、単純で高速な命令を実行するため、通常、ハードウェアで構成される。パケット転送部２０３は、たとえば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等で構成されてもよい。
【００４３】
Ｓ／Ｗ制御部２０４は、ＣＰＵ（Ｃｏｎｔｒｏｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２４１と、Ｓ／Ｗメモリ２４２と、を含む。ＣＰＵ２４１は、Ｓ／Ｗメモリ２４２に格納されたプログラムを実行するプロセッサである。Ｓ／Ｗメモリ２４２は、不揮発性の記憶素子であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）および揮発性の記憶素子であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。
【００４４】
ＲＯＭは、不変のプログラム（たとえば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ））などを格納する。ＲＡＭは、ＤＲＡＭのような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラムおよびプログラムの実行時に使用されるデータを一時的に格納する。
【００４５】
Ｓ／Ｗメモリ２４２は、ホワイトリスト生成プログラム２４３、転送設定プログラム２４４、および追加リスト生成プログラム２４５を含む。パケット転送部２０３が追加リスト格納メモリ２３５を有しない場合には、追加リスト１２０は、Ｓ／Ｗメモリに格納されてもよい。Ｓ／Ｗメモリ２４２に格納されたプログラムはＣＰＵ２４１（プロセッサ）によって実行されることで、定められた処理を記憶装置および通信ポート（通信デバイス）等を用いながら行う。したがって、本明細書においてプログラムを主語とする説明は、ＣＰＵ２４１を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機および計算機システムが行う処理である。
【００４６】
ＣＰＵ２４１は、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。たとえば、ＣＰＵ２４１は、ホワイトリスト生成プログラム２４３に従って動作することでホワイトリスト生成部として機能し、転送設定プログラム２４４に従って動作することで転送設定部として機能し、追加リスト生成プログラム２４５に従って動作することで追加リスト生成部として機能する。さらに、ＣＰＵ２４１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機および計算機システムは、これらの機能部を含む装置およびシステムである。
【００４７】
ホワイトリスト生成プログラム２４３は、転送先決定部２３２から受信した制御情報およびヘッダ情報から、ホワイトリスト１１０を生成し、ホワイトリスト格納メモリ２３１へと書き込む。転送設定プログラム２４４は、入出力装置２６０から入力された転送設定を転送設定メモリ２３４に書き込む。
【００４８】
＜ホワイトリスト１１０の一例＞
図３は、ホワイトリスト格納メモリ２３１に格納されるホワイトリスト１１０の一例を示す説明図である。図３の例では、ホワイトリスト１１０は、ｎ個（ｎは０以上の整数）のエントリを含む。ホワイトリスト１１０の各エントリ３１０は、複数のパラメータを含むパケット情報１２１である。当該複数のパラメータの各々は、パケット受信部２０２から受信したパケットから転送先決定部２３２が抽出した制御情報またはヘッダ情報である。したがって、ホワイトリスト１１０の各エントリ３１０（パケット情報１２１）は、転送装置１０１により中継された正規なパケットを特定する正規情報である。すなわち、ホワイトリスト１１０に登録されたエントリにより、正規な通信経路が特定される。
【００４９】
エントリ３１０は、たとえば、それぞれパケットの制御情報を示すパラメータであるパケット受信部番号３０１およびＶＬＡＮ番号３０２を含む。エントリ３１０は、たとえば、それぞれパケットのヘッダ情報を示すパラメータである、Ｓｏｕｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ３０３、Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ３０４、Ｐｒｏｔｏｃｏｌ３０５、Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ３０６、Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ３０７、Ｓｏｕｒｃｅ  ｐｏｒｔ番号３０８、およびＤｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ番号３０９を含む。
【００５０】
パケット受信部番号３０１は、パケット受信部２０２の各々を一意に識別する番号である。パケット受信部番号３０１により、パケットを受信したパケット受信部２０２が特定される。ＶＬＡＮ番号３０２は、パケット受信部２０２が所属するＶＬＡＮを一意に識別する番号である。
【００５１】
Ｓｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ３０３は、パケットの送信元ＭＡＣアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ３０４は、パケットの宛先ＭＡＣアドレスを示す。ｐｒｏｔｏｃｏｌ３０５は、プロトコルの種類を示す。Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ３０６は、パケットの送信元ＩＰアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ３０７は、パケットの宛先ＩＰアドレスを示す。Ｓｏｕｒｃｅ  ｐｏｒｔ番号３０８は、パケットの送信元ポート番号を示す。Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ番号３０９は、パケットの宛先ポート番号を示す。
【００５２】
なお、エントリ３１０は、図３の例に限らず、１種類以上の制御情報を示すパラメータと、複数種類のヘッダ情報を示すパラメータと、を含めばよい。エントリ３１０は、たとえば、前述したヘッダ情報を示すパラメータに加えて又は代えて、ＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）、フラグ、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）、ＩＤ、バージョン、およびヘッダ値等のヘッダ情報を含んでもよい。
【００５３】
＜追加リスト１２０の一例＞
図４は、追加リスト格納メモリ２３５に格納される追加リスト１２０の一例を示す説明図である。図４の例では追加リスト１２０はｍ個（ｍは０以上の整数）のエントリ４００を含む。追加リスト１２０の各エントリ４００は、複数のパラメータを含む。エントリ４００は、追加リスト１２０に含まれるエントリの一例である。エントリ４００は、たとえば、ホワイトリスト１１０に追加する端末情報を示すパラメータとして、ＭＡＣ  Ａｄｄｒｅｓｓ４０１（図１では、端末１０４のＭＡＣアドレス１１１）を含む。エントリ４００は、たとえば、そのエントリ４００が有効である期間を示すパラメータである有効時間４０２（図１では、端末１０４のＭＡＣアドレス１１１の有効時間１１２）を含む。たとえば、有効時間４０２は時間経過とともに減算されていき、０になるとエントリ４００は削除される。
【００５４】
なお、エントリ４００は、図４の例に限らず、１種類以上の端末情報を示すパラメータ（たとえば、パケット受信部番号３０１、ＶＬＡＮ番号３０２、Ｐｒｏｔｏｃｏｌ３０５、ＩＰ  Ａｄｄｒｅｓｓ３０６、Ｓｏｕｒｃｅ  ｐｏｒｔ番号３０８、Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ番号３０９など）と、そのエントリ４００が有効である期間を示すパラメータと、を含んでもよい。
【００５５】
なお、追加リスト１２０は、追加リスト格納メモリ２３５という独立したメモリに格納するのではなく、図５に示すように、ホワイトリスト格納メモリ２３１にホワイトリスト１１０のエントリ３１０とともに格納されてもよい。
【００５６】
図５は、ホワイトリスト１１０および追加リスト１２０を統合した統合リストの一例を示す説明図である。統合リスト５００は、ｎ個のホワイトリスト１１０のエントリ３１０と、ｍ個の追加リスト１２０のエントリ４００とを含む。各エントリ３１０，４００は、第１項目５０１、第２項目５０２、および第３項目５０３により規定される。第１項目５０１は、ホワイトリスト１１０および追加リスト１２０のいずれのエントリに属するかを区別するパラメータである。たとえば、第１項目５０１が「１」のエントリは、ホワイトリスト１１０に属し、「２」のエントリは、追加リスト１２０に属する。なお、エントリを区別できれば他の値でもよい。
【００５７】
第２項目５０２は、たとえば、パケット受信部番号３０１、ＶＬＡＮ番号３０２、Ｓｏｕｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ３０３、Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ３０４、Ｐｒｏｔｏｃｏｌ３０５、Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ３０６、Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ３０７、Ｓｏｕｒｃｅ  ｐｏｒｔ番号３０８、およびＤｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ番号３０９を含むパラメータにより構成される。
【００５８】
第３項目５０３は有効時間４０２を規定する。具体的には、たとえば、第３項目５０３は追加リスト１２０のエントリ４００では、図４と同様、そのエントリ４００が有効である有効時間４０２を示すパラメータであるが、ホワイトリスト１１０のエントリ３１０では、有効時間４０２が無限であることを示す「−１」が格納される。なお、有効時間４０２が無限であることを示すことができれば、他の値でもよい。
【００５９】
また、追加リスト１２０のエントリ３１０において、Ｓｏｕｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ３０３が格納されていれば、それ以外のパラメータ３０１，３０２，３０４〜３０９は、どのような条件でも一致することを示す「ＡＮＹ」が格納される。同様に、Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ３０４が格納されていれば、それ以外のパラメータ３０１〜３０３，３０５〜３０９は、どのような条件でも一致することを示す「ＡＮＹ」が格納される。なお、どのような条件でも一致することを示すことができれば、他の値でもよい。これにより、転送装置１０１は、ホワイトリスト１１０の検索に続けて追加リスト１２０を検索できるため、性能の向上が期待できる。
【００６０】
＜転送設定情報の一例＞
図６は、転送設定メモリ２３４が保持する転送設定情報の一例を示す説明図である。転送設定情報６００は、たとえば、転送設定の種別を示す保持情報６０１、保持情報６０１の状態を示す保持内容６０２、および保持内容６０２の初期状態を示す初期状態６０３を含む。図６において、保持内容６０２を示す各セルには「／」で区切られた複数の値が記載されているが、実際には当該複数の値のいずれか１つが格納される。初期状態６０３には、対応する保持内容６０２に記載されている複数の値のいずれか１つが格納される。
【００６１】
レコード６０４は、保持情報６０１としてホワイトリスト機能を規定するレコードであり、具体的には、たとえば、保持内容６０２として生成状態／運用状態、初期状態６０３として運用状態が規定される。
【００６２】
レコード６０５は、保持情報６０１として追加リスト１２０内のエントリについての有効時間４０２を設定するレコードであり、具体的には、たとえば、保持内容６０２として０／１／２／…といった有効時間４０２、初期状態６０３として追加リスト１２０に設定される有効時間４０２の初期値「３６００」が規定される。初期状態６０３の値は、保持内容６０２の有効時間４０２が設定されなかった場合に有効時間４０２として設定される。
【００６３】
以下、転送設定情報６００に従った転送装置１０１の動作例を説明する。転送先決定部２３２はパケットを受信すると、転送設定メモリ２３４を参照し、レコード６０４の保持内容６０２が、ホワイトリスト１１０を生成する生成状態であるか、ホワイトリスト１１０を用いた転送を行う運用状態であるかを判定する。
【００６４】
以下、レコード６０４の保持内容６０２が生成状態である場合の動作例を説明する。転送先決定部２３２は、受信したパケットに対してパケット転送処理を行いながら、受信したパケットのヘッダ情報および制御情報を、ＣＰＵ２４１が実行するホワイトリスト生成プログラム２４３に送信する。ＣＰＵ２４１は、ホワイトリスト生成プログラム２４３により、転送先決定部２３２から受信したパケットのヘッダ情報および制御情報からホワイトリスト１１０を生成し、生成した情報をホワイトリスト格納メモリ２３１へ書き込む。
【００６５】
以下、レコード６０４の保持内容６０２が運用状態である場合の動作例を説明する。転送先決定部２３２は、パケット受信部２０２から受信したパケットが、ホワイトリスト格納メモリ２３１に格納されたホワイトリスト１１０に登録済みか否かを判定する。当該パケットが当該ホワイトリスト１１０に登録済みである場合、転送先決定部２３２は、受信したパケットに対して、パケット転送処理を行う。
【００６６】
当該パケットが当該ホワイトリスト１１０に登録済みでない場合、転送先決定部２３２は、追加リスト格納メモリ２３５を参照し、パケットに含まれるＭＡＣアドレスが追加リスト１２０に存在するか否かを判断する。追加リスト１２０に存在する場合、レコード６０４の保持内容６０２が生成状態である場合の動作が実行される。追加リスト１２０に存在しない場合、転送先決定部２３２は、廃棄部２３２Ｂで当該パケットを廃棄する。
【００６７】
＜転送設定に関する命令一覧の一例＞
図７は、転送設定プログラム２４４が入出力装置２６０から入力を受け付ける転送設定に関する命令一覧の一例を示す説明図である。転送設定に関する命令一覧７００は、たとえば、命令の種別を示す命令種別７０１、命令種別７０１が示す命令による設定内容を示す設定内容７０２、および初期状態７０３を含む。入出力装置２６０から転送設定に関する命令一覧７００が転送装置１０１に入力されると、転送装置１０１は、転送設定情報６００を転送設定メモリ２３４に設定する。
【００６８】
レコード７０４、７０５が示す命令の各々は、転送設定メモリ２３４のレコード６０４、６０５それぞれが示す転送設定を変更する命令である。レコード７０４、７０５の命令種別７０１、設定内容７０２、および初期状態７０３の各々は、転送設定メモリ２３４のレコード６０４、６０５の保持情報６０１、保持内容６０２、および初期状態６０３に対応する。
【００６９】
なお、レコード７０５における設定内容７０２の値が存在する場合、当該値が、レコード７０５の設定内容７０２として設定されることになる。一方、レコード７０５における設定内容７０２の値が空である場合、転送設定情報６００のレコード６０５における保持内容６０２の値が設定されない。この場合、レコード７０５における初期状態７０３の値が、レコード６０５の初期状態６０３に設定されることになる。
【００７０】
＜転送装置１０１の動作処理手順例＞
図８は、転送装置１０１が追加リスト１２０にエントリ４００を生成する動作を示すフローチャートである。転送装置１０１が入出力装置２６０からＭＡＣアドレスを通知されると、ＣＰＵ４１０は、ＭＡＣアドレスを追加リスト生成プログラム２４５に送信する（ステップＳ８０１）。
【００７１】
追加リスト生成プログラム２４５は、受信したＭＡＣアドレスで追加リスト格納メモリ２３５を検索し、受信したＭＡＣアドレスが追加リスト１２０に存在するか否かを判定する（ステップＳ８０２）。たとえば、当該ＭＡＣアドレスをはじめて追加リスト１２０に登録する場合や有効時間４０２経過後に再度当該ＭＡＣアドレスを追加リスト１２０に登録する場合は、当該ＭＡＣアドレスは、追加リスト１２０に存在しない。
【００７２】
このように、存在しない場合（ステップＳ８０２：Ｎｏ）、追加リスト生成プログラム２４５は、受信したＭＡＣアドレスを追加リスト１２０に新規エントリ４００として登録し、当該新規エントリ４００の有効時間４０２を転送設定情報のレコード６０５の値に設定して（ステップＳ８０４）、処理を終了する。
【００７３】
一方、存在する場合（ステップＳ８０２：Ｙｅｓ）、当該ＭＡＣアドレスのエントリ４００の有効時間４０２を、転送設定情報のレコード６０５の値に更新して（ステップＳ８０５）、処理を終了する。転送設定情報のレコード６０５の値は、保持内容６０２の値が存在すれば保持内容６０２の値に更新され、保持内容６０２の値が存在しなければ、初期状態６０３の値に更新される。転送装置１０１は、更新後の有効時間４０２でカウントダウンを開始する。したがって、有効時間４０２を延長したい場合は、管理者は、転送装置１０１にステップＳ８０２：ＹｅｓおよびＳ８０５の処理を実行させればよい。
【００７４】
なお、レコード６０５については、例えば、前述の通り入出力装置２６０から管理者等によるレコード７０５の入力によって変更される。また、追加リスト１２０の有効時間４０２は、レコード６０５の値を登録しているが、追加リスト１２０のすべてのエントリ４００で一律の値ではなく、ＭＡＣアドレスと同時に管理者により入出力装置２６０から通知してもらうなど、エントリ単位に値を変えられるようにしてもよい。
【００７５】
図９は、外部からのパケットを受信した際の転送設定情報のレコード７０４における設定内容７０２による動作を示すフローチャートである。転送装置１０１のパケット受信部２０２のいずれかがパケットを受信すると、受信パケットに前述のような制御情報を付加し、転送先決定部２３２に送信する（ステップＳ９０１）。パケットを受信した転送先決定部２３２は、転送設定情報６００のレコード６０４の保持内容６０２（生成状態／運用状態）を確認し、ホワイトリスト１１０を生成する生成状態であるか、ホワイトリスト１１０を用いた転送を行う運用状態であるかを判定する（ステップＳ９０２）。
【００７６】
判定（ステップＳ９０２）の結果、生成状態である場合には（ステップＳ９０２：Ｙｅｓ）、後述する図１０のステップＳ１００１へと移行し、転送装置１０１は、ホワイトリスト１１０の自動生成を実行する。判定（ステップＳ９０２）の結果、運用状態である場合には（ステップＳ９０２：Ｎｏ）、後述する図１１のステップＳ１１０１へと移行し、転送装置１０１は、生成されたホワイトリスト１１０に基づく通信制御を実行する。
【００７７】
なお、ホワイトリスト１１０の生成状態および運用状態は、たとえば、前述の通り入出力装置２６０から管理者による入力によって変更される。たとえば、ネットワーク構築時などの無菌期間において生成状態に設定される。無菌期間に正常な通信を実施することで、転送装置１０１は、ホワイトリスト１１０を自動生成する。その後、管理者によって運用状態に変更される。
【００７８】
図１０は、図９のステップＳ９０２において、生成状態であると判定された場合（ステップＳ９０２：Ｙｅｓ）の動作例を示すフローチャートである。パケットを受信した転送先決定部２３２は、受信パケットのヘッダ情報および制御情報をＳ／Ｗ制御部２０４に送信する（ステップＳ１００１）。
【００７９】
受信パケットのヘッダ情報および制御情報を受信したＳ／Ｗ制御部２０４は、その内部に存在するＣＰＵ２４１をホワイトリスト生成部として動作させ、ヘッダ情報および制御情報により、図３に示した情報に従いホワイトリスト１１０を生成する（ステップＳ６０２）。
【００８０】
さらに、ホワイトリスト生成部として動作しているＣＰＵ２４１は、ホワイトリスト格納メモリ２３１に、生成したホワイトリスト１１０の書き込みを実行する（ステップＳ１００３）。そして、転送先決定部２３２は、受信パケットのヘッダ情報および制御情報をキーにして転送テーブルメモリ２３３の対応情報を検索し、転送先を決定する（ステップＳ１００４）。なお、転送先決定部２３２は、受信パケットのヘッダ情報および制御情報を転送テーブル１３０に登録する。受信パケットのヘッダ情報および制御情報が転送テーブルメモリ２３３に登録されていない場合は、転送先はパケットを受信したポート以外の全てのポートに決定される。パケット転送部２０３は、転送先決定部２３２で転送先が決定されたパケットを、該当するポート番号のパケット送信部２０５から送信し（ステップＳ１００５）、処理を終了する。
【００８１】
図１１は、図９のステップＳ９０２において、運用状態と判定された場合の動作を説明したフローチャートである。パケットを受信した転送先決定部２３２は、ホワイトリスト格納メモリ２３１内を検索する。そして、転送先決定部２３２は、受信したパケットが持つヘッダ情報および制御情報がホワイトリスト１１０に存在するか否かを判定する（ステップＳ１１０１）。存在する場合（ステップＳ１１０１：Ｙｅｓ）、転送先決定部２３２は、受信パケットのヘッダ情報および制御情報をキーにして転送テーブルメモリ２３３を検索し、転送先を決定する（ステップＳ１１０２）。なお、転送先決定部２３２は、受信パケットのヘッダ情報および制御情報を転送テーブル１３０に登録する。受信パケットのヘッダ情報および制御情報が転送テーブルメモリ２３３に登録されていない場合は、転送先はパケットを受信したポート以外の全てのポートに決定される。パケット転送部２０３は、パケット転送部２０３で転送先が決定されたパケットを、該当するポート番号のパケット送信部２０５の送信し（ステップＳ１１０３）、処理を終了する。
【００８２】
一方、受信したパケットが持つヘッダ情報および制御情報がホワイトリスト１１０に存在しない場合（ステップＳ１１０１：Ｎｏ）、転送先決定部２３２は、受信パケットのＳｏｒｃｅ  ＭＡＣ  ＡｄｄｒｅｓｓおよびＤｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓをキーにして追加リスト格納メモリ２３５を検索する（ステップＳ１１０４）。受信パケットのＳｏｒｃｅ  ＭＡＣ  ＡｄｄｒｅｓｓおよびＤｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓのいずれかが追加リスト１２０に存在する場合（ステップＳ１１０４：Ｙｅｓ）、前述した図１０のステップＳ１００１に移行し、生成状態の時と同様に処理を進める。一方、ステップＳ１１０４で受信パケットのＳｏｒｃｅ  ＭＡＣ  ＡｄｄｒｅｓｓおよびＤｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓのいずれも追加リスト１２０に存在しない場合（ステップＳ１１０４：Ｎｏ）、転送先決定部２３２は、当該パケットを廃棄し（ステップＳ１１０５）、処理を終了する。
【００８３】
［１］以上説明したように、転送装置１０１は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示すパケット情報１２１（正規情報の一例）を登録するホワイトリスト１１０を記憶するホワイトリスト格納メモリ２３１（第１記憶部の一例）と、パケット情報１２１に含まれていない特定のＭＡＣアドレス４０１（特定のアドレスの一例）と特定のＭＡＣアドレス４０１の有効時間４０２とを含む追加リスト１２０を記憶する追加リスト格納メモリ２３５（第２記憶部の一例）と、パケット（データの一例）を受信するパケット受信部２０２（受信部の一例）と、有効時間４０２内にパケット受信部２０２によって受信されたパケットに含まれている宛先ＭＡＣアドレス（宛先アドレスの一例）および送信元ＭＡＣアドレス（送信元アドレスの一例）のいずれか一方のアドレスが特定のＭＡＣアドレス４０１であるか否かを判定する判定部２３２Ａと、判定部２３２Ａによって有効時間４０２内にいずれか一方のアドレスが特定のＭＡＣアドレス４０１であると判定された場合、パケットに含まれる宛先ＭＡＣアドレスと送信元ＭＡＣアドレスとの間の通信が正規であることを示す特定のパケット情報１２１を生成して、ホワイトリスト１１０に登録する生成部（ホワイトリスト生成プログラム２４３をＣＰＵ２４１に実行させることで実現）と、を有する。
【００８４】
これにより、有効時間４０２内で、特定のＭＡＣアドレス４０１を有する追加が許可された端末１０４からのパケットまたは当該端末１０４へのパケットの転送を可能にする。したがって、管理者は、新規に追加した端末１０４のＭＡＣアドレス１１１を入力すれば、ホワイトリスト１１０への登録が可能となる。このため、ＭＡＣアドレス以外の通信パラメータの洗い出しが不要となる。これにより、管理者の負担軽減やホワイトリスト１１０への登録ミスを抑制することができる。
【００８５】
［２］また、上記［１］の転送装置１０１では、判定部２３２Ａは、特定のパケット情報１２１がホワイトリスト１１０に登録されているか否かを判定し、特定のパケット情報１２１がホワイトリスト１１０に登録されていない場合、有効時間４０２内にいずれか一方のアドレスが特定のＭＡＣアドレス４０１であるか否かを判定する。
【００８６】
これにより、特定のパケット情報１２１がホワイトリスト１１０に登録されていれば、有効時間４０２内にいずれか一方のアドレスが特定のＭＡＣアドレス４０１であるか否かを判定する必要がないため、転送効率の向上を図ることができる。また、特定のパケット情報１２１がホワイトリスト１１０に登録されていなければ、有効時間４０２内にいずれか一方のアドレスが特定のＭＡＣアドレス４０１であるか否かを判定するため、管理者は、新規に追加した端末１０４のＭＡＣアドレス１１１を入力すれば、ホワイトリスト１１０への登録が可能となる。このため、ＭＡＣアドレス以外の通信パラメータの洗い出しが不要となる。これにより、管理者の負担軽減やホワイトリスト１１０への登録ミスを抑制することができる。
【００８７】
［３］また、上記［１］の転送装置１０１は、判定部２３２Ａによっていずれか一方のアドレスが特定のＭＡＣアドレス４０１でないと判定された場合、または、有効時間４０２が経過したと判定された場合、パケットを廃棄する廃棄部２３２Ｂを有する。
【００８８】
これにより、ホワイトリスト１１０に登録されていないパケット情報１２１で特定されるパケットの転送を防止することができる。
【００８９】
［４］また、上記［１］の転送装置１０１は、転送装置１０１に接続されている通信装置のＭＡＣアドレスと当該通信装置と接続するポートのポート番号とを有する転送テーブル１３０を記憶する転送テーブルメモリ２３３（第３記憶部の一例）と、生成部によって生成された特定のパケット情報１２１がホワイトリスト１１０に登録された場合、転送テーブルメモリ２３３を参照して、パケットの転送先を決定する転送先決定部２３２（決定部の一例）と、パケットを転送先決定部２３２によって決定された転送先に送信するパケット送信部２０５（送信部の一例）と、を有する。
【００９０】
これにより、新規に追加された端末１０４からのパケットや当該端末１０４へのパケットを安全に転送先に転送することができる。
【００９１】
［５］また、上記［１］の転送装置１０１は、転送装置１０１の状態を、特定のネットワーク内での転送に制限して生成部によりホワイトリスト１１０を生成させる生成状態（第１状態の一例）と、特定のネットワーク外の転送を許可する運用状態（第２状態の一例）と、のいずれか一方の状態に設定する設定部（転送設定プログラム２４４をＣＰＵ２４１に実行させることで実現）を有する。そして、判定部２３２Ａは、設定部によって設定された運用状態において、有効時間４０２内にいずれか一方のアドレスが特定のＭＡＣアドレス４０１であるか否かを判定する。また、生成部は、判定部２３２Ａによって有効時間４０２内にいずれか一方のアドレスが特定のＭＡＣアドレス４０１であると判定された場合、有効時間４０２内に、パケットに含まれる宛先ＭＡＣアドレスと送信元ＭＡＣアドレスとの間の通信が正規であることを示す特定のパケット情報１２１を生成して、ホワイトリスト１１０に登録する。
【００９２】
これにより、ホワイトリスト１１０に特定のパケット情報１２１を登録する際にホワイトリスト１１０の生成状態への切替が不要となる。このため、ホワイトリスト機能の運用が中断されない。したがって、ネットワーク通信の安全性の向上を図ることができる。また、ホワイトリスト１１０の生成状態への切替が不要であるため、ネットワーク構築時などの無菌状態の確保も不要となる。したがって、一旦稼動を始めたら無菌状態に戻すことが難しいネットワークにも適用可能である。
【００９３】
［６］また、上記［１］の転送装置１０１では、ホワイトリスト１１０および追加リスト１２０は、同一の記憶デバイス内の記憶領域に、共通の項目群（５０１〜５０３）によって構成される。共通の項目群は、ホワイトリスト１１０および追加リスト１２０の各エントリ３１０，４００が、いずれのリストに属するかを示す第１項目５０１と、パケット情報１２１を規定する第２項目５０２と、有効時間４０２を規定する第３項目５０３と、を有する。ホワイトリスト１１０のエントリ３１０は、第３項目５０３に有効時間４０２が無制限であることを示す値（たとえば、「−１」）を保持する。追加リスト１２０のエントリ４００は、第２項目５０２において送信元ＭＡＣアドレス３０３および宛先ＭＡＣアドレス３０４のうちいずれか一方のＭＡＣアドレスを規定し、かつ、いずれか一方のＭＡＣアドレス以外の他のパラメータは特定の値に限定されないことを示す値（たとえば、「ＡＮＹ」）を保持する。
【００９４】
これにより、転送装置１０１は、同一の記憶デバイス内でホワイトリスト１１０の検索に続けて追加リスト１２０を検索する。すなわち、ホワイトリスト格納メモリ２３１と追加リスト格納メモリ２３５との間のメモリアクセスを抑制することができ、処理性能の向上を図ることができる。
【００９５】
［７］また、上記［１］の転送装置１０１は、特定のＭＡＣアドレス４０１と特定のＭＡＣアドレス４０１の有効時間４０２とを生成して追加リスト１２０に記憶する追加リスト生成プログラム２４５を実行するＣＰＵ２４１と、追加リスト生成プログラム２４５を記憶するＳ／Ｗメモリ２４２（第３記憶部の一例）と、判定部２３２Ａによる判定を実行するパケット転送部２０３（回路の一例）と、を有する。パケット転送部２０３は、追加リスト格納メモリ２３５を含む。
【００９６】
これにより、追加リスト１２０の検索の高速化を図ることができる。
【００９７】
［８］また、上記［１］の転送装置１０１は、特定のＭＡＣアドレス４０１と特定のＭＡＣアドレス４０１の有効時間４０２とを生成して追加リスト１２０に記憶する追加リスト生成プログラム２４５を実行するＣＰＵ２４１と、追加リスト生成プログラム２４５および追加リスト１２０を記憶するＳ／Ｗメモリ２４２と、を有する。Ｓ／Ｗメモリ２４２は、追加リスト生成プログラム２４５によって生成された特定のＭＡＣアドレス４０１と特定のＭＡＣアドレス４０１の有効時間４０２とを追加リスト１２０に記憶する。
【００９８】
これにより、パケット転送部２０３におけるメモリ容量を削減することができる。
【００９９】
［９］また、転送装置１０１は、特定のＭＡＣアドレス４０１と特定のＭＡＣアドレス４０１の有効時間４０２とを含む追加リスト１２０を記憶するＳ／Ｗメモリ２４２（記憶部の一例）と、パケットを受信するパケット受信部２０２と、有効時間４０２内にパケット受信部２０２によって受信されたパケットに含まれているアドレスが特定のＭＡＣアドレス４０１であるか否かを判定する判定部２３２Ａと、判定部２３２Ａによって特定のＭＡＣアドレス４０１でないと判定された場合、または、有効時間４０２が経過したと判定された場合、パケットを廃棄する廃棄部２３２Ｂと、判定部２３２Ａによって有効時間４０２内に特定のＭＡＣアドレス４０１であると判定された場合、パケットを当該パケットの転送先に送信するパケット送信部２０５と、を有する。
【０１００】
これにより、ホワイトリスト１１０が存在しない転送装置でも、有効時間４０２内で、特定のＭＡＣアドレス４０１を有する追加が許可された端末１０４からのパケットまたは当該端末１０４へのパケットの転送または廃棄を可能にする。
【０１０１】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０１０２】
１０１  転送装置
１０２〜１０５  端末
１１０  ホワイトリスト
１２０  追加リスト
１２１  パケット情報
１３０  転送テーブル
２０２  パケット受信部
２０３  パケット転送部
２３１  ホワイトリスト格納メモリ
２３２  転送先決定部
２３２Ａ  判定部
２３２Ｂ  廃棄部
２３３  転送テーブルメモリ
２３４  転送設定メモリ
２３５  追加リスト格納メモリ
２４２  Ｓ／Ｗメモリ
２４３  ホワイトリスト生成プログラム
２４４  転送設定プログラム
２４５  追加リスト生成プログラム
２６０  入出力装置
２３２  転送先決定部
４０１  ＭＡＣアドレス
４０２  有効時間
５００  統合リスト
６００  転送設定情報
【図１】
2020113869.tif 000003
【図２】
2020113869.tif 000004
【図３】
2020113869.tif 000005
【図４】
2020113869.tif 000006
【図５】
2020113869.tif 000007
【図６】
2020113869.tif 000008
【図７】
2020113869.tif 000009
【図８】
2020113869.tif 000010
【図９】
2020113869.tif 000011
【図１０】
2020113869.tif 000012
【図１１】
2020113869.tif 000013