(57)【特許請求の範囲】
【請求項１】
クライアントとサーバとの間の接続を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置であって、
前記トンネル終端装置との間にトンネルを確立するトンネル接続機能部と、
前記クライアントとの間にコネクションを確立するサーバ機能部と、
前記サーバ機能部から受け取る前記クライアントのデータを送信するためのコネクションを、前記トンネルを介して前記サーバとの間に確立するクライアント機能部と
を備えることを特徴とするトンネル接続装置。
【請求項２】
前記コネクションはそれぞれ、ＴＣＰコネクションであることを特徴とする請求項１に記載のトンネル接続装置。
【請求項３】
前記クライアント機能部は、前記トンネル接続装置となるコンピュータ上で実行されるＴＣＰ／ＩＰプロトコルスタックである
ことを特徴とする請求項１又は２に記載のトンネル接続装置。
【請求項４】
前記トンネル接続装置と前記トンネル終端装置との間の接続制御を行う接続制御装置とシグナリング通信を行う制御通信機能部と、
前記制御通信機能部により前記接続制御装置から受信する信号に基づいて、通信方式を選択する選択機能部と
を備えることを特徴とする請求項１ないし３のうちいずれか１項に記載のトンネル接続装置。
【請求項５】
コンピュータを、請求項１ないし４のうちいずれか１項に記載の前記トンネル接続装置における各機能部として機能させるためのプログラム。
【請求項６】
請求項１ないし４のうちいずれか１項に記載の前記トンネル接続装置と、当該トンネル接続装置とトンネル接続されるトンネル終端装置とを備える通信ネットワーク。
【請求項７】
クライアントとサーバとの間の接続を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置が実行するデータ通信方法であって、
前記トンネル終端装置との間にトンネルを確立するステップと、
前記トンネルを介して前記サーバとの間にコネクションを確立するステップと、
前記クライアントからデータを受信し、当該データを前記コネクションを用いて前記サーバに送信するステップと
を備えることを特徴とするデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークアプリケーション等のクライアントと、サーバとの間をトンネルを経由して接続する技術に関連するものである。
【背景技術】
【０００２】
ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）技術の１つに、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  ｌａｙｅｒ）を使用したＳＳＬ−ＶＰＮ技術がある。ＳＳＬ−ＶＰＮ技術は、リモートアクセス端末と企業イントラネット内サーバ間の通信手段等として広く用いられている。
【０００３】
ＳＳＬ−ＶＰＮ技術には大別してポート転送型とＬ２転送型の２種類がある。現在、様々なＳＳＬ−ＶＰＮゲートウェイ製品が提供されているが、各製品はポート転送型とＬ２転送型のうちのどちらかの方式を採用しており、方式間は排他的である。すなわち、ＳＳＬ−ＶＰＮゲートウェイ側が採用している方式により、そのゲートウェイに接続される端末は全て同じ方式を採用する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−００５１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＳＳＬ−ＶＰＮ端末側の使用環境は様々であり、端末自体のセキュリティ事情（例えば、一時使用のＰＣであり、新規ソフトウェアをインストールできない等）や、端末の置かれた環境によるサーバ側のセキュリティ事情（信頼できない場所や端末からのアクセスには、ポート転送方式だけのアクセス制限をかけたい等）等によって、ポート転送型とＬ２転送型を１つのＳＳＬ−ＶＰＮ内で混在使用したいという要望がある。
【０００６】
しかし、従来技術では、採用するＳＳＬ−ＶＰＮゲートウェイの方式によりどちらか一方しか利用できず、端末側でポート転送型とＬ２転送型を混在させたい場合には、２種類のゲートウェイを用意しなければならず不経済である。すなわち、図１に示すように、ポート転送型ＳＳＬ−ＶＰＮ端末１とＬ２転送型ＳＳＬ−ＶＰＮ端末４とを混在させる場合において、ポート転送型ＳＳＬ−ＶＰＮゲートウェイ３とＬ２転送型ＳＳＬ−ＶＰＮゲートウェイ６を用意しなければならない。
【０００７】
本発明は上記の点に鑑みてなされたものであり、１つのＳＳＬ−ＶＰＮゲートウェイに複数の異なる方式のＳＳＬ−ＶＰＮ端末を接続させることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態によれば、クライアントとサーバとの間の接続を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置であって、
前記トンネル終端装置との間にトンネルを確立するトンネル接続機能部と、
前記クライアントとの間にコネクションを確立するサーバ機能部と、
前記サーバ機能部から受け取る前記クライアントのデータを送信するためのコネクションを、前記トンネルを介して前記サーバとの間に確立するクライアント機能部とを備えるトンネル接続装置が提供される。
【０００９】
また、本発明の実施の形態によれば、クライアントとサーバとの間の接続を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置が実行するデータ通信方法であって、
前記トンネル終端装置との間にトンネルを確立するステップと、
前記トンネルを介して前記サーバとの間にコネクションを確立するステップと、
前記クライアントからデータを受信し、当該データを前記コネクションを用いて前記サーバに送信するステップとを備えるデータ通信方法が提供される。
【発明の効果】
【００１０】
本発明の実施の形態によれば、１つのＳＳＬ−ＶＰＮゲートウェイに複数の異なる方式のＳＳＬ−ＶＰＮ端末を接続させることを可能とする技術が提供される。
【図面の簡単な説明】
【００１１】
【図１】従来技術の問題点を説明するための図である。
【図２】本発明の実施の形態に係るシステムの全体構成例を示す図である。
【図３】仮想ネットワークの構成例を示す図である。
【図４】本発明の実施の形態に係るＳＳＬ−ＶＰＮ端末とＳＳＬ−ＶＰＮゲートウェイにおけるＴＣＰ接続構成を示す図である。
【図５】従来のポート転送型におけるＴＣＰ接続構成を示す図である。
【図６】本発明の実施の形態に係るＳＳＬ−ＶＰＮ端末１００のソフトウェア構成を示す図である。
【図７】Ｌ２転送型とポート転送型との切り替え機能を持つＳＳＬ−ＶＰＮ端末５００の機能構成を示す図である。
【図８】Ｌ２転送型におけるソフトウェア構成を示す図である。
【図９】転送型の選択手順の例を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、トンネル通信方式としてＳＳＬ−ＶＰＮを使用しているが、本発明はＳＳＬ−ＶＰＮに限らず、幅広い種類のトンネル通信方式に適用可能である。
【００１３】
（システム構成例）
図２に、本発明の実施の形態における通信システム（通信ネットワーク）の全体構成例を示す。図２に示すように、本実施の形態の通信システムでは、Ｌ２転送型ＳＳＬ−ＶＰＮゲートウェイ６に、ポート転送型ＳＳＬ−ＶＰＮ端末１０とＬ２転送型ＳＳＬ−ＶＰＮ端末４を同時に収容する。図２に示す構成において、Ｌ２転送型ＳＳＬ−ＶＰＮゲートウェイ６とＬ２転送型ＳＳＬ−ＶＰＮ端末４は従来のＬ２転送型のものを使用できるが、ポート転送型ＳＳＬ−ＶＰＮ端末１０については、本発明に係る技術を使用しており、その構成の詳細については後述する。また、後述するように、端末とゲートウェイを接続するネットワークにおいて、従来のＬ２転送型のパケットと同様のパケットが転送されることから、図２に示すように、当該ネットワークはＬ２転送型ＳＳＬ−ＶＰＮネットワーク５である。
【００１４】
本実施の形態に係る技術を用いることで、例えば図３に示すような仮想ネットワークを構築できる。図３に示す仮想ネットワークは、ＳＳＬ−ＶＰＮ端末４、１０、及びＳＳＬ−ＶＰＮゲートウェイ６を含み、各ＳＳＬ−ＶＰＮ端末４、１０がＳＳＬ−ＶＰＮゲートウェイ６にトンネル接続することで通信を行う。
【００１５】
なお、本実施の形態においては、図２に示すように、Ｌ２転送型ＳＳＬ−ＶＰＮゲートウェイ６に接続されるポート転送型ＳＳＬ−ＶＰＮ端末１０が従来にない構成を有することから、特に断らない限り、「ＳＳＬ−ＶＰＮ端末」は、当該ポート転送型ＳＳＬ−ＶＰＮ端末を意味し、「ＳＳＬ−ＶＰＮゲートウェイ」は、Ｌ２転送型ＳＳＬ−ＶＰＮゲートウェイ６を意味する。また、「ＳＳＬ−ＶＰＮ端末」は、トンネル終端機能を持つとともに、トンネル接続のための処理を起動することから、「ＳＳＬ−ＶＰＮ端末」をトンネル接続装置と呼んでもよい。また、「ＳＳＬ−ＶＰＮゲートウェイ」をトンネル終端装置と呼んでもよい。
【００１６】
図４に、本実施の形態に係るＳＳＬ−ＶＰＮ端末１００とＳＳＬ−ＶＰＮゲートウェイ２００の概要構成、及びＴＣＰ接続構成を示す。
【００１７】
図４に示すように、ＳＳＬ−ＶＰＮ端末１００にネットワークアプリケーション１５０が接続され、ＳＳＬ−ＶＰＮゲートウェイ２００にアプリケーションサーバ２５０が接続される。
【００１８】
図４に示すネットワークアプリケーション１５０は、Ｗｅｂブラウザやメールクライアント等のネットワークアプリケーションプログラムを備える端末（ＳＳＬ−ＶＰＮ端末１００とは別の端末）であってもよいし、ＳＳＬ−ＶＰＮ端末１００内のネットワークアプリケーション（プログラムにより実現される機能部）であってもよい。また、ネットワークアプリケーション１５０は、アプリケーションサーバ２５０のクライアントであるため、ネットワークアプリケーション１５０を「クライアント」と呼んでもよい。
【００１９】
図４に示すように、ＳＳＬ−ＶＰＮ端末１００は、ＴＣＰサーバ機能部１０１、ＴＣＰクライアント機能部１０２、ＴＬＳトンネル接続機能部１０３を有する。ＳＳＬ−ＶＰＮゲートウェイ２００はＴＬＳトンネル終端機能部２０１を有する。
【００２０】
ＴＣＰサーバ機能部１０１は、ネットワークアプリケーション１５０からＴＣＰコネクション確立要求を受け付け、ネットワークアプリケーション１５０との間にＴＣＰコネクションを確立するとともに、コネクション確立をＴＣＰクライアント機能部１０２に通知し、もしも受信すべきデータがあればそれをＴＣＰクライアント機能部１０２に渡す。また、ＴＣＰクライアント機能部１０２から渡されたデータをＴＣＰコネクションを用いてネットワークアプリケーション１５０に送信する。
【００２１】
ＴＣＰクライアント機能部１０２は、ＴＣＰサーバ機能部１０１からのコネクション確立を受けて、ＳＳＬ−ＶＰＮ端末１００とＳＳＬ−ＶＰＮゲートウェイ２００間のトンネル経由で、アプリケーションサーバ２５０にＴＣＰコネクション確立要求を送信することで、アプリケーションサーバ２５０との間でＴＣＰコネクションを確立し、ＴＣＰコネクションによりデータの送受信を行う。
【００２２】
ＴＬＳトンネル接続機能部１０３は、ＳＳＬ−ＶＰＮゲートウェイ２００のＴＬＳトンネル終端機能部２０１との間でトンネルを確立し、トンネル通信（カプセリング通信）を行う。なお、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）は、ＳＳＬをもとに標準化させたプロトコルであるが、本明細書においてはＳＳＬとＴＬＳは同義と考えてよい。ＴＬＳトンネル接続機能部１０３は、トンネル終端機能を有するが、トンネルの接続を開始する際に、トンネル接続要求をＳＳＬ−ＶＰＮゲートウェイ側に送信するため、ＴＬＳトンネル接続機能部１０３と称している。ＴＬＳトンネル終端機能部２０１は、ＴＬＳトンネル接続機能部１０３からトンネル接続要求を受信して、ＴＬＳトンネル接続機能部１０３との間にトンネルを確立する。
【００２３】
図４に示すように、ネットワークアプリケーション１５０とＳＳＬ−ＶＰＮ端末１００との間、及び、ＴＣＰクライアント機能部１０２とアプリケーションサーバ２５０との間でＴＣＰコネクションが確立される。
【００２４】
比較のために、従来のポート転送型ＳＳＬ−ＶＰＮ端末３００とポート転送型ＳＳＬ−ＶＰＮゲートウェイ４００のＴＣＰ接続構成を図５に示す。図５に示すように、ポート転送型ＳＳＬ−ＶＰＮ端末３００は、ＴＣＰサーバ機能部３０１とＴＬＳトンネル接続機能部３０２を有する。ポート転送型ＳＳＬ−ＶＰＮゲートウェイ４００は、ＴＬＳトンネル終端機能部４０２とＴＣＰクライアント機能部４０１とを有する。
【００２５】
図５に示すように、ネットワークアプリケーション３５０とＴＣＰサーバ機能部３０１との間、及び、ＴＣＰクライアント機能部４０１とアプリケーションサーバ４５０との間でＴＣＰコネクションが確立される。すなわち、本実施の形態におけるＳＳＬ−ＶＰＮの通信方式は、既存のポート転送型の方式においてＳＳＬ−ＶＰＮゲートウェイ側にあったＴＣＰクライアント機能部をＳＳＬ−ＶＰＮ端末側に移動させたものに相当する。
【００２６】
これにより、本実施の形態において、トンネルを通過するパケットには、アプリケーションサーバ２５０と通信するためのＴＣＰ／ＩＰヘッダを含むユーザＰＤＵの外側に、更にＳＳＬ−ＶＰＮゲートウェイ２００と通信するためのＴＣＰ／ＩＰヘッダが付加される。このパケットフォーマットはＬ２転送型ＳＳＬ−ＶＰＮ方式で使われるものである。これにより、本実施の形態に係るＳＳＬ−ＶＰＮ端末１００は、ネットワークアプリケーション１５０から見ればポート転送型でありながら、ＳＳＬ−ＶＰＮゲートウェイ２００はＬ２転送型を使用できる。
【００２７】
（ＳＳＬ−ＶＰＮ端末１００の機能構成、動作）
次に、図６を参照して、ＳＳＬ−ＶＰＮ端末１００の構成と動作をより詳細に説明する。
図６は、基本的に図４におけるＳＳＬ−ＶＰＮ端末１００側の構成と同じ構成を示しているが、ソフトウェア構成をより詳細に示すものである。つまり、本実施の形態において、ＳＳＬ−ＶＰＮ端末１００のＴＣＰサーバ機能部１０１はＴＣＰプロキシサーバにより実現される。なお、ＴＣＰプロキシサーバに代えて、Ｗｅｂプロキシサーバを用いてもよい。ＴＣＰクライアント機能部１０２は、ＴＣＰ／ＩＰプロトコルスタック（ＴＣＰプロトコル処理機能とＩＰプロトコル処理機能）により実現される。また、図６には、ＳＳＬ−ＶＰＮ端末１００における実ネットワークドライバ１１０が示されている。以下、図６に示す構成におけるデータ送信動作について説明する。データ受信動作については、図６に示すパケットの流れと逆方向の流れに対応する動作となる。
【００２８】
ＴＣＰプロキシサーバ１０１は、ＴＣＰポートをオープンしてネットワークアプリケーション１５０からの接続を待つ。ネットワークアプリケーション１５０は、本来接続するべきサーバ（例えば企業イントラネット内の業務サーバ）のＩＰアドレスではなく、ローカルホストで動作するＴＣＰプロキシサーバ１０１にＴＣＰコネクションを開設する。ここでの動作は、既存のポート転送型の場合と同じである。すなわち、本実施の形態に係るＳＳＬ−ＶＰＮ端末１００は、ネットワークアプリケーション１５０から見れば、既存のポート転送型と同じである。このことから、当該ＳＳＬ−ＶＰＮ端末１００をポート転送型ＳＳＬ−ＶＰＮ端末と呼ぶことができる。
【００２９】
ＴＣＰプロキシサーバ１０１は、ネットワークアプリケーション１５０との通信のＴＣＰレイヤを一旦終端して、もしも受信すべきデータがあれば、ＰＤＵ（データ）を取り出す。つまり、ＴＣＰプロキシサーバ１０１は、ネットワークアプリケーション１５０から受信するＴＣＰパケットからＰＤＵを取り出す。ＰＤＵはＴＣＰ／ＩＰプロトコルスタック１０２に渡される。
【００３０】
本実施の形態では、ＳＳＬ−ＶＰＮゲートウェイ２００からＳＳＬ−ＶＰＮ端末１００に対してＩＰアドレスが付与され、当該アドレスはこのＴＣＰ／ＩＰプロトコルスタック１０２のＩＰアドレスとして取り込まれる。当該ＩＰアドレスは、例えば、企業イントラネットで使用されるＩＰアドレスであってよい。当該ＩＰアドレスは、最終宛先であるサーバが受信するパケットの送信元アドレスとなる。トンネルの確立後、ＴＣＰプロキシサーバ１０１がネットワークアプリケーション１５０との間でＴＣＰコネクションを開設したタイミングで、ＴＣＰ／ＩＰプロトコルスタック１０２により、アプリケーションサーバ２５０にＴＣＰコネクション開設要求が送られることで、ＴＣＰ／ＩＰプロトコルスタック１０２とアプリケーションサーバ２５０間でＴＣＰコネクションが確立される。以下の動作はコネクション確立後の動作である。
【００３１】
ＴＣＰ／ＩＰプロトコルスタック１０２によりネットワークアプリケーション１５０のＰＤＵにＴＣＰ／ＩＰヘッダが付され、当該ヘッダ付きのパケットがＴＬＳトンネル接続機能部１０３に渡される。このＴＣＰはアプリケーションサーバ２５０で終端されるべきものであり、宛先ＩＰアドレスはアプリケーションサーバ２５０となっている。ＴＬＳトンネル接続機能部１０３は、ＶＰＮトンネリング機能を有しており、ＴＣＰ／ＩＰヘッダ付きパケットにＶＰＮヘッダを付けて、できたパケットをＴＬＳでＳＳＬ−ＶＰＮゲートウェイ２００に転送する。すなわち、図６に示すように、ＶＰＮヘッダ付きのパケットが、実ネットワークドライバ１１０によりＴＣＰ／ＩＰヘッダが付されて送信される。この外側のＴＣＰ／ＩＰヘッダのＴＣＰはＳＳＬ−ＶＰＮゲートウェイ２００で終端され、宛先ＩＰアドレスはＳＳＬ−ＶＰＮゲートウェイ２００となっている。
【００３２】
このように、トンネルを通過するパケットには、ユーザＰＤＵにＴＣＰ／ＩＰヘッダが付加される。一方、既存のポート転送型では、図６に示すＴＣＰ／ＩＰプロトコルスタック１０２に相当するものはなく、トンネリング通信のパケットフォーマットは、ＶＰＮヘッダの後に直接ＰＤＵが含まれる形となり、Ｌ２転送型ＳＳＬ−ＶＰＮのパケットフォーマットと互換性がない。このため従来技術では、Ｌ２転送型ＳＳＬ−ＶＰＮとポート転送型ＳＳＬ−ＶＰＮとの間に互換性がないのである。
【００３３】
（ＳＳＬ−ＶＰＮ端末の他の構成例）
既に図２等で説明したように、本実施の形態では、ポート転送型とＬ２転送型の２種類の方式を同時に収容できるゲートウェイを実現することができる。ゲートウェイ側（あるいは制御装置側）がクライアントをポート転送型で接続させるのか、Ｌ２転送型で接続させるのかを決定し、端末側に対して指示をすることが可能である。
【００３４】
端末側では、例えば、本実施の形態に係るＳＳＬ−ＶＰＮ端末か、既存のＬ２転送型ＳＳＬ−ＶＰＮ端末のどちらかを選択することとしてもよいし、１台の端末に両方の機能をソフトウェア（プログラム）として備え、方式を切り替えることとしてもよい。
【００３５】
図７に、本実施の形態に係るポート転送型機能と既存のＬ２転送型機能とを切り替えて使用することができるＳＳＬ−ＶＰＮ端末５００の構成例を示す。
【００３６】
図７に示すように、当該ＳＳＬ−ＶＰＮ端末５００は、制御通信部５０１、プログラム選択部５０２、プログラム格納部５０３を備える。
【００３７】
制御通信部５０１は、他の装置から転送型の指示（どの転送型を使用するかの指示）を含む制御信号を受信し、指示された転送型をプログラム選択部５０２に通知する。プログラム選択部５０２は、プログラム格納部５０３から、指示された転送型に対応するプログラムを起動する。あるいは、指示の中に転送型に対応するプログラムが含まれており、当該プログラムを起動することでもよい。
【００３８】
プログラム格納部５０３には、本実施の形態に係るポート転送型ＳＳＬ−ＶＰＮプログラム（図６に示す１０１、１０２、１０３の機能を含むアプリケーションプログラム）と、既存のＬ２転送型ＳＳＬ−ＶＰＮプログラムが格納されており、プログラム選択部５０２からの指示に基づきどちらかが起動される。
【００３９】
ポート転送型ＳＳＬ−ＶＰＮプログラムが起動された場合の端末動作は図６を参照して説明したとおりである。
【００４０】
Ｌ２転送型ＳＳＬ−ＶＰＮプログラムが起動された場合の動作例を図８を参照して説明する。本実施の形態では、Ｌ２転送型ＳＳＬ−ＶＰＮプログラムは、図８に示す仮想ネットワークドライバ６０１とＬ２転送型ＳＳＬ−ＶＰＮクライアント部６０２を有する。仮想ネットワークドライバ６０１は、例えば、Ｌｉｎｕｘ（登録商標）ではｔａｎ／ｔｕｐ、Ｗｉｎｄｏｗｓ（登録商標）ではネットワークアダプタドライバもしくはＰＰＰインタフェースドライバである。
【００４１】
Ｌ２転送型ＳＳＬ−ＶＰＮプログラムが動作するＳＳＬ−ＶＰＮ端末５００は、ＳＳＬ−ＶＰＮゲートウェイと接続すると、ＩＰアドレスを割り当てられる。当該ＩＰアドレスは、仮想ネットワークドライバ６０１が生成した仮想ネットワークインタフェースに付与され、ＶＰＮのアドレス帯域がルーティングテーブルに追加される。当該ＩＰアドレスは、接続先のサーバからは送信元の端末のＩＰアドレスとして見えるものである。
【００４２】
ネットワークアプリケーション６５０がＶＰＮ向けの通信を行うと、パケットはルーティングテーブルによって仮想ネットワークドライバ６０１に送られ、仮想ネットワークドライバ６０１からＬ２転送型ＳＳＬ−ＶＰＮクライアント部６０２に送られる。
【００４３】
Ｌ２転送型ＳＳＬ−ＶＰＮクライアント部６０２は、得られたＬ２フレームのＥｔｈｅｒｎｅｔ（登録商標）ヘッダを切り落として、ＩＰパケットとし、当該ＩＰパケットに独自のＶＰＮヘッダを付与してからＴＬＳ（ＳＳＬ）を使用してＳＳＬ−ＶＰＮゲートウェイに送信する。
【００４４】
図８に示すとおり、トンネルを転送されるパケットは、外側にＴＬＳ（ＩＰ／ＴＣＰ／ＴＬＳ）ヘッダがつき、ＰＤＵとして内側にＩＰパケットが埋め込まれる形となり、これは、図６に示した本実施の形態のポート転送型の場合と同じである。
【００４５】
本実施の形態で説明するＳＳＬ−ＶＰＮ端末はいずれも、ＣＰＵ、メモリ、ハードディスク等の記憶装置を備えたコンピュータに、各機能部に対応するプログラムを実行させることにより実現することができる。当該プログラムは、コンピュータ読み取り可能な記録媒体から上記コンピュータにインストールしてもよいし、ネットワークを介してダウンロードしてインストールすることとしてもよい。
【００４６】
（制御動作手順例）
図９に、転送型の選択手順の例を説明する。本例では、通信システムにおいて接続制御装置７００が備えられており、当該接続制御装置７００が、ＳＩＰに類似した手順で、ＳＳＬ−ＶＰＮ端末５００とＳＳＬ−ＶＰＮゲートウェイ２００間のシグナリング通信を中継することとしている。
【００４７】
本例において、接続制御装置７００には、例えば、構成情報（例：ＳＳＬ−ＶＰＮ端末毎の接続可能なＳＳＬ−ＶＰＮゲートウェイの情報）と、ＳＳＬ−ＶＰＮ端末（の識別情報）毎の転送型（ポート転送型、Ｌ２転送型）が保持されている。これらの情報は予め管理者により設定されるものとする。
【００４８】
図９に示す例では、まず、ＳＳＬ−ＶＰＮ端末５００の制御通信部５０１は、自身の識別情報を含む接続要求を接続制御装置７００に送信する（ステップ１）。接続制御装置７００は、保持している情報に基づいて、接続先となるＳＳＬ−ＶＰＮゲートウェイ２００を決定し、ＳＳＬ−ＶＰＮゲートウェイ２００に接続要求を送信する（ステップ２）。本例においては、接続制御装置７００は、認証用のＩＤ（ＩＤとパスワード等の意味）と、ＳＳＬ−ＶＰＮ端末５００の転送型を付加して接続要求を送信する。
【００４９】
ＳＳＬ−ＶＰＮゲートウェイ２００は、受信したＩＤを保持するとともに、上記ＩＤ及び転送型と、自身のアドレス等の接続先情報を含む接続応答を送信し、接続応答がＳＳＬ−ＶＰＮ端末５００に到着する（ステップ３、４）。なお、転送型は、ＳＳＬ−ＶＰＮゲートウェイ２００が保持し、ＳＳＬ−ＶＰＮゲートウェイ２００により通知されることとしてもよい。
【００５０】
そして、ＳＳＬ−ＶＰＮ端末５００は、受信した転送型に応じて、本実施の形態に係るポート転送型プログラム又はＬ２転送型プログラムを起動し、いずれかの方式の端末として動作を開始する。
【００５１】
ＳＳＬ−ＶＰＮ端末５００は、接続先情報を用いて、ＳＳＬ−ＶＰＮゲートウェイ２００に通信要求（認証用のＩＤを含む）を送信する（ステップ５）。ＳＳＬ−ＶＰＮゲートウェイ２００は、ＩＤにより通信要求の正当性を確認すると、仮想ネットワークにおけるＳＳＬ−ＶＰＮ端末５００において、ＴＣＰクライアント機能部１０２（ＴＣＰ／ＩＰプロトコルスタック）もしくは仮想ネットワークドライバ６０１に割り当てるＩＰアドレス（仮想アドレスと呼んでもよい）をＳＳＬ−ＶＰＮ端末５００に送信する（ステップ６）。なお、ＩＰアドレスを、ＳＳＬ−ＶＰＮゲートウェイ２００から、このタイミングで配布することは一例に過ぎない。このような手順を経て、ＳＳＬ−ＶＰＮ端末５００とＳＳＬ−ＶＰＮゲートウェイ２００間でトンネル通信可能となる（ステップ７）。
【００５２】
なお、上記の例では、接続制御装置７００が、ＳＳＬ−ＶＰＮ端末５００の識別情報に基づいて転送型を決定しているが、当該識別情報は特定の情報に限られず、例えば、ユーザＩＤ、端末ＩＤ、発信元ＩＰアドレス等であってもよい。また、端末側から希望する方式を接続制御装置７００に通知することで、結果として、端末側で希望する方式が選択されてもよい。
【００５３】
（実施の形態のまとめ、効果等）
本実施の形態により、クライアントとサーバとの間の接続を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置であって、前記トンネル終端装置との間にトンネルを確立するトンネル接続機能部と、前記クライアントとの間にコネクションを確立するサーバ機能部と、前記サーバ機能部から受け取る前記クライアントのデータを送信するためのコネクションを、前記トンネルを介して前記サーバとの間に確立するクライアント機能部とを備えるトンネル接続装置が提供される。
【００５４】
前記コネクションはそれぞれ、例えばＴＣＰコネクションである。前記クライアント機能部は、前記トンネル接続装置となるコンピュータ上で実行されるＴＣＰ／ＩＰプロトコルスタックとして実現することができる。
【００５５】
また、前記トンネル接続装置は、前記トンネル接続装置と前記トンネル終端装置との間の接続制御を行う接続制御装置とシグナリング通信を行う制御通信機能部と、前記制御通信機能部により前記接続制御装置から受信する信号に基づいて、通信方式を選択する選択機能部とを備えることとしてもよい。
【００５６】
また、本実施の形態により、コンピュータを、前記トンネル接続装置における各機能部として機能させるためのプログラムが提供され、また、前記トンネル接続装置と、当該トンネル接続装置とトンネル接続されるトンネル終端装置とを備える通信ネットワークが提供される。
【００５７】
また、本実施の形態により、クライアントとサーバとの間の接続を行うトンネル接続装置とトンネル終端装置とを備える通信システムにおいて使用される前記トンネル接続装置が実行するデータ通信方法であって、前記トンネル終端装置との間にトンネルを確立するステップと、前記トンネルを介して前記サーバとの間にコネクションを確立するステップと、前記クライアントからデータを受信し、当該データを前記コネクションを用いて前記サーバに送信するステップとを備えるデータ通信方法が提供される。
【００５８】
以上、説明したように、本実施の形態では、ＳＳＬ−ＶＰＮソフトウェアアプリケーションにＴＣＰ／ＩＰ機能を実装することとし、ポート転送型において、当該アプリケーション内のＴＣＰ／ＩＰ機能がＰＤＵにＴＣＰ／ＩＰヘッダを付加してＳＳＬトンネルにカプセル化する。
【００５９】
また、本実施の形態の技術により、接続先は１つのゲートウェイに集められ、接続ネゴシエーション時に、ユーザＩＤ、端末ＩＤ、端末の発信元アドレスや、さらに端末側から希望される方式からゲートウェイや制御装置側において、ポート転送型で接続させるのか、Ｌ２転送型で接続させるのかを決定することができる。これにより、ネットワーク自体は１つのＳＳＬ−ＶＰＮゲートウェイで構成され、ネットワーク管理者は、接続方式を端末毎に動的に選択させることができるようになる。
【００６０】
従来では、接続方式を決定するのはゲートウェイであり、どの種類のゲートウェイが使用されているかによって、接続する端末は全てその方式に従う必要がある。一方、本実施の形態によれば、接続方式の決定権は、端末側もしくは端末を管理する管理者に移る。Ｌ２転送型は、比較的自由度が高く、一方、ポート転送型は機能制限されており、セキュリティ強度が高い。端末の使用状況は様々であり、端末毎の利用制限を細かく管理することができるようになる。また、認証サーバやシグナリング技術を組み合わせることで、一つの端末でも利用状況（ＩＤ、接続時刻等）によって、接続方式を切り替えることも可能になる。
【００６１】
また、副次的効果として、従来のポート転送型ＳＳＬ−ＶＰＮでは、アプリケーションサーバから見ればアクセスしてくるクライアント端末は全てＳＳＬ−ＶＰＮゲートウェイとなり、ＩＰアドレスが隠蔽されているが、本実施の形態の方式では、ゲートウェイはＬ２転送型をそのまま使用するので、アクセスしてくる端末のＩＰアドレスはトンネル毎に付与されたＩＰアドレスがクライアントの発信元アドレスとして識別できる。
【００６２】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００６３】
１、１０  ポート転送型ＳＳＬ−ＶＰＮ端末
２  ポート転送型ＳＳＬ−ＶＰＮネットワーク
３  ポート転送型ＳＳＬ−ＶＰＮゲートウェイ
４  Ｌ２転送型ＳＳＬ−ＶＰＮ端末
５  Ｌ２転送型ＳＳＬ−ＶＰＮネットワーク
６  Ｌ２転送型ＳＳＬ−ＶＰＮゲートウェイ
１００  ＳＳＬ−ＶＰＮ端末
１０１  ＴＣＰサーバ機能部
１０２  ＴＣＰクライアント機能部
１０３  ＴＬＳトンネル接続機能部
１１０  実ネットワークドライバ
１５０  ネットワークアプリケーション
２００  ＳＳＬ−ＶＰＮゲートウェイ
２０１  ＴＬＳトンネル終端機能部
２５０  アプリケーションサーバ
３００  ポート転送型ＳＳＬ−ＶＰＮ端末
３０１  ＴＣＰサーバ機能部
３０２  ＴＬＳトンネル接続機能部
３００  ネットワークアプリケーション
４００  ポート転送型ＳＳＬ−ＶＰＮゲートウェイ
４０１  ＴＣＰクライアント機能部
４０２  ＴＬＳトンネル終端機能部
４５０  アプリケーションサーバ
５００  ＳＳＬ−ＶＰＮ端末
５０１  制御通信部
５０２  プログラム選択部
５０３  プログラム格納部
６０１  仮想ネットワークドライバ
６０２  Ｌ２転送型クライアント部
６０３  実ネットワークドライバ
６５０  ネットワークアプリケーション
７００  接続制御装置
【図１】
0006403450.tif 000002
【図２】
0006403450.tif 000003
【図３】
0006403450.tif 000004
【図４】
0006403450.tif 000005
【図５】
0006403450.tif 000006
【図６】
0006403450.tif 000007
【図７】
0006403450.tif 000008
【図８】
0006403450.tif 000009
【図９】
0006403450.tif 000010