(57)【要約】【課題】  外部ネットワーク内の外部ホストがファイアウォールを越えて内部ネットワーク内の内部ホストとの間でトンネルを構築して通信を行う際に、継続的な通信路の維持が可能な通信装置を提供する。【解決手段】  外部ネットワーク内の外部ホスト３０がファイアウォール４０を越えて内部ネットワーク内の内部ホスト２０との間でトンネル５０を構築して通信を行う通信システム１０であって、トンネル５０を維持するのに必要なタイミングに応じてトンネル５０を維持するための通信路維持データを送信する通信路確立・維持部３２と、内部ネットワーク内のサービス呼出を受け付け、内部ホスト２０にサービス呼出のためのサービス呼出データを送信するサービス呼出受付部３３とを有する。【選択図】          図１
2008140275.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワーク内の外部ホストから内部ネットワーク内の内部ホストへの通信を遮断すると共に前記内部ネットワークから前記外部ネットワークへの通信は選択的に通過させるファイアウォールがある環境で、前記外部ネットワーク内の前記外部ホストから前記内部ネットワーク内の内部ホストへの通信路を構築して通信を行う通信システムであって、
前記外部ホストに、前記通信路を維持するのに必要なタイミングに応じて前記通信路を維持するための通信路維持データを前記内部ホストに送信する送信手段を有することを特徴とする通信システム。
【請求項２】
前記内部ホストは、前記通信路を確立するための要求情報を前記外部ホストに送信し、かつ当該要求情報の返信情報を前記外部ホストから受信することにより、前記通信路を確立する確立手段を有し、前記返信情報の受信の後に前記通信路維持データを受信することにより、前記通信路を維持する請求項1記載の通信システム。
【請求項３】
前記通信路維持データは前記内部ホスト側での処理不用を示す情報を含むものである請求項1記載の通信システム。
【請求項４】
前記要求情報及び返信情報はハイパーテキストトランスファプロトコルに基づくものである請求項２記載の通信システム。
【請求項５】
前記外部ホストは、前記内部ネットワーク内のサービス呼出を受け付け、前記内部ホストに前記サービス呼出のためのサービス呼出データを送信するサービス呼出受付手段をさらに有する請求項１から請求項４のいずれかに記載の通信システム。
【請求項６】
前記外部ホストは、前記通信路を介して送信する送信データに電子署名を施す電子署名手段をさらに有する請求項１から請求項５のいずれかに記載の通信装置。
【請求項７】
前記外部ホストは、前記通信路を介して送信する送信データに対して暗号化を施す暗号化手段をさらに有する請求項１から請求項６のいずれかに記載の通信システム。
【請求項８】
前記暗号化手段は、前記送信データが構造化された構造化データである場合、該構造化されたデータの一部を暗号化することを特徴とする請求項７に記載の通信システム。
【請求項９】
前記暗号化手段は、前記構造化データがＳＯＡＰ形式の文書である場合、前記構造化データのうちヘッダー部分を暗号化しないことを特徴とする請求項７に記載の通信システム。
【請求項１０】
前記サービス呼出データは、テキストデータであることを特徴とする請求項５に記載の通信システム。
【請求項１１】
前記サービス呼出データは、ＸＭＬデータであることを特徴とする請求項５に記載の通信システム。
【請求項１２】
外部ネットワーク内の外部ホストから内部ネットワーク内の内部ホストへの通信を遮断すると共に前記内部ネットワークから前記外部ネットワークへの通信は選択的に通過させるファイアウォールがある環境で前記外部ネットワークから前記内部ネットワークへの通信路を構築して通信を行う通信方法であって、
前記外部ホストに、前記通信路を維持するのに必要なタイミングに応じて前記通信路を維持するための通信路維持データを前記内部ホストに送信する送信ステップを有することを特徴とする通信方法。
【請求項１３】
前記内部ネットワーク内のサービス呼出を受け付けるステップと、前記内部ホストに前記サービス呼出のためのサービス呼出データを送信するステップと、をさらに有する請求項１２に記載の通信方法。
【請求項１４】
前記通信路を介して送信する送信データに電子署名を施すステップをさらに有する請求項１２又は請求項１３に記載の通信方法。
【請求項１５】
前記通信路を介して送信する送信データに対して暗号化を施す暗号化ステップをさらに有する請求項１２から請求項１４のいずれかに記載の通信方法。
【請求項１６】
前記暗号化ステップは、前記送信データが構造化された構造化データである場合、該構造化されたデータの一部を暗号化することを特徴とする請求項１５に記載の通信方法。
【請求項１７】
前記暗号化ステップは、前記構造化データがＳＯＡＰ形式の文書である場合、前記構造化データのうちヘッダー部分を暗号化しないことを特徴とする請求項１５に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信方法に関する。
【背景技術】
【０００２】
インターネット等のネットワーク上に分散している各種サービスを組み合わせて新しいサービスを構築する技術が注目を集めている。特にＷｅｂサービスと呼ばれる技術が広く使われ始めている。ＷｅｂサービスはＨＴＴＰ（Hyper Text Transfer Protocol）やＳＯＡＰ（Simple Object Access Protocol）、 ＸＭＬ（Extensible Markup Language）などのオープンな標準技術をもとに構築されている。
【０００３】
ところで、企業ではインターネットと社内ネットの境界にファイアウォール（防火壁）と呼ばれるシステムを導入することで、インターネットからのアクセスを制限するのが一般的である。このようにファイアウォールが存在する環境でも、企業ネットワーク内部に存在する計算資源を利用するサービスをインターネット上で構成されたサービスから呼び出したいという要求がある。
【０００４】
この要求にこたえるためには、インターネットから社内ネットワークへの通信を可能とする必要がある。このための技術としては、ＶＰＮ（Virtual Private Network）技術を利用する方法と、リバースプロキシ（Reverse Proxy）と呼ばれる技術を利用することが一般的である。ＶＰＮでは、一般的に専用ルーターのような高価な機器を必要とするという問題がある。また、リバースプロキシは、ネットワーク境界に通常の反対向きのプロキシを設置し，内部ネットワークリソースを限定的に外部公開する手法である。しかし、リバースプロキシでは、ファイアウォールもしくは境界ネットワークの構成を変更する必要があるという問題がある。
【０００５】
このような問題を解決する従来技術として、ファイアウォールを通過しやすいＨＴＴＰやＨＴＴＰＳなどの通信プロトコルで外部ホストへ接続し、その接続の中で外部ホストからデータを送信できる状態にするリバーストンネル（Reverse Tunneling）が提案されている（特許文献１参照）。リバーストンネルは、内部から外部へ通信を始めて、トンネル接続を確立する手法である。
【特許文献１】特開２００３−５０７５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、通常のリバーストンネルで双方向通信を行う場合は、ＨＴＴＰＳなどのトンネルモードをもつプロトコルを用いての暗号化されたトンネルを作成する。
【０００７】
また、リバーストンネルは、ファイアウォールの設定を変えることなく構築できるものであるが、確立された通信路自体が暗号化されるためファイアウォール管理者はどのようなデータが社内に流れているのかを監視することができない。さらに、トンネル中に任意のプロトコルを流すことが可能なため、ファイアウォール管理者は、ワームに感染したＰＣからの不正なアクセスなどのような、内部ネットワークへの危険なアクセスを検出することができず、社内ネットワークへの悪意を持ったアクセスを遮断することができないという問題がある。このため、多くのネットワーク管理者はリバーストンネルを用いたシステムの導入に積極的ではない。
【０００８】
一方、ＨＴＭＬ文書を転送するためのプロトコルであるＨＴＴＰでの通信は通信路自体は暗号化されないため、ネットワーク管理者は通信内容の監視を行うことが可能である。しかし、ＨＴＴＰは、ステートレスでシンプルな通信が特徴であり、クライアントはリクエストをサーバへ送信し、サーバはリクエスト対応したレスポンスを返してセッションが終了する。つまり、ＨＴＴＰでは、ステートレスな通信を前提として設計されているため、双方向通信を行うために必要な通信路を継続的に保持できないという問題がある。
【０００９】
そこで、本発明は、上記問題点に鑑みてなされたもので、外部ネットワーク内の外部ホストがファイアウォールを越えて内部ネットワーク内の内部ホストとの間でトンネルを構築して通信を行う際に、継続的で監視可能な通信路の維持が可能な通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の通信システムは、外部ネットワーク内の外部ホストから内部ネットワーク内の内部ホストへの通信を遮断すると共に前記内部ネットワークから前記外部ネットワークへの通信は選択的に通過させるファイアウォールがある環境で、前記外部ネットワーク内の前記外部ホストから前記内部ネットワーク内の内部ホストへの通信路を構築して通信を行う通信システムであって、前記外部ホストに、前記通信路を維持するのに必要なタイミングに応じて前記通信路を維持するための通信路維持データを前記内部ホストに送信する送信手段を有することを特徴とする。
【００１１】
本発明によれば、通信路（トンネル）を維持するのに必要なタイミングで通信路維持データを送ることで、外部ネットワーク内の外部ホストがファイアウォールを越えて内部ネットワーク内の内部ホストとの間でトンネルを構築して通信を行う際に、継続的な通信路の維持が可能となる。これにより、ファイアウォールに特別な設定を施すことなく、外部ネットワークから内部ネットワークへの通信路を確立できる。また、既存のネットワークに影響しないシステムを提供することができる。
【００１２】
前記内部ホストは、前記通信路を確立するための要求情報を前記外部ホストに送信し、かつ当該要求情報の返信情報を前記外部ホストから受信することにより、前記通信路を確立する確立手段を有し、前記返信情報の受信の後に前記通信路維持データを受信することにより、前記通信路を維持する。前記通信路維持データは前記内部ホスト側での処理不用を示す情報を含むものである。前記要求情報及び返信情報はハイパーテキストトランスファプロトコルに基づくものである。
【００１３】
前記外部ホストは、前記内部ネットワーク内のサービス呼出を受け付け、前記内部ホストに前記サービス呼出のためのサービス呼出データを送信するサービス呼出受付手段をさらに有する。これにより、外部ネットワークからファイアウォールを越えてサービスを呼び出すことができる。よって例えば企業内の内部ネットワーク上に存在する社内のサービスを呼び出すことができる。
【００１４】
前記外部ホストは、前記通信路を介して送信する送信データに電子署名を施す電子署名手段をさらに有する。前記外部ホストは、前記通信路を介して送信する送信データに対して暗号化を施す暗号化手段をさらに有する。これにより必要に応じて重要なメッセージは暗号化することでデータの機密性を保障することができる。前記暗号化手段は、前記送信データが構造化された構造化データである場合、該構造化されたデータの一部を暗号化することを特徴とする。これにより構造化された文書フォーマットを利用することで、文書の取扱いが便利になる。また重要なメッセージ部分は暗号化することで、内容が第三者に漏洩することを防止できる。
【００１５】
前記暗号化手段は、前記構造化データがＳＯＡＰ形式の文書である場合、前記構造化データのうちヘッダー部分を暗号化しないことを特徴とする。これによりネットワーク管理者が管理上必要な情報を監視可能な形でデータを流すことができ、ネットワーク管理者が通信内容を必要に応じて監視することができる。すなわち、必要に応じて機密性の高いデータのみを暗号化しながら、通信路上でどのようなデータ（ＳＯＡＰメッセージ）が流れているのかをファイアウォール管理者が監視することができる。よって、ネットワーク管理者の要求を満たしながら、外部から内部のサービス呼び出す機構を導入することができる。機密情報の取扱いが容易となる。また、ＳＯＡＰメッセージにより内部ネットワークにあるサービスを呼び出すことと、その結果を得ることができる。
【００１６】
前記サービス呼出データは、テキストデータであることを特徴とする。前記サービス呼出データは、ＸＭＬデータであることを特徴とする。これにより構造化された文書フォーマットを用いて通信を行うことができる。
【００１７】
本発明の通信方法は、外部ネットワーク内の外部ホストから内部ネットワーク内の内部ホストへの通信を遮断すると共に前記内部ネットワークから前記外部ネットワークへの通信は選択的に通過させるファイアウォールがある環境で前記外部ネットワークから前記内部ネットワークへの通信路を構築して通信を行う通信方法であって、前記外部ホストに、前記通信路を維持するのに必要なタイミングに応じて前記通信路を維持するための通信路維持データを前記内部ホストに送信する送信ステップを有することを特徴とする。
【００１８】
本発明によれば、トンネルを維持するのに必要なタイミングで通信路維持データを送ることで、外部ネットワーク内の外部ホストがファイアウォールを越えて内部ネットワーク内の内部ホストとの間でトンネルを構築して通信を行う際に、継続的な通信路の維持が可能となる。これにより、ファイアウォールに特別な設定を施すことなく、外部ネットワークから内部ネットワークへの通信路を確立できる。また、既存のネットワークに影響しないシステムを提供することができる。
【００１９】
本発明の通信方法は、前記内部ネットワーク内のサービス呼出を受け付けるステップと、前記内部ホストに前記サービス呼出のためのサービス呼出データを送信するステップとをさらに有する。これにより、外部ネットワークからファイアウォールを越えて例えば企業内の内部ネットワーク上に存在するサービスを呼び出すことができる。
【００２０】
本発明の通信方法は、前記通信路を介して送信する送信データに電子署名を施すステップをさらに有する。本発明の通信方法は、前記通信路を介して送信する送信データに対して暗号化を施す暗号化ステップをさらに有する。これにより必要に応じてデータの機密性を保障することができる。本発明の通信方法は、前記暗号化ステップは、前記送信データが構造化された構造化データである場合、該構造化されたデータの一部を暗号化することを特徴とする。これによりネットワーク管理者が管理上必要な情報を監視可能な形でデータを流すことができる。
【００２１】
本発明の通信方法は、前記暗号化ステップは、前記構造化データがＳＯＡＰ形式の文書である場合、前記構造化データのうちヘッダー部分を暗号化しないことを特徴とする。これによりネットワーク管理者が監視可能な形でデータを流すことができ、ネットワーク管理者が通信内容を必要に応じて監視することができる。よって、ネットワーク管理者の要求を満たしながら、外部から内部のサービス呼び出す機構を導入することができる。
【発明の効果】
【００２２】
本発明によれば、外部ネットワーク内の外部ホストがファイアウォールを越えて内部ネットワーク内の内部ホストとの間でトンネルを構築して通信を行う際に、継続的な通信路の維持が可能な通信装置および通信方法を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明を実施するための最良の形態について説明する。図１は、本発明の実施形態に係る通信システム１０の構成を示す図である。図１に示すように、通信システム１０は、セッションを開始する内部ホスト２０、セッションを受け付ける外部ホスト３０を備える。内部ホスト２０と外部ホスト３０は、ファイアウォール４０を介して接続されている。この通信システム１０は、外部ネットワーク３５内の外部ホスト３０から内部ネットワーク２５内の内部ホスト２０への通信を遮断すると共に内部ネットワーク２５から外部ネットワーク３５への通信は選択的に通過させるファイアウォール４０がある環境で、外部ネットワーク３５内の外部ホスト３０から内部ネットワーク２５内の内部ホスト２０へのトンネル５０を構築して通信を行う。
【００２４】
ファイアウォール４０は、一般的にはインターネットを経由した外部ネットワーク３５から内部ネットワーク２５への通信を遮断する役割を持つ。一方、内部ネットワーク２５から外部ネットワーク３５への通信は選択的に通過させる機能を持つ。このファイアウォール４０が選択的に通信を許可する場合、内部ネットワーク２５と外部ネットワーク３５の間で通信されるデータパケットの内、予め許可されているパケットのみを通し、それ以外のパケットを遮断するというフィルタ処理を行う場合もあるし、アプリケーションゲートウェイ（典型的にはＨＴＴＰ  Ｐｒｏｘｙ）といわれる特別なアプリケーションを介した通信のみを許すような場合もある。フィルタ処理の設定は、通常、送信元端末のＩＰ（Internet Protocol）アドレス、送信先端末のＩＰアドレス、使用プロトコルの種類、及び、ポート番号等を指定することにより行われることが多い。なお、ポート番号とは、ＴＣＰ、ＵＤＰ（User Datagram Protocol）において上位層のプロセスを特定するために使用する識別子である。
【００２５】
内部ホスト２０は、例えば社内のイントラネットなどの内部ネットワーク２５に接続され、内部ネットワーク２５から、外部ネットワーク３５である社外ネットワークに存在する外部ホスト３０へ接続要求を送信する。この内部ホスト２０は、暗号・復号部２１、通信路確立・維持部２２、サービス呼出部２３を備える。外部ホスト３０は、インターネットなどの外部ネットワーク３５に接続され、内部ホスト２０からの接続要求を受け付ける。この外部ホスト３０は、電子署名手段と暗号化手段としての暗号・復号部３１、送信手段と通信路構築手段としての通信路確立・維持部３２、およびサービス呼出受付部３３を備える。
【００２６】
暗号化・復号・署名・検証部２１および３１は、トンネル５０を介して送信する送信データに対して暗号化を施す機能を有し、必要に応じて、ＸＭＬデータの一部を暗号化もしくは復号する。具体的には、暗号化・復号・署名・検証部２１および３１は、送信データが構造化された構造化データであり、送信データ中に機密情報がある場合、ＸＭＬ暗号化のような暗号化技術を用いて、構造化されたデータの一部分（必要部分）のみ暗号化する。
【００２７】
サービス呼出部２３は、トンネル５０を通じて送られるサービス呼出受付部３３からのサービス呼び出しに応じて、端末２６内における適切な内部サービス２７を呼び出す。サービス呼出部２３は、結果を通信路確立・維持部２２により維持されている通信路とは異なる通信路を確立して外部ホスト３０へ返す。外部ホスト３０は受け取った返答を呼び出しもとへ返す。これにより、外部ネットワーク３５からファイアウォール４０を越えて企業内の内部ネットワーク２５上に存在する社内のサービスを呼び出すことができる。なお、サービス呼び出し受付部３３はサービス呼び出し２３へトンネル５０を通じて呼び出し要求を送信する際に、この呼び出しを識別するための識別子も共に送信する。一方、サービス呼び出し部２３が結果を外部ホスト３０へ返答する際には、この識別子と共に返信を返す。これにより、サービス呼び出し受付部ではトンネル５０とは異なる通信路により返答が返されても、サービス呼び出しと返答の組を識別することができる。
【００２８】
暗号・復号部３１は、構造化データがＳＯＡＰ形式の文書である場合、構造化データのうちボディ部分だけを暗号化して、ヘッダー部分を暗号化しないようにすることもできる。これにより、ファイアウォール管理者は真に機密性が求められるデータを除き、通信路中を流れているデータを監視することができるため、どのようなデータがどこに対して送信されているかを監視することができる。また、暗号・復号部３１は、トンネル５０を介して送信する送信データに電子署名を施す機能も有する。
【００２９】
通信路確立・維持部３２は、内部ホスト２０の通信路確立・維持部２２との間で、リバーストンネル技術を用いて通信路は暗号化せずにトンネル５０を構築する。通信路確立・維持部３２は、通信路を維持するために、トンネル５０を維持するのに必要なタイミングに応じてトンネル５０を維持するための通信路維持データを送信する。この通信路維持データは、例えばＮＯＰ(No Operation: CPU（Central Processing Unit）命令の１つ)のような、何もしないという意味のデータを含む。
【００３０】
通信路確立・維持部３２は、接続確立後は接続を維持するために適切なタイミングでＮＯＰデータを送信する。具体的には、通信路確立・維持部３２は、サービスを呼び出す必要がないときに、通信路維持データを送信することで通信路の接続を維持する。
【００３１】
サービス呼出受付部３３は、端末３６内の外部プログラム３７から内部ネットワーク３５内のサービス呼出を受け付け、通信路確立・維持部により維持されている通信路を通じて、内部ホスト２０にサービス呼出のためのサービス呼出データを送信する。また、サービ呼出受付部３３は、サービス呼出部２３から返された結果を外部プログラムへ転送する。ここで、サービス呼出受付部３３は、サービスを呼び出すために、ＳＯＡＰの様な構造化されたテキストデータ(例えばＸＭＬデータ)を用いる。
【００３２】
次に、トンネル５０を確立する際の内部ホスト２０の処理について説明する。図２はトンネル５０を確立する際の内部ホスト２０の処理フローチャートである。内部ホスト２０から外部ホスト３０による通信でトンネル確立処理が開始する。まず、内部ホスト２０の通信路確立・維持部２２は、プロキシサーバなどを経由し、インターネット上の外部ホスト３０へＨＴＴＰでトンネルを確立するためのトンネル確立要求情報を送信する（ステップＳ１１）。内部ホスト２０の通信路確立・維持部２２は、外部ホスト３０からの応答（返信情報）がない場合（ステップＳ１２で「Ｎ」）はＳ１１へ戻り、外部ホスト３０からの応答を受信した場合（ステップＳ１２で「Ｙ」）で、受信した応答がリセット応答だった場合（ステップＳ１３で「Ｙ」）はトンネルが確立できないと判断しトンネルを切断する（ステップＳ１４）。一方、受信した応答が正常な応答だった場合（ステップＳ１３で「Ｎ」）で、かつ正常な応答がトンネル維持応答だった場合（ステップＳ１５で「Ｙ」）はトンネル５０が確立していると判断する。尚、リセット応答が内部ホスト２０側での処理不用を示す情報である。
【００３３】
内部ホスト２０の通信路確立・維持部２２は、トンネル５０が確立していると判断している場合で、受信した応答が通信路を維持するための通信路維持データだった場合（ステップＳ１５で「Ｙ」）には、外部ホスト３０がトンネル維持を要求しているものとしてトンネル５０の維持を行い（ステップＳ１６）、ステップＳ１２へ戻る。一方、受信した応答がサービス呼び出しだった場合（ステップＳ１５で「Ｎ」）は内部サービスを呼び出し（ステップＳ１７）、ステップＳ１２へ戻る。これにより、トンネル５０が継続的に確立されるため、外部ホスト３０から企業内の内部ネットワーク２５上に存在する社内のサービス２７を継続して呼び出すことができる。内部ホスト２０の通信路確立・維持部２２は、リセット応答を受け取った場合はトンネル確立の維持が不要と判断し、トンネル切断を行う（ステップＳ１４）。
【００３４】
次に、トンネル５０を確立する際の外部ホスト３０の処理について説明する。図３は、トンネル５０を確立する際の外部ホスト３０の処理フローチャートである。外部ホスト３０の通信路確立・維持部３２は、トンネル確立要求を受信する（ステップＳ２１）。外部ホスト３０の通信路確立・維持部３２は、トンネル確立要求の相手先が信頼できる相手先か否かを判断し、信頼できない相手先であると判断した場合（ステップＳ２２で「Ｎ」）、リセット応答を送出する（ステップＳ２３）。
【００３５】
外部ホスト３０の通信路確立・維持部３２は、相手先が信頼できる相手先である場合（ステップＳ２２で「Ｙ」）、トンネル維持応答を送出する（ステップＳ２４）。ここで、やりとりする通信データには電子署名が施されている。電子署名を検証することで相互に接続先ホストの信憑性を確認することができる。
【００３６】
通信路確立・維持部３２は、通信路のセッションが切れないように通信路を維持するためだけの通信路維持応答を生成する。外部ホスト３０の通信路確立・維持部３２は、生成した通信路維持応答を内部ホスト２０へ送信する（ステップＳ２５）。この通信路維持応答を送信することにより、ファイアウォール４０等を挟んでサービス呼び出しのための通信路を確立し、維持できる。通信路維持応答は、上記と同様に電子署名が施してある。これにより、ファイアウォール４０等を挟んだ接続において、接続先の真正性を検証しながら、サービス呼び出し通信のための通信路を確立して、維持できる。
【００３７】
外部ホスト３０の通信路確立・維持部３２は、トンネル確立の維持が不要と判断した場合にはトンネル終了要求を行う。なお、セッションハイジャックされた場合には上述した通信路維持応答を検証することで検知可能である。万一接続断が発生したら、予め決められた時間で内部ホスト２０から再接続要求を送信する。
【００３８】
次にサービス呼び出しを受け取った場合の内部ホスト２０の処理について説明する。図４は内部サービス呼び出しを受け取った際の内部ホスト２０の処理フローチャートである。まず、内部ホストは受け取った内部サービス呼び出しから呼び出し識別番号を取得する(ステップＳ３１)。そして、呼び出すべき内部サービス情報を内部サービス呼び出しから取得し（ステップＳ３２）、その後実際のサービス呼び出しを実行する（ステップＳ３３）。内部サービスの呼び出しに対する応答が合った場合（ステップＳ３４で「Ｙ」）、その応答とステップＳ３１で取得した呼び出し識別番号を含む返答を構築する（ステップＳ３５）。そして、構築された返答を外部ホスト３０へ送出する（ステップＳ３６）。一方、内部サービス呼び出しに対する応答がない場合（ステップＳ３４で「Ｎ」）この処理を終了する。
【００３９】
次に、内部サービスを呼び出す際の外部ホスト３０の処理について説明する。図５は、内部サービスを呼び出す際の外部ホスト３０の処理フローチャートである。外部ホスト３０は外部ネットワーク３５に接続されたホスト３６で動作するプログラム３７からの内部ネットワーク２５内に存在するホスト２６で動作するサービス２７の呼び出しを受信する（ステップＳ４１）。外部ホストのサービス呼び出し受付部は、呼び出された内部サービスを特定する（ステップＳ４２）そして、そのサービスに対するこの呼び出しを識別するための呼び出し識別番号を生成する（ステップＳ４３）。そして、呼びだされる内部サービスの情報と、呼び出し識別番号を含む、内部サービス呼び出し要求を構築する（ステップＳ４４）、そして通信路確立・維持部３２を通じて、内部サービス呼び出し要求を内部ホストへ送出する（ステップＳ４６）。
【００４０】
内部サービス呼び出し要求を受け取った内部ホストは、内部サービスを呼び出し、内部サービスからの応答をトンネル５０とは別の通信路を確立して外部ホストへ送出する。外部ホストがこの応答を受け取ると（ステップＳ４６で「Ｙ」）、受け取った応答から呼び出し識別番号を取得する（ステップＳ４７）。そして、呼び出し識別番号からもともとの呼び出し元を特定する（ステップＳ４８）。その後、特定された呼び出し元に対して応答を送出する（ステップＳ４９）これにより、ファイアウォール４０等を挟んで、内部サービスを呼び出し、その返答を受け取ることができる。
【００４１】
本実施形態に係る通信システムによれば、トンネル５０を維持するのに必要なタイミングで通信路維持データを送ることで、外部ネットワーク３５内の外部ホスト３０がファイアウォール４０を越えて内部ネットワーク２５内の内部ホスト２０との間でトンネル５０を構築して通信を行う際に、継続的な通信路の維持が可能となる。これにより、ファイアウォール４０に特別な設定を施すことなく、外部ネットワーク３５から内部ネットワーク２５への通信路を確立できる。また、既存のネットワークに影響しないシステムを提供することができる。
【００４２】
なお、本発明による通信方法は、通信システム１０により実現される。内部ホスト２０および外部ホスト３０は、例えば、ＣＰＵ、ＲＯＭ(Read Only Memory)、ＲＡＭ(Random Access Memory)等を用いたマイクロコンピュータにより実現される。ＣＰＵが所定のプログラムを実行することにより通信方法の各機能が実現される。
【００４３】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。なお、SMTP (Simple Mail Transfer Protocol)などの通信プロトコルにおいても本発明を適用することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態に係る通信システムの構成を示す図である。
【図２】トンネルを確立する際の内部ホスト装置の処理フローチャートである。
【図３】トンネルを確立する際の外部ホストの処理フローチャートである。
【図４】内部サービス呼び出しを受け取った際の内部ホストの処理フローチャートである。
【図５】内部サービスを呼び出す際の外部ホストの処理フローチャートである。
【符号の説明】
【００４５】
１０  通信システム
２０  内部ホスト
２１  暗号・復号部
２２  通信路確立・維持部
２３  サービス呼出部
３０  外部ホスト
３１  暗号・復号部
３２  通信路確立・維持部
３３  サービス呼出受付部
４０  ファイアウォール
５０  トンネル
【図１】
2008140275.tif 000003
【図２】
2008140275.tif 000004
【図３】
2008140275.tif 000005
【図４】
2008140275.tif 000006
【図５】
2008140275.tif 000007