(57)【要約】【課題】既存の通信ネットワークを構成する一部の機器を維持しながらセキュリティを向上させる。【解決手段】通信保護装置であるセキュアハブ１０４は、第１の機器からパケットを受信し、受信したパケットを第２の機器へ送信するポートＰ１〜Ｐ４と、少なくとも１つの機器の物理アドレスと論理アドレスとの組を含むアドレス認証情報を保持する記憶領域２０１と、上記パケットに含まれる第１の機器及び第２の機器の物理アドレス又は論理アドレスが、アドレス認証情報に含まれる場合において、第１の機器及び第２の機器の物理アドレスと論理アドレスとの組が、アドレス認証情報に含まれる物理アドレスと論理アドレスとの組に一致するか否かを判定し、一致しないと判定した場合に、上記パケットを破棄する転送処理部２０４とを備える。【選択図】図３
2019041369.tif 000002
【特許請求の範囲】
【請求項１】
第１の機器からパケットを受信し、受信した前記パケットを第２の機器へ送信する通信部と、
少なくとも１つの機器の物理アドレスと論理アドレスとの組を含むアドレス認証情報を保持するメモリと、
前記パケットに含まれる前記第１の機器及び第２の機器の物理アドレス又は論理アドレスが、前記アドレス認証情報に含まれる場合において、前記第１の機器及び第２の機器の物理アドレスと論理アドレスとの組が、前記アドレス認証情報に含まれる物理アドレスと論理アドレスとの組に一致するか否かを判定し、一致しないと判定した場合に、前記パケットを破棄する制御部とを備える、
通信保護装置。
【請求項２】
前記メモリは、さらに、当該通信保護装置とは異なる他の通信保護装置と共有しているグループ鍵を保持し、
前記制御部は、さらに、
前記他の通信保護装置から、第３の機器のアドレスとメッセージ認証情報とを含む更新通知メッセージを前記通信部を介して受信し、
前記グループ鍵を用いて所定のアルゴリズムで生成された認証情報と、前記メッセージ認証情報とが一致している場合に、前記更新通知メッセージに含まれている前記第３の機器のアドレスを前記アドレス認証情報に追加することで更新する、
請求項１に記載の通信保護装置。
【請求項３】
前記制御部は、さらに、
前記通信部を介して前記アドレス認証情報を、当該通信保護装置とは異なる他の通信保護装置へ送信する、
請求項１に記載の通信保護装置。
【請求項４】
前記アドレス認証情報は、前記少なくとも１つの機器のアドレスとシーケンスＩＤとの組を含み、
前記制御部は、前記通信部を介して前記アドレス認証情報を前記他の通信保護装置へ送信するたびにインクリメントしたシーケンスＩＤを、前記アドレス認証情報に含める、
請求項３に記載の通信保護装置。
【請求項５】
前記制御部は、前記通信部と通信可能な機器のアドレスを収集し、収集した前記アドレスに基づいて前記アドレス認証情報を更新する、
請求項１に記載の通信保護装置。
【請求項６】
前記アドレス認証情報は、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスとＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスとの組であり、
前記制御部は、前記アドレス認証情報の更新の際に、収集した前記アドレスのうち、１つの前記ＩＰアドレスに対応付けられる前記ＭＡＣアドレスの組がただ１つである場合、当該組を前記アドレス認証情報に追加することで更新する、
請求項５に記載の通信保護装置。
【請求項７】
通信保護装置の制御方法であって、
前記通信保護装置は、
少なくとも１つの機器のアドレスを含むアドレス認証情報を保持するメモリを備え、
前記制御方法は、
第１の機器からパケットを受信し、受信した前記パケットを第２の機器へ送信する通信ステップと、
前記パケットに含まれている前記第２の機器のアドレスが、前記アドレス認証情報に含まれているか否かを判定し、前記第２の機器のアドレスが前記アドレス認証情報に含まれていないと判定した場合に、前記パケットを破棄する制御ステップとを含む
制御方法。
【請求項８】
請求項７に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信保護装置、制御方法、および、プログラムに関する。
【背景技術】
【０００２】
広大な工場に敷設される通信ネットワークは、多数のハブを多段に接続して建物内を張り巡らせる設置形態が一般的である。また、工場内の生産設備は、常時稼動しており、システム全体の稼働を停止すること等を極力避ける運用が行われている。
【０００３】
昨今、工場に設置されている製造設備をインターネットへ接続し、クラウドでの生産管理、故障予兆分析、又は、オンデマンド生産計画の立案などを行う試みがなされている。
【０００４】
工場における通信ネットワークが外部と接続しない閉域網である場合、外部から通信ネットワークを経由して悪意ある通信がなされることがないので、このような通信に対する防御の必要性が低い。しかし、工場における通信ネットワークが外部と接続されるとセキュリティを保つことが困難になる。
【０００５】
特許文献１は、通信データの盗聴又は改竄などの攻撃を防止する技術を開示している。特許文献１では、機器が接続されるハブに対して、信頼できる物理ポート（単に「ポート」ともいう）を予め管理者が設定する。これにより、ハブは、当該ポートにより受信する通信パケット（単に「パケット」ともいう）の通信アドレス（単にアドレスともいう）を管理している。ここでアドレスには、ＩＰアドレスとＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスとが含まれる。そして、ハブは、信頼できないポートからＩＰアドレス又はＭＡＣアドレスを詐称した通信データを受信した場合には、受信した通信データを破棄することで、通信データの盗聴又は改竄などの攻撃を防止する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１６５６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、既存の通信ネットワークを構成する一部の機器を維持しながらセキュリティを向上させる通信保護装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る通信保護装置は、第１の機器からパケットを受信し、受信した前記パケットを第２の機器へ送信する通信部と、少なくとも１つの機器の物理アドレスと論理アドレスとの組を含むアドレス認証情報を保持するメモリと、前記パケットに含まれる前記第１の機器及び第２の機器の物理アドレス又は論理アドレスが、前記アドレス認証情報に含まれる場合において、前記第１の機器及び第２の機器の物理アドレスと論理アドレスとの組が、前記アドレス認証情報に含まれる物理アドレスと論理アドレスとの組に一致するか否かを判定し、一致しないと判定した場合に、前記パケットを破棄する制御部とを備える。
【０００９】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本発明の通信保護は、既存の通信ネットワークを構成する一部の機器を維持しながらセキュリティを向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態における通信システムの構成と、パケットのアドレスとを示す図である。
【図２】図２は、実施の形態における通信システムの構成を示す図である。
【図３】図３は、実施の形態におけるセキュアハブの構成を示す図である。
【図４】図４は、実施の形態における転送先テーブルの構成を示す図である。
【図５】図５は、実施の形態におけるアドレス認証情報の構成を示す図である。
【図６】図６は、実施の形態におけるイーサネット（登録商標）フレームの構成を示す図である。
【図７】図７は、実施の形態におけるＡＲＰリクエストパケットの一例を示す図である。
【図８】図８は、実施の形態におけるＡＲＰリプライパケットの一例を示す図である。
【図９】図９は、実施の形態におけるアドレス認証情報を通知するための更新通知メッセージの構成を示す図である。
【図１０】図１０は、実施の形態におけるＩＰヘッダの構成の一例を示す図である。
【図１１】図１１は、実施の形態におけるセキュアハブによるアドレス認証情報を登録する処理を示すフローチャートである。
【図１２】図１２は、実施の形態におけるセキュアハブによりアドレス認証情報を他のセキュアハブへ通知する処理を示すフローチャートである。
【図１３】図１３は、実施の形態におけるアドレス認証情報の手動で設定する場合の処理を示すフローチャートである。
【図１４】図１４は、実施の形態における受信パケットの転送処理を示すフローチャートである。
【図１５】図１５は、実施の形態におけるアドレス認証情報の更新処理を示すフローチャートである。
【図１６】図１６は、実施の形態におけるパケットの転送判定処理を示すフローチャートである。
【図１７】図１７は、実施の形態におけるパケットの妥当性検査の処理を示すフローチャートである。
【図１８】図１８は、実施の形態における受信パケットの送出先ポートを決定する処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
（本発明の基礎となった知見）
従来、工場施設等に設置された機器は、独自の通信方式で独自の通信線で装置間を接続して通信することで、稼動する。しかし、インターネットの普及と共に、工場施設においても、高速化及び低価格化が進んだ汎用プロトコルであるＥｔｈｅｒｎｅｔ（イーサネット（登録商標））やＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を利用した機器が設置されてきている。
【００１３】
しかしながら、Ｅｔｈｅｒｎｅｔ及びＩＰは、セキュリティを十分考慮できていない。
【００１４】
例えば、図１に示される通信ネットワークにおいて通信装置ＴＡと通信装置ＴＢとの通信が、ハブＨ１、Ｈ２及びＨ３を介してなされているとする。パケットＰＡは、通信装置ＴＡから通信装置ＴＢへ送信されるパケットであり、パケットＰＢは、通信装置ＴＢから通信装置ＴＡへ送信されるパケットである。パケットＰＡ及びＰＢによりなされる通信は、正当な通信である。
【００１５】
ここで、通信装置ＴＣが、送信元ＩＰアドレスを通信装置ＴＢのアドレス（つまりＩＰＢ）に偽装したパケットＰＣを通信装置ＴＡ宛に送信することによる不正な通信が可能である。通信装置ＴＣは、パケットＰＣを大量に通信装置ＴＡに送信することで、通信装置ＴＡの処理負荷を上昇させたり、誤作動を所持させたりする攻撃ができてしまうという問題がある。
【００１６】
さらに、通信装置ＴＣがＡＲＰプロトコルを悪用することで通信経路を論理的に変更し、正規の通信者ではない第三者がデータの盗聴又は改竄などを行うＭＩＴＭ攻撃（Ｍａｎ−Ｉｎ−Ｔｈｅ−Ｍｉｄｄｌｅ  Ａｔｔａｃｋ）などが比較的容易に行われ得るという問題がある。
【００１７】
特許文献１で開示されている技術によれば、防御機能搭載ハブの信頼ポートに接続された機器に対するなりすまし通信を破棄することは可能である。そして、防御機能搭載ハブの信頼ポートに直接に接続されておらず、離れた場所に存在する機器との通信を保護したい場合には、複数の防御機能搭載ハブを多段で接続し、複数の防御機能搭載ハブのポートのうち、保護したい通信が通過するポートをすべて信頼ポートに設定する必要がある。
【００１８】
しかし、工場施設は広いので、保護が必要な通信をする機器同士が離れた場所に設置されることが一般的である。また、工場施設内に設置される機器の数も多い。よって、保護が必要な通信をする機器の間に存在するすべてのハブを防御機能搭載ハブに置換していくことは現実的ではない。
【００１９】
そこで、本発明は、既存の通信ネットワークを構成する一部の機器を維持しながらセキュリティを向上させる通信保護装置を提供する。
【００２０】
本発明の一態様に係る通信保護装置は、第１の機器からパケットを受信し、受信した前記パケットを第２の機器へ送信する通信部と、少なくとも１つの機器の物理アドレスと論理アドレスとの組を含むアドレス認証情報を保持するメモリと、前記パケットに含まれる前記第１の機器及び第２の機器の物理アドレス又は論理アドレスが、前記アドレス認証情報に含まれる場合において、前記第１の機器及び第２の機器の物理アドレスと論理アドレスとの組が、前記アドレス認証情報に含まれる物理アドレスと論理アドレスとの組に一致するか否かを判定し、一致しないと判定した場合に、前記パケットを破棄する制御部とを備える。
【００２１】
この構成により、保護したい機器に通信保護装置を直接に接続することで、機器間の通信を第三者が取得し改竄・漏洩・遮断等することを防止することができる。また、通信保護装置間の接続には、通常のハブを利用できるので既存設備を引き続き使用できる。このように、通信保護装置は、既存の通信ネットワークを構成する一部の機器を維持しながらセキュリティを向上させる。
【００２２】
例えば、前記メモリは、さらに、当該通信保護装置とは異なる他の通信保護装置と共有しているグループ鍵を保持し、前記制御部は、さらに、前記他の通信保護装置から、第３の機器のアドレスとメッセージ認証情報とを含む更新通知メッセージを前記通信部を介して受信し、前記グループ鍵を用いて所定のアルゴリズムで生成された認証情報と、前記メッセージ認証情報とが一致している場合に、前記更新通知メッセージに含まれている前記第３の機器のアドレスを前記アドレス認証情報に追加することで更新してもよい。
【００２３】
この構成により、同じグループで同じ鍵が設定された通信保護装置でのみ、更新通知メッセージの妥当性の検証が成功し、同一のグループに属する通信保護装置にのみ更新通知メッセージを送信することができる。これにより、通信保護装置が、例えば悪意者から送信される不正な更新通知メッセージを受信して動作することを回避できる。よって、通信保護装置は、不正な更新通知メッセージに基づく動作を回避しながら、既存の通信ネットワークを構成する一部の機器を維持しながらセキュリティを向上させる。
【００２４】
例えば、前記制御部は、さらに、前記通信部を介して前記アドレス認証情報を、当該通信保護装置とは異なる他の通信保護装置へ送信してもよい。
【００２５】
この構成により、通信保護装置は、他の通信保護装置とアドレス認証情報を共有できる。これにより、通信保護装置は、他の通信保護装置と連携して、既存の通信ネットワークを構成する一部の機器を維持しながらセキュリティを向上させる。
【００２６】
例えば、前記アドレス認証情報は、前記少なくとも１つの機器のアドレスとシーケンスＩＤとの組を含み、前記制御部は、前記通信部を介して前記アドレス認証情報を前記他の通信保護装置へ送信するたびにインクリメントしたシーケンスＩＤを、前記アドレス認証情報に含めてもよい。
【００２７】
この構成により、通信保護装置は、シーケンスＩＤに基づいて他の通信保護装置とアドレス認証情報を共有できる。より具体的には、アドレス認証情報を通信路でキャプチャして後で再送することで過去の情報に上書きするセーブ＆リプレイ攻撃に対して防御するのに有効である。
【００２８】
例えば、前記制御部は、前記通信部と通信可能な機器のアドレスを収集し、収集した前記アドレスに基づいて前記アドレス認証情報を更新してもよい。
【００２９】
この構成により、通信保護装置は、通信可能な機器のアドレスを収集することで、アドレス認証情報を更新できる。これにより、通信保護装置の管理者が、通信可能な機器のアドレスを調査して通信保護装置に設定する必要がなくなる利点がある。また、通信保護装置に流入する通信パケットに応じてアドレス認証情報を更新することができるので、通信保護装置の管理者が繰り返しアドレス認証情報を調査して更新する必要がなくなる利点がある。
【００３０】
例えば、前記アドレス認証情報は、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスとＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスとの組であり、前記制御部は、前記アドレス認証情報の更新の際に、収集した前記アドレスのうち、１つの前記ＩＰアドレスに対応付けられる前記ＭＡＣアドレスの組がただ１つである場合、当該組を前記アドレス認証情報に追加することで更新してもよい。
【００３１】
この構成により、通信保護装置は、収集したアドレスのうち、任意のＩＰアドレスに対応付けられるＭＡＣアドレスの組が１つの場合に、信頼できるＩＰアドレス／ＭＡＣアドレスの組としてアドレス認証情報に追加することができる。
【００３２】
また、本発明の一態様に係る通信保護装置の制御方法は、前記通信保護装置は、少なくとも１つの機器のアドレスを含むアドレス認証情報を保持するメモリを備え、前記制御方法は、第１の機器からパケットを受信し、受信した前記パケットを第２の機器へ送信する通信ステップと、前記パケットに含まれている前記第２の機器のアドレスが、前記アドレス認証情報に含まれているか否かを判定し、前記第２の機器のアドレスが前記アドレス認証情報に含まれていないと判定した場合に、前記パケットを破棄する制御ステップとを含む。
【００３３】
これにより、上記通信保護装置と同様の効果を奏する。
【００３４】
また、本発明の一態様に係るプログラムは、上記の制御方法をコンピュータに実行させるためのプログラムである。
【００３５】
これにより、上記通信保護装置と同様の効果を奏する。
【００３６】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３７】
以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【００３８】
（実施の形態）
本実施の一形態について、図面を参照しながら説明する。なお、各図面において同じ構成要素については同じ符号が用いられている。
【００３９】
１．通信システムの全体構成
図２は、本実施の形態における通信システム１０の構成を示す図である。通信システム１０は、例えば工場施設に配備される通信ネットワークと、当該通信ネットワークに接続された機器とを含む。ただし、通信システム１０は、工場施設に配備されるものに限られない。
【００４０】
本実施の形態では、工場施設における機器はＩＥＥＥ８０２．３で規定されるＥｔｈｅｒｎｅｔ上でＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰやＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）／ＩＰなどアプリケーションの特性に応じて適切なプロトコルで通信を行う。
【００４１】
図２において通信システム１０は、ルータ１０１を介してインターネット回線１００に接続されている。これにより、インターネット回線１００を介して遠隔地から機器に対してリモート監視を行うなど、高度な制御を行うことが可能となる。
【００４２】
各機器は、ＬＡＮケーブルでハブ１０３、１０５若しくは１０６、又は、通信保護装置の一形態であるセキュアハブ１０２若しくは１０４と接続することで他の機器と通信を行う。
【００４３】
ハブ１０３、１０５若しくは１０６、又は、セキュアハブ１０２若しくは１０４は、各機器から送出されるパケットを、当該パケット内のアドレス情報に基づいて適切な機器へ伝送する機能を有する。
【００４４】
図２において通信システム１０は、通信ネットワークに接続される機器として、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）１１０並びに１１５、ＳＣＡＤＡ（Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｔｉｏｎ）１１２、および、ＰＣ１１１、１１３、１１４並びに１１６を備える。
【００４５】
ＰＬＣ１１０及び１１５は、製造ラインのベルトコンベア等のモータ制御、又は、制動機器の位置決め制御のためのセンサの制御などを行う。ＳＣＡＤＡ１１２は、システム監視又はＰＬＣ等の制御監視、より具体的にはプロセス監視を行う。ＰＣ１１１、１１３、１１４および１１６は、製造手順のナビゲーション及びトレーサビリティデータを収集する製造ＰＣである。
【００４６】
図２において、構成要素間を結ぶ線はＬＡＮケーブルを示している。また、ハブ１０３、１０５及び１０６、並びに、セキュアハブ１０２及び１０４のそれぞれとＬＡＮケーブルの接続点に記載されている数値は、ＬＡＮケーブルが接続される物理ポート（単に「ポート」ともいう）の識別子を示す。
【００４７】
図２に示される通信システム１０は、セキュアハブ１０２及び１０４により、例えばＰＣ１１４がＳＣＡＤＡ１１２になりすまして、ＰＬＣ１１５にパケットを送信することで、ＰＬＣ１１５の負荷上昇又は誤動作を招く攻撃を抑制し得る。以降において、上記攻撃を抑制するための構成及び処理について説明する。
【００４８】
２．セキュアハブの構成
図３は、セキュアハブ１０４の構成を示す図である。ここでは、セキュアハブ１０４を例として説明するが、セキュアハブ１０２についても同様の説明が成立する。図３においてセキュアハブ１０４は、記憶領域２０１、パケット転送制御部２０２、転送処理部２０４、ポートＰ１、Ｐ２、Ｐ３及びＰ４、および、設定入力部２０９を備える。なお、ポートＰ１、Ｐ２、Ｐ３及びＰ４を単にポートともいう。
【００４９】
パケット転送制御部２０２は、パケットの転送可否を判定する。
【００５０】
また、パケット転送制御部２０２は、ポートを介してアドレス認証情報２１０を、他のセキュアハブへ送信する。また、パケット転送制御部２０２は、他のセキュアハブから、アドレスとメッセージ認証情報とを含む更新通知メッセージを受信する。そして、パケット転送制御部２０２は、グループ鍵を用いて所定のアルゴリズムで生成された認証情報と、メッセージ認証情報とが一致している場合に、更新通知メッセージに含まれているアドレスをアドレス認証情報２１０に追加することで更新する。
【００５１】
また、パケット転送制御部２０２は、ポートと通信可能な機器のアドレスを収集し、収集したアドレスに基づいてアドレス認証情報２１０を更新する。
【００５２】
転送処理部２０４は、ポートによるパケットの受信又は送信のＩＯ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）処理を行う。転送処理部２０４は、ポートが受信したパケットに含まれているアドレス（具体的には、送信元の機器と宛先の機器との物理アドレス又は論理アドレス）が、アドレス認証情報２１０に含まれる場合において、送信元の機器及び宛先の機器の物理アドレスと論理アドレスとの組が、アドレス認証情報に含まれる物理アドレスと論理アドレスとの組に一致するか否かを判定する。そして、転送処理部２０４は、上記判定において一致しないと判定した場合に、上記パケットを破棄する。
【００５３】
パケット転送制御部２０２と転送処理部２０４とは、制御部に相当する。
【００５４】
ポートＰ１、Ｐ２、Ｐ３及びＰ４は、各機器と接続する物理ポートである。ポートＰ１、Ｐ２、Ｐ３及びＰ４は、それぞれ、接続された機器からパケットを受信し、受信したパケットを、当該パケットに含まれるアドレス情報に基づいて、接続された別のポートに接続された機器へ送信する。ポートＰ１、Ｐ２、Ｐ３及びＰ４の各ポートには、識別子であるポートＩＤが割り当てられている。ポートＩＤは、一般のハブなどの通信装置における物理ポート番号に相当する。ポートＰ１のポートＩＤは、その符号と同じ「Ｐ１」であるとする。図２ではポートＰ１のポートＩＤを単に「１」と記載している。他のポートについても同様とする。
【００５５】
例えば、ポートＰ１にはハブ１０３が接続されており、ポートＰ２にはＰＬＣ１１５が接続されており、ポートＰ３にはＰＣ１１６が接続されている。ポートＰ１、Ｐ２、Ｐ３及びＰ４は、通信部に相当する。
【００５６】
設定入力部２０９は、ユーザから設定情報の入力Ｉ／Ｆを提供する。
【００５７】
設定入力部２０９は、例えばユーザが設定を行うためのグラフィカルなＷｅｂインタフェース等（不図示）を提供する。設定入力部２０９は、例えば、通信システム１０に設置されたセキュアハブ１０２並びに１０４のＩＰアドレス、セキュアハブ１０２とセキュアハブ１０４の間の認証に利用されるグループ鍵を、ユーザが設定するためのＷｅｂインタフェース等を提供する。なお、設定入力部２０９は、必要に応じて、信頼できるＩＰアドレス及びＭＡＣアドレスの組をアドレス認証情報２１０として手動で設定するためのＷｅｂインタフェース等を提供してもよい。
【００５８】
記憶領域２０１は、各種情報を保持する記憶装置である。記憶領域２０１はメモリに相当する。
【００５９】
記憶領域２０１が記憶する情報は、アドレス認証情報２１０と、転送先テーブル２１１と、グループ鍵情報２１３とを含む。
【００６０】
アドレス認証情報２１０は、信頼できるＩＰアドレス及びＭＡＣアドレスの対応関係を記憶した情報である。アドレス認証情報２１０は、少なくとも１つの機器のアドレスを含む。
【００６１】
転送先テーブル２１１は、ポートＰ１、Ｐ２、Ｐ３及びＰ４に接続された機器のＭＡＣアドレスを管理する情報である。
【００６２】
グループ鍵情報２１３は、セキュアハブ１０２とセキュアハブ１０４との間で認証情報として利用する鍵情報である。
【００６３】
なお、セキュアハブ１０２のポートを、ポートＱ１、Ｑ２、Ｑ３及びＱ４とする。また、ポートＱ１のポートＩＤは、その符号と同じ「Ｑ１」であるとする。図２ではポートＱ１のポートＩＤを単に「１」と記載している。他のポートについても同様とする。例えばセキュアハブ１０２のポートＱ２にはＳＣＡＤＡ１１２が接続されている。
【００６４】
３．記憶領域の構成
次に記憶領域２０１で保持される情報について具体的に説明する。
【００６５】
図４は、転送先テーブル２１１の構成を示す図である。転送先テーブル２１１は、セキュアハブのポートに接続された機器のＭＡＣアドレスを管理する情報であり、パケットの送信先ポートを決定する際に用いられる。
【００６６】
転送先テーブル２１１は、セキュアハブのポートを識別する番号であるポートＩＤ４０１と、当該ポートに接続された機器のネットワークインタフェースカードのＭＡＣアドレス４０２と、当該機器のＩＰアドレス４０３とを含む。
【００６７】
ＭＡＣアドレス４０２及びＩＰアドレス４０３は、それぞれ、当該ポートに直接に接続された、又は、ハブを経由して間接的に接続された機器のＭＡＣアドレス及びＩＰアドレスである。ハブ経由で機器が接続される場合には、１つのポートに対して複数台の機器のＭＡＣアドレスとＩＰアドレスとの組が登録され得る。
【００６８】
図４において、例えば、ポートＰ１に対してＭＡＣアドレスとＩＰアドレスとの組が２つ登録されている。具体的には、ポートＰ１に対して、ＭＡＣアドレス“０２−０２−０２−０ａ−０ａ−６ｅ”と、ＩＰアドレス“１９２．１６８．０．１１０”との組、及び、ＭＡＣアドレス“０２−０２−０２−０ａ−０ａ−６ｆ”とＩＰアドレス“１９２．１６８．０．１１１”との組の、合計２つの組が登録されている。
【００６９】
また、機器のネットワークインタフェースカードに複数のＩＰアドレスを割り当てた場合、１つのＭＡＣアドレスに対して複数のＩＰアドレスが登録されることもある。
【００７０】
ＭＡＣアドレス４０２は、ポートに接続された機器から送信されたイーサネット（登録商標）フレームの送信元ＭＡＣアドレスから取得され得る。また、ＩＰアドレス４０３は、ポートに接続された機器が送信するＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットに格納された送信元ＩＰアドレスから取得され得る。ＡＲＰパケットについては後述する。
【００７１】
図５は、アドレス認証情報２１０の構成を示す図である。アドレス認証情報２１０は、機器ＩＤ５０１と、ポートＩＤ５０２と、方式５０３と、シーケンスＩＤ５０４と、ＭＡＣアドレス５０５と、ＩＰアドレス５０６とを含む。
【００７２】
機器ＩＤ５０１は、セキュアハブを識別し得る識別子である。ここでは、セキュアハブ１０４の機器ＩＤをＳＨ４とし、セキュアハブ１０２の機器ＩＤをＳＨ２とする。
【００７３】
ポートＩＤ５０２は、セキュアハブのポートを識別し得る識別子である。
【００７４】
上記の機器ＩＤ５０１及びポートＩＤ５０２によって、通信システム１０に含まれるセキュアハブに接続された機器のうち、信頼できる機器が接続されたセキュアハブと、そのセキュアハブに信頼できる機器が接続されたポートとが特定される。
【００７５】
方式５０３は、信頼できるＭＡＣアドレス及びＩＰアドレスを取得した方式である学習方式である。学習方式は、“ａｕｔｏ”又は“ｍａｎｕａｌ”から選択される。“ａｕｔｏ”は、セキュアハブによる動的な学習により取得したことを意味する。“ｍａｎｕａｌ”は、セキュアハブに対して管理者による手動での設定により取得したことを意味する。
【００７６】
シーケンスＩＤ５０４は、セキュアハブ間でアドレス認証情報２１０を共有した際のシーケンスＩＤである。
【００７７】
ＭＡＣアドレス５０５とＩＰアドレス５０６とは、それぞれ、セキュアハブに接続された機器であって、信頼できると判断された機器のＭＡＣアドレスとＩＰアドレスとである。
【００７８】
アドレス認証情報２１０は、当該アドレス認証情報２１０を有しているセキュアハブ１０４が生成した上記各情報、及び、他のセキュアハブであるセキュアハブ１０２から通知された上記各情報の両方を管理する。アドレス認証情報２１０の生成の処理、および、セキュアハブ間でのアドレス認証情報２１０の共有の処理については後述する。
【００７９】
４．ＡＲＰパケットの構成
次にＡＲＰパケットの構成について説明する。ＡＲＰは、通信相手のＩＰアドレスが既知であるときに、その通信相手にイーサネット（登録商標）フレームを送信するために、その通信相手の物理アドレスであるＭＡＣアドレスを検索するプロトコルである。ＡＲＰパケットは、イーサネット（登録商標）フレームのＰａｙｌｏａｄにＡＲＰパケットが格納された構成を有する。
【００８０】
図６は、イーサネット（登録商標）フレーム６００の構成を示す図である。図６に示されるイーサネット（登録商標）フレーム６００は、ＩＥＥＥ８０２．３で規定されたフォーマットを有する。具体的には、イーサネット（登録商標）フレーム６００は、データの開始を示すＰｒｅａｍｂｌｅ６０１と、ＳＦＤ（Ｓｔａｒｔ  Ｆｒａｍｅ  Ｄｅｌｉｍｉｔｅｒ）６０２と、宛先の物理アドレスであるＤ−ＭＡＣ６０３と、送信元の物理アドレスであるＳ−ＭＡＣ６０４と、送信データの種別であるＥｔｈｅｒＴｙｐｅ６０５と、送信データであるＰａｙｌｏａｄ６０６と、送信データのエラーチェックに用いるＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）６０７とを含んで構成される。
【００８１】
Ｐａｙｌｏａｄ６０６には、ＡＲＰパケット６１０が含まれる。
【００８２】
ＡＲＰパケット６１０は、ＲＦＣ８２６で規定されたフォーマットを有する。ＡＲＰパケット６１０は、ＯＳＩ参照モデルにおけるデータリンク層で利用しているプロトコルの種別を示すＨａｒｄｗａｒｅＴｙｐｅ６１１と、ＯＳＩ参照モデルにおけるネットワーク層で利用しているプロトコルの種別を示すＰｒｏｔｏｃｏｌＴｙｐｅ６１２と、データリンク層のアドレスの長さ、すなわち、ＭＡＣアドレスの長さを示すＨａｒｄｗａｒｅＬｅｎｇｔｈ６１３と、ネットワーク層のアドレスの長さ、すなわち、ＩＰアドレスの長さを示すＰｒｏｔｏｃｏｌＬｅｎｇｔｈ６１４と、要求または応答を区別する動作種別を示す動作コードを格納するＯｐｅｒａｔｉｏｎ６１５と、ＡＲＰパケットの送信元のデータリンク層のアドレスであるＡＲＰ−Ｓ−ＭＡＣ６１６と、送信元のネットワーク層のアドレスであるＡＲＰ−Ｓ−ＩＰ６１７と、アドレスを取得する対象機器のデータリンク層のアドレスであるＡＲＰ−Ｄ−ＭＡＣ６１８と、アドレスを取得する対象機器のネットワーク層のアドレスであるＡＲＰ−Ｄ−ＩＰ６１９とを含んで構成される。
【００８３】
次に、ＭＡＣアドレスの要求を示すＡＲＰリクエストパケットの構成と、要求に対する応答を示すＡＲＰリプライパケットの構成とについて説明する。
【００８４】
図７は、ＡＲＰリクエストパケットの一例を示す図である。図８は、ＡＲＰリプライパケットの一例を示す図である。これらのＡＲＰリクエストパケット及びＡＲＰリプライパケットは、図６に示されるＡＲＰパケットのフィールドに具体的な情報を設定したものである。
【００８５】
ここでは、ＡＲＰリクエストパケットの送信元の機器のＭＡＣアドレスが“０２−０２−０２−０ｃ−０ｃ−０ｃ”、送信元の機器のＩＰアドレスが“１９２．１６８．０．１００”であるとする。そして、送信元の機器が、ＩＰアドレスが“１９２．１６８．０．１０１”である機器のＭＡＣアドレスを取得するためのＡＲＰリクエストパケットを送信する。送信されたＡＲＰリクエストパケットに対し、ＩＰアドレスが“１９２．１６８．０．１０１”である機器が、ＭＡＣアドレス“０２−０２−０２−０ａ−０ａ−０ａ”を通知する場合のイーサネット（登録商標）フレームの構成について説明する。
【００８６】
なお、図７では、図６で説明したイーサネット（登録商標）フレーム６００のうちの、ＡＲＰパケット６１０に関連のあるフィールドのみを記載しており、Ｐｒｅａｍｂｌｅ６０１、ＳＦＤ６０２およびＦＣＳ６０７は省略している。
【００８７】
図７に示されるＡＲＰリクエストパケット６１０Ａは、特定のＩＰアドレスの機器のＭＡＣアドレスを調査する際に利用され、通信システム１０に接続されている全機器に届くようにブロードキャストで送信される。
【００８８】
ＡＲＰリクエストパケット６１０Ａは、イーサネット（登録商標）フレーム６００Ａに含まれている。
【００８９】
イーサネット（登録商標）フレーム６００ＡのＤ−ＭＡＣ６０３にはブロードキャストを示す“ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ”が格納され、Ｓ−ＭＡＣ６０４には送信元のネットワークインタフェースカードのＭＡＣアドレスである“０２−０２−０２−０ｃ−０ｃ−０ｃ”が格納されている。また、ＥｔｈｅｒＴｙｐｅ６０５にはＰａｙｌｏａｄ６０６のデータの種別がＡＲＰパケットであることを示す値である“０ｘ０８０６”が格納されている。
【００９０】
ＡＲＰリクエストパケット６１０Ａには、次に示す値が格納されている。ＨａｒｄｗａｒｅＴｙｐｅ６１１には、プロトコルの種別がイーサネット（登録商標）であることを示す“０ｘ０００１”が格納されている。ＰｒｏｔｏｃｏｌＴｙｐｅ６１２には、プロトコルの種別がＩＰプロトコルであることを示す“０ｘ０８００”が格納されている。ＨａｒｄｗａｒｅＬｅｎｇｔｈ６１３には、ＭＡＣアドレスの長さが６ｂｙｔｅであることを示す“０ｘ０６”が格納されている。ＰｒｏｔｏｃｏｌＬｅｎｇｔｈ６１４には、ＩＰのバージョン４のＩＰアドレスの長さが４ｂｙｔｅであることを示す“０ｘ０４”が格納されている。Ｏｐｅｒａｔｉｏｎ６１５には、ＡＲＰの動作がリクエストであることを示す“０ｘ０００１”が格納されている。ＡＲＰ−Ｓ−ＭＡＣ６１６には、送信元のＭＡＣアドレスである“０２−０２−０２−０ｃ−０ｃ−０ｃ”が格納されている。ＡＲＰ−Ｓ−ＩＰ６１７には、送信元のＩＰアドレスである“１９２．１６８．０．１００”が格納されている。ＡＲＰ−Ｄ−ＭＡＣ６１８には、ダミーの値である“ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ”が格納されている。ＡＲＰ−Ｄ−ＩＰ６１９には、調査対象のＩＰアドレスを示す“１９２．１６８．０．１０１”が格納されている。
【００９１】
ＡＲＰリクエストパケット６１０Ａを受信した機器は、パケット中のＡＲＰ−Ｄ−ＩＰ６１９を確認し、機器自身のＩＰアドレスと一致するか否かを判定する。そして、機器は、一致すると判定した場合には、後述するＡＲＰリプライパケット６１０Ｂを返信し、一致しないと判定した場合には、ＡＲＰリクエストパケットを破棄する。
【００９２】
図８は、ＡＲＰリプライパケット６１０Ｂを示す図である。図８において、図６で説明したイーサネット（登録商標）フレーム６００のうちの、ＡＲＰパケット６１０に関連のある領域のみを記載しており、Ｐｒｅａｍｂｌｅ６０１、ＳＦＤ６０２およびＦＣＳ６０７は省略している。
【００９３】
ＡＲＰリプライパケット６１０Ｂは、ＡＲＰリクエストパケット６１０Ａを受信した場合に、ＡＲＰリクエストパケット６１０Ａを受信したことに応じて、調査対象のＩＰアドレスを有する機器が返信するパケットである。なお、ＡＲＰリプライパケット６１０Ｂは、Ｇｒａｔｕｉｔｏｕｓ  ＡＲＰとよばれる、機器自身のＩＰアドレスの変化を他の機器へ通知する目的としても利用される。
【００９４】
ＡＲＰリプライパケット６１０Ｂのうち、図７で説明したＡＲＰリクエストパケット６１０Ａと同じ値が格納されているフィールドについては、その説明を省略する。ＡＲＰリクエストパケット６１０Ａを受信した機器は、ＡＲＰリクエストパケット６１０Ａの送信元の機器に対して、自身の機器のＩＰアドレスとＭＡＣアドレスとを含むＡＲＰリプライパケット６１０Ｂを生成して返信する。
【００９５】
イーサネット（登録商標）フレーム６００ＢのＤ−ＭＡＣ６０３には、リクエストパケットを送信した機器のＭＡＣアドレスである“０２−０２−０２−０ｃ−０ｃ−０ｃ”が格納されている。Ｓ−ＭＡＣ６０４には、送信元のＭＡＣアドレスである“０２−０２−０２−０ａ−０ａ−０ａ”が格納されている。
【００９６】
ＡＲＰリプライパケット６１０Ｂには、次に示す値が格納されている。Ｏｐｅｒａｔｉｏｎ６１５には、ＡＲＰの動作がリプライであることを示す“０ｘ０００２”が格納されている。ＡＲＰ−Ｓ−ＭＡＣ６１６には、送信元のＭＡＣアドレスである“０２−０２−０２−０ａ−０ａ−０ａ”が格納されている。ＡＲＰ−Ｓ−ＩＰ６１７には、送信元のＩＰアドレスである“１９２．１６８．０．１０１”が格納されている。ＡＲＰ−Ｄ−ＭＡＣ６１８には、宛先のＭＡＣアドレス“０２−０２−０２−０ｃ−０ｃ−０ｃ”が格納されている。ＡＲＰ−Ｄ−ＩＰ６１９には、宛先のＩＰアドレス“１９２．１６８．０．１００”が格納されている。
【００９７】
このように、ＡＲＰリクエストパケット６１０Ａを送信した機器は、調査対象の機器からＡＲＰリプライパケット６１０Ｂを受信することで、調査対象の機器のＩＰアドレスに対するＭＡＣアドレスを取得する。
【００９８】
５．アドレス認証情報を通知するメッセージの構成
次に、複数のセキュアハブの間でアドレス認証情報２１０を通知する場合に利用するメッセージについて説明する。この通信メッセージは、セキュアハブからブロードキャストにより通信システム１０に存在する機器に一斉同報配信される。そして、送信したセキュアハブと同一のグループに属するセキュアハブのみが、送信された通信メッセージを受信することが可能である。
【００９９】
図９は、セキュアハブがアドレス認証情報２１０を通知するための更新通知メッセージ７００の構成を説明する図である。図９に示されるメッセージは、一のセキュアハブが、他のセキュアハブが有するアドレス認証情報２１０を更新するための更新通知メッセージ７００である。更新通知メッセージ７００は、イーサネット（登録商標）フレーム６００のＰａｙｌｏａｄ６０６、又は、ＩＰパケットのペイロードに含まれる。
【０１００】
図９に示されるように、更新通知メッセージ７００は、ヘッダ部とボディ部とを含む。
【０１０１】
ヘッダ部は、ＣｏｍｍａｎｄＩＤ７０１と、ＳｅｑｕｅｎｃｅＩＤ７０２と、ＳｗｉｔｃｈＩＤ７０３と、ＮｕｍＯｆＥｎｔｒｙ７０４とを含んで構成される。
【０１０２】
ＣｏｍｍａｎｄＩＤ７０１は、コマンドの種別が格納されるフィールドである。コマンドの種別は、例えば、「０ｘ０１０１：アドレス認証情報の更新通知」である。
【０１０３】
ＳｅｑｕｅｎｃｅＩＤ７０２は、更新通知メッセージの重複を検出するために、更新通知メッセージごとに異なる数値が格納されるフィールドである。ＳｅｑｕｅｎｃｅＩＤ７０２には、当該更新通知メッセージを送信するセキュアハブが保有する単調増加するカウンタ値を設定する。このカウンタ値は、セキュアハブが通信メッセージを送信するたびにインクリメントされ、言い換えれば１ずつ加算される。ＳｅｑｕｅｎｃｅＩＤ７０２は、更新通知メッセージをキャプチャして後で再送することで過去の情報に上書きするセーブ＆リプレイ攻撃に対して防御するのに有効である。
【０１０４】
ＳｗｉｔｃｈＩＤ７０３は、更新通知メッセージを送信したセキュアハブの機器ＩＤが格納されるフィールドである。
【０１０５】
ＮｕｍＯｆＥｎｔｒｙ７０４は、更新通知メッセージのボディ部に含まれるアドレス認証情報の個数を示す数値が格納されるフィールドである。
【０１０６】
ボディ部は、アドレス認証情報を格納するｎ個のＥｎｔｒｙ７０５と、ＭｅｓｓａｇｅＡｕｔｈｅｎｔｉｃａｔｉｏｎＣｏｄｅ７０６とを含む。ここで、ｎは、ＮｕｍＯｆＥｎｔｒｙ７０４に格納されている数値である。ＭｅｓｓａｇｅＡｕｔｈｅｎｔｉｃａｔｉｏｎＣｏｄｅ７０６には、ヘッダ部とボディ部に含まれるｎ個のＥｎｔｒｙ７０５とを含むデータに対する認証情報が格納されている。
【０１０７】
ＭｅｓｓａｇｅＡｕｔｈｅｎｔｉｃａｔｉｏｎＣｏｄｅ７０６は、当該更新通知メッセージの認証情報が格納される。ＭｅｓｓａｇｅＡｕｔｈｅｎｔｉｃａｔｉｏｎＣｏｄｅ７０６は、例えばＲＦＣ２１０４で規定されたＨＭＡＣ（Ｈａｓｈ−ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）アルゴリズムによって生成される認証情報である。セキュアハブは、グループ鍵情報２１３に格納された鍵情報を、ＨＭＡＣアルゴリズムにおける秘密鍵として利用する。セキュアハブは、同一の秘密鍵を有する、つまり、同一のグループに属するセキュアハブとの間でのみ通信メッセージの妥当性の検証が成功する。これにより、セキュアハブは、同一のグループに属するセキュアハブにのみ通信メッセージを送信することが可能となる。
【０１０８】
Ｅｎｔｒｙ７０５には、自機器が生成したアドレス認証情報２１０が格納される。自機器が生成したアドレス認証情報２１０とは、図５に示されるアドレス認証情報２１０のうち機器ＩＤ５０１が自身の機器ＩＤと一致するものである。アドレス認証情報２１０のポートＩＤ５０２がＰｏｒｔ７０７に格納され、アドレス認証情報２１０の方式５０３がＭｏｄｅ７０８に格納され、アドレス認証情報２１０のＭＡＣアドレス５０５がＭＡＣＡｄｄｒｅｓｓ７０９に格納され、アドレス認証情報２１０のＩＰアドレス５０６がＩＰＡｄｄｒｅｓｓ７１０に格納されることで、Ｅｎｔｒｙ７０５が生成される。
【０１０９】
６．ＩＰヘッダの構成
次に、ＩＰヘッダの詳細について説明する。図１０は、ネットワーク上の機器がＲＦＣ７９１で規定されたＩＰ通信を行う場合に利用するＩＰパケットを含むイーサネット（登録商標）フレーム６００Ｃを示す図である。
【０１１０】
図１０においてＩＰヘッダ１７００は、イーサネット（登録商標）フレーム６００ＣのＰａｙｌｏａｄ６０６に格納され、宛先アドレスを識別するために利用される。ＩＰヘッダ１７００は、ＳｏｕｒｃｅＩＰＡｄｄｒｅｓｓ１７０２とＤｅｓｔｉｎａｔｉｏｎＩＰＡｄｄｒｅｓｓ１７０３とを含み、宛先ＩＰアドレス及び送信元ＩＰアドレスを識別する際に利用される。
【０１１１】
７．セキュアハブの動作
次に、セキュアハブの動作について説明する。本実施の形態では、セキュアハブの動作として、パケットの転送状況を学習した後にアドレス認証情報２１０を登録する処理と、登録されたアドレス認証情報２１０を用いたパケットを転送する処理に分けて説明する。ただし、セキュアハブの動作として２つの処理を分離して行うことは必須ではない。すなわち、セキュアハブの動作として、パケットを転送する処理を実施しながら、アドレス認証情報２１０を登録する処理を行うようにしてもよい。
【０１１２】
７−１．アドレス認証情報の登録処理
図１１は、本実施の形態におけるセキュアハブ１０２によるアドレス認証情報を登録する処理を示すフローチャートである。なお、セキュアハブ１０２の処理について説明するが、セキュアハブ１０４についても同様の説明が成立する。以降でも同様とする。
【０１１３】
ステップＳ８０１において、セキュアハブ１０２は、ポートＰ１、Ｐ２、Ｐ３及びＰ４のいずれかからパケットを受信するまで待機する。ポートＰ１、Ｐ２、Ｐ３及びＰ４のいずれかによってパケットを受信したら、転送処理部２０４は、受信したパケットをパケット転送制御部２０２へ転送する。
【０１１４】
ステップＳ８０２において、パケット転送制御部２０２は、ステップＳ８０１で受信したパケットがＡＲＰパケットであるか否かを判定する。ＡＲＰパケットである場合（ステップＳ８０２でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ８０３の処理を行う。ＡＲＰパケットでない場合（ステップＳ８０２でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ８０４の処理を行う。
【０１１５】
ステップＳ８０３において、パケット転送制御部２０２は、ＡＲＰパケットの送信元のＩＰアドレスであるＡＲＰ−Ｓ−ＩＰ６１７と、送信元のＭＡＣアドレスであるＡＲＰ−Ｓ−ＭＡＣ６１６とを抽出し、受信したポートの番号とともに転送先テーブル２１１へ登録する。
【０１１６】
なお、送信元のＭＡＣアドレスは、ＡＲＰパケット６１０のＡＲＰ−Ｓ−ＭＡＣ６１６から抽出される代わりに、イーサネット（登録商標）フレーム６００のＳ−ＭＡＣ６０４から抽出されてもよい。
【０１１７】
ステップＳ８０４において、パケット転送制御部２０２は、パケットを通信相手へ届けるために、送出先ポートを決定し、決定した送出先ポートのポートＩＤを転送処理部２０４へ通知する。ステップＳ８０４の詳細な処理は後述する。
【０１１８】
ステップＳ８０５において、転送処理部２０４は、ステップＳ８０４で通知されたポートＩＤに基づいて送出先ポートによりパケットを送出する。
【０１１９】
ステップＳ８０６において、パケット転送制御部２０２は、パケットの転送状況を学習するための学習期間が完了したか否かを判定する。学習期間が完了していないと判定された場合（ステップＳ８０６でＮＯの場合）は、ステップＳ８０１へ戻る。学習期間が完了したと判定された場合（ステップＳ８０６でＹＥＳの場合）、パケット転送制御部２０２は、ステップＳ８０７の処理を行う。
【０１２０】
ステップＳ８０７において、パケット転送制御部２０２は、転送先テーブル２１１を用いてアドレス認証情報２１０の登録を行う。パケット転送制御部２０２は、転送先テーブル２１１から信頼できるＭＡＣアドレス及びＩＰアドレスの組を抽出する。具体的にはパケット転送制御部２０２は、転送先テーブル２１１に登録された、ポートＩＤ４０１、ＭＡＣアドレス４０２及びＩＰアドレス４０３の組（図４参照）のうち、１つのポートにただ１つのＭＡＣアドレスが対応付けられている組を抽出する。そして、パケット転送制御部２０２は、１つのポートに１つのＭＡＣアドレスが対応付けられているＭＡＣアドレスとＩＰアドレスとの組を、信頼できるＭＡＣアドレス及びＩＰアドレスの組とし、この組に自機器の機器ＩＤと、抽出されたポートＩＤとを関連付けてアドレス認証情報２１０に登録する。
【０１２１】
なお、パケット転送制御部２０２は、１つのＭＡＣアドレスに対応付けられている組が複数ある場合には、これらの複数の組を抽出してもよい。そして、抽出した複数の組を信頼できるＭＡＣアドレス及びＩＰアドレスの組とし、この組に自機器の機器ＩＤと、抽出されたポートＩＤとを関連付けてアドレス認証情報２１０に登録してもよい。
【０１２２】
このように、パケット転送制御部２０２は、１つのポートに１つのＭＡＣアドレスが対応付けられている組を信頼できるＭＡＣアドレス及びＩＰアドレスの組とする。１つのポートに１つのＭＡＣアドレスが対応付けられている場合、当該１つのポートに正当な端末が接続されている、言い換えれば、不正な端末が接続されていないと想定されるからである。これは、不正な端末が接続されるとすれば、正当な端末が接続されているＬＡＮケーブルにハブ等を介して接続することになり、その場合、１つのポートに複数のＭＡＣアドレスが対応付けられることになるからである。
【０１２３】
また、セキュアハブのポートのうち、何も接続されていないポート（「空ポート」ともいう）に１つの不正な端末が新たに接続されると、１つのポートに１つのＭＡＣアドレスが対応付けられた状態となるが、この状態になることは防止され得る。空ポートは、ネットワーク構築等の際に予め物理的に塞がれ、新たなＬＡＮケーブルが挿入されないように保護され得るからである。
【０１２４】
また、パケット転送制御部２０２は、アドレス認証情報２１０の方式５０３として“ａｕｔｏ”を登録し、シーケンスＩＤ５０４として“ｎ／ａ”を登録する。
【０１２５】
ステップＳ８０８において、セキュアハブ１０２は、ステップＳ８０７で登録したアドレス認証情報２１０を他のセキュアハブへ通知する。ステップＳ８０８の詳細な処理については後述する。
【０１２６】
なお、１つのポートに１つのＭＡＣアドレスが対応付けられている組をアドレス認証情報２１０に登録するとしたが、これに限らず、管理者により信頼できるポートとして設定されているポートに対応付けられたものもアドレス認証情報２１０に登録してもよい。管理者による設定は、設定入力部２０９を通じてなされる。
【０１２７】
次に、ステップＳ８０８の詳細な処理について説明する。図１２は、本実施の形態におけるセキュアハブによりアドレス認証情報２１０を他のセキュアハブへ通知する処理を示すフローチャートである。
【０１２８】
ステップＳ９０１において、パケット転送制御部２０２は、アドレス認証情報２１０から自機器つまりセキュアハブ１０２が登録した組を抽出する。具体的には、パケット転送制御部２０２は、アドレス認証情報２１０から、機器ＩＤ５０１がセキュアハブ１０２の機器ＩＤと一致する組を抽出する。
【０１２９】
ステップＳ９０２において、パケット転送制御部２０２は、ステップＳ９０１で抽出した組を含めたアドレス認証情報２１０の更新通知メッセージ７００を生成する。そして、パケット転送制御部２０２は、生成した更新通知メッセージ７００をイーサネット（登録商標）フレーム６００のＰａｙｌｏａｄ６０６へ格納する。
【０１３０】
ステップＳ９０３において、パケット転送制御部２０２は、ステップＳ９０２で生成したイーサネット（登録商標）フレーム６００を、転送処理部２０４を介して全てのポートによりブロードキャストで送信する。
【０１３１】
図１３は、本実施の形態におけるアドレス認証情報２１０を管理者が手動で設定する場合の処理を示すフローチャートである。図１３に示される一連の処理であるステップＳ８０８Ａは、図１１のステップＳ８０８に含まれる処理である。
【０１３２】
ステップＳ１００１において、セキュアハブ１０２の設定入力部２０９は、管理者から、信頼できるＩＰアドレス、ＭＡＣアドレス及びポートＩＤの組の入力を受ける。
【０１３３】
ステップＳ１００２において、設定入力部２０９は、ステップＳ１００１で入力された組をアドレス認証情報２１０へ登録する。設定入力部２０９は、アドレス認証情報２１０の方式５０３として“ｍａｎｕａｌ”を登録し、シーケンスＩＤ５０４として“ｎ／ａ”を登録する。
【０１３４】
ステップＳ８０８において、セキュアハブ１０２は、ステップＳ１００２で登録したアドレス認証情報２１０を他のセキュアハブへ通知する。ステップＳ８０８は、図１１におけるステップＳ８０８と同じである。
【０１３５】
７−２．パケットの転送処理
次に、セキュアハブにおける、受信したパケットの転送処理について詳細に説明する。図１４は、本実施の形態における受信パケットの転送処理を示すフローチャートである。
【０１３６】
ステップＳ１１０１において、セキュアハブ１０２は、ポートＰ１、Ｐ２、Ｐ３及びＰ４のいずれかによりパケットを受信するまで待機する。ポートＰ１、Ｐ２、Ｐ３及びＰ４のいずれかによりパケットを受信したら、転送処理部２０４は、受信したパケットをパケット転送制御部２０２に転送する。
【０１３７】
ステップＳ１１０２において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットがアドレス認証情報の更新通知メッセージ７００を含むか否かを判定する。アドレス認証情報の更新通知メッセージ７００である場合（ステップＳ１１０２でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１１０３の処理を行う。アドレス認証情報の更新通知メッセージ７００でない場合（ステップＳ１１０２でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ１１０４の処理を行う。
【０１３８】
ステップＳ１１０３において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットに含まれる、アドレス認証情報２１０の更新通知メッセージ７００の受信処理を実行する。ステップＳ１１０３の処理の詳細は後述する。
【０１３９】
ステップＳ１１０４において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットに対して転送可否の判定を行う。ステップＳ１１０４の詳細な説明は後述する。
【０１４０】
ステップＳ１１０５において、パケット転送制御部２０２は、ステップＳ１１０４の転送可否の判定において転送可と判定された場合（ステップＳ１１０５でＹＥＳの場合）には、ステップＳ８０４の処理を行う。また、パケット転送制御部２０２は、転送可否の判定において転送不可と判定された場合（ステップＳ１１０５でＮＯの場合）には、ステップＳ１１０７の処理を行う。
【０１４１】
ステップＳ８０４において、パケット転送制御部２０２は、パケットを通信相手へ届けるために、送出先のポートを決定し、決定したポートのポートＩＤを転送処理部２０４へ通知する。
【０１４２】
ステップＳ１１０６において、転送処理部２０４は、ステップＳ８０４で通知されたポートＩＤに基づいて送出先のポートによりパケットを送出する。
【０１４３】
ステップＳ１１０７において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットが転送不可であることを、表示する、又は、他の機器へ通知する。
【０１４４】
ステップＳ１１０８において、転送処理部２０４は、ステップＳ１１０１で受信したパケットを破棄する。
【０１４５】
なお、ステップＳ１１０１で受信したパケットが転送不可であることを通知する手段は、本実施の形態では特に限定しない。例えば、セキュアハブ１０２がモニターを具備していれば、そのモニターに表示するようにしてもよい。また、回転灯等の他の機器に、例えばＲＦＣ３４１１等で規定されるＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）通信によってパケットが転送不可であることを通知し、回転灯で回転放光することによって可視化するようにしてもよい。
【０１４６】
７−３．アドレス認証情報の更新処理
次に、ステップＳ１１０３の詳細な処理について説明する。図１５は、アドレス認証情報２１０の更新処理を示すフローチャートである。
【０１４７】
ステップＳ１２０１において、パケット転送制御部２０２は、グループ鍵情報２１３からセキュアハブ１０２が属するグループのグループ鍵を取得し、ステップＳ１１０１で受信した更新通知メッセージ７００が同一グループのセキュアハブから通知されたものであるか否かを判定する。具体的には、パケット転送制御部２０２は、セキュアハブ１０２のグループ鍵を用いてＨＭＡＣアルゴリズムによって生成した認証情報と、更新通知メッセージ７００に格納されたＭｅｓｓａｇｅＡｕｔｈｅｎｔｉｃａｔｉｏｎＣｏｄｅ７０６の値とが一致する場合に、ステップＳ１１０１で受信した更新通知メッセージ７００が同一グループのセキュアハブから通知されたものであると判定し、一致しない場合に、ステップＳ１１０１で受信した更新通知メッセージ７００が同一グループのセキュアハブから通知されたものでないと判定する。
【０１４８】
ステップＳ１１０１で受信した更新通知メッセージ７００が同一グループのセキュアハブから通知されたものでないと判定した場合（ステップＳ１２０１でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ１２０２の処理を行う。一方、ステップＳ１１０１で受信した更新通知メッセージ７００が同一グループのセキュアハブから通知されたものであると判定した場合（ステップＳ１２０１でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１２０３の処理を行う。
【０１４９】
ステップＳ１２０２において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットを破棄する。
【０１５０】
ステップＳ１２０３において、パケット転送制御部２０２は、ステップＳ１１０１で受信した更新通知メッセージ７００に格納されたＳｗｉｔｃｈＩＤ７０３を取得する。次に、アドレス認証情報２１０の中から、ＳｗｉｔｃｈＩＤ７０３と一致する機器ＩＤ５０１を含む組を抽出し、抽出した組のシーケンスＩＤ５０４の値より、更新通知メッセージ７００に格納されたＳｅｑｕｅｎｃｅＩＤ７０２の方が大きいか否かを判定する。上記ＳｅｑｕｅｎｃｅＩＤ７０２の方が大きいと判定した場合（ステップＳ１２０３でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１２０４の処理を行い、そうでない場合（ステップＳ１２０３でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ１２０２の処理を行う。
【０１５１】
ステップＳ１２０４において、パケット転送制御部２０２は、ステップＳ１２０３でアドレス認証情報２１０から抽出した組をアドレス認証情報２１０から削除し、更新通知メッセージ７００に格納されているＥｎｔｒｙ７０５を新たにアドレス認証情報２１０に登録する。機器ＩＤ５０１及びシーケンスＩＤ５０４には、それぞれ、ＳｗｉｔｃｈＩＤ７０３、ＳｅｑｕｅｎｃｅＩＤ７０２の値が格納される。
【０１５２】
７−４．パケットの転送判定処理
次に、ステップＳ１１０４の詳細な処理について説明する。図１６は、受信したパケットの転送判定処理のフローチャートである。
【０１５３】
ステップＳ１３０１において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットのＡＲＰの動作種別（Ｏｐｅｒａｔｉｏｎ６１５）が応答であるか否かを判定する。ＡＲＰの動作種別が応答であると判定した場合（ステップＳ１３０１でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１３０２の処理を実行する。ＡＲＰの動作種別が応答でないと判定した場合（ステップＳ１３０１でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ１３１１の処理を実行する。
【０１５４】
なお、ステップＳ１１０１で受信したパケットがＡＲＰパケットではない場合には、「ＡＲＰの動作種別が応答でないと判定した場合」の処理を行う。
【０１５５】
ステップＳ１３０２において、パケット転送制御部２０２は、イーサネット（登録商標）フレームに含まれるＡＲＰパケットの妥当性検査を実施するために、ＡＲＰパケットに格納されているＡＲＰ−Ｓ−ＭＡＣ６１６及びＡＲＰ−Ｓ−ＩＰ６１７、並びに、ＡＲＰ−Ｄ−ＭＡＣ６１８及びＡＲＰ−Ｄ−ＩＰ６１９を、妥当性の検査対象に指定する。
【０１５６】
ステップＳ１３０３において、パケット転送制御部２０２は、ステップＳ１３０２で指定した検査対象に対して、ＡＲＰパケットの妥当性検査を実施する。妥当性検査の詳細は後述する。
【０１５７】
ステップＳ１３０４において、パケット転送制御部２０２は、検査対象に指定したＡＲＰ−Ｓ−ＭＡＣ６１６及びＡＲＰ−Ｓ−ＩＰ６１７に対する妥当性検査の結果と、検査対象に指定したＡＲＰ−Ｄ−ＭＡＣ６１８及びＡＲＰ−Ｄ−ＩＰ６１９に対する妥当性検査の結果とを取得する。そして、パケット転送制御部２０２は、２つの妥当性検査の結果が全て妥当であると判定した場合（ステップＳ１３０４でＹＥＳの場合）には、ステップＳ１３２７の処理を実行する。パケット転送制御部２０２は、２つの妥当性検査の結果のうち少なくとも一方の妥当性検査の結果が妥当でないと判定した場合（ステップＳ１３０４でＮＯの場合）には、ステップＳ１３２８の処理を実行する。
【０１５８】
ステップＳ１３１１において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットのＡＲＰの動作種別が要求であるか否かを検査する。ＡＲＰの動作種別が要求である場合（ステップＳ１３１１でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１３１２の処理を実行する。ＡＲＰパケットの種別が要求でない場合（ステップＳ１３１１でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ１３２１の処理を実行する。
【０１５９】
なお、ステップＳ１１０１で受信したパケットがＡＲＰパケットではない場合には、「ＡＲＰの動作種別が要求でないと判定した場合」の処理を行う。
【０１６０】
ステップＳ１３１２において、パケット転送制御部２０２は、イーサネット（登録商標）フレームに含まれるＡＲＰパケットの妥当性検査を実施するために、ＡＲＰパケットに格納されているＡＲＰ−Ｓ−ＭＡＣ６１６及びＡＲＰ−Ｓ−ＩＰ６１７を、妥当性の検査対象に指定する。
【０１６１】
ステップＳ１３１３において、パケット転送制御部２０２は、ステップＳ１３１２で指定した検査対象に対して、ＡＲＰパケットの妥当性検査を実施する。ステップＳ１３１３の処理の内容は、ステップＳ１３０３と同じである。
【０１６２】
ステップＳ１３１４において、パケット転送制御部２０２は、ステップＳ１３１２で指定した検査対象であるＡＲＰ−Ｓ−ＭＡＣ６１６及びＡＲＰ−Ｓ−ＩＰ６１７に対する妥当性検査の結果を取得する。パケット転送制御部２０２は、妥当性検査の結果が妥当であると判定した場合（ステップＳ１３１４でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１３２７の処理を実行する。パケット転送制御部２０２は、妥当性検査の結果が妥当でないと判定した場合（ステップＳ１３１４でＮＯの場合）、ステップＳ１３２８の処理を実行する。
【０１６３】
ステップＳ１３２１において、パケット転送制御部２０２は、イーサネット（登録商標）フレームの妥当性検査を実施するために、Ｓ−ＭＡＣ６０４及びＳｏｕｒｃｅＩＰＡｄｄｒｅｓｓ１７０２を、妥当性の検査対象に指定する。
【０１６４】
ステップＳ１３２２において、パケット転送制御部２０２は、ステップＳ１３２１で指定した検査対象に対して、妥当性検査を実施する。ステップＳ１３２２の処理の内容は、ステップＳ１３０３と同じである。
【０１６５】
ステップＳ１３２３において、パケット転送制御部２０２は、ステップＳ１３２１で指定した検査対象であるＳ−ＭＡＣ６０４及びＳｏｕｒｃｅＩＰＡｄｄｒｅｓｓ１７０２に対する妥当性検査の結果を取得する。パケット転送制御部２０２は、妥当性検査の結果が妥当であると判定した場合（ステップＳ１３２３でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１３２４の処理を実行する。パケット転送制御部２０２は、妥当性検査の結果が妥当でないと判定した場合（ステップＳ１３２３でＮＯの場合）には、ステップＳ１３２８の処理を実行する。
【０１６６】
ステップＳ１３２４において、パケット転送制御部２０２は、イーサネット（登録商標）フレームの妥当性検査を実施するために、Ｄ−ＭＡＣ６０３及びＤｅｓｔｉｎａｔｉｏｎＩＰＡｄｄｒｅｓｓ１７０３を、妥当性の検査対象に指定する。
【０１６７】
ステップＳ１３２５において、パケット転送制御部２０２は、ステップＳ１３２４で指定した検査対象に対して、妥当性検査を実施する。ステップＳ１３２５の処理の内容は、ステップＳ１３０３と同じである。
【０１６８】
ステップＳ１３２６において、パケット転送制御部２０２は、ステップＳ１３２４で指定した検査対象であるＤ−ＭＡＣ６０３及びＤｅｓｔｉｎａｔｉｏｎＩＰＡｄｄｒｅｓｓ１７０３に対する妥当性検査の結果を取得する。パケット転送制御部２０２は、妥当性検査の結果が妥当であると判定した場合（ステップＳ１３２６でＹＥＳの場合）には、ステップＳ１３２７の処理を実行する。パケット転送制御部２０２は、妥当性検査の結果が妥当でないと判定した場合（ステップＳ１３２６でＮＯの場合）には、ステップＳ１３２８の処理を実行する。
【０１６９】
ステップＳ１３２７において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットについて転送可と判定する。
【０１７０】
ステップＳ１３２８において、パケット転送制御部２０２は、ステップＳ１１０１で受信したパケットについて転送不可と判定する。
【０１７１】
７−５．妥当性検査の処理
次に、受信したパケットの妥当性検査の処理について説明する。図１７は、本実施の形態における受信したパケットの妥当性検査の処理を示すフローチャートである。図１７に示される処理は、図１６のステップＳ１３０３に含まれる処理を詳細に示すものである。
【０１７２】
ステップＳ１４０１において、パケット転送制御部２０２は、検査対象として指定されたＩＰアドレスと同じＩＰアドレスを有する組が、アドレス認証情報２１０に登録されているか否かを判定する。上記組がアドレス認証情報２１０に登録されていると判定した場合（ステップＳ１４０１でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１４０２を実行する。上記組がアドレス認証情報２１０に登録されていないと判定した場合（ステップＳ１４０１でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ１４０３を実行する。
【０１７３】
ステップＳ１４０２において、パケット転送制御部２０２は、検査対象として指定されたＩＰアドレスと同じＩＰアドレスを有する組に含まれるＭＡＣアドレスが、検査対象として指定されたＭＡＣアドレスと一致するか否かを判定する。両ＭＡＣアドレスが一致すると判定した場合（ステップＳ１４０２でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１４０５の処理を実行する。両ＭＡＣアドレスが一致しないと判定した場合（ステップＳ１４０２でＮＯの場合）には、パケット転送制御部２０２は、ステップＳ１４０６の処理を実行する。
【０１７４】
ステップＳ１４０３において、パケット転送制御部２０２は、検査対象として指定されたＭＡＣアドレスと同じＭＡＣアドレスを有する組が、アドレス認証情報２１０に登録されているか否かを判定する。上記組がアドレス認証情報２１０に登録されていると判定した場合（ステップＳ１４０３でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１４０４の処理を実行する。上記組がアドレス認証情報２１０に登録されていないと判定した場合（ステップＳ１４０３でＮＯの場合）、パケット転送制御部２０２は、ステップＳ１４０５の処理を実行する。
【０１７５】
ステップＳ１４０４において、パケット転送制御部２０２は、検査対象として指定されたＭＡＣアドレスと同じＭＡＣアドレスを有する組に含まれるＩＰアドレスが、検査対象として指定されたＩＰアドレスと一致するか否かを判定する。両ＩＰアドレスが一致すると判定した場合（ステップＳ１４０４でＹＥＳの場合）には、パケット転送制御部２０２は、ステップＳ１４０５の処理を実行する。両ＩＰアドレスが一致しないと判定した場合（ステップＳ１４０４でＮＯの場合）、パケット転送制御部２０２は、ステップＳ１４０６の処理を実行する。
【０１７６】
ステップＳ１４０５において、パケット転送制御部２０２は、検査対象が妥当であると判定する。
【０１７７】
ステップＳ１４０６において、パケット転送制御部２０２は、検査対象が妥当でないと判定する。
【０１７８】
なお、機器のネットワークインタフェースカードに新たなＩＰアドレスを割り当てた場合、１つのＭＡＣアドレスに対して複数のＩＰアドレスが登録されることになる。そのため、本来ならば受信したイーサネット（登録商標）フレームは妥当であると判定されるところを妥当でないと判定されてしまう。
【０１７９】
この状況を避けるため、妥当性検査の処理の前に、アドレス認証情報２１０を更新するようにすればよい。
【０１８０】
具体的には、ステップＳ１３０１においてＡＲＰの動作種別が応答である場合（ＹＥＳの場合）には、パケット転送制御部２０２は、ＡＲＰパケットを受信したポートのポートＩＤ５０２に対応付けられた方式５０３が“ａｕｔｏ”である組が、アドレス認証情報２１０に存在しない場合には、信頼できるＩＰアドレス及びＭＡＣアドレスとして、ＡＲＰ−Ｓ−ＭＡＣ６１６及びＡＲＰ−Ｓ−ＩＰ６１７をアドレス認証情報２１０へ新たに登録する。
【０１８１】
また、ＡＲＰパケットを受信したポートのポートＩＤ５０２に対応付けられた方式５０３が“ａｕｔｏ”の組が既にアドレス認証情報２１０に存在する場合には、受信したＡＲＰパケットのＡＲＰ−Ｓ−ＭＡＣ６１６とＭＡＣアドレス５０５とが同一であれば、信頼できるＩＰアドレス及びＭＡＣアドレスとしてＡＲＰ−Ｓ−ＭＡＣ６１６及びＡＲＰ−Ｓ−ＩＰ６１７をアドレス認証情報２１０へ登録する。新たなＩＰアドレスを追加する必要があると判断されるからである。
【０１８２】
また、受信したＡＲＰパケットのＡＲＰ−Ｓ−ＭＡＣ６１６とＭＡＣアドレス５０５とが同一でなければ、新たな機器がハブ経由で接続されたと判断し、当該ポートのポートＩＤ５０２に対応付けられた、方式５０３が“ａｕｔｏ”の組を、アドレス認証情報２１０から削除する。
【０１８３】
７−６．送出先ポートを決定する処理
次に、受信したパケットに対して送出先ポートを決定する処理について詳細に説明する。図１８は、本実施の形態における受信パケットの送出先ポートを決定する処理を示すフローチャートである。
【０１８４】
ステップＳ１５０１において、転送処理部２０４は、ステップＳ１１０１で受信したパケットの宛先ＭＡＣアドレスであるＤ−ＭＡＣ６０３を取得する。
【０１８５】
ステップＳ１５０２において、転送処理部２０４は、転送先テーブル２１１にＤ−ＭＡＣ６０３と同じＭＡＣアドレス４０２を含む組が存在するか否かを判定する。上記組が存在すると判定した場合（ステップＳ１５０２でＹＥＳの場合）には、転送処理部２０４は、ステップＳ１５０３の処理を実行する。一致する組が存在しないと判定した場合（ステップＳ１５０２でＮＯの場合）には、転送処理部２０４は、ステップＳ１５０４の処理を実行する。
【０１８６】
ステップＳ１５０３において、転送処理部２０４は、転送先テーブル２１１に含まれる、Ｄ−ＭＡＣ６０３を有する組に含まれるポートＩＤ４０１を、送出先のポートとして選択する。
【０１８７】
ステップＳ１５０４において、転送処理部２０４は、ステップＳ１１０１でパケットを受信したポート以外のポートを、送出先のポートとして選択する。
【０１８８】
８．実施の形態の効果
本実施の形態では、セキュアハブ１０２は、信頼できるＩＰアドレスとＭＡＣアドレスとの対応関係を記憶するアドレス認証情報２１０を生成し、別のセキュアハブ１０４と共有する。そして、セキュアハブ１０２及び１０４は、アドレス認証情報２１０に基づいて、受信パケットの転送可否を判定し、転送可能なパケットのみを転送する。セキュアハブ１０２は、例えば、ＳＣＡＤＡ１１２のような保護したい機器に接続されることで、ＳＣＡＤＡ１１２の信頼できるＩＰアドレスとＭＡＣアドレスとを収集する。そして、収集したＩＰアドレスとＭＡＣアドレスとを遠隔のセキュアハブ１０４と共有し、セキュアハブ１０４に接続された機器（例えばＰＬＣ１１５）に対して、ＳＣＡＤＡ１１２になりすましたＰＣ１１４からのパケットの転送を防止することができる。
【０１８９】
このことは、図１における通信装置ＴＣが、送信元ＩＰアドレスを通信装置ＴＢのアドレスに偽装したパケットＰＣを通信装置ＴＡ宛に送信するという不正な通信を防止することに相当する。
【０１９０】
従って、保護したい機器に本実施の形態のセキュアハブを接続するだけで機器間の通信を保護することができ、既存の通信ネットワークにおける設備の一部を維持して、投資コストを抑制しつつセキュリティを向上することができる。
【０１９１】
９．  その他の変形例
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されない。以下のような場合も本発明に含まれる。
【０１９２】
（１）上記の実施の形態では、Ｅｔｈｅｒｎｅｔ上のＩＰ通信を用いる場合を例に説明したが、これに限らない。例えば、ＯＳＩ参照モデルにおけるデータリンク層とネットワーク層との関係のように、２つの層間のアドレス情報を解決するＡＲＰのようなプロトコルが存在するネットワークモデルであれば適用は可能である。
【０１９３】
（２）上記の実施の形態では工場に設置される機器間のデータ通信を保護する場合を例に説明したが、これに限らない。例えば、車に搭載されるＥＣＵ（Ｅｌｅｃｔｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）間の通信を保護する場合にも適用可能である。
【０１９４】
（３）上記の実施の形態では、予め機器に固定のＩＰアドレスが割り振られているものとして説明したが、これに限らない。機器が通信ネットワークに接続する際に、自動的にＩＰアドレスを割り当てるＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を利用してもよい。この場合、セキュアハブはＤＨＣＰの通信も監視しておき、各機器に対して付与されるＩＰアドレスとＭＡＣアドレスの情報に基づいてアドレス認証情報を生成してもよい。
【０１９５】
（４）上記の実施の形態では、アドレス認証情報の更新通知メッセージ７００の送出はブロードキャストで行うとしたが、これに限らない。アドレス認証情報を共有する全てのセキュアハブのＩＰアドレスを保持しておき、ユニキャストで送信してもよい。
【０１９６】
（５）上記の実施の形態における各機器は、構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１９７】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又はすべてを含むように１チップ化されてもよい。
【０１９８】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１９９】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２００】
（６）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２０１】
（７）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２０２】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ(登録商標)  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【０２０３】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２０４】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【０２０５】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２０６】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の通信保護装置などを実現するソフトウェアは、次のようなプログラムである。
【０２０７】
すなわち、このプログラムは、コンピュータに、通信保護装置の制御方法であって、前記通信保護装置は、少なくとも１つの機器のアドレスを含むアドレス認証情報を保持するメモリを備え、前記制御方法は、第１の機器からパケットを受信し、受信した前記パケットを第２の機器へ送信する通信ステップと、前記パケットに含まれている前記第２の機器のアドレスが、前記アドレス認証情報に含まれているか否かを判定し、前記第２の機器のアドレスが前記アドレス認証情報に含まれていないと判定した場合に、前記パケットを破棄する制御ステップとを含む制御方法を実行させる。
【０２０８】
以上、一つまたは複数の態様に係る通信保護装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０２０９】
本発明は、ネットワーク経由でデータの不正取得を試みる攻撃等に対する通信保護装置および通信保護装置を制御する方法に有用である。
【符号の説明】
【０２１０】
１０    通信システム
１００  インターネット回線
１０１  ルータ
１０２、１０４  セキュアハブ
１０３、１０５、１０６、Ｈ１、Ｈ２、Ｈ３  ハブ
１１０、１１５  ＰＬＣ
１１１、１１３、１１４、１１６  ＰＣ
１１２  ＳＣＡＤＡ
２０１  記憶領域
２０２  パケット転送制御部
２０４  転送処理部
２０９  設定入力部
２１０  アドレス認証情報
２１１  転送先テーブル
２１３  グループ鍵情報
４０１、５０２  ポートＩＤ
４０２、５０５  ＭＡＣアドレス
４０３、５０６  ＩＰアドレス
５０１  機器ＩＤ
５０３  方式
５０４  シーケンスＩＤ
６００、６００Ａ、６００Ｂ、６００Ｃ  イーサネット（登録商標）フレーム
６０１  Ｐｒｅａｍｂｌｅ
６０２  ＳＦＤ
６０３  Ｄ−ＭＡＣ
６０４  Ｓ−ＭＡＣ
６０５  ＥｔｈｅｒＴｙｐｅ
６０６  Ｐａｙｌｏａｄ
６０７  ＦＣＳ
６１０  ＡＲＰパケット
６１０Ａ  ＡＲＰリクエストパケット
６１０Ｂ  ＡＲＰリプライパケット
６１１  ＨａｒｄｗａｒｅＴｙｐｅ
６１２  ＰｒｏｔｏｃｏｌＴｙｐｅ
６１３  ＨａｒｄｗａｒｅＬｅｎｇｔｈ
６１４  ＰｒｏｔｏｃｏｌＬｅｎｇｔｈ
６１５  Ｏｐｅｒａｔｉｏｎ
６１６  ＡＲＰ−Ｓ−ＭＡＣ
６１７  ＡＲＰ−Ｓ−ＩＰ
６１８  ＡＲＰ−Ｄ−ＭＡＣ
６１９  ＡＲＰ−Ｄ−ＩＰ
７００  更新通知メッセージ
７０１  ＣｏｍｍａｎｄＩＤ
７０２  ＳｅｑｕｅｎｃｅＩＤ
７０３  ＳｗｉｔｃｈＩＤ
７０４  ＮｕｍＯｆＥｎｔｒｙ
７０５  Ｅｎｔｒｙ
７０６  ＭｅｓｓａｇｅＡｕｔｈｅｎｔｉｃａｔｉｏｎＣｏｄｅ
７０７  Ｐｏｒｔ
７０８  Ｍｏｄｅ
７０９  ＭＡＣＡｄｄｒｅｓｓ
７１０  ＩＰＡｄｄｒｅｓｓ
１７００  ＩＰヘッダ
１７０２  ＳｏｕｒｃｅＩＰＡｄｄｒｅｓｓ
１７０３  ＤｅｓｔｉｎａｔｉｏｎＩＰＡｄｄｒｅｓｓ
Ｐ１、Ｐ２、Ｐ３、Ｐ４    ポート
ＰＡ、ＰＢ、ＰＣ    パケット
ＴＡ、ＴＢ、ＴＣ    通信装置
【図１】
2019041369.tif 000003
【図２】
2019041369.tif 000004
【図３】
2019041369.tif 000005
【図４】
2019041369.tif 000006
【図５】
2019041369.tif 000007
【図６】
2019041369.tif 000008
【図７】
2019041369.tif 000009
【図８】
2019041369.tif 000010
【図９】
2019041369.tif 000011
【図１０】
2019041369.tif 000012
【図１１】
2019041369.tif 000013
【図１２】
2019041369.tif 000014
【図１３】
2019041369.tif 000015
【図１４】
2019041369.tif 000016
【図１５】
2019041369.tif 000017
【図１６】
2019041369.tif 000018
【図１７】
2019041369.tif 000019
【図１８】
2019041369.tif 000020