(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-09
(45)【発行日】2022-09-20
(54)【発明の名称】転送装置
(51)【国際特許分類】
H04L 12/22 20060101AFI20220912BHJP
H04L 12/46 20060101ALI20220912BHJP
【FI】
H04L12/22
H04L12/46 E
(21)【出願番号】P 2019002642
(22)【出願日】2019-01-10
【審査請求日】2021-08-20
(73)【特許権者】
【識別番号】504411166
【氏名又は名称】アラクサラネットワークス株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】森 俊介
(72)【発明者】
【氏名】田中 啓久
(72)【発明者】
【氏名】内住 圭吾
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2019-179953(JP,A)
【文献】特開2010-045617(JP,A)
【文献】特開2014-137661(JP,A)
【文献】国際公開第2017/073089(WO,A1)
【文献】特開2020-017809(JP,A)
【文献】プラント制御システムにおけるホワイトリスト型攻撃検知機能の可能性について,SCIS2016,日本,2016年01月22日
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-13/18,41/00-69/40
(57)【特許請求の範囲】
【請求項1】
宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、
前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、
データを受信する受信部と、
前記受信部によって受信されたデータに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報が前記ホワイトリストに登録されているか否かを判定し、前記特定の正規情報が前記ホワイトリストに登録されていない場合、前記有効時間内に前記データに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、
前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前
記特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、
を有することを特徴とする転送装置。
【請求項2】
請求項1に記載の転送装置であって、
前記判定部によって前記いずれか一方のアドレスが前記特定のアドレスでないと判定された場合、または、前記有効時間が経過したと判定された場合、前記データを廃棄する廃棄部を有することを特徴とする転送装置。
【請求項3】
請求項1に記載の転送装置であって、
前記転送装置に接続されている通信装置のMACアドレスと前記通信装置と接続するポートのポート番号とを有する転送テーブルを記憶する第3記憶部と、
前記生成部によって生成された前記特定の正規情報が前記ホワイトリストに登録された場合、前記転送テーブルを参照して、前記データの転送先を決定する決定部と、
前記データを前記決定部によって決定された転送先に送信する送信部と、
を有することを特徴とする転送装置。
【請求項4】
宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、
前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、
データを受信する受信部と、
前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、
前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、
転送装置の状態を、特定のネットワーク内での転送に制限して前記生成部により前記ホワイトリストを生成させる第1状態と、前記特定のネットワーク外の転送を許可する第2状態と、のいずれか一方の状態に設定する設定部と、を有し、
前記判定部は、前記設定部によって設定された前記第2状態において、前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであるか否かを判定し、
前記生成部は、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記特定の正規情報を前記有効時間内に生成して、前記ホワイトリストに登録する、
ことを特徴とする転送装置。
【請求項5】
宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、
前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、
データを受信する受信部と、
前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、
前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、を有し、
前記ホワイトリストおよび前記追加リストは、同一の記憶デバイス内の記憶領域に、共通の項目群によって構成され、
前記共通の項目群は、前記ホワイトリストおよび前記追加リストの各エントリが、いずれのリストに属するかを示す第1項目と、前記正規情報を規定する第2項目と、前記有効時間を規定する第3項目と、を有し、
前記ホワイトリストのエントリは、前記第3項目に前記有効時間が無制限であることを示す値を保持し、
前記追加リストのエントリは、前記第2項目において送信元MACアドレスおよび宛先MACアドレスのうちいずれか一方のMACアドレスを規定し、かつ、前記いずれか一方のMACアドレス以外の他のパラメータは特定の値に限定されないことを示す値を保持する、
ことを特徴とする転送装置。
【請求項6】
請求項1から請求項5のいずれか一項に記載の転送装置であって、
前記特定のアドレスと前記特定のアドレスの有効時間とを生成して前記追加リストに記憶するプログラムを実行するプロセッサと、
前記プログラムを記憶する第3記憶部と、
前記判定部による判定を実行する回路と、を有し、
前記回路は、前記第2記憶部を含む、
ことを特徴とする転送装置。
【請求項7】
宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、
前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、
データを受信する受信部と、
前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、
前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、
前記特定のアドレスと前記特定のアドレスの有効時間とを生成して前記追加リストに記憶するプログラムを実行するプロセッサと、
前記プログラムおよび前記追加リストを記憶する第3記憶部と、を有し、
前記プロセッサは、前記プログラムによって生成された前記特定のアドレスと前記特定のアドレスの有効時間とを前記追加リストに記憶する、
ことを特徴とする転送装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを転送する転送装置に関する。
【背景技術】
【0002】
近年、発電所などの重要インフラ内のネットワークに攻撃者が侵入してシステムの制御が奪われるということがないよう、対策が必要である。重要インフラのネットワークにおいては、ファイアウォール装置やパーソナルコンピュータ等の端末に搭載されているウィルスソフトによる防御対策が実施されている。しかし、システム制御を奪おうとする攻撃者の侵入を防ぐために、より強力な対策が必要とされる。攻撃者に侵入された際のリスクを軽減する手法として、ホワイトリスト機能を利用する方法がある。ホワイトリスト機能は、ネットワークを流れる正規通信内情報に含まれる正規端末情報をホワイトリスト収容装置に登録し、ホワイトリスト収容装置に登録された正規端末以外からの非正規通信を遮断することでセキュリティレベルを高める機能である。
【0003】
本技術の背景分野として、特許文献1および特許文献2がある。特許文献1には、「ネットワーク装置は、複数の端末のアドレスを学習できるか否かを示す学習情報と、ネットワーク装置が転送するパケットを示すアドレス情報と、パケットの転送が許可されるか否かを示すフィルタ情報と、を保持し、アドレス情報及びフィルタ情報の少なくとも一方に基づいてパケットを転送する転送部を有し、転送部は、端末からパケットを受信した場合、パケットを受信した際にネットワーク装置がアドレスを学習できるか否かを、学習情報に基づいて判定し、ネットワーク装置がアドレスを学習できる場合、受信したパケットの送信元のアドレスをアドレス情報に格納し、ネットワーク装置がアドレスを学習できない場合、受信したパケットの送信元のアドレスをアドレス情報に格納せず、フィルタ情報に含まれるアドレスに基づいて受信したパケットを転送すべきか否かを判定する。」と記載されている(要約参照)。
【0004】
特許文献2には、「通信装置は、第1データ受信部が受信した第1データの制御情報および第1データの複数種類のヘッダ情報を受信し、優先度情報が示す第1データ受信部が所属する第1データ受信部群の優先度と、ホワイトリスト格納第1メモリが格納することができるホワイトリストのエントリ数を示す収容条件と、に基づいて、第1データの複数種類のヘッダ情報から、パラメータを選択し、第1データの制御情報と、選択した1以上のパラメータと、を含むエントリを、ホワイトリストに追加する。」と記載されている(要約参照)。
【0005】
前述したようなホワイトリスト機能には、生成状態と運用状態がある。生成状態は、ネットワーク構築時などの無菌期間に設定される。生成状態でのホワイトリスト機能は、無菌期間において通信装置に正常な通信を実施させ、ホワイトリストを自動生成する。その後、ホワイトリスト機能は、管理者等によって生成状態から運用状態に遷移され、ホワイトリスト登録外の非正規通信を遮断する通信制御を行う。このように生成状態と運用状態を区別することで、ホワイトリストの自動登録が可能であり、管理者の作業を軽減できる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2015-159482号公報
【文献】特開2017-046149号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来技術のホワイトリスト機能では、ホワイトリスト機能の運用状態中に新規に通信を許可する端末を手動で追加する方法しか存在しない。この方法では、管理者が、追加するすべての通信についてパラメータを洗い出し、手動で入力しなければならない。このため、管理者の作業が煩雑になり、設定ミスなどのリスクも大きくなる。
【0008】
また、新規端末の追加時にホワイトリスト機能を生成状態へ戻し、生成状態に戻ったホワイトリスト機能に、新規端末の通信をホワイトリストに自動登録させる方法もある。しかしながら、この方法では、初期のホワイトリスト機能の生成状態同様に、無菌状態の確保が必要となる。したがって、一旦稼動を始めたら無菌状態に戻すことが難しいネットワークには適用できない。
【0009】
本発明は、制限された期間内で、追加が許可された通信装置からのデータまたは当該通信装置へのデータの転送を可能にする転送装置を提供することにある。
【課題を解決するための手段】
【0010】
本願において開示される発明の第1側面となる転送装置は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、データを受信する受信部と、前記受信部によって受信されたデータに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報が前記ホワイトリストに登録されているか否かを判定し、前記特定の正規情報が前記ホワイトリストに登録されていない場合、前記有効時間内に前記データに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、を有することを特徴とする。
本願において開示される発明の第2側面となる転送装置は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、データを受信する受信部と、前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、前記転送装置の状態を、特定のネットワーク内での転送に制限して前記生成部により前記ホワイトリストを生成させる第1状態と、前記特定のネットワーク外の転送を許可する第2状態と、のいずれか一方の状態に設定する設定部と、を有し、前記判定部は、前記設定部によって設定された前記第2状態において、前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであるか否かを判定し、前記生成部は、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記特定の正規情報を前記有効時間内に生成して、前記ホワイトリストに登録することを特徴とする。
【0011】
本願において開示される発明の第3側面となる転送装置は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、データを受信する受信部と、前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、を有し、前記ホワイトリストおよび前記追加リストは、同一の記憶デバイス内の記憶領域に、共通の項目群によって構成され、前記共通の項目群は、前記ホワイトリストおよび前記追加リストの各エントリが、いずれのリストに属するかを示す第1項目と、前記正規情報を規定する第2項目と、前記有効時間を規定する第3項目と、を有し、前記ホワイトリストのエントリは、前記第3項目に前記有効時間が無制限であることを示す値を保持し、前記追加リストのエントリは、前記第2項目において送信元MACアドレスおよび宛先MACアドレスのうちいずれか一方のMACアドレスを規定し、かつ、前記いずれか一方のMACアドレス以外の他のパラメータは特定の値に限定されないことを示す値を保持することを特徴とする。
本願において開示される発明の第4側面となる転送装置は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示す正規情報を登録するホワイトリストを記憶する第1記憶部と、前記正規情報に含まれていない特定のアドレスと前記特定のアドレスの有効時間とを含む追加リストを記憶する第2記憶部と、データを受信する受信部と、前記有効時間内に前記受信部によって受信されたデータに含まれている宛先アドレスおよび送信元アドレスのいずれか一方のアドレスが前記特定のアドレスであるか否かを判定する判定部と、前記判定部によって前記有効時間内に前記いずれか一方のアドレスが前記特定のアドレスであると判定された場合、前記データに含まれる宛先アドレスと送信元アドレスとの間の通信が正規であることを示す特定の正規情報を生成して、前記ホワイトリストに登録する生成部と、前記特定のアドレスと前記特定のアドレスの有効時間とを生成して前記追加リストに記憶するプログラムを実行するプロセッサと、前記プログラムおよび前記追加リストを記憶する第3記憶部と、を有し、前記プロセッサは、前記プログラムによって生成された前記特定のアドレスと前記特定のアドレスの有効時間とを前記追加リストに記憶する、ことを特徴とする。
【発明の効果】
【0012】
本発明の代表的な実施の形態によれば、制限された期間内で、追加が許可された通信装置からのデータまたは当該通信装置へのデータの転送を可能にすることができる。前述した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本実施例にかかるネットワーク構成例を示す説明図である。
【
図2】
図2は、データの一例であるパケットを中継する転送装置の構成例を示すブロック図である。
【
図3】
図3は、ホワイトリスト格納メモリに格納されるホワイトリストの一例を示す説明図である。
【
図4】
図4は、追加リスト格納メモリに格納される追加リストの一例を示す説明図である。
【
図5】
図5は、ホワイトリストおよび追加リストを統合した統合リストの一例を示す説明図である。
【
図6】
図6は、転送設定メモリが保持する転送設定情報の一例を示す説明図である。
【
図7】
図7は、転送設定プログラムが入出力装置から入力を受け付ける転送設定に関する命令一覧の一例を示す説明図である。
【
図8】
図8は、転送装置が追加リストにエントリを生成する動作を示すフローチャートである。
【
図9】
図9は、外部からのパケットを受信した際の転送設定情報のレコードにおける設定内容による動作を示すフローチャートである。
【
図10】
図10は、
図9のステップS902において、生成状態であると判定された場合(ステップS902:Yes)の動作例を示すフローチャートである。
【
図11】
図11は、
図9のステップS902において、運用状態と判定された場合の動作を説明したフローチャートである。
【発明を実施するための形態】
【0014】
<ネットワーク構成例>
図1は、本実施例にかかるネットワーク構成例を示す説明図である。転送装置101は、ホワイトリスト機能を有する通信装置であり、インターネットなどのネットワーク100に通信可能に接続される。ホワイトリスト機能とは、ホワイトリスト110に登録されているパケット情報121を満たすパケットの転送を許可し、パケット情報121を満たさないパケットの転送を拒否する機能である。ホワイトリスト110とは、転送装置101による転送が許可されたパケットのパケット情報121の一覧である。パケット情報121は、送信元および宛先のアドレス情報を含む。
【0015】
また、転送装置101は、ホワイトリスト110にパケット情報121を追加登録したい端末のMACアドレスを格納する追加リスト120を有する。また、転送装置101は、転送先を決定するための転送テーブル130を有する。転送装置101は、たとえば、アドレス解決により、接続済みの端末102および端末103のMACアドレスと接続済みの端末102および端末103に接続するポート番号を学習して、転送テーブル130に格納する。
【0016】
端末102および端末103は、ネットワーク100に含まれる通信装置であり、転送装置101に通信可能に接続済みである。端末104および端末105はこれから新規に追加される端末である。特に、端末105は、ネットワーク100への追加が許可されていない不正な端末とする。特に言及するまで、端末104および端末105は転送装置101と接続されていないものとする。
【0017】
図1の(A)は、ホワイトリスト機能の運用状態(有効時間112内)における転送装置101の動作例を示す。有効時間112とは、そのMACアドレスがホワイトリスト110内のパケット情報121に規定されていない新規に追加される端末104のMACアドレスが、追加リスト120に登録されてから消去されるまでの時間である。(A)では、端末102のアドレスを送信元および宛先とするパケット情報121と、端末103のアドレスを送信元および宛先とするパケット情報121とが、ホワイトリスト110に登録済みとする。
【0018】
(1)転送装置101は、パケットを受信すると、当該パケットのパケット情報121をホワイトリスト110で確認する。転送装置101は、当該パケットのパケット情報121がホワイトリスト110に登録済みであれば、当該パケットを転送テーブル130に登録された宛先に転送し、ホワイトリスト110に登録されていなければ、当該パケットを廃棄する。なお、端末102および端末103のMACアドレスは、転送先を決定するための転送テーブル130に登録済みであり、端末102および端末103を送信元または宛先とするパケットのパケット情報121は、ホワイトリスト110に登録済みである。したがって、端末102および端末103を送信元または宛先とするパケットは、転送装置101で転送される。
【0019】
(2)(1)のあと、端末104が転送装置101に接続されたものとする。管理者は、たとえば、新規追加の端末104のMACアドレス111を転送装置101に入力する。転送装置101は、この入力を受けると、追加リスト120に、端末104のMACアドレス111と有効時間112とを登録する。有効時間112は、その追加したエントリが有効である時間を示す。そして、有効時間112の計時が開始する。
【0020】
(3)(2)の有効時間112の計時中に、転送装置101は、端末104を送信元または宛先とするパケットを受信すると、当該パケットのパケット情報121がホワイトリスト110に登録済みであるか否かを確認する。端末104は新規に追加された通信装置であるため、当該パケットのパケット情報121はホワイトリスト110に登録されていない。
【0021】
(4)転送装置101は、追加リスト120を検索し、端末104のMACアドレス111が登録されているか否かを確認する。(2)より端末104のMACアドレス111が登録されているため、転送装置101は、ホワイトリスト110に受信パケットのパケット情報121を登録する。
【0022】
(5)転送装置101は、転送テーブル130を検索し、受信パケットの送信先を決定し、パケットを送信する。このとき、転送装置101は、当該パケットを受信したポート番号と送信元である端末104のMACアドレスの組を転送テーブル130に登録する。また、転送装置101が端末104のMACアドレスを転送テーブル130に登録する前に端末104を宛先とするパケットを受信した場合など、転送テーブル130に当該パケットの宛先が存在しなかった場合がある。この場合は、送信先を1ポートに決定できないため、転送装置101は、受信したポート以外の全てのポートを送信先として、当該パケットを送信する。
【0023】
(6)(2)の有効時間112の計時中に、端末105が転送装置101に接続されたとする。端末105のMACアドレスは、追加リスト120に登録されていない。このため、転送装置101は、端末105を送信元または宛先とするパケットのパケット情報121をホワイトリスト110に追加しない。これにより、不正な端末105が接続された場合は通信を遮断することができ、セキュリティを確保することができる。
【0024】
図1の(B)は、ホワイトリスト機能の運用状態((A)の有効時間112経過後)における転送装置101の動作例を示す。有効時間112が経過すると、転送装置101は、端末104のMACアドレス111および有効時間112を追加リスト120から消去する。(B)では、(A)の(1)に示した場合と同様、端末102~104のMACアドレスは、転送先を決定するための転送テーブル130に登録済みであり、端末102~104を送信元または宛先とするパケットのパケット情報121は、ホワイトリスト110に登録済みである。したがって、端末102~104を送信元または宛先とするパケットは、転送装置101で転送される。
【0025】
また、(B)では、(A)の(6)に示した場合と同様、端末105のMACアドレスは、追加リスト120に登録されていない。このため、転送装置101は、端末105を送信元または宛先とするパケットのパケット情報121をホワイトリスト110に追加しない。これにより、不正な端末105が接続された場合は通信を遮断することができ、セキュリティを確保することができる。
【0026】
このように、転送装置101をホワイトリスト110の生成状態に切り替えることなく、運用状態中においてホワイトリスト110にパケット情報121を追加することが可能となる。したがって、管理者は、新規に追加した端末104のMACアドレス111を入力すれば、ホワイトリスト110への登録が可能となるため、MACアドレス以外の通信パラメータの洗い出しが不要となる。したがって、管理者の負担軽減やホワイトリスト110への登録ミスを抑制することができる。
【0027】
また、ホワイトリスト110の生成状態への切替が不要であるため、ホワイトリスト機能の運用が中断されない。したがって、ネットワーク通信の安全性の向上を図ることができる。また、ホワイトリスト110の生成状態への切替が不要であるため、ネットワーク構築時などの無菌状態の確保も不要となるため、一旦稼動を始めたら無菌状態に戻すことが難しいネットワークにも適用可能である。
【0028】
なお、ホワイトリスト110がない転送装置101でも実現可能である。具体的には、たとえば、転送装置101は、有効時間112内でパケットの転送または廃棄を判定し、追加リスト120に端末104のMACアドレス111があれば、端末104へのパケット転送または端末104からのパケット転送を有効時間112内で許可し、追加リスト120に端末104のMACアドレス111がなければ、端末104へのパケット転送または端末104からのパケットを廃棄すればよい。
【0029】
<転送装置101の構成例>
図2は、データの一例であるパケットを中継する転送装置101の構成例を示すブロック図である。転送装置101は、通信装置の一例である。転送装置101は、パケットの中継、およびホワイトリスト110の生成を実行する。転送装置101は、たとえば、複数のパケット受信部202、パケット転送部203、S/W(SoftWare)制御部204、複数のパケット送信部205、および入出力インタフェース206を含む回路構成である。
【0030】
パケット受信部202の各々は、いわゆるポートを含み、たとえば、端末や他の転送装置101等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、接続された外部装置からパケットを受信する。パケット受信部202の各々は、パケット受信部202を一意に識別するパケット受信部番号を有する。
【0031】
パケット受信部202の各々は、パケットを受信した際に、当該パケットに当該パケット受信部202に対応する制御情報(たとえば、パケット受信部番号、VLAN(Virtual Local Area Network)番号)を付加する。制御情報は、1以上のパケット受信部202を有するパケット受信部群を示す情報を含む。パケット受信部202のパケット受信部番号、および当該パケット受信部202が所属するVLAN識別子であるVLAN番号は、それぞれ当該パケット受信部202が付加する制御情報の一例である。
【0032】
パケット転送部203は、パケット受信部202からパケットを受信し、S/W制御部204が生成したホワイトリスト110に従って、受信したパケットの転送、または廃棄等を行う。S/W制御部204は、ホワイトリスト110を生成する。パケット送信部205の各々は、端末や他の転送装置101等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、パケット転送部203から受信したパケットを、接続された外部装置へと送信する。
【0033】
パケット受信部202およびパケット送信部205は、通常、ハードウェアで構成される。なお、パケット受信部202およびパケット送信部205は、図2では説明のため別の部として記載しているが、パケット受信部202とパケット送信部205が一体化したパケット送受信部であってもよい。
【0034】
入出力インタフェース206は、入出力装置260に接続される。入出力インタフェース206は、入出力装置260を介して、利用者からの入力を受け付ける。また、入出力インタフェース206は、プログラムの実行結果等を入出力装置260に出力する。入出力装置260は、たとえば、キーボードやマウス等の利用者からの入力を受ける入力装置や、ディスプレイやプリンタのような転送装置101の処理結果を利用者が視認可能な形式で出力する出力装置を含む。
【0035】
なお、
図2では入出力装置260は、転送装置101と独立した装置として記載されているが、転送装置101にディスプレイや操作ボタン等の入出力装置260が備え付けられていてもよい。
【0036】
パケット転送部203は、ホワイトリスト格納メモリ231と、転送先決定部232と、転送テーブルメモリ233と、転送設定メモリ234と、追加リスト格納メモリ235と、を含む。ホワイトリスト格納メモリ231は、たとえば、CAM(Content Addressable Memory)やDRAM(Dynamic Random Access Memory)であり、S/W制御部204が生成したホワイトリスト110を格納する。
【0037】
転送テーブルメモリ233は、たとえば、CAMやDRAMであり、パケットのヘッダ情報(たとえば、MAC Address,IP Address,protocol)と、パケットの転送先、すなわちパケット送信部205(たとえば、port番号)と、の対応を示す対応情報を格納する。当該対応情報は管理者によって作成され、予め転送テーブルメモリ233に格納されている。OSI(Open Systems Interconnection)参照モデルのレイヤ2の通信に用いられるMAC Address Tableや、OSI参照モデルのレイヤ3の通信に用いられるRouting Tableは、当該対応情報の一例である。
【0038】
転送設定メモリ234は、たとえば、DRAMであり、後述する転送装置101の状態、ホワイトリスト登録外パケット受信時の動作を示す転送設定情報600を格納する。転送設定メモリ234に格納される転送設定情報600は、入出力装置260を介して、管理者により設定される。追加リスト格納メモリ235は、たとえば、DRAMであり、
図1に示した追加リスト120を格納する。
【0039】
転送先決定部232は、パケット受信部202からパケットを受信し、受信したパケットのヘッダ情報および制御情報をキーに転送テーブルメモリ233内を検索することにより、受信したパケットの転送先を決定する。受信したパケットのヘッダ情報および制御情報が転送テーブルメモリ233に存在しなかった場合は、転送先決定部232は、たとえば、受信したパケットを受信したポート以外の全ポートに送信する。
【0040】
また、転送先決定部232は、後述するホワイトリスト110の運用状態中にパケットを受信した場合、ホワイトリスト格納メモリ231に格納されたホワイトリスト110を検索し、受信したパケットがホワイトリスト登録パケットであるか否かを判定する判定部232Aとして機能する。転送先決定部232は、受信したパケットがホワイトリスト登録外パケットであると判定した場合、パケットを廃棄する廃棄部232Bとして機能する。
【0041】
転送先決定部232は、後述するホワイトリスト110の生成状態中にパケットを受信すると、受信したパケットから所定のヘッダ情報(たとえば、MAC Address,IP Address,protocol,port番号)および所定の制御情報(たとえば、パケット受信部番号、VLAN番号)を抽出し、S/W制御部204に送信する。転送先決定部232は、転送設定メモリ234の設定内容に従い、ホワイトリスト110を利用した通信を実施するか否かなどを判定する。
【0042】
パケット転送部203は、ホワイトリスト110の高速検索、パケットのワイヤレートでの通信など、単純で高速な命令を実行するため、通常、ハードウェアで構成される。パケット転送部203は、たとえば、FPGA(Field Programmable Gate Array)等で構成されてもよい。
【0043】
S/W制御部204は、CPU(Control Processing Unit)241と、S/Wメモリ242と、を含む。CPU241は、S/Wメモリ242に格納されたプログラムを実行するプロセッサである。S/Wメモリ242は、不揮発性の記憶素子であるROM(Read Only Memory)および揮発性の記憶素子であるRAM(Random Access Memory)を含む。
【0044】
ROMは、不変のプログラム(たとえば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAMのような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラムおよびプログラムの実行時に使用されるデータを一時的に格納する。
【0045】
S/Wメモリ242は、ホワイトリスト生成プログラム243、転送設定プログラム244、および追加リスト生成プログラム245を含む。パケット転送部203が追加リスト格納メモリ235を有しない場合には、追加リスト120は、S/Wメモリに格納されてもよい。S/Wメモリ242に格納されたプログラムはCPU241(プロセッサ)によって実行されることで、定められた処理を記憶装置および通信ポート(通信デバイス)等を用いながら行う。したがって、本明細書においてプログラムを主語とする説明は、CPU241を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機および計算機システムが行う処理である。
【0046】
CPU241は、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。たとえば、CPU241は、ホワイトリスト生成プログラム243に従って動作することでホワイトリスト生成部として機能し、転送設定プログラム244に従って動作することで転送設定部として機能し、追加リスト生成プログラム245に従って動作することで追加リスト生成部として機能する。さらに、CPU241は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機および計算機システムは、これらの機能部を含む装置およびシステムである。
【0047】
ホワイトリスト生成プログラム243は、転送先決定部232から受信した制御情報およびヘッダ情報から、ホワイトリスト110を生成し、ホワイトリスト格納メモリ231へと書き込む。転送設定プログラム244は、入出力装置260から入力された転送設定を転送設定メモリ234に書き込む。
【0048】
<ホワイトリスト110の一例>
図3は、ホワイトリスト格納メモリ231に格納されるホワイトリスト110の一例を示す説明図である。
図3の例では、ホワイトリスト110は、n個(nは0以上の整数)のエントリを含む。ホワイトリスト110の各エントリ310は、複数のパラメータを含むパケット情報121である。当該複数のパラメータの各々は、パケット受信部202から受信したパケットから転送先決定部232が抽出した制御情報またはヘッダ情報である。したがって、ホワイトリスト110の各エントリ310(パケット情報121)は、転送装置101により中継された正規なパケットを特定する正規情報である。すなわち、ホワイトリスト110に登録されたエントリにより、正規な通信経路が特定される。
【0049】
エントリ310は、たとえば、それぞれパケットの制御情報を示すパラメータであるパケット受信部番号301およびVLAN番号302を含む。エントリ310は、たとえば、それぞれパケットのヘッダ情報を示すパラメータである、Souce MAC Address303、Destination MAC Address304、Protocol305、Source IP Address306、Destination IP Address307、Source port番号308、およびDestination Port番号309を含む。
【0050】
パケット受信部番号301は、パケット受信部202の各々を一意に識別する番号である。パケット受信部番号301により、パケットを受信したパケット受信部202が特定される。VLAN番号302は、パケット受信部202が所属するVLANを一意に識別する番号である。
【0051】
Source MAC Address303は、パケットの送信元MACアドレスを示す。Destination MAC Address304は、パケットの宛先MACアドレスを示す。protocol305は、プロトコルの種類を示す。Source IP Address306は、パケットの送信元IPアドレスを示す。Destination IP Address307は、パケットの宛先IPアドレスを示す。Source port番号308は、パケットの送信元ポート番号を示す。Destination port番号309は、パケットの宛先ポート番号を示す。
【0052】
なお、エントリ310は、
図3の例に限らず、1種類以上の制御情報を示すパラメータと、複数種類のヘッダ情報を示すパラメータと、を含めばよい。エントリ310は、たとえば、前述したヘッダ情報を示すパラメータに加えて又は代えて、TOS(Type Of Service)、フラグ、TTL(Time To Live)、ID、バージョン、およびヘッダ値等のヘッダ情報を含んでもよい。
【0053】
<追加リスト120の一例>
図4は、追加リスト格納メモリ235に格納される追加リスト120の一例を示す説明図である。
図4の例では追加リスト120はm個(mは0以上の整数)のエントリ400を含む。追加リスト120の各エントリ400は、複数のパラメータを含む。エントリ400は、追加リスト120に含まれるエントリの一例である。エントリ400は、たとえば、ホワイトリスト110に追加する端末情報を示すパラメータとして、MAC Address401(
図1では、端末104のMACアドレス111)を含む。エントリ400は、たとえば、そのエントリ400が有効である期間を示すパラメータである有効時間402(
図1では、端末104のMACアドレス111の有効時間112)を含む。たとえば、有効時間402は時間経過とともに減算されていき、0になるとエントリ400は削除される。
【0054】
なお、エントリ400は、
図4の例に限らず、1種類以上の端末情報を示すパラメータ(たとえば、パケット受信部番号301、VLAN番号302、Protocol305、IP Address306、Source port番号308、Destination Port番号309など)と、そのエントリ400が有効である期間を示すパラメータと、を含んでもよい。
【0055】
なお、追加リスト120は、追加リスト格納メモリ235という独立したメモリに格納するのではなく、
図5に示すように、ホワイトリスト格納メモリ231にホワイトリスト110のエントリ310とともに格納されてもよい。
【0056】
図5は、ホワイトリスト110および追加リスト120を統合した統合リストの一例を示す説明図である。統合リスト500は、n個のホワイトリスト110のエントリ310と、m個の追加リスト120のエントリ400とを含む。各エントリ310,400は、第1項目501、第2項目502、および第3項目503により規定される。第1項目501は、ホワイトリスト110および追加リスト120のいずれのエントリに属するかを区別するパラメータである。たとえば、第1項目501が「1」のエントリは、ホワイトリスト110に属し、「2」のエントリは、追加リスト120に属する。なお、エントリを区別できれば他の値でもよい。
【0057】
第2項目502は、たとえば、パケット受信部番号301、VLAN番号302、Souce MAC Address303、Destination MAC Address304、Protocol305、Source IP Address306、Destination IP Address307、Source port番号308、およびDestination Port番号309を含むパラメータにより構成される。
【0058】
第3項目503は有効時間402を規定する。具体的には、たとえば、第3項目503は追加リスト120のエントリ400では、
図4と同様、そのエントリ400が有効である有効時間402を示すパラメータであるが、ホワイトリスト110のエントリ310では、有効時間402が無限であることを示す「-1」が格納される。なお、有効時間402が無限であることを示すことができれば、他の値でもよい。
【0059】
また、追加リスト120のエントリ310において、Souce MAC Address303が格納されていれば、それ以外のパラメータ301,302,304~309は、どのような条件でも一致することを示す「ANY」が格納される。同様に、Destination MAC Address304が格納されていれば、それ以外のパラメータ301~303,305~309は、どのような条件でも一致することを示す「ANY」が格納される。なお、どのような条件でも一致することを示すことができれば、他の値でもよい。これにより、転送装置101は、ホワイトリスト110の検索に続けて追加リスト120を検索できるため、性能の向上が期待できる。
【0060】
<転送設定情報の一例>
図6は、転送設定メモリ234が保持する転送設定情報の一例を示す説明図である。転送設定情報600は、たとえば、転送設定の種別を示す保持情報601、保持情報601の状態を示す保持内容602、および保持内容602の初期状態を示す初期状態603を含む。
図6において、保持内容602を示す各セルには「/」で区切られた複数の値が記載されているが、実際には当該複数の値のいずれか1つが格納される。初期状態603には、対応する保持内容602に記載されている複数の値のいずれか1つが格納される。
【0061】
レコード604は、保持情報601としてホワイトリスト機能を規定するレコードであり、具体的には、たとえば、保持内容602として生成状態/運用状態、初期状態603として運用状態が規定される。
【0062】
レコード605は、保持情報601として追加リスト120内のエントリについての有効時間402を設定するレコードであり、具体的には、たとえば、保持内容602として0/1/2/…といった有効時間402、初期状態603として追加リスト120に設定される有効時間402の初期値「3600」が規定される。初期状態603の値は、保持内容602の有効時間402が設定されなかった場合に有効時間402として設定される。
【0063】
以下、転送設定情報600に従った転送装置101の動作例を説明する。転送先決定部232はパケットを受信すると、転送設定メモリ234を参照し、レコード604の保持内容602が、ホワイトリスト110を生成する生成状態であるか、ホワイトリスト110を用いた転送を行う運用状態であるかを判定する。
【0064】
以下、レコード604の保持内容602が生成状態である場合の動作例を説明する。転送先決定部232は、受信したパケットに対してパケット転送処理を行いながら、受信したパケットのヘッダ情報および制御情報を、CPU241が実行するホワイトリスト生成プログラム243に送信する。CPU241は、ホワイトリスト生成プログラム243により、転送先決定部232から受信したパケットのヘッダ情報および制御情報からホワイトリスト110を生成し、生成した情報をホワイトリスト格納メモリ231へ書き込む。
【0065】
以下、レコード604の保持内容602が運用状態である場合の動作例を説明する。転送先決定部232は、パケット受信部202から受信したパケットが、ホワイトリスト格納メモリ231に格納されたホワイトリスト110に登録済みか否かを判定する。当該パケットが当該ホワイトリスト110に登録済みである場合、転送先決定部232は、受信したパケットに対して、パケット転送処理を行う。
【0066】
当該パケットが当該ホワイトリスト110に登録済みでない場合、転送先決定部232は、追加リスト格納メモリ235を参照し、パケットに含まれるMACアドレスが追加リスト120に存在するか否かを判断する。追加リスト120に存在する場合、レコード604の保持内容602が生成状態である場合の動作が実行される。追加リスト120に存在しない場合、転送先決定部232は、廃棄部232Bで当該パケットを廃棄する。
【0067】
<転送設定に関する命令一覧の一例>
図7は、転送設定プログラム244が入出力装置260から入力を受け付ける転送設定に関する命令一覧の一例を示す説明図である。転送設定に関する命令一覧700は、たとえば、命令の種別を示す命令種別701、命令種別701が示す命令による設定内容を示す設定内容702、および初期状態703を含む。入出力装置260から転送設定に関する命令一覧700が転送装置101に入力されると、転送装置101は、転送設定情報600を転送設定メモリ234に設定する。
【0068】
レコード704、705が示す命令の各々は、転送設定メモリ234のレコード604、605それぞれが示す転送設定を変更する命令である。レコード704、705の命令種別701、設定内容702、および初期状態703の各々は、転送設定メモリ234のレコード604、605の保持情報601、保持内容602、および初期状態603に対応する。
【0069】
なお、レコード705における設定内容702の値が存在する場合、当該値が、レコード605の保持内容602として設定されることになる。一方、レコード705における設定内容702の値が空である場合、転送設定情報600のレコード605における保持内容602の値が設定されない。この場合、レコード705における初期状態703の値が、レコード605の初期状態603に設定されることになる。
【0070】
<転送装置101の動作処理手順例>
図8は、転送装置101が追加リスト120にエントリ400を生成する動作を示すフローチャートである。転送装置101が入出力装置260からMACアドレスを通知されると、CPU
241は、MACアドレスを追加リスト生成プログラム245に送信する(ステップS801)。
【0071】
追加リスト生成プログラム245は、受信したMACアドレスで追加リスト格納メモリ235を検索し、受信したMACアドレスが追加リスト120に存在するか否かを判定する(ステップS802)。たとえば、当該MACアドレスをはじめて追加リスト120に登録する場合や有効時間402経過後に再度当該MACアドレスを追加リスト120に登録する場合は、当該MACアドレスは、追加リスト120に存在しない。
【0072】
このように、存在しない場合(ステップS802:No)、追加リスト生成プログラム245は、受信したMACアドレスを追加リスト120に新規エントリ400として登録し(ステップS803)、当該新規エントリ400の有効時間402を転送設定情報のレコード605の値に設定して(ステップS804)、処理を終了する。
【0073】
一方、存在する場合(ステップS802:Yes)、当該MACアドレスのエントリ400の有効時間402を、転送設定情報のレコード605の値に更新して(ステップS805)、処理を終了する。転送設定情報のレコード605の値は、保持内容602の値が存在すれば保持内容602の値に更新され、保持内容602の値が存在しなければ、初期状態603の値に更新される。転送装置101は、更新後の有効時間402でカウントダウンを開始する。したがって、有効時間402を延長したい場合は、管理者は、転送装置101にステップS802:YesおよびS805の処理を実行させればよい。
【0074】
なお、レコード605については、例えば、前述の通り入出力装置260から管理者等によるレコード705の入力によって変更される。また、追加リスト120の有効時間402は、レコード605の値を登録しているが、追加リスト120のすべてのエントリ400で一律の値ではなく、MACアドレスと同時に管理者により入出力装置260から通知してもらうなど、エントリ単位に値を変えられるようにしてもよい。
【0075】
図9は、外部からのパケットを受信した際の転送設定情報のレコード704における設定内容702による動作を示すフローチャートである。転送装置101のパケット受信部202のいずれかがパケットを受信すると、受信パケットに前述のような制御情報を付加し、転送先決定部232に送信する(ステップS901)。パケットを受信した転送先決定部232は、転送設定情報600のレコード604の保持内容602(生成状態/運用状態)を確認し、ホワイトリスト110を生成する生成状態であるか、ホワイトリスト110を用いた転送を行う運用状態であるかを判定する(ステップS902)。
【0076】
判定(ステップS902)の結果、生成状態である場合には(ステップS902:Yes)、後述する
図10のステップS1001へと移行し、転送装置101は、ホワイトリスト110の自動生成を実行する。判定(ステップS902)の結果、運用状態である場合には(ステップS902:No)、後述する
図11のステップS1101へと移行し、転送装置101は、生成されたホワイトリスト110に基づく通信制御を実行する。
【0077】
なお、ホワイトリスト110の生成状態および運用状態は、たとえば、前述の通り入出力装置260から管理者による入力によって変更される。たとえば、ネットワーク構築時などの無菌期間において生成状態に設定される。無菌期間に正常な通信を実施することで、転送装置101は、ホワイトリスト110を自動生成する。その後、管理者によって運用状態に変更される。
【0078】
図10は、
図9のステップS902において、生成状態であると判定された場合(ステップS902:Yes)の動作例を示すフローチャートである。パケットを受信した転送先決定部232は、受信パケットのヘッダ情報および制御情報をS/W制御部204に送信する(ステップS1001)。
【0079】
受信パケットのヘッダ情報および制御情報を受信したS/W制御部204は、その内部に存在するCPU241をホワイトリスト生成部として動作させ、ヘッダ情報および制御情報により、
図3に示した情報に従いホワイトリスト110を生成する(ステップS
1002)。
【0080】
さらに、ホワイトリスト生成部として動作しているCPU241は、ホワイトリスト格納メモリ231に、生成したホワイトリスト110の書き込みを実行する(ステップS1003)。そして、転送先決定部232は、受信パケットのヘッダ情報および制御情報をキーにして転送テーブルメモリ233の対応情報を検索し、転送先を決定する(ステップS1004)。なお、転送先決定部232は、受信パケットのヘッダ情報および制御情報を転送テーブル130に登録する。受信パケットのヘッダ情報および制御情報が転送テーブルメモリ233に登録されていない場合は、転送先はパケットを受信したポート以外の全てのポートに決定される。パケット転送部203は、転送先決定部232で転送先が決定されたパケットを、該当するポート番号のパケット送信部205から送信し(ステップS1005)、処理を終了する。
【0081】
図11は、
図9のステップS902において、運用状態と判定された場合の動作を説明したフローチャートである。パケットを受信した転送先決定部232は、ホワイトリスト格納メモリ231内を検索する。そして、転送先決定部232は、受信したパケットが持つヘッダ情報および制御情報がホワイトリスト110に存在するか否かを判定する(ステップS1101)。存在する場合(ステップS1101:Yes)、転送先決定部232は、受信パケットのヘッダ情報および制御情報をキーにして転送テーブルメモリ233を検索し、転送先を決定する(ステップS1102)。なお、転送先決定部232は、受信パケットのヘッダ情報および制御情報を転送テーブル130に登録する。受信パケットのヘッダ情報および制御情報が転送テーブルメモリ233に登録されていない場合は、転送先はパケットを受信したポート以外の全てのポートに決定される。パケット転送部203は、パケット転送部203で転送先が決定されたパケットを、該当するポート番号のパケット送信部205の送信し(ステップS1103)、処理を終了する。
【0082】
一方、受信したパケットが持つヘッダ情報および制御情報がホワイトリスト110に存在しない場合(ステップS1101:No)、転送先決定部232は、受信パケットのSorce MAC AddressおよびDestination MAC Addressをキーにして追加リスト格納メモリ235を検索する(ステップS1104)。受信パケットのSorce MAC AddressおよびDestination MAC Addressのいずれかが追加リスト120に存在する場合(ステップS1104:Yes)、前述した
図10のステップS1001に移行し、生成状態の時と同様に処理を進める。一方、ステップS1104で受信パケットのSorce MAC AddressおよびDestination MAC Addressのいずれも追加リスト120に存在しない場合(ステップS1104:No)、転送先決定部232は、当該パケットを廃棄し(ステップS1105)、処理を終了する。
【0083】
[1]以上説明したように、転送装置101は、宛先アドレスと送信元アドレスとの間の通信が正規であることを示すパケット情報121(正規情報の一例)を登録するホワイトリスト110を記憶するホワイトリスト格納メモリ231(第1記憶部の一例)と、パケット情報121に含まれていない特定のMACアドレス401(特定のアドレスの一例)と特定のMACアドレス401の有効時間402とを含む追加リスト120を記憶する追加リスト格納メモリ235(第2記憶部の一例)と、パケット(データの一例)を受信するパケット受信部202(受信部の一例)と、有効時間402内にパケット受信部202によって受信されたパケットに含まれている宛先MACアドレス(宛先アドレスの一例)および送信元MACアドレス(送信元アドレスの一例)のいずれか一方のアドレスが特定のMACアドレス401であるか否かを判定する判定部232Aと、判定部232Aによって有効時間402内にいずれか一方のアドレスが特定のMACアドレス401であると判定された場合、パケットに含まれる宛先MACアドレスと送信元MACアドレスとの間の通信が正規であることを示す特定のパケット情報121を生成して、ホワイトリスト110に登録する生成部(ホワイトリスト生成プログラム243をCPU241に実行させることで実現)と、を有する。
【0084】
これにより、有効時間402内で、特定のMACアドレス401を有する追加が許可された端末104からのパケットまたは当該端末104へのパケットの転送を可能にする。したがって、管理者は、新規に追加した端末104のMACアドレス111を入力すれば、ホワイトリスト110への登録が可能となる。このため、MACアドレス以外の通信パラメータの洗い出しが不要となる。これにより、管理者の負担軽減やホワイトリスト110への登録ミスを抑制することができる。
【0085】
[2]また、上記[1]の転送装置101では、判定部232Aは、特定のパケット情報121がホワイトリスト110に登録されているか否かを判定し、特定のパケット情報121がホワイトリスト110に登録されていない場合、有効時間402内にいずれか一方のアドレスが特定のMACアドレス401であるか否かを判定する。
【0086】
これにより、特定のパケット情報121がホワイトリスト110に登録されていれば、有効時間402内にいずれか一方のアドレスが特定のMACアドレス401であるか否かを判定する必要がないため、転送効率の向上を図ることができる。また、特定のパケット情報121がホワイトリスト110に登録されていなければ、有効時間402内にいずれか一方のアドレスが特定のMACアドレス401であるか否かを判定するため、管理者は、新規に追加した端末104のMACアドレス111を入力すれば、ホワイトリスト110への登録が可能となる。このため、MACアドレス以外の通信パラメータの洗い出しが不要となる。これにより、管理者の負担軽減やホワイトリスト110への登録ミスを抑制することができる。
【0087】
[3]また、上記[1]の転送装置101は、判定部232Aによっていずれか一方のアドレスが特定のMACアドレス401でないと判定された場合、または、有効時間402が経過したと判定された場合、パケットを廃棄する廃棄部232Bを有する。
【0088】
これにより、ホワイトリスト110に登録されていないパケット情報121で特定されるパケットの転送を防止することができる。
【0089】
[4]また、上記[1]の転送装置101は、転送装置101に接続されている通信装置のMACアドレスと当該通信装置と接続するポートのポート番号とを有する転送テーブル130を記憶する転送テーブルメモリ233(第3記憶部の一例)と、生成部によって生成された特定のパケット情報121がホワイトリスト110に登録された場合、転送テーブルメモリ233を参照して、パケットの転送先を決定する転送先決定部232(決定部の一例)と、パケットを転送先決定部232によって決定された転送先に送信するパケット送信部205(送信部の一例)と、を有する。
【0090】
これにより、新規に追加された端末104からのパケットや当該端末104へのパケットを安全に転送先に転送することができる。
【0091】
[5]また、上記[1]の転送装置101は、転送装置101の状態を、特定のネットワーク内での転送に制限して生成部によりホワイトリスト110を生成させる生成状態(第1状態の一例)と、特定のネットワーク外の転送を許可する運用状態(第2状態の一例)と、のいずれか一方の状態に設定する設定部(転送設定プログラム244をCPU241に実行させることで実現)を有する。そして、判定部232Aは、設定部によって設定された運用状態において、有効時間402内にいずれか一方のアドレスが特定のMACアドレス401であるか否かを判定する。また、生成部は、判定部232Aによって有効時間402内にいずれか一方のアドレスが特定のMACアドレス401であると判定された場合、有効時間402内に、パケットに含まれる宛先MACアドレスと送信元MACアドレスとの間の通信が正規であることを示す特定のパケット情報121を生成して、ホワイトリスト110に登録する。
【0092】
これにより、ホワイトリスト110に特定のパケット情報121を登録する際にホワイトリスト110の生成状態への切替が不要となる。このため、ホワイトリスト機能の運用が中断されない。したがって、ネットワーク通信の安全性の向上を図ることができる。また、ホワイトリスト110の生成状態への切替が不要であるため、ネットワーク構築時などの無菌状態の確保も不要となる。したがって、一旦稼動を始めたら無菌状態に戻すことが難しいネットワークにも適用可能である。
【0093】
[6]また、上記[1]の転送装置101では、ホワイトリスト110および追加リスト120は、同一の記憶デバイス内の記憶領域に、共通の項目群(501~503)によって構成される。共通の項目群は、ホワイトリスト110および追加リスト120の各エントリ310,400が、いずれのリストに属するかを示す第1項目501と、パケット情報121を規定する第2項目502と、有効時間402を規定する第3項目503と、を有する。ホワイトリスト110のエントリ310は、第3項目503に有効時間402が無制限であることを示す値(たとえば、「-1」)を保持する。追加リスト120のエントリ400は、第2項目502において送信元MACアドレス303および宛先MACアドレス304のうちいずれか一方のMACアドレスを規定し、かつ、いずれか一方のMACアドレス以外の他のパラメータは特定の値に限定されないことを示す値(たとえば、「ANY」)を保持する。
【0094】
これにより、転送装置101は、同一の記憶デバイス内でホワイトリスト110の検索に続けて追加リスト120を検索する。すなわち、ホワイトリスト格納メモリ231と追加リスト格納メモリ235との間のメモリアクセスを抑制することができ、処理性能の向上を図ることができる。
【0095】
[7]また、上記[1]の転送装置101は、特定のMACアドレス401と特定のMACアドレス401の有効時間402とを生成して追加リスト120に記憶する追加リスト生成プログラム245を実行するCPU241と、追加リスト生成プログラム245を記憶するS/Wメモリ242(第3記憶部の一例)と、判定部232Aによる判定を実行するパケット転送部203(回路の一例)と、を有する。パケット転送部203は、追加リスト格納メモリ235を含む。
【0096】
これにより、追加リスト120の検索の高速化を図ることができる。
【0097】
[8]また、上記[1]の転送装置101は、特定のMACアドレス401と特定のMACアドレス401の有効時間402とを生成して追加リスト120に記憶する追加リスト生成プログラム245を実行するCPU241と、追加リスト生成プログラム245および追加リスト120を記憶するS/Wメモリ242と、を有する。S/Wメモリ242は、追加リスト生成プログラム245によって生成された特定のMACアドレス401と特定のMACアドレス401の有効時間402とを追加リスト120に記憶する。
【0098】
これにより、パケット転送部203におけるメモリ容量を削減することができる。
【0099】
[9]また、転送装置101は、特定のMACアドレス401と特定のMACアドレス401の有効時間402とを含む追加リスト120を記憶するS/Wメモリ242(記憶部の一例)と、パケットを受信するパケット受信部202と、有効時間402内にパケット受信部202によって受信されたパケットに含まれているアドレスが特定のMACアドレス401であるか否かを判定する判定部232Aと、判定部232Aによって特定のMACアドレス401でないと判定された場合、または、有効時間402が経過したと判定された場合、パケットを廃棄する廃棄部232Bと、判定部232Aによって有効時間402内に特定のMACアドレス401であると判定された場合、パケットを当該パケットの転送先に送信するパケット送信部205と、を有する。
【0100】
これにより、ホワイトリスト110が存在しない転送装置でも、有効時間402内で、特定のMACアドレス401を有する追加が許可された端末104からのパケットまたは当該端末104へのパケットの転送または廃棄を可能にする。
【0101】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【0102】
101 転送装置
102~105 端末
110 ホワイトリスト
120 追加リスト
121 パケット情報
130 転送テーブル
202 パケット受信部
203 パケット転送部
231 ホワイトリスト格納メモリ
232 転送先決定部
232A 判定部
232B 廃棄部
233 転送テーブルメモリ
234 転送設定メモリ
235 追加リスト格納メモリ
242 S/Wメモリ
243 ホワイトリスト生成プログラム
244 転送設定プログラム
245 追加リスト生成プログラム
260 入出力装置
232 転送先決定部
401 MACアドレス
402 有効時間
500 統合リスト
600 転送設定情報