(57)【要約】【課題】データセンタ等におけるクライアントから、トンネルを介してサーバにアクセスし、当該サーバからデータを取得することをセキュアに実現する。【解決手段】クライアントとサーバ間の接続制御を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置において、前記トンネル終端装置に対してトンネル確立要求を送信することにより、前記トンネル接続装置と前記トンネル終端装置との間にトンネルを確立するトンネル接続部と、前記トンネル終端装置と前記クライアントとの間にコネクションが確立された後に、当該トンネル終端装置からコネクション確立通知を受信したことに応じて、前記サーバとの間にコネクションを確立するクライアント機能部とを備える。【選択図】図４
2015231225.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバ間の接続制御を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置であって、
前記トンネル終端装置に対してトンネル確立要求を送信することにより、前記トンネル接続装置と前記トンネル終端装置との間にトンネルを確立するトンネル接続部と、
前記トンネル終端装置と前記クライアントとの間にコネクションが確立された後に、当該トンネル終端装置からコネクション確立通知を受信したことに応じて、前記サーバとの間にコネクションを確立するクライアント機能部と
を備えることを特徴とするトンネル接続装置。
【請求項２】
前記クライアント機能部は、リバースプロキシであることを特徴とする請求項１に記載のトンネル接続装置。
【請求項３】
前記コネクション確立通知には前記サーバの識別情報が含まれ、前記クライアント機能部は、当該識別情報で識別される前記サーバに対してコネクション確立要求を送信する
ことを特徴とする請求項１又は２に記載のトンネル接続装置。
【請求項４】
コンピュータを、請求項１ないし３のうちいずれか１項に記載のトンネル接続装置における各部として機能させるためのプログラム。
【請求項５】
クライアントとサーバ間の接続制御を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル終端装置であって、
前記トンネル接続装置からトンネル確立要求を受信することにより、前記トンネル接続装置と前記トンネル終端装置との間にトンネルを確立するトンネル終端部と、
前記クライアントからコネクション確立要求を受信し、当該クライアントとの間にコネクションを確立するサーバ機能部とを備え、
前記サーバ機能部は、前記コネクションが確立されたことを示すコネクション確立通知を前記トンネル接続装置に送信することにより、当該トンネル接続装置に前記サーバとの間のコネクションを確立させる
ことを特徴とするトンネル終端装置。
【請求項６】
前記サーバ機能部は、プロキシサーバであることを特徴とする請求項５に記載のトンネル終端装置。
【請求項７】
前記コネクション確立通知には前記サーバの識別情報が含まれ、前記トンネル接続装置は、当該識別情報で識別される前記サーバに対してコネクション確立要求を送信する
ことを特徴とする請求項５又は６に記載のトンネル終端装置。
【請求項８】
前記トンネル終端部により、前記トンネル接続装置と前記トンネル終端装置との間に複数のトンネルが確立される場合において、前記サーバ機能部は、トンネル毎に、前記クライアントとのコネクション確立のためのポートを開設する
ことを特徴とする請求項５ないし７のうちいずれか１項に記載のトンネル終端装置。
【請求項９】
コンピュータを、請求項５ないし８のうちいずれか１項に記載のトンネル終端装置における各部として機能させるためのプログラム。
【請求項１０】
トンネル接続装置とトンネル終端装置とを備える通信システムが実行するクライアントとサーバとの間の接続制御方法であって、
前記トンネル接続装置が前記トンネル終端装置に対してトンネル確立要求を送信することにより、当該トンネル接続装置と当該トンネル終端装置との間にトンネルを確立するステップと、
前記トンネル終端装置におけるサーバ機能部が、前記クライアントからのコネクション確立要求に基づいて、当該クライアントとの間にコネクションを確立するステップと、
前記サーバ機能部が前記トンネル接続装置に対して前記コネクションが確立したことを示すコネクション確立通知を送信するステップと、
前記コネクション確立通知を受信した前記トンネル接続装置におけるクライアント機能部が、前記サーバとの間にコネクションを確立するステップと
を備えることを特徴とする接続制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントとサーバとの間をトンネルを経由して接続する技術に関連するものである。
【背景技術】
【０００２】
近年、監視カメラやセンサ等の端末をネットワーク接続し、データセンタからそれらの端末にアクセスしてデータを収集するインターネットの利用形態が広まってきている。このような利用形態はＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）と呼ばれる。
【０００３】
従来のインターネットの利用方法では、図１（ａ）に示すように、クライアント１（端末）側の利用者は、クライアントソフトウェアであるＷｅｂブラウザを使用して、通信を起動し（ステップ１）、データセンタにあるサーバ２に対してＨＴＴＰリクエストを送信することによりデータ（コンテンツ）を要求し（ステップ２）、データを受信する（ステップ３）。このように、データを要求する方向は端末からデータセンタ方向である。
【０００４】
一方、図１（ｂ）に示すように、ＩｏＴにおける監視カメラ３や温度センサ４等の端末は、端末と呼ばれるもののその実体はＷｅｂサーバであり、データセンタ５側から端末３、４に対してＨＴＴＰリクエストを送信して（ステップ５）、画像データや温度等のデータを収集している（ステップ６）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−００５１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩｏＴにおける端末は、一般家庭やオフィス等に広域に分散配置され、ＮＡＴの内側の守られたプライベートネットワークに接続されることが一般的である。例えば図２に示すように、ＩｏＴにおける端末４をＷｅｂサーバとしてインターネットに公開することは、家庭やオフィスのインターネットの接続点であるブロードバンドルータ等のＣＰＥ６においてポート転送を設定することにより実現できる。しかしながら、この技術は、不特定多数からのアクセスに応答するＷｅｂサーバやメールサーバをインターネットに公開するための技術であり、また、固定ＩＰアドレスやＤｙｎａｍｉｃＤＮＳによってアドレスを公開する必要があることから、ＩｏＴ用途には適していない。
【０００７】
すなわち、ＩｏＴ用途では、セキュリティを保つためにデータセンタ等の特定のサイトからのみのアクセスを許容することが必要であり、また、多数の端末が設置されることから、固定ＩＰアドレスやＤｙｎａｍｉｃＤＮＳに登録するためのドメイン名を取得する手間、ＣＰＥへの設定投入負担等は小さいことが必要であるところ、図２に示すような公開手法はこれらの必要性を満たしていない。
【０００８】
その他の手法として、自由度を制限したポート転送型ＳＳＬ−ＶＰＮを使用することが考えられる。しかし、図３に示すように、ポート転送型ＳＳＬ−ＶＰＮでは、ＴＣＰコネクションの確立方向が端末（クライアント）１からデータセンタ２への方向なので、ＩｏＴ環境のように端末１にＷｅｂサーバがインストールされており、データセンタ２側からコネクションを確立する方式においては、ポート転送型ＳＳＬ−ＶＰＮコネクションを利用することはできない。
【０００９】
本発明は上記の点に鑑みてなされたものであり、データセンタ等におけるクライアントから、トンネルを介してサーバにアクセスし、当該サーバからデータを取得することをセキュアに実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の実施の形態によれば、クライアントとサーバ間の接続制御を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置であって、
前記トンネル終端装置に対してトンネル確立要求を送信することにより、前記トンネル接続装置と前記トンネル終端装置との間にトンネルを確立するトンネル接続部と、
前記トンネル終端装置と前記クライアントとの間にコネクションが確立された後に、当該トンネル終端装置からコネクション確立通知を受信したことに応じて、前記サーバとの間にコネクションを確立するクライアント機能部とを備えるトンネル接続装置が提供される。
【００１１】
また、本発明の実施の形態によれば、クライアントとサーバ間の接続制御を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル終端装置であって、
前記トンネル接続装置からトンネル確立要求を受信することにより、前記トンネル接続装置と前記トンネル終端装置との間にトンネルを確立するトンネル終端部と、
前記クライアントからコネクション確立要求を受信し、当該クライアントとの間にコネクションを確立するサーバ機能部とを備え、
前記サーバ機能部は、前記コネクションが確立されたことを示すコネクション確立通知を前記トンネル接続装置に送信することにより、当該トンネル接続装置に前記サーバとの間のコネクションを確立させるトンネル終端装置が提供される。
【００１２】
また、本発明の実施の形態によれば、トンネル接続装置とトンネル終端装置とを備える通信システムが実行するクライアントとサーバとの間の接続制御方法であって、
前記トンネル接続装置が前記トンネル終端装置に対してトンネル確立要求を送信することにより、当該トンネル接続装置と当該トンネル終端装置との間にトンネルを確立するステップと、
前記トンネル終端装置におけるサーバ機能部が、前記クライアントからのコネクション確立要求に基づいて、当該クライアントとの間にコネクションを確立するステップと、
前記サーバ機能部が前記トンネル接続装置に対して前記コネクションが確立したことを示すコネクション確立通知を送信するステップと、
前記コネクション確立通知を受信した前記トンネル接続装置におけるクライアント機能部が、前記サーバとの間にコネクションを確立するステップとを備える接続制御方法が提供される。
【発明の効果】
【００１３】
本発明の実施の形態によれば、データセンタ等におけるクライアントから、トンネルを介してサーバにアクセスし、当該サーバからデータを取得することをセキュアに実現することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】ＩｏＴにおける通信の方向を説明するための図である。
【図２】ＮＡＴのポート転送によるＷｅｂサーバの公開を示す図である。
【図３】ポート転送型ＳＳＬ−ＶＰＮを示す図である。
【図４】本発明の実施の形態に係る通信システムの構成図である。
【図５】本発明の実施の形態に係る通信システムの他の構成図である。
【図６】本実施の形態におけるＶＰＮゲートウェイ２００の機能構成図である。
【図７】本実施の形態におけるＶＰＮクライアント１００の機能構成図である。
【図８】本実施の形態における通信システムの動作例を示すシーケンス図である。
【図９】本実施の形態における他の構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、サーバとクライアント間で利用されるアプリケーションとしてＷｅｂアプリケーションを例として用いているが、本実施の形態で説明する接続制御方式は、Ｗｅｂアプリケーケーションに限らず、他のアプリケーションにも適用可能である。
【００１６】
（システム全体構成）
図４を参照して、本発明の実施の形態における通信システムの全体構成の例を説明する。本実施の形態における通信システムは、一般家庭や小規模オフィス等にＩｏＴ端末を設置し、データセンタからその端末にアクセスしてデータを収集する用途向けのＶＰＮ通信システムである。より詳細には、本実施の形態に係る通信システムは下記に説明するように構成される。
【００１７】
図４に示すように、本実施の形態の通信システムは、Ｗｅｂサーバ１０、ＶＰＮクライアント１００、ＶＰＮゲートウェイ２００、Ｗｅｂクライアント２０を有する。
【００１８】
Ｗｅｂサーバ１０は、一般家庭や小規模オフィス等に設置される監視カメラやセンサ等のＩｏＴ端末であり、Ｗｅｂサーバの機能を有する。ＶＰＮクライアント１００は、ＶＰＮゲートウェイ２００に対してトンネル確立要求を送信することにより、ＶＰＮゲートウェイ２００との間にトンネル（ＶＰＮ）を構築する装置（コンピュータ）である。ＶＰＮゲートウェイ２００は、ＶＰＮクライアント１００からトンネル確立要求を受信することにより、ＶＰＮクライアント１００との間にトンネルを構築する装置（コンピュータ）である。なお、ＶＰＮクライアント１００からＶＰＮゲートウェイ２００に対してトンネル接続の起動を行うことから、ＶＰＮクライアント１００をトンネル接続装置と呼び、ＶＰＮゲートウェイ２００をトンネル終端装置と呼んでもよい。
【００１９】
本実施の形態におけるトンネル（ＶＰＮ）は、ＳＳＬ−ＶＰＮの方式を用いて構築されるが、これは例であり、本発明におけるトンネルの方式はＳＳＬ−ＶＰＮに限定されるわけではない。
【００２０】
Ｗｅｂクライアント２０は、ＩｏＴ端末であるＷｅｂサーバ１０に対してＨＴＴＰリクエストを送信してデータを要求し、Ｗｅｂサーバ１０からデータを取得する装置であり、例えばデータセンタにおけるデータ収集装置（コンピュータ）に相当する。
【００２１】
図４に示す本実施の形態において、ＶＰＮクライアント１００とＷｅｂサーバ１０は、別々の装置であるが、これらが１つの装置であってもよい。１つの装置であっても、装置内の機能部（プログラム）間で、本実施の形態で説明する処理内容と同様の処理が実行される。
【００２２】
本実施の形態に係る通信システムにおいて、ＶＰＮゲートウェイ２００側にサーバポートがオープンし、ＶＰＮゲートウェイ２００はＴＣＰプロキシもしくはプロキシサーバとして機能する。つまり、ＶＰＮゲートウェイ２００は、Ｗｅｂクライアント２０から受信するＴＣＰコネクションを一旦終端し、Ｗｅｂクライアント２０の代理としてＶＰＮクライアント１００側にＨＴＴＰリクエストを送信もしくは転送する機能を有する。
【００２３】
また、ＶＰＮクライアント１００側はＷｅｂサーバ１０から見ればリバースプロキシとして機能する。つまり、ＶＰＮゲートウェイ２００（プロキシサーバ）からＨＴＴＰリクエストを受信し、Ｗｅｂサーバ１０のＨＴＴＰクライアントとして当該ＨＴＴＰリクエストをＷｅｂサーバ１０に転送する。
【００２４】
図４に示すように、ＶＰＮクライアント１００とＶＰＮゲートウェイ２００との間にトンネルが確立され、Ｗｅｂクライアント２０とＶＰＮゲートウェイ２００（プロキシサーバ）との間にＴＣＰコネクションが確立され、Ｗｅｂサーバ１０とＶＰＮクライアント１００（リバースプロキシ）との間にＴＣＰコネクションが確立されることで、Ｗｅｂクライアント２０とＷｅｂサーバ１０間でのアプリケーションの通信路が確立される。これにより、Ｗｅｂクライアント２０から、トンネルを介してＷｅｂサーバ１０にアクセスし、当該Ｗｅｂサーバ１０からデータを取得することをセキュアに実現できる。
【００２５】
図５に、本実施の形態における他の構成例を示す。図５に示す例では、ＶＰＮゲートウェイ２００は、複数のサイトのＶＰＮクライアント１００Ａ〜Ｃとの間にそれぞれトンネルを確立する。ＶＰＮゲートウェイ２００においては、サイト毎（＝トンネル毎、ＶＰＮクライアント毎）にサーバポートがオープンし、Ｗｅｂクライアント２０は、各サイトのＷｅｂサーバ１０Ａ〜Ｃからデータを取得するために、各サーバポートにＴＣＰコネクション確立要求を送信し、サイト毎のコネクションを確立する。
【００２６】
（ＶＰＮゲートウェイ２００の構成例）
図６に、ＶＰＮゲートウェイ２００の機能構成の例を示す。図６に示す構成は、図５に示すように、３つのサイトとの間でトンネル接続を行う場合の例である。
【００２７】
図６に示すように、ＶＰＮゲートウェイ２００は、トンネル接続のための機能部であるトンネル終端機能部２０１を備える。トンネル終端機能部２０１は、あるＶＰＮクライアント１００から送信されたトンネル確立要求を受け付けることにより当該ＶＰＮクライアント１００との間にトンネルを確立する。
【００２８】
トンネル終端機能部２０１は、トンネルを確立させると、ＨＴＴＰプロキシサーバ２０２（コンピュータ上で動作するプログラム）を起動する。ＨＴＴＰプロキシサーバ２０２はサーバポートを１つオープンする。図６の例のように、トンネル終端機能部２０１が複数のトンネルを終端する場合、トンネル終端機能部２０１は、トンネルが確立する度にＨＴＴＰプロキスサーバを起動して、ＨＴＴＰプロキシサーバはサーバポートをオープンする。
【００２９】
上記のように、１つのトンネルに対して１つのサーバポートが対応する。図５に示したように、１つのトンネルは、Ｗｅｂサーバ（ＩｏＴ端末）が設置されている１つのサイトに対応するので、結局、サーバポートは当該サイトに対応する。
【００３０】
サーバポートをオープンするとは、例えば、ソケットを作成し、ソケットにポート番号を記録し、接続待ち状態にすることである。Ｗｅｂクライアント２０側でＴＣＰコネクション確立動作を実行する際、当該ポート番号を指定する。なお、ポート番号については通信システムにおいてサイト毎に予め定めておき、ＶＰＮゲートウェイ２００に予め保持しておいてもよいし、例えば、トンネル確立要求に含める形で、ＶＰＮクライアント１００からＶＰＮゲートウェイ２００に通知することとしてもよい。
【００３１】
上記のようにしてオープンされたサーバポートに対して、Ｗｅｂクライアント２０（データセンタ等のコンピュータ）は、ＴＣＰコネクション確立要求を送信する。例えば、Ｗｅｂクライアント２０が、サイトＡのＷｅｂサーバ１０Ａからデータを取得する場合において、図６のポート１を指定してＴＣＰコネクション確立要求を送信する。この場合、ＨＴＴＰプロキシサーバ２０２Ａは、Ｗｅｂクライアント２０との間にＴＣＰコネクションを確立し、Ｗｅｂクライアント２０からＨＴＴＰリクエストを受信する。ＨＴＴＰプロキシサーバ２０２Ａは、受信したＨＴＴＰリクエストのＨｏｓｔヘッダに含まれる宛先ホスト名を含むＴＣＰコネクション確立通知をＶＰＮクライアント１００Ａに送信する。このＴＣＰコネクション確立通知は、ＴＣＰコネクションが確立したことを通知するための信号であり、この信号の流れは、図６に点線で示されている。
【００３２】
ＶＰＮゲートウェイ２００は、ＣＰＵ、メモリ、ハードディスク等の記憶装置を備えたコンピュータに、各機能部に対応するプログラムを実行させることにより実現することができる。当該プログラムは、コンピュータ読み取り可能な記録媒体から上記コンピュータにインストールしてもよいし、ネットワークを介してダウンロードしてインストールすることとしてもよい。
【００３３】
（ＶＰＮクライアント１００の構成例）
図７に、本実施の形態におけるＶＰＮクライアント１００の機能構成例を示す。ＶＰＮクライアント１００において、トンネル接続機能部１０１に対応するプログラムが起動され、トンネル接続機能部１０１が動作を開始すると、トンネル接続機能部１０１はＶＰＮゲートウェイ２００にトンネル確立要求を送信することにより、ＶＰＮゲートウェイ２００との間にトンネルを確立する。
【００３４】
ＶＰＮゲートウェイ２００において、Ｗｅｂクライアント２０との間でＴＣＰコネクションが確立した後、トンネル接続機能部１０１は、ＶＰＮゲートウェイ２００からＴＣＰコネクション確立通知を受信する。トンネル接続機能部１０１は、この通知を受信すると、ＨＴＴＰリバースプロキシ１０２（実体はコンピュータ上で動作するプログラム）を起動する。
【００３５】
ＨＴＴＰリバースプロキシ１０２は、Ｗｅｂサーバ１０（ＩｏＴ端末）に対するＨＴＴＰクライアントとして動作する機能部であり、プロキシサーバ機能を有しない。
【００３６】
ＨＴＴＰリバースプロキシ１０２は、ＶＰＮゲートウェイ２００から受信したＴＣＰコネクション確立通知に含まれる宛先ホスト名（識別情報）に対応するＷｅｂサーバ１０（ＩｏＴ端末）に対してＴＣＰコネクションの確立要求を送信することにより、Ｗｅｂサーバ１０との間にＴＣＰコネクションを確立する。
【００３７】
結果として、図４に示したように、Ｗｅｂクライアント２０とＷｅｂサーバ１０間にアプリケーションレイヤの通信路が確立され、Ｗｅｂクライアント２０とＷｅｂサーバ１０間で、ＨＴＴＰリクエスト／レスポンスの送受信がなされる。
【００３８】
ＶＰＮクライアント１００は、ＣＰＵ、メモリ、ハードディスク等の記憶装置を備えたコンピュータに、各機能部に対応するプログラムを実行させることにより実現することができる。当該プログラムは、コンピュータ読み取り可能な記録媒体から上記コンピュータにインストールしてもよいし、ネットワークを介してダウンロードしてインストールすることとしてもよい。
【００３９】
（動作シーケンス）
次に、図８のシーケンス図を参照して、本実施の形態における通信システムの全体の動作の流れを通して説明する。
【００４０】
例えば、ＩｏＴ端末（Ｗｅｂサーバ１０）を設置したときや、ＩｏＴ端末を起動したことを契機として、ＶＰＮクライアント１００において、トンネル接続機能部１０１が起動し、動作を開始すると、ＶＰＮゲートウェイ２００にトンネル確立要求を送信し（ステップ１０１）、ＶＰＮゲートウェイ２００との間にトンネルを確立する（ステップ１０２）。なお、トンネル確立を行う契機は上記の契機に限られるわけではない。
【００４１】
トンネル確立後、ＶＰＮゲートウェイ２００のトンネル終端機能部２０１は、ＨＴＴＰプロキシサーバ２０２を起動し（ステップ１０３）、ＨＴＴＰプロキシサーバ２０２はサーバポートを１つオープンする（ステップ１０４）。
【００４２】
上記のようにしてオープンされたサーバポートに対して、Ｗｅｂクライアント２０は、ＴＣＰコネクション確立要求を送信し（ステップ１０５）、Ｗｅｂクライアント２０とＶＰＮゲートウェイ２００（ＨＴＴＰプロキシサーバ２０２）との間にＴＣＰコネクションが確立される（ステップ１０６）。そして、ＨＴＴＰプロキシサーバ２０２は、Ｗｅｂクライアント２０から、Ｈｏｓｔヘッダに、宛先となるＷｅｂサーバ１０のホスト名を含むＨＴＴＰリクエストを受信する（ステップ１０７）。
【００４３】
なお、Ｗｅｂクライアント２０側では、どのＷｅｂサーバがどのサイトに存在し、当該サイトに対応するポート番号は何番であり、また、当該Ｗｅｂサーバのホスト名等を知る必要がある。このための手法は特定の手法に限定されないが、例えば、Ｗｅｂクライアント２０内に、これらの情報（ポート番号とホスト名）を対応付けたテーブルを用意しておき、Ｗｅｂクライアント２０は、当該テーブルを参照することにより、所望のＷｅｂサーバに接続するためのポート番号、ホスト名等を取得する。
【００４４】
ＨＴＴＰプロキシサーバ２０２は、受信したＨＴＴＰリクエストのＨｏｓｔヘッダに含まれる宛先ホスト名を含むＴＣＰコネクション確立通知をＶＰＮクライアント１００に送信する（ステップ１０８）。
【００４５】
トンネル接続機能部１０１は、このＴＣＰコネクション確立通知を受信すると、ＨＴＴＰリバースプロキシ１０２を起動する（ステップ１０９）。ＨＴＴＰリバースプロキシ１０２が、ＶＰＮゲートウェイ２００から受信したＴＣＰコネクション確立通知に含まれる宛先ホスト名に対応するＷｅｂサーバ１０に対してＴＣＰコネクションの確立要求を送信することにより（ステップ１１０）、Ｗｅｂサーバ１０との間にＴＣＰコネクションを確立する（ステップ１１１）。この後、Ｗｅｂサーバ１０とＨＴＴＰリバースプロキシ１０２間でＴＣＰコネクションが確立されたことがＶＰＮゲートウェイ２００に通知されてもよい。なお、Ｗｅｂサーバ１０とＨＴＴＰリバースプロキシ１０２間でＴＣＰコネクションが確立できなかった場合には、その旨がＶＰＮゲートウェイ２００に通知され、Ｗｅｂクライアント２０とＨＴＴＰプロキシサーバ２０２間のＴＣＰコネクションが切断される。
【００４６】
Ｗｅｂサーバ１０とＨＴＴＰリバースプロキシ１０２間でＴＣＰコネクションが確立されると、ＨＴＴＰプロキシサーバ２０２が、Ｗｅｂクライアント２０から受信したＨＴＴＰリクエストをトンネルを介してＨＴＴＰリバースプロキシ１０２に送信し（ステップ１１２）、ＨＴＴＰリバースプロキシ１０２は、ＨＴＴＰクライアントとして、当該ＨＴＴＰリクエストをＷｅｂサーバ１０に送信する（ステップ１１３）。そして、Ｗｅｂサーバ１０からＨＴＴＰレスポンスが送信され、Ｗｅｂクライアント２０に届く（ステップ１１４〜１１６）。
【００４７】
（他の構成例）
ＶＰＮゲートウェイ２００側の各サーバポートは同時に複数のＴＣＰコネクションを受け付けることができる。複数のＴＣＰコネクションを受け付ける場合、ＴＣＰコネクション確立の度にコネクション確立通知がＶＰＮクライアント１００側に送信され、ＨＴＴＰリバースプロキシが生成、起動され、ＨＴＴＰリバースプロキシ毎にＷｅｂサーバ（ＩｏＴ端末）との間にＴＣＰコネクションが確立される。すなわち、一つのサイト（拠点）との間に確立されるトンネルは１本であるが、その配下に複数のＷｅｂサーバ（ＩｏＴ端末）を設置することができる。
【００４８】
１サイトに複数のＷｅｂサーバが存在する場合の構成例を図９に示す。図９に示すように、トンネルは、Ｗｅｂサーバ設置サイト毎に１本確立され、ＶＰＮゲートウェイ２００側のサーバポートもサイト毎に１つオープンされる。そして、トンネルを介してサイト内の複数のＷｅｂサーバに対してアクセスすることができる。
【００４９】
データセンタ側のコンピュータであるＷｅｂクライアント２０は、特定のＷｅｂサーバ１０にアクセスするために、それがどのサイトに設置されているか応じて、ＴＣＰコネクションを確立するサーバポート（ポート番号）を選択し、そのサイトの中のどのＷｅｂサーバ１０にアクセスすべきかをＨＴＴＰヘッダのＨｏｓｔで指定する。
【００５０】
前述したように、これらを実現するために、Ｗｅｂクライアント２０側では、どのＷｅｂサーバがどのサイトに存在し、当該サイトに対応するポート番号は何番であり、また、当該Ｗｅｂサーバのホスト名等を知る必要があるが、これについては任意の手法で対応すればよい。例えば、Ｗｅｂクライアント２０内に、これらの情報を対応付けたテーブルを用意しておき、Ｗｅｂクライアント２０は、当該テーブルを参照することにより、所望のＷｅｂサーバに接続するためのポート番号、ホスト名等を取得する。
【００５１】
（実施の形態のまとめ、効果等）
以上、説明したように、本実施の形態において、クライアントとサーバ間の接続制御を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置であって、前記トンネル終端装置に対してトンネル確立要求を送信することにより、前記トンネル接続装置と前記トンネル終端装置との間にトンネルを確立するトンネル接続部と、前記トンネル終端装置と前記クライアントとの間にコネクションが確立された後に、当該トンネル終端装置からコネクション確立通知を受信したことに応じて、前記サーバとの間にコネクションを確立するクライアント機能部とを備えるトンネル接続装置が提供される。
【００５２】
前記クライアント機能部は、例えばリバースプロキシである。また、前記コネクション確立通知には前記サーバの識別情報が含まれ、前記クライアント機能部は、当該識別情報で識別される前記サーバに対してコネクション確立要求を送信するようにしてもよい。
【００５３】
また、本実施の形態によれば、クライアントとサーバ間の接続制御を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル終端装置であって、前記トンネル接続装置からトンネル確立要求を受信することにより、前記トンネル接続装置と前記トンネル終端装置との間にトンネルを確立するトンネル終端部と、前記クライアントからコネクション確立要求を受信し、当該クライアントとの間にコネクションを確立するサーバ機能部とを備え、前記サーバ機能部は、前記コネクションが確立されたことを示すコネクション確立通知を前記トンネル接続装置に送信することにより、当該トンネル接続装置に前記サーバとの間のコネクションを確立させるトンネル終端装置が提供される。
【００５４】
前記サーバ機能部は、例えばプロキシサーバである。また、前記コネクション確立通知には前記サーバの識別情報が含まれ、前記トンネル接続装置は、当該識別情報で識別される前記サーバに対してコネクション確立要求を送信するように構成してもよい。
【００５５】
前記トンネル終端部により、前記トンネル接続装置と前記トンネル終端装置との間に複数のトンネルが確立される場合において、前記サーバ機能部は、トンネル毎に、前記クライアントとのコネクション確立のためのポートを開設するようにしてもよい。
【００５６】
また、本実施の形態により、トンネル接続装置とトンネル終端装置とを備える通信システムが実行するクライアントとサーバとの間の接続制御方法であって、前記トンネル接続装置が前記トンネル終端装置に対してトンネル確立要求を送信することにより、当該トンネル接続装置と当該トンネル終端装置との間にトンネルを確立するステップと、前記トンネル終端装置におけるサーバ機能部が、前記クライアントからのコネクション確立要求に基づいて、当該クライアントとの間にコネクションを確立するステップと、前記サーバ機能部が前記トンネル接続装置に対して前記コネクションが確立したことを示すコネクション確立通知を送信するステップと、前記コネクション確立通知を受信した前記トンネル接続装置におけるクライアント機能部が、前記サーバとの間にコネクションを確立するステップとを備える接続制御方法が提供される。
【００５７】
以上、説明したように、本実施の形態で説明した技術によれば、一般家庭や小規模オフィス等に設置されたＮＡＴの内側にあるＩｏＴ端末に対して、データセンタからのアクセスが可能になる。ここでは、固定ＩＰアドレスやＮＡＴへの設定といった既存ネットワーク設備や設定は不要である。ＩｏＴ端末設置場所側で行うことは、例えば、同じネットワークに接続されたパソコン（ＶＰＮクライアントとして使用するもの）でＶＰＮソフトウェアを起動するだけである。本実施の形態に係る通信システムは、既存の設備に手を入れずにオーバレイ的に使用することが可能である。
【００５８】
また、ＶＰＮソフトウェアを起動しているパソコンを含めてＩｏＴ端末以外は、データセンタとの通信路を持たないため、データセンタに対してアクセスすることはできず、また、ＩｏＴ端末はインターネット上の不特定多数の端末からアクセスされることもなくセキュリティ的に安全である。
【００５９】
データセンタ等の特定のサイトからのみＩｏＴ端末へのアクセスを許容するために、ＩＰｓｅｃやＬ２転送型ＳＳＬ−ＶＰＮを使用することも考えられるが、端末毎にＶＰＮソフトウェアのインストールが必要になり、ＩｏＴ環境では、技術的経済的に実現が困難である。また、ルータタイプのＶＰＮは、同じ家庭・オフィスのＬＡＮに接続されているＩｏＴ端末以外にもアクセスが可能であり、その端末からデータセンタ側へのアクセスを許すことになり、セキュリティ的に脆弱となる。上記のように、本実施の形態に係る技術によれば、これらの問題は解消され、少ない手間でセキュアにデータセンタ等からＩｏＴ端末へのアクセスが可能となる。
【００６０】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００６１】
１０  Ｗｅｂサーバ
２０  Ｗｅｂクライアント
１００  ＶＰＮクライアント
２００  ＶＰＮゲートウェイ
１０１  トンネル接続機能部
１０２  ＨＴＴＰリバースプロキシ
２０１  トンネル終端機能部
２０２  ＨＴＴＰプロキシサーバ
【図１】
2015231225.tif 000003
【図２】
2015231225.tif 000004
【図３】
2015231225.tif 000005
【図４】
2015231225.tif 000006
【図５】
2015231225.tif 000007
【図６】
2015231225.tif 000008
【図７】
2015231225.tif 000009
【図８】
2015231225.tif 000010
【図９】
2015231225.tif 000011