(57)【要約】【課題】ネットワークインターフェースのアドレスの書き換えによる不正な通信の発生を防止する通信制御装置，通信制御プログラム及び通信制御方法を提供する。【解決手段】通信制御装置との通信が許可された情報処理装置のネットワークインターフェースにおけるアドレスと，そのアドレスに対応する第１の識別情報と，通信が許可された通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶する記憶部と，アドレスを含むパケットを送信する情報処理装置と通信する際に，そのアドレスと，パケットを受信するポートに対応する第２のポート情報とが対応して記憶部に記憶されていない場合，その通信を開始する情報処理装置から受信した第２の識別情報と，第１の識別情報とに基づいて，通信を許可するか否かを判定する判定部と，を有する。【選択図】図１０
2016009972.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と通信可能な通信制御装置であって，
前記通信制御装置との通信が許可された前記情報処理装置のネットワークインターフェースのアドレスと，該アドレスに対応する第１の識別情報と，前記通信が許可された前記通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶する記憶部と，
前記アドレスを含むパケットを送信する情報処理装置と通信を行う際に，前記アドレスと，前記パケットを受信するポートに対応する第２のポート情報とが対応して前記記憶部に記憶されていない場合，前記第１の識別情報と，前記通信を行う情報処理装置から受信した第２の識別情報とに基づいて，前記通信を許可するか否かを判定する判定部と，を有する
通信制御装置。
【請求項２】
請求項１において，さらに，
前記判定部が前記通信を許可した場合，前記管理情報に含まれる前記第１のポート情報を，前記第２のポート情報に更新する更新部を有する通信制御装置。
【請求項３】
請求項２において，
前記ポートは，１つの情報処理装置とのみ通信可能であり，
前記判定部は，前記通信を許可する判定を行った後，前記第２のポートにおける前記通信について前記判定を行わない通信制御装置。
【請求項４】
請求項１において，
前記判定部は，前記第１の識別情報と前記第２の識別情報とが一致する場合に，前記通信を許可する判定を行う通信制御装置。
【請求項５】
請求項１において，
前記アドレスは，情報処理装置のリソースが割り当てられて作成される仮想装置のネットワークインターフェースのアドレスであり，
前記記憶部は，前記仮想装置が作成されたことに応答して，前記管理情報の記憶を行い，
前記判定部は，前記パケットを送信する前記仮想装置との通信を許可するか否かを判定する通信制御装置。
【請求項６】
請求項１において，
前記アドレスは，情報処理装置に仮想的に割り当てられた仮想アドレスであり，
前記記憶部は，前記ネットワークインターフェースに前記仮想アドレスが割り当てられたことに応答して，前記管理情報の記憶を行う通信制御装置。
【請求項７】
情報処理装置と通信可能な通信制御装置における通信制御プログラムであって，
前記通信制御装置との通信が許可された前記情報処理装置のネットワークインターフェースのアドレスと，該アドレスに対応する第１の識別情報と，前記通信が許可された前記通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶し，
前記アドレスを含むパケットを送信する情報処理装置と通信を行う際に，前記アドレスと，前記パケットを受信するポートに対応する第２のポート情報とが対応して前記記憶部に記憶されていない場合，前記第１の識別情報と，前記通信を行う情報処理装置から受信した第２の識別情報とに基づいて，前記通信を許可するか否かを判定する
処理をコンピュータに実行させる通信制御プログラム。
【請求項８】
情報処理装置との通信可能な通信制御装置における通信制御方法であって，
前記通信制御装置との通信が許可された前記情報処理装置のネットワークインターフェースのアドレスと，該アドレスに対応する第１の識別情報と，前記通信が許可された前記通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶し，
前記アドレスを含むパケットを送信する情報処理装置と通信を行う際に，前記アドレスと，前記パケットを受信するポートに対応する第２のポート情報とが対応して前記記憶部に記憶されていない場合，前記第１の識別情報と，前記通信を行う情報処理装置から受信した第２の識別情報とに基づいて，前記通信を許可するか否かを判定する
通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，通信制御装置，通信制御プログラム及び通信制御方法に関する。
【背景技術】
【０００２】
近年，物理装置（以下，物理マシン，ＶＭホストとも呼ぶ）の性能向上に伴い，複数の仮想装置（以下，仮想マシン，ＶＭとも呼ぶ）を１つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は，例えば，仮想化ソフトウエア（ハイパバイザ）が物理マシンを複数の仮想マシンに割り当てて，各仮想マシンにインストールされたアプリケーションプログラム（以下，アプリケーションとも呼ぶ）によるサービスの提供を可能にする。そして，近年，データセンタ事業者等（以下，事業者とも呼ぶ）によって，利用者に対する仮想マシンの貸し出しが行われている。事業者は，契約で定めた条件に基づいて，利用者に対して仮想マシンの貸し出しを行う。
【０００３】
事業者が仮想マシンの管理を行うために，仮想マシンのＭＡＣアドレス（Ｍｅｄｉａ Ａｃｃｅｓｓ Ｃｏｎｔｒｏｌ ａｄｄｒｅｓｓ）等のネットワークインターフェースに関する情報の管理を行う管理サーバが設けられる場合がある。この管理サーバは，例えば，仮想マシンが作成された際に，新たなＭＡＣアドレスを割り当てる。これにより，例えば，仮想マシンを含むネットワークに配備された通信制御装置（以下，スイッチとも呼ぶ）は，仮想マシン毎に割り当てられたＭＡＣアドレスに基づいて，各仮想マシンから受信したパケットの中継を行うか否かの判断を行うことが可能になる（例えば，特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１７１５０５号公報
【特許文献２】特開２００４−３４３４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
事業者が利用者に仮想マシンの貸し出した場合，貸し出した仮想マシンの管理が利用者によって行われる場合がある。この場合，利用者は，自らインストールしたオペレーションシステム（以下，ＯＳとも呼ぶ）等の機能によって，管理サーバが仮想マシンに割り当てたＭＡＣアドレスの書き換えを行うことが可能になる。そのため，悪意の利用者が存在する場合，その利用者は，例えば，自らが管理する仮想マシンのＭＡＣアドレスを，他の利用者に貸し出された仮想マシンに割り当てられたＭＡＣアドレスと重複するように書き換えることが可能になる。そして，この場合，悪意の利用者は，他の仮想マシンに関する通信を傍受することが可能になる。
【０００６】
そこで，一つの実施の形態の目的は，ネットワークインターフェースのアドレスの書き換えによる不正な通信の発生を防止する通信制御装置，通信制御プログラム及び通信制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
実施の形態の一つの側面によれば，情報処理装置と通信可能な通信制御装置であって，
前記通信制御装置との通信が許可された前記情報処理装置のネットワークインターフェースのアドレスと，該アドレスに対応する第１の識別情報と，前記通信が許可された前記通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶する記憶部と，
前記アドレスを含むパケットを送信する情報処理装置と通信を行う際に，前記アドレスと，前記パケットを受信するポートに対応する第２のポート情報とが対応して前記記憶部に記憶されていない場合，前記第１の識別情報と，前記通信を行う情報処理装置から受信した第２の識別情報とに基づいて，前記通信を許可するか否かを判定する判定部と，を有する。
【発明の効果】
【０００８】
一つの側面によれば，ネットワークインターフェースのアドレスの書き換えによる不正な通信の発生を防止する。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの全体構成を示す図である。
【図２】イーサネット・ファブリックスイッチを説明する図である。（イーサネットは登録商標）
【図３】イーサネット・ファブリックスイッチを説明する図である。
【図４】仮想マシンのマイグレーション発生時の動作を説明する図である。
【図５】仮想マシンのマイグレーション発生時の動作を説明する図である。
【図６】仮想マシンのマイグレーション発生時の動作を説明する図である。
【図７】不正な通信が発生した場合の動作を説明する図である。
【図８】通信制御装置のハードウエア構成を示す図である。
【図９】図８の通信制御装置の機能ブロック図である。
【図１０】第１の実施の形態における通信制御処理の概略を示すフローチャート図である。
【図１１】第１の実施の形態における通信制御処理の詳細を示すフローチャート図である。
【図１２】第１の実施の形態における通信制御処理の詳細を示すフローチャート図である。
【図１３】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図１４】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図１５】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図１６】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図１７】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図１８】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図１９】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図２０】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図２１】第１の実施の形態における通信制御処理の具体例を説明する図である。
【図２２】第２の実施の形態における通信制御処理の具体例を説明する図である。
【図２３】第２の実施の形態における通信制御処理の具体例を説明する図である。
【図２４】第２の実施の形態における通信制御処理の具体例を説明する図である。
【発明を実施するための形態】
【００１０】
［情報処理システムの構成］
図１は，情報処理システムの全体構成を示す図である。図１に示す情報処理システム１０は，データセンタ７内に，管理サーバ１（以下，管理装置１とも呼ぶ）と，情報処理装置２（以下，ＶＭホスト２または物理マシン２とも呼ぶ）とが設けられている。そして，データセンタ７には，インターネットやイントラネット等のネットワークを介して，利用者端末８が接続可能になっている。また，ＶＭホスト２と利用者端末８との間で行われる通信は，例えば，データセンタ７内に設けられた通信制御装置５（以下，スイッチ５とも呼ぶ）を介して行われる。なお，図１の例において，利用者端末８は，通信制御装置５を介して情報処理装置２に接続しているが，別のスイッチ等を介して情報処理装置２に接続するものであってもよい。以下，情報処理装置２が仮想マシン（以下，ＶＭとも呼ぶ）を作成可能なＶＭホスト２である場合について説明する。
【００１１】
ＶＭホスト２は，図１の例においては複数の物理マシンから構成されており，各物理マシンはＣＰＵとメモリ（ＤＲＡＭ）とハードディスク（ＨＤＤ）等の大容量メモリとネットワークとを有する。そして，ＶＭホスト２のリソースは，複数の仮想マシン３に割り当てられる。
【００１２】
管理サーバ１は，仮想マシン３と通信可能であり，ＶＭホスト２内に作成された仮想マシン３の管理を行うものである。管理サーバ１は，例えば，仮想マシン３によって作成されるものであってもよい。管理サーバ１は，例えば，ＶＭホスト２に作成された仮想マシン３に対し，ＭＡＣアドレス（以下，ネットワークインターフェースのアドレスとも呼ぶ）の割り当て等を行う。
【００１３】
仮想マシン３は，例えば，そのインフラをネットワーク経由で利用者に提供するもの（以下，クラウドサービスとも呼ぶ）である。クラウドサービスは，コンピュータシステムを構築し稼働させるための基盤，即ち，仮想マシン３やネットワーク等のインフラストラクチャそのものを，ネットワーク経由で提供するサービスである。また，利用者は，例えば，利用者端末８からクラウドサービスポータルサイトにアクセスして，仮想マシンに必要な仕様，例えばＣＰＵのクロック周波数，メモリの容量（ＧＢ），ハードディスクの容量（ＭＢ／ｓｅｃ，ＩＯＰＳ），及びネットワークの通信帯域幅（Ｇｂｐｓ）を選択し，それらについてクラウド利用契約を締結する。また，利用者端末８は，例えば，仮想マシン３の稼働状態を監視や，仮想マシンに対する操作等を可能にする。
【００１４】
仮想化ソフトウエア４は，管理サーバ１からの指示に応じて，ＶＭホスト２のＣＰＵ，メモリ，ハードディスク，ネットワークを割り当てることにより，仮想マシン３を動作させる基盤ソフトウエアである。仮想化ソフトウエア４は，例えば，ＶＭホスト２で動作する。
【００１５】
仮想マシン３は，ＶＭホスト２のリソースが割り当てられることに加えて，例えば，ＯＳ，ミドルウエア，アプリケーション，データベース等を有するイメージファイルをそのハードディスク内に有する。そして，仮想マシン３は，例えば，起動時にイメージファイルをハードディスクからメモリに書き込み，所望のサービスに対応する動作を行う。
【００１６】
通信制御装置５は，例えば，Ｌ２スイッチであり，ＯＳＩ参照モデルのデータリンク層（第２層）の識別子であるＭＡＣアドレスを使って動作する。具体的に，通信制御装置５は，例えば，通信制御装置５内のポート毎に，通信を許可するＭＡＣアドレスに関する情報を記憶し，記憶した（通信を許可した）ＭＡＣアドレスを含むパケットのみを中継して宛先に向けて送信する。
【００１７】
また，通信制御装置５は，例えば，イーサネット・ファブリック技術を用いたスイッチ５（以下，イーサネット・ファブリックスイッチ５とも呼ぶ）であってよい。以下，イーサネット・ファブリックスイッチについて説明する。
【００１８】
図２及び図３は，イーサネット・ファブリックスイッチを説明する図である。イーサネット・ファブリック技術は，例えば，複数台の物理スイッチ（図２におけるスイッチ５Ａ，５Ｂ）を１台の論理的なスイッチ（図２におけるスイッチ５）として動作させる技術である。具体的に，イーサネット・ファブリックスイッチは，例えば，イーサネット・ファブリックスイッチを構成する物理スイッチ間のルーティング設定等を自動的に行うことが可能である。そのため，例えば，イーサネット・ファブリックスイッチを構成する物理スイッチの一部が故障した場合であっても，故障した物理スイッチを経由しないルーティングの設定を自動で行うことが可能である。このイーサネット・ファブリックスイッチを用いることにより，事業者は，例えば，ネットワーク内の物理スイッチを管理するための時間やコスト等を削減することが可能になる。
【００１９】
また，イーサネット・ファブリックスイッチにおいては，各物理スイッチのポート毎に，許容通信帯域，セキュリティ，ＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）の設定等を行うことができる（以下，この設定に関する情報をポートプロファイルとも呼ぶ）。そして，例えば，イーサネット・ファブリックスイッチが仮想マシンのマイグレーション等を検知した場合，マイグレーション元のポートに設定していたポートプロファイルを，自動的にマイグレーション先のポートに適用させることができる。具体的には，図３に示すように，仮想マシン３ＡがＶＭホスト２ＡからＶＭホスト２Ｂにマイグレーションした場合，仮想マシン３Ａが接続していたポート５１Ａのポートプロファイルを，新たに接続したポート５１Ｂに自動的に適用することが可能になる。
【００２０】
［マイグレーション実行時の通信制御装置の動作］
次に，仮想マシンのマイグレーション実行時における通信制御装置５の動作について説明する。図４から図６は，仮想マシンのマイグレーション発生時の動作を説明する図である。
【００２１】
図４に示す通信制御装置５は，例えば，図２及び図３において説明したイーサネット・ファブリックスイッチであり，ポート５１Ａ，５１Ｂ，５１Ｃを有している。図４に示す例において，ＶＭホスト２Ａに作成された仮想マシン３Ａは，ポート５１Ａにおいて通信制御装置５との通信が許可されており，ＶＭホスト２Ａに作成されたＶＭホスト２Ｂは，ポート５１Ｂにおいて通信制御装置５との通信が許可されている。また，図４に示すように，仮想マシン３Ａの仮想ＮＩＣ３１ＡのＭＡＣアドレスは，ａ１：００：００：００：００：０１であり，仮想マシン３Ｂの仮想ＮＩＣ３１ＡのＭＡＣアドレスは，ａ１：００：００：００：００：０２であるものとして説明を行う。なお，図４に示す例において，仮想マシン３Ａは，仮想ＮＩＣ３１Ａと物理ＮＩＣ２１Ａとを介して，通信制御装置５と通信を行い，仮想マシン３Ｂは，仮想ＮＩＣ３１Ｂと物理ＮＩＣ２１Ｂとを介して，通信制御装置５と通信を行う。
【００２２】
図５は，図４の場合において通信制御装置５が許可する通信を管理する管理情報の例である。図５における管理情報は，通信が許可された仮想マシンのＭＡＣアドレスである「ＭＡＣアドレス」と，通信が許可されたポートに対応する情報である「ポート情報」とを項目として有している。図５の管理情報においては，仮想ＮＩＣ３１Ａの「ＭＡＣアドレス」であるａ１：００：００：００：００：０１と，ポート５１Ａの「ポート情報」であるＰｏｒｔ５１Ａとが対応付けられている。また，仮想ＮＩＣ３１Ｂの「ＭＡＣアドレス」であるａ１：００：００：００：００：０２と，ポート５１Ｂの「ポート情報」であるＰｏｒｔ５１Ｂとが対応付けられている。すなわち，図５の例における管理情報は，仮想マシン３Ａとポート５１Ａとの通信が認められており，仮想マシン３Ｂとポート５１Ｂとの通信が認められていることを示している。
【００２３】
そして，図６は，図４の状態から仮想マシン３ＢがＶＭホスト２ＢからＶＭホスト２Ｃにマイグレーションした場合の図である。すなわち，図６は，マイグレーションを行った仮想マシン３Ｂが最初のパケットをポート５１Ｃに送信した場合の例である。この場合，通信制御装置５は，図５に示す管理情報を参照して，受信したパケットに含まれるＭＡＣアドレス（図６の例においてはａ１：００：００：００：００：０２）が記憶されているか否かの確認を行う。そして，図６の例においては，受信したパケットに含まれるＭＡＣアドレスが管理情報に記憶されているため，通信制御装置５は，仮想マシン３Ｂからポート５１Ｃへの通信を認める。すなわち，通信制御装置５は，受信したパケットに含まれるＭＡＣアドレスが管理情報に記憶されている場合には，そのＭＡＣアドレスと，パケットを受信したポートとが対応して管理情報に記憶されていない場合であっても，受信したパケットの通信を許可する。
【００２４】
次に，悪意の利用者による通信の例について説明する。図７は，悪意の利用者による不正な通信が発生した場合の動作を説明する図である。図７の例において，物理マシン２Ｄに作成された物理マシン２ＤのＭＡＣアドレスは，物理マシン２Ｄの利用者によって，仮想マシン３ＢのＭＡＣアドレスであるａ１：００：００：００：００：０２に書き換えられているものとする。
【００２５】
この場合，通信制御装置５は，物理マシン２Ｄからパケットを受信した際に，受信したパケットに含まれるＭＡＣアドレスが管理情報に存在するため，ポート５１Ｃにおける物理マシン２Ｄとの通信を許可する。すなわち，通信制御装置５は，仮想マシン３ＢのＭＡＣアドレスを含むパケットを受信した際に，受信したパケットが，仮想マシンのマイグレーションの影響によりポート５１Ｃに送信されたものなのか，悪意の利用者がポート５１Ｃに送信したものなのか判別を行うことができない。したがって，悪意の利用者は，例えば，物理マシン２ＤのＭＡＣアドレスを仮想マシン３Ｂと同じＭＡＣアドレスに書き換えることにより，仮想マシン３Ｂの通信を傍受することが可能になる場合がある。
【００２６】
一方，例えば，通信制御装置５が受信したパケットの通信を許可するために，パケットを送信するマシンに関するＶＬＡＮの設定を，予め通信制御装置５に行っておく必要がある場合がある。この場合，悪意の利用者は，上記のようにＭＡＣアドレスの書き換えを行った場合においても，自らが管理するマシンに関するＶＬＡＮの設定を通信制御装置５に行うことはできない。そのため，悪意の利用者は，この場合，結果として他の利用者による通信を傍受することはできない。しかし，例えば，通信制御装置５が上記のイーサネット・ファブリックスイッチ等である場合，通信制御装置５がネットワークを最適化するためのＶＬＡＮの設定を自動的に行う場合がある。そのため，ＶＬＡＮの設定内容によっては，悪意の利用者が他の利用者による通信を傍受することが可能になる場合がある。
【００２７】
そこで，本実施の形態では，通信制御装置５に記憶したＭＡＣアドレスを含むパケットを送信する仮想マシン３と通信を行う際に，送信されるパケットに含まれるＭＡＣアドレスと，そのパケットを受信するポートとが対応して通信制御装置５に記憶されているか否かを確認する。そして，通信制御装置５に記憶されていない場合，通信制御装置５は，通信を行う仮想マシン３から受信した識別情報と，通信制御装置５に記憶した識別情報に基づく判定を行い，不正な通信を防ぐ。
【００２８】
［通信制御装置の構成］
初めに，通信制御装置５の構成について説明する。図８は，通信制御装置のハードウエア構成を示す図である。通信制御装置５は，プロセッサであるＣＰＵ５０１と，メモリ５０２と，外部インターフェース（Ｉ／Ｏユニット）５０３と，記憶媒体５０４とを有する。各部は，バス５０５を介して互いに接続される。記憶媒体５０４は，例えば，記憶媒体５０４内のプログラム格納領域（図示しない）に，通信制御装置５を経由する通信の制御を行う処理（以下，通信制御処理とも呼ぶ）を行うためのプログラム５１０（以下，通信制御プログラムとも呼ぶ）を記憶する。ＣＰＵ５０１は，図８に示すように，プログラム５１０の実行時に，プログラム５１０を記憶媒体５０４からメモリ５０２にロードし，プログラム５１０と協働して通信制御処理を行う。また，記憶媒体５０４は，例えば，通信制御処理を行う際に用いられる情報を記憶する情報格納領域５３０（以下，記憶部５３０とも呼ぶ）を有する。
【００２９】
図９は，図８で示した通信制御装置の機能についてのブロック図である。また，ＣＰＵ５０１は，プログラム５１０と協働することにより，例えば，動作検知部５１１と，ＭＡＣアドレス割り当て部５１２と，識別情報割り当て部５１３（以下，ＭＡＣアドレス割り当て部５１２と識別情報割り当て部５１３の両方または一方を割り当て部とも呼ぶ）として動作する。また，ＣＰＵ５０１は，プログラム５１０と協働することにより，例えば，管理情報作成部５１４（以下，更新部５１４とも呼ぶ）と，アドレス送信部５１５と，識別情報送信部５１６と，パケット受信部５１７と，パケット判定部５１８（以下，判定部５１８とも呼ぶ）として動作する。また，情報格納領域５３０には，例えば，管理情報５３１が記憶されている。
【００３０】
動作検知部５１１は，例えば，管理サーバ１による所定の動作を検知する。所定の動作とは，例えば，ＶＭホスト２のリソースが割り当てられた仮想マシン３の作成等である。
【００３１】
ＭＡＣアドレス割り当て部５１２は，例えば，管理情報作成部５１４によって管理情報５３１が記憶される前に，通信制御装置５と通信する仮想マシン３にＭＡＣアドレス（以下，単にアドレスとも呼ぶ）を割り当てる。また，識別情報割り当て部５１３は，例えば，管理情報作成部５１４によって管理情報５３１が記憶される前に，通信制御装置５と通信する仮想マシン３にＭＡＣアドレスの識別情報（以下，第１の識別情報とも呼ぶ）を割り当てる。この識別情報は，各ＭＡＣアドレスを一意に特定することができる情報である。具体的に，識別情報は，例えば，ＭＡＣアドレスが割り当てられた仮想マシン３のユーザ名やパスワード等のアカウント情報であってよい。また，識別情報は，例えば，通信制御装置５と仮想マシン３とが共通して有する情報（ユーザ名やパスワードを含む）を暗号化したものであってもよい。
【００３２】
管理情報作成部５１４は，例えば，通信制御装置５との通信が許可された仮想マシン３のＭＡＣアドレスと，そのＭＡＣアドレスに対応する識別情報と，仮想マシン３との通信が許可された通信制御装置５のポートに対応するポート情報（以下，第１のポート情報とも呼ぶ）とを対応付けた管理情報５３１を情報格納領域５３０に記憶する。
【００３３】
アドレス送信部５１５は，例えば，管理情報作成部５１４によって管理情報５３１が記憶される際に，ＭＡＣアドレス割り当て部５１２が割り当てた仮想マシン３のＭＡＣアドレスを，そのＭＡＣアドレスが割り当てられた仮想マシン３に送信する。また，識別情報送信部５１６は，例えば，管理情報作成部５１４によって管理情報５３１が記憶される前に，識別情報割り当て部５１３が割り当てた仮想マシン３の識別情報を，その識別情報が割り当てられた仮想マシン３に送信する。
【００３４】
パケット受信部５１７は，例えば，仮想マシン３が送信したパケットを受信する。また，パケット判定部５１８は，例えば，情報格納領域５３０に記憶されたＭＡＣアドレスを含むパケットを送信する仮想マシン３と通信制御装置５とが通信を行う際に，ＭＡＣアドレスと識別情報とポート情報とに基づいて，通信を許可するか否かの判定を行う。具体的に，パケット判定部５１８は，例えば，仮想マシン３から受信したパケットに含まれるＭＡＣアドレスと，そのパケットを受信するポートに対応するポート情報（以下，第２のポート情報とも呼ぶ）とが対応して情報格納領域５３０に記憶されているか確認する。そして，これらの情報が対応して記憶されていない場合，仮想マシン３から受信した識別情報（以下，第２の識別情報とも呼ぶ）と，情報格納領域５３０に記憶されたＭＡＣアドレスに対応して記憶された識別情報とに基づいて，仮想マシン３と通信制御装置５との通信を許可するか否かを判定する。
【００３５】
［第１の実施の形態］
次に，第１の実施の形態について説明する。図１０は，第１の実施の形態における通信制御処理の概略を説明するフローチャート図である。具体的に，第１の実施の形態においては，通信制御装置５が仮想マシン３との通信を許可する場合について説明する。
【００３６】
初めに，通信制御装置５は，例えば，通信制御装置５との通信が許可された仮想マシン３のＭＡＣアドレスと，そのＭＡＣアドレスに対応する識別情報と，仮想マシン３との通信が許可された通信制御装置５のポートに対応するポート情報とを対応付けた管理情報５３１を情報格納領域５３０に記憶する（Ｓ１）。通信制御装置５は，例えば，仮想マシン３が作成されたことを検知した場合に，作成された仮想マシン３に関する管理情報５３１を情報格納領域５３０に記憶する。また，通信制御装置５は，通信を行う仮想マシン３の情報が明らかである場合には，例えば，仮想マシン３が作成される前に通信を行う仮想マシン３に関する管理情報５３１を情報格納領域５３０に記憶しておくものであってもよい。すなわち，通信制御装置５は，通信制御装置５との通信を予定している仮想マシン３のＭＡＣアドレスと，その仮想マシン３と通信を行うポートのポート情報とを対応して記憶する。これにより，ＭＡＣアドレスが記憶された仮想マシン３は，そのＭＡＣアドレスと対応して記憶されたポートにおいて通信を行うことが可能になる。また，通信制御装置５は，記憶した管理情報５３１に基づいて，受信したパケットの通信を許可するか否かの判定（認証）を行うことが可能になる。
【００３７】
また，通信制御装置５は，例えば，Ｓ１と並行して，仮想マシン３からパケットを受信するまで待機する。そして，パケットを受信したときに，情報格納領域５３０を参照し，受信したパケットの送信元ＭＡＣアドレスが，管理情報５３１として情報格納領域５３０に記憶されているＭＡＣアドレスか否かを確認する（Ｓ２）。受信したパケットの送信元ＭＡＣアドレスが情報格納領域５３０に記憶されている場合（Ｓ２のＹＥＳ），通信制御装置５は，例えば，パケットを受信したポートに対応するポート情報（以下，第２のポート情報とも呼ぶ）が，受信パケットの送信元ＭＡＣアドレスに対応して情報格納領域５３０に記憶されているか否かを確認する（Ｓ４）。さらに，パケットを受信したポートが，受信パケットの送信元ＭＡＣアドレスに対応して記憶されている場合（Ｓ４のＹＥＳ），通信制御装置５は，例えば，受信したパケットの通信を許可する（Ｓ６）。すなわち，通信制御装置５は，受信したパケットのＭＡＣアドレスと，そのパケットを受信したポートとが対応して情報格納領域５３０に記憶されている場合に，そのパケットの通信を許可する。一方，パケットのＭＡＣアドレスと，そのパケットを受信したポートとが対応して記憶されていない場合，そのパケットが悪意の利用者によって送信された可能性があるため，通信制御装置５は，識別情報に基づく更なる判定を行って通信を許可するか否か判定する。
【００３８】
そして，パケットを受信したポートが受信パケットの送信元ＭＡＣアドレスに対応して記憶されていない場合（Ｓ４のＮＯ），通信制御装置５は，例えば，仮想マシン３から受信した識別情報と，受信したパケットの送信元ＭＡＣアドレスとが対応して情報格納領域５３０に記憶されているか否かを確認する（Ｓ５）。仮想マシン３から受信した識別情報と，受信したパケットの送信元ＭＡＣアドレスとが対応して情報格納領域５３０に記憶されている場合（Ｓ５のＹＥＳ），通信制御装置５は，受信したパケットの通信を許可する（Ｓ６）。すなわち，受信したパケットのＭＡＣアドレスと，そのパケットを受信したポートとが対応して情報格納領域５３０に記憶されていない場合であっても，識別情報による認証ができた場合には，受信したパケットの通信を許可する。具体的に，通信制御装置５は，受信したパケットのＭＡＣアドレスと，パケットを送信した仮想マシン３から受信した識別情報とが対応して記憶されている場合，仮想マシン３は，マイグレーションが実行されたことにより，今までと異なるポートにパケットを送信したものと判断する。そして，この場合，通信制御装置５は，その仮想マシン３が悪意の利用者によって管理される仮想マシンではないと判断し，受信したパケットの通信を認める。
【００３９】
なお，仮想マシン３から受信した識別情報は，例えば，通信制御装置５と通信を行う仮想マシン３が通信制御装置５に送信する全てのパケットに含めるものであってよい。この場合，通信制御装置５は，仮想マシン３から送信された全てのパケットについて，通信を許可するか否かの判定を行うことができる。
【００４０】
また，仮想マシン３から受信した識別情報は，例えば，通信制御装置５と通信を行う仮想マシン３が通信制御装置５に最初に送信するパケットにのみ含めるものであってよい。この場合，通信制御装置５は，例えば，受信したＭＡＣアドレスに関する管理情報５３１のポート情報を，パケットを受信したポートに対応するポート情報に更新する。これにより，送信元ＭＡＣアドレスと送信先ポートとが同じ組合せであるパケットを通信制御装置５が受信した場合に，識別情報による認証を行うことなく受信したパケットの通信を許可することが可能になる（Ｓ３のＹＥＳ，Ｓ４のＹＥＳ）。
【００４１】
一方，受信したパケットの送信元ＭＡＣアドレスが情報格納領域５３０に記憶されていないＭＡＣアドレスである場合（Ｓ２のＮＯ），通信制御装置５は，受信したパケットを破棄する（Ｓ３）。また，パケットを受信したポートとパケットの送信元ＭＡＣアドレスとが対応して記憶されておらず，さらに，その送信元ＭＡＣアドレスと仮想マシン３から受信した識別情報とが対応して記憶されていない場合（Ｓ５のＮＯ），通信制御装置５は，受信したパケットを破棄する（Ｓ３）。
【００４２】
すなわち，通信制御装置５（例えば，イーサネット・ファブリックスイッチ）がＭＡＣアドレスのみに基づいて判定を行う場合において，情報格納領域５３０に記憶されているＭＡＣアドレスからそのＭＡＣアドレスに対応して記憶されていないポートに通信があった場合，通信制御装置５は，不正の通信を判別することができない。具体的に，通信制御装置５は，情報格納領域５３０に記憶されているＭＡＣアドレスに対応しないポートにおいてパケットを受信した場合，マイグレーションに伴って送信先ポートが変更された通信と，悪意のある利用者による通信との判別を行うことができない。そこで，本実施の形態における通信制御装置５は，受信したパケットについて，ＭＡＣアドレスと，悪意の利用者が知り得ない識別情報とに基づいて通信を許可するか否かの判定を行う。これにより，通信制御装置５は，マイグレーションに伴って送信先ポートが変更された通信と，悪意のある利用者による通信との判別を行うことが可能になる。
【００４３】
このように，第１の実施の形態によれば，通信制御装置５は，通信制御装置５との通信が許可された仮想マシン３のＭＡＣアドレスと，そのＭＡＣアドレスに対応する識別情報と，通信が許可された通信制御装置５のポートに対応するポート情報とを対応付けた管理情報５３１を記憶する記憶部５３０を有する。また，通信制御装置５は，ＭＡＣアドレスと対応して記憶部５３０に記憶されていない通信制御装置５の他のポートにおいて，ＭＡＣアドレスを含むパケットを送信する仮想マシン３と通信を行う際に，その通信を行う仮想マシン３から受信した識別情報と，記憶部５３０に記憶されたＭＡＣアドレスに対応する識別情報とに基づいて，その仮想マシン３と通信制御装置５との通信を許可するか否かを判定する判定部５１８を有する。これにより，通信制御装置５は，悪意の利用者がＭＡＣアドレスを書き換えて行った通信を阻害することが可能になる。また，通信制御装置５と仮想マシン３が通信を行う場合にＶＬＡＮの設定が必要である場合であって通信制御装置５がＶＬＡＮの設定を自動的に行う場合においても，悪意の利用者がＭＡＣアドレスを書き換えて行った通信を阻害することが可能になる。そのため，悪意の利用者が他の利用者に関する通信を傍受することを防止することが可能になる。
【００４４】
なお，本実施の形態における通信制御装置５は，悪意の利用者が物理マシン（例えば，図７における物理マシン２Ｄ）のＭＡＣアドレスを他の仮想マシンのＭＡＣアドレスに書き換える場合のみでなく，仮想マシンのＭＡＣアドレスを書き換える場合にも適用可能である。
【００４５】
[第１の実施の形態の詳細]
次に，第１の実施の形態の詳細について説明する。図１１及び図１２は，第１の実施の形態における通信制御処理の詳細を説明するフローチャート図である。また，図１３から図２１は，第１の実施の形態における通信制御処理の詳細を説明する図である。図１３から図２１を参照しながら，図１１及び図１２の通信制御処理の詳細を説明する。
【００４６】
［管理情報作成処理］
初めに，通信制御処理における管理情報の記憶を行う処理（以下，管理情報作成処理とも呼ぶ）について説明を行う。なお，管理情報作成処理は，図１０におけるＳ１に対応する。
【００４７】
図１１に示すように，通信制御装置５の動作検知部５１１は，例えば，管理サーバ１によるオペレーションを検知する（Ｓ２１）。管理サーバ１によるオペレーションは，例えば，ＶＭホスト２のリソースが割り当てられた仮想マシン３の作成や，ＶＭホスト２に作成された仮想マシンのマイグレーションの指示等，管理情報５３１を更新する必要があるものである。動作検知部５１１は，例えば，通信制御装置５が管理サーバ１から仮想マシン３に向けた通知等を中継する際に，管理サーバ１によるオペレーションを検知するものであってよい。
【００４８】
次に，通信制御装置５のＭＡＣアドレス割り当て部５１２は，例えば，管理サーバ１によってオペレーションがあった仮想マシン３にＭＡＣアドレスの割り当てを行う（Ｓ２２）。また，通信制御装置５の識別情報割り当て部５１３は，例えば，管理サーバ１によってオペレーションがあった仮想マシン３に識別情報の割り当てを行う（Ｓ２２）。すなわち，管理サーバ１によって仮想マシン３が作成された場合，作成された仮想マシン３は，新たなＭＡＣアドレスが必要になる。また，管理サーバ１によって仮想マシン３のマイグレーションが実行された場合，その仮想マシン３は，マイグレーション先のＶＭホスト２において使用する新たなＭＡＣアドレスが必要になる。そのため，動作検知部５１１が管理サーバのオペレーションを検知した際に，ＭＡＣアドレス割り当て部５１２は，ＭＡＣアドレスの割り当てを行い，識別情報割り当て部５１３は，割り当てられたＭＡＣアドレスに対応して仮想マシン３に識別情報の割り当てを行う。なお，本実施の形態においては，ＭＡＣアドレス及び識別情報の割り当てを通信制御装置５が行う場合について説明するが，ＭＡＣアドレス及び識別情報の割り当てを管理サーバ１等が行うものであってもよい。
【００４９】
次に，通信制御装置５の管理情報作成部５１４は，ＭＡＣアドレス割り当て部５１２が割り当てたＭＡＣアドレスと，識別情報割り当て部５１３が割り当てた識別情報と，作成等された仮想マシンとの通信を許可するポートのポート情報とを対応付けて管理情報５３１として情報格納領域５３０に記憶する（Ｓ２４）。すなわち，通信制御装置５は，ＭＡＣアドレスとポート情報とを対応付けて記憶することにより，通信制御装置５が記憶したポートにおいてそのポートと対応したＭＡＣアドレスを含むパケットを受信した場合に，そのパケットの通信を許可することが可能になる。また，通信制御装置５は，さらに識別情報を対応付けて記憶することにより，記憶されているＭＡＣアドレスを含むパケットをそのＭＡＣアドレスと対応しないポートにおいて受信した場合に，識別情報を用いて更なる認証を行うことが可能になる。これにより，通信制御装置５は，悪意の利用者がＭＡＣアドレスを書き換えて正当な利用者になりすまして通信を行った場合に，その通信を阻害することが可能になる。
【００５０】
そして，通信制御装置５のアドレス送信部５１５及び識別情報送信部５１６は，例えば，それぞれＭＡＣアドレス割り当て部５１２によって割り当てられたＭＡＣアドレスと，識別情報割り当て部５１３によって割り当てられた識別情報とを，作成等された仮想マシン３に送信する（Ｓ２５，Ｓ２６）。その後，動作検知部５１１は，例えば，管理サーバ１による次のオペレーションを検知するまで待機する（Ｓ２１）。以下，管理情報作成処理の具体例について説明する。
【００５１】
［管理情報作成処理の具体例］
図１３から図１７は，通信制御装置５が管理サーバ１によるオペレーションを検知した場合（Ｓ２１）を説明する例である。図１３は，仮想マシン３Ａと通信制御装置５との通信が許可されている場合の例である。図１３の例において，ＶＭホスト２Ａに作成された仮想マシン３Ａは，仮想ＮＩＣ３１Ａと物理ＮＩＣ２１Ａとを介して，通信制御装置５とポート５１Ａにおいて通信を行っている。また，図１３の例において，ＶＭホスト２Ｂ及びＶＭホスト２Ｃは，通信制御装置５との通信が許可されていない状態である。
【００５２】
そして，図１４は，図１３に示す状態の後，ＶＭホスト２に新たな仮想マシンである仮想マシン３Ｂが作成された場合の例である。図１３の例において，仮想マシン３Ｂは，例えば，図１に示す管理サーバ１から送信された仮想マシンの作成指示に基づいて作成される。そして，通信制御装置５は，例えば，管理サーバ１からＶＭホスト２Ｂに対する仮想マシン３Ｂの作成指示を中継したときに，ＶＭホスト２Ｂに仮想マシン３Ｂが作成されることを検知する（Ｓ２１）。なお，通信制御装置５は，例えば，管理サーバ１からＶＭホスト２Ｂに仮想マシン３Ｂを作成した旨の通知を受信することにより，仮想マシン３Ｂの作成を検知するものであってもよい。
【００５３】
次に，図１５に示すように，動作検知部５１１が管理サーバ１のオペレーションを検知したことに応答して，ＭＡＣアドレス割り当て部５１２及び識別情報割り当て部５１３は，それぞれ仮想マシン３ＢのＭＡＣアドレスと識別情報とを割り当てる（Ｓ２２，Ｓ２３）。そして，管理情報作成部５１４は，割り当てられたＭＡＣアドレス及び識別情報に基づいて，情報格納領域５３０に管理情報５３１を記憶する（Ｓ２４）。また，管理情報作成部５１４は，通信制御装置５が仮想マシン３Ｂと通信を行う際に用いるポート（図１５の例においてはポート５１Ｂ）のポート情報を，割り当てられたＭＡＣアドレス及び識別情報と対応させて管理情報５３１として記憶する。さらに，アドレス送信部５１５及び識別情報送信部５１６は，割り当てられたＭＡＣアドレスと識別情報とを，作成された仮想マシン３Ｂに送信する（Ｓ２５，Ｓ２６）。
【００５４】
図１６は，図１５の例における管理情報５３１の具体例である。図１６の例における管理情報５３１は，通信が許可された仮想マシンのＭＡＣアドレスである「ＭＡＣアドレス」と，そのＭＡＣアドレスに対応する情報である「識別情報」と，通信が許可された仮想マシンのポートに対応する情報である「ポート情報」とを項目として有している。図１７の例においては，仮想マシン３Ａの「ＭＡＣアドレス」であるａ１：００：００：００：００：０１と，このＭＡＣアドレスに対応する「識別情報」であるｕｓｅｒ１と，ポート５１Ａの「ポート情報」である「Ｐｏｒｔ５１Ａ」とが対応付けて記憶されている。また，仮想マシン３Ｂの「ＭＡＣアドレス」であるａ１：００：００：００：００：０２と，このＭＡＣアドレスに対応する「識別情報」であるｕｓｅｒ２と，ポート５１Ｂの「ポート情報」である「Ｐｏｒｔ５１Ｂ」とが対応付けて記憶されている。すなわち，図１７に示すように，本実施の形態における管理情報５３１は，ＭＡＣアドレスとポート情報のみでなく，悪意の利用者が知り得ることができない識別情報についても対応付けて記憶している。そのため，通信制御装置５は，パケットを受信した際に，ＭＡＣアドレスと識別情報とに基づいて，通信の許可をするか否かの判定を行うことができる。これにより，通信制御装置５は，悪意の利用者がＭＡＣアドレスを書き換えて通信を行った場合においても，その通信を阻害することが可能になる。
【００５５】
［通信判定処理］
次に，通信制御処理における通信の判定を行う処理（以下，通信判定処理とも呼ぶ）について説明を行う。なお，通信判定処理は，図１０におけるＳ２からＳ６に対応する。
【００５６】
図１２に示すように，通信制御装置５のパケット受信部５１７が仮想マシン３からパケットを受信した場合（Ｓ４１のＹＥＳ），通信制御装置５のパケット判定部５１８は，例えば，情報格納領域５３０を参照し，受信したパケットの送信元ＭＡＣアドレスが情報格納領域５３０に記憶されているＭＡＣアドレスか否かを確認する（Ｓ４２）。そして，受信したパケットの送信元ＭＡＣアドレスが情報格納領域５３０に記憶されている場合（Ｓ４２のＹＥＳ），パケット判定部５１８は，例えば，情報格納領域５３０を参照し，パケットを受信したポートが受信パケットの送信元ＭＡＣアドレスに対応するか否かを確認する（Ｓ４４）。さらに，パケットを受信したポートが受信パケットの送信元ＭＡＣアドレスに対応している場合（Ｓ４４のＹＥＳ），パケット判定部５１８は，例えば，受信したパケットの送信元ＭＡＣアドレスと通信制御装置５との通信を許可する（Ｓ４７）。すなわち，受信したパケットに含まれるＭＡＣアドレスと，パケットを受信したポートとが対応して情報格納領域５３０に記憶されている場合には，そのパケットの通信を許可する。
【００５７】
また，パケットを受信したポートが受信パケットの送信元ＭＡＣアドレスに対応して記憶されていない場合（Ｓ４４のＮＯ），パケット判定部５１８は，例えば，情報格納領域５３０を参照し，受信したパケットの送信元ＭＡＣアドレスに対応する識別情報が受信されているか否かの確認を行う（Ｓ４５）。すなわち，受信したパケットに含まれるＭＡＣアドレスと，パケットを受信したポートとが対応して情報格納領域５３０に記憶されていない場合，そのパケットは，悪意の利用者が送信したパケットである可能性がある。そのため，パケット判定部５１８は，この場合，識別情報を用いて更なる認証を行う。
【００５８】
そして，受信したパケットに含まれる識別情報が，そのパケットの送信元ＭＡＣアドレスに対応して情報格納領域５３０に記憶されている場合（Ｓ４５のＹＥＳ），管理情報作成部５１４は，例えば，管理情報５３１の更新を行う。具体的に，管理情報作成部５１４は，受信したパケットのＭＡＣアドレスと，そのＭＡＣアドレスに対応する識別情報と，パケットを受信した通信制御装置５のポート情報とを対応付けて管理情報５３１として情報格納領域５３０に記憶する（Ｓ４６）。これにより，通信制御装置５は，更新後の管理情報５３１に関するポートにおいてこのポートに対応するＭＡＣアドレスを含むパケットを再度受信した場合に，識別情報による認証を行うことなく，通信を許可するか否かの判定を行うことが可能になる。そのため，通信制御装置５における処理負担を軽減することが可能になる。そして，パケット判定部５１８は，この場合，例えば，受信したパケットの送信元ＭＡＣアドレスと通信制御装置５との通信を許可する（Ｓ４７）。
【００５９】
一方，受信したパケットの送信元ＭＡＣアドレスが情報格納領域５３０に記憶されていないＭＡＣアドレスである場合（Ｓ４２のＮＯ），通信制御装置５は，受信したパケットを破棄する（Ｓ４３）。また，受信したパケットの送信元ＭＡＣアドレスに対応する識別情報が情報格納領域５３０に記憶されていない場合（Ｓ４５のＮＯ）も同様に，受信したパケットを破棄する（Ｓ４３）。
【００６０】
［通信判定処理の具体例］
図１７は，情報格納領域５３０に記憶されたＭＡＣアドレスから，そのＭＡＣアドレスに対応して情報格納領域５３０に記憶されたポートにパケットが送信された場合を説明する図である。図１７に示すように，通信制御装置５のポート５１Ｂにおいて，仮想マシン３Ｂから送信されたパケットを受信した場合（Ｓ４１），パケット判定部５１８は，ポート５１Ｂにおける仮想マシン３Ｂとの通信を許可するか否かの判定を行う（Ｓ４２，Ｓ４４，Ｓ４５）。具体的に，図１６の例における管理情報５３１は，ＶＭホスト３ＢのＭＡＣアドレスであるａ１：００：００：００：００：０２についての情報と，このＭＡＣアドレスとポート５１Ｃのポート情報とが対応した情報とを対応付けて有している（Ｓ４２のＹＥＳ，Ｓ４４のＹＥＳ）。そのため，パケット判定部５１８は，仮想マシン３Ｂから送信されたパケットの通信を許可する（Ｓ４７）。すなわち，図１７の例における仮想マシン３Ｂは，通信制御装置５が割り当てたＭＡＣアドレスを含むパケットを，そのＭＡＣアドレスに対応して情報格納領域５３０に記憶されているポート５１Ｂに送信している。そのため，通信制御装置５は，パケット判定部５１８による判定の結果，仮想マシン３Ｂが通信を行うことを予定していた仮想マシンであると判断して，その通信を許可する。
【００６１】
次に，図１８から図２１は，情報格納領域５３０に記憶されたＭＡＣアドレスから，そのＭＡＣアドレスに対応して情報格納領域５３０に記憶されていないポートにパケットが送信された場合を説明する図である。図１８及び図１９は，図１５に示す状態の後，仮想マシン３Ｂのマイグレーションが実行された場合の例である。図１８に示すように，ＶＭホスト２ＢからＶＭホスト２Ｃにマイグレーションした仮想マシン３Ｂから通信制御装置５のポート５１Ｃにパケットを受信した場合（Ｓ４１），パケット判定部５１８は，ポート５１Ｃにおける仮想マシン３Ｂとの通信を許可するか否かの判定を行う（Ｓ４２，Ｓ４４，Ｓ４５）。具体的に，図１８の例における管理情報５３１は，図１６に示すように，ＶＭホスト３ＢのＭＡＣアドレスであるａ１：００：００：００：００：０２についての情報を有しているが，このＭＡＣアドレスとポート５１Ｃのポート情報とが対応した情報については有していない。そのため，図１８の例において，パケット判定部５１８は，情報格納領域５３０を参照して，受信したパケットに含まれる識別情報がＶＭホスト２ＢのＭＡＣアドレスに対応して記憶されている識別情報を含んでいるか否かの判定を行う（Ｓ４２のＹＥＳ，Ｓ４４のＮＯ，Ｓ４５）。そして，受信したパケットに含まれる識別情報がＶＭホスト２ＢのＭＡＣアドレスに対応して記憶されている識別情報を含んでいる場合（Ｓ４５のＹＥＳ），管理情報作成部５１４は，管理情報５３１の更新を行う（Ｓ４６）。この場合，管理情報作成部５１４は，図１９に示すように，仮想マシン３ＢのＭＡＣアドレスに対応するポート情報を，パケットを受信したポート５１Ｃに対応するポート情報であるＰｏｒｔ５１Ｃに更新する。すなわち，通信制御装置５は，受信したパケットに含まれるＭＡＣアドレスと，そのパケットを受信したポート５１Ｃとが対応して情報格納領域５３０に記憶されていない場合であっても，識別情報による認証の結果によって，その通信を許可する。これにより，通信制御装置５は，マイグレーションが実行されたことにより送信先ポートが変更したパケットと，悪意の利用者によって送信されたパケットとを判別することが可能になる。
【００６２】
これに対し，図２０及び図２１は，図１５に示す状態の後，物理マシン２Ｄの物理ＮＩＣ２１ＤのＭＡＣアドレスが仮想マシン３Ｂの仮想ＮＩＣ３１ＢのＭＡＣアドレスに書き換えられた場合の例である。図２０に示すように，ＭＡＣアドレスを書き換えられた物理マシン２Ｄによってポート５１Ｃにパケットが送信された場合（Ｓ４１），パケット判定部５１８は，情報格納領域５３０を参照して，ＭＡＣアドレスを書き換えられた物理マシン２Ｄとポート５１Ｃとの通信を許可するか否かの判定を行う（Ｓ４２，Ｓ４４，Ｓ４５）。具体的に，図２０の例における管理情報５３１は，図１７と同様に，ＶＭホスト３ＢのＭＡＣアドレスであるａ１：００：００：００：００：０２の情報を有しているが，このＭＡＣアドレスとポート５１Ｃに対応するポート情報については情報を有していない。そのため，パケット判定部５１８は，情報格納領域５３０を参照して，ＶＭホスト２ＢのＭＡＣアドレスに対応する識別情報を受信しているか否かの判定を行う（Ｓ４２のＹＥＳ，Ｓ４４のＮＯ，Ｓ４５）。
【００６３】
ここで，図２０に示す例において，悪意の利用者は，仮想マシン３Ｂと通信制御装置５との間で共通して所有している識別情報の情報を知り得ないため，適切な識別情報を通信制御装置５に送信することができない。そのため，図２１に示すように，仮想マシン３Ｂの識別情報に関する情報は，情報格納領域５３０に記憶されていない。したがって，パケット判定部５１８は，物理マシン２Ｄから送信されたパケットは破棄する（Ｓ４５のＮＯ，Ｓ４３）。これにより，通信制御装置５は，悪意の利用者がＭＡＣアドレスの書き換えを行ってパケットを送信した場合に，そのパケットが悪意の利用者によって送信されたものであると判別することが可能になる。
【００６４】
なお，通信制御装置５の各ポートは，それぞれ１つのＶＭホスト２とのみ通信が可能である。そのため，パケット判定部５１８によって仮想マシンとの通信が許可されたポートは，他のＶＭホスト２からパケットを受信することはない。したがって，通信制御装置５は，仮想マシンとの通信を許可している間において，その通信に関するパケットについて識別情報を用いた判定を行うことなく不正な通信を防ぐことが可能になる。
【００６５】
［第２の実施の形態］
次に第２の実施の形態について説明する。図２２から図２４は，第２の実施の形態における通信制御処理を説明する図である。具体的に，第２の実施の形態においては，通信制御装置５が物理マシン２との通信を許可する場合について説明する。適宜，図１１及び図１２のフローチャートを参照して説明する。
【００６６】
図２２に示すように，物理マシン２Ｂ及び物理マシン２Ｃは，仮想マシンの作成を想定していない物理マシンである。そのため，第１の実施の形態の場合と異なり，物理マシン２Ｂと物理マシン２Ｃとの間においてマイグレーションは実行されない。ここで，通信制御装置５は，通信を行う情報処理装置について，その情報処理装置がマイグレーションを行うことができる仮想マシンであるか，マイグレーションを行うことができない物理マシンであるかの判断を行うことができない場合がある。そのため，図４等で説明したように，ＭＡＣアドレスのみによって通信を許可するか否かを判断した場合，通信制御装置５は，物理マシン間においても，マイグレーションが実行されたもの判断する可能性がある。具体的に，例えば，図２４に示すように，通信制御装置５が，ポート５１Ｃにおいて物理マシン２ＢのＭＡＣアドレスに書き換えた物理マシン２Ｄから送信されたパケットを受信した場合，物理マシン２Ｂとポート５１Ｃを使用する別の物理マシン（図２４の例においては物理マシン２Ｃ）との間でマイグレーションが発生したものと判断する場合がある。そして，通信制御装置５は，物理マシン２ＢのＭＡＣアドレスに書き換えた物理マシン２Ｄとポート５１Ｃと通信を許可する場合がある。そこで，通信制御装置５において，仮想マシンの作成を想定していない物理マシンとの通信を許可する場合であっても，第１の実施の形態と同様に，第１の実施の形態において説明した通信制御処理を行う。これにより，悪意の利用者による他の物理マシンに関する通信の傍受を防止することができる。以下，第２の実施の形態の具体例について説明する。
【００６７】
［第２の実施の形態の具体例］
図２２の例において，動作検知部５１１は，例えば，管理サーバ１によるオペレーションを検知する（Ｓ２１）。管理サーバ１によるオペレーションは，例えば，管理サーバ１による物理サーバ２Ｂの仮想的なＭＡＣアドレス（以下，仮想ＭＡＣアドレス，または仮想アドレスとも呼ぶ）の割り当て等である。動作検知部５１１は，例えば，管理サーバ１から物理マシン２への仮想ＭＡＣアドレスの割り当て指示を中継したときに，物理マシン２Ｂに仮想ＭＡＣアドレスが割り当てられることを検知する。
【００６８】
そして，図２３に示すように，動作検知部５１１が管理サーバ１のオペレーションを検知したことに応答して，識別情報割り当て部５１３は，例えば，物理マシン２の識別情報を割り当てる（Ｓ２３）。さらに，管理情報作成部５１４は，管理サーバ１が割り当てた仮想ＭＡＣアドレスと，識別情報割り当て部５１３が割り当てた識別情報とに基づいて，情報格納領域５３０に管理情報５３１を記憶する（Ｓ２４）。その後，識別情報送信部５１６は，例えば，割り当てられた識別情報を，仮想ＭＡＣアドレスが割り当てられた物理マシン２Ｂに送信する（Ｓ２６）。なお，識別情報は，管理サーバ１等によって割り当てられるものであってもよい。この場合，識別情報は，管理サーバ１等によって送信されるものであってよい。
【００６９】
次に，情報格納領域５３０にＭＡＣアドレスが記憶された物理マシンから，そのＭＡＣアドレスに対応して記憶されていないポートに，パケットが送信された場合を説明する。図２４は，物理マシン２ＢのＭＡＣアドレスに書き換えた物理マシン２Ｄから，物理マシン２ＢのＭＡＣアドレスに対応して記憶されていないポートにパケットが送信された場合の例である。
【００７０】
図２４に示すように，ＭＡＣアドレスを書き換えられた物理マシン２Ｄによって，通信制御装置５のポート５１Ｃにパケットが送信された場合（Ｓ４１），パケット判定部５１８は，情報格納領域５３０を参照して，ＭＡＣアドレスを書き換えられた物理マシン２Ｄとポート５１Ｃとの通信を許可するか否かの判定を行う（Ｓ４２，Ｓ４４，Ｓ４５）。ここで，悪意の利用者は，物理マシン３Ｂと通信制御装置５との間で共通して所有している識別情報の情報を知り得ないため，適切な識別情報を通信制御装置５に送信することができない。そのため，物理マシン２Ｂの識別情報に関する情報は，情報格納領域５３０に記憶されていない。したがって，パケット判定部５１８は，物理マシン２Ｄから送信されたパケットは破棄する（Ｓ４５のＮＯ，Ｓ４３）。
【００７１】
このように，第２の実施の形態によれば，通信制御装置５は，仮想マシンを作成することを想定していない物理マシンと通信制御装置５との間における通信についても，ＭＡＣアドレスと識別情報とに基づいて通信を許可するか否かの判定を行う。これにより，通信制御装置５は，悪意の利用者がＭＡＣアドレスを書き換えて行った通信を阻害することが可能になる。そして，利用者の物理マシンに関する通信が悪意の利用者に傍受されることを防止することが可能になる。
【００７２】
なお，第２の実施の形態における通信制御装置５は，悪意の利用者が物理マシン（例えば，図２４における物理マシン２Ｄ）のＭＡＣアドレスを他の仮想マシンのＭＡＣアドレスに書き換える場合のみでなく，仮想マシンのＭＡＣアドレスを書き換える場合にも適用可能である。
【００７３】
以上の実施の形態をまとめると，以下の付記のとおりである。
【００７４】
（付記１）
情報処理装置と通信可能な通信制御装置であって，
前記通信制御装置との通信が許可された前記情報処理装置のネットワークインターフェースのアドレスと，該アドレスに対応する第１の識別情報と，前記通信が許可された前記通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶する記憶部と，
前記アドレスを含むパケットを送信する情報処理装置と通信を行う際に，前記アドレスと，前記パケットを受信するポートに対応する第２のポート情報とが対応して前記記憶部に記憶されていない場合，前記第１の識別情報と，前記通信を行う情報処理装置から受信した第２の識別情報とに基づいて，前記通信を許可するか否かを判定する判定部と，を有する
通信制御装置。
【００７５】
（付記２）
付記１において，さらに，
前記判定部が前記通信を許可した場合，前記管理情報に含まれる前記第１のポート情報を，前記第２のポート情報に更新する更新部を有する通信制御装置。
【００７６】
（付記３）
付記２において，
前記ポートは，１つの情報処理装置とのみ通信可能であり，
前記判定部は，前記通信を許可する判定を行った後，前記第２のポートにおける前記通信について前記判定を行わない通信制御装置。
【００７７】
（付記４）
付記１において，
前記判定部は，前記第１の識別情報と前記第２の識別情報とが一致する場合に，前記通信を許可する判定を行う通信制御装置。
【００７８】
（付記５）
付記１において，
前記アドレスは，情報処理装置のリソースが割り当てられて作成される仮想装置のネットワークインターフェースのアドレスであり，
前記記憶部は，前記仮想装置が作成されたことに応答して，前記管理情報の記憶を行い，
前記判定部は，前記パケットを送信する前記仮想装置との通信を許可するか否かを判定する通信制御装置。
【００７９】
（付記６）
付記１において，
前記アドレスは，情報処理装置に仮想的に割り当てられた仮想アドレスであり，
前記記憶部は，前記ネットワークインターフェースに前記仮想アドレスが割り当てられたことに応答して，前記管理情報の記憶を行う通信制御装置。
【００８０】
（付記７）
付記１において，さらに，
前記記憶部が前記管理情報を記憶する前に，前記管理情報に関する情報処理装置に前記識別情報を割り当てる割り当て部を有する通信制御装置。
【００８１】
（付記８）
付記７において，さらに，
前記記憶部が前記管理情報を記憶する際に，前記識別情報を前記第１の管理情報に関する情報処理装置に送信する送信部を有する通信制御装置。
【００８２】
（付記９）
付記１において，
前記識別情報は，前記情報処理装置に関するアカウント情報を含む通信制御装置。
【００８３】
（付記１０）
情報処理装置と通信可能な通信制御装置における通信制御プログラムであって，
前記通信制御装置との通信が許可された前記情報処理装置のネットワークインターフェースのアドレスと，該アドレスに対応する第１の識別情報と，前記通信が許可された前記通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶し，
前記アドレスを含むパケットを送信する情報処理装置と通信を行う際に，前記アドレスと，前記パケットを受信するポートに対応する第２のポート情報とが対応して前記記憶部に記憶されていない場合，前記第１の識別情報と，前記通信を行う情報処理装置から受信した第２の識別情報とに基づいて，前記通信を許可するか否かを判定する
処理をコンピュータに実行させる通信制御プログラム。
【００８４】
（付記１１）
情報処理装置との通信可能な通信制御装置における通信制御方法であって，
前記通信制御装置との通信が許可された前記情報処理装置のネットワークインターフェースのアドレスと，該アドレスに対応する第１の識別情報と，前記通信が許可された前記通信制御装置のポートに対応する第１のポート情報とを対応付けた管理情報を記憶し，
前記アドレスを含むパケットを送信する情報処理装置と通信を行う際に，前記アドレスと，前記パケットを受信するポートに対応する第２のポート情報とが対応して前記記憶部に記憶されていない場合，前記第１の識別情報と，前記通信を行う情報処理装置から受信した第２の識別情報とに基づいて，前記通信を許可するか否かを判定する
通信制御方法。
【符号の説明】
【００８５】
１：管理サーバ              ２：情報処理装置，ＶＭホスト，物理マシン
３：仮想マシン              ４：仮想化ソフトウエア
５：通信制御装置            ８：利用者端末
【図１】
2016009972.tif 000003
【図２】
2016009972.tif 000004
【図３】
2016009972.tif 000005
【図４】
2016009972.tif 000006
【図５】
2016009972.tif 000007
【図６】
2016009972.tif 000008
【図７】
2016009972.tif 000009
【図８】
2016009972.tif 000010
【図９】
2016009972.tif 000011
【図１０】
2016009972.tif 000012
【図１１】
2016009972.tif 000013
【図１２】
2016009972.tif 000014
【図１３】
2016009972.tif 000015
【図１４】
2016009972.tif 000016
【図１５】
2016009972.tif 000017
【図１６】
2016009972.tif 000018
【図１７】
2016009972.tif 000019
【図１８】
2016009972.tif 000020
【図１９】
2016009972.tif 000021
【図２０】
2016009972.tif 000022
【図２１】
2016009972.tif 000023
【図２２】
2016009972.tif 000024
【図２３】
2016009972.tif 000025
【図２４】
2016009972.tif 000026