(57)【要約】【課題】ＳＳＬ／ＴＬＳ接続専用プログラムがｈｔｔｐトンネルに非対応の場合であっても，プロキシサーバにｈｔｔｐトンネルを形成させることのできるコンピュータプログラムを提供する。【解決手段】プロキシサーバ２１とＳＳＬクライアント２０１間のメッセージを中継処理するトンネリングモジュール２００は，アプリケーション２０３が所定の接続先へ接続要求したことを検知すると動作を開始し（Ｓ２０），ＳＳＬクライアント２０１の接続先をループバックアドレスに関連付けすることで，トンネリングモジュール２００を経由するようにＳＳＬクライアント２０１の通信経路を変更し（Ｓ２１），ＳＳＬクライアント２０１がＳＳＬ／ＴＬＳ接続を開始すると，ＳＳＬ／ＴＬＳ接続を中断し（Ｓ２５），プロキシサーバ２１に対して，ｈｔｔｐトンネルを形成させるｈｔｔｐコマンドを送信する（Ｓ２６）。【選択図】図５
2010193306.tif 000002
【特許請求の範囲】
【請求項１】
ｈｔｔｐトンネルに非対応のＳＳＬ／ＴＬＳ接続専用プログラムがインストールされたコンピュータと前記コンピュータの接続先をＳＳＬ／ＴＬＳ接続させるＳＳＬ／ＴＬＳ接続方法であって，前記コンピュータのプロキシサーバと前記ＳＳＬ／ＴＬＳ接続専用プログラム間のメッセージを中継処理するモジュールが，前記コンピュータに実装されたアプリケーションが所定の接続先へ接続要求したことを検知すると，前記ＳＳＬ／ＴＬＳ接続専用プログラムの接続先をループバックアドレスに関連付けすることで，前記モジュールを経由するように前記ＳＳＬ／ＴＬＳ接続専用プログラムの通信経路を変更するステップ１，前記モジュールが，前記ＳＳＬ／ＴＬＳ接続専用プログラムがＳＳＬ／ＴＬＳ接続を開始したこと検知すると，ＳＳＬ／ＴＬＳ接続を中断し，前記プロキシサーバに対して，ｈｔｔｐトンネルを形成させるｈｔｔｐコマンドを送信するステップ２，前記モジュールが，前記プロキシサーバからｈｔｔｐコマンドのレスポンスを受信すると，ＳＳＬ／ＴＬＳ接続を再開するステップ３を順に実行することを特徴とするＳＳＬ／ＴＬＳ接続方法。
【請求項２】
請求項１に記載のＳＳＬ／ＴＬＳ接続方法であって，前記モジュールは，前記ステップ２において，ＳＳＬ／ＴＬＳ接続開始時に前記ＳＳＬ／ＴＬＳ接続専用プログラムが接続先に送信する開始メッセージを前記コンピュータのメモリにバッファしておき，前記ステップ３において，前記プロキシサーバを介して，バッファした前記開始メッセージを前記接続先に送信することで，ＳＳＬ／ＴＬＳ接続動作を再開することを特徴とするＳＳＬ／ＴＬＳ接続方法。
【請求項３】
ｈｔｔｐトンネルに非対応のＳＳＬ／ＴＬＳ接続専用プログラムがインストールされたコンピュータと前記コンピュータの接続先をＳＳＬ／ＴＬＳ接続させるためのコンピュータプログラムであって，前記コンピュータのプロキシサーバと前記ＳＳＬ／ＴＬＳ接続専用プログラム間のメッセージを中継処理する機能と，前記コンピュータに実装されたアプリケーションが所定の接続先へ接続要求したことを検知すると，前記ＳＳＬ／ＴＬＳ接続専用プログラムの接続先をループバックアドレスに関連付けすることで，前記モジュールを経由するように前記ＳＳＬ／ＴＬＳ接続専用プログラムの通信経路を変更するステップ１，前記ＳＳＬ／ＴＬＳ接続専用プログラムがＳＳＬ／ＴＬＳ接続を開始したこと検知すると，ＳＳＬ／ＴＬＳ接続を中断し，前記プロキシサーバに対して，ｈｔｔｐトンネルを形成させるｈｔｔｐコマンドを送信するステップ２，前記モジュールが，前記プロキシサーバからｈｔｔｐコマンドのレスポンスを受信すると，ＳＳＬ／ＴＬＳ接続を再開するステップ３を順に実行する機能を，前記コンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ｈｔｔｐトンネルに非対応のＳＳＬ用プログラムがインストールされたコンピュータとコンピュータの接続先をＳＳＬ／ＴＬＳ接続させるための技術に関する。
【背景技術】
【０００２】
個人情報漏洩が社会的な問題になり，企業のセキュリティ対策の一環として，企業内部で分散していた個人情報などの企業情報を集中管理する動きが活発になっている。企業情報を集中管理するときは，セキュリティ管理されたイントラネット内に，企業情報を集中管理する管理サーバを配置し，従業員は，該ネットワーク内外に設置されたクライアント（例えば，シンクライント）を利用し該管理サーバにアクセスする。
【０００３】
管理サーバが設置されたイントラネット内のクライアントから管理サーバにアクセスする場合，該イントラネット上に流れる企業情報が漏洩することは考えにくいが，該イントラネット外に配置されたクライアントから管理サーバにアクセスする場合，インターネット上を流れる企業情報の漏洩防止対策を施すことが必要になる。
【０００４】
インターネット上に流れる企業情報の漏洩防止対策には，ＳＳＬ（Secure Sockets Layer）/ＴＬＳ（Transport Layer Security）の技術が広く利用され，管理サーバが設置されたイントラネット内に設けられたＳＳＬ／ＴＴＬのＶＰＮ機器とクライアント間をＳＳＬ／ＴＬＳ接続し，インターネット上に流れる企業情報を暗号化することで，インターネット上に流れる企業情報の漏洩を防止する。
【０００５】
クライアントが接続しているネットワーク上にプロキシサーバ（Proxy Server）が設けられてない場合，ＳＳＬ／ＴＬＳのシーケンスを実行すれば，ＶＰＮ機器とクライアント間をＳＳＬ／ＴＬＳ接続することができるが，該ネットワーク（例えば，支社のイントラネット２）上にプロキシサーバが設けられている場合，クライアントとＶＰＮ機器間をＳＳＬ／ＴＬＳ接続するためには，非特許文献１で開示されている手順に従い，プロキシサーバにｈｔｔｐトンネルを形成させる必要がある。
【０００６】
しかしながら，ＶＰＮ機器とＳＳＬ／ＴＬＳ接続するためのコンピュータプログラムを，該ＶＰＮ機器から提供されるＳＳＬ／ＴＬＳ接続専用プログラムを利用する場合，ｈｔｔｐトンネルをプロキシサーバに形成させる機能は，クライアントにインストールされる該専用プログラムの仕様に依存するため，該専用プログラムがｈｔｔｐトンネルに非対応の場合，非特許文献１で開示されている手順に従い，プロキシサーバにｈｔｔｐトンネルを形成させることができない問題がある。
【０００７】
クライアントに実装されたコンピュータプログラムが未対応の通信プロトコルに対応させる発明として，例えば，特許文献１において，アプリケーションとオペレーションシステムのローカル通信プロトコルスタック群との間に介在し、アプリケーションプログラム用の仮想ネットワーク上のアドレスを保持し、かつアプリケーションからの仮想ネットワーク宛のパケットをトンネリング処理してローカル通信プロトコルスタックを通じてサーバに渡し、ローカル通信プロトコルスタック群とは独立した、アプリケーションプログラムが仮想ネットワーク通じた通信をするのに必要なプロトコルスタックを備えた通信モジュールが開示されているが，ｈｔｔｐトンネルをプロキシサーバに形成させるための詳細な記述はない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−３０６７３６号公報
【非特許文献】
【０００９】
【非特許文献１】RFC(Request for Comments)  RFC2817 Upgrading to TLS Within HTTP/1.1
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで，本発明は，プロキシサーバが配置されたネットワーク上のクライアントにインストールされ，ＳＳＬ／ＴＬＳ接続専用プログラムがｈｔｔｐトンネルに非対応の場合であっても，プロキシサーバにｈｔｔｐトンネルを形成させ，クライアントとクライアントの接続先をＳＳＬ／ＴＬＳ接続させることのできる方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決する第１の発明は，ｈｔｔｐトンネルに非対応のＳＳＬ／ＴＬＳ接続専用プログラムがインストールされたコンピュータと前記コンピュータの接続先をＳＳＬ／ＴＬＳ接続させるＳＳＬ／ＴＬＳ接続方法であって，前記コンピュータのプロキシサーバと前記ＳＳＬ／ＴＬＳ接続専用プログラム間のメッセージを中継処理するモジュールが，前記コンピュータに実装されたアプリケーションが所定の接続先へ接続要求したことを検知すると，前記ＳＳＬ／ＴＬＳ接続専用プログラムの接続先をループバックアドレスに関連付けすることで，前記モジュールを経由するように前記ＳＳＬ／ＴＬＳ接続専用プログラムの通信経路を変更するステップ１，前記モジュールが，前記ＳＳＬ／ＴＬＳ接続専用プログラムがＳＳＬ／ＴＬＳ接続を開始したこと検知すると，ＳＳＬ／ＴＬＳ接続を中断し，前記プロキシサーバに対して，ｈｔｔｐトンネルを形成させるｈｔｔｐコマンドを送信するステップ２，前記モジュールが，前記プロキシサーバからｈｔｔｐコマンドのレスポンスを受信すると，ＳＳＬ／ＴＬＳ接続を再開するステップ３を順に実行することを特徴とするＳＳＬ／ＴＬＳ接続方法である。
【００１２】
更に，第２の発明は，第１の発明に記載のＳＳＬ／ＴＬＳ接続方法であって，前記モジュールは，前記ステップ２において，ＳＳＬ／ＴＬＳ接続開始時に前記ＳＳＬ／ＴＬＳ接続専用プログラムが接続先に送信する開始メッセージを前記コンピュータのメモリにバッファしておき，前記ステップ３において，前記プロキシサーバを介して，バッファした前記開始メッセージを前記接続先に送信することで，ＳＳＬ／ＴＬＳ接続動作を再開することを特徴とするＳＳＬ／ＴＬＳ接続方法である。
【００１３】
更に，第３の発明は，ｈｔｔｐトンネルに非対応のＳＳＬ／ＴＬＳ接続専用プログラムがインストールされたコンピュータと前記コンピュータの接続先をＳＳＬ／ＴＬＳ接続させるためのコンピュータプログラムであって，前記コンピュータのプロキシサーバと前記ＳＳＬ／ＴＬＳ接続専用プログラム間のメッセージを中継処理する機能と，前記コンピュータに実装されたアプリケーションが所定の接続先へ接続要求したことを検知すると，前記ＳＳＬ／ＴＬＳ接続専用プログラムの接続先をループバックアドレスに関連付けすることで，前記コンピュータプログラム自身を経由するように前記ＳＳＬ／ＴＬＳ接続専用プログラムの通信経路を変更するステップ１，前記ＳＳＬ／ＴＬＳ接続専用プログラムがＳＳＬ／ＴＬＳ接続を開始したこと検知すると，ＳＳＬ／ＴＬＳ接続を中断し，前記プロキシサーバに対して，ｈｔｔｐトンネルを形成させるｈｔｔｐコマンドを送信するステップ２，前記モジュールが，前記プロキシサーバからｈｔｔｐコマンドのレスポンスを受信すると，ＳＳＬ／ＴＬＳ接続を再開するステップ３を順に実行する機能を，前記コンピュータに実現させるためのコンピュータプログラムである。
【発明の効果】
【００１４】
上述したように，本発明によれば，プロキシサーバが配置されたネットワーク上のクライアントにインストールされ，ＳＳＬ／ＴＬＳ接続専用プログラムがｈｔｔｐトンネルに非対応の場合であっても，プロキシサーバにｈｔｔｐトンネルを形成させ，クライアントとクライアントの接続先をＳＳＬ／ＴＬＳ接続させることのできる方法及びコンピュータプログラムを提供できる。
【図面の簡単な説明】
【００１５】
【図１】リモートアクセスシステムを説明する図。
【図２】コンピュータのブロック図。
【図３】RFC2817の手順を説明するフロー図。
【図４】ｈｔｔｐトンネルに非対応のときに生じる問題を説明する図。
【図５】トンネリングモジュールの動作を説明するフロー図。
【発明を実施するための形態】
【００１６】
ここから，当業者が実施可能な程度に，本発明について説明する。図１は，本実施形態の説明に利用するリモートアクセスシステム１を説明する図である。
【００１７】
図１で図示したリモートアクセスシステム１にはセキュリティ管理されたイントラネット（intranet）として，企業の支社に構築される支社のイントラネット２と企業の本社に構築される本社の２イントラネットが含まれ，支社のイントラネット２と本社のイントラネット３はインターネット４を介して接続されている。
【００１８】
本社のイントラネット３内には，企業情報を一括で管理しているウェブサーバ３０に加え，セキュリティ管理用の装置として，本社のイントラネット３へ接続する装置（ここでは，コンピュータ）に実装されたＳＳＬ接続専用プログラム（ここでは，ＳＳＬクライアント２０１）とＳＳＬ接続し，ゲートウェイ（ＧａｔｅＷａｙ）の機能を備えたＶＰＮ（VPN: Virtual Private Network）機器３１と，本社のイントラネット３とインターネット４間の接続を監視するＦＷ機器３２（FW: FireWall）が設置されている。
【００１９】
また，支社のイントラネット２内には，支社の従業員が利用するコンピュータ２０に加え，セキュリティ管理用の装置として，コンピュータ２０の代わりにインターネット４と接続するプロキシサーバ２１（Proxy Server）と，支社のイントラネット２とインターネット４の接続を監視するＦＷ機器２２が設置されている。
【００２０】
図２は，支社のイントラネット２内に設置されるコンピュータ２０のブロック図で，コンピュータ２０には，ハードウェアとして，ＣＰＵ２０ａ１（Central Processing Unit），ＲＡＭ２０ａ２（Random Access Memory）及びＲＯＭ２０ａ３（Read-Only Memory）などから構成される制御ボード２０ａと，大容量のデータ記憶装置としてハードディスク２０ｂと，文字や画像などを表示するディスプレイ２０ｃと，入力デバイスであるキーボード２０ｄと，ポインティングデバイスであるマウス２０ｅと，ネットワーク通信するためのネットワークインターフェース２０ｆが備えられている。
【００２１】
更に，コンピュータ２０のハードディスク２０ｂには，コンピュータ２０に備えられるハードウェアを管理する基本プログラムで，Ｗｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）に代表されるオペレーティングシステム２０２と，ＶＰＮ機器３１とＳＳＬ接続するためのコンピュータプログラムで，ｈｔｔｐトンネルに非対応のＳＳＬクライアント２０１と，コンピュータ２０がウェブサーバ３０のリソースを利用するためのアプリケーション２０３（例えば，汎用的なブラウザやリモートアクセス専用のツールなど）が記憶されている。
【００２２】
図１に図示したように，支社のイントラネット２に設置されたコンピュータ２０がウェブサーバ３０にアクセスするとき，ＳＳＬクライアント２０１が呼び出され，ＳＳＬクライアント２０１がＶＰＮ機器３１とＳＳＬ接続する必要があるが，支社のイントラネット２にプロキシサーバ２１が設置されているため，ＳＳＬクライアント２０１がＶＰＮ機器３１にＳＳＬ接続するとき，RFC2817で規定された手順に従い，メッセージの内容を解釈せずに素通りさせるｈｔｔｐトンネルをプロキシサーバ２１に形成させる必要がある。
【００２３】
図３は， RFC2817で規定された手順を説明するフロー図で，図３の説明においては，ｈｔｔｐトンネルに未対応のＳＳＬクライアント２０１の代わりに，ｈｔｔｐトンネルに対応のＳＳＬクライアント２０１ａがコンピュータ２０に実装されているものとする。
【００２４】
アプリケーション２０３には，予め，本社のイントラネット３に配置されたＶＰＮ機器３１とウェブサーバ３０のＵＲＬが設定されており，アプリケーション２０３上でウェブサーバ３０にリモートアクセスする操作が実行されると，ＶＰＮ機器３１への接続要求メッセージ（ここでは，https:// VPN.abc.xxx ）がアプリケーション２０３からＳＳＬクライアント２０１ａへ引き渡される（Ｓ１）。
【００２５】
ＳＳＬクライアント２０１ａは，ネットワーク設定を参照することでプロキシサーバ２１を認識し（Ｓ２），ＳＳＬクライアント２０１ａは，ｈｔｔｐｓプロトコルに対応する４４３ポートを利用するＣｏｎｎｅｃｔリクエスト（ここでは，CONNECT https://VPN.abc.xxx:443 HTTP/1.1）をプロキシサーバ２１に送信する（Ｓ３）。
【００２６】
Ｃｏｎｎｅｃｔリクエストを受信すると，プロキシサーバ２１はＣｏｎｎｅｃｔリクエストを解釈して，該リクエストがＶＰＮ機器３１への接続要求であることを認識し（Ｓ４），プロキシサーバ２１は，プロキシサーバ２１とアプリケーション２０３の接続先（ここでは，https://VPN.abc.xxx port:443）間にＴＣＰ接続を確立する処理を実行する（Ｓ５）。
【００２７】
プロキシサーバ２１は，ウェブサーバ３０との間にＴＣＰ接続を確立すると，プロトコルがＳＳＬであることから，メッセージを解釈することなく転送するトンネリングモードに移行し後（Ｓ６），Ｃｏｎｎｅｃｔリクエストのレスポンス（ここでは，HTTP/1.1 200 Connection established）をＳＳＬクライアント２０１ａに返信する（Ｓ７）。
【００２８】
ＳＳＬクライアント２０１は，プロキシサーバ２１からＣｏｎｎｅｃｔリクエストのレスポンスを受信すると，ＳＳＬクライアント２０１ａとＶＰＮ機器３１間で，ＳＳＬクライアント２０１ａがＶＰＮ機器３１に対して送信するClientHelloメッセージで開始されるＳＳＬ接続処理（Ｓ８）が実行され，ＳＳＬクライアント２０１ａとＶＰＮ機器３１はＳＳＬ接続する。
【００２９】
そして，ＳＳＬクライアント２０１とＶＰＮ機器３１がＳＳＬ接続すると，ＳＳＬクライアント２０１ａからアプリケーション２０３へＳＳＬ接続の完了が通知され（Ｓ９），アプリケーション２０３は、本社のイントラネット３内に配置されたウェブサーバ３０と通信可能になり（Ｓ１０），図３で図示した手順は終了する。
【００３０】
しかしながら，図１で図示したコンピュータ２０に実装されたＳＳＬクライアント２０１は，上述しているようにｈｔｔｐトンネルに非対応であるため， RFC2817で規定された手順に従いｈｔｔｐトンネルをプロキシサーバ２１に形成できず，このままでは，ＳＳＬクライアント２０１はＶＰＮ機器３１とＳＳＬ接続できない。
【００３１】
図４は，ｈｔｔｐトンネルに非対応のＳＳＬクライアント２０１を利用するときに生じる問題を説明する図である。
【００３２】
ＶＰＮ機器３１が提供しているＳＳＬクライアントには，対応するオペレーティングシステムによっては，ｈｔｔｐトンネルに非対応の場合があり（例えば，Ｌｉｎｕｘ版のＳＳＬクライアント），ｈｔｔｐトンネルに非対応であるＳＳＬクライアント２０１は，アプリケーション２０３から呼び出されると（Ｓ１０），ＳＳＬクライアント２０１は，プロキシの存在を無視して，ClientHelloメッセージをＶＰＮ機器３１に送信するため，ファイヤウォールの機能によってプロキシを介さないClientHelloメッセージは遮断され（Ｓ１１），ＳＳＬクライアント２０１はＶＰＮ機器３１とＳＳＬ接続できない。
【００３３】
そこで，図１及び図２に図示したように，コンピュータ２０には，上述した問題を解決するトンネリングモジュール２００がコンピュータ２０のハードディスク２０ｂに記憶さる。
【００３４】
トンネリングモジュール２００は，オペレーティングシステム２００上で，ＳＳＬクライアント２０１及びアプリケーション２０３と連携して動作し，ＳＳＬクライアント２０１とプロキシサーバ２１間のデータを中継処理するコンピュータプログラムで，アプリケーション２０３が所定の接続先（ここでは，ウェブサーバ３０）に接続要求したときに動作を開始し，ＳＳＬクライアント２０１の接続先（ここでは，ＶＰＮ機器３１）をループバックアドレス（「127.0.0.1」）に関連付けすることで，トンネリングモジュール２００を経由するようにＳＳＬクライアント２０１の通信経路を変更し，ＳＳＬクライアント２０１がＳＳＬ接続を開始すると，ＳＳＬ接続を中断し，ｈｔｔｐトンネルをプロキシサーバ２１に形成させた後にＳＳＬ接続を再開する動作を行う。
【００３５】
図５は，トンネリングモジュール２００の動作を説明するフロー図である。アプリケーション２０３上において，ウェブサーバ３０にリモートアクセスする操作が実行されると，ＶＰＮ機器３１への接続要求メッセージ（ここでは，https://VPN.abc.xxx）がアプリケーション２０３からトンネリングモジュール２００へ引き渡され，トンネリングモジュール２００が起動する（Ｓ２０）
【００３６】
本実施形態において，アプリケーション２０３には，トンネリングモジュール２００を利用する接続先（ここでは，ＶＰＮ機器３１）が予め定義され，アプリケーション２０３は，予め定義された接続先に接続要求する動作を行うとき，予め定義された接続先への接続要求メッセージをＳＳＬクライアント２０１に受け渡す前に，該接続要求メッセージを引き渡してトンネリングモジュール２００を起動させる。
【００３７】
トンネリングモジュール２００は起動すると，接続要求メッセージに含まれる接続先のホスト名（ここでは，https://VPN.abc.xxx）をＲＡＭ２０ａ２に一時的に記憶した後，ｈｏｓｔｓファイルを書き換えるなどして，ＳＳＬクライアント２０１の接続先のホスト名（ここでは，https://VPN.abc.xxx）をループバックアドレス（「127.0.0.1」）に関連付けすることで，トンネリングモジュール２００を経由して接続先にアクセスするようにＳＳＬクライアント２０１の通信経路を変更した後（Ｓ２１），ｈｔｔｐｓプロトコルで利用する４４３ポートをオープンする（Ｓ２２）。
【００３８】
トンネリングモジュール２００は，ｈｔｔｐｓプロトコルに対応する４４３ポートをオープンすると，アプリケーション２０３に対してトンネリングモジュール２００の起動完了を通知し（Ｓ２３），アプリケーション２０３は，該起動完了が通知されると，ＳＳＬクライアント２０１に対して，ＶＰＮ機器３１への接続要求メッセージを引き渡す（Ｓ２４）。
【００３９】
ＳＳＬクライアント２０１は，ＶＰＮ機器３１への接続要求メッセージが引き渡されると，該接続要求メッセージの接続先に対して，ＳＳＬシーケンスの開始メッセージであるClientHelloメッセージを送信する（Ｓ２５）。
【００４０】
なお，図５のＳ２１において，トンネリングモジュール２００を経由して接続先にアクセスするようにＳＳＬクライアント２０１の通信経路を変更されているため，図５のＳ２５において，ＳＳＬクライアント２０１は，ＶＰＮ機器３１ではなくループバックアドレス，すなわち，トンネリングモジュール２００に対してClientHelloメッセージを送信することになる。
【００４１】
トンネリングモジュール２００は，ＳＳＬクライアント２０１からClientHelloメッセージを受信すると，該ClientHelloメッセージをＲＡＭ２０ａ２にバッファすることで，ＳＳＬ接続を中断し，ＲＡＭ２０ａ２に格納している接続先のホスト名（ここでは，https://VPN.abc.xxx）を用いたｈｔｔｐのＣｏｎｎｅｃｔリクエストをプロキシサーバ２１に送信する（Ｓ２６）。
【００４２】
ｈｔｔｐのＣｏｎｎｅｃｔリクエストをプロキシサーバ２１は受信すると，プロキシサーバ２１はＣｏｎｎｅｃｔリクエストから，ＶＰＮ機器３１への接続要求であることを認識し（Ｓ２７），プロキシサーバ２１は，プロキシサーバ２１とＳＳＬクライアント２０１の接続先（ここでは，https://VPN.abc.xxx port:443）間にＴＣＰ接続を確立する処理を実行する（Ｓ２８）。
【００４３】
プロキシサーバ２１は，ＶＰＮ機器３１との間にＴＣＰ接続を確立すると，プロキシサーバ２１を通過するメッセージをチェックすることなく転送するトンネリングモードに移行し後（Ｓ２９），Ｃｏｎｎｅｃｔリクエストのレスポンス（ここでは，HTTP/1.1 200 Connection established）をトンネリングモジュール２００に返信する（Ｓ３０）。
【００４４】
トンネリングモジュール２００は，プロキシサーバ２１からＣｏｎｎｅｃｔリクエストのレスポンスを受信すると，プロキシサーバ２１を介して，ＲＡＭ２０a２に格納しているClientHelloメッセージをＶＰＮ機器３１へ送信し，ＳＳＬ接続を再開する（Ｓ３１）。
【００４５】
トンネリングモジュール２００は，ＳＳＬ接続を再開し，プロキシサーバ２１を介して，ServerHelloメッセージをＶＰＮ機器３１から受信すると（Ｓ３２），該ServerHelloメッセージをＳＳＬクライアント２０１に転送する（Ｓ３３）。
【００４６】
このように，プロキシサーバ２１にｈｔｔｐチャネルを形成させた後，トンネリングモジュール２００は，プロキシサーバ２１とＳＳＬクライアント２０１間のデータを中継処理する動作を行い，プロキシサーバ２１を介してfinishedメッセージを受信し（Ｓ３４），finishedメッセージをＳＳＬクライアント２０１に転送すると（S３５），ＳＳＬクライアント２０１とＶＰＮ機器３１のＳＳＬ接続が完了する。
【００４７】
そして，ＳＳＬクライアント２０１とＶＰＮ機器３１がＳＳＬ接続すると，ＳＳＬクライアント２０１からアプリケーション２０３へＳＳＬ接続の完了が通知され（Ｓ３６），アプリケーション２０３は，本社のイントラネット３内に配置されたウェブサーバ３０への通信が可能になり（Ｓ３７），図５で図示した手順は終了する。
【００４８】
このように，本発明によれば，ＳＳＬクライアント２０１とプロキシサーバ２１間のデータを中継処理するコンピュータプログラムで，アプリケーション２０３が所定の接続先（ここでは，ウェブサーバ３０）に接続要求したときに動作を開始し，ＳＳＬクライアント２０１の接続先（ここでは，ＶＰＮ機器３１）をループバックアドレスに関連付け，トンネリングモジュール２００を経由するようにＳＳＬクライアント２０１の通信経路を変更した後，ＳＳＬクライアント２０１がＳＳＬ接続を開始すると，ＳＳＬ接続を中断し，ｈｔｔｐトンネルをプロキシサーバ２１に形成させた後にＳＳＬ接続を再開する動作を行うトンネリングモジュールをコンピュータ２０に実装させることで，ＳＳＬ接続のときであっても，ＳＳＬクライアント２０１がＶＰＮ機器３１に送信するメッセージはプロキシサーバ２１に転送されるため，ＳＳＬクライアント２０１がｈｔｔｐトンネルに非対応の場合であっても，プロキシサーバにｈｔｔｐトンネルを形成させ，コンピュータ２０とＶＰＮ機器３１をＳＳ接続させることができる。
【００４９】
また，ＳＳＬ接続を中断・再開する動作は，図５で説明したように，ClientHelloメッセージをバッファしておくことで容易に実現できる。
【００５０】
なお、本発明は、これまで説明した実施形態に限定されることなく、種々の変形や変更が可能である。例えば，上述した実施形態では，ＳＳＬのケースについて説明したが，ＴＬＳのケースでも上述した内容で目的を達成できることは明らかである。
【符号の説明】
【００５１】
１    リモートアクセスシステム
２    支社のイントラネット
２０  コンピュータ
２００  トンネリングモジュール
２０１  ＳＳＬクライアント
２０２  オペレーティングシステム
２０３  アプリケーション
２１  プロキシサーバ
２２  ＦＷ機器
３    本社のイントラネット
３０  ウェブサーバ
３１  ＶＰＮ機器
３２  ＦＷ機器
４    インターネット
【図１】
2010193306.tif 000003
【図２】
2010193306.tif 000004
【図３】
2010193306.tif 000005
【図４】
2010193306.tif 000006
【図５】
2010193306.tif 000007