(57)【特許請求の範囲】
【請求項１】
第１の通信装置と通信可能な第１の通信インターフェイスと、
第２の通信装置と通信可能な第２の通信インターフェイスと、
前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行するアプリケーション実行部と、
前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングするスイッチ部と、
を備える、中継装置。
【請求項２】
前記中継アプリケーションは、前記第１または第２の通信装置の機能に関するエッジコンピューティング処理を実行する、
請求項１に記載の中継装置。
【請求項３】
前記第１の通信パスは、前記第１の通信装置と前記中継アプリケーションの間で終端され、
前記第２の通信パスは、前記第２の通信装置と前記中継アプリケーションの間で終端される、
請求項１または２に記載の中継装置。
【請求項４】
前記中継アプリケーションは、
前記第１の通信装置と前記第１の通信パスを介して接続する第１の中継アプリケーションと、
前記第２の通信装置と前記第２の通信パスを介して接続する第２の中継アプリケーションと、を含む、
請求項１または２に記載の中継装置。
【請求項５】
前記第１の通信パスは、前記第１の通信装置と前記第１の中継アプリケーションの間で終端され、
前記第２の通信パスは、前記第２の通信装置と前記第２の中継アプリケーションの間で終端される、
請求項４に記載の中継装置。
【請求項６】
前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付ける中継テーブルを記憶するテーブル記憶部を備え、
前記スイッチ部は、前記記憶された中継テーブルに基づいて、前記パケットをスイッチングする、
請求項１乃至５のいずれか一項に記載の中継装置。
【請求項７】
前記中継テーブルは、前記パケットに含まれる送信元情報及び宛先情報と前記中継アプリケーションの識別情報を関連付ける、
請求項６に記載の中継装置。
【請求項８】
前記スイッチ部は、前記第１または第２の通信装置から受信したパケットの前記送信元情報及び前記宛先情報が、前記中継テーブルに含まれる場合、前記宛先情報に対応する前記中継アプリケーションへ前記パケットを転送する、
請求項７に記載の中継装置。
【請求項９】
前記スイッチ部は、前記中継テーブルにおいて前記送信元情報及び前記宛先情報に対応する前記識別情報の中継アプリケーションが、前記宛先情報のパケットを受信するように実行されている場合、前記中継アプリケーションへ前記パケットを転送する、
請求項８に記載の中継装置。
【請求項１０】
前記スイッチ部は、前記中継アプリケーションから受信したパケットの前記送信元情報及び前記宛先情報が、前記中継テーブルに含まれる場合、前記宛先情報に対応する前記第１または第２の通信装置へ前記パケットを転送する、
請求項７乃至９のいずれか一項に記載の中継装置。
【請求項１１】
前記スイッチ部は、前記中継テーブルにおいて前記送信元情報及び前記宛先情報に対応する前記識別情報の中継アプリケーションが前記パケットを送信した場合、前記第１または第２の通信装置へ前記パケットを転送する、
請求項１０に記載の中継装置。
【請求項１２】
前記中継テーブルに基づいて、前記第１及び第２の通信装置と前記中継アプリケーションから受信するパケットの処理規則を前記スイッチ部へ設定するスイッチ制御部を備える、
請求項６乃至１１のいずれか一項に記載の中継装置。
【請求項１３】
前記スイッチ部は、前記第１及び第２の通信装置と前記中継アプリケーションとの間のフローを中継するオープンフロースイッチであり、
前記スイッチ制御部は、前記オープンフロースイッチを制御するオープンフローコントローラである、
請求項１２に記載の中継装置。
【請求項１４】
前記第１の通信装置と前記第２の通信装置との間で接続される第３の通信パスを中継する中継処理部を備える、
請求項１乃至１３のいずれか一項に記載の中継装置。
【請求項１５】
前記中継処理部は、パケットのアドレス及びポート番号を変換するＮＡＰＴ処理部、または、パケットのアドレスを変換するＮＡＴ処理部である、
請求項１４に記載の中継装置。
【請求項１６】
第１の通信装置と、第２の通信装置と、前記第１及び第２の通信装置の間に接続された中継装置とを備えた通信システムであって、
前記中継装置は、
前記第１の通信装置と通信可能な第１の通信インターフェイスと、
前記第２の通信装置と通信可能な第２の通信インターフェイスと、
前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行するアプリケーション実行部と、
前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングするスイッチ部と、
を備える、通信システム。
【請求項１７】
第１の通信装置と通信可能な第１の通信インターフェイスと、第２の通信装置と通信可能な第２の通信インターフェイスとを備えた中継装置における中継方法であって、
前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行し、
前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングする、
中継方法。
【請求項１８】
第１の通信装置と通信可能な第１の通信インターフェイスと、第２の通信装置と通信可能な第２の通信インターフェイスとを備えた中継装置に実行させるための中継プログラムであって、
前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行し、
前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングする、
中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、通信システム、中継方法及び中継プログラムに関し、特に、アプリケーションを実行する中継装置、通信システム、中継方法及び中継プログラムに関する。
【背景技術】
【０００２】
近年、ネットワークの多様化が進んでおり、ネットワークにおけるセキュリティ確保が大きな課題となっている。一つの物理的なネットワークにおいて、複数の種類のシステムや権限が異なるユーザーが混在した状況でセキュリティを確保する方法として、論理的にアクセス経路を分離する手法が知られている。例えば、関連する論理的分離手法として、ＳＤＮ（Software Defined Network）で規定されるオープンフロー（OpenFlow）技術が挙げられる（例えば非特許文献１参照）。
【０００３】
一方、様々な物体（モノ）をインターネットに接続するＩｏＴ（Internet of Things：モノのインターネット）が注目されている。ＩｏＴでは、センサーやスマートメータなどのデバイスをインターネットに接続することで、センサーデータや計測データをクラウド（サーバー）で収集し、自動認識や自動制御、遠隔計測などが可能となる。
【０００４】
このＩｏＴを実現する技術の一つとしてエッジコンピューティングの研究が進められている（モバイルエッジコンピューティングの例として非特許文献２参照）。エッジコンピューティングとは、デバイスの全てのデータをクラウドに送信し、クラウドで全てのデータを分析・処理するのではなく、現場のデバイス側のエッジ（ゲートウェイ）で一部のコンピューティング（分散処理）を行う技術である。エッジコンピューティングにより、デバイスからのデータ量が多くなった場合でも、クラウドに送るデータ量の肥大や、レスポンス低下を避けることができる。エッジコンピューティングでは、ゲートウェイにアプリケーション等によるコンピューティング機能を持たせる必要がある。
【０００５】
例えば、カメラデバイスから常に画像をクラウドへ送ると、ＷＡＮがセルラーだった場合は通信課金が膨大となったり、クラウドからのレスポンスが低下する。エッジコンピューティングにより、ゲートウェイで一旦画像を監視し、前の画像から変化があった場合のみのデータを切り出して、サーバーに送ることで、課金（データ量）やレスポンスを改善することができる。
【０００６】
その他、関連する技術として、特許文献１や２が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−０８５００５号公報
【特許文献２】特開２００３−１６７８０５号公報
【非特許文献】
【０００８】
【非特許文献１】ONF(Open Network Foundation), "OpenFlow Switch Specification", Version 1.3.4, 2014年3月27日
【非特許文献２】ETSI GS MEC-IEG 004, "Mobile-Edge Computing (MEC); Service Scenarios", V1.1.1, 2015年11月
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、エッジコンピューティングのようにアプリケーションを備えた中継装置においては、通信経路を論理的に分離する手法が考慮されていないため、セキュリティを確保することが困難であるという問題がある。
【００１０】
本発明は、このような課題に鑑み、セキュリティ性を向上することが可能な中継装置、通信システム、中継方法及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る中継装置は、第１の通信装置と通信可能な第１の通信インターフェイスと、第２の通信装置と通信可能な第２の通信インターフェイスと、前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行するアプリケーション実行部と、前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングするスイッチ部と、を備えるものである。
【００１２】
本発明に係る通信システムは、第１の通信装置と、第２の通信装置と、前記第１及び第２の通信装置の間に接続された中継装置とを備えた通信システムであって、前記中継装置は、前記第１の通信装置と通信可能な第１の通信インターフェイスと、前記第２の通信装置と通信可能な第２の通信インターフェイスと、前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行するアプリケーション実行部と、前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングするスイッチ部と、を備えるものである。
【００１３】
本発明に係る中継方法は、第１の通信装置と通信可能な第１の通信インターフェイスと、第２の通信装置と通信可能な第２の通信インターフェイスとを備えた中継装置における中継方法であって、前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行し、前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングするものである。
【００１４】
本発明に係る中継プログラムは、第１の通信装置と通信可能な第１の通信インターフェイスと、第２の通信装置と通信可能な第２の通信インターフェイスとを備えた中継装置に実行させるための中継プログラムであって、前記第１の通信装置と第１の通信パスを介して接続するとともに、前記第２の通信装置と第２の通信パスを介して接続する中継アプリケーションを実行し、前記第１の通信装置及び前記中継アプリケーションを関連付けるとともに、前記第２の通信装置及び前記中継アプリケーションを関連付けて、前記第１及び第２の通信インターフェイスと前記中継アプリケーションとの間で入出力されるパケットをスイッチングするものである。
【発明の効果】
【００１５】
本発明によれば、セキュリティ性を向上することが可能な中継装置、通信システム、中継方法及び中継プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】参考例に係る通信システムの構成を示す構成図である。
【図２】実施の形態に係る通信システムにおける通信経路の分離イメージを示す図である。
【図３】実施の形態に係る通信システムにおけるアプリケーションの構成例を示す図である。
【図４】実施の形態に係るゲートウェイの概要構成を示す構成図である。
【図５】実施の形態１に係るゲートウェイの構成を示す構成図である。
【図６】実施の形態１に係る通信システムの具体例を示す構成図である。
【図７】実施の形態１に係るホワイトリストテーブルの具体例を示す図である。
【図８】実施の形態１に係るゲートウェイの動作例を示すフローチャートである。
【図９】実施の形態１に係るゲートウェイの動作例を示すフローチャートである。
【図１０】実施の形態１に係るゲートウェイの効果を説明するための図である。
【図１１】参考例に係るＮＡＰＴ通信の例を示す構成図である。
【図１２】実施の形態２に係る通信システムにおける通信経路の分離イメージを示す図である。
【図１３】実施の形態２に係る通信システムの具体例を示す構成図である。
【図１４】実施の形態２に係るホワイトリストテーブルの具体例を示す図である。
【図１５】実施の形態２に係るゲートウェイの動作例を示すフローチャートである。
【図１６】実施の形態２に係るゲートウェイの動作例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
（実施の形態の概要）
上記のように、近年ＩｏＴを初めとして、ゲートウェイを介して、現場のセンサー機器のデータをクラウド（サーバー）で収集するシステム構成が増加している。図１は、ＩｏＴのエッジコンピューティングをゲートウェイに適用した参考例の通信システムの構成を示している。
【００１８】
図１に示すように、参考例の通信システム９００は、複数のデバイスＤＶ（ＤＶ＿１〜ＤＶ＿Ｎ）、複数のサーバーＳＲ（ＳＲ＿１〜ＳＲ＿Ｎ）、複数のデバイスＤＶと複数のサーバーＳＲ間の通信を中継するゲートウェイ９１０を備えている。デバイスＤＶ＿１〜ＤＶ＿Ｎは、それぞれアプリケーションＡＰ＿１１〜ＡＰ＿Ｎ１を実行しており、サーバーＳＲ＿１〜ＳＲ＿Ｎは、それぞれアプリケーションＡＰ＿１２〜ＡＰ＿Ｎ２を実行している。例えば、アプリケーションＡＰ＿１２〜ＡＰ＿Ｎ２はサーバーアプリケーション（動画配信サーバー、Ｗｅｂサーバー等）であり、アプリケーションＡＰ＿１１〜ＡＰ＿Ｎ１はサーバーに対するクライアントアプリケーション（動画再生ソフト、Ｗｅｂブラウザ等）である。
【００１９】
参考例のゲートウェイ９１０は、通信インターフェイス９１１を介してデバイスＤＶ＿１〜ＤＶ＿Ｎと接続し、通信インターフェイス９１２を介してサーバーＳＲ＿１〜ＳＲ＿Ｎと接続し、アプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０を実行している。
【００２０】
ゲートウェイ９１０のアプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０は、エッジコンピューティングを行うためのアプリケーション（画像変換ソフト、データ一次解析・処理ソフト、データ圧縮・量子化ソフト等）であり、デバイスＤＶのアプリケーションＡＰ＿１１〜ＡＰ＿Ｎ１とサーバーＳＲのアプリケーションＡＰ＿１２〜ＡＰ＿Ｎ２の間に接続される。
【００２１】
しかしながら、図１のような参考例では、物理的なネットワークの中をシステムの種類等によって論理的に複数のアクセス経路に分離することができない。このため、複数のシステムの通信が同一経路を使用することとなり、セキュリティ上の懸念が課題となる。
【００２２】
また、ゲートウェイに相当する中継装置に着眼すると、コンテナ技術（例えばDocker）やＶＭｗａｒｅなどの仮想化によって、各々が影響を与えないアプリケーション閉域空間を構築する技術が存在するが、ＩｏＴなど現場に設置されるローコスト／低リソースの中継装置（例えばＡＲＭプロセッサを使用する通信デバイス）では、そのような複雑な技術は性能・リソースの観点から適用ができないといった課題がある。
【００２３】
そこで、以下の実施の形態では、ローコスト／低リソースデバイスで構成されたゲートウェイに複数のシステム（通信、アプリケーション）が搭載されている場合、それぞれのシステムの通信経路を論理的に分離し、セキュリティ性を向上させることを目的とする。
【００２４】
図２は、実施の形態の通信システムにおいて、通信経路を論理的に分離するイメージを示している。図２に示すように、実施の形態に係る通信システム１００におけるゲートウェイ１１０（仮想的に複数図示している）では、アプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０が、それぞれデバイスＤＶのアプリケーションＡＰ＿１１〜ＡＰ＿Ｎ１とセッションＳＥ＿１１〜ＳＥ＿Ｎ１を介して接続し、また、それぞれサーバーＳＲのアプリケーションＡＰ＿１２〜ＡＰ＿Ｎ２とセッションＳＥ＿１２〜ＳＥ＿Ｎ２を介して接続する。ＬＡＮ側のデバイスＤＶとゲートウェイ１１０内のアプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０の通信（セッションＳＥ＿１１〜ＳＥ＿Ｎ１）、及びゲートウェイ１１０内のアプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０とＷＡＮ側のサーバーＳＲの通信（セッションＳＥ＿１２〜ＳＥ＿Ｎ２）について、それぞれ２つの通信を紐づけ、通信経路を論理的に分離する。
【００２５】
実施の形態では、通信制御にフォカースした形で、デバイスＤＶ、ゲートウェイ１１０、サーバーＳＲ間で、アクセス経路を論理的に分離し、低リソースデバイスを使用した場合においても、セキュリティ性の向上を実現可能とする。
【００２６】
図２に示すように、デバイスＤＶ＿１〜ＤＶ＿Ｎは直接（ゲートウェイを介して）サーバーＳＲ＿１〜ＳＲＮ＿Ｎと通信しているわけでは無く、デバイスＤＶ＿１〜ＤＶ＿ＮはアプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０と通信する。アプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０は、セッションＳＥ＿１１〜ＳＥ＿Ｎ１を介してデバイスＤＶ＿１〜ＤＶ＿Ｎから受信したデータを加工したり、間引いたりした後、クラウドのサーバーＳＲ＿１〜ＳＲ＿Ｎに送信が必要なデータのみセッションＳＥ＿１２〜ＳＥ＿Ｎ２を介して送信する。実施の形態は、この第１の通信（セッションＳＥ＿１１〜ＳＥ＿Ｎ１）と第２の通信（セッションＳＥ＿１２〜ＳＥ＿Ｎ２）を、ゲートウェイ１１０のアプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０にて紐づける事に特徴がある。
【００２７】
なお、実施の形態では、ゲートウェイの１つのアプリケーションが、デバイスと通信するとともにサーバーとも通信する例を説明するが、図３に示すように、同様の機能を複数のアプリケーションで実現してもよい。例えば、ゲートウェイ１１０は、デバイスＤＶ＿１からセッションＳＥ＿１１を介して受信するデータを処理するアプリケーションＡＰ＿１０ａ、及び処理後のデータをセッションＳＥ＿１２を介してサーバーＳＲ＿１へ送信するアプリケーションＡＰ＿１０ｂを備えていてもよい。この場合、セッションＳＥ＿１１がアプリケーションＡＰ＿１０ａに紐づけられ、セッションＳＥ＿１２がアプリケーションＡＰ＿１０ｂに紐づけられる。
【００２８】
図４は、実施の形態に係る中継装置を含む通信システムの概要構成を示している。図４に示すように、実施の形態に係る通信システム１００に含まれるゲートウェイ（中継装置）１１０は、通信インターフェイス１１１及び１１２、アプリケーション実行部１１３、スイッチ部１１４を備えている。
【００２９】
通信インターフェイス１１１は、通信装置２０１（デバイス等）と通信可能であり、通信インターフェイス１１２は、通信装置２０２（サーバー等）と通信可能である。アプリケーション実行部１１３は、通信装置２０１と通信パスＰＴ＿１を介して接続するとともに、通信装置２０２と通信パスＰＴ＿２を介して接続するアプリケーション（中継アプリケーション）ＡＰ＿０を実行する。スイッチ部１１４は、通信装置２０１及びアプリケーションＡＰ＿０を関連付けるとともに、通信装置２０２及びアプリケーションＡＰ＿０を関連付けて、通信インターフェイス１１１及び１１２とアプリケーションＡＰ＿０の間で入出力されるパケットをスイッチングする。このような構成により、通信パスを論理的に分離可能とし、簡易にセキュリティ性を向上することができる。
【００３０】
（実施の形態１）
以下、図面を参照して実施の形態１について説明する。本実施の形態では、ゲートウェイに通信を制御するためのスイッチを搭載し、ゲートウェイとデバイスとの通信、ゲートウェイとサーバーの通信の関連付けを事前に設定するホワイトリストに基づいて制御する。特に、ゲートウェイについては、ゲートウェイに搭載している通信アプリケーション単位の関連付けの通信制御を行う。なお、ここでは中継装置の一例としてゲートウェイについて説明するが、その他、ルーターやスイッチ装置等の中継装置であってもよい。
【００３１】
＜ゲートウェイの構成＞
図５は、本実施の形態に係るゲートウェイの構成を示している。図５に示すように、本実施の形態に係るゲートウェイ１０は、複数の通信インターフェイスＩＦ（ＩＦ＿１〜ＩＦ＿Ｎ）、スイッチ部１１、ＴＣＰ／ＩＰスタック部１２、スイッチ制御部１３、メモリ１４、複数のアプリケーションＡＰ（ＡＰ＿１０〜ＡＰ＿Ｎ０）、ポリシ入出力部１５を備えている。機能階層的な例では、通信インターフェイスＩＦ＿１〜ＩＦ＿Ｎは、物理層に相当し、スイッチ部１１、ＴＣＰ／ＩＰスタック部１２、スイッチ制御部１３及びメモリ１４は、ミドル層に相当し、アプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０及びポリシ入出力部１５は、アプリケーション層に相当する。なお、図５は、ゲートウェイの機能ブロックの一例であり、本実施の形態に係る動作が実現できれば、その他の構成であってもよい。例えば、スイッチ部１１とスイッチ制御部１３を含めてスイッチ部としてもよいし、ＴＣＰ／ＩＰスタック部１２をアプリケーションＡＰやスイッチ部１１に含めてもよい。
【００３２】
通信インターフェイスＩＦ＿１〜ＩＦ＿Ｎは、それぞれ所定の通信規格のネットワークを介してデバイスやサーバー等の通信装置に接続する物理インターフェイスである。例えば、通信インターフェイスＩＦ＿１は、ＷｉＦｉ（登録商標）規格に準拠し、ＷｉＦｉのＬＡＮに接続する。通信インターフェイスＩＦ＿２は、ＬＴＥ（セルラーの一例）規格に準拠し、ＬＴＥのＷＡＮに接続する。通信インターフェイスＩＦ＿３は、イーサネット（登録商標）規格に準拠し、イーサネットのＬＡＮやＷＡＮに接続する。なお、通信インターフェイスに適用するＷｉＦｉ、ＬＴＥ、イーサネットは一例であって、これらに限られるものではなく、ＵＳＢやＢｌｕｅｔｏｏｔｈ（登録商標）等、その他の有線／無線接続であってもよい。
【００３３】
スイッチ部１１は、スイッチ制御部１３からの制御（設定）に基づいて、入出力されるパケットの転送先を切り替える（スイッチングする）。スイッチ部１１は、ゲートウェイ１０から各ネットワークへパケットを出力する場合、スイッチに紐付いた通信インターフェイスＩＦ＿１〜ＩＦ＿Ｎを介して、事前に設定されたフロールール（転送ルール）に基づいた経路でパケットを出力する。スイッチ部１１は、各ネットワークからゲートウェイ１０へパケットが入力された場合、事前に設定されたフロールールに基づいて、ゲートウェイ内のアプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０へ（ＴＣＰ／ＩＰスタックを介して）パケットを転送する。例えば、スイッチ部１１は、オープンフローで使用されるオープンフロー（ＳＤＮ）スイッチ（Ｏｐｅｎ ｖＳｗｉｔｃｈ）などであるが、これに限定されるものではない。
【００３４】
例えば、スイッチ部１１は、フロールールを記憶するフロールール記憶部を有している（不図示）。スイッチ部１１のフロールールは、入力されるパケットに適用する処理規則であり、パケットの条件と処理内容が設定される。フロールールのパケットの条件には、送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号、入力通信インターフェイス、出力通信インターフェイス、入力アプリケーション、出力アプリケーション等が設定され、フロールールの処理内容には、出力通信インターフェイス、出力アプリケーションへのパケット転送もしくはパケット破棄、アドレス及びポート番号の変更等が設定される。
【００３５】
メモリ１４は、スイッチ部１１のフロールールを規定するためのホワイトリストテーブルＷＬなどを記憶する記憶部（テーブル記憶部）である。ホワイトリストテーブルＷＬは、通信を許可するパケットの条件が記載されており、例えば、ユーザーにより予め設定されている。なお、スイッチ制御部１３がポリシをもとにホワイトリストテーブルＷＬを生成してもよい。メモリ１４は、スイッチ制御部１３の処理に必要なその他の情報を記憶してもよい。ポリシ入出力部１５は、スイッチ部１１のフロールール（やホワイトリストテーブルＷＬ）を規定するためのポリシを外部から入力するための入出力部である。例えば、ポリシ入出力部１５は、ＧＵＩ等のユーザーインターフェイスであり、ＧＵＩを介してユーザーがポリシを入力してもよい。
【００３６】
スイッチ制御部１３は、入力されるポリシや記憶されているホワイトリストテーブルＷＬに基づいて、スイッチ部１１にフロールールを設定する。例えば、スイッチ制御部１３は、オープンフローで使用されるオープンフロー（ＳＤＮ）コントローラである。スイッチ部１１は、パケットを受信すると、パケットに適用するフロールールが設定されている場合、フロールールにしたがってパケットを処理し、パケットに適用するフロールールが設定されていない場合、スイッチ制御部１３にルールを問い合わせる。そうすると、スイッチ制御部１３は、ポリシやホワイトリストテーブルＷＬにしたがって、スイッチ部１１にフロールールを設定する。
【００３７】
ＴＣＰ／ＩＰスタック部１２は、ＴＣＰ／ＩＰプロトコルにしたがってパケットを処理するパケット処理部である。ＴＣＰ／ＩＰプロトコルは、トランスポート層／ネットワーク層のプロトコルの一例であり、ＵＤＰ／ＩＰなどその他のプロトコルを使用してもよい。例えば、ＴＣＰ／ＩＰプロトコルにしたがって、アプリケーション層の間をエンド・エンドで接続する通信路がセッションである。
【００３８】
アプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０は、エッジコンピューティング（サーバーやデバイスの機能に関連する処理）を行うためにゲートウェイで実行されるアプリケーション（プログラム）である。アプリケーションＡＰ＿１０〜ＡＰ＿Ｎ０は、通信インターフェイスＩＦ＿１〜ＩＦ＿Ｎを介して、デバイスやサーバーと接続し通信を行う。例えば、上記と同様に、デバイスから受信したデータを加工したり、間引いたりした後、必要なデータのみサーバーに送信する。カメラデバイスから受信した画像データを画像処理し、画像の特徴点のみの特徴データをサーバーへ送信し、サーバーでこの特徴データをもとにマッチング処理等を行ってもよい。
【００３９】
＜システムの具体例＞
図６は、本実施の形態に係るゲートウェイを含むシステムの具体例を示しており、図７は、このシステムで使用されるホワイトリストテーブルの具体例を示している。なお、図６では、理解を容易にするために２つのスイッチ部１１をＬＡＮ側とＷＡＮ側にそれぞれ図示しているが、実際には図５のように１つの物理的なスイッチ部１１で実現されている。
【００４０】
図６に示すように、この例では、ゲートウェイ１０は、ＬＡＮ側にＷｉＦｉ用の通信インターフェイスＩＦ＿１と、ＷＡＮ側にＬＴＥ用の通信インターフェイスＩＦ＿２を備えており、ＬＡＮ側のＷｉＦｉネットワークとＷＡＮ側のＬＴＥネットワーク間の通信を中継する。ＬＡＮ側の通信インターフェイスＩＦ＿１は、ＷｉＦｉネットワークを介して２つのデバイスＤＶ＿１及びＤＶ＿２と接続し、ＷＡＮ側の通信インターフェイスＩＦ＿２は、ＬＴＥネットワーク（クラウド）を介して２つのサーバーＳＲ＿１及びＳＲ＿２と接続する。
【００４１】
ゲートウェイ１０には、ソケット通信を行う２つのアプリケーションＡＰ＿１０及びＡＰ＿２０が搭載され実行されている。デバイスＤＶ＿１との通信はアプリケーションＡＰ＿１０が行い、デバイスＤＶ＿２との通信はアプリケーションＡＰ＿２０が行う。例えば、アプリケーションＡＰ＿１０は、デバイスＤＶ＿１で実行されるアプリケーションＡＰ＿１１（クライアントアプリケーション）との間でセッションを接続して通信を行い、アプリケーションＡＰ＿２０は、デバイスＤＶ＿２で実行されるアプリケーションＡＰ＿２１との間でセッションを接続して通信を行う。アプリケーションＡＰ＿１０とアプリケーションＡＰ＿１１との間、アプリケーションＡＰ＿２０とアプリケーションＡＰ＿２１との間は、それぞれセッションで終端接続されている。
【００４２】
また、アプリケーションＡＰ＿１０及びＡＰ＿２０は、それぞれの用途（デバイスのアプリケーション）に合致したサーバーＳＲ＿１及びＳＲ＿２（クラウド）と通信を行う。サーバーＳＲ＿１との通信はアプリケーションＡＰ＿１０が行い、サーバーＳＲ＿２との通信はアプリケーションＡＰ＿２０が行う。例えば、アプリケーションＡＰ＿１０は、サーバーＳＲ＿１のアプリケーションＡＰ＿１２（サーバーアプリケーション）との間でセッションを接続して通信を行い、アプリケーションＡＰ＿２０は、サーバーＳＲ＿２のアプリケーションＡＰ＿２２との間でセッションを接続して通信を行う。アプリケーションＡＰ＿１０とアプリケーションＡＰ＿１２との間、アプリケーションＡＰ＿２０とアプリケーションＡＰ＿２２との間は、それぞれセッションで終端接続されている。
【００４３】
一例として、温湿度センサーであるデバイスＤＶ＿１（アプリケーションＡＰ＿１１）から温湿度データがアプリケーションＡＰ＿１０に送信された後、温湿度データを受信したアプリケーションＡＰ＿１０は、その温湿度データをそのまま、もしくは処理した後にサーバーＳＲ＿１（アプリケーションＡＰ＿１２）へ送る。このとき、デバイスＤＶ＿１のＩＰアドレス１９２．１６８．１．１０１から通信インターフェイスＩＦ＿１のＩＰアドレス１９２．１６８．１．１及びポート番号３００００へパケットが送信され、プロセスｉｄ１００１のアプリケーションＡＰ＿１０が処理した後、通信インターフェイスＩＦ＿２のＩＰアドレスＺ１．Ｘ２．Ｘ３．Ｘ４からサーバーＳＲ＿１のＩＰアドレスＹ１．Ｙ２．Ｙ３．Ｙ４及びポート番号８０（ＨＴＴＰ用ポート）または４４３（ＨＴＴＰＳ用ポート）へパケットが送信される。
【００４４】
他の例として、振動センサーであるデバイスＤＶ＿２（アプリケーションＡＰ＿２１）から出力される波形データが、波形データ処理用のアプリケーションＡＰ＿２０に送信された後、同様に、アプリケーションＡＰ＿２０は、その波形データをそのまま、もしくは処理した後にサーバーＳＲ＿２（アプリケーションＡＰ＿２２）へ送る。このとき、デバイスＤＶ＿２のＩＰアドレス１９２．１６８．１．１０２から通信インターフェイスＩＦ＿１のＩＰアドレス１９２．１６８．１．１及びポート番号４００００へパケットが送信され、プロセスｉｄ１００２のアプリケーションＡＰ＿２０が処理した後、通信インターフェイスＩＦ＿２のＩＰアドレスＺ１．Ｘ２．Ｘ３．Ｘ４からサーバーＳＲ＿２のＩＰアドレスＺ１．Ｚ２．Ｚ３．Ｚ４及びポート番号８０または４４３へパケットが送信される。
【００４５】
本実施の形態では、この一連の通信の処理をスイッチを用いて軽量（簡易）に実現する。具体的には、デバイスとゲートウェイ搭載のアプリケーション間の通信、ゲートウェイ搭載のアプリケーションとサーバー（クラウド）間の通信を、ホワイトリストテーブルＷＬを活用して制御する。図７のホワイトリストテーブルＷＬは、図６の経路を実現するための例である。
【００４６】
図７に示すように、ホワイトリストテーブルＷＬは、ＬＡＮ側の送信元アドレス（src Ip addr）、送信元ポート番号（src port num）、宛先アドレス（dst Ip addr）、宛先ポート番号（dst port num）、ＷＡＮ側の送信元アドレス（src Ip addr）、送信元ポート番号（src port num）、宛先アドレス（dst Ip addr）、宛先ポート番号（dst port num）、アプリケーションのプロセスｉｄが関連付けられる。すなわち、ＬＡＮ（デバイス）とアプリケーション間のパケットを許可するための（関連づけるための）情報として、ＬＡＮ側の送信元情報及び宛先情報とアプリケーション識別情報が関連付けられ、アプリケーションとＷＡＮ（サーバー）間のパケットを許可するための（関連づけるための）情報として、ＷＡＮ側の送信元情報及び宛先情報とアプリケーション識別情報が関連付けられている。
【００４７】
この例では、図６の経路に合わせて、ＬＡＮ側で許可される送信元アドレス１９２．１６８．１．１０１、送信元ポート番号ａｎｙ、宛先アドレス１９２．１６８．１．１及び宛先ポート番号３００００、ＷＡＮ側で許可される送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、送信元ポート番号ａｎｙ、宛先アドレスＹ１．Ｙ２．Ｙ３．Ｙ４及び宛先ポート番号８０または４４３、アプリケーションのプロセスｉｄ１００１が関連付けられている。
【００４８】
また、ＬＡＮ側で許可される送信元アドレス１９．１６８．１．１０２、送信元ポート番号ａｎｙ、宛先アドレス１９２．１６８．１．１及び宛先ポート番号４００００、ＷＡＮ側で許可される送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、送信元ポート番号ａｎｙ、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０または４４３、アプリケーションのプロセスｉｄ１００２が関連付けられている。
【００４９】
ここで、ポート番号のａｎｙは、全てのポート番号が許可されることを示している。アプリケーションの識別情報の一例としてプロセスｉｄを示しているが、その他、フルパス付の実行ファイル名（例えば/user/local/bin/xxx）を指定してもよい。アプリーションは、通信パケットの観点のみだけではなく、起動したユーザーｉｄなど、ＯＳから判別可能な情報も加味して制御してもよい。
【００５０】
この例では、送信元情報及び宛先情報として、ＴＣＰ／ＩＰのＩＰアドレス及びポート番号を指定しているが、その他、ＭＡＣアドレスや物理ポート番号（通信インターフェイス番号）、ＶＬＡＮ＿ＩＤなどを指定してもよい。ホワイトリストとして許可するパケットの情報を明示的に指定しているが、許可しないブラックリストのみの指定や、もしくはホワイトリストとブラックリストの組み合わせを指定してもよい。また、この例では、ＩＰアドレス、ポート番号を個別に指定した形としているが、それぞれ範囲指定の形でも良い（例 IP addr :192.168.1.1〜192.168.1.10、port num :30000〜30200）し、IP addrやport numに限らず、その他のヘッダーフィールドの情報を使用しても良く、本実施の形態の例に制限されるわけではない。
【００５１】
＜デバイスとゲートウェイ搭載のアプリケーション間の通信制御＞
図８は、デバイスとゲートウェイ搭載のアプリケーション間の通信制御フローである。なお、ここでは、主にスイッチ部１１が実行する制御として説明するが、スイッチ部１１及びスイッチ制御部１３により実行されてもよい（後述の図９も同様）。
【００５２】
図８に示すように、ゲートウェイ１０に搭載したスイッチ部１１が、デバイスＤＶからパケットの受信を検出すると（Ｓ１０１）、スイッチ部１１は、受信パケットのヘッダーフィールドを確認する（Ｓ１０２）。具体的には、ホワイトリストテーブルＷＬとの一致を判定するため、パケットのヘッダーフィールドから、送信元アドレス（src address）、送信元ポート番号（src port num）、宛先アドレス（dst addres）、宛先ポート番号（dst port num）を取得する。
【００５３】
続いて、スイッチ部１１は、ホワイトリストテーブルＷＬのＬＡＮ部分に、受信パケットのヘッダー情報と合致する情報があるかどうか確認する（Ｓ１０３）。具体的には、受信パケットの送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号と、ホワイトリストテーブルＷＬのＬＡＮ側の送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号との一致／不一致を判定する。
【００５４】
図７の例では、受信パケットのヘッダー情報が、送信元アドレス１９２．１６８．１．１０１、宛先アドレス１９２．１６８．１．１及び宛先ポート番号３００００、または、送信元アドレス１９２．１６８．１．１０２、宛先アドレス１９２．１６８．１．１及び宛先ポート番号４００００である場合、ホワイトリストテーブルＷＬに合致すると判断し、その他の場合は合致しないと判断する。
【００５５】
Ｓ１０３において、ホワイトリストテーブルＷＬのＬＡＮ部分に合致する情報があると判定された場合、スイッチ部１１は、ホワイトリストテーブルＷＬに指定されたプロセスｉｄのプロセスが存在し、かつ、受信パケットの宛先ポート番号を待ち受けているプロセスが存在するかどうか確認する（Ｓ１０４）。すなわち、フロー情報（セッション情報）とＯＳ内のソケット情報を比較及び確認して、宛先ポート（dst port）で待ち受け（LISTEN Port）しているプロセスのプロセスｉｄが、ホワイトリストテーブルＷＬ（ＬＡＮ）に指定されたプロセスｉｄと一致するかどうか判定する。
【００５６】
図７の例では、送信元アドレス１９２．１６８．１．１０１、宛先アドレス１９２．１６８．１．１及び宛先ポート番号３００００である場合、対応するプロセスｉｄ１００１のプロセスが実行中であり、かつ、そのプロセスがポート番号３００００のポートをオープンしていれば、該当するプロセスが存在すると判断し、また、送信元アドレス１９２．１６８．１．１０２、宛先アドレス１９２．１６８．１．１及び宛先ポート番号４００００である場合、対応するプロセスｉｄ１００２のプロセスが実行中であり、かつ、そのプロセスがポート番号４００００のポートをオープンしていれば、該当するプロセスが存在すると判断し、その他の場合は該当するプロセスが存在しないと判断する。
【００５７】
例えば、Ｌｉｎｕｘ（登録商標）のｐｓコマンドで、プロセスｉｄと実行ファイル名（及びユーザ名）の一覧を取得し、ｌｓｏｆコマンドでポート番号を指定することで、そのポートをオープンしているプロセスｉｄを取得してもよい。
【００５８】
Ｓ１０４において、該当するプロセスが存在すると判定された場合、スイッチ部１１は、受信パケットを転送する（Ｓ１０５）。すなわち、パケットを指定の宛先（des address, dst port num）に転送することで、結果的に、ゲートウェイ内のアプリケーションにパケットを転送する。図７の例では、宛先ポート番号３００００の場合、プロセスｉｄ１００１のプロセスへ転送し、宛先ポート番号４００００の場合、プロセスｉｄ１００２のプロセスへ転送する。
【００５９】
Ｓ１０３において、ホワイトリストテーブルＷＬのＬＡＮ部分に合致する情報がないと判定された場合、もしくは、Ｓ１０４において、該当するプロセスが存在しないと判定された場合、スイッチ部１１は、受信パケットを破棄する（Ｓ１０６）。
【００６０】
＜ゲートウェイ搭載のアプリケーションとサーバー（クラウド）間の通信制御＞
図９は、ゲートウェイ搭載のアプリケーションとサーバー（クラウド）間の通信制御フローである。
【００６１】
図９に示すように、ゲートウェイ１０に搭載したスイッチ部１１が、ゲートウェイ内のアプリケーションＡＰからパケットの送信を検出すると（Ｓ１１１）、スイッチ部１１は、送信パケットのヘッダーフィールドを確認する（Ｓ１１２）。具体的には、ホワイトリストテーブルＷＬとの一致を判定するため、パケットのヘッダーフィールドから、送信元アドレス（src address）、送信元ポート番号（src port num）、宛先アドレス（dst addres）、宛先ポート番号（dst port num）を取得する。
【００６２】
続いて、スイッチ部１１は、ホワイトリストテーブルＷＬのＷＡＮ部分に、送信パケットのヘッダー情報と合致する情報があるかどうか確認する（Ｓ１１３）。具体的には、送信パケットの送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号と、ホワイトリストテーブルＷＬのＷＡＮ側の送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号との一致／不一致を判定する。
【００６３】
図７の例では、送信パケットのヘッダー情報が、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＹ１．Ｙ２．Ｙ３．Ｙ４及び宛先ポート番号８０もしくは４４３、または、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０もしくは４４３である場合、ホワイトリストテーブルＷＬに合致すると判断し、その他の場合は合致しないと判断する。
【００６４】
Ｓ１１３において、ホワイトリストテーブルＷＬのＷＡＮ部分に合致する情報があると判定された場合、スイッチ部１１は、送信パケットが、ホワイトリストテーブルＷＬに指定されたプロセスｉｄのプロセスが送信したパケットであるかどうか確認する（Ｓ１１４）。すなわち、フロー情報（セッション情報）とＯＳ内のソケット情報を比較及び確認して、ホワイトリストテーブルＷＬ（ＷＡＮ）で指定されたプロセスｉｄが、送信パケットを送信したプロセスのプロセスｉｄと一致するかどうか判定する。
【００６５】
図７の例では、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＹ１．Ｙ２．Ｙ３．Ｙ４及び宛先ポート番号８０もしくは４４３の場合、送信パケットのプロセスｉｄが１００１であれば、該当するプロセスが送信したパケットであると判断し、また、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０もしくは４４３である場合、送信パケットのプロセスｉｄが１００２であれば、該当するプロセスが送信したパケットであると判断し、その他の場合は該当するプロセスが送信したパケットではないと判断する。
【００６６】
例えば、スイッチ部１１は、ルールが設定されていないパケットを受信すると、スイッチ制御部１３に対し、そのパケットのルールを問い合わせる。スイッチ制御部１３は、スイッチ部１１からフロー情報（ＩＰパケットのヘッダー情報＝送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号）を取得すると、フロー情報がどのｉｎｏｄｅ番号（Ｌｉｎｕｘのファイル識別情報）に合致するか確認する。このとき、Ｌｉｎｕｘのｎｅｔｓｔａｔコマンドにより待ち受けているポートを確認し、ｇｒｅｐコマンドにより“／ｐｒｏｃ／ｎｅｔ／ｔｃｐ（ｕｄｐ）”からポート番号を検索して、ポート番号からｉｎｏｄｅ番号を確認する。さらに、ｌｓコマンドによりｉｎｏｄｅ番号からソケット通信を行っているプロセスのプロセスＩＤを確認し、ｐｓコマンドによりプロセスｉｄからアプリケーションを確認する。
【００６７】
Ｓ１１４において、該当するプロセスが送信したパケットであると判定された場合、スイッチ部１１は、送信パケットを転送する（Ｓ１１５）。すなわち、パケットを指定の宛先（des address, dst port num）に転送することで、結果的に、許可したサーバーにパケットを転送する。図７の例では、宛先アドレスＹ１．Ｙ２．Ｙ３．Ｙ４の場合、通信インターフェイスＩＦ＿２からサーバーＳＲ＿１へ転送し、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４の場合、通信インターフェイスＩＦ＿２からサーバーＳＲ＿２へ転送する。
【００６８】
Ｓ１１３において、ホワイトリストテーブルＷＬのＷＡＮ部分に合致する情報がないと判定された場合、もしくは、Ｓ１１４において、該当プロセスが送信したパケットではないと判定された場合、スイッチ部１１は、送信パケットを破棄する（Ｓ１１６）。
【００６９】
なお、図８及び図９では、デバイスからゲートウェイ（アプリケーション）方向、ゲートウェイ（アプリケーション）からサーバー方向の通信制御について説明したが、逆の方向、すなわち、サーバーからゲートウェイ（アプリケーション）方向、ゲートウェイ（アプリケーション）からデバイス方向でも同様の制御となる。
【００７０】
＜本実施の形態の効果＞
以上のように、本実施の形態によれば、物理的に一つのゲートウェイで、複数のシステム（デバイス−アプリケーション−サーバー）を使用する場合でも、それぞれのシステムの通信を論理的に分離（閉域化）する事ができ、セキュリティ性を向上する事ができる
【００７１】
上記の制御によって、ユーザー側が許可した、デバイス、ゲートウェイ搭載アプリケーション、サーバーの組み合わせのみしか通信が確立できないため、例えば、想定していないマルウェアからの情報漏洩や、未許可デバイスからの通信がサーバーまで届いてしまうといった、通信に関するセキュリティ性の懸念を無くす事ができる。例えば、図１０に示すように、悪意あるデバイスや悪意あるサーバーとゲートウェイのアプリケーションとが通信することを防ぐことができ、また、ゲートウェイ上の悪意あるアプリケーションがデバイスやサーバーと通信することを防ぐことができる。
【００７２】
（実施の形態２）
以下、図面を参照して実施の形態２について説明する。
【００７３】
実施の形態１のゲートウェイについて、さらに検討すると、デバイスからのパケットをゲートウェイに搭載したアプリケーションを介在してクラウドのサーバーに送信するケースと、デバイスがゲートウェイ上のアプリケーションを介在せずに直接サーバーに送信（ゲートウェイが転送）するケースが考えられる。
【００７４】
後者のケースはゲートウェイがデバイスから受信したパケットのＩＰアドレス及びポート番号を書き換えた形でサーバーに転送する。この処理をＮＡＰＴ（Network Address and Port Translation）と呼び、これは一般的なブロードバンドルーターが実施している処理と同等である。
【００７５】
図１１は、参考例のゲートウェイ９２０においてＮＡＰＴ通信を行う例を示している。図１１に示すように、参考例のゲートウェイ９２０は、ＮＡＰＴにより変換処理を行うＮＡＰＴ処理部ＮＰを備えている。通信インターフェイス９２１にはＩＰアドレス１９２．１６８．１．１が割り当てられ、通信インターフェイス９２１にはＩＰアドレスＸ１．Ｘ２．Ｘ３．Ｘ４が割り当てられている。
【００７６】
デバイスＤＶ＿１（ＩＰアドレス１９２．１６８．１．１０１）がサーバーＳＲ＿１（ＩＰアドレスＹ１．Ｙ２．Ｙ３．Ｙ４）へパケットを送信する場合、まず、デバイスＤＶ＿１は、ヘッダーに送信元アドレス１９２．１６８．１．１０１及び送信元ポート番号２５０００、宛先アドレスＹ１．Ｙ２．Ｙ３．Ｙ４及び宛先ポート番号４４３に設定したパケットをゲートウェイ９２０へ送信する。
【００７７】
ゲートウェイ９２０のＮＡＰＴ処理部ＮＰは、デバイスＤＶ＿１からパケットを受信すると、サーバーＳＲ＿１へパケットを転送するため、ヘッダーのＩＰアドレス及びポート番号を変換する。すなわち、ヘッダーの送信元アドレス及び送信元ポート番号をＸ１．Ｘ２．Ｘ３．Ｘ４及び２５００１に更新したパケットを、サーバーＳＲ＿１へ転送する。
【００７８】
ＮＡＰＴ処理によって、ＩＰアドレスとともにポート番号を変換するため、一つのＩＰアドレスを複数の機器やデバイスで共有する事ができる。なお、ＮＡＰＴ処理は、Ｌｉｎｕｘのカーネルに標準的に実装されている機能である。
【００７９】
本実施の形態では、ゲートウェイのアプリケーションを介在する通信と、ＮＡＰＴの通信が同じゲートウェイ内で混在しても、それぞれを論理分割することを特徴とする。なお、以下の例では、ゲートウェイにＮＡＰＴを適用する例について説明するが、ＮＡＴ（Network Address Translation）やその他類似のアドレス変換を適用してもよい。
【００８０】
図１２は、本実施の形態の通信システムにおいて、通信経路を論理的に分離するイメージを示している。図１２に示すように、本実施の形態に係るゲートウェイ１１０のアプリケーションＡＰ＿１０（ＡＰ＿Ｎ０等も同様）は、デバイスＤＶ＿１のアプリケーションＡＰ＿１１とセッションＳＥ＿１１を介して接続し、また、サーバーＳＲ＿１のアプリケーションＡＰ＿１２とセッションＳＥ＿１２を介して接続する。ゲートウェイ１１０のＮＡＰＴ処理部ＮＰは、デバイスＤＶ＿２とサーバーＳＲ＿２との間で接続されるセッションＳＥ＿２を、ＮＡＰＴ処理によって中継する。これにより、ＮＡＰＴ通信が混在した構成において、通信経路を論理的に分離する。
【００８１】
この様な２種類の通信を一つのゲートウェイで取扱うため、デバイスとゲートウェイ搭載のアプリケーション間の通信、ゲートウェイ搭載のアプリケーションとサーバー（クラウド）間の通信を関連付けた、実施の形態１と同様のホワイトリストテーブルを活用して制御する。
【００８２】
＜システムの具体例＞
図１３は、本実施の形態に係るゲートウェイを含むシステムの具体例を示しており、図１４は、このシステムで使用されるホワイトリストテーブルの具体例を示している。なお、図１３では、２つのスイッチ部１１をＬＡＮ側とＷＡＮ側にそれぞれ図示し、その間にＮＡＰＴ処理部ＮＰを配置しているが、１つのスイッチ部で実現してもよい
【００８３】
図１３に示すように、ゲートウェイ１０は、実施の形態１の図６と同様にアプリケーションＡＰ＿１０を備えるとともに、ＮＡＰＴ処理部ＮＰ（またはＮＡＴ処理部などの中継処理部）を備えている。アプリケーションＡＰ＿１０は、デバイスＤＶ＿１及びサーバーＳＲ＿１のそれぞれとセッションを接続する。
【００８４】
ＮＡＰＴ処理部ＮＰは、デバイスＤＶ＿２とサーバーＳＲ＿２の間のセッションを中継する。例えば、デバイスＤＶ＿２のＩＰアドレス１９２．１６８．１．１０２からサーバーＳＲ＿２のＩＰアドレスＺ１．Ｚ２．Ｚ３．Ｚ４及びポート番号８０または４４３へパケットが送信されると、ＮＡＰＴ処理部ＮＰがＮＡＰＴ処理（送信元アドレス及び送信元ポート番号を変換）し、通信インターフェイスＩＦ＿２のＩＰアドレスＺ１．Ｘ２．Ｘ３．Ｘ４からサーバーＳＲ＿２へパケットが転送される。
【００８５】
図１４に示すように、ホワイトリストテーブルＷＬは、実施の形態１と同様に、ＬＡＮ側の送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号、ＷＡＮ側の送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号、アプリケーションのプロセスｉｄが関連付けられる。ホワイトリストテーブルＷＬは、ＬＡＮ（デバイス）とアプリケーション間のパケットを許可するための情報（ＬＡＮ側の送信元情報及び宛先情報とアプリケーション識別情報）、アプリケーションとＷＡＮ（サーバー）間のパケットを許可するための情報（ＷＡＮ側の送信元情報及び宛先情報とアプリケーション識別情報）が格納され、さらに、アプリケーションを介さずにＮＡＰＴ通信によるＬＡＮ（デバイス）とＷＡＮ（サーバー）間のパケットを許可するための情報として、ＬＡＮ側の送信元情報及び宛先情報とＷＡＮ側の送信元情報及び宛先情報とが関連付けられている。
【００８６】
この例では、図１３の経路に合わせて、ＮＡＰＴ通信のためにＬＡＮ側で許可される送信元アドレス１９．１６８．１．１０２、送信元ポート番号ａｎｙ、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４宛先ポート番号８０または４４３、ＮＡＰＴ通信のためにＷＡＮ側で許可される送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、送信元ポート番号ａｎｙ、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０または４４３が関連付けられる。この場合アプリケーションを使用しないため、アプリケーションのプロセスｉｄは定義されない（Ｎｏｔｈｉｎｇ）。
【００８７】
＜デバイスとゲートウェイ搭載のアプリケーション間の通信制御＞
図１５は、デバイスとゲートウェイ搭載のアプリケーション間の通信の制御フローである。
【００８８】
図１５に示すように、実施の形態１と同様に、ゲートウェイ１０のスイッチ部１１は、デバイスＤＶからパケットの受信を検出すると（Ｓ１０１）、受信パケットのヘッダーフィールドを確認し（Ｓ１０２）、ホワイトリストテーブルＷＬのＬＡＮ部分に、受信パケットのヘッダー情報と合致する情報があるかどうか確認する（Ｓ１０３）。
【００８９】
図１４の例では、受信パケットのヘッダー情報が、送信元アドレス１９２．１６８．１．１０１、宛先アドレス１９２．１６８．１．１及び宛先ポート番号３００００、または、送信元アドレス１９２．１６８．１．１０２、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０または４４３ある場合、ホワイトリストテーブルＷＬに合致すると判断し、その他の場合は合致しないと判断する。
【００９０】
Ｓ１０３において、ホワイトリストテーブルＷＬのＬＡＮ部分に合致する情報があると判定された場合、スイッチ部１１は、ホワイトリストテーブルＷＬのＬＡＮ部分の宛先ＩＰアドレスがゲートウェイ１０の通信インターフェイスＩＦ＿１のアドレスかどうか確認する（Ｓ１０７）。すなわち、デバイスがゲートウェイ宛に送信したパケットか、もしくは、他の装置（サーバー等）宛に送信したパケットであるか確認する。図１４の例では、宛先アドレス１９２．１６８．１．１である場合、ゲートウェイ宛てのパケットであると判定され、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４である場合、ゲートウェイ宛てのパケットではないと判定される。
【００９１】
Ｓ１０７において、ゲートウェイ宛のパケットではないと判定された場合、パケットを転送する（Ｓ１０５）。すなわち、ＮＡＰＴ処理部ＮＰによって、ＩＰアドレス及びポート番号が変換されて、サーバーＳＲへ転送する。図１４の例では、送信元アドレス１９２．１６８．１．１０２、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０または４４３について、送信元アドレスをＸ１．Ｘ２．Ｘ３．Ｘ４に変換し、パケットを転送する。
【００９２】
Ｓ１０７において、ゲートウェイ宛のパケットであると判定された場合、実施の形態１と同様に、スイッチ部１１は、ホワイトリストテーブルＷＬに指定されたプロセスｉｄのプロセスが存在し、かつ、受信パケットの宛先ポート番号を待ち受けているプロセスが存在するかどうか確認し（Ｓ１０４）、パケットの転送（Ｓ１０５）やパケットの破棄（Ｓ１０６）を行う。
【００９３】
＜ゲートウェイ搭載のアプリケーションとサーバー（クラウド）間の通信制御＞
図１６は、ゲートウェイ搭載のアプリケーションとサーバー（クラウド）間の通信制御フローである。
【００９４】
図１６に示すように、実施の形態１と同様に、ゲートウェイ１０のスイッチ部１１は、ゲートウェイ内のアプリケーションＡＰまたはＮＡＰＴ処理部ＮＰからパケットの送信を検出すると（Ｓ１１１）、送信パケットのヘッダーフィールドを確認し（Ｓ１１２）、ホワイトリストテーブルＷＬのＷＡＮ部分に、送信パケットのヘッダー情報と合致する情報があるかどうか確認する（Ｓ１１３）。
【００９５】
図１４の例では、送信パケットのヘッダー情報が、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＹ１．Ｙ２．Ｙ３．Ｙ４及び宛先ポート番号８０もしくは４４３、または、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０もしくは４４３である場合、ホワイトリストテーブルＷＬに合致すると判断し、その他の場合は合致しないと判断する。
【００９６】
Ｓ１１３において、ホワイトリストテーブルＷＬのＷＡＮ部分に合致する情報があると判定された場合、スイッチ部１１は、ホワイトリストテーブルＷＬにプロセスＩＤが指定されているか確認する（Ｓ１１７）。すなわち、アプリケーションＡＰが送信したパケットであるか、もしくは、ＮＡＰＴ処理部ＮＰが送信したパケットであるか確認する。図１４の例では、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＹ１．Ｙ２．Ｙ３．Ｙ４及び宛先ポート番号８０もしくは４４３である場合、プロセスＩＤ（１００１）が設定されているため、アプリケーションＡＰが送信したパケットであると判定され、送信元アドレスＸ１．Ｘ２．Ｘ３．Ｘ４、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０もしくは４４３である場合、プロセスＩＤが設定されていないため、ＮＡＰＴ処理部ＮＰが送信したパケットであると判定される。
【００９７】
Ｓ１１７において、プロセスＩＤが指定されていない場合、パケットを転送する（Ｓ１１５）。すなわち、ＮＡＰＴ通信となるのでその時点でパケットを指定の宛先（des address, dst port num）に転送する。図１４の場合、宛先アドレスＺ１．Ｚ２．Ｚ３．Ｚ４及び宛先ポート番号８０もしくは４４３へ転送される。
【００９８】
Ｓ１１７において、プロセスＩＤが指定されている場合、実施の形態１と同様に、スイッチ部１１は、送信パケットが、ホワイトリストテーブルＷＬに指定されたプロセスｉｄのプロセスが送信したパケットであるかどうか確認し（Ｓ１１４）、パケットの転送（Ｓ１１５）やパケットの破棄（Ｓ１１６）を行う。
【００９９】
以上のように、本実施の形態によれば、実施の形態１のようなアプリケーションを介した通信とＮＡＰＴ通信とが混在した構成でも経路を論理分離できる。これにより、さらにセキュリティ性を向上することが可能となる。
【０１００】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１０１】
上記実施の形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、１つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。実施の形態における各機能（各処理）を、ＣＰＵやメモリ等を有するコンピュータにより実現してもよい。例えば、記憶装置（記憶媒体）に実施の形態における中継（通信）方法を行うための中継（通信）プログラムを格納し、各機能を、記憶装置に格納された通信プログラムをＣＰＵで実行することにより実現してもよい。
【０１０２】
このようなプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１０３】
１０      ゲートウェイ
１１      スイッチ部
１２      ＴＣＰ／ＩＰスタック部
１３      スイッチ制御部
１４      メモリ
１５      ポリシ入出力部
１００    通信システム
１１０    ゲートウェイ
１１１、１１２  通信インターフェイス
１１３    アプリケーション実行部
１１４    スイッチ部
２０１、２０２  通信装置
ＡＰ      アプリケーション
ＤＶ      デバイス
ＩＦ      通信インターフェイス
ＮＰ      ＮＡＰＴ処理部
ＰＴ      通信パス
ＳＥ      セッション
ＳＲ      サーバー
ＷＬ      ホワイトリストテーブル
【図１】
0006662136.tif 000002
【図２】
0006662136.tif 000003
【図３】
0006662136.tif 000004
【図４】
0006662136.tif 000005
【図５】
0006662136.tif 000006
【図６】
0006662136.tif 000007
【図７】
0006662136.tif 000008
【図８】
0006662136.tif 000009
【図９】
0006662136.tif 000010
【図１０】
0006662136.tif 000011
【図１１】
0006662136.tif 000012
【図１２】
0006662136.tif 000013
【図１３】
0006662136.tif 000014
【図１４】
0006662136.tif 000015
【図１５】
0006662136.tif 000016
【図１６】
0006662136.tif 000017